diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/404.html b/404.html new file mode 100644 index 00000000..dfdbc295 --- /dev/null +++ b/404.html @@ -0,0 +1,193 @@ + + + + + + + + ebcc + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • +
  • +
  • +
+
+
+
+
+ + +

404

+ +

Page not found

+ + +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/assets/_mkdocstrings.css b/assets/_mkdocstrings.css new file mode 100644 index 00000000..8a5d3cff --- /dev/null +++ b/assets/_mkdocstrings.css @@ -0,0 +1,57 @@ + +/* Avoid breaking parameters name, etc. in table cells. */ +.doc-contents td code { + word-break: normal !important; +} + +/* No line break before first paragraph of descriptions. */ +.doc-md-description, +.doc-md-description>p:first-child { + display: inline; +} + +/* Avoid breaking code headings. */ +.doc-heading code { + white-space: normal; +} + +/* Improve rendering of parameters, returns and exceptions. */ +.doc-contents .field-name { + min-width: 100px; +} + +/* Other curious-spacing fixes. */ +.doc-contents .field-name, +.doc-contents .field-body { + border: none !important; + padding: 0 !important; +} + +.doc-contents p { + margin: 1em 0 1em; +} + +.doc-contents .field-list { + margin: 0 !important; +} + +.doc-contents pre { + padding: 0 !important; +} + +.doc-contents .wy-table-responsive { + margin-bottom: 0 !important; +} + +.doc-contents td.code { + padding: 0 !important; +} + +.doc-contents td.linenos { + padding: 0 8px !important; +} + +.doc-children, +footer { + margin-top: 20px; +} \ No newline at end of file diff --git a/css/fonts/Roboto-Slab-Bold.woff b/css/fonts/Roboto-Slab-Bold.woff new file mode 100644 index 00000000..6cb60000 Binary files /dev/null and b/css/fonts/Roboto-Slab-Bold.woff differ diff --git a/css/fonts/Roboto-Slab-Bold.woff2 b/css/fonts/Roboto-Slab-Bold.woff2 new file mode 100644 index 00000000..7059e231 Binary files /dev/null and b/css/fonts/Roboto-Slab-Bold.woff2 differ diff --git a/css/fonts/Roboto-Slab-Regular.woff b/css/fonts/Roboto-Slab-Regular.woff new file mode 100644 index 00000000..f815f63f Binary files /dev/null and b/css/fonts/Roboto-Slab-Regular.woff differ diff --git a/css/fonts/Roboto-Slab-Regular.woff2 b/css/fonts/Roboto-Slab-Regular.woff2 new file mode 100644 index 00000000..f2c76e5b Binary files /dev/null and b/css/fonts/Roboto-Slab-Regular.woff2 differ diff --git a/css/fonts/fontawesome-webfont.eot b/css/fonts/fontawesome-webfont.eot new file mode 100644 index 00000000..e9f60ca9 Binary files /dev/null and b/css/fonts/fontawesome-webfont.eot differ diff --git a/css/fonts/fontawesome-webfont.svg b/css/fonts/fontawesome-webfont.svg new file mode 100644 index 00000000..855c845e --- /dev/null +++ b/css/fonts/fontawesome-webfont.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/css/fonts/fontawesome-webfont.ttf b/css/fonts/fontawesome-webfont.ttf new file mode 100644 index 00000000..35acda2f Binary files /dev/null and b/css/fonts/fontawesome-webfont.ttf differ diff --git a/css/fonts/fontawesome-webfont.woff b/css/fonts/fontawesome-webfont.woff new file mode 100644 index 00000000..400014a4 Binary files /dev/null and b/css/fonts/fontawesome-webfont.woff differ diff --git a/css/fonts/fontawesome-webfont.woff2 b/css/fonts/fontawesome-webfont.woff2 new file mode 100644 index 00000000..4d13fc60 Binary files /dev/null and b/css/fonts/fontawesome-webfont.woff2 differ diff --git a/css/fonts/lato-bold-italic.woff b/css/fonts/lato-bold-italic.woff new file mode 100644 index 00000000..88ad05b9 Binary files /dev/null and b/css/fonts/lato-bold-italic.woff differ diff --git a/css/fonts/lato-bold-italic.woff2 b/css/fonts/lato-bold-italic.woff2 new file mode 100644 index 00000000..c4e3d804 Binary files /dev/null and b/css/fonts/lato-bold-italic.woff2 differ diff --git a/css/fonts/lato-bold.woff b/css/fonts/lato-bold.woff new file mode 100644 index 00000000..c6dff51f Binary files /dev/null and b/css/fonts/lato-bold.woff differ diff --git a/css/fonts/lato-bold.woff2 b/css/fonts/lato-bold.woff2 new file mode 100644 index 00000000..bb195043 Binary files /dev/null and b/css/fonts/lato-bold.woff2 differ diff --git a/css/fonts/lato-normal-italic.woff b/css/fonts/lato-normal-italic.woff new file mode 100644 index 00000000..76114bc0 Binary files /dev/null and b/css/fonts/lato-normal-italic.woff differ diff --git a/css/fonts/lato-normal-italic.woff2 b/css/fonts/lato-normal-italic.woff2 new file mode 100644 index 00000000..3404f37e Binary files /dev/null and b/css/fonts/lato-normal-italic.woff2 differ diff --git a/css/fonts/lato-normal.woff b/css/fonts/lato-normal.woff new file mode 100644 index 00000000..ae1307ff Binary files /dev/null and b/css/fonts/lato-normal.woff differ diff --git a/css/fonts/lato-normal.woff2 b/css/fonts/lato-normal.woff2 new file mode 100644 index 00000000..3bf98433 Binary files /dev/null and b/css/fonts/lato-normal.woff2 differ diff --git a/css/theme.css b/css/theme.css new file mode 100644 index 00000000..ad773009 --- /dev/null +++ b/css/theme.css @@ -0,0 +1,13 @@ +/* + * This file is copied from the upstream ReadTheDocs Sphinx + * theme. To aid upgradability this file should *not* be edited. + * modifications we need should be included in theme_extra.css. + * + * https://github.com/readthedocs/sphinx_rtd_theme + */ + + /* sphinx_rtd_theme version 1.2.0 | MIT license */ +html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden],audio:not([controls]){display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;text-decoration:none}ins,mark{color:#000}mark{background:#ff0;font-style:italic;font-weight:700}.rst-content code,.rst-content tt,code,kbd,pre,samp{font-family:monospace,serif;_font-family:courier new,monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:after,q:before{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,ol,ul{margin:0;padding:0;list-style:none;list-style-image:none}li{list-style:none}dd{margin:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}svg:not(:root){overflow:hidden}figure,form{margin:0}label{cursor:pointer}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}textarea{resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;*line-height:0}.ir br{display:none}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.relative{position:relative}big,small{font-size:100%}@media print{body,html,section{background:none!important}*{box-shadow:none!important;text-shadow:none!important;filter:none!important;-ms-filter:none!important}a,a:visited{text-decoration:underline}.ir a:after,a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}.rst-content .toctree-wrapper>p.caption,h2,h3,p{orphans:3;widows:3}.rst-content .toctree-wrapper>p.caption,h2,h3{page-break-after:avoid}}.btn,.fa:before,.icon:before,.rst-content .admonition,.rst-content .admonition-title:before,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .code-block-caption .headerlink:before,.rst-content .danger,.rst-content .eqno .headerlink:before,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-alert,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before,input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:FontAwesome;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713);src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix&v=4.7.0) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa-pull-left.icon,.fa.fa-pull-left,.rst-content .code-block-caption .fa-pull-left.headerlink,.rst-content .eqno .fa-pull-left.headerlink,.rst-content .fa-pull-left.admonition-title,.rst-content code.download span.fa-pull-left:first-child,.rst-content dl dt .fa-pull-left.headerlink,.rst-content h1 .fa-pull-left.headerlink,.rst-content h2 .fa-pull-left.headerlink,.rst-content h3 .fa-pull-left.headerlink,.rst-content h4 .fa-pull-left.headerlink,.rst-content h5 .fa-pull-left.headerlink,.rst-content h6 .fa-pull-left.headerlink,.rst-content p .fa-pull-left.headerlink,.rst-content table>caption .fa-pull-left.headerlink,.rst-content tt.download span.fa-pull-left:first-child,.wy-menu-vertical li.current>a button.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-left.toctree-expand,.wy-menu-vertical li button.fa-pull-left.toctree-expand{margin-right:.3em}.fa-pull-right.icon,.fa.fa-pull-right,.rst-content .code-block-caption .fa-pull-right.headerlink,.rst-content .eqno .fa-pull-right.headerlink,.rst-content .fa-pull-right.admonition-title,.rst-content code.download span.fa-pull-right:first-child,.rst-content dl dt .fa-pull-right.headerlink,.rst-content h1 .fa-pull-right.headerlink,.rst-content h2 .fa-pull-right.headerlink,.rst-content h3 .fa-pull-right.headerlink,.rst-content h4 .fa-pull-right.headerlink,.rst-content h5 .fa-pull-right.headerlink,.rst-content h6 .fa-pull-right.headerlink,.rst-content p .fa-pull-right.headerlink,.rst-content table>caption .fa-pull-right.headerlink,.rst-content tt.download span.fa-pull-right:first-child,.wy-menu-vertical li.current>a button.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-right.toctree-expand,.wy-menu-vertical li button.fa-pull-right.toctree-expand{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.pull-left.icon,.rst-content .code-block-caption .pull-left.headerlink,.rst-content .eqno .pull-left.headerlink,.rst-content .pull-left.admonition-title,.rst-content code.download span.pull-left:first-child,.rst-content dl dt .pull-left.headerlink,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content p .pull-left.headerlink,.rst-content table>caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.wy-menu-vertical li.current>a button.pull-left.toctree-expand,.wy-menu-vertical li.on a button.pull-left.toctree-expand,.wy-menu-vertical li button.pull-left.toctree-expand{margin-right:.3em}.fa.pull-right,.pull-right.icon,.rst-content .code-block-caption .pull-right.headerlink,.rst-content .eqno .pull-right.headerlink,.rst-content .pull-right.admonition-title,.rst-content code.download span.pull-right:first-child,.rst-content dl dt .pull-right.headerlink,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content p .pull-right.headerlink,.rst-content table>caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.wy-menu-vertical li.current>a button.pull-right.toctree-expand,.wy-menu-vertical li.on a button.pull-right.toctree-expand,.wy-menu-vertical li button.pull-right.toctree-expand{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before,.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.rst-content .admonition-title:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.icon-caret-down:before,.wy-dropdown .caret:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li button.toctree-expand:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before,.icon-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:""}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-sign-language:before,.fa-signing:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-address-card:before,.fa-vcard:before{content:""}.fa-address-card-o:before,.fa-vcard-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{font-family:inherit}.fa:before,.icon:before,.rst-content .admonition-title:before,.rst-content .code-block-caption .headerlink:before,.rst-content .eqno .headerlink:before,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before{font-family:FontAwesome;display:inline-block;font-style:normal;font-weight:400;line-height:1;text-decoration:inherit}.rst-content .code-block-caption a .headerlink,.rst-content .eqno a .headerlink,.rst-content a .admonition-title,.rst-content code.download a span:first-child,.rst-content dl dt a .headerlink,.rst-content h1 a .headerlink,.rst-content h2 a .headerlink,.rst-content h3 a .headerlink,.rst-content h4 a .headerlink,.rst-content h5 a .headerlink,.rst-content h6 a .headerlink,.rst-content p.caption a .headerlink,.rst-content p a .headerlink,.rst-content table>caption a .headerlink,.rst-content tt.download a span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li a button.toctree-expand,a .fa,a .icon,a .rst-content .admonition-title,a .rst-content .code-block-caption .headerlink,a .rst-content .eqno .headerlink,a .rst-content code.download span:first-child,a .rst-content dl dt .headerlink,a .rst-content h1 .headerlink,a .rst-content h2 .headerlink,a .rst-content h3 .headerlink,a .rst-content h4 .headerlink,a .rst-content h5 .headerlink,a .rst-content h6 .headerlink,a .rst-content p.caption .headerlink,a .rst-content p .headerlink,a .rst-content table>caption .headerlink,a .rst-content tt.download span:first-child,a .wy-menu-vertical li button.toctree-expand{display:inline-block;text-decoration:inherit}.btn .fa,.btn .icon,.btn .rst-content .admonition-title,.btn .rst-content .code-block-caption .headerlink,.btn .rst-content .eqno .headerlink,.btn .rst-content code.download span:first-child,.btn .rst-content dl dt .headerlink,.btn .rst-content h1 .headerlink,.btn .rst-content h2 .headerlink,.btn .rst-content h3 .headerlink,.btn .rst-content h4 .headerlink,.btn .rst-content h5 .headerlink,.btn .rst-content h6 .headerlink,.btn .rst-content p .headerlink,.btn .rst-content table>caption .headerlink,.btn .rst-content tt.download span:first-child,.btn .wy-menu-vertical li.current>a button.toctree-expand,.btn .wy-menu-vertical li.on a button.toctree-expand,.btn .wy-menu-vertical li button.toctree-expand,.nav .fa,.nav .icon,.nav .rst-content .admonition-title,.nav .rst-content .code-block-caption .headerlink,.nav .rst-content .eqno .headerlink,.nav .rst-content code.download span:first-child,.nav .rst-content dl dt .headerlink,.nav .rst-content h1 .headerlink,.nav .rst-content h2 .headerlink,.nav .rst-content h3 .headerlink,.nav .rst-content h4 .headerlink,.nav .rst-content h5 .headerlink,.nav .rst-content h6 .headerlink,.nav .rst-content p .headerlink,.nav .rst-content table>caption .headerlink,.nav .rst-content tt.download span:first-child,.nav .wy-menu-vertical li.current>a button.toctree-expand,.nav .wy-menu-vertical li.on a button.toctree-expand,.nav .wy-menu-vertical li button.toctree-expand,.rst-content .btn .admonition-title,.rst-content .code-block-caption .btn .headerlink,.rst-content .code-block-caption .nav .headerlink,.rst-content .eqno .btn .headerlink,.rst-content .eqno .nav .headerlink,.rst-content .nav .admonition-title,.rst-content code.download .btn span:first-child,.rst-content code.download .nav span:first-child,.rst-content dl dt .btn .headerlink,.rst-content dl dt .nav .headerlink,.rst-content h1 .btn .headerlink,.rst-content h1 .nav .headerlink,.rst-content h2 .btn .headerlink,.rst-content h2 .nav .headerlink,.rst-content h3 .btn .headerlink,.rst-content h3 .nav .headerlink,.rst-content h4 .btn .headerlink,.rst-content h4 .nav .headerlink,.rst-content h5 .btn .headerlink,.rst-content h5 .nav .headerlink,.rst-content h6 .btn .headerlink,.rst-content h6 .nav .headerlink,.rst-content p .btn .headerlink,.rst-content p .nav .headerlink,.rst-content table>caption .btn .headerlink,.rst-content table>caption .nav .headerlink,.rst-content tt.download .btn span:first-child,.rst-content tt.download .nav span:first-child,.wy-menu-vertical li .btn button.toctree-expand,.wy-menu-vertical li.current>a .btn button.toctree-expand,.wy-menu-vertical li.current>a .nav button.toctree-expand,.wy-menu-vertical li .nav button.toctree-expand,.wy-menu-vertical li.on a .btn button.toctree-expand,.wy-menu-vertical li.on a .nav button.toctree-expand{display:inline}.btn .fa-large.icon,.btn .fa.fa-large,.btn .rst-content .code-block-caption .fa-large.headerlink,.btn .rst-content .eqno .fa-large.headerlink,.btn .rst-content .fa-large.admonition-title,.btn .rst-content code.download span.fa-large:first-child,.btn .rst-content dl dt .fa-large.headerlink,.btn .rst-content h1 .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.btn .rst-content p .fa-large.headerlink,.btn .rst-content table>caption .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.btn .wy-menu-vertical li button.fa-large.toctree-expand,.nav .fa-large.icon,.nav .fa.fa-large,.nav .rst-content .code-block-caption .fa-large.headerlink,.nav .rst-content .eqno .fa-large.headerlink,.nav .rst-content .fa-large.admonition-title,.nav .rst-content code.download span.fa-large:first-child,.nav .rst-content dl dt .fa-large.headerlink,.nav .rst-content h1 .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.nav .rst-content p .fa-large.headerlink,.nav .rst-content table>caption .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.nav .wy-menu-vertical li button.fa-large.toctree-expand,.rst-content .btn .fa-large.admonition-title,.rst-content .code-block-caption .btn .fa-large.headerlink,.rst-content .code-block-caption .nav .fa-large.headerlink,.rst-content .eqno .btn .fa-large.headerlink,.rst-content .eqno .nav .fa-large.headerlink,.rst-content .nav .fa-large.admonition-title,.rst-content code.download .btn span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.rst-content dl dt .btn .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.rst-content p .btn .fa-large.headerlink,.rst-content p .nav .fa-large.headerlink,.rst-content table>caption .btn .fa-large.headerlink,.rst-content table>caption .nav .fa-large.headerlink,.rst-content tt.download .btn span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.wy-menu-vertical li .btn button.fa-large.toctree-expand,.wy-menu-vertical li .nav button.fa-large.toctree-expand{line-height:.9em}.btn .fa-spin.icon,.btn .fa.fa-spin,.btn .rst-content .code-block-caption .fa-spin.headerlink,.btn .rst-content .eqno .fa-spin.headerlink,.btn .rst-content .fa-spin.admonition-title,.btn .rst-content code.download span.fa-spin:first-child,.btn .rst-content dl dt .fa-spin.headerlink,.btn .rst-content h1 .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.btn .rst-content p .fa-spin.headerlink,.btn .rst-content table>caption .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.btn .wy-menu-vertical li button.fa-spin.toctree-expand,.nav .fa-spin.icon,.nav .fa.fa-spin,.nav .rst-content .code-block-caption .fa-spin.headerlink,.nav .rst-content .eqno .fa-spin.headerlink,.nav .rst-content .fa-spin.admonition-title,.nav .rst-content code.download span.fa-spin:first-child,.nav .rst-content dl dt .fa-spin.headerlink,.nav .rst-content h1 .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.nav .rst-content p .fa-spin.headerlink,.nav .rst-content table>caption .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.nav .wy-menu-vertical li button.fa-spin.toctree-expand,.rst-content .btn .fa-spin.admonition-title,.rst-content .code-block-caption .btn .fa-spin.headerlink,.rst-content .code-block-caption .nav .fa-spin.headerlink,.rst-content .eqno .btn .fa-spin.headerlink,.rst-content .eqno .nav .fa-spin.headerlink,.rst-content .nav .fa-spin.admonition-title,.rst-content code.download .btn span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.rst-content dl dt .btn .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.rst-content p .btn .fa-spin.headerlink,.rst-content p .nav .fa-spin.headerlink,.rst-content table>caption .btn .fa-spin.headerlink,.rst-content table>caption .nav .fa-spin.headerlink,.rst-content tt.download .btn span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.wy-menu-vertical li .btn button.fa-spin.toctree-expand,.wy-menu-vertical li .nav button.fa-spin.toctree-expand{display:inline-block}.btn.fa:before,.btn.icon:before,.rst-content .btn.admonition-title:before,.rst-content .code-block-caption .btn.headerlink:before,.rst-content .eqno .btn.headerlink:before,.rst-content code.download span.btn:first-child:before,.rst-content dl dt .btn.headerlink:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content p .btn.headerlink:before,.rst-content table>caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.wy-menu-vertical li button.btn.toctree-expand:before{opacity:.5;-webkit-transition:opacity .05s ease-in;-moz-transition:opacity .05s ease-in;transition:opacity .05s ease-in}.btn.fa:hover:before,.btn.icon:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content .code-block-caption .btn.headerlink:hover:before,.rst-content .eqno .btn.headerlink:hover:before,.rst-content code.download span.btn:first-child:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content p .btn.headerlink:hover:before,.rst-content table>caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.wy-menu-vertical li button.btn.toctree-expand:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .icon:before,.btn-mini .rst-content .admonition-title:before,.btn-mini .rst-content .code-block-caption .headerlink:before,.btn-mini .rst-content .eqno .headerlink:before,.btn-mini .rst-content code.download span:first-child:before,.btn-mini .rst-content dl dt .headerlink:before,.btn-mini .rst-content h1 .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.btn-mini .rst-content p .headerlink:before,.btn-mini .rst-content table>caption .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.btn-mini .wy-menu-vertical li button.toctree-expand:before,.rst-content .btn-mini .admonition-title:before,.rst-content .code-block-caption .btn-mini .headerlink:before,.rst-content .eqno .btn-mini .headerlink:before,.rst-content code.download .btn-mini span:first-child:before,.rst-content dl dt .btn-mini .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.rst-content p .btn-mini .headerlink:before,.rst-content table>caption .btn-mini .headerlink:before,.rst-content tt.download .btn-mini span:first-child:before,.wy-menu-vertical li .btn-mini button.toctree-expand:before{font-size:14px;vertical-align:-15%}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.wy-alert{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.rst-content .admonition-title,.wy-alert-title{font-weight:700;display:block;color:#fff;background:#6ab0de;padding:6px 12px;margin:-12px -12px 12px}.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.admonition,.rst-content .wy-alert-danger.admonition-todo,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.wy-alert.wy-alert-danger{background:#fdf3f2}.rst-content .danger .admonition-title,.rst-content .danger .wy-alert-title,.rst-content .error .admonition-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.rst-content .wy-alert-danger.admonition .admonition-title,.rst-content .wy-alert-danger.admonition .wy-alert-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.wy-alert.wy-alert-danger .wy-alert-title{background:#f29f97}.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .warning,.rst-content .wy-alert-warning.admonition,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.note,.rst-content .wy-alert-warning.seealso,.rst-content .wy-alert-warning.tip,.wy-alert.wy-alert-warning{background:#ffedcc}.rst-content .admonition-todo .admonition-title,.rst-content .admonition-todo .wy-alert-title,.rst-content .attention .admonition-title,.rst-content .attention .wy-alert-title,.rst-content .caution .admonition-title,.rst-content .caution .wy-alert-title,.rst-content .warning .admonition-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.admonition .admonition-title,.rst-content .wy-alert-warning.admonition .wy-alert-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.wy-alert.wy-alert-warning .wy-alert-title{background:#f0b37e}.rst-content .note,.rst-content .seealso,.rst-content .wy-alert-info.admonition,.rst-content .wy-alert-info.admonition-todo,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.wy-alert.wy-alert-info{background:#e7f2fa}.rst-content .note .admonition-title,.rst-content .note .wy-alert-title,.rst-content .seealso .admonition-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .admonition-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.rst-content .wy-alert-info.admonition .admonition-title,.rst-content .wy-alert-info.admonition .wy-alert-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.wy-alert.wy-alert-info .wy-alert-title{background:#6ab0de}.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.admonition,.rst-content .wy-alert-success.admonition-todo,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.warning,.wy-alert.wy-alert-success{background:#dbfaf4}.rst-content .hint .admonition-title,.rst-content .hint .wy-alert-title,.rst-content .important .admonition-title,.rst-content .important .wy-alert-title,.rst-content .tip .admonition-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .admonition-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.rst-content .wy-alert-success.admonition .admonition-title,.rst-content .wy-alert-success.admonition .wy-alert-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.wy-alert.wy-alert-success .wy-alert-title{background:#1abc9c}.rst-content .wy-alert-neutral.admonition,.rst-content .wy-alert-neutral.admonition-todo,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.wy-alert.wy-alert-neutral{background:#f3f6f6}.rst-content .wy-alert-neutral.admonition-todo .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.rst-content .wy-alert-neutral.admonition .admonition-title,.rst-content .wy-alert-neutral.admonition .wy-alert-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.wy-alert.wy-alert-neutral .wy-alert-title{color:#404040;background:#e1e4e5}.rst-content .wy-alert-neutral.admonition-todo a,.rst-content .wy-alert-neutral.admonition a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.wy-alert.wy-alert-neutral a{color:#2980b9}.rst-content .admonition-todo p:last-child,.rst-content .admonition p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .note p:last-child,.rst-content .seealso p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.wy-alert p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all .3s ease-in;-moz-transition:all .3s ease-in;transition:all .3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27ae60}.wy-tray-container li.wy-tray-item-info{background:#2980b9}.wy-tray-container li.wy-tray-item-warning{background:#e67e22}.wy-tray-container li.wy-tray-item-danger{background:#e74c3c}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width:768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px;color:#fff;border:1px solid rgba(0,0,0,.1);background-color:#27ae60;text-decoration:none;font-weight:400;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 2px -1px hsla(0,0%,100%,.5),inset 0 -2px 0 0 rgba(0,0,0,.1);outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .1s linear;-moz-transition:all .1s linear;transition:all .1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.05),inset 0 2px 0 0 rgba(0,0,0,.1);padding:8px 12px 6px}.btn:visited{color:#fff}.btn-disabled,.btn-disabled:active,.btn-disabled:focus,.btn-disabled:hover,.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980b9!important}.btn-info:hover{background-color:#2e8ece!important}.btn-neutral{background-color:#f3f6f6!important;color:#404040!important}.btn-neutral:hover{background-color:#e5ebeb!important;color:#404040}.btn-neutral:visited{color:#404040!important}.btn-success{background-color:#27ae60!important}.btn-success:hover{background-color:#295!important}.btn-danger{background-color:#e74c3c!important}.btn-danger:hover{background-color:#ea6153!important}.btn-warning{background-color:#e67e22!important}.btn-warning:hover{background-color:#e98b39!important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f!important}.btn-link{background-color:transparent!important;color:#2980b9;box-shadow:none;border-color:transparent!important}.btn-link:active,.btn-link:hover{background-color:transparent!important;color:#409ad5!important;box-shadow:none}.btn-link:visited{color:#9b59b6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:after,.wy-btn-group:before{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-active .wy-dropdown-menu{display:block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:1px solid #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980b9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:1px solid #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type=search]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980b9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;left:auto;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned .wy-help-inline,.wy-form-aligned input,.wy-form-aligned label,.wy-form-aligned select,.wy-form-aligned textarea{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{margin:0}fieldset,legend{border:0;padding:0}legend{width:100%;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label,legend{display:block}label{margin:0 0 .3125em;color:#333;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;max-width:1200px;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:after,.wy-control-group:before{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#e74c3c}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full input[type=color],.wy-control-group .wy-form-full input[type=date],.wy-control-group .wy-form-full input[type=datetime-local],.wy-control-group .wy-form-full input[type=datetime],.wy-control-group .wy-form-full input[type=email],.wy-control-group .wy-form-full input[type=month],.wy-control-group .wy-form-full input[type=number],.wy-control-group .wy-form-full input[type=password],.wy-control-group .wy-form-full input[type=search],.wy-control-group .wy-form-full input[type=tel],.wy-control-group .wy-form-full input[type=text],.wy-control-group .wy-form-full input[type=time],.wy-control-group .wy-form-full input[type=url],.wy-control-group .wy-form-full input[type=week],.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves input[type=color],.wy-control-group .wy-form-halves input[type=date],.wy-control-group .wy-form-halves input[type=datetime-local],.wy-control-group .wy-form-halves input[type=datetime],.wy-control-group .wy-form-halves input[type=email],.wy-control-group .wy-form-halves input[type=month],.wy-control-group .wy-form-halves input[type=number],.wy-control-group .wy-form-halves input[type=password],.wy-control-group .wy-form-halves input[type=search],.wy-control-group .wy-form-halves input[type=tel],.wy-control-group .wy-form-halves input[type=text],.wy-control-group .wy-form-halves input[type=time],.wy-control-group .wy-form-halves input[type=url],.wy-control-group .wy-form-halves input[type=week],.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds input[type=color],.wy-control-group .wy-form-thirds input[type=date],.wy-control-group .wy-form-thirds input[type=datetime-local],.wy-control-group .wy-form-thirds input[type=datetime],.wy-control-group .wy-form-thirds input[type=email],.wy-control-group .wy-form-thirds input[type=month],.wy-control-group .wy-form-thirds input[type=number],.wy-control-group .wy-form-thirds input[type=password],.wy-control-group .wy-form-thirds input[type=search],.wy-control-group .wy-form-thirds input[type=tel],.wy-control-group .wy-form-thirds input[type=text],.wy-control-group .wy-form-thirds input[type=time],.wy-control-group .wy-form-thirds input[type=url],.wy-control-group .wy-form-thirds input[type=week],.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full{float:left;display:block;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child,.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(odd){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child,.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control,.wy-control-no-input{margin:6px 0 0;font-size:90%}.wy-control-no-input{display:inline-block}.wy-control-group.fluid-input input[type=color],.wy-control-group.fluid-input input[type=date],.wy-control-group.fluid-input input[type=datetime-local],.wy-control-group.fluid-input input[type=datetime],.wy-control-group.fluid-input input[type=email],.wy-control-group.fluid-input input[type=month],.wy-control-group.fluid-input input[type=number],.wy-control-group.fluid-input input[type=password],.wy-control-group.fluid-input input[type=search],.wy-control-group.fluid-input input[type=tel],.wy-control-group.fluid-input input[type=text],.wy-control-group.fluid-input input[type=time],.wy-control-group.fluid-input input[type=url],.wy-control-group.fluid-input input[type=week]{width:100%}.wy-form-message-inline{padding-left:.3em;color:#666;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:.3125em;font-style:italic}.wy-form-message p{font-size:inherit;font-style:italic;margin-bottom:6px}.wy-form-message p:last-child{margin-bottom:0}input{line-height:normal}input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;*overflow:visible}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}input[type=datetime-local]{padding:.34375em .625em}input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{padding:0;margin-right:.3125em;*height:13px;*width:13px}input[type=checkbox],input[type=radio],input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus{outline:0;outline:thin dotted\9;border-color:#333}input.no-focus:focus{border-color:#ccc!important}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:thin dotted #333;outline:1px auto #129fea}input[type=color][disabled],input[type=date][disabled],input[type=datetime-local][disabled],input[type=datetime][disabled],input[type=email][disabled],input[type=month][disabled],input[type=number][disabled],input[type=password][disabled],input[type=search][disabled],input[type=tel][disabled],input[type=text][disabled],input[type=time][disabled],input[type=url][disabled],input[type=week][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,select:focus:invalid,textarea:focus:invalid{color:#e74c3c;border:1px solid #e74c3c}input:focus:invalid:focus,select:focus:invalid:focus,textarea:focus:invalid:focus{border-color:#e74c3c}input[type=checkbox]:focus:invalid:focus,input[type=file]:focus:invalid:focus,input[type=radio]:focus:invalid:focus{outline-color:#e74c3c}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif}select,textarea{padding:.5em .625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}input[readonly],select[disabled],select[readonly],textarea[disabled],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type=checkbox][disabled],input[type=radio][disabled]{cursor:not-allowed}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap;padding:6px}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{line-height:27px;padding:0 8px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:1px solid #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{position:relative;display:block;height:24px;margin-top:12px;cursor:pointer}.wy-switch:before{left:0;top:0;width:36px;height:12px;background:#ccc}.wy-switch:after,.wy-switch:before{position:absolute;content:"";display:block;border-radius:4px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wy-switch:after{width:18px;height:18px;background:#999;left:-3px;top:-3px}.wy-switch span{position:absolute;left:48px;display:block;font-size:12px;color:#ccc;line-height:1}.wy-switch.active:before{background:#1e8449}.wy-switch.active:after{left:24px;background:#27ae60}.wy-switch.disabled{cursor:not-allowed;opacity:.8}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#e74c3c}.wy-control-group.wy-control-group-error input[type=color],.wy-control-group.wy-control-group-error input[type=date],.wy-control-group.wy-control-group-error input[type=datetime-local],.wy-control-group.wy-control-group-error input[type=datetime],.wy-control-group.wy-control-group-error input[type=email],.wy-control-group.wy-control-group-error input[type=month],.wy-control-group.wy-control-group-error input[type=number],.wy-control-group.wy-control-group-error input[type=password],.wy-control-group.wy-control-group-error input[type=search],.wy-control-group.wy-control-group-error input[type=tel],.wy-control-group.wy-control-group-error input[type=text],.wy-control-group.wy-control-group-error input[type=time],.wy-control-group.wy-control-group-error input[type=url],.wy-control-group.wy-control-group-error input[type=week],.wy-control-group.wy-control-group-error textarea{border:1px solid #e74c3c}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:.5em .625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27ae60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#e74c3c}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#e67e22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980b9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width:480px){.wy-form button[type=submit]{margin:.7em 0 0}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=text],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week],.wy-form label{margin-bottom:.3em;display:block}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0}.wy-form-message,.wy-form-message-inline,.wy-form .wy-help-inline{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width:768px){.tablet-hide{display:none}}@media screen and (max-width:480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.rst-content table.docutils,.rst-content table.field-list,.wy-table{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.rst-content table.docutils caption,.rst-content table.field-list caption,.wy-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.rst-content table.docutils td,.rst-content table.docutils th,.rst-content table.field-list td,.rst-content table.field-list th,.wy-table td,.wy-table th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.rst-content table.docutils td:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list td:first-child,.rst-content table.field-list th:first-child,.wy-table td:first-child,.wy-table th:first-child{border-left-width:0}.rst-content table.docutils thead,.rst-content table.field-list thead,.wy-table thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.rst-content table.docutils thead th,.rst-content table.field-list thead th,.wy-table thead th{font-weight:700;border-bottom:2px solid #e1e4e5}.rst-content table.docutils td,.rst-content table.field-list td,.wy-table td{background-color:transparent;vertical-align:middle}.rst-content table.docutils td p,.rst-content table.field-list td p,.wy-table td p{line-height:18px}.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child,.wy-table td p:last-child{margin-bottom:0}.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min,.wy-table .wy-table-cell-min{width:1%;padding-right:0}.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:grey;font-size:90%}.wy-table-tertiary{color:grey;font-size:80%}.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td,.wy-table-backed,.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td{background-color:#f3f6f6}.rst-content table.docutils,.wy-table-bordered-all{border:1px solid #e1e4e5}.rst-content table.docutils td,.wy-table-bordered-all td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.rst-content table.docutils tbody>tr:last-child td,.wy-table-bordered-all tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0!important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980b9;text-decoration:none;cursor:pointer}a:hover{color:#3091d1}a:visited{color:#9b59b6}html{height:100%}body,html{overflow-x:hidden}body{font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;font-weight:400;color:#404040;min-height:100%;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#e67e22!important}a.wy-text-warning:hover{color:#eb9950!important}.wy-text-info{color:#2980b9!important}a.wy-text-info:hover{color:#409ad5!important}.wy-text-success{color:#27ae60!important}a.wy-text-success:hover{color:#36d278!important}.wy-text-danger{color:#e74c3c!important}a.wy-text-danger:hover{color:#ed7669!important}.wy-text-neutral{color:#404040!important}a.wy-text-neutral:hover{color:#595959!important}.rst-content .toctree-wrapper>p.caption,h1,h2,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif}p{line-height:24px;font-size:16px;margin:0 0 24px}h1{font-size:175%}.rst-content .toctree-wrapper>p.caption,h2{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}.rst-content code,.rst-content tt,code{white-space:nowrap;max-width:100%;background:#fff;border:1px solid #e1e4e5;font-size:75%;padding:0 5px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#e74c3c;overflow-x:auto}.rst-content tt.code-large,code.code-large{font-size:90%}.rst-content .section ul,.rst-content .toctree-wrapper ul,.rst-content section ul,.wy-plain-list-disc,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.rst-content .section ul li,.rst-content .toctree-wrapper ul li,.rst-content section ul li,.wy-plain-list-disc li,article ul li{list-style:disc;margin-left:24px}.rst-content .section ul li p:last-child,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li p:last-child,.rst-content .toctree-wrapper ul li ul,.rst-content section ul li p:last-child,.rst-content section ul li ul,.wy-plain-list-disc li p:last-child,.wy-plain-list-disc li ul,article ul li p:last-child,article ul li ul{margin-bottom:0}.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,.rst-content section ul li li,.wy-plain-list-disc li li,article ul li li{list-style:circle}.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,.rst-content section ul li li li,.wy-plain-list-disc li li li,article ul li li li{list-style:square}.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,.rst-content section ul li ol li,.wy-plain-list-disc li ol li,article ul li ol li{list-style:decimal}.rst-content .section ol,.rst-content .section ol.arabic,.rst-content .toctree-wrapper ol,.rst-content .toctree-wrapper ol.arabic,.rst-content section ol,.rst-content section ol.arabic,.wy-plain-list-decimal,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.rst-content .section ol.arabic li,.rst-content .section ol li,.rst-content .toctree-wrapper ol.arabic li,.rst-content .toctree-wrapper ol li,.rst-content section ol.arabic li,.rst-content section ol li,.wy-plain-list-decimal li,article ol li{list-style:decimal;margin-left:24px}.rst-content .section ol.arabic li ul,.rst-content .section ol li p:last-child,.rst-content .section ol li ul,.rst-content .toctree-wrapper ol.arabic li ul,.rst-content .toctree-wrapper ol li p:last-child,.rst-content .toctree-wrapper ol li ul,.rst-content section ol.arabic li ul,.rst-content section ol li p:last-child,.rst-content section ol li ul,.wy-plain-list-decimal li p:last-child,.wy-plain-list-decimal li ul,article ol li p:last-child,article ol li ul{margin-bottom:0}.rst-content .section ol.arabic li ul li,.rst-content .section ol li ul li,.rst-content .toctree-wrapper ol.arabic li ul li,.rst-content .toctree-wrapper ol li ul li,.rst-content section ol.arabic li ul li,.rst-content section ol li ul li,.wy-plain-list-decimal li ul li,article ol li ul li{list-style:disc}.wy-breadcrumbs{*zoom:1}.wy-breadcrumbs:after,.wy-breadcrumbs:before{display:table;content:""}.wy-breadcrumbs:after{clear:both}.wy-breadcrumbs>li{display:inline-block;padding-top:5px}.wy-breadcrumbs>li.wy-breadcrumbs-aside{float:right}.rst-content .wy-breadcrumbs>li code,.rst-content .wy-breadcrumbs>li tt,.wy-breadcrumbs>li .rst-content tt,.wy-breadcrumbs>li code{all:inherit;color:inherit}.breadcrumb-item:before{content:"/";color:#bbb;font-size:13px;padding:0 6px 0 3px}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width:480px){.wy-breadcrumbs-extra,.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}html{font-size:16px}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:after,.wy-menu-horiz:before{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz li,.wy-menu-horiz ul{display:inline-block}.wy-menu-horiz li:hover{background:hsla(0,0%,100%,.1)}.wy-menu-horiz li.divide-left{border-left:1px solid #404040}.wy-menu-horiz li.divide-right{border-right:1px solid #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical{width:300px}.wy-menu-vertical header,.wy-menu-vertical p.caption{color:#55a5d9;height:32px;line-height:32px;padding:0 1.618em;margin:12px 0 0;display:block;font-weight:700;text-transform:uppercase;font-size:85%;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:1px solid #404040}.wy-menu-vertical li.divide-bottom{border-bottom:1px solid #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:grey;border-right:1px solid #c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.rst-content .wy-menu-vertical li tt,.wy-menu-vertical li .rst-content tt,.wy-menu-vertical li code{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li button.toctree-expand{display:block;float:left;margin-left:-1.2em;line-height:18px;color:#4d4d4d;border:none;background:none;padding:0}.wy-menu-vertical li.current>a,.wy-menu-vertical li.on a{color:#404040;font-weight:700;position:relative;background:#fcfcfc;border:none;padding:.4045em 1.618em}.wy-menu-vertical li.current>a:hover,.wy-menu-vertical li.on a:hover{background:#fcfcfc}.wy-menu-vertical li.current>a:hover button.toctree-expand,.wy-menu-vertical li.on a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand{display:block;line-height:18px;color:#333}.wy-menu-vertical li.toctree-l1.current>a{border-bottom:1px solid #c9c9c9;border-top:1px solid #c9c9c9}.wy-menu-vertical .toctree-l1.current .toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .toctree-l11>ul{display:none}.wy-menu-vertical .toctree-l1.current .current.toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .current.toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .current.toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .current.toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .current.toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .current.toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .current.toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .current.toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .current.toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .current.toctree-l11>ul{display:block}.wy-menu-vertical li.toctree-l3,.wy-menu-vertical li.toctree-l4{font-size:.9em}.wy-menu-vertical li.toctree-l2 a,.wy-menu-vertical li.toctree-l3 a,.wy-menu-vertical li.toctree-l4 a,.wy-menu-vertical li.toctree-l5 a,.wy-menu-vertical li.toctree-l6 a,.wy-menu-vertical li.toctree-l7 a,.wy-menu-vertical li.toctree-l8 a,.wy-menu-vertical li.toctree-l9 a,.wy-menu-vertical li.toctree-l10 a{color:#404040}.wy-menu-vertical li.toctree-l2 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l3 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l4 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l5 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l6 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l7 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l8 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l9 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l10 a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a,.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a,.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a,.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a,.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a,.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a,.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a,.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{display:block}.wy-menu-vertical li.toctree-l2.current>a{padding:.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{padding:.4045em 1.618em .4045em 4.045em}.wy-menu-vertical li.toctree-l3.current>a{padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{padding:.4045em 1.618em .4045em 5.663em}.wy-menu-vertical li.toctree-l4.current>a{padding:.4045em 5.663em}.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a{padding:.4045em 1.618em .4045em 7.281em}.wy-menu-vertical li.toctree-l5.current>a{padding:.4045em 7.281em}.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a{padding:.4045em 1.618em .4045em 8.899em}.wy-menu-vertical li.toctree-l6.current>a{padding:.4045em 8.899em}.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a{padding:.4045em 1.618em .4045em 10.517em}.wy-menu-vertical li.toctree-l7.current>a{padding:.4045em 10.517em}.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a{padding:.4045em 1.618em .4045em 12.135em}.wy-menu-vertical li.toctree-l8.current>a{padding:.4045em 12.135em}.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a{padding:.4045em 1.618em .4045em 13.753em}.wy-menu-vertical li.toctree-l9.current>a{padding:.4045em 13.753em}.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a{padding:.4045em 1.618em .4045em 15.371em}.wy-menu-vertical li.toctree-l10.current>a{padding:.4045em 15.371em}.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{padding:.4045em 1.618em .4045em 16.989em}.wy-menu-vertical li.toctree-l2.current>a,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{background:#c9c9c9}.wy-menu-vertical li.toctree-l2 button.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3.current>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{background:#bdbdbd}.wy-menu-vertical li.toctree-l3 button.toctree-expand{color:#969696}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical li ul li a{margin-bottom:0;color:#d9d9d9;font-weight:400}.wy-menu-vertical a{line-height:18px;padding:.4045em 1.618em;display:block;position:relative;font-size:90%;color:#d9d9d9}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover button.toctree-expand{color:#d9d9d9}.wy-menu-vertical a:active{background-color:#2980b9;cursor:pointer;color:#fff}.wy-menu-vertical a:active button.toctree-expand{color:#fff}.wy-side-nav-search{display:block;width:300px;padding:.809em;margin-bottom:.809em;z-index:200;background-color:#2980b9;text-align:center;color:#fcfcfc}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto .809em;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-side-nav-search .wy-dropdown>a,.wy-side-nav-search>a{color:#fcfcfc;font-size:100%;font-weight:700;display:inline-block;padding:4px 6px;margin-bottom:.809em;max-width:100%}.wy-side-nav-search .wy-dropdown>a:hover,.wy-side-nav-search>a:hover{background:hsla(0,0%,100%,.1)}.wy-side-nav-search .wy-dropdown>a img.logo,.wy-side-nav-search>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search .wy-dropdown>a.icon img.logo,.wy-side-nav-search>a.icon img.logo{margin-top:.85em}.wy-side-nav-search>div.version{margin-top:-.4045em;margin-bottom:.809em;font-weight:400;color:hsla(0,0%,100%,.3)}.wy-nav .wy-menu-vertical header{color:#2980b9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980b9;color:#fff}[data-menu-wrap]{-webkit-transition:all .2s ease-in;-moz-transition:all .2s ease-in;transition:all .2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:#fcfcfc}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:fixed;top:0;bottom:0;left:0;padding-bottom:2em;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;color:#9b9b9b;background:#343131;z-index:200}.wy-side-scroll{width:320px;position:relative;overflow-x:hidden;overflow-y:scroll;height:100%}.wy-nav-top{display:none;background:#2980b9;color:#fff;padding:.4045em .809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:after,.wy-nav-top:before{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:700}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer;padding-top:inherit}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:grey}footer p{margin-bottom:12px}.rst-content footer span.commit tt,footer span.commit .rst-content tt,footer span.commit code{padding:0;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:1em;background:none;border:none;color:grey}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:after,.rst-footer-buttons:before{width:100%;display:table;content:""}.rst-footer-buttons:after{clear:both}.rst-breadcrumbs-buttons{margin-top:12px;*zoom:1}.rst-breadcrumbs-buttons:after,.rst-breadcrumbs-buttons:before{display:table;content:""}.rst-breadcrumbs-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:1px solid #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:1px solid #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:grey;font-size:90%}.genindextable li>ul{margin-left:24px}@media screen and (max-width:768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-menu.wy-menu-vertical,.wy-side-nav-search,.wy-side-scroll{width:auto}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width:1100px){.wy-nav-content-wrap{background:rgba(0,0,0,.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,.wy-nav-side,footer{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60;*zoom:1}.rst-versions .rst-current-version:after,.rst-versions .rst-current-version:before{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-content .code-block-caption .rst-versions .rst-current-version .headerlink,.rst-content .eqno .rst-versions .rst-current-version .headerlink,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-content p .rst-versions .rst-current-version .headerlink,.rst-content table>caption .rst-versions .rst-current-version .headerlink,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .icon,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-versions .rst-current-version .rst-content .code-block-caption .headerlink,.rst-versions .rst-current-version .rst-content .eqno .headerlink,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-versions .rst-current-version .rst-content p .headerlink,.rst-versions .rst-current-version .rst-content table>caption .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-versions .rst-current-version .wy-menu-vertical li button.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version button.toctree-expand{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}.rst-content .toctree-wrapper>p.caption,.rst-content h1,.rst-content h2,.rst-content h3,.rst-content h4,.rst-content h5,.rst-content h6{margin-bottom:24px}.rst-content img{max-width:100%;height:auto}.rst-content div.figure,.rst-content figure{margin-bottom:24px}.rst-content div.figure .caption-text,.rst-content figure .caption-text{font-style:italic}.rst-content div.figure p:last-child.caption,.rst-content figure p:last-child.caption{margin-bottom:0}.rst-content div.figure.align-center,.rst-content figure.align-center{text-align:center}.rst-content .section>a>img,.rst-content .section>img,.rst-content section>a>img,.rst-content section>img{margin-bottom:24px}.rst-content abbr[title]{text-decoration:none}.rst-content.style-external-links a.reference.external:after{font-family:FontAwesome;content:"\f08e";color:#b3b3b3;vertical-align:super;font-size:60%;margin:0 .2em}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content pre.literal-block{white-space:pre;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;display:block;overflow:auto}.rst-content div[class^=highlight],.rst-content pre.literal-block{border:1px solid #e1e4e5;overflow-x:auto;margin:1px 0 24px}.rst-content div[class^=highlight] div[class^=highlight],.rst-content pre.literal-block div[class^=highlight]{padding:0;border:none;margin:0}.rst-content div[class^=highlight] td.code{width:100%}.rst-content .linenodiv pre{border-right:1px solid #e6e9ea;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;user-select:none;pointer-events:none}.rst-content div[class^=highlight] pre{white-space:pre;margin:0;padding:12px;display:block;overflow:auto}.rst-content div[class^=highlight] pre .hll{display:block;margin:0 -12px;padding:0 12px}.rst-content .linenodiv pre,.rst-content div[class^=highlight] pre,.rst-content pre.literal-block{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:12px;line-height:1.4}.rst-content div.highlight .gp,.rst-content div.highlight span.linenos{user-select:none;pointer-events:none}.rst-content div.highlight span.linenos{display:inline-block;padding-left:0;padding-right:12px;margin-right:12px;border-right:1px solid #e6e9ea}.rst-content .code-block-caption{font-style:italic;font-size:85%;line-height:1;padding:1em 0;text-align:center}@media print{.rst-content .codeblock,.rst-content div[class^=highlight],.rst-content div[class^=highlight] pre{white-space:pre-wrap}}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning{clear:both}.rst-content .admonition-todo .last,.rst-content .admonition-todo>:last-child,.rst-content .admonition .last,.rst-content .admonition>:last-child,.rst-content .attention .last,.rst-content .attention>:last-child,.rst-content .caution .last,.rst-content .caution>:last-child,.rst-content .danger .last,.rst-content .danger>:last-child,.rst-content .error .last,.rst-content .error>:last-child,.rst-content .hint .last,.rst-content .hint>:last-child,.rst-content .important .last,.rst-content .important>:last-child,.rst-content .note .last,.rst-content .note>:last-child,.rst-content .seealso .last,.rst-content .seealso>:last-child,.rst-content .tip .last,.rst-content .tip>:last-child,.rst-content .warning .last,.rst-content .warning>:last-child{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent!important;border-color:rgba(0,0,0,.1)!important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha>li,.rst-content .toctree-wrapper ol.loweralpha,.rst-content .toctree-wrapper ol.loweralpha>li,.rst-content section ol.loweralpha,.rst-content section ol.loweralpha>li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha>li,.rst-content .toctree-wrapper ol.upperalpha,.rst-content .toctree-wrapper ol.upperalpha>li,.rst-content section ol.upperalpha,.rst-content section ol.upperalpha>li{list-style:upper-alpha}.rst-content .section ol li>*,.rst-content .section ul li>*,.rst-content .toctree-wrapper ol li>*,.rst-content .toctree-wrapper ul li>*,.rst-content section ol li>*,.rst-content section ul li>*{margin-top:12px;margin-bottom:12px}.rst-content .section ol li>:first-child,.rst-content .section ul li>:first-child,.rst-content .toctree-wrapper ol li>:first-child,.rst-content .toctree-wrapper ul li>:first-child,.rst-content section ol li>:first-child,.rst-content section ul li>:first-child{margin-top:0}.rst-content .section ol li>p,.rst-content .section ol li>p:last-child,.rst-content .section ul li>p,.rst-content .section ul li>p:last-child,.rst-content .toctree-wrapper ol li>p,.rst-content .toctree-wrapper ol li>p:last-child,.rst-content .toctree-wrapper ul li>p,.rst-content .toctree-wrapper ul li>p:last-child,.rst-content section ol li>p,.rst-content section ol li>p:last-child,.rst-content section ul li>p,.rst-content section ul li>p:last-child{margin-bottom:12px}.rst-content .section ol li>p:only-child,.rst-content .section ol li>p:only-child:last-child,.rst-content .section ul li>p:only-child,.rst-content .section ul li>p:only-child:last-child,.rst-content .toctree-wrapper ol li>p:only-child,.rst-content .toctree-wrapper ol li>p:only-child:last-child,.rst-content .toctree-wrapper ul li>p:only-child,.rst-content .toctree-wrapper ul li>p:only-child:last-child,.rst-content section ol li>p:only-child,.rst-content section ol li>p:only-child:last-child,.rst-content section ul li>p:only-child,.rst-content section ul li>p:only-child:last-child{margin-bottom:0}.rst-content .section ol li>ol,.rst-content .section ol li>ul,.rst-content .section ul li>ol,.rst-content .section ul li>ul,.rst-content .toctree-wrapper ol li>ol,.rst-content .toctree-wrapper ol li>ul,.rst-content .toctree-wrapper ul li>ol,.rst-content .toctree-wrapper ul li>ul,.rst-content section ol li>ol,.rst-content section ol li>ul,.rst-content section ul li>ol,.rst-content section ul li>ul{margin-bottom:12px}.rst-content .section ol.simple li>*,.rst-content .section ol.simple li ol,.rst-content .section ol.simple li ul,.rst-content .section ul.simple li>*,.rst-content .section ul.simple li ol,.rst-content .section ul.simple li ul,.rst-content .toctree-wrapper ol.simple li>*,.rst-content .toctree-wrapper ol.simple li ol,.rst-content .toctree-wrapper ol.simple li ul,.rst-content .toctree-wrapper ul.simple li>*,.rst-content .toctree-wrapper ul.simple li ol,.rst-content .toctree-wrapper ul.simple li ul,.rst-content section ol.simple li>*,.rst-content section ol.simple li ol,.rst-content section ol.simple li ul,.rst-content section ul.simple li>*,.rst-content section ul.simple li ol,.rst-content section ul.simple li ul{margin-top:0;margin-bottom:0}.rst-content .line-block{margin-left:0;margin-bottom:24px;line-height:24px}.rst-content .line-block .line-block{margin-left:24px;margin-bottom:0}.rst-content .topic-title{font-weight:700;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0 0 24px 24px}.rst-content .align-left{float:left;margin:0 24px 24px 0}.rst-content .align-center{margin:auto}.rst-content .align-center:not(table){display:block}.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink{opacity:0;font-size:14px;font-family:FontAwesome;margin-left:.5em}.rst-content .code-block-caption .headerlink:focus,.rst-content .code-block-caption:hover .headerlink,.rst-content .eqno .headerlink:focus,.rst-content .eqno:hover .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink:focus,.rst-content .toctree-wrapper>p.caption:hover .headerlink,.rst-content dl dt .headerlink:focus,.rst-content dl dt:hover .headerlink,.rst-content h1 .headerlink:focus,.rst-content h1:hover .headerlink,.rst-content h2 .headerlink:focus,.rst-content h2:hover .headerlink,.rst-content h3 .headerlink:focus,.rst-content h3:hover .headerlink,.rst-content h4 .headerlink:focus,.rst-content h4:hover .headerlink,.rst-content h5 .headerlink:focus,.rst-content h5:hover .headerlink,.rst-content h6 .headerlink:focus,.rst-content h6:hover .headerlink,.rst-content p.caption .headerlink:focus,.rst-content p.caption:hover .headerlink,.rst-content p .headerlink:focus,.rst-content p:hover .headerlink,.rst-content table>caption .headerlink:focus,.rst-content table>caption:hover .headerlink{opacity:1}.rst-content p a{overflow-wrap:anywhere}.rst-content .wy-table td p,.rst-content .wy-table td ul,.rst-content .wy-table th p,.rst-content .wy-table th ul,.rst-content table.docutils td p,.rst-content table.docutils td ul,.rst-content table.docutils th p,.rst-content table.docutils th ul,.rst-content table.field-list td p,.rst-content table.field-list td ul,.rst-content table.field-list th p,.rst-content table.field-list th ul{font-size:inherit}.rst-content .btn:focus{outline:2px solid}.rst-content table>caption .headerlink:after{font-size:12px}.rst-content .centered{text-align:center}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:1px solid #e1e4e5}.rst-content .sidebar dl,.rst-content .sidebar p,.rst-content .sidebar ul{font-size:90%}.rst-content .sidebar .last,.rst-content .sidebar>:last-child{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif;font-weight:700;background:#e1e4e5;padding:6px 12px;margin:-24px -24px 24px;font-size:100%}.rst-content .highlighted{background:#f1c40f;box-shadow:0 0 0 2px #f1c40f;display:inline;font-weight:700}.rst-content .citation-reference,.rst-content .footnote-reference{vertical-align:baseline;position:relative;top:-.4em;line-height:0;font-size:90%}.rst-content .citation-reference>span.fn-bracket,.rst-content .footnote-reference>span.fn-bracket{display:none}.rst-content .hlist{width:100%}.rst-content dl dt span.classifier:before{content:" : "}.rst-content dl dt span.classifier-delimiter{display:none!important}html.writer-html4 .rst-content table.docutils.citation,html.writer-html4 .rst-content table.docutils.footnote{background:none;border:none}html.writer-html4 .rst-content table.docutils.citation td,html.writer-html4 .rst-content table.docutils.citation tr,html.writer-html4 .rst-content table.docutils.footnote td,html.writer-html4 .rst-content table.docutils.footnote tr{border:none;background-color:transparent!important;white-space:normal}html.writer-html4 .rst-content table.docutils.citation td.label,html.writer-html4 .rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{display:grid;grid-template-columns:auto minmax(80%,95%)}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{display:inline-grid;grid-template-columns:max-content auto}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{display:grid;grid-template-columns:auto auto minmax(.65rem,auto) minmax(40%,95%)}html.writer-html5 .rst-content aside.citation>span.label,html.writer-html5 .rst-content aside.footnote>span.label,html.writer-html5 .rst-content div.citation>span.label{grid-column-start:1;grid-column-end:2}html.writer-html5 .rst-content aside.citation>span.backrefs,html.writer-html5 .rst-content aside.footnote>span.backrefs,html.writer-html5 .rst-content div.citation>span.backrefs{grid-column-start:2;grid-column-end:3;grid-row-start:1;grid-row-end:3}html.writer-html5 .rst-content aside.citation>p,html.writer-html5 .rst-content aside.footnote>p,html.writer-html5 .rst-content div.citation>p{grid-column-start:4;grid-column-end:5}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{margin-bottom:24px}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{padding-left:1rem}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dd,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dd,html.writer-html5 .rst-content dl.footnote>dt{margin-bottom:0}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{font-size:.9rem}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.footnote>dt{margin:0 .5rem .5rem 0;line-height:1.2rem;word-break:break-all;font-weight:400}html.writer-html5 .rst-content dl.citation>dt>span.brackets:before,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:before{content:"["}html.writer-html5 .rst-content dl.citation>dt>span.brackets:after,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:after{content:"]"}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a{word-break:keep-all}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a:not(:first-child):before,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.footnote>dd{margin:0 0 .5rem;line-height:1.2rem}html.writer-html5 .rst-content dl.citation>dd p,html.writer-html5 .rst-content dl.footnote>dd p{font-size:.9rem}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{padding-left:1rem;padding-right:1rem;font-size:.9rem;line-height:1.2rem}html.writer-html5 .rst-content aside.citation p,html.writer-html5 .rst-content aside.footnote p,html.writer-html5 .rst-content div.citation p{font-size:.9rem;line-height:1.2rem;margin-bottom:12px}html.writer-html5 .rst-content aside.citation span.backrefs,html.writer-html5 .rst-content aside.footnote span.backrefs,html.writer-html5 .rst-content div.citation span.backrefs{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content aside.citation span.backrefs>a,html.writer-html5 .rst-content aside.footnote span.backrefs>a,html.writer-html5 .rst-content div.citation span.backrefs>a{word-break:keep-all}html.writer-html5 .rst-content aside.citation span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content aside.footnote span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content div.citation span.backrefs>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content aside.citation span.label,html.writer-html5 .rst-content aside.footnote span.label,html.writer-html5 .rst-content div.citation span.label{line-height:1.2rem}html.writer-html5 .rst-content aside.citation-list,html.writer-html5 .rst-content aside.footnote-list,html.writer-html5 .rst-content div.citation-list{margin-bottom:24px}html.writer-html5 .rst-content dl.option-list kbd{font-size:.9rem}.rst-content table.docutils.footnote,html.writer-html4 .rst-content table.docutils.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content aside.footnote-list aside.footnote,html.writer-html5 .rst-content div.citation-list>div.citation,html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{color:grey}.rst-content table.docutils.footnote code,.rst-content table.docutils.footnote tt,html.writer-html4 .rst-content table.docutils.citation code,html.writer-html4 .rst-content table.docutils.citation tt,html.writer-html5 .rst-content aside.footnote-list aside.footnote code,html.writer-html5 .rst-content aside.footnote-list aside.footnote tt,html.writer-html5 .rst-content aside.footnote code,html.writer-html5 .rst-content aside.footnote tt,html.writer-html5 .rst-content div.citation-list>div.citation code,html.writer-html5 .rst-content div.citation-list>div.citation tt,html.writer-html5 .rst-content dl.citation code,html.writer-html5 .rst-content dl.citation tt,html.writer-html5 .rst-content dl.footnote code,html.writer-html5 .rst-content dl.footnote tt{color:#555}.rst-content .wy-table-responsive.citation,.rst-content .wy-table-responsive.footnote{margin-bottom:0}.rst-content .wy-table-responsive.citation+:not(.citation),.rst-content .wy-table-responsive.footnote+:not(.footnote){margin-top:24px}.rst-content .wy-table-responsive.citation:last-child,.rst-content .wy-table-responsive.footnote:last-child{margin-bottom:24px}.rst-content table.docutils th{border-color:#e1e4e5}html.writer-html5 .rst-content table.docutils th{border:1px solid #e1e4e5}html.writer-html5 .rst-content table.docutils td>p,html.writer-html5 .rst-content table.docutils th>p{line-height:1rem;margin-bottom:0;font-size:.9rem}.rst-content table.docutils td .last,.rst-content table.docutils td .last>:last-child{margin-bottom:0}.rst-content table.field-list,.rst-content table.field-list td{border:none}.rst-content table.field-list td p{line-height:inherit}.rst-content table.field-list td>strong{display:inline-block}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left}.rst-content code,.rst-content tt{color:#000;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;padding:2px 5px}.rst-content code big,.rst-content code em,.rst-content tt big,.rst-content tt em{font-size:100%!important;line-height:normal}.rst-content code.literal,.rst-content tt.literal{color:#e74c3c;white-space:normal}.rst-content code.xref,.rst-content tt.xref,a .rst-content code,a .rst-content tt{font-weight:700;color:#404040;overflow-wrap:normal}.rst-content kbd,.rst-content pre,.rst-content samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace}.rst-content a code,.rst-content a tt{color:#2980b9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:700;margin-bottom:12px}.rst-content dl ol,.rst-content dl p,.rst-content dl table,.rst-content dl ul{margin-bottom:12px}.rst-content dl dd{margin:0 0 12px 24px;line-height:24px}.rst-content dl dd>ol:last-child,.rst-content dl dd>p:last-child,.rst-content dl dd>table:last-child,.rst-content dl dd>ul:last-child{margin-bottom:0}html.writer-html4 .rst-content dl:not(.docutils),html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple){margin-bottom:24px}html.writer-html4 .rst-content dl:not(.docutils)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{display:table;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980b9;border-top:3px solid #6ab0de;padding:6px;position:relative}html.writer-html4 .rst-content dl:not(.docutils)>dt:before,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:before{color:#6ab0de}html.writer-html4 .rst-content dl:not(.docutils)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{margin-bottom:6px;border:none;border-left:3px solid #ccc;background:#f0f0f0;color:#555}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils)>dt:first-child,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:first-child{margin-top:0}html.writer-html4 .rst-content dl:not(.docutils) code.descclassname,html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descclassname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{background-color:transparent;border:none;padding:0;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .optional,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .property,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .property{display:inline-block;padding-right:8px;max-width:100%}html.writer-html4 .rst-content dl:not(.docutils) .k,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .k{font-style:italic}html.writer-html4 .rst-content dl:not(.docutils) .descclassname,html.writer-html4 .rst-content dl:not(.docutils) .descname,html.writer-html4 .rst-content dl:not(.docutils) .sig-name,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .sig-name{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#000}.rst-content .viewcode-back,.rst-content .viewcode-link{display:inline-block;color:#27ae60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:700}.rst-content code.download,.rst-content tt.download{background:inherit;padding:inherit;font-weight:400;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content code.download span:first-child,.rst-content tt.download span:first-child{-webkit-font-smoothing:subpixel-antialiased}.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{margin-right:4px}.rst-content .guilabel{border:1px solid #7fbbe3;background:#e7f2fa;font-size:80%;font-weight:700;border-radius:4px;padding:2.4px 6px;margin:auto 2px}.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>.kbd,.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>kbd{color:inherit;font-size:80%;background-color:#fff;border:1px solid #a6a6a6;border-radius:4px;box-shadow:0 2px grey;padding:2.4px 6px;margin:auto 0}.rst-content .versionmodified{font-style:italic}@media screen and (max-width:480px){.rst-content .sidebar{width:100%}}span[id*=MathJax-Span]{color:#404040}.math{text-align:center}@font-face{font-family:Lato;src:url(fonts/lato-normal.woff2?bd03a2cc277bbbc338d464e679fe9942) format("woff2"),url(fonts/lato-normal.woff?27bd77b9162d388cb8d4c4217c7c5e2a) format("woff");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold.woff2?cccb897485813c7c256901dbca54ecf2) format("woff2"),url(fonts/lato-bold.woff?d878b6c29b10beca227e9eef4246111b) format("woff");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold-italic.woff2?0b6bb6725576b072c5d0b02ecdd1900d) format("woff2"),url(fonts/lato-bold-italic.woff?9c7e4e9eb485b4a121c760e61bc3707c) format("woff");font-weight:700;font-style:italic;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-normal-italic.woff2?4eb103b4d12be57cb1d040ed5e162e9d) format("woff2"),url(fonts/lato-normal-italic.woff?f28f2d6482446544ef1ea1ccc6dd5892) format("woff");font-weight:400;font-style:italic;font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(fonts/Roboto-Slab-Regular.woff2?7abf5b8d04d26a2cafea937019bca958) format("woff2"),url(fonts/Roboto-Slab-Regular.woff?c1be9284088d487c5e3ff0a10a92e58c) format("woff");font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(fonts/Roboto-Slab-Bold.woff2?9984f4a9bda09be08e83f2506954adbe) format("woff2"),url(fonts/Roboto-Slab-Bold.woff?bed5564a116b05148e3b3bea6fb1162a) format("woff");font-display:block} diff --git a/css/theme_extra.css b/css/theme_extra.css new file mode 100644 index 00000000..ab0631a1 --- /dev/null +++ b/css/theme_extra.css @@ -0,0 +1,197 @@ +/* + * Wrap inline code samples otherwise they shoot of the side and + * can't be read at all. + * + * https://github.com/mkdocs/mkdocs/issues/313 + * https://github.com/mkdocs/mkdocs/issues/233 + * https://github.com/mkdocs/mkdocs/issues/834 + */ +.rst-content code { + white-space: pre-wrap; + word-wrap: break-word; + padding: 2px 5px; +} + +/** + * Make code blocks display as blocks and give them the appropriate + * font size and padding. + * + * https://github.com/mkdocs/mkdocs/issues/855 + * https://github.com/mkdocs/mkdocs/issues/834 + * https://github.com/mkdocs/mkdocs/issues/233 + */ +.rst-content pre code { + white-space: pre; + word-wrap: normal; + display: block; + padding: 12px; + font-size: 12px; +} + +/** + * Fix code colors + * + * https://github.com/mkdocs/mkdocs/issues/2027 + */ +.rst-content code { + color: #E74C3C; +} + +.rst-content pre code { + color: #000; + background: #f8f8f8; +} + +/* + * Fix link colors when the link text is inline code. + * + * https://github.com/mkdocs/mkdocs/issues/718 + */ +a code { + color: #2980B9; +} +a:hover code { + color: #3091d1; +} +a:visited code { + color: #9B59B6; +} + +/* + * The CSS classes from highlight.js seem to clash with the + * ReadTheDocs theme causing some code to be incorrectly made + * bold and italic. + * + * https://github.com/mkdocs/mkdocs/issues/411 + */ +pre .cs, pre .c { + font-weight: inherit; + font-style: inherit; +} + +/* + * Fix some issues with the theme and non-highlighted code + * samples. Without and highlighting styles attached the + * formatting is broken. + * + * https://github.com/mkdocs/mkdocs/issues/319 + */ +.rst-content .no-highlight { + display: block; + padding: 0.5em; + color: #333; +} + + +/* + * Additions specific to the search functionality provided by MkDocs + */ + +.search-results { + margin-top: 23px; +} + +.search-results article { + border-top: 1px solid #E1E4E5; + padding-top: 24px; +} + +.search-results article:first-child { + border-top: none; +} + +form .search-query { + width: 100%; + border-radius: 50px; + padding: 6px 12px; + border-color: #D1D4D5; +} + +/* + * Improve inline code blocks within admonitions. + * + * https://github.com/mkdocs/mkdocs/issues/656 + */ + .rst-content .admonition code { + color: #404040; + border: 1px solid #c7c9cb; + border: 1px solid rgba(0, 0, 0, 0.2); + background: #f8fbfd; + background: rgba(255, 255, 255, 0.7); +} + +/* + * Account for wide tables which go off the side. + * Override borders to avoid weirdness on narrow tables. + * + * https://github.com/mkdocs/mkdocs/issues/834 + * https://github.com/mkdocs/mkdocs/pull/1034 + */ +.rst-content .section .docutils { + width: 100%; + overflow: auto; + display: block; + border: none; +} + +td, th { + border: 1px solid #e1e4e5 !important; + border-collapse: collapse; +} + +/* + * Without the following amendments, the navigation in the theme will be + * slightly cut off. This is due to the fact that the .wy-nav-side has a + * padding-bottom of 2em, which must not necessarily align with the font-size of + * 90 % on the .rst-current-version container, combined with the padding of 12px + * above and below. These amendments fix this in two steps: First, make sure the + * .rst-current-version container has a fixed height of 40px, achieved using + * line-height, and then applying a padding-bottom of 40px to this container. In + * a second step, the items within that container are re-aligned using flexbox. + * + * https://github.com/mkdocs/mkdocs/issues/2012 + */ + .wy-nav-side { + padding-bottom: 40px; +} + +/* For section-index only */ +.wy-menu-vertical .current-section p { + background-color: #e3e3e3; + color: #404040; +} + +/* + * The second step of above amendment: Here we make sure the items are aligned + * correctly within the .rst-current-version container. Using flexbox, we + * achieve it in such a way that it will look like the following: + * + * [No repo_name] + * Next >> // On the first page + * << Previous Next >> // On all subsequent pages + * + * [With repo_name] + * Next >> // On the first page + * << Previous Next >> // On all subsequent pages + * + * https://github.com/mkdocs/mkdocs/issues/2012 + */ +.rst-versions .rst-current-version { + padding: 0 12px; + display: flex; + font-size: initial; + justify-content: space-between; + align-items: center; + line-height: 40px; +} + +/* + * Please note that this amendment also involves removing certain inline-styles + * from the file ./mkdocs/themes/readthedocs/versions.html. + * + * https://github.com/mkdocs/mkdocs/issues/2012 + */ +.rst-current-version span { + flex: 1; + text-align: center; +} diff --git a/features/index.html b/features/index.html new file mode 100644 index 00000000..35a80f96 --- /dev/null +++ b/features/index.html @@ -0,0 +1,521 @@ + + + + + + + + Features - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ + +
    +
  • Coupled cluster calculations using a wide range of ansatzes, as summarised below
  • +
  • Lambda equation solver
  • +
  • Equation-of-motion solver
  • +
  • Density matrices
  • +
  • Frozen and active space constraints
  • +
  • Brueckner orbital calculations
  • +
  • Frozen natural orbital calculations
  • +
  • Single- and mixed-precision calculations
  • +
+

The following table summarises the available methods and routines for the ansatz currently treated by code generation, in the three spin cases:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AnsatzETΛIPEAEEDM1DM2BDM
MP2RUG--RUGRUGGRUGRUG-
MP3RUG-
CCDRUGRUGRUGRUGRUGGRUGRUG-
CCSDRUGRUGRUGRUGRUGGRUGRUG-
CCSDTRUGRUGRUGRUGRUG-
CCSDTQgg-
CCSD(T)RuGRuG-
CCSDtRGRG-
CCSDt'RUGRUG-
CC2RUGRUGRUGRUGRUGGRUGRUG-
CC3RUGRUG-
QCISDRUGRUG-
DCDRURU-
DCSDRURU-
DF-CCDRURURURURURURU-
DF-CCSDRURURURURURURU-
DF-CC2RURURURURURURU-
DF-QCISDRURU-
DF-DCDRURU-
DF-DCSDRURU-
CCSD-S-1-1RUGRUGRUGRUGRUGRUG
CCSD-SD-1-1RUGRUGRUGRUGRUGRUG
CCSD-SD-1-2RUGRUGRUGRUGRUGRUG
+
    +
  • R, U, G indicate availability of restricted, unrestricted, and generalised codes.
  • +
  • Capital letters (R rather than r) indicates that the expressions are optimised for contraction order and subexpression elimination.
  • +
  • DF in the ansatz name indicates methods specialised for density-fitted integrals.
  • +
  • E is the correlation energy.
  • +
  • T, Λ are the excitation and de-excitation amplitude availabilities, respectively, the former allowing the coupled cluster solver and the latter allowing the lambda solver.
  • +
  • IP, EA, EE indicate availability of the corresponding equation of motion (EOM) functionalities.
  • +
  • DM1, DM2 indicate availability of the one- and two-particle reduced density matrices.
  • +
  • BDM availability includes the single boson density matrix, bosonic one-particle reduced density matrix, and the electron-boson coupling reduced density matrix.
  • +
+ + +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/gen_files.py b/gen_files.py new file mode 100644 index 00000000..25d4fa61 --- /dev/null +++ b/gen_files.py @@ -0,0 +1,28 @@ +""" +Generate the code reference pages. +""" + +from pathlib import Path + +import mkdocs_gen_files + + +for path in sorted(Path("ebcc").rglob("*.py")): + module_path = path.relative_to("ebcc").with_suffix("") + doc_path = path.relative_to("ebcc").with_suffix(".md") + full_doc_path = Path("reference", doc_path) + parts = ["ebcc", *module_path.parts] + + if parts[-1] == "__init__": + parts = parts[:-1] + doc_path = doc_path.with_name("index.md") + full_doc_path = full_doc_path.with_name("index.md") + + if not len(parts) or parts[-1] == "__main__" or parts[0] == "codegen": + continue + + with mkdocs_gen_files.open(full_doc_path, "w") as fd: + identifier = ".".join(parts) + fd.write("::: " + identifier + "\n") + + mkdocs_gen_files.set_edit_path(full_doc_path, path) diff --git a/img/favicon.ico b/img/favicon.ico new file mode 100644 index 00000000..e85006a3 Binary files /dev/null and b/img/favicon.ico differ diff --git a/index.html b/index.html new file mode 100644 index 00000000..af353e1c --- /dev/null +++ b/index.html @@ -0,0 +1,244 @@ + + + + + + + + ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ + +

ebcc: Coupled cluster calculations on electron-boson systems

+

CI +codecov +PyPI version +License: MIT

+

The ebcc package implements various coupled cluster (CC) models for both purely electronic and coupled electron-boson models, with a focus on generality and model extensibility.

+

For a summary of the implemented models, see the FEATURES.md file.

+

Installation

+

From PyPI:

+
pip install ebcc
+
+

From source:

+
git clone https://github.com/BoothGroup/ebcc
+pip install .
+
+

Usage

+

The implemented models are built upon the mean-field objects of pyscf:

+
from pyscf import gto, scf
+from ebcc import EBCC
+mol = gto.M(atom="H 0 0 0; H 0 0 1", basis="cc-pvdz")
+mf = scf.RHF(mol)
+mf.kernel()
+ccsd = EBCC(mf, ansatz="CCSD")
+ccsd.kernel()
+
+

Code generation

+

The models implemented are generated algorithmically from expressions over second quantized operators. The scripts for generating these models are found in the codegen directory on the bootstrap branch. +User-inputted models should operate seamlessly with the solvers by adding files under ebcc/codegen, so long as they satisfy the interface.

+ + +
+
+ +
+
+ +
+ +
+ +
+ + + + + Next » + + +
+ + + + + + + + + + + diff --git a/js/html5shiv.min.js b/js/html5shiv.min.js new file mode 100644 index 00000000..1a01c94b --- /dev/null +++ b/js/html5shiv.min.js @@ -0,0 +1,4 @@ +/** +* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed +*/ +!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document); diff --git a/js/jquery-3.6.0.min.js b/js/jquery-3.6.0.min.js new file mode 100644 index 00000000..c4c6022f --- /dev/null +++ b/js/jquery-3.6.0.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0"),n("table.docutils.footnote").wrap("
"),n("table.docutils.citation").wrap("
"),n(".wy-menu-vertical ul").not(".simple").siblings("a").each((function(){var t=n(this);expand=n(''),expand.on("click",(function(n){return e.toggleCurrent(t),n.stopPropagation(),!1})),t.prepend(expand)}))},reset:function(){var n=encodeURI(window.location.hash)||"#";try{var e=$(".wy-menu-vertical"),t=e.find('[href="'+n+'"]');if(0===t.length){var i=$('.document [id="'+n.substring(1)+'"]').closest("div.section");0===(t=e.find('[href="#'+i.attr("id")+'"]')).length&&(t=e.find('[href="#"]'))}if(t.length>0){$(".wy-menu-vertical .current").removeClass("current").attr("aria-expanded","false"),t.addClass("current").attr("aria-expanded","true"),t.closest("li.toctree-l1").parent().addClass("current").attr("aria-expanded","true");for(let n=1;n<=10;n++)t.closest("li.toctree-l"+n).addClass("current").attr("aria-expanded","true");t[0].scrollIntoView()}}catch(n){console.log("Error expanding nav for anchor",n)}},onScroll:function(){this.winScroll=!1;var n=this.win.scrollTop(),e=n+this.winHeight,t=this.navBar.scrollTop()+(n-this.winPosition);n<0||e>this.docHeight||(this.navBar.scrollTop(t),this.winPosition=n)},onResize:function(){this.winResize=!1,this.winHeight=this.win.height(),this.docHeight=$(document).height()},hashChange:function(){this.linkScroll=!0,this.win.one("hashchange",(function(){this.linkScroll=!1}))},toggleCurrent:function(n){var e=n.closest("li");e.siblings("li.current").removeClass("current").attr("aria-expanded","false"),e.siblings().find("li.current").removeClass("current").attr("aria-expanded","false");var t=e.find("> ul li");t.length&&(t.removeClass("current").attr("aria-expanded","false"),e.toggleClass("current").attr("aria-expanded",(function(n,e){return"true"==e?"false":"true"})))}},"undefined"!=typeof window&&(window.SphinxRtdTheme={Navigation:n.exports.ThemeNav,StickyNav:n.exports.ThemeNav}),function(){for(var n=0,e=["ms","moz","webkit","o"],t=0;t + + + + + + + ctf - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Cyclops Tensor Framework backend.

+ + + +
+ + + + + + + + +
+ + + +

+ ebcc.backend._ctf.FakeLinalg + + +

+ + +
+ + +

Fake linalg module for CTF.

+ + + + +
+ + + + + + + + + +
+ + +

+ ebcc.backend._ctf.FakeLinalg.__getattr__(name) + +

+ + +
+ +

Get the attribute from CTF's linalg module.

+ +
+ Source code in ebcc/backend/_ctf.py +
17
+18
+19
def __getattr__(self, name):
+    """Get the attribute from CTF's linalg module."""
+    return getattr(ctf.linalg, name)
+
+
+
+ +
+ + + +
+ +
+ +
+ + +
+ + +

+ ebcc.backend._ctf.__getattr__(name) + +

+ + +
+ +

Get the attribute from CTF.

+ +
+ Source code in ebcc/backend/_ctf.py +
 9
+10
+11
def __getattr__(name):
+    """Get the attribute from CTF."""
+    return getattr(ctf, name)
+
+
+
+ +
+ +
+ + +

+ ebcc.backend._ctf.einsum(*args, optimize=True, **kwargs) + +

+ + +
+ +

Evaluate an einsum expression.

+ +
+ Source code in ebcc/backend/_ctf.py +
126
+127
+128
+129
+130
+131
def einsum(*args, optimize=True, **kwargs):
+    """Evaluate an einsum expression."""
+    # FIXME This shouldn't be called, except via `util.einsum`, which should have already
+    #       optimised the expression. We should check if this contraction has more than
+    #       two tensors and if so, raise an error.
+    return ctf.einsum(*args, **kwargs)
+
+
+
+ +
+ +
+ + +

+ ebcc.backend._ctf.einsum_path(*args, **kwargs) + +

+ + +
+ +

Evaluate the lowest cost contraction order for an einsum expression.

+ +
+ Source code in ebcc/backend/_ctf.py +
134
+135
+136
+137
+138
+139
def einsum_path(*args, **kwargs):
+    """Evaluate the lowest cost contraction order for an einsum expression."""
+    kwargs = dict(kwargs)
+    if kwargs.get("optimize", True) is True:
+        kwargs["optimize"] = "optimal"
+    return opt_einsum.contract_path(*args, **kwargs)
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/backend/_cupy/index.html b/reference/backend/_cupy/index.html new file mode 100644 index 00000000..c579ee12 --- /dev/null +++ b/reference/backend/_cupy/index.html @@ -0,0 +1,282 @@ + + + + + + + + cupy - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

CuPy backend.

+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.backend._cupy.__getattr__(name) + +

+ + +
+ +

Get the attribute from CuPy.

+ +
+ Source code in ebcc/backend/_cupy.py +
 8
+ 9
+10
def __getattr__(name):
+    """Get the attribute from CuPy."""
+    return getattr(cupy, name)
+
+
+
+ +
+ +
+ + +

+ ebcc.backend._cupy.einsum_path(*args, **kwargs) + +

+ + +
+ +

Evaluate the lowest cost contraction order for an einsum expression.

+ +
+ Source code in ebcc/backend/_cupy.py +
13
+14
+15
+16
+17
+18
def einsum_path(*args, **kwargs):
+    """Evaluate the lowest cost contraction order for an einsum expression."""
+    kwargs = dict(kwargs)
+    if kwargs.get("optimize", True) is True:
+        kwargs["optimize"] = "optimal"
+    return opt_einsum.contract_path(*args, **kwargs)
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/backend/_jax/index.html b/reference/backend/_jax/index.html new file mode 100644 index 00000000..2ceac18b --- /dev/null +++ b/reference/backend/_jax/index.html @@ -0,0 +1,282 @@ + + + + + + + + jax - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

JAX backend.

+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.backend._jax.__getattr__(name) + +

+ + +
+ +

Get the attribute from the NumPy drop-in.

+ +
+ Source code in ebcc/backend/_jax.py +
11
+12
+13
def __getattr__(name):
+    """Get the attribute from the NumPy drop-in."""
+    return getattr(jax.numpy, name)
+
+
+
+ +
+ +
+ + +

+ ebcc.backend._jax.einsum_path(*args, **kwargs) + +

+ + +
+ +

Evaluate the lowest cost contraction order for an einsum expression.

+ +
+ Source code in ebcc/backend/_jax.py +
28
+29
+30
+31
+32
+33
def einsum_path(*args, **kwargs):
+    """Evaluate the lowest cost contraction order for an einsum expression."""
+    kwargs = dict(kwargs)
+    if kwargs.get("optimize", True) is True:
+        kwargs["optimize"] = "optimal"
+    return opt_einsum.contract_path(*args, **kwargs)
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/backend/_numpy/index.html b/reference/backend/_numpy/index.html new file mode 100644 index 00000000..19f3bd56 --- /dev/null +++ b/reference/backend/_numpy/index.html @@ -0,0 +1,361 @@ + + + + + + + + numpy - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

NumPy backend.

+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.backend._numpy.__getattr__(name) + +

+ + +
+ +

Get the attribute from NumPy.

+ +
+ Source code in ebcc/backend/_numpy.py +
14
+15
+16
def __getattr__(name: str) -> object:
+    """Get the attribute from NumPy."""
+    return getattr(numpy, name)
+
+
+
+ +
+ +
+ + +

+ ebcc.backend._numpy.astype(obj, dtype) + +

+ + +
+ +

Cast the array to the specified type.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + obj + (NDArray[generic]) + – +
    +

    The array to cast.

    +
    +
  • +
  • + dtype + (type[generic]) + – +
    +

    The type to cast the array to.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[generic] + – +
    +

    The array cast to the specified type.

    +
    +
  • +
+
+ +
+ Note +

This function is part of the array API in NumPy 2.1.0, and this function is for backward +compatibility.

+
+
+ Source code in ebcc/backend/_numpy.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
def astype(obj: NDArray[generic], dtype: type[generic]) -> NDArray[generic]:
+    """Cast the array to the specified type.
+
+    Args:
+        obj: The array to cast.
+        dtype: The type to cast the array to.
+
+    Returns:
+        The array cast to the specified type.
+
+    Note:
+        This function is part of the array API in NumPy 2.1.0, and this function is for backward
+        compatibility.
+    """
+    return obj.astype(dtype)
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/backend/_tensorflow/index.html b/reference/backend/_tensorflow/index.html new file mode 100644 index 00000000..cca4e1b3 --- /dev/null +++ b/reference/backend/_tensorflow/index.html @@ -0,0 +1,286 @@ + + + + + + + + tensorflow - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

TensorFlow backend.

+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.backend._tensorflow.__getattr__(name) + +

+ + +
+ +

Get the attribute from the NumPy drop-in.

+ +
+ Source code in ebcc/backend/_tensorflow.py +
11
+12
+13
+14
+15
def __getattr__(name):
+    """Get the attribute from the NumPy drop-in."""
+    if name == "linalg":
+        return tf.linalg
+    return getattr(tensorflow.experimental.numpy, name)
+
+
+
+ +
+ +
+ + +

+ ebcc.backend._tensorflow.einsum_path(*args, **kwargs) + +

+ + +
+ +

Evaluate the lowest cost contraction order for an einsum expression.

+ +
+ Source code in ebcc/backend/_tensorflow.py +
73
+74
+75
+76
+77
+78
def einsum_path(*args, **kwargs):
+    """Evaluate the lowest cost contraction order for an einsum expression."""
+    kwargs = dict(kwargs)
+    if kwargs.get("optimize", True) is True:
+        kwargs["optimize"] = "optimal"
+    return opt_einsum.contract_path(*args, **kwargs)
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/backend/index.html b/reference/backend/index.html new file mode 100644 index 00000000..3daf5124 --- /dev/null +++ b/reference/backend/index.html @@ -0,0 +1,511 @@ + + + + + + + + Index - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Backend for NumPy operations.

+ + +
+ Notes +

Currently, the following backends are supported: + - NumPy + - CuPy + - TensorFlow + - JAX + - CTF (Cyclops Tensor Framework)

+

Non-NumPy backends are only lightly supported. Some functionality may not be available, and only +minimal tests are performed. Some operations that require interaction with NumPy such as the +PySCF interfaces may not be efficient, due to the need to convert between NumPy and the backend +array types.

+
+ + +
+ + + + + + + + + +
+ + +

+ ebcc.backend.__getattr__(name) + +

+ + +
+ +

Get the backend module.

+ +
+ Source code in ebcc/backend/__init__.py +
47
+48
+49
def __getattr__(name: str) -> ModuleType:
+    """Get the backend module."""
+    return importlib.import_module(f"ebcc.backend._{BACKEND.lower()}")
+
+
+
+ +
+ +
+ + +

+ ebcc.backend.ensure_scalar(obj) + +

+ + +
+ +

Ensure that an object is a scalar.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + obj + (Union[T, NDArray[T]]) + – +
    +

    Object to ensure is a scalar.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + T + – +
    +

    Scalar object.

    +
    +
  • +
+
+
+ Source code in ebcc/backend/__init__.py +
52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
def ensure_scalar(obj: Union[T, NDArray[T]]) -> T:
+    """Ensure that an object is a scalar.
+
+    Args:
+        obj: Object to ensure is a scalar.
+
+    Returns:
+        Scalar object.
+    """
+    if BACKEND in ("numpy", "cupy", "jax"):
+        return np.asarray(obj).item()  # type: ignore
+    elif BACKEND == "tensorflow":
+        if isinstance(obj, tf.Tensor):
+            return obj.numpy().item()  # type: ignore
+        return obj  # type: ignore
+    elif BACKEND in ("ctf", "cyclops"):
+        if isinstance(obj, ctf.tensor):
+            return obj.to_nparray().item()  # type: ignore
+        return obj  # type: ignore
+    else:
+        raise NotImplementedError(f"`ensure_scalar` not implemented for backend {BACKEND}.")
+
+
+
+ +
+ +
+ + +

+ ebcc.backend.to_numpy(array, dtype=None) + +

+ + +
+ +

Convert an array to NumPy.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + array + (NDArray[T]) + – +
    +

    Array to convert.

    +
    +
  • +
  • + dtype + (Optional[type[generic]], default: + None +) + – +
    +

    Data type to convert to.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Array in NumPy format.

    +
    +
  • +
+
+ +
+ Notes +

This function does not guarantee a copy of the array.

+
+
+ Source code in ebcc/backend/__init__.py +
 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
def to_numpy(array: NDArray[T], dtype: Optional[type[generic]] = None) -> NDArray[T]:
+    """Convert an array to NumPy.
+
+    Args:
+        array: Array to convert.
+        dtype: Data type to convert to.
+
+    Returns:
+        Array in NumPy format.
+
+    Notes:
+        This function does not guarantee a copy of the array.
+    """
+    if BACKEND == "numpy":
+        ndarray = array
+    elif BACKEND == "cupy":
+        ndarray = np.asnumpy(array)  # type: ignore
+    elif BACKEND == "jax":
+        ndarray = np.array(array)  # type: ignore
+    elif BACKEND == "tensorflow":
+        ndarray = array.numpy()  # type: ignore
+    elif BACKEND in ("ctf", "cyclops"):
+        ndarray = array.to_nparray()  # type: ignore
+    else:
+        raise NotImplementedError(f"`to_numpy` not implemented for backend {BACKEND}.")
+    if dtype is not None and ndarray.dtype != dtype:
+        ndarray = ndarray.astype(dtype)
+    return ndarray
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/cc/base/index.html b/reference/cc/base/index.html new file mode 100644 index 00000000..960abb33 --- /dev/null +++ b/reference/cc/base/index.html @@ -0,0 +1,4905 @@ + + + + + + + + Base - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Base classes for ebcc.cc.

+ + + +
+ + + + + + + +
+ + + +

+ ebcc.cc.base.T = float64 + + + module-attribute + + +

+ + +
+ +

Defines the type for the eris argument in functions.

+
+ +
+ +
+ + + +

+ ebcc.cc.base.ERIsInputType = Any + + + module-attribute + + +

+ + +
+ +

Defines the type for arrays, including spin labels.

+
+ +
+ +
+ + + +

+ ebcc.cc.base.SpinArrayType = Any + + + module-attribute + + +

+ + +
+ +

Defines the type for the spaces, including spin labels.

+
+ +
+ + +
+ + + +

+ ebcc.cc.base.BaseOptions(e_tol=1e-08, t_tol=1e-08, max_iter=200, diis_space=9, diis_min_space=1, damping=0.0, shift=True) + + + dataclass + + +

+ + +
+

+ Bases: _BaseOptions

+ + +

Options for EBCC calculations.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + e_tol + (float, default: + 1e-08 +) + – +
    +

    Threshold for convergence in the correlation energy.

    +
    +
  • +
  • + t_tol + (float, default: + 1e-08 +) + – +
    +

    Threshold for convergence in the amplitude norm.

    +
    +
  • +
  • + max_iter + (int, default: + 200 +) + – +
    +

    Maximum number of iterations.

    +
    +
  • +
  • + diis_space + (int, default: + 9 +) + – +
    +

    Number of amplitudes to use in DIIS extrapolation.

    +
    +
  • +
  • + diis_min_space + (int, default: + 1 +) + – +
    +

    Minimum number of amplitudes to use in DIIS extrapolation.

    +
    +
  • +
  • + damping + (float, default: + 0.0 +) + – +
    +

    Damping factor for DIIS extrapolation.

    +
    +
  • +
  • + shift + (bool, default: + True +) + – +
    +

    Shift the boson operators such that the Hamiltonian is normal-ordered with respect +to a coherent state. This removes the bosonic coupling to the static mean-field +density, introducing a constant energy shift.

    +
    +
  • +
+
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+ + + +

+ ebcc.cc.base.BaseEBCC(mf, log=None, ansatz='CCSD', options=None, space=None, omega=None, g=None, G=None, mo_coeff=None, mo_occ=None, fock=None, **kwargs) + +

+ + +
+

+ Bases: ABC

+ + +

Base class for electron-boson coupled cluster.

+ +

Initialise the EBCC object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + mf + (SCF) + – +
    +

    PySCF mean-field object.

    +
    +
  • +
  • + log + (Optional[Logger], default: + None +) + – +
    +

    Log to write output to. Default is the global logger, outputting to stderr.

    +
    +
  • +
  • + ansatz + (Optional[Union[Ansatz, str]], default: + 'CCSD' +) + – +
    +

    Overall ansatz.

    +
    +
  • +
  • + options + (Optional[BaseOptions], default: + None +) + – +
    +

    Options for the EBCC calculation.

    +
    +
  • +
  • + space + (Optional[SpaceType], default: + None +) + – +
    +

    Space containing the frozen, correlated, and active fermionic spaces. Default +assumes all electrons are correlated.

    +
    +
  • +
  • + omega + (Optional[NDArray[T]], default: + None +) + – +
    +

    Bosonic frequencies.

    +
    +
  • +
  • + g + (Optional[NDArray[T]], default: + None +) + – +
    +

    Electron-boson coupling matrix corresponding to the bosonic annihilation operator +:math:g_{bpq} p^\dagger q b. The creation part is assumed to be the fermionic +conjugate transpose to retain Hermiticity in the Hamiltonian.

    +
    +
  • +
  • + G + (Optional[NDArray[T]], default: + None +) + – +
    +

    Boson non-conserving term :math:G_{b} (b^\dagger + b).

    +
    +
  • +
  • + mo_coeff + (Optional[NDArray[T]], default: + None +) + – +
    +

    Molecular orbital coefficients. Default is the mean-field coefficients.

    +
    +
  • +
  • + mo_occ + (Optional[NDArray[T]], default: + None +) + – +
    +

    Molecular orbital occupation numbers. Default is the mean-field occupation.

    +
    +
  • +
  • + fock + (Optional[BaseFock], default: + None +) + – +
    +

    Fock matrix. Default is the mean-field Fock matrix.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments used to update options.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
def __init__(
+    self,
+    mf: SCF,
+    log: Optional[Logger] = None,
+    ansatz: Optional[Union[Ansatz, str]] = "CCSD",
+    options: Optional[BaseOptions] = None,
+    space: Optional[SpaceType] = None,
+    omega: Optional[NDArray[T]] = None,
+    g: Optional[NDArray[T]] = None,
+    G: Optional[NDArray[T]] = None,
+    mo_coeff: Optional[NDArray[T]] = None,
+    mo_occ: Optional[NDArray[T]] = None,
+    fock: Optional[BaseFock] = None,
+    **kwargs: Any,
+) -> None:
+    r"""Initialise the EBCC object.
+
+    Args:
+        mf: PySCF mean-field object.
+        log: Log to write output to. Default is the global logger, outputting to `stderr`.
+        ansatz: Overall ansatz.
+        options: Options for the EBCC calculation.
+        space: Space containing the frozen, correlated, and active fermionic spaces. Default
+            assumes all electrons are correlated.
+        omega: Bosonic frequencies.
+        g: Electron-boson coupling matrix corresponding to the bosonic annihilation operator
+            :math:`g_{bpq} p^\dagger q b`. The creation part is assumed to be the fermionic
+            conjugate transpose to retain Hermiticity in the Hamiltonian.
+        G: Boson non-conserving term :math:`G_{b} (b^\dagger + b)`.
+        mo_coeff: Molecular orbital coefficients. Default is the mean-field coefficients.
+        mo_occ: Molecular orbital occupation numbers. Default is the mean-field occupation.
+        fock: Fock matrix. Default is the mean-field Fock matrix.
+        **kwargs: Additional keyword arguments used to update `options`.
+    """
+    # Options:
+    if options is None:
+        options = self.Options()
+    self.options = options
+    for key, val in kwargs.items():
+        setattr(self.options, key, val)
+
+    # Parameters:
+    self.log = default_log if log is None else log
+    self.mf = self._convert_mf(mf)
+    self._mo_coeff: Optional[NDArray[T]] = (
+        np.asarray(mo_coeff, dtype=types[float]) if mo_coeff is not None else None
+    )
+    self._mo_occ: Optional[NDArray[T]] = (
+        np.asarray(mo_occ, dtype=types[float]) if mo_occ is not None else None
+    )
+
+    # Ansatz:
+    if isinstance(ansatz, Ansatz):
+        self.ansatz = ansatz
+    elif isinstance(ansatz, str):
+        self.ansatz = Ansatz.from_string(
+            ansatz, density_fitting=getattr(self.mf, "with_df", None) is not None
+        )
+    else:
+        raise TypeError("ansatz must be an Ansatz object or a string.")
+    self._eqns = self.ansatz._get_eqns(self.spin_type)
+
+    # Space:
+    if space is not None:
+        self.space = space
+    else:
+        self.space = self.init_space()
+
+    # Boson parameters:
+    if bool(self.fermion_coupling_rank) != bool(self.boson_coupling_rank):
+        raise ValueError(
+            "Fermionic and bosonic coupling ranks must both be zero, or both non-zero."
+        )
+    self.omega = np.asarray(omega, dtype=types[float]) if omega is not None else None
+    self.bare_g = np.asarray(g, dtype=types[float]) if g is not None else None
+    self.bare_G = np.asarray(G, dtype=types[float]) if G is not None else None
+    if self.boson_ansatz != "":
+        self.g = self.get_g()
+        self.G = self.get_mean_field_G()
+        if self.options.shift:
+            self.log.info(" > Energy shift due to polaritonic basis:  %.10f", self.const)
+    else:
+        assert self.nbos == 0
+        self.options.shift = False
+        self.g = None
+        self.G = None
+
+    # Fock matrix:
+    if fock is None:
+        self.fock = self.get_fock()
+    else:
+        self.fock = fock
+
+    # Attributes:
+    self.e_corr = 0.0
+    self.amplitudes = util.Namespace()
+    self.converged = False
+    self.lambdas = util.Namespace()
+    self.converged_lambda = False
+
+    # Logging:
+    init_logging(self.log)
+    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" > 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" > diis_min_space:  {ANSI.y}{self.options.diis_min_space}{ANSI.R}")
+    self.log.info(f" > damping:  {ANSI.y}{self.options.damping}{ANSI.R}")
+    self.log.debug("")
+    self.log.info(f"{ANSI.B}Ansatz{ANSI.R}: {ANSI.m}{self.ansatz}{ANSI.R}")
+    self.log.debug("")
+    self.log.info(f"{ANSI.B}Space{ANSI.R}: {ANSI.m}{self.space}{ANSI.R}")
+    self.log.debug("")
+
+
+ + + +
+ + + + + + + +
+ + + +

+ ebcc.cc.base.BaseEBCC.spin_type: str + + + abstractmethod + property + + +

+ + +
+ +

Get a string representation of the spin type.

+
+ +
+ +
+ + + +

+ ebcc.cc.base.BaseEBCC.name: str + + + property + + +

+ + +
+ +

Get the name of the method.

+
+ +
+ +
+ + + +

+ ebcc.cc.base.BaseEBCC.fermion_ansatz: str + + + property + + +

+ + +
+ +

Get a string representation of the fermion ansatz.

+
+ +
+ +
+ + + +

+ ebcc.cc.base.BaseEBCC.boson_ansatz: str + + + property + + +

+ + +
+ +

Get a string representation of the boson ansatz.

+
+ +
+ +
+ + + +

+ ebcc.cc.base.BaseEBCC.fermion_coupling_rank: int + + + property + + +

+ + +
+ +

Get an integer representation of the fermion coupling rank.

+
+ +
+ +
+ + + +

+ ebcc.cc.base.BaseEBCC.boson_coupling_rank: int + + + property + + +

+ + +
+ +

Get an integer representation of the boson coupling rank.

+
+ +
+ +
+ + + +

+ ebcc.cc.base.BaseEBCC.bare_fock: Any + + + abstractmethod + property + + +

+ + +
+ +

Get the mean-field Fock matrix in the MO basis, including frozen parts.

+

Returns an array and not a BaseFock object.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + Any + – +
    +

    Mean-field Fock matrix.

    +
    +
  • +
+
+ +
+ +
+ + + +

+ ebcc.cc.base.BaseEBCC.xi: NDArray[T] + + + abstractmethod + property + + +

+ + +
+ +

Get the shift in the bosonic operators to diagonalise the photon Hamiltonian.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Shift in the bosonic operators.

    +
    +
  • +
+
+ +
+ +
+ + + +

+ ebcc.cc.base.BaseEBCC.const: float + + + property + + +

+ + +
+ +

Get the shift in energy from moving to the polaritonic basis.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + float + – +
    +

    Constant energy shift due to the polaritonic basis.

    +
    +
  • +
+
+ +
+ +
+ + + +

+ ebcc.cc.base.BaseEBCC.mo_coeff: NDArray[T] + + + property + + +

+ + +
+ +

Get the molecular orbital coefficients.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Molecular orbital coefficients.

    +
    +
  • +
+
+ +
+ +
+ + + +

+ ebcc.cc.base.BaseEBCC.mo_occ: NDArray[T] + + + property + + +

+ + +
+ +

Get the molecular orbital occupation numbers.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Molecular orbital occupation numbers.

    +
    +
  • +
+
+ +
+ +
+ + + +

+ ebcc.cc.base.BaseEBCC.nmo: Any + + + abstractmethod + property + + +

+ + +
+ +

Get the number of molecular orbitals.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + Any + – +
    +

    Number of molecular orbitals.

    +
    +
  • +
+
+ +
+ +
+ + + +

+ ebcc.cc.base.BaseEBCC.nocc: Any + + + abstractmethod + property + + +

+ + +
+ +

Get the number of occupied molecular orbitals.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + Any + – +
    +

    Number of occupied molecular orbitals.

    +
    +
  • +
+
+ +
+ +
+ + + +

+ ebcc.cc.base.BaseEBCC.nvir: Any + + + abstractmethod + property + + +

+ + +
+ +

Get the number of virtual molecular orbitals.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + Any + – +
    +

    Number of virtual molecular orbitals.

    +
    +
  • +
+
+ +
+ +
+ + + +

+ ebcc.cc.base.BaseEBCC.nbos: int + + + property + + +

+ + +
+ +

Get the number of bosonic modes.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + int + – +
    +

    Number of bosonic modes.

    +
    +
  • +
+
+ +
+ +
+ + + +

+ ebcc.cc.base.BaseEBCC.e_tot: float + + + property + + +

+ + +
+ +

Get the total energy (mean-field plus correlation).

+ + + + + + + + + + + + + +
Returns: +
    +
  • + float + – +
    +

    Total energy.

    +
    +
  • +
+
+ +
+ +
+ + + +

+ ebcc.cc.base.BaseEBCC.t1: Any + + + property + + +

+ + +
+ +

Get the T1 amplitudes.

+
+ +
+ +
+ + + +

+ ebcc.cc.base.BaseEBCC.t2: Any + + + property + + +

+ + +
+ +

Get the T2 amplitudes.

+
+ +
+ +
+ + + +

+ ebcc.cc.base.BaseEBCC.t3: Any + + + property + + +

+ + +
+ +

Get the T3 amplitudes.

+
+ +
+ +
+ + + +

+ ebcc.cc.base.BaseEBCC.l1: Any + + + property + + +

+ + +
+ +

Get the L1 amplitudes.

+
+ +
+ +
+ + + +

+ ebcc.cc.base.BaseEBCC.l2: Any + + + property + + +

+ + +
+ +

Get the L2 amplitudes.

+
+ +
+ +
+ + + +

+ ebcc.cc.base.BaseEBCC.l3: Any + + + property + + +

+ + +
+ +

Get the L3 amplitudes.

+
+ +
+ + + +
+ + +

+ ebcc.cc.base.BaseEBCC.kernel(eris=None) + +

+ + +
+ +

Run the coupled cluster calculation.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + float + – +
    +

    Correlation energy.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
def kernel(self, eris: Optional[ERIsInputType] = None) -> float:
+    """Run the coupled cluster calculation.
+
+    Args:
+        eris: Electron repulsion integrals.
+
+    Returns:
+        Correlation energy.
+    """
+    timer = util.Timer()
+
+    # Get the ERIs:
+    eris = self.get_eris(eris)
+
+    # Get the amplitude guesses:
+    amplitudes = self.amplitudes
+    if not amplitudes:
+        amplitudes = self.init_amps(eris=eris)
+
+    # Get the initial energy:
+    e_cc = self.energy(amplitudes=amplitudes, eris=eris)
+
+    self.log.output("Solving for excitation amplitudes.")
+    self.log.debug("")
+    self.log.info(
+        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}")
+
+    if not self.ansatz.is_one_shot:
+        # Set up damping:
+        damping = self.Damping(options=self.options)
+
+        converged = False
+        for niter in range(1, self.options.max_iter + 1):
+            # Update the amplitudes, extrapolate with DIIS and calculate change:
+            amplitudes_prev = amplitudes
+            amplitudes = self.update_amps(amplitudes=amplitudes, eris=eris)
+            vector = self.amplitudes_to_vector(amplitudes)
+            vector = damping(vector)
+            amplitudes = self.vector_to_amplitudes(vector)
+            dt = np.linalg.norm(
+                np.abs(vector - self.amplitudes_to_vector(amplitudes_prev)), ord=np.inf
+            )
+
+            # Update the energy and calculate change:
+            e_prev = e_cc
+            e_cc = self.energy(amplitudes=amplitudes, eris=eris)
+            de = abs(e_prev - e_cc)
+
+            # Log the iteration:
+            converged_e = bool(de < self.options.e_tol)
+            converged_t = bool(dt < self.options.t_tol)
+            self.log.info(
+                f"{niter:4d} {e_cc:16.10f} {e_cc + self.mf.e_tot:18.10f}"
+                f" {[ANSI.r, ANSI.g][bool(converged_e)]}{de:13.3e}{ANSI.R}"
+                f" {[ANSI.r, ANSI.g][bool(converged_t)]}{dt:13.3e}{ANSI.R}"
+            )
+
+            # Check for convergence:
+            converged = converged_e and converged_t
+            if converged:
+                self.log.debug("")
+                self.log.output(f"{ANSI.g}Converged.{ANSI.R}")
+                break
+        else:
+            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(f"E(pert) = {e_pert:.10f}")
+
+    else:
+        converged = True
+
+    # Update attributes:
+    self.e_corr = e_cc
+    self.amplitudes = amplitudes
+    self.converged = converged
+
+    self.log.debug("")
+    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("")
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.solve_lambda(amplitudes=None, eris=None) + +

+ + +
+ +

Solve for the lambda amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
def solve_lambda(
+    self,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+    eris: Optional[ERIsInputType] = None,
+) -> None:
+    """Solve for the lambda amplitudes.
+
+    Args:
+        amplitudes: Cluster amplitudes.
+        eris: Electron repulsion integrals.
+    """
+    timer = util.Timer()
+
+    # Get the ERIs:
+    eris = self.get_eris(eris)
+
+    # Get the amplitudes:
+    amplitudes = self.amplitudes
+    if not amplitudes:
+        amplitudes = self.init_amps(eris=eris)
+
+    # If needed, get the perturbative part of the lambda amplitudes:
+    lambdas_pert = None
+    if self.ansatz.has_perturbative_correction:
+        lambdas_pert = self.update_lams(eris=eris, amplitudes=amplitudes, perturbative=True)
+
+    # Get the initial lambda amplitudes:
+    lambdas = self.lambdas
+    if not lambdas:
+        lambdas = self.init_lams(amplitudes=amplitudes)
+
+    self.log.output("Solving for de-excitation (lambda) amplitudes.")
+    self.log.debug("")
+    self.log.info(f"{ANSI.B}{'Iter':>4s} {'Δ(Ampl.)':>13s}{ANSI.R}")
+
+    # Set up damping:
+    damping = self.Damping(options=self.options)
+
+    converged = False
+    for niter in range(1, self.options.max_iter + 1):
+        # Update the lambda amplitudes, extrapolate with DIIS and calculate change:
+        lambdas_prev = lambdas
+        lambdas = self.update_lams(
+            amplitudes=amplitudes,
+            lambdas=lambdas,
+            lambdas_pert=lambdas_pert,
+            eris=eris,
+        )
+        vector = self.lambdas_to_vector(lambdas)
+        vector = damping(vector)
+        lambdas = self.vector_to_lambdas(vector)
+        dl = np.linalg.norm(np.abs(vector - self.lambdas_to_vector(lambdas_prev)), ord=np.inf)
+
+        # Log the iteration:
+        converged = bool(dl < self.options.t_tol)
+        self.log.info(f"{niter:4d} {[ANSI.r, ANSI.g][converged]}{dl:13.3e}{ANSI.R}")
+
+        # Check for convergence:
+        if converged:
+            self.log.debug("")
+            self.log.output(f"{ANSI.g}Converged.{ANSI.R}")
+            break
+    else:
+        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()))
+    self.log.debug("")
+    self.log.debug("")
+
+    # Update attributes:
+    self.lambdas = lambdas
+    self.converged_lambda = converged
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.ip_eom(**kwargs) + + + abstractmethod + + +

+ + +
+ +

Get the IP-EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Any + – +
    +

    IP-EOM object.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
@abstractmethod
+def ip_eom(self, **kwargs: Any) -> Any:
+    """Get the IP-EOM object.
+
+    Args:
+        **kwargs: Additional keyword arguments.
+
+    Returns:
+        IP-EOM object.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.ea_eom(**kwargs) + + + abstractmethod + + +

+ + +
+ +

Get the EA-EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Any + – +
    +

    EA-EOM object.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
@abstractmethod
+def ea_eom(self, **kwargs: Any) -> Any:
+    """Get the EA-EOM object.
+
+    Args:
+        **kwargs: Additional keyword arguments.
+
+    Returns:
+        EA-EOM object.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.ee_eom(**kwargs) + + + abstractmethod + + +

+ + +
+ +

Get the EE-EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Any + – +
    +

    EE-EOM object.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
@abstractmethod
+def ee_eom(self, **kwargs: Any) -> Any:
+    """Get the EE-EOM object.
+
+    Args:
+        **kwargs: Additional keyword arguments.
+
+    Returns:
+        EE-EOM object.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.brueckner(*args, **kwargs) + +

+ + +
+ +

Run a Brueckner orbital coupled cluster calculation.

+

The coupled cluster object will be update in-place.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + *args + (Any, default: + () +) + – +
    +

    Arguments to pass to the Brueckner object.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Keyword arguments to pass to the Brueckner object.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + float + – +
    +

    Correlation energy.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
def brueckner(self, *args: Any, **kwargs: Any) -> float:
+    """Run a Brueckner orbital coupled cluster calculation.
+
+    The coupled cluster object will be update in-place.
+
+    Args:
+        *args: Arguments to pass to the Brueckner object.
+        **kwargs: Keyword arguments to pass to the Brueckner object.
+
+    Returns:
+        Correlation energy.
+    """
+    bcc = self.Brueckner(self, *args, **kwargs)
+    return bcc.kernel()
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.write(file) + +

+ + +
+ +

Write the EBCC object to a file.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + file + (str) + – +
    +

    File to write the object to.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
443
+444
+445
+446
+447
+448
+449
+450
def write(self, file: str) -> None:
+    """Write the EBCC object to a file.
+
+    Args:
+        file: File to write the object to.
+    """
+    writer = Dump(file)
+    writer.write(self)
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.read(file, log=None) + + + classmethod + + +

+ + +
+ +

Read the EBCC object from a file.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + file + (str) + – +
    +

    File to read the object from.

    +
    +
  • +
  • + log + (Optional[Logger], default: + None +) + – +
    +

    Logger to use for new object.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + BaseEBCC + – +
    +

    EBCC object.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
@classmethod
+def read(cls, file: str, log: Optional[Logger] = None) -> BaseEBCC:
+    """Read the EBCC object from a file.
+
+    Args:
+        file: File to read the object from.
+        log: Logger to use for new object.
+
+    Returns:
+        EBCC object.
+    """
+    reader = Dump(file)
+    return reader.read(cls=cls, log=log)
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.init_amps(eris=None) + + + abstractmethod + + +

+ + +
+ +

Initialise the cluster amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: + +
+
+ Source code in ebcc/cc/base.py +
524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
@abstractmethod
+def init_amps(self, eris: Optional[ERIsInputType] = None) -> Namespace[SpinArrayType]:
+    """Initialise the cluster amplitudes.
+
+    Args:
+        eris: Electron repulsion integrals.
+
+    Returns:
+        Initial cluster amplitudes.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.init_lams(amplitudes=None) + + + abstractmethod + + +

+ + +
+ +

Initialise the cluster lambda amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: + +
+
+ Source code in ebcc/cc/base.py +
536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
@abstractmethod
+def init_lams(
+    self, amplitudes: Optional[Namespace[SpinArrayType]] = None
+) -> Namespace[SpinArrayType]:
+    """Initialise the cluster lambda amplitudes.
+
+    Args:
+        amplitudes: Cluster amplitudes.
+
+    Returns:
+        Initial cluster lambda amplitudes.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.energy(eris=None, amplitudes=None) + +

+ + +
+ +

Calculate the correlation energy.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + float + – +
    +

    Correlation energy.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
def energy(
+    self,
+    eris: Optional[ERIsInputType] = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+) -> float:
+    """Calculate the correlation energy.
+
+    Args:
+        eris: Electron repulsion integrals.
+        amplitudes: Cluster amplitudes.
+
+    Returns:
+        Correlation energy.
+    """
+    func, kwargs = self._load_function(
+        "energy",
+        eris=eris,
+        amplitudes=amplitudes,
+    )
+    res: float = ensure_scalar(func(**kwargs)).real
+    return astype(res, float)
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.energy_perturbative(eris=None, amplitudes=None, lambdas=None) + +

+ + +
+ +

Calculate the perturbative correction to the correlation energy.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
  • + lambdas + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + float + – +
    +

    Perturbative energy correction.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
def energy_perturbative(
+    self,
+    eris: Optional[ERIsInputType] = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+    lambdas: Optional[Namespace[SpinArrayType]] = None,
+) -> float:
+    """Calculate the perturbative correction to the correlation energy.
+
+    Args:
+        eris: Electron repulsion integrals.
+        amplitudes: Cluster amplitudes.
+        lambdas: Cluster lambda amplitudes.
+
+    Returns:
+        Perturbative energy correction.
+    """
+    func, kwargs = self._load_function(
+        "energy_perturbative",
+        eris=eris,
+        amplitudes=amplitudes,
+        lambdas=lambdas,
+    )
+    res: float = ensure_scalar(func(**kwargs)).real
+    return res
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.update_amps(eris=None, amplitudes=None) + + + abstractmethod + + +

+ + +
+ +

Update the cluster amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: + +
+
+ Source code in ebcc/cc/base.py +
619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
@abstractmethod
+def update_amps(
+    self,
+    eris: Optional[ERIsInputType] = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+) -> Namespace[SpinArrayType]:
+    """Update the cluster amplitudes.
+
+    Args:
+        eris: Electron repulsion integrals.
+        amplitudes: Cluster amplitudes.
+
+    Returns:
+        Updated cluster amplitudes.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.update_lams(eris=None, amplitudes=None, lambdas=None, lambdas_pert=None, perturbative=False) + + + abstractmethod + + +

+ + +
+ +

Update the cluster lambda amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (ERIsInputType, default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
  • + lambdas + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
  • + lambdas_pert + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Perturbative cluster lambda amplitudes.

    +
    +
  • +
  • + perturbative + (bool, default: + False +) + – +
    +

    Flag to include perturbative correction.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: + +
+
+ Source code in ebcc/cc/base.py +
636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
@abstractmethod
+def update_lams(
+    self,
+    eris: ERIsInputType = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+    lambdas: Optional[Namespace[SpinArrayType]] = None,
+    lambdas_pert: Optional[Namespace[SpinArrayType]] = None,
+    perturbative: bool = False,
+) -> Namespace[SpinArrayType]:
+    """Update the cluster lambda amplitudes.
+
+    Args:
+        eris: Electron repulsion integrals.
+        amplitudes: Cluster amplitudes.
+        lambdas: Cluster lambda amplitudes.
+        lambdas_pert: Perturbative cluster lambda amplitudes.
+        perturbative: Flag to include perturbative correction.
+
+    Returns:
+        Updated cluster lambda amplitudes.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.make_sing_b_dm(eris=None, amplitudes=None, lambdas=None) + +

+ + +
+ +

Make the single boson density matrix :math:\langle b \rangle.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
  • + lambdas + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Single boson density matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
def make_sing_b_dm(
+    self,
+    eris: Optional[ERIsInputType] = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+    lambdas: Optional[Namespace[SpinArrayType]] = None,
+) -> NDArray[T]:
+    r"""Make the single boson density matrix :math:`\langle b \rangle`.
+
+    Args:
+        eris: Electron repulsion integrals.
+        amplitudes: Cluster amplitudes.
+        lambdas: Cluster lambda amplitudes.
+
+    Returns:
+        Single boson density matrix.
+    """
+    func, kwargs = self._load_function(
+        "make_sing_b_dm",
+        eris=eris,
+        amplitudes=amplitudes,
+        lambdas=lambdas,
+    )
+    res: NDArray[T] = func(**kwargs)
+    return res
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.make_rdm1_b(eris=None, amplitudes=None, lambdas=None, unshifted=True, hermitise=True) + +

+ + +
+ +

Make the one-particle boson reduced density matrix :math:\langle b^+ c \rangle.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
  • + lambdas + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
  • + unshifted + (bool, default: + True +) + – +
    +

    If self.options.shift is True, return the unshifted density matrix. Has +no effect if self.options.shift is False.

    +
    +
  • +
  • + hermitise + (bool, default: + True +) + – +
    +

    Hermitise the density matrix.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    One-particle boson reduced density matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
def make_rdm1_b(
+    self,
+    eris: Optional[ERIsInputType] = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+    lambdas: Optional[Namespace[SpinArrayType]] = None,
+    unshifted: bool = True,
+    hermitise: bool = True,
+) -> NDArray[T]:
+    r"""Make the one-particle boson reduced density matrix :math:`\langle b^+ c \rangle`.
+
+    Args:
+        eris: Electron repulsion integrals.
+        amplitudes: Cluster amplitudes.
+        lambdas: Cluster lambda amplitudes.
+        unshifted: If `self.options.shift` is `True`, return the unshifted density matrix. Has
+            no effect if `self.options.shift` is `False`.
+        hermitise: Hermitise the density matrix.
+
+    Returns:
+        One-particle boson reduced density matrix.
+    """
+    func, kwargs = self._load_function(
+        "make_rdm1_b",
+        eris=eris,
+        amplitudes=amplitudes,
+        lambdas=lambdas,
+    )
+    dm: NDArray[T] = func(**kwargs)
+
+    if hermitise:
+        dm = (dm + np.transpose(dm)) * 0.5
+
+    if unshifted and self.options.shift:
+        xi = self.xi
+        dm_b = util.einsum("ni->i", self.make_sing_b_dm())
+        dm -= util.einsum("ij,i->ij", np.eye(dm.shape[0]), xi * dm_b - xi**2.0)
+
+    return dm
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.make_rdm1_f(eris=None, amplitudes=None, lambdas=None, hermitise=True) + + + abstractmethod + + +

+ + +
+ +

Make the one-particle fermionic reduced density matrix :math:\langle i^+ j \rangle.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
  • + lambdas + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
  • + hermitise + (bool, default: + True +) + – +
    +

    Hermitise the density matrix.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Any + – +
    +

    One-particle fermion reduced density matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
@abstractmethod
+def make_rdm1_f(
+    self,
+    eris: Optional[ERIsInputType] = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+    lambdas: Optional[Namespace[SpinArrayType]] = None,
+    hermitise: bool = True,
+) -> Any:
+    r"""Make the one-particle fermionic reduced density matrix :math:`\langle i^+ j \rangle`.
+
+    Args:
+        eris: Electron repulsion integrals.
+        amplitudes: Cluster amplitudes.
+        lambdas: Cluster lambda amplitudes.
+        hermitise: Hermitise the density matrix.
+
+    Returns:
+        One-particle fermion reduced density matrix.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.make_rdm2_f(eris=None, amplitudes=None, lambdas=None, hermitise=True) + + + abstractmethod + + +

+ + +
+ +

Make the two-particle fermionic reduced density matrix :math:\langle i^+j^+lk \rangle.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
  • + lambdas + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
  • + hermitise + (bool, default: + True +) + – +
    +

    Hermitise the density matrix.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Any + – +
    +

    Two-particle fermion reduced density matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
@abstractmethod
+def make_rdm2_f(
+    self,
+    eris: Optional[ERIsInputType] = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+    lambdas: Optional[Namespace[SpinArrayType]] = None,
+    hermitise: bool = True,
+) -> Any:
+    r"""Make the two-particle fermionic reduced density matrix :math:`\langle i^+j^+lk \rangle`.
+
+    Args:
+        eris: Electron repulsion integrals.
+        amplitudes: Cluster amplitudes.
+        lambdas: Cluster lambda amplitudes.
+        hermitise: Hermitise the density matrix.
+
+    Returns:
+        Two-particle fermion reduced density matrix.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.make_eb_coup_rdm(eris=None, amplitudes=None, lambdas=None, unshifted=True, hermitise=True) + + + abstractmethod + + +

+ + +
+ +

Make the electron-boson coupling reduced density matrix.

+

.. math:: + \langle b^+ i^+ j \rangle

+

and

+

.. math:: + \langle b i^+ j \rangle

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
  • + lambdas + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
  • + unshifted + (bool, default: + True +) + – +
    +

    If self.options.shift is True, return the unshifted density matrix. Has +no effect if self.options.shift is False.

    +
    +
  • +
  • + hermitise + (bool, default: + True +) + – +
    +

    Hermitise the density matrix.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Any + – +
    +

    Electron-boson coupling reduced density matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
@abstractmethod
+def make_eb_coup_rdm(
+    self,
+    eris: Optional[ERIsInputType] = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+    lambdas: Optional[Namespace[SpinArrayType]] = None,
+    unshifted: bool = True,
+    hermitise: bool = True,
+) -> Any:
+    r"""Make the electron-boson coupling reduced density matrix.
+
+    .. math::
+        \langle b^+ i^+ j \rangle
+
+    and
+
+    .. math::
+        \langle b i^+ j \rangle
+
+    Args:
+        eris: Electron repulsion integrals.
+        amplitudes: Cluster amplitudes.
+        lambdas: Cluster lambda amplitudes.
+        unshifted: If `self.options.shift` is `True`, return the unshifted density matrix. Has
+            no effect if `self.options.shift` is `False`.
+        hermitise: Hermitise the density matrix.
+
+    Returns:
+        Electron-boson coupling reduced density matrix.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.energy_sum(*args, signs_dict=None) + + + abstractmethod + + +

+ + +
+ +

Get a direct sum of energies.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + *args + (str, default: + () +) + – +
    +

    Energies to sum. Subclass should specify a subscript, and optionally spins.

    +
    +
  • +
  • + signs_dict + (Optional[dict[str, str]], default: + None +) + – +
    +

    Signs of the energies in the sum. Default sets ("o", "O", "i") to be +positive, and ("v", "V", "a", "b") to be negative.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Sum of energies.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
@abstractmethod
+def energy_sum(self, *args: str, signs_dict: Optional[dict[str, str]] = None) -> NDArray[T]:
+    """Get a direct sum of energies.
+
+    Args:
+        *args: Energies to sum. Subclass should specify a subscript, and optionally spins.
+        signs_dict: Signs of the energies in the sum. Default sets `("o", "O", "i")` to be
+            positive, and `("v", "V", "a", "b")` to be negative.
+
+    Returns:
+        Sum of energies.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.amplitudes_to_vector(amplitudes) + + + abstractmethod + + +

+ + +
+ +

Construct a vector containing all of the amplitudes used in the given ansatz.

+ + + + + + + + + + + + + +
Parameters: + +
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Cluster amplitudes as a vector.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
@abstractmethod
+def amplitudes_to_vector(self, amplitudes: Namespace[SpinArrayType]) -> NDArray[T]:
+    """Construct a vector containing all of the amplitudes used in the given ansatz.
+
+    Args:
+        amplitudes: Cluster amplitudes.
+
+    Returns:
+        Cluster amplitudes as a vector.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.vector_to_amplitudes(vector) + + + abstractmethod + + +

+ + +
+ +

Construct a namespace of amplitudes from a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + vector + (NDArray[T]) + – +
    +

    Cluster amplitudes as a vector.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: + +
+
+ Source code in ebcc/cc/base.py +
823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
@abstractmethod
+def vector_to_amplitudes(self, vector: NDArray[T]) -> Namespace[SpinArrayType]:
+    """Construct a namespace of amplitudes from a vector.
+
+    Args:
+        vector: Cluster amplitudes as a vector.
+
+    Returns:
+        Cluster amplitudes.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.lambdas_to_vector(lambdas) + + + abstractmethod + + +

+ + +
+ +

Construct a vector containing all of the lambda amplitudes used in the given ansatz.

+ + + + + + + + + + + + + +
Parameters: + +
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Cluster lambda amplitudes as a vector.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+845
@abstractmethod
+def lambdas_to_vector(self, lambdas: Namespace[SpinArrayType]) -> NDArray[T]:
+    """Construct a vector containing all of the lambda amplitudes used in the given ansatz.
+
+    Args:
+        lambdas: Cluster lambda amplitudes.
+
+    Returns:
+        Cluster lambda amplitudes as a vector.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.vector_to_lambdas(vector) + + + abstractmethod + + +

+ + +
+ +

Construct a namespace of lambda amplitudes from a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + vector + (NDArray[T]) + – +
    +

    Cluster lambda amplitudes as a vector.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: + +
+
+ Source code in ebcc/cc/base.py +
847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
@abstractmethod
+def vector_to_lambdas(self, vector: NDArray[T]) -> Namespace[SpinArrayType]:
+    """Construct a namespace of lambda amplitudes from a vector.
+
+    Args:
+        vector: Cluster lambda amplitudes as a vector.
+
+    Returns:
+        Cluster lambda amplitudes.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.init_space() + + + abstractmethod + + +

+ + +
+ +

Initialise the fermionic space.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + SpaceType + – +
    +

    Fermionic space. All fermionic degrees of freedom are assumed to be correlated.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
879
+880
+881
+882
+883
+884
+885
+886
@abstractmethod
+def init_space(self) -> SpaceType:
+    """Initialise the fermionic space.
+
+    Returns:
+        Fermionic space. All fermionic degrees of freedom are assumed to be correlated.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.get_fock() + + + abstractmethod + + +

+ + +
+ +

Get the Fock matrix.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + BaseFock + – +
    +

    Fock matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
888
+889
+890
+891
+892
+893
+894
+895
@abstractmethod
+def get_fock(self) -> BaseFock:
+    """Get the Fock matrix.
+
+    Returns:
+        Fock matrix.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.get_eris(eris=None) + + + abstractmethod + + +

+ + +
+ +

Get the electron repulsion integrals.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Input electron repulsion integrals.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + BaseERIs + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
897
+898
+899
+900
+901
+902
+903
+904
+905
+906
+907
@abstractmethod
+def get_eris(self, eris: Optional[ERIsInputType] = None) -> BaseERIs:
+    """Get the electron repulsion integrals.
+
+    Args:
+        eris: Input electron repulsion integrals.
+
+    Returns:
+        Electron repulsion integrals.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.get_g() + +

+ + +
+ +

Get the blocks of the electron-boson coupling matrix.

+

This matrix corresponds to the bosonic annihilation operator.

+ + + + + + + + + + + + + +
Returns: + +
+
+ Source code in ebcc/cc/base.py +
909
+910
+911
+912
+913
+914
+915
+916
+917
def get_g(self) -> BaseElectronBoson:
+    """Get the blocks of the electron-boson coupling matrix.
+
+    This matrix corresponds to the bosonic annihilation operator.
+
+    Returns:
+        Electron-boson coupling matrix.
+    """
+    return self.ElectronBoson(self, array=self.bare_g)
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.base.BaseEBCC.get_mean_field_G() + + + abstractmethod + + +

+ + +
+ +

Get the mean-field boson non-conserving term.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + Any + – +
    +

    Mean-field boson non-conserving term.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
919
+920
+921
+922
+923
+924
+925
+926
@abstractmethod
+def get_mean_field_G(self) -> Any:
+    """Get the mean-field boson non-conserving term.
+
+    Returns:
+        Mean-field boson non-conserving term.
+    """
+    pass
+
+
+
+ +
+ + + +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/reference/cc/gebcc/index.html b/reference/cc/gebcc/index.html new file mode 100644 index 00000000..900c036f --- /dev/null +++ b/reference/cc/gebcc/index.html @@ -0,0 +1,3954 @@ + + + + + + + + Generalised - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Generalised electron-boson coupled cluster.

+ + + +
+ + + + + + + + +
+ + + +

+ ebcc.cc.gebcc.GEBCC(mf, log=None, ansatz='CCSD', options=None, space=None, omega=None, g=None, G=None, mo_coeff=None, mo_occ=None, fock=None, **kwargs) + +

+ + +
+

+ Bases: BaseEBCC

+ + +

Restricted electron-boson coupled cluster.

+ +

Initialise the EBCC object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + mf + (SCF) + – +
    +

    PySCF mean-field object.

    +
    +
  • +
  • + log + (Optional[Logger], default: + None +) + – +
    +

    Log to write output to. Default is the global logger, outputting to stderr.

    +
    +
  • +
  • + ansatz + (Optional[Union[Ansatz, str]], default: + 'CCSD' +) + – +
    +

    Overall ansatz.

    +
    +
  • +
  • + options + (Optional[BaseOptions], default: + None +) + – +
    +

    Options for the EBCC calculation.

    +
    +
  • +
  • + space + (Optional[SpaceType], default: + None +) + – +
    +

    Space containing the frozen, correlated, and active fermionic spaces. Default +assumes all electrons are correlated.

    +
    +
  • +
  • + omega + (Optional[NDArray[T]], default: + None +) + – +
    +

    Bosonic frequencies.

    +
    +
  • +
  • + g + (Optional[NDArray[T]], default: + None +) + – +
    +

    Electron-boson coupling matrix corresponding to the bosonic annihilation operator +:math:g_{bpq} p^\dagger q b. The creation part is assumed to be the fermionic +conjugate transpose to retain Hermiticity in the Hamiltonian.

    +
    +
  • +
  • + G + (Optional[NDArray[T]], default: + None +) + – +
    +

    Boson non-conserving term :math:G_{b} (b^\dagger + b).

    +
    +
  • +
  • + mo_coeff + (Optional[NDArray[T]], default: + None +) + – +
    +

    Molecular orbital coefficients. Default is the mean-field coefficients.

    +
    +
  • +
  • + mo_occ + (Optional[NDArray[T]], default: + None +) + – +
    +

    Molecular orbital occupation numbers. Default is the mean-field occupation.

    +
    +
  • +
  • + fock + (Optional[BaseFock], default: + None +) + – +
    +

    Fock matrix. Default is the mean-field Fock matrix.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments used to update options.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
def __init__(
+    self,
+    mf: SCF,
+    log: Optional[Logger] = None,
+    ansatz: Optional[Union[Ansatz, str]] = "CCSD",
+    options: Optional[BaseOptions] = None,
+    space: Optional[SpaceType] = None,
+    omega: Optional[NDArray[T]] = None,
+    g: Optional[NDArray[T]] = None,
+    G: Optional[NDArray[T]] = None,
+    mo_coeff: Optional[NDArray[T]] = None,
+    mo_occ: Optional[NDArray[T]] = None,
+    fock: Optional[BaseFock] = None,
+    **kwargs: Any,
+) -> None:
+    r"""Initialise the EBCC object.
+
+    Args:
+        mf: PySCF mean-field object.
+        log: Log to write output to. Default is the global logger, outputting to `stderr`.
+        ansatz: Overall ansatz.
+        options: Options for the EBCC calculation.
+        space: Space containing the frozen, correlated, and active fermionic spaces. Default
+            assumes all electrons are correlated.
+        omega: Bosonic frequencies.
+        g: Electron-boson coupling matrix corresponding to the bosonic annihilation operator
+            :math:`g_{bpq} p^\dagger q b`. The creation part is assumed to be the fermionic
+            conjugate transpose to retain Hermiticity in the Hamiltonian.
+        G: Boson non-conserving term :math:`G_{b} (b^\dagger + b)`.
+        mo_coeff: Molecular orbital coefficients. Default is the mean-field coefficients.
+        mo_occ: Molecular orbital occupation numbers. Default is the mean-field occupation.
+        fock: Fock matrix. Default is the mean-field Fock matrix.
+        **kwargs: Additional keyword arguments used to update `options`.
+    """
+    # Options:
+    if options is None:
+        options = self.Options()
+    self.options = options
+    for key, val in kwargs.items():
+        setattr(self.options, key, val)
+
+    # Parameters:
+    self.log = default_log if log is None else log
+    self.mf = self._convert_mf(mf)
+    self._mo_coeff: Optional[NDArray[T]] = (
+        np.asarray(mo_coeff, dtype=types[float]) if mo_coeff is not None else None
+    )
+    self._mo_occ: Optional[NDArray[T]] = (
+        np.asarray(mo_occ, dtype=types[float]) if mo_occ is not None else None
+    )
+
+    # Ansatz:
+    if isinstance(ansatz, Ansatz):
+        self.ansatz = ansatz
+    elif isinstance(ansatz, str):
+        self.ansatz = Ansatz.from_string(
+            ansatz, density_fitting=getattr(self.mf, "with_df", None) is not None
+        )
+    else:
+        raise TypeError("ansatz must be an Ansatz object or a string.")
+    self._eqns = self.ansatz._get_eqns(self.spin_type)
+
+    # Space:
+    if space is not None:
+        self.space = space
+    else:
+        self.space = self.init_space()
+
+    # Boson parameters:
+    if bool(self.fermion_coupling_rank) != bool(self.boson_coupling_rank):
+        raise ValueError(
+            "Fermionic and bosonic coupling ranks must both be zero, or both non-zero."
+        )
+    self.omega = np.asarray(omega, dtype=types[float]) if omega is not None else None
+    self.bare_g = np.asarray(g, dtype=types[float]) if g is not None else None
+    self.bare_G = np.asarray(G, dtype=types[float]) if G is not None else None
+    if self.boson_ansatz != "":
+        self.g = self.get_g()
+        self.G = self.get_mean_field_G()
+        if self.options.shift:
+            self.log.info(" > Energy shift due to polaritonic basis:  %.10f", self.const)
+    else:
+        assert self.nbos == 0
+        self.options.shift = False
+        self.g = None
+        self.G = None
+
+    # Fock matrix:
+    if fock is None:
+        self.fock = self.get_fock()
+    else:
+        self.fock = fock
+
+    # Attributes:
+    self.e_corr = 0.0
+    self.amplitudes = util.Namespace()
+    self.converged = False
+    self.lambdas = util.Namespace()
+    self.converged_lambda = False
+
+    # Logging:
+    init_logging(self.log)
+    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" > 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" > diis_min_space:  {ANSI.y}{self.options.diis_min_space}{ANSI.R}")
+    self.log.info(f" > damping:  {ANSI.y}{self.options.damping}{ANSI.R}")
+    self.log.debug("")
+    self.log.info(f"{ANSI.B}Ansatz{ANSI.R}: {ANSI.m}{self.ansatz}{ANSI.R}")
+    self.log.debug("")
+    self.log.info(f"{ANSI.B}Space{ANSI.R}: {ANSI.m}{self.space}{ANSI.R}")
+    self.log.debug("")
+
+
+ + + +
+ + + + + + + +
+ + + +

+ ebcc.cc.gebcc.GEBCC.spin_type: str + + + property + + +

+ + +
+ +

Get a string representation of the spin type.

+
+ +
+ +
+ + + +

+ ebcc.cc.gebcc.GEBCC.bare_fock: NDArray[T] + + + property + + +

+ + +
+ +

Get the mean-field Fock matrix in the MO basis, including frozen parts.

+

Returns an array and not a BaseFock object.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Mean-field Fock matrix.

    +
    +
  • +
+
+ +
+ +
+ + + +

+ ebcc.cc.gebcc.GEBCC.xi: NDArray[T] + + + property + + +

+ + +
+ +

Get the shift in the bosonic operators to diagonalise the photon Hamiltonian.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Shift in the bosonic operators.

    +
    +
  • +
+
+ +
+ +
+ + + +

+ ebcc.cc.gebcc.GEBCC.nmo: int + + + property + + +

+ + +
+ +

Get the number of molecular orbitals.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + int + – +
    +

    Number of molecular orbitals.

    +
    +
  • +
+
+ +
+ +
+ + + +

+ ebcc.cc.gebcc.GEBCC.nocc: int + + + property + + +

+ + +
+ +

Get the number of occupied molecular orbitals.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + int + – +
    +

    Number of occupied molecular orbitals.

    +
    +
  • +
+
+ +
+ +
+ + + +

+ ebcc.cc.gebcc.GEBCC.nvir: int + + + property + + +

+ + +
+ +

Get the number of virtual molecular orbitals.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + int + – +
    +

    Number of virtual molecular orbitals.

    +
    +
  • +
+
+ +
+ + + +
+ + +

+ ebcc.cc.gebcc.GEBCC.ip_eom(**kwargs) + +

+ + +
+ +

Get the IP-EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + IP_GEOM + – +
    +

    IP-EOM object.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/gebcc.py +
60
+61
+62
+63
+64
+65
+66
+67
+68
+69
def ip_eom(self, **kwargs: Any) -> IP_GEOM:
+    """Get the IP-EOM object.
+
+    Args:
+        **kwargs: Additional keyword arguments.
+
+    Returns:
+        IP-EOM object.
+    """
+    return IP_GEOM(self, **kwargs)
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.gebcc.GEBCC.ea_eom(**kwargs) + +

+ + +
+ +

Get the EA-EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + EA_GEOM + – +
    +

    EA-EOM object.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/gebcc.py +
71
+72
+73
+74
+75
+76
+77
+78
+79
+80
def ea_eom(self, **kwargs: Any) -> EA_GEOM:
+    """Get the EA-EOM object.
+
+    Args:
+        **kwargs: Additional keyword arguments.
+
+    Returns:
+        EA-EOM object.
+    """
+    return EA_GEOM(self, **kwargs)
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.gebcc.GEBCC.ee_eom(**kwargs) + +

+ + +
+ +

Get the EE-EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + EE_GEOM + – +
    +

    EE-EOM object.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/gebcc.py +
82
+83
+84
+85
+86
+87
+88
+89
+90
+91
def ee_eom(self, **kwargs: Any) -> EE_GEOM:
+    """Get the EE-EOM object.
+
+    Args:
+        **kwargs: Additional keyword arguments.
+
+    Returns:
+        EE-EOM object.
+    """
+    return EE_GEOM(self, **kwargs)
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.gebcc.GEBCC.from_uebcc(ucc) + + + classmethod + + +

+ + +
+ +

Initialise a GEBCC object from an UEBCC object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + ucc + (UEBCC) + – +
    +

    Unrestricted electron-boson coupled cluster object.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + GEBCC + – +
    +

    GEBCC object.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/gebcc.py +
107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
@classmethod
+def from_uebcc(cls, ucc: UEBCC) -> GEBCC:
+    """Initialise a `GEBCC` object from an `UEBCC` object.
+
+    Args:
+        ucc: Unrestricted electron-boson coupled cluster object.
+
+    Returns:
+        GEBCC object.
+    """
+    orbspin = np.asarray(scf.addons.get_ghf_orbspin(ucc.mf.mo_energy, ucc.mf.mo_occ, False))
+    nocc = ucc.space[0].nocc + ucc.space[1].nocc
+    nvir = ucc.space[0].nvir + ucc.space[1].nvir
+    nbos = ucc.nbos
+    sa = np.where(orbspin == 0)[0]
+    sb = np.where(orbspin == 1)[0]
+
+    occupied = np.zeros((nocc + nvir,), dtype=np.bool_)
+    occupied = _put(occupied, sa, np.copy(ucc.space[0]._occupied))
+    occupied = _put(occupied, sb, np.copy(ucc.space[1]._occupied))
+    frozen = np.zeros((nocc + nvir,), dtype=np.bool_)
+    frozen = _put(frozen, sa, np.copy(ucc.space[0]._frozen))
+    frozen = _put(frozen, sb, np.copy(ucc.space[1]._frozen))
+    active = np.zeros((nocc + nvir,), dtype=np.bool_)
+    active = _put(active, sa, np.copy(ucc.space[0]._active))
+    active = _put(active, sb, np.copy(ucc.space[1]._active))
+    space = Space(occupied, frozen, active)
+
+    slices = util.Namespace(
+        a=util.Namespace(**{k: np.where(orbspin[space.mask(k)] == 0)[0] for k in "oOivVa"}),
+        b=util.Namespace(**{k: np.where(orbspin[space.mask(k)] == 1)[0] for k in "oOivVa"}),
+    )
+
+    g: Optional[NDArray[T]] = None
+    if ucc.bare_g is not None:
+        if ucc.bare_g.ndim == 3:
+            bare_g_a = bare_g_b = ucc.bare_g
+        else:
+            bare_g_a, bare_g_b = ucc.bare_g
+        g = np.zeros((ucc.nbos, ucc.nmo * 2, ucc.nmo * 2), dtype=types[float])
+        g = _put(g, np.ix_(np.arange(ucc.nbos), sa, sa), np.copy(bare_g_a))
+        g = _put(g, np.ix_(np.arange(ucc.nbos), sb, sb), np.copy(bare_g_b))
+
+    gcc = cls(
+        ucc.mf,
+        log=ucc.log,
+        ansatz=ucc.ansatz,
+        space=space,
+        omega=ucc.omega,
+        g=g,
+        G=ucc.bare_G,
+        options=ucc.options,
+    )
+
+    gcc.e_corr = ucc.e_corr
+    gcc.converged = ucc.converged
+    gcc.converged_lambda = ucc.converged_lambda
+
+    has_amps = bool(ucc.amplitudes)
+    has_lams = bool(ucc.lambdas)
+
+    if has_amps:
+        amplitudes: Namespace[SpinArrayType] = util.Namespace()
+
+        for name, key, n in ucc.ansatz.fermionic_cluster_ranks(spin_type=ucc.spin_type):
+            shape = tuple(space.size(k) for k in key)
+            amplitudes[name] = np.zeros(shape, dtype=types[float])
+            for comb in util.generate_spin_combinations(n, unique=True):
+                done = set()
+                for lperm, lsign in util.permutations_with_signs(tuple(range(n))):
+                    for uperm, usign in util.permutations_with_signs(tuple(range(n))):
+                        combn = util.permute_string(comb[:n], lperm)
+                        combn += util.permute_string(comb[n:], uperm)
+                        if combn in done:
+                            continue
+                        mask = np.ix_(*[slices[s][k] for s, k in zip(combn, key)])
+                        transpose = tuple(lperm) + tuple(p + n for p in uperm)
+                        amp = (
+                            np.transpose(getattr(ucc.amplitudes[name], comb), transpose)
+                            * lsign
+                            * usign
+                        )
+                        for perm, sign in util.permutations_with_signs(tuple(range(n))):
+                            transpose = tuple(perm) + tuple(range(n, 2 * n))
+                            if util.permute_string(comb[:n], perm) == comb[:n]:
+                                amplitudes[name] = _put(
+                                    amplitudes[name],
+                                    mask,
+                                    amplitudes[name][mask]
+                                    + np.transpose(amp, transpose) * sign,
+                                )
+                        done.add(combn)
+
+        for name, key, n in ucc.ansatz.bosonic_cluster_ranks(spin_type=ucc.spin_type):
+            amplitudes[name] = np.copy(ucc.amplitudes[name])  # type: ignore
+
+        for name, key, nf, nb in ucc.ansatz.coupling_cluster_ranks(spin_type=ucc.spin_type):
+            shape = (nbos,) * nb + tuple(space.size(k) for k in key[nb:])
+            amplitudes[name] = np.zeros(shape, dtype=types[float])
+            for comb in util.generate_spin_combinations(nf):
+                done = set()
+                for lperm, lsign in util.permutations_with_signs(tuple(range(nf))):
+                    for uperm, usign in util.permutations_with_signs(tuple(range(nf))):
+                        combn = util.permute_string(comb[:nf], lperm)
+                        combn += util.permute_string(comb[nf:], uperm)
+                        if combn in done:
+                            continue
+                        mask = np.ix_(
+                            *([np.arange(nbos)] * nb),
+                            *[slices[s][k] for s, k in zip(combn, key[nb:])],
+                        )
+                        transpose = (
+                            tuple(range(nb))
+                            + tuple(p + nb for p in lperm)
+                            + tuple(p + nb + nf for p in uperm)
+                        )
+                        amp = (
+                            np.transpose(getattr(ucc.amplitudes[name], comb), transpose)
+                            * lsign
+                            * usign
+                        )
+                        for perm, sign in util.permutations_with_signs(tuple(range(nf))):
+                            transpose = (
+                                tuple(range(nb))
+                                + tuple(p + nb for p in perm)
+                                + tuple(range(nb + nf, nb + 2 * nf))
+                            )
+                            if util.permute_string(comb[:nf], perm) == comb[:nf]:
+                                amplitudes[name] = _put(
+                                    amplitudes[name],
+                                    mask,
+                                    amplitudes[name][mask]
+                                    + np.transpose(amp, transpose) * sign,
+                                )
+                        done.add(combn)
+
+        gcc.amplitudes = amplitudes
+
+    if has_lams:
+        lambdas = gcc.init_lams()  # Easier this way - but have to build ERIs...
+
+        for name, key, n in ucc.ansatz.fermionic_cluster_ranks(spin_type=ucc.spin_type):
+            lname = name.replace("t", "l")
+            shape = tuple(space.size(k) for k in key[n:] + key[:n])
+            lambdas[lname] = np.zeros(shape, dtype=types[float])
+            for comb in util.generate_spin_combinations(n, unique=True):
+                done = set()
+                for lperm, lsign in util.permutations_with_signs(tuple(range(n))):
+                    for uperm, usign in util.permutations_with_signs(tuple(range(n))):
+                        combn = util.permute_string(comb[:n], lperm)
+                        combn += util.permute_string(comb[n:], uperm)
+                        if combn in done:
+                            continue
+                        mask = np.ix_(*[slices[s][k] for s, k in zip(combn, key[n:] + key[:n])])
+                        transpose = tuple(lperm) + tuple(p + n for p in uperm)
+                        amp = (
+                            np.transpose(getattr(ucc.lambdas[lname], comb), transpose)
+                            * lsign
+                            * usign
+                        )
+                        for perm, sign in util.permutations_with_signs(tuple(range(n))):
+                            transpose = tuple(perm) + tuple(range(n, 2 * n))
+                            if util.permute_string(comb[:n], perm) == comb[:n]:
+                                lambdas[lname] = _put(
+                                    lambdas[lname],
+                                    mask,
+                                    lambdas[lname][mask] + np.transpose(amp, transpose) * sign,
+                                )
+                        done.add(combn)
+
+        for name, key, n in ucc.ansatz.bosonic_cluster_ranks(spin_type=ucc.spin_type):
+            lname = "l" + name
+            lambdas[lname] = np.copy(ucc.lambdas[lname])  # type: ignore
+
+        for name, key, nf, nb in ucc.ansatz.coupling_cluster_ranks(spin_type=ucc.spin_type):
+            lname = "l" + name
+            shape = (nbos,) * nb + tuple(
+                space.size(k) for k in key[nb + nf :] + key[nb : nb + nf]
+            )
+            lambdas[lname] = np.zeros(shape, dtype=types[float])
+            for comb in util.generate_spin_combinations(nf, unique=True):
+                done = set()
+                for lperm, lsign in util.permutations_with_signs(tuple(range(nf))):
+                    for uperm, usign in util.permutations_with_signs(tuple(range(nf))):
+                        combn = util.permute_string(comb[:nf], lperm)
+                        combn += util.permute_string(comb[nf:], uperm)
+                        if combn in done:
+                            continue
+                        mask = np.ix_(
+                            *([np.arange(nbos)] * nb),
+                            *[
+                                slices[s][k]
+                                for s, k in zip(combn, key[nb + nf :] + key[nb : nb + nf])
+                            ],
+                        )
+                        transpose = (
+                            tuple(range(nb))
+                            + tuple(p + nb for p in lperm)
+                            + tuple(p + nb + nf for p in uperm)
+                        )
+                        amp = (
+                            np.transpose(getattr(ucc.lambdas[lname], comb), transpose)
+                            * lsign
+                            * usign
+                        )
+                        for perm, sign in util.permutations_with_signs(tuple(range(nf))):
+                            transpose = (
+                                tuple(range(nb))
+                                + tuple(p + nb for p in perm)
+                                + tuple(range(nb + nf, nb + 2 * nf))
+                            )
+                            if util.permute_string(comb[:nf], perm) == comb[:nf]:
+                                lambdas[lname] = _put(
+                                    lambdas[lname],
+                                    mask,
+                                    lambdas[lname][mask] + np.transpose(amp, transpose) * sign,
+                                )
+                        done.add(combn)
+
+        gcc.lambdas = lambdas
+
+    return gcc
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.gebcc.GEBCC.from_rebcc(rcc) + + + classmethod + + +

+ + +
+ +

Initialise a GEBCC object from an REBCC object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + rcc + (REBCC) + – +
    +

    Restricted electron-boson coupled cluster object.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + GEBCC + – +
    +

    GEBCC object.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/gebcc.py +
330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
@classmethod
+def from_rebcc(cls, rcc: REBCC) -> GEBCC:
+    """Initialise a `GEBCC` object from an `REBCC` object.
+
+    Args:
+        rcc: Restricted electron-boson coupled cluster object.
+
+    Returns:
+        GEBCC object.
+    """
+    from ebcc.cc.uebcc import UEBCC
+
+    ucc = UEBCC.from_rebcc(rcc)
+    gcc = cls.from_uebcc(ucc)
+    return gcc
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.gebcc.GEBCC.init_space() + +

+ + +
+ +

Initialise the fermionic space.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + SpaceType + – +
    +

    Fermionic space. All fermionic degrees of freedom are assumed to be correlated.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/gebcc.py +
346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
def init_space(self) -> SpaceType:
+    """Initialise the fermionic space.
+
+    Returns:
+        Fermionic space. All fermionic degrees of freedom are assumed to be correlated.
+    """
+    space = Space(
+        self.mo_occ > 0,
+        np.zeros(self.mo_occ.shape, dtype=np.bool_),
+        np.zeros(self.mo_occ.shape, dtype=np.bool_),
+    )
+    return space
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.gebcc.GEBCC.init_amps(eris=None) + +

+ + +
+ +

Initialise the cluster amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    Initial cluster amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/gebcc.py +
381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
def init_amps(self, eris: Optional[ERIsInputType] = None) -> Namespace[SpinArrayType]:
+    """Initialise the cluster amplitudes.
+
+    Args:
+        eris: Electron repulsion integrals.
+
+    Returns:
+        Initial cluster amplitudes.
+    """
+    eris = self.get_eris(eris)
+    amplitudes: Namespace[SpinArrayType] = util.Namespace()
+
+    # Build T amplitudes:
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(spin_type=self.spin_type):
+        if n == 1:
+            amplitudes[name] = getattr(self.fock, key) / self.energy_sum(key)
+        elif n == 2:
+            amplitudes[name] = getattr(eris, key) / self.energy_sum(key)
+        else:
+            shape = tuple(self.space.size(k) for k in key)
+            amplitudes[name] = np.zeros(shape, dtype=types[float])
+
+    # Build S amplitudes:
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type):
+        if self.omega is None or self.G is None:
+            raise ValueError("Bosonic parameters not set.")
+        if n == 1:
+            amplitudes[name] = -self.G / self.omega
+        else:
+            shape = (self.nbos,) * n
+            amplitudes[name] = np.zeros(shape, dtype=types[float])
+
+    # Build U amplitudes:
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(spin_type=self.spin_type):
+        if self.omega is None or self.g is None:
+            raise ValueError("Bosonic parameters not set.")
+        if nf != 1:
+            raise util.ModelNotImplemented
+        if n == 1:
+            amplitudes[name] = self.g[key] / self.energy_sum(key)
+        else:
+            shape = (self.nbos,) * nb + tuple(self.space.size(k) for k in key[nb:])
+            amplitudes[name] = np.zeros(shape, dtype=types[float])
+
+    return amplitudes
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.gebcc.GEBCC.init_lams(amplitudes=None) + +

+ + +
+ +

Initialise the cluster lambda amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    Initial cluster lambda amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/gebcc.py +
427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
def init_lams(
+    self, amplitudes: Optional[Namespace[SpinArrayType]] = None
+) -> Namespace[SpinArrayType]:
+    """Initialise the cluster lambda amplitudes.
+
+    Args:
+        amplitudes: Cluster amplitudes.
+
+    Returns:
+        Initial cluster lambda amplitudes.
+    """
+    if not amplitudes:
+        amplitudes = self.amplitudes
+    lambdas: Namespace[SpinArrayType] = util.Namespace()
+
+    # Build L amplitudes:
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(spin_type=self.spin_type):
+        lname = name.replace("t", "l")
+        perm = list(range(n, 2 * n)) + list(range(n))
+        lambdas[lname] = np.transpose(amplitudes[name], perm)
+
+    # Build LS amplitudes:
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type):
+        lname = "l" + name
+        lambdas[lname] = amplitudes[name]
+
+    # Build LU amplitudes:
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(spin_type=self.spin_type):
+        if nf != 1:
+            raise util.ModelNotImplemented
+        lname = "l" + name
+        perm = list(range(nb)) + [nb + 1, nb]
+        lambdas[lname] = np.transpose(amplitudes[name], perm)
+
+    return lambdas
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.gebcc.GEBCC.update_amps(eris=None, amplitudes=None) + +

+ + +
+ +

Update the cluster amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    Updated cluster amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/gebcc.py +
463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
def update_amps(
+    self,
+    eris: Optional[ERIsInputType] = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+) -> Namespace[SpinArrayType]:
+    """Update the cluster amplitudes.
+
+    Args:
+        eris: Electron repulsion integrals.
+        amplitudes: Cluster amplitudes.
+
+    Returns:
+        Updated cluster amplitudes.
+    """
+    amplitudes = self._get_amps(amplitudes=amplitudes)
+    func, kwargs = self._load_function(
+        "update_amps",
+        eris=eris,
+        amplitudes=amplitudes,
+    )
+    res: Namespace[SpinArrayType] = func(**kwargs)
+    res = util.Namespace(**{key.rstrip("new"): val for key, val in res.items()})
+
+    # Divide T amplitudes:
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(spin_type=self.spin_type):
+        res[name] /= self.energy_sum(key)
+        res[name] += amplitudes[name]
+
+    # Divide S amplitudes:
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type):
+        res[name] /= self.energy_sum(key)
+        res[name] += amplitudes[name]
+
+    # Divide U amplitudes:
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(spin_type=self.spin_type):
+        if nf != 1:
+            raise util.ModelNotImplemented
+        res[name] /= self.energy_sum(key)
+        res[name] += amplitudes[name]
+
+    return res
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.gebcc.GEBCC.update_lams(eris=None, amplitudes=None, lambdas=None, lambdas_pert=None, perturbative=False) + +

+ + +
+ +

Update the cluster lambda amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
  • + lambdas + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
  • + lambdas_pert + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Perturbative cluster lambda amplitudes.

    +
    +
  • +
  • + perturbative + (bool, default: + False +) + – +
    +

    Flag to include perturbative correction.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    Updated cluster lambda amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/gebcc.py +
505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
def update_lams(
+    self,
+    eris: Optional[ERIsInputType] = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+    lambdas: Optional[Namespace[SpinArrayType]] = None,
+    lambdas_pert: Optional[Namespace[SpinArrayType]] = None,
+    perturbative: bool = False,
+) -> Namespace[SpinArrayType]:
+    """Update the cluster lambda amplitudes.
+
+    Args:
+        eris: Electron repulsion integrals.
+        amplitudes: Cluster amplitudes.
+        lambdas: Cluster lambda amplitudes.
+        lambdas_pert: Perturbative cluster lambda amplitudes.
+        perturbative: Flag to include perturbative correction.
+
+    Returns:
+        Updated cluster lambda amplitudes.
+    """
+    # TODO active
+    amplitudes = self._get_amps(amplitudes=amplitudes)
+    lambdas = self._get_lams(lambdas=lambdas, amplitudes=amplitudes)
+    if lambdas_pert is not None:
+        lambdas.update(lambdas_pert)
+
+    func, kwargs = self._load_function(
+        "update_lams%s" % ("_perturbative" if perturbative else ""),
+        eris=eris,
+        amplitudes=amplitudes,
+        lambdas=lambdas,
+    )
+    res: Namespace[SpinArrayType] = func(**kwargs)
+    res = util.Namespace(**{key.rstrip("new"): val for key, val in res.items()})
+
+    # Divide T amplitudes:
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="l"
+    ):
+        res[name] /= self.energy_sum(key)
+        if not perturbative:
+            res[name] += lambdas[name]
+
+    # Divide S amplitudes:
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="l"):
+        res[name] /= self.energy_sum(key)
+        if not perturbative:
+            res[name] += lambdas[name]
+
+    # Divide U amplitudes:
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="l"
+    ):
+        if nf != 1:
+            raise util.ModelNotImplemented
+        res[name] /= self.energy_sum(key)
+        if not perturbative:
+            res[name] += lambdas[name]
+
+    if perturbative:
+        res = Namespace(**{key + "pert": val for key, val in res.items()})
+
+    return res
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.gebcc.GEBCC.make_rdm1_f(eris=None, amplitudes=None, lambdas=None, hermitise=True) + +

+ + +
+ +

Make the one-particle fermionic reduced density matrix :math:\langle i^+ j \rangle.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
  • + lambdas + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
  • + hermitise + (bool, default: + True +) + – +
    +

    Hermitise the density matrix.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + SpinArrayType + – +
    +

    One-particle fermion reduced density matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/gebcc.py +
569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
def make_rdm1_f(
+    self,
+    eris: Optional[ERIsInputType] = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+    lambdas: Optional[Namespace[SpinArrayType]] = None,
+    hermitise: bool = True,
+) -> SpinArrayType:
+    r"""Make the one-particle fermionic reduced density matrix :math:`\langle i^+ j \rangle`.
+
+    Args:
+        eris: Electron repulsion integrals.
+        amplitudes: Cluster amplitudes.
+        lambdas: Cluster lambda amplitudes.
+        hermitise: Hermitise the density matrix.
+
+    Returns:
+        One-particle fermion reduced density matrix.
+    """
+    func, kwargs = self._load_function(
+        "make_rdm1_f",
+        eris=eris,
+        amplitudes=amplitudes,
+        lambdas=lambdas,
+    )
+    dm: SpinArrayType = func(**kwargs)
+
+    if hermitise:
+        dm = (dm + np.transpose(dm)) * 0.5
+
+    return dm
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.gebcc.GEBCC.make_rdm2_f(eris=None, amplitudes=None, lambdas=None, hermitise=True) + +

+ + +
+ +

Make the two-particle fermionic reduced density matrix :math:\langle i^+j^+lk \rangle.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
  • + lambdas + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
  • + hermitise + (bool, default: + True +) + – +
    +

    Hermitise the density matrix.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + SpinArrayType + – +
    +

    Two-particle fermion reduced density matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/gebcc.py +
600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
def make_rdm2_f(
+    self,
+    eris: Optional[ERIsInputType] = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+    lambdas: Optional[Namespace[SpinArrayType]] = None,
+    hermitise: bool = True,
+) -> SpinArrayType:
+    r"""Make the two-particle fermionic reduced density matrix :math:`\langle i^+j^+lk \rangle`.
+
+    Args:
+        eris: Electron repulsion integrals.
+        amplitudes: Cluster amplitudes.
+        lambdas: Cluster lambda amplitudes.
+        hermitise: Hermitise the density matrix.
+
+    Returns:
+        Two-particle fermion reduced density matrix.
+    """
+    func, kwargs = self._load_function(
+        "make_rdm2_f",
+        eris=eris,
+        amplitudes=amplitudes,
+        lambdas=lambdas,
+    )
+    dm: SpinArrayType = func(**kwargs)
+
+    if hermitise:
+        dm = (np.transpose(dm, (0, 1, 2, 3)) + np.transpose(dm, (2, 3, 0, 1))) * 0.5
+        dm = (np.transpose(dm, (0, 1, 2, 3)) + np.transpose(dm, (1, 0, 3, 2))) * 0.5
+
+    return dm
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.gebcc.GEBCC.make_eb_coup_rdm(eris=None, amplitudes=None, lambdas=None, unshifted=True, hermitise=True) + +

+ + +
+ +

Make the electron-boson coupling reduced density matrix.

+

.. math:: + \langle b^+ i^+ j \rangle

+

and

+

.. math:: + \langle b i^+ j \rangle

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
  • + lambdas + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
  • + unshifted + (bool, default: + True +) + – +
    +

    If self.options.shift is True, return the unshifted density matrix. Has +no effect if self.options.shift is False.

    +
    +
  • +
  • + hermitise + (bool, default: + True +) + – +
    +

    Hermitise the density matrix.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + SpinArrayType + – +
    +

    Electron-boson coupling reduced density matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/gebcc.py +
632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
def make_eb_coup_rdm(
+    self,
+    eris: Optional[ERIsInputType] = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+    lambdas: Optional[Namespace[SpinArrayType]] = None,
+    unshifted: bool = True,
+    hermitise: bool = True,
+) -> SpinArrayType:
+    r"""Make the electron-boson coupling reduced density matrix.
+
+    .. math::
+        \langle b^+ i^+ j \rangle
+
+    and
+
+    .. math::
+        \langle b i^+ j \rangle
+
+    Args:
+        eris: Electron repulsion integrals.
+        amplitudes: Cluster amplitudes.
+        lambdas: Cluster lambda amplitudes.
+        unshifted: If `self.options.shift` is `True`, return the unshifted density matrix. Has
+            no effect if `self.options.shift` is `False`.
+        hermitise: Hermitise the density matrix.
+
+    Returns:
+        Electron-boson coupling reduced density matrix.
+    """
+    func, kwargs = self._load_function(
+        "make_eb_coup_rdm",
+        eris=eris,
+        amplitudes=amplitudes,
+        lambdas=lambdas,
+    )
+    dm_eb: SpinArrayType = func(**kwargs)
+
+    if hermitise:
+        dm_eb = np.array(
+            [
+                (dm_eb[0] + np.transpose(dm_eb[1], (0, 2, 1))) * 0.5,
+                (dm_eb[1] + np.transpose(dm_eb[0], (0, 2, 1))) * 0.5,
+            ]
+        )
+
+    if unshifted and self.options.shift:
+        rdm1_f = self.make_rdm1_f(hermitise=hermitise)
+        shift = util.einsum("x,ij->xij", self.xi, rdm1_f)
+        dm_eb -= shift[None]
+
+    return dm_eb
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.gebcc.GEBCC.energy_sum(*args, signs_dict=None) + +

+ + +
+ +

Get a direct sum of energies.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + *args + (str, default: + () +) + – +
    +

    Energies to sum. Should specify a subscript only.

    +
    +
  • +
  • + signs_dict + (Optional[dict[str, str]], default: + None +) + – +
    +

    Signs of the energies in the sum. Default sets ("o", "O", "i") to be +positive, and ("v", "V", "a", "b") to be negative.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Sum of energies.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/gebcc.py +
684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
def energy_sum(self, *args: str, signs_dict: Optional[dict[str, str]] = None) -> NDArray[T]:
+    """Get a direct sum of energies.
+
+    Args:
+        *args: Energies to sum. Should specify a subscript only.
+        signs_dict: Signs of the energies in the sum. Default sets `("o", "O", "i")` to be
+            positive, and `("v", "V", "a", "b")` to be negative.
+
+    Returns:
+        Sum of energies.
+    """
+    (subscript,) = args
+    n = 0
+
+    def next_char() -> str:
+        nonlocal n
+        if n < 26:
+            char = chr(ord("a") + n)
+        else:
+            char = chr(ord("A") + n)
+        n += 1
+        return char
+
+    if signs_dict is None:
+        signs_dict = {}
+    for k, s in zip("vVaoOib", "---+++-"):
+        if k not in signs_dict:
+            signs_dict[k] = s
+
+    energies = []
+    for key in subscript:
+        factor = 1 if signs_dict[key] == "+" else -1
+        if key == "b":
+            assert self.omega is not None
+            energies.append(self.omega * types[float](factor))
+        else:
+            energies.append(np.diag(self.fock[key + key]) * types[float](factor))
+
+    subscript = ",".join([next_char() for k in subscript])
+    energy_sum = util.dirsum(subscript, *energies)
+
+    return energy_sum
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.gebcc.GEBCC.amplitudes_to_vector(amplitudes) + +

+ + +
+ +

Construct a vector containing all of the amplitudes used in the given ansatz.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + amplitudes + (Namespace[SpinArrayType]) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Cluster amplitudes as a vector.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/gebcc.py +
727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
def amplitudes_to_vector(self, amplitudes: Namespace[SpinArrayType]) -> NDArray[T]:
+    """Construct a vector containing all of the amplitudes used in the given ansatz.
+
+    Args:
+        amplitudes: Cluster amplitudes.
+
+    Returns:
+        Cluster amplitudes as a vector.
+    """
+    vectors = []
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(spin_type=self.spin_type):
+        vectors.append(np.ravel(amplitudes[name]))
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type):
+        vectors.append(np.ravel(amplitudes[name]))
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(spin_type=self.spin_type):
+        vectors.append(np.ravel(amplitudes[name]))
+
+    return np.concatenate(vectors)
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.gebcc.GEBCC.vector_to_amplitudes(vector) + +

+ + +
+ +

Construct a namespace of amplitudes from a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + vector + (NDArray[T]) + – +
    +

    Cluster amplitudes as a vector.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    Cluster amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/gebcc.py +
749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
def vector_to_amplitudes(self, vector: NDArray[T]) -> Namespace[SpinArrayType]:
+    """Construct a namespace of amplitudes from a vector.
+
+    Args:
+        vector: Cluster amplitudes as a vector.
+
+    Returns:
+        Cluster amplitudes.
+    """
+    amplitudes: Namespace[SpinArrayType] = util.Namespace()
+    i0 = 0
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(spin_type=self.spin_type):
+        shape = tuple(self.space.size(k) for k in key)
+        size = util.prod(shape)
+        amplitudes[name] = np.reshape(vector[i0 : i0 + size], shape)
+        i0 += size
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type):
+        shape = (self.nbos,) * n
+        size = util.prod(shape)
+        amplitudes[name] = np.reshape(vector[i0 : i0 + size], shape)
+        i0 += size
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(spin_type=self.spin_type):
+        shape = (self.nbos,) * nb + tuple(self.space.size(k) for k in key[nb:])
+        size = util.prod(shape)
+        amplitudes[name] = np.reshape(vector[i0 : i0 + size], shape)
+        i0 += size
+
+    return amplitudes
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.gebcc.GEBCC.lambdas_to_vector(lambdas) + +

+ + +
+ +

Construct a vector containing all of the lambda amplitudes used in the given ansatz.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + lambdas + (Namespace[SpinArrayType]) + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Cluster lambda amplitudes as a vector.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/gebcc.py +
781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
def lambdas_to_vector(self, lambdas: Namespace[SpinArrayType]) -> NDArray[T]:
+    """Construct a vector containing all of the lambda amplitudes used in the given ansatz.
+
+    Args:
+        lambdas: Cluster lambda amplitudes.
+
+    Returns:
+        Cluster lambda amplitudes as a vector.
+    """
+    vectors = []
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="l"
+    ):
+        vectors.append(np.ravel(lambdas[name]))
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="l"):
+        vectors.append(np.ravel(lambdas[name]))
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="l"
+    ):
+        vectors.append(np.ravel(lambdas[name]))
+
+    return np.concatenate(vectors)
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.gebcc.GEBCC.vector_to_lambdas(vector) + +

+ + +
+ +

Construct a namespace of lambda amplitudes from a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + vector + (NDArray[T]) + – +
    +

    Cluster lambda amplitudes as a vector.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/gebcc.py +
807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
def vector_to_lambdas(self, vector: NDArray[T]) -> Namespace[SpinArrayType]:
+    """Construct a namespace of lambda amplitudes from a vector.
+
+    Args:
+        vector: Cluster lambda amplitudes as a vector.
+
+    Returns:
+        Cluster lambda amplitudes.
+    """
+    lambdas: Namespace[SpinArrayType] = util.Namespace()
+    i0 = 0
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="l"
+    ):
+        shape = tuple(self.space.size(k) for k in key)
+        size = util.prod(shape)
+        lambdas[name] = np.reshape(vector[i0 : i0 + size], shape)
+        i0 += size
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="l"):
+        shape = (self.nbos,) * n
+        size = util.prod(shape)
+        lambdas[name] = np.reshape(vector[i0 : i0 + size], shape)
+        i0 += size
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="l"
+    ):
+        shape = (self.nbos,) * nb + tuple(self.space.size(k) for k in key[nb:])
+        size = util.prod(shape)
+        lambdas[name] = np.reshape(vector[i0 : i0 + size], shape)
+        i0 += size
+
+    return lambdas
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.gebcc.GEBCC.get_mean_field_G() + +

+ + +
+ +

Get the mean-field boson non-conserving term.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Mean-field boson non-conserving term.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/gebcc.py +
843
+844
+845
+846
+847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
def get_mean_field_G(self) -> NDArray[T]:
+    """Get the mean-field boson non-conserving term.
+
+    Returns:
+        Mean-field boson non-conserving term.
+    """
+    assert self.g is not None
+    assert self.omega is not None
+    # FIXME should this also sum in frozen orbitals?
+    boo: NDArray[T] = self.g.boo
+    val = util.einsum("Ipp->I", boo)
+    val -= self.xi * self.omega
+    if self.bare_G is not None:
+        val += self.bare_G
+    return val
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.gebcc.GEBCC.get_fock() + +

+ + +
+ +

Get the Fock matrix.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + GFock + – +
    +

    Fock matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/gebcc.py +
891
+892
+893
+894
+895
+896
+897
def get_fock(self) -> GFock:
+    """Get the Fock matrix.
+
+    Returns:
+        Fock matrix.
+    """
+    return self.Fock(self, array=self.bare_fock, g=self.g)
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.gebcc.GEBCC.get_eris(eris=None) + +

+ + +
+ +

Get the electron repulsion integrals.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Input electron repulsion integrals.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + GERIs + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/gebcc.py +
899
+900
+901
+902
+903
+904
+905
+906
+907
+908
+909
+910
+911
def get_eris(self, eris: Optional[ERIsInputType] = None) -> GERIs:
+    """Get the electron repulsion integrals.
+
+    Args:
+        eris: Input electron repulsion integrals.
+
+    Returns:
+        Electron repulsion integrals.
+    """
+    if isinstance(eris, GERIs):
+        return eris
+    else:
+        return self.ERIs(self, array=eris)
+
+
+
+ +
+ + + +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/reference/cc/index.html b/reference/cc/index.html new file mode 100644 index 00000000..b8a50c3d --- /dev/null +++ b/reference/cc/index.html @@ -0,0 +1,224 @@ + + + + + + + + Index - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Coupled cluster solvers.

+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/cc/rebcc/index.html b/reference/cc/rebcc/index.html new file mode 100644 index 00000000..abcf705f --- /dev/null +++ b/reference/cc/rebcc/index.html @@ -0,0 +1,3373 @@ + + + + + + + + Restricted - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Restricted electron-boson coupled cluster.

+ + + +
+ + + + + + + + +
+ + + +

+ ebcc.cc.rebcc.REBCC(mf, log=None, ansatz='CCSD', options=None, space=None, omega=None, g=None, G=None, mo_coeff=None, mo_occ=None, fock=None, **kwargs) + +

+ + +
+

+ Bases: BaseEBCC

+ + +

Restricted electron-boson coupled cluster.

+ +

Initialise the EBCC object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + mf + (SCF) + – +
    +

    PySCF mean-field object.

    +
    +
  • +
  • + log + (Optional[Logger], default: + None +) + – +
    +

    Log to write output to. Default is the global logger, outputting to stderr.

    +
    +
  • +
  • + ansatz + (Optional[Union[Ansatz, str]], default: + 'CCSD' +) + – +
    +

    Overall ansatz.

    +
    +
  • +
  • + options + (Optional[BaseOptions], default: + None +) + – +
    +

    Options for the EBCC calculation.

    +
    +
  • +
  • + space + (Optional[SpaceType], default: + None +) + – +
    +

    Space containing the frozen, correlated, and active fermionic spaces. Default +assumes all electrons are correlated.

    +
    +
  • +
  • + omega + (Optional[NDArray[T]], default: + None +) + – +
    +

    Bosonic frequencies.

    +
    +
  • +
  • + g + (Optional[NDArray[T]], default: + None +) + – +
    +

    Electron-boson coupling matrix corresponding to the bosonic annihilation operator +:math:g_{bpq} p^\dagger q b. The creation part is assumed to be the fermionic +conjugate transpose to retain Hermiticity in the Hamiltonian.

    +
    +
  • +
  • + G + (Optional[NDArray[T]], default: + None +) + – +
    +

    Boson non-conserving term :math:G_{b} (b^\dagger + b).

    +
    +
  • +
  • + mo_coeff + (Optional[NDArray[T]], default: + None +) + – +
    +

    Molecular orbital coefficients. Default is the mean-field coefficients.

    +
    +
  • +
  • + mo_occ + (Optional[NDArray[T]], default: + None +) + – +
    +

    Molecular orbital occupation numbers. Default is the mean-field occupation.

    +
    +
  • +
  • + fock + (Optional[BaseFock], default: + None +) + – +
    +

    Fock matrix. Default is the mean-field Fock matrix.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments used to update options.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
def __init__(
+    self,
+    mf: SCF,
+    log: Optional[Logger] = None,
+    ansatz: Optional[Union[Ansatz, str]] = "CCSD",
+    options: Optional[BaseOptions] = None,
+    space: Optional[SpaceType] = None,
+    omega: Optional[NDArray[T]] = None,
+    g: Optional[NDArray[T]] = None,
+    G: Optional[NDArray[T]] = None,
+    mo_coeff: Optional[NDArray[T]] = None,
+    mo_occ: Optional[NDArray[T]] = None,
+    fock: Optional[BaseFock] = None,
+    **kwargs: Any,
+) -> None:
+    r"""Initialise the EBCC object.
+
+    Args:
+        mf: PySCF mean-field object.
+        log: Log to write output to. Default is the global logger, outputting to `stderr`.
+        ansatz: Overall ansatz.
+        options: Options for the EBCC calculation.
+        space: Space containing the frozen, correlated, and active fermionic spaces. Default
+            assumes all electrons are correlated.
+        omega: Bosonic frequencies.
+        g: Electron-boson coupling matrix corresponding to the bosonic annihilation operator
+            :math:`g_{bpq} p^\dagger q b`. The creation part is assumed to be the fermionic
+            conjugate transpose to retain Hermiticity in the Hamiltonian.
+        G: Boson non-conserving term :math:`G_{b} (b^\dagger + b)`.
+        mo_coeff: Molecular orbital coefficients. Default is the mean-field coefficients.
+        mo_occ: Molecular orbital occupation numbers. Default is the mean-field occupation.
+        fock: Fock matrix. Default is the mean-field Fock matrix.
+        **kwargs: Additional keyword arguments used to update `options`.
+    """
+    # Options:
+    if options is None:
+        options = self.Options()
+    self.options = options
+    for key, val in kwargs.items():
+        setattr(self.options, key, val)
+
+    # Parameters:
+    self.log = default_log if log is None else log
+    self.mf = self._convert_mf(mf)
+    self._mo_coeff: Optional[NDArray[T]] = (
+        np.asarray(mo_coeff, dtype=types[float]) if mo_coeff is not None else None
+    )
+    self._mo_occ: Optional[NDArray[T]] = (
+        np.asarray(mo_occ, dtype=types[float]) if mo_occ is not None else None
+    )
+
+    # Ansatz:
+    if isinstance(ansatz, Ansatz):
+        self.ansatz = ansatz
+    elif isinstance(ansatz, str):
+        self.ansatz = Ansatz.from_string(
+            ansatz, density_fitting=getattr(self.mf, "with_df", None) is not None
+        )
+    else:
+        raise TypeError("ansatz must be an Ansatz object or a string.")
+    self._eqns = self.ansatz._get_eqns(self.spin_type)
+
+    # Space:
+    if space is not None:
+        self.space = space
+    else:
+        self.space = self.init_space()
+
+    # Boson parameters:
+    if bool(self.fermion_coupling_rank) != bool(self.boson_coupling_rank):
+        raise ValueError(
+            "Fermionic and bosonic coupling ranks must both be zero, or both non-zero."
+        )
+    self.omega = np.asarray(omega, dtype=types[float]) if omega is not None else None
+    self.bare_g = np.asarray(g, dtype=types[float]) if g is not None else None
+    self.bare_G = np.asarray(G, dtype=types[float]) if G is not None else None
+    if self.boson_ansatz != "":
+        self.g = self.get_g()
+        self.G = self.get_mean_field_G()
+        if self.options.shift:
+            self.log.info(" > Energy shift due to polaritonic basis:  %.10f", self.const)
+    else:
+        assert self.nbos == 0
+        self.options.shift = False
+        self.g = None
+        self.G = None
+
+    # Fock matrix:
+    if fock is None:
+        self.fock = self.get_fock()
+    else:
+        self.fock = fock
+
+    # Attributes:
+    self.e_corr = 0.0
+    self.amplitudes = util.Namespace()
+    self.converged = False
+    self.lambdas = util.Namespace()
+    self.converged_lambda = False
+
+    # Logging:
+    init_logging(self.log)
+    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" > 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" > diis_min_space:  {ANSI.y}{self.options.diis_min_space}{ANSI.R}")
+    self.log.info(f" > damping:  {ANSI.y}{self.options.damping}{ANSI.R}")
+    self.log.debug("")
+    self.log.info(f"{ANSI.B}Ansatz{ANSI.R}: {ANSI.m}{self.ansatz}{ANSI.R}")
+    self.log.debug("")
+    self.log.info(f"{ANSI.B}Space{ANSI.R}: {ANSI.m}{self.space}{ANSI.R}")
+    self.log.debug("")
+
+
+ + + +
+ + + + + + + +
+ + + +

+ ebcc.cc.rebcc.REBCC.spin_type: str + + + property + + +

+ + +
+ +

Get a string representation of the spin type.

+
+ +
+ +
+ + + +

+ ebcc.cc.rebcc.REBCC.bare_fock: NDArray[T] + + + property + + +

+ + +
+ +

Get the mean-field Fock matrix in the MO basis, including frozen parts.

+

Returns an array and not a BaseFock object.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Mean-field Fock matrix.

    +
    +
  • +
+
+ +
+ +
+ + + +

+ ebcc.cc.rebcc.REBCC.xi: NDArray[T] + + + property + + +

+ + +
+ +

Get the shift in the bosonic operators to diagonalise the photon Hamiltonian.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Shift in the bosonic operators.

    +
    +
  • +
+
+ +
+ +
+ + + +

+ ebcc.cc.rebcc.REBCC.nmo: int + + + property + + +

+ + +
+ +

Get the number of molecular orbitals.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + int + – +
    +

    Number of molecular orbitals.

    +
    +
  • +
+
+ +
+ +
+ + + +

+ ebcc.cc.rebcc.REBCC.nocc: int + + + property + + +

+ + +
+ +

Get the number of occupied molecular orbitals.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + int + – +
    +

    Number of occupied molecular orbitals.

    +
    +
  • +
+
+ +
+ +
+ + + +

+ ebcc.cc.rebcc.REBCC.nvir: int + + + property + + +

+ + +
+ +

Get the number of virtual molecular orbitals.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + int + – +
    +

    Number of virtual molecular orbitals.

    +
    +
  • +
+
+ +
+ + + +
+ + +

+ ebcc.cc.rebcc.REBCC.ip_eom(**kwargs) + +

+ + +
+ +

Get the IP-EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + options + – +
    +

    Options for the IP-EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + IP_REOM + – +
    +

    IP-EOM object.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/rebcc.py +
56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
def ip_eom(self, **kwargs: Any) -> IP_REOM:
+    """Get the IP-EOM object.
+
+    Args:
+        options: Options for the IP-EOM calculation.
+        **kwargs: Additional keyword arguments.
+
+    Returns:
+        IP-EOM object.
+    """
+    return IP_REOM(self, **kwargs)
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.rebcc.REBCC.ea_eom(**kwargs) + +

+ + +
+ +

Get the EA-EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + options + – +
    +

    Options for the EA-EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + EA_REOM + – +
    +

    EA-EOM object.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/rebcc.py +
68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
def ea_eom(self, **kwargs: Any) -> EA_REOM:
+    """Get the EA-EOM object.
+
+    Args:
+        options: Options for the EA-EOM calculation.
+        **kwargs: Additional keyword arguments.
+
+    Returns:
+        EA-EOM object.
+    """
+    return EA_REOM(self, **kwargs)
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.rebcc.REBCC.ee_eom(**kwargs) + +

+ + +
+ +

Get the EE-EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + options + – +
    +

    Options for the EE-EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + EE_REOM + – +
    +

    EE-EOM object.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/rebcc.py +
80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
def ee_eom(self, **kwargs: Any) -> EE_REOM:
+    """Get the EE-EOM object.
+
+    Args:
+        options: Options for the EE-EOM calculation.
+        **kwargs: Additional keyword arguments.
+
+    Returns:
+        EE-EOM object.
+    """
+    return EE_REOM(self, **kwargs)
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.rebcc.REBCC.init_space() + +

+ + +
+ +

Initialise the fermionic space.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + SpaceType + – +
    +

    Fermionic space. All fermionic degrees of freedom are assumed to be correlated.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/rebcc.py +
100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
def init_space(self) -> SpaceType:
+    """Initialise the fermionic space.
+
+    Returns:
+        Fermionic space. All fermionic degrees of freedom are assumed to be correlated.
+    """
+    space = Space(
+        self.mo_occ > 0,
+        np.zeros(self.mo_occ.shape, dtype=np.bool_),
+        np.zeros(self.mo_occ.shape, dtype=np.bool_),
+    )
+    return space
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.rebcc.REBCC.init_amps(eris=None) + +

+ + +
+ +

Initialise the cluster amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    Initial cluster amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/rebcc.py +
138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
def init_amps(self, eris: Optional[ERIsInputType] = None) -> Namespace[SpinArrayType]:
+    """Initialise the cluster amplitudes.
+
+    Args:
+        eris: Electron repulsion integrals.
+
+    Returns:
+        Initial cluster amplitudes.
+    """
+    eris = self.get_eris(eris)
+    amplitudes: Namespace[SpinArrayType] = util.Namespace()
+
+    # Build T amplitudes:
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(spin_type=self.spin_type):
+        if n == 1:
+            amplitudes[name] = self.fock[key] / self.energy_sum(key)
+        elif n == 2:
+            key_t = key[0] + key[2] + key[1] + key[3]
+            amplitudes[name] = np.transpose(eris[key_t], (0, 2, 1, 3)) / self.energy_sum(key)
+        else:
+            shape = tuple(self.space.size(k) for k in key)
+            amplitudes[name] = np.zeros(shape, dtype=types[float])
+
+    # Build S amplitudes:
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type):
+        if self.omega is None or self.G is None:
+            raise ValueError("Bosonic parameters not set.")
+        if n == 1:
+            amplitudes[name] = -self.G / self.omega
+        else:
+            shape = (self.nbos,) * n
+            amplitudes[name] = np.zeros(shape, dtype=types[float])
+
+    # Build U amplitudes:
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(spin_type=self.spin_type):
+        if self.omega is None or self.g is None:
+            raise ValueError("Bosonic parameters not set.")
+        if nf != 1:
+            raise util.ModelNotImplemented
+        if nb == 1:
+            amplitudes[name] = self.g[key] / self.energy_sum(key)
+        else:
+            shape = (self.nbos,) * nb + tuple(self.space.size(k) for k in key[nb:])
+            amplitudes[name] = np.zeros(shape, dtype=types[float])
+
+    return amplitudes
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.rebcc.REBCC.init_lams(amplitudes=None) + +

+ + +
+ +

Initialise the cluster lambda amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    Initial cluster lambda amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/rebcc.py +
185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
def init_lams(
+    self, amplitudes: Optional[Namespace[SpinArrayType]] = None
+) -> Namespace[SpinArrayType]:
+    """Initialise the cluster lambda amplitudes.
+
+    Args:
+        amplitudes: Cluster amplitudes.
+
+    Returns:
+        Initial cluster lambda amplitudes.
+    """
+    if not amplitudes:
+        amplitudes = self.amplitudes
+    lambdas: Namespace[SpinArrayType] = util.Namespace()
+
+    # Build L amplitudes:
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(spin_type=self.spin_type):
+        lname = name.replace("t", "l")
+        perm = list(range(n, 2 * n)) + list(range(n))
+        lambdas[lname] = np.transpose(amplitudes[name], perm)
+
+    # Build LS amplitudes:
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type):
+        lname = "l" + name
+        lambdas[lname] = amplitudes[name]
+
+    # Build LU amplitudes:
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(spin_type=self.spin_type):
+        if nf != 1:
+            raise util.ModelNotImplemented
+        lname = "l" + name
+        perm = list(range(nb)) + [nb + 1, nb]
+        lambdas[lname] = np.transpose(amplitudes[name], perm)
+
+    return lambdas
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.rebcc.REBCC.update_amps(eris=None, amplitudes=None) + +

+ + +
+ +

Update the cluster amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    Updated cluster amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/rebcc.py +
221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
def update_amps(
+    self,
+    eris: Optional[ERIsInputType] = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+) -> Namespace[SpinArrayType]:
+    """Update the cluster amplitudes.
+
+    Args:
+        eris: Electron repulsion integrals.
+        amplitudes: Cluster amplitudes.
+
+    Returns:
+        Updated cluster amplitudes.
+    """
+    amplitudes = self._get_amps(amplitudes=amplitudes)
+    func, kwargs = self._load_function(
+        "update_amps",
+        eris=eris,
+        amplitudes=amplitudes,
+    )
+    res: Namespace[SpinArrayType] = func(**kwargs)
+    res = util.Namespace(**{key.rstrip("new"): val for key, val in res.items()})
+
+    # Divide T amplitudes:
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(spin_type=self.spin_type):
+        res[name] /= self.energy_sum(key)
+        res[name] += amplitudes[name]
+
+    # Divide S amplitudes:
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type):
+        res[name] /= self.energy_sum(key)
+        res[name] += amplitudes[name]
+
+    # Divide U amplitudes:
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(spin_type=self.spin_type):
+        if nf != 1:
+            raise util.ModelNotImplemented
+        res[name] /= self.energy_sum(key)
+        res[name] += amplitudes[name]
+
+    return res
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.rebcc.REBCC.update_lams(eris=None, amplitudes=None, lambdas=None, lambdas_pert=None, perturbative=False) + +

+ + +
+ +

Update the cluster lambda amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
  • + lambdas + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
  • + lambdas_pert + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Perturbative cluster lambda amplitudes.

    +
    +
  • +
  • + perturbative + (bool, default: + False +) + – +
    +

    Flag to include perturbative correction.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    Updated cluster lambda amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/rebcc.py +
263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
def update_lams(
+    self,
+    eris: Optional[ERIsInputType] = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+    lambdas: Optional[Namespace[SpinArrayType]] = None,
+    lambdas_pert: Optional[Namespace[SpinArrayType]] = None,
+    perturbative: bool = False,
+) -> Namespace[SpinArrayType]:
+    """Update the cluster lambda amplitudes.
+
+    Args:
+        eris: Electron repulsion integrals.
+        amplitudes: Cluster amplitudes.
+        lambdas: Cluster lambda amplitudes.
+        lambdas_pert: Perturbative cluster lambda amplitudes.
+        perturbative: Flag to include perturbative correction.
+
+    Returns:
+        Updated cluster lambda amplitudes.
+    """
+    # TODO active
+    amplitudes = self._get_amps(amplitudes=amplitudes)
+    lambdas = self._get_lams(lambdas=lambdas, amplitudes=amplitudes)
+    if lambdas_pert is not None:
+        lambdas.update(lambdas_pert)
+
+    func, kwargs = self._load_function(
+        "update_lams%s" % ("_perturbative" if perturbative else ""),
+        eris=eris,
+        amplitudes=amplitudes,
+        lambdas=lambdas,
+    )
+    res: Namespace[SpinArrayType] = func(**kwargs)
+    res = util.Namespace(**{key.rstrip("new"): val for key, val in res.items()})
+
+    # Divide T amplitudes:
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="l"
+    ):
+        res[name] /= self.energy_sum(key)
+        if not perturbative:
+            res[name] += lambdas[name]
+
+    # Divide S amplitudes:
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="l"):
+        res[name] /= self.energy_sum(key)
+        if not perturbative:
+            res[name] += lambdas[name]
+
+    # Divide U amplitudes:
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="l"
+    ):
+        if nf != 1:
+            raise util.ModelNotImplemented
+        res[name] /= self.energy_sum(key)
+        if not perturbative:
+            res[name] += lambdas[name]
+
+    if perturbative:
+        res = util.Namespace(**{key + "pert": val for key, val in res.items()})
+
+    return res
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.rebcc.REBCC.make_rdm1_f(eris=None, amplitudes=None, lambdas=None, hermitise=True) + +

+ + +
+ +

Make the one-particle fermionic reduced density matrix :math:\langle i^+ j \rangle.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
  • + lambdas + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
  • + hermitise + (bool, default: + True +) + – +
    +

    Hermitise the density matrix.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    One-particle fermion reduced density matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/rebcc.py +
327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
def make_rdm1_f(
+    self,
+    eris: Optional[ERIsInputType] = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+    lambdas: Optional[Namespace[SpinArrayType]] = None,
+    hermitise: bool = True,
+) -> NDArray[T]:
+    r"""Make the one-particle fermionic reduced density matrix :math:`\langle i^+ j \rangle`.
+
+    Args:
+        eris: Electron repulsion integrals.
+        amplitudes: Cluster amplitudes.
+        lambdas: Cluster lambda amplitudes.
+        hermitise: Hermitise the density matrix.
+
+    Returns:
+        One-particle fermion reduced density matrix.
+    """
+    func, kwargs = self._load_function(
+        "make_rdm1_f",
+        eris=eris,
+        amplitudes=amplitudes,
+        lambdas=lambdas,
+    )
+    dm: NDArray[T] = func(**kwargs)
+
+    if hermitise:
+        dm = (dm + np.transpose(dm)) * 0.5
+
+    return dm
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.rebcc.REBCC.make_rdm2_f(eris=None, amplitudes=None, lambdas=None, hermitise=True) + +

+ + +
+ +

Make the two-particle fermionic reduced density matrix :math:\langle i^+j^+lk \rangle.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
  • + lambdas + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
  • + hermitise + (bool, default: + True +) + – +
    +

    Hermitise the density matrix.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Two-particle fermion reduced density matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/rebcc.py +
358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
def make_rdm2_f(
+    self,
+    eris: Optional[ERIsInputType] = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+    lambdas: Optional[Namespace[SpinArrayType]] = None,
+    hermitise: bool = True,
+) -> NDArray[T]:
+    r"""Make the two-particle fermionic reduced density matrix :math:`\langle i^+j^+lk \rangle`.
+
+    Args:
+        eris: Electron repulsion integrals.
+        amplitudes: Cluster amplitudes.
+        lambdas: Cluster lambda amplitudes.
+        hermitise: Hermitise the density matrix.
+
+    Returns:
+        Two-particle fermion reduced density matrix.
+    """
+    func, kwargs = self._load_function(
+        "make_rdm2_f",
+        eris=eris,
+        amplitudes=amplitudes,
+        lambdas=lambdas,
+    )
+    dm: NDArray[T] = func(**kwargs)
+
+    if hermitise:
+        dm = (np.transpose(dm, (0, 1, 2, 3)) + np.transpose(dm, (2, 3, 0, 1))) * 0.5
+        dm = (np.transpose(dm, (0, 1, 2, 3)) + np.transpose(dm, (1, 0, 3, 2))) * 0.5
+
+    return dm
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.rebcc.REBCC.make_eb_coup_rdm(eris=None, amplitudes=None, lambdas=None, unshifted=True, hermitise=True) + +

+ + +
+ +

Make the electron-boson coupling reduced density matrix.

+

.. math:: + \langle b^+ i^+ j \rangle

+

and

+

.. math:: + \langle b i^+ j \rangle

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
  • + lambdas + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
  • + unshifted + (bool, default: + True +) + – +
    +

    If self.options.shift is True, return the unshifted density matrix. Has +no effect if self.options.shift is False.

    +
    +
  • +
  • + hermitise + (bool, default: + True +) + – +
    +

    Hermitise the density matrix.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Electron-boson coupling reduced density matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/rebcc.py +
390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
def make_eb_coup_rdm(
+    self,
+    eris: Optional[ERIsInputType] = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+    lambdas: Optional[Namespace[SpinArrayType]] = None,
+    unshifted: bool = True,
+    hermitise: bool = True,
+) -> NDArray[T]:
+    r"""Make the electron-boson coupling reduced density matrix.
+
+    .. math::
+        \langle b^+ i^+ j \rangle
+
+    and
+
+    .. math::
+        \langle b i^+ j \rangle
+
+    Args:
+        eris: Electron repulsion integrals.
+        amplitudes: Cluster amplitudes.
+        lambdas: Cluster lambda amplitudes.
+        unshifted: If `self.options.shift` is `True`, return the unshifted density matrix. Has
+            no effect if `self.options.shift` is `False`.
+        hermitise: Hermitise the density matrix.
+
+    Returns:
+        Electron-boson coupling reduced density matrix.
+    """
+    func, kwargs = self._load_function(
+        "make_eb_coup_rdm",
+        eris=eris,
+        amplitudes=amplitudes,
+        lambdas=lambdas,
+    )
+    dm_eb: NDArray[T] = func(**kwargs)
+
+    if hermitise:
+        dm_eb = np.array(
+            [
+                (dm_eb[0] + np.transpose(dm_eb[1], (0, 2, 1))) * 0.5,
+                (dm_eb[1] + np.transpose(dm_eb[0], (0, 2, 1))) * 0.5,
+            ]
+        )
+
+    if unshifted and self.options.shift:
+        rdm1_f = self.make_rdm1_f(hermitise=hermitise)
+        shift = util.einsum("x,ij->xij", self.xi, rdm1_f)
+        dm_eb -= shift[None]
+
+    return dm_eb
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.rebcc.REBCC.energy_sum(*args, signs_dict=None) + +

+ + +
+ +

Get a direct sum of energies.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + *args + (str, default: + () +) + – +
    +

    Energies to sum. Should specify a subscript only.

    +
    +
  • +
  • + signs_dict + (Optional[dict[str, str]], default: + None +) + – +
    +

    Signs of the energies in the sum. Default sets ("o", "O", "i") to be +positive, and ("v", "V", "a", "b") to be negative.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Sum of energies.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/rebcc.py +
442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
def energy_sum(self, *args: str, signs_dict: Optional[dict[str, str]] = None) -> NDArray[T]:
+    """Get a direct sum of energies.
+
+    Args:
+        *args: Energies to sum. Should specify a subscript only.
+        signs_dict: Signs of the energies in the sum. Default sets `("o", "O", "i")` to be
+            positive, and `("v", "V", "a", "b")` to be negative.
+
+    Returns:
+        Sum of energies.
+    """
+    (subscript,) = args
+    n = 0
+
+    def next_char() -> str:
+        nonlocal n
+        if n < 26:
+            char = chr(ord("a") + n)
+        else:
+            char = chr(ord("A") + n)
+        n += 1
+        return char
+
+    if signs_dict is None:
+        signs_dict = {}
+    for k, s in zip("vVaoOib", "---+++-"):
+        if k not in signs_dict:
+            signs_dict[k] = s
+
+    energies = []
+    for key in subscript:
+        factor = 1 if signs_dict[key] == "+" else -1
+        if key == "b":
+            assert self.omega is not None
+            energies.append(self.omega * types[float](factor))
+        else:
+            energies.append(np.diag(self.fock[key + key]) * types[float](factor))
+
+    subscript = ",".join([next_char() for k in subscript])
+    energy_sum = util.dirsum(subscript, *energies)
+
+    return energy_sum
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.rebcc.REBCC.amplitudes_to_vector(amplitudes) + +

+ + +
+ +

Construct a vector containing all of the amplitudes used in the given ansatz.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + amplitudes + (Namespace[SpinArrayType]) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Cluster amplitudes as a vector.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/rebcc.py +
485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
def amplitudes_to_vector(self, amplitudes: Namespace[SpinArrayType]) -> NDArray[T]:
+    """Construct a vector containing all of the amplitudes used in the given ansatz.
+
+    Args:
+        amplitudes: Cluster amplitudes.
+
+    Returns:
+        Cluster amplitudes as a vector.
+    """
+    vectors = []
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(spin_type=self.spin_type):
+        vectors.append(np.ravel(amplitudes[name]))
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type):
+        vectors.append(np.ravel(amplitudes[name]))
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(spin_type=self.spin_type):
+        vectors.append(np.ravel(amplitudes[name]))
+
+    return np.concatenate(vectors)
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.rebcc.REBCC.vector_to_amplitudes(vector) + +

+ + +
+ +

Construct a namespace of amplitudes from a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + vector + (NDArray[T]) + – +
    +

    Cluster amplitudes as a vector.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    Cluster amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/rebcc.py +
507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
def vector_to_amplitudes(self, vector: NDArray[T]) -> Namespace[SpinArrayType]:
+    """Construct a namespace of amplitudes from a vector.
+
+    Args:
+        vector: Cluster amplitudes as a vector.
+
+    Returns:
+        Cluster amplitudes.
+    """
+    amplitudes: Namespace[SpinArrayType] = util.Namespace()
+    i0 = 0
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(spin_type=self.spin_type):
+        shape = tuple(self.space.size(k) for k in key)
+        size = util.prod(shape)
+        amplitudes[name] = np.reshape(vector[i0 : i0 + size], shape)
+        i0 += size
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type):
+        shape = (self.nbos,) * n
+        size = util.prod(shape)
+        amplitudes[name] = np.reshape(vector[i0 : i0 + size], shape)
+        i0 += size
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(spin_type=self.spin_type):
+        shape = (self.nbos,) * nb + tuple(self.space.size(k) for k in key[nb:])
+        size = util.prod(shape)
+        amplitudes[name] = np.reshape(vector[i0 : i0 + size], shape)
+        i0 += size
+
+    return amplitudes
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.rebcc.REBCC.lambdas_to_vector(lambdas) + +

+ + +
+ +

Construct a vector containing all of the lambda amplitudes used in the given ansatz.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + lambdas + (Namespace[SpinArrayType]) + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Cluster lambda amplitudes as a vector.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/rebcc.py +
539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
def lambdas_to_vector(self, lambdas: Namespace[SpinArrayType]) -> NDArray[T]:
+    """Construct a vector containing all of the lambda amplitudes used in the given ansatz.
+
+    Args:
+        lambdas: Cluster lambda amplitudes.
+
+    Returns:
+        Cluster lambda amplitudes as a vector.
+    """
+    vectors = []
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="l"
+    ):
+        vectors.append(np.ravel(lambdas[name]))
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="l"):
+        vectors.append(np.ravel(lambdas[name]))
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="l"
+    ):
+        vectors.append(np.ravel(lambdas[name]))
+
+    return np.concatenate(vectors)
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.rebcc.REBCC.vector_to_lambdas(vector) + +

+ + +
+ +

Construct a namespace of lambda amplitudes from a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + vector + (NDArray[T]) + – +
    +

    Cluster lambda amplitudes as a vector.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/rebcc.py +
565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
def vector_to_lambdas(self, vector: NDArray[T]) -> Namespace[SpinArrayType]:
+    """Construct a namespace of lambda amplitudes from a vector.
+
+    Args:
+        vector: Cluster lambda amplitudes as a vector.
+
+    Returns:
+        Cluster lambda amplitudes.
+    """
+    lambdas: Namespace[SpinArrayType] = util.Namespace()
+    i0 = 0
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="l"
+    ):
+        shape = tuple(self.space.size(k) for k in key)
+        size = util.prod(shape)
+        lambdas[name] = np.reshape(vector[i0 : i0 + size], shape)
+        i0 += size
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="l"):
+        shape = (self.nbos,) * n
+        size = util.prod(shape)
+        lambdas[name] = np.reshape(vector[i0 : i0 + size], shape)
+        i0 += size
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="l"
+    ):
+        shape = (self.nbos,) * nb + tuple(self.space.size(k) for k in key[nb:])
+        size = util.prod(shape)
+        lambdas[name] = np.reshape(vector[i0 : i0 + size], shape)
+        i0 += size
+
+    return lambdas
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.rebcc.REBCC.get_mean_field_G() + +

+ + +
+ +

Get the mean-field boson non-conserving term.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Mean-field boson non-conserving term.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/rebcc.py +
601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
def get_mean_field_G(self) -> NDArray[T]:
+    """Get the mean-field boson non-conserving term.
+
+    Returns:
+        Mean-field boson non-conserving term.
+    """
+    # FIXME should this also sum in frozen orbitals?
+    assert self.omega is not None
+    assert self.g is not None
+    boo: NDArray[T] = self.g.boo
+    val = util.einsum("Ipp->I", boo) * 2.0
+    val -= self.xi * self.omega
+    if self.bare_G is not None:
+        val += self.bare_G
+    return val
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.rebcc.REBCC.get_fock() + +

+ + +
+ +

Get the Fock matrix.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + RFock + – +
    +

    Fock matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/rebcc.py +
649
+650
+651
+652
+653
+654
+655
def get_fock(self) -> RFock:
+    """Get the Fock matrix.
+
+    Returns:
+        Fock matrix.
+    """
+    return self.Fock(self, array=self.bare_fock, g=self.g)
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.rebcc.REBCC.get_eris(eris=None) + +

+ + +
+ +

Get the electron repulsion integrals.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Input electron repulsion integrals.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Union[RERIs, RCDERIs] + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/rebcc.py +
657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
def get_eris(self, eris: Optional[ERIsInputType] = None) -> Union[RERIs, RCDERIs]:
+    """Get the electron repulsion integrals.
+
+    Args:
+        eris: Input electron repulsion integrals.
+
+    Returns:
+        Electron repulsion integrals.
+    """
+    use_df = getattr(self.mf, "with_df", None) is not None
+    if isinstance(eris, (RERIs, RCDERIs)):
+        return eris
+    elif (isinstance(eris, np.ndarray) and eris.ndim == 3) or use_df:
+        return self.CDERIs(self, array=eris)
+    else:
+        return self.ERIs(self, array=eris)
+
+
+
+ +
+ + + +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/reference/cc/uebcc/index.html b/reference/cc/uebcc/index.html new file mode 100644 index 00000000..94407fe0 --- /dev/null +++ b/reference/cc/uebcc/index.html @@ -0,0 +1,3830 @@ + + + + + + + + Unrestricted - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Unrestricted electron-boson coupled cluster.

+ + + +
+ + + + + + + + +
+ + + +

+ ebcc.cc.uebcc.UEBCC(mf, log=None, ansatz='CCSD', options=None, space=None, omega=None, g=None, G=None, mo_coeff=None, mo_occ=None, fock=None, **kwargs) + +

+ + +
+

+ Bases: BaseEBCC

+ + +

Unrestricted electron-boson coupled cluster.

+ +

Initialise the EBCC object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + mf + (SCF) + – +
    +

    PySCF mean-field object.

    +
    +
  • +
  • + log + (Optional[Logger], default: + None +) + – +
    +

    Log to write output to. Default is the global logger, outputting to stderr.

    +
    +
  • +
  • + ansatz + (Optional[Union[Ansatz, str]], default: + 'CCSD' +) + – +
    +

    Overall ansatz.

    +
    +
  • +
  • + options + (Optional[BaseOptions], default: + None +) + – +
    +

    Options for the EBCC calculation.

    +
    +
  • +
  • + space + (Optional[SpaceType], default: + None +) + – +
    +

    Space containing the frozen, correlated, and active fermionic spaces. Default +assumes all electrons are correlated.

    +
    +
  • +
  • + omega + (Optional[NDArray[T]], default: + None +) + – +
    +

    Bosonic frequencies.

    +
    +
  • +
  • + g + (Optional[NDArray[T]], default: + None +) + – +
    +

    Electron-boson coupling matrix corresponding to the bosonic annihilation operator +:math:g_{bpq} p^\dagger q b. The creation part is assumed to be the fermionic +conjugate transpose to retain Hermiticity in the Hamiltonian.

    +
    +
  • +
  • + G + (Optional[NDArray[T]], default: + None +) + – +
    +

    Boson non-conserving term :math:G_{b} (b^\dagger + b).

    +
    +
  • +
  • + mo_coeff + (Optional[NDArray[T]], default: + None +) + – +
    +

    Molecular orbital coefficients. Default is the mean-field coefficients.

    +
    +
  • +
  • + mo_occ + (Optional[NDArray[T]], default: + None +) + – +
    +

    Molecular orbital occupation numbers. Default is the mean-field occupation.

    +
    +
  • +
  • + fock + (Optional[BaseFock], default: + None +) + – +
    +

    Fock matrix. Default is the mean-field Fock matrix.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments used to update options.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/base.py +
 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
def __init__(
+    self,
+    mf: SCF,
+    log: Optional[Logger] = None,
+    ansatz: Optional[Union[Ansatz, str]] = "CCSD",
+    options: Optional[BaseOptions] = None,
+    space: Optional[SpaceType] = None,
+    omega: Optional[NDArray[T]] = None,
+    g: Optional[NDArray[T]] = None,
+    G: Optional[NDArray[T]] = None,
+    mo_coeff: Optional[NDArray[T]] = None,
+    mo_occ: Optional[NDArray[T]] = None,
+    fock: Optional[BaseFock] = None,
+    **kwargs: Any,
+) -> None:
+    r"""Initialise the EBCC object.
+
+    Args:
+        mf: PySCF mean-field object.
+        log: Log to write output to. Default is the global logger, outputting to `stderr`.
+        ansatz: Overall ansatz.
+        options: Options for the EBCC calculation.
+        space: Space containing the frozen, correlated, and active fermionic spaces. Default
+            assumes all electrons are correlated.
+        omega: Bosonic frequencies.
+        g: Electron-boson coupling matrix corresponding to the bosonic annihilation operator
+            :math:`g_{bpq} p^\dagger q b`. The creation part is assumed to be the fermionic
+            conjugate transpose to retain Hermiticity in the Hamiltonian.
+        G: Boson non-conserving term :math:`G_{b} (b^\dagger + b)`.
+        mo_coeff: Molecular orbital coefficients. Default is the mean-field coefficients.
+        mo_occ: Molecular orbital occupation numbers. Default is the mean-field occupation.
+        fock: Fock matrix. Default is the mean-field Fock matrix.
+        **kwargs: Additional keyword arguments used to update `options`.
+    """
+    # Options:
+    if options is None:
+        options = self.Options()
+    self.options = options
+    for key, val in kwargs.items():
+        setattr(self.options, key, val)
+
+    # Parameters:
+    self.log = default_log if log is None else log
+    self.mf = self._convert_mf(mf)
+    self._mo_coeff: Optional[NDArray[T]] = (
+        np.asarray(mo_coeff, dtype=types[float]) if mo_coeff is not None else None
+    )
+    self._mo_occ: Optional[NDArray[T]] = (
+        np.asarray(mo_occ, dtype=types[float]) if mo_occ is not None else None
+    )
+
+    # Ansatz:
+    if isinstance(ansatz, Ansatz):
+        self.ansatz = ansatz
+    elif isinstance(ansatz, str):
+        self.ansatz = Ansatz.from_string(
+            ansatz, density_fitting=getattr(self.mf, "with_df", None) is not None
+        )
+    else:
+        raise TypeError("ansatz must be an Ansatz object or a string.")
+    self._eqns = self.ansatz._get_eqns(self.spin_type)
+
+    # Space:
+    if space is not None:
+        self.space = space
+    else:
+        self.space = self.init_space()
+
+    # Boson parameters:
+    if bool(self.fermion_coupling_rank) != bool(self.boson_coupling_rank):
+        raise ValueError(
+            "Fermionic and bosonic coupling ranks must both be zero, or both non-zero."
+        )
+    self.omega = np.asarray(omega, dtype=types[float]) if omega is not None else None
+    self.bare_g = np.asarray(g, dtype=types[float]) if g is not None else None
+    self.bare_G = np.asarray(G, dtype=types[float]) if G is not None else None
+    if self.boson_ansatz != "":
+        self.g = self.get_g()
+        self.G = self.get_mean_field_G()
+        if self.options.shift:
+            self.log.info(" > Energy shift due to polaritonic basis:  %.10f", self.const)
+    else:
+        assert self.nbos == 0
+        self.options.shift = False
+        self.g = None
+        self.G = None
+
+    # Fock matrix:
+    if fock is None:
+        self.fock = self.get_fock()
+    else:
+        self.fock = fock
+
+    # Attributes:
+    self.e_corr = 0.0
+    self.amplitudes = util.Namespace()
+    self.converged = False
+    self.lambdas = util.Namespace()
+    self.converged_lambda = False
+
+    # Logging:
+    init_logging(self.log)
+    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" > 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" > diis_min_space:  {ANSI.y}{self.options.diis_min_space}{ANSI.R}")
+    self.log.info(f" > damping:  {ANSI.y}{self.options.damping}{ANSI.R}")
+    self.log.debug("")
+    self.log.info(f"{ANSI.B}Ansatz{ANSI.R}: {ANSI.m}{self.ansatz}{ANSI.R}")
+    self.log.debug("")
+    self.log.info(f"{ANSI.B}Space{ANSI.R}: {ANSI.m}{self.space}{ANSI.R}")
+    self.log.debug("")
+
+
+ + + +
+ + + + + + + +
+ + + +

+ ebcc.cc.uebcc.UEBCC.spin_type: str + + + property + + +

+ + +
+ +

Get a string representation of the spin type.

+
+ +
+ +
+ + + +

+ ebcc.cc.uebcc.UEBCC.bare_fock: Namespace[NDArray[T]] + + + property + + +

+ + +
+ +

Get the mean-field Fock matrix in the MO basis, including frozen parts.

+

Returns an array and not a BaseFock object.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[NDArray[T]] + – +
    +

    Mean-field Fock matrix.

    +
    +
  • +
+
+ +
+ +
+ + + +

+ ebcc.cc.uebcc.UEBCC.xi: NDArray[T] + + + property + + +

+ + +
+ +

Get the shift in the bosonic operators to diagonalise the photon Hamiltonian.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Shift in the bosonic operators.

    +
    +
  • +
+
+ +
+ +
+ + + +

+ ebcc.cc.uebcc.UEBCC.nmo: int + + + property + + +

+ + +
+ +

Get the number of molecular orbitals.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + int + – +
    +

    Number of molecular orbitals.

    +
    +
  • +
+
+ +
+ +
+ + + +

+ ebcc.cc.uebcc.UEBCC.nocc: tuple[int, int] + + + property + + +

+ + +
+ +

Get the number of occupied molecular orbitals.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + tuple[int, int] + – +
    +

    Number of occupied molecular orbitals for each spin.

    +
    +
  • +
+
+ +
+ +
+ + + +

+ ebcc.cc.uebcc.UEBCC.nvir: tuple[int, int] + + + property + + +

+ + +
+ +

Get the number of virtual molecular orbitals.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + tuple[int, int] + – +
    +

    Number of virtual molecular orbitals for each spin.

    +
    +
  • +
+
+ +
+ + + +
+ + +

+ ebcc.cc.uebcc.UEBCC.ip_eom(**kwargs) + +

+ + +
+ +

Get the IP-EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + options + – +
    +

    Options for the IP-EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + IP_UEOM + – +
    +

    IP-EOM object.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/uebcc.py +
58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
def ip_eom(self, **kwargs: Any) -> IP_UEOM:
+    """Get the IP-EOM object.
+
+    Args:
+        options: Options for the IP-EOM calculation.
+        **kwargs: Additional keyword arguments.
+
+    Returns:
+        IP-EOM object.
+    """
+    return IP_UEOM(self, **kwargs)
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.uebcc.UEBCC.ea_eom(**kwargs) + +

+ + +
+ +

Get the EA-EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + options + – +
    +

    Options for the EA-EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + EA_UEOM + – +
    +

    EA-EOM object.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/uebcc.py +
70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
def ea_eom(self, **kwargs: Any) -> EA_UEOM:
+    """Get the EA-EOM object.
+
+    Args:
+        options: Options for the EA-EOM calculation.
+        **kwargs: Additional keyword arguments.
+
+    Returns:
+        EA-EOM object.
+    """
+    return EA_UEOM(self, **kwargs)
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.uebcc.UEBCC.ee_eom(**kwargs) + +

+ + +
+ +

Get the EE-EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + options + – +
    +

    Options for the EE-EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + EE_UEOM + – +
    +

    EE-EOM object.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/uebcc.py +
82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
def ee_eom(self, **kwargs: Any) -> EE_UEOM:
+    """Get the EE-EOM object.
+
+    Args:
+        options: Options for the EE-EOM calculation.
+        **kwargs: Additional keyword arguments.
+
+    Returns:
+        EE-EOM object.
+    """
+    return EE_UEOM(self, **kwargs)
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.uebcc.UEBCC.from_rebcc(rcc) + + + classmethod + + +

+ + +
+ +

Initialise an UEBCC object from an REBCC object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + rcc + (REBCC) + – +
    +

    Restricted electron-boson coupled cluster object.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + UEBCC + – +
    +

    UEBCC object.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/uebcc.py +
103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
@classmethod
+def from_rebcc(cls, rcc: REBCC) -> UEBCC:
+    """Initialise an `UEBCC` object from an `REBCC` object.
+
+    Args:
+        rcc: Restricted electron-boson coupled cluster object.
+
+    Returns:
+        UEBCC object.
+    """
+    ucc = cls(
+        rcc.mf,
+        log=rcc.log,
+        ansatz=rcc.ansatz,
+        space=(rcc.space, rcc.space),
+        omega=rcc.omega,
+        g=rcc.bare_g,
+        G=rcc.bare_G,
+        options=rcc.options,
+    )
+
+    ucc.e_corr = rcc.e_corr
+    ucc.converged = rcc.converged
+    ucc.converged_lambda = rcc.converged_lambda
+
+    has_amps = bool(rcc.amplitudes)
+    has_lams = bool(rcc.lambdas)
+
+    if has_amps:
+        amplitudes: Namespace[SpinArrayType] = util.Namespace()
+
+        for name, key, n in ucc.ansatz.fermionic_cluster_ranks(spin_type=ucc.spin_type):
+            amplitudes[name] = util.Namespace()
+            for comb in util.generate_spin_combinations(n, unique=True):
+                subscript, _ = util.combine_subscripts(key, comb)
+                tn = rcc.amplitudes[name]
+                tn = util.symmetrise(subscript, tn, symmetry="-" * 2 * n)
+                amplitudes[name][comb] = tn
+
+        for name, key, n in ucc.ansatz.bosonic_cluster_ranks(spin_type=ucc.spin_type):
+            amplitudes[name] = np.copy(rcc.amplitudes[name])  # type: ignore
+
+        for name, key, nf, nb in ucc.ansatz.coupling_cluster_ranks(spin_type=ucc.spin_type):
+            amplitudes[name] = util.Namespace()
+            for comb in util.generate_spin_combinations(nf, unique=True):
+                tn = rcc.amplitudes[name]
+                amplitudes[name][comb] = tn
+
+        ucc.amplitudes = amplitudes
+
+    if has_lams:
+        lambdas: Namespace[SpinArrayType] = util.Namespace()
+
+        for name, key, n in ucc.ansatz.fermionic_cluster_ranks(spin_type=ucc.spin_type):
+            lname = name.replace("t", "l")
+            lambdas[lname] = util.Namespace()
+            for comb in util.generate_spin_combinations(n, unique=True):
+                subscript, _ = util.combine_subscripts(key, comb)
+                tn = rcc.lambdas[lname]
+                tn = util.symmetrise(subscript, tn, symmetry="-" * 2 * n)
+                lambdas[lname][comb] = tn
+
+        for name, key, n in ucc.ansatz.bosonic_cluster_ranks(spin_type=ucc.spin_type):
+            lname = "l" + name
+            lambdas[lname] = np.copy(rcc.lambdas[lname])  # type: ignore
+
+        for name, key, nf, nb in ucc.ansatz.coupling_cluster_ranks(spin_type=ucc.spin_type):
+            lname = "l" + name
+            lambdas[lname] = util.Namespace()
+            for comb in util.generate_spin_combinations(nf, unique=True):
+                tn = rcc.lambdas[lname]
+                lambdas[lname][comb] = tn
+
+        ucc.lambdas = lambdas
+
+    return ucc
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.uebcc.UEBCC.init_space() + +

+ + +
+ +

Initialise the fermionic space.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + SpaceType + – +
    +

    Fermionic space. All fermionic degrees of freedom are assumed to be correlated.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/uebcc.py +
180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
def init_space(self) -> SpaceType:
+    """Initialise the fermionic space.
+
+    Returns:
+        Fermionic space. All fermionic degrees of freedom are assumed to be correlated.
+    """
+    space = (
+        Space(
+            self.mo_occ[0] > 0,
+            np.zeros(self.mo_occ[0].shape, dtype=np.bool_),
+            np.zeros(self.mo_occ[0].shape, dtype=np.bool_),
+        ),
+        Space(
+            self.mo_occ[1] > 0,
+            np.zeros(self.mo_occ[1].shape, dtype=np.bool_),
+            np.zeros(self.mo_occ[1].shape, dtype=np.bool_),
+        ),
+    )
+    return space
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.uebcc.UEBCC.init_amps(eris=None) + +

+ + +
+ +

Initialise the cluster amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    Initial cluster amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/uebcc.py +
225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
def init_amps(self, eris: Optional[ERIsInputType] = None) -> Namespace[SpinArrayType]:
+    """Initialise the cluster amplitudes.
+
+    Args:
+        eris: Electron repulsion integrals.
+
+    Returns:
+        Initial cluster amplitudes.
+    """
+    eris = self.get_eris(eris)
+    amplitudes: Namespace[SpinArrayType] = util.Namespace()
+
+    # Build T amplitudes
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(spin_type=self.spin_type):
+        tn: SpinArrayType = util.Namespace()
+        for comb in util.generate_spin_combinations(n, unique=True):
+            if n == 1:
+                tn[comb] = self.fock[comb][key] / self.energy_sum(key, comb)
+            elif n == 2:
+                comb_t = comb[0] + comb[2] + comb[1] + comb[3]
+                key_t = key[0] + key[2] + key[1] + key[3]
+                tn[comb] = np.transpose(eris[comb_t][key_t], (0, 2, 1, 3)) / self.energy_sum(
+                    key, comb
+                )
+                if comb in ("aaaa", "bbbb"):
+                    # TODO generalise:
+                    tn[comb] = (tn[comb] - np.transpose(tn[comb], (1, 0, 2, 3))) * 0.5
+            else:
+                shape = tuple(self.space["ab".index(s)].size(k) for s, k in zip(comb, key))
+                tn[comb] = np.zeros(shape, dtype=types[float])
+            amplitudes[name] = tn
+
+    # Build S amplitudes:
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type):
+        if self.omega is None or self.G is None:
+            raise ValueError("Bosonic parameters not set.")
+        if n == 1:
+            amplitudes[name] = -self.G / self.omega  # type: ignore
+        else:
+            shape = (self.nbos,) * n
+            amplitudes[name] = np.zeros(shape, dtype=types[float])  # type: ignore
+
+    # Build U amplitudes:
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(spin_type=self.spin_type):
+        if self.omega is None or self.g is None:
+            raise ValueError("Bosonic parameters not set.")
+        if nf != 1:
+            raise util.ModelNotImplemented
+        if nb == 1:
+            tn = util.Namespace(
+                aa=self.g.aa[key] / self.energy_sum(key, "_aa"),
+                bb=self.g.bb[key] / self.energy_sum(key, "_aa"),
+            )
+            amplitudes[name] = tn
+        else:
+            tn = util.Namespace(
+                aa=np.zeros(
+                    (self.nbos,) * nb + tuple(self.space[0].size(k) for k in key[nb:]),
+                    dtype=types[float],
+                ),
+                bb=np.zeros(
+                    (self.nbos,) * nb + tuple(self.space[0].size(k) for k in key[nb:]),
+                    dtype=types[float],
+                ),
+            )
+            amplitudes[name] = tn
+
+    return amplitudes
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.uebcc.UEBCC.init_lams(amplitudes=None) + +

+ + +
+ +

Initialise the cluster lambda amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    Initial cluster lambda amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/uebcc.py +
294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
def init_lams(
+    self, amplitudes: Optional[Namespace[SpinArrayType]] = None
+) -> Namespace[SpinArrayType]:
+    """Initialise the cluster lambda amplitudes.
+
+    Args:
+        amplitudes: Cluster amplitudes.
+
+    Returns:
+        Initial cluster lambda amplitudes.
+    """
+    if not amplitudes:
+        amplitudes = self.amplitudes
+    lambdas: Namespace[SpinArrayType] = util.Namespace()
+
+    # Build L amplitudes:
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(spin_type=self.spin_type):
+        lname = name.replace("t", "l")
+        perm = list(range(n, 2 * n)) + list(range(n))
+        lambdas[lname] = util.Namespace()
+        for key in dict(amplitudes[name]).keys():
+            ln = np.transpose(amplitudes[name][key], perm)
+            lambdas[lname][key] = ln
+
+    # Build LS amplitudes:
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type):
+        lambdas["l" + name] = amplitudes[name]  # type: ignore
+
+    # Build LU amplitudes:
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(spin_type=self.spin_type):
+        if nf != 1:
+            raise util.ModelNotImplemented
+        perm = list(range(nb)) + [nb + 1, nb]
+        lambdas["l" + name] = util.Namespace()
+        for key in dict(amplitudes[name]).keys():
+            ln = np.transpose(amplitudes[name][key], perm)
+            lambdas["l" + name][key] = ln
+
+    return lambdas
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.uebcc.UEBCC.update_amps(eris=None, amplitudes=None) + +

+ + +
+ +

Update the cluster amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    Updated cluster amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/uebcc.py +
334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
def update_amps(
+    self,
+    eris: Optional[ERIsInputType] = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+) -> Namespace[SpinArrayType]:
+    """Update the cluster amplitudes.
+
+    Args:
+        eris: Electron repulsion integrals.
+        amplitudes: Cluster amplitudes.
+
+    Returns:
+        Updated cluster amplitudes.
+    """
+    amplitudes = self._get_amps(amplitudes=amplitudes)
+    func, kwargs = self._load_function(
+        "update_amps",
+        eris=eris,
+        amplitudes=amplitudes,
+    )
+    res: Namespace[SpinArrayType] = func(**kwargs)
+    res = util.Namespace(**{key.rstrip("new"): val for key, val in res.items()})
+
+    # Divide T amplitudes:
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(spin_type=self.spin_type):
+        for comb in util.generate_spin_combinations(n, unique=True):
+            subscript, _ = util.combine_subscripts(key, comb)
+            tn = res[name][comb]
+            tn /= self.energy_sum(key, comb)
+            tn += amplitudes[name][comb]
+            tn = util.symmetrise(subscript, tn, symmetry="-" * (2 * n))
+            res[name][comb] = tn
+
+    # Divide S amplitudes:
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type):
+        res[name] /= self.energy_sum(key, "_" * n)  # type: ignore
+        res[name] += amplitudes[name]  # type: ignore
+
+    # Divide U amplitudes:
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(spin_type=self.spin_type):
+        if nf != 1:
+            raise util.ModelNotImplemented
+        tn = res[name].aa
+        tn /= self.energy_sum(key, "_" * nb + "aa")
+        tn += amplitudes[name].aa
+        res[name].aa = tn
+        tn = res[name].bb
+        tn /= self.energy_sum(key, "_" * nb + "bb")
+        tn += amplitudes[name].bb
+        res[name].bb = tn
+
+    return res
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.uebcc.UEBCC.update_lams(eris=None, amplitudes=None, lambdas=None, lambdas_pert=None, perturbative=False) + +

+ + +
+ +

Update the cluster lambda amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
  • + lambdas + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
  • + lambdas_pert + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Perturbative cluster lambda amplitudes.

    +
    +
  • +
  • + perturbative + (bool, default: + False +) + – +
    +

    Flag to include perturbative correction.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    Updated cluster lambda amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/uebcc.py +
387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
def update_lams(
+    self,
+    eris: Optional[ERIsInputType] = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+    lambdas: Optional[Namespace[SpinArrayType]] = None,
+    lambdas_pert: Optional[Namespace[SpinArrayType]] = None,
+    perturbative: bool = False,
+) -> Namespace[SpinArrayType]:
+    """Update the cluster lambda amplitudes.
+
+    Args:
+        eris: Electron repulsion integrals.
+        amplitudes: Cluster amplitudes.
+        lambdas: Cluster lambda amplitudes.
+        lambdas_pert: Perturbative cluster lambda amplitudes.
+        perturbative: Flag to include perturbative correction.
+
+    Returns:
+        Updated cluster lambda amplitudes.
+    """
+    # TODO active
+    amplitudes = self._get_amps(amplitudes=amplitudes)
+    lambdas = self._get_lams(lambdas=lambdas, amplitudes=amplitudes)
+    func, kwargs = self._load_function(
+        "update_lams",
+        eris=eris,
+        amplitudes=amplitudes,
+        lambdas=lambdas,
+        lambdas_pert=lambdas_pert,
+    )
+    res: Namespace[SpinArrayType] = func(**kwargs)
+    res = util.Namespace(**{key.rstrip("new"): val for key, val in res.items()})
+
+    # Divide T amplitudes:
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="l"
+    ):
+        for comb in util.generate_spin_combinations(n, unique=True):
+            subscript, _ = util.combine_subscripts(key, comb)
+            tn = res[name][comb]
+            tn /= self.energy_sum(key, comb)
+            tn += lambdas[name][comb]
+            tn = util.symmetrise(subscript, tn, symmetry="-" * (2 * n))
+            res[name][comb] = tn
+
+    # Divide S amplitudes:
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="l"):
+        res[name] /= self.energy_sum(key, "_" * n)  # type: ignore
+        res[name] += lambdas[name]  # type: ignore
+
+    # Divide U amplitudes:
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="l"
+    ):
+        if nf != 1:
+            raise util.ModelNotImplemented
+        tn = res[name].aa
+        tn /= self.energy_sum(key, "_" * nb + "aa")
+        tn += lambdas[name].aa
+        res[name].aa = tn
+        tn = res[name].bb
+        tn /= self.energy_sum(key, "_" * nb + "bb")
+        tn += lambdas[name].bb
+        res[name].bb = tn
+
+    return res
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.uebcc.UEBCC.make_rdm1_f(eris=None, amplitudes=None, lambdas=None, hermitise=True) + +

+ + +
+ +

Make the one-particle fermionic reduced density matrix :math:\langle i^+ j \rangle.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
  • + lambdas + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
  • + hermitise + (bool, default: + True +) + – +
    +

    Hermitise the density matrix.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + SpinArrayType + – +
    +

    One-particle fermion reduced density matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/uebcc.py +
454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
def make_rdm1_f(
+    self,
+    eris: Optional[ERIsInputType] = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+    lambdas: Optional[Namespace[SpinArrayType]] = None,
+    hermitise: bool = True,
+) -> SpinArrayType:
+    r"""Make the one-particle fermionic reduced density matrix :math:`\langle i^+ j \rangle`.
+
+    Args:
+        eris: Electron repulsion integrals.
+        amplitudes: Cluster amplitudes.
+        lambdas: Cluster lambda amplitudes.
+        hermitise: Hermitise the density matrix.
+
+    Returns:
+        One-particle fermion reduced density matrix.
+    """
+    func, kwargs = self._load_function(
+        "make_rdm1_f",
+        eris=eris,
+        amplitudes=amplitudes,
+        lambdas=lambdas,
+    )
+    dm: SpinArrayType = func(**kwargs)
+
+    if hermitise:
+        dm.aa = (dm.aa + np.transpose(dm.aa)) * 0.5
+        dm.bb = (dm.bb + np.transpose(dm.bb)) * 0.5
+
+    return dm
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.uebcc.UEBCC.make_rdm2_f(eris=None, amplitudes=None, lambdas=None, hermitise=True) + +

+ + +
+ +

Make the two-particle fermionic reduced density matrix :math:\langle i^+j^+lk \rangle.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
  • + lambdas + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
  • + hermitise + (bool, default: + True +) + – +
    +

    Hermitise the density matrix.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + SpinArrayType + – +
    +

    Two-particle fermion reduced density matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/uebcc.py +
486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
def make_rdm2_f(
+    self,
+    eris: Optional[ERIsInputType] = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+    lambdas: Optional[Namespace[SpinArrayType]] = None,
+    hermitise: bool = True,
+) -> SpinArrayType:
+    r"""Make the two-particle fermionic reduced density matrix :math:`\langle i^+j^+lk \rangle`.
+
+    Args:
+        eris: Electron repulsion integrals.
+        amplitudes: Cluster amplitudes.
+        lambdas: Cluster lambda amplitudes.
+        hermitise: Hermitise the density matrix.
+
+    Returns:
+        Two-particle fermion reduced density matrix.
+    """
+    func, kwargs = self._load_function(
+        "make_rdm2_f",
+        eris=eris,
+        amplitudes=amplitudes,
+        lambdas=lambdas,
+    )
+    dm: SpinArrayType = func(**kwargs)
+
+    if hermitise:
+
+        def transpose1(dm: NDArray[T]) -> NDArray[T]:
+            dm = (np.transpose(dm, (0, 1, 2, 3)) + np.transpose(dm, (2, 3, 0, 1))) * 0.5
+            return dm
+
+        def transpose2(dm: NDArray[T]) -> NDArray[T]:
+            dm = (np.transpose(dm, (0, 1, 2, 3)) + np.transpose(dm, (1, 0, 3, 2))) * 0.5
+            return dm
+
+        dm.aaaa = transpose2(transpose1(dm.aaaa))
+        dm.aabb = transpose2(dm.aabb)
+        dm.bbbb = transpose2(transpose1(dm.bbbb))
+
+    return dm
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.uebcc.UEBCC.make_eb_coup_rdm(eris=None, amplitudes=None, lambdas=None, unshifted=True, hermitise=True) + +

+ + +
+ +

Make the electron-boson coupling reduced density matrix.

+

.. math:: + \langle b^+ i^+ j \rangle

+

and

+

.. math:: + \langle b i^+ j \rangle

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
  • + lambdas + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
  • + unshifted + (bool, default: + True +) + – +
    +

    If self.options.shift is True, return the unshifted density matrix. Has +no effect if self.options.shift is False.

    +
    +
  • +
  • + hermitise + (bool, default: + True +) + – +
    +

    Hermitise the density matrix.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + SpinArrayType + – +
    +

    Electron-boson coupling reduced density matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/uebcc.py +
528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
def make_eb_coup_rdm(
+    self,
+    eris: Optional[ERIsInputType] = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+    lambdas: Optional[Namespace[SpinArrayType]] = None,
+    unshifted: bool = True,
+    hermitise: bool = True,
+) -> SpinArrayType:
+    r"""Make the electron-boson coupling reduced density matrix.
+
+    .. math::
+        \langle b^+ i^+ j \rangle
+
+    and
+
+    .. math::
+        \langle b i^+ j \rangle
+
+    Args:
+        eris: Electron repulsion integrals.
+        amplitudes: Cluster amplitudes.
+        lambdas: Cluster lambda amplitudes.
+        unshifted: If `self.options.shift` is `True`, return the unshifted density matrix. Has
+            no effect if `self.options.shift` is `False`.
+        hermitise: Hermitise the density matrix.
+
+    Returns:
+        Electron-boson coupling reduced density matrix.
+    """
+    func, kwargs = self._load_function(
+        "make_eb_coup_rdm",
+        eris=eris,
+        amplitudes=amplitudes,
+        lambdas=lambdas,
+    )
+    dm_eb: SpinArrayType = func(**kwargs)
+
+    if hermitise:
+        dm_eb.aa = np.array(
+            [
+                (dm_eb.aa[0] + np.transpose(dm_eb.aa[1], (0, 2, 1))) * 0.5,
+                (dm_eb.aa[1] + np.transpose(dm_eb.aa[0], (0, 2, 1))) * 0.5,
+            ]
+        )
+        dm_eb.bb = np.array(
+            [
+                (dm_eb.bb[0] + np.transpose(dm_eb.bb[1], (0, 2, 1))) * 0.5,
+                (dm_eb.bb[1] + np.transpose(dm_eb.bb[0], (0, 2, 1))) * 0.5,
+            ]
+        )
+
+    if unshifted and self.options.shift:
+        rdm1_f = self.make_rdm1_f(hermitise=hermitise)
+        shift = util.einsum("x,ij->xij", self.xi, rdm1_f.aa)
+        dm_eb.aa -= shift[None]
+        shift = util.einsum("x,ij->xij", self.xi, rdm1_f.bb)
+        dm_eb.bb -= shift[None]
+
+    return dm_eb
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.uebcc.UEBCC.energy_sum(*args, signs_dict=None) + +

+ + +
+ +

Get a direct sum of energies.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + *args + (str, default: + () +) + – +
    +

    Energies to sum. Should specify a subscript and spins.

    +
    +
  • +
  • + signs_dict + (Optional[dict[str, str]], default: + None +) + – +
    +

    Signs of the energies in the sum. Default sets ("o", "O", "i") to be +positive, and ("v", "V", "a", "b") to be negative.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Sum of energies.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/uebcc.py +
588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
def energy_sum(self, *args: str, signs_dict: Optional[dict[str, str]] = None) -> NDArray[T]:
+    """Get a direct sum of energies.
+
+    Args:
+        *args: Energies to sum. Should specify a subscript and spins.
+        signs_dict: Signs of the energies in the sum. Default sets `("o", "O", "i")` to be
+            positive, and `("v", "V", "a", "b")` to be negative.
+
+    Returns:
+        Sum of energies.
+    """
+    subscript, spins = args
+    n = 0
+
+    def next_char() -> str:
+        nonlocal n
+        if n < 26:
+            char = chr(ord("a") + n)
+        else:
+            char = chr(ord("A") + n)
+        n += 1
+        return char
+
+    if signs_dict is None:
+        signs_dict = {}
+    for k, s in zip("vVaoOib", "---+++-"):
+        if k not in signs_dict:
+            signs_dict[k] = s
+
+    energies = []
+    for key, spin in zip(subscript, spins):
+        factor = 1 if signs_dict[key] == "+" else -1
+        if key == "b":
+            assert self.omega is not None
+            energies.append(self.omega * types[float](factor))
+        else:
+            energies.append(np.diag(self.fock[spin + spin][key + key]) * types[float](factor))
+
+    subscript = ",".join([next_char() for k in subscript])
+    energy_sum = util.dirsum(subscript, *energies)
+
+    return energy_sum
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.uebcc.UEBCC.amplitudes_to_vector(amplitudes) + +

+ + +
+ +

Construct a vector containing all of the amplitudes used in the given ansatz.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + amplitudes + (Namespace[SpinArrayType]) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Cluster amplitudes as a vector.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/uebcc.py +
631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
def amplitudes_to_vector(self, amplitudes: Namespace[SpinArrayType]) -> NDArray[T]:
+    """Construct a vector containing all of the amplitudes used in the given ansatz.
+
+    Args:
+        amplitudes: Cluster amplitudes.
+
+    Returns:
+        Cluster amplitudes as a vector.
+    """
+    vectors = []
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(spin_type=self.spin_type):
+        for spin in util.generate_spin_combinations(n, unique=True):
+            tn = amplitudes[name][spin]
+            subscript, _ = util.combine_subscripts(key, spin)
+            vectors.append(np.ravel(util.compress_axes(subscript, tn)))
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type):
+        vectors.append(np.ravel(amplitudes[name]))  # type: ignore
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(spin_type=self.spin_type):
+        if nf != 1:
+            raise util.ModelNotImplemented
+        vectors.append(np.ravel(amplitudes[name].aa))
+        vectors.append(np.ravel(amplitudes[name].bb))
+
+    return np.concatenate(vectors)
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.uebcc.UEBCC.vector_to_amplitudes(vector) + +

+ + +
+ +

Construct a namespace of amplitudes from a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + vector + (NDArray[T]) + – +
    +

    Cluster amplitudes as a vector.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    Cluster amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/uebcc.py +
659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
def vector_to_amplitudes(self, vector: NDArray[T]) -> Namespace[SpinArrayType]:
+    """Construct a namespace of amplitudes from a vector.
+
+    Args:
+        vector: Cluster amplitudes as a vector.
+
+    Returns:
+        Cluster amplitudes.
+    """
+    amplitudes: Namespace[SpinArrayType] = util.Namespace()
+    i0 = 0
+    sizes: dict[tuple[str, ...], int] = {
+        (o, s): self.space[i].size(o) for o in "ovOVia" for i, s in enumerate("ab")
+    }
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(spin_type=self.spin_type):
+        amplitudes[name] = util.Namespace()
+        for spin in util.generate_spin_combinations(n, unique=True):
+            subscript, csizes = util.combine_subscripts(key, spin, sizes=sizes)
+            size = util.get_compressed_size(subscript, **csizes)
+            shape = tuple(self.space["ab".index(s)].size(k) for s, k in zip(spin, key))
+            tn_tril = vector[i0 : i0 + size]
+            tn = util.decompress_axes(subscript, tn_tril, shape=shape)
+            amplitudes[name][spin] = tn
+            i0 += size
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type):
+        shape = (self.nbos,) * n
+        size = self.nbos**n
+        amplitudes[name] = np.reshape(vector[i0 : i0 + size], shape)  # type: ignore
+        i0 += size
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(spin_type=self.spin_type):
+        if nf != 1:
+            raise util.ModelNotImplemented
+        amplitudes[name] = util.Namespace()
+        shape = (self.nbos,) * nb + tuple(self.space[0].size(k) for k in key[nb:])
+        size = util.prod(shape)
+        amplitudes[name].aa = np.reshape(vector[i0 : i0 + size], shape)
+        i0 += size
+        shape = (self.nbos,) * nb + tuple(self.space[1].size(k) for k in key[nb:])
+        size = util.prod(shape)
+        amplitudes[name].bb = np.reshape(vector[i0 : i0 + size], shape)
+        i0 += size
+
+    assert i0 == len(vector)
+
+    return amplitudes
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.uebcc.UEBCC.lambdas_to_vector(lambdas) + +

+ + +
+ +

Construct a vector containing all of the lambda amplitudes used in the given ansatz.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + lambdas + (Namespace[SpinArrayType]) + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Cluster lambda amplitudes as a vector.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/uebcc.py +
708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
def lambdas_to_vector(self, lambdas: Namespace[SpinArrayType]) -> NDArray[T]:
+    """Construct a vector containing all of the lambda amplitudes used in the given ansatz.
+
+    Args:
+        lambdas: Cluster lambda amplitudes.
+
+    Returns:
+        Cluster lambda amplitudes as a vector.
+    """
+    vectors = []
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="l"
+    ):
+        for spin in util.generate_spin_combinations(n, unique=True):
+            tn = lambdas[name][spin]
+            subscript, _ = util.combine_subscripts(key, spin)
+            vectors.append(np.ravel(util.compress_axes(subscript, tn)))
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="l"):
+        vectors.append(np.ravel(lambdas[name]))  # type: ignore
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="l"
+    ):
+        if nf != 1:
+            raise util.ModelNotImplemented
+        vectors.append(np.ravel(lambdas[name].aa))
+        vectors.append(np.ravel(lambdas[name].bb))
+
+    return np.concatenate(vectors)
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.uebcc.UEBCC.vector_to_lambdas(vector) + +

+ + +
+ +

Construct a namespace of lambda amplitudes from a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + vector + (NDArray[T]) + – +
    +

    Cluster lambda amplitudes as a vector.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    Cluster lambda amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/uebcc.py +
740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
def vector_to_lambdas(self, vector: NDArray[T]) -> Namespace[SpinArrayType]:
+    """Construct a namespace of lambda amplitudes from a vector.
+
+    Args:
+        vector: Cluster lambda amplitudes as a vector.
+
+    Returns:
+        Cluster lambda amplitudes.
+    """
+    lambdas: Namespace[SpinArrayType] = util.Namespace()
+    i0 = 0
+    sizes: dict[tuple[str, ...], int] = {
+        (o, s): self.space[i].size(o) for o in "ovOVia" for i, s in enumerate("ab")
+    }
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="l"
+    ):
+        lambdas[name] = util.Namespace()
+        for spin in util.generate_spin_combinations(n, unique=True):
+            subscript, csizes = util.combine_subscripts(key, spin, sizes=sizes)
+            size = util.get_compressed_size(subscript, **csizes)
+            shape = tuple(self.space["ab".index(s)].size(k) for s, k in zip(spin, key))
+            tn_tril = vector[i0 : i0 + size]
+            tn = util.decompress_axes(subscript, tn_tril, shape=shape)
+            lambdas[name][spin] = tn
+            i0 += size
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="l"):
+        shape = (self.nbos,) * n
+        size = self.nbos**n
+        lambdas[name] = np.reshape(vector[i0 : i0 + size], shape)  # type: ignore
+        i0 += size
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="l"
+    ):
+        if nf != 1:
+            raise util.ModelNotImplemented
+        lambdas[name] = util.Namespace()
+        shape = (self.nbos,) * nb + tuple(self.space[0].size(k) for k in key[nb:])
+        size = util.prod(shape)
+        lambdas[name].aa = np.reshape(vector[i0 : i0 + size], shape)
+        i0 += size
+        shape = (self.nbos,) * nb + tuple(self.space[1].size(k) for k in key[nb:])
+        size = util.prod(shape)
+        lambdas[name].bb = np.reshape(vector[i0 : i0 + size], shape)
+        i0 += size
+
+    assert i0 == len(vector)
+
+    return lambdas
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.uebcc.UEBCC.get_mean_field_G() + +

+ + +
+ +

Get the mean-field boson non-conserving term.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Mean-field boson non-conserving term.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/uebcc.py +
793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
def get_mean_field_G(self) -> NDArray[T]:
+    """Get the mean-field boson non-conserving term.
+
+    Returns:
+        Mean-field boson non-conserving term.
+    """
+    # FIXME should this also sum in frozen orbitals?
+    assert self.omega is not None
+    assert self.g is not None
+    boo: tuple[NDArray[T], NDArray[T]] = (self.g.aa.boo, self.g.bb.boo)
+    val = util.einsum("Ipp->I", boo[0])
+    val += util.einsum("Ipp->I", boo[1])
+    val -= self.xi * self.omega
+    if self.bare_G is not None:
+        # Require bare_G to have a spin index for now:
+        assert self.bare_G.shape == val.shape
+        val += self.bare_G
+    return val
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.uebcc.UEBCC.get_fock() + +

+ + +
+ +

Get the Fock matrix.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + UFock + – +
    +

    Fock matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/uebcc.py +
850
+851
+852
+853
+854
+855
+856
def get_fock(self) -> UFock:
+    """Get the Fock matrix.
+
+    Returns:
+        Fock matrix.
+    """
+    return self.Fock(self, array=(self.bare_fock.aa, self.bare_fock.bb), g=self.g)
+
+
+
+ +
+ +
+ + +

+ ebcc.cc.uebcc.UEBCC.get_eris(eris=None) + +

+ + +
+ +

Get the electron repulsion integrals.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Input electron repulsion integrals.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Union[UERIs, UCDERIs] + – +
    +

    Electron repulsion integrals.

    +
    +
  • +
+
+
+ Source code in ebcc/cc/uebcc.py +
858
+859
+860
+861
+862
+863
+864
+865
+866
+867
+868
+869
+870
+871
+872
+873
+874
+875
def get_eris(self, eris: Optional[ERIsInputType] = None) -> Union[UERIs, UCDERIs]:
+    """Get the electron repulsion integrals.
+
+    Args:
+        eris: Input electron repulsion integrals.
+
+    Returns:
+        Electron repulsion integrals.
+    """
+    use_df = getattr(self.mf, "with_df", None) is not None
+    if isinstance(eris, (UERIs, UCDERIs)):
+        return eris
+    elif (
+        isinstance(eris, tuple) and isinstance(eris[0], np.ndarray) and eris[0].ndim == 3
+    ) or use_df:
+        return self.CDERIs(self, array=eris)
+    else:
+        return self.ERIs(self, array=eris)
+
+
+
+ +
+ + + +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/reference/codegen/GCC2/index.html b/reference/codegen/GCC2/index.html new file mode 100644 index 00000000..65dbc158 --- /dev/null +++ b/reference/codegen/GCC2/index.html @@ -0,0 +1,4866 @@ + + + + + + + + GCC2 - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-17T18:50:05.342431
  • +
  • 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.8.0-40-generic
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.GCC2.energy(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:50:05.500662.

+

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.

+ +
+ Source code in ebcc/codegen/GCC2.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
def energy(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:50:05.500662.
+
+    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(v.oovv, (0, 1, 2, 3), tmp0, (0, 1, 2, 3), ()) * 0.25
+    del tmp0
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCC2.update_amps(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:50:07.704613.

+

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.

+ +
+ Source code in ebcc/codegen/GCC2.py +
 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
def update_amps(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:50:07.704613.
+
+    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 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp4 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0))
+    tmp15 = einsum(t1, (0, 1), tmp14, (2, 0, 3, 4), (2, 3, 4, 1)) * -1
+    del tmp14
+    tmp0 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp10 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp13 = einsum(t2, (0, 1, 2, 3), tmp4, (1, 4), (4, 0, 2, 3))
+    tmp16 = einsum(t1, (0, 1), tmp15, (2, 0, 3, 4), (2, 3, 4, 1)) * -1
+    del tmp15
+    tmp23 = np.copy(v.oooo)
+    tmp23 += einsum(t1, (0, 1), tmp0, (2, 3, 4, 1), (4, 3, 0, 2)) * -1
+    tmp11 = einsum(t1, (0, 1), tmp10, (2, 3, 4, 1), (2, 0, 3, 4)) * -1
+    del tmp10
+    tmp21 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1))
+    tmp19 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2))
+    tmp5 = np.copy(t2)
+    tmp5 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2
+    tmp17 = np.copy(np.transpose(tmp13, (0, 1, 3, 2))) * -1
+    del tmp13
+    tmp17 += np.transpose(tmp16, (0, 1, 3, 2))
+    del tmp16
+    tmp24 = np.copy(v.ooov) * -1
+    tmp24 += einsum(tmp23, (0, 1, 2, 3), t1, (0, 4), (2, 3, 1, 4)) * -1
+    del tmp23
+    tmp18 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp7 = einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp12 = einsum(tmp11, (0, 1, 2, 3), t1, (2, 4), (1, 0, 4, 3)) * -1
+    del tmp11
+    tmp22 = einsum(tmp21, (0, 1, 2, 3), t1, (1, 4), (0, 2, 4, 3))
+    del tmp21
+    tmp20 = einsum(tmp19, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3))
+    del tmp19
+    tmp9 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3))
+    tmp8 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp3 = np.copy(f.ov)
+    tmp3 += einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3))
+    tmp6 = np.copy(f.oo)
+    tmp6 += tmp4
+    del tmp4
+    tmp6 += einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 2))
+    tmp6 += einsum(tmp5, (0, 1, 2, 3), v.oovv, (4, 0, 2, 3), (4, 1)) * -0.5
+    del tmp5
+    tmp1 = np.copy(np.transpose(v.ovoo, (0, 2, 3, 1))) * -1
+    tmp1 += np.transpose(tmp0, (0, 2, 1, 3)) * -1
+    del tmp0
+    tmp2 = np.copy(t2) * 0.5
+    tmp2 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    t2new = einsum(t1, (0, 1), tmp7, (2, 3, 4, 1), (0, 2, 4, 3)) * -1
+    del tmp7
+    t2new += v.oovv
+    t2new += einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 4, 1))
+    t2new += np.transpose(tmp8, (1, 0, 2, 3))
+    t2new += np.transpose(tmp8, (1, 0, 3, 2)) * -1
+    del tmp8
+    t2new += np.transpose(tmp9, (0, 1, 3, 2))
+    t2new += np.transpose(tmp9, (1, 0, 3, 2)) * -1
+    del tmp9
+    t2new += tmp12 * -1
+    t2new += np.transpose(tmp12, (0, 1, 3, 2))
+    del tmp12
+    t2new += tmp17
+    t2new += np.transpose(tmp17, (1, 0, 2, 3)) * -1
+    del tmp17
+    t2new += np.transpose(tmp18, (0, 1, 3, 2)) * -1
+    t2new += np.transpose(tmp18, (1, 0, 3, 2))
+    del tmp18
+    t2new += tmp20
+    t2new += np.transpose(tmp20, (0, 1, 3, 2)) * -1
+    del tmp20
+    t2new += tmp22
+    t2new += np.transpose(tmp22, (0, 1, 3, 2)) * -1
+    t2new += np.transpose(tmp22, (1, 0, 2, 3)) * -1
+    t2new += np.transpose(tmp22, (1, 0, 3, 2))
+    del tmp22
+    t2new += einsum(t1, (0, 1), tmp24, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp24
+    t1new = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    t1new += f.ov
+    t1new += einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1
+    t1new += einsum(tmp1, (0, 1, 2, 3), t2, (1, 2, 4, 3), (0, 4)) * 0.5
+    del tmp1
+    t1new += einsum(v.ovvv, (0, 1, 2, 3), tmp2, (0, 4, 2, 3), (4, 1))
+    del tmp2
+    t1new += einsum(t2, (0, 1, 2, 3), tmp3, (1, 3), (0, 2))
+    del tmp3
+    t1new += einsum(t1, (0, 1), tmp6, (0, 2), (2, 1)) * -1
+    del tmp6
+
+    return {f"t1new": t1new, f"t2new": t2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCC2.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-17T18:50:13.717326.

+

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.

+ +
+ Source code in ebcc/codegen/GCC2.py +
161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
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-17T18:50:13.717326.
+
+    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))
+    tmp4 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp10 = np.copy(v.ooov)
+    tmp10 += np.transpose(tmp5, (2, 1, 0, 3)) * 0.5
+    tmp1 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2))
+    tmp7 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3))
+    tmp6 = np.copy(np.transpose(v.ovoo, (0, 2, 3, 1))) * -1
+    tmp6 += np.transpose(tmp5, (0, 2, 1, 3)) * -1
+    tmp23 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2))
+    tmp34 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1
+    tmp34 += tmp4
+    tmp18 = einsum(t1, (0, 1), l1, (1, 2), (2, 0))
+    tmp25 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3))
+    tmp41 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0))
+    tmp19 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 1), (4, 0))
+    tmp11 = einsum(t1, (0, 1), tmp10, (2, 3, 4, 1), (2, 3, 4, 0))
+    del tmp10
+    tmp0 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1))
+    tmp2 = einsum(tmp1, (0, 1, 2, 3), t1, (4, 3), (0, 1, 4, 2))
+    tmp46 = einsum(tmp7, (0, 1), t1, (2, 1), (2, 0))
+    tmp27 = einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2))
+    tmp28 = einsum(tmp7, (0, 1), tmp1, (2, 3, 0, 4), (2, 3, 4, 1))
+    tmp39 = einsum(l1, (0, 1), tmp6, (1, 2, 3, 4), (2, 3, 4, 0))
+    tmp38 = einsum(tmp23, (0, 1), l2, (2, 0, 3, 4), (3, 4, 2, 1))
+    tmp37 = einsum(tmp1, (0, 1, 2, 3), f.ov, (2, 4), (0, 1, 4, 3))
+    tmp33 = einsum(tmp1, (0, 1, 2, 3), v.ooov, (4, 2, 1, 5), (0, 4, 3, 5))
+    tmp35 = einsum(l2, (0, 1, 2, 3), tmp34, (3, 4, 1, 5), (4, 2, 5, 0))
+    del tmp34
+    tmp43 = einsum(v.oovv, (0, 1, 2, 3), tmp18, (4, 1), (4, 0, 2, 3))
+    tmp44 = einsum(l2, (0, 1, 2, 3), tmp25, (4, 3), (2, 4, 0, 1))
+    tmp42 = einsum(tmp41, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3))
+    del tmp41
+    tmp30 = einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3))
+    tmp31 = einsum(v.ovvv, (0, 1, 2, 3), l1, (1, 4), (4, 0, 2, 3))
+    tmp20 = np.copy(tmp18) * 2
+    tmp20 += tmp19
+    tmp12 = np.copy(v.oooo) * -0.5
+    tmp12 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (4, 5, 0, 1)) * -0.25
+    tmp12 += np.transpose(tmp11, (1, 0, 3, 2)) * -1
+    tmp9 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3)))
+    tmp9 += np.transpose(tmp4, (0, 1, 3, 2)) * -0.5
+    tmp8 = np.copy(f.ov)
+    tmp8 += tmp7
+    tmp15 = np.copy(np.transpose(tmp0, (1, 0, 3, 2))) * -0.5
+    tmp15 += np.transpose(tmp2, (0, 1, 3, 2))
+    tmp48 = einsum(tmp1, (0, 1, 2, 3), tmp5, (0, 4, 2, 5), (1, 4, 3, 5)) * -1
+    del tmp5
+    tmp47 = einsum(l2, (0, 1, 2, 3), tmp46, (3, 4), (2, 4, 0, 1))
+    del tmp46
+    tmp49 = np.copy(v.oooo) * 0.5
+    tmp49 += np.transpose(tmp11, (2, 3, 1, 0)) * -1
+    del tmp11
+    tmp29 = np.copy(np.transpose(tmp27, (1, 0, 2, 3))) * -1
+    del tmp27
+    tmp29 += tmp28
+    del tmp28
+    tmp40 = np.copy(tmp37) * -1
+    del tmp37
+    tmp40 += tmp38
+    del tmp38
+    tmp40 += np.transpose(tmp39, (1, 0, 3, 2))
+    del tmp39
+    tmp36 = einsum(tmp7, (0, 1), l1, (2, 3), (3, 0, 2, 1))
+    del tmp7
+    tmp36 += tmp33
+    del tmp33
+    tmp36 += np.transpose(tmp35, (1, 0, 3, 2))
+    del tmp35
+    tmp45 = np.copy(np.transpose(tmp42, (0, 1, 3, 2))) * -1
+    del tmp42
+    tmp45 += np.transpose(tmp43, (0, 1, 3, 2)) * -1
+    del tmp43
+    tmp45 += np.transpose(tmp44, (0, 1, 3, 2))
+    del tmp44
+    tmp32 = np.copy(np.transpose(tmp30, (0, 1, 3, 2))) * -1
+    del tmp30
+    tmp32 += np.transpose(tmp31, (0, 1, 3, 2))
+    del tmp31
+    tmp14 = np.copy(v.ovvv)
+    tmp14 += einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) * -1
+    tmp22 = np.copy(tmp18)
+    del tmp18
+    tmp22 += tmp19 * 0.5
+    del tmp19
+    tmp21 = np.copy(t1) * -1
+    tmp21 += einsum(t2, (0, 1, 2, 3), l1, (3, 1), (0, 2)) * -1
+    tmp21 += einsum(t2, (0, 1, 2, 3), tmp1, (1, 0, 4, 3), (4, 2)) * 0.5
+    tmp21 += einsum(tmp20, (0, 1), t1, (0, 2), (1, 2)) * 0.5
+    tmp13 = np.copy(np.transpose(v.ovoo, (0, 2, 3, 1))) * -0.5
+    tmp13 += einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (4, 0, 1, 5)) * -0.25
+    tmp13 += einsum(tmp6, (0, 1, 2, 3), t2, (4, 1, 5, 3), (2, 4, 0, 5))
+    del tmp6
+    tmp13 += einsum(t2, (0, 1, 2, 3), tmp8, (4, 3), (4, 0, 1, 2)) * 0.5
+    tmp13 += einsum(t1, (0, 1), tmp9, (2, 3, 1, 4), (3, 2, 0, 4)) * -1
+    del tmp9
+    tmp13 += einsum(tmp12, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4)) * -1
+    del tmp12
+    tmp16 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2))
+    tmp16 += einsum(tmp1, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) * -2
+    tmp16 += einsum(t1, (0, 1), tmp15, (0, 2, 3, 4), (2, 4, 3, 1)) * -1
+    del tmp15
+    tmp17 = einsum(t1, (0, 1), l1, (2, 0), (2, 1))
+    tmp17 += einsum(t2, (0, 1, 2, 3), l2, (4, 3, 0, 1), (4, 2)) * 0.5
+    tmp24 = np.copy(f.vv)
+    tmp24 += tmp23 * -1
+    del tmp23
+    tmp3 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 5, 1), (2, 4, 0, 5))
+    tmp26 = np.copy(f.oo) * 2
+    tmp26 += np.transpose(tmp25, (1, 0)) * 2
+    del tmp25
+    tmp26 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4))
+    tmp26 += einsum(tmp8, (0, 1), t1, (2, 1), (2, 0)) * 2
+    l2new = einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5
+    l2new += einsum(tmp1, (0, 1, 2, 3), v.ovvv, (2, 3, 4, 5), (4, 5, 0, 1))
+    l2new += np.transpose(v.oovv, (2, 3, 0, 1))
+    l2new += einsum(v.oovv, (0, 1, 2, 3), tmp2, (4, 5, 1, 0), (2, 3, 5, 4)) * 0.5
+    l2new += np.transpose(tmp29, (2, 3, 0, 1)) * -1
+    l2new += np.transpose(tmp29, (3, 2, 0, 1))
+    del tmp29
+    l2new += np.transpose(tmp32, (2, 3, 0, 1))
+    l2new += np.transpose(tmp32, (2, 3, 1, 0)) * -1
+    del tmp32
+    l2new += np.transpose(tmp36, (2, 3, 0, 1))
+    l2new += np.transpose(tmp36, (3, 2, 0, 1)) * -1
+    l2new += np.transpose(tmp36, (2, 3, 1, 0)) * -1
+    l2new += np.transpose(tmp36, (3, 2, 1, 0))
+    del tmp36
+    l2new += np.transpose(tmp40, (2, 3, 0, 1)) * -1
+    l2new += np.transpose(tmp40, (3, 2, 0, 1))
+    del tmp40
+    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(l1, (0, 1), f.ov, (2, 3), (3, 0, 1, 2)) * -1
+    l2new += einsum(f.ov, (0, 1), l1, (2, 3), (2, 1, 3, 0))
+    l2new += np.transpose(tmp45, (3, 2, 0, 1)) * -1
+    l2new += np.transpose(tmp45, (3, 2, 1, 0))
+    del tmp45
+    l2new += np.transpose(tmp47, (2, 3, 0, 1)) * -1
+    l2new += np.transpose(tmp47, (2, 3, 1, 0))
+    del tmp47
+    l2new += np.transpose(tmp48, (2, 3, 0, 1)) * -1
+    l2new += np.transpose(tmp48, (3, 2, 0, 1))
+    l2new += np.transpose(tmp48, (2, 3, 1, 0))
+    l2new += np.transpose(tmp48, (3, 2, 1, 0)) * -1
+    del tmp48
+    l2new += einsum(tmp49, (0, 1, 2, 3), l2, (4, 5, 0, 1), (4, 5, 2, 3))
+    del tmp49
+    l1new = einsum(v.ovoo, (0, 1, 2, 3), tmp0, (4, 0, 3, 2), (1, 4)) * 0.25
+    del tmp0
+    l1new += einsum(v.ooov, (0, 1, 2, 3), tmp2, (4, 2, 0, 1), (3, 4)) * -0.5
+    del tmp2
+    l1new += einsum(v.ovov, (0, 1, 2, 3), tmp1, (4, 2, 0, 1), (3, 4)) * -1
+    l1new += np.transpose(f.ov, (1, 0))
+    l1new += einsum(v.ovov, (0, 1, 2, 3), l1, (1, 2), (3, 0)) * -1
+    l1new += einsum(tmp3, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (4, 0)) * -1
+    del tmp3
+    l1new += einsum(tmp1, (0, 1, 2, 3), tmp4, (1, 2, 3, 4), (4, 0))
+    del tmp4, tmp1
+    l1new += einsum(tmp13, (0, 1, 2, 3), l2, (4, 3, 1, 2), (4, 0))
+    del tmp13
+    l1new += einsum(tmp14, (0, 1, 2, 3), l2, (2, 3, 4, 0), (1, 4)) * -0.5
+    del tmp14
+    l1new += einsum(v.oovv, (0, 1, 2, 3), tmp16, (4, 0, 1, 3), (2, 4)) * 0.5
+    del tmp16
+    l1new += einsum(tmp17, (0, 1), v.ovvv, (2, 0, 3, 1), (3, 2))
+    del tmp17
+    l1new += einsum(v.oovv, (0, 1, 2, 3), tmp21, (1, 3), (2, 0)) * -1
+    del tmp21
+    l1new += einsum(v.ooov, (0, 1, 2, 3), tmp22, (2, 1), (3, 0))
+    del tmp22
+    l1new += einsum(l1, (0, 1), tmp24, (0, 2), (2, 1))
+    del tmp24
+    l1new += einsum(tmp26, (0, 1), l1, (2, 0), (2, 1)) * -0.5
+    del tmp26
+    l1new += einsum(tmp8, (0, 1), tmp20, (2, 0), (1, 2)) * -0.5
+    del tmp20, tmp8
+
+    return {f"l1new": l1new, f"l2new": l2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCC2.make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:50:14.148775.

+

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.

+ +
+ Source code in ebcc/codegen/GCC2.py +
367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:50:14.148775.
+
+    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]),
+    )
+    tmp0 = einsum(t1, (0, 1), l1, (1, 2), (2, 0))
+    tmp1 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4))
+    tmp3 = np.copy(tmp0)
+    tmp3 += tmp1 * 0.5
+    tmp2 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2))
+    rdm1.vv = einsum(t1, (0, 1), l1, (2, 0), (2, 1))
+    rdm1.vv += einsum(t2, (0, 1, 2, 3), l2, (4, 3, 0, 1), (4, 2)) * 0.5
+    rdm1.vo = np.copy(l1)
+    rdm1.ov = einsum(tmp2, (0, 1, 2, 3), t2, (1, 0, 4, 3), (2, 4)) * -0.5
+    del tmp2
+    rdm1.ov += einsum(t2, (0, 1, 2, 3), l1, (3, 1), (0, 2))
+    rdm1.ov += t1
+    rdm1.ov += einsum(t1, (0, 1), tmp3, (0, 2), (2, 1)) * -1
+    del tmp3
+    rdm1.oo = np.copy(np.transpose(tmp0, (1, 0))) * -1
+    del tmp0
+    rdm1.oo += delta.oo
+    del delta
+    rdm1.oo += np.transpose(tmp1, (1, 0)) * -0.5
+    del tmp1
+    rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]])
+
+    return rdm1
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCC2.make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:50:20.811122.

+

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.

+ +
+ Source code in ebcc/codegen/GCC2.py +
417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:50:20.811122.
+
+    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(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2))
+    tmp3 = einsum(t1, (0, 1), l1, (1, 2), (2, 0))
+    tmp4 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4))
+    tmp21 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp0 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1))
+    tmp2 = einsum(tmp1, (0, 1, 2, 3), t1, (4, 3), (0, 1, 4, 2))
+    tmp6 = einsum(t2, (0, 1, 2, 3), tmp1, (4, 1, 5, 3), (4, 5, 0, 2)) * -1
+    tmp10 = einsum(t2, (0, 1, 2, 3), l1, (3, 1), (0, 2))
+    tmp11 = einsum(t1, (0, 1), tmp3, (0, 2), (2, 1))
+    tmp5 = einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4))
+    tmp14 = np.copy(tmp3) * 2
+    tmp14 += tmp4
+    tmp30 = einsum(t1, (0, 1), l1, (2, 0), (2, 1))
+    tmp25 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 0, 1), (4, 2))
+    tmp29 = einsum(t1, (0, 1), tmp1, (2, 0, 3, 4), (2, 3, 4, 1))
+    tmp36 = einsum(t1, (0, 1), tmp21, (0, 2, 3, 4), (2, 3, 1, 4))
+    tmp13 = np.copy(np.transpose(tmp0, (1, 0, 3, 2))) * -0.5
+    tmp13 += np.transpose(tmp2, (0, 1, 3, 2))
+    tmp18 = einsum(t1, (0, 1), tmp6, (0, 2, 3, 4), (2, 3, 1, 4))
+    tmp12 = np.copy(tmp10)
+    tmp12 += tmp11 * -1
+    del tmp11
+    tmp20 = einsum(t1, (0, 1), tmp5, (0, 2, 3, 4), (2, 3, 1, 4))
+    tmp22 = einsum(tmp21, (0, 1, 2, 3), t2, (4, 0, 5, 2), (4, 1, 5, 3))
+    tmp8 = einsum(t1, (0, 1), tmp4, (0, 2), (2, 1))
+    tmp7 = einsum(t2, (0, 1, 2, 3), tmp1, (1, 0, 4, 3), (4, 2))
+    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))
+    tmp31 = np.copy(tmp30)
+    tmp31 += tmp25 * 0.5
+    tmp35 = einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4))
+    tmp34 = einsum(t1, (0, 1), tmp29, (0, 2, 3, 4), (2, 3, 4, 1)) * -1
+    tmp33 = einsum(t2, (0, 1, 2, 3), tmp1, (1, 0, 4, 5), (4, 5, 2, 3)) * -1
+    tmp37 = np.copy(tmp36)
+    tmp37 += einsum(tmp25, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * -0.5
+    tmp32 = np.copy(tmp30) * 2
+    tmp32 += tmp25
+    tmp28 = einsum(tmp13, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4)) * -2
+    tmp24 = einsum(t2, (0, 1, 2, 3), tmp3, (1, 4), (4, 0, 2, 3))
+    tmp27 = einsum(t2, (0, 1, 2, 3), tmp4, (1, 4), (0, 4, 2, 3))
+    tmp19 = np.copy(tmp18)
+    del tmp18
+    tmp19 += einsum(tmp12, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * -1
+    tmp26 = einsum(t2, (0, 1, 2, 3), tmp25, (3, 4), (0, 1, 2, 4))
+    del tmp25
+    tmp23 = np.copy(tmp20)
+    del tmp20
+    tmp23 += tmp22
+    del tmp22
+    tmp9 = np.copy(tmp7)
+    tmp9 += tmp8
+    del tmp8
+    tmp17 = np.copy(np.transpose(tmp0, (1, 0, 3, 2))) * -1
+    tmp17 += np.transpose(tmp2, (0, 1, 3, 2)) * 2
+    tmp16 = np.copy(tmp10) * -1
+    del tmp10
+    tmp16 += tmp7 * 0.5
+    del tmp7
+    tmp16 += tmp15
+    del tmp15
+    rdm2.vvvv = einsum(t2, (0, 1, 2, 3), l2, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5
+    rdm2.vvvv += einsum(tmp38, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3))
+    rdm2.vvvo = np.copy(np.transpose(tmp38, (2, 1, 3, 0)))
+    rdm2.vvov = np.copy(np.transpose(tmp38, (2, 1, 0, 3))) * -1
+    del tmp38
+    rdm2.vovv = np.copy(np.transpose(tmp33, (1, 0, 3, 2))) * 0.5
+    rdm2.vovv += np.transpose(tmp34, (1, 0, 3, 2))
+    rdm2.vovv += np.transpose(tmp35, (1, 0, 3, 2))
+    rdm2.vovv += np.transpose(tmp36, (1, 0, 2, 3))
+    rdm2.vovv += np.transpose(tmp36, (1, 0, 3, 2)) * -1
+    del tmp36
+    rdm2.vovv += einsum(t1, (0, 1), tmp31, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.vovv += einsum(t1, (0, 1), tmp31, (2, 3), (2, 0, 3, 1))
+    rdm2.ovvv = np.copy(np.transpose(tmp33, (0, 1, 3, 2))) * -0.5
+    del tmp33
+    rdm2.ovvv += np.transpose(tmp34, (0, 1, 3, 2)) * -1
+    del tmp34
+    rdm2.ovvv += np.transpose(tmp35, (0, 1, 3, 2)) * -1
+    del tmp35
+    rdm2.ovvv += tmp37 * -1
+    rdm2.ovvv += np.transpose(tmp37, (0, 1, 3, 2))
+    del tmp37
+    rdm2.ovvv += einsum(tmp30, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    rdm2.ovvv += einsum(tmp30, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1
+    del tmp30
+    rdm2.vvoo = np.copy(l2)
+    rdm2.vovo = np.copy(np.transpose(tmp21, (2, 1, 3, 0))) * -1
+    rdm2.vovo += np.transpose(tmp29, (2, 1, 3, 0))
+    rdm2.vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.vovo += einsum(delta.oo, (0, 1), tmp32, (2, 3), (2, 0, 3, 1)) * 0.5
+    rdm2.voov = np.copy(np.transpose(tmp21, (2, 1, 0, 3)))
+    rdm2.voov += np.transpose(tmp29, (2, 1, 0, 3)) * -1
+    rdm2.voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3))
+    rdm2.voov += einsum(delta.oo, (0, 1), tmp31, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.ovvo = np.copy(np.transpose(tmp21, (1, 2, 3, 0)))
+    rdm2.ovvo += np.transpose(tmp29, (1, 2, 3, 0)) * -1
+    rdm2.ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    rdm2.ovvo += einsum(delta.oo, (0, 1), tmp32, (2, 3), (0, 2, 3, 1)) * -0.5
+    del tmp32
+    rdm2.ovov = np.copy(np.transpose(tmp21, (1, 2, 0, 3))) * -1
+    del tmp21
+    rdm2.ovov += np.transpose(tmp29, (1, 2, 0, 3))
+    del tmp29
+    rdm2.ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.ovov += einsum(delta.oo, (0, 1), tmp31, (2, 3), (0, 2, 1, 3))
+    del tmp31
+    rdm2.oovv = np.copy(t2)
+    rdm2.oovv += tmp19 * -1
+    rdm2.oovv += np.transpose(tmp19, (0, 1, 3, 2))
+    rdm2.oovv += np.transpose(tmp19, (1, 0, 2, 3))
+    rdm2.oovv += np.transpose(tmp19, (1, 0, 3, 2)) * -1
+    del tmp19
+    rdm2.oovv += tmp23
+    rdm2.oovv += np.transpose(tmp23, (0, 1, 3, 2)) * -1
+    del tmp23
+    rdm2.oovv += np.transpose(tmp24, (0, 1, 3, 2)) * -1
+    rdm2.oovv += np.transpose(tmp24, (1, 0, 3, 2))
+    del tmp24
+    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.oovv += tmp26 * -0.5
+    rdm2.oovv += np.transpose(tmp26, (0, 1, 3, 2)) * 0.5
+    del tmp26
+    rdm2.oovv += np.transpose(tmp27, (0, 1, 3, 2)) * 0.5
+    rdm2.oovv += np.transpose(tmp27, (1, 0, 3, 2)) * -0.5
+    del tmp27
+    rdm2.oovv += einsum(tmp9, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * -0.5
+    rdm2.oovv += einsum(t1, (0, 1), tmp9, (2, 3), (0, 2, 3, 1)) * 0.5
+    rdm2.oovv += einsum(tmp9, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * 0.5
+    rdm2.oovv += einsum(t1, (0, 1), tmp9, (2, 3), (2, 0, 3, 1)) * -0.5
+    rdm2.oovv += einsum(t2, (0, 1, 2, 3), tmp13, (0, 1, 4, 5), (5, 4, 2, 3)) * 0.5
+    rdm2.oovv += einsum(tmp28, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3)) * 0.5
+    del tmp28
+    rdm2.vooo = np.copy(np.transpose(tmp1, (3, 2, 1, 0)))
+    rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3))
+    rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.ovoo = np.copy(np.transpose(tmp1, (2, 3, 1, 0))) * -1
+    del tmp1
+    rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3))
+    rdm2.oovo = np.copy(np.transpose(tmp5, (2, 1, 3, 0)))
+    rdm2.oovo += einsum(tmp3, (0, 1), t1, (2, 3), (2, 1, 3, 0)) * -1
+    rdm2.oovo += einsum(t1, (0, 1), tmp3, (2, 3), (3, 0, 1, 2))
+    rdm2.oovo += np.transpose(tmp6, (1, 2, 3, 0))
+    rdm2.oovo += np.transpose(tmp6, (2, 1, 3, 0)) * -1
+    rdm2.oovo += einsum(tmp4, (0, 1), t1, (2, 3), (2, 1, 3, 0)) * -0.5
+    rdm2.oovo += einsum(t1, (0, 1), tmp4, (2, 3), (3, 0, 1, 2)) * 0.5
+    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.oovo += einsum(delta.oo, (0, 1), tmp16, (2, 3), (2, 0, 3, 1)) * -1
+    rdm2.oovo += einsum(delta.oo, (0, 1), tmp16, (2, 3), (0, 2, 3, 1))
+    del tmp16
+    rdm2.oovo += einsum(t1, (0, 1), tmp17, (0, 2, 3, 4), (4, 3, 1, 2)) * 0.5
+    del tmp17
+    rdm2.ooov = np.copy(np.transpose(tmp5, (2, 1, 0, 3))) * -1
+    del tmp5
+    rdm2.ooov += einsum(tmp3, (0, 1), t1, (2, 3), (2, 1, 0, 3))
+    rdm2.ooov += einsum(t1, (0, 1), tmp3, (2, 3), (3, 0, 2, 1)) * -1
+    rdm2.ooov += np.transpose(tmp6, (1, 2, 0, 3)) * -1
+    rdm2.ooov += np.transpose(tmp6, (2, 1, 0, 3))
+    del tmp6
+    rdm2.ooov += einsum(tmp4, (0, 1), t1, (2, 3), (2, 1, 0, 3)) * 0.5
+    rdm2.ooov += einsum(t1, (0, 1), tmp4, (2, 3), (3, 0, 2, 1)) * -0.5
+    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.ooov += einsum(tmp9, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * 0.5
+    rdm2.ooov += einsum(delta.oo, (0, 1), tmp9, (2, 3), (0, 2, 1, 3)) * -0.5
+    del tmp9
+    rdm2.ooov += einsum(delta.oo, (0, 1), tmp12, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.ooov += einsum(tmp12, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1))
+    del tmp12
+    rdm2.ooov += einsum(t1, (0, 1), tmp13, (0, 2, 3, 4), (4, 3, 2, 1)) * -1
+    del tmp13
+    rdm2.oooo = np.copy(np.transpose(tmp0, (3, 2, 1, 0))) * 0.5
+    del tmp0
+    rdm2.oooo += np.transpose(tmp2, (2, 3, 1, 0)) * -1
+    del tmp2
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp3, (2, 3), (3, 0, 2, 1)) * -1
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp3, (2, 3), (0, 3, 2, 1))
+    rdm2.oooo += einsum(tmp3, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0))
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp3, (2, 3), (0, 3, 1, 2)) * -1
+    del tmp3
+    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.oooo += einsum(tmp4, (0, 1), delta.oo, (2, 3), (1, 2, 0, 3)) * -0.5
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (0, 3, 2, 1)) * 0.5
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (3, 0, 1, 2)) * 0.5
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (0, 3, 1, 2)) * -0.5
+    del tmp4, 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 = np.transpose(rdm2, (0, 2, 1, 3))
+
+    return rdm2
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCC2.hbar_matvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:50:24.502529.

+

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 +tmp18 : array +tmp19 : array +tmp2 : array +tmp21 : array +tmp22 : array +tmp23 : array +tmp3 : array +tmp4 : array +tmp5 : array +tmp7 : array +tmp8 : array

+ +
+ Source code in ebcc/codegen/GCC2.py +
638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
def hbar_matvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:50:24.502529.
+
+    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
+    tmp18 : array
+    tmp19 : array
+    tmp2 : array
+    tmp21 : array
+    tmp22 : array
+    tmp23 : array
+    tmp3 : array
+    tmp4 : array
+    tmp5 : array
+    tmp7 : array
+    tmp8 : array
+    """
+
+    tmp0 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0))
+    tmp2 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3))
+    tmp23 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp22 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 3), (4, 2))
+    tmp21 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 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), v.ovvv, (1, 4, 2, 3), (0, 4))
+    tmp16 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp15 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2))
+    tmp13 = einsum(t1, (0, 1), tmp0, (0, 2), (2, 1))
+    tmp12 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2))
+    tmp11 = einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp8 = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    tmp7 = einsum(t1, (0, 1), f.oo, (2, 0), (2, 1))
+    tmp5 = einsum(tmp2, (0, 1), t1, (2, 1), (2, 0))
+    tmp4 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4))
+    tmp3 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp1 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 2))
+
+    return {f"tmp0": tmp0, f"tmp1": tmp1, f"tmp11": tmp11, f"tmp12": tmp12, f"tmp13": tmp13, f"tmp15": tmp15, f"tmp16": tmp16, f"tmp18": tmp18, f"tmp19": tmp19, f"tmp2": tmp2, f"tmp21": tmp21, f"tmp22": tmp22, f"tmp23": tmp23, f"tmp3": tmp3, f"tmp4": tmp4, f"tmp5": tmp5, f"tmp7": tmp7, f"tmp8": tmp8}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCC2.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-17T18:50:24.512259.

+

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.

+ +
+ Source code in ebcc/codegen/GCC2.py +
696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
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-17T18:50:24.512259.
+
+    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"]
+    tmp5 = np.copy(f.oo)
+    tmp5 += ints.tmp0
+    tmp6 = einsum(r2, (0, 1, 2), tmp5, (1, 3), (0, 3, 2)) * -1
+    del tmp5
+    tmp4 = einsum(ints.tmp16, (0, 1, 2, 3), r1, (1,), (0, 2, 3))
+    del ints.tmp16
+    tmp10 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 2, 1), (4, 0, 3))
+    tmp9 = einsum(ints.tmp23, (0, 1, 2, 3), r2, (4, 1, 3), (0, 4, 2))
+    del ints.tmp23
+    tmp8 = einsum(ints.tmp4, (0, 1), r2, (2, 1, 3), (0, 2, 3))
+    tmp3 = einsum(v.oovv, (0, 1, 2, 3), r2, (0, 1, 3), (2,))
+    tmp13 = np.copy(np.transpose(ints.tmp22, (1, 0))) * 0.5
+    del ints.tmp22
+    tmp13 += f.vv * -1
+    tmp13 += einsum(t1, (0, 1), f.ov, (0, 2), (2, 1))
+    tmp7 = np.copy(tmp4)
+    del tmp4
+    tmp7 += np.transpose(tmp6, (1, 0, 2)) * -1
+    del tmp6
+    tmp15 = np.copy(ints.tmp13)
+    del ints.tmp13
+    tmp15 += ints.tmp15 * 0.5
+    del ints.tmp15
+    tmp15 += ints.tmp18 * 0.5
+    del ints.tmp18
+    tmp15 += ints.tmp7
+    del ints.tmp7
+    tmp15 += f.ov * -1
+    tmp15 += ints.tmp11 * -1
+    del ints.tmp11
+    tmp15 += ints.tmp8 * -1
+    del ints.tmp8
+    tmp12 = np.copy(ints.tmp21) * -0.5
+    del ints.tmp21
+    tmp12 += v.oooo * -1
+    tmp14 = np.copy(np.transpose(ints.tmp19, (2, 0, 1, 3))) * 0.5
+    del ints.tmp19
+    tmp14 += np.transpose(v.ovoo, (0, 2, 3, 1))
+    tmp14 += ints.tmp12 * -1
+    del ints.tmp12
+    tmp11 = np.copy(tmp8) * -0.5
+    del tmp8
+    tmp11 += tmp9
+    del tmp9
+    tmp11 += tmp10
+    del tmp10
+    tmp1 = np.copy(f.ov)
+    tmp1 += ints.tmp2
+    del ints.tmp2
+    tmp0 = np.copy(ints.tmp3)
+    del ints.tmp3
+    tmp0 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1
+    tmp2 = np.copy(f.oo) * 2
+    tmp2 += ints.tmp0 * 2
+    del ints.tmp0
+    tmp2 += ints.tmp1 * 2
+    del ints.tmp1
+    tmp2 += np.transpose(ints.tmp4, (1, 0))
+    del ints.tmp4
+    tmp2 += np.transpose(ints.tmp5, (1, 0)) * 2
+    del ints.tmp5
+    r2new = einsum(t2, (0, 1, 2, 3), tmp3, (3,), (0, 1, 2)) * 0.5
+    del tmp3
+    r2new += tmp7
+    r2new += np.transpose(tmp7, (1, 0, 2)) * -1
+    del tmp7
+    r2new += tmp11 * -1
+    r2new += np.transpose(tmp11, (1, 0, 2))
+    del tmp11
+    r2new += einsum(tmp12, (0, 1, 2, 3), r2, (3, 2, 4), (0, 1, 4)) * 0.5
+    del tmp12
+    r2new += einsum(r2, (0, 1, 2), tmp13, (2, 3), (0, 1, 3)) * -1
+    del tmp13
+    r2new += einsum(r1, (0,), tmp14, (0, 1, 2, 3), (2, 1, 3))
+    del tmp14
+    r2new += einsum(r1, (0,), tmp15, (1, 2), (0, 1, 2)) * -1
+    r2new += einsum(r1, (0,), tmp15, (1, 2), (1, 0, 2))
+    del tmp15
+    r1new = einsum(tmp0, (0, 1, 2, 3), r2, (1, 2, 3), (0,)) * 0.5
+    del tmp0
+    r1new += einsum(r2, (0, 1, 2), tmp1, (1, 2), (0,))
+    del tmp1
+    r1new += einsum(r1, (0,), tmp2, (0, 1), (1,)) * -0.5
+    del tmp2
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCC2.hbar_matvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:50:28.432229.

+

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 +tmp16 : array +tmp17 : array +tmp18 : array +tmp2 : array +tmp20 : array +tmp22 : array +tmp4 : array +tmp7 : array +tmp8 : array +tmp9 : array

+ +
+ Source code in ebcc/codegen/GCC2.py +
811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+845
+846
+847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
+858
+859
def hbar_matvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:50:28.432229.
+
+    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
+    tmp16 : array
+    tmp17 : array
+    tmp18 : array
+    tmp2 : array
+    tmp20 : array
+    tmp22 : array
+    tmp4 : array
+    tmp7 : array
+    tmp8 : array
+    tmp9 : array
+    """
+
+    tmp9 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0))
+    tmp22 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp20 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4))
+    tmp18 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5))
+    tmp17 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4))
+    tmp16 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 5, 0, 1), (4, 2, 3, 5))
+    tmp15 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2))
+    tmp13 = einsum(t1, (0, 1), tmp9, (0, 2), (2, 1))
+    tmp12 = einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp8 = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    tmp7 = einsum(t1, (0, 1), f.oo, (2, 0), (2, 1))
+    tmp4 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 3), (4, 2))
+    tmp2 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3))
+    tmp1 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2))
+
+    return {f"tmp1": tmp1, f"tmp12": tmp12, f"tmp13": tmp13, f"tmp15": tmp15, f"tmp16": tmp16, f"tmp17": tmp17, f"tmp18": tmp18, f"tmp2": tmp2, f"tmp20": tmp20, f"tmp22": tmp22, f"tmp4": tmp4, f"tmp7": tmp7, f"tmp8": tmp8, f"tmp9": tmp9}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCC2.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-17T18:50:28.440402.

+

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.

+ +
+ Source code in ebcc/codegen/GCC2.py +
861
+862
+863
+864
+865
+866
+867
+868
+869
+870
+871
+872
+873
+874
+875
+876
+877
+878
+879
+880
+881
+882
+883
+884
+885
+886
+887
+888
+889
+890
+891
+892
+893
+894
+895
+896
+897
+898
+899
+900
+901
+902
+903
+904
+905
+906
+907
+908
+909
+910
+911
+912
+913
+914
+915
+916
+917
+918
+919
+920
+921
+922
+923
+924
+925
+926
+927
+928
+929
+930
+931
+932
+933
+934
+935
+936
+937
+938
+939
+940
+941
+942
+943
+944
+945
+946
+947
+948
+949
+950
+951
+952
+953
+954
+955
+956
+957
+958
+959
+960
+961
+962
+963
+964
+965
+966
+967
+968
+969
+970
+971
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-17T18:50:28.440402.
+
+    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 = np.copy(f.vv) * 2
+    tmp10 += np.transpose(ints.tmp4, (1, 0)) * -1
+    tmp8 = einsum(r2, (0, 1, 2), f.ov, (3, 1), (3, 2, 0))
+    tmp11 = einsum(tmp10, (0, 1), r2, (2, 0, 3), (3, 2, 1)) * -0.5
+    del tmp10
+    tmp6 = einsum(ints.tmp22, (0, 1, 2, 3), r2, (4, 3, 1), (0, 2, 4))
+    del ints.tmp22
+    tmp9 = einsum(t1, (0, 1), tmp8, (0, 2, 3), (2, 3, 1))
+    del tmp8
+    tmp7 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 1, 2), (0, 4, 3))
+    tmp2 = einsum(v.oovv, (0, 1, 2, 3), r2, (2, 3, 1), (0,))
+    tmp0 = np.copy(f.ov)
+    tmp0 += ints.tmp2
+    del ints.tmp2
+    tmp13 = np.copy(ints.tmp16) * 0.5
+    del ints.tmp16
+    tmp13 += np.transpose(v.ovvv, (0, 2, 3, 1))
+    tmp5 = einsum(r1, (0,), ints.tmp18, (1, 2, 3, 0), (1, 2, 3))
+    del ints.tmp18
+    tmp4 = einsum(r2, (0, 1, 2), v.oovv, (3, 4, 0, 1), (2, 3, 4))
+    tmp12 = np.copy(tmp6)
+    del tmp6
+    tmp12 += tmp7
+    del tmp7
+    tmp12 += tmp9
+    del tmp9
+    tmp12 += np.transpose(tmp11, (0, 2, 1)) * -1
+    del tmp11
+    tmp14 = np.copy(f.oo)
+    tmp14 += np.transpose(ints.tmp20, (1, 0)) * 0.5
+    del ints.tmp20
+    tmp14 += ints.tmp9
+    del ints.tmp9
+    tmp15 = einsum(r1, (0,), f.ov, (1, 0), (1,)) * 2
+    tmp15 += tmp2
+    tmp16 = np.copy(ints.tmp13)
+    del ints.tmp13
+    tmp16 += ints.tmp15 * 0.5
+    del ints.tmp15
+    tmp16 += ints.tmp17 * 0.5
+    del ints.tmp17
+    tmp16 += ints.tmp7
+    del ints.tmp7
+    tmp16 += f.ov * -1
+    tmp16 += ints.tmp12 * -1
+    del ints.tmp12
+    tmp16 += ints.tmp8 * -1
+    del ints.tmp8
+    tmp3 = np.copy(tmp2) * 0.5
+    del tmp2
+    tmp3 += einsum(r1, (0,), tmp0, (1, 0), (1,))
+    tmp1 = np.copy(np.transpose(ints.tmp1, (1, 0)))
+    del ints.tmp1
+    tmp1 += np.transpose(ints.tmp4, (1, 0)) * 0.5
+    del ints.tmp4
+    tmp1 += f.vv * -1
+    r2new = einsum(r2, (0, 1, 2), v.vvvv, (3, 4, 0, 1), (3, 4, 2)) * 0.5
+    r2new += einsum(t2, (0, 1, 2, 3), tmp4, (4, 1, 0), (2, 3, 4)) * -0.25
+    del tmp4
+    r2new += np.transpose(tmp5, (1, 2, 0))
+    r2new += np.transpose(tmp5, (2, 1, 0)) * -1
+    del tmp5
+    r2new += np.transpose(tmp12, (1, 2, 0)) * -1
+    r2new += np.transpose(tmp12, (2, 1, 0))
+    del tmp12
+    r2new += einsum(r1, (0,), tmp13, (1, 2, 3, 0), (3, 2, 1))
+    del tmp13
+    r2new += einsum(tmp14, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp14
+    r2new += einsum(tmp15, (0,), t2, (1, 0, 2, 3), (2, 3, 1)) * 0.5
+    del tmp15
+    r2new += einsum(r1, (0,), tmp16, (1, 2), (0, 2, 1)) * -1
+    r2new += einsum(r1, (0,), tmp16, (1, 2), (2, 0, 1))
+    del tmp16
+    r1new = einsum(r2, (0, 1, 2), v.ovvv, (2, 3, 0, 1), (3,)) * -0.5
+    r1new += einsum(r2, (0, 1, 2), tmp0, (2, 1), (0,))
+    del tmp0
+    r1new += einsum(r1, (0,), tmp1, (0, 1), (1,)) * -1
+    del tmp1
+    r1new += einsum(tmp3, (0,), t1, (0, 1), (1,)) * -1
+    del tmp3
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCC2.hbar_matvec_ee_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:50:37.210046.

+

Parameters

+

f : array + Fock matrix. +t1 : array + T1 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp10 : array +tmp12 : array +tmp17 : array +tmp18 : array +tmp2 : array +tmp22 : array +tmp23 : array +tmp26 : array +tmp30 : array +tmp31 : array +tmp33 : array +tmp36 : array +tmp37 : array +tmp39 : array +tmp4 : array +tmp44 : array +tmp46 : array +tmp5 : array +tmp6 : array +tmp7 : array +tmp9 : array

+ +
+ Source code in ebcc/codegen/GCC2.py +
 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
def hbar_matvec_ee_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:50:37.210046.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t1 : array
+        T1 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp10 : array
+    tmp12 : array
+    tmp17 : array
+    tmp18 : array
+    tmp2 : array
+    tmp22 : array
+    tmp23 : array
+    tmp26 : array
+    tmp30 : array
+    tmp31 : array
+    tmp33 : array
+    tmp36 : array
+    tmp37 : array
+    tmp39 : array
+    tmp4 : array
+    tmp44 : array
+    tmp46 : array
+    tmp5 : array
+    tmp6 : array
+    tmp7 : array
+    tmp9 : array
+    """
+
+    tmp0 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0))
+    tmp6 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3))
+    tmp46 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp44 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1))
+    tmp39 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5))
+    tmp37 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5))
+    tmp36 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4))
+    tmp33 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 5, 0, 1), (4, 2, 3, 5))
+    tmp31 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp30 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2))
+    tmp26 = einsum(t1, (0, 1), tmp0, (0, 2), (2, 1))
+    tmp23 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2))
+    tmp22 = einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp18 = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    tmp17 = einsum(t1, (0, 1), f.oo, (2, 0), (2, 1))
+    tmp12 = einsum(tmp6, (0, 1), t1, (2, 1), (2, 0))
+    tmp10 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 3), (4, 2))
+    tmp9 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4))
+    tmp7 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp5 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp4 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2))
+    tmp2 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 2))
+
+    return {f"tmp0": tmp0, f"tmp10": tmp10, 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"tmp31": tmp31, f"tmp33": tmp33, f"tmp36": tmp36, f"tmp37": tmp37, f"tmp39": tmp39, f"tmp4": tmp4, f"tmp44": tmp44, f"tmp46": tmp46, f"tmp5": tmp5, f"tmp6": tmp6, f"tmp7": tmp7, f"tmp9": tmp9}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCC2.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-17T18:50:37.224185.

+

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.

+ +
+ Source code in ebcc/codegen/GCC2.py +
1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
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-17T18:50:37.224185.
+
+    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"]
+    tmp27 = einsum(r1, (0, 1), f.ov, (2, 1), (2, 0))
+    tmp6 = einsum(v.oovv, (0, 1, 2, 3), r2, (4, 1, 2, 3), (4, 0))
+    tmp15 = einsum(v.ooov, (0, 1, 2, 3), r1, (1, 3), (0, 2))
+    tmp28 = np.copy(np.transpose(tmp27, (1, 0)))
+    del tmp27
+    tmp28 += tmp6 * 0.5
+    tmp25 = np.copy(f.oo)
+    tmp25 += ints.tmp0
+    tmp25 += np.transpose(ints.tmp9, (1, 0)) * 0.5
+    tmp34 = einsum(f.ov, (0, 1), r2, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp36 = einsum(v.oovv, (0, 1, 2, 3), r2, (0, 1, 4, 3), (4, 2))
+    tmp16 = einsum(tmp15, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) * -1
+    del tmp15
+    tmp14 = einsum(v.ovvv, (0, 1, 2, 3), r1, (4, 1), (4, 0, 2, 3))
+    tmp10 = einsum(ints.tmp39, (0, 1, 2, 3), r1, (4, 3), (0, 4, 1, 2))
+    del ints.tmp39
+    tmp11 = einsum(r2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp9 = einsum(ints.tmp31, (0, 1, 2, 3), r1, (1, 4), (0, 2, 3, 4))
+    del ints.tmp31
+    tmp12 = einsum(r2, (0, 1, 2, 3), ints.tmp46, (4, 1, 5, 3), (4, 0, 5, 2))
+    del ints.tmp46
+    tmp21 = einsum(ints.tmp37, (0, 1, 2, 3), r1, (2, 4), (0, 1, 3, 4))
+    del ints.tmp37
+    tmp22 = einsum(r2, (0, 1, 2, 3), ints.tmp10, (4, 3), (0, 1, 4, 2))
+    tmp29 = einsum(t2, (0, 1, 2, 3), tmp28, (4, 1), (4, 0, 2, 3)) * -1
+    del tmp28
+    tmp24 = einsum(r1, (0, 1), ints.tmp33, (2, 3, 4, 1), (2, 0, 3, 4))
+    del ints.tmp33
+    tmp26 = einsum(tmp25, (0, 1), r2, (2, 0, 3, 4), (1, 2, 3, 4)) * -1
+    del tmp25
+    tmp33 = einsum(ints.tmp23, (0, 1, 2, 3), r1, (0, 4), (1, 2, 3, 4))
+    del ints.tmp23
+    tmp35 = einsum(t1, (0, 1), tmp34, (0, 2, 3, 4), (2, 3, 4, 1))
+    del tmp34
+    tmp37 = einsum(tmp36, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1
+    del tmp36
+    tmp19 = einsum(f.vv, (0, 1), r2, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp18 = einsum(v.ooov, (0, 1, 2, 3), r1, (2, 4), (0, 1, 4, 3))
+    tmp31 = einsum(r1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3))
+    tmp1 = np.copy(ints.tmp7)
+    del ints.tmp7
+    tmp1 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1
+    tmp2 = np.copy(f.ov)
+    tmp2 += ints.tmp6
+    del ints.tmp6
+    tmp17 = np.copy(np.transpose(tmp14, (0, 1, 3, 2))) * -1
+    del tmp14
+    tmp17 += np.transpose(tmp16, (0, 1, 3, 2))
+    del tmp16
+    tmp13 = np.copy(tmp9)
+    del tmp9
+    tmp13 += tmp10
+    del tmp10
+    tmp13 += tmp11
+    del tmp11
+    tmp13 += tmp12 * -1
+    del tmp12
+    tmp40 = np.copy(ints.tmp17)
+    del ints.tmp17
+    tmp40 += ints.tmp26
+    del ints.tmp26
+    tmp40 += ints.tmp30 * 0.5
+    del ints.tmp30
+    tmp40 += ints.tmp36 * 0.5
+    del ints.tmp36
+    tmp40 += f.ov * -1
+    tmp40 += ints.tmp18 * -1
+    del ints.tmp18
+    tmp40 += ints.tmp22 * -1
+    del ints.tmp22
+    tmp23 = np.copy(tmp21) * 0.5
+    del tmp21
+    tmp23 += np.transpose(tmp22, (1, 0, 2, 3)) * -0.5
+    del tmp22
+    tmp30 = np.copy(np.transpose(tmp24, (0, 1, 3, 2))) * -0.5
+    del tmp24
+    tmp30 += np.transpose(tmp26, (0, 1, 3, 2))
+    del tmp26
+    tmp30 += np.transpose(tmp29, (0, 1, 3, 2))
+    del tmp29
+    tmp38 = np.copy(tmp33)
+    del tmp33
+    tmp38 += tmp35
+    del tmp35
+    tmp38 += tmp37 * 0.5
+    del tmp37
+    tmp20 = np.copy(np.transpose(tmp18, (1, 0, 2, 3))) * -1
+    del tmp18
+    tmp20 += np.transpose(tmp19, (1, 0, 2, 3)) * -1
+    del tmp19
+    tmp32 = einsum(t2, (0, 1, 2, 3), tmp31, (4, 3), (0, 1, 2, 4)) * -1
+    del tmp31
+    tmp39 = np.copy(ints.tmp44) * -0.5
+    del ints.tmp44
+    tmp39 += v.oooo * -1
+    tmp8 = einsum(v.oovv, (0, 1, 2, 3), r2, (4, 5, 2, 3), (4, 5, 0, 1))
+    tmp3 = np.copy(ints.tmp5)
+    del ints.tmp5
+    tmp3 += np.transpose(v.ovov, (0, 2, 3, 1)) * -1
+    tmp5 = np.copy(f.oo)
+    tmp5 += ints.tmp0
+    del ints.tmp0
+    tmp5 += np.transpose(ints.tmp12, (1, 0))
+    del ints.tmp12
+    tmp5 += ints.tmp2
+    del ints.tmp2
+    tmp5 += np.transpose(ints.tmp9, (1, 0)) * 0.5
+    del ints.tmp9
+    tmp4 = np.copy(np.transpose(ints.tmp10, (1, 0))) * 0.5
+    del ints.tmp10
+    tmp4 += np.transpose(ints.tmp4, (1, 0))
+    del ints.tmp4
+    tmp4 += f.vv * -1
+    tmp7 = np.copy(np.transpose(tmp6, (1, 0))) * 0.5
+    del tmp6
+    tmp7 += einsum(tmp1, (0, 1, 2, 3), r1, (1, 3), (2, 0))
+    tmp7 += einsum(r1, (0, 1), tmp2, (2, 1), (2, 0))
+    tmp0 = einsum(r1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3))
+    r2new = einsum(r2, (0, 1, 2, 3), v.vvvv, (4, 5, 2, 3), (0, 1, 4, 5)) * 0.5
+    r2new += einsum(t2, (0, 1, 2, 3), tmp8, (4, 5, 1, 0), (5, 4, 2, 3)) * 0.25
+    del tmp8
+    r2new += tmp13 * -1
+    r2new += np.transpose(tmp13, (0, 1, 3, 2))
+    r2new += np.transpose(tmp13, (1, 0, 2, 3))
+    r2new += np.transpose(tmp13, (1, 0, 3, 2)) * -1
+    del tmp13
+    r2new += tmp17 * -1
+    r2new += np.transpose(tmp17, (1, 0, 2, 3))
+    del tmp17
+    r2new += tmp20 * -1
+    r2new += np.transpose(tmp20, (0, 1, 3, 2))
+    del tmp20
+    r2new += np.transpose(tmp23, (1, 0, 2, 3)) * -1
+    r2new += np.transpose(tmp23, (1, 0, 3, 2))
+    del tmp23
+    r2new += tmp30
+    r2new += np.transpose(tmp30, (1, 0, 2, 3)) * -1
+    del tmp30
+    r2new += tmp32
+    r2new += np.transpose(tmp32, (0, 1, 3, 2)) * -1
+    del tmp32
+    r2new += tmp38 * -1
+    r2new += np.transpose(tmp38, (0, 1, 3, 2))
+    del tmp38
+    r2new += einsum(tmp39, (0, 1, 2, 3), r2, (2, 3, 4, 5), (0, 1, 4, 5)) * -0.5
+    del tmp39
+    r2new += einsum(r1, (0, 1), tmp40, (2, 3), (2, 0, 3, 1)) * -1
+    r2new += einsum(tmp40, (0, 1), r1, (2, 3), (2, 0, 3, 1)) * -1
+    r2new += einsum(r1, (0, 1), tmp40, (2, 3), (0, 2, 3, 1))
+    r2new += einsum(r1, (0, 1), tmp40, (2, 3), (2, 0, 1, 3))
+    del tmp40
+    r1new = einsum(t2, (0, 1, 2, 3), tmp0, (1, 3), (0, 2))
+    del tmp0
+    r1new += einsum(r2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4)) * -0.5
+    r1new += einsum(r2, (0, 1, 2, 3), tmp1, (4, 1, 0, 3), (4, 2)) * -0.5
+    del tmp1
+    r1new += einsum(tmp2, (0, 1), r2, (2, 0, 3, 1), (2, 3))
+    del tmp2
+    r1new += einsum(tmp3, (0, 1, 2, 3), r1, (1, 3), (0, 2))
+    del tmp3
+    r1new += einsum(r1, (0, 1), tmp4, (1, 2), (0, 2)) * -1
+    del tmp4
+    r1new += einsum(tmp5, (0, 1), r1, (0, 2), (1, 2)) * -1
+    del tmp5
+    r1new += einsum(t1, (0, 1), tmp7, (0, 2), (2, 1)) * -1
+    del tmp7
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCC2.hbar_lmatvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:50:42.593963.

+

Parameters

+

f : array + Fock matrix. +t1 : array + T1 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp1 : array +tmp10 : array +tmp11 : array +tmp12 : array +tmp13 : array +tmp14 : array +tmp16 : array +tmp17 : array +tmp19 : array +tmp2 : array +tmp20 : array +tmp21 : array +tmp22 : array +tmp23 : array +tmp24 : array +tmp25 : array +tmp27 : array +tmp29 : array +tmp3 : array +tmp31 : array +tmp32 : array +tmp34 : array +tmp4 : array +tmp40 : array +tmp41 : array +tmp5 : array +tmp6 : array +tmp7 : array +tmp8 : array +tmp9 : array

+ +
+ Source code in ebcc/codegen/GCC2.py +
1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
def hbar_lmatvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:50:42.593963.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t1 : array
+        T1 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp1 : array
+    tmp10 : array
+    tmp11 : array
+    tmp12 : array
+    tmp13 : array
+    tmp14 : array
+    tmp16 : array
+    tmp17 : array
+    tmp19 : array
+    tmp2 : array
+    tmp20 : array
+    tmp21 : array
+    tmp22 : array
+    tmp23 : array
+    tmp24 : array
+    tmp25 : array
+    tmp27 : array
+    tmp29 : array
+    tmp3 : array
+    tmp31 : array
+    tmp32 : array
+    tmp34 : array
+    tmp4 : array
+    tmp40 : array
+    tmp41 : array
+    tmp5 : array
+    tmp6 : array
+    tmp7 : array
+    tmp8 : array
+    tmp9 : array
+    """
+
+    tmp18 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp15 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3))
+    tmp33 = einsum(tmp18, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp24 = einsum(tmp15, (0, 1), t1, (2, 1), (2, 0))
+    tmp30 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp28 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2))
+    tmp26 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp6 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3))
+    tmp22 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1))
+    tmp10 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4))
+    tmp0 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0))
+    tmp41 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp40 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 3), (4, 2))
+    tmp34 = einsum(t1, (0, 1), tmp33, (2, 3, 4, 0), (2, 3, 4, 1))
+    del tmp33
+    tmp32 = einsum(t1, (0, 1), tmp24, (2, 0), (2, 1))
+    tmp31 = einsum(tmp30, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    del tmp30
+    tmp29 = einsum(tmp28, (0, 1), t1, (2, 1), (2, 0))
+    del tmp28
+    tmp27 = einsum(t1, (0, 1), tmp26, (2, 3, 0, 4), (2, 3, 4, 1))
+    del tmp26
+    tmp25 = einsum(t1, (0, 1), tmp6, (0, 2), (2, 1))
+    tmp23 = einsum(t1, (0, 1), tmp22, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp21 = einsum(t1, (0, 1), tmp10, (2, 0), (2, 1))
+    tmp20 = einsum(tmp18, (0, 1, 2, 3), t2, (4, 2, 5, 3), (0, 4, 1, 5)) * -1
+    tmp19 = einsum(t2, (0, 1, 2, 3), tmp18, (4, 1, 0, 3), (4, 2))
+    del tmp18
+    tmp17 = einsum(t2, (0, 1, 2, 3), tmp15, (4, 3), (0, 1, 4, 2)) * -1
+    tmp16 = einsum(tmp15, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    del tmp15
+    tmp14 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5))
+    tmp13 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4))
+    tmp12 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp11 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2))
+    tmp9 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3))
+    tmp8 = einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3))
+    tmp7 = einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp5 = einsum(t1, (0, 1), tmp0, (0, 2), (2, 1))
+    tmp4 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2))
+    tmp3 = einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp2 = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    tmp1 = einsum(t1, (0, 1), f.oo, (2, 0), (2, 1))
+
+    return {f"tmp0": tmp0, f"tmp1": tmp1, f"tmp10": tmp10, f"tmp11": tmp11, f"tmp12": tmp12, f"tmp13": tmp13, f"tmp14": tmp14, f"tmp16": tmp16, f"tmp17": tmp17, f"tmp19": tmp19, f"tmp2": tmp2, f"tmp20": tmp20, f"tmp21": tmp21, f"tmp22": tmp22, f"tmp23": tmp23, f"tmp24": tmp24, f"tmp25": tmp25, f"tmp27": tmp27, f"tmp29": tmp29, f"tmp3": tmp3, f"tmp31": tmp31, f"tmp32": tmp32, f"tmp34": tmp34, f"tmp4": tmp4, f"tmp40": tmp40, f"tmp41": tmp41, f"tmp5": tmp5, f"tmp6": tmp6, f"tmp7": tmp7, f"tmp8": tmp8, f"tmp9": tmp9}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCC2.hbar_lmatvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:50:42.611286.

+

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.

+ +
+ Source code in ebcc/codegen/GCC2.py +
1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
+1359
+1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
+1373
+1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
+1445
+1446
+1447
+1448
+1449
+1450
+1451
+1452
+1453
+1454
+1455
+1456
+1457
+1458
+1459
+1460
+1461
+1462
def hbar_lmatvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:50:42.611286.
+
+    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"]
+    tmp5 = einsum(ints.tmp41, (0, 1, 2, 3), r2, (4, 0, 2), (1, 4, 3))
+    del ints.tmp41
+    tmp6 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 2, 1), (4, 0, 3))
+    tmp4 = einsum(ints.tmp10, (0, 1), r2, (2, 0, 3), (1, 2, 3))
+    tmp8 = np.copy(f.oo)
+    tmp8 += np.transpose(ints.tmp0, (1, 0))
+    tmp3 = einsum(r2, (0, 1, 2), t2, (0, 1, 3, 2), (3,))
+    tmp7 = einsum(r1, (0,), f.ov, (1, 2), (1, 0, 2))
+    tmp7 += tmp4 * -0.5
+    del tmp4
+    tmp7 += tmp5
+    del tmp5
+    tmp7 += tmp6
+    del tmp6
+    tmp11 = np.copy(ints.tmp40) * 0.5
+    del ints.tmp40
+    tmp11 += f.vv * -1
+    tmp11 += einsum(f.ov, (0, 1), t1, (0, 2), (2, 1))
+    tmp10 = np.copy(ints.tmp22) * -0.5
+    del ints.tmp22
+    tmp10 += v.oooo * -1
+    tmp9 = einsum(tmp8, (0, 1), r2, (2, 0, 3), (1, 2, 3)) * -1
+    del tmp8
+    tmp1 = np.copy(ints.tmp11)
+    del ints.tmp11
+    tmp1 += ints.tmp13
+    del ints.tmp13
+    tmp1 += ints.tmp19
+    del ints.tmp19
+    tmp1 += ints.tmp1 * 2
+    del ints.tmp1
+    tmp1 += ints.tmp21
+    del ints.tmp21
+    tmp1 += ints.tmp25 * 2
+    del ints.tmp25
+    tmp1 += ints.tmp29 * 2
+    del ints.tmp29
+    tmp1 += ints.tmp32 * 2
+    del ints.tmp32
+    tmp1 += ints.tmp5 * 2
+    del ints.tmp5
+    tmp1 += ints.tmp8 * 2
+    del ints.tmp8
+    tmp1 += f.ov * -2
+    tmp1 += ints.tmp16 * -2
+    del ints.tmp16
+    tmp1 += ints.tmp2 * -2
+    del ints.tmp2
+    tmp1 += ints.tmp3 * -2
+    del ints.tmp3
+    tmp0 = np.copy(ints.tmp12)
+    del ints.tmp12
+    tmp0 += np.transpose(ints.tmp23, (0, 2, 1, 3)) * 0.25
+    del ints.tmp23
+    tmp0 += np.transpose(ints.tmp34, (0, 2, 1, 3)) * 0.5
+    del ints.tmp34
+    tmp0 += np.transpose(ints.tmp4, (1, 0, 2, 3)) * 0.5
+    del ints.tmp4
+    tmp0 += np.transpose(ints.tmp7, (0, 2, 1, 3)) * 0.5
+    del ints.tmp7
+    tmp0 += ints.tmp9
+    del ints.tmp9
+    tmp0 += np.transpose(ints.tmp14, (0, 2, 1, 3)) * -0.25
+    del ints.tmp14
+    tmp0 += np.transpose(ints.tmp17, (0, 2, 1, 3)) * -0.5
+    del ints.tmp17
+    tmp0 += np.transpose(ints.tmp20, (0, 2, 1, 3)) * -1
+    del ints.tmp20
+    tmp0 += ints.tmp27 * -1
+    del ints.tmp27
+    tmp0 += np.transpose(ints.tmp31, (0, 2, 1, 3)) * -0.5
+    del ints.tmp31
+    tmp0 += np.transpose(v.ooov, (0, 2, 1, 3)) * -0.5
+    tmp2 = np.copy(f.oo) * 2
+    tmp2 += np.transpose(ints.tmp0, (1, 0)) * 2
+    del ints.tmp0
+    tmp2 += ints.tmp10
+    del ints.tmp10
+    tmp2 += ints.tmp24 * 2
+    del ints.tmp24
+    tmp2 += np.transpose(ints.tmp6, (1, 0)) * 2
+    del ints.tmp6
+    r2new = einsum(v.oovv, (0, 1, 2, 3), tmp3, (3,), (0, 1, 2)) * 0.5
+    del tmp3
+    r2new += einsum(r1, (0,), v.ooov, (1, 2, 0, 3), (1, 2, 3)) * -1
+    r2new += tmp7 * -1
+    r2new += np.transpose(tmp7, (1, 0, 2))
+    del tmp7
+    r2new += tmp9 * -1
+    r2new += np.transpose(tmp9, (1, 0, 2))
+    del tmp9
+    r2new += einsum(r2, (0, 1, 2), tmp10, (1, 0, 3, 4), (3, 4, 2)) * 0.5
+    del tmp10
+    r2new += einsum(r2, (0, 1, 2), tmp11, (2, 3), (0, 1, 3)) * -1
+    del tmp11
+    r1new = einsum(tmp0, (0, 1, 2, 3), r2, (0, 2, 3), (1,))
+    del tmp0
+    r1new += einsum(r2, (0, 1, 2), tmp1, (1, 2), (0,)) * -0.5
+    del tmp1
+    r1new += einsum(r1, (0,), tmp2, (0, 1), (1,)) * -0.5
+    del tmp2
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCC2.hbar_lmatvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:50:48.225403.

+

Parameters

+

f : array + Fock matrix. +t1 : array + T1 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp1 : array +tmp10 : array +tmp11 : array +tmp12 : array +tmp13 : array +tmp14 : array +tmp15 : array +tmp16 : array +tmp17 : array +tmp18 : array +tmp19 : array +tmp2 : array +tmp20 : array +tmp21 : array +tmp22 : array +tmp23 : array +tmp25 : array +tmp27 : array +tmp28 : array +tmp3 : array +tmp30 : array +tmp5 : array +tmp6 : array +tmp7 : array +tmp8 : array

+ +
+ Source code in ebcc/codegen/GCC2.py +
1464
+1465
+1466
+1467
+1468
+1469
+1470
+1471
+1472
+1473
+1474
+1475
+1476
+1477
+1478
+1479
+1480
+1481
+1482
+1483
+1484
+1485
+1486
+1487
+1488
+1489
+1490
+1491
+1492
+1493
+1494
+1495
+1496
+1497
+1498
+1499
+1500
+1501
+1502
+1503
+1504
+1505
+1506
+1507
+1508
+1509
+1510
+1511
+1512
+1513
+1514
+1515
+1516
+1517
+1518
+1519
+1520
+1521
+1522
+1523
+1524
+1525
+1526
+1527
+1528
+1529
+1530
+1531
+1532
+1533
+1534
+1535
+1536
+1537
+1538
def hbar_lmatvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:50:48.225403.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t1 : array
+        T1 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp1 : array
+    tmp10 : array
+    tmp11 : array
+    tmp12 : array
+    tmp13 : array
+    tmp14 : array
+    tmp15 : array
+    tmp16 : array
+    tmp17 : array
+    tmp18 : array
+    tmp19 : array
+    tmp2 : array
+    tmp20 : array
+    tmp21 : array
+    tmp22 : array
+    tmp23 : array
+    tmp25 : array
+    tmp27 : array
+    tmp28 : array
+    tmp3 : array
+    tmp30 : array
+    tmp5 : array
+    tmp6 : array
+    tmp7 : array
+    tmp8 : array
+    """
+
+    tmp16 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3))
+    tmp29 = einsum(tmp16, (0, 1), t1, (2, 1), (2, 0))
+    tmp7 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2))
+    tmp24 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 2))
+    tmp21 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4))
+    tmp18 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp5 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0))
+    tmp30 = einsum(t1, (0, 1), tmp29, (2, 0), (2, 1))
+    del tmp29
+    tmp28 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp27 = einsum(tmp7, (0, 1), t1, (2, 1), (2, 0))
+    tmp25 = einsum(tmp24, (0, 1), t1, (0, 2), (1, 2))
+    del tmp24
+    tmp23 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp22 = einsum(t1, (0, 1), tmp21, (2, 0), (2, 1))
+    tmp20 = einsum(t2, (0, 1, 2, 3), tmp18, (4, 1, 0, 5), (4, 2, 3, 5)) * -1
+    tmp19 = einsum(t2, (0, 1, 2, 3), tmp18, (4, 1, 0, 3), (4, 2))
+    tmp17 = einsum(t2, (0, 1, 2, 3), tmp16, (1, 3), (0, 2))
+    tmp15 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5))
+    tmp14 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4))
+    tmp13 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 5, 0, 1), (4, 2, 3, 5))
+    tmp12 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2))
+    tmp11 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4))
+    tmp10 = einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp8 = einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3))
+    tmp6 = einsum(t1, (0, 1), tmp5, (0, 2), (2, 1))
+    tmp3 = einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp2 = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    tmp1 = einsum(t1, (0, 1), f.oo, (2, 0), (2, 1))
+
+    return {f"tmp1": tmp1, f"tmp10": tmp10, f"tmp11": tmp11, f"tmp12": tmp12, f"tmp13": tmp13, f"tmp14": tmp14, f"tmp15": tmp15, f"tmp16": tmp16, f"tmp17": tmp17, f"tmp18": tmp18, f"tmp19": tmp19, f"tmp2": tmp2, f"tmp20": tmp20, f"tmp21": tmp21, f"tmp22": tmp22, f"tmp23": tmp23, f"tmp25": tmp25, f"tmp27": tmp27, f"tmp28": tmp28, f"tmp3": tmp3, f"tmp30": tmp30, f"tmp5": tmp5, f"tmp6": tmp6, f"tmp7": tmp7, f"tmp8": tmp8}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCC2.hbar_lmatvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:50:48.238722.

+

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.

+ +
+ Source code in ebcc/codegen/GCC2.py +
1540
+1541
+1542
+1543
+1544
+1545
+1546
+1547
+1548
+1549
+1550
+1551
+1552
+1553
+1554
+1555
+1556
+1557
+1558
+1559
+1560
+1561
+1562
+1563
+1564
+1565
+1566
+1567
+1568
+1569
+1570
+1571
+1572
+1573
+1574
+1575
+1576
+1577
+1578
+1579
+1580
+1581
+1582
+1583
+1584
+1585
+1586
+1587
+1588
+1589
+1590
+1591
+1592
+1593
+1594
+1595
+1596
+1597
+1598
+1599
+1600
+1601
+1602
+1603
+1604
+1605
+1606
+1607
+1608
+1609
+1610
+1611
+1612
+1613
+1614
+1615
+1616
+1617
+1618
+1619
+1620
+1621
+1622
+1623
+1624
+1625
+1626
+1627
+1628
+1629
+1630
+1631
+1632
+1633
+1634
+1635
+1636
+1637
+1638
+1639
+1640
+1641
+1642
+1643
+1644
+1645
+1646
+1647
+1648
+1649
+1650
+1651
+1652
+1653
+1654
+1655
+1656
+1657
+1658
+1659
+1660
+1661
+1662
+1663
+1664
+1665
+1666
+1667
+1668
+1669
+1670
+1671
def hbar_lmatvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:50:48.238722.
+
+    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 = einsum(t1, (0, 1), f.ov, (0, 2), (2, 1))
+    tmp14 = np.copy(ints.tmp11)
+    tmp14 += f.vv * -2
+    tmp14 += np.transpose(tmp13, (1, 0)) * 2
+    del tmp13
+    tmp12 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 1, 2), (0, 4, 3))
+    tmp11 = einsum(r2, (0, 1, 2), ints.tmp23, (2, 3, 1, 4), (3, 4, 0))
+    tmp15 = einsum(r2, (0, 1, 2), tmp14, (1, 3), (2, 3, 0)) * -0.5
+    del tmp14
+    tmp1 = einsum(t1, (0, 1), r2, (2, 1, 3), (3, 0, 2))
+    tmp7 = einsum(r2, (0, 1, 2), t2, (3, 2, 0, 1), (3,))
+    tmp17 = np.copy(f.oo)
+    tmp17 += ints.tmp21 * 0.5
+    del ints.tmp21
+    tmp17 += np.transpose(ints.tmp5, (1, 0))
+    del ints.tmp5
+    tmp16 = einsum(r1, (0,), f.ov, (1, 2), (1, 2, 0))
+    tmp16 += tmp11
+    del tmp11
+    tmp16 += tmp12
+    del tmp12
+    tmp16 += tmp15
+    del tmp15
+    tmp10 = einsum(r2, (0, 1, 2), t2, (3, 4, 0, 1), (2, 3, 4))
+    tmp3 = einsum(tmp1, (0, 1, 2), t1, (3, 2), (0, 1, 3)) * -1
+    tmp5 = np.copy(ints.tmp12) * 0.5
+    del ints.tmp12
+    tmp5 += ints.tmp14 * 0.5
+    del ints.tmp14
+    tmp5 += ints.tmp19 * 0.5
+    del ints.tmp19
+    tmp5 += ints.tmp1
+    del ints.tmp1
+    tmp5 += ints.tmp22 * 0.5
+    del ints.tmp22
+    tmp5 += ints.tmp25
+    del ints.tmp25
+    tmp5 += ints.tmp27
+    del ints.tmp27
+    tmp5 += ints.tmp30
+    del ints.tmp30
+    tmp5 += ints.tmp6
+    del ints.tmp6
+    tmp5 += ints.tmp8
+    del ints.tmp8
+    tmp5 += f.ov * -1
+    tmp5 += ints.tmp17 * -1
+    del ints.tmp17
+    tmp5 += ints.tmp2 * -1
+    del ints.tmp2
+    tmp5 += ints.tmp3 * -1
+    del ints.tmp3
+    tmp6 = np.copy(ints.tmp11) * 0.5
+    del ints.tmp11
+    tmp6 += ints.tmp7
+    del ints.tmp7
+    tmp6 += f.vv * -1
+    tmp4 = np.copy(ints.tmp18)
+    del ints.tmp18
+    tmp4 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1
+    tmp0 = np.copy(ints.tmp10) * 0.5
+    del ints.tmp10
+    tmp0 += ints.tmp15
+    del ints.tmp15
+    tmp0 += ints.tmp20 * 0.25
+    del ints.tmp20
+    tmp0 += ints.tmp13 * -0.25
+    del ints.tmp13
+    tmp0 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -0.5
+    tmp9 = np.copy(f.ov)
+    tmp9 += ints.tmp16
+    del ints.tmp16
+    tmp8 = einsum(r1, (0,), t1, (1, 0), (1,))
+    tmp8 += tmp7 * 0.5
+    tmp2 = np.copy(ints.tmp23)
+    del ints.tmp23
+    tmp2 += ints.tmp28
+    del ints.tmp28
+    tmp2 += np.transpose(v.ovov, (0, 2, 3, 1)) * -1
+    r2new = einsum(r1, (0,), v.ovvv, (1, 0, 2, 3), (2, 3, 1)) * -1
+    r2new += einsum(r2, (0, 1, 2), v.vvvv, (3, 4, 0, 1), (3, 4, 2)) * 0.5
+    r2new += einsum(v.oovv, (0, 1, 2, 3), tmp10, (4, 1, 0), (2, 3, 4)) * -0.25
+    del tmp10
+    r2new += einsum(tmp7, (0,), v.oovv, (1, 0, 2, 3), (2, 3, 1)) * 0.5
+    del tmp7
+    r2new += np.transpose(tmp16, (1, 2, 0)) * -1
+    r2new += np.transpose(tmp16, (2, 1, 0))
+    del tmp16
+    r2new += einsum(r2, (0, 1, 2), tmp17, (2, 3), (0, 1, 3)) * -1
+    del tmp17
+    r1new = einsum(r2, (0, 1, 2), tmp0, (2, 0, 1, 3), (3,))
+    del tmp0
+    r1new += einsum(tmp2, (0, 1, 2, 3), tmp1, (0, 1, 2), (3,))
+    del tmp1, tmp2
+    r1new += einsum(tmp3, (0, 1, 2), tmp4, (0, 2, 1, 3), (3,)) * -0.5
+    del tmp3, tmp4
+    r1new += einsum(r2, (0, 1, 2), tmp5, (2, 1), (0,)) * -1
+    del tmp5
+    r1new += einsum(r1, (0,), tmp6, (0, 1), (1,)) * -1
+    del tmp6
+    r1new += einsum(tmp8, (0,), tmp9, (0, 1), (1,)) * -1
+    del tmp8, tmp9
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCC2.hbar_lmatvec_ee_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:50:57.920908.

+

Parameters

+

f : array + Fock matrix. +t1 : array + T1 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp10 : array +tmp11 : array +tmp12 : array +tmp13 : array +tmp15 : array +tmp16 : array +tmp17 : array +tmp19 : array +tmp2 : array +tmp20 : array +tmp21 : array +tmp22 : array +tmp23 : array +tmp24 : array +tmp26 : array +tmp27 : array +tmp28 : array +tmp29 : array +tmp3 : array +tmp30 : array +tmp31 : array +tmp32 : array +tmp33 : array +tmp34 : array +tmp35 : array +tmp36 : array +tmp38 : array +tmp39 : array +tmp4 : array +tmp41 : array +tmp43 : array +tmp44 : array +tmp45 : array +tmp47 : array +tmp5 : array +tmp7 : array +tmp8 : array +tmp9 : array

+ +
+ Source code in ebcc/codegen/GCC2.py +
1673
+1674
+1675
+1676
+1677
+1678
+1679
+1680
+1681
+1682
+1683
+1684
+1685
+1686
+1687
+1688
+1689
+1690
+1691
+1692
+1693
+1694
+1695
+1696
+1697
+1698
+1699
+1700
+1701
+1702
+1703
+1704
+1705
+1706
+1707
+1708
+1709
+1710
+1711
+1712
+1713
+1714
+1715
+1716
+1717
+1718
+1719
+1720
+1721
+1722
+1723
+1724
+1725
+1726
+1727
+1728
+1729
+1730
+1731
+1732
+1733
+1734
+1735
+1736
+1737
+1738
+1739
+1740
+1741
+1742
+1743
+1744
+1745
+1746
+1747
+1748
+1749
+1750
+1751
+1752
+1753
+1754
+1755
+1756
+1757
+1758
+1759
+1760
+1761
+1762
+1763
+1764
+1765
+1766
+1767
+1768
+1769
+1770
+1771
+1772
+1773
+1774
+1775
def hbar_lmatvec_ee_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:50:57.920908.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t1 : array
+        T1 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp10 : array
+    tmp11 : array
+    tmp12 : array
+    tmp13 : array
+    tmp15 : array
+    tmp16 : array
+    tmp17 : array
+    tmp19 : array
+    tmp2 : array
+    tmp20 : array
+    tmp21 : array
+    tmp22 : array
+    tmp23 : array
+    tmp24 : array
+    tmp26 : array
+    tmp27 : array
+    tmp28 : array
+    tmp29 : array
+    tmp3 : array
+    tmp30 : array
+    tmp31 : array
+    tmp32 : array
+    tmp33 : array
+    tmp34 : array
+    tmp35 : array
+    tmp36 : array
+    tmp38 : array
+    tmp39 : array
+    tmp4 : array
+    tmp41 : array
+    tmp43 : array
+    tmp44 : array
+    tmp45 : array
+    tmp47 : array
+    tmp5 : array
+    tmp7 : array
+    tmp8 : array
+    tmp9 : array
+    """
+
+    tmp29 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp26 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3))
+    tmp46 = einsum(tmp29, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp38 = einsum(tmp26, (0, 1), t1, (2, 1), (2, 0))
+    tmp10 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp9 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2))
+    tmp40 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp8 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3))
+    tmp34 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1))
+    tmp16 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4))
+    tmp0 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0))
+    tmp47 = einsum(tmp46, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4))
+    del tmp46
+    tmp45 = einsum(t1, (0, 1), tmp38, (2, 0), (2, 1))
+    tmp44 = einsum(t1, (0, 1), tmp10, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp43 = einsum(t1, (0, 1), tmp9, (2, 1), (0, 2))
+    tmp41 = einsum(t1, (0, 1), tmp40, (2, 3, 0, 4), (2, 3, 4, 1))
+    del tmp40
+    tmp39 = einsum(t1, (0, 1), tmp8, (0, 2), (2, 1))
+    tmp36 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp35 = einsum(tmp34, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4))
+    tmp33 = einsum(t1, (0, 1), tmp16, (2, 0), (2, 1))
+    tmp32 = einsum(t2, (0, 1, 2, 3), tmp29, (4, 1, 0, 5), (4, 2, 3, 5)) * -1
+    tmp31 = einsum(tmp29, (0, 1, 2, 3), t2, (4, 2, 5, 3), (0, 4, 1, 5)) * -1
+    tmp30 = einsum(t2, (0, 1, 2, 3), tmp29, (4, 1, 0, 3), (4, 2))
+    tmp28 = einsum(tmp26, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1
+    tmp27 = einsum(t2, (0, 1, 2, 3), tmp26, (1, 3), (0, 2))
+    tmp24 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5))
+    tmp23 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5))
+    tmp22 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4))
+    tmp21 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 5, 0, 1), (4, 2, 3, 5))
+    tmp20 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp19 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2))
+    tmp17 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4))
+    tmp15 = einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp13 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3))
+    tmp12 = einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3))
+    tmp11 = einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp7 = einsum(t1, (0, 1), tmp0, (0, 2), (2, 1))
+    tmp5 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2))
+    tmp4 = einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp3 = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    tmp2 = einsum(t1, (0, 1), f.oo, (2, 0), (2, 1))
+
+    return {f"tmp0": tmp0, f"tmp10": tmp10, f"tmp11": tmp11, f"tmp12": tmp12, f"tmp13": tmp13, f"tmp15": tmp15, f"tmp16": tmp16, f"tmp17": tmp17, f"tmp19": tmp19, f"tmp2": tmp2, f"tmp20": tmp20, f"tmp21": tmp21, f"tmp22": tmp22, f"tmp23": tmp23, f"tmp24": tmp24, f"tmp26": tmp26, f"tmp27": tmp27, f"tmp28": tmp28, f"tmp29": tmp29, f"tmp3": tmp3, f"tmp30": tmp30, f"tmp31": tmp31, f"tmp32": tmp32, f"tmp33": tmp33, f"tmp34": tmp34, f"tmp35": tmp35, f"tmp36": tmp36, f"tmp38": tmp38, f"tmp39": tmp39, f"tmp4": tmp4, f"tmp41": tmp41, f"tmp43": tmp43, f"tmp44": tmp44, f"tmp45": tmp45, f"tmp47": tmp47, f"tmp5": tmp5, f"tmp7": tmp7, f"tmp8": tmp8, f"tmp9": tmp9}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCC2.hbar_lmatvec_ee(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:50:57.942422.

+

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.

+ +
+ Source code in ebcc/codegen/GCC2.py +
1777
+1778
+1779
+1780
+1781
+1782
+1783
+1784
+1785
+1786
+1787
+1788
+1789
+1790
+1791
+1792
+1793
+1794
+1795
+1796
+1797
+1798
+1799
+1800
+1801
+1802
+1803
+1804
+1805
+1806
+1807
+1808
+1809
+1810
+1811
+1812
+1813
+1814
+1815
+1816
+1817
+1818
+1819
+1820
+1821
+1822
+1823
+1824
+1825
+1826
+1827
+1828
+1829
+1830
+1831
+1832
+1833
+1834
+1835
+1836
+1837
+1838
+1839
+1840
+1841
+1842
+1843
+1844
+1845
+1846
+1847
+1848
+1849
+1850
+1851
+1852
+1853
+1854
+1855
+1856
+1857
+1858
+1859
+1860
+1861
+1862
+1863
+1864
+1865
+1866
+1867
+1868
+1869
+1870
+1871
+1872
+1873
+1874
+1875
+1876
+1877
+1878
+1879
+1880
+1881
+1882
+1883
+1884
+1885
+1886
+1887
+1888
+1889
+1890
+1891
+1892
+1893
+1894
+1895
+1896
+1897
+1898
+1899
+1900
+1901
+1902
+1903
+1904
+1905
+1906
+1907
+1908
+1909
+1910
+1911
+1912
+1913
+1914
+1915
+1916
+1917
+1918
+1919
+1920
+1921
+1922
+1923
+1924
+1925
+1926
+1927
+1928
+1929
+1930
+1931
+1932
+1933
+1934
+1935
+1936
+1937
+1938
+1939
+1940
+1941
+1942
+1943
+1944
+1945
+1946
+1947
+1948
+1949
+1950
+1951
+1952
+1953
+1954
+1955
+1956
+1957
+1958
+1959
+1960
+1961
+1962
+1963
+1964
+1965
+1966
+1967
+1968
+1969
+1970
+1971
+1972
+1973
+1974
+1975
+1976
+1977
+1978
+1979
+1980
+1981
+1982
+1983
+1984
+1985
+1986
+1987
def hbar_lmatvec_ee(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:50:57.942422.
+
+    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"]
+    tmp0 = einsum(r2, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4))
+    tmp4 = einsum(r2, (0, 1, 2, 3), t1, (4, 3), (0, 1, 4, 2))
+    tmp10 = einsum(t2, (0, 1, 2, 3), r2, (4, 1, 2, 3), (4, 0))
+    tmp26 = np.copy(f.oo)
+    tmp26 += np.transpose(ints.tmp0, (1, 0))
+    tmp26 += ints.tmp16 * 0.5
+    tmp30 = einsum(tmp0, (0, 1), v.oovv, (2, 3, 4, 1), (2, 3, 0, 4)) * -1
+    tmp29 = einsum(tmp4, (0, 1, 2, 3), f.ov, (2, 4), (0, 1, 4, 3))
+    tmp19 = einsum(f.vv, (0, 1), r2, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp18 = einsum(v.ooov, (0, 1, 2, 3), r1, (2, 4), (0, 1, 4, 3))
+    tmp25 = einsum(tmp10, (0, 1), v.oovv, (2, 1, 3, 4), (0, 2, 3, 4)) * -1
+    tmp27 = einsum(tmp26, (0, 1), r2, (2, 0, 3, 4), (1, 2, 3, 4)) * -1
+    del tmp26
+    tmp23 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp22 = einsum(r2, (0, 1, 2, 3), ints.tmp36, (1, 4, 3, 5), (4, 0, 5, 2))
+    tmp9 = einsum(t1, (0, 1), r1, (2, 1), (2, 0))
+    tmp17 = einsum(v.ovvv, (0, 1, 2, 3), r1, (4, 1), (4, 0, 2, 3))
+    tmp16 = einsum(t2, (0, 1, 2, 3), r2, (4, 5, 2, 3), (4, 5, 0, 1))
+    tmp31 = np.copy(tmp29)
+    del tmp29
+    tmp31 += tmp30 * -0.5
+    del tmp30
+    tmp21 = einsum(ints.tmp17, (0, 1), r2, (2, 3, 4, 0), (2, 3, 1, 4))
+    tmp20 = np.copy(np.transpose(tmp18, (1, 0, 2, 3))) * -1
+    del tmp18
+    tmp20 += np.transpose(tmp19, (1, 0, 2, 3)) * -1
+    del tmp19
+    tmp32 = np.copy(ints.tmp34) * -0.5
+    del ints.tmp34
+    tmp32 += v.oooo * -1
+    tmp28 = np.copy(np.transpose(tmp25, (0, 1, 3, 2))) * 0.5
+    del tmp25
+    tmp28 += np.transpose(tmp27, (0, 1, 3, 2))
+    del tmp27
+    tmp24 = einsum(r1, (0, 1), f.ov, (2, 3), (2, 0, 3, 1))
+    tmp24 += tmp22
+    del tmp22
+    tmp24 += tmp23 * -1
+    del tmp23
+    tmp3 = np.copy(ints.tmp10)
+    tmp3 += ints.tmp36
+    del ints.tmp36
+    tmp3 += np.transpose(v.ovov, (0, 2, 3, 1)) * -1
+    tmp13 = np.copy(ints.tmp17) * 0.5
+    del ints.tmp17
+    tmp13 += ints.tmp9
+    del ints.tmp9
+    tmp13 += f.vv * -1
+    tmp5 = np.copy(ints.tmp29)
+    del ints.tmp29
+    tmp5 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1
+    tmp7 = np.copy(ints.tmp12) * 2
+    del ints.tmp12
+    tmp7 += ints.tmp19
+    del ints.tmp19
+    tmp7 += ints.tmp22
+    del ints.tmp22
+    tmp7 += ints.tmp2 * 2
+    del ints.tmp2
+    tmp7 += ints.tmp30
+    del ints.tmp30
+    tmp7 += ints.tmp33
+    del ints.tmp33
+    tmp7 += ints.tmp39 * 2
+    del ints.tmp39
+    tmp7 += ints.tmp43 * 2
+    del ints.tmp43
+    tmp7 += ints.tmp45 * 2
+    del ints.tmp45
+    tmp7 += ints.tmp7 * 2
+    del ints.tmp7
+    tmp7 += f.ov * -2
+    tmp7 += ints.tmp27 * -2
+    del ints.tmp27
+    tmp7 += ints.tmp3 * -2
+    del ints.tmp3
+    tmp7 += ints.tmp4 * -2
+    del ints.tmp4
+    tmp6 = einsum(t1, (0, 1), tmp4, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp15 = np.copy(f.ov)
+    tmp15 += ints.tmp26
+    del ints.tmp26
+    tmp12 = np.copy(ints.tmp10)
+    del ints.tmp10
+    tmp12 += np.transpose(v.ovov, (0, 2, 3, 1)) * -1
+    tmp1 = np.copy(ints.tmp15) * 0.5
+    del ints.tmp15
+    tmp1 += ints.tmp24
+    del ints.tmp24
+    tmp1 += ints.tmp32 * 0.25
+    del ints.tmp32
+    tmp1 += ints.tmp21 * -0.25
+    del ints.tmp21
+    tmp1 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -0.5
+    tmp14 = np.copy(f.oo)
+    tmp14 += np.transpose(ints.tmp0, (1, 0))
+    del ints.tmp0
+    tmp14 += ints.tmp16 * 0.5
+    del ints.tmp16
+    tmp14 += ints.tmp38
+    del ints.tmp38
+    tmp14 += np.transpose(ints.tmp8, (1, 0))
+    del ints.tmp8
+    tmp11 = np.copy(tmp9)
+    del tmp9
+    tmp11 += tmp10 * 0.5
+    del tmp10
+    tmp8 = einsum(r1, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp8 += einsum(t2, (0, 1, 2, 3), tmp4, (1, 0, 4, 3), (4, 2)) * -0.5
+    tmp2 = np.copy(ints.tmp11) * 0.5
+    del ints.tmp11
+    tmp2 += np.transpose(ints.tmp13, (0, 2, 1, 3))
+    del ints.tmp13
+    tmp2 += np.transpose(ints.tmp20, (0, 2, 1, 3))
+    del ints.tmp20
+    tmp2 += ints.tmp35 * 0.25
+    del ints.tmp35
+    tmp2 += ints.tmp47 * 0.5
+    del ints.tmp47
+    tmp2 += np.transpose(ints.tmp5, (1, 2, 0, 3)) * 0.5
+    del ints.tmp5
+    tmp2 += ints.tmp23 * -0.25
+    del ints.tmp23
+    tmp2 += ints.tmp28 * -0.5
+    del ints.tmp28
+    tmp2 += ints.tmp31 * -1
+    del ints.tmp31
+    tmp2 += np.transpose(ints.tmp41, (0, 2, 1, 3)) * -1
+    del ints.tmp41
+    tmp2 += ints.tmp44 * -0.5
+    del ints.tmp44
+    tmp2 += v.ooov * -0.5
+    r2new = einsum(r2, (0, 1, 2, 3), v.vvvv, (4, 5, 2, 3), (0, 1, 4, 5)) * 0.5
+    r2new += einsum(tmp16, (0, 1, 2, 3), v.oovv, (3, 2, 4, 5), (1, 0, 4, 5)) * 0.25
+    del tmp16
+    r2new += np.transpose(tmp17, (0, 1, 3, 2))
+    r2new += np.transpose(tmp17, (1, 0, 3, 2)) * -1
+    del tmp17
+    r2new += tmp20 * -1
+    r2new += np.transpose(tmp20, (0, 1, 3, 2))
+    del tmp20
+    r2new += np.transpose(tmp21, (1, 0, 2, 3)) * -0.5
+    r2new += np.transpose(tmp21, (1, 0, 3, 2)) * 0.5
+    del tmp21
+    r2new += tmp24
+    r2new += np.transpose(tmp24, (0, 1, 3, 2)) * -1
+    r2new += np.transpose(tmp24, (1, 0, 2, 3)) * -1
+    r2new += np.transpose(tmp24, (1, 0, 3, 2))
+    del tmp24
+    r2new += tmp28
+    r2new += np.transpose(tmp28, (1, 0, 2, 3)) * -1
+    del tmp28
+    r2new += tmp31
+    r2new += np.transpose(tmp31, (0, 1, 3, 2)) * -1
+    del tmp31
+    r2new += einsum(tmp32, (0, 1, 2, 3), r2, (0, 1, 4, 5), (2, 3, 4, 5)) * -0.5
+    del tmp32
+    r1new = einsum(v.ovvv, (0, 1, 2, 3), tmp0, (1, 3), (0, 2)) * 0.5
+    del tmp0
+    r1new += einsum(r2, (0, 1, 2, 3), tmp1, (1, 2, 3, 4), (0, 4))
+    del tmp1
+    r1new += einsum(tmp2, (0, 1, 2, 3), r2, (0, 1, 4, 3), (2, 4))
+    del tmp2
+    r1new += einsum(tmp3, (0, 1, 2, 3), tmp4, (0, 4, 1, 2), (4, 3)) * -1
+    del tmp4, tmp3
+    r1new += einsum(tmp5, (0, 1, 2, 3), tmp6, (4, 0, 2, 1), (4, 3)) * -0.5
+    del tmp6
+    r1new += einsum(tmp7, (0, 1), r2, (2, 0, 3, 1), (2, 3)) * -0.5
+    del tmp7
+    r1new += einsum(v.oovv, (0, 1, 2, 3), tmp8, (1, 3), (0, 2))
+    del tmp8
+    r1new += einsum(tmp5, (0, 1, 2, 3), tmp11, (0, 2), (1, 3)) * -1
+    del tmp5
+    r1new += einsum(r1, (0, 1), tmp12, (0, 2, 1, 3), (2, 3))
+    del tmp12
+    r1new += einsum(r1, (0, 1), tmp13, (1, 2), (0, 2)) * -1
+    del tmp13
+    r1new += einsum(tmp14, (0, 1), r1, (0, 2), (1, 2)) * -1
+    del tmp14
+    r1new += einsum(tmp11, (0, 1), tmp15, (1, 2), (0, 2)) * -1
+    del tmp11, tmp15
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/GCC3/index.html b/reference/codegen/GCC3/index.html new file mode 100644 index 00000000..c7fbc898 --- /dev/null +++ b/reference/codegen/GCC3/index.html @@ -0,0 +1,1135 @@ + + + + + + + + GCC3 - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-09T22:17:13.999711
  • +
  • python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0]
  • +
  • albert version: 0.0.0
  • +
  • caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py
  • +
  • node: fv-az1487-369
  • +
  • system: Linux
  • +
  • processor: x86_64
  • +
  • release: 6.5.0-1025-azure
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.GCC3.energy(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T22:17:14.250252.

+

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.

+ +
+ Source code in ebcc/codegen/GCC3.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
def energy(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T22:17:14.250252.
+
+    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(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
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCC3.update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T22:17:45.411100.

+

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.

+ +
+ Source code in ebcc/codegen/GCC3.py +
 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T22:17:45.411100.
+
+    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.
+    """
+
+    tmp0 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp67 = einsum(t1, (0, 1), tmp0, (2, 3, 4, 1), (2, 0, 4, 3))
+    tmp73 = einsum(t2, (0, 1, 2, 3), tmp0, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2))
+    tmp49 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp59 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6))
+    tmp17 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2))
+    tmp68 = einsum(t1, (0, 1), tmp67, (2, 3, 4, 0), (2, 3, 4, 1))
+    del tmp67
+    tmp3 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3))
+    tmp19 = einsum(v.oovv, (0, 1, 2, 3), t3, (4, 5, 1, 6, 2, 3), (4, 5, 0, 6))
+    tmp18 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1))
+    tmp81 = einsum(f.ov, (0, 1), t1, (0, 2), (1, 2))
+    tmp56 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp54 = einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp28 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp5 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0))
+    tmp74 = einsum(t1, (0, 1), tmp73, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6))
+    del tmp73
+    tmp51 = einsum(t1, (0, 1), tmp49, (2, 3, 4, 1), (2, 0, 3, 4)) * -1
+    tmp60 = einsum(t1, (0, 1), tmp59, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6))
+    del tmp59
+    tmp69 = np.copy(np.transpose(tmp17, (2, 1, 0, 3))) * -1
+    tmp69 += tmp68
+    del tmp68
+    tmp40 = einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3))
+    tmp42 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp44 = einsum(tmp3, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1
+    tmp6 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 2))
+    tmp37 = einsum(t1, (0, 1), tmp3, (2, 1), (0, 2))
+    tmp15 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 3), (4, 2))
+    tmp20 = np.copy(np.transpose(tmp17, (0, 2, 1, 3)))
+    del tmp17
+    tmp20 += np.transpose(tmp18, (2, 1, 0, 3)) * -0.5
+    del tmp18
+    tmp20 += np.transpose(tmp19, (2, 1, 0, 3)) * 0.5
+    del tmp19
+    tmp9 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp11 = np.copy(t2)
+    tmp11 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1
+    tmp26 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4))
+    tmp7 = np.copy(t2)
+    tmp7 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2
+    tmp82 = np.copy(f.vv)
+    tmp82 += tmp81 * -1
+    del tmp81
+    tmp64 = einsum(tmp49, (0, 1, 2, 3), t2, (4, 5, 6, 3), (0, 4, 5, 1, 6, 2)) * -1
+    tmp86 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 6, 3), (0, 1, 4, 6, 2, 5))
+    tmp57 = einsum(tmp56, (0, 1, 2, 3), t2, (4, 5, 6, 3), (0, 4, 5, 6, 1, 2)) * -1
+    del tmp56
+    tmp55 = einsum(t2, (0, 1, 2, 3), tmp54, (4, 5, 1, 6), (0, 4, 5, 6, 2, 3)) * -1
+    del tmp54
+    tmp77 = einsum(t1, (0, 1), tmp28, (2, 0, 3, 4), (2, 3, 4, 1)) * -1
+    tmp79 = np.copy(f.oo)
+    tmp79 += tmp5
+    tmp72 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 2, 5, 6), (4, 0, 1, 5, 6, 3))
+    tmp75 = einsum(t1, (0, 1), tmp74, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6)) * -1
+    del tmp74
+    tmp84 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1))
+    tmp62 = einsum(tmp51, (0, 1, 2, 3), t2, (4, 2, 5, 6), (1, 0, 4, 5, 6, 3)) * -1
+    tmp61 = einsum(t1, (0, 1), tmp60, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6)) * -1
+    del tmp60
+    tmp70 = einsum(tmp69, (0, 1, 2, 3), t2, (4, 2, 5, 6), (0, 1, 4, 3, 5, 6)) * -1
+    del tmp69
+    tmp66 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 6, 1), (4, 5, 0, 6, 2, 3))
+    tmp41 = einsum(t2, (0, 1, 2, 3), tmp40, (4, 3), (0, 1, 2, 4)) * -1
+    del tmp40
+    tmp43 = einsum(t2, (0, 1, 2, 3), tmp42, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp42
+    tmp45 = einsum(tmp44, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3))
+    del tmp44
+    tmp31 = einsum(v.ooov, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3))
+    tmp32 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp36 = einsum(tmp6, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) * -1
+    tmp38 = einsum(t2, (0, 1, 2, 3), tmp37, (4, 1), (4, 0, 2, 3)) * -1
+    del tmp37
+    tmp35 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp16 = einsum(t2, (0, 1, 2, 3), tmp15, (4, 3), (0, 1, 2, 4))
+    del tmp15
+    tmp21 = einsum(tmp20, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4))
+    del tmp20
+    tmp14 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovvv, (2, 6, 4, 5), (0, 1, 3, 6))
+    tmp47 = einsum(tmp0, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp10 = einsum(tmp9, (0, 1, 2, 3), t1, (1, 4), (0, 2, 4, 3))
+    del tmp9
+    tmp12 = einsum(v.ovov, (0, 1, 2, 3), tmp11, (2, 4, 1, 5), (4, 0, 5, 3))
+    del tmp11
+    tmp25 = einsum(tmp0, (0, 1, 2, 3), t3, (4, 2, 1, 5, 6, 3), (0, 4, 5, 6))
+    tmp27 = einsum(t2, (0, 1, 2, 3), tmp26, (4, 1), (0, 4, 2, 3))
+    del tmp26
+    tmp24 = einsum(v.ovoo, (0, 1, 2, 3), t3, (4, 2, 3, 5, 6, 1), (4, 0, 5, 6))
+    tmp23 = einsum(t2, (0, 1, 2, 3), tmp5, (1, 4), (4, 0, 2, 3))
+    tmp29 = einsum(tmp7, (0, 1, 2, 3), tmp28, (4, 0, 1, 5), (4, 5, 2, 3)) * 0.5
+    del tmp28
+    tmp83 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp82, (5, 6), (0, 1, 2, 6, 3, 4))
+    del tmp82
+    t3new = np.copy(np.transpose(tmp83, (1, 2, 0, 4, 5, 3)))
+    t3new += np.transpose(tmp83, (1, 2, 0, 4, 3, 5)) * -1
+    t3new += np.transpose(tmp83, (1, 2, 0, 3, 4, 5))
+    del tmp83
+    tmp65 = einsum(t1, (0, 1), tmp64, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6))
+    del tmp64
+    t3new += np.transpose(tmp65, (1, 2, 0, 5, 4, 3))
+    t3new += np.transpose(tmp65, (1, 2, 0, 4, 5, 3)) * -1
+    t3new += np.transpose(tmp65, (1, 2, 0, 5, 3, 4)) * -1
+    t3new += np.transpose(tmp65, (1, 2, 0, 4, 3, 5))
+    t3new += np.transpose(tmp65, (1, 2, 0, 3, 5, 4))
+    t3new += np.transpose(tmp65, (1, 2, 0, 3, 4, 5)) * -1
+    t3new += np.transpose(tmp65, (1, 0, 2, 5, 4, 3)) * -1
+    t3new += np.transpose(tmp65, (1, 0, 2, 4, 5, 3))
+    t3new += np.transpose(tmp65, (1, 0, 2, 5, 3, 4))
+    t3new += np.transpose(tmp65, (1, 0, 2, 4, 3, 5)) * -1
+    t3new += np.transpose(tmp65, (1, 0, 2, 3, 5, 4)) * -1
+    t3new += np.transpose(tmp65, (1, 0, 2, 3, 4, 5))
+    t3new += np.transpose(tmp65, (0, 2, 1, 5, 4, 3)) * -1
+    t3new += np.transpose(tmp65, (0, 2, 1, 4, 5, 3))
+    t3new += np.transpose(tmp65, (0, 2, 1, 5, 3, 4))
+    t3new += np.transpose(tmp65, (0, 2, 1, 4, 3, 5)) * -1
+    t3new += np.transpose(tmp65, (0, 2, 1, 3, 5, 4)) * -1
+    t3new += np.transpose(tmp65, (0, 2, 1, 3, 4, 5))
+    del tmp65
+    tmp87 = einsum(t1, (0, 1), tmp86, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6))
+    del tmp86
+    t3new += np.transpose(tmp87, (2, 1, 0, 5, 4, 3)) * -1
+    t3new += np.transpose(tmp87, (2, 1, 0, 4, 5, 3))
+    t3new += np.transpose(tmp87, (2, 1, 0, 5, 3, 4))
+    t3new += np.transpose(tmp87, (2, 1, 0, 4, 3, 5)) * -1
+    t3new += np.transpose(tmp87, (2, 1, 0, 3, 5, 4)) * -1
+    t3new += np.transpose(tmp87, (2, 1, 0, 3, 4, 5))
+    t3new += np.transpose(tmp87, (0, 2, 1, 5, 4, 3)) * -1
+    t3new += np.transpose(tmp87, (0, 2, 1, 4, 5, 3))
+    t3new += np.transpose(tmp87, (0, 2, 1, 5, 3, 4))
+    t3new += np.transpose(tmp87, (0, 2, 1, 4, 3, 5)) * -1
+    t3new += np.transpose(tmp87, (0, 2, 1, 3, 5, 4)) * -1
+    t3new += np.transpose(tmp87, (0, 2, 1, 3, 4, 5))
+    t3new += np.transpose(tmp87, (0, 1, 2, 5, 4, 3))
+    t3new += np.transpose(tmp87, (0, 1, 2, 4, 5, 3)) * -1
+    t3new += np.transpose(tmp87, (0, 1, 2, 5, 3, 4)) * -1
+    t3new += np.transpose(tmp87, (0, 1, 2, 4, 3, 5))
+    t3new += np.transpose(tmp87, (0, 1, 2, 3, 5, 4))
+    t3new += tmp87 * -1
+    del tmp87
+    tmp58 = np.copy(np.transpose(tmp55, (0, 2, 1, 3, 5, 4)))
+    del tmp55
+    tmp58 += np.transpose(tmp57, (0, 2, 1, 3, 5, 4))
+    del tmp57
+    t3new += np.transpose(tmp58, (2, 1, 0, 4, 5, 3))
+    t3new += np.transpose(tmp58, (2, 1, 0, 4, 3, 5)) * -1
+    t3new += np.transpose(tmp58, (2, 1, 0, 3, 4, 5))
+    t3new += np.transpose(tmp58, (2, 0, 1, 4, 5, 3)) * -1
+    t3new += np.transpose(tmp58, (2, 0, 1, 4, 3, 5))
+    t3new += np.transpose(tmp58, (2, 0, 1, 3, 4, 5)) * -1
+    t3new += np.transpose(tmp58, (0, 1, 2, 4, 5, 3)) * -1
+    t3new += np.transpose(tmp58, (0, 1, 2, 4, 3, 5))
+    t3new += tmp58 * -1
+    del tmp58
+    tmp78 = einsum(t2, (0, 1, 2, 3), tmp77, (4, 1, 5, 6), (4, 0, 5, 6, 2, 3)) * -1
+    del tmp77
+    t3new += np.transpose(tmp78, (2, 1, 0, 5, 4, 3)) * -1
+    t3new += np.transpose(tmp78, (2, 1, 0, 5, 3, 4))
+    t3new += np.transpose(tmp78, (2, 1, 0, 3, 5, 4)) * -1
+    t3new += np.transpose(tmp78, (1, 2, 0, 5, 4, 3))
+    t3new += np.transpose(tmp78, (1, 2, 0, 5, 3, 4)) * -1
+    t3new += np.transpose(tmp78, (1, 2, 0, 3, 5, 4))
+    t3new += np.transpose(tmp78, (2, 0, 1, 5, 4, 3))
+    t3new += np.transpose(tmp78, (2, 0, 1, 5, 3, 4)) * -1
+    t3new += np.transpose(tmp78, (2, 0, 1, 3, 5, 4))
+    t3new += np.transpose(tmp78, (1, 0, 2, 5, 4, 3)) * -1
+    t3new += np.transpose(tmp78, (1, 0, 2, 5, 3, 4))
+    t3new += np.transpose(tmp78, (1, 0, 2, 3, 5, 4)) * -1
+    t3new += np.transpose(tmp78, (0, 2, 1, 5, 4, 3)) * -1
+    t3new += np.transpose(tmp78, (0, 2, 1, 5, 3, 4))
+    t3new += np.transpose(tmp78, (0, 2, 1, 3, 5, 4)) * -1
+    t3new += np.transpose(tmp78, (0, 1, 2, 5, 4, 3))
+    t3new += np.transpose(tmp78, (0, 1, 2, 5, 3, 4)) * -1
+    t3new += np.transpose(tmp78, (0, 1, 2, 3, 5, 4))
+    del tmp78
+    tmp80 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp79, (2, 6), (6, 0, 1, 3, 4, 5))
+    del tmp79
+    t3new += np.transpose(tmp80, (2, 1, 0, 3, 4, 5))
+    t3new += np.transpose(tmp80, (2, 0, 1, 3, 4, 5)) * -1
+    t3new += tmp80 * -1
+    del tmp80
+    tmp76 = np.copy(np.transpose(tmp72, (0, 2, 1, 4, 3, 5)))
+    del tmp72
+    tmp76 += np.transpose(tmp75, (0, 2, 1, 4, 3, 5))
+    del tmp75
+    t3new += np.transpose(tmp76, (2, 1, 0, 5, 3, 4))
+    t3new += np.transpose(tmp76, (2, 1, 0, 3, 5, 4)) * -1
+    t3new += np.transpose(tmp76, (2, 1, 0, 3, 4, 5))
+    t3new += np.transpose(tmp76, (2, 0, 1, 5, 3, 4)) * -1
+    t3new += np.transpose(tmp76, (2, 0, 1, 3, 5, 4))
+    t3new += np.transpose(tmp76, (2, 0, 1, 3, 4, 5)) * -1
+    t3new += np.transpose(tmp76, (0, 1, 2, 5, 3, 4)) * -1
+    t3new += np.transpose(tmp76, (0, 1, 2, 3, 5, 4))
+    t3new += tmp76 * -1
+    del tmp76
+    tmp85 = einsum(tmp84, (0, 1, 2, 3), t2, (4, 1, 5, 6), (0, 4, 2, 5, 6, 3))
+    del tmp84
+    t3new += np.transpose(tmp85, (2, 1, 0, 5, 4, 3)) * -1
+    t3new += np.transpose(tmp85, (2, 1, 0, 4, 5, 3))
+    t3new += np.transpose(tmp85, (2, 1, 0, 4, 3, 5)) * -1
+    t3new += np.transpose(tmp85, (1, 2, 0, 5, 4, 3))
+    t3new += np.transpose(tmp85, (1, 2, 0, 4, 5, 3)) * -1
+    t3new += np.transpose(tmp85, (1, 2, 0, 4, 3, 5))
+    t3new += np.transpose(tmp85, (2, 0, 1, 5, 4, 3))
+    t3new += np.transpose(tmp85, (2, 0, 1, 4, 5, 3)) * -1
+    t3new += np.transpose(tmp85, (2, 0, 1, 4, 3, 5))
+    t3new += np.transpose(tmp85, (1, 0, 2, 5, 4, 3)) * -1
+    t3new += np.transpose(tmp85, (1, 0, 2, 4, 5, 3))
+    t3new += np.transpose(tmp85, (1, 0, 2, 4, 3, 5)) * -1
+    t3new += np.transpose(tmp85, (0, 2, 1, 5, 4, 3)) * -1
+    t3new += np.transpose(tmp85, (0, 2, 1, 4, 5, 3))
+    t3new += np.transpose(tmp85, (0, 2, 1, 4, 3, 5)) * -1
+    t3new += np.transpose(tmp85, (0, 1, 2, 5, 4, 3))
+    t3new += np.transpose(tmp85, (0, 1, 2, 4, 5, 3)) * -1
+    t3new += np.transpose(tmp85, (0, 1, 2, 4, 3, 5))
+    del tmp85
+    tmp63 = np.copy(np.transpose(tmp61, (0, 1, 2, 4, 3, 5))) * -1
+    del tmp61
+    tmp63 += np.transpose(tmp62, (0, 1, 2, 4, 3, 5)) * -1
+    del tmp62
+    t3new += np.transpose(tmp63, (2, 1, 0, 5, 3, 4))
+    t3new += np.transpose(tmp63, (2, 1, 0, 3, 5, 4)) * -1
+    t3new += np.transpose(tmp63, (2, 1, 0, 3, 4, 5))
+    t3new += np.transpose(tmp63, (0, 2, 1, 5, 3, 4))
+    t3new += np.transpose(tmp63, (0, 2, 1, 3, 5, 4)) * -1
+    t3new += np.transpose(tmp63, (0, 2, 1, 3, 4, 5))
+    t3new += np.transpose(tmp63, (0, 1, 2, 5, 3, 4)) * -1
+    t3new += np.transpose(tmp63, (0, 1, 2, 3, 5, 4))
+    t3new += tmp63 * -1
+    del tmp63
+    tmp71 = np.copy(np.transpose(tmp66, (0, 1, 2, 3, 5, 4))) * -1
+    del tmp66
+    tmp71 += np.transpose(tmp70, (0, 1, 2, 3, 5, 4)) * -1
+    del tmp70
+    t3new += np.transpose(tmp71, (2, 1, 0, 4, 5, 3))
+    t3new += np.transpose(tmp71, (2, 1, 0, 4, 3, 5)) * -1
+    t3new += np.transpose(tmp71, (2, 1, 0, 3, 4, 5))
+    t3new += np.transpose(tmp71, (0, 2, 1, 4, 5, 3))
+    t3new += np.transpose(tmp71, (0, 2, 1, 4, 3, 5)) * -1
+    t3new += np.transpose(tmp71, (0, 2, 1, 3, 4, 5))
+    t3new += np.transpose(tmp71, (0, 1, 2, 4, 5, 3)) * -1
+    t3new += np.transpose(tmp71, (0, 1, 2, 4, 3, 5))
+    t3new += tmp71 * -1
+    del tmp71
+    tmp46 = np.copy(tmp41)
+    del tmp41
+    tmp46 += tmp43
+    del tmp43
+    tmp46 += tmp45 * -1
+    del tmp45
+    t2new = np.copy(np.transpose(tmp46, (0, 1, 3, 2))) * -1
+    t2new += tmp46
+    del tmp46
+    tmp33 = np.copy(np.transpose(tmp31, (1, 0, 2, 3))) * -1
+    del tmp31
+    tmp33 += np.transpose(tmp32, (1, 0, 2, 3)) * -1
+    del tmp32
+    t2new += np.transpose(tmp33, (0, 1, 3, 2))
+    t2new += tmp33 * -1
+    del tmp33
+    tmp53 = np.copy(v.oooo)
+    tmp53 += einsum(tmp7, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (4, 5, 1, 0)) * -0.5
+    t2new += einsum(tmp7, (0, 1, 2, 3), tmp53, (0, 1, 4, 5), (4, 5, 3, 2)) * -0.5
+    del tmp53
+    tmp39 = np.copy(np.transpose(tmp35, (0, 1, 3, 2))) * -1
+    del tmp35
+    tmp39 += np.transpose(tmp36, (0, 1, 3, 2))
+    del tmp36
+    tmp39 += np.transpose(tmp38, (0, 1, 3, 2)) * -1
+    del tmp38
+    t2new += np.transpose(tmp39, (1, 0, 2, 3))
+    t2new += tmp39 * -1
+    del tmp39
+    tmp50 = einsum(tmp49, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 5, 2)) * -1
+    del tmp49
+    t2new += np.transpose(tmp50, (1, 0, 3, 2))
+    t2new += np.transpose(tmp50, (1, 0, 2, 3)) * -1
+    t2new += np.transpose(tmp50, (0, 1, 3, 2)) * -1
+    t2new += tmp50
+    del tmp50
+    tmp2 = np.copy(t2) * 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
+    tmp4 = np.copy(f.ov)
+    tmp4 += tmp3
+    del tmp3
+    t2new += einsum(t3, (0, 1, 2, 3, 4, 5), tmp4, (2, 5), (0, 1, 3, 4))
+    t1new += einsum(t2, (0, 1, 2, 3), tmp4, (1, 3), (0, 2))
+    del tmp4
+    tmp22 = np.copy(tmp14) * 0.5
+    del tmp14
+    tmp22 += tmp16 * 0.5
+    del tmp16
+    tmp22 += np.transpose(tmp21, (1, 0, 3, 2)) * -1
+    del tmp21
+    t2new += np.transpose(tmp22, (0, 1, 3, 2))
+    t2new += tmp22 * -1
+    del tmp22
+    tmp52 = einsum(tmp51, (0, 1, 2, 3), t1, (2, 4), (1, 0, 4, 3)) * -1
+    del tmp51
+    t2new += np.transpose(tmp52, (0, 1, 3, 2))
+    t2new += tmp52 * -1
+    del tmp52
+    tmp48 = einsum(tmp47, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3))
+    del tmp47
+    t2new += np.transpose(tmp48, (1, 0, 3, 2)) * -1
+    t2new += np.transpose(tmp48, (1, 0, 2, 3))
+    t2new += np.transpose(tmp48, (0, 1, 3, 2))
+    t2new += tmp48 * -1
+    del tmp48
+    tmp34 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3))
+    t2new += np.transpose(tmp34, (1, 0, 3, 2))
+    t2new += np.transpose(tmp34, (0, 1, 3, 2)) * -1
+    del tmp34
+    tmp13 = np.copy(tmp10)
+    del tmp10
+    tmp13 += tmp12 * -1
+    del tmp12
+    t2new += np.transpose(tmp13, (1, 0, 3, 2))
+    t2new += np.transpose(tmp13, (1, 0, 2, 3)) * -1
+    t2new += np.transpose(tmp13, (0, 1, 3, 2)) * -1
+    t2new += tmp13
+    del tmp13
+    tmp30 = np.copy(np.transpose(tmp23, (0, 1, 3, 2)))
+    del tmp23
+    tmp30 += np.transpose(tmp24, (0, 1, 3, 2)) * -0.5
+    del tmp24
+    tmp30 += np.transpose(tmp25, (0, 1, 3, 2)) * 0.5
+    del tmp25
+    tmp30 += np.transpose(tmp27, (0, 1, 3, 2)) * -0.5
+    del tmp27
+    tmp30 += np.transpose(tmp29, (0, 1, 3, 2)) * -1
+    del tmp29
+    t2new += np.transpose(tmp30, (1, 0, 2, 3))
+    t2new += tmp30 * -1
+    del tmp30
+    tmp8 = np.copy(f.oo)
+    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
+    tmp1 = np.copy(np.transpose(v.ovoo, (0, 2, 3, 1))) * -1
+    tmp1 += np.transpose(tmp0, (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
+    t1new += einsum(t3, (0, 1, 2, 3, 4, 5), v.oovv, (1, 2, 4, 5), (0, 3)) * 0.25
+    t1new += f.ov
+    t1new += einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1
+    t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    t2new += v.oovv
+
+    return {f"t1new": t1new, f"t2new": t2new, f"t3new": t3new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/GCCD/index.html b/reference/codegen/GCCD/index.html new file mode 100644 index 00000000..d025f0a0 --- /dev/null +++ b/reference/codegen/GCCD/index.html @@ -0,0 +1,3059 @@ + + + + + + + + GCCD - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-17T18:47:56.573852
  • +
  • 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.8.0-40-generic
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.GCCD.energy(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:47:56.615356.

+

Parameters

+

t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

e_cc : float + Coupled cluster energy.

+ +
+ Source code in ebcc/codegen/GCCD.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
def energy(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:47:56.615356.
+
+    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), ()) * 0.25
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCD.update_amps(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:47:57.314283.

+

Parameters

+

f : array + Fock matrix. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

t2new : array + Updated T2 residuals.

+ +
+ Source code in ebcc/codegen/GCCD.py +
40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
def update_amps(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:47:57.314283.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    t2new : array
+        Updated T2 residuals.
+    """
+
+    tmp4 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0))
+    tmp2 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4))
+    tmp0 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp7 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp5 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 1), (0, 4, 2, 3))
+    del tmp4
+    tmp3 = einsum(tmp2, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0))
+    del tmp2
+    tmp1 = einsum(t2, (0, 1, 2, 3), tmp0, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp0
+    tmp8 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp9 = np.copy(v.oooo)
+    tmp9 += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (4, 5, 0, 1)) * 0.5
+    tmp6 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4))
+    t2new = einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1)) * 0.5
+    t2new += v.oovv
+    t2new += tmp1
+    t2new += np.transpose(tmp1, (0, 1, 3, 2)) * -1
+    del tmp1
+    t2new += tmp3 * -0.5
+    t2new += np.transpose(tmp3, (0, 1, 3, 2)) * 0.5
+    del tmp3
+    t2new += np.transpose(tmp5, (0, 1, 3, 2)) * 0.5
+    t2new += np.transpose(tmp5, (1, 0, 3, 2)) * -0.5
+    del tmp5
+    t2new += np.transpose(tmp6, (0, 1, 3, 2)) * -1
+    t2new += np.transpose(tmp6, (1, 0, 3, 2))
+    del tmp6
+    t2new += tmp7 * -1
+    t2new += np.transpose(tmp7, (0, 1, 3, 2))
+    t2new += np.transpose(tmp7, (1, 0, 2, 3))
+    t2new += np.transpose(tmp7, (1, 0, 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 += einsum(tmp9, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 3, 4, 5)) * 0.5
+    del tmp9
+
+    return {f"t2new": t2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCD.update_lams(f=None, l2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:47:58.293374.

+

Parameters

+

f : array + Fock matrix. +l2 : array + L2 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

l2new : array + Updated L2 residuals.

+ +
+ Source code in ebcc/codegen/GCCD.py +
100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
def update_lams(f=None, l2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:47:58.293374.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    l2 : array
+        L2 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    l2new : array
+        Updated L2 residuals.
+    """
+
+    tmp1 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp11 = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4))
+    tmp9 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 3), (4, 2))
+    tmp6 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 1), (4, 0))
+    tmp4 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4))
+    tmp2 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1
+    tmp2 += tmp1
+    del tmp1
+    tmp12 = einsum(v.oovv, (0, 1, 2, 3), tmp11, (4, 3), (0, 1, 4, 2)) * -1
+    del tmp11
+    tmp10 = einsum(tmp9, (0, 1), l2, (2, 0, 3, 4), (3, 4, 2, 1))
+    del tmp9
+    tmp7 = einsum(v.oovv, (0, 1, 2, 3), tmp6, (4, 1), (4, 0, 2, 3)) * -1
+    del tmp6
+    tmp5 = einsum(tmp4, (0, 1), l2, (2, 3, 4, 0), (4, 1, 2, 3))
+    del tmp4
+    tmp14 = einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3))
+    tmp0 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1))
+    tmp3 = einsum(tmp2, (0, 1, 2, 3), l2, (4, 2, 5, 0), (5, 1, 4, 3))
+    del tmp2
+    tmp15 = einsum(l2, (0, 1, 2, 3), f.vv, (4, 1), (2, 3, 4, 0))
+    tmp13 = np.copy(tmp10) * 0.5
+    del tmp10
+    tmp13 += tmp12 * 0.5
+    del tmp12
+    tmp8 = np.copy(np.transpose(tmp5, (0, 1, 3, 2))) * -0.5
+    del tmp5
+    tmp8 += np.transpose(tmp7, (0, 1, 3, 2)) * -0.5
+    del tmp7
+    tmp16 = np.copy(v.oooo) * 2
+    tmp16 += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1))
+    l2new = einsum(v.oovv, (0, 1, 2, 3), tmp0, (4, 5, 1, 0), (2, 3, 4, 5)) * -0.25
+    del tmp0
+    l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5
+    l2new += np.transpose(v.oovv, (2, 3, 0, 1))
+    l2new += np.transpose(tmp3, (2, 3, 0, 1))
+    l2new += np.transpose(tmp3, (3, 2, 0, 1)) * -1
+    l2new += np.transpose(tmp3, (2, 3, 1, 0)) * -1
+    l2new += np.transpose(tmp3, (3, 2, 1, 0))
+    del tmp3
+    l2new += np.transpose(tmp8, (3, 2, 0, 1))
+    l2new += np.transpose(tmp8, (3, 2, 1, 0)) * -1
+    del tmp8
+    l2new += np.transpose(tmp13, (2, 3, 1, 0))
+    l2new += np.transpose(tmp13, (3, 2, 1, 0)) * -1
+    del tmp13
+    l2new += np.transpose(tmp14, (3, 2, 0, 1)) * -1
+    l2new += np.transpose(tmp14, (3, 2, 1, 0))
+    del tmp14
+    l2new += np.transpose(tmp15, (2, 3, 1, 0))
+    l2new += np.transpose(tmp15, (3, 2, 1, 0)) * -1
+    del tmp15
+    l2new += einsum(tmp16, (0, 1, 2, 3), l2, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.25
+    del tmp16
+
+    return {f"l2new": l2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCD.make_rdm1_f(l2=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:47:58.384725.

+

Parameters

+

l2 : array + L2 amplitudes. +t2 : array + T2 amplitudes.

+

Returns

+

rdm1 : array + One-particle reduced density matrix.

+ +
+ Source code in ebcc/codegen/GCCD.py +
178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
def make_rdm1_f(l2=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:47:58.384725.
+
+    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.vv = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 0, 1), (4, 2)) * 0.5
+    rdm1.oo = np.copy(delta.oo)
+    del delta
+    rdm1.oo += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (4, 2)) * -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
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCD.make_rdm2_f(l2=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:47:59.289207.

+

Parameters

+

l2 : array + L2 amplitudes. +t2 : array + T2 amplitudes.

+

Returns

+

rdm2 : array + Two-particle reduced density matrix.

+ +
+ Source code in ebcc/codegen/GCCD.py +
210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
def make_rdm2_f(l2=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:47:59.289207.
+
+    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(t2, (0, 1, 2, 3), l2, (4, 3, 0, 1), (4, 2))
+    tmp2 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 5, 1), (2, 4, 0, 5))
+    tmp1 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4))
+    tmp5 = einsum(tmp4, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp0 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1))
+    tmp3 = einsum(t2, (0, 1, 2, 3), tmp2, (1, 4, 3, 5), (4, 0, 5, 2))
+    tmp6 = einsum(tmp1, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4))
+    rdm2.vvvv = einsum(l2, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5)) * 0.5
+    rdm2.vvoo = np.copy(l2)
+    rdm2.vovo = einsum(tmp4, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * 0.5
+    rdm2.vovo += np.transpose(tmp2, (2, 1, 3, 0)) * -1
+    rdm2.voov = einsum(tmp4, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -0.5
+    rdm2.voov += np.transpose(tmp2, (2, 1, 0, 3))
+    rdm2.ovvo = einsum(tmp4, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -0.5
+    rdm2.ovvo += np.transpose(tmp2, (1, 2, 3, 0))
+    rdm2.ovov = einsum(tmp4, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * 0.5
+    del tmp4
+    rdm2.ovov += np.transpose(tmp2, (1, 2, 0, 3)) * -1
+    del tmp2
+    rdm2.oovv = einsum(t2, (0, 1, 2, 3), tmp0, (1, 0, 4, 5), (5, 4, 2, 3)) * 0.25
+    rdm2.oovv += t2
+    rdm2.oovv += tmp3
+    rdm2.oovv += np.transpose(tmp3, (0, 1, 3, 2)) * -1
+    del tmp3
+    rdm2.oovv += tmp5 * -0.5
+    rdm2.oovv += np.transpose(tmp5, (0, 1, 3, 2)) * 0.5
+    del tmp5
+    rdm2.oovv += np.transpose(tmp6, (0, 1, 3, 2)) * 0.5
+    rdm2.oovv += np.transpose(tmp6, (1, 0, 3, 2)) * -0.5
+    del tmp6
+    rdm2.oooo = np.copy(np.transpose(tmp0, (3, 2, 1, 0))) * 0.5
+    del tmp0
+    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.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 2, 0, 3)) * -0.5
+    rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3)) * 0.5
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (3, 0, 1, 2)) * 0.5
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (0, 3, 1, 2)) * -0.5
+    del tmp1, delta
+    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 = np.transpose(rdm2, (0, 2, 1, 3))
+
+    return rdm2
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCD.hbar_matvec_ip_intermediates(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:01.551736.

+

Parameters

+

f : array + Fock matrix. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp11 : array +tmp12 : array +tmp13 : array +tmp2 : array +tmp3 : array +tmp5 : array +tmp6 : array +tmp8 : array +tmp9 : array

+ +
+ Source code in ebcc/codegen/GCCD.py +
284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
def hbar_matvec_ip_intermediates(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:01.551736.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp11 : array
+    tmp12 : array
+    tmp13 : array
+    tmp2 : array
+    tmp3 : array
+    tmp5 : array
+    tmp6 : array
+    tmp8 : array
+    tmp9 : array
+    """
+
+    tmp13 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp12 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4))
+    tmp11 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5))
+    tmp9 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1))
+    tmp8 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 2, 3), (4, 1))
+    tmp6 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp5 = einsum(v.ovoo, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4))
+    tmp3 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp2 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2))
+    tmp0 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0))
+
+    return {f"tmp0": tmp0, f"tmp11": tmp11, f"tmp12": tmp12, f"tmp13": tmp13, f"tmp2": tmp2, f"tmp3": tmp3, f"tmp5": tmp5, f"tmp6": tmp6, f"tmp8": tmp8, f"tmp9": tmp9}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCD.hbar_matvec_ip(f=None, r1=None, r2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:01.558066.

+

Parameters

+

f : array + Fock matrix. +r1 : array + R1 amplitudes. +r2 : array + R2 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

r1new : array + Updated R1 residuals. +r2new : array + Updated R2 residuals.

+ +
+ Source code in ebcc/codegen/GCCD.py +
324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
def hbar_matvec_ip(f=None, r1=None, r2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:01.558066.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    r1 : array
+        R1 amplitudes.
+    r2 : array
+        R2 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 = einsum(ints.tmp0, (0, 1), r2, (2, 1, 3), (0, 2, 3))
+    tmp4 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 2, 1), (4, 0, 3))
+    tmp3 = einsum(ints.tmp13, (0, 1, 2, 3), r2, (4, 1, 3), (0, 4, 2))
+    del ints.tmp13
+    tmp6 = einsum(f.oo, (0, 1), r2, (2, 1, 3), (0, 2, 3))
+    tmp7 = einsum(ints.tmp6, (0, 1, 2, 3), r1, (1,), (0, 2, 3))
+    del ints.tmp6
+    tmp10 = np.copy(f.vv)
+    tmp10 += np.transpose(ints.tmp12, (1, 0)) * -0.5
+    del ints.tmp12
+    tmp5 = np.copy(tmp2) * -0.5
+    del tmp2
+    tmp5 += tmp3
+    del tmp3
+    tmp5 += tmp4
+    del tmp4
+    tmp1 = einsum(r2, (0, 1, 2), v.oovv, (0, 1, 3, 2), (3,))
+    tmp11 = np.copy(np.transpose(ints.tmp9, (2, 0, 1, 3))) * 0.5
+    del ints.tmp9
+    tmp11 += np.transpose(v.ovoo, (0, 2, 3, 1))
+    tmp11 += ints.tmp3 * -1
+    del ints.tmp3
+    tmp8 = np.copy(tmp6)
+    del tmp6
+    tmp8 += tmp7
+    del tmp7
+    tmp9 = np.copy(ints.tmp11) * -0.5
+    del ints.tmp11
+    tmp9 += v.oooo * -1
+    tmp12 = np.copy(f.ov)
+    tmp12 += ints.tmp2
+    del ints.tmp2
+    tmp12 += ints.tmp5 * -0.5
+    del ints.tmp5
+    tmp12 += ints.tmp8 * -0.5
+    del ints.tmp8
+    tmp0 = np.copy(f.oo) * 2
+    tmp0 += np.transpose(ints.tmp0, (1, 0))
+    del ints.tmp0
+    r2new = einsum(tmp1, (0,), t2, (1, 2, 3, 0), (1, 2, 3)) * 0.5
+    del tmp1
+    r2new += tmp5 * -1
+    r2new += np.transpose(tmp5, (1, 0, 2))
+    del tmp5
+    r2new += tmp8
+    r2new += np.transpose(tmp8, (1, 0, 2)) * -1
+    del tmp8
+    r2new += einsum(r2, (0, 1, 2), tmp9, (3, 4, 1, 0), (3, 4, 2)) * 0.5
+    del tmp9
+    r2new += einsum(r2, (0, 1, 2), tmp10, (2, 3), (0, 1, 3))
+    del tmp10
+    r2new += einsum(tmp11, (0, 1, 2, 3), r1, (0,), (2, 1, 3))
+    del tmp11
+    r2new += einsum(r1, (0,), tmp12, (1, 2), (0, 1, 2))
+    r2new += einsum(r1, (0,), tmp12, (1, 2), (1, 0, 2)) * -1
+    del tmp12
+    r1new = einsum(f.ov, (0, 1), r2, (2, 0, 1), (2,))
+    r1new += einsum(v.ovoo, (0, 1, 2, 3), r2, (2, 3, 1), (0,)) * -0.5
+    r1new += einsum(r1, (0,), tmp0, (0, 1), (1,)) * -0.5
+    del tmp0
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCD.hbar_matvec_ea_intermediates(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:03.893855.

+

Parameters

+

f : array + Fock matrix. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp10 : array +tmp12 : array +tmp2 : array +tmp5 : array +tmp6 : array +tmp7 : array +tmp8 : array

+ +
+ Source code in ebcc/codegen/GCCD.py +
413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
def hbar_matvec_ea_intermediates(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:03.893855.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp10 : array
+    tmp12 : array
+    tmp2 : array
+    tmp5 : array
+    tmp6 : array
+    tmp7 : array
+    tmp8 : array
+    """
+
+    tmp12 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp10 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0))
+    tmp8 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 1, 2))
+    tmp7 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 2, 3), (4, 1))
+    tmp6 = einsum(v.ovoo, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 4, 5, 1))
+    tmp5 = einsum(v.ovoo, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4))
+    tmp2 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2))
+    tmp0 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4))
+
+    return {f"tmp0": tmp0, f"tmp10": tmp10, f"tmp12": tmp12, f"tmp2": tmp2, f"tmp5": tmp5, f"tmp6": tmp6, f"tmp7": tmp7, f"tmp8": tmp8}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCD.hbar_matvec_ea(f=None, r1=None, r2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:03.899541.

+

Parameters

+

f : array + Fock matrix. +r1 : array + R1 amplitudes. +r2 : array + R2 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

r1new : array + Updated R1 residuals. +r2new : array + Updated R2 residuals.

+ +
+ Source code in ebcc/codegen/GCCD.py +
449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
def hbar_matvec_ea(f=None, r1=None, r2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:03.899541.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    r1 : array
+        R1 amplitudes.
+    r2 : array
+        R2 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    r1new : array
+        Updated R1 residuals.
+    r2new : array
+        Updated R2 residuals.
+    """
+
+    ints = kwargs["ints"]
+    tmp4 = np.copy(f.vv) * 2
+    tmp4 += np.transpose(ints.tmp0, (1, 0)) * -1
+    tmp2 = einsum(ints.tmp12, (0, 1, 2, 3), r2, (4, 3, 1), (0, 2, 4))
+    del ints.tmp12
+    tmp5 = einsum(tmp4, (0, 1), r2, (2, 0, 3), (3, 2, 1)) * -0.5
+    del tmp4
+    tmp3 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 1, 2), (0, 4, 3))
+    tmp7 = einsum(r1, (0,), ints.tmp8, (1, 2, 3, 0), (1, 2, 3))
+    del ints.tmp8
+    tmp10 = np.copy(f.oo)
+    tmp10 += np.transpose(ints.tmp10, (1, 0)) * 0.5
+    del ints.tmp10
+    tmp1 = einsum(r2, (0, 1, 2), v.oovv, (3, 4, 0, 1), (2, 3, 4))
+    tmp11 = np.copy(f.ov)
+    tmp11 += ints.tmp2
+    del ints.tmp2
+    tmp11 += ints.tmp5 * -0.5
+    del ints.tmp5
+    tmp11 += ints.tmp7 * -0.5
+    del ints.tmp7
+    tmp9 = einsum(r1, (0,), f.ov, (1, 0), (1,))
+    tmp9 += einsum(r2, (0, 1, 2), v.oovv, (3, 2, 0, 1), (3,)) * 0.5
+    tmp8 = np.copy(ints.tmp6) * 0.5
+    del ints.tmp6
+    tmp8 += np.transpose(v.ovvv, (0, 2, 3, 1))
+    tmp6 = np.copy(tmp2)
+    del tmp2
+    tmp6 += tmp3
+    del tmp3
+    tmp6 += np.transpose(tmp5, (0, 2, 1)) * -1
+    del tmp5
+    tmp0 = np.copy(f.vv)
+    tmp0 += np.transpose(ints.tmp0, (1, 0)) * -0.5
+    del ints.tmp0
+    r2new = einsum(tmp1, (0, 1, 2), t2, (2, 1, 3, 4), (3, 4, 0)) * -0.25
+    del tmp1
+    r2new += einsum(v.vvvv, (0, 1, 2, 3), r2, (2, 3, 4), (0, 1, 4)) * 0.5
+    r2new += np.transpose(tmp6, (1, 2, 0)) * -1
+    r2new += np.transpose(tmp6, (2, 1, 0))
+    del tmp6
+    r2new += np.transpose(tmp7, (1, 2, 0))
+    r2new += np.transpose(tmp7, (2, 1, 0)) * -1
+    del tmp7
+    r2new += einsum(tmp8, (0, 1, 2, 3), r1, (3,), (2, 1, 0))
+    del tmp8
+    r2new += einsum(tmp9, (0,), t2, (1, 0, 2, 3), (2, 3, 1))
+    del tmp9
+    r2new += einsum(tmp10, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp10
+    r2new += einsum(r1, (0,), tmp11, (1, 2), (0, 2, 1))
+    r2new += einsum(tmp11, (0, 1), r1, (2,), (1, 2, 0)) * -1
+    del tmp11
+    r1new = einsum(r2, (0, 1, 2), v.ovvv, (2, 3, 0, 1), (3,)) * -0.5
+    r1new += einsum(r2, (0, 1, 2), f.ov, (2, 1), (0,))
+    r1new += einsum(tmp0, (0, 1), r1, (0,), (1,))
+    del tmp0
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCD.hbar_matvec_ee_intermediates(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:09.986105.

+

Parameters

+

f : array + Fock matrix. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp1 : array +tmp13 : array +tmp14 : array +tmp16 : array +tmp20 : array +tmp21 : array +tmp23 : array +tmp28 : array +tmp30 : array +tmp5 : array +tmp6 : array

+ +
+ Source code in ebcc/codegen/GCCD.py +
534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
def hbar_matvec_ee_intermediates(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:09.986105.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp1 : array
+    tmp13 : array
+    tmp14 : array
+    tmp16 : array
+    tmp20 : array
+    tmp21 : array
+    tmp23 : array
+    tmp28 : array
+    tmp30 : array
+    tmp5 : array
+    tmp6 : array
+    """
+
+    tmp30 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp28 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5))
+    tmp23 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 1, 2))
+    tmp21 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1))
+    tmp20 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 2, 3), (4, 1))
+    tmp16 = einsum(v.ovoo, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 4, 5, 1))
+    tmp14 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp13 = einsum(v.ovoo, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4))
+    tmp6 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp5 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2))
+    tmp1 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4))
+    tmp0 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0))
+
+    return {f"tmp0": tmp0, f"tmp1": tmp1, f"tmp13": tmp13, f"tmp14": tmp14, f"tmp16": tmp16, f"tmp20": tmp20, f"tmp21": tmp21, f"tmp23": tmp23, f"tmp28": tmp28, f"tmp30": tmp30, f"tmp5": tmp5, f"tmp6": tmp6}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCD.hbar_matvec_ee(f=None, r1=None, r2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:09.995818.

+

Parameters

+

f : array + Fock matrix. +r1 : array + R1 amplitudes. +r2 : array + R2 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

r1new : array + Updated R1 residuals. +r2new : array + Updated R2 residuals.

+ +
+ Source code in ebcc/codegen/GCCD.py +
578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
def hbar_matvec_ee(f=None, r1=None, r2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:09.995818.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    r1 : array
+        R1 amplitudes.
+    r2 : array
+        R2 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    r1new : array
+        Updated R1 residuals.
+    r2new : array
+        Updated R2 residuals.
+    """
+
+    ints = kwargs["ints"]
+    tmp7 = einsum(r1, (0, 1), f.ov, (2, 1), (2, 0))
+    tmp8 = einsum(r2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4))
+    tmp5 = np.copy(f.oo) * 2
+    tmp5 += np.transpose(ints.tmp0, (1, 0))
+    tmp9 = np.copy(np.transpose(tmp7, (1, 0)))
+    del tmp7
+    tmp9 += tmp8 * 0.5
+    del tmp8
+    tmp13 = einsum(v.oovv, (0, 1, 2, 3), r2, (0, 1, 4, 3), (4, 2))
+    tmp17 = einsum(r1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3))
+    tmp20 = einsum(v.ovvv, (0, 1, 2, 3), r1, (0, 3), (1, 2))
+    tmp31 = einsum(r2, (0, 1, 2, 3), ints.tmp1, (4, 3), (0, 1, 4, 2))
+    tmp30 = einsum(ints.tmp21, (0, 1, 2, 3), r1, (2, 4), (0, 1, 3, 4))
+    del ints.tmp21
+    tmp28 = einsum(r2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2))
+    tmp27 = einsum(r1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4))
+    tmp6 = einsum(tmp5, (0, 1), r2, (2, 0, 3, 4), (2, 1, 3, 4)) * -0.5
+    del tmp5
+    tmp4 = einsum(ints.tmp16, (0, 1, 2, 3), r1, (4, 3), (0, 4, 1, 2))
+    del ints.tmp16
+    tmp10 = einsum(tmp9, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4)) * -1
+    del tmp9
+    tmp23 = einsum(ints.tmp23, (0, 1, 2, 3), r1, (4, 3), (0, 4, 1, 2))
+    del ints.tmp23
+    tmp22 = einsum(ints.tmp14, (0, 1, 2, 3), r1, (1, 4), (0, 2, 3, 4))
+    del ints.tmp14
+    tmp25 = einsum(ints.tmp30, (0, 1, 2, 3), r2, (4, 1, 5, 3), (0, 4, 2, 5))
+    del ints.tmp30
+    tmp24 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp14 = einsum(tmp13, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1
+    del tmp13
+    tmp12 = einsum(ints.tmp6, (0, 1, 2, 3), r1, (0, 4), (1, 2, 3, 4))
+    del ints.tmp6
+    tmp16 = einsum(r1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp18 = einsum(tmp17, (0, 1), t2, (2, 0, 3, 4), (2, 1, 3, 4)) * -1
+    del tmp17
+    tmp34 = np.copy(f.ov)
+    tmp34 += ints.tmp5
+    tmp34 += ints.tmp13 * -0.5
+    tmp34 += ints.tmp20 * -0.5
+    tmp21 = einsum(tmp20, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) * -1
+    del tmp20
+    tmp3 = einsum(v.oovv, (0, 1, 2, 3), r2, (4, 5, 2, 3), (4, 5, 0, 1))
+    tmp32 = np.copy(tmp30) * 0.5
+    del tmp30
+    tmp32 += np.transpose(tmp31, (1, 0, 2, 3)) * -0.5
+    del tmp31
+    tmp29 = np.copy(np.transpose(tmp27, (1, 0, 2, 3))) * -1
+    del tmp27
+    tmp29 += np.transpose(tmp28, (1, 0, 2, 3)) * -1
+    del tmp28
+    tmp11 = np.copy(np.transpose(tmp4, (0, 1, 3, 2))) * -0.5
+    del tmp4
+    tmp11 += np.transpose(tmp6, (1, 0, 3, 2))
+    del tmp6
+    tmp11 += np.transpose(tmp10, (1, 0, 3, 2))
+    del tmp10
+    tmp26 = np.copy(tmp22)
+    del tmp22
+    tmp26 += tmp23
+    del tmp23
+    tmp26 += tmp24
+    del tmp24
+    tmp26 += tmp25 * -1
+    del tmp25
+    tmp15 = np.copy(tmp12)
+    del tmp12
+    tmp15 += tmp14 * 0.5
+    del tmp14
+    tmp33 = np.copy(ints.tmp28) * -1
+    del ints.tmp28
+    tmp33 += v.oooo * -2
+    tmp19 = np.copy(np.transpose(tmp16, (0, 1, 3, 2))) * -1
+    del tmp16
+    tmp19 += np.transpose(tmp18, (0, 1, 3, 2))
+    del tmp18
+    tmp35 = np.copy(f.ov) * 2
+    tmp35 += ints.tmp5 * 2
+    del ints.tmp5
+    tmp35 += ints.tmp13 * -1
+    del ints.tmp13
+    tmp35 += ints.tmp20 * -1
+    del ints.tmp20
+    tmp2 = np.copy(f.oo)
+    tmp2 += np.transpose(ints.tmp0, (1, 0)) * 0.5
+    del ints.tmp0
+    tmp0 = einsum(v.oovv, (0, 1, 2, 3), r1, (1, 3), (0, 2))
+    tmp1 = np.copy(f.vv)
+    tmp1 += np.transpose(ints.tmp1, (1, 0)) * -0.5
+    del ints.tmp1
+    r2new = einsum(t2, (0, 1, 2, 3), tmp3, (4, 5, 1, 0), (5, 4, 2, 3)) * 0.25
+    del tmp3
+    r2new += einsum(v.vvvv, (0, 1, 2, 3), r2, (4, 5, 2, 3), (4, 5, 0, 1)) * 0.5
+    r2new += tmp11
+    r2new += np.transpose(tmp11, (1, 0, 2, 3)) * -1
+    del tmp11
+    r2new += tmp15 * -1
+    r2new += np.transpose(tmp15, (0, 1, 3, 2))
+    del tmp15
+    r2new += tmp19 * -1
+    r2new += np.transpose(tmp19, (1, 0, 2, 3))
+    del tmp19
+    r2new += tmp21
+    r2new += np.transpose(tmp21, (0, 1, 3, 2)) * -1
+    del tmp21
+    r2new += tmp26 * -1
+    r2new += np.transpose(tmp26, (0, 1, 3, 2))
+    r2new += np.transpose(tmp26, (1, 0, 2, 3))
+    r2new += np.transpose(tmp26, (1, 0, 3, 2)) * -1
+    del tmp26
+    r2new += tmp29 * -1
+    r2new += np.transpose(tmp29, (0, 1, 3, 2))
+    del tmp29
+    r2new += np.transpose(tmp32, (1, 0, 2, 3)) * -1
+    r2new += np.transpose(tmp32, (1, 0, 3, 2))
+    del tmp32
+    r2new += einsum(r2, (0, 1, 2, 3), tmp33, (4, 5, 1, 0), (4, 5, 2, 3)) * 0.25
+    del tmp33
+    r2new += einsum(tmp34, (0, 1), r1, (2, 3), (0, 2, 1, 3))
+    r2new += einsum(r1, (0, 1), tmp34, (2, 3), (0, 2, 1, 3))
+    r2new += einsum(tmp35, (0, 1), r1, (2, 3), (2, 0, 1, 3)) * -0.5
+    del tmp35
+    r2new += einsum(tmp34, (0, 1), r1, (2, 3), (0, 2, 3, 1)) * -1
+    del tmp34
+    r1new = einsum(r2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2)) * -0.5
+    r1new += einsum(tmp0, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    del tmp0
+    r1new += einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 0, 2, 3), (4, 1)) * -0.5
+    r1new += einsum(r2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2))
+    r1new += einsum(v.ovov, (0, 1, 2, 3), r1, (2, 1), (0, 3)) * -1
+    r1new += einsum(tmp1, (0, 1), r1, (2, 0), (2, 1))
+    del tmp1
+    r1new += einsum(r1, (0, 1), tmp2, (0, 2), (2, 1)) * -1
+    del tmp2
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCD.hbar_lmatvec_ip_intermediates(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:12.179555.

+

Parameters

+

f : array + Fock matrix. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp1 : array +tmp10 : array +tmp11 : array +tmp12 : array +tmp2 : array +tmp3 : array +tmp4 : array +tmp5 : array +tmp6 : array

+ +
+ Source code in ebcc/codegen/GCCD.py +
741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
def hbar_lmatvec_ip_intermediates(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:12.179555.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp1 : array
+    tmp10 : array
+    tmp11 : array
+    tmp12 : array
+    tmp2 : array
+    tmp3 : array
+    tmp4 : array
+    tmp5 : array
+    tmp6 : array
+    """
+
+    tmp12 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp11 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 3), (4, 2))
+    tmp10 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5))
+    tmp6 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1))
+    tmp5 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 2, 3), (4, 1))
+    tmp4 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp3 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2))
+    tmp2 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4))
+    tmp1 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp0 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2))
+
+    return {f"tmp0": tmp0, f"tmp1": tmp1, f"tmp10": tmp10, f"tmp11": tmp11, f"tmp12": tmp12, f"tmp2": tmp2, f"tmp3": tmp3, f"tmp4": tmp4, f"tmp5": tmp5, f"tmp6": tmp6}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCD.hbar_lmatvec_ip(f=None, r1=None, r2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:12.185996.

+

Parameters

+

f : array + Fock matrix. +r1 : array + R1 amplitudes. +r2 : array + R2 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

r1new : array + Updated R1 residuals. +r2new : array + Updated R2 residuals.

+ +
+ Source code in ebcc/codegen/GCCD.py +
781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+845
+846
+847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
+858
+859
+860
+861
+862
+863
def hbar_lmatvec_ip(f=None, r1=None, r2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:12.185996.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    r1 : array
+        R1 amplitudes.
+    r2 : array
+        R2 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    r1new : array
+        Updated R1 residuals.
+    r2new : array
+        Updated R2 residuals.
+    """
+
+    ints = kwargs["ints"]
+    tmp5 = einsum(r2, (0, 1, 2), ints.tmp12, (1, 3, 2, 4), (3, 0, 4))
+    del ints.tmp12
+    tmp6 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 2, 1), (4, 0, 3))
+    tmp4 = einsum(ints.tmp2, (0, 1), r2, (2, 0, 3), (1, 2, 3))
+    tmp7 = einsum(r1, (0,), f.ov, (1, 2), (1, 0, 2))
+    tmp7 += tmp4 * -0.5
+    del tmp4
+    tmp7 += tmp5
+    del tmp5
+    tmp7 += tmp6
+    del tmp6
+    tmp10 = np.copy(f.vv)
+    tmp10 += ints.tmp11 * -0.5
+    del ints.tmp11
+    tmp3 = einsum(r2, (0, 1, 2), t2, (0, 1, 3, 2), (3,))
+    tmp8 = einsum(f.oo, (0, 1), r2, (2, 1, 3), (0, 2, 3))
+    tmp9 = np.copy(ints.tmp10) * -0.5
+    del ints.tmp10
+    tmp9 += v.oooo * -1
+    tmp2 = np.copy(f.oo) * 2
+    tmp2 += ints.tmp2
+    del ints.tmp2
+    tmp0 = np.copy(ints.tmp1) * 0.5
+    del ints.tmp1
+    tmp0 += np.transpose(ints.tmp4, (1, 0, 2, 3))
+    del ints.tmp4
+    tmp0 += np.transpose(ints.tmp6, (2, 0, 1, 3)) * -0.25
+    del ints.tmp6
+    tmp0 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -0.5
+    tmp1 = np.copy(f.ov)
+    tmp1 += ints.tmp0
+    del ints.tmp0
+    tmp1 += ints.tmp3 * -0.5
+    del ints.tmp3
+    tmp1 += ints.tmp5 * -0.5
+    del ints.tmp5
+    r2new = einsum(r1, (0,), v.ooov, (1, 2, 0, 3), (1, 2, 3)) * -1
+    r2new += einsum(v.oovv, (0, 1, 2, 3), tmp3, (3,), (0, 1, 2)) * 0.5
+    del tmp3
+    r2new += tmp7 * -1
+    r2new += np.transpose(tmp7, (1, 0, 2))
+    del tmp7
+    r2new += tmp8
+    r2new += np.transpose(tmp8, (1, 0, 2)) * -1
+    del tmp8
+    r2new += einsum(r2, (0, 1, 2), tmp9, (1, 0, 3, 4), (3, 4, 2)) * 0.5
+    del tmp9
+    r2new += einsum(r2, (0, 1, 2), tmp10, (2, 3), (0, 1, 3))
+    del tmp10
+    r1new = einsum(tmp0, (0, 1, 2, 3), r2, (1, 2, 3), (0,))
+    del tmp0
+    r1new += einsum(tmp1, (0, 1), r2, (2, 0, 1), (2,))
+    del tmp1
+    r1new += einsum(r1, (0,), tmp2, (0, 1), (1,)) * -0.5
+    del tmp2
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCD.hbar_lmatvec_ea_intermediates(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:14.474460.

+

Parameters

+

f : array + Fock matrix. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp11 : array +tmp2 : array +tmp3 : array +tmp4 : array +tmp5 : array +tmp6 : array +tmp9 : array

+ +
+ Source code in ebcc/codegen/GCCD.py +
865
+866
+867
+868
+869
+870
+871
+872
+873
+874
+875
+876
+877
+878
+879
+880
+881
+882
+883
+884
+885
+886
+887
+888
+889
+890
+891
+892
+893
+894
+895
+896
+897
+898
+899
def hbar_lmatvec_ea_intermediates(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:14.474460.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp11 : array
+    tmp2 : array
+    tmp3 : array
+    tmp4 : array
+    tmp5 : array
+    tmp6 : array
+    tmp9 : array
+    """
+
+    tmp11 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp9 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4))
+    tmp6 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5))
+    tmp5 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 2, 3), (4, 1))
+    tmp4 = einsum(v.ovoo, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 4, 5, 1))
+    tmp3 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2))
+    tmp2 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 3), (4, 2))
+    tmp0 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2))
+
+    return {f"tmp0": tmp0, f"tmp11": tmp11, f"tmp2": tmp2, f"tmp3": tmp3, f"tmp4": tmp4, f"tmp5": tmp5, f"tmp6": tmp6, f"tmp9": tmp9}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCD.hbar_lmatvec_ea(f=None, r1=None, r2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:14.480186.

+

Parameters

+

f : array + Fock matrix. +r1 : array + R1 amplitudes. +r2 : array + R2 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

r1new : array + Updated R1 residuals. +r2new : array + Updated R2 residuals.

+ +
+ Source code in ebcc/codegen/GCCD.py +
901
+902
+903
+904
+905
+906
+907
+908
+909
+910
+911
+912
+913
+914
+915
+916
+917
+918
+919
+920
+921
+922
+923
+924
+925
+926
+927
+928
+929
+930
+931
+932
+933
+934
+935
+936
+937
+938
+939
+940
+941
+942
+943
+944
+945
+946
+947
+948
+949
+950
+951
+952
+953
+954
+955
+956
+957
+958
+959
+960
+961
+962
+963
+964
+965
+966
+967
+968
+969
+970
+971
+972
+973
+974
+975
+976
+977
+978
+979
+980
def hbar_lmatvec_ea(f=None, r1=None, r2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:14.480186.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    r1 : array
+        R1 amplitudes.
+    r2 : array
+        R2 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    r1new : array
+        Updated R1 residuals.
+    r2new : array
+        Updated R2 residuals.
+    """
+
+    ints = kwargs["ints"]
+    tmp7 = np.copy(f.vv) * 2
+    tmp7 += ints.tmp2 * -1
+    tmp5 = einsum(r2, (0, 1, 2), ints.tmp11, (2, 3, 1, 4), (3, 4, 0))
+    del ints.tmp11
+    tmp8 = einsum(tmp7, (0, 1), r2, (2, 0, 3), (3, 2, 1)) * -0.5
+    del tmp7
+    tmp6 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 1, 2), (0, 4, 3))
+    tmp10 = np.copy(f.oo)
+    tmp10 += ints.tmp9 * 0.5
+    del ints.tmp9
+    tmp0 = einsum(r2, (0, 1, 2), t2, (3, 2, 0, 1), (3,))
+    tmp9 = einsum(f.ov, (0, 1), r1, (2,), (0, 1, 2))
+    tmp9 += tmp5
+    del tmp5
+    tmp9 += tmp6
+    del tmp6
+    tmp9 += np.transpose(tmp8, (0, 2, 1)) * -1
+    del tmp8
+    tmp4 = einsum(r2, (0, 1, 2), t2, (3, 4, 0, 1), (2, 3, 4))
+    tmp2 = np.copy(f.ov)
+    tmp2 += ints.tmp0
+    del ints.tmp0
+    tmp2 += ints.tmp3 * -0.5
+    del ints.tmp3
+    tmp2 += ints.tmp5 * -0.5
+    del ints.tmp5
+    tmp3 = np.copy(f.vv)
+    tmp3 += ints.tmp2 * -0.5
+    del ints.tmp2
+    tmp1 = np.copy(ints.tmp4) * 0.25
+    del ints.tmp4
+    tmp1 += np.transpose(v.ovvv, (0, 2, 3, 1)) * 0.5
+    tmp1 += ints.tmp6 * -1
+    del ints.tmp6
+    r2new = einsum(v.oovv, (0, 1, 2, 3), tmp4, (4, 1, 0), (2, 3, 4)) * -0.25
+    del tmp4
+    r2new += einsum(v.oovv, (0, 1, 2, 3), tmp0, (1,), (2, 3, 0)) * 0.5
+    r2new += einsum(v.vvvv, (0, 1, 2, 3), r2, (2, 3, 4), (0, 1, 4)) * 0.5
+    r2new += einsum(v.ovvv, (0, 1, 2, 3), r1, (1,), (2, 3, 0)) * -1
+    r2new += np.transpose(tmp9, (1, 2, 0)) * -1
+    r2new += np.transpose(tmp9, (2, 1, 0))
+    del tmp9
+    r2new += einsum(tmp10, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp10
+    r1new = einsum(tmp0, (0,), f.ov, (0, 1), (1,)) * -0.5
+    del tmp0
+    r1new += einsum(r2, (0, 1, 2), tmp1, (2, 0, 1, 3), (3,)) * -1
+    del tmp1
+    r1new += einsum(r2, (0, 1, 2), tmp2, (2, 1), (0,))
+    del tmp2
+    r1new += einsum(tmp3, (0, 1), r1, (0,), (1,))
+    del tmp3
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCD.hbar_lmatvec_ee_intermediates(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:18.827368.

+

Parameters

+

f : array + Fock matrix. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp1 : array +tmp10 : array +tmp11 : array +tmp19 : array +tmp21 : array +tmp3 : array +tmp4 : array +tmp6 : array +tmp7 : array +tmp8 : array +tmp9 : array

+ +
+ Source code in ebcc/codegen/GCCD.py +
 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
def hbar_lmatvec_ee_intermediates(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:18.827368.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp1 : array
+    tmp10 : array
+    tmp11 : array
+    tmp19 : array
+    tmp21 : array
+    tmp3 : array
+    tmp4 : array
+    tmp6 : array
+    tmp7 : array
+    tmp8 : array
+    tmp9 : array
+    """
+
+    tmp21 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp19 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 2, 3), (0, 1, 4, 5))
+    tmp11 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 1, 2))
+    tmp10 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1))
+    tmp9 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 2, 3), (4, 1))
+    tmp8 = einsum(v.ovoo, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 4, 5, 1))
+    tmp7 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp6 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2))
+    tmp4 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 3), (4, 2))
+    tmp3 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4))
+    tmp1 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp0 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2))
+
+    return {f"tmp0": tmp0, f"tmp1": tmp1, f"tmp10": tmp10, f"tmp11": tmp11, f"tmp19": tmp19, f"tmp21": tmp21, f"tmp3": tmp3, f"tmp4": tmp4, f"tmp6": tmp6, f"tmp7": tmp7, f"tmp8": tmp8, f"tmp9": tmp9}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCD.hbar_lmatvec_ee(f=None, r1=None, r2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:18.836774.

+

Parameters

+

f : array + Fock matrix. +r1 : array + R1 amplitudes. +r2 : array + R2 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

r1new : array + Updated R1 residuals. +r2new : array + Updated R2 residuals.

+ +
+ Source code in ebcc/codegen/GCCD.py +
1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
def hbar_lmatvec_ee(f=None, r1=None, r2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:18.836774.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    r1 : array
+        R1 amplitudes.
+    r2 : array
+        R2 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 = einsum(t2, (0, 1, 2, 3), r2, (4, 1, 2, 3), (4, 0))
+    tmp7 = np.copy(f.oo) * 2
+    tmp7 += ints.tmp3
+    del ints.tmp3
+    tmp16 = einsum(r1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4))
+    tmp17 = einsum(r2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2))
+    tmp9 = einsum(v.oovv, (0, 1, 2, 3), tmp2, (4, 1), (4, 0, 2, 3)) * -1
+    tmp10 = einsum(tmp7, (0, 1), r2, (2, 0, 3, 4), (2, 1, 3, 4)) * -0.5
+    tmp14 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp13 = einsum(ints.tmp21, (0, 1, 2, 3), r2, (4, 0, 5, 2), (1, 4, 3, 5))
+    del ints.tmp21
+    tmp0 = einsum(r2, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4))
+    tmp21 = np.copy(ints.tmp19) * -1
+    del ints.tmp19
+    tmp21 += v.oooo * -2
+    tmp20 = einsum(r2, (0, 1, 2, 3), ints.tmp4, (3, 4), (0, 1, 4, 2))
+    tmp18 = np.copy(np.transpose(tmp16, (1, 0, 2, 3))) * -1
+    del tmp16
+    tmp18 += np.transpose(tmp17, (1, 0, 2, 3)) * -1
+    del tmp17
+    tmp11 = np.copy(np.transpose(tmp9, (0, 1, 3, 2))) * 0.5
+    del tmp9
+    tmp11 += np.transpose(tmp10, (1, 0, 3, 2))
+    del tmp10
+    tmp15 = einsum(f.ov, (0, 1), r1, (2, 3), (0, 2, 1, 3))
+    tmp15 += tmp13
+    del tmp13
+    tmp15 += tmp14 * -1
+    del tmp14
+    tmp8 = einsum(t2, (0, 1, 2, 3), r2, (4, 5, 2, 3), (4, 5, 0, 1))
+    tmp19 = einsum(r1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp12 = einsum(v.oovv, (0, 1, 2, 3), tmp0, (4, 3), (0, 1, 4, 2)) * -1
+    tmp5 = np.copy(f.ov)
+    tmp5 += ints.tmp0
+    del ints.tmp0
+    tmp5 += ints.tmp6 * -0.5
+    del ints.tmp6
+    tmp5 += ints.tmp9 * -0.5
+    del ints.tmp9
+    tmp3 = np.copy(ints.tmp8) * 0.25
+    del ints.tmp8
+    tmp3 += np.transpose(v.ovvv, (0, 2, 3, 1)) * 0.5
+    tmp3 += ints.tmp11 * -1
+    del ints.tmp11
+    tmp1 = einsum(t2, (0, 1, 2, 3), r1, (1, 3), (0, 2))
+    tmp6 = np.copy(f.vv)
+    tmp6 += ints.tmp4 * -0.5
+    del ints.tmp4
+    tmp4 = np.copy(np.transpose(ints.tmp1, (1, 2, 0, 3)))
+    del ints.tmp1
+    tmp4 += np.transpose(ints.tmp7, (0, 2, 1, 3)) * 2
+    del ints.tmp7
+    tmp4 += ints.tmp10 * -0.5
+    del ints.tmp10
+    tmp4 += v.ooov * -1
+    r2new = einsum(tmp8, (0, 1, 2, 3), v.oovv, (3, 2, 4, 5), (1, 0, 4, 5)) * 0.25
+    del tmp8
+    r2new += einsum(v.vvvv, (0, 1, 2, 3), r2, (4, 5, 2, 3), (4, 5, 0, 1)) * 0.5
+    r2new += tmp11
+    r2new += np.transpose(tmp11, (1, 0, 2, 3)) * -1
+    del tmp11
+    r2new += tmp12 * -0.5
+    r2new += np.transpose(tmp12, (0, 1, 3, 2)) * 0.5
+    del tmp12
+    r2new += tmp15
+    r2new += np.transpose(tmp15, (0, 1, 3, 2)) * -1
+    r2new += np.transpose(tmp15, (1, 0, 2, 3)) * -1
+    r2new += np.transpose(tmp15, (1, 0, 3, 2))
+    del tmp15
+    r2new += tmp18 * -1
+    r2new += np.transpose(tmp18, (0, 1, 3, 2))
+    del tmp18
+    r2new += np.transpose(tmp19, (0, 1, 3, 2))
+    r2new += np.transpose(tmp19, (1, 0, 3, 2)) * -1
+    del tmp19
+    r2new += np.transpose(tmp20, (1, 0, 2, 3)) * -0.5
+    r2new += np.transpose(tmp20, (1, 0, 3, 2)) * 0.5
+    del tmp20
+    r2new += einsum(r2, (0, 1, 2, 3), tmp21, (1, 0, 4, 5), (4, 5, 2, 3)) * 0.25
+    del tmp21
+    r1new = einsum(v.ovov, (0, 1, 2, 3), r1, (2, 1), (0, 3)) * -1
+    r1new += einsum(v.ovvv, (0, 1, 2, 3), tmp0, (1, 3), (0, 2)) * 0.5
+    del tmp0
+    r1new += einsum(tmp1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3))
+    del tmp1
+    r1new += einsum(tmp2, (0, 1), f.ov, (1, 2), (0, 2)) * -0.5
+    r1new += einsum(tmp2, (0, 1), v.ooov, (2, 1, 0, 3), (2, 3)) * 0.5
+    del tmp2
+    r1new += einsum(tmp3, (0, 1, 2, 3), r2, (4, 0, 1, 2), (4, 3)) * -1
+    del tmp3
+    r1new += einsum(r2, (0, 1, 2, 3), tmp4, (0, 1, 4, 3), (4, 2)) * 0.5
+    del tmp4
+    r1new += einsum(r2, (0, 1, 2, 3), tmp5, (1, 3), (0, 2))
+    del tmp5
+    r1new += einsum(tmp6, (0, 1), r1, (2, 0), (2, 1))
+    del tmp6
+    r1new += einsum(r1, (0, 1), tmp7, (0, 2), (2, 1)) * -0.5
+    del tmp7
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/GCCSD/index.html b/reference/codegen/GCCSD/index.html new file mode 100644 index 00000000..a1dbaf41 --- /dev/null +++ b/reference/codegen/GCCSD/index.html @@ -0,0 +1,5531 @@ + + + + + + + + GCCSD - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-13T22:13:05.368573
  • +
  • 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
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.GCCSD.energy(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-13T22:13:05.515420.

+

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.

+ +
+ Source code in ebcc/codegen/GCCSD.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
def energy(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-13T22:13:05.515420.
+
+    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), (0, 2, 1, 3)) * 2
+    e_cc = einsum(t1, (0, 1), f.ov, (0, 1), ())
+    e_cc += einsum(v.oovv, (0, 1, 2, 3), tmp0, (0, 1, 2, 3), ()) * 0.25
+    del tmp0
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCSD.update_amps(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-13T22:13:09.825415.

+

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.

+ +
+ Source code in ebcc/codegen/GCCSD.py +
 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
def update_amps(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-13T22:13:09.825415.
+
+    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.
+    """
+
+    tmp21 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5))
+    tmp20 = 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))
+    tmp18 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 3), (4, 2))
+    tmp22 = np.copy(np.transpose(tmp20, (0, 2, 1, 3))) * -1
+    del tmp20
+    tmp22 += np.transpose(tmp21, (2, 1, 0, 3)) * 0.5
+    del tmp21
+    tmp11 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2))
+    tmp13 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp15 = einsum(tmp3, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1
+    tmp42 = np.copy(t2)
+    tmp42 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1
+    tmp40 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp5 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp28 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0))
+    tmp7 = np.copy(t2)
+    tmp7 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2
+    tmp30 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp0 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp9 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp6 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3))
+    tmp37 = einsum(t1, (0, 1), tmp3, (2, 1), (0, 2))
+    tmp19 = einsum(tmp18, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0))
+    del tmp18
+    tmp23 = einsum(tmp22, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4))
+    del tmp22
+    tmp12 = einsum(tmp11, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0)) * -1
+    del tmp11
+    tmp14 = einsum(t2, (0, 1, 2, 3), tmp13, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp13
+    tmp16 = einsum(t1, (0, 1), tmp15, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp15
+    tmp43 = einsum(tmp42, (0, 1, 2, 3), v.ovov, (4, 2, 0, 5), (1, 4, 3, 5))
+    del tmp42
+    tmp41 = einsum(t1, (0, 1), tmp40, (2, 0, 3, 4), (2, 3, 1, 4))
+    del tmp40
+    tmp27 = einsum(t2, (0, 1, 2, 3), tmp5, (1, 4), (4, 0, 2, 3))
+    tmp29 = einsum(t2, (0, 1, 2, 3), tmp28, (4, 1), (0, 4, 2, 3))
+    del tmp28
+    tmp31 = einsum(tmp30, (0, 1, 2, 3), tmp7, (1, 2, 4, 5), (0, 3, 4, 5)) * 0.5
+    del tmp30
+    tmp33 = einsum(tmp0, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp45 = einsum(t1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4))
+    tmp46 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2))
+    tmp25 = einsum(t1, (0, 1), tmp9, (2, 3, 4, 1), (2, 0, 3, 4)) * -1
+    tmp35 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp36 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 4), (0, 4, 2, 3)) * -1
+    tmp38 = einsum(t2, (0, 1, 2, 3), tmp37, (4, 1), (4, 0, 2, 3)) * -1
+    del tmp37
+    tmp24 = np.copy(tmp19) * 0.5
+    del tmp19
+    tmp24 += np.transpose(tmp23, (1, 0, 3, 2))
+    del tmp23
+    tmp2 = np.copy(t2) * 0.5
+    tmp2 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3))
+    tmp17 = np.copy(tmp12)
+    del tmp12
+    tmp17 += tmp14
+    del tmp14
+    tmp17 += tmp16 * -1
+    del tmp16
+    tmp49 = np.copy(v.oooo)
+    tmp49 += einsum(v.oovv, (0, 1, 2, 3), tmp7, (4, 5, 2, 3), (0, 1, 5, 4)) * -0.5
+    tmp44 = np.copy(tmp41)
+    del tmp41
+    tmp44 += tmp43 * -1
+    del tmp43
+    tmp32 = np.copy(np.transpose(tmp27, (0, 1, 3, 2)))
+    del tmp27
+    tmp32 += np.transpose(tmp29, (0, 1, 3, 2)) * -0.5
+    del tmp29
+    tmp32 += np.transpose(tmp31, (0, 1, 3, 2)) * -1
+    del tmp31
+    tmp10 = einsum(tmp9, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 5, 2)) * -1
+    del tmp9
+    tmp34 = einsum(t1, (0, 1), tmp33, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp33
+    tmp47 = np.copy(np.transpose(tmp45, (1, 0, 2, 3))) * -1
+    del tmp45
+    tmp47 += np.transpose(tmp46, (1, 0, 2, 3)) * -1
+    del tmp46
+    tmp26 = einsum(t1, (0, 1), tmp25, (2, 3, 0, 4), (3, 2, 1, 4)) * -1
+    del tmp25
+    tmp39 = np.copy(np.transpose(tmp35, (0, 1, 3, 2))) * -1
+    del tmp35
+    tmp39 += np.transpose(tmp36, (0, 1, 3, 2))
+    del tmp36
+    tmp39 += np.transpose(tmp38, (0, 1, 3, 2)) * -1
+    del tmp38
+    tmp48 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3))
+    tmp8 = np.copy(f.oo)
+    tmp8 += tmp5
+    del tmp5
+    tmp8 += tmp6
+    del tmp6
+    tmp8 += einsum(v.oovv, (0, 1, 2, 3), tmp7, (1, 4, 2, 3), (0, 4)) * -0.5
+    tmp1 = np.copy(np.transpose(v.ovoo, (0, 2, 3, 1))) * -1
+    tmp1 += np.transpose(tmp0, (0, 2, 1, 3)) * -1
+    del tmp0
+    tmp4 = np.copy(f.ov)
+    tmp4 += tmp3
+    del tmp3
+    t2new = np.copy(v.oovv)
+    t2new += tmp10
+    t2new += np.transpose(tmp10, (0, 1, 3, 2)) * -1
+    t2new += np.transpose(tmp10, (1, 0, 2, 3)) * -1
+    t2new += np.transpose(tmp10, (1, 0, 3, 2))
+    del tmp10
+    t2new += tmp17
+    t2new += np.transpose(tmp17, (0, 1, 3, 2)) * -1
+    del tmp17
+    t2new += tmp24 * -1
+    t2new += np.transpose(tmp24, (0, 1, 3, 2))
+    del tmp24
+    t2new += tmp26 * -1
+    t2new += np.transpose(tmp26, (0, 1, 3, 2))
+    del tmp26
+    t2new += tmp32 * -1
+    t2new += np.transpose(tmp32, (1, 0, 2, 3))
+    del tmp32
+    t2new += tmp34 * -1
+    t2new += np.transpose(tmp34, (0, 1, 3, 2))
+    t2new += np.transpose(tmp34, (1, 0, 2, 3))
+    t2new += np.transpose(tmp34, (1, 0, 3, 2)) * -1
+    del tmp34
+    t2new += tmp39 * -1
+    t2new += np.transpose(tmp39, (1, 0, 2, 3))
+    del tmp39
+    t2new += tmp44
+    t2new += np.transpose(tmp44, (0, 1, 3, 2)) * -1
+    t2new += np.transpose(tmp44, (1, 0, 2, 3)) * -1
+    t2new += np.transpose(tmp44, (1, 0, 3, 2))
+    del tmp44
+    t2new += tmp47 * -1
+    t2new += np.transpose(tmp47, (0, 1, 3, 2))
+    del tmp47
+    t2new += np.transpose(tmp48, (0, 1, 3, 2)) * -1
+    t2new += np.transpose(tmp48, (1, 0, 3, 2))
+    del tmp48
+    t2new += einsum(tmp7, (0, 1, 2, 3), tmp49, (0, 1, 4, 5), (4, 5, 3, 2)) * -0.5
+    del tmp7, tmp49
+    t2new += einsum(tmp2, (0, 1, 2, 3), v.vvvv, (4, 5, 2, 3), (1, 0, 4, 5)) * -1
+    t1new = np.copy(f.ov)
+    t1new += einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1
+    t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    t1new += einsum(t2, (0, 1, 2, 3), tmp1, (4, 0, 1, 3), (4, 2)) * 0.5
+    del tmp1
+    t1new += einsum(v.ovvv, (0, 1, 2, 3), tmp2, (0, 4, 2, 3), (4, 1))
+    del tmp2
+    t1new += einsum(tmp4, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    del tmp4
+    t1new += einsum(tmp8, (0, 1), t1, (0, 2), (1, 2)) * -1
+    del tmp8
+
+    return {f"t1new": t1new, f"t2new": t2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCSD.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-13T22:13:15.890862.

+

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.

+ +
+ Source code in ebcc/codegen/GCCSD.py +
228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
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-13T22:13:15.890862.
+
+    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))
+    tmp34 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 3), (4, 2))
+    tmp23 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2))
+    tmp20 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4))
+    tmp19 = einsum(t1, (0, 1), l1, (1, 2), (2, 0))
+    tmp26 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4))
+    tmp25 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 2))
+    tmp1 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp2 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0))
+    tmp17 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 0, 1), (4, 2))
+    tmp6 = np.copy(np.transpose(v.ovoo, (0, 2, 3, 1))) * -1
+    tmp6 += np.transpose(tmp5, (0, 2, 1, 3)) * -1
+    tmp35 = np.copy(tmp23)
+    tmp35 += tmp34 * 0.5
+    del tmp34
+    tmp45 = np.copy(tmp19)
+    tmp45 += tmp20 * 0.5
+    tmp43 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp47 = np.copy(tmp25) * 2
+    tmp47 += np.transpose(tmp26, (1, 0))
+    tmp39 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp29 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1
+    tmp29 += tmp1
+    tmp7 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3))
+    tmp4 = einsum(t1, (0, 1), tmp2, (2, 3, 4, 1), (3, 2, 4, 0))
+    tmp3 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5))
+    tmp10 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1))
+    tmp11 = np.copy(v.ooov)
+    tmp11 += np.transpose(tmp5, (2, 1, 0, 3)) * 0.5
+    tmp32 = einsum(f.ov, (0, 1), tmp2, (2, 3, 0, 4), (2, 3, 1, 4))
+    tmp33 = einsum(v.oovv, (0, 1, 2, 3), tmp17, (4, 3), (0, 1, 4, 2)) * -1
+    tmp37 = einsum(tmp6, (0, 1, 2, 3), l1, (4, 0), (1, 2, 3, 4))
+    tmp36 = einsum(l2, (0, 1, 2, 3), tmp35, (1, 4), (2, 3, 4, 0)) * -1
+    del tmp35
+    tmp46 = einsum(tmp45, (0, 1), v.oovv, (2, 1, 3, 4), (0, 2, 3, 4)) * -1
+    del tmp45
+    tmp44 = einsum(tmp43, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3))
+    del tmp43
+    tmp48 = einsum(tmp47, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3)) * -0.5
+    del tmp47
+    tmp41 = einsum(tmp5, (0, 1, 2, 3), tmp2, (0, 4, 2, 5), (4, 1, 5, 3)) * -1
+    del tmp5
+    tmp40 = einsum(l2, (0, 1, 2, 3), tmp39, (3, 4, 1, 5), (2, 4, 0, 5))
+    del tmp39
+    tmp28 = einsum(v.ooov, (0, 1, 2, 3), tmp2, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp30 = einsum(l2, (0, 1, 2, 3), tmp29, (3, 4, 1, 5), (4, 2, 5, 0))
+    del tmp29
+    tmp52 = einsum(l2, (0, 1, 2, 3), f.vv, (4, 1), (2, 3, 4, 0))
+    tmp53 = einsum(tmp7, (0, 1), tmp2, (2, 3, 0, 4), (2, 3, 4, 1))
+    tmp50 = einsum(t1, (0, 1), tmp7, (2, 1), (0, 2))
+    tmp56 = einsum(v.ovvv, (0, 1, 2, 3), l1, (1, 4), (4, 0, 2, 3))
+    tmp55 = einsum(l2, (0, 1, 2, 3), f.oo, (4, 3), (4, 2, 0, 1))
+    tmp8 = np.copy(f.ov)
+    tmp8 += tmp7
+    tmp21 = np.copy(tmp19) * 2
+    del tmp19
+    tmp21 += tmp20
+    del tmp20
+    tmp15 = np.copy(np.transpose(tmp3, (1, 0, 3, 2))) * -0.5
+    tmp15 += np.transpose(tmp4, (0, 1, 3, 2))
+    tmp9 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3)))
+    tmp9 += np.transpose(tmp1, (0, 1, 3, 2)) * -0.5
+    tmp12 = np.copy(v.oooo) * -0.5
+    tmp12 += np.transpose(tmp10, (3, 2, 1, 0)) * -0.25
+    tmp12 += einsum(t1, (0, 1), tmp11, (2, 3, 4, 1), (3, 2, 0, 4)) * -1
+    tmp38 = np.copy(tmp32) * -1
+    del tmp32
+    tmp38 += tmp33 * 0.5
+    del tmp33
+    tmp38 += np.transpose(tmp36, (1, 0, 3, 2))
+    del tmp36
+    tmp38 += np.transpose(tmp37, (1, 0, 3, 2))
+    del tmp37
+    tmp49 = np.copy(np.transpose(tmp44, (0, 1, 3, 2)))
+    del tmp44
+    tmp49 += np.transpose(tmp46, (0, 1, 3, 2)) * -1
+    del tmp46
+    tmp49 += np.transpose(tmp48, (1, 0, 3, 2))
+    del tmp48
+    tmp42 = np.copy(tmp40)
+    del tmp40
+    tmp42 += tmp41 * -1
+    del tmp41
+    tmp31 = einsum(tmp7, (0, 1), l1, (2, 3), (3, 0, 2, 1))
+    del tmp7
+    tmp31 += tmp28
+    del tmp28
+    tmp31 += np.transpose(tmp30, (1, 0, 3, 2))
+    del tmp30
+    tmp54 = np.copy(np.transpose(tmp52, (1, 0, 2, 3))) * -1
+    del tmp52
+    tmp54 += tmp53
+    del tmp53
+    tmp51 = einsum(tmp50, (0, 1), l2, (2, 3, 4, 0), (4, 1, 2, 3))
+    del tmp50
+    tmp57 = np.copy(np.transpose(tmp55, (0, 1, 3, 2))) * -1
+    del tmp55
+    tmp57 += np.transpose(tmp56, (0, 1, 3, 2))
+    del tmp56
+    tmp58 = np.copy(v.oooo)
+    tmp58 += np.transpose(tmp10, (1, 0, 3, 2)) * 0.5
+    del tmp10
+    tmp58 += einsum(tmp11, (0, 1, 2, 3), t1, (4, 3), (2, 4, 1, 0)) * -2
+    del tmp11
+    tmp59 = np.copy(np.transpose(tmp3, (1, 0, 3, 2))) * -1
+    tmp59 += np.transpose(tmp4, (0, 1, 3, 2)) * 2
+    tmp24 = np.copy(f.vv)
+    tmp24 += tmp23 * -1
+    del tmp23
+    tmp27 = np.copy(f.oo)
+    tmp27 += np.transpose(tmp25, (1, 0))
+    del tmp25
+    tmp27 += tmp26 * 0.5
+    del tmp26
+    tmp27 += einsum(t1, (0, 1), tmp8, (2, 1), (0, 2))
+    tmp18 = einsum(t1, (0, 1), l1, (2, 0), (2, 1))
+    tmp18 += tmp17 * 0.5
+    del tmp17
+    tmp0 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 5, 1), (2, 4, 0, 5))
+    tmp22 = np.copy(t1) * -2
+    tmp22 += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3)) * -2
+    tmp22 += einsum(t2, (0, 1, 2, 3), tmp2, (1, 0, 4, 3), (4, 2))
+    tmp22 += einsum(t1, (0, 1), tmp21, (0, 2), (2, 1))
+    tmp14 = np.copy(v.ovvv)
+    tmp14 += einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3)) * -1
+    tmp16 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2))
+    tmp16 += einsum(t2, (0, 1, 2, 3), tmp2, (4, 1, 5, 3), (4, 0, 5, 2)) * -2
+    tmp16 += einsum(tmp15, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4)) * -1
+    del tmp15
+    tmp13 = np.copy(np.transpose(v.ovoo, (0, 2, 3, 1))) * -1
+    tmp13 += einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (0, 4, 5, 1)) * -0.5
+    tmp13 += einsum(t2, (0, 1, 2, 3), tmp6, (4, 1, 5, 3), (5, 0, 4, 2)) * 2
+    del tmp6
+    tmp13 += einsum(tmp8, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp13 += einsum(tmp9, (0, 1, 2, 3), t1, (4, 2), (1, 0, 4, 3)) * -2
+    del tmp9
+    tmp13 += einsum(t1, (0, 1), tmp12, (0, 2, 3, 4), (2, 4, 3, 1)) * -2
+    del tmp12
+    l2new = einsum(v.ovvv, (0, 1, 2, 3), tmp2, (4, 5, 0, 1), (2, 3, 4, 5))
+    l2new += np.transpose(v.oovv, (2, 3, 0, 1))
+    l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5
+    l2new += np.transpose(tmp31, (2, 3, 0, 1))
+    l2new += np.transpose(tmp31, (3, 2, 0, 1)) * -1
+    l2new += np.transpose(tmp31, (2, 3, 1, 0)) * -1
+    l2new += np.transpose(tmp31, (3, 2, 1, 0))
+    del tmp31
+    l2new += np.transpose(tmp38, (2, 3, 0, 1)) * -1
+    l2new += np.transpose(tmp38, (3, 2, 0, 1))
+    del tmp38
+    l2new += np.transpose(tmp42, (2, 3, 0, 1))
+    l2new += np.transpose(tmp42, (3, 2, 0, 1)) * -1
+    l2new += np.transpose(tmp42, (2, 3, 1, 0)) * -1
+    l2new += np.transpose(tmp42, (3, 2, 1, 0))
+    del tmp42
+    l2new += np.transpose(tmp49, (3, 2, 0, 1))
+    l2new += np.transpose(tmp49, (3, 2, 1, 0)) * -1
+    del tmp49
+    l2new += np.transpose(tmp51, (2, 3, 0, 1)) * -1
+    l2new += np.transpose(tmp51, (2, 3, 1, 0))
+    del tmp51
+    l2new += np.transpose(tmp54, (2, 3, 0, 1)) * -1
+    l2new += np.transpose(tmp54, (3, 2, 0, 1))
+    del tmp54
+    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))
+    l2new += np.transpose(tmp57, (2, 3, 0, 1))
+    l2new += np.transpose(tmp57, (2, 3, 1, 0)) * -1
+    del tmp57
+    l2new += einsum(tmp58, (0, 1, 2, 3), l2, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5
+    del tmp58
+    l2new += einsum(tmp59, (0, 1, 2, 3), v.oovv, (2, 3, 4, 5), (4, 5, 1, 0)) * 0.25
+    del tmp59
+    l1new = einsum(v.ovvv, (0, 1, 2, 3), tmp0, (4, 0, 1, 3), (2, 4)) * -1
+    del tmp0
+    l1new += einsum(tmp1, (0, 1, 2, 3), tmp2, (4, 0, 1, 2), (3, 4))
+    del tmp1
+    l1new += einsum(tmp2, (0, 1, 2, 3), v.ovov, (2, 3, 1, 4), (4, 0)) * -1
+    del tmp2
+    l1new += einsum(l1, (0, 1), v.ovov, (2, 0, 1, 3), (3, 2)) * -1
+    l1new += einsum(tmp3, (0, 1, 2, 3), v.ovoo, (1, 4, 3, 2), (4, 0)) * 0.25
+    del tmp3
+    l1new += einsum(tmp4, (0, 1, 2, 3), v.ooov, (2, 3, 1, 4), (4, 0)) * -0.5
+    del tmp4
+    l1new += np.transpose(f.ov, (1, 0))
+    l1new += einsum(l2, (0, 1, 2, 3), tmp13, (4, 2, 3, 1), (0, 4)) * 0.5
+    del tmp13
+    l1new += einsum(l2, (0, 1, 2, 3), tmp14, (3, 4, 0, 1), (4, 2)) * -0.5
+    del tmp14
+    l1new += einsum(v.oovv, (0, 1, 2, 3), tmp16, (4, 0, 1, 3), (2, 4)) * 0.5
+    del tmp16
+    l1new += einsum(tmp18, (0, 1), v.ovvv, (2, 0, 3, 1), (3, 2))
+    del tmp18
+    l1new += einsum(tmp22, (0, 1), v.oovv, (2, 0, 3, 1), (3, 2)) * -0.5
+    del tmp22
+    l1new += einsum(tmp21, (0, 1), v.ooov, (2, 1, 0, 3), (3, 2)) * 0.5
+    l1new += einsum(l1, (0, 1), tmp24, (0, 2), (2, 1))
+    del tmp24
+    l1new += einsum(l1, (0, 1), tmp27, (1, 2), (0, 2)) * -1
+    del tmp27
+    l1new += einsum(tmp21, (0, 1), tmp8, (1, 2), (2, 0)) * -0.5
+    del tmp8, tmp21
+
+    return {f"l1new": l1new, f"l2new": l2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCSD.make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-13T22:13:16.273707.

+

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.

+ +
+ Source code in ebcc/codegen/GCCSD.py +
461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-13T22:13:16.273707.
+
+    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))
+    tmp0 = einsum(t1, (0, 1), l1, (1, 2), (2, 0))
+    tmp2 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0))
+    tmp3 = np.copy(tmp0)
+    tmp3 += tmp1 * 0.5
+    rdm1.vv = einsum(t1, (0, 1), l1, (2, 0), (2, 1))
+    rdm1.vv += einsum(t2, (0, 1, 2, 3), l2, (4, 3, 0, 1), (4, 2)) * 0.5
+    rdm1.vo = np.copy(l1)
+    rdm1.ov = np.copy(t1)
+    rdm1.ov += einsum(t2, (0, 1, 2, 3), tmp2, (1, 0, 4, 3), (4, 2)) * -0.5
+    del tmp2
+    rdm1.ov += einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3))
+    rdm1.ov += einsum(tmp3, (0, 1), t1, (0, 2), (1, 2)) * -1
+    del tmp3
+    rdm1.oo = np.copy(delta.oo)
+    del delta
+    rdm1.oo += np.transpose(tmp0, (1, 0)) * -1
+    del tmp0
+    rdm1.oo += np.transpose(tmp1, (1, 0)) * -0.5
+    del tmp1
+    rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]])
+
+    return rdm1
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCSD.make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-13T22:13:22.235969.

+

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.

+ +
+ Source code in ebcc/codegen/GCCSD.py +
511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-13T22:13:22.235969.
+
+    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(t1, (0, 1), l1, (1, 2), (2, 0))
+    tmp1 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0))
+    tmp3 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (2, 4))
+    tmp21 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 5, 1), (2, 4, 0, 5))
+    tmp7 = einsum(l1, (0, 1), t2, (2, 1, 3, 0), (2, 3))
+    tmp8 = einsum(t1, (0, 1), tmp4, (0, 2), (2, 1))
+    tmp6 = einsum(t2, (0, 1, 2, 3), tmp1, (4, 1, 5, 3), (4, 5, 0, 2)) * -1
+    tmp5 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2))
+    tmp2 = einsum(t1, (0, 1), tmp1, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp0 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5))
+    tmp14 = np.copy(tmp4) * 2
+    tmp14 += tmp3
+    tmp25 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 0, 1), (4, 2))
+    tmp30 = einsum(t1, (0, 1), l1, (2, 0), (2, 1))
+    tmp29 = einsum(tmp1, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4))
+    tmp36 = einsum(t1, (0, 1), tmp21, (0, 2, 3, 4), (2, 3, 1, 4))
+    tmp9 = np.copy(tmp7)
+    tmp9 += tmp8 * -1
+    del tmp8
+    tmp18 = einsum(t1, (0, 1), tmp6, (0, 2, 3, 4), (2, 3, 1, 4))
+    tmp20 = einsum(t1, (0, 1), tmp5, (0, 2, 3, 4), (2, 3, 1, 4))
+    tmp22 = einsum(t2, (0, 1, 2, 3), tmp21, (1, 4, 3, 5), (0, 4, 2, 5))
+    tmp13 = np.copy(np.transpose(tmp0, (1, 0, 3, 2))) * -0.5
+    tmp13 += np.transpose(tmp2, (0, 1, 3, 2))
+    tmp10 = einsum(t2, (0, 1, 2, 3), tmp1, (1, 0, 4, 3), (4, 2))
+    tmp11 = einsum(tmp3, (0, 1), t1, (0, 2), (1, 2))
+    tmp15 = einsum(tmp14, (0, 1), t1, (0, 2), (1, 2)) * 0.5
+    del tmp14
+    tmp38 = einsum(l2, (0, 1, 2, 3), t1, (3, 4), (2, 0, 1, 4))
+    tmp32 = np.copy(tmp30)
+    tmp32 += tmp25 * 0.5
+    tmp34 = einsum(tmp1, (0, 1, 2, 3), t2, (1, 0, 4, 5), (2, 3, 4, 5)) * -1
+    tmp35 = einsum(tmp29, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4)) * -1
+    tmp33 = einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4))
+    tmp37 = np.copy(tmp36)
+    tmp37 += einsum(tmp25, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * -0.5
+    tmp31 = np.copy(tmp30) * 2
+    tmp31 += tmp25
+    tmp27 = einsum(t2, (0, 1, 2, 3), tmp3, (1, 4), (0, 4, 2, 3))
+    tmp24 = einsum(t2, (0, 1, 2, 3), tmp4, (1, 4), (4, 0, 2, 3))
+    tmp19 = np.copy(tmp18)
+    del tmp18
+    tmp19 += einsum(t1, (0, 1), tmp9, (2, 3), (0, 2, 1, 3)) * -1
+    tmp23 = np.copy(tmp20)
+    del tmp20
+    tmp23 += tmp22
+    del tmp22
+    tmp28 = einsum(t1, (0, 1), tmp13, (0, 2, 3, 4), (2, 4, 3, 1)) * -2
+    tmp26 = einsum(tmp25, (0, 1), t2, (2, 3, 4, 0), (2, 3, 4, 1))
+    del tmp25
+    tmp12 = np.copy(tmp10)
+    tmp12 += tmp11
+    del tmp11
+    tmp17 = np.copy(np.transpose(tmp0, (1, 0, 3, 2))) * -1
+    tmp17 += np.transpose(tmp2, (0, 1, 3, 2)) * 2
+    tmp16 = np.copy(tmp7) * -1
+    del tmp7
+    tmp16 += tmp10 * 0.5
+    del tmp10
+    tmp16 += tmp15
+    del tmp15
+    rdm2.vvvv = einsum(t2, (0, 1, 2, 3), l2, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5
+    rdm2.vvvv += einsum(tmp38, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3))
+    rdm2.vvvo = np.copy(np.transpose(tmp38, (2, 1, 3, 0)))
+    rdm2.vvov = np.copy(np.transpose(tmp38, (2, 1, 0, 3))) * -1
+    del tmp38
+    rdm2.vovv = np.copy(np.transpose(tmp33, (1, 0, 3, 2)))
+    rdm2.vovv += np.transpose(tmp34, (1, 0, 3, 2)) * 0.5
+    rdm2.vovv += np.transpose(tmp35, (1, 0, 3, 2))
+    rdm2.vovv += einsum(tmp32, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.vovv += einsum(t1, (0, 1), tmp32, (2, 3), (2, 0, 3, 1))
+    rdm2.vovv += np.transpose(tmp36, (1, 0, 2, 3))
+    rdm2.vovv += np.transpose(tmp36, (1, 0, 3, 2)) * -1
+    del tmp36
+    rdm2.ovvv = np.copy(np.transpose(tmp33, (0, 1, 3, 2))) * -1
+    del tmp33
+    rdm2.ovvv += np.transpose(tmp34, (0, 1, 3, 2)) * -0.5
+    del tmp34
+    rdm2.ovvv += np.transpose(tmp35, (0, 1, 3, 2)) * -1
+    del tmp35
+    rdm2.ovvv += einsum(tmp30, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    rdm2.ovvv += einsum(t1, (0, 1), tmp30, (2, 3), (0, 2, 3, 1)) * -1
+    del tmp30
+    rdm2.ovvv += tmp37 * -1
+    rdm2.ovvv += np.transpose(tmp37, (0, 1, 3, 2))
+    del tmp37
+    rdm2.vvoo = np.copy(l2)
+    rdm2.vovo = np.copy(np.transpose(tmp21, (2, 1, 3, 0))) * -1
+    rdm2.vovo += np.transpose(tmp29, (2, 1, 3, 0))
+    rdm2.vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.vovo += einsum(tmp32, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3))
+    rdm2.voov = np.copy(np.transpose(tmp21, (2, 1, 0, 3)))
+    rdm2.voov += np.transpose(tmp29, (2, 1, 0, 3)) * -1
+    rdm2.voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3))
+    rdm2.voov += einsum(tmp31, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -0.5
+    rdm2.ovvo = np.copy(np.transpose(tmp21, (1, 2, 3, 0)))
+    rdm2.ovvo += np.transpose(tmp29, (1, 2, 3, 0)) * -1
+    rdm2.ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    rdm2.ovvo += einsum(tmp32, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -1
+    del tmp32
+    rdm2.ovov = np.copy(np.transpose(tmp21, (1, 2, 0, 3))) * -1
+    del tmp21
+    rdm2.ovov += np.transpose(tmp29, (1, 2, 0, 3))
+    del tmp29
+    rdm2.ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.ovov += einsum(tmp31, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * 0.5
+    del tmp31
+    rdm2.oovv = np.copy(t2)
+    rdm2.oovv += tmp19 * -1
+    rdm2.oovv += np.transpose(tmp19, (0, 1, 3, 2))
+    rdm2.oovv += np.transpose(tmp19, (1, 0, 2, 3))
+    rdm2.oovv += np.transpose(tmp19, (1, 0, 3, 2)) * -1
+    del tmp19
+    rdm2.oovv += tmp23
+    rdm2.oovv += np.transpose(tmp23, (0, 1, 3, 2)) * -1
+    del tmp23
+    rdm2.oovv += np.transpose(tmp24, (0, 1, 3, 2)) * -1
+    rdm2.oovv += np.transpose(tmp24, (1, 0, 3, 2))
+    del tmp24
+    rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3))
+    rdm2.oovv += tmp26 * -0.5
+    rdm2.oovv += np.transpose(tmp26, (0, 1, 3, 2)) * 0.5
+    del tmp26
+    rdm2.oovv += np.transpose(tmp27, (0, 1, 3, 2)) * 0.5
+    rdm2.oovv += np.transpose(tmp27, (1, 0, 3, 2)) * -0.5
+    del tmp27
+    rdm2.oovv += einsum(t1, (0, 1), tmp12, (2, 3), (0, 2, 1, 3)) * -0.5
+    rdm2.oovv += einsum(tmp12, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * 0.5
+    rdm2.oovv += einsum(tmp12, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * 0.5
+    rdm2.oovv += einsum(t1, (0, 1), tmp12, (2, 3), (2, 0, 3, 1)) * -0.5
+    rdm2.oovv += einsum(tmp13, (0, 1, 2, 3), t2, (0, 1, 4, 5), (3, 2, 4, 5)) * 0.5
+    rdm2.oovv += einsum(t1, (0, 1), tmp28, (0, 2, 3, 4), (2, 3, 1, 4)) * 0.5
+    del tmp28
+    rdm2.vooo = np.copy(np.transpose(tmp1, (3, 2, 1, 0)))
+    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
+    rdm2.ovoo = np.copy(np.transpose(tmp1, (2, 3, 1, 0))) * -1
+    del tmp1
+    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.oovo = np.copy(np.transpose(tmp5, (2, 1, 3, 0)))
+    rdm2.oovo += np.transpose(tmp6, (1, 2, 3, 0))
+    rdm2.oovo += np.transpose(tmp6, (2, 1, 3, 0)) * -1
+    rdm2.oovo += einsum(t1, (0, 1), tmp3, (2, 3), (0, 3, 1, 2)) * -0.5
+    rdm2.oovo += einsum(t1, (0, 1), tmp3, (2, 3), (3, 0, 1, 2)) * 0.5
+    rdm2.oovo += einsum(delta.oo, (0, 1), tmp16, (2, 3), (2, 0, 3, 1)) * -1
+    rdm2.oovo += einsum(tmp16, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3))
+    del tmp16
+    rdm2.oovo += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3))
+    rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.oovo += einsum(t1, (0, 1), tmp4, (2, 3), (0, 3, 1, 2)) * -1
+    rdm2.oovo += einsum(t1, (0, 1), tmp4, (2, 3), (3, 0, 1, 2))
+    rdm2.oovo += einsum(t1, (0, 1), tmp17, (0, 2, 3, 4), (4, 3, 1, 2)) * 0.5
+    del tmp17
+    rdm2.ooov = np.copy(np.transpose(tmp5, (2, 1, 0, 3))) * -1
+    del tmp5
+    rdm2.ooov += np.transpose(tmp6, (1, 2, 0, 3)) * -1
+    rdm2.ooov += np.transpose(tmp6, (2, 1, 0, 3))
+    del tmp6
+    rdm2.ooov += einsum(t1, (0, 1), tmp3, (2, 3), (0, 3, 2, 1)) * 0.5
+    rdm2.ooov += einsum(t1, (0, 1), tmp3, (2, 3), (3, 0, 2, 1)) * -0.5
+    rdm2.ooov += einsum(tmp9, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.ooov += einsum(tmp9, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1))
+    del tmp9
+    rdm2.ooov += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 2, 1, 3))
+    rdm2.ooov += einsum(delta.oo, (0, 1), tmp12, (2, 3), (2, 0, 1, 3)) * 0.5
+    rdm2.ooov += einsum(tmp12, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * -0.5
+    del tmp12
+    rdm2.ooov += einsum(t1, (0, 1), tmp4, (2, 3), (0, 3, 2, 1))
+    rdm2.ooov += einsum(t1, (0, 1), tmp4, (2, 3), (3, 0, 2, 1)) * -1
+    rdm2.ooov += einsum(tmp13, (0, 1, 2, 3), t1, (0, 4), (3, 2, 1, 4)) * -1
+    del tmp13
+    rdm2.oooo = np.copy(np.transpose(tmp0, (3, 2, 1, 0))) * 0.5
+    del tmp0
+    rdm2.oooo += np.transpose(tmp2, (2, 3, 1, 0)) * -1
+    del tmp2
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp3, (2, 3), (3, 0, 2, 1)) * -0.5
+    rdm2.oooo += einsum(tmp3, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3)) * 0.5
+    rdm2.oooo += einsum(tmp3, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0)) * 0.5
+    rdm2.oooo += einsum(tmp3, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0)) * -0.5
+    del tmp3
+    rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1))
+    rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (3, 0, 2, 1)) * -1
+    rdm2.oooo += einsum(tmp4, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3))
+    rdm2.oooo += einsum(tmp4, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0))
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp4, (2, 3), (0, 3, 1, 2)) * -1
+    del tmp4, 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 = np.transpose(rdm2, (0, 2, 1, 3))
+
+    return rdm2
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCSD.hbar_matvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-13T22:13:29.633369.

+

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

+ +
+ Source code in ebcc/codegen/GCCSD.py +
732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
def hbar_matvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-13T22:13:29.633369.
+
+    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
+    """
+
+    tmp3 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp2 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3))
+    tmp52 = einsum(t1, (0, 1), tmp3, (2, 3, 4, 1), (2, 0, 4, 3))
+    tmp5 = einsum(t1, (0, 1), tmp2, (2, 1), (0, 2))
+    tmp25 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp24 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2))
+    tmp20 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp1 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3))
+    tmp33 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1))
+    tmp4 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0))
+    tmp0 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp56 = einsum(t1, (0, 1), tmp52, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp55 = einsum(tmp5, (0, 1), t1, (1, 2), (0, 2))
+    tmp49 = einsum(t1, (0, 1), tmp25, (2, 3, 4, 1), (2, 0, 3, 4)) * -1
+    tmp48 = einsum(tmp24, (0, 1), t1, (2, 1), (2, 0))
+    tmp46 = einsum(t1, (0, 1), tmp20, (2, 0, 3, 4), (2, 3, 4, 1)) * -1
+    tmp45 = einsum(tmp1, (0, 1), t1, (0, 2), (1, 2))
+    tmp44 = einsum(tmp33, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) * -1
+    tmp43 = einsum(tmp4, (0, 1), t1, (1, 2), (0, 2))
+    tmp41 = einsum(t2, (0, 1, 2, 3), tmp3, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp40 = einsum(t2, (0, 1, 2, 3), tmp3, (4, 1, 0, 3), (4, 2))
+    tmp39 = einsum(tmp2, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1
+    tmp38 = einsum(tmp2, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp35 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp34 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 3), (4, 2))
+    tmp31 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5))
+    tmp30 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4))
+    tmp28 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp27 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2))
+    tmp17 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1))
+    tmp16 = einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3))
+    tmp15 = einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp13 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2))
+    tmp12 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2))
+    tmp11 = einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp8 = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    tmp7 = einsum(f.oo, (0, 1), t1, (1, 2), (0, 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}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCSD.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-13T22:13:29.648997.

+

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.

+ +
+ Source code in ebcc/codegen/GCCSD.py +
828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+845
+846
+847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
+858
+859
+860
+861
+862
+863
+864
+865
+866
+867
+868
+869
+870
+871
+872
+873
+874
+875
+876
+877
+878
+879
+880
+881
+882
+883
+884
+885
+886
+887
+888
+889
+890
+891
+892
+893
+894
+895
+896
+897
+898
+899
+900
+901
+902
+903
+904
+905
+906
+907
+908
+909
+910
+911
+912
+913
+914
+915
+916
+917
+918
+919
+920
+921
+922
+923
+924
+925
+926
+927
+928
+929
+930
+931
+932
+933
+934
+935
+936
+937
+938
+939
+940
+941
+942
+943
+944
+945
+946
+947
+948
+949
+950
+951
+952
+953
+954
+955
+956
+957
+958
+959
+960
+961
+962
+963
+964
+965
+966
+967
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-13T22:13:29.648997.
+
+    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(v.ooov, (0, 1, 2, 3), r2, (4, 1, 3), (4, 0, 2))
+    tmp9 = einsum(r2, (0, 1, 2), ints.tmp3, (3, 1, 4, 2), (3, 4, 0))
+    tmp7 = np.copy(ints.tmp25)
+    tmp7 += ints.tmp35
+    tmp13 = np.copy(ints.tmp41)
+    tmp13 += np.transpose(ints.tmp46, (0, 2, 1, 3))
+    tmp11 = np.copy(tmp9)
+    del tmp9
+    tmp11 += tmp10 * -1
+    del tmp10
+    tmp18 = np.copy(ints.tmp17)
+    tmp18 += ints.tmp28
+    tmp16 = np.copy(f.oo)
+    tmp16 += ints.tmp0
+    tmp16 += ints.tmp1
+    tmp16 += np.transpose(ints.tmp5, (1, 0))
+    tmp8 = einsum(tmp7, (0, 1, 2, 3), r2, (4, 1, 3), (0, 4, 2)) * -1
+    del tmp7
+    tmp4 = einsum(r2, (0, 1, 2), ints.tmp4, (3, 1), (3, 0, 2))
+    tmp5 = einsum(r2, (0, 1, 2), ints.tmp20, (3, 1, 0, 4), (3, 4, 2)) * -1
+    tmp14 = einsum(tmp13, (0, 1, 2, 3), r1, (2,), (0, 1, 3))
+    del tmp13
+    tmp6 = einsum(r2, (0, 1, 2), v.ovov, (3, 2, 1, 4), (0, 3, 4))
+    tmp12 = einsum(t1, (0, 1), tmp11, (2, 0, 3), (2, 3, 1))
+    del tmp11
+    tmp22 = np.copy(f.ov)
+    tmp22 += ints.tmp2
+    tmp19 = einsum(r1, (0,), tmp18, (1, 0, 2, 3), (1, 2, 3))
+    del tmp18
+    tmp17 = einsum(tmp16, (0, 1), r2, (2, 0, 3), (1, 2, 3)) * -1
+    del tmp16
+    tmp24 = np.copy(ints.tmp12)
+    tmp24 += np.transpose(ints.tmp15, (2, 0, 1, 3))
+    tmp24 += np.transpose(ints.tmp44, (2, 0, 1, 3)) * 0.5
+    tmp24 += np.transpose(ints.tmp49, (2, 1, 0, 3))
+    tmp24 += np.transpose(ints.tmp31, (2, 0, 1, 3)) * -0.5
+    tmp24 += np.transpose(ints.tmp39, (2, 0, 1, 3)) * -1
+    tmp24 += np.transpose(ints.tmp56, (2, 1, 0, 3)) * -1
+    tmp24 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1
+    tmp15 = np.copy(tmp4) * -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
+    tmp3 = einsum(r2, (0, 1, 2), v.oovv, (0, 1, 3, 2), (3,))
+    tmp23 = np.copy(np.transpose(ints.tmp24, (1, 0)))
+    tmp23 += np.transpose(ints.tmp34, (1, 0)) * 0.5
+    tmp23 += f.vv * -1
+    tmp23 += einsum(t1, (0, 1), tmp22, (0, 2), (2, 1))
+    del tmp22
+    tmp21 = np.copy(ints.tmp33) * 0.5
+    tmp21 += ints.tmp52
+    tmp21 += v.oooo
+    tmp20 = np.copy(tmp17) * -1
+    del tmp17
+    tmp20 += tmp19
+    del tmp19
+    tmp25 = np.copy(ints.tmp13)
+    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
+    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.tmp5, (1, 0)) * 2
+    tmp0 = np.copy(ints.tmp3)
+    tmp0 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1
+    tmp1 = np.copy(f.ov)
+    tmp1 += ints.tmp2
+    r2new = einsum(tmp3, (0,), t2, (1, 2, 3, 0), (1, 2, 3)) * 0.5
+    del tmp3
+    r2new += tmp15 * -1
+    r2new += np.transpose(tmp15, (1, 0, 2))
+    del tmp15
+    r2new += tmp20
+    r2new += np.transpose(tmp20, (1, 0, 2)) * -1
+    del tmp20
+    r2new += einsum(r2, (0, 1, 2), tmp21, (3, 4, 0, 1), (3, 4, 2)) * 0.5
+    del tmp21
+    r2new += einsum(r2, (0, 1, 2), tmp23, (2, 3), (0, 1, 3)) * -1
+    del tmp23
+    r2new += einsum(tmp24, (0, 1, 2, 3), r1, (0,), (2, 1, 3)) * -1
+    del tmp24
+    r2new += einsum(r1, (0,), tmp25, (1, 2), (0, 1, 2)) * -1
+    r2new += einsum(r1, (0,), tmp25, (1, 2), (1, 0, 2))
+    del tmp25
+    r1new = einsum(r2, (0, 1, 2), tmp0, (3, 1, 0, 2), (3,)) * -0.5
+    del tmp0
+    r1new += einsum(tmp1, (0, 1), r2, (2, 0, 1), (2,))
+    del tmp1
+    r1new += einsum(r1, (0,), tmp2, (0, 1), (1,)) * -0.5
+    del tmp2
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCSD.hbar_matvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-13T22:13:37.973150.

+

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

+ +
+ Source code in ebcc/codegen/GCCSD.py +
 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
def hbar_matvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-13T22:13:37.973150.
+
+    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
+    """
+
+    tmp2 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3))
+    tmp50 = einsum(t1, (0, 1), tmp2, (2, 1), (0, 2))
+    tmp1 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2))
+    tmp19 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3))
+    tmp32 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0))
+    tmp38 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp9 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp56 = einsum(t1, (0, 1), tmp50, (2, 0), (2, 1))
+    tmp47 = einsum(t1, (0, 1), tmp1, (2, 1), (0, 2))
+    tmp44 = einsum(t1, (0, 1), tmp19, (0, 2), (2, 1))
+    tmp41 = einsum(t1, (0, 1), tmp32, (2, 0), (2, 1))
+    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))
+    tmp37 = einsum(tmp2, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp34 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp30 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5))
+    tmp29 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4))
+    tmp28 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 5, 0, 1), (4, 2, 3, 5))
+    tmp27 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2))
+    tmp23 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp18 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp15 = einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3))
+    tmp13 = einsum(tmp9, (0, 1), t1, (0, 2), (1, 2))
+    tmp12 = einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp8 = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    tmp7 = einsum(f.oo, (0, 1), t1, (1, 2), (0, 2))
+    tmp4 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 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}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCSD.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-13T22:13:37.985692.

+

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.

+ +
+ Source code in ebcc/codegen/GCCSD.py +
1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
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-13T22:13:37.985692.
+
+    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 = np.copy(ints.tmp38)
+    tmp13 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1
+    tmp0 = np.copy(f.ov)
+    tmp0 += ints.tmp2
+    tmp14 = einsum(r2, (0, 1, 2), tmp13, (3, 2, 4, 1), (3, 4, 0)) * -1
+    tmp15 = einsum(r2, (0, 1, 2), tmp0, (3, 1), (2, 3, 0)) * -1
+    tmp8 = np.copy(np.transpose(r2, (2, 0, 1)))
+    tmp8 += einsum(r1, (0,), t1, (1, 2), (1, 0, 2))
+    tmp16 = np.copy(np.transpose(tmp14, (1, 0, 2))) * -1
+    del tmp14
+    tmp16 += np.transpose(tmp15, (1, 0, 2)) * -1
+    del tmp15
+    tmp9 = np.copy(ints.tmp23)
+    tmp9 += ints.tmp34
+    tmp11 = np.copy(f.vv) * 2
+    tmp11 += np.transpose(ints.tmp4, (1, 0)) * -1
+    tmp6 = einsum(v.ovvv, (0, 1, 2, 3), r2, (2, 3, 4), (4, 0, 1))
+    tmp5 = einsum(r2, (0, 1, 2), v.oovv, (3, 4, 0, 1), (2, 3, 4))
+    tmp18 = einsum(v.ovov, (0, 1, 2, 3), tmp8, (2, 1, 4), (0, 4, 3))
+    tmp17 = einsum(t1, (0, 1), tmp16, (0, 2, 3), (2, 3, 1))
+    del tmp16
+    tmp10 = einsum(tmp9, (0, 1, 2, 3), tmp8, (1, 3, 4), (0, 2, 4))
+    del tmp8, tmp9
+    tmp12 = einsum(tmp11, (0, 1), r2, (2, 0, 3), (3, 1, 2)) * -0.5
+    del tmp11
+    tmp7 = einsum(tmp6, (0, 1, 2), t1, (1, 3), (0, 3, 2))
+    del tmp6
+    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))
+    tmp2 = einsum(r2, (0, 1, 2), v.oovv, (3, 2, 0, 1), (3,))
+    tmp3 = einsum(tmp0, (0, 1), r1, (1,), (0,))
+    tmp25 = np.copy(np.transpose(tmp5, (0, 2, 1))) * -0.5
+    tmp25 += einsum(r1, (0,), tmp13, (1, 2, 3, 0), (1, 2, 3))
+    del tmp13
+    tmp27 = np.copy(ints.tmp13)
+    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
+    tmp24 = np.copy(f.oo)
+    tmp24 += ints.tmp19
+    tmp24 += np.transpose(ints.tmp32, (1, 0)) * 0.5
+    tmp24 += np.transpose(ints.tmp50, (1, 0))
+    tmp24 += ints.tmp9
+    tmp19 = np.copy(tmp7) * 0.5
+    del tmp7
+    tmp19 += tmp10 * -1
+    del tmp10
+    tmp19 += tmp12 * -1
+    del tmp12
+    tmp19 += tmp17
+    del tmp17
+    tmp19 += tmp18 * -1
+    del tmp18
+    tmp22 = np.copy(tmp20)
+    del tmp20
+    tmp22 += tmp21
+    del tmp21
+    tmp23 = np.copy(ints.tmp18)
+    tmp23 += ints.tmp40 * 0.5
+    tmp23 += ints.tmp28 * -0.5
+    tmp23 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -1
+    tmp4 = np.copy(tmp2) * 0.5
+    del tmp2
+    tmp4 += tmp3
+    del tmp3
+    tmp26 = einsum(t1, (0, 1), tmp25, (2, 3, 0), (2, 3, 1)) * 2
+    del tmp25
+    tmp1 = np.copy(np.transpose(ints.tmp1, (1, 0)))
+    tmp1 += np.transpose(ints.tmp4, (1, 0)) * 0.5
+    tmp1 += f.vv * -1
+    r2new = einsum(tmp5, (0, 1, 2), t2, (2, 1, 3, 4), (3, 4, 0)) * -0.25
+    del tmp5
+    r2new += einsum(v.vvvv, (0, 1, 2, 3), r2, (2, 3, 4), (0, 1, 4)) * 0.5
+    r2new += np.transpose(tmp19, (1, 2, 0)) * -1
+    r2new += np.transpose(tmp19, (2, 1, 0))
+    del tmp19
+    r2new += np.transpose(tmp22, (1, 2, 0))
+    r2new += np.transpose(tmp22, (2, 1, 0)) * -1
+    del tmp22
+    r2new += einsum(tmp23, (0, 1, 2, 3), r1, (3,), (2, 1, 0)) * -1
+    del tmp23
+    r2new += einsum(r2, (0, 1, 2), tmp24, (2, 3), (0, 1, 3)) * -1
+    del tmp24
+    r2new += einsum(tmp4, (0,), t2, (1, 0, 2, 3), (2, 3, 1))
+    r2new += einsum(t1, (0, 1), tmp26, (2, 0, 3), (3, 1, 2)) * -0.5
+    del tmp26
+    r2new += einsum(tmp27, (0, 1), r1, (2,), (2, 1, 0)) * -1
+    r2new += einsum(tmp27, (0, 1), r1, (2,), (1, 2, 0))
+    del tmp27
+    r1new = einsum(v.ovvv, (0, 1, 2, 3), r2, (2, 3, 0), (1,)) * -0.5
+    r1new += einsum(r2, (0, 1, 2), tmp0, (2, 1), (0,))
+    del tmp0
+    r1new += einsum(tmp1, (0, 1), r1, (0,), (1,)) * -1
+    del tmp1
+    r1new += einsum(t1, (0, 1), tmp4, (0,), (1,)) * -1
+    del tmp4
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCSD.hbar_matvec_ee_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-13T22:13:56.696839.

+

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

+ +
+ Source code in ebcc/codegen/GCCSD.py +
1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
def hbar_matvec_ee_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-13T22:13:56.696839.
+
+    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
+    """
+
+    tmp7 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp6 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3))
+    tmp101 = einsum(t1, (0, 1), tmp7, (2, 3, 4, 1), (2, 0, 4, 3))
+    tmp12 = einsum(t1, (0, 1), tmp6, (2, 1), (0, 2))
+    tmp5 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp4 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2))
+    tmp40 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp2 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3))
+    tmp62 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1))
+    tmp9 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 2, 3), (4, 0))
+    tmp0 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp106 = einsum(t1, (0, 1), tmp101, (2, 3, 0, 4), (2, 3, 4, 1)) * -1
+    tmp105 = einsum(t1, (0, 1), tmp12, (2, 0), (2, 1))
+    tmp94 = einsum(t1, (0, 1), tmp5, (2, 3, 4, 1), (2, 0, 3, 4)) * -1
+    tmp93 = einsum(t1, (0, 1), tmp4, (2, 1), (0, 2))
+    tmp88 = einsum(tmp40, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4))
+    tmp87 = einsum(t1, (0, 1), tmp2, (0, 2), (2, 1))
+    tmp81 = einsum(tmp62, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4))
+    tmp80 = einsum(t1, (0, 1), tmp9, (2, 0), (2, 1))
+    tmp77 = einsum(tmp7, (0, 1, 2, 3), t2, (2, 1, 4, 5), (0, 4, 5, 3)) * -1
+    tmp75 = einsum(t2, (0, 1, 2, 3), tmp7, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp74 = einsum(tmp7, (0, 1, 2, 3), t2, (2, 1, 4, 3), (0, 4))
+    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))
+    tmp64 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp57 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5))
+    tmp55 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5))
+    tmp54 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4))
+    tmp51 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 5, 0, 1), (4, 2, 3, 5))
+    tmp49 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp48 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2))
+    tmp37 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp33 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1))
+    tmp32 = einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3))
+    tmp30 = einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp26 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2))
+    tmp23 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2))
+    tmp22 = einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp18 = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    tmp17 = einsum(f.oo, (0, 1), t1, (1, 2), (0, 2))
+    tmp10 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 3), (4, 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}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCSD.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-13T22:13:56.718457.

+

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.

+ +
+ Source code in ebcc/codegen/GCCSD.py +
1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
+1331
+1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
+1359
+1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
+1373
+1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
+1445
+1446
+1447
+1448
+1449
+1450
+1451
+1452
+1453
+1454
+1455
+1456
+1457
+1458
+1459
+1460
+1461
+1462
+1463
+1464
+1465
+1466
+1467
+1468
+1469
+1470
+1471
+1472
+1473
+1474
+1475
+1476
+1477
+1478
+1479
+1480
+1481
+1482
+1483
+1484
+1485
+1486
+1487
+1488
+1489
+1490
+1491
+1492
+1493
+1494
+1495
+1496
+1497
+1498
+1499
+1500
+1501
+1502
+1503
+1504
+1505
+1506
+1507
+1508
+1509
+1510
+1511
+1512
+1513
+1514
+1515
+1516
+1517
+1518
+1519
+1520
+1521
+1522
+1523
+1524
+1525
+1526
+1527
+1528
+1529
+1530
+1531
+1532
+1533
+1534
+1535
+1536
+1537
+1538
+1539
+1540
+1541
+1542
+1543
+1544
+1545
+1546
+1547
+1548
+1549
+1550
+1551
+1552
+1553
+1554
+1555
+1556
+1557
+1558
+1559
+1560
+1561
+1562
+1563
+1564
+1565
+1566
+1567
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-13T22:13:56.718457.
+
+    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 = np.copy(f.ov)
+    tmp2 += ints.tmp6
+    tmp0 = einsum(v.oovv, (0, 1, 2, 3), r1, (1, 3), (0, 2))
+    tmp39 = np.copy(ints.tmp5)
+    tmp39 += ints.tmp64
+    tmp25 = einsum(v.ooov, (0, 1, 2, 3), r1, (4, 3), (4, 0, 1, 2))
+    tmp6 = einsum(r1, (0, 1), tmp2, (2, 1), (2, 0))
+    tmp5 = einsum(v.oovv, (0, 1, 2, 3), r2, (4, 1, 2, 3), (4, 0))
+    tmp31 = einsum(r1, (0, 1), ints.tmp7, (2, 0, 3, 1), (2, 3))
+    tmp19 = einsum(tmp0, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1
+    tmp18 = einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 5, 2, 3), (4, 5, 0, 1))
+    tmp43 = einsum(tmp39, (0, 1, 2, 3), r1, (4, 3), (0, 1, 4, 2))
+    tmp42 = einsum(ints.tmp7, (0, 1, 2, 3), r2, (4, 1, 5, 3), (0, 2, 4, 5))
+    tmp41 = einsum(r2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp57 = np.copy(ints.tmp23)
+    tmp57 += np.transpose(ints.tmp30, (2, 0, 1, 3))
+    tmp62 = np.copy(ints.tmp55)
+    tmp62 += ints.tmp71 * 2
+    tmp62 += ints.tmp81 * -1
+    tmp60 = np.copy(ints.tmp10) * 0.5
+    tmp60 += ints.tmp4
+    tmp26 = einsum(tmp25, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4))
+    del tmp25
+    tmp23 = einsum(v.ooov, (0, 1, 2, 3), r1, (1, 3), (0, 2))
+    tmp8 = np.copy(f.oo)
+    tmp8 += ints.tmp0
+    tmp8 += np.transpose(ints.tmp12, (1, 0))
+    tmp8 += ints.tmp2
+    tmp8 += np.transpose(ints.tmp9, (1, 0)) * 0.5
+    tmp28 = np.copy(ints.tmp51)
+    tmp28 += ints.tmp77 * -1
+    tmp32 = np.copy(tmp31)
+    del tmp31
+    tmp32 += tmp5 * 0.5
+    tmp32 += np.transpose(tmp6, (1, 0))
+    tmp20 = np.copy(np.transpose(tmp18, (1, 0, 2, 3)))
+    del tmp18
+    tmp20 += tmp19 * -2
+    del tmp19
+    tmp16 = einsum(tmp2, (0, 1), r2, (2, 3, 4, 1), (0, 2, 3, 4)) * -1
+    tmp14 = einsum(v.oovv, (0, 1, 2, 3), r2, (0, 1, 4, 3), (4, 2))
+    tmp49 = einsum(r1, (0, 1), ints.tmp7, (2, 3, 4, 1), (2, 3, 4, 0))
+    tmp10 = einsum(v.ovvv, (0, 1, 2, 3), r1, (0, 3), (1, 2))
+    tmp44 = np.copy(tmp41)
+    del tmp41
+    tmp44 += tmp42 * -1
+    del tmp42
+    tmp44 += tmp43
+    del tmp43
+    tmp37 = einsum(r1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3))
+    tmp46 = np.copy(ints.tmp33)
+    tmp46 += ints.tmp49
+    tmp58 = einsum(tmp57, (0, 1, 2, 3), r1, (0, 4), (1, 2, 3, 4))
+    del tmp57
+    tmp56 = einsum(r2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2))
+    tmp55 = einsum(r1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4))
+    tmp63 = einsum(tmp62, (0, 1, 2, 3), r1, (2, 4), (0, 1, 3, 4)) * 0.5
+    del tmp62
+    tmp61 = einsum(tmp60, (0, 1), r2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1
+    del tmp60
+    tmp27 = einsum(t1, (0, 1), tmp26, (2, 0, 3, 4), (2, 3, 4, 1)) * -1
+    del tmp26
+    tmp24 = einsum(t2, (0, 1, 2, 3), tmp23, (1, 4), (0, 4, 2, 3)) * -1
+    del tmp23
+    tmp30 = einsum(r2, (0, 1, 2, 3), tmp8, (1, 4), (4, 0, 2, 3)) * -1
+    tmp29 = einsum(tmp28, (0, 1, 2, 3), r1, (4, 3), (0, 4, 1, 2)) * 0.5
+    del tmp28
+    tmp33 = einsum(tmp32, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4)) * -1
+    del tmp32
+    tmp13 = einsum(ints.tmp106, (0, 1, 2, 3), r1, (2, 4), (0, 1, 3, 4))
+    tmp21 = einsum(tmp20, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4)) * 0.5
+    del tmp20
+    tmp17 = einsum(tmp16, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4))
+    del tmp16
+    tmp15 = einsum(t2, (0, 1, 2, 3), tmp14, (4, 3), (0, 1, 4, 2)) * -1
+    del tmp14
+    tmp65 = np.copy(ints.tmp75)
+    tmp65 += np.transpose(ints.tmp88, (0, 2, 1, 3))
+    tmp52 = einsum(ints.tmp37, (0, 1, 2, 3), r1, (4, 3), (0, 4, 1, 2))
+    tmp53 = einsum(v.ovvv, (0, 1, 2, 3), r1, (4, 1), (4, 0, 2, 3))
+    tmp50 = einsum(t1, (0, 1), tmp49, (2, 3, 0, 4), (2, 3, 4, 1))
+    del tmp49
+    tmp9 = einsum(r1, (0, 1), ints.tmp94, (2, 3, 0, 4), (2, 3, 4, 1))
+    tmp11 = einsum(t2, (0, 1, 2, 3), tmp10, (4, 3), (0, 1, 2, 4)) * -1
+    del tmp10
+    tmp45 = einsum(tmp44, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4))
+    del tmp44
+    tmp36 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp38 = einsum(t1, (0, 1), tmp37, (2, 0, 3, 4), (2, 3, 1, 4))
+    del tmp37
+    tmp47 = einsum(tmp46, (0, 1, 2, 3), r1, (1, 4), (0, 2, 3, 4))
+    del tmp46
+    tmp35 = einsum(r1, (0, 1), ints.tmp57, (2, 3, 4, 1), (2, 0, 3, 4))
+    tmp40 = einsum(r2, (0, 1, 2, 3), tmp39, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp39
+    tmp1 = np.copy(ints.tmp7)
+    tmp1 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1
+    tmp67 = np.copy(ints.tmp101)
+    tmp67 += ints.tmp62 * 0.5
+    tmp67 += v.oooo
+    tmp67 += np.transpose(ints.tmp40, (0, 3, 1, 2)) * -1
+    tmp67 += np.transpose(ints.tmp40, (3, 0, 1, 2))
+    tmp59 = np.copy(np.transpose(tmp55, (1, 0, 2, 3))) * -1
+    del tmp55
+    tmp59 += np.transpose(tmp56, (1, 0, 2, 3)) * -1
+    del tmp56
+    tmp59 += tmp58
+    del tmp58
+    tmp71 = np.copy(ints.tmp105) * 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
+    tmp64 = np.copy(np.transpose(tmp61, (1, 0, 2, 3))) * -1
+    del tmp61
+    tmp64 += tmp63 * -1
+    del tmp63
+    tmp34 = np.copy(np.transpose(tmp24, (0, 1, 3, 2))) * -1
+    del tmp24
+    tmp34 += np.transpose(tmp27, (0, 1, 3, 2))
+    del tmp27
+    tmp34 += np.transpose(tmp29, (0, 1, 3, 2)) * -1
+    del tmp29
+    tmp34 += np.transpose(tmp30, (0, 1, 3, 2))
+    del tmp30
+    tmp34 += np.transpose(tmp33, (0, 1, 3, 2))
+    del tmp33
+    tmp22 = np.copy(tmp13)
+    del tmp13
+    tmp22 += tmp15 * 0.5
+    del tmp15
+    tmp22 += np.transpose(tmp17, (1, 0, 2, 3)) * -1
+    del tmp17
+    tmp22 += np.transpose(tmp21, (1, 0, 3, 2))
+    del tmp21
+    tmp66 = einsum(tmp65, (0, 1, 2, 3), r1, (2, 4), (0, 1, 3, 4))
+    del tmp65
+    tmp54 = np.copy(tmp52)
+    del tmp52
+    tmp54 += np.transpose(tmp53, (0, 1, 3, 2)) * -1
+    del tmp53
+    tmp51 = einsum(t1, (0, 1), tmp50, (2, 0, 3, 4), (2, 3, 1, 4))
+    del tmp50
+    tmp12 = np.copy(tmp9)
+    del tmp9
+    tmp12 += tmp11
+    del tmp11
+    tmp70 = np.copy(ints.tmp105)
+    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
+    tmp68 = einsum(v.oovv, (0, 1, 2, 3), r2, (4, 5, 2, 3), (4, 5, 0, 1))
+    tmp48 = np.copy(tmp35)
+    del tmp35
+    tmp48 += tmp36
+    del tmp36
+    tmp48 += tmp38 * -1
+    del tmp38
+    tmp48 += tmp40 * -1
+    del tmp40
+    tmp48 += tmp45
+    del tmp45
+    tmp48 += tmp47
+    del tmp47
+    tmp69 = np.copy(t2)
+    tmp69 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2
+    tmp3 = np.copy(ints.tmp5)
+    tmp3 += np.transpose(v.ovov, (0, 2, 3, 1)) * -1
+    tmp4 = np.copy(np.transpose(ints.tmp10, (1, 0))) * 0.5
+    tmp4 += np.transpose(ints.tmp4, (1, 0))
+    tmp4 += f.vv * -1
+    tmp7 = np.copy(np.transpose(tmp5, (1, 0))) * 0.5
+    del tmp5
+    tmp7 += einsum(tmp1, (0, 1, 2, 3), r1, (1, 3), (2, 0))
+    tmp7 += tmp6
+    del tmp6
+    r2new = einsum(r2, (0, 1, 2, 3), v.vvvv, (4, 5, 2, 3), (0, 1, 4, 5)) * 0.5
+    r2new += tmp12
+    r2new += np.transpose(tmp12, (0, 1, 3, 2)) * -1
+    del tmp12
+    r2new += tmp22 * -1
+    r2new += np.transpose(tmp22, (0, 1, 3, 2))
+    del tmp22
+    r2new += tmp34
+    r2new += np.transpose(tmp34, (1, 0, 2, 3)) * -1
+    del tmp34
+    r2new += tmp48 * -1
+    r2new += np.transpose(tmp48, (0, 1, 3, 2))
+    r2new += np.transpose(tmp48, (1, 0, 2, 3))
+    r2new += np.transpose(tmp48, (1, 0, 3, 2)) * -1
+    del tmp48
+    r2new += tmp51 * -1
+    r2new += np.transpose(tmp51, (1, 0, 2, 3))
+    del tmp51
+    r2new += np.transpose(tmp54, (0, 1, 3, 2))
+    r2new += np.transpose(tmp54, (1, 0, 3, 2)) * -1
+    del tmp54
+    r2new += np.transpose(tmp59, (1, 0, 2, 3))
+    r2new += np.transpose(tmp59, (1, 0, 3, 2)) * -1
+    del tmp59
+    r2new += np.transpose(tmp64, (1, 0, 2, 3))
+    r2new += np.transpose(tmp64, (1, 0, 3, 2)) * -1
+    del tmp64
+    r2new += tmp66
+    r2new += np.transpose(tmp66, (0, 1, 3, 2)) * -1
+    r2new += np.transpose(tmp66, (1, 0, 2, 3)) * -1
+    r2new += np.transpose(tmp66, (1, 0, 3, 2))
+    del tmp66
+    r2new += einsum(r2, (0, 1, 2, 3), tmp67, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5
+    del tmp67
+    r2new += einsum(tmp68, (0, 1, 2, 3), tmp69, (2, 3, 4, 5), (1, 0, 5, 4)) * 0.25
+    del tmp68, tmp69
+    r2new += einsum(tmp70, (0, 1), r1, (2, 3), (0, 2, 1, 3)) * -1
+    r2new += einsum(tmp70, (0, 1), r1, (2, 3), (2, 0, 3, 1)) * -1
+    r2new += einsum(r1, (0, 1), tmp71, (2, 3), (0, 2, 3, 1)) * 0.5
+    del tmp71
+    r2new += einsum(tmp70, (0, 1), r1, (2, 3), (0, 2, 3, 1))
+    del tmp70
+    r1new = einsum(tmp0, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    del tmp0
+    r1new += einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 0, 2, 3), (4, 1)) * -0.5
+    r1new += einsum(r2, (0, 1, 2, 3), tmp1, (4, 0, 1, 3), (4, 2)) * 0.5
+    del tmp1
+    r1new += einsum(tmp2, (0, 1), r2, (2, 0, 3, 1), (2, 3))
+    del tmp2
+    r1new += einsum(tmp3, (0, 1, 2, 3), r1, (1, 3), (0, 2))
+    del tmp3
+    r1new += einsum(r1, (0, 1), tmp4, (1, 2), (0, 2)) * -1
+    del tmp4
+    r1new += einsum(t1, (0, 1), tmp7, (0, 2), (2, 1)) * -1
+    del tmp7
+    r1new += einsum(r1, (0, 1), tmp8, (0, 2), (2, 1)) * -1
+    del tmp8
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCSD.hbar_lmatvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-13T22:14:02.729337.

+

Parameters

+

f : array + Fock matrix. +t1 : array + T1 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp1 : array +tmp10 : array +tmp11 : array +tmp12 : array +tmp13 : array +tmp14 : array +tmp15 : array +tmp16 : array +tmp17 : array +tmp18 : array +tmp19 : array +tmp2 : array +tmp20 : array +tmp21 : array +tmp22 : array +tmp23 : array +tmp24 : array +tmp25 : array +tmp26 : array +tmp27 : array +tmp28 : array +tmp29 : array +tmp3 : array +tmp30 : array +tmp31 : array +tmp32 : array +tmp33 : array +tmp34 : array +tmp4 : array +tmp43 : array +tmp44 : array +tmp5 : array +tmp6 : array +tmp7 : array +tmp8 : array +tmp9 : array

+ +
+ Source code in ebcc/codegen/GCCSD.py +
1569
+1570
+1571
+1572
+1573
+1574
+1575
+1576
+1577
+1578
+1579
+1580
+1581
+1582
+1583
+1584
+1585
+1586
+1587
+1588
+1589
+1590
+1591
+1592
+1593
+1594
+1595
+1596
+1597
+1598
+1599
+1600
+1601
+1602
+1603
+1604
+1605
+1606
+1607
+1608
+1609
+1610
+1611
+1612
+1613
+1614
+1615
+1616
+1617
+1618
+1619
+1620
+1621
+1622
+1623
+1624
+1625
+1626
+1627
+1628
+1629
+1630
+1631
+1632
+1633
+1634
+1635
+1636
+1637
+1638
+1639
+1640
+1641
+1642
+1643
+1644
+1645
+1646
+1647
+1648
+1649
+1650
+1651
+1652
+1653
+1654
+1655
+1656
+1657
+1658
+1659
+1660
+1661
+1662
+1663
def hbar_lmatvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-13T22:14:02.729337.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t1 : array
+        T1 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp1 : array
+    tmp10 : array
+    tmp11 : array
+    tmp12 : array
+    tmp13 : array
+    tmp14 : array
+    tmp15 : array
+    tmp16 : array
+    tmp17 : array
+    tmp18 : array
+    tmp19 : array
+    tmp2 : array
+    tmp20 : array
+    tmp21 : array
+    tmp22 : array
+    tmp23 : array
+    tmp24 : array
+    tmp25 : array
+    tmp26 : array
+    tmp27 : array
+    tmp28 : array
+    tmp29 : array
+    tmp3 : array
+    tmp30 : array
+    tmp31 : array
+    tmp32 : array
+    tmp33 : array
+    tmp34 : array
+    tmp4 : array
+    tmp43 : array
+    tmp44 : array
+    tmp5 : array
+    tmp6 : array
+    tmp7 : array
+    tmp8 : array
+    tmp9 : array
+    """
+
+    tmp18 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp15 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3))
+    tmp33 = einsum(t1, (0, 1), tmp18, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp24 = einsum(t1, (0, 1), tmp15, (2, 1), (0, 2))
+    tmp30 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp28 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2))
+    tmp26 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp6 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 2))
+    tmp22 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1))
+    tmp10 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4))
+    tmp0 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp44 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp43 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 3), (4, 2))
+    tmp34 = einsum(t1, (0, 1), tmp33, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp32 = einsum(tmp24, (0, 1), t1, (1, 2), (0, 2))
+    tmp31 = einsum(t1, (0, 1), tmp30, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp29 = einsum(tmp28, (0, 1), t1, (2, 1), (2, 0))
+    tmp27 = einsum(tmp26, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4))
+    tmp25 = einsum(tmp6, (0, 1), t1, (0, 2), (1, 2))
+    tmp23 = einsum(tmp22, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4))
+    tmp21 = einsum(t1, (0, 1), tmp10, (2, 0), (2, 1))
+    tmp20 = einsum(t2, (0, 1, 2, 3), tmp18, (4, 5, 1, 3), (4, 0, 5, 2)) * -1
+    tmp19 = einsum(tmp18, (0, 1, 2, 3), t2, (2, 1, 4, 3), (0, 4))
+    tmp17 = einsum(tmp15, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1
+    tmp16 = einsum(tmp15, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp14 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5))
+    tmp13 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4))
+    tmp12 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp11 = einsum(v.ovoo, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4))
+    tmp9 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1))
+    tmp8 = einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3))
+    tmp7 = einsum(v.oooo, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4))
+    tmp5 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2))
+    tmp4 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2))
+    tmp3 = einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp2 = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    tmp1 = einsum(f.oo, (0, 1), t1, (1, 2), (0, 2))
+
+    return {f"tmp0": tmp0, f"tmp1": tmp1, f"tmp10": tmp10, f"tmp11": tmp11, f"tmp12": tmp12, f"tmp13": tmp13, f"tmp14": tmp14, f"tmp15": tmp15, f"tmp16": tmp16, f"tmp17": tmp17, f"tmp18": tmp18, f"tmp19": tmp19, f"tmp2": tmp2, f"tmp20": tmp20, f"tmp21": tmp21, f"tmp22": tmp22, f"tmp23": tmp23, f"tmp24": tmp24, f"tmp25": tmp25, f"tmp26": tmp26, f"tmp27": tmp27, f"tmp28": tmp28, f"tmp29": tmp29, f"tmp3": tmp3, f"tmp30": tmp30, f"tmp31": tmp31, f"tmp32": tmp32, f"tmp33": tmp33, f"tmp34": tmp34, f"tmp4": tmp4, f"tmp43": tmp43, f"tmp44": tmp44, f"tmp5": tmp5, f"tmp6": tmp6, f"tmp7": tmp7, f"tmp8": tmp8, f"tmp9": tmp9}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCSD.hbar_lmatvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-13T22:14:02.745023.

+

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.

+ +
+ Source code in ebcc/codegen/GCCSD.py +
1665
+1666
+1667
+1668
+1669
+1670
+1671
+1672
+1673
+1674
+1675
+1676
+1677
+1678
+1679
+1680
+1681
+1682
+1683
+1684
+1685
+1686
+1687
+1688
+1689
+1690
+1691
+1692
+1693
+1694
+1695
+1696
+1697
+1698
+1699
+1700
+1701
+1702
+1703
+1704
+1705
+1706
+1707
+1708
+1709
+1710
+1711
+1712
+1713
+1714
+1715
+1716
+1717
+1718
+1719
+1720
+1721
+1722
+1723
+1724
+1725
+1726
+1727
+1728
+1729
+1730
+1731
+1732
+1733
+1734
+1735
+1736
+1737
+1738
+1739
+1740
+1741
+1742
+1743
+1744
+1745
+1746
+1747
+1748
+1749
+1750
+1751
+1752
+1753
+1754
+1755
+1756
+1757
+1758
+1759
+1760
+1761
+1762
+1763
+1764
+1765
+1766
+1767
+1768
+1769
+1770
+1771
+1772
+1773
+1774
+1775
+1776
+1777
+1778
+1779
+1780
+1781
+1782
+1783
+1784
+1785
+1786
def hbar_lmatvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-13T22:14:02.745023.
+
+    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"]
+    tmp9 = np.copy(ints.tmp30)
+    tmp9 += ints.tmp44
+    tmp6 = einsum(t1, (0, 1), r2, (2, 3, 1), (2, 3, 0))
+    tmp13 = np.copy(f.oo)
+    tmp13 += np.transpose(ints.tmp0, (1, 0))
+    tmp13 += ints.tmp24
+    tmp13 += np.transpose(ints.tmp6, (1, 0))
+    tmp10 = einsum(tmp9, (0, 1, 2, 3), r2, (4, 0, 2), (1, 4, 3)) * -1
+    del tmp9
+    tmp8 = einsum(v.ooov, (0, 1, 2, 3), tmp6, (4, 2, 1), (4, 0, 3))
+    tmp4 = einsum(r2, (0, 1, 2), ints.tmp10, (1, 3), (3, 0, 2))
+    tmp5 = einsum(r2, (0, 1, 2), v.ovov, (3, 2, 1, 4), (0, 3, 4))
+    tmp7 = einsum(tmp6, (0, 1, 2), ints.tmp18, (1, 3, 2, 4), (3, 0, 4))
+    del tmp6
+    tmp11 = np.copy(f.ov)
+    tmp11 += ints.tmp15
+    tmp17 = np.copy(ints.tmp18)
+    tmp17 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1
+    tmp15 = np.copy(ints.tmp22)
+    tmp15 += ints.tmp33 * 2
+    tmp15 += v.oooo * 2
+    tmp15 += np.transpose(ints.tmp26, (0, 3, 1, 2)) * -4
+    tmp3 = einsum(r2, (0, 1, 2), t2, (0, 1, 3, 2), (3,))
+    tmp14 = einsum(r2, (0, 1, 2), tmp13, (1, 3), (3, 0, 2)) * -1
+    del tmp13
+    tmp12 = np.copy(tmp4) * -0.5
+    del tmp4
+    tmp12 += tmp5
+    del tmp5
+    tmp12 += tmp7 * -1
+    del tmp7
+    tmp12 += tmp8 * -1
+    del tmp8
+    tmp12 += tmp10 * -1
+    del tmp10
+    tmp12 += einsum(r1, (0,), tmp11, (1, 2), (1, 0, 2))
+    tmp16 = np.copy(ints.tmp28)
+    tmp16 += ints.tmp43 * 0.5
+    tmp16 += f.vv * -1
+    tmp16 += einsum(t1, (0, 1), tmp11, (0, 2), (1, 2))
+    del tmp11
+    tmp2 = np.copy(f.oo) * 2
+    tmp2 += np.transpose(ints.tmp0, (1, 0)) * 2
+    tmp2 += ints.tmp10
+    tmp2 += ints.tmp24 * 2
+    tmp2 += np.transpose(ints.tmp6, (1, 0)) * 2
+    tmp0 = np.copy(ints.tmp12)
+    tmp0 += np.transpose(ints.tmp23, (0, 2, 1, 3)) * 0.25
+    tmp0 += np.transpose(ints.tmp34, (0, 2, 1, 3)) * 0.5
+    tmp0 += np.transpose(ints.tmp4, (1, 0, 2, 3)) * 0.5
+    tmp0 += np.transpose(ints.tmp7, (0, 2, 1, 3)) * 0.5
+    tmp0 += ints.tmp9
+    tmp0 += np.transpose(ints.tmp14, (0, 2, 1, 3)) * -0.25
+    tmp0 += np.transpose(ints.tmp17, (0, 2, 1, 3)) * -0.5
+    tmp0 += np.transpose(ints.tmp20, (0, 2, 1, 3)) * -1
+    tmp0 += ints.tmp27 * -1
+    tmp0 += np.transpose(ints.tmp31, (0, 2, 1, 3)) * -0.5
+    tmp0 += np.transpose(v.ooov, (0, 2, 1, 3)) * -0.5
+    tmp1 = np.copy(ints.tmp11)
+    tmp1 += ints.tmp13
+    tmp1 += ints.tmp19
+    tmp1 += ints.tmp1 * 2
+    tmp1 += ints.tmp21
+    tmp1 += ints.tmp25 * 2
+    tmp1 += ints.tmp29 * 2
+    tmp1 += ints.tmp32 * 2
+    tmp1 += ints.tmp5 * 2
+    tmp1 += ints.tmp8 * 2
+    tmp1 += f.ov * -2
+    tmp1 += ints.tmp16 * -2
+    tmp1 += ints.tmp2 * -2
+    tmp1 += ints.tmp3 * -2
+    r2new = einsum(tmp3, (0,), v.oovv, (1, 2, 3, 0), (1, 2, 3)) * 0.5
+    del tmp3
+    r2new += tmp12 * -1
+    r2new += np.transpose(tmp12, (1, 0, 2))
+    del tmp12
+    r2new += tmp14 * -1
+    r2new += np.transpose(tmp14, (1, 0, 2))
+    del tmp14
+    r2new += einsum(r2, (0, 1, 2), tmp15, (0, 1, 3, 4), (3, 4, 2)) * 0.25
+    del tmp15
+    r2new += einsum(tmp16, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp16
+    r2new += einsum(tmp17, (0, 1, 2, 3), r1, (0,), (2, 1, 3)) * -1
+    del tmp17
+    r1new = einsum(r2, (0, 1, 2), tmp0, (1, 3, 0, 2), (3,)) * -1
+    del tmp0
+    r1new += einsum(tmp1, (0, 1), r2, (2, 0, 1), (2,)) * -0.5
+    del tmp1
+    r1new += einsum(r1, (0,), tmp2, (0, 1), (1,)) * -0.5
+    del tmp2
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCSD.hbar_lmatvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-13T22:14:09.386301.

+

Parameters

+

f : array + Fock matrix. +t1 : array + T1 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp1 : array +tmp10 : array +tmp11 : array +tmp12 : array +tmp13 : array +tmp14 : array +tmp15 : array +tmp16 : array +tmp17 : array +tmp18 : array +tmp19 : array +tmp2 : array +tmp20 : array +tmp21 : array +tmp22 : array +tmp23 : array +tmp24 : array +tmp25 : array +tmp27 : array +tmp28 : array +tmp29 : array +tmp3 : array +tmp30 : array +tmp5 : array +tmp6 : array +tmp7 : array +tmp8 : array

+ +
+ Source code in ebcc/codegen/GCCSD.py +
1788
+1789
+1790
+1791
+1792
+1793
+1794
+1795
+1796
+1797
+1798
+1799
+1800
+1801
+1802
+1803
+1804
+1805
+1806
+1807
+1808
+1809
+1810
+1811
+1812
+1813
+1814
+1815
+1816
+1817
+1818
+1819
+1820
+1821
+1822
+1823
+1824
+1825
+1826
+1827
+1828
+1829
+1830
+1831
+1832
+1833
+1834
+1835
+1836
+1837
+1838
+1839
+1840
+1841
+1842
+1843
+1844
+1845
+1846
+1847
+1848
+1849
+1850
+1851
+1852
+1853
+1854
+1855
+1856
+1857
+1858
+1859
+1860
+1861
+1862
def hbar_lmatvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-13T22:14:09.386301.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t1 : array
+        T1 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp1 : array
+    tmp10 : array
+    tmp11 : array
+    tmp12 : array
+    tmp13 : array
+    tmp14 : array
+    tmp15 : array
+    tmp16 : array
+    tmp17 : array
+    tmp18 : array
+    tmp19 : array
+    tmp2 : array
+    tmp20 : array
+    tmp21 : array
+    tmp22 : array
+    tmp23 : array
+    tmp24 : array
+    tmp25 : array
+    tmp27 : array
+    tmp28 : array
+    tmp29 : array
+    tmp3 : array
+    tmp30 : array
+    tmp5 : array
+    tmp6 : array
+    tmp7 : array
+    tmp8 : array
+    """
+
+    tmp16 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3))
+    tmp29 = einsum(t1, (0, 1), tmp16, (2, 1), (0, 2))
+    tmp7 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2))
+    tmp24 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3))
+    tmp21 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4))
+    tmp18 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp5 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp30 = einsum(tmp29, (0, 1), t1, (1, 2), (0, 2))
+    tmp28 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp27 = einsum(tmp7, (0, 1), t1, (2, 1), (2, 0))
+    tmp25 = einsum(t1, (0, 1), tmp24, (0, 2), (2, 1))
+    tmp23 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp22 = einsum(tmp21, (0, 1), t1, (1, 2), (0, 2))
+    tmp20 = einsum(t2, (0, 1, 2, 3), tmp18, (4, 1, 0, 5), (4, 2, 3, 5)) * -1
+    tmp19 = einsum(tmp18, (0, 1, 2, 3), t2, (2, 1, 4, 3), (0, 4))
+    tmp17 = einsum(tmp16, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp15 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5))
+    tmp14 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4))
+    tmp13 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 5, 0, 1), (4, 2, 3, 5))
+    tmp12 = einsum(v.ovoo, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4))
+    tmp11 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 3), (4, 2))
+    tmp10 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp8 = einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3))
+    tmp6 = einsum(tmp5, (0, 1), t1, (0, 2), (1, 2))
+    tmp3 = einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp2 = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    tmp1 = einsum(f.oo, (0, 1), t1, (1, 2), (0, 2))
+
+    return {f"tmp1": tmp1, f"tmp10": tmp10, f"tmp11": tmp11, f"tmp12": tmp12, f"tmp13": tmp13, f"tmp14": tmp14, f"tmp15": tmp15, f"tmp16": tmp16, f"tmp17": tmp17, f"tmp18": tmp18, f"tmp19": tmp19, f"tmp2": tmp2, f"tmp20": tmp20, f"tmp21": tmp21, f"tmp22": tmp22, f"tmp23": tmp23, f"tmp24": tmp24, f"tmp25": tmp25, f"tmp27": tmp27, f"tmp28": tmp28, f"tmp29": tmp29, f"tmp3": tmp3, f"tmp30": tmp30, f"tmp5": tmp5, f"tmp6": tmp6, f"tmp7": tmp7, f"tmp8": tmp8}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCSD.hbar_lmatvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-13T22:14:09.399012.

+

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.

+ +
+ Source code in ebcc/codegen/GCCSD.py +
1864
+1865
+1866
+1867
+1868
+1869
+1870
+1871
+1872
+1873
+1874
+1875
+1876
+1877
+1878
+1879
+1880
+1881
+1882
+1883
+1884
+1885
+1886
+1887
+1888
+1889
+1890
+1891
+1892
+1893
+1894
+1895
+1896
+1897
+1898
+1899
+1900
+1901
+1902
+1903
+1904
+1905
+1906
+1907
+1908
+1909
+1910
+1911
+1912
+1913
+1914
+1915
+1916
+1917
+1918
+1919
+1920
+1921
+1922
+1923
+1924
+1925
+1926
+1927
+1928
+1929
+1930
+1931
+1932
+1933
+1934
+1935
+1936
+1937
+1938
+1939
+1940
+1941
+1942
+1943
+1944
+1945
+1946
+1947
+1948
+1949
+1950
+1951
+1952
+1953
+1954
+1955
+1956
+1957
+1958
+1959
+1960
+1961
+1962
+1963
+1964
+1965
+1966
+1967
+1968
+1969
+1970
+1971
+1972
+1973
+1974
+1975
+1976
+1977
+1978
+1979
+1980
+1981
+1982
+1983
+1984
+1985
+1986
+1987
+1988
+1989
+1990
+1991
+1992
+1993
def hbar_lmatvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-13T22:14:09.399012.
+
+    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 = np.copy(f.ov)
+    tmp10 += ints.tmp16
+    tmp17 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4))
+    tmp11 = einsum(ints.tmp18, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4))
+    tmp14 = einsum(tmp10, (0, 1), t1, (0, 2), (1, 2)) * 2
+    tmp18 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3)))
+    tmp18 += np.transpose(tmp17, (1, 0, 3, 2)) * -1
+    del tmp17
+    tmp12 = np.copy(ints.tmp23)
+    tmp12 += ints.tmp28
+    tmp12 += np.transpose(tmp11, (0, 1, 3, 2)) * -1
+    del tmp11
+    tmp15 = np.copy(ints.tmp11)
+    tmp15 += f.vv * -2
+    tmp15 += np.transpose(tmp14, (1, 0))
+    del tmp14
+    tmp22 = np.copy(t2)
+    tmp22 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2
+    tmp7 = einsum(t1, (0, 1), r1, (1,), (0,))
+    tmp8 = einsum(r2, (0, 1, 2), t2, (3, 2, 0, 1), (3,))
+    tmp19 = einsum(tmp18, (0, 1, 2, 3), r2, (4, 3, 0), (1, 2, 4)) * -1
+    del tmp18
+    tmp13 = einsum(r2, (0, 1, 2), tmp12, (2, 3, 1, 4), (3, 4, 0)) * -1
+    del tmp12
+    tmp16 = einsum(r2, (0, 1, 2), tmp15, (1, 3), (2, 3, 0)) * -0.5
+    del tmp15
+    tmp1 = einsum(t1, (0, 1), r2, (2, 1, 3), (3, 0, 2))
+    tmp24 = np.copy(f.oo)
+    tmp24 += ints.tmp21 * 0.5
+    tmp24 += np.transpose(ints.tmp24, (1, 0))
+    tmp24 += ints.tmp29
+    tmp24 += np.transpose(ints.tmp5, (1, 0))
+    tmp23 = einsum(tmp22, (0, 1, 2, 3), r2, (2, 3, 4), (4, 1, 0)) * -1
+    del tmp22
+    tmp9 = np.copy(tmp7) * 2
+    del tmp7
+    tmp9 += tmp8
+    del tmp8
+    tmp21 = einsum(r2, (0, 1, 2), ints.tmp7, (1, 3), (2, 3, 0))
+    tmp20 = np.copy(tmp13) * -1
+    del tmp13
+    tmp20 += tmp16
+    del tmp16
+    tmp20 += np.transpose(tmp19, (0, 2, 1)) * -1
+    del tmp19
+    tmp20 += einsum(tmp10, (0, 1), r1, (2,), (0, 1, 2))
+    tmp2 = np.copy(ints.tmp23)
+    tmp2 += ints.tmp28
+    tmp2 += np.transpose(v.ovov, (0, 2, 3, 1)) * -1
+    tmp0 = np.copy(ints.tmp10) * 0.5
+    tmp0 += ints.tmp15
+    tmp0 += ints.tmp20 * 0.25
+    tmp0 += ints.tmp13 * -0.25
+    tmp0 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -0.5
+    tmp3 = einsum(t1, (0, 1), tmp1, (2, 3, 1), (2, 3, 0)) * -1
+    tmp4 = np.copy(ints.tmp18)
+    tmp4 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1
+    tmp5 = np.copy(ints.tmp12)
+    tmp5 += ints.tmp14
+    tmp5 += ints.tmp19
+    tmp5 += ints.tmp1 * 2
+    tmp5 += ints.tmp22
+    tmp5 += ints.tmp25 * 2
+    tmp5 += ints.tmp27 * 2
+    tmp5 += ints.tmp30 * 2
+    tmp5 += ints.tmp6 * 2
+    tmp5 += ints.tmp8 * 2
+    tmp5 += f.ov * -2
+    tmp5 += ints.tmp17 * -2
+    tmp5 += ints.tmp2 * -2
+    tmp5 += ints.tmp3 * -2
+    tmp6 = np.copy(ints.tmp11) * 0.5
+    tmp6 += ints.tmp7
+    tmp6 += f.vv * -1
+    r2new = einsum(v.ovvv, (0, 1, 2, 3), r1, (1,), (2, 3, 0)) * -1
+    r2new += einsum(tmp1, (0, 1, 2), v.ovvv, (1, 2, 3, 4), (3, 4, 0))
+    r2new += einsum(v.vvvv, (0, 1, 2, 3), r2, (2, 3, 4), (0, 1, 4)) * 0.5
+    r2new += np.transpose(tmp20, (1, 2, 0)) * -1
+    r2new += np.transpose(tmp20, (2, 1, 0))
+    del tmp20
+    r2new += np.transpose(tmp21, (1, 2, 0))
+    r2new += np.transpose(tmp21, (2, 1, 0)) * -1
+    del tmp21
+    r2new += einsum(tmp23, (0, 1, 2), v.oovv, (1, 2, 3, 4), (3, 4, 0)) * 0.25
+    del tmp23
+    r2new += einsum(r2, (0, 1, 2), tmp24, (2, 3), (0, 1, 3)) * -1
+    del tmp24
+    r2new += einsum(v.oovv, (0, 1, 2, 3), tmp9, (1,), (2, 3, 0)) * 0.5
+    r1new = einsum(r2, (0, 1, 2), tmp0, (2, 0, 1, 3), (3,))
+    del tmp0
+    r1new += einsum(tmp1, (0, 1, 2), tmp2, (0, 1, 2, 3), (3,))
+    del tmp1, tmp2
+    r1new += einsum(tmp4, (0, 1, 2, 3), tmp3, (0, 2, 1), (3,)) * -0.5
+    del tmp4, tmp3
+    r1new += einsum(tmp5, (0, 1), r2, (2, 1, 0), (2,)) * -0.5
+    del tmp5
+    r1new += einsum(tmp6, (0, 1), r1, (0,), (1,)) * -1
+    del tmp6
+    r1new += einsum(tmp10, (0, 1), tmp9, (0,), (1,)) * -0.5
+    del tmp10, tmp9
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCSD.hbar_lmatvec_ee_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-13T22:14:20.353163.

+

Parameters

+

f : array + Fock matrix. +t1 : array + T1 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp10 : array +tmp11 : array +tmp12 : array +tmp13 : array +tmp15 : array +tmp16 : array +tmp17 : array +tmp19 : array +tmp2 : array +tmp20 : array +tmp21 : array +tmp22 : array +tmp23 : array +tmp24 : array +tmp26 : array +tmp27 : array +tmp28 : array +tmp29 : array +tmp3 : array +tmp30 : array +tmp31 : array +tmp32 : array +tmp33 : array +tmp34 : array +tmp35 : array +tmp36 : array +tmp38 : array +tmp39 : array +tmp4 : array +tmp40 : array +tmp41 : array +tmp43 : array +tmp44 : array +tmp45 : array +tmp46 : array +tmp47 : array +tmp5 : array +tmp7 : array +tmp8 : array +tmp9 : array

+ +
+ Source code in ebcc/codegen/GCCSD.py +
1995
+1996
+1997
+1998
+1999
+2000
+2001
+2002
+2003
+2004
+2005
+2006
+2007
+2008
+2009
+2010
+2011
+2012
+2013
+2014
+2015
+2016
+2017
+2018
+2019
+2020
+2021
+2022
+2023
+2024
+2025
+2026
+2027
+2028
+2029
+2030
+2031
+2032
+2033
+2034
+2035
+2036
+2037
+2038
+2039
+2040
+2041
+2042
+2043
+2044
+2045
+2046
+2047
+2048
+2049
+2050
+2051
+2052
+2053
+2054
+2055
+2056
+2057
+2058
+2059
+2060
+2061
+2062
+2063
+2064
+2065
+2066
+2067
+2068
+2069
+2070
+2071
+2072
+2073
+2074
+2075
+2076
+2077
+2078
+2079
+2080
+2081
+2082
+2083
+2084
+2085
+2086
+2087
+2088
+2089
+2090
+2091
+2092
+2093
+2094
+2095
+2096
+2097
def hbar_lmatvec_ee_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-13T22:14:20.353163.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t1 : array
+        T1 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp10 : array
+    tmp11 : array
+    tmp12 : array
+    tmp13 : array
+    tmp15 : array
+    tmp16 : array
+    tmp17 : array
+    tmp19 : array
+    tmp2 : array
+    tmp20 : array
+    tmp21 : array
+    tmp22 : array
+    tmp23 : array
+    tmp24 : array
+    tmp26 : array
+    tmp27 : array
+    tmp28 : array
+    tmp29 : array
+    tmp3 : array
+    tmp30 : array
+    tmp31 : array
+    tmp32 : array
+    tmp33 : array
+    tmp34 : array
+    tmp35 : array
+    tmp36 : array
+    tmp38 : array
+    tmp39 : array
+    tmp4 : array
+    tmp40 : array
+    tmp41 : array
+    tmp43 : array
+    tmp44 : array
+    tmp45 : array
+    tmp46 : array
+    tmp47 : array
+    tmp5 : array
+    tmp7 : array
+    tmp8 : array
+    tmp9 : array
+    """
+
+    tmp29 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp26 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3))
+    tmp46 = einsum(t1, (0, 1), tmp29, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp38 = einsum(t1, (0, 1), tmp26, (2, 1), (0, 2))
+    tmp10 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp9 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2))
+    tmp40 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp8 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 2))
+    tmp34 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1))
+    tmp16 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4))
+    tmp0 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp47 = einsum(tmp46, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4))
+    tmp45 = einsum(tmp38, (0, 1), t1, (1, 2), (0, 2))
+    tmp44 = einsum(t1, (0, 1), tmp10, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp43 = einsum(t1, (0, 1), tmp9, (2, 1), (0, 2))
+    tmp41 = einsum(tmp40, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4))
+    tmp39 = einsum(tmp8, (0, 1), t1, (0, 2), (1, 2))
+    tmp36 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp35 = einsum(tmp34, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4))
+    tmp33 = einsum(tmp16, (0, 1), t1, (1, 2), (0, 2))
+    tmp32 = einsum(t2, (0, 1, 2, 3), tmp29, (4, 1, 0, 5), (4, 2, 3, 5)) * -1
+    tmp31 = einsum(t2, (0, 1, 2, 3), tmp29, (4, 5, 1, 3), (4, 0, 5, 2)) * -1
+    tmp30 = einsum(t2, (0, 1, 2, 3), tmp29, (4, 1, 0, 3), (4, 2))
+    tmp28 = einsum(tmp26, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4)) * -1
+    tmp27 = einsum(tmp26, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp24 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5))
+    tmp23 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 5, 2, 3), (0, 1, 4, 5))
+    tmp22 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 2, 3), (0, 4))
+    tmp21 = einsum(t2, (0, 1, 2, 3), v.ovoo, (4, 5, 0, 1), (4, 2, 3, 5))
+    tmp20 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp19 = einsum(v.ovoo, (0, 1, 2, 3), t2, (2, 3, 4, 1), (0, 4))
+    tmp17 = einsum(v.oovv, (0, 1, 2, 3), t2, (0, 1, 4, 3), (4, 2))
+    tmp15 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp13 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1))
+    tmp12 = einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3))
+    tmp11 = einsum(v.oooo, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4))
+    tmp7 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2))
+    tmp5 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2))
+    tmp4 = einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp3 = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    tmp2 = einsum(f.oo, (0, 1), t1, (1, 2), (0, 2))
+
+    return {f"tmp0": tmp0, f"tmp10": tmp10, f"tmp11": tmp11, f"tmp12": tmp12, f"tmp13": tmp13, f"tmp15": tmp15, f"tmp16": tmp16, f"tmp17": tmp17, f"tmp19": tmp19, f"tmp2": tmp2, f"tmp20": tmp20, f"tmp21": tmp21, f"tmp22": tmp22, f"tmp23": tmp23, f"tmp24": tmp24, f"tmp26": tmp26, f"tmp27": tmp27, f"tmp28": tmp28, f"tmp29": tmp29, f"tmp3": tmp3, f"tmp30": tmp30, f"tmp31": tmp31, f"tmp32": tmp32, f"tmp33": tmp33, f"tmp34": tmp34, f"tmp35": tmp35, f"tmp36": tmp36, 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"tmp47": tmp47, f"tmp5": tmp5, f"tmp7": tmp7, f"tmp8": tmp8, f"tmp9": tmp9}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCSD.hbar_lmatvec_ee(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-13T22:14:20.373234.

+

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.

+ +
+ Source code in ebcc/codegen/GCCSD.py +
2099
+2100
+2101
+2102
+2103
+2104
+2105
+2106
+2107
+2108
+2109
+2110
+2111
+2112
+2113
+2114
+2115
+2116
+2117
+2118
+2119
+2120
+2121
+2122
+2123
+2124
+2125
+2126
+2127
+2128
+2129
+2130
+2131
+2132
+2133
+2134
+2135
+2136
+2137
+2138
+2139
+2140
+2141
+2142
+2143
+2144
+2145
+2146
+2147
+2148
+2149
+2150
+2151
+2152
+2153
+2154
+2155
+2156
+2157
+2158
+2159
+2160
+2161
+2162
+2163
+2164
+2165
+2166
+2167
+2168
+2169
+2170
+2171
+2172
+2173
+2174
+2175
+2176
+2177
+2178
+2179
+2180
+2181
+2182
+2183
+2184
+2185
+2186
+2187
+2188
+2189
+2190
+2191
+2192
+2193
+2194
+2195
+2196
+2197
+2198
+2199
+2200
+2201
+2202
+2203
+2204
+2205
+2206
+2207
+2208
+2209
+2210
+2211
+2212
+2213
+2214
+2215
+2216
+2217
+2218
+2219
+2220
+2221
+2222
+2223
+2224
+2225
+2226
+2227
+2228
+2229
+2230
+2231
+2232
+2233
+2234
+2235
+2236
+2237
+2238
+2239
+2240
+2241
+2242
+2243
+2244
+2245
+2246
+2247
+2248
+2249
+2250
+2251
+2252
+2253
+2254
+2255
+2256
+2257
+2258
+2259
+2260
+2261
+2262
+2263
+2264
+2265
+2266
+2267
+2268
+2269
+2270
+2271
+2272
+2273
+2274
+2275
+2276
+2277
+2278
+2279
+2280
+2281
+2282
+2283
+2284
+2285
+2286
+2287
+2288
+2289
def hbar_lmatvec_ee(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-13T22:14:20.373234.
+
+    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 = einsum(r2, (0, 1, 2, 3), t2, (4, 1, 2, 3), (0, 4))
+    tmp0 = einsum(t1, (0, 1), r1, (2, 1), (2, 0))
+    tmp14 = np.copy(f.oo)
+    tmp14 += np.transpose(ints.tmp0, (1, 0))
+    tmp14 += ints.tmp16 * 0.5
+    tmp14 += ints.tmp38
+    tmp14 += np.transpose(ints.tmp8, (1, 0))
+    tmp12 = np.copy(tmp0) * 2
+    tmp12 += tmp2
+    tmp5 = einsum(t1, (0, 1), r2, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp16 = np.copy(f.ov)
+    tmp16 += ints.tmp26
+    tmp1 = einsum(t2, (0, 1, 2, 3), r2, (0, 1, 4, 3), (4, 2))
+    tmp26 = np.copy(ints.tmp10)
+    tmp26 += ints.tmp36
+    tmp17 = einsum(tmp14, (0, 1), r2, (2, 0, 3, 4), (1, 2, 3, 4)) * -1
+    tmp18 = einsum(tmp12, (0, 1), v.oovv, (2, 1, 3, 4), (2, 0, 3, 4)) * -0.5
+    tmp21 = einsum(tmp16, (0, 1), tmp5, (2, 3, 0, 4), (2, 3, 4, 1))
+    tmp20 = einsum(v.oovv, (0, 1, 2, 3), tmp1, (4, 3), (0, 1, 4, 2)) * -1
+    tmp27 = einsum(r2, (0, 1, 2, 3), tmp26, (1, 4, 3, 5), (4, 0, 5, 2))
+    del tmp26
+    tmp24 = einsum(v.ooov, (0, 1, 2, 3), tmp5, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp23 = einsum(v.ovov, (0, 1, 2, 3), r2, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp25 = einsum(ints.tmp29, (0, 1, 2, 3), tmp5, (4, 0, 2, 5), (1, 4, 3, 5))
+    tmp34 = np.copy(ints.tmp17) * 0.5
+    tmp34 += ints.tmp9
+    tmp32 = einsum(r2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2))
+    tmp31 = einsum(r1, (0, 1), v.ooov, (2, 3, 0, 4), (2, 3, 1, 4))
+    tmp30 = einsum(ints.tmp29, (0, 1, 2, 3), r1, (0, 4), (1, 2, 3, 4))
+    tmp7 = einsum(t1, (0, 1), tmp5, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp36 = np.copy(np.transpose(ints.tmp40, (0, 3, 1, 2)))
+    tmp36 += ints.tmp34 * -0.25
+    tmp36 += ints.tmp46 * -0.5
+    tmp36 += v.oooo * -0.5
+    tmp19 = np.copy(np.transpose(tmp17, (0, 1, 3, 2)))
+    del tmp17
+    tmp19 += np.transpose(tmp18, (1, 0, 3, 2))
+    del tmp18
+    tmp22 = np.copy(tmp20) * -0.5
+    del tmp20
+    tmp22 += np.transpose(tmp21, (1, 0, 3, 2)) * -1
+    del tmp21
+    tmp28 = np.copy(tmp23) * -1
+    del tmp23
+    tmp28 += tmp24
+    del tmp24
+    tmp28 += tmp25 * -1
+    del tmp25
+    tmp28 += tmp27
+    del tmp27
+    tmp28 += einsum(tmp16, (0, 1), r1, (2, 3), (0, 2, 1, 3))
+    tmp35 = einsum(r2, (0, 1, 2, 3), tmp34, (3, 4), (0, 1, 4, 2)) * -1
+    del tmp34
+    tmp29 = einsum(v.ovvv, (0, 1, 2, 3), r1, (4, 1), (4, 0, 2, 3))
+    tmp33 = np.copy(tmp30) * -1
+    del tmp30
+    tmp33 += np.transpose(tmp31, (1, 0, 2, 3))
+    del tmp31
+    tmp33 += np.transpose(tmp32, (1, 0, 2, 3))
+    del tmp32
+    tmp37 = einsum(t2, (0, 1, 2, 3), r2, (4, 5, 2, 3), (4, 5, 0, 1)) * -0.5
+    tmp37 += np.transpose(tmp7, (0, 1, 3, 2))
+    tmp3 = np.copy(ints.tmp15) * 0.5
+    tmp3 += ints.tmp24
+    tmp3 += ints.tmp32 * 0.25
+    tmp3 += ints.tmp21 * -0.25
+    tmp3 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -0.5
+    tmp4 = np.copy(ints.tmp11)
+    tmp4 += np.transpose(ints.tmp13, (0, 2, 1, 3)) * 2
+    tmp4 += np.transpose(ints.tmp20, (0, 2, 1, 3)) * 2
+    tmp4 += ints.tmp35 * 0.5
+    tmp4 += ints.tmp47
+    tmp4 += np.transpose(ints.tmp5, (1, 2, 0, 3))
+    tmp4 += ints.tmp23 * -0.5
+    tmp4 += ints.tmp28 * -1
+    tmp4 += ints.tmp31 * -2
+    tmp4 += np.transpose(ints.tmp41, (0, 2, 1, 3)) * -2
+    tmp4 += ints.tmp44 * -1
+    tmp4 += v.ooov * -1
+    tmp15 = np.copy(tmp0)
+    tmp15 += tmp2 * 0.5
+    tmp10 = einsum(t2, (0, 1, 2, 3), r1, (1, 3), (0, 2)) * 2
+    tmp10 += einsum(t2, (0, 1, 2, 3), tmp5, (1, 0, 4, 3), (4, 2)) * -1
+    tmp9 = np.copy(ints.tmp12)
+    tmp9 += ints.tmp19 * 0.5
+    tmp9 += ints.tmp22 * 0.5
+    tmp9 += ints.tmp2
+    tmp9 += ints.tmp30 * 0.5
+    tmp9 += ints.tmp33 * 0.5
+    tmp9 += ints.tmp39
+    tmp9 += ints.tmp43
+    tmp9 += ints.tmp45
+    tmp9 += ints.tmp7
+    tmp9 += f.ov * -1
+    tmp9 += ints.tmp27 * -1
+    tmp9 += ints.tmp3 * -1
+    tmp9 += ints.tmp4 * -1
+    tmp13 = np.copy(ints.tmp17) * 0.5
+    tmp13 += ints.tmp9
+    tmp13 += f.vv * -1
+    tmp6 = np.copy(ints.tmp10)
+    tmp6 += ints.tmp36
+    tmp6 += np.transpose(v.ovov, (0, 2, 3, 1)) * -1
+    tmp11 = np.copy(ints.tmp10)
+    tmp11 += np.transpose(v.ovov, (0, 2, 3, 1)) * -1
+    tmp8 = np.copy(ints.tmp29)
+    tmp8 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1
+    r2new = einsum(v.ovvv, (0, 1, 2, 3), tmp5, (4, 5, 0, 1), (5, 4, 2, 3)) * -1
+    r2new += einsum(r2, (0, 1, 2, 3), v.vvvv, (4, 5, 2, 3), (0, 1, 4, 5)) * 0.5
+    r2new += tmp19
+    r2new += np.transpose(tmp19, (1, 0, 2, 3)) * -1
+    del tmp19
+    r2new += tmp22
+    r2new += np.transpose(tmp22, (0, 1, 3, 2)) * -1
+    del tmp22
+    r2new += tmp28
+    r2new += np.transpose(tmp28, (0, 1, 3, 2)) * -1
+    r2new += np.transpose(tmp28, (1, 0, 2, 3)) * -1
+    r2new += np.transpose(tmp28, (1, 0, 3, 2))
+    del tmp28
+    r2new += np.transpose(tmp29, (0, 1, 3, 2))
+    r2new += np.transpose(tmp29, (1, 0, 3, 2)) * -1
+    del tmp29
+    r2new += np.transpose(tmp33, (1, 0, 2, 3)) * -1
+    r2new += np.transpose(tmp33, (1, 0, 3, 2))
+    del tmp33
+    r2new += np.transpose(tmp35, (1, 0, 2, 3))
+    r2new += np.transpose(tmp35, (1, 0, 3, 2)) * -1
+    del tmp35
+    r2new += einsum(r2, (0, 1, 2, 3), tmp36, (0, 1, 4, 5), (4, 5, 2, 3)) * -1
+    del tmp36
+    r2new += einsum(v.oovv, (0, 1, 2, 3), tmp37, (4, 5, 0, 1), (5, 4, 2, 3)) * 0.5
+    del tmp37
+    r1new = einsum(ints.tmp29, (0, 1, 2, 3), tmp0, (0, 2), (1, 3)) * -1
+    del tmp0
+    r1new += einsum(tmp1, (0, 1), v.ovvv, (2, 0, 3, 1), (2, 3)) * 0.5
+    del tmp1
+    r1new += einsum(ints.tmp29, (0, 1, 2, 3), tmp2, (0, 2), (1, 3)) * -0.5
+    del tmp2
+    r1new += einsum(tmp3, (0, 1, 2, 3), r2, (4, 0, 1, 2), (4, 3))
+    del tmp3
+    r1new += einsum(r2, (0, 1, 2, 3), tmp4, (0, 1, 4, 3), (4, 2)) * 0.5
+    del tmp4
+    r1new += einsum(tmp5, (0, 1, 2, 3), tmp6, (0, 2, 3, 4), (1, 4)) * -1
+    del tmp5, tmp6
+    r1new += einsum(tmp8, (0, 1, 2, 3), tmp7, (4, 0, 2, 1), (4, 3)) * -0.5
+    del tmp7, tmp8
+    r1new += einsum(r2, (0, 1, 2, 3), tmp9, (1, 3), (0, 2)) * -1
+    del tmp9
+    r1new += einsum(v.oovv, (0, 1, 2, 3), tmp10, (1, 3), (0, 2)) * 0.5
+    del tmp10
+    r1new += einsum(tmp11, (0, 1, 2, 3), r1, (0, 2), (1, 3))
+    del tmp11
+    r1new += einsum(v.ooov, (0, 1, 2, 3), tmp12, (2, 1), (0, 3)) * 0.5
+    del tmp12
+    r1new += einsum(r1, (0, 1), tmp13, (1, 2), (0, 2)) * -1
+    del tmp13
+    r1new += einsum(tmp14, (0, 1), r1, (0, 2), (1, 2)) * -1
+    del tmp14
+    r1new += einsum(tmp15, (0, 1), tmp16, (1, 2), (0, 2)) * -1
+    del tmp16, tmp15
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/GCCSDT/index.html b/reference/codegen/GCCSDT/index.html new file mode 100644 index 00000000..589e7586 --- /dev/null +++ b/reference/codegen/GCCSDT/index.html @@ -0,0 +1,222 @@ + + + + + + + + GCCSDT - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/GCCSDTQ/index.html b/reference/codegen/GCCSDTQ/index.html new file mode 100644 index 00000000..759252ea --- /dev/null +++ b/reference/codegen/GCCSDTQ/index.html @@ -0,0 +1,222 @@ + + + + + + + + GCCSDTQ - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/GCCSD_SD_1_1/index.html b/reference/codegen/GCCSD_SD_1_1/index.html new file mode 100644 index 00000000..efcc3856 --- /dev/null +++ b/reference/codegen/GCCSD_SD_1_1/index.html @@ -0,0 +1,222 @@ + + + + + + + + GCCSD SD 1 1 - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/GCCSD_SD_1_2/index.html b/reference/codegen/GCCSD_SD_1_2/index.html new file mode 100644 index 00000000..3159d282 --- /dev/null +++ b/reference/codegen/GCCSD_SD_1_2/index.html @@ -0,0 +1,222 @@ + + + + + + + + GCCSD SD 1 2 - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/GCCSD_S_1_1/index.html b/reference/codegen/GCCSD_S_1_1/index.html new file mode 100644 index 00000000..f4cd2adb --- /dev/null +++ b/reference/codegen/GCCSD_S_1_1/index.html @@ -0,0 +1,222 @@ + + + + + + + + GCCSD S 1 1 - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/GCCSDwtwp/index.html b/reference/codegen/GCCSDwtwp/index.html new file mode 100644 index 00000000..029f2936 --- /dev/null +++ b/reference/codegen/GCCSDwtwp/index.html @@ -0,0 +1,2043 @@ + + + + + + + + GCCSDwtwp - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

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]
  • +
  • albert version: 0.0.0
  • +
  • caller: /home/ollie/git/albert/albert/codegen/einsum.py
  • +
  • node: ollie-desktop
  • +
  • system: Linux
  • +
  • processor: x86_64
  • +
  • release: 6.8.0-40-generic
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.GCCSDwtwp.energy(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-09-27T21:44:58.384057.

+

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.

+ +
+ Source code in ebcc/codegen/GCCSDwtwp.py +
20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
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.
+
+    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), (0, 2, 1, 3)) * 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
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GCCSDwtwp.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.

+

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.

+ +
+ Source code in ebcc/codegen/GCCSDwtwp.py +
 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+845
+846
+847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
+858
+859
+860
+861
+862
+863
+864
+865
+866
+867
+868
+869
+870
+871
+872
+873
+874
+875
+876
+877
+878
+879
+880
+881
+882
+883
+884
+885
+886
+887
+888
+889
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.
+
+    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)])
+    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)])
+
+    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))
+    tmp115 = einsum(t1_oV, (0, 1), v.oovv, (2, 0, 3, 4), (2, 3, 4, 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
+    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))
+    tmp147 = einsum(t1_oV, (0, 1), tmp146, (0, 2, 3, 4), (2, 3, 4, 1)) * -1
+    del tmp146
+    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))
+    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
+    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))
+    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
+    tmp28 = einsum(v.OOVv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2)) * -1
+    tmp4 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 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
+    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
+    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
+    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
+    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))
+    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))
+    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
+    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))
+    del tmp91
+    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
+    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
+    del tmp28
+    tmp27 = einsum(v.OoVv, (0, 1, 2, 3), t1, (1, 3), (0, 2))
+    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))
+    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))
+    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
+    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))
+    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
+    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(t1, (0, 1), tmp32, (2, 3, 0, 4), (2, 3, 1, 4))
+    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(t1, (0, 1), tmp48, (2, 3, 0, 4), (2, 3, 1, 4)) * 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(t1, (0, 1), tmp53, (2, 3, 0, 4), (3, 2, 1, 4)) * -1
+    del tmp53
+    t1new_OV = einsum(v.OOVV, (0, 1, 2, 3), t3, (4, 0, 1, 5, 2, 3), (4, 5)) * 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(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(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
+    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
+    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)
+    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/reference/codegen/GCCSDxTx/index.html b/reference/codegen/GCCSDxTx/index.html new file mode 100644 index 00000000..b005d9d0 --- /dev/null +++ b/reference/codegen/GCCSDxTx/index.html @@ -0,0 +1,222 @@ + + + + + + + + GCCSDxTx - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/GMP2/index.html b/reference/codegen/GMP2/index.html new file mode 100644 index 00000000..2a28dadc --- /dev/null +++ b/reference/codegen/GMP2/index.html @@ -0,0 +1,1096 @@ + + + + + + + + GMP2 - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-17T12:50:33.889738
  • +
  • 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.8.0-40-generic
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.GMP2.energy(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:50:33.926346.

+

Parameters

+

t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

e_mp : array

+ +
+ Source code in ebcc/codegen/GMP2.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
def energy(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:50:33.926346.
+
+    Parameters
+    ----------
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    e_mp : array
+    """
+
+    e_mp = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 2, 3), ()) * 0.25
+
+    return e_mp
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GMP2.make_rdm1_f(l2=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:50:34.001989.

+

Parameters

+

l2 : array + L2 amplitudes. +t2 : array + T2 amplitudes.

+

Returns

+

rdm1 : array + One-particle reduced density matrix.

+ +
+ Source code in ebcc/codegen/GMP2.py +
39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
def make_rdm1_f(l2=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:50:34.001989.
+
+    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.vv = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 0, 1), (4, 2)) * 0.5
+    rdm1.oo = np.copy(delta.oo)
+    del delta
+    rdm1.oo += einsum(l2, (0, 1, 2, 3), t2, (4, 3, 0, 1), (4, 2)) * -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
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GMP2.make_rdm2_f(l2=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:50:34.016048.

+

Parameters

+

l2 : array + L2 amplitudes. +t2 : array + T2 amplitudes.

+

Returns

+

rdm2 : array + Two-particle reduced density matrix.

+ +
+ Source code in ebcc/codegen/GMP2.py +
 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
def make_rdm2_f(l2=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:50:34.016048.
+
+    Parameters
+    ----------
+    l2 : array
+        L2 amplitudes.
+    t2 : array
+        T2 amplitudes.
+
+    Returns
+    -------
+    rdm2 : array
+        Two-particle reduced density matrix.
+    """
+
+    rdm2 = Namespace()
+    rdm2.vvoo = np.copy(l2)
+    rdm2.oovv = np.copy(t2)
+    rdm2.oooo = np.zeros((t2.shape[0], t2.shape[0], t2.shape[0], t2.shape[0]))
+    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.ovov = np.zeros((t2.shape[0], t2.shape[-1], t2.shape[0], t2.shape[-1]))
+    rdm2.ovvo = np.zeros((t2.shape[0], t2.shape[-1], t2.shape[-1], t2.shape[0]))
+    rdm2.voov = np.zeros((t2.shape[-1], t2.shape[0], t2.shape[0], t2.shape[-1]))
+    rdm2.vovo = np.zeros((t2.shape[-1], t2.shape[0], t2.shape[-1], 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.vvvv = np.zeros((t2.shape[-1], t2.shape[-1], t2.shape[-1], t2.shape[-1]))
+    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))
+    rdm1 = make_rdm1_f(t2=t2, l2=l2)
+    delta = np.diag(np.concatenate([np.ones(t2.shape[0]), np.zeros(t2.shape[-1])]))
+    rdm1 -= delta
+    rdm2 += einsum(delta, (0, 1), rdm1, (3, 2), (0, 1, 2, 3))
+    rdm2 += einsum(rdm1, (1, 0), delta, (2, 3), (0, 1, 2, 3))
+    rdm2 -= einsum(delta, (0, 3), rdm1, (2, 1), (0, 1, 2, 3))
+    rdm2 -= einsum(rdm1, (0, 3), delta, (1, 2), (0, 1, 2, 3))
+    rdm2 += einsum(delta, (0, 1), delta, (2, 3), (0, 1, 2, 3))
+    rdm2 -= einsum(delta, (0, 3), delta, (1, 2), (0, 1, 2, 3))
+
+    return rdm2
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GMP2.hbar_matvec_ip_intermediates(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:50:34.562235.

+

Parameters

+

t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array

+ +
+ Source code in ebcc/codegen/GMP2.py +
119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
def hbar_matvec_ip_intermediates(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:50:34.562235.
+
+    Parameters
+    ----------
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    """
+
+    tmp0 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4))
+
+    return {f"tmp0": tmp0}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GMP2.hbar_matvec_ip(f=None, r1=None, r2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:50:34.563471.

+

Parameters

+

f : array + Fock matrix. +r1 : array + R1 amplitudes. +r2 : array + R2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

r1new : array + Updated R1 residuals. +r2new : array + Updated R2 residuals.

+ +
+ Source code in ebcc/codegen/GMP2.py +
139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
def hbar_matvec_ip(f=None, r1=None, r2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:50:34.563471.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    r1 : array
+        R1 amplitudes.
+    r2 : array
+        R2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    r1new : array
+        Updated R1 residuals.
+    r2new : array
+        Updated R2 residuals.
+    """
+
+    ints = kwargs["ints"]
+    tmp1 = einsum(r2, (0, 1, 2), f.oo, (3, 1), (3, 0, 2))
+    tmp0 = np.copy(f.oo) * 4
+    tmp0 += ints.tmp0
+    tmp0 += np.transpose(ints.tmp0, (1, 0))
+    del ints.tmp0
+    r2new = einsum(f.vv, (0, 1), r2, (2, 3, 1), (2, 3, 0))
+    r2new += einsum(v.ooov, (0, 1, 2, 3), r1, (2,), (0, 1, 3)) * -1
+    r2new += tmp1
+    r2new += np.transpose(tmp1, (1, 0, 2)) * -1
+    del tmp1
+    r1new = einsum(r2, (0, 1, 2), v.ovoo, (3, 2, 0, 1), (3,)) * -0.5
+    r1new += einsum(r1, (0,), tmp0, (0, 1), (1,)) * -0.25
+    del tmp0
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GMP2.hbar_matvec_ea_intermediates(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:50:35.060732.

+

Parameters

+

t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array

+ +
+ Source code in ebcc/codegen/GMP2.py +
179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
def hbar_matvec_ea_intermediates(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:50:35.060732.
+
+    Parameters
+    ----------
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    """
+
+    tmp0 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4))
+
+    return {f"tmp0": tmp0}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GMP2.hbar_matvec_ea(f=None, r1=None, r2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:50:35.062043.

+

Parameters

+

f : array + Fock matrix. +r1 : array + R1 amplitudes. +r2 : array + R2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

r1new : array + Updated R1 residuals. +r2new : array + Updated R2 residuals.

+ +
+ Source code in ebcc/codegen/GMP2.py +
199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
def hbar_matvec_ea(f=None, r1=None, r2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:50:35.062043.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    r1 : array
+        R1 amplitudes.
+    r2 : array
+        R2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    r1new : array
+        Updated R1 residuals.
+    r2new : array
+        Updated R2 residuals.
+    """
+
+    ints = kwargs["ints"]
+    tmp1 = einsum(f.vv, (0, 1), r2, (2, 1, 3), (3, 0, 2))
+    tmp0 = np.copy(f.vv) * -1
+    tmp0 += ints.tmp0 * 0.25
+    tmp0 += np.transpose(ints.tmp0, (1, 0)) * 0.25
+    del ints.tmp0
+    r2new = einsum(r1, (0,), v.ovvv, (1, 0, 2, 3), (2, 3, 1)) * -1
+    r2new += einsum(f.oo, (0, 1), r2, (2, 3, 1), (2, 3, 0)) * -1
+    r2new += np.transpose(tmp1, (1, 2, 0)) * -1
+    r2new += np.transpose(tmp1, (2, 1, 0))
+    del tmp1
+    r1new = einsum(r2, (0, 1, 2), v.ovvv, (2, 3, 0, 1), (3,)) * -0.5
+    r1new += einsum(tmp0, (0, 1), r1, (0,), (1,)) * -1
+    del tmp0
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GMP2.hbar_matvec_ee_intermediates(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:50:36.102028.

+

Parameters

+

t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp1 : array

+ +
+ Source code in ebcc/codegen/GMP2.py +
239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
def hbar_matvec_ee_intermediates(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:50:36.102028.
+
+    Parameters
+    ----------
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp1 : array
+    """
+
+    tmp1 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4))
+    tmp0 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 2, 3), (0, 4))
+
+    return {f"tmp0": tmp0, f"tmp1": tmp1}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GMP2.hbar_matvec_ee(f=None, r1=None, r2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:50:36.104342.

+

Parameters

+

f : array + Fock matrix. +r1 : array + R1 amplitudes. +r2 : array + R2 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

r1new : array + Updated R1 residuals. +r2new : array + Updated R2 residuals.

+ +
+ Source code in ebcc/codegen/GMP2.py +
261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
def hbar_matvec_ee(f=None, r1=None, r2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:50:36.104342.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    r1 : array
+        R1 amplitudes.
+    r2 : array
+        R2 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    r1new : array
+        Updated R1 residuals.
+    r2new : array
+        Updated R2 residuals.
+    """
+
+    ints = kwargs["ints"]
+    tmp3 = einsum(v.ooov, (0, 1, 2, 3), r1, (2, 4), (0, 1, 4, 3))
+    tmp4 = einsum(f.vv, (0, 1), r2, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp7 = einsum(r1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp6 = einsum(r2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3))
+    tmp5 = np.copy(np.transpose(tmp3, (1, 0, 2, 3))) * -1
+    del tmp3
+    tmp5 += np.transpose(tmp4, (1, 0, 2, 3)) * -1
+    del tmp4
+    tmp8 = np.copy(np.transpose(tmp6, (0, 1, 3, 2))) * -1
+    del tmp6
+    tmp8 += np.transpose(tmp7, (0, 1, 3, 2))
+    del tmp7
+    tmp2 = np.copy(f.oo)
+    tmp2 += np.transpose(ints.tmp0, (1, 0)) * 0.5
+    del ints.tmp0
+    tmp1 = np.copy(f.vv)
+    tmp1 += np.transpose(ints.tmp1, (1, 0)) * -0.5
+    del ints.tmp1
+    tmp0 = einsum(v.oovv, (0, 1, 2, 3), r1, (1, 3), (0, 2))
+    r2new = np.copy(tmp5) * -1
+    r2new += np.transpose(tmp5, (0, 1, 3, 2))
+    del tmp5
+    r2new += tmp8
+    r2new += np.transpose(tmp8, (1, 0, 2, 3)) * -1
+    del tmp8
+    r1new = einsum(tmp0, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    del tmp0
+    r1new += einsum(v.ovvv, (0, 1, 2, 3), r2, (4, 0, 2, 3), (4, 1)) * -0.5
+    r1new += einsum(r2, (0, 1, 2, 3), v.ovoo, (4, 3, 0, 1), (4, 2)) * -0.5
+    r1new += einsum(r1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3)) * -1
+    r1new += einsum(r1, (0, 1), tmp1, (1, 2), (0, 2))
+    del tmp1
+    r1new += einsum(r1, (0, 1), tmp2, (0, 2), (2, 1)) * -1
+    del tmp2
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/GMP3/index.html b/reference/codegen/GMP3/index.html new file mode 100644 index 00000000..098bad02 --- /dev/null +++ b/reference/codegen/GMP3/index.html @@ -0,0 +1,314 @@ + + + + + + + + GMP3 - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-09T21:27:40.383646
  • +
  • python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0]
  • +
  • albert version: 0.0.0
  • +
  • caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py
  • +
  • node: fv-az1487-369
  • +
  • system: Linux
  • +
  • processor: x86_64
  • +
  • release: 6.5.0-1025-azure
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.GMP3.energy(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T21:27:40.838811.

+

Parameters

+

t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

e_mp : array

+ +
+ Source code in ebcc/codegen/GMP3.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
def energy(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T21:27:40.838811.
+
+    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, 4, 5, 1))
+    e_mp = einsum(v.oooo, (0, 1, 2, 3), tmp0, (3, 0, 1, 2), ()) * -0.125
+    del tmp0
+    tmp1 = np.copy(v.oovv) * 2
+    tmp1 += einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (0, 4, 3, 5)) * -8
+    tmp1 += einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1))
+    e_mp += einsum(tmp1, (0, 1, 2, 3), t2, (0, 1, 2, 3), ()) * 0.125
+    del tmp1
+
+    return e_mp
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/GQCISD/index.html b/reference/codegen/GQCISD/index.html new file mode 100644 index 00000000..c482f333 --- /dev/null +++ b/reference/codegen/GQCISD/index.html @@ -0,0 +1,511 @@ + + + + + + + + GQCISD - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-09T21:55:20.532664
  • +
  • python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0]
  • +
  • albert version: 0.0.0
  • +
  • caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py
  • +
  • node: fv-az1487-369
  • +
  • system: Linux
  • +
  • processor: x86_64
  • +
  • release: 6.5.0-1025-azure
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.GQCISD.energy(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T21:55:20.595081.

+

Parameters

+

t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

e_cc : float + Coupled cluster energy.

+ +
+ Source code in ebcc/codegen/GQCISD.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
def energy(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T21:55:20.595081.
+
+    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), ()) * 0.25
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.GQCISD.update_amps(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T21:55:22.609007.

+

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.

+ +
+ Source code in ebcc/codegen/GQCISD.py +
 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
def update_amps(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T21:55:22.609007.
+
+    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, (4, 1, 2, 3), (0, 4))
+    tmp9 = einsum(v.ooov, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3))
+    tmp10 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp4 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp6 = einsum(t2, (0, 1, 2, 3), v.oovv, (0, 1, 4, 3), (2, 4))
+    tmp8 = einsum(tmp2, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4))
+    t2new = np.copy(np.transpose(tmp8, (1, 0, 3, 2))) * -0.5
+    t2new += np.transpose(tmp8, (0, 1, 3, 2)) * 0.5
+    del tmp8
+    tmp15 = np.copy(v.oooo) * 2
+    tmp15 += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 5, 2, 3), (0, 1, 4, 5))
+    t2new += einsum(t2, (0, 1, 2, 3), tmp15, (0, 1, 4, 5), (4, 5, 2, 3)) * 0.25
+    del tmp15
+    tmp11 = np.copy(np.transpose(tmp9, (1, 0, 2, 3))) * -1
+    del tmp9
+    tmp11 += np.transpose(tmp10, (1, 0, 2, 3)) * -1
+    del tmp10
+    t2new += np.transpose(tmp11, (0, 1, 3, 2))
+    t2new += tmp11 * -1
+    del tmp11
+    tmp5 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp4
+    t2new += np.transpose(tmp5, (0, 1, 3, 2)) * -1
+    t2new += tmp5
+    del tmp5
+    tmp14 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    t2new += np.transpose(tmp14, (1, 0, 3, 2)) * -1
+    t2new += np.transpose(tmp14, (1, 0, 2, 3))
+    t2new += np.transpose(tmp14, (0, 1, 3, 2))
+    t2new += tmp14 * -1
+    del tmp14
+    tmp13 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3))
+    t2new += np.transpose(tmp13, (1, 0, 3, 2))
+    t2new += np.transpose(tmp13, (0, 1, 3, 2)) * -1
+    del tmp13
+    tmp7 = einsum(tmp6, (0, 1), t2, (2, 3, 4, 1), (2, 3, 4, 0))
+    del tmp6
+    t2new += np.transpose(tmp7, (0, 1, 3, 2)) * 0.5
+    t2new += tmp7 * -0.5
+    del tmp7
+    tmp12 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    t2new += np.transpose(tmp12, (1, 0, 3, 2)) * -1
+    t2new += np.transpose(tmp12, (0, 1, 3, 2))
+    del tmp12
+    tmp0 = np.copy(np.transpose(v.ovoo, (0, 2, 3, 1))) * -1
+    tmp0 += einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    t1new = einsum(t2, (0, 1, 2, 3), tmp0, (4, 0, 1, 3), (4, 2)) * 0.5
+    del tmp0
+    tmp3 = np.copy(f.oo) * 2
+    tmp3 += np.transpose(tmp2, (1, 0))
+    del tmp2
+    t1new += einsum(tmp3, (0, 1), t1, (0, 2), (1, 2)) * -0.5
+    del tmp3
+    tmp1 = np.copy(f.ov)
+    tmp1 += einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2))
+    t1new += einsum(t2, (0, 1, 2, 3), tmp1, (1, 3), (0, 2))
+    del tmp1
+    t1new += einsum(v.ovov, (0, 1, 2, 3), t1, (2, 1), (0, 3)) * -1
+    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 += v.oovv
+    t2new += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 5, 2, 3), (0, 1, 4, 5)) * 0.5
+
+    return {f"t1new": t1new, f"t2new": t2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/RCC2/index.html b/reference/codegen/RCC2/index.html new file mode 100644 index 00000000..72bcd889 --- /dev/null +++ b/reference/codegen/RCC2/index.html @@ -0,0 +1,5222 @@ + + + + + + + + RCC2 - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-17T18:49:57.047939
  • +
  • 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.8.0-40-generic
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.RCC2.energy(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:49:57.458527.

+

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.

+ +
+ Source code in ebcc/codegen/RCC2.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
def energy(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:49:57.458527.
+
+    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))) * -0.5
+    tmp0 += np.transpose(v.ovov, (0, 2, 1, 3))
+    tmp1 = np.copy(f.ov)
+    tmp1 += einsum(t1, (0, 1), tmp0, (0, 2, 1, 3), (2, 3))
+    del tmp0
+    e_cc = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 1, 3), ()) * 2
+    e_cc += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 3, 1), ()) * -1
+    e_cc += einsum(tmp1, (0, 1), t1, (0, 1), ()) * 2
+    del tmp1
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCC2.update_amps(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:50:00.941842.

+

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.

+ +
+ Source code in ebcc/codegen/RCC2.py +
 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
def update_amps(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:50:00.941842.
+
+    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.
+    """
+
+    tmp23 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp14 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp15 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp2 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1))
+    tmp24 = einsum(tmp23, (0, 1, 2, 3), t1, (3, 4), (0, 2, 1, 4))
+    del tmp23
+    tmp22 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp16 = np.copy(tmp14)
+    del tmp14
+    tmp16 += np.transpose(tmp15, (2, 0, 1, 3))
+    del tmp15
+    tmp8 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp29 = np.copy(v.oooo)
+    tmp29 += einsum(t1, (0, 1), tmp2, (2, 3, 4, 1), (3, 0, 2, 4))
+    tmp21 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2))
+    tmp25 = einsum(tmp24, (0, 1, 2, 3), t1, (1, 4), (0, 2, 4, 3))
+    del tmp24
+    tmp27 = einsum(t1, (0, 1), tmp22, (2, 3, 1, 4), (0, 2, 3, 4))
+    tmp17 = einsum(t1, (0, 1), tmp16, (0, 2, 3, 4), (2, 3, 4, 1))
+    del tmp16
+    tmp13 = einsum(t2, (0, 1, 2, 3), tmp8, (1, 4), (4, 0, 2, 3))
+    tmp4 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1
+    tmp4 += np.transpose(v.ovov, (0, 2, 1, 3)) * 2
+    tmp9 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1
+    tmp9 += np.transpose(v.ovov, (0, 2, 1, 3)) * 2
+    tmp10 = np.copy(v.ooov)
+    tmp10 += np.transpose(v.ooov, (0, 2, 1, 3)) * -0.5
+    tmp0 = np.copy(t2)
+    tmp0 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    tmp30 = np.copy(np.transpose(v.ooov, (0, 2, 1, 3))) * -1
+    tmp30 += einsum(t1, (0, 1), tmp29, (0, 2, 3, 4), (3, 2, 4, 1))
+    del tmp29
+    tmp19 = einsum(tmp2, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3))
+    tmp12 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp26 = np.copy(tmp21)
+    del tmp21
+    tmp26 += tmp22
+    del tmp22
+    tmp26 += tmp25
+    del tmp25
+    tmp28 = einsum(tmp27, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3))
+    del tmp27
+    tmp20 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3))
+    tmp18 = np.copy(tmp13)
+    del tmp13
+    tmp18 += np.transpose(tmp17, (0, 1, 3, 2))
+    del tmp17
+    tmp1 = np.copy(v.ovvv)
+    tmp1 += np.transpose(v.ovvv, (0, 2, 1, 3)) * -0.5
+    tmp3 = np.copy(v.ooov)
+    tmp3 += np.transpose(v.ooov, (0, 2, 1, 3)) * -0.5
+    tmp3 += tmp2 * -0.5
+    tmp3 += np.transpose(tmp2, (0, 2, 1, 3))
+    del tmp2
+    tmp5 = np.copy(f.ov)
+    tmp5 += einsum(t1, (0, 1), tmp4, (0, 2, 1, 3), (2, 3))
+    del tmp4
+    tmp7 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * 2
+    tmp7 += v.oovv * -1
+    tmp6 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp6 += t2 * -1
+    tmp11 = np.copy(f.oo) * 0.5
+    tmp11 += tmp8 * 0.5
+    del tmp8
+    tmp11 += einsum(tmp0, (0, 1, 2, 3), tmp9, (0, 4, 2, 3), (4, 1)) * 0.5
+    del tmp9
+    tmp11 += einsum(tmp10, (0, 1, 2, 3), t1, (2, 3), (1, 0))
+    del tmp10
+    t2new = np.copy(np.transpose(v.ovov, (0, 2, 1, 3)))
+    t2new += einsum(v.ovoo, (0, 1, 2, 3), t1, (3, 4), (0, 2, 1, 4)) * -1
+    t2new += einsum(tmp12, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3))
+    del tmp12
+    t2new += np.transpose(tmp18, (0, 1, 3, 2)) * -1
+    t2new += np.transpose(tmp18, (1, 0, 2, 3)) * -1
+    del tmp18
+    t2new += tmp19 * -1
+    t2new += np.transpose(tmp19, (1, 0, 3, 2)) * -1
+    del tmp19
+    t2new += np.transpose(tmp20, (0, 1, 3, 2)) * -1
+    t2new += np.transpose(tmp20, (1, 0, 2, 3)) * -1
+    del tmp20
+    t2new += np.transpose(tmp26, (0, 1, 3, 2))
+    t2new += np.transpose(tmp26, (1, 0, 2, 3))
+    del tmp26
+    t2new += tmp28 * -1
+    t2new += np.transpose(tmp28, (1, 0, 3, 2)) * -1
+    del tmp28
+    t2new += einsum(t1, (0, 1), tmp30, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp30
+    t1new = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    t1new += f.ov
+    t1new += einsum(tmp0, (0, 1, 2, 3), tmp1, (0, 2, 3, 4), (1, 4)) * 2
+    del tmp0, tmp1
+    t1new += einsum(t2, (0, 1, 2, 3), tmp3, (4, 0, 1, 3), (4, 2)) * -2
+    del tmp3
+    t1new += einsum(tmp5, (0, 1), tmp6, (0, 2, 3, 1), (2, 3))
+    del tmp5, tmp6
+    t1new += einsum(tmp7, (0, 1, 2, 3), t1, (0, 2), (1, 3))
+    del tmp7
+    t1new += einsum(t1, (0, 1), tmp11, (0, 2), (2, 1)) * -2
+    del tmp11
+
+    return {f"t1new": t1new, f"t2new": t2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCC2.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-17T18:50:31.277195.

+

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.

+ +
+ Source code in ebcc/codegen/RCC2.py +
179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
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-17T18:50:31.277195.
+
+    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.
+    """
+
+    tmp80 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1
+    tmp80 += np.transpose(v.ovov, (0, 2, 1, 3)) * 2
+    tmp81 = einsum(t1, (0, 1), tmp80, (0, 2, 1, 3), (2, 3))
+    del tmp80
+    tmp8 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1))
+    tmp17 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0))
+    tmp24 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3))
+    tmp79 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 2))
+    tmp82 = einsum(t1, (0, 1), tmp81, (2, 1), (0, 2))
+    tmp70 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp5 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.5
+    tmp5 += np.transpose(v.ovov, (0, 2, 1, 3))
+    tmp2 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp26 = einsum(tmp8, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp16 = np.copy(np.transpose(t2, (0, 1, 3, 2)))
+    tmp16 += t2 * -0.5
+    tmp36 = einsum(tmp17, (0, 1, 2, 3), t1, (4, 3), (1, 0, 2, 4))
+    tmp35 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5))
+    tmp102 = einsum(v.ooov, (0, 1, 2, 3), t1, (2, 3), (0, 1))
+    tmp65 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 1), (2, 3))
+    tmp73 = np.copy(v.oovv)
+    tmp73 += np.transpose(tmp24, (0, 1, 3, 2))
+    tmp75 = np.copy(tmp17) * -1
+    tmp75 += np.transpose(tmp17, (1, 0, 2, 3)) * 2
+    tmp83 = np.copy(tmp79)
+    del tmp79
+    tmp83 += tmp82 * -1
+    del tmp82
+    tmp71 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1)))
+    tmp71 += tmp70
+    del tmp70
+    tmp69 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * 2
+    tmp69 += np.transpose(l2, (2, 3, 0, 1)) * -1
+    tmp77 = np.copy(tmp8) * 2
+    tmp77 += np.transpose(tmp8, (0, 2, 1, 3)) * -1
+    tmp51 = einsum(l1, (0, 1), t1, (2, 0), (1, 2))
+    tmp89 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp12 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp6 = einsum(t1, (0, 1), tmp5, (0, 2, 1, 3), (2, 3)) * 2
+    del tmp5
+    tmp1 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp3 = einsum(tmp2, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4))
+    del tmp2
+    tmp27 = einsum(t1, (0, 1), tmp26, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp25 = einsum(tmp24, (0, 1, 2, 3), t1, (4, 3), (0, 4, 1, 2))
+    del tmp24
+    tmp52 = einsum(tmp16, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1))
+    tmp37 = np.copy(np.transpose(tmp35, (1, 0, 3, 2)))
+    tmp37 += tmp36
+    tmp103 = einsum(tmp102, (0, 1), l2, (2, 3, 4, 1), (4, 0, 2, 3))
+    del tmp102
+    tmp101 = einsum(v.ooov, (0, 1, 2, 3), l1, (4, 1), (0, 2, 4, 3))
+    tmp66 = einsum(l2, (0, 1, 2, 3), tmp65, (4, 1), (2, 3, 0, 4))
+    del tmp65
+    tmp74 = einsum(l2, (0, 1, 2, 3), tmp73, (3, 4, 1, 5), (2, 4, 0, 5))
+    tmp76 = einsum(tmp75, (0, 1, 2, 3), v.ovoo, (4, 5, 0, 2), (4, 1, 5, 3))
+    del tmp75
+    tmp84 = einsum(tmp83, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3))
+    del tmp83
+    tmp67 = einsum(v.ovvv, (0, 1, 2, 3), tmp17, (4, 5, 0, 3), (5, 4, 1, 2))
+    tmp72 = einsum(tmp71, (0, 1, 2, 3), tmp69, (0, 4, 5, 3), (4, 1, 5, 2))
+    del tmp71, tmp69
+    tmp78 = einsum(tmp77, (0, 1, 2, 3), tmp17, (4, 0, 2, 5), (4, 1, 5, 3))
+    del tmp77
+    tmp64 = einsum(v.ooov, (0, 1, 2, 3), tmp17, (4, 1, 2, 5), (4, 0, 5, 3))
+    tmp85 = einsum(tmp81, (0, 1), tmp17, (2, 3, 0, 4), (2, 3, 4, 1))
+    tmp68 = einsum(tmp8, (0, 1, 2, 3), tmp17, (0, 4, 2, 5), (4, 1, 5, 3))
+    tmp99 = einsum(tmp51, (0, 1), v.ovov, (2, 3, 1, 4), (0, 2, 3, 4))
+    tmp98 = einsum(tmp8, (0, 1, 2, 3), l1, (4, 0), (1, 2, 4, 3))
+    tmp97 = einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3))
+    tmp88 = einsum(l1, (0, 1), v.ovvv, (2, 3, 4, 0), (1, 2, 3, 4))
+    tmp91 = einsum(f.ov, (0, 1), tmp17, (2, 3, 0, 4), (2, 3, 1, 4))
+    tmp95 = einsum(l2, (0, 1, 2, 3), tmp73, (2, 4, 1, 5), (3, 4, 0, 5))
+    del tmp73
+    tmp94 = einsum(tmp8, (0, 1, 2, 3), tmp17, (0, 4, 1, 5), (4, 2, 5, 3))
+    tmp90 = einsum(tmp89, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3))
+    del tmp89
+    tmp87 = einsum(l2, (0, 1, 2, 3), f.vv, (4, 1), (2, 3, 4, 0))
+    tmp93 = einsum(v.ooov, (0, 1, 2, 3), tmp17, (1, 4, 2, 5), (4, 0, 5, 3))
+    tmp92 = einsum(tmp12, (0, 1, 2, 3), l2, (4, 5, 0, 1), (2, 3, 4, 5))
+    tmp105 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2))
+    tmp60 = np.copy(f.ov)
+    tmp60 += tmp6
+    tmp62 = np.copy(v.ooov)
+    tmp62 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -0.5
+    tmp15 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp15 += t2 * 2
+    tmp33 = np.copy(tmp17) * 2
+    tmp33 += np.transpose(tmp17, (1, 0, 2, 3)) * -1
+    tmp9 = np.copy(v.ooov) * 2
+    tmp9 += np.transpose(v.ooov, (0, 2, 1, 3)) * -1
+    tmp9 += tmp8 * -1
+    tmp9 += np.transpose(tmp8, (0, 2, 1, 3)) * 2
+    tmp4 = np.copy(tmp1) * 0.5
+    del tmp1
+    tmp4 += tmp3 * -0.5
+    del tmp3
+    tmp10 = np.copy(v.ooov) * -0.5
+    tmp10 += np.transpose(v.ooov, (0, 2, 1, 3))
+    tmp10 += tmp8
+    tmp10 += np.transpose(tmp8, (0, 2, 1, 3)) * -0.5
+    tmp7 = einsum(t2, (0, 1, 2, 3), tmp6, (4, 2), (0, 1, 4, 3))
+    del tmp6
+    tmp13 = np.copy(np.transpose(v.oooo, (0, 2, 1, 3))) * 2
+    tmp13 += v.oooo * -1
+    tmp13 += np.transpose(tmp12, (2, 1, 0, 3)) * -1
+    tmp13 += np.transpose(tmp12, (3, 2, 0, 1)) * 2
+    tmp11 = np.copy(v.oovv) * 2
+    tmp11 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1
+    tmp0 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp30 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * 2
+    tmp30 += v.oovv * -1
+    tmp31 = np.copy(np.transpose(tmp12, (0, 2, 1, 3))) * -1
+    tmp31 += np.transpose(tmp12, (0, 3, 2, 1)) * 2
+    del tmp12
+    tmp28 = np.copy(tmp25) * 2
+    del tmp25
+    tmp28 += tmp27 * -2
+    del tmp27
+    tmp29 = np.copy(v.ooov)
+    tmp29 += np.transpose(v.ooov, (0, 2, 1, 3)) * -0.5
+    tmp29 += tmp8 * -0.5
+    tmp29 += np.transpose(tmp8, (0, 2, 1, 3))
+    del tmp8
+    tmp18 = np.copy(tmp17) * -0.5
+    tmp18 += np.transpose(tmp17, (1, 0, 2, 3))
+    tmp53 = np.copy(tmp51) * 0.5
+    tmp53 += tmp52
+    del tmp52
+    tmp50 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp50 += t2 * -1
+    tmp47 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5
+    tmp47 += t2
+    tmp22 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * 2
+    tmp22 += np.transpose(l2, (2, 3, 0, 1)) * -1
+    tmp38 = einsum(tmp37, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4))
+    del tmp37
+    tmp39 = np.copy(tmp17) * -1
+    tmp39 += np.transpose(tmp17, (1, 0, 2, 3)) * 2
+    tmp41 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2))
+    tmp42 = np.copy(tmp17)
+    tmp42 += np.transpose(tmp17, (1, 0, 2, 3)) * -0.5
+    tmp58 = np.copy(v.ovvv)
+    tmp58 += np.transpose(v.ovvv, (0, 2, 1, 3)) * -0.5
+    tmp107 = np.copy(v.oooo)
+    tmp107 += np.transpose(tmp26, (0, 2, 3, 1))
+    del tmp26
+    tmp104 = np.copy(tmp101)
+    del tmp101
+    tmp104 += tmp103 * 2
+    del tmp103
+    tmp86 = einsum(l1, (0, 1), f.ov, (2, 3), (2, 1, 3, 0))
+    tmp86 += tmp64
+    del tmp64
+    tmp86 += tmp66 * 2
+    del tmp66
+    tmp86 += tmp67 * -1
+    del tmp67
+    tmp86 += tmp68
+    del tmp68
+    tmp86 += tmp72
+    del tmp72
+    tmp86 += tmp74 * -1
+    del tmp74
+    tmp86 += np.transpose(tmp76, (1, 0, 3, 2)) * -1
+    del tmp76
+    tmp86 += tmp78 * -1
+    del tmp78
+    tmp86 += np.transpose(tmp84, (0, 1, 3, 2))
+    del tmp84
+    tmp86 += tmp85 * -1
+    del tmp85
+    tmp86 += einsum(tmp81, (0, 1), l1, (2, 3), (3, 0, 2, 1))
+    del tmp81
+    tmp100 = np.copy(tmp97)
+    del tmp97
+    tmp100 += tmp98
+    del tmp98
+    tmp100 += tmp99
+    del tmp99
+    tmp96 = np.copy(tmp87)
+    del tmp87
+    tmp96 += tmp88
+    del tmp88
+    tmp96 += tmp90 * -1
+    del tmp90
+    tmp96 += tmp91 * -1
+    del tmp91
+    tmp96 += tmp92
+    del tmp92
+    tmp96 += tmp93
+    del tmp93
+    tmp96 += tmp94
+    del tmp94
+    tmp96 += tmp95 * -1
+    del tmp95
+    tmp106 = einsum(tmp105, (0, 1), l2, (2, 1, 3, 4), (3, 4, 2, 0))
+    del tmp105
+    tmp63 = np.copy(f.oo)
+    tmp63 += einsum(tmp15, (0, 1, 2, 3), v.ovov, (4, 3, 0, 2), (1, 4))
+    tmp63 += einsum(t1, (0, 1), tmp62, (2, 3, 0, 1), (3, 2)) * 2
+    del tmp62
+    tmp63 += einsum(tmp60, (0, 1), t1, (2, 1), (2, 0))
+    tmp34 = np.copy(np.transpose(l2, (3, 2, 0, 1)))
+    tmp34 += einsum(tmp33, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4))
+    del tmp33
+    tmp14 = np.copy(np.transpose(v.ooov, (0, 2, 1, 3))) * 0.5
+    tmp14 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1
+    tmp14 += np.transpose(tmp0, (1, 2, 0, 3)) * -1
+    tmp14 += np.transpose(tmp0, (2, 1, 0, 3)) * 0.5
+    del tmp0
+    tmp14 += tmp4
+    tmp14 += np.transpose(tmp4, (1, 0, 2, 3)) * -2
+    del tmp4
+    tmp14 += np.transpose(tmp7, (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)) * 0.5
+    del tmp9
+    tmp14 += einsum(t2, (0, 1, 2, 3), tmp10, (4, 5, 1, 2), (4, 0, 5, 3))
+    del tmp10
+    tmp14 += einsum(t1, (0, 1), tmp11, (2, 3, 1, 4), (0, 3, 2, 4)) * -0.5
+    del tmp11
+    tmp14 += einsum(t1, (0, 1), tmp13, (0, 2, 3, 4), (3, 2, 4, 1)) * 0.5
+    del tmp13
+    tmp49 = np.copy(v.ovvv) * -1
+    tmp49 += np.transpose(v.ovvv, (0, 2, 3, 1)) * 2
+    tmp44 = np.copy(tmp17) * 2
+    tmp44 += np.transpose(tmp17, (1, 0, 2, 3)) * -1
+    tmp32 = np.copy(tmp28) * -1
+    tmp32 += np.transpose(tmp28, (1, 0, 2, 3)) * 0.5
+    del tmp28
+    tmp32 += einsum(tmp16, (0, 1, 2, 3), tmp29, (4, 5, 0, 3), (4, 1, 5, 2)) * -4
+    del tmp29
+    tmp32 += einsum(t1, (0, 1), tmp30, (2, 3, 1, 4), (0, 3, 2, 4)) * -1
+    del tmp30
+    tmp32 += einsum(tmp31, (0, 1, 2, 3), t1, (3, 4), (0, 2, 1, 4))
+    del tmp31
+    tmp19 = einsum(l2, (0, 1, 2, 3), tmp15, (2, 4, 5, 1), (3, 4, 0, 5))
+    tmp19 += einsum(tmp16, (0, 1, 2, 3), l2, (4, 3, 5, 0), (5, 1, 4, 2)) * 2
+    tmp19 += einsum(t1, (0, 1), tmp18, (2, 0, 3, 4), (2, 3, 1, 4)) * 2
+    del tmp18
+    tmp45 = np.copy(tmp36)
+    tmp45 += np.transpose(tmp36, (0, 1, 3, 2)) * -0.5
+    tmp54 = np.copy(t1) * -0.5
+    tmp54 += einsum(tmp47, (0, 1, 2, 3), tmp17, (1, 0, 4, 3), (4, 2))
+    tmp54 += einsum(l1, (0, 1), tmp50, (1, 2, 3, 0), (2, 3)) * -0.5
+    del tmp50
+    tmp54 += einsum(t1, (0, 1), tmp53, (0, 2), (2, 1))
+    tmp23 = np.copy(np.transpose(l2, (2, 3, 0, 1)))
+    tmp23 += einsum(tmp22, (0, 1, 2, 3), tmp16, (0, 4, 5, 3), (1, 4, 2, 5))
+    del tmp22
+    tmp56 = np.copy(v.ooov) * -0.5
+    tmp56 += np.transpose(v.ooov, (0, 2, 1, 3))
+    tmp40 = np.copy(np.transpose(tmp17, (0, 2, 1, 3))) * 0.5
+    tmp40 += np.transpose(tmp17, (1, 2, 0, 3)) * -1
+    del tmp17
+    tmp40 += np.transpose(tmp38, (0, 2, 1, 3))
+    tmp40 += tmp38 * -0.5
+    del tmp38
+    tmp40 += einsum(tmp39, (0, 1, 2, 3), tmp15, (1, 4, 3, 5), (0, 2, 4, 5)) * -0.5
+    del tmp15
+    tmp55 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * 2
+    tmp55 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1
+    tmp57 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * 2
+    tmp57 += v.oovv * -1
+    tmp48 = einsum(l1, (0, 1), t1, (1, 2), (0, 2)) * 0.5
+    tmp48 += einsum(tmp47, (0, 1, 2, 3), l2, (4, 3, 0, 1), (4, 2))
+    del tmp47
+    tmp43 = np.copy(tmp41) * -2
+    tmp43 += np.transpose(tmp41, (0, 2, 1, 3))
+    del tmp41
+    tmp43 += einsum(t2, (0, 1, 2, 3), tmp39, (4, 1, 5, 3), (4, 5, 0, 2))
+    del tmp39
+    tmp43 += einsum(tmp42, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 2, 4, 5)) * 2
+    del tmp42
+    tmp46 = np.copy(np.transpose(tmp35, (1, 0, 2, 3))) * -0.5
+    tmp46 += np.transpose(tmp35, (1, 0, 3, 2))
+    del tmp35
+    tmp61 = np.copy(tmp51)
+    del tmp51
+    tmp61 += einsum(tmp16, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1)) * 2
+    del tmp16
+    tmp59 = np.copy(f.vv) * 0.5
+    tmp59 += einsum(tmp58, (0, 1, 2, 3), t1, (0, 1), (3, 2))
+    del tmp58
+    tmp21 = np.copy(np.transpose(v.vvvv, (0, 2, 1, 3))) * -1
+    tmp21 += v.vvvv * 2
+    tmp20 = einsum(l2, (0, 1, 2, 3), t1, (3, 4), (2, 0, 1, 4))
+    l2new = einsum(v.ovov, (0, 1, 2, 3), tmp36, (4, 5, 2, 0), (1, 3, 5, 4))
+    del tmp36
+    l2new += np.transpose(v.ovov, (1, 3, 0, 2))
+    l2new += einsum(v.vvvv, (0, 1, 2, 3), l2, (3, 1, 4, 5), (0, 2, 5, 4))
+    l2new += np.transpose(tmp86, (2, 3, 0, 1))
+    l2new += np.transpose(tmp86, (3, 2, 1, 0))
+    del tmp86
+    l2new += np.transpose(tmp96, (3, 2, 0, 1))
+    l2new += np.transpose(tmp96, (2, 3, 1, 0))
+    del tmp96
+    l2new += np.transpose(tmp100, (3, 2, 0, 1)) * -1
+    l2new += np.transpose(tmp100, (2, 3, 1, 0)) * -1
+    del tmp100
+    l2new += np.transpose(tmp104, (2, 3, 0, 1)) * -1
+    l2new += np.transpose(tmp104, (3, 2, 1, 0)) * -1
+    del tmp104
+    l2new += np.transpose(tmp106, (2, 3, 0, 1)) * -1
+    l2new += np.transpose(tmp106, (3, 2, 1, 0)) * -1
+    del tmp106
+    l2new += einsum(tmp107, (0, 1, 2, 3), l2, (4, 5, 3, 0), (4, 5, 2, 1))
+    del tmp107
+    l1new = np.copy(np.transpose(f.ov, (1, 0)))
+    l1new += einsum(tmp14, (0, 1, 2, 3), l2, (4, 3, 1, 0), (4, 2)) * 2
+    del tmp14
+    l1new += einsum(tmp19, (0, 1, 2, 3), v.ovvv, (1, 4, 3, 2), (4, 0)) * -1
+    del tmp19
+    l1new += einsum(tmp21, (0, 1, 2, 3), tmp20, (4, 3, 0, 1), (2, 4))
+    del tmp21, tmp20
+    l1new += einsum(tmp23, (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (4, 0)) * 2
+    del tmp23
+    l1new += einsum(tmp32, (0, 1, 2, 3), l2, (4, 3, 0, 1), (4, 2))
+    del tmp32
+    l1new += einsum(tmp34, (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (4, 0)) * -1
+    del tmp34
+    l1new += einsum(tmp40, (0, 1, 2, 3), v.ovov, (2, 3, 1, 4), (4, 0)) * 2
+    del tmp40
+    l1new += einsum(tmp43, (0, 1, 2, 3), v.ovov, (2, 4, 1, 3), (4, 0))
+    del tmp43
+    l1new += einsum(tmp44, (0, 1, 2, 3), v.oovv, (1, 2, 4, 3), (4, 0)) * -1
+    del tmp44
+    l1new += einsum(tmp45, (0, 1, 2, 3), v.ooov, (1, 3, 2, 4), (4, 0)) * 2
+    del tmp45
+    l1new += einsum(tmp46, (0, 1, 2, 3), v.ooov, (2, 0, 3, 4), (4, 1)) * 2
+    del tmp46
+    l1new += einsum(tmp48, (0, 1), tmp49, (2, 1, 0, 3), (3, 2)) * 2
+    del tmp48, tmp49
+    l1new += einsum(tmp55, (0, 1, 2, 3), tmp54, (0, 3), (2, 1)) * -2
+    del tmp55, tmp54
+    l1new += einsum(tmp56, (0, 1, 2, 3), tmp53, (0, 2), (3, 1)) * -4
+    del tmp53, tmp56
+    l1new += einsum(l1, (0, 1), tmp57, (1, 2, 0, 3), (3, 2))
+    del tmp57
+    l1new += einsum(tmp59, (0, 1), l1, (0, 2), (1, 2)) * 2
+    del tmp59
+    l1new += einsum(tmp60, (0, 1), tmp61, (2, 0), (1, 2)) * -1
+    del tmp60, tmp61
+    l1new += einsum(l1, (0, 1), tmp63, (1, 2), (0, 2)) * -1
+    del tmp63
+
+    return {f"l1new": l1new, f"l2new": l2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCC2.make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:50:32.245417.

+

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.

+ +
+ Source code in ebcc/codegen/RCC2.py +
556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:50:32.245417.
+
+    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, 1), (2, 3, 4, 0))
+    tmp5 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5
+    tmp5 += t2
+    tmp0 = einsum(l1, (0, 1), t1, (2, 0), (1, 2))
+    tmp7 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1
+    tmp7 += np.transpose(l2, (2, 3, 0, 1)) * 2
+    tmp3 = np.copy(tmp2) * -0.5
+    tmp3 += np.transpose(tmp2, (1, 0, 2, 3))
+    del tmp2
+    tmp4 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp4 += t2 * -1
+    tmp6 = np.copy(tmp0) * 0.5
+    tmp6 += einsum(tmp5, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1))
+    del tmp5
+    tmp1 = np.copy(np.transpose(t2, (0, 1, 3, 2)))
+    tmp1 += t2 * -0.5
+    rdm1.vv = einsum(l1, (0, 1), t1, (1, 2), (0, 2)) * 2
+    rdm1.vv += einsum(t2, (0, 1, 2, 3), tmp7, (0, 1, 4, 3), (4, 2)) * 2
+    del tmp7
+    rdm1.vo = np.copy(l1) * 2
+    rdm1.ov = np.copy(t1) * 2
+    rdm1.ov += einsum(t2, (0, 1, 2, 3), tmp3, (0, 1, 4, 3), (4, 2)) * -4
+    del tmp3
+    rdm1.ov += einsum(l1, (0, 1), tmp4, (1, 2, 3, 0), (2, 3)) * 2
+    del tmp4
+    rdm1.ov += einsum(tmp6, (0, 1), t1, (0, 2), (1, 2)) * -4
+    del tmp6
+    rdm1.oo = np.copy(np.transpose(tmp0, (1, 0))) * -2
+    del tmp0
+    rdm1.oo += delta.oo * 2
+    del delta
+    rdm1.oo += einsum(tmp1, (0, 1, 2, 3), l2, (3, 2, 0, 4), (1, 4)) * -4
+    del tmp1
+    rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]])
+
+    return rdm1
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCC2.make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:51:16.293684.

+

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.

+ +
+ Source code in ebcc/codegen/RCC2.py +
 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:51:16.293684.
+
+    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(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0))
+    tmp9 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp9 += t2 * -1
+    tmp77 = np.copy(np.transpose(t2, (0, 1, 3, 2)))
+    tmp77 += t2 * -1
+    tmp16 = np.copy(tmp2) * -1
+    tmp16 += np.transpose(tmp2, (1, 0, 2, 3)) * 2
+    tmp14 = np.copy(tmp2) * -1
+    tmp14 += np.transpose(tmp2, (1, 0, 2, 3))
+    tmp5 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5
+    tmp5 += t2
+    tmp60 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * 2
+    tmp60 += np.transpose(l2, (2, 3, 0, 1)) * -1
+    tmp44 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * 2
+    tmp44 += np.transpose(l2, (2, 3, 0, 1)) * -1
+    tmp79 = einsum(tmp9, (0, 1, 2, 3), l2, (4, 3, 5, 0), (1, 5, 2, 4))
+    tmp88 = einsum(tmp2, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4))
+    tmp78 = einsum(l2, (0, 1, 2, 3), tmp77, (2, 4, 5, 1), (4, 3, 5, 0))
+    del tmp77
+    tmp1 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5))
+    tmp3 = einsum(t1, (0, 1), tmp2, (2, 3, 4, 1), (3, 2, 4, 0))
+    tmp53 = np.copy(np.transpose(l2, (3, 2, 0, 1)))
+    tmp53 += np.transpose(l2, (2, 3, 0, 1)) * -1
+    tmp17 = einsum(tmp16, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 2, 4, 5))
+    del tmp16
+    tmp25 = einsum(tmp2, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 2, 4, 5))
+    tmp12 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2))
+    tmp15 = einsum(tmp14, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 2, 4, 5))
+    tmp0 = einsum(l1, (0, 1), t1, (2, 0), (1, 2))
+    tmp21 = np.copy(tmp2) * 2
+    tmp21 += np.transpose(tmp2, (1, 0, 2, 3)) * -1
+    tmp6 = einsum(tmp5, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1)) * 2
+    tmp26 = einsum(tmp2, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 2, 4, 5))
+    tmp31 = einsum(tmp5, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1))
+    del tmp5
+    tmp110 = einsum(l2, (0, 1, 2, 3), t1, (3, 4), (2, 0, 1, 4))
+    tmp81 = einsum(l1, (0, 1), t1, (1, 2), (0, 2))
+    tmp90 = einsum(t2, (0, 1, 2, 3), tmp60, (0, 1, 4, 2), (4, 3))
+    tmp65 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 1, 5), (2, 4, 0, 5))
+    tmp51 = einsum(t2, (0, 1, 2, 3), tmp44, (1, 4, 5, 3), (4, 0, 5, 2))
+    tmp104 = np.copy(tmp88)
+    tmp104 += np.transpose(tmp78, (1, 0, 3, 2))
+    tmp104 += np.transpose(tmp79, (1, 0, 3, 2)) * -1
+    tmp101 = einsum(t2, (0, 1, 2, 3), tmp60, (1, 4, 5, 3), (4, 0, 5, 2))
+    tmp94 = np.copy(np.transpose(tmp79, (1, 0, 3, 2)))
+    tmp94 += np.transpose(tmp78, (1, 0, 3, 2)) * -1
+    tmp4 = np.copy(np.transpose(tmp1, (1, 0, 3, 2)))
+    tmp4 += tmp3
+    tmp54 = einsum(tmp53, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 4, 2, 5))
+    tmp13 = einsum(t1, (0, 1), tmp3, (0, 2, 3, 4), (2, 4, 3, 1))
+    tmp45 = einsum(tmp44, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 4, 2, 5))
+    del tmp44
+    tmp69 = np.copy(tmp25)
+    tmp69 += tmp17 * -1
+    tmp35 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp35 += t2 * 2
+    tmp19 = einsum(t1, (0, 1), tmp1, (2, 0, 3, 4), (2, 3, 4, 1))
+    tmp47 = np.copy(tmp12)
+    tmp47 += tmp15
+    tmp47 += tmp17 * -1
+    tmp8 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2))
+    tmp10 = einsum(l1, (0, 1), tmp9, (1, 2, 3, 0), (2, 3))
+    del tmp9
+    tmp22 = einsum(t2, (0, 1, 2, 3), tmp21, (0, 1, 4, 2), (4, 3)) * 0.5
+    tmp23 = einsum(tmp6, (0, 1), t1, (0, 2), (1, 2)) * 0.5
+    tmp61 = einsum(t2, (0, 1, 2, 3), tmp60, (0, 1, 4, 2), (4, 3)) * 0.5
+    del tmp60
+    tmp72 = np.copy(tmp12)
+    tmp72 += tmp26 * -1
+    tmp29 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp29 += t2 * -1
+    tmp32 = np.copy(tmp0) * 0.5
+    tmp32 += tmp31
+    del tmp31
+    tmp111 = einsum(l2, (0, 1, 2, 3), t2, (3, 2, 4, 5), (0, 1, 5, 4))
+    tmp112 = einsum(tmp110, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4))
+    tmp97 = einsum(t2, (0, 1, 2, 3), tmp2, (0, 1, 4, 5), (4, 5, 2, 3))
+    tmp91 = np.copy(tmp81)
+    tmp91 += tmp90
+    del tmp90
+    tmp108 = np.copy(tmp65)
+    tmp108 += tmp88
+    tmp108 += tmp51 * -1
+    tmp67 = einsum(l2, (0, 1, 2, 3), t2, (4, 2, 1, 5), (3, 4, 0, 5))
+    tmp105 = einsum(tmp104, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4))
+    del tmp104
+    tmp93 = einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4))
+    tmp102 = np.copy(tmp65)
+    tmp102 += tmp88
+    tmp102 += tmp101 * -1
+    del tmp101
+    tmp95 = einsum(tmp94, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4))
+    del tmp94
+    tmp84 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1
+    tmp84 += np.transpose(l2, (2, 3, 0, 1)) * 2
+    tmp86 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1
+    tmp86 += np.transpose(l2, (2, 3, 0, 1))
+    tmp27 = einsum(tmp4, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4))
+    tmp55 = einsum(tmp54, (0, 1, 2, 3), t2, (4, 0, 2, 5), (1, 4, 3, 5))
+    del tmp54
+    tmp52 = einsum(t2, (0, 1, 2, 3), tmp51, (1, 4, 3, 5), (4, 0, 5, 2))
+    del tmp51
+    tmp50 = einsum(tmp13, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3))
+    tmp46 = einsum(t2, (0, 1, 2, 3), tmp45, (1, 4, 3, 5), (4, 0, 5, 2))
+    del tmp45
+    tmp70 = einsum(t1, (0, 1), tmp69, (0, 2, 3, 4), (2, 3, 4, 1))
+    del tmp69
+    tmp36 = einsum(l1, (0, 1), tmp35, (1, 2, 0, 3), (2, 3))
+    del tmp35
+    tmp57 = einsum(t1, (0, 1), tmp19, (0, 2, 3, 4), (3, 2, 4, 1))
+    tmp58 = einsum(tmp4, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 3, 4, 5))
+    tmp48 = einsum(t1, (0, 1), tmp47, (0, 2, 3, 4), (2, 3, 4, 1))
+    del tmp47
+    tmp43 = einsum(t2, (0, 1, 2, 3), tmp0, (1, 4), (4, 0, 2, 3))
+    tmp11 = np.copy(tmp8)
+    tmp11 += tmp10 * -1
+    del tmp10
+    tmp24 = np.copy(tmp22)
+    del tmp22
+    tmp24 += tmp23
+    del tmp23
+    tmp62 = einsum(t2, (0, 1, 2, 3), tmp61, (2, 4), (0, 1, 4, 3)) * 2
+    tmp63 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 4), (0, 4, 3, 2))
+    tmp73 = einsum(tmp72, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4))
+    del tmp72
+    tmp28 = einsum(t2, (0, 1, 2, 3), tmp21, (0, 1, 4, 2), (4, 3))
+    del tmp21
+    tmp30 = einsum(l1, (0, 1), tmp29, (1, 2, 3, 0), (2, 3))
+    del tmp29
+    tmp33 = einsum(t1, (0, 1), tmp32, (0, 2), (2, 1)) * 2
+    tmp40 = np.copy(tmp2) * 2
+    tmp40 += np.transpose(tmp2, (1, 0, 2, 3)) * -1
+    tmp113 = np.copy(np.transpose(tmp111, (1, 0, 3, 2)))
+    tmp113 += np.transpose(tmp112, (1, 0, 3, 2))
+    tmp107 = np.copy(tmp97)
+    tmp107 += einsum(tmp91, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    tmp109 = einsum(t1, (0, 1), tmp108, (0, 2, 3, 4), (2, 3, 4, 1))
+    del tmp108
+    tmp100 = einsum(t1, (0, 1), tmp67, (0, 2, 3, 4), (2, 3, 1, 4))
+    tmp82 = np.copy(tmp81) * 0.5
+    tmp82 += tmp61
+    tmp106 = np.copy(tmp93)
+    tmp106 += np.transpose(tmp105, (0, 1, 3, 2))
+    del tmp105
+    tmp103 = einsum(tmp102, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4))
+    del tmp102
+    tmp99 = einsum(tmp88, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3))
+    tmp98 = np.copy(tmp97)
+    tmp98 += einsum(tmp61, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2
+    del tmp61
+    tmp96 = np.copy(tmp93)
+    tmp96 += einsum(tmp81, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    del tmp81
+    tmp96 += np.transpose(tmp95, (0, 1, 3, 2)) * -1
+    del tmp95
+    tmp83 = einsum(tmp2, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4))
+    tmp89 = einsum(tmp14, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4))
+    tmp85 = einsum(t2, (0, 1, 2, 3), tmp84, (1, 4, 3, 5), (4, 0, 5, 2))
+    del tmp84
+    tmp92 = einsum(t2, (0, 1, 2, 3), tmp53, (1, 4, 2, 5), (4, 0, 5, 3))
+    del tmp53
+    tmp87 = einsum(tmp86, (0, 1, 2, 3), t2, (4, 0, 2, 5), (1, 4, 3, 5))
+    del tmp86
+    tmp80 = einsum(t1, (0, 1), tmp14, (0, 2, 3, 4), (2, 3, 4, 1))
+    del tmp14
+    tmp75 = einsum(tmp27, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4))
+    tmp56 = np.copy(tmp50)
+    del tmp50
+    tmp56 += tmp52 * 2
+    tmp56 += np.transpose(tmp55, (1, 0, 3, 2))
+    del tmp55
+    tmp68 = einsum(tmp67, (0, 1, 2, 3), t2, (4, 0, 2, 5), (1, 4, 3, 5))
+    tmp71 = np.copy(np.transpose(tmp46, (1, 0, 3, 2))) * -1
+    tmp71 += np.transpose(tmp70, (0, 1, 3, 2))
+    del tmp70
+    tmp71 += einsum(tmp36, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    tmp76 = np.copy(t1)
+    tmp76 += tmp8 * -1
+    tmp59 = np.copy(tmp57)
+    del tmp57
+    tmp59 += tmp58
+    tmp49 = np.copy(tmp43)
+    tmp49 += np.transpose(tmp46, (1, 0, 3, 2)) * -1
+    del tmp46
+    tmp49 += np.transpose(tmp48, (0, 1, 3, 2))
+    del tmp48
+    tmp49 += einsum(t1, (0, 1), tmp11, (2, 3), (0, 2, 1, 3)) * -1
+    tmp64 = np.copy(np.transpose(tmp62, (1, 0, 3, 2)))
+    del tmp62
+    tmp64 += np.transpose(tmp63, (0, 1, 3, 2))
+    del tmp63
+    tmp64 += einsum(tmp24, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2
+    tmp66 = einsum(tmp65, (0, 1, 2, 3), t2, (4, 0, 2, 5), (1, 4, 3, 5))
+    tmp74 = np.copy(tmp43)
+    del tmp43
+    tmp74 += np.transpose(tmp73, (0, 1, 3, 2))
+    del tmp73
+    tmp39 = einsum(t1, (0, 1), tmp0, (2, 3), (2, 0, 3, 1))
+    tmp39 += tmp15
+    tmp39 += tmp17 * -1
+    tmp34 = np.copy(t1) * -1
+    tmp34 += tmp28
+    tmp34 += tmp30 * -1
+    del tmp30
+    tmp34 += tmp33
+    tmp42 = np.copy(tmp0)
+    tmp42 += tmp6
+    tmp41 = einsum(tmp40, (0, 1, 2, 3), t2, (4, 0, 5, 3), (1, 2, 4, 5))
+    del tmp40
+    tmp37 = np.copy(tmp28)
+    del tmp28
+    tmp37 += tmp33
+    del tmp33
+    tmp38 = np.copy(tmp12)
+    tmp38 += np.transpose(tmp27, (0, 2, 1, 3))
+    tmp38 += einsum(tmp6, (0, 1), t1, (2, 3), (0, 2, 1, 3))
+    tmp20 = np.copy(tmp19)
+    del tmp19
+    tmp20 += einsum(tmp6, (0, 1), t1, (2, 3), (0, 2, 1, 3))
+    tmp18 = np.copy(tmp12)
+    tmp18 += tmp13
+    del tmp13
+    tmp18 += tmp15
+    del tmp15
+    tmp18 += tmp17 * -1
+    tmp7 = np.copy(delta.oo)
+    tmp7 += tmp0 * -1
+    rdm2.vvvv = np.copy(np.transpose(tmp113, (0, 1, 3, 2))) * -2
+    rdm2.vvvv += tmp113 * 2
+    del tmp113
+    rdm2.vvvv += np.transpose(tmp111, (1, 0, 3, 2)) * 2
+    del tmp111
+    rdm2.vvvv += np.transpose(tmp112, (1, 0, 3, 2)) * 2
+    del tmp112
+    rdm2.vvvo = np.copy(np.transpose(tmp110, (1, 2, 3, 0))) * -2
+    rdm2.vvvo += np.transpose(tmp110, (2, 1, 3, 0)) * 4
+    rdm2.vvov = np.copy(np.transpose(tmp110, (1, 2, 0, 3))) * 4
+    rdm2.vvov += np.transpose(tmp110, (2, 1, 0, 3)) * -2
+    del tmp110
+    rdm2.vovv = np.copy(np.transpose(tmp106, (1, 0, 2, 3))) * -2
+    rdm2.vovv += np.transpose(tmp106, (1, 0, 3, 2)) * 2
+    del tmp106
+    rdm2.vovv += np.transpose(tmp107, (1, 0, 2, 3)) * -2
+    rdm2.vovv += np.transpose(tmp107, (1, 0, 3, 2)) * 2
+    del tmp107
+    rdm2.vovv += np.transpose(tmp93, (1, 0, 3, 2)) * 2
+    rdm2.vovv += np.transpose(tmp100, (1, 0, 3, 2)) * -2
+    rdm2.vovv += np.transpose(tmp97, (1, 0, 2, 3)) * -2
+    rdm2.vovv += np.transpose(tmp109, (1, 0, 3, 2)) * -2
+    del tmp109
+    rdm2.vovv += einsum(tmp82, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 4
+    rdm2.ovvv = np.copy(tmp96) * 2
+    rdm2.ovvv += np.transpose(tmp96, (0, 1, 3, 2)) * -2
+    del tmp96
+    rdm2.ovvv += tmp98 * 2
+    rdm2.ovvv += np.transpose(tmp98, (0, 1, 3, 2)) * -2
+    del tmp98
+    rdm2.ovvv += tmp99 * 2
+    rdm2.ovvv += np.transpose(tmp99, (0, 1, 3, 2)) * -2
+    del tmp99
+    rdm2.ovvv += tmp93 * 2
+    del tmp93
+    rdm2.ovvv += np.transpose(tmp97, (0, 1, 3, 2)) * -2
+    del tmp97
+    rdm2.ovvv += tmp100 * -2
+    del tmp100
+    rdm2.ovvv += tmp103 * -2
+    del tmp103
+    rdm2.ovvv += einsum(tmp91, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2
+    rdm2.vvoo = np.copy(np.transpose(l2, (0, 1, 3, 2))) * -2
+    rdm2.vvoo += l2 * 4
+    rdm2.vovo = einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -2
+    rdm2.vovo += np.transpose(tmp85, (2, 1, 3, 0)) * -2
+    rdm2.vovo += np.transpose(tmp92, (2, 1, 3, 0)) * -2
+    del tmp92
+    rdm2.vovo += np.transpose(tmp89, (2, 1, 3, 0)) * -2
+    rdm2.vovo += einsum(delta.oo, (0, 1), tmp91, (2, 3), (2, 0, 3, 1)) * 4
+    rdm2.vovo += np.transpose(tmp67, (2, 1, 3, 0)) * -2
+    rdm2.vovo += np.transpose(tmp83, (2, 1, 3, 0)) * -2
+    rdm2.voov = einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 4
+    rdm2.voov += np.transpose(tmp79, (3, 0, 1, 2)) * 2
+    rdm2.voov += np.transpose(tmp78, (3, 0, 1, 2)) * -2
+    rdm2.voov += np.transpose(tmp89, (2, 1, 0, 3)) * 2
+    del tmp89
+    rdm2.voov += einsum(delta.oo, (0, 1), tmp91, (2, 3), (2, 0, 1, 3)) * -2
+    del tmp91
+    rdm2.voov += np.transpose(tmp65, (2, 1, 0, 3)) * -2
+    rdm2.voov += np.transpose(tmp88, (2, 1, 0, 3)) * -2
+    rdm2.voov += np.transpose(tmp85, (2, 1, 0, 3)) * 2
+    rdm2.ovvo = einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 4
+    rdm2.ovvo += np.transpose(tmp85, (1, 2, 3, 0)) * 4
+    del tmp85
+    rdm2.ovvo += np.transpose(tmp87, (1, 2, 3, 0)) * -2
+    del tmp87
+    rdm2.ovvo += np.transpose(tmp80, (1, 2, 3, 0)) * -2
+    rdm2.ovvo += einsum(tmp82, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -4
+    rdm2.ovvo += np.transpose(tmp65, (1, 2, 3, 0)) * -2
+    del tmp65
+    rdm2.ovvo += np.transpose(tmp88, (1, 2, 3, 0)) * -2
+    del tmp88
+    rdm2.ovov = einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -2
+    rdm2.ovov += np.transpose(tmp78, (0, 3, 1, 2)) * 2
+    del tmp78
+    rdm2.ovov += np.transpose(tmp79, (0, 3, 1, 2)) * -2
+    del tmp79
+    rdm2.ovov += np.transpose(tmp80, (1, 2, 0, 3)) * 2
+    del tmp80
+    rdm2.ovov += einsum(tmp82, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * 8
+    del tmp82
+    rdm2.ovov += np.transpose(tmp67, (1, 2, 0, 3)) * -2
+    del tmp67
+    rdm2.ovov += np.transpose(tmp83, (1, 2, 0, 3)) * -2
+    del tmp83
+    rdm2.oovv = np.copy(tmp49) * 2
+    rdm2.oovv += np.transpose(tmp49, (0, 1, 3, 2)) * -2
+    rdm2.oovv += np.transpose(tmp49, (1, 0, 2, 3)) * -2
+    rdm2.oovv += np.transpose(tmp49, (1, 0, 3, 2)) * 2
+    del tmp49
+    rdm2.oovv += tmp56 * 2
+    rdm2.oovv += np.transpose(tmp56, (0, 1, 3, 2)) * -2
+    del tmp56
+    rdm2.oovv += tmp59 * 2
+    rdm2.oovv += np.transpose(tmp59, (0, 1, 3, 2)) * -2
+    del tmp59
+    rdm2.oovv += tmp64 * -4
+    rdm2.oovv += np.transpose(tmp64, (0, 1, 3, 2)) * 2
+    rdm2.oovv += np.transpose(tmp64, (1, 0, 2, 3)) * 2
+    rdm2.oovv += np.transpose(tmp64, (1, 0, 3, 2)) * -4
+    del tmp64
+    rdm2.oovv += np.transpose(t2, (0, 1, 3, 2)) * -2
+    rdm2.oovv += t2 * 4
+    rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -2
+    rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2
+    rdm2.oovv += einsum(tmp8, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * -2
+    del tmp8
+    rdm2.oovv += tmp66 * 2
+    del tmp66
+    rdm2.oovv += np.transpose(tmp68, (0, 1, 3, 2)) * 2
+    del tmp68
+    rdm2.oovv += tmp71 * 2
+    rdm2.oovv += np.transpose(tmp71, (1, 0, 3, 2)) * 2
+    del tmp71
+    rdm2.oovv += np.transpose(tmp74, (0, 1, 3, 2)) * -2
+    rdm2.oovv += np.transpose(tmp74, (1, 0, 2, 3)) * -2
+    del tmp74
+    rdm2.oovv += tmp52 * 4
+    del tmp52
+    rdm2.oovv += tmp58 * 2
+    del tmp58
+    rdm2.oovv += np.transpose(tmp75, (0, 1, 3, 2)) * 2
+    del tmp75
+    rdm2.oovv += einsum(tmp76, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2
+    del tmp76
+    rdm2.vooo = np.copy(np.transpose(tmp2, (3, 2, 0, 1))) * -4
+    rdm2.vooo += np.transpose(tmp2, (3, 2, 1, 0)) * 2
+    rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * 4
+    rdm2.vooo += einsum(delta.oo, (0, 1), l1, (2, 3), (2, 0, 1, 3)) * -2
+    rdm2.ovoo = np.copy(np.transpose(tmp2, (2, 3, 0, 1))) * 2
+    rdm2.ovoo += np.transpose(tmp2, (2, 3, 1, 0)) * -4
+    del tmp2
+    rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -2
+    rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3)) * 4
+    rdm2.oovo = einsum(delta.oo, (0, 1), tmp36, (2, 3), (2, 0, 3, 1)) * 2
+    rdm2.oovo += einsum(delta.oo, (0, 1), tmp36, (2, 3), (0, 2, 3, 1)) * -2
+    del tmp36
+    rdm2.oovo += einsum(delta.oo, (0, 1), tmp37, (2, 3), (2, 0, 3, 1)) * -2
+    rdm2.oovo += einsum(delta.oo, (0, 1), tmp37, (2, 3), (0, 2, 3, 1)) * 2
+    del tmp37
+    rdm2.oovo += np.transpose(tmp38, (1, 2, 3, 0)) * -2
+    rdm2.oovo += np.transpose(tmp38, (2, 1, 3, 0)) * 2
+    del tmp38
+    rdm2.oovo += np.transpose(tmp39, (1, 2, 3, 0)) * -2
+    rdm2.oovo += np.transpose(tmp39, (2, 1, 3, 0)) * 2
+    del tmp39
+    rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2
+    rdm2.oovo += einsum(t1, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -2
+    rdm2.oovo += np.transpose(tmp12, (1, 2, 3, 0)) * -2
+    rdm2.oovo += np.transpose(tmp26, (1, 2, 3, 0)) * 2
+    rdm2.oovo += np.transpose(tmp25, (2, 1, 3, 0)) * 2
+    rdm2.oovo += np.transpose(tmp41, (2, 1, 3, 0)) * -2
+    del tmp41
+    rdm2.oovo += np.transpose(tmp27, (1, 2, 3, 0)) * 2
+    rdm2.oovo += einsum(delta.oo, (0, 1), tmp34, (2, 3), (2, 0, 3, 1)) * -2
+    rdm2.oovo += einsum(tmp42, (0, 1), t1, (2, 3), (2, 1, 3, 0)) * -2
+    del tmp42
+    rdm2.ooov = einsum(delta.oo, (0, 1), tmp11, (2, 3), (2, 0, 1, 3)) * 2
+    rdm2.ooov += einsum(delta.oo, (0, 1), tmp11, (2, 3), (0, 2, 1, 3)) * -2
+    del tmp11
+    rdm2.ooov += np.transpose(tmp18, (1, 2, 0, 3)) * 2
+    rdm2.ooov += np.transpose(tmp18, (2, 1, 0, 3)) * -2
+    del tmp18
+    rdm2.ooov += einsum(tmp0, (0, 1), t1, (2, 3), (2, 1, 0, 3)) * 2
+    rdm2.ooov += einsum(t1, (0, 1), tmp0, (2, 3), (3, 0, 2, 1)) * -2
+    rdm2.ooov += np.transpose(tmp20, (1, 2, 0, 3)) * 2
+    rdm2.ooov += np.transpose(tmp20, (2, 1, 0, 3)) * -2
+    del tmp20
+    rdm2.ooov += einsum(delta.oo, (0, 1), tmp24, (2, 3), (2, 0, 1, 3)) * 4
+    rdm2.ooov += einsum(tmp24, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * -4
+    del tmp24
+    rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -2
+    rdm2.ooov += einsum(t1, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * 2
+    rdm2.ooov += np.transpose(tmp12, (2, 1, 0, 3)) * -2
+    del tmp12
+    rdm2.ooov += np.transpose(tmp25, (1, 2, 0, 3)) * 2
+    del tmp25
+    rdm2.ooov += np.transpose(tmp26, (2, 1, 0, 3)) * 2
+    del tmp26
+    rdm2.ooov += np.transpose(tmp17, (1, 2, 0, 3)) * -2
+    del tmp17
+    rdm2.ooov += np.transpose(tmp27, (2, 1, 0, 3)) * 2
+    del tmp27
+    rdm2.ooov += einsum(tmp34, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * -2
+    del tmp34
+    rdm2.ooov += einsum(t1, (0, 1), tmp32, (2, 3), (3, 0, 2, 1)) * -4
+    del tmp32
+    rdm2.oooo = einsum(delta.oo, (0, 1), tmp0, (2, 3), (3, 0, 2, 1)) * -2
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp0, (2, 3), (0, 3, 2, 1)) * 2
+    rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0)) * 2
+    rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0)) * -4
+    del tmp0
+    rdm2.oooo += np.transpose(tmp4, (3, 2, 0, 1)) * -2
+    rdm2.oooo += np.transpose(tmp4, (2, 3, 0, 1)) * 2
+    del tmp4
+    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), (2, 0, 1, 3)) * -2
+    rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (1, 2, 0, 3)) * -4
+    rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3)) * 2
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (3, 0, 1, 2)) * 2
+    rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0)) * -4
+    del tmp6
+    rdm2.oooo += np.transpose(tmp1, (3, 2, 1, 0)) * 2
+    del tmp1
+    rdm2.oooo += np.transpose(tmp3, (3, 2, 1, 0)) * 2
+    del tmp3
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp7, (2, 3), (3, 0, 2, 1)) * 2
+    del delta, tmp7
+    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
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCC2.hbar_matvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:51:23.792538.

+

Parameters

+

f : array + Fock matrix. +t1 : array + T1 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp12 : array +tmp14 : array +tmp16 : array +tmp17 : array +tmp19 : array +tmp21 : array +tmp25 : array +tmp26 : array +tmp28 : array +tmp29 : array +tmp3 : array +tmp31 : array +tmp32 : array +tmp33 : array +tmp34 : array +tmp35 : array +tmp37 : array +tmp39 : array +tmp4 : array +tmp40 : array +tmp41 : array +tmp42 : array +tmp43 : array +tmp45 : array +tmp5 : array +tmp51 : array +tmp52 : array +tmp53 : array +tmp54 : array +tmp6 : array +tmp9 : array

+ +
+ Source code in ebcc/codegen/RCC2.py +
1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
def hbar_matvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:51:23.792538.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t1 : array
+        T1 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp12 : array
+    tmp14 : array
+    tmp16 : array
+    tmp17 : array
+    tmp19 : array
+    tmp21 : array
+    tmp25 : array
+    tmp26 : array
+    tmp28 : array
+    tmp29 : array
+    tmp3 : array
+    tmp31 : array
+    tmp32 : array
+    tmp33 : array
+    tmp34 : array
+    tmp35 : array
+    tmp37 : array
+    tmp39 : array
+    tmp4 : array
+    tmp40 : array
+    tmp41 : array
+    tmp42 : array
+    tmp43 : array
+    tmp45 : array
+    tmp5 : array
+    tmp51 : array
+    tmp52 : array
+    tmp53 : array
+    tmp54 : array
+    tmp6 : array
+    tmp9 : array
+    """
+
+    tmp0 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp6 = einsum(v.ovov, (0, 1, 2, 3), t1, (2, 3), (0, 1))
+    tmp5 = einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3))
+    tmp54 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2))
+    tmp53 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 1, 3), (4, 2))
+    tmp52 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 3, 1), (4, 2))
+    tmp51 = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    tmp45 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 4, 1, 3), (2, 4))
+    tmp43 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 3, 1, 4), (2, 4))
+    tmp42 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5))
+    tmp41 = einsum(v.ooov, (0, 1, 2, 3), t2, (1, 2, 4, 3), (0, 4))
+    tmp40 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 0, 3), (4, 2))
+    tmp39 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp37 = einsum(t1, (0, 1), f.oo, (2, 0), (2, 1))
+    tmp35 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp34 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 3, 5), (4, 0, 5, 1))
+    tmp33 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp32 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp31 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 2, 3, 5), (4, 0, 1, 5))
+    tmp29 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp28 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp26 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2))
+    tmp25 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 2), (0, 3))
+    tmp21 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp19 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp17 = einsum(tmp6, (0, 1), t1, (2, 1), (2, 0))
+    tmp16 = einsum(tmp5, (0, 1), t1, (2, 1), (2, 0))
+    tmp14 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 3), (4, 0))
+    tmp12 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 3, 1), (4, 0))
+    tmp9 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1))
+    tmp4 = einsum(v.ooov, (0, 1, 2, 3), t1, (2, 3), (0, 1))
+    tmp3 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 2))
+
+    return {f"tmp0": tmp0, f"tmp12": tmp12, f"tmp14": tmp14, f"tmp16": tmp16, f"tmp17": tmp17, f"tmp19": tmp19, f"tmp21": tmp21, f"tmp25": tmp25, f"tmp26": tmp26, f"tmp28": tmp28, f"tmp29": tmp29, f"tmp3": tmp3, f"tmp31": tmp31, f"tmp32": tmp32, f"tmp33": tmp33, f"tmp34": tmp34, f"tmp35": tmp35, f"tmp37": tmp37, f"tmp39": tmp39, f"tmp4": tmp4, f"tmp40": tmp40, f"tmp41": tmp41, f"tmp42": tmp42, f"tmp43": tmp43, f"tmp45": tmp45, f"tmp5": tmp5, f"tmp51": tmp51, f"tmp52": tmp52, f"tmp53": tmp53, f"tmp54": tmp54, f"tmp6": tmp6, f"tmp9": tmp9}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCC2.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-17T18:51:23.808072.

+

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.

+ +
+ Source code in ebcc/codegen/RCC2.py +
1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
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-17T18:51:23.808072.
+
+    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"]
+    tmp9 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.5
+    tmp9 += np.transpose(v.ovov, (0, 2, 1, 3))
+    tmp8 = np.copy(np.transpose(ints.tmp45, (1, 0))) * 2
+    del ints.tmp45
+    tmp8 += f.vv * -1
+    tmp8 += np.transpose(ints.tmp43, (1, 0)) * -1
+    del ints.tmp43
+    tmp8 += einsum(f.ov, (0, 1), t1, (0, 2), (1, 2))
+    tmp4 = np.copy(r2)
+    tmp4 += np.transpose(r2, (1, 0, 2)) * -0.5
+    tmp10 = einsum(r2, (0, 1, 2), tmp9, (1, 0, 3, 2), (3,))
+    del tmp9
+    tmp12 = np.copy(f.oo)
+    tmp12 += ints.tmp0
+    tmp12 += np.transpose(ints.tmp14, (1, 0)) * 2
+    tmp12 += np.transpose(ints.tmp12, (1, 0)) * -1
+    tmp5 = np.copy(ints.tmp35) * 2
+    del ints.tmp35
+    tmp5 += np.transpose(v.ovov, (0, 2, 1, 3))
+    tmp5 += ints.tmp33 * -1
+    del ints.tmp33
+    tmp5 += ints.tmp34 * -1
+    del ints.tmp34
+    tmp7 = np.copy(ints.tmp21)
+    del ints.tmp21
+    tmp7 += np.transpose(v.oooo, (0, 2, 1, 3))
+    tmp13 = np.copy(f.ov)
+    tmp13 += ints.tmp26 * 2
+    del ints.tmp26
+    tmp13 += ints.tmp40
+    del ints.tmp40
+    tmp13 += ints.tmp51
+    del ints.tmp51
+    tmp13 += ints.tmp52 * 2
+    del ints.tmp52
+    tmp13 += ints.tmp25 * -1
+    del ints.tmp25
+    tmp13 += ints.tmp37 * -1
+    del ints.tmp37
+    tmp13 += ints.tmp41 * -2
+    del ints.tmp41
+    tmp13 += ints.tmp53 * -1
+    del ints.tmp53
+    tmp13 += ints.tmp54 * -1
+    del ints.tmp54
+    tmp6 = np.copy(ints.tmp32)
+    del ints.tmp32
+    tmp6 += v.oovv * -1
+    tmp11 = np.copy(ints.tmp19)
+    del ints.tmp19
+    tmp11 += np.transpose(ints.tmp29, (1, 0, 2, 3)) * 2
+    del ints.tmp29
+    tmp11 += np.transpose(ints.tmp39, (2, 1, 0, 3))
+    del ints.tmp39
+    tmp11 += np.transpose(v.ooov, (0, 2, 1, 3))
+    tmp11 += np.transpose(ints.tmp28, (1, 0, 2, 3)) * -1
+    del ints.tmp28
+    tmp11 += np.transpose(ints.tmp31, (1, 0, 2, 3)) * -1
+    del ints.tmp31
+    tmp11 += ints.tmp42 * -1
+    del ints.tmp42
+    tmp1 = np.copy(f.ov) * 0.5
+    tmp1 += ints.tmp6
+    del ints.tmp6
+    tmp1 += ints.tmp5 * -0.5
+    del ints.tmp5
+    tmp3 = np.copy(f.oo)
+    tmp3 += ints.tmp0
+    del ints.tmp0
+    tmp3 += np.transpose(ints.tmp14, (1, 0)) * 2
+    del ints.tmp14
+    tmp3 += np.transpose(ints.tmp17, (1, 0)) * 2
+    del ints.tmp17
+    tmp3 += np.transpose(ints.tmp4, (1, 0)) * 2
+    del ints.tmp4
+    tmp3 += np.transpose(ints.tmp12, (1, 0)) * -1
+    del ints.tmp12
+    tmp3 += np.transpose(ints.tmp16, (1, 0)) * -1
+    del ints.tmp16
+    tmp3 += np.transpose(ints.tmp3, (1, 0)) * -1
+    del ints.tmp3
+    tmp2 = np.copy(r2) * 2
+    tmp2 += np.transpose(r2, (1, 0, 2)) * -1
+    tmp0 = np.copy(ints.tmp9)
+    tmp0 += v.ooov * -0.5
+    tmp0 += np.transpose(v.ooov, (0, 2, 1, 3))
+    r2new = einsum(tmp5, (0, 1, 2, 3), tmp4, (1, 4, 3), (0, 4, 2)) * 2
+    del tmp5, tmp4
+    r2new += einsum(tmp6, (0, 1, 2, 3), r2, (4, 1, 3), (4, 0, 2))
+    r2new += einsum(r2, (0, 1, 2), tmp6, (3, 0, 4, 2), (3, 1, 4))
+    del tmp6
+    r2new += einsum(tmp7, (0, 1, 2, 3), r2, (3, 2, 4), (1, 0, 4))
+    del tmp7
+    r2new += einsum(tmp8, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp8
+    r2new += einsum(t2, (0, 1, 2, 3), tmp10, (3,), (0, 1, 2)) * -2
+    del tmp10
+    r2new += einsum(r1, (0,), tmp11, (1, 2, 0, 3), (2, 1, 3))
+    del tmp11
+    r2new += einsum(tmp12, (0, 1), r2, (0, 2, 3), (1, 2, 3)) * -1
+    r2new += einsum(tmp12, (0, 1), r2, (2, 0, 3), (2, 1, 3)) * -1
+    del tmp12
+    r2new += einsum(r1, (0,), tmp13, (1, 2), (1, 0, 2)) * -1
+    del tmp13
+    r1new = einsum(ints.tmp9, (0, 1, 2, 3), r2, (2, 1, 3), (0,)) * -1
+    del ints.tmp9
+    r1new += einsum(r2, (0, 1, 2), tmp0, (3, 0, 1, 2), (3,)) * 2
+    del tmp0
+    r1new += einsum(tmp1, (0, 1), tmp2, (0, 2, 1), (2,)) * -2
+    del tmp1, tmp2
+    r1new += einsum(r1, (0,), tmp3, (0, 1), (1,)) * -1
+    del tmp3
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCC2.hbar_matvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:51:31.842244.

+

Parameters

+

f : array + Fock matrix. +t1 : array + T1 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp14 : array +tmp16 : array +tmp22 : array +tmp25 : array +tmp26 : array +tmp3 : array +tmp32 : array +tmp33 : array +tmp35 : array +tmp36 : array +tmp37 : array +tmp39 : array +tmp41 : array +tmp42 : array +tmp43 : array +tmp44 : array +tmp46 : array +tmp47 : array +tmp48 : array +tmp49 : array +tmp5 : array +tmp50 : array +tmp53 : array +tmp54 : array +tmp55 : array +tmp6 : array +tmp7 : array

+ +
+ Source code in ebcc/codegen/RCC2.py +
1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
+1331
+1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
+1359
+1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
+1373
+1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
def hbar_matvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:51:31.842244.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t1 : array
+        T1 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp14 : array
+    tmp16 : array
+    tmp22 : array
+    tmp25 : array
+    tmp26 : array
+    tmp3 : array
+    tmp32 : array
+    tmp33 : array
+    tmp35 : array
+    tmp36 : array
+    tmp37 : array
+    tmp39 : array
+    tmp41 : array
+    tmp42 : array
+    tmp43 : array
+    tmp44 : array
+    tmp46 : array
+    tmp47 : array
+    tmp48 : array
+    tmp49 : array
+    tmp5 : array
+    tmp50 : array
+    tmp53 : array
+    tmp54 : array
+    tmp55 : array
+    tmp6 : array
+    tmp7 : array
+    """
+
+    tmp33 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp55 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp54 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 3, 5), (4, 0, 5, 1))
+    tmp53 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp50 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 5), (0, 3, 4, 5))
+    tmp49 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5))
+    tmp48 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 3, 4, 5), (0, 2, 4, 5))
+    tmp47 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2))
+    tmp46 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 2), (0, 3))
+    tmp44 = einsum(v.ooov, (0, 1, 2, 3), t2, (2, 1, 3, 4), (0, 4))
+    tmp43 = einsum(v.ooov, (0, 1, 2, 3), t2, (1, 2, 3, 4), (0, 4))
+    tmp42 = einsum(t1, (0, 1), f.oo, (2, 0), (2, 1))
+    tmp41 = einsum(tmp33, (0, 1), t1, (0, 2), (1, 2))
+    tmp39 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 3), (4, 0))
+    tmp37 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 3, 1), (4, 0))
+    tmp36 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 1, 3), (4, 2))
+    tmp35 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 3, 1), (4, 2))
+    tmp32 = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    tmp26 = einsum(v.ooov, (0, 1, 2, 3), t2, (2, 1, 4, 5), (0, 5, 4, 3))
+    tmp25 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp22 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5))
+    tmp16 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 4, 1, 3), (2, 4))
+    tmp14 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 3, 1, 4), (2, 4))
+    tmp7 = einsum(v.ovov, (0, 1, 2, 3), t1, (2, 3), (0, 1))
+    tmp6 = einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3))
+    tmp5 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2))
+    tmp3 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 1), (2, 3))
+
+    return {f"tmp14": tmp14, f"tmp16": tmp16, f"tmp22": tmp22, f"tmp25": tmp25, f"tmp26": tmp26, f"tmp3": tmp3, f"tmp32": tmp32, f"tmp33": tmp33, f"tmp35": tmp35, f"tmp36": tmp36, f"tmp37": tmp37, f"tmp39": tmp39, f"tmp41": tmp41, f"tmp42": tmp42, f"tmp43": tmp43, f"tmp44": tmp44, f"tmp46": tmp46, f"tmp47": tmp47, f"tmp48": tmp48, f"tmp49": tmp49, f"tmp5": tmp5, f"tmp50": tmp50, f"tmp53": tmp53, f"tmp54": tmp54, f"tmp55": tmp55, f"tmp6": tmp6, f"tmp7": tmp7}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCC2.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-17T18:51:31.857579.

+

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.

+ +
+ Source code in ebcc/codegen/RCC2.py +
1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
+1445
+1446
+1447
+1448
+1449
+1450
+1451
+1452
+1453
+1454
+1455
+1456
+1457
+1458
+1459
+1460
+1461
+1462
+1463
+1464
+1465
+1466
+1467
+1468
+1469
+1470
+1471
+1472
+1473
+1474
+1475
+1476
+1477
+1478
+1479
+1480
+1481
+1482
+1483
+1484
+1485
+1486
+1487
+1488
+1489
+1490
+1491
+1492
+1493
+1494
+1495
+1496
+1497
+1498
+1499
+1500
+1501
+1502
+1503
+1504
+1505
+1506
+1507
+1508
+1509
+1510
+1511
+1512
+1513
+1514
+1515
+1516
+1517
+1518
+1519
+1520
+1521
+1522
+1523
+1524
+1525
+1526
+1527
+1528
+1529
+1530
+1531
+1532
+1533
+1534
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-17T18:51:31.857579.
+
+    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"]
+    tmp4 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * 2
+    tmp4 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1
+    tmp5 = einsum(r2, (0, 1, 2), tmp4, (2, 3, 1, 0), (3,))
+    del tmp4
+    tmp13 = einsum(f.ov, (0, 1), t1, (0, 2), (1, 2))
+    tmp6 = np.copy(f.ov)
+    tmp6 += ints.tmp7 * 2
+    tmp6 += ints.tmp6 * -1
+    tmp8 = einsum(r2, (0, 1, 2), v.ovov, (3, 0, 4, 1), (2, 3, 4))
+    tmp16 = einsum(r1, (0,), f.ov, (1, 0), (1,))
+    tmp16 += tmp5 * -1
+    tmp9 = np.copy(np.transpose(r2, (2, 0, 1))) * -0.5
+    tmp9 += np.transpose(r2, (2, 1, 0))
+    tmp14 = np.copy(np.transpose(ints.tmp16, (1, 0))) * 2
+    tmp14 += f.vv * -1
+    tmp14 += np.transpose(ints.tmp14, (1, 0)) * -1
+    tmp14 += tmp13
+    del tmp13
+    tmp10 = np.copy(ints.tmp55) * 2
+    del ints.tmp55
+    tmp10 += np.transpose(v.ovov, (0, 2, 1, 3))
+    tmp10 += ints.tmp53 * -1
+    del ints.tmp53
+    tmp10 += ints.tmp54 * -1
+    del ints.tmp54
+    tmp12 = np.copy(np.transpose(ints.tmp26, (0, 2, 3, 1)))
+    del ints.tmp26
+    tmp12 += np.transpose(ints.tmp48, (0, 2, 3, 1)) * 2
+    del ints.tmp48
+    tmp12 += np.transpose(v.ovvv, (0, 2, 3, 1))
+    tmp12 += ints.tmp22 * -1
+    del ints.tmp22
+    tmp12 += np.transpose(ints.tmp49, (0, 3, 2, 1)) * -1
+    del ints.tmp49
+    tmp12 += np.transpose(ints.tmp50, (0, 2, 3, 1)) * -1
+    del ints.tmp50
+    tmp17 = np.copy(f.ov)
+    tmp17 += ints.tmp32
+    del ints.tmp32
+    tmp17 += ints.tmp35 * 2
+    del ints.tmp35
+    tmp17 += ints.tmp43
+    del ints.tmp43
+    tmp17 += ints.tmp47 * 2
+    del ints.tmp47
+    tmp17 += ints.tmp36 * -1
+    del ints.tmp36
+    tmp17 += ints.tmp41 * -1
+    del ints.tmp41
+    tmp17 += ints.tmp42 * -1
+    del ints.tmp42
+    tmp17 += ints.tmp44 * -2
+    del ints.tmp44
+    tmp17 += ints.tmp46 * -1
+    del ints.tmp46
+    tmp11 = np.copy(ints.tmp25)
+    del ints.tmp25
+    tmp11 += v.oovv * -1
+    tmp15 = np.copy(f.oo)
+    tmp15 += ints.tmp33
+    del ints.tmp33
+    tmp15 += np.transpose(ints.tmp39, (1, 0)) * 2
+    del ints.tmp39
+    tmp15 += np.transpose(ints.tmp37, (1, 0)) * -1
+    del ints.tmp37
+    tmp1 = np.copy(f.ov) * 0.5
+    tmp1 += ints.tmp7
+    del ints.tmp7
+    tmp1 += ints.tmp6 * -0.5
+    del ints.tmp6
+    tmp3 = np.copy(f.vv)
+    tmp3 += np.transpose(ints.tmp14, (1, 0))
+    del ints.tmp14
+    tmp3 += np.transpose(ints.tmp3, (1, 0)) * 2
+    del ints.tmp3
+    tmp3 += np.transpose(ints.tmp16, (1, 0)) * -2
+    del ints.tmp16
+    tmp3 += ints.tmp5 * -1
+    del ints.tmp5
+    tmp2 = np.copy(np.transpose(r2, (2, 0, 1))) * 2
+    tmp2 += np.transpose(r2, (2, 1, 0)) * -1
+    tmp7 = np.copy(tmp5) * -1
+    del tmp5
+    tmp7 += einsum(r1, (0,), tmp6, (1, 0), (1,))
+    del tmp6
+    tmp0 = np.copy(v.ovvv) * 2
+    tmp0 += np.transpose(v.ovvv, (0, 2, 1, 3)) * -1
+    r2new = einsum(v.vvvv, (0, 1, 2, 3), r2, (1, 3, 4), (0, 2, 4))
+    r2new += einsum(tmp8, (0, 1, 2), t2, (2, 1, 3, 4), (4, 3, 0))
+    del tmp8
+    r2new += einsum(tmp10, (0, 1, 2, 3), tmp9, (1, 4, 3), (2, 4, 0)) * 2
+    del tmp10, tmp9
+    r2new += einsum(tmp11, (0, 1, 2, 3), r2, (4, 3, 1), (4, 2, 0))
+    r2new += einsum(r2, (0, 1, 2), tmp11, (3, 2, 4, 0), (4, 1, 3))
+    del tmp11
+    r2new += einsum(tmp12, (0, 1, 2, 3), r1, (2,), (3, 1, 0)) * -1
+    del tmp12
+    r2new += einsum(tmp14, (0, 1), r2, (0, 2, 3), (1, 2, 3)) * -1
+    r2new += einsum(r2, (0, 1, 2), tmp14, (1, 3), (0, 3, 2)) * -1
+    del tmp14
+    r2new += einsum(tmp15, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp15
+    r2new += einsum(t2, (0, 1, 2, 3), tmp16, (1,), (2, 3, 0))
+    del tmp16
+    r2new += einsum(tmp17, (0, 1), r1, (2,), (1, 2, 0)) * -1
+    del tmp17
+    r1new = einsum(r2, (0, 1, 2), tmp0, (2, 0, 1, 3), (3,)) * -1
+    del tmp0
+    r1new += einsum(tmp1, (0, 1), tmp2, (0, 1, 2), (2,)) * -2
+    del tmp1, tmp2
+    r1new += einsum(tmp3, (0, 1), r1, (0,), (1,))
+    del tmp3
+    r1new += einsum(tmp7, (0,), t1, (0, 1), (1,)) * -1
+    del tmp7
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCC2.hbar_lmatvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:51:58.799670.

+

Parameters

+

f : array + Fock matrix. +t1 : array + T1 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp1 : array +tmp100 : array +tmp103 : array +tmp104 : array +tmp108 : array +tmp111 : array +tmp112 : array +tmp114 : array +tmp115 : array +tmp12 : array +tmp129 : array +tmp13 : array +tmp131 : array +tmp14 : array +tmp17 : array +tmp19 : array +tmp2 : array +tmp20 : array +tmp21 : array +tmp22 : array +tmp24 : array +tmp26 : array +tmp29 : array +tmp3 : array +tmp32 : array +tmp33 : array +tmp35 : array +tmp36 : array +tmp38 : array +tmp4 : array +tmp41 : array +tmp44 : array +tmp48 : array +tmp49 : array +tmp51 : array +tmp54 : array +tmp57 : array +tmp6 : array +tmp60 : array +tmp63 : array +tmp66 : array +tmp69 : array +tmp70 : array +tmp72 : array +tmp73 : array +tmp75 : array +tmp78 : array +tmp81 : array +tmp82 : array +tmp85 : array +tmp86 : array +tmp87 : array +tmp88 : array +tmp9 : array +tmp91 : array +tmp92 : array +tmp94 : array +tmp98 : array

+ +
+ Source code in ebcc/codegen/RCC2.py +
1536
+1537
+1538
+1539
+1540
+1541
+1542
+1543
+1544
+1545
+1546
+1547
+1548
+1549
+1550
+1551
+1552
+1553
+1554
+1555
+1556
+1557
+1558
+1559
+1560
+1561
+1562
+1563
+1564
+1565
+1566
+1567
+1568
+1569
+1570
+1571
+1572
+1573
+1574
+1575
+1576
+1577
+1578
+1579
+1580
+1581
+1582
+1583
+1584
+1585
+1586
+1587
+1588
+1589
+1590
+1591
+1592
+1593
+1594
+1595
+1596
+1597
+1598
+1599
+1600
+1601
+1602
+1603
+1604
+1605
+1606
+1607
+1608
+1609
+1610
+1611
+1612
+1613
+1614
+1615
+1616
+1617
+1618
+1619
+1620
+1621
+1622
+1623
+1624
+1625
+1626
+1627
+1628
+1629
+1630
+1631
+1632
+1633
+1634
+1635
+1636
+1637
+1638
+1639
+1640
+1641
+1642
+1643
+1644
+1645
+1646
+1647
+1648
+1649
+1650
+1651
+1652
+1653
+1654
+1655
+1656
+1657
+1658
+1659
+1660
+1661
+1662
+1663
+1664
+1665
+1666
+1667
+1668
+1669
+1670
+1671
+1672
+1673
+1674
+1675
+1676
+1677
+1678
+1679
+1680
+1681
+1682
+1683
+1684
+1685
+1686
def hbar_lmatvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:51:58.799670.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t1 : array
+        T1 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp1 : array
+    tmp100 : array
+    tmp103 : array
+    tmp104 : array
+    tmp108 : array
+    tmp111 : array
+    tmp112 : array
+    tmp114 : array
+    tmp115 : array
+    tmp12 : array
+    tmp129 : array
+    tmp13 : array
+    tmp131 : array
+    tmp14 : array
+    tmp17 : array
+    tmp19 : array
+    tmp2 : array
+    tmp20 : array
+    tmp21 : array
+    tmp22 : array
+    tmp24 : array
+    tmp26 : array
+    tmp29 : array
+    tmp3 : array
+    tmp32 : array
+    tmp33 : array
+    tmp35 : array
+    tmp36 : array
+    tmp38 : array
+    tmp4 : array
+    tmp41 : array
+    tmp44 : array
+    tmp48 : array
+    tmp49 : array
+    tmp51 : array
+    tmp54 : array
+    tmp57 : array
+    tmp6 : array
+    tmp60 : array
+    tmp63 : array
+    tmp66 : array
+    tmp69 : array
+    tmp70 : array
+    tmp72 : array
+    tmp73 : array
+    tmp75 : array
+    tmp78 : array
+    tmp81 : array
+    tmp82 : array
+    tmp85 : array
+    tmp86 : array
+    tmp87 : array
+    tmp88 : array
+    tmp9 : array
+    tmp91 : array
+    tmp92 : array
+    tmp94 : array
+    tmp98 : array
+    """
+
+    tmp20 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1))
+    tmp17 = einsum(v.ovov, (0, 1, 2, 3), t1, (2, 3), (0, 1))
+    tmp47 = einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3))
+    tmp107 = einsum(tmp20, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp86 = einsum(tmp17, (0, 1), t1, (2, 1), (2, 0))
+    tmp85 = einsum(tmp47, (0, 1), t1, (2, 1), (2, 0))
+    tmp99 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp97 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2))
+    tmp93 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 1), (2, 3))
+    tmp90 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp13 = einsum(v.ooov, (0, 1, 2, 3), t1, (2, 3), (0, 1))
+    tmp12 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 2))
+    tmp81 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp22 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 2), (0, 4))
+    tmp24 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 3), (0, 4))
+    tmp0 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp131 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 4, 1, 3), (2, 4))
+    tmp129 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 3, 1, 4), (2, 4))
+    tmp115 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp114 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5))
+    tmp112 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp111 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5))
+    tmp108 = einsum(t1, (0, 1), tmp107, (2, 3, 4, 0), (2, 3, 4, 1))
+    del tmp107
+    tmp104 = einsum(tmp86, (0, 1), t1, (1, 2), (0, 2))
+    tmp103 = einsum(t1, (0, 1), tmp85, (2, 0), (2, 1))
+    tmp100 = einsum(tmp99, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3))
+    del tmp99
+    tmp98 = einsum(tmp97, (0, 1), t1, (2, 0), (2, 1))
+    del tmp97
+    tmp94 = einsum(tmp93, (0, 1), t1, (2, 1), (2, 0))
+    del tmp93
+    tmp92 = einsum(tmp90, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4))
+    tmp91 = einsum(tmp90, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4))
+    del tmp90
+    tmp88 = einsum(t1, (0, 1), tmp13, (2, 0), (2, 1))
+    tmp87 = einsum(t1, (0, 1), tmp12, (2, 0), (2, 1))
+    tmp82 = einsum(t1, (0, 1), tmp81, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp78 = einsum(tmp22, (0, 1), t1, (1, 2), (0, 2))
+    tmp75 = einsum(t1, (0, 1), tmp24, (2, 0), (2, 1))
+    tmp73 = einsum(t2, (0, 1, 2, 3), tmp20, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp72 = einsum(tmp20, (0, 1, 2, 3), t2, (4, 2, 3, 5), (0, 4, 1, 5))
+    tmp70 = einsum(tmp20, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp69 = einsum(tmp20, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 4, 2, 5))
+    tmp66 = einsum(t2, (0, 1, 2, 3), tmp20, (4, 0, 1, 3), (4, 2))
+    tmp63 = einsum(t2, (0, 1, 2, 3), tmp20, (4, 1, 0, 3), (4, 2))
+    tmp60 = einsum(t2, (0, 1, 2, 3), tmp17, (4, 3), (0, 1, 4, 2))
+    tmp57 = einsum(tmp47, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp54 = einsum(t2, (0, 1, 2, 3), tmp17, (1, 3), (0, 2))
+    tmp51 = einsum(tmp17, (0, 1), t2, (2, 0, 1, 3), (2, 3))
+    tmp49 = einsum(tmp47, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp48 = einsum(tmp47, (0, 1), t2, (2, 0, 1, 3), (2, 3))
+    del tmp47
+    tmp44 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp41 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (0, 4))
+    tmp38 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (0, 4))
+    tmp36 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp35 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 2, 3, 5), (4, 0, 1, 5))
+    tmp33 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp32 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5))
+    tmp29 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 3), (4, 2))
+    tmp26 = einsum(v.ooov, (0, 1, 2, 3), t2, (2, 1, 4, 3), (0, 4))
+    tmp21 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp19 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2))
+    tmp14 = einsum(v.oooo, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4))
+    tmp9 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2))
+    tmp6 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp4 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2))
+    tmp3 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 2), (0, 3))
+    tmp2 = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    tmp1 = einsum(t1, (0, 1), f.oo, (2, 0), (2, 1))
+
+    return {f"tmp0": tmp0, f"tmp1": tmp1, f"tmp100": tmp100, f"tmp103": tmp103, f"tmp104": tmp104, f"tmp108": tmp108, f"tmp111": tmp111, f"tmp112": tmp112, f"tmp114": tmp114, f"tmp115": tmp115, f"tmp12": tmp12, f"tmp129": tmp129, f"tmp13": tmp13, f"tmp131": tmp131, f"tmp14": tmp14, f"tmp17": tmp17, f"tmp19": tmp19, f"tmp2": tmp2, f"tmp20": tmp20, f"tmp21": tmp21, f"tmp22": tmp22, f"tmp24": tmp24, f"tmp26": tmp26, f"tmp29": tmp29, f"tmp3": tmp3, f"tmp32": tmp32, f"tmp33": tmp33, f"tmp35": tmp35, f"tmp36": tmp36, f"tmp38": tmp38, f"tmp4": tmp4, f"tmp41": tmp41, f"tmp44": tmp44, f"tmp48": tmp48, f"tmp49": tmp49, f"tmp51": tmp51, f"tmp54": tmp54, f"tmp57": tmp57, f"tmp6": tmp6, f"tmp60": tmp60, f"tmp63": tmp63, f"tmp66": tmp66, f"tmp69": tmp69, f"tmp70": tmp70, f"tmp72": tmp72, f"tmp73": tmp73, f"tmp75": tmp75, f"tmp78": tmp78, f"tmp81": tmp81, f"tmp82": tmp82, f"tmp85": tmp85, f"tmp86": tmp86, f"tmp87": tmp87, f"tmp88": tmp88, f"tmp9": tmp9, f"tmp91": tmp91, f"tmp92": tmp92, f"tmp94": tmp94, f"tmp98": tmp98}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCC2.hbar_lmatvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:51:58.827598.

+

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.

+ +
+ Source code in ebcc/codegen/RCC2.py +
1688
+1689
+1690
+1691
+1692
+1693
+1694
+1695
+1696
+1697
+1698
+1699
+1700
+1701
+1702
+1703
+1704
+1705
+1706
+1707
+1708
+1709
+1710
+1711
+1712
+1713
+1714
+1715
+1716
+1717
+1718
+1719
+1720
+1721
+1722
+1723
+1724
+1725
+1726
+1727
+1728
+1729
+1730
+1731
+1732
+1733
+1734
+1735
+1736
+1737
+1738
+1739
+1740
+1741
+1742
+1743
+1744
+1745
+1746
+1747
+1748
+1749
+1750
+1751
+1752
+1753
+1754
+1755
+1756
+1757
+1758
+1759
+1760
+1761
+1762
+1763
+1764
+1765
+1766
+1767
+1768
+1769
+1770
+1771
+1772
+1773
+1774
+1775
+1776
+1777
+1778
+1779
+1780
+1781
+1782
+1783
+1784
+1785
+1786
+1787
+1788
+1789
+1790
+1791
+1792
+1793
+1794
+1795
+1796
+1797
+1798
+1799
+1800
+1801
+1802
+1803
+1804
+1805
+1806
+1807
+1808
+1809
+1810
+1811
+1812
+1813
+1814
+1815
+1816
+1817
+1818
+1819
+1820
+1821
+1822
+1823
+1824
+1825
+1826
+1827
+1828
+1829
+1830
+1831
+1832
+1833
+1834
+1835
+1836
+1837
+1838
+1839
+1840
+1841
+1842
+1843
+1844
+1845
+1846
+1847
+1848
+1849
+1850
+1851
+1852
+1853
+1854
+1855
+1856
+1857
+1858
+1859
+1860
+1861
+1862
+1863
+1864
+1865
+1866
+1867
+1868
+1869
+1870
+1871
+1872
+1873
+1874
+1875
+1876
+1877
+1878
+1879
+1880
+1881
+1882
+1883
+1884
def hbar_lmatvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:51:58.827598.
+
+    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"]
+    tmp12 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5
+    tmp12 += t2
+    tmp8 = np.copy(ints.tmp115) * 2
+    del ints.tmp115
+    tmp8 += np.transpose(v.ovov, (0, 2, 1, 3))
+    tmp8 += ints.tmp112 * -1
+    del ints.tmp112
+    tmp8 += ints.tmp114 * -1
+    del ints.tmp114
+    tmp9 = np.copy(ints.tmp111)
+    del ints.tmp111
+    tmp9 += v.oovv * -1
+    tmp14 = np.copy(f.oo)
+    tmp14 += np.transpose(ints.tmp0, (1, 0))
+    tmp14 += ints.tmp24 * 2
+    tmp14 += ints.tmp22 * -1
+    tmp10 = np.copy(ints.tmp81)
+    del ints.tmp81
+    tmp10 += np.transpose(v.oooo, (0, 2, 1, 3))
+    tmp7 = np.copy(r2)
+    tmp7 += np.transpose(r2, (1, 0, 2)) * -0.5
+    tmp13 = einsum(tmp12, (0, 1, 2, 3), r2, (1, 0, 3), (2,))
+    del tmp12
+    tmp11 = np.copy(ints.tmp131) * 2
+    del ints.tmp131
+    tmp11 += f.vv * -1
+    tmp11 += ints.tmp129 * -1
+    del ints.tmp129
+    tmp11 += einsum(f.ov, (0, 1), t1, (0, 2), (2, 1))
+    tmp1 = np.copy(ints.tmp108)
+    del ints.tmp108
+    tmp1 += np.transpose(ints.tmp14, (1, 2, 0, 3))
+    del ints.tmp14
+    tmp1 += ints.tmp32
+    del ints.tmp32
+    tmp1 += ints.tmp69
+    del ints.tmp69
+    tmp1 += ints.tmp73
+    del ints.tmp73
+    tmp1 += ints.tmp82
+    del ints.tmp82
+    tmp1 += ints.tmp91
+    del ints.tmp91
+    tmp1 += ints.tmp100 * -1
+    del ints.tmp100
+    tmp1 += ints.tmp20 * -1
+    del ints.tmp20
+    tmp1 += ints.tmp44 * -1
+    del ints.tmp44
+    tmp1 += ints.tmp70 * -2
+    del ints.tmp70
+    tmp3 = np.copy(np.transpose(ints.tmp33, (0, 2, 1, 3)))
+    del ints.tmp33
+    tmp3 += ints.tmp35
+    del ints.tmp35
+    tmp3 += np.transpose(ints.tmp57, (0, 2, 1, 3))
+    del ints.tmp57
+    tmp3 += np.transpose(ints.tmp72, (0, 2, 1, 3))
+    del ints.tmp72
+    tmp3 += ints.tmp92
+    del ints.tmp92
+    tmp3 += ints.tmp21 * -1
+    del ints.tmp21
+    tmp3 += ints.tmp36 * -2
+    del ints.tmp36
+    tmp3 += np.transpose(ints.tmp60, (0, 2, 1, 3)) * -2
+    del ints.tmp60
+    tmp3 += np.transpose(ints.tmp6, (1, 0, 2, 3)) * -1
+    del ints.tmp6
+    tmp2 = np.copy(r2) * 2
+    tmp2 += np.transpose(r2, (1, 0, 2)) * -1
+    tmp4 = np.copy(v.ooov)
+    tmp4 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -0.5
+    tmp5 = np.copy(ints.tmp104) * 2
+    del ints.tmp104
+    tmp5 += ints.tmp19
+    del ints.tmp19
+    tmp5 += ints.tmp1
+    del ints.tmp1
+    tmp5 += ints.tmp29 * 2
+    del ints.tmp29
+    tmp5 += ints.tmp3
+    del ints.tmp3
+    tmp5 += ints.tmp41
+    del ints.tmp41
+    tmp5 += ints.tmp49 * 2
+    del ints.tmp49
+    tmp5 += ints.tmp51 * 2
+    del ints.tmp51
+    tmp5 += ints.tmp63 * 2
+    del ints.tmp63
+    tmp5 += ints.tmp75 * 2
+    del ints.tmp75
+    tmp5 += ints.tmp88 * 2
+    del ints.tmp88
+    tmp5 += ints.tmp98
+    del ints.tmp98
+    tmp5 += ints.tmp9
+    del ints.tmp9
+    tmp5 += f.ov * -1
+    tmp5 += ints.tmp103 * -1
+    del ints.tmp103
+    tmp5 += ints.tmp17 * -2
+    del ints.tmp17
+    tmp5 += ints.tmp26 * -1
+    del ints.tmp26
+    tmp5 += ints.tmp2 * -1
+    del ints.tmp2
+    tmp5 += ints.tmp38 * -2
+    del ints.tmp38
+    tmp5 += ints.tmp48 * -1
+    del ints.tmp48
+    tmp5 += ints.tmp4 * -2
+    del ints.tmp4
+    tmp5 += ints.tmp54 * -4
+    del ints.tmp54
+    tmp5 += ints.tmp66 * -1
+    del ints.tmp66
+    tmp5 += ints.tmp78 * -1
+    del ints.tmp78
+    tmp5 += ints.tmp87 * -1
+    del ints.tmp87
+    tmp5 += ints.tmp94 * -2
+    del ints.tmp94
+    tmp6 = np.copy(f.oo)
+    tmp6 += np.transpose(ints.tmp0, (1, 0))
+    del ints.tmp0
+    tmp6 += np.transpose(ints.tmp13, (1, 0)) * 2
+    del ints.tmp13
+    tmp6 += ints.tmp24 * 2
+    del ints.tmp24
+    tmp6 += ints.tmp86 * 2
+    del ints.tmp86
+    tmp6 += ints.tmp12 * -1
+    del ints.tmp12
+    tmp6 += ints.tmp22 * -1
+    del ints.tmp22
+    tmp6 += ints.tmp85 * -1
+    del ints.tmp85
+    tmp0 = np.copy(r2) * -0.5
+    tmp0 += np.transpose(r2, (1, 0, 2))
+    r2new = einsum(r1, (0,), f.ov, (1, 2), (1, 0, 2)) * -1
+    r2new += einsum(v.ovoo, (0, 1, 2, 3), r1, (3,), (0, 2, 1))
+    r2new += einsum(tmp8, (0, 1, 2, 3), tmp7, (0, 4, 2), (1, 4, 3)) * 2
+    del tmp8, tmp7
+    r2new += einsum(tmp9, (0, 1, 2, 3), r2, (4, 0, 2), (4, 1, 3))
+    r2new += einsum(tmp9, (0, 1, 2, 3), r2, (0, 4, 2), (1, 4, 3))
+    del tmp9
+    r2new += einsum(r2, (0, 1, 2), tmp10, (0, 1, 3, 4), (3, 4, 2))
+    del tmp10
+    r2new += einsum(tmp11, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp11
+    r2new += einsum(tmp13, (0,), v.ovov, (1, 2, 3, 0), (1, 3, 2)) * -2
+    del tmp13
+    r2new += einsum(r2, (0, 1, 2), tmp14, (0, 3), (3, 1, 2)) * -1
+    r2new += einsum(r2, (0, 1, 2), tmp14, (1, 3), (0, 3, 2)) * -1
+    del tmp14
+    r1new = einsum(tmp0, (0, 1, 2), tmp1, (0, 1, 3, 2), (3,)) * -2
+    del tmp0, tmp1
+    r1new += einsum(tmp2, (0, 1, 2), tmp3, (0, 3, 1, 2), (3,)) * -1
+    del tmp3
+    r1new += einsum(tmp4, (0, 1, 2, 3), r2, (2, 0, 3), (1,)) * 2
+    del tmp4
+    r1new += einsum(tmp5, (0, 1), tmp2, (0, 2, 1), (2,))
+    del tmp2, tmp5
+    r1new += einsum(r1, (0,), tmp6, (0, 1), (1,)) * -1
+    del tmp6
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCC2.hbar_lmatvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:52:29.113031.

+

Parameters

+

f : array + Fock matrix. +t1 : array + T1 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp1 : array +tmp10 : array +tmp103 : array +tmp106 : array +tmp107 : array +tmp109 : array +tmp11 : array +tmp111 : array +tmp113 : array +tmp14 : array +tmp16 : array +tmp17 : array +tmp19 : array +tmp2 : array +tmp24 : array +tmp27 : array +tmp29 : array +tmp3 : array +tmp31 : array +tmp34 : array +tmp37 : array +tmp4 : array +tmp40 : array +tmp43 : array +tmp46 : array +tmp48 : array +tmp51 : array +tmp53 : array +tmp55 : array +tmp56 : array +tmp57 : array +tmp59 : array +tmp62 : array +tmp69 : array +tmp70 : array +tmp73 : array +tmp76 : array +tmp79 : array +tmp80 : array +tmp83 : array +tmp84 : array +tmp87 : array +tmp88 : array +tmp90 : array +tmp92 : array +tmp96 : array +tmp98 : array

+ +
+ Source code in ebcc/codegen/RCC2.py +
1886
+1887
+1888
+1889
+1890
+1891
+1892
+1893
+1894
+1895
+1896
+1897
+1898
+1899
+1900
+1901
+1902
+1903
+1904
+1905
+1906
+1907
+1908
+1909
+1910
+1911
+1912
+1913
+1914
+1915
+1916
+1917
+1918
+1919
+1920
+1921
+1922
+1923
+1924
+1925
+1926
+1927
+1928
+1929
+1930
+1931
+1932
+1933
+1934
+1935
+1936
+1937
+1938
+1939
+1940
+1941
+1942
+1943
+1944
+1945
+1946
+1947
+1948
+1949
+1950
+1951
+1952
+1953
+1954
+1955
+1956
+1957
+1958
+1959
+1960
+1961
+1962
+1963
+1964
+1965
+1966
+1967
+1968
+1969
+1970
+1971
+1972
+1973
+1974
+1975
+1976
+1977
+1978
+1979
+1980
+1981
+1982
+1983
+1984
+1985
+1986
+1987
+1988
+1989
+1990
+1991
+1992
+1993
+1994
+1995
+1996
+1997
+1998
+1999
+2000
+2001
+2002
+2003
+2004
+2005
+2006
+2007
+2008
def hbar_lmatvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:52:29.113031.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t1 : array
+        T1 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp1 : array
+    tmp10 : array
+    tmp103 : array
+    tmp106 : array
+    tmp107 : array
+    tmp109 : array
+    tmp11 : array
+    tmp111 : array
+    tmp113 : array
+    tmp14 : array
+    tmp16 : array
+    tmp17 : array
+    tmp19 : array
+    tmp2 : array
+    tmp24 : array
+    tmp27 : array
+    tmp29 : array
+    tmp3 : array
+    tmp31 : array
+    tmp34 : array
+    tmp37 : array
+    tmp4 : array
+    tmp40 : array
+    tmp43 : array
+    tmp46 : array
+    tmp48 : array
+    tmp51 : array
+    tmp53 : array
+    tmp55 : array
+    tmp56 : array
+    tmp57 : array
+    tmp59 : array
+    tmp62 : array
+    tmp69 : array
+    tmp70 : array
+    tmp73 : array
+    tmp76 : array
+    tmp79 : array
+    tmp80 : array
+    tmp83 : array
+    tmp84 : array
+    tmp87 : array
+    tmp88 : array
+    tmp90 : array
+    tmp92 : array
+    tmp96 : array
+    tmp98 : array
+    """
+
+    tmp17 = einsum(v.ovov, (0, 1, 2, 3), t1, (2, 3), (0, 1))
+    tmp55 = einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3))
+    tmp112 = einsum(tmp17, (0, 1), t1, (2, 1), (2, 0))
+    tmp110 = einsum(tmp55, (0, 1), t1, (2, 1), (2, 0))
+    tmp16 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 3), (1, 2))
+    tmp14 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 1), (2, 3))
+    tmp97 = einsum(v.ooov, (0, 1, 2, 3), t1, (2, 3), (0, 1))
+    tmp95 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 2))
+    tmp83 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 2), (0, 4))
+    tmp79 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 3), (0, 4))
+    tmp69 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1))
+    tmp10 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp113 = einsum(t1, (0, 1), tmp112, (2, 0), (2, 1))
+    del tmp112
+    tmp111 = einsum(tmp110, (0, 1), t1, (1, 2), (0, 2))
+    del tmp110
+    tmp109 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp107 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3))
+    tmp106 = einsum(t1, (0, 1), tmp16, (1, 2), (0, 2))
+    tmp103 = einsum(t1, (0, 1), tmp14, (2, 1), (0, 2))
+    tmp98 = einsum(tmp97, (0, 1), t1, (1, 2), (0, 2))
+    del tmp97
+    tmp96 = einsum(t1, (0, 1), tmp95, (2, 0), (2, 1))
+    del tmp95
+    tmp92 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp90 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5))
+    tmp88 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp87 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5))
+    tmp84 = einsum(t1, (0, 1), tmp83, (2, 0), (2, 1))
+    tmp80 = einsum(tmp79, (0, 1), t1, (1, 2), (0, 2))
+    tmp76 = einsum(tmp69, (0, 1, 2, 3), t2, (2, 1, 4, 5), (0, 5, 4, 3))
+    tmp73 = einsum(tmp69, (0, 1, 2, 3), t2, (2, 1, 3, 4), (0, 4))
+    tmp70 = einsum(t2, (0, 1, 2, 3), tmp69, (4, 0, 1, 2), (4, 3))
+    tmp62 = einsum(t2, (0, 1, 2, 3), tmp17, (1, 3), (0, 2))
+    tmp59 = einsum(tmp17, (0, 1), t2, (2, 0, 1, 3), (2, 3))
+    tmp57 = einsum(t2, (0, 1, 2, 3), tmp55, (1, 3), (0, 2))
+    tmp56 = einsum(tmp55, (0, 1), t2, (2, 0, 1, 3), (2, 3))
+    tmp53 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 1, 2))
+    tmp51 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5))
+    tmp48 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 3, 4, 5), (0, 2, 4, 5))
+    tmp46 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 5), (0, 3, 4, 5))
+    tmp43 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (0, 4))
+    tmp40 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (0, 4))
+    tmp37 = einsum(v.ooov, (0, 1, 2, 3), t2, (2, 1, 4, 5), (0, 5, 4, 3))
+    tmp34 = einsum(v.ooov, (0, 1, 2, 3), t2, (2, 1, 3, 4), (0, 4))
+    tmp31 = einsum(v.ooov, (0, 1, 2, 3), t2, (2, 1, 4, 3), (0, 4))
+    tmp29 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 4, 1, 3), (2, 4))
+    tmp27 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 4, 1, 2), (3, 4))
+    tmp24 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp19 = einsum(v.oovv, (0, 1, 2, 3), t1, (1, 3), (0, 2))
+    tmp11 = einsum(tmp10, (0, 1), t1, (0, 2), (1, 2))
+    tmp4 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2))
+    tmp3 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 2), (0, 3))
+    tmp2 = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    tmp1 = einsum(t1, (0, 1), f.oo, (2, 0), (2, 1))
+
+    return {f"tmp1": tmp1, f"tmp10": tmp10, f"tmp103": tmp103, f"tmp106": tmp106, f"tmp107": tmp107, f"tmp109": tmp109, f"tmp11": tmp11, f"tmp111": tmp111, f"tmp113": tmp113, f"tmp14": tmp14, f"tmp16": tmp16, f"tmp17": tmp17, f"tmp19": tmp19, f"tmp2": tmp2, f"tmp24": tmp24, f"tmp27": tmp27, f"tmp29": tmp29, f"tmp3": tmp3, f"tmp31": tmp31, f"tmp34": tmp34, f"tmp37": tmp37, f"tmp4": tmp4, f"tmp40": tmp40, f"tmp43": tmp43, f"tmp46": tmp46, f"tmp48": tmp48, f"tmp51": tmp51, f"tmp53": tmp53, f"tmp55": tmp55, f"tmp56": tmp56, f"tmp57": tmp57, f"tmp59": tmp59, f"tmp62": tmp62, f"tmp69": tmp69, f"tmp70": tmp70, f"tmp73": tmp73, f"tmp76": tmp76, f"tmp79": tmp79, f"tmp80": tmp80, f"tmp83": tmp83, f"tmp84": tmp84, f"tmp87": tmp87, f"tmp88": tmp88, f"tmp90": tmp90, f"tmp92": tmp92, f"tmp96": tmp96, f"tmp98": tmp98}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCC2.hbar_lmatvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:52:29.137422.

+

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.

+ +
+ Source code in ebcc/codegen/RCC2.py +
2010
+2011
+2012
+2013
+2014
+2015
+2016
+2017
+2018
+2019
+2020
+2021
+2022
+2023
+2024
+2025
+2026
+2027
+2028
+2029
+2030
+2031
+2032
+2033
+2034
+2035
+2036
+2037
+2038
+2039
+2040
+2041
+2042
+2043
+2044
+2045
+2046
+2047
+2048
+2049
+2050
+2051
+2052
+2053
+2054
+2055
+2056
+2057
+2058
+2059
+2060
+2061
+2062
+2063
+2064
+2065
+2066
+2067
+2068
+2069
+2070
+2071
+2072
+2073
+2074
+2075
+2076
+2077
+2078
+2079
+2080
+2081
+2082
+2083
+2084
+2085
+2086
+2087
+2088
+2089
+2090
+2091
+2092
+2093
+2094
+2095
+2096
+2097
+2098
+2099
+2100
+2101
+2102
+2103
+2104
+2105
+2106
+2107
+2108
+2109
+2110
+2111
+2112
+2113
+2114
+2115
+2116
+2117
+2118
+2119
+2120
+2121
+2122
+2123
+2124
+2125
+2126
+2127
+2128
+2129
+2130
+2131
+2132
+2133
+2134
+2135
+2136
+2137
+2138
+2139
+2140
+2141
+2142
+2143
+2144
+2145
+2146
+2147
+2148
+2149
+2150
+2151
+2152
+2153
+2154
+2155
+2156
+2157
+2158
+2159
+2160
+2161
+2162
+2163
+2164
+2165
+2166
+2167
+2168
+2169
+2170
+2171
+2172
+2173
+2174
+2175
+2176
+2177
+2178
+2179
+2180
+2181
+2182
+2183
+2184
+2185
+2186
+2187
+2188
+2189
+2190
+2191
+2192
+2193
+2194
+2195
+2196
+2197
+2198
+2199
+2200
+2201
+2202
+2203
+2204
+2205
+2206
+2207
+2208
+2209
+2210
+2211
+2212
+2213
+2214
+2215
+2216
+2217
+2218
+2219
+2220
+2221
def hbar_lmatvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:52:29.137422.
+
+    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), t1, (3, 1), (2, 3, 0))
+    tmp21 = einsum(f.ov, (0, 1), t1, (0, 2), (1, 2))
+    tmp24 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5
+    tmp24 += t2
+    tmp2 = np.copy(np.transpose(r2, (2, 0, 1)))
+    tmp2 += np.transpose(r2, (2, 1, 0)) * -0.5
+    tmp15 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp15 += t2 * -1
+    tmp11 = einsum(tmp10, (0, 1, 2), t1, (3, 2), (0, 3, 1))
+    del tmp10
+    tmp5 = np.copy(np.transpose(r2, (2, 0, 1))) * -0.5
+    tmp5 += np.transpose(r2, (2, 1, 0))
+    tmp22 = np.copy(ints.tmp29) * 2
+    tmp22 += f.vv * -1
+    tmp22 += ints.tmp27 * -1
+    tmp22 += np.transpose(tmp21, (1, 0))
+    del tmp21
+    tmp19 = np.copy(ints.tmp88) * 2
+    tmp19 += np.transpose(v.ovov, (0, 2, 1, 3))
+    tmp19 += ints.tmp87 * -1
+    tmp19 += ints.tmp92 * -1
+    tmp20 = np.copy(ints.tmp90)
+    tmp20 += v.oovv * -1
+    tmp18 = einsum(r2, (0, 1, 2), t2, (3, 4, 0, 1), (2, 3, 4))
+    tmp25 = einsum(r2, (0, 1, 2), tmp24, (2, 3, 0, 1), (3,))
+    del tmp24
+    tmp23 = np.copy(f.oo)
+    tmp23 += np.transpose(ints.tmp10, (1, 0))
+    del ints.tmp10
+    tmp23 += ints.tmp79 * 2
+    del ints.tmp79
+    tmp23 += ints.tmp83 * -1
+    del ints.tmp83
+    tmp1 = np.copy(ints.tmp24)
+    tmp1 += np.transpose(ints.tmp46, (0, 2, 1, 3)) * 0.5
+    tmp1 += np.transpose(ints.tmp53, (0, 2, 1, 3)) * 0.5
+    tmp1 += np.transpose(ints.tmp76, (0, 3, 1, 2))
+    tmp1 += np.transpose(ints.tmp37, (0, 3, 1, 2)) * -0.5
+    tmp1 += np.transpose(ints.tmp48, (0, 2, 1, 3)) * -1
+    tmp1 += np.transpose(ints.tmp51, (0, 2, 1, 3)) * -1
+    tmp3 = einsum(t1, (0, 1), tmp2, (2, 1, 3), (2, 0, 3))
+    del tmp2
+    tmp16 = einsum(r1, (0,), t1, (1, 0), (1,)) * 0.5
+    tmp16 += einsum(r2, (0, 1, 2), tmp15, (2, 3, 1, 0), (3,)) * -0.5
+    del tmp15
+    tmp9 = np.copy(np.transpose(r2, (2, 0, 1))) * 2
+    tmp9 += np.transpose(r2, (2, 1, 0)) * -1
+    tmp8 = np.copy(ints.tmp106)
+    del ints.tmp106
+    tmp8 += ints.tmp113 * 2
+    del ints.tmp113
+    tmp8 += ints.tmp11
+    del ints.tmp11
+    tmp8 += ints.tmp19
+    del ints.tmp19
+    tmp8 += ints.tmp1
+    del ints.tmp1
+    tmp8 += ints.tmp34 * 2
+    del ints.tmp34
+    tmp8 += ints.tmp3
+    del ints.tmp3
+    tmp8 += ints.tmp43
+    del ints.tmp43
+    tmp8 += ints.tmp57 * 2
+    del ints.tmp57
+    tmp8 += ints.tmp59 * 2
+    del ints.tmp59
+    tmp8 += ints.tmp70 * 2
+    del ints.tmp70
+    tmp8 += ints.tmp80 * 2
+    del ints.tmp80
+    tmp8 += ints.tmp98 * 2
+    del ints.tmp98
+    tmp8 += f.ov * -1
+    tmp8 += ints.tmp103 * -2
+    del ints.tmp103
+    tmp8 += ints.tmp111 * -1
+    del ints.tmp111
+    tmp8 += ints.tmp17 * -2
+    tmp8 += ints.tmp2 * -1
+    del ints.tmp2
+    tmp8 += ints.tmp31 * -1
+    del ints.tmp31
+    tmp8 += ints.tmp40 * -2
+    del ints.tmp40
+    tmp8 += ints.tmp4 * -2
+    del ints.tmp4
+    tmp8 += ints.tmp56 * -1
+    del ints.tmp56
+    tmp8 += ints.tmp62 * -4
+    del ints.tmp62
+    tmp8 += ints.tmp73 * -1
+    del ints.tmp73
+    tmp8 += ints.tmp84 * -1
+    del ints.tmp84
+    tmp8 += ints.tmp96 * -1
+    del ints.tmp96
+    tmp4 = np.copy(ints.tmp107)
+    del ints.tmp107
+    tmp4 += v.oovv
+    tmp4 += np.transpose(ints.tmp90, (0, 1, 3, 2)) * -1
+    del ints.tmp90
+    tmp14 = np.copy(f.vv)
+    tmp14 += np.transpose(ints.tmp14, (1, 0)) * 2
+    del ints.tmp14
+    tmp14 += ints.tmp27
+    del ints.tmp27
+    tmp14 += np.transpose(ints.tmp16, (1, 0)) * -1
+    del ints.tmp16
+    tmp14 += ints.tmp29 * -2
+    del ints.tmp29
+    tmp12 = np.copy(tmp11) * -0.5
+    tmp12 += np.transpose(tmp11, (0, 2, 1))
+    tmp7 = np.copy(ints.tmp109)
+    del ints.tmp109
+    tmp7 += np.transpose(ints.tmp88, (0, 1, 3, 2)) * 2
+    del ints.tmp88
+    tmp7 += np.transpose(v.ovov, (0, 2, 3, 1))
+    tmp7 += np.transpose(ints.tmp87, (0, 1, 3, 2)) * -1
+    del ints.tmp87
+    tmp7 += np.transpose(ints.tmp92, (0, 1, 3, 2)) * -1
+    del ints.tmp92
+    tmp13 = np.copy(tmp11) * 2
+    tmp13 += np.transpose(tmp11, (0, 2, 1)) * -1
+    del tmp11
+    tmp6 = einsum(tmp5, (0, 1, 2), t1, (3, 1), (0, 3, 2)) * 2
+    tmp17 = np.copy(f.ov)
+    tmp17 += ints.tmp17 * 2
+    del ints.tmp17
+    tmp17 += ints.tmp55 * -1
+    del ints.tmp55
+    tmp0 = np.copy(ints.tmp24)
+    del ints.tmp24
+    tmp0 += np.transpose(ints.tmp46, (0, 2, 1, 3)) * 2
+    del ints.tmp46
+    tmp0 += np.transpose(ints.tmp53, (0, 2, 1, 3)) * 2
+    del ints.tmp53
+    tmp0 += np.transpose(ints.tmp76, (0, 3, 1, 2))
+    del ints.tmp76
+    tmp0 += np.transpose(ints.tmp37, (0, 3, 1, 2)) * -2
+    del ints.tmp37
+    tmp0 += np.transpose(ints.tmp48, (0, 2, 1, 3)) * -4
+    del ints.tmp48
+    tmp0 += np.transpose(ints.tmp51, (0, 2, 1, 3)) * -1
+    del ints.tmp51
+    tmp0 += np.transpose(v.ovvv, (0, 2, 1, 3)) * -2
+    tmp0 += np.transpose(v.ovvv, (0, 2, 3, 1))
+    r2new = einsum(r1, (0,), f.ov, (1, 2), (2, 0, 1)) * -1
+    r2new += einsum(v.vvvv, (0, 1, 2, 3), r2, (1, 3, 4), (0, 2, 4))
+    r2new += einsum(v.ovvv, (0, 1, 2, 3), r1, (3,), (1, 2, 0)) * -1
+    r2new += einsum(tmp18, (0, 1, 2), v.ovov, (2, 3, 1, 4), (4, 3, 0))
+    del tmp18
+    r2new += einsum(tmp19, (0, 1, 2, 3), tmp5, (0, 4, 2), (3, 4, 1)) * 2
+    del tmp5, tmp19
+    r2new += einsum(tmp20, (0, 1, 2, 3), r2, (4, 2, 0), (4, 3, 1))
+    r2new += einsum(r2, (0, 1, 2), tmp20, (2, 3, 0, 4), (4, 1, 3))
+    del tmp20
+    r2new += einsum(r2, (0, 1, 2), tmp22, (0, 3), (3, 1, 2)) * -1
+    r2new += einsum(r2, (0, 1, 2), tmp22, (1, 3), (0, 3, 2)) * -1
+    del tmp22
+    r2new += einsum(tmp23, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp23
+    r2new += einsum(v.ovov, (0, 1, 2, 3), tmp25, (2,), (1, 3, 0)) * -2
+    del tmp25
+    r1new = einsum(r2, (0, 1, 2), tmp0, (2, 3, 0, 1), (3,))
+    del tmp0
+    r1new += einsum(r2, (0, 1, 2), tmp1, (2, 3, 1, 0), (3,)) * -2
+    del tmp1
+    r1new += einsum(tmp4, (0, 1, 2, 3), tmp3, (0, 1, 3), (2,)) * 2
+    del tmp4, tmp3
+    r1new += einsum(tmp7, (0, 1, 2, 3), tmp6, (0, 1, 3), (2,))
+    del tmp7, tmp6
+    r1new += einsum(tmp9, (0, 1, 2), tmp8, (0, 1), (2,))
+    del tmp9, tmp8
+    r1new += einsum(tmp12, (0, 1, 2), ints.tmp69, (0, 1, 2, 3), (3,)) * -2
+    del tmp12, ints.tmp69
+    r1new += einsum(tmp13, (0, 1, 2), v.ooov, (0, 1, 2, 3), (3,)) * -1
+    del tmp13
+    r1new += einsum(r1, (0,), tmp14, (0, 1), (1,))
+    del tmp14
+    r1new += einsum(tmp17, (0, 1), tmp16, (0,), (1,)) * -2
+    del tmp17, tmp16
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/RCC3/index.html b/reference/codegen/RCC3/index.html new file mode 100644 index 00000000..348db2e0 --- /dev/null +++ b/reference/codegen/RCC3/index.html @@ -0,0 +1,1413 @@ + + + + + + + + RCC3 - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-09T22:12:49.167824
  • +
  • python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0]
  • +
  • albert version: 0.0.0
  • +
  • caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py
  • +
  • node: fv-az1487-369
  • +
  • system: Linux
  • +
  • processor: x86_64
  • +
  • release: 6.5.0-1025-azure
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.RCC3.energy(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T22:12:49.868579.

+

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.

+ +
+ Source code in ebcc/codegen/RCC3.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
def energy(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T22:12:49.868579.
+
+    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))) * -0.5
+    tmp0 += np.transpose(v.ovov, (0, 2, 1, 3))
+    tmp1 = np.copy(f.ov)
+    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
+    e_cc += einsum(t2, (0, 1, 2, 3), v.ovov, (0, 2, 1, 3), ()) * 2
+    e_cc += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 3, 1), ()) * -1
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCC3.update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T22:13:42.242343.

+

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.

+ +
+ Source code in ebcc/codegen/RCC3.py +
 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T22:13:42.242343.
+
+    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.
+    """
+
+    tmp3 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3))
+    tmp5 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1
+    tmp5 += np.transpose(v.ovov, (0, 2, 1, 3)) * 2
+    tmp102 = einsum(t1, (0, 1), tmp3, (2, 3, 4, 1), (2, 0, 4, 3))
+    tmp26 = np.copy(tmp3) * -1
+    tmp26 += np.transpose(tmp3, (0, 2, 1, 3)) * 2
+    tmp6 = einsum(t1, (0, 1), tmp5, (0, 2, 1, 3), (2, 3))
+    tmp47 = einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    tmp47 += np.transpose(t2, (0, 1, 3, 2)) * -2
+    tmp47 += t2
+    tmp34 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp103 = einsum(t1, (0, 1), tmp102, (2, 3, 0, 4), (3, 2, 4, 1))
+    del tmp102
+    tmp99 = einsum(tmp3, (0, 1, 2, 3), t2, (4, 5, 6, 3), (0, 4, 5, 2, 1, 6))
+    tmp90 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2))
+    tmp40 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp56 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp1 = np.copy(t2)
+    tmp1 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    t2new = einsum(tmp1, (0, 1, 2, 3), v.vvvv, (4, 3, 5, 2), (1, 0, 4, 5))
+    tmp10 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp19 = einsum(t1, (0, 1), v.ovov, (2, 3, 0, 1), (2, 3))
+    tmp22 = np.copy(v.ovvv) * 2
+    tmp22 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -1
+    tmp30 = np.copy(v.ooov) * 2
+    tmp30 += np.transpose(v.ooov, (0, 2, 1, 3)) * -1
+    tmp27 = einsum(t2, (0, 1, 2, 3), tmp26, (4, 5, 1, 3), (0, 4, 5, 2))
+    del tmp26
+    tmp25 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 2), (0, 4, 5, 3))
+    tmp15 = einsum(t1, (0, 1), tmp3, (2, 3, 0, 4), (2, 3, 1, 4))
+    tmp16 = einsum(tmp5, (0, 1, 2, 3), t2, (4, 0, 5, 2), (4, 1, 5, 3))
+    del tmp5
+    tmp74 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1)))
+    tmp74 += np.transpose(v.ovov, (0, 2, 1, 3)) * -0.5
+    tmp69 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.5
+    tmp69 += np.transpose(v.ovov, (0, 2, 1, 3))
+    tmp49 = einsum(t2, (0, 1, 2, 3), tmp6, (4, 2), (0, 1, 4, 3))
+    tmp46 = einsum(tmp3, (0, 1, 2, 3), t2, (4, 2, 3, 5), (0, 4, 1, 5))
+    tmp44 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp45 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp48 = einsum(v.ooov, (0, 1, 2, 3), tmp47, (2, 4, 5, 3), (0, 1, 4, 5))
+    del tmp47
+    tmp104 = np.copy(np.transpose(tmp34, (2, 1, 0, 3))) * -1
+    tmp104 += tmp103
+    del tmp103
+    tmp100 = einsum(tmp99, (0, 1, 2, 3, 4, 5), t1, (4, 6), (0, 1, 2, 3, 6, 5))
+    del tmp99
+    tmp41 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3))
+    tmp119 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 6, 3), (0, 1, 4, 6, 2, 5))
+    tmp91 = einsum(tmp90, (0, 1, 2, 3, 4, 5), t1, (4, 6), (0, 1, 2, 3, 6, 5))
+    del tmp90
+    tmp92 = einsum(tmp40, (0, 1, 2, 3), t2, (4, 5, 6, 2), (0, 4, 5, 1, 6, 3))
+    tmp89 = einsum(t2, (0, 1, 2, 3), tmp56, (4, 5, 6, 1), (4, 0, 6, 5, 2, 3))
+    tmp109 = einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp107 = einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp81 = einsum(tmp1, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp60 = einsum(v.ovov, (0, 1, 2, 3), t3, (4, 5, 2, 6, 1, 3), (4, 5, 0, 6))
+    tmp36 = np.copy(f.oo)
+    tmp36 += tmp10
+    tmp20 = np.copy(f.ov)
+    tmp20 += tmp19 * 2
+    del tmp19
+    tmp23 = einsum(tmp22, (0, 1, 2, 3), t1, (0, 1), (2, 3))
+    del tmp22
+    tmp31 = einsum(t1, (0, 1), tmp30, (2, 3, 0, 1), (2, 3))
+    del tmp30
+    tmp28 = np.copy(tmp3)
+    tmp28 += tmp25 * -1
+    del tmp25
+    tmp28 += np.transpose(tmp27, (1, 0, 2, 3))
+    del tmp27
+    tmp17 = np.copy(tmp15)
+    del tmp15
+    tmp17 += tmp16 * -1
+    tmp72 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4)))
+    tmp72 += einsum(t1, (0, 1), t2, (2, 3, 4, 5), (0, 2, 3, 4, 1, 5)) * -1
+    tmp67 = einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3))
+    tmp65 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (6, 3, 2, 5), (0, 1, 6, 4))
+    tmp75 = einsum(tmp74, (0, 1, 2, 3), t2, (4, 0, 2, 3), (4, 1)) * 2
+    del tmp74
+    tmp70 = einsum(tmp69, (0, 1, 2, 3), t2, (0, 1, 4, 3), (4, 2))
+    del tmp69
+    tmp50 = np.copy(np.transpose(tmp44, (0, 2, 1, 3))) * -1
+    tmp50 += np.transpose(tmp45, (0, 2, 1, 3))
+    del tmp45
+    tmp50 += np.transpose(tmp46, (0, 2, 1, 3))
+    del tmp46
+    tmp50 += np.transpose(tmp48, (2, 1, 0, 3))
+    del tmp48
+    tmp50 += np.transpose(tmp49, (1, 2, 0, 3)) * -1
+    del tmp49
+    tmp52 = einsum(t1, (0, 1), tmp6, (2, 1), (0, 2))
+    tmp8 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp8 += t2 * 2
+    tmp105 = einsum(t2, (0, 1, 2, 3), tmp104, (4, 5, 1, 6), (0, 4, 5, 3, 2, 6))
+    del tmp104
+    tmp101 = einsum(t1, (0, 1), tmp100, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6))
+    del tmp100
+    tmp95 = einsum(tmp41, (0, 1, 2, 3), t2, (4, 5, 6, 3), (0, 4, 5, 1, 6, 2))
+    tmp124 = einsum(t1, (0, 1), tmp56, (2, 3, 4, 0), (2, 4, 3, 1))
+    tmp87 = einsum(t1, (0, 1), tmp40, (2, 3, 1, 4), (0, 2, 3, 4))
+    tmp118 = einsum(t2, (0, 1, 2, 3), tmp3, (4, 5, 1, 6), (4, 0, 5, 2, 3, 6))
+    tmp120 = einsum(t1, (0, 1), tmp119, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6))
+    del tmp119
+    tmp93 = np.copy(np.transpose(tmp89, (0, 1, 3, 2, 4, 5)))
+    del tmp89
+    tmp93 += np.transpose(tmp91, (0, 1, 3, 2, 4, 5))
+    del tmp91
+    tmp93 += np.transpose(tmp92, (0, 1, 3, 2, 4, 5)) * -1
+    del tmp92
+    tmp113 = np.copy(f.oo)
+    tmp113 += tmp10
+    t3new = einsum(t3, (0, 1, 2, 3, 4, 5), tmp113, (1, 6), (0, 6, 2, 3, 4, 5)) * -1
+    tmp122 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6))
+    tmp115 = einsum(t3, (0, 1, 2, 3, 4, 5), f.ov, (6, 5), (6, 0, 2, 1, 3, 4))
+    tmp110 = einsum(t2, (0, 1, 2, 3), tmp109, (4, 5, 3, 6), (4, 0, 1, 2, 6, 5))
+    del tmp109
+    tmp108 = einsum(t2, (0, 1, 2, 3), tmp107, (4, 1, 5, 6), (0, 5, 4, 6, 2, 3))
+    del tmp107
+    tmp83 = np.copy(v.oooo)
+    tmp83 += np.transpose(tmp81, (3, 1, 2, 0))
+    tmp58 = einsum(v.ovvv, (0, 1, 2, 3), t3, (4, 5, 0, 1, 6, 3), (4, 5, 6, 2))
+    tmp61 = einsum(t1, (0, 1), tmp60, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp60
+    tmp59 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp3, (6, 2, 1, 5), (6, 0, 3, 4))
+    tmp57 = einsum(tmp56, (0, 1, 2, 3), t2, (2, 3, 4, 5), (0, 1, 4, 5))
+    del tmp56
+    tmp55 = einsum(t3, (0, 1, 2, 3, 4, 5), v.ooov, (6, 0, 2, 5), (1, 6, 3, 4))
+    tmp78 = np.copy(t2)
+    tmp78 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    tmp37 = einsum(tmp36, (0, 1), t2, (2, 0, 3, 4), (2, 1, 4, 3))
+    del tmp36
+    tmp35 = einsum(t1, (0, 1), tmp34, (0, 2, 3, 4), (2, 3, 1, 4))
+    del tmp34
+    tmp14 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5))
+    t2new += np.transpose(tmp14, (1, 0, 3, 2)) * -1
+    tmp21 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp20, (2, 5), (0, 1, 3, 4))
+    del tmp20
+    tmp24 = einsum(tmp23, (0, 1), t2, (2, 3, 1, 4), (2, 3, 4, 0))
+    del tmp23
+    tmp32 = einsum(t2, (0, 1, 2, 3), tmp31, (4, 1), (0, 4, 3, 2))
+    del tmp31
+    tmp29 = einsum(t1, (0, 1), tmp28, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp28
+    tmp18 = einsum(t2, (0, 1, 2, 3), tmp17, (4, 1, 5, 2), (0, 4, 3, 5))
+    del tmp17
+    tmp73 = einsum(tmp72, (0, 1, 2, 3, 4, 5), v.ovvv, (0, 3, 6, 5), (1, 2, 6, 4))
+    del tmp72
+    tmp68 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp67, (2, 5), (0, 1, 3, 4))
+    del tmp67
+    tmp64 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp3, (6, 2, 0, 5), (6, 1, 3, 4))
+    tmp66 = einsum(t1, (0, 1), tmp65, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp65
+    tmp76 = einsum(t2, (0, 1, 2, 3), tmp75, (4, 1), (0, 4, 3, 2))
+    del tmp75
+    tmp63 = einsum(v.ooov, (0, 1, 2, 3), t3, (4, 1, 2, 5, 6, 3), (4, 0, 5, 6))
+    tmp71 = einsum(tmp70, (0, 1), t2, (2, 3, 1, 4), (2, 3, 4, 0)) * 2
+    del tmp70
+    tmp51 = einsum(t1, (0, 1), tmp50, (2, 0, 3, 4), (2, 3, 1, 4))
+    del tmp50
+    tmp39 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2))
+    tmp53 = einsum(tmp52, (0, 1), t2, (2, 1, 3, 4), (2, 0, 4, 3))
+    del tmp52
+    tmp42 = einsum(tmp41, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp43 = einsum(tmp8, (0, 1, 2, 3), tmp40, (4, 0, 2, 5), (1, 4, 3, 5))
+    tmp12 = np.copy(v.ooov)
+    tmp12 += np.transpose(v.ooov, (0, 2, 1, 3)) * -0.5
+    tmp11 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * 2
+    tmp11 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1
+    tmp106 = np.copy(tmp101)
+    del tmp101
+    tmp106 += np.transpose(tmp105, (2, 1, 0, 5, 4, 3))
+    del tmp105
+    t3new += np.transpose(tmp106, (2, 1, 0, 4, 5, 3))
+    t3new += np.transpose(tmp106, (2, 1, 0, 3, 5, 4)) * -1
+    t3new += np.transpose(tmp106, (1, 2, 0, 5, 4, 3))
+    t3new += np.transpose(tmp106, (1, 2, 0, 3, 4, 5)) * -1
+    t3new += np.transpose(tmp106, (2, 0, 1, 5, 3, 4)) * -1
+    t3new += np.transpose(tmp106, (2, 0, 1, 4, 3, 5))
+    t3new += np.transpose(tmp106, (1, 0, 2, 5, 3, 4))
+    t3new += np.transpose(tmp106, (1, 0, 2, 4, 3, 5)) * -1
+    t3new += np.transpose(tmp106, (0, 2, 1, 5, 4, 3)) * -1
+    t3new += np.transpose(tmp106, (0, 2, 1, 3, 4, 5))
+    t3new += np.transpose(tmp106, (0, 1, 2, 4, 5, 3)) * -1
+    t3new += np.transpose(tmp106, (0, 1, 2, 3, 5, 4))
+    del tmp106
+    tmp97 = einsum(t3, (0, 1, 2, 3, 4, 5), f.vv, (6, 5), (0, 2, 1, 6, 3, 4))
+    t3new += np.transpose(tmp97, (0, 2, 1, 4, 5, 3))
+    t3new += np.transpose(tmp97, (0, 2, 1, 3, 5, 4)) * -1
+    del tmp97
+    tmp96 = einsum(t1, (0, 1), tmp95, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6))
+    del tmp95
+    t3new += np.transpose(tmp96, (2, 1, 0, 5, 4, 3)) * -1
+    t3new += np.transpose(tmp96, (2, 1, 0, 3, 4, 5))
+    t3new += np.transpose(tmp96, (1, 2, 0, 4, 5, 3)) * -1
+    t3new += np.transpose(tmp96, (1, 2, 0, 3, 5, 4))
+    t3new += np.transpose(tmp96, (2, 0, 1, 5, 3, 4)) * -1
+    t3new += np.transpose(tmp96, (2, 0, 1, 4, 3, 5))
+    t3new += np.transpose(tmp96, (1, 0, 2, 5, 3, 4))
+    t3new += np.transpose(tmp96, (1, 0, 2, 4, 3, 5)) * -1
+    t3new += np.transpose(tmp96, (0, 2, 1, 4, 5, 3))
+    t3new += np.transpose(tmp96, (0, 2, 1, 3, 5, 4)) * -1
+    t3new += np.transpose(tmp96, (0, 1, 2, 5, 4, 3))
+    t3new += tmp96 * -1
+    del tmp96
+    tmp125 = einsum(t2, (0, 1, 2, 3), tmp124, (4, 1, 5, 6), (4, 0, 5, 6, 2, 3))
+    del tmp124
+    t3new += np.transpose(tmp125, (2, 1, 0, 5, 4, 3))
+    t3new += np.transpose(tmp125, (2, 1, 0, 3, 4, 5)) * -1
+    t3new += np.transpose(tmp125, (1, 2, 0, 4, 5, 3))
+    t3new += np.transpose(tmp125, (1, 2, 0, 3, 5, 4)) * -1
+    t3new += np.transpose(tmp125, (2, 0, 1, 5, 3, 4))
+    t3new += np.transpose(tmp125, (2, 0, 1, 4, 3, 5)) * -1
+    t3new += np.transpose(tmp125, (1, 0, 2, 5, 3, 4)) * -1
+    t3new += np.transpose(tmp125, (1, 0, 2, 4, 3, 5))
+    t3new += np.transpose(tmp125, (0, 2, 1, 4, 5, 3)) * -1
+    t3new += np.transpose(tmp125, (0, 2, 1, 3, 5, 4))
+    t3new += np.transpose(tmp125, (0, 1, 2, 5, 4, 3)) * -1
+    t3new += tmp125
+    del tmp125
+    tmp88 = einsum(t2, (0, 1, 2, 3), tmp87, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6))
+    del tmp87
+    t3new += np.transpose(tmp88, (2, 1, 0, 4, 5, 3))
+    t3new += np.transpose(tmp88, (2, 1, 0, 3, 5, 4)) * -1
+    t3new += np.transpose(tmp88, (1, 2, 0, 5, 3, 4)) * -1
+    t3new += np.transpose(tmp88, (1, 2, 0, 4, 3, 5))
+    t3new += np.transpose(tmp88, (2, 0, 1, 5, 4, 3))
+    t3new += np.transpose(tmp88, (2, 0, 1, 3, 4, 5)) * -1
+    t3new += np.transpose(tmp88, (1, 0, 2, 5, 4, 3)) * -1
+    t3new += np.transpose(tmp88, (1, 0, 2, 3, 4, 5))
+    t3new += np.transpose(tmp88, (0, 2, 1, 5, 3, 4))
+    t3new += np.transpose(tmp88, (0, 2, 1, 4, 3, 5)) * -1
+    t3new += np.transpose(tmp88, (0, 1, 2, 4, 5, 3)) * -1
+    t3new += np.transpose(tmp88, (0, 1, 2, 3, 5, 4))
+    del tmp88
+    tmp126 = np.copy(f.vv)
+    tmp126 += einsum(f.ov, (0, 1), t1, (0, 2), (1, 2)) * -1
+    t3new += einsum(tmp126, (0, 1), t3, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6))
+    del tmp126
+    tmp98 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2))
+    t3new += np.transpose(tmp98, (2, 1, 0, 4, 5, 3))
+    t3new += np.transpose(tmp98, (2, 1, 0, 3, 5, 4)) * -1
+    t3new += np.transpose(tmp98, (1, 2, 0, 5, 4, 3))
+    t3new += np.transpose(tmp98, (1, 2, 0, 3, 4, 5)) * -1
+    t3new += np.transpose(tmp98, (2, 0, 1, 5, 3, 4)) * -1
+    t3new += np.transpose(tmp98, (2, 0, 1, 4, 3, 5))
+    t3new += np.transpose(tmp98, (1, 0, 2, 5, 3, 4))
+    t3new += np.transpose(tmp98, (1, 0, 2, 4, 3, 5)) * -1
+    t3new += np.transpose(tmp98, (0, 2, 1, 5, 4, 3)) * -1
+    t3new += np.transpose(tmp98, (0, 2, 1, 3, 4, 5))
+    t3new += np.transpose(tmp98, (0, 1, 2, 4, 5, 3)) * -1
+    t3new += np.transpose(tmp98, (0, 1, 2, 3, 5, 4))
+    del tmp98
+    tmp121 = np.copy(tmp118)
+    del tmp118
+    tmp121 += tmp120
+    del tmp120
+    t3new += np.transpose(tmp121, (2, 1, 0, 5, 3, 4)) * -1
+    t3new += np.transpose(tmp121, (2, 1, 0, 4, 3, 5))
+    t3new += np.transpose(tmp121, (1, 2, 0, 4, 5, 3))
+    t3new += np.transpose(tmp121, (1, 2, 0, 3, 5, 4)) * -1
+    t3new += np.transpose(tmp121, (2, 0, 1, 5, 4, 3)) * -1
+    t3new += np.transpose(tmp121, (2, 0, 1, 3, 4, 5))
+    t3new += np.transpose(tmp121, (1, 0, 2, 5, 4, 3))
+    t3new += np.transpose(tmp121, (1, 0, 2, 3, 4, 5)) * -1
+    t3new += np.transpose(tmp121, (0, 2, 1, 4, 5, 3)) * -1
+    t3new += np.transpose(tmp121, (0, 2, 1, 3, 5, 4))
+    t3new += np.transpose(tmp121, (0, 1, 2, 5, 3, 4))
+    t3new += np.transpose(tmp121, (0, 1, 2, 4, 3, 5)) * -1
+    del tmp121
+    tmp94 = einsum(t1, (0, 1), tmp93, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6))
+    del tmp93
+    t3new += np.transpose(tmp94, (2, 1, 0, 5, 4, 3)) * -1
+    t3new += np.transpose(tmp94, (2, 1, 0, 3, 4, 5))
+    t3new += np.transpose(tmp94, (1, 2, 0, 5, 3, 4)) * -1
+    t3new += np.transpose(tmp94, (1, 2, 0, 4, 3, 5))
+    t3new += np.transpose(tmp94, (2, 0, 1, 4, 5, 3)) * -1
+    t3new += np.transpose(tmp94, (2, 0, 1, 3, 5, 4))
+    t3new += np.transpose(tmp94, (1, 0, 2, 4, 5, 3))
+    t3new += np.transpose(tmp94, (1, 0, 2, 3, 5, 4)) * -1
+    t3new += np.transpose(tmp94, (0, 2, 1, 5, 3, 4))
+    t3new += np.transpose(tmp94, (0, 2, 1, 4, 3, 5)) * -1
+    t3new += np.transpose(tmp94, (0, 1, 2, 5, 4, 3))
+    t3new += tmp94 * -1
+    del tmp94
+    tmp114 = einsum(tmp113, (0, 1), t3, (2, 3, 0, 4, 5, 6), (2, 3, 1, 4, 6, 5)) * -1
+    del tmp113
+    t3new += np.transpose(tmp114, (0, 1, 2, 4, 5, 3)) * -1
+    t3new += np.transpose(tmp114, (2, 1, 0, 4, 5, 3))
+    del tmp114
+    tmp123 = einsum(t1, (0, 1), tmp122, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6))
+    del tmp122
+    t3new += np.transpose(tmp123, (2, 1, 0, 4, 5, 3))
+    t3new += np.transpose(tmp123, (2, 1, 0, 3, 5, 4)) * -1
+    t3new += np.transpose(tmp123, (1, 2, 0, 5, 3, 4)) * -1
+    t3new += np.transpose(tmp123, (1, 2, 0, 4, 3, 5))
+    t3new += np.transpose(tmp123, (2, 0, 1, 5, 4, 3))
+    t3new += np.transpose(tmp123, (2, 0, 1, 3, 4, 5)) * -1
+    t3new += np.transpose(tmp123, (1, 0, 2, 5, 4, 3)) * -1
+    t3new += np.transpose(tmp123, (1, 0, 2, 3, 4, 5))
+    t3new += np.transpose(tmp123, (0, 2, 1, 5, 3, 4))
+    t3new += np.transpose(tmp123, (0, 2, 1, 4, 3, 5)) * -1
+    t3new += np.transpose(tmp123, (0, 1, 2, 4, 5, 3)) * -1
+    t3new += np.transpose(tmp123, (0, 1, 2, 3, 5, 4))
+    del tmp123
+    tmp117 = einsum(tmp44, (0, 1, 2, 3), t2, (4, 2, 5, 6), (0, 4, 1, 5, 6, 3))
+    del tmp44
+    t3new += np.transpose(tmp117, (2, 1, 0, 5, 3, 4))
+    t3new += np.transpose(tmp117, (2, 1, 0, 4, 3, 5)) * -1
+    t3new += np.transpose(tmp117, (1, 2, 0, 5, 4, 3))
+    t3new += np.transpose(tmp117, (1, 2, 0, 3, 4, 5)) * -1
+    t3new += np.transpose(tmp117, (2, 0, 1, 4, 5, 3)) * -1
+    t3new += np.transpose(tmp117, (2, 0, 1, 3, 5, 4))
+    t3new += np.transpose(tmp117, (1, 0, 2, 4, 5, 3))
+    t3new += np.transpose(tmp117, (1, 0, 2, 3, 5, 4)) * -1
+    t3new += np.transpose(tmp117, (0, 2, 1, 5, 4, 3)) * -1
+    t3new += np.transpose(tmp117, (0, 2, 1, 3, 4, 5))
+    t3new += np.transpose(tmp117, (0, 1, 2, 5, 3, 4)) * -1
+    t3new += np.transpose(tmp117, (0, 1, 2, 4, 3, 5))
+    del tmp117
+    tmp116 = einsum(t1, (0, 1), tmp115, (0, 2, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6))
+    del tmp115
+    t3new += np.transpose(tmp116, (0, 2, 1, 4, 5, 3)) * -1
+    t3new += np.transpose(tmp116, (0, 2, 1, 3, 5, 4))
+    del tmp116
+    tmp112 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 6), (4, 0, 2, 5, 6, 3))
+    t3new += np.transpose(tmp112, (2, 1, 0, 5, 4, 3)) * -1
+    t3new += np.transpose(tmp112, (2, 1, 0, 3, 4, 5))
+    t3new += np.transpose(tmp112, (1, 2, 0, 4, 5, 3)) * -1
+    t3new += np.transpose(tmp112, (1, 2, 0, 3, 5, 4))
+    t3new += np.transpose(tmp112, (2, 0, 1, 5, 3, 4)) * -1
+    t3new += np.transpose(tmp112, (2, 0, 1, 4, 3, 5))
+    t3new += np.transpose(tmp112, (1, 0, 2, 5, 3, 4))
+    t3new += np.transpose(tmp112, (1, 0, 2, 4, 3, 5)) * -1
+    t3new += np.transpose(tmp112, (0, 2, 1, 4, 5, 3))
+    t3new += np.transpose(tmp112, (0, 2, 1, 3, 5, 4)) * -1
+    t3new += np.transpose(tmp112, (0, 1, 2, 5, 4, 3))
+    t3new += tmp112 * -1
+    del tmp112
+    tmp111 = np.copy(tmp108)
+    del tmp108
+    tmp111 += tmp110
+    del tmp110
+    t3new += np.transpose(tmp111, (2, 1, 0, 5, 3, 4))
+    t3new += np.transpose(tmp111, (2, 1, 0, 4, 3, 5)) * -1
+    t3new += np.transpose(tmp111, (1, 2, 0, 4, 5, 3)) * -1
+    t3new += np.transpose(tmp111, (1, 2, 0, 3, 5, 4))
+    t3new += np.transpose(tmp111, (2, 0, 1, 5, 4, 3))
+    t3new += np.transpose(tmp111, (2, 0, 1, 3, 4, 5)) * -1
+    t3new += np.transpose(tmp111, (1, 0, 2, 5, 4, 3)) * -1
+    t3new += np.transpose(tmp111, (1, 0, 2, 3, 4, 5))
+    t3new += np.transpose(tmp111, (0, 2, 1, 4, 5, 3))
+    t3new += np.transpose(tmp111, (0, 2, 1, 3, 5, 4)) * -1
+    t3new += np.transpose(tmp111, (0, 1, 2, 5, 3, 4)) * -1
+    t3new += np.transpose(tmp111, (0, 1, 2, 4, 3, 5))
+    del tmp111
+    tmp82 = np.copy(v.oooo)
+    tmp82 += np.transpose(tmp81, (3, 1, 0, 2))
+    del tmp81
+    t2new += einsum(tmp82, (0, 1, 2, 3), t2, (0, 3, 4, 5), (2, 1, 5, 4))
+    del tmp82
+    tmp84 = np.copy(v.ooov) * -1
+    tmp84 += einsum(t1, (0, 1), tmp83, (0, 2, 3, 4), (3, 4, 2, 1))
+    del tmp83
+    t2new += einsum(tmp84, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4))
+    del tmp84
+    tmp62 = np.copy(tmp55)
+    del tmp55
+    tmp62 += tmp57 * -1
+    del tmp57
+    tmp62 += tmp58
+    del tmp58
+    tmp62 += tmp59
+    del tmp59
+    tmp62 += tmp61
+    del tmp61
+    t2new += np.transpose(tmp62, (1, 0, 2, 3)) * -1
+    t2new += np.transpose(tmp62, (0, 1, 3, 2)) * -1
+    del tmp62
+    tmp79 = einsum(tmp78, (0, 1, 2, 3), tmp41, (4, 0, 3, 5), (4, 1, 5, 2))
+    del tmp41, tmp78
+    t2new += np.transpose(tmp79, (1, 0, 2, 3)) * -1
+    t2new += np.transpose(tmp79, (0, 1, 3, 2)) * -1
+    del tmp79
+    tmp38 = np.copy(tmp35)
+    del tmp35
+    tmp38 += np.transpose(tmp37, (1, 0, 3, 2))
+    del tmp37
+    t2new += np.transpose(tmp38, (1, 0, 2, 3)) * -1
+    t2new += np.transpose(tmp38, (0, 1, 3, 2)) * -1
+    del tmp38
+    tmp86 = np.copy(v.oovv) * -1
+    tmp86 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5))
+    t2new += einsum(t2, (0, 1, 2, 3), tmp86, (4, 1, 5, 2), (0, 4, 5, 3))
+    del tmp86
+    tmp80 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * 2
+    tmp80 += v.oovv * -1
+    tmp80 += tmp16 * 2
+    del tmp16
+    t2new += einsum(tmp80, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp80
+    tmp85 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * -1
+    tmp85 += tmp14
+    del tmp14
+    t2new += einsum(tmp85, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 5, 2))
+    del tmp85
+    tmp33 = np.copy(np.transpose(tmp18, (1, 0, 3, 2)))
+    del tmp18
+    tmp33 += tmp21
+    del tmp21
+    tmp33 += np.transpose(tmp24, (1, 0, 2, 3))
+    del tmp24
+    tmp33 += tmp29 * -1
+    del tmp29
+    tmp33 += np.transpose(tmp32, (0, 1, 3, 2)) * -1
+    del tmp32
+    t2new += np.transpose(tmp33, (1, 0, 3, 2))
+    t2new += tmp33
+    del tmp33
+    tmp77 = np.copy(tmp63)
+    del tmp63
+    tmp77 += tmp64
+    del tmp64
+    tmp77 += tmp66
+    del tmp66
+    tmp77 += tmp68
+    del tmp68
+    tmp77 += np.transpose(tmp71, (1, 0, 2, 3))
+    del tmp71
+    tmp77 += np.transpose(tmp73, (0, 1, 3, 2)) * -1
+    del tmp73
+    tmp77 += np.transpose(tmp76, (0, 1, 3, 2))
+    del tmp76
+    t2new += np.transpose(tmp77, (1, 0, 3, 2)) * -1
+    t2new += tmp77 * -1
+    del tmp77
+    tmp54 = np.copy(tmp39)
+    del tmp39
+    tmp54 += tmp40
+    del tmp40
+    tmp54 += tmp42 * -1
+    del tmp42
+    tmp54 += np.transpose(tmp43, (1, 0, 2, 3))
+    del tmp43
+    tmp54 += tmp51
+    del tmp51
+    tmp54 += np.transpose(tmp53, (1, 0, 3, 2)) * -1
+    del tmp53
+    t2new += np.transpose(tmp54, (1, 0, 2, 3))
+    t2new += np.transpose(tmp54, (0, 1, 3, 2))
+    del tmp54
+    tmp7 = np.copy(f.ov)
+    tmp7 += tmp6
+    del tmp6
+    t1new = einsum(tmp8, (0, 1, 2, 3), tmp7, (0, 2), (1, 3))
+    del tmp8, tmp7
+    tmp13 = np.copy(f.oo)
+    tmp13 += tmp10
+    del tmp10
+    tmp13 += einsum(tmp1, (0, 1, 2, 3), tmp11, (0, 4, 3, 2), (4, 1))
+    del tmp11
+    tmp13 += einsum(t1, (0, 1), tmp12, (2, 3, 0, 1), (3, 2)) * 2
+    del tmp12
+    t1new += einsum(t1, (0, 1), tmp13, (0, 2), (2, 1)) * -1
+    del tmp13
+    tmp4 = np.copy(v.ooov)
+    tmp4 += np.transpose(v.ooov, (0, 2, 1, 3)) * -0.5
+    tmp4 += tmp3 * -0.5
+    tmp4 += np.transpose(tmp3, (0, 2, 1, 3))
+    del tmp3
+    t1new += einsum(tmp4, (0, 1, 2, 3), t2, (1, 2, 4, 3), (0, 4)) * -2
+    del tmp4
+    tmp0 = np.copy(np.transpose(t3, (0, 2, 1, 3, 5, 4))) * -1
+    tmp0 += np.transpose(t3, (0, 1, 2, 3, 5, 4))
+    tmp0 += np.transpose(t3, (0, 1, 2, 4, 3, 5)) * 3
+    t1new += einsum(tmp0, (0, 1, 2, 3, 4, 5), v.ovov, (0, 4, 1, 3), (2, 5)) * 0.5
+    del tmp0
+    tmp2 = np.copy(v.ovvv) * -0.5
+    tmp2 += np.transpose(v.ovvv, (0, 2, 1, 3))
+    t1new += einsum(tmp1, (0, 1, 2, 3), tmp2, (0, 3, 2, 4), (1, 4)) * 2
+    del tmp1, tmp2
+    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
+    t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    t1new += einsum(t3, (0, 1, 2, 3, 4, 5), v.ovov, (1, 5, 2, 4), (0, 3)) * -0.5
+    t1new += f.ov
+    t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) * -1
+    t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (4, 0, 3, 5)) * -1
+    t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) * 2
+    t2new += einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4)) * -1
+    t2new += np.transpose(v.ovov, (0, 2, 1, 3))
+
+    return {f"t1new": t1new, f"t2new": t2new, f"t3new": t3new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/RCCD/index.html b/reference/codegen/RCCD/index.html new file mode 100644 index 00000000..00812ef9 --- /dev/null +++ b/reference/codegen/RCCD/index.html @@ -0,0 +1,2885 @@ + + + + + + + + RCCD - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-17T18:48:06.061718
  • +
  • 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.8.0-40-generic
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.RCCD.energy(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:06.214643.

+

Parameters

+

t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

e_cc : float + Coupled cluster energy.

+ +
+ Source code in ebcc/codegen/RCCD.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
def energy(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:06.214643.
+
+    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), ()) * 2
+    e_cc += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 3, 1), ()) * -1
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCD.update_amps(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:08.356370.

+

Parameters

+

f : array + Fock matrix. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

t2new : array + Updated T2 residuals.

+ +
+ Source code in ebcc/codegen/RCCD.py +
 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
def update_amps(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:08.356370.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    t2new : array
+        Updated T2 residuals.
+    """
+
+    tmp8 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1)))
+    tmp8 += np.transpose(v.ovov, (0, 2, 1, 3)) * -0.5
+    tmp5 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.5
+    tmp5 += np.transpose(v.ovov, (0, 2, 1, 3))
+    tmp2 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * 2
+    tmp2 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1
+    tmp9 = einsum(tmp8, (0, 1, 2, 3), t2, (4, 0, 2, 3), (4, 1)) * 2
+    del tmp8
+    tmp6 = einsum(t2, (0, 1, 2, 3), tmp5, (0, 1, 4, 3), (2, 4))
+    del tmp5
+    tmp3 = einsum(tmp2, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 1, 5, 2))
+    del tmp2
+    tmp0 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5))
+    tmp10 = einsum(t2, (0, 1, 2, 3), tmp9, (4, 1), (0, 4, 3, 2))
+    del tmp9
+    tmp7 = einsum(tmp6, (0, 1), t2, (2, 3, 1, 4), (2, 3, 4, 0)) * 2
+    del tmp6
+    tmp1 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3))
+    tmp13 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * 2
+    tmp13 += v.oovv * -1
+    tmp13 += tmp3 * 2
+    tmp12 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp15 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * -1
+    tmp15 += tmp0
+    tmp16 = np.copy(v.oovv) * -1
+    tmp16 += einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp14 = np.copy(v.oooo)
+    tmp14 += einsum(v.ovov, (0, 1, 2, 3), t2, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp11 = np.copy(np.transpose(tmp7, (1, 0, 2, 3)))
+    del tmp7
+    tmp11 += np.transpose(tmp10, (0, 1, 3, 2))
+    del tmp10
+    tmp4 = einsum(tmp3, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 5, 2))
+    del tmp3
+    t2new = einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 2, 5, 3), (0, 1, 4, 5))
+    t2new += np.transpose(v.ovov, (0, 2, 1, 3))
+    t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) * -1
+    t2new += np.transpose(tmp0, (1, 0, 3, 2)) * -1
+    del tmp0
+    t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5)) * -1
+    t2new += einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (0, 4, 1, 5)) * 2
+    t2new += np.transpose(tmp1, (0, 1, 3, 2)) * -1
+    t2new += np.transpose(tmp1, (1, 0, 2, 3)) * -1
+    del tmp1
+    t2new += np.transpose(tmp4, (1, 0, 3, 2)) * -1
+    t2new += tmp4 * -1
+    del tmp4
+    t2new += tmp11 * -1
+    t2new += np.transpose(tmp11, (1, 0, 3, 2)) * -1
+    del tmp11
+    t2new += np.transpose(tmp12, (0, 1, 3, 2))
+    t2new += np.transpose(tmp12, (1, 0, 2, 3))
+    del tmp12
+    t2new += einsum(tmp13, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp13
+    t2new += einsum(tmp14, (0, 1, 2, 3), t2, (0, 2, 4, 5), (1, 3, 4, 5))
+    del tmp14
+    t2new += einsum(tmp15, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 5, 2))
+    del tmp15
+    t2new += einsum(tmp16, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 4, 5, 2))
+    del tmp16
+
+    return {f"t2new": t2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCD.update_lams(f=None, l2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:11.877391.

+

Parameters

+

f : array + Fock matrix. +l2 : array + L2 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

l2new : array + Updated L2 residuals.

+ +
+ Source code in ebcc/codegen/RCCD.py +
124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
def update_lams(f=None, l2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:11.877391.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    l2 : array
+        L2 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    l2new : array
+        Updated L2 residuals.
+    """
+
+    tmp5 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1
+    tmp5 += np.transpose(l2, (2, 3, 0, 1)) * 2
+    tmp15 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp10 = einsum(l2, (0, 1, 2, 3), t2, (4, 2, 1, 5), (3, 4, 0, 5))
+    tmp6 = einsum(tmp5, (0, 1, 2, 3), t2, (4, 0, 5, 2), (4, 1, 5, 3))
+    del tmp5
+    tmp4 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 5, 1), (5, 0, 4, 3))
+    tmp26 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5
+    tmp26 += t2
+    tmp29 = np.copy(np.transpose(t2, (0, 1, 3, 2)))
+    tmp29 += t2 * -0.5
+    tmp19 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp19 += t2 * -1
+    tmp22 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp22 += t2 * 2
+    tmp16 = np.copy(v.oovv) * -1
+    tmp16 += tmp15
+    del tmp15
+    tmp11 = np.copy(tmp10)
+    del tmp10
+    tmp11 += np.transpose(l2, (3, 2, 0, 1)) * -1
+    tmp11 += np.transpose(l2, (2, 3, 0, 1)) * 2
+    tmp8 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * 2
+    tmp8 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1
+    tmp7 = np.copy(tmp4)
+    del tmp4
+    tmp7 += np.transpose(tmp6, (1, 0, 3, 2)) * -1
+    del tmp6
+    tmp27 = einsum(l2, (0, 1, 2, 3), tmp26, (2, 3, 4, 1), (0, 4)) * 2
+    del tmp26
+    tmp30 = einsum(tmp29, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1)) * 2
+    del tmp29
+    tmp20 = einsum(v.ovov, (0, 1, 2, 3), tmp19, (0, 2, 3, 4), (1, 4)) * 0.5
+    del tmp19
+    tmp23 = einsum(v.ovov, (0, 1, 2, 3), tmp22, (2, 4, 3, 1), (0, 4))
+    del tmp22
+    tmp14 = einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2))
+    tmp17 = einsum(l2, (0, 1, 2, 3), tmp16, (2, 4, 1, 5), (3, 4, 0, 5))
+    del tmp16
+    tmp3 = einsum(v.oovv, (0, 1, 2, 3), l2, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp12 = einsum(v.ovov, (0, 1, 2, 3), tmp11, (4, 2, 5, 3), (0, 4, 1, 5))
+    del tmp11
+    tmp9 = einsum(tmp8, (0, 1, 2, 3), tmp7, (4, 0, 5, 3), (4, 1, 5, 2))
+    del tmp8, tmp7
+    tmp28 = einsum(v.ovov, (0, 1, 2, 3), tmp27, (4, 1), (0, 2, 3, 4))
+    del tmp27
+    tmp31 = einsum(v.ovov, (0, 1, 2, 3), tmp30, (4, 2), (0, 4, 3, 1))
+    del tmp30
+    tmp21 = einsum(l2, (0, 1, 2, 3), tmp20, (4, 1), (3, 2, 0, 4)) * 2
+    del tmp20
+    tmp24 = einsum(tmp23, (0, 1), l2, (2, 3, 1, 4), (4, 0, 2, 3))
+    del tmp23
+    tmp1 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1))
+    tmp18 = np.copy(tmp14)
+    del tmp14
+    tmp18 += tmp17
+    del tmp17
+    tmp13 = np.copy(tmp3)
+    del tmp3
+    tmp13 += tmp9
+    del tmp9
+    tmp13 += np.transpose(tmp12, (1, 0, 3, 2)) * -1
+    del tmp12
+    tmp32 = np.copy(np.transpose(tmp28, (1, 0, 3, 2)))
+    del tmp28
+    tmp32 += np.transpose(tmp31, (1, 0, 3, 2))
+    del tmp31
+    tmp0 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp25 = np.copy(np.transpose(tmp21, (1, 0, 2, 3)))
+    del tmp21
+    tmp25 += np.transpose(tmp24, (0, 1, 3, 2))
+    del tmp24
+    tmp2 = einsum(l2, (0, 1, 2, 3), f.oo, (4, 3), (4, 2, 0, 1))
+    l2new = einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 1, 5, 0), (4, 5, 3, 2))
+    l2new += np.transpose(v.ovov, (1, 3, 0, 2))
+    l2new += einsum(l2, (0, 1, 2, 3), tmp0, (3, 2, 4, 5), (0, 1, 5, 4))
+    del tmp0
+    l2new += einsum(v.ovov, (0, 1, 2, 3), tmp1, (4, 5, 0, 2), (1, 3, 4, 5))
+    del tmp1
+    l2new += einsum(l2, (0, 1, 2, 3), v.oooo, (4, 2, 5, 3), (0, 1, 4, 5))
+    l2new += np.transpose(tmp2, (3, 2, 0, 1)) * -1
+    l2new += np.transpose(tmp2, (2, 3, 1, 0)) * -1
+    del tmp2
+    l2new += np.transpose(tmp13, (2, 3, 0, 1)) * -1
+    l2new += np.transpose(tmp13, (3, 2, 1, 0)) * -1
+    del tmp13
+    l2new += np.transpose(tmp18, (3, 2, 0, 1))
+    l2new += np.transpose(tmp18, (2, 3, 1, 0))
+    del tmp18
+    l2new += np.transpose(tmp25, (2, 3, 0, 1)) * -1
+    l2new += np.transpose(tmp25, (3, 2, 1, 0)) * -1
+    del tmp25
+    l2new += np.transpose(tmp32, (3, 2, 0, 1)) * -1
+    l2new += np.transpose(tmp32, (2, 3, 1, 0)) * -1
+    del tmp32
+
+    return {f"l2new": l2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCD.make_rdm1_f(l2=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:12.171694.

+

Parameters

+

l2 : array + L2 amplitudes. +t2 : array + T2 amplitudes.

+

Returns

+

rdm1 : array + One-particle reduced density matrix.

+ +
+ Source code in ebcc/codegen/RCCD.py +
243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
def make_rdm1_f(l2=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:12.171694.
+
+    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 = np.copy(np.transpose(t2, (0, 1, 3, 2)))
+    tmp0 += t2 * -0.5
+    rdm1.vv = einsum(l2, (0, 1, 2, 3), tmp0, (3, 2, 4, 1), (0, 4)) * 4
+    rdm1.oo = np.copy(delta.oo) * 2
+    del delta
+    rdm1.oo += einsum(l2, (0, 1, 2, 3), tmp0, (2, 4, 1, 0), (4, 3)) * -4
+    del tmp0
+    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
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCD.make_rdm2_f(l2=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:22.905206.

+

Parameters

+

l2 : array + L2 amplitudes. +t2 : array + T2 amplitudes.

+

Returns

+

rdm2 : array + Two-particle reduced density matrix.

+ +
+ Source code in ebcc/codegen/RCCD.py +
278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
def make_rdm2_f(l2=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:22.905206.
+
+    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]),
+    )
+    tmp6 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1
+    tmp6 += np.transpose(l2, (2, 3, 0, 1))
+    tmp3 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1
+    tmp3 += np.transpose(l2, (2, 3, 0, 1)) * 2
+    tmp1 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5
+    tmp1 += t2
+    tmp13 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * 2
+    tmp13 += np.transpose(l2, (2, 3, 0, 1)) * -1
+    tmp7 = einsum(tmp6, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 1, 5, 3))
+    del tmp6
+    tmp4 = einsum(tmp3, (0, 1, 2, 3), t2, (4, 0, 5, 2), (4, 1, 5, 3))
+    tmp2 = einsum(tmp1, (0, 1, 2, 3), l2, (2, 3, 0, 4), (4, 1)) * 2
+    del tmp1
+    tmp14 = einsum(t2, (0, 1, 2, 3), tmp13, (0, 1, 3, 4), (2, 4)) * 0.5
+    tmp27 = np.copy(np.transpose(l2, (3, 2, 0, 1)))
+    tmp27 += np.transpose(l2, (2, 3, 0, 1)) * -1
+    tmp22 = np.copy(np.transpose(t2, (0, 1, 3, 2)))
+    tmp22 += t2 * -1
+    tmp24 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp24 += t2 * -1
+    tmp8 = einsum(tmp7, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 5, 2))
+    tmp5 = einsum(tmp4, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp20 = einsum(l2, (0, 1, 2, 3), t2, (4, 2, 1, 5), (3, 4, 0, 5))
+    tmp16 = einsum(tmp2, (0, 1), t2, (2, 0, 3, 4), (2, 1, 4, 3))
+    tmp15 = einsum(tmp14, (0, 1), t2, (2, 3, 1, 4), (2, 3, 4, 0)) * 2
+    tmp18 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 5, 1), (5, 0, 4, 3))
+    tmp0 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1))
+    tmp10 = einsum(tmp3, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 1, 5, 3))
+    del tmp3
+    tmp29 = einsum(t2, (0, 1, 2, 3), l2, (4, 5, 1, 0), (4, 5, 3, 2))
+    tmp26 = einsum(t2, (0, 1, 2, 3), tmp13, (0, 1, 3, 4), (2, 4))
+    del tmp13
+    tmp28 = einsum(tmp27, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 1, 5, 3))
+    del tmp27
+    tmp23 = einsum(l2, (0, 1, 2, 3), tmp22, (2, 4, 5, 1), (3, 4, 0, 5))
+    del tmp22
+    tmp25 = einsum(l2, (0, 1, 2, 3), tmp24, (3, 4, 5, 1), (2, 4, 0, 5))
+    del tmp24
+    tmp9 = np.copy(np.transpose(tmp5, (1, 0, 3, 2))) * 2
+    tmp9 += tmp8
+    del tmp8
+    tmp21 = einsum(tmp20, (0, 1, 2, 3), t2, (4, 0, 2, 5), (1, 4, 3, 5))
+    tmp17 = np.copy(np.transpose(tmp15, (1, 0, 2, 3)))
+    del tmp15
+    tmp17 += np.transpose(tmp16, (0, 1, 3, 2))
+    del tmp16
+    tmp19 = einsum(tmp18, (0, 1, 2, 3), t2, (4, 0, 2, 5), (1, 4, 3, 5))
+    tmp12 = einsum(t2, (0, 1, 2, 3), tmp0, (1, 0, 4, 5), (4, 5, 3, 2))
+    tmp11 = einsum(tmp10, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp10
+    rdm2.vvvv = np.copy(np.transpose(tmp29, (1, 0, 2, 3))) * -2
+    rdm2.vvvv += np.transpose(tmp29, (1, 0, 3, 2)) * 4
+    del tmp29
+    rdm2.vvoo = np.copy(np.transpose(l2, (0, 1, 3, 2))) * -2
+    rdm2.vvoo += l2 * 4
+    rdm2.vovo = np.copy(np.transpose(tmp4, (3, 0, 2, 1))) * -2
+    rdm2.vovo += np.transpose(tmp28, (3, 0, 2, 1)) * -2
+    del tmp28
+    rdm2.vovo += einsum(delta.oo, (0, 1), tmp26, (2, 3), (3, 0, 2, 1)) * 4
+    rdm2.vovo += np.transpose(tmp20, (2, 1, 3, 0)) * -2
+    rdm2.voov = np.copy(np.transpose(tmp25, (2, 1, 0, 3))) * 2
+    rdm2.voov += np.transpose(tmp23, (2, 1, 0, 3)) * -2
+    rdm2.voov += einsum(delta.oo, (0, 1), tmp26, (2, 3), (3, 0, 1, 2)) * -2
+    del tmp26
+    rdm2.voov += np.transpose(tmp18, (2, 1, 0, 3)) * -2
+    rdm2.voov += np.transpose(tmp4, (3, 0, 1, 2)) * 2
+    rdm2.ovvo = np.copy(np.transpose(tmp4, (0, 3, 2, 1))) * 4
+    del tmp4
+    rdm2.ovvo += np.transpose(tmp7, (0, 3, 2, 1)) * -2
+    del tmp7
+    rdm2.ovvo += einsum(tmp14, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3)) * -4
+    rdm2.ovvo += np.transpose(tmp18, (1, 2, 3, 0)) * -2
+    del tmp18
+    rdm2.ovov = np.copy(np.transpose(tmp23, (1, 2, 0, 3))) * 2
+    del tmp23
+    rdm2.ovov += np.transpose(tmp25, (1, 2, 0, 3)) * -2
+    del tmp25
+    rdm2.ovov += einsum(tmp14, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0)) * 8
+    del tmp14
+    rdm2.ovov += np.transpose(tmp20, (1, 2, 0, 3)) * -2
+    del tmp20
+    rdm2.oovv = np.copy(tmp9) * 2
+    rdm2.oovv += np.transpose(tmp9, (0, 1, 3, 2)) * -2
+    del tmp9
+    rdm2.oovv += tmp11 * -4
+    rdm2.oovv += np.transpose(tmp11, (0, 1, 3, 2)) * 2
+    rdm2.oovv += np.transpose(tmp11, (1, 0, 2, 3)) * 2
+    rdm2.oovv += np.transpose(tmp11, (1, 0, 3, 2)) * -4
+    del tmp11
+    rdm2.oovv += tmp12 * 4
+    rdm2.oovv += np.transpose(tmp12, (0, 1, 3, 2)) * -2
+    del tmp12
+    rdm2.oovv += tmp17 * -4
+    rdm2.oovv += np.transpose(tmp17, (0, 1, 3, 2)) * 2
+    rdm2.oovv += np.transpose(tmp17, (1, 0, 2, 3)) * 2
+    rdm2.oovv += np.transpose(tmp17, (1, 0, 3, 2)) * -4
+    del tmp17
+    rdm2.oovv += np.transpose(t2, (0, 1, 3, 2)) * -2
+    rdm2.oovv += t2 * 4
+    rdm2.oovv += tmp19 * 2
+    del tmp19
+    rdm2.oovv += np.transpose(tmp21, (0, 1, 3, 2)) * 2
+    del tmp21
+    rdm2.oovv += np.transpose(tmp5, (1, 0, 3, 2)) * 4
+    del tmp5
+    rdm2.oooo = np.copy(np.transpose(tmp0, (2, 3, 1, 0))) * -2
+    rdm2.oooo += np.transpose(tmp0, (3, 2, 1, 0)) * 4
+    del tmp0
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp2, (2, 3), (3, 0, 2, 1)) * -4
+    rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3)) * 2
+    rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0)) * 2
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp2, (2, 3), (0, 3, 1, 2)) * -4
+    del tmp2
+    rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * 4
+    rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -2
+    del delta
+    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 = np.transpose(rdm2, (0, 2, 1, 3))
+
+    return rdm2
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCD.hbar_matvec_ip_intermediates(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:28.097116.

+

Parameters

+

f : array + Fock matrix. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp14 : array +tmp15 : array +tmp17 : array +tmp18 : array +tmp2 : array +tmp20 : array +tmp21 : array +tmp22 : array +tmp23 : array +tmp24 : array +tmp26 : array +tmp27 : array +tmp28 : array +tmp29 : array +tmp30 : array +tmp32 : array +tmp38 : array +tmp39 : array +tmp4 : array +tmp6 : array +tmp8 : array

+ +
+ Source code in ebcc/codegen/RCCD.py +
429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
def hbar_matvec_ip_intermediates(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:28.097116.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp14 : array
+    tmp15 : array
+    tmp17 : array
+    tmp18 : array
+    tmp2 : array
+    tmp20 : array
+    tmp21 : array
+    tmp22 : array
+    tmp23 : array
+    tmp24 : array
+    tmp26 : array
+    tmp27 : array
+    tmp28 : array
+    tmp29 : array
+    tmp30 : array
+    tmp32 : array
+    tmp38 : array
+    tmp39 : array
+    tmp4 : array
+    tmp6 : array
+    tmp8 : array
+    """
+
+    tmp39 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (0, 4))
+    tmp38 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 3, 1), (4, 2))
+    tmp32 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 2, 1, 4), (3, 4))
+    tmp30 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 4, 1, 2), (3, 4))
+    tmp29 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5))
+    tmp28 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 0, 2), (4, 3))
+    tmp27 = einsum(v.ooov, (0, 1, 2, 3), t2, (1, 2, 3, 4), (0, 4))
+    tmp26 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp24 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp23 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5))
+    tmp22 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp21 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp20 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 2, 3, 5), (4, 0, 1, 5))
+    tmp18 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp17 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp15 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2))
+    tmp14 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 2), (0, 3))
+    tmp8 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp6 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp4 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 3), (0, 4))
+    tmp2 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 2), (0, 4))
+
+    return {f"tmp14": tmp14, f"tmp15": tmp15, f"tmp17": tmp17, f"tmp18": tmp18, f"tmp2": tmp2, f"tmp20": tmp20, f"tmp21": tmp21, f"tmp22": tmp22, f"tmp23": tmp23, f"tmp24": tmp24, f"tmp26": tmp26, f"tmp27": tmp27, f"tmp28": tmp28, f"tmp29": tmp29, f"tmp30": tmp30, f"tmp32": tmp32, f"tmp38": tmp38, f"tmp39": tmp39, f"tmp4": tmp4, f"tmp6": tmp6, f"tmp8": tmp8}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCD.hbar_matvec_ip(f=None, r1=None, r2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:28.108116.

+

Parameters

+

f : array + Fock matrix. +r1 : array + R1 amplitudes. +r2 : array + R2 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

r1new : array + Updated R1 residuals. +r2new : array + Updated R2 residuals.

+ +
+ Source code in ebcc/codegen/RCCD.py +
491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
def hbar_matvec_ip(f=None, r1=None, r2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:28.108116.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    r1 : array
+        R1 amplitudes.
+    r2 : array
+        R2 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    r1new : array
+        Updated R1 residuals.
+    r2new : array
+        Updated R2 residuals.
+    """
+
+    ints = kwargs["ints"]
+    tmp7 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1)))
+    tmp7 += np.transpose(v.ovov, (0, 2, 1, 3)) * -0.5
+    tmp10 = np.copy(f.ov)
+    tmp10 += ints.tmp15 * 2
+    del ints.tmp15
+    tmp10 += ints.tmp27
+    del ints.tmp27
+    tmp10 += ints.tmp38 * 2
+    del ints.tmp38
+    tmp10 += ints.tmp14 * -1
+    del ints.tmp14
+    tmp10 += ints.tmp28 * -2
+    del ints.tmp28
+    tmp10 += ints.tmp39 * -1
+    del ints.tmp39
+    tmp5 = np.copy(ints.tmp21)
+    del ints.tmp21
+    tmp5 += v.oovv * -1
+    tmp9 = np.copy(ints.tmp18) * 2
+    del ints.tmp18
+    tmp9 += np.transpose(ints.tmp26, (1, 2, 0, 3))
+    del ints.tmp26
+    tmp9 += np.transpose(ints.tmp6, (1, 0, 2, 3))
+    del ints.tmp6
+    tmp9 += np.transpose(v.ovoo, (0, 2, 3, 1))
+    tmp9 += ints.tmp17 * -1
+    del ints.tmp17
+    tmp9 += ints.tmp20 * -1
+    del ints.tmp20
+    tmp9 += np.transpose(ints.tmp29, (1, 0, 2, 3)) * -1
+    del ints.tmp29
+    tmp8 = einsum(tmp7, (0, 1, 2, 3), r2, (0, 1, 3), (2,))
+    del tmp7
+    tmp6 = np.copy(f.vv)
+    tmp6 += np.transpose(ints.tmp30, (1, 0))
+    del ints.tmp30
+    tmp6 += np.transpose(ints.tmp32, (1, 0)) * -2
+    del ints.tmp32
+    tmp3 = np.copy(r2) * -0.5
+    tmp3 += np.transpose(r2, (1, 0, 2))
+    tmp4 = np.copy(ints.tmp24) * 2
+    del ints.tmp24
+    tmp4 += np.transpose(v.ovov, (0, 2, 1, 3))
+    tmp4 += ints.tmp22 * -1
+    del ints.tmp22
+    tmp4 += ints.tmp23 * -1
+    del ints.tmp23
+    tmp2 = np.copy(f.oo)
+    tmp2 += np.transpose(ints.tmp4, (1, 0)) * 2
+    del ints.tmp4
+    tmp2 += np.transpose(ints.tmp2, (1, 0)) * -1
+    del ints.tmp2
+    tmp1 = np.copy(r2) * 2
+    tmp1 += np.transpose(r2, (1, 0, 2)) * -1
+    tmp0 = np.copy(v.ooov) * -0.5
+    tmp0 += np.transpose(v.ovoo, (0, 2, 3, 1))
+    r2new = einsum(r2, (0, 1, 2), v.oooo, (3, 0, 4, 1), (3, 4, 2))
+    r2new += einsum(ints.tmp8, (0, 1, 2, 3), r2, (3, 2, 4), (1, 0, 4))
+    del ints.tmp8
+    r2new += einsum(tmp3, (0, 1, 2), tmp4, (3, 1, 4, 2), (3, 0, 4)) * 2
+    del tmp3, tmp4
+    r2new += einsum(r2, (0, 1, 2), tmp5, (3, 1, 4, 2), (0, 3, 4))
+    r2new += einsum(tmp5, (0, 1, 2, 3), r2, (1, 4, 3), (0, 4, 2))
+    del tmp5
+    r2new += einsum(tmp6, (0, 1), r2, (2, 3, 0), (2, 3, 1))
+    del tmp6
+    r2new += einsum(tmp8, (0,), t2, (1, 2, 3, 0), (1, 2, 3)) * -2
+    del tmp8
+    r2new += einsum(r1, (0,), tmp9, (1, 2, 0, 3), (1, 2, 3))
+    del tmp9
+    r2new += einsum(r2, (0, 1, 2), tmp2, (0, 3), (3, 1, 2)) * -1
+    r2new += einsum(tmp2, (0, 1), r2, (2, 0, 3), (2, 1, 3)) * -1
+    r2new += einsum(r1, (0,), tmp10, (1, 2), (1, 0, 2)) * -1
+    del tmp10
+    r1new = einsum(tmp0, (0, 1, 2, 3), r2, (0, 2, 3), (1,)) * 2
+    del tmp0
+    r1new += einsum(f.ov, (0, 1), tmp1, (0, 2, 1), (2,)) * -1
+    del tmp1
+    r1new += einsum(r1, (0,), tmp2, (0, 1), (1,)) * -1
+    del tmp2
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCD.hbar_matvec_ea_intermediates(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:33.396193.

+

Parameters

+

f : array + Fock matrix. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp11 : array +tmp2 : array +tmp20 : array +tmp21 : array +tmp22 : array +tmp24 : array +tmp26 : array +tmp27 : array +tmp28 : array +tmp29 : array +tmp30 : array +tmp33 : array +tmp34 : array +tmp35 : array +tmp37 : array +tmp38 : array +tmp4 : array +tmp6 : array +tmp9 : array

+ +
+ Source code in ebcc/codegen/RCCD.py +
600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
def hbar_matvec_ea_intermediates(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:33.396193.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp11 : array
+    tmp2 : array
+    tmp20 : array
+    tmp21 : array
+    tmp22 : array
+    tmp24 : array
+    tmp26 : array
+    tmp27 : array
+    tmp28 : array
+    tmp29 : array
+    tmp30 : array
+    tmp33 : array
+    tmp34 : array
+    tmp35 : array
+    tmp37 : array
+    tmp38 : array
+    tmp4 : array
+    tmp6 : array
+    tmp9 : array
+    """
+
+    tmp38 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 0, 2), (4, 3))
+    tmp37 = einsum(v.ooov, (0, 1, 2, 3), t2, (1, 2, 3, 4), (0, 4))
+    tmp35 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp34 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5))
+    tmp33 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp30 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 1, 5), (4, 5, 2, 3))
+    tmp29 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 1, 2))
+    tmp28 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 1), (4, 5, 2, 3))
+    tmp27 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2))
+    tmp26 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 2), (0, 3))
+    tmp24 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 3), (4, 0))
+    tmp22 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 3, 1), (4, 0))
+    tmp21 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 3), (0, 4))
+    tmp20 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 3, 1), (4, 2))
+    tmp11 = einsum(v.ooov, (0, 1, 2, 3), t2, (2, 1, 4, 5), (0, 5, 4, 3))
+    tmp9 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp6 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 3, 5), (4, 5, 1, 2))
+    tmp4 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 4, 1, 3), (2, 4))
+    tmp2 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 3, 1, 4), (2, 4))
+
+    return {f"tmp11": tmp11, f"tmp2": tmp2, f"tmp20": tmp20, f"tmp21": tmp21, f"tmp22": tmp22, f"tmp24": tmp24, f"tmp26": tmp26, f"tmp27": tmp27, f"tmp28": tmp28, f"tmp29": tmp29, f"tmp30": tmp30, f"tmp33": tmp33, f"tmp34": tmp34, f"tmp35": tmp35, f"tmp37": tmp37, f"tmp38": tmp38, f"tmp4": tmp4, f"tmp6": tmp6, f"tmp9": tmp9}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCD.hbar_matvec_ea(f=None, r1=None, r2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:33.407127.

+

Parameters

+

f : array + Fock matrix. +r1 : array + R1 amplitudes. +r2 : array + R2 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

r1new : array + Updated R1 residuals. +r2new : array + Updated R2 residuals.

+ +
+ Source code in ebcc/codegen/RCCD.py +
658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
def hbar_matvec_ea(f=None, r1=None, r2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:33.407127.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    r1 : array
+        R1 amplitudes.
+    r2 : array
+        R2 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    r1new : array
+        Updated R1 residuals.
+    r2new : array
+        Updated R2 residuals.
+    """
+
+    ints = kwargs["ints"]
+    tmp8 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1
+    tmp8 += np.transpose(v.ovov, (0, 2, 1, 3)) * 2
+    tmp10 = np.copy(f.oo)
+    tmp10 += np.transpose(ints.tmp24, (1, 0)) * 2
+    del ints.tmp24
+    tmp10 += np.transpose(ints.tmp22, (1, 0)) * -1
+    del ints.tmp22
+    tmp5 = np.copy(ints.tmp35) * 2
+    del ints.tmp35
+    tmp5 += np.transpose(v.ovov, (0, 2, 1, 3))
+    tmp5 += ints.tmp33 * -1
+    del ints.tmp33
+    tmp5 += ints.tmp34 * -1
+    del ints.tmp34
+    tmp7 = np.copy(ints.tmp11)
+    del ints.tmp11
+    tmp7 += ints.tmp28 * 2
+    del ints.tmp28
+    tmp7 += v.ovvv
+    tmp7 += np.transpose(ints.tmp29, (0, 1, 3, 2)) * -1
+    del ints.tmp29
+    tmp7 += ints.tmp30 * -1
+    del ints.tmp30
+    tmp7 += np.transpose(ints.tmp6, (0, 3, 1, 2)) * -1
+    del ints.tmp6
+    tmp9 = einsum(f.ov, (0, 1), r1, (1,), (0,))
+    tmp9 += einsum(tmp8, (0, 1, 2, 3), r2, (2, 3, 0), (1,)) * -1
+    del tmp8
+    tmp6 = np.copy(ints.tmp9)
+    del ints.tmp9
+    tmp6 += v.oovv * -1
+    tmp11 = np.copy(f.ov)
+    tmp11 += ints.tmp20 * 2
+    del ints.tmp20
+    tmp11 += ints.tmp27 * 2
+    del ints.tmp27
+    tmp11 += ints.tmp37
+    del ints.tmp37
+    tmp11 += ints.tmp21 * -1
+    del ints.tmp21
+    tmp11 += ints.tmp26 * -1
+    del ints.tmp26
+    tmp11 += ints.tmp38 * -2
+    del ints.tmp38
+    tmp3 = einsum(r2, (0, 1, 2), v.ovov, (3, 0, 4, 1), (2, 3, 4))
+    tmp4 = np.copy(np.transpose(r2, (2, 0, 1)))
+    tmp4 += np.transpose(r2, (2, 1, 0)) * -0.5
+    tmp2 = np.copy(f.vv)
+    tmp2 += np.transpose(ints.tmp2, (1, 0))
+    del ints.tmp2
+    tmp2 += np.transpose(ints.tmp4, (1, 0)) * -2
+    del ints.tmp4
+    tmp1 = np.copy(np.transpose(r2, (2, 0, 1))) * -1
+    tmp1 += np.transpose(r2, (2, 1, 0)) * 2
+    tmp0 = np.copy(v.ovvv) * 2
+    tmp0 += np.transpose(v.ovvv, (0, 2, 1, 3)) * -1
+    r2new = einsum(r2, (0, 1, 2), v.vvvv, (3, 0, 4, 1), (3, 4, 2))
+    r2new += einsum(t2, (0, 1, 2, 3), tmp3, (4, 1, 0), (3, 2, 4))
+    del tmp3
+    r2new += einsum(tmp5, (0, 1, 2, 3), tmp4, (1, 3, 4), (2, 4, 0)) * 2
+    del tmp5, tmp4
+    r2new += einsum(tmp6, (0, 1, 2, 3), r2, (4, 3, 1), (4, 2, 0))
+    r2new += einsum(r2, (0, 1, 2), tmp6, (3, 2, 4, 0), (4, 1, 3))
+    del tmp6
+    r2new += einsum(r1, (0,), tmp7, (1, 2, 3, 0), (2, 3, 1)) * -1
+    del tmp7
+    r2new += einsum(r2, (0, 1, 2), tmp2, (0, 3), (3, 1, 2))
+    r2new += einsum(tmp2, (0, 1), r2, (2, 0, 3), (2, 1, 3))
+    r2new += einsum(tmp9, (0,), t2, (1, 0, 2, 3), (2, 3, 1))
+    del tmp9
+    r2new += einsum(r2, (0, 1, 2), tmp10, (2, 3), (0, 1, 3)) * -1
+    del tmp10
+    r2new += einsum(tmp11, (0, 1), r1, (2,), (1, 2, 0)) * -1
+    del tmp11
+    r1new = einsum(tmp0, (0, 1, 2, 3), r2, (1, 2, 0), (3,)) * -1
+    del tmp0
+    r1new += einsum(tmp1, (0, 1, 2), f.ov, (0, 2), (1,)) * -1
+    del tmp1
+    r1new += einsum(tmp2, (0, 1), r1, (0,), (1,))
+    del tmp2
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCD.hbar_lmatvec_ip_intermediates(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:41.161446.

+

Parameters

+

f : array + Fock matrix. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp1 : array +tmp10 : array +tmp12 : array +tmp15 : array +tmp18 : array +tmp19 : array +tmp21 : array +tmp22 : array +tmp24 : array +tmp27 : array +tmp3 : array +tmp30 : array +tmp33 : array +tmp34 : array +tmp36 : array +tmp37 : array +tmp49 : array +tmp51 : array +tmp53 : array +tmp8 : array

+ +
+ Source code in ebcc/codegen/RCCD.py +
767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
def hbar_lmatvec_ip_intermediates(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:41.161446.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp1 : array
+    tmp10 : array
+    tmp12 : array
+    tmp15 : array
+    tmp18 : array
+    tmp19 : array
+    tmp21 : array
+    tmp22 : array
+    tmp24 : array
+    tmp27 : array
+    tmp3 : array
+    tmp30 : array
+    tmp33 : array
+    tmp34 : array
+    tmp36 : array
+    tmp37 : array
+    tmp49 : array
+    tmp51 : array
+    tmp53 : array
+    tmp8 : array
+    """
+
+    tmp53 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 2, 1, 4), (3, 4))
+    tmp51 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 3, 1, 4), (2, 4))
+    tmp49 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp37 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp36 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 3, 5), (4, 0, 5, 1))
+    tmp34 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp33 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp30 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp27 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 1, 3), (4, 2))
+    tmp24 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 3, 1), (4, 2))
+    tmp22 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp21 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 2, 3, 5), (4, 0, 1, 5))
+    tmp19 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp18 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5))
+    tmp15 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 0, 2), (4, 3))
+    tmp12 = einsum(v.ooov, (0, 1, 2, 3), t2, (2, 1, 4, 3), (0, 4))
+    tmp10 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 3), (0, 4))
+    tmp8 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 2), (0, 4))
+    tmp3 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2))
+    tmp1 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2))
+    tmp0 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 2), (0, 3))
+
+    return {f"tmp0": tmp0, f"tmp1": tmp1, f"tmp10": tmp10, f"tmp12": tmp12, f"tmp15": tmp15, f"tmp18": tmp18, f"tmp19": tmp19, f"tmp21": tmp21, f"tmp22": tmp22, f"tmp24": tmp24, f"tmp27": tmp27, f"tmp3": tmp3, f"tmp30": tmp30, f"tmp33": tmp33, f"tmp34": tmp34, f"tmp36": tmp36, f"tmp37": tmp37, f"tmp49": tmp49, f"tmp51": tmp51, f"tmp53": tmp53, f"tmp8": tmp8}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCD.hbar_lmatvec_ip(f=None, r1=None, r2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:41.173351.

+

Parameters

+

f : array + Fock matrix. +r1 : array + R1 amplitudes. +r2 : array + R2 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

r1new : array + Updated R1 residuals. +r2new : array + Updated R2 residuals.

+ +
+ Source code in ebcc/codegen/RCCD.py +
829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+845
+846
+847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
+858
+859
+860
+861
+862
+863
+864
+865
+866
+867
+868
+869
+870
+871
+872
+873
+874
+875
+876
+877
+878
+879
+880
+881
+882
+883
+884
+885
+886
+887
+888
+889
+890
+891
+892
+893
+894
+895
+896
+897
+898
+899
+900
+901
+902
+903
+904
+905
+906
+907
+908
+909
+910
+911
+912
+913
+914
+915
+916
+917
+918
+919
+920
+921
+922
+923
+924
+925
+926
+927
+928
+929
+930
+931
+932
+933
+934
+935
+936
+937
+938
+939
+940
+941
+942
+943
def hbar_lmatvec_ip(f=None, r1=None, r2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:41.173351.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    r1 : array
+        R1 amplitudes.
+    r2 : array
+        R2 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 = np.copy(np.transpose(t2, (0, 1, 3, 2)))
+    tmp10 += t2 * -0.5
+    tmp5 = np.copy(r2) * -0.5
+    tmp5 += np.transpose(r2, (1, 0, 2))
+    tmp7 = np.copy(ints.tmp33)
+    del ints.tmp33
+    tmp7 += v.oovv * -1
+    tmp9 = np.copy(f.vv)
+    tmp9 += ints.tmp51
+    del ints.tmp51
+    tmp9 += ints.tmp53 * -2
+    del ints.tmp53
+    tmp8 = np.copy(ints.tmp49)
+    del ints.tmp49
+    tmp8 += np.transpose(v.oooo, (0, 2, 1, 3))
+    tmp6 = np.copy(ints.tmp37) * 2
+    del ints.tmp37
+    tmp6 += np.transpose(v.ovov, (0, 2, 1, 3))
+    tmp6 += ints.tmp34 * -1
+    del ints.tmp34
+    tmp6 += ints.tmp36 * -1
+    del ints.tmp36
+    tmp11 = einsum(tmp10, (0, 1, 2, 3), r2, (0, 1, 3), (2,))
+    del tmp10
+    tmp4 = np.copy(f.oo)
+    tmp4 += ints.tmp10 * 2
+    del ints.tmp10
+    tmp4 += ints.tmp8 * -1
+    del ints.tmp8
+    tmp1 = np.copy(ints.tmp18)
+    tmp1 += np.transpose(ints.tmp22, (0, 2, 1, 3))
+    tmp1 += np.transpose(ints.tmp3, (1, 2, 0, 3)) * 0.5
+    tmp1 += ints.tmp19 * -0.5
+    tmp1 += np.transpose(ints.tmp21, (0, 2, 1, 3)) * -0.5
+    tmp1 += ints.tmp30 * -1
+    tmp0 = np.copy(ints.tmp18)
+    del ints.tmp18
+    tmp0 += np.transpose(ints.tmp22, (0, 2, 1, 3)) * 4
+    del ints.tmp22
+    tmp0 += np.transpose(ints.tmp3, (1, 2, 0, 3)) * 2
+    del ints.tmp3
+    tmp0 += ints.tmp19 * -2
+    del ints.tmp19
+    tmp0 += np.transpose(ints.tmp21, (0, 2, 1, 3)) * -2
+    del ints.tmp21
+    tmp0 += ints.tmp30 * -1
+    del ints.tmp30
+    tmp0 += np.transpose(v.ooov, (0, 2, 1, 3)) * -1
+    tmp0 += np.transpose(v.ovoo, (0, 2, 3, 1)) * 2
+    tmp3 = np.copy(r2) * 2
+    tmp3 += np.transpose(r2, (1, 0, 2)) * -1
+    tmp2 = np.copy(f.ov) * 0.5
+    tmp2 += ints.tmp12 * 0.5
+    del ints.tmp12
+    tmp2 += ints.tmp1
+    del ints.tmp1
+    tmp2 += ints.tmp24
+    del ints.tmp24
+    tmp2 += ints.tmp0 * -0.5
+    del ints.tmp0
+    tmp2 += ints.tmp15 * -1
+    del ints.tmp15
+    tmp2 += ints.tmp27 * -0.5
+    del ints.tmp27
+    r2new = einsum(r1, (0,), v.ovoo, (1, 2, 3, 0), (1, 3, 2))
+    r2new += einsum(r1, (0,), f.ov, (1, 2), (1, 0, 2)) * -1
+    r2new += einsum(tmp5, (0, 1, 2), tmp6, (1, 3, 2, 4), (3, 0, 4)) * 2
+    del tmp5, tmp6
+    r2new += einsum(r2, (0, 1, 2), tmp7, (1, 3, 2, 4), (0, 3, 4))
+    r2new += einsum(r2, (0, 1, 2), tmp7, (0, 3, 2, 4), (3, 1, 4))
+    del tmp7
+    r2new += einsum(tmp8, (0, 1, 2, 3), r2, (0, 1, 4), (2, 3, 4))
+    del tmp8
+    r2new += einsum(tmp9, (0, 1), r2, (2, 3, 0), (2, 3, 1))
+    del tmp9
+    r2new += einsum(v.ovov, (0, 1, 2, 3), tmp11, (3,), (0, 2, 1)) * -2
+    del tmp11
+    r2new += einsum(r2, (0, 1, 2), tmp4, (0, 3), (3, 1, 2)) * -1
+    r2new += einsum(tmp4, (0, 1), r2, (2, 0, 3), (2, 1, 3)) * -1
+    r1new = einsum(tmp0, (0, 1, 2, 3), r2, (0, 1, 3), (2,))
+    del tmp0
+    r1new += einsum(tmp1, (0, 1, 2, 3), r2, (1, 0, 3), (2,)) * -2
+    del tmp1
+    r1new += einsum(tmp3, (0, 1, 2), tmp2, (0, 2), (1,)) * -2
+    del tmp3, tmp2
+    r1new += einsum(r1, (0,), tmp4, (0, 1), (1,)) * -1
+    del tmp4
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCD.hbar_lmatvec_ea_intermediates(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:49.340062.

+

Parameters

+

f : array + Fock matrix. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp1 : array +tmp11 : array +tmp13 : array +tmp16 : array +tmp19 : array +tmp22 : array +tmp25 : array +tmp28 : array +tmp30 : array +tmp33 : array +tmp35 : array +tmp37 : array +tmp39 : array +tmp41 : array +tmp42 : array +tmp44 : array +tmp45 : array +tmp9 : array

+ +
+ Source code in ebcc/codegen/RCCD.py +
 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
def hbar_lmatvec_ea_intermediates(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:49.340062.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp1 : array
+    tmp11 : array
+    tmp13 : array
+    tmp16 : array
+    tmp19 : array
+    tmp22 : array
+    tmp25 : array
+    tmp28 : array
+    tmp30 : array
+    tmp33 : array
+    tmp35 : array
+    tmp37 : array
+    tmp39 : array
+    tmp41 : array
+    tmp42 : array
+    tmp44 : array
+    tmp45 : array
+    tmp9 : array
+    """
+
+    tmp45 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp44 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 3, 5), (4, 0, 5, 1))
+    tmp42 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp41 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp39 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 3), (4, 0))
+    tmp37 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 3, 1), (4, 0))
+    tmp35 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 1, 2))
+    tmp33 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 3, 5), (4, 5, 1, 2))
+    tmp30 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 1), (4, 5, 2, 3))
+    tmp28 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 1, 5), (4, 5, 2, 3))
+    tmp25 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 1, 3), (4, 2))
+    tmp22 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 3, 1), (4, 2))
+    tmp19 = einsum(v.ooov, (0, 1, 2, 3), t2, (2, 1, 4, 5), (0, 5, 4, 3))
+    tmp16 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 0, 2), (4, 3))
+    tmp13 = einsum(v.ooov, (0, 1, 2, 3), t2, (2, 1, 4, 3), (0, 4))
+    tmp11 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 4, 1, 3), (2, 4))
+    tmp9 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 4, 1, 2), (3, 4))
+    tmp1 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2))
+    tmp0 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 2), (0, 3))
+
+    return {f"tmp0": tmp0, f"tmp1": tmp1, f"tmp11": tmp11, f"tmp13": tmp13, f"tmp16": tmp16, f"tmp19": tmp19, f"tmp22": tmp22, f"tmp25": tmp25, f"tmp28": tmp28, f"tmp30": tmp30, f"tmp33": tmp33, f"tmp35": tmp35, f"tmp37": tmp37, f"tmp39": tmp39, f"tmp41": tmp41, f"tmp42": tmp42, f"tmp44": tmp44, f"tmp45": tmp45, f"tmp9": tmp9}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCD.hbar_lmatvec_ea(f=None, r1=None, r2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:49.350979.

+

Parameters

+

f : array + Fock matrix. +r1 : array + R1 amplitudes. +r2 : array + R2 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

r1new : array + Updated R1 residuals. +r2new : array + Updated R2 residuals.

+ +
+ Source code in ebcc/codegen/RCCD.py +
1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
def hbar_lmatvec_ea(f=None, r1=None, r2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:49.350979.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    r1 : array
+        R1 amplitudes.
+    r2 : array
+        R2 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    r1new : array
+        Updated R1 residuals.
+    r2new : array
+        Updated R2 residuals.
+    """
+
+    ints = kwargs["ints"]
+    tmp6 = np.copy(np.transpose(t2, (0, 1, 3, 2)))
+    tmp6 += t2 * -0.5
+    tmp10 = np.copy(ints.tmp45) * 2
+    del ints.tmp45
+    tmp10 += np.transpose(v.ovov, (0, 2, 1, 3))
+    tmp10 += ints.tmp42 * -1
+    del ints.tmp42
+    tmp10 += ints.tmp44 * -1
+    del ints.tmp44
+    tmp5 = np.copy(f.vv)
+    tmp5 += ints.tmp9
+    del ints.tmp9
+    tmp5 += ints.tmp11 * -2
+    del ints.tmp11
+    tmp9 = np.copy(np.transpose(r2, (2, 0, 1)))
+    tmp9 += np.transpose(r2, (2, 1, 0)) * -0.5
+    tmp8 = einsum(r2, (0, 1, 2), t2, (3, 4, 0, 1), (2, 3, 4))
+    tmp13 = einsum(r2, (0, 1, 2), tmp6, (2, 3, 1, 0), (3,))
+    tmp12 = np.copy(f.oo)
+    tmp12 += ints.tmp39 * 2
+    del ints.tmp39
+    tmp12 += ints.tmp37 * -1
+    del ints.tmp37
+    tmp11 = np.copy(ints.tmp41)
+    del ints.tmp41
+    tmp11 += v.oovv * -1
+    tmp1 = np.copy(ints.tmp19)
+    del ints.tmp19
+    tmp1 += np.transpose(ints.tmp30, (0, 1, 3, 2)) * 2
+    del ints.tmp30
+    tmp1 += np.transpose(ints.tmp28, (0, 1, 3, 2)) * -1
+    del ints.tmp28
+    tmp1 += np.transpose(ints.tmp35, (0, 1, 3, 2)) * -1
+    del ints.tmp35
+    tmp7 = einsum(r2, (0, 1, 2), tmp6, (2, 3, 1, 0), (3,)) * 2
+    del tmp6
+    tmp0 = np.copy(np.transpose(r2, (2, 0, 1))) * 2
+    tmp0 += np.transpose(r2, (2, 1, 0)) * -1
+    tmp3 = np.copy(f.ov) * 0.5
+    tmp3 += ints.tmp13 * 0.5
+    del ints.tmp13
+    tmp3 += ints.tmp1
+    del ints.tmp1
+    tmp3 += ints.tmp22
+    del ints.tmp22
+    tmp3 += ints.tmp0 * -0.5
+    del ints.tmp0
+    tmp3 += ints.tmp16 * -1
+    del ints.tmp16
+    tmp3 += ints.tmp25 * -0.5
+    del ints.tmp25
+    tmp4 = np.copy(np.transpose(r2, (2, 0, 1))) * -1
+    tmp4 += np.transpose(r2, (2, 1, 0)) * 2
+    tmp2 = np.copy(ints.tmp33)
+    tmp2 += v.ovvv * 2
+    tmp2 += np.transpose(v.ovvv, (0, 2, 3, 1)) * -1
+    r2new = einsum(r2, (0, 1, 2), v.vvvv, (3, 0, 4, 1), (3, 4, 2))
+    r2new += einsum(f.ov, (0, 1), r1, (2,), (1, 2, 0)) * -1
+    r2new += einsum(tmp8, (0, 1, 2), v.ovov, (2, 3, 1, 4), (4, 3, 0))
+    del tmp8
+    r2new += einsum(r1, (0,), v.ovvv, (1, 2, 3, 0), (2, 3, 1)) * -1
+    r2new += einsum(tmp9, (0, 1, 2), tmp10, (0, 3, 1, 4), (4, 2, 3)) * 2
+    del tmp9, tmp10
+    r2new += einsum(tmp11, (0, 1, 2, 3), r2, (4, 2, 0), (4, 3, 1))
+    r2new += einsum(r2, (0, 1, 2), tmp11, (2, 3, 0, 4), (4, 1, 3))
+    del tmp11
+    r2new += einsum(r2, (0, 1, 2), tmp5, (0, 3), (3, 1, 2))
+    r2new += einsum(r2, (0, 1, 2), tmp5, (1, 3), (0, 3, 2))
+    r2new += einsum(r2, (0, 1, 2), tmp12, (2, 3), (0, 1, 3)) * -1
+    del tmp12
+    r2new += einsum(tmp13, (0,), v.ovov, (1, 2, 0, 3), (2, 3, 1)) * -2
+    del tmp13
+    r1new = einsum(r2, (0, 1, 2), ints.tmp33, (2, 1, 3, 0), (3,)) * 2
+    del ints.tmp33
+    r1new += einsum(tmp1, (0, 1, 2, 3), tmp0, (0, 1, 2), (3,)) * -1
+    del tmp1, tmp0
+    r1new += einsum(r2, (0, 1, 2), tmp2, (2, 0, 3, 1), (3,)) * -1
+    del tmp2
+    r1new += einsum(tmp4, (0, 1, 2), tmp3, (0, 2), (1,)) * -2
+    del tmp4, tmp3
+    r1new += einsum(tmp5, (0, 1), r1, (0,), (1,))
+    del tmp5
+    r1new += einsum(f.ov, (0, 1), tmp7, (0,), (1,))
+    del tmp7
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/RCCSD/index.html b/reference/codegen/RCCSD/index.html new file mode 100644 index 00000000..b15b9cf3 --- /dev/null +++ b/reference/codegen/RCCSD/index.html @@ -0,0 +1,6149 @@ + + + + + + + + RCCSD - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-12T21:47:27.290624
  • +
  • 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
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.RCCSD.energy(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-12T21:47:27.699385.

+

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.

+ +
+ Source code in ebcc/codegen/RCCSD.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
def energy(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-12T21:47:27.699385.
+
+    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))) * -0.5
+    tmp0 += np.transpose(v.ovov, (0, 2, 1, 3))
+    tmp1 = np.copy(f.ov)
+    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
+    e_cc += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 1, 3), ()) * 2
+    e_cc += einsum(t2, (0, 1, 2, 3), v.ovov, (0, 3, 1, 2), ()) * -1
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCSD.update_amps(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-12T21:47:37.482866.

+

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.

+ +
+ Source code in ebcc/codegen/RCCSD.py +
 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
def update_amps(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-12T21:47:37.482866.
+
+    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(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1))
+    tmp4 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1
+    tmp4 += np.transpose(v.ovov, (0, 2, 1, 3)) * 2
+    tmp47 = np.copy(tmp2) * -1
+    tmp47 += np.transpose(tmp2, (0, 2, 1, 3)) * 2
+    tmp39 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * 2
+    tmp39 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1
+    tmp30 = einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    tmp30 += np.transpose(t2, (0, 1, 3, 2)) * -2
+    tmp30 += t2
+    tmp5 = einsum(t1, (0, 1), tmp4, (0, 2, 1, 3), (2, 3))
+    del tmp4
+    tmp51 = np.copy(v.ooov) * -1
+    tmp51 += np.transpose(v.ovoo, (0, 2, 3, 1)) * 2
+    tmp48 = einsum(t2, (0, 1, 2, 3), tmp47, (4, 5, 1, 3), (4, 5, 0, 2))
+    del tmp47
+    tmp46 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 2), (0, 4, 5, 3))
+    tmp43 = np.copy(v.ovvv) * -1
+    tmp43 += np.transpose(v.ovvv, (0, 2, 1, 3)) * 2
+    tmp38 = einsum(tmp2, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3))
+    tmp40 = einsum(t2, (0, 1, 2, 3), tmp39, (1, 4, 5, 3), (4, 0, 5, 2))
+    del tmp39
+    tmp57 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1)))
+    tmp57 += np.transpose(v.ovov, (0, 2, 1, 3)) * -0.5
+    tmp31 = einsum(tmp30, (0, 1, 2, 3), v.ooov, (4, 5, 0, 3), (1, 4, 5, 2))
+    del tmp30
+    tmp27 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp28 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp32 = einsum(tmp5, (0, 1), t2, (2, 3, 1, 4), (0, 2, 3, 4))
+    tmp29 = einsum(t2, (0, 1, 2, 3), tmp2, (4, 5, 1, 2), (4, 0, 5, 3))
+    tmp0 = np.copy(t2)
+    tmp0 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    t2new = einsum(tmp0, (0, 1, 2, 3), v.vvvv, (4, 3, 5, 2), (1, 0, 4, 5))
+    tmp9 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp52 = einsum(tmp51, (0, 1, 2, 3), t1, (0, 3), (1, 2))
+    del tmp51
+    tmp49 = np.copy(tmp2)
+    tmp49 += tmp46 * -1
+    del tmp46
+    tmp49 += np.transpose(tmp48, (0, 2, 1, 3))
+    del tmp48
+    tmp44 = einsum(t1, (0, 1), tmp43, (0, 2, 1, 3), (2, 3))
+    del tmp43
+    tmp41 = np.copy(tmp38)
+    del tmp38
+    tmp41 += np.transpose(tmp40, (1, 0, 3, 2)) * -1
+    tmp55 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp60 = einsum(tmp57, (0, 1, 2, 3), t2, (4, 0, 2, 3), (1, 4)) * 2
+    tmp58 = einsum(t2, (0, 1, 2, 3), tmp57, (0, 1, 3, 4), (4, 2))
+    del tmp57
+    tmp25 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp25 += t2 * -1
+    tmp23 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp33 = np.copy(np.transpose(tmp27, (0, 2, 1, 3))) * -1
+    del tmp27
+    tmp33 += np.transpose(tmp28, (0, 2, 1, 3))
+    del tmp28
+    tmp33 += np.transpose(tmp29, (0, 2, 1, 3))
+    del tmp29
+    tmp33 += np.transpose(tmp31, (0, 2, 1, 3))
+    del tmp31
+    tmp33 += np.transpose(tmp32, (2, 0, 1, 3)) * -1
+    del tmp32
+    tmp19 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp35 = einsum(tmp5, (0, 1), t1, (2, 1), (0, 2))
+    tmp66 = einsum(tmp0, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp16 = np.copy(f.oo)
+    tmp16 += tmp9
+    tmp14 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp53 = einsum(t2, (0, 1, 2, 3), tmp52, (4, 1), (4, 0, 3, 2))
+    del tmp52
+    tmp50 = einsum(tmp49, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4))
+    del tmp49
+    tmp45 = einsum(t2, (0, 1, 2, 3), tmp44, (2, 4), (0, 1, 4, 3))
+    del tmp44
+    tmp42 = einsum(t2, (0, 1, 2, 3), tmp41, (4, 1, 5, 2), (4, 0, 5, 3))
+    del tmp41
+    tmp56 = einsum(tmp55, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3))
+    del tmp55
+    tmp61 = einsum(t2, (0, 1, 2, 3), tmp60, (1, 4), (4, 0, 3, 2))
+    del tmp60
+    tmp59 = einsum(t2, (0, 1, 2, 3), tmp58, (2, 4), (0, 1, 4, 3)) * 2
+    del tmp58
+    tmp20 = np.copy(t2)
+    tmp20 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    tmp26 = einsum(tmp25, (0, 1, 2, 3), tmp23, (4, 0, 3, 5), (1, 4, 2, 5))
+    del tmp25
+    tmp22 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2))
+    tmp34 = einsum(tmp33, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4))
+    del tmp33
+    tmp24 = einsum(t2, (0, 1, 2, 3), tmp19, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp36 = einsum(t2, (0, 1, 2, 3), tmp35, (1, 4), (4, 0, 3, 2))
+    del tmp35
+    tmp13 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5))
+    t2new += tmp13 * -1
+    tmp67 = np.copy(v.oooo)
+    tmp67 += np.transpose(tmp66, (3, 1, 0, 2))
+    del tmp66
+    t2new += einsum(tmp67, (0, 1, 2, 3), t2, (0, 3, 4, 5), (2, 1, 5, 4))
+    tmp63 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp17 = einsum(t2, (0, 1, 2, 3), tmp16, (1, 4), (4, 0, 3, 2))
+    del tmp16
+    tmp15 = einsum(tmp14, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3))
+    del tmp14
+    tmp10 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1
+    tmp10 += np.transpose(v.ovov, (0, 2, 1, 3)) * 2
+    tmp11 = np.copy(v.ooov) * -0.5
+    tmp11 += np.transpose(v.ovoo, (0, 2, 3, 1))
+    tmp54 = np.copy(tmp42)
+    del tmp42
+    tmp54 += np.transpose(tmp45, (1, 0, 3, 2))
+    del tmp45
+    tmp54 += np.transpose(tmp50, (0, 1, 3, 2)) * -1
+    del tmp50
+    tmp54 += np.transpose(tmp53, (1, 0, 3, 2)) * -1
+    del tmp53
+    t2new += np.transpose(tmp54, (1, 0, 3, 2))
+    t2new += tmp54
+    del tmp54
+    tmp62 = np.copy(tmp56)
+    del tmp56
+    tmp62 += np.transpose(tmp59, (1, 0, 3, 2))
+    del tmp59
+    tmp62 += np.transpose(tmp61, (1, 0, 3, 2))
+    del tmp61
+    t2new += np.transpose(tmp62, (1, 0, 3, 2)) * -1
+    t2new += tmp62 * -1
+    del tmp62
+    tmp69 = np.copy(v.oovv) * -1
+    tmp69 += einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 5), (4, 0, 5, 3))
+    t2new += einsum(t2, (0, 1, 2, 3), tmp69, (4, 1, 5, 2), (4, 0, 3, 5))
+    del tmp69
+    tmp21 = einsum(tmp20, (0, 1, 2, 3), tmp19, (4, 0, 3, 5), (4, 1, 5, 2))
+    del tmp19, tmp20
+    t2new += np.transpose(tmp21, (1, 0, 2, 3)) * -1
+    t2new += np.transpose(tmp21, (0, 1, 3, 2)) * -1
+    del tmp21
+    tmp37 = np.copy(tmp22)
+    del tmp22
+    tmp37 += tmp23
+    del tmp23
+    tmp37 += tmp24 * -1
+    del tmp24
+    tmp37 += np.transpose(tmp26, (1, 0, 2, 3))
+    del tmp26
+    tmp37 += np.transpose(tmp34, (0, 1, 3, 2))
+    del tmp34
+    tmp37 += np.transpose(tmp36, (0, 1, 3, 2)) * -1
+    del tmp36
+    t2new += np.transpose(tmp37, (1, 0, 2, 3))
+    t2new += np.transpose(tmp37, (0, 1, 3, 2))
+    del tmp37
+    tmp70 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * -1
+    tmp70 += tmp13
+    del tmp13
+    t2new += einsum(t2, (0, 1, 2, 3), tmp70, (4, 1, 5, 2), (4, 0, 5, 3))
+    del tmp70
+    tmp65 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * 2
+    tmp65 += v.oovv * -1
+    tmp65 += np.transpose(tmp40, (1, 0, 3, 2)) * 2
+    del tmp40
+    t2new += einsum(t2, (0, 1, 2, 3), tmp65, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp65
+    tmp68 = np.copy(np.transpose(v.ooov, (0, 2, 1, 3))) * -1
+    tmp68 += einsum(tmp67, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4))
+    del tmp67
+    t2new += einsum(t1, (0, 1), tmp68, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp68
+    tmp64 = einsum(t2, (0, 1, 2, 3), tmp63, (4, 5, 0, 1), (4, 5, 2, 3))
+    del tmp63
+    t2new += np.transpose(tmp64, (1, 0, 2, 3))
+    t2new += np.transpose(tmp64, (0, 1, 3, 2))
+    del tmp64
+    tmp18 = np.copy(tmp15)
+    del tmp15
+    tmp18 += np.transpose(tmp17, (0, 1, 3, 2))
+    del tmp17
+    t2new += np.transpose(tmp18, (1, 0, 2, 3)) * -1
+    t2new += np.transpose(tmp18, (0, 1, 3, 2)) * -1
+    del tmp18
+    tmp6 = np.copy(f.ov)
+    tmp6 += tmp5
+    del tmp5
+    tmp1 = np.copy(v.ovvv)
+    tmp1 += np.transpose(v.ovvv, (0, 2, 1, 3)) * -0.5
+    t1new = einsum(tmp0, (0, 1, 2, 3), tmp1, (0, 2, 3, 4), (1, 4)) * 2
+    del tmp1
+    tmp3 = np.copy(v.ooov)
+    tmp3 += np.transpose(v.ooov, (0, 2, 1, 3)) * -0.5
+    tmp3 += tmp2 * -0.5
+    tmp3 += np.transpose(tmp2, (0, 2, 1, 3))
+    del tmp2
+    t1new += einsum(t2, (0, 1, 2, 3), tmp3, (4, 0, 1, 3), (4, 2)) * -2
+    del tmp3
+    tmp12 = np.copy(f.oo) * 0.5
+    tmp12 += tmp9 * 0.5
+    del tmp9
+    tmp12 += einsum(tmp10, (0, 1, 2, 3), tmp0, (0, 4, 2, 3), (1, 4)) * 0.5
+    del tmp0, tmp10
+    tmp12 += einsum(tmp11, (0, 1, 2, 3), t1, (0, 3), (2, 1))
+    del tmp11
+    t1new += einsum(tmp12, (0, 1), t1, (0, 2), (1, 2)) * -2
+    del tmp12
+    tmp8 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * 2
+    tmp8 += v.oovv * -1
+    t1new += einsum(t1, (0, 1), tmp8, (0, 2, 1, 3), (2, 3))
+    del tmp8
+    tmp7 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp7 += t2 * 2
+    t1new += einsum(tmp7, (0, 1, 2, 3), tmp6, (0, 2), (1, 3))
+    del tmp7, tmp6
+    t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    t1new += f.ov
+    t2new += einsum(v.ovoo, (0, 1, 2, 3), t1, (3, 4), (0, 2, 1, 4)) * -1
+    t2new += np.transpose(v.ovov, (0, 2, 1, 3))
+    t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (0, 4, 2, 5)) * -1
+    t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5)) * -1
+    t2new += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5)) * 2
+
+    return {f"t1new": t1new, f"t2new": t2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCSD.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:48:12.348836.

+

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.

+ +
+ Source code in ebcc/codegen/RCCSD.py +
296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
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:48:12.348836.
+
+    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.
+    """
+
+    tmp97 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1
+    tmp97 += np.transpose(v.ovov, (0, 2, 1, 3)) * 2
+    tmp15 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp15 += t2 * 2
+    tmp98 = einsum(t1, (0, 1), tmp97, (0, 2, 1, 3), (2, 3))
+    del tmp97
+    tmp85 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp85 += t2 * 2
+    tmp16 = np.copy(np.transpose(t2, (0, 1, 3, 2)))
+    tmp16 += t2 * -0.5
+    tmp17 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0))
+    tmp8 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1))
+    tmp73 = einsum(tmp15, (0, 1, 2, 3), v.ovov, (4, 3, 0, 2), (4, 1)) * 0.5
+    tmp72 = einsum(v.ooov, (0, 1, 2, 3), t1, (2, 3), (0, 1))
+    tmp99 = einsum(t1, (0, 1), tmp98, (2, 1), (0, 2))
+    tmp96 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 2))
+    tmp86 = einsum(tmp85, (0, 1, 2, 3), v.ovov, (4, 5, 0, 2), (4, 1, 5, 3))
+    del tmp85
+    tmp83 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp84 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp89 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp24 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp53 = einsum(l2, (0, 1, 2, 3), tmp16, (2, 4, 1, 0), (3, 4)) * 2
+    tmp50 = einsum(l1, (0, 1), t1, (2, 0), (1, 2))
+    tmp5 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.5
+    tmp5 += np.transpose(v.ovov, (0, 2, 1, 3))
+    tmp2 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5))
+    l2new = einsum(l2, (0, 1, 2, 3), tmp2, (2, 3, 4, 5), (0, 1, 4, 5))
+    tmp36 = einsum(tmp17, (0, 1, 2, 3), t1, (4, 3), (1, 0, 2, 4))
+    tmp35 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5))
+    tmp26 = einsum(t1, (0, 1), tmp8, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp74 = np.copy(np.transpose(tmp72, (1, 0)))
+    del tmp72
+    tmp74 += np.transpose(tmp73, (1, 0))
+    del tmp73
+    tmp70 = einsum(v.ovov, (0, 1, 2, 3), tmp15, (0, 2, 4, 3), (1, 4)) * 0.5
+    tmp100 = np.copy(tmp96)
+    del tmp96
+    tmp100 += tmp99 * -1
+    del tmp99
+    tmp92 = np.copy(tmp17) * 2
+    tmp92 += np.transpose(tmp17, (1, 0, 2, 3)) * -1
+    tmp82 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1
+    tmp82 += np.transpose(l2, (2, 3, 0, 1)) * 2
+    tmp87 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3)))
+    tmp87 += np.transpose(tmp83, (0, 1, 3, 2))
+    del tmp83
+    tmp87 += tmp84 * -1
+    del tmp84
+    tmp87 += np.transpose(tmp86, (1, 0, 3, 2))
+    del tmp86
+    tmp94 = np.copy(tmp8) * 2
+    tmp94 += np.transpose(tmp8, (0, 2, 1, 3)) * -1
+    tmp90 = np.copy(v.oovv)
+    tmp90 += np.transpose(tmp24, (0, 1, 3, 2))
+    tmp90 += tmp89 * -1
+    del tmp89
+    tmp78 = einsum(t1, (0, 1), v.ovvv, (0, 1, 2, 3), (2, 3))
+    tmp12 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp108 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp65 = einsum(tmp16, (0, 1, 2, 3), l2, (4, 2, 0, 1), (4, 3)) * 2
+    tmp54 = np.copy(tmp50)
+    tmp54 += tmp53
+    del tmp53
+    tmp6 = einsum(t1, (0, 1), tmp5, (0, 2, 1, 3), (2, 3)) * 2
+    tmp1 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp3 = einsum(tmp2, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4))
+    del tmp2
+    tmp37 = np.copy(np.transpose(tmp35, (1, 0, 3, 2)))
+    tmp37 += tmp36
+    l2new += einsum(v.ovov, (0, 1, 2, 3), tmp37, (4, 5, 0, 2), (3, 1, 5, 4))
+    tmp25 = einsum(t1, (0, 1), tmp24, (2, 3, 4, 1), (2, 0, 3, 4))
+    del tmp24
+    tmp27 = einsum(tmp26, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4))
+    tmp104 = einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3))
+    tmp75 = einsum(l2, (0, 1, 2, 3), tmp74, (2, 4), (3, 4, 0, 1)) * 2
+    del tmp74
+    tmp69 = einsum(l1, (0, 1), v.ooov, (2, 1, 3, 4), (2, 3, 0, 4))
+    tmp71 = einsum(tmp70, (0, 1), l2, (2, 1, 3, 4), (4, 3, 2, 0)) * 2
+    del tmp70
+    tmp101 = einsum(l2, (0, 1, 2, 3), tmp100, (2, 4), (3, 4, 0, 1))
+    del tmp100
+    tmp77 = einsum(tmp17, (0, 1, 2, 3), v.ooov, (4, 1, 2, 5), (0, 4, 3, 5))
+    tmp93 = einsum(tmp92, (0, 1, 2, 3), v.ovoo, (4, 5, 1, 2), (4, 0, 5, 3))
+    del tmp92
+    tmp102 = einsum(tmp17, (0, 1, 2, 3), tmp98, (2, 4), (0, 1, 3, 4))
+    tmp88 = einsum(tmp82, (0, 1, 2, 3), tmp87, (0, 4, 2, 5), (1, 4, 3, 5))
+    del tmp82, tmp87
+    tmp95 = einsum(tmp17, (0, 1, 2, 3), tmp94, (1, 4, 2, 5), (0, 4, 3, 5))
+    del tmp94
+    tmp91 = einsum(tmp90, (0, 1, 2, 3), l2, (4, 2, 5, 0), (5, 1, 4, 3))
+    tmp81 = einsum(tmp17, (0, 1, 2, 3), tmp8, (0, 4, 2, 5), (1, 4, 3, 5))
+    tmp80 = einsum(tmp17, (0, 1, 2, 3), v.ovvv, (2, 4, 5, 3), (1, 0, 4, 5))
+    tmp79 = einsum(l2, (0, 1, 2, 3), tmp78, (4, 1), (2, 3, 0, 4))
+    del tmp78
+    tmp110 = einsum(tmp17, (0, 1, 2, 3), f.ov, (2, 4), (0, 1, 4, 3))
+    tmp107 = einsum(v.ovvv, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2))
+    tmp113 = einsum(tmp8, (0, 1, 2, 3), tmp17, (0, 4, 1, 5), (4, 2, 5, 3))
+    tmp111 = einsum(l2, (0, 1, 2, 3), tmp12, (2, 3, 4, 5), (4, 5, 0, 1))
+    tmp114 = einsum(l2, (0, 1, 2, 3), tmp90, (2, 4, 1, 5), (3, 4, 0, 5))
+    del tmp90
+    tmp106 = einsum(l2, (0, 1, 2, 3), f.vv, (4, 1), (2, 3, 4, 0))
+    tmp112 = einsum(v.ooov, (0, 1, 2, 3), tmp17, (1, 4, 2, 5), (4, 0, 5, 3))
+    tmp109 = einsum(l2, (0, 1, 2, 3), tmp108, (4, 3), (4, 2, 0, 1))
+    del tmp108
+    tmp63 = einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3))
+    tmp66 = einsum(tmp65, (0, 1), v.ovov, (2, 1, 3, 4), (2, 3, 4, 0))
+    del tmp65
+    tmp64 = einsum(tmp8, (0, 1, 2, 3), l1, (4, 0), (1, 2, 4, 3))
+    tmp67 = einsum(tmp54, (0, 1), v.ovov, (2, 3, 1, 4), (2, 0, 4, 3))
+    tmp39 = np.copy(tmp17) * 2
+    tmp39 += np.transpose(tmp17, (1, 0, 2, 3)) * -1
+    tmp43 = np.copy(tmp17) * -0.5
+    tmp43 += np.transpose(tmp17, (1, 0, 2, 3))
+    tmp42 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2))
+    tmp7 = einsum(t2, (0, 1, 2, 3), tmp6, (4, 2), (0, 1, 4, 3))
+    tmp9 = np.copy(v.ooov) * -1
+    tmp9 += np.transpose(v.ooov, (0, 2, 1, 3)) * 2
+    tmp9 += tmp8 * 2
+    tmp9 += np.transpose(tmp8, (0, 2, 1, 3)) * -1
+    tmp13 = np.copy(np.transpose(v.oooo, (0, 2, 1, 3))) * 2
+    tmp13 += v.oooo * -1
+    tmp13 += np.transpose(tmp12, (2, 1, 0, 3)) * -1
+    tmp13 += np.transpose(tmp12, (3, 2, 0, 1)) * 2
+    tmp0 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2))
+    tmp10 = np.copy(v.ooov)
+    tmp10 += np.transpose(v.ooov, (0, 2, 1, 3)) * -0.5
+    tmp10 += tmp8 * -0.5
+    tmp10 += np.transpose(tmp8, (0, 2, 1, 3))
+    del tmp8
+    tmp4 = np.copy(tmp1) * 0.5
+    del tmp1
+    tmp4 += tmp3 * -0.5
+    del tmp3
+    tmp11 = np.copy(v.oovv) * 2
+    tmp11 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1
+    tmp38 = einsum(tmp37, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4))
+    del tmp37
+    tmp40 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp40 += t2 * -1
+    tmp31 = np.copy(np.transpose(tmp12, (0, 2, 1, 3))) * 2
+    tmp31 += np.transpose(tmp12, (0, 3, 2, 1)) * -1
+    del tmp12
+    tmp28 = np.copy(tmp25) * 2
+    del tmp25
+    tmp28 += tmp27 * -2
+    del tmp27
+    tmp29 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5
+    tmp29 += t2
+    tmp30 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * 2
+    tmp30 += v.oovv * -1
+    tmp33 = np.copy(tmp17) * -1
+    tmp33 += np.transpose(tmp17, (1, 0, 2, 3)) * 2
+    tmp60 = np.copy(v.ooov) * -0.5
+    tmp60 += np.transpose(v.ovoo, (0, 2, 3, 1))
+    tmp61 = np.copy(f.ov)
+    tmp61 += tmp6
+    del tmp6
+    tmp57 = np.copy(v.ovvv) * -0.5
+    tmp57 += np.transpose(v.ovvv, (0, 2, 1, 3))
+    tmp22 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1
+    tmp22 += np.transpose(l2, (2, 3, 0, 1)) * 2
+    tmp51 = np.copy(tmp50) * 0.5
+    del tmp50
+    tmp51 += einsum(l2, (0, 1, 2, 3), tmp16, (2, 4, 1, 0), (3, 4))
+    tmp18 = np.copy(tmp17)
+    tmp18 += np.transpose(tmp17, (1, 0, 2, 3)) * -0.5
+    tmp105 = einsum(l2, (0, 1, 2, 3), tmp104, (4, 1), (2, 3, 0, 4))
+    del tmp104
+    l2new += np.transpose(tmp105, (3, 2, 1, 0)) * -1
+    l2new += np.transpose(tmp105, (2, 3, 0, 1)) * -1
+    del tmp105
+    tmp76 = np.copy(tmp69)
+    del tmp69
+    tmp76 += np.transpose(tmp71, (1, 0, 2, 3))
+    del tmp71
+    tmp76 += np.transpose(tmp75, (0, 1, 3, 2))
+    del tmp75
+    l2new += np.transpose(tmp76, (3, 2, 1, 0)) * -1
+    l2new += np.transpose(tmp76, (2, 3, 0, 1)) * -1
+    del tmp76
+    tmp103 = einsum(f.ov, (0, 1), l1, (2, 3), (0, 3, 1, 2))
+    tmp103 += tmp77
+    del tmp77
+    tmp103 += tmp79 * 2
+    del tmp79
+    tmp103 += tmp80 * -1
+    del tmp80
+    tmp103 += tmp81
+    del tmp81
+    tmp103 += tmp88
+    del tmp88
+    tmp103 += tmp91 * -1
+    del tmp91
+    tmp103 += np.transpose(tmp93, (1, 0, 3, 2)) * -1
+    del tmp93
+    tmp103 += tmp95 * -1
+    del tmp95
+    tmp103 += np.transpose(tmp101, (0, 1, 3, 2))
+    del tmp101
+    tmp103 += tmp102 * -1
+    del tmp102
+    tmp103 += einsum(tmp98, (0, 1), l1, (2, 3), (3, 0, 2, 1))
+    del tmp98
+    l2new += np.transpose(tmp103, (3, 2, 1, 0))
+    l2new += np.transpose(tmp103, (2, 3, 0, 1))
+    del tmp103
+    tmp115 = np.copy(tmp106)
+    del tmp106
+    tmp115 += tmp107
+    del tmp107
+    tmp115 += tmp109 * -1
+    del tmp109
+    tmp115 += tmp110 * -1
+    del tmp110
+    tmp115 += tmp111
+    del tmp111
+    tmp115 += tmp112
+    del tmp112
+    tmp115 += tmp113
+    del tmp113
+    tmp115 += tmp114 * -1
+    del tmp114
+    l2new += np.transpose(tmp115, (2, 3, 1, 0))
+    l2new += np.transpose(tmp115, (3, 2, 0, 1))
+    del tmp115
+    tmp116 = np.copy(v.oooo)
+    tmp116 += np.transpose(tmp26, (0, 2, 3, 1))
+    del tmp26
+    l2new += einsum(l2, (0, 1, 2, 3), tmp116, (3, 4, 5, 2), (0, 1, 5, 4))
+    del tmp116
+    tmp68 = np.copy(tmp63)
+    del tmp63
+    tmp68 += tmp64
+    del tmp64
+    tmp68 += np.transpose(tmp66, (1, 0, 3, 2))
+    del tmp66
+    tmp68 += np.transpose(tmp67, (1, 0, 3, 2))
+    del tmp67
+    l2new += np.transpose(tmp68, (2, 3, 1, 0)) * -1
+    l2new += np.transpose(tmp68, (3, 2, 0, 1)) * -1
+    del tmp68
+    tmp44 = np.copy(tmp42) * -2
+    tmp44 += np.transpose(tmp42, (0, 2, 1, 3))
+    del tmp42
+    tmp44 += einsum(t2, (0, 1, 2, 3), tmp39, (1, 4, 5, 3), (4, 5, 0, 2))
+    tmp44 += einsum(t2, (0, 1, 2, 3), tmp43, (1, 4, 5, 2), (4, 5, 0, 3)) * 2
+    del tmp43
+    l1new = einsum(v.ovov, (0, 1, 2, 3), tmp44, (4, 2, 0, 3), (1, 4))
+    del tmp44
+    tmp14 = np.copy(np.transpose(v.ooov, (0, 2, 1, 3))) * 0.5
+    tmp14 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1
+    tmp14 += np.transpose(tmp0, (1, 2, 0, 3)) * -1
+    tmp14 += np.transpose(tmp0, (2, 1, 0, 3)) * 0.5
+    del tmp0
+    tmp14 += tmp4
+    tmp14 += np.transpose(tmp4, (1, 0, 2, 3)) * -2
+    del tmp4
+    tmp14 += np.transpose(tmp7, (1, 0, 2, 3)) * -1
+    tmp14 += tmp7 * 0.5
+    del tmp7
+    tmp14 += einsum(t2, (0, 1, 2, 3), tmp9, (4, 1, 5, 3), (4, 0, 5, 2)) * 0.5
+    del tmp9
+    tmp14 += einsum(tmp10, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 4, 2, 5))
+    tmp14 += einsum(tmp11, (0, 1, 2, 3), t1, (4, 2), (4, 1, 0, 3)) * -0.5
+    del tmp11
+    tmp14 += einsum(tmp13, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4)) * 0.5
+    del tmp13
+    l1new += einsum(l2, (0, 1, 2, 3), tmp14, (3, 2, 4, 1), (0, 4)) * 2
+    del tmp14
+    tmp41 = np.copy(np.transpose(tmp17, (0, 2, 1, 3))) * 0.5
+    tmp41 += np.transpose(tmp17, (1, 2, 0, 3)) * -1
+    tmp41 += np.transpose(tmp38, (0, 2, 1, 3))
+    tmp41 += tmp38 * -0.5
+    del tmp38
+    tmp41 += einsum(tmp40, (0, 1, 2, 3), tmp39, (0, 4, 5, 3), (4, 5, 1, 2)) * -0.5
+    del tmp39, tmp40
+    l1new += einsum(v.ovov, (0, 1, 2, 3), tmp41, (4, 2, 0, 1), (3, 4)) * 2
+    del tmp41
+    tmp32 = np.copy(tmp28) * -1
+    tmp32 += np.transpose(tmp28, (1, 0, 2, 3)) * 0.5
+    del tmp28
+    tmp32 += einsum(tmp29, (0, 1, 2, 3), tmp10, (4, 5, 0, 2), (4, 1, 5, 3)) * -4
+    del tmp10
+    tmp32 += einsum(tmp30, (0, 1, 2, 3), t1, (4, 2), (4, 1, 0, 3)) * -1
+    del tmp30
+    tmp32 += einsum(tmp31, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4))
+    del tmp31
+    l1new += einsum(tmp32, (0, 1, 2, 3), l2, (4, 3, 0, 1), (4, 2))
+    del tmp32
+    tmp34 = np.copy(np.transpose(l2, (3, 2, 0, 1)))
+    tmp34 += einsum(tmp33, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4))
+    del tmp33
+    l1new += einsum(tmp34, (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (4, 0)) * -1
+    del tmp34
+    tmp62 = np.copy(f.oo)
+    tmp62 += einsum(tmp15, (0, 1, 2, 3), v.ovov, (4, 3, 0, 2), (1, 4))
+    tmp62 += einsum(t1, (0, 1), tmp60, (0, 2, 3, 1), (2, 3)) * 2
+    del tmp60
+    tmp62 += einsum(t1, (0, 1), tmp61, (2, 1), (0, 2))
+    del tmp61
+    l1new += einsum(tmp62, (0, 1), l1, (2, 0), (2, 1)) * -1
+    del tmp62
+    tmp20 = einsum(l2, (0, 1, 2, 3), t1, (3, 4), (2, 0, 1, 4))
+    tmp55 = np.copy(v.ooov) * 2
+    tmp55 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1
+    l1new += einsum(tmp55, (0, 1, 2, 3), tmp54, (1, 0), (3, 2)) * -1
+    del tmp55
+    tmp48 = einsum(l1, (0, 1), t1, (1, 2), (0, 2)) * 0.5
+    tmp48 += einsum(tmp16, (0, 1, 2, 3), l2, (4, 2, 0, 1), (4, 3))
+    tmp58 = np.copy(f.vv) * 0.5
+    tmp58 += einsum(t1, (0, 1), tmp57, (0, 2, 1, 3), (3, 2))
+    del tmp57
+    l1new += einsum(l1, (0, 1), tmp58, (0, 2), (2, 1)) * 2
+    del tmp58
+    tmp49 = np.copy(v.ovvv) * 2
+    tmp49 += np.transpose(v.ovvv, (0, 2, 1, 3)) * -1
+    l1new += einsum(tmp49, (0, 1, 2, 3), tmp48, (3, 2), (1, 0)) * 2
+    del tmp49, tmp48
+    tmp21 = np.copy(np.transpose(v.vvvv, (0, 2, 3, 1))) * 2
+    tmp21 += v.vvvv * -1
+    l1new += einsum(tmp21, (0, 1, 2, 3), tmp20, (4, 2, 0, 3), (1, 4))
+    del tmp21, tmp20
+    tmp23 = np.copy(np.transpose(l2, (2, 3, 0, 1)))
+    tmp23 += einsum(tmp22, (0, 1, 2, 3), tmp16, (0, 4, 5, 2), (1, 4, 3, 5))
+    del tmp22
+    l1new += einsum(tmp23, (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (4, 0)) * 2
+    del tmp23
+    tmp52 = np.copy(t1) * -0.5
+    tmp52 += einsum(tmp29, (0, 1, 2, 3), tmp17, (1, 0, 4, 3), (4, 2))
+    del tmp29
+    tmp52 += einsum(l1, (0, 1), tmp15, (1, 2, 0, 3), (2, 3)) * -0.5
+    tmp52 += einsum(tmp51, (0, 1), t1, (0, 2), (1, 2))
+    del tmp51
+    l1new += einsum(tmp52, (0, 1), tmp5, (0, 2, 1, 3), (3, 2)) * -4
+    del tmp52
+    tmp46 = np.copy(tmp36) * -0.5
+    tmp46 += np.transpose(tmp36, (0, 1, 3, 2))
+    del tmp36
+    l1new += einsum(v.ooov, (0, 1, 2, 3), tmp46, (4, 0, 1, 2), (3, 4)) * 2
+    del tmp46
+    tmp45 = np.copy(tmp17) * -1
+    tmp45 += np.transpose(tmp17, (1, 0, 2, 3)) * 2
+    del tmp17
+    l1new += einsum(tmp45, (0, 1, 2, 3), v.oovv, (0, 2, 4, 3), (4, 1)) * -1
+    del tmp45
+    tmp59 = np.copy(f.ov) * 0.5
+    tmp59 += einsum(t1, (0, 1), tmp5, (0, 2, 1, 3), (2, 3))
+    del tmp5
+    l1new += einsum(tmp54, (0, 1), tmp59, (1, 2), (2, 0)) * -2
+    del tmp54, tmp59
+    tmp47 = np.copy(np.transpose(tmp35, (1, 0, 2, 3))) * 2
+    tmp47 += np.transpose(tmp35, (1, 0, 3, 2)) * -1
+    del tmp35
+    l1new += einsum(tmp47, (0, 1, 2, 3), v.ooov, (3, 0, 2, 4), (4, 1))
+    del tmp47
+    tmp19 = einsum(l2, (0, 1, 2, 3), tmp15, (2, 4, 5, 1), (3, 4, 0, 5))
+    del tmp15
+    tmp19 += einsum(l2, (0, 1, 2, 3), tmp16, (3, 4, 5, 1), (2, 4, 0, 5)) * 2
+    del tmp16
+    tmp19 += einsum(t1, (0, 1), tmp18, (0, 2, 3, 4), (2, 3, 1, 4)) * 2
+    del tmp18
+    l1new += einsum(v.ovvv, (0, 1, 2, 3), tmp19, (4, 0, 3, 2), (1, 4)) * -1
+    del tmp19
+    tmp56 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * 2
+    tmp56 += v.oovv * -1
+    l1new += einsum(l1, (0, 1), tmp56, (1, 2, 0, 3), (3, 2))
+    del tmp56
+    l1new += np.transpose(f.ov, (1, 0))
+    l2new += np.transpose(v.ovov, (1, 3, 0, 2))
+    l2new += einsum(l2, (0, 1, 2, 3), v.vvvv, (4, 1, 5, 0), (4, 5, 3, 2))
+
+    return {f"l1new": l1new, f"l2new": l2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCSD.make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-12T21:48:13.302081.

+

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.

+ +
+ Source code in ebcc/codegen/RCCSD.py +
697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-12T21:48:13.302081.
+
+    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]),
+    )
+    tmp0 = einsum(l1, (0, 1), t1, (2, 0), (1, 2))
+    rdm1.oo = np.copy(np.transpose(tmp0, (1, 0))) * -2
+    tmp5 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5
+    tmp5 += t2
+    tmp2 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0))
+    tmp7 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1
+    tmp7 += np.transpose(l2, (2, 3, 0, 1)) * 2
+    rdm1.vv = einsum(t2, (0, 1, 2, 3), tmp7, (0, 1, 4, 3), (4, 2)) * 2
+    del tmp7
+    tmp6 = np.copy(tmp0)
+    del tmp0
+    tmp6 += einsum(l2, (0, 1, 2, 3), tmp5, (2, 4, 0, 1), (3, 4)) * 2
+    del tmp5
+    rdm1.ov = einsum(tmp6, (0, 1), t1, (0, 2), (1, 2)) * -2
+    del tmp6
+    tmp3 = np.copy(tmp2)
+    tmp3 += np.transpose(tmp2, (1, 0, 2, 3)) * -0.5
+    del tmp2
+    rdm1.ov += einsum(t2, (0, 1, 2, 3), tmp3, (1, 0, 4, 3), (4, 2)) * -4
+    del tmp3
+    tmp4 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp4 += t2 * 2
+    rdm1.ov += einsum(tmp4, (0, 1, 2, 3), l1, (2, 0), (1, 3)) * 2
+    del tmp4
+    tmp1 = np.copy(np.transpose(t2, (0, 1, 3, 2)))
+    tmp1 += t2 * -0.5
+    rdm1.oo += einsum(l2, (0, 1, 2, 3), tmp1, (2, 4, 1, 0), (4, 3)) * -4
+    del tmp1
+    rdm1.oo += delta.oo * 2
+    del delta
+    rdm1.ov += t1 * 2
+    rdm1.vo = np.copy(l1) * 2
+    rdm1.vv += einsum(l1, (0, 1), t1, (1, 2), (0, 2)) * 2
+    rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]])
+
+    return rdm1
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCSD.make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-12T21:48:56.527230.

+

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.

+ +
+ Source code in ebcc/codegen/RCCSD.py +
 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
+1331
+1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
+1359
+1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
+1373
+1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-12T21:48:56.527230.
+
+    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, 1), (2, 3, 4, 0))
+    rdm2.vooo = np.copy(np.transpose(tmp4, (3, 2, 1, 0)))
+    rdm2.vooo += np.transpose(tmp4, (3, 2, 0, 1)) * -1
+    rdm2.vooo += np.transpose(tmp4, (3, 2, 0, 1)) * -1
+    rdm2.vooo += np.transpose(tmp4, (3, 2, 0, 1)) * -1
+    rdm2.vooo += np.transpose(tmp4, (3, 2, 1, 0))
+    rdm2.vooo += np.transpose(tmp4, (3, 2, 0, 1)) * -1
+    rdm2.ovoo = np.copy(np.transpose(tmp4, (2, 3, 1, 0))) * -1
+    rdm2.ovoo += np.transpose(tmp4, (2, 3, 0, 1))
+    rdm2.ovoo += np.transpose(tmp4, (2, 3, 1, 0)) * -1
+    rdm2.ovoo += np.transpose(tmp4, (2, 3, 1, 0)) * -1
+    rdm2.ovoo += np.transpose(tmp4, (2, 3, 1, 0)) * -1
+    rdm2.ovoo += np.transpose(tmp4, (2, 3, 0, 1))
+    tmp92 = np.copy(np.transpose(t2, (0, 1, 3, 2)))
+    tmp92 += t2 * -1
+    tmp90 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp90 += t2 * -1
+    tmp16 = np.copy(tmp4) * 2
+    tmp16 += np.transpose(tmp4, (1, 0, 2, 3)) * -1
+    tmp0 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5
+    tmp0 += t2
+    tmp14 = np.copy(tmp4)
+    tmp14 += np.transpose(tmp4, (1, 0, 2, 3)) * -1
+    tmp55 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1
+    tmp55 += np.transpose(l2, (2, 3, 0, 1)) * 2
+    tmp93 = einsum(tmp92, (0, 1, 2, 3), l2, (4, 3, 0, 5), (1, 5, 2, 4))
+    del tmp92
+    tmp91 = einsum(tmp90, (0, 1, 2, 3), l2, (4, 3, 5, 0), (1, 5, 2, 4))
+    del tmp90
+    tmp84 = einsum(tmp4, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4))
+    rdm2.voov = np.copy(np.transpose(tmp84, (2, 1, 0, 3))) * -1
+    rdm2.voov += np.transpose(tmp84, (2, 1, 0, 3)) * -1
+    rdm2.ovvo = np.copy(np.transpose(tmp84, (1, 2, 3, 0))) * -1
+    rdm2.ovvo += np.transpose(tmp84, (1, 2, 3, 0)) * -1
+    tmp40 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1
+    tmp40 += np.transpose(l2, (2, 3, 0, 1)) * 2
+    tmp5 = einsum(tmp4, (0, 1, 2, 3), t1, (4, 3), (1, 0, 2, 4))
+    rdm2.oooo = np.copy(np.transpose(tmp5, (3, 2, 1, 0)))
+    rdm2.oooo += np.transpose(tmp5, (3, 2, 1, 0))
+    tmp3 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5))
+    rdm2.oooo += np.transpose(tmp3, (3, 2, 1, 0))
+    rdm2.oooo += np.transpose(tmp3, (3, 2, 1, 0))
+    tmp17 = einsum(t2, (0, 1, 2, 3), tmp16, (1, 4, 5, 3), (4, 5, 0, 2))
+    del tmp16
+    rdm2.oovo = np.copy(np.transpose(tmp17, (2, 1, 3, 0))) * -1
+    rdm2.oovo += np.transpose(tmp17, (2, 1, 3, 0)) * -1
+    rdm2.ooov = np.copy(np.transpose(tmp17, (1, 2, 0, 3))) * -1
+    rdm2.ooov += np.transpose(tmp17, (1, 2, 0, 3)) * -1
+    tmp25 = einsum(t2, (0, 1, 2, 3), tmp4, (1, 4, 5, 2), (4, 5, 0, 3))
+    rdm2.oovo += np.transpose(tmp25, (2, 1, 3, 0))
+    rdm2.oovo += np.transpose(tmp25, (2, 1, 3, 0))
+    rdm2.ooov += np.transpose(tmp25, (1, 2, 0, 3))
+    rdm2.ooov += np.transpose(tmp25, (1, 2, 0, 3))
+    tmp12 = einsum(t2, (0, 1, 2, 3), l1, (3, 4), (4, 0, 1, 2))
+    rdm2.oovo += np.transpose(tmp12, (1, 2, 3, 0)) * -1
+    rdm2.oovo += np.transpose(tmp12, (1, 2, 3, 0)) * -1
+    rdm2.ooov += np.transpose(tmp12, (2, 1, 0, 3)) * -1
+    rdm2.ooov += np.transpose(tmp12, (2, 1, 0, 3)) * -1
+    tmp26 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 1, 5, 2), (4, 5, 0, 3))
+    rdm2.oovo += np.transpose(tmp26, (1, 2, 3, 0))
+    rdm2.oovo += np.transpose(tmp26, (1, 2, 3, 0))
+    rdm2.ooov += np.transpose(tmp26, (2, 1, 0, 3))
+    rdm2.ooov += np.transpose(tmp26, (2, 1, 0, 3))
+    tmp43 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1
+    tmp43 += np.transpose(l2, (2, 3, 0, 1))
+    tmp8 = np.copy(tmp4) * 2
+    tmp8 += np.transpose(tmp4, (1, 0, 2, 3)) * -1
+    tmp1 = einsum(l2, (0, 1, 2, 3), tmp0, (2, 4, 0, 1), (3, 4)) * 2
+    rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0)) * -1
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (3, 0, 1, 2))
+    rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3))
+    rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 2, 0, 3)) * -1
+    rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0)) * -1
+    rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 2, 0, 3)) * -1
+    rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0)) * -1
+    rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 2, 0, 3)) * -1
+    rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0)) * -1
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp1, (2, 3), (3, 0, 1, 2))
+    rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3))
+    rdm2.oooo += einsum(tmp1, (0, 1), delta.oo, (2, 3), (1, 2, 0, 3)) * -1
+    tmp15 = einsum(tmp14, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 2, 4, 5))
+    tmp20 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp20 += t2 * 2
+    tmp2 = einsum(l1, (0, 1), t1, (2, 0), (1, 2))
+    rdm2.ooov += einsum(tmp2, (0, 1), t1, (2, 3), (1, 2, 0, 3)) * -1
+    rdm2.ooov += einsum(tmp2, (0, 1), t1, (2, 3), (2, 1, 0, 3))
+    rdm2.ooov += einsum(tmp2, (0, 1), t1, (2, 3), (1, 2, 0, 3)) * -1
+    rdm2.ooov += einsum(tmp2, (0, 1), t1, (2, 3), (2, 1, 0, 3))
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp2, (2, 3), (0, 3, 1, 2)) * -1
+    rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0))
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp2, (2, 3), (0, 3, 2, 1))
+    rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (1, 2, 0, 3)) * -1
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp2, (2, 3), (0, 3, 1, 2)) * -1
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp2, (2, 3), (0, 3, 1, 2)) * -1
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp2, (2, 3), (0, 3, 1, 2)) * -1
+    rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0))
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp2, (2, 3), (0, 3, 2, 1))
+    rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (1, 2, 0, 3)) * -1
+    tmp31 = einsum(l2, (0, 1, 2, 3), tmp0, (2, 4, 0, 1), (3, 4))
+    del tmp0
+    tmp110 = einsum(l2, (0, 1, 2, 3), t1, (3, 4), (2, 0, 1, 4))
+    rdm2.vvvo = np.copy(np.transpose(tmp110, (2, 1, 3, 0)))
+    rdm2.vvvo += np.transpose(tmp110, (1, 2, 3, 0)) * -1
+    rdm2.vvvo += np.transpose(tmp110, (2, 1, 3, 0))
+    rdm2.vvvo += np.transpose(tmp110, (2, 1, 3, 0))
+    rdm2.vvvo += np.transpose(tmp110, (2, 1, 3, 0))
+    rdm2.vvvo += np.transpose(tmp110, (1, 2, 3, 0)) * -1
+    rdm2.vvov = np.copy(np.transpose(tmp110, (2, 1, 0, 3))) * -1
+    rdm2.vvov += np.transpose(tmp110, (1, 2, 0, 3))
+    rdm2.vvov += np.transpose(tmp110, (1, 2, 0, 3))
+    rdm2.vvov += np.transpose(tmp110, (1, 2, 0, 3))
+    rdm2.vvov += np.transpose(tmp110, (2, 1, 0, 3)) * -1
+    rdm2.vvov += np.transpose(tmp110, (1, 2, 0, 3))
+    tmp76 = einsum(l1, (0, 1), t1, (1, 2), (0, 2))
+    tmp77 = einsum(t2, (0, 1, 2, 3), tmp55, (0, 1, 4, 3), (4, 2))
+    tmp104 = np.copy(tmp84)
+    tmp104 += np.transpose(tmp93, (1, 0, 3, 2))
+    tmp104 += np.transpose(tmp91, (1, 0, 3, 2)) * -1
+    tmp41 = einsum(t2, (0, 1, 2, 3), tmp40, (1, 4, 3, 5), (4, 0, 5, 2))
+    del tmp40
+    tmp60 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 5, 1), (5, 0, 4, 3))
+    rdm2.voov += np.transpose(tmp60, (2, 1, 0, 3)) * -1
+    rdm2.voov += np.transpose(tmp60, (2, 1, 0, 3)) * -1
+    rdm2.ovvo += np.transpose(tmp60, (1, 2, 3, 0)) * -1
+    rdm2.ovvo += np.transpose(tmp60, (1, 2, 3, 0)) * -1
+    tmp94 = np.copy(np.transpose(tmp91, (1, 0, 3, 2)))
+    del tmp91
+    tmp94 += np.transpose(tmp93, (1, 0, 3, 2)) * -1
+    del tmp93
+    tmp101 = einsum(t2, (0, 1, 2, 3), tmp55, (1, 4, 3, 5), (4, 0, 5, 2))
+    tmp6 = np.copy(np.transpose(tmp3, (1, 0, 3, 2)))
+    tmp6 += tmp5
+    rdm2.oooo += np.transpose(tmp6, (2, 3, 0, 1))
+    rdm2.oooo += np.transpose(tmp6, (3, 2, 0, 1)) * -1
+    rdm2.oooo += np.transpose(tmp6, (2, 3, 0, 1))
+    rdm2.oooo += np.transpose(tmp6, (3, 2, 0, 1)) * -1
+    tmp23 = einsum(tmp3, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4))
+    del tmp3
+    tmp64 = np.copy(tmp25)
+    del tmp25
+    tmp64 += tmp17 * -1
+    tmp67 = np.copy(tmp12)
+    tmp67 += tmp26 * -1
+    del tmp26
+    tmp44 = einsum(t2, (0, 1, 2, 3), tmp43, (1, 4, 2, 5), (4, 0, 5, 3))
+    tmp13 = einsum(tmp5, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4))
+    del tmp5
+    tmp56 = einsum(t2, (0, 1, 2, 3), tmp55, (0, 1, 4, 3), (4, 2)) * 0.5
+    del tmp55
+    tmp9 = einsum(tmp8, (0, 1, 2, 3), t2, (0, 1, 3, 4), (2, 4)) * 0.5
+    tmp10 = einsum(tmp1, (0, 1), t1, (0, 2), (1, 2)) * 0.5
+    tmp49 = np.copy(tmp12)
+    tmp49 += tmp15
+    tmp49 += tmp17 * -1
+    tmp21 = einsum(tmp20, (0, 1, 2, 3), l1, (2, 0), (1, 3))
+    rdm2.oovo += einsum(tmp21, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.oovo += einsum(tmp21, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3))
+    rdm2.oovo += einsum(tmp21, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.oovo += einsum(tmp21, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3))
+    tmp19 = einsum(tmp2, (0, 1), t1, (0, 2), (1, 2))
+    rdm2.oovv = einsum(t1, (0, 1), tmp19, (2, 3), (0, 2, 1, 3)) * -1
+    rdm2.oovv += einsum(t1, (0, 1), tmp19, (2, 3), (0, 2, 1, 3)) * -1
+    tmp29 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp29 += t2 * 2
+    tmp32 = np.copy(tmp2) * 0.5
+    tmp32 += tmp31
+    del tmp31
+    tmp112 = einsum(tmp110, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4))
+    del tmp110
+    rdm2.vvvv = np.copy(np.transpose(tmp112, (1, 0, 3, 2)))
+    rdm2.vvvv += np.transpose(tmp112, (1, 0, 3, 2))
+    tmp111 = einsum(l2, (0, 1, 2, 3), t2, (3, 2, 4, 5), (0, 1, 5, 4))
+    rdm2.vvvv += np.transpose(tmp111, (1, 0, 3, 2))
+    rdm2.vvvv += np.transpose(tmp111, (1, 0, 3, 2))
+    tmp62 = einsum(l2, (0, 1, 2, 3), t2, (4, 2, 1, 5), (3, 4, 0, 5))
+    rdm2.vovo = np.copy(np.transpose(tmp62, (2, 1, 3, 0))) * -1
+    rdm2.vovo += np.transpose(tmp62, (2, 1, 3, 0)) * -1
+    rdm2.ovov = np.copy(np.transpose(tmp62, (1, 2, 0, 3))) * -1
+    rdm2.ovov += np.transpose(tmp62, (1, 2, 0, 3)) * -1
+    tmp78 = np.copy(tmp76)
+    tmp78 += tmp77
+    del tmp77
+    rdm2.vovv = einsum(t1, (0, 1), tmp78, (2, 3), (2, 0, 3, 1))
+    rdm2.vovv += einsum(t1, (0, 1), tmp78, (2, 3), (2, 0, 3, 1))
+    rdm2.voov += einsum(tmp78, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.voov += einsum(tmp78, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.ovvo += einsum(tmp78, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.ovvo += einsum(tmp78, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.ovov += einsum(tmp78, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1))
+    rdm2.ovov += einsum(tmp78, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1))
+    rdm2.ovov += einsum(tmp78, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1))
+    rdm2.ovov += einsum(tmp78, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1))
+    tmp97 = einsum(t2, (0, 1, 2, 3), tmp4, (1, 0, 4, 5), (4, 5, 3, 2))
+    rdm2.vovv += np.transpose(tmp97, (1, 0, 2, 3)) * -1
+    rdm2.vovv += np.transpose(tmp97, (1, 0, 2, 3)) * -1
+    rdm2.ovvv = np.copy(np.transpose(tmp97, (0, 1, 3, 2))) * -1
+    rdm2.ovvv += np.transpose(tmp97, (0, 1, 3, 2)) * -1
+    tmp105 = einsum(t1, (0, 1), tmp104, (0, 2, 3, 4), (2, 3, 4, 1))
+    del tmp104
+    tmp89 = einsum(t2, (0, 1, 2, 3), l1, (4, 1), (0, 4, 2, 3))
+    rdm2.vovv += np.transpose(tmp89, (1, 0, 3, 2))
+    rdm2.vovv += np.transpose(tmp89, (1, 0, 3, 2))
+    rdm2.ovvv += tmp89
+    rdm2.ovvv += tmp89
+    tmp108 = np.copy(tmp60)
+    tmp108 += tmp84
+    tmp108 += tmp41 * -1
+    tmp95 = einsum(tmp94, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4))
+    del tmp94
+    tmp102 = np.copy(tmp60)
+    tmp102 += tmp84
+    tmp102 += tmp101 * -1
+    del tmp101
+    tmp80 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * 2
+    tmp80 += np.transpose(l2, (2, 3, 0, 1)) * -1
+    tmp85 = np.copy(tmp4) * -1
+    tmp85 += np.transpose(tmp4, (1, 0, 2, 3))
+    tmp72 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp72 += t2
+    tmp82 = np.copy(np.transpose(l2, (3, 2, 0, 1)))
+    tmp82 += np.transpose(l2, (2, 3, 0, 1)) * -1
+    tmp53 = einsum(tmp6, (0, 1, 2, 3), t2, (0, 1, 4, 5), (2, 3, 4, 5))
+    rdm2.oovv += np.transpose(tmp53, (1, 0, 3, 2))
+    rdm2.oovv += np.transpose(tmp53, (1, 0, 3, 2))
+    tmp52 = einsum(tmp23, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4))
+    tmp48 = einsum(tmp41, (0, 1, 2, 3), t2, (4, 0, 2, 5), (1, 4, 3, 5))
+    tmp65 = einsum(tmp64, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4))
+    del tmp64
+    tmp47 = einsum(t2, (0, 1, 2, 3), tmp2, (1, 4), (4, 0, 2, 3))
+    tmp68 = einsum(tmp67, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4))
+    del tmp67
+    tmp42 = einsum(t2, (0, 1, 2, 3), tmp41, (1, 4, 3, 5), (4, 0, 5, 2))
+    del tmp41
+    rdm2.oovv += np.transpose(tmp42, (1, 0, 3, 2)) * 2
+    rdm2.oovv += np.transpose(tmp42, (1, 0, 3, 2)) * 2
+    tmp45 = einsum(tmp44, (0, 1, 2, 3), t2, (4, 0, 2, 5), (1, 4, 3, 5))
+    del tmp44
+    tmp39 = einsum(tmp13, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3))
+    tmp27 = einsum(tmp6, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4))
+    del tmp6
+    rdm2.oovo += np.transpose(tmp27, (1, 2, 3, 0))
+    rdm2.oovo += np.transpose(tmp27, (1, 2, 3, 0))
+    rdm2.ooov += np.transpose(tmp27, (2, 1, 0, 3))
+    rdm2.ooov += np.transpose(tmp27, (2, 1, 0, 3))
+    tmp57 = einsum(tmp56, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4)) * 2
+    tmp58 = einsum(tmp1, (0, 1), t2, (2, 0, 3, 4), (2, 1, 4, 3))
+    tmp11 = np.copy(tmp9)
+    del tmp9
+    tmp11 += tmp10
+    del tmp10
+    rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * -2
+    rdm2.ooov += einsum(delta.oo, (0, 1), tmp11, (2, 3), (2, 0, 1, 3)) * 2
+    rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * -2
+    rdm2.ooov += einsum(delta.oo, (0, 1), tmp11, (2, 3), (2, 0, 1, 3)) * 2
+    tmp50 = einsum(tmp49, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4))
+    del tmp49
+    tmp22 = np.copy(tmp19)
+    tmp22 += tmp21 * -1
+    rdm2.ooov += einsum(delta.oo, (0, 1), tmp22, (2, 3), (0, 2, 1, 3)) * -1
+    rdm2.ooov += einsum(tmp22, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1))
+    rdm2.ooov += einsum(delta.oo, (0, 1), tmp22, (2, 3), (0, 2, 1, 3)) * -1
+    rdm2.ooov += einsum(tmp22, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1))
+    tmp28 = einsum(tmp8, (0, 1, 2, 3), t2, (0, 1, 3, 4), (2, 4))
+    del tmp8
+    tmp30 = einsum(l1, (0, 1), tmp29, (1, 2, 0, 3), (2, 3))
+    del tmp29
+    tmp33 = einsum(tmp32, (0, 1), t1, (0, 2), (1, 2)) * 2
+    del tmp32
+    tmp113 = np.copy(np.transpose(tmp111, (1, 0, 3, 2)))
+    del tmp111
+    tmp113 += np.transpose(tmp112, (1, 0, 3, 2))
+    del tmp112
+    rdm2.vvvv += tmp113
+    rdm2.vvvv += np.transpose(tmp113, (0, 1, 3, 2)) * -1
+    rdm2.vvvv += tmp113
+    rdm2.vvvv += np.transpose(tmp113, (0, 1, 3, 2)) * -1
+    del tmp113
+    tmp100 = einsum(t1, (0, 1), tmp62, (0, 2, 3, 4), (2, 3, 1, 4))
+    rdm2.vovv += np.transpose(tmp100, (1, 0, 3, 2)) * -1
+    rdm2.vovv += np.transpose(tmp100, (1, 0, 3, 2)) * -1
+    rdm2.ovvv += tmp100 * -1
+    rdm2.ovvv += tmp100 * -1
+    del tmp100
+    tmp107 = np.copy(tmp97)
+    tmp107 += einsum(tmp78, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    del tmp78
+    rdm2.vovv += np.transpose(tmp107, (1, 0, 3, 2))
+    rdm2.vovv += np.transpose(tmp107, (1, 0, 2, 3)) * -1
+    rdm2.vovv += np.transpose(tmp107, (1, 0, 3, 2))
+    rdm2.vovv += np.transpose(tmp107, (1, 0, 2, 3)) * -1
+    del tmp107
+    tmp106 = np.copy(tmp89)
+    tmp106 += np.transpose(tmp105, (0, 1, 3, 2))
+    del tmp105
+    rdm2.vovv += np.transpose(tmp106, (1, 0, 3, 2))
+    rdm2.vovv += np.transpose(tmp106, (1, 0, 2, 3)) * -1
+    rdm2.vovv += np.transpose(tmp106, (1, 0, 3, 2))
+    rdm2.vovv += np.transpose(tmp106, (1, 0, 2, 3)) * -1
+    del tmp106
+    tmp109 = einsum(t1, (0, 1), tmp108, (0, 2, 3, 4), (2, 3, 4, 1))
+    del tmp108
+    rdm2.vovv += np.transpose(tmp109, (1, 0, 3, 2)) * -1
+    rdm2.vovv += np.transpose(tmp109, (1, 0, 3, 2)) * -1
+    del tmp109
+    tmp99 = einsum(t1, (0, 1), tmp84, (0, 2, 3, 4), (2, 3, 1, 4))
+    del tmp84
+    rdm2.ovvv += np.transpose(tmp99, (0, 1, 3, 2)) * -1
+    rdm2.ovvv += tmp99
+    rdm2.ovvv += np.transpose(tmp99, (0, 1, 3, 2)) * -1
+    rdm2.ovvv += tmp99
+    del tmp99
+    tmp96 = np.copy(tmp89)
+    del tmp89
+    tmp96 += einsum(tmp76, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    tmp96 += np.transpose(tmp95, (0, 1, 3, 2)) * -1
+    del tmp95
+    rdm2.ovvv += np.transpose(tmp96, (0, 1, 3, 2)) * -1
+    rdm2.ovvv += tmp96
+    rdm2.ovvv += np.transpose(tmp96, (0, 1, 3, 2)) * -1
+    rdm2.ovvv += tmp96
+    del tmp96
+    tmp88 = np.copy(tmp76) * 0.5
+    del tmp76
+    tmp88 += tmp56
+    rdm2.ovvv += einsum(tmp88, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2
+    rdm2.ovvv += einsum(tmp88, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2
+    rdm2.vovo += einsum(tmp88, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * 2
+    rdm2.vovo += einsum(tmp88, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * 2
+    rdm2.vovo += einsum(tmp88, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * 2
+    rdm2.vovo += einsum(tmp88, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * 2
+    del tmp88
+    tmp103 = einsum(t1, (0, 1), tmp102, (0, 2, 3, 4), (2, 3, 4, 1))
+    del tmp102
+    rdm2.ovvv += tmp103 * -1
+    rdm2.ovvv += tmp103 * -1
+    del tmp103
+    tmp98 = np.copy(tmp97)
+    del tmp97
+    tmp98 += einsum(tmp56, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2
+    del tmp56
+    rdm2.ovvv += np.transpose(tmp98, (0, 1, 3, 2)) * -1
+    rdm2.ovvv += tmp98
+    rdm2.ovvv += np.transpose(tmp98, (0, 1, 3, 2)) * -1
+    rdm2.ovvv += tmp98
+    del tmp98
+    tmp87 = einsum(t2, (0, 1, 2, 3), tmp43, (1, 4, 5, 2), (4, 0, 5, 3))
+    del tmp43
+    rdm2.vovo += np.transpose(tmp87, (2, 1, 3, 0)) * -1
+    rdm2.vovo += np.transpose(tmp87, (2, 1, 3, 0)) * -1
+    del tmp87
+    tmp81 = einsum(t2, (0, 1, 2, 3), tmp80, (1, 4, 5, 3), (4, 0, 5, 2))
+    del tmp80
+    rdm2.vovo += np.transpose(tmp81, (2, 1, 3, 0)) * -1
+    rdm2.vovo += np.transpose(tmp81, (2, 1, 3, 0)) * -1
+    rdm2.voov += np.transpose(tmp81, (2, 1, 0, 3))
+    rdm2.voov += np.transpose(tmp81, (2, 1, 0, 3))
+    rdm2.ovvo += np.transpose(tmp81, (1, 2, 3, 0))
+    rdm2.ovvo += np.transpose(tmp81, (1, 2, 3, 0))
+    rdm2.ovvo += np.transpose(tmp81, (1, 2, 3, 0))
+    rdm2.ovvo += np.transpose(tmp81, (1, 2, 3, 0))
+    del tmp81
+    tmp86 = einsum(tmp85, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4))
+    del tmp85
+    rdm2.vovo += np.transpose(tmp86, (2, 1, 3, 0)) * -1
+    rdm2.vovo += np.transpose(tmp86, (2, 1, 3, 0)) * -1
+    rdm2.voov += np.transpose(tmp86, (2, 1, 0, 3))
+    rdm2.voov += np.transpose(tmp86, (2, 1, 0, 3))
+    del tmp86
+    tmp79 = einsum(tmp4, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4))
+    del tmp4
+    rdm2.vovo += np.transpose(tmp79, (2, 1, 3, 0)) * -1
+    rdm2.vovo += np.transpose(tmp79, (2, 1, 3, 0)) * -1
+    rdm2.ovov += np.transpose(tmp79, (1, 2, 0, 3)) * -1
+    rdm2.ovov += np.transpose(tmp79, (1, 2, 0, 3)) * -1
+    del tmp79
+    tmp73 = einsum(tmp72, (0, 1, 2, 3), l2, (4, 2, 0, 5), (1, 5, 3, 4))
+    del tmp72
+    rdm2.voov += np.transpose(tmp73, (3, 0, 1, 2)) * -1
+    rdm2.voov += np.transpose(tmp73, (3, 0, 1, 2)) * -1
+    rdm2.ovov += np.transpose(tmp73, (0, 3, 1, 2))
+    rdm2.ovov += np.transpose(tmp73, (0, 3, 1, 2))
+    del tmp73
+    tmp74 = einsum(l2, (0, 1, 2, 3), tmp20, (3, 4, 1, 5), (4, 2, 5, 0))
+    del tmp20
+    rdm2.voov += np.transpose(tmp74, (3, 0, 1, 2))
+    rdm2.voov += np.transpose(tmp74, (3, 0, 1, 2))
+    rdm2.ovov += np.transpose(tmp74, (0, 3, 1, 2)) * -1
+    rdm2.ovov += np.transpose(tmp74, (0, 3, 1, 2)) * -1
+    del tmp74
+    tmp75 = einsum(tmp14, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4))
+    del tmp14
+    rdm2.ovvo += np.transpose(tmp75, (1, 2, 3, 0)) * -1
+    rdm2.ovvo += np.transpose(tmp75, (1, 2, 3, 0)) * -1
+    rdm2.ovov += np.transpose(tmp75, (1, 2, 0, 3))
+    rdm2.ovov += np.transpose(tmp75, (1, 2, 0, 3))
+    del tmp75
+    tmp83 = einsum(tmp82, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 4, 2, 5))
+    del tmp82
+    rdm2.ovvo += np.transpose(tmp83, (1, 2, 3, 0)) * -1
+    rdm2.ovvo += np.transpose(tmp83, (1, 2, 3, 0)) * -1
+    del tmp83
+    tmp54 = np.copy(tmp52)
+    del tmp52
+    tmp54 += np.transpose(tmp53, (1, 0, 3, 2))
+    del tmp53
+    rdm2.oovv += np.transpose(tmp54, (0, 1, 3, 2)) * -1
+    rdm2.oovv += tmp54
+    rdm2.oovv += np.transpose(tmp54, (0, 1, 3, 2)) * -1
+    rdm2.oovv += tmp54
+    del tmp54
+    tmp66 = np.copy(tmp48) * -1
+    tmp66 += np.transpose(tmp65, (0, 1, 3, 2))
+    del tmp65
+    tmp66 += einsum(tmp21, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    del tmp21
+    rdm2.oovv += np.transpose(tmp66, (1, 0, 3, 2))
+    rdm2.oovv += tmp66
+    rdm2.oovv += np.transpose(tmp66, (1, 0, 3, 2))
+    rdm2.oovv += tmp66
+    del tmp66
+    tmp61 = einsum(tmp60, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 1, 5, 3))
+    del tmp60
+    rdm2.oovv += tmp61
+    rdm2.oovv += tmp61
+    del tmp61
+    tmp69 = np.copy(tmp47)
+    tmp69 += np.transpose(tmp68, (0, 1, 3, 2))
+    del tmp68
+    rdm2.oovv += np.transpose(tmp69, (1, 0, 2, 3)) * -1
+    rdm2.oovv += np.transpose(tmp69, (0, 1, 3, 2)) * -1
+    rdm2.oovv += np.transpose(tmp69, (1, 0, 2, 3)) * -1
+    rdm2.oovv += np.transpose(tmp69, (0, 1, 3, 2)) * -1
+    del tmp69
+    tmp46 = np.copy(tmp39)
+    del tmp39
+    tmp46 += np.transpose(tmp42, (1, 0, 3, 2)) * 2
+    del tmp42
+    tmp46 += tmp45
+    del tmp45
+    rdm2.oovv += np.transpose(tmp46, (0, 1, 3, 2)) * -1
+    rdm2.oovv += tmp46
+    rdm2.oovv += np.transpose(tmp46, (0, 1, 3, 2)) * -1
+    rdm2.oovv += tmp46
+    del tmp46
+    tmp71 = np.copy(t1)
+    tmp71 += tmp19 * -1
+    del tmp19
+    rdm2.oovv += einsum(t1, (0, 1), tmp71, (2, 3), (2, 0, 3, 1))
+    rdm2.oovv += einsum(t1, (0, 1), tmp71, (2, 3), (2, 0, 3, 1))
+    del tmp71
+    tmp70 = einsum(tmp27, (0, 1, 2, 3), t1, (0, 4), (2, 1, 3, 4))
+    rdm2.oovv += np.transpose(tmp70, (0, 1, 3, 2))
+    rdm2.oovv += np.transpose(tmp70, (0, 1, 3, 2))
+    del tmp70
+    tmp59 = np.copy(np.transpose(tmp57, (1, 0, 3, 2)))
+    del tmp57
+    tmp59 += np.transpose(tmp58, (0, 1, 3, 2))
+    del tmp58
+    tmp59 += einsum(tmp11, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2
+    del tmp11
+    rdm2.oovv += np.transpose(tmp59, (1, 0, 3, 2)) * -1
+    rdm2.oovv += np.transpose(tmp59, (1, 0, 2, 3))
+    rdm2.oovv += np.transpose(tmp59, (0, 1, 3, 2))
+    rdm2.oovv += tmp59 * -1
+    rdm2.oovv += np.transpose(tmp59, (1, 0, 3, 2)) * -1
+    rdm2.oovv += tmp59 * -1
+    rdm2.oovv += np.transpose(tmp59, (1, 0, 3, 2)) * -1
+    rdm2.oovv += tmp59 * -1
+    rdm2.oovv += np.transpose(tmp59, (1, 0, 3, 2)) * -1
+    rdm2.oovv += np.transpose(tmp59, (1, 0, 2, 3))
+    rdm2.oovv += np.transpose(tmp59, (0, 1, 3, 2))
+    rdm2.oovv += tmp59 * -1
+    del tmp59
+    tmp63 = einsum(tmp62, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 1, 5, 3))
+    del tmp62
+    rdm2.oovv += np.transpose(tmp63, (0, 1, 3, 2))
+    rdm2.oovv += np.transpose(tmp63, (0, 1, 3, 2))
+    del tmp63
+    tmp51 = np.copy(tmp47)
+    del tmp47
+    tmp51 += tmp48 * -1
+    del tmp48
+    tmp51 += np.transpose(tmp50, (0, 1, 3, 2))
+    del tmp50
+    tmp51 += einsum(t1, (0, 1), tmp22, (2, 3), (0, 2, 1, 3)) * -1
+    del tmp22
+    rdm2.oovv += np.transpose(tmp51, (1, 0, 3, 2))
+    rdm2.oovv += np.transpose(tmp51, (1, 0, 2, 3)) * -1
+    rdm2.oovv += np.transpose(tmp51, (0, 1, 3, 2)) * -1
+    rdm2.oovv += tmp51
+    rdm2.oovv += np.transpose(tmp51, (1, 0, 3, 2))
+    rdm2.oovv += np.transpose(tmp51, (1, 0, 2, 3)) * -1
+    rdm2.oovv += np.transpose(tmp51, (0, 1, 3, 2)) * -1
+    rdm2.oovv += tmp51
+    del tmp51
+    tmp38 = einsum(tmp2, (0, 1), t1, (2, 3), (0, 2, 1, 3))
+    tmp38 += tmp15
+    tmp38 += tmp17 * -1
+    rdm2.oovo += np.transpose(tmp38, (2, 1, 3, 0))
+    rdm2.oovo += np.transpose(tmp38, (1, 2, 3, 0)) * -1
+    rdm2.oovo += np.transpose(tmp38, (2, 1, 3, 0))
+    rdm2.oovo += np.transpose(tmp38, (1, 2, 3, 0)) * -1
+    del tmp38
+    tmp37 = np.copy(tmp12)
+    tmp37 += np.transpose(tmp27, (0, 2, 1, 3))
+    del tmp27
+    tmp37 += einsum(tmp1, (0, 1), t1, (2, 3), (0, 2, 1, 3))
+    rdm2.oovo += np.transpose(tmp37, (2, 1, 3, 0))
+    rdm2.oovo += np.transpose(tmp37, (1, 2, 3, 0)) * -1
+    rdm2.oovo += np.transpose(tmp37, (2, 1, 3, 0))
+    rdm2.oovo += np.transpose(tmp37, (1, 2, 3, 0)) * -1
+    del tmp37
+    tmp34 = np.copy(t1) * -1
+    tmp34 += tmp28
+    tmp34 += tmp30 * -1
+    del tmp30
+    tmp34 += tmp33
+    rdm2.oovo += einsum(tmp34, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * -1
+    rdm2.oovo += einsum(tmp34, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * -1
+    rdm2.ooov += einsum(delta.oo, (0, 1), tmp34, (2, 3), (0, 2, 1, 3)) * -1
+    rdm2.ooov += einsum(delta.oo, (0, 1), tmp34, (2, 3), (0, 2, 1, 3)) * -1
+    del tmp34
+    tmp35 = np.copy(tmp2)
+    tmp35 += tmp1
+    rdm2.oovo += einsum(tmp35, (0, 1), t1, (2, 3), (2, 1, 3, 0)) * -1
+    rdm2.oovo += einsum(tmp35, (0, 1), t1, (2, 3), (2, 1, 3, 0)) * -1
+    rdm2.ooov += einsum(tmp35, (0, 1), t1, (2, 3), (1, 2, 0, 3)) * -1
+    rdm2.ooov += einsum(tmp35, (0, 1), t1, (2, 3), (1, 2, 0, 3)) * -1
+    del tmp35
+    tmp36 = np.copy(tmp28)
+    del tmp28
+    tmp36 += tmp33
+    del tmp33
+    rdm2.oovo += einsum(tmp36, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3))
+    rdm2.oovo += einsum(delta.oo, (0, 1), tmp36, (2, 3), (2, 0, 3, 1)) * -1
+    rdm2.oovo += einsum(tmp36, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3))
+    rdm2.oovo += einsum(delta.oo, (0, 1), tmp36, (2, 3), (2, 0, 3, 1)) * -1
+    del tmp36
+    tmp24 = np.copy(tmp23)
+    del tmp23
+    tmp24 += einsum(tmp1, (0, 1), t1, (2, 3), (0, 2, 1, 3))
+    del tmp1
+    rdm2.ooov += np.transpose(tmp24, (2, 1, 0, 3)) * -1
+    rdm2.ooov += np.transpose(tmp24, (1, 2, 0, 3))
+    rdm2.ooov += np.transpose(tmp24, (2, 1, 0, 3)) * -1
+    rdm2.ooov += np.transpose(tmp24, (1, 2, 0, 3))
+    del tmp24
+    tmp18 = np.copy(tmp12)
+    del tmp12
+    tmp18 += tmp13
+    del tmp13
+    tmp18 += tmp15
+    del tmp15
+    tmp18 += tmp17 * -1
+    del tmp17
+    rdm2.ooov += np.transpose(tmp18, (2, 1, 0, 3)) * -1
+    rdm2.ooov += np.transpose(tmp18, (1, 2, 0, 3))
+    rdm2.ooov += np.transpose(tmp18, (2, 1, 0, 3)) * -1
+    rdm2.ooov += np.transpose(tmp18, (1, 2, 0, 3))
+    del tmp18
+    tmp7 = np.copy(delta.oo)
+    tmp7 += tmp2 * -1
+    del tmp2
+    rdm2.oooo += einsum(tmp7, (0, 1), delta.oo, (2, 3), (1, 2, 0, 3))
+    rdm2.oooo += einsum(tmp7, (0, 1), delta.oo, (2, 3), (1, 2, 0, 3))
+    del tmp7
+    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
+    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
+    rdm2.ooov += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 2, 1, 3))
+    rdm2.ooov += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 2, 1, 3))
+    rdm2.oovo += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3))
+    rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.oovo += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3))
+    rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1
+    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.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3))
+    rdm2.ovoo += einsum(delta.oo, (0, 1), l1, (2, 3), (0, 2, 1, 3))
+    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 += 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
+    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, 3, 1))
+    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
+    del delta
+    rdm2.oovv += np.transpose(t2, (0, 1, 3, 2)) * -1
+    rdm2.oovv += t2
+    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.oovv += t2
+    rdm2.oovv += t2
+    rdm2.oovv += np.transpose(t2, (0, 1, 3, 2)) * -1
+    rdm2.oovv += t2
+    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(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.ovov += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    rdm2.ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    rdm2.ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    rdm2.ovvo += einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    rdm2.voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3))
+    rdm2.voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3))
+    rdm2.voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3))
+    rdm2.voov += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3))
+    rdm2.vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.vovo += einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.vvoo = np.copy(np.transpose(l2, (0, 1, 3, 2))) * -1
+    rdm2.vvoo += l2
+    rdm2.vvoo += l2
+    rdm2.vvoo += l2
+    rdm2.vvoo += np.transpose(l2, (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 = np.transpose(rdm2, (0, 2, 1, 3))
+
+    return rdm2
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCSD.hbar_matvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-12T21:49:13.553236.

+

Parameters

+

f : array + Fock matrix. +t1 : array + T1 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp100 : array +tmp101 : array +tmp102 : array +tmp103 : array +tmp108 : array +tmp109 : array +tmp12 : array +tmp14 : array +tmp16 : array +tmp17 : array +tmp19 : array +tmp21 : array +tmp22 : array +tmp23 : array +tmp25 : array +tmp27 : array +tmp29 : array +tmp3 : array +tmp30 : array +tmp34 : array +tmp35 : array +tmp36 : array +tmp37 : array +tmp39 : array +tmp4 : array +tmp40 : array +tmp42 : array +tmp45 : array +tmp46 : array +tmp48 : array +tmp49 : array +tmp5 : array +tmp50 : array +tmp51 : array +tmp52 : array +tmp54 : array +tmp55 : array +tmp56 : array +tmp57 : array +tmp58 : array +tmp6 : array +tmp60 : array +tmp64 : array +tmp65 : array +tmp66 : array +tmp67 : array +tmp69 : array +tmp75 : array +tmp76 : array +tmp77 : array +tmp78 : array +tmp82 : array +tmp83 : array +tmp85 : array +tmp86 : array +tmp87 : array +tmp88 : array +tmp89 : array +tmp9 : array +tmp90 : array +tmp92 : array +tmp93 : array +tmp94 : array +tmp98 : array +tmp99 : array

+ +
+ Source code in ebcc/codegen/RCCSD.py +
1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
+1445
+1446
+1447
+1448
+1449
+1450
+1451
+1452
+1453
+1454
+1455
+1456
+1457
+1458
+1459
+1460
+1461
+1462
+1463
+1464
+1465
+1466
+1467
+1468
+1469
+1470
+1471
+1472
+1473
+1474
+1475
+1476
+1477
+1478
+1479
+1480
+1481
+1482
+1483
+1484
+1485
+1486
+1487
+1488
+1489
+1490
+1491
+1492
+1493
+1494
+1495
+1496
+1497
+1498
+1499
+1500
+1501
+1502
+1503
+1504
+1505
+1506
+1507
+1508
+1509
+1510
+1511
+1512
+1513
+1514
+1515
+1516
+1517
+1518
+1519
+1520
+1521
+1522
+1523
+1524
+1525
+1526
+1527
+1528
+1529
+1530
+1531
+1532
+1533
+1534
+1535
+1536
+1537
+1538
+1539
+1540
+1541
+1542
+1543
+1544
+1545
+1546
+1547
+1548
+1549
+1550
+1551
+1552
+1553
+1554
+1555
+1556
+1557
+1558
+1559
+1560
+1561
+1562
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:49:13.553236.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t1 : array
+        T1 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp100 : array
+    tmp101 : array
+    tmp102 : array
+    tmp103 : array
+    tmp108 : array
+    tmp109 : array
+    tmp12 : array
+    tmp14 : array
+    tmp16 : array
+    tmp17 : array
+    tmp19 : array
+    tmp21 : array
+    tmp22 : array
+    tmp23 : array
+    tmp25 : array
+    tmp27 : array
+    tmp29 : array
+    tmp3 : array
+    tmp30 : array
+    tmp34 : array
+    tmp35 : array
+    tmp36 : array
+    tmp37 : array
+    tmp39 : array
+    tmp4 : array
+    tmp40 : array
+    tmp42 : array
+    tmp45 : array
+    tmp46 : array
+    tmp48 : array
+    tmp49 : array
+    tmp5 : array
+    tmp50 : array
+    tmp51 : array
+    tmp52 : array
+    tmp54 : array
+    tmp55 : array
+    tmp56 : array
+    tmp57 : array
+    tmp58 : array
+    tmp6 : array
+    tmp60 : array
+    tmp64 : array
+    tmp65 : array
+    tmp66 : array
+    tmp67 : array
+    tmp69 : array
+    tmp75 : array
+    tmp76 : array
+    tmp77 : array
+    tmp78 : array
+    tmp82 : array
+    tmp83 : array
+    tmp85 : array
+    tmp86 : array
+    tmp87 : array
+    tmp88 : array
+    tmp89 : array
+    tmp9 : array
+    tmp90 : array
+    tmp92 : array
+    tmp93 : array
+    tmp94 : array
+    tmp98 : array
+    tmp99 : array
+    """
+
+    tmp0 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp93 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2))
+    tmp3 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3))
+    tmp77 = einsum(tmp3, (0, 1), t1, (1, 2), (0, 2))
+    tmp4 = einsum(v.ooov, (0, 1, 2, 3), t1, (2, 3), (0, 1))
+    tmp78 = einsum(tmp4, (0, 1), t1, (1, 2), (0, 2))
+    tmp5 = einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3))
+    tmp75 = einsum(t2, (0, 1, 2, 3), tmp5, (4, 3), (0, 1, 4, 2))
+    tmp55 = einsum(tmp5, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp54 = einsum(t2, (0, 1, 2, 3), tmp5, (1, 2), (0, 3))
+    tmp16 = einsum(tmp5, (0, 1), t1, (2, 1), (2, 0))
+    tmp108 = einsum(t1, (0, 1), tmp16, (2, 0), (2, 1))
+    tmp6 = einsum(t1, (0, 1), v.ovov, (2, 3, 0, 1), (2, 3))
+    tmp76 = einsum(t2, (0, 1, 2, 3), tmp6, (4, 3), (0, 1, 4, 2))
+    tmp57 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 3), (0, 2))
+    tmp56 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 2), (0, 3))
+    tmp17 = einsum(t1, (0, 1), tmp6, (2, 1), (0, 2))
+    tmp109 = einsum(tmp17, (0, 1), t1, (1, 2), (0, 2))
+    tmp9 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1))
+    tmp100 = einsum(t2, (0, 1, 2, 3), tmp9, (4, 5, 1, 2), (4, 0, 5, 3))
+    tmp99 = einsum(tmp9, (0, 1, 2, 3), t2, (1, 2, 4, 3), (0, 4))
+    tmp98 = einsum(tmp9, (0, 1, 2, 3), t2, (2, 1, 4, 3), (0, 4))
+    tmp90 = einsum(tmp9, (0, 1, 2, 3), t1, (4, 3), (0, 4, 2, 1))
+    tmp92 = einsum(tmp90, (0, 1, 2, 3), t1, (2, 4), (1, 0, 3, 4))
+    tmp36 = einsum(t2, (0, 1, 2, 3), tmp9, (4, 1, 5, 2), (4, 0, 5, 3))
+    tmp35 = einsum(tmp9, (0, 1, 2, 3), t2, (4, 2, 5, 3), (0, 4, 1, 5))
+    tmp34 = einsum(t2, (0, 1, 2, 3), tmp9, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp12 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 2), (0, 4))
+    tmp102 = einsum(tmp12, (0, 1), t1, (1, 2), (0, 2))
+    tmp14 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 3), (0, 4))
+    tmp101 = einsum(tmp14, (0, 1), t1, (1, 2), (0, 2))
+    tmp19 = einsum(t1, (0, 1), v.ovvv, (0, 1, 2, 3), (2, 3))
+    tmp87 = einsum(t1, (0, 1), tmp19, (2, 1), (0, 2))
+    tmp21 = einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3))
+    tmp88 = einsum(t1, (0, 1), tmp21, (1, 2), (0, 2))
+    tmp22 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp23 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp25 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp27 = einsum(tmp25, (0, 1, 2, 3), t1, (2, 4), (1, 0, 3, 4))
+    tmp29 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3))
+    tmp30 = einsum(v.ooov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp103 = einsum(tmp30, (0, 1, 2, 3), t1, (3, 4), (0, 2, 1, 4))
+    tmp37 = einsum(tmp30, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4))
+    tmp39 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 2), (0, 3))
+    tmp40 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2))
+    tmp42 = einsum(v.oooo, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4))
+    tmp45 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp46 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp48 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 2), (0, 4, 5, 3))
+    tmp49 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp50 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp51 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5))
+    tmp52 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp58 = einsum(f.oo, (0, 1), t1, (1, 2), (0, 2))
+    tmp60 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp64 = einsum(v.ooov, (0, 1, 2, 3), t2, (2, 1, 4, 3), (0, 4))
+    tmp65 = einsum(v.ooov, (0, 1, 2, 3), t2, (1, 2, 4, 3), (0, 4))
+    tmp66 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 2), (0, 4, 5, 3))
+    tmp67 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 4, 1), (4, 3))
+    tmp69 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 4, 3), (4, 1))
+    tmp82 = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    tmp83 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp89 = einsum(tmp83, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3))
+    tmp85 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (0, 4))
+    tmp86 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 1, 3), (4, 2))
+    tmp94 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+
+    return {f"tmp0": tmp0, f"tmp100": tmp100, f"tmp101": tmp101, f"tmp102": tmp102, f"tmp103": tmp103, f"tmp108": tmp108, f"tmp109": tmp109, f"tmp12": tmp12, f"tmp14": tmp14, f"tmp16": tmp16, f"tmp17": tmp17, f"tmp19": tmp19, f"tmp21": tmp21, f"tmp22": tmp22, f"tmp23": tmp23, f"tmp25": tmp25, f"tmp27": tmp27, f"tmp29": tmp29, f"tmp3": tmp3, f"tmp30": tmp30, f"tmp34": tmp34, f"tmp35": tmp35, f"tmp36": tmp36, f"tmp37": tmp37, f"tmp39": tmp39, f"tmp4": tmp4, f"tmp40": tmp40, f"tmp42": tmp42, f"tmp45": tmp45, f"tmp46": tmp46, f"tmp48": tmp48, f"tmp49": tmp49, f"tmp5": tmp5, f"tmp50": tmp50, f"tmp51": tmp51, f"tmp52": tmp52, f"tmp54": tmp54, f"tmp55": tmp55, f"tmp56": tmp56, f"tmp57": tmp57, f"tmp58": tmp58, f"tmp6": tmp6, f"tmp60": tmp60, f"tmp64": tmp64, f"tmp65": tmp65, f"tmp66": tmp66, f"tmp67": tmp67, f"tmp69": tmp69, f"tmp75": tmp75, f"tmp76": tmp76, f"tmp77": tmp77, f"tmp78": tmp78, f"tmp82": tmp82, f"tmp83": tmp83, f"tmp85": tmp85, f"tmp86": tmp86, f"tmp87": tmp87, f"tmp88": tmp88, f"tmp89": tmp89, f"tmp9": tmp9, f"tmp90": tmp90, f"tmp92": tmp92, f"tmp93": tmp93, f"tmp94": tmp94, f"tmp98": tmp98, f"tmp99": tmp99}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCSD.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:49:13.585556.

+

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.

+ +
+ Source code in ebcc/codegen/RCCSD.py +
1564
+1565
+1566
+1567
+1568
+1569
+1570
+1571
+1572
+1573
+1574
+1575
+1576
+1577
+1578
+1579
+1580
+1581
+1582
+1583
+1584
+1585
+1586
+1587
+1588
+1589
+1590
+1591
+1592
+1593
+1594
+1595
+1596
+1597
+1598
+1599
+1600
+1601
+1602
+1603
+1604
+1605
+1606
+1607
+1608
+1609
+1610
+1611
+1612
+1613
+1614
+1615
+1616
+1617
+1618
+1619
+1620
+1621
+1622
+1623
+1624
+1625
+1626
+1627
+1628
+1629
+1630
+1631
+1632
+1633
+1634
+1635
+1636
+1637
+1638
+1639
+1640
+1641
+1642
+1643
+1644
+1645
+1646
+1647
+1648
+1649
+1650
+1651
+1652
+1653
+1654
+1655
+1656
+1657
+1658
+1659
+1660
+1661
+1662
+1663
+1664
+1665
+1666
+1667
+1668
+1669
+1670
+1671
+1672
+1673
+1674
+1675
+1676
+1677
+1678
+1679
+1680
+1681
+1682
+1683
+1684
+1685
+1686
+1687
+1688
+1689
+1690
+1691
+1692
+1693
+1694
+1695
+1696
+1697
+1698
+1699
+1700
+1701
+1702
+1703
+1704
+1705
+1706
+1707
+1708
+1709
+1710
+1711
+1712
+1713
+1714
+1715
+1716
+1717
+1718
+1719
+1720
+1721
+1722
+1723
+1724
+1725
+1726
+1727
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:49:13.585556.
+
+    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"]
+    tmp12 = np.copy(r2) * 2
+    tmp12 += np.transpose(r2, (1, 0, 2)) * -1
+    tmp13 = np.copy(ints.tmp9)
+    tmp13 += np.transpose(v.ooov, (0, 2, 1, 3))
+    tmp1 = np.copy(f.ov) * 0.5
+    tmp1 += ints.tmp6
+    tmp1 += ints.tmp5 * -0.5
+    tmp15 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.5
+    tmp15 += np.transpose(v.ovov, (0, 2, 1, 3))
+    tmp14 = einsum(tmp12, (0, 1, 2), tmp13, (3, 0, 4, 2), (1, 4, 3)) * -1
+    del tmp12
+    tmp14 += einsum(tmp13, (0, 1, 2, 3), r2, (4, 2, 3), (0, 1, 4))
+    tmp14 += einsum(tmp13, (0, 1, 2, 3), r2, (2, 4, 3), (4, 1, 0))
+    del tmp13
+    r2new = einsum(tmp14, (0, 1, 2), t1, (1, 3), (2, 0, 3))
+    del tmp14
+    tmp7 = np.copy(ints.tmp25)
+    tmp7 += np.transpose(ints.tmp30, (1, 0, 2, 3))
+    tmp7 += ints.tmp90
+    r2new += einsum(tmp7, (0, 1, 2, 3), r2, (3, 2, 4), (1, 0, 4))
+    del tmp7
+    tmp6 = np.copy(ints.tmp22)
+    tmp6 += v.oovv
+    tmp6 += ints.tmp49 * -1
+    r2new += einsum(tmp6, (0, 1, 2, 3), r2, (1, 4, 3), (0, 4, 2)) * -1
+    r2new += einsum(r2, (0, 1, 2), tmp6, (3, 1, 4, 2), (0, 3, 4)) * -1
+    del tmp6
+    tmp9 = np.copy(ints.tmp21)
+    tmp9 += np.transpose(ints.tmp69, (1, 0)) * 2
+    tmp9 += f.vv * -1
+    tmp9 += np.transpose(ints.tmp19, (1, 0)) * -2
+    tmp9 += np.transpose(ints.tmp67, (1, 0)) * -1
+    tmp9 += einsum(t1, (0, 1), tmp1, (0, 2), (2, 1)) * 2
+    r2new += einsum(r2, (0, 1, 2), tmp9, (2, 3), (0, 1, 3)) * -1
+    del tmp9
+    tmp10 = np.copy(ints.tmp100)
+    tmp10 += np.transpose(ints.tmp103, (0, 2, 1, 3))
+    tmp10 += np.transpose(ints.tmp27, (1, 0, 2, 3))
+    tmp10 += np.transpose(ints.tmp35, (1, 0, 2, 3))
+    tmp10 += np.transpose(ints.tmp36, (1, 0, 2, 3))
+    tmp10 += np.transpose(ints.tmp37, (1, 0, 2, 3))
+    tmp10 += np.transpose(ints.tmp42, (2, 0, 1, 3))
+    tmp10 += ints.tmp45
+    tmp10 += ints.tmp48
+    tmp10 += np.transpose(ints.tmp66, (1, 0, 2, 3))
+    tmp10 += ints.tmp75
+    tmp10 += np.transpose(ints.tmp92, (1, 0, 2, 3))
+    tmp10 += np.transpose(ints.tmp23, (1, 0, 2, 3)) * -1
+    tmp10 += np.transpose(ints.tmp34, (1, 0, 2, 3)) * -2
+    tmp10 += ints.tmp46 * -2
+    tmp10 += np.transpose(ints.tmp60, (1, 2, 0, 3)) * -1
+    tmp10 += ints.tmp76 * -2
+    tmp10 += np.transpose(ints.tmp89, (1, 0, 2, 3)) * -1
+    tmp10 += ints.tmp94 * -1
+    tmp10 += np.transpose(ints.tmp9, (1, 0, 2, 3)) * -1
+    tmp10 += np.transpose(v.ovoo, (0, 2, 3, 1)) * -1
+    r2new += einsum(tmp10, (0, 1, 2, 3), r1, (2,), (0, 1, 3)) * -1
+    del tmp10
+    tmp16 = einsum(r2, (0, 1, 2), tmp15, (0, 1, 2, 3), (3,))
+    del tmp15
+    r2new += einsum(tmp16, (0,), t2, (1, 2, 3, 0), (1, 2, 3)) * -2
+    del tmp16
+    tmp4 = np.copy(r2)
+    tmp4 += np.transpose(r2, (1, 0, 2)) * -0.5
+    tmp5 = np.copy(ints.tmp52) * 2
+    tmp5 += np.transpose(ints.tmp83, (0, 1, 3, 2))
+    tmp5 += np.transpose(v.ovov, (0, 2, 1, 3))
+    tmp5 += ints.tmp50 * -1
+    tmp5 += ints.tmp51 * -1
+    r2new += einsum(tmp5, (0, 1, 2, 3), tmp4, (1, 4, 3), (0, 4, 2)) * 2
+    del tmp5, tmp4
+    tmp11 = np.copy(f.oo) * 0.5
+    tmp11 += ints.tmp0 * 0.5
+    tmp11 += np.transpose(ints.tmp14, (1, 0))
+    tmp11 += np.transpose(ints.tmp17, (1, 0))
+    tmp11 += np.transpose(ints.tmp4, (1, 0))
+    tmp11 += np.transpose(ints.tmp12, (1, 0)) * -0.5
+    tmp11 += np.transpose(ints.tmp16, (1, 0)) * -0.5
+    tmp11 += np.transpose(ints.tmp3, (1, 0)) * -0.5
+    r2new += einsum(r2, (0, 1, 2), tmp11, (1, 3), (0, 3, 2)) * -2
+    r2new += einsum(tmp11, (0, 1), r2, (0, 2, 3), (1, 2, 3)) * -2
+    del tmp11
+    tmp17 = np.copy(ints.tmp101) * 2
+    tmp17 += ints.tmp109 * 2
+    tmp17 += ints.tmp29
+    tmp17 += ints.tmp39
+    tmp17 += ints.tmp55 * 2
+    tmp17 += ints.tmp56 * 2
+    tmp17 += ints.tmp58
+    tmp17 += ints.tmp65 * 2
+    tmp17 += ints.tmp78 * 2
+    tmp17 += ints.tmp86
+    tmp17 += ints.tmp88
+    tmp17 += ints.tmp93
+    tmp17 += ints.tmp98 * 2
+    tmp17 += f.ov * -1
+    tmp17 += ints.tmp102 * -1
+    tmp17 += ints.tmp108 * -1
+    tmp17 += ints.tmp40 * -2
+    tmp17 += ints.tmp54 * -1
+    tmp17 += ints.tmp57 * -4
+    tmp17 += ints.tmp64 * -1
+    tmp17 += ints.tmp6 * -2
+    tmp17 += ints.tmp77 * -1
+    tmp17 += ints.tmp82 * -1
+    tmp17 += ints.tmp85 * -2
+    tmp17 += ints.tmp87 * -2
+    tmp17 += ints.tmp99 * -1
+    r2new += einsum(tmp17, (0, 1), r1, (2,), (0, 2, 1))
+    del tmp17
+    tmp8 = np.copy(ints.tmp30)
+    tmp8 += np.transpose(v.oooo, (0, 2, 3, 1))
+    r2new += einsum(tmp8, (0, 1, 2, 3), r2, (2, 3, 4), (1, 0, 4))
+    del tmp8
+    tmp2 = np.copy(r2) * -1
+    tmp2 += np.transpose(r2, (1, 0, 2)) * 2
+    r1new = einsum(tmp2, (0, 1, 2), tmp1, (1, 2), (0,)) * -2
+    del tmp1, tmp2
+    tmp0 = np.copy(ints.tmp9)
+    tmp0 += v.ooov * -0.5
+    tmp0 += np.transpose(v.ooov, (0, 2, 1, 3))
+    r1new += einsum(tmp0, (0, 1, 2, 3), r2, (1, 2, 3), (0,)) * 2
+    del tmp0
+    tmp3 = np.copy(f.oo)
+    tmp3 += ints.tmp0
+    tmp3 += np.transpose(ints.tmp14, (1, 0)) * 2
+    tmp3 += np.transpose(ints.tmp17, (1, 0)) * 2
+    tmp3 += np.transpose(ints.tmp4, (1, 0)) * 2
+    tmp3 += np.transpose(ints.tmp12, (1, 0)) * -1
+    tmp3 += np.transpose(ints.tmp16, (1, 0)) * -1
+    tmp3 += np.transpose(ints.tmp3, (1, 0)) * -1
+    r1new += einsum(tmp3, (0, 1), r1, (0,), (1,)) * -1
+    del tmp3
+    r1new += einsum(ints.tmp9, (0, 1, 2, 3), r2, (2, 1, 3), (0,)) * -1
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCSD.hbar_matvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-12T21:49:31.771471.

+

Parameters

+

f : array + Fock matrix. +t1 : array + T1 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp102 : array +tmp103 : array +tmp104 : array +tmp106 : array +tmp107 : array +tmp108 : array +tmp109 : array +tmp14 : array +tmp16 : array +tmp25 : array +tmp28 : array +tmp3 : array +tmp32 : array +tmp33 : array +tmp34 : array +tmp36 : array +tmp46 : array +tmp47 : array +tmp49 : array +tmp5 : array +tmp51 : array +tmp52 : array +tmp54 : array +tmp55 : array +tmp56 : array +tmp58 : array +tmp6 : array +tmp60 : array +tmp61 : array +tmp63 : array +tmp64 : array +tmp66 : array +tmp67 : array +tmp7 : array +tmp72 : array +tmp73 : array +tmp74 : array +tmp75 : array +tmp76 : array +tmp81 : array +tmp82 : array +tmp83 : array +tmp88 : array +tmp89 : array +tmp90 : array +tmp91 : array +tmp93 : array +tmp94 : array +tmp97 : array +tmp98 : array +tmp99 : array

+ +
+ Source code in ebcc/codegen/RCCSD.py +
1729
+1730
+1731
+1732
+1733
+1734
+1735
+1736
+1737
+1738
+1739
+1740
+1741
+1742
+1743
+1744
+1745
+1746
+1747
+1748
+1749
+1750
+1751
+1752
+1753
+1754
+1755
+1756
+1757
+1758
+1759
+1760
+1761
+1762
+1763
+1764
+1765
+1766
+1767
+1768
+1769
+1770
+1771
+1772
+1773
+1774
+1775
+1776
+1777
+1778
+1779
+1780
+1781
+1782
+1783
+1784
+1785
+1786
+1787
+1788
+1789
+1790
+1791
+1792
+1793
+1794
+1795
+1796
+1797
+1798
+1799
+1800
+1801
+1802
+1803
+1804
+1805
+1806
+1807
+1808
+1809
+1810
+1811
+1812
+1813
+1814
+1815
+1816
+1817
+1818
+1819
+1820
+1821
+1822
+1823
+1824
+1825
+1826
+1827
+1828
+1829
+1830
+1831
+1832
+1833
+1834
+1835
+1836
+1837
+1838
+1839
+1840
+1841
+1842
+1843
+1844
+1845
+1846
+1847
+1848
+1849
+1850
+1851
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:49:31.771471.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t1 : array
+        T1 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp102 : array
+    tmp103 : array
+    tmp104 : array
+    tmp106 : array
+    tmp107 : array
+    tmp108 : array
+    tmp109 : array
+    tmp14 : array
+    tmp16 : array
+    tmp25 : array
+    tmp28 : array
+    tmp3 : array
+    tmp32 : array
+    tmp33 : array
+    tmp34 : array
+    tmp36 : array
+    tmp46 : array
+    tmp47 : array
+    tmp49 : array
+    tmp5 : array
+    tmp51 : array
+    tmp52 : array
+    tmp54 : array
+    tmp55 : array
+    tmp56 : array
+    tmp58 : array
+    tmp6 : array
+    tmp60 : array
+    tmp61 : array
+    tmp63 : array
+    tmp64 : array
+    tmp66 : array
+    tmp67 : array
+    tmp7 : array
+    tmp72 : array
+    tmp73 : array
+    tmp74 : array
+    tmp75 : array
+    tmp76 : array
+    tmp81 : array
+    tmp82 : array
+    tmp83 : array
+    tmp88 : array
+    tmp89 : array
+    tmp90 : array
+    tmp91 : array
+    tmp93 : array
+    tmp94 : array
+    tmp97 : array
+    tmp98 : array
+    tmp99 : array
+    """
+
+    tmp3 = einsum(t1, (0, 1), v.ovvv, (0, 1, 2, 3), (2, 3))
+    tmp63 = einsum(t1, (0, 1), tmp3, (2, 1), (0, 2))
+    tmp5 = einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3))
+    tmp64 = einsum(tmp5, (0, 1), t1, (2, 0), (2, 1))
+    tmp6 = einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3))
+    tmp107 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 3), (0, 2))
+    tmp106 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 2), (0, 3))
+    tmp66 = einsum(t1, (0, 1), tmp6, (2, 1), (0, 2))
+    tmp81 = einsum(tmp66, (0, 1), t1, (1, 2), (0, 2))
+    tmp7 = einsum(t1, (0, 1), v.ovov, (2, 3, 0, 1), (2, 3))
+    tmp109 = einsum(t2, (0, 1, 2, 3), tmp7, (1, 3), (0, 2))
+    tmp108 = einsum(t2, (0, 1, 2, 3), tmp7, (1, 2), (0, 3))
+    tmp67 = einsum(t1, (0, 1), tmp7, (2, 1), (0, 2))
+    tmp82 = einsum(tmp67, (0, 1), t1, (1, 2), (0, 2))
+    tmp14 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 4, 1), (4, 3))
+    tmp16 = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 4, 3), (4, 1))
+    tmp25 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5))
+    tmp28 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp32 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3))
+    tmp33 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 1), (2, 3))
+    tmp90 = einsum(tmp33, (0, 1), t1, (1, 2), (0, 2))
+    tmp34 = einsum(v.ooov, (0, 1, 2, 3), t1, (2, 3), (0, 1))
+    tmp91 = einsum(tmp34, (0, 1), t1, (1, 2), (0, 2))
+    tmp36 = einsum(v.ooov, (0, 1, 2, 3), t2, (2, 1, 4, 5), (0, 5, 4, 3))
+    tmp46 = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    tmp47 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp72 = einsum(tmp47, (0, 1), t1, (0, 2), (1, 2))
+    tmp49 = einsum(v.vvvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp51 = einsum(t1, (0, 1), v.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp52 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp54 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 3, 4, 2), (0, 4))
+    tmp55 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 1, 3), (4, 2))
+    tmp56 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 3, 1), (4, 0))
+    tmp76 = einsum(tmp56, (0, 1), t1, (1, 2), (0, 2))
+    tmp58 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 3), (4, 0))
+    tmp75 = einsum(tmp58, (0, 1), t1, (1, 2), (0, 2))
+    tmp60 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1))
+    tmp74 = einsum(t2, (0, 1, 2, 3), tmp60, (4, 1, 0, 2), (4, 3))
+    tmp73 = einsum(t2, (0, 1, 2, 3), tmp60, (4, 0, 1, 2), (4, 3))
+    tmp61 = einsum(t2, (0, 1, 2, 3), tmp60, (4, 1, 0, 5), (4, 3, 2, 5))
+    tmp83 = einsum(f.oo, (0, 1), t1, (1, 2), (0, 2))
+    tmp88 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 0, 1, 2), (4, 3))
+    tmp89 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 0, 2), (4, 3))
+    tmp93 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 2), (0, 3))
+    tmp94 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2))
+    tmp97 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 1), (4, 5, 2, 3))
+    tmp98 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 3), (0, 2, 4, 5))
+    tmp99 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 1, 5), (4, 5, 2, 3))
+    tmp102 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp103 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5))
+    tmp104 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+
+    return {f"tmp102": tmp102, f"tmp103": tmp103, f"tmp104": tmp104, f"tmp106": tmp106, f"tmp107": tmp107, f"tmp108": tmp108, f"tmp109": tmp109, f"tmp14": tmp14, f"tmp16": tmp16, f"tmp25": tmp25, f"tmp28": tmp28, f"tmp3": tmp3, f"tmp32": tmp32, f"tmp33": tmp33, f"tmp34": tmp34, f"tmp36": tmp36, f"tmp46": tmp46, f"tmp47": tmp47, f"tmp49": tmp49, f"tmp5": tmp5, f"tmp51": tmp51, f"tmp52": tmp52, f"tmp54": tmp54, f"tmp55": tmp55, f"tmp56": tmp56, f"tmp58": tmp58, f"tmp6": tmp6, f"tmp60": tmp60, f"tmp61": tmp61, f"tmp63": tmp63, f"tmp64": tmp64, f"tmp66": tmp66, f"tmp67": tmp67, f"tmp7": tmp7, f"tmp72": tmp72, f"tmp73": tmp73, f"tmp74": tmp74, f"tmp75": tmp75, f"tmp76": tmp76, f"tmp81": tmp81, f"tmp82": tmp82, f"tmp83": tmp83, f"tmp88": tmp88, f"tmp89": tmp89, f"tmp90": tmp90, f"tmp91": tmp91, f"tmp93": tmp93, f"tmp94": tmp94, f"tmp97": tmp97, f"tmp98": tmp98, f"tmp99": tmp99}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCSD.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:49:31.797281.

+

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.

+ +
+ Source code in ebcc/codegen/RCCSD.py +
1853
+1854
+1855
+1856
+1857
+1858
+1859
+1860
+1861
+1862
+1863
+1864
+1865
+1866
+1867
+1868
+1869
+1870
+1871
+1872
+1873
+1874
+1875
+1876
+1877
+1878
+1879
+1880
+1881
+1882
+1883
+1884
+1885
+1886
+1887
+1888
+1889
+1890
+1891
+1892
+1893
+1894
+1895
+1896
+1897
+1898
+1899
+1900
+1901
+1902
+1903
+1904
+1905
+1906
+1907
+1908
+1909
+1910
+1911
+1912
+1913
+1914
+1915
+1916
+1917
+1918
+1919
+1920
+1921
+1922
+1923
+1924
+1925
+1926
+1927
+1928
+1929
+1930
+1931
+1932
+1933
+1934
+1935
+1936
+1937
+1938
+1939
+1940
+1941
+1942
+1943
+1944
+1945
+1946
+1947
+1948
+1949
+1950
+1951
+1952
+1953
+1954
+1955
+1956
+1957
+1958
+1959
+1960
+1961
+1962
+1963
+1964
+1965
+1966
+1967
+1968
+1969
+1970
+1971
+1972
+1973
+1974
+1975
+1976
+1977
+1978
+1979
+1980
+1981
+1982
+1983
+1984
+1985
+1986
+1987
+1988
+1989
+1990
+1991
+1992
+1993
+1994
+1995
+1996
+1997
+1998
+1999
+2000
+2001
+2002
+2003
+2004
+2005
+2006
+2007
+2008
+2009
+2010
+2011
+2012
+2013
+2014
+2015
+2016
+2017
+2018
+2019
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:49:31.797281.
+
+    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"]
+    tmp1 = np.copy(f.ov) * 0.5
+    tmp1 += ints.tmp7
+    tmp1 += ints.tmp6 * -0.5
+    tmp4 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * 2
+    tmp4 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1
+    tmp6 = np.copy(f.ov)
+    tmp6 += ints.tmp7 * 2
+    tmp6 += ints.tmp6 * -1
+    tmp9 = einsum(v.ovov, (0, 1, 2, 3), r2, (1, 3, 4), (4, 0, 2))
+    r2new = einsum(t2, (0, 1, 2, 3), tmp9, (4, 1, 0), (3, 2, 4))
+    tmp20 = np.copy(ints.tmp60)
+    tmp20 += np.transpose(v.ooov, (0, 2, 1, 3))
+    tmp12 = np.copy(np.transpose(r2, (2, 0, 1)))
+    tmp12 += einsum(r1, (0,), t1, (1, 2), (1, 2, 0)) * -1
+    tmp14 = np.copy(ints.tmp60) * -0.5
+    tmp14 += np.transpose(ints.tmp60, (0, 2, 1, 3))
+    tmp14 += v.ooov
+    tmp14 += np.transpose(v.ooov, (0, 2, 1, 3)) * -0.5
+    tmp16 = einsum(tmp1, (0, 1), t1, (0, 2), (2, 1)) * 2
+    tmp5 = einsum(tmp4, (0, 1, 2, 3), r2, (3, 2, 0), (1,))
+    del tmp4
+    tmp7 = einsum(tmp6, (0, 1), r1, (1,), (0,))
+    del tmp6
+    tmp21 = einsum(v.ovvv, (0, 1, 2, 3), r2, (1, 3, 4), (4, 0, 2)) * -1
+    tmp21 += einsum(t1, (0, 1), tmp9, (2, 3, 0), (2, 3, 1))
+    del tmp9
+    tmp21 += einsum(tmp20, (0, 1, 2, 3), tmp12, (1, 4, 3), (0, 2, 4))
+    r2new += einsum(tmp21, (0, 1, 2), t1, (1, 3), (3, 2, 0))
+    del tmp21
+    tmp13 = np.copy(ints.tmp51)
+    tmp13 += v.oovv
+    tmp13 += ints.tmp28 * -1
+    r2new += einsum(tmp13, (0, 1, 2, 3), tmp12, (1, 4, 3), (4, 2, 0)) * -1
+    del tmp12, tmp13
+    tmp23 = np.copy(ints.tmp107) * 2
+    tmp23 += ints.tmp108 * 2
+    tmp23 += ints.tmp32
+    tmp23 += ints.tmp55
+    tmp23 += ints.tmp64
+    tmp23 += ints.tmp72
+    tmp23 += ints.tmp73 * 2
+    tmp23 += ints.tmp75 * 2
+    tmp23 += ints.tmp82 * 2
+    tmp23 += ints.tmp83
+    tmp23 += ints.tmp89 * 2
+    tmp23 += ints.tmp91 * 2
+    tmp23 += ints.tmp93
+    tmp23 += f.ov * -1
+    tmp23 += ints.tmp106 * -1
+    tmp23 += ints.tmp109 * -4
+    tmp23 += ints.tmp46 * -1
+    tmp23 += ints.tmp54 * -2
+    tmp23 += ints.tmp63 * -2
+    tmp23 += ints.tmp74 * -1
+    tmp23 += ints.tmp76 * -1
+    tmp23 += ints.tmp7 * -2
+    tmp23 += ints.tmp81 * -1
+    tmp23 += ints.tmp88 * -1
+    tmp23 += ints.tmp90 * -1
+    tmp23 += ints.tmp94 * -2
+    r2new += einsum(r1, (0,), tmp23, (1, 2), (2, 0, 1))
+    del tmp23
+    tmp22 = einsum(v.ovvv, (0, 1, 2, 3), r2, (3, 1, 4), (4, 0, 2)) * -1
+    tmp22 += einsum(tmp20, (0, 1, 2, 3), r2, (4, 3, 2), (0, 1, 4))
+    del tmp20
+    r2new += einsum(t1, (0, 1), tmp22, (2, 0, 3), (3, 1, 2))
+    del tmp22
+    tmp10 = einsum(t1, (0, 1), r1, (2,), (0, 2, 1)) * 0.5
+    tmp10 += np.transpose(r2, (2, 0, 1))
+    tmp10 += np.transpose(r2, (2, 1, 0)) * -0.5
+    tmp19 = np.copy(f.oo)
+    tmp19 += np.transpose(ints.tmp34, (1, 0)) * 2
+    tmp19 += ints.tmp47
+    tmp19 += np.transpose(ints.tmp58, (1, 0)) * 2
+    tmp19 += np.transpose(ints.tmp67, (1, 0)) * 2
+    tmp19 += np.transpose(ints.tmp33, (1, 0)) * -1
+    tmp19 += np.transpose(ints.tmp56, (1, 0)) * -1
+    tmp19 += np.transpose(ints.tmp66, (1, 0)) * -1
+    r2new += einsum(tmp19, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp19
+    tmp15 = np.copy(ints.tmp51)
+    tmp15 += v.oovv
+    tmp15 += ints.tmp28 * -1
+    tmp15 += einsum(tmp14, (0, 1, 2, 3), t1, (1, 4), (0, 2, 4, 3)) * 2
+    del tmp14
+    r2new += einsum(r2, (0, 1, 2), tmp15, (3, 2, 4, 0), (4, 1, 3)) * -1
+    del tmp15
+    tmp11 = np.copy(ints.tmp104) * 2
+    tmp11 += np.transpose(ints.tmp52, (0, 1, 3, 2))
+    tmp11 += np.transpose(v.ovov, (0, 2, 1, 3))
+    tmp11 += ints.tmp102 * -1
+    tmp11 += ints.tmp103 * -1
+    r2new += einsum(tmp11, (0, 1, 2, 3), tmp10, (1, 3, 4), (2, 4, 0)) * 2
+    del tmp11, tmp10
+    tmp17 = np.copy(np.transpose(ints.tmp16, (1, 0))) * 2
+    tmp17 += ints.tmp5
+    tmp17 += f.vv * -1
+    tmp17 += np.transpose(ints.tmp14, (1, 0)) * -1
+    tmp17 += np.transpose(ints.tmp3, (1, 0)) * -2
+    tmp17 += np.transpose(tmp16, (1, 0))
+    del tmp16
+    r2new += einsum(tmp17, (0, 1), r2, (2, 0, 3), (2, 1, 3)) * -1
+    r2new += einsum(tmp17, (0, 1), r2, (0, 2, 3), (1, 2, 3)) * -1
+    del tmp17
+    tmp8 = np.copy(tmp5) * -1
+    del tmp5
+    tmp8 += tmp7
+    del tmp7
+    r2new += einsum(t2, (0, 1, 2, 3), tmp8, (1,), (2, 3, 0))
+    r1new = einsum(t1, (0, 1), tmp8, (0,), (1,)) * -1
+    del tmp8
+    tmp18 = np.copy(np.transpose(ints.tmp36, (0, 2, 3, 1)))
+    tmp18 += ints.tmp49
+    tmp18 += np.transpose(ints.tmp61, (0, 1, 3, 2))
+    tmp18 += np.transpose(ints.tmp97, (0, 2, 3, 1)) * 2
+    tmp18 += np.transpose(v.ovvv, (0, 2, 3, 1))
+    tmp18 += ints.tmp25 * -1
+    tmp18 += np.transpose(ints.tmp98, (0, 3, 2, 1)) * -1
+    tmp18 += np.transpose(ints.tmp99, (0, 2, 3, 1)) * -1
+    r2new += einsum(r1, (0,), tmp18, (1, 2, 0, 3), (3, 2, 1)) * -1
+    del tmp18
+    tmp2 = np.copy(np.transpose(r2, (2, 0, 1))) * -1
+    tmp2 += np.transpose(r2, (2, 1, 0)) * 2
+    r1new += einsum(tmp2, (0, 1, 2), tmp1, (0, 2), (1,)) * -2
+    del tmp1, tmp2
+    tmp0 = np.copy(v.ovvv) * 2
+    tmp0 += np.transpose(v.ovvv, (0, 2, 1, 3)) * -1
+    r1new += einsum(tmp0, (0, 1, 2, 3), r2, (1, 2, 0), (3,)) * -1
+    del tmp0
+    tmp3 = np.copy(f.vv)
+    tmp3 += np.transpose(ints.tmp14, (1, 0))
+    tmp3 += np.transpose(ints.tmp3, (1, 0)) * 2
+    tmp3 += np.transpose(ints.tmp16, (1, 0)) * -2
+    tmp3 += ints.tmp5 * -1
+    r1new += einsum(r1, (0,), tmp3, (0, 1), (1,))
+    del tmp3
+    r2new += einsum(r2, (0, 1, 2), v.vvvv, (3, 0, 4, 1), (3, 4, 2))
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCSD.hbar_lmatvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-13T22:21:23.772354.

+

Parameters

+

f : array + Fock matrix. +t1 : array + T1 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp1 : array +tmp100 : array +tmp103 : array +tmp104 : array +tmp107 : array +tmp108 : array +tmp112 : array +tmp113 : array +tmp114 : array +tmp116 : array +tmp117 : array +tmp12 : array +tmp13 : array +tmp134 : array +tmp136 : array +tmp14 : array +tmp17 : array +tmp19 : array +tmp2 : array +tmp20 : array +tmp21 : array +tmp22 : array +tmp24 : array +tmp26 : array +tmp29 : array +tmp3 : array +tmp32 : array +tmp33 : array +tmp35 : array +tmp36 : array +tmp38 : array +tmp4 : array +tmp41 : array +tmp44 : array +tmp47 : array +tmp48 : array +tmp49 : array +tmp51 : array +tmp54 : array +tmp57 : array +tmp6 : array +tmp60 : array +tmp63 : array +tmp66 : array +tmp69 : array +tmp70 : array +tmp72 : array +tmp73 : array +tmp75 : array +tmp78 : array +tmp81 : array +tmp82 : array +tmp85 : array +tmp86 : array +tmp87 : array +tmp88 : array +tmp9 : array +tmp90 : array +tmp91 : array +tmp92 : array +tmp93 : array +tmp94 : array +tmp97 : array +tmp98 : array +tmp99 : array

+ +
+ Source code in ebcc/codegen/RCCSD.py +
2021
+2022
+2023
+2024
+2025
+2026
+2027
+2028
+2029
+2030
+2031
+2032
+2033
+2034
+2035
+2036
+2037
+2038
+2039
+2040
+2041
+2042
+2043
+2044
+2045
+2046
+2047
+2048
+2049
+2050
+2051
+2052
+2053
+2054
+2055
+2056
+2057
+2058
+2059
+2060
+2061
+2062
+2063
+2064
+2065
+2066
+2067
+2068
+2069
+2070
+2071
+2072
+2073
+2074
+2075
+2076
+2077
+2078
+2079
+2080
+2081
+2082
+2083
+2084
+2085
+2086
+2087
+2088
+2089
+2090
+2091
+2092
+2093
+2094
+2095
+2096
+2097
+2098
+2099
+2100
+2101
+2102
+2103
+2104
+2105
+2106
+2107
+2108
+2109
+2110
+2111
+2112
+2113
+2114
+2115
+2116
+2117
+2118
+2119
+2120
+2121
+2122
+2123
+2124
+2125
+2126
+2127
+2128
+2129
+2130
+2131
+2132
+2133
+2134
+2135
+2136
+2137
+2138
+2139
+2140
+2141
+2142
+2143
+2144
+2145
+2146
+2147
+2148
+2149
+2150
+2151
+2152
+2153
+2154
+2155
+2156
+2157
+2158
+2159
+2160
+2161
+2162
+2163
+2164
+2165
+2166
+2167
+2168
+2169
+2170
+2171
+2172
+2173
def hbar_lmatvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-13T22:21:23.772354.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t1 : array
+        T1 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp1 : array
+    tmp100 : array
+    tmp103 : array
+    tmp104 : array
+    tmp107 : array
+    tmp108 : array
+    tmp112 : array
+    tmp113 : array
+    tmp114 : array
+    tmp116 : array
+    tmp117 : array
+    tmp12 : array
+    tmp13 : array
+    tmp134 : array
+    tmp136 : array
+    tmp14 : array
+    tmp17 : array
+    tmp19 : array
+    tmp2 : array
+    tmp20 : array
+    tmp21 : array
+    tmp22 : array
+    tmp24 : array
+    tmp26 : array
+    tmp29 : array
+    tmp3 : array
+    tmp32 : array
+    tmp33 : array
+    tmp35 : array
+    tmp36 : array
+    tmp38 : array
+    tmp4 : array
+    tmp41 : array
+    tmp44 : array
+    tmp47 : array
+    tmp48 : array
+    tmp49 : array
+    tmp51 : array
+    tmp54 : array
+    tmp57 : array
+    tmp6 : array
+    tmp60 : array
+    tmp63 : array
+    tmp66 : array
+    tmp69 : array
+    tmp70 : array
+    tmp72 : array
+    tmp73 : array
+    tmp75 : array
+    tmp78 : array
+    tmp81 : array
+    tmp82 : array
+    tmp85 : array
+    tmp86 : array
+    tmp87 : array
+    tmp88 : array
+    tmp9 : array
+    tmp90 : array
+    tmp91 : array
+    tmp92 : array
+    tmp93 : array
+    tmp94 : array
+    tmp97 : array
+    tmp98 : array
+    tmp99 : array
+    """
+
+    tmp20 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3))
+    tmp17 = einsum(v.ovov, (0, 1, 2, 3), t1, (2, 3), (0, 1))
+    tmp47 = einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3))
+    tmp107 = einsum(t1, (0, 1), tmp20, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp86 = einsum(t1, (0, 1), tmp17, (2, 1), (0, 2))
+    tmp85 = einsum(t1, (0, 1), tmp47, (2, 1), (0, 2))
+    tmp99 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp97 = einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3))
+    tmp93 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 1), (2, 3))
+    tmp90 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp13 = einsum(v.ooov, (0, 1, 2, 3), t1, (2, 3), (0, 1))
+    tmp12 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 2))
+    tmp81 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp22 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 3, 1), (4, 0))
+    tmp24 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 3), (4, 0))
+    tmp0 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp136 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 2, 1, 4), (3, 4))
+    tmp134 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 4, 1, 2), (3, 4))
+    tmp117 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp116 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5))
+    tmp114 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp113 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5))
+    tmp112 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3))
+    tmp108 = einsum(t1, (0, 1), tmp107, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp104 = einsum(t1, (0, 1), tmp86, (2, 0), (2, 1))
+    tmp103 = einsum(t1, (0, 1), tmp85, (2, 0), (2, 1))
+    tmp100 = einsum(tmp99, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3))
+    tmp98 = einsum(t1, (0, 1), tmp97, (1, 2), (0, 2))
+    tmp94 = einsum(t1, (0, 1), tmp93, (2, 1), (0, 2))
+    tmp92 = einsum(t1, (0, 1), tmp90, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp91 = einsum(t1, (0, 1), tmp90, (2, 3, 0, 4), (2, 3, 4, 1))
+    tmp88 = einsum(t1, (0, 1), tmp13, (2, 0), (2, 1))
+    tmp87 = einsum(t1, (0, 1), tmp12, (2, 0), (2, 1))
+    tmp82 = einsum(tmp81, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4))
+    tmp78 = einsum(t1, (0, 1), tmp22, (2, 0), (2, 1))
+    tmp75 = einsum(tmp24, (0, 1), t1, (1, 2), (0, 2))
+    tmp73 = einsum(tmp20, (0, 1, 2, 3), t2, (4, 2, 5, 3), (0, 4, 1, 5))
+    tmp72 = einsum(tmp20, (0, 1, 2, 3), t2, (4, 2, 3, 5), (0, 4, 1, 5))
+    tmp70 = einsum(tmp20, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp69 = einsum(tmp20, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 4, 2, 5))
+    tmp66 = einsum(tmp20, (0, 1, 2, 3), t2, (2, 1, 3, 4), (0, 4))
+    tmp63 = einsum(tmp20, (0, 1, 2, 3), t2, (1, 2, 3, 4), (0, 4))
+    tmp60 = einsum(tmp17, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp57 = einsum(t2, (0, 1, 2, 3), tmp47, (4, 3), (0, 1, 4, 2))
+    tmp54 = einsum(tmp17, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp51 = einsum(t2, (0, 1, 2, 3), tmp17, (1, 2), (0, 3))
+    tmp49 = einsum(tmp47, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp48 = einsum(t2, (0, 1, 2, 3), tmp47, (1, 2), (0, 3))
+    tmp44 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp41 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 1, 3), (4, 2))
+    tmp38 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 3, 1), (4, 2))
+    tmp36 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp35 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 5, 1, 2), (0, 4, 5, 3))
+    tmp33 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp32 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5))
+    tmp29 = einsum(v.ooov, (0, 1, 2, 3), t2, (2, 1, 3, 4), (0, 4))
+    tmp26 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 0, 3), (4, 2))
+    tmp21 = einsum(t1, (0, 1), v.oovv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp19 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3))
+    tmp14 = einsum(t1, (0, 1), v.oooo, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp9 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2))
+    tmp6 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp4 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2))
+    tmp3 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 2), (0, 3))
+    tmp2 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2))
+    tmp1 = einsum(f.oo, (0, 1), t1, (1, 2), (0, 2))
+
+    return {f"tmp0": tmp0, f"tmp1": tmp1, f"tmp100": tmp100, f"tmp103": tmp103, f"tmp104": tmp104, f"tmp107": tmp107, f"tmp108": tmp108, f"tmp112": tmp112, f"tmp113": tmp113, f"tmp114": tmp114, f"tmp116": tmp116, f"tmp117": tmp117, f"tmp12": tmp12, f"tmp13": tmp13, f"tmp134": tmp134, f"tmp136": tmp136, f"tmp14": tmp14, f"tmp17": tmp17, f"tmp19": tmp19, f"tmp2": tmp2, f"tmp20": tmp20, f"tmp21": tmp21, f"tmp22": tmp22, f"tmp24": tmp24, f"tmp26": tmp26, f"tmp29": tmp29, f"tmp3": tmp3, f"tmp32": tmp32, f"tmp33": tmp33, f"tmp35": tmp35, f"tmp36": tmp36, f"tmp38": tmp38, f"tmp4": tmp4, f"tmp41": tmp41, f"tmp44": tmp44, f"tmp47": tmp47, f"tmp48": tmp48, f"tmp49": tmp49, f"tmp51": tmp51, f"tmp54": tmp54, f"tmp57": tmp57, f"tmp6": tmp6, f"tmp60": tmp60, f"tmp63": tmp63, f"tmp66": tmp66, f"tmp69": tmp69, f"tmp70": tmp70, f"tmp72": tmp72, f"tmp73": tmp73, f"tmp75": tmp75, f"tmp78": tmp78, f"tmp81": tmp81, f"tmp82": tmp82, f"tmp85": tmp85, f"tmp86": tmp86, f"tmp87": tmp87, f"tmp88": tmp88, f"tmp9": tmp9, f"tmp90": tmp90, f"tmp91": tmp91, f"tmp92": tmp92, f"tmp93": tmp93, f"tmp94": tmp94, f"tmp97": tmp97, f"tmp98": tmp98, f"tmp99": tmp99}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCSD.hbar_lmatvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-13T22:21:23.798456.

+

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.

+ +
+ Source code in ebcc/codegen/RCCSD.py +
2175
+2176
+2177
+2178
+2179
+2180
+2181
+2182
+2183
+2184
+2185
+2186
+2187
+2188
+2189
+2190
+2191
+2192
+2193
+2194
+2195
+2196
+2197
+2198
+2199
+2200
+2201
+2202
+2203
+2204
+2205
+2206
+2207
+2208
+2209
+2210
+2211
+2212
+2213
+2214
+2215
+2216
+2217
+2218
+2219
+2220
+2221
+2222
+2223
+2224
+2225
+2226
+2227
+2228
+2229
+2230
+2231
+2232
+2233
+2234
+2235
+2236
+2237
+2238
+2239
+2240
+2241
+2242
+2243
+2244
+2245
+2246
+2247
+2248
+2249
+2250
+2251
+2252
+2253
+2254
+2255
+2256
+2257
+2258
+2259
+2260
+2261
+2262
+2263
+2264
+2265
+2266
+2267
+2268
+2269
+2270
+2271
+2272
+2273
+2274
+2275
+2276
+2277
+2278
+2279
+2280
+2281
+2282
+2283
+2284
+2285
+2286
+2287
+2288
+2289
+2290
+2291
+2292
+2293
+2294
+2295
+2296
+2297
+2298
+2299
+2300
+2301
+2302
+2303
+2304
+2305
+2306
+2307
+2308
+2309
+2310
+2311
+2312
+2313
+2314
+2315
+2316
+2317
+2318
+2319
+2320
+2321
+2322
+2323
+2324
+2325
+2326
+2327
+2328
+2329
+2330
+2331
+2332
+2333
+2334
+2335
+2336
+2337
+2338
+2339
+2340
def hbar_lmatvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-13T22:21:23.798456.
+
+    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"]
+    tmp18 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5
+    tmp18 += t2
+    tmp15 = np.copy(f.ov)
+    tmp15 += ints.tmp17 * 2
+    tmp15 += ints.tmp47 * -1
+    tmp11 = einsum(t1, (0, 1), r2, (2, 3, 1), (2, 3, 0))
+    tmp10 = np.copy(ints.tmp107)
+    tmp10 += ints.tmp81
+    tmp10 += np.transpose(ints.tmp90, (0, 1, 3, 2))
+    tmp10 += np.transpose(v.oooo, (0, 2, 1, 3))
+    tmp17 = np.copy(f.oo) * 0.5
+    tmp17 += np.transpose(ints.tmp0, (1, 0)) * 0.5
+    tmp17 += ints.tmp13
+    tmp17 += ints.tmp24
+    tmp17 += ints.tmp86
+    tmp17 += ints.tmp12 * -0.5
+    tmp17 += ints.tmp22 * -0.5
+    tmp17 += ints.tmp85 * -0.5
+    tmp14 = np.copy(ints.tmp20)
+    tmp14 += np.transpose(v.ooov, (0, 2, 1, 3))
+    tmp8 = np.copy(ints.tmp117) * 2
+    tmp8 += np.transpose(ints.tmp99, (0, 1, 3, 2))
+    tmp8 += np.transpose(v.ovov, (0, 2, 1, 3))
+    tmp8 += ints.tmp114 * -1
+    tmp8 += ints.tmp116 * -1
+    tmp19 = einsum(r2, (0, 1, 2), tmp18, (1, 0, 3, 2), (3,))
+    del tmp18
+    tmp7 = np.copy(r2)
+    tmp7 += np.transpose(r2, (1, 0, 2)) * -0.5
+    tmp9 = np.copy(ints.tmp112)
+    tmp9 += v.oovv
+    tmp9 += np.transpose(ints.tmp113, (0, 1, 3, 2)) * -1
+    tmp13 = np.copy(ints.tmp20)
+    tmp13 += np.transpose(v.ooov, (0, 2, 1, 3))
+    tmp16 = np.copy(ints.tmp136) * 2
+    tmp16 += np.transpose(ints.tmp97, (1, 0))
+    tmp16 += f.vv * -1
+    tmp16 += ints.tmp134 * -1
+    tmp16 += ints.tmp93 * -2
+    tmp16 += einsum(tmp15, (0, 1), t1, (0, 2), (2, 1))
+    tmp12 = np.copy(tmp11) * -0.5
+    tmp12 += np.transpose(tmp11, (1, 0, 2))
+    tmp0 = np.copy(r2) * -0.5
+    tmp0 += np.transpose(r2, (1, 0, 2))
+    tmp2 = np.copy(r2) * 2
+    tmp2 += np.transpose(r2, (1, 0, 2)) * -1
+    tmp5 = np.copy(ints.tmp104) * 2
+    tmp5 += ints.tmp19
+    tmp5 += ints.tmp1
+    tmp5 += ints.tmp29 * 2
+    tmp5 += ints.tmp3
+    tmp5 += ints.tmp41
+    tmp5 += ints.tmp49 * 2
+    tmp5 += ints.tmp51 * 2
+    tmp5 += ints.tmp63 * 2
+    tmp5 += ints.tmp75 * 2
+    tmp5 += ints.tmp88 * 2
+    tmp5 += ints.tmp98
+    tmp5 += ints.tmp9
+    tmp5 += f.ov * -1
+    tmp5 += ints.tmp103 * -1
+    tmp5 += ints.tmp17 * -2
+    tmp5 += ints.tmp26 * -1
+    tmp5 += ints.tmp2 * -1
+    tmp5 += ints.tmp38 * -2
+    tmp5 += ints.tmp48 * -1
+    tmp5 += ints.tmp4 * -2
+    tmp5 += ints.tmp54 * -4
+    tmp5 += ints.tmp66 * -1
+    tmp5 += ints.tmp78 * -1
+    tmp5 += ints.tmp87 * -1
+    tmp5 += ints.tmp94 * -2
+    tmp3 = np.copy(np.transpose(ints.tmp33, (0, 2, 1, 3)))
+    tmp3 += ints.tmp35
+    tmp3 += np.transpose(ints.tmp57, (0, 2, 1, 3))
+    tmp3 += np.transpose(ints.tmp72, (0, 2, 1, 3))
+    tmp3 += ints.tmp92
+    tmp3 += ints.tmp21 * -1
+    tmp3 += ints.tmp36 * -2
+    tmp3 += np.transpose(ints.tmp60, (0, 2, 1, 3)) * -2
+    tmp3 += np.transpose(ints.tmp6, (1, 0, 2, 3)) * -1
+    tmp6 = np.copy(f.oo)
+    tmp6 += np.transpose(ints.tmp0, (1, 0))
+    tmp6 += np.transpose(ints.tmp13, (1, 0)) * 2
+    tmp6 += ints.tmp24 * 2
+    tmp6 += ints.tmp86 * 2
+    tmp6 += ints.tmp12 * -1
+    tmp6 += ints.tmp22 * -1
+    tmp6 += ints.tmp85 * -1
+    tmp1 = np.copy(ints.tmp108)
+    tmp1 += np.transpose(ints.tmp14, (1, 2, 0, 3))
+    tmp1 += ints.tmp32
+    tmp1 += ints.tmp69
+    tmp1 += ints.tmp73
+    tmp1 += ints.tmp82
+    tmp1 += ints.tmp91
+    tmp1 += ints.tmp100 * -1
+    tmp1 += ints.tmp20 * -1
+    tmp1 += ints.tmp44 * -1
+    tmp1 += ints.tmp70 * -2
+    tmp4 = np.copy(v.ooov) * -0.5
+    tmp4 += np.transpose(v.ovoo, (0, 2, 3, 1))
+    r2new = einsum(r2, (0, 1, 2), ints.tmp90, (1, 0, 3, 4), (3, 4, 2))
+    r2new += einsum(tmp8, (0, 1, 2, 3), tmp7, (0, 4, 2), (1, 4, 3)) * 2
+    del tmp8, tmp7
+    r2new += einsum(r2, (0, 1, 2), tmp9, (1, 3, 4, 2), (0, 3, 4)) * -1
+    r2new += einsum(tmp9, (0, 1, 2, 3), r2, (0, 4, 3), (1, 4, 2)) * -1
+    del tmp9
+    r2new += einsum(tmp10, (0, 1, 2, 3), r2, (0, 1, 4), (2, 3, 4))
+    del tmp10
+    r2new += einsum(tmp12, (0, 1, 2), tmp13, (1, 3, 2, 4), (3, 0, 4)) * -2
+    del tmp12, tmp13
+    r2new += einsum(tmp14, (0, 1, 2, 3), tmp11, (4, 0, 1), (4, 2, 3))
+    r2new += einsum(tmp11, (0, 1, 2), tmp14, (0, 2, 3, 4), (3, 1, 4))
+    del tmp11
+    r2new += einsum(tmp16, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp16
+    r2new += einsum(r2, (0, 1, 2), tmp17, (0, 3), (3, 1, 2)) * -2
+    r2new += einsum(tmp17, (0, 1), r2, (2, 0, 3), (2, 1, 3)) * -2
+    del tmp17
+    r2new += einsum(v.ovov, (0, 1, 2, 3), tmp19, (3,), (0, 2, 1)) * -2
+    del tmp19
+    r2new += einsum(r1, (0,), tmp14, (0, 1, 2, 3), (1, 2, 3))
+    del tmp14
+    r2new += einsum(r1, (0,), tmp15, (1, 2), (1, 0, 2)) * -1
+    del tmp15
+    r1new = einsum(tmp0, (0, 1, 2), tmp1, (0, 1, 3, 2), (3,)) * -2
+    del tmp0, tmp1
+    r1new += einsum(tmp3, (0, 1, 2, 3), tmp2, (0, 2, 3), (1,)) * -1
+    del tmp3
+    r1new += einsum(tmp4, (0, 1, 2, 3), r2, (0, 2, 3), (1,)) * 2
+    del tmp4
+    r1new += einsum(tmp5, (0, 1), tmp2, (0, 2, 1), (2,))
+    del tmp2, tmp5
+    r1new += einsum(tmp6, (0, 1), r1, (0,), (1,)) * -1
+    del tmp6
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCSD.hbar_lmatvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-13T22:21:55.505232.

+

Parameters

+

f : array + Fock matrix. +t1 : array + T1 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp1 : array +tmp10 : array +tmp103 : array +tmp106 : array +tmp107 : array +tmp109 : array +tmp11 : array +tmp110 : array +tmp111 : array +tmp112 : array +tmp113 : array +tmp14 : array +tmp16 : array +tmp17 : array +tmp19 : array +tmp2 : array +tmp24 : array +tmp27 : array +tmp29 : array +tmp3 : array +tmp31 : array +tmp34 : array +tmp37 : array +tmp4 : array +tmp40 : array +tmp43 : array +tmp46 : array +tmp48 : array +tmp51 : array +tmp53 : array +tmp55 : array +tmp56 : array +tmp57 : array +tmp59 : array +tmp62 : array +tmp69 : array +tmp70 : array +tmp73 : array +tmp76 : array +tmp79 : array +tmp80 : array +tmp83 : array +tmp84 : array +tmp87 : array +tmp88 : array +tmp90 : array +tmp92 : array +tmp95 : array +tmp96 : array +tmp97 : array +tmp98 : array

+ +
+ Source code in ebcc/codegen/RCCSD.py +
2342
+2343
+2344
+2345
+2346
+2347
+2348
+2349
+2350
+2351
+2352
+2353
+2354
+2355
+2356
+2357
+2358
+2359
+2360
+2361
+2362
+2363
+2364
+2365
+2366
+2367
+2368
+2369
+2370
+2371
+2372
+2373
+2374
+2375
+2376
+2377
+2378
+2379
+2380
+2381
+2382
+2383
+2384
+2385
+2386
+2387
+2388
+2389
+2390
+2391
+2392
+2393
+2394
+2395
+2396
+2397
+2398
+2399
+2400
+2401
+2402
+2403
+2404
+2405
+2406
+2407
+2408
+2409
+2410
+2411
+2412
+2413
+2414
+2415
+2416
+2417
+2418
+2419
+2420
+2421
+2422
+2423
+2424
+2425
+2426
+2427
+2428
+2429
+2430
+2431
+2432
+2433
+2434
+2435
+2436
+2437
+2438
+2439
+2440
+2441
+2442
+2443
+2444
+2445
+2446
+2447
+2448
+2449
+2450
+2451
+2452
+2453
+2454
+2455
+2456
+2457
+2458
+2459
+2460
+2461
+2462
+2463
+2464
def hbar_lmatvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-13T22:21:55.505232.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t1 : array
+        T1 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp1 : array
+    tmp10 : array
+    tmp103 : array
+    tmp106 : array
+    tmp107 : array
+    tmp109 : array
+    tmp11 : array
+    tmp110 : array
+    tmp111 : array
+    tmp112 : array
+    tmp113 : array
+    tmp14 : array
+    tmp16 : array
+    tmp17 : array
+    tmp19 : array
+    tmp2 : array
+    tmp24 : array
+    tmp27 : array
+    tmp29 : array
+    tmp3 : array
+    tmp31 : array
+    tmp34 : array
+    tmp37 : array
+    tmp4 : array
+    tmp40 : array
+    tmp43 : array
+    tmp46 : array
+    tmp48 : array
+    tmp51 : array
+    tmp53 : array
+    tmp55 : array
+    tmp56 : array
+    tmp57 : array
+    tmp59 : array
+    tmp62 : array
+    tmp69 : array
+    tmp70 : array
+    tmp73 : array
+    tmp76 : array
+    tmp79 : array
+    tmp80 : array
+    tmp83 : array
+    tmp84 : array
+    tmp87 : array
+    tmp88 : array
+    tmp90 : array
+    tmp92 : array
+    tmp95 : array
+    tmp96 : array
+    tmp97 : array
+    tmp98 : array
+    """
+
+    tmp17 = einsum(v.ovov, (0, 1, 2, 3), t1, (2, 3), (0, 1))
+    tmp55 = einsum(t1, (0, 1), v.ovov, (2, 1, 0, 3), (2, 3))
+    tmp112 = einsum(t1, (0, 1), tmp17, (2, 1), (0, 2))
+    tmp110 = einsum(t1, (0, 1), tmp55, (2, 1), (0, 2))
+    tmp16 = einsum(t1, (0, 1), v.ovvv, (0, 2, 3, 1), (2, 3))
+    tmp14 = einsum(v.ovvv, (0, 1, 2, 3), t1, (0, 1), (2, 3))
+    tmp97 = einsum(v.ooov, (0, 1, 2, 3), t1, (2, 3), (0, 1))
+    tmp95 = einsum(v.ooov, (0, 1, 2, 3), t1, (1, 3), (0, 2))
+    tmp83 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 3, 1), (4, 0))
+    tmp79 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 3), (4, 0))
+    tmp69 = einsum(t1, (0, 1), v.ovov, (2, 3, 4, 1), (0, 2, 4, 3))
+    tmp10 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp113 = einsum(tmp112, (0, 1), t1, (1, 2), (0, 2))
+    tmp111 = einsum(tmp110, (0, 1), t1, (1, 2), (0, 2))
+    tmp109 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp107 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3))
+    tmp106 = einsum(tmp16, (0, 1), t1, (2, 0), (2, 1))
+    tmp103 = einsum(t1, (0, 1), tmp14, (2, 1), (0, 2))
+    tmp98 = einsum(tmp97, (0, 1), t1, (1, 2), (0, 2))
+    tmp96 = einsum(t1, (0, 1), tmp95, (2, 0), (2, 1))
+    tmp92 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp90 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 5), (0, 4, 3, 5))
+    tmp88 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp87 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5))
+    tmp84 = einsum(tmp83, (0, 1), t1, (1, 2), (0, 2))
+    tmp80 = einsum(t1, (0, 1), tmp79, (2, 0), (2, 1))
+    tmp76 = einsum(tmp69, (0, 1, 2, 3), t2, (2, 1, 4, 5), (0, 5, 4, 3))
+    tmp73 = einsum(tmp69, (0, 1, 2, 3), t2, (2, 1, 3, 4), (0, 4))
+    tmp70 = einsum(t2, (0, 1, 2, 3), tmp69, (4, 0, 1, 2), (4, 3))
+    tmp62 = einsum(tmp17, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp59 = einsum(t2, (0, 1, 2, 3), tmp17, (1, 2), (0, 3))
+    tmp57 = einsum(tmp55, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp56 = einsum(t2, (0, 1, 2, 3), tmp55, (1, 2), (0, 3))
+    tmp53 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 5, 1, 2))
+    tmp51 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 4, 5, 2), (0, 3, 4, 5))
+    tmp48 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 3, 4, 5), (0, 2, 4, 5))
+    tmp46 = einsum(t2, (0, 1, 2, 3), v.ovvv, (1, 2, 4, 5), (0, 3, 4, 5))
+    tmp43 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 1, 3), (4, 2))
+    tmp40 = einsum(v.ovvv, (0, 1, 2, 3), t2, (4, 0, 3, 1), (4, 2))
+    tmp37 = einsum(v.ooov, (0, 1, 2, 3), t2, (2, 1, 4, 5), (0, 5, 4, 3))
+    tmp34 = einsum(v.ooov, (0, 1, 2, 3), t2, (2, 1, 3, 4), (0, 4))
+    tmp31 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 0, 3), (4, 2))
+    tmp29 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 4, 1, 3), (2, 4))
+    tmp27 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 4, 1, 2), (3, 4))
+    tmp24 = einsum(t1, (0, 1), v.vvvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp19 = einsum(t1, (0, 1), v.oovv, (2, 0, 3, 1), (2, 3))
+    tmp11 = einsum(t1, (0, 1), tmp10, (0, 2), (2, 1))
+    tmp4 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2))
+    tmp3 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 2), (0, 3))
+    tmp2 = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    tmp1 = einsum(t1, (0, 1), f.oo, (2, 0), (2, 1))
+
+    return {f"tmp1": tmp1, f"tmp10": tmp10, f"tmp103": tmp103, f"tmp106": tmp106, f"tmp107": tmp107, f"tmp109": tmp109, f"tmp11": tmp11, f"tmp110": tmp110, f"tmp111": tmp111, f"tmp112": tmp112, f"tmp113": tmp113, f"tmp14": tmp14, f"tmp16": tmp16, f"tmp17": tmp17, f"tmp19": tmp19, f"tmp2": tmp2, f"tmp24": tmp24, f"tmp27": tmp27, f"tmp29": tmp29, f"tmp3": tmp3, f"tmp31": tmp31, f"tmp34": tmp34, f"tmp37": tmp37, f"tmp4": tmp4, f"tmp40": tmp40, f"tmp43": tmp43, f"tmp46": tmp46, f"tmp48": tmp48, f"tmp51": tmp51, f"tmp53": tmp53, f"tmp55": tmp55, f"tmp56": tmp56, f"tmp57": tmp57, f"tmp59": tmp59, f"tmp62": tmp62, f"tmp69": tmp69, f"tmp70": tmp70, f"tmp73": tmp73, f"tmp76": tmp76, f"tmp79": tmp79, f"tmp80": tmp80, f"tmp83": tmp83, f"tmp84": tmp84, f"tmp87": tmp87, f"tmp88": tmp88, f"tmp90": tmp90, f"tmp92": tmp92, f"tmp95": tmp95, f"tmp96": tmp96, f"tmp97": tmp97, f"tmp98": tmp98}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCSD.hbar_lmatvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-13T22:21:55.528470.

+

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.

+ +
+ Source code in ebcc/codegen/RCCSD.py +
2466
+2467
+2468
+2469
+2470
+2471
+2472
+2473
+2474
+2475
+2476
+2477
+2478
+2479
+2480
+2481
+2482
+2483
+2484
+2485
+2486
+2487
+2488
+2489
+2490
+2491
+2492
+2493
+2494
+2495
+2496
+2497
+2498
+2499
+2500
+2501
+2502
+2503
+2504
+2505
+2506
+2507
+2508
+2509
+2510
+2511
+2512
+2513
+2514
+2515
+2516
+2517
+2518
+2519
+2520
+2521
+2522
+2523
+2524
+2525
+2526
+2527
+2528
+2529
+2530
+2531
+2532
+2533
+2534
+2535
+2536
+2537
+2538
+2539
+2540
+2541
+2542
+2543
+2544
+2545
+2546
+2547
+2548
+2549
+2550
+2551
+2552
+2553
+2554
+2555
+2556
+2557
+2558
+2559
+2560
+2561
+2562
+2563
+2564
+2565
+2566
+2567
+2568
+2569
+2570
+2571
+2572
+2573
+2574
+2575
+2576
+2577
+2578
+2579
+2580
+2581
+2582
+2583
+2584
+2585
+2586
+2587
+2588
+2589
+2590
+2591
+2592
+2593
+2594
+2595
+2596
+2597
+2598
+2599
+2600
+2601
+2602
+2603
+2604
+2605
+2606
+2607
+2608
+2609
+2610
+2611
+2612
+2613
+2614
+2615
+2616
+2617
+2618
+2619
+2620
+2621
+2622
+2623
+2624
+2625
+2626
+2627
+2628
+2629
+2630
+2631
+2632
+2633
+2634
+2635
+2636
+2637
+2638
+2639
+2640
+2641
+2642
+2643
+2644
+2645
+2646
+2647
+2648
+2649
+2650
def hbar_lmatvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-13T22:21:55.528470.
+
+    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"]
+    tmp19 = np.copy(f.ov)
+    tmp19 += ints.tmp17 * 2
+    tmp19 += ints.tmp55 * -1
+    tmp16 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp16 += t2 * 2
+    tmp22 = np.copy(ints.tmp69)
+    tmp22 += np.transpose(v.ooov, (0, 2, 1, 3))
+    tmp10 = einsum(t1, (0, 1), r2, (2, 1, 3), (3, 0, 2))
+    tmp26 = einsum(t1, (0, 1), tmp19, (0, 2), (1, 2))
+    tmp17 = einsum(tmp16, (0, 1, 2, 3), r2, (2, 3, 0), (1,)) * 0.5
+    del tmp16
+    tmp15 = einsum(t1, (0, 1), r1, (1,), (0,))
+    tmp24 = einsum(tmp22, (0, 1, 2, 3), t1, (1, 4), (0, 2, 4, 3))
+    tmp2 = np.copy(np.transpose(r2, (2, 0, 1)))
+    tmp2 += np.transpose(r2, (2, 1, 0)) * -0.5
+    tmp5 = np.copy(np.transpose(r2, (2, 0, 1))) * -0.5
+    tmp5 += np.transpose(r2, (2, 1, 0))
+    tmp11 = einsum(t1, (0, 1), tmp10, (2, 3, 1), (2, 0, 3))
+    tmp28 = np.copy(f.oo)
+    tmp28 += np.transpose(ints.tmp10, (1, 0))
+    tmp28 += ints.tmp112 * 2
+    tmp28 += ints.tmp79 * 2
+    tmp28 += ints.tmp97 * 2
+    tmp28 += ints.tmp110 * -1
+    tmp28 += ints.tmp83 * -1
+    tmp28 += ints.tmp95 * -1
+    tmp27 = np.copy(np.transpose(ints.tmp16, (1, 0)))
+    tmp27 += ints.tmp29 * 2
+    tmp27 += f.vv * -1
+    tmp27 += ints.tmp14 * -2
+    tmp27 += ints.tmp27 * -1
+    tmp27 += tmp26
+    del tmp26
+    tmp20 = einsum(t2, (0, 1, 2, 3), r2, (2, 3, 4), (4, 0, 1))
+    tmp18 = np.copy(tmp15) * 0.5
+    del tmp15
+    tmp18 += tmp17 * -1
+    del tmp17
+    tmp21 = einsum(r2, (0, 1, 2), t1, (3, 0), (2, 3, 1))
+    tmp23 = np.copy(np.transpose(ints.tmp87, (0, 1, 3, 2)))
+    tmp23 += np.transpose(ints.tmp92, (0, 1, 3, 2))
+    tmp23 += ints.tmp109 * -1
+    tmp23 += np.transpose(ints.tmp88, (0, 1, 3, 2)) * -2
+    tmp23 += np.transpose(v.ovov, (0, 2, 3, 1)) * -1
+    tmp23 += einsum(tmp22, (0, 1, 2, 3), t1, (2, 4), (0, 1, 3, 4))
+    del tmp22
+    tmp25 = np.copy(np.transpose(ints.tmp90, (0, 1, 3, 2)))
+    tmp25 += ints.tmp107 * -1
+    tmp25 += v.oovv * -1
+    tmp25 += np.transpose(tmp24, (0, 1, 3, 2))
+    del tmp24
+    tmp0 = np.copy(ints.tmp24)
+    tmp0 += np.transpose(ints.tmp46, (0, 2, 1, 3)) * 2
+    tmp0 += np.transpose(ints.tmp53, (0, 2, 1, 3)) * 2
+    tmp0 += np.transpose(ints.tmp76, (0, 3, 1, 2))
+    tmp0 += np.transpose(ints.tmp37, (0, 3, 1, 2)) * -2
+    tmp0 += np.transpose(ints.tmp48, (0, 2, 1, 3)) * -4
+    tmp0 += np.transpose(ints.tmp51, (0, 2, 1, 3)) * -1
+    tmp0 += np.transpose(v.ovvv, (0, 2, 1, 3)) * -2
+    tmp0 += np.transpose(v.ovvv, (0, 2, 3, 1))
+    tmp14 = np.copy(f.vv)
+    tmp14 += np.transpose(ints.tmp14, (1, 0)) * 2
+    tmp14 += ints.tmp27
+    tmp14 += np.transpose(ints.tmp16, (1, 0)) * -1
+    tmp14 += ints.tmp29 * -2
+    tmp7 = np.copy(ints.tmp109)
+    tmp7 += np.transpose(ints.tmp88, (0, 1, 3, 2)) * 2
+    tmp7 += np.transpose(v.ovov, (0, 2, 3, 1))
+    tmp7 += np.transpose(ints.tmp87, (0, 1, 3, 2)) * -1
+    tmp7 += np.transpose(ints.tmp92, (0, 1, 3, 2)) * -1
+    tmp8 = np.copy(ints.tmp106)
+    tmp8 += ints.tmp113 * 2
+    tmp8 += ints.tmp11
+    tmp8 += ints.tmp19
+    tmp8 += ints.tmp1
+    tmp8 += ints.tmp34 * 2
+    tmp8 += ints.tmp3
+    tmp8 += ints.tmp43
+    tmp8 += ints.tmp57 * 2
+    tmp8 += ints.tmp59 * 2
+    tmp8 += ints.tmp70 * 2
+    tmp8 += ints.tmp80 * 2
+    tmp8 += ints.tmp98 * 2
+    tmp8 += f.ov * -1
+    tmp8 += ints.tmp103 * -2
+    tmp8 += ints.tmp111 * -1
+    tmp8 += ints.tmp17 * -2
+    tmp8 += ints.tmp2 * -1
+    tmp8 += ints.tmp31 * -1
+    tmp8 += ints.tmp40 * -2
+    tmp8 += ints.tmp4 * -2
+    tmp8 += ints.tmp56 * -1
+    tmp8 += ints.tmp62 * -4
+    tmp8 += ints.tmp73 * -1
+    tmp8 += ints.tmp84 * -1
+    tmp8 += ints.tmp96 * -1
+    tmp9 = np.copy(np.transpose(r2, (2, 0, 1))) * 2
+    tmp9 += np.transpose(r2, (2, 1, 0)) * -1
+    tmp3 = einsum(tmp2, (0, 1, 2), t1, (3, 1), (0, 3, 2))
+    tmp6 = einsum(t1, (0, 1), tmp5, (2, 1, 3), (2, 0, 3)) * 2
+    del tmp5
+    tmp13 = np.copy(tmp11) * 2
+    tmp13 += np.transpose(tmp11, (0, 2, 1)) * -1
+    tmp1 = np.copy(ints.tmp24)
+    tmp1 += np.transpose(ints.tmp46, (0, 2, 1, 3)) * 0.5
+    tmp1 += np.transpose(ints.tmp53, (0, 2, 1, 3)) * 0.5
+    tmp1 += np.transpose(ints.tmp76, (0, 3, 1, 2))
+    tmp1 += np.transpose(ints.tmp37, (0, 3, 1, 2)) * -0.5
+    tmp1 += np.transpose(ints.tmp48, (0, 2, 1, 3)) * -1
+    tmp1 += np.transpose(ints.tmp51, (0, 2, 1, 3)) * -1
+    tmp4 = np.copy(ints.tmp107)
+    tmp4 += v.oovv
+    tmp4 += np.transpose(ints.tmp90, (0, 1, 3, 2)) * -1
+    tmp12 = np.copy(tmp11) * -0.5
+    tmp12 += np.transpose(tmp11, (0, 2, 1))
+    r2new = einsum(v.ovov, (0, 1, 2, 3), tmp20, (4, 2, 0), (3, 1, 4))
+    del tmp20
+    r2new += einsum(tmp11, (0, 1, 2), v.ovov, (1, 3, 2, 4), (3, 4, 0))
+    del tmp11
+    r2new += einsum(v.ovvv, (0, 1, 2, 3), tmp21, (4, 0, 3), (1, 2, 4)) * -1
+    del tmp21
+    r2new += einsum(v.ovvv, (0, 1, 2, 3), tmp10, (4, 0, 3), (2, 1, 4)) * -1
+    del tmp10
+    r2new += einsum(r1, (0,), v.ovvv, (1, 2, 3, 0), (2, 3, 1)) * -1
+    r2new += einsum(r2, (0, 1, 2), v.vvvv, (3, 0, 4, 1), (3, 4, 2))
+    r2new += einsum(tmp23, (0, 1, 2, 3), tmp2, (0, 3, 4), (2, 4, 1)) * -2
+    del tmp2, tmp23
+    r2new += einsum(tmp25, (0, 1, 2, 3), r2, (4, 3, 0), (4, 2, 1))
+    r2new += einsum(tmp25, (0, 1, 2, 3), r2, (3, 4, 0), (2, 4, 1))
+    del tmp25
+    r2new += einsum(r2, (0, 1, 2), tmp27, (0, 3), (3, 1, 2)) * -1
+    r2new += einsum(tmp27, (0, 1), r2, (2, 0, 3), (2, 1, 3)) * -1
+    del tmp27
+    r2new += einsum(r2, (0, 1, 2), tmp28, (2, 3), (0, 1, 3)) * -1
+    del tmp28
+    r2new += einsum(v.ovov, (0, 1, 2, 3), tmp18, (2,), (1, 3, 0)) * 2
+    r2new += einsum(tmp19, (0, 1), r1, (2,), (1, 2, 0)) * -1
+    r1new = einsum(tmp0, (0, 1, 2, 3), r2, (2, 3, 0), (1,))
+    del tmp0
+    r1new += einsum(tmp1, (0, 1, 2, 3), r2, (3, 2, 0), (1,)) * -2
+    del tmp1
+    r1new += einsum(tmp3, (0, 1, 2), tmp4, (0, 1, 3, 2), (3,)) * 2
+    del tmp3, tmp4
+    r1new += einsum(tmp7, (0, 1, 2, 3), tmp6, (0, 1, 3), (2,))
+    del tmp7, tmp6
+    r1new += einsum(tmp9, (0, 1, 2), tmp8, (0, 1), (2,))
+    del tmp9, tmp8
+    r1new += einsum(ints.tmp69, (0, 1, 2, 3), tmp12, (0, 1, 2), (3,)) * -2
+    del tmp12
+    r1new += einsum(v.ooov, (0, 1, 2, 3), tmp13, (0, 1, 2), (3,)) * -1
+    del tmp13
+    r1new += einsum(tmp14, (0, 1), r1, (0,), (1,))
+    del tmp14
+    r1new += einsum(tmp19, (0, 1), tmp18, (0,), (1,)) * -2
+    del tmp19, tmp18
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/RCCSDT/index.html b/reference/codegen/RCCSDT/index.html new file mode 100644 index 00000000..40ac6f4f --- /dev/null +++ b/reference/codegen/RCCSDT/index.html @@ -0,0 +1,222 @@ + + + + + + + + RCCSDT - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/RCCSD_SD_1_1/index.html b/reference/codegen/RCCSD_SD_1_1/index.html new file mode 100644 index 00000000..f9715bfb --- /dev/null +++ b/reference/codegen/RCCSD_SD_1_1/index.html @@ -0,0 +1,222 @@ + + + + + + + + RCCSD SD 1 1 - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/RCCSD_SD_1_2/index.html b/reference/codegen/RCCSD_SD_1_2/index.html new file mode 100644 index 00000000..85c01262 --- /dev/null +++ b/reference/codegen/RCCSD_SD_1_2/index.html @@ -0,0 +1,222 @@ + + + + + + + + RCCSD SD 1 2 - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/RCCSD_S_1_1/index.html b/reference/codegen/RCCSD_S_1_1/index.html new file mode 100644 index 00000000..07a7e6be --- /dev/null +++ b/reference/codegen/RCCSD_S_1_1/index.html @@ -0,0 +1,222 @@ + + + + + + + + RCCSD S 1 1 - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/RCCSDwtwp/index.html b/reference/codegen/RCCSDwtwp/index.html new file mode 100644 index 00000000..07e70697 --- /dev/null +++ b/reference/codegen/RCCSDwtwp/index.html @@ -0,0 +1,3499 @@ + + + + + + + + RCCSDwtwp - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

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]
  • +
  • albert version: 0.0.0
  • +
  • caller: /home/ollie/git/albert/albert/codegen/einsum.py
  • +
  • node: ollie-desktop
  • +
  • system: Linux
  • +
  • processor: x86_64
  • +
  • release: 6.8.0-40-generic
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.RCCSDwtwp.energy(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-09-27T21:44:55.123874.

+

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.

+ +
+ Source code in ebcc/codegen/RCCSDwtwp.py +
20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
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.
+
+    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(tmp0, (0, 1, 2, 3), t1, (0, 3), (1, 2))
+    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
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RCCSDwtwp.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.

+

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.

+ +
+ Source code in ebcc/codegen/RCCSDwtwp.py +
  53
+  54
+  55
+  56
+  57
+  58
+  59
+  60
+  61
+  62
+  63
+  64
+  65
+  66
+  67
+  68
+  69
+  70
+  71
+  72
+  73
+  74
+  75
+  76
+  77
+  78
+  79
+  80
+  81
+  82
+  83
+  84
+  85
+  86
+  87
+  88
+  89
+  90
+  91
+  92
+  93
+  94
+  95
+  96
+  97
+  98
+  99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
+1331
+1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
+1359
+1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
+1373
+1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
+1445
+1446
+1447
+1448
+1449
+1450
+1451
+1452
+1453
+1454
+1455
+1456
+1457
+1458
+1459
+1460
+1461
+1462
+1463
+1464
+1465
+1466
+1467
+1468
+1469
+1470
+1471
+1472
+1473
+1474
+1475
+1476
+1477
+1478
+1479
+1480
+1481
+1482
+1483
+1484
+1485
+1486
+1487
+1488
+1489
+1490
+1491
+1492
+1493
+1494
+1495
+1496
+1497
+1498
+1499
+1500
+1501
+1502
+1503
+1504
+1505
+1506
+1507
+1508
+1509
+1510
+1511
+1512
+1513
+1514
+1515
+1516
+1517
+1518
+1519
+1520
+1521
+1522
+1523
+1524
+1525
+1526
+1527
+1528
+1529
+1530
+1531
+1532
+1533
+1534
+1535
+1536
+1537
+1538
+1539
+1540
+1541
+1542
+1543
+1544
+1545
+1546
+1547
+1548
+1549
+1550
+1551
+1552
+1553
+1554
+1555
+1556
+1557
+1558
+1559
+1560
+1561
+1562
+1563
+1564
+1565
+1566
+1567
+1568
+1569
+1570
+1571
+1572
+1573
+1574
+1575
+1576
+1577
+1578
+1579
+1580
+1581
+1582
+1583
+1584
+1585
+1586
+1587
+1588
+1589
+1590
+1591
+1592
+1593
+1594
+1595
+1596
+1597
+1598
+1599
+1600
+1601
+1602
+1603
+1604
+1605
+1606
+1607
+1608
+1609
+1610
+1611
+1612
+1613
+1614
+1615
+1616
+1617
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.
+
+    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)])
+    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)])
+    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))
+    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))
+    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))
+    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))
+    tmp219 = einsum(tmp218, (0, 1, 2, 3), t2_OovV, (4, 0, 2, 5), (1, 4, 3, 5))
+    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))
+    tmp295 = einsum(t1_oV, (0, 1), tmp294, (0, 2, 3, 4), (2, 3, 1, 4))
+    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 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))
+    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))
+    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))
+    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))
+    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))
+    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))
+    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))
+    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))
+    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
+    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
+    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
+    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))
+    del tmp295
+    tmp303 = einsum(t2_OoVV, (0, 1, 2, 3), tmp302, (1, 4, 5, 6), (5, 4, 0, 6, 3, 2))
+    del tmp302
+    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))
+    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 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))
+    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
+    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))
+    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))
+    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
+    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))
+    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))
+    tmp66 = einsum(t3, (0, 1, 2, 3, 4, 5), tmp64, (6, 1, 2, 5), (6, 0, 3, 4))
+    del tmp64
+    tmp31 = einsum(t3, (0, 1, 2, 3, 4, 5), v.OVOo, (2, 5, 1, 6), (6, 0, 3, 4))
+    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))
+    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
+    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))
+    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))
+    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
+    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
+    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))
+    del tmp71
+    tmp60 = einsum(tmp59, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3))
+    del tmp59
+    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))
+    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
+    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))
+    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(f.OO, (0, 1), t3, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -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(t3, (0, 1, 2, 3, 4, 5), tmp140, (4, 6), (0, 1, 2, 3, 6, 5)) * -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(tmp149, (0, 1), t3, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6))
+    del tmp149
+    t3new += einsum(tmp152, (0, 1), t3, (2, 3, 4, 5, 1, 6), (2, 3, 4, 5, 0, 6)) * -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(t3, (0, 1, 2, 3, 4, 5), tmp165, (1, 6), (0, 6, 2, 3, 4, 5)) * -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(tmp185, (0, 1), t3, (2, 1, 3, 4, 5, 6), (2, 0, 3, 4, 5, 6)) * -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(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(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))
+    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 += 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
+    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(t3, (0, 1, 2, 3, 4, 5), tmp191, (6, 1, 7, 4), (0, 6, 2, 3, 7, 5)) * -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))
+    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), (2, 0, 3, 4))
+    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(tmp98, (0, 1, 2, 3), t1, (4, 2), (4, 0, 1, 3))
+    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))
+    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(t2, (0, 1, 2, 3), f.ov, (1, 2), (0, 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 += 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(t1, (0, 1), tmp27, (2, 0), (2, 1)) * -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)
+    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/reference/codegen/RCCSDxTx/index.html b/reference/codegen/RCCSDxTx/index.html new file mode 100644 index 00000000..5a241916 --- /dev/null +++ b/reference/codegen/RCCSDxTx/index.html @@ -0,0 +1,222 @@ + + + + + + + + RCCSDxTx - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/RDCD/index.html b/reference/codegen/RDCD/index.html new file mode 100644 index 00000000..af52593a --- /dev/null +++ b/reference/codegen/RDCD/index.html @@ -0,0 +1,485 @@ + + + + + + + + RDCD - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-09T22:08:28.706685
  • +
  • python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0]
  • +
  • albert version: 0.0.0
  • +
  • caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py
  • +
  • node: fv-az1487-369
  • +
  • system: Linux
  • +
  • processor: x86_64
  • +
  • release: 6.5.0-1025-azure
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.RDCD.energy(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T22:08:28.967393.

+

Parameters

+

t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

e_cc : float + Coupled cluster energy.

+ +
+ Source code in ebcc/codegen/RDCD.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
def energy(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T22:08:28.967393.
+
+    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), ()) * 2
+    e_cc += einsum(t2, (0, 1, 2, 3), v.ovov, (0, 3, 1, 2), ()) * -1
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDCD.update_amps(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T22:08:32.124627.

+

Parameters

+

f : array + Fock matrix. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

t2new : array + Updated T2 residuals.

+ +
+ Source code in ebcc/codegen/RDCD.py +
 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
def update_amps(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T22:08:32.124627.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    t2new : array
+        Updated T2 residuals.
+    """
+
+    tmp9 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.5
+    tmp9 += np.transpose(v.ovov, (0, 2, 1, 3))
+    tmp6 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1)))
+    tmp6 += np.transpose(v.ovov, (0, 2, 1, 3)) * -0.5
+    tmp0 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5))
+    t2new = np.copy(np.transpose(tmp0, (1, 0, 3, 2))) * -1
+    tmp10 = einsum(t2, (0, 1, 2, 3), tmp9, (1, 4, 3, 2), (0, 4)) * 2
+    del tmp9
+    tmp7 = einsum(t2, (0, 1, 2, 3), tmp6, (0, 1, 3, 4), (2, 4))
+    del tmp6
+    tmp3 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 5, 2))
+    tmp2 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2))
+    tmp5 = einsum(t2, (0, 1, 2, 3), tmp0, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp11 = einsum(t2, (0, 1, 2, 3), tmp10, (4, 1), (0, 4, 3, 2)) * 0.5
+    del tmp10
+    tmp8 = einsum(tmp7, (0, 1), t2, (2, 3, 1, 4), (2, 3, 4, 0))
+    del tmp7
+    tmp1 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    t2new += np.transpose(tmp1, (1, 0, 3, 2)) * 2
+    tmp14 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * -1
+    tmp14 += tmp0
+    del tmp0
+    t2new += einsum(t2, (0, 1, 2, 3), tmp14, (4, 1, 5, 2), (0, 4, 3, 5))
+    del tmp14
+    tmp4 = np.copy(tmp2)
+    del tmp2
+    tmp4 += tmp3 * -1
+    del tmp3
+    t2new += np.transpose(tmp4, (1, 0, 2, 3))
+    t2new += np.transpose(tmp4, (0, 1, 3, 2))
+    del tmp4
+    tmp12 = np.copy(tmp5) * 2
+    del tmp5
+    tmp12 += np.transpose(tmp8, (1, 0, 2, 3))
+    del tmp8
+    tmp12 += np.transpose(tmp11, (0, 1, 3, 2))
+    del tmp11
+    t2new += np.transpose(tmp12, (1, 0, 3, 2)) * -1
+    t2new += tmp12 * -1
+    del tmp12
+    tmp13 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3))
+    t2new += np.transpose(tmp13, (1, 0, 2, 3)) * -1
+    t2new += np.transpose(tmp13, (0, 1, 3, 2)) * -1
+    del tmp13
+    tmp15 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * 2
+    tmp15 += v.oovv * -1
+    tmp15 += tmp1 * 4
+    del tmp1
+    t2new += einsum(tmp15, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp15
+    t2new += einsum(v.oooo, (0, 1, 2, 3), t2, (3, 1, 4, 5), (0, 2, 5, 4))
+    t2new += einsum(v.vvvv, (0, 1, 2, 3), t2, (4, 5, 1, 3), (4, 5, 0, 2))
+    t2new += np.transpose(v.ovov, (0, 2, 1, 3))
+    t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (4, 0, 5, 2)) * -1
+
+    return {f"t2new": t2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/RDCSD/index.html b/reference/codegen/RDCSD/index.html new file mode 100644 index 00000000..60e7ce18 --- /dev/null +++ b/reference/codegen/RDCSD/index.html @@ -0,0 +1,859 @@ + + + + + + + + RDCSD - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-09T22:09:18.261917
  • +
  • python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0]
  • +
  • albert version: 0.0.0
  • +
  • caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py
  • +
  • node: fv-az1487-369
  • +
  • system: Linux
  • +
  • processor: x86_64
  • +
  • release: 6.5.0-1025-azure
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.RDCSD.energy(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T22:09:18.961180.

+

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.

+ +
+ Source code in ebcc/codegen/RDCSD.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
def energy(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T22:09:18.961180.
+
+    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))) * -0.5
+    tmp0 += np.transpose(v.ovov, (0, 2, 1, 3))
+    tmp1 = np.copy(f.ov)
+    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
+    e_cc += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 1, 3), ()) * 2
+    e_cc += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 3, 1), ()) * -1
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDCSD.update_amps(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T22:09:35.127762.

+

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.

+ +
+ Source code in ebcc/codegen/RDCSD.py +
 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
def update_amps(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T22:09:35.127762.
+
+    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.
+    """
+
+    tmp1 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1))
+    tmp3 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1
+    tmp3 += np.transpose(v.ovov, (0, 2, 1, 3)) * 2
+    tmp30 = np.copy(tmp1) * -1
+    tmp30 += np.transpose(tmp1, (0, 2, 1, 3)) * 2
+    tmp4 = einsum(tmp3, (0, 1, 2, 3), t1, (0, 2), (1, 3))
+    del tmp3
+    tmp48 = einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    tmp48 += np.transpose(t2, (0, 1, 3, 2)) * -2
+    tmp48 += t2
+    tmp34 = np.copy(v.ooov) * 2
+    tmp34 += np.transpose(v.ooov, (0, 2, 1, 3)) * -1
+    tmp25 = np.copy(v.ovvv) * -1
+    tmp25 += np.transpose(v.ovvv, (0, 2, 1, 3)) * 2
+    tmp31 = einsum(tmp30, (0, 1, 2, 3), t2, (4, 2, 5, 3), (0, 1, 4, 5))
+    del tmp30
+    tmp29 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 4, 2, 5))
+    tmp28 = einsum(v.ooov, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5))
+    tmp50 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 2), (4, 0, 1, 3))
+    tmp49 = einsum(v.ooov, (0, 1, 2, 3), tmp48, (2, 4, 5, 3), (0, 1, 4, 5))
+    del tmp48
+    tmp46 = einsum(t2, (0, 1, 2, 3), v.ooov, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp47 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 2, 3, 5), (0, 4, 1, 5))
+    tmp45 = einsum(v.oovv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp12 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -0.5
+    tmp12 += np.transpose(v.ovov, (0, 2, 1, 3))
+    tmp60 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0))
+    tmp35 = einsum(t1, (0, 1), tmp34, (2, 3, 0, 1), (2, 3))
+    del tmp34
+    tmp26 = einsum(t1, (0, 1), tmp25, (0, 2, 1, 3), (2, 3))
+    del tmp25
+    tmp32 = np.copy(tmp1) * -1
+    tmp32 += tmp28
+    del tmp28
+    tmp32 += tmp29
+    del tmp29
+    tmp32 += np.transpose(tmp31, (0, 2, 1, 3)) * -1
+    del tmp31
+    tmp67 = np.copy(t2)
+    tmp67 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    t2new = einsum(tmp67, (0, 1, 2, 3), v.vvvv, (4, 3, 5, 2), (1, 0, 4, 5))
+    tmp51 = np.copy(np.transpose(tmp45, (0, 2, 1, 3))) * -1
+    del tmp45
+    tmp51 += np.transpose(tmp46, (0, 2, 1, 3))
+    del tmp46
+    tmp51 += np.transpose(tmp47, (0, 2, 1, 3))
+    del tmp47
+    tmp51 += np.transpose(tmp49, (2, 1, 0, 3))
+    del tmp49
+    tmp51 += np.transpose(tmp50, (2, 0, 1, 3)) * -1
+    del tmp50
+    tmp53 = einsum(t1, (0, 1), tmp4, (2, 1), (2, 0))
+    tmp41 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 1), (4, 0, 2, 3))
+    tmp43 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp43 += t2 * -1
+    tmp39 = einsum(t1, (0, 1), v.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp15 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 3, 5), (4, 0, 5, 1))
+    t2new += np.transpose(tmp15, (1, 0, 3, 2)) * -1
+    tmp17 = einsum(t2, (0, 1, 2, 3), v.ovvv, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp22 = einsum(tmp12, (0, 1, 2, 3), t2, (4, 0, 3, 2), (1, 4)) * 2
+    tmp20 = einsum(tmp12, (0, 1, 2, 3), t2, (0, 1, 2, 4), (3, 4))
+    tmp61 = np.copy(f.oo)
+    tmp61 += tmp60
+    del tmp60
+    tmp58 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2))
+    tmp36 = einsum(t2, (0, 1, 2, 3), tmp35, (4, 1), (4, 0, 3, 2))
+    del tmp35
+    tmp27 = einsum(tmp26, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp26
+    tmp33 = einsum(t1, (0, 1), tmp32, (2, 3, 0, 4), (2, 3, 4, 1))
+    del tmp32
+    tmp16 = einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (4, 0, 5, 1))
+    t2new += np.transpose(tmp16, (1, 0, 3, 2)) * 2
+    tmp68 = np.copy(v.oooo)
+    tmp68 += einsum(tmp67, (0, 1, 2, 3), v.ovov, (4, 3, 5, 2), (4, 1, 0, 5))
+    del tmp67
+    tmp64 = einsum(t1, (0, 1), v.ooov, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp52 = einsum(t1, (0, 1), tmp51, (2, 0, 3, 4), (2, 3, 4, 1))
+    del tmp51
+    tmp40 = einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 5, 2))
+    tmp54 = einsum(tmp53, (0, 1), t2, (2, 0, 3, 4), (1, 2, 4, 3))
+    del tmp53
+    tmp42 = einsum(tmp41, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp44 = einsum(tmp39, (0, 1, 2, 3), tmp43, (1, 4, 5, 2), (4, 0, 5, 3))
+    del tmp43
+    tmp38 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp19 = einsum(tmp15, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp18 = einsum(t1, (0, 1), tmp17, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp17
+    tmp23 = einsum(tmp22, (0, 1), t2, (2, 0, 3, 4), (1, 2, 4, 3)) * 0.5
+    del tmp22
+    tmp21 = einsum(tmp20, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp20
+    tmp56 = np.copy(t2)
+    tmp56 += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    tmp62 = einsum(t2, (0, 1, 2, 3), tmp61, (1, 4), (4, 0, 3, 2))
+    del tmp61
+    tmp59 = einsum(tmp58, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3))
+    del tmp58
+    tmp8 = np.copy(v.ovvv) * -0.5
+    tmp8 += np.transpose(v.ovvv, (0, 2, 1, 3))
+    tmp13 = np.copy(f.ov) * 0.5
+    tmp13 += einsum(t1, (0, 1), tmp12, (0, 2, 1, 3), (2, 3))
+    del tmp12
+    tmp10 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1
+    tmp10 += np.transpose(v.ovov, (0, 2, 1, 3)) * 2
+    tmp11 = np.copy(v.ooov)
+    tmp11 += np.transpose(v.ooov, (0, 2, 1, 3)) * -0.5
+    tmp37 = np.copy(np.transpose(tmp27, (1, 0, 3, 2)))
+    del tmp27
+    tmp37 += np.transpose(tmp33, (0, 1, 3, 2))
+    del tmp33
+    tmp37 += np.transpose(tmp36, (1, 0, 3, 2)) * -1
+    del tmp36
+    t2new += np.transpose(tmp37, (1, 0, 3, 2))
+    t2new += tmp37
+    del tmp37
+    tmp70 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * 0.5
+    tmp70 += v.oovv * -0.25
+    tmp70 += tmp16
+    del tmp16
+    t2new += einsum(tmp70, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) * 4
+    del tmp70
+    tmp69 = np.copy(np.transpose(v.ooov, (0, 2, 1, 3))) * -1
+    tmp69 += einsum(t1, (0, 1), tmp68, (0, 2, 3, 4), (3, 2, 4, 1))
+    del tmp68
+    t2new += einsum(t1, (0, 1), tmp69, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp69
+    tmp65 = einsum(tmp64, (0, 1, 2, 3), t2, (3, 2, 4, 5), (0, 1, 5, 4))
+    del tmp64
+    t2new += np.transpose(tmp65, (1, 0, 2, 3))
+    t2new += np.transpose(tmp65, (0, 1, 3, 2))
+    del tmp65
+    tmp71 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * -1
+    tmp71 += tmp15
+    del tmp15
+    t2new += einsum(t2, (0, 1, 2, 3), tmp71, (4, 1, 5, 2), (0, 4, 3, 5))
+    del tmp71
+    tmp66 = np.copy(v.oooo)
+    tmp66 += einsum(t1, (0, 1), tmp1, (2, 3, 4, 1), (3, 0, 4, 2))
+    t2new += einsum(tmp66, (0, 1, 2, 3), t2, (0, 2, 4, 5), (1, 3, 4, 5))
+    del tmp66
+    tmp55 = np.copy(tmp38)
+    del tmp38
+    tmp55 += tmp39
+    del tmp39
+    tmp55 += tmp40 * -1
+    del tmp40
+    tmp55 += tmp42 * -1
+    del tmp42
+    tmp55 += np.transpose(tmp44, (1, 0, 2, 3))
+    del tmp44
+    tmp55 += np.transpose(tmp52, (0, 1, 3, 2))
+    del tmp52
+    tmp55 += np.transpose(tmp54, (0, 1, 3, 2)) * -1
+    del tmp54
+    t2new += np.transpose(tmp55, (1, 0, 2, 3))
+    t2new += np.transpose(tmp55, (0, 1, 3, 2))
+    del tmp55
+    tmp24 = np.copy(tmp18)
+    del tmp18
+    tmp24 += tmp19 * 2
+    del tmp19
+    tmp24 += np.transpose(tmp21, (1, 0, 3, 2))
+    del tmp21
+    tmp24 += np.transpose(tmp23, (1, 0, 3, 2))
+    del tmp23
+    t2new += np.transpose(tmp24, (1, 0, 3, 2)) * -1
+    t2new += tmp24 * -1
+    del tmp24
+    tmp57 = einsum(tmp41, (0, 1, 2, 3), tmp56, (1, 4, 5, 2), (0, 4, 3, 5))
+    del tmp41, tmp56
+    t2new += np.transpose(tmp57, (1, 0, 2, 3)) * -1
+    t2new += np.transpose(tmp57, (0, 1, 3, 2)) * -1
+    del tmp57
+    tmp63 = np.copy(tmp59)
+    del tmp59
+    tmp63 += np.transpose(tmp62, (0, 1, 3, 2))
+    del tmp62
+    t2new += np.transpose(tmp63, (1, 0, 2, 3)) * -1
+    t2new += np.transpose(tmp63, (0, 1, 3, 2)) * -1
+    del tmp63
+    tmp9 = np.copy(f.vv)
+    tmp9 += einsum(t1, (0, 1), tmp8, (0, 2, 1, 3), (2, 3)) * 2
+    del tmp8
+    t1new = einsum(tmp9, (0, 1), t1, (2, 0), (2, 1))
+    del tmp9
+    tmp2 = np.copy(v.ooov) * -0.5
+    tmp2 += np.transpose(v.ooov, (0, 2, 1, 3))
+    tmp2 += tmp1
+    tmp2 += np.transpose(tmp1, (0, 2, 1, 3)) * -0.5
+    del tmp1
+    t1new += einsum(t2, (0, 1, 2, 3), tmp2, (4, 0, 1, 2), (4, 3)) * -2
+    del tmp2
+    tmp14 = np.copy(f.oo)
+    tmp14 += einsum(tmp10, (0, 1, 2, 3), t2, (4, 0, 3, 2), (1, 4))
+    del tmp10
+    tmp14 += einsum(tmp11, (0, 1, 2, 3), t1, (2, 3), (1, 0)) * 2
+    del tmp11
+    tmp14 += einsum(t1, (0, 1), tmp13, (2, 1), (2, 0)) * 2
+    del tmp13
+    t1new += einsum(t1, (0, 1), tmp14, (0, 2), (2, 1)) * -1
+    del tmp14
+    tmp6 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp6 += t2 * 2
+    tmp0 = np.copy(v.ovvv)
+    tmp0 += np.transpose(v.ovvv, (0, 2, 1, 3)) * -0.5
+    t1new += einsum(tmp0, (0, 1, 2, 3), t2, (4, 0, 2, 1), (4, 3)) * 2
+    del tmp0
+    tmp5 = np.copy(f.ov)
+    tmp5 += tmp4
+    del tmp4
+    t1new += einsum(tmp6, (0, 1, 2, 3), tmp5, (0, 2), (1, 3))
+    del tmp6, tmp5
+    tmp7 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * 2
+    tmp7 += v.oovv * -1
+    t1new += einsum(t1, (0, 1), tmp7, (0, 2, 1, 3), (2, 3))
+    del tmp7
+    t1new += f.ov
+    t2new += np.transpose(v.ovov, (0, 2, 1, 3))
+    t2new += einsum(t1, (0, 1), v.ovoo, (2, 3, 4, 0), (2, 4, 3, 1)) * -1
+    t2new += einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 3), (4, 0, 5, 2)) * -1
+
+    return {f"t1new": t1new, f"t2new": t2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/RDFCC2/index.html b/reference/codegen/RDFCC2/index.html new file mode 100644 index 00000000..6d98e4ca --- /dev/null +++ b/reference/codegen/RDFCC2/index.html @@ -0,0 +1,5449 @@ + + + + + + + + RDFCC2 - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-17T20:51:00.656404
  • +
  • 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.8.0-40-generic
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.RDFCC2.energy(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:51:01.367736.

+

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.

+ +
+ Source code in ebcc/codegen/RDFCC2.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
def energy(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:51:01.367736.
+
+    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.
+    """
+
+    tmp1 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp1 += t2 * 2
+    tmp0 = einsum(v.xov, (0, 1, 2), t1, (1, 2), (0,))
+    tmp3 = einsum(v.xov, (0, 1, 2), t1, (3, 2), (3, 1, 0))
+    tmp2 = einsum(t1, (0, 1), tmp0, (2,), (0, 1, 2))
+    del tmp0
+    tmp2 += einsum(v.xov, (0, 1, 2), tmp1, (1, 3, 2, 4), (3, 4, 0)) * 0.5
+    del tmp1
+    tmp4 = np.copy(f.ov)
+    tmp4 += einsum(tmp3, (0, 1, 2), v.xov, (2, 0, 3), (1, 3)) * -0.5
+    del tmp3
+    e_cc = einsum(tmp2, (0, 1, 2), v.xov, (2, 0, 1), ()) * 2
+    del tmp2
+    e_cc += einsum(tmp4, (0, 1), t1, (0, 1), ()) * 2
+    del tmp4
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCC2.update_amps(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:51:07.385895.

+

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.

+ +
+ Source code in ebcc/codegen/RDFCC2.py +
 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
def update_amps(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:51:07.385895.
+
+    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(v.xov, (0, 1, 2), t1, (3, 2), (3, 1, 0))
+    tmp6 = einsum(t1, (0, 1), v.xoo, (2, 3, 0), (3, 1, 2))
+    tmp26 = einsum(tmp2, (0, 1, 2), v.xoo, (2, 3, 4), (0, 3, 4, 1))
+    tmp21 = np.copy(np.transpose(v.xoo, (1, 2, 0)))
+    tmp21 += np.transpose(tmp2, (1, 0, 2))
+    tmp15 = einsum(t1, (0, 1), v.xvv, (2, 3, 1), (0, 3, 2))
+    tmp29 = np.copy(np.transpose(v.xov, (1, 2, 0))) * -1
+    tmp29 += tmp6
+    tmp27 = einsum(tmp26, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4))
+    del tmp26
+    tmp16 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0))
+    tmp18 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2))
+    tmp0 = einsum(v.xov, (0, 1, 2), t1, (1, 2), (0,))
+    tmp5 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp5 += t2 * 2
+    tmp9 = einsum(tmp2, (0, 1, 2), v.xov, (2, 0, 3), (1, 3))
+    tmp22 = einsum(tmp21, (0, 1, 2), v.xov, (2, 3, 4), (0, 1, 3, 4))
+    del tmp21
+    tmp34 = einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp34 += einsum(tmp2, (0, 1, 2), tmp2, (3, 4, 2), (4, 0, 1, 3))
+    tmp32 = einsum(tmp2, (0, 1, 2), tmp15, (3, 4, 2), (0, 3, 1, 4))
+    tmp30 = einsum(tmp29, (0, 1, 2), tmp15, (3, 4, 2), (0, 3, 1, 4))
+    del tmp29
+    tmp28 = einsum(t1, (0, 1), tmp27, (2, 0, 3, 4), (2, 3, 1, 4))
+    del tmp27
+    tmp25 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2))
+    tmp17 = einsum(t2, (0, 1, 2, 3), tmp16, (1, 4), (4, 0, 2, 3))
+    del tmp16
+    tmp19 = einsum(t1, (0, 1), tmp18, (0, 2, 3, 4), (2, 3, 1, 4))
+    del tmp18
+    tmp1 = einsum(v.xov, (0, 1, 2), tmp0, (0,), (1, 2))
+    tmp7 = einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 0.5
+    tmp7 += np.transpose(t2, (0, 1, 3, 2)) * -1
+    tmp7 += t2 * 0.5
+    tmp12 = np.copy(tmp6) * -1
+    tmp12 += einsum(t1, (0, 1), tmp0, (2,), (0, 1, 2)) * 2
+    tmp12 += einsum(tmp5, (0, 1, 2, 3), v.xov, (4, 0, 2), (1, 3, 4))
+    tmp13 = np.copy(f.ov)
+    tmp13 += tmp9 * -1
+    tmp3 = np.copy(np.transpose(v.xoo, (1, 2, 0)))
+    tmp3 += np.transpose(tmp2, (1, 0, 2))
+    del tmp2
+    tmp24 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3))
+    tmp23 = einsum(t1, (0, 1), tmp22, (0, 2, 3, 4), (2, 3, 4, 1))
+    del tmp22
+    tmp35 = einsum(t1, (0, 1), tmp34, (0, 2, 3, 4), (2, 4, 3, 1))
+    del tmp34
+    tmp33 = einsum(t1, (0, 1), tmp32, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp32
+    tmp31 = np.copy(tmp25)
+    del tmp25
+    tmp31 += tmp28
+    del tmp28
+    tmp31 += np.transpose(tmp30, (1, 0, 2, 3)) * -1
+    del tmp30
+    tmp20 = np.copy(tmp17)
+    del tmp17
+    tmp20 += tmp19
+    del tmp19
+    tmp10 = np.copy(f.ov)
+    tmp10 += tmp1 * 2
+    tmp10 += tmp9 * -1
+    del tmp9
+    tmp8 = np.copy(tmp6) * 0.5
+    del tmp6
+    tmp8 += einsum(t1, (0, 1), tmp0, (2,), (0, 1, 2)) * -1
+    tmp8 += einsum(v.xov, (0, 1, 2), tmp7, (1, 3, 4, 2), (3, 4, 0))
+    del tmp7
+    tmp14 = np.copy(f.oo)
+    tmp14 += einsum(v.xoo, (0, 1, 2), tmp0, (0,), (1, 2)) * 2
+    del tmp0
+    tmp14 += einsum(tmp12, (0, 1, 2), v.xov, (2, 3, 1), (3, 0))
+    del tmp12
+    tmp14 += einsum(t1, (0, 1), tmp13, (2, 1), (2, 0))
+    del tmp13
+    tmp4 = einsum(tmp3, (0, 1, 2), v.xov, (2, 3, 4), (1, 3, 0, 4))
+    del tmp3
+    tmp11 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp11 += t2 * 2
+    t2new = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2))
+    t2new += einsum(tmp15, (0, 1, 2), tmp15, (3, 4, 2), (3, 0, 4, 1))
+    del tmp15
+    t2new += np.transpose(tmp20, (0, 1, 3, 2)) * -1
+    t2new += np.transpose(tmp20, (1, 0, 2, 3)) * -1
+    del tmp20
+    t2new += np.transpose(tmp23, (0, 1, 3, 2)) * -1
+    t2new += np.transpose(tmp23, (1, 0, 2, 3)) * -1
+    del tmp23
+    t2new += np.transpose(tmp24, (0, 1, 3, 2)) * -1
+    t2new += np.transpose(tmp24, (1, 0, 2, 3)) * -1
+    del tmp24
+    t2new += np.transpose(tmp31, (0, 1, 3, 2))
+    t2new += np.transpose(tmp31, (1, 0, 2, 3))
+    del tmp31
+    t2new += tmp33 * -1
+    t2new += np.transpose(tmp33, (1, 0, 3, 2)) * -1
+    del tmp33
+    t2new += einsum(tmp35, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3))
+    del tmp35
+    t1new = np.copy(tmp1) * 2
+    del tmp1
+    t1new += f.ov
+    t1new += einsum(t1, (0, 1), f.vv, (2, 1), (0, 2))
+    t1new += einsum(tmp4, (0, 1, 2, 3), tmp5, (1, 2, 3, 4), (0, 4)) * -1
+    del tmp5, tmp4
+    t1new += einsum(tmp8, (0, 1, 2), v.xvv, (2, 3, 1), (0, 3)) * -2
+    del tmp8
+    t1new += einsum(tmp11, (0, 1, 2, 3), tmp10, (0, 2), (1, 3))
+    del tmp11, tmp10
+    t1new += einsum(t1, (0, 1), tmp14, (0, 2), (2, 1)) * -1
+    del tmp14
+
+    return {f"t1new": t1new, f"t2new": t2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCC2.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-17T20:51:53.767891.

+

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.

+ +
+ Source code in ebcc/codegen/RDFCC2.py +
195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
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-17T20:51:53.767891.
+
+    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.
+    """
+
+    tmp12 = einsum(v.xov, (0, 1, 2), t1, (1, 2), (0,))
+    tmp4 = einsum(v.xov, (0, 1, 2), t1, (3, 2), (3, 1, 0))
+    tmp33 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2))
+    tmp0 = einsum(t1, (0, 1), v.xvv, (2, 3, 1), (0, 3, 2))
+    tmp13 = einsum(v.xov, (0, 1, 2), tmp12, (0,), (1, 2))
+    tmp14 = einsum(tmp4, (0, 1, 2), v.xov, (2, 0, 3), (1, 3))
+    tmp6 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp98 = np.copy(tmp33) * -1
+    tmp98 += np.transpose(tmp33, (1, 0, 2, 3)) * 2
+    tmp94 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1
+    tmp94 += np.transpose(l2, (2, 3, 0, 1)) * 2
+    tmp93 = np.copy(np.transpose(v.xov, (1, 2, 0)))
+    tmp93 += tmp0
+    tmp96 = np.copy(tmp33) * 2
+    tmp96 += np.transpose(tmp33, (1, 0, 2, 3)) * -1
+    tmp102 = np.copy(tmp13) * 2
+    tmp102 += tmp14 * -1
+    tmp28 = np.copy(np.transpose(t2, (0, 1, 3, 2)))
+    tmp28 += t2 * -0.5
+    tmp7 = einsum(tmp6, (0, 1, 2, 3), t2, (4, 5, 3, 2), (4, 5, 1, 0))
+    tmp8 = einsum(tmp4, (0, 1, 2), tmp4, (3, 4, 2), (3, 0, 4, 1))
+    tmp79 = np.copy(np.transpose(v.xoo, (1, 2, 0)))
+    tmp79 += np.transpose(tmp4, (1, 0, 2))
+    tmp50 = einsum(l1, (0, 1), t1, (2, 0), (1, 2))
+    tmp99 = einsum(tmp4, (0, 1, 2), tmp98, (0, 3, 1, 4), (3, 4, 2))
+    del tmp98
+    tmp95 = einsum(tmp93, (0, 1, 2), tmp94, (0, 3, 1, 4), (3, 4, 2))
+    del tmp93, tmp94
+    tmp97 = einsum(v.xoo, (0, 1, 2), tmp96, (3, 1, 2, 4), (3, 4, 0))
+    del tmp96
+    tmp62 = einsum(tmp4, (0, 1, 2), v.xoo, (2, 3, 0), (3, 1))
+    tmp103 = einsum(tmp102, (0, 1), t1, (2, 1), (2, 0))
+    tmp51 = einsum(tmp28, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1))
+    tmp20 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp20 += t2 * 2
+    tmp2 = einsum(v.xov, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp9 = np.copy(tmp7)
+    del tmp7
+    tmp9 += tmp8
+    tmp56 = einsum(tmp28, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1)) * 2
+    tmp75 = einsum(v.xov, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp69 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0))
+    tmp80 = einsum(tmp79, (0, 1, 2), v.xvv, (2, 3, 4), (0, 1, 3, 4))
+    del tmp79
+    tmp24 = einsum(tmp4, (0, 1, 2), v.xoo, (2, 3, 4), (0, 3, 4, 1))
+    tmp77 = einsum(tmp4, (0, 1, 2), v.xov, (2, 3, 4), (0, 3, 1, 4))
+    tmp72 = einsum(l1, (0, 1), v.xvv, (2, 3, 0), (1, 3, 2))
+    tmp109 = einsum(v.xov, (0, 1, 2), tmp50, (3, 1), (3, 2, 0))
+    tmp100 = np.copy(tmp95)
+    del tmp95
+    tmp100 += tmp97 * -1
+    del tmp97
+    tmp100 += tmp99 * -1
+    del tmp99
+    tmp104 = np.copy(tmp62)
+    tmp104 += tmp103 * -1
+    del tmp103
+    tmp65 = einsum(v.xvv, (0, 1, 2), tmp12, (0,), (1, 2))
+    tmp84 = einsum(v.xov, (0, 1, 2), tmp0, (1, 3, 0), (2, 3))
+    tmp47 = einsum(t1, (0, 1), tmp33, (2, 3, 4, 1), (3, 2, 4, 0))
+    tmp45 = einsum(t2, (0, 1, 2, 3), l2, (2, 3, 4, 5), (4, 5, 0, 1))
+    tmp19 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5
+    tmp19 += t2
+    tmp52 = np.copy(tmp50) * 0.5
+    tmp52 += tmp51
+    del tmp51
+    tmp39 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp39 += t2 * -1
+    tmp21 = einsum(tmp20, (0, 1, 2, 3), v.xov, (4, 0, 2), (1, 3, 4))
+    tmp42 = np.copy(tmp33) * -1
+    tmp42 += np.transpose(tmp33, (1, 0, 2, 3)) * 2
+    tmp43 = np.copy(tmp33)
+    tmp43 += np.transpose(tmp33, (1, 0, 2, 3)) * -0.5
+    tmp41 = einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4))
+    tmp23 = einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp17 = np.copy(np.transpose(v.xoo, (1, 2, 0)))
+    tmp17 += np.transpose(tmp4, (1, 0, 2))
+    tmp5 = einsum(tmp4, (0, 1, 2), tmp0, (3, 4, 2), (0, 3, 1, 4))
+    tmp3 = einsum(tmp2, (0, 1, 2, 3), t2, (4, 5, 3, 2), (4, 5, 0, 1))
+    tmp10 = einsum(t1, (0, 1), tmp9, (2, 3, 4, 0), (2, 3, 4, 1)) * 2
+    del tmp9
+    tmp15 = np.copy(tmp13) * 2
+    tmp15 += tmp14 * -1
+    tmp57 = np.copy(tmp50)
+    del tmp50
+    tmp57 += tmp56
+    del tmp56
+    tmp76 = einsum(tmp75, (0, 1, 2, 3), tmp33, (1, 4, 2, 5), (4, 0, 5, 3))
+    tmp71 = einsum(tmp33, (0, 1, 2, 3), f.ov, (2, 4), (0, 1, 4, 3))
+    tmp70 = einsum(tmp69, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3))
+    del tmp69
+    tmp68 = einsum(l2, (0, 1, 2, 3), f.vv, (4, 1), (2, 3, 4, 0))
+    tmp81 = einsum(tmp80, (0, 1, 2, 3), l2, (4, 3, 1, 5), (5, 0, 4, 2))
+    tmp74 = einsum(l2, (0, 1, 2, 3), tmp24, (2, 3, 4, 5), (4, 5, 0, 1))
+    tmp78 = einsum(tmp77, (0, 1, 2, 3), tmp33, (0, 4, 1, 5), (4, 2, 5, 3))
+    tmp73 = einsum(v.xov, (0, 1, 2), tmp72, (3, 4, 0), (3, 1, 2, 4))
+    del tmp72
+    tmp108 = einsum(tmp77, (0, 1, 2, 3), l1, (4, 0), (1, 2, 4, 3))
+    tmp110 = einsum(tmp109, (0, 1, 2), v.xov, (2, 3, 4), (0, 3, 4, 1))
+    del tmp109
+    tmp61 = einsum(v.xoo, (0, 1, 2), tmp12, (0,), (1, 2))
+    del tmp12
+    tmp90 = einsum(tmp33, (0, 1, 2, 3), tmp2, (2, 4, 3, 5), (1, 0, 5, 4))
+    del tmp2
+    tmp88 = einsum(tmp75, (0, 1, 2, 3), tmp33, (4, 1, 2, 5), (4, 0, 5, 3))
+    tmp91 = einsum(tmp77, (0, 1, 2, 3), tmp33, (4, 0, 1, 5), (4, 2, 5, 3))
+    del tmp77
+    tmp101 = einsum(tmp100, (0, 1, 2), v.xov, (2, 3, 4), (3, 0, 4, 1))
+    del tmp100
+    tmp92 = einsum(l2, (0, 1, 2, 3), tmp80, (4, 3, 5, 1), (2, 4, 0, 5))
+    del tmp80
+    tmp106 = einsum(tmp102, (0, 1), tmp33, (2, 3, 0, 4), (2, 3, 4, 1))
+    tmp105 = einsum(tmp104, (0, 1), l2, (2, 3, 0, 4), (4, 1, 2, 3))
+    del tmp104
+    tmp89 = einsum(l2, (0, 1, 2, 3), tmp65, (4, 1), (2, 3, 0, 4))
+    tmp85 = einsum(tmp84, (0, 1), l2, (2, 1, 3, 4), (3, 4, 2, 0))
+    del tmp84
+    tmp83 = einsum(tmp75, (0, 1, 2, 3), l1, (4, 1), (0, 2, 4, 3))
+    del tmp75
+    tmp63 = np.copy(f.ov)
+    tmp63 += tmp13 * 2
+    tmp63 += tmp14 * -1
+    tmp48 = np.copy(tmp47) * -1
+    tmp48 += np.transpose(tmp47, (0, 1, 3, 2)) * 2
+    tmp46 = np.copy(np.transpose(tmp45, (1, 0, 2, 3)))
+    tmp46 += np.transpose(tmp45, (1, 0, 3, 2)) * -0.5
+    del tmp45
+    tmp53 = np.copy(t1) * -0.5
+    tmp53 += einsum(tmp19, (0, 1, 2, 3), tmp33, (0, 1, 4, 2), (4, 3))
+    tmp53 += einsum(tmp20, (0, 1, 2, 3), l1, (2, 0), (1, 3)) * -0.5
+    tmp53 += einsum(tmp52, (0, 1), t1, (0, 2), (1, 2))
+    tmp35 = np.copy(tmp33) * -0.5
+    tmp35 += np.transpose(tmp33, (1, 0, 2, 3))
+    tmp49 = np.copy(tmp47) * -0.5
+    tmp49 += np.transpose(tmp47, (0, 1, 3, 2))
+    tmp40 = einsum(tmp39, (0, 1, 2, 3), l2, (4, 2, 0, 5), (5, 1, 4, 3))
+    del tmp39
+    tmp40 += einsum(l2, (0, 1, 2, 3), tmp19, (3, 4, 1, 5), (2, 4, 0, 5)) * 2
+    tmp31 = np.copy(np.transpose(v.xov, (1, 2, 0)))
+    tmp31 += tmp0
+    tmp31 += tmp21
+    tmp44 = np.copy(tmp41) * -1
+    tmp44 += np.transpose(tmp41, (0, 2, 1, 3)) * 0.5
+    del tmp41
+    tmp44 += einsum(t2, (0, 1, 2, 3), tmp42, (4, 1, 5, 3), (4, 5, 0, 2)) * 0.5
+    del tmp42
+    tmp44 += einsum(t2, (0, 1, 2, 3), tmp43, (4, 1, 5, 2), (4, 5, 0, 3))
+    del tmp43
+    tmp27 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2))
+    tmp22 = np.copy(np.transpose(v.xov, (1, 2, 0)))
+    tmp22 += tmp21
+    tmp29 = np.copy(np.transpose(tmp23, (3, 2, 1, 0))) * 0.5
+    tmp29 += np.transpose(tmp24, (1, 0, 3, 2)) * 0.5
+    tmp29 += np.transpose(tmp24, (3, 0, 2, 1)) * -1
+    tmp18 = einsum(tmp17, (0, 1, 2), v.xov, (2, 3, 4), (3, 0, 1, 4))
+    tmp1 = einsum(tmp0, (0, 1, 2), v.xoo, (2, 3, 4), (0, 3, 4, 1))
+    tmp32 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -0.5
+    tmp32 += np.transpose(l2, (2, 3, 0, 1))
+    tmp34 = np.copy(tmp33) * 2
+    tmp34 += np.transpose(tmp33, (1, 0, 2, 3)) * -1
+    tmp36 = einsum(l2, (0, 1, 2, 3), tmp28, (2, 3, 1, 4), (0, 4)) * 2
+    tmp37 = np.copy(np.transpose(v.xoo, (1, 2, 0)))
+    tmp37 += tmp4
+    tmp11 = np.copy(tmp3) * 2
+    del tmp3
+    tmp11 += tmp5 * 2
+    del tmp5
+    tmp11 += tmp10 * -1
+    del tmp10
+    tmp16 = einsum(tmp15, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4))
+    del tmp15
+    tmp25 = np.copy(np.transpose(tmp23, (3, 2, 1, 0)))
+    tmp25 += np.transpose(tmp24, (1, 0, 3, 2))
+    tmp25 += np.transpose(tmp24, (3, 0, 2, 1)) * -0.5
+    del tmp24
+    tmp55 = einsum(l1, (0, 1), t1, (1, 2), (0, 2)) * 0.5
+    tmp55 += einsum(l2, (0, 1, 2, 3), tmp20, (2, 3, 4, 1), (4, 0)) * 0.5
+    tmp58 = np.copy(np.transpose(l1, (1, 0)))
+    tmp58 += t1
+    tmp58 += einsum(tmp33, (0, 1, 2, 3), tmp20, (0, 1, 3, 4), (2, 4)) * -1
+    del tmp33, tmp20
+    tmp58 += einsum(tmp19, (0, 1, 2, 3), l1, (2, 0), (1, 3)) * 2
+    tmp58 += einsum(tmp57, (0, 1), t1, (0, 2), (1, 2)) * -1
+    tmp82 = np.copy(tmp68)
+    del tmp68
+    tmp82 += tmp70 * -1
+    del tmp70
+    tmp82 += tmp71 * -1
+    del tmp71
+    tmp82 += tmp73
+    del tmp73
+    tmp82 += tmp74
+    del tmp74
+    tmp82 += tmp76
+    del tmp76
+    tmp82 += tmp78
+    del tmp78
+    tmp82 += tmp81 * -1
+    del tmp81
+    tmp111 = np.copy(tmp108)
+    del tmp108
+    tmp111 += tmp110
+    del tmp110
+    tmp113 = np.copy(np.transpose(tmp23, (3, 2, 1, 0)))
+    del tmp23
+    tmp113 += np.transpose(tmp8, (0, 3, 1, 2))
+    del tmp8
+    tmp67 = einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp87 = einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3))
+    tmp112 = einsum(tmp61, (0, 1), l2, (2, 3, 4, 1), (4, 0, 2, 3))
+    tmp107 = einsum(l1, (0, 1), f.ov, (2, 3), (2, 1, 3, 0))
+    tmp107 += tmp88
+    del tmp88
+    tmp107 += tmp89 * 2
+    del tmp89
+    tmp107 += tmp90 * -1
+    del tmp90
+    tmp107 += tmp91
+    del tmp91
+    tmp107 += tmp92 * -1
+    del tmp92
+    tmp107 += np.transpose(tmp101, (1, 0, 3, 2))
+    del tmp101
+    tmp107 += np.transpose(tmp105, (0, 1, 3, 2))
+    del tmp105
+    tmp107 += tmp106 * -1
+    del tmp106
+    tmp107 += einsum(tmp102, (0, 1), l1, (2, 3), (3, 0, 2, 1))
+    del tmp102
+    tmp86 = np.copy(tmp83)
+    del tmp83
+    tmp86 += tmp85
+    del tmp85
+    tmp66 = np.copy(f.vv)
+    tmp66 += np.transpose(tmp65, (1, 0)) * 2
+    del tmp65
+    tmp64 = np.copy(f.oo)
+    tmp64 += np.transpose(tmp61, (1, 0)) * 2
+    del tmp61
+    tmp64 += tmp62 * -1
+    del tmp62
+    tmp64 += einsum(v.xov, (0, 1, 2), tmp21, (3, 2, 0), (3, 1))
+    del tmp21
+    tmp64 += einsum(tmp63, (0, 1), t1, (2, 1), (2, 0))
+    del tmp63
+    tmp54 = einsum(l1, (0, 1), tmp0, (2, 0, 3), (2, 1, 3)) * -0.5
+    del tmp0
+    tmp54 += einsum(tmp40, (0, 1, 2, 3), v.xvv, (4, 2, 3), (1, 0, 4)) * -0.5
+    del tmp40
+    tmp54 += einsum(tmp31, (0, 1, 2), tmp35, (3, 0, 4, 1), (4, 3, 2)) * -1
+    tmp54 += einsum(tmp44, (0, 1, 2, 3), v.xov, (4, 1, 3), (2, 0, 4))
+    del tmp44
+    tmp54 += einsum(tmp17, (0, 1, 2), tmp46, (1, 3, 4, 0), (4, 3, 2))
+    del tmp46
+    tmp54 += einsum(tmp4, (0, 1, 2), tmp48, (0, 3, 4, 1), (4, 3, 2)) * 0.5
+    del tmp48
+    tmp54 += einsum(v.xoo, (0, 1, 2), tmp49, (1, 3, 4, 2), (4, 3, 0))
+    del tmp49
+    tmp54 += einsum(tmp53, (0, 1), v.xov, (2, 3, 1), (0, 3, 2))
+    del tmp53
+    tmp54 += einsum(v.xoo, (0, 1, 2), tmp52, (2, 3), (3, 1, 0))
+    del tmp52
+    tmp60 = np.copy(f.ov) * 0.5
+    tmp60 += tmp13
+    del tmp13
+    tmp60 += tmp14 * -0.5
+    del tmp14
+    tmp30 = np.copy(np.transpose(tmp1, (0, 2, 1, 3))) * -1
+    tmp30 += np.transpose(tmp27, (1, 0, 2, 3)) * -1
+    tmp30 += np.transpose(tmp27, (2, 0, 1, 3)) * 0.5
+    del tmp27
+    tmp30 += einsum(tmp18, (0, 1, 2, 3), tmp28, (1, 4, 3, 5), (2, 0, 4, 5))
+    del tmp28
+    tmp30 += einsum(tmp22, (0, 1, 2), tmp17, (3, 4, 2), (4, 3, 0, 1)) * 0.5
+    tmp30 += einsum(tmp29, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4)) * -1
+    del tmp29
+    tmp38 = einsum(tmp31, (0, 1, 2), tmp32, (0, 3, 1, 4), (3, 4, 2)) * -2
+    del tmp31, tmp32
+    tmp38 += einsum(tmp34, (0, 1, 2, 3), v.xoo, (4, 1, 2), (0, 3, 4))
+    del tmp34
+    tmp38 += einsum(tmp4, (0, 1, 2), tmp35, (0, 3, 1, 4), (3, 4, 2)) * 2
+    del tmp4, tmp35
+    tmp38 += einsum(v.xov, (0, 1, 2), tmp36, (3, 2), (1, 3, 0))
+    del tmp36
+    tmp38 += einsum(tmp37, (0, 1, 2), l1, (3, 0), (1, 3, 2))
+    del tmp37
+    tmp26 = np.copy(np.transpose(tmp1, (0, 2, 1, 3)))
+    del tmp1
+    tmp26 += np.transpose(tmp11, (0, 2, 1, 3)) * -1
+    tmp26 += np.transpose(tmp11, (1, 2, 0, 3)) * 0.5
+    del tmp11
+    tmp26 += np.transpose(tmp16, (1, 2, 0, 3))
+    tmp26 += np.transpose(tmp16, (0, 2, 1, 3)) * -2
+    del tmp16
+    tmp26 += einsum(tmp18, (0, 1, 2, 3), tmp19, (1, 4, 3, 5), (2, 0, 4, 5)) * 2
+    del tmp19, tmp18
+    tmp26 += einsum(tmp22, (0, 1, 2), tmp17, (3, 4, 2), (4, 3, 0, 1)) * -2
+    del tmp17, tmp22
+    tmp26 += einsum(t1, (0, 1), tmp25, (0, 2, 3, 4), (2, 3, 4, 1)) * 2
+    del tmp25
+    tmp59 = einsum(tmp55, (0, 1), v.xvv, (2, 1, 0), (2,)) * 2
+    del tmp55
+    tmp59 += einsum(v.xov, (0, 1, 2), tmp58, (1, 2), (0,))
+    del tmp58
+    tmp59 += einsum(tmp57, (0, 1), v.xoo, (2, 1, 0), (2,)) * -1
+    l2new = np.copy(np.transpose(tmp6, (3, 2, 1, 0)))
+    l2new += einsum(tmp67, (0, 1, 2, 3), l2, (3, 2, 4, 5), (0, 1, 4, 5))
+    del tmp67
+    l2new += einsum(tmp47, (0, 1, 2, 3), tmp6, (2, 3, 4, 5), (5, 4, 1, 0))
+    del tmp6, tmp47
+    l2new += np.transpose(tmp82, (3, 2, 0, 1))
+    l2new += np.transpose(tmp82, (2, 3, 1, 0))
+    del tmp82
+    l2new += np.transpose(tmp86, (2, 3, 0, 1)) * -1
+    l2new += np.transpose(tmp86, (3, 2, 1, 0)) * -1
+    del tmp86
+    l2new += np.transpose(tmp87, (3, 2, 0, 1)) * -1
+    l2new += np.transpose(tmp87, (2, 3, 1, 0)) * -1
+    del tmp87
+    l2new += np.transpose(tmp107, (2, 3, 0, 1))
+    l2new += np.transpose(tmp107, (3, 2, 1, 0))
+    del tmp107
+    l2new += np.transpose(tmp111, (3, 2, 0, 1)) * -1
+    l2new += np.transpose(tmp111, (2, 3, 1, 0)) * -1
+    del tmp111
+    l2new += np.transpose(tmp112, (2, 3, 0, 1)) * -2
+    l2new += np.transpose(tmp112, (3, 2, 1, 0)) * -2
+    del tmp112
+    l2new += einsum(tmp113, (0, 1, 2, 3), l2, (4, 5, 2, 0), (4, 5, 1, 3))
+    del tmp113
+    l1new = np.copy(np.transpose(f.ov, (1, 0)))
+    l1new += einsum(l2, (0, 1, 2, 3), tmp26, (2, 4, 3, 1), (0, 4))
+    del tmp26
+    l1new += einsum(tmp30, (0, 1, 2, 3), l2, (4, 3, 2, 0), (4, 1)) * 2
+    del tmp30
+    l1new += einsum(tmp38, (0, 1, 2), v.xvv, (2, 3, 1), (3, 0)) * -1
+    del tmp38
+    l1new += einsum(tmp54, (0, 1, 2), v.xov, (2, 0, 3), (3, 1)) * 2
+    del tmp54
+    l1new += einsum(v.xov, (0, 1, 2), tmp59, (0,), (2, 1)) * 2
+    del tmp59
+    l1new += einsum(tmp57, (0, 1), tmp60, (1, 2), (2, 0)) * -2
+    del tmp57, tmp60
+    l1new += einsum(l1, (0, 1), tmp64, (1, 2), (0, 2)) * -1
+    del tmp64
+    l1new += einsum(l1, (0, 1), tmp66, (0, 2), (2, 1))
+    del tmp66
+
+    return {f"l1new": l1new, f"l2new": l2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCC2.make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:51:54.851120.

+

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.

+ +
+ Source code in ebcc/codegen/RDFCC2.py +
572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:51:54.851120.
+
+    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]),
+    )
+    tmp5 = np.copy(np.transpose(t2, (0, 1, 3, 2)))
+    tmp5 += t2 * -0.5
+    tmp0 = einsum(l1, (0, 1), t1, (2, 0), (1, 2))
+    tmp2 = einsum(l2, (0, 1, 2, 3), t1, (4, 1), (2, 3, 4, 0))
+    tmp7 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * 2
+    tmp7 += np.transpose(l2, (2, 3, 0, 1)) * -1
+    tmp6 = np.copy(tmp0)
+    tmp6 += einsum(tmp5, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1)) * 2
+    del tmp5
+    tmp4 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp4 += t2 * 2
+    tmp3 = np.copy(tmp2)
+    tmp3 += np.transpose(tmp2, (1, 0, 2, 3)) * -0.5
+    del tmp2
+    tmp1 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5
+    tmp1 += t2
+    rdm1.vv = einsum(l1, (0, 1), t1, (1, 2), (0, 2)) * 2
+    rdm1.vv += einsum(t2, (0, 1, 2, 3), tmp7, (0, 1, 4, 2), (4, 3)) * 2
+    del tmp7
+    rdm1.vo = np.copy(l1) * 2
+    rdm1.ov = np.copy(t1) * 2
+    rdm1.ov += einsum(t2, (0, 1, 2, 3), tmp3, (0, 1, 4, 2), (4, 3)) * -4
+    del tmp3
+    rdm1.ov += einsum(tmp4, (0, 1, 2, 3), l1, (2, 0), (1, 3)) * 2
+    del tmp4
+    rdm1.ov += einsum(tmp6, (0, 1), t1, (0, 2), (1, 2)) * -2
+    del tmp6
+    rdm1.oo = np.copy(delta.oo) * 2
+    del delta
+    rdm1.oo += np.transpose(tmp0, (1, 0)) * -2
+    del tmp0
+    rdm1.oo += einsum(tmp1, (0, 1, 2, 3), l2, (2, 3, 0, 4), (1, 4)) * -4
+    del tmp1
+    rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]])
+
+    return rdm1
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCC2.make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:52:44.154282.

+

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.

+ +
+ Source code in ebcc/codegen/RDFCC2.py +
 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:52:44.154282.
+
+    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))
+    tmp22 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp22 += t2 * 2
+    tmp79 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp79 += t2
+    tmp4 = np.copy(np.transpose(t2, (0, 1, 3, 2)))
+    tmp4 += t2 * -0.5
+    tmp16 = np.copy(tmp1) * -1
+    tmp16 += np.transpose(tmp1, (1, 0, 2, 3)) * 2
+    tmp14 = np.copy(tmp1) * -1
+    tmp14 += np.transpose(tmp1, (1, 0, 2, 3))
+    tmp62 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1
+    tmp62 += np.transpose(l2, (2, 3, 0, 1)) * 2
+    tmp45 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1
+    tmp45 += np.transpose(l2, (2, 3, 0, 1)) * 2
+    tmp81 = einsum(l2, (0, 1, 2, 3), tmp22, (3, 4, 1, 5), (4, 2, 5, 0))
+    tmp80 = einsum(l2, (0, 1, 2, 3), tmp79, (2, 4, 1, 5), (4, 3, 5, 0))
+    del tmp79
+    tmp92 = einsum(t1, (0, 1), tmp1, (2, 0, 3, 4), (2, 3, 4, 1))
+    tmp5 = einsum(tmp4, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1)) * 2
+    tmp8 = np.copy(tmp1) * -1
+    tmp8 += np.transpose(tmp1, (1, 0, 2, 3)) * 2
+    tmp12 = einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4))
+    tmp26 = einsum(t2, (0, 1, 2, 3), tmp1, (4, 1, 5, 2), (4, 5, 0, 3))
+    tmp6 = einsum(l1, (0, 1), t1, (2, 0), (1, 2))
+    tmp17 = einsum(t2, (0, 1, 2, 3), tmp16, (4, 1, 5, 3), (4, 5, 0, 2))
+    del tmp16
+    tmp15 = einsum(t2, (0, 1, 2, 3), tmp14, (4, 1, 5, 2), (4, 5, 0, 3))
+    tmp25 = einsum(t2, (0, 1, 2, 3), tmp1, (1, 4, 5, 2), (4, 5, 0, 3))
+    tmp0 = einsum(t2, (0, 1, 2, 3), l2, (3, 2, 4, 5), (5, 4, 0, 1))
+    tmp54 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1
+    tmp54 += np.transpose(l2, (2, 3, 0, 1))
+    tmp2 = einsum(t1, (0, 1), tmp1, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp31 = einsum(tmp4, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1))
+    del tmp4
+    tmp113 = einsum(t1, (0, 1), l2, (2, 3, 4, 0), (4, 2, 3, 1))
+    tmp84 = einsum(l1, (0, 1), t1, (1, 2), (0, 2))
+    tmp85 = einsum(tmp62, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4))
+    tmp52 = einsum(tmp45, (0, 1, 2, 3), t2, (4, 0, 5, 2), (1, 4, 3, 5))
+    tmp67 = einsum(l2, (0, 1, 2, 3), t2, (4, 3, 1, 5), (2, 4, 0, 5))
+    tmp107 = np.copy(tmp92)
+    tmp107 += np.transpose(tmp80, (1, 0, 3, 2))
+    tmp107 += np.transpose(tmp81, (1, 0, 3, 2)) * -1
+    tmp97 = np.copy(np.transpose(tmp81, (1, 0, 3, 2)))
+    tmp97 += np.transpose(tmp80, (1, 0, 3, 2)) * -1
+    tmp104 = einsum(tmp62, (0, 1, 2, 3), t2, (4, 0, 5, 2), (1, 4, 3, 5))
+    tmp63 = einsum(tmp62, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4)) * 0.5
+    del tmp62
+    tmp10 = einsum(tmp5, (0, 1), t1, (0, 2), (1, 2)) * 0.5
+    tmp9 = einsum(t2, (0, 1, 2, 3), tmp8, (0, 1, 4, 3), (4, 2)) * 0.5
+    tmp74 = np.copy(tmp12)
+    tmp74 += tmp26 * -1
+    tmp23 = einsum(tmp22, (0, 1, 2, 3), l1, (2, 0), (1, 3))
+    del tmp22
+    tmp21 = einsum(tmp6, (0, 1), t1, (0, 2), (1, 2))
+    tmp48 = np.copy(tmp12)
+    tmp48 += tmp15
+    tmp48 += tmp17 * -1
+    tmp46 = einsum(t2, (0, 1, 2, 3), tmp45, (1, 4, 2, 5), (4, 0, 5, 3))
+    del tmp45
+    tmp71 = np.copy(tmp25)
+    tmp71 += tmp17 * -1
+    tmp19 = einsum(tmp0, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4))
+    tmp55 = einsum(tmp54, (0, 1, 2, 3), t2, (4, 0, 2, 5), (1, 4, 3, 5))
+    tmp13 = einsum(tmp2, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4))
+    tmp3 = np.copy(np.transpose(tmp0, (1, 0, 3, 2)))
+    tmp3 += tmp2
+    tmp32 = np.copy(tmp6) * 0.5
+    tmp32 += tmp31
+    del tmp31
+    tmp29 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp29 += t2 * 2
+    tmp115 = einsum(t1, (0, 1), tmp113, (0, 2, 3, 4), (3, 2, 4, 1))
+    tmp114 = einsum(t2, (0, 1, 2, 3), l2, (4, 5, 1, 0), (4, 5, 3, 2))
+    tmp100 = einsum(tmp1, (0, 1, 2, 3), t2, (1, 0, 4, 5), (2, 3, 5, 4))
+    tmp86 = np.copy(tmp84)
+    tmp86 += tmp85
+    del tmp85
+    tmp111 = np.copy(tmp67)
+    tmp111 += tmp92
+    tmp111 += tmp52 * -1
+    tmp69 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 1, 5), (5, 0, 4, 3))
+    tmp108 = einsum(t1, (0, 1), tmp107, (0, 2, 3, 4), (2, 3, 4, 1))
+    del tmp107
+    tmp96 = einsum(l1, (0, 1), t2, (2, 1, 3, 4), (2, 0, 3, 4))
+    tmp98 = einsum(t1, (0, 1), tmp97, (0, 2, 3, 4), (2, 3, 4, 1))
+    del tmp97
+    tmp105 = np.copy(tmp67)
+    tmp105 += tmp92
+    tmp105 += tmp104 * -1
+    del tmp104
+    tmp88 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * 2
+    tmp88 += np.transpose(l2, (2, 3, 0, 1)) * -1
+    tmp82 = np.copy(tmp1)
+    tmp82 += np.transpose(tmp1, (1, 0, 2, 3)) * -1
+    tmp90 = np.copy(np.transpose(l2, (3, 2, 0, 1)))
+    tmp90 += np.transpose(l2, (2, 3, 0, 1)) * -1
+    tmp65 = einsum(t2, (0, 1, 2, 3), tmp5, (1, 4), (0, 4, 3, 2))
+    tmp64 = einsum(tmp63, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4)) * 2
+    tmp11 = np.copy(tmp9)
+    tmp11 += tmp10
+    del tmp10
+    tmp44 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 4), (4, 0, 2, 3))
+    tmp75 = einsum(t1, (0, 1), tmp74, (0, 2, 3, 4), (2, 3, 4, 1))
+    del tmp74
+    tmp24 = np.copy(tmp21)
+    tmp24 += tmp23 * -1
+    tmp49 = einsum(t1, (0, 1), tmp48, (0, 2, 3, 4), (2, 3, 4, 1))
+    del tmp48
+    tmp47 = einsum(tmp46, (0, 1, 2, 3), t2, (4, 0, 5, 2), (1, 4, 3, 5))
+    del tmp46
+    tmp72 = einsum(t1, (0, 1), tmp71, (0, 2, 3, 4), (2, 3, 4, 1))
+    del tmp71
+    tmp59 = einsum(t2, (0, 1, 2, 3), tmp2, (0, 1, 4, 5), (4, 5, 2, 3))
+    tmp60 = einsum(t1, (0, 1), tmp19, (0, 2, 3, 4), (2, 3, 1, 4))
+    tmp58 = einsum(t2, (0, 1, 2, 3), tmp0, (1, 0, 4, 5), (4, 5, 3, 2))
+    tmp56 = einsum(tmp55, (0, 1, 2, 3), t2, (4, 0, 2, 5), (1, 4, 3, 5))
+    del tmp55
+    tmp51 = einsum(t1, (0, 1), tmp13, (0, 2, 3, 4), (2, 3, 1, 4))
+    tmp53 = einsum(tmp52, (0, 1, 2, 3), t2, (4, 0, 5, 2), (1, 4, 3, 5))
+    del tmp52
+    tmp27 = einsum(tmp3, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4))
+    tmp28 = einsum(t2, (0, 1, 2, 3), tmp8, (0, 1, 4, 3), (4, 2))
+    del tmp8
+    tmp33 = einsum(tmp32, (0, 1), t1, (0, 2), (1, 2)) * 2
+    tmp38 = np.copy(tmp1) * 2
+    tmp38 += np.transpose(tmp1, (1, 0, 2, 3)) * -1
+    tmp40 = einsum(tmp29, (0, 1, 2, 3), l1, (2, 0), (1, 3)) * 0.5
+    tmp41 = einsum(tmp32, (0, 1), t1, (0, 2), (1, 2))
+    tmp30 = einsum(tmp29, (0, 1, 2, 3), l1, (2, 0), (1, 3))
+    del tmp29
+    tmp116 = np.copy(np.transpose(tmp114, (1, 0, 3, 2)))
+    tmp116 += np.transpose(tmp115, (1, 0, 3, 2))
+    tmp95 = np.copy(tmp84) * 0.5
+    tmp95 += tmp63
+    tmp110 = np.copy(tmp100)
+    tmp110 += einsum(tmp86, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    tmp112 = einsum(t1, (0, 1), tmp111, (0, 2, 3, 4), (2, 3, 4, 1))
+    del tmp111
+    tmp103 = einsum(t1, (0, 1), tmp69, (0, 2, 3, 4), (2, 3, 1, 4))
+    tmp109 = np.copy(tmp96)
+    tmp109 += np.transpose(tmp108, (0, 1, 3, 2))
+    del tmp108
+    tmp99 = np.copy(tmp96)
+    tmp99 += einsum(tmp84, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    del tmp84
+    tmp99 += np.transpose(tmp98, (0, 1, 3, 2)) * -1
+    del tmp98
+    tmp101 = np.copy(tmp100)
+    tmp101 += einsum(t1, (0, 1), tmp63, (2, 3), (0, 2, 1, 3)) * 2
+    del tmp63
+    tmp102 = einsum(tmp92, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3))
+    tmp106 = einsum(t1, (0, 1), tmp105, (0, 2, 3, 4), (2, 3, 4, 1))
+    del tmp105
+    tmp93 = einsum(tmp14, (0, 1, 2, 3), t1, (1, 4), (0, 2, 3, 4))
+    del tmp14
+    tmp87 = einsum(t1, (0, 1), tmp1, (0, 2, 3, 4), (2, 3, 4, 1))
+    tmp94 = einsum(t2, (0, 1, 2, 3), tmp54, (1, 4, 5, 2), (4, 0, 5, 3))
+    del tmp54
+    tmp89 = einsum(tmp88, (0, 1, 2, 3), t2, (4, 0, 5, 3), (1, 4, 2, 5))
+    del tmp88
+    tmp83 = einsum(t1, (0, 1), tmp82, (2, 0, 3, 4), (2, 3, 4, 1))
+    del tmp82
+    tmp91 = einsum(tmp90, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 4, 2, 5))
+    del tmp90
+    tmp66 = np.copy(np.transpose(tmp64, (1, 0, 3, 2)))
+    del tmp64
+    tmp66 += np.transpose(tmp65, (0, 1, 3, 2))
+    del tmp65
+    tmp66 += einsum(tmp11, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2
+    tmp76 = np.copy(tmp44)
+    tmp76 += np.transpose(tmp75, (0, 1, 3, 2))
+    del tmp75
+    tmp70 = einsum(tmp69, (0, 1, 2, 3), t2, (4, 0, 2, 5), (1, 4, 3, 5))
+    tmp68 = einsum(t2, (0, 1, 2, 3), tmp67, (1, 4, 2, 5), (0, 4, 3, 5))
+    tmp50 = np.copy(tmp44)
+    del tmp44
+    tmp50 += np.transpose(tmp47, (1, 0, 3, 2)) * -1
+    tmp50 += np.transpose(tmp49, (0, 1, 3, 2))
+    del tmp49
+    tmp50 += einsum(tmp24, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * -1
+    tmp78 = np.copy(t1)
+    tmp78 += tmp21 * -1
+    tmp73 = np.copy(np.transpose(tmp47, (1, 0, 3, 2))) * -1
+    del tmp47
+    tmp73 += np.transpose(tmp72, (0, 1, 3, 2))
+    del tmp72
+    tmp73 += einsum(tmp23, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    tmp61 = np.copy(tmp58)
+    tmp61 += tmp59
+    tmp61 += tmp60
+    del tmp60
+    tmp57 = np.copy(tmp51)
+    del tmp51
+    tmp57 += np.transpose(tmp53, (1, 0, 3, 2)) * 2
+    tmp57 += tmp56
+    del tmp56
+    tmp77 = einsum(t1, (0, 1), tmp27, (0, 2, 3, 4), (3, 2, 4, 1))
+    tmp35 = np.copy(tmp28)
+    tmp35 += tmp33
+    tmp39 = einsum(t2, (0, 1, 2, 3), tmp38, (1, 4, 5, 3), (4, 5, 0, 2))
+    del tmp38
+    tmp43 = np.copy(tmp6)
+    tmp43 += tmp5
+    tmp36 = einsum(tmp6, (0, 1), t1, (2, 3), (0, 2, 1, 3))
+    tmp36 += tmp15
+    tmp36 += tmp17 * -1
+    tmp42 = np.copy(t1) * -0.5
+    tmp42 += tmp9
+    del tmp9
+    tmp42 += tmp40 * -1
+    del tmp40
+    tmp42 += tmp41
+    del tmp41
+    tmp37 = np.copy(tmp12)
+    tmp37 += np.transpose(tmp27, (0, 2, 1, 3))
+    tmp37 += einsum(t1, (0, 1), tmp5, (2, 3), (2, 0, 3, 1))
+    tmp34 = np.copy(t1) * -1
+    tmp34 += tmp28
+    del tmp28
+    tmp34 += tmp30 * -1
+    del tmp30
+    tmp34 += tmp33
+    del tmp33
+    tmp18 = np.copy(tmp12)
+    tmp18 += tmp13
+    del tmp13
+    tmp18 += tmp15
+    del tmp15
+    tmp18 += tmp17 * -1
+    tmp20 = np.copy(tmp19)
+    del tmp19
+    tmp20 += einsum(t1, (0, 1), tmp5, (2, 3), (2, 0, 3, 1))
+    tmp7 = np.copy(delta.oo)
+    tmp7 += tmp6 * -1
+    rdm2.vvvv = np.copy(np.transpose(tmp116, (0, 1, 3, 2))) * -2
+    rdm2.vvvv += tmp116 * 2
+    del tmp116
+    rdm2.vvvv += np.transpose(tmp114, (1, 0, 3, 2)) * 2
+    del tmp114
+    rdm2.vvvv += np.transpose(tmp115, (1, 0, 3, 2)) * 2
+    del tmp115
+    rdm2.vvvo = np.copy(np.transpose(tmp113, (1, 2, 3, 0))) * -2
+    rdm2.vvvo += np.transpose(tmp113, (2, 1, 3, 0)) * 4
+    rdm2.vvov = np.copy(np.transpose(tmp113, (1, 2, 0, 3))) * 4
+    rdm2.vvov += np.transpose(tmp113, (2, 1, 0, 3)) * -2
+    del tmp113
+    rdm2.vovv = np.copy(np.transpose(tmp109, (1, 0, 2, 3))) * -2
+    rdm2.vovv += np.transpose(tmp109, (1, 0, 3, 2)) * 2
+    del tmp109
+    rdm2.vovv += np.transpose(tmp110, (1, 0, 2, 3)) * -2
+    rdm2.vovv += np.transpose(tmp110, (1, 0, 3, 2)) * 2
+    del tmp110
+    rdm2.vovv += np.transpose(tmp96, (1, 0, 3, 2)) * 2
+    rdm2.vovv += np.transpose(tmp103, (1, 0, 3, 2)) * -2
+    rdm2.vovv += np.transpose(tmp100, (1, 0, 2, 3)) * -2
+    rdm2.vovv += np.transpose(tmp112, (1, 0, 3, 2)) * -2
+    del tmp112
+    rdm2.vovv += einsum(tmp95, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 4
+    rdm2.ovvv = np.copy(tmp99) * 2
+    rdm2.ovvv += np.transpose(tmp99, (0, 1, 3, 2)) * -2
+    del tmp99
+    rdm2.ovvv += tmp101 * 2
+    rdm2.ovvv += np.transpose(tmp101, (0, 1, 3, 2)) * -2
+    del tmp101
+    rdm2.ovvv += tmp102 * 2
+    rdm2.ovvv += np.transpose(tmp102, (0, 1, 3, 2)) * -2
+    del tmp102
+    rdm2.ovvv += tmp96 * 2
+    del tmp96
+    rdm2.ovvv += np.transpose(tmp100, (0, 1, 3, 2)) * -2
+    del tmp100
+    rdm2.ovvv += tmp103 * -2
+    del tmp103
+    rdm2.ovvv += tmp106 * -2
+    del tmp106
+    rdm2.ovvv += einsum(tmp86, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2
+    rdm2.vvoo = np.copy(np.transpose(l2, (0, 1, 3, 2))) * -2
+    rdm2.vvoo += l2 * 4
+    rdm2.vovo = einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -2
+    rdm2.vovo += np.transpose(tmp89, (2, 1, 3, 0)) * -2
+    rdm2.vovo += np.transpose(tmp94, (2, 1, 3, 0)) * -2
+    del tmp94
+    rdm2.vovo += np.transpose(tmp93, (2, 1, 3, 0)) * -2
+    rdm2.vovo += einsum(delta.oo, (0, 1), tmp95, (2, 3), (2, 0, 3, 1)) * 8
+    del tmp95
+    rdm2.vovo += np.transpose(tmp69, (2, 1, 3, 0)) * -2
+    rdm2.vovo += np.transpose(tmp87, (2, 1, 3, 0)) * -2
+    rdm2.voov = einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 4
+    rdm2.voov += np.transpose(tmp81, (3, 0, 1, 2)) * 2
+    rdm2.voov += np.transpose(tmp80, (3, 0, 1, 2)) * -2
+    rdm2.voov += np.transpose(tmp93, (2, 1, 0, 3)) * 2
+    del tmp93
+    rdm2.voov += einsum(tmp86, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -2
+    rdm2.voov += np.transpose(tmp67, (2, 1, 0, 3)) * -2
+    rdm2.voov += np.transpose(tmp92, (2, 1, 0, 3)) * -2
+    rdm2.voov += np.transpose(tmp89, (2, 1, 0, 3)) * 2
+    rdm2.ovvo = einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 4
+    rdm2.ovvo += np.transpose(tmp89, (1, 2, 3, 0)) * 4
+    del tmp89
+    rdm2.ovvo += np.transpose(tmp91, (1, 2, 3, 0)) * -2
+    del tmp91
+    rdm2.ovvo += np.transpose(tmp83, (1, 2, 3, 0)) * -2
+    rdm2.ovvo += einsum(tmp86, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -2
+    rdm2.ovvo += np.transpose(tmp67, (1, 2, 3, 0)) * -2
+    del tmp67
+    rdm2.ovvo += np.transpose(tmp92, (1, 2, 3, 0)) * -2
+    del tmp92
+    rdm2.ovov = einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -2
+    rdm2.ovov += np.transpose(tmp80, (0, 3, 1, 2)) * 2
+    del tmp80
+    rdm2.ovov += np.transpose(tmp81, (0, 3, 1, 2)) * -2
+    del tmp81
+    rdm2.ovov += np.transpose(tmp83, (1, 2, 0, 3)) * 2
+    del tmp83
+    rdm2.ovov += einsum(tmp86, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * 4
+    del tmp86
+    rdm2.ovov += np.transpose(tmp69, (1, 2, 0, 3)) * -2
+    del tmp69
+    rdm2.ovov += np.transpose(tmp87, (1, 2, 0, 3)) * -2
+    del tmp87
+    rdm2.oovv = np.copy(tmp50) * 2
+    rdm2.oovv += np.transpose(tmp50, (0, 1, 3, 2)) * -2
+    rdm2.oovv += np.transpose(tmp50, (1, 0, 2, 3)) * -2
+    rdm2.oovv += np.transpose(tmp50, (1, 0, 3, 2)) * 2
+    del tmp50
+    rdm2.oovv += tmp57 * 2
+    rdm2.oovv += np.transpose(tmp57, (0, 1, 3, 2)) * -2
+    del tmp57
+    rdm2.oovv += tmp61 * 2
+    rdm2.oovv += np.transpose(tmp61, (0, 1, 3, 2)) * -2
+    del tmp61
+    rdm2.oovv += tmp66 * -4
+    rdm2.oovv += np.transpose(tmp66, (0, 1, 3, 2)) * 2
+    rdm2.oovv += np.transpose(tmp66, (1, 0, 2, 3)) * 2
+    rdm2.oovv += np.transpose(tmp66, (1, 0, 3, 2)) * -4
+    del tmp66
+    rdm2.oovv += np.transpose(t2, (0, 1, 3, 2)) * -2
+    rdm2.oovv += t2 * 4
+    rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -2
+    rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2
+    rdm2.oovv += einsum(tmp21, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * -2
+    del tmp21
+    rdm2.oovv += tmp68 * 2
+    del tmp68
+    rdm2.oovv += np.transpose(tmp70, (0, 1, 3, 2)) * 2
+    del tmp70
+    rdm2.oovv += tmp58 * 2
+    del tmp58
+    rdm2.oovv += tmp59 * 2
+    del tmp59
+    rdm2.oovv += tmp73 * 2
+    rdm2.oovv += np.transpose(tmp73, (1, 0, 3, 2)) * 2
+    del tmp73
+    rdm2.oovv += np.transpose(tmp76, (0, 1, 3, 2)) * -2
+    rdm2.oovv += np.transpose(tmp76, (1, 0, 2, 3)) * -2
+    del tmp76
+    rdm2.oovv += tmp53 * 4
+    del tmp53
+    rdm2.oovv += np.transpose(tmp77, (0, 1, 3, 2)) * 2
+    del tmp77
+    rdm2.oovv += einsum(t1, (0, 1), tmp78, (2, 3), (2, 0, 3, 1)) * 2
+    del tmp78
+    rdm2.vooo = einsum(l1, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * 4
+    rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -2
+    rdm2.vooo += np.transpose(tmp1, (3, 2, 0, 1)) * -4
+    rdm2.vooo += np.transpose(tmp1, (3, 2, 1, 0)) * 2
+    rdm2.ovoo = einsum(l1, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -2
+    rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * 4
+    rdm2.ovoo += np.transpose(tmp1, (2, 3, 0, 1)) * 2
+    rdm2.ovoo += np.transpose(tmp1, (2, 3, 1, 0)) * -4
+    del tmp1
+    rdm2.oovo = einsum(delta.oo, (0, 1), tmp35, (2, 3), (2, 0, 3, 1)) * -2
+    rdm2.oovo += einsum(tmp35, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * 2
+    del tmp35
+    rdm2.oovo += np.transpose(tmp36, (1, 2, 3, 0)) * -2
+    rdm2.oovo += np.transpose(tmp36, (2, 1, 3, 0)) * 2
+    del tmp36
+    rdm2.oovo += np.transpose(tmp37, (1, 2, 3, 0)) * -2
+    rdm2.oovo += np.transpose(tmp37, (2, 1, 3, 0)) * 2
+    del tmp37
+    rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2
+    rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -2
+    rdm2.oovo += einsum(tmp23, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * 2
+    rdm2.oovo += einsum(tmp23, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -2
+    del tmp23
+    rdm2.oovo += np.transpose(tmp26, (1, 2, 3, 0)) * 2
+    rdm2.oovo += np.transpose(tmp25, (2, 1, 3, 0)) * 2
+    rdm2.oovo += np.transpose(tmp12, (1, 2, 3, 0)) * -2
+    rdm2.oovo += np.transpose(tmp39, (2, 1, 3, 0)) * -2
+    del tmp39
+    rdm2.oovo += np.transpose(tmp27, (1, 2, 3, 0)) * 2
+    rdm2.oovo += einsum(delta.oo, (0, 1), tmp42, (2, 3), (2, 0, 3, 1)) * -4
+    del tmp42
+    rdm2.oovo += einsum(tmp43, (0, 1), t1, (2, 3), (2, 1, 3, 0)) * -2
+    del tmp43
+    rdm2.ooov = einsum(tmp11, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * 4
+    rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * -4
+    del tmp11
+    rdm2.ooov += np.transpose(tmp18, (1, 2, 0, 3)) * 2
+    rdm2.ooov += np.transpose(tmp18, (2, 1, 0, 3)) * -2
+    del tmp18
+    rdm2.ooov += np.transpose(tmp20, (1, 2, 0, 3)) * 2
+    rdm2.ooov += np.transpose(tmp20, (2, 1, 0, 3)) * -2
+    del tmp20
+    rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -2
+    rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2
+    rdm2.ooov += einsum(tmp6, (0, 1), t1, (2, 3), (2, 1, 0, 3)) * 2
+    rdm2.ooov += einsum(tmp6, (0, 1), t1, (2, 3), (1, 2, 0, 3)) * -2
+    rdm2.ooov += einsum(delta.oo, (0, 1), tmp24, (2, 3), (2, 0, 1, 3)) * 2
+    rdm2.ooov += einsum(delta.oo, (0, 1), tmp24, (2, 3), (0, 2, 1, 3)) * -2
+    del tmp24
+    rdm2.ooov += np.transpose(tmp25, (1, 2, 0, 3)) * 2
+    del tmp25
+    rdm2.ooov += np.transpose(tmp26, (2, 1, 0, 3)) * 2
+    del tmp26
+    rdm2.ooov += np.transpose(tmp12, (2, 1, 0, 3)) * -2
+    del tmp12
+    rdm2.ooov += np.transpose(tmp17, (1, 2, 0, 3)) * -2
+    del tmp17
+    rdm2.ooov += np.transpose(tmp27, (2, 1, 0, 3)) * 2
+    del tmp27
+    rdm2.ooov += einsum(tmp34, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * -2
+    del tmp34
+    rdm2.ooov += einsum(tmp32, (0, 1), t1, (2, 3), (1, 2, 0, 3)) * -4
+    del tmp32
+    rdm2.oooo = np.copy(np.transpose(tmp3, (3, 2, 0, 1))) * -2
+    rdm2.oooo += np.transpose(tmp3, (2, 3, 0, 1)) * 2
+    del tmp3
+    rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * 2
+    rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -2
+    rdm2.oooo += einsum(tmp5, (0, 1), delta.oo, (2, 3), (1, 2, 0, 3)) * -4
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp5, (2, 3), (0, 3, 2, 1)) * 2
+    rdm2.oooo += einsum(tmp5, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0)) * 2
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp5, (2, 3), (0, 3, 1, 2)) * -4
+    del tmp5
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (3, 0, 2, 1)) * -2
+    rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3)) * 2
+    rdm2.oooo += einsum(tmp6, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0)) * 2
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp6, (2, 3), (0, 3, 1, 2)) * -4
+    del tmp6
+    rdm2.oooo += np.transpose(tmp0, (3, 2, 1, 0)) * 2
+    del tmp0
+    rdm2.oooo += np.transpose(tmp2, (3, 2, 1, 0)) * 2
+    del tmp2
+    rdm2.oooo += einsum(tmp7, (0, 1), delta.oo, (2, 3), (1, 2, 0, 3)) * 2
+    del delta, tmp7
+    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
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCC2.hbar_matvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:52:56.787833.

+

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 +tmp14 : array +tmp17 : array +tmp18 : array +tmp20 : array +tmp21 : array +tmp23 : array +tmp24 : array +tmp30 : array +tmp32 : array +tmp33 : array +tmp35 : array +tmp38 : array +tmp39 : array +tmp40 : array +tmp42 : array +tmp43 : array +tmp45 : array +tmp46 : array +tmp47 : array +tmp5 : array +tmp52 : array +tmp54 : array +tmp55 : array +tmp56 : array +tmp57 : array +tmp58 : array +tmp60 : array +tmp66 : array +tmp67 : array +tmp68 : array +tmp69 : array +tmp7 : array +tmp9 : array

+ +
+ Source code in ebcc/codegen/RDFCC2.py +
1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
def hbar_matvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:52:56.787833.
+
+    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
+    tmp14 : array
+    tmp17 : array
+    tmp18 : array
+    tmp20 : array
+    tmp21 : array
+    tmp23 : array
+    tmp24 : array
+    tmp30 : array
+    tmp32 : array
+    tmp33 : array
+    tmp35 : array
+    tmp38 : array
+    tmp39 : array
+    tmp40 : array
+    tmp42 : array
+    tmp43 : array
+    tmp45 : array
+    tmp46 : array
+    tmp47 : array
+    tmp5 : array
+    tmp52 : array
+    tmp54 : array
+    tmp55 : array
+    tmp56 : array
+    tmp57 : array
+    tmp58 : array
+    tmp60 : array
+    tmp66 : array
+    tmp67 : array
+    tmp68 : array
+    tmp69 : array
+    tmp7 : array
+    tmp9 : array
+    """
+
+    tmp6 = einsum(v.xov, (0, 1, 2), t1, (1, 2), (0,))
+    tmp4 = einsum(v.xov, (0, 1, 2), t1, (3, 2), (3, 1, 0))
+    tmp0 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0))
+    tmp17 = einsum(v.xov, (0, 1, 2), t2, (3, 1, 2, 4), (3, 4, 0))
+    tmp20 = einsum(t2, (0, 1, 2, 3), v.xov, (4, 1, 3), (0, 2, 4))
+    tmp1 = einsum(v.xov, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp32 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp29 = einsum(v.xov, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp11 = einsum(v.xov, (0, 1, 2), tmp6, (0,), (1, 2))
+    tmp9 = einsum(tmp4, (0, 1, 2), v.xov, (2, 0, 3), (1, 3))
+    tmp69 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2))
+    tmp68 = einsum(tmp17, (0, 1, 2), v.xvv, (2, 3, 1), (0, 3))
+    tmp67 = einsum(tmp20, (0, 1, 2), v.xvv, (2, 3, 1), (0, 3))
+    tmp66 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2))
+    tmp60 = einsum(tmp20, (0, 1, 2), v.xov, (2, 0, 3), (1, 3))
+    tmp58 = einsum(tmp17, (0, 1, 2), v.xov, (2, 0, 3), (1, 3))
+    tmp57 = einsum(t2, (0, 1, 2, 3), tmp1, (4, 1, 5, 2), (0, 4, 5, 3))
+    tmp56 = einsum(tmp1, (0, 1, 2, 3), t2, (1, 2, 4, 3), (0, 4))
+    tmp55 = einsum(tmp1, (0, 1, 2, 3), t2, (1, 2, 3, 4), (0, 4))
+    tmp54 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2))
+    tmp52 = einsum(f.oo, (0, 1), t1, (1, 2), (0, 2))
+    tmp47 = einsum(t2, (0, 1, 2, 3), tmp32, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp46 = einsum(tmp32, (0, 1, 2, 3), t2, (4, 0, 3, 5), (4, 1, 5, 2))
+    tmp45 = einsum(v.xoo, (0, 1, 2), tmp17, (3, 4, 0), (3, 1, 2, 4))
+    tmp43 = einsum(tmp20, (0, 1, 2), v.xoo, (2, 3, 4), (0, 3, 4, 1))
+    tmp42 = einsum(t2, (0, 1, 2, 3), tmp1, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp40 = einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp39 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2))
+    tmp38 = einsum(f.ov, (0, 1), t2, (2, 0, 1, 3), (2, 3))
+    tmp35 = einsum(v.xoo, (0, 1, 2), v.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp33 = einsum(t2, (0, 1, 2, 3), tmp32, (4, 5, 3, 2), (0, 1, 5, 4))
+    tmp30 = einsum(tmp29, (0, 1, 2, 3), t2, (4, 5, 3, 2), (4, 5, 0, 1))
+    del tmp29
+    tmp24 = einsum(tmp11, (0, 1), t1, (2, 1), (2, 0))
+    tmp23 = einsum(tmp9, (0, 1), t1, (2, 1), (2, 0))
+    tmp21 = einsum(tmp20, (0, 1, 2), v.xov, (2, 3, 1), (0, 3))
+    tmp18 = einsum(tmp17, (0, 1, 2), v.xov, (2, 3, 1), (0, 3))
+    tmp14 = einsum(tmp4, (0, 1, 2), v.xov, (2, 3, 4), (0, 3, 1, 4))
+    tmp7 = einsum(tmp6, (0,), v.xoo, (0, 1, 2), (1, 2))
+    del tmp6
+    tmp5 = einsum(tmp4, (0, 1, 2), v.xoo, (2, 3, 0), (3, 1))
+    del tmp4
+
+    return {f"tmp0": tmp0, f"tmp1": tmp1, f"tmp11": tmp11, f"tmp14": tmp14, f"tmp17": tmp17, f"tmp18": tmp18, f"tmp20": tmp20, f"tmp21": tmp21, f"tmp23": tmp23, f"tmp24": tmp24, f"tmp30": tmp30, f"tmp32": tmp32, f"tmp33": tmp33, f"tmp35": tmp35, f"tmp38": tmp38, f"tmp39": tmp39, f"tmp40": tmp40, f"tmp42": tmp42, f"tmp43": tmp43, f"tmp45": tmp45, f"tmp46": tmp46, f"tmp47": tmp47, f"tmp5": tmp5, f"tmp52": tmp52, f"tmp54": tmp54, f"tmp55": tmp55, f"tmp56": tmp56, f"tmp57": tmp57, f"tmp58": tmp58, f"tmp60": tmp60, f"tmp66": tmp66, f"tmp67": tmp67, f"tmp68": tmp68, f"tmp69": tmp69, f"tmp7": tmp7, f"tmp9": tmp9}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCC2.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-17T20:52:56.809237.

+

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.

+ +
+ Source code in ebcc/codegen/RDFCC2.py +
1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
+1331
+1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
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-17T20:52:56.809237.
+
+    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"]
+    tmp3 = np.copy(r2) * 2
+    tmp3 += np.transpose(r2, (1, 0, 2)) * -1
+    tmp5 = np.copy(ints.tmp35) * 0.5
+    tmp5 += ints.tmp47
+    tmp5 += ints.tmp46 * -0.5
+    tmp10 = np.copy(np.transpose(ints.tmp60, (1, 0))) * 2
+    del ints.tmp60
+    tmp10 += f.vv * -1
+    tmp10 += np.transpose(ints.tmp58, (1, 0)) * -1
+    del ints.tmp58
+    tmp10 += einsum(t1, (0, 1), f.ov, (0, 2), (2, 1))
+    tmp8 = einsum(tmp3, (0, 1, 2), v.xov, (3, 0, 2), (1, 3)) * 0.5
+    tmp12 = np.copy(ints.tmp1)
+    tmp12 += np.transpose(ints.tmp30, (0, 2, 1, 3))
+    del ints.tmp30
+    tmp12 += np.transpose(ints.tmp43, (2, 1, 0, 3)) * 2
+    del ints.tmp43
+    tmp12 += np.transpose(ints.tmp54, (2, 0, 1, 3))
+    del ints.tmp54
+    tmp12 += np.transpose(ints.tmp42, (1, 2, 0, 3)) * -1
+    del ints.tmp42
+    tmp12 += np.transpose(ints.tmp45, (2, 1, 0, 3)) * -1
+    del ints.tmp45
+    tmp12 += np.transpose(ints.tmp57, (0, 2, 1, 3)) * -1
+    del ints.tmp57
+    tmp13 = np.copy(f.oo)
+    tmp13 += ints.tmp0
+    tmp13 += np.transpose(ints.tmp21, (1, 0)) * 2
+    tmp13 += np.transpose(ints.tmp18, (1, 0)) * -1
+    tmp6 = np.copy(ints.tmp35)
+    del ints.tmp35
+    tmp6 += ints.tmp46 * -1
+    del ints.tmp46
+    tmp14 = np.copy(f.ov)
+    tmp14 += ints.tmp39 * 2
+    del ints.tmp39
+    tmp14 += ints.tmp55
+    del ints.tmp55
+    tmp14 += ints.tmp66
+    del ints.tmp66
+    tmp14 += ints.tmp67 * 2
+    del ints.tmp67
+    tmp14 += ints.tmp38 * -1
+    del ints.tmp38
+    tmp14 += ints.tmp52 * -1
+    del ints.tmp52
+    tmp14 += ints.tmp56 * -2
+    del ints.tmp56
+    tmp14 += ints.tmp68 * -1
+    del ints.tmp68
+    tmp14 += ints.tmp69 * -1
+    del ints.tmp69
+    tmp9 = np.copy(ints.tmp20) * 2
+    del ints.tmp20
+    tmp9 += np.transpose(v.xov, (1, 2, 0))
+    tmp9 += ints.tmp17 * -1
+    del ints.tmp17
+    tmp7 = np.copy(ints.tmp33)
+    del ints.tmp33
+    tmp7 += np.transpose(ints.tmp40, (2, 0, 1, 3))
+    del ints.tmp40
+    tmp11 = einsum(ints.tmp32, (0, 1, 2, 3), tmp3, (0, 1, 2), (3,)) * 0.5
+    del ints.tmp32
+    tmp2 = np.copy(f.ov) * 0.5
+    tmp2 += ints.tmp11
+    del ints.tmp11
+    tmp2 += ints.tmp9 * -0.5
+    del ints.tmp9
+    tmp4 = np.copy(f.oo)
+    tmp4 += ints.tmp0
+    del ints.tmp0
+    tmp4 += np.transpose(ints.tmp21, (1, 0)) * 2
+    del ints.tmp21
+    tmp4 += np.transpose(ints.tmp24, (1, 0)) * 2
+    del ints.tmp24
+    tmp4 += np.transpose(ints.tmp7, (1, 0)) * 2
+    del ints.tmp7
+    tmp4 += np.transpose(ints.tmp18, (1, 0)) * -1
+    del ints.tmp18
+    tmp4 += np.transpose(ints.tmp23, (1, 0)) * -1
+    del ints.tmp23
+    tmp4 += np.transpose(ints.tmp5, (1, 0)) * -1
+    del ints.tmp5
+    tmp0 = np.copy(r2) * -1
+    tmp0 += np.transpose(r2, (1, 0, 2)) * 2
+    tmp1 = np.copy(r2)
+    tmp1 += np.transpose(r2, (1, 0, 2)) * -0.5
+    r2new = einsum(r2, (0, 1, 2), ints.tmp47, (3, 1, 4, 2), (3, 0, 4))
+    del ints.tmp47
+    r2new += einsum(tmp5, (0, 1, 2, 3), r2, (1, 4, 3), (0, 4, 2)) * -2
+    del tmp5
+    r2new += einsum(r2, (0, 1, 2), tmp6, (3, 1, 4, 2), (0, 3, 4)) * -1
+    del tmp6
+    r2new += einsum(r2, (0, 1, 2), tmp7, (3, 4, 0, 1), (3, 4, 2))
+    del tmp7
+    r2new += einsum(tmp9, (0, 1, 2), tmp8, (3, 2), (0, 3, 1)) * 2
+    del tmp9, tmp8
+    r2new += einsum(r2, (0, 1, 2), tmp10, (2, 3), (0, 1, 3)) * -1
+    del tmp10
+    r2new += einsum(t2, (0, 1, 2, 3), tmp11, (3,), (0, 1, 2)) * -2
+    del tmp11
+    r2new += einsum(tmp12, (0, 1, 2, 3), r1, (1,), (2, 0, 3))
+    del tmp12
+    r2new += einsum(tmp13, (0, 1), r2, (0, 2, 3), (1, 2, 3)) * -1
+    r2new += einsum(r2, (0, 1, 2), tmp13, (1, 3), (0, 3, 2)) * -1
+    del tmp13
+    r2new += einsum(tmp14, (0, 1), r1, (2,), (0, 2, 1)) * -1
+    del tmp14
+    r1new = einsum(tmp0, (0, 1, 2), ints.tmp14, (3, 1, 0, 2), (3,))
+    del tmp0, ints.tmp14
+    r1new += einsum(tmp1, (0, 1, 2), ints.tmp1, (3, 1, 0, 2), (3,)) * 2
+    del ints.tmp1, tmp1
+    r1new += einsum(tmp3, (0, 1, 2), tmp2, (0, 2), (1,)) * -2
+    del tmp3, tmp2
+    r1new += einsum(tmp4, (0, 1), r1, (0,), (1,)) * -1
+    del tmp4
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCC2.hbar_matvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:53:08.828936.

+

Parameters

+

f : array + Fock matrix. +t1 : array + T1 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp1 : array +tmp10 : array +tmp12 : array +tmp15 : array +tmp20 : array +tmp21 : array +tmp23 : array +tmp24 : array +tmp33 : array +tmp36 : array +tmp37 : array +tmp39 : array +tmp45 : array +tmp46 : array +tmp47 : array +tmp49 : array +tmp5 : array +tmp50 : array +tmp51 : array +tmp53 : array +tmp55 : array +tmp56 : array +tmp57 : array +tmp58 : array +tmp60 : array +tmp61 : array +tmp62 : array +tmp64 : array +tmp65 : array +tmp68 : array +tmp8 : array

+ +
+ Source code in ebcc/codegen/RDFCC2.py +
1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
+1373
+1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
+1445
+1446
+1447
+1448
+1449
+1450
def hbar_matvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:53:08.828936.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t1 : array
+        T1 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp1 : array
+    tmp10 : array
+    tmp12 : array
+    tmp15 : array
+    tmp20 : array
+    tmp21 : array
+    tmp23 : array
+    tmp24 : array
+    tmp33 : array
+    tmp36 : array
+    tmp37 : array
+    tmp39 : array
+    tmp45 : array
+    tmp46 : array
+    tmp47 : array
+    tmp49 : array
+    tmp5 : array
+    tmp50 : array
+    tmp51 : array
+    tmp53 : array
+    tmp55 : array
+    tmp56 : array
+    tmp57 : array
+    tmp58 : array
+    tmp60 : array
+    tmp61 : array
+    tmp62 : array
+    tmp64 : array
+    tmp65 : array
+    tmp68 : array
+    tmp8 : array
+    """
+
+    tmp15 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp20 = einsum(t2, (0, 1, 2, 3), v.xov, (4, 1, 2), (0, 3, 4))
+    tmp1 = einsum(v.xov, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp23 = einsum(t2, (0, 1, 2, 3), v.xov, (4, 1, 3), (0, 2, 4))
+    tmp38 = einsum(v.xov, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp46 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0))
+    tmp4 = einsum(v.xov, (0, 1, 2), t1, (1, 2), (0,))
+    tmp9 = einsum(v.xov, (0, 1, 2), t1, (3, 2), (3, 1, 0))
+    tmp7 = einsum(t1, (0, 1), v.xvv, (2, 3, 1), (0, 3, 2))
+    tmp68 = einsum(t2, (0, 1, 2, 3), tmp15, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp65 = einsum(tmp20, (0, 1, 2), v.xvv, (2, 3, 4), (0, 1, 3, 4))
+    tmp64 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 0, 5, 2), (4, 5, 3, 1))
+    tmp62 = einsum(tmp23, (0, 1, 2), v.xvv, (2, 3, 4), (0, 1, 3, 4))
+    tmp61 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2))
+    tmp60 = einsum(f.ov, (0, 1), t2, (2, 0, 1, 3), (2, 3))
+    tmp58 = einsum(tmp38, (0, 1, 2, 3), t2, (1, 2, 4, 3), (0, 4))
+    tmp57 = einsum(tmp38, (0, 1, 2, 3), t2, (1, 2, 3, 4), (0, 4))
+    tmp56 = einsum(f.oo, (0, 1), t1, (1, 2), (0, 2))
+    tmp55 = einsum(tmp46, (0, 1), t1, (0, 2), (1, 2))
+    tmp53 = einsum(tmp23, (0, 1, 2), v.xov, (2, 3, 1), (0, 3))
+    tmp51 = einsum(tmp20, (0, 1, 2), v.xov, (2, 3, 1), (0, 3))
+    tmp50 = einsum(tmp20, (0, 1, 2), v.xvv, (2, 3, 1), (0, 3))
+    tmp49 = einsum(v.xvv, (0, 1, 2), tmp23, (3, 2, 0), (3, 1))
+    tmp47 = einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp45 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2))
+    tmp39 = einsum(tmp38, (0, 1, 2, 3), t2, (1, 2, 4, 5), (0, 4, 5, 3))
+    del tmp38
+    tmp37 = einsum(v.xoo, (0, 1, 2), v.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp36 = einsum(tmp15, (0, 1, 2, 3), t2, (4, 0, 3, 5), (4, 1, 5, 2))
+    tmp33 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 5, 3, 1))
+    tmp24 = einsum(tmp23, (0, 1, 2), v.xov, (2, 0, 3), (1, 3))
+    tmp21 = einsum(tmp20, (0, 1, 2), v.xov, (2, 0, 3), (1, 3))
+    tmp12 = einsum(tmp4, (0,), v.xov, (0, 1, 2), (1, 2))
+    tmp10 = einsum(tmp9, (0, 1, 2), v.xov, (2, 0, 3), (1, 3))
+    del tmp9
+    tmp8 = einsum(tmp7, (0, 1, 2), v.xov, (2, 0, 3), (3, 1))
+    del tmp7
+    tmp5 = einsum(tmp4, (0,), v.xvv, (0, 1, 2), (1, 2))
+    del tmp4
+
+    return {f"tmp1": tmp1, f"tmp10": tmp10, f"tmp12": tmp12, f"tmp15": tmp15, f"tmp20": tmp20, f"tmp21": tmp21, f"tmp23": tmp23, f"tmp24": tmp24, f"tmp33": tmp33, f"tmp36": tmp36, f"tmp37": tmp37, f"tmp39": tmp39, f"tmp45": tmp45, f"tmp46": tmp46, f"tmp47": tmp47, f"tmp49": tmp49, f"tmp5": tmp5, f"tmp50": tmp50, f"tmp51": tmp51, f"tmp53": tmp53, f"tmp55": tmp55, f"tmp56": tmp56, f"tmp57": tmp57, f"tmp58": tmp58, f"tmp60": tmp60, f"tmp61": tmp61, f"tmp62": tmp62, f"tmp64": tmp64, f"tmp65": tmp65, f"tmp68": tmp68, f"tmp8": tmp8}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCC2.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-17T20:53:08.849462.

+

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.

+ +
+ Source code in ebcc/codegen/RDFCC2.py +
1452
+1453
+1454
+1455
+1456
+1457
+1458
+1459
+1460
+1461
+1462
+1463
+1464
+1465
+1466
+1467
+1468
+1469
+1470
+1471
+1472
+1473
+1474
+1475
+1476
+1477
+1478
+1479
+1480
+1481
+1482
+1483
+1484
+1485
+1486
+1487
+1488
+1489
+1490
+1491
+1492
+1493
+1494
+1495
+1496
+1497
+1498
+1499
+1500
+1501
+1502
+1503
+1504
+1505
+1506
+1507
+1508
+1509
+1510
+1511
+1512
+1513
+1514
+1515
+1516
+1517
+1518
+1519
+1520
+1521
+1522
+1523
+1524
+1525
+1526
+1527
+1528
+1529
+1530
+1531
+1532
+1533
+1534
+1535
+1536
+1537
+1538
+1539
+1540
+1541
+1542
+1543
+1544
+1545
+1546
+1547
+1548
+1549
+1550
+1551
+1552
+1553
+1554
+1555
+1556
+1557
+1558
+1559
+1560
+1561
+1562
+1563
+1564
+1565
+1566
+1567
+1568
+1569
+1570
+1571
+1572
+1573
+1574
+1575
+1576
+1577
+1578
+1579
+1580
+1581
+1582
+1583
+1584
+1585
+1586
+1587
+1588
+1589
+1590
+1591
+1592
+1593
+1594
+1595
+1596
+1597
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-17T20:53:08.849462.
+
+    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"]
+    tmp4 = np.copy(np.transpose(r2, (2, 0, 1))) * -0.5
+    tmp4 += np.transpose(r2, (2, 1, 0))
+    tmp2 = np.copy(np.transpose(r2, (2, 0, 1))) * 2
+    tmp2 += np.transpose(r2, (2, 1, 0)) * -1
+    tmp13 = einsum(t1, (0, 1), f.ov, (0, 2), (2, 1))
+    tmp5 = einsum(tmp4, (0, 1, 2), ints.tmp15, (0, 3, 2, 1), (3,)) * 2
+    del tmp4
+    tmp1 = np.copy(f.ov)
+    tmp1 += ints.tmp12 * 2
+    del ints.tmp12
+    tmp1 += ints.tmp10 * -1
+    del ints.tmp10
+    tmp10 = einsum(tmp2, (0, 1, 2), v.xov, (3, 0, 1), (2, 3)) * 0.5
+    tmp8 = np.copy(ints.tmp37) * 0.5
+    tmp8 += ints.tmp68
+    tmp8 += ints.tmp36 * -0.5
+    tmp12 = np.copy(ints.tmp1)
+    tmp12 += np.transpose(ints.tmp39, (0, 2, 3, 1))
+    del ints.tmp39
+    tmp12 += np.transpose(ints.tmp62, (0, 3, 2, 1)) * 2
+    del ints.tmp62
+    tmp12 += ints.tmp33 * -1
+    del ints.tmp33
+    tmp12 += np.transpose(ints.tmp64, (0, 3, 2, 1)) * -1
+    del ints.tmp64
+    tmp12 += np.transpose(ints.tmp65, (0, 3, 2, 1)) * -1
+    del ints.tmp65
+    tmp14 = np.copy(np.transpose(ints.tmp24, (1, 0))) * 2
+    tmp14 += f.vv * -1
+    tmp14 += np.transpose(ints.tmp21, (1, 0)) * -1
+    tmp14 += tmp13
+    del tmp13
+    tmp9 = np.copy(ints.tmp36)
+    del ints.tmp36
+    tmp9 += ints.tmp37 * -1
+    del ints.tmp37
+    tmp15 = np.copy(f.oo)
+    tmp15 += ints.tmp46
+    del ints.tmp46
+    tmp15 += np.transpose(ints.tmp53, (1, 0)) * 2
+    del ints.tmp53
+    tmp15 += np.transpose(ints.tmp51, (1, 0)) * -1
+    del ints.tmp51
+    tmp7 = einsum(ints.tmp15, (0, 1, 2, 3), r2, (3, 2, 4), (0, 1, 4))
+    del ints.tmp15
+    tmp17 = np.copy(f.ov)
+    tmp17 += ints.tmp45
+    del ints.tmp45
+    tmp17 += ints.tmp49 * 2
+    del ints.tmp49
+    tmp17 += ints.tmp57
+    del ints.tmp57
+    tmp17 += ints.tmp61 * 2
+    del ints.tmp61
+    tmp17 += ints.tmp50 * -1
+    del ints.tmp50
+    tmp17 += ints.tmp55 * -1
+    del ints.tmp55
+    tmp17 += ints.tmp56 * -1
+    del ints.tmp56
+    tmp17 += ints.tmp58 * -2
+    del ints.tmp58
+    tmp17 += ints.tmp60 * -1
+    del ints.tmp60
+    tmp11 = np.copy(ints.tmp23) * 2
+    del ints.tmp23
+    tmp11 += np.transpose(v.xov, (1, 2, 0))
+    tmp11 += ints.tmp20 * -1
+    del ints.tmp20
+    tmp16 = einsum(r1, (0,), f.ov, (1, 0), (1,))
+    tmp16 += tmp5 * -1
+    tmp6 = np.copy(tmp5) * -1
+    del tmp5
+    tmp6 += einsum(r1, (0,), tmp1, (1, 0), (1,))
+    tmp3 = np.copy(f.vv)
+    tmp3 += np.transpose(ints.tmp21, (1, 0))
+    del ints.tmp21
+    tmp3 += np.transpose(ints.tmp5, (1, 0)) * 2
+    del ints.tmp5
+    tmp3 += np.transpose(ints.tmp24, (1, 0)) * -2
+    del ints.tmp24
+    tmp3 += ints.tmp8 * -1
+    del ints.tmp8
+    tmp0 = np.copy(np.transpose(r2, (2, 0, 1)))
+    tmp0 += np.transpose(r2, (2, 1, 0)) * -0.5
+    r2new = einsum(ints.tmp47, (0, 1, 2, 3), r2, (1, 3, 4), (2, 0, 4))
+    del ints.tmp47
+    r2new += einsum(ints.tmp68, (0, 1, 2, 3), r2, (4, 3, 1), (2, 4, 0))
+    del ints.tmp68
+    r2new += einsum(t2, (0, 1, 2, 3), tmp7, (0, 1, 4), (3, 2, 4))
+    del tmp7
+    r2new += einsum(r2, (0, 1, 2), tmp8, (3, 2, 4, 0), (4, 1, 3)) * -2
+    del tmp8
+    r2new += einsum(r2, (0, 1, 2), tmp9, (3, 2, 4, 1), (0, 4, 3))
+    del tmp9
+    r2new += einsum(tmp10, (0, 1), tmp11, (2, 3, 1), (3, 0, 2)) * 2
+    del tmp10, tmp11
+    r2new += einsum(r1, (0,), tmp12, (1, 2, 0, 3), (3, 2, 1)) * -1
+    del tmp12
+    r2new += einsum(tmp14, (0, 1), r2, (0, 2, 3), (1, 2, 3)) * -1
+    r2new += einsum(tmp14, (0, 1), r2, (2, 0, 3), (2, 1, 3)) * -1
+    del tmp14
+    r2new += einsum(tmp15, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp15
+    r2new += einsum(t2, (0, 1, 2, 3), tmp16, (1,), (2, 3, 0))
+    del tmp16
+    r2new += einsum(tmp17, (0, 1), r1, (2,), (1, 2, 0)) * -1
+    del tmp17
+    r1new = einsum(ints.tmp1, (0, 1, 2, 3), tmp0, (0, 3, 2), (1,)) * -2
+    del ints.tmp1, tmp0
+    r1new += einsum(tmp2, (0, 1, 2), tmp1, (0, 1), (2,)) * -1
+    del tmp2, tmp1
+    r1new += einsum(r1, (0,), tmp3, (0, 1), (1,))
+    del tmp3
+    r1new += einsum(t1, (0, 1), tmp6, (0,), (1,)) * -1
+    del tmp6
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCC2.hbar_lmatvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:53:55.872998.

+

Parameters

+

f : array + Fock matrix. +t1 : array + T1 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp1 : array +tmp10 : array +tmp101 : array +tmp102 : array +tmp103 : array +tmp106 : array +tmp107 : array +tmp109 : array +tmp111 : array +tmp115 : array +tmp117 : array +tmp120 : array +tmp123 : array +tmp125 : array +tmp128 : array +tmp130 : array +tmp134 : array +tmp139 : array +tmp14 : array +tmp141 : array +tmp142 : array +tmp16 : array +tmp161 : array +tmp163 : array +tmp18 : array +tmp19 : array +tmp2 : array +tmp22 : array +tmp26 : array +tmp28 : array +tmp3 : array +tmp30 : array +tmp32 : array +tmp33 : array +tmp35 : array +tmp36 : array +tmp38 : array +tmp4 : array +tmp41 : array +tmp44 : array +tmp46 : array +tmp48 : array +tmp50 : array +tmp52 : array +tmp55 : array +tmp59 : array +tmp6 : array +tmp63 : array +tmp65 : array +tmp68 : array +tmp71 : array +tmp74 : array +tmp77 : array +tmp80 : array +tmp83 : array +tmp86 : array +tmp88 : array +tmp9 : array +tmp91 : array +tmp93 : array +tmp95 : array +tmp98 : array

+ +
+ Source code in ebcc/codegen/RDFCC2.py +
1599
+1600
+1601
+1602
+1603
+1604
+1605
+1606
+1607
+1608
+1609
+1610
+1611
+1612
+1613
+1614
+1615
+1616
+1617
+1618
+1619
+1620
+1621
+1622
+1623
+1624
+1625
+1626
+1627
+1628
+1629
+1630
+1631
+1632
+1633
+1634
+1635
+1636
+1637
+1638
+1639
+1640
+1641
+1642
+1643
+1644
+1645
+1646
+1647
+1648
+1649
+1650
+1651
+1652
+1653
+1654
+1655
+1656
+1657
+1658
+1659
+1660
+1661
+1662
+1663
+1664
+1665
+1666
+1667
+1668
+1669
+1670
+1671
+1672
+1673
+1674
+1675
+1676
+1677
+1678
+1679
+1680
+1681
+1682
+1683
+1684
+1685
+1686
+1687
+1688
+1689
+1690
+1691
+1692
+1693
+1694
+1695
+1696
+1697
+1698
+1699
+1700
+1701
+1702
+1703
+1704
+1705
+1706
+1707
+1708
+1709
+1710
+1711
+1712
+1713
+1714
+1715
+1716
+1717
+1718
+1719
+1720
+1721
+1722
+1723
+1724
+1725
+1726
+1727
+1728
+1729
+1730
+1731
+1732
+1733
+1734
+1735
+1736
+1737
+1738
+1739
+1740
+1741
+1742
+1743
+1744
+1745
+1746
+1747
+1748
+1749
+1750
+1751
+1752
+1753
+1754
+1755
+1756
+1757
+1758
+1759
+1760
+1761
def hbar_lmatvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:53:55.872998.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t1 : array
+        T1 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp1 : array
+    tmp10 : array
+    tmp101 : array
+    tmp102 : array
+    tmp103 : array
+    tmp106 : array
+    tmp107 : array
+    tmp109 : array
+    tmp111 : array
+    tmp115 : array
+    tmp117 : array
+    tmp120 : array
+    tmp123 : array
+    tmp125 : array
+    tmp128 : array
+    tmp130 : array
+    tmp134 : array
+    tmp139 : array
+    tmp14 : array
+    tmp141 : array
+    tmp142 : array
+    tmp16 : array
+    tmp161 : array
+    tmp163 : array
+    tmp18 : array
+    tmp19 : array
+    tmp2 : array
+    tmp22 : array
+    tmp26 : array
+    tmp28 : array
+    tmp3 : array
+    tmp30 : array
+    tmp32 : array
+    tmp33 : array
+    tmp35 : array
+    tmp36 : array
+    tmp38 : array
+    tmp4 : array
+    tmp41 : array
+    tmp44 : array
+    tmp46 : array
+    tmp48 : array
+    tmp50 : array
+    tmp52 : array
+    tmp55 : array
+    tmp59 : array
+    tmp6 : array
+    tmp63 : array
+    tmp65 : array
+    tmp68 : array
+    tmp71 : array
+    tmp74 : array
+    tmp77 : array
+    tmp80 : array
+    tmp83 : array
+    tmp86 : array
+    tmp88 : array
+    tmp9 : array
+    tmp91 : array
+    tmp93 : array
+    tmp95 : array
+    tmp98 : array
+    """
+
+    tmp15 = einsum(v.xov, (0, 1, 2), t1, (1, 2), (0,))
+    tmp13 = einsum(v.xov, (0, 1, 2), t1, (3, 2), (3, 1, 0))
+    tmp22 = einsum(tmp15, (0,), v.xov, (0, 1, 2), (1, 2))
+    tmp62 = einsum(tmp13, (0, 1, 2), v.xov, (2, 0, 3), (1, 3))
+    tmp101 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp32 = einsum(t2, (0, 1, 2, 3), v.xov, (4, 1, 2), (0, 3, 4))
+    tmp35 = einsum(t2, (0, 1, 2, 3), v.xov, (4, 1, 3), (0, 2, 4))
+    tmp133 = einsum(tmp13, (0, 1, 2), tmp13, (3, 4, 2), (0, 3, 1, 4))
+    tmp107 = einsum(tmp22, (0, 1), t1, (2, 1), (2, 0))
+    tmp106 = einsum(tmp62, (0, 1), t1, (2, 1), (2, 0))
+    tmp25 = einsum(t1, (0, 1), v.xvv, (2, 3, 1), (0, 3, 2))
+    tmp119 = einsum(tmp15, (0,), v.xvv, (0, 1, 2), (1, 2))
+    tmp114 = einsum(tmp13, (0, 1, 2), v.xoo, (2, 3, 4), (0, 3, 4, 1))
+    tmp16 = einsum(tmp15, (0,), v.xoo, (0, 1, 2), (1, 2))
+    del tmp15
+    tmp14 = einsum(tmp13, (0, 1, 2), v.xoo, (2, 3, 0), (3, 1))
+    tmp102 = einsum(tmp101, (0, 1, 2, 3), t2, (4, 5, 3, 2), (4, 5, 1, 0))
+    tmp33 = einsum(tmp32, (0, 1, 2), v.xov, (2, 3, 1), (0, 3))
+    tmp36 = einsum(v.xov, (0, 1, 2), tmp35, (3, 2, 0), (3, 1))
+    tmp28 = einsum(tmp13, (0, 1, 2), v.xov, (2, 3, 4), (0, 3, 1, 4))
+    tmp58 = einsum(v.xov, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp10 = einsum(v.xov, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp18 = einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp0 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0))
+    tmp163 = einsum(v.xov, (0, 1, 2), tmp35, (1, 3, 0), (3, 2))
+    tmp161 = einsum(v.xov, (0, 1, 2), tmp32, (1, 3, 0), (3, 2))
+    tmp142 = einsum(tmp101, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 1, 5, 2))
+    tmp141 = einsum(tmp101, (0, 1, 2, 3), t2, (4, 0, 3, 5), (4, 1, 5, 2))
+    tmp139 = einsum(v.xoo, (0, 1, 2), v.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp134 = einsum(t1, (0, 1), tmp133, (2, 3, 4, 0), (2, 3, 4, 1))
+    del tmp133
+    tmp130 = einsum(tmp107, (0, 1), t1, (1, 2), (0, 2))
+    tmp128 = einsum(tmp106, (0, 1), t1, (1, 2), (0, 2))
+    tmp125 = einsum(tmp13, (0, 1, 2), tmp25, (3, 4, 2), (0, 3, 1, 4))
+    tmp123 = einsum(tmp25, (0, 1, 2), tmp13, (3, 0, 2), (3, 1))
+    tmp120 = einsum(t1, (0, 1), tmp119, (2, 1), (0, 2))
+    del tmp119
+    tmp117 = einsum(t1, (0, 1), tmp114, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp115 = einsum(t1, (0, 1), tmp114, (2, 3, 0, 4), (2, 3, 4, 1))
+    del tmp114
+    tmp111 = einsum(tmp16, (0, 1), t1, (1, 2), (0, 2))
+    tmp109 = einsum(tmp14, (0, 1), t1, (1, 2), (0, 2))
+    tmp103 = einsum(tmp102, (0, 1, 2, 3), t1, (2, 4), (1, 0, 3, 4))
+    tmp98 = einsum(tmp33, (0, 1), t1, (1, 2), (0, 2))
+    tmp95 = einsum(t1, (0, 1), tmp36, (2, 0), (2, 1))
+    tmp93 = einsum(t2, (0, 1, 2, 3), tmp28, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp91 = einsum(t2, (0, 1, 2, 3), tmp28, (4, 5, 1, 2), (4, 0, 5, 3))
+    tmp88 = einsum(tmp13, (0, 1, 2), tmp35, (3, 4, 2), (0, 3, 1, 4))
+    tmp86 = einsum(tmp13, (0, 1, 2), tmp32, (3, 4, 2), (0, 3, 1, 4))
+    del tmp13
+    tmp83 = einsum(tmp28, (0, 1, 2, 3), t2, (2, 1, 3, 4), (0, 4))
+    tmp80 = einsum(tmp28, (0, 1, 2, 3), t2, (2, 1, 4, 3), (0, 4))
+    tmp77 = einsum(t2, (0, 1, 2, 3), tmp22, (4, 3), (0, 1, 4, 2))
+    tmp74 = einsum(t2, (0, 1, 2, 3), tmp62, (4, 3), (0, 1, 4, 2))
+    tmp71 = einsum(tmp22, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp68 = einsum(tmp22, (0, 1), t2, (2, 0, 1, 3), (2, 3))
+    tmp65 = einsum(t2, (0, 1, 2, 3), tmp62, (1, 3), (0, 2))
+    tmp63 = einsum(tmp62, (0, 1), t2, (2, 0, 1, 3), (2, 3))
+    del tmp62
+    tmp59 = einsum(t2, (0, 1, 2, 3), tmp58, (4, 3, 5, 2), (0, 1, 4, 5))
+    del tmp58
+    tmp55 = einsum(tmp32, (0, 1, 2), v.xvv, (2, 3, 1), (0, 3))
+    tmp52 = einsum(tmp35, (0, 1, 2), v.xvv, (2, 3, 1), (0, 3))
+    tmp50 = einsum(v.xoo, (0, 1, 2), tmp35, (3, 4, 0), (3, 1, 2, 4))
+    tmp48 = einsum(v.xoo, (0, 1, 2), tmp32, (3, 4, 0), (3, 1, 2, 4))
+    tmp46 = einsum(t2, (0, 1, 2, 3), tmp10, (1, 4, 5, 3), (0, 4, 5, 2))
+    tmp44 = einsum(t2, (0, 1, 2, 3), tmp10, (1, 4, 5, 2), (0, 4, 5, 3))
+    tmp41 = einsum(tmp10, (0, 1, 2, 3), t2, (0, 2, 4, 3), (1, 4))
+    tmp38 = einsum(tmp10, (0, 1, 2, 3), t2, (0, 2, 3, 4), (1, 4))
+    tmp30 = einsum(v.xoo, (0, 1, 2), tmp25, (3, 4, 0), (3, 1, 2, 4))
+    tmp26 = einsum(tmp25, (0, 1, 2), v.xoo, (2, 3, 0), (3, 1))
+    del tmp25
+    tmp19 = einsum(tmp18, (0, 1, 2, 3), t1, (1, 4), (3, 0, 2, 4))
+    tmp9 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2))
+    tmp6 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp4 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2))
+    tmp3 = einsum(f.ov, (0, 1), t2, (2, 0, 1, 3), (2, 3))
+    tmp2 = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    tmp1 = einsum(f.oo, (0, 1), t1, (1, 2), (0, 2))
+
+    return {f"tmp0": tmp0, f"tmp1": tmp1, f"tmp10": tmp10, f"tmp101": tmp101, f"tmp102": tmp102, f"tmp103": tmp103, f"tmp106": tmp106, f"tmp107": tmp107, f"tmp109": tmp109, f"tmp111": tmp111, f"tmp115": tmp115, f"tmp117": tmp117, f"tmp120": tmp120, f"tmp123": tmp123, f"tmp125": tmp125, f"tmp128": tmp128, f"tmp130": tmp130, f"tmp134": tmp134, f"tmp139": tmp139, f"tmp14": tmp14, f"tmp141": tmp141, f"tmp142": tmp142, f"tmp16": tmp16, f"tmp161": tmp161, f"tmp163": tmp163, f"tmp18": tmp18, f"tmp19": tmp19, f"tmp2": tmp2, f"tmp22": tmp22, f"tmp26": tmp26, f"tmp28": tmp28, f"tmp3": tmp3, f"tmp30": tmp30, f"tmp32": tmp32, f"tmp33": tmp33, f"tmp35": tmp35, f"tmp36": tmp36, f"tmp38": tmp38, f"tmp4": tmp4, f"tmp41": tmp41, f"tmp44": tmp44, f"tmp46": tmp46, f"tmp48": tmp48, f"tmp50": tmp50, f"tmp52": tmp52, f"tmp55": tmp55, f"tmp59": tmp59, f"tmp6": tmp6, f"tmp63": tmp63, f"tmp65": tmp65, f"tmp68": tmp68, f"tmp71": tmp71, f"tmp74": tmp74, f"tmp77": tmp77, f"tmp80": tmp80, f"tmp83": tmp83, f"tmp86": tmp86, f"tmp88": tmp88, f"tmp9": tmp9, f"tmp91": tmp91, f"tmp93": tmp93, f"tmp95": tmp95, f"tmp98": tmp98}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCC2.hbar_lmatvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:53:55.905303.

+

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.

+ +
+ Source code in ebcc/codegen/RDFCC2.py +
1763
+1764
+1765
+1766
+1767
+1768
+1769
+1770
+1771
+1772
+1773
+1774
+1775
+1776
+1777
+1778
+1779
+1780
+1781
+1782
+1783
+1784
+1785
+1786
+1787
+1788
+1789
+1790
+1791
+1792
+1793
+1794
+1795
+1796
+1797
+1798
+1799
+1800
+1801
+1802
+1803
+1804
+1805
+1806
+1807
+1808
+1809
+1810
+1811
+1812
+1813
+1814
+1815
+1816
+1817
+1818
+1819
+1820
+1821
+1822
+1823
+1824
+1825
+1826
+1827
+1828
+1829
+1830
+1831
+1832
+1833
+1834
+1835
+1836
+1837
+1838
+1839
+1840
+1841
+1842
+1843
+1844
+1845
+1846
+1847
+1848
+1849
+1850
+1851
+1852
+1853
+1854
+1855
+1856
+1857
+1858
+1859
+1860
+1861
+1862
+1863
+1864
+1865
+1866
+1867
+1868
+1869
+1870
+1871
+1872
+1873
+1874
+1875
+1876
+1877
+1878
+1879
+1880
+1881
+1882
+1883
+1884
+1885
+1886
+1887
+1888
+1889
+1890
+1891
+1892
+1893
+1894
+1895
+1896
+1897
+1898
+1899
+1900
+1901
+1902
+1903
+1904
+1905
+1906
+1907
+1908
+1909
+1910
+1911
+1912
+1913
+1914
+1915
+1916
+1917
+1918
+1919
+1920
+1921
+1922
+1923
+1924
+1925
+1926
+1927
+1928
+1929
+1930
+1931
+1932
+1933
+1934
+1935
+1936
+1937
+1938
+1939
+1940
+1941
+1942
+1943
+1944
+1945
+1946
+1947
+1948
+1949
+1950
+1951
+1952
+1953
+1954
+1955
+1956
+1957
+1958
+1959
+1960
+1961
+1962
+1963
def hbar_lmatvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:53:55.905303.
+
+    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"]
+    tmp0 = np.copy(r2)
+    tmp0 += np.transpose(r2, (1, 0, 2)) * -0.5
+    tmp9 = np.copy(ints.tmp35) * 2
+    del ints.tmp35
+    tmp9 += np.transpose(v.xov, (1, 2, 0))
+    tmp9 += ints.tmp32 * -1
+    del ints.tmp32
+    tmp12 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5
+    tmp12 += t2
+    tmp10 = einsum(tmp0, (0, 1, 2), tmp9, (0, 2, 3), (1, 3)) * 2
+    del tmp9
+    tmp8 = np.copy(ints.tmp139)
+    tmp8 += ints.tmp141 * -1
+    tmp13 = einsum(r2, (0, 1, 2), tmp12, (0, 1, 2, 3), (3,))
+    del tmp12
+    tmp14 = np.copy(f.oo)
+    tmp14 += np.transpose(ints.tmp0, (1, 0))
+    tmp14 += ints.tmp36 * 2
+    tmp14 += ints.tmp33 * -1
+    tmp7 = np.copy(ints.tmp139) * 0.5
+    del ints.tmp139
+    tmp7 += ints.tmp142
+    tmp7 += ints.tmp141 * -0.5
+    del ints.tmp141
+    tmp11 = np.copy(ints.tmp163) * 2
+    del ints.tmp163
+    tmp11 += f.vv * -1
+    tmp11 += ints.tmp161 * -1
+    del ints.tmp161
+    tmp11 += einsum(f.ov, (0, 1), t1, (0, 2), (2, 1))
+    tmp5 = np.copy(r2) * 2
+    tmp5 += np.transpose(r2, (1, 0, 2)) * -1
+    tmp2 = np.copy(r2) * -1
+    tmp2 += np.transpose(r2, (1, 0, 2)) * 2
+    tmp6 = np.copy(f.oo)
+    tmp6 += np.transpose(ints.tmp0, (1, 0))
+    del ints.tmp0
+    tmp6 += ints.tmp107 * 2
+    del ints.tmp107
+    tmp6 += np.transpose(ints.tmp16, (1, 0)) * 2
+    del ints.tmp16
+    tmp6 += ints.tmp36 * 2
+    del ints.tmp36
+    tmp6 += ints.tmp106 * -1
+    del ints.tmp106
+    tmp6 += ints.tmp14 * -1
+    del ints.tmp14
+    tmp6 += ints.tmp33 * -1
+    del ints.tmp33
+    tmp3 = np.copy(ints.tmp117)
+    del ints.tmp117
+    tmp3 += np.transpose(ints.tmp46, (0, 2, 1, 3))
+    del ints.tmp46
+    tmp3 += np.transpose(ints.tmp48, (0, 2, 1, 3))
+    del ints.tmp48
+    tmp3 += np.transpose(ints.tmp74, (0, 2, 1, 3))
+    del ints.tmp74
+    tmp3 += np.transpose(ints.tmp91, (0, 2, 1, 3))
+    del ints.tmp91
+    tmp3 += ints.tmp30 * -1
+    del ints.tmp30
+    tmp3 += np.transpose(ints.tmp50, (0, 2, 1, 3)) * -2
+    del ints.tmp50
+    tmp3 += np.transpose(ints.tmp6, (1, 0, 2, 3)) * -1
+    del ints.tmp6
+    tmp3 += np.transpose(ints.tmp77, (0, 2, 1, 3)) * -2
+    del ints.tmp77
+    tmp4 = np.copy(ints.tmp111) * 2
+    del ints.tmp111
+    tmp4 += ints.tmp123
+    del ints.tmp123
+    tmp4 += ints.tmp130 * 2
+    del ints.tmp130
+    tmp4 += ints.tmp1
+    del ints.tmp1
+    tmp4 += ints.tmp26
+    del ints.tmp26
+    tmp4 += ints.tmp3
+    del ints.tmp3
+    tmp4 += ints.tmp41 * 2
+    del ints.tmp41
+    tmp4 += ints.tmp55
+    del ints.tmp55
+    tmp4 += ints.tmp65 * 2
+    del ints.tmp65
+    tmp4 += ints.tmp68 * 2
+    del ints.tmp68
+    tmp4 += ints.tmp80 * 2
+    del ints.tmp80
+    tmp4 += ints.tmp95 * 2
+    del ints.tmp95
+    tmp4 += ints.tmp9
+    del ints.tmp9
+    tmp4 += f.ov * -1
+    tmp4 += ints.tmp109 * -1
+    del ints.tmp109
+    tmp4 += ints.tmp120 * -2
+    del ints.tmp120
+    tmp4 += ints.tmp128 * -1
+    del ints.tmp128
+    tmp4 += ints.tmp22 * -2
+    del ints.tmp22
+    tmp4 += ints.tmp2 * -1
+    del ints.tmp2
+    tmp4 += ints.tmp38 * -1
+    del ints.tmp38
+    tmp4 += ints.tmp4 * -2
+    del ints.tmp4
+    tmp4 += ints.tmp52 * -2
+    del ints.tmp52
+    tmp4 += ints.tmp63 * -1
+    del ints.tmp63
+    tmp4 += ints.tmp71 * -4
+    del ints.tmp71
+    tmp4 += ints.tmp83 * -1
+    del ints.tmp83
+    tmp4 += ints.tmp98 * -1
+    del ints.tmp98
+    tmp1 = np.copy(ints.tmp103)
+    del ints.tmp103
+    tmp1 += ints.tmp115
+    del ints.tmp115
+    tmp1 += ints.tmp134
+    del ints.tmp134
+    tmp1 += np.transpose(ints.tmp19, (0, 2, 1, 3))
+    del ints.tmp19
+    tmp1 += ints.tmp44
+    del ints.tmp44
+    tmp1 += ints.tmp86
+    del ints.tmp86
+    tmp1 += ints.tmp93
+    del ints.tmp93
+    tmp1 += np.transpose(ints.tmp10, (1, 2, 0, 3)) * -1
+    tmp1 += ints.tmp125 * -1
+    del ints.tmp125
+    tmp1 += ints.tmp28 * -1
+    del ints.tmp28
+    tmp1 += ints.tmp59 * -1
+    del ints.tmp59
+    tmp1 += ints.tmp88 * -2
+    del ints.tmp88
+    r2new = einsum(r1, (0,), ints.tmp10, (1, 0, 2, 3), (2, 1, 3))
+    del ints.tmp10
+    r2new += einsum(ints.tmp18, (0, 1, 2, 3), r2, (2, 3, 4), (1, 0, 4))
+    del ints.tmp18
+    r2new += einsum(r2, (0, 1, 2), ints.tmp102, (1, 0, 3, 4), (4, 3, 2))
+    del ints.tmp102
+    r2new += einsum(r1, (0,), f.ov, (1, 2), (1, 0, 2)) * -1
+    r2new += einsum(r2, (0, 1, 2), ints.tmp142, (1, 3, 2, 4), (3, 0, 4))
+    del ints.tmp142
+    r2new += einsum(tmp7, (0, 1, 2, 3), r2, (0, 4, 2), (1, 4, 3)) * -2
+    del tmp7
+    r2new += einsum(r2, (0, 1, 2), tmp8, (1, 3, 2, 4), (0, 3, 4)) * -1
+    del tmp8
+    r2new += einsum(v.xov, (0, 1, 2), tmp10, (3, 0), (1, 3, 2))
+    del tmp10
+    r2new += einsum(tmp11, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp11
+    r2new += einsum(ints.tmp101, (0, 1, 2, 3), tmp13, (3,), (0, 1, 2)) * -2
+    del ints.tmp101, tmp13
+    r2new += einsum(r2, (0, 1, 2), tmp14, (0, 3), (3, 1, 2)) * -1
+    r2new += einsum(tmp14, (0, 1), r2, (2, 0, 3), (2, 1, 3)) * -1
+    del tmp14
+    r1new = einsum(tmp1, (0, 1, 2, 3), tmp0, (1, 0, 3), (2,)) * -2
+    del tmp0, tmp1
+    r1new += einsum(tmp3, (0, 1, 2, 3), tmp2, (2, 0, 3), (1,)) * -1
+    del tmp3, tmp2
+    r1new += einsum(tmp4, (0, 1), tmp5, (0, 2, 1), (2,))
+    del tmp4, tmp5
+    r1new += einsum(tmp6, (0, 1), r1, (0,), (1,)) * -1
+    del tmp6
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCC2.hbar_lmatvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:54:43.896678.

+

Parameters

+

f : array + Fock matrix. +t1 : array + T1 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp1 : array +tmp10 : array +tmp100 : array +tmp102 : array +tmp105 : array +tmp107 : array +tmp11 : array +tmp111 : array +tmp114 : array +tmp12 : array +tmp120 : array +tmp123 : array +tmp125 : array +tmp127 : array +tmp130 : array +tmp133 : array +tmp152 : array +tmp16 : array +tmp19 : array +tmp2 : array +tmp20 : array +tmp23 : array +tmp25 : array +tmp29 : array +tmp3 : array +tmp31 : array +tmp34 : array +tmp35 : array +tmp37 : array +tmp38 : array +tmp4 : array +tmp40 : array +tmp41 : array +tmp44 : array +tmp47 : array +tmp50 : array +tmp53 : array +tmp56 : array +tmp58 : array +tmp61 : array +tmp63 : array +tmp66 : array +tmp67 : array +tmp69 : array +tmp72 : array +tmp75 : array +tmp82 : array +tmp83 : array +tmp86 : array +tmp89 : array +tmp92 : array +tmp93 : array +tmp96 : array +tmp97 : array

+ +
+ Source code in ebcc/codegen/RDFCC2.py +
1965
+1966
+1967
+1968
+1969
+1970
+1971
+1972
+1973
+1974
+1975
+1976
+1977
+1978
+1979
+1980
+1981
+1982
+1983
+1984
+1985
+1986
+1987
+1988
+1989
+1990
+1991
+1992
+1993
+1994
+1995
+1996
+1997
+1998
+1999
+2000
+2001
+2002
+2003
+2004
+2005
+2006
+2007
+2008
+2009
+2010
+2011
+2012
+2013
+2014
+2015
+2016
+2017
+2018
+2019
+2020
+2021
+2022
+2023
+2024
+2025
+2026
+2027
+2028
+2029
+2030
+2031
+2032
+2033
+2034
+2035
+2036
+2037
+2038
+2039
+2040
+2041
+2042
+2043
+2044
+2045
+2046
+2047
+2048
+2049
+2050
+2051
+2052
+2053
+2054
+2055
+2056
+2057
+2058
+2059
+2060
+2061
+2062
+2063
+2064
+2065
+2066
+2067
+2068
+2069
+2070
+2071
+2072
+2073
+2074
+2075
+2076
+2077
+2078
+2079
+2080
+2081
+2082
+2083
+2084
+2085
+2086
+2087
+2088
+2089
+2090
+2091
+2092
+2093
+2094
+2095
+2096
+2097
+2098
+2099
+2100
+2101
+2102
+2103
+2104
+2105
+2106
+2107
def hbar_lmatvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:54:43.896678.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t1 : array
+        T1 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp1 : array
+    tmp10 : array
+    tmp100 : array
+    tmp102 : array
+    tmp105 : array
+    tmp107 : array
+    tmp11 : array
+    tmp111 : array
+    tmp114 : array
+    tmp12 : array
+    tmp120 : array
+    tmp123 : array
+    tmp125 : array
+    tmp127 : array
+    tmp130 : array
+    tmp133 : array
+    tmp152 : array
+    tmp16 : array
+    tmp19 : array
+    tmp2 : array
+    tmp20 : array
+    tmp23 : array
+    tmp25 : array
+    tmp29 : array
+    tmp3 : array
+    tmp31 : array
+    tmp34 : array
+    tmp35 : array
+    tmp37 : array
+    tmp38 : array
+    tmp4 : array
+    tmp40 : array
+    tmp41 : array
+    tmp44 : array
+    tmp47 : array
+    tmp50 : array
+    tmp53 : array
+    tmp56 : array
+    tmp58 : array
+    tmp61 : array
+    tmp63 : array
+    tmp66 : array
+    tmp67 : array
+    tmp69 : array
+    tmp72 : array
+    tmp75 : array
+    tmp82 : array
+    tmp83 : array
+    tmp86 : array
+    tmp89 : array
+    tmp92 : array
+    tmp93 : array
+    tmp96 : array
+    tmp97 : array
+    """
+
+    tmp15 = einsum(v.xov, (0, 1, 2), t1, (1, 2), (0,))
+    tmp65 = einsum(v.xov, (0, 1, 2), t1, (3, 2), (3, 1, 0))
+    tmp20 = einsum(tmp15, (0,), v.xov, (0, 1, 2), (1, 2))
+    tmp66 = einsum(tmp65, (0, 1, 2), v.xov, (2, 0, 3), (1, 3))
+    tmp34 = einsum(t2, (0, 1, 2, 3), v.xov, (4, 1, 2), (0, 3, 4))
+    tmp37 = einsum(t2, (0, 1, 2, 3), v.xov, (4, 1, 3), (0, 2, 4))
+    tmp132 = einsum(t1, (0, 1), tmp20, (2, 1), (0, 2))
+    tmp129 = einsum(tmp66, (0, 1), t1, (2, 1), (2, 0))
+    tmp18 = einsum(t1, (0, 1), v.xvv, (2, 3, 1), (0, 3, 2))
+    tmp16 = einsum(tmp15, (0,), v.xvv, (0, 1, 2), (1, 2))
+    tmp113 = einsum(tmp15, (0,), v.xoo, (0, 1, 2), (1, 2))
+    del tmp15
+    tmp110 = einsum(tmp65, (0, 1, 2), v.xoo, (2, 3, 0), (3, 1))
+    tmp25 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp96 = einsum(tmp34, (0, 1, 2), v.xov, (2, 3, 1), (0, 3))
+    tmp92 = einsum(tmp37, (0, 1, 2), v.xov, (2, 3, 1), (0, 3))
+    tmp82 = einsum(tmp65, (0, 1, 2), v.xov, (2, 3, 4), (0, 3, 1, 4))
+    tmp12 = einsum(v.xov, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp40 = einsum(v.xov, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp10 = einsum(t1, (0, 1), f.ov, (2, 1), (2, 0))
+    tmp152 = einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp133 = einsum(tmp132, (0, 1), t1, (1, 2), (0, 2))
+    del tmp132
+    tmp130 = einsum(tmp129, (0, 1), t1, (1, 2), (0, 2))
+    del tmp129
+    tmp127 = einsum(v.xov, (0, 1, 2), tmp18, (3, 4, 0), (3, 1, 2, 4))
+    tmp125 = einsum(tmp65, (0, 1, 2), v.xvv, (2, 3, 4), (0, 1, 3, 4))
+    tmp123 = einsum(tmp18, (0, 1, 2), tmp65, (3, 0, 2), (3, 1))
+    del tmp65
+    tmp120 = einsum(tmp16, (0, 1), t1, (2, 1), (2, 0))
+    tmp114 = einsum(tmp113, (0, 1), t1, (1, 2), (0, 2))
+    del tmp113
+    tmp111 = einsum(tmp110, (0, 1), t1, (1, 2), (0, 2))
+    del tmp110
+    tmp107 = einsum(t2, (0, 1, 2, 3), tmp25, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp105 = einsum(tmp25, (0, 1, 2, 3), t2, (4, 0, 3, 5), (4, 1, 5, 2))
+    tmp102 = einsum(v.xov, (0, 1, 2), tmp37, (3, 4, 0), (3, 1, 4, 2))
+    tmp100 = einsum(v.xov, (0, 1, 2), tmp34, (3, 4, 0), (3, 1, 4, 2))
+    tmp97 = einsum(tmp96, (0, 1), t1, (1, 2), (0, 2))
+    tmp93 = einsum(tmp92, (0, 1), t1, (1, 2), (0, 2))
+    tmp89 = einsum(tmp82, (0, 1, 2, 3), t2, (1, 2, 4, 5), (0, 4, 5, 3))
+    tmp86 = einsum(tmp82, (0, 1, 2, 3), t2, (2, 1, 3, 4), (0, 4))
+    tmp83 = einsum(tmp82, (0, 1, 2, 3), t2, (2, 1, 4, 3), (0, 4))
+    tmp75 = einsum(t2, (0, 1, 2, 3), tmp20, (1, 3), (0, 2))
+    tmp72 = einsum(tmp20, (0, 1), t2, (2, 0, 1, 3), (2, 3))
+    tmp69 = einsum(t2, (0, 1, 2, 3), tmp66, (1, 3), (0, 2))
+    tmp67 = einsum(t2, (0, 1, 2, 3), tmp66, (1, 2), (0, 3))
+    tmp63 = einsum(tmp12, (0, 1, 2, 3), t2, (4, 0, 5, 2), (4, 5, 3, 1))
+    tmp61 = einsum(tmp12, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 5, 3, 1))
+    tmp58 = einsum(tmp37, (0, 1, 2), v.xvv, (2, 3, 4), (0, 1, 3, 4))
+    tmp56 = einsum(tmp34, (0, 1, 2), v.xvv, (2, 3, 4), (0, 1, 3, 4))
+    tmp53 = einsum(tmp34, (0, 1, 2), v.xvv, (2, 3, 1), (0, 3))
+    tmp50 = einsum(tmp37, (0, 1, 2), v.xvv, (2, 3, 1), (0, 3))
+    tmp47 = einsum(t2, (0, 1, 2, 3), tmp40, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp44 = einsum(t2, (0, 1, 2, 3), tmp40, (4, 0, 1, 3), (4, 2))
+    tmp41 = einsum(t2, (0, 1, 2, 3), tmp40, (4, 0, 1, 2), (4, 3))
+    tmp38 = einsum(v.xov, (0, 1, 2), tmp37, (1, 3, 0), (3, 2))
+    tmp35 = einsum(v.xov, (0, 1, 2), tmp34, (1, 3, 0), (3, 2))
+    tmp31 = einsum(tmp18, (0, 1, 2), v.xvv, (2, 3, 4), (0, 3, 4, 1))
+    tmp29 = einsum(v.xoo, (0, 1, 2), v.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp23 = einsum(tmp18, (0, 1, 2), v.xoo, (2, 3, 0), (3, 1))
+    tmp19 = einsum(v.xov, (0, 1, 2), tmp18, (1, 3, 0), (2, 3))
+    del tmp18
+    tmp11 = einsum(tmp10, (0, 1), t1, (0, 2), (1, 2))
+    tmp4 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 3), (0, 2))
+    tmp3 = einsum(f.ov, (0, 1), t2, (2, 0, 1, 3), (2, 3))
+    tmp2 = einsum(t1, (0, 1), f.vv, (2, 1), (0, 2))
+    tmp1 = einsum(f.oo, (0, 1), t1, (1, 2), (0, 2))
+
+    return {f"tmp1": tmp1, f"tmp10": tmp10, f"tmp100": tmp100, f"tmp102": tmp102, f"tmp105": tmp105, f"tmp107": tmp107, f"tmp11": tmp11, f"tmp111": tmp111, f"tmp114": tmp114, f"tmp12": tmp12, f"tmp120": tmp120, f"tmp123": tmp123, f"tmp125": tmp125, f"tmp127": tmp127, f"tmp130": tmp130, f"tmp133": tmp133, f"tmp152": tmp152, f"tmp16": tmp16, f"tmp19": tmp19, f"tmp2": tmp2, f"tmp20": tmp20, f"tmp23": tmp23, f"tmp25": tmp25, f"tmp29": tmp29, f"tmp3": tmp3, f"tmp31": tmp31, f"tmp34": tmp34, f"tmp35": tmp35, f"tmp37": tmp37, f"tmp38": tmp38, f"tmp4": tmp4, f"tmp40": tmp40, f"tmp41": tmp41, f"tmp44": tmp44, f"tmp47": tmp47, f"tmp50": tmp50, f"tmp53": tmp53, f"tmp56": tmp56, f"tmp58": tmp58, f"tmp61": tmp61, f"tmp63": tmp63, f"tmp66": tmp66, f"tmp67": tmp67, f"tmp69": tmp69, f"tmp72": tmp72, f"tmp75": tmp75, f"tmp82": tmp82, f"tmp83": tmp83, f"tmp86": tmp86, f"tmp89": tmp89, f"tmp92": tmp92, f"tmp93": tmp93, f"tmp96": tmp96, f"tmp97": tmp97}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCC2.hbar_lmatvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:54:43.926697.

+

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.

+ +
+ Source code in ebcc/codegen/RDFCC2.py +
2109
+2110
+2111
+2112
+2113
+2114
+2115
+2116
+2117
+2118
+2119
+2120
+2121
+2122
+2123
+2124
+2125
+2126
+2127
+2128
+2129
+2130
+2131
+2132
+2133
+2134
+2135
+2136
+2137
+2138
+2139
+2140
+2141
+2142
+2143
+2144
+2145
+2146
+2147
+2148
+2149
+2150
+2151
+2152
+2153
+2154
+2155
+2156
+2157
+2158
+2159
+2160
+2161
+2162
+2163
+2164
+2165
+2166
+2167
+2168
+2169
+2170
+2171
+2172
+2173
+2174
+2175
+2176
+2177
+2178
+2179
+2180
+2181
+2182
+2183
+2184
+2185
+2186
+2187
+2188
+2189
+2190
+2191
+2192
+2193
+2194
+2195
+2196
+2197
+2198
+2199
+2200
+2201
+2202
+2203
+2204
+2205
+2206
+2207
+2208
+2209
+2210
+2211
+2212
+2213
+2214
+2215
+2216
+2217
+2218
+2219
+2220
+2221
+2222
+2223
+2224
+2225
+2226
+2227
+2228
+2229
+2230
+2231
+2232
+2233
+2234
+2235
+2236
+2237
+2238
+2239
+2240
+2241
+2242
+2243
+2244
+2245
+2246
+2247
+2248
+2249
+2250
+2251
+2252
+2253
+2254
+2255
+2256
+2257
+2258
+2259
+2260
+2261
+2262
+2263
+2264
+2265
+2266
+2267
+2268
+2269
+2270
+2271
+2272
+2273
+2274
+2275
+2276
+2277
+2278
+2279
+2280
+2281
+2282
+2283
+2284
+2285
+2286
+2287
+2288
+2289
+2290
+2291
+2292
+2293
+2294
+2295
+2296
+2297
+2298
+2299
+2300
+2301
+2302
+2303
+2304
+2305
+2306
+2307
+2308
+2309
+2310
+2311
+2312
+2313
+2314
+2315
+2316
+2317
+2318
+2319
+2320
+2321
+2322
+2323
+2324
+2325
def hbar_lmatvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:54:43.926697.
+
+    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"]
+    tmp11 = einsum(t1, (0, 1), r2, (2, 1, 3), (3, 0, 2))
+    tmp0 = np.copy(np.transpose(r2, (2, 0, 1)))
+    tmp0 += np.transpose(r2, (2, 1, 0)) * -0.5
+    tmp22 = np.copy(ints.tmp37) * 2
+    del ints.tmp37
+    tmp22 += np.transpose(v.xov, (1, 2, 0))
+    tmp22 += ints.tmp34 * -1
+    del ints.tmp34
+    tmp27 = np.copy(np.transpose(t2, (0, 1, 3, 2)))
+    tmp27 += t2 * -0.5
+    tmp24 = einsum(t1, (0, 1), f.ov, (0, 2), (2, 1))
+    tmp12 = einsum(tmp11, (0, 1, 2), t1, (3, 2), (0, 3, 1))
+    del tmp11
+    tmp6 = np.copy(np.transpose(r2, (2, 0, 1))) * -0.5
+    tmp6 += np.transpose(r2, (2, 1, 0))
+    tmp16 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp16 += t2 * -1
+    tmp19 = einsum(r2, (0, 1, 2), t2, (3, 4, 0, 1), (2, 3, 4))
+    tmp21 = np.copy(ints.tmp105)
+    tmp21 += ints.tmp29 * -1
+    tmp23 = einsum(tmp22, (0, 1, 2), tmp0, (0, 1, 3), (3, 2)) * 2
+    del tmp22
+    tmp28 = einsum(tmp27, (0, 1, 2, 3), r2, (3, 2, 0), (1,))
+    del tmp27
+    tmp20 = np.copy(ints.tmp107)
+    tmp20 += ints.tmp29 * 0.5
+    tmp20 += ints.tmp105 * -0.5
+    tmp26 = np.copy(f.oo)
+    tmp26 += np.transpose(ints.tmp10, (1, 0))
+    del ints.tmp10
+    tmp26 += ints.tmp92 * 2
+    del ints.tmp92
+    tmp26 += ints.tmp96 * -1
+    del ints.tmp96
+    tmp25 = np.copy(ints.tmp38) * 2
+    tmp25 += f.vv * -1
+    tmp25 += ints.tmp35 * -1
+    tmp25 += np.transpose(tmp24, (1, 0))
+    del tmp24
+    tmp5 = np.copy(np.transpose(ints.tmp125, (0, 1, 3, 2)))
+    del ints.tmp125
+    tmp5 += np.transpose(ints.tmp29, (0, 1, 3, 2))
+    del ints.tmp29
+    tmp5 += ints.tmp105 * -1
+    del ints.tmp105
+    tmp2 = np.copy(np.transpose(r2, (2, 0, 1))) * -1
+    tmp2 += np.transpose(r2, (2, 1, 0)) * 2
+    tmp10 = np.copy(np.transpose(r2, (2, 0, 1))) * 2
+    tmp10 += np.transpose(r2, (2, 1, 0)) * -1
+    tmp8 = np.copy(ints.tmp102) * 2
+    del ints.tmp102
+    tmp8 += np.transpose(ints.tmp127, (0, 1, 3, 2))
+    del ints.tmp127
+    tmp8 += ints.tmp25
+    tmp8 += ints.tmp100 * -1
+    del ints.tmp100
+    tmp8 += ints.tmp107 * -1
+    tmp13 = np.copy(tmp12) * -0.5
+    tmp13 += np.transpose(tmp12, (0, 2, 1))
+    tmp14 = np.copy(tmp12) * 2
+    tmp14 += np.transpose(tmp12, (0, 2, 1)) * -1
+    del tmp12
+    tmp9 = np.copy(ints.tmp114) * 2
+    del ints.tmp114
+    tmp9 += ints.tmp11
+    del ints.tmp11
+    tmp9 += ints.tmp123
+    del ints.tmp123
+    tmp9 += ints.tmp133 * 2
+    del ints.tmp133
+    tmp9 += ints.tmp1
+    del ints.tmp1
+    tmp9 += ints.tmp23
+    del ints.tmp23
+    tmp9 += ints.tmp3
+    del ints.tmp3
+    tmp9 += ints.tmp44 * 2
+    del ints.tmp44
+    tmp9 += ints.tmp53
+    del ints.tmp53
+    tmp9 += ints.tmp69 * 2
+    del ints.tmp69
+    tmp9 += ints.tmp72 * 2
+    del ints.tmp72
+    tmp9 += ints.tmp83 * 2
+    del ints.tmp83
+    tmp9 += ints.tmp93 * 2
+    del ints.tmp93
+    tmp9 += f.ov * -1
+    tmp9 += ints.tmp111 * -1
+    del ints.tmp111
+    tmp9 += ints.tmp120 * -2
+    del ints.tmp120
+    tmp9 += ints.tmp130 * -1
+    del ints.tmp130
+    tmp9 += ints.tmp20 * -2
+    tmp9 += ints.tmp2 * -1
+    del ints.tmp2
+    tmp9 += ints.tmp41 * -1
+    del ints.tmp41
+    tmp9 += ints.tmp4 * -2
+    del ints.tmp4
+    tmp9 += ints.tmp50 * -2
+    del ints.tmp50
+    tmp9 += ints.tmp67 * -1
+    del ints.tmp67
+    tmp9 += ints.tmp75 * -4
+    del ints.tmp75
+    tmp9 += ints.tmp86 * -1
+    del ints.tmp86
+    tmp9 += ints.tmp97 * -1
+    del ints.tmp97
+    tmp15 = np.copy(f.vv)
+    tmp15 += np.transpose(ints.tmp16, (1, 0)) * 2
+    del ints.tmp16
+    tmp15 += ints.tmp35
+    del ints.tmp35
+    tmp15 += np.transpose(ints.tmp19, (1, 0)) * -1
+    del ints.tmp19
+    tmp15 += ints.tmp38 * -2
+    del ints.tmp38
+    tmp7 = einsum(tmp6, (0, 1, 2), t1, (3, 1), (0, 3, 2)) * 2
+    del tmp6
+    tmp3 = np.copy(ints.tmp47)
+    del ints.tmp47
+    tmp3 += ints.tmp58 * 2
+    del ints.tmp58
+    tmp3 += ints.tmp56 * -1
+    del ints.tmp56
+    tmp3 += np.transpose(ints.tmp63, (0, 1, 3, 2)) * -1
+    del ints.tmp63
+    tmp4 = einsum(tmp0, (0, 1, 2), t1, (3, 1), (0, 3, 2))
+    tmp18 = np.copy(f.ov)
+    tmp18 += ints.tmp20 * 2
+    del ints.tmp20
+    tmp18 += ints.tmp66 * -1
+    del ints.tmp66
+    tmp17 = einsum(r1, (0,), t1, (1, 0), (1,)) * 0.5
+    tmp17 += einsum(r2, (0, 1, 2), tmp16, (2, 3, 1, 0), (3,)) * -0.5
+    del tmp16
+    tmp1 = np.copy(ints.tmp12)
+    tmp1 += ints.tmp31
+    del ints.tmp31
+    tmp1 += np.transpose(ints.tmp89, (0, 3, 1, 2))
+    del ints.tmp89
+    tmp1 += np.transpose(ints.tmp61, (0, 2, 1, 3)) * -1
+    del ints.tmp61
+    r2new = einsum(r1, (0,), ints.tmp12, (1, 2, 0, 3), (3, 2, 1)) * -1
+    del ints.tmp12
+    r2new += einsum(r1, (0,), f.ov, (1, 2), (2, 0, 1)) * -1
+    r2new += einsum(ints.tmp152, (0, 1, 2, 3), r2, (2, 3, 4), (1, 0, 4))
+    del ints.tmp152
+    r2new += einsum(ints.tmp107, (0, 1, 2, 3), r2, (4, 2, 0), (3, 4, 1))
+    del ints.tmp107
+    r2new += einsum(tmp19, (0, 1, 2), ints.tmp25, (2, 1, 3, 4), (4, 3, 0))
+    del tmp19
+    r2new += einsum(r2, (0, 1, 2), tmp20, (2, 3, 0, 4), (4, 1, 3)) * -2
+    del tmp20
+    r2new += einsum(tmp21, (0, 1, 2, 3), r2, (4, 2, 0), (4, 3, 1))
+    del tmp21
+    r2new += einsum(tmp23, (0, 1), v.xov, (1, 2, 3), (3, 0, 2))
+    del tmp23
+    r2new += einsum(tmp25, (0, 1), r2, (0, 2, 3), (1, 2, 3)) * -1
+    r2new += einsum(tmp25, (0, 1), r2, (2, 0, 3), (2, 1, 3)) * -1
+    del tmp25
+    r2new += einsum(r2, (0, 1, 2), tmp26, (2, 3), (0, 1, 3)) * -1
+    del tmp26
+    r2new += einsum(ints.tmp25, (0, 1, 2, 3), tmp28, (0,), (3, 2, 1)) * -2
+    del ints.tmp25, tmp28
+    r1new = einsum(tmp0, (0, 1, 2), tmp1, (0, 3, 2, 1), (3,)) * -2
+    del tmp0, tmp1
+    r1new += einsum(tmp3, (0, 1, 2, 3), tmp2, (0, 2, 1), (3,)) * -1
+    del tmp3, tmp2
+    r1new += einsum(tmp4, (0, 1, 2), tmp5, (0, 1, 2, 3), (3,)) * 2
+    del tmp4, tmp5
+    r1new += einsum(tmp7, (0, 1, 2), tmp8, (0, 1, 2, 3), (3,))
+    del tmp7, tmp8
+    r1new += einsum(tmp10, (0, 1, 2), tmp9, (0, 1), (2,))
+    del tmp10, tmp9
+    r1new += einsum(ints.tmp82, (0, 1, 2, 3), tmp13, (0, 1, 2), (3,)) * -2
+    del ints.tmp82, tmp13
+    r1new += einsum(ints.tmp40, (0, 1, 2, 3), tmp14, (0, 1, 2), (3,)) * -1
+    del ints.tmp40, tmp14
+    r1new += einsum(tmp15, (0, 1), r1, (0,), (1,))
+    del tmp15
+    r1new += einsum(tmp17, (0,), tmp18, (0, 1), (1,)) * -2
+    del tmp17, tmp18
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/RDFCCD/index.html b/reference/codegen/RDFCCD/index.html new file mode 100644 index 00000000..21600397 --- /dev/null +++ b/reference/codegen/RDFCCD/index.html @@ -0,0 +1,3095 @@ + + + + + + + + RDFCCD - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-17T20:50:55.777047
  • +
  • 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.8.0-40-generic
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.RDFCCD.energy(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:50:56.138015.

+

Parameters

+

t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

e_cc : float + Coupled cluster energy.

+ +
+ Source code in ebcc/codegen/RDFCCD.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
def energy(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:50:56.138015.
+
+    Parameters
+    ----------
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    e_cc : float
+        Coupled cluster energy.
+    """
+
+    tmp0 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp0 += t2 * -1
+    tmp1 = einsum(v.xov, (0, 1, 2), tmp0, (1, 3, 4, 2), (3, 4, 0)) * 0.5
+    del tmp0
+    e_cc = einsum(v.xov, (0, 1, 2), tmp1, (1, 2, 0), ()) * 2
+    del tmp1
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCCD.update_amps(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:50:59.543398.

+

Parameters

+

f : array + Fock matrix. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

t2new : array + Updated T2 residuals.

+ +
+ Source code in ebcc/codegen/RDFCCD.py +
 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
def update_amps(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:50:59.543398.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    t2new : array
+        Updated T2 residuals.
+    """
+
+    tmp3 = einsum(v.xov, (0, 1, 2), t2, (3, 1, 2, 4), (3, 4, 0))
+    tmp12 = np.copy(np.transpose(v.xov, (1, 2, 0)))
+    tmp12 += tmp3 * -1
+    tmp1 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp17 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp17 += t2 * -1
+    tmp13 = einsum(v.xov, (0, 1, 2), tmp12, (3, 4, 0), (1, 3, 2, 4))
+    del tmp12
+    tmp4 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 0, 3, 5), (4, 1, 5, 2))
+    tmp8 = einsum(v.xvv, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp18 = einsum(v.xov, (0, 1, 2), tmp17, (1, 3, 4, 2), (3, 4, 0))
+    del tmp17
+    tmp14 = np.copy(np.transpose(tmp8, (1, 0, 3, 2)))
+    tmp14 += tmp4 * -1
+    tmp14 += np.transpose(tmp13, (1, 0, 3, 2)) * -2
+    del tmp13
+    tmp21 = einsum(v.xov, (0, 1, 2), tmp18, (3, 2, 0), (1, 3))
+    tmp19 = einsum(tmp18, (0, 1, 2), v.xov, (2, 0, 3), (3, 1)) * 0.5
+    del tmp18
+    tmp11 = einsum(tmp3, (0, 1, 2), v.xov, (2, 3, 4), (0, 3, 1, 4))
+    tmp15 = einsum(tmp14, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp14
+    tmp9 = einsum(tmp8, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 5, 2))
+    del tmp8
+    tmp7 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp22 = einsum(tmp21, (0, 1), t2, (2, 0, 3, 4), (2, 1, 4, 3))
+    del tmp21
+    tmp20 = einsum(t2, (0, 1, 2, 3), tmp19, (2, 4), (0, 1, 3, 4)) * 2
+    del tmp19
+    tmp24 = np.copy(np.transpose(tmp1, (1, 0, 2, 3))) * -1
+    tmp24 += np.transpose(tmp1, (1, 0, 3, 2)) * 2
+    tmp0 = einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (3, 1, 2, 4))
+    tmp16 = np.copy(tmp11)
+    del tmp11
+    tmp16 += tmp15
+    del tmp15
+    tmp10 = np.copy(tmp7)
+    del tmp7
+    tmp10 += tmp9 * -1
+    del tmp9
+    tmp23 = np.copy(np.transpose(tmp20, (1, 0, 2, 3)))
+    del tmp20
+    tmp23 += np.transpose(tmp22, (0, 1, 3, 2))
+    del tmp22
+    tmp2 = einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (3, 1, 2, 4))
+    tmp6 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp25 = einsum(t2, (0, 1, 2, 3), tmp24, (1, 4, 3, 5), (0, 4, 2, 5))
+    del tmp24
+    tmp5 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 5, 3, 2), (4, 5, 1, 0))
+    t2new = einsum(tmp0, (0, 1, 2, 3), t2, (1, 3, 4, 5), (2, 0, 4, 5))
+    del tmp0
+    t2new += np.transpose(tmp1, (1, 0, 3, 2))
+    del tmp1
+    t2new += einsum(t2, (0, 1, 2, 3), tmp2, (4, 2, 5, 3), (0, 1, 5, 4))
+    del tmp2
+    t2new += einsum(tmp3, (0, 1, 2), tmp3, (3, 4, 2), (0, 3, 1, 4))
+    del tmp3
+    t2new += einsum(t2, (0, 1, 2, 3), tmp4, (4, 1, 5, 2), (0, 4, 5, 3))
+    del tmp4
+    t2new += einsum(tmp5, (0, 1, 2, 3), t2, (2, 3, 4, 5), (1, 0, 5, 4))
+    del tmp5
+    t2new += np.transpose(tmp6, (0, 1, 3, 2)) * -1
+    t2new += np.transpose(tmp6, (1, 0, 2, 3)) * -1
+    del tmp6
+    t2new += np.transpose(tmp10, (0, 1, 3, 2))
+    t2new += np.transpose(tmp10, (1, 0, 2, 3))
+    del tmp10
+    t2new += tmp16 * -1
+    t2new += np.transpose(tmp16, (1, 0, 3, 2)) * -1
+    del tmp16
+    t2new += tmp23 * -1
+    t2new += np.transpose(tmp23, (1, 0, 3, 2)) * -1
+    del tmp23
+    t2new += einsum(t2, (0, 1, 2, 3), tmp25, (4, 1, 5, 3), (4, 0, 5, 2)) * 2
+    del tmp25
+
+    return {f"t2new": t2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCCD.update_lams(f=None, l2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:51:04.804985.

+

Parameters

+

f : array + Fock matrix. +l2 : array + L2 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

l2new : array + Updated L2 residuals.

+ +
+ Source code in ebcc/codegen/RDFCCD.py +
142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
def update_lams(f=None, l2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:51:04.804985.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    l2 : array
+        L2 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    l2new : array
+        Updated L2 residuals.
+    """
+
+    tmp18 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp18 += t2 * -1
+    tmp25 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5
+    tmp25 += t2
+    tmp29 = np.copy(np.transpose(t2, (0, 1, 3, 2)))
+    tmp29 += t2 * -0.5
+    tmp34 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp34 += t2 * -1
+    tmp1 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp14 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1
+    tmp14 += np.transpose(l2, (2, 3, 0, 1)) * 2
+    tmp19 = einsum(v.xov, (0, 1, 2), tmp18, (1, 3, 4, 2), (3, 4, 0))
+    del tmp18
+    tmp26 = einsum(l2, (0, 1, 2, 3), tmp25, (2, 4, 0, 1), (3, 4)) * 2
+    del tmp25
+    tmp30 = einsum(tmp29, (0, 1, 2, 3), l2, (4, 2, 0, 1), (4, 3)) * 2
+    del tmp29
+    tmp35 = einsum(v.xov, (0, 1, 2), tmp34, (1, 3, 4, 2), (3, 4, 0))
+    del tmp34
+    tmp8 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 1, 2, 5), (4, 0, 5, 3))
+    tmp7 = einsum(v.xvv, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp13 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 5, 1), (5, 0, 4, 3))
+    tmp15 = einsum(t2, (0, 1, 2, 3), tmp14, (1, 4, 3, 5), (0, 4, 2, 5))
+    del tmp14
+    tmp21 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * 2
+    tmp21 += np.transpose(l2, (2, 3, 0, 1)) * -1
+    tmp20 = np.copy(np.transpose(v.xov, (1, 2, 0)))
+    tmp20 += tmp19
+    del tmp19
+    tmp27 = einsum(tmp26, (0, 1), v.xov, (2, 1, 3), (0, 3, 2)) * 0.5
+    del tmp26
+    tmp31 = einsum(tmp30, (0, 1), v.xov, (2, 3, 1), (3, 0, 2))
+    del tmp30
+    tmp38 = einsum(v.xov, (0, 1, 2), tmp35, (3, 2, 0), (1, 3))
+    tmp36 = einsum(tmp35, (0, 1, 2), v.xov, (2, 0, 3), (3, 1)) * 0.5
+    del tmp35
+    tmp9 = np.copy(np.transpose(tmp7, (1, 0, 3, 2))) * -1
+    tmp9 += tmp8
+    del tmp8
+    tmp16 = np.copy(tmp13)
+    del tmp13
+    tmp16 += np.transpose(tmp15, (1, 0, 3, 2)) * -1
+    del tmp15
+    tmp22 = einsum(tmp20, (0, 1, 2), tmp21, (0, 3, 4, 1), (3, 4, 2))
+    del tmp20, tmp21
+    tmp28 = einsum(v.xov, (0, 1, 2), tmp27, (3, 4, 0), (1, 3, 2, 4)) * 2
+    del tmp27
+    tmp32 = einsum(tmp31, (0, 1, 2), v.xov, (2, 3, 4), (3, 0, 4, 1))
+    del tmp31
+    tmp39 = einsum(l2, (0, 1, 2, 3), tmp38, (4, 2), (4, 3, 0, 1))
+    del tmp38
+    tmp37 = einsum(l2, (0, 1, 2, 3), tmp36, (4, 1), (3, 2, 0, 4)) * 2
+    del tmp36
+    tmp6 = einsum(f.vv, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2))
+    tmp10 = einsum(tmp9, (0, 1, 2, 3), l2, (4, 2, 0, 5), (5, 1, 4, 3))
+    del tmp9
+    tmp17 = einsum(tmp1, (0, 1, 2, 3), tmp16, (4, 0, 5, 3), (1, 4, 2, 5))
+    del tmp16
+    tmp23 = einsum(tmp22, (0, 1, 2), v.xov, (2, 3, 4), (3, 0, 4, 1))
+    del tmp22
+    tmp12 = einsum(tmp7, (0, 1, 2, 3), l2, (4, 3, 5, 1), (5, 0, 4, 2))
+    del tmp7
+    tmp0 = einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (3, 1, 2, 4))
+    tmp33 = np.copy(np.transpose(tmp28, (1, 0, 2, 3)))
+    del tmp28
+    tmp33 += np.transpose(tmp32, (0, 1, 3, 2))
+    del tmp32
+    tmp3 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5))
+    tmp40 = np.copy(np.transpose(tmp37, (1, 0, 2, 3)))
+    del tmp37
+    tmp40 += np.transpose(tmp39, (1, 0, 3, 2))
+    del tmp39
+    tmp4 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1))
+    tmp2 = einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (3, 1, 2, 4))
+    tmp11 = np.copy(tmp6)
+    del tmp6
+    tmp11 += tmp10
+    del tmp10
+    tmp24 = np.copy(tmp12)
+    del tmp12
+    tmp24 += np.transpose(tmp17, (1, 0, 3, 2)) * -1
+    del tmp17
+    tmp24 += np.transpose(tmp23, (1, 0, 3, 2)) * -1
+    del tmp23
+    tmp5 = einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3))
+    l2new = einsum(tmp0, (0, 1, 2, 3), l2, (4, 5, 3, 1), (4, 5, 0, 2))
+    del tmp0
+    l2new += np.transpose(tmp1, (3, 2, 1, 0))
+    l2new += einsum(l2, (0, 1, 2, 3), tmp2, (4, 0, 5, 1), (4, 5, 3, 2))
+    del tmp2
+    l2new += einsum(tmp3, (0, 1, 2, 3), tmp1, (3, 2, 4, 5), (4, 5, 1, 0))
+    del tmp1, tmp3
+    l2new += einsum(tmp4, (0, 1, 2, 3), l2, (4, 5, 0, 1), (4, 5, 2, 3))
+    del tmp4
+    l2new += np.transpose(tmp5, (3, 2, 0, 1)) * -1
+    l2new += np.transpose(tmp5, (2, 3, 1, 0)) * -1
+    del tmp5
+    l2new += np.transpose(tmp11, (3, 2, 0, 1))
+    l2new += np.transpose(tmp11, (2, 3, 1, 0))
+    del tmp11
+    l2new += np.transpose(tmp24, (2, 3, 0, 1)) * -1
+    l2new += np.transpose(tmp24, (3, 2, 1, 0)) * -1
+    del tmp24
+    l2new += np.transpose(tmp33, (3, 2, 0, 1)) * -1
+    l2new += np.transpose(tmp33, (2, 3, 1, 0)) * -1
+    del tmp33
+    l2new += np.transpose(tmp40, (2, 3, 0, 1)) * -1
+    l2new += np.transpose(tmp40, (3, 2, 1, 0)) * -1
+    del tmp40
+
+    return {f"l2new": l2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCCD.make_rdm1_f(l2=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:51:05.152915.

+

Parameters

+

l2 : array + L2 amplitudes. +t2 : array + T2 amplitudes.

+

Returns

+

rdm1 : array + One-particle reduced density matrix.

+ +
+ Source code in ebcc/codegen/RDFCCD.py +
275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
def make_rdm1_f(l2=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:51:05.152915.
+
+    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 = np.copy(np.transpose(t2, (0, 1, 3, 2)))
+    tmp0 += t2 * -0.5
+    rdm1.vv = einsum(tmp0, (0, 1, 2, 3), l2, (4, 2, 0, 1), (4, 3)) * 4
+    rdm1.oo = np.copy(delta.oo) * 2
+    del delta
+    rdm1.oo += einsum(l2, (0, 1, 2, 3), tmp0, (2, 4, 1, 0), (4, 3)) * -4
+    del tmp0
+    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
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCCD.make_rdm2_f(l2=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:51:17.247154.

+

Parameters

+

l2 : array + L2 amplitudes. +t2 : array + T2 amplitudes.

+

Returns

+

rdm2 : array + Two-particle reduced density matrix.

+ +
+ Source code in ebcc/codegen/RDFCCD.py +
310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
def make_rdm2_f(l2=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:51:17.247154.
+
+    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 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1
+    tmp3 += np.transpose(l2, (2, 3, 0, 1)) * 2
+    tmp6 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1
+    tmp6 += np.transpose(l2, (2, 3, 0, 1))
+    tmp1 = np.copy(np.transpose(t2, (0, 1, 3, 2)))
+    tmp1 += t2 * -0.5
+    tmp13 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * 2
+    tmp13 += np.transpose(l2, (2, 3, 0, 1)) * -1
+    tmp4 = einsum(t2, (0, 1, 2, 3), tmp3, (1, 4, 3, 5), (0, 4, 2, 5))
+    tmp7 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 4, 2, 5), (0, 4, 3, 5))
+    tmp2 = einsum(tmp1, (0, 1, 2, 3), l2, (3, 2, 0, 4), (4, 1)) * 2
+    del tmp1
+    tmp14 = einsum(t2, (0, 1, 2, 3), tmp13, (0, 1, 3, 4), (2, 4)) * 0.5
+    tmp26 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * 2
+    tmp26 += np.transpose(l2, (2, 3, 0, 1)) * -1
+    tmp22 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp22 += t2
+    tmp24 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp24 += t2 * 2
+    tmp28 = np.copy(np.transpose(l2, (3, 2, 0, 1)))
+    tmp28 += np.transpose(l2, (2, 3, 0, 1)) * -1
+    tmp5 = einsum(t2, (0, 1, 2, 3), tmp4, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp4
+    tmp8 = einsum(t2, (0, 1, 2, 3), tmp7, (4, 1, 5, 2), (0, 4, 3, 5))
+    del tmp7
+    tmp16 = einsum(t2, (0, 1, 2, 3), tmp2, (1, 4), (0, 4, 3, 2))
+    tmp15 = einsum(t2, (0, 1, 2, 3), tmp14, (4, 2), (0, 1, 3, 4)) * 2
+    tmp18 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 5, 1), (5, 0, 4, 3))
+    tmp20 = einsum(l2, (0, 1, 2, 3), t2, (4, 2, 1, 5), (3, 4, 0, 5))
+    tmp0 = einsum(t2, (0, 1, 2, 3), l2, (3, 2, 4, 5), (5, 4, 0, 1))
+    tmp10 = einsum(t2, (0, 1, 2, 3), tmp3, (1, 4, 2, 5), (0, 4, 3, 5))
+    del tmp3
+    tmp32 = einsum(t2, (0, 1, 2, 3), l2, (4, 5, 1, 0), (4, 5, 3, 2))
+    tmp27 = einsum(t2, (0, 1, 2, 3), tmp26, (1, 4, 5, 3), (0, 4, 2, 5))
+    del tmp26
+    tmp31 = einsum(t2, (0, 1, 2, 3), tmp6, (1, 4, 5, 2), (0, 4, 3, 5))
+    del tmp6
+    tmp30 = einsum(t2, (0, 1, 2, 3), tmp13, (0, 1, 3, 4), (2, 4))
+    del tmp13
+    tmp23 = einsum(tmp22, (0, 1, 2, 3), l2, (4, 2, 0, 5), (5, 1, 4, 3))
+    del tmp22
+    tmp25 = einsum(l2, (0, 1, 2, 3), tmp24, (3, 4, 1, 5), (2, 4, 0, 5))
+    del tmp24
+    tmp29 = einsum(t2, (0, 1, 2, 3), tmp28, (1, 4, 5, 2), (0, 4, 3, 5))
+    del tmp28
+    tmp9 = np.copy(tmp5) * 2
+    tmp9 += np.transpose(tmp8, (1, 0, 3, 2))
+    del tmp8
+    tmp17 = np.copy(np.transpose(tmp15, (1, 0, 2, 3)))
+    del tmp15
+    tmp17 += np.transpose(tmp16, (0, 1, 3, 2))
+    del tmp16
+    tmp19 = einsum(tmp18, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 1, 5, 3))
+    tmp21 = einsum(tmp20, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 1, 5, 3))
+    tmp12 = einsum(tmp0, (0, 1, 2, 3), t2, (1, 0, 4, 5), (3, 2, 4, 5))
+    tmp11 = einsum(t2, (0, 1, 2, 3), tmp10, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp10
+    rdm2.vvvv = np.copy(np.transpose(tmp32, (1, 0, 2, 3))) * -2
+    rdm2.vvvv += np.transpose(tmp32, (1, 0, 3, 2)) * 4
+    del tmp32
+    rdm2.vvoo = np.copy(np.transpose(l2, (0, 1, 3, 2))) * -2
+    rdm2.vvoo += l2 * 4
+    rdm2.vovo = np.copy(np.transpose(tmp27, (3, 0, 2, 1))) * -2
+    rdm2.vovo += np.transpose(tmp31, (3, 0, 2, 1)) * -2
+    del tmp31
+    rdm2.vovo += einsum(delta.oo, (0, 1), tmp30, (2, 3), (3, 0, 2, 1)) * 4
+    rdm2.vovo += np.transpose(tmp20, (2, 1, 3, 0)) * -2
+    rdm2.voov = np.copy(np.transpose(tmp25, (2, 1, 0, 3))) * 2
+    rdm2.voov += np.transpose(tmp23, (2, 1, 0, 3)) * -2
+    rdm2.voov += einsum(delta.oo, (0, 1), tmp30, (2, 3), (3, 0, 1, 2)) * -2
+    del tmp30
+    rdm2.voov += np.transpose(tmp18, (2, 1, 0, 3)) * -2
+    rdm2.voov += np.transpose(tmp27, (3, 0, 1, 2)) * 2
+    rdm2.ovvo = np.copy(np.transpose(tmp27, (0, 3, 2, 1))) * 4
+    del tmp27
+    rdm2.ovvo += np.transpose(tmp29, (0, 3, 2, 1)) * -2
+    del tmp29
+    rdm2.ovvo += einsum(delta.oo, (0, 1), tmp14, (2, 3), (0, 3, 2, 1)) * -4
+    rdm2.ovvo += np.transpose(tmp18, (1, 2, 3, 0)) * -2
+    del tmp18
+    rdm2.ovov = np.copy(np.transpose(tmp23, (1, 2, 0, 3))) * 2
+    del tmp23
+    rdm2.ovov += np.transpose(tmp25, (1, 2, 0, 3)) * -2
+    del tmp25
+    rdm2.ovov += einsum(delta.oo, (0, 1), tmp14, (2, 3), (0, 3, 1, 2)) * 8
+    del tmp14
+    rdm2.ovov += np.transpose(tmp20, (1, 2, 0, 3)) * -2
+    del tmp20
+    rdm2.oovv = np.copy(tmp9) * 2
+    rdm2.oovv += np.transpose(tmp9, (0, 1, 3, 2)) * -2
+    del tmp9
+    rdm2.oovv += tmp11 * -4
+    rdm2.oovv += np.transpose(tmp11, (0, 1, 3, 2)) * 2
+    rdm2.oovv += np.transpose(tmp11, (1, 0, 2, 3)) * 2
+    rdm2.oovv += np.transpose(tmp11, (1, 0, 3, 2)) * -4
+    del tmp11
+    rdm2.oovv += tmp12 * 4
+    rdm2.oovv += np.transpose(tmp12, (0, 1, 3, 2)) * -2
+    del tmp12
+    rdm2.oovv += tmp17 * -4
+    rdm2.oovv += np.transpose(tmp17, (0, 1, 3, 2)) * 2
+    rdm2.oovv += np.transpose(tmp17, (1, 0, 2, 3)) * 2
+    rdm2.oovv += np.transpose(tmp17, (1, 0, 3, 2)) * -4
+    del tmp17
+    rdm2.oovv += np.transpose(t2, (0, 1, 3, 2)) * -2
+    rdm2.oovv += t2 * 4
+    rdm2.oovv += tmp19 * 2
+    del tmp19
+    rdm2.oovv += np.transpose(tmp21, (0, 1, 3, 2)) * 2
+    del tmp21
+    rdm2.oovv += np.transpose(tmp5, (1, 0, 3, 2)) * 4
+    del tmp5
+    rdm2.oooo = np.copy(np.transpose(tmp0, (2, 3, 1, 0))) * -2
+    rdm2.oooo += np.transpose(tmp0, (3, 2, 1, 0)) * 4
+    del tmp0
+    rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * 4
+    rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -2
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp2, (2, 3), (3, 0, 2, 1)) * -4
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp2, (2, 3), (0, 3, 2, 1)) * 2
+    rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0)) * 2
+    rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0)) * -4
+    del tmp2, delta
+    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 = np.transpose(rdm2, (0, 2, 1, 3))
+
+    return rdm2
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCCD.hbar_matvec_ip_intermediates(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:51:25.930675.

+

Parameters

+

f : array + Fock matrix. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp13 : array +tmp15 : array +tmp16 : array +tmp18 : array +tmp23 : array +tmp24 : array +tmp25 : array +tmp27 : array +tmp28 : array +tmp3 : array +tmp30 : array +tmp31 : array +tmp32 : array +tmp37 : array +tmp38 : array +tmp39 : array +tmp4 : array +tmp40 : array +tmp41 : array +tmp43 : array +tmp49 : array +tmp50 : array +tmp6 : array +tmp7 : array

+ +
+ Source code in ebcc/codegen/RDFCCD.py +
467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
def hbar_matvec_ip_intermediates(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:51:25.930675.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp13 : array
+    tmp15 : array
+    tmp16 : array
+    tmp18 : array
+    tmp23 : array
+    tmp24 : array
+    tmp25 : array
+    tmp27 : array
+    tmp28 : array
+    tmp3 : array
+    tmp30 : array
+    tmp31 : array
+    tmp32 : array
+    tmp37 : array
+    tmp38 : array
+    tmp39 : array
+    tmp4 : array
+    tmp40 : array
+    tmp41 : array
+    tmp43 : array
+    tmp49 : array
+    tmp50 : array
+    tmp6 : array
+    tmp7 : array
+    """
+
+    tmp3 = einsum(v.xov, (0, 1, 2), t2, (3, 1, 2, 4), (3, 4, 0))
+    tmp6 = einsum(v.xov, (0, 1, 2), t2, (3, 1, 4, 2), (3, 4, 0))
+    tmp0 = einsum(v.xov, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp15 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp12 = einsum(v.xov, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp50 = einsum(tmp3, (0, 1, 2), v.xvv, (2, 3, 1), (0, 3))
+    tmp49 = einsum(tmp6, (0, 1, 2), v.xvv, (2, 3, 1), (0, 3))
+    tmp43 = einsum(tmp6, (0, 1, 2), v.xov, (2, 0, 3), (1, 3))
+    tmp41 = einsum(tmp3, (0, 1, 2), v.xov, (2, 0, 3), (1, 3))
+    tmp40 = einsum(tmp0, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5))
+    tmp39 = einsum(tmp0, (0, 1, 2, 3), t2, (1, 2, 4, 3), (0, 4))
+    tmp38 = einsum(t2, (0, 1, 2, 3), tmp0, (4, 0, 1, 2), (4, 3))
+    tmp37 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp32 = einsum(tmp15, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 1, 5, 2))
+    tmp31 = einsum(tmp15, (0, 1, 2, 3), t2, (4, 0, 3, 5), (4, 1, 5, 2))
+    tmp30 = einsum(tmp3, (0, 1, 2), v.xoo, (2, 3, 4), (0, 3, 4, 1))
+    tmp28 = einsum(tmp6, (0, 1, 2), v.xoo, (2, 3, 4), (0, 3, 4, 1))
+    tmp27 = einsum(t2, (0, 1, 2, 3), tmp0, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp25 = einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (3, 1, 2, 4))
+    tmp24 = einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp23 = einsum(f.ov, (0, 1), t2, (2, 0, 1, 3), (2, 3))
+    tmp18 = einsum(v.xvv, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp16 = einsum(t2, (0, 1, 2, 3), tmp15, (4, 5, 3, 2), (0, 1, 5, 4))
+    tmp13 = einsum(t2, (0, 1, 2, 3), tmp12, (4, 5, 3, 2), (0, 1, 4, 5))
+    del tmp12
+    tmp7 = einsum(tmp6, (0, 1, 2), v.xov, (2, 3, 1), (0, 3))
+    tmp4 = einsum(tmp3, (0, 1, 2), v.xov, (2, 3, 1), (0, 3))
+
+    return {f"tmp0": tmp0, f"tmp13": tmp13, f"tmp15": tmp15, f"tmp16": tmp16, f"tmp18": tmp18, f"tmp23": tmp23, f"tmp24": tmp24, f"tmp25": tmp25, f"tmp27": tmp27, f"tmp28": tmp28, f"tmp3": tmp3, f"tmp30": tmp30, f"tmp31": tmp31, f"tmp32": tmp32, f"tmp37": tmp37, f"tmp38": tmp38, f"tmp39": tmp39, f"tmp4": tmp4, f"tmp40": tmp40, f"tmp41": tmp41, f"tmp43": tmp43, f"tmp49": tmp49, f"tmp50": tmp50, f"tmp6": tmp6, f"tmp7": tmp7}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCCD.hbar_matvec_ip(f=None, r1=None, r2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:51:25.944875.

+

Parameters

+

f : array + Fock matrix. +r1 : array + R1 amplitudes. +r2 : array + R2 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

r1new : array + Updated R1 residuals. +r2new : array + Updated R2 residuals.

+ +
+ Source code in ebcc/codegen/RDFCCD.py +
539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
def hbar_matvec_ip(f=None, r1=None, r2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:51:25.944875.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    r1 : array
+        R1 amplitudes.
+    r2 : array
+        R2 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    r1new : array
+        Updated R1 residuals.
+    r2new : array
+        Updated R2 residuals.
+    """
+
+    ints = kwargs["ints"]
+    tmp0 = np.copy(r2) * -1
+    tmp0 += np.transpose(r2, (1, 0, 2)) * 2
+    tmp8 = einsum(tmp0, (0, 1, 2), ints.tmp15, (1, 0, 2, 3), (3,)) * 0.5
+    del ints.tmp15
+    tmp3 = np.copy(ints.tmp18)
+    tmp3 += ints.tmp31 * -1
+    tmp4 = np.copy(ints.tmp16)
+    del ints.tmp16
+    tmp4 += np.transpose(ints.tmp25, (2, 0, 1, 3))
+    del ints.tmp25
+    tmp10 = np.copy(f.ov)
+    tmp10 += ints.tmp24 * 2
+    del ints.tmp24
+    tmp10 += ints.tmp38
+    del ints.tmp38
+    tmp10 += ints.tmp49 * 2
+    del ints.tmp49
+    tmp10 += ints.tmp23 * -1
+    del ints.tmp23
+    tmp10 += ints.tmp39 * -2
+    del ints.tmp39
+    tmp10 += ints.tmp50 * -1
+    del ints.tmp50
+    tmp7 = np.copy(f.vv)
+    tmp7 += np.transpose(ints.tmp41, (1, 0))
+    del ints.tmp41
+    tmp7 += np.transpose(ints.tmp43, (1, 0)) * -2
+    del ints.tmp43
+    tmp2 = np.copy(ints.tmp18) * 0.5
+    del ints.tmp18
+    tmp2 += ints.tmp32
+    tmp2 += ints.tmp31 * -0.5
+    del ints.tmp31
+    tmp1 = np.copy(f.oo)
+    tmp1 += np.transpose(ints.tmp7, (1, 0)) * 2
+    del ints.tmp7
+    tmp1 += np.transpose(ints.tmp4, (1, 0)) * -1
+    del ints.tmp4
+    tmp6 = np.copy(ints.tmp6) * 2
+    del ints.tmp6
+    tmp6 += np.transpose(v.xov, (1, 2, 0))
+    tmp6 += ints.tmp3 * -1
+    del ints.tmp3
+    tmp9 = np.copy(ints.tmp0)
+    tmp9 += np.transpose(ints.tmp13, (0, 2, 1, 3))
+    del ints.tmp13
+    tmp9 += np.transpose(ints.tmp28, (2, 1, 0, 3)) * 2
+    del ints.tmp28
+    tmp9 += np.transpose(ints.tmp37, (2, 0, 1, 3))
+    del ints.tmp37
+    tmp9 += np.transpose(ints.tmp27, (1, 2, 0, 3)) * -1
+    del ints.tmp27
+    tmp9 += np.transpose(ints.tmp30, (2, 1, 0, 3)) * -1
+    del ints.tmp30
+    tmp9 += np.transpose(ints.tmp40, (0, 2, 1, 3)) * -1
+    del ints.tmp40
+    tmp5 = einsum(v.xov, (0, 1, 2), tmp0, (3, 1, 2), (3, 0)) * 0.5
+    r2new = einsum(r2, (0, 1, 2), ints.tmp32, (3, 1, 4, 2), (3, 0, 4))
+    del ints.tmp32
+    r2new += einsum(r2, (0, 1, 2), tmp2, (3, 0, 4, 2), (3, 1, 4)) * -2
+    del tmp2
+    r2new += einsum(tmp3, (0, 1, 2, 3), r2, (4, 1, 3), (4, 0, 2)) * -1
+    del tmp3
+    r2new += einsum(r2, (0, 1, 2), tmp4, (3, 4, 0, 1), (3, 4, 2))
+    del tmp4
+    r2new += einsum(tmp5, (0, 1), tmp6, (2, 3, 1), (2, 0, 3)) * 2
+    del tmp5, tmp6
+    r2new += einsum(tmp7, (0, 1), r2, (2, 3, 0), (2, 3, 1))
+    del tmp7
+    r2new += einsum(tmp8, (0,), t2, (1, 2, 3, 0), (1, 2, 3)) * -2
+    del tmp8
+    r2new += einsum(tmp9, (0, 1, 2, 3), r1, (1,), (2, 0, 3))
+    del tmp9
+    r2new += einsum(tmp1, (0, 1), r2, (0, 2, 3), (1, 2, 3)) * -1
+    r2new += einsum(tmp1, (0, 1), r2, (2, 0, 3), (2, 1, 3)) * -1
+    r2new += einsum(r1, (0,), tmp10, (1, 2), (1, 0, 2)) * -1
+    del tmp10
+    r1new = einsum(tmp0, (0, 1, 2), ints.tmp0, (3, 0, 1, 2), (3,))
+    del ints.tmp0
+    r1new += einsum(tmp0, (0, 1, 2), f.ov, (1, 2), (0,)) * -1
+    del tmp0
+    r1new += einsum(r1, (0,), tmp1, (0, 1), (1,)) * -1
+    del tmp1
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCCD.hbar_matvec_ea_intermediates(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:51:34.550320.

+

Parameters

+

f : array + Fock matrix. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp12 : array +tmp15 : array +tmp16 : array +tmp18 : array +tmp20 : array +tmp28 : array +tmp3 : array +tmp30 : array +tmp31 : array +tmp32 : array +tmp34 : array +tmp36 : array +tmp37 : array +tmp38 : array +tmp4 : array +tmp40 : array +tmp41 : array +tmp44 : array +tmp49 : array +tmp50 : array +tmp6 : array +tmp7 : array

+ +
+ Source code in ebcc/codegen/RDFCCD.py +
651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
def hbar_matvec_ea_intermediates(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:51:34.550320.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp12 : array
+    tmp15 : array
+    tmp16 : array
+    tmp18 : array
+    tmp20 : array
+    tmp28 : array
+    tmp3 : array
+    tmp30 : array
+    tmp31 : array
+    tmp32 : array
+    tmp34 : array
+    tmp36 : array
+    tmp37 : array
+    tmp38 : array
+    tmp4 : array
+    tmp40 : array
+    tmp41 : array
+    tmp44 : array
+    tmp49 : array
+    tmp50 : array
+    tmp6 : array
+    tmp7 : array
+    """
+
+    tmp19 = einsum(v.xov, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp15 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp3 = einsum(v.xov, (0, 1, 2), t2, (3, 1, 2, 4), (3, 4, 0))
+    tmp0 = einsum(v.xov, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp6 = einsum(v.xov, (0, 1, 2), t2, (3, 1, 4, 2), (3, 4, 0))
+    tmp50 = einsum(tmp19, (0, 1, 2, 3), t2, (1, 2, 4, 3), (0, 4))
+    tmp49 = einsum(t2, (0, 1, 2, 3), tmp19, (4, 0, 1, 2), (4, 3))
+    tmp44 = einsum(tmp15, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 1, 5, 2))
+    tmp41 = einsum(v.xvv, (0, 1, 2), tmp3, (3, 4, 0), (3, 4, 1, 2))
+    tmp40 = einsum(t2, (0, 1, 2, 3), tmp0, (1, 4, 3, 5), (0, 2, 5, 4))
+    tmp38 = einsum(v.xvv, (0, 1, 2), tmp6, (3, 4, 0), (3, 4, 1, 2))
+    tmp37 = einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp36 = einsum(f.ov, (0, 1), t2, (2, 0, 1, 3), (2, 3))
+    tmp34 = einsum(tmp6, (0, 1, 2), v.xov, (2, 3, 1), (0, 3))
+    tmp32 = einsum(tmp3, (0, 1, 2), v.xov, (2, 3, 1), (0, 3))
+    tmp31 = einsum(tmp3, (0, 1, 2), v.xvv, (2, 3, 1), (0, 3))
+    tmp30 = einsum(tmp6, (0, 1, 2), v.xvv, (2, 3, 1), (0, 3))
+    tmp28 = einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (3, 1, 2, 4))
+    tmp20 = einsum(t2, (0, 1, 2, 3), tmp19, (4, 0, 1, 5), (4, 2, 3, 5))
+    del tmp19
+    tmp18 = einsum(v.xvv, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp16 = einsum(tmp15, (0, 1, 2, 3), t2, (4, 0, 3, 5), (4, 1, 5, 2))
+    tmp12 = einsum(tmp0, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 5, 3, 1))
+    tmp7 = einsum(tmp6, (0, 1, 2), v.xov, (2, 0, 3), (1, 3))
+    tmp4 = einsum(tmp3, (0, 1, 2), v.xov, (2, 0, 3), (1, 3))
+
+    return {f"tmp0": tmp0, f"tmp12": tmp12, f"tmp15": tmp15, f"tmp16": tmp16, f"tmp18": tmp18, f"tmp20": tmp20, f"tmp28": tmp28, f"tmp3": tmp3, f"tmp30": tmp30, f"tmp31": tmp31, f"tmp32": tmp32, f"tmp34": tmp34, f"tmp36": tmp36, f"tmp37": tmp37, f"tmp38": tmp38, f"tmp4": tmp4, f"tmp40": tmp40, f"tmp41": tmp41, f"tmp44": tmp44, f"tmp49": tmp49, f"tmp50": tmp50, f"tmp6": tmp6, f"tmp7": tmp7}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCCD.hbar_matvec_ea(f=None, r1=None, r2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:51:34.563532.

+

Parameters

+

f : array + Fock matrix. +r1 : array + R1 amplitudes. +r2 : array + R2 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

r1new : array + Updated R1 residuals. +r2new : array + Updated R2 residuals.

+ +
+ Source code in ebcc/codegen/RDFCCD.py +
719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
def hbar_matvec_ea(f=None, r1=None, r2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:51:34.563532.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    r1 : array
+        R1 amplitudes.
+    r2 : array
+        R2 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    r1new : array
+        Updated R1 residuals.
+    r2new : array
+        Updated R2 residuals.
+    """
+
+    ints = kwargs["ints"]
+    tmp9 = np.copy(np.transpose(r2, (2, 0, 1)))
+    tmp9 += np.transpose(r2, (2, 1, 0)) * -0.5
+    tmp1 = np.copy(np.transpose(r2, (2, 0, 1))) * -1
+    tmp1 += np.transpose(r2, (2, 1, 0)) * 2
+    tmp8 = np.copy(ints.tmp0)
+    tmp8 += np.transpose(ints.tmp20, (0, 2, 3, 1))
+    del ints.tmp20
+    tmp8 += np.transpose(ints.tmp38, (0, 3, 2, 1)) * 2
+    del ints.tmp38
+    tmp8 += ints.tmp12 * -1
+    del ints.tmp12
+    tmp8 += np.transpose(ints.tmp40, (0, 3, 2, 1)) * -1
+    del ints.tmp40
+    tmp8 += np.transpose(ints.tmp41, (0, 3, 2, 1)) * -1
+    del ints.tmp41
+    tmp3 = einsum(r2, (0, 1, 2), ints.tmp15, (3, 4, 1, 0), (3, 4, 2))
+    tmp4 = np.copy(ints.tmp18) * 0.5
+    tmp4 += ints.tmp44
+    tmp4 += ints.tmp16 * -0.5
+    tmp10 = einsum(r1, (0,), f.ov, (1, 0), (1,))
+    tmp10 += einsum(ints.tmp15, (0, 1, 2, 3), tmp9, (0, 2, 3), (1,)) * -2
+    del ints.tmp15, tmp9
+    tmp7 = np.copy(ints.tmp6) * 2
+    del ints.tmp6
+    tmp7 += np.transpose(v.xov, (1, 2, 0))
+    tmp7 += ints.tmp3 * -1
+    del ints.tmp3
+    tmp2 = np.copy(f.vv)
+    tmp2 += np.transpose(ints.tmp4, (1, 0))
+    del ints.tmp4
+    tmp2 += np.transpose(ints.tmp7, (1, 0)) * -2
+    del ints.tmp7
+    tmp12 = np.copy(f.ov)
+    tmp12 += ints.tmp30 * 2
+    del ints.tmp30
+    tmp12 += ints.tmp37 * 2
+    del ints.tmp37
+    tmp12 += ints.tmp49
+    del ints.tmp49
+    tmp12 += ints.tmp31 * -1
+    del ints.tmp31
+    tmp12 += ints.tmp36 * -1
+    del ints.tmp36
+    tmp12 += ints.tmp50 * -2
+    del ints.tmp50
+    tmp6 = einsum(v.xov, (0, 1, 2), tmp1, (1, 3, 2), (3, 0)) * 0.5
+    tmp11 = np.copy(f.oo)
+    tmp11 += np.transpose(ints.tmp34, (1, 0)) * 2
+    del ints.tmp34
+    tmp11 += np.transpose(ints.tmp32, (1, 0)) * -1
+    del ints.tmp32
+    tmp5 = np.copy(ints.tmp16)
+    del ints.tmp16
+    tmp5 += ints.tmp18 * -1
+    del ints.tmp18
+    tmp0 = np.copy(np.transpose(r2, (2, 0, 1))) * -0.5
+    tmp0 += np.transpose(r2, (2, 1, 0))
+    r2new = einsum(ints.tmp44, (0, 1, 2, 3), r2, (4, 3, 1), (2, 4, 0))
+    del ints.tmp44
+    r2new += einsum(tmp3, (0, 1, 2), t2, (1, 0, 3, 4), (3, 4, 2))
+    del tmp3
+    r2new += einsum(r2, (0, 1, 2), ints.tmp28, (3, 0, 4, 1), (4, 3, 2))
+    del ints.tmp28
+    r2new += einsum(tmp4, (0, 1, 2, 3), r2, (3, 4, 1), (2, 4, 0)) * -2
+    del tmp4
+    r2new += einsum(tmp5, (0, 1, 2, 3), r2, (4, 3, 1), (4, 2, 0))
+    del tmp5
+    r2new += einsum(tmp7, (0, 1, 2), tmp6, (3, 2), (1, 3, 0)) * 2
+    del tmp7, tmp6
+    r2new += einsum(r1, (0,), tmp8, (1, 2, 0, 3), (3, 2, 1)) * -1
+    del tmp8
+    r2new += einsum(tmp2, (0, 1), r2, (0, 2, 3), (1, 2, 3))
+    r2new += einsum(r2, (0, 1, 2), tmp2, (1, 3), (0, 3, 2))
+    r2new += einsum(t2, (0, 1, 2, 3), tmp10, (1,), (2, 3, 0))
+    del tmp10
+    r2new += einsum(tmp11, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp11
+    r2new += einsum(tmp12, (0, 1), r1, (2,), (1, 2, 0)) * -1
+    del tmp12
+    r1new = einsum(tmp0, (0, 1, 2), ints.tmp0, (0, 3, 1, 2), (3,)) * -2
+    del ints.tmp0, tmp0
+    r1new += einsum(f.ov, (0, 1), tmp1, (0, 2, 1), (2,)) * -1
+    del tmp1
+    r1new += einsum(tmp2, (0, 1), r1, (0,), (1,))
+    del tmp2
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCCD.hbar_lmatvec_ip_intermediates(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:51:47.677341.

+

Parameters

+

f : array + Fock matrix. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp1 : array +tmp10 : array +tmp12 : array +tmp13 : array +tmp15 : array +tmp18 : array +tmp21 : array +tmp23 : array +tmp25 : array +tmp27 : array +tmp29 : array +tmp3 : array +tmp32 : array +tmp36 : array +tmp41 : array +tmp43 : array +tmp44 : array +tmp45 : array +tmp59 : array +tmp6 : array +tmp63 : array +tmp65 : array +tmp67 : array +tmp9 : array

+ +
+ Source code in ebcc/codegen/RDFCCD.py +
833
+834
+835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+845
+846
+847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
+858
+859
+860
+861
+862
+863
+864
+865
+866
+867
+868
+869
+870
+871
+872
+873
+874
+875
+876
+877
+878
+879
+880
+881
+882
+883
+884
+885
+886
+887
+888
+889
+890
+891
+892
+893
+894
+895
+896
+897
+898
+899
+900
+901
+902
+903
def hbar_lmatvec_ip_intermediates(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:51:47.677341.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp1 : array
+    tmp10 : array
+    tmp12 : array
+    tmp13 : array
+    tmp15 : array
+    tmp18 : array
+    tmp21 : array
+    tmp23 : array
+    tmp25 : array
+    tmp27 : array
+    tmp29 : array
+    tmp3 : array
+    tmp32 : array
+    tmp36 : array
+    tmp41 : array
+    tmp43 : array
+    tmp44 : array
+    tmp45 : array
+    tmp59 : array
+    tmp6 : array
+    tmp63 : array
+    tmp65 : array
+    tmp67 : array
+    tmp9 : array
+    """
+
+    tmp12 = einsum(v.xov, (0, 1, 2), t2, (3, 1, 4, 2), (3, 4, 0))
+    tmp9 = einsum(v.xov, (0, 1, 2), t2, (3, 1, 2, 4), (3, 4, 0))
+    tmp43 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp35 = einsum(v.xov, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp6 = einsum(v.xov, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp67 = einsum(tmp12, (0, 1, 2), v.xov, (2, 0, 3), (1, 3))
+    tmp65 = einsum(v.xov, (0, 1, 2), tmp9, (1, 3, 0), (3, 2))
+    tmp63 = einsum(tmp43, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 5, 0, 1))
+    tmp59 = einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (3, 1, 2, 4))
+    tmp45 = einsum(tmp43, (0, 1, 2, 3), t2, (4, 1, 5, 2), (4, 0, 5, 3))
+    tmp44 = einsum(tmp43, (0, 1, 2, 3), t2, (4, 1, 2, 5), (4, 0, 5, 3))
+    tmp41 = einsum(v.xvv, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp36 = einsum(tmp35, (0, 1, 2, 3), t2, (4, 5, 3, 2), (4, 5, 0, 1))
+    del tmp35
+    tmp32 = einsum(v.xvv, (0, 1, 2), tmp9, (3, 2, 0), (3, 1))
+    tmp29 = einsum(tmp12, (0, 1, 2), v.xvv, (2, 3, 1), (0, 3))
+    tmp27 = einsum(tmp12, (0, 1, 2), v.xoo, (2, 3, 4), (0, 3, 4, 1))
+    tmp25 = einsum(v.xoo, (0, 1, 2), tmp9, (3, 4, 0), (3, 1, 2, 4))
+    tmp23 = einsum(t2, (0, 1, 2, 3), tmp6, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp21 = einsum(tmp6, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5))
+    tmp18 = einsum(tmp6, (0, 1, 2, 3), t2, (1, 2, 4, 3), (0, 4))
+    tmp15 = einsum(t2, (0, 1, 2, 3), tmp6, (4, 0, 1, 2), (4, 3))
+    tmp13 = einsum(tmp12, (0, 1, 2), v.xov, (2, 3, 1), (0, 3))
+    tmp10 = einsum(v.xov, (0, 1, 2), tmp9, (3, 2, 0), (3, 1))
+    tmp3 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp1 = einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp0 = einsum(f.ov, (0, 1), t2, (2, 0, 1, 3), (2, 3))
+
+    return {f"tmp0": tmp0, f"tmp1": tmp1, f"tmp10": tmp10, f"tmp12": tmp12, f"tmp13": tmp13, f"tmp15": tmp15, f"tmp18": tmp18, f"tmp21": tmp21, f"tmp23": tmp23, f"tmp25": tmp25, f"tmp27": tmp27, f"tmp29": tmp29, f"tmp3": tmp3, f"tmp32": tmp32, f"tmp36": tmp36, f"tmp41": tmp41, f"tmp43": tmp43, f"tmp44": tmp44, f"tmp45": tmp45, f"tmp59": tmp59, f"tmp6": tmp6, f"tmp63": tmp63, f"tmp65": tmp65, f"tmp67": tmp67, f"tmp9": tmp9}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCCD.hbar_lmatvec_ip(f=None, r1=None, r2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:51:47.691377.

+

Parameters

+

f : array + Fock matrix. +r1 : array + R1 amplitudes. +r2 : array + R2 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

r1new : array + Updated R1 residuals. +r2new : array + Updated R2 residuals.

+ +
+ Source code in ebcc/codegen/RDFCCD.py +
 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
def hbar_lmatvec_ip(f=None, r1=None, r2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:51:47.691377.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    r1 : array
+        R1 amplitudes.
+    r2 : array
+        R2 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    r1new : array
+        Updated R1 residuals.
+    r2new : array
+        Updated R2 residuals.
+    """
+
+    ints = kwargs["ints"]
+    tmp8 = np.copy(ints.tmp12)
+    del ints.tmp12
+    tmp8 += np.transpose(v.xov, (1, 2, 0)) * 0.5
+    tmp8 += ints.tmp9 * -0.5
+    del ints.tmp9
+    tmp2 = np.copy(r2) * -1
+    tmp2 += np.transpose(r2, (1, 0, 2)) * 2
+    tmp11 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5
+    tmp11 += t2
+    tmp9 = einsum(tmp2, (0, 1, 2), tmp8, (1, 2, 3), (0, 3)) * 2
+    del tmp8
+    tmp10 = np.copy(f.vv)
+    tmp10 += ints.tmp65
+    del ints.tmp65
+    tmp10 += ints.tmp67 * -2
+    del ints.tmp67
+    tmp7 = np.copy(ints.tmp41)
+    tmp7 += np.transpose(ints.tmp44, (1, 0, 3, 2)) * -1
+    tmp12 = einsum(tmp11, (0, 1, 2, 3), r2, (0, 1, 2), (3,))
+    del tmp11
+    tmp6 = np.copy(ints.tmp41) * 0.5
+    del ints.tmp41
+    tmp6 += np.transpose(ints.tmp45, (1, 0, 3, 2))
+    tmp6 += np.transpose(ints.tmp44, (1, 0, 3, 2)) * -0.5
+    del ints.tmp44
+    tmp5 = np.copy(f.oo)
+    tmp5 += ints.tmp13 * 2
+    del ints.tmp13
+    tmp5 += ints.tmp10 * -1
+    del ints.tmp10
+    tmp0 = np.copy(r2)
+    tmp0 += np.transpose(r2, (1, 0, 2)) * -0.5
+    tmp3 = np.copy(ints.tmp27) * 2
+    del ints.tmp27
+    tmp3 += np.transpose(ints.tmp3, (1, 2, 0, 3))
+    del ints.tmp3
+    tmp3 += ints.tmp23 * -1
+    del ints.tmp23
+    tmp3 += ints.tmp25 * -1
+    del ints.tmp25
+    tmp4 = np.copy(f.ov)
+    tmp4 += ints.tmp15
+    del ints.tmp15
+    tmp4 += ints.tmp1 * 2
+    del ints.tmp1
+    tmp4 += ints.tmp29 * 2
+    del ints.tmp29
+    tmp4 += ints.tmp0 * -1
+    del ints.tmp0
+    tmp4 += ints.tmp18 * -2
+    del ints.tmp18
+    tmp4 += ints.tmp32 * -1
+    del ints.tmp32
+    tmp1 = np.copy(ints.tmp36)
+    del ints.tmp36
+    tmp1 += np.transpose(ints.tmp6, (1, 2, 0, 3))
+    tmp1 += ints.tmp21 * -1
+    del ints.tmp21
+    r2new = einsum(ints.tmp6, (0, 1, 2, 3), r1, (1,), (2, 0, 3))
+    del ints.tmp6
+    r2new += einsum(r2, (0, 1, 2), ints.tmp45, (1, 3, 2, 4), (3, 0, 4))
+    del ints.tmp45
+    r2new += einsum(r1, (0,), f.ov, (1, 2), (1, 0, 2)) * -1
+    r2new += einsum(ints.tmp59, (0, 1, 2, 3), r2, (1, 3, 4), (2, 0, 4))
+    del ints.tmp59
+    r2new += einsum(r2, (0, 1, 2), ints.tmp63, (1, 0, 3, 4), (4, 3, 2))
+    del ints.tmp63
+    r2new += einsum(r2, (0, 1, 2), tmp6, (3, 0, 4, 2), (3, 1, 4)) * -2
+    del tmp6
+    r2new += einsum(tmp7, (0, 1, 2, 3), r2, (4, 1, 3), (4, 0, 2)) * -1
+    del tmp7
+    r2new += einsum(v.xov, (0, 1, 2), tmp9, (3, 0), (1, 3, 2))
+    del tmp9
+    r2new += einsum(tmp10, (0, 1), r2, (2, 3, 0), (2, 3, 1))
+    del tmp10
+    r2new += einsum(ints.tmp43, (0, 1, 2, 3), tmp12, (3,), (0, 1, 2)) * -2
+    del ints.tmp43, tmp12
+    r2new += einsum(tmp5, (0, 1), r2, (0, 2, 3), (1, 2, 3)) * -1
+    r2new += einsum(r2, (0, 1, 2), tmp5, (1, 3), (0, 3, 2)) * -1
+    r1new = einsum(tmp0, (0, 1, 2), tmp1, (1, 0, 3, 2), (3,)) * 2
+    del tmp0, tmp1
+    r1new += einsum(tmp3, (0, 1, 2, 3), tmp2, (1, 0, 3), (2,))
+    del tmp3
+    r1new += einsum(tmp4, (0, 1), tmp2, (2, 0, 1), (2,)) * -1
+    del tmp2, tmp4
+    r1new += einsum(r1, (0,), tmp5, (0, 1), (1,)) * -1
+    del tmp5
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCCD.hbar_lmatvec_ea_intermediates(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:52:01.162423.

+

Parameters

+

f : array + Fock matrix. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp1 : array +tmp10 : array +tmp11 : array +tmp13 : array +tmp14 : array +tmp17 : array +tmp20 : array +tmp23 : array +tmp26 : array +tmp29 : array +tmp32 : array +tmp34 : array +tmp37 : array +tmp39 : array +tmp43 : array +tmp45 : array +tmp47 : array +tmp49 : array +tmp50 : array +tmp51 : array +tmp61 : array +tmp7 : array

+ +
+ Source code in ebcc/codegen/RDFCCD.py +
1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
def hbar_lmatvec_ea_intermediates(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:52:01.162423.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp1 : array
+    tmp10 : array
+    tmp11 : array
+    tmp13 : array
+    tmp14 : array
+    tmp17 : array
+    tmp20 : array
+    tmp23 : array
+    tmp26 : array
+    tmp29 : array
+    tmp32 : array
+    tmp34 : array
+    tmp37 : array
+    tmp39 : array
+    tmp43 : array
+    tmp45 : array
+    tmp47 : array
+    tmp49 : array
+    tmp50 : array
+    tmp51 : array
+    tmp61 : array
+    tmp7 : array
+    """
+
+    tmp49 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp13 = einsum(v.xov, (0, 1, 2), t2, (3, 1, 4, 2), (3, 4, 0))
+    tmp10 = einsum(v.xov, (0, 1, 2), t2, (3, 1, 2, 4), (3, 4, 0))
+    tmp7 = einsum(v.xov, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp16 = einsum(v.xov, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp61 = einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (3, 1, 2, 4))
+    tmp51 = einsum(tmp49, (0, 1, 2, 3), t2, (4, 1, 5, 2), (4, 0, 5, 3))
+    tmp50 = einsum(tmp49, (0, 1, 2, 3), t2, (4, 1, 2, 5), (4, 0, 5, 3))
+    tmp47 = einsum(tmp13, (0, 1, 2), v.xov, (2, 3, 1), (0, 3))
+    tmp45 = einsum(tmp10, (0, 1, 2), v.xov, (2, 3, 1), (0, 3))
+    tmp43 = einsum(v.xvv, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp39 = einsum(t2, (0, 1, 2, 3), tmp7, (1, 3, 4, 5), (0, 2, 5, 4))
+    tmp37 = einsum(tmp7, (0, 1, 2, 3), t2, (4, 0, 1, 5), (4, 5, 3, 2))
+    tmp34 = einsum(v.xvv, (0, 1, 2), tmp13, (3, 4, 0), (3, 4, 1, 2))
+    tmp32 = einsum(v.xvv, (0, 1, 2), tmp10, (3, 4, 0), (3, 4, 1, 2))
+    tmp29 = einsum(v.xvv, (0, 1, 2), tmp10, (3, 2, 0), (3, 1))
+    tmp26 = einsum(v.xvv, (0, 1, 2), tmp13, (3, 2, 0), (3, 1))
+    tmp23 = einsum(tmp16, (0, 1, 2, 3), t2, (1, 2, 4, 5), (0, 4, 5, 3))
+    tmp20 = einsum(tmp16, (0, 1, 2, 3), t2, (1, 2, 4, 3), (0, 4))
+    tmp17 = einsum(t2, (0, 1, 2, 3), tmp16, (4, 0, 1, 2), (4, 3))
+    del tmp16
+    tmp14 = einsum(tmp13, (0, 1, 2), v.xov, (2, 0, 3), (1, 3))
+    tmp11 = einsum(tmp10, (0, 1, 2), v.xov, (2, 0, 3), (1, 3))
+    tmp1 = einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp0 = einsum(f.ov, (0, 1), t2, (2, 0, 1, 3), (2, 3))
+
+    return {f"tmp0": tmp0, f"tmp1": tmp1, f"tmp10": tmp10, f"tmp11": tmp11, f"tmp13": tmp13, f"tmp14": tmp14, f"tmp17": tmp17, f"tmp20": tmp20, f"tmp23": tmp23, f"tmp26": tmp26, f"tmp29": tmp29, f"tmp32": tmp32, f"tmp34": tmp34, f"tmp37": tmp37, f"tmp39": tmp39, f"tmp43": tmp43, f"tmp45": tmp45, f"tmp47": tmp47, f"tmp49": tmp49, f"tmp50": tmp50, f"tmp51": tmp51, f"tmp61": tmp61, f"tmp7": tmp7}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCCD.hbar_lmatvec_ea(f=None, r1=None, r2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:52:01.175852.

+

Parameters

+

f : array + Fock matrix. +r1 : array + R1 amplitudes. +r2 : array + R2 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

r1new : array + Updated R1 residuals. +r2new : array + Updated R2 residuals.

+ +
+ Source code in ebcc/codegen/RDFCCD.py +
1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
def hbar_lmatvec_ea(f=None, r1=None, r2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:52:01.175852.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    r1 : array
+        R1 amplitudes.
+    r2 : array
+        R2 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    r1new : array
+        Updated R1 residuals.
+    r2new : array
+        Updated R2 residuals.
+    """
+
+    ints = kwargs["ints"]
+    tmp5 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5
+    tmp5 += t2
+    tmp11 = np.copy(ints.tmp13) * 2
+    del ints.tmp13
+    tmp11 += np.transpose(v.xov, (1, 2, 0))
+    tmp11 += ints.tmp10 * -1
+    del ints.tmp10
+    tmp10 = np.copy(np.transpose(r2, (2, 0, 1)))
+    tmp10 += np.transpose(r2, (2, 1, 0)) * -0.5
+    tmp14 = einsum(tmp5, (0, 1, 2, 3), r2, (2, 3, 0), (1,))
+    tmp8 = np.copy(ints.tmp43) * 0.5
+    tmp8 += np.transpose(ints.tmp51, (1, 0, 3, 2))
+    tmp8 += np.transpose(ints.tmp50, (1, 0, 3, 2)) * -0.5
+    tmp4 = np.copy(f.vv)
+    tmp4 += ints.tmp11
+    del ints.tmp11
+    tmp4 += ints.tmp14 * -2
+    del ints.tmp14
+    tmp7 = einsum(t2, (0, 1, 2, 3), r2, (2, 3, 4), (4, 0, 1))
+    tmp12 = einsum(tmp11, (0, 1, 2), tmp10, (0, 1, 3), (3, 2)) * 2
+    del tmp11, tmp10
+    tmp13 = np.copy(f.oo)
+    tmp13 += ints.tmp47 * 2
+    del ints.tmp47
+    tmp13 += ints.tmp45 * -1
+    del ints.tmp45
+    tmp9 = np.copy(ints.tmp43)
+    del ints.tmp43
+    tmp9 += np.transpose(ints.tmp50, (1, 0, 3, 2)) * -1
+    del ints.tmp50
+    tmp0 = np.copy(ints.tmp23) * 0.5
+    tmp0 += ints.tmp34
+    tmp0 += np.transpose(ints.tmp37, (0, 1, 3, 2))
+    tmp0 += ints.tmp32 * -0.5
+    tmp0 += np.transpose(ints.tmp39, (0, 1, 3, 2)) * -0.5
+    tmp0 += np.transpose(ints.tmp7, (0, 2, 3, 1)) * -1
+    tmp3 = np.copy(np.transpose(r2, (2, 0, 1))) * -1
+    tmp3 += np.transpose(r2, (2, 1, 0)) * 2
+    tmp2 = np.copy(f.ov)
+    tmp2 += ints.tmp17
+    del ints.tmp17
+    tmp2 += ints.tmp1 * 2
+    del ints.tmp1
+    tmp2 += ints.tmp26 * 2
+    del ints.tmp26
+    tmp2 += ints.tmp0 * -1
+    del ints.tmp0
+    tmp2 += ints.tmp20 * -2
+    del ints.tmp20
+    tmp2 += ints.tmp29 * -1
+    del ints.tmp29
+    tmp1 = np.copy(ints.tmp23) * 2
+    del ints.tmp23
+    tmp1 += ints.tmp34 * 4
+    del ints.tmp34
+    tmp1 += np.transpose(ints.tmp37, (0, 1, 3, 2))
+    del ints.tmp37
+    tmp1 += ints.tmp32 * -2
+    del ints.tmp32
+    tmp1 += np.transpose(ints.tmp39, (0, 1, 3, 2)) * -2
+    del ints.tmp39
+    tmp1 += np.transpose(ints.tmp7, (0, 2, 3, 1)) * -1
+    tmp6 = einsum(tmp5, (0, 1, 2, 3), r2, (2, 3, 0), (1,)) * 2
+    del tmp5
+    r2new = einsum(r1, (0,), ints.tmp7, (1, 2, 0, 3), (3, 2, 1)) * -1
+    del ints.tmp7
+    r2new += einsum(r1, (0,), f.ov, (1, 2), (2, 0, 1)) * -1
+    r2new += einsum(r2, (0, 1, 2), ints.tmp51, (2, 3, 1, 4), (4, 0, 3))
+    del ints.tmp51
+    r2new += einsum(ints.tmp49, (0, 1, 2, 3), tmp7, (4, 1, 0), (3, 2, 4))
+    del tmp7
+    r2new += einsum(r2, (0, 1, 2), ints.tmp61, (3, 0, 4, 1), (4, 3, 2))
+    del ints.tmp61
+    r2new += einsum(tmp8, (0, 1, 2, 3), r2, (3, 4, 1), (2, 4, 0)) * -2
+    del tmp8
+    r2new += einsum(tmp9, (0, 1, 2, 3), r2, (4, 3, 1), (4, 2, 0)) * -1
+    del tmp9
+    r2new += einsum(tmp12, (0, 1), v.xov, (1, 2, 3), (3, 0, 2))
+    del tmp12
+    r2new += einsum(tmp4, (0, 1), r2, (0, 2, 3), (1, 2, 3))
+    r2new += einsum(r2, (0, 1, 2), tmp4, (1, 3), (0, 3, 2))
+    r2new += einsum(tmp13, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp13
+    r2new += einsum(ints.tmp49, (0, 1, 2, 3), tmp14, (1,), (2, 3, 0)) * -2
+    del ints.tmp49, tmp14
+    r1new = einsum(r2, (0, 1, 2), tmp0, (2, 1, 0, 3), (3,)) * 2
+    del tmp0
+    r1new += einsum(tmp1, (0, 1, 2, 3), r2, (1, 2, 0), (3,)) * -1
+    del tmp1
+    r1new += einsum(tmp2, (0, 1), tmp3, (0, 2, 1), (2,)) * -1
+    del tmp2, tmp3
+    r1new += einsum(tmp4, (0, 1), r1, (0,), (1,))
+    del tmp4
+    r1new += einsum(tmp6, (0,), f.ov, (0, 1), (1,))
+    del tmp6
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/RDFCCSD/index.html b/reference/codegen/RDFCCSD/index.html new file mode 100644 index 00000000..1986fe9c --- /dev/null +++ b/reference/codegen/RDFCCSD/index.html @@ -0,0 +1,6643 @@ + + + + + + + + RDFCCSD - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-17T20:38:58.563290
  • +
  • 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.8.0-40-generic
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.RDFCCSD.energy(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:38:59.248126.

+

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.

+ +
+ Source code in ebcc/codegen/RDFCCSD.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
def energy(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:38:59.248126.
+
+    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(t1, (0, 1), v.xov, (2, 3, 1), (0, 3, 2))
+    tmp0 = einsum(t1, (0, 1), v.xov, (2, 0, 1), (2,))
+    tmp1 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp1 += t2 * -1
+    tmp4 = np.copy(f.ov)
+    tmp4 += einsum(tmp3, (0, 1, 2), v.xov, (2, 0, 3), (1, 3)) * -0.5
+    del tmp3
+    tmp2 = einsum(tmp0, (0,), t1, (1, 2), (1, 2, 0))
+    del tmp0
+    tmp2 += einsum(tmp1, (0, 1, 2, 3), v.xov, (4, 0, 3), (1, 2, 4)) * 0.5
+    del tmp1
+    e_cc = einsum(tmp2, (0, 1, 2), v.xov, (2, 0, 1), ()) * 2
+    del tmp2
+    e_cc += einsum(t1, (0, 1), tmp4, (0, 1), ()) * 2
+    del tmp4
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCCSD.update_amps(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:39:22.426740.

+

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.

+ +
+ Source code in ebcc/codegen/RDFCCSD.py +
 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
def update_amps(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:39:22.426740.
+
+    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.xov, (2, 3, 1), (0, 3, 2))
+    tmp0 = einsum(t1, (0, 1), v.xov, (2, 0, 1), (2,))
+    tmp37 = np.copy(t2)
+    tmp37 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3))
+    tmp9 = einsum(v.xov, (0, 1, 2), tmp2, (1, 3, 0), (3, 2))
+    tmp1 = einsum(tmp0, (0,), v.xov, (0, 1, 2), (1, 2))
+    tmp32 = einsum(v.xov, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp30 = einsum(tmp2, (0, 1, 2), v.xov, (2, 3, 4), (0, 3, 1, 4))
+    tmp18 = einsum(t2, (0, 1, 2, 3), v.xov, (4, 1, 2), (0, 3, 4))
+    tmp5 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp5 += t2 * -1
+    tmp38 = einsum(tmp37, (0, 1, 2, 3), v.xov, (4, 0, 3), (1, 2, 4))
+    del tmp37
+    tmp35 = np.copy(tmp1) * 2
+    tmp35 += tmp9 * -1
+    tmp33 = np.copy(np.transpose(tmp32, (1, 0, 2, 3))) * -1
+    tmp33 += np.transpose(tmp32, (2, 1, 0, 3)) * 2
+    tmp11 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp11 += t2 * -1
+    tmp21 = einsum(t1, (0, 1), v.xvv, (2, 3, 1), (0, 3, 2))
+    tmp57 = np.copy(tmp30) * 2
+    tmp57 += np.transpose(tmp30, (0, 2, 1, 3)) * -1
+    tmp17 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp45 = np.copy(np.transpose(v.xov, (1, 2, 0)))
+    tmp45 += tmp18 * -1
+    tmp72 = einsum(v.xvv, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 2, 4))
+    tmp13 = einsum(v.xov, (0, 1, 2), tmp5, (1, 3, 4, 2), (3, 4, 0))
+    tmp39 = einsum(tmp38, (0, 1, 2), v.xoo, (2, 3, 4), (3, 4, 0, 1))
+    tmp36 = einsum(tmp35, (0, 1), t2, (2, 3, 1, 4), (0, 2, 3, 4))
+    tmp31 = einsum(tmp30, (0, 1, 2, 3), t2, (4, 2, 3, 5), (0, 4, 1, 5))
+    del tmp30
+    tmp34 = einsum(tmp33, (0, 1, 2, 3), t2, (4, 0, 5, 3), (1, 2, 4, 5))
+    del tmp33
+    tmp27 = einsum(v.xov, (0, 1, 2), tmp11, (1, 3, 4, 2), (3, 4, 0))
+    tmp6 = einsum(t1, (0, 1), v.xoo, (2, 3, 0), (3, 1, 2))
+    tmp51 = einsum(tmp0, (0,), v.xvv, (0, 1, 2), (1, 2))
+    tmp52 = einsum(v.xov, (0, 1, 2), tmp21, (1, 3, 0), (2, 3))
+    tmp61 = einsum(v.xoo, (0, 1, 2), tmp2, (2, 3, 0), (1, 3))
+    tmp12 = einsum(tmp0, (0,), v.xoo, (0, 1, 2), (1, 2))
+    tmp56 = einsum(tmp2, (0, 1, 2), tmp18, (3, 4, 2), (0, 3, 1, 4))
+    tmp55 = einsum(t2, (0, 1, 2, 3), tmp32, (4, 1, 5, 2), (0, 4, 5, 3))
+    del tmp32
+    tmp58 = einsum(tmp57, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 2, 4, 5))
+    del tmp57
+    tmp19 = einsum(tmp17, (0, 1, 2, 3), t2, (4, 0, 3, 5), (4, 1, 5, 2))
+    tmp23 = einsum(v.xvv, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp46 = einsum(tmp45, (0, 1, 2), v.xov, (2, 3, 4), (0, 3, 1, 4))
+    del tmp45
+    tmp73 = einsum(tmp72, (0, 1, 2, 3), t2, (4, 5, 3, 2), (4, 5, 0, 1))
+    del tmp72
+    tmp75 = einsum(v.xov, (0, 1, 2), tmp13, (1, 3, 0), (3, 2)) * 0.5
+    tmp77 = einsum(v.xov, (0, 1, 2), tmp13, (3, 2, 0), (3, 1))
+    tmp40 = np.copy(np.transpose(tmp31, (0, 2, 1, 3)))
+    del tmp31
+    tmp40 += np.transpose(tmp34, (2, 1, 0, 3)) * -1
+    del tmp34
+    tmp40 += np.transpose(tmp36, (2, 0, 1, 3)) * -1
+    del tmp36
+    tmp40 += np.transpose(tmp39, (2, 1, 0, 3))
+    del tmp39
+    tmp25 = einsum(tmp2, (0, 1, 2), v.xvv, (2, 3, 4), (0, 1, 3, 4))
+    tmp28 = np.copy(np.transpose(v.xov, (1, 2, 0)))
+    tmp28 += tmp6 * -1
+    tmp28 += tmp27
+    del tmp27
+    tmp42 = einsum(tmp35, (0, 1), t1, (2, 1), (0, 2))
+    del tmp35
+    tmp53 = np.copy(np.transpose(tmp51, (1, 0))) * 2
+    del tmp51
+    tmp53 += tmp52 * -1
+    del tmp52
+    tmp62 = np.copy(np.transpose(tmp61, (1, 0))) * -1
+    del tmp61
+    tmp62 += np.transpose(tmp12, (1, 0)) * 2
+    tmp49 = np.copy(tmp6)
+    tmp49 += tmp38
+    del tmp38
+    tmp59 = np.copy(tmp55)
+    del tmp55
+    tmp59 += tmp56
+    del tmp56
+    tmp59 += np.transpose(tmp58, (0, 2, 1, 3)) * -1
+    del tmp58
+    tmp47 = np.copy(np.transpose(tmp23, (1, 0, 3, 2)))
+    tmp47 += tmp19 * -1
+    tmp47 += tmp46 * -2
+    del tmp46
+    tmp82 = einsum(tmp2, (0, 1, 2), tmp21, (3, 4, 2), (0, 3, 1, 4))
+    tmp67 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp65 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp69 = einsum(v.xoo, (0, 1, 2), tmp2, (3, 4, 0), (3, 1, 2, 4))
+    tmp74 = einsum(tmp73, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3))
+    del tmp73
+    tmp76 = einsum(tmp75, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) * 2
+    del tmp75
+    tmp78 = einsum(tmp77, (0, 1), t2, (2, 1, 3, 4), (0, 2, 4, 3))
+    del tmp77
+    tmp87 = einsum(t1, (0, 1), tmp17, (2, 0, 3, 4), (2, 1, 3, 4))
+    tmp22 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2))
+    tmp41 = einsum(t1, (0, 1), tmp40, (2, 0, 3, 4), (2, 3, 4, 1))
+    del tmp40
+    tmp24 = einsum(tmp23, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 5, 2))
+    del tmp23
+    tmp26 = einsum(tmp25, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp29 = einsum(tmp21, (0, 1, 2), tmp28, (3, 4, 2), (3, 0, 4, 1))
+    del tmp28
+    tmp43 = einsum(tmp42, (0, 1), t2, (2, 0, 3, 4), (1, 2, 4, 3))
+    del tmp42
+    tmp54 = einsum(tmp53, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp53
+    tmp63 = einsum(tmp62, (0, 1), t2, (2, 0, 3, 4), (1, 2, 4, 3))
+    del tmp62
+    tmp50 = einsum(tmp49, (0, 1, 2), v.xov, (2, 3, 4), (0, 3, 1, 4))
+    del tmp49
+    tmp60 = einsum(t1, (0, 1), tmp59, (2, 3, 0, 4), (2, 3, 4, 1))
+    del tmp59
+    tmp48 = einsum(t2, (0, 1, 2, 3), tmp47, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp47
+    tmp89 = np.copy(np.transpose(tmp17, (1, 0, 2, 3))) * 2
+    tmp89 += np.transpose(tmp17, (1, 0, 3, 2)) * -1
+    tmp83 = einsum(tmp82, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3))
+    del tmp82
+    tmp81 = einsum(t2, (0, 1, 2, 3), tmp25, (4, 1, 5, 2), (4, 0, 3, 5))
+    del tmp25
+    tmp68 = einsum(tmp67, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3))
+    del tmp67
+    tmp66 = einsum(tmp65, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4))
+    del tmp65
+    tmp70 = einsum(tmp69, (0, 1, 2, 3), t2, (1, 3, 4, 5), (0, 2, 4, 5))
+    del tmp69
+    tmp7 = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.5
+    tmp7 += np.transpose(t2, (0, 1, 3, 2)) * -1
+    tmp7 += t2 * 0.5
+    tmp3 = np.copy(np.transpose(v.xoo, (1, 2, 0)))
+    tmp3 += np.transpose(tmp2, (1, 0, 2))
+    tmp14 = np.copy(tmp6) * -1
+    tmp14 += einsum(tmp0, (0,), t1, (1, 2), (1, 2, 0)) * 2
+    tmp14 += tmp13
+    del tmp13
+    tmp15 = np.copy(f.ov)
+    tmp15 += tmp9 * -1
+    tmp86 = np.copy(t2)
+    tmp86 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3))
+    tmp79 = np.copy(tmp74)
+    del tmp74
+    tmp79 += np.transpose(tmp76, (1, 0, 3, 2))
+    del tmp76
+    tmp79 += np.transpose(tmp78, (1, 0, 3, 2))
+    del tmp78
+    tmp88 = einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (3, 1, 2, 4))
+    tmp88 += einsum(tmp87, (0, 1, 2, 3), t1, (0, 4), (3, 4, 2, 1))
+    del tmp87
+    tmp44 = np.copy(tmp22)
+    del tmp22
+    tmp44 += tmp24 * -1
+    del tmp24
+    tmp44 += tmp26 * -1
+    del tmp26
+    tmp44 += np.transpose(tmp29, (1, 0, 2, 3))
+    del tmp29
+    tmp44 += np.transpose(tmp41, (0, 1, 3, 2))
+    del tmp41
+    tmp44 += np.transpose(tmp43, (0, 1, 3, 2)) * -1
+    del tmp43
+    tmp64 = np.copy(np.transpose(tmp48, (1, 0, 3, 2)))
+    del tmp48
+    tmp64 += tmp50
+    del tmp50
+    tmp64 += np.transpose(tmp54, (1, 0, 3, 2)) * -1
+    del tmp54
+    tmp64 += np.transpose(tmp60, (0, 1, 3, 2)) * -1
+    del tmp60
+    tmp64 += np.transpose(tmp63, (1, 0, 3, 2))
+    del tmp63
+    tmp90 = einsum(tmp89, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 1, 5, 2))
+    del tmp89
+    tmp85 = einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp85 += einsum(tmp2, (0, 1, 2), tmp2, (3, 4, 2), (4, 0, 1, 3))
+    del tmp2
+    tmp20 = einsum(tmp17, (0, 1, 2, 3), t2, (4, 5, 3, 2), (4, 5, 1, 0))
+    tmp80 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp84 = np.copy(tmp81)
+    del tmp81
+    tmp84 += tmp83
+    del tmp83
+    tmp71 = np.copy(tmp66)
+    del tmp66
+    tmp71 += tmp68
+    del tmp68
+    tmp71 += tmp70 * -1
+    del tmp70
+    tmp8 = np.copy(tmp6) * 0.5
+    del tmp6
+    tmp8 += einsum(tmp0, (0,), t1, (1, 2), (1, 2, 0)) * -1
+    del tmp0
+    tmp8 += einsum(tmp7, (0, 1, 2, 3), v.xov, (4, 0, 3), (1, 2, 4))
+    del tmp7
+    tmp10 = np.copy(f.ov)
+    tmp10 += tmp1 * 2
+    tmp10 += tmp9 * -1
+    del tmp9
+    tmp4 = einsum(v.xov, (0, 1, 2), tmp3, (3, 4, 0), (4, 1, 3, 2))
+    del tmp3
+    tmp16 = np.copy(f.oo)
+    tmp16 += np.transpose(tmp12, (1, 0)) * 2
+    del tmp12
+    tmp16 += einsum(v.xov, (0, 1, 2), tmp14, (3, 2, 0), (1, 3))
+    del tmp14
+    tmp16 += einsum(tmp15, (0, 1), t1, (2, 1), (0, 2))
+    del tmp15
+    t2new = np.copy(np.transpose(tmp17, (1, 0, 3, 2)))
+    del tmp17
+    t2new += einsum(tmp18, (0, 1, 2), tmp18, (3, 4, 2), (0, 3, 1, 4))
+    del tmp18
+    t2new += einsum(t2, (0, 1, 2, 3), tmp19, (4, 1, 5, 2), (0, 4, 5, 3))
+    del tmp19
+    t2new += einsum(tmp20, (0, 1, 2, 3), t2, (2, 3, 4, 5), (1, 0, 5, 4))
+    del tmp20
+    t2new += einsum(tmp21, (0, 1, 2), tmp21, (3, 4, 2), (0, 3, 1, 4))
+    del tmp21
+    t2new += np.transpose(tmp44, (0, 1, 3, 2))
+    t2new += np.transpose(tmp44, (1, 0, 2, 3))
+    del tmp44
+    t2new += tmp64 * -1
+    t2new += np.transpose(tmp64, (1, 0, 3, 2)) * -1
+    del tmp64
+    t2new += np.transpose(tmp71, (0, 1, 3, 2)) * -1
+    t2new += np.transpose(tmp71, (1, 0, 2, 3)) * -1
+    del tmp71
+    t2new += tmp79 * -1
+    t2new += np.transpose(tmp79, (1, 0, 3, 2)) * -1
+    del tmp79
+    t2new += np.transpose(tmp80, (0, 1, 3, 2)) * -1
+    t2new += np.transpose(tmp80, (1, 0, 2, 3)) * -1
+    del tmp80
+    t2new += tmp84 * -1
+    t2new += np.transpose(tmp84, (1, 0, 3, 2)) * -1
+    del tmp84
+    t2new += einsum(tmp86, (0, 1, 2, 3), tmp85, (0, 4, 1, 5), (4, 5, 3, 2))
+    del tmp86, tmp85
+    t2new += einsum(t2, (0, 1, 2, 3), tmp88, (3, 4, 2, 5), (0, 1, 4, 5))
+    del tmp88
+    t2new += einsum(t2, (0, 1, 2, 3), tmp90, (4, 1, 5, 3), (4, 0, 5, 2)) * 2
+    del tmp90
+    t1new = np.copy(f.ov)
+    t1new += einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    t1new += tmp1 * 2
+    del tmp1
+    t1new += einsum(tmp5, (0, 1, 2, 3), tmp4, (4, 0, 1, 3), (4, 2)) * -1
+    del tmp5, tmp4
+    t1new += einsum(v.xvv, (0, 1, 2), tmp8, (3, 2, 0), (3, 1)) * -2
+    del tmp8
+    t1new += einsum(tmp10, (0, 1), tmp11, (0, 2, 3, 1), (2, 3))
+    del tmp11, tmp10
+    t1new += einsum(tmp16, (0, 1), t1, (0, 2), (1, 2)) * -1
+    del tmp16
+
+    return {f"t1new": t1new, f"t2new": t2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCCSD.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-17T20:40:09.667316.

+

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.

+ +
+ Source code in ebcc/codegen/RDFCCSD.py +
340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
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-17T20:40:09.667316.
+
+    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.xov, (2, 3, 1), (0, 3, 2))
+    tmp13 = einsum(t1, (0, 1), v.xov, (2, 0, 1), (2,))
+    tmp95 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp95 += t2 * -1
+    tmp20 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5
+    tmp20 += t2
+    tmp21 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp21 += t2 * -1
+    tmp15 = einsum(v.xov, (0, 1, 2), tmp5, (1, 3, 0), (3, 2))
+    tmp14 = einsum(v.xov, (0, 1, 2), tmp13, (0,), (1, 2))
+    tmp0 = einsum(t1, (0, 1), v.xvv, (2, 3, 1), (0, 3, 2))
+    tmp96 = einsum(tmp95, (0, 1, 2, 3), v.xov, (4, 0, 3), (1, 2, 4))
+    del tmp95
+    tmp32 = einsum(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2))
+    tmp7 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp35 = np.copy(np.transpose(t2, (0, 1, 3, 2)))
+    tmp35 += t2 * -0.5
+    tmp51 = einsum(l2, (0, 1, 2, 3), tmp20, (2, 4, 0, 1), (3, 4))
+    tmp50 = einsum(l1, (0, 1), t1, (2, 0), (1, 2))
+    tmp22 = einsum(tmp21, (0, 1, 2, 3), v.xov, (4, 0, 3), (1, 2, 4))
+    tmp80 = np.copy(np.transpose(v.xoo, (1, 2, 0)))
+    tmp80 += np.transpose(tmp5, (1, 0, 2))
+    tmp91 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp91 += t2 * 2
+    tmp105 = np.copy(tmp14) * 2
+    tmp105 += tmp15 * -1
+    tmp98 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1
+    tmp98 += np.transpose(l2, (2, 3, 0, 1)) * 2
+    tmp97 = np.copy(np.transpose(v.xov, (1, 2, 0)))
+    tmp97 += tmp0
+    tmp97 += tmp96
+    del tmp96
+    tmp100 = np.copy(tmp32) * 2
+    tmp100 += np.transpose(tmp32, (1, 0, 2, 3)) * -1
+    tmp9 = einsum(tmp5, (0, 1, 2), tmp5, (3, 4, 2), (3, 0, 4, 1))
+    tmp8 = einsum(t2, (0, 1, 2, 3), tmp7, (4, 5, 3, 2), (0, 1, 5, 4))
+    tmp36 = einsum(l2, (0, 1, 2, 3), tmp35, (3, 2, 4, 1), (0, 4)) * 2
+    tmp52 = np.copy(tmp50) * 0.5
+    tmp52 += tmp51
+    del tmp51
+    tmp113 = einsum(tmp22, (0, 1, 2), v.xov, (2, 3, 1), (3, 0)) * 0.5
+    tmp61 = einsum(v.xoo, (0, 1, 2), tmp13, (0,), (1, 2))
+    tmp79 = einsum(t2, (0, 1, 2, 3), tmp7, (4, 1, 2, 5), (0, 4, 3, 5))
+    tmp81 = einsum(tmp80, (0, 1, 2), v.xvv, (2, 3, 4), (0, 1, 3, 4))
+    del tmp80
+    tmp92 = einsum(tmp91, (0, 1, 2, 3), tmp7, (0, 4, 5, 2), (4, 1, 5, 3))
+    del tmp91
+    tmp106 = einsum(t1, (0, 1), tmp105, (2, 1), (0, 2))
+    tmp62 = einsum(v.xoo, (0, 1, 2), tmp5, (2, 3, 0), (1, 3))
+    tmp99 = einsum(tmp97, (0, 1, 2), tmp98, (0, 3, 1, 4), (3, 4, 2))
+    del tmp97, tmp98
+    tmp101 = einsum(v.xoo, (0, 1, 2), tmp100, (3, 1, 2, 4), (3, 4, 0))
+    tmp102 = einsum(tmp100, (0, 1, 2, 3), tmp5, (1, 2, 4), (0, 3, 4))
+    del tmp100
+    tmp10 = np.copy(tmp8)
+    tmp10 += tmp9
+    tmp3 = einsum(v.xvv, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 2, 4))
+    tmp37 = einsum(v.xov, (0, 1, 2), tmp36, (3, 2), (1, 3, 0)) * 0.5
+    del tmp36
+    tmp118 = einsum(v.xov, (0, 1, 2), tmp52, (3, 1), (3, 2, 0)) * 2
+    tmp77 = einsum(v.xov, (0, 1, 2), tmp5, (3, 4, 0), (3, 1, 4, 2))
+    tmp114 = np.copy(np.transpose(tmp61, (1, 0)))
+    tmp114 += np.transpose(tmp113, (1, 0))
+    del tmp113
+    tmp111 = einsum(tmp22, (0, 1, 2), v.xov, (2, 0, 3), (3, 1)) * 0.5
+    tmp75 = einsum(v.xov, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp123 = einsum(tmp0, (0, 1, 2), v.xov, (2, 0, 3), (3, 1))
+    tmp69 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp82 = np.copy(tmp79) * -1
+    del tmp79
+    tmp82 += np.transpose(tmp81, (1, 0, 3, 2))
+    tmp72 = einsum(l1, (0, 1), v.xvv, (2, 3, 0), (1, 3, 2))
+    tmp25 = einsum(v.xoo, (0, 1, 2), tmp5, (3, 4, 0), (3, 1, 2, 4))
+    tmp93 = np.copy(np.transpose(tmp92, (1, 0, 3, 2)))
+    del tmp92
+    tmp93 += np.transpose(tmp81, (1, 0, 3, 2))
+    del tmp81
+    tmp107 = np.copy(tmp62)
+    tmp107 += tmp106 * -1
+    del tmp106
+    tmp88 = einsum(t2, (0, 1, 2, 3), l2, (4, 3, 1, 5), (5, 0, 4, 2))
+    tmp65 = einsum(v.xvv, (0, 1, 2), tmp13, (0,), (1, 2))
+    del tmp13
+    tmp103 = np.copy(tmp99) * -1
+    del tmp99
+    tmp103 += tmp101
+    del tmp101
+    tmp103 += tmp102
+    del tmp102
+    tmp18 = np.copy(np.transpose(v.xoo, (1, 2, 0)))
+    tmp18 += np.transpose(tmp5, (1, 0, 2))
+    tmp16 = np.copy(tmp14) * 2
+    tmp16 += tmp15 * -1
+    tmp24 = einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (3, 1, 2, 4))
+    tmp6 = einsum(tmp0, (0, 1, 2), tmp5, (3, 4, 2), (3, 0, 4, 1))
+    tmp11 = einsum(t1, (0, 1), tmp10, (2, 3, 4, 0), (2, 3, 4, 1)) * 2
+    del tmp10
+    tmp4 = einsum(tmp3, (0, 1, 2, 3), t2, (4, 5, 3, 1), (4, 5, 0, 2))
+    tmp56 = np.copy(tmp50)
+    tmp56 += einsum(l2, (0, 1, 2, 3), tmp20, (2, 4, 0, 1), (3, 4)) * 2
+    tmp40 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp40 += t2 * 2
+    tmp46 = einsum(l2, (0, 1, 2, 3), t2, (4, 5, 0, 1), (2, 3, 4, 5))
+    tmp47 = einsum(t1, (0, 1), tmp32, (2, 3, 4, 1), (3, 2, 4, 0))
+    tmp34 = np.copy(tmp32)
+    tmp34 += np.transpose(tmp32, (1, 0, 2, 3)) * -0.5
+    tmp44 = np.copy(tmp32) * -1
+    tmp44 += np.transpose(tmp32, (1, 0, 2, 3)) * 2
+    tmp43 = einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4))
+    tmp120 = einsum(v.xov, (0, 1, 2), tmp37, (3, 4, 0), (1, 3, 2, 4)) * 2
+    tmp119 = einsum(tmp118, (0, 1, 2), v.xov, (2, 3, 4), (3, 0, 4, 1))
+    del tmp118
+    tmp117 = einsum(l1, (0, 1), tmp77, (1, 2, 3, 4), (2, 3, 0, 4))
+    tmp115 = einsum(l2, (0, 1, 2, 3), tmp114, (2, 4), (3, 4, 0, 1)) * 2
+    del tmp114
+    tmp112 = einsum(l2, (0, 1, 2, 3), tmp111, (4, 1), (3, 2, 0, 4)) * 2
+    del tmp111
+    tmp122 = einsum(l1, (0, 1), tmp75, (2, 1, 3, 4), (2, 3, 0, 4))
+    tmp124 = einsum(l2, (0, 1, 2, 3), tmp123, (4, 1), (2, 3, 0, 4))
+    del tmp123
+    tmp78 = einsum(tmp77, (0, 1, 2, 3), tmp32, (0, 4, 1, 5), (4, 2, 5, 3))
+    tmp76 = einsum(tmp75, (0, 1, 2, 3), tmp32, (1, 4, 2, 5), (4, 0, 5, 3))
+    tmp70 = einsum(l2, (0, 1, 2, 3), tmp69, (4, 3), (4, 2, 0, 1))
+    del tmp69
+    tmp83 = einsum(l2, (0, 1, 2, 3), tmp82, (2, 4, 1, 5), (3, 4, 0, 5))
+    del tmp82
+    tmp73 = einsum(v.xov, (0, 1, 2), tmp72, (3, 4, 0), (3, 1, 2, 4))
+    del tmp72
+    tmp74 = einsum(tmp25, (0, 1, 2, 3), l2, (4, 5, 0, 1), (2, 3, 4, 5))
+    tmp68 = einsum(l2, (0, 1, 2, 3), f.vv, (4, 1), (2, 3, 4, 0))
+    tmp71 = einsum(tmp32, (0, 1, 2, 3), f.ov, (2, 4), (0, 1, 4, 3))
+    tmp94 = einsum(l2, (0, 1, 2, 3), tmp93, (3, 4, 1, 5), (2, 4, 0, 5))
+    del tmp93
+    tmp108 = einsum(l2, (0, 1, 2, 3), tmp107, (2, 4), (3, 4, 0, 1))
+    del tmp107
+    tmp87 = einsum(tmp3, (0, 1, 2, 3), tmp32, (4, 5, 0, 2), (5, 4, 3, 1))
+    del tmp3
+    tmp109 = einsum(tmp32, (0, 1, 2, 3), tmp105, (2, 4), (0, 1, 3, 4))
+    tmp89 = einsum(tmp7, (0, 1, 2, 3), tmp88, (4, 0, 5, 3), (4, 1, 5, 2))
+    del tmp88
+    tmp86 = einsum(tmp65, (0, 1), l2, (2, 1, 3, 4), (3, 4, 2, 0))
+    tmp104 = einsum(v.xov, (0, 1, 2), tmp103, (3, 4, 0), (1, 3, 2, 4))
+    del tmp103
+    tmp90 = einsum(tmp77, (0, 1, 2, 3), tmp32, (4, 0, 1, 5), (4, 2, 5, 3))
+    del tmp77
+    tmp85 = einsum(tmp32, (0, 1, 2, 3), tmp75, (4, 1, 2, 5), (0, 4, 3, 5))
+    del tmp75
+    tmp38 = np.copy(np.transpose(v.xoo, (1, 2, 0)))
+    tmp38 += tmp5
+    tmp33 = np.copy(tmp32) * 2
+    tmp33 += np.transpose(tmp32, (1, 0, 2, 3)) * -1
+    tmp31 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -0.5
+    tmp31 += np.transpose(l2, (2, 3, 0, 1))
+    tmp30 = np.copy(np.transpose(v.xov, (1, 2, 0)))
+    tmp30 += tmp0
+    tmp30 += tmp22
+    tmp19 = einsum(tmp18, (0, 1, 2), v.xov, (2, 3, 4), (3, 0, 1, 4))
+    tmp23 = np.copy(np.transpose(v.xov, (1, 2, 0)))
+    tmp23 += tmp22
+    tmp1 = einsum(v.xoo, (0, 1, 2), tmp0, (3, 4, 0), (3, 1, 2, 4))
+    tmp2 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2))
+    tmp17 = einsum(t2, (0, 1, 2, 3), tmp16, (4, 2), (0, 1, 4, 3))
+    del tmp16
+    tmp26 = np.copy(np.transpose(tmp24, (3, 2, 1, 0)))
+    tmp26 += np.transpose(tmp25, (1, 0, 3, 2))
+    tmp26 += np.transpose(tmp25, (3, 0, 2, 1)) * -0.5
+    tmp12 = np.copy(tmp4) * 2
+    del tmp4
+    tmp12 += tmp6 * 2
+    del tmp6
+    tmp12 += tmp11 * -1
+    del tmp11
+    tmp57 = np.copy(np.transpose(l1, (1, 0)))
+    tmp57 += t1
+    tmp57 += einsum(tmp21, (0, 1, 2, 3), tmp32, (0, 1, 4, 3), (4, 2)) * -1
+    tmp57 += einsum(l1, (0, 1), tmp20, (1, 2, 0, 3), (2, 3)) * 2
+    tmp57 += einsum(tmp56, (0, 1), t1, (0, 2), (1, 2)) * -1
+    del tmp56
+    tmp58 = np.copy(tmp50)
+    del tmp50
+    tmp58 += einsum(l2, (0, 1, 2, 3), tmp40, (2, 4, 0, 1), (4, 3))
+    tmp55 = einsum(l1, (0, 1), t1, (1, 2), (0, 2)) * 0.5
+    tmp55 += einsum(tmp40, (0, 1, 2, 3), l2, (4, 2, 1, 0), (3, 4)) * 0.5
+    tmp49 = np.copy(np.transpose(tmp46, (1, 0, 2, 3))) * 2
+    tmp49 += np.transpose(tmp46, (1, 0, 3, 2)) * -1
+    tmp49 += tmp47 * -1
+    tmp49 += np.transpose(tmp47, (0, 1, 3, 2)) * 2
+    tmp41 = einsum(l2, (0, 1, 2, 3), tmp40, (2, 4, 5, 1), (3, 4, 0, 5))
+    del tmp40
+    tmp41 += einsum(l2, (0, 1, 2, 3), tmp35, (3, 4, 5, 1), (2, 4, 0, 5)) * 2
+    del tmp35
+    tmp42 = np.copy(tmp32) * -0.5
+    tmp42 += np.transpose(tmp32, (1, 0, 2, 3))
+    tmp48 = np.copy(np.transpose(tmp46, (1, 0, 2, 3))) * -1
+    tmp48 += np.transpose(tmp46, (1, 0, 3, 2)) * 2
+    tmp48 += tmp47 * 2
+    tmp48 += np.transpose(tmp47, (0, 1, 3, 2)) * -1
+    tmp53 = np.copy(t1) * -0.5
+    tmp53 += einsum(tmp32, (0, 1, 2, 3), tmp20, (0, 1, 3, 4), (2, 4))
+    del tmp32
+    tmp53 += einsum(l1, (0, 1), tmp21, (1, 2, 3, 0), (2, 3)) * -0.5
+    del tmp21
+    tmp53 += einsum(tmp52, (0, 1), t1, (0, 2), (1, 2))
+    tmp45 = np.copy(tmp43) * -1
+    tmp45 += np.transpose(tmp43, (0, 2, 1, 3)) * 0.5
+    del tmp43
+    tmp45 += einsum(tmp44, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 2, 4, 5)) * 0.5
+    del tmp44
+    tmp45 += einsum(tmp34, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 2, 4, 5))
+    tmp63 = np.copy(f.ov)
+    tmp63 += tmp14 * 2
+    tmp63 += tmp15 * -1
+    tmp28 = np.copy(np.transpose(tmp24, (3, 2, 1, 0))) * 0.5
+    tmp28 += np.transpose(tmp25, (1, 0, 3, 2)) * 0.5
+    tmp28 += np.transpose(tmp25, (3, 0, 2, 1)) * -1
+    del tmp25
+    tmp121 = np.copy(tmp117)
+    del tmp117
+    tmp121 += np.transpose(tmp119, (1, 0, 2, 3))
+    del tmp119
+    tmp121 += np.transpose(tmp120, (0, 1, 3, 2))
+    del tmp120
+    tmp116 = np.copy(np.transpose(tmp112, (1, 0, 2, 3)))
+    del tmp112
+    tmp116 += np.transpose(tmp115, (0, 1, 3, 2))
+    del tmp115
+    tmp67 = einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (3, 1, 2, 4))
+    tmp128 = np.copy(np.transpose(tmp24, (3, 2, 1, 0)))
+    del tmp24
+    tmp128 += np.transpose(tmp9, (0, 3, 1, 2))
+    del tmp9
+    tmp126 = einsum(f.oo, (0, 1), l2, (2, 3, 4, 1), (0, 4, 2, 3))
+    tmp125 = np.copy(tmp122)
+    del tmp122
+    tmp125 += tmp124
+    del tmp124
+    tmp127 = np.copy(np.transpose(tmp46, (1, 0, 3, 2)))
+    del tmp46
+    tmp127 += tmp47
+    del tmp47
+    tmp84 = np.copy(tmp68)
+    del tmp68
+    tmp84 += tmp70 * -1
+    del tmp70
+    tmp84 += tmp71 * -1
+    del tmp71
+    tmp84 += tmp73
+    del tmp73
+    tmp84 += tmp74
+    del tmp74
+    tmp84 += tmp76
+    del tmp76
+    tmp84 += tmp78
+    del tmp78
+    tmp84 += tmp83 * -1
+    del tmp83
+    tmp110 = einsum(l1, (0, 1), f.ov, (2, 3), (2, 1, 3, 0))
+    tmp110 += tmp85
+    del tmp85
+    tmp110 += tmp86 * 2
+    del tmp86
+    tmp110 += tmp87 * -1
+    del tmp87
+    tmp110 += tmp89
+    del tmp89
+    tmp110 += tmp90
+    del tmp90
+    tmp110 += tmp94 * -1
+    del tmp94
+    tmp110 += np.transpose(tmp104, (1, 0, 3, 2)) * -1
+    del tmp104
+    tmp110 += np.transpose(tmp108, (0, 1, 3, 2))
+    del tmp108
+    tmp110 += tmp109 * -1
+    del tmp109
+    tmp110 += einsum(tmp105, (0, 1), l1, (2, 3), (3, 0, 2, 1))
+    del tmp105
+    tmp39 = einsum(tmp31, (0, 1, 2, 3), tmp30, (0, 2, 4), (1, 3, 4)) * -1
+    del tmp31
+    tmp39 += einsum(v.xoo, (0, 1, 2), tmp33, (3, 1, 2, 4), (3, 4, 0)) * 0.5
+    del tmp33
+    tmp39 += einsum(tmp5, (0, 1, 2), tmp34, (3, 0, 1, 4), (3, 4, 2))
+    del tmp34
+    tmp39 += tmp37
+    del tmp37
+    tmp39 += einsum(l1, (0, 1), tmp38, (1, 2, 3), (2, 0, 3)) * 0.5
+    del tmp38
+    tmp27 = np.copy(np.transpose(tmp1, (0, 2, 1, 3)))
+    tmp27 += np.transpose(tmp2, (1, 0, 2, 3))
+    tmp27 += np.transpose(tmp2, (2, 0, 1, 3)) * -2
+    del tmp2
+    tmp27 += np.transpose(tmp12, (0, 2, 1, 3)) * -1
+    tmp27 += np.transpose(tmp12, (1, 2, 0, 3)) * 0.5
+    del tmp12
+    tmp27 += np.transpose(tmp17, (1, 2, 0, 3))
+    tmp27 += np.transpose(tmp17, (0, 2, 1, 3)) * -2
+    del tmp17
+    tmp27 += einsum(tmp20, (0, 1, 2, 3), tmp19, (4, 0, 5, 2), (5, 4, 1, 3)) * 2
+    tmp27 += einsum(tmp23, (0, 1, 2), tmp18, (3, 4, 2), (4, 3, 0, 1)) * -2
+    tmp27 += einsum(tmp26, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4)) * 2
+    del tmp26
+    tmp59 = einsum(v.xvv, (0, 1, 2), tmp55, (2, 1), (0,)) * 2
+    del tmp55
+    tmp59 += einsum(tmp57, (0, 1), v.xov, (2, 0, 1), (2,))
+    del tmp57
+    tmp59 += einsum(tmp58, (0, 1), v.xoo, (2, 1, 0), (2,)) * -1
+    del tmp58
+    tmp54 = einsum(l1, (0, 1), tmp0, (2, 0, 3), (2, 1, 3)) * -1
+    del tmp0
+    tmp54 += einsum(v.xvv, (0, 1, 2), tmp41, (3, 4, 1, 2), (4, 3, 0)) * -1
+    del tmp41
+    tmp54 += einsum(tmp42, (0, 1, 2, 3), tmp30, (1, 3, 4), (2, 0, 4)) * -2
+    del tmp30, tmp42
+    tmp54 += einsum(tmp45, (0, 1, 2, 3), v.xov, (4, 1, 3), (2, 0, 4)) * 2
+    del tmp45
+    tmp54 += einsum(tmp5, (0, 1, 2), tmp48, (0, 3, 1, 4), (4, 3, 2))
+    del tmp5, tmp48
+    tmp54 += einsum(v.xoo, (0, 1, 2), tmp49, (1, 3, 4, 2), (4, 3, 0))
+    del tmp49
+    tmp54 += einsum(v.xov, (0, 1, 2), tmp53, (3, 2), (3, 1, 0)) * 2
+    del tmp53
+    tmp54 += einsum(v.xoo, (0, 1, 2), tmp52, (2, 3), (3, 1, 0)) * 2
+    tmp64 = np.copy(f.oo)
+    tmp64 += np.transpose(tmp61, (1, 0)) * 2
+    del tmp61
+    tmp64 += tmp62 * -1
+    del tmp62
+    tmp64 += einsum(v.xov, (0, 1, 2), tmp22, (3, 2, 0), (3, 1))
+    del tmp22
+    tmp64 += einsum(t1, (0, 1), tmp63, (2, 1), (0, 2))
+    del tmp63
+    tmp60 = np.copy(f.ov) * 0.5
+    tmp60 += tmp14
+    del tmp14
+    tmp60 += tmp15 * -0.5
+    del tmp15
+    tmp29 = np.copy(np.transpose(tmp1, (0, 2, 1, 3))) * -1
+    del tmp1
+    tmp29 += einsum(tmp20, (0, 1, 2, 3), tmp19, (4, 0, 5, 3), (5, 4, 1, 2))
+    del tmp20, tmp19
+    tmp29 += einsum(tmp23, (0, 1, 2), tmp18, (3, 4, 2), (4, 3, 0, 1)) * 0.5
+    del tmp18, tmp23
+    tmp29 += einsum(t1, (0, 1), tmp28, (0, 2, 3, 4), (2, 3, 4, 1)) * -1
+    del tmp28
+    tmp66 = np.copy(f.vv)
+    tmp66 += np.transpose(tmp65, (1, 0)) * 2
+    del tmp65
+    l2new = np.copy(np.transpose(tmp7, (3, 2, 1, 0)))
+    l2new += einsum(l2, (0, 1, 2, 3), tmp8, (2, 3, 4, 5), (0, 1, 4, 5))
+    del tmp8
+    l2new += einsum(l2, (0, 1, 2, 3), tmp67, (4, 5, 1, 0), (4, 5, 2, 3))
+    del tmp67
+    l2new += np.transpose(tmp84, (3, 2, 0, 1))
+    l2new += np.transpose(tmp84, (2, 3, 1, 0))
+    del tmp84
+    l2new += np.transpose(tmp110, (2, 3, 0, 1))
+    l2new += np.transpose(tmp110, (3, 2, 1, 0))
+    del tmp110
+    l2new += np.transpose(tmp116, (2, 3, 0, 1)) * -1
+    l2new += np.transpose(tmp116, (3, 2, 1, 0)) * -1
+    del tmp116
+    l2new += np.transpose(tmp121, (3, 2, 0, 1)) * -1
+    l2new += np.transpose(tmp121, (2, 3, 1, 0)) * -1
+    del tmp121
+    l2new += np.transpose(tmp125, (2, 3, 0, 1)) * -1
+    l2new += np.transpose(tmp125, (3, 2, 1, 0)) * -1
+    del tmp125
+    l2new += np.transpose(tmp126, (3, 2, 0, 1)) * -1
+    l2new += np.transpose(tmp126, (2, 3, 1, 0)) * -1
+    del tmp126
+    l2new += einsum(tmp7, (0, 1, 2, 3), tmp127, (4, 5, 0, 1), (3, 2, 5, 4))
+    del tmp7, tmp127
+    l2new += einsum(tmp128, (0, 1, 2, 3), l2, (4, 5, 2, 0), (4, 5, 1, 3))
+    del tmp128
+    l1new = np.copy(np.transpose(f.ov, (1, 0)))
+    l1new += einsum(tmp27, (0, 1, 2, 3), l2, (4, 3, 0, 2), (4, 1))
+    del tmp27
+    l1new += einsum(l2, (0, 1, 2, 3), tmp29, (3, 4, 2, 1), (0, 4)) * 2
+    del tmp29
+    l1new += einsum(v.xvv, (0, 1, 2), tmp39, (3, 2, 0), (1, 3)) * -2
+    del tmp39
+    l1new += einsum(v.xov, (0, 1, 2), tmp54, (1, 3, 0), (2, 3))
+    del tmp54
+    l1new += einsum(tmp59, (0,), v.xov, (0, 1, 2), (2, 1)) * 2
+    del tmp59
+    l1new += einsum(tmp52, (0, 1), tmp60, (1, 2), (2, 0)) * -4
+    del tmp52, tmp60
+    l1new += einsum(l1, (0, 1), tmp64, (1, 2), (0, 2)) * -1
+    del tmp64
+    l1new += einsum(l1, (0, 1), tmp66, (0, 2), (2, 1))
+    del tmp66
+
+    return {f"l1new": l1new, f"l2new": l2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCCSD.make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:40:10.659550.

+

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.

+ +
+ Source code in ebcc/codegen/RDFCCSD.py +
761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:40:10.659550.
+
+    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))
+    tmp0 = einsum(l1, (0, 1), t1, (2, 0), (1, 2))
+    tmp5 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5
+    tmp5 += t2
+    tmp7 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1
+    tmp7 += np.transpose(l2, (2, 3, 0, 1)) * 2
+    tmp4 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp4 += t2 * -1
+    tmp3 = np.copy(tmp2)
+    tmp3 += np.transpose(tmp2, (1, 0, 2, 3)) * -0.5
+    del tmp2
+    tmp6 = np.copy(tmp0) * 0.5
+    tmp6 += einsum(l2, (0, 1, 2, 3), tmp5, (2, 4, 0, 1), (3, 4))
+    del tmp5
+    tmp1 = np.copy(np.transpose(t2, (0, 1, 3, 2)))
+    tmp1 += t2 * -0.5
+    rdm1.vv = einsum(l1, (0, 1), t1, (1, 2), (0, 2)) * 2
+    rdm1.vv += einsum(tmp7, (0, 1, 2, 3), t2, (0, 1, 2, 4), (3, 4)) * 2
+    del tmp7
+    rdm1.vo = np.copy(l1) * 2
+    rdm1.ov = np.copy(t1) * 2
+    rdm1.ov += einsum(tmp3, (0, 1, 2, 3), t2, (0, 1, 3, 4), (2, 4)) * -4
+    del tmp3
+    rdm1.ov += einsum(l1, (0, 1), tmp4, (1, 2, 3, 0), (2, 3)) * 2
+    del tmp4
+    rdm1.ov += einsum(tmp6, (0, 1), t1, (0, 2), (1, 2)) * -4
+    del tmp6
+    rdm1.oo = np.copy(np.transpose(tmp0, (1, 0))) * -2
+    del tmp0
+    rdm1.oo += delta.oo * 2
+    del delta
+    rdm1.oo += einsum(l2, (0, 1, 2, 3), tmp1, (2, 4, 1, 0), (4, 3)) * -4
+    del tmp1
+    rdm1 = np.block([[rdm1.oo, rdm1.ov], [rdm1.vo, rdm1.vv]])
+
+    return rdm1
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCCSD.make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:40:56.960489.

+

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.

+ +
+ Source code in ebcc/codegen/RDFCCSD.py +
 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:40:56.960489.
+
+    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(t1, (0, 1), l2, (2, 1, 3, 4), (3, 4, 0, 2))
+    tmp9 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp9 += t2 * -1
+    tmp78 = np.copy(np.transpose(t2, (0, 1, 3, 2)))
+    tmp78 += t2 * -1
+    tmp1 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5
+    tmp1 += t2
+    tmp20 = np.copy(tmp4) * -1
+    tmp20 += np.transpose(tmp4, (1, 0, 2, 3)) * 2
+    tmp18 = np.copy(tmp4) * -1
+    tmp18 += np.transpose(tmp4, (1, 0, 2, 3))
+    tmp80 = einsum(tmp9, (0, 1, 2, 3), l2, (4, 3, 5, 0), (1, 5, 2, 4))
+    tmp79 = einsum(tmp78, (0, 1, 2, 3), l2, (4, 3, 0, 5), (1, 5, 2, 4))
+    del tmp78
+    tmp91 = einsum(t1, (0, 1), tmp4, (2, 0, 3, 4), (2, 3, 4, 1))
+    tmp45 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1
+    tmp45 += np.transpose(l2, (2, 3, 0, 1)) * 2
+    tmp62 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * 2
+    tmp62 += np.transpose(l2, (2, 3, 0, 1)) * -1
+    tmp103 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1
+    tmp103 += np.transpose(l2, (2, 3, 0, 1)) * 2
+    tmp12 = np.copy(tmp4) * -1
+    tmp12 += np.transpose(tmp4, (1, 0, 2, 3)) * 2
+    tmp2 = einsum(l2, (0, 1, 2, 3), tmp1, (2, 4, 0, 1), (3, 4)) * 2
+    tmp5 = einsum(tmp4, (0, 1, 2, 3), t1, (4, 3), (0, 1, 4, 2))
+    tmp54 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * -1
+    tmp54 += np.transpose(l2, (2, 3, 0, 1))
+    tmp16 = einsum(l1, (0, 1), t2, (2, 3, 4, 0), (1, 2, 3, 4))
+    tmp26 = einsum(tmp4, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 2, 4, 5))
+    tmp21 = einsum(tmp20, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 2, 4, 5))
+    del tmp20
+    tmp25 = einsum(t2, (0, 1, 2, 3), tmp4, (1, 4, 5, 2), (4, 5, 0, 3))
+    tmp0 = einsum(l1, (0, 1), t1, (2, 0), (1, 2))
+    tmp19 = einsum(tmp18, (0, 1, 2, 3), t2, (4, 1, 3, 5), (0, 2, 4, 5))
+    tmp31 = einsum(l2, (0, 1, 2, 3), tmp1, (2, 4, 0, 1), (3, 4))
+    del tmp1
+    tmp3 = einsum(t2, (0, 1, 2, 3), l2, (3, 2, 4, 5), (5, 4, 0, 1))
+    tmp113 = einsum(l2, (0, 1, 2, 3), t1, (3, 4), (2, 0, 1, 4))
+    tmp107 = np.copy(tmp91)
+    tmp107 += np.transpose(tmp79, (1, 0, 3, 2))
+    tmp107 += np.transpose(tmp80, (1, 0, 3, 2)) * -1
+    tmp67 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 5, 1), (5, 0, 4, 3))
+    tmp52 = einsum(t2, (0, 1, 2, 3), tmp45, (1, 4, 3, 5), (4, 0, 5, 2))
+    tmp83 = einsum(l1, (0, 1), t1, (1, 2), (0, 2))
+    tmp84 = einsum(t2, (0, 1, 2, 3), tmp62, (0, 1, 3, 4), (4, 2))
+    tmp104 = einsum(tmp103, (0, 1, 2, 3), t2, (4, 0, 5, 2), (1, 4, 3, 5))
+    del tmp103
+    tmp96 = np.copy(np.transpose(tmp80, (1, 0, 3, 2)))
+    tmp96 += np.transpose(tmp79, (1, 0, 3, 2)) * -1
+    tmp13 = einsum(tmp12, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4)) * 0.5
+    tmp14 = einsum(tmp2, (0, 1), t1, (0, 2), (1, 2)) * 0.5
+    tmp63 = einsum(t2, (0, 1, 2, 3), tmp62, (0, 1, 3, 4), (4, 2)) * 0.5
+    del tmp62
+    tmp17 = einsum(tmp5, (0, 1, 2, 3), t1, (0, 4), (1, 3, 2, 4))
+    tmp55 = einsum(tmp54, (0, 1, 2, 3), t2, (4, 0, 2, 5), (1, 4, 3, 5))
+    tmp74 = np.copy(tmp16)
+    tmp74 += tmp26 * -1
+    tmp36 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp36 += t2 * 2
+    tmp71 = np.copy(tmp25)
+    tmp71 += tmp21 * -1
+    tmp46 = einsum(t2, (0, 1, 2, 3), tmp45, (1, 4, 2, 5), (4, 0, 5, 3))
+    del tmp45
+    tmp59 = np.copy(t2)
+    tmp59 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3))
+    tmp10 = einsum(l1, (0, 1), tmp9, (1, 2, 3, 0), (2, 3))
+    del tmp9
+    tmp8 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2))
+    tmp48 = np.copy(tmp16)
+    tmp48 += tmp19
+    tmp48 += tmp21 * -1
+    tmp32 = np.copy(tmp0) * 0.5
+    tmp32 += tmp31
+    del tmp31
+    tmp6 = np.copy(np.transpose(tmp3, (1, 0, 3, 2)))
+    tmp6 += tmp5
+    tmp29 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp29 += t2 * -1
+    tmp115 = einsum(t1, (0, 1), tmp113, (0, 2, 3, 4), (3, 2, 4, 1))
+    tmp114 = einsum(t2, (0, 1, 2, 3), l2, (4, 5, 1, 0), (4, 5, 3, 2))
+    tmp95 = einsum(t2, (0, 1, 2, 3), l1, (4, 1), (0, 4, 2, 3))
+    tmp108 = einsum(tmp107, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4))
+    del tmp107
+    tmp69 = einsum(t2, (0, 1, 2, 3), l2, (4, 2, 1, 5), (5, 0, 4, 3))
+    tmp111 = np.copy(tmp67)
+    tmp111 += tmp91
+    tmp111 += tmp52 * -1
+    tmp99 = einsum(t2, (0, 1, 2, 3), tmp4, (0, 1, 4, 5), (4, 5, 2, 3))
+    tmp85 = np.copy(tmp83)
+    tmp85 += tmp84
+    del tmp84
+    tmp105 = np.copy(tmp67)
+    tmp105 += tmp91
+    tmp105 += tmp104 * -1
+    del tmp104
+    tmp97 = einsum(tmp96, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4))
+    del tmp96
+    tmp87 = np.copy(np.transpose(l2, (3, 2, 0, 1))) * 2
+    tmp87 += np.transpose(l2, (2, 3, 0, 1)) * -1
+    tmp81 = np.copy(tmp4)
+    tmp81 += np.transpose(tmp4, (1, 0, 2, 3)) * -1
+    tmp89 = np.copy(np.transpose(l2, (3, 2, 0, 1)))
+    tmp89 += np.transpose(l2, (2, 3, 0, 1)) * -1
+    tmp15 = np.copy(tmp13)
+    tmp15 += tmp14
+    del tmp14
+    tmp64 = einsum(tmp63, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4)) * 2
+    tmp65 = einsum(t2, (0, 1, 2, 3), tmp2, (1, 4), (0, 4, 3, 2))
+    tmp51 = einsum(tmp17, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3))
+    tmp53 = einsum(t2, (0, 1, 2, 3), tmp52, (1, 4, 3, 5), (4, 0, 5, 2))
+    del tmp52
+    tmp56 = einsum(t2, (0, 1, 2, 3), tmp55, (1, 4, 2, 5), (4, 0, 5, 3))
+    del tmp55
+    tmp44 = einsum(tmp0, (0, 1), t2, (2, 0, 3, 4), (1, 2, 3, 4))
+    tmp75 = einsum(t1, (0, 1), tmp74, (0, 2, 3, 4), (2, 3, 4, 1))
+    del tmp74
+    tmp37 = einsum(l1, (0, 1), tmp36, (1, 2, 0, 3), (2, 3))
+    del tmp36
+    tmp72 = einsum(t1, (0, 1), tmp71, (0, 2, 3, 4), (2, 3, 4, 1))
+    del tmp71
+    tmp47 = einsum(t2, (0, 1, 2, 3), tmp46, (1, 4, 3, 5), (4, 0, 5, 2))
+    del tmp46
+    tmp60 = einsum(tmp3, (0, 1, 2, 3), tmp59, (0, 1, 4, 5), (2, 3, 4, 5))
+    del tmp59
+    tmp58 = einsum(tmp5, (0, 1, 2, 3), t2, (0, 1, 4, 5), (3, 2, 5, 4))
+    tmp11 = np.copy(tmp8)
+    tmp11 += tmp10 * -1
+    del tmp10
+    tmp49 = einsum(t1, (0, 1), tmp48, (0, 2, 3, 4), (2, 3, 4, 1))
+    del tmp48
+    tmp33 = einsum(tmp32, (0, 1), t1, (0, 2), (1, 2)) * 2
+    tmp28 = einsum(tmp12, (0, 1, 2, 3), t2, (0, 1, 4, 3), (2, 4))
+    del tmp12
+    tmp27 = einsum(t1, (0, 1), tmp6, (0, 2, 3, 4), (2, 3, 4, 1))
+    tmp42 = einsum(tmp32, (0, 1), t1, (0, 2), (1, 2))
+    del tmp32
+    tmp41 = einsum(l1, (0, 1), tmp29, (1, 2, 3, 0), (2, 3)) * 0.5
+    tmp30 = einsum(l1, (0, 1), tmp29, (1, 2, 3, 0), (2, 3))
+    del tmp29
+    tmp23 = einsum(t1, (0, 1), tmp3, (2, 0, 3, 4), (2, 3, 4, 1))
+    tmp116 = np.copy(np.transpose(tmp114, (1, 0, 3, 2)))
+    tmp116 += np.transpose(tmp115, (1, 0, 3, 2))
+    tmp94 = np.copy(tmp83) * 0.5
+    tmp94 += tmp63
+    tmp109 = np.copy(tmp95)
+    tmp109 += np.transpose(tmp108, (0, 1, 3, 2))
+    del tmp108
+    tmp102 = einsum(tmp69, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3))
+    tmp112 = einsum(tmp111, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4))
+    del tmp111
+    tmp110 = np.copy(tmp99)
+    tmp110 += einsum(t1, (0, 1), tmp85, (2, 3), (0, 2, 1, 3))
+    tmp106 = einsum(tmp105, (0, 1, 2, 3), t1, (0, 4), (1, 2, 3, 4))
+    del tmp105
+    tmp98 = np.copy(tmp95)
+    tmp98 += einsum(tmp83, (0, 1), t1, (2, 3), (2, 0, 3, 1))
+    del tmp83
+    tmp98 += np.transpose(tmp97, (0, 1, 3, 2)) * -1
+    del tmp97
+    tmp101 = einsum(tmp91, (0, 1, 2, 3), t1, (0, 4), (1, 2, 4, 3))
+    tmp100 = np.copy(tmp99)
+    tmp100 += einsum(tmp63, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 2
+    del tmp63
+    tmp86 = einsum(t1, (0, 1), tmp4, (0, 2, 3, 4), (2, 3, 4, 1))
+    tmp88 = einsum(t2, (0, 1, 2, 3), tmp87, (1, 4, 5, 3), (4, 0, 5, 2))
+    del tmp87
+    tmp93 = einsum(t2, (0, 1, 2, 3), tmp54, (1, 4, 5, 2), (4, 0, 5, 3))
+    del tmp54
+    tmp92 = einsum(t1, (0, 1), tmp18, (2, 0, 3, 4), (2, 3, 4, 1))
+    del tmp18
+    tmp82 = einsum(t1, (0, 1), tmp81, (2, 0, 3, 4), (2, 3, 4, 1))
+    del tmp81
+    tmp90 = einsum(tmp89, (0, 1, 2, 3), t2, (4, 0, 3, 5), (1, 4, 2, 5))
+    del tmp89
+    tmp77 = np.copy(t1)
+    tmp77 += tmp8 * -1
+    tmp66 = np.copy(np.transpose(tmp64, (1, 0, 3, 2)))
+    del tmp64
+    tmp66 += np.transpose(tmp65, (0, 1, 3, 2))
+    del tmp65
+    tmp66 += einsum(t1, (0, 1), tmp15, (2, 3), (0, 2, 1, 3)) * 2
+    tmp57 = np.copy(tmp51)
+    tmp57 += np.transpose(tmp53, (1, 0, 3, 2)) * 2
+    tmp57 += tmp56
+    del tmp56
+    tmp76 = np.copy(tmp44)
+    tmp76 += np.transpose(tmp75, (0, 1, 3, 2))
+    del tmp75
+    tmp70 = einsum(tmp69, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 1, 5, 3))
+    tmp73 = np.copy(np.transpose(tmp47, (1, 0, 3, 2))) * -1
+    tmp73 += np.transpose(tmp72, (0, 1, 3, 2))
+    del tmp72
+    tmp73 += einsum(t1, (0, 1), tmp37, (2, 3), (0, 2, 1, 3))
+    tmp61 = np.copy(tmp58)
+    tmp61 += np.transpose(tmp60, (1, 0, 3, 2))
+    tmp50 = np.copy(tmp44)
+    del tmp44
+    tmp50 += np.transpose(tmp47, (1, 0, 3, 2)) * -1
+    del tmp47
+    tmp50 += np.transpose(tmp49, (0, 1, 3, 2))
+    del tmp49
+    tmp50 += einsum(t1, (0, 1), tmp11, (2, 3), (0, 2, 1, 3)) * -1
+    tmp68 = einsum(tmp67, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 1, 5, 3))
+    tmp39 = einsum(t1, (0, 1), tmp0, (2, 3), (2, 0, 3, 1))
+    tmp39 += tmp19
+    tmp39 += tmp21 * -1
+    tmp38 = np.copy(tmp28)
+    tmp38 += tmp33
+    tmp40 = np.copy(tmp16)
+    tmp40 += np.transpose(tmp27, (0, 2, 1, 3))
+    tmp40 += einsum(t1, (0, 1), tmp2, (2, 3), (2, 0, 3, 1))
+    tmp35 = np.copy(tmp0)
+    tmp35 += tmp2
+    tmp43 = np.copy(t1) * -0.5
+    tmp43 += tmp13
+    del tmp13
+    tmp43 += tmp41 * -1
+    del tmp41
+    tmp43 += tmp42
+    del tmp42
+    tmp34 = np.copy(t1) * -1
+    tmp34 += tmp28
+    del tmp28
+    tmp34 += tmp30 * -1
+    del tmp30
+    tmp34 += tmp33
+    del tmp33
+    tmp22 = np.copy(tmp16)
+    tmp22 += tmp17
+    del tmp17
+    tmp22 += tmp19
+    del tmp19
+    tmp22 += tmp21 * -1
+    tmp24 = np.copy(tmp23)
+    del tmp23
+    tmp24 += einsum(t1, (0, 1), tmp2, (2, 3), (2, 0, 3, 1))
+    tmp7 = np.copy(delta.oo)
+    tmp7 += tmp0 * -1
+    rdm2.vvvv = np.copy(np.transpose(tmp116, (0, 1, 3, 2))) * -2
+    rdm2.vvvv += tmp116 * 2
+    del tmp116
+    rdm2.vvvv += np.transpose(tmp114, (1, 0, 3, 2)) * 2
+    del tmp114
+    rdm2.vvvv += np.transpose(tmp115, (1, 0, 3, 2)) * 2
+    del tmp115
+    rdm2.vvvo = np.copy(np.transpose(tmp113, (1, 2, 3, 0))) * -2
+    rdm2.vvvo += np.transpose(tmp113, (2, 1, 3, 0)) * 4
+    rdm2.vvov = np.copy(np.transpose(tmp113, (1, 2, 0, 3))) * 4
+    rdm2.vvov += np.transpose(tmp113, (2, 1, 0, 3)) * -2
+    del tmp113
+    rdm2.vovv = np.copy(np.transpose(tmp109, (1, 0, 2, 3))) * -2
+    rdm2.vovv += np.transpose(tmp109, (1, 0, 3, 2)) * 2
+    del tmp109
+    rdm2.vovv += np.transpose(tmp110, (1, 0, 2, 3)) * -2
+    rdm2.vovv += np.transpose(tmp110, (1, 0, 3, 2)) * 2
+    del tmp110
+    rdm2.vovv += np.transpose(tmp95, (1, 0, 3, 2)) * 2
+    rdm2.vovv += np.transpose(tmp102, (1, 0, 3, 2)) * -2
+    rdm2.vovv += np.transpose(tmp99, (1, 0, 2, 3)) * -2
+    rdm2.vovv += np.transpose(tmp112, (1, 0, 3, 2)) * -2
+    del tmp112
+    rdm2.vovv += einsum(t1, (0, 1), tmp94, (2, 3), (2, 0, 3, 1)) * 4
+    rdm2.ovvv = np.copy(tmp98) * 2
+    rdm2.ovvv += np.transpose(tmp98, (0, 1, 3, 2)) * -2
+    del tmp98
+    rdm2.ovvv += tmp100 * 2
+    rdm2.ovvv += np.transpose(tmp100, (0, 1, 3, 2)) * -2
+    del tmp100
+    rdm2.ovvv += tmp101 * 2
+    rdm2.ovvv += np.transpose(tmp101, (0, 1, 3, 2)) * -2
+    del tmp101
+    rdm2.ovvv += tmp95 * 2
+    del tmp95
+    rdm2.ovvv += np.transpose(tmp99, (0, 1, 3, 2)) * -2
+    del tmp99
+    rdm2.ovvv += tmp102 * -2
+    del tmp102
+    rdm2.ovvv += tmp106 * -2
+    del tmp106
+    rdm2.ovvv += einsum(t1, (0, 1), tmp85, (2, 3), (0, 2, 1, 3)) * 2
+    rdm2.vvoo = np.copy(np.transpose(l2, (0, 1, 3, 2))) * -2
+    rdm2.vvoo += l2 * 4
+    rdm2.vovo = einsum(l1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -2
+    rdm2.vovo += np.transpose(tmp88, (2, 1, 3, 0)) * -2
+    rdm2.vovo += np.transpose(tmp93, (2, 1, 3, 0)) * -2
+    del tmp93
+    rdm2.vovo += np.transpose(tmp92, (2, 1, 3, 0)) * -2
+    rdm2.vovo += einsum(delta.oo, (0, 1), tmp94, (2, 3), (2, 0, 3, 1)) * 8
+    del tmp94
+    rdm2.vovo += np.transpose(tmp69, (2, 1, 3, 0)) * -2
+    rdm2.vovo += np.transpose(tmp86, (2, 1, 3, 0)) * -2
+    rdm2.voov = einsum(l1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 4
+    rdm2.voov += np.transpose(tmp80, (3, 0, 1, 2)) * 2
+    rdm2.voov += np.transpose(tmp79, (3, 0, 1, 2)) * -2
+    rdm2.voov += np.transpose(tmp92, (2, 1, 0, 3)) * 2
+    del tmp92
+    rdm2.voov += einsum(delta.oo, (0, 1), tmp85, (2, 3), (2, 0, 1, 3)) * -2
+    rdm2.voov += np.transpose(tmp67, (2, 1, 0, 3)) * -2
+    rdm2.voov += np.transpose(tmp91, (2, 1, 0, 3)) * -2
+    rdm2.voov += np.transpose(tmp88, (2, 1, 0, 3)) * 2
+    rdm2.ovvo = einsum(l1, (0, 1), t1, (2, 3), (2, 0, 3, 1)) * 4
+    rdm2.ovvo += np.transpose(tmp88, (1, 2, 3, 0)) * 4
+    del tmp88
+    rdm2.ovvo += np.transpose(tmp90, (1, 2, 3, 0)) * -2
+    del tmp90
+    rdm2.ovvo += np.transpose(tmp82, (1, 2, 3, 0)) * -2
+    rdm2.ovvo += einsum(delta.oo, (0, 1), tmp85, (2, 3), (0, 2, 3, 1)) * -2
+    rdm2.ovvo += np.transpose(tmp67, (1, 2, 3, 0)) * -2
+    del tmp67
+    rdm2.ovvo += np.transpose(tmp91, (1, 2, 3, 0)) * -2
+    del tmp91
+    rdm2.ovov = einsum(l1, (0, 1), t1, (2, 3), (2, 0, 1, 3)) * -2
+    rdm2.ovov += np.transpose(tmp79, (0, 3, 1, 2)) * 2
+    del tmp79
+    rdm2.ovov += np.transpose(tmp80, (0, 3, 1, 2)) * -2
+    del tmp80
+    rdm2.ovov += np.transpose(tmp82, (1, 2, 0, 3)) * 2
+    del tmp82
+    rdm2.ovov += einsum(delta.oo, (0, 1), tmp85, (2, 3), (0, 2, 1, 3)) * 4
+    del tmp85
+    rdm2.ovov += np.transpose(tmp69, (1, 2, 0, 3)) * -2
+    del tmp69
+    rdm2.ovov += np.transpose(tmp86, (1, 2, 0, 3)) * -2
+    del tmp86
+    rdm2.oovv = np.copy(tmp50) * 2
+    rdm2.oovv += np.transpose(tmp50, (0, 1, 3, 2)) * -2
+    rdm2.oovv += np.transpose(tmp50, (1, 0, 2, 3)) * -2
+    rdm2.oovv += np.transpose(tmp50, (1, 0, 3, 2)) * 2
+    del tmp50
+    rdm2.oovv += tmp57 * 2
+    rdm2.oovv += np.transpose(tmp57, (0, 1, 3, 2)) * -2
+    del tmp57
+    rdm2.oovv += tmp61 * 2
+    rdm2.oovv += np.transpose(tmp61, (0, 1, 3, 2)) * -2
+    del tmp61
+    rdm2.oovv += tmp66 * -4
+    rdm2.oovv += np.transpose(tmp66, (0, 1, 3, 2)) * 2
+    rdm2.oovv += np.transpose(tmp66, (1, 0, 2, 3)) * 2
+    rdm2.oovv += np.transpose(tmp66, (1, 0, 3, 2)) * -4
+    del tmp66
+    rdm2.oovv += np.transpose(t2, (0, 1, 3, 2)) * -2
+    rdm2.oovv += t2 * 4
+    rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -2
+    rdm2.oovv += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2
+    rdm2.oovv += einsum(t1, (0, 1), tmp8, (2, 3), (0, 2, 1, 3)) * -2
+    del tmp8
+    rdm2.oovv += tmp68 * 2
+    del tmp68
+    rdm2.oovv += np.transpose(tmp70, (0, 1, 3, 2)) * 2
+    del tmp70
+    rdm2.oovv += tmp58 * 2
+    del tmp58
+    rdm2.oovv += tmp51 * 2
+    del tmp51
+    rdm2.oovv += tmp73 * 2
+    rdm2.oovv += np.transpose(tmp73, (1, 0, 3, 2)) * 2
+    del tmp73
+    rdm2.oovv += np.transpose(tmp76, (0, 1, 3, 2)) * -2
+    rdm2.oovv += np.transpose(tmp76, (1, 0, 2, 3)) * -2
+    del tmp76
+    rdm2.oovv += tmp53 * 4
+    del tmp53
+    rdm2.oovv += np.transpose(tmp60, (1, 0, 3, 2)) * 2
+    del tmp60
+    rdm2.oovv += einsum(tmp77, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2
+    del tmp77
+    rdm2.vooo = np.copy(np.transpose(tmp4, (3, 2, 0, 1))) * -4
+    rdm2.vooo += np.transpose(tmp4, (3, 2, 1, 0)) * 2
+    rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * 4
+    rdm2.vooo += einsum(l1, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -2
+    rdm2.ovoo = np.copy(np.transpose(tmp4, (2, 3, 0, 1))) * 2
+    rdm2.ovoo += np.transpose(tmp4, (2, 3, 1, 0)) * -4
+    del tmp4
+    rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -2
+    rdm2.ovoo += einsum(l1, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * 4
+    rdm2.oovo = einsum(delta.oo, (0, 1), tmp37, (2, 3), (2, 0, 3, 1)) * 2
+    rdm2.oovo += einsum(tmp37, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -2
+    del tmp37
+    rdm2.oovo += einsum(delta.oo, (0, 1), tmp38, (2, 3), (2, 0, 3, 1)) * -2
+    rdm2.oovo += einsum(tmp38, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * 2
+    del tmp38
+    rdm2.oovo += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * 2
+    rdm2.oovo += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 2, 3, 1)) * -2
+    rdm2.oovo += np.transpose(tmp39, (1, 2, 3, 0)) * -2
+    rdm2.oovo += np.transpose(tmp39, (2, 1, 3, 0)) * 2
+    del tmp39
+    rdm2.oovo += np.transpose(tmp40, (1, 2, 3, 0)) * -2
+    rdm2.oovo += np.transpose(tmp40, (2, 1, 3, 0)) * 2
+    del tmp40
+    rdm2.oovo += np.transpose(tmp26, (1, 2, 3, 0)) * 2
+    rdm2.oovo += np.transpose(tmp25, (2, 1, 3, 0)) * 2
+    rdm2.oovo += np.transpose(tmp16, (1, 2, 3, 0)) * -2
+    rdm2.oovo += np.transpose(tmp21, (2, 1, 3, 0)) * -2
+    rdm2.oovo += np.transpose(tmp27, (1, 2, 3, 0)) * 2
+    rdm2.oovo += einsum(tmp43, (0, 1), delta.oo, (2, 3), (0, 2, 1, 3)) * -4
+    del tmp43
+    rdm2.oovo += einsum(t1, (0, 1), tmp35, (2, 3), (0, 3, 1, 2)) * -2
+    rdm2.ooov = einsum(tmp11, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * 2
+    rdm2.ooov += einsum(tmp11, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * -2
+    del tmp11
+    rdm2.ooov += einsum(tmp15, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * 4
+    rdm2.ooov += einsum(tmp15, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * -4
+    del tmp15
+    rdm2.ooov += einsum(t1, (0, 1), delta.oo, (2, 3), (0, 2, 3, 1)) * -2
+    rdm2.ooov += einsum(delta.oo, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 2
+    rdm2.ooov += np.transpose(tmp22, (1, 2, 0, 3)) * 2
+    rdm2.ooov += np.transpose(tmp22, (2, 1, 0, 3)) * -2
+    del tmp22
+    rdm2.ooov += np.transpose(tmp24, (1, 2, 0, 3)) * 2
+    rdm2.ooov += np.transpose(tmp24, (2, 1, 0, 3)) * -2
+    del tmp24
+    rdm2.ooov += einsum(t1, (0, 1), tmp0, (2, 3), (0, 3, 2, 1)) * 2
+    rdm2.ooov += einsum(t1, (0, 1), tmp0, (2, 3), (3, 0, 2, 1)) * -2
+    rdm2.ooov += np.transpose(tmp25, (1, 2, 0, 3)) * 2
+    del tmp25
+    rdm2.ooov += np.transpose(tmp26, (2, 1, 0, 3)) * 2
+    del tmp26
+    rdm2.ooov += np.transpose(tmp16, (2, 1, 0, 3)) * -2
+    del tmp16
+    rdm2.ooov += np.transpose(tmp21, (1, 2, 0, 3)) * -2
+    del tmp21
+    rdm2.ooov += np.transpose(tmp27, (2, 1, 0, 3)) * 2
+    del tmp27
+    rdm2.ooov += einsum(delta.oo, (0, 1), tmp34, (2, 3), (0, 2, 1, 3)) * -2
+    del tmp34
+    rdm2.ooov += einsum(t1, (0, 1), tmp35, (2, 3), (3, 0, 2, 1)) * -2
+    del tmp35
+    rdm2.oooo = einsum(delta.oo, (0, 1), tmp0, (2, 3), (3, 0, 2, 1)) * -2
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp0, (2, 3), (0, 3, 2, 1)) * 2
+    rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0)) * 2
+    rdm2.oooo += einsum(tmp0, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0)) * -4
+    del tmp0
+    rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (2, 0, 3, 1)) * 2
+    rdm2.oooo += einsum(delta.oo, (0, 1), delta.oo, (2, 3), (2, 0, 1, 3)) * -2
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp2, (2, 3), (3, 0, 2, 1)) * -4
+    rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (2, 1, 0, 3)) * 2
+    rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (1, 2, 3, 0)) * 2
+    rdm2.oooo += einsum(tmp2, (0, 1), delta.oo, (2, 3), (2, 1, 3, 0)) * -4
+    del tmp2
+    rdm2.oooo += np.transpose(tmp6, (3, 2, 0, 1)) * -2
+    rdm2.oooo += np.transpose(tmp6, (2, 3, 0, 1)) * 2
+    del tmp6
+    rdm2.oooo += np.transpose(tmp3, (3, 2, 1, 0)) * 2
+    del tmp3
+    rdm2.oooo += np.transpose(tmp5, (3, 2, 1, 0)) * 2
+    del tmp5
+    rdm2.oooo += einsum(delta.oo, (0, 1), tmp7, (2, 3), (3, 0, 2, 1)) * 2
+    del delta, tmp7
+    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
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCCSD.hbar_matvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:41:23.218309.

+

Parameters

+

f : array + Fock matrix. +t1 : array + T1 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp1 : array +tmp103 : array +tmp105 : array +tmp106 : array +tmp107 : array +tmp108 : array +tmp109 : array +tmp11 : array +tmp110 : array +tmp112 : array +tmp113 : array +tmp114 : array +tmp118 : array +tmp119 : array +tmp120 : array +tmp121 : array +tmp122 : array +tmp123 : array +tmp129 : array +tmp130 : array +tmp14 : array +tmp17 : array +tmp18 : array +tmp20 : array +tmp21 : array +tmp23 : array +tmp24 : array +tmp29 : array +tmp31 : array +tmp32 : array +tmp33 : array +tmp35 : array +tmp37 : array +tmp38 : array +tmp4 : array +tmp40 : array +tmp42 : array +tmp43 : array +tmp44 : array +tmp48 : array +tmp5 : array +tmp50 : array +tmp51 : array +tmp52 : array +tmp55 : array +tmp56 : array +tmp57 : array +tmp59 : array +tmp62 : array +tmp63 : array +tmp65 : array +tmp66 : array +tmp67 : array +tmp7 : array +tmp72 : array +tmp73 : array +tmp74 : array +tmp75 : array +tmp76 : array +tmp78 : array +tmp84 : array +tmp85 : array +tmp86 : array +tmp87 : array +tmp89 : array +tmp9 : array +tmp95 : array +tmp96 : array +tmp98 : array +tmp99 : array

+ +
+ Source code in ebcc/codegen/RDFCCSD.py +
1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
+1331
+1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
+1359
+1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
+1373
+1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
+1445
+1446
+1447
+1448
+1449
+1450
+1451
+1452
+1453
+1454
+1455
+1456
+1457
+1458
+1459
+1460
+1461
+1462
+1463
+1464
+1465
+1466
+1467
+1468
+1469
def hbar_matvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:41:23.218309.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t1 : array
+        T1 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp1 : array
+    tmp103 : array
+    tmp105 : array
+    tmp106 : array
+    tmp107 : array
+    tmp108 : array
+    tmp109 : array
+    tmp11 : array
+    tmp110 : array
+    tmp112 : array
+    tmp113 : array
+    tmp114 : array
+    tmp118 : array
+    tmp119 : array
+    tmp120 : array
+    tmp121 : array
+    tmp122 : array
+    tmp123 : array
+    tmp129 : array
+    tmp130 : array
+    tmp14 : array
+    tmp17 : array
+    tmp18 : array
+    tmp20 : array
+    tmp21 : array
+    tmp23 : array
+    tmp24 : array
+    tmp29 : array
+    tmp31 : array
+    tmp32 : array
+    tmp33 : array
+    tmp35 : array
+    tmp37 : array
+    tmp38 : array
+    tmp4 : array
+    tmp40 : array
+    tmp42 : array
+    tmp43 : array
+    tmp44 : array
+    tmp48 : array
+    tmp5 : array
+    tmp50 : array
+    tmp51 : array
+    tmp52 : array
+    tmp55 : array
+    tmp56 : array
+    tmp57 : array
+    tmp59 : array
+    tmp62 : array
+    tmp63 : array
+    tmp65 : array
+    tmp66 : array
+    tmp67 : array
+    tmp7 : array
+    tmp72 : array
+    tmp73 : array
+    tmp74 : array
+    tmp75 : array
+    tmp76 : array
+    tmp78 : array
+    tmp84 : array
+    tmp85 : array
+    tmp86 : array
+    tmp87 : array
+    tmp89 : array
+    tmp9 : array
+    tmp95 : array
+    tmp96 : array
+    tmp98 : array
+    tmp99 : array
+    """
+
+    tmp6 = einsum(t1, (0, 1), v.xov, (2, 0, 1), (2,))
+    tmp4 = einsum(t1, (0, 1), v.xov, (2, 3, 1), (0, 3, 2))
+    tmp11 = einsum(tmp6, (0,), v.xov, (0, 1, 2), (1, 2))
+    tmp9 = einsum(tmp4, (0, 1, 2), v.xov, (2, 0, 3), (1, 3))
+    tmp17 = einsum(t2, (0, 1, 2, 3), v.xov, (4, 1, 2), (0, 3, 4))
+    tmp20 = einsum(v.xov, (0, 1, 2), t2, (3, 1, 4, 2), (3, 4, 0))
+    tmp37 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp24 = einsum(tmp11, (0, 1), t1, (2, 1), (2, 0))
+    tmp23 = einsum(tmp9, (0, 1), t1, (2, 1), (2, 0))
+    tmp44 = einsum(tmp4, (0, 1, 2), v.xoo, (2, 3, 4), (0, 3, 4, 1))
+    tmp18 = einsum(v.xov, (0, 1, 2), tmp17, (3, 2, 0), (3, 1))
+    tmp21 = einsum(v.xov, (0, 1, 2), tmp20, (3, 2, 0), (3, 1))
+    tmp14 = einsum(v.xov, (0, 1, 2), tmp4, (3, 4, 0), (3, 1, 4, 2))
+    tmp31 = einsum(t1, (0, 1), v.xvv, (2, 3, 1), (0, 3, 2))
+    tmp0 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp110 = einsum(tmp4, (0, 1, 2), tmp4, (3, 4, 2), (3, 0, 4, 1))
+    tmp29 = einsum(v.xvv, (0, 1, 2), tmp6, (0,), (1, 2))
+    tmp7 = einsum(tmp6, (0,), v.xoo, (0, 1, 2), (1, 2))
+    del tmp6
+    tmp5 = einsum(tmp4, (0, 1, 2), v.xoo, (2, 3, 0), (3, 1))
+    tmp1 = einsum(v.xov, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp57 = einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (3, 1, 2, 4))
+    tmp38 = einsum(tmp37, (0, 1, 2, 3), t2, (4, 5, 3, 2), (4, 5, 1, 0))
+    tmp34 = einsum(v.xvv, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 2, 4))
+    tmp130 = einsum(tmp24, (0, 1), t1, (1, 2), (0, 2))
+    tmp129 = einsum(tmp23, (0, 1), t1, (1, 2), (0, 2))
+    tmp123 = einsum(t1, (0, 1), tmp44, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp122 = einsum(t1, (0, 1), tmp18, (2, 0), (2, 1))
+    tmp121 = einsum(t1, (0, 1), tmp21, (2, 0), (2, 1))
+    tmp120 = einsum(tmp14, (0, 1, 2, 3), t2, (4, 2, 3, 5), (0, 4, 1, 5))
+    tmp119 = einsum(tmp14, (0, 1, 2, 3), t2, (2, 1, 3, 4), (0, 4))
+    tmp118 = einsum(t2, (0, 1, 2, 3), tmp14, (4, 1, 0, 3), (4, 2))
+    tmp114 = einsum(v.xoo, (0, 1, 2), tmp31, (3, 4, 0), (3, 1, 2, 4))
+    tmp113 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2))
+    tmp112 = einsum(t1, (0, 1), tmp110, (2, 3, 0, 4), (3, 2, 4, 1))
+    tmp109 = einsum(tmp31, (0, 1, 2), tmp4, (3, 4, 2), (3, 0, 4, 1))
+    tmp108 = einsum(tmp31, (0, 1, 2), tmp4, (3, 0, 2), (3, 1))
+    tmp107 = einsum(t1, (0, 1), tmp29, (2, 1), (0, 2))
+    tmp106 = einsum(tmp17, (0, 1, 2), v.xvv, (2, 3, 1), (0, 3))
+    tmp105 = einsum(tmp20, (0, 1, 2), v.xvv, (2, 3, 1), (0, 3))
+    tmp103 = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    tmp99 = einsum(tmp7, (0, 1), t1, (1, 2), (0, 2))
+    tmp98 = einsum(tmp5, (0, 1), t1, (1, 2), (0, 2))
+    tmp96 = einsum(tmp11, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp95 = einsum(tmp9, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp89 = einsum(v.xov, (0, 1, 2), tmp20, (1, 3, 0), (3, 2))
+    tmp87 = einsum(v.xov, (0, 1, 2), tmp17, (1, 3, 0), (3, 2))
+    tmp86 = einsum(t2, (0, 1, 2, 3), tmp1, (4, 1, 5, 2), (0, 4, 5, 3))
+    tmp85 = einsum(t2, (0, 1, 2, 3), tmp1, (4, 0, 1, 3), (4, 2))
+    tmp84 = einsum(t2, (0, 1, 2, 3), tmp1, (4, 0, 1, 2), (4, 3))
+    tmp78 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp76 = einsum(f.oo, (0, 1), t1, (1, 2), (0, 2))
+    tmp75 = einsum(tmp11, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp74 = einsum(t2, (0, 1, 2, 3), tmp11, (1, 2), (0, 3))
+    tmp73 = einsum(tmp9, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp72 = einsum(t2, (0, 1, 2, 3), tmp9, (1, 2), (0, 3))
+    tmp67 = einsum(tmp37, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 1, 5, 2))
+    tmp66 = einsum(tmp37, (0, 1, 2, 3), t2, (4, 0, 3, 5), (4, 1, 5, 2))
+    tmp65 = einsum(v.xoo, (0, 1, 2), tmp17, (3, 4, 0), (3, 1, 2, 4))
+    tmp63 = einsum(tmp20, (0, 1, 2), v.xoo, (2, 3, 4), (0, 3, 4, 1))
+    tmp62 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp59 = einsum(t1, (0, 1), tmp57, (2, 3, 4, 0), (3, 4, 2, 1))
+    tmp56 = einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp55 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 2), (0, 3))
+    tmp52 = einsum(t1, (0, 1), tmp44, (2, 3, 0, 4), (2, 3, 4, 1))
+    tmp51 = einsum(tmp17, (0, 1, 2), tmp4, (3, 4, 2), (3, 0, 4, 1))
+    tmp50 = einsum(tmp14, (0, 1, 2, 3), t2, (4, 2, 5, 3), (0, 4, 1, 5))
+    tmp48 = einsum(tmp20, (0, 1, 2), tmp4, (3, 4, 2), (3, 0, 4, 1))
+    tmp43 = einsum(tmp31, (0, 1, 2), v.xoo, (2, 3, 0), (3, 1))
+    tmp42 = einsum(v.xvv, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp40 = einsum(tmp38, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4))
+    tmp35 = einsum(tmp34, (0, 1, 2, 3), t2, (4, 5, 3, 2), (4, 5, 0, 1))
+    del tmp34
+    tmp33 = einsum(tmp4, (0, 1, 2), v.xvv, (2, 3, 4), (0, 1, 3, 4))
+    tmp32 = einsum(v.xov, (0, 1, 2), tmp31, (1, 3, 0), (2, 3))
+
+    return {f"tmp0": tmp0, f"tmp1": tmp1, f"tmp103": tmp103, f"tmp105": tmp105, f"tmp106": tmp106, f"tmp107": tmp107, f"tmp108": tmp108, f"tmp109": tmp109, f"tmp11": tmp11, f"tmp110": tmp110, f"tmp112": tmp112, f"tmp113": tmp113, f"tmp114": tmp114, f"tmp118": tmp118, f"tmp119": tmp119, f"tmp120": tmp120, f"tmp121": tmp121, f"tmp122": tmp122, f"tmp123": tmp123, f"tmp129": tmp129, f"tmp130": tmp130, f"tmp14": tmp14, f"tmp17": tmp17, f"tmp18": tmp18, f"tmp20": tmp20, f"tmp21": tmp21, f"tmp23": tmp23, f"tmp24": tmp24, f"tmp29": tmp29, f"tmp31": tmp31, f"tmp32": tmp32, f"tmp33": tmp33, f"tmp35": tmp35, f"tmp37": tmp37, f"tmp38": tmp38, f"tmp4": tmp4, f"tmp40": tmp40, f"tmp42": tmp42, f"tmp43": tmp43, f"tmp44": tmp44, f"tmp48": tmp48, f"tmp5": tmp5, f"tmp50": tmp50, f"tmp51": tmp51, f"tmp52": tmp52, f"tmp55": tmp55, f"tmp56": tmp56, f"tmp57": tmp57, f"tmp59": tmp59, f"tmp62": tmp62, f"tmp63": tmp63, f"tmp65": tmp65, f"tmp66": tmp66, f"tmp67": tmp67, f"tmp7": tmp7, f"tmp72": tmp72, f"tmp73": tmp73, f"tmp74": tmp74, f"tmp75": tmp75, f"tmp76": tmp76, f"tmp78": tmp78, f"tmp84": tmp84, f"tmp85": tmp85, f"tmp86": tmp86, f"tmp87": tmp87, f"tmp89": tmp89, f"tmp9": tmp9, f"tmp95": tmp95, f"tmp96": tmp96, f"tmp98": tmp98, f"tmp99": tmp99}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCCSD.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-17T20:41:23.251729.

+

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.

+ +
+ Source code in ebcc/codegen/RDFCCSD.py +
1471
+1472
+1473
+1474
+1475
+1476
+1477
+1478
+1479
+1480
+1481
+1482
+1483
+1484
+1485
+1486
+1487
+1488
+1489
+1490
+1491
+1492
+1493
+1494
+1495
+1496
+1497
+1498
+1499
+1500
+1501
+1502
+1503
+1504
+1505
+1506
+1507
+1508
+1509
+1510
+1511
+1512
+1513
+1514
+1515
+1516
+1517
+1518
+1519
+1520
+1521
+1522
+1523
+1524
+1525
+1526
+1527
+1528
+1529
+1530
+1531
+1532
+1533
+1534
+1535
+1536
+1537
+1538
+1539
+1540
+1541
+1542
+1543
+1544
+1545
+1546
+1547
+1548
+1549
+1550
+1551
+1552
+1553
+1554
+1555
+1556
+1557
+1558
+1559
+1560
+1561
+1562
+1563
+1564
+1565
+1566
+1567
+1568
+1569
+1570
+1571
+1572
+1573
+1574
+1575
+1576
+1577
+1578
+1579
+1580
+1581
+1582
+1583
+1584
+1585
+1586
+1587
+1588
+1589
+1590
+1591
+1592
+1593
+1594
+1595
+1596
+1597
+1598
+1599
+1600
+1601
+1602
+1603
+1604
+1605
+1606
+1607
+1608
+1609
+1610
+1611
+1612
+1613
+1614
+1615
+1616
+1617
+1618
+1619
+1620
+1621
+1622
+1623
+1624
+1625
+1626
+1627
+1628
+1629
+1630
+1631
+1632
+1633
+1634
+1635
+1636
+1637
+1638
+1639
+1640
+1641
+1642
+1643
+1644
+1645
+1646
+1647
+1648
+1649
+1650
+1651
+1652
+1653
+1654
+1655
+1656
+1657
+1658
+1659
+1660
+1661
+1662
+1663
+1664
+1665
+1666
+1667
+1668
+1669
+1670
+1671
+1672
+1673
+1674
+1675
+1676
+1677
+1678
+1679
+1680
+1681
+1682
+1683
+1684
+1685
+1686
+1687
+1688
+1689
+1690
+1691
+1692
+1693
+1694
+1695
+1696
+1697
+1698
+1699
+1700
+1701
+1702
+1703
+1704
+1705
+1706
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-17T20:41:23.251729.
+
+    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"]
+    tmp3 = np.copy(r2) * -1
+    tmp3 += np.transpose(r2, (1, 0, 2)) * 2
+    tmp2 = np.copy(f.ov) * 0.5
+    tmp2 += ints.tmp11
+    tmp2 += ints.tmp9 * -0.5
+    del ints.tmp9
+    tmp15 = np.copy(ints.tmp4)
+    del ints.tmp4
+    tmp15 += np.transpose(v.xoo, (1, 2, 0))
+    tmp9 = einsum(v.xov, (0, 1, 2), tmp3, (3, 1, 2), (3, 0)) * 0.5
+    tmp14 = np.copy(ints.tmp14)
+    tmp14 += np.transpose(ints.tmp1, (0, 2, 1, 3))
+    tmp17 = einsum(tmp3, (0, 1, 2), ints.tmp37, (1, 0, 2, 3), (3,)) * 0.5
+    del ints.tmp37
+    tmp7 = np.copy(ints.tmp38)
+    del ints.tmp38
+    tmp7 += np.transpose(ints.tmp44, (2, 0, 1, 3))
+    tmp7 += np.transpose(ints.tmp57, (2, 0, 1, 3))
+    del ints.tmp57
+    tmp10 = np.copy(ints.tmp20) * 2
+    del ints.tmp20
+    tmp10 += ints.tmp31
+    del ints.tmp31
+    tmp10 += np.transpose(v.xov, (1, 2, 0))
+    tmp10 += ints.tmp17 * -1
+    del ints.tmp17
+    tmp13 = np.copy(f.oo) * 0.5
+    tmp13 += ints.tmp0 * 0.5
+    tmp13 += np.transpose(ints.tmp21, (1, 0))
+    tmp13 += np.transpose(ints.tmp24, (1, 0))
+    tmp13 += np.transpose(ints.tmp7, (1, 0))
+    tmp13 += np.transpose(ints.tmp18, (1, 0)) * -0.5
+    tmp13 += np.transpose(ints.tmp23, (1, 0)) * -0.5
+    tmp13 += np.transpose(ints.tmp5, (1, 0)) * -0.5
+    tmp5 = np.copy(ints.tmp33) * 0.5
+    tmp5 += ints.tmp42 * 0.5
+    tmp5 += ints.tmp67
+    tmp5 += ints.tmp66 * -0.5
+    tmp8 = np.copy(ints.tmp110)
+    del ints.tmp110
+    tmp8 += np.transpose(ints.tmp44, (2, 0, 1, 3))
+    del ints.tmp44
+    tmp11 = np.copy(ints.tmp32)
+    del ints.tmp32
+    tmp11 += np.transpose(ints.tmp89, (1, 0)) * 2
+    del ints.tmp89
+    tmp11 += f.vv * -1
+    tmp11 += np.transpose(ints.tmp29, (1, 0)) * -2
+    del ints.tmp29
+    tmp11 += np.transpose(ints.tmp87, (1, 0)) * -1
+    del ints.tmp87
+    tmp11 += einsum(t1, (0, 1), tmp2, (0, 2), (2, 1)) * 2
+    tmp18 = np.copy(ints.tmp106)
+    del ints.tmp106
+    tmp18 += ints.tmp108
+    del ints.tmp108
+    tmp18 += ints.tmp113
+    del ints.tmp113
+    tmp18 += ints.tmp118 * 2
+    del ints.tmp118
+    tmp18 += ints.tmp121 * 2
+    del ints.tmp121
+    tmp18 += ints.tmp130 * 2
+    del ints.tmp130
+    tmp18 += ints.tmp43
+    del ints.tmp43
+    tmp18 += ints.tmp55
+    del ints.tmp55
+    tmp18 += ints.tmp73 * 2
+    del ints.tmp73
+    tmp18 += ints.tmp74 * 2
+    del ints.tmp74
+    tmp18 += ints.tmp76
+    del ints.tmp76
+    tmp18 += ints.tmp85 * 2
+    del ints.tmp85
+    tmp18 += ints.tmp99 * 2
+    del ints.tmp99
+    tmp18 += f.ov * -1
+    tmp18 += ints.tmp103 * -1
+    del ints.tmp103
+    tmp18 += ints.tmp105 * -2
+    del ints.tmp105
+    tmp18 += ints.tmp107 * -2
+    del ints.tmp107
+    tmp18 += ints.tmp119 * -1
+    del ints.tmp119
+    tmp18 += ints.tmp11 * -2
+    del ints.tmp11
+    tmp18 += ints.tmp122 * -1
+    del ints.tmp122
+    tmp18 += ints.tmp129 * -1
+    del ints.tmp129
+    tmp18 += ints.tmp56 * -2
+    del ints.tmp56
+    tmp18 += ints.tmp72 * -1
+    del ints.tmp72
+    tmp18 += ints.tmp75 * -4
+    del ints.tmp75
+    tmp18 += ints.tmp84 * -1
+    del ints.tmp84
+    tmp18 += ints.tmp98 * -1
+    del ints.tmp98
+    tmp16 = einsum(tmp14, (0, 1, 2, 3), r2, (4, 2, 3), (0, 1, 4)) * 0.5
+    tmp16 += einsum(r2, (0, 1, 2), tmp14, (3, 4, 0, 2), (1, 4, 3)) * 0.5
+    del tmp14
+    tmp16 += einsum(tmp9, (0, 1), tmp15, (2, 3, 1), (0, 3, 2)) * -1
+    del tmp15
+    tmp6 = np.copy(ints.tmp33)
+    del ints.tmp33
+    tmp6 += ints.tmp42
+    del ints.tmp42
+    tmp6 += ints.tmp66 * -1
+    del ints.tmp66
+    tmp12 = np.copy(ints.tmp112)
+    del ints.tmp112
+    tmp12 += np.transpose(ints.tmp120, (1, 0, 2, 3))
+    del ints.tmp120
+    tmp12 += np.transpose(ints.tmp123, (2, 0, 1, 3))
+    del ints.tmp123
+    tmp12 += ints.tmp40
+    del ints.tmp40
+    tmp12 += ints.tmp50
+    del ints.tmp50
+    tmp12 += ints.tmp51
+    del ints.tmp51
+    tmp12 += ints.tmp52
+    del ints.tmp52
+    tmp12 += np.transpose(ints.tmp59, (1, 2, 0, 3))
+    del ints.tmp59
+    tmp12 += np.transpose(ints.tmp62, (1, 0, 2, 3))
+    del ints.tmp62
+    tmp12 += np.transpose(ints.tmp65, (2, 0, 1, 3))
+    del ints.tmp65
+    tmp12 += ints.tmp86
+    del ints.tmp86
+    tmp12 += np.transpose(ints.tmp95, (1, 0, 2, 3))
+    del ints.tmp95
+    tmp12 += ints.tmp109 * -1
+    del ints.tmp109
+    tmp12 += np.transpose(ints.tmp114, (2, 0, 1, 3)) * -1
+    del ints.tmp114
+    tmp12 += ints.tmp14 * -1
+    tmp12 += np.transpose(ints.tmp1, (0, 2, 1, 3)) * -1
+    tmp12 += ints.tmp35 * -1
+    del ints.tmp35
+    tmp12 += ints.tmp48 * -2
+    del ints.tmp48
+    tmp12 += np.transpose(ints.tmp63, (2, 0, 1, 3)) * -2
+    del ints.tmp63
+    tmp12 += np.transpose(ints.tmp78, (2, 1, 0, 3)) * -1
+    del ints.tmp78
+    tmp12 += np.transpose(ints.tmp96, (1, 0, 2, 3)) * -2
+    del ints.tmp96
+    tmp1 = np.copy(r2) * -0.5
+    tmp1 += np.transpose(r2, (1, 0, 2))
+    tmp4 = np.copy(f.oo)
+    tmp4 += ints.tmp0
+    del ints.tmp0
+    tmp4 += np.transpose(ints.tmp21, (1, 0)) * 2
+    del ints.tmp21
+    tmp4 += np.transpose(ints.tmp24, (1, 0)) * 2
+    del ints.tmp24
+    tmp4 += np.transpose(ints.tmp7, (1, 0)) * 2
+    del ints.tmp7
+    tmp4 += np.transpose(ints.tmp18, (1, 0)) * -1
+    del ints.tmp18
+    tmp4 += np.transpose(ints.tmp23, (1, 0)) * -1
+    del ints.tmp23
+    tmp4 += np.transpose(ints.tmp5, (1, 0)) * -1
+    del ints.tmp5
+    tmp0 = np.copy(r2) * 2
+    tmp0 += np.transpose(r2, (1, 0, 2)) * -1
+    r2new = einsum(ints.tmp67, (0, 1, 2, 3), r2, (4, 1, 3), (0, 4, 2))
+    del ints.tmp67
+    r2new += einsum(tmp5, (0, 1, 2, 3), r2, (1, 4, 3), (0, 4, 2)) * -2
+    del tmp5
+    r2new += einsum(r2, (0, 1, 2), tmp6, (3, 1, 4, 2), (0, 3, 4)) * -1
+    del tmp6
+    r2new += einsum(tmp7, (0, 1, 2, 3), r2, (2, 3, 4), (0, 1, 4))
+    del tmp7
+    r2new += einsum(tmp8, (0, 1, 2, 3), r2, (3, 2, 4), (1, 0, 4))
+    del tmp8
+    r2new += einsum(tmp9, (0, 1), tmp10, (2, 3, 1), (2, 0, 3)) * 2
+    del tmp9, tmp10
+    r2new += einsum(tmp11, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp11
+    r2new += einsum(tmp12, (0, 1, 2, 3), r1, (2,), (1, 0, 3)) * -1
+    del tmp12
+    r2new += einsum(tmp13, (0, 1), r2, (0, 2, 3), (1, 2, 3)) * -2
+    r2new += einsum(r2, (0, 1, 2), tmp13, (1, 3), (0, 3, 2)) * -2
+    del tmp13
+    r2new += einsum(tmp16, (0, 1, 2), t1, (1, 3), (2, 0, 3)) * 2
+    del tmp16
+    r2new += einsum(t2, (0, 1, 2, 3), tmp17, (3,), (0, 1, 2)) * -2
+    del tmp17
+    r2new += einsum(r1, (0,), tmp18, (1, 2), (1, 0, 2))
+    del tmp18
+    r1new = einsum(ints.tmp14, (0, 1, 2, 3), tmp0, (1, 2, 3), (0,))
+    del ints.tmp14, tmp0
+    r1new += einsum(tmp1, (0, 1, 2), ints.tmp1, (3, 0, 1, 2), (3,)) * 2
+    del ints.tmp1, tmp1
+    r1new += einsum(tmp2, (0, 1), tmp3, (2, 0, 1), (2,)) * -2
+    del tmp3, tmp2
+    r1new += einsum(r1, (0,), tmp4, (0, 1), (1,)) * -1
+    del tmp4
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCCSD.hbar_matvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:41:51.041773.

+

Parameters

+

f : array + Fock matrix. +t1 : array + T1 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp1 : array +tmp10 : array +tmp100 : array +tmp101 : array +tmp102 : array +tmp108 : array +tmp109 : array +tmp110 : array +tmp111 : array +tmp113 : array +tmp114 : array +tmp117 : array +tmp119 : array +tmp12 : array +tmp120 : array +tmp123 : array +tmp128 : array +tmp129 : array +tmp130 : array +tmp131 : array +tmp132 : array +tmp136 : array +tmp15 : array +tmp20 : array +tmp21 : array +tmp23 : array +tmp24 : array +tmp36 : array +tmp39 : array +tmp44 : array +tmp45 : array +tmp46 : array +tmp47 : array +tmp49 : array +tmp5 : array +tmp51 : array +tmp62 : array +tmp63 : array +tmp64 : array +tmp66 : array +tmp68 : array +tmp7 : array +tmp70 : array +tmp71 : array +tmp72 : array +tmp74 : array +tmp76 : array +tmp77 : array +tmp79 : array +tmp8 : array +tmp80 : array +tmp81 : array +tmp83 : array +tmp84 : array +tmp89 : array +tmp9 : array +tmp91 : array +tmp92 : array +tmp93 : array +tmp94 : array

+ +
+ Source code in ebcc/codegen/RDFCCSD.py +
1708
+1709
+1710
+1711
+1712
+1713
+1714
+1715
+1716
+1717
+1718
+1719
+1720
+1721
+1722
+1723
+1724
+1725
+1726
+1727
+1728
+1729
+1730
+1731
+1732
+1733
+1734
+1735
+1736
+1737
+1738
+1739
+1740
+1741
+1742
+1743
+1744
+1745
+1746
+1747
+1748
+1749
+1750
+1751
+1752
+1753
+1754
+1755
+1756
+1757
+1758
+1759
+1760
+1761
+1762
+1763
+1764
+1765
+1766
+1767
+1768
+1769
+1770
+1771
+1772
+1773
+1774
+1775
+1776
+1777
+1778
+1779
+1780
+1781
+1782
+1783
+1784
+1785
+1786
+1787
+1788
+1789
+1790
+1791
+1792
+1793
+1794
+1795
+1796
+1797
+1798
+1799
+1800
+1801
+1802
+1803
+1804
+1805
+1806
+1807
+1808
+1809
+1810
+1811
+1812
+1813
+1814
+1815
+1816
+1817
+1818
+1819
+1820
+1821
+1822
+1823
+1824
+1825
+1826
+1827
+1828
+1829
+1830
+1831
+1832
+1833
+1834
+1835
+1836
+1837
+1838
+1839
+1840
+1841
+1842
+1843
+1844
+1845
+1846
+1847
+1848
+1849
+1850
def hbar_matvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:41:51.041773.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t1 : array
+        T1 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp1 : array
+    tmp10 : array
+    tmp100 : array
+    tmp101 : array
+    tmp102 : array
+    tmp108 : array
+    tmp109 : array
+    tmp110 : array
+    tmp111 : array
+    tmp113 : array
+    tmp114 : array
+    tmp117 : array
+    tmp119 : array
+    tmp12 : array
+    tmp120 : array
+    tmp123 : array
+    tmp128 : array
+    tmp129 : array
+    tmp130 : array
+    tmp131 : array
+    tmp132 : array
+    tmp136 : array
+    tmp15 : array
+    tmp20 : array
+    tmp21 : array
+    tmp23 : array
+    tmp24 : array
+    tmp36 : array
+    tmp39 : array
+    tmp44 : array
+    tmp45 : array
+    tmp46 : array
+    tmp47 : array
+    tmp49 : array
+    tmp5 : array
+    tmp51 : array
+    tmp62 : array
+    tmp63 : array
+    tmp64 : array
+    tmp66 : array
+    tmp68 : array
+    tmp7 : array
+    tmp70 : array
+    tmp71 : array
+    tmp72 : array
+    tmp74 : array
+    tmp76 : array
+    tmp77 : array
+    tmp79 : array
+    tmp8 : array
+    tmp80 : array
+    tmp81 : array
+    tmp83 : array
+    tmp84 : array
+    tmp89 : array
+    tmp9 : array
+    tmp91 : array
+    tmp92 : array
+    tmp93 : array
+    tmp94 : array
+    """
+
+    tmp4 = einsum(t1, (0, 1), v.xov, (2, 0, 1), (2,))
+    tmp9 = einsum(t1, (0, 1), v.xov, (2, 3, 1), (0, 3, 2))
+    tmp12 = einsum(tmp4, (0,), v.xov, (0, 1, 2), (1, 2))
+    tmp10 = einsum(v.xov, (0, 1, 2), tmp9, (1, 3, 0), (3, 2))
+    tmp20 = einsum(t2, (0, 1, 2, 3), v.xov, (4, 1, 2), (0, 3, 4))
+    tmp23 = einsum(t2, (0, 1, 2, 3), v.xov, (4, 1, 3), (0, 2, 4))
+    tmp15 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp1 = einsum(v.xvv, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 2, 4))
+    tmp47 = einsum(tmp4, (0,), v.xoo, (0, 1, 2), (1, 2))
+    tmp46 = einsum(tmp9, (0, 1, 2), v.xoo, (2, 3, 0), (3, 1))
+    tmp49 = einsum(v.xov, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp84 = einsum(t1, (0, 1), tmp12, (2, 1), (0, 2))
+    tmp83 = einsum(t1, (0, 1), tmp10, (2, 1), (0, 2))
+    tmp72 = einsum(v.xov, (0, 1, 2), tmp20, (3, 2, 0), (3, 1))
+    tmp74 = einsum(tmp23, (0, 1, 2), v.xov, (2, 3, 1), (0, 3))
+    tmp76 = einsum(tmp9, (0, 1, 2), v.xov, (2, 3, 4), (0, 3, 1, 4))
+    tmp63 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp7 = einsum(t1, (0, 1), v.xvv, (2, 3, 1), (0, 3, 2))
+    tmp5 = einsum(tmp4, (0,), v.xvv, (0, 1, 2), (1, 2))
+    del tmp4
+    tmp136 = einsum(tmp20, (0, 1, 2), v.xov, (2, 3, 4), (0, 3, 1, 4))
+    tmp132 = einsum(tmp23, (0, 1, 2), v.xov, (2, 3, 4), (0, 3, 1, 4))
+    tmp131 = einsum(tmp12, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp130 = einsum(t2, (0, 1, 2, 3), tmp12, (1, 2), (0, 3))
+    tmp129 = einsum(tmp10, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp128 = einsum(t2, (0, 1, 2, 3), tmp10, (1, 2), (0, 3))
+    tmp123 = einsum(t2, (0, 1, 2, 3), tmp15, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp120 = einsum(v.xvv, (0, 1, 2), tmp20, (3, 4, 0), (3, 4, 1, 2))
+    tmp119 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 0, 5, 2), (4, 5, 3, 1))
+    tmp117 = einsum(v.xvv, (0, 1, 2), tmp23, (3, 4, 0), (3, 4, 1, 2))
+    tmp114 = einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp113 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 2), (0, 3))
+    tmp111 = einsum(tmp47, (0, 1), t1, (1, 2), (0, 2))
+    tmp110 = einsum(t1, (0, 1), tmp46, (2, 0), (2, 1))
+    tmp109 = einsum(t2, (0, 1, 2, 3), tmp49, (4, 0, 1, 3), (4, 2))
+    tmp108 = einsum(tmp49, (0, 1, 2, 3), t2, (1, 2, 3, 4), (0, 4))
+    tmp102 = einsum(f.oo, (0, 1), t1, (1, 2), (0, 2))
+    tmp101 = einsum(tmp84, (0, 1), t1, (1, 2), (0, 2))
+    tmp100 = einsum(tmp83, (0, 1), t1, (1, 2), (0, 2))
+    tmp94 = einsum(tmp72, (0, 1), t1, (1, 2), (0, 2))
+    tmp93 = einsum(t1, (0, 1), tmp74, (2, 0), (2, 1))
+    tmp92 = einsum(tmp76, (0, 1, 2, 3), t2, (2, 1, 3, 4), (0, 4))
+    tmp91 = einsum(t2, (0, 1, 2, 3), tmp76, (4, 1, 0, 3), (4, 2))
+    tmp89 = einsum(tmp63, (0, 1), t1, (0, 2), (1, 2))
+    tmp81 = einsum(tmp7, (0, 1, 2), v.xov, (2, 3, 4), (0, 3, 4, 1))
+    tmp80 = einsum(tmp7, (0, 1, 2), tmp9, (3, 0, 2), (3, 1))
+    tmp79 = einsum(t1, (0, 1), tmp5, (2, 1), (0, 2))
+    tmp77 = einsum(t2, (0, 1, 2, 3), tmp76, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp71 = einsum(tmp20, (0, 1, 2), v.xvv, (2, 3, 1), (0, 3))
+    tmp70 = einsum(v.xvv, (0, 1, 2), tmp23, (3, 2, 0), (3, 1))
+    tmp68 = einsum(v.xvv, (0, 1, 2), tmp9, (3, 4, 0), (3, 4, 1, 2))
+    tmp66 = einsum(v.xvv, (0, 1, 2), tmp7, (3, 4, 0), (3, 1, 2, 4))
+    tmp64 = einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (3, 1, 2, 4))
+    tmp62 = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    tmp51 = einsum(t2, (0, 1, 2, 3), tmp49, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp45 = einsum(tmp7, (0, 1, 2), v.xoo, (2, 3, 0), (3, 1))
+    tmp44 = einsum(v.xvv, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp39 = einsum(t2, (0, 1, 2, 3), tmp15, (1, 4, 5, 2), (0, 4, 3, 5))
+    tmp36 = einsum(tmp1, (0, 1, 2, 3), t2, (4, 0, 2, 5), (4, 5, 3, 1))
+    tmp24 = einsum(v.xov, (0, 1, 2), tmp23, (1, 3, 0), (3, 2))
+    tmp21 = einsum(v.xov, (0, 1, 2), tmp20, (1, 3, 0), (3, 2))
+    tmp8 = einsum(tmp7, (0, 1, 2), v.xov, (2, 0, 3), (3, 1))
+
+    return {f"tmp1": tmp1, f"tmp10": tmp10, f"tmp100": tmp100, f"tmp101": tmp101, f"tmp102": tmp102, f"tmp108": tmp108, f"tmp109": tmp109, f"tmp110": tmp110, f"tmp111": tmp111, f"tmp113": tmp113, f"tmp114": tmp114, f"tmp117": tmp117, f"tmp119": tmp119, f"tmp12": tmp12, f"tmp120": tmp120, f"tmp123": tmp123, f"tmp128": tmp128, f"tmp129": tmp129, f"tmp130": tmp130, f"tmp131": tmp131, f"tmp132": tmp132, f"tmp136": tmp136, f"tmp15": tmp15, f"tmp20": tmp20, f"tmp21": tmp21, f"tmp23": tmp23, f"tmp24": tmp24, f"tmp36": tmp36, f"tmp39": tmp39, f"tmp44": tmp44, f"tmp45": tmp45, f"tmp46": tmp46, f"tmp47": tmp47, f"tmp49": tmp49, f"tmp5": tmp5, f"tmp51": tmp51, f"tmp62": tmp62, f"tmp63": tmp63, f"tmp64": tmp64, f"tmp66": tmp66, f"tmp68": tmp68, f"tmp7": tmp7, f"tmp70": tmp70, f"tmp71": tmp71, f"tmp72": tmp72, f"tmp74": tmp74, f"tmp76": tmp76, f"tmp77": tmp77, f"tmp79": tmp79, f"tmp8": tmp8, f"tmp80": tmp80, f"tmp81": tmp81, f"tmp83": tmp83, f"tmp84": tmp84, f"tmp89": tmp89, f"tmp9": tmp9, f"tmp91": tmp91, f"tmp92": tmp92, f"tmp93": tmp93, f"tmp94": tmp94}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCCSD.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-17T20:41:51.070740.

+

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.

+ +
+ Source code in ebcc/codegen/RDFCCSD.py +
1852
+1853
+1854
+1855
+1856
+1857
+1858
+1859
+1860
+1861
+1862
+1863
+1864
+1865
+1866
+1867
+1868
+1869
+1870
+1871
+1872
+1873
+1874
+1875
+1876
+1877
+1878
+1879
+1880
+1881
+1882
+1883
+1884
+1885
+1886
+1887
+1888
+1889
+1890
+1891
+1892
+1893
+1894
+1895
+1896
+1897
+1898
+1899
+1900
+1901
+1902
+1903
+1904
+1905
+1906
+1907
+1908
+1909
+1910
+1911
+1912
+1913
+1914
+1915
+1916
+1917
+1918
+1919
+1920
+1921
+1922
+1923
+1924
+1925
+1926
+1927
+1928
+1929
+1930
+1931
+1932
+1933
+1934
+1935
+1936
+1937
+1938
+1939
+1940
+1941
+1942
+1943
+1944
+1945
+1946
+1947
+1948
+1949
+1950
+1951
+1952
+1953
+1954
+1955
+1956
+1957
+1958
+1959
+1960
+1961
+1962
+1963
+1964
+1965
+1966
+1967
+1968
+1969
+1970
+1971
+1972
+1973
+1974
+1975
+1976
+1977
+1978
+1979
+1980
+1981
+1982
+1983
+1984
+1985
+1986
+1987
+1988
+1989
+1990
+1991
+1992
+1993
+1994
+1995
+1996
+1997
+1998
+1999
+2000
+2001
+2002
+2003
+2004
+2005
+2006
+2007
+2008
+2009
+2010
+2011
+2012
+2013
+2014
+2015
+2016
+2017
+2018
+2019
+2020
+2021
+2022
+2023
+2024
+2025
+2026
+2027
+2028
+2029
+2030
+2031
+2032
+2033
+2034
+2035
+2036
+2037
+2038
+2039
+2040
+2041
+2042
+2043
+2044
+2045
+2046
+2047
+2048
+2049
+2050
+2051
+2052
+2053
+2054
+2055
+2056
+2057
+2058
+2059
+2060
+2061
+2062
+2063
+2064
+2065
+2066
+2067
+2068
+2069
+2070
+2071
+2072
+2073
+2074
+2075
+2076
+2077
+2078
+2079
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-17T20:41:51.070740.
+
+    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"]
+    tmp15 = np.copy(f.ov) * 0.5
+    tmp15 += ints.tmp12
+    tmp15 += ints.tmp10 * -0.5
+    tmp19 = np.copy(ints.tmp132)
+    del ints.tmp132
+    tmp19 += ints.tmp15 * 0.5
+    tmp19 += np.transpose(ints.tmp81, (0, 1, 3, 2)) * 0.5
+    del ints.tmp81
+    tmp19 += ints.tmp123 * -0.5
+    tmp19 += ints.tmp136 * -0.5
+    del ints.tmp136
+    tmp7 = einsum(r2, (0, 1, 2), ints.tmp15, (3, 4, 1, 0), (3, 4, 2))
+    tmp10 = np.copy(np.transpose(r2, (2, 0, 1)))
+    tmp10 += einsum(t1, (0, 1), r1, (2,), (0, 1, 2)) * -1
+    tmp8 = np.copy(ints.tmp49)
+    del ints.tmp49
+    tmp8 += np.transpose(ints.tmp76, (0, 2, 1, 3))
+    del ints.tmp76
+    tmp2 = np.copy(np.transpose(r2, (2, 0, 1))) * -1
+    tmp2 += np.transpose(r2, (2, 1, 0)) * 2
+    tmp13 = np.copy(ints.tmp9)
+    del ints.tmp9
+    tmp13 += np.transpose(v.xoo, (1, 2, 0))
+    tmp16 = einsum(t1, (0, 1), tmp15, (0, 2), (1, 2)) * 2
+    del tmp15
+    tmp4 = np.copy(np.transpose(r2, (2, 0, 1)))
+    tmp4 += np.transpose(r2, (2, 1, 0)) * -0.5
+    tmp1 = np.copy(f.ov)
+    tmp1 += ints.tmp12 * 2
+    tmp1 += ints.tmp10 * -1
+    del ints.tmp10
+    tmp23 = np.copy(ints.tmp101) * 2
+    del ints.tmp101
+    tmp23 += ints.tmp102
+    del ints.tmp102
+    tmp23 += ints.tmp109 * 2
+    del ints.tmp109
+    tmp23 += ints.tmp111 * 2
+    del ints.tmp111
+    tmp23 += ints.tmp113
+    del ints.tmp113
+    tmp23 += ints.tmp129 * 2
+    del ints.tmp129
+    tmp23 += ints.tmp130 * 2
+    del ints.tmp130
+    tmp23 += ints.tmp45
+    del ints.tmp45
+    tmp23 += ints.tmp71
+    del ints.tmp71
+    tmp23 += ints.tmp80
+    del ints.tmp80
+    tmp23 += ints.tmp89
+    del ints.tmp89
+    tmp23 += ints.tmp91 * 2
+    del ints.tmp91
+    tmp23 += ints.tmp93 * 2
+    del ints.tmp93
+    tmp23 += f.ov * -1
+    tmp23 += ints.tmp100 * -1
+    del ints.tmp100
+    tmp23 += ints.tmp108 * -1
+    del ints.tmp108
+    tmp23 += ints.tmp110 * -1
+    del ints.tmp110
+    tmp23 += ints.tmp114 * -2
+    del ints.tmp114
+    tmp23 += ints.tmp128 * -1
+    del ints.tmp128
+    tmp23 += ints.tmp12 * -2
+    del ints.tmp12
+    tmp23 += ints.tmp131 * -4
+    del ints.tmp131
+    tmp23 += ints.tmp62 * -1
+    del ints.tmp62
+    tmp23 += ints.tmp70 * -2
+    del ints.tmp70
+    tmp23 += ints.tmp79 * -2
+    del ints.tmp79
+    tmp23 += ints.tmp92 * -1
+    del ints.tmp92
+    tmp23 += ints.tmp94 * -1
+    del ints.tmp94
+    tmp21 = np.copy(f.oo)
+    tmp21 += np.transpose(ints.tmp47, (1, 0)) * 2
+    del ints.tmp47
+    tmp21 += ints.tmp63
+    del ints.tmp63
+    tmp21 += np.transpose(ints.tmp74, (1, 0)) * 2
+    del ints.tmp74
+    tmp21 += np.transpose(ints.tmp84, (1, 0)) * 2
+    del ints.tmp84
+    tmp21 += np.transpose(ints.tmp46, (1, 0)) * -1
+    del ints.tmp46
+    tmp21 += np.transpose(ints.tmp72, (1, 0)) * -1
+    del ints.tmp72
+    tmp21 += np.transpose(ints.tmp83, (1, 0)) * -1
+    del ints.tmp83
+    tmp20 = einsum(r2, (0, 1, 2), ints.tmp1, (3, 4, 0, 1), (2, 3, 4)) * -1
+    tmp20 += einsum(tmp7, (0, 1, 2), t1, (1, 3), (2, 0, 3))
+    tmp20 += einsum(tmp8, (0, 1, 2, 3), tmp10, (1, 4, 3), (0, 2, 4))
+    tmp20 += einsum(tmp19, (0, 1, 2, 3), r1, (3,), (0, 1, 2)) * 2
+    del tmp19
+    tmp12 = einsum(v.xov, (0, 1, 2), tmp2, (1, 3, 2), (3, 0)) * 0.5
+    tmp14 = np.copy(ints.tmp23) * 2
+    del ints.tmp23
+    tmp14 += ints.tmp7
+    del ints.tmp7
+    tmp14 += np.transpose(v.xov, (1, 2, 0))
+    tmp14 += ints.tmp20 * -1
+    del ints.tmp20
+    tmp14 += einsum(t1, (0, 1), tmp13, (2, 0, 3), (2, 1, 3)) * -1
+    del tmp13
+    tmp11 = np.copy(ints.tmp44)
+    tmp11 += ints.tmp68
+    tmp11 += ints.tmp39 * -1
+    tmp9 = np.copy(ints.tmp123)
+    tmp9 += ints.tmp44 * 0.5
+    del ints.tmp44
+    tmp9 += ints.tmp68 * 0.5
+    del ints.tmp68
+    tmp9 += ints.tmp39 * -0.5
+    del ints.tmp39
+    tmp9 += einsum(tmp8, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) * -0.5
+    del tmp8
+    tmp6 = einsum(ints.tmp1, (0, 1, 2, 3), r2, (3, 2, 4), (0, 4, 1))
+    tmp18 = np.copy(ints.tmp117) * 2
+    del ints.tmp117
+    tmp18 += np.transpose(ints.tmp1, (0, 3, 2, 1))
+    tmp18 += np.transpose(ints.tmp51, (0, 1, 3, 2))
+    del ints.tmp51
+    tmp18 += np.transpose(ints.tmp66, (0, 3, 1, 2))
+    del ints.tmp66
+    tmp18 += np.transpose(ints.tmp77, (0, 2, 3, 1))
+    del ints.tmp77
+    tmp18 += ints.tmp119 * -1
+    del ints.tmp119
+    tmp18 += ints.tmp120 * -1
+    del ints.tmp120
+    tmp18 += np.transpose(ints.tmp36, (0, 3, 2, 1)) * -1
+    del ints.tmp36
+    tmp17 = np.copy(np.transpose(ints.tmp24, (1, 0))) * 2
+    tmp17 += ints.tmp8
+    tmp17 += f.vv * -1
+    tmp17 += np.transpose(ints.tmp21, (1, 0)) * -1
+    tmp17 += np.transpose(ints.tmp5, (1, 0)) * -2
+    tmp17 += np.transpose(tmp16, (1, 0))
+    del tmp16
+    tmp22 = einsum(ints.tmp15, (0, 1, 2, 3), tmp4, (0, 2, 3), (1,)) * -2
+    tmp22 += einsum(r1, (0,), tmp1, (1, 0), (1,))
+    tmp5 = einsum(ints.tmp15, (0, 1, 2, 3), tmp4, (0, 2, 3), (1,)) * -1
+    del ints.tmp15, tmp4
+    tmp5 += einsum(r1, (0,), tmp1, (1, 0), (1,)) * 0.5
+    tmp0 = np.copy(np.transpose(r2, (2, 0, 1))) * -0.5
+    tmp0 += np.transpose(r2, (2, 1, 0))
+    tmp3 = np.copy(f.vv)
+    tmp3 += np.transpose(ints.tmp21, (1, 0))
+    del ints.tmp21
+    tmp3 += np.transpose(ints.tmp5, (1, 0)) * 2
+    del ints.tmp5
+    tmp3 += np.transpose(ints.tmp24, (1, 0)) * -2
+    del ints.tmp24
+    tmp3 += ints.tmp8 * -1
+    del ints.tmp8
+    r2new = einsum(r2, (0, 1, 2), ints.tmp64, (3, 0, 4, 1), (4, 3, 2))
+    del ints.tmp64
+    r2new += einsum(r2, (0, 1, 2), ints.tmp123, (3, 2, 4, 1), (4, 0, 3))
+    del ints.tmp123
+    r2new += einsum(tmp6, (0, 1, 2), t1, (0, 3), (3, 2, 1)) * -1
+    del tmp6
+    r2new += einsum(tmp7, (0, 1, 2), t2, (0, 1, 3, 4), (4, 3, 2))
+    del tmp7
+    r2new += einsum(r2, (0, 1, 2), tmp9, (3, 2, 4, 0), (4, 1, 3)) * -2
+    del tmp9
+    r2new += einsum(tmp11, (0, 1, 2, 3), tmp10, (1, 4, 3), (4, 2, 0)) * -1
+    del tmp10, tmp11
+    r2new += einsum(tmp14, (0, 1, 2), tmp12, (3, 2), (1, 3, 0)) * 2
+    del tmp14, tmp12
+    r2new += einsum(r2, (0, 1, 2), tmp17, (0, 3), (3, 1, 2)) * -1
+    r2new += einsum(tmp17, (0, 1), r2, (2, 0, 3), (2, 1, 3)) * -1
+    del tmp17
+    r2new += einsum(r1, (0,), tmp18, (1, 2, 0, 3), (2, 3, 1)) * -1
+    del tmp18
+    r2new += einsum(tmp20, (0, 1, 2), t1, (1, 3), (2, 3, 0))
+    del tmp20
+    r2new += einsum(r2, (0, 1, 2), tmp21, (2, 3), (0, 1, 3)) * -1
+    del tmp21
+    r2new += einsum(t2, (0, 1, 2, 3), tmp22, (1,), (2, 3, 0))
+    del tmp22
+    r2new += einsum(tmp23, (0, 1), r1, (2,), (1, 2, 0))
+    del tmp23
+    r1new = einsum(ints.tmp1, (0, 1, 2, 3), tmp0, (0, 2, 3), (1,)) * -2
+    del ints.tmp1, tmp0
+    r1new += einsum(tmp2, (0, 1, 2), tmp1, (0, 2), (1,)) * -1
+    del tmp2, tmp1
+    r1new += einsum(tmp3, (0, 1), r1, (0,), (1,))
+    del tmp3
+    r1new += einsum(t1, (0, 1), tmp5, (0,), (1,)) * -2
+    del tmp5
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCCSD.hbar_lmatvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:42:40.849744.

+

Parameters

+

f : array + Fock matrix. +t1 : array + T1 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp0 : array +tmp1 : array +tmp10 : array +tmp101 : array +tmp102 : array +tmp103 : array +tmp106 : array +tmp107 : array +tmp109 : array +tmp111 : array +tmp114 : array +tmp115 : array +tmp117 : array +tmp119 : array +tmp120 : array +tmp123 : array +tmp125 : array +tmp128 : array +tmp13 : array +tmp130 : array +tmp133 : array +tmp134 : array +tmp139 : array +tmp14 : array +tmp145 : array +tmp149 : array +tmp150 : array +tmp16 : array +tmp177 : array +tmp178 : array +tmp18 : array +tmp180 : array +tmp19 : array +tmp2 : array +tmp22 : array +tmp25 : array +tmp26 : array +tmp28 : array +tmp3 : array +tmp30 : array +tmp32 : array +tmp33 : array +tmp35 : array +tmp36 : array +tmp38 : array +tmp4 : array +tmp41 : array +tmp44 : array +tmp46 : array +tmp48 : array +tmp50 : array +tmp52 : array +tmp55 : array +tmp59 : array +tmp6 : array +tmp62 : array +tmp63 : array +tmp65 : array +tmp68 : array +tmp71 : array +tmp74 : array +tmp77 : array +tmp80 : array +tmp83 : array +tmp86 : array +tmp88 : array +tmp9 : array +tmp91 : array +tmp93 : array +tmp95 : array +tmp98 : array

+ +
+ Source code in ebcc/codegen/RDFCCSD.py +
2081
+2082
+2083
+2084
+2085
+2086
+2087
+2088
+2089
+2090
+2091
+2092
+2093
+2094
+2095
+2096
+2097
+2098
+2099
+2100
+2101
+2102
+2103
+2104
+2105
+2106
+2107
+2108
+2109
+2110
+2111
+2112
+2113
+2114
+2115
+2116
+2117
+2118
+2119
+2120
+2121
+2122
+2123
+2124
+2125
+2126
+2127
+2128
+2129
+2130
+2131
+2132
+2133
+2134
+2135
+2136
+2137
+2138
+2139
+2140
+2141
+2142
+2143
+2144
+2145
+2146
+2147
+2148
+2149
+2150
+2151
+2152
+2153
+2154
+2155
+2156
+2157
+2158
+2159
+2160
+2161
+2162
+2163
+2164
+2165
+2166
+2167
+2168
+2169
+2170
+2171
+2172
+2173
+2174
+2175
+2176
+2177
+2178
+2179
+2180
+2181
+2182
+2183
+2184
+2185
+2186
+2187
+2188
+2189
+2190
+2191
+2192
+2193
+2194
+2195
+2196
+2197
+2198
+2199
+2200
+2201
+2202
+2203
+2204
+2205
+2206
+2207
+2208
+2209
+2210
+2211
+2212
+2213
+2214
+2215
+2216
+2217
+2218
+2219
+2220
+2221
+2222
+2223
+2224
+2225
+2226
+2227
+2228
+2229
+2230
+2231
+2232
+2233
+2234
+2235
+2236
+2237
+2238
+2239
+2240
+2241
+2242
+2243
+2244
+2245
+2246
+2247
def hbar_lmatvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:42:40.849744.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t1 : array
+        T1 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp0 : array
+    tmp1 : array
+    tmp10 : array
+    tmp101 : array
+    tmp102 : array
+    tmp103 : array
+    tmp106 : array
+    tmp107 : array
+    tmp109 : array
+    tmp111 : array
+    tmp114 : array
+    tmp115 : array
+    tmp117 : array
+    tmp119 : array
+    tmp120 : array
+    tmp123 : array
+    tmp125 : array
+    tmp128 : array
+    tmp13 : array
+    tmp130 : array
+    tmp133 : array
+    tmp134 : array
+    tmp139 : array
+    tmp14 : array
+    tmp145 : array
+    tmp149 : array
+    tmp150 : array
+    tmp16 : array
+    tmp177 : array
+    tmp178 : array
+    tmp18 : array
+    tmp180 : array
+    tmp19 : array
+    tmp2 : array
+    tmp22 : array
+    tmp25 : array
+    tmp26 : array
+    tmp28 : array
+    tmp3 : array
+    tmp30 : array
+    tmp32 : array
+    tmp33 : array
+    tmp35 : array
+    tmp36 : array
+    tmp38 : array
+    tmp4 : array
+    tmp41 : array
+    tmp44 : array
+    tmp46 : array
+    tmp48 : array
+    tmp50 : array
+    tmp52 : array
+    tmp55 : array
+    tmp59 : array
+    tmp6 : array
+    tmp62 : array
+    tmp63 : array
+    tmp65 : array
+    tmp68 : array
+    tmp71 : array
+    tmp74 : array
+    tmp77 : array
+    tmp80 : array
+    tmp83 : array
+    tmp86 : array
+    tmp88 : array
+    tmp9 : array
+    tmp91 : array
+    tmp93 : array
+    tmp95 : array
+    tmp98 : array
+    """
+
+    tmp15 = einsum(t1, (0, 1), v.xov, (2, 0, 1), (2,))
+    tmp13 = einsum(t1, (0, 1), v.xov, (2, 3, 1), (0, 3, 2))
+    tmp22 = einsum(tmp15, (0,), v.xov, (0, 1, 2), (1, 2))
+    tmp62 = einsum(v.xov, (0, 1, 2), tmp13, (1, 3, 0), (3, 2))
+    tmp101 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp32 = einsum(t2, (0, 1, 2, 3), v.xov, (4, 1, 2), (0, 3, 4))
+    tmp35 = einsum(t2, (0, 1, 2, 3), v.xov, (4, 1, 3), (0, 2, 4))
+    tmp25 = einsum(t1, (0, 1), v.xvv, (2, 3, 1), (0, 3, 2))
+    tmp133 = einsum(tmp13, (0, 1, 2), tmp13, (3, 4, 2), (0, 3, 1, 4))
+    tmp107 = einsum(t1, (0, 1), tmp22, (2, 1), (0, 2))
+    tmp106 = einsum(tmp62, (0, 1), t1, (2, 1), (2, 0))
+    tmp119 = einsum(v.xvv, (0, 1, 2), tmp15, (0,), (1, 2))
+    tmp114 = einsum(tmp13, (0, 1, 2), v.xoo, (2, 3, 4), (0, 3, 4, 1))
+    tmp16 = einsum(tmp15, (0,), v.xoo, (0, 1, 2), (1, 2))
+    del tmp15
+    tmp14 = einsum(tmp13, (0, 1, 2), v.xoo, (2, 3, 0), (3, 1))
+    tmp102 = einsum(t2, (0, 1, 2, 3), tmp101, (4, 5, 3, 2), (0, 1, 5, 4))
+    tmp33 = einsum(v.xov, (0, 1, 2), tmp32, (3, 2, 0), (3, 1))
+    tmp36 = einsum(v.xov, (0, 1, 2), tmp35, (3, 2, 0), (3, 1))
+    tmp28 = einsum(v.xov, (0, 1, 2), tmp13, (3, 4, 0), (3, 1, 4, 2))
+    tmp58 = einsum(v.xvv, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 2, 4))
+    tmp10 = einsum(v.xov, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp18 = einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (3, 1, 2, 4))
+    tmp0 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp180 = einsum(v.xov, (0, 1, 2), tmp35, (1, 3, 0), (3, 2))
+    tmp178 = einsum(v.xov, (0, 1, 2), tmp32, (1, 3, 0), (3, 2))
+    tmp177 = einsum(v.xov, (0, 1, 2), tmp25, (1, 3, 0), (2, 3))
+    tmp150 = einsum(t2, (0, 1, 2, 3), tmp101, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp149 = einsum(tmp101, (0, 1, 2, 3), t2, (4, 0, 3, 5), (4, 1, 5, 2))
+    tmp145 = einsum(v.xvv, (0, 1, 2), tmp13, (3, 4, 0), (3, 4, 1, 2))
+    tmp139 = einsum(v.xvv, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp134 = einsum(t1, (0, 1), tmp133, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp130 = einsum(tmp107, (0, 1), t1, (1, 2), (0, 2))
+    tmp128 = einsum(t1, (0, 1), tmp106, (2, 0), (2, 1))
+    tmp125 = einsum(tmp25, (0, 1, 2), tmp13, (3, 4, 2), (3, 0, 4, 1))
+    tmp123 = einsum(tmp25, (0, 1, 2), tmp13, (3, 0, 2), (3, 1))
+    tmp120 = einsum(t1, (0, 1), tmp119, (2, 1), (0, 2))
+    tmp117 = einsum(tmp114, (0, 1, 2, 3), t1, (3, 4), (0, 1, 2, 4))
+    tmp115 = einsum(t1, (0, 1), tmp114, (2, 3, 0, 4), (2, 3, 4, 1))
+    tmp111 = einsum(tmp16, (0, 1), t1, (1, 2), (0, 2))
+    tmp109 = einsum(tmp14, (0, 1), t1, (1, 2), (0, 2))
+    tmp103 = einsum(t1, (0, 1), tmp102, (2, 3, 0, 4), (3, 2, 4, 1))
+    tmp98 = einsum(tmp33, (0, 1), t1, (1, 2), (0, 2))
+    tmp95 = einsum(t1, (0, 1), tmp36, (2, 0), (2, 1))
+    tmp93 = einsum(tmp28, (0, 1, 2, 3), t2, (4, 2, 5, 3), (0, 4, 1, 5))
+    tmp91 = einsum(tmp28, (0, 1, 2, 3), t2, (4, 2, 3, 5), (0, 4, 1, 5))
+    tmp88 = einsum(tmp35, (0, 1, 2), tmp13, (3, 4, 2), (3, 0, 4, 1))
+    tmp86 = einsum(tmp32, (0, 1, 2), tmp13, (3, 4, 2), (3, 0, 4, 1))
+    tmp83 = einsum(tmp28, (0, 1, 2, 3), t2, (2, 1, 3, 4), (0, 4))
+    tmp80 = einsum(t2, (0, 1, 2, 3), tmp28, (4, 1, 0, 3), (4, 2))
+    tmp77 = einsum(t2, (0, 1, 2, 3), tmp22, (4, 3), (0, 1, 4, 2))
+    tmp74 = einsum(t2, (0, 1, 2, 3), tmp62, (4, 3), (0, 1, 4, 2))
+    tmp71 = einsum(tmp22, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp68 = einsum(t2, (0, 1, 2, 3), tmp22, (1, 2), (0, 3))
+    tmp65 = einsum(tmp62, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp63 = einsum(t2, (0, 1, 2, 3), tmp62, (1, 2), (0, 3))
+    tmp59 = einsum(t2, (0, 1, 2, 3), tmp58, (4, 5, 3, 2), (0, 1, 4, 5))
+    del tmp58
+    tmp55 = einsum(tmp32, (0, 1, 2), v.xvv, (2, 3, 1), (0, 3))
+    tmp52 = einsum(tmp35, (0, 1, 2), v.xvv, (2, 3, 1), (0, 3))
+    tmp50 = einsum(v.xoo, (0, 1, 2), tmp35, (3, 4, 0), (3, 1, 2, 4))
+    tmp48 = einsum(v.xoo, (0, 1, 2), tmp32, (3, 4, 0), (3, 1, 2, 4))
+    tmp46 = einsum(tmp10, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp44 = einsum(t2, (0, 1, 2, 3), tmp10, (4, 1, 5, 2), (0, 4, 5, 3))
+    tmp41 = einsum(t2, (0, 1, 2, 3), tmp10, (4, 0, 1, 3), (4, 2))
+    tmp38 = einsum(tmp10, (0, 1, 2, 3), t2, (1, 2, 3, 4), (0, 4))
+    tmp30 = einsum(tmp25, (0, 1, 2), v.xoo, (2, 3, 4), (0, 3, 4, 1))
+    tmp26 = einsum(tmp25, (0, 1, 2), v.xoo, (2, 3, 0), (3, 1))
+    tmp19 = einsum(t1, (0, 1), tmp18, (2, 0, 3, 4), (4, 2, 3, 1))
+    tmp9 = einsum(tmp0, (0, 1), t1, (0, 2), (1, 2))
+    tmp6 = einsum(t2, (0, 1, 2, 3), f.ov, (4, 3), (4, 0, 1, 2))
+    tmp4 = einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp3 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 2), (0, 3))
+    tmp2 = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    tmp1 = einsum(f.oo, (0, 1), t1, (1, 2), (0, 2))
+
+    return {f"tmp0": tmp0, f"tmp1": tmp1, f"tmp10": tmp10, f"tmp101": tmp101, f"tmp102": tmp102, f"tmp103": tmp103, f"tmp106": tmp106, f"tmp107": tmp107, f"tmp109": tmp109, f"tmp111": tmp111, f"tmp114": tmp114, f"tmp115": tmp115, f"tmp117": tmp117, f"tmp119": tmp119, f"tmp120": tmp120, f"tmp123": tmp123, f"tmp125": tmp125, f"tmp128": tmp128, f"tmp13": tmp13, f"tmp130": tmp130, f"tmp133": tmp133, f"tmp134": tmp134, f"tmp139": tmp139, f"tmp14": tmp14, f"tmp145": tmp145, f"tmp149": tmp149, f"tmp150": tmp150, f"tmp16": tmp16, f"tmp177": tmp177, f"tmp178": tmp178, f"tmp18": tmp18, f"tmp180": tmp180, f"tmp19": tmp19, f"tmp2": tmp2, f"tmp22": tmp22, f"tmp25": tmp25, f"tmp26": tmp26, f"tmp28": tmp28, f"tmp3": tmp3, f"tmp30": tmp30, f"tmp32": tmp32, f"tmp33": tmp33, f"tmp35": tmp35, f"tmp36": tmp36, f"tmp38": tmp38, f"tmp4": tmp4, f"tmp41": tmp41, f"tmp44": tmp44, f"tmp46": tmp46, f"tmp48": tmp48, f"tmp50": tmp50, f"tmp52": tmp52, f"tmp55": tmp55, f"tmp59": tmp59, f"tmp6": tmp6, f"tmp62": tmp62, f"tmp63": tmp63, f"tmp65": tmp65, f"tmp68": tmp68, f"tmp71": tmp71, f"tmp74": tmp74, f"tmp77": tmp77, f"tmp80": tmp80, f"tmp83": tmp83, f"tmp86": tmp86, f"tmp88": tmp88, f"tmp9": tmp9, f"tmp91": tmp91, f"tmp93": tmp93, f"tmp95": tmp95, f"tmp98": tmp98}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCCSD.hbar_lmatvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:42:40.883173.

+

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.

+ +
+ Source code in ebcc/codegen/RDFCCSD.py +
2249
+2250
+2251
+2252
+2253
+2254
+2255
+2256
+2257
+2258
+2259
+2260
+2261
+2262
+2263
+2264
+2265
+2266
+2267
+2268
+2269
+2270
+2271
+2272
+2273
+2274
+2275
+2276
+2277
+2278
+2279
+2280
+2281
+2282
+2283
+2284
+2285
+2286
+2287
+2288
+2289
+2290
+2291
+2292
+2293
+2294
+2295
+2296
+2297
+2298
+2299
+2300
+2301
+2302
+2303
+2304
+2305
+2306
+2307
+2308
+2309
+2310
+2311
+2312
+2313
+2314
+2315
+2316
+2317
+2318
+2319
+2320
+2321
+2322
+2323
+2324
+2325
+2326
+2327
+2328
+2329
+2330
+2331
+2332
+2333
+2334
+2335
+2336
+2337
+2338
+2339
+2340
+2341
+2342
+2343
+2344
+2345
+2346
+2347
+2348
+2349
+2350
+2351
+2352
+2353
+2354
+2355
+2356
+2357
+2358
+2359
+2360
+2361
+2362
+2363
+2364
+2365
+2366
+2367
+2368
+2369
+2370
+2371
+2372
+2373
+2374
+2375
+2376
+2377
+2378
+2379
+2380
+2381
+2382
+2383
+2384
+2385
+2386
+2387
+2388
+2389
+2390
+2391
+2392
+2393
+2394
+2395
+2396
+2397
+2398
+2399
+2400
+2401
+2402
+2403
+2404
+2405
+2406
+2407
+2408
+2409
+2410
+2411
+2412
+2413
+2414
+2415
+2416
+2417
+2418
+2419
+2420
+2421
+2422
+2423
+2424
+2425
+2426
+2427
+2428
+2429
+2430
+2431
+2432
+2433
+2434
+2435
+2436
+2437
+2438
+2439
+2440
+2441
+2442
+2443
+2444
+2445
+2446
+2447
+2448
+2449
+2450
+2451
+2452
+2453
+2454
+2455
+2456
+2457
+2458
+2459
+2460
+2461
+2462
+2463
+2464
+2465
+2466
+2467
+2468
+2469
+2470
+2471
+2472
+2473
+2474
+2475
+2476
+2477
+2478
+2479
+2480
+2481
+2482
+2483
+2484
+2485
+2486
+2487
+2488
+2489
+2490
+2491
+2492
def hbar_lmatvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:42:40.883173.
+
+    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"]
+    tmp11 = einsum(r2, (0, 1, 2), t1, (3, 2), (0, 1, 3))
+    tmp20 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5
+    tmp20 += t2
+    tmp17 = np.copy(f.ov)
+    tmp17 += ints.tmp22 * 2
+    tmp17 += ints.tmp62 * -1
+    del ints.tmp62
+    tmp0 = np.copy(r2) * -0.5
+    tmp0 += np.transpose(r2, (1, 0, 2))
+    tmp13 = np.copy(ints.tmp25)
+    del ints.tmp25
+    tmp13 += ints.tmp35 * 2
+    del ints.tmp35
+    tmp13 += np.transpose(v.xov, (1, 2, 0))
+    tmp13 += ints.tmp32 * -1
+    del ints.tmp32
+    tmp15 = np.copy(ints.tmp13)
+    del ints.tmp13
+    tmp15 += np.transpose(v.xoo, (1, 2, 0))
+    tmp14 = np.copy(tmp11) * -1
+    tmp14 += np.transpose(tmp11, (1, 0, 2)) * 2
+    tmp19 = np.copy(f.oo) * 0.5
+    tmp19 += np.transpose(ints.tmp0, (1, 0)) * 0.5
+    tmp19 += ints.tmp107
+    tmp19 += ints.tmp16
+    tmp19 += ints.tmp36
+    tmp19 += ints.tmp106 * -0.5
+    tmp19 += ints.tmp14 * -0.5
+    tmp19 += ints.tmp33 * -0.5
+    tmp7 = np.copy(ints.tmp139) * 0.5
+    tmp7 += ints.tmp145 * 0.5
+    tmp7 += ints.tmp150
+    tmp7 += ints.tmp149 * -0.5
+    tmp22 = np.copy(ints.tmp10)
+    tmp22 += np.transpose(ints.tmp28, (2, 0, 1, 3))
+    tmp10 = np.copy(ints.tmp102)
+    del ints.tmp102
+    tmp10 += np.transpose(ints.tmp114, (0, 1, 3, 2))
+    tmp8 = np.copy(ints.tmp139)
+    del ints.tmp139
+    tmp8 += ints.tmp145
+    del ints.tmp145
+    tmp8 += ints.tmp149 * -1
+    del ints.tmp149
+    tmp21 = einsum(r2, (0, 1, 2), tmp20, (1, 0, 3, 2), (3,))
+    del tmp20
+    tmp18 = np.copy(np.transpose(ints.tmp177, (1, 0)))
+    del ints.tmp177
+    tmp18 += ints.tmp180 * 2
+    del ints.tmp180
+    tmp18 += f.vv * -1
+    tmp18 += ints.tmp119 * -2
+    del ints.tmp119
+    tmp18 += ints.tmp178 * -1
+    del ints.tmp178
+    tmp18 += einsum(t1, (0, 1), tmp17, (0, 2), (1, 2))
+    tmp16 = einsum(tmp13, (0, 1, 2), tmp0, (3, 0, 1), (3, 2)) * -1
+    del tmp13
+    tmp16 += einsum(tmp15, (0, 1, 2), tmp14, (3, 0, 1), (3, 2)) * 0.5
+    del tmp15, tmp14
+    tmp9 = np.copy(ints.tmp114)
+    del ints.tmp114
+    tmp9 += np.transpose(ints.tmp133, (0, 1, 3, 2))
+    del ints.tmp133
+    tmp9 += np.transpose(ints.tmp18, (2, 3, 0, 1))
+    del ints.tmp18
+    tmp12 = np.copy(ints.tmp10)
+    tmp12 += np.transpose(ints.tmp28, (0, 2, 1, 3))
+    tmp1 = np.copy(ints.tmp103)
+    del ints.tmp103
+    tmp1 += ints.tmp115
+    del ints.tmp115
+    tmp1 += ints.tmp134
+    del ints.tmp134
+    tmp1 += np.transpose(ints.tmp19, (0, 2, 1, 3))
+    del ints.tmp19
+    tmp1 += ints.tmp44
+    del ints.tmp44
+    tmp1 += ints.tmp86
+    del ints.tmp86
+    tmp1 += ints.tmp93
+    del ints.tmp93
+    tmp1 += np.transpose(ints.tmp10, (1, 2, 0, 3)) * -1
+    del ints.tmp10
+    tmp1 += ints.tmp125 * -1
+    del ints.tmp125
+    tmp1 += ints.tmp28 * -1
+    del ints.tmp28
+    tmp1 += ints.tmp59 * -1
+    del ints.tmp59
+    tmp1 += ints.tmp88 * -2
+    del ints.tmp88
+    tmp2 = np.copy(r2) * 2
+    tmp2 += np.transpose(r2, (1, 0, 2)) * -1
+    tmp5 = np.copy(r2) * -1
+    tmp5 += np.transpose(r2, (1, 0, 2)) * 2
+    tmp4 = np.copy(ints.tmp111) * 2
+    del ints.tmp111
+    tmp4 += ints.tmp123
+    del ints.tmp123
+    tmp4 += ints.tmp130 * 2
+    del ints.tmp130
+    tmp4 += ints.tmp1
+    del ints.tmp1
+    tmp4 += ints.tmp26
+    del ints.tmp26
+    tmp4 += ints.tmp3
+    del ints.tmp3
+    tmp4 += ints.tmp41 * 2
+    del ints.tmp41
+    tmp4 += ints.tmp55
+    del ints.tmp55
+    tmp4 += ints.tmp65 * 2
+    del ints.tmp65
+    tmp4 += ints.tmp68 * 2
+    del ints.tmp68
+    tmp4 += ints.tmp80 * 2
+    del ints.tmp80
+    tmp4 += ints.tmp95 * 2
+    del ints.tmp95
+    tmp4 += ints.tmp9
+    del ints.tmp9
+    tmp4 += f.ov * -1
+    tmp4 += ints.tmp109 * -1
+    del ints.tmp109
+    tmp4 += ints.tmp120 * -2
+    del ints.tmp120
+    tmp4 += ints.tmp128 * -1
+    del ints.tmp128
+    tmp4 += ints.tmp22 * -2
+    del ints.tmp22
+    tmp4 += ints.tmp2 * -1
+    del ints.tmp2
+    tmp4 += ints.tmp38 * -1
+    del ints.tmp38
+    tmp4 += ints.tmp4 * -2
+    del ints.tmp4
+    tmp4 += ints.tmp52 * -2
+    del ints.tmp52
+    tmp4 += ints.tmp63 * -1
+    del ints.tmp63
+    tmp4 += ints.tmp71 * -4
+    del ints.tmp71
+    tmp4 += ints.tmp83 * -1
+    del ints.tmp83
+    tmp4 += ints.tmp98 * -1
+    del ints.tmp98
+    tmp3 = np.copy(ints.tmp117)
+    del ints.tmp117
+    tmp3 += np.transpose(ints.tmp46, (0, 2, 1, 3))
+    del ints.tmp46
+    tmp3 += np.transpose(ints.tmp48, (0, 2, 1, 3))
+    del ints.tmp48
+    tmp3 += np.transpose(ints.tmp74, (0, 2, 1, 3))
+    del ints.tmp74
+    tmp3 += np.transpose(ints.tmp91, (0, 2, 1, 3))
+    del ints.tmp91
+    tmp3 += ints.tmp30 * -1
+    del ints.tmp30
+    tmp3 += np.transpose(ints.tmp50, (0, 2, 1, 3)) * -2
+    del ints.tmp50
+    tmp3 += np.transpose(ints.tmp6, (1, 0, 2, 3)) * -1
+    del ints.tmp6
+    tmp3 += np.transpose(ints.tmp77, (0, 2, 1, 3)) * -2
+    del ints.tmp77
+    tmp6 = np.copy(f.oo)
+    tmp6 += np.transpose(ints.tmp0, (1, 0))
+    del ints.tmp0
+    tmp6 += ints.tmp107 * 2
+    del ints.tmp107
+    tmp6 += np.transpose(ints.tmp16, (1, 0)) * 2
+    del ints.tmp16
+    tmp6 += ints.tmp36 * 2
+    del ints.tmp36
+    tmp6 += ints.tmp106 * -1
+    del ints.tmp106
+    tmp6 += ints.tmp14 * -1
+    del ints.tmp14
+    tmp6 += ints.tmp33 * -1
+    del ints.tmp33
+    r2new = einsum(r2, (0, 1, 2), ints.tmp150, (1, 3, 2, 4), (3, 0, 4))
+    del ints.tmp150
+    r2new += einsum(tmp7, (0, 1, 2, 3), r2, (0, 4, 2), (1, 4, 3)) * -2
+    del tmp7
+    r2new += einsum(r2, (0, 1, 2), tmp8, (1, 3, 2, 4), (0, 3, 4)) * -1
+    del tmp8
+    r2new += einsum(tmp9, (0, 1, 2, 3), r2, (0, 1, 4), (3, 2, 4))
+    del tmp9
+    r2new += einsum(tmp10, (0, 1, 2, 3), r2, (1, 0, 4), (3, 2, 4))
+    del tmp10
+    r2new += einsum(tmp12, (0, 1, 2, 3), tmp11, (0, 4, 2), (1, 4, 3))
+    r2new += einsum(tmp11, (0, 1, 2), tmp12, (1, 3, 2, 4), (0, 3, 4))
+    del tmp11, tmp12
+    r2new += einsum(tmp16, (0, 1), v.xov, (1, 2, 3), (2, 0, 3)) * -2
+    del tmp16
+    r2new += einsum(tmp18, (0, 1), r2, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp18
+    r2new += einsum(r2, (0, 1, 2), tmp19, (0, 3), (3, 1, 2)) * -2
+    r2new += einsum(r2, (0, 1, 2), tmp19, (1, 3), (0, 3, 2)) * -2
+    del tmp19
+    r2new += einsum(tmp21, (0,), ints.tmp101, (1, 2, 3, 0), (1, 2, 3)) * -2
+    del tmp21, ints.tmp101
+    r2new += einsum(tmp22, (0, 1, 2, 3), r1, (1,), (2, 0, 3))
+    del tmp22
+    r2new += einsum(r1, (0,), tmp17, (1, 2), (1, 0, 2)) * -1
+    del tmp17
+    r1new = einsum(tmp0, (0, 1, 2), tmp1, (0, 1, 3, 2), (3,)) * -2
+    del tmp0, tmp1
+    r1new += einsum(tmp3, (0, 1, 2, 3), tmp2, (0, 2, 3), (1,)) * -1
+    del tmp3, tmp2
+    r1new += einsum(tmp5, (0, 1, 2), tmp4, (1, 2), (0,))
+    del tmp5, tmp4
+    r1new += einsum(r1, (0,), tmp6, (0, 1), (1,)) * -1
+    del tmp6
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCCSD.hbar_lmatvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:43:33.080354.

+

Parameters

+

f : array + Fock matrix. +t1 : array + T1 amplitudes. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp1 : array +tmp10 : array +tmp100 : array +tmp102 : array +tmp105 : array +tmp107 : array +tmp11 : array +tmp110 : array +tmp111 : array +tmp113 : array +tmp114 : array +tmp12 : array +tmp120 : array +tmp123 : array +tmp125 : array +tmp127 : array +tmp129 : array +tmp130 : array +tmp132 : array +tmp133 : array +tmp16 : array +tmp163 : array +tmp18 : array +tmp19 : array +tmp2 : array +tmp20 : array +tmp23 : array +tmp25 : array +tmp29 : array +tmp3 : array +tmp31 : array +tmp34 : array +tmp35 : array +tmp37 : array +tmp38 : array +tmp4 : array +tmp40 : array +tmp41 : array +tmp44 : array +tmp47 : array +tmp50 : array +tmp53 : array +tmp56 : array +tmp58 : array +tmp61 : array +tmp63 : array +tmp65 : array +tmp66 : array +tmp67 : array +tmp69 : array +tmp72 : array +tmp75 : array +tmp82 : array +tmp83 : array +tmp86 : array +tmp89 : array +tmp92 : array +tmp93 : array +tmp96 : array +tmp97 : array

+ +
+ Source code in ebcc/codegen/RDFCCSD.py +
2494
+2495
+2496
+2497
+2498
+2499
+2500
+2501
+2502
+2503
+2504
+2505
+2506
+2507
+2508
+2509
+2510
+2511
+2512
+2513
+2514
+2515
+2516
+2517
+2518
+2519
+2520
+2521
+2522
+2523
+2524
+2525
+2526
+2527
+2528
+2529
+2530
+2531
+2532
+2533
+2534
+2535
+2536
+2537
+2538
+2539
+2540
+2541
+2542
+2543
+2544
+2545
+2546
+2547
+2548
+2549
+2550
+2551
+2552
+2553
+2554
+2555
+2556
+2557
+2558
+2559
+2560
+2561
+2562
+2563
+2564
+2565
+2566
+2567
+2568
+2569
+2570
+2571
+2572
+2573
+2574
+2575
+2576
+2577
+2578
+2579
+2580
+2581
+2582
+2583
+2584
+2585
+2586
+2587
+2588
+2589
+2590
+2591
+2592
+2593
+2594
+2595
+2596
+2597
+2598
+2599
+2600
+2601
+2602
+2603
+2604
+2605
+2606
+2607
+2608
+2609
+2610
+2611
+2612
+2613
+2614
+2615
+2616
+2617
+2618
+2619
+2620
+2621
+2622
+2623
+2624
+2625
+2626
+2627
+2628
+2629
+2630
+2631
+2632
+2633
+2634
+2635
+2636
def hbar_lmatvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:43:33.080354.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t1 : array
+        T1 amplitudes.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp1 : array
+    tmp10 : array
+    tmp100 : array
+    tmp102 : array
+    tmp105 : array
+    tmp107 : array
+    tmp11 : array
+    tmp110 : array
+    tmp111 : array
+    tmp113 : array
+    tmp114 : array
+    tmp12 : array
+    tmp120 : array
+    tmp123 : array
+    tmp125 : array
+    tmp127 : array
+    tmp129 : array
+    tmp130 : array
+    tmp132 : array
+    tmp133 : array
+    tmp16 : array
+    tmp163 : array
+    tmp18 : array
+    tmp19 : array
+    tmp2 : array
+    tmp20 : array
+    tmp23 : array
+    tmp25 : array
+    tmp29 : array
+    tmp3 : array
+    tmp31 : array
+    tmp34 : array
+    tmp35 : array
+    tmp37 : array
+    tmp38 : array
+    tmp4 : array
+    tmp40 : array
+    tmp41 : array
+    tmp44 : array
+    tmp47 : array
+    tmp50 : array
+    tmp53 : array
+    tmp56 : array
+    tmp58 : array
+    tmp61 : array
+    tmp63 : array
+    tmp65 : array
+    tmp66 : array
+    tmp67 : array
+    tmp69 : array
+    tmp72 : array
+    tmp75 : array
+    tmp82 : array
+    tmp83 : array
+    tmp86 : array
+    tmp89 : array
+    tmp92 : array
+    tmp93 : array
+    tmp96 : array
+    tmp97 : array
+    """
+
+    tmp15 = einsum(t1, (0, 1), v.xov, (2, 0, 1), (2,))
+    tmp65 = einsum(t1, (0, 1), v.xov, (2, 3, 1), (0, 3, 2))
+    tmp20 = einsum(tmp15, (0,), v.xov, (0, 1, 2), (1, 2))
+    tmp66 = einsum(v.xov, (0, 1, 2), tmp65, (1, 3, 0), (3, 2))
+    tmp34 = einsum(t2, (0, 1, 2, 3), v.xov, (4, 1, 2), (0, 3, 4))
+    tmp37 = einsum(t2, (0, 1, 2, 3), v.xov, (4, 1, 3), (0, 2, 4))
+    tmp132 = einsum(t1, (0, 1), tmp20, (2, 1), (0, 2))
+    tmp129 = einsum(t1, (0, 1), tmp66, (2, 1), (0, 2))
+    tmp18 = einsum(v.xvv, (0, 1, 2), t1, (3, 2), (3, 1, 0))
+    tmp16 = einsum(v.xvv, (0, 1, 2), tmp15, (0,), (1, 2))
+    tmp113 = einsum(tmp15, (0,), v.xoo, (0, 1, 2), (1, 2))
+    del tmp15
+    tmp110 = einsum(v.xoo, (0, 1, 2), tmp65, (2, 3, 0), (1, 3))
+    tmp25 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp96 = einsum(v.xov, (0, 1, 2), tmp34, (3, 2, 0), (3, 1))
+    tmp92 = einsum(tmp37, (0, 1, 2), v.xov, (2, 3, 1), (0, 3))
+    tmp82 = einsum(v.xov, (0, 1, 2), tmp65, (3, 4, 0), (3, 1, 4, 2))
+    tmp12 = einsum(v.xvv, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 2, 4))
+    tmp40 = einsum(v.xov, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp10 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp163 = einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (3, 1, 2, 4))
+    tmp133 = einsum(tmp132, (0, 1), t1, (1, 2), (0, 2))
+    tmp130 = einsum(tmp129, (0, 1), t1, (1, 2), (0, 2))
+    tmp127 = einsum(v.xov, (0, 1, 2), tmp18, (3, 4, 0), (3, 1, 2, 4))
+    tmp125 = einsum(tmp65, (0, 1, 2), v.xvv, (2, 3, 4), (0, 1, 3, 4))
+    tmp123 = einsum(tmp65, (0, 1, 2), tmp18, (1, 3, 2), (0, 3))
+    tmp120 = einsum(t1, (0, 1), tmp16, (2, 1), (0, 2))
+    tmp114 = einsum(t1, (0, 1), tmp113, (2, 0), (2, 1))
+    tmp111 = einsum(tmp110, (0, 1), t1, (1, 2), (0, 2))
+    tmp107 = einsum(t2, (0, 1, 2, 3), tmp25, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp105 = einsum(tmp25, (0, 1, 2, 3), t2, (4, 0, 3, 5), (4, 1, 5, 2))
+    tmp102 = einsum(tmp37, (0, 1, 2), v.xov, (2, 3, 4), (0, 3, 1, 4))
+    tmp100 = einsum(v.xov, (0, 1, 2), tmp34, (3, 4, 0), (3, 1, 4, 2))
+    tmp97 = einsum(tmp96, (0, 1), t1, (1, 2), (0, 2))
+    tmp93 = einsum(t1, (0, 1), tmp92, (2, 0), (2, 1))
+    tmp89 = einsum(t2, (0, 1, 2, 3), tmp82, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp86 = einsum(tmp82, (0, 1, 2, 3), t2, (2, 1, 3, 4), (0, 4))
+    tmp83 = einsum(t2, (0, 1, 2, 3), tmp82, (4, 1, 0, 3), (4, 2))
+    tmp75 = einsum(tmp20, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp72 = einsum(tmp20, (0, 1), t2, (2, 0, 1, 3), (2, 3))
+    tmp69 = einsum(tmp66, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp67 = einsum(t2, (0, 1, 2, 3), tmp66, (1, 2), (0, 3))
+    tmp63 = einsum(tmp12, (0, 1, 2, 3), t2, (4, 0, 5, 1), (4, 5, 3, 2))
+    tmp61 = einsum(t2, (0, 1, 2, 3), tmp12, (1, 2, 4, 5), (0, 3, 5, 4))
+    tmp58 = einsum(tmp37, (0, 1, 2), v.xvv, (2, 3, 4), (0, 1, 3, 4))
+    tmp56 = einsum(v.xvv, (0, 1, 2), tmp34, (3, 4, 0), (3, 4, 1, 2))
+    tmp53 = einsum(v.xvv, (0, 1, 2), tmp34, (3, 2, 0), (3, 1))
+    tmp50 = einsum(v.xvv, (0, 1, 2), tmp37, (3, 2, 0), (3, 1))
+    tmp47 = einsum(t2, (0, 1, 2, 3), tmp40, (0, 4, 1, 5), (4, 2, 3, 5))
+    tmp44 = einsum(t2, (0, 1, 2, 3), tmp40, (0, 4, 1, 3), (4, 2))
+    tmp41 = einsum(t2, (0, 1, 2, 3), tmp40, (0, 4, 1, 2), (4, 3))
+    tmp38 = einsum(tmp37, (0, 1, 2), v.xov, (2, 0, 3), (1, 3))
+    tmp35 = einsum(v.xov, (0, 1, 2), tmp34, (1, 3, 0), (3, 2))
+    tmp31 = einsum(tmp18, (0, 1, 2), v.xvv, (2, 3, 4), (0, 3, 4, 1))
+    tmp29 = einsum(v.xvv, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp23 = einsum(v.xoo, (0, 1, 2), tmp18, (2, 3, 0), (1, 3))
+    tmp19 = einsum(v.xov, (0, 1, 2), tmp18, (1, 3, 0), (2, 3))
+    tmp11 = einsum(tmp10, (0, 1), t1, (0, 2), (1, 2))
+    tmp4 = einsum(f.ov, (0, 1), t2, (2, 0, 3, 1), (2, 3))
+    tmp3 = einsum(t2, (0, 1, 2, 3), f.ov, (1, 2), (0, 3))
+    tmp2 = einsum(f.vv, (0, 1), t1, (2, 1), (2, 0))
+    tmp1 = einsum(f.oo, (0, 1), t1, (1, 2), (0, 2))
+
+    return {f"tmp1": tmp1, f"tmp10": tmp10, f"tmp100": tmp100, f"tmp102": tmp102, f"tmp105": tmp105, f"tmp107": tmp107, f"tmp11": tmp11, f"tmp110": tmp110, f"tmp111": tmp111, f"tmp113": tmp113, f"tmp114": tmp114, f"tmp12": tmp12, f"tmp120": tmp120, f"tmp123": tmp123, f"tmp125": tmp125, f"tmp127": tmp127, f"tmp129": tmp129, f"tmp130": tmp130, f"tmp132": tmp132, f"tmp133": tmp133, f"tmp16": tmp16, f"tmp163": tmp163, f"tmp18": tmp18, f"tmp19": tmp19, f"tmp2": tmp2, f"tmp20": tmp20, f"tmp23": tmp23, f"tmp25": tmp25, f"tmp29": tmp29, f"tmp3": tmp3, f"tmp31": tmp31, f"tmp34": tmp34, f"tmp35": tmp35, f"tmp37": tmp37, f"tmp38": tmp38, f"tmp4": tmp4, f"tmp40": tmp40, f"tmp41": tmp41, f"tmp44": tmp44, f"tmp47": tmp47, f"tmp50": tmp50, f"tmp53": tmp53, f"tmp56": tmp56, f"tmp58": tmp58, f"tmp61": tmp61, f"tmp63": tmp63, f"tmp65": tmp65, f"tmp66": tmp66, f"tmp67": tmp67, f"tmp69": tmp69, f"tmp72": tmp72, f"tmp75": tmp75, f"tmp82": tmp82, f"tmp83": tmp83, f"tmp86": tmp86, f"tmp89": tmp89, f"tmp92": tmp92, f"tmp93": tmp93, f"tmp96": tmp96, f"tmp97": tmp97}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFCCSD.hbar_lmatvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:43:33.109313.

+

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.

+ +
+ Source code in ebcc/codegen/RDFCCSD.py +
2638
+2639
+2640
+2641
+2642
+2643
+2644
+2645
+2646
+2647
+2648
+2649
+2650
+2651
+2652
+2653
+2654
+2655
+2656
+2657
+2658
+2659
+2660
+2661
+2662
+2663
+2664
+2665
+2666
+2667
+2668
+2669
+2670
+2671
+2672
+2673
+2674
+2675
+2676
+2677
+2678
+2679
+2680
+2681
+2682
+2683
+2684
+2685
+2686
+2687
+2688
+2689
+2690
+2691
+2692
+2693
+2694
+2695
+2696
+2697
+2698
+2699
+2700
+2701
+2702
+2703
+2704
+2705
+2706
+2707
+2708
+2709
+2710
+2711
+2712
+2713
+2714
+2715
+2716
+2717
+2718
+2719
+2720
+2721
+2722
+2723
+2724
+2725
+2726
+2727
+2728
+2729
+2730
+2731
+2732
+2733
+2734
+2735
+2736
+2737
+2738
+2739
+2740
+2741
+2742
+2743
+2744
+2745
+2746
+2747
+2748
+2749
+2750
+2751
+2752
+2753
+2754
+2755
+2756
+2757
+2758
+2759
+2760
+2761
+2762
+2763
+2764
+2765
+2766
+2767
+2768
+2769
+2770
+2771
+2772
+2773
+2774
+2775
+2776
+2777
+2778
+2779
+2780
+2781
+2782
+2783
+2784
+2785
+2786
+2787
+2788
+2789
+2790
+2791
+2792
+2793
+2794
+2795
+2796
+2797
+2798
+2799
+2800
+2801
+2802
+2803
+2804
+2805
+2806
+2807
+2808
+2809
+2810
+2811
+2812
+2813
+2814
+2815
+2816
+2817
+2818
+2819
+2820
+2821
+2822
+2823
+2824
+2825
+2826
+2827
+2828
+2829
+2830
+2831
+2832
+2833
+2834
+2835
+2836
+2837
+2838
+2839
+2840
+2841
+2842
+2843
+2844
+2845
+2846
+2847
+2848
+2849
+2850
+2851
+2852
+2853
+2854
+2855
+2856
+2857
+2858
+2859
+2860
+2861
+2862
+2863
+2864
+2865
+2866
+2867
+2868
+2869
+2870
+2871
+2872
+2873
+2874
+2875
+2876
+2877
+2878
+2879
+2880
+2881
+2882
+2883
def hbar_lmatvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:43:33.109313.
+
+    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"]
+    tmp17 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp17 += t2 * -1
+    tmp26 = np.copy(ints.tmp65)
+    del ints.tmp65
+    tmp26 += np.transpose(v.xoo, (1, 2, 0))
+    tmp11 = einsum(r2, (0, 1, 2), t1, (3, 1), (2, 3, 0))
+    tmp20 = np.copy(f.ov)
+    tmp20 += ints.tmp20 * 2
+    tmp20 += ints.tmp66 * -1
+    del ints.tmp66
+    tmp16 = einsum(r1, (0,), t1, (1, 0), (1,))
+    tmp18 = einsum(tmp17, (0, 1, 2, 3), r2, (3, 2, 0), (1,))
+    del tmp17
+    tmp22 = np.copy(ints.tmp40)
+    tmp22 += np.transpose(ints.tmp82, (0, 2, 1, 3))
+    tmp0 = np.copy(np.transpose(r2, (2, 0, 1))) * -0.5
+    tmp0 += np.transpose(r2, (2, 1, 0))
+    tmp27 = np.copy(ints.tmp18)
+    del ints.tmp18
+    tmp27 += ints.tmp37 * 2
+    del ints.tmp37
+    tmp27 += np.transpose(v.xov, (1, 2, 0))
+    tmp27 += ints.tmp34 * -1
+    del ints.tmp34
+    tmp27 += einsum(tmp26, (0, 1, 2), t1, (1, 3), (0, 3, 2)) * -1
+    del tmp26
+    tmp12 = einsum(tmp11, (0, 1, 2), t1, (3, 2), (0, 3, 1))
+    tmp29 = einsum(tmp20, (0, 1), t1, (0, 2), (2, 1))
+    tmp6 = np.copy(np.transpose(r2, (2, 0, 1)))
+    tmp6 += np.transpose(r2, (2, 1, 0)) * -0.5
+    tmp19 = np.copy(tmp16)
+    del tmp16
+    tmp19 += tmp18 * -1
+    del tmp18
+    tmp23 = np.copy(ints.tmp107)
+    tmp23 += ints.tmp125 * 0.5
+    tmp23 += ints.tmp29 * 0.5
+    tmp23 += ints.tmp105 * -0.5
+    tmp23 += einsum(tmp22, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3)) * -0.5
+    tmp31 = np.copy(f.oo)
+    tmp31 += np.transpose(ints.tmp10, (1, 0))
+    del ints.tmp10
+    tmp31 += ints.tmp113 * 2
+    del ints.tmp113
+    tmp31 += ints.tmp132 * 2
+    del ints.tmp132
+    tmp31 += ints.tmp92 * 2
+    del ints.tmp92
+    tmp31 += ints.tmp110 * -1
+    del ints.tmp110
+    tmp31 += ints.tmp129 * -1
+    del ints.tmp129
+    tmp31 += ints.tmp96 * -1
+    del ints.tmp96
+    tmp28 = einsum(tmp27, (0, 1, 2), tmp0, (0, 3, 1), (3, 2)) * -1
+    del tmp27
+    tmp25 = einsum(r2, (0, 1, 2), t2, (3, 4, 0, 1), (2, 3, 4))
+    tmp25 += tmp12
+    tmp30 = np.copy(np.transpose(ints.tmp19, (1, 0)))
+    tmp30 += ints.tmp38 * 2
+    tmp30 += f.vv * -1
+    tmp30 += ints.tmp16 * -2
+    tmp30 += ints.tmp35 * -1
+    tmp30 += tmp29
+    del tmp29
+    tmp24 = np.copy(ints.tmp105)
+    tmp24 += ints.tmp125 * -1
+    tmp24 += ints.tmp29 * -1
+    tmp24 += einsum(tmp22, (0, 1, 2, 3), t1, (2, 4), (0, 1, 4, 3))
+    del tmp22
+    tmp21 = einsum(r2, (0, 1, 2), t1, (3, 0), (2, 3, 1))
+    tmp14 = np.copy(tmp12) * 2
+    tmp14 += np.transpose(tmp12, (0, 2, 1)) * -1
+    tmp1 = np.copy(ints.tmp12)
+    tmp1 += ints.tmp31
+    del ints.tmp31
+    tmp1 += np.transpose(ints.tmp89, (0, 3, 1, 2))
+    del ints.tmp89
+    tmp1 += np.transpose(ints.tmp61, (0, 2, 1, 3)) * -1
+    del ints.tmp61
+    tmp8 = np.copy(ints.tmp102) * 2
+    del ints.tmp102
+    tmp8 += np.transpose(ints.tmp127, (0, 1, 3, 2))
+    del ints.tmp127
+    tmp8 += ints.tmp25
+    tmp8 += ints.tmp100 * -1
+    del ints.tmp100
+    tmp8 += ints.tmp107 * -1
+    tmp2 = np.copy(np.transpose(r2, (2, 0, 1))) * 2
+    tmp2 += np.transpose(r2, (2, 1, 0)) * -1
+    tmp7 = einsum(tmp6, (0, 1, 2), t1, (3, 2), (0, 3, 1)) * 2
+    del tmp6
+    tmp13 = np.copy(tmp12) * -0.5
+    tmp13 += np.transpose(tmp12, (0, 2, 1))
+    del tmp12
+    tmp5 = np.copy(np.transpose(ints.tmp125, (0, 1, 3, 2)))
+    del ints.tmp125
+    tmp5 += np.transpose(ints.tmp29, (0, 1, 3, 2))
+    del ints.tmp29
+    tmp5 += ints.tmp105 * -1
+    del ints.tmp105
+    tmp4 = einsum(tmp0, (0, 1, 2), t1, (3, 2), (0, 3, 1))
+    tmp10 = np.copy(np.transpose(r2, (2, 0, 1))) * -1
+    tmp10 += np.transpose(r2, (2, 1, 0)) * 2
+    tmp15 = np.copy(f.vv)
+    tmp15 += np.transpose(ints.tmp16, (1, 0)) * 2
+    del ints.tmp16
+    tmp15 += ints.tmp35
+    del ints.tmp35
+    tmp15 += np.transpose(ints.tmp19, (1, 0)) * -1
+    del ints.tmp19
+    tmp15 += ints.tmp38 * -2
+    del ints.tmp38
+    tmp9 = np.copy(ints.tmp114) * 2
+    del ints.tmp114
+    tmp9 += ints.tmp11
+    del ints.tmp11
+    tmp9 += ints.tmp123
+    del ints.tmp123
+    tmp9 += ints.tmp133 * 2
+    del ints.tmp133
+    tmp9 += ints.tmp1
+    del ints.tmp1
+    tmp9 += ints.tmp23
+    del ints.tmp23
+    tmp9 += ints.tmp3
+    del ints.tmp3
+    tmp9 += ints.tmp44 * 2
+    del ints.tmp44
+    tmp9 += ints.tmp53
+    del ints.tmp53
+    tmp9 += ints.tmp69 * 2
+    del ints.tmp69
+    tmp9 += ints.tmp72 * 2
+    del ints.tmp72
+    tmp9 += ints.tmp83 * 2
+    del ints.tmp83
+    tmp9 += ints.tmp93 * 2
+    del ints.tmp93
+    tmp9 += f.ov * -1
+    tmp9 += ints.tmp111 * -1
+    del ints.tmp111
+    tmp9 += ints.tmp120 * -2
+    del ints.tmp120
+    tmp9 += ints.tmp130 * -1
+    del ints.tmp130
+    tmp9 += ints.tmp20 * -2
+    del ints.tmp20
+    tmp9 += ints.tmp2 * -1
+    del ints.tmp2
+    tmp9 += ints.tmp41 * -1
+    del ints.tmp41
+    tmp9 += ints.tmp4 * -2
+    del ints.tmp4
+    tmp9 += ints.tmp50 * -2
+    del ints.tmp50
+    tmp9 += ints.tmp67 * -1
+    del ints.tmp67
+    tmp9 += ints.tmp75 * -4
+    del ints.tmp75
+    tmp9 += ints.tmp86 * -1
+    del ints.tmp86
+    tmp9 += ints.tmp97 * -1
+    del ints.tmp97
+    tmp3 = np.copy(ints.tmp47)
+    del ints.tmp47
+    tmp3 += ints.tmp58 * 2
+    del ints.tmp58
+    tmp3 += ints.tmp56 * -1
+    del ints.tmp56
+    tmp3 += np.transpose(ints.tmp63, (0, 1, 3, 2)) * -1
+    del ints.tmp63
+    r2new = einsum(r2, (0, 1, 2), ints.tmp163, (3, 4, 0, 1), (4, 3, 2))
+    del ints.tmp163
+    r2new += einsum(ints.tmp107, (0, 1, 2, 3), r2, (4, 2, 0), (3, 4, 1))
+    del ints.tmp107
+    r2new += einsum(tmp11, (0, 1, 2), ints.tmp12, (1, 3, 2, 4), (3, 4, 0)) * -1
+    del tmp11
+    r2new += einsum(tmp21, (0, 1, 2), ints.tmp12, (1, 3, 2, 4), (4, 3, 0)) * -1
+    del tmp21
+    r2new += einsum(r1, (0,), ints.tmp12, (1, 2, 0, 3), (3, 2, 1)) * -1
+    del ints.tmp12
+    r2new += einsum(r2, (0, 1, 2), tmp23, (2, 3, 0, 4), (4, 1, 3)) * -2
+    del tmp23
+    r2new += einsum(tmp24, (0, 1, 2, 3), r2, (4, 2, 0), (4, 3, 1))
+    del tmp24
+    r2new += einsum(ints.tmp25, (0, 1, 2, 3), tmp25, (4, 1, 0), (3, 2, 4))
+    del tmp25
+    r2new += einsum(tmp28, (0, 1), v.xov, (1, 2, 3), (3, 0, 2)) * -2
+    del tmp28
+    r2new += einsum(r2, (0, 1, 2), tmp30, (0, 3), (3, 1, 2)) * -1
+    r2new += einsum(tmp30, (0, 1), r2, (2, 0, 3), (2, 1, 3)) * -1
+    del tmp30
+    r2new += einsum(r2, (0, 1, 2), tmp31, (2, 3), (0, 1, 3)) * -1
+    del tmp31
+    r2new += einsum(tmp19, (0,), ints.tmp25, (0, 1, 2, 3), (3, 2, 1))
+    del ints.tmp25
+    r2new += einsum(r1, (0,), tmp20, (1, 2), (2, 0, 1)) * -1
+    r1new = einsum(tmp0, (0, 1, 2), tmp1, (0, 3, 1, 2), (3,)) * -2
+    del tmp0, tmp1
+    r1new += einsum(tmp2, (0, 1, 2), tmp3, (0, 1, 2, 3), (3,)) * -1
+    del tmp2, tmp3
+    r1new += einsum(tmp5, (0, 1, 2, 3), tmp4, (0, 1, 2), (3,)) * 2
+    del tmp5, tmp4
+    r1new += einsum(tmp8, (0, 1, 2, 3), tmp7, (0, 1, 2), (3,))
+    del tmp8, tmp7
+    r1new += einsum(tmp9, (0, 1), tmp10, (0, 2, 1), (2,))
+    del tmp9, tmp10
+    r1new += einsum(tmp13, (0, 1, 2), ints.tmp82, (0, 1, 2, 3), (3,)) * -2
+    del ints.tmp82, tmp13
+    r1new += einsum(tmp14, (0, 1, 2), ints.tmp40, (0, 1, 2, 3), (3,)) * -1
+    del ints.tmp40, tmp14
+    r1new += einsum(r1, (0,), tmp15, (0, 1), (1,))
+    del tmp15
+    r1new += einsum(tmp19, (0,), tmp20, (0, 1), (1,)) * -1
+    del tmp20, tmp19
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/RDFDCD/index.html b/reference/codegen/RDFDCD/index.html new file mode 100644 index 00000000..46887676 --- /dev/null +++ b/reference/codegen/RDFDCD/index.html @@ -0,0 +1,509 @@ + + + + + + + + RDFDCD - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-09T22:08:51.581015
  • +
  • python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0]
  • +
  • albert version: 0.0.0
  • +
  • caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py
  • +
  • node: fv-az1487-369
  • +
  • system: Linux
  • +
  • processor: x86_64
  • +
  • release: 6.5.0-1025-azure
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.RDFDCD.energy(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T22:08:52.136786.

+

Parameters

+

t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

e_cc : float + Coupled cluster energy.

+ +
+ Source code in ebcc/codegen/RDFDCD.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
def energy(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T22:08:52.136786.
+
+    Parameters
+    ----------
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    e_cc : float
+        Coupled cluster energy.
+    """
+
+    tmp0 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp0 += t2 * -1
+    tmp1 = einsum(v.xov, (0, 1, 2), tmp0, (1, 3, 4, 2), (3, 4, 0)) * 0.5
+    del tmp0
+    e_cc = einsum(tmp1, (0, 1, 2), v.xov, (2, 0, 1), ()) * 2
+    del tmp1
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFDCD.update_amps(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T22:08:56.535754.

+

Parameters

+

f : array + Fock matrix. +t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

t2new : array + Updated T2 residuals.

+ +
+ Source code in ebcc/codegen/RDFDCD.py +
 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
def update_amps(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T22:08:56.535754.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    t2new : array
+        Updated T2 residuals.
+    """
+
+    tmp15 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp15 += t2 * -1
+    tmp7 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp7 += t2 * -1
+    tmp16 = einsum(v.xov, (0, 1, 2), tmp15, (1, 3, 4, 2), (3, 4, 0))
+    del tmp15
+    tmp5 = einsum(v.xvv, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp8 = einsum(v.xov, (0, 1, 2), tmp7, (1, 3, 4, 2), (3, 4, 0))
+    del tmp7
+    tmp17 = einsum(tmp16, (0, 1, 2), v.xov, (2, 0, 3), (3, 1)) * 0.5
+    tmp19 = einsum(tmp16, (0, 1, 2), v.xov, (2, 3, 1), (3, 0))
+    del tmp16
+    tmp3 = einsum(v.xov, (0, 1, 2), t2, (3, 1, 4, 2), (3, 4, 0))
+    t2new = einsum(tmp3, (0, 1, 2), tmp3, (3, 4, 2), (0, 3, 1, 4)) * 4
+    tmp2 = einsum(v.xov, (0, 1, 2), t2, (3, 1, 2, 4), (3, 4, 0))
+    t2new += einsum(tmp2, (0, 1, 2), tmp2, (3, 4, 2), (0, 3, 1, 4))
+    tmp6 = einsum(tmp5, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp9 = einsum(tmp8, (0, 1, 2), v.xov, (2, 3, 4), (3, 0, 4, 1))
+    del tmp8
+    tmp12 = einsum(tmp5, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 5, 2))
+    del tmp5
+    tmp11 = einsum(t2, (0, 1, 2, 3), f.vv, (4, 3), (0, 1, 4, 2))
+    tmp18 = einsum(tmp17, (0, 1), t2, (2, 3, 0, 4), (2, 3, 4, 1))
+    del tmp17
+    tmp20 = einsum(tmp19, (0, 1), t2, (2, 0, 3, 4), (2, 1, 4, 3)) * 0.5
+    del tmp19
+    tmp14 = einsum(tmp3, (0, 1, 2), tmp2, (3, 4, 2), (0, 3, 1, 4))
+    del tmp3, tmp2
+    tmp4 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4))
+    t2new += np.transpose(tmp4, (1, 0, 2, 3)) * -1
+    t2new += np.transpose(tmp4, (0, 1, 3, 2)) * -1
+    del tmp4
+    tmp1 = einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (3, 1, 2, 4))
+    t2new += einsum(tmp1, (0, 1, 2, 3), t2, (4, 5, 3, 1), (4, 5, 0, 2))
+    del tmp1
+    tmp10 = np.copy(tmp6)
+    del tmp6
+    tmp10 += np.transpose(tmp9, (1, 0, 3, 2)) * -1
+    del tmp9
+    t2new += np.transpose(tmp10, (1, 0, 3, 2)) * -1
+    t2new += tmp10 * -1
+    del tmp10
+    tmp0 = einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (1, 3, 4, 2))
+    t2new += einsum(t2, (0, 1, 2, 3), tmp0, (4, 0, 5, 1), (5, 4, 2, 3))
+    del tmp0
+    tmp13 = np.copy(tmp11)
+    del tmp11
+    tmp13 += tmp12 * -1
+    del tmp12
+    t2new += np.transpose(tmp13, (1, 0, 2, 3))
+    t2new += np.transpose(tmp13, (0, 1, 3, 2))
+    del tmp13
+    tmp21 = np.copy(tmp14) * 2
+    del tmp14
+    tmp21 += np.transpose(tmp18, (1, 0, 2, 3))
+    del tmp18
+    tmp21 += np.transpose(tmp20, (0, 1, 3, 2))
+    del tmp20
+    t2new += np.transpose(tmp21, (1, 0, 3, 2)) * -1
+    t2new += tmp21 * -1
+    del tmp21
+    t2new += einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2))
+
+    return {f"t2new": t2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/RDFDCSD/index.html b/reference/codegen/RDFDCSD/index.html new file mode 100644 index 00000000..5cdad78b --- /dev/null +++ b/reference/codegen/RDFDCSD/index.html @@ -0,0 +1,917 @@ + + + + + + + + RDFDCSD - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-09T22:10:45.485014
  • +
  • python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0]
  • +
  • albert version: 0.0.0
  • +
  • caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py
  • +
  • node: fv-az1487-369
  • +
  • system: Linux
  • +
  • processor: x86_64
  • +
  • release: 6.5.0-1025-azure
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.RDFDCSD.energy(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T22:10:46.620368.

+

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.

+ +
+ Source code in ebcc/codegen/RDFDCSD.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
def energy(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T22:10:46.620368.
+
+    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(t1, (0, 1), v.xov, (2, 3, 1), (0, 3, 2))
+    tmp0 = einsum(t1, (0, 1), v.xov, (2, 0, 1), (2,))
+    tmp1 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp1 += t2 * -1
+    tmp4 = np.copy(f.ov) * 2
+    tmp4 += einsum(tmp3, (0, 1, 2), v.xov, (2, 0, 3), (1, 3)) * -1
+    del tmp3
+    e_cc = einsum(tmp4, (0, 1), t1, (0, 1), ())
+    del tmp4
+    tmp2 = einsum(t1, (0, 1), tmp0, (2,), (0, 1, 2))
+    del tmp0
+    tmp2 += einsum(tmp1, (0, 1, 2, 3), v.xov, (4, 0, 3), (1, 2, 4)) * 0.5
+    del tmp1
+    e_cc += einsum(v.xov, (0, 1, 2), tmp2, (1, 2, 0), ()) * 2
+    del tmp2
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFDCSD.update_amps(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T22:11:18.171443.

+

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.

+ +
+ Source code in ebcc/codegen/RDFDCSD.py +
 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
def update_amps(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T22:11:18.171443.
+
+    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.xov, (2, 3, 1), (0, 3, 2))
+    tmp0 = einsum(t1, (0, 1), v.xov, (2, 0, 1), (2,))
+    tmp29 = einsum(tmp2, (0, 1, 2), v.xov, (2, 3, 4), (0, 3, 1, 4))
+    tmp9 = einsum(tmp2, (0, 1, 2), v.xov, (2, 0, 3), (1, 3))
+    tmp1 = einsum(v.xov, (0, 1, 2), tmp0, (0,), (1, 2))
+    t1new = np.copy(tmp1) * 2
+    tmp31 = einsum(v.xoo, (0, 1, 2), v.xov, (0, 3, 4), (1, 2, 3, 4))
+    tmp36 = np.copy(t2)
+    tmp36 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3))
+    tmp5 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp5 += t2 * -1
+    tmp19 = einsum(t2, (0, 1, 2, 3), v.xov, (4, 1, 2), (0, 3, 4))
+    t2new = einsum(tmp19, (0, 1, 2), tmp19, (3, 4, 2), (0, 3, 1, 4))
+    tmp55 = np.copy(tmp29) * 2
+    tmp55 += np.transpose(tmp29, (0, 2, 1, 3)) * -1
+    tmp45 = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3))
+    tmp45 += np.transpose(t2, (0, 1, 3, 2)) * -2
+    tmp45 += t2
+    tmp18 = einsum(v.xvv, (0, 1, 2), t1, (3, 2), (3, 1, 0))
+    t2new += einsum(tmp18, (0, 1, 2), tmp18, (3, 4, 2), (3, 0, 4, 1))
+    tmp34 = np.copy(tmp1) * 2
+    tmp34 += tmp9 * -1
+    tmp32 = np.copy(np.transpose(tmp31, (1, 0, 2, 3))) * 2
+    tmp32 += np.transpose(tmp31, (1, 2, 0, 3)) * -1
+    tmp37 = einsum(v.xov, (0, 1, 2), tmp36, (1, 3, 4, 2), (3, 4, 0))
+    del tmp36
+    tmp11 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp11 += t2 * -1
+    tmp13 = einsum(v.xov, (0, 1, 2), tmp5, (1, 3, 4, 2), (3, 4, 0))
+    tmp70 = einsum(v.xvv, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 2, 4))
+    tmp54 = einsum(tmp2, (0, 1, 2), tmp19, (3, 4, 2), (0, 3, 1, 4))
+    tmp56 = einsum(tmp55, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 2, 4, 5))
+    del tmp55
+    tmp53 = einsum(tmp31, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5))
+    del tmp31
+    tmp6 = einsum(v.xoo, (0, 1, 2), t1, (2, 3), (1, 3, 0))
+    tmp46 = einsum(tmp45, (0, 1, 2, 3), v.xov, (4, 0, 3), (1, 2, 4))
+    del tmp45
+    tmp49 = einsum(v.xvv, (0, 1, 2), tmp0, (0,), (1, 2))
+    tmp50 = einsum(v.xov, (0, 1, 2), tmp18, (1, 3, 0), (2, 3))
+    tmp59 = einsum(v.xoo, (0, 1, 2), tmp2, (2, 3, 0), (1, 3))
+    tmp12 = einsum(v.xoo, (0, 1, 2), tmp0, (0,), (1, 2))
+    tmp30 = einsum(tmp29, (0, 1, 2, 3), t2, (4, 2, 3, 5), (0, 4, 1, 5))
+    del tmp29
+    tmp35 = einsum(tmp34, (0, 1), t2, (2, 3, 1, 4), (0, 2, 3, 4))
+    tmp33 = einsum(tmp32, (0, 1, 2, 3), t2, (4, 2, 5, 3), (0, 1, 4, 5))
+    del tmp32
+    tmp38 = einsum(tmp37, (0, 1, 2), v.xoo, (2, 3, 4), (0, 3, 4, 1))
+    del tmp37
+    tmp26 = einsum(v.xov, (0, 1, 2), tmp11, (1, 3, 4, 2), (3, 4, 0))
+    tmp65 = einsum(f.ov, (0, 1), t2, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp67 = einsum(v.xoo, (0, 1, 2), tmp2, (3, 4, 0), (3, 1, 2, 4))
+    tmp63 = einsum(f.ov, (0, 1), t1, (2, 1), (0, 2))
+    tmp76 = einsum(tmp13, (0, 1, 2), v.xov, (2, 3, 1), (0, 3))
+    tmp20 = einsum(t2, (0, 1, 2, 3), v.xov, (4, 1, 3), (0, 2, 4))
+    t2new += einsum(tmp20, (0, 1, 2), tmp20, (3, 4, 2), (0, 3, 1, 4)) * 4
+    tmp71 = einsum(tmp70, (0, 1, 2, 3), t2, (4, 5, 3, 2), (4, 5, 0, 1))
+    del tmp70
+    tmp74 = einsum(v.xov, (0, 1, 2), tmp13, (1, 3, 0), (3, 2)) * 0.5
+    tmp17 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (3, 1, 4, 2))
+    t2new += np.transpose(tmp17, (1, 0, 3, 2))
+    tmp80 = einsum(tmp2, (0, 1, 2), tmp18, (3, 4, 2), (0, 3, 1, 4))
+    tmp24 = einsum(v.xvv, (0, 1, 2), tmp2, (3, 4, 0), (3, 4, 1, 2))
+    tmp22 = einsum(v.xvv, (0, 1, 2), v.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp57 = np.copy(tmp53)
+    del tmp53
+    tmp57 += tmp54
+    del tmp54
+    tmp57 += np.transpose(tmp56, (0, 2, 1, 3)) * -1
+    del tmp56
+    tmp47 = np.copy(tmp6)
+    tmp47 += tmp46
+    del tmp46
+    tmp51 = np.copy(np.transpose(tmp49, (1, 0))) * 2
+    del tmp49
+    tmp51 += tmp50 * -1
+    del tmp50
+    tmp60 = np.copy(np.transpose(tmp59, (1, 0))) * -1
+    del tmp59
+    tmp60 += np.transpose(tmp12, (1, 0)) * 2
+    tmp41 = einsum(tmp34, (0, 1), t1, (2, 1), (0, 2))
+    del tmp34
+    tmp39 = np.copy(np.transpose(tmp30, (0, 2, 1, 3)))
+    del tmp30
+    tmp39 += np.transpose(tmp33, (2, 1, 0, 3)) * -1
+    del tmp33
+    tmp39 += np.transpose(tmp35, (2, 0, 1, 3)) * -1
+    del tmp35
+    tmp39 += np.transpose(tmp38, (0, 2, 1, 3))
+    del tmp38
+    tmp27 = np.copy(np.transpose(v.xov, (1, 2, 0)))
+    tmp27 += tmp6 * -1
+    tmp27 += tmp26
+    del tmp26
+    tmp66 = einsum(t1, (0, 1), tmp65, (0, 2, 3, 4), (2, 3, 1, 4))
+    del tmp65
+    tmp68 = einsum(tmp67, (0, 1, 2, 3), t2, (1, 3, 4, 5), (0, 2, 4, 5))
+    del tmp67
+    tmp64 = einsum(t2, (0, 1, 2, 3), tmp63, (1, 4), (4, 0, 2, 3))
+    del tmp63
+    tmp77 = einsum(tmp76, (0, 1), t2, (2, 1, 3, 4), (0, 2, 4, 3)) * 0.5
+    del tmp76
+    tmp73 = einsum(tmp20, (0, 1, 2), tmp19, (3, 4, 2), (0, 3, 1, 4))
+    del tmp19, tmp20
+    tmp72 = einsum(t1, (0, 1), tmp71, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp71
+    tmp75 = einsum(tmp74, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4))
+    del tmp74
+    tmp86 = einsum(t1, (0, 1), tmp17, (2, 0, 3, 4), (2, 1, 3, 4))
+    del tmp17
+    tmp81 = einsum(t1, (0, 1), tmp80, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp80
+    tmp79 = einsum(t2, (0, 1, 2, 3), tmp24, (4, 1, 5, 2), (4, 0, 3, 5))
+    tmp44 = einsum(t2, (0, 1, 2, 3), tmp22, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp58 = einsum(t1, (0, 1), tmp57, (2, 3, 0, 4), (2, 3, 4, 1))
+    del tmp57
+    tmp48 = einsum(v.xov, (0, 1, 2), tmp47, (3, 4, 0), (3, 1, 4, 2))
+    del tmp47
+    tmp52 = einsum(tmp51, (0, 1), t2, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp51
+    tmp61 = einsum(t2, (0, 1, 2, 3), tmp60, (1, 4), (4, 0, 3, 2))
+    del tmp60
+    tmp42 = einsum(tmp41, (0, 1), t2, (2, 0, 3, 4), (1, 2, 4, 3))
+    del tmp41
+    tmp40 = einsum(t1, (0, 1), tmp39, (2, 0, 3, 4), (2, 3, 4, 1))
+    del tmp39
+    tmp23 = einsum(t2, (0, 1, 2, 3), tmp22, (4, 1, 5, 2), (0, 4, 3, 5))
+    del tmp22
+    tmp21 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp25 = einsum(t2, (0, 1, 2, 3), tmp24, (4, 1, 5, 3), (4, 0, 2, 5))
+    del tmp24
+    tmp28 = einsum(tmp27, (0, 1, 2), tmp18, (3, 4, 2), (3, 0, 4, 1))
+    del tmp18, tmp27
+    tmp3 = np.copy(np.transpose(v.xoo, (1, 2, 0)))
+    tmp3 += np.transpose(tmp2, (1, 0, 2))
+    tmp7 = einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3)) * 0.5
+    tmp7 += np.transpose(t2, (0, 1, 3, 2)) * -1
+    tmp7 += t2 * 0.5
+    tmp14 = np.copy(tmp6) * -1
+    tmp14 += einsum(t1, (0, 1), tmp0, (2,), (0, 1, 2)) * 2
+    tmp14 += tmp13
+    del tmp13
+    tmp15 = np.copy(f.ov)
+    tmp15 += tmp9 * -1
+    tmp69 = np.copy(tmp64)
+    del tmp64
+    tmp69 += tmp66
+    del tmp66
+    tmp69 += tmp68 * -1
+    del tmp68
+    t2new += np.transpose(tmp69, (1, 0, 2, 3)) * -1
+    t2new += np.transpose(tmp69, (0, 1, 3, 2)) * -1
+    del tmp69
+    tmp84 = einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp84 += einsum(tmp2, (0, 1, 2), tmp2, (3, 4, 2), (1, 3, 4, 0))
+    del tmp2
+    tmp78 = np.copy(tmp72)
+    del tmp72
+    tmp78 += tmp73 * 2
+    del tmp73
+    tmp78 += np.transpose(tmp75, (1, 0, 3, 2))
+    del tmp75
+    tmp78 += np.transpose(tmp77, (1, 0, 3, 2))
+    del tmp77
+    t2new += np.transpose(tmp78, (1, 0, 3, 2)) * -1
+    t2new += tmp78 * -1
+    del tmp78
+    tmp87 = einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp87 += einsum(tmp86, (0, 1, 2, 3), t1, (0, 4), (3, 4, 2, 1))
+    del tmp86
+    t2new += einsum(tmp87, (0, 1, 2, 3), t2, (4, 5, 2, 0), (4, 5, 1, 3))
+    del tmp87
+    tmp85 = np.copy(t2)
+    tmp85 += einsum(t1, (0, 1), t1, (2, 3), (0, 2, 1, 3))
+    t2new += einsum(tmp85, (0, 1, 2, 3), tmp84, (0, 4, 1, 5), (4, 5, 3, 2))
+    del tmp85, tmp84
+    tmp82 = np.copy(tmp79)
+    del tmp79
+    tmp82 += tmp81
+    del tmp81
+    t2new += np.transpose(tmp82, (1, 0, 3, 2)) * -1
+    t2new += tmp82 * -1
+    del tmp82
+    tmp62 = np.copy(tmp44)
+    del tmp44
+    tmp62 += tmp48
+    del tmp48
+    tmp62 += np.transpose(tmp52, (1, 0, 3, 2)) * -1
+    del tmp52
+    tmp62 += np.transpose(tmp58, (0, 1, 3, 2)) * -1
+    del tmp58
+    tmp62 += np.transpose(tmp61, (1, 0, 3, 2))
+    del tmp61
+    t2new += np.transpose(tmp62, (1, 0, 3, 2)) * -1
+    t2new += tmp62 * -1
+    del tmp62
+    tmp43 = np.copy(tmp21)
+    del tmp21
+    tmp43 += tmp23 * -1
+    del tmp23
+    tmp43 += tmp25 * -1
+    del tmp25
+    tmp43 += np.transpose(tmp28, (0, 1, 3, 2))
+    del tmp28
+    tmp43 += np.transpose(tmp40, (0, 1, 3, 2))
+    del tmp40
+    tmp43 += np.transpose(tmp42, (0, 1, 3, 2)) * -1
+    del tmp42
+    t2new += np.transpose(tmp43, (1, 0, 2, 3))
+    t2new += np.transpose(tmp43, (0, 1, 3, 2))
+    del tmp43
+    tmp83 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4))
+    t2new += np.transpose(tmp83, (1, 0, 2, 3)) * -1
+    t2new += np.transpose(tmp83, (0, 1, 3, 2)) * -1
+    del tmp83
+    tmp4 = einsum(tmp3, (0, 1, 2), v.xov, (2, 3, 4), (1, 3, 0, 4))
+    del tmp3
+    t1new += einsum(tmp4, (0, 1, 2, 3), tmp5, (1, 2, 4, 3), (0, 4)) * -1
+    del tmp5, tmp4
+    tmp10 = np.copy(f.ov)
+    tmp10 += tmp1 * 2
+    del tmp1
+    tmp10 += tmp9 * -1
+    del tmp9
+    t1new += einsum(tmp11, (0, 1, 2, 3), tmp10, (0, 3), (1, 2))
+    del tmp11, tmp10
+    tmp8 = np.copy(tmp6)
+    del tmp6
+    tmp8 += einsum(t1, (0, 1), tmp0, (2,), (0, 1, 2)) * -2
+    del tmp0
+    tmp8 += einsum(v.xov, (0, 1, 2), tmp7, (1, 3, 4, 2), (3, 4, 0)) * 2
+    del tmp7
+    t1new += einsum(v.xvv, (0, 1, 2), tmp8, (3, 2, 0), (3, 1)) * -1
+    del tmp8
+    tmp16 = np.copy(f.oo) * 0.5
+    tmp16 += np.transpose(tmp12, (1, 0))
+    del tmp12
+    tmp16 += einsum(tmp14, (0, 1, 2), v.xov, (2, 3, 1), (3, 0)) * 0.5
+    del tmp14
+    tmp16 += einsum(tmp15, (0, 1), t1, (2, 1), (0, 2)) * 0.5
+    del tmp15
+    t1new += einsum(tmp16, (0, 1), t1, (0, 2), (1, 2)) * -2
+    del tmp16
+    t1new += einsum(t1, (0, 1), f.vv, (2, 1), (0, 2))
+    t1new += f.ov
+
+    return {f"t1new": t1new, f"t2new": t2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/RDFQCISD/index.html b/reference/codegen/RDFQCISD/index.html new file mode 100644 index 00000000..d093e0f0 --- /dev/null +++ b/reference/codegen/RDFQCISD/index.html @@ -0,0 +1,635 @@ + + + + + + + + RDFQCISD - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-09T21:55:24.075107
  • +
  • python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0]
  • +
  • albert version: 0.0.0
  • +
  • caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py
  • +
  • node: fv-az1487-369
  • +
  • system: Linux
  • +
  • processor: x86_64
  • +
  • release: 6.5.0-1025-azure
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.RDFQCISD.energy(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T21:55:24.637097.

+

Parameters

+

t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

e_cc : float + Coupled cluster energy.

+ +
+ Source code in ebcc/codegen/RDFQCISD.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
def energy(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T21:55:24.637097.
+
+    Parameters
+    ----------
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    e_cc : float
+        Coupled cluster energy.
+    """
+
+    tmp0 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp0 += t2 * -1
+    tmp1 = einsum(tmp0, (0, 1, 2, 3), v.xov, (4, 0, 3), (1, 2, 4)) * 0.5
+    del tmp0
+    e_cc = einsum(v.xov, (0, 1, 2), tmp1, (1, 2, 0), ()) * 2
+    del tmp1
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RDFQCISD.update_amps(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T21:55:33.663301.

+

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.

+ +
+ Source code in ebcc/codegen/RDFQCISD.py +
 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
def update_amps(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T21:55:33.663301.
+
+    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.
+    """
+
+    tmp16 = einsum(v.xov, (0, 1, 2), t2, (3, 1, 2, 4), (3, 4, 0))
+    t2new = einsum(tmp16, (0, 1, 2), tmp16, (3, 4, 2), (0, 3, 1, 4))
+    tmp11 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp11 += t2 * -1
+    tmp19 = np.copy(np.transpose(v.xov, (1, 2, 0)))
+    tmp19 += tmp16 * -1
+    tmp15 = einsum(v.xov, (0, 1, 2), v.xov, (0, 3, 4), (1, 3, 2, 4))
+    t2new += np.transpose(tmp15, (1, 0, 3, 2))
+    tmp32 = einsum(v.xov, (0, 1, 2), tmp11, (1, 3, 4, 2), (3, 4, 0))
+    tmp18 = einsum(v.xoo, (0, 1, 2), v.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp20 = einsum(v.xov, (0, 1, 2), tmp19, (3, 4, 0), (3, 1, 4, 2))
+    del tmp19
+    tmp17 = einsum(t2, (0, 1, 2, 3), tmp15, (1, 4, 5, 2), (0, 4, 3, 5))
+    t2new += einsum(t2, (0, 1, 2, 3), tmp17, (4, 1, 5, 2), (4, 0, 3, 5))
+    tmp6 = einsum(v.xoo, (0, 1, 2), t1, (2, 3), (1, 3, 0))
+    tmp28 = einsum(t1, (0, 1), v.xvv, (2, 3, 1), (0, 3, 2))
+    tmp35 = einsum(tmp32, (0, 1, 2), v.xov, (2, 3, 1), (0, 3))
+    tmp33 = einsum(tmp32, (0, 1, 2), v.xov, (2, 0, 3), (1, 3)) * 0.5
+    del tmp32
+    tmp21 = np.copy(np.transpose(tmp18, (1, 0, 3, 2)))
+    tmp21 += tmp17 * -1
+    del tmp17
+    tmp21 += tmp20 * -2
+    del tmp20
+    tmp23 = np.copy(tmp6)
+    tmp23 += tmp16
+    del tmp16
+    tmp2 = einsum(t1, (0, 1), v.xov, (2, 3, 1), (0, 3, 2))
+    tmp0 = einsum(v.xov, (0, 1, 2), t1, (1, 2), (0,))
+    tmp27 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp30 = einsum(t2, (0, 1, 2, 3), tmp18, (4, 1, 5, 2), (0, 4, 3, 5))
+    del tmp18
+    tmp29 = einsum(v.xov, (0, 1, 2), tmp28, (3, 4, 0), (3, 1, 2, 4))
+    del tmp28
+    tmp36 = einsum(tmp35, (0, 1), t2, (2, 1, 3, 4), (0, 2, 4, 3))
+    del tmp35
+    tmp34 = einsum(tmp33, (0, 1), t2, (2, 3, 1, 4), (2, 3, 0, 4)) * 2
+    del tmp33
+    tmp22 = einsum(tmp21, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp21
+    tmp24 = einsum(v.xov, (0, 1, 2), tmp23, (3, 4, 0), (3, 1, 4, 2))
+    del tmp23
+    tmp39 = np.copy(np.transpose(tmp15, (1, 0, 2, 3))) * 2
+    tmp39 += np.transpose(tmp15, (1, 0, 3, 2)) * -1
+    tmp7 = np.copy(np.transpose(t2, (0, 1, 3, 2)))
+    tmp7 += t2 * -0.5
+    tmp3 = np.copy(np.transpose(v.xoo, (1, 2, 0)))
+    tmp3 += np.transpose(tmp2, (1, 0, 2))
+    tmp1 = einsum(v.xov, (0, 1, 2), tmp0, (0,), (1, 2))
+    del tmp0
+    t1new = np.copy(tmp1) * 2
+    tmp12 = einsum(v.xov, (0, 1, 2), tmp11, (1, 3, 4, 2), (3, 4, 0)) * 0.5
+    del tmp11
+    tmp31 = np.copy(tmp27)
+    del tmp27
+    tmp31 += tmp29
+    del tmp29
+    tmp31 += tmp30 * -1
+    del tmp30
+    t2new += np.transpose(tmp31, (1, 0, 2, 3))
+    t2new += np.transpose(tmp31, (0, 1, 3, 2))
+    del tmp31
+    tmp37 = np.copy(np.transpose(tmp34, (1, 0, 3, 2)))
+    del tmp34
+    tmp37 += np.transpose(tmp36, (1, 0, 3, 2))
+    del tmp36
+    t2new += np.transpose(tmp37, (1, 0, 3, 2)) * -1
+    t2new += tmp37 * -1
+    del tmp37
+    tmp26 = einsum(f.oo, (0, 1), t2, (2, 1, 3, 4), (0, 2, 3, 4))
+    t2new += np.transpose(tmp26, (1, 0, 2, 3)) * -1
+    t2new += np.transpose(tmp26, (0, 1, 3, 2)) * -1
+    del tmp26
+    tmp38 = einsum(v.xoo, (0, 1, 2), v.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp38 += einsum(t2, (0, 1, 2, 3), tmp15, (4, 5, 3, 2), (4, 0, 5, 1))
+    del tmp15
+    t2new += einsum(tmp38, (0, 1, 2, 3), t2, (0, 2, 4, 5), (1, 3, 5, 4))
+    del tmp38
+    tmp14 = einsum(v.xvv, (0, 1, 2), v.xvv, (0, 3, 4), (3, 1, 2, 4))
+    t2new += einsum(tmp14, (0, 1, 2, 3), t2, (4, 5, 3, 1), (4, 5, 0, 2))
+    del tmp14
+    tmp25 = np.copy(np.transpose(tmp22, (1, 0, 3, 2)))
+    del tmp22
+    tmp25 += tmp24
+    del tmp24
+    t2new += np.transpose(tmp25, (1, 0, 3, 2)) * -1
+    t2new += tmp25 * -1
+    del tmp25
+    tmp40 = einsum(tmp39, (0, 1, 2, 3), t2, (4, 0, 5, 3), (4, 1, 5, 2))
+    del tmp39
+    t2new += einsum(t2, (0, 1, 2, 3), tmp40, (4, 1, 5, 3), (4, 0, 5, 2)) * 2
+    del tmp40
+    tmp8 = np.copy(tmp6)
+    del tmp6
+    tmp8 += einsum(v.xov, (0, 1, 2), tmp7, (1, 3, 4, 2), (3, 4, 0)) * -2
+    del tmp7
+    t1new += einsum(v.xvv, (0, 1, 2), tmp8, (3, 2, 0), (3, 1)) * -1
+    del tmp8
+    tmp4 = einsum(v.xov, (0, 1, 2), tmp3, (3, 4, 0), (4, 1, 3, 2))
+    del tmp3
+    tmp9 = np.copy(f.ov)
+    tmp9 += tmp1 * 2
+    del tmp1
+    tmp9 += einsum(v.xov, (0, 1, 2), tmp2, (1, 3, 0), (3, 2)) * -1
+    del tmp2
+    tmp10 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * 2
+    tmp10 += t2 * -1
+    t1new += einsum(tmp10, (0, 1, 2, 3), tmp9, (0, 3), (1, 2))
+    del tmp10, tmp9
+    tmp13 = np.copy(f.oo)
+    tmp13 += einsum(tmp12, (0, 1, 2), v.xov, (2, 3, 1), (3, 0)) * 2
+    del tmp12
+    t1new += einsum(tmp13, (0, 1), t1, (0, 2), (1, 2)) * -1
+    del tmp13
+    tmp5 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp5 += t2 * 2
+    t1new += einsum(tmp5, (0, 1, 2, 3), tmp4, (4, 0, 1, 2), (4, 3)) * -1
+    del tmp5, tmp4
+    t1new += einsum(t1, (0, 1), f.vv, (2, 1), (0, 2))
+
+    return {f"t1new": t1new, f"t2new": t2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/RMP2/index.html b/reference/codegen/RMP2/index.html new file mode 100644 index 00000000..9d5a514a --- /dev/null +++ b/reference/codegen/RMP2/index.html @@ -0,0 +1,914 @@ + + + + + + + + RMP2 - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-17T12:50:58.144612
  • +
  • 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.8.0-40-generic
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.RMP2.energy(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:50:58.281515.

+

Parameters

+

t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

e_mp : array

+ +
+ Source code in ebcc/codegen/RMP2.py +
20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
def energy(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:50:58.281515.
+
+    Parameters
+    ----------
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    e_mp : array
+    """
+
+    e_mp = einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 1, 3), ()) * 2
+    e_mp += einsum(t2, (0, 1, 2, 3), v.ovov, (0, 3, 1, 2), ()) * -1
+
+    return e_mp
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RMP2.make_rdm1_f(l2=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:50:58.578008.

+

Parameters

+

l2 : array + L2 amplitudes. +t2 : array + T2 amplitudes.

+

Returns

+

rdm1 : array + One-particle reduced density matrix.

+ +
+ Source code in ebcc/codegen/RMP2.py +
41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
def make_rdm1_f(l2=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:50:58.578008.
+
+    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 = np.copy(np.transpose(t2, (0, 1, 3, 2)))
+    tmp1 += t2 * -0.5
+    tmp0 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.5
+    tmp0 += t2
+    rdm1.vv = einsum(tmp1, (0, 1, 2, 3), l2, (4, 2, 0, 1), (4, 3)) * 4
+    del tmp1
+    rdm1.oo = np.copy(delta.oo) * 2
+    del delta
+    rdm1.oo += einsum(l2, (0, 1, 2, 3), tmp0, (2, 4, 0, 1), (4, 3)) * -4
+    del tmp0
+    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
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RMP2.make_rdm2_f(l2=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:50:58.678943.

+

Parameters

+

l2 : array + L2 amplitudes. +t2 : array + T2 amplitudes.

+

Returns

+

rdm2 : array + Two-particle reduced density matrix.

+ +
+ Source code in ebcc/codegen/RMP2.py +
 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
def make_rdm2_f(l2=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:50:58.678943.
+
+    Parameters
+    ----------
+    l2 : array
+        L2 amplitudes.
+    t2 : array
+        T2 amplitudes.
+
+    Returns
+    -------
+    rdm2 : array
+        Two-particle reduced density matrix.
+    """
+
+    rdm2 = Namespace()
+    rdm2.vvoo = np.copy(np.transpose(l2, (0, 1, 3, 2))) * -2
+    rdm2.vvoo += l2 * 4
+    rdm2.oovv = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -2
+    rdm2.oovv += t2 * 4
+    rdm2.oooo = np.zeros((t2.shape[0], t2.shape[0], t2.shape[0], t2.shape[0]))
+    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.ovov = np.zeros((t2.shape[0], t2.shape[-1], t2.shape[0], t2.shape[-1]))
+    rdm2.ovvo = np.zeros((t2.shape[0], t2.shape[-1], t2.shape[-1], t2.shape[0]))
+    rdm2.voov = np.zeros((t2.shape[-1], t2.shape[0], t2.shape[0], t2.shape[-1]))
+    rdm2.vovo = np.zeros((t2.shape[-1], t2.shape[0], t2.shape[-1], 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.vvvv = np.zeros((t2.shape[-1], t2.shape[-1], t2.shape[-1], t2.shape[-1]))
+    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))
+    rdm1 = make_rdm1_f(t2=t2, l2=l2)
+    delta = np.diag(np.concatenate([np.ones(t2.shape[0]), np.zeros(t2.shape[-1])]))
+    rdm1 -= delta * 2
+    rdm2 += einsum(delta, (0, 1), rdm1, (3, 2), (0, 1, 2, 3)) * 2
+    rdm2 += einsum(rdm1, (1, 0), delta, (2, 3), (0, 1, 2, 3)) * 2
+    rdm2 -= einsum(delta, (0, 3), rdm1, (2, 1), (0, 1, 2, 3))
+    rdm2 -= einsum(rdm1, (0, 3), delta, (1, 2), (0, 1, 2, 3))
+    rdm2 += einsum(delta, (0, 1), delta, (2, 3), (0, 1, 2, 3)) * 4
+    rdm2 -= einsum(delta, (0, 3), delta, (1, 2), (0, 1, 2, 3)) * 2
+
+    return rdm2
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RMP2.hbar_matvec_ip_intermediates(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:50:59.753743.

+

Parameters

+

t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp2 : array +tmp4 : array

+ +
+ Source code in ebcc/codegen/RMP2.py +
129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
def hbar_matvec_ip_intermediates(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:50:59.753743.
+
+    Parameters
+    ----------
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp2 : array
+    tmp4 : array
+    """
+
+    tmp4 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 1, 3), (0, 4))
+    tmp2 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 3, 1, 2), (0, 4))
+
+    return {f"tmp2": tmp2, f"tmp4": tmp4}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RMP2.hbar_matvec_ip(f=None, r1=None, r2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:50:59.755599.

+

Parameters

+

f : array + Fock matrix. +r1 : array + R1 amplitudes. +r2 : array + R2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

r1new : array + Updated R1 residuals. +r2new : array + Updated R2 residuals.

+ +
+ Source code in ebcc/codegen/RMP2.py +
151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
def hbar_matvec_ip(f=None, r1=None, r2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:50:59.755599.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    r1 : array
+        R1 amplitudes.
+    r2 : array
+        R2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    r1new : array
+        Updated R1 residuals.
+    r2new : array
+        Updated R2 residuals.
+    """
+
+    ints = kwargs["ints"]
+    tmp1 = np.copy(ints.tmp4) * 2
+    del ints.tmp4
+    tmp1 += ints.tmp2 * -1
+    del ints.tmp2
+    tmp2 = np.copy(f.oo) * 2
+    tmp2 += tmp1
+    tmp2 += np.transpose(tmp1, (1, 0))
+    del tmp1
+    tmp0 = np.copy(v.ooov) * -0.5
+    tmp0 += np.transpose(v.ovoo, (0, 2, 3, 1))
+    r2new = einsum(f.vv, (0, 1), r2, (2, 3, 1), (2, 3, 0))
+    r2new += einsum(v.ovoo, (0, 1, 2, 3), r1, (3,), (0, 2, 1))
+    r2new += einsum(r2, (0, 1, 2), f.oo, (3, 0), (3, 1, 2)) * -1
+    r2new += einsum(r2, (0, 1, 2), f.oo, (3, 1), (0, 3, 2)) * -1
+    r1new = einsum(r2, (0, 1, 2), tmp0, (0, 3, 1, 2), (3,)) * 2
+    del tmp0
+    r1new += einsum(tmp2, (0, 1), r1, (0,), (1,)) * -0.5
+    del tmp2
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RMP2.hbar_matvec_ea_intermediates(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:51:00.870587.

+

Parameters

+

t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

tmp2 : array +tmp4 : array

+ +
+ Source code in ebcc/codegen/RMP2.py +
196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
def hbar_matvec_ea_intermediates(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:51:00.870587.
+
+    Parameters
+    ----------
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp2 : array
+    tmp4 : array
+    """
+
+    tmp4 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 2, 1, 4), (3, 4))
+    tmp2 = einsum(t2, (0, 1, 2, 3), v.ovov, (0, 4, 1, 2), (3, 4))
+
+    return {f"tmp2": tmp2, f"tmp4": tmp4}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RMP2.hbar_matvec_ea(f=None, r1=None, r2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:51:00.872408.

+

Parameters

+

f : array + Fock matrix. +r1 : array + R1 amplitudes. +r2 : array + R2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

r1new : array + Updated R1 residuals. +r2new : array + Updated R2 residuals.

+ +
+ Source code in ebcc/codegen/RMP2.py +
218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
def hbar_matvec_ea(f=None, r1=None, r2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:51:00.872408.
+
+    Parameters
+    ----------
+    f : array
+        Fock matrix.
+    r1 : array
+        R1 amplitudes.
+    r2 : array
+        R2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    r1new : array
+        Updated R1 residuals.
+    r2new : array
+        Updated R2 residuals.
+    """
+
+    ints = kwargs["ints"]
+    tmp1 = np.copy(ints.tmp4)
+    del ints.tmp4
+    tmp1 += ints.tmp2 * -0.5
+    del ints.tmp2
+    tmp2 = np.copy(f.vv)
+    tmp2 += tmp1 * -1
+    tmp2 += np.transpose(tmp1, (1, 0)) * -1
+    del tmp1
+    tmp0 = np.copy(v.ovvv) * 2
+    tmp0 += np.transpose(v.ovvv, (0, 2, 1, 3)) * -1
+    r2new = einsum(r2, (0, 1, 2), f.vv, (3, 0), (3, 1, 2))
+    r2new += einsum(r2, (0, 1, 2), f.vv, (3, 1), (0, 3, 2))
+    r2new += einsum(r1, (0,), v.ovvv, (1, 2, 3, 0), (2, 3, 1)) * -1
+    r2new += einsum(f.oo, (0, 1), r2, (2, 3, 1), (2, 3, 0)) * -1
+    r1new = einsum(r2, (0, 1, 2), tmp0, (2, 0, 1, 3), (3,)) * -1
+    del tmp0
+    r1new += einsum(r1, (0,), tmp2, (0, 1), (1,))
+    del tmp2
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/RMP3/index.html b/reference/codegen/RMP3/index.html new file mode 100644 index 00000000..4fadbe4f --- /dev/null +++ b/reference/codegen/RMP3/index.html @@ -0,0 +1,350 @@ + + + + + + + + RMP3 - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-09T21:27:26.366216
  • +
  • python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0]
  • +
  • albert version: 0.0.0
  • +
  • caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py
  • +
  • node: fv-az1487-369
  • +
  • system: Linux
  • +
  • processor: x86_64
  • +
  • release: 6.5.0-1025-azure
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.RMP3.energy(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T21:27:30.414237.

+

Parameters

+

t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

e_mp : array

+ +
+ Source code in ebcc/codegen/RMP3.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
def energy(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T21:27:30.414237.
+
+    Parameters
+    ----------
+    t2 : array
+        T2 amplitudes.
+    v : array
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    e_mp : array
+    """
+
+    tmp5 = einsum(t2, (0, 1, 2, 3), t2, (4, 5, 2, 3), (4, 0, 1, 5))
+    tmp3 = einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp0 = einsum(t2, (0, 1, 2, 3), v.oovv, (4, 1, 5, 2), (0, 4, 3, 5))
+    e_mp = einsum(t2, (0, 1, 2, 3), tmp0, (0, 1, 3, 2), ()) * -4
+    tmp1 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -0.25
+    tmp1 += t2
+    tmp6 = np.copy(np.transpose(tmp5, (3, 1, 2, 0))) * -0.5
+    tmp6 += np.transpose(tmp5, (3, 2, 1, 0))
+    del tmp5
+    e_mp += einsum(tmp6, (0, 1, 2, 3), v.oooo, (0, 1, 2, 3), ()) * 2
+    del tmp6
+    tmp4 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3)))
+    tmp4 += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 5, 2)) * 4
+    tmp4 += np.transpose(tmp0, (0, 1, 3, 2)) * -4
+    del tmp0
+    tmp4 += np.transpose(tmp3, (1, 0, 2, 3)) * -2
+    tmp4 += np.transpose(tmp3, (1, 0, 3, 2))
+    del tmp3
+    e_mp += einsum(tmp4, (0, 1, 2, 3), t2, (0, 1, 3, 2), ()) * -1
+    del tmp4
+    tmp2 = np.copy(t2)
+    tmp2 += einsum(t2, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2)) * 4
+    tmp2 += einsum(t2, (0, 1, 2, 3), tmp1, (1, 4, 2, 5), (0, 4, 3, 5)) * -4
+    del tmp1
+    e_mp += einsum(tmp2, (0, 1, 2, 3), v.ovov, (0, 2, 1, 3), ()) * 2
+    del tmp2
+
+    return e_mp
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/RQCISD/index.html b/reference/codegen/RQCISD/index.html new file mode 100644 index 00000000..3c3c60bb --- /dev/null +++ b/reference/codegen/RQCISD/index.html @@ -0,0 +1,591 @@ + + + + + + + + RQCISD - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-09T21:54:52.369137
  • +
  • python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0]
  • +
  • albert version: 0.0.0
  • +
  • caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py
  • +
  • node: fv-az1487-369
  • +
  • system: Linux
  • +
  • processor: x86_64
  • +
  • release: 6.5.0-1025-azure
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.RQCISD.energy(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T21:54:52.627478.

+

Parameters

+

t2 : array + T2 amplitudes. +v : array + Electron repulsion integrals.

+

Returns

+

e_cc : float + Coupled cluster energy.

+ +
+ Source code in ebcc/codegen/RQCISD.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
def energy(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T21:54:52.627478.
+
+    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), ()) * 2
+    e_cc += einsum(v.ovov, (0, 1, 2, 3), t2, (0, 2, 3, 1), ()) * -1
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.RQCISD.update_amps(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T21:54:58.365637.

+

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.

+ +
+ Source code in ebcc/codegen/RQCISD.py +
 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
def update_amps(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T21:54:58.365637.
+
+    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 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1)))
+    tmp18 += np.transpose(v.ovov, (0, 2, 1, 3)) * -0.5
+    tmp14 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * 2
+    tmp14 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1
+    tmp21 = einsum(t2, (0, 1, 2, 3), tmp18, (1, 4, 2, 3), (0, 4)) * 2
+    tmp19 = einsum(t2, (0, 1, 2, 3), tmp18, (0, 1, 4, 2), (3, 4))
+    del tmp18
+    tmp15 = einsum(t2, (0, 1, 2, 3), tmp14, (1, 4, 5, 3), (0, 4, 2, 5))
+    del tmp14
+    tmp9 = einsum(t2, (0, 1, 2, 3), v.ovov, (4, 5, 1, 2), (0, 4, 3, 5))
+    t2new = np.copy(np.transpose(tmp9, (1, 0, 3, 2))) * -1
+    tmp22 = einsum(t2, (0, 1, 2, 3), tmp21, (4, 1), (0, 4, 3, 2))
+    del tmp21
+    tmp20 = einsum(tmp19, (0, 1), t2, (2, 3, 1, 4), (2, 3, 4, 0)) * 2
+    del tmp19
+    tmp16 = einsum(t2, (0, 1, 2, 3), tmp15, (4, 1, 5, 2), (0, 4, 3, 5))
+    tmp13 = einsum(t1, (0, 1), v.ooov, (2, 0, 3, 4), (2, 3, 1, 4))
+    tmp11 = einsum(v.ovvv, (0, 1, 2, 3), t1, (4, 3), (4, 0, 1, 2))
+    tmp10 = einsum(f.vv, (0, 1), t2, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp1 = einsum(v.ovov, (0, 1, 2, 3), t1, (4, 3), (4, 0, 2, 1))
+    tmp3 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * -1
+    tmp3 += np.transpose(v.ovov, (0, 2, 1, 3)) * 2
+    tmp7 = np.copy(np.transpose(v.ovov, (0, 2, 3, 1))) * 2
+    tmp7 += np.transpose(v.ovov, (0, 2, 1, 3)) * -1
+    tmp27 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * -1
+    tmp27 += tmp9
+    del tmp9
+    t2new += einsum(t2, (0, 1, 2, 3), tmp27, (4, 1, 5, 2), (0, 4, 3, 5))
+    del tmp27
+    tmp25 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * 2
+    tmp25 += v.oovv * -1
+    tmp25 += tmp15 * 2
+    del tmp15
+    t2new += einsum(tmp25, (0, 1, 2, 3), t2, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp25
+    tmp23 = np.copy(np.transpose(tmp20, (1, 0, 2, 3)))
+    del tmp20
+    tmp23 += np.transpose(tmp22, (0, 1, 3, 2))
+    del tmp22
+    t2new += np.transpose(tmp23, (1, 0, 3, 2)) * -1
+    t2new += tmp23 * -1
+    del tmp23
+    tmp17 = np.copy(tmp13)
+    del tmp13
+    tmp17 += np.transpose(tmp16, (1, 0, 3, 2))
+    del tmp16
+    t2new += np.transpose(tmp17, (1, 0, 3, 2)) * -1
+    t2new += tmp17 * -1
+    del tmp17
+    tmp26 = np.copy(v.oooo)
+    tmp26 += einsum(t2, (0, 1, 2, 3), v.ovov, (4, 2, 5, 3), (4, 0, 5, 1))
+    t2new += einsum(tmp26, (0, 1, 2, 3), t2, (0, 2, 4, 5), (1, 3, 4, 5))
+    del tmp26
+    tmp12 = np.copy(tmp10)
+    del tmp10
+    tmp12 += tmp11
+    del tmp11
+    t2new += np.transpose(tmp12, (1, 0, 2, 3))
+    t2new += np.transpose(tmp12, (0, 1, 3, 2))
+    del tmp12
+    tmp28 = np.copy(v.oovv) * -1
+    tmp28 += einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 1, 5), (4, 0, 5, 3))
+    t2new += einsum(t2, (0, 1, 2, 3), tmp28, (4, 1, 5, 2), (4, 0, 3, 5))
+    del tmp28
+    tmp24 = einsum(t2, (0, 1, 2, 3), f.oo, (4, 1), (4, 0, 2, 3))
+    t2new += np.transpose(tmp24, (1, 0, 2, 3)) * -1
+    t2new += np.transpose(tmp24, (0, 1, 3, 2)) * -1
+    del tmp24
+    tmp6 = np.copy(np.transpose(v.ovov, (0, 2, 1, 3))) * 2
+    tmp6 += v.oovv * -1
+    t1new = einsum(tmp6, (0, 1, 2, 3), t1, (0, 2), (1, 3))
+    del tmp6
+    tmp0 = np.copy(v.ovvv) * -0.5
+    tmp0 += np.transpose(v.ovvv, (0, 2, 1, 3))
+    t1new += einsum(tmp0, (0, 1, 2, 3), t2, (4, 0, 1, 2), (4, 3)) * 2
+    del tmp0
+    tmp5 = np.copy(np.transpose(t2, (0, 1, 3, 2))) * -1
+    tmp5 += t2 * 2
+    tmp2 = np.copy(v.ooov)
+    tmp2 += np.transpose(v.ooov, (0, 2, 1, 3)) * -0.5
+    tmp2 += tmp1 * -0.5
+    tmp2 += np.transpose(tmp1, (0, 2, 1, 3))
+    del tmp1
+    t1new += einsum(tmp2, (0, 1, 2, 3), t2, (2, 1, 3, 4), (0, 4)) * -2
+    del tmp2
+    tmp4 = np.copy(f.ov)
+    tmp4 += einsum(tmp3, (0, 1, 2, 3), t1, (0, 2), (1, 3))
+    del tmp3
+    t1new += einsum(tmp5, (0, 1, 2, 3), tmp4, (0, 2), (1, 3))
+    del tmp5, tmp4
+    tmp8 = np.copy(f.oo)
+    tmp8 += einsum(tmp7, (0, 1, 2, 3), t2, (4, 0, 2, 3), (1, 4))
+    del tmp7
+    t1new += einsum(t1, (0, 1), tmp8, (0, 2), (2, 1)) * -1
+    del tmp8
+    t1new += einsum(t1, (0, 1), f.vv, (2, 1), (0, 2))
+    t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 5, 3), (0, 4, 2, 5)) * -1
+    t2new += einsum(v.oovv, (0, 1, 2, 3), t2, (4, 1, 3, 5), (4, 0, 2, 5)) * -1
+    t2new += einsum(v.ovov, (0, 1, 2, 3), t2, (4, 2, 5, 3), (0, 4, 1, 5)) * 2
+    t2new += einsum(t2, (0, 1, 2, 3), v.vvvv, (4, 2, 5, 3), (0, 1, 4, 5))
+    t2new += np.transpose(v.ovov, (0, 2, 1, 3))
+
+    return {f"t1new": t1new, f"t2new": t2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/UCC2/index.html b/reference/codegen/UCC2/index.html new file mode 100644 index 00000000..0765828e --- /dev/null +++ b/reference/codegen/UCC2/index.html @@ -0,0 +1,11615 @@ + + + + + + + + UCC2 - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-17T18:50:02.565209
  • +
  • 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.8.0-40-generic
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.UCC2.energy(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:50:03.323312.

+

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.

+ +
+ Source code in ebcc/codegen/UCC2.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
def energy(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:50:03.323312.
+
+    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 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) * -1
+    tmp2 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp0 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1)))
+    tmp0 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1
+    tmp3 = np.copy(f.aa.ov) * 2
+    tmp3 += einsum(t1.aa, (0, 1), tmp2, (0, 2, 3, 1), (2, 3)) * -1
+    del tmp2
+    tmp1 = np.copy(f.bb.ov) * 2
+    tmp1 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) * 2
+    tmp1 += einsum(t1.bb, (0, 1), tmp0, (0, 2, 1, 3), (2, 3)) * -1
+    del tmp0
+    e_cc = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 3, 1), ()) * -1
+    e_cc += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 3), ())
+    e_cc += einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 3, 1), ()) * -1
+    e_cc += einsum(t1.bb, (0, 1), tmp1, (0, 1), ()) * 0.5
+    del tmp1
+    e_cc += einsum(t1.aa, (0, 1), tmp3, (0, 1), ()) * 0.5
+    del tmp3
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCC2.update_amps(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:50:13.269602.

+

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.

+ +
+ Source code in ebcc/codegen/UCC2.py +
 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
def update_amps(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:50:13.269602.
+
+    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()
+    tmp17 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 2, 1))
+    tmp2 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1))
+    tmp11 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1)))
+    tmp11 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1
+    tmp5 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) * -1
+    tmp5 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp74 = einsum(t1.bb, (0, 1), tmp17, (2, 3, 4, 1), (2, 0, 4, 3))
+    tmp72 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2))
+    tmp68 = einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp16 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1))
+    tmp33 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp37 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2))
+    tmp41 = einsum(tmp2, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 2, 1))
+    tmp12 = einsum(t1.bb, (0, 1), tmp11, (0, 2, 1, 3), (2, 3))
+    del tmp11
+    tmp10 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3))
+    tmp6 = einsum(tmp5, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2))
+    del tmp5
+    tmp1 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp47 = einsum(f.bb.ov, (0, 1), t1.bb, (0, 2), (1, 2))
+    tmp75 = einsum(tmp74, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4))
+    del tmp74
+    tmp65 = einsum(v.bbbb.oovv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2))
+    tmp51 = einsum(t1.bb, (0, 1), f.bb.ov, (2, 1), (2, 0))
+    tmp77 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2))
+    tmp61 = einsum(v.bbbb.oooo, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+    tmp79 = einsum(tmp72, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 1, 3))
+    tmp69 = einsum(t1.bb, (0, 1), tmp68, (2, 3, 4, 0), (2, 4, 3, 1))
+    del tmp68
+    tmp52 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp54 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 1, 2))
+    tmp56 = einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3))
+    tmp57 = einsum(t1.aa, (0, 1), tmp16, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp49 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2))
+    tmp26 = einsum(f.aa.ov, (0, 1), t1.aa, (0, 2), (1, 2))
+    tmp34 = einsum(tmp33, (0, 1, 2, 3), t1.aa, (3, 4), (0, 2, 1, 4))
+    del tmp33
+    tmp31 = einsum(f.aa.ov, (0, 1), t1.aa, (2, 1), (0, 2))
+    tmp39 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2))
+    tmp44 = einsum(t1.aa, (0, 1), tmp37, (2, 3, 1, 4), (0, 2, 3, 4))
+    tmp42 = einsum(tmp41, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 3, 4))
+    del tmp41
+    tmp29 = einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp23 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t1.aa, (3, 4), (0, 1, 2, 4))
+    tmp13 = np.copy(f.bb.ov)
+    tmp13 += tmp10
+    tmp13 += tmp12 * -1
+    del tmp12
+    tmp21 = np.copy(v.bbbb.ooov) * -1
+    tmp21 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3))
+    tmp14 = np.copy(v.aaaa.ooov)
+    tmp14 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) * -1
+    tmp7 = np.copy(f.aa.ov)
+    tmp7 += tmp1
+    tmp7 += tmp6 * -1
+    del tmp6
+    tmp48 = np.copy(f.bb.vv)
+    tmp48 += tmp47 * -1
+    tmp63 = einsum(f.bb.oo, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp73 = einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 0, 3, 4), (2, 3, 1, 4))
+    tmp76 = einsum(t1.bb, (0, 1), tmp75, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp75
+    tmp66 = einsum(t1.bb, (0, 1), tmp65, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp65
+    tmp64 = np.copy(f.bb.vv)
+    tmp64 += tmp47 * -1
+    del tmp47
+    tmp67 = einsum(tmp51, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4))
+    tmp78 = einsum(tmp77, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 1, 3))
+    del tmp77
+    tmp62 = einsum(t1.bb, (0, 1), tmp61, (2, 0, 3, 4), (3, 2, 4, 1))
+    del tmp61
+    tmp71 = einsum(t1.bb, (0, 1), tmp17, (2, 3, 0, 4), (2, 3, 1, 4))
+    tmp80 = einsum(t1.bb, (0, 1), tmp79, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp79
+    tmp70 = einsum(t1.bb, (0, 1), tmp69, (2, 0, 3, 4), (2, 3, 1, 4))
+    del tmp69
+    tmp53 = einsum(v.aabb.vvoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 3, 0))
+    tmp53 += einsum(t1.aa, (0, 1), tmp52, (2, 0, 3, 4), (2, 3, 4, 1)) * -1
+    del tmp52
+    tmp59 = einsum(v.aabb.oovv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2))
+    tmp60 = einsum(t1.aa, (0, 1), tmp54, (2, 3, 1, 4), (0, 2, 3, 4))
+    tmp58 = einsum(t1.aa, (0, 1), tmp56, (2, 3, 4, 1), (0, 2, 3, 4))
+    del tmp56
+    tmp58 += einsum(tmp57, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4)) * -1
+    del tmp57
+    tmp46 = einsum(t1.bb, (0, 1), v.aabb.oooo, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp50 = einsum(t1.bb, (0, 1), tmp49, (2, 3, 4, 0), (3, 2, 4, 1))
+    del tmp49
+    tmp27 = np.copy(f.aa.vv)
+    tmp27 += tmp26 * -1
+    tmp0 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp55 = np.copy(np.transpose(v.aabb.vvov, (2, 0, 1, 3)))
+    tmp55 += einsum(v.aabb.vvvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2))
+    tmp35 = einsum(tmp34, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3))
+    del tmp34
+    tmp32 = einsum(tmp31, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4))
+    tmp36 = einsum(tmp2, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    tmp25 = einsum(t2.aaaa, (0, 1, 2, 3), f.aa.oo, (4, 1), (4, 0, 2, 3))
+    tmp40 = einsum(tmp39, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3))
+    del tmp39
+    tmp38 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3))
+    tmp45 = einsum(tmp44, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    del tmp44
+    tmp28 = np.copy(f.aa.vv)
+    tmp28 += tmp26 * -1
+    del tmp26
+    tmp43 = einsum(tmp42, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    del tmp42
+    tmp30 = einsum(tmp29, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    del tmp29
+    tmp24 = einsum(t1.aa, (0, 1), tmp23, (2, 0, 3, 4), (3, 2, 4, 1))
+    del tmp23
+    tmp3 = np.copy(t2.abab)
+    tmp3 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3))
+    tmp19 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (2, 4))
+    tmp19 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (4, 0)) * 2
+    tmp19 += einsum(t1.bb, (0, 1), tmp13, (2, 1), (2, 0))
+    tmp22 = np.copy(f.bb.oo)
+    tmp22 += einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3))
+    tmp22 += einsum(tmp21, (0, 1, 2, 3), t1.bb, (2, 3), (1, 0)) * -1
+    del tmp21
+    tmp18 = np.copy(t2.bbbb) * 2
+    tmp18 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1))
+    tmp20 = np.copy(f.bb.vv)
+    tmp20 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3))
+    tmp15 = np.copy(f.aa.oo)
+    tmp15 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3))
+    tmp15 += einsum(tmp14, (0, 1, 2, 3), t1.aa, (0, 3), (2, 1)) * -1
+    del tmp14
+    tmp9 = np.copy(f.aa.vv)
+    tmp9 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3))
+    tmp8 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (4, 0)) * -1
+    tmp8 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (0, 4)) * 0.5
+    tmp8 += einsum(t1.aa, (0, 1), tmp7, (2, 1), (2, 0)) * 0.5
+    tmp4 = np.copy(t2.aaaa) * 2
+    tmp4 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3))
+    t2new.bbbb = np.copy(tmp62)
+    t2new.bbbb += np.transpose(tmp63, (1, 0, 3, 2)) * 2
+    t2new.bbbb += np.transpose(tmp62, (0, 1, 3, 2)) * -1
+    del tmp62
+    t2new.bbbb += np.transpose(tmp63, (0, 1, 3, 2)) * -2
+    del tmp63
+    t2new.bbbb += einsum(tmp64, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * -2
+    del tmp64
+    t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp48, (3, 4), (0, 1, 2, 4)) * 2
+    t2new.bbbb += np.transpose(tmp66, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp67, (1, 0, 3, 2)) * 2
+    t2new.bbbb += np.transpose(tmp70, (1, 0, 2, 3))
+    t2new.bbbb += np.transpose(tmp70, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp66, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp67, (0, 1, 3, 2)) * -2
+    del tmp67
+    t2new.bbbb += np.transpose(tmp66, (0, 1, 3, 2)) * -1
+    t2new.bbbb += tmp70 * -1
+    t2new.bbbb += np.transpose(tmp70, (0, 1, 3, 2))
+    del tmp70
+    t2new.bbbb += tmp66
+    del tmp66
+    t2new.bbbb += np.transpose(tmp71, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    t2new.bbbb += np.transpose(tmp72, (1, 0, 2, 3))
+    t2new.bbbb += np.transpose(tmp71, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(v.bbbb.ovov, (0, 2, 3, 1)) * -1
+    t2new.bbbb += tmp72 * -1
+    t2new.bbbb += np.transpose(tmp73, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp73, (1, 0, 3, 2)) * -1
+    t2new.bbbb += tmp73 * -1
+    t2new.bbbb += np.transpose(tmp73, (1, 0, 2, 3))
+    del tmp73
+    t2new.bbbb += np.transpose(tmp72, (0, 1, 3, 2))
+    t2new.bbbb += tmp76
+    t2new.bbbb += np.transpose(tmp76, (0, 1, 3, 2)) * -1
+    del tmp76
+    t2new.bbbb += tmp78
+    t2new.bbbb += np.transpose(tmp78, (0, 1, 3, 2)) * -1
+    del tmp78
+    t2new.bbbb += np.transpose(tmp80, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp80, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp72, (1, 0, 3, 2)) * -1
+    del tmp72
+    t2new.bbbb += tmp71 * -1
+    t2new.bbbb += np.transpose(tmp71, (1, 0, 2, 3))
+    del tmp71
+    t2new.bbbb += tmp80 * -1
+    t2new.bbbb += np.transpose(tmp80, (1, 0, 2, 3))
+    del tmp80
+    t2new.abab = einsum(f.bb.oo, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4)) * -1
+    t2new.abab += einsum(t1.aa, (0, 1), tmp46, (2, 0, 3, 4), (2, 3, 1, 4))
+    del tmp46
+    t2new.abab += einsum(f.aa.oo, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4)) * -1
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp27, (2, 4), (0, 1, 4, 3))
+    t2new.abab += einsum(tmp48, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1))
+    del tmp48
+    t2new.abab += einsum(tmp50, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3))
+    del tmp50
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp51, (1, 4), (0, 4, 2, 3)) * -1
+    del tmp51
+    t2new.abab += einsum(tmp31, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1
+    del tmp31
+    t2new.abab += einsum(t1.bb, (0, 1), tmp53, (2, 0, 3, 4), (2, 3, 4, 1)) * -1
+    del tmp53
+    t2new.abab += einsum(t1.bb, (0, 1), tmp16, (2, 3, 0, 4), (2, 3, 4, 1)) * -1
+    t2new.abab += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    t2new.abab += tmp54
+    del tmp54
+    t2new.abab += einsum(t1.bb, (0, 1), v.aabb.ovoo, (2, 3, 4, 0), (2, 4, 3, 1)) * -1
+    t2new.abab += einsum(v.aabb.ooov, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3)) * -1
+    t2new.abab += einsum(t1.aa, (0, 1), tmp55, (2, 1, 3, 4), (0, 2, 3, 4))
+    del tmp55
+    t2new.abab += einsum(t1.bb, (0, 1), tmp58, (2, 3, 0, 4), (2, 3, 4, 1)) * -1
+    del tmp58
+    t2new.abab += einsum(tmp0, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3)) * -1
+    t2new.abab += einsum(t1.aa, (0, 1), tmp59, (2, 0, 3, 4), (2, 3, 1, 4)) * -1
+    del tmp59
+    t2new.abab += einsum(t1.aa, (0, 1), tmp60, (2, 0, 3, 4), (2, 3, 1, 4)) * -1
+    del tmp60
+    t2new.aaaa = np.copy(tmp24)
+    t2new.aaaa += np.transpose(tmp25, (1, 0, 3, 2)) * 2
+    t2new.aaaa += np.transpose(tmp24, (0, 1, 3, 2)) * -1
+    del tmp24
+    t2new.aaaa += np.transpose(tmp25, (0, 1, 3, 2)) * -2
+    del tmp25
+    t2new.aaaa += einsum(tmp27, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 1, 4)) * -2
+    del tmp27
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp28, (3, 4), (0, 1, 2, 4)) * 2
+    del tmp28
+    t2new.aaaa += np.transpose(tmp30, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp32, (1, 0, 3, 2)) * 2
+    t2new.aaaa += np.transpose(tmp35, (1, 0, 2, 3))
+    t2new.aaaa += np.transpose(tmp35, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp30, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp32, (0, 1, 3, 2)) * -2
+    del tmp32
+    t2new.aaaa += np.transpose(tmp30, (0, 1, 3, 2)) * -1
+    t2new.aaaa += tmp35 * -1
+    t2new.aaaa += np.transpose(tmp35, (0, 1, 3, 2))
+    del tmp35
+    t2new.aaaa += tmp30
+    del tmp30
+    t2new.aaaa += np.transpose(tmp36, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    t2new.aaaa += np.transpose(tmp37, (1, 0, 2, 3))
+    t2new.aaaa += np.transpose(tmp36, (0, 1, 3, 2))
+    t2new.aaaa += np.transpose(v.aaaa.ovov, (0, 2, 3, 1)) * -1
+    t2new.aaaa += tmp37 * -1
+    t2new.aaaa += np.transpose(tmp38, (0, 1, 3, 2))
+    t2new.aaaa += np.transpose(tmp38, (1, 0, 3, 2)) * -1
+    t2new.aaaa += tmp38 * -1
+    t2new.aaaa += np.transpose(tmp38, (1, 0, 2, 3))
+    del tmp38
+    t2new.aaaa += np.transpose(tmp37, (0, 1, 3, 2))
+    t2new.aaaa += tmp40
+    t2new.aaaa += np.transpose(tmp40, (0, 1, 3, 2)) * -1
+    del tmp40
+    t2new.aaaa += tmp43
+    t2new.aaaa += np.transpose(tmp43, (0, 1, 3, 2)) * -1
+    del tmp43
+    t2new.aaaa += np.transpose(tmp45, (0, 1, 3, 2))
+    t2new.aaaa += np.transpose(tmp45, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp37, (1, 0, 3, 2)) * -1
+    del tmp37
+    t2new.aaaa += tmp36 * -1
+    t2new.aaaa += np.transpose(tmp36, (1, 0, 2, 3))
+    del tmp36
+    t2new.aaaa += tmp45 * -1
+    t2new.aaaa += np.transpose(tmp45, (1, 0, 2, 3))
+    del tmp45
+    t1new.bb = einsum(tmp16, (0, 1, 2, 3), t2.abab, (0, 2, 3, 4), (1, 4)) * -1
+    del tmp16
+    t1new.bb += einsum(tmp17, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 3), (0, 4)) * 2
+    del tmp17
+    t1new.bb += f.bb.ov
+    t1new.bb += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3))
+    t1new.bb += tmp10
+    del tmp10
+    t1new.bb += einsum(tmp3, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 3), (1, 4))
+    t1new.bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), tmp18, (0, 4, 3, 1), (4, 2)) * -1
+    del tmp18
+    t1new.bb += einsum(t1.bb, (0, 1), tmp19, (0, 2), (2, 1)) * -1
+    del tmp19
+    t1new.bb += einsum(tmp20, (0, 1), t1.bb, (2, 0), (2, 1))
+    del tmp20
+    t1new.bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.bbbb, (2, 1, 4, 3), (0, 4)) * 2
+    t1new.bb += einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 0, 3, 1), (2, 3)) * -1
+    t1new.bb += einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (0, 3, 1, 4), (2, 4)) * -1
+    t1new.bb += einsum(t2.abab, (0, 1, 2, 3), tmp7, (0, 2), (1, 3))
+    t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp13, (1, 3), (0, 2)) * 2
+    t1new.bb += einsum(t1.bb, (0, 1), tmp22, (0, 2), (2, 1)) * -1
+    del tmp22
+    t1new.aa = np.copy(f.aa.ov)
+    t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp0, (4, 0, 1, 3), (4, 2)) * -1
+    del tmp0
+    t1new.aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1))
+    t1new.aa += tmp1
+    del tmp1
+    t1new.aa += einsum(tmp2, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 3), (0, 4)) * 2
+    del tmp2
+    t1new.aa += einsum(tmp3, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 3), (0, 4))
+    del tmp3
+    t1new.aa += einsum(tmp4, (0, 1, 2, 3), v.aaaa.ovvv, (0, 3, 4, 2), (1, 4)) * -1
+    del tmp4
+    t1new.aa += einsum(tmp8, (0, 1), t1.aa, (0, 2), (1, 2)) * -2
+    del tmp8
+    t1new.aa += einsum(tmp9, (0, 1), t1.aa, (2, 0), (2, 1))
+    del tmp9
+    t1new.aa += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 3), (4, 2)) * -1
+    t1new.aa += einsum(v.aaaa.oovv, (0, 1, 2, 3), t1.aa, (1, 3), (0, 2)) * -1
+    t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 1, 0, 3), (4, 2)) * 2
+    t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp13, (1, 3), (0, 2))
+    del tmp13
+    t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp7, (1, 3), (0, 2)) * 2
+    del tmp7
+    t1new.aa += einsum(t1.aa, (0, 1), tmp15, (0, 2), (2, 1)) * -1
+    del tmp15
+
+    return {f"t1new": t1new, f"t2new": t2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCC2.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-17T18:51:15.236533.

+

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.

+ +
+ Source code in ebcc/codegen/UCC2.py +
 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
+1331
+1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
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-17T18:51:15.236533.
+
+    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()
+    tmp90 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1)))
+    tmp90 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1
+    tmp153 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) * -1
+    tmp153 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp7 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) * -1
+    tmp7 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp2 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1))
+    tmp188 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1)))
+    tmp188 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1
+    tmp207 = np.copy(v.bbbb.ovvv) * -1
+    tmp207 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3))
+    tmp176 = np.copy(v.bbbb.ovvv)
+    tmp176 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3)) * -1
+    tmp89 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3))
+    tmp91 = einsum(t1.bb, (0, 1), tmp90, (0, 2, 1, 3), (2, 3))
+    del tmp90
+    tmp154 = einsum(t1.aa, (0, 1), tmp153, (0, 2, 3, 1), (2, 3))
+    del tmp153
+    tmp6 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp145 = np.copy(v.aaaa.ovvv) * -1
+    tmp145 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3))
+    tmp8 = einsum(tmp7, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2))
+    del tmp7
+    tmp164 = np.copy(v.aaaa.ovvv)
+    tmp164 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3)) * -1
+    tmp41 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4))
+    tmp42 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0))
+    tmp40 = einsum(t1.bb, (0, 1), l1.bb, (1, 2), (2, 0))
+    tmp38 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0))
+    tmp36 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2))
+    tmp87 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 2, 1))
+    tmp14 = np.copy(np.transpose(v.aabb.ovoo, (0, 2, 3, 1)))
+    tmp14 += tmp2
+    tmp52 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0))
+    tmp51 = einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2))
+    tmp53 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4))
+    tmp0 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1))
+    tmp47 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2))
+    tmp189 = einsum(t1.bb, (0, 1), tmp188, (0, 2, 1, 3), (2, 3))
+    del tmp188
+    tmp208 = einsum(t1.bb, (0, 1), tmp207, (2, 3, 1, 4), (2, 0, 3, 4))
+    del tmp207
+    tmp186 = einsum(tmp176, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3))
+    tmp130 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3))
+    tmp109 = np.copy(v.bbbb.ooov)
+    tmp109 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1)) * -1
+    tmp92 = np.copy(f.bb.ov)
+    tmp92 += tmp89
+    tmp92 += tmp91 * -1
+    del tmp91
+    tmp118 = np.copy(v.bbbb.ovvv)
+    tmp118 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3)) * -1
+    tmp178 = einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (0, 3, 2, 4))
+    tmp155 = np.copy(f.aa.ov)
+    tmp155 += tmp6
+    tmp155 += tmp154 * -1
+    del tmp154
+    tmp151 = np.copy(v.aaaa.ooov)
+    tmp151 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) * -1
+    tmp84 = np.copy(v.aaaa.ovvv)
+    tmp84 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3)) * -1
+    tmp146 = einsum(t1.aa, (0, 1), tmp145, (2, 3, 1, 4), (2, 0, 3, 4))
+    del tmp145
+    tmp10 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 1, 2))
+    tmp59 = np.copy(v.aaaa.ooov)
+    tmp59 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) * -1
+    tmp9 = np.copy(f.aa.ov)
+    tmp9 += tmp6
+    tmp9 += tmp8 * -1
+    del tmp8
+    tmp165 = einsum(tmp164, (0, 1, 2, 3), t1.aa, (0, 2), (1, 3))
+    del tmp164
+    tmp83 = einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3))
+    tmp43 = np.copy(tmp40)
+    tmp43 += tmp41
+    del tmp41
+    tmp43 += tmp42 * 2
+    del tmp42
+    tmp115 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5))
+    tmp116 = einsum(t1.bb, (0, 1), tmp38, (2, 3, 4, 1), (3, 2, 4, 0))
+    tmp69 = einsum(tmp36, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 1, 2))
+    tmp68 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5))
+    tmp100 = einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp99 = einsum(tmp87, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2))
+    tmp97 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2))
+    tmp13 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5))
+    tmp12 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2))
+    tmp15 = einsum(t1.aa, (0, 1), tmp14, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp93 = einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3))
+    tmp4 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp54 = np.copy(tmp51) * 0.5
+    tmp54 += tmp52
+    tmp54 += tmp53 * 0.5
+    tmp49 = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (4, 0), (2, 4, 3, 1))
+    tmp21 = einsum(t1.aa, (0, 1), tmp0, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp22 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp65 = einsum(tmp47, (0, 1, 2, 3), t1.aa, (4, 3), (0, 1, 4, 2))
+    tmp64 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 5), (4, 5, 0, 1))
+    tmp190 = np.copy(f.bb.ov)
+    tmp190 += tmp89
+    tmp190 += tmp189 * -1
+    del tmp189
+    tmp108 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3))
+    tmp212 = np.copy(v.bbbb.ooov)
+    tmp212 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1)) * -1
+    tmp209 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1)))
+    tmp209 += v.bbbb.oovv * -1
+    tmp209 += np.transpose(tmp208, (1, 0, 2, 3)) * -1
+    del tmp208
+    tmp219 = np.copy(f.bb.vv)
+    tmp219 += np.transpose(tmp130, (1, 0))
+    tmp219 += tmp186 * -1
+    tmp203 = np.copy(v.bbbb.ovvv) * -1
+    tmp203 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3))
+    tmp110 = einsum(t1.bb, (0, 1), tmp109, (0, 2, 3, 1), (2, 3))
+    del tmp109
+    tmp111 = einsum(tmp92, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp131 = einsum(tmp118, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3))
+    tmp180 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3))
+    tmp179 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3)))
+    tmp179 += tmp178
+    tmp196 = np.copy(np.transpose(v.bbbb.ooov, (0, 2, 1, 3)))
+    tmp196 += tmp87
+    tmp156 = einsum(t1.aa, (0, 1), tmp155, (2, 1), (2, 0))
+    tmp152 = einsum(tmp151, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2))
+    del tmp151
+    tmp58 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp85 = einsum(tmp84, (0, 1, 2, 3), t1.aa, (0, 2), (1, 3))
+    del tmp84
+    tmp143 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1))
+    tmp3 = np.copy(np.transpose(v.aabb.ovoo, (0, 2, 3, 1)))
+    tmp3 += np.transpose(tmp2, (0, 2, 1, 3))
+    tmp147 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1)))
+    tmp147 += v.aaaa.oovv * -1
+    tmp147 += np.transpose(tmp146, (1, 0, 2, 3)) * -1
+    tmp134 = np.copy(np.transpose(v.aaaa.ooov, (0, 2, 1, 3)))
+    tmp134 += tmp0
+    tmp149 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3)))
+    tmp149 += tmp10
+    tmp60 = einsum(tmp59, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2))
+    del tmp59
+    tmp61 = einsum(t1.aa, (0, 1), tmp9, (2, 1), (0, 2))
+    tmp166 = np.copy(f.aa.vv)
+    tmp166 += np.transpose(tmp83, (1, 0))
+    tmp166 += tmp165 * -1
+    del tmp165
+    tmp29 = np.copy(v.aaaa.ovvv) * -1
+    tmp29 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3))
+    tmp35 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2))
+    tmp39 = einsum(t2.bbbb, (0, 1, 2, 3), tmp38, (1, 0, 4, 3), (4, 2))
+    tmp106 = einsum(t1.bb, (0, 1), tmp43, (0, 2), (2, 1)) * 0.5
+    tmp37 = einsum(tmp36, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4))
+    tmp34 = einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3))
+    tmp123 = einsum(t2.abab, (0, 1, 2, 3), tmp36, (0, 4, 5, 2), (4, 5, 1, 3))
+    tmp125 = np.copy(np.transpose(tmp115, (1, 0, 3, 2)))
+    tmp125 += np.transpose(tmp116, (0, 1, 3, 2)) * -1
+    tmp124 = einsum(t2.bbbb, (0, 1, 2, 3), tmp38, (4, 1, 5, 3), (4, 5, 0, 2)) * -1
+    tmp70 = np.copy(tmp68)
+    tmp70 += tmp69
+    tmp96 = np.copy(v.bbbb.ooov)
+    tmp96 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) * -1
+    tmp96 += tmp87 * -1
+    tmp96 += np.transpose(tmp87, (0, 2, 1, 3))
+    tmp101 = np.copy(v.bbbb.oooo)
+    tmp101 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp101 += np.transpose(tmp99, (2, 1, 3, 0)) * -1
+    tmp101 += np.transpose(tmp100, (2, 0, 3, 1)) * -1
+    tmp101 += np.transpose(tmp100, (3, 0, 2, 1))
+    tmp98 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3)))
+    tmp98 += v.bbbb.oovv * -1
+    tmp98 += np.transpose(tmp97, (0, 1, 3, 2))
+    tmp25 = einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp26 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4))
+    tmp27 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4))
+    tmp32 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 0, 1), (4, 2))
+    tmp31 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4))
+    tmp30 = einsum(t1.bb, (0, 1), l1.bb, (2, 0), (2, 1))
+    tmp16 = np.copy(v.aabb.oooo)
+    tmp16 += np.transpose(tmp12, (1, 0, 3, 2))
+    tmp16 += np.transpose(tmp13, (1, 0, 3, 2))
+    del tmp13
+    tmp16 += np.transpose(tmp15, (1, 0, 3, 2))
+    del tmp15
+    tmp94 = np.copy(np.transpose(v.aabb.vvoo, (2, 3, 0, 1)))
+    tmp94 += np.transpose(tmp93, (1, 0, 3, 2))
+    tmp5 = np.copy(v.aabb.ooov)
+    tmp5 += np.transpose(tmp4, (1, 0, 2, 3))
+    tmp88 = np.copy(v.bbbb.ooov) * -1
+    tmp88 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1))
+    tmp88 += np.transpose(tmp87, (1, 0, 2, 3))
+    tmp88 += np.transpose(tmp87, (2, 0, 1, 3)) * -1
+    tmp48 = einsum(t2.aaaa, (0, 1, 2, 3), tmp47, (1, 0, 4, 3), (4, 2))
+    tmp55 = einsum(tmp54, (0, 1), t1.aa, (0, 2), (1, 2)) * 2
+    tmp46 = einsum(t2.abab, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2))
+    tmp45 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3))
+    tmp50 = einsum(t2.abab, (0, 1, 2, 3), tmp49, (0, 4, 1, 3), (4, 2))
+    tmp77 = einsum(tmp49, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp76 = einsum(t2.aaaa, (0, 1, 2, 3), tmp47, (4, 1, 5, 3), (4, 5, 0, 2)) * -1
+    tmp23 = np.copy(v.aaaa.oooo)
+    tmp23 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (4, 0, 5, 1)) * -1
+    tmp23 += np.transpose(tmp21, (3, 1, 2, 0))
+    tmp23 += np.transpose(tmp22, (2, 1, 3, 0))
+    tmp23 += np.transpose(tmp22, (3, 2, 1, 0)) * -1
+    tmp18 = np.copy(v.aaaa.ooov)
+    tmp18 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3)) * -1
+    tmp18 += tmp0 * -1
+    tmp18 += np.transpose(tmp0, (0, 2, 1, 3))
+    tmp20 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3)))
+    tmp20 += v.aaaa.oovv * -1
+    tmp20 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1))
+    tmp19 = np.copy(v.aabb.ooov)
+    tmp19 += tmp4
+    tmp11 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3)))
+    tmp11 += tmp10
+    del tmp10
+    tmp1 = np.copy(v.aaaa.ooov) * -1
+    tmp1 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1))
+    tmp1 += np.transpose(tmp0, (1, 0, 2, 3))
+    tmp1 += np.transpose(tmp0, (2, 0, 1, 3)) * -1
+    tmp78 = np.copy(np.transpose(tmp64, (1, 0, 3, 2)))
+    tmp78 += np.transpose(tmp65, (0, 1, 3, 2)) * -1
+    tmp218 = einsum(tmp190, (0, 1), tmp38, (2, 3, 0, 4), (2, 3, 1, 4))
+    tmp213 = np.copy(f.bb.oo)
+    tmp213 += np.transpose(tmp108, (1, 0))
+    tmp213 += einsum(tmp212, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2)) * -1
+    del tmp212
+    tmp213 += einsum(t1.bb, (0, 1), tmp190, (2, 1), (0, 2))
+    tmp225 = einsum(tmp38, (0, 1, 2, 3), tmp87, (1, 2, 4, 5), (0, 4, 3, 5))
+    tmp210 = einsum(tmp209, (0, 1, 2, 3), l2.bbbb, (4, 3, 5, 0), (1, 5, 2, 4))
+    del tmp209
+    tmp194 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 1, 0, 3), (2, 3))
+    tmp220 = einsum(l2.bbbb, (0, 1, 2, 3), tmp219, (4, 1), (2, 3, 4, 0)) * -1
+    del tmp219
+    tmp205 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3)))
+    tmp205 += tmp178
+    del tmp178
+    tmp204 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1)))
+    tmp204 += v.bbbb.oovv * -1
+    tmp204 += einsum(tmp203, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 1, 3)) * -1
+    del tmp203
+    tmp199 = einsum(tmp49, (0, 1, 2, 3), v.aabb.ooov, (1, 0, 4, 5), (2, 4, 3, 5))
+    tmp198 = einsum(tmp38, (0, 1, 2, 3), v.bbbb.ovoo, (4, 5, 2, 0), (1, 4, 3, 5)) * -1
+    tmp183 = np.copy(f.bb.oo)
+    tmp183 += np.transpose(tmp108, (1, 0))
+    tmp183 += tmp110 * -1
+    tmp183 += tmp111
+    tmp217 = np.copy(f.bb.vv)
+    tmp217 += np.transpose(tmp130, (1, 0))
+    tmp217 += tmp131 * -1
+    tmp221 = einsum(tmp100, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5))
+    del tmp100
+    tmp223 = np.copy(v.bbbb.ooov)
+    tmp223 += np.transpose(tmp87, (0, 2, 1, 3))
+    tmp226 = einsum(tmp38, (0, 1, 2, 3), v.bbbb.ooov, (4, 0, 2, 5), (1, 4, 3, 5)) * -1
+    tmp201 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), l1.bb, (3, 4), (4, 0, 1, 2))
+    tmp216 = einsum(tmp38, (0, 1, 2, 3), v.bbbb.ovvv, (2, 4, 5, 3), (1, 0, 4, 5))
+    tmp181 = np.copy(f.bb.ov)
+    tmp181 += tmp89
+    tmp181 += tmp180
+    tmp200 = einsum(tmp38, (0, 1, 2, 3), tmp87, (0, 4, 2, 5), (1, 4, 3, 5)) * -1
+    tmp215 = einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 0, 5, 1), (2, 3, 4, 5))
+    tmp214 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp116, (4, 5, 2, 0), (4, 5, 3, 1))
+    tmp202 = einsum(tmp4, (0, 1, 2, 3), tmp49, (0, 1, 4, 5), (4, 2, 5, 3))
+    tmp195 = np.copy(v.bbbb.ooov)
+    tmp195 += np.transpose(tmp87, (0, 2, 1, 3))
+    tmp211 = einsum(tmp179, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (1, 5, 3, 4))
+    tmp224 = einsum(tmp40, (0, 1), v.bbbb.ovov, (2, 3, 1, 4), (0, 2, 3, 4))
+    tmp206 = np.copy(f.bb.ov)
+    tmp206 += tmp89
+    del tmp89
+    tmp206 += tmp180
+    del tmp180
+    tmp222 = np.copy(v.bbbb.oooo)
+    tmp222 += np.transpose(tmp99, (0, 2, 3, 1))
+    del tmp99
+    tmp197 = einsum(tmp196, (0, 1, 2, 3), l1.bb, (4, 0), (1, 2, 3, 4))
+    del tmp196
+    tmp177 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3)))
+    tmp177 += v.bbbb.oovv * -1
+    tmp177 += einsum(tmp176, (0, 1, 2, 3), t1.bb, (4, 1), (4, 0, 3, 2)) * -1
+    del tmp176
+    tmp182 = np.copy(np.transpose(v.aabb.vvoo, (2, 3, 0, 1)))
+    tmp182 += np.transpose(tmp93, (0, 1, 3, 2))
+    del tmp93
+    tmp157 = np.copy(f.aa.oo)
+    tmp157 += np.transpose(tmp58, (1, 0))
+    tmp157 += tmp152 * -1
+    del tmp152
+    tmp157 += np.transpose(tmp156, (1, 0))
+    del tmp156
+    tmp86 = np.copy(f.aa.vv)
+    tmp86 += np.transpose(tmp83, (1, 0))
+    tmp86 += np.transpose(tmp85, (1, 0)) * -1
+    tmp185 = einsum(tmp69, (0, 1, 2, 3), v.aabb.ovov, (1, 4, 3, 5), (0, 2, 4, 5))
+    tmp171 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 1), (0, 3))
+    tmp193 = np.copy(v.aabb.oovv)
+    tmp193 += einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp187 = np.copy(f.bb.vv)
+    tmp187 += np.transpose(tmp130, (1, 0))
+    tmp187 += np.transpose(tmp186, (1, 0)) * -1
+    del tmp186
+    tmp158 = np.copy(f.aa.ov)
+    tmp158 += tmp143
+    tmp158 += tmp6
+    tmp184 = einsum(v.aabb.vvvv, (0, 1, 2, 3), l2.abab, (1, 3, 4, 5), (4, 5, 0, 2))
+    tmp191 = np.copy(v.aabb.ooov)
+    tmp191 += tmp4
+    tmp192 = np.copy(v.aabb.oooo)
+    tmp192 += np.transpose(tmp12, (1, 0, 2, 3))
+    del tmp12
+    tmp192 += einsum(t1.aa, (0, 1), tmp3, (2, 3, 4, 1), (0, 2, 4, 3))
+    tmp175 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3)))
+    tmp175 += v.aaaa.oovv * -1
+    tmp175 += np.transpose(tmp146, (1, 0, 3, 2)) * -1
+    del tmp146
+    tmp138 = einsum(tmp2, (0, 1, 2, 3), tmp36, (4, 1, 2, 5), (4, 0, 5, 3))
+    tmp168 = einsum(tmp22, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5))
+    del tmp22
+    tmp148 = einsum(tmp147, (0, 1, 2, 3), l2.aaaa, (4, 3, 5, 0), (1, 5, 2, 4))
+    del tmp147
+    tmp135 = einsum(tmp134, (0, 1, 2, 3), l1.aa, (4, 0), (1, 2, 3, 4))
+    del tmp134
+    tmp169 = np.copy(v.aaaa.oooo)
+    tmp169 += np.transpose(tmp21, (0, 3, 1, 2)) * -1
+    del tmp21
+    tmp136 = einsum(tmp0, (0, 1, 2, 3), tmp47, (0, 4, 2, 5), (4, 1, 5, 3)) * -1
+    tmp133 = np.copy(v.aaaa.ooov)
+    tmp133 += np.transpose(tmp0, (0, 2, 1, 3))
+    tmp137 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), l1.aa, (3, 4), (4, 0, 1, 2))
+    tmp144 = np.copy(f.aa.ov)
+    tmp144 += tmp143
+    del tmp143
+    tmp144 += tmp6
+    del tmp6
+    tmp140 = einsum(tmp47, (0, 1, 2, 3), v.aaaa.ovoo, (4, 5, 2, 0), (1, 4, 3, 5)) * -1
+    tmp170 = np.copy(v.aaaa.ooov)
+    tmp170 += np.transpose(tmp0, (0, 2, 1, 3))
+    tmp174 = einsum(tmp47, (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 2, 5), (1, 4, 3, 5)) * -1
+    tmp139 = einsum(tmp36, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 2, 1), (0, 4, 3, 5))
+    tmp150 = einsum(l2.abab, (0, 1, 2, 3), tmp149, (4, 3, 5, 1), (4, 2, 5, 0))
+    tmp142 = np.copy(f.aa.oo)
+    tmp142 += np.transpose(tmp58, (1, 0))
+    tmp142 += tmp60 * -1
+    tmp142 += tmp61
+    tmp172 = einsum(tmp51, (0, 1), v.aaaa.ovov, (2, 3, 1, 4), (0, 2, 3, 4))
+    tmp162 = np.copy(f.aa.vv)
+    tmp162 += np.transpose(tmp83, (1, 0))
+    del tmp83
+    tmp162 += tmp85 * -1
+    del tmp85
+    tmp160 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp65, (4, 5, 2, 0), (4, 5, 3, 1))
+    tmp159 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), l2.aaaa, (3, 1, 4, 5), (4, 5, 0, 2)) * -1
+    tmp173 = einsum(tmp0, (0, 1, 2, 3), tmp47, (4, 0, 1, 5), (4, 2, 5, 3))
+    tmp167 = einsum(l2.aaaa, (0, 1, 2, 3), tmp166, (4, 1), (2, 3, 4, 0)) * -1
+    del tmp166
+    tmp163 = einsum(tmp47, (0, 1, 2, 3), tmp155, (2, 4), (0, 1, 4, 3))
+    tmp161 = einsum(tmp47, (0, 1, 2, 3), v.aaaa.ovvv, (2, 4, 5, 3), (1, 0, 4, 5))
+    tmp141 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1)))
+    tmp141 += v.aaaa.oovv * -1
+    tmp141 += einsum(tmp29, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3)) * -1
+    tmp129 = np.copy(t1.bb) * -0.5
+    tmp129 += tmp34 * -0.5
+    tmp129 += tmp35 * -1
+    tmp129 += tmp37 * 0.5
+    tmp129 += tmp39
+    tmp129 += tmp106
+    tmp126 = np.copy(np.transpose(tmp38, (1, 0, 2, 3))) * -2
+    tmp126 += np.transpose(tmp123, (2, 0, 1, 3))
+    tmp126 += np.transpose(tmp124, (2, 0, 1, 3)) * 4
+    tmp126 += einsum(tmp125, (0, 1, 2, 3), t1.bb, (0, 4), (3, 1, 2, 4)) * 2
+    del tmp125
+    tmp120 = einsum(t2.abab, (0, 1, 2, 3), l1.bb, (3, 4), (0, 4, 1, 2)) * 0.5
+    tmp120 += tmp36 * 0.5
+    tmp120 += einsum(t2.aaaa, (0, 1, 2, 3), tmp36, (1, 4, 5, 3), (0, 4, 5, 2))
+    tmp120 += einsum(t2.abab, (0, 1, 2, 3), tmp49, (0, 4, 5, 3), (4, 5, 1, 2)) * -0.5
+    tmp120 += einsum(t2.abab, (0, 1, 2, 3), tmp38, (4, 1, 5, 3), (0, 4, 5, 2)) * -1
+    tmp120 += einsum(t1.aa, (0, 1), tmp70, (0, 2, 3, 4), (2, 3, 4, 1)) * -0.5
+    tmp127 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 4), (4, 0, 1, 2)) * 2
+    tmp127 += np.transpose(tmp123, (0, 2, 1, 3))
+    del tmp123
+    tmp127 += np.transpose(tmp124, (0, 2, 1, 3)) * 4
+    del tmp124
+    tmp132 = np.copy(f.bb.vv)
+    tmp132 += np.transpose(tmp130, (1, 0))
+    del tmp130
+    tmp132 += np.transpose(tmp131, (1, 0)) * -1
+    del tmp131
+    tmp102 = np.copy(v.bbbb.ooov) * -1
+    tmp102 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 3, 5, 2), (4, 0, 1, 5))
+    tmp102 += einsum(t2.bbbb, (0, 1, 2, 3), tmp96, (4, 5, 1, 3), (5, 0, 4, 2)) * 2
+    del tmp96
+    tmp102 += einsum(tmp14, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (2, 4, 1, 5))
+    tmp102 += einsum(t2.bbbb, (0, 1, 2, 3), tmp92, (4, 3), (4, 0, 1, 2))
+    tmp102 += einsum(tmp98, (0, 1, 2, 3), t1.bb, (4, 3), (1, 0, 4, 2))
+    del tmp98
+    tmp102 += einsum(t1.bb, (0, 1), tmp101, (0, 2, 3, 4), (3, 4, 2, 1))
+    del tmp101
+    tmp105 = np.copy(tmp25)
+    tmp105 += tmp26 * 2
+    tmp105 += tmp27
+    tmp121 = np.copy(np.transpose(l2.bbbb, (2, 3, 0, 1))) * -1
+    tmp121 += einsum(t1.bb, (0, 1), tmp38, (0, 2, 3, 4), (2, 3, 4, 1)) * -1
+    tmp117 = np.copy(np.transpose(l2.abab, (2, 3, 0, 1)))
+    tmp117 += einsum(t2.aaaa, (0, 1, 2, 3), l2.abab, (3, 4, 1, 5), (0, 5, 2, 4)) * 2
+    tmp117 += einsum(tmp49, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3)) * -1
+    tmp117 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (4, 2, 5, 0)) * 2
+    tmp103 = np.copy(tmp30) * 0.5
+    tmp103 += tmp31 * 0.5
+    tmp103 += tmp32
+    tmp95 = np.copy(np.transpose(v.aabb.ovoo, (0, 2, 3, 1)))
+    tmp95 += tmp2
+    tmp95 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 3), (0, 1, 5, 4))
+    tmp95 += einsum(t2.abab, (0, 1, 2, 3), tmp88, (1, 4, 5, 3), (0, 4, 5, 2))
+    del tmp88
+    tmp95 += einsum(tmp3, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 2, 1, 5)) * 2
+    tmp95 += einsum(t2.abab, (0, 1, 2, 3), tmp5, (0, 4, 5, 3), (4, 1, 5, 2)) * -1
+    tmp95 += einsum(tmp92, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp95 += einsum(t1.aa, (0, 1), tmp94, (2, 3, 1, 4), (0, 3, 2, 4))
+    del tmp94
+    tmp95 += einsum(tmp16, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 2, 4)) * -1
+    tmp56 = np.copy(np.transpose(l1.aa, (1, 0))) * -1
+    tmp56 += t1.aa * -1
+    tmp56 += tmp45 * -2
+    tmp56 += tmp46 * -1
+    tmp56 += tmp48 * 2
+    tmp56 += tmp50
+    tmp56 += tmp55
+    tmp113 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2))
+    tmp112 = np.copy(f.bb.oo)
+    tmp112 += np.transpose(tmp108, (1, 0))
+    del tmp108
+    tmp112 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2))
+    tmp112 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4)) * 2
+    tmp112 += tmp110 * -1
+    del tmp110
+    tmp112 += tmp111
+    del tmp111
+    tmp119 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5))
+    tmp119 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) * 4
+    tmp114 = einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp107 = np.copy(np.transpose(l1.bb, (1, 0))) * -0.5
+    tmp107 += t1.bb * -0.5
+    tmp107 += tmp34 * -0.5
+    tmp107 += tmp35 * -1
+    tmp107 += tmp37 * 0.5
+    tmp107 += tmp39
+    tmp107 += tmp106
+    del tmp106
+    tmp104 = np.copy(v.bbbb.ovvv)
+    tmp104 += np.transpose(v.bbbb.ovvv, (0, 2, 3, 1)) * -1
+    tmp122 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5))
+    tmp122 += einsum(t1.aa, (0, 1), tmp36, (0, 2, 3, 4), (2, 3, 1, 4))
+    tmp128 = np.copy(tmp68)
+    tmp128 += np.transpose(tmp69, (1, 0, 2, 3))
+    tmp44 = np.copy(np.transpose(l1.bb, (1, 0))) * -1
+    tmp44 += t1.bb * -1
+    tmp44 += tmp34 * -1
+    del tmp34
+    tmp44 += tmp35 * -2
+    del tmp35
+    tmp44 += tmp37
+    del tmp37
+    tmp44 += tmp39 * 2
+    del tmp39
+    tmp44 += einsum(t1.bb, (0, 1), tmp43, (0, 2), (2, 1))
+    tmp63 = einsum(v.aabb.vvvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2))
+    tmp73 = np.copy(v.aaaa.ovvv)
+    tmp73 += einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 4, 3)) * -1
+    tmp33 = np.copy(tmp30)
+    del tmp30
+    tmp33 += tmp31
+    del tmp31
+    tmp33 += tmp32 * 2
+    del tmp32
+    tmp67 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp67 += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5)) * 0.25
+    tmp28 = np.copy(tmp25) * 0.5
+    del tmp25
+    tmp28 += tmp26
+    del tmp26
+    tmp28 += tmp27 * 0.5
+    del tmp27
+    tmp81 = np.copy(tmp68)
+    del tmp68
+    tmp81 += np.transpose(tmp69, (0, 1, 3, 2))
+    del tmp69
+    tmp80 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4))
+    tmp80 += np.transpose(tmp76, (0, 2, 1, 3)) * 2
+    tmp80 += np.transpose(tmp77, (0, 2, 1, 3)) * 0.5
+    tmp24 = np.copy(np.transpose(v.aaaa.ooov, (0, 2, 1, 3))) * 0.5
+    tmp24 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (4, 0, 1, 5)) * -0.5
+    tmp24 += einsum(t2.aaaa, (0, 1, 2, 3), tmp18, (4, 5, 1, 3), (5, 0, 4, 2))
+    del tmp18
+    tmp24 += einsum(t2.abab, (0, 1, 2, 3), tmp19, (4, 5, 1, 3), (5, 0, 4, 2)) * 0.5
+    del tmp19
+    tmp24 += einsum(t2.aaaa, (0, 1, 2, 3), tmp9, (4, 3), (4, 0, 1, 2)) * 0.5
+    tmp24 += einsum(t1.aa, (0, 1), tmp20, (2, 3, 4, 1), (3, 2, 0, 4)) * 0.5
+    del tmp20
+    tmp24 += einsum(tmp23, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 3, 4)) * -0.5
+    del tmp23
+    tmp74 = einsum(t1.aa, (0, 1), tmp47, (2, 0, 3, 4), (2, 3, 4, 1))
+    tmp66 = np.copy(np.transpose(l2.abab, (2, 3, 0, 1)))
+    tmp66 += einsum(t2.abab, (0, 1, 2, 3), l2.aaaa, (4, 2, 5, 0), (5, 1, 4, 3)) * 2
+    tmp66 += einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) * 2
+    tmp66 += einsum(t1.bb, (0, 1), tmp36, (2, 0, 3, 4), (2, 3, 4, 1)) * -1
+    tmp82 = np.copy(t1.aa) * -1
+    tmp82 += tmp45 * -2
+    del tmp45
+    tmp82 += tmp46 * -1
+    del tmp46
+    tmp82 += tmp48 * 2
+    del tmp48
+    tmp82 += tmp50
+    del tmp50
+    tmp82 += tmp55
+    del tmp55
+    tmp57 = np.copy(tmp51)
+    tmp57 += tmp52 * 2
+    del tmp52
+    tmp57 += tmp53
+    del tmp53
+    tmp17 = np.copy(v.aabb.ooov)
+    tmp17 += einsum(v.aabb.oovv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2))
+    tmp17 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (0, 4, 1, 5))
+    tmp17 += einsum(t2.abab, (0, 1, 2, 3), tmp1, (0, 4, 5, 2), (4, 5, 1, 3))
+    del tmp1
+    tmp17 += einsum(tmp3, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (4, 0, 2, 5)) * -1
+    del tmp3
+    tmp17 += einsum(t2.bbbb, (0, 1, 2, 3), tmp5, (4, 5, 1, 3), (5, 4, 0, 2)) * 2
+    del tmp5
+    tmp17 += einsum(t2.abab, (0, 1, 2, 3), tmp9, (4, 2), (0, 4, 1, 3))
+    tmp17 += einsum(t1.aa, (0, 1), tmp11, (2, 3, 1, 4), (0, 2, 3, 4))
+    tmp17 += einsum(t1.bb, (0, 1), tmp16, (2, 3, 0, 4), (3, 2, 4, 1)) * -1
+    del tmp16
+    tmp79 = np.copy(np.transpose(tmp47, (1, 0, 2, 3))) * -1
+    tmp79 += np.transpose(tmp76, (2, 0, 1, 3)) * 2
+    del tmp76
+    tmp79 += np.transpose(tmp77, (2, 0, 1, 3)) * 0.5
+    del tmp77
+    tmp79 += einsum(t1.aa, (0, 1), tmp78, (0, 2, 3, 4), (4, 2, 3, 1))
+    del tmp78
+    tmp72 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (2, 4, 1, 5))
+    tmp72 += einsum(tmp49, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3))
+    tmp62 = np.copy(f.aa.oo)
+    tmp62 += np.transpose(tmp58, (1, 0))
+    del tmp58
+    tmp62 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4)) * 2
+    tmp62 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4))
+    tmp62 += tmp60 * -1
+    del tmp60
+    tmp62 += tmp61
+    del tmp61
+    tmp75 = np.copy(v.aaaa.ovvv) * -1
+    tmp75 += np.transpose(v.aaaa.ovvv, (0, 2, 3, 1))
+    tmp71 = einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (1, 2, 3, 4))
+    tmp71 += tmp49
+    tmp71 += einsum(tmp47, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 2, 4, 5)) * -2
+    tmp71 += einsum(t2.bbbb, (0, 1, 2, 3), tmp49, (4, 5, 1, 3), (4, 5, 0, 2)) * 2
+    tmp71 += einsum(tmp36, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (0, 4, 2, 5)) * -1
+    tmp71 += einsum(t1.bb, (0, 1), tmp70, (2, 3, 0, 4), (2, 3, 4, 1)) * -1
+    del tmp70
+    l2new.bbbb = np.copy(np.transpose(v.bbbb.ovov, (1, 3, 0, 2)))
+    l2new.bbbb += einsum(tmp195, (0, 1, 2, 3), l1.bb, (4, 0), (3, 4, 2, 1)) * -1
+    del tmp195
+    l2new.bbbb += np.transpose(v.bbbb.ovov, (3, 1, 0, 2)) * -1
+    l2new.bbbb += np.transpose(tmp197, (3, 2, 0, 1))
+    l2new.bbbb += np.transpose(tmp198, (3, 2, 0, 1)) * 2
+    l2new.bbbb += np.transpose(tmp199, (3, 2, 0, 1))
+    l2new.bbbb += np.transpose(tmp200, (3, 2, 0, 1)) * 2
+    l2new.bbbb += np.transpose(tmp201, (2, 3, 0, 1)) * -1
+    l2new.bbbb += np.transpose(tmp202, (3, 2, 0, 1))
+    l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp204, (3, 4, 5, 1), (5, 0, 2, 4)) * -2
+    del tmp204
+    l2new.bbbb += einsum(l2.abab, (0, 1, 2, 3), tmp205, (2, 4, 0, 5), (5, 1, 3, 4)) * -1
+    del tmp205
+    l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp183, (3, 4), (0, 1, 2, 4)) * -2
+    l2new.bbbb += einsum(tmp206, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0)) * -1
+    del tmp206
+    l2new.bbbb += np.transpose(tmp198, (3, 2, 1, 0)) * -2
+    l2new.bbbb += np.transpose(tmp199, (3, 2, 1, 0)) * -1
+    l2new.bbbb += np.transpose(tmp200, (3, 2, 1, 0)) * -2
+    l2new.bbbb += np.transpose(tmp201, (2, 3, 1, 0))
+    l2new.bbbb += np.transpose(tmp202, (3, 2, 1, 0)) * -1
+    l2new.bbbb += np.transpose(tmp210, (2, 3, 0, 1)) * 2
+    l2new.bbbb += np.transpose(tmp211, (2, 3, 0, 1))
+    l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp213, (3, 4), (0, 1, 4, 2)) * 2
+    del tmp213
+    l2new.bbbb += einsum(tmp181, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3))
+    l2new.bbbb += np.transpose(tmp198, (2, 3, 0, 1)) * -2
+    l2new.bbbb += np.transpose(tmp199, (2, 3, 0, 1)) * -1
+    l2new.bbbb += np.transpose(tmp200, (2, 3, 0, 1)) * -2
+    l2new.bbbb += np.transpose(tmp201, (3, 2, 0, 1))
+    l2new.bbbb += np.transpose(tmp202, (2, 3, 0, 1)) * -1
+    l2new.bbbb += np.transpose(tmp210, (3, 2, 1, 0)) * 2
+    l2new.bbbb += np.transpose(tmp211, (3, 2, 1, 0))
+    l2new.bbbb += einsum(tmp181, (0, 1), l1.bb, (2, 3), (2, 1, 3, 0))
+    l2new.bbbb += np.transpose(tmp198, (2, 3, 1, 0)) * 2
+    del tmp198
+    l2new.bbbb += np.transpose(tmp199, (2, 3, 1, 0))
+    del tmp199
+    l2new.bbbb += np.transpose(tmp200, (2, 3, 1, 0)) * 2
+    del tmp200
+    l2new.bbbb += np.transpose(tmp201, (3, 2, 1, 0)) * -1
+    del tmp201
+    l2new.bbbb += np.transpose(tmp202, (2, 3, 1, 0))
+    del tmp202
+    l2new.bbbb += np.transpose(tmp210, (3, 2, 0, 1)) * -2
+    del tmp210
+    l2new.bbbb += np.transpose(tmp211, (3, 2, 0, 1)) * -1
+    del tmp211
+    l2new.bbbb += einsum(tmp181, (0, 1), l1.bb, (2, 3), (2, 1, 0, 3)) * -1
+    l2new.bbbb += np.transpose(tmp214, (3, 2, 1, 0)) * 2
+    del tmp214
+    l2new.bbbb += np.transpose(tmp215, (3, 2, 1, 0)) * 2
+    del tmp215
+    l2new.bbbb += np.transpose(tmp216, (2, 3, 1, 0)) * 2
+    l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp217, (4, 1), (4, 0, 2, 3)) * -1
+    del tmp217
+    l2new.bbbb += np.transpose(tmp218, (2, 3, 1, 0)) * -2
+    l2new.bbbb += np.transpose(tmp220, (2, 3, 1, 0)) * -1
+    l2new.bbbb += np.transpose(tmp216, (3, 2, 1, 0)) * -2
+    del tmp216
+    l2new.bbbb += np.transpose(tmp220, (3, 2, 1, 0)) * 2
+    del tmp220
+    l2new.bbbb += np.transpose(tmp218, (3, 2, 1, 0)) * 2
+    del tmp218
+    l2new.bbbb += np.transpose(tmp221, (2, 3, 0, 1)) * -2
+    l2new.bbbb += np.transpose(tmp221, (2, 3, 1, 0)) * 2
+    del tmp221
+    l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp222, (2, 4, 5, 3), (0, 1, 5, 4)) * -2
+    del tmp222
+    l2new.bbbb += einsum(tmp223, (0, 1, 2, 3), l1.bb, (4, 0), (3, 4, 1, 2))
+    del tmp223
+    l2new.bbbb += np.transpose(tmp197, (3, 2, 1, 0)) * -1
+    del tmp197
+    l2new.bbbb += einsum(tmp194, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0))
+    l2new.bbbb += np.transpose(tmp224, (3, 2, 0, 1)) * -1
+    l2new.bbbb += np.transpose(tmp225, (3, 2, 0, 1)) * -2
+    l2new.bbbb += np.transpose(tmp226, (3, 2, 0, 1)) * -2
+    l2new.bbbb += np.transpose(tmp224, (2, 3, 0, 1))
+    l2new.bbbb += einsum(tmp194, (0, 1), l1.bb, (2, 3), (2, 1, 3, 0)) * -1
+    l2new.bbbb += np.transpose(tmp225, (2, 3, 0, 1)) * 2
+    l2new.bbbb += np.transpose(tmp226, (2, 3, 0, 1)) * 2
+    l2new.bbbb += np.transpose(tmp224, (3, 2, 1, 0))
+    l2new.bbbb += einsum(tmp194, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3)) * -1
+    l2new.bbbb += np.transpose(tmp225, (3, 2, 1, 0)) * 2
+    l2new.bbbb += np.transpose(tmp226, (3, 2, 1, 0)) * 2
+    l2new.bbbb += einsum(tmp194, (0, 1), l1.bb, (2, 3), (2, 1, 0, 3))
+    l2new.bbbb += np.transpose(tmp224, (2, 3, 1, 0)) * -1
+    del tmp224
+    l2new.bbbb += np.transpose(tmp225, (2, 3, 1, 0)) * -2
+    del tmp225
+    l2new.bbbb += np.transpose(tmp226, (2, 3, 1, 0)) * -2
+    del tmp226
+    l2new.abab = np.copy(np.transpose(v.aabb.ovov, (1, 3, 0, 2)))
+    l2new.abab += einsum(tmp14, (0, 1, 2, 3), l1.bb, (4, 1), (3, 4, 0, 2)) * -1
+    l2new.abab += einsum(tmp38, (0, 1, 2, 3), tmp2, (4, 1, 2, 5), (5, 3, 4, 0)) * -2
+    del tmp2
+    l2new.abab += einsum(tmp38, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 2, 1), (5, 3, 4, 0)) * -2
+    l2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), l1.bb, (3, 4), (1, 2, 0, 4))
+    l2new.abab += einsum(v.aaaa.ovoo, (0, 1, 2, 3), tmp49, (3, 2, 4, 5), (1, 5, 0, 4)) * -1
+    l2new.abab += einsum(tmp0, (0, 1, 2, 3), tmp49, (0, 2, 4, 5), (3, 5, 1, 4)) * -1
+    l2new.abab += einsum(tmp175, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (3, 4, 1, 5))
+    del tmp175
+    l2new.abab += einsum(l2.bbbb, (0, 1, 2, 3), tmp149, (4, 3, 5, 1), (5, 0, 4, 2)) * 2
+    del tmp149
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp157, (2, 4), (0, 1, 4, 3)) * -1
+    l2new.abab += einsum(tmp158, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3))
+    l2new.abab += einsum(tmp87, (0, 1, 2, 3), tmp36, (4, 0, 2, 5), (5, 3, 4, 1)) * -1
+    l2new.abab += einsum(v.bbbb.ovoo, (0, 1, 2, 3), tmp36, (4, 3, 2, 5), (5, 1, 4, 0)) * -1
+    l2new.abab += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp47, (4, 1, 0, 5), (5, 3, 4, 2)) * -2
+    l2new.abab += einsum(tmp4, (0, 1, 2, 3), tmp47, (4, 0, 1, 5), (5, 3, 4, 2)) * -2
+    del tmp4
+    l2new.abab += einsum(l1.aa, (0, 1), v.aabb.vvov, (2, 0, 3, 4), (2, 4, 1, 3))
+    l2new.abab += einsum(tmp177, (0, 1, 2, 3), l2.abab, (4, 2, 5, 0), (4, 3, 5, 1))
+    del tmp177
+    l2new.abab += einsum(l2.aaaa, (0, 1, 2, 3), tmp179, (3, 4, 1, 5), (0, 5, 2, 4)) * 2
+    del tmp179
+    l2new.abab += einsum(l1.aa, (0, 1), tmp181, (2, 3), (0, 3, 1, 2))
+    del tmp181
+    l2new.abab += einsum(tmp182, (0, 1, 2, 3), l2.abab, (2, 4, 5, 0), (3, 4, 5, 1)) * -1
+    del tmp182
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp183, (3, 4), (0, 1, 2, 4)) * -1
+    del tmp183
+    l2new.abab += einsum(tmp49, (0, 1, 2, 3), v.aabb.ovvv, (1, 4, 5, 3), (4, 5, 0, 2)) * -1
+    l2new.abab += np.transpose(tmp184, (2, 3, 0, 1))
+    del tmp184
+    l2new.abab += np.transpose(tmp185, (2, 3, 0, 1))
+    del tmp185
+    l2new.abab += einsum(tmp86, (0, 1), l2.abab, (0, 2, 3, 4), (1, 2, 3, 4))
+    l2new.abab += einsum(tmp49, (0, 1, 2, 3), tmp155, (1, 4), (4, 3, 0, 2)) * -1
+    del tmp155
+    l2new.abab += einsum(tmp36, (0, 1, 2, 3), v.aabb.vvov, (4, 3, 2, 5), (4, 5, 0, 1)) * -1
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp187, (1, 4), (0, 4, 2, 3))
+    del tmp187
+    l2new.abab += einsum(tmp36, (0, 1, 2, 3), tmp190, (2, 4), (3, 4, 0, 1)) * -1
+    del tmp190
+    l2new.abab += einsum(l1.aa, (0, 1), tmp191, (1, 2, 3, 4), (0, 4, 2, 3)) * -1
+    l2new.abab += einsum(tmp192, (0, 1, 2, 3), l2.abab, (4, 5, 0, 2), (4, 5, 1, 3))
+    del tmp192
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp193, (2, 4, 1, 5), (0, 5, 4, 3)) * -1
+    del tmp193
+    l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp51, (4, 0), (1, 3, 4, 2)) * -1
+    del tmp51
+    l2new.abab += einsum(tmp49, (0, 1, 2, 3), tmp14, (1, 2, 4, 5), (5, 3, 0, 4))
+    del tmp14
+    l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp40, (4, 2), (1, 3, 0, 4)) * -1
+    del tmp40
+    l2new.abab += einsum(tmp36, (0, 1, 2, 3), tmp191, (0, 4, 2, 5), (3, 5, 4, 1))
+    del tmp191
+    l2new.abab += einsum(tmp171, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3)) * -1
+    l2new.abab += einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp49, (1, 2, 4, 5), (3, 5, 0, 4))
+    l2new.abab += einsum(tmp49, (0, 1, 2, 3), tmp0, (0, 1, 4, 5), (5, 3, 4, 2))
+    del tmp0
+    l2new.abab += einsum(tmp194, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0)) * -1
+    del tmp194
+    l2new.abab += einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp36, (4, 1, 2, 5), (5, 3, 4, 0))
+    l2new.abab += einsum(tmp36, (0, 1, 2, 3), tmp87, (1, 2, 4, 5), (3, 5, 0, 4))
+    del tmp87
+    l2new.aaaa = np.copy(np.transpose(v.aaaa.ovov, (1, 3, 0, 2)))
+    l2new.aaaa += einsum(tmp133, (0, 1, 2, 3), l1.aa, (4, 0), (3, 4, 2, 1)) * -1
+    del tmp133
+    l2new.aaaa += np.transpose(v.aaaa.ovov, (3, 1, 0, 2)) * -1
+    l2new.aaaa += np.transpose(tmp135, (3, 2, 0, 1))
+    l2new.aaaa += np.transpose(tmp136, (3, 2, 0, 1)) * 2
+    l2new.aaaa += np.transpose(tmp137, (2, 3, 0, 1)) * -1
+    l2new.aaaa += np.transpose(tmp138, (3, 2, 0, 1))
+    l2new.aaaa += np.transpose(tmp139, (3, 2, 0, 1))
+    l2new.aaaa += np.transpose(tmp140, (3, 2, 0, 1)) * 2
+    l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp141, (3, 4, 5, 1), (5, 0, 2, 4)) * -2
+    del tmp141
+    l2new.aaaa += einsum(tmp11, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (2, 4, 5, 0)) * -1
+    del tmp11
+    l2new.aaaa += einsum(tmp142, (0, 1), l2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -2
+    del tmp142
+    l2new.aaaa += einsum(l1.aa, (0, 1), tmp144, (2, 3), (3, 0, 1, 2)) * -1
+    del tmp144
+    l2new.aaaa += np.transpose(tmp136, (3, 2, 1, 0)) * -2
+    l2new.aaaa += np.transpose(tmp137, (2, 3, 1, 0))
+    l2new.aaaa += np.transpose(tmp138, (3, 2, 1, 0)) * -1
+    l2new.aaaa += np.transpose(tmp139, (3, 2, 1, 0)) * -1
+    l2new.aaaa += np.transpose(tmp140, (3, 2, 1, 0)) * -2
+    l2new.aaaa += np.transpose(tmp148, (2, 3, 0, 1)) * 2
+    l2new.aaaa += np.transpose(tmp150, (2, 3, 0, 1))
+    l2new.aaaa += einsum(tmp157, (0, 1), l2.aaaa, (2, 3, 4, 0), (2, 3, 1, 4)) * 2
+    del tmp157
+    l2new.aaaa += einsum(l1.aa, (0, 1), tmp158, (2, 3), (3, 0, 2, 1))
+    l2new.aaaa += np.transpose(tmp136, (2, 3, 0, 1)) * -2
+    l2new.aaaa += np.transpose(tmp137, (3, 2, 0, 1))
+    l2new.aaaa += np.transpose(tmp138, (2, 3, 0, 1)) * -1
+    l2new.aaaa += np.transpose(tmp139, (2, 3, 0, 1)) * -1
+    l2new.aaaa += np.transpose(tmp140, (2, 3, 0, 1)) * -2
+    l2new.aaaa += np.transpose(tmp148, (3, 2, 1, 0)) * 2
+    l2new.aaaa += np.transpose(tmp150, (3, 2, 1, 0))
+    l2new.aaaa += einsum(l1.aa, (0, 1), tmp158, (2, 3), (0, 3, 1, 2))
+    l2new.aaaa += np.transpose(tmp136, (2, 3, 1, 0)) * 2
+    del tmp136
+    l2new.aaaa += np.transpose(tmp137, (3, 2, 1, 0)) * -1
+    del tmp137
+    l2new.aaaa += np.transpose(tmp138, (2, 3, 1, 0))
+    del tmp138
+    l2new.aaaa += np.transpose(tmp139, (2, 3, 1, 0))
+    del tmp139
+    l2new.aaaa += np.transpose(tmp140, (2, 3, 1, 0)) * 2
+    del tmp140
+    l2new.aaaa += np.transpose(tmp148, (3, 2, 0, 1)) * -2
+    del tmp148
+    l2new.aaaa += np.transpose(tmp150, (3, 2, 0, 1)) * -1
+    del tmp150
+    l2new.aaaa += einsum(l1.aa, (0, 1), tmp158, (2, 3), (0, 3, 2, 1)) * -1
+    del tmp158
+    l2new.aaaa += np.transpose(tmp159, (3, 2, 1, 0)) * 2
+    del tmp159
+    l2new.aaaa += np.transpose(tmp160, (3, 2, 1, 0)) * 2
+    del tmp160
+    l2new.aaaa += np.transpose(tmp161, (2, 3, 1, 0)) * 2
+    l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp162, (4, 1), (4, 0, 2, 3)) * -1
+    del tmp162
+    l2new.aaaa += np.transpose(tmp163, (2, 3, 1, 0)) * -2
+    l2new.aaaa += np.transpose(tmp167, (2, 3, 1, 0)) * -1
+    l2new.aaaa += np.transpose(tmp161, (3, 2, 1, 0)) * -2
+    del tmp161
+    l2new.aaaa += np.transpose(tmp167, (3, 2, 1, 0)) * 2
+    del tmp167
+    l2new.aaaa += np.transpose(tmp163, (3, 2, 1, 0)) * 2
+    del tmp163
+    l2new.aaaa += np.transpose(tmp168, (2, 3, 0, 1)) * -2
+    l2new.aaaa += np.transpose(tmp168, (2, 3, 1, 0)) * 2
+    del tmp168
+    l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp169, (2, 4, 3, 5), (0, 1, 4, 5)) * 2
+    del tmp169
+    l2new.aaaa += einsum(tmp170, (0, 1, 2, 3), l1.aa, (4, 0), (3, 4, 1, 2))
+    del tmp170
+    l2new.aaaa += np.transpose(tmp135, (3, 2, 1, 0)) * -1
+    del tmp135
+    l2new.aaaa += einsum(tmp171, (0, 1), l1.aa, (2, 3), (1, 2, 3, 0))
+    l2new.aaaa += np.transpose(tmp172, (3, 2, 0, 1)) * -1
+    l2new.aaaa += np.transpose(tmp173, (3, 2, 0, 1)) * -2
+    l2new.aaaa += np.transpose(tmp174, (3, 2, 0, 1)) * -2
+    l2new.aaaa += np.transpose(tmp172, (2, 3, 0, 1))
+    l2new.aaaa += einsum(l1.aa, (0, 1), tmp171, (2, 3), (0, 3, 1, 2)) * -1
+    l2new.aaaa += np.transpose(tmp173, (2, 3, 0, 1)) * 2
+    l2new.aaaa += np.transpose(tmp174, (2, 3, 0, 1)) * 2
+    l2new.aaaa += np.transpose(tmp172, (3, 2, 1, 0))
+    l2new.aaaa += einsum(l1.aa, (0, 1), tmp171, (2, 3), (3, 0, 2, 1)) * -1
+    l2new.aaaa += np.transpose(tmp173, (3, 2, 1, 0)) * 2
+    l2new.aaaa += np.transpose(tmp174, (3, 2, 1, 0)) * 2
+    l2new.aaaa += einsum(tmp171, (0, 1), l1.aa, (2, 3), (2, 1, 0, 3))
+    del tmp171
+    l2new.aaaa += np.transpose(tmp172, (2, 3, 1, 0)) * -1
+    del tmp172
+    l2new.aaaa += np.transpose(tmp173, (2, 3, 1, 0)) * -2
+    del tmp173
+    l2new.aaaa += np.transpose(tmp174, (2, 3, 1, 0)) * -2
+    del tmp174
+    l1new.bb = np.copy(np.transpose(f.bb.ov, (1, 0)))
+    l1new.bb += einsum(v.bbbb.oovv, (0, 1, 2, 3), l1.bb, (3, 1), (2, 0)) * -1
+    l1new.bb += einsum(l2.abab, (0, 1, 2, 3), tmp95, (2, 3, 4, 0), (1, 4)) * -1
+    del tmp95
+    l1new.bb += einsum(tmp102, (0, 1, 2, 3), l2.bbbb, (4, 3, 1, 2), (4, 0)) * 2
+    del tmp102
+    l1new.bb += einsum(tmp103, (0, 1), tmp104, (2, 1, 0, 3), (3, 2)) * -2
+    del tmp103, tmp104
+    l1new.bb += einsum(tmp105, (0, 1), v.aabb.vvov, (1, 0, 2, 3), (3, 2))
+    del tmp105
+    l1new.bb += einsum(tmp56, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (3, 2)) * -1
+    l1new.bb += einsum(tmp107, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (3, 2)) * -2
+    del tmp107
+    l1new.bb += einsum(tmp54, (0, 1), v.aabb.ooov, (1, 0, 2, 3), (3, 2)) * -2
+    del tmp54
+    l1new.bb += einsum(v.bbbb.ovoo, (0, 1, 2, 3), tmp43, (2, 3), (1, 0)) * -1
+    l1new.bb += einsum(l1.bb, (0, 1), tmp112, (1, 2), (0, 2)) * -1
+    del tmp112
+    l1new.bb += einsum(v.aabb.oovv, (0, 1, 2, 3), tmp49, (1, 0, 4, 3), (2, 4)) * -1
+    del tmp49
+    l1new.bb += einsum(l2.bbbb, (0, 1, 2, 3), tmp113, (3, 4, 0, 1), (4, 2)) * 2
+    del tmp113
+    l1new.bb += einsum(tmp97, (0, 1, 2, 3), tmp38, (4, 0, 1, 3), (2, 4)) * 2
+    del tmp97
+    l1new.bb += einsum(tmp114, (0, 1, 2, 3), l2.abab, (1, 3, 0, 4), (2, 4))
+    del tmp114
+    l1new.bb += einsum(v.bbbb.oovv, (0, 1, 2, 3), tmp38, (4, 1, 0, 3), (2, 4)) * -2
+    del tmp38
+    l1new.bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp115, (4, 0, 2, 1), (3, 4)) * 2
+    del tmp115
+    l1new.bb += einsum(tmp116, (0, 1, 2, 3), v.bbbb.ooov, (2, 1, 3, 4), (4, 0)) * -2
+    del tmp116
+    l1new.bb += einsum(tmp117, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 3), (4, 1))
+    del tmp117
+    l1new.bb += einsum(tmp118, (0, 1, 2, 3), tmp119, (4, 0, 3, 2), (1, 4)) * -1
+    del tmp118, tmp119
+    l1new.bb += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp120, (0, 4, 2, 1), (3, 4)) * -2
+    del tmp120
+    l1new.bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), tmp121, (4, 0, 3, 1), (2, 4)) * -2
+    del tmp121
+    l1new.bb += einsum(v.aabb.vvov, (0, 1, 2, 3), tmp122, (4, 2, 1, 0), (3, 4)) * -1
+    del tmp122
+    l1new.bb += einsum(tmp126, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 2, 4), (4, 1)) * -1
+    del tmp126
+    l1new.bb += einsum(tmp127, (0, 1, 2, 3), v.bbbb.ovov, (1, 4, 2, 3), (4, 0))
+    del tmp127
+    l1new.bb += einsum(tmp128, (0, 1, 2, 3), v.aabb.ooov, (0, 1, 3, 4), (4, 2))
+    del tmp128
+    l1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp129, (2, 1), (3, 0)) * 2
+    del tmp129
+    l1new.bb += einsum(tmp43, (0, 1), v.bbbb.ooov, (2, 0, 1, 3), (3, 2))
+    l1new.bb += einsum(tmp132, (0, 1), l1.bb, (0, 2), (1, 2))
+    del tmp132
+    l1new.bb += einsum(tmp92, (0, 1), tmp43, (2, 0), (1, 2)) * -1
+    del tmp92
+    l1new.aa = np.copy(np.transpose(f.aa.ov, (1, 0)))
+    l1new.aa += einsum(l1.aa, (0, 1), v.aaaa.oovv, (2, 1, 3, 0), (3, 2)) * -1
+    l1new.aa += einsum(l2.abab, (0, 1, 2, 3), tmp17, (2, 4, 3, 1), (0, 4)) * -1
+    del tmp17
+    l1new.aa += einsum(l2.aaaa, (0, 1, 2, 3), tmp24, (4, 2, 3, 1), (0, 4)) * 4
+    del tmp24
+    l1new.aa += einsum(tmp28, (0, 1), tmp29, (2, 3, 1, 0), (3, 2)) * -2
+    del tmp28
+    l1new.aa += einsum(tmp33, (0, 1), v.aabb.ovvv, (2, 3, 1, 0), (3, 2))
+    del tmp33
+    l1new.aa += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp44, (2, 3), (1, 0)) * -1
+    del tmp44
+    l1new.aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp56, (2, 3), (1, 0)) * -1
+    del tmp56
+    l1new.aa += einsum(tmp57, (0, 1), v.aaaa.ovoo, (2, 3, 1, 0), (3, 2)) * -1
+    l1new.aa += einsum(tmp43, (0, 1), v.aabb.ovoo, (2, 3, 1, 0), (3, 2)) * -1
+    del tmp43
+    l1new.aa += einsum(l1.aa, (0, 1), tmp62, (1, 2), (0, 2)) * -1
+    del tmp62
+    l1new.aa += einsum(tmp63, (0, 1, 2, 3), l2.abab, (2, 3, 4, 0), (1, 4))
+    del tmp63
+    l1new.aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp64, (4, 0, 2, 1), (3, 4)) * 2
+    del tmp64
+    l1new.aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp65, (4, 1, 0, 2), (3, 4)) * -2
+    del tmp65
+    l1new.aa += einsum(v.aabb.vvoo, (0, 1, 2, 3), tmp36, (4, 3, 2, 1), (0, 4)) * -1
+    del tmp36
+    l1new.aa += einsum(tmp47, (0, 1, 2, 3), v.aaaa.oovv, (2, 1, 4, 3), (4, 0)) * -2
+    del tmp47
+    l1new.aa += einsum(tmp66, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 3), (4, 0))
+    del tmp66
+    l1new.aa += einsum(tmp29, (0, 1, 2, 3), tmp67, (4, 0, 3, 2), (1, 4)) * 4
+    del tmp29, tmp67
+    l1new.aa += einsum(tmp71, (0, 1, 2, 3), v.aabb.ovov, (1, 4, 2, 3), (4, 0)) * -1
+    del tmp71
+    l1new.aa += einsum(tmp72, (0, 1, 2, 3), v.aabb.ovvv, (1, 4, 3, 2), (4, 0)) * -1
+    del tmp72
+    l1new.aa += einsum(tmp73, (0, 1, 2, 3), l2.aaaa, (1, 2, 4, 0), (3, 4)) * -2
+    del tmp73
+    l1new.aa += einsum(tmp74, (0, 1, 2, 3), tmp75, (1, 4, 2, 3), (4, 0)) * -2
+    del tmp74, tmp75
+    l1new.aa += einsum(tmp79, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 2, 4), (4, 1)) * -2
+    del tmp79
+    l1new.aa += einsum(tmp80, (0, 1, 2, 3), v.aaaa.ovov, (1, 4, 2, 3), (4, 0)) * 2
+    del tmp80
+    l1new.aa += einsum(tmp81, (0, 1, 2, 3), v.aabb.ovoo, (1, 4, 3, 2), (4, 0))
+    del tmp81
+    l1new.aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp82, (2, 1), (3, 0))
+    del tmp82
+    l1new.aa += einsum(tmp57, (0, 1), v.aaaa.ooov, (2, 0, 1, 3), (3, 2))
+    l1new.aa += einsum(l1.aa, (0, 1), tmp86, (0, 2), (2, 1))
+    del tmp86
+    l1new.aa += einsum(tmp57, (0, 1), tmp9, (1, 2), (2, 0)) * -1
+    del tmp9, tmp57
+
+    return {f"l1new": l1new, f"l2new": l2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCC2.make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:51:17.130250.

+

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.

+ +
+ Source code in ebcc/codegen/UCC2.py +
1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
+1373
+1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
+1445
+1446
+1447
+1448
def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:51:17.130250.
+
+    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))
+    tmp4 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0))
+    tmp3 = einsum(t1.bb, (0, 1), l1.bb, (1, 2), (2, 0))
+    tmp2 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0))
+    tmp0 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4))
+    tmp1 = einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2))
+    tmp9 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2))
+    tmp11 = np.copy(tmp3) * 0.5
+    tmp11 += tmp5 * 0.5
+    tmp11 += tmp4
+    tmp10 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0))
+    tmp6 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2))
+    tmp7 = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (4, 0), (2, 4, 3, 1))
+    tmp8 = np.copy(tmp1)
+    tmp8 += tmp2 * 2
+    tmp8 += tmp0
+    rdm1.bb.vv = einsum(t1.bb, (0, 1), l1.bb, (2, 0), (2, 1))
+    rdm1.bb.vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4))
+    rdm1.bb.vv += einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 0, 1), (4, 2)) * 2
+    rdm1.aa.vv = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 0, 1), (4, 2)) * 2
+    rdm1.aa.vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4))
+    rdm1.aa.vv += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2))
+    rdm1.bb.vo = np.copy(l1.bb)
+    rdm1.aa.vo = np.copy(l1.aa)
+    rdm1.bb.ov = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2)) * 2
+    rdm1.bb.ov += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3))
+    rdm1.bb.ov += t1.bb
+    rdm1.bb.ov += einsum(tmp9, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4)) * -1
+    del tmp9
+    rdm1.bb.ov += einsum(tmp10, (0, 1, 2, 3), t2.bbbb, (1, 0, 4, 3), (2, 4)) * -2
+    del tmp10
+    rdm1.bb.ov += einsum(t1.bb, (0, 1), tmp11, (0, 2), (2, 1)) * -2
+    del tmp11
+    rdm1.aa.ov = np.copy(t1.aa)
+    rdm1.aa.ov += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) * 2
+    rdm1.aa.ov += einsum(t2.abab, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2))
+    rdm1.aa.ov += einsum(t2.aaaa, (0, 1, 2, 3), tmp6, (1, 0, 4, 3), (4, 2)) * -2
+    del tmp6
+    rdm1.aa.ov += einsum(t2.abab, (0, 1, 2, 3), tmp7, (0, 4, 1, 3), (4, 2)) * -1
+    del tmp7
+    rdm1.aa.ov += einsum(tmp8, (0, 1), t1.aa, (0, 2), (1, 2)) * -1
+    del tmp8
+    rdm1.bb.oo = np.copy(np.transpose(tmp3, (1, 0))) * -1
+    del tmp3
+    rdm1.bb.oo += delta.bb.oo
+    rdm1.bb.oo += np.transpose(tmp4, (1, 0)) * -2
+    del tmp4
+    rdm1.bb.oo += np.transpose(tmp5, (1, 0)) * -1
+    del tmp5
+    rdm1.aa.oo = np.copy(np.transpose(tmp0, (1, 0))) * -1
+    del tmp0
+    rdm1.aa.oo += np.transpose(tmp1, (1, 0)) * -1
+    del tmp1
+    rdm1.aa.oo += delta.aa.oo
+    del delta
+    rdm1.aa.oo += np.transpose(tmp2, (1, 0)) * -2
+    del tmp2
+    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
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCC2.make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:51:54.110008.

+

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.

+ +
+ Source code in ebcc/codegen/UCC2.py +
1450
+1451
+1452
+1453
+1454
+1455
+1456
+1457
+1458
+1459
+1460
+1461
+1462
+1463
+1464
+1465
+1466
+1467
+1468
+1469
+1470
+1471
+1472
+1473
+1474
+1475
+1476
+1477
+1478
+1479
+1480
+1481
+1482
+1483
+1484
+1485
+1486
+1487
+1488
+1489
+1490
+1491
+1492
+1493
+1494
+1495
+1496
+1497
+1498
+1499
+1500
+1501
+1502
+1503
+1504
+1505
+1506
+1507
+1508
+1509
+1510
+1511
+1512
+1513
+1514
+1515
+1516
+1517
+1518
+1519
+1520
+1521
+1522
+1523
+1524
+1525
+1526
+1527
+1528
+1529
+1530
+1531
+1532
+1533
+1534
+1535
+1536
+1537
+1538
+1539
+1540
+1541
+1542
+1543
+1544
+1545
+1546
+1547
+1548
+1549
+1550
+1551
+1552
+1553
+1554
+1555
+1556
+1557
+1558
+1559
+1560
+1561
+1562
+1563
+1564
+1565
+1566
+1567
+1568
+1569
+1570
+1571
+1572
+1573
+1574
+1575
+1576
+1577
+1578
+1579
+1580
+1581
+1582
+1583
+1584
+1585
+1586
+1587
+1588
+1589
+1590
+1591
+1592
+1593
+1594
+1595
+1596
+1597
+1598
+1599
+1600
+1601
+1602
+1603
+1604
+1605
+1606
+1607
+1608
+1609
+1610
+1611
+1612
+1613
+1614
+1615
+1616
+1617
+1618
+1619
+1620
+1621
+1622
+1623
+1624
+1625
+1626
+1627
+1628
+1629
+1630
+1631
+1632
+1633
+1634
+1635
+1636
+1637
+1638
+1639
+1640
+1641
+1642
+1643
+1644
+1645
+1646
+1647
+1648
+1649
+1650
+1651
+1652
+1653
+1654
+1655
+1656
+1657
+1658
+1659
+1660
+1661
+1662
+1663
+1664
+1665
+1666
+1667
+1668
+1669
+1670
+1671
+1672
+1673
+1674
+1675
+1676
+1677
+1678
+1679
+1680
+1681
+1682
+1683
+1684
+1685
+1686
+1687
+1688
+1689
+1690
+1691
+1692
+1693
+1694
+1695
+1696
+1697
+1698
+1699
+1700
+1701
+1702
+1703
+1704
+1705
+1706
+1707
+1708
+1709
+1710
+1711
+1712
+1713
+1714
+1715
+1716
+1717
+1718
+1719
+1720
+1721
+1722
+1723
+1724
+1725
+1726
+1727
+1728
+1729
+1730
+1731
+1732
+1733
+1734
+1735
+1736
+1737
+1738
+1739
+1740
+1741
+1742
+1743
+1744
+1745
+1746
+1747
+1748
+1749
+1750
+1751
+1752
+1753
+1754
+1755
+1756
+1757
+1758
+1759
+1760
+1761
+1762
+1763
+1764
+1765
+1766
+1767
+1768
+1769
+1770
+1771
+1772
+1773
+1774
+1775
+1776
+1777
+1778
+1779
+1780
+1781
+1782
+1783
+1784
+1785
+1786
+1787
+1788
+1789
+1790
+1791
+1792
+1793
+1794
+1795
+1796
+1797
+1798
+1799
+1800
+1801
+1802
+1803
+1804
+1805
+1806
+1807
+1808
+1809
+1810
+1811
+1812
+1813
+1814
+1815
+1816
+1817
+1818
+1819
+1820
+1821
+1822
+1823
+1824
+1825
+1826
+1827
+1828
+1829
+1830
+1831
+1832
+1833
+1834
+1835
+1836
+1837
+1838
+1839
+1840
+1841
+1842
+1843
+1844
+1845
+1846
+1847
+1848
+1849
+1850
+1851
+1852
+1853
+1854
+1855
+1856
+1857
+1858
+1859
+1860
+1861
+1862
+1863
+1864
+1865
+1866
+1867
+1868
+1869
+1870
+1871
+1872
+1873
+1874
+1875
+1876
+1877
+1878
+1879
+1880
+1881
+1882
+1883
+1884
+1885
+1886
+1887
+1888
+1889
+1890
+1891
+1892
+1893
+1894
+1895
+1896
+1897
+1898
+1899
+1900
+1901
+1902
+1903
+1904
+1905
+1906
+1907
+1908
+1909
+1910
+1911
+1912
+1913
+1914
+1915
+1916
+1917
+1918
+1919
+1920
+1921
+1922
+1923
+1924
+1925
+1926
+1927
+1928
+1929
+1930
+1931
+1932
+1933
+1934
+1935
+1936
+1937
+1938
+1939
+1940
+1941
+1942
+1943
+1944
+1945
+1946
+1947
+1948
+1949
+1950
+1951
+1952
+1953
+1954
+1955
+1956
+1957
+1958
+1959
+1960
+1961
+1962
+1963
+1964
+1965
+1966
+1967
+1968
+1969
+1970
+1971
+1972
+1973
+1974
+1975
+1976
+1977
+1978
+1979
+1980
+1981
+1982
+1983
+1984
+1985
+1986
+1987
+1988
+1989
+1990
+1991
+1992
+1993
+1994
+1995
+1996
+1997
+1998
+1999
+2000
+2001
+2002
+2003
+2004
+2005
+2006
+2007
+2008
+2009
+2010
+2011
+2012
+2013
+2014
+2015
+2016
+2017
+2018
+2019
+2020
+2021
+2022
+2023
+2024
+2025
+2026
+2027
+2028
+2029
+2030
+2031
+2032
+2033
+2034
+2035
+2036
+2037
+2038
+2039
+2040
+2041
+2042
+2043
+2044
+2045
+2046
+2047
+2048
+2049
+2050
+2051
+2052
+2053
+2054
+2055
+2056
+2057
+2058
+2059
+2060
+2061
+2062
+2063
+2064
+2065
+2066
+2067
+2068
+2069
+2070
+2071
+2072
+2073
+2074
+2075
+2076
+2077
+2078
+2079
+2080
+2081
+2082
+2083
+2084
+2085
+2086
+2087
+2088
+2089
+2090
+2091
+2092
+2093
+2094
+2095
+2096
+2097
+2098
def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:51:54.110008.
+
+    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])),
+    )
+    tmp9 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4))
+    tmp10 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0))
+    tmp8 = einsum(t1.bb, (0, 1), l1.bb, (1, 2), (2, 0))
+    tmp17 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0))
+    tmp13 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2))
+    tmp6 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2))
+    tmp25 = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (4, 0), (2, 4, 3, 1))
+    tmp2 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4))
+    tmp0 = einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2))
+    tmp1 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0))
+    tmp94 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5))
+    tmp90 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5))
+    tmp66 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5))
+    tmp83 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5))
+    tmp40 = np.copy(tmp8)
+    tmp40 += tmp9
+    tmp40 += tmp10 * 2
+    tmp52 = einsum(t2.bbbb, (0, 1, 2, 3), tmp17, (4, 1, 5, 3), (4, 5, 0, 2)) * -1
+    tmp53 = einsum(t2.abab, (0, 1, 2, 3), tmp13, (0, 4, 5, 2), (4, 5, 1, 3))
+    tmp16 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5))
+    tmp18 = einsum(t1.bb, (0, 1), tmp17, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp14 = einsum(tmp13, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 1, 2))
+    tmp12 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5))
+    tmp63 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4))
+    tmp62 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 0, 1), (4, 2))
+    tmp5 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 5), (4, 5, 0, 1))
+    tmp7 = einsum(tmp6, (0, 1, 2, 3), t1.aa, (4, 3), (0, 1, 4, 2))
+    tmp31 = einsum(tmp25, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp30 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 2, 4, 5)) * -1
+    tmp27 = np.copy(tmp0) * 0.5
+    tmp27 += tmp1
+    tmp27 += tmp2 * 0.5
+    tmp109 = einsum(t1.bb, (0, 1), tmp17, (2, 0, 3, 4), (2, 3, 4, 1))
+    tmp80 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 0, 1), (4, 2))
+    tmp107 = einsum(t1.bb, (0, 1), l1.bb, (2, 0), (2, 1))
+    tmp79 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4))
+    tmp123 = np.copy(tmp94)
+    tmp123 += tmp90 * 4
+    tmp104 = einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp92 = einsum(t2.abab, (0, 1, 2, 3), l2.aaaa, (4, 2, 5, 0), (5, 1, 4, 3))
+    tmp112 = einsum(l2.abab, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5))
+    tmp106 = einsum(t1.aa, (0, 1), tmp6, (2, 0, 3, 4), (2, 3, 4, 1))
+    tmp84 = np.copy(tmp66) * 4
+    tmp84 += tmp83
+    tmp70 = einsum(t2.aaaa, (0, 1, 2, 3), l2.abab, (3, 4, 1, 5), (0, 5, 2, 4))
+    tmp68 = einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (4, 2, 5, 0))
+    tmp35 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2))
+    tmp34 = einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3))
+    tmp38 = einsum(tmp13, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4))
+    tmp39 = einsum(tmp17, (0, 1, 2, 3), t2.bbbb, (1, 0, 4, 3), (2, 4))
+    tmp41 = einsum(t1.bb, (0, 1), tmp40, (0, 2), (2, 1))
+    tmp50 = einsum(t1.bb, (0, 1), tmp40, (0, 2), (2, 1)) * 0.5
+    tmp102 = np.copy(tmp53)
+    tmp102 += tmp52 * 4
+    tmp54 = np.copy(np.transpose(tmp16, (1, 0, 3, 2)))
+    tmp54 += np.transpose(tmp18, (0, 1, 3, 2)) * -1
+    tmp49 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 4), (4, 0, 1, 2))
+    tmp26 = einsum(t2.abab, (0, 1, 2, 3), tmp25, (0, 4, 1, 3), (4, 2))
+    tmp24 = einsum(t2.aaaa, (0, 1, 2, 3), tmp6, (1, 0, 4, 3), (4, 2))
+    tmp45 = np.copy(tmp12)
+    tmp45 += tmp14
+    tmp59 = einsum(tmp13, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5))
+    tmp58 = einsum(t2.abab, (0, 1, 2, 3), tmp17, (4, 1, 5, 3), (0, 4, 5, 2)) * -1
+    tmp20 = einsum(t2.abab, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2))
+    tmp19 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3))
+    tmp44 = einsum(t2.bbbb, (0, 1, 2, 3), tmp25, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp43 = einsum(tmp6, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 2, 4, 5)) * -1
+    tmp64 = np.copy(tmp62) * 2
+    tmp64 += tmp63
+    tmp32 = np.copy(np.transpose(tmp5, (1, 0, 3, 2)))
+    tmp32 += np.transpose(tmp7, (0, 1, 3, 2)) * -1
+    tmp23 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4))
+    tmp77 = np.copy(tmp30) * 4
+    tmp77 += tmp31
+    tmp28 = einsum(tmp27, (0, 1), t1.aa, (0, 2), (1, 2)) * 2
+    tmp130 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (3, 4), (2, 0, 1, 4))
+    tmp132 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (0, 1, 4, 5))
+    tmp129 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (3, 4), (2, 0, 1, 4))
+    tmp131 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 1), (4, 5, 2, 3))
+    tmp128 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 2, 3, 1))
+    tmp126 = einsum(tmp109, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4)) * -1
+    tmp120 = einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4))
+    tmp108 = np.copy(tmp107)
+    tmp108 += tmp79
+    tmp108 += tmp80 * 2
+    tmp125 = einsum(t2.bbbb, (0, 1, 2, 3), tmp17, (1, 0, 4, 5), (4, 5, 2, 3)) * -1
+    tmp124 = einsum(t1.bb, (0, 1), tmp123, (0, 2, 3, 4), (2, 1, 3, 4))
+    del tmp123
+    tmp105 = np.copy(tmp104)
+    tmp105 += tmp62 * 2
+    tmp105 += tmp63
+    tmp114 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5))
+    tmp127 = np.copy(tmp92)
+    tmp127 += tmp112
+    tmp113 = einsum(t1.bb, (0, 1), tmp13, (2, 0, 3, 4), (2, 3, 4, 1))
+    tmp115 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4))
+    tmp119 = einsum(t1.aa, (0, 1), tmp106, (0, 2, 3, 4), (2, 3, 4, 1)) * -1
+    tmp117 = einsum(tmp84, (0, 1, 2, 3), t1.aa, (0, 4), (1, 4, 2, 3))
+    tmp118 = einsum(t2.aaaa, (0, 1, 2, 3), tmp6, (1, 0, 4, 5), (4, 5, 2, 3)) * -1
+    tmp122 = np.copy(tmp94) * 0.25
+    tmp122 += tmp90
+    tmp121 = np.copy(tmp107) * 0.5
+    del tmp107
+    tmp121 += tmp79 * 0.5
+    tmp121 += tmp80
+    tmp111 = einsum(t1.aa, (0, 1), tmp25, (0, 2, 3, 4), (2, 3, 1, 4))
+    tmp82 = np.copy(tmp70)
+    tmp82 += tmp68
+    tmp86 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (2, 4, 1, 5))
+    tmp116 = np.copy(tmp66) * 4
+    tmp116 += tmp83
+    tmp110 = np.copy(tmp104) * 0.5
+    del tmp104
+    tmp110 += tmp62
+    tmp110 += tmp63 * 0.5
+    tmp93 = einsum(t2.abab, (0, 1, 2, 3), tmp92, (0, 4, 2, 5), (4, 1, 5, 3))
+    tmp36 = np.copy(t1.bb)
+    tmp36 += tmp34
+    tmp36 += tmp35 * 2
+    tmp42 = np.copy(tmp38)
+    tmp42 += tmp39 * 2
+    tmp42 += tmp41
+    del tmp41
+    tmp95 = einsum(t2.bbbb, (0, 1, 2, 3), tmp94, (1, 4, 3, 5), (4, 0, 5, 2))
+    tmp51 = np.copy(tmp38) * 0.5
+    del tmp38
+    tmp51 += tmp39
+    del tmp39
+    tmp51 += tmp50
+    del tmp50
+    tmp103 = einsum(t1.bb, (0, 1), tmp102, (0, 2, 3, 4), (2, 3, 1, 4))
+    del tmp102
+    tmp100 = einsum(t2.bbbb, (0, 1, 2, 3), tmp54, (0, 1, 4, 5), (4, 5, 2, 3))
+    tmp97 = einsum(t1.bb, (0, 1), tmp49, (0, 2, 3, 4), (2, 3, 1, 4))
+    tmp61 = np.copy(t1.bb) * 0.5
+    tmp61 += tmp34 * 0.5
+    tmp61 += tmp35
+    tmp91 = einsum(t2.bbbb, (0, 1, 2, 3), tmp90, (1, 4, 3, 5), (4, 0, 5, 2))
+    tmp81 = np.copy(tmp79)
+    tmp81 += tmp80 * 2
+    tmp96 = np.copy(tmp34)
+    tmp96 += tmp35 * 2
+    tmp99 = einsum(t2.bbbb, (0, 1, 2, 3), tmp40, (1, 4), (0, 4, 2, 3)) * -1
+    tmp98 = np.copy(tmp79) * 0.5
+    del tmp79
+    tmp98 += tmp80
+    del tmp80
+    tmp101 = einsum(tmp54, (0, 1, 2, 3), t1.bb, (0, 4), (1, 3, 2, 4))
+    tmp87 = np.copy(tmp24)
+    tmp87 += tmp26 * 0.5
+    tmp87 += einsum(tmp27, (0, 1), t1.aa, (0, 2), (1, 2))
+    tmp15 = np.copy(tmp8) * 0.5
+    tmp15 += tmp9 * 0.5
+    tmp15 += tmp10
+    tmp60 = einsum(t2.abab, (0, 1, 2, 3), tmp25, (0, 4, 5, 3), (4, 5, 1, 2))
+    tmp46 = einsum(t1.bb, (0, 1), tmp45, (2, 3, 0, 4), (2, 3, 4, 1))
+    tmp4 = np.copy(tmp0)
+    tmp4 += tmp1 * 2
+    tmp4 += tmp2
+    tmp47 = einsum(tmp13, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (0, 4, 2, 5))
+    tmp89 = np.copy(tmp59)
+    tmp89 += tmp58
+    tmp57 = einsum(t2.abab, (0, 1, 2, 3), l1.bb, (3, 4), (0, 4, 1, 2))
+    tmp37 = einsum(l1.aa, (0, 1), t2.abab, (2, 3, 0, 4), (1, 2, 3, 4))
+    tmp72 = np.copy(tmp19) * 2
+    tmp72 += tmp20
+    tmp85 = np.copy(tmp62)
+    del tmp62
+    tmp85 += tmp63 * 0.5
+    del tmp63
+    tmp88 = np.copy(tmp43)
+    tmp88 += tmp44
+    tmp65 = einsum(t2.aaaa, (0, 1, 2, 3), tmp64, (3, 4), (0, 1, 4, 2)) * -2
+    del tmp64
+    tmp76 = einsum(tmp32, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 2, 4))
+    tmp73 = einsum(tmp23, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3))
+    tmp69 = einsum(t2.abab, (0, 1, 2, 3), tmp68, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp67 = einsum(t2.aaaa, (0, 1, 2, 3), tmp66, (1, 4, 3, 5), (0, 4, 2, 5))
+    tmp78 = einsum(tmp77, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3))
+    del tmp77
+    tmp74 = einsum(t2.aaaa, (0, 1, 2, 3), tmp27, (1, 4), (4, 0, 2, 3)) * -2
+    tmp56 = np.copy(t1.aa)
+    tmp56 += tmp19 * 2
+    tmp56 += tmp20
+    tmp75 = einsum(t2.aaaa, (0, 1, 2, 3), tmp32, (0, 1, 4, 5), (4, 5, 2, 3))
+    tmp71 = einsum(t2.abab, (0, 1, 2, 3), tmp70, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp29 = np.copy(tmp24) * 2
+    del tmp24
+    tmp29 += tmp26
+    del tmp26
+    tmp29 += tmp28
+    del tmp28
+    tmp22 = np.copy(t1.aa)
+    tmp22 += tmp19 * 2
+    tmp22 += tmp20
+    tmp55 = einsum(tmp54, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4)) * 2
+    del tmp54
+    tmp33 = einsum(tmp32, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 3, 4)) * 2
+    del tmp32
+    tmp48 = np.copy(t1.bb)
+    tmp48 += tmp34
+    del tmp34
+    tmp48 += tmp35 * 2
+    del tmp35
+    tmp21 = np.copy(t1.aa) * 0.5
+    tmp21 += tmp19
+    del tmp19
+    tmp21 += tmp20 * 0.5
+    del tmp20
+    tmp11 = np.copy(delta.bb.oo) * -1
+    tmp11 += tmp8
+    del tmp8
+    tmp11 += tmp9
+    del tmp9
+    tmp11 += tmp10 * 2
+    del tmp10
+    tmp3 = np.copy(delta.aa.oo) * -0.5
+    tmp3 += tmp0 * 0.5
+    del tmp0
+    tmp3 += tmp1
+    del tmp1
+    tmp3 += tmp2 * 0.5
+    del tmp2
+    rdm2.bbbb.vvvv = np.copy(np.transpose(tmp132, (1, 0, 3, 2))) * 2
+    del tmp132
+    rdm2.bbbb.vvvv += einsum(tmp130, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3)) * 2
+    rdm2.abab.vvvv = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 5), (0, 1, 4, 5))
+    rdm2.abab.vvvv += einsum(t1.aa, (0, 1), tmp129, (0, 2, 3, 4), (2, 3, 1, 4))
+    rdm2.aaaa.vvvv = np.copy(np.transpose(tmp131, (1, 0, 3, 2))) * 2
+    del tmp131
+    rdm2.aaaa.vvvv += einsum(tmp128, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3)) * 2
+    rdm2.bbbb.vvvo = np.copy(np.transpose(tmp130, (2, 1, 3, 0))) * 2
+    rdm2.abab.vvvo = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    rdm2.aaaa.vvvo = np.copy(np.transpose(tmp128, (2, 1, 3, 0))) * 2
+    rdm2.bbbb.vvov = np.copy(np.transpose(tmp130, (2, 1, 0, 3))) * -2
+    del tmp130
+    rdm2.abab.vvov = np.copy(np.transpose(tmp129, (1, 2, 0, 3)))
+    del tmp129
+    rdm2.aaaa.vvov = np.copy(np.transpose(tmp128, (2, 1, 0, 3))) * -2
+    del tmp128
+    rdm2.bbbb.vovv = np.copy(np.transpose(tmp120, (1, 0, 3, 2))) * 2
+    rdm2.bbbb.vovv += einsum(tmp108, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.bbbb.vovv += einsum(tmp108, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3))
+    rdm2.bbbb.vovv += np.transpose(tmp124, (2, 0, 1, 3))
+    rdm2.bbbb.vovv += np.transpose(tmp124, (2, 0, 3, 1)) * -1
+    rdm2.bbbb.vovv += np.transpose(tmp125, (1, 0, 3, 2)) * 2
+    rdm2.bbbb.vovv += np.transpose(tmp126, (1, 0, 3, 2)) * 2
+    rdm2.abab.vovv = einsum(l1.aa, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4))
+    rdm2.abab.vovv += einsum(tmp105, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3))
+    rdm2.abab.vovv += einsum(t1.aa, (0, 1), tmp127, (0, 2, 3, 4), (3, 2, 1, 4)) * 2
+    del tmp127
+    rdm2.abab.vovv += einsum(t1.bb, (0, 1), tmp114, (0, 2, 3, 4), (3, 2, 4, 1)) * -1
+    rdm2.abab.vovv += einsum(tmp13, (0, 1, 2, 3), t2.abab, (0, 1, 4, 5), (3, 2, 4, 5)) * -1
+    rdm2.abab.vovv += einsum(tmp113, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 4, 3)) * -1
+    rdm2.aaaa.vovv = np.copy(np.transpose(tmp115, (1, 0, 3, 2))) * 2
+    rdm2.aaaa.vovv += einsum(t1.aa, (0, 1), tmp105, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.aaaa.vovv += einsum(tmp105, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3))
+    rdm2.aaaa.vovv += np.transpose(tmp117, (2, 0, 1, 3))
+    rdm2.aaaa.vovv += np.transpose(tmp117, (2, 0, 3, 1)) * -1
+    rdm2.aaaa.vovv += np.transpose(tmp118, (1, 0, 3, 2)) * 2
+    rdm2.aaaa.vovv += np.transpose(tmp119, (1, 0, 3, 2)) * 2
+    rdm2.bbbb.ovvv = np.copy(np.transpose(tmp120, (0, 1, 3, 2))) * -2
+    del tmp120
+    rdm2.bbbb.ovvv += einsum(tmp108, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1))
+    rdm2.bbbb.ovvv += einsum(tmp121, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3)) * -2
+    del tmp121
+    rdm2.bbbb.ovvv += einsum(t1.bb, (0, 1), tmp122, (0, 2, 3, 4), (2, 3, 1, 4)) * -4
+    del tmp122
+    rdm2.bbbb.ovvv += np.transpose(tmp124, (0, 2, 3, 1))
+    del tmp124
+    rdm2.bbbb.ovvv += np.transpose(tmp125, (0, 1, 3, 2)) * -2
+    del tmp125
+    rdm2.bbbb.ovvv += np.transpose(tmp126, (0, 1, 3, 2)) * -2
+    del tmp126
+    rdm2.abab.ovvv = einsum(t2.abab, (0, 1, 2, 3), l1.bb, (4, 1), (0, 4, 2, 3))
+    rdm2.abab.ovvv += einsum(t1.aa, (0, 1), tmp108, (2, 3), (0, 2, 1, 3))
+    rdm2.abab.ovvv += einsum(tmp86, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3)) * -1
+    rdm2.abab.ovvv += einsum(tmp82, (0, 1, 2, 3), t1.bb, (1, 4), (0, 3, 2, 4)) * 2
+    rdm2.abab.ovvv += einsum(t2.abab, (0, 1, 2, 3), tmp25, (0, 4, 1, 5), (4, 5, 2, 3)) * -1
+    rdm2.abab.ovvv += einsum(t1.bb, (0, 1), tmp111, (2, 0, 3, 4), (2, 4, 3, 1)) * -1
+    rdm2.aaaa.ovvv = np.copy(np.transpose(tmp115, (0, 1, 3, 2))) * -2
+    del tmp115
+    rdm2.aaaa.ovvv += einsum(t1.aa, (0, 1), tmp105, (2, 3), (0, 2, 1, 3))
+    rdm2.aaaa.ovvv += einsum(tmp105, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.aaaa.ovvv += einsum(tmp116, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3)) * -1
+    del tmp116
+    rdm2.aaaa.ovvv += np.transpose(tmp117, (0, 2, 3, 1))
+    del tmp117
+    rdm2.aaaa.ovvv += np.transpose(tmp118, (0, 1, 3, 2)) * -2
+    del tmp118
+    rdm2.aaaa.ovvv += np.transpose(tmp119, (0, 1, 3, 2)) * -2
+    del tmp119
+    rdm2.bbbb.vvoo = np.copy(l2.bbbb) * 2
+    rdm2.abab.vvoo = np.copy(l2.abab)
+    rdm2.aaaa.vvoo = np.copy(l2.aaaa) * 2
+    rdm2.bbbb.vovo = einsum(tmp108, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3))
+    rdm2.bbbb.vovo += np.transpose(tmp90, (2, 1, 3, 0)) * -4
+    rdm2.bbbb.vovo += np.transpose(tmp94, (2, 1, 3, 0)) * -1
+    rdm2.bbbb.vovo += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.bbbb.vovo += np.transpose(tmp109, (2, 1, 3, 0)) * 2
+    rdm2.abab.vovo = einsum(tmp105, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3))
+    rdm2.abab.vovo += np.transpose(tmp114, (2, 1, 3, 0)) * -1
+    del tmp114
+    rdm2.abab.vovo += einsum(tmp13, (0, 1, 2, 3), t1.aa, (0, 4), (3, 2, 4, 1)) * -1
+    rdm2.aaaa.vovo = einsum(delta.aa.oo, (0, 1), tmp110, (2, 3), (2, 0, 3, 1)) * 2
+    rdm2.aaaa.vovo += np.transpose(tmp66, (2, 1, 3, 0)) * -4
+    rdm2.aaaa.vovo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.aaaa.vovo += np.transpose(tmp83, (2, 1, 3, 0)) * -1
+    rdm2.aaaa.vovo += np.transpose(tmp106, (2, 1, 3, 0)) * 2
+    rdm2.bbbb.voov = einsum(tmp108, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.bbbb.voov += np.transpose(tmp90, (2, 1, 0, 3)) * 4
+    rdm2.bbbb.voov += np.transpose(tmp94, (2, 1, 0, 3))
+    rdm2.bbbb.voov += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3))
+    rdm2.bbbb.voov += np.transpose(tmp109, (2, 1, 0, 3)) * -2
+    rdm2.abab.voov = np.copy(np.transpose(tmp112, (2, 1, 0, 3))) * 2
+    del tmp112
+    rdm2.abab.voov += einsum(l1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3))
+    rdm2.abab.voov += np.transpose(tmp92, (2, 1, 0, 3)) * 2
+    del tmp92
+    rdm2.abab.voov += np.transpose(tmp113, (2, 1, 0, 3)) * -1
+    del tmp113
+    rdm2.aaaa.voov = einsum(tmp105, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.aaaa.voov += np.transpose(tmp66, (2, 1, 0, 3)) * 4
+    rdm2.aaaa.voov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3))
+    rdm2.aaaa.voov += np.transpose(tmp83, (2, 1, 0, 3))
+    rdm2.aaaa.voov += np.transpose(tmp106, (2, 1, 0, 3)) * -2
+    rdm2.bbbb.ovvo = einsum(tmp108, (0, 1), delta.bb.oo, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.bbbb.ovvo += np.transpose(tmp90, (1, 2, 3, 0)) * 4
+    rdm2.bbbb.ovvo += np.transpose(tmp94, (1, 2, 3, 0))
+    rdm2.bbbb.ovvo += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1))
+    rdm2.bbbb.ovvo += np.transpose(tmp109, (1, 2, 3, 0)) * -2
+    rdm2.abab.ovvo = np.copy(np.transpose(tmp68, (0, 3, 2, 1))) * 2
+    del tmp68
+    rdm2.abab.ovvo += einsum(t1.aa, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3))
+    rdm2.abab.ovvo += np.transpose(tmp70, (0, 3, 2, 1)) * 2
+    del tmp70
+    rdm2.abab.ovvo += np.transpose(tmp111, (0, 3, 2, 1)) * -1
+    del tmp111
+    rdm2.aaaa.ovvo = einsum(delta.aa.oo, (0, 1), tmp110, (2, 3), (0, 2, 3, 1)) * -2
+    del tmp110
+    rdm2.aaaa.ovvo += np.transpose(tmp66, (1, 2, 3, 0)) * 4
+    rdm2.aaaa.ovvo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1))
+    rdm2.aaaa.ovvo += np.transpose(tmp83, (1, 2, 3, 0))
+    rdm2.aaaa.ovvo += np.transpose(tmp106, (1, 2, 3, 0)) * -2
+    rdm2.bbbb.ovov = einsum(tmp108, (0, 1), delta.bb.oo, (2, 3), (2, 0, 3, 1))
+    rdm2.bbbb.ovov += np.transpose(tmp90, (1, 2, 0, 3)) * -4
+    del tmp90
+    rdm2.bbbb.ovov += np.transpose(tmp94, (1, 2, 0, 3)) * -1
+    del tmp94
+    rdm2.bbbb.ovov += einsum(l1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.bbbb.ovov += np.transpose(tmp109, (1, 2, 0, 3)) * 2
+    del tmp109
+    rdm2.abab.ovov = einsum(tmp108, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1))
+    del tmp108
+    rdm2.abab.ovov += np.transpose(tmp86, (1, 2, 0, 3)) * -1
+    rdm2.abab.ovov += einsum(tmp25, (0, 1, 2, 3), t1.bb, (2, 4), (1, 3, 0, 4)) * -1
+    rdm2.aaaa.ovov = einsum(tmp105, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1))
+    del tmp105
+    rdm2.aaaa.ovov += np.transpose(tmp66, (1, 2, 0, 3)) * -4
+    del tmp66
+    rdm2.aaaa.ovov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.aaaa.ovov += np.transpose(tmp83, (1, 2, 0, 3)) * -1
+    del tmp83
+    rdm2.aaaa.ovov += np.transpose(tmp106, (1, 2, 0, 3)) * 2
+    del tmp106
+    rdm2.bbbb.oovv = np.copy(t2.bbbb) * 2
+    rdm2.bbbb.oovv += einsum(tmp81, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 4, 1)) * -2
+    rdm2.bbbb.oovv += np.transpose(tmp91, (0, 1, 3, 2)) * -8
+    rdm2.bbbb.oovv += np.transpose(tmp93, (0, 1, 3, 2)) * -2
+    rdm2.bbbb.oovv += np.transpose(tmp95, (0, 1, 3, 2)) * -2
+    rdm2.bbbb.oovv += np.transpose(tmp95, (1, 0, 2, 3)) * -2
+    rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp61, (2, 3), (2, 0, 1, 3)) * -2
+    rdm2.bbbb.oovv += tmp91 * 8
+    del tmp91
+    rdm2.bbbb.oovv += np.transpose(tmp93, (1, 0, 3, 2)) * 2
+    del tmp93
+    rdm2.bbbb.oovv += tmp95 * 2
+    rdm2.bbbb.oovv += np.transpose(tmp95, (1, 0, 3, 2)) * 2
+    del tmp95
+    rdm2.bbbb.oovv += einsum(tmp36, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1))
+    rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp96, (2, 3), (2, 0, 3, 1))
+    rdm2.bbbb.oovv += einsum(tmp96, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3)) * -1
+    del tmp96
+    rdm2.bbbb.oovv += tmp97 * 2
+    rdm2.bbbb.oovv += einsum(tmp98, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * 4
+    del tmp98
+    rdm2.bbbb.oovv += np.transpose(tmp97, (0, 1, 3, 2)) * -2
+    del tmp97
+    rdm2.bbbb.oovv += np.transpose(tmp99, (0, 1, 3, 2)) * -2
+    rdm2.bbbb.oovv += einsum(tmp42, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1)) * -1
+    rdm2.bbbb.oovv += einsum(tmp51, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3)) * 2
+    rdm2.bbbb.oovv += np.transpose(tmp99, (1, 0, 3, 2)) * 2
+    del tmp99
+    rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp42, (2, 3), (2, 0, 1, 3))
+    rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp51, (2, 3), (2, 0, 3, 1)) * -2
+    rdm2.bbbb.oovv += np.transpose(tmp100, (1, 0, 3, 2)) * 2
+    del tmp100
+    rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp101, (0, 2, 3, 4), (2, 3, 1, 4)) * 2
+    del tmp101
+    rdm2.bbbb.oovv += np.transpose(tmp103, (1, 0, 2, 3))
+    rdm2.bbbb.oovv += tmp103 * -1
+    rdm2.bbbb.oovv += np.transpose(tmp103, (1, 0, 3, 2)) * -1
+    rdm2.bbbb.oovv += np.transpose(tmp103, (0, 1, 3, 2))
+    del tmp103
+    rdm2.abab.oovv = np.copy(t2.abab)
+    rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp81, (3, 4), (0, 1, 2, 4)) * -1
+    del tmp81
+    rdm2.abab.oovv += einsum(tmp82, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 4, 2, 5)) * 4
+    del tmp82
+    rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp84, (0, 4, 2, 5), (4, 1, 5, 3))
+    del tmp84
+    rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp36, (2, 3), (0, 2, 1, 3))
+    rdm2.abab.oovv += einsum(tmp72, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3))
+    rdm2.abab.oovv += einsum(tmp37, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3)) * -1
+    rdm2.abab.oovv += einsum(tmp85, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -2
+    del tmp85
+    rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp57, (2, 0, 3, 4), (2, 3, 4, 1)) * -1
+    rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp15, (1, 4), (0, 4, 2, 3)) * -2
+    rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp42, (2, 3), (0, 2, 1, 3)) * -1
+    rdm2.abab.oovv += einsum(tmp4, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1
+    rdm2.abab.oovv += einsum(tmp45, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 3, 4, 5))
+    rdm2.abab.oovv += einsum(tmp46, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3))
+    rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp86, (0, 4, 3, 5), (4, 1, 2, 5))
+    del tmp86
+    rdm2.abab.oovv += einsum(tmp87, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) * -2
+    del tmp87
+    rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp47, (0, 2, 3, 4), (2, 3, 1, 4))
+    rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp88, (0, 2, 3, 4), (2, 3, 1, 4)) * -2
+    del tmp88
+    rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp89, (2, 0, 3, 4), (2, 3, 4, 1)) * -2
+    del tmp89
+    rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp60, (2, 0, 3, 4), (2, 3, 4, 1))
+    rdm2.aaaa.oovv = np.copy(t2.aaaa) * 2
+    rdm2.aaaa.oovv += np.transpose(tmp65, (1, 0, 3, 2)) * -1
+    rdm2.aaaa.oovv += np.transpose(tmp67, (0, 1, 3, 2)) * -8
+    rdm2.aaaa.oovv += np.transpose(tmp69, (0, 1, 3, 2)) * -2
+    rdm2.aaaa.oovv += np.transpose(tmp71, (0, 1, 3, 2)) * -2
+    rdm2.aaaa.oovv += np.transpose(tmp71, (1, 0, 2, 3)) * -2
+    rdm2.aaaa.oovv += einsum(tmp56, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.aaaa.oovv += tmp67 * 8
+    del tmp67
+    rdm2.aaaa.oovv += tmp69 * 2
+    del tmp69
+    rdm2.aaaa.oovv += tmp71 * 2
+    rdm2.aaaa.oovv += np.transpose(tmp71, (1, 0, 3, 2)) * 2
+    del tmp71
+    rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp22, (2, 3), (0, 2, 1, 3))
+    rdm2.aaaa.oovv += einsum(tmp72, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3))
+    rdm2.aaaa.oovv += einsum(tmp72, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3)) * -1
+    del tmp72
+    rdm2.aaaa.oovv += tmp73 * 2
+    rdm2.aaaa.oovv += np.transpose(tmp65, (1, 0, 2, 3))
+    del tmp65
+    rdm2.aaaa.oovv += np.transpose(tmp73, (0, 1, 3, 2)) * -2
+    del tmp73
+    rdm2.aaaa.oovv += np.transpose(tmp74, (1, 0, 3, 2)) * -2
+    rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp29, (2, 3), (0, 2, 1, 3)) * -1
+    rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp29, (2, 3), (0, 2, 3, 1))
+    rdm2.aaaa.oovv += np.transpose(tmp74, (0, 1, 3, 2)) * 2
+    del tmp74
+    rdm2.aaaa.oovv += einsum(tmp29, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1))
+    rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp29, (2, 3), (2, 0, 3, 1)) * -1
+    rdm2.aaaa.oovv += np.transpose(tmp75, (1, 0, 3, 2)) * 2
+    del tmp75
+    rdm2.aaaa.oovv += einsum(tmp76, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3)) * 2
+    del tmp76
+    rdm2.aaaa.oovv += np.transpose(tmp78, (1, 0, 2, 3))
+    rdm2.aaaa.oovv += tmp78 * -1
+    rdm2.aaaa.oovv += np.transpose(tmp78, (1, 0, 3, 2)) * -1
+    rdm2.aaaa.oovv += np.transpose(tmp78, (0, 1, 3, 2))
+    del tmp78
+    rdm2.bbbb.vooo = einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1))
+    rdm2.bbbb.vooo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.bbbb.vooo += np.transpose(tmp17, (3, 2, 1, 0)) * 2
+    rdm2.abab.vooo = einsum(l1.aa, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3))
+    rdm2.abab.vooo += np.transpose(tmp13, (3, 2, 0, 1)) * -1
+    del tmp13
+    rdm2.aaaa.vooo = einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1))
+    rdm2.aaaa.vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.aaaa.vooo += np.transpose(tmp6, (3, 2, 1, 0)) * 2
+    rdm2.bbbb.ovoo = einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.bbbb.ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3))
+    rdm2.bbbb.ovoo += np.transpose(tmp17, (2, 3, 1, 0)) * -2
+    del tmp17
+    rdm2.abab.ovoo = einsum(delta.aa.oo, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3))
+    rdm2.abab.ovoo += np.transpose(tmp25, (1, 3, 0, 2)) * -1
+    del tmp25
+    rdm2.aaaa.ovoo = einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.aaaa.ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 1, 3))
+    rdm2.aaaa.ovoo += np.transpose(tmp6, (2, 3, 1, 0)) * -2
+    del tmp6
+    rdm2.bbbb.oovo = einsum(tmp61, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) * 2
+    del tmp61
+    rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp36, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.bbbb.oovo += np.transpose(tmp49, (2, 1, 3, 0)) * 2
+    rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp42, (2, 3), (2, 0, 3, 1)) * -1
+    rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp51, (2, 3), (0, 2, 3, 1)) * 2
+    rdm2.bbbb.oovo += np.transpose(tmp52, (1, 2, 3, 0)) * 4
+    rdm2.bbbb.oovo += np.transpose(tmp53, (1, 2, 3, 0))
+    rdm2.bbbb.oovo += einsum(t1.bb, (0, 1), tmp15, (2, 3), (3, 0, 1, 2)) * 2
+    rdm2.bbbb.oovo += np.transpose(tmp52, (2, 1, 3, 0)) * -4
+    rdm2.bbbb.oovo += np.transpose(tmp53, (2, 1, 3, 0)) * -1
+    rdm2.bbbb.oovo += einsum(t1.bb, (0, 1), tmp15, (2, 3), (0, 3, 1, 2)) * -2
+    rdm2.bbbb.oovo += np.transpose(tmp55, (2, 1, 3, 0)) * -1
+    rdm2.abab.oovo = einsum(tmp56, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3))
+    rdm2.abab.oovo += np.transpose(tmp57, (0, 2, 3, 1)) * -1
+    del tmp57
+    rdm2.abab.oovo += einsum(delta.bb.oo, (0, 1), tmp29, (2, 3), (2, 0, 3, 1)) * -1
+    rdm2.abab.oovo += np.transpose(tmp58, (0, 2, 3, 1)) * -2
+    del tmp58
+    rdm2.abab.oovo += np.transpose(tmp59, (0, 2, 3, 1)) * -2
+    del tmp59
+    rdm2.abab.oovo += einsum(t1.aa, (0, 1), tmp40, (2, 3), (0, 3, 1, 2)) * -1
+    rdm2.abab.oovo += einsum(tmp45, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 4, 2))
+    del tmp45
+    rdm2.abab.oovo += np.transpose(tmp60, (0, 2, 3, 1))
+    del tmp60
+    rdm2.aaaa.oovo = einsum(tmp56, (0, 1), delta.aa.oo, (2, 3), (0, 2, 1, 3))
+    del tmp56
+    rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp22, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.aaaa.oovo += np.transpose(tmp23, (2, 1, 3, 0)) * 2
+    rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp29, (2, 3), (2, 0, 3, 1)) * -1
+    rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp29, (2, 3), (0, 2, 3, 1))
+    rdm2.aaaa.oovo += np.transpose(tmp31, (1, 2, 3, 0))
+    rdm2.aaaa.oovo += np.transpose(tmp30, (1, 2, 3, 0)) * 4
+    rdm2.aaaa.oovo += einsum(tmp4, (0, 1), t1.aa, (2, 3), (1, 2, 3, 0))
+    rdm2.aaaa.oovo += np.transpose(tmp30, (2, 1, 3, 0)) * -4
+    rdm2.aaaa.oovo += np.transpose(tmp31, (2, 1, 3, 0)) * -1
+    rdm2.aaaa.oovo += einsum(t1.aa, (0, 1), tmp27, (2, 3), (0, 3, 1, 2)) * -2
+    del tmp27
+    rdm2.aaaa.oovo += np.transpose(tmp33, (2, 1, 3, 0)) * -1
+    rdm2.bbbb.ooov = einsum(delta.bb.oo, (0, 1), tmp48, (2, 3), (2, 0, 1, 3)) * -1
+    del tmp48
+    rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp36, (2, 3), (0, 2, 1, 3))
+    rdm2.bbbb.ooov += np.transpose(tmp49, (2, 1, 0, 3)) * -2
+    del tmp49
+    rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp42, (2, 3), (2, 0, 1, 3))
+    rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp51, (2, 3), (0, 2, 1, 3)) * -2
+    del tmp51
+    rdm2.bbbb.ooov += np.transpose(tmp52, (1, 2, 0, 3)) * -4
+    rdm2.bbbb.ooov += np.transpose(tmp53, (1, 2, 0, 3)) * -1
+    rdm2.bbbb.ooov += einsum(t1.bb, (0, 1), tmp40, (2, 3), (3, 0, 2, 1)) * -1
+    rdm2.bbbb.ooov += np.transpose(tmp52, (2, 1, 0, 3)) * 4
+    del tmp52
+    rdm2.bbbb.ooov += np.transpose(tmp53, (2, 1, 0, 3))
+    del tmp53
+    rdm2.bbbb.ooov += einsum(t1.bb, (0, 1), tmp40, (2, 3), (0, 3, 2, 1))
+    del tmp40
+    rdm2.bbbb.ooov += np.transpose(tmp55, (2, 1, 0, 3))
+    del tmp55
+    rdm2.abab.ooov = einsum(delta.aa.oo, (0, 1), tmp36, (2, 3), (0, 2, 1, 3))
+    del tmp36
+    rdm2.abab.ooov += np.transpose(tmp37, (1, 2, 0, 3)) * -1
+    del tmp37
+    rdm2.abab.ooov += einsum(tmp42, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1)) * -1
+    del tmp42
+    rdm2.abab.ooov += np.transpose(tmp43, (1, 2, 0, 3)) * -2
+    del tmp43
+    rdm2.abab.ooov += np.transpose(tmp44, (1, 2, 0, 3)) * -2
+    del tmp44
+    rdm2.abab.ooov += einsum(tmp4, (0, 1), t1.bb, (2, 3), (1, 2, 0, 3)) * -1
+    rdm2.abab.ooov += np.transpose(tmp46, (1, 2, 0, 3))
+    del tmp46
+    rdm2.abab.ooov += np.transpose(tmp47, (1, 2, 0, 3))
+    del tmp47
+    rdm2.aaaa.ooov = einsum(delta.aa.oo, (0, 1), tmp21, (2, 3), (2, 0, 1, 3)) * -2
+    del tmp21
+    rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp22, (2, 3), (0, 2, 1, 3))
+    del tmp22
+    rdm2.aaaa.ooov += np.transpose(tmp23, (2, 1, 0, 3)) * -2
+    del tmp23
+    rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp29, (2, 3), (2, 0, 1, 3))
+    rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp29, (2, 3), (0, 2, 1, 3)) * -1
+    del tmp29
+    rdm2.aaaa.ooov += np.transpose(tmp30, (1, 2, 0, 3)) * -4
+    rdm2.aaaa.ooov += np.transpose(tmp31, (1, 2, 0, 3)) * -1
+    rdm2.aaaa.ooov += einsum(tmp4, (0, 1), t1.aa, (2, 3), (1, 2, 0, 3)) * -1
+    rdm2.aaaa.ooov += np.transpose(tmp31, (2, 1, 0, 3))
+    del tmp31
+    rdm2.aaaa.ooov += np.transpose(tmp30, (2, 1, 0, 3)) * 4
+    del tmp30
+    rdm2.aaaa.ooov += einsum(t1.aa, (0, 1), tmp4, (2, 3), (0, 3, 2, 1))
+    rdm2.aaaa.ooov += np.transpose(tmp33, (2, 1, 0, 3))
+    del tmp33
+    rdm2.bbbb.oooo = einsum(delta.bb.oo, (0, 1), tmp11, (2, 3), (0, 3, 1, 2)) * -1
+    rdm2.bbbb.oooo += einsum(tmp11, (0, 1), delta.bb.oo, (2, 3), (1, 2, 3, 0))
+    rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp15, (2, 3), (3, 0, 2, 1)) * -2
+    rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp15, (2, 3), (0, 3, 2, 1)) * 2
+    del tmp15
+    rdm2.bbbb.oooo += np.transpose(tmp16, (3, 2, 1, 0)) * 2
+    del tmp16
+    rdm2.bbbb.oooo += np.transpose(tmp18, (2, 3, 1, 0)) * -2
+    del tmp18
+    rdm2.abab.oooo = einsum(tmp11, (0, 1), delta.aa.oo, (2, 3), (2, 1, 3, 0)) * -1
+    del tmp11
+    rdm2.abab.oooo += einsum(tmp4, (0, 1), delta.bb.oo, (2, 3), (1, 2, 0, 3)) * -1
+    rdm2.abab.oooo += np.transpose(tmp12, (1, 3, 0, 2))
+    del tmp12
+    rdm2.abab.oooo += np.transpose(tmp14, (1, 3, 0, 2))
+    del tmp14
+    rdm2.aaaa.oooo = einsum(delta.aa.oo, (0, 1), tmp3, (2, 3), (0, 3, 1, 2)) * -2
+    rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp3, (2, 3), (3, 0, 1, 2)) * 2
+    del tmp3
+    rdm2.aaaa.oooo += einsum(tmp4, (0, 1), delta.aa.oo, (2, 3), (1, 2, 0, 3)) * -1
+    rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp4, (2, 3), (0, 3, 2, 1))
+    del delta, tmp4
+    rdm2.aaaa.oooo += np.transpose(tmp5, (3, 2, 1, 0)) * 2
+    del tmp5
+    rdm2.aaaa.oooo += np.transpose(tmp7, (2, 3, 1, 0)) * -2
+    del tmp7
+    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
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCC2.hbar_matvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:52:35.145902.

+

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

+

tmp1 : array +tmp102 : array +tmp104 : array +tmp107 : array +tmp108 : array +tmp109 : array +tmp11 : array +tmp117 : array +tmp118 : array +tmp12 : array +tmp121 : array +tmp13 : array +tmp131 : array +tmp134 : array +tmp135 : array +tmp137 : array +tmp138 : array +tmp139 : array +tmp141 : array +tmp143 : array +tmp145 : array +tmp147 : array +tmp149 : array +tmp15 : array +tmp151 : array +tmp152 : array +tmp154 : array +tmp155 : array +tmp156 : array +tmp157 : array +tmp158 : array +tmp16 : array +tmp160 : array +tmp162 : array +tmp165 : array +tmp166 : array +tmp167 : array +tmp170 : array +tmp176 : array +tmp178 : array +tmp18 : array +tmp184 : array +tmp186 : array +tmp188 : array +tmp198 : array +tmp20 : array +tmp22 : array +tmp24 : array +tmp25 : array +tmp26 : array +tmp28 : array +tmp31 : array +tmp32 : array +tmp33 : array +tmp37 : array +tmp39 : array +tmp4 : array +tmp41 : array +tmp43 : array +tmp45 : array +tmp46 : array +tmp47 : array +tmp49 : array +tmp5 : array +tmp52 : array +tmp53 : array +tmp54 : array +tmp56 : array +tmp59 : array +tmp6 : array +tmp62 : array +tmp63 : array +tmp65 : array +tmp66 : array +tmp67 : array +tmp69 : array +tmp7 : array +tmp71 : array +tmp73 : array +tmp75 : array +tmp77 : array +tmp79 : array +tmp81 : array +tmp83 : array +tmp85 : array +tmp87 : array +tmp89 : array +tmp9 : array +tmp96 : array

+ +
+ Source code in ebcc/codegen/UCC2.py +
2100
+2101
+2102
+2103
+2104
+2105
+2106
+2107
+2108
+2109
+2110
+2111
+2112
+2113
+2114
+2115
+2116
+2117
+2118
+2119
+2120
+2121
+2122
+2123
+2124
+2125
+2126
+2127
+2128
+2129
+2130
+2131
+2132
+2133
+2134
+2135
+2136
+2137
+2138
+2139
+2140
+2141
+2142
+2143
+2144
+2145
+2146
+2147
+2148
+2149
+2150
+2151
+2152
+2153
+2154
+2155
+2156
+2157
+2158
+2159
+2160
+2161
+2162
+2163
+2164
+2165
+2166
+2167
+2168
+2169
+2170
+2171
+2172
+2173
+2174
+2175
+2176
+2177
+2178
+2179
+2180
+2181
+2182
+2183
+2184
+2185
+2186
+2187
+2188
+2189
+2190
+2191
+2192
+2193
+2194
+2195
+2196
+2197
+2198
+2199
+2200
+2201
+2202
+2203
+2204
+2205
+2206
+2207
+2208
+2209
+2210
+2211
+2212
+2213
+2214
+2215
+2216
+2217
+2218
+2219
+2220
+2221
+2222
+2223
+2224
+2225
+2226
+2227
+2228
+2229
+2230
+2231
+2232
+2233
+2234
+2235
+2236
+2237
+2238
+2239
+2240
+2241
+2242
+2243
+2244
+2245
+2246
+2247
+2248
+2249
+2250
+2251
+2252
+2253
+2254
+2255
+2256
+2257
+2258
+2259
+2260
+2261
+2262
+2263
+2264
+2265
+2266
+2267
+2268
+2269
+2270
+2271
+2272
+2273
+2274
+2275
+2276
+2277
+2278
+2279
+2280
+2281
+2282
+2283
+2284
+2285
+2286
+2287
+2288
+2289
+2290
+2291
+2292
+2293
+2294
+2295
+2296
+2297
+2298
def hbar_matvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:52:35.145902.
+
+    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
+    -------
+    tmp1 : array
+    tmp102 : array
+    tmp104 : array
+    tmp107 : array
+    tmp108 : array
+    tmp109 : array
+    tmp11 : array
+    tmp117 : array
+    tmp118 : array
+    tmp12 : array
+    tmp121 : array
+    tmp13 : array
+    tmp131 : array
+    tmp134 : array
+    tmp135 : array
+    tmp137 : array
+    tmp138 : array
+    tmp139 : array
+    tmp141 : array
+    tmp143 : array
+    tmp145 : array
+    tmp147 : array
+    tmp149 : array
+    tmp15 : array
+    tmp151 : array
+    tmp152 : array
+    tmp154 : array
+    tmp155 : array
+    tmp156 : array
+    tmp157 : array
+    tmp158 : array
+    tmp16 : array
+    tmp160 : array
+    tmp162 : array
+    tmp165 : array
+    tmp166 : array
+    tmp167 : array
+    tmp170 : array
+    tmp176 : array
+    tmp178 : array
+    tmp18 : array
+    tmp184 : array
+    tmp186 : array
+    tmp188 : array
+    tmp198 : array
+    tmp20 : array
+    tmp22 : array
+    tmp24 : array
+    tmp25 : array
+    tmp26 : array
+    tmp28 : array
+    tmp31 : array
+    tmp32 : array
+    tmp33 : array
+    tmp37 : array
+    tmp39 : array
+    tmp4 : array
+    tmp41 : array
+    tmp43 : array
+    tmp45 : array
+    tmp46 : array
+    tmp47 : array
+    tmp49 : array
+    tmp5 : array
+    tmp52 : array
+    tmp53 : array
+    tmp54 : array
+    tmp56 : array
+    tmp59 : array
+    tmp6 : array
+    tmp62 : array
+    tmp63 : array
+    tmp65 : array
+    tmp66 : array
+    tmp67 : array
+    tmp69 : array
+    tmp7 : array
+    tmp71 : array
+    tmp73 : array
+    tmp75 : array
+    tmp77 : array
+    tmp79 : array
+    tmp81 : array
+    tmp83 : array
+    tmp85 : array
+    tmp87 : array
+    tmp89 : array
+    tmp9 : array
+    tmp96 : array
+    """
+
+    tmp28 = einsum(t1.bb, (0, 1), f.bb.ov, (2, 1), (2, 0))
+    tmp1 = einsum(f.aa.ov, (0, 1), t1.aa, (2, 1), (0, 2))
+    tmp15 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3))
+    tmp12 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3))
+    tmp11 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 1, 0, 3), (2, 3))
+    tmp13 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp9 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1))
+    tmp7 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 1), (0, 3))
+    tmp198 = einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp188 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 3, 5))
+    tmp186 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp184 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp178 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 5, 3, 1), (4, 5, 0, 2)) * -1
+    tmp176 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp170 = einsum(t1.bb, (0, 1), tmp28, (0, 2), (2, 1))
+    tmp167 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2))
+    tmp166 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 0, 1, 3), (4, 2))
+    tmp165 = einsum(f.bb.vv, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp162 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp160 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4))
+    tmp158 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 4), (2, 4)) * -1
+    tmp157 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 1), (0, 4, 5, 3))
+    tmp156 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (0, 3, 1, 4), (2, 4))
+    tmp155 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.bbbb, (2, 1, 4, 3), (0, 4)) * -1
+    tmp154 = einsum(f.aa.ov, (0, 1), t2.abab, (2, 3, 1, 4), (0, 2, 3, 4))
+    tmp152 = einsum(f.bb.oo, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp151 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 5, 3))
+    tmp149 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp147 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp145 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp143 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3))
+    tmp141 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (2, 4, 1, 5), (0, 4, 3, 5))
+    tmp139 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp138 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.abab, (2, 4, 3, 5), (0, 1, 4, 5))
+    tmp137 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 2, 4, 5))
+    tmp135 = einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3))
+    tmp134 = einsum(f.aa.ov, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp131 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp121 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4))
+    tmp118 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp117 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 3, 4, 1), (2, 0, 3, 4))
+    tmp109 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 3, 5))
+    tmp108 = einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp107 = einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp104 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5))
+    tmp102 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 3), (0, 1, 5, 4))
+    tmp96 = einsum(t1.aa, (0, 1), tmp1, (0, 2), (2, 1))
+    tmp89 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp87 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3))
+    tmp85 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp83 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp81 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp79 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp77 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp75 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (4, 1))
+    tmp73 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 3), (4, 1))
+    tmp71 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp69 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp67 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp66 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 3), (4, 2))
+    tmp65 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 3), (0, 4))
+    tmp63 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp62 = einsum(t2.aaaa, (0, 1, 2, 3), f.aa.ov, (1, 3), (0, 2))
+    tmp59 = einsum(f.aa.oo, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp56 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 5, 3, 1), (4, 5, 0, 2)) * -1
+    tmp54 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp53 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 3), (0, 4))
+    tmp52 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (1, 2, 4, 3), (0, 4))
+    tmp49 = einsum(f.aa.vv, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp47 = einsum(tmp15, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp46 = einsum(tmp12, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp45 = einsum(tmp11, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp43 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2))
+    tmp41 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 2), (0, 4)) * -1
+    tmp39 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1))
+    tmp37 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 2, 1))
+    tmp33 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3))
+    tmp32 = einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 0, 1), (2, 3))
+    tmp31 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (1, 3), (0, 2))
+    tmp26 = einsum(t1.aa, (0, 1), tmp13, (2, 1), (0, 2))
+    tmp25 = einsum(t1.aa, (0, 1), tmp9, (2, 1), (0, 2))
+    tmp24 = einsum(t1.aa, (0, 1), tmp7, (2, 1), (0, 2))
+    tmp22 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4))
+    tmp20 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 3, 1), (4, 0)) * -1
+    tmp18 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp16 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3))
+    tmp6 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp5 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1))
+    tmp4 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (1, 3), (0, 2))
+
+    return {f"tmp1": tmp1, f"tmp102": tmp102, f"tmp104": tmp104, f"tmp107": tmp107, f"tmp108": tmp108, f"tmp109": tmp109, f"tmp11": tmp11, f"tmp117": tmp117, f"tmp118": tmp118, f"tmp12": tmp12, f"tmp121": tmp121, f"tmp13": tmp13, f"tmp131": tmp131, f"tmp134": tmp134, f"tmp135": tmp135, f"tmp137": tmp137, f"tmp138": tmp138, f"tmp139": tmp139, f"tmp141": tmp141, f"tmp143": tmp143, f"tmp145": tmp145, f"tmp147": tmp147, f"tmp149": tmp149, f"tmp15": tmp15, f"tmp151": tmp151, f"tmp152": tmp152, f"tmp154": tmp154, f"tmp155": tmp155, f"tmp156": tmp156, f"tmp157": tmp157, f"tmp158": tmp158, f"tmp16": tmp16, f"tmp160": tmp160, f"tmp162": tmp162, f"tmp165": tmp165, f"tmp166": tmp166, f"tmp167": tmp167, f"tmp170": tmp170, f"tmp176": tmp176, f"tmp178": tmp178, f"tmp18": tmp18, f"tmp184": tmp184, f"tmp186": tmp186, f"tmp188": tmp188, f"tmp198": tmp198, f"tmp20": tmp20, f"tmp22": tmp22, f"tmp24": tmp24, f"tmp25": tmp25, f"tmp26": tmp26, f"tmp28": tmp28, f"tmp31": tmp31, f"tmp32": tmp32, f"tmp33": tmp33, f"tmp37": tmp37, f"tmp39": tmp39, f"tmp4": tmp4, f"tmp41": tmp41, f"tmp43": tmp43, f"tmp45": tmp45, f"tmp46": tmp46, f"tmp47": tmp47, f"tmp49": tmp49, f"tmp5": tmp5, f"tmp52": tmp52, f"tmp53": tmp53, f"tmp54": tmp54, f"tmp56": tmp56, f"tmp59": tmp59, f"tmp6": tmp6, f"tmp62": tmp62, f"tmp63": tmp63, f"tmp65": tmp65, f"tmp66": tmp66, f"tmp67": tmp67, f"tmp69": tmp69, f"tmp7": tmp7, f"tmp71": tmp71, f"tmp73": tmp73, f"tmp75": tmp75, f"tmp77": tmp77, f"tmp79": tmp79, f"tmp81": tmp81, f"tmp83": tmp83, f"tmp85": tmp85, f"tmp87": tmp87, f"tmp89": tmp89, f"tmp9": tmp9, f"tmp96": tmp96}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCC2.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-17T18:52:35.199000.

+

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.

+ +
+ Source code in ebcc/codegen/UCC2.py +
2300
+2301
+2302
+2303
+2304
+2305
+2306
+2307
+2308
+2309
+2310
+2311
+2312
+2313
+2314
+2315
+2316
+2317
+2318
+2319
+2320
+2321
+2322
+2323
+2324
+2325
+2326
+2327
+2328
+2329
+2330
+2331
+2332
+2333
+2334
+2335
+2336
+2337
+2338
+2339
+2340
+2341
+2342
+2343
+2344
+2345
+2346
+2347
+2348
+2349
+2350
+2351
+2352
+2353
+2354
+2355
+2356
+2357
+2358
+2359
+2360
+2361
+2362
+2363
+2364
+2365
+2366
+2367
+2368
+2369
+2370
+2371
+2372
+2373
+2374
+2375
+2376
+2377
+2378
+2379
+2380
+2381
+2382
+2383
+2384
+2385
+2386
+2387
+2388
+2389
+2390
+2391
+2392
+2393
+2394
+2395
+2396
+2397
+2398
+2399
+2400
+2401
+2402
+2403
+2404
+2405
+2406
+2407
+2408
+2409
+2410
+2411
+2412
+2413
+2414
+2415
+2416
+2417
+2418
+2419
+2420
+2421
+2422
+2423
+2424
+2425
+2426
+2427
+2428
+2429
+2430
+2431
+2432
+2433
+2434
+2435
+2436
+2437
+2438
+2439
+2440
+2441
+2442
+2443
+2444
+2445
+2446
+2447
+2448
+2449
+2450
+2451
+2452
+2453
+2454
+2455
+2456
+2457
+2458
+2459
+2460
+2461
+2462
+2463
+2464
+2465
+2466
+2467
+2468
+2469
+2470
+2471
+2472
+2473
+2474
+2475
+2476
+2477
+2478
+2479
+2480
+2481
+2482
+2483
+2484
+2485
+2486
+2487
+2488
+2489
+2490
+2491
+2492
+2493
+2494
+2495
+2496
+2497
+2498
+2499
+2500
+2501
+2502
+2503
+2504
+2505
+2506
+2507
+2508
+2509
+2510
+2511
+2512
+2513
+2514
+2515
+2516
+2517
+2518
+2519
+2520
+2521
+2522
+2523
+2524
+2525
+2526
+2527
+2528
+2529
+2530
+2531
+2532
+2533
+2534
+2535
+2536
+2537
+2538
+2539
+2540
+2541
+2542
+2543
+2544
+2545
+2546
+2547
+2548
+2549
+2550
+2551
+2552
+2553
+2554
+2555
+2556
+2557
+2558
+2559
+2560
+2561
+2562
+2563
+2564
+2565
+2566
+2567
+2568
+2569
+2570
+2571
+2572
+2573
+2574
+2575
+2576
+2577
+2578
+2579
+2580
+2581
+2582
+2583
+2584
+2585
+2586
+2587
+2588
+2589
+2590
+2591
+2592
+2593
+2594
+2595
+2596
+2597
+2598
+2599
+2600
+2601
+2602
+2603
+2604
+2605
+2606
+2607
+2608
+2609
+2610
+2611
+2612
+2613
+2614
+2615
+2616
+2617
+2618
+2619
+2620
+2621
+2622
+2623
+2624
+2625
+2626
+2627
+2628
+2629
+2630
+2631
+2632
+2633
+2634
+2635
+2636
+2637
+2638
+2639
+2640
+2641
+2642
+2643
+2644
+2645
+2646
+2647
+2648
+2649
+2650
+2651
+2652
+2653
+2654
+2655
+2656
+2657
+2658
+2659
+2660
+2661
+2662
+2663
+2664
+2665
+2666
+2667
+2668
+2669
+2670
+2671
+2672
+2673
+2674
+2675
+2676
+2677
+2678
+2679
+2680
+2681
+2682
+2683
+2684
+2685
+2686
+2687
+2688
+2689
+2690
+2691
+2692
+2693
+2694
+2695
+2696
+2697
+2698
+2699
+2700
+2701
+2702
+2703
+2704
+2705
+2706
+2707
+2708
+2709
+2710
+2711
+2712
+2713
+2714
+2715
+2716
+2717
+2718
+2719
+2720
+2721
+2722
+2723
+2724
+2725
+2726
+2727
+2728
+2729
+2730
+2731
+2732
+2733
+2734
+2735
+2736
+2737
+2738
+2739
+2740
+2741
+2742
+2743
+2744
+2745
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-17T18:52:35.199000.
+
+    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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp56 = np.copy(ints.tmp147)
+    tmp56 += ints.tmp151 * 0.5
+    tmp58 = np.copy(ints.tmp41) * 2
+    tmp58 += ints.tmp43
+    tmp60 = np.copy(ints.tmp184)
+    del ints.tmp184
+    tmp60 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) * 0.5
+    tmp65 = np.copy(ints.tmp143)
+    tmp65 += ints.tmp149 * 2
+    tmp67 = np.copy(f.bb.oo)
+    tmp67 += ints.tmp28
+    tmp69 = np.copy(ints.tmp188)
+    del ints.tmp188
+    tmp69 += ints.tmp186 * 2
+    del ints.tmp186
+    tmp22 = np.copy(ints.tmp20) * 2
+    tmp22 += ints.tmp22
+    tmp24 = np.copy(ints.tmp67)
+    del ints.tmp67
+    tmp24 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3)) * 0.5
+    tmp20 = np.copy(ints.tmp83)
+    tmp20 += ints.tmp87 * 2
+    tmp18 = np.copy(ints.tmp79)
+    tmp18 += ints.tmp85 * 0.5
+    tmp12 = np.copy(f.aa.oo)
+    tmp12 += ints.tmp1
+    tmp14 = np.copy(ints.tmp71)
+    del ints.tmp71
+    tmp14 += ints.tmp69 * 2
+    del ints.tmp69
+    tmp39 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.aba, (0, 2, 1), (3,))
+    tmp40 = einsum(r2.bbb, (0, 1, 2), v.bbbb.ovov, (0, 3, 1, 2), (3,))
+    tmp57 = einsum(r2.bbb, (0, 1, 2), tmp56, (3, 1, 4, 2), (0, 3, 4)) * -4
+    del tmp56
+    tmp53 = einsum(ints.tmp141, (0, 1, 2, 3), r2.aba, (0, 4, 2), (1, 4, 3))
+    tmp59 = einsum(tmp58, (0, 1), r2.bbb, (2, 1, 3), (2, 0, 3)) * -2
+    del tmp58
+    tmp55 = einsum(v.bbbb.oovv, (0, 1, 2, 3), r2.bbb, (4, 1, 3), (4, 0, 2))
+    tmp61 = einsum(r1.b, (0,), tmp60, (1, 2, 0, 3), (1, 2, 3)) * 2
+    del tmp60
+    tmp54 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.aba, (0, 4, 1), (4, 2, 3))
+    tmp63 = einsum(r2.bbb, (0, 1, 2), ints.tmp145, (3, 1, 4, 2), (3, 0, 4))
+    tmp66 = einsum(r2.aba, (0, 1, 2), tmp65, (0, 3, 2, 4), (1, 3, 4))
+    del tmp65
+    tmp64 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r2.bbb, (4, 2, 3), (4, 0, 1))
+    tmp68 = einsum(tmp67, (0, 1), r2.bbb, (2, 0, 3), (2, 1, 3)) * -1
+    del tmp67
+    tmp70 = einsum(r1.b, (0,), tmp69, (1, 2, 0, 3), (1, 2, 3))
+    del tmp69
+    tmp49 = einsum(f.bb.ov, (0, 1), t1.bb, (0, 2), (1, 2))
+    tmp31 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.bab, (2, 0, 3), (1,)) * -1
+    tmp30 = einsum(v.aaaa.ovov, (0, 1, 2, 3), r2.aaa, (0, 2, 3), (1,))
+    tmp28 = einsum(f.aa.ov, (0, 1), t1.aa, (0, 2), (1, 2))
+    tmp17 = einsum(v.aaaa.oovv, (0, 1, 2, 3), r2.aaa, (4, 1, 3), (4, 0, 2))
+    tmp23 = einsum(tmp22, (0, 1), r2.aaa, (2, 1, 3), (2, 0, 3)) * -2
+    del tmp22
+    tmp25 = einsum(r1.a, (0,), tmp24, (1, 2, 0, 3), (1, 2, 3)) * 2
+    del tmp24
+    tmp21 = einsum(r2.bab, (0, 1, 2), tmp20, (3, 0, 4, 2), (1, 3, 4)) * -1
+    del tmp20
+    tmp19 = einsum(r2.aaa, (0, 1, 2), tmp18, (3, 1, 4, 2), (0, 3, 4)) * -4
+    del tmp18
+    tmp9 = einsum(v.aaaa.ovov, (0, 1, 2, 3), r2.aaa, (4, 2, 3), (4, 0, 1))
+    tmp8 = einsum(r2.aaa, (0, 1, 2), ints.tmp77, (3, 1, 4, 2), (3, 0, 4))
+    tmp13 = einsum(tmp12, (0, 1), r2.aaa, (2, 0, 3), (2, 1, 3)) * -1
+    del tmp12
+    tmp15 = einsum(r1.a, (0,), tmp14, (1, 2, 0, 3), (1, 2, 3))
+    del tmp14
+    tmp11 = einsum(r2.bab, (0, 1, 2), v.aabb.ovov, (3, 4, 0, 2), (1, 3, 4)) * -1
+    tmp10 = einsum(ints.tmp81, (0, 1, 2, 3), r2.bab, (1, 4, 3), (0, 4, 2)) * -1
+    tmp52 = np.copy(ints.tmp152)
+    del ints.tmp152
+    tmp52 += ints.tmp155 * 2
+    del ints.tmp155
+    tmp52 += ints.tmp156
+    del ints.tmp156
+    tmp52 += ints.tmp166 * 2
+    del ints.tmp166
+    tmp52 += ints.tmp170
+    del ints.tmp170
+    tmp52 += f.bb.ov * -1
+    tmp52 += ints.tmp134 * -1
+    del ints.tmp134
+    tmp52 += ints.tmp135 * -2
+    del ints.tmp135
+    tmp52 += ints.tmp165 * -1
+    del ints.tmp165
+    tmp52 += ints.tmp167 * -1
+    del ints.tmp167
+    tmp73 = np.copy(tmp39) * -0.5
+    tmp73 += tmp40
+    tmp74 = np.copy(ints.tmp176)
+    del ints.tmp176
+    tmp74 += np.transpose(ints.tmp198, (1, 2, 0, 3)) * -1
+    del ints.tmp198
+    tmp72 = np.copy(ints.tmp178)
+    del ints.tmp178
+    tmp72 += np.transpose(v.bbbb.oooo, (0, 2, 1, 3))
+    tmp62 = np.copy(tmp53)
+    del tmp53
+    tmp62 += tmp54
+    del tmp54
+    tmp62 += tmp55 * 2
+    del tmp55
+    tmp62 += np.transpose(tmp57, (1, 0, 2)) * -1
+    del tmp57
+    tmp62 += np.transpose(tmp59, (1, 0, 2))
+    del tmp59
+    tmp62 += tmp61
+    del tmp61
+    tmp71 = np.copy(tmp63) * 4
+    del tmp63
+    tmp71 += tmp64 * 2
+    del tmp64
+    tmp71 += np.transpose(tmp66, (1, 0, 2))
+    del tmp66
+    tmp71 += np.transpose(tmp68, (1, 0, 2)) * -2
+    del tmp68
+    tmp71 += tmp70
+    del tmp70
+    tmp50 = np.copy(np.transpose(ints.tmp158, (1, 0))) * 2
+    del ints.tmp158
+    tmp50 += np.transpose(ints.tmp160, (1, 0))
+    del ints.tmp160
+    tmp50 += f.bb.vv * -1
+    tmp50 += tmp49
+    del tmp49
+    tmp44 = np.copy(f.aa.oo)
+    tmp44 += ints.tmp1
+    tmp44 += np.transpose(ints.tmp20, (1, 0)) * 2
+    tmp44 += np.transpose(ints.tmp22, (1, 0))
+    tmp32 = np.copy(tmp30) * 2
+    del tmp30
+    tmp32 += tmp31
+    del tmp31
+    tmp48 = np.copy(ints.tmp104)
+    tmp48 += v.aabb.oooo
+    tmp47 = np.copy(ints.tmp162)
+    del ints.tmp162
+    tmp47 += v.aabb.oovv * -1
+    tmp51 = np.copy(ints.tmp131)
+    del ints.tmp131
+    tmp51 += ints.tmp138
+    del ints.tmp138
+    tmp51 += ints.tmp139 * 2
+    del ints.tmp139
+    tmp51 += np.transpose(ints.tmp154, (1, 0, 2, 3))
+    del ints.tmp154
+    tmp51 += v.aabb.ooov
+    tmp51 += ints.tmp137 * -1
+    del ints.tmp137
+    tmp51 += ints.tmp157 * -1
+    del ints.tmp157
+    tmp46 = np.copy(ints.tmp143)
+    del ints.tmp143
+    tmp46 += ints.tmp149 * 2
+    del ints.tmp149
+    tmp46 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp46 += ints.tmp141 * -1
+    del ints.tmp141
+    tmp45 = np.copy(ints.tmp147) * 2
+    del ints.tmp147
+    tmp45 += ints.tmp151
+    del ints.tmp151
+    tmp45 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    tmp45 += ints.tmp145 * -2
+    del ints.tmp145
+    tmp45 += v.bbbb.oovv * -1
+    tmp43 = np.copy(f.bb.oo)
+    tmp43 += ints.tmp28
+    tmp43 += np.transpose(ints.tmp41, (1, 0)) * 2
+    tmp43 += np.transpose(ints.tmp43, (1, 0))
+    tmp41 = np.copy(tmp39) * -1
+    del tmp39
+    tmp41 += tmp40 * 2
+    del tmp40
+    tmp36 = np.copy(ints.tmp83)
+    del ints.tmp83
+    tmp36 += ints.tmp87 * 2
+    del ints.tmp87
+    tmp36 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp36 += ints.tmp81 * -1
+    del ints.tmp81
+    tmp35 = np.copy(ints.tmp79) * 2
+    del ints.tmp79
+    tmp35 += ints.tmp85
+    del ints.tmp85
+    tmp35 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp35 += ints.tmp77 * -2
+    del ints.tmp77
+    tmp35 += v.aaaa.oovv * -1
+    tmp42 = np.copy(ints.tmp102)
+    del ints.tmp102
+    tmp42 += ints.tmp108
+    del ints.tmp108
+    tmp42 += ints.tmp109 * 2
+    del ints.tmp109
+    tmp42 += np.transpose(ints.tmp117, (0, 2, 1, 3))
+    del ints.tmp117
+    tmp42 += np.transpose(v.aabb.ovoo, (0, 2, 3, 1))
+    tmp42 += ints.tmp107 * -1
+    del ints.tmp107
+    tmp42 += ints.tmp118 * -1
+    del ints.tmp118
+    tmp37 = np.copy(ints.tmp121)
+    del ints.tmp121
+    tmp37 += np.transpose(v.aabb.vvoo, (2, 3, 0, 1)) * -1
+    tmp38 = np.copy(ints.tmp104)
+    del ints.tmp104
+    tmp38 += v.aabb.oooo
+    tmp34 = np.copy(ints.tmp52) * 2
+    del ints.tmp52
+    tmp34 += ints.tmp59
+    del ints.tmp59
+    tmp34 += ints.tmp65 * 2
+    del ints.tmp65
+    tmp34 += ints.tmp66
+    del ints.tmp66
+    tmp34 += ints.tmp96
+    del ints.tmp96
+    tmp34 += f.aa.ov * -1
+    tmp34 += ints.tmp49 * -1
+    del ints.tmp49
+    tmp34 += ints.tmp53 * -1
+    del ints.tmp53
+    tmp34 += ints.tmp62 * -2
+    del ints.tmp62
+    tmp34 += ints.tmp63 * -1
+    del ints.tmp63
+    tmp29 = np.copy(np.transpose(ints.tmp73, (1, 0))) * 2
+    del ints.tmp73
+    tmp29 += np.transpose(ints.tmp75, (1, 0))
+    del ints.tmp75
+    tmp29 += f.aa.vv * -1
+    tmp29 += tmp28
+    del tmp28
+    tmp26 = np.copy(tmp17) * 2
+    del tmp17
+    tmp26 += np.transpose(tmp19, (1, 0, 2)) * -1
+    del tmp19
+    tmp26 += np.transpose(tmp21, (1, 0, 2))
+    del tmp21
+    tmp26 += np.transpose(tmp23, (1, 0, 2))
+    del tmp23
+    tmp26 += tmp25
+    del tmp25
+    tmp33 = np.copy(ints.tmp54)
+    del ints.tmp54
+    tmp33 += np.transpose(ints.tmp89, (1, 2, 0, 3)) * -1
+    del ints.tmp89
+    tmp27 = np.copy(ints.tmp56)
+    del ints.tmp56
+    tmp27 += np.transpose(v.aaaa.oooo, (0, 2, 1, 3))
+    tmp16 = np.copy(tmp8) * 4
+    del tmp8
+    tmp16 += tmp9 * 2
+    del tmp9
+    tmp16 += tmp10
+    del tmp10
+    tmp16 += tmp11
+    del tmp11
+    tmp16 += np.transpose(tmp13, (1, 0, 2)) * -2
+    del tmp13
+    tmp16 += tmp15
+    del tmp15
+    tmp6 = np.copy(ints.tmp37)
+    del ints.tmp37
+    tmp6 += v.bbbb.ooov * -1
+    tmp7 = np.copy(f.bb.oo)
+    tmp7 += ints.tmp28
+    del ints.tmp28
+    tmp7 += np.transpose(ints.tmp32, (1, 0))
+    del ints.tmp32
+    tmp7 += np.transpose(ints.tmp33, (1, 0))
+    del ints.tmp33
+    tmp7 += np.transpose(ints.tmp41, (1, 0)) * 2
+    del ints.tmp41
+    tmp7 += np.transpose(ints.tmp43, (1, 0))
+    del ints.tmp43
+    tmp7 += np.transpose(ints.tmp46, (1, 0))
+    del ints.tmp46
+    tmp7 += np.transpose(ints.tmp47, (1, 0))
+    del ints.tmp47
+    tmp7 += np.transpose(ints.tmp31, (1, 0)) * -1
+    del ints.tmp31
+    tmp7 += np.transpose(ints.tmp45, (1, 0)) * -1
+    del ints.tmp45
+    tmp2 = np.copy(f.bb.ov)
+    tmp2 += ints.tmp12
+    del ints.tmp12
+    tmp2 += ints.tmp15
+    del ints.tmp15
+    tmp2 += ints.tmp11 * -1
+    del ints.tmp11
+    tmp5 = np.copy(ints.tmp39)
+    del ints.tmp39
+    tmp5 += np.transpose(v.aabb.ovoo, (0, 2, 3, 1))
+    tmp3 = np.copy(f.aa.ov)
+    tmp3 += ints.tmp13
+    del ints.tmp13
+    tmp3 += ints.tmp9
+    del ints.tmp9
+    tmp3 += ints.tmp7 * -1
+    del ints.tmp7
+    tmp4 = np.copy(f.aa.oo)
+    tmp4 += ints.tmp1
+    del ints.tmp1
+    tmp4 += np.transpose(ints.tmp20, (1, 0)) * 2
+    del ints.tmp20
+    tmp4 += np.transpose(ints.tmp22, (1, 0))
+    del ints.tmp22
+    tmp4 += np.transpose(ints.tmp25, (1, 0))
+    del ints.tmp25
+    tmp4 += np.transpose(ints.tmp26, (1, 0))
+    del ints.tmp26
+    tmp4 += np.transpose(ints.tmp5, (1, 0))
+    del ints.tmp5
+    tmp4 += np.transpose(ints.tmp6, (1, 0))
+    del ints.tmp6
+    tmp4 += np.transpose(ints.tmp24, (1, 0)) * -1
+    del ints.tmp24
+    tmp4 += np.transpose(ints.tmp4, (1, 0)) * -1
+    del ints.tmp4
+    tmp0 = np.copy(ints.tmp18)
+    del ints.tmp18
+    tmp0 += v.aabb.ooov
+    tmp1 = np.copy(ints.tmp16)
+    del ints.tmp16
+    tmp1 += v.aaaa.ooov * -1
+    r2new.bbb = np.copy(tmp62) * -1
+    r2new.bbb += np.transpose(tmp62, (1, 0, 2))
+    del tmp62
+    r2new.bbb += tmp71
+    r2new.bbb += np.transpose(tmp71, (1, 0, 2)) * -1
+    del tmp71
+    r2new.bbb += einsum(tmp72, (0, 1, 2, 3), r2.bbb, (3, 2, 4), (0, 1, 4)) * -2
+    del tmp72
+    r2new.bbb += einsum(tmp50, (0, 1), r2.bbb, (2, 3, 0), (2, 3, 1)) * -2
+    r2new.bbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp73, (3,), (0, 1, 2)) * 4
+    del tmp73
+    r2new.bbb += einsum(r1.b, (0,), tmp74, (1, 2, 0, 3), (2, 1, 3)) * 2
+    del tmp74
+    r2new.bbb += einsum(r1.b, (0,), tmp52, (1, 2), (0, 1, 2)) * -1
+    r2new.bbb += einsum(tmp52, (0, 1), r1.b, (2,), (0, 2, 1))
+    r2new.bab = einsum(r2.bab, (0, 1, 2), tmp45, (3, 0, 4, 2), (3, 1, 4))
+    del tmp45
+    r2new.bab += einsum(r2.aaa, (0, 1, 2), tmp46, (1, 3, 2, 4), (3, 0, 4)) * -2
+    del tmp46
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp47, (3, 1, 4, 2), (0, 3, 4))
+    del tmp47
+    r2new.bab += einsum(tmp48, (0, 1, 2, 3), r2.bab, (3, 1, 4), (2, 0, 4))
+    del tmp48
+    r2new.bab += einsum(tmp50, (0, 1), r2.bab, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp50
+    r2new.bab += einsum(t2.abab, (0, 1, 2, 3), tmp32, (2,), (1, 0, 3))
+    r2new.bab += einsum(r1.a, (0,), tmp51, (1, 0, 2, 3), (2, 1, 3))
+    del tmp51
+    r2new.bab += einsum(tmp43, (0, 1), r2.bab, (0, 2, 3), (1, 2, 3)) * -1
+    r2new.bab += einsum(tmp44, (0, 1), r2.bab, (2, 0, 3), (2, 1, 3)) * -1
+    r2new.bab += einsum(tmp52, (0, 1), r1.a, (2,), (0, 2, 1))
+    del tmp52
+    r2new.aba = einsum(tmp35, (0, 1, 2, 3), r2.aba, (1, 4, 3), (0, 4, 2))
+    del tmp35
+    r2new.aba += einsum(r2.bbb, (0, 1, 2), tmp36, (3, 1, 4, 2), (3, 0, 4)) * -2
+    del tmp36
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp37, (3, 1, 4, 2), (0, 3, 4))
+    del tmp37
+    r2new.aba += einsum(tmp38, (0, 1, 2, 3), r2.aba, (1, 3, 4), (0, 2, 4))
+    del tmp38
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp29, (2, 3), (0, 1, 3)) * -1
+    r2new.aba += einsum(tmp41, (0,), t2.abab, (1, 2, 3, 0), (1, 2, 3))
+    del tmp41
+    r2new.aba += einsum(r1.b, (0,), tmp42, (1, 2, 0, 3), (1, 2, 3))
+    del tmp42
+    r2new.aba += einsum(tmp43, (0, 1), r2.aba, (2, 0, 3), (2, 1, 3)) * -1
+    del tmp43
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp44, (0, 3), (3, 1, 2)) * -1
+    del tmp44
+    r2new.aba += einsum(r1.b, (0,), tmp34, (1, 2), (1, 0, 2))
+    r2new.aaa = np.copy(tmp16)
+    r2new.aaa += np.transpose(tmp16, (1, 0, 2)) * -1
+    del tmp16
+    r2new.aaa += tmp26 * -1
+    r2new.aaa += np.transpose(tmp26, (1, 0, 2))
+    del tmp26
+    r2new.aaa += einsum(tmp27, (0, 1, 2, 3), r2.aaa, (2, 3, 4), (0, 1, 4)) * 2
+    del tmp27
+    r2new.aaa += einsum(tmp29, (0, 1), r2.aaa, (2, 3, 0), (2, 3, 1)) * -2
+    del tmp29
+    r2new.aaa += einsum(tmp32, (0,), t2.aaaa, (1, 2, 3, 0), (1, 2, 3)) * 2
+    del tmp32
+    r2new.aaa += einsum(r1.a, (0,), tmp33, (1, 2, 0, 3), (2, 1, 3)) * 2
+    del tmp33
+    r2new.aaa += einsum(tmp34, (0, 1), r1.a, (2,), (2, 0, 1)) * -1
+    r2new.aaa += einsum(tmp34, (0, 1), r1.a, (2,), (0, 2, 1))
+    del tmp34
+    r1new.b = einsum(tmp5, (0, 1, 2, 3), r2.aba, (0, 2, 3), (1,))
+    del tmp5
+    r1new.b += einsum(tmp6, (0, 1, 2, 3), r2.bbb, (1, 2, 3), (0,)) * 2
+    del tmp6
+    r1new.b += einsum(tmp2, (0, 1), r2.bbb, (2, 0, 1), (2,)) * 2
+    r1new.b += einsum(tmp3, (0, 1), r2.aba, (0, 2, 1), (2,)) * -1
+    r1new.b += einsum(tmp7, (0, 1), r1.b, (0,), (1,)) * -1
+    del tmp7
+    r1new.a = einsum(tmp0, (0, 1, 2, 3), r2.bab, (2, 1, 3), (0,))
+    del tmp0
+    r1new.a += einsum(tmp1, (0, 1, 2, 3), r2.aaa, (2, 1, 3), (0,)) * -2
+    del tmp1
+    r1new.a += einsum(r2.bab, (0, 1, 2), tmp2, (0, 2), (1,)) * -1
+    del tmp2
+    r1new.a += einsum(r2.aaa, (0, 1, 2), tmp3, (1, 2), (0,)) * 2
+    del tmp3
+    r1new.a += einsum(tmp4, (0, 1), r1.a, (0,), (1,)) * -1
+    del tmp4
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCC2.hbar_matvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:53:15.241280.

+

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

+

tmp101 : array +tmp104 : array +tmp105 : array +tmp11 : array +tmp115 : array +tmp116 : array +tmp117 : array +tmp12 : array +tmp128 : array +tmp13 : array +tmp131 : array +tmp132 : array +tmp138 : array +tmp139 : array +tmp141 : array +tmp142 : array +tmp143 : array +tmp145 : array +tmp147 : array +tmp148 : array +tmp149 : array +tmp15 : array +tmp150 : array +tmp152 : array +tmp153 : array +tmp154 : array +tmp155 : array +tmp156 : array +tmp160 : array +tmp162 : array +tmp164 : array +tmp166 : array +tmp168 : array +tmp170 : array +tmp176 : array +tmp178 : array +tmp180 : array +tmp193 : array +tmp20 : array +tmp22 : array +tmp31 : array +tmp32 : array +tmp33 : array +tmp4 : array +tmp41 : array +tmp43 : array +tmp5 : array +tmp50 : array +tmp51 : array +tmp55 : array +tmp57 : array +tmp59 : array +tmp6 : array +tmp63 : array +tmp65 : array +tmp67 : array +tmp69 : array +tmp7 : array +tmp71 : array +tmp73 : array +tmp76 : array +tmp79 : array +tmp80 : array +tmp81 : array +tmp88 : array +tmp89 : array +tmp9 : array +tmp91 : array +tmp93 : array +tmp94 : array +tmp95 : array +tmp97 : array

+ +
+ Source code in ebcc/codegen/UCC2.py +
2747
+2748
+2749
+2750
+2751
+2752
+2753
+2754
+2755
+2756
+2757
+2758
+2759
+2760
+2761
+2762
+2763
+2764
+2765
+2766
+2767
+2768
+2769
+2770
+2771
+2772
+2773
+2774
+2775
+2776
+2777
+2778
+2779
+2780
+2781
+2782
+2783
+2784
+2785
+2786
+2787
+2788
+2789
+2790
+2791
+2792
+2793
+2794
+2795
+2796
+2797
+2798
+2799
+2800
+2801
+2802
+2803
+2804
+2805
+2806
+2807
+2808
+2809
+2810
+2811
+2812
+2813
+2814
+2815
+2816
+2817
+2818
+2819
+2820
+2821
+2822
+2823
+2824
+2825
+2826
+2827
+2828
+2829
+2830
+2831
+2832
+2833
+2834
+2835
+2836
+2837
+2838
+2839
+2840
+2841
+2842
+2843
+2844
+2845
+2846
+2847
+2848
+2849
+2850
+2851
+2852
+2853
+2854
+2855
+2856
+2857
+2858
+2859
+2860
+2861
+2862
+2863
+2864
+2865
+2866
+2867
+2868
+2869
+2870
+2871
+2872
+2873
+2874
+2875
+2876
+2877
+2878
+2879
+2880
+2881
+2882
+2883
+2884
+2885
+2886
+2887
+2888
+2889
+2890
+2891
+2892
+2893
+2894
+2895
+2896
+2897
+2898
+2899
+2900
+2901
+2902
+2903
+2904
+2905
+2906
+2907
+2908
+2909
+2910
+2911
def hbar_matvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:53:15.241280.
+
+    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
+    -------
+    tmp101 : array
+    tmp104 : array
+    tmp105 : array
+    tmp11 : array
+    tmp115 : array
+    tmp116 : array
+    tmp117 : array
+    tmp12 : array
+    tmp128 : array
+    tmp13 : array
+    tmp131 : array
+    tmp132 : array
+    tmp138 : array
+    tmp139 : array
+    tmp141 : array
+    tmp142 : array
+    tmp143 : array
+    tmp145 : array
+    tmp147 : array
+    tmp148 : array
+    tmp149 : array
+    tmp15 : array
+    tmp150 : array
+    tmp152 : array
+    tmp153 : array
+    tmp154 : array
+    tmp155 : array
+    tmp156 : array
+    tmp160 : array
+    tmp162 : array
+    tmp164 : array
+    tmp166 : array
+    tmp168 : array
+    tmp170 : array
+    tmp176 : array
+    tmp178 : array
+    tmp180 : array
+    tmp193 : array
+    tmp20 : array
+    tmp22 : array
+    tmp31 : array
+    tmp32 : array
+    tmp33 : array
+    tmp4 : array
+    tmp41 : array
+    tmp43 : array
+    tmp5 : array
+    tmp50 : array
+    tmp51 : array
+    tmp55 : array
+    tmp57 : array
+    tmp59 : array
+    tmp6 : array
+    tmp63 : array
+    tmp65 : array
+    tmp67 : array
+    tmp69 : array
+    tmp7 : array
+    tmp71 : array
+    tmp73 : array
+    tmp76 : array
+    tmp79 : array
+    tmp80 : array
+    tmp81 : array
+    tmp88 : array
+    tmp89 : array
+    tmp9 : array
+    tmp91 : array
+    tmp93 : array
+    tmp94 : array
+    tmp95 : array
+    tmp97 : array
+    """
+
+    tmp139 = einsum(t1.bb, (0, 1), f.bb.ov, (2, 1), (2, 0))
+    tmp89 = einsum(f.aa.ov, (0, 1), t1.aa, (2, 1), (0, 2))
+    tmp193 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.bbbb, (2, 1, 4, 5), (0, 4, 5, 3)) * -1
+    tmp180 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 5, 2, 3))
+    tmp178 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (4, 5, 1, 2))
+    tmp176 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (1, 3, 4, 5), (0, 2, 4, 5))
+    tmp170 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 5, 3))
+    tmp168 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp166 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp164 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp162 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3))
+    tmp160 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (2, 4, 1, 5), (0, 4, 3, 5))
+    tmp156 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp155 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (4, 1, 2, 5))
+    tmp154 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 3, 5))
+    tmp153 = einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3))
+    tmp152 = einsum(f.aa.ov, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp150 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (0, 3, 1, 4), (2, 4))
+    tmp149 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.bbbb, (2, 1, 4, 3), (0, 4)) * -1
+    tmp148 = einsum(f.bb.oo, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp147 = einsum(t1.bb, (0, 1), tmp139, (0, 2), (2, 1))
+    tmp145 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2))
+    tmp143 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 1, 3), (4, 0))
+    tmp142 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2))
+    tmp141 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 0, 1, 3), (4, 2))
+    tmp138 = einsum(f.bb.vv, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp132 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 4, 5, 1), (5, 2, 4, 3))
+    tmp131 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4))
+    tmp128 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (4, 5, 1, 2))
+    tmp117 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 5, 2, 3))
+    tmp116 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 5, 1, 2))
+    tmp115 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.abab, (4, 0, 5, 1), (4, 5, 2, 3))
+    tmp105 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp104 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp101 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 5), (0, 4, 3, 5))
+    tmp97 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4))
+    tmp95 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 1, 3), (4, 0))
+    tmp94 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 3), (0, 4))
+    tmp93 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (1, 2, 4, 3), (0, 4))
+    tmp91 = einsum(t1.aa, (0, 1), tmp89, (0, 2), (2, 1))
+    tmp88 = einsum(f.aa.vv, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp81 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 5), (0, 4, 5, 3)) * -1
+    tmp80 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 3), (4, 2))
+    tmp79 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 1, 0, 3), (4, 2)) * -1
+    tmp76 = einsum(f.aa.oo, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp73 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3))
+    tmp71 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp69 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp67 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp65 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp63 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp59 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5))
+    tmp57 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 5, 1, 2))
+    tmp55 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 5, 2, 3))
+    tmp51 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp50 = einsum(t2.aaaa, (0, 1, 2, 3), f.aa.ov, (1, 3), (0, 2))
+    tmp43 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4))
+    tmp41 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 3), (4, 1))
+    tmp33 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3))
+    tmp32 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2))
+    tmp31 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3))
+    tmp22 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (4, 1))
+    tmp20 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 3), (4, 1))
+    tmp15 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3))
+    tmp13 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp12 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3))
+    tmp11 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 1, 0, 3), (2, 3))
+    tmp9 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1))
+    tmp7 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 1), (0, 3))
+    tmp6 = einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3))
+    tmp5 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2))
+    tmp4 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3))
+
+    return {f"tmp101": tmp101, f"tmp104": tmp104, f"tmp105": tmp105, f"tmp11": tmp11, f"tmp115": tmp115, f"tmp116": tmp116, f"tmp117": tmp117, f"tmp12": tmp12, f"tmp128": tmp128, f"tmp13": tmp13, f"tmp131": tmp131, f"tmp132": tmp132, f"tmp138": tmp138, f"tmp139": tmp139, f"tmp141": tmp141, f"tmp142": tmp142, f"tmp143": tmp143, f"tmp145": tmp145, f"tmp147": tmp147, f"tmp148": tmp148, f"tmp149": tmp149, f"tmp15": tmp15, f"tmp150": tmp150, f"tmp152": tmp152, f"tmp153": tmp153, f"tmp154": tmp154, f"tmp155": tmp155, f"tmp156": tmp156, f"tmp160": tmp160, f"tmp162": tmp162, f"tmp164": tmp164, f"tmp166": tmp166, f"tmp168": tmp168, f"tmp170": tmp170, f"tmp176": tmp176, f"tmp178": tmp178, f"tmp180": tmp180, f"tmp193": tmp193, f"tmp20": tmp20, f"tmp22": tmp22, f"tmp31": tmp31, f"tmp32": tmp32, f"tmp33": tmp33, f"tmp4": tmp4, f"tmp41": tmp41, f"tmp43": tmp43, f"tmp5": tmp5, f"tmp50": tmp50, f"tmp51": tmp51, f"tmp55": tmp55, f"tmp57": tmp57, f"tmp59": tmp59, f"tmp6": tmp6, f"tmp63": tmp63, f"tmp65": tmp65, f"tmp67": tmp67, f"tmp69": tmp69, f"tmp7": tmp7, f"tmp71": tmp71, f"tmp73": tmp73, f"tmp76": tmp76, f"tmp79": tmp79, f"tmp80": tmp80, f"tmp81": tmp81, f"tmp88": tmp88, f"tmp89": tmp89, f"tmp9": tmp9, f"tmp91": tmp91, f"tmp93": tmp93, f"tmp94": tmp94, f"tmp95": tmp95, f"tmp97": tmp97}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCC2.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-17T18:53:15.287398.

+

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.

+ +
+ Source code in ebcc/codegen/UCC2.py +
2913
+2914
+2915
+2916
+2917
+2918
+2919
+2920
+2921
+2922
+2923
+2924
+2925
+2926
+2927
+2928
+2929
+2930
+2931
+2932
+2933
+2934
+2935
+2936
+2937
+2938
+2939
+2940
+2941
+2942
+2943
+2944
+2945
+2946
+2947
+2948
+2949
+2950
+2951
+2952
+2953
+2954
+2955
+2956
+2957
+2958
+2959
+2960
+2961
+2962
+2963
+2964
+2965
+2966
+2967
+2968
+2969
+2970
+2971
+2972
+2973
+2974
+2975
+2976
+2977
+2978
+2979
+2980
+2981
+2982
+2983
+2984
+2985
+2986
+2987
+2988
+2989
+2990
+2991
+2992
+2993
+2994
+2995
+2996
+2997
+2998
+2999
+3000
+3001
+3002
+3003
+3004
+3005
+3006
+3007
+3008
+3009
+3010
+3011
+3012
+3013
+3014
+3015
+3016
+3017
+3018
+3019
+3020
+3021
+3022
+3023
+3024
+3025
+3026
+3027
+3028
+3029
+3030
+3031
+3032
+3033
+3034
+3035
+3036
+3037
+3038
+3039
+3040
+3041
+3042
+3043
+3044
+3045
+3046
+3047
+3048
+3049
+3050
+3051
+3052
+3053
+3054
+3055
+3056
+3057
+3058
+3059
+3060
+3061
+3062
+3063
+3064
+3065
+3066
+3067
+3068
+3069
+3070
+3071
+3072
+3073
+3074
+3075
+3076
+3077
+3078
+3079
+3080
+3081
+3082
+3083
+3084
+3085
+3086
+3087
+3088
+3089
+3090
+3091
+3092
+3093
+3094
+3095
+3096
+3097
+3098
+3099
+3100
+3101
+3102
+3103
+3104
+3105
+3106
+3107
+3108
+3109
+3110
+3111
+3112
+3113
+3114
+3115
+3116
+3117
+3118
+3119
+3120
+3121
+3122
+3123
+3124
+3125
+3126
+3127
+3128
+3129
+3130
+3131
+3132
+3133
+3134
+3135
+3136
+3137
+3138
+3139
+3140
+3141
+3142
+3143
+3144
+3145
+3146
+3147
+3148
+3149
+3150
+3151
+3152
+3153
+3154
+3155
+3156
+3157
+3158
+3159
+3160
+3161
+3162
+3163
+3164
+3165
+3166
+3167
+3168
+3169
+3170
+3171
+3172
+3173
+3174
+3175
+3176
+3177
+3178
+3179
+3180
+3181
+3182
+3183
+3184
+3185
+3186
+3187
+3188
+3189
+3190
+3191
+3192
+3193
+3194
+3195
+3196
+3197
+3198
+3199
+3200
+3201
+3202
+3203
+3204
+3205
+3206
+3207
+3208
+3209
+3210
+3211
+3212
+3213
+3214
+3215
+3216
+3217
+3218
+3219
+3220
+3221
+3222
+3223
+3224
+3225
+3226
+3227
+3228
+3229
+3230
+3231
+3232
+3233
+3234
+3235
+3236
+3237
+3238
+3239
+3240
+3241
+3242
+3243
+3244
+3245
+3246
+3247
+3248
+3249
+3250
+3251
+3252
+3253
+3254
+3255
+3256
+3257
+3258
+3259
+3260
+3261
+3262
+3263
+3264
+3265
+3266
+3267
+3268
+3269
+3270
+3271
+3272
+3273
+3274
+3275
+3276
+3277
+3278
+3279
+3280
+3281
+3282
+3283
+3284
+3285
+3286
+3287
+3288
+3289
+3290
+3291
+3292
+3293
+3294
+3295
+3296
+3297
+3298
+3299
+3300
+3301
+3302
+3303
+3304
+3305
+3306
+3307
+3308
+3309
+3310
+3311
+3312
+3313
+3314
+3315
+3316
+3317
+3318
+3319
+3320
+3321
+3322
+3323
+3324
+3325
+3326
+3327
+3328
+3329
+3330
+3331
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-17T18:53:15.287398.
+
+    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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp56 = einsum(r2.bbb, (0, 1, 2), f.bb.ov, (3, 1), (3, 2, 0))
+    tmp62 = np.copy(ints.tmp176)
+    del ints.tmp176
+    tmp62 += ints.tmp180 * 0.5
+    del ints.tmp180
+    tmp62 += v.bbbb.ovvv * 0.5
+    tmp58 = np.copy(ints.tmp166) * 2
+    tmp58 += ints.tmp170
+    tmp60 = np.copy(np.transpose(ints.tmp41, (1, 0)))
+    tmp60 += np.transpose(ints.tmp43, (1, 0)) * 0.5
+    tmp60 += f.bb.vv * -0.5
+    tmp68 = np.copy(ints.tmp162)
+    tmp68 += ints.tmp168 * 2
+    tmp16 = np.copy(ints.tmp69) * 0.5
+    tmp16 += ints.tmp73
+    tmp14 = np.copy(ints.tmp65) * 2
+    tmp14 += ints.tmp71
+    tmp12 = einsum(f.aa.ov, (0, 1), r2.aaa, (2, 1, 3), (0, 3, 2))
+    tmp20 = np.copy(ints.tmp55)
+    del ints.tmp55
+    tmp20 += ints.tmp59 * 0.5
+    del ints.tmp59
+    tmp20 += v.aaaa.ovvv * 0.5
+    tmp18 = np.copy(np.transpose(ints.tmp20, (1, 0)))
+    tmp18 += np.transpose(ints.tmp22, (1, 0)) * 0.5
+    tmp18 += f.aa.vv * -0.5
+    tmp57 = einsum(t1.bb, (0, 1), tmp56, (0, 2, 3), (2, 3, 1))
+    del tmp56
+    tmp63 = einsum(r1.b, (0,), tmp62, (1, 2, 3, 0), (1, 2, 3)) * 2
+    del tmp62
+    tmp53 = einsum(ints.tmp160, (0, 1, 2, 3), r2.aba, (2, 4, 0), (1, 3, 4))
+    tmp59 = einsum(tmp58, (0, 1, 2, 3), r2.bbb, (4, 3, 1), (0, 4, 2)) * -2
+    del tmp58
+    tmp55 = einsum(r2.bbb, (0, 1, 2), v.bbbb.oovv, (3, 2, 4, 1), (3, 0, 4))
+    tmp61 = einsum(r2.bbb, (0, 1, 2), tmp60, (1, 3), (2, 0, 3)) * -4
+    del tmp60
+    tmp54 = einsum(r2.aba, (0, 1, 2), v.aabb.ovov, (2, 0, 3, 4), (3, 1, 4))
+    tmp42 = einsum(f.bb.ov, (0, 1), r1.b, (1,), (0,))
+    tmp7 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.aba, (1, 3, 0), (2,))
+    tmp8 = einsum(r2.bbb, (0, 1, 2), v.bbbb.ovov, (3, 0, 2, 1), (3,))
+    tmp69 = einsum(tmp68, (0, 1, 2, 3), r2.aba, (2, 4, 0), (1, 4, 3))
+    del tmp68
+    tmp66 = einsum(r2.bbb, (0, 1, 2), ints.tmp164, (3, 2, 4, 1), (3, 4, 0))
+    tmp65 = einsum(ints.tmp178, (0, 1, 2, 3), r1.b, (2,), (0, 1, 3))
+    del ints.tmp178
+    tmp67 = einsum(r2.bbb, (0, 1, 2), v.bbbb.ovov, (3, 4, 2, 1), (3, 0, 4))
+    tmp40 = einsum(f.aa.ov, (0, 1), t1.aa, (0, 2), (1, 2))
+    tmp4 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.bab, (3, 1, 2), (0,)) * -1
+    tmp3 = einsum(r2.aaa, (0, 1, 2), v.aaaa.ovov, (3, 1, 2, 0), (3,)) * -1
+    tmp30 = einsum(f.aa.ov, (0, 1), r1.a, (1,), (0,))
+    tmp38 = einsum(f.bb.ov, (0, 1), t1.bb, (0, 2), (1, 2))
+    tmp26 = einsum(r2.bab, (0, 1, 2), ints.tmp67, (3, 2, 4, 0), (3, 4, 1)) * -1
+    tmp23 = einsum(r1.a, (0,), ints.tmp57, (1, 2, 0, 3), (1, 2, 3))
+    del ints.tmp57
+    tmp25 = einsum(r2.aaa, (0, 1, 2), v.aaaa.ovov, (3, 4, 2, 1), (3, 0, 4))
+    tmp27 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.bab, (3, 4, 2), (0, 4, 1)) * -1
+    tmp24 = einsum(ints.tmp63, (0, 1, 2, 3), r2.aaa, (4, 3, 1), (0, 2, 4))
+    tmp17 = einsum(r2.bab, (0, 1, 2), tmp16, (3, 2, 4, 0), (3, 1, 4)) * -2
+    del tmp16
+    tmp15 = einsum(r2.aaa, (0, 1, 2), tmp14, (3, 2, 4, 1), (3, 0, 4)) * -2
+    del tmp14
+    tmp13 = einsum(tmp12, (0, 1, 2), t1.aa, (0, 3), (1, 2, 3))
+    del tmp12
+    tmp21 = einsum(r1.a, (0,), tmp20, (1, 2, 3, 0), (1, 2, 3)) * 2
+    del tmp20
+    tmp19 = einsum(r2.aaa, (0, 1, 2), tmp18, (1, 3), (2, 0, 3)) * -4
+    del tmp18
+    tmp11 = einsum(r2.aaa, (0, 1, 2), v.aaaa.oovv, (3, 2, 4, 1), (3, 0, 4))
+    tmp1 = np.copy(f.bb.ov)
+    tmp1 += ints.tmp12
+    del ints.tmp12
+    tmp1 += ints.tmp15
+    del ints.tmp15
+    tmp1 += ints.tmp11 * -1
+    del ints.tmp11
+    tmp0 = np.copy(f.aa.ov)
+    tmp0 += ints.tmp13
+    del ints.tmp13
+    tmp0 += ints.tmp9
+    del ints.tmp9
+    tmp0 += ints.tmp7 * -1
+    del ints.tmp7
+    tmp52 = einsum(r2.bbb, (0, 1, 2), v.bbbb.ovov, (3, 1, 4, 0), (2, 3, 4)) * -1
+    tmp64 = np.copy(tmp53)
+    del tmp53
+    tmp64 += tmp54
+    del tmp54
+    tmp64 += tmp55 * 2
+    del tmp55
+    tmp64 += tmp57 * 2
+    del tmp57
+    tmp64 += np.transpose(tmp59, (0, 2, 1)) * -1
+    del tmp59
+    tmp64 += np.transpose(tmp61, (0, 2, 1))
+    del tmp61
+    tmp64 += tmp63
+    del tmp63
+    tmp51 = np.copy(ints.tmp141) * 2
+    del ints.tmp141
+    tmp51 += ints.tmp147
+    del ints.tmp147
+    tmp51 += ints.tmp148
+    del ints.tmp148
+    tmp51 += ints.tmp149 * 2
+    del ints.tmp149
+    tmp51 += ints.tmp150
+    del ints.tmp150
+    tmp51 += f.bb.ov * -1
+    tmp51 += ints.tmp138 * -1
+    del ints.tmp138
+    tmp51 += ints.tmp142 * -1
+    del ints.tmp142
+    tmp51 += ints.tmp152 * -1
+    del ints.tmp152
+    tmp51 += ints.tmp153 * -2
+    del ints.tmp153
+    tmp71 = np.copy(tmp42)
+    tmp71 += tmp7 * -1
+    tmp71 += tmp8 * 2
+    tmp70 = np.copy(tmp65) * 2
+    del tmp65
+    tmp70 += tmp66 * 4
+    del tmp66
+    tmp70 += tmp67 * 2
+    del tmp67
+    tmp70 += np.transpose(tmp69, (0, 2, 1))
+    del tmp69
+    tmp50 = np.copy(f.bb.oo)
+    tmp50 += ints.tmp139
+    del ints.tmp139
+    tmp50 += np.transpose(ints.tmp143, (1, 0)) * 2
+    del ints.tmp143
+    tmp50 += np.transpose(ints.tmp145, (1, 0))
+    del ints.tmp145
+    tmp44 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.bab, (3, 1, 4), (0, 4, 2)) * -1
+    tmp41 = np.copy(np.transpose(ints.tmp20, (1, 0))) * 2
+    tmp41 += np.transpose(ints.tmp22, (1, 0))
+    tmp41 += f.aa.vv * -1
+    tmp41 += tmp40
+    del tmp40
+    tmp48 = np.copy(ints.tmp132)
+    del ints.tmp132
+    tmp48 += ints.tmp154
+    del ints.tmp154
+    tmp48 += ints.tmp156 * 2
+    del ints.tmp156
+    tmp48 += np.transpose(v.aabb.vvov, (2, 0, 1, 3))
+    tmp48 += ints.tmp128 * -1
+    del ints.tmp128
+    tmp48 += np.transpose(ints.tmp155, (0, 2, 1, 3)) * -1
+    del ints.tmp155
+    tmp31 = np.copy(tmp30) * 0.5
+    del tmp30
+    tmp31 += tmp3
+    tmp31 += tmp4 * 0.5
+    tmp47 = np.copy(ints.tmp131)
+    del ints.tmp131
+    tmp47 += np.transpose(v.aabb.vvoo, (2, 3, 0, 1)) * -1
+    tmp49 = np.copy(np.transpose(ints.tmp41, (1, 0)))
+    tmp49 += np.transpose(ints.tmp43, (1, 0)) * 0.5
+    tmp49 += f.bb.vv * -0.5
+    tmp49 += tmp38 * 0.5
+    tmp46 = np.copy(ints.tmp162)
+    del ints.tmp162
+    tmp46 += ints.tmp168 * 2
+    del ints.tmp168
+    tmp46 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp46 += ints.tmp160 * -1
+    del ints.tmp160
+    tmp45 = np.copy(ints.tmp166) * 2
+    del ints.tmp166
+    tmp45 += ints.tmp170
+    del ints.tmp170
+    tmp45 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    tmp45 += ints.tmp164 * -2
+    del ints.tmp164
+    tmp45 += v.bbbb.oovv * -1
+    tmp36 = np.copy(ints.tmp104)
+    del ints.tmp104
+    tmp36 += v.aabb.oovv * -1
+    tmp35 = np.copy(ints.tmp69)
+    del ints.tmp69
+    tmp35 += ints.tmp73 * 2
+    del ints.tmp73
+    tmp35 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp35 += ints.tmp67 * -1
+    del ints.tmp67
+    tmp37 = np.copy(ints.tmp105)
+    del ints.tmp105
+    tmp37 += ints.tmp115
+    del ints.tmp115
+    tmp37 += ints.tmp117 * 2
+    del ints.tmp117
+    tmp37 += v.aabb.ovvv
+    tmp37 += ints.tmp101 * -1
+    del ints.tmp101
+    tmp37 += np.transpose(ints.tmp116, (0, 1, 3, 2)) * -1
+    del ints.tmp116
+    tmp33 = einsum(r2.aba, (0, 1, 2), v.aabb.ovov, (3, 0, 4, 1), (2, 3, 4))
+    tmp32 = np.copy(ints.tmp76)
+    del ints.tmp76
+    tmp32 += ints.tmp79 * 2
+    del ints.tmp79
+    tmp32 += ints.tmp80
+    del ints.tmp80
+    tmp32 += ints.tmp91
+    del ints.tmp91
+    tmp32 += ints.tmp93 * 2
+    del ints.tmp93
+    tmp32 += f.aa.ov * -1
+    tmp32 += ints.tmp50 * -2
+    del ints.tmp50
+    tmp32 += ints.tmp51 * -1
+    del ints.tmp51
+    tmp32 += ints.tmp88 * -1
+    del ints.tmp88
+    tmp32 += ints.tmp94 * -1
+    del ints.tmp94
+    tmp34 = np.copy(ints.tmp65) * 2
+    del ints.tmp65
+    tmp34 += ints.tmp71
+    del ints.tmp71
+    tmp34 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp34 += ints.tmp63 * -2
+    del ints.tmp63
+    tmp34 += v.aaaa.oovv * -1
+    tmp39 = np.copy(np.transpose(ints.tmp41, (1, 0))) * 2
+    tmp39 += np.transpose(ints.tmp43, (1, 0))
+    tmp39 += f.bb.vv * -1
+    tmp39 += tmp38
+    del tmp38
+    tmp43 = np.copy(tmp42) * 0.5
+    del tmp42
+    tmp43 += tmp7 * -0.5
+    tmp43 += tmp8
+    tmp29 = np.copy(f.aa.oo)
+    tmp29 += ints.tmp89
+    del ints.tmp89
+    tmp29 += np.transpose(ints.tmp95, (1, 0)) * 2
+    del ints.tmp95
+    tmp29 += np.transpose(ints.tmp97, (1, 0))
+    del ints.tmp97
+    tmp28 = np.copy(tmp23) * 2
+    del tmp23
+    tmp28 += tmp24 * 4
+    del tmp24
+    tmp28 += tmp25 * 2
+    del tmp25
+    tmp28 += tmp26
+    del tmp26
+    tmp28 += tmp27
+    del tmp27
+    tmp22 = np.copy(tmp11) * 2
+    del tmp11
+    tmp22 += tmp13 * 2
+    del tmp13
+    tmp22 += np.transpose(tmp15, (0, 2, 1)) * -1
+    del tmp15
+    tmp22 += np.transpose(tmp17, (0, 2, 1))
+    del tmp17
+    tmp22 += np.transpose(tmp19, (0, 2, 1))
+    del tmp19
+    tmp22 += tmp21
+    del tmp21
+    tmp10 = einsum(r2.aaa, (0, 1, 2), v.aaaa.ovov, (3, 0, 4, 1), (2, 3, 4))
+    tmp9 = np.copy(tmp7) * -1
+    del tmp7
+    tmp9 += tmp8 * 2
+    del tmp8
+    tmp9 += einsum(tmp1, (0, 1), r1.b, (1,), (0,))
+    tmp6 = np.copy(ints.tmp32)
+    del ints.tmp32
+    tmp6 += np.transpose(ints.tmp41, (1, 0)) * 2
+    del ints.tmp41
+    tmp6 += np.transpose(ints.tmp43, (1, 0))
+    del ints.tmp43
+    tmp6 += f.bb.vv * -1
+    tmp6 += np.transpose(ints.tmp31, (1, 0)) * -1
+    del ints.tmp31
+    tmp6 += np.transpose(ints.tmp33, (1, 0)) * -1
+    del ints.tmp33
+    tmp2 = np.copy(np.transpose(ints.tmp20, (1, 0))) * 2
+    del ints.tmp20
+    tmp2 += np.transpose(ints.tmp22, (1, 0))
+    del ints.tmp22
+    tmp2 += ints.tmp5
+    del ints.tmp5
+    tmp2 += f.aa.vv * -1
+    tmp2 += np.transpose(ints.tmp4, (1, 0)) * -1
+    del ints.tmp4
+    tmp2 += np.transpose(ints.tmp6, (1, 0)) * -1
+    del ints.tmp6
+    tmp5 = np.copy(tmp3) * 2
+    del tmp3
+    tmp5 += tmp4
+    del tmp4
+    tmp5 += einsum(tmp0, (0, 1), r1.a, (1,), (0,))
+    r2new.bbb = einsum(t2.bbbb, (0, 1, 2, 3), tmp52, (4, 1, 0), (2, 3, 4)) * -2
+    del tmp52
+    r2new.bbb += einsum(r2.bbb, (0, 1, 2), v.bbbb.vvvv, (3, 0, 4, 1), (3, 4, 2)) * 2
+    r2new.bbb += einsum(r1.b, (0,), ints.tmp193, (1, 2, 3, 0), (3, 2, 1)) * 2
+    del ints.tmp193
+    r2new.bbb += np.transpose(tmp64, (1, 2, 0)) * -1
+    r2new.bbb += np.transpose(tmp64, (2, 1, 0))
+    del tmp64
+    r2new.bbb += np.transpose(tmp70, (1, 2, 0))
+    r2new.bbb += np.transpose(tmp70, (2, 1, 0)) * -1
+    del tmp70
+    r2new.bbb += einsum(r2.bbb, (0, 1, 2), tmp50, (2, 3), (0, 1, 3)) * -2
+    r2new.bbb += einsum(tmp71, (0,), t2.bbbb, (1, 0, 2, 3), (2, 3, 1)) * 2
+    del tmp71
+    r2new.bbb += einsum(tmp51, (0, 1), r1.b, (2,), (2, 1, 0)) * -1
+    r2new.bbb += einsum(r1.b, (0,), tmp51, (1, 2), (2, 0, 1))
+    r2new.bab = einsum(tmp44, (0, 1, 2), t2.abab, (0, 2, 3, 4), (4, 3, 1)) * -1
+    del tmp44
+    r2new.bab += einsum(r2.bab, (0, 1, 2), v.aabb.vvvv, (3, 1, 4, 0), (4, 3, 2))
+    r2new.bab += einsum(tmp45, (0, 1, 2, 3), r2.bab, (3, 4, 1), (2, 4, 0))
+    del tmp45
+    r2new.bab += einsum(r2.aaa, (0, 1, 2), tmp46, (2, 3, 1, 4), (4, 0, 3)) * -2
+    del tmp46
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp47, (3, 2, 4, 1), (0, 4, 3))
+    del tmp47
+    r2new.bab += einsum(tmp48, (0, 1, 2, 3), r1.a, (2,), (3, 1, 0)) * -1
+    del tmp48
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp49, (0, 3), (3, 1, 2)) * -2
+    del tmp49
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp41, (1, 3), (0, 3, 2)) * -1
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp50, (2, 3), (0, 1, 3)) * -1
+    del tmp50
+    r2new.bab += einsum(tmp31, (0,), t2.abab, (0, 1, 2, 3), (3, 2, 1)) * 2
+    r2new.bab += einsum(r1.a, (0,), tmp51, (1, 2), (2, 0, 1))
+    del tmp51
+    r2new.aba = einsum(r2.aba, (0, 1, 2), v.aabb.vvvv, (3, 0, 4, 1), (3, 4, 2))
+    r2new.aba += einsum(tmp33, (0, 1, 2), t2.abab, (1, 2, 3, 4), (3, 4, 0))
+    del tmp33
+    r2new.aba += einsum(tmp34, (0, 1, 2, 3), r2.aba, (3, 4, 1), (2, 4, 0))
+    del tmp34
+    r2new.aba += einsum(r2.bbb, (0, 1, 2), tmp35, (3, 2, 4, 1), (4, 0, 3)) * -2
+    del tmp35
+    r2new.aba += einsum(tmp36, (0, 1, 2, 3), r2.aba, (4, 3, 1), (4, 2, 0))
+    del tmp36
+    r2new.aba += einsum(r1.b, (0,), tmp37, (1, 2, 3, 0), (2, 3, 1)) * -1
+    del tmp37
+    r2new.aba += einsum(tmp39, (0, 1), r2.aba, (2, 0, 3), (2, 1, 3)) * -1
+    del tmp39
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp41, (0, 3), (3, 1, 2)) * -1
+    del tmp41
+    r2new.aba += einsum(tmp29, (0, 1), r2.aba, (2, 3, 0), (2, 3, 1)) * -1
+    r2new.aba += einsum(tmp43, (0,), t2.abab, (1, 0, 2, 3), (2, 3, 1)) * 2
+    del tmp43
+    r2new.aba += einsum(tmp32, (0, 1), r1.b, (2,), (1, 2, 0))
+    r2new.aaa = einsum(r2.aaa, (0, 1, 2), v.aaaa.vvvv, (3, 1, 4, 0), (3, 4, 2)) * -2
+    r2new.aaa += einsum(r1.a, (0,), ints.tmp81, (1, 2, 3, 0), (3, 2, 1)) * 2
+    del ints.tmp81
+    r2new.aaa += einsum(tmp10, (0, 1, 2), t2.aaaa, (2, 1, 3, 4), (3, 4, 0)) * -2
+    del tmp10
+    r2new.aaa += np.transpose(tmp22, (1, 2, 0)) * -1
+    r2new.aaa += np.transpose(tmp22, (2, 1, 0))
+    del tmp22
+    r2new.aaa += np.transpose(tmp28, (1, 2, 0))
+    r2new.aaa += np.transpose(tmp28, (2, 1, 0)) * -1
+    del tmp28
+    r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp29, (2, 3), (0, 1, 3)) * -2
+    del tmp29
+    r2new.aaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp31, (1,), (2, 3, 0)) * 4
+    del tmp31
+    r2new.aaa += einsum(tmp32, (0, 1), r1.a, (2,), (2, 1, 0)) * -1
+    r2new.aaa += einsum(tmp32, (0, 1), r1.a, (2,), (1, 2, 0))
+    del tmp32
+    r1new.b = einsum(v.bbbb.ovvv, (0, 1, 2, 3), r2.bbb, (3, 1, 0), (2,)) * 2
+    r1new.b += einsum(v.aabb.ovvv, (0, 1, 2, 3), r2.aba, (1, 3, 0), (2,)) * -1
+    r1new.b += einsum(r2.bbb, (0, 1, 2), tmp1, (2, 1), (0,)) * 2
+    r1new.b += einsum(tmp0, (0, 1), r2.aba, (1, 2, 0), (2,)) * -1
+    r1new.b += einsum(tmp6, (0, 1), r1.b, (0,), (1,)) * -1
+    del tmp6
+    r1new.b += einsum(t1.bb, (0, 1), tmp9, (0,), (1,)) * -1
+    del tmp9
+    r1new.a = einsum(r2.bab, (0, 1, 2), v.aabb.vvov, (3, 1, 2, 0), (3,)) * -1
+    r1new.a += einsum(r2.aaa, (0, 1, 2), v.aaaa.ovvv, (2, 0, 3, 1), (3,)) * -2
+    r1new.a += einsum(r2.aaa, (0, 1, 2), tmp0, (2, 1), (0,)) * 2
+    del tmp0
+    r1new.a += einsum(r2.bab, (0, 1, 2), tmp1, (2, 0), (1,)) * -1
+    del tmp1
+    r1new.a += einsum(tmp2, (0, 1), r1.a, (0,), (1,)) * -1
+    del tmp2
+    r1new.a += einsum(t1.aa, (0, 1), tmp5, (0,), (1,)) * -1
+    del tmp5
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCC2.hbar_lmatvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:54:43.767218.

+

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

+

tmp1 : array +tmp10 : array +tmp100 : array +tmp101 : array +tmp103 : array +tmp105 : array +tmp107 : array +tmp109 : array +tmp11 : array +tmp111 : array +tmp113 : array +tmp115 : array +tmp117 : array +tmp119 : array +tmp120 : array +tmp122 : array +tmp124 : array +tmp125 : array +tmp127 : array +tmp129 : array +tmp13 : array +tmp130 : array +tmp132 : array +tmp133 : array +tmp135 : array +tmp137 : array +tmp138 : array +tmp140 : array +tmp141 : array +tmp143 : array +tmp144 : array +tmp146 : array +tmp148 : array +tmp149 : array +tmp15 : array +tmp151 : array +tmp152 : array +tmp154 : array +tmp155 : array +tmp156 : array +tmp157 : array +tmp159 : array +tmp161 : array +tmp162 : array +tmp163 : array +tmp164 : array +tmp165 : array +tmp167 : array +tmp168 : array +tmp17 : array +tmp170 : array +tmp172 : array +tmp175 : array +tmp177 : array +tmp179 : array +tmp182 : array +tmp185 : array +tmp187 : array +tmp189 : array +tmp19 : array +tmp191 : array +tmp194 : array +tmp197 : array +tmp199 : array +tmp2 : array +tmp201 : array +tmp203 : array +tmp204 : array +tmp205 : array +tmp206 : array +tmp207 : array +tmp209 : array +tmp21 : array +tmp210 : array +tmp212 : array +tmp215 : array +tmp22 : array +tmp223 : array +tmp225 : array +tmp230 : array +tmp232 : array +tmp238 : array +tmp240 : array +tmp247 : array +tmp248 : array +tmp25 : array +tmp250 : array +tmp251 : array +tmp253 : array +tmp254 : array +tmp256 : array +tmp26 : array +tmp262 : array +tmp264 : array +tmp27 : array +tmp275 : array +tmp277 : array +tmp279 : array +tmp28 : array +tmp281 : array +tmp283 : array +tmp285 : array +tmp291 : array +tmp292 : array +tmp294 : array +tmp295 : array +tmp297 : array +tmp299 : array +tmp30 : array +tmp301 : array +tmp306 : array +tmp307 : array +tmp309 : array +tmp315 : array +tmp317 : array +tmp319 : array +tmp32 : array +tmp320 : array +tmp325 : array +tmp328 : array +tmp334 : array +tmp336 : array +tmp34 : array +tmp341 : array +tmp343 : array +tmp345 : array +tmp347 : array +tmp349 : array +tmp351 : array +tmp36 : array +tmp367 : array +tmp369 : array +tmp37 : array +tmp38 : array +tmp39 : array +tmp390 : array +tmp392 : array +tmp394 : array +tmp396 : array +tmp398 : array +tmp4 : array +tmp400 : array +tmp402 : array +tmp41 : array +tmp412 : array +tmp414 : array +tmp416 : array +tmp43 : array +tmp45 : array +tmp46 : array +tmp47 : array +tmp49 : array +tmp5 : array +tmp51 : array +tmp53 : array +tmp55 : array +tmp57 : array +tmp59 : array +tmp61 : array +tmp62 : array +tmp64 : array +tmp65 : array +tmp66 : array +tmp68 : array +tmp7 : array +tmp70 : array +tmp72 : array +tmp74 : array +tmp76 : array +tmp78 : array +tmp8 : array +tmp80 : array +tmp83 : array +tmp85 : array +tmp86 : array +tmp88 : array +tmp90 : array +tmp92 : array +tmp94 : array +tmp96 : array +tmp98 : array

+ +
+ Source code in ebcc/codegen/UCC2.py +
3333
+3334
+3335
+3336
+3337
+3338
+3339
+3340
+3341
+3342
+3343
+3344
+3345
+3346
+3347
+3348
+3349
+3350
+3351
+3352
+3353
+3354
+3355
+3356
+3357
+3358
+3359
+3360
+3361
+3362
+3363
+3364
+3365
+3366
+3367
+3368
+3369
+3370
+3371
+3372
+3373
+3374
+3375
+3376
+3377
+3378
+3379
+3380
+3381
+3382
+3383
+3384
+3385
+3386
+3387
+3388
+3389
+3390
+3391
+3392
+3393
+3394
+3395
+3396
+3397
+3398
+3399
+3400
+3401
+3402
+3403
+3404
+3405
+3406
+3407
+3408
+3409
+3410
+3411
+3412
+3413
+3414
+3415
+3416
+3417
+3418
+3419
+3420
+3421
+3422
+3423
+3424
+3425
+3426
+3427
+3428
+3429
+3430
+3431
+3432
+3433
+3434
+3435
+3436
+3437
+3438
+3439
+3440
+3441
+3442
+3443
+3444
+3445
+3446
+3447
+3448
+3449
+3450
+3451
+3452
+3453
+3454
+3455
+3456
+3457
+3458
+3459
+3460
+3461
+3462
+3463
+3464
+3465
+3466
+3467
+3468
+3469
+3470
+3471
+3472
+3473
+3474
+3475
+3476
+3477
+3478
+3479
+3480
+3481
+3482
+3483
+3484
+3485
+3486
+3487
+3488
+3489
+3490
+3491
+3492
+3493
+3494
+3495
+3496
+3497
+3498
+3499
+3500
+3501
+3502
+3503
+3504
+3505
+3506
+3507
+3508
+3509
+3510
+3511
+3512
+3513
+3514
+3515
+3516
+3517
+3518
+3519
+3520
+3521
+3522
+3523
+3524
+3525
+3526
+3527
+3528
+3529
+3530
+3531
+3532
+3533
+3534
+3535
+3536
+3537
+3538
+3539
+3540
+3541
+3542
+3543
+3544
+3545
+3546
+3547
+3548
+3549
+3550
+3551
+3552
+3553
+3554
+3555
+3556
+3557
+3558
+3559
+3560
+3561
+3562
+3563
+3564
+3565
+3566
+3567
+3568
+3569
+3570
+3571
+3572
+3573
+3574
+3575
+3576
+3577
+3578
+3579
+3580
+3581
+3582
+3583
+3584
+3585
+3586
+3587
+3588
+3589
+3590
+3591
+3592
+3593
+3594
+3595
+3596
+3597
+3598
+3599
+3600
+3601
+3602
+3603
+3604
+3605
+3606
+3607
+3608
+3609
+3610
+3611
+3612
+3613
+3614
+3615
+3616
+3617
+3618
+3619
+3620
+3621
+3622
+3623
+3624
+3625
+3626
+3627
+3628
+3629
+3630
+3631
+3632
+3633
+3634
+3635
+3636
+3637
+3638
+3639
+3640
+3641
+3642
+3643
+3644
+3645
+3646
+3647
+3648
+3649
+3650
+3651
+3652
+3653
+3654
+3655
+3656
+3657
+3658
+3659
+3660
+3661
+3662
+3663
+3664
+3665
+3666
+3667
+3668
+3669
+3670
+3671
+3672
+3673
+3674
+3675
+3676
+3677
+3678
+3679
+3680
+3681
+3682
+3683
+3684
+3685
+3686
+3687
+3688
+3689
+3690
+3691
+3692
+3693
+3694
+3695
+3696
+3697
+3698
+3699
+3700
+3701
+3702
+3703
+3704
+3705
+3706
+3707
+3708
+3709
+3710
+3711
+3712
+3713
+3714
+3715
+3716
+3717
+3718
+3719
+3720
+3721
+3722
+3723
+3724
+3725
+3726
+3727
+3728
+3729
+3730
+3731
+3732
+3733
+3734
+3735
+3736
+3737
+3738
+3739
+3740
+3741
+3742
+3743
+3744
+3745
+3746
+3747
+3748
+3749
+3750
+3751
+3752
+3753
def hbar_lmatvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:54:43.767218.
+
+    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
+    -------
+    tmp1 : array
+    tmp10 : array
+    tmp100 : array
+    tmp101 : array
+    tmp103 : array
+    tmp105 : array
+    tmp107 : array
+    tmp109 : array
+    tmp11 : array
+    tmp111 : array
+    tmp113 : array
+    tmp115 : array
+    tmp117 : array
+    tmp119 : array
+    tmp120 : array
+    tmp122 : array
+    tmp124 : array
+    tmp125 : array
+    tmp127 : array
+    tmp129 : array
+    tmp13 : array
+    tmp130 : array
+    tmp132 : array
+    tmp133 : array
+    tmp135 : array
+    tmp137 : array
+    tmp138 : array
+    tmp140 : array
+    tmp141 : array
+    tmp143 : array
+    tmp144 : array
+    tmp146 : array
+    tmp148 : array
+    tmp149 : array
+    tmp15 : array
+    tmp151 : array
+    tmp152 : array
+    tmp154 : array
+    tmp155 : array
+    tmp156 : array
+    tmp157 : array
+    tmp159 : array
+    tmp161 : array
+    tmp162 : array
+    tmp163 : array
+    tmp164 : array
+    tmp165 : array
+    tmp167 : array
+    tmp168 : array
+    tmp17 : array
+    tmp170 : array
+    tmp172 : array
+    tmp175 : array
+    tmp177 : array
+    tmp179 : array
+    tmp182 : array
+    tmp185 : array
+    tmp187 : array
+    tmp189 : array
+    tmp19 : array
+    tmp191 : array
+    tmp194 : array
+    tmp197 : array
+    tmp199 : array
+    tmp2 : array
+    tmp201 : array
+    tmp203 : array
+    tmp204 : array
+    tmp205 : array
+    tmp206 : array
+    tmp207 : array
+    tmp209 : array
+    tmp21 : array
+    tmp210 : array
+    tmp212 : array
+    tmp215 : array
+    tmp22 : array
+    tmp223 : array
+    tmp225 : array
+    tmp230 : array
+    tmp232 : array
+    tmp238 : array
+    tmp240 : array
+    tmp247 : array
+    tmp248 : array
+    tmp25 : array
+    tmp250 : array
+    tmp251 : array
+    tmp253 : array
+    tmp254 : array
+    tmp256 : array
+    tmp26 : array
+    tmp262 : array
+    tmp264 : array
+    tmp27 : array
+    tmp275 : array
+    tmp277 : array
+    tmp279 : array
+    tmp28 : array
+    tmp281 : array
+    tmp283 : array
+    tmp285 : array
+    tmp291 : array
+    tmp292 : array
+    tmp294 : array
+    tmp295 : array
+    tmp297 : array
+    tmp299 : array
+    tmp30 : array
+    tmp301 : array
+    tmp306 : array
+    tmp307 : array
+    tmp309 : array
+    tmp315 : array
+    tmp317 : array
+    tmp319 : array
+    tmp32 : array
+    tmp320 : array
+    tmp325 : array
+    tmp328 : array
+    tmp334 : array
+    tmp336 : array
+    tmp34 : array
+    tmp341 : array
+    tmp343 : array
+    tmp345 : array
+    tmp347 : array
+    tmp349 : array
+    tmp351 : array
+    tmp36 : array
+    tmp367 : array
+    tmp369 : array
+    tmp37 : array
+    tmp38 : array
+    tmp39 : array
+    tmp390 : array
+    tmp392 : array
+    tmp394 : array
+    tmp396 : array
+    tmp398 : array
+    tmp4 : array
+    tmp400 : array
+    tmp402 : array
+    tmp41 : array
+    tmp412 : array
+    tmp414 : array
+    tmp416 : array
+    tmp43 : array
+    tmp45 : array
+    tmp46 : array
+    tmp47 : array
+    tmp49 : array
+    tmp5 : array
+    tmp51 : array
+    tmp53 : array
+    tmp55 : array
+    tmp57 : array
+    tmp59 : array
+    tmp61 : array
+    tmp62 : array
+    tmp64 : array
+    tmp65 : array
+    tmp66 : array
+    tmp68 : array
+    tmp7 : array
+    tmp70 : array
+    tmp72 : array
+    tmp74 : array
+    tmp76 : array
+    tmp78 : array
+    tmp8 : array
+    tmp80 : array
+    tmp83 : array
+    tmp85 : array
+    tmp86 : array
+    tmp88 : array
+    tmp90 : array
+    tmp92 : array
+    tmp94 : array
+    tmp96 : array
+    tmp98 : array
+    """
+
+    tmp45 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp119 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 2, 1))
+    tmp41 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1))
+    tmp38 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3))
+    tmp39 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp36 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3))
+    tmp89 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 1, 0, 3), (2, 3))
+    tmp32 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1))
+    tmp82 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 1), (0, 3))
+    tmp214 = einsum(t1.bb, (0, 1), tmp45, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp333 = einsum(tmp119, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2))
+    tmp327 = einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3))
+    tmp324 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2))
+    tmp174 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp176 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2))
+    tmp314 = einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp151 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5))
+    tmp306 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp124 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1))
+    tmp211 = einsum(t1.aa, (0, 1), tmp41, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp209 = einsum(tmp38, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp156 = einsum(t1.aa, (0, 1), tmp39, (2, 1), (0, 2))
+    tmp205 = einsum(t1.bb, (0, 1), tmp36, (2, 1), (0, 2))
+    tmp203 = einsum(tmp89, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp155 = einsum(t1.aa, (0, 1), tmp32, (2, 1), (0, 2))
+    tmp154 = einsum(t1.aa, (0, 1), tmp82, (2, 1), (0, 2))
+    tmp196 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp193 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2))
+    tmp190 = einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3))
+    tmp188 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3))
+    tmp186 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2))
+    tmp184 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3))
+    tmp181 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 2, 3, 1), (2, 3))
+    tmp178 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3))
+    tmp169 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp167 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3))
+    tmp27 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp163 = einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 0, 1), (2, 3))
+    tmp161 = einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 0, 3, 1), (2, 3))
+    tmp26 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1))
+    tmp25 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (1, 3), (0, 2))
+    tmp148 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp49 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4))
+    tmp143 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2))
+    tmp140 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 1, 3), (4, 0))
+    tmp47 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4)) * -1
+    tmp21 = einsum(t1.bb, (0, 1), f.bb.ov, (2, 1), (2, 0))
+    tmp1 = einsum(f.aa.ov, (0, 1), t1.aa, (2, 1), (0, 2))
+    tmp416 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp414 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4))
+    tmp412 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 4), (2, 4)) * -1
+    tmp402 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 5, 3))
+    tmp400 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (0, 4, 2, 5))
+    tmp398 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp396 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp394 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp392 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp390 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4))
+    tmp369 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (4, 1))
+    tmp367 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 3), (4, 1))
+    tmp351 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 4, 1, 5))
+    tmp349 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp347 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3))
+    tmp345 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp343 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (2, 4, 1, 5), (0, 4, 3, 5))
+    tmp341 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp336 = einsum(tmp214, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp334 = einsum(tmp333, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+    del tmp333
+    tmp328 = einsum(t1.aa, (0, 1), tmp327, (2, 3, 4, 1), (0, 2, 3, 4))
+    del tmp327
+    tmp325 = einsum(tmp324, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 1, 3))
+    del tmp324
+    tmp320 = einsum(tmp174, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp319 = einsum(t1.aa, (0, 1), tmp176, (2, 0, 3, 4), (2, 3, 4, 1))
+    tmp317 = einsum(t1.bb, (0, 1), tmp314, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp315 = einsum(t1.bb, (0, 1), tmp314, (2, 3, 0, 4), (2, 3, 4, 1))
+    del tmp314
+    tmp309 = einsum(tmp151, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp307 = einsum(t1.bb, (0, 1), tmp306, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp301 = einsum(t2.abab, (0, 1, 2, 3), tmp45, (4, 0, 5, 3), (4, 1, 5, 2))
+    tmp299 = einsum(t2.abab, (0, 1, 2, 3), tmp124, (0, 4, 5, 2), (4, 1, 5, 3))
+    tmp297 = einsum(t2.aaaa, (0, 1, 2, 3), tmp124, (1, 4, 5, 3), (0, 4, 5, 2))
+    tmp295 = einsum(t2.bbbb, (0, 1, 2, 3), tmp119, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp294 = einsum(t2.abab, (0, 1, 2, 3), tmp119, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp292 = einsum(tmp119, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp291 = einsum(t2.abab, (0, 1, 2, 3), tmp119, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp285 = einsum(tmp38, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp283 = einsum(tmp38, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp281 = einsum(t2.bbbb, (0, 1, 2, 3), tmp36, (4, 3), (0, 1, 4, 2))
+    tmp279 = einsum(t2.abab, (0, 1, 2, 3), tmp36, (4, 3), (0, 1, 4, 2))
+    tmp277 = einsum(t2.bbbb, (0, 1, 2, 3), tmp89, (4, 3), (0, 1, 4, 2))
+    tmp275 = einsum(tmp89, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp264 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 3), (0, 1, 5, 4))
+    tmp262 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp256 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 3, 5))
+    tmp254 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 3, 5))
+    tmp253 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 3), (4, 1, 5, 2))
+    tmp251 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp250 = einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp248 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp247 = einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp240 = einsum(t1.aa, (0, 1), v.aabb.vvoo, (2, 1, 3, 4), (0, 3, 4, 2))
+    tmp238 = einsum(v.bbbb.oovv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2))
+    tmp232 = einsum(v.aabb.oooo, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp230 = einsum(v.bbbb.oooo, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+    tmp225 = einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp223 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 3, 4, 1), (2, 0, 3, 4))
+    tmp215 = einsum(t1.bb, (0, 1), tmp214, (2, 3, 4, 0), (2, 3, 4, 1))
+    del tmp214
+    tmp212 = einsum(tmp211, (0, 1, 2, 3), t1.aa, (3, 4), (0, 1, 2, 4))
+    del tmp211
+    tmp210 = einsum(t1.bb, (0, 1), tmp209, (2, 0), (2, 1))
+    tmp207 = einsum(t1.aa, (0, 1), tmp156, (2, 0), (2, 1))
+    tmp206 = einsum(t1.bb, (0, 1), tmp205, (2, 0), (2, 1))
+    tmp204 = einsum(t1.bb, (0, 1), tmp203, (2, 0), (2, 1))
+    tmp201 = einsum(t1.aa, (0, 1), tmp155, (2, 0), (2, 1))
+    tmp199 = einsum(t1.aa, (0, 1), tmp154, (2, 0), (2, 1))
+    tmp197 = einsum(t1.bb, (0, 1), tmp196, (2, 3, 4, 1), (2, 3, 0, 4))
+    del tmp196
+    tmp194 = einsum(tmp193, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3))
+    del tmp193
+    tmp191 = einsum(t1.aa, (0, 1), tmp190, (2, 1), (0, 2))
+    del tmp190
+    tmp189 = einsum(tmp188, (0, 1), t1.bb, (2, 1), (2, 0))
+    del tmp188
+    tmp187 = einsum(tmp186, (0, 1), t1.bb, (2, 0), (2, 1))
+    del tmp186
+    tmp185 = einsum(tmp184, (0, 1), t1.bb, (2, 1), (2, 0))
+    del tmp184
+    tmp182 = einsum(t1.aa, (0, 1), tmp181, (1, 2), (0, 2))
+    del tmp181
+    tmp179 = einsum(tmp178, (0, 1), t1.aa, (2, 1), (2, 0))
+    del tmp178
+    tmp177 = einsum(t1.bb, (0, 1), tmp176, (2, 3, 4, 0), (2, 3, 4, 1))
+    del tmp176
+    tmp175 = einsum(t1.bb, (0, 1), tmp174, (2, 3, 4, 0), (2, 3, 4, 1))
+    del tmp174
+    tmp172 = einsum(tmp169, (0, 1, 2, 3), t1.aa, (3, 4), (0, 1, 2, 4))
+    tmp170 = einsum(tmp169, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 3, 4))
+    del tmp169
+    tmp168 = einsum(t1.bb, (0, 1), tmp167, (2, 0), (2, 1))
+    tmp165 = einsum(t1.aa, (0, 1), tmp27, (2, 0), (2, 1))
+    tmp164 = einsum(t1.bb, (0, 1), tmp163, (2, 0), (2, 1))
+    tmp162 = einsum(t1.bb, (0, 1), tmp161, (2, 0), (2, 1))
+    tmp159 = einsum(tmp26, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp157 = einsum(tmp25, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp152 = einsum(t1.bb, (0, 1), tmp151, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp149 = einsum(tmp148, (0, 1, 2, 3), t1.aa, (3, 4), (0, 1, 2, 4))
+    tmp146 = einsum(tmp49, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp144 = einsum(t1.bb, (0, 1), tmp143, (2, 0), (2, 1))
+    tmp141 = einsum(t1.bb, (0, 1), tmp140, (2, 0), (2, 1))
+    tmp138 = einsum(t1.aa, (0, 1), tmp47, (2, 0), (2, 1))
+    tmp137 = einsum(tmp124, (0, 1, 2, 3), t2.abab, (4, 2, 3, 5), (4, 0, 1, 5))
+    tmp135 = einsum(tmp45, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp133 = einsum(tmp45, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (0, 4, 1, 5))
+    tmp132 = einsum(tmp41, (0, 1, 2, 3), t2.abab, (2, 4, 3, 5), (0, 1, 4, 5))
+    tmp130 = einsum(t2.aaaa, (0, 1, 2, 3), tmp41, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp129 = einsum(tmp41, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 2, 4, 5))
+    tmp127 = einsum(t2.aaaa, (0, 1, 2, 3), tmp41, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp125 = einsum(t2.abab, (0, 1, 2, 3), tmp124, (0, 4, 1, 2), (4, 3))
+    tmp122 = einsum(tmp45, (0, 1, 2, 3), t2.abab, (1, 2, 4, 3), (0, 4))
+    tmp120 = einsum(t2.bbbb, (0, 1, 2, 3), tmp119, (4, 0, 1, 3), (4, 2)) * -1
+    tmp117 = einsum(t2.aaaa, (0, 1, 2, 3), tmp41, (4, 1, 0, 3), (4, 2))
+    tmp115 = einsum(tmp39, (0, 1), t2.abab, (2, 3, 1, 4), (2, 0, 3, 4))
+    tmp113 = einsum(t2.aaaa, (0, 1, 2, 3), tmp39, (4, 3), (0, 1, 4, 2))
+    tmp111 = einsum(t2.abab, (0, 1, 2, 3), tmp32, (4, 2), (0, 4, 1, 3))
+    tmp109 = einsum(t2.aaaa, (0, 1, 2, 3), tmp32, (4, 3), (0, 1, 4, 2))
+    tmp107 = einsum(tmp82, (0, 1), t2.abab, (2, 3, 1, 4), (2, 0, 3, 4))
+    tmp105 = einsum(t2.aaaa, (0, 1, 2, 3), tmp82, (4, 3), (0, 1, 4, 2))
+    tmp103 = einsum(tmp38, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3))
+    tmp101 = einsum(tmp38, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp100 = einsum(t2.abab, (0, 1, 2, 3), tmp39, (0, 2), (1, 3))
+    tmp98 = einsum(tmp39, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp96 = einsum(tmp36, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3))
+    tmp94 = einsum(t2.abab, (0, 1, 2, 3), tmp36, (1, 3), (0, 2))
+    tmp92 = einsum(tmp89, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3))
+    tmp90 = einsum(tmp89, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    del tmp89
+    tmp88 = einsum(tmp32, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp86 = einsum(t2.aaaa, (0, 1, 2, 3), tmp32, (1, 3), (0, 2))
+    tmp85 = einsum(t2.abab, (0, 1, 2, 3), tmp82, (0, 2), (1, 3))
+    tmp83 = einsum(t2.aaaa, (0, 1, 2, 3), tmp82, (1, 3), (0, 2))
+    del tmp82
+    tmp80 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (0, 4, 1, 5))
+    tmp78 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp76 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 3), (0, 4))
+    tmp74 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 3), (1, 4))
+    tmp72 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 0, 1, 3), (4, 2))
+    tmp70 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 0, 1, 3), (4, 2))
+    tmp68 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp66 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp65 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (4, 3, 1, 5), (4, 0, 2, 5))
+    tmp64 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.abab, (2, 4, 3, 5), (0, 1, 4, 5))
+    tmp62 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp61 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 2, 4, 5))
+    tmp59 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp57 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 3), (4, 2))
+    tmp55 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 1), (4, 3))
+    tmp53 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 0, 3), (4, 2)) * -1
+    tmp51 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 3), (0, 4))
+    tmp46 = einsum(v.aabb.oovv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2))
+    tmp43 = einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp37 = einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 0, 3, 1), (2, 3))
+    tmp34 = einsum(v.aaaa.oovv, (0, 1, 2, 3), t1.aa, (1, 3), (0, 2))
+    tmp30 = einsum(t1.bb, (0, 1), v.aabb.oooo, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp28 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t1.aa, (3, 4), (0, 1, 2, 4))
+    tmp22 = einsum(t1.bb, (0, 1), tmp21, (0, 2), (2, 1))
+    tmp19 = einsum(t1.aa, (0, 1), tmp1, (0, 2), (2, 1))
+    tmp17 = einsum(f.aa.ov, (0, 1), t2.abab, (2, 3, 1, 4), (0, 2, 3, 4))
+    tmp15 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp13 = einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3))
+    tmp11 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp10 = einsum(f.aa.ov, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp8 = einsum(t2.aaaa, (0, 1, 2, 3), f.aa.ov, (1, 3), (0, 2))
+    tmp7 = einsum(f.bb.vv, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp5 = einsum(f.aa.vv, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp4 = einsum(t1.bb, (0, 1), f.bb.oo, (2, 0), (2, 1))
+    tmp2 = einsum(t1.aa, (0, 1), f.aa.oo, (2, 0), (2, 1))
+
+    return {f"tmp1": tmp1, f"tmp10": tmp10, f"tmp100": tmp100, f"tmp101": tmp101, f"tmp103": tmp103, f"tmp105": tmp105, f"tmp107": tmp107, f"tmp109": tmp109, f"tmp11": tmp11, f"tmp111": tmp111, f"tmp113": tmp113, f"tmp115": tmp115, f"tmp117": tmp117, f"tmp119": tmp119, f"tmp120": tmp120, f"tmp122": tmp122, f"tmp124": tmp124, f"tmp125": tmp125, f"tmp127": tmp127, f"tmp129": tmp129, f"tmp13": tmp13, f"tmp130": tmp130, f"tmp132": tmp132, f"tmp133": tmp133, f"tmp135": tmp135, f"tmp137": tmp137, f"tmp138": tmp138, f"tmp140": tmp140, f"tmp141": tmp141, f"tmp143": tmp143, f"tmp144": tmp144, f"tmp146": tmp146, f"tmp148": tmp148, f"tmp149": tmp149, f"tmp15": tmp15, f"tmp151": tmp151, f"tmp152": tmp152, f"tmp154": tmp154, f"tmp155": tmp155, f"tmp156": tmp156, f"tmp157": tmp157, f"tmp159": tmp159, f"tmp161": tmp161, f"tmp162": tmp162, f"tmp163": tmp163, f"tmp164": tmp164, f"tmp165": tmp165, f"tmp167": tmp167, f"tmp168": tmp168, f"tmp17": tmp17, f"tmp170": tmp170, f"tmp172": tmp172, f"tmp175": tmp175, f"tmp177": tmp177, f"tmp179": tmp179, f"tmp182": tmp182, f"tmp185": tmp185, f"tmp187": tmp187, f"tmp189": tmp189, f"tmp19": tmp19, f"tmp191": tmp191, f"tmp194": tmp194, f"tmp197": tmp197, f"tmp199": tmp199, f"tmp2": tmp2, f"tmp201": tmp201, f"tmp203": tmp203, f"tmp204": tmp204, f"tmp205": tmp205, f"tmp206": tmp206, f"tmp207": tmp207, f"tmp209": tmp209, f"tmp21": tmp21, f"tmp210": tmp210, f"tmp212": tmp212, f"tmp215": tmp215, f"tmp22": tmp22, f"tmp223": tmp223, f"tmp225": tmp225, f"tmp230": tmp230, f"tmp232": tmp232, f"tmp238": tmp238, f"tmp240": tmp240, f"tmp247": tmp247, f"tmp248": tmp248, f"tmp25": tmp25, f"tmp250": tmp250, f"tmp251": tmp251, f"tmp253": tmp253, f"tmp254": tmp254, f"tmp256": tmp256, f"tmp26": tmp26, f"tmp262": tmp262, f"tmp264": tmp264, f"tmp27": tmp27, f"tmp275": tmp275, f"tmp277": tmp277, f"tmp279": tmp279, f"tmp28": tmp28, f"tmp281": tmp281, f"tmp283": tmp283, f"tmp285": tmp285, f"tmp291": tmp291, f"tmp292": tmp292, f"tmp294": tmp294, f"tmp295": tmp295, f"tmp297": tmp297, f"tmp299": tmp299, f"tmp30": tmp30, f"tmp301": tmp301, f"tmp306": tmp306, f"tmp307": tmp307, f"tmp309": tmp309, f"tmp315": tmp315, f"tmp317": tmp317, f"tmp319": tmp319, f"tmp32": tmp32, f"tmp320": tmp320, f"tmp325": tmp325, f"tmp328": tmp328, f"tmp334": tmp334, f"tmp336": tmp336, f"tmp34": tmp34, f"tmp341": tmp341, f"tmp343": tmp343, f"tmp345": tmp345, f"tmp347": tmp347, f"tmp349": tmp349, f"tmp351": tmp351, f"tmp36": tmp36, f"tmp367": tmp367, f"tmp369": tmp369, f"tmp37": tmp37, f"tmp38": tmp38, f"tmp39": tmp39, f"tmp390": tmp390, f"tmp392": tmp392, f"tmp394": tmp394, f"tmp396": tmp396, f"tmp398": tmp398, f"tmp4": tmp4, f"tmp400": tmp400, f"tmp402": tmp402, f"tmp41": tmp41, f"tmp412": tmp412, f"tmp414": tmp414, f"tmp416": tmp416, f"tmp43": tmp43, f"tmp45": tmp45, f"tmp46": tmp46, f"tmp47": tmp47, f"tmp49": tmp49, f"tmp5": tmp5, f"tmp51": tmp51, f"tmp53": tmp53, f"tmp55": tmp55, f"tmp57": tmp57, f"tmp59": tmp59, f"tmp61": tmp61, f"tmp62": tmp62, f"tmp64": tmp64, f"tmp65": tmp65, f"tmp66": tmp66, f"tmp68": tmp68, f"tmp7": tmp7, f"tmp70": tmp70, f"tmp72": tmp72, f"tmp74": tmp74, f"tmp76": tmp76, f"tmp78": tmp78, f"tmp8": tmp8, f"tmp80": tmp80, f"tmp83": tmp83, f"tmp85": tmp85, f"tmp86": tmp86, f"tmp88": tmp88, f"tmp90": tmp90, f"tmp92": tmp92, f"tmp94": tmp94, f"tmp96": tmp96, f"tmp98": tmp98}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCC2.hbar_lmatvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:54:43.868676.

+

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.

+ +
+ Source code in ebcc/codegen/UCC2.py +
3755
+3756
+3757
+3758
+3759
+3760
+3761
+3762
+3763
+3764
+3765
+3766
+3767
+3768
+3769
+3770
+3771
+3772
+3773
+3774
+3775
+3776
+3777
+3778
+3779
+3780
+3781
+3782
+3783
+3784
+3785
+3786
+3787
+3788
+3789
+3790
+3791
+3792
+3793
+3794
+3795
+3796
+3797
+3798
+3799
+3800
+3801
+3802
+3803
+3804
+3805
+3806
+3807
+3808
+3809
+3810
+3811
+3812
+3813
+3814
+3815
+3816
+3817
+3818
+3819
+3820
+3821
+3822
+3823
+3824
+3825
+3826
+3827
+3828
+3829
+3830
+3831
+3832
+3833
+3834
+3835
+3836
+3837
+3838
+3839
+3840
+3841
+3842
+3843
+3844
+3845
+3846
+3847
+3848
+3849
+3850
+3851
+3852
+3853
+3854
+3855
+3856
+3857
+3858
+3859
+3860
+3861
+3862
+3863
+3864
+3865
+3866
+3867
+3868
+3869
+3870
+3871
+3872
+3873
+3874
+3875
+3876
+3877
+3878
+3879
+3880
+3881
+3882
+3883
+3884
+3885
+3886
+3887
+3888
+3889
+3890
+3891
+3892
+3893
+3894
+3895
+3896
+3897
+3898
+3899
+3900
+3901
+3902
+3903
+3904
+3905
+3906
+3907
+3908
+3909
+3910
+3911
+3912
+3913
+3914
+3915
+3916
+3917
+3918
+3919
+3920
+3921
+3922
+3923
+3924
+3925
+3926
+3927
+3928
+3929
+3930
+3931
+3932
+3933
+3934
+3935
+3936
+3937
+3938
+3939
+3940
+3941
+3942
+3943
+3944
+3945
+3946
+3947
+3948
+3949
+3950
+3951
+3952
+3953
+3954
+3955
+3956
+3957
+3958
+3959
+3960
+3961
+3962
+3963
+3964
+3965
+3966
+3967
+3968
+3969
+3970
+3971
+3972
+3973
+3974
+3975
+3976
+3977
+3978
+3979
+3980
+3981
+3982
+3983
+3984
+3985
+3986
+3987
+3988
+3989
+3990
+3991
+3992
+3993
+3994
+3995
+3996
+3997
+3998
+3999
+4000
+4001
+4002
+4003
+4004
+4005
+4006
+4007
+4008
+4009
+4010
+4011
+4012
+4013
+4014
+4015
+4016
+4017
+4018
+4019
+4020
+4021
+4022
+4023
+4024
+4025
+4026
+4027
+4028
+4029
+4030
+4031
+4032
+4033
+4034
+4035
+4036
+4037
+4038
+4039
+4040
+4041
+4042
+4043
+4044
+4045
+4046
+4047
+4048
+4049
+4050
+4051
+4052
+4053
+4054
+4055
+4056
+4057
+4058
+4059
+4060
+4061
+4062
+4063
+4064
+4065
+4066
+4067
+4068
+4069
+4070
+4071
+4072
+4073
+4074
+4075
+4076
+4077
+4078
+4079
+4080
+4081
+4082
+4083
+4084
+4085
+4086
+4087
+4088
+4089
+4090
+4091
+4092
+4093
+4094
+4095
+4096
+4097
+4098
+4099
+4100
+4101
+4102
+4103
+4104
+4105
+4106
+4107
+4108
+4109
+4110
+4111
+4112
+4113
+4114
+4115
+4116
+4117
+4118
+4119
+4120
+4121
+4122
+4123
+4124
+4125
+4126
+4127
+4128
+4129
+4130
+4131
+4132
+4133
+4134
+4135
+4136
+4137
+4138
+4139
+4140
+4141
+4142
+4143
+4144
+4145
+4146
+4147
+4148
+4149
+4150
+4151
+4152
+4153
+4154
+4155
+4156
+4157
+4158
+4159
+4160
+4161
+4162
+4163
+4164
+4165
+4166
+4167
+4168
+4169
+4170
+4171
+4172
+4173
+4174
+4175
+4176
+4177
+4178
+4179
+4180
+4181
+4182
+4183
+4184
+4185
+4186
+4187
+4188
+4189
+4190
+4191
+4192
+4193
+4194
+4195
+4196
+4197
+4198
+4199
+4200
+4201
+4202
+4203
+4204
+4205
+4206
+4207
+4208
+4209
+4210
+4211
+4212
+4213
+4214
+4215
+4216
+4217
+4218
+4219
+4220
+4221
+4222
+4223
+4224
+4225
+4226
+4227
+4228
+4229
+4230
+4231
+4232
+4233
+4234
+4235
+4236
+4237
+4238
+4239
+4240
+4241
+4242
+4243
+4244
+4245
+4246
+4247
+4248
+4249
+4250
+4251
+4252
+4253
+4254
+4255
+4256
+4257
+4258
+4259
+4260
+4261
+4262
+4263
+4264
+4265
+4266
+4267
+4268
+4269
+4270
+4271
+4272
+4273
+4274
+4275
+4276
+4277
+4278
+4279
+4280
+4281
+4282
+4283
+4284
+4285
+4286
+4287
+4288
+4289
+4290
+4291
+4292
+4293
+4294
+4295
+4296
+4297
+4298
+4299
+4300
+4301
+4302
+4303
+4304
+4305
+4306
+4307
+4308
+4309
+4310
+4311
+4312
+4313
+4314
+4315
+4316
+4317
+4318
+4319
+4320
+4321
+4322
+4323
+4324
+4325
+4326
+4327
+4328
+4329
+4330
+4331
+4332
+4333
+4334
+4335
+4336
+4337
+4338
+4339
+4340
+4341
+4342
+4343
+4344
+4345
+4346
+4347
+4348
+4349
+4350
+4351
+4352
+4353
+4354
+4355
+4356
+4357
+4358
+4359
+4360
+4361
+4362
+4363
+4364
+4365
def hbar_lmatvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:54:43.868676.
+
+    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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp35 = einsum(t2.abab, (0, 1, 2, 3), r2.aba, (0, 1, 2), (3,))
+    tmp36 = einsum(t2.bbbb, (0, 1, 2, 3), r2.bbb, (0, 1, 3), (2,))
+    tmp51 = np.copy(ints.tmp398)
+    tmp51 += ints.tmp402 * 0.5
+    tmp55 = np.copy(ints.tmp140) * 2
+    tmp55 += ints.tmp143
+    tmp53 = np.copy(tmp35) * -0.5
+    tmp53 += tmp36
+    tmp62 = np.copy(f.bb.oo)
+    tmp62 += np.transpose(ints.tmp21, (1, 0))
+    tmp60 = np.copy(ints.tmp396)
+    tmp60 += ints.tmp400 * 2
+    tmp25 = np.copy(f.aa.oo)
+    tmp25 += np.transpose(ints.tmp1, (1, 0))
+    tmp23 = einsum(r2.bab, (0, 1, 2), t2.abab, (1, 0, 3, 2), (3,)) * -1
+    tmp16 = np.copy(ints.tmp47) * 2
+    tmp16 += ints.tmp49
+    tmp12 = np.copy(ints.tmp345)
+    tmp12 += ints.tmp349 * 0.5
+    tmp14 = np.copy(ints.tmp347)
+    tmp14 += ints.tmp351 * 2
+    tmp10 = einsum(t2.aaaa, (0, 1, 2, 3), r2.aaa, (0, 1, 3), (2,))
+    tmp48 = einsum(ints.tmp392, (0, 1, 2, 3), r2.aba, (0, 4, 2), (1, 4, 3))
+    tmp52 = einsum(r2.bbb, (0, 1, 2), tmp51, (1, 3, 2, 4), (0, 3, 4)) * -4
+    del tmp51
+    tmp47 = einsum(r1.b, (0,), v.bbbb.ooov, (1, 0, 2, 3), (1, 2, 3))
+    tmp49 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.aba, (0, 4, 1), (4, 2, 3))
+    tmp56 = einsum(r2.bbb, (0, 1, 2), tmp55, (1, 3), (0, 3, 2)) * -2
+    del tmp55
+    tmp54 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp53, (1,), (0, 2, 3)) * 2
+    del tmp53
+    tmp50 = einsum(v.bbbb.oovv, (0, 1, 2, 3), r2.bbb, (4, 1, 3), (4, 0, 2))
+    tmp63 = einsum(tmp62, (0, 1), r2.bbb, (2, 0, 3), (2, 1, 3)) * -1
+    del tmp62
+    tmp59 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r2.bbb, (4, 2, 3), (4, 0, 1))
+    tmp61 = einsum(tmp60, (0, 1, 2, 3), r2.aba, (0, 4, 2), (4, 1, 3))
+    del tmp60
+    tmp58 = einsum(r2.bbb, (0, 1, 2), ints.tmp394, (1, 3, 2, 4), (3, 0, 4))
+    tmp44 = einsum(f.bb.ov, (0, 1), t1.bb, (0, 2), (1, 2))
+    tmp29 = einsum(f.aa.ov, (0, 1), t1.aa, (0, 2), (1, 2))
+    tmp26 = einsum(tmp25, (0, 1), r2.aaa, (2, 0, 3), (2, 1, 3)) * -1
+    del tmp25
+    tmp20 = einsum(v.aaaa.ovov, (0, 1, 2, 3), r2.aaa, (4, 2, 3), (4, 0, 1))
+    tmp21 = einsum(ints.tmp343, (0, 1, 2, 3), r2.bab, (1, 4, 3), (0, 4, 2)) * -1
+    tmp19 = einsum(ints.tmp341, (0, 1, 2, 3), r2.aaa, (4, 0, 2), (1, 4, 3))
+    tmp24 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp23, (3,), (0, 2, 1))
+    tmp22 = einsum(r2.bab, (0, 1, 2), v.aabb.ovov, (3, 4, 0, 2), (1, 3, 4)) * -1
+    tmp9 = einsum(v.aaaa.oovv, (0, 1, 2, 3), r2.aaa, (4, 1, 3), (4, 0, 2))
+    tmp17 = einsum(tmp16, (0, 1), r2.aaa, (2, 0, 3), (2, 1, 3)) * -2
+    del tmp16
+    tmp8 = einsum(r1.a, (0,), v.aaaa.ooov, (1, 0, 2, 3), (1, 2, 3))
+    tmp13 = einsum(r2.aaa, (0, 1, 2), tmp12, (1, 3, 2, 4), (0, 3, 4)) * -4
+    del tmp12
+    tmp15 = einsum(tmp14, (0, 1, 2, 3), r2.bab, (1, 4, 3), (4, 0, 2)) * -1
+    del tmp14
+    tmp11 = einsum(tmp10, (0,), v.aaaa.ovov, (1, 2, 3, 0), (1, 3, 2)) * -1
+    tmp65 = np.copy(ints.tmp306)
+    del ints.tmp306
+    tmp65 += np.transpose(v.bbbb.oooo, (0, 2, 1, 3))
+    tmp57 = einsum(f.bb.ov, (0, 1), r1.b, (2,), (0, 2, 1))
+    tmp57 += tmp47
+    del tmp47
+    tmp57 += tmp48
+    del tmp48
+    tmp57 += tmp49
+    del tmp49
+    tmp57 += tmp50 * 2
+    del tmp50
+    tmp57 += np.transpose(tmp52, (1, 0, 2)) * -1
+    del tmp52
+    tmp57 += np.transpose(tmp54, (1, 0, 2)) * -1
+    del tmp54
+    tmp57 += np.transpose(tmp56, (1, 0, 2))
+    del tmp56
+    tmp64 = np.copy(tmp58) * 4
+    del tmp58
+    tmp64 += tmp59 * 2
+    del tmp59
+    tmp64 += np.transpose(tmp61, (1, 0, 2))
+    del tmp61
+    tmp64 += np.transpose(tmp63, (1, 0, 2)) * -2
+    del tmp63
+    tmp45 = np.copy(ints.tmp412) * 2
+    del ints.tmp412
+    tmp45 += ints.tmp414
+    del ints.tmp414
+    tmp45 += f.bb.vv * -1
+    tmp45 += np.transpose(tmp44, (1, 0))
+    del tmp44
+    tmp41 = np.copy(ints.tmp396)
+    del ints.tmp396
+    tmp41 += ints.tmp400 * 2
+    del ints.tmp400
+    tmp41 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp41 += ints.tmp392 * -1
+    del ints.tmp392
+    tmp39 = np.copy(f.aa.oo)
+    tmp39 += np.transpose(ints.tmp1, (1, 0))
+    tmp39 += ints.tmp47 * 2
+    tmp39 += ints.tmp49
+    tmp40 = np.copy(ints.tmp398) * 2
+    del ints.tmp398
+    tmp40 += ints.tmp402
+    del ints.tmp402
+    tmp40 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    tmp40 += ints.tmp394 * -2
+    del ints.tmp394
+    tmp40 += v.bbbb.oovv * -1
+    tmp42 = np.copy(ints.tmp416)
+    del ints.tmp416
+    tmp42 += v.aabb.oovv * -1
+    tmp38 = np.copy(f.bb.oo)
+    tmp38 += ints.tmp140 * 2
+    tmp38 += ints.tmp143
+    tmp38 += np.transpose(ints.tmp21, (1, 0))
+    tmp46 = np.copy(tmp10) * 2
+    del tmp10
+    tmp46 += tmp23
+    del tmp23
+    tmp43 = np.copy(ints.tmp151)
+    tmp43 += v.aabb.oooo
+    tmp32 = np.copy(ints.tmp347)
+    del ints.tmp347
+    tmp32 += ints.tmp351 * 2
+    del ints.tmp351
+    tmp32 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp32 += ints.tmp343 * -1
+    del ints.tmp343
+    tmp31 = np.copy(ints.tmp345) * 2
+    del ints.tmp345
+    tmp31 += ints.tmp349
+    del ints.tmp349
+    tmp31 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp31 += ints.tmp341 * -2
+    del ints.tmp341
+    tmp31 += v.aaaa.oovv * -1
+    tmp37 = np.copy(tmp35) * -1
+    del tmp35
+    tmp37 += tmp36 * 2
+    del tmp36
+    tmp33 = np.copy(ints.tmp390)
+    del ints.tmp390
+    tmp33 += np.transpose(v.aabb.vvoo, (2, 3, 0, 1)) * -1
+    tmp34 = np.copy(ints.tmp151)
+    del ints.tmp151
+    tmp34 += v.aabb.oooo
+    tmp30 = np.copy(ints.tmp367) * 2
+    del ints.tmp367
+    tmp30 += ints.tmp369
+    del ints.tmp369
+    tmp30 += f.aa.vv * -1
+    tmp30 += np.transpose(tmp29, (1, 0))
+    del tmp29
+    tmp27 = np.copy(tmp19) * 4
+    del tmp19
+    tmp27 += tmp20 * 2
+    del tmp20
+    tmp27 += tmp21
+    del tmp21
+    tmp27 += tmp22
+    del tmp22
+    tmp27 += tmp24
+    del tmp24
+    tmp27 += np.transpose(tmp26, (1, 0, 2)) * -2
+    del tmp26
+    tmp18 = einsum(f.aa.ov, (0, 1), r1.a, (2,), (0, 2, 1))
+    tmp18 += tmp8
+    del tmp8
+    tmp18 += tmp9 * 2
+    del tmp9
+    tmp18 += tmp11 * 2
+    del tmp11
+    tmp18 += np.transpose(tmp13, (1, 0, 2)) * -1
+    del tmp13
+    tmp18 += np.transpose(tmp15, (1, 0, 2))
+    del tmp15
+    tmp18 += np.transpose(tmp17, (1, 0, 2))
+    del tmp17
+    tmp28 = np.copy(ints.tmp148)
+    del ints.tmp148
+    tmp28 += np.transpose(v.aaaa.oooo, (0, 2, 1, 3))
+    tmp6 = np.copy(np.transpose(ints.tmp225, (1, 2, 0, 3)))
+    del ints.tmp225
+    tmp6 += np.transpose(ints.tmp230, (1, 2, 0, 3))
+    del ints.tmp230
+    tmp6 += np.transpose(ints.tmp238, (0, 2, 1, 3))
+    del ints.tmp238
+    tmp6 += np.transpose(ints.tmp251, (0, 2, 1, 3)) * 2
+    del ints.tmp251
+    tmp6 += np.transpose(ints.tmp256, (0, 2, 1, 3))
+    del ints.tmp256
+    tmp6 += ints.tmp281
+    del ints.tmp281
+    tmp6 += ints.tmp285
+    del ints.tmp285
+    tmp6 += ints.tmp295 * 2
+    del ints.tmp295
+    tmp6 += ints.tmp307
+    del ints.tmp307
+    tmp6 += ints.tmp315
+    del ints.tmp315
+    tmp6 += ints.tmp334
+    del ints.tmp334
+    tmp6 += ints.tmp119 * -1
+    del ints.tmp119
+    tmp6 += ints.tmp248 * -2
+    del ints.tmp248
+    tmp6 += ints.tmp262 * -1
+    del ints.tmp262
+    tmp6 += ints.tmp277 * -1
+    del ints.tmp277
+    tmp6 += ints.tmp292 * -2
+    del ints.tmp292
+    tmp6 += ints.tmp299 * -1
+    del ints.tmp299
+    tmp6 += np.transpose(ints.tmp317, (0, 2, 1, 3)) * -1
+    del ints.tmp317
+    tmp6 += ints.tmp325 * -1
+    del ints.tmp325
+    tmp6 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) * -1
+    tmp7 = np.copy(f.bb.oo)
+    tmp7 += ints.tmp140 * 2
+    del ints.tmp140
+    tmp7 += ints.tmp143
+    del ints.tmp143
+    tmp7 += np.transpose(ints.tmp163, (1, 0))
+    del ints.tmp163
+    tmp7 += np.transpose(ints.tmp167, (1, 0))
+    del ints.tmp167
+    tmp7 += ints.tmp205
+    del ints.tmp205
+    tmp7 += ints.tmp209
+    del ints.tmp209
+    tmp7 += np.transpose(ints.tmp21, (1, 0))
+    del ints.tmp21
+    tmp7 += ints.tmp161 * -1
+    del ints.tmp161
+    tmp7 += ints.tmp203 * -1
+    del ints.tmp203
+    tmp2 = np.copy(ints.tmp120)
+    del ints.tmp120
+    tmp2 += ints.tmp125 * 0.5
+    del ints.tmp125
+    tmp2 += ints.tmp141
+    del ints.tmp141
+    tmp2 += ints.tmp144 * 0.5
+    del ints.tmp144
+    tmp2 += ints.tmp164 * 0.5
+    del ints.tmp164
+    tmp2 += ints.tmp168 * 0.5
+    del ints.tmp168
+    tmp2 += ints.tmp187 * 0.5
+    del ints.tmp187
+    tmp2 += ints.tmp206 * 0.5
+    del ints.tmp206
+    tmp2 += ints.tmp210 * 0.5
+    del ints.tmp210
+    tmp2 += ints.tmp22 * 0.5
+    del ints.tmp22
+    tmp2 += ints.tmp37 * 0.5
+    del ints.tmp37
+    tmp2 += ints.tmp4 * 0.5
+    del ints.tmp4
+    tmp2 += ints.tmp53
+    del ints.tmp53
+    tmp2 += ints.tmp55 * 0.5
+    del ints.tmp55
+    tmp2 += ints.tmp72
+    del ints.tmp72
+    tmp2 += ints.tmp85 * 0.5
+    del ints.tmp85
+    tmp2 += ints.tmp92
+    del ints.tmp92
+    tmp2 += f.bb.ov * -0.5
+    tmp2 += ints.tmp100 * -0.5
+    del ints.tmp100
+    tmp2 += ints.tmp103 * -1
+    del ints.tmp103
+    tmp2 += ints.tmp10 * -0.5
+    del ints.tmp10
+    tmp2 += ints.tmp13 * -1
+    del ints.tmp13
+    tmp2 += ints.tmp162 * -0.5
+    del ints.tmp162
+    tmp2 += ints.tmp185 * -0.5
+    del ints.tmp185
+    tmp2 += ints.tmp189 * -0.5
+    del ints.tmp189
+    tmp2 += ints.tmp204 * -0.5
+    del ints.tmp204
+    tmp2 += ints.tmp36 * -0.5
+    del ints.tmp36
+    tmp2 += ints.tmp38 * -0.5
+    del ints.tmp38
+    tmp2 += ints.tmp74 * -0.5
+    del ints.tmp74
+    tmp2 += ints.tmp7 * -0.5
+    del ints.tmp7
+    tmp2 += ints.tmp88 * -0.5
+    del ints.tmp88
+    tmp2 += ints.tmp96 * -1
+    del ints.tmp96
+    tmp5 = np.copy(ints.tmp124)
+    del ints.tmp124
+    tmp5 += np.transpose(ints.tmp223, (0, 2, 1, 3))
+    del ints.tmp223
+    tmp5 += np.transpose(ints.tmp240, (0, 2, 1, 3))
+    del ints.tmp240
+    tmp5 += np.transpose(ints.tmp250, (0, 2, 1, 3))
+    del ints.tmp250
+    tmp5 += np.transpose(ints.tmp254, (0, 2, 1, 3)) * 2
+    del ints.tmp254
+    tmp5 += ints.tmp264
+    del ints.tmp264
+    tmp5 += ints.tmp279
+    del ints.tmp279
+    tmp5 += ints.tmp283
+    del ints.tmp283
+    tmp5 += ints.tmp291
+    del ints.tmp291
+    tmp5 += ints.tmp297 * 2
+    del ints.tmp297
+    tmp5 += ints.tmp328
+    del ints.tmp328
+    tmp5 += np.transpose(v.aabb.ovoo, (0, 2, 3, 1))
+    tmp5 += np.transpose(ints.tmp232, (0, 2, 1, 3)) * -1
+    del ints.tmp232
+    tmp5 += ints.tmp247 * -1
+    del ints.tmp247
+    tmp5 += ints.tmp253 * -1
+    del ints.tmp253
+    tmp5 += ints.tmp275 * -1
+    del ints.tmp275
+    tmp5 += ints.tmp294 * -1
+    del ints.tmp294
+    tmp5 += ints.tmp301 * -1
+    del ints.tmp301
+    tmp5 += ints.tmp309 * -1
+    del ints.tmp309
+    tmp5 += ints.tmp319 * -1
+    del ints.tmp319
+    tmp5 += np.transpose(ints.tmp320, (0, 2, 1, 3)) * -1
+    del ints.tmp320
+    tmp5 += ints.tmp336 * -1
+    del ints.tmp336
+    tmp3 = np.copy(ints.tmp117)
+    del ints.tmp117
+    tmp3 += ints.tmp122 * 0.5
+    del ints.tmp122
+    tmp3 += ints.tmp138
+    del ints.tmp138
+    tmp3 += ints.tmp146 * 0.5
+    del ints.tmp146
+    tmp3 += ints.tmp159 * 0.5
+    del ints.tmp159
+    tmp3 += ints.tmp165 * 0.5
+    del ints.tmp165
+    tmp3 += ints.tmp182 * 0.5
+    del ints.tmp182
+    tmp3 += ints.tmp19 * 0.5
+    del ints.tmp19
+    tmp3 += ints.tmp201 * 0.5
+    del ints.tmp201
+    tmp3 += ints.tmp207 * 0.5
+    del ints.tmp207
+    tmp3 += ints.tmp2 * 0.5
+    del ints.tmp2
+    tmp3 += ints.tmp34 * 0.5
+    del ints.tmp34
+    tmp3 += ints.tmp51
+    del ints.tmp51
+    tmp3 += ints.tmp57 * 0.5
+    del ints.tmp57
+    tmp3 += ints.tmp70
+    del ints.tmp70
+    tmp3 += ints.tmp83
+    del ints.tmp83
+    tmp3 += ints.tmp90 * 0.5
+    del ints.tmp90
+    tmp3 += f.aa.ov * -0.5
+    tmp3 += ints.tmp101 * -0.5
+    del ints.tmp101
+    tmp3 += ints.tmp11 * -0.5
+    del ints.tmp11
+    tmp3 += ints.tmp157 * -0.5
+    del ints.tmp157
+    tmp3 += ints.tmp179 * -0.5
+    del ints.tmp179
+    tmp3 += ints.tmp191 * -0.5
+    del ints.tmp191
+    tmp3 += ints.tmp199 * -0.5
+    del ints.tmp199
+    tmp3 += ints.tmp32 * -0.5
+    del ints.tmp32
+    tmp3 += ints.tmp39 * -0.5
+    del ints.tmp39
+    tmp3 += ints.tmp5 * -0.5
+    del ints.tmp5
+    tmp3 += ints.tmp76 * -0.5
+    del ints.tmp76
+    tmp3 += ints.tmp86 * -1
+    del ints.tmp86
+    tmp3 += ints.tmp8 * -1
+    del ints.tmp8
+    tmp3 += ints.tmp94 * -0.5
+    del ints.tmp94
+    tmp3 += ints.tmp98 * -1
+    del ints.tmp98
+    tmp4 = np.copy(f.aa.oo)
+    tmp4 += ints.tmp155
+    del ints.tmp155
+    tmp4 += ints.tmp156
+    del ints.tmp156
+    tmp4 += np.transpose(ints.tmp1, (1, 0))
+    del ints.tmp1
+    tmp4 += np.transpose(ints.tmp26, (1, 0))
+    del ints.tmp26
+    tmp4 += np.transpose(ints.tmp27, (1, 0))
+    del ints.tmp27
+    tmp4 += ints.tmp47 * 2
+    del ints.tmp47
+    tmp4 += ints.tmp49
+    del ints.tmp49
+    tmp4 += ints.tmp154 * -1
+    del ints.tmp154
+    tmp4 += ints.tmp25 * -1
+    del ints.tmp25
+    tmp0 = np.copy(ints.tmp111)
+    del ints.tmp111
+    tmp0 += ints.tmp115
+    del ints.tmp115
+    tmp0 += ints.tmp129
+    del ints.tmp129
+    tmp0 += ints.tmp135 * 2
+    del ints.tmp135
+    tmp0 += np.transpose(ints.tmp17, (1, 0, 2, 3))
+    del ints.tmp17
+    tmp0 += ints.tmp197
+    del ints.tmp197
+    tmp0 += ints.tmp45
+    del ints.tmp45
+    tmp0 += np.transpose(ints.tmp46, (1, 0, 2, 3))
+    del ints.tmp46
+    tmp0 += np.transpose(ints.tmp64, (1, 0, 2, 3))
+    del ints.tmp64
+    tmp0 += np.transpose(ints.tmp68, (1, 0, 2, 3)) * 2
+    del ints.tmp68
+    tmp0 += ints.tmp80
+    del ints.tmp80
+    tmp0 += v.aabb.ooov
+    tmp0 += ints.tmp107 * -1
+    del ints.tmp107
+    tmp0 += ints.tmp132 * -1
+    del ints.tmp132
+    tmp0 += ints.tmp137 * -1
+    del ints.tmp137
+    tmp0 += ints.tmp152 * -1
+    del ints.tmp152
+    tmp0 += ints.tmp175 * -1
+    del ints.tmp175
+    tmp0 += np.transpose(ints.tmp177, (1, 0, 2, 3)) * -1
+    del ints.tmp177
+    tmp0 += ints.tmp215 * -1
+    del ints.tmp215
+    tmp0 += np.transpose(ints.tmp30, (1, 0, 2, 3)) * -1
+    del ints.tmp30
+    tmp0 += ints.tmp61 * -1
+    del ints.tmp61
+    tmp0 += ints.tmp65 * -1
+    del ints.tmp65
+    tmp1 = np.copy(ints.tmp109)
+    del ints.tmp109
+    tmp1 += ints.tmp113
+    del ints.tmp113
+    tmp1 += ints.tmp130 * 2
+    del ints.tmp130
+    tmp1 += ints.tmp149
+    del ints.tmp149
+    tmp1 += np.transpose(ints.tmp15, (1, 2, 0, 3))
+    del ints.tmp15
+    tmp1 += ints.tmp170
+    del ints.tmp170
+    tmp1 += ints.tmp212
+    del ints.tmp212
+    tmp1 += np.transpose(ints.tmp28, (1, 2, 0, 3))
+    del ints.tmp28
+    tmp1 += np.transpose(ints.tmp43, (0, 2, 1, 3))
+    del ints.tmp43
+    tmp1 += np.transpose(ints.tmp62, (0, 2, 1, 3)) * 2
+    del ints.tmp62
+    tmp1 += np.transpose(ints.tmp66, (0, 2, 1, 3))
+    del ints.tmp66
+    tmp1 += ints.tmp105 * -1
+    del ints.tmp105
+    tmp1 += ints.tmp127 * -2
+    del ints.tmp127
+    tmp1 += ints.tmp133 * -1
+    del ints.tmp133
+    tmp1 += np.transpose(ints.tmp172, (0, 2, 1, 3)) * -1
+    del ints.tmp172
+    tmp1 += ints.tmp194 * -1
+    del ints.tmp194
+    tmp1 += ints.tmp41 * -1
+    del ints.tmp41
+    tmp1 += ints.tmp59 * -2
+    del ints.tmp59
+    tmp1 += ints.tmp78 * -1
+    del ints.tmp78
+    tmp1 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3)) * -1
+    r2new.bbb = np.copy(tmp57) * -1
+    r2new.bbb += np.transpose(tmp57, (1, 0, 2))
+    del tmp57
+    r2new.bbb += tmp64
+    r2new.bbb += np.transpose(tmp64, (1, 0, 2)) * -1
+    del tmp64
+    r2new.bbb += einsum(tmp65, (0, 1, 2, 3), r2.bbb, (1, 0, 4), (2, 3, 4)) * -2
+    del tmp65
+    r2new.bbb += einsum(tmp45, (0, 1), r2.bbb, (2, 3, 0), (2, 3, 1)) * -2
+    r2new.bab = einsum(f.bb.ov, (0, 1), r1.a, (2,), (0, 2, 1)) * -1
+    r2new.bab += einsum(v.aabb.ooov, (0, 1, 2, 3), r1.a, (1,), (2, 0, 3))
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp40, (0, 3, 2, 4), (3, 1, 4))
+    del tmp40
+    r2new.bab += einsum(r2.aaa, (0, 1, 2), tmp41, (1, 3, 2, 4), (3, 0, 4)) * -2
+    del tmp41
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp42, (1, 3, 2, 4), (0, 3, 4))
+    del tmp42
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp43, (1, 3, 0, 4), (4, 3, 2))
+    del tmp43
+    r2new.bab += einsum(tmp45, (0, 1), r2.bab, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp45
+    r2new.bab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp46, (1,), (2, 0, 3))
+    del tmp46
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp38, (0, 3), (3, 1, 2)) * -1
+    r2new.bab += einsum(tmp39, (0, 1), r2.bab, (2, 0, 3), (2, 1, 3)) * -1
+    r2new.aba = einsum(v.aabb.ovoo, (0, 1, 2, 3), r1.b, (3,), (0, 2, 1))
+    r2new.aba += einsum(r1.b, (0,), f.aa.ov, (1, 2), (1, 0, 2)) * -1
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp31, (0, 3, 2, 4), (3, 1, 4))
+    del tmp31
+    r2new.aba += einsum(r2.bbb, (0, 1, 2), tmp32, (3, 1, 4, 2), (3, 0, 4)) * -2
+    del tmp32
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp33, (1, 3, 2, 4), (0, 3, 4))
+    del tmp33
+    r2new.aba += einsum(tmp34, (0, 1, 2, 3), r2.aba, (0, 2, 4), (1, 3, 4))
+    del tmp34
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp30, (2, 3), (0, 1, 3)) * -1
+    r2new.aba += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp37, (3,), (0, 2, 1))
+    del tmp37
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp38, (1, 3), (0, 3, 2)) * -1
+    del tmp38
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp39, (0, 3), (3, 1, 2)) * -1
+    del tmp39
+    r2new.aaa = np.copy(tmp18) * -1
+    r2new.aaa += np.transpose(tmp18, (1, 0, 2))
+    del tmp18
+    r2new.aaa += tmp27
+    r2new.aaa += np.transpose(tmp27, (1, 0, 2)) * -1
+    del tmp27
+    r2new.aaa += einsum(tmp28, (0, 1, 2, 3), r2.aaa, (0, 1, 4), (2, 3, 4)) * 2
+    del tmp28
+    r2new.aaa += einsum(tmp30, (0, 1), r2.aaa, (2, 3, 0), (2, 3, 1)) * -2
+    del tmp30
+    r1new.b = einsum(tmp5, (0, 1, 2, 3), r2.aba, (0, 1, 3), (2,))
+    del tmp5
+    r1new.b += einsum(tmp6, (0, 1, 2, 3), r2.bbb, (0, 1, 3), (2,)) * 2
+    del tmp6
+    r1new.b += einsum(tmp2, (0, 1), r2.bbb, (2, 0, 1), (2,)) * -4
+    r1new.b += einsum(tmp3, (0, 1), r2.aba, (0, 2, 1), (2,)) * 2
+    r1new.b += einsum(tmp7, (0, 1), r1.b, (0,), (1,)) * -1
+    del tmp7
+    r1new.a = einsum(tmp0, (0, 1, 2, 3), r2.bab, (2, 0, 3), (1,))
+    del tmp0
+    r1new.a += einsum(tmp1, (0, 1, 2, 3), r2.aaa, (1, 0, 3), (2,)) * -2
+    del tmp1
+    r1new.a += einsum(r2.bab, (0, 1, 2), tmp2, (0, 2), (1,)) * 2
+    del tmp2
+    r1new.a += einsum(r2.aaa, (0, 1, 2), tmp3, (1, 2), (0,)) * -4
+    del tmp3
+    r1new.a += einsum(tmp4, (0, 1), r1.a, (0,), (1,)) * -1
+    del tmp4
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCC2.hbar_lmatvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:56:17.551677.

+

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

+

tmp10 : array +tmp100 : array +tmp101 : array +tmp103 : array +tmp11 : array +tmp111 : array +tmp112 : array +tmp114 : array +tmp115 : array +tmp117 : array +tmp118 : array +tmp120 : array +tmp121 : array +tmp123 : array +tmp125 : array +tmp127 : array +tmp128 : array +tmp13 : array +tmp130 : array +tmp131 : array +tmp133 : array +tmp134 : array +tmp136 : array +tmp137 : array +tmp139 : array +tmp141 : array +tmp142 : array +tmp144 : array +tmp145 : array +tmp147 : array +tmp149 : array +tmp151 : array +tmp154 : array +tmp157 : array +tmp159 : array +tmp161 : array +tmp164 : array +tmp169 : array +tmp171 : array +tmp173 : array +tmp174 : array +tmp175 : array +tmp176 : array +tmp177 : array +tmp178 : array +tmp179 : array +tmp181 : array +tmp183 : array +tmp185 : array +tmp186 : array +tmp188 : array +tmp19 : array +tmp191 : array +tmp194 : array +tmp196 : array +tmp198 : array +tmp2 : array +tmp20 : array +tmp201 : array +tmp22 : array +tmp226 : array +tmp228 : array +tmp23 : array +tmp230 : array +tmp232 : array +tmp238 : array +tmp240 : array +tmp246 : array +tmp247 : array +tmp249 : array +tmp250 : array +tmp252 : array +tmp254 : array +tmp256 : array +tmp26 : array +tmp27 : array +tmp276 : array +tmp278 : array +tmp28 : array +tmp284 : array +tmp285 : array +tmp287 : array +tmp288 : array +tmp29 : array +tmp290 : array +tmp292 : array +tmp294 : array +tmp305 : array +tmp307 : array +tmp309 : array +tmp31 : array +tmp310 : array +tmp33 : array +tmp34 : array +tmp35 : array +tmp36 : array +tmp4 : array +tmp43 : array +tmp45 : array +tmp47 : array +tmp49 : array +tmp5 : array +tmp51 : array +tmp53 : array +tmp55 : array +tmp57 : array +tmp59 : array +tmp61 : array +tmp63 : array +tmp65 : array +tmp67 : array +tmp69 : array +tmp7 : array +tmp71 : array +tmp73 : array +tmp74 : array +tmp76 : array +tmp77 : array +tmp79 : array +tmp8 : array +tmp81 : array +tmp82 : array +tmp83 : array +tmp85 : array +tmp86 : array +tmp88 : array +tmp89 : array +tmp90 : array +tmp92 : array +tmp94 : array +tmp96 : array +tmp98 : array

+ +
+ Source code in ebcc/codegen/UCC2.py +
4367
+4368
+4369
+4370
+4371
+4372
+4373
+4374
+4375
+4376
+4377
+4378
+4379
+4380
+4381
+4382
+4383
+4384
+4385
+4386
+4387
+4388
+4389
+4390
+4391
+4392
+4393
+4394
+4395
+4396
+4397
+4398
+4399
+4400
+4401
+4402
+4403
+4404
+4405
+4406
+4407
+4408
+4409
+4410
+4411
+4412
+4413
+4414
+4415
+4416
+4417
+4418
+4419
+4420
+4421
+4422
+4423
+4424
+4425
+4426
+4427
+4428
+4429
+4430
+4431
+4432
+4433
+4434
+4435
+4436
+4437
+4438
+4439
+4440
+4441
+4442
+4443
+4444
+4445
+4446
+4447
+4448
+4449
+4450
+4451
+4452
+4453
+4454
+4455
+4456
+4457
+4458
+4459
+4460
+4461
+4462
+4463
+4464
+4465
+4466
+4467
+4468
+4469
+4470
+4471
+4472
+4473
+4474
+4475
+4476
+4477
+4478
+4479
+4480
+4481
+4482
+4483
+4484
+4485
+4486
+4487
+4488
+4489
+4490
+4491
+4492
+4493
+4494
+4495
+4496
+4497
+4498
+4499
+4500
+4501
+4502
+4503
+4504
+4505
+4506
+4507
+4508
+4509
+4510
+4511
+4512
+4513
+4514
+4515
+4516
+4517
+4518
+4519
+4520
+4521
+4522
+4523
+4524
+4525
+4526
+4527
+4528
+4529
+4530
+4531
+4532
+4533
+4534
+4535
+4536
+4537
+4538
+4539
+4540
+4541
+4542
+4543
+4544
+4545
+4546
+4547
+4548
+4549
+4550
+4551
+4552
+4553
+4554
+4555
+4556
+4557
+4558
+4559
+4560
+4561
+4562
+4563
+4564
+4565
+4566
+4567
+4568
+4569
+4570
+4571
+4572
+4573
+4574
+4575
+4576
+4577
+4578
+4579
+4580
+4581
+4582
+4583
+4584
+4585
+4586
+4587
+4588
+4589
+4590
+4591
+4592
+4593
+4594
+4595
+4596
+4597
+4598
+4599
+4600
+4601
+4602
+4603
+4604
+4605
+4606
+4607
+4608
+4609
+4610
+4611
+4612
+4613
+4614
+4615
+4616
+4617
+4618
+4619
+4620
+4621
+4622
+4623
+4624
+4625
+4626
+4627
+4628
+4629
+4630
+4631
+4632
+4633
+4634
+4635
+4636
+4637
+4638
+4639
+4640
+4641
+4642
+4643
+4644
+4645
+4646
+4647
+4648
+4649
+4650
+4651
+4652
+4653
+4654
+4655
+4656
+4657
+4658
+4659
+4660
+4661
+4662
+4663
+4664
+4665
+4666
+4667
+4668
+4669
+4670
+4671
+4672
+4673
+4674
+4675
def hbar_lmatvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:56:17.551677.
+
+    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
+    -------
+    tmp10 : array
+    tmp100 : array
+    tmp101 : array
+    tmp103 : array
+    tmp11 : array
+    tmp111 : array
+    tmp112 : array
+    tmp114 : array
+    tmp115 : array
+    tmp117 : array
+    tmp118 : array
+    tmp120 : array
+    tmp121 : array
+    tmp123 : array
+    tmp125 : array
+    tmp127 : array
+    tmp128 : array
+    tmp13 : array
+    tmp130 : array
+    tmp131 : array
+    tmp133 : array
+    tmp134 : array
+    tmp136 : array
+    tmp137 : array
+    tmp139 : array
+    tmp141 : array
+    tmp142 : array
+    tmp144 : array
+    tmp145 : array
+    tmp147 : array
+    tmp149 : array
+    tmp151 : array
+    tmp154 : array
+    tmp157 : array
+    tmp159 : array
+    tmp161 : array
+    tmp164 : array
+    tmp169 : array
+    tmp171 : array
+    tmp173 : array
+    tmp174 : array
+    tmp175 : array
+    tmp176 : array
+    tmp177 : array
+    tmp178 : array
+    tmp179 : array
+    tmp181 : array
+    tmp183 : array
+    tmp185 : array
+    tmp186 : array
+    tmp188 : array
+    tmp19 : array
+    tmp191 : array
+    tmp194 : array
+    tmp196 : array
+    tmp198 : array
+    tmp2 : array
+    tmp20 : array
+    tmp201 : array
+    tmp22 : array
+    tmp226 : array
+    tmp228 : array
+    tmp23 : array
+    tmp230 : array
+    tmp232 : array
+    tmp238 : array
+    tmp240 : array
+    tmp246 : array
+    tmp247 : array
+    tmp249 : array
+    tmp250 : array
+    tmp252 : array
+    tmp254 : array
+    tmp256 : array
+    tmp26 : array
+    tmp27 : array
+    tmp276 : array
+    tmp278 : array
+    tmp28 : array
+    tmp284 : array
+    tmp285 : array
+    tmp287 : array
+    tmp288 : array
+    tmp29 : array
+    tmp290 : array
+    tmp292 : array
+    tmp294 : array
+    tmp305 : array
+    tmp307 : array
+    tmp309 : array
+    tmp31 : array
+    tmp310 : array
+    tmp33 : array
+    tmp34 : array
+    tmp35 : array
+    tmp36 : array
+    tmp4 : array
+    tmp43 : array
+    tmp45 : array
+    tmp47 : array
+    tmp49 : array
+    tmp5 : array
+    tmp51 : array
+    tmp53 : array
+    tmp55 : array
+    tmp57 : array
+    tmp59 : array
+    tmp61 : array
+    tmp63 : array
+    tmp65 : array
+    tmp67 : array
+    tmp69 : array
+    tmp7 : array
+    tmp71 : array
+    tmp73 : array
+    tmp74 : array
+    tmp76 : array
+    tmp77 : array
+    tmp79 : array
+    tmp8 : array
+    tmp81 : array
+    tmp82 : array
+    tmp83 : array
+    tmp85 : array
+    tmp86 : array
+    tmp88 : array
+    tmp89 : array
+    tmp90 : array
+    tmp92 : array
+    tmp94 : array
+    tmp96 : array
+    tmp98 : array
+    """
+
+    tmp35 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3))
+    tmp36 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp33 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3))
+    tmp89 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 1, 0, 3), (2, 3))
+    tmp29 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1))
+    tmp82 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 1), (0, 3))
+    tmp117 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp114 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 2, 1))
+    tmp200 = einsum(t1.bb, (0, 1), tmp35, (2, 1), (0, 2))
+    tmp197 = einsum(t1.aa, (0, 1), tmp36, (2, 1), (0, 2))
+    tmp195 = einsum(tmp33, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp193 = einsum(tmp89, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp190 = einsum(t1.aa, (0, 1), tmp29, (2, 1), (0, 2))
+    tmp187 = einsum(t1.aa, (0, 1), tmp82, (2, 1), (0, 2))
+    tmp28 = einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3))
+    tmp177 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3))
+    tmp175 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2))
+    tmp173 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3))
+    tmp27 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 2, 3, 1), (2, 3))
+    tmp26 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3))
+    tmp163 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3))
+    tmp160 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp158 = einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 0, 1), (2, 3))
+    tmp156 = einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 0, 3, 1), (2, 3))
+    tmp153 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1))
+    tmp150 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (1, 3), (0, 2))
+    tmp136 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4))
+    tmp133 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2))
+    tmp130 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 1, 3), (4, 0))
+    tmp127 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4))
+    tmp120 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1))
+    tmp111 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1))
+    tmp22 = einsum(t1.bb, (0, 1), f.bb.ov, (2, 1), (2, 0))
+    tmp19 = einsum(f.aa.ov, (0, 1), t1.aa, (2, 1), (0, 2))
+    tmp310 = einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (0, 3, 2, 4))
+    tmp309 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp307 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2))
+    tmp305 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 1), (4, 0, 2, 3))
+    tmp294 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp292 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 5, 3))
+    tmp290 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (0, 4, 2, 5))
+    tmp288 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp287 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp285 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp284 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp278 = einsum(tmp117, (0, 1, 2, 3), t2.abab, (1, 2, 4, 5), (0, 4, 5, 3))
+    tmp276 = einsum(tmp114, (0, 1, 2, 3), t2.bbbb, (2, 1, 4, 5), (0, 4, 5, 3)) * -1
+    tmp256 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 5), (0, 4, 3, 5))
+    tmp254 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 5, 2, 3))
+    tmp252 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 5, 2, 3))
+    tmp250 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (1, 4, 5, 3), (0, 2, 4, 5))
+    tmp249 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 5, 1, 2))
+    tmp247 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (1, 3, 4, 5), (0, 2, 4, 5))
+    tmp246 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.abab, (4, 0, 5, 1), (4, 5, 2, 3))
+    tmp240 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp238 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.bbbb, (2, 1, 4, 5), (0, 4, 5, 3)) * -1
+    tmp232 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4))
+    tmp230 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 4), (2, 4)) * -1
+    tmp228 = einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp226 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2))
+    tmp201 = einsum(t1.bb, (0, 1), tmp200, (2, 0), (2, 1))
+    del tmp200
+    tmp198 = einsum(tmp197, (0, 1), t1.aa, (1, 2), (0, 2))
+    del tmp197
+    tmp196 = einsum(t1.bb, (0, 1), tmp195, (2, 0), (2, 1))
+    del tmp195
+    tmp194 = einsum(t1.bb, (0, 1), tmp193, (2, 0), (2, 1))
+    del tmp193
+    tmp191 = einsum(t1.aa, (0, 1), tmp190, (2, 0), (2, 1))
+    del tmp190
+    tmp188 = einsum(tmp187, (0, 1), t1.aa, (1, 2), (0, 2))
+    del tmp187
+    tmp186 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 1, 2))
+    tmp185 = einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3))
+    tmp183 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2))
+    tmp181 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3))
+    tmp179 = einsum(t1.aa, (0, 1), tmp28, (2, 1), (0, 2))
+    tmp178 = einsum(tmp177, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp176 = einsum(tmp175, (0, 1), t1.bb, (2, 0), (2, 1))
+    tmp174 = einsum(tmp173, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp171 = einsum(t1.aa, (0, 1), tmp27, (1, 2), (0, 2))
+    tmp169 = einsum(tmp26, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp164 = einsum(t1.bb, (0, 1), tmp163, (2, 0), (2, 1))
+    del tmp163
+    tmp161 = einsum(t1.aa, (0, 1), tmp160, (2, 0), (2, 1))
+    del tmp160
+    tmp159 = einsum(t1.bb, (0, 1), tmp158, (2, 0), (2, 1))
+    del tmp158
+    tmp157 = einsum(t1.bb, (0, 1), tmp156, (2, 0), (2, 1))
+    del tmp156
+    tmp154 = einsum(tmp153, (0, 1), t1.aa, (1, 2), (0, 2))
+    del tmp153
+    tmp151 = einsum(tmp150, (0, 1), t1.aa, (1, 2), (0, 2))
+    del tmp150
+    tmp149 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4))
+    tmp147 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 4, 1, 5))
+    tmp145 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp144 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (2, 4, 1, 5), (0, 4, 3, 5))
+    tmp142 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp141 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3))
+    tmp139 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp137 = einsum(tmp136, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp134 = einsum(t1.bb, (0, 1), tmp133, (2, 0), (2, 1))
+    tmp131 = einsum(t1.bb, (0, 1), tmp130, (2, 0), (2, 1))
+    tmp128 = einsum(tmp127, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp125 = einsum(tmp120, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 4, 3, 5))
+    tmp123 = einsum(tmp111, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 5), (0, 4, 5, 3)) * -1
+    tmp121 = einsum(t2.abab, (0, 1, 2, 3), tmp120, (0, 4, 1, 2), (4, 3))
+    tmp118 = einsum(tmp117, (0, 1, 2, 3), t2.abab, (1, 2, 4, 3), (0, 4))
+    tmp115 = einsum(t2.bbbb, (0, 1, 2, 3), tmp114, (4, 0, 1, 3), (4, 2)) * -1
+    tmp112 = einsum(t2.aaaa, (0, 1, 2, 3), tmp111, (4, 0, 1, 3), (4, 2)) * -1
+    tmp103 = einsum(tmp35, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3))
+    tmp101 = einsum(tmp35, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp100 = einsum(tmp36, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp98 = einsum(t2.aaaa, (0, 1, 2, 3), tmp36, (1, 3), (0, 2))
+    tmp96 = einsum(tmp33, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3))
+    tmp94 = einsum(t2.abab, (0, 1, 2, 3), tmp33, (1, 3), (0, 2))
+    tmp92 = einsum(tmp89, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3))
+    tmp90 = einsum(tmp89, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp88 = einsum(t2.abab, (0, 1, 2, 3), tmp29, (0, 2), (1, 3))
+    tmp86 = einsum(tmp29, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp85 = einsum(t2.abab, (0, 1, 2, 3), tmp82, (0, 2), (1, 3))
+    tmp83 = einsum(t2.aaaa, (0, 1, 2, 3), tmp82, (1, 3), (0, 2))
+    tmp81 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 4, 5, 3), (1, 2, 4, 5))
+    tmp79 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp77 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5))
+    tmp76 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovvv, (0, 4, 5, 2), (1, 4, 5, 3))
+    tmp74 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 5, 1, 2))
+    tmp73 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 3, 5))
+    tmp71 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 5, 2, 3))
+    tmp69 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 3), (0, 4))
+    tmp67 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 3), (1, 4))
+    tmp65 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 0, 1, 3), (4, 2))
+    tmp63 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 0, 1, 3), (4, 2))
+    tmp61 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (0, 3, 4, 5), (2, 4, 1, 5))
+    tmp59 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 5), (0, 4, 5, 3)) * -1
+    tmp57 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 3), (4, 2))
+    tmp55 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 1), (4, 3))
+    tmp53 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 0, 3), (4, 2)) * -1
+    tmp51 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 1, 0, 3), (4, 2)) * -1
+    tmp49 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (4, 1))
+    tmp47 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 3), (4, 1))
+    tmp45 = einsum(v.aabb.vvvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2))
+    tmp43 = einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp34 = einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 0, 3, 1), (2, 3))
+    tmp31 = einsum(v.aaaa.oovv, (0, 1, 2, 3), t1.aa, (1, 3), (0, 2))
+    tmp23 = einsum(t1.bb, (0, 1), tmp22, (0, 2), (2, 1))
+    tmp20 = einsum(tmp19, (0, 1), t1.aa, (0, 2), (1, 2))
+    tmp13 = einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3))
+    tmp11 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp10 = einsum(f.aa.ov, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp8 = einsum(t2.aaaa, (0, 1, 2, 3), f.aa.ov, (1, 3), (0, 2))
+    tmp7 = einsum(f.bb.vv, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp5 = einsum(t1.aa, (0, 1), f.aa.vv, (2, 1), (0, 2))
+    tmp4 = einsum(t1.bb, (0, 1), f.bb.oo, (2, 0), (2, 1))
+    tmp2 = einsum(f.aa.oo, (0, 1), t1.aa, (1, 2), (0, 2))
+
+    return {f"tmp10": tmp10, f"tmp100": tmp100, f"tmp101": tmp101, f"tmp103": tmp103, f"tmp11": tmp11, f"tmp111": tmp111, f"tmp112": tmp112, f"tmp114": tmp114, f"tmp115": tmp115, f"tmp117": tmp117, f"tmp118": tmp118, f"tmp120": tmp120, f"tmp121": tmp121, f"tmp123": tmp123, f"tmp125": tmp125, f"tmp127": tmp127, f"tmp128": tmp128, f"tmp13": tmp13, f"tmp130": tmp130, f"tmp131": tmp131, f"tmp133": tmp133, f"tmp134": tmp134, f"tmp136": tmp136, f"tmp137": tmp137, f"tmp139": tmp139, f"tmp141": tmp141, f"tmp142": tmp142, f"tmp144": tmp144, f"tmp145": tmp145, f"tmp147": tmp147, f"tmp149": tmp149, f"tmp151": tmp151, f"tmp154": tmp154, f"tmp157": tmp157, f"tmp159": tmp159, f"tmp161": tmp161, f"tmp164": tmp164, f"tmp169": tmp169, f"tmp171": tmp171, f"tmp173": tmp173, f"tmp174": tmp174, f"tmp175": tmp175, f"tmp176": tmp176, f"tmp177": tmp177, f"tmp178": tmp178, f"tmp179": tmp179, f"tmp181": tmp181, f"tmp183": tmp183, f"tmp185": tmp185, f"tmp186": tmp186, f"tmp188": tmp188, f"tmp19": tmp19, f"tmp191": tmp191, f"tmp194": tmp194, f"tmp196": tmp196, f"tmp198": tmp198, f"tmp2": tmp2, f"tmp20": tmp20, f"tmp201": tmp201, f"tmp22": tmp22, f"tmp226": tmp226, f"tmp228": tmp228, f"tmp23": tmp23, f"tmp230": tmp230, f"tmp232": tmp232, f"tmp238": tmp238, f"tmp240": tmp240, f"tmp246": tmp246, f"tmp247": tmp247, f"tmp249": tmp249, f"tmp250": tmp250, f"tmp252": tmp252, f"tmp254": tmp254, f"tmp256": tmp256, f"tmp26": tmp26, f"tmp27": tmp27, f"tmp276": tmp276, f"tmp278": tmp278, f"tmp28": tmp28, f"tmp284": tmp284, f"tmp285": tmp285, f"tmp287": tmp287, f"tmp288": tmp288, f"tmp29": tmp29, f"tmp290": tmp290, f"tmp292": tmp292, f"tmp294": tmp294, f"tmp305": tmp305, f"tmp307": tmp307, f"tmp309": tmp309, f"tmp31": tmp31, f"tmp310": tmp310, f"tmp33": tmp33, f"tmp34": tmp34, f"tmp35": tmp35, f"tmp36": tmp36, f"tmp4": tmp4, f"tmp43": tmp43, f"tmp45": tmp45, f"tmp47": tmp47, f"tmp49": tmp49, f"tmp5": tmp5, f"tmp51": tmp51, f"tmp53": tmp53, f"tmp55": tmp55, f"tmp57": tmp57, f"tmp59": tmp59, f"tmp61": tmp61, f"tmp63": tmp63, f"tmp65": tmp65, f"tmp67": tmp67, f"tmp69": tmp69, f"tmp7": tmp7, f"tmp71": tmp71, f"tmp73": tmp73, f"tmp74": tmp74, f"tmp76": tmp76, f"tmp77": tmp77, f"tmp79": tmp79, f"tmp8": tmp8, f"tmp81": tmp81, f"tmp82": tmp82, f"tmp83": tmp83, f"tmp85": tmp85, f"tmp86": tmp86, f"tmp88": tmp88, f"tmp89": tmp89, f"tmp90": tmp90, f"tmp92": tmp92, f"tmp94": tmp94, f"tmp96": tmp96, f"tmp98": tmp98}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCC2.hbar_lmatvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:56:17.631079.

+

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.

+ +
+ Source code in ebcc/codegen/UCC2.py +
4677
+4678
+4679
+4680
+4681
+4682
+4683
+4684
+4685
+4686
+4687
+4688
+4689
+4690
+4691
+4692
+4693
+4694
+4695
+4696
+4697
+4698
+4699
+4700
+4701
+4702
+4703
+4704
+4705
+4706
+4707
+4708
+4709
+4710
+4711
+4712
+4713
+4714
+4715
+4716
+4717
+4718
+4719
+4720
+4721
+4722
+4723
+4724
+4725
+4726
+4727
+4728
+4729
+4730
+4731
+4732
+4733
+4734
+4735
+4736
+4737
+4738
+4739
+4740
+4741
+4742
+4743
+4744
+4745
+4746
+4747
+4748
+4749
+4750
+4751
+4752
+4753
+4754
+4755
+4756
+4757
+4758
+4759
+4760
+4761
+4762
+4763
+4764
+4765
+4766
+4767
+4768
+4769
+4770
+4771
+4772
+4773
+4774
+4775
+4776
+4777
+4778
+4779
+4780
+4781
+4782
+4783
+4784
+4785
+4786
+4787
+4788
+4789
+4790
+4791
+4792
+4793
+4794
+4795
+4796
+4797
+4798
+4799
+4800
+4801
+4802
+4803
+4804
+4805
+4806
+4807
+4808
+4809
+4810
+4811
+4812
+4813
+4814
+4815
+4816
+4817
+4818
+4819
+4820
+4821
+4822
+4823
+4824
+4825
+4826
+4827
+4828
+4829
+4830
+4831
+4832
+4833
+4834
+4835
+4836
+4837
+4838
+4839
+4840
+4841
+4842
+4843
+4844
+4845
+4846
+4847
+4848
+4849
+4850
+4851
+4852
+4853
+4854
+4855
+4856
+4857
+4858
+4859
+4860
+4861
+4862
+4863
+4864
+4865
+4866
+4867
+4868
+4869
+4870
+4871
+4872
+4873
+4874
+4875
+4876
+4877
+4878
+4879
+4880
+4881
+4882
+4883
+4884
+4885
+4886
+4887
+4888
+4889
+4890
+4891
+4892
+4893
+4894
+4895
+4896
+4897
+4898
+4899
+4900
+4901
+4902
+4903
+4904
+4905
+4906
+4907
+4908
+4909
+4910
+4911
+4912
+4913
+4914
+4915
+4916
+4917
+4918
+4919
+4920
+4921
+4922
+4923
+4924
+4925
+4926
+4927
+4928
+4929
+4930
+4931
+4932
+4933
+4934
+4935
+4936
+4937
+4938
+4939
+4940
+4941
+4942
+4943
+4944
+4945
+4946
+4947
+4948
+4949
+4950
+4951
+4952
+4953
+4954
+4955
+4956
+4957
+4958
+4959
+4960
+4961
+4962
+4963
+4964
+4965
+4966
+4967
+4968
+4969
+4970
+4971
+4972
+4973
+4974
+4975
+4976
+4977
+4978
+4979
+4980
+4981
+4982
+4983
+4984
+4985
+4986
+4987
+4988
+4989
+4990
+4991
+4992
+4993
+4994
+4995
+4996
+4997
+4998
+4999
+5000
+5001
+5002
+5003
+5004
+5005
+5006
+5007
+5008
+5009
+5010
+5011
+5012
+5013
+5014
+5015
+5016
+5017
+5018
+5019
+5020
+5021
+5022
+5023
+5024
+5025
+5026
+5027
+5028
+5029
+5030
+5031
+5032
+5033
+5034
+5035
+5036
+5037
+5038
+5039
+5040
+5041
+5042
+5043
+5044
+5045
+5046
+5047
+5048
+5049
+5050
+5051
+5052
+5053
+5054
+5055
+5056
+5057
+5058
+5059
+5060
+5061
+5062
+5063
+5064
+5065
+5066
+5067
+5068
+5069
+5070
+5071
+5072
+5073
+5074
+5075
+5076
+5077
+5078
+5079
+5080
+5081
+5082
+5083
+5084
+5085
+5086
+5087
+5088
+5089
+5090
+5091
+5092
+5093
+5094
+5095
+5096
+5097
+5098
+5099
+5100
+5101
+5102
+5103
+5104
+5105
+5106
+5107
+5108
+5109
+5110
+5111
+5112
+5113
+5114
+5115
+5116
+5117
+5118
+5119
+5120
+5121
+5122
+5123
+5124
+5125
+5126
+5127
+5128
+5129
+5130
+5131
+5132
+5133
+5134
+5135
+5136
+5137
+5138
+5139
+5140
+5141
+5142
+5143
+5144
+5145
+5146
+5147
+5148
+5149
+5150
+5151
+5152
+5153
+5154
+5155
+5156
+5157
+5158
+5159
+5160
+5161
+5162
+5163
+5164
+5165
+5166
+5167
+5168
+5169
+5170
+5171
+5172
+5173
+5174
+5175
+5176
+5177
+5178
+5179
+5180
+5181
+5182
+5183
+5184
+5185
+5186
+5187
+5188
+5189
+5190
+5191
+5192
+5193
+5194
+5195
+5196
+5197
+5198
+5199
+5200
+5201
+5202
+5203
+5204
+5205
+5206
+5207
+5208
+5209
+5210
+5211
+5212
+5213
+5214
+5215
+5216
+5217
+5218
+5219
+5220
+5221
+5222
+5223
+5224
+5225
+5226
+5227
+5228
+5229
+5230
+5231
+5232
+5233
+5234
+5235
+5236
+5237
+5238
+5239
+5240
+5241
+5242
+5243
+5244
+5245
+5246
+5247
+5248
+5249
+5250
+5251
+5252
+5253
+5254
+5255
+5256
+5257
+5258
+5259
+5260
+5261
+5262
+5263
def hbar_lmatvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:56:17.631079.
+
+    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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp32 = einsum(t2.abab, (0, 1, 2, 3), r2.aba, (2, 3, 0), (1,))
+    tmp33 = einsum(r2.bbb, (0, 1, 2), t2.bbbb, (3, 2, 0, 1), (3,))
+    tmp76 = np.copy(ints.tmp285) * 2
+    tmp76 += ints.tmp292
+    tmp78 = np.copy(ints.tmp230)
+    tmp78 += ints.tmp232 * 0.5
+    tmp78 += f.bb.vv * -0.5
+    tmp80 = np.copy(tmp32) * -0.5
+    tmp80 += tmp33
+    tmp86 = np.copy(ints.tmp284)
+    tmp86 += ints.tmp290 * 2
+    tmp21 = einsum(r2.bbb, (0, 1, 2), t1.bb, (3, 1), (2, 3, 0))
+    tmp16 = einsum(t2.abab, (0, 1, 2, 3), r2.bab, (3, 2, 1), (0,)) * -1
+    tmp2 = einsum(r2.aaa, (0, 1, 2), t1.aa, (3, 1), (2, 3, 0))
+    tmp40 = np.copy(ints.tmp139) * 2
+    tmp40 += ints.tmp145
+    tmp15 = einsum(r2.aaa, (0, 1, 2), t2.aaaa, (3, 2, 0, 1), (3,))
+    tmp44 = np.copy(ints.tmp47)
+    tmp44 += ints.tmp49 * 0.5
+    tmp44 += f.aa.vv * -0.5
+    tmp42 = np.copy(ints.tmp141) * 0.5
+    tmp42 += ints.tmp147
+    tmp77 = einsum(tmp76, (0, 1, 2, 3), r2.bbb, (4, 2, 0), (1, 4, 3)) * -2
+    del tmp76
+    tmp74 = einsum(r2.aba, (0, 1, 2), v.aabb.ovov, (2, 0, 3, 4), (3, 1, 4))
+    tmp73 = einsum(ints.tmp287, (0, 1, 2, 3), r2.aba, (2, 4, 0), (1, 3, 4))
+    tmp79 = einsum(r2.bbb, (0, 1, 2), tmp78, (1, 3), (2, 0, 3)) * -4
+    del tmp78
+    tmp72 = einsum(r1.b, (0,), v.bbbb.ovvv, (1, 2, 3, 0), (1, 2, 3))
+    tmp81 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp80, (2,), (0, 3, 1)) * 2
+    del tmp80
+    tmp75 = einsum(v.bbbb.oovv, (0, 1, 2, 3), r2.bbb, (4, 3, 1), (0, 4, 2))
+    tmp84 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r2.bbb, (4, 3, 2), (0, 4, 1))
+    tmp87 = einsum(tmp86, (0, 1, 2, 3), r2.aba, (2, 4, 0), (1, 4, 3))
+    del tmp86
+    tmp85 = einsum(tmp21, (0, 1, 2), f.bb.ov, (1, 3), (0, 3, 2))
+    tmp83 = einsum(ints.tmp288, (0, 1, 2, 3), r2.bbb, (4, 2, 0), (1, 3, 4))
+    tmp59 = einsum(f.bb.ov, (0, 1), t1.bb, (0, 2), (1, 2))
+    tmp61 = einsum(f.aa.ov, (0, 1), t1.aa, (0, 2), (1, 2))
+    tmp48 = einsum(v.aaaa.ovov, (0, 1, 2, 3), r2.aaa, (4, 3, 2), (0, 4, 1))
+    tmp52 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp16, (2,), (0, 1, 3))
+    tmp47 = einsum(r2.aaa, (0, 1, 2), ints.tmp142, (2, 3, 1, 4), (3, 4, 0))
+    tmp49 = einsum(f.aa.ov, (0, 1), tmp2, (2, 0, 3), (2, 1, 3))
+    tmp51 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.bab, (3, 4, 2), (0, 4, 1)) * -1
+    tmp50 = einsum(r2.bab, (0, 1, 2), ints.tmp144, (3, 2, 4, 0), (3, 4, 1)) * -1
+    tmp41 = einsum(r2.aaa, (0, 1, 2), tmp40, (2, 3, 1, 4), (3, 0, 4)) * -2
+    del tmp40
+    tmp39 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp15, (2,), (0, 1, 3)) * -1
+    tmp37 = einsum(r1.a, (0,), v.aaaa.ovvv, (1, 2, 3, 0), (1, 2, 3))
+    tmp38 = einsum(r2.aaa, (0, 1, 2), v.aaaa.oovv, (3, 2, 4, 1), (3, 0, 4))
+    tmp45 = einsum(tmp44, (0, 1), r2.aaa, (2, 0, 3), (3, 2, 1)) * -4
+    del tmp44
+    tmp43 = einsum(r2.bab, (0, 1, 2), tmp42, (3, 2, 4, 0), (3, 1, 4)) * -2
+    del tmp42
+    tmp25 = einsum(t1.aa, (0, 1), r2.aba, (1, 2, 3), (3, 0, 2))
+    tmp6 = einsum(t1.bb, (0, 1), r2.bab, (1, 2, 3), (3, 0, 2)) * -1
+    tmp69 = np.copy(f.bb.oo)
+    tmp69 += ints.tmp130 * 2
+    del ints.tmp130
+    tmp69 += ints.tmp133
+    del ints.tmp133
+    tmp69 += np.transpose(ints.tmp22, (1, 0))
+    del ints.tmp22
+    tmp82 = einsum(r1.b, (0,), f.bb.ov, (1, 2), (1, 2, 0))
+    tmp82 += tmp72
+    del tmp72
+    tmp82 += tmp73
+    del tmp73
+    tmp82 += tmp74
+    del tmp74
+    tmp82 += tmp75 * 2
+    del tmp75
+    tmp82 += np.transpose(tmp77, (0, 2, 1)) * -1
+    del tmp77
+    tmp82 += np.transpose(tmp79, (0, 2, 1))
+    del tmp79
+    tmp82 += np.transpose(tmp81, (0, 2, 1)) * -1
+    del tmp81
+    tmp71 = einsum(t2.bbbb, (0, 1, 2, 3), r2.bbb, (2, 3, 4), (4, 0, 1))
+    tmp88 = np.copy(tmp83) * 4
+    del tmp83
+    tmp88 += tmp84 * 2
+    del tmp84
+    tmp88 += tmp85 * 2
+    del tmp85
+    tmp88 += np.transpose(tmp87, (0, 2, 1))
+    del tmp87
+    tmp65 = np.copy(ints.tmp285) * 2
+    tmp65 += ints.tmp292
+    tmp65 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    tmp65 += ints.tmp288 * -2
+    tmp65 += v.bbbb.oovv * -1
+    tmp66 = np.copy(ints.tmp284)
+    tmp66 += ints.tmp290 * 2
+    tmp66 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp66 += ints.tmp287 * -1
+    tmp64 = einsum(t2.abab, (0, 1, 2, 3), r2.bab, (3, 2, 4), (0, 4, 1)) * -1
+    tmp68 = np.copy(ints.tmp230)
+    tmp68 += ints.tmp232 * 0.5
+    tmp68 += f.bb.vv * -0.5
+    tmp68 += np.transpose(tmp59, (1, 0)) * 0.5
+    tmp67 = np.copy(ints.tmp149)
+    tmp67 += np.transpose(v.aabb.vvoo, (2, 3, 0, 1)) * -1
+    tmp62 = np.copy(ints.tmp47) * 2
+    tmp62 += ints.tmp49
+    tmp62 += f.aa.vv * -1
+    tmp62 += np.transpose(tmp61, (1, 0))
+    del tmp61
+    tmp70 = np.copy(tmp15)
+    tmp70 += tmp16 * 0.5
+    tmp60 = np.copy(ints.tmp230) * 2
+    tmp60 += ints.tmp232
+    tmp60 += f.bb.vv * -1
+    tmp60 += np.transpose(tmp59, (1, 0))
+    del tmp59
+    tmp56 = np.copy(ints.tmp139) * 2
+    tmp56 += ints.tmp145
+    tmp56 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp56 += ints.tmp142 * -2
+    tmp56 += v.aaaa.oovv * -1
+    tmp55 = einsum(t2.abab, (0, 1, 2, 3), r2.aba, (2, 3, 4), (4, 0, 1))
+    tmp57 = np.copy(ints.tmp141)
+    tmp57 += ints.tmp147 * 2
+    tmp57 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp57 += ints.tmp144 * -1
+    tmp58 = np.copy(ints.tmp294)
+    tmp58 += v.aabb.oovv * -1
+    tmp63 = np.copy(tmp32) * -1
+    tmp63 += tmp33 * 2
+    tmp54 = np.copy(f.aa.oo)
+    tmp54 += ints.tmp127 * 2
+    del ints.tmp127
+    tmp54 += ints.tmp136
+    del ints.tmp136
+    tmp54 += np.transpose(ints.tmp19, (1, 0))
+    del ints.tmp19
+    tmp36 = einsum(r2.aaa, (0, 1, 2), t2.aaaa, (3, 4, 0, 1), (2, 3, 4))
+    tmp53 = np.copy(tmp47) * 4
+    del tmp47
+    tmp53 += tmp48 * 2
+    del tmp48
+    tmp53 += tmp49 * 2
+    del tmp49
+    tmp53 += tmp50
+    del tmp50
+    tmp53 += tmp51
+    del tmp51
+    tmp53 += tmp52
+    del tmp52
+    tmp46 = einsum(f.aa.ov, (0, 1), r1.a, (2,), (0, 1, 2))
+    tmp46 += tmp37
+    del tmp37
+    tmp46 += tmp38 * 2
+    del tmp38
+    tmp46 += tmp39 * 2
+    del tmp39
+    tmp46 += np.transpose(tmp41, (0, 2, 1)) * -1
+    del tmp41
+    tmp46 += np.transpose(tmp43, (0, 2, 1))
+    del tmp43
+    tmp46 += np.transpose(tmp45, (0, 2, 1))
+    del tmp45
+    tmp28 = np.copy(ints.tmp117)
+    del ints.tmp117
+    tmp28 += v.aabb.ooov
+    tmp29 = einsum(t1.bb, (0, 1), tmp21, (2, 3, 1), (2, 3, 0)) * -1
+    tmp19 = np.copy(ints.tmp228)
+    del ints.tmp228
+    tmp19 += np.transpose(ints.tmp240, (0, 1, 3, 2))
+    del ints.tmp240
+    tmp19 += ints.tmp246
+    del ints.tmp246
+    tmp19 += ints.tmp252 * 2
+    del ints.tmp252
+    tmp19 += np.transpose(ints.tmp278, (0, 1, 3, 2))
+    del ints.tmp278
+    tmp19 += v.aabb.ovvv
+    tmp19 += ints.tmp249 * -1
+    del ints.tmp249
+    tmp19 += np.transpose(ints.tmp256, (0, 1, 3, 2)) * -1
+    del ints.tmp256
+    tmp35 = np.copy(f.bb.ov)
+    tmp35 += ints.tmp33
+    tmp35 += ints.tmp35
+    tmp35 += ints.tmp89 * -1
+    del ints.tmp89
+    tmp23 = einsum(t1.bb, (0, 1), r2.aba, (2, 1, 3), (3, 0, 2))
+    tmp34 = einsum(t1.bb, (0, 1), r1.b, (1,), (0,))
+    tmp34 += tmp32 * -1
+    del tmp32
+    tmp34 += tmp33 * 2
+    del tmp33
+    tmp24 = np.copy(ints.tmp284)
+    del ints.tmp284
+    tmp24 += ints.tmp290 * 2
+    del ints.tmp290
+    tmp24 += ints.tmp310
+    del ints.tmp310
+    tmp24 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp24 += ints.tmp287 * -1
+    del ints.tmp287
+    tmp22 = np.copy(ints.tmp285) * 2
+    del ints.tmp285
+    tmp22 += ints.tmp292
+    del ints.tmp292
+    tmp22 += np.transpose(ints.tmp307, (0, 1, 3, 2))
+    del ints.tmp307
+    tmp22 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    tmp22 += ints.tmp288 * -2
+    del ints.tmp288
+    tmp22 += np.transpose(ints.tmp305, (0, 1, 3, 2)) * -1
+    del ints.tmp305
+    tmp22 += v.bbbb.oovv * -1
+    tmp9 = np.copy(ints.tmp115) * 2
+    del ints.tmp115
+    tmp9 += ints.tmp121
+    del ints.tmp121
+    tmp9 += ints.tmp131 * 2
+    del ints.tmp131
+    tmp9 += ints.tmp134
+    del ints.tmp134
+    tmp9 += ints.tmp159
+    del ints.tmp159
+    tmp9 += ints.tmp164
+    del ints.tmp164
+    tmp9 += ints.tmp176
+    del ints.tmp176
+    tmp9 += ints.tmp196
+    del ints.tmp196
+    tmp9 += ints.tmp201
+    del ints.tmp201
+    tmp9 += ints.tmp23
+    del ints.tmp23
+    tmp9 += ints.tmp34
+    del ints.tmp34
+    tmp9 += ints.tmp4
+    del ints.tmp4
+    tmp9 += ints.tmp53 * 2
+    del ints.tmp53
+    tmp9 += ints.tmp55
+    del ints.tmp55
+    tmp9 += ints.tmp65 * 2
+    del ints.tmp65
+    tmp9 += ints.tmp85
+    del ints.tmp85
+    tmp9 += ints.tmp92 * 2
+    del ints.tmp92
+    tmp9 += f.bb.ov * -1
+    tmp9 += ints.tmp100 * -1
+    del ints.tmp100
+    tmp9 += ints.tmp103 * -2
+    del ints.tmp103
+    tmp9 += ints.tmp10 * -1
+    del ints.tmp10
+    tmp9 += ints.tmp13 * -2
+    del ints.tmp13
+    tmp9 += ints.tmp157 * -1
+    del ints.tmp157
+    tmp9 += ints.tmp174 * -1
+    del ints.tmp174
+    tmp9 += ints.tmp178 * -1
+    del ints.tmp178
+    tmp9 += ints.tmp194 * -1
+    del ints.tmp194
+    tmp9 += ints.tmp33 * -1
+    del ints.tmp33
+    tmp9 += ints.tmp35 * -1
+    del ints.tmp35
+    tmp9 += ints.tmp67 * -1
+    del ints.tmp67
+    tmp9 += ints.tmp7 * -1
+    del ints.tmp7
+    tmp9 += ints.tmp88 * -1
+    del ints.tmp88
+    tmp9 += ints.tmp96 * -2
+    del ints.tmp96
+    tmp8 = np.copy(ints.tmp112) * 2
+    del ints.tmp112
+    tmp8 += ints.tmp118
+    del ints.tmp118
+    tmp8 += ints.tmp128 * 2
+    del ints.tmp128
+    tmp8 += ints.tmp137
+    del ints.tmp137
+    tmp8 += ints.tmp154
+    del ints.tmp154
+    tmp8 += ints.tmp161
+    del ints.tmp161
+    tmp8 += ints.tmp171
+    del ints.tmp171
+    tmp8 += ints.tmp191
+    del ints.tmp191
+    tmp8 += ints.tmp198
+    del ints.tmp198
+    tmp8 += ints.tmp20
+    del ints.tmp20
+    tmp8 += ints.tmp2
+    del ints.tmp2
+    tmp8 += ints.tmp31
+    del ints.tmp31
+    tmp8 += ints.tmp51 * 2
+    del ints.tmp51
+    tmp8 += ints.tmp57
+    del ints.tmp57
+    tmp8 += ints.tmp63 * 2
+    del ints.tmp63
+    tmp8 += ints.tmp83 * 2
+    del ints.tmp83
+    tmp8 += ints.tmp90
+    del ints.tmp90
+    tmp8 += f.aa.ov * -1
+    tmp8 += ints.tmp101 * -1
+    del ints.tmp101
+    tmp8 += ints.tmp11 * -1
+    del ints.tmp11
+    tmp8 += ints.tmp151 * -1
+    del ints.tmp151
+    tmp8 += ints.tmp169 * -1
+    del ints.tmp169
+    tmp8 += ints.tmp179 * -1
+    del ints.tmp179
+    tmp8 += ints.tmp188 * -1
+    del ints.tmp188
+    tmp8 += ints.tmp29 * -1
+    tmp8 += ints.tmp36 * -1
+    tmp8 += ints.tmp5 * -1
+    del ints.tmp5
+    tmp8 += ints.tmp69 * -1
+    del ints.tmp69
+    tmp8 += ints.tmp86 * -2
+    del ints.tmp86
+    tmp8 += ints.tmp8 * -2
+    del ints.tmp8
+    tmp8 += ints.tmp94 * -1
+    del ints.tmp94
+    tmp8 += ints.tmp98 * -2
+    del ints.tmp98
+    tmp27 = einsum(t1.bb, (0, 1), tmp25, (2, 3, 1), (2, 3, 0))
+    tmp26 = np.copy(np.transpose(ints.tmp309, (0, 1, 3, 2)))
+    del ints.tmp309
+    tmp26 += v.aabb.oovv
+    tmp26 += ints.tmp294 * -1
+    del ints.tmp294
+    tmp31 = np.copy(np.transpose(ints.tmp175, (1, 0)))
+    del ints.tmp175
+    tmp31 += ints.tmp230 * 2
+    del ints.tmp230
+    tmp31 += ints.tmp232
+    del ints.tmp232
+    tmp31 += f.bb.vv * -1
+    tmp31 += np.transpose(ints.tmp173, (1, 0)) * -1
+    del ints.tmp173
+    tmp31 += np.transpose(ints.tmp177, (1, 0)) * -1
+    del ints.tmp177
+    tmp20 = np.copy(np.transpose(ints.tmp238, (0, 3, 1, 2))) * 0.5
+    del ints.tmp238
+    tmp20 += np.transpose(ints.tmp247, (0, 2, 1, 3))
+    del ints.tmp247
+    tmp20 += np.transpose(ints.tmp254, (0, 2, 1, 3)) * 0.5
+    del ints.tmp254
+    tmp20 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3)) * 0.5
+    tmp20 += ints.tmp226 * -0.5
+    del ints.tmp226
+    tmp20 += np.transpose(ints.tmp250, (0, 2, 1, 3)) * -1
+    del ints.tmp250
+    tmp20 += np.transpose(ints.tmp276, (0, 3, 1, 2)) * -0.5
+    del ints.tmp276
+    tmp30 = np.copy(ints.tmp114)
+    del ints.tmp114
+    tmp30 += v.bbbb.ooov * -1
+    tmp12 = einsum(t1.aa, (0, 1), tmp6, (2, 3, 1), (0, 2, 3))
+    tmp3 = np.copy(ints.tmp139) * 2
+    del ints.tmp139
+    tmp3 += ints.tmp145
+    del ints.tmp145
+    tmp3 += np.transpose(ints.tmp183, (0, 1, 3, 2))
+    del ints.tmp183
+    tmp3 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp3 += ints.tmp142 * -2
+    del ints.tmp142
+    tmp3 += np.transpose(ints.tmp181, (0, 1, 3, 2)) * -1
+    del ints.tmp181
+    tmp3 += v.aaaa.oovv * -1
+    tmp11 = np.copy(ints.tmp111)
+    del ints.tmp111
+    tmp11 += v.aaaa.ooov * -1
+    tmp4 = einsum(t1.aa, (0, 1), r2.bab, (2, 1, 3), (0, 3, 2)) * -1
+    tmp5 = np.copy(ints.tmp141)
+    del ints.tmp141
+    tmp5 += ints.tmp147 * 2
+    del ints.tmp147
+    tmp5 += ints.tmp186
+    del ints.tmp186
+    tmp5 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp5 += ints.tmp144 * -1
+    del ints.tmp144
+    tmp10 = einsum(tmp2, (0, 1, 2), t1.aa, (3, 2), (0, 1, 3)) * -1
+    tmp1 = np.copy(ints.tmp59) * 0.5
+    del ints.tmp59
+    tmp1 += np.transpose(ints.tmp71, (0, 1, 3, 2))
+    del ints.tmp71
+    tmp1 += np.transpose(ints.tmp77, (0, 1, 3, 2)) * 0.5
+    del ints.tmp77
+    tmp1 += v.aaaa.ovvv * 0.5
+    tmp1 += ints.tmp123 * -0.5
+    del ints.tmp123
+    tmp1 += np.transpose(ints.tmp43, (0, 2, 3, 1)) * -0.5
+    del ints.tmp43
+    tmp1 += np.transpose(ints.tmp74, (0, 1, 3, 2)) * -1
+    del ints.tmp74
+    tmp17 = einsum(t1.aa, (0, 1), r1.a, (1,), (0,))
+    tmp17 += tmp15 * 2
+    del tmp15
+    tmp17 += tmp16
+    del tmp16
+    tmp7 = np.copy(np.transpose(ints.tmp185, (0, 1, 3, 2)))
+    del ints.tmp185
+    tmp7 += np.transpose(v.aabb.vvoo, (2, 3, 0, 1))
+    tmp7 += ints.tmp149 * -1
+    del ints.tmp149
+    tmp14 = np.copy(np.transpose(ints.tmp27, (1, 0)))
+    del ints.tmp27
+    tmp14 += ints.tmp47 * 2
+    del ints.tmp47
+    tmp14 += ints.tmp49
+    del ints.tmp49
+    tmp14 += f.aa.vv * -1
+    tmp14 += np.transpose(ints.tmp26, (1, 0)) * -1
+    del ints.tmp26
+    tmp14 += np.transpose(ints.tmp28, (1, 0)) * -1
+    del ints.tmp28
+    tmp13 = np.copy(ints.tmp120)
+    del ints.tmp120
+    tmp13 += np.transpose(v.aabb.ovoo, (0, 2, 3, 1))
+    tmp18 = np.copy(f.aa.ov)
+    tmp18 += ints.tmp29
+    del ints.tmp29
+    tmp18 += ints.tmp36
+    del ints.tmp36
+    tmp18 += ints.tmp82 * -1
+    del ints.tmp82
+    tmp0 = np.copy(ints.tmp125)
+    del ints.tmp125
+    tmp0 += np.transpose(ints.tmp45, (0, 2, 1, 3))
+    del ints.tmp45
+    tmp0 += ints.tmp61
+    del ints.tmp61
+    tmp0 += np.transpose(ints.tmp73, (0, 2, 1, 3))
+    del ints.tmp73
+    tmp0 += np.transpose(ints.tmp79, (0, 2, 1, 3)) * 2
+    del ints.tmp79
+    tmp0 += np.transpose(v.aabb.vvov, (2, 0, 1, 3))
+    tmp0 += np.transpose(ints.tmp76, (0, 2, 1, 3)) * -1
+    del ints.tmp76
+    tmp0 += ints.tmp81 * -1
+    del ints.tmp81
+    r2new.bbb = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp71, (4, 2, 0), (1, 3, 4)) * -2
+    del tmp71
+    r2new.bbb += einsum(r2.bbb, (0, 1, 2), v.bbbb.vvvv, (3, 0, 4, 1), (3, 4, 2)) * 2
+    r2new.bbb += np.transpose(tmp82, (1, 2, 0)) * -1
+    r2new.bbb += np.transpose(tmp82, (2, 1, 0))
+    del tmp82
+    r2new.bbb += np.transpose(tmp88, (1, 2, 0))
+    r2new.bbb += np.transpose(tmp88, (2, 1, 0)) * -1
+    del tmp88
+    r2new.bbb += einsum(r2.bbb, (0, 1, 2), tmp69, (2, 3), (0, 1, 3)) * -2
+    r2new.bab = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp64, (0, 4, 2), (3, 1, 4)) * -1
+    del tmp64
+    r2new.bab += einsum(f.bb.ov, (0, 1), r1.a, (2,), (1, 2, 0)) * -1
+    r2new.bab += einsum(r2.bab, (0, 1, 2), v.aabb.vvvv, (3, 1, 4, 0), (4, 3, 2))
+    r2new.bab += einsum(r1.a, (0,), v.aabb.vvov, (1, 0, 2, 3), (3, 1, 2)) * -1
+    r2new.bab += einsum(tmp65, (0, 1, 2, 3), r2.bab, (2, 4, 0), (3, 4, 1))
+    del tmp65
+    r2new.bab += einsum(r2.aaa, (0, 1, 2), tmp66, (2, 3, 1, 4), (4, 0, 3)) * -2
+    del tmp66
+    r2new.bab += einsum(tmp67, (0, 1, 2, 3), r2.bab, (4, 2, 0), (4, 3, 1))
+    del tmp67
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp68, (0, 3), (3, 1, 2)) * -2
+    del tmp68
+    r2new.bab += einsum(tmp62, (0, 1), r2.bab, (2, 0, 3), (2, 1, 3)) * -1
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp69, (2, 3), (0, 1, 3)) * -1
+    del tmp69
+    r2new.bab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp70, (0,), (3, 1, 2)) * 2
+    del tmp70
+    r2new.aba = einsum(f.aa.ov, (0, 1), r1.b, (2,), (1, 2, 0)) * -1
+    r2new.aba += einsum(r2.aba, (0, 1, 2), v.aabb.vvvv, (3, 0, 4, 1), (3, 4, 2))
+    r2new.aba += einsum(r1.b, (0,), v.aabb.ovvv, (1, 2, 3, 0), (2, 3, 1)) * -1
+    r2new.aba += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp55, (4, 0, 2), (1, 3, 4))
+    del tmp55
+    r2new.aba += einsum(tmp56, (0, 1, 2, 3), r2.aba, (2, 4, 0), (3, 4, 1))
+    del tmp56
+    r2new.aba += einsum(r2.bbb, (0, 1, 2), tmp57, (3, 2, 4, 1), (4, 0, 3)) * -2
+    del tmp57
+    r2new.aba += einsum(tmp58, (0, 1, 2, 3), r2.aba, (4, 2, 0), (4, 3, 1))
+    del tmp58
+    r2new.aba += einsum(tmp60, (0, 1), r2.aba, (2, 0, 3), (2, 1, 3)) * -1
+    del tmp60
+    r2new.aba += einsum(tmp62, (0, 1), r2.aba, (0, 2, 3), (1, 2, 3)) * -1
+    del tmp62
+    r2new.aba += einsum(tmp54, (0, 1), r2.aba, (2, 3, 0), (2, 3, 1)) * -1
+    r2new.aba += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp63, (2,), (1, 3, 0))
+    del tmp63
+    r2new.aaa = einsum(r2.aaa, (0, 1, 2), v.aaaa.vvvv, (3, 1, 4, 0), (3, 4, 2)) * -2
+    r2new.aaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp36, (4, 2, 0), (1, 3, 4)) * -2
+    del tmp36
+    r2new.aaa += np.transpose(tmp46, (1, 2, 0)) * -1
+    r2new.aaa += np.transpose(tmp46, (2, 1, 0))
+    del tmp46
+    r2new.aaa += np.transpose(tmp53, (1, 2, 0))
+    r2new.aaa += np.transpose(tmp53, (2, 1, 0)) * -1
+    del tmp53
+    r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp54, (2, 3), (0, 1, 3)) * -2
+    del tmp54
+    r1new.b = einsum(tmp19, (0, 1, 2, 3), r2.aba, (1, 3, 0), (2,)) * -1
+    del tmp19
+    r1new.b += einsum(tmp20, (0, 1, 2, 3), r2.bbb, (2, 3, 0), (1,)) * -4
+    del tmp20
+    r1new.b += einsum(tmp21, (0, 1, 2), tmp22, (0, 1, 2, 3), (3,)) * 2
+    del tmp21, tmp22
+    r1new.b += einsum(tmp23, (0, 1, 2), tmp24, (0, 1, 2, 3), (3,))
+    del tmp23, tmp24
+    r1new.b += einsum(tmp26, (0, 1, 2, 3), tmp25, (0, 1, 2), (3,))
+    del tmp25, tmp26
+    r1new.b += einsum(tmp8, (0, 1), r2.aba, (1, 2, 0), (2,))
+    r1new.b += einsum(tmp9, (0, 1), r2.bbb, (2, 1, 0), (2,)) * -2
+    r1new.b += einsum(tmp28, (0, 1, 2, 3), tmp27, (0, 1, 2), (3,)) * -1
+    del tmp28, tmp27
+    r1new.b += einsum(tmp29, (0, 1, 2), tmp30, (0, 2, 1, 3), (3,)) * -2
+    del tmp29, tmp30
+    r1new.b += einsum(r1.b, (0,), tmp31, (0, 1), (1,)) * -1
+    del tmp31
+    r1new.b += einsum(tmp34, (0,), tmp35, (0, 1), (1,)) * -1
+    del tmp34, tmp35
+    r1new.a = einsum(tmp0, (0, 1, 2, 3), r2.bab, (3, 1, 0), (2,)) * -1
+    del tmp0
+    r1new.a += einsum(r2.aaa, (0, 1, 2), tmp1, (2, 1, 0, 3), (3,)) * 4
+    del tmp1
+    r1new.a += einsum(tmp2, (0, 1, 2), tmp3, (0, 1, 2, 3), (3,)) * 2
+    del tmp2, tmp3
+    r1new.a += einsum(tmp5, (0, 1, 2, 3), tmp4, (0, 1, 3), (2,)) * -1
+    del tmp5, tmp4
+    r1new.a += einsum(tmp6, (0, 1, 2), tmp7, (0, 1, 2, 3), (3,)) * -1
+    del tmp6, tmp7
+    r1new.a += einsum(r2.aaa, (0, 1, 2), tmp8, (2, 1), (0,)) * -2
+    del tmp8
+    r1new.a += einsum(tmp9, (0, 1), r2.bab, (1, 2, 0), (2,))
+    del tmp9
+    r1new.a += einsum(tmp11, (0, 1, 2, 3), tmp10, (0, 2, 1), (3,)) * -2
+    del tmp11, tmp10
+    r1new.a += einsum(tmp12, (0, 1, 2), tmp13, (0, 1, 2, 3), (3,))
+    del tmp12, tmp13
+    r1new.a += einsum(tmp14, (0, 1), r1.a, (0,), (1,)) * -1
+    del tmp14
+    r1new.a += einsum(tmp18, (0, 1), tmp17, (0,), (1,)) * -1
+    del tmp18, tmp17
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/UCC3/index.html b/reference/codegen/UCC3/index.html new file mode 100644 index 00000000..4c355e8f --- /dev/null +++ b/reference/codegen/UCC3/index.html @@ -0,0 +1,5923 @@ + + + + + + + + UCC3 - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-09T22:13:44.271935
  • +
  • python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0]
  • +
  • albert version: 0.0.0
  • +
  • caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py
  • +
  • node: fv-az1487-369
  • +
  • system: Linux
  • +
  • processor: x86_64
  • +
  • release: 6.5.0-1025-azure
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.UCC3.energy(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T22:13:45.536681.

+

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.

+ +
+ Source code in ebcc/codegen/UCC3.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
def energy(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T22:13:45.536681.
+
+    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 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1))) * -1
+    tmp0 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    tmp2 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1)))
+    tmp2 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) * -1
+    tmp1 = np.copy(f.bb.ov) * 2
+    tmp1 += einsum(v.aabb.ovov, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3)) * 2
+    tmp1 += einsum(tmp0, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2)) * -1
+    del tmp0
+    e_cc = einsum(t1.bb, (0, 1), tmp1, (0, 1), ()) * 0.5
+    del tmp1
+    tmp3 = np.copy(f.aa.ov) * 2
+    tmp3 += einsum(tmp2, (0, 1, 2, 3), t1.aa, (0, 2), (1, 3)) * -1
+    del tmp2
+    e_cc += einsum(tmp3, (0, 1), t1.aa, (0, 1), ()) * 0.5
+    del tmp3
+    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.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), ())
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCC3.update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T22:17:07.956122.

+

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.

+ +
+ Source code in ebcc/codegen/UCC3.py +
  61
+  62
+  63
+  64
+  65
+  66
+  67
+  68
+  69
+  70
+  71
+  72
+  73
+  74
+  75
+  76
+  77
+  78
+  79
+  80
+  81
+  82
+  83
+  84
+  85
+  86
+  87
+  88
+  89
+  90
+  91
+  92
+  93
+  94
+  95
+  96
+  97
+  98
+  99
+ 100
+ 101
+ 102
+ 103
+ 104
+ 105
+ 106
+ 107
+ 108
+ 109
+ 110
+ 111
+ 112
+ 113
+ 114
+ 115
+ 116
+ 117
+ 118
+ 119
+ 120
+ 121
+ 122
+ 123
+ 124
+ 125
+ 126
+ 127
+ 128
+ 129
+ 130
+ 131
+ 132
+ 133
+ 134
+ 135
+ 136
+ 137
+ 138
+ 139
+ 140
+ 141
+ 142
+ 143
+ 144
+ 145
+ 146
+ 147
+ 148
+ 149
+ 150
+ 151
+ 152
+ 153
+ 154
+ 155
+ 156
+ 157
+ 158
+ 159
+ 160
+ 161
+ 162
+ 163
+ 164
+ 165
+ 166
+ 167
+ 168
+ 169
+ 170
+ 171
+ 172
+ 173
+ 174
+ 175
+ 176
+ 177
+ 178
+ 179
+ 180
+ 181
+ 182
+ 183
+ 184
+ 185
+ 186
+ 187
+ 188
+ 189
+ 190
+ 191
+ 192
+ 193
+ 194
+ 195
+ 196
+ 197
+ 198
+ 199
+ 200
+ 201
+ 202
+ 203
+ 204
+ 205
+ 206
+ 207
+ 208
+ 209
+ 210
+ 211
+ 212
+ 213
+ 214
+ 215
+ 216
+ 217
+ 218
+ 219
+ 220
+ 221
+ 222
+ 223
+ 224
+ 225
+ 226
+ 227
+ 228
+ 229
+ 230
+ 231
+ 232
+ 233
+ 234
+ 235
+ 236
+ 237
+ 238
+ 239
+ 240
+ 241
+ 242
+ 243
+ 244
+ 245
+ 246
+ 247
+ 248
+ 249
+ 250
+ 251
+ 252
+ 253
+ 254
+ 255
+ 256
+ 257
+ 258
+ 259
+ 260
+ 261
+ 262
+ 263
+ 264
+ 265
+ 266
+ 267
+ 268
+ 269
+ 270
+ 271
+ 272
+ 273
+ 274
+ 275
+ 276
+ 277
+ 278
+ 279
+ 280
+ 281
+ 282
+ 283
+ 284
+ 285
+ 286
+ 287
+ 288
+ 289
+ 290
+ 291
+ 292
+ 293
+ 294
+ 295
+ 296
+ 297
+ 298
+ 299
+ 300
+ 301
+ 302
+ 303
+ 304
+ 305
+ 306
+ 307
+ 308
+ 309
+ 310
+ 311
+ 312
+ 313
+ 314
+ 315
+ 316
+ 317
+ 318
+ 319
+ 320
+ 321
+ 322
+ 323
+ 324
+ 325
+ 326
+ 327
+ 328
+ 329
+ 330
+ 331
+ 332
+ 333
+ 334
+ 335
+ 336
+ 337
+ 338
+ 339
+ 340
+ 341
+ 342
+ 343
+ 344
+ 345
+ 346
+ 347
+ 348
+ 349
+ 350
+ 351
+ 352
+ 353
+ 354
+ 355
+ 356
+ 357
+ 358
+ 359
+ 360
+ 361
+ 362
+ 363
+ 364
+ 365
+ 366
+ 367
+ 368
+ 369
+ 370
+ 371
+ 372
+ 373
+ 374
+ 375
+ 376
+ 377
+ 378
+ 379
+ 380
+ 381
+ 382
+ 383
+ 384
+ 385
+ 386
+ 387
+ 388
+ 389
+ 390
+ 391
+ 392
+ 393
+ 394
+ 395
+ 396
+ 397
+ 398
+ 399
+ 400
+ 401
+ 402
+ 403
+ 404
+ 405
+ 406
+ 407
+ 408
+ 409
+ 410
+ 411
+ 412
+ 413
+ 414
+ 415
+ 416
+ 417
+ 418
+ 419
+ 420
+ 421
+ 422
+ 423
+ 424
+ 425
+ 426
+ 427
+ 428
+ 429
+ 430
+ 431
+ 432
+ 433
+ 434
+ 435
+ 436
+ 437
+ 438
+ 439
+ 440
+ 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
+1331
+1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
+1359
+1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
+1373
+1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
+1445
+1446
+1447
+1448
+1449
+1450
+1451
+1452
+1453
+1454
+1455
+1456
+1457
+1458
+1459
+1460
+1461
+1462
+1463
+1464
+1465
+1466
+1467
+1468
+1469
+1470
+1471
+1472
+1473
+1474
+1475
+1476
+1477
+1478
+1479
+1480
+1481
+1482
+1483
+1484
+1485
+1486
+1487
+1488
+1489
+1490
+1491
+1492
+1493
+1494
+1495
+1496
+1497
+1498
+1499
+1500
+1501
+1502
+1503
+1504
+1505
+1506
+1507
+1508
+1509
+1510
+1511
+1512
+1513
+1514
+1515
+1516
+1517
+1518
+1519
+1520
+1521
+1522
+1523
+1524
+1525
+1526
+1527
+1528
+1529
+1530
+1531
+1532
+1533
+1534
+1535
+1536
+1537
+1538
+1539
+1540
+1541
+1542
+1543
+1544
+1545
+1546
+1547
+1548
+1549
+1550
+1551
+1552
+1553
+1554
+1555
+1556
+1557
+1558
+1559
+1560
+1561
+1562
+1563
+1564
+1565
+1566
+1567
+1568
+1569
+1570
+1571
+1572
+1573
+1574
+1575
+1576
+1577
+1578
+1579
+1580
+1581
+1582
+1583
+1584
+1585
+1586
+1587
+1588
+1589
+1590
+1591
+1592
+1593
+1594
+1595
+1596
+1597
+1598
+1599
+1600
+1601
+1602
+1603
+1604
+1605
+1606
+1607
+1608
+1609
+1610
+1611
+1612
+1613
+1614
+1615
+1616
+1617
+1618
+1619
+1620
+1621
+1622
+1623
+1624
+1625
+1626
+1627
+1628
+1629
+1630
+1631
+1632
+1633
+1634
+1635
+1636
+1637
+1638
+1639
+1640
+1641
+1642
+1643
+1644
+1645
+1646
+1647
+1648
+1649
+1650
+1651
+1652
+1653
+1654
+1655
+1656
+1657
+1658
+1659
+1660
+1661
+1662
+1663
+1664
+1665
+1666
+1667
+1668
+1669
+1670
+1671
+1672
+1673
+1674
+1675
+1676
+1677
+1678
+1679
+1680
+1681
+1682
+1683
+1684
+1685
+1686
+1687
+1688
+1689
+1690
+1691
+1692
+1693
+1694
+1695
+1696
+1697
+1698
+1699
+1700
+1701
+1702
+1703
+1704
+1705
+1706
+1707
+1708
+1709
+1710
+1711
+1712
+1713
+1714
+1715
+1716
+1717
+1718
+1719
+1720
+1721
+1722
+1723
+1724
+1725
+1726
+1727
+1728
+1729
+1730
+1731
+1732
+1733
+1734
+1735
+1736
+1737
+1738
+1739
+1740
+1741
+1742
+1743
+1744
+1745
+1746
+1747
+1748
+1749
+1750
+1751
+1752
+1753
+1754
+1755
+1756
+1757
+1758
+1759
+1760
+1761
+1762
+1763
+1764
+1765
+1766
+1767
+1768
+1769
+1770
+1771
+1772
+1773
+1774
+1775
+1776
+1777
+1778
+1779
+1780
+1781
+1782
+1783
+1784
+1785
+1786
+1787
+1788
+1789
+1790
+1791
+1792
+1793
+1794
+1795
+1796
+1797
+1798
+1799
+1800
+1801
+1802
+1803
+1804
+1805
+1806
+1807
+1808
+1809
+1810
+1811
+1812
+1813
+1814
+1815
+1816
+1817
+1818
+1819
+1820
+1821
+1822
+1823
+1824
+1825
+1826
+1827
+1828
+1829
+1830
+1831
+1832
+1833
+1834
+1835
+1836
+1837
+1838
+1839
+1840
+1841
+1842
+1843
+1844
+1845
+1846
+1847
+1848
+1849
+1850
+1851
+1852
+1853
+1854
+1855
+1856
+1857
+1858
+1859
+1860
+1861
+1862
+1863
+1864
+1865
+1866
+1867
+1868
+1869
+1870
+1871
+1872
+1873
+1874
+1875
+1876
+1877
+1878
+1879
+1880
+1881
+1882
+1883
+1884
+1885
+1886
+1887
+1888
+1889
+1890
+1891
+1892
+1893
+1894
+1895
+1896
+1897
+1898
+1899
+1900
+1901
+1902
+1903
+1904
+1905
+1906
+1907
+1908
+1909
+1910
+1911
+1912
+1913
+1914
+1915
+1916
+1917
+1918
+1919
+1920
+1921
+1922
+1923
+1924
+1925
+1926
+1927
+1928
+1929
+1930
+1931
+1932
+1933
+1934
+1935
+1936
+1937
+1938
+1939
+1940
+1941
+1942
+1943
+1944
+1945
+1946
+1947
+1948
+1949
+1950
+1951
+1952
+1953
+1954
+1955
+1956
+1957
+1958
+1959
+1960
+1961
+1962
+1963
+1964
+1965
+1966
+1967
+1968
+1969
+1970
+1971
+1972
+1973
+1974
+1975
+1976
+1977
+1978
+1979
+1980
+1981
+1982
+1983
+1984
+1985
+1986
+1987
+1988
+1989
+1990
+1991
+1992
+1993
+1994
+1995
+1996
+1997
+1998
+1999
+2000
+2001
+2002
+2003
+2004
+2005
+2006
+2007
+2008
+2009
+2010
+2011
+2012
+2013
+2014
+2015
+2016
+2017
+2018
+2019
+2020
+2021
+2022
+2023
+2024
+2025
+2026
+2027
+2028
+2029
+2030
+2031
+2032
+2033
+2034
+2035
+2036
+2037
+2038
+2039
+2040
+2041
+2042
+2043
+2044
+2045
+2046
+2047
+2048
+2049
+2050
+2051
+2052
+2053
+2054
+2055
+2056
+2057
+2058
+2059
+2060
+2061
+2062
+2063
+2064
+2065
+2066
+2067
+2068
+2069
+2070
+2071
+2072
+2073
+2074
+2075
+2076
+2077
+2078
+2079
+2080
+2081
+2082
+2083
+2084
+2085
+2086
+2087
+2088
+2089
+2090
+2091
+2092
+2093
+2094
+2095
+2096
+2097
+2098
+2099
+2100
+2101
+2102
+2103
+2104
+2105
+2106
+2107
+2108
+2109
+2110
+2111
+2112
+2113
+2114
+2115
+2116
+2117
+2118
+2119
+2120
+2121
+2122
+2123
+2124
+2125
+2126
+2127
+2128
+2129
+2130
+2131
+2132
+2133
+2134
+2135
+2136
+2137
+2138
+2139
+2140
+2141
+2142
+2143
+2144
+2145
+2146
+2147
+2148
+2149
+2150
+2151
+2152
+2153
+2154
+2155
+2156
+2157
+2158
+2159
+2160
+2161
+2162
+2163
+2164
+2165
+2166
+2167
+2168
+2169
+2170
+2171
+2172
+2173
+2174
+2175
+2176
+2177
+2178
+2179
+2180
+2181
+2182
+2183
+2184
+2185
+2186
+2187
+2188
+2189
+2190
+2191
+2192
+2193
+2194
+2195
+2196
+2197
+2198
+2199
+2200
+2201
+2202
+2203
+2204
+2205
+2206
+2207
+2208
+2209
+2210
+2211
+2212
+2213
+2214
+2215
+2216
+2217
+2218
+2219
+2220
+2221
+2222
+2223
+2224
+2225
+2226
+2227
+2228
+2229
+2230
+2231
+2232
+2233
+2234
+2235
+2236
+2237
+2238
+2239
+2240
+2241
+2242
+2243
+2244
+2245
+2246
+2247
+2248
+2249
+2250
+2251
+2252
+2253
+2254
+2255
+2256
+2257
+2258
+2259
+2260
+2261
+2262
+2263
+2264
+2265
+2266
+2267
+2268
+2269
+2270
+2271
+2272
+2273
+2274
+2275
+2276
+2277
+2278
+2279
+2280
+2281
+2282
+2283
+2284
+2285
+2286
+2287
+2288
+2289
+2290
+2291
+2292
+2293
+2294
+2295
+2296
+2297
+2298
+2299
+2300
+2301
+2302
+2303
+2304
+2305
+2306
+2307
+2308
+2309
+2310
+2311
+2312
+2313
+2314
+2315
+2316
+2317
+2318
+2319
+2320
+2321
+2322
+2323
+2324
+2325
+2326
+2327
+2328
+2329
+2330
+2331
+2332
+2333
+2334
+2335
+2336
+2337
+2338
+2339
+2340
+2341
+2342
+2343
+2344
+2345
+2346
+2347
+2348
+2349
+2350
+2351
+2352
+2353
+2354
+2355
+2356
+2357
+2358
+2359
+2360
+2361
+2362
+2363
+2364
+2365
+2366
+2367
+2368
+2369
+2370
+2371
+2372
+2373
+2374
+2375
+2376
+2377
+2378
+2379
+2380
+2381
+2382
+2383
+2384
+2385
+2386
+2387
+2388
+2389
+2390
+2391
+2392
+2393
+2394
+2395
+2396
+2397
+2398
+2399
+2400
+2401
+2402
+2403
+2404
+2405
+2406
+2407
+2408
+2409
+2410
+2411
+2412
+2413
+2414
+2415
+2416
+2417
+2418
+2419
+2420
+2421
+2422
+2423
+2424
+2425
+2426
+2427
+2428
+2429
+2430
+2431
+2432
+2433
+2434
+2435
+2436
+2437
+2438
+2439
+2440
+2441
+2442
+2443
+2444
+2445
+2446
+2447
+2448
+2449
+2450
+2451
+2452
+2453
+2454
+2455
+2456
+2457
+2458
+2459
+2460
+2461
+2462
+2463
+2464
+2465
+2466
+2467
+2468
+2469
+2470
+2471
+2472
+2473
+2474
+2475
+2476
+2477
+2478
+2479
+2480
+2481
+2482
+2483
+2484
+2485
+2486
+2487
+2488
+2489
+2490
+2491
+2492
+2493
+2494
+2495
+2496
+2497
+2498
+2499
+2500
+2501
+2502
+2503
+2504
+2505
+2506
+2507
+2508
+2509
+2510
+2511
+2512
+2513
+2514
+2515
+2516
+2517
+2518
+2519
+2520
+2521
+2522
+2523
+2524
+2525
+2526
+2527
+2528
+2529
+2530
+2531
+2532
+2533
+2534
+2535
+2536
+2537
+2538
+2539
+2540
+2541
+2542
+2543
+2544
+2545
+2546
+2547
+2548
+2549
+2550
+2551
+2552
+2553
+2554
+2555
+2556
+2557
+2558
+2559
+2560
+2561
+2562
+2563
+2564
+2565
+2566
+2567
+2568
+2569
+2570
+2571
+2572
+2573
+2574
+2575
+2576
+2577
+2578
+2579
+2580
+2581
+2582
+2583
+2584
+2585
+2586
+2587
+2588
+2589
+2590
+2591
+2592
+2593
+2594
+2595
+2596
+2597
+2598
+2599
+2600
+2601
+2602
+2603
+2604
+2605
+2606
+2607
+2608
+2609
+2610
+2611
+2612
+2613
+2614
+2615
+2616
+2617
+2618
+2619
+2620
+2621
+2622
+2623
+2624
+2625
+2626
+2627
+2628
+2629
+2630
+2631
+2632
+2633
+2634
+2635
+2636
+2637
+2638
+2639
+2640
+2641
+2642
+2643
+2644
+2645
+2646
+2647
+2648
+2649
+2650
+2651
+2652
+2653
+2654
+2655
+2656
+2657
+2658
+2659
+2660
+2661
+2662
+2663
+2664
+2665
+2666
+2667
+2668
+2669
+2670
+2671
+2672
+2673
+2674
+2675
+2676
+2677
+2678
+2679
+2680
+2681
+2682
+2683
+2684
+2685
+2686
+2687
+2688
+2689
+2690
+2691
+2692
+2693
+2694
+2695
+2696
+2697
+2698
+2699
+2700
+2701
+2702
+2703
+2704
+2705
+2706
+2707
+2708
+2709
+2710
+2711
+2712
+2713
+2714
+2715
+2716
+2717
+2718
+2719
+2720
+2721
+2722
+2723
+2724
+2725
+2726
+2727
+2728
+2729
+2730
+2731
+2732
+2733
+2734
+2735
+2736
+2737
+2738
+2739
+2740
+2741
+2742
+2743
+2744
+2745
+2746
+2747
+2748
+2749
+2750
+2751
+2752
+2753
+2754
+2755
+2756
+2757
+2758
+2759
+2760
+2761
+2762
+2763
+2764
+2765
+2766
+2767
+2768
+2769
+2770
+2771
+2772
+2773
+2774
+2775
+2776
+2777
+2778
+2779
+2780
+2781
+2782
+2783
+2784
+2785
+2786
+2787
+2788
+2789
+2790
+2791
+2792
+2793
+2794
+2795
+2796
+2797
+2798
+2799
+2800
+2801
+2802
+2803
+2804
+2805
+2806
+2807
+2808
+2809
+2810
+2811
+2812
+2813
+2814
+2815
+2816
+2817
+2818
+2819
+2820
+2821
+2822
+2823
+2824
+2825
+2826
+2827
+2828
def update_amps(f=None, t1=None, t2=None, t3=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T22:17:07.956122.
+
+    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()
+    tmp14 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1))) * -1
+    tmp14 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    tmp7 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1)))
+    tmp7 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) * -1
+    tmp200 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2))
+    tmp22 = 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), tmp22, (4, 1, 0, 3), (4, 2)) * -2
+    tmp21 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1))
+    t2new.abab = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp21, (2, 6, 1, 5), (0, 6, 3, 4)) * -2
+    t1new.bb += einsum(tmp21, (0, 1, 2, 3), t2.abab, (0, 2, 3, 4), (1, 4)) * -1
+    tmp1 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3))
+    t1new.aa = einsum(tmp1, (0, 1, 2, 3), t2.abab, (1, 2, 4, 3), (0, 4)) * -1
+    tmp66 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2))
+    tmp2 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1))
+    t2new.abab += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp2, (6, 2, 0, 5), (6, 1, 3, 4)) * -2
+    t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp2, (4, 1, 0, 3), (4, 2)) * -2
+    tmp15 = einsum(t1.bb, (0, 1), tmp14, (0, 2, 3, 1), (2, 3))
+    tmp13 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3))
+    t1new.bb += tmp13
+    tmp8 = einsum(tmp7, (0, 1, 2, 3), t1.aa, (0, 2), (1, 3))
+    tmp0 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    t1new.aa += tmp0
+    tmp456 = np.copy(np.transpose(tmp200, (0, 2, 1, 3))) * -1
+    tmp456 += np.transpose(tmp200, (0, 2, 3, 1))
+    tmp558 = np.copy(v.bbbb.ovvv)
+    tmp558 += np.transpose(v.bbbb.ovvv, (0, 2, 3, 1)) * -1
+    tmp493 = np.copy(np.transpose(tmp200, (0, 2, 1, 3))) * -1
+    tmp493 += np.transpose(tmp200, (0, 3, 2, 1))
+    tmp167 = np.copy(v.bbbb.ovvv)
+    tmp167 += np.transpose(v.bbbb.ovvv, (0, 2, 3, 1)) * -1
+    tmp211 = einsum(tmp22, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3))
+    t2new.bbbb = np.copy(tmp211) * -1
+    t2new.bbbb += np.transpose(tmp211, (1, 0, 2, 3))
+    t2new.bbbb += np.transpose(tmp211, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp211, (1, 0, 3, 2)) * -1
+    tmp143 = einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3))
+    tmp154 = einsum(tmp21, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2))
+    tmp140 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3))
+    tmp142 = einsum(t1.bb, (0, 1), tmp21, (2, 3, 0, 4), (2, 3, 4, 1))
+    t2new.abab += tmp142 * -1
+    tmp141 = einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4))
+    t2new.abab += tmp141
+    tmp137 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2))
+    tmp77 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 0, 3))
+    tmp78 = einsum(tmp1, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3))
+    t2new.abab += tmp78 * -1
+    tmp288 = np.copy(np.transpose(tmp66, (0, 2, 1, 3)))
+    tmp288 += np.transpose(tmp66, (0, 3, 2, 1)) * -1
+    tmp73 = einsum(tmp2, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    t2new.aaaa = np.copy(tmp73) * -1
+    t2new.aaaa += np.transpose(tmp73, (1, 0, 2, 3))
+    t2new.aaaa += np.transpose(tmp73, (0, 1, 3, 2))
+    t2new.aaaa += np.transpose(tmp73, (1, 0, 3, 2)) * -1
+    tmp164 = np.copy(v.aaaa.ovvv)
+    tmp164 += np.transpose(v.aaaa.ovvv, (0, 2, 3, 1)) * -1
+    tmp57 = np.copy(v.aaaa.ovvv)
+    tmp57 += np.transpose(v.aaaa.ovvv, (0, 2, 3, 1)) * -1
+    tmp216 = np.copy(v.bbbb.ovvv) * -1
+    tmp216 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3))
+    tmp169 = np.copy(tmp22)
+    tmp169 += np.transpose(tmp22, (0, 2, 1, 3)) * -1
+    tmp223 = np.copy(v.bbbb.ooov) * -1
+    tmp223 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1))
+    tmp159 = np.copy(v.bbbb.ooov)
+    tmp159 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1)) * -1
+    tmp16 = np.copy(f.bb.ov)
+    tmp16 += tmp13
+    tmp16 += tmp15 * -1
+    del tmp15
+    t2new.abab += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp16, (2, 5), (1, 0, 4, 3))
+    t2new.aaaa += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp16, (1, 4), (0, 2, 3, 5))
+    t1new.bb += einsum(tmp16, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3)) * 2
+    t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp16, (1, 3), (0, 2))
+    tmp45 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1))) * -1
+    tmp45 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    tmp92 = np.copy(v.aaaa.ooov) * -1
+    tmp92 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1))
+    tmp9 = np.copy(f.aa.ov)
+    tmp9 += tmp0
+    tmp9 += tmp8 * -1
+    del tmp8
+    t2new.bbbb += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp9, (1, 4), (0, 2, 3, 5))
+    t2new.abab += einsum(tmp9, (0, 1), t3.abaaba, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 2
+    t1new.bb += einsum(tmp9, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    t1new.aa += einsum(tmp9, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3)) * 2
+    tmp83 = np.copy(tmp2) * -1
+    tmp83 += np.transpose(tmp2, (0, 2, 1, 3))
+    tmp81 = np.copy(v.aaaa.ovvv) * -1
+    tmp81 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3))
+    tmp36 = np.copy(v.aaaa.ooov)
+    tmp36 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) * -1
+    tmp432 = einsum(v.bbbb.oooo, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+    tmp433 = einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4))
+    t3new.babbab = einsum(tmp433, (0, 1, 2, 3), t2.abab, (4, 0, 5, 6), (2, 4, 1, 6, 5, 3)) * -2
+    tmp457 = einsum(tmp456, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+    del tmp456
+    tmp204 = einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp210 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    t2new.bbbb += np.transpose(tmp210, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp210, (0, 1, 3, 2))
+    t2new.bbbb += tmp210 * -1
+    t2new.bbbb += np.transpose(tmp210, (1, 0, 2, 3))
+    tmp129 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 4), (2, 1, 3, 4))
+    tmp512 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6))
+    tmp559 = einsum(tmp558, (0, 1, 2, 3), t1.bb, (4, 1), (0, 4, 2, 3))
+    del tmp558
+    tmp545 = einsum(tmp493, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+    tmp526 = np.copy(np.transpose(tmp200, (0, 2, 1, 3)))
+    tmp526 += np.transpose(tmp200, (0, 3, 2, 1)) * -1
+    tmp234 = einsum(t1.bb, (0, 1), tmp22, (2, 3, 4, 1), (2, 0, 4, 3))
+    tmp317 = einsum(t1.bb, (0, 1), f.bb.ov, (0, 2), (2, 1))
+    tmp168 = einsum(t1.bb, (0, 1), tmp167, (2, 1, 3, 4), (0, 2, 3, 4))
+    del tmp167
+    tmp523 = einsum(t2.bbbb, (0, 1, 2, 3), tmp22, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2))
+    tmp173 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3))
+    tmp174 = einsum(tmp1, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3))
+    tmp236 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2))
+    tmp482 = einsum(t1.bb, (0, 1), tmp211, (2, 0, 3, 4), (2, 1, 3, 4))
+    del tmp211
+    tmp423 = einsum(t2.abab, (0, 1, 2, 3), tmp21, (4, 5, 6, 2), (0, 4, 5, 1, 6, 3))
+    tmp151 = einsum(tmp143, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2))
+    t2new.abab += einsum(t1.bb, (0, 1), tmp151, (2, 3, 0, 4), (2, 3, 4, 1)) * -1
+    tmp396 = einsum(tmp154, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp149 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3))
+    tmp139 = einsum(v.aabb.vvoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 3, 0))
+    t2new.abab += einsum(t1.bb, (0, 1), tmp139, (2, 3, 0, 4), (2, 3, 4, 1)) * -1
+    tmp363 = einsum(tmp140, (0, 1, 2, 3), t1.aa, (1, 4), (0, 3, 2, 4))
+    t3new.abaaba = einsum(tmp363, (0, 1, 2, 3), t2.abab, (4, 1, 5, 6), (4, 2, 0, 5, 6, 3))
+    tmp413 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (4, 5, 1, 6), (4, 0, 5, 2, 3, 6))
+    tmp330 = einsum(t2.abab, (0, 1, 2, 3), f.bb.ov, (4, 3), (0, 4, 1, 2))
+    tmp329 = einsum(v.aabb.oooo, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp172 = np.copy(tmp141)
+    tmp172 += tmp142 * -1
+    t2new.abab += einsum(t2.aaaa, (0, 1, 2, 3), tmp172, (1, 4, 3, 5), (0, 4, 2, 5)) * 2
+    tmp256 = einsum(f.aa.ov, (0, 1), t1.aa, (0, 2), (1, 2))
+    tmp50 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.aa, (0, 4), (2, 4, 1, 3))
+    tmp463 = einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2))
+    tmp310 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 6, 3), (0, 4, 5, 1, 6, 2))
+    tmp177 = einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4))
+    t2new.abab += einsum(tmp177, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3)) * -1
+    tmp355 = einsum(tmp137, (0, 1, 2, 3), t1.bb, (3, 4), (1, 0, 2, 4))
+    t3new.babbab += einsum(tmp355, (0, 1, 2, 3), t2.abab, (0, 4, 5, 6), (4, 1, 2, 6, 5, 3))
+    tmp87 = np.copy(tmp77)
+    tmp87 += tmp78 * -1
+    t2new.abab += einsum(t2.bbbb, (0, 1, 2, 3), tmp87, (4, 1, 5, 3), (4, 0, 5, 2)) * 2
+    tmp62 = einsum(v.aaaa.oovv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2))
+    tmp289 = einsum(t1.aa, (0, 1), tmp288, (2, 0, 3, 4), (2, 3, 4, 1))
+    del tmp288
+    tmp111 = einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp382 = einsum(tmp73, (0, 1, 2, 3), t1.aa, (1, 4), (0, 4, 2, 3))
+    del tmp73
+    tmp321 = einsum(tmp1, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (0, 4, 1, 5, 2, 6))
+    tmp127 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3))
+    tmp72 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    t2new.aaaa += np.transpose(tmp72, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp72, (0, 1, 3, 2))
+    t2new.aaaa += tmp72 * -1
+    t2new.aaaa += np.transpose(tmp72, (1, 0, 2, 3))
+    tmp360 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 6, 2), (0, 4, 5, 6, 1, 3))
+    tmp335 = einsum(t1.bb, (0, 1), v.aabb.oooo, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp332 = einsum(f.aa.ov, (0, 1), t2.abab, (2, 3, 1, 4), (0, 2, 3, 4))
+    tmp400 = einsum(t1.bb, (0, 1), tmp154, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp178 = einsum(tmp141, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3))
+    t2new.abab += einsum(tmp178, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3)) * -1
+    tmp107 = einsum(tmp2, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 2, 1))
+    tmp165 = einsum(t1.aa, (0, 1), tmp164, (2, 1, 3, 4), (0, 2, 3, 4))
+    del tmp164
+    tmp144 = einsum(tmp21, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3))
+    tmp147 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (0, 4), (2, 3, 4, 1))
+    tmp53 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 4), (0, 4, 1, 3))
+    tmp306 = einsum(tmp57, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3))
+    tmp264 = einsum(t2.aaaa, (0, 1, 2, 3), tmp2, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2))
+    tmp267 = np.copy(np.transpose(tmp66, (0, 2, 1, 3))) * -1
+    tmp267 += np.transpose(tmp66, (0, 3, 2, 1))
+    tmp252 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3))
+    tmp253 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), f.aa.ov, (6, 5), (6, 0, 1, 2, 3, 4))
+    tmp249 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2))
+    tmp271 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4))
+    t3new.abaaba += einsum(tmp271, (0, 1, 2, 3), t2.abab, (0, 4, 5, 6), (2, 4, 1, 5, 6, 3)) * -2
+    tmp247 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t1.aa, (3, 4), (0, 1, 2, 4))
+    tmp217 = einsum(tmp216, (0, 1, 2, 3), t1.bb, (4, 1), (0, 4, 2, 3))
+    del tmp216
+    tmp170 = einsum(tmp169, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3))
+    del tmp169
+    tmp224 = einsum(t1.bb, (0, 1), tmp223, (0, 2, 3, 4), (2, 3, 4, 1))
+    del tmp223
+    tmp29 = np.copy(v.bbbb.ooov)
+    tmp29 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1)) * -1
+    tmp195 = np.copy(v.bbbb.ovvv) * -1
+    tmp195 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3))
+    tmp183 = einsum(t1.bb, (0, 1), tmp159, (0, 2, 3, 1), (2, 3))
+    tmp28 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3))
+    tmp135 = einsum(tmp16, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp25 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 3, 1), (4, 0)) * -1
+    tmp24 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4))
+    tmp46 = einsum(t1.bb, (0, 1), tmp45, (0, 2, 3, 1), (2, 3))
+    tmp93 = einsum(tmp92, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3))
+    del tmp92
+    tmp5 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 1, 3), (4, 0))
+    tmp6 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0))
+    tmp10 = einsum(tmp9, (0, 1), t1.aa, (2, 1), (2, 0)) * 0.5
+    tmp84 = einsum(tmp83, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    del tmp83
+    tmp82 = einsum(t1.aa, (0, 1), tmp81, (2, 1, 3, 4), (0, 2, 3, 4))
+    del tmp81
+    tmp18 = np.copy(v.aaaa.ooov)
+    tmp18 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) * -1
+    tmp37 = einsum(tmp36, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2))
+    tmp17 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp434 = np.copy(np.transpose(tmp432, (1, 0, 2, 3))) * -1
+    tmp434 += np.transpose(tmp433, (0, 2, 1, 3)) * 2
+    t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp434, (1, 4, 5, 6), (4, 0, 5, 6, 2, 3))
+    tmp554 = np.copy(np.transpose(tmp200, (0, 2, 1, 3)))
+    tmp554 += np.transpose(tmp200, (0, 3, 2, 1)) * -1
+    tmp458 = np.copy(np.transpose(tmp204, (0, 2, 1, 3)))
+    tmp458 += np.transpose(tmp457, (0, 2, 1, 3))
+    del tmp457
+    tmp530 = np.copy(np.transpose(tmp432, (1, 0, 2, 3))) * -0.5
+    tmp530 += np.transpose(tmp433, (0, 2, 1, 3))
+    tmp516 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), f.bb.ov, (6, 5), (6, 0, 1, 2, 3, 4))
+    tmp515 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3))
+    tmp238 = einsum(t1.bb, (0, 1), tmp210, (2, 3, 1, 4), (0, 2, 3, 4))
+    del tmp210
+    tmp538 = np.copy(v.bbbb.ovvv)
+    tmp538 += np.transpose(tmp129, (0, 2, 3, 1)) * -1
+    tmp534 = einsum(v.bbbb.oovv, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2))
+    tmp324 = einsum(t1.bb, (0, 1), f.bb.ov, (2, 1), (2, 0))
+    tmp513 = einsum(t1.bb, (0, 1), tmp512, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6))
+    del tmp512
+    tmp560 = einsum(tmp559, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (1, 0, 4, 5, 2, 6))
+    del tmp559
+    tmp447 = np.copy(np.transpose(v.bbbb.ovvv, (0, 2, 1, 3))) * -1
+    tmp447 += tmp129
+    t3new.babbab += einsum(tmp447, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (5, 4, 0, 2, 6, 1))
+    tmp546 = np.copy(np.transpose(tmp204, (0, 2, 1, 3)))
+    tmp546 += np.transpose(tmp545, (0, 2, 1, 3))
+    del tmp545
+    tmp527 = einsum(tmp526, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+    del tmp526
+    tmp240 = einsum(tmp234, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4))
+    tmp318 = np.copy(f.bb.vv)
+    tmp318 += tmp317 * -1
+    t3new.babbab += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp318, (5, 6), (0, 1, 2, 6, 4, 3)) * -1
+    tmp420 = np.copy(f.bb.vv)
+    tmp420 += tmp317 * -1
+    del tmp317
+    t3new.babbab += einsum(tmp420, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 6, 5)) * -1
+    tmp552 = einsum(tmp168, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6))
+    tmp425 = np.copy(np.transpose(tmp200, (0, 2, 1, 3))) * -1
+    tmp425 += np.transpose(tmp200, (0, 3, 2, 1))
+    tmp494 = einsum(tmp493, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4))
+    del tmp493
+    t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp494, (4, 5, 1, 6), (4, 0, 5, 3, 2, 6)) * -1
+    tmp548 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (4, 5, 0, 2, 6, 1))
+    tmp524 = einsum(t1.bb, (0, 1), tmp523, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6))
+    del tmp523
+    tmp448 = np.copy(v.bbbb.ovvv)
+    tmp448 += np.transpose(tmp129, (0, 2, 3, 1)) * -1
+    t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp448, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6))
+    tmp480 = np.copy(np.transpose(tmp173, (0, 1, 3, 2)))
+    tmp480 += tmp174 * -1
+    tmp377 = einsum(v.aabb.vvvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3))
+    tmp483 = np.copy(np.transpose(tmp236, (0, 2, 1, 3)))
+    tmp483 += np.transpose(tmp482, (0, 3, 1, 2))
+    del tmp482
+    tmp424 = einsum(tmp423, (0, 1, 2, 3, 4, 5), t1.aa, (1, 6), (0, 2, 3, 4, 6, 5))
+    del tmp423
+    tmp428 = einsum(tmp1, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6))
+    tmp499 = np.copy(tmp151)
+    tmp499 += tmp396 * -1
+    tmp150 = np.copy(v.aabb.oovv)
+    tmp150 += np.transpose(tmp149, (1, 0, 3, 2)) * -1
+    del tmp149
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp150, (0, 4, 3, 5), (4, 1, 2, 5)) * -1
+    tmp365 = np.copy(np.transpose(tmp139, (0, 2, 1, 3)))
+    tmp365 += np.transpose(tmp363, (0, 2, 1, 3)) * -1
+    t3new.abaaba += einsum(tmp365, (0, 1, 2, 3), t2.abab, (4, 1, 5, 6), (0, 2, 4, 3, 6, 5)) * -1
+    tmp506 = einsum(tmp141, (0, 1, 2, 3), t2.abab, (4, 5, 2, 6), (4, 0, 1, 5, 6, 3))
+    tmp502 = einsum(tmp143, (0, 1, 2, 3), t2.abab, (4, 5, 3, 6), (4, 0, 5, 1, 2, 6))
+    tmp152 = einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp488 = einsum(t1.bb, (0, 1), tmp143, (2, 0, 3, 4), (2, 4, 3, 1))
+    tmp414 = einsum(tmp413, (0, 1, 2, 3, 4, 5), t1.aa, (1, 6), (0, 2, 4, 3, 6, 5))
+    tmp392 = einsum(t1.aa, (0, 1), tmp137, (2, 0, 3, 4), (2, 3, 4, 1))
+    tmp461 = einsum(t2.abab, (0, 1, 2, 3), v.bbbb.oovv, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6))
+    tmp262 = einsum(f.aa.ov, (0, 1), t1.aa, (2, 1), (0, 2))
+    tmp439 = einsum(tmp413, (0, 1, 2, 3, 4, 5), t1.bb, (4, 6), (0, 1, 2, 3, 6, 5))
+    del tmp413
+    tmp394 = einsum(t1.bb, (0, 1), tmp140, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp437 = np.copy(np.transpose(tmp329, (0, 2, 1, 3)))
+    tmp437 += tmp330 * -1
+    tmp478 = einsum(tmp172, (0, 1, 2, 3), t1.aa, (0, 4), (1, 4, 2, 3))
+    tmp472 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 5, 0, 2, 6, 1))
+    tmp259 = np.copy(f.aa.vv)
+    tmp259 += tmp256 * -1
+    t3new.abaaba += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp259, (5, 6), (0, 1, 2, 6, 4, 3)) * -1
+    tmp51 = np.copy(np.transpose(v.aabb.vvov, (2, 0, 1, 3)))
+    tmp51 += np.transpose(tmp50, (0, 2, 1, 3)) * -1
+    t2new.abab += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp51, (2, 4, 6, 5), (1, 0, 6, 3)) * 2
+    tmp464 = einsum(tmp463, (0, 1, 2, 3, 4, 5), t1.bb, (4, 6), (0, 1, 2, 3, 5, 6))
+    del tmp463
+    tmp417 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6))
+    tmp485 = einsum(t2.abab, (0, 1, 2, 3), tmp168, (4, 5, 6, 3), (0, 4, 5, 1, 2, 6)) * -1
+    tmp474 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 6), (0, 4, 1, 5, 3, 6))
+    tmp468 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvoo, (4, 2, 5, 6), (0, 1, 5, 6, 4, 3))
+    tmp367 = einsum(v.aabb.oovv, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 0, 1, 5, 6, 2))
+    tmp358 = einsum(v.aaaa.oovv, (0, 1, 2, 3), t2.abab, (4, 5, 3, 6), (4, 0, 1, 5, 2, 6))
+    tmp311 = einsum(tmp310, (0, 1, 2, 3, 4, 5), t1.bb, (4, 6), (0, 2, 1, 3, 5, 6))
+    tmp356 = np.copy(np.transpose(tmp177, (1, 0, 2, 3)))
+    tmp356 += tmp355 * -1
+    t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp356, (0, 4, 5, 6), (5, 4, 1, 6, 2, 3)) * -1
+    tmp378 = einsum(tmp87, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3))
+    tmp290 = np.copy(np.transpose(tmp62, (0, 2, 1, 3)))
+    tmp290 += np.transpose(tmp289, (0, 2, 1, 3))
+    tmp383 = np.copy(np.transpose(tmp111, (0, 2, 1, 3)))
+    tmp383 += np.transpose(tmp382, (0, 3, 1, 2))
+    del tmp382
+    tmp322 = einsum(t1.bb, (0, 1), tmp321, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1))
+    del tmp321
+    tmp292 = np.copy(np.transpose(tmp66, (0, 2, 1, 3)))
+    tmp292 += np.transpose(tmp66, (0, 3, 2, 1)) * -1
+    tmp128 = np.copy(v.aabb.ovvv)
+    tmp128 += np.transpose(tmp127, (0, 1, 3, 2)) * -1
+    t2new.abab += einsum(tmp128, (0, 1, 2, 3), t3.abaaba, (4, 5, 0, 6, 2, 1), (4, 5, 6, 3)) * 2
+    tmp371 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (4, 5, 3, 6), (4, 0, 2, 5, 1, 6))
+    tmp113 = einsum(tmp72, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3))
+    del tmp72
+    tmp326 = einsum(tmp21, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6))
+    tmp361 = einsum(tmp360, (0, 1, 2, 3, 4, 5), t1.aa, (3, 6), (0, 1, 2, 4, 6, 5))
+    del tmp360
+    tmp336 = np.copy(np.transpose(tmp335, (1, 0, 2, 3)))
+    tmp336 += tmp332 * -1
+    tmp408 = einsum(tmp77, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (0, 4, 5, 1, 6, 2))
+    tmp404 = einsum(t2.abab, (0, 1, 2, 3), tmp173, (4, 5, 6, 3), (4, 0, 5, 1, 2, 6))
+    tmp314 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 1), (4, 5, 0, 2, 3, 6))
+    tmp401 = np.copy(tmp178)
+    tmp401 += tmp400 * -1
+    tmp109 = einsum(t1.aa, (0, 1), tmp107, (2, 3, 0, 4), (3, 2, 4, 1))
+    tmp385 = einsum(t2.abab, (0, 1, 2, 3), tmp165, (4, 5, 6, 2), (4, 5, 0, 1, 6, 3)) * -1
+    tmp388 = einsum(tmp173, (0, 1, 2, 3), t1.aa, (1, 4), (0, 4, 3, 2))
+    tmp338 = einsum(tmp310, (0, 1, 2, 3, 4, 5), t1.aa, (2, 6), (0, 1, 3, 4, 6, 5))
+    del tmp310
+    tmp380 = np.copy(np.transpose(tmp143, (0, 1, 3, 2)))
+    tmp380 += tmp144 * -1
+    tmp340 = np.copy(np.transpose(v.aabb.vvoo, (2, 3, 0, 1)))
+    tmp340 += np.transpose(tmp147, (1, 0, 3, 2)) * -1
+    tmp373 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 0, 5, 2, 6, 1))
+    tmp302 = np.copy(np.transpose(tmp66, (0, 2, 1, 3))) * -1
+    tmp302 += np.transpose(tmp66, (0, 3, 2, 1))
+    tmp283 = np.copy(np.transpose(v.aaaa.ovvv, (0, 2, 1, 3))) * -1
+    tmp283 += tmp53
+    t3new.abaaba += einsum(tmp283, (0, 1, 2, 3), t2.abab, (4, 5, 3, 6), (4, 5, 0, 2, 6, 1))
+    tmp281 = np.copy(v.aaaa.ovvv)
+    tmp281 += np.transpose(tmp53, (0, 2, 3, 1)) * -1
+    tmp307 = einsum(t2.aaaa, (0, 1, 2, 3), tmp306, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2))
+    del tmp306
+    tmp296 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 6, 3), (0, 1, 4, 6, 2, 5))
+    tmp265 = einsum(t1.aa, (0, 1), tmp264, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6))
+    del tmp264
+    tmp277 = einsum(v.aaaa.oovv, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2))
+    tmp268 = einsum(tmp267, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    del tmp267
+    t3new.abaaba += einsum(tmp268, (0, 1, 2, 3), t2.abab, (2, 4, 5, 6), (0, 4, 1, 5, 6, 3)) * -1
+    tmp300 = einsum(tmp165, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 3), (0, 1, 4, 5, 2, 6))
+    tmp254 = np.copy(np.transpose(tmp252, (0, 2, 1, 3, 5, 4)))
+    del tmp252
+    tmp254 += np.transpose(tmp253, (1, 0, 2, 3, 5, 4)) * 3
+    del tmp253
+    tmp294 = np.copy(np.transpose(tmp62, (0, 2, 1, 3)))
+    tmp294 += tmp289
+    del tmp289
+    tmp257 = np.copy(f.aa.vv)
+    tmp257 += tmp256 * -1
+    del tmp256
+    t3new.abaaba += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp257, (5, 6), (0, 1, 2, 6, 4, 3)) * -1
+    tmp250 = einsum(t1.aa, (0, 1), tmp249, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 1, 6))
+    del tmp249
+    tmp274 = np.copy(np.transpose(tmp247, (1, 0, 2, 3))) * -1
+    tmp274 += np.transpose(tmp271, (0, 2, 1, 3)) * 2
+    t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp274, (0, 4, 5, 6), (4, 1, 5, 6, 3, 2))
+    tmp272 = np.copy(np.transpose(tmp247, (1, 0, 2, 3))) * -1
+    tmp272 += np.transpose(tmp271, (0, 2, 1, 3)) * 2
+    tmp285 = np.copy(v.aaaa.ovvv)
+    tmp285 += np.transpose(tmp53, (0, 2, 3, 1)) * -1
+    t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp285, (4, 5, 2, 6), (4, 1, 0, 5, 3, 6))
+    tmp242 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 5, 3, 1), (4, 5, 0, 2)) * -1
+    tmp123 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 3), (4, 1))
+    tmp122 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4))
+    tmp218 = np.copy(np.transpose(tmp217, (1, 0, 3, 2))) * -1
+    del tmp217
+    tmp218 += tmp170 * -1
+    tmp232 = np.copy(v.bbbb.oovv)
+    tmp232 += np.transpose(tmp224, (1, 0, 3, 2)) * -1
+    tmp188 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1)))
+    tmp188 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) * -1
+    tmp214 = np.copy(tmp141) * -1
+    tmp214 += tmp142
+    del tmp142
+    tmp206 = einsum(tmp200, (0, 1, 2, 3), t1.bb, (3, 4), (0, 2, 1, 4))
+    tmp30 = einsum(t1.bb, (0, 1), tmp29, (0, 2, 3, 1), (2, 3))
+    del tmp29
+    tmp131 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3))
+    tmp196 = einsum(t1.bb, (0, 1), tmp195, (0, 2, 1, 3), (2, 3))
+    tmp197 = einsum(t1.bb, (0, 1), tmp16, (0, 2), (1, 2))
+    tmp184 = np.copy(f.bb.oo)
+    tmp184 += np.transpose(tmp28, (1, 0))
+    tmp184 += np.transpose(tmp183, (1, 0)) * -1
+    del tmp183
+    tmp146 = einsum(t1.bb, (0, 1), v.aabb.ovoo, (2, 3, 4, 0), (2, 4, 3, 1))
+    t2new.abab += tmp146 * -1
+    tmp208 = np.copy(tmp24)
+    tmp208 += tmp25 * 2
+    tmp208 += tmp135
+    tmp230 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 3, 5))
+    tmp227 = np.copy(v.bbbb.ooov) * -1
+    tmp227 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1))
+    tmp192 = np.copy(v.bbbb.ovvv)
+    tmp192 += np.transpose(tmp129, (0, 3, 2, 1))
+    tmp125 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 4, 1, 5))
+    t2new.abab += tmp125 * 2
+    tmp212 = np.copy(tmp22)
+    tmp212 += np.transpose(tmp22, (0, 2, 1, 3)) * -1
+    tmp162 = np.copy(np.transpose(v.aabb.vvov, (2, 0, 1, 3)))
+    tmp162 += tmp50 * -1
+    tmp56 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp58 = einsum(t1.aa, (0, 1), tmp57, (0, 1, 2, 3), (2, 3))
+    del tmp57
+    tmp59 = einsum(tmp9, (0, 1), t1.aa, (0, 2), (2, 1))
+    tmp42 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (4, 1))
+    tmp41 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 3), (4, 1))
+    tmp156 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (0, 4, 2, 5))
+    t2new.abab += tmp156 * 2
+    tmp95 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3))
+    t2new.abab += tmp95 * -1
+    tmp91 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) * -1
+    tmp91 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp49 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    t2new.aaaa += tmp49
+    t2new.aaaa += np.transpose(tmp49, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp49, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp49, (1, 0, 3, 2))
+    tmp132 = np.copy(v.bbbb.ovvv) * -1
+    tmp132 += np.transpose(v.bbbb.ovvv, (0, 2, 3, 1))
+    tmp47 = np.copy(f.bb.ov)
+    tmp47 += tmp13
+    del tmp13
+    tmp47 += tmp46 * -1
+    del tmp46
+    t2new.abab += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp47, (2, 5), (1, 0, 4, 3))
+    t2new.aaaa += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp47, (1, 4), (0, 2, 3, 5))
+    tmp54 = np.copy(v.aaaa.ovvv)
+    tmp54 += np.transpose(tmp53, (0, 3, 2, 1))
+    tmp101 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1)))
+    tmp101 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1
+    tmp115 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 5, 3, 1), (4, 5, 0, 2)) * -1
+    tmp105 = np.copy(v.aaaa.oovv)
+    tmp105 += np.transpose(tmp93, (1, 0, 2, 3)) * -1
+    tmp68 = einsum(tmp66, (0, 1, 2, 3), t1.aa, (3, 4), (0, 2, 1, 4))
+    tmp70 = np.copy(tmp5)
+    tmp70 += tmp6 * 0.5
+    tmp70 += tmp10
+    tmp85 = np.copy(np.transpose(tmp82, (0, 1, 3, 2))) * -1
+    del tmp82
+    tmp85 += tmp84 * -1
+    tmp96 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1)))
+    tmp96 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1
+    tmp19 = einsum(tmp18, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2))
+    del tmp18
+    tmp38 = np.copy(f.aa.oo)
+    tmp38 += np.transpose(tmp17, (1, 0))
+    tmp38 += np.transpose(tmp37, (1, 0)) * -1
+    del tmp37
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp38, (0, 4), (4, 1, 2, 3)) * -1
+    tmp79 = np.copy(tmp77) * -1
+    tmp79 += tmp78
+    del tmp78
+    tmp99 = np.copy(v.aaaa.ooov) * -1
+    tmp99 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1))
+    tmp98 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) * -1
+    tmp98 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp103 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp74 = np.copy(v.aaaa.ovvv) * -1
+    tmp74 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3))
+    tmp75 = np.copy(tmp2) * -1
+    tmp75 += np.transpose(tmp2, (0, 2, 1, 3))
+    tmp532 = einsum(t2.bbbb, (0, 1, 2, 3), tmp434, (1, 4, 5, 6), (4, 5, 0, 6, 2, 3)) * -1
+    del tmp434
+    t3new.bbbbbb = np.copy(np.transpose(tmp532, (0, 1, 2, 5, 3, 4)))
+    t3new.bbbbbb += np.transpose(tmp532, (0, 1, 2, 5, 3, 4))
+    t3new.bbbbbb += np.transpose(tmp532, (0, 1, 2, 3, 5, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp532, (0, 2, 1, 5, 3, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp532, (0, 2, 1, 5, 3, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp532, (2, 0, 1, 5, 3, 4))
+    t3new.bbbbbb += np.transpose(tmp532, (2, 0, 1, 5, 3, 4))
+    t3new.bbbbbb += np.transpose(tmp532, (0, 2, 1, 3, 5, 4))
+    t3new.bbbbbb += np.transpose(tmp532, (0, 2, 1, 3, 5, 4))
+    t3new.bbbbbb += np.transpose(tmp532, (2, 0, 1, 3, 5, 4)) * -1
+    del tmp532
+    tmp542 = einsum(tmp22, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 6), (0, 4, 1, 5, 6, 3))
+    t3new.bbbbbb += np.transpose(tmp542, (2, 0, 1, 4, 3, 5)) * -1
+    t3new.bbbbbb += np.transpose(tmp542, (2, 0, 1, 4, 3, 5)) * -1
+    t3new.bbbbbb += np.transpose(tmp542, (2, 1, 0, 4, 3, 5))
+    t3new.bbbbbb += np.transpose(tmp542, (2, 1, 0, 4, 3, 5))
+    t3new.bbbbbb += np.transpose(tmp542, (0, 2, 1, 4, 3, 5))
+    t3new.bbbbbb += np.transpose(tmp542, (0, 2, 1, 4, 3, 5))
+    t3new.bbbbbb += np.transpose(tmp542, (1, 2, 0, 4, 3, 5)) * -1
+    t3new.bbbbbb += np.transpose(tmp542, (1, 2, 0, 4, 3, 5)) * -1
+    t3new.bbbbbb += np.transpose(tmp542, (0, 1, 2, 4, 3, 5)) * -1
+    t3new.bbbbbb += np.transpose(tmp542, (0, 1, 2, 4, 3, 5)) * -1
+    t3new.bbbbbb += np.transpose(tmp542, (1, 0, 2, 4, 3, 5))
+    t3new.bbbbbb += np.transpose(tmp542, (1, 0, 2, 4, 3, 5))
+    t3new.bbbbbb += np.transpose(tmp542, (2, 0, 1, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp542, (2, 0, 1, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp542, (2, 1, 0, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp542, (2, 1, 0, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp542, (2, 0, 1, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp542, (2, 0, 1, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp542, (2, 1, 0, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp542, (2, 1, 0, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp542, (0, 2, 1, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp542, (0, 2, 1, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp542, (1, 2, 0, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp542, (1, 2, 0, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp542, (0, 2, 1, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp542, (0, 2, 1, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp542, (1, 2, 0, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp542, (1, 2, 0, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp542, (0, 1, 2, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp542, (0, 1, 2, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp542, (1, 0, 2, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp542, (1, 0, 2, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp542, (0, 1, 2, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp542, (0, 1, 2, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp542, (1, 0, 2, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp542, (1, 0, 2, 5, 4, 3))
+    del tmp542
+    tmp511 = einsum(f.bb.oo, (0, 1), t3.bbbbbb, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6))
+    t3new.bbbbbb += np.transpose(tmp511, (0, 2, 1, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp511, (0, 2, 1, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp511, (0, 2, 1, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp511, (0, 2, 1, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp511, (0, 2, 1, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp511, (0, 2, 1, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp511, (1, 0, 2, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp511, (1, 0, 2, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp511, (1, 0, 2, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp511, (1, 0, 2, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp511, (1, 0, 2, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp511, (1, 0, 2, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp511, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp511, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp511, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp511, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp511, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp511, (1, 2, 0, 4, 5, 3)) * -1
+    del tmp511
+    tmp555 = einsum(tmp554, (0, 1, 2, 3), t1.bb, (3, 4), (0, 2, 1, 4))
+    del tmp554
+    t3new.bbbbbb += einsum(tmp555, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 6), (4, 1, 0, 5, 6, 3))
+    del tmp555
+    tmp543 = einsum(t2.bbbb, (0, 1, 2, 3), tmp458, (4, 1, 5, 6), (4, 5, 0, 6, 2, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp543, (0, 1, 2, 5, 3, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp543, (0, 1, 2, 5, 3, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp543, (0, 1, 2, 3, 5, 4))
+    t3new.bbbbbb += np.transpose(tmp543, (0, 1, 2, 3, 5, 4))
+    t3new.bbbbbb += np.transpose(tmp543, (0, 2, 1, 5, 3, 4))
+    t3new.bbbbbb += np.transpose(tmp543, (0, 2, 1, 5, 3, 4))
+    t3new.bbbbbb += np.transpose(tmp543, (2, 0, 1, 5, 3, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp543, (2, 0, 1, 5, 3, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp543, (0, 2, 1, 3, 5, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp543, (0, 2, 1, 3, 5, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp543, (2, 0, 1, 3, 5, 4))
+    t3new.bbbbbb += np.transpose(tmp543, (2, 0, 1, 3, 5, 4))
+    del tmp543
+    tmp531 = einsum(tmp530, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 6), (1, 2, 4, 3, 5, 6)) * -2
+    del tmp530
+    t3new.bbbbbb += np.transpose(tmp531, (0, 1, 2, 3, 5, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp531, (2, 0, 1, 3, 5, 4)) * -1
+    del tmp531
+    tmp536 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 6), (0, 4, 5, 2, 3, 6))
+    t3new.bbbbbb += np.transpose(tmp536, (2, 1, 0, 4, 3, 5)) * -1
+    t3new.bbbbbb += np.transpose(tmp536, (2, 1, 0, 4, 3, 5)) * -1
+    t3new.bbbbbb += np.transpose(tmp536, (1, 2, 0, 4, 3, 5))
+    t3new.bbbbbb += np.transpose(tmp536, (1, 2, 0, 4, 3, 5))
+    t3new.bbbbbb += np.transpose(tmp536, (2, 0, 1, 4, 3, 5))
+    t3new.bbbbbb += np.transpose(tmp536, (2, 0, 1, 4, 3, 5))
+    t3new.bbbbbb += np.transpose(tmp536, (1, 0, 2, 4, 3, 5)) * -1
+    t3new.bbbbbb += np.transpose(tmp536, (1, 0, 2, 4, 3, 5)) * -1
+    t3new.bbbbbb += np.transpose(tmp536, (0, 2, 1, 4, 3, 5)) * -1
+    t3new.bbbbbb += np.transpose(tmp536, (0, 2, 1, 4, 3, 5)) * -1
+    t3new.bbbbbb += np.transpose(tmp536, (0, 1, 2, 4, 3, 5))
+    t3new.bbbbbb += np.transpose(tmp536, (0, 1, 2, 4, 3, 5))
+    t3new.bbbbbb += np.transpose(tmp536, (2, 1, 0, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp536, (2, 1, 0, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp536, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp536, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp536, (2, 1, 0, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp536, (2, 1, 0, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp536, (1, 2, 0, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp536, (1, 2, 0, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp536, (2, 0, 1, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp536, (2, 0, 1, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp536, (1, 0, 2, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp536, (1, 0, 2, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp536, (0, 2, 1, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp536, (0, 2, 1, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp536, (0, 1, 2, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp536, (0, 1, 2, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp536, (2, 0, 1, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp536, (2, 0, 1, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp536, (1, 0, 2, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp536, (1, 0, 2, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp536, (0, 2, 1, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp536, (0, 2, 1, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp536, (0, 1, 2, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp536, (0, 1, 2, 5, 4, 3))
+    del tmp536
+    tmp517 = np.copy(np.transpose(tmp515, (0, 2, 1, 3, 5, 4)))
+    tmp517 += np.transpose(tmp516, (1, 0, 2, 3, 5, 4)) * 3
+    t3new.bbbbbb += einsum(t1.bb, (0, 1), tmp517, (2, 0, 3, 4, 5, 6), (4, 3, 2, 6, 5, 1))
+    del tmp517
+    tmp556 = einsum(t2.bbbb, (0, 1, 2, 3), tmp238, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6))
+    t3new.bbbbbb += np.transpose(tmp556, (1, 0, 2, 4, 3, 5)) * -1
+    t3new.bbbbbb += np.transpose(tmp556, (0, 1, 2, 4, 3, 5))
+    t3new.bbbbbb += np.transpose(tmp556, (1, 0, 2, 4, 3, 5)) * -1
+    t3new.bbbbbb += np.transpose(tmp556, (0, 1, 2, 4, 3, 5))
+    t3new.bbbbbb += np.transpose(tmp556, (1, 2, 0, 4, 3, 5))
+    t3new.bbbbbb += np.transpose(tmp556, (0, 2, 1, 4, 3, 5)) * -1
+    t3new.bbbbbb += np.transpose(tmp556, (1, 2, 0, 4, 3, 5))
+    t3new.bbbbbb += np.transpose(tmp556, (0, 2, 1, 4, 3, 5)) * -1
+    t3new.bbbbbb += np.transpose(tmp556, (2, 1, 0, 4, 3, 5)) * -1
+    t3new.bbbbbb += np.transpose(tmp556, (2, 0, 1, 4, 3, 5))
+    t3new.bbbbbb += np.transpose(tmp556, (2, 1, 0, 4, 3, 5)) * -1
+    t3new.bbbbbb += np.transpose(tmp556, (2, 0, 1, 4, 3, 5))
+    t3new.bbbbbb += np.transpose(tmp556, (1, 0, 2, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp556, (0, 1, 2, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp556, (1, 0, 2, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp556, (0, 1, 2, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp556, (1, 0, 2, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp556, (0, 1, 2, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp556, (1, 0, 2, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp556, (0, 1, 2, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp556, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp556, (0, 2, 1, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp556, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp556, (0, 2, 1, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp556, (2, 1, 0, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp556, (2, 0, 1, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp556, (2, 1, 0, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp556, (2, 0, 1, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp556, (1, 2, 0, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp556, (0, 2, 1, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp556, (1, 2, 0, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp556, (0, 2, 1, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp556, (2, 1, 0, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp556, (2, 0, 1, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp556, (2, 1, 0, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp556, (2, 0, 1, 5, 4, 3))
+    del tmp556
+    tmp539 = einsum(t2.bbbb, (0, 1, 2, 3), tmp538, (4, 5, 3, 6), (4, 0, 1, 5, 6, 2)) * -2
+    del tmp538
+    t3new.bbbbbb += np.transpose(tmp539, (0, 2, 1, 3, 4, 5)) * -1
+    t3new.bbbbbb += np.transpose(tmp539, (2, 1, 0, 3, 4, 5)) * -1
+    del tmp539
+    tmp535 = einsum(tmp534, (0, 1, 2, 3, 4, 5), t1.bb, (2, 6), (0, 1, 3, 6, 4, 5))
+    del tmp534
+    t3new.bbbbbb += np.transpose(tmp535, (2, 1, 0, 4, 3, 5)) * -2
+    t3new.bbbbbb += np.transpose(tmp535, (2, 1, 0, 3, 4, 5)) * 2
+    t3new.bbbbbb += np.transpose(tmp535, (0, 2, 1, 4, 3, 5)) * -2
+    t3new.bbbbbb += np.transpose(tmp535, (0, 1, 2, 4, 3, 5)) * 2
+    t3new.bbbbbb += np.transpose(tmp535, (0, 2, 1, 3, 4, 5)) * 2
+    t3new.bbbbbb += tmp535 * -2
+    t3new.bbbbbb += np.transpose(tmp535, (2, 1, 0, 4, 5, 3)) * 2
+    t3new.bbbbbb += np.transpose(tmp535, (0, 2, 1, 4, 5, 3)) * 2
+    t3new.bbbbbb += np.transpose(tmp535, (0, 1, 2, 4, 5, 3)) * -2
+    t3new.bbbbbb += np.transpose(tmp535, (2, 1, 0, 5, 4, 3)) * -2
+    t3new.bbbbbb += np.transpose(tmp535, (0, 2, 1, 5, 4, 3)) * -2
+    t3new.bbbbbb += np.transpose(tmp535, (0, 1, 2, 5, 4, 3)) * 2
+    t3new.bbbbbb += np.transpose(tmp535, (0, 1, 2, 3, 5, 4)) * 2
+    t3new.bbbbbb += np.transpose(tmp535, (0, 1, 2, 5, 3, 4)) * -2
+    t3new.bbbbbb += np.transpose(tmp535, (0, 2, 1, 3, 5, 4)) * -2
+    t3new.bbbbbb += np.transpose(tmp535, (0, 2, 1, 5, 3, 4)) * 2
+    t3new.bbbbbb += np.transpose(tmp535, (2, 1, 0, 3, 5, 4)) * -2
+    t3new.bbbbbb += np.transpose(tmp535, (2, 1, 0, 5, 3, 4)) * 2
+    del tmp535
+    tmp522 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp324, (2, 6), (6, 0, 1, 3, 4, 5))
+    t3new.bbbbbb += np.transpose(tmp522, (0, 2, 1, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp522, (0, 2, 1, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp522, (0, 2, 1, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp522, (0, 2, 1, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp522, (0, 2, 1, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp522, (0, 2, 1, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp522, (1, 0, 2, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp522, (1, 0, 2, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp522, (1, 0, 2, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp522, (1, 0, 2, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp522, (1, 0, 2, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp522, (1, 0, 2, 4, 5, 3))
+    t3new.bbbbbb += np.transpose(tmp522, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp522, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp522, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp522, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp522, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp522, (1, 2, 0, 4, 5, 3)) * -1
+    del tmp522
+    tmp514 = einsum(tmp513, (0, 1, 2, 3, 4, 5), t1.bb, (2, 6), (0, 1, 3, 6, 4, 5))
+    del tmp513
+    t3new.bbbbbb += np.transpose(tmp514, (2, 1, 0, 4, 5, 3)) * 2
+    t3new.bbbbbb += np.transpose(tmp514, (2, 1, 0, 3, 5, 4)) * -2
+    t3new.bbbbbb += np.transpose(tmp514, (0, 2, 1, 4, 5, 3)) * 2
+    t3new.bbbbbb += np.transpose(tmp514, (0, 2, 1, 3, 5, 4)) * -2
+    t3new.bbbbbb += np.transpose(tmp514, (0, 1, 2, 4, 5, 3)) * -2
+    t3new.bbbbbb += np.transpose(tmp514, (0, 1, 2, 3, 5, 4)) * 2
+    t3new.bbbbbb += np.transpose(tmp514, (0, 1, 2, 4, 3, 5)) * 2
+    t3new.bbbbbb += tmp514 * -2
+    t3new.bbbbbb += np.transpose(tmp514, (0, 2, 1, 4, 3, 5)) * -2
+    t3new.bbbbbb += np.transpose(tmp514, (0, 2, 1, 3, 4, 5)) * 2
+    t3new.bbbbbb += np.transpose(tmp514, (2, 1, 0, 4, 3, 5)) * -2
+    t3new.bbbbbb += np.transpose(tmp514, (2, 1, 0, 3, 4, 5)) * 2
+    t3new.bbbbbb += np.transpose(tmp514, (2, 1, 0, 5, 4, 3)) * -2
+    t3new.bbbbbb += np.transpose(tmp514, (2, 1, 0, 5, 3, 4)) * 2
+    t3new.bbbbbb += np.transpose(tmp514, (0, 2, 1, 5, 4, 3)) * -2
+    t3new.bbbbbb += np.transpose(tmp514, (0, 2, 1, 5, 3, 4)) * 2
+    t3new.bbbbbb += np.transpose(tmp514, (0, 1, 2, 5, 4, 3)) * 2
+    t3new.bbbbbb += np.transpose(tmp514, (0, 1, 2, 5, 3, 4)) * -2
+    del tmp514
+    tmp561 = einsum(t1.bb, (0, 1), tmp560, (2, 0, 3, 4, 5, 6), (2, 4, 3, 6, 5, 1)) * -2
+    del tmp560
+    t3new.bbbbbb += np.transpose(tmp561, (0, 2, 1, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp561, (1, 2, 0, 5, 4, 3))
+    del tmp561
+    tmp533 = einsum(t2.bbbb, (0, 1, 2, 3), tmp433, (1, 4, 5, 6), (5, 4, 0, 6, 2, 3)) * -1
+    del tmp433
+    t3new.bbbbbb += np.transpose(tmp533, (0, 1, 2, 5, 4, 3)) * -2
+    t3new.bbbbbb += np.transpose(tmp533, (0, 1, 2, 5, 4, 3)) * -2
+    t3new.bbbbbb += np.transpose(tmp533, (0, 2, 1, 5, 4, 3)) * 2
+    t3new.bbbbbb += np.transpose(tmp533, (0, 2, 1, 5, 4, 3)) * 2
+    t3new.bbbbbb += np.transpose(tmp533, (2, 1, 0, 5, 4, 3)) * 2
+    t3new.bbbbbb += np.transpose(tmp533, (2, 1, 0, 5, 4, 3)) * 2
+    del tmp533
+    tmp540 = einsum(tmp447, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (0, 4, 5, 1, 2, 6)) * -1
+    del tmp447
+    t3new.bbbbbb += np.transpose(tmp540, (2, 0, 1, 5, 4, 3)) * -2
+    t3new.bbbbbb += np.transpose(tmp540, (2, 0, 1, 4, 5, 3)) * 2
+    t3new.bbbbbb += np.transpose(tmp540, (2, 0, 1, 4, 3, 5)) * -2
+    del tmp540
+    tmp547 = einsum(tmp546, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 6), (0, 1, 4, 3, 5, 6)) * -1
+    del tmp546
+    t3new.bbbbbb += np.transpose(tmp547, (1, 0, 2, 5, 3, 4))
+    t3new.bbbbbb += np.transpose(tmp547, (1, 0, 2, 5, 3, 4))
+    t3new.bbbbbb += np.transpose(tmp547, (1, 2, 0, 5, 3, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp547, (1, 2, 0, 5, 3, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp547, (1, 0, 2, 3, 5, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp547, (1, 0, 2, 3, 5, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp547, (1, 2, 0, 3, 5, 4))
+    t3new.bbbbbb += np.transpose(tmp547, (1, 2, 0, 3, 5, 4))
+    t3new.bbbbbb += np.transpose(tmp547, (2, 1, 0, 5, 3, 4))
+    t3new.bbbbbb += np.transpose(tmp547, (2, 1, 0, 5, 3, 4))
+    t3new.bbbbbb += np.transpose(tmp547, (2, 1, 0, 3, 5, 4)) * -1
+    del tmp547
+    tmp528 = einsum(t2.bbbb, (0, 1, 2, 3), tmp527, (4, 1, 5, 6), (4, 5, 0, 6, 2, 3)) * -1
+    del tmp527
+    t3new.bbbbbb += np.transpose(tmp528, (2, 1, 0, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp528, (1, 0, 2, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp528, (1, 0, 2, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp528, (1, 2, 0, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp528, (1, 2, 0, 5, 4, 3)) * -1
+    del tmp528
+    tmp518 = np.copy(np.transpose(tmp515, (0, 2, 1, 3, 5, 4))) * 0.3333333333333333
+    del tmp515
+    tmp518 += np.transpose(tmp516, (1, 0, 2, 3, 5, 4))
+    del tmp516
+    t3new.bbbbbb += einsum(t1.bb, (0, 1), tmp518, (2, 0, 3, 4, 5, 6), (4, 3, 2, 6, 5, 1)) * 3
+    del tmp518
+    tmp557 = einsum(tmp240, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 6), (1, 0, 4, 3, 5, 6))
+    t3new.bbbbbb += np.transpose(tmp557, (1, 0, 2, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp557, (0, 1, 2, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp557, (1, 0, 2, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp557, (0, 1, 2, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp557, (1, 2, 0, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp557, (0, 2, 1, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp557, (1, 2, 0, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp557, (0, 2, 1, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp557, (2, 1, 0, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp557, (2, 0, 1, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp557, (2, 1, 0, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp557, (2, 0, 1, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp557, (1, 0, 2, 5, 3, 4))
+    t3new.bbbbbb += np.transpose(tmp557, (0, 1, 2, 5, 3, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp557, (1, 0, 2, 5, 3, 4))
+    t3new.bbbbbb += np.transpose(tmp557, (0, 1, 2, 5, 3, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp557, (1, 0, 2, 3, 5, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp557, (0, 1, 2, 3, 5, 4))
+    t3new.bbbbbb += np.transpose(tmp557, (1, 0, 2, 3, 5, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp557, (0, 1, 2, 3, 5, 4))
+    t3new.bbbbbb += np.transpose(tmp557, (1, 2, 0, 5, 3, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp557, (0, 2, 1, 5, 3, 4))
+    t3new.bbbbbb += np.transpose(tmp557, (1, 2, 0, 5, 3, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp557, (0, 2, 1, 5, 3, 4))
+    t3new.bbbbbb += np.transpose(tmp557, (2, 1, 0, 5, 3, 4))
+    t3new.bbbbbb += np.transpose(tmp557, (2, 0, 1, 5, 3, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp557, (2, 1, 0, 5, 3, 4))
+    t3new.bbbbbb += np.transpose(tmp557, (2, 0, 1, 5, 3, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp557, (1, 2, 0, 3, 5, 4))
+    t3new.bbbbbb += np.transpose(tmp557, (0, 2, 1, 3, 5, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp557, (1, 2, 0, 3, 5, 4))
+    t3new.bbbbbb += np.transpose(tmp557, (0, 2, 1, 3, 5, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp557, (2, 1, 0, 3, 5, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp557, (2, 0, 1, 3, 5, 4))
+    t3new.bbbbbb += np.transpose(tmp557, (2, 1, 0, 3, 5, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp557, (2, 0, 1, 3, 5, 4))
+    del tmp557
+    tmp551 = einsum(t2.bbbb, (0, 1, 2, 3), tmp236, (4, 5, 3, 6), (4, 0, 1, 2, 6, 5))
+    t3new.bbbbbb += np.transpose(tmp551, (0, 2, 1, 3, 5, 4)) * -2
+    t3new.bbbbbb += np.transpose(tmp551, (0, 2, 1, 3, 4, 5)) * 2
+    t3new.bbbbbb += np.transpose(tmp551, (1, 0, 2, 3, 5, 4)) * -2
+    t3new.bbbbbb += np.transpose(tmp551, (1, 0, 2, 3, 4, 5)) * 2
+    t3new.bbbbbb += np.transpose(tmp551, (1, 2, 0, 3, 5, 4)) * 2
+    t3new.bbbbbb += np.transpose(tmp551, (1, 2, 0, 3, 4, 5)) * -2
+    t3new.bbbbbb += np.transpose(tmp551, (0, 2, 1, 5, 3, 4)) * 2
+    t3new.bbbbbb += np.transpose(tmp551, (0, 2, 1, 4, 3, 5)) * -2
+    t3new.bbbbbb += np.transpose(tmp551, (0, 2, 1, 5, 4, 3)) * -2
+    t3new.bbbbbb += np.transpose(tmp551, (0, 2, 1, 4, 5, 3)) * 2
+    t3new.bbbbbb += np.transpose(tmp551, (1, 0, 2, 5, 3, 4)) * 2
+    t3new.bbbbbb += np.transpose(tmp551, (1, 0, 2, 4, 3, 5)) * -2
+    t3new.bbbbbb += np.transpose(tmp551, (1, 2, 0, 5, 3, 4)) * -2
+    t3new.bbbbbb += np.transpose(tmp551, (1, 2, 0, 4, 3, 5)) * 2
+    t3new.bbbbbb += np.transpose(tmp551, (1, 0, 2, 5, 4, 3)) * -2
+    t3new.bbbbbb += np.transpose(tmp551, (1, 0, 2, 4, 5, 3)) * 2
+    t3new.bbbbbb += np.transpose(tmp551, (1, 2, 0, 5, 4, 3)) * 2
+    t3new.bbbbbb += np.transpose(tmp551, (1, 2, 0, 4, 5, 3)) * -2
+    del tmp551
+    tmp537 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 5, 6, 3), (0, 1, 4, 2, 5, 6))
+    t3new.bbbbbb += np.transpose(tmp537, (2, 1, 0, 3, 5, 4)) * -2
+    t3new.bbbbbb += np.transpose(tmp537, (0, 2, 1, 3, 5, 4)) * -2
+    t3new.bbbbbb += np.transpose(tmp537, (0, 1, 2, 3, 5, 4)) * 2
+    t3new.bbbbbb += np.transpose(tmp537, (2, 1, 0, 5, 3, 4)) * 2
+    t3new.bbbbbb += np.transpose(tmp537, (2, 1, 0, 5, 4, 3)) * -2
+    t3new.bbbbbb += np.transpose(tmp537, (0, 2, 1, 5, 3, 4)) * 2
+    t3new.bbbbbb += np.transpose(tmp537, (0, 1, 2, 5, 3, 4)) * -2
+    t3new.bbbbbb += np.transpose(tmp537, (0, 2, 1, 5, 4, 3)) * -2
+    t3new.bbbbbb += np.transpose(tmp537, (0, 1, 2, 5, 4, 3)) * 2
+    del tmp537
+    tmp520 = einsum(tmp318, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6))
+    t3new.bbbbbb += np.transpose(tmp520, (1, 2, 0, 4, 3, 5)) * -3
+    t3new.bbbbbb += np.transpose(tmp520, (1, 2, 0, 4, 3, 5)) * -3
+    del tmp520
+    tmp519 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp420, (5, 6), (0, 1, 2, 6, 3, 4)) * 3
+    del tmp420
+    t3new.bbbbbb += np.transpose(tmp519, (1, 2, 0, 3, 4, 5))
+    t3new.bbbbbb += np.transpose(tmp519, (1, 2, 0, 3, 4, 5))
+    del tmp519
+    tmp553 = einsum(t1.bb, (0, 1), tmp552, (2, 0, 3, 4, 5, 6), (2, 4, 3, 6, 5, 1)) * -1
+    del tmp552
+    t3new.bbbbbb += np.transpose(tmp553, (0, 2, 1, 3, 5, 4)) * -2
+    t3new.bbbbbb += np.transpose(tmp553, (0, 2, 1, 5, 3, 4)) * 2
+    t3new.bbbbbb += np.transpose(tmp553, (1, 0, 2, 3, 5, 4)) * -2
+    t3new.bbbbbb += np.transpose(tmp553, (1, 2, 0, 3, 5, 4)) * 2
+    t3new.bbbbbb += np.transpose(tmp553, (1, 0, 2, 5, 3, 4)) * 2
+    t3new.bbbbbb += np.transpose(tmp553, (1, 2, 0, 5, 3, 4)) * -2
+    t3new.bbbbbb += np.transpose(tmp553, (1, 0, 2, 5, 4, 3)) * -2
+    t3new.bbbbbb += np.transpose(tmp553, (0, 2, 1, 3, 4, 5)) * 2
+    t3new.bbbbbb += np.transpose(tmp553, (1, 0, 2, 3, 4, 5)) * 2
+    t3new.bbbbbb += np.transpose(tmp553, (1, 2, 0, 3, 4, 5)) * -2
+    t3new.bbbbbb += np.transpose(tmp553, (0, 2, 1, 4, 3, 5)) * -2
+    t3new.bbbbbb += np.transpose(tmp553, (0, 2, 1, 4, 5, 3)) * 2
+    t3new.bbbbbb += np.transpose(tmp553, (1, 0, 2, 4, 3, 5)) * -2
+    t3new.bbbbbb += np.transpose(tmp553, (1, 2, 0, 4, 3, 5)) * 2
+    t3new.bbbbbb += np.transpose(tmp553, (1, 0, 2, 4, 5, 3)) * 2
+    t3new.bbbbbb += np.transpose(tmp553, (1, 2, 0, 4, 5, 3)) * -2
+    del tmp553
+    tmp550 = einsum(tmp204, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 6), (0, 4, 1, 5, 6, 3))
+    t3new.bbbbbb += np.transpose(tmp550, (2, 0, 1, 4, 3, 5))
+    t3new.bbbbbb += np.transpose(tmp550, (2, 0, 1, 4, 3, 5))
+    t3new.bbbbbb += np.transpose(tmp550, (2, 1, 0, 4, 3, 5)) * -1
+    t3new.bbbbbb += np.transpose(tmp550, (2, 1, 0, 4, 3, 5)) * -1
+    t3new.bbbbbb += np.transpose(tmp550, (0, 2, 1, 4, 3, 5)) * -1
+    t3new.bbbbbb += np.transpose(tmp550, (0, 2, 1, 4, 3, 5)) * -1
+    t3new.bbbbbb += np.transpose(tmp550, (1, 2, 0, 4, 3, 5))
+    t3new.bbbbbb += np.transpose(tmp550, (1, 2, 0, 4, 3, 5))
+    t3new.bbbbbb += np.transpose(tmp550, (0, 1, 2, 4, 3, 5))
+    t3new.bbbbbb += np.transpose(tmp550, (0, 1, 2, 4, 3, 5))
+    t3new.bbbbbb += np.transpose(tmp550, (1, 0, 2, 4, 3, 5)) * -1
+    t3new.bbbbbb += np.transpose(tmp550, (1, 0, 2, 4, 3, 5)) * -1
+    del tmp550
+    tmp544 = np.copy(np.transpose(tmp204, (0, 2, 1, 3)))
+    tmp544 += einsum(tmp425, (0, 1, 2, 3), t1.bb, (3, 4), (0, 2, 1, 4))
+    t3new.bbbbbb += einsum(tmp544, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 6), (4, 1, 0, 3, 5, 6)) * -1
+    del tmp544
+    tmp510 = einsum(tmp432, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 6), (4, 2, 0, 3, 5, 6))
+    t3new.bbbbbb += np.transpose(tmp510, (1, 2, 0, 5, 3, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp510, (1, 2, 0, 5, 3, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp510, (1, 2, 0, 3, 5, 4))
+    t3new.bbbbbb += np.transpose(tmp510, (1, 2, 0, 3, 5, 4))
+    t3new.bbbbbb += np.transpose(tmp510, (2, 0, 1, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp510, (2, 0, 1, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp510, (0, 1, 2, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp510, (0, 1, 2, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp510, (0, 2, 1, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp510, (0, 2, 1, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp510, (1, 0, 2, 5, 3, 4))
+    t3new.bbbbbb += np.transpose(tmp510, (1, 0, 2, 5, 3, 4))
+    t3new.bbbbbb += np.transpose(tmp510, (0, 1, 2, 5, 3, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp510, (0, 1, 2, 5, 3, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp510, (1, 0, 2, 3, 5, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp510, (1, 0, 2, 3, 5, 4)) * -1
+    t3new.bbbbbb += np.transpose(tmp510, (0, 1, 2, 3, 5, 4))
+    t3new.bbbbbb += np.transpose(tmp510, (0, 1, 2, 3, 5, 4))
+    t3new.bbbbbb += np.transpose(tmp510, (1, 2, 0, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp510, (1, 2, 0, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp510, (1, 0, 2, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp510, (1, 0, 2, 5, 4, 3)) * -1
+    del tmp510
+    tmp529 = einsum(t2.bbbb, (0, 1, 2, 3), tmp494, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -1
+    del tmp494
+    t3new.bbbbbb += np.transpose(tmp529, (0, 2, 1, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp529, (0, 2, 1, 5, 4, 3))
+    t3new.bbbbbb += np.transpose(tmp529, (2, 0, 1, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp529, (2, 0, 1, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp529, (0, 1, 2, 5, 4, 3)) * -1
+    t3new.bbbbbb += np.transpose(tmp529, (0, 1, 2, 5, 4, 3)) * -1
+    del tmp529
+    tmp549 = einsum(t1.bb, (0, 1), tmp548, (2, 3, 4, 0, 5, 6), (2, 3, 4, 1, 5, 6))
+    del tmp548
+    t3new.bbbbbb += np.transpose(tmp549, (2, 1, 0, 4, 3, 5)) * 2
+    t3new.bbbbbb += np.transpose(tmp549, (2, 1, 0, 3, 4, 5)) * -2
+    t3new.bbbbbb += np.transpose(tmp549, (0, 2, 1, 4, 3, 5)) * 2
+    t3new.bbbbbb += np.transpose(tmp549, (0, 1, 2, 4, 3, 5)) * -2
+    t3new.bbbbbb += np.transpose(tmp549, (0, 2, 1, 3, 4, 5)) * -2
+    t3new.bbbbbb += tmp549 * 2
+    t3new.bbbbbb += np.transpose(tmp549, (2, 1, 0, 3, 5, 4)) * 2
+    t3new.bbbbbb += np.transpose(tmp549, (0, 2, 1, 3, 5, 4)) * 2
+    t3new.bbbbbb += np.transpose(tmp549, (0, 1, 2, 3, 5, 4)) * -2
+    del tmp549
+    tmp521 = einsum(f.bb.vv, (0, 1), t3.bbbbbb, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6))
+    t3new.bbbbbb += np.transpose(tmp521, (0, 1, 2, 5, 4, 3)) * -3
+    t3new.bbbbbb += np.transpose(tmp521, (0, 1, 2, 5, 4, 3)) * -3
+    del tmp521
+    tmp525 = einsum(tmp524, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 6, 4, 5))
+    del tmp524
+    t3new.bbbbbb += np.transpose(tmp525, (0, 2, 1, 4, 5, 3)) * 2
+    t3new.bbbbbb += np.transpose(tmp525, (0, 2, 1, 3, 5, 4)) * -2
+    t3new.bbbbbb += np.transpose(tmp525, (0, 2, 1, 4, 3, 5)) * -2
+    t3new.bbbbbb += np.transpose(tmp525, (0, 2, 1, 3, 4, 5)) * 2
+    t3new.bbbbbb += np.transpose(tmp525, (1, 0, 2, 4, 5, 3)) * 2
+    t3new.bbbbbb += np.transpose(tmp525, (1, 0, 2, 3, 5, 4)) * -2
+    t3new.bbbbbb += np.transpose(tmp525, (1, 2, 0, 4, 5, 3)) * -2
+    t3new.bbbbbb += np.transpose(tmp525, (1, 2, 0, 3, 5, 4)) * 2
+    t3new.bbbbbb += np.transpose(tmp525, (1, 0, 2, 4, 3, 5)) * -2
+    t3new.bbbbbb += np.transpose(tmp525, (1, 0, 2, 3, 4, 5)) * 2
+    t3new.bbbbbb += np.transpose(tmp525, (1, 2, 0, 4, 3, 5)) * 2
+    t3new.bbbbbb += np.transpose(tmp525, (1, 2, 0, 3, 4, 5)) * -2
+    t3new.bbbbbb += np.transpose(tmp525, (0, 2, 1, 5, 4, 3)) * -2
+    t3new.bbbbbb += np.transpose(tmp525, (0, 2, 1, 5, 3, 4)) * 2
+    t3new.bbbbbb += np.transpose(tmp525, (1, 0, 2, 5, 4, 3)) * -2
+    t3new.bbbbbb += np.transpose(tmp525, (1, 0, 2, 5, 3, 4)) * 2
+    t3new.bbbbbb += np.transpose(tmp525, (1, 2, 0, 5, 4, 3)) * 2
+    t3new.bbbbbb += np.transpose(tmp525, (1, 2, 0, 5, 3, 4)) * -2
+    del tmp525
+    tmp541 = einsum(tmp448, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 2), (0, 4, 5, 1, 3, 6)) * -1
+    del tmp448
+    t3new.bbbbbb += np.transpose(tmp541, (0, 2, 1, 5, 3, 4)) * -2
+    t3new.bbbbbb += np.transpose(tmp541, (2, 1, 0, 5, 3, 4)) * -2
+    t3new.bbbbbb += np.transpose(tmp541, (0, 2, 1, 3, 5, 4)) * 2
+    t3new.bbbbbb += np.transpose(tmp541, (2, 1, 0, 3, 5, 4)) * 2
+    del tmp541
+    tmp449 = einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 6), (4, 5, 2, 0, 6, 3))
+    t3new.babbab += np.transpose(tmp449, (2, 0, 1, 4, 3, 5)) * -1
+    t3new.babbab += np.transpose(tmp449, (1, 0, 2, 4, 3, 5))
+    del tmp449
+    tmp481 = np.copy(np.transpose(tmp377, (0, 1, 3, 2)))
+    tmp481 += einsum(t1.aa, (0, 1), tmp480, (2, 0, 3, 4), (2, 1, 4, 3)) * -1
+    del tmp480
+    t3new.babbab += einsum(tmp481, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 2), (4, 0, 5, 3, 1, 6)) * -2
+    del tmp481
+    tmp484 = einsum(t2.abab, (0, 1, 2, 3), tmp483, (4, 3, 5, 6), (0, 4, 1, 2, 5, 6))
+    del tmp483
+    t3new.babbab += np.transpose(tmp484, (1, 0, 2, 4, 3, 5)) * -1
+    t3new.babbab += np.transpose(tmp484, (1, 0, 2, 5, 3, 4))
+    t3new.babbab += np.transpose(tmp484, (2, 0, 1, 4, 3, 5))
+    t3new.babbab += np.transpose(tmp484, (2, 0, 1, 5, 3, 4)) * -1
+    del tmp484
+    tmp443 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.abab, (4, 1, 5, 6), (4, 0, 2, 5, 6, 3))
+    t3new.babbab += np.transpose(tmp443, (2, 0, 1, 4, 3, 5))
+    t3new.babbab += np.transpose(tmp443, (1, 0, 2, 4, 3, 5)) * -1
+    t3new.babbab += np.transpose(tmp443, (2, 0, 1, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp443, (1, 0, 2, 5, 3, 4))
+    del tmp443
+    tmp426 = np.copy(tmp424)
+    tmp426 += einsum(tmp425, (0, 1, 2, 3), t2.abab, (4, 3, 5, 6), (4, 0, 2, 1, 5, 6))
+    del tmp425
+    t3new.babbab += einsum(t1.bb, (0, 1), tmp426, (2, 3, 4, 0, 5, 6), (4, 2, 3, 6, 5, 1))
+    del tmp426
+    tmp490 = np.copy(np.transpose(tmp377, (0, 1, 3, 2)))
+    tmp490 += einsum(t1.bb, (0, 1), tmp77, (2, 0, 3, 4), (2, 3, 4, 1)) * -1
+    t3new.babbab += einsum(tmp490, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 2), (4, 0, 5, 6, 1, 3)) * 2
+    del tmp490
+    tmp429 = einsum(t2.abab, (0, 1, 2, 3), tmp140, (4, 0, 5, 6), (4, 1, 5, 6, 2, 3)) * -1
+    tmp429 += einsum(tmp428, (0, 1, 2, 3, 4, 5), t1.aa, (1, 6), (0, 3, 2, 4, 6, 5)) * 2
+    del tmp428
+    t3new.babbab += einsum(t1.bb, (0, 1), tmp429, (2, 3, 4, 0, 5, 6), (4, 2, 3, 6, 5, 1))
+    del tmp429
+    tmp444 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 6), (0, 4, 2, 1, 5, 6))
+    t3new.babbab += np.transpose(tmp444, (2, 0, 1, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp444, (2, 0, 1, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp444, (1, 0, 2, 5, 3, 4))
+    t3new.babbab += np.transpose(tmp444, (1, 0, 2, 5, 3, 4))
+    del tmp444
+    tmp500 = einsum(tmp499, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 6), (0, 1, 4, 3, 5, 6)) * -1
+    del tmp499
+    t3new.babbab += np.transpose(tmp500, (1, 0, 2, 5, 3, 4))
+    t3new.babbab += np.transpose(tmp500, (1, 0, 2, 5, 3, 4))
+    t3new.babbab += np.transpose(tmp500, (2, 0, 1, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp500, (2, 0, 1, 5, 3, 4)) * -1
+    del tmp500
+    tmp477 = einsum(t2.abab, (0, 1, 2, 3), tmp177, (4, 0, 5, 6), (4, 5, 1, 2, 3, 6))
+    t3new.babbab += np.transpose(tmp477, (1, 0, 2, 4, 3, 5))
+    t3new.babbab += np.transpose(tmp477, (2, 0, 1, 4, 3, 5)) * -1
+    del tmp477
+    tmp471 = einsum(tmp204, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (4, 0, 1, 5, 6, 3))
+    t3new.babbab += np.transpose(tmp471, (2, 0, 1, 4, 3, 5)) * -1
+    t3new.babbab += np.transpose(tmp471, (1, 0, 2, 4, 3, 5))
+    del tmp471
+    tmp441 = einsum(tmp150, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 2), (1, 0, 4, 5, 6, 3))
+    del tmp150
+    t3new.babbab += einsum(tmp441, (0, 1, 2, 3, 4, 5), t1.aa, (0, 6), (2, 1, 3, 5, 6, 4)) * 2
+    del tmp441
+    tmp453 = einsum(t2.abab, (0, 1, 2, 3), tmp335, (4, 0, 5, 6), (4, 1, 5, 2, 6, 3))
+    t3new.babbab += np.transpose(tmp453, (2, 0, 1, 4, 3, 5))
+    t3new.babbab += np.transpose(tmp453, (1, 0, 2, 5, 3, 4))
+    del tmp453
+    tmp460 = einsum(tmp365, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 6), (0, 2, 4, 3, 5, 6)) * -1
+    del tmp365
+    t3new.babbab += np.transpose(tmp460, (1, 0, 2, 5, 3, 4))
+    t3new.babbab += np.transpose(tmp460, (1, 0, 2, 5, 3, 4))
+    t3new.babbab += np.transpose(tmp460, (2, 0, 1, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp460, (2, 0, 1, 5, 3, 4)) * -1
+    del tmp460
+    tmp507 = einsum(t1.aa, (0, 1), tmp506, (2, 0, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6))
+    del tmp506
+    t3new.babbab += np.transpose(tmp507, (1, 0, 2, 4, 3, 5))
+    t3new.babbab += np.transpose(tmp507, (2, 0, 1, 4, 3, 5)) * -1
+    del tmp507
+    tmp476 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.oovv, (4, 5, 6, 3), (4, 5, 0, 1, 2, 6))
+    t3new.babbab += einsum(tmp476, (0, 1, 2, 3, 4, 5), t1.aa, (0, 6), (2, 1, 3, 4, 6, 5)) * -2
+    del tmp476
+    tmp431 = np.copy(np.transpose(tmp335, (1, 0, 2, 3)))
+    tmp431 += tmp332 * -1
+    t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp431, (0, 4, 5, 6), (1, 4, 5, 6, 2, 3)) * -1
+    del tmp431
+    tmp497 = einsum(tmp238, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (4, 0, 1, 5, 6, 3))
+    t3new.babbab += np.transpose(tmp497, (2, 0, 1, 4, 3, 5))
+    t3new.babbab += np.transpose(tmp497, (1, 0, 2, 4, 3, 5)) * -1
+    t3new.babbab += np.transpose(tmp497, (2, 0, 1, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp497, (1, 0, 2, 5, 3, 4))
+    del tmp497
+    tmp496 = np.copy(tmp178) * -1
+    tmp496 += tmp400
+    t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp496, (4, 0, 5, 6), (1, 4, 5, 6, 2, 3)) * -1
+    del tmp496
+    tmp503 = einsum(tmp502, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 1, 2, 4, 6, 5))
+    del tmp502
+    t3new.babbab += np.transpose(tmp503, (1, 0, 2, 4, 3, 5)) * -1
+    t3new.babbab += np.transpose(tmp503, (2, 0, 1, 4, 3, 5))
+    del tmp503
+    tmp454 = einsum(tmp1, (0, 1, 2, 3), t2.abab, (1, 4, 5, 6), (0, 4, 2, 5, 6, 3))
+    t3new.babbab += np.transpose(tmp454, (2, 0, 1, 4, 3, 5))
+    t3new.babbab += np.transpose(tmp454, (1, 0, 2, 4, 3, 5)) * -1
+    t3new.babbab += np.transpose(tmp454, (2, 0, 1, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp454, (1, 0, 2, 5, 3, 4))
+    del tmp454
+    tmp467 = einsum(t2.bbbb, (0, 1, 2, 3), tmp21, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3))
+    t3new.babbab += np.transpose(tmp467, (1, 0, 2, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp467, (1, 0, 2, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp467, (2, 0, 1, 5, 3, 4))
+    t3new.babbab += np.transpose(tmp467, (2, 0, 1, 5, 3, 4))
+    del tmp467
+    tmp489 = np.copy(np.transpose(tmp152, (0, 2, 1, 3))) * -1
+    tmp489 += np.transpose(tmp488, (0, 2, 1, 3))
+    t3new.babbab += einsum(tmp489, (0, 1, 2, 3), t2.abab, (4, 5, 1, 6), (5, 4, 0, 6, 2, 3)) * -1
+    del tmp489
+    tmp419 = einsum(f.bb.ov, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (3, 0, 2, 4, 6, 5))
+    tmp419 += np.transpose(tmp414, (0, 3, 2, 1, 4, 5)) * 0.5
+    t3new.babbab += einsum(t1.bb, (0, 1), tmp419, (2, 0, 3, 4, 5, 6), (3, 2, 4, 6, 5, 1)) * -2
+    del tmp419
+    tmp505 = einsum(t2.abab, (0, 1, 2, 3), tmp178, (4, 0, 5, 6), (4, 5, 1, 2, 3, 6))
+    t3new.babbab += np.transpose(tmp505, (1, 0, 2, 4, 3, 5))
+    t3new.babbab += np.transpose(tmp505, (2, 0, 1, 4, 3, 5)) * -1
+    del tmp505
+    tmp495 = einsum(tmp392, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 6), (0, 1, 4, 3, 5, 6))
+    t3new.babbab += np.transpose(tmp495, (1, 0, 2, 5, 3, 4))
+    t3new.babbab += np.transpose(tmp495, (1, 0, 2, 5, 3, 4))
+    t3new.babbab += np.transpose(tmp495, (2, 0, 1, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp495, (2, 0, 1, 5, 3, 4)) * -1
+    del tmp495
+    tmp462 = einsum(t1.bb, (0, 1), tmp461, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6))
+    del tmp461
+    t3new.babbab += np.transpose(tmp462, (2, 0, 1, 4, 3, 5)) * -1
+    t3new.babbab += np.transpose(tmp462, (1, 0, 2, 4, 3, 5))
+    t3new.babbab += np.transpose(tmp462, (2, 0, 1, 5, 3, 4))
+    t3new.babbab += np.transpose(tmp462, (1, 0, 2, 5, 3, 4)) * -1
+    del tmp462
+    tmp455 = einsum(tmp22, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (4, 0, 1, 5, 6, 3))
+    t3new.babbab += np.transpose(tmp455, (2, 0, 1, 4, 3, 5))
+    t3new.babbab += np.transpose(tmp455, (1, 0, 2, 4, 3, 5)) * -1
+    t3new.babbab += np.transpose(tmp455, (2, 0, 1, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp455, (1, 0, 2, 5, 3, 4))
+    del tmp455
+    tmp498 = einsum(t2.abab, (0, 1, 2, 3), tmp240, (4, 5, 1, 6), (0, 5, 4, 2, 6, 3))
+    t3new.babbab += np.transpose(tmp498, (2, 0, 1, 5, 3, 4))
+    t3new.babbab += np.transpose(tmp498, (1, 0, 2, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp498, (2, 0, 1, 4, 3, 5)) * -1
+    t3new.babbab += np.transpose(tmp498, (1, 0, 2, 4, 3, 5))
+    del tmp498
+    tmp415 = einsum(t2.abab, (0, 1, 2, 3), v.bbbb.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3))
+    tmp415 += np.transpose(tmp414, (0, 1, 3, 2, 4, 5)) * -1
+    del tmp414
+    t3new.babbab += einsum(t1.bb, (0, 1), tmp415, (2, 3, 0, 4, 5, 6), (3, 2, 4, 6, 5, 1)) * -1
+    del tmp415
+    tmp501 = np.copy(tmp178)
+    del tmp178
+    tmp501 += tmp400 * -1
+    t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp501, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3)) * -1
+    del tmp501
+    tmp427 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp262, (1, 6), (6, 0, 2, 4, 3, 5))
+    t3new.babbab += np.transpose(tmp427, (1, 0, 2, 5, 3, 4))
+    t3new.babbab += np.transpose(tmp427, (1, 0, 2, 5, 3, 4))
+    del tmp427
+    tmp440 = einsum(tmp439, (0, 1, 2, 3, 4, 5), t1.aa, (1, 6), (0, 2, 3, 6, 4, 5))
+    del tmp439
+    t3new.babbab += np.transpose(tmp440, (1, 0, 2, 4, 3, 5)) * -1
+    t3new.babbab += np.transpose(tmp440, (2, 0, 1, 4, 3, 5))
+    del tmp440
+    tmp492 = einsum(t2.abab, (0, 1, 2, 3), tmp394, (4, 0, 5, 6), (4, 1, 5, 2, 6, 3))
+    t3new.babbab += np.transpose(tmp492, (2, 0, 1, 4, 3, 5))
+    t3new.babbab += np.transpose(tmp492, (1, 0, 2, 5, 3, 4))
+    t3new.babbab += np.transpose(tmp492, (1, 0, 2, 4, 3, 5)) * -1
+    del tmp492
+    tmp446 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2))
+    t3new.babbab += np.transpose(tmp446, (2, 0, 1, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp446, (1, 0, 2, 5, 3, 4))
+    del tmp446
+    tmp450 = np.copy(v.aabb.ovvv)
+    tmp450 += np.transpose(tmp127, (0, 1, 3, 2)) * -1
+    del tmp127
+    t3new.babbab += einsum(tmp450, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 2), (4, 0, 5, 6, 1, 3)) * 2
+    del tmp450
+    tmp438 = einsum(tmp437, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 6), (0, 2, 4, 3, 5, 6)) * -1
+    del tmp437
+    t3new.babbab += np.transpose(tmp438, (1, 0, 2, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp438, (1, 0, 2, 5, 3, 4)) * -1
+    del tmp438
+    tmp416 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), f.aa.oo, (6, 1), (6, 0, 2, 4, 3, 5))
+    t3new.babbab += np.transpose(tmp416, (1, 0, 2, 5, 3, 4))
+    t3new.babbab += np.transpose(tmp416, (1, 0, 2, 5, 3, 4))
+    del tmp416
+    tmp479 = np.copy(np.transpose(tmp152, (0, 2, 1, 3)))
+    tmp479 += tmp478 * -1
+    t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp479, (4, 5, 2, 6), (1, 0, 4, 6, 5, 3)) * -1
+    del tmp479
+    tmp459 = einsum(t2.abab, (0, 1, 2, 3), tmp458, (4, 1, 5, 6), (0, 4, 5, 2, 6, 3))
+    del tmp458
+    t3new.babbab += np.transpose(tmp459, (2, 0, 1, 4, 3, 5))
+    t3new.babbab += np.transpose(tmp459, (1, 0, 2, 4, 3, 5)) * -1
+    del tmp459
+    tmp466 = np.copy(np.transpose(tmp177, (1, 0, 2, 3))) * -1
+    del tmp177
+    tmp466 += tmp355
+    del tmp355
+    t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp466, (4, 0, 5, 6), (1, 4, 5, 6, 2, 3)) * -1
+    del tmp466
+    tmp470 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 6, 3), (4, 0, 1, 6, 5, 2))
+    t3new.babbab += einsum(t1.bb, (0, 1), tmp470, (2, 3, 4, 0, 5, 6), (3, 2, 4, 1, 5, 6)) * 2
+    del tmp470
+    tmp504 = einsum(tmp77, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (0, 4, 5, 1, 2, 6))
+    del tmp77
+    t3new.babbab += einsum(tmp504, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (1, 0, 2, 6, 4, 5)) * 2
+    del tmp504
+    tmp436 = einsum(t2.abab, (0, 1, 2, 3), tmp332, (0, 4, 5, 6), (4, 5, 1, 2, 6, 3))
+    t3new.babbab += np.transpose(tmp436, (1, 0, 2, 5, 3, 4))
+    t3new.babbab += np.transpose(tmp436, (2, 0, 1, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp436, (1, 0, 2, 4, 3, 5)) * -1
+    del tmp436
+    tmp430 = einsum(t2.abab, (0, 1, 2, 3), tmp137, (4, 0, 5, 6), (4, 5, 1, 6, 2, 3))
+    tmp430 += tmp424
+    del tmp424
+    t3new.babbab += einsum(t1.bb, (0, 1), tmp430, (2, 3, 4, 0, 5, 6), (3, 2, 4, 6, 5, 1)) * -1
+    del tmp430
+    tmp508 = einsum(tmp173, (0, 1, 2, 3), t2.bbbb, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2))
+    t3new.babbab += einsum(tmp508, (0, 1, 2, 3, 4, 5), t1.aa, (1, 6), (2, 0, 3, 4, 6, 5)) * -2
+    del tmp508
+    tmp473 = einsum(t1.bb, (0, 1), tmp472, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 1, 6))
+    del tmp472
+    t3new.babbab += np.transpose(tmp473, (2, 0, 1, 4, 3, 5))
+    t3new.babbab += np.transpose(tmp473, (1, 0, 2, 4, 3, 5)) * -1
+    del tmp473
+    tmp412 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), f.bb.oo, (6, 2), (1, 6, 0, 4, 3, 5))
+    t3new.babbab += np.transpose(tmp412, (1, 0, 2, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp412, (1, 0, 2, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp412, (2, 0, 1, 5, 3, 4))
+    t3new.babbab += np.transpose(tmp412, (2, 0, 1, 5, 3, 4))
+    del tmp412
+    tmp451 = einsum(tmp432, (0, 1, 2, 3), t2.abab, (4, 1, 5, 6), (4, 2, 0, 5, 3, 6))
+    del tmp432
+    t3new.babbab += np.transpose(tmp451, (2, 0, 1, 5, 3, 4))
+    t3new.babbab += np.transpose(tmp451, (1, 0, 2, 4, 3, 5))
+    del tmp451
+    tmp509 = einsum(t2.abab, (0, 1, 2, 3), tmp400, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3))
+    del tmp400
+    t3new.babbab += np.transpose(tmp509, (1, 0, 2, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp509, (2, 0, 1, 5, 3, 4))
+    del tmp509
+    tmp421 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp259, (4, 6), (1, 0, 2, 6, 3, 5))
+    t3new.babbab += np.transpose(tmp421, (2, 0, 1, 5, 3, 4))
+    t3new.babbab += np.transpose(tmp421, (2, 0, 1, 5, 3, 4))
+    del tmp421
+    tmp442 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (1, 4, 5, 6), (0, 4, 2, 5, 6, 3))
+    t3new.babbab += np.transpose(tmp442, (2, 0, 1, 4, 3, 5))
+    t3new.babbab += np.transpose(tmp442, (1, 0, 2, 4, 3, 5)) * -1
+    t3new.babbab += np.transpose(tmp442, (2, 0, 1, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp442, (1, 0, 2, 5, 3, 4))
+    del tmp442
+    tmp435 = einsum(tmp330, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 6), (0, 4, 2, 3, 5, 6))
+    t3new.babbab += np.transpose(tmp435, (1, 0, 2, 5, 3, 4))
+    t3new.babbab += np.transpose(tmp435, (1, 0, 2, 5, 3, 4))
+    del tmp435
+    tmp445 = einsum(t2.abab, (0, 1, 2, 3), tmp51, (4, 2, 5, 6), (0, 1, 4, 5, 3, 6))
+    t3new.babbab += np.transpose(tmp445, (2, 0, 1, 5, 3, 4))
+    t3new.babbab += np.transpose(tmp445, (1, 0, 2, 5, 3, 4)) * -1
+    del tmp445
+    tmp465 = einsum(tmp464, (0, 1, 2, 3, 4, 5), t1.bb, (2, 6), (0, 1, 3, 4, 6, 5))
+    del tmp464
+    t3new.babbab += np.transpose(tmp465, (2, 0, 1, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp465, (2, 0, 1, 4, 3, 5))
+    t3new.babbab += np.transpose(tmp465, (1, 0, 2, 5, 3, 4))
+    t3new.babbab += np.transpose(tmp465, (1, 0, 2, 4, 3, 5)) * -1
+    del tmp465
+    tmp418 = einsum(v.aabb.oooo, (0, 1, 2, 3), t2.abab, (1, 4, 5, 6), (0, 4, 2, 3, 5, 6)) * -1
+    tmp418 += einsum(tmp417, (0, 1, 2, 3, 4, 5), t1.aa, (0, 6), (1, 3, 2, 4, 6, 5)) * 2
+    del tmp417
+    t3new.babbab += einsum(t1.bb, (0, 1), tmp418, (2, 3, 4, 0, 5, 6), (4, 2, 3, 6, 5, 1))
+    del tmp418
+    tmp452 = einsum(tmp329, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 6), (0, 4, 1, 3, 5, 6))
+    t3new.babbab += np.transpose(tmp452, (1, 0, 2, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp452, (1, 0, 2, 5, 3, 4)) * -1
+    del tmp452
+    tmp486 = einsum(t1.bb, (0, 1), tmp485, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 6, 1)) * -1
+    del tmp485
+    t3new.babbab += np.transpose(tmp486, (1, 0, 2, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp486, (2, 0, 1, 5, 3, 4))
+    t3new.babbab += np.transpose(tmp486, (1, 0, 2, 4, 3, 5))
+    t3new.babbab += np.transpose(tmp486, (2, 0, 1, 4, 3, 5)) * -1
+    del tmp486
+    tmp475 = einsum(tmp474, (0, 1, 2, 3, 4, 5), t1.aa, (1, 6), (0, 2, 3, 6, 4, 5))
+    del tmp474
+    t3new.babbab += np.transpose(tmp475, (2, 0, 1, 4, 3, 5))
+    t3new.babbab += np.transpose(tmp475, (1, 0, 2, 4, 3, 5)) * -1
+    del tmp475
+    tmp487 = np.copy(np.transpose(tmp152, (0, 2, 1, 3)))
+    tmp487 += np.transpose(tmp478, (0, 2, 1, 3)) * -1
+    del tmp478
+    t3new.babbab += einsum(t2.abab, (0, 1, 2, 3), tmp487, (4, 2, 5, 6), (4, 0, 1, 6, 5, 3))
+    del tmp487
+    tmp422 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp324, (2, 6), (1, 6, 0, 4, 3, 5))
+    t3new.babbab += np.transpose(tmp422, (1, 0, 2, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp422, (1, 0, 2, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp422, (2, 0, 1, 5, 3, 4))
+    t3new.babbab += np.transpose(tmp422, (2, 0, 1, 5, 3, 4))
+    del tmp422
+    tmp491 = np.copy(np.transpose(tmp152, (0, 2, 1, 3)))
+    tmp491 += np.transpose(tmp488, (0, 2, 1, 3)) * -1
+    del tmp488
+    t3new.babbab += einsum(tmp491, (0, 1, 2, 3), t2.abab, (4, 5, 1, 6), (0, 4, 5, 6, 2, 3)) * -1
+    del tmp491
+    tmp469 = einsum(t1.bb, (0, 1), tmp468, (2, 3, 0, 4, 5, 6), (2, 3, 4, 5, 1, 6))
+    del tmp468
+    t3new.babbab += np.transpose(tmp469, (2, 0, 1, 5, 3, 4))
+    t3new.babbab += np.transpose(tmp469, (2, 0, 1, 4, 3, 5)) * -1
+    t3new.babbab += np.transpose(tmp469, (1, 0, 2, 5, 3, 4)) * -1
+    t3new.babbab += np.transpose(tmp469, (1, 0, 2, 4, 3, 5))
+    del tmp469
+    tmp364 = np.copy(np.transpose(tmp139, (0, 2, 1, 3))) * -1
+    tmp364 += np.transpose(tmp363, (0, 2, 1, 3))
+    del tmp363
+    t3new.abaaba += einsum(tmp364, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (4, 1, 0, 3, 6, 5)) * -1
+    del tmp364
+    tmp349 = einsum(t2.abab, (0, 1, 2, 3), tmp247, (4, 0, 5, 6), (5, 4, 1, 6, 2, 3))
+    t3new.abaaba += np.transpose(tmp349, (1, 2, 0, 4, 5, 3))
+    t3new.abaaba += np.transpose(tmp349, (0, 2, 1, 3, 5, 4))
+    del tmp349
+    tmp325 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp324, (1, 6), (0, 2, 6, 3, 5, 4))
+    del tmp324
+    t3new.abaaba += np.transpose(tmp325, (0, 2, 1, 4, 5, 3))
+    t3new.abaaba += np.transpose(tmp325, (0, 2, 1, 4, 5, 3))
+    del tmp325
+    tmp368 = einsum(t1.aa, (0, 1), tmp367, (2, 0, 3, 4, 5, 6), (2, 3, 4, 1, 5, 6))
+    del tmp367
+    t3new.abaaba += np.transpose(tmp368, (1, 2, 0, 4, 5, 3))
+    t3new.abaaba += np.transpose(tmp368, (1, 2, 0, 3, 5, 4)) * -1
+    t3new.abaaba += np.transpose(tmp368, (0, 2, 1, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp368, (0, 2, 1, 3, 5, 4))
+    del tmp368
+    tmp406 = einsum(tmp141, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 2), (4, 5, 0, 1, 6, 3))
+    t3new.abaaba += einsum(tmp406, (0, 1, 2, 3, 4, 5), t1.aa, (2, 6), (0, 3, 1, 6, 5, 4)) * 2
+    del tmp406
+    tmp319 = einsum(tmp318, (0, 1), t3.abaaba, (2, 3, 4, 5, 0, 6), (2, 4, 3, 5, 6, 1))
+    del tmp318
+    t3new.abaaba += np.transpose(tmp319, (1, 2, 0, 4, 5, 3))
+    t3new.abaaba += np.transpose(tmp319, (1, 2, 0, 4, 5, 3))
+    del tmp319
+    tmp410 = einsum(tmp143, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 3), (4, 5, 0, 1, 6, 2))
+    t3new.abaaba += einsum(tmp410, (0, 1, 2, 3, 4, 5), t1.bb, (3, 6), (0, 2, 1, 4, 6, 5)) * -2
+    del tmp410
+    tmp342 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (4, 3, 5, 6), (4, 0, 2, 5, 1, 6))
+    t3new.abaaba += np.transpose(tmp342, (1, 2, 0, 3, 5, 4))
+    t3new.abaaba += np.transpose(tmp342, (0, 2, 1, 3, 5, 4)) * -1
+    t3new.abaaba += np.transpose(tmp342, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp342, (0, 2, 1, 4, 5, 3))
+    del tmp342
+    tmp320 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp262, (2, 6), (6, 0, 1, 3, 5, 4))
+    t3new.abaaba += np.transpose(tmp320, (0, 2, 1, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp320, (0, 2, 1, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp320, (1, 2, 0, 4, 5, 3))
+    t3new.abaaba += np.transpose(tmp320, (1, 2, 0, 4, 5, 3))
+    del tmp320
+    tmp359 = einsum(tmp358, (0, 1, 2, 3, 4, 5), t1.aa, (1, 6), (0, 2, 3, 6, 4, 5))
+    del tmp358
+    t3new.abaaba += np.transpose(tmp359, (1, 2, 0, 3, 5, 4)) * -1
+    t3new.abaaba += np.transpose(tmp359, (0, 2, 1, 3, 5, 4))
+    t3new.abaaba += np.transpose(tmp359, (1, 2, 0, 4, 5, 3))
+    t3new.abaaba += np.transpose(tmp359, (0, 2, 1, 4, 5, 3)) * -1
+    del tmp359
+    tmp333 = einsum(tmp332, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 6), (4, 1, 2, 5, 6, 3))
+    del tmp332
+    t3new.abaaba += np.transpose(tmp333, (0, 2, 1, 4, 5, 3))
+    t3new.abaaba += np.transpose(tmp333, (0, 2, 1, 4, 5, 3))
+    del tmp333
+    tmp316 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), f.aa.ov, (6, 5), (6, 0, 2, 1, 3, 4)) * 2
+    tmp316 += np.transpose(tmp311, (1, 2, 0, 3, 4, 5))
+    t3new.abaaba += einsum(tmp316, (0, 1, 2, 3, 4, 5), t1.aa, (0, 6), (1, 3, 2, 4, 5, 6)) * -1
+    del tmp316
+    tmp344 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (4, 0, 2, 5, 6, 3))
+    t3new.abaaba += np.transpose(tmp344, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp344, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp344, (0, 2, 1, 4, 5, 3))
+    t3new.abaaba += np.transpose(tmp344, (0, 2, 1, 4, 5, 3))
+    del tmp344
+    tmp370 = einsum(tmp62, (0, 1, 2, 3), t2.abab, (2, 4, 5, 6), (0, 1, 4, 5, 3, 6))
+    t3new.abaaba += np.transpose(tmp370, (1, 2, 0, 3, 5, 4)) * -1
+    t3new.abaaba += np.transpose(tmp370, (0, 2, 1, 3, 5, 4))
+    del tmp370
+    tmp393 = einsum(tmp392, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (4, 0, 1, 3, 5, 6))
+    del tmp392
+    t3new.abaaba += np.transpose(tmp393, (1, 2, 0, 3, 5, 4))
+    t3new.abaaba += np.transpose(tmp393, (0, 2, 1, 4, 5, 3))
+    t3new.abaaba += np.transpose(tmp393, (0, 2, 1, 3, 5, 4)) * -1
+    del tmp393
+    tmp357 = einsum(t2.aaaa, (0, 1, 2, 3), tmp356, (1, 4, 5, 6), (4, 0, 5, 2, 3, 6)) * -1
+    del tmp356
+    t3new.abaaba += np.transpose(tmp357, (0, 2, 1, 4, 5, 3))
+    t3new.abaaba += np.transpose(tmp357, (0, 2, 1, 4, 5, 3))
+    t3new.abaaba += np.transpose(tmp357, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp357, (1, 2, 0, 4, 5, 3)) * -1
+    del tmp357
+    tmp387 = np.copy(np.transpose(tmp377, (0, 1, 3, 2)))
+    tmp387 += np.transpose(tmp378, (0, 1, 3, 2)) * -1
+    t3new.abaaba += einsum(tmp387, (0, 1, 2, 3), t2.abab, (4, 5, 6, 2), (0, 5, 4, 1, 3, 6))
+    del tmp387
+    tmp354 = einsum(t2.abab, (0, 1, 2, 3), tmp290, (4, 0, 5, 6), (4, 5, 1, 6, 2, 3))
+    t3new.abaaba += np.transpose(tmp354, (1, 2, 0, 3, 5, 4))
+    t3new.abaaba += np.transpose(tmp354, (0, 2, 1, 3, 5, 4)) * -1
+    del tmp354
+    tmp379 = np.copy(np.transpose(tmp377, (0, 1, 3, 2)))
+    tmp379 += tmp378 * -1
+    del tmp378
+    t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp379, (4, 5, 6, 3), (0, 1, 4, 5, 6, 2)) * -1
+    del tmp379
+    tmp384 = einsum(t2.abab, (0, 1, 2, 3), tmp383, (4, 2, 5, 6), (4, 0, 1, 5, 6, 3))
+    del tmp383
+    t3new.abaaba += np.transpose(tmp384, (0, 2, 1, 3, 5, 4)) * -1
+    t3new.abaaba += np.transpose(tmp384, (0, 2, 1, 4, 5, 3))
+    t3new.abaaba += np.transpose(tmp384, (1, 2, 0, 3, 5, 4))
+    t3new.abaaba += np.transpose(tmp384, (1, 2, 0, 4, 5, 3)) * -1
+    del tmp384
+    tmp375 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.vvoo, (4, 3, 5, 6), (0, 1, 5, 6, 2, 4))
+    t3new.abaaba += einsum(t1.bb, (0, 1), tmp375, (2, 3, 0, 4, 5, 6), (2, 4, 3, 5, 1, 6)) * -2
+    del tmp375
+    tmp323 = np.copy(tmp322)
+    tmp323 += einsum(t2.abab, (0, 1, 2, 3), tmp292, (4, 0, 5, 6), (4, 5, 6, 1, 2, 3))
+    t3new.abaaba += einsum(tmp323, (0, 1, 2, 3, 4, 5), t1.aa, (2, 6), (1, 3, 0, 4, 5, 6))
+    del tmp323
+    tmp351 = einsum(tmp329, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (4, 0, 1, 3, 5, 6))
+    t3new.abaaba += np.transpose(tmp351, (1, 2, 0, 3, 5, 4))
+    t3new.abaaba += np.transpose(tmp351, (0, 2, 1, 4, 5, 3))
+    del tmp351
+    tmp345 = einsum(tmp128, (0, 1, 2, 3), t2.abab, (4, 5, 6, 2), (4, 0, 5, 6, 1, 3))
+    t3new.abaaba += np.transpose(tmp345, (1, 2, 0, 4, 5, 3))
+    t3new.abaaba += np.transpose(tmp345, (0, 2, 1, 4, 5, 3)) * -1
+    del tmp345
+    tmp407 = einsum(t2.abab, (0, 1, 2, 3), tmp151, (4, 5, 1, 6), (4, 0, 5, 2, 6, 3))
+    t3new.abaaba += np.transpose(tmp407, (0, 2, 1, 3, 5, 4))
+    t3new.abaaba += np.transpose(tmp407, (1, 2, 0, 3, 5, 4)) * -1
+    del tmp407
+    tmp366 = einsum(tmp1, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (0, 4, 2, 5, 6, 3))
+    t3new.abaaba += np.transpose(tmp366, (0, 2, 1, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp366, (0, 2, 1, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp366, (1, 2, 0, 4, 5, 3))
+    t3new.abaaba += np.transpose(tmp366, (1, 2, 0, 4, 5, 3))
+    del tmp366
+    tmp372 = einsum(t1.aa, (0, 1), tmp371, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6))
+    del tmp371
+    t3new.abaaba += np.transpose(tmp372, (1, 2, 0, 3, 5, 4))
+    t3new.abaaba += np.transpose(tmp372, (0, 2, 1, 3, 5, 4)) * -1
+    del tmp372
+    tmp399 = einsum(t2.abab, (0, 1, 2, 3), tmp113, (4, 5, 0, 6), (4, 5, 1, 2, 6, 3))
+    t3new.abaaba += np.transpose(tmp399, (1, 2, 0, 3, 5, 4))
+    t3new.abaaba += np.transpose(tmp399, (0, 2, 1, 3, 5, 4)) * -1
+    t3new.abaaba += np.transpose(tmp399, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp399, (0, 2, 1, 4, 5, 3))
+    del tmp399
+    tmp327 = einsum(t2.abab, (0, 1, 2, 3), tmp137, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3)) * -1
+    tmp327 += einsum(t1.bb, (0, 1), tmp326, (2, 3, 4, 5, 0, 6), (2, 3, 4, 5, 6, 1)) * -2
+    del tmp326
+    t3new.abaaba += einsum(tmp327, (0, 1, 2, 3, 4, 5), t1.aa, (2, 6), (1, 3, 0, 4, 5, 6))
+    del tmp327
+    tmp362 = einsum(tmp361, (0, 1, 2, 3, 4, 5), t1.aa, (1, 6), (0, 2, 3, 6, 4, 5))
+    del tmp361
+    t3new.abaaba += np.transpose(tmp362, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp362, (1, 2, 0, 3, 5, 4))
+    t3new.abaaba += np.transpose(tmp362, (0, 2, 1, 4, 5, 3))
+    t3new.abaaba += np.transpose(tmp362, (0, 2, 1, 3, 5, 4)) * -1
+    del tmp362
+    tmp397 = np.copy(tmp151) * -1
+    tmp397 += tmp396
+    t3new.abaaba += einsum(tmp397, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (4, 1, 0, 3, 6, 5)) * -1
+    del tmp397
+    tmp337 = einsum(t2.aaaa, (0, 1, 2, 3), tmp336, (1, 4, 5, 6), (4, 0, 5, 2, 3, 6)) * -1
+    del tmp336
+    t3new.abaaba += np.transpose(tmp337, (0, 2, 1, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp337, (0, 2, 1, 4, 5, 3)) * -1
+    del tmp337
+    tmp343 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 5, 6), (4, 5, 1, 2, 6, 3))
+    t3new.abaaba += np.transpose(tmp343, (1, 2, 0, 3, 5, 4))
+    t3new.abaaba += np.transpose(tmp343, (0, 2, 1, 3, 5, 4)) * -1
+    t3new.abaaba += np.transpose(tmp343, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp343, (0, 2, 1, 4, 5, 3))
+    del tmp343
+    tmp409 = einsum(t1.bb, (0, 1), tmp408, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1))
+    del tmp408
+    t3new.abaaba += np.transpose(tmp409, (0, 2, 1, 3, 5, 4))
+    t3new.abaaba += np.transpose(tmp409, (1, 2, 0, 3, 5, 4)) * -1
+    del tmp409
+    tmp309 = einsum(f.aa.oo, (0, 1), t3.abaaba, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 6, 5))
+    t3new.abaaba += np.transpose(tmp309, (0, 2, 1, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp309, (0, 2, 1, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp309, (1, 2, 0, 4, 5, 3))
+    t3new.abaaba += np.transpose(tmp309, (1, 2, 0, 4, 5, 3))
+    del tmp309
+    tmp353 = einsum(t2.abab, (0, 1, 2, 3), tmp2, (4, 5, 0, 6), (4, 5, 1, 2, 6, 3))
+    t3new.abaaba += np.transpose(tmp353, (1, 2, 0, 3, 5, 4))
+    t3new.abaaba += np.transpose(tmp353, (0, 2, 1, 3, 5, 4)) * -1
+    t3new.abaaba += np.transpose(tmp353, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp353, (0, 2, 1, 4, 5, 3))
+    del tmp353
+    tmp328 = einsum(t2.abab, (0, 1, 2, 3), tmp140, (4, 5, 6, 1), (4, 0, 5, 6, 2, 3))
+    tmp328 += tmp322
+    del tmp322
+    t3new.abaaba += einsum(t1.aa, (0, 1), tmp328, (2, 3, 0, 4, 5, 6), (2, 4, 3, 5, 6, 1)) * -1
+    del tmp328
+    tmp411 = einsum(tmp396, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (0, 4, 1, 3, 5, 6))
+    t3new.abaaba += np.transpose(tmp411, (0, 2, 1, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp411, (1, 2, 0, 4, 5, 3))
+    del tmp411
+    tmp376 = einsum(t2.abab, (0, 1, 2, 3), tmp139, (4, 5, 1, 6), (4, 0, 5, 2, 6, 3))
+    del tmp139
+    t3new.abaaba += np.transpose(tmp376, (0, 2, 1, 3, 5, 4))
+    t3new.abaaba += np.transpose(tmp376, (1, 2, 0, 3, 5, 4)) * -1
+    del tmp376
+    tmp405 = einsum(t1.aa, (0, 1), tmp404, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6))
+    del tmp404
+    t3new.abaaba += np.transpose(tmp405, (0, 2, 1, 3, 5, 4)) * -1
+    t3new.abaaba += np.transpose(tmp405, (1, 2, 0, 3, 5, 4))
+    del tmp405
+    tmp315 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.oooo, (4, 5, 6, 1), (0, 4, 5, 6, 2, 3)) * -1
+    tmp315 += einsum(t1.bb, (0, 1), tmp314, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1)) * -2
+    del tmp314
+    t3new.abaaba += einsum(tmp315, (0, 1, 2, 3, 4, 5), t1.aa, (2, 6), (1, 3, 0, 4, 5, 6))
+    del tmp315
+    tmp348 = np.copy(np.transpose(v.aabb.vvov, (2, 0, 1, 3)))
+    tmp348 += np.transpose(tmp50, (0, 2, 1, 3)) * -1
+    del tmp50
+    t3new.abaaba += einsum(t2.aaaa, (0, 1, 2, 3), tmp348, (4, 3, 5, 6), (0, 4, 1, 2, 6, 5)) * 2
+    del tmp348
+    tmp312 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.oooo, (4, 5, 6, 0), (4, 5, 6, 1, 2, 3))
+    tmp312 += np.transpose(tmp311, (0, 2, 1, 3, 4, 5)) * -1
+    del tmp311
+    t3new.abaaba += einsum(t1.aa, (0, 1), tmp312, (2, 0, 3, 4, 5, 6), (2, 4, 3, 5, 6, 1)) * -1
+    del tmp312
+    tmp395 = einsum(tmp394, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (0, 4, 2, 5, 6, 3))
+    del tmp394
+    t3new.abaaba += np.transpose(tmp395, (0, 2, 1, 4, 5, 3))
+    t3new.abaaba += np.transpose(tmp395, (0, 2, 1, 4, 5, 3))
+    t3new.abaaba += np.transpose(tmp395, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp395, (1, 2, 0, 4, 5, 3)) * -1
+    del tmp395
+    tmp390 = np.copy(np.transpose(tmp152, (0, 2, 1, 3)))
+    tmp390 += einsum(tmp141, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3)) * -1
+    del tmp141
+    t3new.abaaba += einsum(t2.aaaa, (0, 1, 2, 3), tmp390, (4, 3, 5, 6), (0, 4, 1, 2, 6, 5)) * 2
+    del tmp390
+    tmp352 = einsum(tmp21, (0, 1, 2, 3), t2.abab, (4, 2, 5, 6), (4, 0, 1, 5, 3, 6))
+    t3new.abaaba += np.transpose(tmp352, (1, 2, 0, 3, 5, 4))
+    t3new.abaaba += np.transpose(tmp352, (0, 2, 1, 3, 5, 4)) * -1
+    t3new.abaaba += np.transpose(tmp352, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp352, (0, 2, 1, 4, 5, 3))
+    del tmp352
+    tmp334 = einsum(t2.abab, (0, 1, 2, 3), tmp330, (4, 1, 5, 6), (4, 0, 5, 6, 2, 3))
+    t3new.abaaba += np.transpose(tmp334, (0, 2, 1, 4, 5, 3))
+    t3new.abaaba += np.transpose(tmp334, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp334, (0, 2, 1, 3, 5, 4)) * -1
+    del tmp334
+    tmp403 = np.copy(tmp151)
+    del tmp151
+    tmp403 += tmp396 * -1
+    del tmp396
+    t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp403, (4, 5, 1, 6), (4, 5, 0, 6, 3, 2)) * -1
+    del tmp403
+    tmp346 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 3, 6), (4, 0, 5, 1, 2, 6))
+    t3new.abaaba += np.transpose(tmp346, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp346, (0, 2, 1, 4, 5, 3))
+    del tmp346
+    tmp402 = einsum(t2.aaaa, (0, 1, 2, 3), tmp401, (4, 1, 5, 6), (4, 0, 5, 2, 3, 6)) * -1
+    del tmp401
+    t3new.abaaba += np.transpose(tmp402, (0, 2, 1, 4, 5, 3))
+    t3new.abaaba += np.transpose(tmp402, (0, 2, 1, 4, 5, 3))
+    t3new.abaaba += np.transpose(tmp402, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp402, (1, 2, 0, 4, 5, 3)) * -1
+    del tmp402
+    tmp398 = einsum(t2.abab, (0, 1, 2, 3), tmp109, (4, 5, 0, 6), (5, 4, 1, 6, 2, 3))
+    t3new.abaaba += np.transpose(tmp398, (1, 2, 0, 4, 5, 3))
+    t3new.abaaba += np.transpose(tmp398, (0, 2, 1, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp398, (1, 2, 0, 3, 5, 4)) * -1
+    t3new.abaaba += np.transpose(tmp398, (0, 2, 1, 3, 5, 4))
+    del tmp398
+    tmp386 = einsum(t1.aa, (0, 1), tmp385, (2, 0, 3, 4, 5, 6), (2, 3, 4, 5, 1, 6)) * -1
+    del tmp385
+    t3new.abaaba += np.transpose(tmp386, (0, 2, 1, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp386, (1, 2, 0, 4, 5, 3))
+    t3new.abaaba += np.transpose(tmp386, (0, 2, 1, 3, 5, 4))
+    t3new.abaaba += np.transpose(tmp386, (1, 2, 0, 3, 5, 4)) * -1
+    del tmp386
+    tmp369 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 1), (4, 5, 0, 2, 6, 3))
+    t3new.abaaba += einsum(t1.aa, (0, 1), tmp369, (2, 3, 0, 4, 5, 6), (2, 4, 3, 1, 6, 5)) * 2
+    del tmp369
+    tmp313 = einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), f.bb.oo, (6, 1), (0, 2, 6, 3, 5, 4))
+    t3new.abaaba += np.transpose(tmp313, (0, 2, 1, 4, 5, 3))
+    t3new.abaaba += np.transpose(tmp313, (0, 2, 1, 4, 5, 3))
+    del tmp313
+    tmp347 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 6, 3), (4, 0, 5, 6, 1, 2))
+    t3new.abaaba += np.transpose(tmp347, (1, 2, 0, 3, 5, 4)) * -1
+    t3new.abaaba += np.transpose(tmp347, (0, 2, 1, 3, 5, 4))
+    del tmp347
+    tmp331 = np.copy(np.transpose(tmp329, (0, 2, 1, 3)))
+    del tmp329
+    tmp331 += tmp330 * -1
+    del tmp330
+    t3new.abaaba += einsum(tmp331, (0, 1, 2, 3), t2.abab, (4, 1, 5, 6), (4, 2, 0, 3, 6, 5)) * -1
+    del tmp331
+    tmp391 = np.copy(np.transpose(tmp377, (0, 1, 3, 2)))
+    tmp391 += np.transpose(tmp388, (0, 1, 3, 2)) * -1
+    t3new.abaaba += einsum(t2.abab, (0, 1, 2, 3), tmp391, (4, 5, 3, 6), (4, 1, 0, 2, 6, 5)) * -1
+    del tmp391
+    tmp350 = einsum(tmp335, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (4, 0, 2, 5, 6, 3))
+    del tmp335
+    t3new.abaaba += np.transpose(tmp350, (0, 2, 1, 4, 5, 3)) * -1
+    t3new.abaaba += np.transpose(tmp350, (0, 2, 1, 4, 5, 3)) * -1
+    del tmp350
+    tmp339 = einsum(t1.bb, (0, 1), tmp338, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1))
+    del tmp338
+    t3new.abaaba += np.transpose(tmp339, (0, 2, 1, 3, 5, 4)) * -1
+    t3new.abaaba += np.transpose(tmp339, (1, 2, 0, 3, 5, 4))
+    del tmp339
+    tmp389 = np.copy(np.transpose(tmp377, (0, 1, 3, 2))) * -1
+    del tmp377
+    tmp389 += np.transpose(tmp388, (0, 1, 3, 2))
+    del tmp388
+    t3new.abaaba += einsum(tmp389, (0, 1, 2, 3), t2.abab, (4, 5, 6, 2), (4, 5, 0, 6, 3, 1)) * -1
+    del tmp389
+    tmp381 = np.copy(np.transpose(tmp152, (0, 2, 1, 3)))
+    tmp381 += einsum(t1.bb, (0, 1), tmp380, (2, 0, 3, 4), (2, 4, 3, 1)) * -1
+    del tmp380
+    t3new.abaaba += einsum(t2.aaaa, (0, 1, 2, 3), tmp381, (4, 3, 5, 6), (0, 4, 1, 5, 6, 2)) * -2
+    del tmp381
+    tmp341 = einsum(t2.aaaa, (0, 1, 2, 3), tmp340, (4, 5, 3, 6), (0, 1, 5, 4, 2, 6))
+    del tmp340
+    t3new.abaaba += einsum(t1.bb, (0, 1), tmp341, (2, 3, 0, 4, 5, 6), (2, 4, 3, 6, 1, 5)) * 2
+    del tmp341
+    tmp374 = einsum(t1.bb, (0, 1), tmp373, (2, 3, 4, 0, 5, 6), (2, 3, 4, 5, 6, 1))
+    del tmp373
+    t3new.abaaba += np.transpose(tmp374, (1, 2, 0, 3, 5, 4))
+    t3new.abaaba += np.transpose(tmp374, (0, 2, 1, 3, 5, 4)) * -1
+    del tmp374
+    tmp299 = einsum(tmp111, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 2), (0, 4, 5, 6, 3, 1))
+    t3new.aaaaaa = np.copy(np.transpose(tmp299, (0, 2, 1, 3, 5, 4))) * -2
+    t3new.aaaaaa += np.transpose(tmp299, (0, 2, 1, 3, 4, 5)) * 2
+    t3new.aaaaaa += np.transpose(tmp299, (1, 0, 2, 3, 5, 4)) * -2
+    t3new.aaaaaa += np.transpose(tmp299, (1, 0, 2, 3, 4, 5)) * 2
+    t3new.aaaaaa += np.transpose(tmp299, (1, 2, 0, 3, 5, 4)) * 2
+    t3new.aaaaaa += np.transpose(tmp299, (1, 2, 0, 3, 4, 5)) * -2
+    t3new.aaaaaa += np.transpose(tmp299, (0, 2, 1, 5, 3, 4)) * 2
+    t3new.aaaaaa += np.transpose(tmp299, (0, 2, 1, 4, 3, 5)) * -2
+    t3new.aaaaaa += np.transpose(tmp299, (0, 2, 1, 5, 4, 3)) * -2
+    t3new.aaaaaa += np.transpose(tmp299, (0, 2, 1, 4, 5, 3)) * 2
+    t3new.aaaaaa += np.transpose(tmp299, (1, 0, 2, 5, 3, 4)) * 2
+    t3new.aaaaaa += np.transpose(tmp299, (1, 0, 2, 4, 3, 5)) * -2
+    t3new.aaaaaa += np.transpose(tmp299, (1, 2, 0, 5, 3, 4)) * -2
+    t3new.aaaaaa += np.transpose(tmp299, (1, 2, 0, 4, 3, 5)) * 2
+    t3new.aaaaaa += np.transpose(tmp299, (1, 0, 2, 5, 4, 3)) * -2
+    t3new.aaaaaa += np.transpose(tmp299, (1, 0, 2, 4, 5, 3)) * 2
+    t3new.aaaaaa += np.transpose(tmp299, (1, 2, 0, 5, 4, 3)) * 2
+    t3new.aaaaaa += np.transpose(tmp299, (1, 2, 0, 4, 5, 3)) * -2
+    del tmp299
+    tmp261 = einsum(f.aa.vv, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 1), (2, 3, 4, 0, 5, 6))
+    t3new.aaaaaa += np.transpose(tmp261, (0, 1, 2, 5, 4, 3)) * -3
+    t3new.aaaaaa += np.transpose(tmp261, (0, 1, 2, 5, 4, 3)) * -3
+    del tmp261
+    tmp303 = einsum(tmp302, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    del tmp302
+    t3new.aaaaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp303, (4, 5, 1, 6), (0, 5, 4, 2, 3, 6))
+    del tmp303
+    tmp287 = einsum(t2.aaaa, (0, 1, 2, 3), tmp2, (4, 5, 1, 6), (4, 0, 5, 2, 3, 6))
+    t3new.aaaaaa += np.transpose(tmp287, (2, 0, 1, 4, 3, 5)) * -1
+    t3new.aaaaaa += np.transpose(tmp287, (2, 0, 1, 4, 3, 5)) * -1
+    t3new.aaaaaa += np.transpose(tmp287, (2, 1, 0, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp287, (2, 1, 0, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp287, (0, 2, 1, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp287, (0, 2, 1, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp287, (1, 2, 0, 4, 3, 5)) * -1
+    t3new.aaaaaa += np.transpose(tmp287, (1, 2, 0, 4, 3, 5)) * -1
+    t3new.aaaaaa += np.transpose(tmp287, (0, 1, 2, 4, 3, 5)) * -1
+    t3new.aaaaaa += np.transpose(tmp287, (0, 1, 2, 4, 3, 5)) * -1
+    t3new.aaaaaa += np.transpose(tmp287, (1, 0, 2, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp287, (1, 0, 2, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp287, (2, 0, 1, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp287, (2, 0, 1, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp287, (2, 1, 0, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp287, (2, 1, 0, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp287, (2, 0, 1, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp287, (2, 0, 1, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp287, (2, 1, 0, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp287, (2, 1, 0, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp287, (0, 2, 1, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp287, (0, 2, 1, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp287, (1, 2, 0, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp287, (1, 2, 0, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp287, (0, 2, 1, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp287, (0, 2, 1, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp287, (1, 2, 0, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp287, (1, 2, 0, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp287, (0, 1, 2, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp287, (0, 1, 2, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp287, (1, 0, 2, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp287, (1, 0, 2, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp287, (0, 1, 2, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp287, (0, 1, 2, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp287, (1, 0, 2, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp287, (1, 0, 2, 5, 4, 3))
+    del tmp287
+    tmp284 = einsum(tmp283, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 3), (0, 4, 5, 1, 2, 6)) * -1
+    del tmp283
+    t3new.aaaaaa += np.transpose(tmp284, (2, 0, 1, 5, 4, 3)) * -2
+    t3new.aaaaaa += np.transpose(tmp284, (2, 0, 1, 4, 5, 3)) * 2
+    t3new.aaaaaa += np.transpose(tmp284, (2, 0, 1, 4, 3, 5)) * -2
+    del tmp284
+    tmp291 = einsum(tmp290, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (0, 2, 4, 3, 5, 6)) * -1
+    del tmp290
+    t3new.aaaaaa += np.transpose(tmp291, (0, 1, 2, 5, 3, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp291, (0, 1, 2, 5, 3, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp291, (0, 1, 2, 3, 5, 4))
+    t3new.aaaaaa += np.transpose(tmp291, (0, 1, 2, 3, 5, 4))
+    t3new.aaaaaa += np.transpose(tmp291, (0, 2, 1, 5, 3, 4))
+    t3new.aaaaaa += np.transpose(tmp291, (0, 2, 1, 5, 3, 4))
+    t3new.aaaaaa += np.transpose(tmp291, (2, 0, 1, 5, 3, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp291, (2, 0, 1, 5, 3, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp291, (0, 2, 1, 3, 5, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp291, (0, 2, 1, 3, 5, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp291, (2, 0, 1, 3, 5, 4))
+    t3new.aaaaaa += np.transpose(tmp291, (2, 0, 1, 3, 5, 4))
+    del tmp291
+    tmp293 = np.copy(np.transpose(tmp62, (0, 2, 1, 3)))
+    tmp293 += einsum(tmp292, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    del tmp292
+    t3new.aaaaaa += einsum(tmp293, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 6), (4, 1, 0, 3, 5, 6)) * -1
+    del tmp293
+    tmp282 = einsum(tmp281, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 2), (0, 4, 5, 1, 3, 6)) * -2
+    del tmp281
+    t3new.aaaaaa += np.transpose(tmp282, (0, 2, 1, 3, 4, 5)) * -1
+    t3new.aaaaaa += np.transpose(tmp282, (2, 1, 0, 3, 4, 5)) * -1
+    del tmp282
+    tmp308 = einsum(tmp307, (0, 1, 2, 3, 4, 5), t1.aa, (1, 6), (0, 3, 2, 5, 4, 6)) * -2
+    del tmp307
+    t3new.aaaaaa += np.transpose(tmp308, (0, 2, 1, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp308, (1, 2, 0, 5, 4, 3))
+    del tmp308
+    tmp304 = einsum(t2.aaaa, (0, 1, 2, 3), tmp109, (4, 5, 1, 6), (5, 4, 0, 6, 2, 3))
+    t3new.aaaaaa += np.transpose(tmp304, (1, 0, 2, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp304, (0, 1, 2, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp304, (1, 0, 2, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp304, (0, 1, 2, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp304, (1, 2, 0, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp304, (0, 2, 1, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp304, (1, 2, 0, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp304, (0, 2, 1, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp304, (2, 1, 0, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp304, (2, 0, 1, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp304, (2, 1, 0, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp304, (2, 0, 1, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp304, (1, 0, 2, 5, 3, 4))
+    t3new.aaaaaa += np.transpose(tmp304, (0, 1, 2, 5, 3, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp304, (1, 0, 2, 5, 3, 4))
+    t3new.aaaaaa += np.transpose(tmp304, (0, 1, 2, 5, 3, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp304, (1, 0, 2, 3, 5, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp304, (0, 1, 2, 3, 5, 4))
+    t3new.aaaaaa += np.transpose(tmp304, (1, 0, 2, 3, 5, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp304, (0, 1, 2, 3, 5, 4))
+    t3new.aaaaaa += np.transpose(tmp304, (1, 2, 0, 5, 3, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp304, (0, 2, 1, 5, 3, 4))
+    t3new.aaaaaa += np.transpose(tmp304, (1, 2, 0, 5, 3, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp304, (0, 2, 1, 5, 3, 4))
+    t3new.aaaaaa += np.transpose(tmp304, (2, 1, 0, 5, 3, 4))
+    t3new.aaaaaa += np.transpose(tmp304, (2, 0, 1, 5, 3, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp304, (2, 1, 0, 5, 3, 4))
+    t3new.aaaaaa += np.transpose(tmp304, (2, 0, 1, 5, 3, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp304, (1, 2, 0, 3, 5, 4))
+    t3new.aaaaaa += np.transpose(tmp304, (0, 2, 1, 3, 5, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp304, (1, 2, 0, 3, 5, 4))
+    t3new.aaaaaa += np.transpose(tmp304, (0, 2, 1, 3, 5, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp304, (2, 1, 0, 3, 5, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp304, (2, 0, 1, 3, 5, 4))
+    t3new.aaaaaa += np.transpose(tmp304, (2, 1, 0, 3, 5, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp304, (2, 0, 1, 3, 5, 4))
+    del tmp304
+    tmp297 = einsum(tmp296, (0, 1, 2, 3, 4, 5), t1.aa, (3, 6), (0, 1, 2, 6, 4, 5))
+    del tmp296
+    t3new.aaaaaa += np.transpose(tmp297, (2, 1, 0, 4, 3, 5)) * 2
+    t3new.aaaaaa += np.transpose(tmp297, (2, 1, 0, 3, 4, 5)) * -2
+    t3new.aaaaaa += np.transpose(tmp297, (0, 2, 1, 4, 3, 5)) * 2
+    t3new.aaaaaa += np.transpose(tmp297, (0, 1, 2, 4, 3, 5)) * -2
+    t3new.aaaaaa += np.transpose(tmp297, (0, 2, 1, 3, 4, 5)) * -2
+    t3new.aaaaaa += tmp297 * 2
+    t3new.aaaaaa += np.transpose(tmp297, (2, 1, 0, 3, 5, 4)) * 2
+    t3new.aaaaaa += np.transpose(tmp297, (0, 2, 1, 3, 5, 4)) * 2
+    t3new.aaaaaa += np.transpose(tmp297, (0, 1, 2, 3, 5, 4)) * -2
+    del tmp297
+    tmp266 = einsum(tmp265, (0, 1, 2, 3, 4, 5), t1.aa, (3, 6), (0, 1, 2, 6, 4, 5))
+    del tmp265
+    t3new.aaaaaa += np.transpose(tmp266, (0, 2, 1, 4, 5, 3)) * 2
+    t3new.aaaaaa += np.transpose(tmp266, (0, 2, 1, 3, 5, 4)) * -2
+    t3new.aaaaaa += np.transpose(tmp266, (0, 2, 1, 4, 3, 5)) * -2
+    t3new.aaaaaa += np.transpose(tmp266, (0, 2, 1, 3, 4, 5)) * 2
+    t3new.aaaaaa += np.transpose(tmp266, (1, 0, 2, 4, 5, 3)) * 2
+    t3new.aaaaaa += np.transpose(tmp266, (1, 0, 2, 3, 5, 4)) * -2
+    t3new.aaaaaa += np.transpose(tmp266, (1, 2, 0, 4, 5, 3)) * -2
+    t3new.aaaaaa += np.transpose(tmp266, (1, 2, 0, 3, 5, 4)) * 2
+    t3new.aaaaaa += np.transpose(tmp266, (1, 0, 2, 4, 3, 5)) * -2
+    t3new.aaaaaa += np.transpose(tmp266, (1, 0, 2, 3, 4, 5)) * 2
+    t3new.aaaaaa += np.transpose(tmp266, (1, 2, 0, 4, 3, 5)) * 2
+    t3new.aaaaaa += np.transpose(tmp266, (1, 2, 0, 3, 4, 5)) * -2
+    t3new.aaaaaa += np.transpose(tmp266, (0, 2, 1, 5, 4, 3)) * -2
+    t3new.aaaaaa += np.transpose(tmp266, (0, 2, 1, 5, 3, 4)) * 2
+    t3new.aaaaaa += np.transpose(tmp266, (1, 0, 2, 5, 4, 3)) * -2
+    t3new.aaaaaa += np.transpose(tmp266, (1, 0, 2, 5, 3, 4)) * 2
+    t3new.aaaaaa += np.transpose(tmp266, (1, 2, 0, 5, 4, 3)) * 2
+    t3new.aaaaaa += np.transpose(tmp266, (1, 2, 0, 5, 3, 4)) * -2
+    del tmp266
+    tmp279 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (4, 0, 2, 5, 6, 3))
+    t3new.aaaaaa += np.transpose(tmp279, (2, 1, 0, 4, 3, 5)) * -1
+    t3new.aaaaaa += np.transpose(tmp279, (2, 1, 0, 4, 3, 5)) * -1
+    t3new.aaaaaa += np.transpose(tmp279, (1, 2, 0, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp279, (1, 2, 0, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp279, (2, 0, 1, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp279, (2, 0, 1, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp279, (1, 0, 2, 4, 3, 5)) * -1
+    t3new.aaaaaa += np.transpose(tmp279, (1, 0, 2, 4, 3, 5)) * -1
+    t3new.aaaaaa += np.transpose(tmp279, (0, 2, 1, 4, 3, 5)) * -1
+    t3new.aaaaaa += np.transpose(tmp279, (0, 2, 1, 4, 3, 5)) * -1
+    t3new.aaaaaa += np.transpose(tmp279, (0, 1, 2, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp279, (0, 1, 2, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp279, (2, 1, 0, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp279, (2, 1, 0, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp279, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp279, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp279, (2, 1, 0, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp279, (2, 1, 0, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp279, (1, 2, 0, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp279, (1, 2, 0, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp279, (2, 0, 1, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp279, (2, 0, 1, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp279, (1, 0, 2, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp279, (1, 0, 2, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp279, (0, 2, 1, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp279, (0, 2, 1, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp279, (0, 1, 2, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp279, (0, 1, 2, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp279, (2, 0, 1, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp279, (2, 0, 1, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp279, (1, 0, 2, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp279, (1, 0, 2, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp279, (0, 2, 1, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp279, (0, 2, 1, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp279, (0, 1, 2, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp279, (0, 1, 2, 5, 4, 3))
+    del tmp279
+    tmp260 = einsum(tmp259, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6))
+    del tmp259
+    t3new.aaaaaa += np.transpose(tmp260, (1, 2, 0, 4, 3, 5)) * -3
+    t3new.aaaaaa += np.transpose(tmp260, (1, 2, 0, 4, 3, 5)) * -3
+    del tmp260
+    tmp278 = einsum(t1.aa, (0, 1), tmp277, (2, 3, 0, 4, 5, 6), (2, 3, 4, 1, 5, 6))
+    del tmp277
+    t3new.aaaaaa += np.transpose(tmp278, (2, 1, 0, 4, 3, 5)) * -2
+    t3new.aaaaaa += np.transpose(tmp278, (2, 1, 0, 3, 4, 5)) * 2
+    t3new.aaaaaa += np.transpose(tmp278, (0, 2, 1, 4, 3, 5)) * -2
+    t3new.aaaaaa += np.transpose(tmp278, (0, 1, 2, 4, 3, 5)) * 2
+    t3new.aaaaaa += np.transpose(tmp278, (0, 2, 1, 3, 4, 5)) * 2
+    t3new.aaaaaa += tmp278 * -2
+    t3new.aaaaaa += np.transpose(tmp278, (2, 1, 0, 4, 5, 3)) * 2
+    t3new.aaaaaa += np.transpose(tmp278, (0, 2, 1, 4, 5, 3)) * 2
+    t3new.aaaaaa += np.transpose(tmp278, (0, 1, 2, 4, 5, 3)) * -2
+    t3new.aaaaaa += np.transpose(tmp278, (2, 1, 0, 5, 4, 3)) * -2
+    t3new.aaaaaa += np.transpose(tmp278, (0, 2, 1, 5, 4, 3)) * -2
+    t3new.aaaaaa += np.transpose(tmp278, (0, 1, 2, 5, 4, 3)) * 2
+    t3new.aaaaaa += np.transpose(tmp278, (0, 1, 2, 3, 5, 4)) * 2
+    t3new.aaaaaa += np.transpose(tmp278, (0, 1, 2, 5, 3, 4)) * -2
+    t3new.aaaaaa += np.transpose(tmp278, (0, 2, 1, 3, 5, 4)) * -2
+    t3new.aaaaaa += np.transpose(tmp278, (0, 2, 1, 5, 3, 4)) * 2
+    t3new.aaaaaa += np.transpose(tmp278, (2, 1, 0, 3, 5, 4)) * -2
+    t3new.aaaaaa += np.transpose(tmp278, (2, 1, 0, 5, 3, 4)) * 2
+    del tmp278
+    tmp270 = einsum(t2.aaaa, (0, 1, 2, 3), tmp268, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp270, (0, 2, 1, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp270, (0, 2, 1, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp270, (2, 0, 1, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp270, (2, 0, 1, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp270, (0, 1, 2, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp270, (0, 1, 2, 5, 4, 3)) * -1
+    del tmp270
+    tmp263 = einsum(tmp262, (0, 1), t3.aaaaaa, (2, 3, 0, 4, 5, 6), (1, 2, 3, 4, 5, 6))
+    del tmp262
+    t3new.aaaaaa += np.transpose(tmp263, (0, 2, 1, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp263, (0, 2, 1, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp263, (0, 2, 1, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp263, (0, 2, 1, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp263, (0, 2, 1, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp263, (0, 2, 1, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp263, (1, 0, 2, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp263, (1, 0, 2, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp263, (1, 0, 2, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp263, (1, 0, 2, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp263, (1, 0, 2, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp263, (1, 0, 2, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp263, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp263, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp263, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp263, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp263, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp263, (1, 2, 0, 4, 5, 3)) * -1
+    del tmp263
+    tmp298 = einsum(t2.aaaa, (0, 1, 2, 3), tmp62, (4, 5, 1, 6), (4, 0, 5, 2, 3, 6))
+    t3new.aaaaaa += np.transpose(tmp298, (2, 0, 1, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp298, (2, 0, 1, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp298, (2, 1, 0, 4, 3, 5)) * -1
+    t3new.aaaaaa += np.transpose(tmp298, (2, 1, 0, 4, 3, 5)) * -1
+    t3new.aaaaaa += np.transpose(tmp298, (0, 2, 1, 4, 3, 5)) * -1
+    t3new.aaaaaa += np.transpose(tmp298, (0, 2, 1, 4, 3, 5)) * -1
+    t3new.aaaaaa += np.transpose(tmp298, (1, 2, 0, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp298, (1, 2, 0, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp298, (0, 1, 2, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp298, (0, 1, 2, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp298, (1, 0, 2, 4, 3, 5)) * -1
+    t3new.aaaaaa += np.transpose(tmp298, (1, 0, 2, 4, 3, 5)) * -1
+    del tmp298
+    tmp269 = einsum(t2.aaaa, (0, 1, 2, 3), tmp268, (4, 5, 1, 6), (4, 5, 0, 6, 2, 3)) * -1
+    del tmp268
+    t3new.aaaaaa += np.transpose(tmp269, (2, 1, 0, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp269, (1, 0, 2, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp269, (1, 0, 2, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp269, (1, 2, 0, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp269, (1, 2, 0, 5, 4, 3)) * -1
+    del tmp269
+    tmp276 = einsum(t2.aaaa, (0, 1, 2, 3), tmp271, (1, 4, 5, 6), (5, 4, 0, 6, 2, 3)) * -1
+    del tmp271
+    t3new.aaaaaa += np.transpose(tmp276, (0, 1, 2, 5, 4, 3)) * -2
+    t3new.aaaaaa += np.transpose(tmp276, (0, 1, 2, 5, 4, 3)) * -2
+    t3new.aaaaaa += np.transpose(tmp276, (0, 2, 1, 5, 4, 3)) * 2
+    t3new.aaaaaa += np.transpose(tmp276, (0, 2, 1, 5, 4, 3)) * 2
+    t3new.aaaaaa += np.transpose(tmp276, (2, 1, 0, 5, 4, 3)) * 2
+    t3new.aaaaaa += np.transpose(tmp276, (2, 1, 0, 5, 4, 3)) * 2
+    del tmp276
+    tmp301 = einsum(t1.aa, (0, 1), tmp300, (2, 0, 3, 4, 5, 6), (2, 4, 3, 6, 5, 1)) * -1
+    del tmp300
+    t3new.aaaaaa += np.transpose(tmp301, (0, 2, 1, 3, 5, 4)) * -2
+    t3new.aaaaaa += np.transpose(tmp301, (0, 2, 1, 5, 3, 4)) * 2
+    t3new.aaaaaa += np.transpose(tmp301, (1, 0, 2, 3, 5, 4)) * -2
+    t3new.aaaaaa += np.transpose(tmp301, (1, 2, 0, 3, 5, 4)) * 2
+    t3new.aaaaaa += np.transpose(tmp301, (1, 0, 2, 5, 3, 4)) * 2
+    t3new.aaaaaa += np.transpose(tmp301, (1, 2, 0, 5, 3, 4)) * -2
+    t3new.aaaaaa += np.transpose(tmp301, (1, 0, 2, 5, 4, 3)) * -2
+    t3new.aaaaaa += np.transpose(tmp301, (0, 2, 1, 3, 4, 5)) * 2
+    t3new.aaaaaa += np.transpose(tmp301, (1, 0, 2, 3, 4, 5)) * 2
+    t3new.aaaaaa += np.transpose(tmp301, (1, 2, 0, 3, 4, 5)) * -2
+    t3new.aaaaaa += np.transpose(tmp301, (0, 2, 1, 4, 3, 5)) * -2
+    t3new.aaaaaa += np.transpose(tmp301, (0, 2, 1, 4, 5, 3)) * 2
+    t3new.aaaaaa += np.transpose(tmp301, (1, 0, 2, 4, 3, 5)) * -2
+    t3new.aaaaaa += np.transpose(tmp301, (1, 2, 0, 4, 3, 5)) * 2
+    t3new.aaaaaa += np.transpose(tmp301, (1, 0, 2, 4, 5, 3)) * 2
+    t3new.aaaaaa += np.transpose(tmp301, (1, 2, 0, 4, 5, 3)) * -2
+    del tmp301
+    tmp255 = einsum(t1.aa, (0, 1), tmp254, (2, 0, 3, 4, 5, 6), (2, 3, 4, 5, 6, 1))
+    del tmp254
+    t3new.aaaaaa += np.transpose(tmp255, (2, 1, 0, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp255, (2, 1, 0, 4, 3, 5))
+    del tmp255
+    tmp295 = einsum(tmp294, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 6), (0, 1, 4, 3, 5, 6)) * -1
+    del tmp294
+    t3new.aaaaaa += np.transpose(tmp295, (1, 0, 2, 5, 3, 4))
+    t3new.aaaaaa += np.transpose(tmp295, (1, 0, 2, 5, 3, 4))
+    t3new.aaaaaa += np.transpose(tmp295, (1, 2, 0, 5, 3, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp295, (1, 2, 0, 5, 3, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp295, (1, 0, 2, 3, 5, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp295, (1, 0, 2, 3, 5, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp295, (1, 2, 0, 3, 5, 4))
+    t3new.aaaaaa += np.transpose(tmp295, (1, 2, 0, 3, 5, 4))
+    t3new.aaaaaa += np.transpose(tmp295, (2, 1, 0, 5, 3, 4))
+    t3new.aaaaaa += np.transpose(tmp295, (2, 1, 0, 5, 3, 4))
+    t3new.aaaaaa += np.transpose(tmp295, (2, 1, 0, 3, 5, 4)) * -1
+    del tmp295
+    tmp248 = einsum(tmp247, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 6), (4, 2, 0, 3, 5, 6))
+    del tmp247
+    t3new.aaaaaa += np.transpose(tmp248, (1, 2, 0, 5, 3, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp248, (1, 2, 0, 5, 3, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp248, (1, 2, 0, 3, 5, 4))
+    t3new.aaaaaa += np.transpose(tmp248, (1, 2, 0, 3, 5, 4))
+    t3new.aaaaaa += np.transpose(tmp248, (2, 0, 1, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp248, (2, 0, 1, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp248, (0, 1, 2, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp248, (0, 1, 2, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp248, (0, 2, 1, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp248, (0, 2, 1, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp248, (1, 0, 2, 5, 3, 4))
+    t3new.aaaaaa += np.transpose(tmp248, (1, 0, 2, 5, 3, 4))
+    t3new.aaaaaa += np.transpose(tmp248, (0, 1, 2, 5, 3, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp248, (0, 1, 2, 5, 3, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp248, (1, 0, 2, 3, 5, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp248, (1, 0, 2, 3, 5, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp248, (0, 1, 2, 3, 5, 4))
+    t3new.aaaaaa += np.transpose(tmp248, (0, 1, 2, 3, 5, 4))
+    t3new.aaaaaa += np.transpose(tmp248, (1, 2, 0, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp248, (1, 2, 0, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp248, (1, 0, 2, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp248, (1, 0, 2, 5, 4, 3)) * -1
+    del tmp248
+    tmp258 = einsum(tmp257, (0, 1), t3.aaaaaa, (2, 3, 4, 5, 6, 0), (2, 3, 4, 1, 5, 6)) * 3
+    del tmp257
+    t3new.aaaaaa += np.transpose(tmp258, (1, 2, 0, 3, 4, 5))
+    t3new.aaaaaa += np.transpose(tmp258, (1, 2, 0, 3, 4, 5))
+    del tmp258
+    tmp280 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 3), (4, 5, 0, 6, 1, 2))
+    t3new.aaaaaa += np.transpose(tmp280, (2, 1, 0, 3, 5, 4)) * -2
+    t3new.aaaaaa += np.transpose(tmp280, (0, 2, 1, 3, 5, 4)) * -2
+    t3new.aaaaaa += np.transpose(tmp280, (0, 1, 2, 3, 5, 4)) * 2
+    t3new.aaaaaa += np.transpose(tmp280, (2, 1, 0, 5, 3, 4)) * 2
+    t3new.aaaaaa += np.transpose(tmp280, (2, 1, 0, 5, 4, 3)) * -2
+    t3new.aaaaaa += np.transpose(tmp280, (0, 2, 1, 5, 3, 4)) * 2
+    t3new.aaaaaa += np.transpose(tmp280, (0, 1, 2, 5, 3, 4)) * -2
+    t3new.aaaaaa += np.transpose(tmp280, (0, 2, 1, 5, 4, 3)) * -2
+    t3new.aaaaaa += np.transpose(tmp280, (0, 1, 2, 5, 4, 3)) * 2
+    del tmp280
+    tmp251 = einsum(tmp250, (0, 1, 2, 3, 4, 5), t1.aa, (2, 6), (0, 1, 3, 6, 4, 5))
+    del tmp250
+    t3new.aaaaaa += np.transpose(tmp251, (2, 1, 0, 4, 5, 3)) * 2
+    t3new.aaaaaa += np.transpose(tmp251, (2, 1, 0, 3, 5, 4)) * -2
+    t3new.aaaaaa += np.transpose(tmp251, (0, 2, 1, 4, 5, 3)) * 2
+    t3new.aaaaaa += np.transpose(tmp251, (0, 2, 1, 3, 5, 4)) * -2
+    t3new.aaaaaa += np.transpose(tmp251, (0, 1, 2, 4, 5, 3)) * -2
+    t3new.aaaaaa += np.transpose(tmp251, (0, 1, 2, 3, 5, 4)) * 2
+    t3new.aaaaaa += np.transpose(tmp251, (0, 1, 2, 4, 3, 5)) * 2
+    t3new.aaaaaa += tmp251 * -2
+    t3new.aaaaaa += np.transpose(tmp251, (0, 2, 1, 4, 3, 5)) * -2
+    t3new.aaaaaa += np.transpose(tmp251, (0, 2, 1, 3, 4, 5)) * 2
+    t3new.aaaaaa += np.transpose(tmp251, (2, 1, 0, 4, 3, 5)) * -2
+    t3new.aaaaaa += np.transpose(tmp251, (2, 1, 0, 3, 4, 5)) * 2
+    t3new.aaaaaa += np.transpose(tmp251, (2, 1, 0, 5, 4, 3)) * -2
+    t3new.aaaaaa += np.transpose(tmp251, (2, 1, 0, 5, 3, 4)) * 2
+    t3new.aaaaaa += np.transpose(tmp251, (0, 2, 1, 5, 4, 3)) * -2
+    t3new.aaaaaa += np.transpose(tmp251, (0, 2, 1, 5, 3, 4)) * 2
+    t3new.aaaaaa += np.transpose(tmp251, (0, 1, 2, 5, 4, 3)) * 2
+    t3new.aaaaaa += np.transpose(tmp251, (0, 1, 2, 5, 3, 4)) * -2
+    del tmp251
+    tmp275 = einsum(tmp274, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 6), (1, 2, 4, 3, 5, 6)) * -1
+    del tmp274
+    t3new.aaaaaa += np.transpose(tmp275, (0, 1, 2, 5, 3, 4))
+    t3new.aaaaaa += np.transpose(tmp275, (0, 1, 2, 5, 3, 4))
+    t3new.aaaaaa += np.transpose(tmp275, (0, 1, 2, 3, 5, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp275, (0, 2, 1, 5, 3, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp275, (0, 2, 1, 5, 3, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp275, (2, 0, 1, 5, 3, 4))
+    t3new.aaaaaa += np.transpose(tmp275, (2, 0, 1, 5, 3, 4))
+    t3new.aaaaaa += np.transpose(tmp275, (0, 2, 1, 3, 5, 4))
+    t3new.aaaaaa += np.transpose(tmp275, (0, 2, 1, 3, 5, 4))
+    t3new.aaaaaa += np.transpose(tmp275, (2, 0, 1, 3, 5, 4)) * -1
+    del tmp275
+    tmp273 = einsum(tmp272, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 6), (1, 2, 4, 3, 5, 6)) * -1
+    del tmp272
+    t3new.aaaaaa += np.transpose(tmp273, (0, 1, 2, 3, 5, 4)) * -1
+    t3new.aaaaaa += np.transpose(tmp273, (2, 0, 1, 3, 5, 4)) * -1
+    del tmp273
+    tmp246 = einsum(f.aa.oo, (0, 1), t3.aaaaaa, (2, 3, 1, 4, 5, 6), (0, 2, 3, 4, 5, 6))
+    t3new.aaaaaa += np.transpose(tmp246, (0, 2, 1, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp246, (0, 2, 1, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp246, (0, 2, 1, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp246, (0, 2, 1, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp246, (0, 2, 1, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp246, (0, 2, 1, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp246, (1, 0, 2, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp246, (1, 0, 2, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp246, (1, 0, 2, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp246, (1, 0, 2, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp246, (1, 0, 2, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp246, (1, 0, 2, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp246, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp246, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp246, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp246, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp246, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp246, (1, 2, 0, 4, 5, 3)) * -1
+    del tmp246
+    tmp305 = einsum(t2.aaaa, (0, 1, 2, 3), tmp113, (4, 5, 1, 6), (4, 5, 0, 2, 3, 6))
+    t3new.aaaaaa += np.transpose(tmp305, (1, 0, 2, 4, 3, 5)) * -1
+    t3new.aaaaaa += np.transpose(tmp305, (0, 1, 2, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp305, (1, 0, 2, 4, 3, 5)) * -1
+    t3new.aaaaaa += np.transpose(tmp305, (0, 1, 2, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp305, (1, 2, 0, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp305, (0, 2, 1, 4, 3, 5)) * -1
+    t3new.aaaaaa += np.transpose(tmp305, (1, 2, 0, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp305, (0, 2, 1, 4, 3, 5)) * -1
+    t3new.aaaaaa += np.transpose(tmp305, (2, 1, 0, 4, 3, 5)) * -1
+    t3new.aaaaaa += np.transpose(tmp305, (2, 0, 1, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp305, (2, 1, 0, 4, 3, 5)) * -1
+    t3new.aaaaaa += np.transpose(tmp305, (2, 0, 1, 4, 3, 5))
+    t3new.aaaaaa += np.transpose(tmp305, (1, 0, 2, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp305, (0, 1, 2, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp305, (1, 0, 2, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp305, (0, 1, 2, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp305, (1, 0, 2, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp305, (0, 1, 2, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp305, (1, 0, 2, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp305, (0, 1, 2, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp305, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp305, (0, 2, 1, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp305, (1, 2, 0, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp305, (0, 2, 1, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp305, (2, 1, 0, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp305, (2, 0, 1, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp305, (2, 1, 0, 4, 5, 3))
+    t3new.aaaaaa += np.transpose(tmp305, (2, 0, 1, 4, 5, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp305, (1, 2, 0, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp305, (0, 2, 1, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp305, (1, 2, 0, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp305, (0, 2, 1, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp305, (2, 1, 0, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp305, (2, 0, 1, 5, 4, 3))
+    t3new.aaaaaa += np.transpose(tmp305, (2, 1, 0, 5, 4, 3)) * -1
+    t3new.aaaaaa += np.transpose(tmp305, (2, 0, 1, 5, 4, 3))
+    del tmp305
+    tmp286 = einsum(t2.aaaa, (0, 1, 2, 3), tmp285, (4, 5, 3, 6), (4, 0, 1, 5, 6, 2)) * -1
+    del tmp285
+    t3new.aaaaaa += np.transpose(tmp286, (0, 2, 1, 5, 3, 4)) * -2
+    t3new.aaaaaa += np.transpose(tmp286, (2, 1, 0, 5, 3, 4)) * -2
+    t3new.aaaaaa += np.transpose(tmp286, (0, 2, 1, 3, 5, 4)) * 2
+    t3new.aaaaaa += np.transpose(tmp286, (2, 1, 0, 3, 5, 4)) * 2
+    del tmp286
+    tmp221 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3))
+    t2new.bbbb += np.transpose(tmp221, (1, 0, 2, 3))
+    t2new.bbbb += tmp221 * -1
+    t2new.bbbb += np.transpose(tmp221, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp221, (0, 1, 3, 2))
+    del tmp221
+    tmp243 = einsum(tmp242, (0, 1, 2, 3), t2.bbbb, (3, 2, 4, 5), (1, 0, 4, 5))
+    del tmp242
+    t2new.bbbb += np.transpose(tmp243, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp243, (0, 1, 3, 2)) * -1
+    del tmp243
+    tmp235 = einsum(tmp234, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (1, 0, 4, 5)) * -1
+    del tmp234
+    t2new.bbbb += np.transpose(tmp235, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp235, (0, 1, 3, 2)) * -1
+    del tmp235
+    tmp239 = einsum(tmp238, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3))
+    del tmp238
+    t2new.bbbb += np.transpose(tmp239, (1, 0, 2, 3))
+    t2new.bbbb += tmp239 * -1
+    t2new.bbbb += np.transpose(tmp239, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp239, (0, 1, 3, 2))
+    del tmp239
+    tmp191 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    t2new.bbbb += tmp191 * 2
+    t2new.bbbb += np.transpose(tmp191, (0, 1, 3, 2)) * -2
+    t2new.bbbb += np.transpose(tmp191, (1, 0, 2, 3)) * -2
+    t2new.bbbb += np.transpose(tmp191, (1, 0, 3, 2)) * 2
+    del tmp191
+    tmp186 = einsum(tmp16, (0, 1), t3.bbbbbb, (2, 3, 0, 4, 5, 1), (2, 3, 4, 5)) * 3
+    t2new.bbbb += tmp186
+    t2new.bbbb += tmp186
+    del tmp186
+    tmp237 = einsum(t1.bb, (0, 1), tmp236, (2, 3, 1, 4), (0, 2, 3, 4))
+    del tmp236
+    t2new.bbbb += np.transpose(tmp237, (0, 1, 3, 2)) * -1
+    t2new.bbbb += tmp237
+    del tmp237
+    tmp220 = einsum(tmp172, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3))
+    del tmp172
+    t2new.bbbb += np.transpose(tmp220, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp220, (1, 0, 3, 2))
+    del tmp220
+    tmp124 = np.copy(tmp122)
+    tmp124 += tmp123 * 2
+    t2new.bbbb += einsum(tmp124, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 4, 0)) * -2
+    t2new.abab += einsum(tmp124, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 4, 0)) * -1
+    del tmp124
+    tmp219 = einsum(t2.bbbb, (0, 1, 2, 3), tmp218, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp218
+    t2new.bbbb += np.transpose(tmp219, (0, 1, 3, 2)) * 2
+    t2new.bbbb += np.transpose(tmp219, (1, 0, 3, 2)) * -2
+    t2new.bbbb += tmp219 * -2
+    del tmp219
+    tmp233 = einsum(t2.bbbb, (0, 1, 2, 3), tmp232, (1, 4, 5, 3), (4, 0, 5, 2))
+    del tmp232
+    t2new.bbbb += np.transpose(tmp233, (1, 0, 3, 2)) * -2
+    t2new.bbbb += np.transpose(tmp233, (0, 1, 3, 2)) * 2
+    del tmp233
+    tmp201 = einsum(t2.bbbb, (0, 1, 2, 3), tmp200, (4, 5, 1, 0), (4, 5, 2, 3)) * -1
+    del tmp200
+    t2new.bbbb += np.transpose(tmp201, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp201, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp201, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp201, (1, 0, 3, 2)) * -1
+    del tmp201
+    tmp179 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), v.bbbb.ooov, (6, 2, 1, 5), (0, 6, 3, 4)) * -1
+    t2new.bbbb += np.transpose(tmp179, (1, 0, 3, 2)) * -3
+    t2new.bbbb += np.transpose(tmp179, (1, 0, 3, 2)) * -3
+    t2new.bbbb += np.transpose(tmp179, (0, 1, 3, 2)) * 3
+    t2new.bbbb += np.transpose(tmp179, (0, 1, 3, 2)) * 3
+    del tmp179
+    tmp189 = np.copy(f.aa.ov)
+    tmp189 += tmp0
+    del tmp0
+    tmp189 += einsum(tmp188, (0, 1, 2, 3), t1.aa, (0, 2), (1, 3)) * -1
+    t2new.bbbb += einsum(tmp189, (0, 1), t3.babbab, (2, 0, 3, 4, 1, 5), (2, 3, 4, 5))
+    del tmp189
+    tmp205 = einsum(t1.bb, (0, 1), tmp204, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp204
+    t2new.bbbb += tmp205
+    t2new.bbbb += np.transpose(tmp205, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp205, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp205, (1, 0, 3, 2))
+    del tmp205
+    tmp181 = einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * 2
+    tmp181 += t2.bbbb * -1
+    t2new.bbbb += einsum(tmp181, (0, 1, 2, 3), v.bbbb.oooo, (4, 0, 5, 1), (4, 5, 3, 2)) * 0.5
+    del tmp181
+    tmp215 = einsum(tmp214, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5))
+    del tmp214
+    t2new.bbbb += np.transpose(tmp215, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp215, (1, 0, 2, 3))
+    del tmp215
+    tmp207 = einsum(tmp206, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3))
+    del tmp206
+    t2new.bbbb += np.transpose(tmp207, (0, 1, 3, 2))
+    t2new.bbbb += tmp207 * -1
+    t2new.bbbb += np.transpose(tmp207, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp207, (1, 0, 2, 3))
+    del tmp207
+    tmp202 = einsum(tmp21, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 3, 6), (1, 4, 5, 6))
+    del tmp21
+    t2new.bbbb += np.transpose(tmp202, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp202, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp202, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp202, (1, 0, 3, 2))
+    del tmp202
+    tmp187 = np.copy(t2.bbbb)
+    tmp187 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1)) * 2
+    t2new.bbbb += einsum(tmp187, (0, 1, 2, 3), v.bbbb.oooo, (4, 0, 5, 1), (4, 5, 3, 2)) * -0.5
+    del tmp187
+    tmp31 = np.copy(f.bb.oo)
+    tmp31 += np.transpose(tmp28, (1, 0))
+    del tmp28
+    tmp31 += np.transpose(tmp30, (1, 0)) * -1
+    del tmp30
+    t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp31, (1, 4), (0, 4, 2, 3)) * -1
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp31, (1, 4), (0, 4, 2, 3)) * -1
+    t1new.bb += einsum(t1.bb, (0, 1), tmp31, (0, 2), (2, 1)) * -1
+    del tmp31
+    tmp198 = np.copy(f.bb.vv) * -1
+    tmp198 += np.transpose(tmp131, (1, 0)) * -1
+    tmp198 += np.transpose(tmp122, (1, 0))
+    del tmp122
+    tmp198 += np.transpose(tmp123, (1, 0)) * 2
+    del tmp123
+    tmp198 += tmp196 * -1
+    tmp198 += np.transpose(tmp197, (1, 0))
+    t2new.bbbb += einsum(tmp198, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * 2
+    del tmp198
+    tmp185 = einsum(tmp184, (0, 1), t2.bbbb, (2, 0, 3, 4), (2, 1, 3, 4)) * -1
+    del tmp184
+    t2new.bbbb += np.transpose(tmp185, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp185, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp185, (0, 1, 3, 2)) * -1
+    del tmp185
+    tmp229 = np.copy(tmp146)
+    tmp229 += einsum(t2.abab, (0, 1, 2, 3), tmp7, (0, 4, 2, 5), (4, 1, 5, 3))
+    del tmp7
+    t2new.bbbb += einsum(tmp229, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 3, 5))
+    del tmp229
+    tmp226 = np.copy(tmp146)
+    del tmp146
+    tmp226 += einsum(t2.abab, (0, 1, 2, 3), tmp188, (0, 4, 2, 5), (4, 1, 5, 3))
+    del tmp188
+    t2new.bbbb += einsum(tmp226, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5)) * -1
+    del tmp226
+    tmp209 = einsum(tmp208, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4)) * -1
+    del tmp208
+    t2new.bbbb += np.transpose(tmp209, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp209, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp209, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp209, (1, 0, 3, 2)) * -1
+    del tmp209
+    tmp231 = einsum(t1.bb, (0, 1), tmp230, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp230
+    t2new.bbbb += np.transpose(tmp231, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp231, (1, 0, 3, 2))
+    del tmp231
+    tmp199 = np.copy(f.bb.vv) * -1
+    tmp199 += np.transpose(tmp131, (1, 0)) * -1
+    tmp199 += tmp196 * -1
+    del tmp196
+    tmp199 += np.transpose(tmp197, (1, 0))
+    del tmp197
+    t2new.bbbb += einsum(tmp199, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 4, 1)) * -2
+    del tmp199
+    tmp194 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp128, (1, 4, 5, 6), (0, 2, 3, 6)) * -2
+    del tmp128
+    t2new.bbbb += np.transpose(tmp194, (1, 0, 2, 3))
+    t2new.bbbb += np.transpose(tmp194, (1, 0, 3, 2)) * -1
+    del tmp194
+    tmp241 = einsum(tmp240, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3))
+    del tmp240
+    t2new.bbbb += np.transpose(tmp241, (0, 1, 3, 2)) * -1
+    t2new.bbbb += tmp241
+    del tmp241
+    tmp228 = np.copy(v.bbbb.oovv) * 0.5
+    tmp228 += einsum(t2.bbbb, (0, 1, 2, 3), tmp14, (1, 4, 3, 5), (0, 4, 2, 5)) * -1
+    del tmp14
+    tmp228 += einsum(tmp227, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3)) * -0.5
+    del tmp227
+    t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp228, (4, 1, 5, 3), (0, 4, 5, 2)) * 4
+    del tmp228
+    tmp193 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp192, (2, 4, 5, 6), (0, 1, 6, 3)) * -6
+    t2new.bbbb += np.transpose(tmp193, (0, 1, 3, 2))
+    t2new.bbbb += tmp193 * -1
+    del tmp193
+    tmp180 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t3.babbab, (4, 0, 3, 5, 1, 6), (4, 2, 5, 6))
+    t2new.bbbb += np.transpose(tmp180, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp180, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp180, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp180, (0, 1, 3, 2))
+    del tmp180
+    tmp182 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.oooo, (4, 0, 5, 1), (4, 5, 2, 3))
+    t2new.bbbb += np.transpose(tmp182, (1, 0, 3, 2)) * 0.5
+    t2new.bbbb += np.transpose(tmp182, (1, 0, 3, 2)) * 0.5
+    del tmp182
+    tmp244 = np.copy(v.bbbb.vvvv)
+    tmp244 += einsum(tmp192, (0, 1, 2, 3), t1.bb, (0, 4), (1, 3, 2, 4))
+    del tmp192
+    t2new.bbbb += einsum(tmp244, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 2), (4, 5, 1, 3)) * 2
+    del tmp244
+    tmp222 = einsum(tmp125, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3))
+    del tmp125
+    t2new.bbbb += np.transpose(tmp222, (1, 0, 2, 3)) * -2
+    t2new.bbbb += np.transpose(tmp222, (0, 1, 3, 2)) * -2
+    t2new.bbbb += np.transpose(tmp222, (1, 0, 3, 2)) * 2
+    t2new.bbbb += tmp222 * 2
+    del tmp222
+    tmp245 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -1
+    t2new.bbbb += einsum(tmp245, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3)) * -2
+    del tmp245
+    tmp190 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5))
+    t2new.bbbb += tmp190
+    t2new.bbbb += np.transpose(tmp190, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp190, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp190, (1, 0, 3, 2))
+    del tmp190
+    tmp203 = einsum(t3.bbbbbb, (0, 1, 2, 3, 4, 5), tmp22, (6, 1, 2, 5), (6, 0, 3, 4)) * -1
+    t2new.bbbb += np.transpose(tmp203, (0, 1, 3, 2)) * -3
+    t2new.bbbb += np.transpose(tmp203, (0, 1, 3, 2)) * -3
+    t2new.bbbb += np.transpose(tmp203, (1, 0, 3, 2)) * 3
+    t2new.bbbb += np.transpose(tmp203, (1, 0, 3, 2)) * 3
+    del tmp203
+    tmp225 = np.copy(v.bbbb.oovv)
+    tmp225 += einsum(t2.bbbb, (0, 1, 2, 3), tmp45, (1, 4, 3, 5), (0, 4, 2, 5)) * -2
+    tmp225 += np.transpose(tmp224, (0, 1, 3, 2)) * -1
+    del tmp224
+    t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp225, (4, 1, 5, 3), (4, 0, 5, 2)) * -2
+    del tmp225
+    tmp213 = einsum(tmp195, (0, 1, 2, 3), t1.bb, (4, 1), (4, 0, 3, 2)) * -1
+    del tmp195
+    tmp213 += einsum(tmp212, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3)) * -1
+    del tmp212
+    t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp213, (4, 1, 5, 3), (0, 4, 5, 2)) * 2
+    del tmp213
+    tmp163 = np.copy(v.aabb.vvvv)
+    tmp163 += einsum(t1.bb, (0, 1), tmp162, (0, 2, 3, 4), (3, 2, 4, 1)) * -1
+    del tmp162
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp163, (2, 4, 3, 5), (0, 1, 4, 5))
+    del tmp163
+    tmp126 = np.copy(np.transpose(v.aaaa.ovvv, (0, 2, 3, 1)))
+    tmp126 += tmp53
+    del tmp53
+    t2new.abab += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), tmp126, (2, 6, 3, 5), (0, 1, 6, 4)) * 2
+    del tmp126
+    tmp160 = np.copy(v.bbbb.oovv)
+    tmp160 += einsum(t1.bb, (0, 1), tmp159, (0, 2, 3, 4), (3, 2, 4, 1))
+    del tmp159
+    t2new.abab += einsum(tmp160, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3)) * -1
+    del tmp160
+    tmp60 = np.copy(f.aa.vv) * -1
+    tmp60 += np.transpose(tmp56, (1, 0)) * -1
+    tmp60 += np.transpose(tmp41, (1, 0)) * 2
+    tmp60 += np.transpose(tmp42, (1, 0))
+    tmp60 += np.transpose(tmp58, (1, 0)) * -1
+    tmp60 += np.transpose(tmp59, (1, 0))
+    t2new.abab += einsum(tmp60, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp60, (3, 4), (0, 1, 4, 2)) * 2
+    del tmp60
+    tmp120 = np.copy(t2.abab)
+    tmp120 += einsum(t1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) * 2
+    t2new.abab += einsum(v.aabb.oooo, (0, 1, 2, 3), tmp120, (1, 3, 4, 5), (0, 2, 4, 5)) * 0.5
+    del tmp120
+    tmp145 = np.copy(np.transpose(tmp143, (0, 1, 3, 2)))
+    del tmp143
+    tmp145 += np.transpose(tmp144, (0, 1, 3, 2)) * -1
+    del tmp144
+    t2new.abab += einsum(tmp145, (0, 1, 2, 3), t2.abab, (4, 1, 2, 5), (4, 0, 3, 5)) * -1
+    del tmp145
+    tmp136 = np.copy(np.transpose(tmp24, (1, 0)))
+    tmp136 += np.transpose(tmp25, (1, 0)) * 2
+    tmp136 += np.transpose(tmp135, (1, 0))
+    del tmp135
+    t2new.abab += einsum(tmp136, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1
+    del tmp136
+    tmp130 = np.copy(np.transpose(v.bbbb.ovvv, (0, 2, 3, 1)))
+    tmp130 += tmp129
+    del tmp129
+    t2new.abab += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp130, (2, 6, 5, 3), (1, 0, 4, 6)) * -2
+    del tmp130
+    tmp148 = np.copy(np.transpose(v.aabb.vvoo, (2, 3, 0, 1))) * -1
+    tmp148 += np.transpose(tmp147, (1, 0, 3, 2))
+    del tmp147
+    tmp148 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (2, 4, 1, 5))
+    t2new.abab += einsum(tmp148, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5))
+    del tmp148
+    tmp161 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5))
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp161, (4, 0, 5, 1), (4, 5, 2, 3))
+    del tmp161
+    tmp157 = np.copy(tmp95) * -1
+    tmp157 += tmp156 * 2
+    del tmp156
+    tmp157 += einsum(tmp45, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2)) * -1
+    del tmp45
+    t2new.abab += einsum(t2.bbbb, (0, 1, 2, 3), tmp157, (4, 1, 5, 3), (4, 0, 5, 2)) * 2
+    del tmp157
+    tmp134 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp22, (6, 2, 0, 5), (1, 6, 4, 3))
+    del tmp22
+    t2new.abab += tmp134 * -1
+    t2new.abab += tmp134 * -1
+    del tmp134
+    tmp175 = np.copy(np.transpose(tmp173, (0, 1, 3, 2)))
+    del tmp173
+    tmp175 += np.transpose(tmp174, (0, 1, 3, 2)) * -1
+    del tmp174
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp175, (4, 0, 3, 5), (4, 1, 2, 5)) * -1
+    del tmp175
+    tmp3 = np.copy(t2.abab)
+    tmp3 += einsum(t1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1))
+    t2new.abab += einsum(tmp3, (0, 1, 2, 3), tmp154, (4, 0, 5, 1), (4, 5, 2, 3))
+    del tmp154
+    t2new.abab += einsum(tmp3, (0, 1, 2, 3), tmp140, (4, 0, 1, 5), (4, 5, 2, 3))
+    del tmp140
+    t2new.abab += einsum(tmp137, (0, 1, 2, 3), tmp3, (0, 3, 4, 5), (1, 2, 4, 5))
+    del tmp137
+    t1new.bb += einsum(tmp3, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 3), (1, 4))
+    t1new.aa += einsum(tmp3, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 3), (0, 4))
+    del tmp3
+    tmp166 = np.copy(np.transpose(tmp165, (0, 1, 3, 2))) * -1
+    del tmp165
+    tmp166 += np.transpose(tmp84, (0, 1, 3, 2))
+    del tmp84
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp166, (4, 0, 2, 5), (4, 1, 5, 3))
+    del tmp166
+    tmp176 = 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), tmp176, (2, 0, 3, 4), (2, 3, 1, 4)) * -1
+    del tmp176
+    tmp171 = np.copy(np.transpose(tmp168, (0, 1, 3, 2))) * -1
+    del tmp168
+    tmp171 += np.transpose(tmp170, (0, 1, 3, 2))
+    del tmp170
+    t2new.abab += einsum(tmp171, (0, 1, 2, 3), t2.abab, (4, 1, 5, 2), (4, 0, 5, 3))
+    del tmp171
+    tmp158 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 3, 5))
+    t2new.abab += einsum(t1.bb, (0, 1), tmp158, (2, 3, 0, 4), (2, 3, 4, 1)) * -2
+    del tmp158
+    tmp121 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.aabb.ooov, (6, 1, 2, 5), (6, 0, 4, 3))
+    t2new.abab += tmp121 * -1
+    t2new.abab += tmp121 * -1
+    del tmp121
+    tmp11 = np.copy(np.transpose(tmp5, (1, 0)))
+    del tmp5
+    tmp11 += np.transpose(tmp6, (1, 0)) * 0.5
+    del tmp6
+    tmp11 += np.transpose(tmp10, (1, 0))
+    del tmp10
+    t2new.abab += einsum(tmp11, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -2
+    t1new.aa += einsum(tmp11, (0, 1), t1.aa, (0, 2), (1, 2)) * -2
+    del tmp11
+    tmp155 = np.copy(v.aaaa.oovv)
+    tmp155 += np.transpose(tmp49, (1, 0, 3, 2)) * -1
+    tmp155 += einsum(t2.aaaa, (0, 1, 2, 3), tmp91, (1, 4, 5, 3), (4, 0, 5, 2)) * 2
+    tmp155 += einsum(t1.aa, (0, 1), tmp36, (0, 2, 3, 4), (3, 2, 4, 1))
+    del tmp36
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp155, (0, 4, 2, 5), (4, 1, 5, 3)) * -1
+    del tmp155
+    tmp153 = np.copy(np.transpose(v.aabb.vvov, (2, 0, 1, 3)))
+    tmp153 += np.transpose(tmp152, (0, 2, 1, 3))
+    del tmp152
+    t2new.abab += einsum(tmp153, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3))
+    del tmp153
+    tmp133 = np.copy(f.bb.vv)
+    tmp133 += np.transpose(tmp131, (1, 0))
+    del tmp131
+    tmp133 += einsum(t1.bb, (0, 1), tmp132, (0, 1, 2, 3), (3, 2)) * -1
+    del tmp132
+    tmp133 += einsum(t1.bb, (0, 1), tmp47, (0, 2), (2, 1)) * -1
+    del tmp47
+    t2new.abab += einsum(tmp133, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1))
+    del tmp133
+    tmp138 = einsum(t3.babbab, (0, 1, 2, 3, 4, 5), tmp1, (6, 1, 2, 5), (6, 0, 4, 3))
+    t2new.abab += tmp138 * -1
+    t2new.abab += tmp138 * -1
+    del tmp138
+    tmp119 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t3.babbab, (1, 4, 2, 5, 6, 3), (4, 0, 6, 5))
+    t2new.abab += tmp119 * -1
+    t2new.abab += tmp119 * -1
+    del tmp119
+    tmp55 = einsum(tmp54, (0, 1, 2, 3), t3.aaaaaa, (4, 5, 0, 6, 1, 2), (4, 5, 6, 3)) * -6
+    t2new.aaaa += tmp55
+    t2new.aaaa += np.transpose(tmp55, (0, 1, 3, 2)) * -1
+    del tmp55
+    tmp102 = np.copy(tmp95)
+    tmp102 += einsum(tmp101, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2)) * -1
+    del tmp101
+    t2new.aaaa += einsum(tmp102, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5))
+    del tmp102
+    tmp65 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp2, (6, 1, 2, 5), (6, 0, 3, 4)) * -1
+    del tmp2
+    t2new.aaaa += np.transpose(tmp65, (0, 1, 3, 2)) * -3
+    t2new.aaaa += np.transpose(tmp65, (0, 1, 3, 2)) * -3
+    t2new.aaaa += np.transpose(tmp65, (1, 0, 3, 2)) * 3
+    t2new.aaaa += np.transpose(tmp65, (1, 0, 3, 2)) * 3
+    del tmp65
+    tmp64 = einsum(tmp1, (0, 1, 2, 3), t3.abaaba, (4, 2, 1, 5, 3, 6), (0, 4, 5, 6))
+    del tmp1
+    t2new.aaaa += np.transpose(tmp64, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp64, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp64, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp64, (1, 0, 3, 2))
+    del tmp64
+    tmp63 = einsum(tmp62, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    del tmp62
+    t2new.aaaa += tmp63
+    t2new.aaaa += np.transpose(tmp63, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp63, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp63, (1, 0, 3, 2))
+    del tmp63
+    tmp112 = einsum(tmp111, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3))
+    del tmp111
+    t2new.aaaa += np.transpose(tmp112, (0, 1, 3, 2)) * -1
+    t2new.aaaa += tmp112
+    del tmp112
+    tmp116 = einsum(tmp115, (0, 1, 2, 3), t2.aaaa, (3, 2, 4, 5), (1, 0, 4, 5))
+    del tmp115
+    t2new.aaaa += np.transpose(tmp116, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp116, (0, 1, 3, 2)) * -1
+    del tmp116
+    tmp52 = einsum(tmp51, (0, 1, 2, 3), t3.abaaba, (4, 0, 5, 6, 3, 1), (4, 5, 6, 2)) * -2
+    del tmp51
+    t2new.aaaa += np.transpose(tmp52, (1, 0, 2, 3))
+    t2new.aaaa += np.transpose(tmp52, (1, 0, 3, 2)) * -1
+    del tmp52
+    tmp67 = einsum(tmp66, (0, 1, 2, 3), t2.aaaa, (3, 2, 4, 5), (0, 1, 4, 5)) * -1
+    del tmp66
+    t2new.aaaa += np.transpose(tmp67, (0, 1, 3, 2))
+    t2new.aaaa += np.transpose(tmp67, (0, 1, 3, 2))
+    t2new.aaaa += np.transpose(tmp67, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp67, (1, 0, 3, 2)) * -1
+    del tmp67
+    tmp89 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3))
+    t2new.aaaa += np.transpose(tmp89, (1, 0, 2, 3))
+    t2new.aaaa += tmp89 * -1
+    t2new.aaaa += np.transpose(tmp89, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp89, (0, 1, 3, 2))
+    del tmp89
+    tmp44 = np.copy(t2.aaaa)
+    tmp44 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) * 2
+    t2new.aaaa += einsum(v.aaaa.oooo, (0, 1, 2, 3), tmp44, (1, 3, 4, 5), (0, 2, 5, 4)) * -0.5
+    del tmp44
+    tmp108 = einsum(tmp107, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (1, 0, 4, 5)) * -1
+    del tmp107
+    t2new.aaaa += np.transpose(tmp108, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp108, (0, 1, 3, 2)) * -1
+    del tmp108
+    tmp110 = einsum(tmp109, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    del tmp109
+    t2new.aaaa += np.transpose(tmp110, (0, 1, 3, 2)) * -1
+    t2new.aaaa += tmp110
+    del tmp110
+    tmp33 = einsum(v.aabb.ooov, (0, 1, 2, 3), t3.abaaba, (4, 2, 1, 5, 3, 6), (4, 0, 5, 6))
+    t2new.aaaa += np.transpose(tmp33, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp33, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp33, (0, 1, 3, 2))
+    t2new.aaaa += np.transpose(tmp33, (0, 1, 3, 2))
+    del tmp33
+    tmp106 = einsum(t2.aaaa, (0, 1, 2, 3), tmp105, (1, 4, 5, 3), (0, 4, 2, 5))
+    del tmp105
+    t2new.aaaa += tmp106 * -2
+    t2new.aaaa += np.transpose(tmp106, (1, 0, 2, 3)) * 2
+    del tmp106
+    tmp32 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), v.aaaa.ooov, (6, 2, 1, 5), (0, 6, 3, 4)) * -1
+    t2new.aaaa += np.transpose(tmp32, (1, 0, 3, 2)) * -3
+    t2new.aaaa += np.transpose(tmp32, (1, 0, 3, 2)) * -3
+    t2new.aaaa += np.transpose(tmp32, (0, 1, 3, 2)) * 3
+    t2new.aaaa += np.transpose(tmp32, (0, 1, 3, 2)) * 3
+    del tmp32
+    tmp69 = einsum(tmp68, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3))
+    del tmp68
+    t2new.aaaa += np.transpose(tmp69, (0, 1, 3, 2))
+    t2new.aaaa += tmp69 * -1
+    t2new.aaaa += np.transpose(tmp69, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp69, (1, 0, 2, 3))
+    del tmp69
+    tmp61 = np.copy(f.aa.vv) * -1
+    tmp61 += np.transpose(tmp56, (1, 0)) * -1
+    del tmp56
+    tmp61 += np.transpose(tmp58, (1, 0)) * -1
+    del tmp58
+    tmp61 += np.transpose(tmp59, (1, 0))
+    del tmp59
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp61, (3, 4), (0, 1, 2, 4)) * -2
+    del tmp61
+    tmp118 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 5, 3, 1), (4, 5, 0, 2)) * -1
+    t2new.aaaa += einsum(t1.aa, (0, 1), tmp118, (2, 3, 0, 4), (2, 3, 1, 4)) * -2
+    del tmp118
+    tmp88 = einsum(tmp87, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp87
+    t2new.aaaa += np.transpose(tmp88, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp88, (1, 0, 3, 2))
+    del tmp88
+    tmp48 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 3), (4, 0, 5, 1))
+    t2new.aaaa += tmp48 * 2
+    t2new.aaaa += np.transpose(tmp48, (0, 1, 3, 2)) * -2
+    t2new.aaaa += np.transpose(tmp48, (1, 0, 2, 3)) * -2
+    t2new.aaaa += np.transpose(tmp48, (1, 0, 3, 2)) * 2
+    del tmp48
+    tmp71 = einsum(t2.aaaa, (0, 1, 2, 3), tmp70, (4, 1), (0, 4, 2, 3)) * -2
+    del tmp70
+    t2new.aaaa += np.transpose(tmp71, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp71, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp71, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp71, (0, 1, 3, 2)) * -1
+    del tmp71
+    tmp86 = einsum(t2.aaaa, (0, 1, 2, 3), tmp85, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp85
+    t2new.aaaa += np.transpose(tmp86, (1, 0, 2, 3)) * 2
+    t2new.aaaa += tmp86 * -2
+    t2new.aaaa += np.transpose(tmp86, (1, 0, 3, 2)) * -2
+    del tmp86
+    tmp97 = np.copy(tmp95)
+    del tmp95
+    tmp97 += einsum(tmp96, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2)) * -1
+    del tmp96
+    t2new.aaaa += einsum(t2.abab, (0, 1, 2, 3), tmp97, (4, 1, 5, 3), (4, 0, 5, 2)) * -1
+    del tmp97
+    tmp20 = np.copy(f.aa.oo)
+    tmp20 += np.transpose(tmp17, (1, 0))
+    del tmp17
+    tmp20 += np.transpose(tmp19, (1, 0)) * -1
+    del tmp19
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp20, (1, 4), (0, 4, 2, 3)) * -1
+    t1new.aa += einsum(t1.aa, (0, 1), tmp20, (0, 2), (2, 1)) * -1
+    del tmp20
+    tmp114 = einsum(tmp113, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    del tmp113
+    t2new.aaaa += np.transpose(tmp114, (1, 0, 2, 3))
+    t2new.aaaa += tmp114 * -1
+    t2new.aaaa += np.transpose(tmp114, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp114, (0, 1, 3, 2))
+    del tmp114
+    tmp94 = np.copy(v.aaaa.oovv)
+    tmp94 += einsum(t2.aaaa, (0, 1, 2, 3), tmp91, (1, 4, 3, 5), (0, 4, 2, 5)) * -2
+    del tmp91
+    tmp94 += tmp93 * -1
+    del tmp93
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp94, (4, 1, 5, 3), (4, 0, 5, 2)) * -2
+    del tmp94
+    tmp90 = einsum(tmp49, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp49
+    t2new.aaaa += np.transpose(tmp90, (1, 0, 2, 3)) * -2
+    t2new.aaaa += np.transpose(tmp90, (0, 1, 3, 2)) * -2
+    t2new.aaaa += np.transpose(tmp90, (1, 0, 3, 2)) * 2
+    t2new.aaaa += tmp90 * 2
+    del tmp90
+    tmp34 = einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3)) * 2
+    tmp34 += t2.aaaa * -1
+    t2new.aaaa += einsum(v.aaaa.oooo, (0, 1, 2, 3), tmp34, (1, 3, 4, 5), (0, 2, 5, 4)) * 0.5
+    del tmp34
+    tmp40 = einsum(t3.aaaaaa, (0, 1, 2, 3, 4, 5), tmp9, (2, 5), (0, 1, 3, 4)) * 3
+    del tmp9
+    t2new.aaaa += tmp40
+    t2new.aaaa += tmp40
+    del tmp40
+    tmp39 = einsum(t2.aaaa, (0, 1, 2, 3), tmp38, (1, 4), (0, 4, 2, 3)) * -1
+    del tmp38
+    t2new.aaaa += np.transpose(tmp39, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp39, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp39, (0, 1, 3, 2)) * -1
+    del tmp39
+    tmp80 = einsum(t2.abab, (0, 1, 2, 3), tmp79, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp79
+    t2new.aaaa += tmp80 * -1
+    t2new.aaaa += np.transpose(tmp80, (0, 1, 3, 2))
+    del tmp80
+    tmp100 = np.copy(v.aaaa.oovv) * 0.5
+    tmp100 += einsum(t2.aaaa, (0, 1, 2, 3), tmp98, (1, 4, 3, 5), (0, 4, 2, 5)) * -1
+    del tmp98
+    tmp100 += einsum(tmp99, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3)) * -0.5
+    del tmp99
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp100, (4, 1, 5, 3), (0, 4, 5, 2)) * 4
+    del tmp100
+    tmp35 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t2.aaaa, (1, 3, 4, 5), (0, 2, 4, 5))
+    t2new.aaaa += np.transpose(tmp35, (1, 0, 3, 2)) * 0.5
+    t2new.aaaa += np.transpose(tmp35, (1, 0, 3, 2)) * 0.5
+    del tmp35
+    tmp43 = np.copy(tmp41)
+    del tmp41
+    tmp43 += tmp42 * 0.5
+    del tmp42
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp43, (4, 3), (0, 1, 2, 4)) * -4
+    del tmp43
+    tmp104 = einsum(tmp103, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    del tmp103
+    t2new.aaaa += np.transpose(tmp104, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp104, (1, 0, 3, 2))
+    del tmp104
+    tmp76 = einsum(tmp74, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 3, 2)) * -1
+    del tmp74
+    tmp76 += einsum(tmp75, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3)) * -1
+    del tmp75
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp76, (4, 1, 5, 3), (0, 4, 5, 2)) * 2
+    del tmp76
+    tmp117 = np.copy(v.aaaa.vvvv)
+    tmp117 += einsum(t1.aa, (0, 1), tmp54, (0, 2, 3, 4), (2, 4, 3, 1))
+    del tmp54
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp117, (2, 4, 3, 5), (0, 1, 4, 5)) * 2
+    del tmp117
+    tmp26 = np.copy(np.transpose(tmp24, (1, 0))) * 0.5
+    del tmp24
+    tmp26 += np.transpose(tmp25, (1, 0))
+    del tmp25
+    tmp26 += einsum(t1.bb, (0, 1), tmp16, (2, 1), (2, 0)) * 0.5
+    del tmp16
+    t1new.bb += einsum(tmp26, (0, 1), t1.bb, (0, 2), (1, 2)) * -2
+    del tmp26
+    tmp23 = np.copy(t2.bbbb) * 2
+    tmp23 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1))
+    t1new.bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), tmp23, (0, 4, 1, 3), (4, 2))
+    del tmp23
+    tmp27 = np.copy(f.bb.vv)
+    tmp27 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2)) * -1
+    t1new.bb += einsum(t1.bb, (0, 1), tmp27, (1, 2), (0, 2))
+    del tmp27
+    tmp4 = np.copy(t2.aaaa) * 2
+    tmp4 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1))
+    t1new.aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp4, (0, 4, 3, 1), (4, 2)) * -1
+    del tmp4
+    tmp12 = np.copy(f.aa.vv)
+    tmp12 += einsum(v.aaaa.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3))
+    t1new.aa += einsum(tmp12, (0, 1), t1.aa, (2, 0), (2, 1))
+    del tmp12
+    t1new.aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1))
+    t1new.aa += f.aa.ov
+    t1new.aa += einsum(t3.babbab, (0, 1, 2, 3, 4, 5), v.bbbb.ovov, (0, 3, 2, 5), (1, 4))
+    t1new.aa += einsum(v.aaaa.oovv, (0, 1, 2, 3), t1.aa, (1, 3), (0, 2)) * -1
+    t1new.aa += einsum(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aabb.ovov, (2, 5, 1, 4), (0, 3)) * 2
+    t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 1, 3), (4, 2)) * -2
+    t1new.aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.aaaaaa, (4, 0, 2, 5, 1, 3), (4, 5)) * 3
+    t1new.aa += einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (1, 2, 4, 3), (0, 4)) * -1
+    t1new.bb += f.bb.ov
+    t1new.bb += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3))
+    t1new.bb += einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (0, 3, 1, 4), (2, 4)) * -1
+    t1new.bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 3), (0, 4)) * -2
+    t1new.bb += einsum(v.aabb.ovov, (0, 1, 2, 3), t3.babbab, (4, 0, 2, 5, 1, 3), (4, 5)) * 2
+    t1new.bb += einsum(v.aaaa.ovov, (0, 1, 2, 3), t3.abaaba, (0, 4, 2, 1, 5, 3), (4, 5))
+    t1new.bb += einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 0, 3, 1), (2, 3)) * -1
+    t1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), t3.bbbbbb, (4, 0, 2, 5, 3, 1), (4, 5)) * -3
+    t2new.aaaa += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    t2new.aaaa += np.transpose(v.aaaa.ovov, (0, 2, 3, 1)) * -1
+    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(t3.abaaba, (0, 1, 2, 3, 4, 5), v.aaaa.ooov, (6, 0, 2, 5), (6, 1, 3, 4)) * -2
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 1), (4, 5, 2, 3)) * 0.5
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3))
+    t2new.abab += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    t2new.abab += einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    t2new.bbbb += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    t2new.bbbb += np.transpose(v.bbbb.ovov, (0, 2, 3, 1)) * -1
+    t3new.abaaba += einsum(f.aa.vv, (0, 1), t3.abaaba, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 2
+    t3new.abaaba += einsum(v.aabb.vvov, (0, 1, 2, 3), t2.aaaa, (4, 5, 6, 1), (4, 2, 5, 0, 3, 6)) * -2
+    t3new.babbab += einsum(f.bb.vv, (0, 1), t3.babbab, (2, 3, 4, 5, 6, 1), (2, 3, 4, 5, 6, 0)) * 2
+    t3new.babbab += einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovvv, (4, 5, 6, 3), (0, 4, 1, 6, 5, 2)) * -2
+
+    return {f"t1new": t1new, f"t2new": t2new, f"t3new": t3new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/UCCD/index.html b/reference/codegen/UCCD/index.html new file mode 100644 index 00000000..5de3e5c5 --- /dev/null +++ b/reference/codegen/UCCD/index.html @@ -0,0 +1,6375 @@ + + + + + + + + UCCD - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-17T18:47:58.834507
  • +
  • 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.8.0-40-generic
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.UCCD.energy(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:47:59.153664.

+

Parameters

+

t2 : Namespace of arrays + T2 amplitudes. +v : Namespace of arrays + Electron repulsion integrals.

+

Returns

+

e_cc : float + Coupled cluster energy.

+ +
+ Source code in ebcc/codegen/UCCD.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
def energy(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:47:59.153664.
+
+    Parameters
+    ----------
+    t2 : Namespace of arrays
+        T2 amplitudes.
+    v : Namespace of arrays
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    e_cc : float
+        Coupled cluster energy.
+    """
+
+    e_cc = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 2, 1, 3), ())
+    e_cc += einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 1, 3), ())
+    e_cc += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 3), ())
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCD.update_amps(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:06.946362.

+

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.

+ +
+ Source code in ebcc/codegen/UCCD.py +
 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
def update_amps(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:06.946362.
+
+    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()
+    tmp13 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1))) * -1
+    tmp13 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    tmp9 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) * -1
+    tmp9 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp35 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4))
+    tmp36 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 2), (0, 4)) * -1
+    tmp45 = einsum(t2.bbbb, (0, 1, 2, 3), tmp13, (1, 4, 3, 5), (0, 4, 2, 5))
+    tmp20 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0))
+    tmp19 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 1, 3), (4, 0))
+    tmp10 = einsum(t2.aaaa, (0, 1, 2, 3), tmp9, (1, 4, 3, 5), (0, 4, 2, 5))
+    tmp24 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 4), (4, 3))
+    tmp25 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 4), (2, 4)) * -1
+    tmp27 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp48 = einsum(tmp9, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5))
+    del tmp9
+    tmp51 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp37 = np.copy(tmp35)
+    del tmp35
+    tmp37 += tmp36 * 2
+    del tmp36
+    tmp46 = np.copy(v.bbbb.oovv)
+    tmp46 += tmp45 * -2
+    del tmp45
+    tmp32 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3))
+    tmp14 = einsum(tmp13, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2))
+    del tmp13
+    tmp30 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1)))
+    tmp30 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) * -1
+    tmp6 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp3 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (4, 1))
+    tmp2 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 3), (4, 1))
+    tmp21 = np.copy(tmp19)
+    tmp21 += tmp20 * 0.5
+    tmp17 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (0, 1, 4, 5)) * -1
+    tmp11 = np.copy(v.aaaa.oovv)
+    tmp11 += tmp10 * -2
+    del tmp10
+    tmp43 = np.copy(f.bb.vv) * -1
+    tmp43 += tmp24
+    tmp43 += tmp25 * 2
+    tmp50 = einsum(v.bbbb.oovv, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp39 = einsum(v.bbbb.oooo, (0, 1, 2, 3), t2.bbbb, (3, 1, 4, 5), (0, 2, 4, 5)) * -1
+    tmp41 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5))
+    tmp42 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp44 = einsum(t2.abab, (0, 1, 2, 3), tmp27, (0, 4, 2, 5), (1, 4, 3, 5))
+    tmp49 = einsum(tmp48, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5))
+    del tmp48
+    tmp52 = einsum(tmp51, (0, 1, 2, 3), t2.bbbb, (3, 2, 4, 5), (1, 0, 4, 5))
+    del tmp51
+    tmp53 = einsum(t2.bbbb, (0, 1, 2, 3), tmp37, (4, 1), (0, 4, 2, 3)) * -1
+    tmp47 = einsum(tmp46, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp46
+    tmp40 = einsum(f.bb.oo, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp26 = np.copy(tmp24) * 0.5
+    del tmp24
+    tmp26 += tmp25
+    del tmp25
+    tmp33 = np.copy(tmp32) * 2
+    tmp33 += tmp14 * -1
+    tmp31 = np.copy(v.aaaa.oovv)
+    tmp31 += np.transpose(tmp6, (1, 0, 3, 2)) * -1
+    tmp31 += einsum(tmp30, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (1, 4, 3, 5)) * 2
+    del tmp30
+    tmp29 = np.copy(np.transpose(v.aabb.vvoo, (2, 3, 0, 1)))
+    tmp29 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (2, 4, 1, 5)) * -1
+    tmp34 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp23 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 1), (4, 5, 2, 3))
+    tmp28 = np.copy(f.aa.vv) * -1
+    tmp28 += np.transpose(tmp2, (1, 0)) * 2
+    tmp28 += np.transpose(tmp3, (1, 0))
+    tmp38 = np.copy(tmp19) * 2
+    del tmp19
+    tmp38 += tmp20
+    del tmp20
+    tmp8 = einsum(t2.aaaa, (0, 1, 2, 3), tmp6, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp15 = einsum(tmp14, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2)) * -1
+    del tmp14
+    tmp22 = einsum(t2.aaaa, (0, 1, 2, 3), tmp21, (4, 1), (4, 0, 2, 3)) * -2
+    del tmp21
+    tmp18 = einsum(tmp17, (0, 1, 2, 3), t2.aaaa, (3, 2, 4, 5), (1, 0, 4, 5))
+    del tmp17
+    tmp1 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.oooo, (4, 1, 5, 0), (4, 5, 2, 3)) * -1
+    tmp0 = einsum(t2.aaaa, (0, 1, 2, 3), f.aa.oo, (4, 1), (4, 0, 2, 3))
+    tmp7 = np.copy(f.aa.vv) * -1
+    tmp7 += tmp2 * 2
+    tmp7 += tmp3
+    tmp4 = np.copy(tmp2)
+    del tmp2
+    tmp4 += tmp3 * 0.5
+    del tmp3
+    tmp5 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp16 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.oovv, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp12 = einsum(tmp11, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp11
+    t2new.bbbb = np.copy(np.transpose(tmp39, (1, 0, 3, 2))) * 2
+    del tmp39
+    t2new.bbbb += np.transpose(tmp40, (1, 0, 3, 2)) * 2
+    t2new.bbbb += np.transpose(tmp40, (0, 1, 3, 2)) * -2
+    del tmp40
+    t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp26, (4, 3), (0, 1, 2, 4)) * -4
+    t2new.bbbb += np.transpose(tmp41, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp42, (1, 0, 3, 2)) * 2
+    t2new.bbbb += einsum(tmp43, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) * 2
+    del tmp43
+    t2new.bbbb += np.transpose(tmp41, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp42, (1, 0, 2, 3)) * -2
+    t2new.bbbb += einsum(f.bb.vv, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 4, 0)) * 2
+    t2new.bbbb += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    t2new.bbbb += np.transpose(v.bbbb.ovov, (0, 2, 3, 1)) * -1
+    t2new.bbbb += np.transpose(tmp41, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp42, (0, 1, 3, 2)) * -2
+    t2new.bbbb += np.transpose(tmp44, (0, 1, 3, 2)) * -2
+    t2new.bbbb += np.transpose(tmp44, (1, 0, 2, 3)) * -2
+    t2new.bbbb += np.transpose(tmp47, (0, 1, 3, 2)) * 2
+    t2new.bbbb += np.transpose(tmp49, (1, 0, 2, 3)) * -1
+    t2new.bbbb += tmp44 * 2
+    t2new.bbbb += np.transpose(tmp44, (1, 0, 3, 2)) * 2
+    del tmp44
+    t2new.bbbb += np.transpose(tmp47, (1, 0, 3, 2)) * -2
+    del tmp47
+    t2new.bbbb += tmp49
+    del tmp49
+    t2new.bbbb += tmp41
+    del tmp41
+    t2new.bbbb += tmp42 * 2
+    del tmp42
+    t2new.bbbb += tmp50 * -2
+    t2new.bbbb += np.transpose(tmp50, (1, 0, 2, 3)) * 2
+    del tmp50
+    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(tmp52, (0, 1, 3, 2)) * -2
+    del tmp52
+    t2new.bbbb += np.transpose(tmp53, (0, 1, 3, 2)) * -2
+    t2new.bbbb += np.transpose(tmp53, (1, 0, 3, 2)) * 2
+    del tmp53
+    t2new.abab = np.copy(tmp23)
+    del tmp23
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), f.bb.oo, (4, 1), (0, 4, 2, 3)) * -1
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), f.aa.oo, (4, 0), (4, 1, 2, 3)) * -1
+    t2new.abab += einsum(tmp26, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 4, 0)) * -2
+    del tmp26
+    t2new.abab += tmp27 * 2
+    del tmp27
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3))
+    t2new.abab += einsum(tmp28, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1
+    del tmp28
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), f.bb.vv, (4, 3), (0, 1, 2, 4))
+    t2new.abab += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    t2new.abab += einsum(tmp29, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5)) * -1
+    del tmp29
+    t2new.abab += einsum(tmp31, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5)) * -1
+    del tmp31
+    t2new.abab += einsum(t2.bbbb, (0, 1, 2, 3), tmp33, (4, 1, 5, 3), (4, 0, 5, 2)) * 2
+    del tmp33
+    t2new.abab += einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    t2new.abab += tmp32 * 2
+    del tmp32
+    t2new.abab += einsum(v.bbbb.oovv, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2)) * -1
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.oovv, (4, 0, 5, 3), (4, 1, 2, 5)) * -1
+    t2new.abab += einsum(v.aabb.vvvv, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 5, 0, 2))
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp34, (4, 0, 5, 1), (4, 5, 2, 3))
+    del tmp34
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp37, (4, 1), (0, 4, 2, 3)) * -1
+    del tmp37
+    t2new.abab += einsum(tmp38, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4)) * -1
+    del tmp38
+    t2new.aaaa = np.copy(np.transpose(tmp0, (1, 0, 3, 2))) * 2
+    t2new.aaaa += np.transpose(tmp1, (1, 0, 3, 2)) * 2
+    del tmp1
+    t2new.aaaa += np.transpose(tmp0, (0, 1, 3, 2)) * -2
+    del tmp0
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp4, (4, 3), (0, 1, 2, 4)) * -4
+    del tmp4
+    t2new.aaaa += np.transpose(tmp5, (1, 0, 3, 2)) * 2
+    t2new.aaaa += np.transpose(tmp6, (1, 0, 3, 2))
+    t2new.aaaa += einsum(tmp7, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) * 2
+    del tmp7
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), f.aa.vv, (4, 3), (0, 1, 2, 4)) * 2
+    t2new.aaaa += np.transpose(tmp5, (1, 0, 2, 3)) * -2
+    t2new.aaaa += np.transpose(tmp6, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    t2new.aaaa += np.transpose(v.aaaa.ovov, (0, 2, 3, 1)) * -1
+    t2new.aaaa += np.transpose(tmp5, (0, 1, 3, 2)) * -2
+    t2new.aaaa += np.transpose(tmp6, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp8, (0, 1, 3, 2)) * -2
+    t2new.aaaa += np.transpose(tmp8, (1, 0, 2, 3)) * -2
+    t2new.aaaa += np.transpose(tmp12, (0, 1, 3, 2)) * 2
+    t2new.aaaa += np.transpose(tmp15, (1, 0, 2, 3)) * -1
+    t2new.aaaa += tmp8 * 2
+    t2new.aaaa += np.transpose(tmp8, (1, 0, 3, 2)) * 2
+    del tmp8
+    t2new.aaaa += np.transpose(tmp12, (1, 0, 3, 2)) * -2
+    del tmp12
+    t2new.aaaa += np.transpose(tmp15, (1, 0, 3, 2))
+    del tmp15
+    t2new.aaaa += tmp5 * 2
+    del tmp5
+    t2new.aaaa += tmp6
+    del tmp6
+    t2new.aaaa += tmp16 * -2
+    t2new.aaaa += np.transpose(tmp16, (1, 0, 2, 3)) * 2
+    del tmp16
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 2, 5, 3), (0, 1, 4, 5)) * 2
+    t2new.aaaa += np.transpose(tmp18, (0, 1, 3, 2)) * -2
+    del tmp18
+    t2new.aaaa += np.transpose(tmp22, (1, 0, 3, 2)) * -2
+    t2new.aaaa += np.transpose(tmp22, (0, 1, 3, 2)) * 2
+    del tmp22
+
+    return {f"t2new": t2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCD.update_lams(f=None, l2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:21.203218.

+

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.

+ +
+ Source code in ebcc/codegen/UCCD.py +
273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
def update_lams(f=None, l2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:21.203218.
+
+    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()
+    tmp37 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3))
+    tmp38 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4))
+    tmp51 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5))
+    tmp52 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp40 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4))
+    tmp41 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4))
+    tmp54 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3))
+    tmp55 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp48 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4))
+    tmp47 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 4), (4, 3))
+    tmp59 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1))
+    tmp60 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4))
+    tmp78 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5))
+    tmp79 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp1 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4))
+    tmp0 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4))
+    tmp7 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3))
+    tmp8 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp32 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0))
+    tmp31 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0))
+    tmp20 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (4, 1))
+    tmp19 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 1), (4, 3)) * -1
+    tmp27 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp28 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp4 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp5 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp39 = np.copy(tmp37)
+    del tmp37
+    tmp39 += tmp38 * 2
+    del tmp38
+    tmp53 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3)))
+    tmp53 += v.bbbb.oovv * -1
+    tmp53 += tmp51
+    tmp53 += tmp52 * 2
+    tmp66 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3)))
+    tmp66 += v.bbbb.oovv * -1
+    tmp66 += tmp51
+    del tmp51
+    tmp66 += tmp52 * 2
+    del tmp52
+    tmp69 = np.copy(f.bb.oo)
+    tmp69 += tmp40
+    tmp69 += tmp41 * 2
+    tmp56 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3)))
+    tmp56 += tmp54 * 2
+    del tmp54
+    tmp56 += tmp55
+    del tmp55
+    tmp72 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5))
+    tmp49 = np.copy(f.bb.vv) * -1
+    tmp49 += tmp47
+    del tmp47
+    tmp49 += tmp48 * 2
+    del tmp48
+    tmp61 = np.copy(tmp59) * 0.5
+    tmp61 += tmp60
+    tmp80 = np.copy(tmp78)
+    del tmp78
+    tmp80 += tmp79 * 4
+    del tmp79
+    tmp82 = np.copy(tmp59)
+    del tmp59
+    tmp82 += tmp60 * 2
+    del tmp60
+    tmp43 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 5), (4, 0, 5, 1))
+    tmp11 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4)) * -1
+    tmp12 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0))
+    tmp2 = np.copy(tmp0)
+    tmp2 += tmp1 * 0.5
+    tmp9 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3)))
+    tmp9 += tmp7
+    del tmp7
+    tmp9 += tmp8 * 2
+    del tmp8
+    tmp35 = np.copy(tmp31) * 2
+    tmp35 += tmp32
+    tmp17 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 5), (4, 5, 0, 1))
+    tmp21 = np.copy(f.aa.vv) * -1
+    tmp21 += tmp19 * 2
+    tmp21 += tmp20
+    tmp29 = np.copy(tmp27) * 4
+    del tmp27
+    tmp29 += tmp28
+    del tmp28
+    tmp33 = np.copy(tmp31)
+    del tmp31
+    tmp33 += tmp32 * 0.5
+    del tmp32
+    tmp25 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3)))
+    tmp25 += v.aaaa.oovv * -1
+    tmp25 += tmp4 * 2
+    tmp25 += tmp5
+    tmp76 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp39, (4, 3), (0, 2, 4, 1))
+    tmp75 = np.copy(v.bbbb.oooo)
+    tmp75 += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 5, 2), (0, 4, 5, 1)) * -1
+    tmp77 = einsum(tmp53, (0, 1, 2, 3), l2.bbbb, (4, 2, 5, 0), (5, 1, 4, 3))
+    tmp67 = einsum(tmp66, (0, 1, 2, 3), l2.bbbb, (4, 2, 5, 0), (5, 1, 4, 3)) * 2
+    del tmp66
+    tmp70 = einsum(l2.bbbb, (0, 1, 2, 3), tmp69, (3, 4), (2, 4, 0, 1)) * -2
+    del tmp69
+    tmp68 = einsum(tmp56, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (1, 5, 3, 4))
+    tmp73 = einsum(tmp72, (0, 1, 2, 3), v.bbbb.ovov, (3, 4, 2, 5), (1, 0, 5, 4)) * -1
+    del tmp72
+    tmp74 = einsum(l2.bbbb, (0, 1, 2, 3), tmp49, (1, 4), (2, 3, 0, 4)) * -1
+    tmp65 = einsum(tmp39, (0, 1), v.bbbb.ovov, (2, 1, 3, 4), (2, 3, 0, 4))
+    tmp84 = einsum(tmp61, (0, 1), v.bbbb.ovov, (2, 3, 1, 4), (0, 2, 4, 3)) * 2
+    tmp81 = einsum(tmp80, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    del tmp80
+    tmp71 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), l2.bbbb, (1, 3, 4, 5), (4, 5, 0, 2))
+    tmp83 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp82, (4, 2), (4, 0, 3, 1))
+    del tmp82
+    tmp57 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4))
+    tmp44 = einsum(tmp43, (0, 1, 2, 3), v.aabb.ovov, (1, 4, 3, 5), (0, 2, 4, 5))
+    del tmp43
+    tmp46 = np.copy(f.aa.vv) * -0.5
+    tmp46 += tmp19
+    del tmp19
+    tmp46 += tmp20 * 0.5
+    del tmp20
+    tmp13 = np.copy(f.aa.oo) * 0.5
+    tmp13 += tmp11
+    tmp13 += tmp12 * 0.5
+    tmp14 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3)))
+    tmp14 += v.aaaa.oovv * -1
+    tmp14 += tmp4 * 2
+    tmp14 += tmp5
+    tmp50 = np.copy(v.aabb.oooo)
+    tmp50 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp63 = einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (4, 3, 5, 1))
+    tmp63 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (4, 2, 5, 0))
+    tmp42 = np.copy(f.bb.oo) * 0.5
+    tmp42 += tmp40 * 0.5
+    del tmp40
+    tmp42 += tmp41
+    del tmp41
+    tmp64 = einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (2, 4, 0, 5))
+    tmp64 += einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp62 = np.copy(tmp0) * 2
+    del tmp0
+    tmp62 += tmp1
+    del tmp1
+    tmp45 = einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 0, 5, 1), (2, 3, 4, 5))
+    tmp58 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp24 = einsum(tmp2, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (2, 4, 3, 0)) * 2
+    tmp10 = einsum(l2.abab, (0, 1, 2, 3), tmp9, (4, 3, 5, 1), (4, 2, 5, 0))
+    tmp15 = np.copy(f.aa.oo)
+    tmp15 += tmp11 * 2
+    del tmp11
+    tmp15 += tmp12
+    del tmp12
+    tmp36 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp35, (4, 2), (0, 4, 3, 1))
+    tmp18 = einsum(tmp17, (0, 1, 2, 3), v.aaaa.ovov, (3, 4, 2, 5), (1, 0, 5, 4)) * -1
+    del tmp17
+    tmp22 = einsum(tmp21, (0, 1), l2.aaaa, (2, 0, 3, 4), (3, 4, 1, 2)) * -1
+    del tmp21
+    tmp30 = einsum(tmp29, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 5), (4, 0, 5, 2))
+    del tmp29
+    tmp6 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3))) * 0.5
+    tmp6 += v.aaaa.oovv * -0.5
+    tmp6 += tmp4
+    del tmp4
+    tmp6 += tmp5 * 0.5
+    del tmp5
+    tmp34 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp33, (4, 2), (0, 4, 3, 1)) * 2
+    del tmp33
+    tmp3 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp2, (4, 1), (0, 2, 3, 4)) * 2
+    del tmp2
+    tmp16 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), l2.aaaa, (3, 1, 4, 5), (4, 5, 0, 2)) * -1
+    tmp26 = einsum(l2.aaaa, (0, 1, 2, 3), tmp25, (3, 4, 1, 5), (4, 2, 5, 0))
+    del tmp25
+    tmp23 = np.copy(v.aaaa.oooo)
+    tmp23 += einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 5, 1, 3), (4, 0, 2, 5))
+    l2new.bbbb = np.copy(np.transpose(v.bbbb.ovov, (1, 3, 0, 2)))
+    l2new.bbbb += np.transpose(tmp65, (3, 2, 1, 0)) * -1
+    l2new.bbbb += np.transpose(v.bbbb.ovov, (3, 1, 0, 2)) * -1
+    l2new.bbbb += np.transpose(tmp65, (2, 3, 1, 0))
+    del tmp65
+    l2new.bbbb += np.transpose(tmp67, (3, 2, 0, 1)) * -1
+    l2new.bbbb += np.transpose(tmp68, (2, 3, 1, 0)) * -1
+    l2new.bbbb += np.transpose(tmp70, (3, 2, 0, 1)) * -1
+    l2new.bbbb += np.transpose(tmp67, (3, 2, 1, 0))
+    del tmp67
+    l2new.bbbb += np.transpose(tmp68, (2, 3, 0, 1))
+    l2new.bbbb += np.transpose(tmp70, (3, 2, 1, 0))
+    del tmp70
+    l2new.bbbb += np.transpose(tmp71, (3, 2, 1, 0)) * 2
+    del tmp71
+    l2new.bbbb += np.transpose(tmp73, (3, 2, 1, 0)) * 2
+    del tmp73
+    l2new.bbbb += np.transpose(tmp74, (3, 2, 1, 0)) * 2
+    l2new.bbbb += np.transpose(tmp74, (2, 3, 1, 0)) * -2
+    del tmp74
+    l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp75, (2, 4, 5, 3), (0, 1, 5, 4)) * -2
+    del tmp75
+    l2new.bbbb += np.transpose(tmp76, (3, 2, 1, 0))
+    l2new.bbbb += np.transpose(tmp77, (2, 3, 0, 1)) * 2
+    l2new.bbbb += np.transpose(tmp68, (3, 2, 1, 0))
+    l2new.bbbb += np.transpose(tmp77, (2, 3, 1, 0)) * -2
+    del tmp77
+    l2new.bbbb += np.transpose(tmp68, (3, 2, 0, 1)) * -1
+    del tmp68
+    l2new.bbbb += np.transpose(tmp81, (3, 2, 0, 1))
+    l2new.bbbb += np.transpose(tmp83, (2, 3, 0, 1)) * -1
+    l2new.bbbb += np.transpose(tmp81, (2, 3, 0, 1)) * -1
+    l2new.bbbb += np.transpose(tmp83, (3, 2, 0, 1))
+    del tmp83
+    l2new.bbbb += np.transpose(tmp81, (3, 2, 1, 0)) * -1
+    l2new.bbbb += np.transpose(tmp84, (2, 3, 1, 0))
+    l2new.bbbb += np.transpose(tmp81, (2, 3, 1, 0))
+    del tmp81
+    l2new.bbbb += np.transpose(tmp84, (3, 2, 1, 0)) * -1
+    del tmp84
+    l2new.bbbb += np.transpose(tmp76, (2, 3, 1, 0)) * -1
+    del tmp76
+    l2new.abab = np.copy(np.transpose(v.aabb.ovov, (1, 3, 0, 2)))
+    l2new.abab += einsum(tmp39, (0, 1), v.aabb.ovov, (2, 3, 4, 1), (3, 0, 2, 4)) * -1
+    del tmp39
+    l2new.abab += einsum(v.aabb.vvoo, (0, 1, 2, 3), l2.abab, (1, 4, 5, 3), (0, 4, 5, 2)) * -1
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp42, (3, 4), (0, 1, 2, 4)) * -2
+    del tmp42
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp14, (2, 4, 0, 5), (5, 1, 4, 3))
+    l2new.abab += einsum(l2.bbbb, (0, 1, 2, 3), tmp9, (4, 3, 5, 1), (5, 0, 4, 2)) * 2
+    del tmp9
+    l2new.abab += einsum(tmp13, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -2
+    l2new.abab += np.transpose(tmp44, (2, 3, 0, 1))
+    del tmp44
+    l2new.abab += np.transpose(tmp45, (2, 3, 0, 1))
+    del tmp45
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp46, (0, 4), (4, 1, 2, 3)) * -2
+    del tmp46
+    l2new.abab += einsum(tmp49, (0, 1), l2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1
+    del tmp49
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp50, (2, 4, 3, 5), (0, 1, 4, 5))
+    del tmp50
+    l2new.abab += einsum(tmp53, (0, 1, 2, 3), l2.abab, (4, 2, 5, 0), (4, 3, 5, 1))
+    del tmp53
+    l2new.abab += einsum(l2.aaaa, (0, 1, 2, 3), tmp56, (3, 4, 1, 5), (0, 5, 2, 4)) * 2
+    del tmp56
+    l2new.abab += einsum(v.aabb.oovv, (0, 1, 2, 3), l2.abab, (4, 3, 1, 5), (4, 2, 0, 5)) * -1
+    l2new.abab += einsum(tmp57, (0, 1, 2, 3), l2.abab, (2, 4, 5, 0), (3, 4, 5, 1))
+    del tmp57
+    l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp35, (4, 0), (1, 3, 4, 2)) * -1
+    del tmp35
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp58, (2, 4, 1, 5), (0, 5, 4, 3))
+    del tmp58
+    l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp61, (4, 2), (1, 3, 0, 4)) * -2
+    del tmp61
+    l2new.abab += einsum(tmp62, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 4, 2, 3)) * -1
+    del tmp62
+    l2new.abab += einsum(tmp63, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 0, 5), (5, 3, 4, 1)) * -2
+    del tmp63
+    l2new.abab += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp64, (4, 2, 5, 1), (5, 3, 4, 0)) * -2
+    del tmp64
+    l2new.aaaa = np.copy(np.transpose(v.aaaa.ovov, (1, 3, 0, 2)))
+    l2new.aaaa += np.transpose(tmp3, (2, 3, 1, 0)) * -1
+    l2new.aaaa += np.transpose(v.aaaa.ovov, (3, 1, 0, 2)) * -1
+    l2new.aaaa += np.transpose(tmp3, (3, 2, 1, 0))
+    del tmp3
+    l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp6, (3, 4, 1, 5), (5, 0, 2, 4)) * -4
+    del tmp6
+    l2new.aaaa += np.transpose(tmp10, (2, 3, 1, 0)) * -1
+    l2new.aaaa += einsum(tmp13, (0, 1), l2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -4
+    del tmp13
+    l2new.aaaa += einsum(tmp14, (0, 1, 2, 3), l2.aaaa, (4, 2, 5, 0), (3, 4, 1, 5)) * 2
+    del tmp14
+    l2new.aaaa += np.transpose(tmp10, (2, 3, 0, 1))
+    l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp15, (3, 4), (0, 1, 4, 2)) * 2
+    del tmp15
+    l2new.aaaa += np.transpose(tmp16, (3, 2, 1, 0)) * 2
+    del tmp16
+    l2new.aaaa += np.transpose(tmp18, (3, 2, 1, 0)) * 2
+    del tmp18
+    l2new.aaaa += np.transpose(tmp22, (2, 3, 1, 0)) * 2
+    l2new.aaaa += np.transpose(tmp22, (3, 2, 1, 0)) * -2
+    del tmp22
+    l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp23, (2, 4, 5, 3), (0, 1, 5, 4)) * -2
+    del tmp23
+    l2new.aaaa += np.transpose(tmp24, (2, 3, 1, 0))
+    l2new.aaaa += np.transpose(tmp26, (3, 2, 1, 0)) * 2
+    l2new.aaaa += np.transpose(tmp10, (3, 2, 1, 0))
+    l2new.aaaa += np.transpose(tmp26, (3, 2, 0, 1)) * -2
+    del tmp26
+    l2new.aaaa += np.transpose(tmp10, (3, 2, 0, 1)) * -1
+    del tmp10
+    l2new.aaaa += np.transpose(tmp30, (2, 3, 1, 0))
+    l2new.aaaa += np.transpose(tmp34, (2, 3, 1, 0)) * -1
+    l2new.aaaa += np.transpose(tmp30, (3, 2, 1, 0)) * -1
+    l2new.aaaa += np.transpose(tmp34, (3, 2, 1, 0))
+    del tmp34
+    l2new.aaaa += np.transpose(tmp30, (2, 3, 0, 1)) * -1
+    l2new.aaaa += np.transpose(tmp36, (2, 3, 0, 1))
+    l2new.aaaa += np.transpose(tmp30, (3, 2, 0, 1))
+    del tmp30
+    l2new.aaaa += np.transpose(tmp36, (3, 2, 0, 1)) * -1
+    del tmp36
+    l2new.aaaa += np.transpose(tmp24, (3, 2, 1, 0)) * -1
+    del tmp24
+
+    return {f"l2new": l2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCD.make_rdm1_f(l2=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:21.779690.

+

Parameters

+

l2 : Namespace of arrays + L2 amplitudes. +t2 : Namespace of arrays + T2 amplitudes.

+

Returns

+

rdm1 : Namespace of arrays + One-particle reduced density matrix.

+ +
+ Source code in ebcc/codegen/UCCD.py +
595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
def make_rdm1_f(l2=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:21.779690.
+
+    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(t2.aaaa.shape[-1])),
+        bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t2.bbbb.shape[-1])),
+    )
+    rdm1.bb.vv = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) * 2
+    rdm1.bb.vv += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3))
+    rdm1.aa.vv = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4))
+    rdm1.aa.vv += einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 0, 1), (4, 2)) * 2
+    rdm1.bb.oo = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (4, 2)) * -2
+    rdm1.bb.oo += delta.bb.oo
+    rdm1.bb.oo += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (4, 3)) * -1
+    rdm1.aa.oo = np.copy(delta.aa.oo)
+    del delta
+    rdm1.aa.oo += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (0, 4)) * -1
+    rdm1.aa.oo += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (4, 2)) * -2
+    rdm1.aa.ov = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[-1]))
+    rdm1.aa.vo = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[0]))
+    rdm1.bb.ov = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[-1]))
+    rdm1.bb.vo = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[0]))
+    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
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCD.make_rdm2_f(l2=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:48:30.836169.

+

Parameters

+

l2 : Namespace of arrays + L2 amplitudes. +t2 : Namespace of arrays + T2 amplitudes.

+

Returns

+

rdm2 : Namespace of arrays + Two-particle reduced density matrix.

+ +
+ Source code in ebcc/codegen/UCCD.py +
639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+845
+846
+847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
+858
+859
+860
+861
+862
+863
+864
+865
+866
+867
+868
+869
+870
+871
+872
+873
+874
+875
+876
+877
+878
+879
+880
+881
+882
+883
+884
+885
+886
def make_rdm2_f(l2=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:48:30.836169.
+
+    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(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))
+    tmp6 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4))
+    tmp1 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0))
+    tmp0 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0))
+    tmp24 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3))
+    tmp25 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 0, 1), (4, 2))
+    tmp12 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 0, 1), (4, 2))
+    tmp13 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4))
+    tmp36 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp38 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5))
+    tmp34 = einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (2, 4, 0, 5))
+    tmp10 = np.copy(tmp5)
+    tmp10 += tmp6 * 2
+    tmp11 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5))
+    tmp21 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp19 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp29 = einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (4, 3, 5, 1))
+    tmp17 = einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (4, 2, 5, 0))
+    tmp3 = np.copy(tmp0)
+    tmp3 += tmp1 * 0.5
+    tmp4 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 5), (4, 5, 0, 1))
+    tmp42 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (0, 1, 4, 5))
+    tmp41 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 1), (4, 5, 2, 3))
+    tmp40 = np.copy(tmp24)
+    tmp40 += tmp25 * 2
+    tmp23 = np.copy(tmp12)
+    tmp23 += tmp13 * 0.5
+    tmp26 = np.copy(tmp24) * 0.5
+    del tmp24
+    tmp26 += tmp25
+    del tmp25
+    tmp14 = np.copy(tmp12) * 2
+    del tmp12
+    tmp14 += tmp13
+    del tmp13
+    tmp28 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 5, 1), (5, 0, 4, 3))
+    tmp37 = einsum(tmp36, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 1, 5, 3))
+    tmp39 = einsum(tmp38, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (1, 4, 3, 5))
+    tmp35 = einsum(tmp34, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5))
+    tmp32 = einsum(t2.bbbb, (0, 1, 2, 3), tmp10, (1, 4), (0, 4, 2, 3)) * -1
+    tmp33 = einsum(tmp11, (0, 1, 2, 3), t2.bbbb, (1, 0, 4, 5), (3, 2, 4, 5))
+    tmp8 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 5), (4, 0, 5, 1))
+    tmp31 = np.copy(tmp19) * 4
+    tmp31 += tmp21
+    tmp30 = np.copy(tmp29)
+    tmp30 += tmp17
+    tmp27 = np.copy(tmp0) * 2
+    tmp27 += tmp1
+    tmp20 = einsum(t2.aaaa, (0, 1, 2, 3), tmp19, (1, 4, 3, 5), (4, 0, 5, 2))
+    tmp15 = einsum(tmp3, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -2
+    tmp18 = einsum(t2.abab, (0, 1, 2, 3), tmp17, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp22 = einsum(tmp21, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3))
+    tmp16 = einsum(t2.aaaa, (0, 1, 2, 3), tmp4, (1, 0, 4, 5), (5, 4, 2, 3))
+    tmp9 = np.copy(delta.bb.oo) * -0.5
+    tmp9 += tmp5 * 0.5
+    tmp9 += tmp6
+    tmp7 = np.copy(delta.bb.oo) * -1
+    tmp7 += tmp5
+    del tmp5
+    tmp7 += tmp6 * 2
+    del tmp6
+    tmp2 = np.copy(delta.aa.oo) * -1
+    tmp2 += tmp0 * 2
+    del tmp0
+    tmp2 += tmp1
+    del tmp1
+    rdm2.bbbb.vvvv = np.copy(np.transpose(tmp42, (1, 0, 3, 2))) * 2
+    del tmp42
+    rdm2.abab.vvvv = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 5), (0, 1, 4, 5))
+    rdm2.aaaa.vvvv = np.copy(np.transpose(tmp41, (1, 0, 3, 2))) * 2
+    del tmp41
+    rdm2.bbbb.vvoo = np.copy(l2.bbbb) * 2
+    rdm2.abab.vvoo = np.copy(l2.abab)
+    rdm2.aaaa.vvoo = np.copy(l2.aaaa) * 2
+    rdm2.bbbb.vovo = einsum(delta.bb.oo, (0, 1), tmp40, (2, 3), (2, 0, 3, 1))
+    rdm2.bbbb.vovo += np.transpose(tmp38, (2, 1, 3, 0)) * -1
+    rdm2.bbbb.vovo += np.transpose(tmp36, (2, 1, 3, 0)) * -4
+    rdm2.abab.vovo = einsum(tmp23, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) * 2
+    rdm2.abab.vovo += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (0, 4, 5, 3)) * -1
+    rdm2.aaaa.vovo = einsum(tmp23, (0, 1), delta.aa.oo, (2, 3), (0, 2, 1, 3)) * 2
+    rdm2.aaaa.vovo += np.transpose(tmp19, (2, 1, 3, 0)) * -4
+    rdm2.aaaa.vovo += np.transpose(tmp21, (2, 1, 3, 0)) * -1
+    rdm2.bbbb.voov = einsum(tmp26, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) * -2
+    rdm2.bbbb.voov += np.transpose(tmp38, (2, 1, 0, 3))
+    rdm2.bbbb.voov += np.transpose(tmp36, (2, 1, 0, 3)) * 4
+    rdm2.abab.voov = einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (4, 0, 5, 2)) * 2
+    rdm2.abab.voov += np.transpose(tmp34, (2, 1, 0, 3)) * 2
+    del tmp34
+    rdm2.aaaa.voov = einsum(tmp14, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.aaaa.voov += np.transpose(tmp19, (2, 1, 0, 3)) * 4
+    rdm2.aaaa.voov += np.transpose(tmp21, (2, 1, 0, 3))
+    rdm2.bbbb.ovvo = einsum(delta.bb.oo, (0, 1), tmp40, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.bbbb.ovvo += np.transpose(tmp38, (1, 2, 3, 0))
+    rdm2.bbbb.ovvo += np.transpose(tmp36, (1, 2, 3, 0)) * 4
+    rdm2.abab.ovvo = np.copy(np.transpose(tmp17, (0, 3, 2, 1))) * 2
+    del tmp17
+    rdm2.abab.ovvo += np.transpose(tmp29, (0, 3, 2, 1)) * 2
+    del tmp29
+    rdm2.aaaa.ovvo = einsum(tmp23, (0, 1), delta.aa.oo, (2, 3), (2, 0, 1, 3)) * -2
+    rdm2.aaaa.ovvo += np.transpose(tmp19, (1, 2, 3, 0)) * 4
+    rdm2.aaaa.ovvo += np.transpose(tmp21, (1, 2, 3, 0))
+    rdm2.bbbb.ovov = einsum(tmp26, (0, 1), delta.bb.oo, (2, 3), (2, 0, 3, 1)) * 2
+    rdm2.bbbb.ovov += np.transpose(tmp38, (1, 2, 0, 3)) * -1
+    del tmp38
+    rdm2.bbbb.ovov += np.transpose(tmp36, (1, 2, 0, 3)) * -4
+    del tmp36
+    rdm2.abab.ovov = einsum(tmp40, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1))
+    rdm2.abab.ovov += np.transpose(tmp28, (1, 2, 0, 3)) * -1
+    rdm2.aaaa.ovov = einsum(tmp14, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1))
+    rdm2.aaaa.ovov += np.transpose(tmp19, (1, 2, 0, 3)) * -4
+    del tmp19
+    rdm2.aaaa.ovov += np.transpose(tmp21, (1, 2, 0, 3)) * -1
+    del tmp21
+    rdm2.bbbb.oovv = np.copy(t2.bbbb) * 2
+    rdm2.bbbb.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp26, (3, 4), (0, 1, 2, 4)) * -4
+    rdm2.bbbb.oovv += np.transpose(tmp32, (1, 0, 3, 2)) * 2
+    rdm2.bbbb.oovv += np.transpose(tmp32, (0, 1, 3, 2)) * -2
+    del tmp32
+    rdm2.bbbb.oovv += np.transpose(tmp33, (0, 1, 3, 2)) * -2
+    del tmp33
+    rdm2.bbbb.oovv += np.transpose(tmp35, (0, 1, 3, 2)) * -2
+    rdm2.bbbb.oovv += np.transpose(tmp37, (0, 1, 3, 2)) * -8
+    rdm2.bbbb.oovv += np.transpose(tmp39, (0, 1, 3, 2)) * -2
+    rdm2.bbbb.oovv += np.transpose(tmp39, (1, 0, 2, 3)) * -2
+    rdm2.bbbb.oovv += np.transpose(tmp35, (1, 0, 3, 2)) * 2
+    del tmp35
+    rdm2.bbbb.oovv += tmp37 * 8
+    del tmp37
+    rdm2.bbbb.oovv += tmp39 * 2
+    rdm2.bbbb.oovv += np.transpose(tmp39, (1, 0, 3, 2)) * 2
+    del tmp39
+    rdm2.bbbb.oovv += einsum(tmp40, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * 2
+    del tmp40
+    rdm2.abab.oovv = np.copy(t2.abab)
+    rdm2.abab.oovv += einsum(tmp26, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -2
+    del tmp26
+    rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp27, (0, 4), (4, 1, 2, 3)) * -1
+    del tmp27
+    rdm2.abab.oovv += einsum(tmp10, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1
+    rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp8, (0, 4, 1, 5), (4, 5, 2, 3))
+    rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp28, (0, 4, 3, 5), (4, 1, 2, 5))
+    del tmp28
+    rdm2.abab.oovv += einsum(tmp30, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 4, 2, 5)) * 4
+    del tmp30
+    rdm2.abab.oovv += einsum(tmp31, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5))
+    del tmp31
+    rdm2.abab.oovv += einsum(tmp14, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1
+    rdm2.aaaa.oovv = np.copy(t2.aaaa) * 2
+    rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp14, (3, 4), (0, 1, 2, 4)) * -2
+    del tmp14
+    rdm2.aaaa.oovv += np.transpose(tmp15, (1, 0, 3, 2)) * 2
+    rdm2.aaaa.oovv += np.transpose(tmp15, (0, 1, 3, 2)) * -2
+    del tmp15
+    rdm2.aaaa.oovv += np.transpose(tmp16, (0, 1, 3, 2)) * -2
+    del tmp16
+    rdm2.aaaa.oovv += np.transpose(tmp18, (0, 1, 3, 2)) * -2
+    rdm2.aaaa.oovv += np.transpose(tmp20, (0, 1, 3, 2)) * -8
+    rdm2.aaaa.oovv += np.transpose(tmp22, (0, 1, 3, 2)) * -2
+    rdm2.aaaa.oovv += np.transpose(tmp22, (1, 0, 2, 3)) * -2
+    rdm2.aaaa.oovv += tmp18 * 2
+    del tmp18
+    rdm2.aaaa.oovv += tmp20 * 8
+    del tmp20
+    rdm2.aaaa.oovv += tmp22 * 2
+    rdm2.aaaa.oovv += np.transpose(tmp22, (1, 0, 3, 2)) * 2
+    del tmp22
+    rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp23, (3, 4), (0, 1, 4, 2)) * 4
+    del tmp23
+    rdm2.bbbb.oooo = einsum(tmp9, (0, 1), delta.bb.oo, (2, 3), (2, 1, 3, 0)) * -2
+    rdm2.bbbb.oooo += einsum(tmp9, (0, 1), delta.bb.oo, (2, 3), (1, 2, 3, 0)) * 2
+    del tmp9
+    rdm2.bbbb.oooo += einsum(tmp10, (0, 1), delta.bb.oo, (2, 3), (1, 2, 0, 3)) * -1
+    rdm2.bbbb.oooo += einsum(tmp10, (0, 1), delta.bb.oo, (2, 3), (2, 1, 0, 3))
+    del tmp10
+    rdm2.bbbb.oooo += np.transpose(tmp11, (3, 2, 1, 0)) * 2
+    del tmp11
+    rdm2.abab.oooo = einsum(tmp7, (0, 1), delta.aa.oo, (2, 3), (2, 1, 3, 0)) * -1
+    del tmp7
+    rdm2.abab.oooo += einsum(tmp3, (0, 1), delta.bb.oo, (2, 3), (1, 2, 0, 3)) * -2
+    rdm2.abab.oooo += np.transpose(tmp8, (1, 3, 0, 2))
+    del tmp8
+    rdm2.aaaa.oooo = einsum(delta.aa.oo, (0, 1), tmp2, (2, 3), (0, 3, 1, 2)) * -1
+    rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp2, (2, 3), (3, 0, 1, 2))
+    del tmp2
+    rdm2.aaaa.oooo += einsum(tmp3, (0, 1), delta.aa.oo, (2, 3), (1, 2, 0, 3)) * -2
+    rdm2.aaaa.oooo += einsum(tmp3, (0, 1), delta.aa.oo, (2, 3), (2, 1, 0, 3)) * 2
+    del tmp3, delta
+    rdm2.aaaa.oooo += np.transpose(tmp4, (3, 2, 1, 0)) * 2
+    del tmp4
+    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.abab.ooov = np.zeros((t2.aaaa.shape[0], t2.bbbb.shape[0], t2.aaaa.shape[0], t2.bbbb.shape[-1]))
+    rdm2.abab.oovo = np.zeros((t2.aaaa.shape[0], t2.bbbb.shape[0], t2.aaaa.shape[-1], t2.bbbb.shape[0]))
+    rdm2.abab.ovoo = np.zeros((t2.aaaa.shape[0], t2.bbbb.shape[-1], t2.aaaa.shape[0], t2.bbbb.shape[0]))
+    rdm2.abab.vooo = np.zeros((t2.aaaa.shape[-1], t2.bbbb.shape[0], t2.aaaa.shape[0], t2.bbbb.shape[0]))
+    rdm2.abab.ovvv = np.zeros((t2.aaaa.shape[0], t2.bbbb.shape[-1], t2.aaaa.shape[-1], t2.bbbb.shape[-1]))
+    rdm2.abab.vovv = np.zeros((t2.aaaa.shape[-1], t2.bbbb.shape[0], t2.aaaa.shape[-1], t2.bbbb.shape[-1]))
+    rdm2.abab.vvov = np.zeros((t2.aaaa.shape[-1], t2.bbbb.shape[-1], t2.aaaa.shape[0], t2.bbbb.shape[-1]))
+    rdm2.abab.vvvo = np.zeros((t2.aaaa.shape[-1], t2.bbbb.shape[-1], t2.aaaa.shape[-1], t2.bbbb.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=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
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCD.hbar_matvec_ip_intermediates(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:49:02.648103.

+

Parameters

+

f : Namespace of arrays + Fock matrix. +t2 : Namespace of arrays + T2 amplitudes. +v : Namespace of arrays + Electron repulsion integrals.

+

Returns

+

tmp10 : array +tmp100 : array +tmp102 : array +tmp104 : array +tmp106 : array +tmp108 : array +tmp110 : array +tmp111 : array +tmp112 : array +tmp113 : array +tmp114 : array +tmp115 : array +tmp117 : array +tmp119 : array +tmp12 : array +tmp126 : array +tmp127 : array +tmp131 : array +tmp133 : array +tmp137 : array +tmp139 : array +tmp141 : array +tmp151 : array +tmp17 : array +tmp18 : array +tmp19 : array +tmp21 : array +tmp24 : array +tmp25 : array +tmp27 : array +tmp28 : array +tmp29 : array +tmp3 : array +tmp31 : array +tmp33 : array +tmp35 : array +tmp37 : array +tmp39 : array +tmp41 : array +tmp43 : array +tmp45 : array +tmp47 : array +tmp49 : array +tmp5 : array +tmp51 : array +tmp62 : array +tmp64 : array +tmp67 : array +tmp68 : array +tmp69 : array +tmp76 : array +tmp77 : array +tmp80 : array +tmp90 : array +tmp93 : array +tmp94 : array +tmp96 : array +tmp97 : array +tmp98 : array

+ +
+ Source code in ebcc/codegen/UCCD.py +
 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
def hbar_matvec_ip_intermediates(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:49:02.648103.
+
+    Parameters
+    ----------
+    f : Namespace of arrays
+        Fock matrix.
+    t2 : Namespace of arrays
+        T2 amplitudes.
+    v : Namespace of arrays
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp10 : array
+    tmp100 : array
+    tmp102 : array
+    tmp104 : array
+    tmp106 : array
+    tmp108 : array
+    tmp110 : array
+    tmp111 : array
+    tmp112 : array
+    tmp113 : array
+    tmp114 : array
+    tmp115 : array
+    tmp117 : array
+    tmp119 : array
+    tmp12 : array
+    tmp126 : array
+    tmp127 : array
+    tmp131 : array
+    tmp133 : array
+    tmp137 : array
+    tmp139 : array
+    tmp141 : array
+    tmp151 : array
+    tmp17 : array
+    tmp18 : array
+    tmp19 : array
+    tmp21 : array
+    tmp24 : array
+    tmp25 : array
+    tmp27 : array
+    tmp28 : array
+    tmp29 : array
+    tmp3 : array
+    tmp31 : array
+    tmp33 : array
+    tmp35 : array
+    tmp37 : array
+    tmp39 : array
+    tmp41 : array
+    tmp43 : array
+    tmp45 : array
+    tmp47 : array
+    tmp49 : array
+    tmp5 : array
+    tmp51 : array
+    tmp62 : array
+    tmp64 : array
+    tmp67 : array
+    tmp68 : array
+    tmp69 : array
+    tmp76 : array
+    tmp77 : array
+    tmp80 : array
+    tmp90 : array
+    tmp93 : array
+    tmp94 : array
+    tmp96 : array
+    tmp97 : array
+    tmp98 : array
+    """
+
+    tmp151 = einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp141 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 3, 5))
+    tmp139 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp137 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp133 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp131 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp127 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 3), (1, 4))
+    tmp126 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (1, 2, 4, 3), (0, 4))
+    tmp119 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp117 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 4), (4, 3))
+    tmp115 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 3), (4, 1))
+    tmp114 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 1), (0, 4, 5, 3))
+    tmp113 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 1), (4, 3))
+    tmp112 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 3), (0, 4))
+    tmp111 = einsum(t2.abab, (0, 1, 2, 3), f.aa.ov, (4, 2), (4, 0, 1, 3))
+    tmp110 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5))
+    tmp108 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp106 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp104 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp102 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (2, 4, 3, 5), (0, 4, 1, 5))
+    tmp100 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 0, 5), (4, 1, 5, 3))
+    tmp98 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp97 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 0, 2), (4, 5, 1, 3))
+    tmp96 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 5, 2), (4, 5, 1, 3))
+    tmp94 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.ov, (1, 3), (0, 2))
+    tmp93 = einsum(f.aa.ov, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp90 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (0, 4, 1, 5))
+    tmp80 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4))
+    tmp77 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 3), (4, 1, 5, 2))
+    tmp76 = einsum(t2.abab, (0, 1, 2, 3), f.bb.ov, (4, 3), (0, 4, 1, 2))
+    tmp69 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 3, 5))
+    tmp68 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp67 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp64 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp62 = einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 5, 2, 0))
+    tmp51 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp49 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3))
+    tmp47 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp45 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp43 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp41 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp39 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp37 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (4, 1))
+    tmp35 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 1), (4, 3)) * -1
+    tmp33 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp31 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp29 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp28 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (1, 2, 4, 3), (0, 4))
+    tmp27 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 1, 0, 3), (4, 2)) * -1
+    tmp25 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp24 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp21 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp19 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp18 = einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0))
+    tmp17 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (1, 2, 4, 3), (0, 4))
+    tmp12 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4))
+    tmp10 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 2), (0, 4)) * -1
+    tmp5 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0))
+    tmp3 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 3, 1), (4, 0)) * -1
+
+    return {f"tmp10": tmp10, f"tmp100": tmp100, f"tmp102": tmp102, f"tmp104": tmp104, f"tmp106": tmp106, f"tmp108": tmp108, f"tmp110": tmp110, f"tmp111": tmp111, f"tmp112": tmp112, f"tmp113": tmp113, f"tmp114": tmp114, f"tmp115": tmp115, f"tmp117": tmp117, f"tmp119": tmp119, f"tmp12": tmp12, f"tmp126": tmp126, f"tmp127": tmp127, f"tmp131": tmp131, f"tmp133": tmp133, f"tmp137": tmp137, f"tmp139": tmp139, f"tmp141": tmp141, f"tmp151": tmp151, f"tmp17": tmp17, f"tmp18": tmp18, f"tmp19": tmp19, f"tmp21": tmp21, f"tmp24": tmp24, f"tmp25": tmp25, f"tmp27": tmp27, f"tmp28": tmp28, f"tmp29": tmp29, f"tmp3": tmp3, f"tmp31": tmp31, f"tmp33": tmp33, f"tmp35": tmp35, f"tmp37": tmp37, f"tmp39": tmp39, f"tmp41": tmp41, f"tmp43": tmp43, f"tmp45": tmp45, f"tmp47": tmp47, f"tmp49": tmp49, f"tmp5": tmp5, f"tmp51": tmp51, f"tmp62": tmp62, f"tmp64": tmp64, f"tmp67": tmp67, f"tmp68": tmp68, f"tmp69": tmp69, f"tmp76": tmp76, f"tmp77": tmp77, f"tmp80": tmp80, f"tmp90": tmp90, f"tmp93": tmp93, f"tmp94": tmp94, f"tmp96": tmp96, f"tmp97": tmp97, f"tmp98": tmp98}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCD.hbar_matvec_ip(f=None, r1=None, r2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:49:02.687282.

+

Parameters

+

f : Namespace of arrays + Fock matrix. +r1 : Namespace of arrays + R1 amplitudes. +r2 : Namespace of arrays + R2 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.

+ +
+ Source code in ebcc/codegen/UCCD.py +
1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
+1331
+1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
+1359
+1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
def hbar_matvec_ip(f=None, r1=None, r2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:49:02.687282.
+
+    Parameters
+    ----------
+    f : Namespace of arrays
+        Fock matrix.
+    r1 : Namespace of arrays
+        R1 amplitudes.
+    r2 : Namespace of arrays
+        R2 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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp49 = np.copy(ints.tmp137)
+    del ints.tmp137
+    tmp49 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) * 0.5
+    tmp45 = np.copy(ints.tmp106)
+    tmp45 += ints.tmp110 * 0.5
+    tmp47 = np.copy(ints.tmp10) * 2
+    tmp47 += ints.tmp12
+    tmp55 = np.copy(ints.tmp102)
+    tmp55 += ints.tmp108 * 2
+    tmp57 = np.copy(ints.tmp141)
+    del ints.tmp141
+    tmp57 += ints.tmp139 * 2
+    del ints.tmp139
+    tmp9 = np.copy(ints.tmp29)
+    del ints.tmp29
+    tmp9 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3)) * 0.5
+    tmp7 = np.copy(ints.tmp3) * 2
+    tmp7 += ints.tmp5
+    tmp5 = np.copy(ints.tmp45)
+    tmp5 += ints.tmp49 * 2
+    tmp3 = np.copy(ints.tmp41)
+    tmp3 += ints.tmp47 * 0.5
+    tmp17 = np.copy(ints.tmp33)
+    del ints.tmp33
+    tmp17 += ints.tmp31 * 2
+    del ints.tmp31
+    tmp43 = einsum(r2.aba, (0, 1, 2), v.aabb.ovov, (0, 2, 3, 4), (1, 3, 4))
+    tmp50 = einsum(tmp49, (0, 1, 2, 3), r1.b, (2,), (0, 1, 3)) * 2
+    del tmp49
+    tmp42 = einsum(r2.aba, (0, 1, 2), ints.tmp100, (0, 3, 2, 4), (3, 1, 4))
+    tmp44 = einsum(r2.bbb, (0, 1, 2), v.bbbb.oovv, (3, 1, 4, 2), (0, 3, 4))
+    tmp46 = einsum(r2.bbb, (0, 1, 2), tmp45, (3, 1, 4, 2), (0, 3, 4)) * -4
+    del tmp45
+    tmp48 = einsum(tmp47, (0, 1), r2.bbb, (2, 1, 3), (2, 0, 3)) * -2
+    del tmp47
+    tmp56 = einsum(r2.aba, (0, 1, 2), tmp55, (0, 3, 2, 4), (1, 3, 4))
+    del tmp55
+    tmp52 = einsum(f.bb.oo, (0, 1), r2.bbb, (2, 1, 3), (0, 2, 3))
+    tmp53 = einsum(r2.bbb, (0, 1, 2), ints.tmp104, (3, 1, 4, 2), (3, 0, 4))
+    tmp54 = einsum(r2.bbb, (0, 1, 2), v.bbbb.ovov, (3, 4, 1, 2), (0, 3, 4))
+    tmp58 = einsum(tmp57, (0, 1, 2, 3), r1.b, (2,), (0, 1, 3))
+    del tmp57
+    tmp32 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r2.bbb, (0, 2, 1), (3,)) * -1
+    tmp31 = einsum(r2.aba, (0, 1, 2), v.aabb.ovov, (0, 2, 1, 3), (3,))
+    tmp22 = einsum(r2.aaa, (0, 1, 2), v.aaaa.ovov, (0, 3, 1, 2), (3,))
+    tmp23 = einsum(r2.bab, (0, 1, 2), v.aabb.ovov, (1, 3, 0, 2), (3,)) * -1
+    tmp10 = einsum(tmp9, (0, 1, 2, 3), r1.a, (2,), (0, 1, 3)) * 2
+    del tmp9
+    tmp2 = einsum(v.aaaa.oovv, (0, 1, 2, 3), r2.aaa, (4, 1, 3), (4, 0, 2))
+    tmp8 = einsum(tmp7, (0, 1), r2.aaa, (2, 1, 3), (2, 0, 3)) * -2
+    del tmp7
+    tmp6 = einsum(r2.bab, (0, 1, 2), tmp5, (3, 0, 4, 2), (1, 3, 4)) * -1
+    del tmp5
+    tmp4 = einsum(r2.aaa, (0, 1, 2), tmp3, (3, 1, 4, 2), (0, 3, 4)) * -4
+    del tmp3
+    tmp15 = einsum(ints.tmp43, (0, 1, 2, 3), r2.bab, (1, 4, 3), (0, 4, 2)) * -1
+    tmp18 = einsum(tmp17, (0, 1, 2, 3), r1.a, (2,), (0, 1, 3))
+    del tmp17
+    tmp13 = einsum(r2.aaa, (0, 1, 2), ints.tmp39, (3, 1, 4, 2), (3, 0, 4))
+    tmp14 = einsum(v.aaaa.ovov, (0, 1, 2, 3), r2.aaa, (4, 2, 3), (4, 0, 1))
+    tmp16 = einsum(r2.bab, (0, 1, 2), v.aabb.ovov, (3, 4, 0, 2), (1, 3, 4)) * -1
+    tmp12 = einsum(r2.aaa, (0, 1, 2), f.aa.oo, (3, 1), (3, 0, 2))
+    tmp51 = np.copy(tmp42)
+    del tmp42
+    tmp51 += tmp43
+    del tmp43
+    tmp51 += tmp44 * 2
+    del tmp44
+    tmp51 += np.transpose(tmp46, (1, 0, 2)) * -1
+    del tmp46
+    tmp51 += np.transpose(tmp48, (1, 0, 2))
+    del tmp48
+    tmp51 += tmp50
+    del tmp50
+    tmp39 = np.copy(np.transpose(ints.tmp115, (1, 0))) * 2
+    del ints.tmp115
+    tmp39 += np.transpose(ints.tmp117, (1, 0))
+    del ints.tmp117
+    tmp39 += f.bb.vv * -1
+    tmp41 = np.copy(f.bb.ov)
+    tmp41 += ints.tmp127
+    del ints.tmp127
+    tmp41 += ints.tmp93
+    del ints.tmp93
+    tmp41 += ints.tmp94 * 2
+    del ints.tmp94
+    tmp41 += ints.tmp112 * -2
+    del ints.tmp112
+    tmp41 += ints.tmp113 * -1
+    del ints.tmp113
+    tmp41 += ints.tmp126 * -2
+    del ints.tmp126
+    tmp60 = np.copy(ints.tmp133)
+    del ints.tmp133
+    tmp60 += np.transpose(v.bbbb.oooo, (0, 2, 3, 1)) * -1
+    tmp59 = np.copy(tmp52) * 2
+    del tmp52
+    tmp59 += tmp53 * 4
+    del tmp53
+    tmp59 += tmp54 * 2
+    del tmp54
+    tmp59 += np.transpose(tmp56, (1, 0, 2))
+    del tmp56
+    tmp59 += tmp58
+    del tmp58
+    tmp61 = np.copy(ints.tmp131)
+    del ints.tmp131
+    tmp61 += np.transpose(ints.tmp151, (1, 2, 0, 3)) * -1
+    del ints.tmp151
+    tmp33 = np.copy(tmp31) * -1
+    del tmp31
+    tmp33 += tmp32 * 2
+    del tmp32
+    tmp24 = np.copy(tmp22) * 2
+    del tmp22
+    tmp24 += tmp23
+    del tmp23
+    tmp37 = np.copy(ints.tmp119)
+    del ints.tmp119
+    tmp37 += v.aabb.oovv * -1
+    tmp38 = np.copy(ints.tmp64)
+    tmp38 += v.aabb.oooo
+    tmp36 = np.copy(ints.tmp102)
+    del ints.tmp102
+    tmp36 += ints.tmp108 * 2
+    del ints.tmp108
+    tmp36 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp36 += ints.tmp100 * -1
+    del ints.tmp100
+    tmp0 = np.copy(f.aa.oo)
+    tmp0 += np.transpose(ints.tmp3, (1, 0)) * 2
+    del ints.tmp3
+    tmp0 += np.transpose(ints.tmp5, (1, 0))
+    del ints.tmp5
+    tmp1 = np.copy(f.bb.oo)
+    tmp1 += np.transpose(ints.tmp10, (1, 0)) * 2
+    del ints.tmp10
+    tmp1 += np.transpose(ints.tmp12, (1, 0))
+    del ints.tmp12
+    tmp40 = np.copy(ints.tmp111)
+    del ints.tmp111
+    tmp40 += np.transpose(ints.tmp90, (1, 0, 2, 3))
+    del ints.tmp90
+    tmp40 += np.transpose(ints.tmp97, (1, 0, 2, 3))
+    del ints.tmp97
+    tmp40 += np.transpose(ints.tmp98, (1, 0, 2, 3)) * 2
+    del ints.tmp98
+    tmp40 += v.aabb.ooov
+    tmp40 += np.transpose(ints.tmp114, (1, 0, 2, 3)) * -1
+    del ints.tmp114
+    tmp40 += np.transpose(ints.tmp96, (1, 0, 2, 3)) * -1
+    del ints.tmp96
+    tmp35 = np.copy(ints.tmp106) * 2
+    del ints.tmp106
+    tmp35 += ints.tmp110
+    del ints.tmp110
+    tmp35 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    tmp35 += ints.tmp104 * -2
+    del ints.tmp104
+    tmp35 += v.bbbb.oovv * -1
+    tmp30 = np.copy(ints.tmp64)
+    del ints.tmp64
+    tmp30 += v.aabb.oooo
+    tmp27 = np.copy(ints.tmp41) * 2
+    del ints.tmp41
+    tmp27 += ints.tmp47
+    del ints.tmp47
+    tmp27 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp27 += ints.tmp39 * -2
+    del ints.tmp39
+    tmp27 += v.aaaa.oovv * -1
+    tmp29 = np.copy(ints.tmp80)
+    del ints.tmp80
+    tmp29 += np.transpose(v.aabb.vvoo, (2, 3, 0, 1)) * -1
+    tmp21 = np.copy(np.transpose(ints.tmp35, (1, 0))) * 2
+    del ints.tmp35
+    tmp21 += np.transpose(ints.tmp37, (1, 0))
+    del ints.tmp37
+    tmp21 += f.aa.vv * -1
+    tmp34 = np.copy(ints.tmp62)
+    del ints.tmp62
+    tmp34 += ints.tmp68
+    del ints.tmp68
+    tmp34 += ints.tmp69 * 2
+    del ints.tmp69
+    tmp34 += np.transpose(ints.tmp76, (0, 2, 1, 3))
+    del ints.tmp76
+    tmp34 += np.transpose(v.aabb.ovoo, (0, 2, 3, 1))
+    tmp34 += ints.tmp67 * -1
+    del ints.tmp67
+    tmp34 += ints.tmp77 * -1
+    del ints.tmp77
+    tmp26 = np.copy(f.aa.ov)
+    tmp26 += ints.tmp18
+    del ints.tmp18
+    tmp26 += ints.tmp24 * 2
+    del ints.tmp24
+    tmp26 += ints.tmp25
+    del ints.tmp25
+    tmp26 += ints.tmp17 * -2
+    del ints.tmp17
+    tmp26 += ints.tmp27 * -2
+    del ints.tmp27
+    tmp26 += ints.tmp28 * -1
+    del ints.tmp28
+    tmp28 = np.copy(ints.tmp45)
+    del ints.tmp45
+    tmp28 += ints.tmp49 * 2
+    del ints.tmp49
+    tmp28 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp28 += ints.tmp43 * -1
+    del ints.tmp43
+    tmp20 = np.copy(ints.tmp21)
+    del ints.tmp21
+    tmp20 += np.transpose(v.aaaa.oooo, (0, 2, 3, 1)) * -1
+    tmp11 = np.copy(tmp2) * 2
+    del tmp2
+    tmp11 += np.transpose(tmp4, (1, 0, 2)) * -1
+    del tmp4
+    tmp11 += np.transpose(tmp6, (1, 0, 2))
+    del tmp6
+    tmp11 += np.transpose(tmp8, (1, 0, 2))
+    del tmp8
+    tmp11 += tmp10
+    del tmp10
+    tmp25 = np.copy(ints.tmp19)
+    del ints.tmp19
+    tmp25 += np.transpose(ints.tmp51, (1, 2, 0, 3)) * -1
+    del ints.tmp51
+    tmp19 = np.copy(tmp12) * 2
+    del tmp12
+    tmp19 += tmp13 * 4
+    del tmp13
+    tmp19 += tmp14 * 2
+    del tmp14
+    tmp19 += tmp15
+    del tmp15
+    tmp19 += tmp16
+    del tmp16
+    tmp19 += tmp18
+    del tmp18
+    r2new.bbb = np.copy(tmp51) * -1
+    r2new.bbb += np.transpose(tmp51, (1, 0, 2))
+    del tmp51
+    r2new.bbb += tmp59
+    r2new.bbb += np.transpose(tmp59, (1, 0, 2)) * -1
+    del tmp59
+    r2new.bbb += einsum(tmp60, (0, 1, 2, 3), r2.bbb, (2, 3, 4), (0, 1, 4)) * 2
+    del tmp60
+    r2new.bbb += einsum(tmp39, (0, 1), r2.bbb, (2, 3, 0), (2, 3, 1)) * -2
+    r2new.bbb += einsum(tmp33, (0,), t2.bbbb, (1, 2, 3, 0), (1, 2, 3)) * 2
+    r2new.bbb += einsum(tmp61, (0, 1, 2, 3), r1.b, (2,), (1, 0, 3)) * 2
+    del tmp61
+    r2new.bbb += einsum(r1.b, (0,), tmp41, (1, 2), (0, 1, 2))
+    r2new.bbb += einsum(r1.b, (0,), tmp41, (1, 2), (1, 0, 2)) * -1
+    r2new.bab = einsum(tmp35, (0, 1, 2, 3), r2.bab, (1, 4, 3), (0, 4, 2))
+    del tmp35
+    r2new.bab += einsum(tmp36, (0, 1, 2, 3), r2.aaa, (4, 0, 2), (1, 4, 3)) * -2
+    del tmp36
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp37, (3, 1, 4, 2), (0, 3, 4))
+    del tmp37
+    r2new.bab += einsum(tmp38, (0, 1, 2, 3), r2.bab, (3, 1, 4), (2, 0, 4))
+    del tmp38
+    r2new.bab += einsum(tmp39, (0, 1), r2.bab, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp39
+    r2new.bab += einsum(tmp24, (0,), t2.abab, (1, 2, 0, 3), (2, 1, 3))
+    r2new.bab += einsum(tmp40, (0, 1, 2, 3), r1.a, (0,), (2, 1, 3))
+    del tmp40
+    r2new.bab += einsum(tmp1, (0, 1), r2.bab, (0, 2, 3), (1, 2, 3)) * -1
+    r2new.bab += einsum(tmp0, (0, 1), r2.bab, (2, 0, 3), (2, 1, 3)) * -1
+    r2new.bab += einsum(tmp41, (0, 1), r1.a, (2,), (0, 2, 1)) * -1
+    del tmp41
+    r2new.aba = einsum(tmp27, (0, 1, 2, 3), r2.aba, (1, 4, 3), (0, 4, 2))
+    del tmp27
+    r2new.aba += einsum(tmp28, (0, 1, 2, 3), r2.bbb, (4, 1, 3), (0, 4, 2)) * -2
+    del tmp28
+    r2new.aba += einsum(tmp29, (0, 1, 2, 3), r2.aba, (4, 1, 3), (4, 0, 2))
+    del tmp29
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp30, (3, 0, 4, 1), (3, 4, 2))
+    del tmp30
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp21, (2, 3), (0, 1, 3)) * -1
+    r2new.aba += einsum(tmp33, (0,), t2.abab, (1, 2, 3, 0), (1, 2, 3))
+    del tmp33
+    r2new.aba += einsum(tmp34, (0, 1, 2, 3), r1.b, (2,), (0, 1, 3))
+    del tmp34
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp1, (1, 3), (0, 3, 2)) * -1
+    r2new.aba += einsum(tmp0, (0, 1), r2.aba, (0, 2, 3), (1, 2, 3)) * -1
+    r2new.aba += einsum(r1.b, (0,), tmp26, (1, 2), (1, 0, 2)) * -1
+    r2new.aaa = np.copy(tmp11) * -1
+    r2new.aaa += np.transpose(tmp11, (1, 0, 2))
+    del tmp11
+    r2new.aaa += tmp19
+    r2new.aaa += np.transpose(tmp19, (1, 0, 2)) * -1
+    del tmp19
+    r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp20, (3, 4, 0, 1), (3, 4, 2)) * 2
+    del tmp20
+    r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp21, (2, 3), (0, 1, 3)) * -2
+    del tmp21
+    r2new.aaa += einsum(tmp24, (0,), t2.aaaa, (1, 2, 3, 0), (1, 2, 3)) * 2
+    del tmp24
+    r2new.aaa += einsum(tmp25, (0, 1, 2, 3), r1.a, (2,), (1, 0, 3)) * 2
+    del tmp25
+    r2new.aaa += einsum(tmp26, (0, 1), r1.a, (2,), (2, 0, 1))
+    r2new.aaa += einsum(tmp26, (0, 1), r1.a, (2,), (0, 2, 1)) * -1
+    del tmp26
+    r1new.b = einsum(r2.aba, (0, 1, 2), f.aa.ov, (0, 2), (1,)) * -1
+    r1new.b += einsum(v.bbbb.ooov, (0, 1, 2, 3), r2.bbb, (1, 2, 3), (0,)) * -2
+    r1new.b += einsum(r2.bbb, (0, 1, 2), f.bb.ov, (1, 2), (0,)) * 2
+    r1new.b += einsum(r2.aba, (0, 1, 2), v.aabb.ovoo, (0, 2, 3, 1), (3,))
+    r1new.b += einsum(r1.b, (0,), tmp1, (0, 1), (1,)) * -1
+    del tmp1
+    r1new.a = einsum(v.aabb.ooov, (0, 1, 2, 3), r2.bab, (2, 1, 3), (0,))
+    r1new.a += einsum(r2.aaa, (0, 1, 2), f.aa.ov, (1, 2), (0,)) * 2
+    r1new.a += einsum(r2.aaa, (0, 1, 2), v.aaaa.ooov, (3, 1, 0, 2), (3,)) * 2
+    r1new.a += einsum(r2.bab, (0, 1, 2), f.bb.ov, (0, 2), (1,)) * -1
+    r1new.a += einsum(tmp0, (0, 1), r1.a, (0,), (1,)) * -1
+    del tmp0
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCD.hbar_matvec_ea_intermediates(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:49:33.602862.

+

Parameters

+

f : Namespace of arrays + Fock matrix. +t2 : Namespace of arrays + T2 amplitudes. +v : Namespace of arrays + Electron repulsion integrals.

+

Returns

+

tmp10 : array +tmp101 : array +tmp102 : array +tmp103 : array +tmp105 : array +tmp107 : array +tmp108 : array +tmp109 : array +tmp110 : array +tmp111 : array +tmp115 : array +tmp117 : array +tmp119 : array +tmp12 : array +tmp121 : array +tmp123 : array +tmp125 : array +tmp126 : array +tmp127 : array +tmp131 : array +tmp133 : array +tmp135 : array +tmp14 : array +tmp148 : array +tmp15 : array +tmp19 : array +tmp21 : array +tmp23 : array +tmp27 : array +tmp29 : array +tmp3 : array +tmp31 : array +tmp33 : array +tmp35 : array +tmp37 : array +tmp43 : array +tmp44 : array +tmp45 : array +tmp5 : array +tmp55 : array +tmp56 : array +tmp57 : array +tmp59 : array +tmp62 : array +tmp65 : array +tmp67 : array +tmp78 : array +tmp79 : array +tmp80 : array +tmp90 : array +tmp93 : array +tmp94 : array

+ +
+ Source code in ebcc/codegen/UCCD.py +
1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
+1445
+1446
+1447
+1448
+1449
+1450
+1451
+1452
+1453
+1454
+1455
+1456
+1457
+1458
+1459
+1460
+1461
+1462
+1463
+1464
+1465
+1466
+1467
+1468
+1469
+1470
+1471
+1472
+1473
+1474
+1475
+1476
+1477
+1478
+1479
+1480
+1481
+1482
+1483
+1484
+1485
+1486
+1487
+1488
+1489
+1490
+1491
+1492
+1493
+1494
+1495
+1496
def hbar_matvec_ea_intermediates(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:49:33.602862.
+
+    Parameters
+    ----------
+    f : Namespace of arrays
+        Fock matrix.
+    t2 : Namespace of arrays
+        T2 amplitudes.
+    v : Namespace of arrays
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp10 : array
+    tmp101 : array
+    tmp102 : array
+    tmp103 : array
+    tmp105 : array
+    tmp107 : array
+    tmp108 : array
+    tmp109 : array
+    tmp110 : array
+    tmp111 : array
+    tmp115 : array
+    tmp117 : array
+    tmp119 : array
+    tmp12 : array
+    tmp121 : array
+    tmp123 : array
+    tmp125 : array
+    tmp126 : array
+    tmp127 : array
+    tmp131 : array
+    tmp133 : array
+    tmp135 : array
+    tmp14 : array
+    tmp148 : array
+    tmp15 : array
+    tmp19 : array
+    tmp21 : array
+    tmp23 : array
+    tmp27 : array
+    tmp29 : array
+    tmp3 : array
+    tmp31 : array
+    tmp33 : array
+    tmp35 : array
+    tmp37 : array
+    tmp43 : array
+    tmp44 : array
+    tmp45 : array
+    tmp5 : array
+    tmp55 : array
+    tmp56 : array
+    tmp57 : array
+    tmp59 : array
+    tmp62 : array
+    tmp65 : array
+    tmp67 : array
+    tmp78 : array
+    tmp79 : array
+    tmp80 : array
+    tmp90 : array
+    tmp93 : array
+    tmp94 : array
+    """
+
+    tmp148 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp135 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 5, 2, 3))
+    tmp133 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (1, 4, 5, 3), (0, 2, 4, 5))
+    tmp131 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (1, 3, 4, 5), (0, 2, 4, 5))
+    tmp127 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 1), (4, 3))
+    tmp126 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 3), (0, 4))
+    tmp125 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5))
+    tmp123 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp121 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp119 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp117 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (2, 4, 3, 5), (0, 4, 1, 5))
+    tmp115 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 0, 5), (4, 1, 5, 3))
+    tmp111 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp110 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovvv, (0, 4, 5, 2), (1, 4, 5, 3))
+    tmp109 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovvv, (0, 2, 4, 5), (1, 4, 5, 3))
+    tmp108 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.ov, (1, 3), (0, 2))
+    tmp107 = einsum(f.aa.ov, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp105 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4))
+    tmp103 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4))
+    tmp102 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 3), (1, 4))
+    tmp101 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (1, 2, 4, 3), (0, 4))
+    tmp94 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 4, 5, 1), (5, 2, 4, 3))
+    tmp93 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4))
+    tmp90 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 4, 5, 3), (1, 2, 4, 5))
+    tmp80 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 5, 2, 3))
+    tmp79 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 5, 1, 2))
+    tmp78 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.abab, (4, 0, 5, 1), (4, 5, 2, 3))
+    tmp67 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (1, 2, 4, 5), (0, 4, 5, 3))
+    tmp65 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp62 = einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp59 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0))
+    tmp57 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 3, 1), (4, 0)) * -1
+    tmp56 = einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0))
+    tmp55 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (1, 3, 4, 2), (0, 4)) * -1
+    tmp45 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 1, 0, 5), (4, 2, 3, 5)) * -1
+    tmp44 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (1, 2, 4, 3), (0, 4))
+    tmp43 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 1, 0, 3), (4, 2)) * -1
+    tmp37 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3))
+    tmp35 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp33 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp31 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp29 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp27 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp23 = einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 5, 0, 1))
+    tmp21 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 5, 1, 2))
+    tmp19 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 5, 2, 3))
+    tmp15 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp14 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp12 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 4), (4, 3))
+    tmp10 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 4), (2, 4)) * -1
+    tmp5 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (4, 1))
+    tmp3 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 1), (4, 3)) * -1
+
+    return {f"tmp10": tmp10, f"tmp101": tmp101, f"tmp102": tmp102, f"tmp103": tmp103, f"tmp105": tmp105, f"tmp107": tmp107, f"tmp108": tmp108, f"tmp109": tmp109, f"tmp110": tmp110, f"tmp111": tmp111, f"tmp115": tmp115, f"tmp117": tmp117, f"tmp119": tmp119, f"tmp12": tmp12, f"tmp121": tmp121, f"tmp123": tmp123, f"tmp125": tmp125, f"tmp126": tmp126, f"tmp127": tmp127, f"tmp131": tmp131, f"tmp133": tmp133, f"tmp135": tmp135, f"tmp14": tmp14, f"tmp148": tmp148, f"tmp15": tmp15, f"tmp19": tmp19, f"tmp21": tmp21, f"tmp23": tmp23, f"tmp27": tmp27, f"tmp29": tmp29, f"tmp3": tmp3, f"tmp31": tmp31, f"tmp33": tmp33, f"tmp35": tmp35, f"tmp37": tmp37, f"tmp43": tmp43, f"tmp44": tmp44, f"tmp45": tmp45, f"tmp5": tmp5, f"tmp55": tmp55, f"tmp56": tmp56, f"tmp57": tmp57, f"tmp59": tmp59, f"tmp62": tmp62, f"tmp65": tmp65, f"tmp67": tmp67, f"tmp78": tmp78, f"tmp79": tmp79, f"tmp80": tmp80, f"tmp90": tmp90, f"tmp93": tmp93, f"tmp94": tmp94}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCD.hbar_matvec_ea(f=None, r1=None, r2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:49:33.643752.

+

Parameters

+

f : Namespace of arrays + Fock matrix. +r1 : Namespace of arrays + R1 amplitudes. +r2 : Namespace of arrays + R2 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.

+ +
+ Source code in ebcc/codegen/UCCD.py +
1498
+1499
+1500
+1501
+1502
+1503
+1504
+1505
+1506
+1507
+1508
+1509
+1510
+1511
+1512
+1513
+1514
+1515
+1516
+1517
+1518
+1519
+1520
+1521
+1522
+1523
+1524
+1525
+1526
+1527
+1528
+1529
+1530
+1531
+1532
+1533
+1534
+1535
+1536
+1537
+1538
+1539
+1540
+1541
+1542
+1543
+1544
+1545
+1546
+1547
+1548
+1549
+1550
+1551
+1552
+1553
+1554
+1555
+1556
+1557
+1558
+1559
+1560
+1561
+1562
+1563
+1564
+1565
+1566
+1567
+1568
+1569
+1570
+1571
+1572
+1573
+1574
+1575
+1576
+1577
+1578
+1579
+1580
+1581
+1582
+1583
+1584
+1585
+1586
+1587
+1588
+1589
+1590
+1591
+1592
+1593
+1594
+1595
+1596
+1597
+1598
+1599
+1600
+1601
+1602
+1603
+1604
+1605
+1606
+1607
+1608
+1609
+1610
+1611
+1612
+1613
+1614
+1615
+1616
+1617
+1618
+1619
+1620
+1621
+1622
+1623
+1624
+1625
+1626
+1627
+1628
+1629
+1630
+1631
+1632
+1633
+1634
+1635
+1636
+1637
+1638
+1639
+1640
+1641
+1642
+1643
+1644
+1645
+1646
+1647
+1648
+1649
+1650
+1651
+1652
+1653
+1654
+1655
+1656
+1657
+1658
+1659
+1660
+1661
+1662
+1663
+1664
+1665
+1666
+1667
+1668
+1669
+1670
+1671
+1672
+1673
+1674
+1675
+1676
+1677
+1678
+1679
+1680
+1681
+1682
+1683
+1684
+1685
+1686
+1687
+1688
+1689
+1690
+1691
+1692
+1693
+1694
+1695
+1696
+1697
+1698
+1699
+1700
+1701
+1702
+1703
+1704
+1705
+1706
+1707
+1708
+1709
+1710
+1711
+1712
+1713
+1714
+1715
+1716
+1717
+1718
+1719
+1720
+1721
+1722
+1723
+1724
+1725
+1726
+1727
+1728
+1729
+1730
+1731
+1732
+1733
+1734
+1735
+1736
+1737
+1738
+1739
+1740
+1741
+1742
+1743
+1744
+1745
+1746
+1747
+1748
+1749
+1750
+1751
+1752
+1753
+1754
+1755
+1756
+1757
+1758
+1759
+1760
+1761
+1762
+1763
+1764
+1765
+1766
+1767
+1768
+1769
+1770
+1771
+1772
+1773
+1774
+1775
+1776
+1777
+1778
+1779
+1780
+1781
+1782
+1783
+1784
+1785
+1786
+1787
+1788
+1789
+1790
+1791
+1792
+1793
+1794
+1795
+1796
+1797
+1798
+1799
+1800
+1801
+1802
+1803
+1804
+1805
+1806
+1807
+1808
+1809
+1810
+1811
+1812
+1813
+1814
+1815
+1816
+1817
+1818
+1819
+1820
+1821
+1822
+1823
+1824
+1825
+1826
+1827
+1828
+1829
+1830
+1831
+1832
+1833
+1834
+1835
def hbar_matvec_ea(f=None, r1=None, r2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:49:33.643752.
+
+    Parameters
+    ----------
+    f : Namespace of arrays
+        Fock matrix.
+    r1 : Namespace of arrays
+        R1 amplitudes.
+    r2 : Namespace of arrays
+        R2 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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp50 = np.copy(ints.tmp131)
+    del ints.tmp131
+    tmp50 += ints.tmp135 * 0.5
+    del ints.tmp135
+    tmp50 += v.bbbb.ovvv * 0.5
+    tmp39 = np.copy(np.transpose(ints.tmp10, (1, 0)))
+    tmp39 += np.transpose(ints.tmp12, (1, 0)) * 0.5
+    tmp39 += f.bb.vv * -0.5
+    tmp47 = np.copy(ints.tmp121) * 2
+    tmp47 += ints.tmp125
+    tmp56 = np.copy(ints.tmp117)
+    tmp56 += ints.tmp123 * 2
+    tmp10 = np.copy(ints.tmp19)
+    del ints.tmp19
+    tmp10 += ints.tmp23 * 0.5
+    del ints.tmp23
+    tmp10 += v.aaaa.ovvv * 0.5
+    tmp8 = np.copy(np.transpose(ints.tmp3, (1, 0)))
+    tmp8 += np.transpose(ints.tmp5, (1, 0)) * 0.5
+    tmp8 += f.aa.vv * -0.5
+    tmp4 = np.copy(ints.tmp29) * 2
+    tmp4 += ints.tmp35
+    tmp6 = np.copy(ints.tmp33) * 0.5
+    tmp6 += ints.tmp37
+    tmp51 = einsum(tmp50, (0, 1, 2, 3), r1.b, (3,), (0, 1, 2)) * 2
+    del tmp50
+    tmp44 = einsum(r2.aba, (0, 1, 2), ints.tmp115, (2, 3, 0, 4), (3, 4, 1))
+    tmp49 = einsum(r2.bbb, (0, 1, 2), tmp39, (1, 3), (2, 0, 3)) * -4
+    tmp46 = einsum(r2.bbb, (0, 1, 2), v.bbbb.oovv, (3, 2, 4, 1), (3, 0, 4))
+    tmp48 = einsum(tmp47, (0, 1, 2, 3), r2.bbb, (4, 3, 1), (0, 4, 2)) * -2
+    del tmp47
+    tmp45 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.aba, (1, 4, 0), (2, 4, 3))
+    tmp32 = einsum(r2.bbb, (0, 1, 2), v.bbbb.ovov, (3, 0, 2, 1), (3,))
+    tmp30 = einsum(r1.b, (0,), f.bb.ov, (1, 0), (1,))
+    tmp31 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.aba, (1, 3, 0), (2,))
+    tmp54 = einsum(r2.bbb, (0, 1, 2), ints.tmp119, (3, 2, 4, 1), (3, 4, 0))
+    tmp57 = einsum(tmp56, (0, 1, 2, 3), r2.aba, (2, 4, 0), (1, 4, 3))
+    del tmp56
+    tmp55 = einsum(r2.bbb, (0, 1, 2), v.bbbb.ovov, (3, 4, 2, 1), (3, 0, 4))
+    tmp53 = einsum(r1.b, (0,), ints.tmp133, (1, 2, 0, 3), (1, 2, 3))
+    del ints.tmp133
+    tmp20 = einsum(r2.aaa, (0, 1, 2), v.aaaa.ovov, (3, 1, 2, 0), (3,)) * -1
+    tmp21 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.bab, (3, 1, 2), (0,)) * -1
+    tmp19 = einsum(f.aa.ov, (0, 1), r1.a, (1,), (0,))
+    tmp15 = einsum(r2.aaa, (0, 1, 2), v.aaaa.ovov, (3, 4, 2, 1), (3, 0, 4))
+    tmp13 = einsum(r1.a, (0,), ints.tmp21, (1, 2, 0, 3), (1, 2, 3))
+    del ints.tmp21
+    tmp14 = einsum(ints.tmp27, (0, 1, 2, 3), r2.aaa, (4, 3, 1), (0, 2, 4))
+    tmp16 = einsum(r2.bab, (0, 1, 2), ints.tmp31, (3, 2, 4, 0), (3, 4, 1)) * -1
+    tmp17 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.bab, (3, 4, 2), (0, 4, 1)) * -1
+    tmp11 = einsum(r1.a, (0,), tmp10, (1, 2, 3, 0), (1, 2, 3)) * 2
+    del tmp10
+    tmp9 = einsum(tmp8, (0, 1), r2.aaa, (2, 0, 3), (3, 2, 1)) * -4
+    del tmp8
+    tmp5 = einsum(tmp4, (0, 1, 2, 3), r2.aaa, (4, 3, 1), (0, 4, 2)) * -2
+    del tmp4
+    tmp7 = einsum(tmp6, (0, 1, 2, 3), r2.bab, (3, 4, 1), (0, 4, 2)) * -2
+    del tmp6
+    tmp3 = einsum(v.aaaa.oovv, (0, 1, 2, 3), r2.aaa, (4, 3, 1), (0, 4, 2))
+    tmp41 = np.copy(f.bb.oo)
+    tmp41 += np.transpose(ints.tmp103, (1, 0)) * 2
+    del ints.tmp103
+    tmp41 += np.transpose(ints.tmp105, (1, 0))
+    del ints.tmp105
+    tmp42 = np.copy(f.bb.ov)
+    tmp42 += ints.tmp102
+    del ints.tmp102
+    tmp42 += ints.tmp107
+    del ints.tmp107
+    tmp42 += ints.tmp108 * 2
+    del ints.tmp108
+    tmp42 += ints.tmp101 * -2
+    del ints.tmp101
+    tmp42 += ints.tmp126 * -2
+    del ints.tmp126
+    tmp42 += ints.tmp127 * -1
+    del ints.tmp127
+    tmp52 = np.copy(tmp44)
+    del tmp44
+    tmp52 += tmp45
+    del tmp45
+    tmp52 += tmp46 * 2
+    del tmp46
+    tmp52 += np.transpose(tmp48, (0, 2, 1)) * -1
+    del tmp48
+    tmp52 += np.transpose(tmp49, (0, 2, 1))
+    del tmp49
+    tmp52 += tmp51
+    del tmp51
+    tmp43 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r2.bbb, (3, 1, 4), (4, 0, 2)) * -1
+    tmp59 = np.copy(tmp30) * 0.5
+    tmp59 += tmp31 * -0.5
+    tmp59 += tmp32
+    tmp58 = np.copy(tmp53) * 2
+    del tmp53
+    tmp58 += tmp54 * 4
+    del tmp54
+    tmp58 += tmp55 * 2
+    del tmp55
+    tmp58 += np.transpose(tmp57, (0, 2, 1))
+    del tmp57
+    tmp37 = np.copy(ints.tmp93)
+    del ints.tmp93
+    tmp37 += np.transpose(v.aabb.vvoo, (2, 3, 0, 1)) * -1
+    tmp38 = np.copy(ints.tmp109)
+    del ints.tmp109
+    tmp38 += ints.tmp111 * 2
+    del ints.tmp111
+    tmp38 += ints.tmp94
+    del ints.tmp94
+    tmp38 += np.transpose(v.aabb.vvov, (2, 0, 1, 3))
+    tmp38 += np.transpose(ints.tmp110, (0, 2, 1, 3)) * -1
+    del ints.tmp110
+    tmp38 += ints.tmp90 * -1
+    del ints.tmp90
+    tmp36 = np.copy(ints.tmp117)
+    del ints.tmp117
+    tmp36 += ints.tmp123 * 2
+    del ints.tmp123
+    tmp36 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp36 += ints.tmp115 * -1
+    del ints.tmp115
+    tmp0 = np.copy(np.transpose(ints.tmp3, (1, 0))) * 2
+    del ints.tmp3
+    tmp0 += np.transpose(ints.tmp5, (1, 0))
+    del ints.tmp5
+    tmp0 += f.aa.vv * -1
+    tmp40 = np.copy(tmp19)
+    tmp40 += tmp20 * 2
+    tmp40 += tmp21
+    tmp35 = np.copy(ints.tmp121) * 2
+    del ints.tmp121
+    tmp35 += ints.tmp125
+    del ints.tmp125
+    tmp35 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    tmp35 += ints.tmp119 * -2
+    del ints.tmp119
+    tmp35 += v.bbbb.oovv * -1
+    tmp34 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.bab, (3, 1, 4), (0, 4, 2)) * -1
+    tmp24 = np.copy(f.aa.ov)
+    tmp24 += ints.tmp14 * 2
+    del ints.tmp14
+    tmp24 += ints.tmp15
+    del ints.tmp15
+    tmp24 += ints.tmp56
+    del ints.tmp56
+    tmp24 += ints.tmp43 * -2
+    del ints.tmp43
+    tmp24 += ints.tmp44 * -1
+    del ints.tmp44
+    tmp24 += ints.tmp55 * -2
+    del ints.tmp55
+    tmp1 = np.copy(np.transpose(ints.tmp10, (1, 0))) * 2
+    del ints.tmp10
+    tmp1 += np.transpose(ints.tmp12, (1, 0))
+    del ints.tmp12
+    tmp1 += f.bb.vv * -1
+    tmp27 = np.copy(ints.tmp33)
+    del ints.tmp33
+    tmp27 += ints.tmp37 * 2
+    del ints.tmp37
+    tmp27 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp27 += ints.tmp31 * -1
+    del ints.tmp31
+    tmp25 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.aba, (1, 3, 4), (4, 0, 2))
+    tmp29 = np.copy(ints.tmp67)
+    del ints.tmp67
+    tmp29 += ints.tmp78
+    del ints.tmp78
+    tmp29 += ints.tmp80 * 2
+    del ints.tmp80
+    tmp29 += v.aabb.ovvv
+    tmp29 += ints.tmp62 * -1
+    del ints.tmp62
+    tmp29 += np.transpose(ints.tmp79, (0, 1, 3, 2)) * -1
+    del ints.tmp79
+    tmp23 = np.copy(f.aa.oo)
+    tmp23 += np.transpose(ints.tmp57, (1, 0)) * 2
+    del ints.tmp57
+    tmp23 += np.transpose(ints.tmp59, (1, 0))
+    del ints.tmp59
+    tmp33 = np.copy(tmp30)
+    del tmp30
+    tmp33 += tmp31 * -1
+    del tmp31
+    tmp33 += tmp32 * 2
+    del tmp32
+    tmp28 = np.copy(ints.tmp65)
+    del ints.tmp65
+    tmp28 += v.aabb.oovv * -1
+    tmp26 = np.copy(ints.tmp29) * 2
+    del ints.tmp29
+    tmp26 += ints.tmp35
+    del ints.tmp35
+    tmp26 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp26 += ints.tmp27 * -2
+    del ints.tmp27
+    tmp26 += v.aaaa.oovv * -1
+    tmp2 = einsum(v.aaaa.ovov, (0, 1, 2, 3), r2.aaa, (1, 3, 4), (4, 0, 2))
+    tmp22 = np.copy(tmp19) * 0.5
+    del tmp19
+    tmp22 += tmp20
+    del tmp20
+    tmp22 += tmp21 * 0.5
+    del tmp21
+    tmp18 = np.copy(tmp13) * 2
+    del tmp13
+    tmp18 += tmp14 * 4
+    del tmp14
+    tmp18 += tmp15 * 2
+    del tmp15
+    tmp18 += tmp16
+    del tmp16
+    tmp18 += tmp17
+    del tmp17
+    tmp12 = np.copy(tmp3) * 2
+    del tmp3
+    tmp12 += np.transpose(tmp5, (0, 2, 1)) * -1
+    del tmp5
+    tmp12 += np.transpose(tmp7, (0, 2, 1))
+    del tmp7
+    tmp12 += np.transpose(tmp9, (0, 2, 1))
+    del tmp9
+    tmp12 += tmp11
+    del tmp11
+    r2new.bbb = einsum(r1.b, (0,), ints.tmp148, (1, 2, 3, 0), (3, 2, 1)) * 2
+    del ints.tmp148
+    r2new.bbb += einsum(tmp43, (0, 1, 2), t2.bbbb, (2, 1, 3, 4), (3, 4, 0)) * -2
+    del tmp43
+    r2new.bbb += einsum(v.bbbb.vvvv, (0, 1, 2, 3), r2.bbb, (3, 1, 4), (0, 2, 4)) * -2
+    r2new.bbb += np.transpose(tmp52, (1, 2, 0)) * -1
+    r2new.bbb += np.transpose(tmp52, (2, 1, 0))
+    del tmp52
+    r2new.bbb += np.transpose(tmp58, (1, 2, 0))
+    r2new.bbb += np.transpose(tmp58, (2, 1, 0)) * -1
+    del tmp58
+    r2new.bbb += einsum(tmp59, (0,), t2.bbbb, (1, 0, 2, 3), (2, 3, 1)) * 4
+    del tmp59
+    r2new.bbb += einsum(r2.bbb, (0, 1, 2), tmp41, (2, 3), (0, 1, 3)) * -2
+    r2new.bbb += einsum(tmp42, (0, 1), r1.b, (2,), (2, 1, 0))
+    r2new.bbb += einsum(tmp42, (0, 1), r1.b, (2,), (1, 2, 0)) * -1
+    r2new.bab = einsum(t2.abab, (0, 1, 2, 3), tmp34, (0, 4, 1), (3, 2, 4)) * -1
+    del tmp34
+    r2new.bab += einsum(r2.bab, (0, 1, 2), v.aabb.vvvv, (3, 1, 4, 0), (4, 3, 2))
+    r2new.bab += einsum(tmp35, (0, 1, 2, 3), r2.bab, (3, 4, 1), (2, 4, 0))
+    del tmp35
+    r2new.bab += einsum(r2.aaa, (0, 1, 2), tmp36, (2, 3, 1, 4), (4, 0, 3)) * -2
+    del tmp36
+    r2new.bab += einsum(tmp37, (0, 1, 2, 3), r2.bab, (4, 3, 1), (4, 2, 0))
+    del tmp37
+    r2new.bab += einsum(r1.a, (0,), tmp38, (1, 2, 0, 3), (3, 2, 1)) * -1
+    del tmp38
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp0, (1, 3), (0, 3, 2)) * -1
+    r2new.bab += einsum(tmp39, (0, 1), r2.bab, (0, 2, 3), (1, 2, 3)) * -2
+    del tmp39
+    r2new.bab += einsum(t2.abab, (0, 1, 2, 3), tmp40, (0,), (3, 2, 1))
+    del tmp40
+    r2new.bab += einsum(tmp41, (0, 1), r2.bab, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp41
+    r2new.bab += einsum(r1.a, (0,), tmp42, (1, 2), (2, 0, 1)) * -1
+    del tmp42
+    r2new.aba = einsum(t2.abab, (0, 1, 2, 3), tmp25, (4, 0, 1), (2, 3, 4))
+    del tmp25
+    r2new.aba += einsum(v.aabb.vvvv, (0, 1, 2, 3), r2.aba, (1, 3, 4), (0, 2, 4))
+    r2new.aba += einsum(tmp26, (0, 1, 2, 3), r2.aba, (3, 4, 1), (2, 4, 0))
+    del tmp26
+    r2new.aba += einsum(tmp27, (0, 1, 2, 3), r2.bbb, (4, 3, 1), (2, 4, 0)) * -2
+    del tmp27
+    r2new.aba += einsum(tmp28, (0, 1, 2, 3), r2.aba, (4, 3, 1), (4, 2, 0))
+    del tmp28
+    r2new.aba += einsum(tmp29, (0, 1, 2, 3), r1.b, (3,), (1, 2, 0)) * -1
+    del tmp29
+    r2new.aba += einsum(tmp0, (0, 1), r2.aba, (0, 2, 3), (1, 2, 3)) * -1
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp1, (1, 3), (0, 3, 2)) * -1
+    r2new.aba += einsum(tmp33, (0,), t2.abab, (1, 0, 2, 3), (2, 3, 1))
+    del tmp33
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp23, (2, 3), (0, 1, 3)) * -1
+    r2new.aba += einsum(tmp24, (0, 1), r1.b, (2,), (1, 2, 0)) * -1
+    r2new.aaa = einsum(v.aaaa.vvvv, (0, 1, 2, 3), r2.aaa, (3, 1, 4), (0, 2, 4)) * -2
+    r2new.aaa += einsum(r1.a, (0,), ints.tmp45, (1, 2, 3, 0), (3, 2, 1)) * 2
+    del ints.tmp45
+    r2new.aaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp2, (4, 1, 0), (2, 3, 4)) * -2
+    del tmp2
+    r2new.aaa += np.transpose(tmp12, (1, 2, 0)) * -1
+    r2new.aaa += np.transpose(tmp12, (2, 1, 0))
+    del tmp12
+    r2new.aaa += np.transpose(tmp18, (1, 2, 0))
+    r2new.aaa += np.transpose(tmp18, (2, 1, 0)) * -1
+    del tmp18
+    r2new.aaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp22, (1,), (2, 3, 0)) * 4
+    del tmp22
+    r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp23, (2, 3), (0, 1, 3)) * -2
+    del tmp23
+    r2new.aaa += einsum(r1.a, (0,), tmp24, (1, 2), (0, 2, 1))
+    r2new.aaa += einsum(tmp24, (0, 1), r1.a, (2,), (1, 2, 0)) * -1
+    del tmp24
+    r1new.b = einsum(f.bb.ov, (0, 1), r2.bbb, (2, 1, 0), (2,)) * 2
+    r1new.b += einsum(f.aa.ov, (0, 1), r2.aba, (1, 2, 0), (2,)) * -1
+    r1new.b += einsum(r2.aba, (0, 1, 2), v.aabb.ovvv, (2, 0, 3, 1), (3,)) * -1
+    r1new.b += einsum(v.bbbb.ovvv, (0, 1, 2, 3), r2.bbb, (3, 1, 0), (2,)) * 2
+    r1new.b += einsum(tmp1, (0, 1), r1.b, (0,), (1,)) * -1
+    del tmp1
+    r1new.a = einsum(r2.bab, (0, 1, 2), v.aabb.vvov, (3, 1, 2, 0), (3,)) * -1
+    r1new.a += einsum(v.aaaa.ovvv, (0, 1, 2, 3), r2.aaa, (3, 1, 0), (2,)) * 2
+    r1new.a += einsum(f.aa.ov, (0, 1), r2.aaa, (2, 1, 0), (2,)) * 2
+    r1new.a += einsum(f.bb.ov, (0, 1), r2.bab, (1, 2, 0), (2,)) * -1
+    r1new.a += einsum(r1.a, (0,), tmp0, (0, 1), (1,)) * -1
+    del tmp0
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCD.hbar_lmatvec_ip_intermediates(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:50:05.800089.

+

Parameters

+

f : Namespace of arrays + Fock matrix. +t2 : Namespace of arrays + T2 amplitudes. +v : Namespace of arrays + Electron repulsion integrals.

+

Returns

+

tmp1 : array +tmp10 : array +tmp110 : array +tmp113 : array +tmp115 : array +tmp132 : array +tmp136 : array +tmp138 : array +tmp14 : array +tmp140 : array +tmp142 : array +tmp144 : array +tmp146 : array +tmp148 : array +tmp157 : array +tmp159 : array +tmp16 : array +tmp161 : array +tmp178 : array +tmp18 : array +tmp20 : array +tmp22 : array +tmp24 : array +tmp26 : array +tmp28 : array +tmp29 : array +tmp3 : array +tmp31 : array +tmp32 : array +tmp33 : array +tmp35 : array +tmp37 : array +tmp39 : array +tmp4 : array +tmp41 : array +tmp43 : array +tmp45 : array +tmp47 : array +tmp53 : array +tmp55 : array +tmp59 : array +tmp6 : array +tmp61 : array +tmp67 : array +tmp68 : array +tmp70 : array +tmp71 : array +tmp73 : array +tmp74 : array +tmp76 : array +tmp8 : array +tmp82 : array +tmp84 : array +tmp89 : array +tmp91 : array +tmp93 : array +tmp95 : array +tmp97 : array +tmp99 : array

+ +
+ Source code in ebcc/codegen/UCCD.py +
1837
+1838
+1839
+1840
+1841
+1842
+1843
+1844
+1845
+1846
+1847
+1848
+1849
+1850
+1851
+1852
+1853
+1854
+1855
+1856
+1857
+1858
+1859
+1860
+1861
+1862
+1863
+1864
+1865
+1866
+1867
+1868
+1869
+1870
+1871
+1872
+1873
+1874
+1875
+1876
+1877
+1878
+1879
+1880
+1881
+1882
+1883
+1884
+1885
+1886
+1887
+1888
+1889
+1890
+1891
+1892
+1893
+1894
+1895
+1896
+1897
+1898
+1899
+1900
+1901
+1902
+1903
+1904
+1905
+1906
+1907
+1908
+1909
+1910
+1911
+1912
+1913
+1914
+1915
+1916
+1917
+1918
+1919
+1920
+1921
+1922
+1923
+1924
+1925
+1926
+1927
+1928
+1929
+1930
+1931
+1932
+1933
+1934
+1935
+1936
+1937
+1938
+1939
+1940
+1941
+1942
+1943
+1944
+1945
+1946
+1947
+1948
+1949
+1950
+1951
+1952
+1953
+1954
+1955
+1956
+1957
+1958
+1959
+1960
+1961
+1962
+1963
+1964
+1965
+1966
+1967
+1968
+1969
+1970
+1971
+1972
+1973
def hbar_lmatvec_ip_intermediates(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:50:05.800089.
+
+    Parameters
+    ----------
+    f : Namespace of arrays
+        Fock matrix.
+    t2 : Namespace of arrays
+        T2 amplitudes.
+    v : Namespace of arrays
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp1 : array
+    tmp10 : array
+    tmp110 : array
+    tmp113 : array
+    tmp115 : array
+    tmp132 : array
+    tmp136 : array
+    tmp138 : array
+    tmp14 : array
+    tmp140 : array
+    tmp142 : array
+    tmp144 : array
+    tmp146 : array
+    tmp148 : array
+    tmp157 : array
+    tmp159 : array
+    tmp16 : array
+    tmp161 : array
+    tmp178 : array
+    tmp18 : array
+    tmp20 : array
+    tmp22 : array
+    tmp24 : array
+    tmp26 : array
+    tmp28 : array
+    tmp29 : array
+    tmp3 : array
+    tmp31 : array
+    tmp32 : array
+    tmp33 : array
+    tmp35 : array
+    tmp37 : array
+    tmp39 : array
+    tmp4 : array
+    tmp41 : array
+    tmp43 : array
+    tmp45 : array
+    tmp47 : array
+    tmp53 : array
+    tmp55 : array
+    tmp59 : array
+    tmp6 : array
+    tmp61 : array
+    tmp67 : array
+    tmp68 : array
+    tmp70 : array
+    tmp71 : array
+    tmp73 : array
+    tmp74 : array
+    tmp76 : array
+    tmp8 : array
+    tmp82 : array
+    tmp84 : array
+    tmp89 : array
+    tmp91 : array
+    tmp93 : array
+    tmp95 : array
+    tmp97 : array
+    tmp99 : array
+    """
+
+    tmp178 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp161 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp159 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 4), (4, 3))
+    tmp157 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4))
+    tmp148 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5))
+    tmp146 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3))
+    tmp144 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp142 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp140 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp138 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp136 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4))
+    tmp132 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp115 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (4, 1))
+    tmp113 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 1), (4, 3)) * -1
+    tmp110 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp99 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp97 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp95 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3))
+    tmp93 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp91 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 0, 5), (4, 1, 5, 3))
+    tmp89 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp84 = einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 5, 2, 0))
+    tmp82 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp76 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 3, 5))
+    tmp74 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 3, 5))
+    tmp73 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 3), (4, 1, 5, 2))
+    tmp71 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp70 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp68 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp67 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp61 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4))
+    tmp59 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 3, 1), (4, 0)) * -1
+    tmp55 = einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp53 = einsum(t2.abab, (0, 1, 2, 3), f.bb.ov, (4, 3), (0, 4, 1, 2))
+    tmp47 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (0, 4, 1, 5))
+    tmp45 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp43 = einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0))
+    tmp41 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2))
+    tmp39 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 0, 1, 3), (4, 2))
+    tmp37 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 0, 1, 3), (4, 2))
+    tmp35 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp33 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp32 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (4, 3, 1, 5), (4, 0, 2, 5))
+    tmp31 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 0, 2), (4, 5, 1, 3))
+    tmp29 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp28 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 2, 4, 5))
+    tmp26 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp24 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 3), (4, 2))
+    tmp22 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 1), (4, 3))
+    tmp20 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 3), (0, 4))
+    tmp18 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 1, 0, 3), (4, 2)) * -1
+    tmp16 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0))
+    tmp14 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4)) * -1
+    tmp10 = einsum(t2.abab, (0, 1, 2, 3), f.aa.ov, (4, 2), (4, 0, 1, 3))
+    tmp8 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp6 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.ov, (1, 3), (0, 2))
+    tmp4 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp3 = einsum(f.aa.ov, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp1 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+
+    return {f"tmp1": tmp1, f"tmp10": tmp10, f"tmp110": tmp110, f"tmp113": tmp113, f"tmp115": tmp115, f"tmp132": tmp132, f"tmp136": tmp136, f"tmp138": tmp138, f"tmp14": tmp14, f"tmp140": tmp140, f"tmp142": tmp142, f"tmp144": tmp144, f"tmp146": tmp146, f"tmp148": tmp148, f"tmp157": tmp157, f"tmp159": tmp159, f"tmp16": tmp16, f"tmp161": tmp161, f"tmp178": tmp178, f"tmp18": tmp18, f"tmp20": tmp20, f"tmp22": tmp22, f"tmp24": tmp24, f"tmp26": tmp26, f"tmp28": tmp28, f"tmp29": tmp29, f"tmp3": tmp3, f"tmp31": tmp31, f"tmp32": tmp32, f"tmp33": tmp33, f"tmp35": tmp35, f"tmp37": tmp37, f"tmp39": tmp39, f"tmp4": tmp4, f"tmp41": tmp41, f"tmp43": tmp43, f"tmp45": tmp45, f"tmp47": tmp47, f"tmp53": tmp53, f"tmp55": tmp55, f"tmp59": tmp59, f"tmp6": tmp6, f"tmp61": tmp61, f"tmp67": tmp67, f"tmp68": tmp68, f"tmp70": tmp70, f"tmp71": tmp71, f"tmp73": tmp73, f"tmp74": tmp74, f"tmp76": tmp76, f"tmp8": tmp8, f"tmp82": tmp82, f"tmp84": tmp84, f"tmp89": tmp89, f"tmp91": tmp91, f"tmp93": tmp93, f"tmp95": tmp95, f"tmp97": tmp97, f"tmp99": tmp99}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCD.hbar_lmatvec_ip(f=None, r1=None, r2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:50:05.843530.

+

Parameters

+

f : Namespace of arrays + Fock matrix. +r1 : Namespace of arrays + R1 amplitudes. +r2 : Namespace of arrays + R2 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.

+ +
+ Source code in ebcc/codegen/UCCD.py +
1975
+1976
+1977
+1978
+1979
+1980
+1981
+1982
+1983
+1984
+1985
+1986
+1987
+1988
+1989
+1990
+1991
+1992
+1993
+1994
+1995
+1996
+1997
+1998
+1999
+2000
+2001
+2002
+2003
+2004
+2005
+2006
+2007
+2008
+2009
+2010
+2011
+2012
+2013
+2014
+2015
+2016
+2017
+2018
+2019
+2020
+2021
+2022
+2023
+2024
+2025
+2026
+2027
+2028
+2029
+2030
+2031
+2032
+2033
+2034
+2035
+2036
+2037
+2038
+2039
+2040
+2041
+2042
+2043
+2044
+2045
+2046
+2047
+2048
+2049
+2050
+2051
+2052
+2053
+2054
+2055
+2056
+2057
+2058
+2059
+2060
+2061
+2062
+2063
+2064
+2065
+2066
+2067
+2068
+2069
+2070
+2071
+2072
+2073
+2074
+2075
+2076
+2077
+2078
+2079
+2080
+2081
+2082
+2083
+2084
+2085
+2086
+2087
+2088
+2089
+2090
+2091
+2092
+2093
+2094
+2095
+2096
+2097
+2098
+2099
+2100
+2101
+2102
+2103
+2104
+2105
+2106
+2107
+2108
+2109
+2110
+2111
+2112
+2113
+2114
+2115
+2116
+2117
+2118
+2119
+2120
+2121
+2122
+2123
+2124
+2125
+2126
+2127
+2128
+2129
+2130
+2131
+2132
+2133
+2134
+2135
+2136
+2137
+2138
+2139
+2140
+2141
+2142
+2143
+2144
+2145
+2146
+2147
+2148
+2149
+2150
+2151
+2152
+2153
+2154
+2155
+2156
+2157
+2158
+2159
+2160
+2161
+2162
+2163
+2164
+2165
+2166
+2167
+2168
+2169
+2170
+2171
+2172
+2173
+2174
+2175
+2176
+2177
+2178
+2179
+2180
+2181
+2182
+2183
+2184
+2185
+2186
+2187
+2188
+2189
+2190
+2191
+2192
+2193
+2194
+2195
+2196
+2197
+2198
+2199
+2200
+2201
+2202
+2203
+2204
+2205
+2206
+2207
+2208
+2209
+2210
+2211
+2212
+2213
+2214
+2215
+2216
+2217
+2218
+2219
+2220
+2221
+2222
+2223
+2224
+2225
+2226
+2227
+2228
+2229
+2230
+2231
+2232
+2233
+2234
+2235
+2236
+2237
+2238
+2239
+2240
+2241
+2242
+2243
+2244
+2245
+2246
+2247
+2248
+2249
+2250
+2251
+2252
+2253
+2254
+2255
+2256
+2257
+2258
+2259
+2260
+2261
+2262
+2263
+2264
+2265
+2266
+2267
+2268
+2269
+2270
+2271
+2272
+2273
+2274
+2275
+2276
+2277
+2278
+2279
+2280
+2281
+2282
+2283
+2284
+2285
+2286
+2287
+2288
+2289
+2290
+2291
+2292
+2293
+2294
+2295
+2296
+2297
+2298
+2299
+2300
+2301
+2302
+2303
+2304
+2305
+2306
+2307
+2308
+2309
+2310
+2311
+2312
+2313
+2314
+2315
+2316
+2317
+2318
+2319
+2320
+2321
+2322
+2323
+2324
+2325
+2326
+2327
+2328
+2329
+2330
+2331
+2332
+2333
def hbar_lmatvec_ip(f=None, r1=None, r2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:50:05.843530.
+
+    Parameters
+    ----------
+    f : Namespace of arrays
+        Fock matrix.
+    r1 : Namespace of arrays
+        R1 amplitudes.
+    r2 : Namespace of arrays
+        R2 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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp35 = einsum(r2.aba, (0, 1, 2), t2.abab, (0, 1, 2, 3), (3,))
+    tmp36 = einsum(t2.bbbb, (0, 1, 2, 3), r2.bbb, (0, 1, 3), (2,))
+    tmp58 = np.copy(ints.tmp142)
+    tmp58 += ints.tmp146 * 2
+    tmp50 = np.copy(tmp35) * -0.5
+    tmp50 += tmp36
+    tmp48 = np.copy(ints.tmp144)
+    tmp48 += ints.tmp148 * 0.5
+    tmp52 = np.copy(ints.tmp59) * 2
+    tmp52 += ints.tmp61
+    tmp14 = np.copy(ints.tmp93)
+    tmp14 += ints.tmp97 * 0.5
+    tmp18 = np.copy(ints.tmp14) * 2
+    tmp18 += ints.tmp16
+    tmp12 = einsum(r2.aaa, (0, 1, 2), t2.aaaa, (0, 1, 3, 2), (3,))
+    tmp16 = np.copy(ints.tmp95)
+    tmp16 += ints.tmp99 * 2
+    tmp26 = einsum(r2.bab, (0, 1, 2), t2.abab, (1, 0, 3, 2), (3,)) * -1
+    tmp59 = einsum(r2.aba, (0, 1, 2), tmp58, (0, 3, 2, 4), (1, 3, 4))
+    del tmp58
+    tmp56 = einsum(r2.bbb, (0, 1, 2), ints.tmp140, (1, 3, 2, 4), (3, 0, 4))
+    tmp55 = einsum(f.bb.oo, (0, 1), r2.bbb, (2, 1, 3), (0, 2, 3))
+    tmp57 = einsum(r2.bbb, (0, 1, 2), v.bbbb.ovov, (3, 4, 1, 2), (0, 3, 4))
+    tmp51 = einsum(tmp50, (0,), v.bbbb.ovov, (1, 0, 2, 3), (1, 2, 3)) * 2
+    del tmp50
+    tmp47 = einsum(r2.bbb, (0, 1, 2), v.bbbb.oovv, (3, 1, 4, 2), (0, 3, 4))
+    tmp49 = einsum(r2.bbb, (0, 1, 2), tmp48, (1, 3, 2, 4), (0, 3, 4)) * -4
+    del tmp48
+    tmp44 = einsum(v.bbbb.ooov, (0, 1, 2, 3), r1.b, (1,), (0, 2, 3))
+    tmp46 = einsum(r2.aba, (0, 1, 2), v.aabb.ovov, (0, 2, 3, 4), (1, 3, 4))
+    tmp53 = einsum(tmp52, (0, 1), r2.bbb, (2, 0, 3), (2, 1, 3)) * -2
+    del tmp52
+    tmp45 = einsum(r2.aba, (0, 1, 2), ints.tmp138, (0, 3, 2, 4), (3, 1, 4))
+    tmp11 = einsum(v.aaaa.oovv, (0, 1, 2, 3), r2.aaa, (4, 1, 3), (4, 0, 2))
+    tmp15 = einsum(r2.aaa, (0, 1, 2), tmp14, (1, 3, 2, 4), (0, 3, 4)) * -4
+    del tmp14
+    tmp10 = einsum(v.aaaa.ooov, (0, 1, 2, 3), r1.a, (1,), (0, 2, 3))
+    tmp19 = einsum(r2.aaa, (0, 1, 2), tmp18, (1, 3), (0, 3, 2)) * -2
+    del tmp18
+    tmp13 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp12, (3,), (0, 2, 1)) * -1
+    tmp17 = einsum(r2.bab, (0, 1, 2), tmp16, (3, 0, 4, 2), (1, 3, 4)) * -1
+    del tmp16
+    tmp24 = einsum(r2.bab, (0, 1, 2), ints.tmp91, (3, 0, 4, 2), (3, 1, 4)) * -1
+    tmp22 = einsum(ints.tmp89, (0, 1, 2, 3), r2.aaa, (4, 0, 2), (1, 4, 3))
+    tmp27 = einsum(tmp26, (0,), v.aaaa.ovov, (1, 2, 3, 0), (1, 3, 2))
+    tmp25 = einsum(r2.bab, (0, 1, 2), v.aabb.ovov, (3, 4, 0, 2), (1, 3, 4)) * -1
+    tmp21 = einsum(r2.aaa, (0, 1, 2), f.aa.oo, (3, 1), (3, 0, 2))
+    tmp23 = einsum(v.aaaa.ovov, (0, 1, 2, 3), r2.aaa, (4, 2, 3), (4, 0, 1))
+    tmp42 = np.copy(ints.tmp157) * 2
+    del ints.tmp157
+    tmp42 += ints.tmp159
+    del ints.tmp159
+    tmp42 += f.bb.vv * -1
+    tmp60 = np.copy(tmp55) * 2
+    del tmp55
+    tmp60 += tmp56 * 4
+    del tmp56
+    tmp60 += tmp57 * 2
+    del tmp57
+    tmp60 += np.transpose(tmp59, (1, 0, 2))
+    del tmp59
+    tmp54 = einsum(f.bb.ov, (0, 1), r1.b, (2,), (0, 2, 1))
+    tmp54 += tmp44
+    del tmp44
+    tmp54 += tmp45
+    del tmp45
+    tmp54 += tmp46
+    del tmp46
+    tmp54 += tmp47 * 2
+    del tmp47
+    tmp54 += np.transpose(tmp49, (1, 0, 2)) * -1
+    del tmp49
+    tmp54 += np.transpose(tmp51, (1, 0, 2)) * -1
+    del tmp51
+    tmp54 += np.transpose(tmp53, (1, 0, 2))
+    del tmp53
+    tmp61 = np.copy(ints.tmp178)
+    del ints.tmp178
+    tmp61 += np.transpose(v.bbbb.oooo, (0, 2, 3, 1)) * -1
+    tmp43 = np.copy(tmp12) * 2
+    del tmp12
+    tmp43 += tmp26
+    del tmp26
+    tmp38 = np.copy(ints.tmp144) * 2
+    del ints.tmp144
+    tmp38 += ints.tmp148
+    del ints.tmp148
+    tmp38 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    tmp38 += ints.tmp140 * -2
+    del ints.tmp140
+    tmp38 += v.bbbb.oovv * -1
+    tmp39 = np.copy(ints.tmp142)
+    del ints.tmp142
+    tmp39 += ints.tmp146 * 2
+    del ints.tmp146
+    tmp39 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp39 += ints.tmp138 * -1
+    del ints.tmp138
+    tmp41 = np.copy(ints.tmp132)
+    tmp41 += v.aabb.oooo
+    tmp40 = np.copy(ints.tmp161)
+    del ints.tmp161
+    tmp40 += v.aabb.oovv * -1
+    tmp9 = np.copy(f.bb.oo)
+    tmp9 += ints.tmp59 * 2
+    del ints.tmp59
+    tmp9 += ints.tmp61
+    del ints.tmp61
+    tmp4 = np.copy(f.aa.oo)
+    tmp4 += ints.tmp14 * 2
+    del ints.tmp14
+    tmp4 += ints.tmp16
+    del ints.tmp16
+    tmp37 = np.copy(tmp35) * -1
+    del tmp35
+    tmp37 += tmp36 * 2
+    del tmp36
+    tmp31 = np.copy(ints.tmp93) * 2
+    del ints.tmp93
+    tmp31 += ints.tmp97
+    del ints.tmp97
+    tmp31 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp31 += ints.tmp89 * -2
+    del ints.tmp89
+    tmp31 += v.aaaa.oovv * -1
+    tmp30 = np.copy(ints.tmp113) * 2
+    del ints.tmp113
+    tmp30 += ints.tmp115
+    del ints.tmp115
+    tmp30 += f.aa.vv * -1
+    tmp34 = np.copy(ints.tmp132)
+    del ints.tmp132
+    tmp34 += v.aabb.oooo
+    tmp32 = np.copy(ints.tmp95)
+    del ints.tmp95
+    tmp32 += ints.tmp99 * 2
+    del ints.tmp99
+    tmp32 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp32 += ints.tmp91 * -1
+    del ints.tmp91
+    tmp33 = np.copy(ints.tmp136)
+    del ints.tmp136
+    tmp33 += np.transpose(v.aabb.vvoo, (2, 3, 0, 1)) * -1
+    tmp20 = einsum(f.aa.ov, (0, 1), r1.a, (2,), (0, 2, 1))
+    tmp20 += tmp10
+    del tmp10
+    tmp20 += tmp11 * 2
+    del tmp11
+    tmp20 += tmp13 * 2
+    del tmp13
+    tmp20 += np.transpose(tmp15, (1, 0, 2)) * -1
+    del tmp15
+    tmp20 += np.transpose(tmp17, (1, 0, 2))
+    del tmp17
+    tmp20 += np.transpose(tmp19, (1, 0, 2))
+    del tmp19
+    tmp29 = np.copy(ints.tmp110)
+    del ints.tmp110
+    tmp29 += np.transpose(v.aaaa.oooo, (0, 2, 3, 1)) * -1
+    tmp28 = np.copy(tmp21) * 2
+    del tmp21
+    tmp28 += tmp22 * 4
+    del tmp22
+    tmp28 += tmp23 * 2
+    del tmp23
+    tmp28 += tmp24
+    del tmp24
+    tmp28 += tmp25
+    del tmp25
+    tmp28 += tmp27
+    del tmp27
+    tmp8 = np.copy(f.bb.ov)
+    tmp8 += ints.tmp3
+    tmp8 += ints.tmp41
+    tmp8 += ints.tmp6 * 2
+    tmp8 += ints.tmp20 * -2
+    tmp8 += ints.tmp22 * -1
+    tmp8 += ints.tmp39 * -2
+    tmp6 = np.copy(ints.tmp55)
+    del ints.tmp55
+    tmp6 += np.transpose(ints.tmp71, (1, 0, 2, 3)) * 2
+    del ints.tmp71
+    tmp6 += np.transpose(ints.tmp76, (1, 0, 2, 3))
+    del ints.tmp76
+    tmp6 += np.transpose(ints.tmp68, (2, 0, 1, 3)) * -2
+    del ints.tmp68
+    tmp6 += np.transpose(ints.tmp82, (2, 0, 1, 3)) * -1
+    del ints.tmp82
+    tmp6 += v.bbbb.ooov * -1
+    tmp5 = np.copy(ints.tmp53)
+    del ints.tmp53
+    tmp5 += ints.tmp70
+    del ints.tmp70
+    tmp5 += ints.tmp74 * 2
+    del ints.tmp74
+    tmp5 += np.transpose(ints.tmp84, (0, 2, 1, 3))
+    del ints.tmp84
+    tmp5 += np.transpose(v.aabb.ovoo, (0, 2, 3, 1))
+    tmp5 += np.transpose(ints.tmp67, (0, 2, 1, 3)) * -1
+    del ints.tmp67
+    tmp5 += np.transpose(ints.tmp73, (0, 2, 1, 3)) * -1
+    del ints.tmp73
+    tmp7 = np.copy(f.aa.ov) * 0.5
+    tmp7 += ints.tmp1
+    tmp7 += ints.tmp43 * 0.5
+    tmp7 += ints.tmp4 * 0.5
+    tmp7 += ints.tmp18 * -1
+    tmp7 += ints.tmp24 * -0.5
+    tmp7 += ints.tmp37 * -1
+    tmp2 = np.copy(f.aa.ov)
+    tmp2 += ints.tmp1 * 2
+    del ints.tmp1
+    tmp2 += ints.tmp43
+    del ints.tmp43
+    tmp2 += ints.tmp4
+    del ints.tmp4
+    tmp2 += ints.tmp18 * -2
+    del ints.tmp18
+    tmp2 += ints.tmp24 * -1
+    del ints.tmp24
+    tmp2 += ints.tmp37 * -2
+    del ints.tmp37
+    tmp1 = np.copy(ints.tmp26) * 2
+    del ints.tmp26
+    tmp1 += ints.tmp45
+    del ints.tmp45
+    tmp1 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3))
+    tmp1 += np.transpose(ints.tmp29, (0, 2, 1, 3)) * -2
+    del ints.tmp29
+    tmp1 += np.transpose(ints.tmp33, (0, 2, 1, 3)) * -1
+    del ints.tmp33
+    tmp1 += np.transpose(ints.tmp8, (1, 2, 0, 3)) * -1
+    del ints.tmp8
+    tmp0 = np.copy(ints.tmp10)
+    del ints.tmp10
+    tmp0 += ints.tmp31
+    del ints.tmp31
+    tmp0 += ints.tmp35 * 2
+    del ints.tmp35
+    tmp0 += np.transpose(ints.tmp47, (1, 0, 2, 3))
+    del ints.tmp47
+    tmp0 += v.aabb.ooov
+    tmp0 += np.transpose(ints.tmp28, (1, 0, 2, 3)) * -1
+    del ints.tmp28
+    tmp0 += np.transpose(ints.tmp32, (1, 0, 2, 3)) * -1
+    del ints.tmp32
+    tmp3 = np.copy(f.bb.ov) * 0.5
+    tmp3 += ints.tmp3 * 0.5
+    del ints.tmp3
+    tmp3 += ints.tmp41 * 0.5
+    del ints.tmp41
+    tmp3 += ints.tmp6
+    del ints.tmp6
+    tmp3 += ints.tmp20 * -1
+    del ints.tmp20
+    tmp3 += ints.tmp22 * -0.5
+    del ints.tmp22
+    tmp3 += ints.tmp39 * -1
+    del ints.tmp39
+    r2new.bbb = np.copy(tmp54) * -1
+    r2new.bbb += np.transpose(tmp54, (1, 0, 2))
+    del tmp54
+    r2new.bbb += tmp60
+    r2new.bbb += np.transpose(tmp60, (1, 0, 2)) * -1
+    del tmp60
+    r2new.bbb += einsum(tmp61, (0, 1, 2, 3), r2.bbb, (0, 1, 4), (2, 3, 4)) * 2
+    del tmp61
+    r2new.bbb += einsum(r2.bbb, (0, 1, 2), tmp42, (2, 3), (0, 1, 3)) * -2
+    r2new.bab = einsum(f.bb.ov, (0, 1), r1.a, (2,), (0, 2, 1)) * -1
+    r2new.bab += einsum(v.aabb.ooov, (0, 1, 2, 3), r1.a, (1,), (2, 0, 3))
+    r2new.bab += einsum(tmp38, (0, 1, 2, 3), r2.bab, (0, 4, 2), (1, 4, 3))
+    del tmp38
+    r2new.bab += einsum(r2.aaa, (0, 1, 2), tmp39, (1, 3, 2, 4), (3, 0, 4)) * -2
+    del tmp39
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp40, (1, 3, 2, 4), (0, 3, 4))
+    del tmp40
+    r2new.bab += einsum(tmp41, (0, 1, 2, 3), r2.bab, (2, 0, 4), (3, 1, 4))
+    del tmp41
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp42, (2, 3), (0, 1, 3)) * -1
+    del tmp42
+    r2new.bab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp43, (1,), (2, 0, 3))
+    del tmp43
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp9, (0, 3), (3, 1, 2)) * -1
+    r2new.bab += einsum(tmp4, (0, 1), r2.bab, (2, 0, 3), (2, 1, 3)) * -1
+    r2new.aba = einsum(v.aabb.ovoo, (0, 1, 2, 3), r1.b, (3,), (0, 2, 1))
+    r2new.aba += einsum(r1.b, (0,), f.aa.ov, (1, 2), (1, 0, 2)) * -1
+    r2new.aba += einsum(tmp31, (0, 1, 2, 3), r2.aba, (0, 4, 2), (1, 4, 3))
+    del tmp31
+    r2new.aba += einsum(tmp32, (0, 1, 2, 3), r2.bbb, (4, 1, 3), (0, 4, 2)) * -2
+    del tmp32
+    r2new.aba += einsum(tmp33, (0, 1, 2, 3), r2.aba, (4, 0, 2), (4, 1, 3))
+    del tmp33
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp34, (0, 3, 1, 4), (3, 4, 2))
+    del tmp34
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp30, (2, 3), (0, 1, 3)) * -1
+    r2new.aba += einsum(tmp37, (0,), v.aabb.ovov, (1, 2, 3, 0), (1, 3, 2))
+    del tmp37
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp9, (1, 3), (0, 3, 2)) * -1
+    r2new.aba += einsum(tmp4, (0, 1), r2.aba, (0, 2, 3), (1, 2, 3)) * -1
+    r2new.aaa = np.copy(tmp20) * -1
+    r2new.aaa += np.transpose(tmp20, (1, 0, 2))
+    del tmp20
+    r2new.aaa += tmp28
+    r2new.aaa += np.transpose(tmp28, (1, 0, 2)) * -1
+    del tmp28
+    r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp29, (0, 1, 3, 4), (3, 4, 2)) * 2
+    del tmp29
+    r2new.aaa += einsum(tmp30, (0, 1), r2.aaa, (2, 3, 0), (2, 3, 1)) * -2
+    del tmp30
+    r1new.b = einsum(r2.aba, (0, 1, 2), tmp5, (0, 3, 1, 2), (3,))
+    del tmp5
+    r1new.b += einsum(r2.bbb, (0, 1, 2), tmp6, (3, 1, 0, 2), (3,)) * -2
+    del tmp6
+    r1new.b += einsum(r2.aba, (0, 1, 2), tmp7, (0, 2), (1,)) * -2
+    del tmp7
+    r1new.b += einsum(tmp8, (0, 1), r2.bbb, (2, 0, 1), (2,)) * 2
+    del tmp8
+    r1new.b += einsum(r1.b, (0,), tmp9, (0, 1), (1,)) * -1
+    del tmp9
+    r1new.a = einsum(tmp0, (0, 1, 2, 3), r2.bab, (2, 1, 3), (0,))
+    del tmp0
+    r1new.a += einsum(tmp1, (0, 1, 2, 3), r2.aaa, (0, 1, 3), (2,)) * -2
+    del tmp1
+    r1new.a += einsum(tmp2, (0, 1), r2.aaa, (2, 0, 1), (2,)) * 2
+    del tmp2
+    r1new.a += einsum(r2.bab, (0, 1, 2), tmp3, (0, 2), (1,)) * -2
+    del tmp3
+    r1new.a += einsum(tmp4, (0, 1), r1.a, (0,), (1,)) * -1
+    del tmp4
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCD.hbar_lmatvec_ea_intermediates(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:50:40.583933.

+

Parameters

+

f : Namespace of arrays + Fock matrix. +t2 : Namespace of arrays + T2 amplitudes. +v : Namespace of arrays + Electron repulsion integrals.

+

Returns

+

tmp1 : array +tmp101 : array +tmp103 : array +tmp105 : array +tmp132 : array +tmp134 : array +tmp136 : array +tmp138 : array +tmp14 : array +tmp140 : array +tmp142 : array +tmp144 : array +tmp146 : array +tmp148 : array +tmp158 : array +tmp16 : array +tmp18 : array +tmp20 : array +tmp22 : array +tmp24 : array +tmp26 : array +tmp28 : array +tmp3 : array +tmp30 : array +tmp32 : array +tmp34 : array +tmp36 : array +tmp38 : array +tmp4 : array +tmp40 : array +tmp41 : array +tmp43 : array +tmp44 : array +tmp46 : array +tmp48 : array +tmp59 : array +tmp6 : array +tmp61 : array +tmp67 : array +tmp69 : array +tmp75 : array +tmp76 : array +tmp78 : array +tmp79 : array +tmp81 : array +tmp83 : array +tmp85 : array +tmp91 : array +tmp93 : array +tmp95 : array +tmp97 : array +tmp99 : array

+ +
+ Source code in ebcc/codegen/UCCD.py +
2335
+2336
+2337
+2338
+2339
+2340
+2341
+2342
+2343
+2344
+2345
+2346
+2347
+2348
+2349
+2350
+2351
+2352
+2353
+2354
+2355
+2356
+2357
+2358
+2359
+2360
+2361
+2362
+2363
+2364
+2365
+2366
+2367
+2368
+2369
+2370
+2371
+2372
+2373
+2374
+2375
+2376
+2377
+2378
+2379
+2380
+2381
+2382
+2383
+2384
+2385
+2386
+2387
+2388
+2389
+2390
+2391
+2392
+2393
+2394
+2395
+2396
+2397
+2398
+2399
+2400
+2401
+2402
+2403
+2404
+2405
+2406
+2407
+2408
+2409
+2410
+2411
+2412
+2413
+2414
+2415
+2416
+2417
+2418
+2419
+2420
+2421
+2422
+2423
+2424
+2425
+2426
+2427
+2428
+2429
+2430
+2431
+2432
+2433
+2434
+2435
+2436
+2437
+2438
+2439
+2440
+2441
+2442
+2443
+2444
+2445
+2446
+2447
+2448
+2449
+2450
+2451
+2452
+2453
+2454
+2455
+2456
+2457
def hbar_lmatvec_ea_intermediates(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:50:40.583933.
+
+    Parameters
+    ----------
+    f : Namespace of arrays
+        Fock matrix.
+    t2 : Namespace of arrays
+        T2 amplitudes.
+    v : Namespace of arrays
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp1 : array
+    tmp101 : array
+    tmp103 : array
+    tmp105 : array
+    tmp132 : array
+    tmp134 : array
+    tmp136 : array
+    tmp138 : array
+    tmp14 : array
+    tmp140 : array
+    tmp142 : array
+    tmp144 : array
+    tmp146 : array
+    tmp148 : array
+    tmp158 : array
+    tmp16 : array
+    tmp18 : array
+    tmp20 : array
+    tmp22 : array
+    tmp24 : array
+    tmp26 : array
+    tmp28 : array
+    tmp3 : array
+    tmp30 : array
+    tmp32 : array
+    tmp34 : array
+    tmp36 : array
+    tmp38 : array
+    tmp4 : array
+    tmp40 : array
+    tmp41 : array
+    tmp43 : array
+    tmp44 : array
+    tmp46 : array
+    tmp48 : array
+    tmp59 : array
+    tmp6 : array
+    tmp61 : array
+    tmp67 : array
+    tmp69 : array
+    tmp75 : array
+    tmp76 : array
+    tmp78 : array
+    tmp79 : array
+    tmp81 : array
+    tmp83 : array
+    tmp85 : array
+    tmp91 : array
+    tmp93 : array
+    tmp95 : array
+    tmp97 : array
+    tmp99 : array
+    """
+
+    tmp158 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4))
+    tmp148 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5))
+    tmp146 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3))
+    tmp144 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp142 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp140 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp138 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp136 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4))
+    tmp134 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4))
+    tmp132 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp105 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp103 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp101 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3))
+    tmp99 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp97 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 0, 5), (4, 1, 5, 3))
+    tmp95 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp93 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0))
+    tmp91 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4)) * -1
+    tmp85 = einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp83 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 5, 2, 3))
+    tmp81 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovvv, (1, 3, 4, 5), (0, 2, 4, 5))
+    tmp79 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (4, 5, 1, 2))
+    tmp78 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 5, 1, 2))
+    tmp76 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (1, 3, 4, 5), (0, 2, 4, 5))
+    tmp75 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.abab, (4, 0, 5, 1), (4, 5, 2, 3))
+    tmp69 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (1, 2, 4, 5), (0, 4, 5, 3))
+    tmp67 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp61 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 4), (4, 3))
+    tmp59 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 4), (2, 4)) * -1
+    tmp48 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (4, 5, 1, 2))
+    tmp46 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp44 = einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 5, 0, 1))
+    tmp43 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovvv, (0, 4, 5, 2), (1, 4, 5, 3))
+    tmp41 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 5, 1, 2))
+    tmp40 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovvv, (0, 2, 4, 5), (1, 4, 5, 3))
+    tmp38 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (1, 3, 4, 5), (0, 2, 4, 5))
+    tmp36 = einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0))
+    tmp34 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2))
+    tmp32 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 0, 1, 3), (4, 2))
+    tmp30 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (1, 3, 4, 2), (0, 4)) * -1
+    tmp28 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 4, 5, 1), (5, 2, 4, 3))
+    tmp26 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 1, 0, 5), (4, 2, 3, 5)) * -1
+    tmp24 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 3), (4, 2))
+    tmp22 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 1), (4, 3))
+    tmp20 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 3), (0, 4))
+    tmp18 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 1, 0, 3), (4, 2)) * -1
+    tmp16 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (4, 1))
+    tmp14 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 1), (4, 3)) * -1
+    tmp6 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.ov, (1, 3), (0, 2))
+    tmp4 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp3 = einsum(f.aa.ov, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp1 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+
+    return {f"tmp1": tmp1, f"tmp101": tmp101, f"tmp103": tmp103, f"tmp105": tmp105, f"tmp132": tmp132, f"tmp134": tmp134, f"tmp136": tmp136, f"tmp138": tmp138, f"tmp14": tmp14, f"tmp140": tmp140, f"tmp142": tmp142, f"tmp144": tmp144, f"tmp146": tmp146, f"tmp148": tmp148, f"tmp158": tmp158, f"tmp16": tmp16, f"tmp18": tmp18, f"tmp20": tmp20, f"tmp22": tmp22, f"tmp24": tmp24, f"tmp26": tmp26, f"tmp28": tmp28, f"tmp3": tmp3, f"tmp30": tmp30, f"tmp32": tmp32, f"tmp34": tmp34, f"tmp36": tmp36, f"tmp38": tmp38, f"tmp4": tmp4, f"tmp40": tmp40, f"tmp41": tmp41, f"tmp43": tmp43, f"tmp44": tmp44, f"tmp46": tmp46, f"tmp48": tmp48, f"tmp59": tmp59, f"tmp6": tmp6, f"tmp61": tmp61, f"tmp67": tmp67, f"tmp69": tmp69, f"tmp75": tmp75, f"tmp76": tmp76, f"tmp78": tmp78, f"tmp79": tmp79, f"tmp81": tmp81, f"tmp83": tmp83, f"tmp85": tmp85, f"tmp91": tmp91, f"tmp93": tmp93, f"tmp95": tmp95, f"tmp97": tmp97, f"tmp99": tmp99}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCD.hbar_lmatvec_ea(f=None, r1=None, r2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T18:50:40.624510.

+

Parameters

+

f : Namespace of arrays + Fock matrix. +r1 : Namespace of arrays + R1 amplitudes. +r2 : Namespace of arrays + R2 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.

+ +
+ Source code in ebcc/codegen/UCCD.py +
2459
+2460
+2461
+2462
+2463
+2464
+2465
+2466
+2467
+2468
+2469
+2470
+2471
+2472
+2473
+2474
+2475
+2476
+2477
+2478
+2479
+2480
+2481
+2482
+2483
+2484
+2485
+2486
+2487
+2488
+2489
+2490
+2491
+2492
+2493
+2494
+2495
+2496
+2497
+2498
+2499
+2500
+2501
+2502
+2503
+2504
+2505
+2506
+2507
+2508
+2509
+2510
+2511
+2512
+2513
+2514
+2515
+2516
+2517
+2518
+2519
+2520
+2521
+2522
+2523
+2524
+2525
+2526
+2527
+2528
+2529
+2530
+2531
+2532
+2533
+2534
+2535
+2536
+2537
+2538
+2539
+2540
+2541
+2542
+2543
+2544
+2545
+2546
+2547
+2548
+2549
+2550
+2551
+2552
+2553
+2554
+2555
+2556
+2557
+2558
+2559
+2560
+2561
+2562
+2563
+2564
+2565
+2566
+2567
+2568
+2569
+2570
+2571
+2572
+2573
+2574
+2575
+2576
+2577
+2578
+2579
+2580
+2581
+2582
+2583
+2584
+2585
+2586
+2587
+2588
+2589
+2590
+2591
+2592
+2593
+2594
+2595
+2596
+2597
+2598
+2599
+2600
+2601
+2602
+2603
+2604
+2605
+2606
+2607
+2608
+2609
+2610
+2611
+2612
+2613
+2614
+2615
+2616
+2617
+2618
+2619
+2620
+2621
+2622
+2623
+2624
+2625
+2626
+2627
+2628
+2629
+2630
+2631
+2632
+2633
+2634
+2635
+2636
+2637
+2638
+2639
+2640
+2641
+2642
+2643
+2644
+2645
+2646
+2647
+2648
+2649
+2650
+2651
+2652
+2653
+2654
+2655
+2656
+2657
+2658
+2659
+2660
+2661
+2662
+2663
+2664
+2665
+2666
+2667
+2668
+2669
+2670
+2671
+2672
+2673
+2674
+2675
+2676
+2677
+2678
+2679
+2680
+2681
+2682
+2683
+2684
+2685
+2686
+2687
+2688
+2689
+2690
+2691
+2692
+2693
+2694
+2695
+2696
+2697
+2698
+2699
+2700
+2701
+2702
+2703
+2704
+2705
+2706
+2707
+2708
+2709
+2710
+2711
+2712
+2713
+2714
+2715
+2716
+2717
+2718
+2719
+2720
+2721
+2722
+2723
+2724
+2725
+2726
+2727
+2728
+2729
+2730
+2731
+2732
+2733
+2734
+2735
+2736
+2737
+2738
+2739
+2740
+2741
+2742
+2743
+2744
+2745
+2746
+2747
+2748
+2749
+2750
+2751
+2752
+2753
+2754
+2755
+2756
+2757
+2758
+2759
+2760
+2761
+2762
+2763
+2764
+2765
+2766
+2767
+2768
+2769
+2770
+2771
+2772
+2773
+2774
+2775
+2776
+2777
+2778
+2779
+2780
+2781
+2782
+2783
+2784
+2785
+2786
+2787
+2788
def hbar_lmatvec_ea(f=None, r1=None, r2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T18:50:40.624510.
+
+    Parameters
+    ----------
+    f : Namespace of arrays
+        Fock matrix.
+    r1 : Namespace of arrays
+        R1 amplitudes.
+    r2 : Namespace of arrays
+        R2 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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp11 = einsum(t2.abab, (0, 1, 2, 3), r2.aba, (2, 3, 0), (1,))
+    tmp12 = einsum(r2.bbb, (0, 1, 2), t2.bbbb, (3, 2, 0, 1), (3,))
+    tmp55 = np.copy(ints.tmp142)
+    tmp55 += ints.tmp146 * 2
+    tmp41 = np.copy(ints.tmp59)
+    tmp41 += ints.tmp61 * 0.5
+    tmp41 += f.bb.vv * -0.5
+    tmp36 = np.copy(tmp11) * -0.5
+    tmp36 += tmp12
+    tmp48 = np.copy(ints.tmp144) * 2
+    tmp48 += ints.tmp148
+    tmp6 = einsum(t2.abab, (0, 1, 2, 3), r2.bab, (3, 2, 1), (0,)) * -1
+    tmp26 = np.copy(ints.tmp101) * 0.5
+    tmp26 += ints.tmp105
+    tmp24 = np.copy(ints.tmp103) * 0.5
+    tmp24 += ints.tmp99
+    tmp28 = np.copy(ints.tmp14)
+    tmp28 += ints.tmp16 * 0.5
+    tmp28 += f.aa.vv * -0.5
+    tmp5 = einsum(r2.aaa, (0, 1, 2), t2.aaaa, (3, 2, 0, 1), (3,))
+    tmp54 = einsum(r2.bbb, (0, 1, 2), v.bbbb.ovov, (3, 4, 2, 1), (3, 0, 4))
+    tmp56 = einsum(tmp55, (0, 1, 2, 3), r2.aba, (2, 4, 0), (1, 4, 3))
+    del tmp55
+    tmp53 = einsum(r2.bbb, (0, 1, 2), ints.tmp140, (2, 3, 1, 4), (3, 4, 0))
+    tmp50 = einsum(r2.bbb, (0, 1, 2), tmp41, (1, 3), (2, 0, 3)) * -4
+    tmp51 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp36, (2,), (0, 3, 1)) * 2
+    tmp47 = einsum(r2.bbb, (0, 1, 2), v.bbbb.oovv, (3, 2, 4, 1), (3, 0, 4))
+    tmp49 = einsum(r2.bbb, (0, 1, 2), tmp48, (2, 3, 1, 4), (3, 0, 4)) * -2
+    del tmp48
+    tmp44 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), r1.b, (3,), (0, 1, 2))
+    tmp46 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.aba, (1, 4, 0), (2, 4, 3))
+    tmp45 = einsum(r2.aba, (0, 1, 2), ints.tmp138, (2, 3, 0, 4), (3, 4, 1))
+    tmp15 = einsum(ints.tmp95, (0, 1, 2, 3), r2.aaa, (4, 2, 0), (1, 3, 4))
+    tmp18 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.bab, (3, 4, 2), (0, 4, 1)) * -1
+    tmp19 = einsum(tmp6, (0,), v.aaaa.ovov, (1, 2, 0, 3), (1, 2, 3))
+    tmp16 = einsum(r2.aaa, (0, 1, 2), v.aaaa.ovov, (3, 4, 2, 1), (3, 0, 4))
+    tmp17 = einsum(r2.bab, (0, 1, 2), ints.tmp97, (3, 2, 4, 0), (3, 4, 1)) * -1
+    tmp22 = einsum(v.aaaa.oovv, (0, 1, 2, 3), r2.aaa, (4, 3, 1), (0, 4, 2))
+    tmp27 = einsum(tmp26, (0, 1, 2, 3), r2.bab, (3, 4, 1), (0, 4, 2)) * -2
+    del tmp26
+    tmp25 = einsum(tmp24, (0, 1, 2, 3), r2.aaa, (4, 2, 0), (1, 4, 3)) * -4
+    del tmp24
+    tmp29 = einsum(tmp28, (0, 1), r2.aaa, (2, 0, 3), (3, 2, 1)) * -4
+    del tmp28
+    tmp21 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), r1.a, (3,), (0, 1, 2))
+    tmp23 = einsum(tmp5, (0,), v.aaaa.ovov, (1, 2, 0, 3), (1, 2, 3)) * -1
+    tmp42 = np.copy(f.bb.oo)
+    tmp42 += ints.tmp134 * 2
+    del ints.tmp134
+    tmp42 += ints.tmp136
+    del ints.tmp136
+    tmp57 = np.copy(tmp53) * 4
+    del tmp53
+    tmp57 += tmp54 * 2
+    del tmp54
+    tmp57 += np.transpose(tmp56, (0, 2, 1))
+    del tmp56
+    tmp43 = einsum(t2.bbbb, (0, 1, 2, 3), r2.bbb, (2, 3, 4), (4, 0, 1))
+    tmp52 = einsum(f.bb.ov, (0, 1), r1.b, (2,), (0, 1, 2))
+    tmp52 += tmp44
+    del tmp44
+    tmp52 += tmp45
+    del tmp45
+    tmp52 += tmp46
+    del tmp46
+    tmp52 += tmp47 * 2
+    del tmp47
+    tmp52 += np.transpose(tmp49, (0, 2, 1)) * -1
+    del tmp49
+    tmp52 += np.transpose(tmp50, (0, 2, 1))
+    del tmp50
+    tmp52 += np.transpose(tmp51, (0, 2, 1)) * -1
+    del tmp51
+    tmp37 = einsum(t2.abab, (0, 1, 2, 3), r2.bab, (3, 2, 4), (0, 4, 1)) * -1
+    tmp38 = np.copy(ints.tmp144) * 2
+    del ints.tmp144
+    tmp38 += ints.tmp148
+    del ints.tmp148
+    tmp38 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    tmp38 += ints.tmp140 * -2
+    del ints.tmp140
+    tmp38 += v.bbbb.oovv * -1
+    tmp39 = np.copy(ints.tmp142)
+    del ints.tmp142
+    tmp39 += ints.tmp146 * 2
+    del ints.tmp146
+    tmp39 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp39 += ints.tmp138 * -1
+    del ints.tmp138
+    tmp40 = np.copy(ints.tmp158)
+    del ints.tmp158
+    tmp40 += np.transpose(v.aabb.vvoo, (2, 3, 0, 1)) * -1
+    tmp7 = np.copy(tmp5) * 2
+    del tmp5
+    tmp7 += tmp6
+    del tmp6
+    tmp4 = np.copy(ints.tmp14) * 2
+    del ints.tmp14
+    tmp4 += ints.tmp16
+    del ints.tmp16
+    tmp4 += f.aa.vv * -1
+    tmp10 = np.copy(ints.tmp59) * 2
+    del ints.tmp59
+    tmp10 += ints.tmp61
+    del ints.tmp61
+    tmp10 += f.bb.vv * -1
+    tmp31 = np.copy(f.aa.oo)
+    tmp31 += ints.tmp91 * 2
+    del ints.tmp91
+    tmp31 += ints.tmp93
+    del ints.tmp93
+    tmp35 = np.copy(ints.tmp132)
+    del ints.tmp132
+    tmp35 += v.aabb.oovv * -1
+    tmp34 = np.copy(ints.tmp101)
+    del ints.tmp101
+    tmp34 += ints.tmp105 * 2
+    del ints.tmp105
+    tmp34 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp34 += ints.tmp97 * -1
+    del ints.tmp97
+    tmp32 = einsum(t2.abab, (0, 1, 2, 3), r2.aba, (2, 3, 4), (4, 0, 1))
+    tmp33 = np.copy(ints.tmp103)
+    del ints.tmp103
+    tmp33 += ints.tmp99 * 2
+    del ints.tmp99
+    tmp33 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp33 += ints.tmp95 * -2
+    del ints.tmp95
+    tmp33 += v.aaaa.oovv * -1
+    tmp20 = np.copy(tmp15) * 4
+    del tmp15
+    tmp20 += tmp16 * 2
+    del tmp16
+    tmp20 += tmp17
+    del tmp17
+    tmp20 += tmp18
+    del tmp18
+    tmp20 += tmp19
+    del tmp19
+    tmp30 = einsum(r1.a, (0,), f.aa.ov, (1, 2), (1, 2, 0))
+    tmp30 += tmp21
+    del tmp21
+    tmp30 += tmp22 * 2
+    del tmp22
+    tmp30 += tmp23 * 2
+    del tmp23
+    tmp30 += np.transpose(tmp25, (0, 2, 1)) * -1
+    del tmp25
+    tmp30 += np.transpose(tmp27, (0, 2, 1))
+    del tmp27
+    tmp30 += np.transpose(tmp29, (0, 2, 1))
+    del tmp29
+    tmp14 = einsum(t2.aaaa, (0, 1, 2, 3), r2.aaa, (2, 3, 4), (4, 0, 1))
+    tmp8 = np.copy(ints.tmp69)
+    del ints.tmp69
+    tmp8 += np.transpose(ints.tmp75, (0, 1, 3, 2))
+    del ints.tmp75
+    tmp8 += np.transpose(ints.tmp81, (0, 1, 3, 2)) * 2
+    del ints.tmp81
+    tmp8 += v.aabb.ovvv
+    tmp8 += np.transpose(ints.tmp78, (0, 1, 3, 2)) * -1
+    del ints.tmp78
+    tmp8 += ints.tmp85 * -1
+    del ints.tmp85
+    tmp2 = np.copy(f.aa.ov) * 0.5
+    tmp2 += ints.tmp1
+    del ints.tmp1
+    tmp2 += ints.tmp36 * 0.5
+    del ints.tmp36
+    tmp2 += ints.tmp4 * 0.5
+    del ints.tmp4
+    tmp2 += ints.tmp18 * -1
+    del ints.tmp18
+    tmp2 += ints.tmp24 * -0.5
+    del ints.tmp24
+    tmp2 += ints.tmp30 * -1
+    del ints.tmp30
+    tmp13 = np.copy(tmp11) * -1
+    del tmp11
+    tmp13 += tmp12 * 2
+    del tmp12
+    tmp9 = np.copy(ints.tmp67) * 0.5
+    del ints.tmp67
+    tmp9 += np.transpose(ints.tmp76, (0, 1, 3, 2))
+    del ints.tmp76
+    tmp9 += np.transpose(ints.tmp83, (0, 1, 3, 2)) * 0.5
+    del ints.tmp83
+    tmp9 += v.bbbb.ovvv * 0.5
+    tmp9 += np.transpose(ints.tmp79, (0, 1, 3, 2)) * -1
+    del ints.tmp79
+    tmp3 = np.copy(f.bb.ov) * 0.5
+    tmp3 += ints.tmp34 * 0.5
+    del ints.tmp34
+    tmp3 += ints.tmp3 * 0.5
+    del ints.tmp3
+    tmp3 += ints.tmp6
+    del ints.tmp6
+    tmp3 += ints.tmp20 * -1
+    del ints.tmp20
+    tmp3 += ints.tmp22 * -0.5
+    del ints.tmp22
+    tmp3 += ints.tmp32 * -1
+    del ints.tmp32
+    tmp1 = np.copy(ints.tmp26) * 0.5
+    del ints.tmp26
+    tmp1 += np.transpose(ints.tmp38, (0, 1, 3, 2))
+    del ints.tmp38
+    tmp1 += np.transpose(ints.tmp44, (0, 1, 3, 2)) * 0.5
+    del ints.tmp44
+    tmp1 += v.aaaa.ovvv * 0.5
+    tmp1 += np.transpose(ints.tmp41, (0, 1, 3, 2)) * -1
+    del ints.tmp41
+    tmp0 = np.copy(ints.tmp28)
+    del ints.tmp28
+    tmp0 += np.transpose(ints.tmp40, (0, 2, 1, 3))
+    del ints.tmp40
+    tmp0 += np.transpose(ints.tmp46, (0, 2, 1, 3)) * 2
+    del ints.tmp46
+    tmp0 += np.transpose(v.aabb.vvov, (2, 0, 1, 3))
+    tmp0 += np.transpose(ints.tmp43, (0, 2, 1, 3)) * -1
+    del ints.tmp43
+    tmp0 += ints.tmp48 * -1
+    del ints.tmp48
+    r2new.bbb = einsum(tmp43, (0, 1, 2), v.bbbb.ovov, (2, 3, 1, 4), (3, 4, 0)) * -2
+    del tmp43
+    r2new.bbb += einsum(v.bbbb.vvvv, (0, 1, 2, 3), r2.bbb, (3, 1, 4), (0, 2, 4)) * -2
+    r2new.bbb += np.transpose(tmp52, (1, 2, 0)) * -1
+    r2new.bbb += np.transpose(tmp52, (2, 1, 0))
+    del tmp52
+    r2new.bbb += np.transpose(tmp57, (1, 2, 0))
+    r2new.bbb += np.transpose(tmp57, (2, 1, 0)) * -1
+    del tmp57
+    r2new.bbb += einsum(r2.bbb, (0, 1, 2), tmp42, (2, 3), (0, 1, 3)) * -2
+    r2new.bab = einsum(r1.a, (0,), v.aabb.vvov, (1, 0, 2, 3), (3, 1, 2)) * -1
+    r2new.bab += einsum(f.bb.ov, (0, 1), r1.a, (2,), (1, 2, 0)) * -1
+    r2new.bab += einsum(tmp37, (0, 1, 2), v.aabb.ovov, (0, 3, 2, 4), (4, 3, 1)) * -1
+    del tmp37
+    r2new.bab += einsum(r2.bab, (0, 1, 2), v.aabb.vvvv, (3, 1, 4, 0), (4, 3, 2))
+    r2new.bab += einsum(tmp38, (0, 1, 2, 3), r2.bab, (2, 4, 0), (3, 4, 1))
+    del tmp38
+    r2new.bab += einsum(tmp39, (0, 1, 2, 3), r2.aaa, (4, 2, 0), (3, 4, 1)) * -2
+    del tmp39
+    r2new.bab += einsum(tmp40, (0, 1, 2, 3), r2.bab, (4, 2, 0), (4, 3, 1))
+    del tmp40
+    r2new.bab += einsum(tmp4, (0, 1), r2.bab, (2, 0, 3), (2, 1, 3)) * -1
+    r2new.bab += einsum(tmp41, (0, 1), r2.bab, (0, 2, 3), (1, 2, 3)) * -2
+    del tmp41
+    r2new.bab += einsum(tmp42, (0, 1), r2.bab, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp42
+    r2new.bab += einsum(tmp7, (0,), v.aabb.ovov, (0, 1, 2, 3), (3, 1, 2))
+    r2new.aba = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp32, (4, 0, 2), (1, 3, 4))
+    del tmp32
+    r2new.aba += einsum(r1.b, (0,), f.aa.ov, (1, 2), (2, 0, 1)) * -1
+    r2new.aba += einsum(v.aabb.ovvv, (0, 1, 2, 3), r1.b, (3,), (1, 2, 0)) * -1
+    r2new.aba += einsum(v.aabb.vvvv, (0, 1, 2, 3), r2.aba, (1, 3, 4), (0, 2, 4))
+    r2new.aba += einsum(tmp33, (0, 1, 2, 3), r2.aba, (2, 4, 0), (3, 4, 1))
+    del tmp33
+    r2new.aba += einsum(tmp34, (0, 1, 2, 3), r2.bbb, (4, 3, 1), (2, 4, 0)) * -2
+    del tmp34
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp35, (2, 3, 1, 4), (0, 4, 3))
+    del tmp35
+    r2new.aba += einsum(tmp4, (0, 1), r2.aba, (0, 2, 3), (1, 2, 3)) * -1
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp10, (1, 3), (0, 3, 2)) * -1
+    r2new.aba += einsum(tmp31, (0, 1), r2.aba, (2, 3, 0), (2, 3, 1)) * -1
+    r2new.aba += einsum(tmp36, (0,), v.aabb.ovov, (1, 2, 0, 3), (2, 3, 1)) * 2
+    del tmp36
+    r2new.aaa = einsum(v.aaaa.vvvv, (0, 1, 2, 3), r2.aaa, (3, 1, 4), (0, 2, 4)) * -2
+    r2new.aaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp14, (4, 2, 0), (1, 3, 4)) * -2
+    del tmp14
+    r2new.aaa += np.transpose(tmp20, (1, 2, 0))
+    r2new.aaa += np.transpose(tmp20, (2, 1, 0)) * -1
+    del tmp20
+    r2new.aaa += np.transpose(tmp30, (1, 2, 0)) * -1
+    r2new.aaa += np.transpose(tmp30, (2, 1, 0))
+    del tmp30
+    r2new.aaa += einsum(tmp31, (0, 1), r2.aaa, (2, 3, 0), (2, 3, 1)) * -2
+    del tmp31
+    r1new.b = einsum(r2.aba, (0, 1, 2), tmp8, (2, 0, 1, 3), (3,)) * -1
+    del tmp8
+    r1new.b += einsum(tmp9, (0, 1, 2, 3), r2.bbb, (1, 2, 0), (3,)) * -4
+    del tmp9
+    r1new.b += einsum(tmp3, (0, 1), r2.bbb, (2, 1, 0), (2,)) * 4
+    r1new.b += einsum(tmp2, (0, 1), r2.aba, (1, 2, 0), (2,)) * -2
+    r1new.b += einsum(tmp10, (0, 1), r1.b, (0,), (1,)) * -1
+    del tmp10
+    r1new.b += einsum(f.bb.ov, (0, 1), tmp13, (0,), (1,)) * -1
+    del tmp13
+    r1new.a = einsum(r2.bab, (0, 1, 2), tmp0, (2, 1, 3, 0), (3,)) * -1
+    del tmp0
+    r1new.a += einsum(r2.aaa, (0, 1, 2), tmp1, (2, 0, 1, 3), (3,)) * -4
+    del tmp1
+    r1new.a += einsum(tmp2, (0, 1), r2.aaa, (2, 1, 0), (2,)) * 4
+    del tmp2
+    r1new.a += einsum(tmp3, (0, 1), r2.bab, (1, 2, 0), (2,)) * -2
+    del tmp3
+    r1new.a += einsum(tmp4, (0, 1), r1.a, (0,), (1,)) * -1
+    del tmp4
+    r1new.a += einsum(tmp7, (0,), f.aa.ov, (0, 1), (1,)) * -1
+    del tmp7
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/UCCSD/index.html b/reference/codegen/UCCSD/index.html new file mode 100644 index 00000000..0179a6ac --- /dev/null +++ b/reference/codegen/UCCSD/index.html @@ -0,0 +1,18055 @@ + + + + + + + + UCCSD - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-12T21:47:25.107426
  • +
  • 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
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.UCCSD.energy(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-12T21:47:25.839925.

+

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.

+ +
+ Source code in ebcc/codegen/UCCSD.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
def energy(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-12T21:47:25.839925.
+
+    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 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1)))
+    tmp0 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1
+    tmp2 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1)))
+    tmp2 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) * -1
+    tmp1 = np.copy(f.bb.ov) * 2
+    tmp1 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) * 2
+    tmp1 += einsum(t1.bb, (0, 1), tmp0, (0, 2, 1, 3), (2, 3)) * -1
+    del tmp0
+    e_cc = einsum(t1.bb, (0, 1), tmp1, (0, 1), ()) * 0.5
+    del tmp1
+    tmp3 = np.copy(f.aa.ov)
+    tmp3 += einsum(t1.aa, (0, 1), tmp2, (0, 2, 1, 3), (2, 3)) * -0.5
+    del tmp2
+    e_cc += einsum(tmp3, (0, 1), t1.aa, (0, 1), ())
+    del tmp3
+    e_cc += einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 3, 1), ()) * -1
+    e_cc += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 3), ())
+    e_cc += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), ())
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCSD.update_amps(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-12T21:48:00.365181.

+

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.

+ +
+ Source code in ebcc/codegen/UCCSD.py +
 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+845
+846
+847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
+858
+859
+860
+861
+862
+863
+864
+865
+866
+867
+868
+869
+870
+871
+872
+873
+874
+875
+876
+877
+878
+879
+880
def update_amps(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-12T21:48:00.365181.
+
+    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()
+    tmp13 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1)))
+    tmp13 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1
+    tmp7 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1)))
+    tmp7 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) * -1
+    tmp114 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1)))
+    tmp114 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1
+    tmp12 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3))
+    t1new.bb = np.copy(tmp12)
+    tmp14 = einsum(t1.bb, (0, 1), tmp13, (0, 2, 1, 3), (2, 3))
+    del tmp13
+    tmp20 = 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), tmp20, (4, 0, 1, 3), (4, 2)) * 2
+    tmp8 = einsum(t1.aa, (0, 1), tmp7, (0, 2, 1, 3), (2, 3))
+    tmp0 = einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3))
+    t1new.aa = np.copy(tmp0)
+    tmp2 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1))
+    t1new.aa += einsum(tmp2, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 3), (0, 4)) * 2
+    tmp115 = einsum(t1.bb, (0, 1), tmp114, (0, 2, 1, 3), (2, 3))
+    tmp137 = np.copy(v.bbbb.ooov)
+    tmp137 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1)) * -1
+    tmp194 = np.copy(v.bbbb.ooov)
+    tmp194 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) * -1
+    tmp21 = 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), tmp21, (0, 4, 1, 2), (4, 3)) * -1
+    tmp15 = np.copy(f.bb.ov)
+    tmp15 += tmp12
+    tmp15 += tmp14 * -1
+    del tmp14
+    t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp15, (1, 3), (0, 2)) * 2
+    t1new.aa += einsum(tmp15, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp145 = np.copy(tmp20) * -1
+    tmp145 += np.transpose(tmp20, (0, 2, 1, 3))
+    tmp113 = np.copy(v.bbbb.ovvv)
+    tmp113 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3)) * -1
+    tmp9 = np.copy(f.aa.ov)
+    tmp9 += tmp0
+    tmp9 += tmp8 * -1
+    del tmp8
+    t1new.bb += einsum(tmp9, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    t1new.aa += einsum(tmp9, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3)) * 2
+    tmp79 = np.copy(v.aaaa.ooov) * -1
+    tmp79 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1))
+    tmp35 = np.copy(v.aaaa.ooov)
+    tmp35 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) * -1
+    tmp71 = np.copy(tmp2) * -1
+    tmp71 += np.transpose(tmp2, (0, 2, 1, 3))
+    tmp69 = np.copy(v.aaaa.ovvv)
+    tmp69 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3)) * -1
+    tmp1 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4))
+    t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp1, (4, 0, 1, 3), (4, 2)) * -1
+    tmp116 = np.copy(f.bb.ov)
+    tmp116 += tmp12
+    del tmp12
+    tmp116 += tmp115 * -1
+    del tmp115
+    tmp29 = np.copy(v.bbbb.ooov)
+    tmp29 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1)) * -1
+    tmp28 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3))
+    tmp156 = einsum(tmp137, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2))
+    tmp195 = einsum(tmp194, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3))
+    del tmp194
+    tmp173 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    t2new.bbbb = np.copy(np.transpose(tmp173, (1, 0, 3, 2))) * -1
+    t2new.bbbb += np.transpose(tmp173, (0, 1, 3, 2))
+    t2new.bbbb += tmp173 * -1
+    t2new.bbbb += np.transpose(tmp173, (1, 0, 2, 3))
+    tmp124 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 1, 2))
+    t2new.abab = np.copy(tmp124)
+    tmp123 = einsum(t1.bb, (0, 1), tmp21, (2, 3, 0, 4), (2, 3, 4, 1))
+    t2new.abab += tmp123 * -1
+    tmp198 = einsum(t1.bb, (0, 1), tmp20, (2, 3, 4, 1), (2, 0, 4, 3))
+    tmp25 = einsum(t1.bb, (0, 1), tmp15, (2, 1), (0, 2))
+    tmp24 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4))
+    tmp23 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2))
+    tmp146 = einsum(tmp145, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3))
+    del tmp145
+    tmp180 = einsum(tmp113, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 1, 3))
+    tmp165 = einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp93 = einsum(t1.aa, (0, 1), tmp2, (2, 3, 4, 1), (2, 0, 4, 3))
+    tmp6 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4))
+    tmp57 = einsum(t1.aa, (0, 1), tmp9, (2, 1), (0, 2))
+    tmp5 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4)) * -1
+    tmp51 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp17 = np.copy(v.aaaa.ooov)
+    tmp17 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) * -1
+    tmp61 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    t2new.aaaa = np.copy(np.transpose(tmp61, (1, 0, 3, 2))) * -1
+    t2new.aaaa += np.transpose(tmp61, (0, 1, 3, 2))
+    t2new.aaaa += tmp61 * -1
+    t2new.aaaa += np.transpose(tmp61, (1, 0, 2, 3))
+    tmp80 = einsum(t1.aa, (0, 1), tmp79, (0, 2, 3, 4), (2, 3, 1, 4))
+    del tmp79
+    tmp48 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1)))
+    tmp48 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) * -1
+    tmp16 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp36 = einsum(tmp35, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2))
+    tmp72 = einsum(tmp71, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    del tmp71
+    tmp70 = einsum(t1.aa, (0, 1), tmp69, (2, 3, 1, 4), (0, 2, 3, 4))
+    del tmp69
+    tmp65 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 0, 3))
+    tmp66 = einsum(t1.aa, (0, 1), tmp1, (2, 0, 3, 4), (2, 3, 1, 4))
+    t2new.abab += tmp66 * -1
+    tmp117 = einsum(t1.bb, (0, 1), tmp116, (0, 2), (1, 2))
+    del tmp116
+    tmp144 = np.copy(v.bbbb.ovvv) * -1
+    tmp144 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3))
+    tmp112 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3))
+    tmp202 = einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp192 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3))
+    tmp162 = np.copy(v.bbbb.ovvv) * -1
+    tmp162 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3))
+    tmp107 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 4), (4, 3))
+    tmp108 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 1), (4, 3)) * -1
+    tmp154 = einsum(v.bbbb.oooo, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+    tmp30 = einsum(tmp29, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2))
+    del tmp29
+    tmp186 = np.copy(v.bbbb.ooov) * -1
+    tmp186 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1))
+    tmp83 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1))) * -1
+    tmp83 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    tmp167 = einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp157 = np.copy(f.bb.oo)
+    tmp157 += np.transpose(tmp28, (1, 0))
+    tmp157 += np.transpose(tmp156, (1, 0)) * -1
+    del tmp156
+    tmp110 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2))
+    t2new.abab += tmp110 * 2
+    tmp127 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.bb, (3, 4), (0, 2, 1, 4))
+    t2new.abab += tmp127 * -1
+    tmp196 = np.copy(v.bbbb.oovv)
+    tmp196 += np.transpose(tmp195, (1, 0, 2, 3)) * -1
+    del tmp195
+    tmp208 = np.copy(v.bbbb.ovvv)
+    tmp208 += einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (2, 4), (0, 3, 4, 1))
+    tmp204 = einsum(t1.bb, (0, 1), tmp173, (2, 3, 1, 4), (0, 2, 3, 4))
+    del tmp173
+    tmp178 = np.copy(tmp124) * -1
+    tmp178 += tmp123
+    tmp200 = einsum(tmp198, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4))
+    tmp176 = np.copy(tmp20) * -1
+    tmp176 += np.transpose(tmp20, (0, 2, 1, 3))
+    tmp175 = np.copy(v.bbbb.ovvv)
+    tmp175 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3)) * -1
+    tmp148 = np.copy(tmp124)
+    tmp148 += tmp123 * -1
+    del tmp123
+    t2new.abab += einsum(tmp148, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3)) * 2
+    tmp206 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 5, 3, 1), (4, 5, 0, 2)) * -1
+    tmp171 = np.copy(tmp23)
+    tmp171 += tmp24 * 2
+    tmp171 += tmp25
+    tmp181 = np.copy(np.transpose(tmp180, (0, 1, 3, 2))) * -1
+    del tmp180
+    tmp181 += tmp146 * -1
+    tmp169 = einsum(tmp165, (0, 1, 2, 3), t1.bb, (3, 4), (0, 2, 1, 4))
+    tmp189 = np.copy(v.bbbb.ooov) * -1
+    tmp189 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1))
+    tmp87 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1))) * -1
+    tmp87 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    tmp125 = einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3))
+    tmp42 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    t2new.aaaa += tmp42
+    t2new.aaaa += np.transpose(tmp42, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp42, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp42, (1, 0, 3, 2))
+    tmp44 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp45 = np.copy(v.aaaa.ovvv) * -1
+    tmp45 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3))
+    tmp39 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1
+    tmp40 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4))
+    tmp47 = np.copy(v.aaaa.ovvv) * -1
+    tmp47 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3))
+    tmp142 = np.copy(tmp2)
+    tmp142 += np.transpose(tmp2, (0, 2, 1, 3)) * -1
+    tmp82 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3))
+    t2new.abab += tmp82 * -1
+    tmp134 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3))
+    t2new.abab += tmp134 * 2
+    tmp140 = np.copy(np.transpose(v.aabb.vvov, (2, 0, 1, 3)))
+    tmp140 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 2, 3, 4), (3, 1, 2, 4)) * -1
+    tmp99 = einsum(tmp93, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 3, 4))
+    tmp62 = np.copy(v.aaaa.ovvv)
+    tmp62 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3)) * -1
+    tmp63 = np.copy(tmp2) * -1
+    tmp63 += np.transpose(tmp2, (0, 2, 1, 3))
+    tmp53 = einsum(v.aaaa.oovv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2))
+    tmp58 = np.copy(tmp5) * 2
+    tmp58 += tmp6
+    tmp58 += tmp57
+    tmp55 = einsum(tmp51, (0, 1, 2, 3), t1.aa, (3, 4), (0, 2, 1, 4))
+    tmp18 = einsum(t1.aa, (0, 1), tmp17, (0, 2, 3, 1), (2, 3))
+    del tmp17
+    tmp95 = einsum(tmp61, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3))
+    del tmp61
+    tmp101 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (0, 1, 4, 5)) * -1
+    tmp91 = np.copy(v.aaaa.oovv)
+    tmp91 += np.transpose(tmp80, (1, 0, 2, 3)) * -1
+    tmp33 = einsum(t1.aa, (0, 1), v.aaaa.oooo, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp103 = np.copy(v.aaaa.ovvv)
+    tmp103 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 4), (2, 4, 1, 3))
+    tmp85 = np.copy(v.aaaa.ooov) * -1
+    tmp85 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1))
+    tmp97 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2))
+    tmp49 = np.copy(f.aa.ov)
+    tmp49 += tmp0
+    del tmp0
+    tmp49 += einsum(t1.aa, (0, 1), tmp48, (0, 2, 1, 3), (2, 3)) * -1
+    tmp37 = np.copy(f.aa.oo)
+    tmp37 += np.transpose(tmp16, (1, 0))
+    tmp37 += np.transpose(tmp36, (1, 0)) * -1
+    del tmp36
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp37, (0, 4), (4, 1, 2, 3)) * -1
+    tmp73 = np.copy(np.transpose(tmp70, (0, 1, 3, 2))) * -1
+    del tmp70
+    tmp73 += tmp72 * -1
+    del tmp72
+    tmp75 = np.copy(tmp65)
+    tmp75 += tmp66 * -1
+    t2new.abab += einsum(tmp75, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 4, 2, 5)) * 2
+    tmp89 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp67 = np.copy(tmp65) * -1
+    del tmp65
+    tmp67 += tmp66
+    del tmp66
+    tmp164 = np.copy(f.bb.vv) * -1
+    tmp164 += np.transpose(tmp112, (1, 0)) * -1
+    tmp164 += einsum(t1.bb, (0, 1), tmp144, (0, 2, 1, 3), (2, 3)) * -1
+    tmp164 += np.transpose(tmp117, (1, 0))
+    t2new.bbbb += einsum(tmp164, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 4, 1)) * -2
+    del tmp164
+    tmp203 = einsum(t1.bb, (0, 1), tmp202, (2, 3, 1, 4), (0, 2, 3, 4))
+    del tmp202
+    t2new.bbbb += np.transpose(tmp203, (0, 1, 3, 2)) * -1
+    t2new.bbbb += tmp203
+    del tmp203
+    tmp193 = einsum(tmp192, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3))
+    del tmp192
+    t2new.bbbb += np.transpose(tmp193, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp193, (1, 0, 3, 2))
+    del tmp193
+    tmp163 = np.copy(f.bb.vv) * -1
+    tmp163 += np.transpose(tmp112, (1, 0)) * -1
+    tmp163 += np.transpose(tmp107, (1, 0))
+    tmp163 += np.transpose(tmp108, (1, 0)) * 2
+    tmp163 += einsum(t1.bb, (0, 1), tmp162, (0, 2, 1, 3), (2, 3)) * -1
+    del tmp162
+    tmp163 += einsum(t1.bb, (0, 1), tmp15, (0, 2), (2, 1))
+    del tmp15
+    t2new.bbbb += einsum(tmp163, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * 2
+    del tmp163
+    tmp153 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.oooo, (4, 1, 5, 0), (4, 5, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp153, (1, 0, 3, 2)) * 0.5
+    t2new.bbbb += np.transpose(tmp153, (1, 0, 3, 2)) * 0.5
+    t2new.bbbb += np.transpose(tmp153, (1, 0, 3, 2)) * 0.5
+    t2new.bbbb += np.transpose(tmp153, (1, 0, 3, 2)) * 0.5
+    del tmp153
+    tmp161 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5))
+    t2new.bbbb += tmp161
+    t2new.bbbb += np.transpose(tmp161, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp161, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp161, (1, 0, 3, 2))
+    del tmp161
+    tmp155 = einsum(tmp154, (0, 1, 2, 3), t1.bb, (1, 4), (2, 0, 3, 4))
+    del tmp154
+    t2new.bbbb += np.transpose(tmp155, (0, 1, 3, 2)) * -1
+    t2new.bbbb += tmp155
+    del tmp155
+    tmp31 = np.copy(f.bb.oo)
+    tmp31 += np.transpose(tmp28, (1, 0))
+    del tmp28
+    tmp31 += np.transpose(tmp30, (1, 0)) * -1
+    del tmp30
+    t2new.bbbb += einsum(tmp31, (0, 1), t2.bbbb, (2, 0, 3, 4), (2, 1, 3, 4)) * -1
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp31, (1, 4), (0, 4, 2, 3)) * -1
+    t1new.bb += einsum(t1.bb, (0, 1), tmp31, (0, 2), (2, 1)) * -1
+    del tmp31
+    tmp184 = einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 0, 3, 4), (2, 3, 1, 4))
+    t2new.bbbb += np.transpose(tmp184, (1, 0, 2, 3))
+    t2new.bbbb += tmp184 * -1
+    t2new.bbbb += np.transpose(tmp184, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp184, (0, 1, 3, 2))
+    del tmp184
+    tmp187 = np.copy(v.bbbb.oovv)
+    tmp187 += einsum(t2.bbbb, (0, 1, 2, 3), tmp83, (1, 4, 3, 5), (0, 4, 2, 5)) * -2
+    tmp187 += einsum(tmp186, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3)) * -1
+    del tmp186
+    t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp187, (4, 1, 5, 3), (4, 0, 5, 2)) * -2
+    del tmp187
+    tmp168 = einsum(t1.bb, (0, 1), tmp167, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp167
+    t2new.bbbb += tmp168
+    t2new.bbbb += np.transpose(tmp168, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp168, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp168, (1, 0, 3, 2))
+    del tmp168
+    tmp158 = einsum(t2.bbbb, (0, 1, 2, 3), tmp157, (1, 4), (0, 4, 2, 3)) * -1
+    del tmp157
+    t2new.bbbb += np.transpose(tmp158, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp158, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp158, (0, 1, 3, 2)) * -1
+    del tmp158
+    tmp185 = einsum(tmp110, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3))
+    del tmp110
+    t2new.bbbb += np.transpose(tmp185, (1, 0, 2, 3)) * -2
+    t2new.bbbb += np.transpose(tmp185, (0, 1, 3, 2)) * -2
+    t2new.bbbb += np.transpose(tmp185, (1, 0, 3, 2)) * 2
+    t2new.bbbb += tmp185 * 2
+    del tmp185
+    tmp174 = einsum(t1.bb, (0, 1), tmp20, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp20
+    t2new.bbbb += tmp174 * -1
+    t2new.bbbb += np.transpose(tmp174, (1, 0, 2, 3))
+    t2new.bbbb += np.transpose(tmp174, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp174, (1, 0, 3, 2)) * -1
+    del tmp174
+    tmp191 = np.copy(tmp127)
+    tmp191 += einsum(tmp7, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5))
+    t2new.bbbb += einsum(t2.abab, (0, 1, 2, 3), tmp191, (0, 4, 2, 5), (1, 4, 5, 3))
+    del tmp191
+    tmp197 = einsum(tmp196, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (4, 1, 5, 2))
+    del tmp196
+    t2new.bbbb += tmp197 * -2
+    t2new.bbbb += np.transpose(tmp197, (1, 0, 2, 3)) * 2
+    del tmp197
+    tmp209 = np.copy(v.bbbb.vvvv) * -1
+    tmp209 += einsum(tmp208, (0, 1, 2, 3), t1.bb, (0, 4), (3, 2, 1, 4))
+    del tmp208
+    t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp209, (2, 4, 3, 5), (0, 1, 4, 5)) * -2
+    del tmp209
+    tmp205 = einsum(tmp204, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3))
+    del tmp204
+    t2new.bbbb += np.transpose(tmp205, (1, 0, 2, 3))
+    t2new.bbbb += tmp205 * -1
+    t2new.bbbb += np.transpose(tmp205, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp205, (0, 1, 3, 2))
+    del tmp205
+    tmp179 = einsum(tmp178, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3))
+    del tmp178
+    t2new.bbbb += tmp179 * -1
+    t2new.bbbb += np.transpose(tmp179, (0, 1, 3, 2))
+    del tmp179
+    tmp166 = einsum(t2.bbbb, (0, 1, 2, 3), tmp165, (4, 5, 0, 1), (4, 5, 2, 3))
+    del tmp165
+    t2new.bbbb += np.transpose(tmp166, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp166, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp166, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp166, (1, 0, 3, 2)) * -1
+    del tmp166
+    tmp201 = einsum(t1.bb, (0, 1), tmp200, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp200
+    t2new.bbbb += np.transpose(tmp201, (0, 1, 3, 2)) * -1
+    t2new.bbbb += tmp201
+    del tmp201
+    tmp177 = einsum(t1.bb, (0, 1), tmp175, (2, 3, 1, 4), (0, 2, 4, 3)) * -1
+    del tmp175
+    tmp177 += einsum(t1.bb, (0, 1), tmp176, (2, 3, 0, 4), (2, 3, 1, 4)) * -1
+    del tmp176
+    t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp177, (4, 1, 5, 3), (0, 4, 5, 2)) * 2
+    del tmp177
+    tmp183 = einsum(t2.abab, (0, 1, 2, 3), tmp148, (0, 4, 2, 5), (1, 4, 3, 5))
+    del tmp148
+    t2new.bbbb += np.transpose(tmp183, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp183, (1, 0, 3, 2))
+    del tmp183
+    tmp188 = np.copy(tmp127)
+    del tmp127
+    tmp188 += einsum(tmp48, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5))
+    t2new.bbbb += einsum(tmp188, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5)) * -1
+    del tmp188
+    tmp160 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 5, 1))
+    t2new.bbbb += tmp160 * 2
+    t2new.bbbb += np.transpose(tmp160, (0, 1, 3, 2)) * -2
+    t2new.bbbb += np.transpose(tmp160, (1, 0, 2, 3)) * -2
+    t2new.bbbb += np.transpose(tmp160, (1, 0, 3, 2)) * 2
+    del tmp160
+    tmp207 = einsum(t2.bbbb, (0, 1, 2, 3), tmp206, (4, 5, 1, 0), (5, 4, 2, 3))
+    del tmp206
+    t2new.bbbb += np.transpose(tmp207, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp207, (0, 1, 3, 2)) * -1
+    del tmp207
+    tmp172 = einsum(t2.bbbb, (0, 1, 2, 3), tmp171, (4, 1), (0, 4, 2, 3)) * -1
+    del tmp171
+    t2new.bbbb += np.transpose(tmp172, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp172, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp172, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp172, (0, 1, 3, 2)) * -1
+    del tmp172
+    tmp199 = einsum(t2.bbbb, (0, 1, 2, 3), tmp198, (4, 5, 1, 0), (5, 4, 2, 3))
+    del tmp198
+    t2new.bbbb += np.transpose(tmp199, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp199, (0, 1, 3, 2)) * -1
+    del tmp199
+    tmp182 = einsum(tmp181, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp181
+    t2new.bbbb += np.transpose(tmp182, (1, 0, 2, 3)) * 2
+    t2new.bbbb += tmp182 * -2
+    t2new.bbbb += np.transpose(tmp182, (1, 0, 3, 2)) * -2
+    del tmp182
+    tmp210 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2))
+    t2new.bbbb += einsum(t1.bb, (0, 1), tmp210, (2, 3, 0, 4), (2, 3, 1, 4)) * -2
+    del tmp210
+    tmp159 = np.copy(tmp107) * 0.5
+    tmp159 += tmp108
+    t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp159, (4, 3), (0, 1, 2, 4)) * -4
+    del tmp159
+    tmp170 = einsum(tmp169, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3))
+    del tmp169
+    t2new.bbbb += np.transpose(tmp170, (0, 1, 3, 2))
+    t2new.bbbb += tmp170 * -1
+    t2new.bbbb += np.transpose(tmp170, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp170, (1, 0, 2, 3))
+    del tmp170
+    tmp190 = np.copy(v.bbbb.oovv) * 0.5
+    tmp190 += einsum(tmp87, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 1, 5, 3)) * -1
+    tmp190 += einsum(tmp189, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3)) * -0.5
+    del tmp189
+    t2new.bbbb += einsum(tmp190, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 2, 5)) * 4
+    del tmp190
+    tmp131 = np.copy(np.transpose(v.aabb.vvov, (2, 0, 1, 3)))
+    tmp131 += einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    t2new.abab += einsum(tmp131, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3))
+    del tmp131
+    tmp126 = np.copy(np.transpose(tmp125, (0, 1, 3, 2)))
+    tmp126 += einsum(tmp21, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 3, 4)) * -1
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp126, (4, 1, 2, 5), (0, 4, 5, 3)) * -1
+    del tmp126
+    tmp109 = np.copy(tmp107)
+    del tmp107
+    tmp109 += tmp108 * 2
+    del tmp108
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp109, (4, 3), (0, 1, 2, 4)) * -1
+    del tmp109
+    tmp118 = np.copy(f.bb.vv)
+    tmp118 += np.transpose(tmp112, (1, 0))
+    del tmp112
+    tmp118 += einsum(tmp113, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3)) * -1
+    del tmp113
+    tmp118 += np.transpose(tmp117, (1, 0)) * -1
+    del tmp117
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp118, (3, 4), (0, 1, 2, 4))
+    del tmp118
+    tmp149 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3))
+    tmp149 += einsum(t1.bb, (0, 1), tmp1, (2, 3, 0, 4), (2, 3, 4, 1)) * -1
+    del tmp1
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp149, (4, 0, 3, 5), (4, 1, 2, 5)) * -1
+    del tmp149
+    tmp130 = einsum(tmp125, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2))
+    del tmp125
+    t2new.abab += einsum(tmp130, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4)) * -1
+    del tmp130
+    tmp122 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp133 = np.copy(v.aaaa.oovv)
+    tmp133 += np.transpose(tmp42, (1, 0, 3, 2)) * -1
+    tmp133 += einsum(t2.aaaa, (0, 1, 2, 3), tmp48, (1, 4, 3, 5), (4, 0, 5, 2)) * 2
+    tmp133 += einsum(tmp35, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 3, 4))
+    del tmp35
+    t2new.abab += einsum(tmp133, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5)) * -1
+    del tmp133
+    tmp138 = np.copy(v.bbbb.oovv)
+    tmp138 += einsum(t1.bb, (0, 1), tmp137, (0, 2, 3, 4), (3, 2, 4, 1))
+    del tmp137
+    t2new.abab += einsum(tmp138, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3)) * -1
+    del tmp138
+    tmp128 = np.copy(np.transpose(v.aabb.vvoo, (2, 3, 0, 1))) * -1
+    tmp128 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (0, 4), (2, 3, 1, 4))
+    tmp128 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (2, 4, 1, 5))
+    t2new.abab += einsum(tmp128, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5))
+    del tmp128
+    tmp152 = einsum(t1.aa, (0, 1), tmp124, (2, 3, 1, 4), (0, 2, 3, 4))
+    del tmp124
+    t2new.abab += einsum(t1.aa, (0, 1), tmp152, (2, 0, 3, 4), (2, 3, 1, 4)) * -1
+    del tmp152
+    tmp106 = np.copy(t2.abab)
+    tmp106 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) * 2
+    t2new.abab += einsum(v.aabb.oooo, (0, 1, 2, 3), tmp106, (1, 3, 4, 5), (0, 2, 4, 5)) * 0.5
+    del tmp106
+    tmp111 = np.copy(f.aa.vv) * -1
+    tmp111 += np.transpose(tmp44, (1, 0)) * -1
+    tmp111 += np.transpose(tmp39, (1, 0)) * 2
+    tmp111 += np.transpose(tmp40, (1, 0))
+    tmp111 += einsum(t1.aa, (0, 1), tmp45, (0, 2, 1, 3), (2, 3)) * -1
+    tmp111 += einsum(tmp9, (0, 1), t1.aa, (0, 2), (1, 2))
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp111, (2, 4), (0, 1, 4, 3)) * -1
+    del tmp111
+    tmp143 = einsum(t1.aa, (0, 1), tmp47, (2, 3, 1, 4), (0, 2, 3, 4)) * -1
+    tmp143 += einsum(t1.aa, (0, 1), tmp142, (2, 0, 3, 4), (2, 3, 4, 1))
+    del tmp142
+    t2new.abab += einsum(tmp143, (0, 1, 2, 3), t2.abab, (1, 4, 2, 5), (0, 4, 3, 5))
+    del tmp143
+    tmp150 = 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), tmp150, (2, 0, 3, 4), (2, 3, 1, 4)) * -1
+    del tmp150
+    tmp135 = np.copy(tmp82) * -1
+    tmp135 += tmp134 * 2
+    del tmp134
+    tmp135 += einsum(tmp114, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3)) * -1
+    del tmp114
+    t2new.abab += einsum(tmp135, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 4, 2, 5)) * 2
+    del tmp135
+    tmp121 = np.copy(np.transpose(tmp5, (1, 0))) * 2
+    tmp121 += np.transpose(tmp6, (1, 0))
+    tmp121 += np.transpose(tmp57, (1, 0))
+    del tmp57
+    t2new.abab += einsum(tmp121, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1
+    del tmp121
+    tmp147 = einsum(t1.bb, (0, 1), tmp144, (2, 3, 1, 4), (0, 2, 3, 4)) * -1
+    del tmp144
+    tmp147 += np.transpose(tmp146, (0, 1, 3, 2))
+    del tmp146
+    t2new.abab += einsum(tmp147, (0, 1, 2, 3), t2.abab, (4, 1, 5, 2), (4, 0, 5, 3))
+    del tmp147
+    tmp129 = np.copy(v.aabb.oovv)
+    tmp129 += einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 4), (2, 3, 4, 1)) * -1
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp129, (0, 4, 3, 5), (4, 1, 2, 5)) * -1
+    del tmp129
+    tmp119 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2))
+    tmp120 = einsum(v.aabb.vvoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 3, 0))
+    t2new.abab += einsum(tmp120, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4)) * -1
+    del tmp120
+    tmp132 = einsum(t1.aa, (0, 1), tmp21, (2, 3, 4, 1), (0, 2, 3, 4))
+    del tmp21
+    tmp141 = np.copy(v.aabb.vvvv)
+    tmp141 += einsum(t1.bb, (0, 1), tmp140, (0, 2, 3, 4), (3, 2, 4, 1)) * -1
+    del tmp140
+    t2new.abab += einsum(tmp141, (0, 1, 2, 3), t2.abab, (4, 5, 0, 2), (4, 5, 1, 3))
+    del tmp141
+    tmp136 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 3, 5))
+    t2new.abab += einsum(tmp136, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4)) * -2
+    del tmp136
+    tmp26 = np.copy(np.transpose(tmp23, (1, 0)))
+    del tmp23
+    tmp26 += np.transpose(tmp24, (1, 0)) * 2
+    del tmp24
+    tmp26 += np.transpose(tmp25, (1, 0))
+    del tmp25
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp26, (1, 4), (0, 4, 2, 3)) * -1
+    t1new.bb += einsum(t1.bb, (0, 1), tmp26, (0, 2), (2, 1)) * -1
+    del tmp26
+    tmp139 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2))
+    t2new.abab += einsum(tmp139, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5))
+    del tmp139
+    tmp151 = einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4))
+    t2new.abab += einsum(t1.aa, (0, 1), tmp151, (2, 0, 3, 4), (2, 3, 1, 4)) * -1
+    del tmp151
+    tmp3 = np.copy(t2.abab)
+    tmp3 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3))
+    t2new.abab += einsum(tmp3, (0, 1, 2, 3), tmp132, (4, 0, 5, 1), (4, 5, 2, 3))
+    del tmp132
+    t2new.abab += einsum(tmp3, (0, 1, 2, 3), tmp122, (4, 0, 1, 5), (4, 5, 2, 3))
+    del tmp122
+    t2new.abab += einsum(tmp3, (0, 1, 2, 3), tmp119, (0, 4, 5, 1), (4, 5, 2, 3))
+    del tmp119
+    t1new.bb += einsum(tmp3, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 3), (1, 4))
+    t1new.aa += einsum(v.aabb.vvov, (0, 1, 2, 3), tmp3, (4, 2, 1, 3), (4, 0))
+    del tmp3
+    tmp100 = einsum(t1.aa, (0, 1), tmp99, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp99
+    t2new.aaaa += np.transpose(tmp100, (0, 1, 3, 2)) * -1
+    t2new.aaaa += tmp100
+    del tmp100
+    tmp64 = einsum(t1.aa, (0, 1), tmp62, (2, 3, 1, 4), (0, 2, 4, 3)) * -1
+    del tmp62
+    tmp64 += einsum(tmp63, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3)) * -1
+    del tmp63
+    t2new.aaaa += einsum(tmp64, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 2, 5)) * 2
+    del tmp64
+    tmp46 = np.copy(f.aa.vv) * -0.5
+    tmp46 += np.transpose(tmp44, (1, 0)) * -0.5
+    tmp46 += np.transpose(tmp39, (1, 0))
+    tmp46 += np.transpose(tmp40, (1, 0)) * 0.5
+    tmp46 += einsum(t1.aa, (0, 1), tmp45, (0, 2, 1, 3), (2, 3)) * -0.5
+    del tmp45
+    tmp46 += einsum(tmp9, (0, 1), t1.aa, (0, 2), (1, 2)) * 0.5
+    t2new.aaaa += einsum(tmp46, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 1, 4)) * 4
+    del tmp46
+    tmp54 = einsum(tmp53, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    del tmp53
+    t2new.aaaa += tmp54
+    t2new.aaaa += np.transpose(tmp54, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp54, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp54, (1, 0, 3, 2))
+    del tmp54
+    tmp41 = np.copy(tmp39) * 2
+    del tmp39
+    tmp41 += tmp40
+    del tmp40
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp41, (4, 3), (0, 1, 2, 4)) * -2
+    del tmp41
+    tmp84 = np.copy(tmp82)
+    tmp84 += einsum(tmp83, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3)) * -1
+    del tmp83
+    t2new.aaaa += einsum(t2.abab, (0, 1, 2, 3), tmp84, (4, 1, 5, 3), (4, 0, 5, 2)) * -1
+    del tmp84
+    tmp32 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t2.aaaa, (3, 1, 4, 5), (0, 2, 4, 5)) * -1
+    t2new.aaaa += np.transpose(tmp32, (1, 0, 3, 2)) * 0.5
+    t2new.aaaa += np.transpose(tmp32, (1, 0, 3, 2)) * 0.5
+    t2new.aaaa += np.transpose(tmp32, (1, 0, 3, 2)) * 0.5
+    t2new.aaaa += np.transpose(tmp32, (1, 0, 3, 2)) * 0.5
+    del tmp32
+    tmp77 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3))
+    t2new.aaaa += np.transpose(tmp77, (1, 0, 2, 3))
+    t2new.aaaa += tmp77 * -1
+    t2new.aaaa += np.transpose(tmp77, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp77, (0, 1, 3, 2))
+    del tmp77
+    tmp59 = einsum(t2.aaaa, (0, 1, 2, 3), tmp58, (4, 1), (0, 4, 2, 3)) * -1
+    del tmp58
+    t2new.aaaa += np.transpose(tmp59, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp59, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp59, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp59, (0, 1, 3, 2)) * -1
+    del tmp59
+    tmp56 = einsum(tmp55, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3))
+    del tmp55
+    t2new.aaaa += np.transpose(tmp56, (0, 1, 3, 2))
+    t2new.aaaa += tmp56 * -1
+    t2new.aaaa += np.transpose(tmp56, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp56, (1, 0, 2, 3))
+    del tmp56
+    tmp19 = np.copy(f.aa.oo)
+    tmp19 += np.transpose(tmp16, (1, 0))
+    del tmp16
+    tmp19 += np.transpose(tmp18, (1, 0)) * -1
+    del tmp18
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp19, (1, 4), (0, 4, 2, 3)) * -1
+    t1new.aa += einsum(tmp19, (0, 1), t1.aa, (0, 2), (1, 2)) * -1
+    del tmp19
+    tmp105 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5))
+    t2new.aaaa += einsum(t1.aa, (0, 1), tmp105, (2, 3, 0, 4), (2, 3, 1, 4)) * -2
+    del tmp105
+    tmp96 = einsum(tmp95, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    del tmp95
+    t2new.aaaa += np.transpose(tmp96, (1, 0, 2, 3))
+    t2new.aaaa += tmp96 * -1
+    t2new.aaaa += np.transpose(tmp96, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp96, (0, 1, 3, 2))
+    del tmp96
+    tmp88 = np.copy(tmp82)
+    del tmp82
+    tmp88 += einsum(tmp87, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3)) * -1
+    del tmp87
+    t2new.aaaa += einsum(tmp88, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5))
+    del tmp88
+    tmp102 = einsum(tmp101, (0, 1, 2, 3), t2.aaaa, (3, 2, 4, 5), (1, 0, 4, 5))
+    del tmp101
+    t2new.aaaa += np.transpose(tmp102, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp102, (0, 1, 3, 2)) * -1
+    del tmp102
+    tmp92 = einsum(tmp91, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 5, 2))
+    del tmp91
+    t2new.aaaa += tmp92 * -2
+    t2new.aaaa += np.transpose(tmp92, (1, 0, 2, 3)) * 2
+    del tmp92
+    tmp34 = einsum(t1.aa, (0, 1), tmp33, (2, 0, 3, 4), (3, 2, 4, 1))
+    del tmp33
+    t2new.aaaa += np.transpose(tmp34, (0, 1, 3, 2)) * -1
+    t2new.aaaa += tmp34
+    del tmp34
+    tmp52 = einsum(tmp51, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (0, 1, 4, 5))
+    del tmp51
+    t2new.aaaa += np.transpose(tmp52, (0, 1, 3, 2))
+    t2new.aaaa += np.transpose(tmp52, (0, 1, 3, 2))
+    t2new.aaaa += np.transpose(tmp52, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp52, (1, 0, 3, 2)) * -1
+    del tmp52
+    tmp43 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    t2new.aaaa += tmp43 * 2
+    t2new.aaaa += np.transpose(tmp43, (0, 1, 3, 2)) * -2
+    t2new.aaaa += np.transpose(tmp43, (1, 0, 2, 3)) * -2
+    t2new.aaaa += np.transpose(tmp43, (1, 0, 3, 2)) * 2
+    del tmp43
+    tmp104 = np.copy(v.aaaa.vvvv)
+    tmp104 += einsum(tmp103, (0, 1, 2, 3), t1.aa, (0, 4), (3, 4, 2, 1))
+    del tmp103
+    t2new.aaaa += einsum(tmp104, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 3), (4, 5, 2, 1)) * -2
+    del tmp104
+    tmp86 = np.copy(v.aaaa.oovv) * 0.5
+    tmp86 += einsum(tmp7, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 5, 2)) * -1
+    del tmp7
+    tmp86 += einsum(t1.aa, (0, 1), tmp85, (0, 2, 3, 4), (2, 3, 1, 4)) * -0.5
+    del tmp85
+    t2new.aaaa += einsum(tmp86, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 2, 5)) * 4
+    del tmp86
+    tmp98 = einsum(t1.aa, (0, 1), tmp97, (2, 3, 1, 4), (0, 2, 3, 4))
+    del tmp97
+    t2new.aaaa += np.transpose(tmp98, (0, 1, 3, 2)) * -1
+    t2new.aaaa += tmp98
+    del tmp98
+    tmp50 = np.copy(f.aa.vv) * -1
+    tmp50 += np.transpose(tmp44, (1, 0)) * -1
+    del tmp44
+    tmp50 += einsum(t1.aa, (0, 1), tmp47, (0, 2, 1, 3), (2, 3)) * -1
+    del tmp47
+    tmp50 += einsum(tmp49, (0, 1), t1.aa, (0, 2), (1, 2))
+    del tmp49
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp50, (3, 4), (0, 1, 2, 4)) * -2
+    del tmp50
+    tmp38 = einsum(t2.aaaa, (0, 1, 2, 3), tmp37, (1, 4), (0, 4, 2, 3)) * -1
+    del tmp37
+    t2new.aaaa += np.transpose(tmp38, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp38, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp38, (0, 1, 3, 2)) * -1
+    del tmp38
+    tmp81 = np.copy(v.aaaa.oovv)
+    tmp81 += einsum(tmp48, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 5, 2)) * -2
+    del tmp48
+    tmp81 += tmp80 * -1
+    del tmp80
+    t2new.aaaa += einsum(tmp81, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 4, 2, 5)) * -2
+    del tmp81
+    tmp74 = einsum(tmp73, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp73
+    t2new.aaaa += np.transpose(tmp74, (1, 0, 2, 3)) * 2
+    t2new.aaaa += tmp74 * -2
+    t2new.aaaa += np.transpose(tmp74, (1, 0, 3, 2)) * -2
+    del tmp74
+    tmp76 = einsum(tmp75, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp75
+    t2new.aaaa += np.transpose(tmp76, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp76, (1, 0, 3, 2))
+    del tmp76
+    tmp78 = einsum(tmp42, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp42
+    t2new.aaaa += np.transpose(tmp78, (1, 0, 2, 3)) * -2
+    t2new.aaaa += np.transpose(tmp78, (0, 1, 3, 2)) * -2
+    t2new.aaaa += np.transpose(tmp78, (1, 0, 3, 2)) * 2
+    t2new.aaaa += tmp78 * 2
+    del tmp78
+    tmp94 = einsum(tmp93, (0, 1, 2, 3), t2.aaaa, (3, 2, 4, 5), (1, 0, 4, 5))
+    del tmp93
+    t2new.aaaa += np.transpose(tmp94, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp94, (0, 1, 3, 2)) * -1
+    del tmp94
+    tmp90 = einsum(t1.aa, (0, 1), tmp89, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp89
+    t2new.aaaa += np.transpose(tmp90, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp90, (1, 0, 3, 2))
+    del tmp90
+    tmp60 = einsum(tmp2, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    del tmp2
+    t2new.aaaa += tmp60 * -1
+    t2new.aaaa += np.transpose(tmp60, (1, 0, 2, 3))
+    t2new.aaaa += np.transpose(tmp60, (0, 1, 3, 2))
+    t2new.aaaa += np.transpose(tmp60, (1, 0, 3, 2)) * -1
+    del tmp60
+    tmp68 = einsum(t2.abab, (0, 1, 2, 3), tmp67, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp67
+    t2new.aaaa += tmp68 * -1
+    t2new.aaaa += np.transpose(tmp68, (0, 1, 3, 2))
+    del tmp68
+    tmp27 = np.copy(f.bb.vv)
+    tmp27 += einsum(t1.bb, (0, 1), v.bbbb.ovvv, (0, 1, 2, 3), (2, 3))
+    t1new.bb += einsum(t1.bb, (0, 1), tmp27, (1, 2), (0, 2))
+    del tmp27
+    tmp22 = np.copy(t2.bbbb) * 2
+    tmp22 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1))
+    t1new.bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), tmp22, (0, 4, 3, 1), (4, 2)) * -1
+    del tmp22
+    tmp11 = np.copy(f.aa.vv)
+    tmp11 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 2, 3, 1), (2, 3)) * -1
+    t1new.aa += einsum(tmp11, (0, 1), t1.aa, (2, 0), (2, 1))
+    del tmp11
+    tmp4 = np.copy(t2.aaaa) * 2
+    tmp4 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1))
+    t1new.aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp4, (0, 4, 1, 3), (4, 2))
+    del tmp4
+    tmp10 = np.copy(np.transpose(tmp5, (1, 0)))
+    del tmp5
+    tmp10 += np.transpose(tmp6, (1, 0)) * 0.5
+    del tmp6
+    tmp10 += einsum(tmp9, (0, 1), t1.aa, (2, 1), (0, 2)) * 0.5
+    del tmp9
+    t1new.aa += einsum(t1.aa, (0, 1), tmp10, (0, 2), (2, 1)) * -2
+    del tmp10
+    t1new.aa += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3))
+    t1new.aa += f.aa.ov
+    t1new.aa += einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 0, 3, 1), (2, 3)) * -1
+    t1new.aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 3), (0, 4)) * 2
+    t1new.aa += einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (1, 2, 4, 3), (0, 4)) * -1
+    t1new.bb += f.bb.ov
+    t1new.bb += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3))
+    t1new.bb += einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (0, 3, 1, 4), (2, 4)) * -1
+    t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 0, 3), (4, 2)) * 2
+    t1new.bb += einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 0, 3, 1), (2, 3)) * -1
+    t2new.aaaa += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    t2new.aaaa += np.transpose(v.aaaa.ovov, (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)) * 0.5
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3))
+    t2new.abab += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    t2new.abab += einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    t2new.bbbb += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    t2new.bbbb += np.transpose(v.bbbb.ovov, (0, 2, 3, 1)) * -1
+
+    return {f"t1new": t1new, f"t2new": t2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCSD.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:49:15.264316.

+

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.

+ +
+ Source code in ebcc/codegen/UCCSD.py +
 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
+1331
+1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
+1359
+1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
+1373
+1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
+1445
+1446
+1447
+1448
+1449
+1450
+1451
+1452
+1453
+1454
+1455
+1456
+1457
+1458
+1459
+1460
+1461
+1462
+1463
+1464
+1465
+1466
+1467
+1468
+1469
+1470
+1471
+1472
+1473
+1474
+1475
+1476
+1477
+1478
+1479
+1480
+1481
+1482
+1483
+1484
+1485
+1486
+1487
+1488
+1489
+1490
+1491
+1492
+1493
+1494
+1495
+1496
+1497
+1498
+1499
+1500
+1501
+1502
+1503
+1504
+1505
+1506
+1507
+1508
+1509
+1510
+1511
+1512
+1513
+1514
+1515
+1516
+1517
+1518
+1519
+1520
+1521
+1522
+1523
+1524
+1525
+1526
+1527
+1528
+1529
+1530
+1531
+1532
+1533
+1534
+1535
+1536
+1537
+1538
+1539
+1540
+1541
+1542
+1543
+1544
+1545
+1546
+1547
+1548
+1549
+1550
+1551
+1552
+1553
+1554
+1555
+1556
+1557
+1558
+1559
+1560
+1561
+1562
+1563
+1564
+1565
+1566
+1567
+1568
+1569
+1570
+1571
+1572
+1573
+1574
+1575
+1576
+1577
+1578
+1579
+1580
+1581
+1582
+1583
+1584
+1585
+1586
+1587
+1588
+1589
+1590
+1591
+1592
+1593
+1594
+1595
+1596
+1597
+1598
+1599
+1600
+1601
+1602
+1603
+1604
+1605
+1606
+1607
+1608
+1609
+1610
+1611
+1612
+1613
+1614
+1615
+1616
+1617
+1618
+1619
+1620
+1621
+1622
+1623
+1624
+1625
+1626
+1627
+1628
+1629
+1630
+1631
+1632
+1633
+1634
+1635
+1636
+1637
+1638
+1639
+1640
+1641
+1642
+1643
+1644
+1645
+1646
+1647
+1648
+1649
+1650
+1651
+1652
+1653
+1654
+1655
+1656
+1657
+1658
+1659
+1660
+1661
+1662
+1663
+1664
+1665
+1666
+1667
+1668
+1669
+1670
+1671
+1672
+1673
+1674
+1675
+1676
+1677
+1678
+1679
+1680
+1681
+1682
+1683
+1684
+1685
+1686
+1687
+1688
+1689
+1690
+1691
+1692
+1693
+1694
+1695
+1696
+1697
+1698
+1699
+1700
+1701
+1702
+1703
+1704
+1705
+1706
+1707
+1708
+1709
+1710
+1711
+1712
+1713
+1714
+1715
+1716
+1717
+1718
+1719
+1720
+1721
+1722
+1723
+1724
+1725
+1726
+1727
+1728
+1729
+1730
+1731
+1732
+1733
+1734
+1735
+1736
+1737
+1738
+1739
+1740
+1741
+1742
+1743
+1744
+1745
+1746
+1747
+1748
+1749
+1750
+1751
+1752
+1753
+1754
+1755
+1756
+1757
+1758
+1759
+1760
+1761
+1762
+1763
+1764
+1765
+1766
+1767
+1768
+1769
+1770
+1771
+1772
+1773
+1774
+1775
+1776
+1777
+1778
+1779
+1780
+1781
+1782
+1783
+1784
+1785
+1786
+1787
+1788
+1789
+1790
+1791
+1792
+1793
+1794
+1795
+1796
+1797
+1798
+1799
+1800
+1801
+1802
+1803
+1804
+1805
+1806
+1807
+1808
+1809
+1810
+1811
+1812
+1813
+1814
+1815
+1816
+1817
+1818
+1819
+1820
+1821
+1822
+1823
+1824
+1825
+1826
+1827
+1828
+1829
+1830
+1831
+1832
+1833
+1834
+1835
+1836
+1837
+1838
+1839
+1840
+1841
+1842
+1843
+1844
+1845
+1846
+1847
+1848
+1849
+1850
+1851
+1852
+1853
+1854
+1855
+1856
+1857
+1858
+1859
+1860
+1861
+1862
+1863
+1864
+1865
+1866
+1867
+1868
+1869
+1870
+1871
+1872
+1873
+1874
+1875
+1876
+1877
+1878
+1879
+1880
+1881
+1882
+1883
+1884
+1885
+1886
+1887
+1888
+1889
+1890
+1891
+1892
+1893
+1894
+1895
+1896
+1897
+1898
+1899
+1900
+1901
+1902
+1903
+1904
+1905
+1906
+1907
+1908
+1909
+1910
+1911
+1912
+1913
+1914
+1915
+1916
+1917
+1918
+1919
+1920
+1921
+1922
+1923
+1924
+1925
+1926
+1927
+1928
+1929
+1930
+1931
+1932
+1933
+1934
+1935
+1936
+1937
+1938
+1939
+1940
+1941
+1942
+1943
+1944
+1945
+1946
+1947
+1948
+1949
+1950
+1951
+1952
+1953
+1954
+1955
+1956
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:49:15.264316.
+
+    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()
+    tmp98 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1)))
+    tmp98 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1
+    tmp7 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1)))
+    tmp7 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) * -1
+    tmp97 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3))
+    tmp99 = einsum(t1.bb, (0, 1), tmp98, (0, 2, 1, 3), (2, 3))
+    del tmp98
+    tmp6 = einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3))
+    tmp8 = einsum(t1.aa, (0, 1), tmp7, (0, 2, 1, 3), (2, 3))
+    del tmp7
+    tmp2 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1))
+    tmp112 = np.copy(v.bbbb.ovvv) * -1
+    tmp112 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3))
+    tmp213 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1)))
+    tmp213 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1
+    tmp196 = np.copy(v.bbbb.ovvv) * -1
+    tmp196 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3))
+    tmp39 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2))
+    l2new.abab = einsum(tmp2, (0, 1, 2, 3), tmp39, (4, 1, 2, 5), (3, 5, 0, 4)) * -2
+    l2new.abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp39, (4, 3, 2, 5), (1, 5, 0, 4)) * -2
+    l1new.bb = einsum(v.bbbb.oovv, (0, 1, 2, 3), tmp39, (4, 1, 0, 3), (2, 4)) * -2
+    tmp118 = np.copy(v.bbbb.ooov)
+    tmp118 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1)) * -1
+    tmp100 = np.copy(f.bb.ov)
+    tmp100 += tmp97
+    tmp100 += tmp99 * -1
+    del tmp99
+    tmp37 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2))
+    l2new.abab += einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp37, (4, 1, 2, 5), (5, 3, 4, 0))
+    l2new.abab += einsum(tmp37, (0, 1, 2, 3), v.aabb.vvov, (4, 3, 2, 5), (4, 5, 0, 1)) * -1
+    l2new.abab += einsum(tmp37, (0, 1, 2, 3), v.bbbb.ovoo, (4, 5, 2, 1), (3, 5, 0, 4)) * -1
+    l1new.aa = einsum(tmp37, (0, 1, 2, 3), v.aabb.vvoo, (4, 3, 2, 1), (4, 0)) * -1
+    tmp64 = np.copy(v.aaaa.ooov)
+    tmp64 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) * -1
+    tmp9 = np.copy(f.aa.ov)
+    tmp9 += tmp6
+    tmp9 += tmp8 * -1
+    del tmp8
+    tmp178 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1)))
+    tmp178 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) * -1
+    tmp30 = np.copy(v.aaaa.ovvv) * -1
+    tmp30 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3))
+    tmp93 = np.copy(v.aaaa.ovvv) * -1
+    tmp93 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3))
+    tmp49 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2))
+    l2new.abab += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp49, (4, 1, 0, 5), (5, 3, 4, 2)) * -2
+    l1new.aa += einsum(tmp49, (0, 1, 2, 3), v.aaaa.oovv, (2, 1, 4, 3), (4, 0)) * -2
+    tmp42 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1))
+    tmp41 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2))
+    tmp43 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0))
+    tmp95 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3))
+    l2new.abab += einsum(tmp37, (0, 1, 2, 3), tmp95, (1, 2, 4, 5), (3, 5, 0, 4))
+    l2new.abab += einsum(tmp37, (0, 1, 2, 3), tmp95, (1, 4, 2, 5), (3, 5, 0, 4)) * -1
+    tmp14 = np.copy(np.transpose(v.aabb.ovoo, (0, 2, 3, 1)))
+    tmp14 += tmp2
+    l2new.abab += einsum(tmp14, (0, 1, 2, 3), l1.bb, (4, 1), (3, 4, 0, 2)) * -1
+    tmp53 = einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2))
+    tmp54 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0))
+    tmp55 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0))
+    tmp0 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1))
+    tmp201 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp199 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 0, 3))
+    tmp200 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3))
+    tmp143 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3))
+    tmp243 = einsum(t1.bb, (0, 1), tmp112, (0, 2, 1, 3), (2, 3))
+    tmp210 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 4), (4, 3))
+    tmp211 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 1), (4, 3)) * -1
+    tmp214 = einsum(t1.bb, (0, 1), tmp213, (0, 2, 1, 3), (2, 3))
+    del tmp213
+    tmp131 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp130 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5))
+    tmp197 = einsum(t1.bb, (0, 1), tmp196, (2, 3, 1, 4), (2, 0, 3, 4))
+    del tmp196
+    tmp195 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp194 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5))
+    tmp124 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 5), (4, 5, 0, 1))
+    l1new.bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp124, (4, 0, 2, 1), (3, 4)) * 2
+    tmp125 = einsum(tmp39, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2))
+    l1new.bb += einsum(tmp125, (0, 1, 2, 3), v.bbbb.ooov, (2, 1, 3, 4), (4, 0)) * -2
+    tmp117 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4))
+    tmp115 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3))
+    tmp116 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2))
+    tmp119 = einsum(t1.bb, (0, 1), tmp118, (0, 2, 3, 1), (2, 3))
+    del tmp118
+    tmp120 = einsum(t1.bb, (0, 1), tmp100, (2, 1), (0, 2))
+    tmp32 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3))
+    tmp33 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4))
+    tmp80 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5))
+    tmp81 = einsum(t1.aa, (0, 1), tmp37, (2, 3, 4, 1), (2, 0, 3, 4))
+    tmp61 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp62 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4)) * -1
+    tmp65 = einsum(t1.aa, (0, 1), tmp64, (0, 2, 3, 1), (2, 3))
+    del tmp64
+    tmp66 = einsum(t1.aa, (0, 1), tmp9, (2, 1), (0, 2))
+    tmp63 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4))
+    tmp10 = einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4))
+    tmp159 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp158 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (2, 4, 3, 5), (0, 4, 1, 5))
+    tmp179 = einsum(t1.aa, (0, 1), tmp178, (0, 2, 1, 3), (2, 3))
+    del tmp178
+    tmp27 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4))
+    tmp28 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 1), (4, 2))
+    tmp156 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp164 = einsum(t1.aa, (0, 1), tmp30, (2, 3, 1, 4), (0, 2, 3, 4))
+    tmp155 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp175 = einsum(t1.aa, (0, 1), tmp93, (0, 2, 1, 3), (2, 3))
+    tmp173 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1
+    tmp174 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4))
+    tmp92 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp71 = einsum(t1.aa, (0, 1), tmp49, (2, 3, 4, 1), (2, 3, 0, 4))
+    l1new.aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp71, (4, 1, 0, 2), (3, 4)) * -2
+    tmp70 = 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), tmp70, (4, 0, 2, 1), (3, 4)) * 2
+    tmp76 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5))
+    tmp77 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5))
+    tmp44 = np.copy(tmp41)
+    tmp44 += tmp42
+    tmp44 += tmp43 * 2
+    l1new.bb += einsum(tmp100, (0, 1), tmp44, (2, 0), (1, 2)) * -1
+    tmp109 = einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp107 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp108 = einsum(t1.bb, (0, 1), tmp95, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp105 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    l1new.bb += einsum(tmp105, (0, 1, 2, 3), tmp39, (4, 0, 1, 3), (2, 4)) * 2
+    tmp4 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4))
+    l2new.abab += einsum(tmp4, (0, 1, 2, 3), tmp49, (4, 0, 1, 5), (5, 3, 4, 2)) * -2
+    tmp15 = einsum(tmp14, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2))
+    tmp12 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2))
+    tmp13 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp101 = einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3))
+    tmp51 = einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2))
+    l2new.abab += einsum(tmp51, (0, 1, 2, 3), tmp0, (0, 1, 4, 5), (5, 3, 4, 2))
+    l2new.abab += einsum(v.aaaa.ooov, (0, 1, 2, 3), tmp51, (1, 2, 4, 5), (3, 5, 0, 4))
+    l2new.abab += einsum(tmp14, (0, 1, 2, 3), tmp51, (4, 0, 1, 5), (3, 5, 4, 2))
+    l2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp51, (4, 0, 5, 3), (1, 2, 4, 5)) * -1
+    l2new.abab += einsum(tmp51, (0, 1, 2, 3), tmp0, (0, 4, 1, 5), (5, 3, 4, 2)) * -1
+    l2new.abab += einsum(v.aaaa.ovoo, (0, 1, 2, 3), tmp51, (3, 2, 4, 5), (1, 5, 0, 4)) * -1
+    l1new.bb += einsum(tmp51, (0, 1, 2, 3), v.aabb.oovv, (1, 0, 4, 3), (4, 2)) * -1
+    tmp56 = np.copy(tmp53) * 0.5
+    tmp56 += tmp54
+    tmp56 += tmp55 * 0.5
+    tmp22 = einsum(t1.aa, (0, 1), tmp0, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp21 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp23 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp203 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3))
+    tmp202 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3)))
+    tmp202 += tmp199
+    tmp202 += tmp200 * 2
+    tmp202 += tmp201
+    l2new.abab += einsum(tmp202, (0, 1, 2, 3), l2.aaaa, (4, 2, 5, 0), (4, 3, 5, 1)) * 2
+    tmp244 = np.copy(f.bb.vv) * -1
+    tmp244 += np.transpose(tmp143, (1, 0)) * -1
+    tmp244 += np.transpose(tmp210, (1, 0))
+    tmp244 += np.transpose(tmp211, (1, 0)) * 2
+    tmp244 += tmp243 * -1
+    del tmp243
+    tmp215 = np.copy(f.bb.ov)
+    tmp215 += tmp97
+    tmp215 += tmp214 * -1
+    del tmp214
+    l2new.abab += einsum(tmp37, (0, 1, 2, 3), tmp215, (2, 4), (3, 4, 0, 1)) * -1
+    tmp132 = np.copy(tmp130)
+    del tmp130
+    tmp132 += tmp131 * 4
+    del tmp131
+    tmp198 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3)))
+    tmp198 += v.bbbb.oovv * -1
+    tmp198 += tmp194
+    tmp198 += tmp195 * 2
+    tmp198 += np.transpose(tmp197, (1, 0, 3, 2)) * -1
+    del tmp197
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp198, (3, 4, 1, 5), (0, 5, 2, 4))
+    tmp138 = np.copy(np.transpose(tmp124, (1, 0, 3, 2)))
+    del tmp124
+    tmp138 += np.transpose(tmp125, (0, 1, 3, 2)) * -1
+    del tmp125
+    tmp121 = np.copy(f.bb.oo)
+    tmp121 += np.transpose(tmp115, (1, 0))
+    del tmp115
+    tmp121 += tmp116
+    del tmp116
+    tmp121 += tmp117 * 2
+    del tmp117
+    tmp121 += tmp119 * -1
+    del tmp119
+    tmp121 += tmp120
+    del tmp120
+    l2new.abab += einsum(tmp121, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1
+    l1new.bb += einsum(tmp121, (0, 1), l1.bb, (2, 0), (2, 1)) * -1
+    tmp227 = np.copy(np.transpose(v.bbbb.ooov, (0, 2, 1, 3)))
+    tmp227 += tmp95
+    tmp59 = np.copy(tmp41) * 0.5
+    del tmp41
+    tmp59 += tmp42 * 0.5
+    del tmp42
+    tmp59 += tmp43
+    del tmp43
+    l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp59, (4, 2), (1, 3, 0, 4)) * -2
+    l1new.bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp59, (1, 2), (3, 0)) * 2
+    l1new.bb += einsum(tmp59, (0, 1), v.bbbb.ovoo, (2, 3, 0, 1), (3, 2)) * -2
+    l1new.aa += einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp59, (3, 2), (1, 0)) * -2
+    tmp224 = np.copy(tmp32)
+    tmp224 += tmp33 * 2
+    l2new.bbbb = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp224, (4, 1), (3, 4, 0, 2))
+    tmp162 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3))
+    tmp126 = einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (4, 3, 5, 1))
+    tmp127 = einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (4, 2, 5, 0))
+    tmp208 = np.copy(v.aaaa.ovvv)
+    tmp208 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3)) * -1
+    tmp74 = einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp73 = einsum(t2.abab, (0, 1, 2, 3), l2.aaaa, (4, 2, 5, 0), (5, 1, 4, 3))
+    tmp82 = np.copy(tmp80)
+    tmp82 += tmp81
+    tmp3 = np.copy(np.transpose(v.aabb.ovoo, (0, 2, 3, 1)))
+    tmp3 += np.transpose(tmp2, (0, 2, 1, 3))
+    tmp129 = np.copy(v.bbbb.ovvv)
+    tmp129 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3)) * -1
+    l1new.bb += einsum(tmp129, (0, 1, 2, 3), tmp132, (4, 0, 3, 2), (1, 4)) * -1
+    tmp67 = np.copy(f.aa.oo)
+    tmp67 += np.transpose(tmp61, (1, 0))
+    del tmp61
+    tmp67 += tmp62 * 2
+    del tmp62
+    tmp67 += tmp63
+    del tmp63
+    tmp67 += tmp65 * -1
+    del tmp65
+    tmp67 += tmp66
+    del tmp66
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp67, (2, 4), (0, 1, 4, 3)) * -1
+    l1new.aa += einsum(tmp67, (0, 1), l1.aa, (2, 0), (2, 1)) * -1
+    tmp148 = np.copy(np.transpose(v.aaaa.ooov, (0, 2, 1, 3)))
+    tmp148 += tmp0
+    tmp167 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3)))
+    tmp167 += tmp10
+    tmp167 += tmp158
+    tmp167 += tmp159 * 2
+    l2new.abab += einsum(tmp167, (0, 1, 2, 3), l2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5)) * 2
+    tmp180 = np.copy(f.aa.ov)
+    tmp180 += tmp6
+    tmp180 += tmp179 * -1
+    del tmp179
+    l2new.abab += einsum(tmp51, (0, 1, 2, 3), tmp180, (1, 4), (4, 3, 0, 2)) * -1
+    tmp60 = np.copy(tmp53)
+    del tmp53
+    tmp60 += tmp54 * 2
+    del tmp54
+    tmp60 += tmp55
+    del tmp55
+    l2new.abab += einsum(tmp60, (0, 1), v.aabb.ovov, (1, 2, 3, 4), (2, 4, 0, 3)) * -1
+    l1new.bb += einsum(v.aabb.ooov, (0, 1, 2, 3), tmp60, (1, 0), (3, 2)) * -1
+    l1new.aa += einsum(tmp60, (0, 1), tmp9, (1, 2), (2, 0)) * -1
+    l1new.aa += einsum(tmp60, (0, 1), v.aaaa.ooov, (2, 0, 1, 3), (3, 2))
+    l1new.aa += einsum(v.aaaa.ovoo, (0, 1, 2, 3), tmp60, (3, 2), (1, 0)) * -1
+    tmp145 = np.copy(tmp27)
+    tmp145 += tmp28 * 0.5
+    l2new.aaaa = einsum(tmp145, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (4, 0, 2, 3)) * 2
+    tmp165 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3)))
+    tmp165 += v.aaaa.oovv * -1
+    tmp165 += tmp155 * 2
+    tmp165 += tmp156
+    tmp165 += np.transpose(tmp164, (0, 1, 3, 2)) * -1
+    del tmp164
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp165, (2, 4, 0, 5), (5, 1, 4, 3))
+    tmp176 = np.copy(f.aa.vv) * -1
+    tmp176 += np.transpose(tmp92, (1, 0)) * -1
+    tmp176 += np.transpose(tmp173, (1, 0)) * 2
+    tmp176 += np.transpose(tmp174, (1, 0))
+    tmp176 += tmp175 * -1
+    del tmp175
+    tmp87 = np.copy(np.transpose(tmp70, (1, 0, 3, 2)))
+    del tmp70
+    tmp87 += np.transpose(tmp71, (0, 1, 3, 2)) * -1
+    del tmp71
+    tmp189 = np.copy(tmp76) * 4
+    tmp189 += tmp77
+    tmp40 = einsum(tmp39, (0, 1, 2, 3), t2.bbbb, (1, 0, 4, 3), (2, 4))
+    tmp38 = einsum(t2.abab, (0, 1, 2, 3), tmp37, (0, 1, 4, 2), (4, 3))
+    tmp36 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2))
+    tmp35 = einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3))
+    tmp26 = einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp45 = einsum(tmp44, (0, 1), t1.bb, (0, 2), (1, 2))
+    tmp104 = np.copy(v.bbbb.ooov) * -1
+    tmp104 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3))
+    tmp104 += tmp95
+    tmp104 += np.transpose(tmp95, (0, 2, 1, 3)) * -1
+    tmp110 = np.copy(v.bbbb.oooo)
+    tmp110 += np.transpose(tmp107, (3, 1, 2, 0))
+    tmp110 += np.transpose(tmp108, (2, 1, 3, 0)) * -1
+    tmp110 += np.transpose(tmp109, (2, 0, 3, 1)) * -1
+    tmp110 += np.transpose(tmp109, (3, 0, 2, 1))
+    tmp106 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3)))
+    tmp106 += v.bbbb.oovv * -1
+    tmp106 += np.transpose(tmp105, (0, 1, 3, 2))
+    del tmp105
+    tmp31 = einsum(t1.bb, (0, 1), l1.bb, (2, 0), (2, 1))
+    tmp5 = np.copy(v.aabb.ooov)
+    tmp5 += np.transpose(tmp4, (1, 0, 2, 3))
+    tmp16 = np.copy(v.aabb.oooo)
+    tmp16 += np.transpose(tmp12, (1, 0, 3, 2))
+    tmp16 += np.transpose(tmp13, (1, 0, 3, 2))
+    tmp16 += np.transpose(tmp15, (1, 0, 3, 2))
+    del tmp15
+    tmp96 = np.copy(v.bbbb.ooov) * -1
+    tmp96 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1))
+    tmp96 += np.transpose(tmp95, (1, 0, 2, 3))
+    tmp96 += np.transpose(tmp95, (2, 0, 1, 3)) * -1
+    tmp102 = np.copy(np.transpose(v.aabb.vvoo, (2, 3, 0, 1)))
+    tmp102 += np.transpose(tmp101, (1, 0, 3, 2))
+    tmp137 = einsum(t2.bbbb, (0, 1, 2, 3), tmp39, (4, 1, 5, 3), (4, 5, 0, 2)) * -1
+    tmp136 = einsum(t2.abab, (0, 1, 2, 3), tmp37, (0, 4, 5, 2), (4, 5, 1, 3))
+    tmp52 = einsum(t2.abab, (0, 1, 2, 3), tmp51, (0, 4, 1, 3), (4, 2))
+    tmp57 = einsum(t1.aa, (0, 1), tmp56, (0, 2), (2, 1)) * 2
+    tmp48 = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3))
+    tmp50 = einsum(tmp49, (0, 1, 2, 3), t2.aaaa, (1, 0, 4, 3), (2, 4))
+    tmp47 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3))
+    tmp18 = np.copy(v.aaaa.ooov)
+    tmp18 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3)) * -1
+    tmp18 += tmp0 * -1
+    tmp18 += np.transpose(tmp0, (0, 2, 1, 3))
+    tmp19 = np.copy(v.aabb.ooov)
+    tmp19 += tmp4
+    tmp20 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3)))
+    tmp20 += v.aaaa.oovv * -1
+    tmp20 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 4, 3))
+    tmp24 = np.copy(v.aaaa.oooo)
+    tmp24 += np.transpose(tmp21, (3, 1, 2, 0))
+    tmp24 += np.transpose(tmp22, (2, 1, 3, 0)) * -1
+    tmp24 += np.transpose(tmp23, (2, 0, 3, 1)) * -1
+    tmp24 += np.transpose(tmp23, (3, 0, 2, 1))
+    tmp11 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3)))
+    tmp11 += tmp10
+    tmp1 = np.copy(v.aaaa.ooov) * -1
+    tmp1 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1))
+    tmp1 += np.transpose(tmp0, (1, 0, 2, 3))
+    tmp1 += np.transpose(tmp0, (2, 0, 1, 3)) * -1
+    tmp85 = einsum(t2.aaaa, (0, 1, 2, 3), tmp49, (4, 1, 5, 3), (4, 5, 0, 2)) * -1
+    tmp86 = einsum(t2.abab, (0, 1, 2, 3), tmp51, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp237 = np.copy(f.bb.ov)
+    tmp237 += tmp97
+    tmp237 += tmp203
+    l2new.bbbb += einsum(l1.bb, (0, 1), tmp237, (2, 3), (3, 0, 1, 2)) * -1
+    del tmp237
+    tmp239 = einsum(tmp202, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (1, 5, 3, 4))
+    del tmp202
+    l2new.bbbb += np.transpose(tmp239, (3, 2, 0, 1)) * -1
+    l2new.bbbb += np.transpose(tmp239, (3, 2, 1, 0))
+    l2new.bbbb += np.transpose(tmp239, (2, 3, 0, 1))
+    del tmp239
+    tmp193 = np.copy(tmp32) * 0.5
+    tmp193 += tmp33
+    l2new.bbbb += einsum(tmp193, (0, 1), v.bbbb.ovov, (2, 1, 3, 4), (0, 4, 2, 3)) * -2
+    l2new.abab += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp193, (4, 3), (1, 4, 0, 2)) * -2
+    del tmp193
+    tmp245 = einsum(tmp244, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2)) * -1
+    del tmp244
+    l2new.bbbb += np.transpose(tmp245, (3, 2, 1, 0)) * -1
+    l2new.bbbb += np.transpose(tmp245, (3, 2, 1, 0)) * -1
+    l2new.bbbb += np.transpose(tmp245, (2, 3, 1, 0))
+    l2new.bbbb += np.transpose(tmp245, (2, 3, 1, 0))
+    del tmp245
+    tmp231 = einsum(v.bbbb.ovoo, (0, 1, 2, 3), tmp39, (3, 4, 2, 5), (4, 0, 5, 1)) * -1
+    l2new.bbbb += np.transpose(tmp231, (2, 3, 1, 0)) * 2
+    l2new.bbbb += np.transpose(tmp231, (2, 3, 0, 1)) * -2
+    l2new.bbbb += np.transpose(tmp231, (3, 2, 1, 0)) * -2
+    l2new.bbbb += np.transpose(tmp231, (3, 2, 0, 1)) * 2
+    del tmp231
+    tmp230 = einsum(tmp51, (0, 1, 2, 3), v.aabb.ooov, (1, 0, 4, 5), (2, 4, 3, 5))
+    l2new.bbbb += np.transpose(tmp230, (2, 3, 1, 0))
+    l2new.bbbb += np.transpose(tmp230, (2, 3, 0, 1)) * -1
+    l2new.bbbb += np.transpose(tmp230, (3, 2, 1, 0)) * -1
+    l2new.bbbb += np.transpose(tmp230, (3, 2, 0, 1))
+    del tmp230
+    tmp246 = einsum(tmp215, (0, 1), tmp39, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp215
+    l2new.bbbb += np.transpose(tmp246, (3, 2, 1, 0))
+    l2new.bbbb += np.transpose(tmp246, (3, 2, 1, 0))
+    l2new.bbbb += np.transpose(tmp246, (2, 3, 1, 0)) * -1
+    l2new.bbbb += np.transpose(tmp246, (2, 3, 1, 0)) * -1
+    del tmp246
+    tmp229 = einsum(l1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 0), (1, 2, 3, 4))
+    l2new.bbbb += np.transpose(tmp229, (3, 2, 1, 0)) * -1
+    l2new.bbbb += np.transpose(tmp229, (3, 2, 0, 1))
+    l2new.bbbb += np.transpose(tmp229, (2, 3, 1, 0))
+    l2new.bbbb += np.transpose(tmp229, (2, 3, 0, 1)) * -1
+    del tmp229
+    tmp240 = einsum(l2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 0, 5, 1), (2, 3, 4, 5))
+    l2new.bbbb += np.transpose(tmp240, (3, 2, 1, 0)) * 0.5
+    l2new.bbbb += np.transpose(tmp240, (3, 2, 1, 0)) * 0.5
+    l2new.bbbb += np.transpose(tmp240, (3, 2, 1, 0)) * 0.5
+    l2new.bbbb += np.transpose(tmp240, (3, 2, 1, 0)) * 0.5
+    del tmp240
+    tmp249 = np.copy(v.bbbb.ooov)
+    tmp249 += np.transpose(tmp95, (0, 2, 1, 3))
+    l2new.bbbb += einsum(l1.bb, (0, 1), tmp249, (1, 2, 3, 4), (4, 0, 2, 3))
+    del tmp249
+    tmp241 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), tmp39, (4, 5, 0, 3), (5, 4, 1, 2))
+    l2new.bbbb += np.transpose(tmp241, (3, 2, 1, 0)) * -1
+    l2new.bbbb += np.transpose(tmp241, (3, 2, 1, 0)) * -1
+    l2new.bbbb += np.transpose(tmp241, (2, 3, 1, 0))
+    l2new.bbbb += np.transpose(tmp241, (2, 3, 1, 0))
+    del tmp241
+    tmp253 = einsum(tmp44, (0, 1), v.bbbb.ovov, (2, 3, 1, 4), (2, 0, 4, 3))
+    l2new.bbbb += np.transpose(tmp253, (3, 2, 1, 0))
+    l2new.bbbb += np.transpose(tmp253, (2, 3, 1, 0)) * -1
+    del tmp253
+    tmp251 = einsum(v.bbbb.ooov, (0, 1, 2, 3), tmp39, (1, 4, 2, 5), (4, 0, 5, 3)) * -1
+    l2new.bbbb += np.transpose(tmp251, (2, 3, 1, 0)) * -2
+    l2new.bbbb += np.transpose(tmp251, (3, 2, 1, 0)) * 2
+    l2new.bbbb += np.transpose(tmp251, (2, 3, 0, 1)) * 2
+    l2new.bbbb += np.transpose(tmp251, (3, 2, 0, 1)) * -2
+    del tmp251
+    tmp252 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp132, (4, 2, 5, 1), (4, 0, 5, 3))
+    del tmp132
+    l2new.bbbb += np.transpose(tmp252, (2, 3, 1, 0))
+    l2new.bbbb += np.transpose(tmp252, (3, 2, 1, 0)) * -1
+    l2new.bbbb += np.transpose(tmp252, (2, 3, 0, 1)) * -1
+    l2new.bbbb += np.transpose(tmp252, (3, 2, 0, 1))
+    del tmp252
+    tmp204 = np.copy(f.bb.ov)
+    tmp204 += tmp97
+    del tmp97
+    tmp204 += tmp203
+    del tmp203
+    l2new.bbbb += einsum(tmp204, (0, 1), l1.bb, (2, 3), (2, 1, 0, 3)) * -1
+    l2new.bbbb += einsum(l1.bb, (0, 1), tmp204, (2, 3), (0, 3, 1, 2))
+    l2new.bbbb += einsum(tmp204, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3))
+    l2new.abab += einsum(tmp204, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0))
+    del tmp204
+    tmp238 = einsum(tmp198, (0, 1, 2, 3), l2.bbbb, (4, 2, 5, 0), (1, 5, 3, 4))
+    del tmp198
+    l2new.bbbb += np.transpose(tmp238, (3, 2, 0, 1)) * -2
+    l2new.bbbb += np.transpose(tmp238, (3, 2, 1, 0)) * 2
+    l2new.bbbb += np.transpose(tmp238, (2, 3, 0, 1)) * 2
+    del tmp238
+    tmp234 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3)))
+    tmp234 += v.bbbb.oovv * -1
+    tmp234 += tmp194
+    del tmp194
+    tmp234 += tmp195 * 2
+    del tmp195
+    tmp234 += einsum(t1.bb, (0, 1), tmp112, (2, 3, 1, 4), (0, 2, 4, 3)) * -1
+    l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp234, (3, 4, 1, 5), (5, 0, 2, 4)) * -2
+    del tmp234
+    tmp222 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 1, 0, 3), (2, 3))
+    l2new.bbbb += einsum(tmp222, (0, 1), l1.bb, (2, 3), (2, 1, 0, 3))
+    l2new.bbbb += einsum(tmp222, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3)) * -1
+    l2new.bbbb += einsum(l1.bb, (0, 1), tmp222, (2, 3), (0, 3, 1, 2)) * -1
+    l2new.bbbb += einsum(tmp222, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0))
+    l2new.abab += einsum(tmp222, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0)) * -1
+    del tmp222
+    tmp242 = einsum(tmp138, (0, 1, 2, 3), v.bbbb.ovov, (2, 4, 3, 5), (0, 1, 4, 5)) * 0.5
+    l2new.bbbb += np.transpose(tmp242, (3, 2, 1, 0))
+    l2new.bbbb += np.transpose(tmp242, (3, 2, 1, 0))
+    l2new.bbbb += np.transpose(tmp242, (3, 2, 1, 0))
+    l2new.bbbb += np.transpose(tmp242, (3, 2, 1, 0))
+    del tmp242
+    tmp236 = einsum(tmp121, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 1, 2, 3)) * -2
+    del tmp121
+    l2new.bbbb += np.transpose(tmp236, (3, 2, 1, 0))
+    l2new.bbbb += np.transpose(tmp236, (3, 2, 0, 1)) * -1
+    del tmp236
+    tmp250 = einsum(tmp95, (0, 1, 2, 3), tmp39, (4, 0, 1, 5), (4, 2, 5, 3))
+    l2new.bbbb += np.transpose(tmp250, (2, 3, 1, 0)) * -2
+    l2new.bbbb += np.transpose(tmp250, (3, 2, 1, 0)) * 2
+    l2new.bbbb += np.transpose(tmp250, (2, 3, 0, 1)) * 2
+    l2new.bbbb += np.transpose(tmp250, (3, 2, 0, 1)) * -2
+    del tmp250
+    tmp233 = einsum(tmp51, (0, 1, 2, 3), tmp4, (0, 1, 4, 5), (2, 4, 3, 5))
+    l2new.bbbb += np.transpose(tmp233, (2, 3, 1, 0))
+    l2new.bbbb += np.transpose(tmp233, (2, 3, 0, 1)) * -1
+    l2new.bbbb += np.transpose(tmp233, (3, 2, 1, 0)) * -1
+    l2new.bbbb += np.transpose(tmp233, (3, 2, 0, 1))
+    del tmp233
+    tmp248 = np.copy(v.bbbb.oooo)
+    tmp248 += np.transpose(tmp107, (1, 3, 2, 0))
+    del tmp107
+    tmp248 += np.transpose(tmp108, (0, 2, 3, 1))
+    del tmp108
+    l2new.bbbb += einsum(tmp248, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 3), (4, 5, 2, 1)) * -2
+    del tmp248
+    tmp228 = einsum(tmp227, (0, 1, 2, 3), l1.bb, (4, 0), (1, 2, 3, 4))
+    del tmp227
+    l2new.bbbb += np.transpose(tmp228, (3, 2, 1, 0)) * -1
+    l2new.bbbb += np.transpose(tmp228, (3, 2, 0, 1))
+    del tmp228
+    tmp226 = np.copy(v.bbbb.ooov)
+    tmp226 += np.transpose(tmp95, (0, 2, 1, 3))
+    l2new.bbbb += einsum(l1.bb, (0, 1), tmp226, (1, 2, 3, 4), (4, 0, 3, 2)) * -1
+    del tmp226
+    tmp254 = einsum(tmp59, (0, 1), v.bbbb.ovov, (2, 3, 1, 4), (2, 0, 4, 3)) * 2
+    del tmp59
+    l2new.bbbb += np.transpose(tmp254, (3, 2, 0, 1)) * -1
+    l2new.bbbb += np.transpose(tmp254, (2, 3, 0, 1))
+    del tmp254
+    tmp232 = einsum(tmp39, (0, 1, 2, 3), tmp95, (0, 4, 2, 5), (1, 4, 3, 5)) * -1
+    del tmp95
+    l2new.bbbb += np.transpose(tmp232, (2, 3, 1, 0)) * 2
+    l2new.bbbb += np.transpose(tmp232, (2, 3, 0, 1)) * -2
+    l2new.bbbb += np.transpose(tmp232, (3, 2, 1, 0)) * -2
+    l2new.bbbb += np.transpose(tmp232, (3, 2, 0, 1)) * 2
+    del tmp232
+    tmp225 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp224, (4, 1), (0, 2, 4, 3))
+    del tmp224
+    l2new.bbbb += np.transpose(tmp225, (2, 3, 1, 0))
+    l2new.bbbb += np.transpose(tmp225, (3, 2, 1, 0)) * -1
+    del tmp225
+    tmp235 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3)))
+    tmp235 += tmp199
+    del tmp199
+    tmp235 += tmp200 * 2
+    del tmp200
+    tmp235 += tmp201
+    del tmp201
+    l2new.bbbb += einsum(l2.abab, (0, 1, 2, 3), tmp235, (2, 4, 0, 5), (5, 1, 3, 4)) * -1
+    del tmp235
+    tmp247 = einsum(tmp109, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5))
+    del tmp109
+    l2new.bbbb += np.transpose(tmp247, (2, 3, 1, 0)) * 2
+    l2new.bbbb += np.transpose(tmp247, (2, 3, 0, 1)) * -2
+    del tmp247
+    tmp169 = np.copy(f.aa.ov)
+    tmp169 += tmp162
+    tmp169 += tmp6
+    l2new.abab += einsum(tmp169, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3))
+    l2new.aaaa += einsum(tmp169, (0, 1), l1.aa, (2, 3), (2, 1, 0, 3)) * -1
+    l2new.aaaa += einsum(tmp169, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0))
+    l2new.aaaa += einsum(tmp169, (0, 1), l1.aa, (2, 3), (1, 2, 0, 3))
+    del tmp169
+    tmp185 = np.copy(tmp27) * 2
+    tmp185 += tmp28
+    l2new.abab += einsum(tmp185, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 4, 2, 3)) * -1
+    l2new.aaaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp185, (4, 1), (4, 3, 0, 2)) * -1
+    del tmp185
+    tmp221 = np.copy(tmp126)
+    tmp221 += tmp127
+    l2new.abab += einsum(tmp221, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 0, 5), (5, 3, 4, 1)) * -2
+    del tmp221
+    tmp220 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (0, 4, 3, 5))
+    l2new.abab += einsum(tmp220, (0, 1, 2, 3), l2.abab, (4, 2, 0, 5), (4, 3, 1, 5))
+    del tmp220
+    tmp209 = np.copy(f.aa.vv) * -1
+    tmp209 += np.transpose(tmp92, (1, 0)) * -1
+    tmp209 += tmp173 * 2
+    del tmp173
+    tmp209 += tmp174
+    del tmp174
+    tmp209 += einsum(t1.aa, (0, 1), tmp208, (0, 1, 2, 3), (3, 2)) * -1
+    del tmp208
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp209, (0, 4), (4, 1, 2, 3)) * -1
+    del tmp209
+    tmp205 = np.copy(np.transpose(v.aabb.vvoo, (2, 3, 0, 1)))
+    tmp205 += np.transpose(tmp101, (0, 1, 3, 2))
+    del tmp101
+    l2new.abab += einsum(tmp205, (0, 1, 2, 3), l2.abab, (2, 4, 5, 0), (3, 4, 5, 1)) * -1
+    del tmp205
+    tmp223 = np.copy(tmp73)
+    tmp223 += tmp74
+    l2new.abab += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp223, (4, 2, 5, 1), (5, 3, 4, 0)) * -2
+    del tmp223
+    tmp219 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4))
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp219, (3, 4, 0, 5), (5, 1, 2, 4))
+    del tmp219
+    tmp218 = np.copy(v.aabb.oovv)
+    tmp218 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3))
+    l2new.abab += einsum(tmp218, (0, 1, 2, 3), l2.abab, (4, 2, 0, 5), (4, 3, 1, 5)) * -1
+    del tmp218
+    tmp216 = np.copy(v.aabb.ooov)
+    tmp216 += tmp4
+    del tmp4
+    l2new.abab += einsum(tmp216, (0, 1, 2, 3), tmp37, (0, 4, 2, 5), (5, 3, 1, 4))
+    l2new.abab += einsum(l1.aa, (0, 1), tmp216, (1, 2, 3, 4), (0, 4, 2, 3)) * -1
+    del tmp216
+    tmp188 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 1, 0, 3), (2, 3))
+    l2new.abab += einsum(l1.bb, (0, 1), tmp188, (2, 3), (3, 0, 2, 1)) * -1
+    l2new.aaaa += einsum(tmp188, (0, 1), l1.aa, (2, 3), (2, 1, 0, 3))
+    l2new.aaaa += einsum(tmp188, (0, 1), l1.aa, (2, 3), (1, 2, 0, 3)) * -1
+    l2new.aaaa += einsum(l1.aa, (0, 1), tmp188, (2, 3), (0, 3, 1, 2)) * -1
+    l2new.aaaa += einsum(tmp188, (0, 1), l1.aa, (2, 3), (1, 2, 3, 0))
+    del tmp188
+    tmp207 = einsum(v.aabb.ovov, (0, 1, 2, 3), tmp82, (4, 0, 5, 2), (4, 5, 1, 3)) * 0.5
+    l2new.abab += np.transpose(tmp207, (2, 3, 0, 1))
+    l2new.abab += np.transpose(tmp207, (2, 3, 0, 1))
+    del tmp207
+    tmp217 = np.copy(v.aabb.oooo)
+    tmp217 += np.transpose(tmp12, (1, 0, 2, 3))
+    del tmp12
+    tmp217 += tmp13
+    del tmp13
+    tmp217 += einsum(t1.aa, (0, 1), tmp3, (2, 3, 4, 1), (0, 2, 4, 3))
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp217, (2, 4, 3, 5), (0, 1, 4, 5))
+    del tmp217
+    tmp206 = einsum(l2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 0, 5, 1), (2, 3, 4, 5))
+    l2new.abab += np.transpose(tmp206, (2, 3, 0, 1)) * 0.5
+    l2new.abab += np.transpose(tmp206, (2, 3, 0, 1)) * 0.5
+    del tmp206
+    tmp212 = np.copy(f.bb.vv) * -1
+    tmp212 += np.transpose(tmp143, (1, 0)) * -1
+    tmp212 += tmp210
+    del tmp210
+    tmp212 += tmp211 * 2
+    del tmp211
+    tmp212 += einsum(t1.bb, (0, 1), tmp129, (0, 1, 2, 3), (3, 2)) * -1
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp212, (1, 4), (0, 4, 2, 3)) * -1
+    del tmp212
+    tmp153 = einsum(tmp49, (0, 1, 2, 3), v.aaaa.ovoo, (4, 5, 2, 0), (1, 4, 3, 5)) * -1
+    l2new.aaaa += np.transpose(tmp153, (2, 3, 1, 0)) * 2
+    l2new.aaaa += np.transpose(tmp153, (2, 3, 0, 1)) * -2
+    l2new.aaaa += np.transpose(tmp153, (3, 2, 1, 0)) * -2
+    l2new.aaaa += np.transpose(tmp153, (3, 2, 0, 1)) * 2
+    del tmp153
+    tmp163 = np.copy(f.aa.ov)
+    tmp163 += tmp162
+    del tmp162
+    tmp163 += tmp6
+    del tmp6
+    l2new.aaaa += einsum(l1.aa, (0, 1), tmp163, (2, 3), (3, 0, 1, 2)) * -1
+    del tmp163
+    tmp161 = einsum(tmp67, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 1, 2, 3)) * -2
+    del tmp67
+    l2new.aaaa += np.transpose(tmp161, (3, 2, 1, 0))
+    l2new.aaaa += np.transpose(tmp161, (3, 2, 0, 1)) * -1
+    del tmp161
+    tmp184 = np.copy(v.aaaa.ooov)
+    tmp184 += np.transpose(tmp0, (0, 2, 1, 3))
+    l2new.aaaa += einsum(l1.aa, (0, 1), tmp184, (1, 2, 3, 4), (4, 0, 2, 3))
+    del tmp184
+    tmp157 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3)))
+    tmp157 += v.aaaa.oovv * -1
+    tmp157 += tmp155 * 2
+    del tmp155
+    tmp157 += tmp156
+    del tmp156
+    tmp157 += einsum(t1.aa, (0, 1), tmp93, (2, 3, 1, 4), (0, 2, 4, 3)) * -1
+    l2new.aaaa += einsum(tmp157, (0, 1, 2, 3), l2.aaaa, (4, 2, 5, 0), (3, 4, 5, 1)) * -2
+    del tmp157
+    tmp187 = einsum(tmp0, (0, 1, 2, 3), tmp49, (4, 0, 1, 5), (4, 2, 5, 3))
+    l2new.aaaa += np.transpose(tmp187, (2, 3, 1, 0)) * -2
+    l2new.aaaa += np.transpose(tmp187, (3, 2, 1, 0)) * 2
+    l2new.aaaa += np.transpose(tmp187, (2, 3, 0, 1)) * 2
+    l2new.aaaa += np.transpose(tmp187, (3, 2, 0, 1)) * -2
+    del tmp187
+    tmp149 = einsum(l1.aa, (0, 1), tmp148, (1, 2, 3, 4), (2, 3, 4, 0))
+    del tmp148
+    l2new.aaaa += np.transpose(tmp149, (3, 2, 1, 0)) * -1
+    l2new.aaaa += np.transpose(tmp149, (3, 2, 0, 1))
+    del tmp149
+    tmp168 = einsum(l2.abab, (0, 1, 2, 3), tmp167, (4, 3, 5, 1), (4, 2, 5, 0))
+    del tmp167
+    l2new.aaaa += np.transpose(tmp168, (3, 2, 0, 1)) * -1
+    l2new.aaaa += np.transpose(tmp168, (3, 2, 1, 0))
+    l2new.aaaa += np.transpose(tmp168, (2, 3, 0, 1))
+    del tmp168
+    tmp181 = einsum(tmp180, (0, 1), tmp49, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp180
+    l2new.aaaa += np.transpose(tmp181, (3, 2, 1, 0))
+    l2new.aaaa += np.transpose(tmp181, (3, 2, 1, 0))
+    l2new.aaaa += np.transpose(tmp181, (2, 3, 1, 0)) * -1
+    l2new.aaaa += np.transpose(tmp181, (2, 3, 1, 0)) * -1
+    del tmp181
+    tmp191 = einsum(tmp60, (0, 1), v.aaaa.ovov, (2, 3, 1, 4), (2, 0, 4, 3))
+    del tmp60
+    l2new.aaaa += np.transpose(tmp191, (3, 2, 1, 0))
+    l2new.aaaa += np.transpose(tmp191, (2, 3, 1, 0)) * -1
+    del tmp191
+    tmp152 = einsum(tmp49, (0, 1, 2, 3), tmp0, (0, 4, 2, 5), (1, 4, 3, 5)) * -1
+    l2new.aaaa += np.transpose(tmp152, (2, 3, 1, 0)) * 2
+    l2new.aaaa += np.transpose(tmp152, (2, 3, 0, 1)) * -2
+    l2new.aaaa += np.transpose(tmp152, (3, 2, 1, 0)) * -2
+    l2new.aaaa += np.transpose(tmp152, (3, 2, 0, 1)) * 2
+    del tmp152
+    tmp146 = einsum(tmp145, (0, 1), v.aaaa.ovov, (2, 1, 3, 4), (2, 3, 0, 4)) * 2
+    del tmp145
+    l2new.aaaa += np.transpose(tmp146, (2, 3, 1, 0))
+    l2new.aaaa += np.transpose(tmp146, (3, 2, 1, 0)) * -1
+    del tmp146
+    tmp186 = einsum(tmp49, (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 2, 5), (1, 4, 3, 5)) * -1
+    l2new.aaaa += np.transpose(tmp186, (2, 3, 1, 0)) * -2
+    l2new.aaaa += np.transpose(tmp186, (3, 2, 1, 0)) * 2
+    l2new.aaaa += np.transpose(tmp186, (2, 3, 0, 1)) * 2
+    l2new.aaaa += np.transpose(tmp186, (3, 2, 0, 1)) * -2
+    del tmp186
+    tmp166 = einsum(tmp165, (0, 1, 2, 3), l2.aaaa, (4, 2, 5, 0), (1, 5, 3, 4))
+    del tmp165
+    l2new.aaaa += np.transpose(tmp166, (3, 2, 0, 1)) * -2
+    l2new.aaaa += np.transpose(tmp166, (3, 2, 1, 0)) * 2
+    l2new.aaaa += np.transpose(tmp166, (2, 3, 0, 1)) * 2
+    del tmp166
+    tmp192 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp56, (4, 2), (0, 4, 3, 1)) * 2
+    l2new.aaaa += np.transpose(tmp192, (3, 2, 0, 1)) * -1
+    l2new.aaaa += np.transpose(tmp192, (2, 3, 0, 1))
+    del tmp192
+    tmp177 = einsum(tmp176, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2)) * -1
+    del tmp176
+    l2new.aaaa += np.transpose(tmp177, (3, 2, 1, 0)) * -1
+    l2new.aaaa += np.transpose(tmp177, (3, 2, 1, 0)) * -1
+    l2new.aaaa += np.transpose(tmp177, (2, 3, 1, 0))
+    l2new.aaaa += np.transpose(tmp177, (2, 3, 1, 0))
+    del tmp177
+    tmp154 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), l1.aa, (3, 4), (4, 0, 1, 2))
+    l2new.aaaa += np.transpose(tmp154, (3, 2, 1, 0)) * -1
+    l2new.aaaa += np.transpose(tmp154, (3, 2, 0, 1))
+    l2new.aaaa += np.transpose(tmp154, (2, 3, 1, 0))
+    l2new.aaaa += np.transpose(tmp154, (2, 3, 0, 1)) * -1
+    del tmp154
+    tmp183 = np.copy(v.aaaa.oooo)
+    tmp183 += np.transpose(tmp21, (1, 3, 2, 0))
+    del tmp21
+    tmp183 += np.transpose(tmp22, (0, 2, 3, 1))
+    del tmp22
+    l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp183, (2, 4, 5, 3), (0, 1, 5, 4)) * -2
+    del tmp183
+    tmp150 = einsum(tmp37, (0, 1, 2, 3), v.aabb.ovoo, (4, 5, 2, 1), (0, 4, 3, 5))
+    l2new.aaaa += np.transpose(tmp150, (2, 3, 1, 0))
+    l2new.aaaa += np.transpose(tmp150, (2, 3, 0, 1)) * -1
+    l2new.aaaa += np.transpose(tmp150, (3, 2, 1, 0)) * -1
+    l2new.aaaa += np.transpose(tmp150, (3, 2, 0, 1))
+    del tmp150
+    tmp147 = np.copy(v.aaaa.ooov)
+    tmp147 += np.transpose(tmp0, (0, 2, 1, 3))
+    del tmp0
+    l2new.aaaa += einsum(l1.aa, (0, 1), tmp147, (1, 2, 3, 4), (4, 0, 3, 2)) * -1
+    del tmp147
+    tmp160 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) * 0.5
+    tmp160 += tmp10 * 0.5
+    del tmp10
+    tmp160 += tmp158 * 0.5
+    del tmp158
+    tmp160 += tmp159
+    del tmp159
+    l2new.aaaa += einsum(tmp160, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (2, 4, 5, 0)) * -2
+    del tmp160
+    tmp172 = einsum(tmp87, (0, 1, 2, 3), v.aaaa.ovov, (2, 4, 3, 5), (0, 1, 4, 5)) * 0.5
+    l2new.aaaa += np.transpose(tmp172, (3, 2, 1, 0))
+    l2new.aaaa += np.transpose(tmp172, (3, 2, 1, 0))
+    l2new.aaaa += np.transpose(tmp172, (3, 2, 1, 0))
+    l2new.aaaa += np.transpose(tmp172, (3, 2, 1, 0))
+    del tmp172
+    tmp171 = einsum(tmp49, (0, 1, 2, 3), v.aaaa.ovvv, (2, 4, 5, 3), (1, 0, 4, 5))
+    l2new.aaaa += np.transpose(tmp171, (3, 2, 1, 0)) * -1
+    l2new.aaaa += np.transpose(tmp171, (3, 2, 1, 0)) * -1
+    l2new.aaaa += np.transpose(tmp171, (2, 3, 1, 0))
+    l2new.aaaa += np.transpose(tmp171, (2, 3, 1, 0))
+    del tmp171
+    tmp182 = einsum(tmp23, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5))
+    del tmp23
+    l2new.aaaa += np.transpose(tmp182, (2, 3, 1, 0)) * 2
+    l2new.aaaa += np.transpose(tmp182, (2, 3, 0, 1)) * -2
+    del tmp182
+    tmp170 = einsum(l2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 1, 5, 0), (2, 3, 4, 5)) * -1
+    l2new.aaaa += np.transpose(tmp170, (3, 2, 1, 0)) * 0.5
+    l2new.aaaa += np.transpose(tmp170, (3, 2, 1, 0)) * 0.5
+    l2new.aaaa += np.transpose(tmp170, (3, 2, 1, 0)) * 0.5
+    l2new.aaaa += np.transpose(tmp170, (3, 2, 1, 0)) * 0.5
+    del tmp170
+    tmp190 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp189, (4, 2, 5, 1), (4, 0, 5, 3))
+    del tmp189
+    l2new.aaaa += np.transpose(tmp190, (2, 3, 1, 0))
+    l2new.aaaa += np.transpose(tmp190, (3, 2, 1, 0)) * -1
+    l2new.aaaa += np.transpose(tmp190, (2, 3, 0, 1)) * -1
+    l2new.aaaa += np.transpose(tmp190, (3, 2, 0, 1))
+    del tmp190
+    tmp151 = einsum(tmp2, (0, 1, 2, 3), tmp37, (4, 1, 2, 5), (4, 0, 5, 3))
+    l2new.aaaa += np.transpose(tmp151, (2, 3, 1, 0))
+    l2new.aaaa += np.transpose(tmp151, (2, 3, 0, 1)) * -1
+    l2new.aaaa += np.transpose(tmp151, (3, 2, 1, 0)) * -1
+    l2new.aaaa += np.transpose(tmp151, (3, 2, 0, 1))
+    del tmp151
+    tmp123 = einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    l1new.bb += einsum(tmp123, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 0), (1, 4)) * 2
+    del tmp123
+    tmp114 = np.copy(np.transpose(l1.bb, (1, 0))) * -0.5
+    tmp114 += t1.bb * -0.5
+    tmp114 += tmp35 * -0.5
+    tmp114 += tmp36 * -1
+    tmp114 += tmp38 * 0.5
+    tmp114 += tmp40
+    tmp114 += einsum(tmp44, (0, 1), t1.bb, (0, 2), (1, 2)) * 0.5
+    del tmp44
+    l1new.bb += einsum(tmp114, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (3, 2)) * -2
+    del tmp114
+    tmp122 = einsum(v.aabb.vvvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3))
+    l1new.bb += einsum(l2.abab, (0, 1, 2, 3), tmp122, (2, 0, 4, 1), (4, 3))
+    del tmp122
+    tmp113 = np.copy(tmp26) * 0.5
+    tmp113 += tmp27
+    tmp113 += tmp28 * 0.5
+    l1new.bb += einsum(v.aabb.vvov, (0, 1, 2, 3), tmp113, (1, 0), (3, 2)) * 2
+    del tmp113
+    tmp133 = einsum(t2.abab, (0, 1, 2, 3), l1.bb, (3, 4), (0, 4, 1, 2))
+    tmp133 += tmp37
+    tmp133 += einsum(tmp37, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5)) * 2
+    tmp133 += einsum(tmp51, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 2, 4, 5)) * -1
+    tmp133 += einsum(t2.abab, (0, 1, 2, 3), tmp39, (4, 1, 5, 3), (0, 4, 5, 2)) * -2
+    tmp133 += einsum(t1.aa, (0, 1), tmp82, (0, 2, 3, 4), (2, 3, 4, 1)) * -1
+    l1new.bb += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp133, (0, 4, 2, 1), (3, 4)) * -1
+    del tmp133
+    tmp142 = np.copy(t1.bb) * -1
+    tmp142 += tmp35 * -1
+    tmp142 += tmp36 * -2
+    tmp142 += tmp38
+    tmp142 += tmp40 * 2
+    tmp142 += tmp45
+    l1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp142, (2, 1), (3, 0))
+    del tmp142
+    tmp128 = np.copy(np.transpose(l2.abab, (2, 3, 0, 1)))
+    tmp128 += tmp126 * 2
+    del tmp126
+    tmp128 += einsum(t1.aa, (0, 1), tmp51, (0, 2, 3, 4), (2, 3, 1, 4)) * -1
+    tmp128 += tmp127 * 2
+    del tmp127
+    l1new.bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp128, (0, 4, 1, 3), (2, 4))
+    del tmp128
+    tmp111 = np.copy(v.bbbb.ooov) * -1
+    tmp111 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (0, 4, 5, 2)) * -1
+    tmp111 += einsum(tmp104, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (2, 4, 0, 5)) * 2
+    del tmp104
+    tmp111 += einsum(t2.abab, (0, 1, 2, 3), tmp14, (0, 4, 5, 2), (5, 1, 4, 3))
+    del tmp14
+    tmp111 += einsum(tmp100, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp111 += einsum(tmp106, (0, 1, 2, 3), t1.bb, (4, 3), (1, 0, 4, 2))
+    del tmp106
+    tmp111 += einsum(tmp110, (0, 1, 2, 3), t1.bb, (0, 4), (2, 3, 1, 4))
+    del tmp110
+    l1new.bb += einsum(l2.bbbb, (0, 1, 2, 3), tmp111, (4, 2, 3, 1), (0, 4)) * 2
+    del tmp111
+    tmp34 = np.copy(tmp31)
+    del tmp31
+    tmp34 += tmp32
+    del tmp32
+    tmp34 += tmp33 * 2
+    del tmp33
+    l1new.bb += einsum(tmp34, (0, 1), tmp112, (2, 3, 1, 0), (3, 2)) * -1
+    del tmp112
+    l1new.aa += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp34, (3, 2), (1, 0))
+    del tmp34
+    tmp134 = np.copy(np.transpose(l2.bbbb, (2, 3, 0, 1))) * -1
+    tmp134 += einsum(t1.bb, (0, 1), tmp39, (2, 0, 3, 4), (2, 3, 4, 1))
+    l1new.bb += einsum(v.bbbb.ovvv, (0, 1, 2, 3), tmp134, (4, 0, 3, 1), (2, 4)) * -2
+    del tmp134
+    tmp103 = np.copy(np.transpose(v.aabb.ovoo, (0, 2, 3, 1)))
+    tmp103 += tmp2
+    del tmp2
+    tmp103 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 3), (0, 1, 5, 4))
+    tmp103 += einsum(tmp96, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 2, 5))
+    del tmp96
+    tmp103 += einsum(tmp3, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 2, 1, 5)) * 2
+    tmp103 += einsum(t2.abab, (0, 1, 2, 3), tmp5, (0, 4, 5, 3), (4, 1, 5, 2)) * -1
+    tmp103 += einsum(tmp100, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4))
+    del tmp100
+    tmp103 += einsum(tmp102, (0, 1, 2, 3), t1.aa, (4, 2), (4, 1, 0, 3))
+    del tmp102
+    tmp103 += einsum(t1.aa, (0, 1), tmp16, (0, 2, 3, 4), (2, 4, 3, 1)) * -1
+    l1new.bb += einsum(tmp103, (0, 1, 2, 3), l2.abab, (3, 4, 0, 1), (4, 2)) * -1
+    del tmp103
+    tmp144 = np.copy(f.bb.vv)
+    tmp144 += np.transpose(tmp143, (1, 0))
+    del tmp143
+    tmp144 += einsum(t1.bb, (0, 1), tmp129, (0, 2, 1, 3), (3, 2)) * -1
+    del tmp129
+    l1new.bb += einsum(l1.bb, (0, 1), tmp144, (0, 2), (2, 1))
+    del tmp144
+    tmp135 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5))
+    tmp135 += einsum(t1.aa, (0, 1), tmp37, (0, 2, 3, 4), (2, 3, 1, 4))
+    l1new.bb += einsum(v.aabb.vvov, (0, 1, 2, 3), tmp135, (4, 2, 0, 1), (3, 4)) * -1
+    del tmp135
+    tmp140 = einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4))
+    tmp140 += np.transpose(tmp136, (0, 2, 1, 3)) * 0.5
+    tmp140 += np.transpose(tmp137, (0, 2, 1, 3)) * 2
+    l1new.bb += einsum(tmp140, (0, 1, 2, 3), v.bbbb.ovov, (1, 4, 2, 3), (4, 0)) * 2
+    del tmp140
+    tmp58 = np.copy(np.transpose(l1.aa, (1, 0))) * -1
+    tmp58 += t1.aa * -1
+    tmp58 += tmp47 * -2
+    tmp58 += tmp48 * -1
+    tmp58 += tmp50 * 2
+    tmp58 += tmp52
+    tmp58 += tmp57
+    del tmp57
+    l1new.bb += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp58, (0, 1), (3, 2)) * -1
+    l1new.aa += einsum(tmp58, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (3, 2)) * -1
+    del tmp58
+    tmp141 = np.copy(tmp80)
+    tmp141 += np.transpose(tmp81, (1, 0, 2, 3))
+    l1new.bb += einsum(tmp141, (0, 1, 2, 3), v.aabb.ooov, (0, 1, 3, 4), (4, 2))
+    del tmp141
+    tmp139 = np.copy(np.transpose(tmp39, (1, 0, 2, 3))) * -1
+    del tmp39
+    tmp139 += np.transpose(tmp136, (2, 0, 1, 3)) * 0.5
+    del tmp136
+    tmp139 += np.transpose(tmp137, (2, 0, 1, 3)) * 2
+    del tmp137
+    tmp139 += einsum(tmp138, (0, 1, 2, 3), t1.bb, (0, 4), (3, 1, 2, 4))
+    del tmp138
+    l1new.bb += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp139, (0, 4, 2, 1), (3, 4)) * -2
+    del tmp139
+    tmp46 = np.copy(np.transpose(l1.bb, (1, 0))) * -1
+    tmp46 += t1.bb * -1
+    tmp46 += tmp35 * -1
+    del tmp35
+    tmp46 += tmp36 * -2
+    del tmp36
+    tmp46 += tmp38
+    del tmp38
+    tmp46 += tmp40 * 2
+    del tmp40
+    tmp46 += tmp45
+    del tmp45
+    l1new.aa += einsum(tmp46, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (3, 2)) * -1
+    del tmp46
+    tmp25 = np.copy(v.aaaa.ooov) * -0.5
+    tmp25 += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (4, 0, 1, 5)) * -0.5
+    tmp25 += einsum(t2.aaaa, (0, 1, 2, 3), tmp18, (4, 5, 1, 3), (5, 0, 4, 2))
+    del tmp18
+    tmp25 += einsum(t2.abab, (0, 1, 2, 3), tmp19, (4, 5, 1, 3), (5, 0, 4, 2)) * 0.5
+    del tmp19
+    tmp25 += einsum(tmp9, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4)) * 0.5
+    tmp25 += einsum(t1.aa, (0, 1), tmp20, (2, 3, 4, 1), (3, 2, 0, 4)) * 0.5
+    del tmp20
+    tmp25 += einsum(tmp24, (0, 1, 2, 3), t1.aa, (0, 4), (2, 3, 1, 4)) * 0.5
+    del tmp24
+    l1new.aa += einsum(tmp25, (0, 1, 2, 3), l2.aaaa, (4, 3, 1, 2), (4, 0)) * 4
+    del tmp25
+    tmp84 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 5, 1), (5, 0, 4, 3))
+    tmp84 += einsum(t1.bb, (0, 1), tmp51, (2, 3, 0, 4), (2, 3, 1, 4))
+    l1new.aa += einsum(v.aabb.ovvv, (0, 1, 2, 3), tmp84, (4, 0, 3, 2), (1, 4)) * -1
+    del tmp84
+    tmp17 = np.copy(v.aabb.ooov)
+    tmp17 += einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp17 += einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp17 += einsum(t2.abab, (0, 1, 2, 3), tmp1, (0, 4, 5, 2), (4, 5, 1, 3))
+    del tmp1
+    tmp17 += einsum(t2.abab, (0, 1, 2, 3), tmp3, (4, 1, 5, 2), (0, 4, 5, 3)) * -1
+    del tmp3
+    tmp17 += einsum(tmp5, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (1, 0, 4, 5)) * 2
+    del tmp5
+    tmp17 += einsum(tmp9, (0, 1), t2.abab, (2, 3, 1, 4), (2, 0, 3, 4))
+    del tmp9
+    tmp17 += einsum(t1.aa, (0, 1), tmp11, (2, 3, 1, 4), (0, 2, 3, 4))
+    del tmp11
+    tmp17 += einsum(t1.bb, (0, 1), tmp16, (2, 3, 0, 4), (3, 2, 4, 1)) * -1
+    del tmp16
+    l1new.aa += einsum(l2.abab, (0, 1, 2, 3), tmp17, (2, 4, 3, 1), (0, 4)) * -1
+    del tmp17
+    tmp69 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2))
+    l1new.aa += einsum(l2.aaaa, (0, 1, 2, 3), tmp69, (3, 4, 1, 0), (4, 2)) * -2
+    del tmp69
+    tmp79 = np.copy(tmp76)
+    tmp79 += einsum(tmp49, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3)) * -0.5
+    tmp79 += tmp77 * 0.25
+    l1new.aa += einsum(tmp79, (0, 1, 2, 3), v.aaaa.ovvv, (1, 4, 3, 2), (4, 0)) * -4
+    del tmp79
+    tmp91 = np.copy(t1.aa) * -0.5
+    tmp91 += tmp47 * -1
+    del tmp47
+    tmp91 += tmp48 * -0.5
+    del tmp48
+    tmp91 += tmp50
+    del tmp50
+    tmp91 += tmp52 * 0.5
+    del tmp52
+    tmp91 += einsum(t1.aa, (0, 1), tmp56, (0, 2), (2, 1))
+    del tmp56
+    l1new.aa += einsum(tmp91, (0, 1), v.aaaa.ovov, (2, 1, 0, 3), (3, 2)) * 2
+    del tmp91
+    tmp88 = np.copy(np.transpose(tmp49, (1, 0, 2, 3))) * -0.5
+    tmp88 += np.transpose(tmp85, (2, 0, 1, 3))
+    tmp88 += np.transpose(tmp86, (2, 0, 1, 3)) * 0.25
+    tmp88 += einsum(tmp87, (0, 1, 2, 3), t1.aa, (0, 4), (3, 1, 2, 4)) * 0.5
+    del tmp87
+    l1new.aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp88, (0, 4, 2, 1), (3, 4)) * -4
+    del tmp88
+    tmp75 = np.copy(np.transpose(l2.abab, (2, 3, 0, 1)))
+    tmp75 += tmp73 * 2
+    del tmp73
+    tmp75 += tmp74 * 2
+    del tmp74
+    tmp75 += einsum(tmp37, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4)) * -1
+    l1new.aa += einsum(v.aabb.vvov, (0, 1, 2, 3), tmp75, (4, 2, 1, 3), (0, 4))
+    del tmp75
+    tmp72 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    l1new.aa += einsum(tmp72, (0, 1, 2, 3), tmp49, (4, 0, 1, 3), (2, 4)) * -2
+    del tmp72
+    tmp29 = np.copy(tmp26)
+    del tmp26
+    tmp29 += tmp27 * 2
+    del tmp27
+    tmp29 += tmp28
+    del tmp28
+    l1new.aa += einsum(tmp29, (0, 1), tmp30, (2, 3, 1, 0), (3, 2)) * -1
+    del tmp30, tmp29
+    tmp89 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4)) * 0.5
+    tmp89 += np.transpose(tmp85, (0, 2, 1, 3))
+    del tmp85
+    tmp89 += np.transpose(tmp86, (0, 2, 1, 3)) * 0.25
+    del tmp86
+    l1new.aa += einsum(tmp89, (0, 1, 2, 3), v.aaaa.ovov, (1, 4, 2, 3), (4, 0)) * 4
+    del tmp89
+    tmp78 = np.copy(np.transpose(l2.aaaa, (2, 3, 0, 1)))
+    tmp78 += tmp76 * 2
+    del tmp76
+    tmp78 += tmp77 * 0.5
+    del tmp77
+    l1new.aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp78, (4, 0, 3, 1), (2, 4)) * 2
+    del tmp78
+    tmp94 = np.copy(f.aa.vv)
+    tmp94 += np.transpose(tmp92, (1, 0))
+    del tmp92
+    tmp94 += einsum(t1.aa, (0, 1), tmp93, (0, 1, 2, 3), (3, 2)) * -1
+    del tmp93
+    l1new.aa += einsum(l1.aa, (0, 1), tmp94, (0, 2), (2, 1))
+    del tmp94
+    tmp90 = np.copy(tmp80)
+    del tmp80
+    tmp90 += np.transpose(tmp81, (0, 1, 3, 2))
+    del tmp81
+    l1new.aa += einsum(tmp90, (0, 1, 2, 3), v.aabb.ovoo, (1, 4, 3, 2), (4, 0))
+    del tmp90
+    tmp68 = einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    l1new.aa += einsum(tmp68, (0, 1, 2, 3), l2.abab, (2, 3, 4, 0), (1, 4))
+    del tmp68
+    tmp83 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 4), (4, 0, 1, 3))
+    tmp83 += tmp51
+    tmp83 += einsum(t2.abab, (0, 1, 2, 3), tmp49, (4, 0, 5, 2), (4, 5, 1, 3)) * -2
+    del tmp49
+    tmp83 += einsum(t2.bbbb, (0, 1, 2, 3), tmp51, (4, 5, 1, 3), (4, 5, 0, 2)) * 2
+    del tmp51
+    tmp83 += einsum(tmp37, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (0, 4, 2, 5)) * -1
+    del tmp37
+    tmp83 += einsum(tmp82, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4)) * -1
+    del tmp82
+    l1new.aa += einsum(tmp83, (0, 1, 2, 3), v.aabb.ovov, (1, 4, 2, 3), (4, 0)) * -1
+    del tmp83
+    l1new.aa += einsum(v.aaaa.oovv, (0, 1, 2, 3), l1.aa, (3, 1), (2, 0)) * -1
+    l1new.aa += np.transpose(f.aa.ov, (1, 0))
+    l1new.bb += einsum(v.bbbb.oovv, (0, 1, 2, 3), l1.bb, (3, 1), (2, 0)) * -1
+    l1new.bb += np.transpose(f.bb.ov, (1, 0))
+    l2new.aaaa += np.transpose(v.aaaa.ovov, (1, 3, 0, 2))
+    l2new.aaaa += np.transpose(v.aaaa.ovov, (3, 1, 0, 2)) * -1
+    l2new.abab += np.transpose(v.aabb.ovov, (1, 3, 0, 2))
+    l2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), l1.bb, (3, 4), (1, 2, 0, 4))
+    l2new.abab += einsum(v.aabb.vvov, (0, 1, 2, 3), l1.aa, (1, 4), (0, 3, 4, 2))
+    l2new.bbbb += np.transpose(v.bbbb.ovov, (1, 3, 0, 2))
+    l2new.bbbb += np.transpose(v.bbbb.ovov, (3, 1, 0, 2)) * -1
+
+    return {f"l1new": l1new, f"l2new": l2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCSD.make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-12T21:49:17.273031.

+

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.

+ +
+ Source code in ebcc/codegen/UCCSD.py +
1958
+1959
+1960
+1961
+1962
+1963
+1964
+1965
+1966
+1967
+1968
+1969
+1970
+1971
+1972
+1973
+1974
+1975
+1976
+1977
+1978
+1979
+1980
+1981
+1982
+1983
+1984
+1985
+1986
+1987
+1988
+1989
+1990
+1991
+1992
+1993
+1994
+1995
+1996
+1997
+1998
+1999
+2000
+2001
+2002
+2003
+2004
+2005
+2006
+2007
+2008
+2009
+2010
+2011
+2012
+2013
+2014
+2015
+2016
+2017
+2018
+2019
+2020
+2021
+2022
+2023
+2024
+2025
+2026
+2027
+2028
+2029
+2030
+2031
+2032
+2033
+2034
+2035
+2036
+2037
+2038
+2039
+2040
+2041
+2042
+2043
+2044
+2045
+2046
def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-12T21:49:17.273031.
+
+    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])),
+    )
+    tmp4 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2))
+    rdm1.bb.oo = np.copy(np.transpose(tmp4, (1, 0))) * -1
+    tmp5 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4))
+    rdm1.bb.oo += np.transpose(tmp5, (1, 0)) * -2
+    tmp3 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1))
+    rdm1.bb.oo += np.transpose(tmp3, (1, 0)) * -1
+    tmp2 = einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2))
+    rdm1.aa.oo = np.copy(np.transpose(tmp2, (1, 0))) * -1
+    tmp1 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0))
+    rdm1.aa.oo += np.transpose(tmp1, (1, 0)) * -2
+    tmp0 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0))
+    rdm1.aa.oo += np.transpose(tmp0, (1, 0)) * -1
+    tmp11 = np.copy(tmp4)
+    del tmp4
+    tmp11 += tmp3
+    del tmp3
+    tmp11 += tmp5 * 2
+    del tmp5
+    rdm1.bb.ov = einsum(tmp11, (0, 1), t1.bb, (0, 2), (1, 2)) * -1
+    del tmp11
+    tmp9 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2))
+    rdm1.bb.ov += einsum(t2.bbbb, (0, 1, 2, 3), tmp9, (1, 0, 4, 3), (4, 2)) * -2
+    del tmp9
+    tmp10 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2))
+    rdm1.bb.ov += einsum(tmp10, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4)) * -1
+    del tmp10
+    tmp7 = einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2))
+    rdm1.aa.ov = einsum(t2.abab, (0, 1, 2, 3), tmp7, (0, 4, 1, 3), (4, 2)) * -1
+    del tmp7
+    tmp6 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2))
+    rdm1.aa.ov += einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (1, 0, 4, 3), (2, 4)) * -2
+    del tmp6
+    tmp8 = np.copy(tmp2)
+    del tmp2
+    tmp8 += tmp1 * 2
+    del tmp1
+    tmp8 += tmp0
+    del tmp0
+    rdm1.aa.ov += einsum(t1.aa, (0, 1), tmp8, (0, 2), (2, 1)) * -1
+    del tmp8
+    rdm1.aa.oo += delta.aa.oo
+    rdm1.bb.oo += delta.bb.oo
+    del delta
+    rdm1.aa.ov += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3))
+    rdm1.aa.ov += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) * 2
+    rdm1.aa.ov += t1.aa
+    rdm1.bb.ov += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3))
+    rdm1.bb.ov += t1.bb
+    rdm1.bb.ov += einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2)) * 2
+    rdm1.aa.vo = np.copy(l1.aa)
+    rdm1.bb.vo = np.copy(l1.bb)
+    rdm1.aa.vv = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 1), (4, 2))
+    rdm1.aa.vv += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2))
+    rdm1.aa.vv += einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4)) * 2
+    rdm1.bb.vv = einsum(t1.bb, (0, 1), l1.bb, (2, 0), (2, 1))
+    rdm1.bb.vv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) * 2
+    rdm1.bb.vv += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3))
+    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
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCSD.make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-12T21:49:53.439642.

+

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.

+ +
+ Source code in ebcc/codegen/UCCSD.py +
2048
+2049
+2050
+2051
+2052
+2053
+2054
+2055
+2056
+2057
+2058
+2059
+2060
+2061
+2062
+2063
+2064
+2065
+2066
+2067
+2068
+2069
+2070
+2071
+2072
+2073
+2074
+2075
+2076
+2077
+2078
+2079
+2080
+2081
+2082
+2083
+2084
+2085
+2086
+2087
+2088
+2089
+2090
+2091
+2092
+2093
+2094
+2095
+2096
+2097
+2098
+2099
+2100
+2101
+2102
+2103
+2104
+2105
+2106
+2107
+2108
+2109
+2110
+2111
+2112
+2113
+2114
+2115
+2116
+2117
+2118
+2119
+2120
+2121
+2122
+2123
+2124
+2125
+2126
+2127
+2128
+2129
+2130
+2131
+2132
+2133
+2134
+2135
+2136
+2137
+2138
+2139
+2140
+2141
+2142
+2143
+2144
+2145
+2146
+2147
+2148
+2149
+2150
+2151
+2152
+2153
+2154
+2155
+2156
+2157
+2158
+2159
+2160
+2161
+2162
+2163
+2164
+2165
+2166
+2167
+2168
+2169
+2170
+2171
+2172
+2173
+2174
+2175
+2176
+2177
+2178
+2179
+2180
+2181
+2182
+2183
+2184
+2185
+2186
+2187
+2188
+2189
+2190
+2191
+2192
+2193
+2194
+2195
+2196
+2197
+2198
+2199
+2200
+2201
+2202
+2203
+2204
+2205
+2206
+2207
+2208
+2209
+2210
+2211
+2212
+2213
+2214
+2215
+2216
+2217
+2218
+2219
+2220
+2221
+2222
+2223
+2224
+2225
+2226
+2227
+2228
+2229
+2230
+2231
+2232
+2233
+2234
+2235
+2236
+2237
+2238
+2239
+2240
+2241
+2242
+2243
+2244
+2245
+2246
+2247
+2248
+2249
+2250
+2251
+2252
+2253
+2254
+2255
+2256
+2257
+2258
+2259
+2260
+2261
+2262
+2263
+2264
+2265
+2266
+2267
+2268
+2269
+2270
+2271
+2272
+2273
+2274
+2275
+2276
+2277
+2278
+2279
+2280
+2281
+2282
+2283
+2284
+2285
+2286
+2287
+2288
+2289
+2290
+2291
+2292
+2293
+2294
+2295
+2296
+2297
+2298
+2299
+2300
+2301
+2302
+2303
+2304
+2305
+2306
+2307
+2308
+2309
+2310
+2311
+2312
+2313
+2314
+2315
+2316
+2317
+2318
+2319
+2320
+2321
+2322
+2323
+2324
+2325
+2326
+2327
+2328
+2329
+2330
+2331
+2332
+2333
+2334
+2335
+2336
+2337
+2338
+2339
+2340
+2341
+2342
+2343
+2344
+2345
+2346
+2347
+2348
+2349
+2350
+2351
+2352
+2353
+2354
+2355
+2356
+2357
+2358
+2359
+2360
+2361
+2362
+2363
+2364
+2365
+2366
+2367
+2368
+2369
+2370
+2371
+2372
+2373
+2374
+2375
+2376
+2377
+2378
+2379
+2380
+2381
+2382
+2383
+2384
+2385
+2386
+2387
+2388
+2389
+2390
+2391
+2392
+2393
+2394
+2395
+2396
+2397
+2398
+2399
+2400
+2401
+2402
+2403
+2404
+2405
+2406
+2407
+2408
+2409
+2410
+2411
+2412
+2413
+2414
+2415
+2416
+2417
+2418
+2419
+2420
+2421
+2422
+2423
+2424
+2425
+2426
+2427
+2428
+2429
+2430
+2431
+2432
+2433
+2434
+2435
+2436
+2437
+2438
+2439
+2440
+2441
+2442
+2443
+2444
+2445
+2446
+2447
+2448
+2449
+2450
+2451
+2452
+2453
+2454
+2455
+2456
+2457
+2458
+2459
+2460
+2461
+2462
+2463
+2464
+2465
+2466
+2467
+2468
+2469
+2470
+2471
+2472
+2473
+2474
+2475
+2476
+2477
+2478
+2479
+2480
+2481
+2482
+2483
+2484
+2485
+2486
+2487
+2488
+2489
+2490
+2491
+2492
+2493
+2494
+2495
+2496
+2497
+2498
+2499
+2500
+2501
+2502
+2503
+2504
+2505
+2506
+2507
+2508
+2509
+2510
+2511
+2512
+2513
+2514
+2515
+2516
+2517
+2518
+2519
+2520
+2521
+2522
+2523
+2524
+2525
+2526
+2527
+2528
+2529
+2530
+2531
+2532
+2533
+2534
+2535
+2536
+2537
+2538
+2539
+2540
+2541
+2542
+2543
+2544
+2545
+2546
+2547
+2548
+2549
+2550
+2551
+2552
+2553
+2554
+2555
+2556
+2557
+2558
+2559
+2560
+2561
+2562
+2563
+2564
+2565
+2566
+2567
+2568
+2569
+2570
+2571
+2572
+2573
+2574
+2575
+2576
+2577
+2578
+2579
+2580
+2581
+2582
+2583
+2584
+2585
+2586
+2587
+2588
+2589
+2590
+2591
+2592
+2593
+2594
+2595
+2596
+2597
+2598
+2599
+2600
+2601
+2602
+2603
+2604
+2605
+2606
+2607
+2608
+2609
+2610
+2611
+2612
+2613
+2614
+2615
+2616
+2617
+2618
+2619
+2620
+2621
+2622
+2623
+2624
+2625
+2626
+2627
+2628
+2629
+2630
+2631
+2632
+2633
+2634
+2635
+2636
+2637
+2638
+2639
+2640
+2641
+2642
+2643
+2644
+2645
+2646
+2647
+2648
+2649
+2650
+2651
+2652
+2653
+2654
+2655
+2656
+2657
+2658
+2659
+2660
+2661
+2662
+2663
+2664
+2665
+2666
+2667
+2668
+2669
+2670
+2671
+2672
+2673
+2674
+2675
+2676
+2677
+2678
+2679
+2680
+2681
+2682
+2683
+2684
+2685
+2686
+2687
+2688
+2689
+2690
+2691
+2692
+2693
+2694
+2695
+2696
+2697
+2698
+2699
+2700
+2701
+2702
+2703
+2704
+2705
+2706
+2707
+2708
+2709
+2710
+2711
+2712
+2713
+2714
+2715
+2716
+2717
def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-12T21:49:53.439642.
+
+    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])),
+    )
+    tmp10 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4))
+    tmp9 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1))
+    tmp8 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2))
+    tmp19 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 1, 3, 4), (3, 4, 0, 2))
+    rdm2.bbbb.vooo = np.copy(np.transpose(tmp19, (3, 2, 1, 0)))
+    rdm2.bbbb.vooo += np.transpose(tmp19, (3, 2, 1, 0))
+    rdm2.bbbb.ovoo = np.copy(np.transpose(tmp19, (2, 3, 1, 0))) * -1
+    rdm2.bbbb.ovoo += np.transpose(tmp19, (2, 3, 1, 0)) * -1
+    tmp14 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2))
+    rdm2.abab.vovv = einsum(tmp14, (0, 1, 2, 3), t2.abab, (0, 1, 4, 5), (3, 2, 4, 5)) * -1
+    rdm2.abab.vovo = einsum(tmp14, (0, 1, 2, 3), t1.aa, (0, 4), (3, 2, 4, 1)) * -1
+    rdm2.abab.vooo = np.copy(np.transpose(tmp14, (3, 2, 0, 1))) * -1
+    tmp2 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0))
+    tmp1 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0))
+    tmp0 = einsum(l1.aa, (0, 1), t1.aa, (2, 0), (1, 2))
+    tmp6 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 1, 3, 4), (3, 4, 0, 2))
+    rdm2.aaaa.vooo = np.copy(np.transpose(tmp6, (3, 2, 1, 0)))
+    rdm2.aaaa.vooo += np.transpose(tmp6, (3, 2, 1, 0))
+    rdm2.aaaa.ovoo = np.copy(np.transpose(tmp6, (2, 3, 1, 0))) * -1
+    rdm2.aaaa.ovoo += np.transpose(tmp6, (2, 3, 1, 0)) * -1
+    tmp27 = einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2))
+    rdm2.abab.ovvv = einsum(t2.abab, (0, 1, 2, 3), tmp27, (0, 4, 1, 5), (4, 5, 2, 3)) * -1
+    rdm2.abab.ovov = einsum(t1.bb, (0, 1), tmp27, (2, 3, 0, 4), (3, 4, 2, 1)) * -1
+    rdm2.abab.ovoo = np.copy(np.transpose(tmp27, (1, 3, 0, 2))) * -1
+    tmp88 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 5, 1), (5, 0, 4, 2))
+    rdm2.bbbb.vovo = np.copy(np.transpose(tmp88, (2, 1, 3, 0))) * -4
+    rdm2.bbbb.voov = np.copy(np.transpose(tmp88, (2, 1, 0, 3))) * 4
+    rdm2.bbbb.ovvo = np.copy(np.transpose(tmp88, (1, 2, 3, 0))) * 4
+    rdm2.bbbb.ovov = np.copy(np.transpose(tmp88, (1, 2, 0, 3))) * -4
+    tmp107 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5))
+    rdm2.bbbb.vovo += np.transpose(tmp107, (2, 1, 3, 0)) * -1
+    rdm2.bbbb.voov += np.transpose(tmp107, (2, 1, 0, 3))
+    rdm2.bbbb.ovvo += np.transpose(tmp107, (1, 2, 3, 0))
+    rdm2.bbbb.ovov += np.transpose(tmp107, (1, 2, 0, 3)) * -1
+    tmp69 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5))
+    rdm2.aaaa.vovo = np.copy(np.transpose(tmp69, (2, 1, 3, 0))) * -1
+    rdm2.aaaa.voov = np.copy(np.transpose(tmp69, (2, 1, 0, 3)))
+    rdm2.aaaa.ovvo = np.copy(np.transpose(tmp69, (1, 2, 3, 0)))
+    rdm2.aaaa.ovov = np.copy(np.transpose(tmp69, (1, 2, 0, 3))) * -1
+    tmp67 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 5, 1), (5, 0, 4, 2))
+    rdm2.aaaa.vovo += np.transpose(tmp67, (2, 1, 3, 0)) * -4
+    rdm2.aaaa.voov += np.transpose(tmp67, (2, 1, 0, 3)) * 4
+    rdm2.aaaa.ovvo += np.transpose(tmp67, (1, 2, 3, 0)) * 4
+    rdm2.aaaa.ovov += np.transpose(tmp67, (1, 2, 0, 3)) * -4
+    tmp17 = np.copy(tmp8)
+    tmp17 += tmp9
+    tmp17 += tmp10 * 2
+    rdm2.abab.oovv = einsum(t2.abab, (0, 1, 2, 3), tmp17, (1, 4), (0, 4, 2, 3)) * -1
+    rdm2.bbbb.oovo = einsum(t1.bb, (0, 1), tmp17, (2, 3), (0, 3, 1, 2)) * -1
+    rdm2.bbbb.oovo += einsum(t1.bb, (0, 1), tmp17, (2, 3), (3, 0, 1, 2))
+    rdm2.abab.oovo = einsum(t1.aa, (0, 1), tmp17, (2, 3), (0, 3, 1, 2)) * -1
+    rdm2.bbbb.ooov = einsum(t1.bb, (0, 1), tmp17, (2, 3), (0, 3, 2, 1))
+    rdm2.bbbb.ooov += einsum(t1.bb, (0, 1), tmp17, (2, 3), (3, 0, 2, 1)) * -1
+    rdm2.bbbb.oooo = einsum(delta.bb.oo, (0, 1), tmp17, (2, 3), (0, 3, 2, 1))
+    tmp51 = einsum(t2.bbbb, (0, 1, 2, 3), tmp19, (4, 1, 5, 3), (4, 5, 0, 2)) * -1
+    rdm2.bbbb.oovo += np.transpose(tmp51, (2, 1, 3, 0)) * -4
+    rdm2.bbbb.oovo += np.transpose(tmp51, (1, 2, 3, 0)) * 4
+    rdm2.bbbb.ooov += np.transpose(tmp51, (2, 1, 0, 3)) * 4
+    rdm2.bbbb.ooov += np.transpose(tmp51, (1, 2, 0, 3)) * -4
+    tmp50 = einsum(t2.abab, (0, 1, 2, 3), tmp14, (0, 4, 5, 2), (4, 5, 1, 3))
+    rdm2.bbbb.oovo += np.transpose(tmp50, (2, 1, 3, 0)) * -1
+    rdm2.bbbb.oovo += np.transpose(tmp50, (1, 2, 3, 0))
+    rdm2.bbbb.ooov += np.transpose(tmp50, (2, 1, 0, 3))
+    rdm2.bbbb.ooov += np.transpose(tmp50, (1, 2, 0, 3)) * -1
+    tmp18 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 5), (4, 5, 0, 1))
+    rdm2.bbbb.oooo += np.transpose(tmp18, (3, 2, 1, 0))
+    rdm2.bbbb.oooo += np.transpose(tmp18, (3, 2, 1, 0))
+    tmp20 = einsum(tmp19, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2))
+    rdm2.bbbb.oooo += np.transpose(tmp20, (2, 3, 1, 0)) * -1
+    rdm2.bbbb.oooo += np.transpose(tmp20, (2, 3, 1, 0)) * -1
+    tmp15 = einsum(t1.aa, (0, 1), tmp14, (2, 3, 4, 1), (2, 0, 3, 4))
+    rdm2.abab.oooo = np.copy(np.transpose(tmp15, (1, 3, 0, 2)))
+    tmp13 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5))
+    rdm2.abab.oooo += np.transpose(tmp13, (1, 3, 0, 2))
+    tmp4 = np.copy(tmp0) * 0.5
+    tmp4 += tmp1
+    tmp4 += tmp2 * 0.5
+    rdm2.aaaa.oooo = einsum(delta.aa.oo, (0, 1), tmp4, (2, 3), (0, 3, 2, 1)) * 2
+    rdm2.aaaa.oooo += einsum(tmp4, (0, 1), delta.aa.oo, (2, 3), (1, 2, 0, 3)) * -2
+    tmp7 = einsum(tmp6, (0, 1, 2, 3), t1.aa, (4, 3), (0, 1, 4, 2))
+    rdm2.aaaa.oooo += np.transpose(tmp7, (2, 3, 1, 0)) * -1
+    rdm2.aaaa.oooo += np.transpose(tmp7, (2, 3, 1, 0)) * -1
+    tmp5 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5))
+    rdm2.aaaa.oooo += np.transpose(tmp5, (3, 2, 1, 0))
+    rdm2.aaaa.oooo += np.transpose(tmp5, (3, 2, 1, 0))
+    tmp31 = einsum(t2.abab, (0, 1, 2, 3), tmp27, (4, 5, 1, 3), (4, 5, 0, 2))
+    rdm2.aaaa.oovo = np.copy(np.transpose(tmp31, (2, 1, 3, 0))) * -1
+    rdm2.aaaa.oovo += np.transpose(tmp31, (1, 2, 3, 0))
+    rdm2.aaaa.ooov = np.copy(np.transpose(tmp31, (2, 1, 0, 3)))
+    rdm2.aaaa.ooov += np.transpose(tmp31, (1, 2, 0, 3)) * -1
+    tmp32 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 2, 4, 5)) * -1
+    rdm2.aaaa.oovo += np.transpose(tmp32, (2, 1, 3, 0)) * -4
+    rdm2.aaaa.oovo += np.transpose(tmp32, (1, 2, 3, 0)) * 4
+    rdm2.aaaa.ooov += np.transpose(tmp32, (2, 1, 0, 3)) * 4
+    rdm2.aaaa.ooov += np.transpose(tmp32, (1, 2, 0, 3)) * -4
+    tmp108 = einsum(tmp19, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4))
+    rdm2.bbbb.vovo += np.transpose(tmp108, (2, 1, 3, 0)) * 2
+    rdm2.bbbb.voov += np.transpose(tmp108, (2, 1, 0, 3)) * -2
+    rdm2.bbbb.ovvo += np.transpose(tmp108, (1, 2, 3, 0)) * -2
+    rdm2.bbbb.ovov += np.transpose(tmp108, (1, 2, 0, 3)) * 2
+    tmp121 = np.copy(tmp107)
+    tmp121 += tmp88 * 4
+    tmp80 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4))
+    tmp79 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3))
+    tmp105 = einsum(t1.bb, (0, 1), l1.bb, (2, 0), (2, 1))
+    tmp62 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4))
+    tmp102 = einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp63 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 1), (4, 2))
+    tmp90 = einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (2, 4, 0, 5))
+    rdm2.abab.voov = np.copy(np.transpose(tmp90, (2, 1, 0, 3))) * 2
+    tmp92 = einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2))
+    rdm2.abab.voov += np.transpose(tmp92, (2, 1, 0, 3)) * 2
+    tmp104 = einsum(tmp6, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    rdm2.aaaa.vovo += np.transpose(tmp104, (2, 1, 3, 0)) * 2
+    rdm2.aaaa.voov += np.transpose(tmp104, (2, 1, 0, 3)) * -2
+    rdm2.aaaa.ovvo += np.transpose(tmp104, (1, 2, 3, 0)) * -2
+    rdm2.aaaa.ovov += np.transpose(tmp104, (1, 2, 0, 3)) * 2
+    tmp84 = np.copy(tmp67) * 4
+    tmp84 += tmp69
+    rdm2.abab.oovv += einsum(tmp84, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5))
+    tmp65 = einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (4, 2, 5, 0))
+    rdm2.abab.ovvo = np.copy(np.transpose(tmp65, (0, 3, 2, 1))) * 2
+    tmp82 = einsum(l2.abab, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 0), (4, 3, 5, 1))
+    rdm2.abab.ovvo += np.transpose(tmp82, (0, 3, 2, 1)) * 2
+    tmp39 = einsum(tmp14, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4))
+    tmp40 = einsum(t2.bbbb, (0, 1, 2, 3), tmp19, (1, 0, 4, 3), (4, 2))
+    tmp60 = einsum(t1.bb, (0, 1), tmp17, (0, 2), (2, 1)) * 0.5
+    tmp36 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2))
+    tmp35 = einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3))
+    tmp49 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 4), (4, 0, 1, 2))
+    rdm2.bbbb.oovo += np.transpose(tmp49, (2, 1, 3, 0)) * 2
+    rdm2.bbbb.ooov += np.transpose(tmp49, (2, 1, 0, 3)) * -2
+    tmp100 = np.copy(tmp50)
+    del tmp50
+    tmp100 += tmp51 * 4
+    del tmp51
+    tmp41 = einsum(t1.bb, (0, 1), tmp17, (0, 2), (2, 1))
+    tmp52 = np.copy(np.transpose(tmp18, (1, 0, 3, 2)))
+    del tmp18
+    tmp52 += np.transpose(tmp20, (0, 1, 3, 2)) * -1
+    del tmp20
+    tmp45 = np.copy(tmp13)
+    del tmp13
+    tmp45 += tmp15
+    del tmp15
+    rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp45, (0, 4, 1, 5), (4, 5, 2, 3))
+    rdm2.abab.oovo += einsum(t1.aa, (0, 1), tmp45, (0, 2, 3, 4), (2, 4, 1, 3))
+    tmp21 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3))
+    tmp22 = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3))
+    tmp43 = einsum(t2.abab, (0, 1, 2, 3), tmp6, (4, 0, 5, 2), (4, 5, 1, 3)) * -1
+    rdm2.abab.ooov = np.copy(np.transpose(tmp43, (1, 2, 0, 3))) * -2
+    tmp44 = einsum(t2.bbbb, (0, 1, 2, 3), tmp27, (4, 5, 1, 3), (4, 5, 0, 2))
+    rdm2.abab.ooov += np.transpose(tmp44, (1, 2, 0, 3)) * -2
+    tmp28 = einsum(t2.abab, (0, 1, 2, 3), tmp27, (0, 4, 1, 3), (4, 2))
+    tmp26 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (1, 0, 4, 3), (2, 4))
+    tmp29 = einsum(tmp4, (0, 1), t1.aa, (0, 2), (1, 2)) * 2
+    tmp58 = einsum(tmp19, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5)) * -1
+    rdm2.abab.oovo += np.transpose(tmp58, (0, 2, 3, 1)) * -2
+    tmp57 = einsum(tmp14, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5))
+    rdm2.abab.oovo += np.transpose(tmp57, (0, 2, 3, 1)) * -2
+    tmp12 = np.copy(tmp0)
+    tmp12 += tmp1 * 2
+    tmp12 += tmp2
+    rdm2.abab.oovv += einsum(tmp12, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1
+    rdm2.aaaa.oovo += einsum(t1.aa, (0, 1), tmp12, (2, 3), (0, 3, 1, 2)) * -1
+    rdm2.aaaa.oovo += einsum(tmp12, (0, 1), t1.aa, (2, 3), (1, 2, 3, 0))
+    rdm2.abab.ooov += einsum(tmp12, (0, 1), t1.bb, (2, 3), (1, 2, 0, 3)) * -1
+    rdm2.aaaa.ooov += einsum(t1.aa, (0, 1), tmp12, (2, 3), (0, 3, 2, 1))
+    rdm2.aaaa.ooov += einsum(tmp12, (0, 1), t1.aa, (2, 3), (1, 2, 0, 3)) * -1
+    rdm2.abab.oooo += einsum(tmp12, (0, 1), delta.bb.oo, (2, 3), (1, 2, 0, 3)) * -1
+    tmp33 = np.copy(np.transpose(tmp5, (1, 0, 3, 2)))
+    del tmp5
+    tmp33 += np.transpose(tmp7, (0, 1, 3, 2)) * -1
+    del tmp7
+    tmp77 = np.copy(tmp32) * 4
+    del tmp32
+    tmp77 += tmp31
+    del tmp31
+    tmp25 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (3, 4), (4, 0, 1, 2))
+    rdm2.aaaa.oovo += np.transpose(tmp25, (2, 1, 3, 0)) * 2
+    rdm2.aaaa.ooov += np.transpose(tmp25, (2, 1, 0, 3)) * -2
+    tmp54 = einsum(tmp4, (0, 1), t1.aa, (0, 2), (1, 2))
+    del tmp4
+    tmp130 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 1), (4, 5, 2, 3))
+    rdm2.bbbb.vvvv = np.copy(np.transpose(tmp130, (1, 0, 3, 2)))
+    rdm2.bbbb.vvvv += np.transpose(tmp130, (1, 0, 3, 2))
+    del tmp130
+    tmp128 = einsum(t1.bb, (0, 1), l2.bbbb, (2, 3, 4, 0), (4, 2, 3, 1))
+    rdm2.bbbb.vvvv += einsum(t1.bb, (0, 1), tmp128, (0, 2, 3, 4), (2, 3, 1, 4)) * 2
+    rdm2.bbbb.vvvo = np.copy(np.transpose(tmp128, (2, 1, 3, 0))) * 2
+    rdm2.bbbb.vvov = np.copy(np.transpose(tmp128, (2, 1, 0, 3))) * -2
+    del tmp128
+    tmp127 = einsum(t1.bb, (0, 1), l2.abab, (2, 3, 4, 0), (4, 2, 3, 1))
+    rdm2.abab.vvvv = einsum(tmp127, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3))
+    rdm2.abab.vvov = np.copy(np.transpose(tmp127, (1, 2, 0, 3)))
+    del tmp127
+    tmp126 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 2, 3, 1))
+    rdm2.aaaa.vvvv = einsum(t1.aa, (0, 1), tmp126, (0, 2, 3, 4), (2, 3, 1, 4)) * 2
+    rdm2.aaaa.vvvo = np.copy(np.transpose(tmp126, (2, 1, 3, 0))) * 2
+    rdm2.aaaa.vvov = np.copy(np.transpose(tmp126, (2, 1, 0, 3))) * -2
+    del tmp126
+    tmp129 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 1), (4, 5, 2, 3))
+    rdm2.aaaa.vvvv += np.transpose(tmp129, (1, 0, 3, 2))
+    rdm2.aaaa.vvvv += np.transpose(tmp129, (1, 0, 3, 2))
+    del tmp129
+    tmp124 = einsum(t1.bb, (0, 1), tmp108, (0, 2, 3, 4), (2, 3, 4, 1)) * -1
+    del tmp108
+    rdm2.bbbb.vovv = np.copy(np.transpose(tmp124, (1, 0, 3, 2))) * 2
+    rdm2.bbbb.ovvv = np.copy(np.transpose(tmp124, (0, 1, 3, 2))) * -2
+    del tmp124
+    tmp122 = einsum(t1.bb, (0, 1), tmp121, (0, 2, 3, 4), (2, 1, 3, 4))
+    del tmp121
+    rdm2.bbbb.vovv += np.transpose(tmp122, (2, 0, 3, 1)) * -1
+    rdm2.bbbb.vovv += np.transpose(tmp122, (2, 0, 1, 3))
+    rdm2.bbbb.ovvv += np.transpose(tmp122, (0, 2, 3, 1))
+    del tmp122
+    tmp118 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (4, 1), (0, 4, 2, 3))
+    rdm2.bbbb.vovv += np.transpose(tmp118, (1, 0, 3, 2))
+    rdm2.bbbb.vovv += np.transpose(tmp118, (1, 0, 3, 2))
+    rdm2.bbbb.ovvv += np.transpose(tmp118, (0, 1, 3, 2)) * -1
+    rdm2.bbbb.ovvv += np.transpose(tmp118, (0, 1, 3, 2)) * -1
+    del tmp118
+    tmp106 = np.copy(tmp105)
+    tmp106 += tmp79
+    tmp106 += tmp80 * 2
+    rdm2.bbbb.vovv += einsum(tmp106, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.bbbb.ovvv += einsum(tmp106, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1))
+    rdm2.abab.ovvv += einsum(t1.aa, (0, 1), tmp106, (2, 3), (0, 2, 1, 3))
+    rdm2.bbbb.vovo += einsum(tmp106, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3))
+    rdm2.bbbb.voov += einsum(tmp106, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.bbbb.ovvo += einsum(tmp106, (0, 1), delta.bb.oo, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.bbbb.ovov += einsum(tmp106, (0, 1), delta.bb.oo, (2, 3), (2, 0, 3, 1))
+    rdm2.abab.ovov += einsum(tmp106, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1))
+    del tmp106
+    tmp119 = np.copy(tmp105) * 0.5
+    del tmp105
+    tmp119 += tmp79 * 0.5
+    tmp119 += tmp80
+    rdm2.bbbb.vovv += einsum(t1.bb, (0, 1), tmp119, (2, 3), (2, 0, 3, 1)) * 2
+    rdm2.bbbb.ovvv += einsum(t1.bb, (0, 1), tmp119, (2, 3), (0, 2, 3, 1)) * -2
+    del tmp119
+    tmp123 = einsum(t2.bbbb, (0, 1, 2, 3), tmp19, (1, 0, 4, 5), (4, 5, 2, 3)) * -1
+    del tmp19
+    rdm2.bbbb.vovv += np.transpose(tmp123, (1, 0, 3, 2))
+    rdm2.bbbb.vovv += np.transpose(tmp123, (1, 0, 3, 2))
+    rdm2.bbbb.ovvv += np.transpose(tmp123, (0, 1, 3, 2)) * -1
+    rdm2.bbbb.ovvv += np.transpose(tmp123, (0, 1, 3, 2)) * -1
+    del tmp123
+    tmp103 = np.copy(tmp102)
+    tmp103 += tmp62 * 2
+    tmp103 += tmp63
+    rdm2.abab.vovv += einsum(t1.bb, (0, 1), tmp103, (2, 3), (2, 0, 3, 1))
+    rdm2.aaaa.vovv = einsum(tmp103, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.aaaa.ovvv = einsum(tmp103, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1))
+    rdm2.abab.vovo += einsum(tmp103, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3))
+    rdm2.aaaa.voov += einsum(tmp103, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.aaaa.ovov += einsum(tmp103, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1))
+    del tmp103
+    tmp125 = np.copy(tmp90)
+    tmp125 += tmp92
+    rdm2.abab.vovv += einsum(tmp125, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 4, 3)) * 2
+    del tmp125
+    tmp112 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5))
+    rdm2.abab.vovv += einsum(t1.bb, (0, 1), tmp112, (0, 2, 3, 4), (3, 2, 4, 1)) * -1
+    rdm2.abab.vovo += np.transpose(tmp112, (2, 1, 3, 0)) * -1
+    del tmp112
+    tmp111 = einsum(tmp14, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4))
+    rdm2.abab.vovv += einsum(tmp111, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 4, 3)) * -1
+    rdm2.abab.voov += np.transpose(tmp111, (2, 1, 0, 3)) * -1
+    del tmp111
+    tmp109 = np.copy(tmp102) * 0.5
+    del tmp102
+    tmp109 += tmp62
+    tmp109 += tmp63 * 0.5
+    rdm2.aaaa.vovv += einsum(t1.aa, (0, 1), tmp109, (2, 3), (2, 0, 3, 1)) * 2
+    rdm2.aaaa.ovvv += einsum(t1.aa, (0, 1), tmp109, (2, 3), (0, 2, 3, 1)) * -2
+    rdm2.aaaa.vovo += einsum(tmp109, (0, 1), delta.aa.oo, (2, 3), (0, 2, 1, 3)) * 2
+    rdm2.aaaa.ovvo += einsum(tmp109, (0, 1), delta.aa.oo, (2, 3), (2, 0, 1, 3)) * -2
+    del tmp109
+    tmp113 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4))
+    rdm2.aaaa.vovv += np.transpose(tmp113, (1, 0, 3, 2))
+    rdm2.aaaa.vovv += np.transpose(tmp113, (1, 0, 3, 2))
+    rdm2.aaaa.ovvv += np.transpose(tmp113, (0, 1, 3, 2)) * -1
+    rdm2.aaaa.ovvv += np.transpose(tmp113, (0, 1, 3, 2)) * -1
+    del tmp113
+    tmp117 = einsum(t1.aa, (0, 1), tmp104, (0, 2, 3, 4), (2, 3, 4, 1)) * -1
+    del tmp104
+    rdm2.aaaa.vovv += np.transpose(tmp117, (1, 0, 3, 2)) * 2
+    rdm2.aaaa.ovvv += np.transpose(tmp117, (0, 1, 3, 2)) * -2
+    del tmp117
+    tmp115 = einsum(tmp84, (0, 1, 2, 3), t1.aa, (0, 4), (1, 4, 2, 3))
+    del tmp84
+    rdm2.aaaa.vovv += np.transpose(tmp115, (2, 0, 3, 1)) * -1
+    rdm2.aaaa.vovv += np.transpose(tmp115, (2, 0, 1, 3))
+    rdm2.aaaa.ovvv += np.transpose(tmp115, (0, 2, 3, 1))
+    del tmp115
+    tmp116 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (1, 0, 4, 5), (2, 3, 4, 5)) * -1
+    del tmp6
+    rdm2.aaaa.vovv += np.transpose(tmp116, (1, 0, 3, 2))
+    rdm2.aaaa.vovv += np.transpose(tmp116, (1, 0, 3, 2))
+    rdm2.aaaa.ovvv += np.transpose(tmp116, (0, 1, 3, 2)) * -1
+    rdm2.aaaa.ovvv += np.transpose(tmp116, (0, 1, 3, 2)) * -1
+    del tmp116
+    tmp120 = np.copy(tmp107)
+    del tmp107
+    tmp120 += tmp88 * 4
+    rdm2.bbbb.ovvv += einsum(t1.bb, (0, 1), tmp120, (0, 2, 3, 4), (2, 3, 1, 4)) * -1
+    del tmp120
+    tmp85 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 5, 1), (5, 0, 4, 3))
+    rdm2.abab.ovvv += einsum(tmp85, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3)) * -1
+    rdm2.abab.ovov += np.transpose(tmp85, (1, 2, 0, 3)) * -1
+    rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp85, (0, 4, 3, 5), (4, 1, 2, 5))
+    del tmp85
+    tmp110 = einsum(t1.aa, (0, 1), tmp27, (0, 2, 3, 4), (2, 3, 1, 4))
+    rdm2.abab.ovvv += einsum(t1.bb, (0, 1), tmp110, (2, 0, 3, 4), (2, 4, 3, 1)) * -1
+    rdm2.abab.ovvo += np.transpose(tmp110, (0, 3, 2, 1)) * -1
+    del tmp110
+    tmp83 = np.copy(tmp82)
+    del tmp82
+    tmp83 += tmp65
+    rdm2.abab.ovvv += einsum(t1.bb, (0, 1), tmp83, (2, 0, 3, 4), (2, 4, 3, 1)) * 2
+    rdm2.abab.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp83, (4, 1, 5, 3), (4, 0, 5, 2)) * 4
+    del tmp83
+    tmp114 = np.copy(tmp67)
+    tmp114 += tmp69 * 0.25
+    rdm2.aaaa.ovvv += einsum(t1.aa, (0, 1), tmp114, (0, 2, 3, 4), (2, 3, 1, 4)) * -4
+    del tmp114
+    tmp61 = np.copy(tmp39) * 0.5
+    tmp61 += tmp40
+    tmp61 += tmp60
+    del tmp60
+    rdm2.bbbb.oovv = einsum(t1.bb, (0, 1), tmp61, (2, 3), (2, 0, 1, 3)) * 2
+    rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp61, (2, 3), (0, 2, 1, 3)) * -2
+    rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp61, (2, 3), (0, 2, 1, 3)) * -2
+    rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp61, (2, 3), (2, 0, 3, 1)) * -2
+    del tmp61
+    tmp37 = np.copy(t1.bb)
+    tmp37 += tmp35
+    tmp37 += tmp36 * 2
+    rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp37, (2, 3), (0, 2, 1, 3))
+    rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp37, (2, 3), (0, 2, 1, 3))
+    rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp37, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp37, (2, 3), (0, 2, 1, 3))
+    rdm2.abab.ooov += einsum(delta.aa.oo, (0, 1), tmp37, (2, 3), (0, 2, 1, 3))
+    del tmp37
+    tmp81 = np.copy(tmp79) * 0.5
+    tmp81 += tmp80
+    rdm2.bbbb.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp81, (3, 4), (0, 1, 2, 4)) * -4
+    rdm2.abab.oovv += einsum(tmp81, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -2
+    del tmp81
+    tmp95 = einsum(tmp49, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3))
+    del tmp49
+    rdm2.bbbb.oovv += np.transpose(tmp95, (0, 1, 3, 2)) * -2
+    rdm2.bbbb.oovv += tmp95 * 2
+    del tmp95
+    tmp101 = einsum(tmp100, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3))
+    del tmp100
+    rdm2.bbbb.oovv += np.transpose(tmp101, (0, 1, 3, 2))
+    rdm2.bbbb.oovv += np.transpose(tmp101, (1, 0, 3, 2)) * -1
+    rdm2.bbbb.oovv += tmp101 * -1
+    rdm2.bbbb.oovv += np.transpose(tmp101, (1, 0, 2, 3))
+    del tmp101
+    tmp94 = np.copy(tmp35)
+    tmp94 += tmp36 * 2
+    rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp94, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp94, (2, 3), (2, 0, 3, 1))
+    del tmp94
+    tmp42 = np.copy(tmp39)
+    del tmp39
+    tmp42 += tmp40 * 2
+    del tmp40
+    tmp42 += tmp41
+    del tmp41
+    rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp42, (2, 3), (2, 0, 3, 1)) * -1
+    rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp42, (2, 3), (0, 2, 3, 1))
+    rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp42, (2, 3), (0, 2, 3, 1))
+    rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp42, (2, 3), (0, 2, 1, 3)) * -1
+    rdm2.bbbb.ooov += einsum(tmp42, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1))
+    rdm2.abab.ooov += einsum(tmp42, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1)) * -1
+    del tmp42
+    tmp98 = einsum(t2.bbbb, (0, 1, 2, 3), tmp52, (0, 1, 4, 5), (4, 5, 2, 3))
+    rdm2.bbbb.oovv += np.transpose(tmp98, (1, 0, 3, 2))
+    rdm2.bbbb.oovv += np.transpose(tmp98, (1, 0, 3, 2))
+    del tmp98
+    tmp48 = np.copy(t1.bb)
+    tmp48 += tmp35
+    del tmp35
+    tmp48 += tmp36 * 2
+    del tmp36
+    rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp48, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.bbbb.oovo += einsum(tmp48, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3))
+    rdm2.bbbb.ooov += einsum(tmp48, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) * -1
+    del tmp48
+    tmp96 = np.copy(tmp79)
+    del tmp79
+    tmp96 += tmp80 * 2
+    del tmp80
+    rdm2.bbbb.oovv += einsum(tmp96, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * 2
+    del tmp96
+    tmp89 = einsum(t2.bbbb, (0, 1, 2, 3), tmp88, (1, 4, 3, 5), (0, 4, 2, 5))
+    del tmp88
+    rdm2.bbbb.oovv += tmp89 * 8
+    rdm2.bbbb.oovv += np.transpose(tmp89, (0, 1, 3, 2)) * -8
+    del tmp89
+    tmp97 = einsum(tmp17, (0, 1), t2.bbbb, (2, 0, 3, 4), (2, 1, 3, 4)) * -1
+    del tmp17
+    rdm2.bbbb.oovv += np.transpose(tmp97, (1, 0, 3, 2))
+    rdm2.bbbb.oovv += np.transpose(tmp97, (1, 0, 3, 2))
+    rdm2.bbbb.oovv += np.transpose(tmp97, (0, 1, 3, 2)) * -1
+    rdm2.bbbb.oovv += np.transpose(tmp97, (0, 1, 3, 2)) * -1
+    del tmp97
+    tmp91 = einsum(tmp90, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5))
+    del tmp90
+    rdm2.bbbb.oovv += np.transpose(tmp91, (1, 0, 3, 2)) * 2
+    rdm2.bbbb.oovv += np.transpose(tmp91, (0, 1, 3, 2)) * -2
+    del tmp91
+    tmp93 = einsum(tmp92, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3))
+    del tmp92
+    rdm2.bbbb.oovv += np.transpose(tmp93, (1, 0, 3, 2)) * 2
+    rdm2.bbbb.oovv += tmp93 * 2
+    rdm2.bbbb.oovv += np.transpose(tmp93, (1, 0, 2, 3)) * -2
+    rdm2.bbbb.oovv += np.transpose(tmp93, (0, 1, 3, 2)) * -2
+    del tmp93
+    tmp99 = einsum(tmp52, (0, 1, 2, 3), t1.bb, (0, 4), (1, 3, 2, 4))
+    rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp99, (0, 2, 3, 4), (2, 3, 1, 4)) * 2
+    del tmp99
+    tmp46 = einsum(tmp45, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4))
+    del tmp45
+    rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp46, (0, 2, 3, 4), (2, 3, 1, 4))
+    rdm2.abab.ooov += np.transpose(tmp46, (1, 2, 0, 3))
+    del tmp46
+    tmp47 = einsum(tmp14, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (0, 4, 2, 5))
+    del tmp14
+    rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp47, (0, 2, 3, 4), (2, 3, 1, 4))
+    rdm2.abab.ooov += np.transpose(tmp47, (1, 2, 0, 3))
+    del tmp47
+    tmp59 = einsum(tmp27, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 2, 4, 5))
+    del tmp27
+    rdm2.abab.oovv += einsum(tmp59, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4))
+    rdm2.abab.oovo += np.transpose(tmp59, (0, 2, 3, 1))
+    del tmp59
+    tmp56 = einsum(t2.abab, (0, 1, 2, 3), l1.bb, (3, 4), (0, 4, 1, 2))
+    rdm2.abab.oovv += einsum(tmp56, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4)) * -1
+    rdm2.abab.oovo += np.transpose(tmp56, (0, 2, 3, 1)) * -1
+    del tmp56
+    tmp71 = np.copy(tmp21) * 2
+    tmp71 += tmp22
+    rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp71, (2, 3), (2, 0, 3, 1))
+    rdm2.aaaa.oovv = einsum(tmp71, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp71, (2, 3), (2, 0, 3, 1))
+    del tmp71
+    tmp86 = np.copy(tmp43)
+    del tmp43
+    tmp86 += tmp44
+    del tmp44
+    rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp86, (0, 2, 3, 4), (2, 3, 1, 4)) * -2
+    del tmp86
+    tmp73 = np.copy(tmp62) * 2
+    tmp73 += tmp63
+    rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp73, (2, 4), (0, 1, 4, 3)) * -1
+    rdm2.aaaa.oovv += einsum(tmp73, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 1, 4)) * 2
+    del tmp73
+    tmp30 = np.copy(tmp26) * 2
+    tmp30 += tmp28
+    tmp30 += tmp29
+    del tmp29
+    rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp30, (2, 3), (2, 0, 3, 1)) * -1
+    rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp30, (2, 3), (2, 0, 3, 1)) * -1
+    rdm2.aaaa.oovv += einsum(tmp30, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3))
+    rdm2.abab.oovo += einsum(tmp30, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) * -1
+    rdm2.aaaa.ooov += einsum(tmp30, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1)) * -1
+    rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp30, (2, 3), (2, 0, 1, 3))
+    del tmp30
+    tmp38 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 4), (4, 0, 1, 3))
+    rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp38, (0, 2, 3, 4), (2, 3, 1, 4)) * -1
+    rdm2.abab.ooov += np.transpose(tmp38, (1, 2, 0, 3)) * -1
+    del tmp38
+    tmp87 = np.copy(tmp57)
+    del tmp57
+    tmp87 += tmp58
+    del tmp58
+    rdm2.abab.oovv += einsum(tmp87, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4)) * -2
+    del tmp87
+    tmp64 = np.copy(tmp62)
+    del tmp62
+    tmp64 += tmp63 * 0.5
+    del tmp63
+    rdm2.aaaa.oovv += einsum(tmp64, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -4
+    del tmp64
+    tmp70 = einsum(t2.aaaa, (0, 1, 2, 3), tmp69, (1, 4, 3, 5), (0, 4, 2, 5))
+    del tmp69
+    rdm2.aaaa.oovv += np.transpose(tmp70, (1, 0, 3, 2)) * 2
+    rdm2.aaaa.oovv += tmp70 * 2
+    rdm2.aaaa.oovv += np.transpose(tmp70, (1, 0, 2, 3)) * -2
+    rdm2.aaaa.oovv += np.transpose(tmp70, (0, 1, 3, 2)) * -2
+    del tmp70
+    tmp66 = einsum(tmp65, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp65
+    rdm2.aaaa.oovv += tmp66 * 2
+    rdm2.aaaa.oovv += np.transpose(tmp66, (0, 1, 3, 2)) * -2
+    del tmp66
+    tmp74 = einsum(tmp12, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4)) * -1
+    del tmp12
+    rdm2.aaaa.oovv += np.transpose(tmp74, (0, 1, 3, 2))
+    rdm2.aaaa.oovv += np.transpose(tmp74, (0, 1, 3, 2))
+    rdm2.aaaa.oovv += np.transpose(tmp74, (1, 0, 3, 2)) * -1
+    rdm2.aaaa.oovv += np.transpose(tmp74, (1, 0, 3, 2)) * -1
+    del tmp74
+    tmp76 = einsum(tmp33, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 2, 4))
+    rdm2.aaaa.oovv += einsum(tmp76, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3)) * 2
+    del tmp76
+    tmp78 = einsum(tmp77, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3))
+    del tmp77
+    rdm2.aaaa.oovv += np.transpose(tmp78, (0, 1, 3, 2))
+    rdm2.aaaa.oovv += np.transpose(tmp78, (1, 0, 3, 2)) * -1
+    rdm2.aaaa.oovv += tmp78 * -1
+    rdm2.aaaa.oovv += np.transpose(tmp78, (1, 0, 2, 3))
+    del tmp78
+    tmp24 = np.copy(t1.aa)
+    tmp24 += tmp21 * 2
+    tmp24 += tmp22
+    rdm2.aaaa.oovv += einsum(tmp24, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1))
+    rdm2.aaaa.oovo += einsum(tmp24, (0, 1), delta.aa.oo, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.aaaa.ooov += einsum(tmp24, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1))
+    del tmp24
+    tmp68 = einsum(t2.aaaa, (0, 1, 2, 3), tmp67, (1, 4, 3, 5), (0, 4, 2, 5))
+    del tmp67
+    rdm2.aaaa.oovv += tmp68 * 8
+    rdm2.aaaa.oovv += np.transpose(tmp68, (0, 1, 3, 2)) * -8
+    del tmp68
+    tmp23 = np.copy(t1.aa)
+    tmp23 += tmp21 * 2
+    del tmp21
+    tmp23 += tmp22
+    del tmp22
+    rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp23, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.abab.oovo += einsum(tmp23, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3))
+    rdm2.aaaa.oovo += einsum(tmp23, (0, 1), delta.aa.oo, (2, 3), (0, 2, 1, 3))
+    rdm2.aaaa.ooov += einsum(tmp23, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * -1
+    del tmp23
+    tmp75 = einsum(t2.aaaa, (0, 1, 2, 3), tmp33, (0, 1, 4, 5), (4, 5, 2, 3))
+    rdm2.aaaa.oovv += np.transpose(tmp75, (1, 0, 3, 2))
+    rdm2.aaaa.oovv += np.transpose(tmp75, (1, 0, 3, 2))
+    del tmp75
+    tmp72 = einsum(tmp25, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3))
+    del tmp25
+    rdm2.aaaa.oovv += np.transpose(tmp72, (0, 1, 3, 2)) * -2
+    rdm2.aaaa.oovv += tmp72 * 2
+    del tmp72
+    tmp55 = np.copy(tmp26)
+    del tmp26
+    tmp55 += tmp28 * 0.5
+    del tmp28
+    tmp55 += tmp54
+    del tmp54
+    rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp55, (2, 3), (2, 0, 1, 3)) * 2
+    rdm2.aaaa.oovv += einsum(tmp55, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) * -2
+    rdm2.aaaa.oovo += einsum(tmp55, (0, 1), delta.aa.oo, (2, 3), (2, 0, 1, 3)) * 2
+    rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp55, (2, 3), (2, 0, 3, 1)) * -2
+    del tmp55
+    tmp53 = einsum(tmp52, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4)) * 2
+    del tmp52
+    rdm2.bbbb.oovo += np.transpose(tmp53, (2, 1, 3, 0)) * -1
+    rdm2.bbbb.ooov += np.transpose(tmp53, (2, 1, 0, 3))
+    del tmp53
+    tmp34 = einsum(t1.aa, (0, 1), tmp33, (0, 2, 3, 4), (2, 3, 4, 1)) * 2
+    del tmp33
+    rdm2.aaaa.oovo += np.transpose(tmp34, (2, 1, 3, 0)) * -1
+    rdm2.aaaa.ooov += np.transpose(tmp34, (2, 1, 0, 3))
+    del tmp34
+    tmp16 = np.copy(tmp8) * 0.5
+    tmp16 += tmp9 * 0.5
+    tmp16 += tmp10
+    rdm2.bbbb.oooo += einsum(tmp16, (0, 1), delta.bb.oo, (2, 3), (1, 2, 0, 3)) * -2
+    del tmp16
+    tmp11 = np.copy(delta.bb.oo) * -1
+    tmp11 += tmp8
+    del tmp8
+    tmp11 += tmp9
+    del tmp9
+    tmp11 += tmp10 * 2
+    del tmp10
+    rdm2.bbbb.oooo += einsum(tmp11, (0, 1), delta.bb.oo, (2, 3), (1, 2, 3, 0))
+    rdm2.bbbb.oooo += einsum(tmp11, (0, 1), delta.bb.oo, (2, 3), (2, 1, 3, 0)) * -1
+    rdm2.abab.oooo += einsum(tmp11, (0, 1), delta.aa.oo, (2, 3), (2, 1, 3, 0)) * -1
+    del tmp11
+    tmp3 = np.copy(delta.aa.oo) * -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, 0, 1, 2))
+    rdm2.aaaa.oooo += einsum(tmp3, (0, 1), delta.aa.oo, (2, 3), (2, 1, 3, 0)) * -1
+    del tmp3
+    rdm2.aaaa.ovoo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.aaaa.ovoo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1))
+    rdm2.abab.ovoo += einsum(l1.bb, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1))
+    rdm2.bbbb.ovoo += einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.bbbb.ovoo += einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (2, 0, 3, 1))
+    rdm2.aaaa.vooo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (0, 2, 1, 3))
+    rdm2.aaaa.vooo += einsum(l1.aa, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.abab.vooo += einsum(l1.aa, (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, 3, 1))
+    rdm2.bbbb.vooo += einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) * -1
+    del delta
+    rdm2.aaaa.oovv += t2.aaaa
+    rdm2.aaaa.oovv += t2.aaaa
+    rdm2.abab.oovv += t2.abab
+    rdm2.bbbb.oovv += t2.bbbb
+    rdm2.bbbb.oovv += t2.bbbb
+    rdm2.aaaa.ovov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.bbbb.ovov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.aaaa.ovvo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1))
+    rdm2.abab.ovvo += einsum(l1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1))
+    rdm2.bbbb.ovvo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3))
+    rdm2.aaaa.voov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3))
+    rdm2.abab.voov += einsum(l1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3))
+    rdm2.bbbb.voov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1))
+    rdm2.aaaa.vovo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.bbbb.vovo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.aaaa.vvoo = np.copy(l2.aaaa)
+    rdm2.aaaa.vvoo += l2.aaaa
+    rdm2.abab.vvoo = np.copy(l2.abab)
+    rdm2.bbbb.vvoo = np.copy(l2.bbbb)
+    rdm2.bbbb.vvoo += l2.bbbb
+    rdm2.abab.ovvv += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4))
+    rdm2.abab.vovv += einsum(t2.abab, (0, 1, 2, 3), l1.aa, (4, 0), (4, 1, 2, 3))
+    rdm2.abab.vvvo = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    rdm2.abab.vvvv += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 5, 0, 1), (4, 5, 2, 3))
+    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
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCSD.hbar_matvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-12T21:52:03.669123.

+

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

+

tmp1 : array +tmp100 : array +tmp101 : array +tmp102 : array +tmp104 : array +tmp106 : array +tmp108 : array +tmp11 : array +tmp110 : array +tmp112 : array +tmp114 : array +tmp116 : array +tmp118 : array +tmp12 : array +tmp120 : array +tmp122 : array +tmp124 : array +tmp125 : array +tmp126 : array +tmp127 : array +tmp128 : array +tmp129 : array +tmp13 : array +tmp130 : array +tmp131 : array +tmp132 : array +tmp139 : array +tmp145 : array +tmp147 : array +tmp149 : array +tmp15 : array +tmp152 : array +tmp155 : array +tmp156 : array +tmp158 : array +tmp16 : array +tmp162 : array +tmp163 : array +tmp164 : array +tmp166 : array +tmp168 : array +tmp170 : array +tmp171 : array +tmp172 : array +tmp174 : array +tmp18 : array +tmp185 : array +tmp186 : array +tmp187 : array +tmp189 : array +tmp190 : array +tmp192 : array +tmp194 : array +tmp197 : array +tmp199 : array +tmp20 : array +tmp200 : array +tmp201 : array +tmp209 : array +tmp214 : array +tmp217 : array +tmp22 : array +tmp222 : array +tmp223 : array +tmp224 : array +tmp229 : array +tmp230 : array +tmp232 : array +tmp233 : array +tmp237 : array +tmp238 : array +tmp239 : array +tmp24 : array +tmp241 : array +tmp243 : array +tmp244 : array +tmp248 : array +tmp249 : array +tmp25 : array +tmp255 : array +tmp256 : array +tmp257 : array +tmp258 : array +tmp259 : array +tmp26 : array +tmp262 : array +tmp264 : array +tmp265 : array +tmp267 : array +tmp269 : array +tmp270 : array +tmp271 : array +tmp273 : array +tmp275 : array +tmp277 : array +tmp279 : array +tmp28 : array +tmp281 : array +tmp283 : array +tmp284 : array +tmp285 : array +tmp286 : array +tmp287 : array +tmp288 : array +tmp289 : array +tmp290 : array +tmp292 : array +tmp297 : array +tmp298 : array +tmp299 : array +tmp300 : array +tmp302 : array +tmp304 : array +tmp307 : array +tmp308 : array +tmp309 : array +tmp31 : array +tmp310 : array +tmp311 : array +tmp312 : array +tmp316 : array +tmp317 : array +tmp318 : array +tmp319 : array +tmp32 : array +tmp321 : array +tmp322 : array +tmp323 : array +tmp324 : array +tmp325 : array +tmp326 : array +tmp328 : array +tmp329 : array +tmp33 : array +tmp333 : array +tmp334 : array +tmp335 : array +tmp337 : array +tmp339 : array +tmp340 : array +tmp344 : array +tmp345 : array +tmp346 : array +tmp347 : array +tmp348 : array +tmp349 : array +tmp354 : array +tmp355 : array +tmp356 : array +tmp367 : array +tmp369 : array +tmp37 : array +tmp371 : array +tmp373 : array +tmp375 : array +tmp377 : array +tmp383 : array +tmp39 : array +tmp394 : array +tmp396 : array +tmp398 : array +tmp4 : array +tmp41 : array +tmp414 : array +tmp418 : array +tmp420 : array +tmp422 : array +tmp427 : array +tmp429 : array +tmp43 : array +tmp433 : array +tmp435 : array +tmp437 : array +tmp439 : array +tmp441 : array +tmp45 : array +tmp46 : array +tmp47 : array +tmp49 : array +tmp5 : array +tmp53 : array +tmp55 : array +tmp57 : array +tmp59 : array +tmp6 : array +tmp61 : array +tmp63 : array +tmp65 : array +tmp66 : array +tmp67 : array +tmp68 : array +tmp69 : array +tmp7 : array +tmp70 : array +tmp72 : array +tmp74 : array +tmp76 : array +tmp78 : array +tmp80 : array +tmp83 : array +tmp86 : array +tmp87 : array +tmp89 : array +tmp9 : array

+ +
+ Source code in ebcc/codegen/UCCSD.py +
2719
+2720
+2721
+2722
+2723
+2724
+2725
+2726
+2727
+2728
+2729
+2730
+2731
+2732
+2733
+2734
+2735
+2736
+2737
+2738
+2739
+2740
+2741
+2742
+2743
+2744
+2745
+2746
+2747
+2748
+2749
+2750
+2751
+2752
+2753
+2754
+2755
+2756
+2757
+2758
+2759
+2760
+2761
+2762
+2763
+2764
+2765
+2766
+2767
+2768
+2769
+2770
+2771
+2772
+2773
+2774
+2775
+2776
+2777
+2778
+2779
+2780
+2781
+2782
+2783
+2784
+2785
+2786
+2787
+2788
+2789
+2790
+2791
+2792
+2793
+2794
+2795
+2796
+2797
+2798
+2799
+2800
+2801
+2802
+2803
+2804
+2805
+2806
+2807
+2808
+2809
+2810
+2811
+2812
+2813
+2814
+2815
+2816
+2817
+2818
+2819
+2820
+2821
+2822
+2823
+2824
+2825
+2826
+2827
+2828
+2829
+2830
+2831
+2832
+2833
+2834
+2835
+2836
+2837
+2838
+2839
+2840
+2841
+2842
+2843
+2844
+2845
+2846
+2847
+2848
+2849
+2850
+2851
+2852
+2853
+2854
+2855
+2856
+2857
+2858
+2859
+2860
+2861
+2862
+2863
+2864
+2865
+2866
+2867
+2868
+2869
+2870
+2871
+2872
+2873
+2874
+2875
+2876
+2877
+2878
+2879
+2880
+2881
+2882
+2883
+2884
+2885
+2886
+2887
+2888
+2889
+2890
+2891
+2892
+2893
+2894
+2895
+2896
+2897
+2898
+2899
+2900
+2901
+2902
+2903
+2904
+2905
+2906
+2907
+2908
+2909
+2910
+2911
+2912
+2913
+2914
+2915
+2916
+2917
+2918
+2919
+2920
+2921
+2922
+2923
+2924
+2925
+2926
+2927
+2928
+2929
+2930
+2931
+2932
+2933
+2934
+2935
+2936
+2937
+2938
+2939
+2940
+2941
+2942
+2943
+2944
+2945
+2946
+2947
+2948
+2949
+2950
+2951
+2952
+2953
+2954
+2955
+2956
+2957
+2958
+2959
+2960
+2961
+2962
+2963
+2964
+2965
+2966
+2967
+2968
+2969
+2970
+2971
+2972
+2973
+2974
+2975
+2976
+2977
+2978
+2979
+2980
+2981
+2982
+2983
+2984
+2985
+2986
+2987
+2988
+2989
+2990
+2991
+2992
+2993
+2994
+2995
+2996
+2997
+2998
+2999
+3000
+3001
+3002
+3003
+3004
+3005
+3006
+3007
+3008
+3009
+3010
+3011
+3012
+3013
+3014
+3015
+3016
+3017
+3018
+3019
+3020
+3021
+3022
+3023
+3024
+3025
+3026
+3027
+3028
+3029
+3030
+3031
+3032
+3033
+3034
+3035
+3036
+3037
+3038
+3039
+3040
+3041
+3042
+3043
+3044
+3045
+3046
+3047
+3048
+3049
+3050
+3051
+3052
+3053
+3054
+3055
+3056
+3057
+3058
+3059
+3060
+3061
+3062
+3063
+3064
+3065
+3066
+3067
+3068
+3069
+3070
+3071
+3072
+3073
+3074
+3075
+3076
+3077
+3078
+3079
+3080
+3081
+3082
+3083
+3084
+3085
+3086
+3087
+3088
+3089
+3090
+3091
+3092
+3093
+3094
+3095
+3096
+3097
+3098
+3099
+3100
+3101
+3102
+3103
+3104
+3105
+3106
+3107
+3108
+3109
+3110
+3111
+3112
+3113
+3114
+3115
+3116
+3117
+3118
+3119
+3120
+3121
+3122
+3123
+3124
+3125
+3126
+3127
+3128
+3129
+3130
+3131
+3132
+3133
+3134
+3135
+3136
+3137
+3138
+3139
+3140
+3141
+3142
+3143
+3144
+3145
+3146
+3147
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:52:03.669123.
+
+    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
+    -------
+    tmp1 : array
+    tmp100 : array
+    tmp101 : array
+    tmp102 : array
+    tmp104 : array
+    tmp106 : array
+    tmp108 : array
+    tmp11 : array
+    tmp110 : array
+    tmp112 : array
+    tmp114 : array
+    tmp116 : array
+    tmp118 : array
+    tmp12 : array
+    tmp120 : array
+    tmp122 : array
+    tmp124 : array
+    tmp125 : array
+    tmp126 : array
+    tmp127 : array
+    tmp128 : array
+    tmp129 : array
+    tmp13 : array
+    tmp130 : array
+    tmp131 : array
+    tmp132 : array
+    tmp139 : array
+    tmp145 : array
+    tmp147 : array
+    tmp149 : array
+    tmp15 : array
+    tmp152 : array
+    tmp155 : array
+    tmp156 : array
+    tmp158 : array
+    tmp16 : array
+    tmp162 : array
+    tmp163 : array
+    tmp164 : array
+    tmp166 : array
+    tmp168 : array
+    tmp170 : array
+    tmp171 : array
+    tmp172 : array
+    tmp174 : array
+    tmp18 : array
+    tmp185 : array
+    tmp186 : array
+    tmp187 : array
+    tmp189 : array
+    tmp190 : array
+    tmp192 : array
+    tmp194 : array
+    tmp197 : array
+    tmp199 : array
+    tmp20 : array
+    tmp200 : array
+    tmp201 : array
+    tmp209 : array
+    tmp214 : array
+    tmp217 : array
+    tmp22 : array
+    tmp222 : array
+    tmp223 : array
+    tmp224 : array
+    tmp229 : array
+    tmp230 : array
+    tmp232 : array
+    tmp233 : array
+    tmp237 : array
+    tmp238 : array
+    tmp239 : array
+    tmp24 : array
+    tmp241 : array
+    tmp243 : array
+    tmp244 : array
+    tmp248 : array
+    tmp249 : array
+    tmp25 : array
+    tmp255 : array
+    tmp256 : array
+    tmp257 : array
+    tmp258 : array
+    tmp259 : array
+    tmp26 : array
+    tmp262 : array
+    tmp264 : array
+    tmp265 : array
+    tmp267 : array
+    tmp269 : array
+    tmp270 : array
+    tmp271 : array
+    tmp273 : array
+    tmp275 : array
+    tmp277 : array
+    tmp279 : array
+    tmp28 : array
+    tmp281 : array
+    tmp283 : array
+    tmp284 : array
+    tmp285 : array
+    tmp286 : array
+    tmp287 : array
+    tmp288 : array
+    tmp289 : array
+    tmp290 : array
+    tmp292 : array
+    tmp297 : array
+    tmp298 : array
+    tmp299 : array
+    tmp300 : array
+    tmp302 : array
+    tmp304 : array
+    tmp307 : array
+    tmp308 : array
+    tmp309 : array
+    tmp31 : array
+    tmp310 : array
+    tmp311 : array
+    tmp312 : array
+    tmp316 : array
+    tmp317 : array
+    tmp318 : array
+    tmp319 : array
+    tmp32 : array
+    tmp321 : array
+    tmp322 : array
+    tmp323 : array
+    tmp324 : array
+    tmp325 : array
+    tmp326 : array
+    tmp328 : array
+    tmp329 : array
+    tmp33 : array
+    tmp333 : array
+    tmp334 : array
+    tmp335 : array
+    tmp337 : array
+    tmp339 : array
+    tmp340 : array
+    tmp344 : array
+    tmp345 : array
+    tmp346 : array
+    tmp347 : array
+    tmp348 : array
+    tmp349 : array
+    tmp354 : array
+    tmp355 : array
+    tmp356 : array
+    tmp367 : array
+    tmp369 : array
+    tmp37 : array
+    tmp371 : array
+    tmp373 : array
+    tmp375 : array
+    tmp377 : array
+    tmp383 : array
+    tmp39 : array
+    tmp394 : array
+    tmp396 : array
+    tmp398 : array
+    tmp4 : array
+    tmp41 : array
+    tmp414 : array
+    tmp418 : array
+    tmp420 : array
+    tmp422 : array
+    tmp427 : array
+    tmp429 : array
+    tmp43 : array
+    tmp433 : array
+    tmp435 : array
+    tmp437 : array
+    tmp439 : array
+    tmp441 : array
+    tmp45 : array
+    tmp46 : array
+    tmp47 : array
+    tmp49 : array
+    tmp5 : array
+    tmp53 : array
+    tmp55 : array
+    tmp57 : array
+    tmp59 : array
+    tmp6 : array
+    tmp61 : array
+    tmp63 : array
+    tmp65 : array
+    tmp66 : array
+    tmp67 : array
+    tmp68 : array
+    tmp69 : array
+    tmp7 : array
+    tmp70 : array
+    tmp72 : array
+    tmp74 : array
+    tmp76 : array
+    tmp78 : array
+    tmp80 : array
+    tmp83 : array
+    tmp86 : array
+    tmp87 : array
+    tmp89 : array
+    tmp9 : array
+    """
+
+    tmp1 = einsum(t1.aa, (0, 1), f.aa.ov, (2, 1), (2, 0))
+    tmp152 = einsum(t1.aa, (0, 1), tmp1, (0, 2), (2, 1))
+    tmp4 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (1, 3), (0, 2))
+    tmp130 = einsum(t1.aa, (0, 1), tmp4, (2, 0), (2, 1))
+    tmp5 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1))
+    tmp131 = einsum(t1.aa, (0, 1), tmp5, (2, 0), (2, 1))
+    tmp6 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp132 = einsum(t1.aa, (0, 1), tmp6, (2, 0), (2, 1))
+    tmp7 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 1, 0, 3), (2, 3))
+    tmp307 = einsum(tmp7, (0, 1), t2.abab, (2, 3, 1, 4), (2, 0, 3, 4))
+    tmp284 = einsum(tmp7, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp145 = einsum(tmp7, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp124 = einsum(tmp7, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp24 = einsum(t1.aa, (0, 1), tmp7, (2, 1), (0, 2))
+    tmp185 = einsum(t1.aa, (0, 1), tmp24, (2, 0), (2, 1))
+    tmp9 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3))
+    tmp308 = einsum(tmp9, (0, 1), t2.abab, (2, 3, 1, 4), (2, 0, 3, 4))
+    tmp285 = einsum(tmp9, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp147 = einsum(tmp9, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp125 = einsum(tmp9, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp25 = einsum(t1.aa, (0, 1), tmp9, (2, 1), (0, 2))
+    tmp186 = einsum(t1.aa, (0, 1), tmp25, (2, 0), (2, 1))
+    tmp11 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 1, 0, 3), (2, 3))
+    tmp418 = einsum(t2.bbbb, (0, 1, 2, 3), tmp11, (4, 3), (0, 1, 4, 2))
+    tmp286 = einsum(t2.bbbb, (0, 1, 2, 3), tmp11, (1, 3), (0, 2))
+    tmp222 = einsum(tmp11, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp126 = einsum(t2.abab, (0, 1, 2, 3), tmp11, (1, 3), (0, 2))
+    tmp45 = einsum(t1.bb, (0, 1), tmp11, (2, 1), (0, 2))
+    tmp354 = einsum(t1.bb, (0, 1), tmp45, (2, 0), (2, 1))
+    tmp12 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3))
+    tmp420 = einsum(t2.bbbb, (0, 1, 2, 3), tmp12, (4, 3), (0, 1, 4, 2))
+    tmp287 = einsum(t2.bbbb, (0, 1, 2, 3), tmp12, (1, 3), (0, 2))
+    tmp223 = einsum(tmp12, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp127 = einsum(tmp12, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp46 = einsum(t1.bb, (0, 1), tmp12, (2, 1), (0, 2))
+    tmp355 = einsum(t1.bb, (0, 1), tmp46, (2, 0), (2, 1))
+    tmp13 = einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3))
+    tmp309 = einsum(tmp13, (0, 1), t2.abab, (2, 3, 1, 4), (2, 0, 3, 4))
+    tmp288 = einsum(tmp13, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp149 = einsum(tmp13, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp128 = einsum(tmp13, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp26 = einsum(t1.aa, (0, 1), tmp13, (2, 1), (0, 2))
+    tmp187 = einsum(t1.aa, (0, 1), tmp26, (2, 0), (2, 1))
+    tmp15 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3))
+    tmp422 = einsum(t2.bbbb, (0, 1, 2, 3), tmp15, (4, 3), (0, 1, 4, 2))
+    tmp289 = einsum(t2.bbbb, (0, 1, 2, 3), tmp15, (1, 3), (0, 2))
+    tmp224 = einsum(tmp15, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp129 = einsum(tmp15, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp47 = einsum(t1.bb, (0, 1), tmp15, (2, 1), (0, 2))
+    tmp356 = einsum(tmp47, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp16 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1))
+    tmp334 = einsum(t2.abab, (0, 1, 2, 3), tmp16, (4, 5, 0, 2), (4, 5, 1, 3))
+    tmp333 = einsum(t2.abab, (0, 1, 2, 3), tmp16, (4, 0, 5, 2), (4, 5, 1, 3))
+    tmp166 = einsum(t2.aaaa, (0, 1, 2, 3), tmp16, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp164 = einsum(tmp16, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp162 = einsum(tmp16, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 3), (0, 4))
+    tmp72 = einsum(t1.aa, (0, 1), tmp16, (2, 3, 4, 1), (2, 0, 4, 3))
+    tmp74 = einsum(tmp72, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 3, 4))
+    tmp18 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp335 = einsum(t2.bbbb, (0, 1, 2, 3), tmp18, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp248 = einsum(t2.abab, (0, 1, 2, 3), tmp18, (4, 0, 5, 3), (4, 1, 5, 2))
+    tmp168 = einsum(t2.abab, (0, 1, 2, 3), tmp18, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp163 = einsum(t2.abab, (0, 1, 2, 3), tmp18, (4, 0, 1, 3), (4, 2))
+    tmp20 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4))
+    tmp170 = einsum(t1.aa, (0, 1), tmp20, (2, 0), (2, 1))
+    tmp22 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4))
+    tmp171 = einsum(tmp22, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp28 = einsum(f.bb.ov, (0, 1), t1.bb, (2, 1), (0, 2))
+    tmp339 = einsum(t1.bb, (0, 1), tmp28, (0, 2), (2, 1))
+    tmp31 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (1, 3), (0, 2))
+    tmp310 = einsum(tmp31, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp32 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp311 = einsum(tmp32, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp33 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3))
+    tmp312 = einsum(tmp33, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp37 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3))
+    tmp435 = einsum(t2.bbbb, (0, 1, 2, 3), tmp37, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp433 = einsum(t2.bbbb, (0, 1, 2, 3), tmp37, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp369 = einsum(tmp37, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1))
+    tmp371 = einsum(tmp369, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4))
+    tmp344 = einsum(t2.bbbb, (0, 1, 2, 3), tmp37, (4, 0, 1, 3), (4, 2)) * -1
+    tmp238 = einsum(t2.abab, (0, 1, 2, 3), tmp37, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp237 = einsum(tmp37, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp39 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1))
+    tmp437 = einsum(t2.abab, (0, 1, 2, 3), tmp39, (0, 4, 5, 2), (4, 1, 5, 3))
+    tmp346 = einsum(tmp39, (0, 1, 2, 3), t2.abab, (4, 2, 3, 5), (4, 0, 1, 5))
+    tmp345 = einsum(t2.abab, (0, 1, 2, 3), tmp39, (0, 4, 1, 2), (4, 3))
+    tmp239 = einsum(tmp39, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5))
+    tmp230 = einsum(tmp39, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2))
+    tmp328 = einsum(tmp230, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+    tmp232 = einsum(tmp230, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp41 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 2), (0, 4)) * -1
+    tmp347 = einsum(t1.bb, (0, 1), tmp41, (2, 0), (2, 1))
+    tmp43 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2))
+    tmp348 = einsum(tmp43, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp49 = einsum(f.aa.vv, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp53 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 1, 2, 3), (2, 3))
+    tmp67 = einsum(tmp53, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp55 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 2, 3, 1), (2, 3))
+    tmp68 = einsum(tmp55, (0, 1), t1.aa, (2, 0), (2, 1))
+    tmp57 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp69 = einsum(tmp57, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp59 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp61 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp70 = einsum(tmp61, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3))
+    tmp63 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 0, 3))
+    tmp65 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (1, 3, 4, 2), (0, 4)) * -1
+    tmp66 = einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0))
+    tmp76 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -1
+    tmp78 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp80 = einsum(t1.aa, (0, 1), tmp78, (2, 3, 0, 4), (2, 3, 4, 1)) * -1
+    tmp83 = einsum(t1.aa, (0, 1), f.aa.oo, (2, 0), (2, 1))
+    tmp86 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp87 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp89 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t1.aa, (3, 4), (0, 1, 2, 4))
+    tmp100 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 3), (0, 4))
+    tmp101 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (1, 2, 4, 3), (0, 4))
+    tmp102 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp104 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp106 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp108 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 3), (2, 4))
+    tmp110 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4))
+    tmp112 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp114 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp116 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp118 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp120 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp122 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3))
+    tmp139 = einsum(t2.aaaa, (0, 1, 2, 3), f.aa.ov, (4, 3), (4, 0, 1, 2))
+    tmp155 = einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 0, 3, 1), (2, 3))
+    tmp156 = einsum(v.aaaa.oovv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2))
+    tmp158 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp174 = einsum(tmp158, (0, 1, 2, 3), t1.aa, (3, 4), (0, 2, 1, 4))
+    tmp172 = einsum(tmp158, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 3, 4))
+    tmp189 = einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3))
+    tmp229 = einsum(tmp189, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2))
+    tmp190 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 3), (0, 1, 5, 4))
+    tmp192 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp262 = einsum(t1.bb, (0, 1), tmp192, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp194 = einsum(t1.aa, (0, 1), tmp192, (2, 0, 3, 4), (2, 3, 4, 1))
+    tmp197 = einsum(t1.aa, (0, 1), v.aabb.oooo, (2, 0, 3, 4), (2, 3, 4, 1))
+    tmp199 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp200 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp201 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 3, 5))
+    tmp209 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 3, 4, 1), (2, 0, 3, 4))
+    tmp214 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp217 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4))
+    tmp233 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2))
+    tmp349 = einsum(tmp233, (0, 1, 2, 3), t1.bb, (3, 4), (1, 0, 2, 4))
+    tmp241 = einsum(t1.aa, (0, 1), tmp233, (2, 0, 3, 4), (2, 3, 4, 1))
+    tmp243 = einsum(v.aabb.vvoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 3, 0))
+    tmp244 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp337 = einsum(t1.bb, (0, 1), tmp244, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp249 = einsum(t1.aa, (0, 1), tmp244, (2, 0, 3, 4), (2, 4, 3, 1))
+    tmp255 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (0, 1, 2, 3), (2, 3))
+    tmp323 = einsum(t1.bb, (0, 1), tmp255, (2, 1), (0, 2))
+    tmp256 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (0, 2, 3, 1), (2, 3))
+    tmp324 = einsum(t1.bb, (0, 1), tmp256, (1, 2), (0, 2))
+    tmp257 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3))
+    tmp325 = einsum(t1.bb, (0, 1), tmp257, (2, 1), (0, 2))
+    tmp258 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3))
+    tmp259 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp264 = einsum(f.aa.ov, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp265 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.ov, (1, 3), (0, 2))
+    tmp267 = einsum(t1.bb, (0, 1), v.aabb.oooo, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp269 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 5, 2), (4, 5, 1, 3))
+    tmp270 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 0, 2), (4, 5, 1, 3))
+    tmp271 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp273 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (2, 4, 1, 5), (0, 4, 3, 5))
+    tmp275 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3))
+    tmp277 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp279 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp281 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp283 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5))
+    tmp290 = einsum(t1.bb, (0, 1), f.bb.oo, (2, 0), (2, 1))
+    tmp292 = einsum(t2.abab, (0, 1, 2, 3), f.aa.ov, (4, 2), (4, 0, 1, 3))
+    tmp297 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 0, 3), (4, 2)) * -1
+    tmp298 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (0, 3, 1, 4), (2, 4))
+    tmp299 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 1), (0, 4, 5, 3))
+    tmp300 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 1), (4, 3)) * -1
+    tmp302 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 4), (4, 3))
+    tmp304 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (0, 4, 3, 5))
+    tmp316 = einsum(t1.bb, (0, 1), f.bb.vv, (2, 1), (0, 2))
+    tmp317 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp318 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp367 = einsum(t1.bb, (0, 1), tmp318, (2, 3, 1, 4), (0, 2, 3, 4))
+    tmp319 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 1, 2))
+    tmp326 = einsum(tmp319, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3))
+    tmp321 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 0, 1, 3), (4, 2))
+    tmp322 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2))
+    tmp329 = einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 0, 3, 1), (2, 3))
+    tmp340 = einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp373 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp375 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 5, 3, 1), (4, 5, 0, 2)) * -1
+    tmp377 = einsum(tmp375, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4)) * -1
+    tmp383 = einsum(v.bbbb.oooo, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+    tmp394 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp396 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp398 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3))
+    tmp414 = einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp427 = einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp429 = einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp441 = einsum(tmp429, (0, 1, 2, 3), t1.bb, (3, 4), (0, 2, 1, 4))
+    tmp439 = einsum(tmp429, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4))
+
+    return {f"tmp1": tmp1, f"tmp100": tmp100, f"tmp101": tmp101, f"tmp102": tmp102, f"tmp104": tmp104, f"tmp106": tmp106, f"tmp108": tmp108, f"tmp11": tmp11, f"tmp110": tmp110, f"tmp112": tmp112, f"tmp114": tmp114, f"tmp116": tmp116, f"tmp118": tmp118, f"tmp12": tmp12, f"tmp120": tmp120, f"tmp122": tmp122, f"tmp124": tmp124, f"tmp125": tmp125, f"tmp126": tmp126, f"tmp127": tmp127, f"tmp128": tmp128, f"tmp129": tmp129, f"tmp13": tmp13, f"tmp130": tmp130, f"tmp131": tmp131, f"tmp132": tmp132, f"tmp139": tmp139, f"tmp145": tmp145, f"tmp147": tmp147, f"tmp149": tmp149, f"tmp15": tmp15, f"tmp152": tmp152, f"tmp155": tmp155, f"tmp156": tmp156, f"tmp158": tmp158, f"tmp16": tmp16, f"tmp162": tmp162, f"tmp163": tmp163, f"tmp164": tmp164, f"tmp166": tmp166, f"tmp168": tmp168, f"tmp170": tmp170, f"tmp171": tmp171, f"tmp172": tmp172, f"tmp174": tmp174, f"tmp18": tmp18, f"tmp185": tmp185, f"tmp186": tmp186, f"tmp187": tmp187, f"tmp189": tmp189, f"tmp190": tmp190, f"tmp192": tmp192, f"tmp194": tmp194, f"tmp197": tmp197, f"tmp199": tmp199, f"tmp20": tmp20, f"tmp200": tmp200, f"tmp201": tmp201, f"tmp209": tmp209, f"tmp214": tmp214, f"tmp217": tmp217, f"tmp22": tmp22, f"tmp222": tmp222, f"tmp223": tmp223, f"tmp224": tmp224, f"tmp229": tmp229, f"tmp230": tmp230, f"tmp232": tmp232, f"tmp233": tmp233, f"tmp237": tmp237, f"tmp238": tmp238, f"tmp239": tmp239, f"tmp24": tmp24, f"tmp241": tmp241, f"tmp243": tmp243, f"tmp244": tmp244, f"tmp248": tmp248, f"tmp249": tmp249, f"tmp25": tmp25, f"tmp255": tmp255, f"tmp256": tmp256, f"tmp257": tmp257, f"tmp258": tmp258, f"tmp259": tmp259, f"tmp26": tmp26, f"tmp262": tmp262, f"tmp264": tmp264, f"tmp265": tmp265, f"tmp267": tmp267, f"tmp269": tmp269, f"tmp270": tmp270, f"tmp271": tmp271, f"tmp273": tmp273, f"tmp275": tmp275, f"tmp277": tmp277, f"tmp279": tmp279, f"tmp28": tmp28, f"tmp281": tmp281, f"tmp283": tmp283, f"tmp284": tmp284, f"tmp285": tmp285, f"tmp286": tmp286, f"tmp287": tmp287, f"tmp288": tmp288, f"tmp289": tmp289, f"tmp290": tmp290, f"tmp292": tmp292, f"tmp297": tmp297, f"tmp298": tmp298, f"tmp299": tmp299, f"tmp300": tmp300, f"tmp302": tmp302, f"tmp304": tmp304, f"tmp307": tmp307, f"tmp308": tmp308, f"tmp309": tmp309, f"tmp31": tmp31, f"tmp310": tmp310, f"tmp311": tmp311, f"tmp312": tmp312, f"tmp316": tmp316, f"tmp317": tmp317, f"tmp318": tmp318, f"tmp319": tmp319, f"tmp32": tmp32, f"tmp321": tmp321, f"tmp322": tmp322, f"tmp323": tmp323, f"tmp324": tmp324, f"tmp325": tmp325, f"tmp326": tmp326, f"tmp328": tmp328, f"tmp329": tmp329, f"tmp33": tmp33, f"tmp333": tmp333, f"tmp334": tmp334, f"tmp335": tmp335, f"tmp337": tmp337, f"tmp339": tmp339, f"tmp340": tmp340, f"tmp344": tmp344, f"tmp345": tmp345, f"tmp346": tmp346, f"tmp347": tmp347, f"tmp348": tmp348, f"tmp349": tmp349, f"tmp354": tmp354, f"tmp355": tmp355, f"tmp356": tmp356, f"tmp367": tmp367, f"tmp369": tmp369, f"tmp37": tmp37, f"tmp371": tmp371, f"tmp373": tmp373, f"tmp375": tmp375, f"tmp377": tmp377, f"tmp383": tmp383, f"tmp39": tmp39, f"tmp394": tmp394, f"tmp396": tmp396, f"tmp398": tmp398, f"tmp4": tmp4, f"tmp41": tmp41, f"tmp414": tmp414, f"tmp418": tmp418, f"tmp420": tmp420, f"tmp422": tmp422, f"tmp427": tmp427, f"tmp429": tmp429, f"tmp43": tmp43, f"tmp433": tmp433, f"tmp435": tmp435, f"tmp437": tmp437, f"tmp439": tmp439, f"tmp441": tmp441, f"tmp45": tmp45, f"tmp46": tmp46, f"tmp47": tmp47, f"tmp49": tmp49, f"tmp5": tmp5, f"tmp53": tmp53, f"tmp55": tmp55, f"tmp57": tmp57, f"tmp59": tmp59, f"tmp6": tmp6, f"tmp61": tmp61, f"tmp63": tmp63, f"tmp65": tmp65, f"tmp66": tmp66, f"tmp67": tmp67, f"tmp68": tmp68, f"tmp69": tmp69, f"tmp7": tmp7, f"tmp70": tmp70, f"tmp72": tmp72, f"tmp74": tmp74, f"tmp76": tmp76, f"tmp78": tmp78, f"tmp80": tmp80, f"tmp83": tmp83, f"tmp86": tmp86, f"tmp87": tmp87, f"tmp89": tmp89, f"tmp9": tmp9}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCSD.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:52:03.805808.

+

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.

+ +
+ Source code in ebcc/codegen/UCCSD.py +
3149
+3150
+3151
+3152
+3153
+3154
+3155
+3156
+3157
+3158
+3159
+3160
+3161
+3162
+3163
+3164
+3165
+3166
+3167
+3168
+3169
+3170
+3171
+3172
+3173
+3174
+3175
+3176
+3177
+3178
+3179
+3180
+3181
+3182
+3183
+3184
+3185
+3186
+3187
+3188
+3189
+3190
+3191
+3192
+3193
+3194
+3195
+3196
+3197
+3198
+3199
+3200
+3201
+3202
+3203
+3204
+3205
+3206
+3207
+3208
+3209
+3210
+3211
+3212
+3213
+3214
+3215
+3216
+3217
+3218
+3219
+3220
+3221
+3222
+3223
+3224
+3225
+3226
+3227
+3228
+3229
+3230
+3231
+3232
+3233
+3234
+3235
+3236
+3237
+3238
+3239
+3240
+3241
+3242
+3243
+3244
+3245
+3246
+3247
+3248
+3249
+3250
+3251
+3252
+3253
+3254
+3255
+3256
+3257
+3258
+3259
+3260
+3261
+3262
+3263
+3264
+3265
+3266
+3267
+3268
+3269
+3270
+3271
+3272
+3273
+3274
+3275
+3276
+3277
+3278
+3279
+3280
+3281
+3282
+3283
+3284
+3285
+3286
+3287
+3288
+3289
+3290
+3291
+3292
+3293
+3294
+3295
+3296
+3297
+3298
+3299
+3300
+3301
+3302
+3303
+3304
+3305
+3306
+3307
+3308
+3309
+3310
+3311
+3312
+3313
+3314
+3315
+3316
+3317
+3318
+3319
+3320
+3321
+3322
+3323
+3324
+3325
+3326
+3327
+3328
+3329
+3330
+3331
+3332
+3333
+3334
+3335
+3336
+3337
+3338
+3339
+3340
+3341
+3342
+3343
+3344
+3345
+3346
+3347
+3348
+3349
+3350
+3351
+3352
+3353
+3354
+3355
+3356
+3357
+3358
+3359
+3360
+3361
+3362
+3363
+3364
+3365
+3366
+3367
+3368
+3369
+3370
+3371
+3372
+3373
+3374
+3375
+3376
+3377
+3378
+3379
+3380
+3381
+3382
+3383
+3384
+3385
+3386
+3387
+3388
+3389
+3390
+3391
+3392
+3393
+3394
+3395
+3396
+3397
+3398
+3399
+3400
+3401
+3402
+3403
+3404
+3405
+3406
+3407
+3408
+3409
+3410
+3411
+3412
+3413
+3414
+3415
+3416
+3417
+3418
+3419
+3420
+3421
+3422
+3423
+3424
+3425
+3426
+3427
+3428
+3429
+3430
+3431
+3432
+3433
+3434
+3435
+3436
+3437
+3438
+3439
+3440
+3441
+3442
+3443
+3444
+3445
+3446
+3447
+3448
+3449
+3450
+3451
+3452
+3453
+3454
+3455
+3456
+3457
+3458
+3459
+3460
+3461
+3462
+3463
+3464
+3465
+3466
+3467
+3468
+3469
+3470
+3471
+3472
+3473
+3474
+3475
+3476
+3477
+3478
+3479
+3480
+3481
+3482
+3483
+3484
+3485
+3486
+3487
+3488
+3489
+3490
+3491
+3492
+3493
+3494
+3495
+3496
+3497
+3498
+3499
+3500
+3501
+3502
+3503
+3504
+3505
+3506
+3507
+3508
+3509
+3510
+3511
+3512
+3513
+3514
+3515
+3516
+3517
+3518
+3519
+3520
+3521
+3522
+3523
+3524
+3525
+3526
+3527
+3528
+3529
+3530
+3531
+3532
+3533
+3534
+3535
+3536
+3537
+3538
+3539
+3540
+3541
+3542
+3543
+3544
+3545
+3546
+3547
+3548
+3549
+3550
+3551
+3552
+3553
+3554
+3555
+3556
+3557
+3558
+3559
+3560
+3561
+3562
+3563
+3564
+3565
+3566
+3567
+3568
+3569
+3570
+3571
+3572
+3573
+3574
+3575
+3576
+3577
+3578
+3579
+3580
+3581
+3582
+3583
+3584
+3585
+3586
+3587
+3588
+3589
+3590
+3591
+3592
+3593
+3594
+3595
+3596
+3597
+3598
+3599
+3600
+3601
+3602
+3603
+3604
+3605
+3606
+3607
+3608
+3609
+3610
+3611
+3612
+3613
+3614
+3615
+3616
+3617
+3618
+3619
+3620
+3621
+3622
+3623
+3624
+3625
+3626
+3627
+3628
+3629
+3630
+3631
+3632
+3633
+3634
+3635
+3636
+3637
+3638
+3639
+3640
+3641
+3642
+3643
+3644
+3645
+3646
+3647
+3648
+3649
+3650
+3651
+3652
+3653
+3654
+3655
+3656
+3657
+3658
+3659
+3660
+3661
+3662
+3663
+3664
+3665
+3666
+3667
+3668
+3669
+3670
+3671
+3672
+3673
+3674
+3675
+3676
+3677
+3678
+3679
+3680
+3681
+3682
+3683
+3684
+3685
+3686
+3687
+3688
+3689
+3690
+3691
+3692
+3693
+3694
+3695
+3696
+3697
+3698
+3699
+3700
+3701
+3702
+3703
+3704
+3705
+3706
+3707
+3708
+3709
+3710
+3711
+3712
+3713
+3714
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:52:03.805808.
+
+    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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp75 = np.copy(ints.tmp37) * -1
+    tmp75 += np.transpose(ints.tmp37, (0, 2, 1, 3))
+    tmp77 = np.copy(v.bbbb.ooov) * -1
+    tmp77 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3))
+    tmp16 = np.copy(ints.tmp16)
+    tmp16 += np.transpose(ints.tmp16, (0, 2, 1, 3)) * -1
+    tmp18 = np.copy(v.aaaa.ooov)
+    tmp18 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1)) * -1
+    tmp74 = einsum(v.aabb.ovoo, (0, 1, 2, 3), r2.aba, (0, 4, 1), (4, 2, 3))
+    tmp76 = einsum(r2.bbb, (0, 1, 2), tmp75, (3, 1, 4, 2), (0, 3, 4)) * -1
+    del tmp75
+    tmp73 = einsum(ints.tmp39, (0, 1, 2, 3), r2.aba, (0, 4, 3), (1, 2, 4))
+    tmp78 = einsum(r2.bbb, (0, 1, 2), tmp77, (3, 4, 1, 2), (0, 3, 4)) * -1
+    del tmp77
+    tmp17 = einsum(r2.aaa, (0, 1, 2), tmp16, (3, 4, 1, 2), (0, 3, 4)) * -1
+    del tmp16
+    tmp15 = einsum(ints.tmp18, (0, 1, 2, 3), r2.bab, (2, 4, 3), (0, 1, 4)) * -1
+    tmp19 = einsum(r2.aaa, (0, 1, 2), tmp18, (1, 3, 4, 2), (0, 3, 4)) * -1
+    del tmp18
+    tmp14 = einsum(v.aabb.ooov, (0, 1, 2, 3), r2.bab, (2, 4, 3), (4, 0, 1)) * -1
+    tmp2 = np.copy(f.bb.ov)
+    tmp2 += ints.tmp12
+    tmp2 += ints.tmp15
+    tmp2 += ints.tmp11 * -1
+    r1new.b = einsum(tmp2, (0, 1), r2.bbb, (2, 0, 1), (2,)) * 2
+    r1new.a = einsum(tmp2, (0, 1), r2.bab, (0, 2, 1), (2,)) * -1
+    tmp71 = np.copy(ints.tmp279)
+    tmp71 += ints.tmp283 * 0.5
+    tmp71 += np.transpose(ints.tmp318, (0, 1, 3, 2)) * 0.5
+    tmp81 = np.copy(ints.tmp367)
+    tmp81 += ints.tmp37
+    tmp81 += ints.tmp394 * 2
+    tmp81 += ints.tmp433 * 2
+    tmp81 += ints.tmp437
+    tmp81 += np.transpose(ints.tmp441, (0, 2, 1, 3))
+    tmp81 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3))
+    tmp83 = np.copy(ints.tmp41) * 2
+    tmp83 += ints.tmp43
+    tmp83 += ints.tmp31 * -1
+    tmp83 += ints.tmp45 * -1
+    tmp79 = np.copy(tmp73) * 0.5
+    del tmp73
+    tmp79 += np.transpose(tmp74, (0, 2, 1)) * -0.5
+    del tmp74
+    tmp79 += np.transpose(tmp76, (1, 2, 0)) * -1
+    del tmp76
+    tmp79 += np.transpose(tmp78, (0, 2, 1))
+    del tmp78
+    tmp89 = np.copy(ints.tmp317)
+    tmp89 += ints.tmp277 * 2
+    tmp93 = np.copy(ints.tmp371)
+    tmp93 += np.transpose(ints.tmp383, (0, 2, 1, 3))
+    tmp93 += ints.tmp398
+    tmp93 += ints.tmp427
+    tmp93 += ints.tmp439
+    tmp93 += ints.tmp396 * 2
+    tmp93 += ints.tmp435 * 2
+    tmp87 = np.copy(ints.tmp275)
+    tmp87 += ints.tmp319
+    tmp87 += ints.tmp281 * 2
+    tmp91 = np.copy(f.bb.oo)
+    tmp91 += ints.tmp28
+    tmp91 += np.transpose(ints.tmp32, (1, 0))
+    tmp91 += np.transpose(ints.tmp33, (1, 0))
+    tmp91 += np.transpose(ints.tmp46, (1, 0))
+    tmp91 += np.transpose(ints.tmp47, (1, 0))
+    tmp3 = np.copy(f.aa.ov)
+    tmp3 += ints.tmp13
+    tmp3 += ints.tmp9
+    tmp3 += ints.tmp7 * -1
+    r1new.b += einsum(tmp3, (0, 1), r2.aba, (0, 2, 1), (2,)) * -1
+    r1new.a += einsum(r2.aaa, (0, 1, 2), tmp3, (1, 2), (0,)) * 2
+    tmp32 = np.copy(f.aa.oo)
+    tmp32 += ints.tmp1
+    tmp32 += np.transpose(ints.tmp25, (1, 0))
+    tmp32 += np.transpose(ints.tmp26, (1, 0))
+    tmp32 += np.transpose(ints.tmp5, (1, 0))
+    tmp32 += np.transpose(ints.tmp6, (1, 0))
+    tmp30 = np.copy(ints.tmp59)
+    tmp30 += ints.tmp112 * 2
+    tmp34 = np.copy(ints.tmp106)
+    tmp34 += ints.tmp156
+    tmp34 += ints.tmp172
+    tmp34 += ints.tmp74
+    tmp34 += np.transpose(ints.tmp89, (0, 2, 1, 3))
+    tmp34 += ints.tmp104 * 2
+    tmp34 += ints.tmp166 * 2
+    tmp10 = np.copy(ints.tmp114)
+    tmp10 += ints.tmp120 * 0.5
+    tmp10 += np.transpose(ints.tmp61, (0, 1, 3, 2)) * 0.5
+    tmp24 = np.copy(ints.tmp20) * 2
+    tmp24 += ints.tmp22
+    tmp24 += ints.tmp24 * -1
+    tmp24 += ints.tmp4 * -1
+    tmp20 = np.copy(np.transpose(tmp14, (0, 2, 1))) * 0.5
+    del tmp14
+    tmp20 += tmp15 * -0.5
+    del tmp15
+    tmp20 += np.transpose(tmp17, (1, 2, 0)) * -1
+    del tmp17
+    tmp20 += np.transpose(tmp19, (0, 2, 1))
+    del tmp19
+    tmp12 = np.copy(ints.tmp118)
+    tmp12 += ints.tmp122 * 2
+    tmp12 += ints.tmp63
+    tmp22 = np.copy(ints.tmp102)
+    tmp22 += ints.tmp164
+    tmp22 += ints.tmp168 * 0.5
+    tmp22 += ints.tmp16 * 0.5
+    tmp22 += np.transpose(ints.tmp174, (0, 2, 1, 3)) * 0.5
+    tmp22 += ints.tmp70 * 0.5
+    tmp22 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3)) * 0.5
+    tmp60 = einsum(t1.bb, (0, 1), tmp2, (0, 2), (2, 1))
+    del tmp2
+    tmp72 = einsum(tmp71, (0, 1, 2, 3), r2.bbb, (4, 1, 3), (4, 0, 2)) * -4
+    del tmp71
+    tmp70 = einsum(v.bbbb.oovv, (0, 1, 2, 3), r2.bbb, (4, 1, 3), (4, 0, 2))
+    tmp69 = einsum(ints.tmp429, (0, 1, 2, 3), r2.bbb, (2, 3, 4), (0, 1, 4))
+    tmp82 = einsum(r1.b, (0,), tmp81, (1, 2, 0, 3), (1, 2, 3))
+    del tmp81
+    tmp84 = einsum(tmp83, (0, 1), r2.bbb, (2, 1, 3), (2, 0, 3)) * -2
+    del tmp83
+    tmp68 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.aba, (0, 4, 1), (4, 2, 3))
+    tmp67 = einsum(ints.tmp273, (0, 1, 2, 3), r2.aba, (0, 4, 2), (1, 4, 3))
+    tmp80 = einsum(t1.bb, (0, 1), tmp79, (2, 0, 3), (2, 3, 1)) * 2
+    del tmp79
+    tmp90 = einsum(tmp89, (0, 1, 2, 3), r2.bbb, (4, 1, 3), (4, 0, 2)) * -1
+    del tmp89
+    tmp86 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r2.bbb, (4, 2, 3), (4, 0, 1))
+    tmp94 = einsum(r1.b, (0,), tmp93, (1, 2, 0, 3), (1, 2, 3))
+    del tmp93
+    tmp88 = einsum(tmp87, (0, 1, 2, 3), r2.aba, (0, 4, 2), (4, 1, 3))
+    del tmp87
+    tmp92 = einsum(r2.bbb, (0, 1, 2), tmp91, (1, 3), (0, 3, 2)) * -1
+    del tmp91
+    tmp53 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.aba, (0, 2, 1), (3,))
+    tmp54 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r2.bbb, (0, 2, 3), (1,))
+    tmp51 = np.copy(ints.tmp39)
+    tmp51 += np.transpose(v.aabb.ovoo, (0, 2, 3, 1))
+    tmp1 = np.copy(ints.tmp18)
+    tmp1 += v.aabb.ooov
+    r1new.a += einsum(tmp1, (0, 1, 2, 3), r2.bab, (2, 1, 3), (0,))
+    tmp63 = np.copy(ints.tmp37)
+    tmp63 += np.transpose(ints.tmp37, (0, 2, 1, 3)) * -1
+    tmp63 += v.bbbb.ooov * -1
+    tmp63 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3))
+    tmp40 = einsum(v.aaaa.ovov, (0, 1, 2, 3), r2.aaa, (0, 2, 1), (3,)) * -1
+    tmp41 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.bab, (2, 0, 3), (1,)) * -1
+    tmp50 = np.copy(ints.tmp16)
+    tmp50 += np.transpose(ints.tmp16, (0, 2, 1, 3)) * -1
+    tmp50 += v.aaaa.ooov * -1
+    tmp50 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3))
+    tmp38 = einsum(tmp3, (0, 1), t1.aa, (0, 2), (1, 2))
+    del tmp3
+    tmp28 = einsum(ints.tmp116, (0, 1, 2, 3), r2.bab, (1, 4, 3), (0, 4, 2)) * -1
+    tmp33 = einsum(tmp32, (0, 1), r2.aaa, (2, 0, 3), (2, 1, 3)) * -1
+    del tmp32
+    tmp29 = einsum(r2.bab, (0, 1, 2), v.aabb.ovov, (3, 4, 0, 2), (1, 3, 4)) * -1
+    tmp27 = einsum(r2.aaa, (0, 1, 2), v.aaaa.ovov, (3, 4, 1, 2), (0, 3, 4))
+    tmp31 = einsum(tmp30, (0, 1, 2, 3), r2.aaa, (4, 1, 3), (4, 0, 2)) * -1
+    del tmp30
+    tmp35 = einsum(r1.a, (0,), tmp34, (1, 2, 0, 3), (1, 2, 3))
+    del tmp34
+    tmp11 = einsum(tmp10, (0, 1, 2, 3), r2.aaa, (4, 1, 3), (4, 0, 2)) * -4
+    del tmp10
+    tmp9 = einsum(r2.aaa, (0, 1, 2), v.aaaa.oovv, (3, 1, 4, 2), (0, 3, 4))
+    tmp25 = einsum(r2.aaa, (0, 1, 2), tmp24, (3, 1), (0, 3, 2)) * -2
+    del tmp24
+    tmp8 = einsum(r2.aaa, (0, 1, 2), ints.tmp158, (3, 4, 0, 1), (3, 4, 2))
+    tmp21 = einsum(t1.aa, (0, 1), tmp20, (2, 0, 3), (2, 3, 1)) * 2
+    del tmp20
+    tmp13 = einsum(r2.bab, (0, 1, 2), tmp12, (3, 0, 4, 2), (1, 3, 4)) * -1
+    del tmp12
+    tmp23 = einsum(tmp22, (0, 1, 2, 3), r1.a, (2,), (0, 1, 3)) * 2
+    del tmp22
+    tmp61 = np.copy(ints.tmp256)
+    tmp61 += np.transpose(ints.tmp300, (1, 0)) * 2
+    tmp61 += np.transpose(ints.tmp302, (1, 0))
+    tmp61 += f.bb.vv * -1
+    tmp61 += np.transpose(ints.tmp255, (1, 0)) * -1
+    tmp61 += np.transpose(ints.tmp257, (1, 0)) * -1
+    tmp61 += tmp60
+    del tmp60
+    r2new.bbb = einsum(r2.bbb, (0, 1, 2), tmp61, (2, 3), (0, 1, 3)) * -2
+    r2new.bab = einsum(r2.bab, (0, 1, 2), tmp61, (2, 3), (0, 1, 3)) * -1
+    del tmp61
+    tmp97 = np.copy(ints.tmp377)
+    tmp97 += np.transpose(ints.tmp414, (1, 2, 0, 3))
+    tmp97 += ints.tmp420
+    tmp97 += ints.tmp422
+    tmp97 += ints.tmp373 * -1
+    tmp97 += ints.tmp418 * -1
+    r2new.bbb += einsum(r1.b, (0,), tmp97, (1, 2, 0, 3), (2, 1, 3)) * -2
+    del tmp97
+    tmp66 = np.copy(ints.tmp284)
+    tmp66 += ints.tmp286 * 2
+    tmp66 += ints.tmp290
+    tmp66 += ints.tmp297 * 2
+    tmp66 += ints.tmp298
+    tmp66 += ints.tmp311
+    tmp66 += ints.tmp312
+    tmp66 += ints.tmp321 * 2
+    tmp66 += ints.tmp324
+    tmp66 += ints.tmp329
+    tmp66 += ints.tmp339
+    tmp66 += ints.tmp344 * 2
+    tmp66 += ints.tmp345
+    tmp66 += ints.tmp347 * 2
+    tmp66 += ints.tmp348
+    tmp66 += ints.tmp355
+    tmp66 += ints.tmp356
+    tmp66 += f.bb.ov * -1
+    tmp66 += ints.tmp12 * -1
+    tmp66 += ints.tmp15 * -1
+    tmp66 += ints.tmp264 * -1
+    tmp66 += ints.tmp265 * -2
+    tmp66 += ints.tmp285 * -1
+    tmp66 += ints.tmp287 * -2
+    tmp66 += ints.tmp288 * -1
+    tmp66 += ints.tmp289 * -2
+    tmp66 += ints.tmp310 * -1
+    tmp66 += ints.tmp316 * -1
+    tmp66 += ints.tmp322 * -1
+    tmp66 += ints.tmp323 * -1
+    tmp66 += ints.tmp325 * -1
+    tmp66 += ints.tmp354 * -1
+    r2new.bbb += einsum(tmp66, (0, 1), r1.b, (2,), (0, 2, 1))
+    r2new.bbb += einsum(tmp66, (0, 1), r1.b, (2,), (2, 0, 1)) * -1
+    r2new.bab += einsum(r1.a, (0,), tmp66, (1, 2), (1, 0, 2))
+    del tmp66
+    tmp85 = np.copy(tmp67)
+    del tmp67
+    tmp85 += tmp68
+    del tmp68
+    tmp85 += tmp69 * 2
+    del tmp69
+    tmp85 += tmp70 * 2
+    del tmp70
+    tmp85 += np.transpose(tmp72, (1, 0, 2)) * -1
+    del tmp72
+    tmp85 += tmp80
+    del tmp80
+    tmp85 += tmp82
+    del tmp82
+    tmp85 += np.transpose(tmp84, (1, 0, 2))
+    del tmp84
+    r2new.bbb += np.transpose(tmp85, (1, 0, 2))
+    r2new.bbb += tmp85 * -1
+    del tmp85
+    tmp95 = np.copy(tmp86) * 2
+    del tmp86
+    tmp95 += np.transpose(tmp88, (1, 0, 2))
+    del tmp88
+    tmp95 += np.transpose(tmp90, (1, 0, 2)) * -2
+    del tmp90
+    tmp95 += np.transpose(tmp92, (1, 0, 2)) * -2
+    del tmp92
+    tmp95 += tmp94
+    del tmp94
+    r2new.bbb += np.transpose(tmp95, (1, 0, 2)) * -1
+    r2new.bbb += tmp95
+    del tmp95
+    tmp96 = np.copy(ints.tmp369)
+    tmp96 += ints.tmp375
+    tmp96 += np.transpose(v.bbbb.oooo, (0, 2, 1, 3))
+    r2new.bbb += einsum(tmp96, (0, 1, 2, 3), r2.bbb, (3, 2, 4), (0, 1, 4)) * -2
+    del tmp96
+    tmp55 = np.copy(tmp53) * -0.5
+    del tmp53
+    tmp55 += tmp54
+    del tmp54
+    r2new.bbb += einsum(tmp55, (0,), t2.bbbb, (1, 2, 3, 0), (1, 2, 3)) * 4
+    r2new.aba = einsum(t2.abab, (0, 1, 2, 3), tmp55, (3,), (0, 1, 2)) * 2
+    del tmp55
+    tmp62 = np.copy(ints.tmp18)
+    tmp62 += ints.tmp259
+    tmp62 += ints.tmp270
+    tmp62 += ints.tmp271 * 2
+    tmp62 += np.transpose(ints.tmp292, (1, 0, 2, 3))
+    tmp62 += ints.tmp308
+    tmp62 += ints.tmp309
+    tmp62 += ints.tmp326
+    tmp62 += ints.tmp333
+    tmp62 += ints.tmp335 * 2
+    tmp62 += ints.tmp340
+    tmp62 += v.aabb.ooov
+    tmp62 += ints.tmp262 * -1
+    tmp62 += ints.tmp267 * -1
+    tmp62 += ints.tmp269 * -1
+    tmp62 += ints.tmp299 * -1
+    tmp62 += ints.tmp307 * -1
+    tmp62 += ints.tmp328 * -1
+    tmp62 += ints.tmp334 * -1
+    tmp62 += ints.tmp337 * -1
+    tmp62 += ints.tmp346 * -1
+    tmp62 += np.transpose(ints.tmp349, (1, 0, 2, 3)) * -1
+    r2new.bab += einsum(r1.a, (0,), tmp62, (1, 0, 2, 3), (2, 1, 3))
+    del tmp62
+    tmp7 = np.copy(f.bb.oo)
+    tmp7 += ints.tmp28
+    tmp7 += np.transpose(ints.tmp32, (1, 0))
+    tmp7 += np.transpose(ints.tmp33, (1, 0))
+    tmp7 += np.transpose(ints.tmp41, (1, 0)) * 2
+    tmp7 += np.transpose(ints.tmp43, (1, 0))
+    tmp7 += np.transpose(ints.tmp46, (1, 0))
+    tmp7 += np.transpose(ints.tmp47, (1, 0))
+    tmp7 += np.transpose(ints.tmp31, (1, 0)) * -1
+    tmp7 += np.transpose(ints.tmp45, (1, 0)) * -1
+    r2new.bab += einsum(tmp7, (0, 1), r2.bab, (0, 2, 3), (1, 2, 3)) * -1
+    r2new.aba += einsum(tmp7, (0, 1), r2.aba, (2, 0, 3), (2, 1, 3)) * -1
+    r1new.b += einsum(tmp7, (0, 1), r1.b, (0,), (1,)) * -1
+    del tmp7
+    tmp4 = np.copy(f.aa.oo)
+    tmp4 += ints.tmp1
+    tmp4 += np.transpose(ints.tmp20, (1, 0)) * 2
+    tmp4 += np.transpose(ints.tmp22, (1, 0))
+    tmp4 += np.transpose(ints.tmp25, (1, 0))
+    tmp4 += np.transpose(ints.tmp26, (1, 0))
+    tmp4 += np.transpose(ints.tmp5, (1, 0))
+    tmp4 += np.transpose(ints.tmp6, (1, 0))
+    tmp4 += np.transpose(ints.tmp24, (1, 0)) * -1
+    tmp4 += np.transpose(ints.tmp4, (1, 0)) * -1
+    r2new.bab += einsum(tmp4, (0, 1), r2.bab, (2, 0, 3), (2, 1, 3)) * -1
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp4, (0, 3), (3, 1, 2)) * -1
+    r1new.a += einsum(tmp4, (0, 1), r1.a, (0,), (1,)) * -1
+    del tmp4
+    tmp57 = np.copy(ints.tmp275)
+    tmp57 += ints.tmp281 * 2
+    tmp57 += ints.tmp319
+    tmp57 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp57 += ints.tmp273 * -1
+    r2new.bab += einsum(r2.aaa, (0, 1, 2), tmp57, (1, 3, 2, 4), (3, 0, 4)) * -2
+    del tmp57
+    tmp58 = np.copy(ints.tmp258)
+    tmp58 += v.aabb.oovv
+    tmp58 += ints.tmp304 * -1
+    r2new.bab += einsum(tmp58, (0, 1, 2, 3), r2.bab, (4, 1, 3), (4, 0, 2)) * -1
+    del tmp58
+    tmp64 = einsum(tmp63, (0, 1, 2, 3), r2.bab, (2, 4, 3), (4, 0, 1))
+    del tmp63
+    tmp64 += einsum(tmp51, (0, 1, 2, 3), r2.aaa, (4, 0, 3), (4, 1, 2)) * 2
+    tmp64 += einsum(tmp1, (0, 1, 2, 3), r2.bab, (4, 1, 3), (0, 4, 2))
+    r2new.bab += einsum(t1.bb, (0, 1), tmp64, (2, 3, 0), (3, 2, 1))
+    del tmp64
+    tmp65 = np.copy(tmp40) * 2
+    tmp65 += tmp41
+    r2new.bab += einsum(tmp65, (0,), t2.abab, (1, 2, 0, 3), (2, 1, 3))
+    del tmp65
+    tmp59 = np.copy(ints.tmp192)
+    tmp59 += ints.tmp230
+    tmp59 += ints.tmp233
+    tmp59 += ints.tmp244
+    tmp59 += v.aabb.oooo
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp59, (3, 1, 4, 0), (4, 3, 2))
+    del tmp59
+    tmp56 = np.copy(ints.tmp279) * 2
+    tmp56 += ints.tmp283
+    tmp56 += np.transpose(ints.tmp318, (0, 1, 3, 2))
+    tmp56 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    tmp56 += ints.tmp277 * -2
+    tmp56 += ints.tmp317 * -1
+    tmp56 += v.bbbb.oovv * -1
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp56, (3, 0, 4, 2), (3, 1, 4))
+    del tmp56
+    tmp52 = einsum(tmp50, (0, 1, 2, 3), r2.aba, (1, 4, 3), (0, 2, 4)) * -1
+    del tmp50
+    tmp52 += einsum(tmp51, (0, 1, 2, 3), r2.aba, (4, 2, 3), (4, 0, 1))
+    del tmp51
+    tmp52 += einsum(tmp1, (0, 1, 2, 3), r2.bbb, (4, 2, 3), (0, 1, 4)) * 2
+    del tmp1
+    r2new.aba += einsum(t1.aa, (0, 1), tmp52, (2, 0, 3), (2, 3, 1))
+    del tmp52
+    tmp46 = np.copy(ints.tmp118)
+    tmp46 += ints.tmp122 * 2
+    tmp46 += ints.tmp63
+    tmp46 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp46 += ints.tmp116 * -1
+    r2new.aba += einsum(tmp46, (0, 1, 2, 3), r2.bbb, (4, 1, 3), (0, 4, 2)) * -2
+    del tmp46
+    tmp44 = np.copy(ints.tmp100) * 2
+    tmp44 += ints.tmp101
+    tmp44 += ints.tmp124 * 2
+    tmp44 += ints.tmp126
+    tmp44 += ints.tmp131
+    tmp44 += ints.tmp132
+    tmp44 += ints.tmp152
+    tmp44 += ints.tmp155
+    tmp44 += ints.tmp162 * 2
+    tmp44 += ints.tmp163
+    tmp44 += ints.tmp170 * 2
+    tmp44 += ints.tmp171
+    tmp44 += ints.tmp186
+    tmp44 += ints.tmp187
+    tmp44 += ints.tmp65 * 2
+    tmp44 += ints.tmp68
+    tmp44 += ints.tmp83
+    tmp44 += f.aa.ov * -1
+    tmp44 += ints.tmp125 * -2
+    tmp44 += ints.tmp127 * -1
+    tmp44 += ints.tmp128 * -2
+    tmp44 += ints.tmp129 * -1
+    tmp44 += ints.tmp130 * -1
+    tmp44 += ints.tmp13 * -1
+    tmp44 += ints.tmp185 * -1
+    tmp44 += ints.tmp49 * -1
+    tmp44 += ints.tmp66 * -1
+    tmp44 += ints.tmp67 * -1
+    tmp44 += ints.tmp69 * -1
+    tmp44 += ints.tmp86 * -2
+    tmp44 += ints.tmp87 * -1
+    tmp44 += ints.tmp9 * -1
+    r2new.aba += einsum(r1.b, (0,), tmp44, (1, 2), (1, 0, 2))
+    r2new.aaa = einsum(r1.a, (0,), tmp44, (1, 2), (1, 0, 2))
+    r2new.aaa += einsum(r1.a, (0,), tmp44, (1, 2), (0, 1, 2)) * -1
+    del tmp44
+    tmp49 = np.copy(ints.tmp190)
+    tmp49 += ints.tmp200
+    tmp49 += ints.tmp201 * 2
+    tmp49 += np.transpose(ints.tmp209, (0, 2, 1, 3))
+    tmp49 += ints.tmp223
+    tmp49 += ints.tmp224
+    tmp49 += ints.tmp229
+    tmp49 += ints.tmp237
+    tmp49 += ints.tmp239 * 2
+    tmp49 += ints.tmp243
+    tmp49 += ints.tmp39
+    tmp49 += np.transpose(v.aabb.ovoo, (0, 2, 3, 1))
+    tmp49 += ints.tmp194 * -1
+    tmp49 += ints.tmp197 * -1
+    tmp49 += ints.tmp199 * -1
+    tmp49 += ints.tmp214 * -1
+    tmp49 += ints.tmp222 * -1
+    tmp49 += ints.tmp232 * -1
+    tmp49 += ints.tmp238 * -1
+    tmp49 += ints.tmp241 * -1
+    tmp49 += ints.tmp248 * -1
+    tmp49 += np.transpose(ints.tmp249, (0, 2, 1, 3)) * -1
+    r2new.aba += einsum(tmp49, (0, 1, 2, 3), r1.b, (2,), (0, 1, 3))
+    del tmp49
+    tmp45 = np.copy(ints.tmp114) * 2
+    tmp45 += ints.tmp120
+    tmp45 += np.transpose(ints.tmp61, (0, 1, 3, 2))
+    tmp45 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp45 += ints.tmp112 * -2
+    tmp45 += ints.tmp59 * -1
+    tmp45 += v.aaaa.oovv * -1
+    r2new.aba += einsum(tmp45, (0, 1, 2, 3), r2.aba, (1, 4, 3), (0, 4, 2))
+    del tmp45
+    tmp48 = np.copy(ints.tmp192)
+    tmp48 += ints.tmp230
+    tmp48 += ints.tmp233
+    tmp48 += ints.tmp244
+    tmp48 += v.aabb.oooo
+    r2new.aba += einsum(tmp48, (0, 1, 2, 3), r2.aba, (1, 3, 4), (0, 2, 4))
+    del tmp48
+    tmp39 = np.copy(np.transpose(ints.tmp108, (1, 0))) * 2
+    tmp39 += np.transpose(ints.tmp110, (1, 0))
+    tmp39 += ints.tmp55
+    tmp39 += f.aa.vv * -1
+    tmp39 += np.transpose(ints.tmp53, (1, 0)) * -1
+    tmp39 += np.transpose(ints.tmp57, (1, 0)) * -1
+    tmp39 += tmp38
+    del tmp38
+    r2new.aba += einsum(tmp39, (0, 1), r2.aba, (2, 3, 0), (2, 3, 1)) * -1
+    r2new.aaa += einsum(tmp39, (0, 1), r2.aaa, (2, 3, 0), (2, 3, 1)) * -2
+    del tmp39
+    tmp47 = np.copy(ints.tmp189)
+    tmp47 += np.transpose(v.aabb.vvoo, (2, 3, 0, 1))
+    tmp47 += ints.tmp217 * -1
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp47, (3, 1, 4, 2), (0, 3, 4)) * -1
+    del tmp47
+    tmp37 = np.copy(ints.tmp72)
+    tmp37 += ints.tmp78
+    tmp37 += np.transpose(v.aaaa.oooo, (0, 2, 1, 3))
+    r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp37, (3, 4, 1, 0), (3, 4, 2)) * -2
+    del tmp37
+    tmp43 = np.copy(ints.tmp139)
+    tmp43 += np.transpose(ints.tmp147, (2, 0, 1, 3))
+    tmp43 += np.transpose(ints.tmp149, (2, 0, 1, 3))
+    tmp43 += np.transpose(ints.tmp80, (2, 0, 1, 3))
+    tmp43 += np.transpose(ints.tmp145, (2, 0, 1, 3)) * -1
+    tmp43 += np.transpose(ints.tmp76, (2, 0, 1, 3)) * -1
+    r2new.aaa += einsum(r1.a, (0,), tmp43, (0, 1, 2, 3), (2, 1, 3)) * -2
+    del tmp43
+    tmp42 = np.copy(tmp40)
+    del tmp40
+    tmp42 += tmp41 * 0.5
+    del tmp41
+    r2new.aaa += einsum(tmp42, (0,), t2.aaaa, (1, 2, 3, 0), (1, 2, 3)) * 4
+    del tmp42
+    tmp36 = np.copy(tmp27) * 2
+    del tmp27
+    tmp36 += tmp28
+    del tmp28
+    tmp36 += tmp29
+    del tmp29
+    tmp36 += np.transpose(tmp31, (1, 0, 2)) * -2
+    del tmp31
+    tmp36 += np.transpose(tmp33, (1, 0, 2)) * -2
+    del tmp33
+    tmp36 += tmp35
+    del tmp35
+    r2new.aaa += np.transpose(tmp36, (1, 0, 2)) * -1
+    r2new.aaa += tmp36
+    del tmp36
+    tmp26 = np.copy(tmp8) * 2
+    del tmp8
+    tmp26 += tmp9 * 2
+    del tmp9
+    tmp26 += np.transpose(tmp11, (1, 0, 2)) * -1
+    del tmp11
+    tmp26 += np.transpose(tmp13, (1, 0, 2))
+    del tmp13
+    tmp26 += tmp21
+    del tmp21
+    tmp26 += tmp23
+    del tmp23
+    tmp26 += np.transpose(tmp25, (1, 0, 2))
+    del tmp25
+    r2new.aaa += np.transpose(tmp26, (1, 0, 2))
+    r2new.aaa += tmp26 * -1
+    del tmp26
+    tmp5 = np.copy(ints.tmp37)
+    tmp5 += v.bbbb.ooov * -1
+    r1new.b += einsum(r2.bbb, (0, 1, 2), tmp5, (3, 0, 1, 2), (3,)) * 2
+    del tmp5
+    tmp6 = np.copy(ints.tmp39)
+    tmp6 += np.transpose(v.aabb.ovoo, (0, 2, 3, 1))
+    r1new.b += einsum(tmp6, (0, 1, 2, 3), r2.aba, (0, 2, 3), (1,))
+    del tmp6
+    tmp0 = np.copy(ints.tmp16)
+    tmp0 += v.aaaa.ooov * -1
+    r1new.a += einsum(tmp0, (0, 1, 2, 3), r2.aaa, (1, 2, 3), (0,)) * 2
+    del tmp0
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCSD.hbar_matvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-12T21:54:32.277830.

+

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

+

tmp101 : array +tmp104 : array +tmp106 : array +tmp108 : array +tmp11 : array +tmp116 : array +tmp117 : array +tmp118 : array +tmp12 : array +tmp127 : array +tmp128 : array +tmp129 : array +tmp13 : array +tmp136 : array +tmp137 : array +tmp139 : array +tmp141 : array +tmp146 : array +tmp148 : array +tmp15 : array +tmp150 : array +tmp152 : array +tmp153 : array +tmp154 : array +tmp156 : array +tmp158 : array +tmp159 : array +tmp160 : array +tmp161 : array +tmp162 : array +tmp164 : array +tmp165 : array +tmp166 : array +tmp167 : array +tmp168 : array +tmp173 : array +tmp175 : array +tmp177 : array +tmp185 : array +tmp186 : array +tmp187 : array +tmp196 : array +tmp199 : array +tmp20 : array +tmp205 : array +tmp216 : array +tmp22 : array +tmp220 : array +tmp226 : array +tmp240 : array +tmp241 : array +tmp242 : array +tmp263 : array +tmp266 : array +tmp271 : array +tmp272 : array +tmp273 : array +tmp274 : array +tmp276 : array +tmp286 : array +tmp287 : array +tmp289 : array +tmp290 : array +tmp291 : array +tmp292 : array +tmp294 : array +tmp295 : array +tmp296 : array +tmp298 : array +tmp300 : array +tmp301 : array +tmp303 : array +tmp304 : array +tmp305 : array +tmp307 : array +tmp308 : array +tmp309 : array +tmp31 : array +tmp313 : array +tmp314 : array +tmp315 : array +tmp316 : array +tmp317 : array +tmp318 : array +tmp319 : array +tmp32 : array +tmp325 : array +tmp326 : array +tmp327 : array +tmp328 : array +tmp33 : array +tmp334 : array +tmp335 : array +tmp336 : array +tmp337 : array +tmp338 : array +tmp340 : array +tmp341 : array +tmp344 : array +tmp345 : array +tmp346 : array +tmp350 : array +tmp352 : array +tmp354 : array +tmp356 : array +tmp358 : array +tmp360 : array +tmp361 : array +tmp362 : array +tmp363 : array +tmp364 : array +tmp365 : array +tmp366 : array +tmp383 : array +tmp385 : array +tmp387 : array +tmp4 : array +tmp41 : array +tmp423 : array +tmp43 : array +tmp440 : array +tmp450 : array +tmp5 : array +tmp50 : array +tmp51 : array +tmp59 : array +tmp6 : array +tmp61 : array +tmp63 : array +tmp67 : array +tmp69 : array +tmp7 : array +tmp71 : array +tmp73 : array +tmp75 : array +tmp77 : array +tmp79 : array +tmp80 : array +tmp81 : array +tmp82 : array +tmp83 : array +tmp84 : array +tmp9 : array +tmp98 : array

+ +
+ Source code in ebcc/codegen/UCCSD.py +
3716
+3717
+3718
+3719
+3720
+3721
+3722
+3723
+3724
+3725
+3726
+3727
+3728
+3729
+3730
+3731
+3732
+3733
+3734
+3735
+3736
+3737
+3738
+3739
+3740
+3741
+3742
+3743
+3744
+3745
+3746
+3747
+3748
+3749
+3750
+3751
+3752
+3753
+3754
+3755
+3756
+3757
+3758
+3759
+3760
+3761
+3762
+3763
+3764
+3765
+3766
+3767
+3768
+3769
+3770
+3771
+3772
+3773
+3774
+3775
+3776
+3777
+3778
+3779
+3780
+3781
+3782
+3783
+3784
+3785
+3786
+3787
+3788
+3789
+3790
+3791
+3792
+3793
+3794
+3795
+3796
+3797
+3798
+3799
+3800
+3801
+3802
+3803
+3804
+3805
+3806
+3807
+3808
+3809
+3810
+3811
+3812
+3813
+3814
+3815
+3816
+3817
+3818
+3819
+3820
+3821
+3822
+3823
+3824
+3825
+3826
+3827
+3828
+3829
+3830
+3831
+3832
+3833
+3834
+3835
+3836
+3837
+3838
+3839
+3840
+3841
+3842
+3843
+3844
+3845
+3846
+3847
+3848
+3849
+3850
+3851
+3852
+3853
+3854
+3855
+3856
+3857
+3858
+3859
+3860
+3861
+3862
+3863
+3864
+3865
+3866
+3867
+3868
+3869
+3870
+3871
+3872
+3873
+3874
+3875
+3876
+3877
+3878
+3879
+3880
+3881
+3882
+3883
+3884
+3885
+3886
+3887
+3888
+3889
+3890
+3891
+3892
+3893
+3894
+3895
+3896
+3897
+3898
+3899
+3900
+3901
+3902
+3903
+3904
+3905
+3906
+3907
+3908
+3909
+3910
+3911
+3912
+3913
+3914
+3915
+3916
+3917
+3918
+3919
+3920
+3921
+3922
+3923
+3924
+3925
+3926
+3927
+3928
+3929
+3930
+3931
+3932
+3933
+3934
+3935
+3936
+3937
+3938
+3939
+3940
+3941
+3942
+3943
+3944
+3945
+3946
+3947
+3948
+3949
+3950
+3951
+3952
+3953
+3954
+3955
+3956
+3957
+3958
+3959
+3960
+3961
+3962
+3963
+3964
+3965
+3966
+3967
+3968
+3969
+3970
+3971
+3972
+3973
+3974
+3975
+3976
+3977
+3978
+3979
+3980
+3981
+3982
+3983
+3984
+3985
+3986
+3987
+3988
+3989
+3990
+3991
+3992
+3993
+3994
+3995
+3996
+3997
+3998
+3999
+4000
+4001
+4002
+4003
+4004
+4005
+4006
+4007
+4008
+4009
+4010
+4011
+4012
+4013
+4014
+4015
+4016
+4017
+4018
+4019
+4020
+4021
+4022
+4023
+4024
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:54:32.277830.
+
+    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
+    -------
+    tmp101 : array
+    tmp104 : array
+    tmp106 : array
+    tmp108 : array
+    tmp11 : array
+    tmp116 : array
+    tmp117 : array
+    tmp118 : array
+    tmp12 : array
+    tmp127 : array
+    tmp128 : array
+    tmp129 : array
+    tmp13 : array
+    tmp136 : array
+    tmp137 : array
+    tmp139 : array
+    tmp141 : array
+    tmp146 : array
+    tmp148 : array
+    tmp15 : array
+    tmp150 : array
+    tmp152 : array
+    tmp153 : array
+    tmp154 : array
+    tmp156 : array
+    tmp158 : array
+    tmp159 : array
+    tmp160 : array
+    tmp161 : array
+    tmp162 : array
+    tmp164 : array
+    tmp165 : array
+    tmp166 : array
+    tmp167 : array
+    tmp168 : array
+    tmp173 : array
+    tmp175 : array
+    tmp177 : array
+    tmp185 : array
+    tmp186 : array
+    tmp187 : array
+    tmp196 : array
+    tmp199 : array
+    tmp20 : array
+    tmp205 : array
+    tmp216 : array
+    tmp22 : array
+    tmp220 : array
+    tmp226 : array
+    tmp240 : array
+    tmp241 : array
+    tmp242 : array
+    tmp263 : array
+    tmp266 : array
+    tmp271 : array
+    tmp272 : array
+    tmp273 : array
+    tmp274 : array
+    tmp276 : array
+    tmp286 : array
+    tmp287 : array
+    tmp289 : array
+    tmp290 : array
+    tmp291 : array
+    tmp292 : array
+    tmp294 : array
+    tmp295 : array
+    tmp296 : array
+    tmp298 : array
+    tmp300 : array
+    tmp301 : array
+    tmp303 : array
+    tmp304 : array
+    tmp305 : array
+    tmp307 : array
+    tmp308 : array
+    tmp309 : array
+    tmp31 : array
+    tmp313 : array
+    tmp314 : array
+    tmp315 : array
+    tmp316 : array
+    tmp317 : array
+    tmp318 : array
+    tmp319 : array
+    tmp32 : array
+    tmp325 : array
+    tmp326 : array
+    tmp327 : array
+    tmp328 : array
+    tmp33 : array
+    tmp334 : array
+    tmp335 : array
+    tmp336 : array
+    tmp337 : array
+    tmp338 : array
+    tmp340 : array
+    tmp341 : array
+    tmp344 : array
+    tmp345 : array
+    tmp346 : array
+    tmp350 : array
+    tmp352 : array
+    tmp354 : array
+    tmp356 : array
+    tmp358 : array
+    tmp360 : array
+    tmp361 : array
+    tmp362 : array
+    tmp363 : array
+    tmp364 : array
+    tmp365 : array
+    tmp366 : array
+    tmp383 : array
+    tmp385 : array
+    tmp387 : array
+    tmp4 : array
+    tmp41 : array
+    tmp423 : array
+    tmp43 : array
+    tmp440 : array
+    tmp450 : array
+    tmp5 : array
+    tmp50 : array
+    tmp51 : array
+    tmp59 : array
+    tmp6 : array
+    tmp61 : array
+    tmp63 : array
+    tmp67 : array
+    tmp69 : array
+    tmp7 : array
+    tmp71 : array
+    tmp73 : array
+    tmp75 : array
+    tmp77 : array
+    tmp79 : array
+    tmp80 : array
+    tmp81 : array
+    tmp82 : array
+    tmp83 : array
+    tmp84 : array
+    tmp9 : array
+    tmp98 : array
+    """
+
+    tmp4 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 1, 2, 3), (2, 3))
+    tmp166 = einsum(tmp4, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp5 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 2, 3, 1), (2, 3))
+    tmp167 = einsum(tmp5, (0, 1), t1.aa, (2, 0), (2, 1))
+    tmp6 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp168 = einsum(tmp6, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp7 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 1, 0, 3), (2, 3))
+    tmp361 = einsum(tmp7, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp173 = einsum(t1.aa, (0, 1), tmp7, (2, 1), (0, 2))
+    tmp185 = einsum(tmp173, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp79 = einsum(tmp7, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp9 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3))
+    tmp362 = einsum(tmp9, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp175 = einsum(t1.aa, (0, 1), tmp9, (2, 1), (0, 2))
+    tmp186 = einsum(tmp175, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp80 = einsum(tmp9, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp11 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 1, 0, 3), (2, 3))
+    tmp363 = einsum(t2.bbbb, (0, 1, 2, 3), tmp11, (1, 3), (0, 2))
+    tmp307 = einsum(t1.bb, (0, 1), tmp11, (2, 1), (0, 2))
+    tmp325 = einsum(t1.bb, (0, 1), tmp307, (2, 0), (2, 1))
+    tmp81 = einsum(t2.abab, (0, 1, 2, 3), tmp11, (1, 3), (0, 2))
+    tmp12 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3))
+    tmp364 = einsum(t2.bbbb, (0, 1, 2, 3), tmp12, (1, 3), (0, 2))
+    tmp308 = einsum(t1.bb, (0, 1), tmp12, (2, 1), (0, 2))
+    tmp326 = einsum(t1.bb, (0, 1), tmp308, (2, 0), (2, 1))
+    tmp82 = einsum(tmp12, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp13 = einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3))
+    tmp365 = einsum(tmp13, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp177 = einsum(t1.aa, (0, 1), tmp13, (2, 1), (0, 2))
+    tmp187 = einsum(t1.aa, (0, 1), tmp177, (2, 0), (2, 1))
+    tmp83 = einsum(tmp13, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp15 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3))
+    tmp366 = einsum(t2.bbbb, (0, 1, 2, 3), tmp15, (1, 3), (0, 2))
+    tmp309 = einsum(t1.bb, (0, 1), tmp15, (2, 1), (0, 2))
+    tmp327 = einsum(t1.bb, (0, 1), tmp309, (2, 0), (2, 1))
+    tmp84 = einsum(tmp15, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp20 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 4, 1, 3), (2, 4))
+    tmp22 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4))
+    tmp31 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (0, 1, 2, 3), (2, 3))
+    tmp303 = einsum(tmp31, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp32 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (0, 2, 3, 1), (2, 3))
+    tmp304 = einsum(t1.bb, (0, 1), tmp32, (1, 2), (0, 2))
+    tmp33 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3))
+    tmp305 = einsum(t1.bb, (0, 1), tmp33, (2, 1), (0, 2))
+    tmp41 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 3), (4, 1))
+    tmp43 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 4), (4, 3))
+    tmp50 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp51 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp59 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (1, 3, 4, 5), (0, 2, 4, 5))
+    tmp61 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (1, 4, 5, 3), (0, 2, 4, 5))
+    tmp63 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5))
+    tmp67 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp69 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp71 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp73 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp75 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp77 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3))
+    tmp98 = einsum(t1.aa, (0, 1), f.aa.oo, (2, 0), (2, 1))
+    tmp101 = einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 0, 3, 1), (2, 3))
+    tmp104 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (1, 3), (0, 2))
+    tmp127 = einsum(tmp104, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp106 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1))
+    tmp128 = einsum(t1.aa, (0, 1), tmp106, (2, 0), (2, 1))
+    tmp108 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp129 = einsum(t1.aa, (0, 1), tmp108, (2, 0), (2, 1))
+    tmp116 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 3), (0, 4)) * -1
+    tmp117 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (1, 2, 4, 3), (0, 4))
+    tmp118 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 5), (0, 4, 5, 3)) * -1
+    tmp136 = einsum(f.aa.vv, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp137 = einsum(t1.aa, (0, 1), f.aa.ov, (2, 1), (2, 0))
+    tmp139 = einsum(t1.aa, (0, 1), tmp137, (0, 2), (2, 1))
+    tmp141 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2))
+    tmp146 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp148 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp150 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 0, 3))
+    tmp152 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (1, 2, 4, 3), (0, 4))
+    tmp153 = einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0))
+    tmp154 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4))
+    tmp164 = einsum(t1.aa, (0, 1), tmp154, (2, 0), (2, 1))
+    tmp156 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4))
+    tmp165 = einsum(t1.aa, (0, 1), tmp156, (2, 0), (2, 1))
+    tmp158 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1))
+    tmp162 = einsum(tmp158, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 5), (0, 4, 5, 3)) * -1
+    tmp159 = einsum(tmp158, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 3), (0, 4)) * -1
+    tmp160 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp220 = einsum(tmp160, (0, 1, 2, 3), t2.abab, (1, 2, 4, 5), (0, 4, 5, 3))
+    tmp161 = einsum(t2.abab, (0, 1, 2, 3), tmp160, (4, 0, 1, 3), (4, 2))
+    tmp196 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 5), (0, 4, 3, 5))
+    tmp199 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (0, 4, 3, 5))
+    tmp205 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp216 = einsum(v.aabb.vvvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3))
+    tmp226 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3))
+    tmp240 = einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ovvv, (1, 3, 4, 5), (0, 2, 4, 5))
+    tmp241 = einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ovvv, (1, 4, 5, 3), (0, 2, 4, 5))
+    tmp242 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 5, 2, 3))
+    tmp263 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 4, 5, 3), (1, 2, 4, 5))
+    tmp266 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4))
+    tmp271 = einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 0, 3, 1), (2, 3))
+    tmp272 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (1, 3), (0, 2))
+    tmp336 = einsum(tmp272, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp273 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp337 = einsum(tmp273, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp274 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3))
+    tmp338 = einsum(t1.bb, (0, 1), tmp274, (2, 0), (2, 1))
+    tmp276 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (0, 3, 4, 5), (2, 4, 1, 5))
+    tmp286 = einsum(t1.bb, (0, 1), f.bb.vv, (2, 1), (0, 2))
+    tmp287 = einsum(f.bb.ov, (0, 1), t1.bb, (2, 1), (0, 2))
+    tmp313 = einsum(t1.bb, (0, 1), tmp287, (0, 2), (2, 1))
+    tmp289 = einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp290 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp291 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp292 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 1, 2))
+    tmp294 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 0, 1, 3), (4, 2))
+    tmp295 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2))
+    tmp296 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4))
+    tmp318 = einsum(t1.bb, (0, 1), tmp296, (2, 0), (2, 1))
+    tmp298 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2))
+    tmp319 = einsum(t1.bb, (0, 1), tmp298, (2, 0), (2, 1))
+    tmp300 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1))
+    tmp317 = einsum(t2.abab, (0, 1, 2, 3), tmp300, (0, 4, 1, 2), (4, 3))
+    tmp301 = einsum(t2.abab, (0, 1, 2, 3), tmp300, (0, 4, 1, 5), (4, 2, 5, 3))
+    tmp314 = einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3))
+    tmp315 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3))
+    tmp450 = einsum(tmp315, (0, 1, 2, 3), t2.bbbb, (2, 1, 4, 5), (0, 4, 5, 3)) * -1
+    tmp316 = einsum(t2.bbbb, (0, 1, 2, 3), tmp315, (4, 0, 1, 3), (4, 2)) * -1
+    tmp328 = einsum(t1.bb, (0, 1), f.bb.oo, (2, 0), (2, 1))
+    tmp334 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 0, 3), (4, 2)) * -1
+    tmp335 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (0, 3, 1, 4), (2, 4))
+    tmp340 = einsum(f.aa.ov, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp341 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.ov, (1, 3), (0, 2))
+    tmp344 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovvv, (0, 2, 4, 5), (1, 4, 5, 3))
+    tmp345 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovvv, (0, 4, 5, 2), (1, 4, 5, 3))
+    tmp346 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp350 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (2, 4, 1, 5), (0, 4, 3, 5))
+    tmp352 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3))
+    tmp354 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp356 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp358 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp360 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5))
+    tmp383 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 1), (4, 5, 2, 3))
+    tmp385 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (1, 4, 5, 3), (0, 2, 4, 5))
+    tmp387 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 5, 2, 3))
+    tmp423 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 0, 5), (4, 2, 3, 5)) * -1
+    tmp440 = einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4))
+
+    return {f"tmp101": tmp101, f"tmp104": tmp104, f"tmp106": tmp106, f"tmp108": tmp108, f"tmp11": tmp11, f"tmp116": tmp116, f"tmp117": tmp117, f"tmp118": tmp118, f"tmp12": tmp12, f"tmp127": tmp127, f"tmp128": tmp128, f"tmp129": tmp129, f"tmp13": tmp13, f"tmp136": tmp136, f"tmp137": tmp137, f"tmp139": tmp139, f"tmp141": tmp141, f"tmp146": tmp146, f"tmp148": tmp148, f"tmp15": tmp15, f"tmp150": tmp150, f"tmp152": tmp152, f"tmp153": tmp153, f"tmp154": tmp154, f"tmp156": tmp156, f"tmp158": tmp158, f"tmp159": tmp159, f"tmp160": tmp160, f"tmp161": tmp161, f"tmp162": tmp162, f"tmp164": tmp164, f"tmp165": tmp165, f"tmp166": tmp166, f"tmp167": tmp167, f"tmp168": tmp168, f"tmp173": tmp173, f"tmp175": tmp175, f"tmp177": tmp177, f"tmp185": tmp185, f"tmp186": tmp186, f"tmp187": tmp187, f"tmp196": tmp196, f"tmp199": tmp199, f"tmp20": tmp20, f"tmp205": tmp205, f"tmp216": tmp216, f"tmp22": tmp22, f"tmp220": tmp220, f"tmp226": tmp226, f"tmp240": tmp240, f"tmp241": tmp241, f"tmp242": tmp242, f"tmp263": tmp263, f"tmp266": tmp266, f"tmp271": tmp271, f"tmp272": tmp272, f"tmp273": tmp273, f"tmp274": tmp274, f"tmp276": tmp276, f"tmp286": tmp286, f"tmp287": tmp287, f"tmp289": tmp289, f"tmp290": tmp290, f"tmp291": tmp291, f"tmp292": tmp292, f"tmp294": tmp294, f"tmp295": tmp295, f"tmp296": tmp296, f"tmp298": tmp298, f"tmp300": tmp300, f"tmp301": tmp301, f"tmp303": tmp303, f"tmp304": tmp304, f"tmp305": tmp305, f"tmp307": tmp307, f"tmp308": tmp308, f"tmp309": tmp309, f"tmp31": tmp31, f"tmp313": tmp313, f"tmp314": tmp314, f"tmp315": tmp315, f"tmp316": tmp316, f"tmp317": tmp317, f"tmp318": tmp318, f"tmp319": tmp319, f"tmp32": tmp32, f"tmp325": tmp325, f"tmp326": tmp326, f"tmp327": tmp327, f"tmp328": tmp328, f"tmp33": tmp33, f"tmp334": tmp334, f"tmp335": tmp335, f"tmp336": tmp336, f"tmp337": tmp337, f"tmp338": tmp338, f"tmp340": tmp340, f"tmp341": tmp341, f"tmp344": tmp344, f"tmp345": tmp345, f"tmp346": tmp346, f"tmp350": tmp350, f"tmp352": tmp352, f"tmp354": tmp354, f"tmp356": tmp356, f"tmp358": tmp358, f"tmp360": tmp360, f"tmp361": tmp361, f"tmp362": tmp362, f"tmp363": tmp363, f"tmp364": tmp364, f"tmp365": tmp365, f"tmp366": tmp366, f"tmp383": tmp383, f"tmp385": tmp385, f"tmp387": tmp387, f"tmp4": tmp4, f"tmp41": tmp41, f"tmp423": tmp423, f"tmp43": tmp43, f"tmp440": tmp440, f"tmp450": tmp450, f"tmp5": tmp5, f"tmp50": tmp50, f"tmp51": tmp51, f"tmp59": tmp59, f"tmp6": tmp6, f"tmp61": tmp61, f"tmp63": tmp63, f"tmp67": tmp67, f"tmp69": tmp69, f"tmp7": tmp7, f"tmp71": tmp71, f"tmp73": tmp73, f"tmp75": tmp75, f"tmp77": tmp77, f"tmp79": tmp79, f"tmp80": tmp80, f"tmp81": tmp81, f"tmp82": tmp82, f"tmp83": tmp83, f"tmp84": tmp84, f"tmp9": tmp9, f"tmp98": tmp98}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCSD.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:54:32.391517.

+

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.

+ +
+ Source code in ebcc/codegen/UCCSD.py +
4026
+4027
+4028
+4029
+4030
+4031
+4032
+4033
+4034
+4035
+4036
+4037
+4038
+4039
+4040
+4041
+4042
+4043
+4044
+4045
+4046
+4047
+4048
+4049
+4050
+4051
+4052
+4053
+4054
+4055
+4056
+4057
+4058
+4059
+4060
+4061
+4062
+4063
+4064
+4065
+4066
+4067
+4068
+4069
+4070
+4071
+4072
+4073
+4074
+4075
+4076
+4077
+4078
+4079
+4080
+4081
+4082
+4083
+4084
+4085
+4086
+4087
+4088
+4089
+4090
+4091
+4092
+4093
+4094
+4095
+4096
+4097
+4098
+4099
+4100
+4101
+4102
+4103
+4104
+4105
+4106
+4107
+4108
+4109
+4110
+4111
+4112
+4113
+4114
+4115
+4116
+4117
+4118
+4119
+4120
+4121
+4122
+4123
+4124
+4125
+4126
+4127
+4128
+4129
+4130
+4131
+4132
+4133
+4134
+4135
+4136
+4137
+4138
+4139
+4140
+4141
+4142
+4143
+4144
+4145
+4146
+4147
+4148
+4149
+4150
+4151
+4152
+4153
+4154
+4155
+4156
+4157
+4158
+4159
+4160
+4161
+4162
+4163
+4164
+4165
+4166
+4167
+4168
+4169
+4170
+4171
+4172
+4173
+4174
+4175
+4176
+4177
+4178
+4179
+4180
+4181
+4182
+4183
+4184
+4185
+4186
+4187
+4188
+4189
+4190
+4191
+4192
+4193
+4194
+4195
+4196
+4197
+4198
+4199
+4200
+4201
+4202
+4203
+4204
+4205
+4206
+4207
+4208
+4209
+4210
+4211
+4212
+4213
+4214
+4215
+4216
+4217
+4218
+4219
+4220
+4221
+4222
+4223
+4224
+4225
+4226
+4227
+4228
+4229
+4230
+4231
+4232
+4233
+4234
+4235
+4236
+4237
+4238
+4239
+4240
+4241
+4242
+4243
+4244
+4245
+4246
+4247
+4248
+4249
+4250
+4251
+4252
+4253
+4254
+4255
+4256
+4257
+4258
+4259
+4260
+4261
+4262
+4263
+4264
+4265
+4266
+4267
+4268
+4269
+4270
+4271
+4272
+4273
+4274
+4275
+4276
+4277
+4278
+4279
+4280
+4281
+4282
+4283
+4284
+4285
+4286
+4287
+4288
+4289
+4290
+4291
+4292
+4293
+4294
+4295
+4296
+4297
+4298
+4299
+4300
+4301
+4302
+4303
+4304
+4305
+4306
+4307
+4308
+4309
+4310
+4311
+4312
+4313
+4314
+4315
+4316
+4317
+4318
+4319
+4320
+4321
+4322
+4323
+4324
+4325
+4326
+4327
+4328
+4329
+4330
+4331
+4332
+4333
+4334
+4335
+4336
+4337
+4338
+4339
+4340
+4341
+4342
+4343
+4344
+4345
+4346
+4347
+4348
+4349
+4350
+4351
+4352
+4353
+4354
+4355
+4356
+4357
+4358
+4359
+4360
+4361
+4362
+4363
+4364
+4365
+4366
+4367
+4368
+4369
+4370
+4371
+4372
+4373
+4374
+4375
+4376
+4377
+4378
+4379
+4380
+4381
+4382
+4383
+4384
+4385
+4386
+4387
+4388
+4389
+4390
+4391
+4392
+4393
+4394
+4395
+4396
+4397
+4398
+4399
+4400
+4401
+4402
+4403
+4404
+4405
+4406
+4407
+4408
+4409
+4410
+4411
+4412
+4413
+4414
+4415
+4416
+4417
+4418
+4419
+4420
+4421
+4422
+4423
+4424
+4425
+4426
+4427
+4428
+4429
+4430
+4431
+4432
+4433
+4434
+4435
+4436
+4437
+4438
+4439
+4440
+4441
+4442
+4443
+4444
+4445
+4446
+4447
+4448
+4449
+4450
+4451
+4452
+4453
+4454
+4455
+4456
+4457
+4458
+4459
+4460
+4461
+4462
+4463
+4464
+4465
+4466
+4467
+4468
+4469
+4470
+4471
+4472
+4473
+4474
+4475
+4476
+4477
+4478
+4479
+4480
+4481
+4482
+4483
+4484
+4485
+4486
+4487
+4488
+4489
+4490
+4491
+4492
+4493
+4494
+4495
+4496
+4497
+4498
+4499
+4500
+4501
+4502
+4503
+4504
+4505
+4506
+4507
+4508
+4509
+4510
+4511
+4512
+4513
+4514
+4515
+4516
+4517
+4518
+4519
+4520
+4521
+4522
+4523
+4524
+4525
+4526
+4527
+4528
+4529
+4530
+4531
+4532
+4533
+4534
+4535
+4536
+4537
+4538
+4539
+4540
+4541
+4542
+4543
+4544
+4545
+4546
+4547
+4548
+4549
+4550
+4551
+4552
+4553
+4554
+4555
+4556
+4557
+4558
+4559
+4560
+4561
+4562
+4563
+4564
+4565
+4566
+4567
+4568
+4569
+4570
+4571
+4572
+4573
+4574
+4575
+4576
+4577
+4578
+4579
+4580
+4581
+4582
+4583
+4584
+4585
+4586
+4587
+4588
+4589
+4590
+4591
+4592
+4593
+4594
+4595
+4596
+4597
+4598
+4599
+4600
+4601
+4602
+4603
+4604
+4605
+4606
+4607
+4608
+4609
+4610
+4611
+4612
+4613
+4614
+4615
+4616
+4617
+4618
+4619
+4620
+4621
+4622
+4623
+4624
+4625
+4626
+4627
+4628
+4629
+4630
+4631
+4632
+4633
+4634
+4635
+4636
+4637
+4638
+4639
+4640
+4641
+4642
+4643
+4644
+4645
+4646
+4647
+4648
+4649
+4650
+4651
+4652
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:54:32.391517.
+
+    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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp130 = np.copy(ints.tmp291)
+    tmp130 += np.transpose(ints.tmp360, (0, 1, 3, 2))
+    tmp130 += np.transpose(ints.tmp356, (0, 1, 3, 2)) * 2
+    tmp126 = einsum(r1.b, (0,), ints.tmp315, (1, 2, 3, 0), (1, 2, 3))
+    tmp128 = np.copy(ints.tmp315)
+    tmp128 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3))
+    tmp99 = einsum(v.bbbb.ooov, (0, 1, 2, 3), r1.b, (3,), (0, 1, 2))
+    tmp102 = np.copy(ints.tmp315)
+    tmp102 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3))
+    tmp88 = np.copy(ints.tmp300)
+    tmp88 += np.transpose(v.aabb.ovoo, (0, 2, 3, 1))
+    tmp104 = np.copy(f.bb.ov)
+    tmp104 += ints.tmp12
+    tmp104 += ints.tmp15
+    tmp106 = np.copy(ints.tmp290)
+    tmp106 += ints.tmp354 * 2
+    tmp27 = np.copy(ints.tmp146)
+    tmp27 += ints.tmp67 * 2
+    tmp19 = einsum(v.aaaa.ooov, (0, 1, 2, 3), r1.a, (3,), (0, 1, 2))
+    tmp25 = np.copy(f.aa.ov)
+    tmp25 += ints.tmp13
+    tmp25 += ints.tmp9
+    tmp23 = np.copy(ints.tmp160)
+    tmp23 += v.aabb.ooov
+    tmp21 = np.copy(ints.tmp158)
+    tmp21 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3))
+    tmp51 = np.copy(ints.tmp148)
+    tmp51 += np.transpose(ints.tmp75, (0, 1, 3, 2))
+    tmp51 += np.transpose(ints.tmp69, (0, 1, 3, 2)) * 2
+    tmp47 = einsum(ints.tmp158, (0, 1, 2, 3), r1.a, (3,), (0, 1, 2))
+    tmp49 = np.copy(ints.tmp158)
+    tmp49 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3))
+    tmp131 = einsum(r1.b, (0,), tmp130, (1, 2, 0, 3), (1, 2, 3))
+    del tmp130
+    tmp127 = einsum(tmp126, (0, 1, 2), t1.bb, (1, 3), (0, 2, 3))
+    del tmp126
+    tmp129 = einsum(r2.bbb, (0, 1, 2), tmp128, (3, 4, 2, 1), (3, 4, 0)) * -1
+    del tmp128
+    tmp125 = einsum(r2.bbb, (0, 1, 2), ints.tmp11, (3, 1), (3, 2, 0))
+    tmp100 = einsum(t1.bb, (0, 1), tmp99, (2, 0, 3), (2, 3, 1))
+    del tmp99
+    tmp103 = einsum(r2.bbb, (0, 1, 2), tmp102, (3, 2, 4, 1), (3, 4, 0)) * -2
+    del tmp102
+    tmp101 = einsum(r2.aba, (0, 1, 2), tmp88, (2, 3, 4, 0), (3, 4, 1))
+    tmp105 = einsum(r2.bbb, (0, 1, 2), tmp104, (3, 1), (3, 2, 0)) * -2
+    del tmp104
+    tmp107 = einsum(r1.b, (0,), tmp106, (1, 2, 3, 0), (1, 2, 3))
+    del tmp106
+    tmp113 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), r2.bbb, (3, 1, 4), (4, 0, 2)) * -1
+    tmp112 = einsum(r1.b, (0,), v.bbbb.ovov, (1, 2, 3, 0), (1, 3, 2))
+    tmp34 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), r2.aaa, (1, 3, 4), (4, 0, 2))
+    tmp33 = einsum(v.aaaa.ovov, (0, 1, 2, 3), r1.a, (3,), (0, 2, 1))
+    tmp28 = einsum(tmp27, (0, 1, 2, 3), r1.a, (3,), (0, 1, 2)) * 0.5
+    del tmp27
+    tmp20 = einsum(tmp19, (0, 1, 2), t1.aa, (1, 3), (0, 2, 3))
+    del tmp19
+    tmp26 = einsum(r2.aaa, (0, 1, 2), tmp25, (3, 1), (2, 3, 0)) * -1
+    del tmp25
+    tmp24 = einsum(r2.bab, (0, 1, 2), tmp23, (3, 4, 2, 0), (3, 4, 1)) * -0.5
+    tmp22 = einsum(r2.aaa, (0, 1, 2), tmp21, (3, 2, 4, 1), (3, 4, 0)) * -1
+    del tmp21
+    tmp52 = einsum(tmp51, (0, 1, 2, 3), r1.a, (2,), (0, 1, 3))
+    del tmp51
+    tmp46 = einsum(ints.tmp7, (0, 1), r2.aaa, (2, 1, 3), (0, 3, 2))
+    tmp48 = einsum(tmp47, (0, 1, 2), t1.aa, (1, 3), (0, 2, 3))
+    del tmp47
+    tmp50 = einsum(r2.aaa, (0, 1, 2), tmp49, (3, 4, 2, 1), (3, 4, 0)) * -1
+    del tmp49
+    tmp0 = np.copy(f.bb.ov)
+    tmp0 += ints.tmp12
+    tmp0 += ints.tmp15
+    tmp0 += ints.tmp11 * -1
+    r1new.b = einsum(r2.bbb, (0, 1, 2), tmp0, (2, 1), (0,)) * 2
+    r1new.a = einsum(tmp0, (0, 1), r2.bab, (1, 2, 0), (2,)) * -1
+    tmp123 = np.copy(ints.tmp290)
+    tmp123 += ints.tmp354 * 2
+    tmp121 = np.copy(ints.tmp292)
+    tmp121 += ints.tmp352
+    tmp121 += ints.tmp358 * 2
+    tmp132 = np.copy(tmp125) * 2
+    del tmp125
+    tmp132 += np.transpose(tmp127, (1, 0, 2))
+    del tmp127
+    tmp132 += np.transpose(tmp129, (1, 0, 2)) * -2
+    del tmp129
+    tmp132 += np.transpose(tmp131, (1, 0, 2))
+    del tmp131
+    tmp134 = np.copy(ints.tmp440)
+    tmp134 += ints.tmp385 * 2
+    tmp119 = einsum(r1.b, (0,), v.bbbb.oovv, (1, 2, 3, 0), (1, 2, 3))
+    tmp108 = np.copy(np.transpose(tmp100, (1, 0, 2)))
+    del tmp100
+    tmp108 += np.transpose(tmp101, (1, 0, 2)) * -1
+    del tmp101
+    tmp108 += np.transpose(tmp103, (1, 0, 2)) * -1
+    del tmp103
+    tmp108 += tmp105 * -1
+    del tmp105
+    tmp108 += np.transpose(tmp107, (1, 0, 2))
+    del tmp107
+    tmp114 = np.copy(tmp112)
+    del tmp112
+    tmp114 += tmp113 * 2
+    del tmp113
+    tmp97 = np.copy(f.bb.vv) * 0.5
+    tmp97 += np.transpose(ints.tmp31, (1, 0)) * 0.5
+    tmp97 += np.transpose(ints.tmp33, (1, 0)) * 0.5
+    tmp97 += np.transpose(ints.tmp41, (1, 0)) * -1
+    tmp97 += np.transpose(ints.tmp43, (1, 0)) * -0.5
+    tmp95 = np.copy(ints.tmp291)
+    tmp95 += np.transpose(ints.tmp356, (0, 1, 3, 2)) * 2
+    tmp95 += np.transpose(ints.tmp360, (0, 1, 3, 2))
+    tmp110 = np.copy(ints.tmp383)
+    tmp110 += ints.tmp387 * 0.5
+    tmp110 += v.bbbb.ovvv * 0.5
+    tmp1 = np.copy(f.aa.ov)
+    tmp1 += ints.tmp13
+    tmp1 += ints.tmp9
+    tmp1 += ints.tmp7 * -1
+    r1new.b += einsum(tmp1, (0, 1), r2.aba, (1, 2, 0), (2,)) * -1
+    r1new.a += einsum(tmp1, (0, 1), r2.aaa, (2, 1, 0), (2,)) * 2
+    tmp17 = np.copy(f.aa.vv) * 0.5
+    tmp17 += np.transpose(ints.tmp4, (1, 0)) * 0.5
+    tmp17 += np.transpose(ints.tmp6, (1, 0)) * 0.5
+    tmp17 += np.transpose(ints.tmp20, (1, 0)) * -1
+    tmp17 += np.transpose(ints.tmp22, (1, 0)) * -0.5
+    tmp15 = np.copy(ints.tmp150)
+    tmp15 += ints.tmp73
+    tmp15 += ints.tmp77 * 2
+    tmp35 = np.copy(tmp33)
+    del tmp33
+    tmp35 += tmp34 * 2
+    del tmp34
+    tmp31 = np.copy(ints.tmp59)
+    tmp31 += ints.tmp63 * 0.5
+    tmp31 += v.aaaa.ovvv * 0.5
+    tmp13 = np.copy(ints.tmp148)
+    tmp13 += np.transpose(ints.tmp69, (0, 1, 3, 2)) * 2
+    tmp13 += np.transpose(ints.tmp75, (0, 1, 3, 2))
+    tmp29 = np.copy(np.transpose(tmp20, (1, 0, 2))) * 0.5
+    del tmp20
+    tmp29 += np.transpose(tmp22, (1, 0, 2)) * -1
+    del tmp22
+    tmp29 += np.transpose(tmp24, (1, 0, 2))
+    del tmp24
+    tmp29 += np.transpose(tmp26, (1, 0, 2)) * -1
+    del tmp26
+    tmp29 += np.transpose(tmp28, (1, 0, 2))
+    del tmp28
+    tmp44 = np.copy(ints.tmp146)
+    tmp44 += ints.tmp67 * 2
+    tmp53 = np.copy(np.transpose(tmp46, (1, 0, 2))) * 2
+    del tmp46
+    tmp53 += tmp48
+    del tmp48
+    tmp53 += tmp50 * -2
+    del tmp50
+    tmp53 += tmp52
+    del tmp52
+    tmp40 = einsum(v.aaaa.oovv, (0, 1, 2, 3), r1.a, (3,), (0, 1, 2))
+    tmp55 = np.copy(ints.tmp141)
+    tmp55 += ints.tmp61 * 2
+    tmp10 = einsum(r1.b, (0,), tmp0, (1, 0), (1,))
+    tmp9 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r2.bbb, (3, 1, 2), (0,)) * -1
+    tmp8 = einsum(r2.aba, (0, 1, 2), v.aabb.ovov, (2, 0, 3, 1), (3,))
+    tmp124 = einsum(r2.bbb, (0, 1, 2), tmp123, (3, 2, 4, 1), (3, 4, 0)) * -1
+    del tmp123
+    tmp122 = einsum(r2.aba, (0, 1, 2), tmp121, (2, 3, 0, 4), (3, 4, 1))
+    del tmp121
+    tmp133 = einsum(tmp132, (0, 1, 2), t1.bb, (0, 3), (1, 2, 3))
+    del tmp132
+    tmp117 = einsum(ints.tmp32, (0, 1), r2.bbb, (2, 0, 3), (3, 1, 2))
+    tmp135 = einsum(tmp134, (0, 1, 2, 3), r1.b, (2,), (0, 1, 3))
+    del tmp134
+    tmp118 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r2.bbb, (4, 3, 2), (0, 4, 1))
+    tmp120 = einsum(tmp119, (0, 1, 2), t1.bb, (1, 3), (0, 3, 2))
+    del tmp119
+    tmp109 = einsum(t1.bb, (0, 1), tmp108, (0, 2, 3), (2, 3, 1))
+    del tmp108
+    tmp115 = einsum(t1.bb, (0, 1), tmp114, (2, 0, 3), (2, 3, 1))
+    del tmp114
+    tmp94 = einsum(r2.bbb, (0, 1, 2), v.bbbb.oovv, (3, 2, 4, 1), (3, 0, 4))
+    tmp98 = einsum(tmp97, (0, 1), r2.bbb, (2, 0, 3), (3, 1, 2)) * -4
+    del tmp97
+    tmp96 = einsum(r2.bbb, (0, 1, 2), tmp95, (3, 2, 1, 4), (3, 4, 0)) * -2
+    del tmp95
+    tmp111 = einsum(r1.b, (0,), tmp110, (1, 2, 3, 0), (1, 2, 3)) * 2
+    del tmp110
+    tmp93 = einsum(r2.aba, (0, 1, 2), v.aabb.ovov, (2, 0, 3, 4), (3, 1, 4))
+    tmp92 = einsum(r2.aba, (0, 1, 2), ints.tmp350, (2, 3, 0, 4), (3, 4, 1))
+    tmp4 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.bab, (3, 1, 2), (0,)) * -1
+    tmp5 = einsum(tmp1, (0, 1), r1.a, (1,), (0,))
+    tmp3 = einsum(r2.aaa, (0, 1, 2), v.aaaa.ovov, (3, 0, 2, 1), (3,))
+    tmp78 = np.copy(ints.tmp315)
+    tmp78 += np.transpose(ints.tmp315, (0, 2, 1, 3)) * -1
+    tmp78 += v.bbbb.ooov * -1
+    tmp78 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3))
+    tmp70 = einsum(tmp1, (0, 1), t1.aa, (0, 2), (2, 1))
+    del tmp1
+    tmp87 = np.copy(np.transpose(r2.aaa, (2, 0, 1)))
+    tmp87 += einsum(r1.a, (0,), t1.aa, (1, 2), (1, 0, 2)) * 0.5
+    tmp77 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.bab, (3, 1, 4), (0, 4, 2)) * -1
+    r2new.bab = einsum(tmp77, (0, 1, 2), t2.abab, (0, 2, 3, 4), (4, 3, 1)) * -1
+    tmp74 = np.copy(np.transpose(r2.bbb, (2, 0, 1)))
+    tmp74 += einsum(t1.bb, (0, 1), r1.b, (2,), (0, 2, 1)) * 0.5
+    tmp63 = einsum(r2.aba, (0, 1, 2), v.aabb.ovov, (3, 0, 4, 1), (2, 3, 4))
+    r2new.aba = einsum(t2.abab, (0, 1, 2, 3), tmp63, (4, 0, 1), (2, 3, 4))
+    tmp64 = np.copy(ints.tmp158)
+    tmp64 += np.transpose(ints.tmp158, (0, 2, 1, 3)) * -1
+    tmp64 += v.aaaa.ooov * -1
+    tmp64 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3))
+    tmp18 = einsum(r2.aaa, (0, 1, 2), tmp17, (1, 3), (2, 0, 3)) * -4
+    del tmp17
+    tmp12 = einsum(r2.aaa, (0, 1, 2), v.aaaa.oovv, (3, 2, 4, 1), (3, 0, 4))
+    tmp16 = einsum(tmp15, (0, 1, 2, 3), r2.bab, (3, 4, 1), (0, 4, 2)) * -1
+    del tmp15
+    tmp36 = einsum(tmp35, (0, 1, 2), t1.aa, (1, 3), (0, 3, 2))
+    del tmp35
+    tmp32 = einsum(r1.a, (0,), tmp31, (1, 2, 3, 0), (1, 2, 3)) * 2
+    del tmp31
+    tmp14 = einsum(r2.aaa, (0, 1, 2), tmp13, (3, 2, 1, 4), (3, 0, 4)) * -2
+    del tmp13
+    tmp30 = einsum(tmp29, (0, 1, 2), t1.aa, (0, 3), (1, 3, 2)) * 2
+    del tmp29
+    tmp45 = einsum(tmp44, (0, 1, 2, 3), r2.aaa, (4, 3, 1), (0, 4, 2)) * -1
+    del tmp44
+    tmp43 = einsum(r2.bab, (0, 1, 2), v.aabb.ovov, (3, 4, 2, 0), (3, 1, 4)) * -1
+    tmp38 = einsum(r2.aaa, (0, 1, 2), ints.tmp5, (1, 3), (2, 3, 0))
+    tmp54 = einsum(tmp53, (0, 1, 2), t1.aa, (1, 3), (0, 3, 2))
+    del tmp53
+    tmp42 = einsum(ints.tmp71, (0, 1, 2, 3), r2.bab, (3, 4, 1), (0, 2, 4)) * -1
+    tmp41 = einsum(t1.aa, (0, 1), tmp40, (2, 0, 3), (2, 1, 3))
+    del tmp40
+    tmp39 = einsum(r2.aaa, (0, 1, 2), v.aaaa.ovov, (3, 4, 2, 1), (3, 0, 4))
+    tmp56 = einsum(r1.a, (0,), tmp55, (1, 2, 0, 3), (1, 2, 3))
+    del tmp55
+    tmp11 = np.copy(tmp8) * -1
+    del tmp8
+    tmp11 += tmp9 * 2
+    del tmp9
+    tmp11 += tmp10
+    del tmp10
+    r2new.bbb = einsum(tmp11, (0,), t2.bbbb, (1, 0, 2, 3), (2, 3, 1)) * 2
+    r2new.aba += einsum(t2.abab, (0, 1, 2, 3), tmp11, (1,), (2, 3, 0))
+    r1new.b += einsum(t1.bb, (0, 1), tmp11, (0,), (1,)) * -1
+    del tmp11
+    tmp138 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r2.bbb, (3, 1, 4), (4, 0, 2)) * -1
+    tmp137 = np.copy(ints.tmp423)
+    tmp137 += ints.tmp450 * -1
+    r2new.bbb += einsum(r1.b, (0,), tmp137, (1, 2, 3, 0), (3, 2, 1)) * 2
+    del tmp137
+    tmp86 = np.copy(f.bb.oo)
+    tmp86 += np.transpose(ints.tmp273, (1, 0))
+    tmp86 += np.transpose(ints.tmp274, (1, 0))
+    tmp86 += ints.tmp287
+    tmp86 += np.transpose(ints.tmp296, (1, 0)) * 2
+    tmp86 += np.transpose(ints.tmp298, (1, 0))
+    tmp86 += np.transpose(ints.tmp308, (1, 0))
+    tmp86 += np.transpose(ints.tmp309, (1, 0))
+    tmp86 += np.transpose(ints.tmp272, (1, 0)) * -1
+    tmp86 += np.transpose(ints.tmp307, (1, 0)) * -1
+    r2new.bbb += einsum(tmp86, (0, 1), r2.bbb, (2, 3, 0), (2, 3, 1)) * -2
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp86, (2, 3), (0, 1, 3)) * -1
+    del tmp86
+    tmp136 = np.copy(tmp117) * 2
+    del tmp117
+    tmp136 += tmp118 * 2
+    del tmp118
+    tmp136 += tmp120
+    del tmp120
+    tmp136 += tmp122
+    del tmp122
+    tmp136 += tmp124 * -2
+    del tmp124
+    tmp136 += tmp133
+    del tmp133
+    tmp136 += tmp135
+    del tmp135
+    r2new.bbb += np.transpose(tmp136, (2, 1, 0)) * -1
+    r2new.bbb += np.transpose(tmp136, (1, 2, 0))
+    del tmp136
+    tmp116 = np.copy(tmp92)
+    del tmp92
+    tmp116 += tmp93
+    del tmp93
+    tmp116 += tmp94 * 2
+    del tmp94
+    tmp116 += tmp96 * -1
+    del tmp96
+    tmp116 += tmp98 * -1
+    del tmp98
+    tmp116 += tmp109
+    del tmp109
+    tmp116 += tmp111
+    del tmp111
+    tmp116 += np.transpose(tmp115, (0, 2, 1))
+    del tmp115
+    r2new.bbb += np.transpose(tmp116, (2, 1, 0))
+    r2new.bbb += np.transpose(tmp116, (1, 2, 0)) * -1
+    del tmp116
+    tmp139 = np.copy(t2.bbbb)
+    tmp139 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1))
+    r2new.bbb += einsum(tmp138, (0, 1, 2), tmp139, (1, 2, 3, 4), (4, 3, 0)) * -2
+    del tmp138, tmp139
+    tmp91 = np.copy(ints.tmp271)
+    tmp91 += ints.tmp294 * 2
+    tmp91 += ints.tmp304
+    tmp91 += ints.tmp313
+    tmp91 += ints.tmp316 * 2
+    tmp91 += ints.tmp317
+    tmp91 += ints.tmp318 * 2
+    tmp91 += ints.tmp319
+    tmp91 += ints.tmp326
+    tmp91 += ints.tmp327
+    tmp91 += ints.tmp328
+    tmp91 += ints.tmp334 * 2
+    tmp91 += ints.tmp335
+    tmp91 += ints.tmp337
+    tmp91 += ints.tmp338
+    tmp91 += ints.tmp361
+    tmp91 += ints.tmp363 * 2
+    tmp91 += f.bb.ov * -1
+    tmp91 += ints.tmp12 * -1
+    tmp91 += ints.tmp15 * -1
+    tmp91 += ints.tmp286 * -1
+    tmp91 += ints.tmp295 * -1
+    tmp91 += ints.tmp303 * -1
+    tmp91 += ints.tmp305 * -1
+    tmp91 += ints.tmp325 * -1
+    tmp91 += ints.tmp336 * -1
+    tmp91 += ints.tmp340 * -1
+    tmp91 += ints.tmp341 * -2
+    tmp91 += ints.tmp362 * -1
+    tmp91 += ints.tmp364 * -2
+    tmp91 += ints.tmp365 * -1
+    tmp91 += ints.tmp366 * -2
+    r2new.bbb += einsum(r1.b, (0,), tmp91, (1, 2), (2, 0, 1))
+    r2new.bbb += einsum(r1.b, (0,), tmp91, (1, 2), (0, 2, 1)) * -1
+    r2new.bab += einsum(tmp91, (0, 1), r1.a, (2,), (1, 2, 0))
+    del tmp91
+    tmp90 = einsum(v.aabb.ovvv, (0, 1, 2, 3), r2.bab, (3, 1, 4), (0, 4, 2))
+    tmp90 += einsum(r2.bab, (0, 1, 2), tmp88, (3, 4, 2, 1), (3, 4, 0)) * -1
+    r2new.bab += einsum(t1.aa, (0, 1), tmp90, (0, 2, 3), (3, 1, 2)) * -1
+    del tmp90
+    tmp6 = np.copy(tmp3) * 2
+    del tmp3
+    tmp6 += tmp4
+    del tmp4
+    tmp6 += tmp5
+    del tmp5
+    r2new.bab += einsum(tmp6, (0,), t2.abab, (0, 1, 2, 3), (3, 2, 1))
+    r2new.aaa = einsum(tmp6, (0,), t2.aaaa, (1, 0, 2, 3), (2, 3, 1)) * 2
+    r1new.a += einsum(tmp6, (0,), t1.aa, (0, 1), (1,)) * -1
+    del tmp6
+    tmp84 = np.copy(ints.tmp32) * 0.5
+    tmp84 += np.transpose(ints.tmp41, (1, 0))
+    tmp84 += np.transpose(ints.tmp43, (1, 0)) * 0.5
+    tmp84 += f.bb.vv * -0.5
+    tmp84 += np.transpose(ints.tmp31, (1, 0)) * -0.5
+    tmp84 += np.transpose(ints.tmp33, (1, 0)) * -0.5
+    tmp84 += einsum(t1.bb, (0, 1), tmp0, (0, 2), (2, 1)) * 0.5
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp84, (0, 3), (3, 1, 2)) * -2
+    del tmp84
+    tmp79 = np.copy(np.transpose(ints.tmp291, (0, 1, 3, 2)))
+    tmp79 += ints.tmp356 * 2
+    tmp79 += ints.tmp360
+    tmp79 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    tmp79 += ints.tmp290 * -1
+    tmp79 += ints.tmp354 * -2
+    tmp79 += v.bbbb.oovv * -1
+    tmp79 += einsum(tmp78, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3)) * -1
+    del tmp78
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp79, (3, 2, 4, 0), (4, 1, 3))
+    del tmp79
+    tmp71 = np.copy(np.transpose(ints.tmp20, (1, 0))) * 2
+    tmp71 += np.transpose(ints.tmp22, (1, 0))
+    tmp71 += ints.tmp5
+    tmp71 += f.aa.vv * -1
+    tmp71 += np.transpose(ints.tmp4, (1, 0)) * -1
+    tmp71 += np.transpose(ints.tmp6, (1, 0)) * -1
+    tmp71 += np.transpose(tmp70, (1, 0))
+    del tmp70
+    r2new.bab += einsum(tmp71, (0, 1), r2.bab, (2, 0, 3), (2, 1, 3)) * -1
+    r2new.aba += einsum(tmp71, (0, 1), r2.aba, (0, 2, 3), (1, 2, 3)) * -1
+    del tmp71
+    tmp85 = np.copy(ints.tmp276)
+    tmp85 += ints.tmp289
+    tmp85 += ints.tmp301
+    tmp85 += ints.tmp344
+    tmp85 += ints.tmp346 * 2
+    tmp85 += np.transpose(v.aabb.vvov, (2, 0, 1, 3))
+    tmp85 += ints.tmp263 * -1
+    tmp85 += np.transpose(ints.tmp345, (0, 2, 1, 3)) * -1
+    r2new.bab += einsum(r1.a, (0,), tmp85, (1, 2, 0, 3), (3, 2, 1)) * -1
+    del tmp85
+    tmp80 = np.copy(np.transpose(r2.aaa, (2, 0, 1))) * 2
+    tmp80 += einsum(r1.a, (0,), t1.aa, (1, 2), (1, 0, 2))
+    tmp81 = np.copy(ints.tmp292)
+    tmp81 += ints.tmp352
+    tmp81 += ints.tmp358 * 2
+    tmp81 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp81 += ints.tmp350 * -1
+    r2new.bab += einsum(tmp80, (0, 1, 2), tmp81, (0, 3, 1, 4), (4, 2, 3))
+    del tmp80, tmp81
+    tmp89 = einsum(r2.bab, (0, 1, 2), v.aabb.vvov, (3, 1, 4, 0), (2, 4, 3)) * -1
+    tmp89 += einsum(tmp77, (0, 1, 2), t1.aa, (0, 3), (1, 2, 3)) * -1
+    del tmp77
+    tmp89 += einsum(tmp87, (0, 1, 2), tmp88, (0, 3, 4, 1), (3, 4, 2)) * -2
+    del tmp88, tmp87
+    r2new.bab += einsum(tmp89, (0, 1, 2), t1.bb, (1, 3), (3, 2, 0))
+    del tmp89
+    tmp82 = np.copy(np.transpose(r2.bab, (2, 1, 0))) * -1
+    tmp82 += einsum(t1.bb, (0, 1), r1.a, (2,), (0, 2, 1))
+    tmp83 = np.copy(ints.tmp314)
+    tmp83 += np.transpose(v.aabb.vvoo, (2, 3, 0, 1))
+    tmp83 += ints.tmp266 * -1
+    r2new.bab += einsum(tmp82, (0, 1, 2), tmp83, (3, 0, 4, 1), (2, 4, 3))
+    del tmp82, tmp83
+    tmp67 = np.copy(ints.tmp150)
+    tmp67 += ints.tmp73
+    tmp67 += ints.tmp77 * 2
+    tmp67 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp67 += ints.tmp71 * -1
+    tmp62 = np.copy(ints.tmp101)
+    tmp62 += ints.tmp116 * 2
+    tmp62 += ints.tmp117
+    tmp62 += ints.tmp128
+    tmp62 += ints.tmp129
+    tmp62 += ints.tmp139
+    tmp62 += ints.tmp152 * 2
+    tmp62 += ints.tmp159 * 2
+    tmp62 += ints.tmp161
+    tmp62 += ints.tmp164 * 2
+    tmp62 += ints.tmp165
+    tmp62 += ints.tmp167
+    tmp62 += ints.tmp186
+    tmp62 += ints.tmp187
+    tmp62 += ints.tmp79 * 2
+    tmp62 += ints.tmp81
+    tmp62 += ints.tmp98
+    tmp62 += f.aa.ov * -1
+    tmp62 += ints.tmp127 * -1
+    tmp62 += ints.tmp136 * -1
+    tmp62 += ints.tmp13 * -1
+    tmp62 += ints.tmp153 * -1
+    tmp62 += ints.tmp166 * -1
+    tmp62 += ints.tmp168 * -1
+    tmp62 += ints.tmp185 * -1
+    tmp62 += ints.tmp50 * -2
+    tmp62 += ints.tmp51 * -1
+    tmp62 += ints.tmp80 * -2
+    tmp62 += ints.tmp82 * -1
+    tmp62 += ints.tmp83 * -2
+    tmp62 += ints.tmp84 * -1
+    tmp62 += ints.tmp9 * -1
+    r2new.aba += einsum(r1.b, (0,), tmp62, (1, 2), (2, 0, 1))
+    r2new.aaa += einsum(tmp62, (0, 1), r1.a, (2,), (1, 2, 0))
+    r2new.aaa += einsum(tmp62, (0, 1), r1.a, (2,), (2, 1, 0)) * -1
+    del tmp62
+    tmp69 = np.copy(ints.tmp226)
+    tmp69 += v.aabb.oovv
+    tmp69 += ints.tmp199 * -1
+    tmp75 = einsum(v.aabb.ovvv, (0, 1, 2, 3), r2.aba, (1, 3, 4), (4, 0, 2)) * -1
+    tmp75 += einsum(t1.bb, (0, 1), tmp63, (2, 3, 0), (2, 3, 1))
+    del tmp63
+    tmp75 += einsum(tmp74, (0, 1, 2), tmp23, (3, 4, 0, 1), (3, 4, 2)) * -2
+    del tmp74
+    r2new.aba += einsum(t1.aa, (0, 1), tmp75, (2, 0, 3), (1, 3, 2))
+    del tmp75
+    tmp72 = np.copy(ints.tmp32)
+    tmp72 += np.transpose(ints.tmp41, (1, 0)) * 2
+    tmp72 += np.transpose(ints.tmp43, (1, 0))
+    tmp72 += f.bb.vv * -1
+    tmp72 += np.transpose(ints.tmp31, (1, 0)) * -1
+    tmp72 += np.transpose(ints.tmp33, (1, 0)) * -1
+    tmp72 += einsum(t1.bb, (0, 1), tmp0, (0, 2), (2, 1))
+    del tmp0
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp72, (1, 3), (0, 3, 2)) * -1
+    del tmp72
+    tmp66 = np.copy(np.transpose(r2.bbb, (2, 0, 1))) * 2
+    tmp66 += einsum(t1.bb, (0, 1), r1.b, (2,), (0, 2, 1))
+    r2new.aba += einsum(tmp67, (0, 1, 2, 3), tmp66, (1, 3, 4), (2, 4, 0))
+    del tmp67, tmp66
+    tmp73 = np.copy(ints.tmp205)
+    tmp73 += ints.tmp216
+    tmp73 += ints.tmp220
+    tmp73 += ints.tmp240
+    tmp73 += ints.tmp242 * 2
+    tmp73 += v.aabb.ovvv
+    tmp73 += ints.tmp196 * -1
+    tmp73 += np.transpose(ints.tmp241, (0, 1, 3, 2)) * -1
+    r2new.aba += einsum(tmp73, (0, 1, 2, 3), r1.b, (3,), (1, 2, 0)) * -1
+    del tmp73
+    tmp65 = np.copy(np.transpose(ints.tmp148, (0, 1, 3, 2)))
+    tmp65 += ints.tmp69 * 2
+    tmp65 += ints.tmp75
+    tmp65 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp65 += ints.tmp146 * -1
+    tmp65 += ints.tmp67 * -2
+    tmp65 += v.aaaa.oovv * -1
+    tmp65 += einsum(tmp64, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3)) * -1
+    del tmp64
+    r2new.aba += einsum(tmp65, (0, 1, 2, 3), r2.aba, (3, 4, 1), (2, 4, 0))
+    del tmp65
+    tmp58 = np.copy(f.aa.oo)
+    tmp58 += np.transpose(ints.tmp106, (1, 0))
+    tmp58 += np.transpose(ints.tmp108, (1, 0))
+    tmp58 += ints.tmp137
+    tmp58 += np.transpose(ints.tmp154, (1, 0)) * 2
+    tmp58 += np.transpose(ints.tmp156, (1, 0))
+    tmp58 += np.transpose(ints.tmp175, (1, 0))
+    tmp58 += np.transpose(ints.tmp177, (1, 0))
+    tmp58 += np.transpose(ints.tmp104, (1, 0)) * -1
+    tmp58 += np.transpose(ints.tmp173, (1, 0)) * -1
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp58, (2, 3), (0, 1, 3)) * -1
+    r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp58, (2, 3), (0, 1, 3)) * -2
+    del tmp58
+    tmp76 = einsum(r2.aba, (0, 1, 2), v.aabb.vvov, (3, 0, 4, 1), (2, 4, 3)) * -1
+    tmp76 += einsum(r2.aba, (0, 1, 2), tmp23, (3, 2, 4, 1), (3, 4, 0))
+    del tmp23
+    r2new.aba += einsum(t1.bb, (0, 1), tmp76, (2, 0, 3), (3, 1, 2))
+    del tmp76
+    tmp68 = np.copy(np.transpose(r2.aba, (2, 0, 1)))
+    tmp68 += einsum(r1.b, (0,), t1.aa, (1, 2), (1, 2, 0)) * -1
+    r2new.aba += einsum(tmp69, (0, 1, 2, 3), tmp68, (1, 4, 3), (4, 2, 0)) * -1
+    del tmp69, tmp68
+    tmp61 = np.copy(t2.aaaa)
+    tmp61 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1))
+    tmp37 = np.copy(tmp12) * 2
+    del tmp12
+    tmp37 += np.transpose(tmp14, (0, 2, 1)) * -1
+    del tmp14
+    tmp37 += np.transpose(tmp16, (0, 2, 1))
+    del tmp16
+    tmp37 += np.transpose(tmp18, (0, 2, 1)) * -1
+    del tmp18
+    tmp37 += np.transpose(tmp30, (0, 2, 1))
+    del tmp30
+    tmp37 += tmp32
+    del tmp32
+    tmp37 += tmp36
+    del tmp36
+    r2new.aaa += np.transpose(tmp37, (2, 1, 0))
+    r2new.aaa += np.transpose(tmp37, (1, 2, 0)) * -1
+    del tmp37
+    tmp57 = np.copy(tmp38) * 2
+    del tmp38
+    tmp57 += tmp39 * 2
+    del tmp39
+    tmp57 += tmp41
+    del tmp41
+    tmp57 += tmp42
+    del tmp42
+    tmp57 += tmp43
+    del tmp43
+    tmp57 += np.transpose(tmp45, (0, 2, 1)) * -2
+    del tmp45
+    tmp57 += np.transpose(tmp54, (0, 2, 1))
+    del tmp54
+    tmp57 += tmp56
+    del tmp56
+    r2new.aaa += np.transpose(tmp57, (2, 1, 0)) * -1
+    r2new.aaa += np.transpose(tmp57, (1, 2, 0))
+    del tmp57
+    tmp60 = einsum(r2.aaa, (0, 1, 2), v.aaaa.ovov, (3, 0, 4, 1), (2, 3, 4))
+    r2new.aaa += einsum(tmp60, (0, 1, 2), tmp61, (1, 2, 3, 4), (4, 3, 0)) * -2
+    del tmp60, tmp61
+    tmp59 = np.copy(ints.tmp118)
+    tmp59 += ints.tmp162 * -1
+    r2new.aaa += einsum(r1.a, (0,), tmp59, (1, 2, 3, 0), (3, 2, 1)) * 2
+    del tmp59
+    tmp7 = np.copy(ints.tmp32)
+    tmp7 += np.transpose(ints.tmp41, (1, 0)) * 2
+    tmp7 += np.transpose(ints.tmp43, (1, 0))
+    tmp7 += f.bb.vv * -1
+    tmp7 += np.transpose(ints.tmp31, (1, 0)) * -1
+    tmp7 += np.transpose(ints.tmp33, (1, 0)) * -1
+    r1new.b += einsum(r1.b, (0,), tmp7, (0, 1), (1,)) * -1
+    del tmp7
+    tmp2 = np.copy(np.transpose(ints.tmp20, (1, 0))) * 2
+    tmp2 += np.transpose(ints.tmp22, (1, 0))
+    tmp2 += ints.tmp5
+    tmp2 += f.aa.vv * -1
+    tmp2 += np.transpose(ints.tmp4, (1, 0)) * -1
+    tmp2 += np.transpose(ints.tmp6, (1, 0)) * -1
+    r1new.a += einsum(tmp2, (0, 1), r1.a, (0,), (1,)) * -1
+    del tmp2
+    r1new.a += einsum(v.aabb.vvov, (0, 1, 2, 3), r2.bab, (3, 1, 2), (0,)) * -1
+    r1new.a += einsum(r2.aaa, (0, 1, 2), v.aaaa.ovvv, (2, 1, 3, 0), (3,)) * 2
+    r1new.b += einsum(v.aabb.ovvv, (0, 1, 2, 3), r2.aba, (1, 3, 0), (2,)) * -1
+    r1new.b += einsum(v.bbbb.ovvv, (0, 1, 2, 3), r2.bbb, (1, 3, 0), (2,)) * -2
+    r2new.aaa += einsum(v.aaaa.vvvv, (0, 1, 2, 3), r2.aaa, (1, 3, 4), (0, 2, 4)) * 2
+    r2new.aba += einsum(r2.aba, (0, 1, 2), v.aabb.vvvv, (3, 0, 4, 1), (3, 4, 2))
+    r2new.bab += einsum(r2.bab, (0, 1, 2), v.aabb.vvvv, (3, 1, 4, 0), (4, 3, 2))
+    r2new.bbb += einsum(v.bbbb.vvvv, (0, 1, 2, 3), r2.bbb, (1, 3, 4), (0, 2, 4)) * 2
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCSD.hbar_matvec_ee_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-12T22:00:12.606077.

+

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

+

tmp10 : array +tmp100 : array +tmp102 : array +tmp104 : array +tmp106 : array +tmp107 : array +tmp108 : array +tmp116 : array +tmp118 : array +tmp12 : array +tmp120 : array +tmp123 : array +tmp14 : array +tmp140 : array +tmp142 : array +tmp144 : array +tmp15 : array +tmp153 : array +tmp156 : array +tmp16 : array +tmp167 : array +tmp168 : array +tmp169 : array +tmp179 : array +tmp18 : array +tmp180 : array +tmp181 : array +tmp199 : array +tmp205 : array +tmp206 : array +tmp207 : array +tmp209 : array +tmp211 : array +tmp213 : array +tmp214 : array +tmp215 : array +tmp221 : array +tmp222 : array +tmp224 : array +tmp228 : array +tmp229 : array +tmp23 : array +tmp230 : array +tmp235 : array +tmp236 : array +tmp237 : array +tmp239 : array +tmp25 : array +tmp250 : array +tmp251 : array +tmp252 : array +tmp256 : array +tmp257 : array +tmp260 : array +tmp263 : array +tmp265 : array +tmp267 : array +tmp269 : array +tmp271 : array +tmp273 : array +tmp275 : array +tmp277 : array +tmp279 : array +tmp281 : array +tmp282 : array +tmp283 : array +tmp284 : array +tmp285 : array +tmp286 : array +tmp293 : array +tmp295 : array +tmp297 : array +tmp299 : array +tmp302 : array +tmp304 : array +tmp306 : array +tmp308 : array +tmp313 : array +tmp314 : array +tmp315 : array +tmp319 : array +tmp320 : array +tmp321 : array +tmp327 : array +tmp328 : array +tmp329 : array +tmp331 : array +tmp337 : array +tmp338 : array +tmp339 : array +tmp343 : array +tmp344 : array +tmp345 : array +tmp349 : array +tmp351 : array +tmp366 : array +tmp369 : array +tmp377 : array +tmp378 : array +tmp379 : array +tmp39 : array +tmp394 : array +tmp395 : array +tmp396 : array +tmp399 : array +tmp4 : array +tmp401 : array +tmp402 : array +tmp403 : array +tmp404 : array +tmp405 : array +tmp407 : array +tmp408 : array +tmp409 : array +tmp411 : array +tmp412 : array +tmp416 : array +tmp417 : array +tmp418 : array +tmp42 : array +tmp420 : array +tmp421 : array +tmp422 : array +tmp427 : array +tmp428 : array +tmp429 : array +tmp43 : array +tmp432 : array +tmp433 : array +tmp437 : array +tmp439 : array +tmp44 : array +tmp443 : array +tmp444 : array +tmp445 : array +tmp446 : array +tmp45 : array +tmp457 : array +tmp458 : array +tmp459 : array +tmp46 : array +tmp460 : array +tmp461 : array +tmp463 : array +tmp465 : array +tmp467 : array +tmp469 : array +tmp47 : array +tmp471 : array +tmp473 : array +tmp474 : array +tmp475 : array +tmp476 : array +tmp477 : array +tmp478 : array +tmp479 : array +tmp48 : array +tmp484 : array +tmp490 : array +tmp491 : array +tmp494 : array +tmp495 : array +tmp497 : array +tmp498 : array +tmp499 : array +tmp5 : array +tmp50 : array +tmp500 : array +tmp502 : array +tmp503 : array +tmp506 : array +tmp507 : array +tmp509 : array +tmp511 : array +tmp513 : array +tmp515 : array +tmp516 : array +tmp518 : array +tmp519 : array +tmp52 : array +tmp521 : array +tmp523 : array +tmp525 : array +tmp526 : array +tmp527 : array +tmp532 : array +tmp534 : array +tmp536 : array +tmp539 : array +tmp54 : array +tmp551 : array +tmp553 : array +tmp555 : array +tmp56 : array +tmp566 : array +tmp57 : array +tmp577 : array +tmp58 : array +tmp6 : array +tmp609 : array +tmp611 : array +tmp613 : array +tmp620 : array +tmp622 : array +tmp626 : array +tmp631 : array +tmp633 : array +tmp651 : array +tmp653 : array +tmp655 : array +tmp66 : array +tmp669 : array +tmp67 : array +tmp671 : array +tmp673 : array +tmp675 : array +tmp678 : array +tmp68 : array +tmp680 : array +tmp682 : array +tmp79 : array +tmp81 : array +tmp89 : array +tmp92 : array +tmp93 : array +tmp94 : array +tmp95 : array +tmp96 : array +tmp97 : array +tmp98 : array

+ +
+ Source code in ebcc/codegen/UCCSD.py +
4654
+4655
+4656
+4657
+4658
+4659
+4660
+4661
+4662
+4663
+4664
+4665
+4666
+4667
+4668
+4669
+4670
+4671
+4672
+4673
+4674
+4675
+4676
+4677
+4678
+4679
+4680
+4681
+4682
+4683
+4684
+4685
+4686
+4687
+4688
+4689
+4690
+4691
+4692
+4693
+4694
+4695
+4696
+4697
+4698
+4699
+4700
+4701
+4702
+4703
+4704
+4705
+4706
+4707
+4708
+4709
+4710
+4711
+4712
+4713
+4714
+4715
+4716
+4717
+4718
+4719
+4720
+4721
+4722
+4723
+4724
+4725
+4726
+4727
+4728
+4729
+4730
+4731
+4732
+4733
+4734
+4735
+4736
+4737
+4738
+4739
+4740
+4741
+4742
+4743
+4744
+4745
+4746
+4747
+4748
+4749
+4750
+4751
+4752
+4753
+4754
+4755
+4756
+4757
+4758
+4759
+4760
+4761
+4762
+4763
+4764
+4765
+4766
+4767
+4768
+4769
+4770
+4771
+4772
+4773
+4774
+4775
+4776
+4777
+4778
+4779
+4780
+4781
+4782
+4783
+4784
+4785
+4786
+4787
+4788
+4789
+4790
+4791
+4792
+4793
+4794
+4795
+4796
+4797
+4798
+4799
+4800
+4801
+4802
+4803
+4804
+4805
+4806
+4807
+4808
+4809
+4810
+4811
+4812
+4813
+4814
+4815
+4816
+4817
+4818
+4819
+4820
+4821
+4822
+4823
+4824
+4825
+4826
+4827
+4828
+4829
+4830
+4831
+4832
+4833
+4834
+4835
+4836
+4837
+4838
+4839
+4840
+4841
+4842
+4843
+4844
+4845
+4846
+4847
+4848
+4849
+4850
+4851
+4852
+4853
+4854
+4855
+4856
+4857
+4858
+4859
+4860
+4861
+4862
+4863
+4864
+4865
+4866
+4867
+4868
+4869
+4870
+4871
+4872
+4873
+4874
+4875
+4876
+4877
+4878
+4879
+4880
+4881
+4882
+4883
+4884
+4885
+4886
+4887
+4888
+4889
+4890
+4891
+4892
+4893
+4894
+4895
+4896
+4897
+4898
+4899
+4900
+4901
+4902
+4903
+4904
+4905
+4906
+4907
+4908
+4909
+4910
+4911
+4912
+4913
+4914
+4915
+4916
+4917
+4918
+4919
+4920
+4921
+4922
+4923
+4924
+4925
+4926
+4927
+4928
+4929
+4930
+4931
+4932
+4933
+4934
+4935
+4936
+4937
+4938
+4939
+4940
+4941
+4942
+4943
+4944
+4945
+4946
+4947
+4948
+4949
+4950
+4951
+4952
+4953
+4954
+4955
+4956
+4957
+4958
+4959
+4960
+4961
+4962
+4963
+4964
+4965
+4966
+4967
+4968
+4969
+4970
+4971
+4972
+4973
+4974
+4975
+4976
+4977
+4978
+4979
+4980
+4981
+4982
+4983
+4984
+4985
+4986
+4987
+4988
+4989
+4990
+4991
+4992
+4993
+4994
+4995
+4996
+4997
+4998
+4999
+5000
+5001
+5002
+5003
+5004
+5005
+5006
+5007
+5008
+5009
+5010
+5011
+5012
+5013
+5014
+5015
+5016
+5017
+5018
+5019
+5020
+5021
+5022
+5023
+5024
+5025
+5026
+5027
+5028
+5029
+5030
+5031
+5032
+5033
+5034
+5035
+5036
+5037
+5038
+5039
+5040
+5041
+5042
+5043
+5044
+5045
+5046
+5047
+5048
+5049
+5050
+5051
+5052
+5053
+5054
+5055
+5056
+5057
+5058
+5059
+5060
+5061
+5062
+5063
+5064
+5065
+5066
+5067
+5068
+5069
+5070
+5071
+5072
+5073
+5074
+5075
+5076
+5077
+5078
+5079
+5080
+5081
+5082
+5083
+5084
+5085
+5086
+5087
+5088
+5089
+5090
+5091
+5092
+5093
+5094
+5095
+5096
+5097
+5098
+5099
+5100
+5101
+5102
+5103
+5104
+5105
+5106
+5107
+5108
+5109
+5110
+5111
+5112
+5113
+5114
+5115
+5116
+5117
+5118
+5119
+5120
+5121
+5122
+5123
+5124
+5125
+5126
+5127
+5128
+5129
+5130
+5131
+5132
+5133
+5134
def hbar_matvec_ee_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-12T22:00:12.606077.
+
+    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
+    -------
+    tmp10 : array
+    tmp100 : array
+    tmp102 : array
+    tmp104 : array
+    tmp106 : array
+    tmp107 : array
+    tmp108 : array
+    tmp116 : array
+    tmp118 : array
+    tmp12 : array
+    tmp120 : array
+    tmp123 : array
+    tmp14 : array
+    tmp140 : array
+    tmp142 : array
+    tmp144 : array
+    tmp15 : array
+    tmp153 : array
+    tmp156 : array
+    tmp16 : array
+    tmp167 : array
+    tmp168 : array
+    tmp169 : array
+    tmp179 : array
+    tmp18 : array
+    tmp180 : array
+    tmp181 : array
+    tmp199 : array
+    tmp205 : array
+    tmp206 : array
+    tmp207 : array
+    tmp209 : array
+    tmp211 : array
+    tmp213 : array
+    tmp214 : array
+    tmp215 : array
+    tmp221 : array
+    tmp222 : array
+    tmp224 : array
+    tmp228 : array
+    tmp229 : array
+    tmp23 : array
+    tmp230 : array
+    tmp235 : array
+    tmp236 : array
+    tmp237 : array
+    tmp239 : array
+    tmp25 : array
+    tmp250 : array
+    tmp251 : array
+    tmp252 : array
+    tmp256 : array
+    tmp257 : array
+    tmp260 : array
+    tmp263 : array
+    tmp265 : array
+    tmp267 : array
+    tmp269 : array
+    tmp271 : array
+    tmp273 : array
+    tmp275 : array
+    tmp277 : array
+    tmp279 : array
+    tmp281 : array
+    tmp282 : array
+    tmp283 : array
+    tmp284 : array
+    tmp285 : array
+    tmp286 : array
+    tmp293 : array
+    tmp295 : array
+    tmp297 : array
+    tmp299 : array
+    tmp302 : array
+    tmp304 : array
+    tmp306 : array
+    tmp308 : array
+    tmp313 : array
+    tmp314 : array
+    tmp315 : array
+    tmp319 : array
+    tmp320 : array
+    tmp321 : array
+    tmp327 : array
+    tmp328 : array
+    tmp329 : array
+    tmp331 : array
+    tmp337 : array
+    tmp338 : array
+    tmp339 : array
+    tmp343 : array
+    tmp344 : array
+    tmp345 : array
+    tmp349 : array
+    tmp351 : array
+    tmp366 : array
+    tmp369 : array
+    tmp377 : array
+    tmp378 : array
+    tmp379 : array
+    tmp39 : array
+    tmp394 : array
+    tmp395 : array
+    tmp396 : array
+    tmp399 : array
+    tmp4 : array
+    tmp401 : array
+    tmp402 : array
+    tmp403 : array
+    tmp404 : array
+    tmp405 : array
+    tmp407 : array
+    tmp408 : array
+    tmp409 : array
+    tmp411 : array
+    tmp412 : array
+    tmp416 : array
+    tmp417 : array
+    tmp418 : array
+    tmp42 : array
+    tmp420 : array
+    tmp421 : array
+    tmp422 : array
+    tmp427 : array
+    tmp428 : array
+    tmp429 : array
+    tmp43 : array
+    tmp432 : array
+    tmp433 : array
+    tmp437 : array
+    tmp439 : array
+    tmp44 : array
+    tmp443 : array
+    tmp444 : array
+    tmp445 : array
+    tmp446 : array
+    tmp45 : array
+    tmp457 : array
+    tmp458 : array
+    tmp459 : array
+    tmp46 : array
+    tmp460 : array
+    tmp461 : array
+    tmp463 : array
+    tmp465 : array
+    tmp467 : array
+    tmp469 : array
+    tmp47 : array
+    tmp471 : array
+    tmp473 : array
+    tmp474 : array
+    tmp475 : array
+    tmp476 : array
+    tmp477 : array
+    tmp478 : array
+    tmp479 : array
+    tmp48 : array
+    tmp484 : array
+    tmp490 : array
+    tmp491 : array
+    tmp494 : array
+    tmp495 : array
+    tmp497 : array
+    tmp498 : array
+    tmp499 : array
+    tmp5 : array
+    tmp50 : array
+    tmp500 : array
+    tmp502 : array
+    tmp503 : array
+    tmp506 : array
+    tmp507 : array
+    tmp509 : array
+    tmp511 : array
+    tmp513 : array
+    tmp515 : array
+    tmp516 : array
+    tmp518 : array
+    tmp519 : array
+    tmp52 : array
+    tmp521 : array
+    tmp523 : array
+    tmp525 : array
+    tmp526 : array
+    tmp527 : array
+    tmp532 : array
+    tmp534 : array
+    tmp536 : array
+    tmp539 : array
+    tmp54 : array
+    tmp551 : array
+    tmp553 : array
+    tmp555 : array
+    tmp56 : array
+    tmp566 : array
+    tmp57 : array
+    tmp577 : array
+    tmp58 : array
+    tmp6 : array
+    tmp609 : array
+    tmp611 : array
+    tmp613 : array
+    tmp620 : array
+    tmp622 : array
+    tmp626 : array
+    tmp631 : array
+    tmp633 : array
+    tmp651 : array
+    tmp653 : array
+    tmp655 : array
+    tmp66 : array
+    tmp669 : array
+    tmp67 : array
+    tmp671 : array
+    tmp673 : array
+    tmp675 : array
+    tmp678 : array
+    tmp68 : array
+    tmp680 : array
+    tmp682 : array
+    tmp79 : array
+    tmp81 : array
+    tmp89 : array
+    tmp92 : array
+    tmp93 : array
+    tmp94 : array
+    tmp95 : array
+    tmp96 : array
+    tmp97 : array
+    tmp98 : array
+    """
+
+    tmp4 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (1, 3), (0, 2))
+    tmp179 = einsum(t1.aa, (0, 1), tmp4, (2, 0), (2, 1))
+    tmp5 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1))
+    tmp180 = einsum(t1.aa, (0, 1), tmp5, (2, 0), (2, 1))
+    tmp6 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp181 = einsum(t1.aa, (0, 1), tmp6, (2, 0), (2, 1))
+    tmp10 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 1, 0, 3), (2, 3))
+    tmp474 = einsum(tmp10, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp319 = einsum(tmp10, (0, 1), t2.abab, (2, 3, 1, 4), (2, 0, 3, 4))
+    tmp281 = einsum(tmp10, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp140 = einsum(tmp10, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp56 = einsum(tmp10, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp250 = einsum(t1.aa, (0, 1), tmp56, (2, 0), (2, 1))
+    tmp12 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3))
+    tmp475 = einsum(tmp12, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp320 = einsum(t2.abab, (0, 1, 2, 3), tmp12, (4, 2), (0, 4, 1, 3))
+    tmp282 = einsum(tmp12, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp142 = einsum(tmp12, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp57 = einsum(t1.aa, (0, 1), tmp12, (2, 1), (0, 2))
+    tmp251 = einsum(t1.aa, (0, 1), tmp57, (2, 0), (2, 1))
+    tmp14 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 1, 0, 3), (2, 3))
+    tmp551 = einsum(t2.bbbb, (0, 1, 2, 3), tmp14, (4, 3), (0, 1, 4, 2))
+    tmp476 = einsum(t2.bbbb, (0, 1, 2, 3), tmp14, (1, 3), (0, 2))
+    tmp377 = einsum(tmp14, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp283 = einsum(t2.abab, (0, 1, 2, 3), tmp14, (1, 3), (0, 2))
+    tmp106 = einsum(tmp14, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp427 = einsum(t1.bb, (0, 1), tmp106, (2, 0), (2, 1))
+    tmp15 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3))
+    tmp553 = einsum(t2.bbbb, (0, 1, 2, 3), tmp15, (4, 3), (0, 1, 4, 2))
+    tmp477 = einsum(t2.bbbb, (0, 1, 2, 3), tmp15, (1, 3), (0, 2))
+    tmp378 = einsum(tmp15, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp284 = einsum(tmp15, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp107 = einsum(t1.bb, (0, 1), tmp15, (2, 1), (0, 2))
+    tmp428 = einsum(t1.bb, (0, 1), tmp107, (2, 0), (2, 1))
+    tmp16 = einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3))
+    tmp478 = einsum(tmp16, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp321 = einsum(tmp16, (0, 1), t2.abab, (2, 3, 1, 4), (2, 0, 3, 4))
+    tmp285 = einsum(tmp16, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp144 = einsum(tmp16, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp58 = einsum(tmp16, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp252 = einsum(t1.aa, (0, 1), tmp58, (2, 0), (2, 1))
+    tmp18 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3))
+    tmp555 = einsum(t2.bbbb, (0, 1, 2, 3), tmp18, (4, 3), (0, 1, 4, 2))
+    tmp479 = einsum(t2.bbbb, (0, 1, 2, 3), tmp18, (1, 3), (0, 2))
+    tmp379 = einsum(tmp18, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp286 = einsum(tmp18, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp108 = einsum(t1.bb, (0, 1), tmp18, (2, 1), (0, 2))
+    tmp429 = einsum(tmp108, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp23 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1
+    tmp25 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4))
+    tmp39 = einsum(t1.aa, (0, 1), f.aa.ov, (2, 1), (2, 0))
+    tmp221 = einsum(t1.aa, (0, 1), tmp39, (0, 2), (2, 1))
+    tmp42 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 1, 2, 3), (2, 3))
+    tmp213 = einsum(tmp42, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp43 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 2, 3, 1), (2, 3))
+    tmp214 = einsum(tmp43, (0, 1), t1.aa, (2, 0), (2, 1))
+    tmp44 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp215 = einsum(tmp44, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp45 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp46 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp295 = einsum(tmp46, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3))
+    tmp47 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 0, 3))
+    tmp48 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1))
+    tmp395 = einsum(t2.abab, (0, 1, 2, 3), tmp48, (4, 5, 0, 2), (4, 5, 1, 3))
+    tmp394 = einsum(t2.abab, (0, 1, 2, 3), tmp48, (4, 0, 5, 2), (4, 5, 1, 3))
+    tmp297 = einsum(t1.aa, (0, 1), tmp48, (2, 3, 4, 1), (2, 0, 4, 3))
+    tmp299 = einsum(tmp297, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 3, 4))
+    tmp230 = einsum(tmp48, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 5), (0, 4, 5, 3))
+    tmp228 = einsum(tmp48, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 3), (0, 4))
+    tmp209 = einsum(tmp48, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 3), (0, 4, 1, 5))
+    tmp207 = einsum(tmp48, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp50 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp516 = einsum(t2.abab, (0, 1, 2, 3), tmp50, (4, 0, 5, 3), (4, 1, 5, 2))
+    tmp437 = einsum(t2.abab, (0, 1, 2, 3), tmp50, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp396 = einsum(t2.bbbb, (0, 1, 2, 3), tmp50, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp229 = einsum(t2.abab, (0, 1, 2, 3), tmp50, (4, 0, 1, 3), (4, 2))
+    tmp211 = einsum(t2.abab, (0, 1, 2, 3), tmp50, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp52 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4)) * -1
+    tmp235 = einsum(t1.aa, (0, 1), tmp52, (2, 0), (2, 1))
+    tmp54 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4))
+    tmp236 = einsum(t1.aa, (0, 1), tmp54, (2, 0), (2, 1))
+    tmp66 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (1, 3), (0, 2))
+    tmp343 = einsum(t1.bb, (0, 1), tmp66, (2, 0), (2, 1))
+    tmp67 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp344 = einsum(t1.bb, (0, 1), tmp67, (2, 0), (2, 1))
+    tmp68 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3))
+    tmp345 = einsum(t1.bb, (0, 1), tmp68, (2, 0), (2, 1))
+    tmp79 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 1), (4, 3)) * -1
+    tmp81 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 4), (4, 3))
+    tmp89 = einsum(f.bb.ov, (0, 1), t1.bb, (2, 1), (0, 2))
+    tmp411 = einsum(t1.bb, (0, 1), tmp89, (0, 2), (2, 1))
+    tmp92 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (0, 1, 2, 3), (2, 3))
+    tmp407 = einsum(t1.bb, (0, 1), tmp92, (2, 1), (0, 2))
+    tmp93 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (0, 2, 3, 1), (2, 3))
+    tmp408 = einsum(t1.bb, (0, 1), tmp93, (1, 2), (0, 2))
+    tmp94 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3))
+    tmp409 = einsum(t1.bb, (0, 1), tmp94, (2, 1), (0, 2))
+    tmp95 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp96 = einsum(t1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp671 = einsum(t1.bb, (0, 1), tmp96, (2, 3, 1, 4), (0, 2, 3, 4))
+    tmp97 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 1, 2))
+    tmp526 = einsum(t1.aa, (0, 1), tmp97, (2, 3, 1, 4), (0, 2, 3, 4))
+    tmp98 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3))
+    tmp673 = einsum(t1.bb, (0, 1), tmp98, (2, 3, 4, 1), (2, 0, 4, 3))
+    tmp675 = einsum(tmp673, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4))
+    tmp626 = einsum(tmp98, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 5), (0, 4, 5, 3))
+    tmp611 = einsum(tmp98, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 4, 1, 5))
+    tmp609 = einsum(tmp98, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp416 = einsum(t2.bbbb, (0, 1, 2, 3), tmp98, (4, 0, 1, 3), (4, 2)) * -1
+    tmp404 = einsum(t2.abab, (0, 1, 2, 3), tmp98, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp403 = einsum(t2.abab, (0, 1, 2, 3), tmp98, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp100 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1))
+    tmp613 = einsum(t2.abab, (0, 1, 2, 3), tmp100, (0, 4, 5, 2), (4, 1, 5, 3))
+    tmp503 = einsum(t2.abab, (0, 1, 2, 3), tmp100, (4, 5, 1, 2), (0, 4, 5, 3))
+    tmp500 = einsum(t1.aa, (0, 1), tmp100, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp527 = einsum(t1.aa, (0, 1), tmp500, (2, 0, 3, 4), (2, 3, 4, 1))
+    tmp502 = einsum(t1.bb, (0, 1), tmp500, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp418 = einsum(t2.abab, (0, 1, 2, 3), tmp100, (0, 4, 1, 5), (4, 2, 5, 3))
+    tmp417 = einsum(t2.abab, (0, 1, 2, 3), tmp100, (0, 4, 1, 2), (4, 3))
+    tmp405 = einsum(tmp100, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5))
+    tmp102 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 1, 3), (0, 4))
+    tmp420 = einsum(tmp102, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp104 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2))
+    tmp421 = einsum(t1.bb, (0, 1), tmp104, (2, 0), (2, 1))
+    tmp116 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (1, 3, 4, 5), (0, 2, 4, 5))
+    tmp118 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (1, 4, 5, 3), (0, 2, 4, 5))
+    tmp120 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 2, 4, 5))
+    tmp123 = einsum(t2.aaaa, (0, 1, 2, 3), f.aa.ov, (4, 3), (4, 0, 1, 2))
+    tmp153 = einsum(t1.aa, (0, 1), f.aa.oo, (2, 0), (2, 1))
+    tmp156 = einsum(t1.aa, (0, 1), v.aaaa.oooo, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp167 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 3), (0, 4))
+    tmp168 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (1, 2, 4, 3), (0, 4))
+    tmp169 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 5), (0, 4, 5, 3))
+    tmp199 = einsum(f.aa.vv, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp205 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (1, 2, 4, 3), (0, 4))
+    tmp206 = einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0))
+    tmp222 = einsum(v.aaaa.oovv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2))
+    tmp224 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp239 = einsum(tmp224, (0, 1, 2, 3), t1.aa, (3, 4), (0, 2, 1, 4))
+    tmp237 = einsum(tmp224, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 3, 4))
+    tmp256 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp257 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp260 = einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 0, 3, 1), (2, 3))
+    tmp263 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp265 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp267 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp269 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp271 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp273 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp275 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp277 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp279 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3))
+    tmp293 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2))
+    tmp302 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp304 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (0, 1, 4, 5)) * -1
+    tmp306 = einsum(tmp304, (0, 1, 2, 3), t1.aa, (3, 4), (0, 1, 2, 4))
+    tmp308 = einsum(t2.abab, (0, 1, 2, 3), f.aa.ov, (4, 2), (4, 0, 1, 3))
+    tmp313 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovvv, (0, 2, 4, 5), (1, 4, 5, 3))
+    tmp314 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovvv, (0, 4, 5, 2), (1, 4, 5, 3))
+    tmp315 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp327 = einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ovvv, (1, 3, 4, 5), (0, 2, 4, 5))
+    tmp328 = einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ovvv, (1, 4, 5, 3), (0, 2, 4, 5))
+    tmp329 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 5, 2, 3))
+    tmp331 = einsum(t1.bb, (0, 1), f.bb.oo, (2, 0), (2, 1))
+    tmp337 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 0, 3), (4, 2)) * -1
+    tmp338 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (0, 3, 1, 4), (2, 4))
+    tmp339 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (0, 3, 4, 5), (2, 4, 1, 5))
+    tmp349 = einsum(t1.bb, (0, 1), v.aabb.oooo, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp351 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp366 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 3, 4, 1), (2, 0, 3, 4))
+    tmp369 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 4, 5, 3), (1, 2, 4, 5))
+    tmp399 = einsum(t1.bb, (0, 1), f.bb.vv, (2, 1), (0, 2))
+    tmp401 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 0, 1, 3), (4, 2))
+    tmp402 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2))
+    tmp412 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2))
+    tmp519 = einsum(tmp412, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp422 = einsum(t1.bb, (0, 1), tmp412, (2, 3, 4, 0), (3, 2, 4, 1))
+    tmp432 = einsum(v.aabb.vvoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 3, 0))
+    tmp433 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp484 = einsum(tmp433, (0, 1, 2, 3), t1.aa, (1, 4), (0, 3, 2, 4))
+    tmp439 = einsum(t1.bb, (0, 1), tmp433, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp443 = einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 0, 3, 1), (2, 3))
+    tmp444 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp445 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp446 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 3, 5))
+    tmp457 = einsum(f.aa.ov, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp458 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.ov, (1, 3), (0, 2))
+    tmp459 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ooov, (4, 0, 5, 2), (4, 5, 1, 3))
+    tmp460 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 0, 2), (4, 5, 1, 3))
+    tmp461 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp463 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (2, 4, 1, 5), (0, 4, 3, 5))
+    tmp465 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3))
+    tmp467 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp469 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp471 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp473 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5))
+    tmp490 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 1), (0, 4, 5, 3))
+    tmp491 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 5), (0, 4, 3, 5))
+    tmp494 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp495 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4))
+    tmp497 = einsum(v.aabb.vvvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3))
+    tmp498 = einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 4, 1), (0, 4, 2, 3))
+    tmp499 = einsum(tmp498, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2))
+    tmp506 = einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp507 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 3), (0, 1, 5, 4))
+    tmp509 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp523 = einsum(tmp509, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp511 = einsum(tmp509, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+    tmp513 = einsum(t1.aa, (0, 1), v.aabb.oooo, (2, 0, 3, 4), (2, 3, 4, 1))
+    tmp515 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3))
+    tmp518 = einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp521 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp525 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 5), (0, 4, 3, 5))
+    tmp532 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 1), (4, 5, 2, 3))
+    tmp534 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (1, 4, 5, 3), (0, 2, 4, 5))
+    tmp536 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 5, 2, 3))
+    tmp539 = einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp566 = einsum(v.bbbb.oooo, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+    tmp577 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp620 = einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp622 = einsum(t1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp633 = einsum(tmp622, (0, 1, 2, 3), t1.bb, (3, 4), (0, 2, 1, 4))
+    tmp631 = einsum(tmp622, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4))
+    tmp651 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp653 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp655 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3))
+    tmp669 = einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp678 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp680 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 5, 3, 1), (4, 5, 0, 2)) * -1
+    tmp682 = einsum(tmp680, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+
+    return {f"tmp10": tmp10, f"tmp100": tmp100, f"tmp102": tmp102, f"tmp104": tmp104, f"tmp106": tmp106, f"tmp107": tmp107, f"tmp108": tmp108, f"tmp116": tmp116, f"tmp118": tmp118, f"tmp12": tmp12, f"tmp120": tmp120, f"tmp123": tmp123, f"tmp14": tmp14, f"tmp140": tmp140, f"tmp142": tmp142, f"tmp144": tmp144, f"tmp15": tmp15, f"tmp153": tmp153, f"tmp156": tmp156, f"tmp16": tmp16, f"tmp167": tmp167, f"tmp168": tmp168, f"tmp169": tmp169, f"tmp179": tmp179, f"tmp18": tmp18, f"tmp180": tmp180, f"tmp181": tmp181, f"tmp199": tmp199, f"tmp205": tmp205, f"tmp206": tmp206, f"tmp207": tmp207, f"tmp209": tmp209, f"tmp211": tmp211, f"tmp213": tmp213, f"tmp214": tmp214, f"tmp215": tmp215, f"tmp221": tmp221, f"tmp222": tmp222, f"tmp224": tmp224, f"tmp228": tmp228, f"tmp229": tmp229, f"tmp23": tmp23, f"tmp230": tmp230, f"tmp235": tmp235, f"tmp236": tmp236, f"tmp237": tmp237, f"tmp239": tmp239, f"tmp25": tmp25, f"tmp250": tmp250, f"tmp251": tmp251, f"tmp252": tmp252, f"tmp256": tmp256, f"tmp257": tmp257, f"tmp260": tmp260, f"tmp263": tmp263, f"tmp265": tmp265, f"tmp267": tmp267, f"tmp269": tmp269, f"tmp271": tmp271, f"tmp273": tmp273, f"tmp275": tmp275, f"tmp277": tmp277, f"tmp279": tmp279, f"tmp281": tmp281, f"tmp282": tmp282, f"tmp283": tmp283, f"tmp284": tmp284, f"tmp285": tmp285, f"tmp286": tmp286, f"tmp293": tmp293, f"tmp295": tmp295, f"tmp297": tmp297, f"tmp299": tmp299, f"tmp302": tmp302, f"tmp304": tmp304, f"tmp306": tmp306, f"tmp308": tmp308, f"tmp313": tmp313, f"tmp314": tmp314, f"tmp315": tmp315, f"tmp319": tmp319, f"tmp320": tmp320, f"tmp321": tmp321, f"tmp327": tmp327, f"tmp328": tmp328, f"tmp329": tmp329, f"tmp331": tmp331, f"tmp337": tmp337, f"tmp338": tmp338, f"tmp339": tmp339, f"tmp343": tmp343, f"tmp344": tmp344, f"tmp345": tmp345, f"tmp349": tmp349, f"tmp351": tmp351, f"tmp366": tmp366, f"tmp369": tmp369, f"tmp377": tmp377, f"tmp378": tmp378, f"tmp379": tmp379, f"tmp39": tmp39, f"tmp394": tmp394, f"tmp395": tmp395, f"tmp396": tmp396, f"tmp399": tmp399, f"tmp4": tmp4, f"tmp401": tmp401, f"tmp402": tmp402, f"tmp403": tmp403, f"tmp404": tmp404, f"tmp405": tmp405, f"tmp407": tmp407, f"tmp408": tmp408, f"tmp409": tmp409, f"tmp411": tmp411, f"tmp412": tmp412, f"tmp416": tmp416, f"tmp417": tmp417, f"tmp418": tmp418, f"tmp42": tmp42, f"tmp420": tmp420, f"tmp421": tmp421, f"tmp422": tmp422, f"tmp427": tmp427, f"tmp428": tmp428, f"tmp429": tmp429, f"tmp43": tmp43, f"tmp432": tmp432, f"tmp433": tmp433, f"tmp437": tmp437, f"tmp439": tmp439, f"tmp44": tmp44, f"tmp443": tmp443, f"tmp444": tmp444, f"tmp445": tmp445, f"tmp446": tmp446, f"tmp45": tmp45, f"tmp457": tmp457, f"tmp458": tmp458, f"tmp459": tmp459, f"tmp46": tmp46, f"tmp460": tmp460, f"tmp461": tmp461, f"tmp463": tmp463, f"tmp465": tmp465, f"tmp467": tmp467, f"tmp469": tmp469, f"tmp47": tmp47, f"tmp471": tmp471, f"tmp473": tmp473, f"tmp474": tmp474, f"tmp475": tmp475, f"tmp476": tmp476, f"tmp477": tmp477, f"tmp478": tmp478, f"tmp479": tmp479, f"tmp48": tmp48, f"tmp484": tmp484, f"tmp490": tmp490, f"tmp491": tmp491, f"tmp494": tmp494, f"tmp495": tmp495, f"tmp497": tmp497, f"tmp498": tmp498, f"tmp499": tmp499, f"tmp5": tmp5, f"tmp50": tmp50, f"tmp500": tmp500, f"tmp502": tmp502, f"tmp503": tmp503, f"tmp506": tmp506, f"tmp507": tmp507, f"tmp509": tmp509, f"tmp511": tmp511, f"tmp513": tmp513, f"tmp515": tmp515, f"tmp516": tmp516, f"tmp518": tmp518, f"tmp519": tmp519, f"tmp52": tmp52, f"tmp521": tmp521, f"tmp523": tmp523, f"tmp525": tmp525, f"tmp526": tmp526, f"tmp527": tmp527, f"tmp532": tmp532, f"tmp534": tmp534, f"tmp536": tmp536, f"tmp539": tmp539, f"tmp54": tmp54, f"tmp551": tmp551, f"tmp553": tmp553, f"tmp555": tmp555, f"tmp56": tmp56, f"tmp566": tmp566, f"tmp57": tmp57, f"tmp577": tmp577, f"tmp58": tmp58, f"tmp6": tmp6, f"tmp609": tmp609, f"tmp611": tmp611, f"tmp613": tmp613, f"tmp620": tmp620, f"tmp622": tmp622, f"tmp626": tmp626, f"tmp631": tmp631, f"tmp633": tmp633, f"tmp651": tmp651, f"tmp653": tmp653, f"tmp655": tmp655, f"tmp66": tmp66, f"tmp669": tmp669, f"tmp67": tmp67, f"tmp671": tmp671, f"tmp673": tmp673, f"tmp675": tmp675, f"tmp678": tmp678, f"tmp68": tmp68, f"tmp680": tmp680, f"tmp682": tmp682, f"tmp79": tmp79, f"tmp81": tmp81, f"tmp89": tmp89, f"tmp92": tmp92, f"tmp93": tmp93, f"tmp94": tmp94, f"tmp95": tmp95, f"tmp96": tmp96, f"tmp97": tmp97, f"tmp98": tmp98}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCSD.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-12T22:00:12.834848.

+

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.

+ +
+ Source code in ebcc/codegen/UCCSD.py +
5136
+5137
+5138
+5139
+5140
+5141
+5142
+5143
+5144
+5145
+5146
+5147
+5148
+5149
+5150
+5151
+5152
+5153
+5154
+5155
+5156
+5157
+5158
+5159
+5160
+5161
+5162
+5163
+5164
+5165
+5166
+5167
+5168
+5169
+5170
+5171
+5172
+5173
+5174
+5175
+5176
+5177
+5178
+5179
+5180
+5181
+5182
+5183
+5184
+5185
+5186
+5187
+5188
+5189
+5190
+5191
+5192
+5193
+5194
+5195
+5196
+5197
+5198
+5199
+5200
+5201
+5202
+5203
+5204
+5205
+5206
+5207
+5208
+5209
+5210
+5211
+5212
+5213
+5214
+5215
+5216
+5217
+5218
+5219
+5220
+5221
+5222
+5223
+5224
+5225
+5226
+5227
+5228
+5229
+5230
+5231
+5232
+5233
+5234
+5235
+5236
+5237
+5238
+5239
+5240
+5241
+5242
+5243
+5244
+5245
+5246
+5247
+5248
+5249
+5250
+5251
+5252
+5253
+5254
+5255
+5256
+5257
+5258
+5259
+5260
+5261
+5262
+5263
+5264
+5265
+5266
+5267
+5268
+5269
+5270
+5271
+5272
+5273
+5274
+5275
+5276
+5277
+5278
+5279
+5280
+5281
+5282
+5283
+5284
+5285
+5286
+5287
+5288
+5289
+5290
+5291
+5292
+5293
+5294
+5295
+5296
+5297
+5298
+5299
+5300
+5301
+5302
+5303
+5304
+5305
+5306
+5307
+5308
+5309
+5310
+5311
+5312
+5313
+5314
+5315
+5316
+5317
+5318
+5319
+5320
+5321
+5322
+5323
+5324
+5325
+5326
+5327
+5328
+5329
+5330
+5331
+5332
+5333
+5334
+5335
+5336
+5337
+5338
+5339
+5340
+5341
+5342
+5343
+5344
+5345
+5346
+5347
+5348
+5349
+5350
+5351
+5352
+5353
+5354
+5355
+5356
+5357
+5358
+5359
+5360
+5361
+5362
+5363
+5364
+5365
+5366
+5367
+5368
+5369
+5370
+5371
+5372
+5373
+5374
+5375
+5376
+5377
+5378
+5379
+5380
+5381
+5382
+5383
+5384
+5385
+5386
+5387
+5388
+5389
+5390
+5391
+5392
+5393
+5394
+5395
+5396
+5397
+5398
+5399
+5400
+5401
+5402
+5403
+5404
+5405
+5406
+5407
+5408
+5409
+5410
+5411
+5412
+5413
+5414
+5415
+5416
+5417
+5418
+5419
+5420
+5421
+5422
+5423
+5424
+5425
+5426
+5427
+5428
+5429
+5430
+5431
+5432
+5433
+5434
+5435
+5436
+5437
+5438
+5439
+5440
+5441
+5442
+5443
+5444
+5445
+5446
+5447
+5448
+5449
+5450
+5451
+5452
+5453
+5454
+5455
+5456
+5457
+5458
+5459
+5460
+5461
+5462
+5463
+5464
+5465
+5466
+5467
+5468
+5469
+5470
+5471
+5472
+5473
+5474
+5475
+5476
+5477
+5478
+5479
+5480
+5481
+5482
+5483
+5484
+5485
+5486
+5487
+5488
+5489
+5490
+5491
+5492
+5493
+5494
+5495
+5496
+5497
+5498
+5499
+5500
+5501
+5502
+5503
+5504
+5505
+5506
+5507
+5508
+5509
+5510
+5511
+5512
+5513
+5514
+5515
+5516
+5517
+5518
+5519
+5520
+5521
+5522
+5523
+5524
+5525
+5526
+5527
+5528
+5529
+5530
+5531
+5532
+5533
+5534
+5535
+5536
+5537
+5538
+5539
+5540
+5541
+5542
+5543
+5544
+5545
+5546
+5547
+5548
+5549
+5550
+5551
+5552
+5553
+5554
+5555
+5556
+5557
+5558
+5559
+5560
+5561
+5562
+5563
+5564
+5565
+5566
+5567
+5568
+5569
+5570
+5571
+5572
+5573
+5574
+5575
+5576
+5577
+5578
+5579
+5580
+5581
+5582
+5583
+5584
+5585
+5586
+5587
+5588
+5589
+5590
+5591
+5592
+5593
+5594
+5595
+5596
+5597
+5598
+5599
+5600
+5601
+5602
+5603
+5604
+5605
+5606
+5607
+5608
+5609
+5610
+5611
+5612
+5613
+5614
+5615
+5616
+5617
+5618
+5619
+5620
+5621
+5622
+5623
+5624
+5625
+5626
+5627
+5628
+5629
+5630
+5631
+5632
+5633
+5634
+5635
+5636
+5637
+5638
+5639
+5640
+5641
+5642
+5643
+5644
+5645
+5646
+5647
+5648
+5649
+5650
+5651
+5652
+5653
+5654
+5655
+5656
+5657
+5658
+5659
+5660
+5661
+5662
+5663
+5664
+5665
+5666
+5667
+5668
+5669
+5670
+5671
+5672
+5673
+5674
+5675
+5676
+5677
+5678
+5679
+5680
+5681
+5682
+5683
+5684
+5685
+5686
+5687
+5688
+5689
+5690
+5691
+5692
+5693
+5694
+5695
+5696
+5697
+5698
+5699
+5700
+5701
+5702
+5703
+5704
+5705
+5706
+5707
+5708
+5709
+5710
+5711
+5712
+5713
+5714
+5715
+5716
+5717
+5718
+5719
+5720
+5721
+5722
+5723
+5724
+5725
+5726
+5727
+5728
+5729
+5730
+5731
+5732
+5733
+5734
+5735
+5736
+5737
+5738
+5739
+5740
+5741
+5742
+5743
+5744
+5745
+5746
+5747
+5748
+5749
+5750
+5751
+5752
+5753
+5754
+5755
+5756
+5757
+5758
+5759
+5760
+5761
+5762
+5763
+5764
+5765
+5766
+5767
+5768
+5769
+5770
+5771
+5772
+5773
+5774
+5775
+5776
+5777
+5778
+5779
+5780
+5781
+5782
+5783
+5784
+5785
+5786
+5787
+5788
+5789
+5790
+5791
+5792
+5793
+5794
+5795
+5796
+5797
+5798
+5799
+5800
+5801
+5802
+5803
+5804
+5805
+5806
+5807
+5808
+5809
+5810
+5811
+5812
+5813
+5814
+5815
+5816
+5817
+5818
+5819
+5820
+5821
+5822
+5823
+5824
+5825
+5826
+5827
+5828
+5829
+5830
+5831
+5832
+5833
+5834
+5835
+5836
+5837
+5838
+5839
+5840
+5841
+5842
+5843
+5844
+5845
+5846
+5847
+5848
+5849
+5850
+5851
+5852
+5853
+5854
+5855
+5856
+5857
+5858
+5859
+5860
+5861
+5862
+5863
+5864
+5865
+5866
+5867
+5868
+5869
+5870
+5871
+5872
+5873
+5874
+5875
+5876
+5877
+5878
+5879
+5880
+5881
+5882
+5883
+5884
+5885
+5886
+5887
+5888
+5889
+5890
+5891
+5892
+5893
+5894
+5895
+5896
+5897
+5898
+5899
+5900
+5901
+5902
+5903
+5904
+5905
+5906
+5907
+5908
+5909
+5910
+5911
+5912
+5913
+5914
+5915
+5916
+5917
+5918
+5919
+5920
+5921
+5922
+5923
+5924
+5925
+5926
+5927
+5928
+5929
+5930
+5931
+5932
+5933
+5934
+5935
+5936
+5937
+5938
+5939
+5940
+5941
+5942
+5943
+5944
+5945
+5946
+5947
+5948
+5949
+5950
+5951
+5952
+5953
+5954
+5955
+5956
+5957
+5958
+5959
+5960
+5961
+5962
+5963
+5964
+5965
+5966
+5967
+5968
+5969
+5970
+5971
+5972
+5973
+5974
+5975
+5976
+5977
+5978
+5979
+5980
+5981
+5982
+5983
+5984
+5985
+5986
+5987
+5988
+5989
+5990
+5991
+5992
+5993
+5994
+5995
+5996
+5997
+5998
+5999
+6000
+6001
+6002
+6003
+6004
+6005
+6006
+6007
+6008
+6009
+6010
+6011
+6012
+6013
+6014
+6015
+6016
+6017
+6018
+6019
+6020
+6021
+6022
+6023
+6024
+6025
+6026
+6027
+6028
+6029
+6030
+6031
+6032
+6033
+6034
+6035
+6036
+6037
+6038
+6039
+6040
+6041
+6042
+6043
+6044
+6045
+6046
+6047
+6048
+6049
+6050
+6051
+6052
+6053
+6054
+6055
+6056
+6057
+6058
+6059
+6060
+6061
+6062
+6063
+6064
+6065
+6066
+6067
+6068
+6069
+6070
+6071
+6072
+6073
+6074
+6075
+6076
+6077
+6078
+6079
+6080
+6081
+6082
+6083
+6084
+6085
+6086
+6087
+6088
+6089
+6090
+6091
+6092
+6093
+6094
+6095
+6096
+6097
+6098
+6099
+6100
+6101
+6102
+6103
+6104
+6105
+6106
+6107
+6108
+6109
+6110
+6111
+6112
+6113
+6114
+6115
+6116
+6117
+6118
+6119
+6120
+6121
+6122
+6123
+6124
+6125
+6126
+6127
+6128
+6129
+6130
+6131
+6132
+6133
+6134
+6135
+6136
+6137
+6138
+6139
+6140
+6141
+6142
+6143
+6144
+6145
+6146
+6147
+6148
+6149
+6150
+6151
+6152
+6153
+6154
+6155
+6156
+6157
+6158
+6159
+6160
+6161
+6162
+6163
+6164
+6165
+6166
+6167
+6168
+6169
+6170
+6171
+6172
+6173
+6174
+6175
+6176
+6177
+6178
+6179
+6180
+6181
+6182
+6183
+6184
+6185
+6186
+6187
+6188
+6189
+6190
+6191
+6192
+6193
+6194
+6195
+6196
+6197
+6198
+6199
+6200
+6201
+6202
+6203
+6204
+6205
+6206
+6207
+6208
+6209
+6210
+6211
+6212
+6213
+6214
+6215
+6216
+6217
+6218
+6219
+6220
+6221
+6222
+6223
+6224
+6225
+6226
+6227
+6228
+6229
+6230
+6231
+6232
+6233
+6234
+6235
+6236
+6237
+6238
+6239
+6240
+6241
+6242
+6243
+6244
+6245
+6246
+6247
+6248
+6249
+6250
+6251
+6252
+6253
+6254
+6255
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-12T22:00:12.834848.
+
+    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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp246 = einsum(r1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3))
+    tmp8 = einsum(v.aabb.ovov, (0, 1, 2, 3), r1.aa, (0, 1), (2, 3))
+    tmp203 = einsum(r1.bb, (0, 1), ints.tmp98, (2, 3, 4, 1), (2, 3, 4, 0))
+    tmp204 = einsum(r1.bb, (0, 1), v.bbbb.ooov, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp82 = einsum(r1.aa, (0, 1), ints.tmp48, (2, 3, 4, 1), (2, 3, 4, 0))
+    tmp83 = einsum(v.aaaa.ooov, (0, 1, 2, 3), r1.aa, (4, 3), (4, 0, 1, 2))
+    tmp4 = einsum(r1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3))
+    tmp50 = einsum(r1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3))
+    tmp239 = np.copy(v.bbbb.ovvv)
+    tmp239 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3)) * -1
+    tmp247 = np.copy(tmp8)
+    tmp247 += tmp246
+    del tmp246
+    tmp185 = np.copy(ints.tmp95)
+    tmp185 += ints.tmp467 * 2
+    tmp230 = np.copy(f.bb.ov)
+    tmp230 += ints.tmp15
+    tmp230 += ints.tmp18
+    tmp205 = np.copy(tmp203)
+    del tmp203
+    tmp205 += np.transpose(tmp204, (0, 2, 3, 1))
+    del tmp204
+    tmp201 = np.copy(ints.tmp469)
+    tmp201 += ints.tmp473 * 0.5
+    tmp201 += np.transpose(ints.tmp96, (0, 1, 3, 2)) * 0.5
+    tmp108 = np.copy(ints.tmp45)
+    tmp108 += ints.tmp269 * 2
+    tmp62 = np.copy(f.aa.ov)
+    tmp62 += ints.tmp12
+    tmp62 += ints.tmp16
+    tmp80 = np.copy(ints.tmp271)
+    tmp80 += ints.tmp277 * 0.5
+    tmp80 += np.transpose(ints.tmp46, (0, 1, 3, 2)) * 0.5
+    tmp84 = np.copy(tmp82)
+    del tmp82
+    tmp84 += np.transpose(tmp83, (0, 2, 3, 1))
+    del tmp83
+    tmp51 = np.copy(tmp50)
+    del tmp50
+    tmp51 += tmp4
+    tmp39 = np.copy(v.aaaa.ovvv) * -1
+    tmp39 += np.transpose(v.aaaa.ovvv, (0, 2, 3, 1))
+    tmp165 = einsum(r2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4))
+    tmp164 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.abab, (0, 2, 1, 4), (4, 3))
+    tmp163 = einsum(v.aabb.ovvv, (0, 1, 2, 3), r1.aa, (0, 1), (2, 3))
+    tmp240 = einsum(tmp239, (0, 1, 2, 3), r1.bb, (0, 2), (1, 3))
+    del tmp239
+    tmp248 = einsum(tmp247, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) * -1
+    del tmp247
+    tmp245 = einsum(r2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp184 = einsum(v.bbbb.ooov, (0, 1, 2, 3), r2.bbbb, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp186 = einsum(tmp185, (0, 1, 2, 3), r1.bb, (4, 3), (0, 1, 4, 2))
+    del tmp185
+    tmp182 = einsum(ints.tmp100, (0, 1, 2, 3), r2.abab, (0, 4, 3, 5), (1, 2, 4, 5))
+    tmp183 = einsum(r2.bbbb, (0, 1, 2, 3), ints.tmp98, (4, 1, 5, 3), (4, 5, 0, 2))
+    tmp229 = einsum(ints.tmp98, (0, 1, 2, 3), r1.bb, (1, 3), (0, 2))
+    tmp228 = einsum(ints.tmp100, (0, 1, 2, 3), r1.aa, (0, 3), (1, 2))
+    tmp29 = einsum(r2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 2), (0, 4)) * -1
+    tmp28 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.abab, (0, 4, 1, 3), (4, 2))
+    tmp231 = einsum(tmp230, (0, 1), r1.bb, (2, 1), (0, 2)) * 0.5
+    del tmp230
+    tmp199 = einsum(r2.bbbb, (0, 1, 2, 3), ints.tmp98, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp198 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 2, 4, 5), (1, 4, 5, 3))
+    tmp206 = einsum(tmp205, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4))
+    del tmp205
+    tmp202 = einsum(tmp201, (0, 1, 2, 3), r1.bb, (4, 3), (0, 1, 4, 2)) * 2
+    del tmp201
+    tmp200 = einsum(v.bbbb.ooov, (0, 1, 2, 3), r2.bbbb, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp266 = np.copy(f.bb.ov)
+    tmp266 += ints.tmp15
+    tmp266 += ints.tmp18
+    tmp263 = einsum(r1.bb, (0, 1), v.bbbb.ovov, (2, 1, 0, 3), (2, 3))
+    tmp258 = einsum(v.aabb.ovoo, (0, 1, 2, 3), r1.aa, (0, 1), (2, 3))
+    tmp259 = einsum(v.bbbb.ooov, (0, 1, 2, 3), r1.bb, (2, 3), (0, 1))
+    tmp254 = einsum(r1.bb, (0, 1), ints.tmp14, (2, 1), (2, 0))
+    tmp255 = einsum(ints.tmp98, (0, 1, 2, 3), r1.bb, (2, 3), (0, 1))
+    tmp5 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1)))
+    tmp5 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) * -1
+    tmp9 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1)))
+    tmp9 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1
+    tmp109 = einsum(tmp108, (0, 1, 2, 3), r1.aa, (4, 3), (4, 0, 1, 2))
+    del tmp108
+    tmp106 = einsum(v.aaaa.ooov, (0, 1, 2, 3), r2.aaaa, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp107 = einsum(ints.tmp50, (0, 1, 2, 3), r2.abab, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp105 = einsum(ints.tmp48, (0, 1, 2, 3), r2.aaaa, (4, 1, 5, 3), (0, 2, 4, 5))
+    tmp125 = einsum(r1.aa, (0, 1), v.aaaa.ovov, (2, 1, 0, 3), (2, 3))
+    tmp128 = np.copy(f.aa.ov)
+    tmp128 += ints.tmp12
+    tmp128 += ints.tmp16
+    tmp61 = einsum(r1.bb, (0, 1), ints.tmp50, (2, 3, 0, 1), (2, 3))
+    tmp15 = einsum(v.aaaa.ovov, (0, 1, 2, 3), r2.aaaa, (4, 2, 1, 3), (4, 0))
+    tmp16 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4))
+    tmp60 = einsum(ints.tmp48, (0, 1, 2, 3), r1.aa, (1, 3), (0, 2))
+    tmp63 = einsum(tmp62, (0, 1), r1.aa, (2, 1), (2, 0))
+    del tmp62
+    tmp119 = einsum(r1.aa, (0, 1), v.aaaa.ooov, (2, 3, 0, 1), (2, 3))
+    tmp120 = einsum(v.aabb.ooov, (0, 1, 2, 3), r1.bb, (2, 3), (0, 1))
+    tmp116 = einsum(r1.aa, (0, 1), ints.tmp48, (2, 3, 0, 1), (2, 3))
+    tmp115 = einsum(r1.aa, (0, 1), ints.tmp10, (2, 1), (2, 0))
+    tmp81 = einsum(tmp80, (0, 1, 2, 3), r1.aa, (4, 3), (4, 0, 1, 2)) * 2
+    del tmp80
+    tmp85 = einsum(tmp84, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    del tmp84
+    tmp79 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp78 = einsum(v.aaaa.ooov, (0, 1, 2, 3), r2.aaaa, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp77 = einsum(ints.tmp48, (0, 1, 2, 3), r2.aaaa, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp43 = einsum(r2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1
+    tmp44 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4))
+    tmp52 = einsum(t2.aaaa, (0, 1, 2, 3), tmp51, (4, 3), (0, 1, 4, 2)) * -1
+    del tmp51
+    tmp49 = einsum(r2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp40 = einsum(tmp39, (0, 1, 2, 3), r1.aa, (0, 1), (2, 3))
+    del tmp39
+    tmp38 = einsum(v.aabb.vvov, (0, 1, 2, 3), r1.bb, (2, 3), (0, 1))
+    tmp221 = np.copy(ints.tmp551)
+    tmp221 += ints.tmp678
+    tmp221 += ints.tmp682 * -1
+    tmp219 = np.copy(ints.tmp79) * 2
+    tmp219 += ints.tmp81
+    tmp219 += np.transpose(ints.tmp93, (1, 0))
+    tmp243 = np.copy(tmp164) * 0.5
+    tmp243 += tmp165
+    tmp237 = einsum(ints.tmp14, (0, 1), r2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp241 = np.copy(np.transpose(tmp163, (1, 0)))
+    tmp241 += tmp240 * -1
+    del tmp240
+    tmp249 = np.copy(np.transpose(tmp245, (1, 0, 2, 3))) * -1
+    del tmp245
+    tmp249 += np.transpose(tmp248, (2, 1, 0, 3)) * -1
+    del tmp248
+    tmp216 = np.copy(ints.tmp539)
+    tmp216 += np.transpose(ints.tmp553, (2, 0, 1, 3))
+    tmp216 += np.transpose(ints.tmp555, (2, 0, 1, 3))
+    tmp214 = np.copy(f.bb.vv)
+    tmp214 += np.transpose(ints.tmp92, (1, 0))
+    tmp214 += np.transpose(ints.tmp94, (1, 0))
+    tmp180 = np.copy(ints.tmp536)
+    tmp180 += ints.tmp532 * 2
+    tmp176 = np.copy(ints.tmp473)
+    tmp176 += np.transpose(ints.tmp96, (0, 1, 3, 2))
+    tmp176 += ints.tmp469 * 2
+    tmp174 = np.copy(ints.tmp465)
+    tmp174 += ints.tmp97
+    tmp174 += ints.tmp471 * 2
+    tmp172 = einsum(v.bbbb.oovv, (0, 1, 2, 3), r1.bb, (4, 3), (4, 0, 1, 2))
+    tmp187 = np.copy(tmp182)
+    del tmp182
+    tmp187 += tmp183 * 2
+    del tmp183
+    tmp187 += np.transpose(tmp184, (0, 2, 1, 3)) * 2
+    del tmp184
+    tmp187 += tmp186
+    del tmp186
+    tmp178 = np.copy(ints.tmp613)
+    tmp178 += np.transpose(ints.tmp633, (0, 2, 1, 3))
+    tmp178 += ints.tmp671
+    tmp178 += ints.tmp98
+    tmp178 += ints.tmp609 * 2
+    tmp178 += ints.tmp651 * 2
+    tmp232 = np.copy(tmp228) * 0.5
+    del tmp228
+    tmp232 += tmp229 * 0.5
+    del tmp229
+    tmp232 += tmp28 * 0.5
+    tmp232 += tmp29
+    tmp232 += np.transpose(tmp231, (1, 0))
+    del tmp231
+    tmp226 = np.copy(f.bb.oo)
+    tmp226 += np.transpose(ints.tmp102, (1, 0)) * 2
+    tmp226 += np.transpose(ints.tmp104, (1, 0))
+    tmp226 += np.transpose(ints.tmp107, (1, 0))
+    tmp226 += np.transpose(ints.tmp108, (1, 0))
+    tmp226 += np.transpose(ints.tmp67, (1, 0))
+    tmp226 += np.transpose(ints.tmp68, (1, 0))
+    tmp226 += ints.tmp89
+    tmp234 = np.copy(ints.tmp577)
+    tmp234 += ints.tmp626 * -1
+    tmp224 = einsum(v.bbbb.ooov, (0, 1, 2, 3), r1.bb, (1, 3), (0, 2))
+    tmp196 = np.copy(ints.tmp467) * 2
+    tmp196 += ints.tmp95
+    tmp209 = np.copy(ints.tmp566)
+    tmp209 += np.transpose(ints.tmp611, (0, 2, 1, 3)) * 2
+    tmp209 += np.transpose(ints.tmp620, (0, 2, 1, 3))
+    tmp209 += np.transpose(ints.tmp631, (0, 2, 1, 3))
+    tmp209 += np.transpose(ints.tmp653, (0, 2, 1, 3)) * 2
+    tmp209 += np.transpose(ints.tmp655, (0, 2, 1, 3))
+    tmp209 += np.transpose(ints.tmp675, (0, 2, 1, 3))
+    tmp211 = np.copy(ints.tmp534)
+    tmp211 += ints.tmp669 * 0.5
+    tmp194 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r1.bb, (4, 3), (4, 0, 2, 1))
+    tmp207 = np.copy(np.transpose(tmp198, (0, 2, 1, 3)))
+    del tmp198
+    tmp207 += tmp199 * 2
+    del tmp199
+    tmp207 += np.transpose(tmp200, (0, 2, 1, 3)) * 2
+    del tmp200
+    tmp207 += tmp202
+    del tmp202
+    tmp207 += tmp206
+    del tmp206
+    tmp267 = einsum(r2.bbbb, (0, 1, 2, 3), tmp266, (4, 3), (4, 0, 1, 2)) * -1
+    del tmp266
+    tmp264 = einsum(t2.bbbb, (0, 1, 2, 3), tmp263, (4, 3), (0, 1, 4, 2))
+    del tmp263
+    tmp252 = np.copy(ints.tmp106)
+    tmp252 += ints.tmp66
+    tmp260 = np.copy(np.transpose(tmp258, (1, 0)))
+    del tmp258
+    tmp260 += np.transpose(tmp259, (1, 0))
+    del tmp259
+    tmp256 = np.copy(np.transpose(tmp254, (1, 0)))
+    del tmp254
+    tmp256 += tmp255
+    del tmp255
+    tmp6 = einsum(r1.aa, (0, 1), tmp5, (0, 2, 1, 3), (2, 3))
+    del tmp5
+    tmp10 = einsum(r1.bb, (0, 1), tmp9, (0, 2, 1, 3), (2, 3))
+    del tmp9
+    tmp143 = einsum(v.aabb.ovov, (0, 1, 2, 3), r2.abab, (4, 5, 1, 3), (4, 0, 5, 2))
+    r2new.abab = einsum(tmp143, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5))
+    tmp1 = np.copy(ints.tmp50)
+    tmp1 += v.aabb.ooov
+    r1new.aa = einsum(r2.abab, (0, 1, 2, 3), tmp1, (4, 0, 1, 3), (4, 2)) * -1
+    tmp24 = np.copy(ints.tmp100)
+    tmp24 += np.transpose(v.aabb.ovoo, (0, 2, 3, 1))
+    r1new.bb = einsum(tmp24, (0, 1, 2, 3), r2.abab, (0, 2, 3, 4), (1, 4)) * -1
+    tmp3 = np.copy(f.bb.ov)
+    tmp3 += ints.tmp15
+    tmp3 += ints.tmp18
+    tmp3 += ints.tmp14 * -1
+    r1new.bb += einsum(r2.bbbb, (0, 1, 2, 3), tmp3, (1, 3), (0, 2)) * 2
+    r1new.aa += einsum(r2.abab, (0, 1, 2, 3), tmp3, (1, 3), (0, 2))
+    tmp30 = np.copy(ints.tmp98) * -1
+    tmp30 += np.transpose(ints.tmp98, (0, 2, 1, 3))
+    tmp30 += v.bbbb.ooov
+    tmp30 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) * -1
+    tmp17 = np.copy(ints.tmp48)
+    tmp17 += np.transpose(ints.tmp48, (0, 2, 1, 3)) * -1
+    tmp17 += v.aaaa.ooov * -1
+    tmp17 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3))
+    tmp2 = np.copy(f.aa.ov)
+    tmp2 += ints.tmp12
+    tmp2 += ints.tmp16
+    tmp2 += ints.tmp10 * -1
+    r1new.bb += einsum(r2.abab, (0, 1, 2, 3), tmp2, (0, 2), (1, 3))
+    r1new.aa += einsum(r2.aaaa, (0, 1, 2, 3), tmp2, (1, 3), (0, 2)) * 2
+    tmp132 = np.copy(ints.tmp23) * 2
+    tmp132 += ints.tmp25
+    tmp132 += np.transpose(ints.tmp43, (1, 0))
+    tmp134 = np.copy(ints.tmp302)
+    tmp134 += ints.tmp306 * -1
+    tmp99 = np.copy(ints.tmp275)
+    tmp99 += ints.tmp47
+    tmp99 += ints.tmp279 * 2
+    tmp103 = np.copy(ints.tmp120)
+    tmp103 += ints.tmp116 * 2
+    tmp94 = einsum(v.aaaa.oovv, (0, 1, 2, 3), r1.aa, (4, 3), (4, 0, 1, 2))
+    tmp97 = np.copy(ints.tmp277)
+    tmp97 += np.transpose(ints.tmp46, (0, 1, 3, 2))
+    tmp97 += ints.tmp271 * 2
+    tmp110 = np.copy(tmp105) * 2
+    del tmp105
+    tmp110 += np.transpose(tmp106, (0, 2, 1, 3)) * 2
+    del tmp106
+    tmp110 += tmp107
+    del tmp107
+    tmp110 += np.transpose(tmp109, (1, 2, 0, 3))
+    del tmp109
+    tmp101 = np.copy(ints.tmp211)
+    tmp101 += np.transpose(ints.tmp239, (0, 2, 1, 3))
+    tmp101 += ints.tmp295
+    tmp101 += ints.tmp48
+    tmp101 += ints.tmp207 * 2
+    tmp101 += ints.tmp263 * 2
+    tmp126 = einsum(tmp125, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4))
+    del tmp125
+    tmp129 = einsum(r2.aaaa, (0, 1, 2, 3), tmp128, (4, 3), (0, 1, 4, 2)) * -1
+    del tmp128
+    tmp64 = np.copy(tmp60)
+    del tmp60
+    tmp64 += tmp61
+    del tmp61
+    tmp64 += tmp15 * 2
+    tmp64 += tmp16
+    tmp64 += tmp63
+    del tmp63
+    tmp66 = np.copy(ints.tmp169)
+    tmp66 += ints.tmp230 * -1
+    tmp58 = np.copy(f.aa.oo)
+    tmp58 += ints.tmp39
+    tmp58 += np.transpose(ints.tmp52, (1, 0)) * 2
+    tmp58 += np.transpose(ints.tmp54, (1, 0))
+    tmp58 += np.transpose(ints.tmp57, (1, 0))
+    tmp58 += np.transpose(ints.tmp58, (1, 0))
+    tmp58 += np.transpose(ints.tmp5, (1, 0))
+    tmp58 += np.transpose(ints.tmp6, (1, 0))
+    tmp56 = einsum(r1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 1), (2, 3))
+    tmp113 = np.copy(ints.tmp4)
+    tmp113 += ints.tmp56
+    tmp121 = np.copy(np.transpose(tmp119, (1, 0)))
+    del tmp119
+    tmp121 += np.transpose(tmp120, (1, 0))
+    del tmp120
+    tmp117 = np.copy(np.transpose(tmp115, (1, 0)))
+    del tmp115
+    tmp117 += tmp116
+    del tmp116
+    tmp88 = np.copy(ints.tmp156)
+    tmp88 += np.transpose(ints.tmp209, (0, 2, 1, 3)) * 2
+    tmp88 += np.transpose(ints.tmp222, (0, 2, 1, 3))
+    tmp88 += np.transpose(ints.tmp237, (0, 2, 1, 3))
+    tmp88 += np.transpose(ints.tmp265, (0, 2, 1, 3)) * 2
+    tmp88 += np.transpose(ints.tmp267, (0, 2, 1, 3))
+    tmp88 += np.transpose(ints.tmp299, (0, 2, 1, 3))
+    tmp75 = np.copy(ints.tmp269) * 2
+    tmp75 += ints.tmp45
+    tmp86 = np.copy(tmp77) * 2
+    del tmp77
+    tmp86 += np.transpose(tmp78, (0, 2, 1, 3)) * 2
+    del tmp78
+    tmp86 += np.transpose(tmp79, (0, 2, 1, 3))
+    del tmp79
+    tmp86 += np.transpose(tmp81, (1, 2, 0, 3))
+    del tmp81
+    tmp86 += tmp85
+    del tmp85
+    tmp90 = np.copy(ints.tmp118)
+    tmp90 += ints.tmp293 * 0.5
+    tmp72 = einsum(r1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3))
+    tmp45 = np.copy(tmp43) * 2
+    tmp45 += tmp44
+    tmp36 = einsum(r2.aaaa, (0, 1, 2, 3), ints.tmp10, (4, 3), (4, 0, 1, 2))
+    tmp53 = np.copy(np.transpose(tmp49, (1, 0, 2, 3))) * -1
+    del tmp49
+    tmp53 += np.transpose(tmp52, (1, 0, 2, 3)) * -1
+    del tmp52
+    tmp41 = np.copy(np.transpose(tmp38, (1, 0)))
+    tmp41 += np.transpose(tmp40, (1, 0)) * -1
+    del tmp40
+    tmp47 = np.copy(ints.tmp123)
+    tmp47 += np.transpose(ints.tmp142, (2, 0, 1, 3))
+    tmp47 += np.transpose(ints.tmp144, (2, 0, 1, 3))
+    tmp222 = einsum(tmp221, (0, 1, 2, 3), r1.bb, (2, 4), (0, 1, 3, 4)) * 2
+    del tmp221
+    tmp220 = einsum(tmp219, (0, 1), r2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) * -2
+    del tmp219
+    tmp244 = einsum(tmp243, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) * -4
+    del tmp243
+    tmp238 = einsum(tmp237, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4))
+    del tmp237
+    tmp242 = einsum(t2.bbbb, (0, 1, 2, 3), tmp241, (3, 4), (0, 1, 4, 2)) * -2
+    del tmp241
+    tmp250 = einsum(t1.bb, (0, 1), tmp249, (2, 3, 0, 4), (2, 3, 4, 1)) * 2
+    del tmp249
+    tmp217 = einsum(tmp216, (0, 1, 2, 3), r1.bb, (0, 4), (1, 2, 3, 4))
+    del tmp216
+    tmp215 = einsum(tmp214, (0, 1), r2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * -1
+    del tmp214
+    tmp181 = einsum(tmp180, (0, 1, 2, 3), r1.bb, (4, 3), (0, 4, 1, 2))
+    del tmp180
+    tmp177 = einsum(r2.bbbb, (0, 1, 2, 3), tmp176, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp176
+    tmp175 = einsum(tmp174, (0, 1, 2, 3), r2.abab, (0, 4, 2, 5), (1, 4, 3, 5))
+    del tmp174
+    tmp173 = einsum(t1.bb, (0, 1), tmp172, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp172
+    tmp188 = einsum(t1.bb, (0, 1), tmp187, (2, 0, 3, 4), (2, 3, 4, 1))
+    del tmp187
+    tmp179 = einsum(tmp178, (0, 1, 2, 3), r1.bb, (2, 4), (0, 1, 3, 4))
+    del tmp178
+    tmp170 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5))
+    tmp171 = einsum(r2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp233 = einsum(t2.bbbb, (0, 1, 2, 3), tmp232, (4, 1), (4, 0, 2, 3)) * -4
+    del tmp232
+    tmp227 = einsum(tmp226, (0, 1), r2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) * -2
+    del tmp226
+    tmp235 = einsum(r1.bb, (0, 1), tmp234, (2, 3, 4, 1), (2, 0, 3, 4)) * 2
+    del tmp234
+    tmp225 = einsum(t2.bbbb, (0, 1, 2, 3), tmp224, (4, 1), (0, 4, 2, 3))
+    del tmp224
+    tmp191 = einsum(r1.bb, (0, 1), v.bbbb.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp192 = einsum(r2.abab, (0, 1, 2, 3), ints.tmp463, (0, 4, 2, 5), (4, 1, 5, 3))
+    tmp197 = einsum(r2.bbbb, (0, 1, 2, 3), tmp196, (4, 1, 5, 3), (4, 0, 5, 2)) * 2
+    del tmp196
+    tmp193 = einsum(r2.bbbb, (0, 1, 2, 3), v.bbbb.oovv, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp210 = einsum(r1.bb, (0, 1), tmp209, (2, 0, 3, 4), (2, 3, 4, 1))
+    del tmp209
+    tmp212 = einsum(tmp211, (0, 1, 2, 3), r1.bb, (4, 2), (0, 4, 1, 3)) * 2
+    del tmp211
+    tmp195 = einsum(tmp194, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3))
+    del tmp194
+    tmp208 = einsum(tmp207, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4))
+    del tmp207
+    tmp190 = einsum(v.bbbb.ooov, (0, 1, 2, 3), r1.bb, (1, 4), (0, 2, 4, 3))
+    tmp268 = einsum(tmp267, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4))
+    del tmp267
+    tmp265 = einsum(tmp264, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3))
+    del tmp264
+    tmp253 = einsum(r2.bbbb, (0, 1, 2, 3), tmp252, (4, 1), (4, 0, 2, 3)) * -1
+    del tmp252
+    tmp261 = einsum(t2.bbbb, (0, 1, 2, 3), tmp260, (1, 4), (4, 0, 2, 3)) * -1
+    del tmp260
+    tmp257 = einsum(tmp256, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4)) * -1
+    del tmp256
+    tmp7 = np.copy(tmp4)
+    del tmp4
+    tmp7 += tmp6 * -1
+    del tmp6
+    r1new.bb += einsum(tmp7, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    r1new.aa += einsum(tmp7, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3)) * 2
+    tmp157 = np.copy(ints.tmp465)
+    tmp157 += ints.tmp471 * 2
+    tmp157 += ints.tmp97
+    tmp157 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp157 += ints.tmp463 * -1
+    tmp148 = np.copy(ints.tmp515)
+    tmp148 += v.aabb.oovv
+    tmp148 += ints.tmp491 * -1
+    r2new.abab += einsum(r2.abab, (0, 1, 2, 3), tmp148, (4, 0, 5, 3), (4, 1, 2, 5)) * -1
+    tmp11 = np.copy(tmp8)
+    del tmp8
+    tmp11 += tmp10 * -1
+    del tmp10
+    r1new.bb += einsum(tmp11, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3)) * 2
+    r1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp11, (1, 3), (0, 2))
+    tmp154 = np.copy(ints.tmp275)
+    tmp154 += ints.tmp279 * 2
+    tmp154 += ints.tmp47
+    tmp154 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp154 += ints.tmp273 * -1
+    tmp153 = np.copy(ints.tmp98)
+    tmp153 += np.transpose(ints.tmp98, (0, 2, 1, 3)) * -1
+    tmp153 += v.bbbb.ooov * -1
+    tmp153 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3))
+    tmp155 = np.copy(np.transpose(tmp143, (1, 0, 2, 3)))
+    del tmp143
+    tmp155 += einsum(r1.aa, (0, 1), tmp24, (2, 3, 4, 1), (2, 0, 3, 4))
+    tmp155 += einsum(r1.bb, (0, 1), tmp1, (2, 3, 4, 1), (3, 2, 0, 4))
+    tmp149 = np.copy(ints.tmp498)
+    tmp149 += np.transpose(v.aabb.vvoo, (2, 3, 0, 1))
+    tmp149 += ints.tmp495 * -1
+    r2new.abab += einsum(r2.abab, (0, 1, 2, 3), tmp149, (4, 1, 5, 2), (0, 4, 5, 3)) * -1
+    tmp33 = einsum(r1.bb, (0, 1), tmp3, (2, 1), (0, 2))
+    tmp31 = einsum(r1.bb, (0, 1), tmp30, (2, 0, 3, 1), (2, 3))
+    del tmp30
+    tmp32 = einsum(tmp24, (0, 1, 2, 3), r1.aa, (0, 3), (1, 2))
+    tmp166 = np.copy(v.bbbb.ovvv) * -1
+    tmp166 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3))
+    tmp18 = einsum(r1.aa, (0, 1), tmp17, (2, 3, 0, 1), (2, 3))
+    tmp19 = einsum(r1.bb, (0, 1), tmp1, (2, 3, 0, 1), (2, 3))
+    tmp20 = einsum(tmp2, (0, 1), r1.aa, (2, 1), (2, 0))
+    tmp161 = np.copy(v.aaaa.ovvv) * -1
+    tmp161 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3))
+    tmp137 = np.copy(f.aa.vv)
+    tmp137 += np.transpose(ints.tmp42, (1, 0))
+    tmp137 += np.transpose(ints.tmp44, (1, 0))
+    tmp133 = einsum(r2.aaaa, (0, 1, 2, 3), tmp132, (4, 3), (0, 1, 2, 4)) * -2
+    del tmp132
+    tmp135 = einsum(r1.aa, (0, 1), tmp134, (2, 3, 0, 4), (2, 3, 1, 4)) * 2
+    del tmp134
+    tmp100 = einsum(r2.abab, (0, 1, 2, 3), tmp99, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp99
+    tmp104 = einsum(r1.aa, (0, 1), tmp103, (2, 3, 4, 1), (0, 2, 3, 4))
+    del tmp103
+    tmp95 = einsum(t1.aa, (0, 1), tmp94, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp94
+    tmp98 = einsum(r2.aaaa, (0, 1, 2, 3), tmp97, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp97
+    tmp96 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp111 = einsum(t1.aa, (0, 1), tmp110, (2, 0, 3, 4), (2, 3, 1, 4))
+    del tmp110
+    tmp102 = einsum(tmp101, (0, 1, 2, 3), r1.aa, (2, 4), (0, 1, 4, 3))
+    del tmp101
+    tmp93 = einsum(r2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp124 = einsum(r1.aa, (0, 1), ints.tmp140, (2, 3, 0, 4), (2, 3, 4, 1))
+    tmp127 = einsum(tmp126, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    del tmp126
+    tmp130 = einsum(tmp129, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 4, 3))
+    del tmp129
+    tmp65 = einsum(t2.aaaa, (0, 1, 2, 3), tmp64, (4, 1), (0, 4, 2, 3)) * -2
+    del tmp64
+    tmp67 = einsum(tmp66, (0, 1, 2, 3), r1.aa, (4, 3), (4, 0, 1, 2)) * 2
+    del tmp66
+    tmp59 = einsum(tmp58, (0, 1), r2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -2
+    del tmp58
+    tmp57 = einsum(t2.aaaa, (0, 1, 2, 3), tmp56, (4, 1), (0, 4, 2, 3))
+    del tmp56
+    tmp114 = einsum(tmp113, (0, 1), r2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) * -1
+    del tmp113
+    tmp122 = einsum(t2.aaaa, (0, 1, 2, 3), tmp121, (1, 4), (0, 4, 2, 3)) * -1
+    del tmp121
+    tmp118 = einsum(t2.aaaa, (0, 1, 2, 3), tmp117, (4, 1), (0, 4, 2, 3)) * -1
+    del tmp117
+    tmp70 = einsum(r1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp69 = einsum(v.aaaa.ooov, (0, 1, 2, 3), r1.aa, (1, 4), (0, 2, 4, 3))
+    tmp89 = einsum(r1.aa, (0, 1), tmp88, (2, 0, 3, 4), (2, 3, 1, 4))
+    del tmp88
+    tmp74 = einsum(r2.abab, (0, 1, 2, 3), ints.tmp273, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp76 = einsum(tmp75, (0, 1, 2, 3), r2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2)) * 2
+    del tmp75
+    tmp87 = einsum(tmp86, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3))
+    del tmp86
+    tmp71 = einsum(r2.aaaa, (0, 1, 2, 3), v.aaaa.oovv, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp91 = einsum(tmp90, (0, 1, 2, 3), r1.aa, (4, 2), (4, 0, 1, 3)) * 2
+    del tmp90
+    tmp73 = einsum(tmp72, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    del tmp72
+    tmp46 = einsum(tmp45, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 4, 0)) * -2
+    del tmp45
+    tmp37 = einsum(tmp36, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 3, 4))
+    del tmp36
+    tmp54 = einsum(tmp53, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3)) * 2
+    del tmp53
+    tmp42 = einsum(tmp41, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -2
+    del tmp41
+    tmp48 = einsum(r1.aa, (0, 1), tmp47, (0, 2, 3, 4), (2, 3, 1, 4)) * 2
+    del tmp47
+    tmp223 = np.copy(np.transpose(tmp220, (1, 0, 2, 3))) * -1
+    del tmp220
+    tmp223 += tmp222 * -1
+    del tmp222
+    r2new.bbbb = np.copy(np.transpose(tmp223, (1, 0, 3, 2))) * -1
+    r2new.bbbb += np.transpose(tmp223, (1, 0, 2, 3))
+    del tmp223
+    tmp271 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r2.bbbb, (4, 5, 3, 1), (4, 5, 0, 2)) * -1
+    tmp251 = np.copy(tmp238) * 2
+    del tmp238
+    tmp251 += np.transpose(tmp242, (1, 0, 3, 2))
+    del tmp242
+    tmp251 += np.transpose(tmp244, (1, 0, 2, 3))
+    del tmp244
+    tmp251 += np.transpose(tmp250, (1, 0, 3, 2))
+    del tmp250
+    r2new.bbbb += np.transpose(tmp251, (0, 1, 3, 2)) * -1
+    r2new.bbbb += tmp251
+    del tmp251
+    tmp218 = np.copy(np.transpose(tmp215, (1, 0, 2, 3)))
+    del tmp215
+    tmp218 += tmp217
+    del tmp217
+    r2new.bbbb += np.transpose(tmp218, (1, 0, 3, 2)) * -2
+    r2new.bbbb += np.transpose(tmp218, (1, 0, 2, 3)) * 2
+    del tmp218
+    tmp189 = np.copy(tmp170)
+    del tmp170
+    tmp189 += tmp171 * 2
+    del tmp171
+    tmp189 += tmp173
+    del tmp173
+    tmp189 += tmp175
+    del tmp175
+    tmp189 += tmp177 * 2
+    del tmp177
+    tmp189 += tmp179
+    del tmp179
+    tmp189 += tmp181
+    del tmp181
+    tmp189 += tmp188
+    del tmp188
+    r2new.bbbb += np.transpose(tmp189, (1, 0, 3, 2))
+    r2new.bbbb += np.transpose(tmp189, (1, 0, 2, 3)) * -1
+    r2new.bbbb += np.transpose(tmp189, (0, 1, 3, 2)) * -1
+    r2new.bbbb += tmp189
+    del tmp189
+    tmp236 = np.copy(np.transpose(tmp225, (0, 1, 3, 2))) * -2
+    del tmp225
+    tmp236 += np.transpose(tmp227, (0, 1, 3, 2))
+    del tmp227
+    tmp236 += np.transpose(tmp233, (0, 1, 3, 2))
+    del tmp233
+    tmp236 += np.transpose(tmp235, (0, 1, 3, 2)) * -1
+    del tmp235
+    r2new.bbbb += np.transpose(tmp236, (1, 0, 2, 3)) * -1
+    r2new.bbbb += tmp236
+    del tmp236
+    tmp272 = np.copy(t2.bbbb)
+    tmp272 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1))
+    r2new.bbbb += einsum(tmp271, (0, 1, 2, 3), tmp272, (2, 3, 4, 5), (1, 0, 5, 4)) * 2
+    del tmp271, tmp272
+    tmp169 = np.copy(ints.tmp331)
+    tmp169 += ints.tmp337 * 2
+    tmp169 += ints.tmp338
+    tmp169 += ints.tmp344
+    tmp169 += ints.tmp345
+    tmp169 += ints.tmp401 * 2
+    tmp169 += ints.tmp408
+    tmp169 += ints.tmp411
+    tmp169 += ints.tmp416 * 2
+    tmp169 += ints.tmp417
+    tmp169 += ints.tmp420 * 2
+    tmp169 += ints.tmp421
+    tmp169 += ints.tmp428
+    tmp169 += ints.tmp429
+    tmp169 += ints.tmp443
+    tmp169 += ints.tmp474
+    tmp169 += ints.tmp476 * 2
+    tmp169 += f.bb.ov * -1
+    tmp169 += ints.tmp15 * -1
+    tmp169 += ints.tmp18 * -1
+    tmp169 += ints.tmp343 * -1
+    tmp169 += ints.tmp399 * -1
+    tmp169 += ints.tmp402 * -1
+    tmp169 += ints.tmp407 * -1
+    tmp169 += ints.tmp409 * -1
+    tmp169 += ints.tmp427 * -1
+    tmp169 += ints.tmp457 * -1
+    tmp169 += ints.tmp458 * -2
+    tmp169 += ints.tmp475 * -1
+    tmp169 += ints.tmp477 * -2
+    tmp169 += ints.tmp478 * -1
+    tmp169 += ints.tmp479 * -2
+    r2new.bbbb += einsum(r1.bb, (0, 1), tmp169, (2, 3), (2, 0, 1, 3))
+    r2new.bbbb += einsum(tmp169, (0, 1), r1.bb, (2, 3), (2, 0, 1, 3))
+    r2new.bbbb += einsum(r1.bb, (0, 1), tmp169, (2, 3), (0, 2, 1, 3)) * -1
+    r2new.bbbb += einsum(r1.bb, (0, 1), tmp169, (2, 3), (2, 0, 3, 1)) * -1
+    r2new.abab += einsum(tmp169, (0, 1), r1.aa, (2, 3), (2, 0, 3, 1)) * -1
+    del tmp169
+    tmp270 = np.copy(ints.tmp673)
+    tmp270 += ints.tmp680
+    tmp270 += np.transpose(v.bbbb.oooo, (0, 2, 1, 3))
+    tmp270 += ints.tmp622 * -1
+    tmp270 += np.transpose(ints.tmp622, (1, 0, 2, 3))
+    r2new.bbbb += einsum(r2.bbbb, (0, 1, 2, 3), tmp270, (4, 5, 0, 1), (4, 5, 2, 3)) * 2
+    del tmp270
+    tmp213 = np.copy(tmp190)
+    del tmp190
+    tmp213 += tmp191
+    del tmp191
+    tmp213 += tmp192
+    del tmp192
+    tmp213 += tmp193 * 2
+    del tmp193
+    tmp213 += tmp195
+    del tmp195
+    tmp213 += tmp197
+    del tmp197
+    tmp213 += tmp208
+    del tmp208
+    tmp213 += tmp210
+    del tmp210
+    tmp213 += tmp212
+    del tmp212
+    r2new.bbbb += np.transpose(tmp213, (1, 0, 3, 2)) * -1
+    r2new.bbbb += np.transpose(tmp213, (1, 0, 2, 3))
+    r2new.bbbb += np.transpose(tmp213, (0, 1, 3, 2))
+    r2new.bbbb += tmp213 * -1
+    del tmp213
+    tmp269 = np.copy(tmp265)
+    del tmp265
+    tmp269 += np.transpose(tmp268, (1, 0, 2, 3)) * -1
+    del tmp268
+    r2new.bbbb += np.transpose(tmp269, (0, 1, 3, 2)) * 2
+    r2new.bbbb += tmp269 * -2
+    del tmp269
+    tmp262 = np.copy(np.transpose(tmp253, (0, 1, 3, 2)))
+    del tmp253
+    tmp262 += np.transpose(tmp257, (0, 1, 3, 2))
+    del tmp257
+    tmp262 += np.transpose(tmp261, (1, 0, 3, 2))
+    del tmp261
+    r2new.bbbb += np.transpose(tmp262, (1, 0, 2, 3)) * 2
+    r2new.bbbb += tmp262 * -2
+    del tmp262
+    tmp27 = np.copy(np.transpose(ints.tmp79, (1, 0))) * 2
+    tmp27 += np.transpose(ints.tmp81, (1, 0))
+    tmp27 += ints.tmp93
+    tmp27 += f.bb.vv * -1
+    tmp27 += np.transpose(ints.tmp92, (1, 0)) * -1
+    tmp27 += np.transpose(ints.tmp94, (1, 0)) * -1
+    r2new.abab += einsum(r2.abab, (0, 1, 2, 3), tmp27, (3, 4), (0, 1, 2, 4)) * -1
+    r1new.bb += einsum(tmp27, (0, 1), r1.bb, (2, 0), (2, 1)) * -1
+    del tmp27
+    tmp168 = np.copy(f.bb.oo)
+    tmp168 += np.transpose(ints.tmp102, (1, 0)) * 2
+    tmp168 += np.transpose(ints.tmp104, (1, 0))
+    tmp168 += np.transpose(ints.tmp107, (1, 0))
+    tmp168 += np.transpose(ints.tmp108, (1, 0))
+    tmp168 += np.transpose(ints.tmp67, (1, 0))
+    tmp168 += np.transpose(ints.tmp68, (1, 0))
+    tmp168 += ints.tmp89
+    tmp168 += np.transpose(ints.tmp106, (1, 0)) * -1
+    tmp168 += np.transpose(ints.tmp66, (1, 0)) * -1
+    r2new.abab += einsum(tmp168, (0, 1), r2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1
+    del tmp168
+    tmp158 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (4, 0, 1, 5)) * 0.5
+    tmp158 += einsum(tmp17, (0, 1, 2, 3), r2.abab, (2, 4, 3, 5), (1, 0, 4, 5)) * -0.5
+    del tmp17
+    tmp158 += einsum(tmp24, (0, 1, 2, 3), r2.abab, (4, 2, 3, 5), (0, 4, 1, 5)) * -0.5
+    tmp158 += einsum(tmp1, (0, 1, 2, 3), r2.bbbb, (4, 2, 5, 3), (1, 0, 4, 5))
+    tmp158 += einsum(r1.aa, (0, 1), tmp157, (2, 3, 1, 4), (2, 0, 3, 4)) * 0.5
+    del tmp157
+    tmp158 += einsum(r2.abab, (0, 1, 2, 3), tmp2, (4, 2), (4, 0, 1, 3)) * 0.5
+    del tmp2
+    tmp158 += einsum(t2.abab, (0, 1, 2, 3), tmp7, (4, 2), (4, 0, 1, 3)) * 0.5
+    del tmp7
+    tmp158 += einsum(tmp148, (0, 1, 2, 3), r1.bb, (4, 3), (1, 0, 4, 2)) * 0.5
+    del tmp148
+    r2new.abab += einsum(t1.aa, (0, 1), tmp158, (0, 2, 3, 4), (2, 3, 1, 4)) * -2
+    del tmp158
+    tmp145 = np.copy(ints.tmp469) * 2
+    tmp145 += ints.tmp473
+    tmp145 += np.transpose(ints.tmp96, (0, 1, 3, 2))
+    tmp145 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    tmp145 += ints.tmp467 * -2
+    tmp145 += ints.tmp95 * -1
+    tmp145 += v.bbbb.oovv * -1
+    r2new.abab += einsum(tmp145, (0, 1, 2, 3), r2.abab, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp145
+    tmp156 = einsum(r2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 3), (0, 1, 5, 4))
+    tmp156 += einsum(r2.abab, (0, 1, 2, 3), tmp153, (4, 5, 1, 3), (0, 4, 5, 2)) * -1
+    del tmp153
+    tmp156 += einsum(r2.aaaa, (0, 1, 2, 3), tmp24, (1, 4, 5, 3), (0, 4, 5, 2)) * 2
+    del tmp24
+    tmp156 += einsum(r2.abab, (0, 1, 2, 3), tmp1, (4, 0, 5, 3), (4, 1, 5, 2)) * -1
+    del tmp1
+    tmp156 += einsum(r1.bb, (0, 1), tmp154, (2, 3, 4, 1), (2, 0, 3, 4))
+    del tmp154
+    tmp156 += einsum(r2.abab, (0, 1, 2, 3), tmp3, (4, 3), (0, 1, 4, 2))
+    del tmp3
+    tmp156 += einsum(tmp11, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4))
+    del tmp11
+    tmp156 += einsum(tmp149, (0, 1, 2, 3), r1.aa, (4, 3), (4, 0, 1, 2))
+    del tmp149
+    tmp156 += einsum(t1.aa, (0, 1), tmp155, (0, 2, 3, 4), (2, 3, 4, 1)) * -1
+    del tmp155
+    r2new.abab += einsum(tmp156, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4)) * -1
+    del tmp156
+    tmp142 = np.copy(ints.tmp153)
+    tmp142 += ints.tmp167 * 2
+    tmp142 += ints.tmp168
+    tmp142 += ints.tmp180
+    tmp142 += ints.tmp181
+    tmp142 += ints.tmp205 * 2
+    tmp142 += ints.tmp214
+    tmp142 += ints.tmp221
+    tmp142 += ints.tmp228 * 2
+    tmp142 += ints.tmp229
+    tmp142 += ints.tmp235 * 2
+    tmp142 += ints.tmp236
+    tmp142 += ints.tmp251
+    tmp142 += ints.tmp252
+    tmp142 += ints.tmp260
+    tmp142 += ints.tmp281 * 2
+    tmp142 += ints.tmp283
+    tmp142 += f.aa.ov * -1
+    tmp142 += ints.tmp12 * -1
+    tmp142 += ints.tmp16 * -1
+    tmp142 += ints.tmp179 * -1
+    tmp142 += ints.tmp199 * -1
+    tmp142 += ints.tmp206 * -1
+    tmp142 += ints.tmp213 * -1
+    tmp142 += ints.tmp215 * -1
+    tmp142 += ints.tmp250 * -1
+    tmp142 += ints.tmp256 * -2
+    tmp142 += ints.tmp257 * -1
+    tmp142 += ints.tmp282 * -2
+    tmp142 += ints.tmp284 * -1
+    tmp142 += ints.tmp285 * -2
+    tmp142 += ints.tmp286 * -1
+    r2new.abab += einsum(r1.bb, (0, 1), tmp142, (2, 3), (2, 0, 3, 1)) * -1
+    r2new.aaaa = einsum(r1.aa, (0, 1), tmp142, (2, 3), (2, 0, 1, 3))
+    r2new.aaaa += einsum(tmp142, (0, 1), r1.aa, (2, 3), (2, 0, 1, 3))
+    r2new.aaaa += einsum(tmp142, (0, 1), r1.aa, (2, 3), (2, 0, 3, 1)) * -1
+    r2new.aaaa += einsum(r1.aa, (0, 1), tmp142, (2, 3), (2, 0, 3, 1)) * -1
+    del tmp142
+    tmp152 = np.copy(ints.tmp327)
+    tmp152 += ints.tmp329 * 2
+    tmp152 += ints.tmp351
+    tmp152 += ints.tmp437
+    tmp152 += ints.tmp497
+    tmp152 += v.aabb.ovvv
+    tmp152 += np.transpose(ints.tmp328, (0, 1, 3, 2)) * -1
+    tmp152 += ints.tmp525 * -1
+    r2new.abab += einsum(tmp152, (0, 1, 2, 3), r1.bb, (4, 3), (0, 4, 1, 2))
+    del tmp152
+    tmp146 = np.copy(ints.tmp465) * 0.5
+    tmp146 += ints.tmp471
+    tmp146 += ints.tmp97 * 0.5
+    tmp146 += np.transpose(v.aabb.ovov, (0, 2, 1, 3)) * 0.5
+    tmp146 += ints.tmp463 * -0.5
+    r2new.abab += einsum(r2.aaaa, (0, 1, 2, 3), tmp146, (1, 4, 3, 5), (0, 4, 2, 5)) * 4
+    del tmp146
+    tmp14 = np.copy(np.transpose(ints.tmp23, (1, 0))) * 2
+    tmp14 += np.transpose(ints.tmp25, (1, 0))
+    tmp14 += ints.tmp43
+    tmp14 += f.aa.vv * -1
+    tmp14 += np.transpose(ints.tmp42, (1, 0)) * -1
+    tmp14 += np.transpose(ints.tmp44, (1, 0)) * -1
+    r2new.abab += einsum(r2.abab, (0, 1, 2, 3), tmp14, (2, 4), (0, 1, 4, 3)) * -1
+    r1new.aa += einsum(tmp14, (0, 1), r1.aa, (2, 0), (2, 1)) * -1
+    del tmp14
+    tmp34 = np.copy(np.transpose(tmp28, (1, 0)))
+    del tmp28
+    tmp34 += np.transpose(tmp29, (1, 0)) * 2
+    del tmp29
+    tmp34 += np.transpose(tmp31, (1, 0)) * -1
+    del tmp31
+    tmp34 += np.transpose(tmp32, (1, 0))
+    del tmp32
+    tmp34 += np.transpose(tmp33, (1, 0))
+    del tmp33
+    r2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp34, (1, 4), (0, 4, 2, 3)) * -1
+    r1new.bb += einsum(t1.bb, (0, 1), tmp34, (0, 2), (2, 1)) * -1
+    del tmp34
+    tmp167 = np.copy(np.transpose(tmp163, (1, 0))) * -0.5
+    del tmp163
+    tmp167 += np.transpose(tmp164, (1, 0)) * 0.5
+    del tmp164
+    tmp167 += np.transpose(tmp165, (1, 0))
+    del tmp165
+    tmp167 += einsum(tmp166, (0, 1, 2, 3), r1.bb, (0, 2), (1, 3)) * -0.5
+    del tmp166
+    r2new.abab += einsum(tmp167, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -2
+    del tmp167
+    tmp144 = np.copy(ints.tmp271) * 2
+    tmp144 += ints.tmp277
+    tmp144 += np.transpose(ints.tmp46, (0, 1, 3, 2))
+    tmp144 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp144 += ints.tmp269 * -2
+    tmp144 += ints.tmp45 * -1
+    tmp144 += v.aaaa.oovv * -1
+    r2new.abab += einsum(r2.abab, (0, 1, 2, 3), tmp144, (4, 0, 5, 2), (4, 1, 5, 3))
+    del tmp144
+    tmp150 = np.copy(ints.tmp412)
+    tmp150 += ints.tmp433
+    tmp150 += ints.tmp500
+    tmp150 += ints.tmp509
+    tmp150 += v.aabb.oooo
+    r2new.abab += einsum(tmp150, (0, 1, 2, 3), r2.abab, (1, 3, 4, 5), (0, 2, 4, 5))
+    del tmp150
+    tmp21 = np.copy(np.transpose(tmp15, (1, 0))) * 2
+    del tmp15
+    tmp21 += np.transpose(tmp16, (1, 0))
+    del tmp16
+    tmp21 += np.transpose(tmp18, (1, 0)) * -1
+    del tmp18
+    tmp21 += np.transpose(tmp19, (1, 0))
+    del tmp19
+    tmp21 += np.transpose(tmp20, (1, 0))
+    del tmp20
+    r2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp21, (0, 4), (4, 1, 2, 3)) * -1
+    r1new.aa += einsum(t1.aa, (0, 1), tmp21, (0, 2), (2, 1)) * -1
+    del tmp21
+    tmp147 = np.copy(ints.tmp275) * 0.5
+    tmp147 += ints.tmp279
+    tmp147 += ints.tmp47 * 0.5
+    tmp147 += np.transpose(v.aabb.ovov, (0, 2, 1, 3)) * 0.5
+    tmp147 += ints.tmp273 * -0.5
+    r2new.abab += einsum(tmp147, (0, 1, 2, 3), r2.bbbb, (4, 1, 5, 3), (0, 4, 2, 5)) * 4
+    del tmp147
+    tmp160 = np.copy(ints.tmp308)
+    tmp160 += np.transpose(ints.tmp320, (1, 0, 2, 3))
+    tmp160 += np.transpose(ints.tmp321, (1, 0, 2, 3))
+    tmp160 += np.transpose(ints.tmp394, (1, 0, 2, 3))
+    tmp160 += np.transpose(ints.tmp396, (1, 0, 2, 3)) * 2
+    tmp160 += np.transpose(ints.tmp460, (1, 0, 2, 3))
+    tmp160 += np.transpose(ints.tmp461, (1, 0, 2, 3)) * 2
+    tmp160 += np.transpose(ints.tmp50, (1, 0, 2, 3))
+    tmp160 += np.transpose(ints.tmp518, (1, 0, 2, 3))
+    tmp160 += np.transpose(ints.tmp521, (1, 0, 2, 3))
+    tmp160 += np.transpose(ints.tmp526, (1, 0, 2, 3))
+    tmp160 += v.aabb.ooov
+    tmp160 += np.transpose(ints.tmp319, (1, 0, 2, 3)) * -1
+    tmp160 += np.transpose(ints.tmp349, (1, 0, 2, 3)) * -1
+    tmp160 += np.transpose(ints.tmp395, (1, 0, 2, 3)) * -1
+    tmp160 += ints.tmp422 * -1
+    tmp160 += np.transpose(ints.tmp439, (1, 0, 2, 3)) * -1
+    tmp160 += np.transpose(ints.tmp459, (1, 0, 2, 3)) * -1
+    tmp160 += np.transpose(ints.tmp490, (1, 0, 2, 3)) * -1
+    tmp160 += np.transpose(ints.tmp502, (1, 0, 2, 3)) * -1
+    tmp160 += np.transpose(ints.tmp503, (1, 0, 2, 3)) * -1
+    tmp160 += np.transpose(ints.tmp511, (1, 0, 2, 3)) * -1
+    r2new.abab += einsum(r1.aa, (0, 1), tmp160, (0, 2, 3, 4), (2, 3, 1, 4)) * -1
+    del tmp160
+    tmp162 = np.copy(np.transpose(tmp38, (1, 0))) * -1
+    del tmp38
+    tmp162 += np.transpose(tmp43, (1, 0)) * 2
+    del tmp43
+    tmp162 += np.transpose(tmp44, (1, 0))
+    del tmp44
+    tmp162 += einsum(tmp161, (0, 1, 2, 3), r1.aa, (0, 2), (1, 3)) * -1
+    del tmp161
+    r2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp162, (2, 4), (0, 1, 4, 3)) * -1
+    del tmp162
+    tmp159 = np.copy(ints.tmp100)
+    tmp159 += np.transpose(ints.tmp366, (0, 2, 1, 3))
+    tmp159 += ints.tmp378
+    tmp159 += ints.tmp379
+    tmp159 += ints.tmp403
+    tmp159 += ints.tmp405 * 2
+    tmp159 += ints.tmp432
+    tmp159 += ints.tmp445
+    tmp159 += ints.tmp446 * 2
+    tmp159 += ints.tmp499
+    tmp159 += ints.tmp507
+    tmp159 += np.transpose(v.aabb.ovoo, (0, 2, 3, 1))
+    tmp159 += ints.tmp377 * -1
+    tmp159 += ints.tmp404 * -1
+    tmp159 += ints.tmp444 * -1
+    tmp159 += np.transpose(ints.tmp484, (0, 2, 1, 3)) * -1
+    tmp159 += ints.tmp494 * -1
+    tmp159 += ints.tmp513 * -1
+    tmp159 += ints.tmp516 * -1
+    tmp159 += ints.tmp519 * -1
+    tmp159 += ints.tmp523 * -1
+    tmp159 += ints.tmp527 * -1
+    r2new.abab += einsum(r1.bb, (0, 1), tmp159, (2, 3, 0, 4), (2, 3, 4, 1)) * -1
+    del tmp159
+    tmp151 = np.copy(ints.tmp313)
+    tmp151 += ints.tmp315 * 2
+    tmp151 += ints.tmp339
+    tmp151 += ints.tmp418
+    tmp151 += ints.tmp506
+    tmp151 += np.transpose(v.aabb.vvov, (2, 0, 1, 3))
+    tmp151 += np.transpose(ints.tmp314, (0, 2, 1, 3)) * -1
+    tmp151 += ints.tmp369 * -1
+    r2new.abab += einsum(tmp151, (0, 1, 2, 3), r1.aa, (4, 2), (4, 0, 1, 3))
+    del tmp151
+    tmp22 = np.copy(f.aa.oo)
+    tmp22 += ints.tmp39
+    tmp22 += np.transpose(ints.tmp52, (1, 0)) * 2
+    tmp22 += np.transpose(ints.tmp54, (1, 0))
+    tmp22 += np.transpose(ints.tmp57, (1, 0))
+    tmp22 += np.transpose(ints.tmp58, (1, 0))
+    tmp22 += np.transpose(ints.tmp5, (1, 0))
+    tmp22 += np.transpose(ints.tmp6, (1, 0))
+    tmp22 += np.transpose(ints.tmp4, (1, 0)) * -1
+    tmp22 += np.transpose(ints.tmp56, (1, 0)) * -1
+    r2new.abab += einsum(r2.abab, (0, 1, 2, 3), tmp22, (0, 4), (4, 1, 2, 3)) * -1
+    r1new.aa += einsum(r1.aa, (0, 1), tmp22, (0, 2), (2, 1)) * -1
+    del tmp22
+    tmp140 = einsum(r2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (0, 1, 4, 5)) * -1
+    tmp141 = np.copy(t2.aaaa)
+    tmp141 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1))
+    r2new.aaaa += einsum(tmp141, (0, 1, 2, 3), tmp140, (4, 5, 0, 1), (5, 4, 3, 2)) * 2
+    del tmp141, tmp140
+    tmp138 = einsum(tmp137, (0, 1), r2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -1
+    del tmp137
+    r2new.aaaa += np.transpose(tmp138, (1, 0, 2, 3)) * 2
+    r2new.aaaa += np.transpose(tmp138, (1, 0, 3, 2)) * -2
+    del tmp138
+    tmp136 = np.copy(np.transpose(tmp133, (1, 0, 3, 2))) * -1
+    del tmp133
+    tmp136 += np.transpose(tmp135, (0, 1, 3, 2)) * -1
+    del tmp135
+    r2new.aaaa += np.transpose(tmp136, (1, 0, 3, 2)) * -1
+    r2new.aaaa += np.transpose(tmp136, (1, 0, 2, 3))
+    del tmp136
+    tmp112 = np.copy(tmp93) * 2
+    del tmp93
+    tmp112 += tmp95
+    del tmp95
+    tmp112 += tmp96
+    del tmp96
+    tmp112 += np.transpose(tmp98, (1, 0, 3, 2)) * 2
+    del tmp98
+    tmp112 += np.transpose(tmp100, (1, 0, 3, 2))
+    del tmp100
+    tmp112 += np.transpose(tmp102, (0, 1, 3, 2))
+    del tmp102
+    tmp112 += np.transpose(tmp104, (1, 0, 2, 3))
+    del tmp104
+    tmp112 += np.transpose(tmp111, (0, 1, 3, 2))
+    del tmp111
+    r2new.aaaa += np.transpose(tmp112, (1, 0, 3, 2))
+    r2new.aaaa += np.transpose(tmp112, (1, 0, 2, 3)) * -1
+    r2new.aaaa += np.transpose(tmp112, (0, 1, 3, 2)) * -1
+    r2new.aaaa += tmp112
+    del tmp112
+    tmp131 = np.copy(tmp124) * -1
+    del tmp124
+    tmp131 += tmp127
+    del tmp127
+    tmp131 += np.transpose(tmp130, (1, 0, 3, 2)) * -1
+    del tmp130
+    r2new.aaaa += np.transpose(tmp131, (0, 1, 3, 2)) * 2
+    r2new.aaaa += tmp131 * -2
+    del tmp131
+    tmp68 = np.copy(np.transpose(tmp57, (0, 1, 3, 2))) * -2
+    del tmp57
+    tmp68 += np.transpose(tmp59, (1, 0, 3, 2))
+    del tmp59
+    tmp68 += np.transpose(tmp65, (1, 0, 3, 2))
+    del tmp65
+    tmp68 += np.transpose(tmp67, (1, 0, 3, 2)) * -1
+    del tmp67
+    r2new.aaaa += np.transpose(tmp68, (1, 0, 2, 3)) * -1
+    r2new.aaaa += tmp68
+    del tmp68
+    tmp139 = np.copy(ints.tmp297)
+    tmp139 += ints.tmp304
+    tmp139 += np.transpose(v.aaaa.oooo, (0, 2, 1, 3))
+    tmp139 += ints.tmp224 * -1
+    tmp139 += np.transpose(ints.tmp224, (1, 0, 2, 3))
+    r2new.aaaa += einsum(r2.aaaa, (0, 1, 2, 3), tmp139, (4, 5, 1, 0), (4, 5, 2, 3)) * -2
+    del tmp139
+    tmp123 = np.copy(np.transpose(tmp114, (1, 0, 3, 2)))
+    del tmp114
+    tmp123 += np.transpose(tmp118, (1, 0, 3, 2))
+    del tmp118
+    tmp123 += np.transpose(tmp122, (0, 1, 3, 2))
+    del tmp122
+    r2new.aaaa += np.transpose(tmp123, (1, 0, 2, 3)) * 2
+    r2new.aaaa += tmp123 * -2
+    del tmp123
+    tmp92 = np.copy(tmp69)
+    del tmp69
+    tmp92 += tmp70
+    del tmp70
+    tmp92 += tmp71 * 2
+    del tmp71
+    tmp92 += tmp73
+    del tmp73
+    tmp92 += tmp74
+    del tmp74
+    tmp92 += np.transpose(tmp76, (1, 0, 3, 2))
+    del tmp76
+    tmp92 += np.transpose(tmp87, (0, 1, 3, 2))
+    del tmp87
+    tmp92 += np.transpose(tmp89, (0, 1, 3, 2))
+    del tmp89
+    tmp92 += np.transpose(tmp91, (1, 0, 2, 3))
+    del tmp91
+    r2new.aaaa += np.transpose(tmp92, (1, 0, 3, 2)) * -1
+    r2new.aaaa += np.transpose(tmp92, (1, 0, 2, 3))
+    r2new.aaaa += np.transpose(tmp92, (0, 1, 3, 2))
+    r2new.aaaa += tmp92 * -1
+    del tmp92
+    tmp55 = np.copy(tmp37) * -2
+    del tmp37
+    tmp55 += np.transpose(tmp42, (1, 0, 2, 3)) * -1
+    del tmp42
+    tmp55 += np.transpose(tmp46, (1, 0, 3, 2)) * -1
+    del tmp46
+    tmp55 += np.transpose(tmp48, (0, 1, 3, 2))
+    del tmp48
+    tmp55 += np.transpose(tmp54, (1, 0, 2, 3)) * -1
+    del tmp54
+    r2new.aaaa += np.transpose(tmp55, (0, 1, 3, 2))
+    r2new.aaaa += tmp55 * -1
+    del tmp55
+    tmp25 = np.copy(ints.tmp95)
+    tmp25 += v.bbbb.oovv
+    tmp25 += np.transpose(ints.tmp96, (0, 1, 3, 2)) * -1
+    tmp25 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1
+    r1new.bb += einsum(r1.bb, (0, 1), tmp25, (2, 0, 3, 1), (2, 3)) * -1
+    del tmp25
+    tmp23 = np.copy(ints.tmp98)
+    tmp23 += v.bbbb.ooov * -1
+    r1new.bb += einsum(r2.bbbb, (0, 1, 2, 3), tmp23, (4, 0, 1, 3), (4, 2)) * 2
+    del tmp23
+    tmp35 = np.copy(f.bb.oo) * 0.5
+    tmp35 += np.transpose(ints.tmp102, (1, 0))
+    tmp35 += np.transpose(ints.tmp104, (1, 0)) * 0.5
+    tmp35 += np.transpose(ints.tmp107, (1, 0)) * 0.5
+    tmp35 += np.transpose(ints.tmp108, (1, 0)) * 0.5
+    tmp35 += np.transpose(ints.tmp67, (1, 0)) * 0.5
+    tmp35 += np.transpose(ints.tmp68, (1, 0)) * 0.5
+    tmp35 += ints.tmp89 * 0.5
+    tmp35 += np.transpose(ints.tmp106, (1, 0)) * -0.5
+    tmp35 += np.transpose(ints.tmp66, (1, 0)) * -0.5
+    r1new.bb += einsum(r1.bb, (0, 1), tmp35, (0, 2), (2, 1)) * -2
+    del tmp35
+    tmp26 = np.copy(ints.tmp97)
+    tmp26 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    r1new.bb += einsum(tmp26, (0, 1, 2, 3), r1.aa, (0, 2), (1, 3))
+    del tmp26
+    tmp12 = np.copy(ints.tmp45)
+    tmp12 += v.aaaa.oovv
+    tmp12 += np.transpose(ints.tmp46, (0, 1, 3, 2)) * -1
+    tmp12 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) * -1
+    r1new.aa += einsum(r1.aa, (0, 1), tmp12, (2, 0, 3, 1), (2, 3)) * -1
+    del tmp12
+    tmp0 = np.copy(ints.tmp48)
+    tmp0 += v.aaaa.ooov * -1
+    r1new.aa += einsum(tmp0, (0, 1, 2, 3), r2.aaaa, (1, 2, 4, 3), (0, 4)) * 2
+    del tmp0
+    tmp13 = np.copy(ints.tmp47)
+    tmp13 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    r1new.aa += einsum(r1.bb, (0, 1), tmp13, (2, 0, 3, 1), (2, 3))
+    del tmp13
+    r1new.aa += einsum(v.aabb.vvov, (0, 1, 2, 3), r2.abab, (4, 2, 1, 3), (4, 0))
+    r1new.aa += einsum(r2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (1, 3, 4, 2), (0, 4)) * 2
+    r1new.bb += einsum(r2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (1, 2, 4, 3), (0, 4)) * -2
+    r1new.bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), r2.abab, (0, 4, 1, 3), (4, 2))
+    r2new.aaaa += einsum(v.aaaa.vvvv, (0, 1, 2, 3), r2.aaaa, (4, 5, 1, 3), (4, 5, 0, 2)) * 2
+    r2new.abab += einsum(r2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 2, 5, 3), (0, 1, 4, 5))
+    r2new.bbbb += einsum(r2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -2
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCSD.hbar_lmatvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-13T22:23:01.202553.

+

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

+

tmp1 : array +tmp10 : array +tmp100 : array +tmp101 : array +tmp103 : array +tmp105 : array +tmp107 : array +tmp109 : array +tmp11 : array +tmp111 : array +tmp113 : array +tmp115 : array +tmp117 : array +tmp119 : array +tmp120 : array +tmp122 : array +tmp124 : array +tmp125 : array +tmp127 : array +tmp129 : array +tmp13 : array +tmp130 : array +tmp132 : array +tmp133 : array +tmp135 : array +tmp137 : array +tmp138 : array +tmp140 : array +tmp141 : array +tmp143 : array +tmp144 : array +tmp146 : array +tmp148 : array +tmp149 : array +tmp15 : array +tmp151 : array +tmp152 : array +tmp154 : array +tmp155 : array +tmp156 : array +tmp157 : array +tmp159 : array +tmp161 : array +tmp162 : array +tmp163 : array +tmp164 : array +tmp165 : array +tmp167 : array +tmp168 : array +tmp169 : array +tmp17 : array +tmp170 : array +tmp172 : array +tmp174 : array +tmp175 : array +tmp176 : array +tmp177 : array +tmp178 : array +tmp179 : array +tmp181 : array +tmp182 : array +tmp184 : array +tmp185 : array +tmp186 : array +tmp187 : array +tmp188 : array +tmp189 : array +tmp19 : array +tmp190 : array +tmp191 : array +tmp193 : array +tmp194 : array +tmp196 : array +tmp197 : array +tmp199 : array +tmp2 : array +tmp201 : array +tmp203 : array +tmp204 : array +tmp205 : array +tmp206 : array +tmp207 : array +tmp209 : array +tmp21 : array +tmp210 : array +tmp211 : array +tmp212 : array +tmp214 : array +tmp215 : array +tmp22 : array +tmp223 : array +tmp225 : array +tmp230 : array +tmp232 : array +tmp238 : array +tmp240 : array +tmp247 : array +tmp248 : array +tmp25 : array +tmp250 : array +tmp251 : array +tmp253 : array +tmp254 : array +tmp256 : array +tmp26 : array +tmp262 : array +tmp264 : array +tmp27 : array +tmp275 : array +tmp277 : array +tmp279 : array +tmp28 : array +tmp281 : array +tmp283 : array +tmp285 : array +tmp291 : array +tmp292 : array +tmp294 : array +tmp295 : array +tmp297 : array +tmp299 : array +tmp30 : array +tmp301 : array +tmp306 : array +tmp307 : array +tmp309 : array +tmp314 : array +tmp315 : array +tmp317 : array +tmp319 : array +tmp32 : array +tmp320 : array +tmp324 : array +tmp325 : array +tmp327 : array +tmp328 : array +tmp333 : array +tmp334 : array +tmp336 : array +tmp34 : array +tmp346 : array +tmp349 : array +tmp351 : array +tmp353 : array +tmp355 : array +tmp357 : array +tmp359 : array +tmp36 : array +tmp361 : array +tmp37 : array +tmp38 : array +tmp39 : array +tmp391 : array +tmp393 : array +tmp4 : array +tmp41 : array +tmp422 : array +tmp425 : array +tmp426 : array +tmp428 : array +tmp43 : array +tmp430 : array +tmp432 : array +tmp434 : array +tmp436 : array +tmp438 : array +tmp449 : array +tmp45 : array +tmp451 : array +tmp453 : array +tmp46 : array +tmp47 : array +tmp49 : array +tmp5 : array +tmp51 : array +tmp53 : array +tmp55 : array +tmp57 : array +tmp59 : array +tmp61 : array +tmp62 : array +tmp64 : array +tmp65 : array +tmp66 : array +tmp68 : array +tmp7 : array +tmp70 : array +tmp72 : array +tmp74 : array +tmp76 : array +tmp78 : array +tmp8 : array +tmp80 : array +tmp82 : array +tmp83 : array +tmp85 : array +tmp86 : array +tmp88 : array +tmp89 : array +tmp90 : array +tmp92 : array +tmp94 : array +tmp96 : array +tmp98 : array

+ +
+ Source code in ebcc/codegen/UCCSD.py +
6257
+6258
+6259
+6260
+6261
+6262
+6263
+6264
+6265
+6266
+6267
+6268
+6269
+6270
+6271
+6272
+6273
+6274
+6275
+6276
+6277
+6278
+6279
+6280
+6281
+6282
+6283
+6284
+6285
+6286
+6287
+6288
+6289
+6290
+6291
+6292
+6293
+6294
+6295
+6296
+6297
+6298
+6299
+6300
+6301
+6302
+6303
+6304
+6305
+6306
+6307
+6308
+6309
+6310
+6311
+6312
+6313
+6314
+6315
+6316
+6317
+6318
+6319
+6320
+6321
+6322
+6323
+6324
+6325
+6326
+6327
+6328
+6329
+6330
+6331
+6332
+6333
+6334
+6335
+6336
+6337
+6338
+6339
+6340
+6341
+6342
+6343
+6344
+6345
+6346
+6347
+6348
+6349
+6350
+6351
+6352
+6353
+6354
+6355
+6356
+6357
+6358
+6359
+6360
+6361
+6362
+6363
+6364
+6365
+6366
+6367
+6368
+6369
+6370
+6371
+6372
+6373
+6374
+6375
+6376
+6377
+6378
+6379
+6380
+6381
+6382
+6383
+6384
+6385
+6386
+6387
+6388
+6389
+6390
+6391
+6392
+6393
+6394
+6395
+6396
+6397
+6398
+6399
+6400
+6401
+6402
+6403
+6404
+6405
+6406
+6407
+6408
+6409
+6410
+6411
+6412
+6413
+6414
+6415
+6416
+6417
+6418
+6419
+6420
+6421
+6422
+6423
+6424
+6425
+6426
+6427
+6428
+6429
+6430
+6431
+6432
+6433
+6434
+6435
+6436
+6437
+6438
+6439
+6440
+6441
+6442
+6443
+6444
+6445
+6446
+6447
+6448
+6449
+6450
+6451
+6452
+6453
+6454
+6455
+6456
+6457
+6458
+6459
+6460
+6461
+6462
+6463
+6464
+6465
+6466
+6467
+6468
+6469
+6470
+6471
+6472
+6473
+6474
+6475
+6476
+6477
+6478
+6479
+6480
+6481
+6482
+6483
+6484
+6485
+6486
+6487
+6488
+6489
+6490
+6491
+6492
+6493
+6494
+6495
+6496
+6497
+6498
+6499
+6500
+6501
+6502
+6503
+6504
+6505
+6506
+6507
+6508
+6509
+6510
+6511
+6512
+6513
+6514
+6515
+6516
+6517
+6518
+6519
+6520
+6521
+6522
+6523
+6524
+6525
+6526
+6527
+6528
+6529
+6530
+6531
+6532
+6533
+6534
+6535
+6536
+6537
+6538
+6539
+6540
+6541
+6542
+6543
+6544
+6545
+6546
+6547
+6548
+6549
+6550
+6551
+6552
+6553
+6554
+6555
+6556
+6557
+6558
+6559
+6560
+6561
+6562
+6563
+6564
+6565
+6566
+6567
+6568
+6569
+6570
+6571
+6572
+6573
+6574
+6575
+6576
+6577
+6578
+6579
+6580
+6581
+6582
+6583
+6584
+6585
+6586
+6587
+6588
+6589
+6590
+6591
+6592
+6593
+6594
+6595
+6596
+6597
+6598
+6599
+6600
+6601
+6602
+6603
+6604
+6605
+6606
+6607
+6608
+6609
+6610
+6611
+6612
+6613
+6614
+6615
+6616
+6617
+6618
+6619
+6620
+6621
+6622
+6623
+6624
+6625
+6626
+6627
+6628
+6629
+6630
+6631
+6632
+6633
+6634
+6635
+6636
+6637
+6638
+6639
+6640
+6641
+6642
+6643
+6644
+6645
+6646
+6647
+6648
+6649
+6650
+6651
+6652
+6653
+6654
+6655
+6656
+6657
+6658
+6659
+6660
+6661
+6662
+6663
+6664
+6665
+6666
+6667
+6668
+6669
+6670
+6671
+6672
+6673
+6674
+6675
+6676
+6677
+6678
+6679
+6680
+6681
+6682
+6683
+6684
+6685
def hbar_lmatvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-13T22:23:01.202553.
+
+    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
+    -------
+    tmp1 : array
+    tmp10 : array
+    tmp100 : array
+    tmp101 : array
+    tmp103 : array
+    tmp105 : array
+    tmp107 : array
+    tmp109 : array
+    tmp11 : array
+    tmp111 : array
+    tmp113 : array
+    tmp115 : array
+    tmp117 : array
+    tmp119 : array
+    tmp120 : array
+    tmp122 : array
+    tmp124 : array
+    tmp125 : array
+    tmp127 : array
+    tmp129 : array
+    tmp13 : array
+    tmp130 : array
+    tmp132 : array
+    tmp133 : array
+    tmp135 : array
+    tmp137 : array
+    tmp138 : array
+    tmp140 : array
+    tmp141 : array
+    tmp143 : array
+    tmp144 : array
+    tmp146 : array
+    tmp148 : array
+    tmp149 : array
+    tmp15 : array
+    tmp151 : array
+    tmp152 : array
+    tmp154 : array
+    tmp155 : array
+    tmp156 : array
+    tmp157 : array
+    tmp159 : array
+    tmp161 : array
+    tmp162 : array
+    tmp163 : array
+    tmp164 : array
+    tmp165 : array
+    tmp167 : array
+    tmp168 : array
+    tmp169 : array
+    tmp17 : array
+    tmp170 : array
+    tmp172 : array
+    tmp174 : array
+    tmp175 : array
+    tmp176 : array
+    tmp177 : array
+    tmp178 : array
+    tmp179 : array
+    tmp181 : array
+    tmp182 : array
+    tmp184 : array
+    tmp185 : array
+    tmp186 : array
+    tmp187 : array
+    tmp188 : array
+    tmp189 : array
+    tmp19 : array
+    tmp190 : array
+    tmp191 : array
+    tmp193 : array
+    tmp194 : array
+    tmp196 : array
+    tmp197 : array
+    tmp199 : array
+    tmp2 : array
+    tmp201 : array
+    tmp203 : array
+    tmp204 : array
+    tmp205 : array
+    tmp206 : array
+    tmp207 : array
+    tmp209 : array
+    tmp21 : array
+    tmp210 : array
+    tmp211 : array
+    tmp212 : array
+    tmp214 : array
+    tmp215 : array
+    tmp22 : array
+    tmp223 : array
+    tmp225 : array
+    tmp230 : array
+    tmp232 : array
+    tmp238 : array
+    tmp240 : array
+    tmp247 : array
+    tmp248 : array
+    tmp25 : array
+    tmp250 : array
+    tmp251 : array
+    tmp253 : array
+    tmp254 : array
+    tmp256 : array
+    tmp26 : array
+    tmp262 : array
+    tmp264 : array
+    tmp27 : array
+    tmp275 : array
+    tmp277 : array
+    tmp279 : array
+    tmp28 : array
+    tmp281 : array
+    tmp283 : array
+    tmp285 : array
+    tmp291 : array
+    tmp292 : array
+    tmp294 : array
+    tmp295 : array
+    tmp297 : array
+    tmp299 : array
+    tmp30 : array
+    tmp301 : array
+    tmp306 : array
+    tmp307 : array
+    tmp309 : array
+    tmp314 : array
+    tmp315 : array
+    tmp317 : array
+    tmp319 : array
+    tmp32 : array
+    tmp320 : array
+    tmp324 : array
+    tmp325 : array
+    tmp327 : array
+    tmp328 : array
+    tmp333 : array
+    tmp334 : array
+    tmp336 : array
+    tmp34 : array
+    tmp346 : array
+    tmp349 : array
+    tmp351 : array
+    tmp353 : array
+    tmp355 : array
+    tmp357 : array
+    tmp359 : array
+    tmp36 : array
+    tmp361 : array
+    tmp37 : array
+    tmp38 : array
+    tmp39 : array
+    tmp391 : array
+    tmp393 : array
+    tmp4 : array
+    tmp41 : array
+    tmp422 : array
+    tmp425 : array
+    tmp426 : array
+    tmp428 : array
+    tmp43 : array
+    tmp430 : array
+    tmp432 : array
+    tmp434 : array
+    tmp436 : array
+    tmp438 : array
+    tmp449 : array
+    tmp45 : array
+    tmp451 : array
+    tmp453 : array
+    tmp46 : array
+    tmp47 : array
+    tmp49 : array
+    tmp5 : array
+    tmp51 : array
+    tmp53 : array
+    tmp55 : array
+    tmp57 : array
+    tmp59 : array
+    tmp61 : array
+    tmp62 : array
+    tmp64 : array
+    tmp65 : array
+    tmp66 : array
+    tmp68 : array
+    tmp7 : array
+    tmp70 : array
+    tmp72 : array
+    tmp74 : array
+    tmp76 : array
+    tmp78 : array
+    tmp8 : array
+    tmp80 : array
+    tmp82 : array
+    tmp83 : array
+    tmp85 : array
+    tmp86 : array
+    tmp88 : array
+    tmp89 : array
+    tmp90 : array
+    tmp92 : array
+    tmp94 : array
+    tmp96 : array
+    tmp98 : array
+    """
+
+    tmp45 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3))
+    tmp119 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3))
+    tmp41 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1))
+    tmp38 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3))
+    tmp39 = einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3))
+    tmp36 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3))
+    tmp89 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 1, 0, 3), (2, 3))
+    tmp32 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3))
+    tmp82 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 1, 0, 3), (2, 3))
+    tmp214 = einsum(t1.bb, (0, 1), tmp45, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp333 = einsum(t1.bb, (0, 1), tmp119, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp327 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 2, 0, 1))
+    tmp324 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2))
+    tmp174 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp176 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2))
+    tmp314 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2))
+    tmp151 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5))
+    tmp306 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp124 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1))
+    tmp211 = einsum(t1.aa, (0, 1), tmp41, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp209 = einsum(t1.bb, (0, 1), tmp38, (2, 1), (0, 2))
+    tmp156 = einsum(t1.aa, (0, 1), tmp39, (2, 1), (0, 2))
+    tmp205 = einsum(tmp36, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp203 = einsum(tmp89, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp155 = einsum(t1.aa, (0, 1), tmp32, (2, 1), (0, 2))
+    tmp154 = einsum(tmp82, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp196 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp193 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp190 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp188 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3))
+    tmp186 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2))
+    tmp184 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3))
+    tmp181 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 2, 3, 1), (2, 3))
+    tmp178 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 1, 2, 3), (2, 3))
+    tmp169 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp167 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3))
+    tmp27 = einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3))
+    tmp163 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp161 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (1, 3), (0, 2))
+    tmp26 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 0, 1), (2, 3))
+    tmp25 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 1), (2, 3))
+    tmp148 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (0, 1, 4, 5)) * -1
+    tmp49 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0))
+    tmp143 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2))
+    tmp140 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 1, 3), (4, 0))
+    tmp47 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 1, 3), (4, 0))
+    tmp21 = einsum(t1.bb, (0, 1), f.bb.ov, (2, 1), (2, 0))
+    tmp1 = einsum(f.aa.ov, (0, 1), t1.aa, (2, 1), (0, 2))
+    tmp453 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp451 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 4), (4, 3))
+    tmp449 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 3), (4, 1))
+    tmp438 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 5, 3))
+    tmp436 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3))
+    tmp434 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp432 = einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp430 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp428 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp426 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 0, 3))
+    tmp425 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 1), (4, 0, 2, 3))
+    tmp422 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4))
+    tmp393 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4))
+    tmp391 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1
+    tmp361 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp359 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp357 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3))
+    tmp355 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp353 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (2, 4, 1, 5), (0, 4, 3, 5))
+    tmp351 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp349 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 1, 2))
+    tmp346 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp336 = einsum(tmp214, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp334 = einsum(t1.bb, (0, 1), tmp333, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp328 = einsum(t1.aa, (0, 1), tmp327, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp325 = einsum(tmp324, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 1, 3))
+    tmp320 = einsum(tmp174, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp319 = einsum(tmp176, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp317 = einsum(t1.bb, (0, 1), tmp314, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp315 = einsum(t1.bb, (0, 1), tmp314, (2, 3, 0, 4), (2, 3, 4, 1))
+    tmp309 = einsum(tmp151, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp307 = einsum(t1.bb, (0, 1), tmp306, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp301 = einsum(tmp45, (0, 1, 2, 3), t2.abab, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp299 = einsum(t2.abab, (0, 1, 2, 3), tmp124, (0, 4, 5, 2), (4, 1, 5, 3))
+    tmp297 = einsum(tmp124, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5))
+    tmp295 = einsum(t2.bbbb, (0, 1, 2, 3), tmp119, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp294 = einsum(t2.abab, (0, 1, 2, 3), tmp119, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp292 = einsum(t2.bbbb, (0, 1, 2, 3), tmp119, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp291 = einsum(tmp119, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp285 = einsum(tmp38, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp283 = einsum(tmp38, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp281 = einsum(tmp36, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp279 = einsum(tmp36, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp277 = einsum(tmp89, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp275 = einsum(tmp89, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp264 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 5, 3), (0, 1, 5, 4))
+    tmp262 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp256 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 3, 5))
+    tmp254 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 3, 5))
+    tmp253 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 0, 5, 3), (4, 1, 5, 2))
+    tmp251 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp250 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp248 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp247 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp240 = einsum(t1.aa, (0, 1), v.aabb.vvoo, (2, 1, 3, 4), (0, 3, 4, 2))
+    tmp238 = einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp232 = einsum(v.aabb.oooo, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp230 = einsum(t1.bb, (0, 1), v.bbbb.oooo, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp225 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.ov, (4, 3), (4, 0, 1, 2))
+    tmp223 = einsum(t2.abab, (0, 1, 2, 3), f.bb.ov, (4, 3), (0, 4, 1, 2))
+    tmp215 = einsum(t1.bb, (0, 1), tmp214, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp212 = einsum(t1.aa, (0, 1), tmp211, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp210 = einsum(t1.bb, (0, 1), tmp209, (2, 0), (2, 1))
+    tmp207 = einsum(tmp156, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp206 = einsum(t1.bb, (0, 1), tmp205, (2, 0), (2, 1))
+    tmp204 = einsum(tmp203, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp201 = einsum(tmp155, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp199 = einsum(tmp154, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp197 = einsum(tmp196, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2))
+    tmp194 = einsum(tmp193, (0, 1, 2, 3), t1.aa, (4, 2), (4, 0, 1, 3))
+    tmp191 = einsum(tmp190, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp189 = einsum(t1.bb, (0, 1), tmp188, (2, 1), (0, 2))
+    tmp187 = einsum(tmp186, (0, 1), t1.bb, (2, 0), (2, 1))
+    tmp185 = einsum(tmp184, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp182 = einsum(tmp181, (0, 1), t1.aa, (2, 0), (2, 1))
+    tmp179 = einsum(tmp178, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp177 = einsum(t1.bb, (0, 1), tmp176, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp175 = einsum(t1.bb, (0, 1), tmp174, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp172 = einsum(t1.aa, (0, 1), tmp169, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp170 = einsum(t1.aa, (0, 1), tmp169, (2, 3, 0, 4), (2, 3, 4, 1))
+    tmp168 = einsum(tmp167, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp165 = einsum(tmp27, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp164 = einsum(t1.bb, (0, 1), tmp163, (2, 0), (2, 1))
+    tmp162 = einsum(tmp161, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp159 = einsum(tmp26, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp157 = einsum(tmp25, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp152 = einsum(t1.bb, (0, 1), tmp151, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp149 = einsum(tmp148, (0, 1, 2, 3), t1.aa, (3, 4), (0, 1, 2, 4))
+    tmp146 = einsum(tmp49, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp144 = einsum(t1.bb, (0, 1), tmp143, (2, 0), (2, 1))
+    tmp141 = einsum(tmp140, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp138 = einsum(tmp47, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp137 = einsum(t2.abab, (0, 1, 2, 3), tmp124, (4, 5, 1, 2), (0, 4, 5, 3))
+    tmp135 = einsum(t2.bbbb, (0, 1, 2, 3), tmp45, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp133 = einsum(tmp45, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (0, 4, 1, 5))
+    tmp132 = einsum(t2.abab, (0, 1, 2, 3), tmp41, (4, 5, 0, 2), (4, 5, 1, 3))
+    tmp130 = einsum(t2.aaaa, (0, 1, 2, 3), tmp41, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp129 = einsum(t2.abab, (0, 1, 2, 3), tmp41, (4, 0, 5, 2), (4, 5, 1, 3))
+    tmp127 = einsum(t2.aaaa, (0, 1, 2, 3), tmp41, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp125 = einsum(tmp124, (0, 1, 2, 3), t2.abab, (0, 2, 3, 4), (1, 4))
+    tmp122 = einsum(tmp45, (0, 1, 2, 3), t2.abab, (1, 2, 4, 3), (0, 4))
+    tmp120 = einsum(t2.bbbb, (0, 1, 2, 3), tmp119, (4, 1, 0, 3), (4, 2))
+    tmp117 = einsum(t2.aaaa, (0, 1, 2, 3), tmp41, (4, 0, 1, 3), (4, 2)) * -1
+    tmp115 = einsum(t2.abab, (0, 1, 2, 3), tmp39, (4, 2), (0, 4, 1, 3))
+    tmp113 = einsum(t2.aaaa, (0, 1, 2, 3), tmp39, (4, 3), (0, 1, 4, 2))
+    tmp111 = einsum(tmp32, (0, 1), t2.abab, (2, 3, 1, 4), (2, 0, 3, 4))
+    tmp109 = einsum(tmp32, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp107 = einsum(tmp82, (0, 1), t2.abab, (2, 3, 1, 4), (2, 0, 3, 4))
+    tmp105 = einsum(tmp82, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp103 = einsum(t2.bbbb, (0, 1, 2, 3), tmp38, (1, 3), (0, 2))
+    tmp101 = einsum(tmp38, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp100 = einsum(t2.abab, (0, 1, 2, 3), tmp39, (0, 2), (1, 3))
+    tmp98 = einsum(tmp39, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp96 = einsum(tmp36, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3))
+    tmp94 = einsum(tmp36, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp92 = einsum(tmp89, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3))
+    tmp90 = einsum(tmp89, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp88 = einsum(tmp32, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp86 = einsum(t2.aaaa, (0, 1, 2, 3), tmp32, (1, 3), (0, 2))
+    tmp85 = einsum(tmp82, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp83 = einsum(tmp82, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp80 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp78 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 5, 3, 1), (4, 5, 0, 2)) * -1
+    tmp76 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 3), (0, 4))
+    tmp74 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2))
+    tmp72 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 0, 1, 3), (4, 2))
+    tmp70 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (1, 3, 4, 2), (0, 4)) * -1
+    tmp68 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp66 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ooov, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp65 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (4, 2, 5, 1), (0, 4, 5, 3))
+    tmp64 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.abab, (2, 4, 3, 5), (0, 1, 4, 5))
+    tmp62 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp61 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 2, 4, 5))
+    tmp59 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp57 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (1, 2, 4, 3), (0, 4))
+    tmp55 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (0, 3, 1, 4), (2, 4))
+    tmp53 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 0, 1, 3), (4, 2))
+    tmp51 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 3), (0, 4)) * -1
+    tmp46 = einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp43 = einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp37 = einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 0, 3, 1), (2, 3))
+    tmp34 = einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 0, 3, 1), (2, 3))
+    tmp30 = einsum(t1.bb, (0, 1), v.aabb.oooo, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp28 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t1.aa, (3, 4), (0, 1, 2, 4))
+    tmp22 = einsum(t1.bb, (0, 1), tmp21, (0, 2), (2, 1))
+    tmp19 = einsum(tmp1, (0, 1), t1.aa, (0, 2), (1, 2))
+    tmp17 = einsum(t2.abab, (0, 1, 2, 3), f.aa.ov, (4, 2), (4, 0, 1, 3))
+    tmp15 = einsum(t2.aaaa, (0, 1, 2, 3), f.aa.ov, (4, 3), (4, 0, 1, 2))
+    tmp13 = einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3))
+    tmp11 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp10 = einsum(f.aa.ov, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp8 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp7 = einsum(f.bb.vv, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp5 = einsum(f.aa.vv, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp4 = einsum(t1.bb, (0, 1), f.bb.oo, (2, 0), (2, 1))
+    tmp2 = einsum(f.aa.oo, (0, 1), t1.aa, (1, 2), (0, 2))
+
+    return {f"tmp1": tmp1, f"tmp10": tmp10, f"tmp100": tmp100, f"tmp101": tmp101, f"tmp103": tmp103, f"tmp105": tmp105, f"tmp107": tmp107, f"tmp109": tmp109, f"tmp11": tmp11, f"tmp111": tmp111, f"tmp113": tmp113, f"tmp115": tmp115, f"tmp117": tmp117, f"tmp119": tmp119, f"tmp120": tmp120, f"tmp122": tmp122, f"tmp124": tmp124, f"tmp125": tmp125, f"tmp127": tmp127, f"tmp129": tmp129, f"tmp13": tmp13, f"tmp130": tmp130, f"tmp132": tmp132, f"tmp133": tmp133, f"tmp135": tmp135, f"tmp137": tmp137, f"tmp138": tmp138, f"tmp140": tmp140, f"tmp141": tmp141, f"tmp143": tmp143, f"tmp144": tmp144, f"tmp146": tmp146, f"tmp148": tmp148, f"tmp149": tmp149, f"tmp15": tmp15, f"tmp151": tmp151, f"tmp152": tmp152, f"tmp154": tmp154, f"tmp155": tmp155, f"tmp156": tmp156, f"tmp157": tmp157, f"tmp159": tmp159, f"tmp161": tmp161, f"tmp162": tmp162, f"tmp163": tmp163, f"tmp164": tmp164, f"tmp165": tmp165, f"tmp167": tmp167, f"tmp168": tmp168, f"tmp169": tmp169, f"tmp17": tmp17, f"tmp170": tmp170, f"tmp172": tmp172, f"tmp174": tmp174, f"tmp175": tmp175, f"tmp176": tmp176, f"tmp177": tmp177, f"tmp178": tmp178, f"tmp179": tmp179, f"tmp181": tmp181, f"tmp182": tmp182, f"tmp184": tmp184, f"tmp185": tmp185, f"tmp186": tmp186, f"tmp187": tmp187, f"tmp188": tmp188, f"tmp189": tmp189, f"tmp19": tmp19, f"tmp190": tmp190, f"tmp191": tmp191, f"tmp193": tmp193, f"tmp194": tmp194, f"tmp196": tmp196, f"tmp197": tmp197, f"tmp199": tmp199, f"tmp2": tmp2, f"tmp201": tmp201, f"tmp203": tmp203, f"tmp204": tmp204, f"tmp205": tmp205, f"tmp206": tmp206, f"tmp207": tmp207, f"tmp209": tmp209, f"tmp21": tmp21, f"tmp210": tmp210, f"tmp211": tmp211, f"tmp212": tmp212, f"tmp214": tmp214, f"tmp215": tmp215, f"tmp22": tmp22, f"tmp223": tmp223, f"tmp225": tmp225, f"tmp230": tmp230, f"tmp232": tmp232, f"tmp238": tmp238, f"tmp240": tmp240, f"tmp247": tmp247, f"tmp248": tmp248, f"tmp25": tmp25, f"tmp250": tmp250, f"tmp251": tmp251, f"tmp253": tmp253, f"tmp254": tmp254, f"tmp256": tmp256, f"tmp26": tmp26, f"tmp262": tmp262, f"tmp264": tmp264, f"tmp27": tmp27, f"tmp275": tmp275, f"tmp277": tmp277, f"tmp279": tmp279, f"tmp28": tmp28, f"tmp281": tmp281, f"tmp283": tmp283, f"tmp285": tmp285, f"tmp291": tmp291, f"tmp292": tmp292, f"tmp294": tmp294, f"tmp295": tmp295, f"tmp297": tmp297, f"tmp299": tmp299, f"tmp30": tmp30, f"tmp301": tmp301, f"tmp306": tmp306, f"tmp307": tmp307, f"tmp309": tmp309, f"tmp314": tmp314, f"tmp315": tmp315, f"tmp317": tmp317, f"tmp319": tmp319, f"tmp32": tmp32, f"tmp320": tmp320, f"tmp324": tmp324, f"tmp325": tmp325, f"tmp327": tmp327, f"tmp328": tmp328, f"tmp333": tmp333, f"tmp334": tmp334, f"tmp336": tmp336, f"tmp34": tmp34, f"tmp346": tmp346, f"tmp349": tmp349, f"tmp351": tmp351, f"tmp353": tmp353, f"tmp355": tmp355, f"tmp357": tmp357, f"tmp359": tmp359, f"tmp36": tmp36, f"tmp361": tmp361, f"tmp37": tmp37, f"tmp38": tmp38, f"tmp39": tmp39, f"tmp391": tmp391, f"tmp393": tmp393, f"tmp4": tmp4, f"tmp41": tmp41, f"tmp422": tmp422, f"tmp425": tmp425, f"tmp426": tmp426, f"tmp428": tmp428, f"tmp43": tmp43, f"tmp430": tmp430, f"tmp432": tmp432, f"tmp434": tmp434, f"tmp436": tmp436, f"tmp438": tmp438, f"tmp449": tmp449, f"tmp45": tmp45, f"tmp451": tmp451, f"tmp453": tmp453, f"tmp46": tmp46, f"tmp47": tmp47, f"tmp49": tmp49, f"tmp5": tmp5, f"tmp51": tmp51, f"tmp53": tmp53, f"tmp55": tmp55, f"tmp57": tmp57, f"tmp59": tmp59, f"tmp61": tmp61, f"tmp62": tmp62, f"tmp64": tmp64, f"tmp65": tmp65, f"tmp66": tmp66, f"tmp68": tmp68, f"tmp7": tmp7, f"tmp70": tmp70, f"tmp72": tmp72, f"tmp74": tmp74, f"tmp76": tmp76, f"tmp78": tmp78, f"tmp8": tmp8, f"tmp80": tmp80, f"tmp82": tmp82, f"tmp83": tmp83, f"tmp85": tmp85, f"tmp86": tmp86, f"tmp88": tmp88, f"tmp89": tmp89, f"tmp90": tmp90, f"tmp92": tmp92, f"tmp94": tmp94, f"tmp96": tmp96, f"tmp98": tmp98}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCSD.hbar_lmatvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-13T22:23:01.304389.

+

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.

+ +
+ Source code in ebcc/codegen/UCCSD.py +
6687
+6688
+6689
+6690
+6691
+6692
+6693
+6694
+6695
+6696
+6697
+6698
+6699
+6700
+6701
+6702
+6703
+6704
+6705
+6706
+6707
+6708
+6709
+6710
+6711
+6712
+6713
+6714
+6715
+6716
+6717
+6718
+6719
+6720
+6721
+6722
+6723
+6724
+6725
+6726
+6727
+6728
+6729
+6730
+6731
+6732
+6733
+6734
+6735
+6736
+6737
+6738
+6739
+6740
+6741
+6742
+6743
+6744
+6745
+6746
+6747
+6748
+6749
+6750
+6751
+6752
+6753
+6754
+6755
+6756
+6757
+6758
+6759
+6760
+6761
+6762
+6763
+6764
+6765
+6766
+6767
+6768
+6769
+6770
+6771
+6772
+6773
+6774
+6775
+6776
+6777
+6778
+6779
+6780
+6781
+6782
+6783
+6784
+6785
+6786
+6787
+6788
+6789
+6790
+6791
+6792
+6793
+6794
+6795
+6796
+6797
+6798
+6799
+6800
+6801
+6802
+6803
+6804
+6805
+6806
+6807
+6808
+6809
+6810
+6811
+6812
+6813
+6814
+6815
+6816
+6817
+6818
+6819
+6820
+6821
+6822
+6823
+6824
+6825
+6826
+6827
+6828
+6829
+6830
+6831
+6832
+6833
+6834
+6835
+6836
+6837
+6838
+6839
+6840
+6841
+6842
+6843
+6844
+6845
+6846
+6847
+6848
+6849
+6850
+6851
+6852
+6853
+6854
+6855
+6856
+6857
+6858
+6859
+6860
+6861
+6862
+6863
+6864
+6865
+6866
+6867
+6868
+6869
+6870
+6871
+6872
+6873
+6874
+6875
+6876
+6877
+6878
+6879
+6880
+6881
+6882
+6883
+6884
+6885
+6886
+6887
+6888
+6889
+6890
+6891
+6892
+6893
+6894
+6895
+6896
+6897
+6898
+6899
+6900
+6901
+6902
+6903
+6904
+6905
+6906
+6907
+6908
+6909
+6910
+6911
+6912
+6913
+6914
+6915
+6916
+6917
+6918
+6919
+6920
+6921
+6922
+6923
+6924
+6925
+6926
+6927
+6928
+6929
+6930
+6931
+6932
+6933
+6934
+6935
+6936
+6937
+6938
+6939
+6940
+6941
+6942
+6943
+6944
+6945
+6946
+6947
+6948
+6949
+6950
+6951
+6952
+6953
+6954
+6955
+6956
+6957
+6958
+6959
+6960
+6961
+6962
+6963
+6964
+6965
+6966
+6967
+6968
+6969
+6970
+6971
+6972
+6973
+6974
+6975
+6976
+6977
+6978
+6979
+6980
+6981
+6982
+6983
+6984
+6985
+6986
+6987
+6988
+6989
+6990
+6991
+6992
+6993
+6994
+6995
+6996
+6997
+6998
+6999
+7000
+7001
+7002
+7003
+7004
+7005
+7006
+7007
+7008
+7009
+7010
+7011
+7012
+7013
+7014
+7015
+7016
+7017
+7018
+7019
+7020
+7021
+7022
+7023
+7024
+7025
+7026
+7027
+7028
+7029
+7030
+7031
+7032
+7033
+7034
+7035
+7036
+7037
+7038
+7039
+7040
+7041
+7042
+7043
+7044
+7045
+7046
+7047
+7048
+7049
+7050
+7051
+7052
+7053
+7054
+7055
+7056
+7057
+7058
+7059
+7060
+7061
+7062
+7063
+7064
+7065
+7066
+7067
+7068
+7069
+7070
+7071
+7072
+7073
+7074
+7075
+7076
+7077
+7078
+7079
+7080
+7081
+7082
+7083
+7084
+7085
+7086
+7087
+7088
+7089
+7090
+7091
+7092
+7093
+7094
+7095
+7096
+7097
+7098
+7099
+7100
+7101
+7102
+7103
+7104
+7105
+7106
+7107
+7108
+7109
+7110
+7111
+7112
+7113
+7114
+7115
+7116
+7117
+7118
+7119
+7120
+7121
+7122
+7123
+7124
+7125
+7126
+7127
+7128
+7129
+7130
+7131
+7132
+7133
+7134
+7135
+7136
+7137
+7138
+7139
+7140
+7141
+7142
+7143
+7144
+7145
+7146
+7147
+7148
+7149
+7150
+7151
+7152
+7153
+7154
+7155
+7156
+7157
+7158
+7159
+7160
+7161
+7162
+7163
+7164
+7165
+7166
+7167
+7168
+7169
+7170
+7171
+7172
+7173
+7174
+7175
+7176
+7177
+7178
+7179
+7180
+7181
+7182
+7183
+7184
+7185
+7186
+7187
+7188
+7189
+7190
+7191
+7192
+7193
+7194
+7195
+7196
+7197
+7198
+7199
+7200
+7201
+7202
+7203
+7204
+7205
+7206
+7207
+7208
+7209
+7210
+7211
+7212
+7213
+7214
+7215
+7216
+7217
+7218
+7219
+7220
+7221
+7222
+7223
+7224
+7225
+7226
+7227
+7228
+7229
+7230
+7231
+7232
+7233
+7234
+7235
+7236
+7237
+7238
+7239
+7240
+7241
+7242
+7243
+7244
+7245
+7246
+7247
+7248
+7249
+7250
+7251
+7252
+7253
+7254
+7255
+7256
+7257
+7258
+7259
+7260
+7261
+7262
+7263
+7264
def hbar_lmatvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-13T22:23:01.304389.
+
+    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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp53 = einsum(t2.bbbb, (0, 1, 2, 3), r2.bbb, (0, 1, 3), (2,))
+    tmp52 = einsum(r2.aba, (0, 1, 2), t2.abab, (0, 1, 2, 3), (3,))
+    tmp87 = np.copy(ints.tmp426)
+    tmp87 += ints.tmp432
+    tmp87 += ints.tmp436 * 2
+    tmp91 = np.copy(f.bb.oo)
+    tmp91 += ints.tmp163
+    tmp91 += ints.tmp167
+    tmp91 += ints.tmp205
+    tmp91 += ints.tmp209
+    tmp91 += np.transpose(ints.tmp21, (1, 0))
+    tmp89 = np.copy(ints.tmp425)
+    tmp89 += np.transpose(ints.tmp430, (0, 1, 3, 2)) * 2
+    tmp62 = np.copy(f.bb.ov)
+    tmp62 += ints.tmp36
+    tmp62 += ints.tmp38
+    tmp62 += ints.tmp89 * -1
+    tmp74 = np.copy(ints.tmp324)
+    tmp74 += np.transpose(ints.tmp434, (0, 1, 3, 2)) * 2
+    tmp74 += np.transpose(ints.tmp438, (0, 1, 3, 2))
+    tmp47 = einsum(r2.aba, (0, 1, 2), t1.aa, (3, 2), (0, 3, 1))
+    tmp82 = np.copy(ints.tmp140) * 2
+    tmp82 += ints.tmp143
+    tmp82 += ints.tmp161 * -1
+    tmp82 += ints.tmp203 * -1
+    tmp49 = einsum(r2.bbb, (0, 1, 2), t1.bb, (3, 2), (0, 1, 3))
+    tmp78 = np.copy(v.bbbb.ooov)
+    tmp78 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) * -1
+    tmp76 = np.copy(ints.tmp119) * -1
+    tmp76 += np.transpose(ints.tmp119, (0, 2, 1, 3))
+    tmp80 = np.copy(tmp52) * -0.5
+    tmp80 += tmp53
+    tmp40 = np.copy(f.aa.ov)
+    tmp40 += ints.tmp32
+    tmp40 += ints.tmp39
+    tmp40 += ints.tmp82 * -1
+    tmp11 = einsum(r2.bab, (0, 1, 2), t1.bb, (3, 2), (1, 0, 3)) * -1
+    tmp25 = np.copy(ints.tmp47) * 2
+    tmp25 += ints.tmp49
+    tmp25 += ints.tmp154 * -1
+    tmp25 += ints.tmp25 * -1
+    tmp20 = einsum(t1.aa, (0, 1), r2.aaa, (2, 3, 1), (2, 3, 0))
+    tmp23 = np.copy(v.aaaa.ooov) * -1
+    tmp23 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3))
+    tmp21 = np.copy(ints.tmp41) * -1
+    tmp21 += np.transpose(ints.tmp41, (0, 2, 1, 3))
+    tmp18 = np.copy(ints.tmp349)
+    tmp18 += ints.tmp357
+    tmp18 += ints.tmp361 * 2
+    tmp14 = einsum(t2.aaaa, (0, 1, 2, 3), r2.aaa, (0, 1, 3), (2,))
+    tmp16 = np.copy(ints.tmp193)
+    tmp16 += np.transpose(ints.tmp355, (0, 1, 3, 2)) * 2
+    tmp16 += np.transpose(ints.tmp359, (0, 1, 3, 2))
+    tmp36 = np.copy(f.aa.oo)
+    tmp36 += ints.tmp155
+    tmp36 += ints.tmp156
+    tmp36 += np.transpose(ints.tmp1, (1, 0))
+    tmp36 += ints.tmp26
+    tmp36 += ints.tmp27
+    tmp32 = einsum(r2.bab, (0, 1, 2), t2.abab, (1, 0, 3, 2), (3,)) * -1
+    tmp34 = np.copy(ints.tmp346)
+    tmp34 += np.transpose(ints.tmp351, (0, 1, 3, 2)) * 2
+    tmp88 = einsum(r2.aba, (0, 1, 2), tmp87, (0, 3, 2, 4), (1, 3, 4))
+    del tmp87
+    tmp92 = einsum(r2.bbb, (0, 1, 2), tmp91, (1, 3), (0, 3, 2)) * -1
+    del tmp91
+    tmp85 = einsum(ints.tmp119, (0, 1, 2, 3), r1.b, (0,), (1, 2, 3))
+    tmp90 = einsum(tmp89, (0, 1, 2, 3), r2.bbb, (4, 0, 3), (4, 1, 2)) * -1
+    del tmp89
+    tmp86 = einsum(r2.bbb, (0, 1, 2), v.bbbb.ovov, (3, 4, 1, 2), (0, 3, 4))
+    tmp63 = einsum(t1.bb, (0, 1), tmp62, (0, 2), (1, 2))
+    tmp75 = einsum(tmp74, (0, 1, 2, 3), r2.bbb, (4, 0, 3), (4, 1, 2)) * -2
+    del tmp74
+    tmp70 = einsum(ints.tmp314, (0, 1, 2, 3), r2.bbb, (0, 1, 4), (2, 3, 4))
+    tmp71 = einsum(r2.bbb, (0, 1, 2), v.bbbb.oovv, (3, 1, 4, 2), (0, 3, 4))
+    tmp73 = einsum(tmp47, (0, 1, 2), v.aabb.ooov, (1, 0, 3, 4), (2, 3, 4))
+    tmp83 = einsum(r2.bbb, (0, 1, 2), tmp82, (1, 3), (0, 3, 2)) * -2
+    del tmp82
+    tmp79 = einsum(tmp78, (0, 1, 2, 3), tmp49, (0, 4, 2), (4, 1, 3)) * 2
+    del tmp78
+    tmp77 = einsum(tmp76, (0, 1, 2, 3), tmp49, (0, 4, 1), (4, 2, 3)) * 2
+    del tmp76
+    tmp68 = einsum(r2.aba, (0, 1, 2), ints.tmp428, (0, 3, 2, 4), (3, 1, 4))
+    tmp67 = einsum(r1.b, (0,), v.bbbb.ooov, (1, 0, 2, 3), (1, 2, 3))
+    tmp72 = einsum(tmp47, (0, 1, 2), ints.tmp45, (0, 1, 3, 4), (3, 2, 4))
+    tmp81 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp80, (1,), (0, 2, 3)) * 2
+    del tmp80
+    tmp69 = einsum(r2.aba, (0, 1, 2), v.aabb.ovov, (0, 2, 3, 4), (1, 3, 4))
+    tmp41 = einsum(t1.aa, (0, 1), tmp40, (0, 2), (1, 2))
+    tmp12 = einsum(v.aabb.ovoo, (0, 1, 2, 3), tmp11, (4, 3, 2), (4, 0, 1))
+    tmp10 = einsum(v.aaaa.oovv, (0, 1, 2, 3), r2.aaa, (4, 1, 3), (4, 0, 2))
+    tmp26 = einsum(tmp25, (0, 1), r2.aaa, (2, 0, 3), (2, 1, 3)) * -2
+    del tmp25
+    tmp24 = einsum(tmp23, (0, 1, 2, 3), tmp20, (0, 4, 1), (4, 2, 3)) * 2
+    del tmp23
+    tmp22 = einsum(tmp21, (0, 1, 2, 3), tmp20, (0, 4, 1), (4, 2, 3)) * 2
+    del tmp21
+    tmp19 = einsum(r2.bab, (0, 1, 2), tmp18, (3, 0, 4, 2), (1, 3, 4)) * -1
+    del tmp18
+    tmp15 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp14, (3,), (0, 2, 1)) * -1
+    tmp13 = einsum(tmp11, (0, 1, 2), ints.tmp124, (3, 1, 2, 4), (3, 0, 4))
+    tmp17 = einsum(r2.aaa, (0, 1, 2), tmp16, (1, 3, 4, 2), (0, 3, 4)) * -2
+    del tmp16
+    tmp8 = einsum(v.aaaa.ooov, (0, 1, 2, 3), r1.a, (1,), (0, 2, 3))
+    tmp9 = einsum(r2.aaa, (0, 1, 2), ints.tmp169, (1, 0, 3, 4), (3, 4, 2)) * -1
+    tmp31 = einsum(r2.bab, (0, 1, 2), v.aabb.ovov, (3, 4, 0, 2), (1, 3, 4)) * -1
+    tmp30 = einsum(r2.bab, (0, 1, 2), ints.tmp353, (3, 0, 4, 2), (3, 1, 4)) * -1
+    tmp29 = einsum(v.aaaa.ovov, (0, 1, 2, 3), r2.aaa, (4, 2, 3), (4, 0, 1))
+    tmp37 = einsum(r2.aaa, (0, 1, 2), tmp36, (1, 3), (0, 3, 2)) * -1
+    del tmp36
+    tmp33 = einsum(tmp32, (0,), v.aaaa.ovov, (1, 2, 3, 0), (1, 3, 2))
+    tmp35 = einsum(r2.aaa, (0, 1, 2), tmp34, (1, 3, 4, 2), (0, 3, 4)) * -1
+    del tmp34
+    tmp28 = einsum(r1.a, (0,), ints.tmp41, (0, 1, 2, 3), (1, 2, 3))
+    tmp93 = np.copy(tmp85)
+    del tmp85
+    tmp93 += tmp86 * 2
+    del tmp86
+    tmp93 += np.transpose(tmp88, (1, 0, 2))
+    del tmp88
+    tmp93 += np.transpose(tmp90, (1, 0, 2)) * -2
+    del tmp90
+    tmp93 += np.transpose(tmp92, (1, 0, 2)) * -2
+    del tmp92
+    tmp64 = np.copy(np.transpose(ints.tmp186, (1, 0)))
+    tmp64 += ints.tmp449 * 2
+    tmp64 += ints.tmp451
+    tmp64 += f.bb.vv * -1
+    tmp64 += ints.tmp184 * -1
+    tmp64 += ints.tmp188 * -1
+    tmp64 += tmp63
+    del tmp63
+    tmp94 = np.copy(ints.tmp306)
+    tmp94 += ints.tmp333
+    tmp94 += np.transpose(v.bbbb.oooo, (0, 2, 3, 1)) * -1
+    tmp84 = np.copy(tmp67)
+    del tmp67
+    tmp84 += tmp68
+    del tmp68
+    tmp84 += tmp69
+    del tmp69
+    tmp84 += tmp70 * 2
+    del tmp70
+    tmp84 += tmp71 * 2
+    del tmp71
+    tmp84 += tmp72
+    del tmp72
+    tmp84 += tmp73 * -1
+    del tmp73
+    tmp84 += np.transpose(tmp75, (1, 0, 2)) * -1
+    del tmp75
+    tmp84 += np.transpose(tmp77, (1, 0, 2))
+    del tmp77
+    tmp84 += tmp79
+    del tmp79
+    tmp84 += np.transpose(tmp81, (1, 0, 2)) * -1
+    del tmp81
+    tmp84 += np.transpose(tmp83, (1, 0, 2))
+    del tmp83
+    tmp56 = np.copy(ints.tmp426)
+    tmp56 += ints.tmp432
+    tmp56 += ints.tmp436 * 2
+    tmp56 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp56 += ints.tmp428 * -1
+    tmp60 = np.copy(ints.tmp45)
+    tmp60 += v.aabb.ooov
+    tmp66 = np.copy(tmp14)
+    del tmp14
+    tmp66 += tmp32 * 0.5
+    del tmp32
+    tmp61 = np.copy(ints.tmp45)
+    tmp61 += v.aabb.ooov
+    tmp58 = np.copy(ints.tmp151)
+    tmp58 += ints.tmp174
+    tmp58 += np.transpose(ints.tmp176, (1, 0, 2, 3))
+    tmp58 += ints.tmp214
+    tmp58 += v.aabb.oooo
+    tmp55 = np.copy(ints.tmp324)
+    tmp55 += np.transpose(ints.tmp434, (0, 1, 3, 2)) * 2
+    tmp55 += np.transpose(ints.tmp438, (0, 1, 3, 2))
+    tmp55 += np.transpose(v.bbbb.ovov, (0, 2, 3, 1))
+    tmp55 += ints.tmp425 * -1
+    tmp55 += np.transpose(ints.tmp430, (0, 1, 3, 2)) * -2
+    tmp55 += v.bbbb.oovv * -1
+    tmp65 = np.copy(f.bb.oo)
+    tmp65 += ints.tmp140 * 2
+    tmp65 += ints.tmp143
+    tmp65 += ints.tmp163
+    tmp65 += ints.tmp167
+    tmp65 += ints.tmp205
+    tmp65 += ints.tmp209
+    tmp65 += np.transpose(ints.tmp21, (1, 0))
+    tmp65 += ints.tmp161 * -1
+    tmp65 += ints.tmp203 * -1
+    tmp57 = np.copy(ints.tmp196)
+    tmp57 += v.aabb.oovv
+    tmp57 += ints.tmp453 * -1
+    tmp59 = np.copy(ints.tmp119) * -1
+    tmp59 += np.transpose(ints.tmp119, (0, 2, 1, 3))
+    tmp59 += v.bbbb.ooov
+    tmp59 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) * -1
+    tmp4 = np.copy(f.aa.oo)
+    tmp4 += ints.tmp155
+    tmp4 += ints.tmp156
+    tmp4 += np.transpose(ints.tmp1, (1, 0))
+    tmp4 += np.transpose(ints.tmp26, (1, 0))
+    tmp4 += np.transpose(ints.tmp27, (1, 0))
+    tmp4 += ints.tmp47 * 2
+    tmp4 += ints.tmp49
+    tmp4 += ints.tmp154 * -1
+    tmp4 += ints.tmp25 * -1
+    tmp45 = np.copy(ints.tmp327)
+    tmp45 += np.transpose(v.aabb.vvoo, (2, 3, 0, 1))
+    tmp45 += ints.tmp422 * -1
+    tmp50 = np.copy(ints.tmp124)
+    tmp50 += np.transpose(v.aabb.ovoo, (0, 2, 3, 1))
+    tmp51 = np.copy(f.aa.oo)
+    tmp51 += ints.tmp155
+    tmp51 += ints.tmp156
+    tmp51 += np.transpose(ints.tmp1, (1, 0))
+    tmp51 += ints.tmp26
+    tmp51 += ints.tmp27
+    tmp51 += ints.tmp47 * 2
+    tmp51 += ints.tmp49
+    tmp51 += ints.tmp154 * -1
+    tmp51 += ints.tmp25 * -1
+    tmp7 = np.copy(f.bb.oo)
+    tmp7 += ints.tmp140 * 2
+    tmp7 += ints.tmp143
+    tmp7 += np.transpose(ints.tmp163, (1, 0))
+    tmp7 += np.transpose(ints.tmp167, (1, 0))
+    tmp7 += ints.tmp205
+    tmp7 += ints.tmp209
+    tmp7 += np.transpose(ints.tmp21, (1, 0))
+    tmp7 += ints.tmp161 * -1
+    tmp7 += ints.tmp203 * -1
+    tmp48 = np.copy(ints.tmp41) * -1
+    tmp48 += np.transpose(ints.tmp41, (0, 2, 1, 3))
+    tmp48 += v.aaaa.ooov
+    tmp48 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3)) * -1
+    tmp44 = np.copy(ints.tmp349)
+    tmp44 += ints.tmp357
+    tmp44 += ints.tmp361 * 2
+    tmp44 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp44 += ints.tmp353 * -1
+    tmp42 = np.copy(np.transpose(ints.tmp181, (1, 0)))
+    tmp42 += ints.tmp391 * 2
+    tmp42 += ints.tmp393
+    tmp42 += f.aa.vv * -1
+    tmp42 += ints.tmp178 * -1
+    tmp42 += ints.tmp190 * -1
+    tmp42 += tmp41
+    del tmp41
+    tmp46 = np.copy(ints.tmp151)
+    tmp46 += np.transpose(ints.tmp174, (0, 1, 3, 2))
+    tmp46 += ints.tmp176
+    tmp46 += ints.tmp214
+    tmp46 += v.aabb.oooo
+    tmp43 = np.copy(ints.tmp193)
+    tmp43 += np.transpose(ints.tmp355, (0, 1, 3, 2)) * 2
+    tmp43 += np.transpose(ints.tmp359, (0, 1, 3, 2))
+    tmp43 += np.transpose(v.aaaa.ovov, (0, 2, 3, 1))
+    tmp43 += ints.tmp346 * -1
+    tmp43 += np.transpose(ints.tmp351, (0, 1, 3, 2)) * -2
+    tmp43 += v.aaaa.oovv * -1
+    tmp54 = np.copy(tmp52) * -1
+    del tmp52
+    tmp54 += tmp53 * 2
+    del tmp53
+    tmp27 = np.copy(tmp8)
+    del tmp8
+    tmp27 += tmp9 * 2
+    del tmp9
+    tmp27 += tmp10 * 2
+    del tmp10
+    tmp27 += tmp12
+    del tmp12
+    tmp27 += tmp13 * -1
+    del tmp13
+    tmp27 += tmp15 * 2
+    del tmp15
+    tmp27 += np.transpose(tmp17, (1, 0, 2)) * -1
+    del tmp17
+    tmp27 += np.transpose(tmp19, (1, 0, 2))
+    del tmp19
+    tmp27 += np.transpose(tmp22, (1, 0, 2))
+    del tmp22
+    tmp27 += tmp24
+    del tmp24
+    tmp27 += np.transpose(tmp26, (1, 0, 2))
+    del tmp26
+    tmp38 = np.copy(tmp28)
+    del tmp28
+    tmp38 += tmp29 * 2
+    del tmp29
+    tmp38 += tmp30
+    del tmp30
+    tmp38 += tmp31
+    del tmp31
+    tmp38 += tmp33
+    del tmp33
+    tmp38 += np.transpose(tmp35, (1, 0, 2)) * -2
+    del tmp35
+    tmp38 += np.transpose(tmp37, (1, 0, 2)) * -2
+    del tmp37
+    tmp39 = np.copy(ints.tmp148)
+    tmp39 += ints.tmp211
+    tmp39 += np.transpose(v.aaaa.oooo, (0, 2, 3, 1)) * -1
+    tmp6 = np.copy(np.transpose(ints.tmp225, (1, 2, 0, 3))) * 0.5
+    tmp6 += np.transpose(ints.tmp230, (1, 2, 0, 3)) * 0.5
+    tmp6 += np.transpose(ints.tmp238, (0, 2, 1, 3)) * 0.5
+    tmp6 += np.transpose(ints.tmp251, (0, 2, 1, 3))
+    tmp6 += np.transpose(ints.tmp256, (0, 2, 1, 3)) * 0.5
+    tmp6 += ints.tmp281 * 0.5
+    tmp6 += ints.tmp285 * 0.5
+    tmp6 += ints.tmp295
+    tmp6 += ints.tmp307 * 0.5
+    tmp6 += ints.tmp315 * 0.5
+    tmp6 += ints.tmp334 * 0.5
+    tmp6 += ints.tmp119 * -0.5
+    tmp6 += ints.tmp248 * -1
+    tmp6 += ints.tmp262 * -0.5
+    tmp6 += ints.tmp277 * -0.5
+    tmp6 += ints.tmp292 * -1
+    tmp6 += ints.tmp299 * -0.5
+    tmp6 += np.transpose(ints.tmp317, (0, 2, 1, 3)) * -0.5
+    tmp6 += ints.tmp325 * -0.5
+    tmp6 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) * -0.5
+    tmp3 = np.copy(ints.tmp117)
+    tmp3 += ints.tmp122 * 0.5
+    tmp3 += ints.tmp138
+    tmp3 += ints.tmp146 * 0.5
+    tmp3 += ints.tmp159 * 0.5
+    tmp3 += ints.tmp165 * 0.5
+    tmp3 += ints.tmp182 * 0.5
+    tmp3 += ints.tmp19 * 0.5
+    tmp3 += ints.tmp201 * 0.5
+    tmp3 += ints.tmp207 * 0.5
+    tmp3 += ints.tmp2 * 0.5
+    tmp3 += ints.tmp34 * 0.5
+    tmp3 += ints.tmp51
+    tmp3 += ints.tmp57 * 0.5
+    tmp3 += ints.tmp70
+    tmp3 += ints.tmp83
+    tmp3 += ints.tmp90 * 0.5
+    tmp3 += f.aa.ov * -0.5
+    tmp3 += ints.tmp101 * -0.5
+    tmp3 += ints.tmp11 * -0.5
+    tmp3 += ints.tmp157 * -0.5
+    tmp3 += ints.tmp179 * -0.5
+    tmp3 += ints.tmp191 * -0.5
+    tmp3 += ints.tmp199 * -0.5
+    tmp3 += ints.tmp32 * -0.5
+    tmp3 += ints.tmp39 * -0.5
+    tmp3 += ints.tmp5 * -0.5
+    tmp3 += ints.tmp76 * -0.5
+    tmp3 += ints.tmp86 * -1
+    tmp3 += ints.tmp8 * -1
+    tmp3 += ints.tmp94 * -0.5
+    tmp3 += ints.tmp98 * -1
+    tmp5 = np.copy(ints.tmp124)
+    tmp5 += np.transpose(ints.tmp223, (0, 2, 1, 3))
+    tmp5 += np.transpose(ints.tmp240, (0, 2, 1, 3))
+    tmp5 += np.transpose(ints.tmp250, (0, 2, 1, 3))
+    tmp5 += np.transpose(ints.tmp254, (0, 2, 1, 3)) * 2
+    tmp5 += ints.tmp264
+    tmp5 += ints.tmp279
+    tmp5 += ints.tmp283
+    tmp5 += ints.tmp291
+    tmp5 += ints.tmp297 * 2
+    tmp5 += ints.tmp328
+    tmp5 += np.transpose(v.aabb.ovoo, (0, 2, 3, 1))
+    tmp5 += np.transpose(ints.tmp232, (0, 2, 1, 3)) * -1
+    tmp5 += ints.tmp247 * -1
+    tmp5 += ints.tmp253 * -1
+    tmp5 += ints.tmp275 * -1
+    tmp5 += ints.tmp294 * -1
+    tmp5 += ints.tmp301 * -1
+    tmp5 += ints.tmp309 * -1
+    tmp5 += ints.tmp319 * -1
+    tmp5 += np.transpose(ints.tmp320, (0, 2, 1, 3)) * -1
+    tmp5 += ints.tmp336 * -1
+    tmp2 = np.copy(ints.tmp120)
+    tmp2 += ints.tmp125 * 0.5
+    tmp2 += ints.tmp141
+    tmp2 += ints.tmp144 * 0.5
+    tmp2 += ints.tmp164 * 0.5
+    tmp2 += ints.tmp168 * 0.5
+    tmp2 += ints.tmp187 * 0.5
+    tmp2 += ints.tmp206 * 0.5
+    tmp2 += ints.tmp210 * 0.5
+    tmp2 += ints.tmp22 * 0.5
+    tmp2 += ints.tmp37 * 0.5
+    tmp2 += ints.tmp4 * 0.5
+    tmp2 += ints.tmp53
+    tmp2 += ints.tmp55 * 0.5
+    tmp2 += ints.tmp72
+    tmp2 += ints.tmp85 * 0.5
+    tmp2 += ints.tmp92
+    tmp2 += f.bb.ov * -0.5
+    tmp2 += ints.tmp100 * -0.5
+    tmp2 += ints.tmp103 * -1
+    tmp2 += ints.tmp10 * -0.5
+    tmp2 += ints.tmp13 * -1
+    tmp2 += ints.tmp162 * -0.5
+    tmp2 += ints.tmp185 * -0.5
+    tmp2 += ints.tmp189 * -0.5
+    tmp2 += ints.tmp204 * -0.5
+    tmp2 += ints.tmp36 * -0.5
+    tmp2 += ints.tmp38 * -0.5
+    tmp2 += ints.tmp74 * -0.5
+    tmp2 += ints.tmp7 * -0.5
+    tmp2 += ints.tmp88 * -0.5
+    tmp2 += ints.tmp96 * -1
+    tmp1 = np.copy(ints.tmp109) * 0.5
+    tmp1 += ints.tmp113 * 0.5
+    tmp1 += ints.tmp130
+    tmp1 += ints.tmp149 * 0.5
+    tmp1 += np.transpose(ints.tmp15, (1, 2, 0, 3)) * 0.5
+    tmp1 += ints.tmp170 * 0.5
+    tmp1 += ints.tmp212 * 0.5
+    tmp1 += np.transpose(ints.tmp28, (1, 2, 0, 3)) * 0.5
+    tmp1 += np.transpose(ints.tmp43, (0, 2, 1, 3)) * 0.5
+    tmp1 += np.transpose(ints.tmp62, (0, 2, 1, 3))
+    tmp1 += np.transpose(ints.tmp66, (0, 2, 1, 3)) * 0.5
+    tmp1 += ints.tmp105 * -0.5
+    tmp1 += ints.tmp127 * -1
+    tmp1 += ints.tmp133 * -0.5
+    tmp1 += np.transpose(ints.tmp172, (0, 2, 1, 3)) * -0.5
+    tmp1 += ints.tmp194 * -0.5
+    tmp1 += ints.tmp41 * -0.5
+    tmp1 += ints.tmp59 * -1
+    tmp1 += ints.tmp78 * -0.5
+    tmp1 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3)) * -0.5
+    tmp0 = np.copy(ints.tmp111)
+    tmp0 += ints.tmp115
+    tmp0 += ints.tmp129
+    tmp0 += ints.tmp135 * 2
+    tmp0 += np.transpose(ints.tmp17, (1, 0, 2, 3))
+    tmp0 += ints.tmp197
+    tmp0 += ints.tmp45
+    tmp0 += np.transpose(ints.tmp46, (1, 0, 2, 3))
+    tmp0 += np.transpose(ints.tmp64, (1, 0, 2, 3))
+    tmp0 += np.transpose(ints.tmp68, (1, 0, 2, 3)) * 2
+    tmp0 += ints.tmp80
+    tmp0 += v.aabb.ooov
+    tmp0 += ints.tmp107 * -1
+    tmp0 += ints.tmp132 * -1
+    tmp0 += ints.tmp137 * -1
+    tmp0 += ints.tmp152 * -1
+    tmp0 += ints.tmp175 * -1
+    tmp0 += np.transpose(ints.tmp177, (1, 0, 2, 3)) * -1
+    tmp0 += ints.tmp215 * -1
+    tmp0 += np.transpose(ints.tmp30, (1, 0, 2, 3)) * -1
+    tmp0 += ints.tmp61 * -1
+    tmp0 += ints.tmp65 * -1
+    r2new.bbb = np.copy(tmp84) * -1
+    r2new.bbb += np.transpose(tmp84, (1, 0, 2))
+    del tmp84
+    r2new.bbb += tmp93
+    r2new.bbb += np.transpose(tmp93, (1, 0, 2)) * -1
+    del tmp93
+    r2new.bbb += einsum(tmp94, (0, 1, 2, 3), r2.bbb, (1, 0, 4), (2, 3, 4)) * -2
+    del tmp94
+    r2new.bbb += einsum(tmp64, (0, 1), r2.bbb, (2, 3, 0), (2, 3, 1)) * -2
+    r2new.bbb += einsum(r1.b, (0,), tmp62, (1, 2), (0, 1, 2))
+    r2new.bbb += einsum(tmp62, (0, 1), r1.b, (2,), (0, 2, 1)) * -1
+    r2new.bab = einsum(tmp55, (0, 1, 2, 3), r2.bab, (0, 4, 3), (1, 4, 2))
+    del tmp55
+    r2new.bab += einsum(tmp56, (0, 1, 2, 3), r2.aaa, (4, 0, 2), (1, 4, 3)) * -2
+    del tmp56
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp57, (1, 3, 2, 4), (0, 3, 4)) * -1
+    del tmp57
+    r2new.bab += einsum(tmp58, (0, 1, 2, 3), r2.bab, (2, 0, 4), (3, 1, 4))
+    del tmp58
+    r2new.bab += einsum(tmp59, (0, 1, 2, 3), tmp11, (4, 0, 1), (2, 4, 3))
+    del tmp59
+    r2new.bab += einsum(tmp11, (0, 1, 2), tmp60, (0, 3, 2, 4), (1, 3, 4)) * -1
+    del tmp11, tmp60
+    r2new.bab += einsum(tmp61, (0, 1, 2, 3), tmp20, (0, 4, 1), (2, 4, 3)) * -2
+    del tmp20
+    r2new.bab += einsum(tmp64, (0, 1), r2.bab, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp64
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp65, (0, 3), (3, 1, 2)) * -1
+    del tmp65
+    r2new.bab += einsum(tmp4, (0, 1), r2.bab, (2, 0, 3), (2, 1, 3)) * -1
+    r2new.bab += einsum(tmp66, (0,), v.aabb.ovov, (1, 0, 2, 3), (2, 1, 3)) * 2
+    del tmp66
+    r2new.bab += einsum(tmp61, (0, 1, 2, 3), r1.a, (0,), (2, 1, 3))
+    del tmp61
+    r2new.bab += einsum(tmp62, (0, 1), r1.a, (2,), (0, 2, 1)) * -1
+    del tmp62
+    r2new.aba = einsum(r2.aba, (0, 1, 2), tmp43, (0, 3, 4, 2), (3, 1, 4))
+    del tmp43
+    r2new.aba += einsum(r2.bbb, (0, 1, 2), tmp44, (3, 1, 4, 2), (3, 0, 4)) * -2
+    del tmp44
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp45, (1, 3, 2, 4), (0, 3, 4)) * -1
+    del tmp45
+    r2new.aba += einsum(tmp46, (0, 1, 2, 3), r2.aba, (0, 2, 4), (1, 3, 4))
+    del tmp46
+    r2new.aba += einsum(tmp48, (0, 1, 2, 3), tmp47, (0, 1, 4), (2, 4, 3)) * -1
+    del tmp48
+    r2new.aba += einsum(tmp49, (0, 1, 2), tmp50, (3, 0, 2, 4), (3, 1, 4)) * -2
+    del tmp49
+    r2new.aba += einsum(tmp47, (0, 1, 2), tmp50, (1, 2, 3, 4), (0, 3, 4))
+    del tmp47
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp42, (2, 3), (0, 1, 3)) * -1
+    r2new.aba += einsum(tmp7, (0, 1), r2.aba, (2, 0, 3), (2, 1, 3)) * -1
+    r2new.aba += einsum(tmp51, (0, 1), r2.aba, (0, 2, 3), (1, 2, 3)) * -1
+    del tmp51
+    r2new.aba += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp54, (3,), (0, 2, 1))
+    del tmp54
+    r2new.aba += einsum(tmp50, (0, 1, 2, 3), r1.b, (1,), (0, 2, 3))
+    del tmp50
+    r2new.aba += einsum(r1.b, (0,), tmp40, (1, 2), (1, 0, 2)) * -1
+    r2new.aaa = np.copy(tmp27) * -1
+    r2new.aaa += np.transpose(tmp27, (1, 0, 2))
+    del tmp27
+    r2new.aaa += tmp38
+    r2new.aaa += np.transpose(tmp38, (1, 0, 2)) * -1
+    del tmp38
+    r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp39, (0, 1, 3, 4), (3, 4, 2)) * 2
+    del tmp39
+    r2new.aaa += einsum(tmp42, (0, 1), r2.aaa, (2, 3, 0), (2, 3, 1)) * -2
+    del tmp42
+    r2new.aaa += einsum(r1.a, (0,), tmp40, (1, 2), (0, 1, 2))
+    r2new.aaa += einsum(tmp40, (0, 1), r1.a, (2,), (0, 2, 1)) * -1
+    del tmp40
+    r1new.b = einsum(r2.aba, (0, 1, 2), tmp5, (0, 1, 3, 2), (3,))
+    del tmp5
+    r1new.b += einsum(r2.bbb, (0, 1, 2), tmp6, (1, 0, 3, 2), (3,)) * -4
+    del tmp6
+    r1new.b += einsum(r2.bbb, (0, 1, 2), tmp2, (1, 2), (0,)) * -4
+    r1new.b += einsum(r2.aba, (0, 1, 2), tmp3, (0, 2), (1,)) * 2
+    r1new.b += einsum(tmp7, (0, 1), r1.b, (0,), (1,)) * -1
+    del tmp7
+    r1new.a = einsum(r2.bab, (0, 1, 2), tmp0, (1, 3, 0, 2), (3,))
+    del tmp0
+    r1new.a += einsum(r2.aaa, (0, 1, 2), tmp1, (1, 0, 3, 2), (3,)) * -4
+    del tmp1
+    r1new.a += einsum(r2.bab, (0, 1, 2), tmp2, (0, 2), (1,)) * 2
+    del tmp2
+    r1new.a += einsum(r2.aaa, (0, 1, 2), tmp3, (1, 2), (0,)) * -4
+    del tmp3
+    r1new.a += einsum(tmp4, (0, 1), r1.a, (0,), (1,)) * -1
+    del tmp4
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCSD.hbar_lmatvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-13T22:25:19.852199.

+

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

+

tmp10 : array +tmp100 : array +tmp101 : array +tmp103 : array +tmp11 : array +tmp111 : array +tmp112 : array +tmp114 : array +tmp115 : array +tmp117 : array +tmp118 : array +tmp120 : array +tmp121 : array +tmp123 : array +tmp125 : array +tmp127 : array +tmp128 : array +tmp13 : array +tmp130 : array +tmp131 : array +tmp133 : array +tmp134 : array +tmp136 : array +tmp137 : array +tmp139 : array +tmp141 : array +tmp142 : array +tmp144 : array +tmp145 : array +tmp147 : array +tmp149 : array +tmp150 : array +tmp151 : array +tmp153 : array +tmp154 : array +tmp156 : array +tmp157 : array +tmp158 : array +tmp159 : array +tmp160 : array +tmp161 : array +tmp163 : array +tmp164 : array +tmp169 : array +tmp171 : array +tmp173 : array +tmp174 : array +tmp175 : array +tmp176 : array +tmp177 : array +tmp178 : array +tmp179 : array +tmp181 : array +tmp183 : array +tmp185 : array +tmp186 : array +tmp187 : array +tmp188 : array +tmp19 : array +tmp190 : array +tmp191 : array +tmp193 : array +tmp194 : array +tmp195 : array +tmp196 : array +tmp197 : array +tmp198 : array +tmp2 : array +tmp20 : array +tmp200 : array +tmp201 : array +tmp22 : array +tmp226 : array +tmp228 : array +tmp23 : array +tmp230 : array +tmp232 : array +tmp238 : array +tmp240 : array +tmp246 : array +tmp247 : array +tmp249 : array +tmp250 : array +tmp252 : array +tmp254 : array +tmp256 : array +tmp26 : array +tmp27 : array +tmp276 : array +tmp278 : array +tmp28 : array +tmp284 : array +tmp285 : array +tmp287 : array +tmp288 : array +tmp29 : array +tmp290 : array +tmp292 : array +tmp294 : array +tmp305 : array +tmp307 : array +tmp309 : array +tmp31 : array +tmp310 : array +tmp33 : array +tmp34 : array +tmp35 : array +tmp36 : array +tmp4 : array +tmp43 : array +tmp45 : array +tmp47 : array +tmp49 : array +tmp5 : array +tmp51 : array +tmp53 : array +tmp55 : array +tmp57 : array +tmp59 : array +tmp61 : array +tmp63 : array +tmp65 : array +tmp67 : array +tmp69 : array +tmp7 : array +tmp71 : array +tmp73 : array +tmp74 : array +tmp76 : array +tmp77 : array +tmp79 : array +tmp8 : array +tmp81 : array +tmp82 : array +tmp83 : array +tmp85 : array +tmp86 : array +tmp88 : array +tmp89 : array +tmp90 : array +tmp92 : array +tmp94 : array +tmp96 : array +tmp98 : array

+ +
+ Source code in ebcc/codegen/UCCSD.py +
7266
+7267
+7268
+7269
+7270
+7271
+7272
+7273
+7274
+7275
+7276
+7277
+7278
+7279
+7280
+7281
+7282
+7283
+7284
+7285
+7286
+7287
+7288
+7289
+7290
+7291
+7292
+7293
+7294
+7295
+7296
+7297
+7298
+7299
+7300
+7301
+7302
+7303
+7304
+7305
+7306
+7307
+7308
+7309
+7310
+7311
+7312
+7313
+7314
+7315
+7316
+7317
+7318
+7319
+7320
+7321
+7322
+7323
+7324
+7325
+7326
+7327
+7328
+7329
+7330
+7331
+7332
+7333
+7334
+7335
+7336
+7337
+7338
+7339
+7340
+7341
+7342
+7343
+7344
+7345
+7346
+7347
+7348
+7349
+7350
+7351
+7352
+7353
+7354
+7355
+7356
+7357
+7358
+7359
+7360
+7361
+7362
+7363
+7364
+7365
+7366
+7367
+7368
+7369
+7370
+7371
+7372
+7373
+7374
+7375
+7376
+7377
+7378
+7379
+7380
+7381
+7382
+7383
+7384
+7385
+7386
+7387
+7388
+7389
+7390
+7391
+7392
+7393
+7394
+7395
+7396
+7397
+7398
+7399
+7400
+7401
+7402
+7403
+7404
+7405
+7406
+7407
+7408
+7409
+7410
+7411
+7412
+7413
+7414
+7415
+7416
+7417
+7418
+7419
+7420
+7421
+7422
+7423
+7424
+7425
+7426
+7427
+7428
+7429
+7430
+7431
+7432
+7433
+7434
+7435
+7436
+7437
+7438
+7439
+7440
+7441
+7442
+7443
+7444
+7445
+7446
+7447
+7448
+7449
+7450
+7451
+7452
+7453
+7454
+7455
+7456
+7457
+7458
+7459
+7460
+7461
+7462
+7463
+7464
+7465
+7466
+7467
+7468
+7469
+7470
+7471
+7472
+7473
+7474
+7475
+7476
+7477
+7478
+7479
+7480
+7481
+7482
+7483
+7484
+7485
+7486
+7487
+7488
+7489
+7490
+7491
+7492
+7493
+7494
+7495
+7496
+7497
+7498
+7499
+7500
+7501
+7502
+7503
+7504
+7505
+7506
+7507
+7508
+7509
+7510
+7511
+7512
+7513
+7514
+7515
+7516
+7517
+7518
+7519
+7520
+7521
+7522
+7523
+7524
+7525
+7526
+7527
+7528
+7529
+7530
+7531
+7532
+7533
+7534
+7535
+7536
+7537
+7538
+7539
+7540
+7541
+7542
+7543
+7544
+7545
+7546
+7547
+7548
+7549
+7550
+7551
+7552
+7553
+7554
+7555
+7556
+7557
+7558
+7559
+7560
+7561
+7562
+7563
+7564
+7565
+7566
+7567
+7568
+7569
+7570
+7571
+7572
+7573
+7574
def hbar_lmatvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-13T22:25:19.852199.
+
+    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
+    -------
+    tmp10 : array
+    tmp100 : array
+    tmp101 : array
+    tmp103 : array
+    tmp11 : array
+    tmp111 : array
+    tmp112 : array
+    tmp114 : array
+    tmp115 : array
+    tmp117 : array
+    tmp118 : array
+    tmp120 : array
+    tmp121 : array
+    tmp123 : array
+    tmp125 : array
+    tmp127 : array
+    tmp128 : array
+    tmp13 : array
+    tmp130 : array
+    tmp131 : array
+    tmp133 : array
+    tmp134 : array
+    tmp136 : array
+    tmp137 : array
+    tmp139 : array
+    tmp141 : array
+    tmp142 : array
+    tmp144 : array
+    tmp145 : array
+    tmp147 : array
+    tmp149 : array
+    tmp150 : array
+    tmp151 : array
+    tmp153 : array
+    tmp154 : array
+    tmp156 : array
+    tmp157 : array
+    tmp158 : array
+    tmp159 : array
+    tmp160 : array
+    tmp161 : array
+    tmp163 : array
+    tmp164 : array
+    tmp169 : array
+    tmp171 : array
+    tmp173 : array
+    tmp174 : array
+    tmp175 : array
+    tmp176 : array
+    tmp177 : array
+    tmp178 : array
+    tmp179 : array
+    tmp181 : array
+    tmp183 : array
+    tmp185 : array
+    tmp186 : array
+    tmp187 : array
+    tmp188 : array
+    tmp19 : array
+    tmp190 : array
+    tmp191 : array
+    tmp193 : array
+    tmp194 : array
+    tmp195 : array
+    tmp196 : array
+    tmp197 : array
+    tmp198 : array
+    tmp2 : array
+    tmp20 : array
+    tmp200 : array
+    tmp201 : array
+    tmp22 : array
+    tmp226 : array
+    tmp228 : array
+    tmp23 : array
+    tmp230 : array
+    tmp232 : array
+    tmp238 : array
+    tmp240 : array
+    tmp246 : array
+    tmp247 : array
+    tmp249 : array
+    tmp250 : array
+    tmp252 : array
+    tmp254 : array
+    tmp256 : array
+    tmp26 : array
+    tmp27 : array
+    tmp276 : array
+    tmp278 : array
+    tmp28 : array
+    tmp284 : array
+    tmp285 : array
+    tmp287 : array
+    tmp288 : array
+    tmp29 : array
+    tmp290 : array
+    tmp292 : array
+    tmp294 : array
+    tmp305 : array
+    tmp307 : array
+    tmp309 : array
+    tmp31 : array
+    tmp310 : array
+    tmp33 : array
+    tmp34 : array
+    tmp35 : array
+    tmp36 : array
+    tmp4 : array
+    tmp43 : array
+    tmp45 : array
+    tmp47 : array
+    tmp49 : array
+    tmp5 : array
+    tmp51 : array
+    tmp53 : array
+    tmp55 : array
+    tmp57 : array
+    tmp59 : array
+    tmp61 : array
+    tmp63 : array
+    tmp65 : array
+    tmp67 : array
+    tmp69 : array
+    tmp7 : array
+    tmp71 : array
+    tmp73 : array
+    tmp74 : array
+    tmp76 : array
+    tmp77 : array
+    tmp79 : array
+    tmp8 : array
+    tmp81 : array
+    tmp82 : array
+    tmp83 : array
+    tmp85 : array
+    tmp86 : array
+    tmp88 : array
+    tmp89 : array
+    tmp90 : array
+    tmp92 : array
+    tmp94 : array
+    tmp96 : array
+    tmp98 : array
+    """
+
+    tmp35 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3))
+    tmp36 = einsum(t1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3))
+    tmp33 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3))
+    tmp89 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 1, 0, 3), (2, 3))
+    tmp29 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3))
+    tmp82 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 1, 0, 3), (2, 3))
+    tmp117 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3))
+    tmp114 = einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 4, 1), (0, 2, 4, 3))
+    tmp200 = einsum(t1.bb, (0, 1), tmp35, (2, 1), (0, 2))
+    tmp197 = einsum(t1.aa, (0, 1), tmp36, (2, 1), (0, 2))
+    tmp195 = einsum(t1.bb, (0, 1), tmp33, (2, 1), (0, 2))
+    tmp193 = einsum(tmp89, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp190 = einsum(t1.aa, (0, 1), tmp29, (2, 1), (0, 2))
+    tmp187 = einsum(tmp82, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp28 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp177 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3))
+    tmp175 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2))
+    tmp173 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (0, 1), (2, 3))
+    tmp27 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 2, 3, 1), (2, 3))
+    tmp26 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 1, 2, 3), (2, 3))
+    tmp163 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3))
+    tmp160 = einsum(t1.bb, (0, 1), v.aabb.ooov, (2, 3, 0, 1), (2, 3))
+    tmp158 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp156 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (1, 3), (0, 2))
+    tmp153 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 3, 0, 1), (2, 3))
+    tmp150 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 1), (2, 3))
+    tmp136 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0))
+    tmp133 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2))
+    tmp130 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 1, 3), (4, 0))
+    tmp127 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 1, 2), (0, 4)) * -1
+    tmp120 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1))
+    tmp111 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1))
+    tmp22 = einsum(t1.bb, (0, 1), f.bb.ov, (2, 1), (2, 0))
+    tmp19 = einsum(f.aa.ov, (0, 1), t1.aa, (2, 1), (0, 2))
+    tmp310 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.aa, (4, 1), (4, 2, 0, 3))
+    tmp309 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp307 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2))
+    tmp305 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 1), (4, 0, 2, 3))
+    tmp294 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 5), (4, 0, 5, 3))
+    tmp292 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 5, 3))
+    tmp290 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3))
+    tmp288 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 5), (0, 4, 2, 5))
+    tmp287 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp285 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp284 = einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp278 = einsum(tmp117, (0, 1, 2, 3), t2.abab, (1, 2, 4, 5), (0, 4, 5, 3))
+    tmp276 = einsum(tmp114, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 5), (0, 4, 5, 3))
+    tmp256 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 5), (0, 4, 3, 5))
+    tmp254 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 5, 2, 3))
+    tmp252 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 5, 2, 3))
+    tmp250 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (4, 5, 1, 2))
+    tmp249 = einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ovvv, (1, 4, 5, 3), (0, 2, 4, 5))
+    tmp247 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 1), (4, 5, 2, 3))
+    tmp246 = einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ovvv, (1, 3, 4, 5), (0, 2, 4, 5))
+    tmp240 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (1, 2, 4, 5), (0, 4, 5, 3))
+    tmp238 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 5), (0, 4, 5, 3))
+    tmp232 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 4), (4, 3))
+    tmp230 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 3), (4, 1))
+    tmp228 = einsum(t1.aa, (0, 1), v.aabb.vvvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp226 = einsum(v.bbbb.vvvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2))
+    tmp201 = einsum(t1.bb, (0, 1), tmp200, (2, 0), (2, 1))
+    tmp198 = einsum(tmp197, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp196 = einsum(t1.bb, (0, 1), tmp195, (2, 0), (2, 1))
+    tmp194 = einsum(t1.bb, (0, 1), tmp193, (2, 0), (2, 1))
+    tmp191 = einsum(tmp190, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp188 = einsum(tmp187, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp186 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 1, 2))
+    tmp185 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 2, 0, 1))
+    tmp183 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp181 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp179 = einsum(t1.aa, (0, 1), tmp28, (2, 1), (0, 2))
+    tmp178 = einsum(tmp177, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp176 = einsum(t1.bb, (0, 1), tmp175, (1, 2), (0, 2))
+    tmp174 = einsum(t1.bb, (0, 1), tmp173, (2, 1), (0, 2))
+    tmp171 = einsum(tmp27, (0, 1), t1.aa, (2, 0), (2, 1))
+    tmp169 = einsum(t1.aa, (0, 1), tmp26, (2, 1), (0, 2))
+    tmp164 = einsum(t1.bb, (0, 1), tmp163, (2, 0), (2, 1))
+    tmp161 = einsum(tmp160, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp159 = einsum(t1.bb, (0, 1), tmp158, (2, 0), (2, 1))
+    tmp157 = einsum(tmp156, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp154 = einsum(tmp153, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp151 = einsum(tmp150, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp149 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (1, 5, 2, 4))
+    tmp147 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp145 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp144 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (2, 4, 1, 5), (0, 4, 3, 5))
+    tmp142 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 1), (4, 0, 5, 3))
+    tmp141 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3))
+    tmp139 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp137 = einsum(tmp136, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp134 = einsum(t1.bb, (0, 1), tmp133, (2, 0), (2, 1))
+    tmp131 = einsum(t1.bb, (0, 1), tmp130, (2, 0), (2, 1))
+    tmp128 = einsum(tmp127, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp125 = einsum(t2.abab, (0, 1, 2, 3), tmp120, (0, 4, 1, 5), (4, 2, 5, 3))
+    tmp123 = einsum(tmp111, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 5), (0, 4, 5, 3)) * -1
+    tmp121 = einsum(tmp120, (0, 1, 2, 3), t2.abab, (0, 2, 3, 4), (1, 4))
+    tmp118 = einsum(t2.abab, (0, 1, 2, 3), tmp117, (4, 0, 1, 3), (4, 2))
+    tmp115 = einsum(tmp114, (0, 1, 2, 3), t2.bbbb, (2, 1, 4, 3), (0, 4))
+    tmp112 = einsum(t2.aaaa, (0, 1, 2, 3), tmp111, (4, 0, 1, 3), (4, 2)) * -1
+    tmp103 = einsum(t2.bbbb, (0, 1, 2, 3), tmp35, (1, 3), (0, 2))
+    tmp101 = einsum(tmp35, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp100 = einsum(tmp36, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp98 = einsum(t2.aaaa, (0, 1, 2, 3), tmp36, (1, 3), (0, 2))
+    tmp96 = einsum(t2.bbbb, (0, 1, 2, 3), tmp33, (1, 3), (0, 2))
+    tmp94 = einsum(tmp33, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp92 = einsum(tmp89, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3))
+    tmp90 = einsum(tmp89, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp88 = einsum(tmp29, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp86 = einsum(tmp29, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp85 = einsum(tmp82, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp83 = einsum(tmp82, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp81 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (4, 5, 1, 2))
+    tmp79 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.vvov, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp77 = einsum(v.aabb.vvov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 5, 0, 1))
+    tmp76 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovvv, (0, 4, 5, 2), (1, 4, 5, 3))
+    tmp74 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (1, 4, 5, 3), (0, 2, 4, 5))
+    tmp73 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 3, 5))
+    tmp71 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (1, 3, 4, 5), (0, 2, 4, 5))
+    tmp69 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 3), (0, 4))
+    tmp67 = einsum(v.aabb.ovvv, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2))
+    tmp65 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 0, 1, 3), (4, 2))
+    tmp63 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (1, 3, 4, 2), (0, 4)) * -1
+    tmp61 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovoo, (0, 4, 5, 1), (5, 2, 4, 3))
+    tmp59 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ooov, (4, 1, 0, 5), (4, 2, 3, 5)) * -1
+    tmp57 = einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (1, 2, 4, 3), (0, 4))
+    tmp55 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (0, 3, 1, 4), (2, 4))
+    tmp53 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 0, 1, 3), (4, 2))
+    tmp51 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 3), (0, 4)) * -1
+    tmp49 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4))
+    tmp47 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1
+    tmp45 = einsum(t1.bb, (0, 1), v.aabb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp43 = einsum(v.aaaa.vvvv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2))
+    tmp34 = einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 0, 3, 1), (2, 3))
+    tmp31 = einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 0, 3, 1), (2, 3))
+    tmp23 = einsum(t1.bb, (0, 1), tmp22, (0, 2), (2, 1))
+    tmp20 = einsum(tmp19, (0, 1), t1.aa, (0, 2), (1, 2))
+    tmp13 = einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3))
+    tmp11 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp10 = einsum(f.aa.ov, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp8 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp7 = einsum(f.bb.vv, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp5 = einsum(f.aa.vv, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp4 = einsum(t1.bb, (0, 1), f.bb.oo, (2, 0), (2, 1))
+    tmp2 = einsum(f.aa.oo, (0, 1), t1.aa, (1, 2), (0, 2))
+
+    return {f"tmp10": tmp10, f"tmp100": tmp100, f"tmp101": tmp101, f"tmp103": tmp103, f"tmp11": tmp11, f"tmp111": tmp111, f"tmp112": tmp112, f"tmp114": tmp114, f"tmp115": tmp115, f"tmp117": tmp117, f"tmp118": tmp118, f"tmp120": tmp120, f"tmp121": tmp121, f"tmp123": tmp123, f"tmp125": tmp125, f"tmp127": tmp127, f"tmp128": tmp128, f"tmp13": tmp13, f"tmp130": tmp130, f"tmp131": tmp131, f"tmp133": tmp133, f"tmp134": tmp134, f"tmp136": tmp136, f"tmp137": tmp137, f"tmp139": tmp139, f"tmp141": tmp141, f"tmp142": tmp142, f"tmp144": tmp144, f"tmp145": tmp145, f"tmp147": tmp147, f"tmp149": tmp149, f"tmp150": tmp150, f"tmp151": tmp151, f"tmp153": tmp153, f"tmp154": tmp154, f"tmp156": tmp156, f"tmp157": tmp157, f"tmp158": tmp158, f"tmp159": tmp159, f"tmp160": tmp160, f"tmp161": tmp161, f"tmp163": tmp163, f"tmp164": tmp164, f"tmp169": tmp169, f"tmp171": tmp171, f"tmp173": tmp173, f"tmp174": tmp174, f"tmp175": tmp175, f"tmp176": tmp176, f"tmp177": tmp177, f"tmp178": tmp178, f"tmp179": tmp179, f"tmp181": tmp181, f"tmp183": tmp183, f"tmp185": tmp185, f"tmp186": tmp186, f"tmp187": tmp187, f"tmp188": tmp188, f"tmp19": tmp19, f"tmp190": tmp190, f"tmp191": tmp191, f"tmp193": tmp193, f"tmp194": tmp194, f"tmp195": tmp195, f"tmp196": tmp196, f"tmp197": tmp197, f"tmp198": tmp198, f"tmp2": tmp2, f"tmp20": tmp20, f"tmp200": tmp200, f"tmp201": tmp201, f"tmp22": tmp22, f"tmp226": tmp226, f"tmp228": tmp228, f"tmp23": tmp23, f"tmp230": tmp230, f"tmp232": tmp232, f"tmp238": tmp238, f"tmp240": tmp240, f"tmp246": tmp246, f"tmp247": tmp247, f"tmp249": tmp249, f"tmp250": tmp250, f"tmp252": tmp252, f"tmp254": tmp254, f"tmp256": tmp256, f"tmp26": tmp26, f"tmp27": tmp27, f"tmp276": tmp276, f"tmp278": tmp278, f"tmp28": tmp28, f"tmp284": tmp284, f"tmp285": tmp285, f"tmp287": tmp287, f"tmp288": tmp288, f"tmp29": tmp29, f"tmp290": tmp290, f"tmp292": tmp292, f"tmp294": tmp294, f"tmp305": tmp305, f"tmp307": tmp307, f"tmp309": tmp309, f"tmp31": tmp31, f"tmp310": tmp310, f"tmp33": tmp33, f"tmp34": tmp34, f"tmp35": tmp35, f"tmp36": tmp36, f"tmp4": tmp4, f"tmp43": tmp43, f"tmp45": tmp45, f"tmp47": tmp47, f"tmp49": tmp49, f"tmp5": tmp5, f"tmp51": tmp51, f"tmp53": tmp53, f"tmp55": tmp55, f"tmp57": tmp57, f"tmp59": tmp59, f"tmp61": tmp61, f"tmp63": tmp63, f"tmp65": tmp65, f"tmp67": tmp67, f"tmp69": tmp69, f"tmp7": tmp7, f"tmp71": tmp71, f"tmp73": tmp73, f"tmp74": tmp74, f"tmp76": tmp76, f"tmp77": tmp77, f"tmp79": tmp79, f"tmp8": tmp8, f"tmp81": tmp81, f"tmp82": tmp82, f"tmp83": tmp83, f"tmp85": tmp85, f"tmp86": tmp86, f"tmp88": tmp88, f"tmp89": tmp89, f"tmp90": tmp90, f"tmp92": tmp92, f"tmp94": tmp94, f"tmp96": tmp96, f"tmp98": tmp98}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UCCSD.hbar_lmatvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-13T22:25:19.936973.

+

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.

+ +
+ Source code in ebcc/codegen/UCCSD.py +
7576
+7577
+7578
+7579
+7580
+7581
+7582
+7583
+7584
+7585
+7586
+7587
+7588
+7589
+7590
+7591
+7592
+7593
+7594
+7595
+7596
+7597
+7598
+7599
+7600
+7601
+7602
+7603
+7604
+7605
+7606
+7607
+7608
+7609
+7610
+7611
+7612
+7613
+7614
+7615
+7616
+7617
+7618
+7619
+7620
+7621
+7622
+7623
+7624
+7625
+7626
+7627
+7628
+7629
+7630
+7631
+7632
+7633
+7634
+7635
+7636
+7637
+7638
+7639
+7640
+7641
+7642
+7643
+7644
+7645
+7646
+7647
+7648
+7649
+7650
+7651
+7652
+7653
+7654
+7655
+7656
+7657
+7658
+7659
+7660
+7661
+7662
+7663
+7664
+7665
+7666
+7667
+7668
+7669
+7670
+7671
+7672
+7673
+7674
+7675
+7676
+7677
+7678
+7679
+7680
+7681
+7682
+7683
+7684
+7685
+7686
+7687
+7688
+7689
+7690
+7691
+7692
+7693
+7694
+7695
+7696
+7697
+7698
+7699
+7700
+7701
+7702
+7703
+7704
+7705
+7706
+7707
+7708
+7709
+7710
+7711
+7712
+7713
+7714
+7715
+7716
+7717
+7718
+7719
+7720
+7721
+7722
+7723
+7724
+7725
+7726
+7727
+7728
+7729
+7730
+7731
+7732
+7733
+7734
+7735
+7736
+7737
+7738
+7739
+7740
+7741
+7742
+7743
+7744
+7745
+7746
+7747
+7748
+7749
+7750
+7751
+7752
+7753
+7754
+7755
+7756
+7757
+7758
+7759
+7760
+7761
+7762
+7763
+7764
+7765
+7766
+7767
+7768
+7769
+7770
+7771
+7772
+7773
+7774
+7775
+7776
+7777
+7778
+7779
+7780
+7781
+7782
+7783
+7784
+7785
+7786
+7787
+7788
+7789
+7790
+7791
+7792
+7793
+7794
+7795
+7796
+7797
+7798
+7799
+7800
+7801
+7802
+7803
+7804
+7805
+7806
+7807
+7808
+7809
+7810
+7811
+7812
+7813
+7814
+7815
+7816
+7817
+7818
+7819
+7820
+7821
+7822
+7823
+7824
+7825
+7826
+7827
+7828
+7829
+7830
+7831
+7832
+7833
+7834
+7835
+7836
+7837
+7838
+7839
+7840
+7841
+7842
+7843
+7844
+7845
+7846
+7847
+7848
+7849
+7850
+7851
+7852
+7853
+7854
+7855
+7856
+7857
+7858
+7859
+7860
+7861
+7862
+7863
+7864
+7865
+7866
+7867
+7868
+7869
+7870
+7871
+7872
+7873
+7874
+7875
+7876
+7877
+7878
+7879
+7880
+7881
+7882
+7883
+7884
+7885
+7886
+7887
+7888
+7889
+7890
+7891
+7892
+7893
+7894
+7895
+7896
+7897
+7898
+7899
+7900
+7901
+7902
+7903
+7904
+7905
+7906
+7907
+7908
+7909
+7910
+7911
+7912
+7913
+7914
+7915
+7916
+7917
+7918
+7919
+7920
+7921
+7922
+7923
+7924
+7925
+7926
+7927
+7928
+7929
+7930
+7931
+7932
+7933
+7934
+7935
+7936
+7937
+7938
+7939
+7940
+7941
+7942
+7943
+7944
+7945
+7946
+7947
+7948
+7949
+7950
+7951
+7952
+7953
+7954
+7955
+7956
+7957
+7958
+7959
+7960
+7961
+7962
+7963
+7964
+7965
+7966
+7967
+7968
+7969
+7970
+7971
+7972
+7973
+7974
+7975
+7976
+7977
+7978
+7979
+7980
+7981
+7982
+7983
+7984
+7985
+7986
+7987
+7988
+7989
+7990
+7991
+7992
+7993
+7994
+7995
+7996
+7997
+7998
+7999
+8000
+8001
+8002
+8003
+8004
+8005
+8006
+8007
+8008
+8009
+8010
+8011
+8012
+8013
+8014
+8015
+8016
+8017
+8018
+8019
+8020
+8021
+8022
+8023
+8024
+8025
+8026
+8027
+8028
+8029
+8030
+8031
+8032
+8033
+8034
+8035
+8036
+8037
+8038
+8039
+8040
+8041
+8042
+8043
+8044
+8045
+8046
+8047
+8048
+8049
+8050
+8051
+8052
+8053
+8054
+8055
+8056
+8057
+8058
+8059
+8060
+8061
+8062
+8063
+8064
+8065
+8066
+8067
+8068
+8069
+8070
+8071
+8072
+8073
+8074
+8075
+8076
+8077
+8078
+8079
+8080
+8081
+8082
+8083
+8084
+8085
+8086
+8087
+8088
+8089
+8090
+8091
+8092
+8093
+8094
+8095
+8096
+8097
+8098
+8099
+8100
+8101
+8102
+8103
+8104
+8105
+8106
+8107
+8108
+8109
+8110
+8111
+8112
+8113
+8114
+8115
+8116
+8117
+8118
+8119
+8120
+8121
+8122
+8123
+8124
+8125
+8126
+8127
+8128
+8129
+8130
+8131
+8132
+8133
+8134
+8135
+8136
+8137
+8138
+8139
+8140
+8141
+8142
+8143
+8144
+8145
+8146
+8147
+8148
+8149
+8150
+8151
+8152
+8153
+8154
+8155
+8156
+8157
+8158
+8159
+8160
+8161
+8162
+8163
+8164
+8165
+8166
+8167
+8168
+8169
+8170
+8171
+8172
+8173
+8174
+8175
+8176
+8177
+8178
+8179
+8180
+8181
+8182
+8183
+8184
+8185
+8186
+8187
+8188
+8189
+8190
+8191
+8192
+8193
+8194
+8195
+8196
+8197
+8198
+8199
+8200
+8201
+8202
+8203
+8204
+8205
+8206
+8207
+8208
+8209
+8210
+8211
+8212
+8213
+8214
+8215
+8216
+8217
+8218
+8219
+8220
+8221
+8222
+8223
+8224
+8225
def hbar_lmatvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-13T22:25:19.936973.
+
+    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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp119 = np.copy(f.bb.ov)
+    tmp119 += ints.tmp33
+    tmp119 += ints.tmp35
+    tmp95 = np.copy(ints.tmp114) * -1
+    tmp95 += np.transpose(ints.tmp114, (0, 2, 1, 3))
+    tmp44 = np.copy(ints.tmp111) * -1
+    tmp44 += np.transpose(ints.tmp111, (0, 2, 1, 3))
+    tmp62 = np.copy(f.aa.ov)
+    tmp62 += ints.tmp29
+    tmp62 += ints.tmp36
+    tmp120 = einsum(t1.bb, (0, 1), tmp119, (0, 2), (1, 2))
+    del tmp119
+    tmp101 = einsum(ints.tmp89, (0, 1), t1.bb, (0, 2), (1, 2))
+    tmp109 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3))
+    tmp36 = einsum(t2.bbbb, (0, 1, 2, 3), r2.bbb, (2, 3, 1), (0,))
+    tmp35 = einsum(t2.abab, (0, 1, 2, 3), r2.aba, (2, 3, 0), (1,))
+    tmp96 = einsum(tmp95, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3))
+    del tmp95
+    tmp106 = einsum(ints.tmp117, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3))
+    tmp48 = einsum(ints.tmp120, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4))
+    tmp53 = einsum(t1.aa, (0, 1), ints.tmp82, (0, 2), (2, 1))
+    tmp45 = einsum(t1.aa, (0, 1), tmp44, (2, 0, 3, 4), (2, 3, 1, 4))
+    del tmp44
+    tmp63 = einsum(t1.aa, (0, 1), tmp62, (0, 2), (1, 2))
+    del tmp62
+    tmp15 = einsum(r1.a, (0,), t1.aa, (1, 0), (1,))
+    tmp17 = einsum(r2.bab, (0, 1, 2), t2.abab, (3, 2, 1, 0), (3,)) * -1
+    tmp115 = np.copy(ints.tmp284)
+    tmp115 += ints.tmp310
+    tmp115 += ints.tmp290 * 2
+    tmp121 = np.copy(ints.tmp175)
+    tmp121 += np.transpose(tmp120, (1, 0))
+    del tmp120
+    tmp34 = einsum(r1.b, (0,), t1.bb, (1, 0), (1,))
+    tmp117 = np.copy(np.transpose(ints.tmp305, (0, 1, 3, 2)))
+    tmp117 += ints.tmp288 * 2
+    tmp102 = np.copy(f.bb.vv) * 0.5
+    tmp102 += ints.tmp173 * 0.5
+    tmp102 += ints.tmp177 * 0.5
+    tmp102 += ints.tmp230 * -1
+    tmp102 += ints.tmp232 * -0.5
+    tmp102 += np.transpose(tmp101, (1, 0)) * 0.5
+    del tmp101
+    tmp110 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3)))
+    tmp110 += tmp109 * -1
+    del tmp109
+    tmp104 = np.copy(tmp35) * -0.5
+    tmp104 += tmp36
+    tmp97 = np.copy(ints.tmp285) * 2
+    tmp97 += ints.tmp292
+    tmp97 += np.transpose(ints.tmp307, (0, 1, 3, 2))
+    tmp97 += tmp96 * -1
+    del tmp96
+    tmp22 = einsum(t1.bb, (0, 1), r2.bbb, (2, 1, 3), (3, 0, 2))
+    tmp99 = np.copy(v.bbbb.ooov) * -1
+    tmp99 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3))
+    tmp107 = np.copy(ints.tmp287)
+    tmp107 += tmp106
+    del tmp106
+    tmp38 = np.copy(f.bb.ov)
+    tmp38 += ints.tmp33
+    tmp38 += ints.tmp35
+    tmp38 += ints.tmp89 * -1
+    tmp19 = np.copy(f.aa.ov)
+    tmp19 += ints.tmp29
+    tmp19 += ints.tmp36
+    tmp19 += ints.tmp82 * -1
+    tmp49 = np.copy(ints.tmp141) * 0.5
+    tmp49 += ints.tmp147
+    tmp49 += ints.tmp186 * 0.5
+    tmp49 += tmp48 * -0.5
+    del tmp48
+    tmp2 = einsum(t1.aa, (0, 1), r2.aaa, (2, 1, 3), (3, 0, 2))
+    tmp51 = np.copy(v.aaaa.ooov) * -1
+    tmp51 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3))
+    tmp54 = np.copy(f.aa.vv) * 0.5
+    tmp54 += ints.tmp26 * 0.5
+    tmp54 += ints.tmp28 * 0.5
+    tmp54 += ints.tmp47 * -1
+    tmp54 += ints.tmp49 * -0.5
+    tmp54 += np.transpose(tmp53, (1, 0)) * 0.5
+    del tmp53
+    tmp6 = einsum(r2.bab, (0, 1, 2), t1.bb, (3, 0), (2, 3, 1)) * -1
+    tmp46 = np.copy(ints.tmp139) * 2
+    tmp46 += ints.tmp145
+    tmp46 += np.transpose(ints.tmp183, (0, 1, 3, 2))
+    tmp46 += tmp45 * -1
+    del tmp45
+    tmp16 = einsum(r2.aaa, (0, 1, 2), t2.aaaa, (3, 2, 0, 1), (3,))
+    tmp60 = np.copy(np.transpose(ints.tmp181, (0, 1, 3, 2)))
+    tmp60 += ints.tmp142 * 2
+    tmp64 = np.copy(ints.tmp27)
+    tmp64 += np.transpose(tmp63, (1, 0))
+    del tmp63
+    tmp66 = np.copy(tmp15)
+    tmp66 += tmp17
+    tmp124 = np.copy(t2.bbbb)
+    tmp124 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1))
+    tmp116 = einsum(tmp115, (0, 1, 2, 3), r2.aba, (2, 4, 0), (1, 4, 3))
+    del tmp115
+    tmp113 = einsum(v.bbbb.ovov, (0, 1, 2, 3), r2.bbb, (4, 3, 2), (0, 4, 1))
+    tmp122 = einsum(tmp121, (0, 1), r2.bbb, (2, 1, 3), (3, 2, 0)) * -1
+    del tmp121
+    tmp114 = einsum(tmp34, (0,), v.bbbb.ovov, (1, 2, 0, 3), (1, 2, 3))
+    tmp118 = einsum(r2.bbb, (0, 1, 2), tmp117, (2, 3, 1, 4), (3, 0, 4)) * -1
+    del tmp117
+    tmp103 = einsum(tmp102, (0, 1), r2.bbb, (2, 0, 3), (3, 2, 1)) * -4
+    del tmp102
+    tmp111 = einsum(tmp110, (0, 1, 2, 3), r2.aba, (2, 4, 0), (1, 4, 3))
+    del tmp110
+    tmp93 = einsum(r2.bbb, (0, 1, 2), v.bbbb.oovv, (3, 2, 4, 1), (3, 0, 4))
+    tmp92 = einsum(r1.b, (0,), v.bbbb.ovvv, (1, 2, 3, 0), (1, 2, 3))
+    tmp105 = einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp104, (2,), (0, 3, 1)) * 2
+    del tmp104
+    tmp98 = einsum(r2.bbb, (0, 1, 2), tmp97, (2, 3, 1, 4), (3, 0, 4)) * -2
+    del tmp97
+    tmp94 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), tmp22, (4, 0, 3), (4, 1, 2)) * -1
+    tmp100 = einsum(tmp99, (0, 1, 2, 3), tmp22, (0, 1, 4), (2, 4, 3)) * 2
+    del tmp99
+    tmp108 = einsum(tmp107, (0, 1, 2, 3), r2.aba, (2, 4, 0), (1, 4, 3))
+    del tmp107
+    tmp81 = einsum(t1.bb, (0, 1), tmp38, (0, 2), (1, 2))
+    tmp87 = np.copy(t2.abab)
+    tmp87 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3))
+    tmp30 = np.copy(ints.tmp117)
+    tmp30 += v.aabb.ooov
+    tmp79 = einsum(t1.aa, (0, 1), tmp19, (0, 2), (1, 2))
+    tmp74 = np.copy(ints.tmp120)
+    tmp74 += np.transpose(v.aabb.ovoo, (0, 2, 3, 1))
+    tmp83 = np.copy(ints.tmp114) * -1
+    tmp83 += np.transpose(ints.tmp114, (0, 2, 1, 3))
+    tmp83 += v.bbbb.ooov
+    tmp83 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) * -1
+    tmp72 = np.copy(ints.tmp111) * -1
+    tmp72 += np.transpose(ints.tmp111, (0, 2, 1, 3))
+    tmp72 += v.aaaa.ooov
+    tmp72 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3)) * -1
+    tmp77 = np.copy(t2.abab)
+    tmp77 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3))
+    tmp50 = einsum(r2.bab, (0, 1, 2), tmp49, (3, 2, 4, 0), (3, 1, 4)) * -2
+    del tmp49
+    tmp41 = einsum(tmp2, (0, 1, 2), v.aaaa.ovvv, (1, 3, 4, 2), (0, 3, 4)) * -1
+    tmp52 = einsum(tmp51, (0, 1, 2, 3), tmp2, (0, 1, 4), (2, 4, 3)) * 2
+    del tmp51
+    tmp40 = einsum(v.aaaa.oovv, (0, 1, 2, 3), r2.aaa, (4, 3, 1), (0, 4, 2))
+    tmp55 = einsum(r2.aaa, (0, 1, 2), tmp54, (1, 3), (2, 0, 3)) * -4
+    del tmp54
+    tmp42 = einsum(tmp6, (0, 1, 2), v.aabb.ovoo, (3, 4, 1, 0), (3, 2, 4))
+    tmp47 = einsum(tmp46, (0, 1, 2, 3), r2.aaa, (4, 2, 0), (1, 4, 3)) * -2
+    del tmp46
+    tmp43 = einsum(tmp16, (0,), v.aaaa.ovov, (1, 2, 0, 3), (1, 2, 3)) * -1
+    tmp39 = einsum(r1.a, (0,), v.aaaa.ovvv, (1, 2, 3, 0), (1, 2, 3))
+    tmp69 = np.copy(t2.aaaa)
+    tmp69 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1))
+    tmp59 = einsum(r2.bab, (0, 1, 2), v.aabb.ovov, (3, 4, 2, 0), (3, 1, 4)) * -1
+    tmp61 = einsum(tmp60, (0, 1, 2, 3), r2.aaa, (4, 2, 0), (1, 4, 3)) * -1
+    del tmp60
+    tmp58 = einsum(r2.bab, (0, 1, 2), ints.tmp144, (3, 2, 4, 0), (3, 4, 1)) * -1
+    tmp65 = einsum(r2.aaa, (0, 1, 2), tmp64, (3, 1), (2, 0, 3)) * -1
+    del tmp64
+    tmp67 = einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp66, (2,), (0, 3, 1))
+    del tmp66
+    tmp57 = einsum(v.aaaa.ovov, (0, 1, 2, 3), r2.aaa, (4, 3, 2), (0, 4, 1))
+    tmp26 = einsum(r2.aba, (0, 1, 2), t1.aa, (3, 0), (2, 3, 1))
+    tmp125 = einsum(r2.bbb, (0, 1, 2), tmp124, (3, 4, 0, 1), (2, 4, 3)) * -1
+    del tmp124
+    tmp123 = np.copy(tmp113) * 2
+    del tmp113
+    tmp123 += tmp114
+    del tmp114
+    tmp123 += np.transpose(tmp116, (0, 2, 1))
+    del tmp116
+    tmp123 += np.transpose(tmp118, (0, 2, 1)) * -2
+    del tmp118
+    tmp123 += np.transpose(tmp122, (0, 2, 1)) * -2
+    del tmp122
+    tmp112 = np.copy(tmp92)
+    del tmp92
+    tmp112 += tmp93 * 2
+    del tmp93
+    tmp112 += tmp94 * 2
+    del tmp94
+    tmp112 += np.transpose(tmp98, (0, 2, 1)) * -1
+    del tmp98
+    tmp112 += tmp100 * -1
+    del tmp100
+    tmp112 += np.transpose(tmp103, (0, 2, 1)) * -1
+    del tmp103
+    tmp112 += np.transpose(tmp105, (0, 2, 1)) * -1
+    del tmp105
+    tmp112 += np.transpose(tmp108, (0, 2, 1))
+    del tmp108
+    tmp112 += tmp111
+    del tmp111
+    tmp91 = np.copy(f.bb.oo)
+    tmp91 += ints.tmp130 * 2
+    tmp91 += ints.tmp133
+    tmp91 += ints.tmp158
+    tmp91 += ints.tmp163
+    tmp91 += ints.tmp195
+    tmp91 += ints.tmp200
+    tmp91 += np.transpose(ints.tmp22, (1, 0))
+    tmp91 += ints.tmp156 * -1
+    tmp91 += ints.tmp193 * -1
+    tmp4 = einsum(r2.bab, (0, 1, 2), t1.aa, (3, 1), (3, 2, 0)) * -1
+    tmp89 = np.copy(np.transpose(ints.tmp175, (1, 0)))
+    tmp89 += ints.tmp230 * 2
+    tmp89 += ints.tmp232
+    tmp89 += f.bb.vv * -1
+    tmp89 += ints.tmp173 * -1
+    tmp89 += ints.tmp177 * -1
+    tmp89 += tmp81
+    tmp88 = einsum(r2.bab, (0, 1, 2), tmp87, (3, 4, 1, 0), (3, 2, 4)) * -1
+    del tmp87
+    tmp85 = np.copy(ints.tmp284)
+    tmp85 += ints.tmp290 * 2
+    tmp85 += ints.tmp310
+    tmp85 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp85 += ints.tmp287 * -1
+    tmp85 += einsum(tmp30, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3)) * -1
+    tmp18 = np.copy(tmp15)
+    del tmp15
+    tmp18 += tmp16 * 2
+    del tmp16
+    tmp18 += tmp17
+    del tmp17
+    tmp90 = np.copy(np.transpose(ints.tmp27, (1, 0)))
+    tmp90 += ints.tmp47 * 2
+    tmp90 += ints.tmp49
+    tmp90 += f.aa.vv * -1
+    tmp90 += np.transpose(ints.tmp26, (1, 0)) * -1
+    tmp90 += np.transpose(ints.tmp28, (1, 0)) * -1
+    tmp90 += tmp79
+    tmp86 = np.copy(ints.tmp149)
+    tmp86 += np.transpose(ints.tmp185, (0, 1, 3, 2)) * -1
+    tmp86 += np.transpose(v.aabb.vvoo, (2, 3, 0, 1)) * -1
+    tmp86 += einsum(t1.aa, (0, 1), tmp74, (0, 2, 3, 4), (2, 3, 1, 4))
+    tmp84 = np.copy(ints.tmp285) * 2
+    tmp84 += ints.tmp292
+    tmp84 += np.transpose(ints.tmp307, (0, 1, 3, 2))
+    tmp84 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    tmp84 += ints.tmp288 * -2
+    tmp84 += np.transpose(ints.tmp305, (0, 1, 3, 2)) * -1
+    tmp84 += v.bbbb.oovv * -1
+    tmp84 += einsum(tmp83, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3)) * -1
+    del tmp83
+    tmp80 = np.copy(np.transpose(ints.tmp27, (1, 0)))
+    tmp80 += ints.tmp47 * 2
+    tmp80 += ints.tmp49
+    tmp80 += f.aa.vv * -1
+    tmp80 += ints.tmp26 * -1
+    tmp80 += ints.tmp28 * -1
+    tmp80 += tmp79
+    del tmp79
+    tmp75 = np.copy(ints.tmp141)
+    tmp75 += ints.tmp147 * 2
+    tmp75 += ints.tmp186
+    tmp75 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp75 += ints.tmp144 * -1
+    tmp75 += einsum(t1.bb, (0, 1), tmp74, (2, 3, 0, 4), (2, 3, 4, 1)) * -1
+    del tmp74
+    tmp71 = np.copy(f.aa.oo)
+    tmp71 += ints.tmp127 * 2
+    tmp71 += ints.tmp136
+    tmp71 += ints.tmp153
+    tmp71 += ints.tmp160
+    tmp71 += ints.tmp190
+    tmp71 += ints.tmp197
+    tmp71 += np.transpose(ints.tmp19, (1, 0))
+    tmp71 += ints.tmp150 * -1
+    tmp71 += ints.tmp187 * -1
+    tmp73 = np.copy(ints.tmp139) * 2
+    tmp73 += ints.tmp145
+    tmp73 += np.transpose(ints.tmp183, (0, 1, 3, 2))
+    tmp73 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp73 += ints.tmp142 * -2
+    tmp73 += np.transpose(ints.tmp181, (0, 1, 3, 2)) * -1
+    tmp73 += v.aaaa.oovv * -1
+    tmp73 += einsum(t1.aa, (0, 1), tmp72, (2, 0, 3, 4), (2, 3, 1, 4)) * -1
+    del tmp72
+    tmp24 = einsum(t1.bb, (0, 1), r2.aba, (2, 1, 3), (3, 0, 2))
+    tmp76 = np.copy(ints.tmp294)
+    tmp76 += np.transpose(ints.tmp309, (0, 1, 3, 2)) * -1
+    tmp76 += v.aabb.oovv * -1
+    tmp76 += einsum(t1.bb, (0, 1), tmp30, (2, 3, 0, 4), (2, 3, 1, 4))
+    tmp82 = np.copy(np.transpose(ints.tmp175, (1, 0)))
+    tmp82 += ints.tmp230 * 2
+    tmp82 += ints.tmp232
+    tmp82 += f.bb.vv * -1
+    tmp82 += np.transpose(ints.tmp173, (1, 0)) * -1
+    tmp82 += np.transpose(ints.tmp177, (1, 0)) * -1
+    tmp82 += tmp81
+    del tmp81
+    tmp78 = einsum(tmp77, (0, 1, 2, 3), r2.aba, (2, 3, 4), (4, 0, 1))
+    del tmp77
+    tmp37 = np.copy(tmp34)
+    del tmp34
+    tmp37 += tmp35 * -1
+    del tmp35
+    tmp37 += tmp36 * 2
+    del tmp36
+    tmp56 = np.copy(tmp39)
+    del tmp39
+    tmp56 += tmp40 * 2
+    del tmp40
+    tmp56 += tmp41 * 2
+    del tmp41
+    tmp56 += tmp42
+    del tmp42
+    tmp56 += tmp43 * 2
+    del tmp43
+    tmp56 += np.transpose(tmp47, (0, 2, 1)) * -1
+    del tmp47
+    tmp56 += np.transpose(tmp50, (0, 2, 1))
+    del tmp50
+    tmp56 += tmp52 * -1
+    del tmp52
+    tmp56 += np.transpose(tmp55, (0, 2, 1)) * -1
+    del tmp55
+    tmp70 = einsum(tmp69, (0, 1, 2, 3), r2.aaa, (2, 3, 4), (4, 1, 0)) * -1
+    del tmp69
+    tmp68 = np.copy(tmp57) * 2
+    del tmp57
+    tmp68 += tmp58
+    del tmp58
+    tmp68 += tmp59
+    del tmp59
+    tmp68 += np.transpose(tmp61, (0, 2, 1)) * -2
+    del tmp61
+    tmp68 += np.transpose(tmp65, (0, 2, 1)) * -2
+    del tmp65
+    tmp68 += np.transpose(tmp67, (0, 2, 1))
+    del tmp67
+    tmp31 = einsum(t1.bb, (0, 1), tmp22, (2, 3, 1), (2, 3, 0)) * -1
+    tmp32 = np.copy(ints.tmp114)
+    tmp32 += v.bbbb.ooov * -1
+    tmp21 = np.copy(np.transpose(ints.tmp238, (0, 3, 1, 2))) * 0.5
+    tmp21 += np.transpose(ints.tmp247, (0, 2, 1, 3))
+    tmp21 += np.transpose(ints.tmp254, (0, 2, 1, 3)) * 0.5
+    tmp21 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3)) * 0.5
+    tmp21 += ints.tmp226 * -0.5
+    tmp21 += np.transpose(ints.tmp250, (0, 2, 1, 3)) * -1
+    tmp21 += np.transpose(ints.tmp276, (0, 3, 1, 2)) * -0.5
+    tmp27 = np.copy(np.transpose(ints.tmp309, (0, 1, 3, 2)))
+    tmp27 += v.aabb.oovv
+    tmp27 += ints.tmp294 * -1
+    tmp29 = einsum(t1.bb, (0, 1), tmp26, (2, 3, 1), (2, 3, 0))
+    tmp33 = np.copy(np.transpose(ints.tmp175, (1, 0)))
+    tmp33 += ints.tmp230 * 2
+    tmp33 += ints.tmp232
+    tmp33 += f.bb.vv * -1
+    tmp33 += np.transpose(ints.tmp173, (1, 0)) * -1
+    tmp33 += np.transpose(ints.tmp177, (1, 0)) * -1
+    tmp28 = np.copy(ints.tmp112) * 2
+    tmp28 += ints.tmp118
+    tmp28 += ints.tmp128 * 2
+    tmp28 += ints.tmp137
+    tmp28 += ints.tmp154
+    tmp28 += ints.tmp161
+    tmp28 += ints.tmp171
+    tmp28 += ints.tmp191
+    tmp28 += ints.tmp198
+    tmp28 += ints.tmp20
+    tmp28 += ints.tmp2
+    tmp28 += ints.tmp31
+    tmp28 += ints.tmp51 * 2
+    tmp28 += ints.tmp57
+    tmp28 += ints.tmp63 * 2
+    tmp28 += ints.tmp83 * 2
+    tmp28 += ints.tmp90
+    tmp28 += f.aa.ov * -1
+    tmp28 += ints.tmp101 * -1
+    tmp28 += ints.tmp11 * -1
+    tmp28 += ints.tmp151 * -1
+    tmp28 += ints.tmp169 * -1
+    tmp28 += ints.tmp179 * -1
+    tmp28 += ints.tmp188 * -1
+    tmp28 += ints.tmp29 * -1
+    tmp28 += ints.tmp36 * -1
+    tmp28 += ints.tmp5 * -1
+    tmp28 += ints.tmp69 * -1
+    tmp28 += ints.tmp86 * -2
+    tmp28 += ints.tmp8 * -2
+    tmp28 += ints.tmp94 * -1
+    tmp28 += ints.tmp98 * -2
+    tmp23 = np.copy(ints.tmp285) * 2
+    tmp23 += ints.tmp292
+    tmp23 += np.transpose(ints.tmp307, (0, 1, 3, 2))
+    tmp23 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    tmp23 += ints.tmp288 * -2
+    tmp23 += np.transpose(ints.tmp305, (0, 1, 3, 2)) * -1
+    tmp23 += v.bbbb.oovv * -1
+    tmp20 = np.copy(ints.tmp228)
+    tmp20 += np.transpose(ints.tmp240, (0, 1, 3, 2))
+    tmp20 += ints.tmp246
+    tmp20 += ints.tmp252 * 2
+    tmp20 += np.transpose(ints.tmp278, (0, 1, 3, 2))
+    tmp20 += v.aabb.ovvv
+    tmp20 += ints.tmp249 * -1
+    tmp20 += np.transpose(ints.tmp256, (0, 1, 3, 2)) * -1
+    tmp25 = np.copy(ints.tmp284)
+    tmp25 += ints.tmp290 * 2
+    tmp25 += ints.tmp310
+    tmp25 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp25 += ints.tmp287 * -1
+    tmp9 = np.copy(ints.tmp115) * 2
+    tmp9 += ints.tmp121
+    tmp9 += ints.tmp131 * 2
+    tmp9 += ints.tmp134
+    tmp9 += ints.tmp159
+    tmp9 += ints.tmp164
+    tmp9 += ints.tmp176
+    tmp9 += ints.tmp196
+    tmp9 += ints.tmp201
+    tmp9 += ints.tmp23
+    tmp9 += ints.tmp34
+    tmp9 += ints.tmp4
+    tmp9 += ints.tmp53 * 2
+    tmp9 += ints.tmp55
+    tmp9 += ints.tmp65 * 2
+    tmp9 += ints.tmp85
+    tmp9 += ints.tmp92 * 2
+    tmp9 += f.bb.ov * -1
+    tmp9 += ints.tmp100 * -1
+    tmp9 += ints.tmp103 * -2
+    tmp9 += ints.tmp10 * -1
+    tmp9 += ints.tmp13 * -2
+    tmp9 += ints.tmp157 * -1
+    tmp9 += ints.tmp174 * -1
+    tmp9 += ints.tmp178 * -1
+    tmp9 += ints.tmp194 * -1
+    tmp9 += ints.tmp33 * -1
+    tmp9 += ints.tmp35 * -1
+    tmp9 += ints.tmp67 * -1
+    tmp9 += ints.tmp7 * -1
+    tmp9 += ints.tmp88 * -1
+    tmp9 += ints.tmp96 * -2
+    tmp10 = einsum(tmp6, (0, 1, 2), t1.aa, (3, 2), (3, 0, 1))
+    tmp5 = np.copy(ints.tmp141)
+    tmp5 += ints.tmp147 * 2
+    tmp5 += ints.tmp186
+    tmp5 += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    tmp5 += ints.tmp144 * -1
+    tmp0 = np.copy(ints.tmp125)
+    tmp0 += np.transpose(ints.tmp45, (0, 2, 1, 3))
+    tmp0 += ints.tmp61
+    tmp0 += np.transpose(ints.tmp73, (0, 2, 1, 3))
+    tmp0 += np.transpose(ints.tmp79, (0, 2, 1, 3)) * 2
+    tmp0 += np.transpose(v.aabb.vvov, (2, 0, 1, 3))
+    tmp0 += np.transpose(ints.tmp76, (0, 2, 1, 3)) * -1
+    tmp0 += ints.tmp81 * -1
+    tmp11 = np.copy(ints.tmp120)
+    tmp11 += np.transpose(v.aabb.ovoo, (0, 2, 3, 1))
+    tmp7 = np.copy(np.transpose(ints.tmp185, (0, 1, 3, 2)))
+    tmp7 += np.transpose(v.aabb.vvoo, (2, 3, 0, 1))
+    tmp7 += ints.tmp149 * -1
+    tmp8 = np.copy(ints.tmp112)
+    tmp8 += ints.tmp118 * 0.5
+    tmp8 += ints.tmp128
+    tmp8 += ints.tmp137 * 0.5
+    tmp8 += ints.tmp154 * 0.5
+    tmp8 += ints.tmp161 * 0.5
+    tmp8 += ints.tmp171 * 0.5
+    tmp8 += ints.tmp191 * 0.5
+    tmp8 += ints.tmp198 * 0.5
+    tmp8 += ints.tmp20 * 0.5
+    tmp8 += ints.tmp2 * 0.5
+    tmp8 += ints.tmp31 * 0.5
+    tmp8 += ints.tmp51
+    tmp8 += ints.tmp57 * 0.5
+    tmp8 += ints.tmp63
+    tmp8 += ints.tmp83
+    tmp8 += ints.tmp90 * 0.5
+    tmp8 += f.aa.ov * -0.5
+    tmp8 += ints.tmp101 * -0.5
+    tmp8 += ints.tmp11 * -0.5
+    tmp8 += ints.tmp151 * -0.5
+    tmp8 += ints.tmp169 * -0.5
+    tmp8 += ints.tmp179 * -0.5
+    tmp8 += ints.tmp188 * -0.5
+    tmp8 += ints.tmp29 * -0.5
+    tmp8 += ints.tmp36 * -0.5
+    tmp8 += ints.tmp5 * -0.5
+    tmp8 += ints.tmp69 * -0.5
+    tmp8 += ints.tmp86 * -1
+    tmp8 += ints.tmp8 * -1
+    tmp8 += ints.tmp94 * -0.5
+    tmp8 += ints.tmp98 * -1
+    tmp14 = np.copy(np.transpose(ints.tmp27, (1, 0)))
+    tmp14 += ints.tmp47 * 2
+    tmp14 += ints.tmp49
+    tmp14 += f.aa.vv * -1
+    tmp14 += np.transpose(ints.tmp26, (1, 0)) * -1
+    tmp14 += np.transpose(ints.tmp28, (1, 0)) * -1
+    tmp3 = np.copy(ints.tmp139) * 2
+    tmp3 += ints.tmp145
+    tmp3 += np.transpose(ints.tmp183, (0, 1, 3, 2))
+    tmp3 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp3 += ints.tmp142 * -2
+    tmp3 += np.transpose(ints.tmp181, (0, 1, 3, 2)) * -1
+    tmp3 += v.aaaa.oovv * -1
+    tmp13 = np.copy(ints.tmp111)
+    tmp13 += v.aaaa.ooov * -1
+    tmp1 = np.copy(ints.tmp59) * 0.5
+    tmp1 += np.transpose(ints.tmp71, (0, 1, 3, 2))
+    tmp1 += np.transpose(ints.tmp77, (0, 1, 3, 2)) * 0.5
+    tmp1 += v.aaaa.ovvv * 0.5
+    tmp1 += ints.tmp123 * -0.5
+    tmp1 += np.transpose(ints.tmp43, (0, 2, 3, 1)) * -0.5
+    tmp1 += np.transpose(ints.tmp74, (0, 1, 3, 2)) * -1
+    tmp12 = einsum(t1.aa, (0, 1), tmp2, (2, 3, 1), (2, 3, 0)) * -1
+    r2new.bbb = einsum(v.bbbb.vvvv, (0, 1, 2, 3), r2.bbb, (1, 3, 4), (0, 2, 4)) * 2
+    r2new.bbb += np.transpose(tmp112, (1, 2, 0)) * -1
+    r2new.bbb += np.transpose(tmp112, (2, 1, 0))
+    del tmp112
+    r2new.bbb += np.transpose(tmp123, (1, 2, 0))
+    r2new.bbb += np.transpose(tmp123, (2, 1, 0)) * -1
+    del tmp123
+    r2new.bbb += einsum(v.bbbb.ovov, (0, 1, 2, 3), tmp125, (4, 0, 2), (3, 1, 4)) * -2
+    del tmp125
+    r2new.bbb += einsum(tmp91, (0, 1), r2.bbb, (2, 3, 0), (2, 3, 1)) * -2
+    r2new.bbb += einsum(r1.b, (0,), tmp38, (1, 2), (0, 2, 1))
+    r2new.bbb += einsum(tmp38, (0, 1), r1.b, (2,), (1, 2, 0)) * -1
+    r2new.bab = einsum(tmp4, (0, 1, 2), v.aabb.ovvv, (0, 3, 4, 2), (4, 3, 1))
+    r2new.bab += einsum(v.aabb.vvov, (0, 1, 2, 3), tmp6, (4, 2, 1), (3, 0, 4))
+    r2new.bab += einsum(v.aabb.vvvv, (0, 1, 2, 3), r2.bab, (3, 1, 4), (2, 0, 4))
+    r2new.bab += einsum(v.aabb.vvov, (0, 1, 2, 3), r1.a, (1,), (3, 0, 2)) * -1
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp84, (2, 3, 0, 4), (4, 1, 3))
+    del tmp84
+    r2new.bab += einsum(r2.aaa, (0, 1, 2), tmp85, (2, 3, 1, 4), (4, 0, 3)) * -2
+    del tmp85
+    r2new.bab += einsum(tmp86, (0, 1, 2, 3), r2.bab, (4, 2, 0), (4, 3, 1))
+    del tmp86
+    r2new.bab += einsum(tmp88, (0, 1, 2), v.aabb.ovov, (0, 3, 2, 4), (4, 3, 1)) * -1
+    del tmp88
+    r2new.bab += einsum(tmp89, (0, 1), r2.bab, (0, 2, 3), (1, 2, 3)) * -1
+    del tmp89
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp90, (1, 3), (0, 3, 2)) * -1
+    del tmp90
+    r2new.bab += einsum(tmp91, (0, 1), r2.bab, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp91
+    r2new.bab += einsum(tmp18, (0,), v.aabb.ovov, (0, 1, 2, 3), (3, 1, 2))
+    r2new.bab += einsum(r1.a, (0,), tmp38, (1, 2), (2, 0, 1)) * -1
+    r2new.aba = einsum(v.aabb.vvov, (0, 1, 2, 3), tmp24, (4, 2, 1), (0, 3, 4)) * -1
+    r2new.aba += einsum(r2.aba, (0, 1, 2), v.aabb.vvvv, (3, 0, 4, 1), (3, 4, 2))
+    r2new.aba += einsum(v.aabb.ovvv, (0, 1, 2, 3), r1.b, (3,), (1, 2, 0)) * -1
+    r2new.aba += einsum(tmp26, (0, 1, 2), v.aabb.ovvv, (1, 3, 4, 2), (3, 4, 0)) * -1
+    r2new.aba += einsum(tmp73, (0, 1, 2, 3), r2.aba, (2, 4, 0), (3, 4, 1))
+    del tmp73
+    r2new.aba += einsum(tmp75, (0, 1, 2, 3), r2.bbb, (4, 3, 1), (2, 4, 0)) * -2
+    del tmp75
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp76, (2, 3, 1, 4), (0, 4, 3))
+    del tmp76
+    r2new.aba += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp78, (4, 0, 2), (1, 3, 4))
+    del tmp78
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp80, (0, 3), (3, 1, 2)) * -1
+    del tmp80
+    r2new.aba += einsum(tmp82, (0, 1), r2.aba, (2, 0, 3), (2, 1, 3)) * -1
+    del tmp82
+    r2new.aba += einsum(tmp71, (0, 1), r2.aba, (2, 3, 0), (2, 3, 1)) * -1
+    r2new.aba += einsum(v.aabb.ovov, (0, 1, 2, 3), tmp37, (2,), (1, 3, 0))
+    r2new.aba += einsum(r1.b, (0,), tmp19, (1, 2), (2, 0, 1)) * -1
+    r2new.aaa = einsum(r2.aaa, (0, 1, 2), v.aaaa.vvvv, (3, 1, 4, 0), (3, 4, 2)) * -2
+    r2new.aaa += np.transpose(tmp56, (1, 2, 0)) * -1
+    r2new.aaa += np.transpose(tmp56, (2, 1, 0))
+    del tmp56
+    r2new.aaa += np.transpose(tmp68, (1, 2, 0))
+    r2new.aaa += np.transpose(tmp68, (2, 1, 0)) * -1
+    del tmp68
+    r2new.aaa += einsum(v.aaaa.ovov, (0, 1, 2, 3), tmp70, (4, 0, 2), (3, 1, 4)) * -2
+    del tmp70
+    r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp71, (2, 3), (0, 1, 3)) * -2
+    del tmp71
+    r2new.aaa += einsum(r1.a, (0,), tmp19, (1, 2), (0, 2, 1))
+    r2new.aaa += einsum(r1.a, (0,), tmp19, (1, 2), (2, 0, 1)) * -1
+    r1new.b = einsum(r2.aba, (0, 1, 2), tmp20, (2, 0, 3, 1), (3,)) * -1
+    del tmp20
+    r1new.b += einsum(tmp21, (0, 1, 2, 3), r2.bbb, (2, 3, 0), (1,)) * -4
+    del tmp21
+    r1new.b += einsum(tmp22, (0, 1, 2), tmp23, (0, 1, 2, 3), (3,)) * 2
+    del tmp22, tmp23
+    r1new.b += einsum(tmp24, (0, 1, 2), tmp25, (0, 1, 2, 3), (3,))
+    del tmp24, tmp25
+    r1new.b += einsum(tmp27, (0, 1, 2, 3), tmp26, (0, 1, 2), (3,))
+    del tmp26, tmp27
+    r1new.b += einsum(r2.bbb, (0, 1, 2), tmp9, (2, 1), (0,)) * -2
+    r1new.b += einsum(tmp28, (0, 1), r2.aba, (1, 2, 0), (2,))
+    del tmp28
+    r1new.b += einsum(tmp30, (0, 1, 2, 3), tmp29, (0, 1, 2), (3,)) * -1
+    del tmp30, tmp29
+    r1new.b += einsum(tmp31, (0, 1, 2), tmp32, (0, 2, 1, 3), (3,)) * -2
+    del tmp31, tmp32
+    r1new.b += einsum(r1.b, (0,), tmp33, (0, 1), (1,)) * -1
+    del tmp33
+    r1new.b += einsum(tmp38, (0, 1), tmp37, (0,), (1,)) * -1
+    del tmp38, tmp37
+    r1new.a = einsum(r2.bab, (0, 1, 2), tmp0, (2, 1, 3, 0), (3,)) * -1
+    del tmp0
+    r1new.a += einsum(tmp1, (0, 1, 2, 3), r2.aaa, (2, 1, 0), (3,)) * 4
+    del tmp1
+    r1new.a += einsum(tmp3, (0, 1, 2, 3), tmp2, (0, 1, 2), (3,)) * 2
+    del tmp2, tmp3
+    r1new.a += einsum(tmp5, (0, 1, 2, 3), tmp4, (0, 1, 3), (2,)) * -1
+    del tmp4, tmp5
+    r1new.a += einsum(tmp7, (0, 1, 2, 3), tmp6, (0, 1, 2), (3,)) * -1
+    del tmp6, tmp7
+    r1new.a += einsum(tmp8, (0, 1), r2.aaa, (2, 1, 0), (2,)) * -4
+    del tmp8
+    r1new.a += einsum(r2.bab, (0, 1, 2), tmp9, (2, 0), (1,))
+    del tmp9
+    r1new.a += einsum(tmp11, (0, 1, 2, 3), tmp10, (0, 1, 2), (3,))
+    del tmp11, tmp10
+    r1new.a += einsum(tmp12, (0, 1, 2), tmp13, (0, 2, 1, 3), (3,)) * -2
+    del tmp12, tmp13
+    r1new.a += einsum(r1.a, (0,), tmp14, (0, 1), (1,)) * -1
+    del tmp14
+    r1new.a += einsum(tmp18, (0,), tmp19, (0, 1), (1,)) * -1
+    del tmp19, tmp18
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/UCCSDT/index.html b/reference/codegen/UCCSDT/index.html new file mode 100644 index 00000000..c1749c47 --- /dev/null +++ b/reference/codegen/UCCSDT/index.html @@ -0,0 +1,222 @@ + + + + + + + + UCCSDT - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/UCCSD_SD_1_1/index.html b/reference/codegen/UCCSD_SD_1_1/index.html new file mode 100644 index 00000000..cb3e4559 --- /dev/null +++ b/reference/codegen/UCCSD_SD_1_1/index.html @@ -0,0 +1,222 @@ + + + + + + + + UCCSD SD 1 1 - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/UCCSD_SD_1_2/index.html b/reference/codegen/UCCSD_SD_1_2/index.html new file mode 100644 index 00000000..7cfad3e8 --- /dev/null +++ b/reference/codegen/UCCSD_SD_1_2/index.html @@ -0,0 +1,222 @@ + + + + + + + + UCCSD SD 1 2 - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/UCCSD_S_1_1/index.html b/reference/codegen/UCCSD_S_1_1/index.html new file mode 100644 index 00000000..2423e26a --- /dev/null +++ b/reference/codegen/UCCSD_S_1_1/index.html @@ -0,0 +1,222 @@ + + + + + + + + UCCSD S 1 1 - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/UCCSDwtwp/index.html b/reference/codegen/UCCSDwtwp/index.html new file mode 100644 index 00000000..a0e5cbb6 --- /dev/null +++ b/reference/codegen/UCCSDwtwp/index.html @@ -0,0 +1,222 @@ + + + + + + + + UCCSDwtwp - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/UCCSDxTx/index.html b/reference/codegen/UCCSDxTx/index.html new file mode 100644 index 00000000..b6871353 --- /dev/null +++ b/reference/codegen/UCCSDxTx/index.html @@ -0,0 +1,222 @@ + + + + + + + + UCCSDxTx - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/UDCD/index.html b/reference/codegen/UDCD/index.html new file mode 100644 index 00000000..de9bb6fe --- /dev/null +++ b/reference/codegen/UDCD/index.html @@ -0,0 +1,811 @@ + + + + + + + + UDCD - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-09T22:08:33.610088
  • +
  • python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0]
  • +
  • albert version: 0.0.0
  • +
  • caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py
  • +
  • node: fv-az1487-369
  • +
  • system: Linux
  • +
  • processor: x86_64
  • +
  • release: 6.5.0-1025-azure
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.UDCD.energy(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T22:08:34.143354.

+

Parameters

+

t2 : Namespace of arrays + T2 amplitudes. +v : Namespace of arrays + Electron repulsion integrals.

+

Returns

+

e_cc : float + Coupled cluster energy.

+ +
+ Source code in ebcc/codegen/UDCD.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
def energy(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T22:08:34.143354.
+
+    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, 3, 1), ()) * -1
+    e_cc += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 3), ())
+    e_cc += einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 1, 3), ())
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDCD.update_amps(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T22:08:47.247920.

+

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.

+ +
+ Source code in ebcc/codegen/UDCD.py +
 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
def update_amps(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T22:08:47.247920.
+
+    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()
+    tmp22 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 3, 1), (4, 0)) * -1
+    tmp21 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2))
+    tmp26 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4))
+    tmp27 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 1), (4, 3)) * -1
+    tmp32 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp34 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.abab, (2, 4, 3, 5), (0, 4, 1, 5))
+    tmp1 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0))
+    tmp0 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 1, 3), (4, 0))
+    tmp15 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp12 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    tmp35 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp37 = np.copy(f.bb.oo)
+    tmp37 += tmp21 * 0.5
+    tmp37 += tmp22
+    tmp41 = np.copy(f.bb.vv) * -1
+    tmp41 += tmp26 * 0.5
+    tmp41 += tmp27
+    tmp46 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3)))
+    tmp46 += tmp32
+    tmp44 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) * 2
+    tmp44 += tmp34
+    tmp48 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3)))
+    tmp48 += tmp34 * 0.5
+    tmp7 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4))
+    tmp6 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1
+    tmp10 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 5, 1))
+    tmp2 = np.copy(f.aa.oo)
+    tmp2 += tmp0
+    tmp2 += tmp1 * 0.5
+    tmp18 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3)))
+    tmp18 += tmp15 * 0.5
+    tmp13 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3)))
+    tmp13 += tmp12
+    tmp16 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3))) * 2
+    tmp16 += tmp15
+    tmp43 = einsum(tmp35, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3))
+    t2new.bbbb = np.copy(np.transpose(tmp43, (1, 0, 2, 3))) * -1
+    t2new.bbbb += np.transpose(tmp43, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp43, (1, 0, 3, 2))
+    t2new.bbbb += tmp43
+    t2new.bbbb += np.transpose(tmp43, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp43, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp43, (1, 0, 3, 2))
+    t2new.bbbb += tmp43
+    del tmp43
+    tmp38 = einsum(tmp37, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4)) * -1
+    del tmp37
+    t2new.bbbb += np.transpose(tmp38, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp38, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp38, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp38, (1, 0, 3, 2)) * -1
+    del tmp38
+    tmp40 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.oovv, (4, 1, 5, 3), (0, 4, 2, 5))
+    t2new.bbbb += np.transpose(tmp40, (0, 1, 3, 2)) * 2
+    t2new.bbbb += tmp40 * -2
+    t2new.bbbb += np.transpose(tmp40, (1, 0, 2, 3)) * 2
+    t2new.bbbb += np.transpose(tmp40, (1, 0, 3, 2)) * -2
+    del tmp40
+    tmp42 = einsum(tmp41, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) * -2
+    del tmp41
+    t2new.bbbb += np.transpose(tmp42, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp42, (1, 0, 2, 3))
+    del tmp42
+    tmp47 = einsum(t2.bbbb, (0, 1, 2, 3), tmp46, (4, 1, 5, 3), (4, 0, 5, 2)) * 2
+    del tmp46
+    t2new.bbbb += np.transpose(tmp47, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp47, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp47, (0, 1, 3, 2)) * -1
+    t2new.bbbb += tmp47
+    del tmp47
+    tmp39 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.oooo, (4, 1, 5, 0), (4, 5, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp39, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp39, (1, 0, 3, 2))
+    del tmp39
+    tmp45 = einsum(tmp44, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5)) * 0.5
+    del tmp44
+    t2new.bbbb += np.transpose(tmp45, (1, 0, 2, 3)) * -1
+    t2new.bbbb += tmp45
+    del tmp45
+    tmp50 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -1
+    t2new.bbbb += np.transpose(tmp50, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp50, (1, 0, 3, 2))
+    del tmp50
+    tmp49 = einsum(tmp48, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5))
+    del tmp48
+    t2new.bbbb += np.transpose(tmp49, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp49, (0, 1, 3, 2)) * -1
+    del tmp49
+    tmp25 = np.copy(f.aa.vv) * -1
+    tmp25 += np.transpose(tmp6, (1, 0))
+    tmp25 += np.transpose(tmp7, (1, 0)) * 0.5
+    t2new.abab = einsum(t2.abab, (0, 1, 2, 3), tmp25, (2, 4), (0, 1, 4, 3)) * -1
+    del tmp25
+    tmp24 = np.copy(f.aa.oo)
+    tmp24 += np.transpose(tmp0, (1, 0))
+    del tmp0
+    tmp24 += np.transpose(tmp1, (1, 0)) * 0.5
+    del tmp1
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp24, (0, 4), (4, 1, 2, 3)) * -1
+    del tmp24
+    tmp36 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3)))
+    tmp36 += tmp34 * 0.5
+    del tmp34
+    tmp36 += tmp35
+    del tmp35
+    t2new.abab += einsum(t2.aaaa, (0, 1, 2, 3), tmp36, (1, 4, 3, 5), (0, 4, 2, 5)) * 2
+    del tmp36
+    tmp23 = np.copy(f.bb.oo)
+    tmp23 += np.transpose(tmp21, (1, 0)) * 0.5
+    del tmp21
+    tmp23 += np.transpose(tmp22, (1, 0))
+    del tmp22
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp23, (1, 4), (0, 4, 2, 3)) * -1
+    del tmp23
+    tmp28 = np.copy(f.bb.vv) * -1
+    tmp28 += np.transpose(tmp26, (1, 0)) * 0.5
+    del tmp26
+    tmp28 += np.transpose(tmp27, (1, 0))
+    del tmp27
+    t2new.abab += einsum(tmp28, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1
+    del tmp28
+    tmp31 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvvv, (4, 2, 5, 3), (0, 1, 4, 5))
+    t2new.abab += tmp31 * 0.5
+    t2new.abab += tmp31 * 0.5
+    del tmp31
+    tmp30 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3)))
+    tmp30 += np.transpose(tmp12, (1, 0, 3, 2))
+    del tmp12
+    tmp30 += np.transpose(tmp10, (1, 0, 3, 2)) * 0.5
+    t2new.abab += einsum(tmp30, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5))
+    del tmp30
+    tmp33 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3))) * 2
+    tmp33 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (2, 4, 3, 5))
+    tmp33 += np.transpose(tmp32, (1, 0, 3, 2)) * 2
+    del tmp32
+    t2new.abab += einsum(tmp33, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3)) * 0.5
+    del tmp33
+    tmp29 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3)))
+    tmp29 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 1), (4, 2, 5, 3))
+    tmp29 += tmp15 * 0.5
+    del tmp15
+    t2new.abab += einsum(tmp29, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 4, 2, 5)) * 2
+    del tmp29
+    tmp4 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t2.aaaa, (3, 1, 4, 5), (0, 2, 4, 5)) * -1
+    t2new.aaaa = np.copy(np.transpose(tmp4, (1, 0, 3, 2)))
+    t2new.aaaa += np.transpose(tmp4, (1, 0, 3, 2))
+    del tmp4
+    tmp11 = einsum(t2.aaaa, (0, 1, 2, 3), tmp10, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp10
+    t2new.aaaa += np.transpose(tmp11, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp11, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp11, (1, 0, 3, 2))
+    t2new.aaaa += tmp11
+    t2new.aaaa += np.transpose(tmp11, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp11, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp11, (1, 0, 3, 2))
+    t2new.aaaa += tmp11
+    del tmp11
+    tmp3 = einsum(tmp2, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) * -1
+    del tmp2
+    t2new.aaaa += np.transpose(tmp3, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp3, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp3, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp3, (0, 1, 3, 2)) * -1
+    del tmp3
+    tmp20 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -1
+    t2new.aaaa += np.transpose(tmp20, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp20, (1, 0, 3, 2))
+    del tmp20
+    tmp5 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.oovv, (4, 1, 5, 3), (0, 4, 2, 5))
+    t2new.aaaa += np.transpose(tmp5, (0, 1, 3, 2)) * 2
+    t2new.aaaa += tmp5 * -2
+    t2new.aaaa += np.transpose(tmp5, (1, 0, 2, 3)) * 2
+    t2new.aaaa += np.transpose(tmp5, (1, 0, 3, 2)) * -2
+    del tmp5
+    tmp19 = einsum(t2.abab, (0, 1, 2, 3), tmp18, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp18
+    t2new.aaaa += tmp19
+    t2new.aaaa += np.transpose(tmp19, (1, 0, 2, 3)) * -1
+    del tmp19
+    tmp14 = einsum(tmp13, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2)) * 2
+    del tmp13
+    t2new.aaaa += np.transpose(tmp14, (0, 1, 3, 2)) * -1
+    t2new.aaaa += tmp14
+    t2new.aaaa += np.transpose(tmp14, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp14, (1, 0, 3, 2))
+    del tmp14
+    tmp9 = np.copy(f.aa.vv) * -2
+    tmp9 += tmp6 * 2
+    tmp9 += tmp7
+    t2new.aaaa += einsum(tmp9, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 4, 0)) * -1
+    del tmp9
+    tmp8 = np.copy(f.aa.vv) * -1
+    tmp8 += tmp6
+    del tmp6
+    tmp8 += tmp7 * 0.5
+    del tmp7
+    t2new.aaaa += einsum(tmp8, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) * 2
+    del tmp8
+    tmp17 = einsum(t2.abab, (0, 1, 2, 3), tmp16, (4, 1, 5, 3), (0, 4, 2, 5)) * 0.5
+    del tmp16
+    t2new.aaaa += np.transpose(tmp17, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp17, (1, 0, 3, 2))
+    del tmp17
+    t2new.aaaa += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    t2new.aaaa += np.transpose(v.aaaa.ovov, (0, 2, 3, 1)) * -1
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 1), (4, 5, 2, 3))
+    t2new.abab += einsum(v.aaaa.oovv, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 4, 2, 5)) * -1
+    t2new.abab += einsum(v.aabb.oovv, (0, 1, 2, 3), t2.abab, (1, 4, 5, 3), (0, 4, 5, 2)) * -1
+    t2new.abab += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    t2new.abab += einsum(v.bbbb.oovv, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2)) * -1
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvoo, (4, 2, 5, 1), (0, 5, 4, 3)) * -1
+    t2new.bbbb += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    t2new.bbbb += np.transpose(v.bbbb.ovov, (0, 2, 3, 1)) * -1
+
+    return {f"t2new": t2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/UDCSD/index.html b/reference/codegen/UDCSD/index.html new file mode 100644 index 00000000..5c0d9cf4 --- /dev/null +++ b/reference/codegen/UDCSD/index.html @@ -0,0 +1,1883 @@ + + + + + + + + UDCSD - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-09T22:09:36.737630
  • +
  • python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0]
  • +
  • albert version: 0.0.0
  • +
  • caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py
  • +
  • node: fv-az1487-369
  • +
  • system: Linux
  • +
  • processor: x86_64
  • +
  • release: 6.5.0-1025-azure
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.UDCSD.energy(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T22:09:38.011127.

+

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.

+ +
+ Source code in ebcc/codegen/UDCSD.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
def energy(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T22:09:38.011127.
+
+    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 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1)))
+    tmp0 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1
+    tmp2 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) * -1
+    tmp2 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp1 = np.copy(f.bb.ov) * 2
+    tmp1 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3)) * 2
+    tmp1 += einsum(t1.bb, (0, 1), tmp0, (0, 2, 1, 3), (2, 3)) * -1
+    del tmp0
+    e_cc = einsum(tmp1, (0, 1), t1.bb, (0, 1), ()) * 0.5
+    del tmp1
+    tmp3 = np.copy(f.aa.ov) * 2
+    tmp3 += einsum(t1.aa, (0, 1), tmp2, (0, 2, 3, 1), (2, 3)) * -1
+    del tmp2
+    e_cc += einsum(t1.aa, (0, 1), tmp3, (0, 1), ()) * 0.5
+    del tmp3
+    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
+    e_cc += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 3), ())
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDCSD.update_amps(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T22:10:33.687348.

+

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.

+ +
+ Source code in ebcc/codegen/UDCSD.py +
 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
def update_amps(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T22:10:33.687348.
+
+    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()
+    tmp14 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1)))
+    tmp14 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1
+    tmp7 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) * -1
+    tmp7 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp21 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 2, 1))
+    t1new.bb = einsum(tmp21, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 3), (0, 4)) * 2
+    tmp15 = einsum(t1.bb, (0, 1), tmp14, (0, 2, 1, 3), (2, 3))
+    del tmp14
+    tmp13 = einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 1, 2, 3), (2, 3))
+    t1new.bb += tmp13
+    tmp154 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1)))
+    tmp154 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1
+    tmp0 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    t1new.aa = np.copy(tmp0)
+    tmp8 = einsum(t1.aa, (0, 1), tmp7, (0, 2, 3, 1), (2, 3))
+    del tmp7
+    tmp54 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) * -1
+    tmp54 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp1 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 2, 1))
+    t1new.aa += einsum(tmp1, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 3), (0, 4)) * 2
+    tmp22 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 2, 1))
+    t1new.bb += einsum(tmp22, (0, 1, 2, 3), t2.abab, (0, 2, 3, 4), (1, 4)) * -1
+    tmp165 = np.copy(v.bbbb.ovvv) * -1
+    tmp165 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3))
+    tmp167 = np.copy(tmp21) * -1
+    tmp167 += np.transpose(tmp21, (0, 2, 1, 3))
+    tmp30 = np.copy(v.bbbb.ooov)
+    tmp30 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1)) * -1
+    tmp174 = np.copy(v.bbbb.ooov) * -1
+    tmp174 += np.transpose(v.bbbb.ovoo, (0, 2, 3, 1))
+    tmp16 = np.copy(f.bb.ov)
+    tmp16 += tmp13
+    tmp16 += tmp15 * -1
+    del tmp15
+    t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp16, (1, 3), (0, 2)) * 2
+    t1new.aa += einsum(tmp16, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp105 = np.copy(v.bbbb.ovvv) * -1
+    tmp105 += np.transpose(v.bbbb.ovvv, (0, 2, 1, 3))
+    tmp155 = einsum(t1.bb, (0, 1), tmp154, (0, 2, 1, 3), (2, 3))
+    del tmp154
+    tmp18 = np.copy(v.aaaa.ooov) * -1
+    tmp18 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3))
+    tmp9 = np.copy(f.aa.ov)
+    tmp9 += tmp0
+    tmp9 += tmp8 * -1
+    del tmp8
+    t1new.bb += einsum(t2.abab, (0, 1, 2, 3), tmp9, (0, 2), (1, 3))
+    t1new.aa += einsum(tmp9, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3)) * 2
+    tmp43 = np.copy(v.aaaa.ovvv)
+    tmp43 += np.transpose(v.aaaa.ovvv, (0, 2, 3, 1)) * -1
+    tmp55 = einsum(t1.aa, (0, 1), tmp54, (0, 2, 3, 1), (2, 3))
+    del tmp54
+    tmp2 = einsum(t1.aa, (0, 1), v.aabb.ovov, (2, 1, 3, 4), (0, 2, 3, 4))
+    t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp2, (4, 0, 1, 3), (4, 2)) * -1
+    tmp78 = np.copy(v.aaaa.ooov) * -1
+    tmp78 += np.transpose(v.aaaa.ovoo, (0, 2, 3, 1))
+    tmp70 = np.copy(tmp1) * -1
+    tmp70 += np.transpose(tmp1, (0, 2, 1, 3))
+    tmp68 = np.copy(v.aaaa.ovvv) * -1
+    tmp68 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3))
+    tmp113 = einsum(tmp22, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4))
+    t2new.abab = np.copy(tmp113) * -1
+    tmp112 = einsum(t1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4))
+    t2new.abab += tmp112
+    tmp166 = einsum(tmp165, (0, 1, 2, 3), t1.bb, (4, 1), (4, 0, 2, 3))
+    del tmp165
+    tmp168 = einsum(t1.bb, (0, 1), tmp167, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp167
+    tmp150 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2))
+    tmp159 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2))
+    t2new.bbbb = np.copy(np.transpose(tmp159, (1, 0, 3, 2))) * -1
+    t2new.bbbb += np.transpose(tmp159, (0, 1, 3, 2))
+    t2new.bbbb += tmp159 * -1
+    t2new.bbbb += np.transpose(tmp159, (1, 0, 2, 3))
+    tmp25 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 3, 1), (4, 0)) * -1
+    tmp24 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4))
+    tmp29 = einsum(t1.aa, (0, 1), v.aabb.ovoo, (0, 1, 2, 3), (2, 3))
+    tmp31 = einsum(tmp30, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2))
+    del tmp30
+    tmp175 = einsum(tmp174, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3))
+    del tmp174
+    tmp127 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 5, 1))
+    t2new.bbbb += tmp127 * 2
+    t2new.bbbb += np.transpose(tmp127, (0, 1, 3, 2)) * -2
+    t2new.bbbb += np.transpose(tmp127, (1, 0, 2, 3)) * -2
+    t2new.bbbb += np.transpose(tmp127, (1, 0, 3, 2)) * 2
+    tmp180 = einsum(t1.bb, (0, 1), tmp21, (2, 3, 4, 1), (2, 0, 4, 3))
+    tmp107 = einsum(t1.bb, (0, 1), tmp16, (0, 2), (1, 2))
+    tmp104 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 1), (4, 3)) * -1
+    tmp103 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 4), (4, 3))
+    tmp102 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (0, 1, 2, 3), (2, 3))
+    tmp106 = einsum(tmp105, (0, 1, 2, 3), t1.bb, (0, 2), (1, 3))
+    tmp116 = einsum(t1.bb, (0, 1), v.aabb.ovoo, (2, 3, 4, 0), (2, 4, 3, 1))
+    t2new.abab += tmp116 * -1
+    tmp100 = einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3))
+    t2new.abab += tmp100
+    tmp156 = np.copy(f.bb.ov)
+    tmp156 += tmp13
+    del tmp13
+    tmp156 += tmp155 * -1
+    del tmp155
+    tmp17 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    tmp5 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4))
+    tmp6 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 1, 3), (0, 4))
+    tmp19 = einsum(tmp18, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1))
+    del tmp18
+    tmp45 = einsum(tmp9, (0, 1), t1.aa, (0, 2), (2, 1))
+    tmp40 = einsum(t1.bb, (0, 1), v.aabb.vvov, (2, 3, 0, 1), (2, 3))
+    tmp42 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 1, 3), (2, 4))
+    tmp41 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 3, 1, 4), (2, 4)) * -1
+    tmp44 = einsum(t1.aa, (0, 1), tmp43, (0, 1, 2, 3), (2, 3))
+    del tmp43
+    tmp56 = np.copy(f.aa.ov)
+    tmp56 += tmp0
+    del tmp0
+    tmp56 += tmp55 * -1
+    del tmp55
+    tmp64 = einsum(t1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (0, 3, 2, 4))
+    tmp65 = einsum(t1.aa, (0, 1), tmp2, (2, 0, 3, 4), (2, 3, 1, 4))
+    t2new.abab += tmp65 * -1
+    tmp48 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2))
+    tmp39 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 3), (4, 0, 5, 1))
+    t2new.aaaa = np.copy(tmp39) * 2
+    t2new.aaaa += np.transpose(tmp39, (0, 1, 3, 2)) * -2
+    t2new.aaaa += np.transpose(tmp39, (1, 0, 2, 3)) * -2
+    t2new.aaaa += np.transpose(tmp39, (1, 0, 3, 2)) * 2
+    tmp79 = einsum(t1.aa, (0, 1), tmp78, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp78
+    tmp71 = einsum(t1.aa, (0, 1), tmp70, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp70
+    tmp69 = einsum(t1.aa, (0, 1), tmp68, (2, 1, 3, 4), (0, 2, 3, 4))
+    del tmp68
+    tmp87 = einsum(t1.aa, (0, 1), tmp1, (2, 3, 4, 1), (2, 0, 4, 3))
+    tmp83 = einsum(t2.abab, (0, 1, 2, 3), v.bbbb.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    t2new.abab += tmp83
+    tmp82 = einsum(t1.aa, (0, 1), v.aabb.ooov, (2, 0, 3, 4), (2, 3, 1, 4))
+    t2new.abab += tmp82 * -1
+    tmp60 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    t2new.aaaa += np.transpose(tmp60, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp60, (0, 1, 3, 2))
+    t2new.aaaa += tmp60 * -1
+    t2new.aaaa += np.transpose(tmp60, (1, 0, 2, 3))
+    tmp138 = np.copy(tmp112)
+    tmp138 += tmp113 * -1
+    t2new.abab += einsum(t2.aaaa, (0, 1, 2, 3), tmp138, (1, 4, 3, 5), (0, 4, 2, 5)) * 2
+    tmp144 = einsum(t1.bb, (0, 1), v.bbbb.oooo, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp101 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2))
+    t2new.abab += tmp101 * 2
+    tmp169 = np.copy(np.transpose(tmp166, (0, 1, 3, 2))) * -1
+    del tmp166
+    tmp169 += tmp168 * -1
+    del tmp168
+    tmp152 = einsum(t1.bb, (0, 1), tmp150, (2, 3, 4, 0), (2, 4, 3, 1))
+    tmp148 = einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp184 = einsum(t1.bb, (0, 1), tmp159, (2, 3, 1, 4), (0, 2, 3, 4))
+    del tmp159
+    tmp98 = np.copy(f.bb.oo)
+    tmp98 += np.transpose(tmp29, (1, 0))
+    tmp98 += np.transpose(tmp24, (1, 0)) * 0.5
+    tmp98 += np.transpose(tmp25, (1, 0))
+    tmp98 += np.transpose(tmp31, (1, 0)) * -1
+    t2new.abab += einsum(tmp98, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1
+    tmp176 = np.copy(v.bbbb.oovv) * -1
+    tmp176 += tmp127
+    tmp176 += np.transpose(tmp175, (1, 0, 2, 3)) * -1
+    del tmp175
+    tmp186 = einsum(t1.bb, (0, 1), v.bbbb.vvvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp188 = np.copy(v.bbbb.ovvv)
+    tmp188 += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 4), (2, 4, 1, 3))
+    tmp163 = np.copy(tmp112) * -1
+    tmp163 += tmp113
+    del tmp113
+    tmp182 = einsum(t1.bb, (0, 1), tmp180, (2, 3, 0, 4), (3, 2, 4, 1))
+    tmp108 = np.copy(f.bb.vv) * -1
+    tmp108 += np.transpose(tmp102, (1, 0)) * -1
+    del tmp102
+    tmp108 += np.transpose(tmp103, (1, 0)) * 0.5
+    del tmp103
+    tmp108 += np.transpose(tmp104, (1, 0))
+    del tmp104
+    tmp108 += tmp106 * -1
+    del tmp106
+    tmp108 += np.transpose(tmp107, (1, 0))
+    del tmp107
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp108, (3, 4), (0, 1, 2, 4)) * -1
+    tmp178 = np.copy(tmp116) * 2
+    tmp178 += tmp100 * -1
+    tmp161 = np.copy(tmp21) * -1
+    tmp161 += np.transpose(tmp21, (0, 2, 1, 3))
+    tmp157 = einsum(tmp156, (0, 1), t1.bb, (2, 1), (2, 0))
+    del tmp156
+    tmp135 = np.copy(v.bbbb.ovvv)
+    tmp135 += np.transpose(v.bbbb.ovvv, (0, 2, 3, 1)) * -1
+    tmp136 = np.copy(tmp21)
+    tmp136 += np.transpose(tmp21, (0, 2, 1, 3)) * -1
+    tmp122 = np.copy(v.aaaa.ooov)
+    tmp122 += np.transpose(v.aaaa.ooov, (0, 2, 1, 3)) * -1
+    tmp38 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    t2new.aaaa += tmp38
+    t2new.aaaa += np.transpose(tmp38, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp38, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp38, (1, 0, 3, 2))
+    tmp131 = np.copy(np.transpose(v.aabb.vvov, (2, 0, 1, 3)))
+    tmp131 += einsum(t1.aa, (0, 1), v.aabb.ovov, (0, 2, 3, 4), (3, 1, 2, 4)) * -1
+    tmp124 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (0, 4, 2, 5))
+    t2new.abab += tmp124 * 2
+    tmp126 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (4, 2, 5, 3))
+    t2new.bbbb += tmp126
+    t2new.bbbb += np.transpose(tmp126, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp126, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp126, (1, 0, 3, 2))
+    tmp128 = np.copy(v.bbbb.ooov)
+    tmp128 += np.transpose(v.bbbb.ooov, (0, 2, 1, 3)) * -1
+    tmp114 = einsum(v.aabb.vvov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 2, 0, 1))
+    tmp133 = np.copy(v.aaaa.ovvv)
+    tmp133 += np.transpose(v.aaaa.ovvv, (0, 2, 3, 1)) * -1
+    tmp91 = einsum(t1.aa, (0, 1), v.aaaa.vvvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp36 = np.copy(f.aa.oo)
+    tmp36 += np.transpose(tmp17, (1, 0))
+    tmp36 += np.transpose(tmp5, (1, 0))
+    tmp36 += np.transpose(tmp6, (1, 0)) * 0.5
+    tmp36 += np.transpose(tmp19, (1, 0)) * -1
+    t2new.abab += einsum(tmp36, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1
+    tmp46 = np.copy(f.aa.vv) * -1
+    tmp46 += np.transpose(tmp40, (1, 0)) * -1
+    del tmp40
+    tmp46 += np.transpose(tmp41, (1, 0))
+    del tmp41
+    tmp46 += np.transpose(tmp42, (1, 0)) * 0.5
+    del tmp42
+    tmp46 += np.transpose(tmp44, (1, 0)) * -1
+    del tmp44
+    tmp46 += np.transpose(tmp45, (1, 0))
+    del tmp45
+    t2new.abab += einsum(tmp46, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1
+    tmp57 = einsum(t1.aa, (0, 1), tmp56, (2, 1), (0, 2))
+    del tmp56
+    t2new.abab += einsum(tmp57, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4)) * -1
+    tmp74 = np.copy(tmp64)
+    tmp74 += tmp65 * -1
+    t2new.abab += einsum(t2.bbbb, (0, 1, 2, 3), tmp74, (4, 1, 5, 3), (4, 0, 5, 2)) * 2
+    tmp50 = einsum(v.aaaa.oovv, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2))
+    tmp95 = np.copy(v.aaaa.ovvv)
+    tmp95 += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 4), (2, 4, 3, 1))
+    tmp52 = einsum(t1.aa, (0, 1), tmp48, (2, 3, 4, 0), (2, 4, 3, 1))
+    tmp66 = np.copy(tmp64) * -1
+    del tmp64
+    tmp66 += tmp65
+    del tmp65
+    tmp80 = np.copy(v.aaaa.oovv) * -1
+    tmp80 += tmp39
+    tmp80 += np.transpose(tmp79, (1, 0, 2, 3)) * -1
+    del tmp79
+    tmp72 = np.copy(np.transpose(tmp69, (0, 1, 3, 2))) * -1
+    del tmp69
+    tmp72 += tmp71 * -1
+    tmp34 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t1.aa, (3, 4), (0, 1, 2, 4))
+    tmp89 = einsum(t1.aa, (0, 1), tmp87, (2, 3, 0, 4), (3, 2, 4, 1))
+    tmp85 = np.copy(tmp82) * 2
+    tmp85 += tmp83 * -1
+    tmp61 = np.copy(v.aaaa.ovvv) * -1
+    tmp61 += np.transpose(v.aaaa.ovvv, (0, 2, 1, 3))
+    tmp62 = np.copy(tmp1) * -1
+    tmp62 += np.transpose(tmp1, (0, 2, 1, 3))
+    tmp93 = einsum(t1.aa, (0, 1), tmp60, (2, 3, 1, 4), (0, 2, 3, 4))
+    del tmp60
+    tmp26 = einsum(tmp16, (0, 1), t1.bb, (2, 1), (2, 0))
+    del tmp16
+    t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp26, (4, 1), (0, 4, 2, 3)) * -1
+    t2new.abab += einsum(tmp26, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4)) * -1
+    tmp10 = einsum(t1.aa, (0, 1), tmp9, (2, 1), (0, 2))
+    del tmp9
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp10, (4, 1), (0, 4, 2, 3)) * -1
+    tmp143 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.oooo, (4, 1, 5, 0), (4, 5, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp143, (1, 0, 3, 2)) * 0.5
+    t2new.bbbb += np.transpose(tmp143, (1, 0, 3, 2)) * 0.5
+    t2new.bbbb += np.transpose(tmp143, (1, 0, 3, 2)) * 0.5
+    t2new.bbbb += np.transpose(tmp143, (1, 0, 3, 2)) * 0.5
+    del tmp143
+    tmp171 = einsum(tmp138, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3))
+    del tmp138
+    t2new.bbbb += np.transpose(tmp171, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp171, (1, 0, 3, 2))
+    del tmp171
+    tmp160 = einsum(tmp21, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3))
+    del tmp21
+    t2new.bbbb += tmp160 * -1
+    t2new.bbbb += np.transpose(tmp160, (1, 0, 2, 3))
+    t2new.bbbb += np.transpose(tmp160, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp160, (1, 0, 3, 2)) * -1
+    del tmp160
+    tmp145 = einsum(t1.bb, (0, 1), tmp144, (2, 0, 3, 4), (3, 2, 4, 1))
+    del tmp144
+    t2new.bbbb += np.transpose(tmp145, (0, 1, 3, 2)) * -1
+    t2new.bbbb += tmp145
+    del tmp145
+    tmp172 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3))
+    t2new.bbbb += np.transpose(tmp172, (1, 0, 2, 3))
+    t2new.bbbb += tmp172 * -1
+    t2new.bbbb += np.transpose(tmp172, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp172, (0, 1, 3, 2))
+    del tmp172
+    tmp181 = einsum(t2.bbbb, (0, 1, 2, 3), tmp180, (4, 5, 1, 0), (5, 4, 2, 3))
+    del tmp180
+    t2new.bbbb += np.transpose(tmp181, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp181, (0, 1, 3, 2)) * -1
+    del tmp181
+    tmp173 = einsum(tmp101, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3))
+    t2new.bbbb += np.transpose(tmp173, (1, 0, 3, 2))
+    t2new.bbbb += tmp173
+    t2new.bbbb += np.transpose(tmp173, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp173, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp173, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp173, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp173, (1, 0, 3, 2))
+    t2new.bbbb += tmp173
+    del tmp173
+    tmp170 = einsum(tmp169, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp169
+    t2new.bbbb += np.transpose(tmp170, (1, 0, 2, 3)) * 2
+    t2new.bbbb += tmp170 * -2
+    t2new.bbbb += np.transpose(tmp170, (1, 0, 3, 2)) * -2
+    del tmp170
+    tmp153 = einsum(tmp152, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3))
+    del tmp152
+    t2new.bbbb += np.transpose(tmp153, (0, 1, 3, 2))
+    t2new.bbbb += tmp153 * -1
+    t2new.bbbb += np.transpose(tmp153, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp153, (1, 0, 2, 3))
+    del tmp153
+    tmp149 = einsum(t1.bb, (0, 1), tmp148, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp148
+    t2new.bbbb += tmp149
+    t2new.bbbb += np.transpose(tmp149, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp149, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp149, (1, 0, 3, 2))
+    del tmp149
+    tmp185 = einsum(tmp184, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3))
+    del tmp184
+    t2new.bbbb += np.transpose(tmp185, (1, 0, 2, 3))
+    t2new.bbbb += tmp185 * -1
+    t2new.bbbb += np.transpose(tmp185, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp185, (0, 1, 3, 2))
+    del tmp185
+    tmp146 = einsum(t2.bbbb, (0, 1, 2, 3), tmp98, (1, 4), (0, 4, 2, 3)) * -1
+    del tmp98
+    t2new.bbbb += np.transpose(tmp146, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp146, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp146, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp146, (0, 1, 3, 2)) * -1
+    del tmp146
+    tmp177 = einsum(tmp176, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 5, 2)) * 2
+    del tmp176
+    t2new.bbbb += tmp177
+    t2new.bbbb += np.transpose(tmp177, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp177, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp177, (1, 0, 3, 2))
+    del tmp177
+    tmp190 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2))
+    t2new.bbbb += einsum(tmp190, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3)) * -2
+    del tmp190
+    tmp187 = einsum(tmp186, (0, 1, 2, 3), t1.bb, (4, 2), (4, 0, 1, 3))
+    del tmp186
+    t2new.bbbb += np.transpose(tmp187, (0, 1, 3, 2)) * -1
+    t2new.bbbb += tmp187
+    del tmp187
+    tmp189 = np.copy(v.bbbb.vvvv)
+    tmp189 += einsum(tmp188, (0, 1, 2, 3), t1.bb, (0, 4), (3, 4, 2, 1))
+    del tmp188
+    t2new.bbbb += einsum(tmp189, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 3), (4, 5, 2, 1)) * -2
+    del tmp189
+    tmp164 = einsum(t2.abab, (0, 1, 2, 3), tmp163, (0, 4, 2, 5), (1, 4, 3, 5))
+    del tmp163
+    t2new.bbbb += tmp164 * -1
+    t2new.bbbb += np.transpose(tmp164, (0, 1, 3, 2))
+    del tmp164
+    tmp183 = einsum(tmp182, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3))
+    del tmp182
+    t2new.bbbb += np.transpose(tmp183, (0, 1, 3, 2)) * -1
+    t2new.bbbb += tmp183
+    del tmp183
+    tmp147 = einsum(t2.bbbb, (0, 1, 2, 3), tmp108, (3, 4), (0, 1, 2, 4)) * -2
+    del tmp108
+    t2new.bbbb += np.transpose(tmp147, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp147, (1, 0, 3, 2))
+    del tmp147
+    tmp179 = einsum(tmp178, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3)) * 0.5
+    del tmp178
+    t2new.bbbb += tmp179 * -1
+    t2new.bbbb += np.transpose(tmp179, (1, 0, 2, 3))
+    t2new.bbbb += np.transpose(tmp179, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp179, (1, 0, 3, 2)) * -1
+    del tmp179
+    tmp162 = einsum(tmp105, (0, 1, 2, 3), t1.bb, (4, 1), (4, 0, 3, 2)) * -1
+    del tmp105
+    tmp162 += einsum(tmp161, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3)) * -1
+    del tmp161
+    t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp162, (4, 1, 5, 3), (0, 4, 5, 2)) * 2
+    del tmp162
+    tmp158 = einsum(t2.bbbb, (0, 1, 2, 3), tmp157, (4, 1), (0, 4, 2, 3)) * -1
+    del tmp157
+    t2new.bbbb += np.transpose(tmp158, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp158, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp158, (0, 1, 3, 2)) * -1
+    del tmp158
+    tmp151 = einsum(tmp150, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (0, 1, 4, 5))
+    del tmp150
+    t2new.bbbb += np.transpose(tmp151, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp151, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp151, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp151, (1, 0, 3, 2)) * -1
+    del tmp151
+    tmp139 = einsum(t1.aa, (0, 1), v.aabb.ovvv, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp139 += einsum(t1.bb, (0, 1), tmp2, (2, 3, 0, 4), (2, 3, 4, 1)) * -1
+    del tmp2
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp139, (4, 0, 3, 5), (4, 1, 2, 5)) * -1
+    del tmp139
+    tmp137 = einsum(tmp135, (0, 1, 2, 3), t1.bb, (4, 1), (4, 0, 3, 2)) * -1
+    del tmp135
+    tmp137 += einsum(t1.bb, (0, 1), tmp136, (2, 0, 3, 4), (2, 3, 4, 1))
+    del tmp136
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp137, (4, 1, 3, 5), (0, 4, 2, 5))
+    del tmp137
+    tmp111 = einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3))
+    tmp123 = np.copy(v.aaaa.oovv) * -2
+    tmp123 += np.transpose(tmp39, (1, 0, 3, 2)) * 2
+    del tmp39
+    tmp123 += np.transpose(tmp38, (1, 0, 3, 2))
+    tmp123 += einsum(t1.aa, (0, 1), tmp122, (2, 3, 0, 4), (3, 2, 4, 1)) * 2
+    del tmp122
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp123, (0, 4, 2, 5), (4, 1, 5, 3)) * 0.5
+    del tmp123
+    tmp132 = np.copy(v.aabb.vvvv)
+    tmp132 += einsum(t1.bb, (0, 1), tmp131, (0, 2, 3, 4), (3, 2, 4, 1)) * -1
+    del tmp131
+    t2new.abab += einsum(tmp132, (0, 1, 2, 3), t2.abab, (4, 5, 0, 2), (4, 5, 1, 3))
+    del tmp132
+    tmp125 = np.copy(tmp82) * -2
+    tmp125 += tmp124 * 2
+    del tmp124
+    tmp125 += tmp83
+    t2new.abab += einsum(t2.bbbb, (0, 1, 2, 3), tmp125, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp125
+    tmp120 = np.copy(np.transpose(v.aabb.vvov, (2, 0, 1, 3)))
+    tmp120 += einsum(v.aabb.vvvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2))
+    t2new.abab += einsum(tmp120, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3))
+    del tmp120
+    tmp142 = einsum(t1.aa, (0, 1), tmp112, (2, 3, 1, 4), (0, 2, 3, 4))
+    del tmp112
+    t2new.abab += einsum(tmp142, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3)) * -1
+    del tmp142
+    tmp140 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (4, 2, 5, 3), (0, 4, 1, 5))
+    t2new.abab += einsum(t1.aa, (0, 1), tmp140, (2, 0, 3, 4), (2, 3, 1, 4)) * -1
+    del tmp140
+    tmp141 = einsum(t1.bb, (0, 1), v.aabb.oovv, (2, 3, 4, 1), (2, 3, 0, 4))
+    t2new.abab += einsum(tmp141, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3)) * -1
+    del tmp141
+    tmp110 = einsum(t1.aa, (0, 1), v.aabb.vvoo, (2, 1, 3, 4), (0, 3, 4, 2))
+    t2new.abab += einsum(tmp110, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4)) * -1
+    del tmp110
+    tmp3 = np.copy(t2.abab)
+    tmp3 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3))
+    t2new.abab += einsum(tmp3, (0, 1, 2, 3), tmp111, (4, 0, 1, 5), (4, 5, 2, 3))
+    del tmp111
+    t1new.bb += einsum(tmp3, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 3), (1, 4))
+    t1new.aa += einsum(tmp3, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 3), (0, 4))
+    tmp121 = einsum(tmp22, (0, 1, 2, 3), t1.aa, (4, 3), (4, 0, 1, 2))
+    t2new.abab += einsum(tmp121, (0, 1, 2, 3), tmp3, (1, 3, 4, 5), (0, 2, 4, 5))
+    del tmp121
+    tmp109 = einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2))
+    t2new.abab += einsum(tmp109, (0, 1, 2, 3), tmp3, (0, 3, 4, 5), (1, 2, 4, 5))
+    del tmp3, tmp109
+    tmp129 = np.copy(v.bbbb.oovv) * -1
+    tmp129 += np.transpose(tmp126, (1, 0, 3, 2)) * 0.5
+    del tmp126
+    tmp129 += np.transpose(tmp127, (1, 0, 3, 2))
+    del tmp127
+    tmp129 += einsum(t1.bb, (0, 1), tmp128, (2, 3, 0, 4), (3, 2, 4, 1))
+    del tmp128
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp129, (1, 4, 3, 5), (0, 4, 2, 5))
+    del tmp129
+    tmp99 = np.copy(t2.abab)
+    tmp99 += einsum(t1.aa, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) * 2
+    t2new.abab += einsum(tmp99, (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 1), (4, 5, 2, 3)) * 0.5
+    del tmp99
+    tmp130 = np.copy(tmp116) * -1
+    del tmp116
+    tmp130 += tmp100 * 0.5
+    del tmp100
+    tmp130 += tmp101
+    del tmp101
+    t2new.abab += einsum(tmp130, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3)) * 2
+    del tmp130
+    tmp115 = np.copy(np.transpose(tmp114, (0, 1, 3, 2)))
+    tmp115 += einsum(tmp22, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 3, 4)) * -1
+    del tmp22
+    t2new.abab += einsum(tmp115, (0, 1, 2, 3), t2.abab, (4, 1, 2, 5), (4, 0, 3, 5)) * -1
+    del tmp115
+    tmp117 = np.copy(np.transpose(v.aabb.vvoo, (2, 3, 0, 1)))
+    tmp117 += einsum(v.aabb.ovoo, (0, 1, 2, 3), t1.aa, (0, 4), (2, 3, 1, 4)) * -1
+    t2new.abab += einsum(tmp117, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5)) * -1
+    del tmp117
+    tmp118 = np.copy(v.aabb.oovv)
+    tmp118 += einsum(v.aabb.ooov, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4)) * -1
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp118, (0, 4, 3, 5), (4, 1, 2, 5)) * -1
+    del tmp118
+    tmp119 = einsum(t1.aa, (0, 1), tmp114, (2, 3, 4, 1), (0, 2, 3, 4))
+    del tmp114
+    t2new.abab += einsum(t1.bb, (0, 1), tmp119, (2, 3, 0, 4), (2, 3, 4, 1)) * -1
+    del tmp119
+    tmp134 = einsum(t1.aa, (0, 1), tmp133, (2, 1, 3, 4), (0, 2, 4, 3)) * -1
+    del tmp133
+    tmp134 += np.transpose(tmp71, (0, 1, 3, 2))
+    del tmp71
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp134, (4, 0, 2, 5), (4, 1, 5, 3))
+    del tmp134
+    tmp92 = einsum(t1.aa, (0, 1), tmp91, (2, 3, 1, 4), (0, 2, 3, 4))
+    del tmp91
+    t2new.aaaa += np.transpose(tmp92, (0, 1, 3, 2)) * -1
+    t2new.aaaa += tmp92
+    del tmp92
+    tmp37 = einsum(t2.aaaa, (0, 1, 2, 3), tmp36, (1, 4), (0, 4, 2, 3)) * -1
+    del tmp36
+    t2new.aaaa += np.transpose(tmp37, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp37, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp37, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp37, (0, 1, 3, 2)) * -1
+    del tmp37
+    tmp77 = einsum(t2.aaaa, (0, 1, 2, 3), tmp38, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp38
+    t2new.aaaa += np.transpose(tmp77, (1, 0, 3, 2))
+    t2new.aaaa += tmp77
+    t2new.aaaa += np.transpose(tmp77, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp77, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp77, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp77, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp77, (1, 0, 3, 2))
+    t2new.aaaa += tmp77
+    del tmp77
+    tmp47 = einsum(t2.aaaa, (0, 1, 2, 3), tmp46, (3, 4), (0, 1, 2, 4)) * -2
+    del tmp46
+    t2new.aaaa += np.transpose(tmp47, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp47, (1, 0, 3, 2))
+    del tmp47
+    tmp58 = einsum(t2.aaaa, (0, 1, 2, 3), tmp57, (4, 1), (0, 4, 2, 3)) * -1
+    del tmp57
+    t2new.aaaa += np.transpose(tmp58, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp58, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp58, (0, 1, 3, 2)) * -1
+    del tmp58
+    tmp75 = einsum(tmp74, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp74
+    t2new.aaaa += np.transpose(tmp75, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp75, (1, 0, 3, 2))
+    del tmp75
+    tmp76 = einsum(v.aaaa.ooov, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3))
+    t2new.aaaa += np.transpose(tmp76, (1, 0, 2, 3))
+    t2new.aaaa += tmp76 * -1
+    t2new.aaaa += np.transpose(tmp76, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp76, (0, 1, 3, 2))
+    del tmp76
+    tmp88 = einsum(t2.aaaa, (0, 1, 2, 3), tmp87, (4, 5, 1, 0), (5, 4, 2, 3))
+    del tmp87
+    t2new.aaaa += np.transpose(tmp88, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp88, (0, 1, 3, 2)) * -1
+    del tmp88
+    tmp51 = einsum(t1.aa, (0, 1), tmp50, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp50
+    t2new.aaaa += tmp51
+    t2new.aaaa += np.transpose(tmp51, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp51, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp51, (1, 0, 3, 2))
+    del tmp51
+    tmp96 = np.copy(v.aaaa.vvvv) * -1
+    tmp96 += einsum(tmp95, (0, 1, 2, 3), t1.aa, (0, 4), (1, 4, 3, 2))
+    del tmp95
+    t2new.aaaa += einsum(tmp96, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 3), (4, 5, 2, 1)) * 2
+    del tmp96
+    tmp53 = einsum(t1.aa, (0, 1), tmp52, (2, 0, 3, 4), (2, 3, 1, 4))
+    del tmp52
+    t2new.aaaa += np.transpose(tmp53, (0, 1, 3, 2))
+    t2new.aaaa += tmp53 * -1
+    t2new.aaaa += np.transpose(tmp53, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp53, (1, 0, 2, 3))
+    del tmp53
+    tmp67 = einsum(t2.abab, (0, 1, 2, 3), tmp66, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp66
+    t2new.aaaa += tmp67 * -1
+    t2new.aaaa += np.transpose(tmp67, (0, 1, 3, 2))
+    del tmp67
+    tmp49 = einsum(t2.aaaa, (0, 1, 2, 3), tmp48, (4, 5, 0, 1), (4, 5, 2, 3))
+    del tmp48
+    t2new.aaaa += np.transpose(tmp49, (0, 1, 3, 2))
+    t2new.aaaa += np.transpose(tmp49, (0, 1, 3, 2))
+    t2new.aaaa += np.transpose(tmp49, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp49, (1, 0, 3, 2)) * -1
+    del tmp49
+    tmp81 = einsum(t2.aaaa, (0, 1, 2, 3), tmp80, (4, 1, 5, 3), (0, 4, 2, 5)) * 2
+    del tmp80
+    t2new.aaaa += tmp81
+    t2new.aaaa += np.transpose(tmp81, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp81, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp81, (1, 0, 3, 2))
+    del tmp81
+    tmp73 = einsum(t2.aaaa, (0, 1, 2, 3), tmp72, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp72
+    t2new.aaaa += np.transpose(tmp73, (1, 0, 2, 3)) * 2
+    t2new.aaaa += tmp73 * -2
+    t2new.aaaa += np.transpose(tmp73, (1, 0, 3, 2)) * -2
+    del tmp73
+    tmp35 = einsum(tmp34, (0, 1, 2, 3), t1.aa, (1, 4), (2, 0, 3, 4))
+    del tmp34
+    t2new.aaaa += np.transpose(tmp35, (0, 1, 3, 2)) * -1
+    t2new.aaaa += tmp35
+    del tmp35
+    tmp33 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t2.aaaa, (3, 1, 4, 5), (0, 2, 4, 5)) * -1
+    t2new.aaaa += np.transpose(tmp33, (1, 0, 3, 2)) * 0.5
+    t2new.aaaa += np.transpose(tmp33, (1, 0, 3, 2)) * 0.5
+    t2new.aaaa += np.transpose(tmp33, (1, 0, 3, 2)) * 0.5
+    t2new.aaaa += np.transpose(tmp33, (1, 0, 3, 2)) * 0.5
+    del tmp33
+    tmp97 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), t2.aaaa, (4, 5, 3, 1), (4, 5, 0, 2)) * -1
+    t2new.aaaa += einsum(t1.aa, (0, 1), tmp97, (2, 3, 0, 4), (2, 3, 1, 4)) * -2
+    del tmp97
+    tmp84 = np.copy(tmp82)
+    del tmp82
+    tmp84 += tmp83 * -0.5
+    del tmp83
+    t2new.aaaa += einsum(tmp84, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5)) * -1
+    del tmp84
+    tmp90 = einsum(tmp89, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    del tmp89
+    t2new.aaaa += np.transpose(tmp90, (0, 1, 3, 2)) * -1
+    t2new.aaaa += tmp90
+    del tmp90
+    tmp86 = einsum(tmp85, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2)) * 0.5
+    del tmp85
+    t2new.aaaa += tmp86 * -1
+    t2new.aaaa += np.transpose(tmp86, (1, 0, 2, 3))
+    t2new.aaaa += np.transpose(tmp86, (0, 1, 3, 2))
+    del tmp86
+    tmp59 = einsum(tmp1, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    del tmp1
+    t2new.aaaa += tmp59 * -1
+    t2new.aaaa += np.transpose(tmp59, (1, 0, 2, 3))
+    t2new.aaaa += np.transpose(tmp59, (0, 1, 3, 2))
+    t2new.aaaa += np.transpose(tmp59, (1, 0, 3, 2)) * -1
+    del tmp59
+    tmp63 = einsum(t1.aa, (0, 1), tmp61, (2, 1, 3, 4), (0, 2, 4, 3)) * -1
+    del tmp61
+    tmp63 += einsum(t1.aa, (0, 1), tmp62, (2, 3, 0, 4), (2, 3, 1, 4)) * -1
+    del tmp62
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp63, (4, 1, 5, 3), (0, 4, 5, 2)) * 2
+    del tmp63
+    tmp94 = einsum(t1.aa, (0, 1), tmp93, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp93
+    t2new.aaaa += np.transpose(tmp94, (1, 0, 2, 3))
+    t2new.aaaa += tmp94 * -1
+    t2new.aaaa += np.transpose(tmp94, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp94, (0, 1, 3, 2))
+    del tmp94
+    tmp23 = np.copy(t2.bbbb) * 2
+    tmp23 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1))
+    t1new.bb += einsum(tmp23, (0, 1, 2, 3), v.bbbb.ovvv, (0, 2, 4, 3), (1, 4))
+    del tmp23
+    tmp27 = np.copy(np.transpose(tmp24, (1, 0)))
+    del tmp24
+    tmp27 += np.transpose(tmp25, (1, 0)) * 2
+    del tmp25
+    tmp27 += np.transpose(tmp26, (1, 0))
+    del tmp26
+    t1new.bb += einsum(t1.bb, (0, 1), tmp27, (0, 2), (2, 1)) * -1
+    del tmp27
+    tmp32 = np.copy(f.bb.oo)
+    tmp32 += np.transpose(tmp29, (1, 0))
+    del tmp29
+    tmp32 += np.transpose(tmp31, (1, 0)) * -1
+    del tmp31
+    t1new.bb += einsum(tmp32, (0, 1), t1.bb, (0, 2), (1, 2)) * -1
+    del tmp32
+    tmp28 = np.copy(f.bb.vv)
+    tmp28 += einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (0, 3), (1, 2)) * -1
+    t1new.bb += einsum(tmp28, (0, 1), t1.bb, (2, 0), (2, 1))
+    del tmp28
+    tmp12 = np.copy(f.aa.vv)
+    tmp12 += einsum(t1.aa, (0, 1), v.aaaa.ovvv, (0, 1, 2, 3), (2, 3))
+    t1new.aa += einsum(tmp12, (0, 1), t1.aa, (2, 0), (2, 1))
+    del tmp12
+    tmp20 = np.copy(f.aa.oo)
+    tmp20 += np.transpose(tmp17, (1, 0))
+    del tmp17
+    tmp20 += np.transpose(tmp19, (1, 0)) * -1
+    del tmp19
+    t1new.aa += einsum(t1.aa, (0, 1), tmp20, (0, 2), (2, 1)) * -1
+    del tmp20
+    tmp4 = np.copy(t2.aaaa) * 2
+    tmp4 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1))
+    t1new.aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), tmp4, (0, 4, 3, 1), (4, 2)) * -1
+    del tmp4
+    tmp11 = np.copy(np.transpose(tmp5, (1, 0))) * 2
+    del tmp5
+    tmp11 += np.transpose(tmp6, (1, 0))
+    del tmp6
+    tmp11 += np.transpose(tmp10, (1, 0))
+    del tmp10
+    t1new.aa += einsum(tmp11, (0, 1), t1.aa, (0, 2), (1, 2)) * -1
+    del tmp11
+    t1new.aa += einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 0, 1), (2, 3))
+    t1new.aa += f.aa.ov
+    t1new.aa += einsum(t1.aa, (0, 1), v.aaaa.oovv, (2, 0, 3, 1), (2, 3)) * -1
+    t1new.aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 3), (0, 4)) * 2
+    t1new.aa += einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (1, 2, 4, 3), (0, 4)) * -1
+    t1new.bb += f.bb.ov
+    t1new.bb += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3))
+    t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ooov, (4, 1, 0, 3), (4, 2)) * 2
+    t1new.bb += einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 0, 3, 1), (2, 3)) * -1
+    t1new.bb += einsum(v.aabb.ovoo, (0, 1, 2, 3), t2.abab, (0, 3, 1, 4), (2, 4)) * -1
+    t2new.aaaa += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    t2new.aaaa += np.transpose(v.aaaa.ovov, (0, 2, 3, 1)) * -1
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 1), (4, 5, 2, 3)) * 0.5
+    t2new.abab += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    t2new.bbbb += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    t2new.bbbb += np.transpose(v.bbbb.ovov, (0, 2, 3, 1)) * -1
+
+    return {f"t1new": t1new, f"t2new": t2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/UDFCC2/index.html b/reference/codegen/UDFCC2/index.html new file mode 100644 index 00000000..a84565b2 --- /dev/null +++ b/reference/codegen/UDFCC2/index.html @@ -0,0 +1,11941 @@ + + + + + + + + UDFCC2 - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-17T20:51:02.785733
  • +
  • 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.8.0-40-generic
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.UDFCC2.energy(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:51:04.002416.

+

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.

+ +
+ Source code in ebcc/codegen/UDFCC2.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
def energy(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:51:04.002416.
+
+    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,))
+    tmp3 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (3, 2), (0, 3, 1))
+    tmp1 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (1, 2), (0,)) * 0.5
+    tmp1 += tmp0
+    tmp5 = einsum(t1.bb, (0, 1), v.bbb.xov, (2, 3, 1), (2, 0, 3))
+    tmp4 = np.copy(f.aa.ov)
+    tmp4 += einsum(v.baa.xov, (0, 1, 2), tmp3, (0, 1, 3), (3, 2)) * -0.5
+    del tmp3
+    tmp7 = einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (0, 3, 4))
+    tmp7 += einsum(t1.bb, (0, 1), tmp0, (2,), (2, 0, 1)) * 0.5
+    del tmp0
+    tmp2 = einsum(v.baa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (0, 3, 4))
+    tmp2 += einsum(v.bbb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (0, 3, 4))
+    tmp2 += einsum(tmp1, (0,), t1.aa, (1, 2), (0, 1, 2))
+    del tmp1
+    tmp6 = np.copy(f.bb.ov)
+    tmp6 += einsum(tmp5, (0, 1, 2), v.bbb.xov, (0, 1, 3), (2, 3)) * -0.5
+    del tmp5
+    e_cc = einsum(v.baa.xov, (0, 1, 2), tmp2, (0, 1, 2), ())
+    del tmp2
+    e_cc += einsum(tmp4, (0, 1), t1.aa, (0, 1), ())
+    del tmp4
+    e_cc += einsum(t1.bb, (0, 1), tmp6, (0, 1), ())
+    del tmp6
+    e_cc += einsum(v.bbb.xov, (0, 1, 2), tmp7, (0, 1, 2), ())
+    del tmp7
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCC2.update_amps(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:51:20.984944.

+

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.

+ +
+ Source code in ebcc/codegen/UDFCC2.py +
 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
def update_amps(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:51:20.984944.
+
+    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()
+    tmp17 = einsum(t1.bb, (0, 1), v.bbb.xov, (2, 3, 1), (2, 0, 3))
+    tmp0 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (3, 2), (0, 3, 1))
+    tmp6 = einsum(v.bbb.xov, (0, 1, 2), t1.bb, (1, 2), (0,))
+    tmp5 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (1, 2), (0,))
+    tmp86 = einsum(tmp17, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp94 = einsum(tmp17, (0, 1, 2), tmp17, (0, 3, 4), (3, 1, 4, 2))
+    tmp78 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp32 = einsum(t1.bb, (0, 1), v.bbb.xvv, (2, 3, 1), (2, 0, 3))
+    tmp71 = einsum(tmp17, (0, 1, 2), t1.bb, (2, 3), (0, 1, 3))
+    tmp50 = einsum(t1.aa, (0, 1), tmp0, (2, 3, 0), (2, 3, 1))
+    tmp15 = einsum(v.baa.xvv, (0, 1, 2), t1.aa, (3, 2), (0, 3, 1))
+    tmp37 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 1, 2, 4))
+    tmp47 = einsum(tmp0, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp56 = einsum(tmp0, (0, 1, 2), tmp0, (0, 3, 4), (3, 1, 4, 2))
+    tmp18 = einsum(v.bbb.xov, (0, 1, 2), tmp17, (0, 1, 3), (3, 2))
+    tmp26 = einsum(v.baa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (0, 3, 4))
+    tmp7 = np.copy(tmp5)
+    tmp7 += tmp6
+    tmp11 = einsum(v.baa.xov, (0, 1, 2), tmp0, (0, 1, 3), (3, 2))
+    tmp3 = einsum(v.bbb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (0, 3, 4))
+    tmp87 = einsum(tmp86, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+    del tmp86
+    tmp95 = einsum(tmp94, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4))
+    del tmp94
+    tmp64 = einsum(t1.bb, (0, 1), f.bb.ov, (0, 2), (2, 1))
+    tmp79 = einsum(tmp78, (0, 1, 2, 3), t1.bb, (3, 4), (1, 2, 0, 4))
+    del tmp78
+    tmp24 = einsum(v.bbb.xov, (0, 1, 2), tmp17, (0, 3, 4), (3, 1, 4, 2))
+    tmp84 = einsum(tmp32, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp92 = einsum(tmp32, (0, 1, 2), tmp17, (0, 3, 4), (3, 1, 4, 2))
+    tmp33 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp66 = einsum(f.bb.ov, (0, 1), t1.bb, (2, 1), (0, 2))
+    tmp72 = np.copy(v.bbb.xov)
+    tmp72 += tmp32
+    tmp72 += tmp71 * -1
+    tmp73 = einsum(tmp17, (0, 1, 2), tmp0, (0, 3, 4), (3, 4, 1, 2))
+    tmp40 = einsum(t1.aa, (0, 1), f.aa.ov, (0, 2), (2, 1))
+    tmp69 = np.copy(tmp15)
+    tmp69 += tmp50 * -1
+    tmp62 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp67 = einsum(tmp17, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp43 = einsum(t1.aa, (0, 1), f.aa.ov, (2, 1), (2, 0))
+    tmp1 = einsum(v.baa.xov, (0, 1, 2), tmp0, (0, 3, 4), (3, 1, 4, 2))
+    tmp16 = einsum(v.baa.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp45 = einsum(tmp15, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp59 = einsum(tmp0, (0, 1, 2), tmp15, (0, 3, 4), (1, 3, 2, 4))
+    tmp38 = einsum(t1.aa, (0, 1), tmp37, (2, 3, 4, 0), (3, 4, 2, 1))
+    del tmp37
+    tmp51 = np.copy(v.baa.xov)
+    tmp51 += tmp15
+    tmp51 += tmp50 * -1
+    del tmp50
+    tmp48 = einsum(tmp47, (0, 1, 2, 3), t1.aa, (3, 4), (0, 1, 2, 4))
+    del tmp47
+    tmp57 = einsum(t1.aa, (0, 1), tmp56, (2, 3, 0, 4), (3, 2, 4, 1))
+    del tmp56
+    tmp30 = np.copy(f.bb.ov)
+    tmp30 += tmp18 * -1
+    tmp29 = np.copy(tmp26)
+    tmp29 += einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (0, 3, 4)) * 2
+    tmp29 += einsum(tmp7, (0,), t1.bb, (1, 2), (0, 1, 2))
+    tmp19 = einsum(v.bbb.xov, (0, 1, 2), tmp7, (0,), (1, 2))
+    tmp21 = einsum(v.baa.xov, (0, 1, 2), tmp7, (0,), (1, 2))
+    tmp27 = np.copy(t2.bbbb)
+    tmp27 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -0.5
+    tmp4 = np.copy(t2.aaaa)
+    tmp4 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3)) * -0.5
+    tmp12 = np.copy(f.aa.ov)
+    tmp12 += tmp11 * -1
+    tmp10 = einsum(t2.aaaa, (0, 1, 2, 3), v.baa.xov, (4, 1, 3), (4, 0, 2))
+    tmp10 += tmp3 * 0.5
+    tmp10 += einsum(tmp7, (0,), t1.aa, (1, 2), (0, 1, 2)) * 0.5
+    tmp88 = einsum(tmp87, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3))
+    del tmp87
+    tmp96 = einsum(tmp95, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3))
+    del tmp95
+    tmp82 = np.copy(f.bb.vv)
+    tmp82 += tmp64 * -1
+    tmp97 = einsum(tmp32, (0, 1, 2), tmp32, (0, 3, 4), (1, 3, 2, 4))
+    tmp80 = einsum(tmp79, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3))
+    del tmp79
+    tmp98 = einsum(tmp24, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3))
+    tmp81 = einsum(f.bb.oo, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp85 = einsum(tmp84, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3))
+    del tmp84
+    tmp93 = einsum(tmp92, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 4, 3))
+    del tmp92
+    tmp91 = einsum(v.bbb.xov, (0, 1, 2), tmp32, (0, 3, 4), (3, 1, 2, 4))
+    tmp90 = einsum(tmp33, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3))
+    tmp65 = np.copy(f.bb.vv)
+    tmp65 += tmp64 * -1
+    del tmp64
+    tmp83 = einsum(tmp66, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4))
+    tmp89 = einsum(v.bbb.xov, (0, 1, 2), tmp72, (0, 3, 4), (1, 3, 2, 4))
+    tmp74 = einsum(tmp73, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+    del tmp73
+    tmp14 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp77 = einsum(tmp32, (0, 1, 2), tmp0, (0, 3, 4), (3, 4, 1, 2))
+    tmp34 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp76 = einsum(tmp32, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp41 = np.copy(f.aa.vv)
+    tmp41 += tmp40 * -1
+    tmp75 = np.copy(v.bbb.xov)
+    tmp75 += tmp32
+    tmp75 += tmp71 * -1
+    del tmp71
+    tmp70 = einsum(v.bbb.xoo, (0, 1, 2), tmp69, (0, 3, 4), (3, 1, 2, 4))
+    del tmp69
+    tmp63 = einsum(tmp62, (0, 1, 2, 3), t1.bb, (3, 4), (1, 0, 2, 4))
+    del tmp62
+    tmp68 = einsum(tmp67, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+    del tmp67
+    tmp2 = einsum(v.bbb.xov, (0, 1, 2), tmp0, (0, 3, 4), (3, 4, 1, 2))
+    tmp54 = einsum(tmp15, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 4, 2))
+    tmp44 = einsum(t2.aaaa, (0, 1, 2, 3), tmp43, (1, 4), (4, 0, 2, 3))
+    tmp61 = einsum(tmp1, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    tmp53 = einsum(tmp16, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3))
+    tmp46 = einsum(t1.aa, (0, 1), tmp45, (2, 0, 3, 4), (2, 3, 1, 4))
+    del tmp45
+    tmp60 = einsum(tmp59, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    del tmp59
+    tmp39 = einsum(tmp38, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3))
+    del tmp38
+    tmp55 = einsum(tmp15, (0, 1, 2), tmp15, (0, 3, 4), (1, 3, 2, 4))
+    tmp52 = einsum(v.baa.xov, (0, 1, 2), tmp51, (0, 3, 4), (1, 3, 2, 4))
+    del tmp51
+    tmp49 = einsum(tmp48, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3))
+    del tmp48
+    tmp58 = einsum(tmp57, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    del tmp57
+    tmp36 = einsum(t2.aaaa, (0, 1, 2, 3), f.aa.oo, (4, 1), (4, 0, 2, 3))
+    tmp42 = np.copy(f.aa.vv)
+    tmp42 += tmp40 * -1
+    del tmp40
+    tmp9 = np.copy(tmp5)
+    del tmp5
+    tmp9 += tmp6
+    del tmp6
+    tmp31 = einsum(v.bbb.xov, (0, 1, 2), tmp29, (0, 3, 2), (1, 3))
+    del tmp29
+    tmp31 += einsum(tmp30, (0, 1), t1.bb, (2, 1), (0, 2))
+    del tmp30
+    tmp20 = np.copy(f.bb.ov)
+    tmp20 += tmp18 * -1
+    del tmp18
+    tmp20 += tmp19
+    del tmp19
+    tmp22 = np.copy(f.aa.ov)
+    tmp22 += tmp11 * -1
+    del tmp11
+    tmp22 += tmp21
+    del tmp21
+    tmp25 = einsum(v.baa.xov, (0, 1, 2), tmp17, (0, 3, 4), (1, 3, 4, 2))
+    tmp35 = np.copy(f.bb.oo)
+    tmp35 += einsum(tmp17, (0, 1, 2), v.bbb.xoo, (0, 3, 1), (2, 3)) * -1
+    del tmp17
+    tmp35 += einsum(tmp7, (0,), v.bbb.xoo, (0, 1, 2), (1, 2))
+    tmp28 = np.copy(tmp26)
+    del tmp26
+    tmp28 += einsum(v.bbb.xov, (0, 1, 2), tmp27, (1, 3, 2, 4), (0, 3, 4)) * 2
+    del tmp27
+    tmp28 += einsum(tmp7, (0,), t1.bb, (1, 2), (0, 1, 2))
+    tmp8 = np.copy(tmp3)
+    del tmp3
+    tmp8 += einsum(v.baa.xov, (0, 1, 2), tmp4, (1, 3, 2, 4), (0, 3, 4)) * 2
+    del tmp4
+    tmp8 += einsum(tmp7, (0,), t1.aa, (1, 2), (0, 1, 2))
+    tmp23 = np.copy(f.aa.oo)
+    tmp23 += einsum(tmp0, (0, 1, 2), v.baa.xoo, (0, 3, 1), (2, 3)) * -1
+    del tmp0
+    tmp23 += einsum(tmp7, (0,), v.baa.xoo, (0, 1, 2), (1, 2))
+    del tmp7
+    tmp13 = einsum(v.baa.xov, (0, 1, 2), tmp10, (0, 3, 2), (1, 3)) * 2
+    del tmp10
+    tmp13 += einsum(tmp12, (0, 1), t1.aa, (2, 1), (0, 2))
+    del tmp12
+    t2new.bbbb = np.copy(tmp80)
+    t2new.bbbb += np.transpose(tmp81, (1, 0, 3, 2)) * 2
+    t2new.bbbb += np.transpose(tmp80, (0, 1, 3, 2)) * -1
+    del tmp80
+    t2new.bbbb += np.transpose(tmp81, (0, 1, 3, 2)) * -2
+    del tmp81
+    t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp82, (3, 4), (0, 1, 4, 2)) * -2
+    del tmp82
+    t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp65, (3, 4), (0, 1, 2, 4)) * 2
+    t2new.bbbb += np.transpose(tmp83, (1, 0, 3, 2)) * 2
+    t2new.bbbb += np.transpose(tmp85, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp88, (1, 0, 2, 3))
+    t2new.bbbb += np.transpose(tmp88, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp85, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp83, (0, 1, 3, 2)) * -2
+    del tmp83
+    t2new.bbbb += np.transpose(tmp85, (0, 1, 3, 2)) * -1
+    t2new.bbbb += tmp88 * -1
+    t2new.bbbb += np.transpose(tmp88, (0, 1, 3, 2))
+    del tmp88
+    t2new.bbbb += tmp85
+    del tmp85
+    t2new.bbbb += tmp89
+    t2new.bbbb += np.transpose(tmp89, (1, 0, 2, 3)) * -1
+    del tmp89
+    t2new.bbbb += np.transpose(tmp90, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp90, (1, 0, 3, 2)) * -1
+    t2new.bbbb += tmp90 * -1
+    t2new.bbbb += np.transpose(tmp90, (1, 0, 2, 3))
+    del tmp90
+    t2new.bbbb += np.transpose(tmp91, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp93, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp93, (1, 0, 3, 2)) * -1
+    t2new.bbbb += tmp96
+    t2new.bbbb += np.transpose(tmp96, (0, 1, 3, 2)) * -1
+    del tmp96
+    t2new.bbbb += tmp97
+    t2new.bbbb += np.transpose(tmp97, (0, 1, 3, 2)) * -1
+    del tmp97
+    t2new.bbbb += np.transpose(tmp91, (1, 0, 3, 2)) * -1
+    del tmp91
+    t2new.bbbb += tmp98 * -1
+    t2new.bbbb += np.transpose(tmp98, (1, 0, 2, 3))
+    del tmp98
+    t2new.bbbb += tmp93 * -1
+    t2new.bbbb += np.transpose(tmp93, (1, 0, 2, 3))
+    del tmp93
+    t2new.abab = einsum(t2.abab, (0, 1, 2, 3), f.bb.oo, (4, 1), (0, 4, 2, 3)) * -1
+    t2new.abab += einsum(tmp63, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3))
+    del tmp63
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), f.aa.oo, (4, 0), (4, 1, 2, 3)) * -1
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp41, (2, 4), (0, 1, 4, 3))
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp65, (3, 4), (0, 1, 2, 4))
+    del tmp65
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp66, (1, 4), (0, 4, 2, 3)) * -1
+    del tmp66
+    t2new.abab += einsum(tmp68, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3))
+    del tmp68
+    t2new.abab += einsum(tmp43, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1
+    del tmp43
+    t2new.abab += einsum(tmp70, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4)) * -1
+    del tmp70
+    t2new.abab += einsum(v.baa.xov, (0, 1, 2), tmp72, (0, 3, 4), (1, 3, 2, 4))
+    del tmp72
+    t2new.abab += einsum(tmp34, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4)) * -1
+    t2new.abab += einsum(tmp14, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3)) * -1
+    t2new.abab += einsum(t1.aa, (0, 1), tmp74, (2, 0, 3, 4), (2, 3, 1, 4))
+    del tmp74
+    t2new.abab += einsum(tmp75, (0, 1, 2), tmp15, (0, 3, 4), (3, 1, 4, 2))
+    del tmp75
+    t2new.abab += einsum(t1.aa, (0, 1), tmp2, (2, 0, 3, 4), (2, 3, 1, 4)) * -1
+    t2new.abab += einsum(t1.aa, (0, 1), tmp76, (0, 2, 3, 4), (2, 3, 1, 4)) * -1
+    del tmp76
+    t2new.abab += einsum(tmp77, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3)) * -1
+    del tmp77
+    t2new.aaaa = np.copy(np.transpose(tmp36, (1, 0, 3, 2))) * 2
+    t2new.aaaa += tmp39
+    t2new.aaaa += np.transpose(tmp36, (0, 1, 3, 2)) * -2
+    del tmp36
+    t2new.aaaa += np.transpose(tmp39, (0, 1, 3, 2)) * -1
+    del tmp39
+    t2new.aaaa += einsum(tmp41, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 1, 4)) * -2
+    del tmp41
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp42, (3, 4), (0, 1, 2, 4)) * 2
+    del tmp42
+    t2new.aaaa += np.transpose(tmp44, (1, 0, 3, 2)) * 2
+    t2new.aaaa += np.transpose(tmp46, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp49, (1, 0, 2, 3))
+    t2new.aaaa += np.transpose(tmp49, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp46, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp44, (0, 1, 3, 2)) * -2
+    del tmp44
+    t2new.aaaa += np.transpose(tmp46, (0, 1, 3, 2)) * -1
+    t2new.aaaa += tmp49 * -1
+    t2new.aaaa += np.transpose(tmp49, (0, 1, 3, 2))
+    del tmp49
+    t2new.aaaa += tmp46
+    del tmp46
+    t2new.aaaa += tmp52
+    t2new.aaaa += np.transpose(tmp52, (1, 0, 2, 3)) * -1
+    del tmp52
+    t2new.aaaa += np.transpose(tmp53, (0, 1, 3, 2))
+    t2new.aaaa += np.transpose(tmp53, (1, 0, 3, 2)) * -1
+    t2new.aaaa += tmp53 * -1
+    t2new.aaaa += np.transpose(tmp53, (1, 0, 2, 3))
+    del tmp53
+    t2new.aaaa += np.transpose(tmp54, (0, 1, 3, 2))
+    t2new.aaaa += tmp55
+    t2new.aaaa += np.transpose(tmp55, (0, 1, 3, 2)) * -1
+    del tmp55
+    t2new.aaaa += tmp58
+    t2new.aaaa += np.transpose(tmp58, (0, 1, 3, 2)) * -1
+    del tmp58
+    t2new.aaaa += np.transpose(tmp60, (0, 1, 3, 2))
+    t2new.aaaa += np.transpose(tmp60, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp54, (1, 0, 3, 2)) * -1
+    del tmp54
+    t2new.aaaa += tmp61 * -1
+    t2new.aaaa += np.transpose(tmp61, (1, 0, 2, 3))
+    del tmp61
+    t2new.aaaa += tmp60 * -1
+    t2new.aaaa += np.transpose(tmp60, (1, 0, 2, 3))
+    del tmp60
+    t1new.bb = np.copy(f.bb.ov)
+    t1new.bb += einsum(t1.bb, (0, 1), f.bb.vv, (2, 1), (0, 2))
+    t1new.bb += einsum(tmp24, (0, 1, 2, 3), t2.bbbb, (2, 1, 4, 3), (0, 4)) * -2
+    del tmp24
+    t1new.bb += einsum(tmp25, (0, 1, 2, 3), t2.abab, (0, 2, 3, 4), (1, 4)) * -1
+    del tmp25
+    t1new.bb += einsum(v.bbb.xvv, (0, 1, 2), tmp28, (0, 3, 2), (3, 1))
+    del tmp28
+    t1new.bb += einsum(v.bbb.xov, (0, 1, 2), tmp9, (0,), (1, 2))
+    t1new.bb += einsum(tmp31, (0, 1), t1.bb, (0, 2), (1, 2)) * -1
+    del tmp31
+    t1new.bb += einsum(tmp32, (0, 1, 2), v.bbb.xoo, (0, 3, 1), (3, 2)) * -1
+    del tmp32
+    t1new.bb += einsum(tmp33, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 3), (0, 4)) * -2
+    del tmp33
+    t1new.bb += einsum(tmp34, (0, 1, 2, 3), t2.abab, (0, 2, 3, 4), (1, 4)) * -1
+    del tmp34
+    t1new.bb += einsum(tmp22, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp20, (1, 3), (0, 2)) * 2
+    t1new.bb += einsum(tmp35, (0, 1), t1.bb, (0, 2), (1, 2)) * -1
+    del tmp35
+    t1new.aa = einsum(f.aa.vv, (0, 1), t1.aa, (2, 1), (2, 0))
+    t1new.aa += f.aa.ov
+    t1new.aa += einsum(tmp1, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 3), (0, 4)) * -2
+    del tmp1
+    t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp2, (4, 0, 1, 3), (4, 2)) * -1
+    del tmp2
+    t1new.aa += einsum(v.baa.xvv, (0, 1, 2), tmp8, (0, 3, 2), (3, 1))
+    del tmp8
+    t1new.aa += einsum(v.baa.xov, (0, 1, 2), tmp9, (0,), (1, 2))
+    del tmp9
+    t1new.aa += einsum(tmp13, (0, 1), t1.aa, (0, 2), (1, 2)) * -1
+    del tmp13
+    t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp14, (4, 0, 1, 3), (4, 2)) * -1
+    del tmp14
+    t1new.aa += einsum(v.baa.xoo, (0, 1, 2), tmp15, (0, 2, 3), (1, 3)) * -1
+    del tmp15
+    t1new.aa += einsum(tmp16, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 3), (0, 4)) * -2
+    del tmp16
+    t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp20, (1, 3), (0, 2))
+    del tmp20
+    t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp22, (1, 3), (0, 2)) * 2
+    del tmp22
+    t1new.aa += einsum(t1.aa, (0, 1), tmp23, (0, 2), (2, 1)) * -1
+    del tmp23
+
+    return {f"t1new": t1new, f"t2new": t2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCC2.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-17T20:52:47.456322.

+

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.

+ +
+ Source code in ebcc/codegen/UDFCC2.py +
 441
+ 442
+ 443
+ 444
+ 445
+ 446
+ 447
+ 448
+ 449
+ 450
+ 451
+ 452
+ 453
+ 454
+ 455
+ 456
+ 457
+ 458
+ 459
+ 460
+ 461
+ 462
+ 463
+ 464
+ 465
+ 466
+ 467
+ 468
+ 469
+ 470
+ 471
+ 472
+ 473
+ 474
+ 475
+ 476
+ 477
+ 478
+ 479
+ 480
+ 481
+ 482
+ 483
+ 484
+ 485
+ 486
+ 487
+ 488
+ 489
+ 490
+ 491
+ 492
+ 493
+ 494
+ 495
+ 496
+ 497
+ 498
+ 499
+ 500
+ 501
+ 502
+ 503
+ 504
+ 505
+ 506
+ 507
+ 508
+ 509
+ 510
+ 511
+ 512
+ 513
+ 514
+ 515
+ 516
+ 517
+ 518
+ 519
+ 520
+ 521
+ 522
+ 523
+ 524
+ 525
+ 526
+ 527
+ 528
+ 529
+ 530
+ 531
+ 532
+ 533
+ 534
+ 535
+ 536
+ 537
+ 538
+ 539
+ 540
+ 541
+ 542
+ 543
+ 544
+ 545
+ 546
+ 547
+ 548
+ 549
+ 550
+ 551
+ 552
+ 553
+ 554
+ 555
+ 556
+ 557
+ 558
+ 559
+ 560
+ 561
+ 562
+ 563
+ 564
+ 565
+ 566
+ 567
+ 568
+ 569
+ 570
+ 571
+ 572
+ 573
+ 574
+ 575
+ 576
+ 577
+ 578
+ 579
+ 580
+ 581
+ 582
+ 583
+ 584
+ 585
+ 586
+ 587
+ 588
+ 589
+ 590
+ 591
+ 592
+ 593
+ 594
+ 595
+ 596
+ 597
+ 598
+ 599
+ 600
+ 601
+ 602
+ 603
+ 604
+ 605
+ 606
+ 607
+ 608
+ 609
+ 610
+ 611
+ 612
+ 613
+ 614
+ 615
+ 616
+ 617
+ 618
+ 619
+ 620
+ 621
+ 622
+ 623
+ 624
+ 625
+ 626
+ 627
+ 628
+ 629
+ 630
+ 631
+ 632
+ 633
+ 634
+ 635
+ 636
+ 637
+ 638
+ 639
+ 640
+ 641
+ 642
+ 643
+ 644
+ 645
+ 646
+ 647
+ 648
+ 649
+ 650
+ 651
+ 652
+ 653
+ 654
+ 655
+ 656
+ 657
+ 658
+ 659
+ 660
+ 661
+ 662
+ 663
+ 664
+ 665
+ 666
+ 667
+ 668
+ 669
+ 670
+ 671
+ 672
+ 673
+ 674
+ 675
+ 676
+ 677
+ 678
+ 679
+ 680
+ 681
+ 682
+ 683
+ 684
+ 685
+ 686
+ 687
+ 688
+ 689
+ 690
+ 691
+ 692
+ 693
+ 694
+ 695
+ 696
+ 697
+ 698
+ 699
+ 700
+ 701
+ 702
+ 703
+ 704
+ 705
+ 706
+ 707
+ 708
+ 709
+ 710
+ 711
+ 712
+ 713
+ 714
+ 715
+ 716
+ 717
+ 718
+ 719
+ 720
+ 721
+ 722
+ 723
+ 724
+ 725
+ 726
+ 727
+ 728
+ 729
+ 730
+ 731
+ 732
+ 733
+ 734
+ 735
+ 736
+ 737
+ 738
+ 739
+ 740
+ 741
+ 742
+ 743
+ 744
+ 745
+ 746
+ 747
+ 748
+ 749
+ 750
+ 751
+ 752
+ 753
+ 754
+ 755
+ 756
+ 757
+ 758
+ 759
+ 760
+ 761
+ 762
+ 763
+ 764
+ 765
+ 766
+ 767
+ 768
+ 769
+ 770
+ 771
+ 772
+ 773
+ 774
+ 775
+ 776
+ 777
+ 778
+ 779
+ 780
+ 781
+ 782
+ 783
+ 784
+ 785
+ 786
+ 787
+ 788
+ 789
+ 790
+ 791
+ 792
+ 793
+ 794
+ 795
+ 796
+ 797
+ 798
+ 799
+ 800
+ 801
+ 802
+ 803
+ 804
+ 805
+ 806
+ 807
+ 808
+ 809
+ 810
+ 811
+ 812
+ 813
+ 814
+ 815
+ 816
+ 817
+ 818
+ 819
+ 820
+ 821
+ 822
+ 823
+ 824
+ 825
+ 826
+ 827
+ 828
+ 829
+ 830
+ 831
+ 832
+ 833
+ 834
+ 835
+ 836
+ 837
+ 838
+ 839
+ 840
+ 841
+ 842
+ 843
+ 844
+ 845
+ 846
+ 847
+ 848
+ 849
+ 850
+ 851
+ 852
+ 853
+ 854
+ 855
+ 856
+ 857
+ 858
+ 859
+ 860
+ 861
+ 862
+ 863
+ 864
+ 865
+ 866
+ 867
+ 868
+ 869
+ 870
+ 871
+ 872
+ 873
+ 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
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-17T20:52:47.456322.
+
+    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()
+    tmp13 = einsum(v.bbb.xov, (0, 1, 2), t1.bb, (1, 2), (0,))
+    tmp12 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (1, 2), (0,))
+    tmp54 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4))
+    tmp53 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4))
+    tmp52 = einsum(t1.aa, (0, 1), l1.aa, (1, 2), (2, 0))
+    tmp66 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4))
+    tmp65 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2))
+    tmp67 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0))
+    tmp27 = einsum(v.baa.xvv, (0, 1, 2), t1.aa, (3, 2), (0, 3, 1))
+    tmp7 = einsum(t1.bb, (0, 1), v.bbb.xvv, (2, 3, 1), (2, 0, 3))
+    tmp4 = einsum(t1.bb, (0, 1), v.bbb.xov, (2, 3, 1), (2, 0, 3))
+    tmp14 = np.copy(tmp12)
+    tmp14 += tmp13
+    tmp101 = np.copy(tmp12)
+    del tmp12
+    tmp101 += tmp13
+    del tmp13
+    tmp1 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (3, 2), (0, 3, 1))
+    tmp48 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (4, 1), (2, 3, 4, 0))
+    tmp55 = np.copy(tmp52) * 0.5
+    tmp55 += tmp53
+    tmp55 += tmp54 * 0.5
+    tmp50 = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (4, 0), (2, 4, 3, 1))
+    tmp63 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0))
+    tmp61 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0))
+    tmp68 = np.copy(tmp65)
+    tmp68 += tmp66
+    tmp68 += tmp67 * 2
+    tmp156 = np.copy(v.baa.xov)
+    tmp156 += tmp27
+    tmp158 = np.copy(v.bbb.xov)
+    tmp158 += tmp7
+    tmp107 = einsum(v.bbb.xov, (0, 1, 2), tmp4, (0, 1, 3), (3, 2))
+    tmp108 = einsum(v.bbb.xov, (0, 1, 2), tmp14, (0,), (1, 2))
+    tmp163 = einsum(v.baa.xov, (0, 1, 2), tmp101, (0,), (1, 2))
+    tmp11 = einsum(v.baa.xov, (0, 1, 2), tmp1, (0, 1, 3), (3, 2))
+    tmp15 = einsum(v.baa.xov, (0, 1, 2), tmp14, (0,), (1, 2))
+    tmp17 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp43 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 0, 1), (4, 2))
+    tmp41 = einsum(t1.bb, (0, 1), l1.bb, (2, 0), (2, 1))
+    tmp42 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4))
+    tmp46 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3))
+    tmp49 = einsum(tmp48, (0, 1, 2, 3), t2.aaaa, (1, 0, 4, 3), (2, 4))
+    tmp47 = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3))
+    tmp56 = einsum(t1.aa, (0, 1), tmp55, (0, 2), (2, 1))
+    tmp51 = einsum(t2.abab, (0, 1, 2, 3), tmp50, (0, 4, 1, 3), (4, 2))
+    tmp34 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4))
+    tmp35 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 1), (4, 2))
+    tmp38 = einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp60 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2))
+    tmp64 = einsum(t2.bbbb, (0, 1, 2, 3), tmp63, (1, 0, 4, 3), (4, 2))
+    tmp62 = einsum(t2.abab, (0, 1, 2, 3), tmp61, (0, 1, 4, 2), (4, 3))
+    tmp59 = einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3))
+    tmp69 = einsum(tmp68, (0, 1), t1.bb, (0, 2), (1, 2))
+    tmp128 = einsum(v.baa.xoo, (0, 1, 2), tmp50, (2, 1, 3, 4), (0, 3, 4))
+    tmp131 = einsum(tmp63, (0, 1, 2, 3), tmp4, (4, 1, 2), (4, 0, 3))
+    tmp188 = einsum(l2.abab, (0, 1, 2, 3), tmp156, (4, 2, 0), (4, 3, 1))
+    tmp130 = einsum(tmp50, (0, 1, 2, 3), tmp1, (4, 0, 1), (4, 2, 3))
+    tmp189 = einsum(tmp158, (0, 1, 2), l2.bbbb, (3, 2, 4, 1), (0, 4, 3))
+    tmp129 = einsum(tmp63, (0, 1, 2, 3), v.bbb.xoo, (4, 2, 0), (4, 1, 3)) * -1
+    tmp187 = einsum(v.bbb.xvv, (0, 1, 2), l1.bb, (2, 3), (0, 3, 1))
+    tmp193 = einsum(v.bbb.xov, (0, 1, 2), tmp101, (0,), (1, 2))
+    tmp191 = np.copy(v.bbb.xoo)
+    tmp191 += np.transpose(tmp4, (0, 2, 1))
+    tmp109 = np.copy(f.bb.ov)
+    tmp109 += tmp107 * -1
+    tmp109 += tmp108
+    tmp200 = einsum(v.bbb.xov, (0, 1, 2), tmp7, (0, 1, 3), (2, 3))
+    tmp142 = einsum(v.bbb.xvv, (0, 1, 2), tmp101, (0,), (1, 2))
+    tmp164 = np.copy(f.aa.ov)
+    tmp164 += tmp11 * -1
+    tmp164 += tmp163
+    tmp144 = np.copy(v.baa.xoo)
+    tmp144 += np.transpose(tmp1, (0, 2, 1))
+    tmp102 = einsum(tmp101, (0,), v.baa.xvv, (0, 1, 2), (1, 2))
+    tmp172 = einsum(v.baa.xov, (0, 1, 2), tmp27, (0, 1, 3), (2, 3))
+    tmp16 = np.copy(f.aa.ov)
+    tmp16 += tmp11 * -1
+    tmp16 += tmp15
+    tmp157 = einsum(l2.aaaa, (0, 1, 2, 3), tmp156, (4, 3, 1), (4, 2, 0))
+    del tmp156
+    tmp148 = einsum(l1.aa, (0, 1), v.baa.xvv, (2, 3, 0), (2, 1, 3))
+    tmp82 = einsum(tmp48, (0, 1, 2, 3), v.baa.xoo, (4, 2, 0), (4, 1, 3)) * -1
+    tmp84 = einsum(tmp48, (0, 1, 2, 3), tmp1, (4, 1, 2), (4, 0, 3))
+    tmp85 = einsum(tmp4, (0, 1, 2), tmp61, (3, 1, 2, 4), (0, 3, 4))
+    tmp159 = einsum(l2.abab, (0, 1, 2, 3), tmp158, (4, 3, 1), (4, 2, 0))
+    del tmp158
+    tmp83 = einsum(v.bbb.xoo, (0, 1, 2), tmp61, (3, 2, 1, 4), (0, 3, 4))
+    tmp8 = einsum(v.baa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (0, 3, 4))
+    tmp9 = einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (0, 3, 4))
+    tmp25 = einsum(v.bbb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (0, 3, 4))
+    tmp24 = einsum(v.baa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (0, 3, 4))
+    tmp93 = np.copy(v.bbb.xoo)
+    tmp93 += np.transpose(tmp4, (0, 2, 1))
+    tmp117 = einsum(tmp4, (0, 1, 2), tmp4, (0, 3, 4), (1, 3, 2, 4))
+    tmp118 = einsum(v.bbb.xoo, (0, 1, 2), tmp4, (0, 3, 4), (3, 1, 2, 4))
+    tmp115 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp116 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp18 = einsum(tmp17, (0, 1, 2, 3), t2.abab, (4, 5, 2, 3), (4, 0, 5, 1))
+    tmp2 = np.copy(v.baa.xoo)
+    tmp2 += tmp1
+    tmp5 = np.copy(v.bbb.xoo)
+    tmp5 += tmp4
+    tmp137 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 5), (4, 5, 0, 1))
+    tmp138 = einsum(tmp63, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2))
+    tmp44 = np.copy(tmp41)
+    del tmp41
+    tmp44 += tmp42
+    tmp44 += tmp43 * 2
+    tmp74 = np.copy(tmp65)
+    tmp74 += tmp66
+    del tmp66
+    tmp74 += np.transpose(tmp67, (1, 0)) * 2
+    del tmp67
+    tmp72 = np.copy(tmp52) * 0.5
+    tmp72 += tmp53
+    tmp72 += np.transpose(tmp54, (1, 0)) * 0.5
+    tmp57 = np.copy(np.transpose(l1.aa, (1, 0))) * -0.5
+    tmp57 += t1.aa * -0.5
+    tmp57 += tmp46 * -1
+    tmp57 += tmp47 * -0.5
+    tmp57 += tmp49
+    tmp57 += tmp51 * 0.5
+    tmp57 += tmp56
+    tmp39 = np.copy(tmp38) * 0.5
+    del tmp38
+    tmp39 += tmp34
+    tmp39 += np.transpose(tmp35, (1, 0)) * 0.5
+    tmp70 = np.copy(np.transpose(l1.bb, (1, 0))) * -1
+    tmp70 += t1.bb * -1
+    tmp70 += tmp59 * -1
+    tmp70 += tmp60 * -2
+    tmp70 += tmp62
+    tmp70 += tmp64 * 2
+    tmp70 += tmp69
+    tmp19 = np.copy(v.baa.xoo)
+    tmp19 += np.transpose(tmp1, (0, 2, 1))
+    tmp30 = einsum(tmp1, (0, 1, 2), tmp1, (0, 3, 4), (3, 1, 4, 2))
+    tmp29 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp28 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 1, 2, 4))
+    tmp31 = einsum(tmp1, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp96 = einsum(tmp48, (0, 1, 2, 3), t1.aa, (4, 3), (0, 1, 4, 2))
+    tmp95 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5))
+    tmp112 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 2, 4))
+    tmp149 = np.copy(v.baa.xov)
+    tmp149 += tmp27
+    tmp150 = np.copy(v.bbb.xov)
+    tmp150 += tmp7
+    tmp190 = np.copy(tmp187)
+    tmp190 += tmp128 * -1
+    tmp190 += tmp129 * -2
+    tmp190 += tmp130 * -1
+    tmp190 += tmp131 * -2
+    tmp190 += tmp188
+    del tmp188
+    tmp190 += tmp189 * 2
+    del tmp189
+    tmp123 = einsum(tmp4, (0, 1, 2), v.bbb.xoo, (0, 3, 1), (3, 2))
+    tmp202 = np.copy(f.bb.ov)
+    tmp202 += tmp107 * -1
+    tmp202 += tmp193
+    tmp192 = einsum(tmp191, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp125 = einsum(v.bbb.xoo, (0, 1, 2), tmp14, (0,), (1, 2))
+    tmp126 = einsum(tmp109, (0, 1), t1.bb, (2, 1), (0, 2))
+    tmp209 = einsum(tmp191, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 2, 3, 4))
+    tmp219 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp206 = einsum(tmp65, (0, 1), v.bbb.xov, (2, 1, 3), (2, 0, 3))
+    del tmp65
+    tmp208 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp207 = einsum(tmp4, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp201 = np.copy(f.bb.vv)
+    tmp201 += np.transpose(tmp200, (1, 0)) * -1
+    tmp201 += np.transpose(tmp142, (1, 0))
+    tmp198 = einsum(v.bbb.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (3, 4, 1, 2))
+    tmp88 = einsum(tmp61, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 1, 2))
+    tmp77 = einsum(tmp1, (0, 1, 2), v.baa.xoo, (0, 3, 1), (3, 2))
+    tmp162 = einsum(v.baa.xoo, (0, 1, 2), tmp101, (0,), (1, 2))
+    tmp165 = einsum(tmp164, (0, 1), t1.aa, (2, 1), (0, 2))
+    tmp173 = einsum(tmp14, (0,), v.baa.xvv, (0, 1, 2), (1, 2))
+    tmp182 = einsum(tmp52, (0, 1), v.baa.xov, (2, 1, 3), (2, 0, 3))
+    tmp184 = einsum(v.baa.xov, (0, 1, 2), tmp1, (0, 3, 4), (3, 1, 4, 2))
+    tmp145 = einsum(v.baa.xov, (0, 1, 2), tmp144, (0, 3, 4), (3, 4, 1, 2))
+    tmp180 = einsum(v.baa.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp176 = np.copy(f.aa.vv)
+    tmp176 += np.transpose(tmp172, (1, 0)) * -1
+    tmp176 += np.transpose(tmp102, (1, 0))
+    tmp80 = einsum(tmp16, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp79 = einsum(v.baa.xoo, (0, 1, 2), tmp14, (0,), (1, 2))
+    tmp22 = einsum(v.baa.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp160 = np.copy(tmp148)
+    tmp160 += tmp82 * -2
+    tmp160 += tmp83 * -1
+    tmp160 += tmp84 * -2
+    tmp160 += tmp85 * -1
+    tmp160 += tmp157 * 2
+    del tmp157
+    tmp160 += tmp159
+    del tmp159
+    tmp154 = einsum(tmp144, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp169 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp10 = np.copy(v.bbb.xov)
+    tmp10 += tmp7
+    tmp10 += tmp8
+    tmp10 += tmp9 * 2
+    tmp86 = np.copy(v.baa.xov)
+    tmp86 += tmp27
+    tmp86 += tmp24 * 2
+    tmp86 += tmp25
+    tmp124 = np.copy(tmp8) * 0.5
+    tmp124 += tmp9
+    tmp113 = einsum(v.bbb.xov, (0, 1, 2), tmp93, (0, 3, 4), (1, 3, 4, 2))
+    tmp119 = np.copy(np.transpose(tmp115, (3, 2, 1, 0)))
+    tmp119 += einsum(tmp116, (0, 1, 2, 3), t2.bbbb, (4, 5, 2, 3), (1, 0, 4, 5))
+    tmp119 += np.transpose(tmp117, (2, 3, 1, 0))
+    tmp119 += np.transpose(tmp118, (1, 3, 0, 2))
+    tmp119 += np.transpose(tmp118, (3, 2, 0, 1)) * -1
+    tmp114 = np.copy(v.bbb.xov)
+    tmp114 += tmp8
+    del tmp8
+    tmp114 += tmp9 * 2
+    del tmp9
+    tmp104 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp110 = np.copy(np.transpose(tmp18, (1, 0, 2, 3)))
+    tmp110 += einsum(tmp2, (0, 1, 2), tmp93, (0, 3, 4), (2, 1, 4, 3))
+    tmp105 = einsum(v.bbb.xov, (0, 1, 2), tmp2, (0, 3, 4), (4, 3, 1, 2))
+    tmp106 = einsum(tmp5, (0, 1, 2), v.bbb.xov, (0, 3, 4), (2, 1, 3, 4))
+    tmp133 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5))
+    tmp94 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5))
+    tmp136 = einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (2, 1, 3, 4))
+    tmp136 += einsum(t2.abab, (0, 1, 2, 3), tmp50, (0, 4, 5, 3), (4, 5, 1, 2)) * -1
+    tmp140 = np.copy(t1.bb) * -1
+    tmp140 += tmp59 * -1
+    del tmp59
+    tmp140 += tmp60 * -2
+    del tmp60
+    tmp140 += tmp62
+    del tmp62
+    tmp140 += tmp64 * 2
+    del tmp64
+    tmp140 += tmp69
+    del tmp69
+    tmp135 = einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4)) * -1
+    tmp135 += einsum(tmp61, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 2, 4, 5)) * 0.5
+    tmp135 += einsum(t2.bbbb, (0, 1, 2, 3), tmp63, (4, 1, 5, 3), (4, 5, 0, 2)) * -2
+    tmp134 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5))
+    tmp134 += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 5, 0)) * 4
+    tmp139 = np.copy(np.transpose(tmp137, (1, 0, 3, 2)))
+    del tmp137
+    tmp139 += np.transpose(tmp138, (0, 1, 3, 2)) * -1
+    tmp45 = einsum(v.bbb.xvv, (0, 1, 2), tmp44, (2, 1), (0,))
+    del tmp44
+    tmp75 = einsum(v.bbb.xoo, (0, 1, 2), tmp74, (2, 1), (0,))
+    del tmp74
+    tmp73 = einsum(v.baa.xoo, (0, 1, 2), tmp72, (2, 1), (0,)) * 2
+    del tmp72
+    tmp58 = einsum(v.baa.xov, (0, 1, 2), tmp57, (1, 2), (0,)) * 2
+    del tmp57
+    tmp40 = einsum(tmp39, (0, 1), v.baa.xvv, (2, 1, 0), (2,)) * 2
+    del tmp39
+    tmp71 = einsum(tmp70, (0, 1), v.bbb.xov, (2, 0, 1), (2,))
+    del tmp70
+    tmp121 = np.copy(tmp42)
+    del tmp42
+    tmp121 += tmp43 * 2
+    del tmp43
+    tmp26 = np.copy(v.baa.xov)
+    tmp26 += tmp24 * 2
+    tmp26 += tmp25
+    tmp23 = einsum(v.baa.xov, (0, 1, 2), tmp19, (0, 3, 4), (1, 3, 4, 2))
+    tmp32 = np.copy(np.transpose(tmp28, (3, 2, 1, 0)))
+    tmp32 += einsum(t2.aaaa, (0, 1, 2, 3), tmp29, (4, 5, 2, 3), (5, 4, 0, 1))
+    tmp32 += np.transpose(tmp30, (2, 3, 1, 0))
+    tmp32 += np.transpose(tmp31, (1, 3, 0, 2))
+    tmp32 += np.transpose(tmp31, (3, 2, 0, 1)) * -1
+    tmp20 = np.copy(np.transpose(tmp18, (0, 1, 3, 2)))
+    del tmp18
+    tmp20 += einsum(tmp5, (0, 1, 2), tmp19, (0, 3, 4), (4, 3, 2, 1))
+    tmp0 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp3 = einsum(v.baa.xov, (0, 1, 2), tmp2, (0, 3, 4), (4, 3, 1, 2))
+    tmp6 = einsum(tmp5, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 2, 1, 4))
+    tmp36 = np.copy(tmp34)
+    del tmp34
+    tmp36 += tmp35 * 0.5
+    del tmp35
+    tmp78 = np.copy(tmp24) * 2
+    del tmp24
+    tmp78 += tmp25
+    del tmp25
+    tmp98 = np.copy(t1.aa) * -0.5
+    tmp98 += tmp46 * -1
+    del tmp46
+    tmp98 += tmp47 * -0.5
+    del tmp47
+    tmp98 += tmp49
+    del tmp49
+    tmp98 += tmp51 * 0.5
+    del tmp51
+    tmp98 += tmp56
+    del tmp56
+    tmp91 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 3, 4, 0), (1, 2, 3, 4)) * -1
+    tmp91 += einsum(tmp48, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 2, 4, 5)) * -2
+    tmp91 += einsum(tmp50, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (0, 1, 4, 5)) * 0.5
+    tmp97 = np.copy(np.transpose(tmp95, (1, 0, 3, 2)))
+    del tmp95
+    tmp97 += np.transpose(tmp96, (0, 1, 3, 2)) * -1
+    tmp89 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (2, 4, 1, 5))
+    tmp92 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 4), (4, 0, 1, 3))
+    tmp92 += einsum(t2.abab, (0, 1, 2, 3), tmp61, (4, 1, 5, 2), (4, 0, 5, 3)) * -1
+    tmp90 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp90 += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 2, 4)) * 0.25
+    tmp217 = einsum(tmp63, (0, 1, 2, 3), tmp112, (2, 4, 3, 5), (1, 0, 5, 4))
+    tmp224 = einsum(l2.bbbb, (0, 1, 2, 3), tmp118, (2, 3, 4, 5), (4, 5, 0, 1))
+    del tmp118
+    tmp212 = np.copy(tmp187) * 0.5
+    del tmp187
+    tmp212 += tmp128 * -0.5
+    tmp212 += tmp129 * -1
+    tmp212 += tmp130 * -0.5
+    tmp212 += tmp131 * -1
+    tmp212 += einsum(l2.abab, (0, 1, 2, 3), tmp149, (4, 2, 0), (4, 3, 1)) * 0.5
+    tmp212 += einsum(l2.bbbb, (0, 1, 2, 3), tmp150, (4, 3, 1), (4, 2, 0))
+    tmp211 = einsum(v.bbb.xvv, (0, 1, 2), tmp93, (0, 3, 4), (4, 3, 1, 2))
+    tmp215 = einsum(v.bbb.xov, (0, 1, 2), tmp190, (0, 3, 4), (3, 1, 4, 2))
+    tmp216 = np.copy(f.bb.oo)
+    tmp216 += tmp123 * -1
+    tmp216 += einsum(v.bbb.xoo, (0, 1, 2), tmp101, (0,), (1, 2))
+    del tmp101
+    tmp216 += einsum(t1.bb, (0, 1), tmp202, (2, 1), (0, 2))
+    tmp214 = einsum(l2.bbbb, (0, 1, 2, 3), tmp192, (4, 3, 1, 5), (4, 2, 5, 0))
+    tmp222 = einsum(tmp202, (0, 1), tmp63, (2, 3, 0, 4), (2, 3, 1, 4))
+    tmp196 = np.copy(f.bb.oo)
+    tmp196 += tmp123 * -1
+    tmp196 += np.transpose(tmp125, (1, 0))
+    tmp196 += np.transpose(tmp126, (1, 0))
+    tmp194 = np.copy(f.bb.ov)
+    tmp194 += tmp193
+    del tmp193
+    tmp210 = einsum(tmp209, (0, 1, 2, 3), l1.bb, (4, 1), (2, 0, 3, 4))
+    tmp220 = einsum(l2.bbbb, (0, 1, 2, 3), tmp219, (4, 5, 1, 0), (2, 3, 4, 5))
+    del tmp219
+    tmp227 = einsum(v.bbb.xov, (0, 1, 2), tmp206, (0, 3, 4), (3, 1, 2, 4))
+    tmp228 = einsum(tmp208, (0, 1, 2, 3), tmp63, (1, 4, 2, 5), (4, 0, 5, 3)) * -1
+    tmp218 = einsum(tmp138, (0, 1, 2, 3), tmp116, (2, 3, 4, 5), (0, 1, 4, 5))
+    del tmp138
+    tmp225 = np.copy(np.transpose(tmp115, (3, 2, 1, 0)))
+    del tmp115
+    tmp225 += np.transpose(tmp117, (0, 3, 1, 2))
+    del tmp117
+    tmp226 = einsum(tmp207, (0, 1, 2, 3), tmp63, (4, 0, 1, 5), (4, 2, 5, 3))
+    tmp223 = einsum(tmp201, (0, 1), l2.bbbb, (2, 0, 3, 4), (3, 4, 1, 2)) * -1
+    tmp213 = np.copy(f.bb.ov)
+    tmp213 += tmp108
+    del tmp108
+    tmp221 = np.copy(f.bb.vv)
+    tmp221 += np.transpose(tmp200, (1, 0)) * -1
+    del tmp200
+    tmp221 += einsum(v.bbb.xvv, (0, 1, 2), tmp14, (0,), (1, 2))
+    del tmp14
+    tmp205 = einsum(tmp144, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (2, 1, 3, 4))
+    tmp203 = einsum(v.bbb.xov, (0, 1, 2), tmp144, (0, 3, 4), (3, 4, 1, 2))
+    del tmp144
+    tmp199 = einsum(tmp198, (0, 1, 2, 3), l2.abab, (1, 2, 4, 5), (4, 5, 0, 3))
+    del tmp198
+    tmp195 = einsum(tmp191, (0, 1, 2), v.baa.xvv, (0, 3, 4), (2, 1, 3, 4))
+    del tmp191
+    tmp197 = einsum(tmp88, (0, 1, 2, 3), tmp17, (1, 3, 4, 5), (0, 2, 4, 5))
+    tmp166 = np.copy(f.aa.oo)
+    tmp166 += tmp77 * -1
+    tmp166 += np.transpose(tmp162, (1, 0))
+    del tmp162
+    tmp166 += np.transpose(tmp165, (1, 0))
+    del tmp165
+    tmp186 = einsum(v.baa.xov, (0, 1, 2), tmp93, (0, 3, 4), (1, 3, 4, 2))
+    tmp204 = einsum(tmp19, (0, 1, 2), tmp93, (0, 3, 4), (2, 1, 4, 3))
+    tmp174 = np.copy(f.aa.vv)
+    tmp174 += np.transpose(tmp172, (1, 0)) * -1
+    del tmp172
+    tmp174 += np.transpose(tmp173, (1, 0))
+    del tmp173
+    tmp167 = np.copy(f.aa.ov)
+    tmp167 += tmp163
+    del tmp163
+    tmp151 = np.copy(tmp148) * 0.5
+    del tmp148
+    tmp151 += tmp82 * -1
+    tmp151 += tmp83 * -0.5
+    tmp151 += tmp84 * -1
+    tmp151 += tmp85 * -0.5
+    tmp151 += einsum(l2.aaaa, (0, 1, 2, 3), tmp149, (4, 3, 1), (4, 2, 0))
+    del tmp149
+    tmp151 += einsum(l2.abab, (0, 1, 2, 3), tmp150, (4, 3, 1), (4, 2, 0)) * 0.5
+    del tmp150
+    tmp171 = einsum(tmp96, (0, 1, 2, 3), tmp29, (2, 3, 4, 5), (0, 1, 4, 5))
+    del tmp96
+    tmp183 = einsum(tmp182, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 4, 2))
+    tmp185 = einsum(tmp48, (0, 1, 2, 3), tmp184, (1, 2, 4, 5), (0, 4, 3, 5))
+    tmp146 = einsum(l1.aa, (0, 1), tmp145, (2, 1, 3, 4), (3, 2, 4, 0))
+    tmp178 = einsum(l2.aaaa, (0, 1, 2, 3), tmp31, (2, 3, 4, 5), (4, 5, 0, 1))
+    del tmp31
+    tmp153 = np.copy(f.aa.ov)
+    tmp153 += tmp15
+    del tmp15
+    tmp181 = einsum(tmp180, (0, 1, 2, 3), tmp48, (1, 4, 2, 5), (4, 0, 5, 3)) * -1
+    tmp177 = einsum(tmp176, (0, 1), l2.aaaa, (2, 0, 3, 4), (3, 4, 1, 2)) * -1
+    del tmp176
+    tmp152 = np.copy(f.aa.oo)
+    tmp152 += tmp77 * -1
+    tmp152 += np.transpose(tmp79, (1, 0))
+    tmp152 += tmp80
+    tmp168 = einsum(tmp22, (0, 1, 2, 3), tmp48, (4, 5, 0, 2), (5, 4, 3, 1))
+    tmp179 = np.copy(np.transpose(tmp28, (3, 2, 1, 0)))
+    del tmp28
+    tmp179 += np.transpose(tmp30, (0, 3, 1, 2))
+    del tmp30
+    tmp161 = einsum(v.baa.xov, (0, 1, 2), tmp160, (0, 3, 4), (3, 1, 4, 2))
+    tmp155 = einsum(l2.aaaa, (0, 1, 2, 3), tmp154, (4, 3, 1, 5), (4, 2, 5, 0))
+    tmp175 = einsum(tmp48, (0, 1, 2, 3), tmp164, (2, 4), (0, 1, 4, 3))
+    tmp147 = einsum(v.baa.xvv, (0, 1, 2), tmp19, (0, 3, 4), (4, 3, 1, 2))
+    tmp170 = einsum(l2.aaaa, (0, 1, 2, 3), tmp169, (4, 5, 1, 0), (2, 3, 4, 5))
+    del tmp169
+    tmp132 = np.copy(tmp128) * -1
+    del tmp128
+    tmp132 += tmp129 * -2
+    del tmp129
+    tmp132 += tmp130 * -1
+    del tmp130
+    tmp132 += tmp131 * -2
+    del tmp131
+    tmp132 += einsum(l2.abab, (0, 1, 2, 3), tmp86, (4, 2, 0), (4, 3, 1))
+    tmp132 += einsum(tmp10, (0, 1, 2), l2.bbbb, (3, 2, 4, 1), (0, 4, 3)) * 2
+    tmp143 = np.copy(f.bb.vv)
+    tmp143 += np.transpose(tmp142, (1, 0))
+    del tmp142
+    tmp127 = np.copy(f.bb.oo)
+    tmp127 += tmp123 * -1
+    del tmp123
+    tmp127 += einsum(tmp124, (0, 1, 2), v.bbb.xov, (0, 3, 2), (1, 3)) * 2
+    del tmp124
+    tmp127 += np.transpose(tmp125, (1, 0))
+    del tmp125
+    tmp127 += np.transpose(tmp126, (1, 0))
+    del tmp126
+    tmp120 = einsum(tmp112, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (0, 4, 5, 2)) * 0.5
+    del tmp112
+    tmp120 += einsum(tmp113, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 4, 2, 5)) * -1
+    tmp120 += einsum(tmp5, (0, 1, 2), tmp114, (0, 3, 4), (2, 3, 1, 4)) * 0.5
+    del tmp114
+    tmp120 += einsum(t2.bbbb, (0, 1, 2, 3), tmp109, (4, 3), (4, 0, 1, 2)) * 0.5
+    tmp120 += einsum(tmp5, (0, 1, 2), tmp7, (0, 3, 4), (2, 1, 3, 4)) * -0.5
+    tmp120 += einsum(tmp119, (0, 1, 2, 3), t1.bb, (0, 4), (1, 3, 2, 4)) * -0.5
+    del tmp119
+    tmp111 = einsum(tmp104, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp111 += einsum(t2.abab, (0, 1, 2, 3), tmp105, (0, 4, 5, 3), (4, 5, 1, 2)) * -1
+    del tmp105
+    tmp111 += einsum(tmp106, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 2, 1, 5)) * -1
+    del tmp106
+    tmp111 += einsum(tmp5, (0, 1, 2), tmp86, (0, 3, 4), (3, 2, 1, 4))
+    tmp111 += einsum(t2.abab, (0, 1, 2, 3), tmp109, (4, 3), (0, 4, 1, 2))
+    tmp111 += einsum(t1.aa, (0, 1), tmp110, (0, 2, 3, 4), (2, 4, 3, 1)) * -1
+    del tmp110
+    tmp141 = einsum(l1.bb, (0, 1), tmp7, (2, 3, 0), (2, 3, 1)) * 0.5
+    del tmp7
+    tmp141 += einsum(v.baa.xoo, (0, 1, 2), tmp88, (2, 1, 3, 4), (0, 4, 3)) * -0.5
+    tmp141 += einsum(v.baa.xvv, (0, 1, 2), tmp133, (3, 4, 1, 2), (0, 4, 3)) * 0.5
+    del tmp133
+    tmp141 += einsum(tmp88, (0, 1, 2, 3), tmp1, (4, 0, 1), (4, 3, 2)) * -0.5
+    tmp141 += einsum(tmp134, (0, 1, 2, 3), v.bbb.xvv, (4, 2, 3), (4, 1, 0)) * 0.5
+    del tmp134
+    tmp141 += einsum(tmp86, (0, 1, 2), tmp61, (1, 3, 4, 2), (0, 4, 3)) * 0.5
+    tmp141 += einsum(tmp10, (0, 1, 2), tmp63, (1, 3, 4, 2), (0, 4, 3))
+    del tmp63
+    tmp141 += einsum(v.bbb.xov, (0, 1, 2), tmp135, (3, 1, 4, 2), (0, 4, 3)) * -1
+    del tmp135
+    tmp141 += einsum(tmp136, (0, 1, 2, 3), v.baa.xov, (4, 0, 3), (4, 2, 1)) * 0.5
+    del tmp136
+    tmp141 += einsum(tmp94, (0, 1, 2, 3), tmp19, (4, 1, 0), (4, 3, 2)) * -0.5
+    del tmp19
+    tmp141 += einsum(tmp139, (0, 1, 2, 3), tmp4, (4, 0, 2), (4, 3, 1)) * -1
+    tmp141 += einsum(v.bbb.xoo, (0, 1, 2), tmp139, (1, 3, 2, 4), (0, 4, 3)) * -1
+    del tmp139
+    tmp141 += einsum(v.bbb.xov, (0, 1, 2), tmp140, (3, 2), (0, 3, 1)) * -0.5
+    del tmp140
+    tmp141 += einsum(tmp68, (0, 1), v.bbb.xoo, (2, 3, 0), (2, 1, 3)) * -0.5
+    tmp76 = np.copy(tmp40)
+    del tmp40
+    tmp76 += tmp45
+    del tmp45
+    tmp76 += tmp58 * -1
+    del tmp58
+    tmp76 += tmp71 * -1
+    del tmp71
+    tmp76 += tmp73 * -1
+    del tmp73
+    tmp76 += tmp75 * -1
+    del tmp75
+    tmp122 = einsum(v.bbb.xov, (0, 1, 2), tmp121, (3, 2), (0, 1, 3))
+    del tmp121
+    tmp122 += einsum(tmp5, (0, 1, 2), l1.bb, (3, 1), (0, 2, 3))
+    del tmp5
+    tmp33 = einsum(t2.aaaa, (0, 1, 2, 3), tmp22, (4, 5, 2, 3), (4, 0, 1, 5))
+    del tmp22
+    tmp33 += einsum(tmp23, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 4, 2, 5)) * -2
+    tmp33 += einsum(tmp2, (0, 1, 2), tmp26, (0, 3, 4), (2, 3, 1, 4))
+    del tmp26
+    tmp33 += einsum(t2.aaaa, (0, 1, 2, 3), tmp16, (4, 3), (4, 0, 1, 2))
+    tmp33 += einsum(tmp2, (0, 1, 2), tmp27, (0, 3, 4), (2, 1, 3, 4)) * -1
+    tmp33 += einsum(t1.aa, (0, 1), tmp32, (0, 2, 3, 4), (2, 4, 3, 1)) * -1
+    del tmp32
+    tmp87 = np.copy(tmp82) * -1
+    del tmp82
+    tmp87 += tmp83 * -0.5
+    del tmp83
+    tmp87 += tmp84 * -1
+    del tmp84
+    tmp87 += tmp85 * -0.5
+    del tmp85
+    tmp87 += einsum(l2.aaaa, (0, 1, 2, 3), tmp86, (4, 3, 1), (4, 2, 0))
+    tmp87 += einsum(l2.abab, (0, 1, 2, 3), tmp10, (4, 3, 1), (4, 2, 0)) * 0.5
+    tmp103 = np.copy(f.aa.vv)
+    tmp103 += np.transpose(tmp102, (1, 0))
+    del tmp102
+    tmp21 = einsum(t2.abab, (0, 1, 2, 3), tmp0, (4, 2, 3, 5), (4, 0, 1, 5)) * 0.5
+    tmp21 += einsum(tmp3, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (2, 1, 4, 5)) * -0.5
+    del tmp3
+    tmp21 += einsum(t2.abab, (0, 1, 2, 3), tmp6, (4, 1, 5, 2), (4, 0, 5, 3)) * -0.5
+    del tmp6
+    tmp21 += einsum(tmp10, (0, 1, 2), tmp2, (0, 3, 4), (4, 3, 1, 2)) * 0.5
+    tmp21 += einsum(t2.abab, (0, 1, 2, 3), tmp16, (4, 2), (4, 0, 1, 3)) * 0.5
+    tmp21 += einsum(tmp20, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4)) * -0.5
+    del tmp20
+    tmp37 = einsum(v.baa.xov, (0, 1, 2), tmp36, (3, 2), (0, 1, 3)) * 2
+    del tmp36
+    tmp37 += einsum(tmp2, (0, 1, 2), l1.aa, (3, 1), (0, 2, 3))
+    del tmp2
+    tmp81 = np.copy(f.aa.oo)
+    tmp81 += tmp77 * -1
+    del tmp77
+    tmp81 += einsum(v.baa.xov, (0, 1, 2), tmp78, (0, 3, 2), (3, 1))
+    del tmp78
+    tmp81 += np.transpose(tmp79, (1, 0))
+    del tmp79
+    tmp81 += tmp80
+    del tmp80
+    tmp100 = np.copy(tmp52)
+    del tmp52
+    tmp100 += tmp53 * 2
+    del tmp53
+    tmp100 += tmp54
+    del tmp54
+    tmp99 = einsum(tmp27, (0, 1, 2), l1.aa, (2, 3), (0, 1, 3))
+    del tmp27
+    tmp99 += einsum(v.bbb.xoo, (0, 1, 2), tmp88, (3, 4, 2, 1), (0, 4, 3)) * -1
+    tmp99 += einsum(tmp89, (0, 1, 2, 3), v.bbb.xvv, (4, 2, 3), (4, 1, 0))
+    del tmp89
+    tmp99 += einsum(tmp4, (0, 1, 2), tmp88, (3, 4, 1, 2), (0, 4, 3)) * -1
+    del tmp4, tmp88
+    tmp99 += einsum(tmp90, (0, 1, 2, 3), v.baa.xvv, (4, 3, 2), (4, 1, 0)) * 4
+    del tmp90
+    tmp99 += einsum(tmp48, (0, 1, 2, 3), tmp86, (4, 0, 3), (4, 2, 1)) * 2
+    del tmp48, tmp86
+    tmp99 += einsum(tmp10, (0, 1, 2), tmp50, (3, 4, 1, 2), (0, 4, 3))
+    del tmp10
+    tmp99 += einsum(v.baa.xov, (0, 1, 2), tmp91, (3, 1, 4, 2), (0, 4, 3)) * -2
+    del tmp91
+    tmp99 += einsum(v.bbb.xov, (0, 1, 2), tmp92, (3, 4, 1, 2), (0, 4, 3))
+    del tmp92
+    tmp99 += einsum(tmp94, (0, 1, 2, 3), tmp93, (4, 3, 2), (4, 1, 0)) * -1
+    del tmp93, tmp94
+    tmp99 += einsum(tmp1, (0, 1, 2), tmp97, (1, 3, 2, 4), (0, 4, 3)) * -2
+    del tmp1
+    tmp99 += einsum(tmp97, (0, 1, 2, 3), v.baa.xoo, (4, 0, 2), (4, 3, 1)) * -2
+    del tmp97
+    tmp99 += einsum(v.baa.xov, (0, 1, 2), tmp98, (3, 2), (0, 3, 1)) * -2
+    del tmp98
+    tmp99 += einsum(v.baa.xoo, (0, 1, 2), tmp55, (2, 3), (0, 3, 1)) * -2
+    del tmp55
+    l2new.bbbb = np.copy(np.transpose(tmp116, (3, 2, 1, 0)))
+    l2new.bbbb += einsum(tmp113, (0, 1, 2, 3), l1.bb, (4, 2), (3, 4, 0, 1)) * -1
+    del tmp113
+    l2new.bbbb += np.transpose(tmp116, (2, 3, 1, 0)) * -1
+    del tmp116
+    l2new.bbbb += np.transpose(tmp210, (3, 2, 0, 1))
+    l2new.bbbb += einsum(tmp211, (0, 1, 2, 3), l2.bbbb, (4, 3, 5, 0), (2, 4, 5, 1)) * 2
+    del tmp211
+    l2new.bbbb += einsum(v.bbb.xov, (0, 1, 2), tmp212, (0, 3, 4), (2, 4, 3, 1)) * -2
+    del tmp212
+    l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp196, (3, 4), (0, 1, 2, 4)) * -2
+    l2new.bbbb += einsum(l1.bb, (0, 1), tmp213, (2, 3), (3, 0, 1, 2)) * -1
+    del tmp213
+    l2new.bbbb += np.transpose(tmp214, (2, 3, 0, 1)) * -2
+    l2new.bbbb += np.transpose(tmp215, (3, 2, 1, 0))
+    l2new.bbbb += einsum(tmp216, (0, 1), l2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * 2
+    del tmp216
+    l2new.bbbb += einsum(l1.bb, (0, 1), tmp194, (2, 3), (3, 0, 2, 1))
+    l2new.bbbb += np.transpose(tmp214, (3, 2, 1, 0)) * -2
+    l2new.bbbb += np.transpose(tmp215, (2, 3, 0, 1))
+    l2new.bbbb += einsum(l1.bb, (0, 1), tmp194, (2, 3), (0, 3, 1, 2))
+    l2new.bbbb += np.transpose(tmp214, (3, 2, 0, 1)) * 2
+    del tmp214
+    l2new.bbbb += np.transpose(tmp215, (2, 3, 1, 0)) * -1
+    del tmp215
+    l2new.bbbb += einsum(l1.bb, (0, 1), tmp194, (2, 3), (0, 3, 2, 1)) * -1
+    l2new.bbbb += np.transpose(tmp217, (2, 3, 1, 0)) * 2
+    l2new.bbbb += np.transpose(tmp218, (3, 2, 1, 0)) * 2
+    del tmp218
+    l2new.bbbb += np.transpose(tmp220, (2, 3, 1, 0)) * -2
+    del tmp220
+    l2new.bbbb += einsum(tmp221, (0, 1), l2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) * -1
+    del tmp221
+    l2new.bbbb += np.transpose(tmp222, (2, 3, 1, 0)) * -2
+    l2new.bbbb += np.transpose(tmp223, (2, 3, 1, 0)) * -1
+    l2new.bbbb += np.transpose(tmp217, (3, 2, 1, 0)) * -2
+    del tmp217
+    l2new.bbbb += np.transpose(tmp223, (3, 2, 1, 0)) * 2
+    del tmp223
+    l2new.bbbb += np.transpose(tmp222, (3, 2, 1, 0)) * 2
+    del tmp222
+    l2new.bbbb += np.transpose(tmp224, (2, 3, 0, 1)) * -2
+    l2new.bbbb += np.transpose(tmp224, (2, 3, 1, 0)) * 2
+    del tmp224
+    l2new.bbbb += einsum(tmp225, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 2), (4, 5, 1, 3)) * -2
+    del tmp225
+    l2new.bbbb += einsum(tmp209, (0, 1, 2, 3), l1.bb, (4, 1), (3, 4, 0, 2))
+    del tmp209
+    l2new.bbbb += np.transpose(tmp210, (3, 2, 1, 0)) * -1
+    del tmp210
+    l2new.bbbb += np.transpose(tmp226, (3, 2, 0, 1)) * -2
+    l2new.bbbb += einsum(tmp107, (0, 1), l1.bb, (2, 3), (1, 2, 3, 0))
+    l2new.bbbb += np.transpose(tmp227, (3, 2, 0, 1)) * -1
+    l2new.bbbb += np.transpose(tmp228, (3, 2, 0, 1)) * -2
+    l2new.bbbb += np.transpose(tmp226, (2, 3, 0, 1)) * 2
+    l2new.bbbb += np.transpose(tmp227, (2, 3, 0, 1))
+    l2new.bbbb += einsum(tmp107, (0, 1), l1.bb, (2, 3), (2, 1, 3, 0)) * -1
+    l2new.bbbb += np.transpose(tmp228, (2, 3, 0, 1)) * 2
+    l2new.bbbb += np.transpose(tmp226, (3, 2, 1, 0)) * 2
+    l2new.bbbb += np.transpose(tmp227, (3, 2, 1, 0))
+    l2new.bbbb += einsum(l1.bb, (0, 1), tmp107, (2, 3), (3, 0, 2, 1)) * -1
+    l2new.bbbb += np.transpose(tmp228, (3, 2, 1, 0)) * 2
+    l2new.bbbb += np.transpose(tmp226, (2, 3, 1, 0)) * -2
+    del tmp226
+    l2new.bbbb += einsum(l1.bb, (0, 1), tmp107, (2, 3), (0, 3, 2, 1))
+    l2new.bbbb += np.transpose(tmp227, (2, 3, 1, 0)) * -1
+    del tmp227
+    l2new.bbbb += np.transpose(tmp228, (2, 3, 1, 0)) * -2
+    del tmp228
+    l2new.abab = np.copy(np.transpose(tmp17, (2, 3, 0, 1)))
+    del tmp17
+    l2new.abab += einsum(tmp186, (0, 1, 2, 3), l1.bb, (4, 2), (3, 4, 0, 1)) * -1
+    l2new.abab += einsum(tmp154, (0, 1, 2, 3), l2.abab, (3, 4, 1, 5), (2, 4, 0, 5)) * -1
+    del tmp154
+    l2new.abab += einsum(tmp190, (0, 1, 2), v.baa.xov, (0, 3, 4), (4, 2, 3, 1))
+    del tmp190
+    l2new.abab += einsum(tmp166, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1
+    l2new.abab += einsum(tmp167, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3))
+    l2new.abab += einsum(tmp192, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (4, 2, 5, 0)) * -1
+    del tmp192
+    l2new.abab += einsum(v.bbb.xov, (0, 1, 2), tmp160, (0, 3, 4), (4, 2, 3, 1))
+    del tmp160
+    l2new.abab += einsum(l1.aa, (0, 1), tmp194, (2, 3), (0, 3, 1, 2))
+    del tmp194
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp195, (3, 4, 0, 5), (5, 1, 2, 4)) * -1
+    del tmp195
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp196, (3, 4), (0, 1, 2, 4)) * -1
+    del tmp196
+    l2new.abab += einsum(tmp0, (0, 1, 2, 3), tmp50, (4, 0, 5, 2), (1, 3, 4, 5)) * -1
+    del tmp0
+    l2new.abab += np.transpose(tmp197, (2, 3, 0, 1))
+    del tmp197
+    l2new.abab += np.transpose(tmp199, (2, 3, 0, 1))
+    del tmp199
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp174, (0, 4), (4, 1, 2, 3))
+    l2new.abab += einsum(tmp164, (0, 1), tmp50, (2, 0, 3, 4), (1, 4, 2, 3)) * -1
+    del tmp164
+    l2new.abab += einsum(tmp104, (0, 1, 2, 3), tmp61, (4, 5, 0, 2), (1, 3, 4, 5)) * -1
+    del tmp104
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp201, (1, 4), (0, 4, 2, 3))
+    del tmp201
+    l2new.abab += einsum(tmp61, (0, 1, 2, 3), tmp202, (2, 4), (3, 4, 0, 1)) * -1
+    del tmp202
+    l2new.abab += einsum(tmp203, (0, 1, 2, 3), l1.aa, (4, 1), (4, 3, 0, 2)) * -1
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp204, (2, 4, 3, 5), (0, 1, 4, 5))
+    del tmp204
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp205, (2, 4, 1, 5), (0, 5, 4, 3)) * -1
+    del tmp205
+    l2new.abab += einsum(v.bbb.xov, (0, 1, 2), tmp182, (0, 3, 4), (4, 2, 3, 1)) * -1
+    del tmp182
+    l2new.abab += einsum(tmp50, (0, 1, 2, 3), tmp186, (1, 4, 2, 5), (5, 3, 0, 4))
+    del tmp186
+    l2new.abab += einsum(v.baa.xov, (0, 1, 2), tmp206, (0, 3, 4), (2, 4, 1, 3)) * -1
+    del tmp206
+    l2new.abab += einsum(tmp203, (0, 1, 2, 3), tmp61, (1, 4, 2, 5), (5, 3, 0, 4))
+    del tmp203
+    l2new.abab += einsum(tmp50, (0, 1, 2, 3), tmp184, (0, 1, 4, 5), (5, 3, 4, 2))
+    del tmp184
+    l2new.abab += einsum(tmp180, (0, 1, 2, 3), tmp50, (1, 2, 4, 5), (3, 5, 0, 4))
+    del tmp50, tmp180
+    l2new.abab += einsum(tmp11, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3)) * -1
+    l2new.abab += einsum(tmp107, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0)) * -1
+    del tmp107
+    l2new.abab += einsum(tmp61, (0, 1, 2, 3), tmp207, (1, 2, 4, 5), (3, 5, 0, 4))
+    del tmp207
+    l2new.abab += einsum(tmp61, (0, 1, 2, 3), tmp208, (4, 1, 2, 5), (3, 5, 0, 4))
+    del tmp61, tmp208
+    l2new.aaaa = np.copy(np.transpose(tmp29, (3, 2, 1, 0)))
+    l2new.aaaa += einsum(l1.aa, (0, 1), tmp23, (2, 3, 1, 4), (4, 0, 2, 3)) * -1
+    del tmp23
+    l2new.aaaa += np.transpose(tmp29, (2, 3, 1, 0)) * -1
+    del tmp29
+    l2new.aaaa += np.transpose(tmp146, (3, 2, 0, 1))
+    l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp147, (3, 4, 5, 1), (5, 0, 2, 4)) * 2
+    del tmp147
+    l2new.aaaa += einsum(tmp151, (0, 1, 2), v.baa.xov, (0, 3, 4), (4, 2, 1, 3)) * -2
+    del tmp151
+    l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp152, (3, 4), (0, 1, 2, 4)) * -2
+    del tmp152
+    l2new.aaaa += einsum(l1.aa, (0, 1), tmp153, (2, 3), (3, 0, 1, 2)) * -1
+    del tmp153
+    l2new.aaaa += np.transpose(tmp155, (2, 3, 0, 1)) * -2
+    l2new.aaaa += np.transpose(tmp161, (3, 2, 1, 0))
+    l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp166, (3, 4), (0, 1, 4, 2)) * 2
+    del tmp166
+    l2new.aaaa += einsum(tmp167, (0, 1), l1.aa, (2, 3), (1, 2, 0, 3))
+    l2new.aaaa += np.transpose(tmp155, (3, 2, 1, 0)) * -2
+    l2new.aaaa += np.transpose(tmp161, (2, 3, 0, 1))
+    l2new.aaaa += einsum(l1.aa, (0, 1), tmp167, (2, 3), (0, 3, 1, 2))
+    l2new.aaaa += np.transpose(tmp155, (3, 2, 0, 1)) * 2
+    del tmp155
+    l2new.aaaa += np.transpose(tmp161, (2, 3, 1, 0)) * -1
+    del tmp161
+    l2new.aaaa += einsum(l1.aa, (0, 1), tmp167, (2, 3), (0, 3, 2, 1)) * -1
+    del tmp167
+    l2new.aaaa += np.transpose(tmp168, (2, 3, 1, 0)) * 2
+    l2new.aaaa += np.transpose(tmp170, (2, 3, 1, 0)) * -2
+    del tmp170
+    l2new.aaaa += np.transpose(tmp171, (3, 2, 1, 0)) * 2
+    del tmp171
+    l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp174, (1, 4), (4, 0, 2, 3)) * -1
+    del tmp174
+    l2new.aaaa += np.transpose(tmp175, (2, 3, 1, 0)) * -2
+    l2new.aaaa += np.transpose(tmp177, (2, 3, 1, 0)) * -1
+    l2new.aaaa += np.transpose(tmp168, (3, 2, 1, 0)) * -2
+    del tmp168
+    l2new.aaaa += np.transpose(tmp177, (3, 2, 1, 0)) * 2
+    del tmp177
+    l2new.aaaa += np.transpose(tmp175, (3, 2, 1, 0)) * 2
+    del tmp175
+    l2new.aaaa += np.transpose(tmp178, (2, 3, 0, 1)) * -2
+    l2new.aaaa += np.transpose(tmp178, (2, 3, 1, 0)) * 2
+    del tmp178
+    l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp179, (2, 4, 3, 5), (0, 1, 4, 5)) * -2
+    del tmp179
+    l2new.aaaa += einsum(l1.aa, (0, 1), tmp145, (2, 1, 3, 4), (4, 0, 2, 3))
+    del tmp145
+    l2new.aaaa += np.transpose(tmp146, (3, 2, 1, 0)) * -1
+    del tmp146
+    l2new.aaaa += np.transpose(tmp181, (3, 2, 0, 1)) * -2
+    l2new.aaaa += einsum(l1.aa, (0, 1), tmp11, (2, 3), (3, 0, 1, 2))
+    l2new.aaaa += np.transpose(tmp183, (3, 2, 0, 1)) * -1
+    l2new.aaaa += np.transpose(tmp185, (3, 2, 0, 1)) * -2
+    l2new.aaaa += np.transpose(tmp181, (2, 3, 0, 1)) * 2
+    l2new.aaaa += np.transpose(tmp183, (2, 3, 0, 1))
+    l2new.aaaa += einsum(tmp11, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0)) * -1
+    l2new.aaaa += np.transpose(tmp185, (2, 3, 0, 1)) * 2
+    l2new.aaaa += np.transpose(tmp181, (3, 2, 1, 0)) * 2
+    l2new.aaaa += np.transpose(tmp183, (3, 2, 1, 0))
+    l2new.aaaa += einsum(l1.aa, (0, 1), tmp11, (2, 3), (3, 0, 2, 1)) * -1
+    l2new.aaaa += np.transpose(tmp185, (3, 2, 1, 0)) * 2
+    l2new.aaaa += np.transpose(tmp181, (2, 3, 1, 0)) * -2
+    del tmp181
+    l2new.aaaa += einsum(tmp11, (0, 1), l1.aa, (2, 3), (2, 1, 0, 3))
+    del tmp11
+    l2new.aaaa += np.transpose(tmp183, (2, 3, 1, 0)) * -1
+    del tmp183
+    l2new.aaaa += np.transpose(tmp185, (2, 3, 1, 0)) * -2
+    del tmp185
+    l1new.bb = np.copy(np.transpose(f.bb.ov, (1, 0)))
+    l1new.bb += einsum(tmp111, (0, 1, 2, 3), l2.abab, (3, 4, 0, 2), (4, 1)) * -1
+    del tmp111
+    l1new.bb += einsum(l2.bbbb, (0, 1, 2, 3), tmp120, (4, 2, 3, 1), (0, 4)) * 4
+    del tmp120
+    l1new.bb += einsum(tmp122, (0, 1, 2), v.bbb.xvv, (0, 3, 2), (3, 1)) * -1
+    del tmp122
+    l1new.bb += einsum(v.bbb.xov, (0, 1, 2), tmp76, (0,), (2, 1))
+    l1new.bb += einsum(l1.bb, (0, 1), tmp127, (1, 2), (0, 2)) * -1
+    del tmp127
+    l1new.bb += einsum(tmp132, (0, 1, 2), v.bbb.xvv, (0, 3, 2), (3, 1))
+    del tmp132
+    l1new.bb += einsum(tmp141, (0, 1, 2), v.bbb.xov, (0, 1, 3), (3, 2)) * -2
+    del tmp141
+    l1new.bb += einsum(tmp68, (0, 1), tmp109, (1, 2), (2, 0)) * -1
+    del tmp68, tmp109
+    l1new.bb += einsum(tmp143, (0, 1), l1.bb, (0, 2), (1, 2))
+    del tmp143
+    l1new.aa = np.copy(np.transpose(f.aa.ov, (1, 0)))
+    l1new.aa += einsum(l2.abab, (0, 1, 2, 3), tmp21, (4, 2, 3, 1), (0, 4)) * -2
+    del tmp21
+    l1new.aa += einsum(tmp33, (0, 1, 2, 3), l2.aaaa, (4, 3, 1, 2), (4, 0)) * 2
+    del tmp33
+    l1new.aa += einsum(tmp37, (0, 1, 2), v.baa.xvv, (0, 3, 2), (3, 1)) * -1
+    del tmp37
+    l1new.aa += einsum(v.baa.xov, (0, 1, 2), tmp76, (0,), (2, 1))
+    del tmp76
+    l1new.aa += einsum(tmp81, (0, 1), l1.aa, (2, 0), (2, 1)) * -1
+    del tmp81
+    l1new.aa += einsum(v.baa.xvv, (0, 1, 2), tmp87, (0, 3, 2), (1, 3)) * 2
+    del tmp87
+    l1new.aa += einsum(v.baa.xov, (0, 1, 2), tmp99, (0, 1, 3), (2, 3)) * -1
+    del tmp99
+    l1new.aa += einsum(tmp16, (0, 1), tmp100, (2, 0), (1, 2)) * -1
+    del tmp16, tmp100
+    l1new.aa += einsum(l1.aa, (0, 1), tmp103, (0, 2), (2, 1))
+    del tmp103
+
+    return {f"l1new": l1new, f"l2new": l2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCC2.make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:52:49.895187.

+

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.

+ +
+ Source code in ebcc/codegen/UDFCC2.py +
1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
+1331
+1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
+1359
+1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
+1373
def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:52:49.895187.
+
+    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])),
+    )
+    tmp4 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4))
+    tmp3 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0))
+    tmp5 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2))
+    tmp0 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0))
+    tmp2 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4))
+    tmp1 = einsum(t1.aa, (0, 1), l1.aa, (1, 2), (2, 0))
+    tmp10 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0))
+    tmp9 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0))
+    tmp11 = np.copy(tmp5)
+    tmp11 += tmp4
+    tmp11 += tmp3 * 2
+    tmp8 = np.copy(tmp1)
+    tmp8 += tmp0 * 2
+    tmp8 += tmp2
+    tmp7 = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (4, 0), (2, 4, 3, 1))
+    tmp6 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (4, 1), (2, 3, 4, 0))
+    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(t1.bb, (0, 1), l1.bb, (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(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 1), (4, 2))
+    rdm1.aa.vv += einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2))
+    rdm1.bb.vo = np.copy(l1.bb)
+    rdm1.aa.vo = np.copy(l1.aa)
+    rdm1.bb.ov = np.copy(t1.bb)
+    rdm1.bb.ov += einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2)) * 2
+    rdm1.bb.ov += einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3))
+    rdm1.bb.ov += einsum(tmp9, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4)) * -1
+    del tmp9
+    rdm1.bb.ov += einsum(tmp10, (0, 1, 2, 3), t2.bbbb, (1, 0, 4, 3), (2, 4)) * -2
+    del tmp10
+    rdm1.bb.ov += einsum(tmp11, (0, 1), t1.bb, (0, 2), (1, 2)) * -1
+    del tmp11
+    rdm1.aa.ov = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) * 2
+    rdm1.aa.ov += t1.aa
+    rdm1.aa.ov += einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3))
+    rdm1.aa.ov += einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (1, 0, 4, 3), (2, 4)) * -2
+    del tmp6
+    rdm1.aa.ov += einsum(t2.abab, (0, 1, 2, 3), tmp7, (0, 4, 1, 3), (4, 2)) * -1
+    del tmp7
+    rdm1.aa.ov += einsum(t1.aa, (0, 1), tmp8, (0, 2), (2, 1)) * -1
+    del tmp8
+    rdm1.bb.oo = np.copy(np.transpose(tmp3, (1, 0))) * -2
+    del tmp3
+    rdm1.bb.oo += np.transpose(tmp4, (1, 0)) * -1
+    del tmp4
+    rdm1.bb.oo += delta.bb.oo
+    rdm1.bb.oo += np.transpose(tmp5, (1, 0)) * -1
+    del tmp5
+    rdm1.aa.oo = np.copy(np.transpose(tmp0, (1, 0))) * -2
+    del tmp0
+    rdm1.aa.oo += delta.aa.oo
+    del delta
+    rdm1.aa.oo += np.transpose(tmp1, (1, 0)) * -1
+    del tmp1
+    rdm1.aa.oo += np.transpose(tmp2, (1, 0)) * -1
+    del tmp2
+    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
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCC2.make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:53:33.628639.

+

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.

+ +
+ Source code in ebcc/codegen/UDFCC2.py +
1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
+1445
+1446
+1447
+1448
+1449
+1450
+1451
+1452
+1453
+1454
+1455
+1456
+1457
+1458
+1459
+1460
+1461
+1462
+1463
+1464
+1465
+1466
+1467
+1468
+1469
+1470
+1471
+1472
+1473
+1474
+1475
+1476
+1477
+1478
+1479
+1480
+1481
+1482
+1483
+1484
+1485
+1486
+1487
+1488
+1489
+1490
+1491
+1492
+1493
+1494
+1495
+1496
+1497
+1498
+1499
+1500
+1501
+1502
+1503
+1504
+1505
+1506
+1507
+1508
+1509
+1510
+1511
+1512
+1513
+1514
+1515
+1516
+1517
+1518
+1519
+1520
+1521
+1522
+1523
+1524
+1525
+1526
+1527
+1528
+1529
+1530
+1531
+1532
+1533
+1534
+1535
+1536
+1537
+1538
+1539
+1540
+1541
+1542
+1543
+1544
+1545
+1546
+1547
+1548
+1549
+1550
+1551
+1552
+1553
+1554
+1555
+1556
+1557
+1558
+1559
+1560
+1561
+1562
+1563
+1564
+1565
+1566
+1567
+1568
+1569
+1570
+1571
+1572
+1573
+1574
+1575
+1576
+1577
+1578
+1579
+1580
+1581
+1582
+1583
+1584
+1585
+1586
+1587
+1588
+1589
+1590
+1591
+1592
+1593
+1594
+1595
+1596
+1597
+1598
+1599
+1600
+1601
+1602
+1603
+1604
+1605
+1606
+1607
+1608
+1609
+1610
+1611
+1612
+1613
+1614
+1615
+1616
+1617
+1618
+1619
+1620
+1621
+1622
+1623
+1624
+1625
+1626
+1627
+1628
+1629
+1630
+1631
+1632
+1633
+1634
+1635
+1636
+1637
+1638
+1639
+1640
+1641
+1642
+1643
+1644
+1645
+1646
+1647
+1648
+1649
+1650
+1651
+1652
+1653
+1654
+1655
+1656
+1657
+1658
+1659
+1660
+1661
+1662
+1663
+1664
+1665
+1666
+1667
+1668
+1669
+1670
+1671
+1672
+1673
+1674
+1675
+1676
+1677
+1678
+1679
+1680
+1681
+1682
+1683
+1684
+1685
+1686
+1687
+1688
+1689
+1690
+1691
+1692
+1693
+1694
+1695
+1696
+1697
+1698
+1699
+1700
+1701
+1702
+1703
+1704
+1705
+1706
+1707
+1708
+1709
+1710
+1711
+1712
+1713
+1714
+1715
+1716
+1717
+1718
+1719
+1720
+1721
+1722
+1723
+1724
+1725
+1726
+1727
+1728
+1729
+1730
+1731
+1732
+1733
+1734
+1735
+1736
+1737
+1738
+1739
+1740
+1741
+1742
+1743
+1744
+1745
+1746
+1747
+1748
+1749
+1750
+1751
+1752
+1753
+1754
+1755
+1756
+1757
+1758
+1759
+1760
+1761
+1762
+1763
+1764
+1765
+1766
+1767
+1768
+1769
+1770
+1771
+1772
+1773
+1774
+1775
+1776
+1777
+1778
+1779
+1780
+1781
+1782
+1783
+1784
+1785
+1786
+1787
+1788
+1789
+1790
+1791
+1792
+1793
+1794
+1795
+1796
+1797
+1798
+1799
+1800
+1801
+1802
+1803
+1804
+1805
+1806
+1807
+1808
+1809
+1810
+1811
+1812
+1813
+1814
+1815
+1816
+1817
+1818
+1819
+1820
+1821
+1822
+1823
+1824
+1825
+1826
+1827
+1828
+1829
+1830
+1831
+1832
+1833
+1834
+1835
+1836
+1837
+1838
+1839
+1840
+1841
+1842
+1843
+1844
+1845
+1846
+1847
+1848
+1849
+1850
+1851
+1852
+1853
+1854
+1855
+1856
+1857
+1858
+1859
+1860
+1861
+1862
+1863
+1864
+1865
+1866
+1867
+1868
+1869
+1870
+1871
+1872
+1873
+1874
+1875
+1876
+1877
+1878
+1879
+1880
+1881
+1882
+1883
+1884
+1885
+1886
+1887
+1888
+1889
+1890
+1891
+1892
+1893
+1894
+1895
+1896
+1897
+1898
+1899
+1900
+1901
+1902
+1903
+1904
+1905
+1906
+1907
+1908
+1909
+1910
+1911
+1912
+1913
+1914
+1915
+1916
+1917
+1918
+1919
+1920
+1921
+1922
+1923
+1924
+1925
+1926
+1927
+1928
+1929
+1930
+1931
+1932
+1933
+1934
+1935
+1936
+1937
+1938
+1939
+1940
+1941
+1942
+1943
+1944
+1945
+1946
+1947
+1948
+1949
+1950
+1951
+1952
+1953
+1954
+1955
+1956
+1957
+1958
+1959
+1960
+1961
+1962
+1963
+1964
+1965
+1966
+1967
+1968
+1969
+1970
+1971
+1972
+1973
+1974
+1975
+1976
+1977
+1978
+1979
+1980
+1981
+1982
+1983
+1984
+1985
+1986
+1987
+1988
+1989
+1990
+1991
+1992
+1993
+1994
+1995
+1996
+1997
+1998
+1999
+2000
+2001
+2002
+2003
+2004
+2005
+2006
+2007
+2008
+2009
+2010
+2011
+2012
+2013
+2014
+2015
+2016
+2017
+2018
+2019
+2020
+2021
+2022
+2023
+2024
+2025
+2026
def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:53:33.628639.
+
+    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])),
+    )
+    tmp19 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0))
+    tmp14 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0))
+    tmp8 = einsum(l1.bb, (0, 1), t1.bb, (2, 0), (1, 2))
+    tmp9 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4))
+    tmp10 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0))
+    tmp0 = einsum(t1.aa, (0, 1), l1.aa, (1, 2), (2, 0))
+    tmp2 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4))
+    tmp1 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0))
+    tmp6 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (4, 1), (2, 3, 4, 0))
+    tmp27 = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (4, 0), (2, 4, 3, 1))
+    tmp84 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5))
+    tmp83 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 5), (3, 4, 1, 5))
+    tmp66 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp106 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5))
+    tmp50 = einsum(t2.bbbb, (0, 1, 2, 3), tmp19, (4, 1, 5, 3), (4, 5, 0, 2)) * -1
+    tmp51 = einsum(t2.abab, (0, 1, 2, 3), tmp14, (0, 4, 5, 2), (4, 5, 1, 3))
+    tmp18 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 5), (4, 5, 0, 1))
+    tmp20 = einsum(tmp19, (0, 1, 2, 3), t1.bb, (4, 3), (0, 1, 4, 2))
+    tmp17 = np.copy(tmp8)
+    tmp17 += tmp9
+    tmp17 += tmp10 * 2
+    tmp13 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 0, 1), (2, 4, 3, 5))
+    tmp15 = einsum(tmp14, (0, 1, 2, 3), t1.aa, (4, 3), (0, 4, 1, 2))
+    tmp12 = np.copy(tmp0) * 0.5
+    tmp12 += tmp1
+    tmp12 += tmp2 * 0.5
+    tmp7 = einsum(t1.aa, (0, 1), tmp6, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp5 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5))
+    tmp32 = einsum(t2.aaaa, (0, 1, 2, 3), tmp6, (4, 1, 5, 3), (4, 5, 0, 2)) * -1
+    tmp31 = einsum(tmp27, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp81 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 0, 1), (4, 2))
+    tmp80 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4))
+    tmp108 = einsum(t1.bb, (0, 1), l1.bb, (2, 0), (2, 1))
+    tmp112 = einsum(tmp19, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4))
+    tmp85 = np.copy(tmp83)
+    tmp85 += tmp84 * 4
+    tmp86 = einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (2, 4, 0, 5))
+    tmp87 = einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp64 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 1), (4, 2))
+    tmp63 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4))
+    tmp104 = einsum(l1.aa, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp118 = np.copy(tmp66) * 4
+    tmp118 += tmp106
+    tmp107 = einsum(tmp6, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp70 = einsum(t2.aaaa, (0, 1, 2, 3), l2.abab, (3, 4, 1, 5), (0, 5, 2, 4))
+    tmp68 = einsum(t2.abab, (0, 1, 2, 3), l2.bbbb, (4, 3, 5, 1), (0, 5, 2, 4))
+    tmp36 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2))
+    tmp35 = einsum(l1.aa, (0, 1), t2.abab, (1, 2, 0, 3), (2, 3))
+    tmp102 = np.copy(tmp51)
+    tmp102 += tmp50 * 4
+    tmp49 = einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4))
+    tmp52 = np.copy(np.transpose(tmp18, (1, 0, 3, 2)))
+    tmp52 += np.transpose(tmp20, (0, 1, 3, 2)) * -1
+    tmp61 = einsum(tmp17, (0, 1), t1.bb, (0, 2), (1, 2)) * 0.5
+    tmp39 = einsum(t2.abab, (0, 1, 2, 3), tmp14, (0, 1, 4, 2), (4, 3))
+    tmp40 = einsum(tmp19, (0, 1, 2, 3), t2.bbbb, (1, 0, 4, 3), (2, 4))
+    tmp58 = np.copy(tmp8) * 0.5
+    tmp58 += tmp9 * 0.5
+    tmp58 += tmp10
+    tmp41 = einsum(tmp17, (0, 1), t1.bb, (0, 2), (1, 2))
+    tmp56 = einsum(t2.abab, (0, 1, 2, 3), tmp19, (4, 1, 5, 3), (0, 4, 5, 2)) * -1
+    tmp57 = einsum(t2.aaaa, (0, 1, 2, 3), tmp14, (1, 4, 5, 3), (0, 4, 5, 2))
+    tmp22 = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3))
+    tmp21 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3))
+    tmp45 = np.copy(tmp13)
+    tmp45 += tmp15
+    tmp26 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (1, 0, 4, 3), (2, 4))
+    tmp28 = einsum(t2.abab, (0, 1, 2, 3), tmp27, (0, 4, 1, 3), (4, 2))
+    tmp29 = einsum(tmp12, (0, 1), t1.aa, (0, 2), (1, 2)) * 2
+    tmp44 = einsum(tmp6, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 2, 4, 5)) * -1
+    tmp43 = einsum(t2.bbbb, (0, 1, 2, 3), tmp27, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp25 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (3, 4), (4, 0, 1, 2))
+    tmp33 = np.copy(np.transpose(tmp5, (1, 0, 3, 2)))
+    tmp33 += np.transpose(tmp7, (0, 1, 3, 2)) * -1
+    tmp78 = np.copy(tmp32) * 4
+    tmp78 += tmp31
+    tmp130 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (3, 4), (2, 0, 1, 4))
+    tmp132 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 1), (4, 5, 2, 3))
+    tmp129 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (3, 4), (2, 0, 1, 4))
+    tmp128 = einsum(t1.aa, (0, 1), l2.aaaa, (2, 3, 4, 0), (4, 2, 3, 1))
+    tmp131 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (0, 1, 4, 5))
+    tmp109 = np.copy(tmp108)
+    tmp109 += tmp80
+    tmp109 += tmp81 * 2
+    tmp127 = einsum(t1.bb, (0, 1), tmp112, (0, 2, 3, 4), (2, 3, 4, 1)) * -1
+    tmp125 = einsum(tmp85, (0, 1, 2, 3), t1.bb, (0, 4), (1, 4, 2, 3))
+    tmp123 = einsum(l1.bb, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4))
+    tmp126 = einsum(tmp19, (0, 1, 2, 3), t2.bbbb, (1, 0, 4, 5), (2, 3, 4, 5)) * -1
+    tmp88 = np.copy(tmp86)
+    tmp88 += tmp87
+    tmp89 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5))
+    tmp115 = einsum(tmp14, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4))
+    tmp105 = np.copy(tmp104) * 0.5
+    tmp105 += tmp63
+    tmp105 += tmp64 * 0.5
+    tmp113 = np.copy(tmp104)
+    del tmp104
+    tmp113 += tmp63 * 2
+    tmp113 += tmp64
+    tmp119 = einsum(tmp118, (0, 1, 2, 3), t1.aa, (0, 4), (1, 4, 2, 3))
+    del tmp118
+    tmp120 = einsum(t2.aaaa, (0, 1, 2, 3), tmp6, (1, 0, 4, 5), (4, 5, 2, 3)) * -1
+    tmp121 = einsum(t1.aa, (0, 1), tmp107, (0, 2, 3, 4), (2, 3, 4, 1)) * -1
+    tmp116 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (4, 1), (0, 4, 2, 3))
+    tmp124 = np.copy(tmp83) * 0.25
+    tmp124 += tmp84
+    tmp111 = np.copy(tmp108) * 0.5
+    del tmp108
+    tmp111 += tmp80 * 0.5
+    tmp111 += tmp81
+    tmp114 = einsum(t1.aa, (0, 1), tmp27, (0, 2, 3, 4), (2, 3, 1, 4))
+    tmp110 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (2, 4, 1, 5))
+    tmp122 = np.copy(tmp70)
+    tmp122 += tmp68
+    tmp117 = np.copy(tmp66)
+    tmp117 += tmp106 * 0.25
+    tmp96 = np.copy(tmp35)
+    tmp96 += tmp36 * 2
+    tmp94 = einsum(tmp84, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 1, 5, 3))
+    tmp82 = np.copy(tmp80) * 0.5
+    tmp82 += tmp81
+    tmp103 = einsum(tmp102, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3))
+    del tmp102
+    tmp97 = einsum(tmp49, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3))
+    tmp101 = einsum(tmp52, (0, 1, 2, 3), t1.bb, (0, 4), (1, 3, 2, 4))
+    tmp98 = einsum(t2.bbbb, (0, 1, 2, 3), tmp17, (1, 4), (0, 4, 2, 3)) * -1
+    tmp62 = np.copy(tmp39) * 0.5
+    tmp62 += tmp40
+    tmp62 += tmp61
+    del tmp61
+    tmp37 = np.copy(t1.bb)
+    tmp37 += tmp35
+    tmp37 += tmp36 * 2
+    tmp100 = einsum(t2.bbbb, (0, 1, 2, 3), tmp52, (0, 1, 4, 5), (4, 5, 2, 3))
+    tmp92 = np.copy(tmp80)
+    del tmp80
+    tmp92 += tmp81 * 2
+    del tmp81
+    tmp93 = einsum(tmp86, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5))
+    tmp48 = np.copy(t1.bb)
+    tmp48 += tmp35
+    tmp48 += tmp36 * 2
+    tmp99 = einsum(t2.bbbb, (0, 1, 2, 3), tmp58, (1, 4), (0, 4, 2, 3)) * -2
+    tmp42 = np.copy(tmp39)
+    del tmp39
+    tmp42 += tmp40 * 2
+    del tmp40
+    tmp42 += tmp41
+    del tmp41
+    tmp95 = einsum(tmp83, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (1, 4, 3, 5))
+    tmp91 = np.copy(tmp57)
+    tmp91 += tmp56
+    tmp72 = np.copy(tmp21) * 2
+    tmp72 += tmp22
+    tmp74 = np.copy(tmp63) * 2
+    tmp74 += tmp64
+    tmp55 = einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (2, 1, 3, 4))
+    tmp47 = einsum(t2.abab, (0, 1, 2, 3), tmp14, (4, 1, 5, 2), (4, 0, 5, 3))
+    tmp46 = einsum(tmp45, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4))
+    tmp30 = np.copy(tmp26) * 2
+    del tmp26
+    tmp30 += tmp28
+    del tmp28
+    tmp30 += tmp29
+    del tmp29
+    tmp90 = np.copy(tmp44)
+    tmp90 += tmp43
+    tmp59 = einsum(t2.abab, (0, 1, 2, 3), tmp27, (0, 4, 5, 3), (4, 5, 1, 2))
+    tmp38 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 4), (4, 0, 1, 3))
+    tmp54 = np.copy(t1.aa)
+    tmp54 += tmp21 * 2
+    tmp54 += tmp22
+    tmp75 = einsum(t2.aaaa, (0, 1, 2, 3), tmp12, (1, 4), (4, 0, 2, 3)) * -2
+    tmp24 = np.copy(t1.aa)
+    tmp24 += tmp21 * 2
+    tmp24 += tmp22
+    tmp73 = einsum(tmp25, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3))
+    tmp71 = einsum(t2.abab, (0, 1, 2, 3), tmp70, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp77 = einsum(t1.aa, (0, 1), tmp33, (0, 2, 3, 4), (2, 4, 3, 1))
+    tmp76 = einsum(t2.aaaa, (0, 1, 2, 3), tmp33, (0, 1, 4, 5), (4, 5, 2, 3))
+    tmp65 = np.copy(tmp63)
+    del tmp63
+    tmp65 += tmp64 * 0.5
+    del tmp64
+    tmp79 = einsum(tmp78, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3))
+    del tmp78
+    tmp69 = einsum(tmp68, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp67 = einsum(t2.aaaa, (0, 1, 2, 3), tmp66, (1, 4, 3, 5), (4, 0, 5, 2))
+    tmp60 = np.copy(t1.bb) * 0.5
+    tmp60 += tmp35 * 0.5
+    del tmp35
+    tmp60 += tmp36
+    del tmp36
+    tmp53 = einsum(tmp52, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4)) * 2
+    del tmp52
+    tmp23 = np.copy(t1.aa) * 0.5
+    tmp23 += tmp21
+    del tmp21
+    tmp23 += tmp22 * 0.5
+    del tmp22
+    tmp4 = np.copy(tmp0)
+    tmp4 += tmp1 * 2
+    tmp4 += tmp2
+    tmp34 = einsum(t1.aa, (0, 1), tmp33, (0, 2, 3, 4), (2, 3, 4, 1)) * 2
+    del tmp33
+    tmp16 = np.copy(delta.bb.oo) * -1
+    tmp16 += tmp8
+    tmp16 += tmp9
+    tmp16 += tmp10 * 2
+    tmp11 = np.copy(delta.bb.oo) * -0.5
+    tmp11 += tmp8 * 0.5
+    del tmp8
+    tmp11 += tmp9 * 0.5
+    del tmp9
+    tmp11 += tmp10
+    del tmp10
+    tmp3 = np.copy(delta.aa.oo) * -1
+    tmp3 += tmp0
+    del tmp0
+    tmp3 += tmp1 * 2
+    del tmp1
+    tmp3 += tmp2
+    del tmp2
+    rdm2.bbbb.vvvv = np.copy(np.transpose(tmp132, (1, 0, 3, 2))) * 2
+    del tmp132
+    rdm2.bbbb.vvvv += einsum(t1.bb, (0, 1), tmp130, (0, 2, 3, 4), (2, 3, 1, 4)) * 2
+    rdm2.abab.vvvv = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 5), (0, 1, 4, 5))
+    rdm2.abab.vvvv += einsum(tmp129, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3))
+    rdm2.aaaa.vvvv = np.copy(np.transpose(tmp131, (1, 0, 3, 2))) * 2
+    del tmp131
+    rdm2.aaaa.vvvv += einsum(tmp128, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3)) * 2
+    rdm2.bbbb.vvvo = np.copy(np.transpose(tmp130, (2, 1, 3, 0))) * 2
+    rdm2.abab.vvvo = einsum(l2.abab, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    rdm2.aaaa.vvvo = np.copy(np.transpose(tmp128, (2, 1, 3, 0))) * 2
+    rdm2.bbbb.vvov = np.copy(np.transpose(tmp130, (2, 1, 0, 3))) * -2
+    del tmp130
+    rdm2.abab.vvov = np.copy(np.transpose(tmp129, (1, 2, 0, 3)))
+    del tmp129
+    rdm2.aaaa.vvov = np.copy(np.transpose(tmp128, (2, 1, 0, 3))) * -2
+    del tmp128
+    rdm2.bbbb.vovv = np.copy(np.transpose(tmp123, (1, 0, 3, 2))) * 2
+    rdm2.bbbb.vovv += einsum(t1.bb, (0, 1), tmp109, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.bbbb.vovv += einsum(t1.bb, (0, 1), tmp109, (2, 3), (2, 0, 3, 1))
+    rdm2.bbbb.vovv += np.transpose(tmp125, (2, 0, 1, 3))
+    rdm2.bbbb.vovv += np.transpose(tmp125, (2, 0, 3, 1)) * -1
+    rdm2.bbbb.vovv += np.transpose(tmp126, (1, 0, 3, 2)) * 2
+    rdm2.bbbb.vovv += np.transpose(tmp127, (1, 0, 3, 2)) * 2
+    rdm2.abab.vovv = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (4, 0), (4, 1, 2, 3))
+    rdm2.abab.vovv += einsum(t1.bb, (0, 1), tmp105, (2, 3), (2, 0, 3, 1)) * 2
+    rdm2.abab.vovv += einsum(tmp88, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 4, 3)) * 2
+    rdm2.abab.vovv += einsum(tmp89, (0, 1, 2, 3), t1.bb, (0, 4), (2, 1, 3, 4)) * -1
+    rdm2.abab.vovv += einsum(t2.abab, (0, 1, 2, 3), tmp14, (0, 1, 4, 5), (5, 4, 2, 3)) * -1
+    rdm2.abab.vovv += einsum(tmp115, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 4, 3)) * -1
+    rdm2.aaaa.vovv = np.copy(np.transpose(tmp116, (1, 0, 3, 2))) * 2
+    rdm2.aaaa.vovv += einsum(tmp113, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.aaaa.vovv += einsum(tmp105, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3)) * 2
+    rdm2.aaaa.vovv += np.transpose(tmp119, (2, 0, 1, 3))
+    rdm2.aaaa.vovv += np.transpose(tmp119, (2, 0, 3, 1)) * -1
+    rdm2.aaaa.vovv += np.transpose(tmp120, (1, 0, 3, 2)) * 2
+    rdm2.aaaa.vovv += np.transpose(tmp121, (1, 0, 3, 2)) * 2
+    rdm2.bbbb.ovvv = np.copy(np.transpose(tmp123, (0, 1, 3, 2))) * -2
+    del tmp123
+    rdm2.bbbb.ovvv += einsum(t1.bb, (0, 1), tmp109, (2, 3), (0, 2, 1, 3))
+    rdm2.bbbb.ovvv += einsum(t1.bb, (0, 1), tmp111, (2, 3), (0, 2, 3, 1)) * -2
+    rdm2.bbbb.ovvv += einsum(tmp124, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3)) * -4
+    del tmp124
+    rdm2.bbbb.ovvv += np.transpose(tmp125, (0, 2, 3, 1))
+    del tmp125
+    rdm2.bbbb.ovvv += np.transpose(tmp126, (0, 1, 3, 2)) * -2
+    del tmp126
+    rdm2.bbbb.ovvv += np.transpose(tmp127, (0, 1, 3, 2)) * -2
+    del tmp127
+    rdm2.abab.ovvv = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4))
+    rdm2.abab.ovvv += einsum(tmp111, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) * 2
+    rdm2.abab.ovvv += einsum(t1.aa, (0, 1), tmp110, (0, 2, 3, 4), (2, 3, 1, 4)) * -1
+    rdm2.abab.ovvv += einsum(tmp122, (0, 1, 2, 3), t1.bb, (1, 4), (0, 3, 2, 4)) * 2
+    del tmp122
+    rdm2.abab.ovvv += einsum(t2.abab, (0, 1, 2, 3), tmp27, (0, 4, 1, 5), (4, 5, 2, 3)) * -1
+    rdm2.abab.ovvv += einsum(t1.bb, (0, 1), tmp114, (2, 0, 3, 4), (2, 4, 3, 1)) * -1
+    rdm2.aaaa.ovvv = np.copy(np.transpose(tmp116, (0, 1, 3, 2))) * -2
+    del tmp116
+    rdm2.aaaa.ovvv += einsum(tmp113, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1))
+    rdm2.aaaa.ovvv += einsum(tmp105, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3)) * -2
+    rdm2.aaaa.ovvv += einsum(t1.aa, (0, 1), tmp117, (0, 2, 3, 4), (2, 3, 1, 4)) * -4
+    del tmp117
+    rdm2.aaaa.ovvv += np.transpose(tmp119, (0, 2, 3, 1))
+    del tmp119
+    rdm2.aaaa.ovvv += np.transpose(tmp120, (0, 1, 3, 2)) * -2
+    del tmp120
+    rdm2.aaaa.ovvv += np.transpose(tmp121, (0, 1, 3, 2)) * -2
+    del tmp121
+    rdm2.bbbb.vvoo = np.copy(l2.bbbb) * 2
+    rdm2.abab.vvoo = np.copy(l2.abab)
+    rdm2.aaaa.vvoo = np.copy(l2.aaaa) * 2
+    rdm2.bbbb.vovo = einsum(delta.bb.oo, (0, 1), tmp109, (2, 3), (2, 0, 3, 1))
+    rdm2.bbbb.vovo += np.transpose(tmp84, (2, 1, 3, 0)) * -4
+    rdm2.bbbb.vovo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.bbbb.vovo += np.transpose(tmp83, (2, 1, 3, 0)) * -1
+    rdm2.bbbb.vovo += np.transpose(tmp112, (2, 1, 3, 0)) * 2
+    rdm2.abab.vovo = einsum(delta.bb.oo, (0, 1), tmp105, (2, 3), (2, 0, 3, 1)) * 2
+    rdm2.abab.vovo += np.transpose(tmp89, (2, 1, 3, 0)) * -1
+    rdm2.abab.vovo += einsum(tmp14, (0, 1, 2, 3), t1.aa, (0, 4), (3, 2, 4, 1)) * -1
+    rdm2.aaaa.vovo = einsum(delta.aa.oo, (0, 1), tmp113, (2, 3), (2, 0, 3, 1))
+    rdm2.aaaa.vovo += np.transpose(tmp66, (2, 1, 3, 0)) * -4
+    rdm2.aaaa.vovo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.aaaa.vovo += np.transpose(tmp106, (2, 1, 3, 0)) * -1
+    rdm2.aaaa.vovo += np.transpose(tmp107, (2, 1, 3, 0)) * 2
+    rdm2.bbbb.voov = einsum(delta.bb.oo, (0, 1), tmp111, (2, 3), (2, 0, 1, 3)) * -2
+    rdm2.bbbb.voov += np.transpose(tmp84, (2, 1, 0, 3)) * 4
+    rdm2.bbbb.voov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1))
+    rdm2.bbbb.voov += np.transpose(tmp83, (2, 1, 0, 3))
+    rdm2.bbbb.voov += np.transpose(tmp112, (2, 1, 0, 3)) * -2
+    rdm2.abab.voov = np.copy(np.transpose(tmp86, (2, 1, 0, 3))) * 2
+    del tmp86
+    rdm2.abab.voov += np.transpose(tmp87, (2, 1, 0, 3)) * 2
+    del tmp87
+    rdm2.abab.voov += einsum(t1.bb, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1))
+    rdm2.abab.voov += np.transpose(tmp115, (2, 1, 0, 3)) * -1
+    del tmp115
+    rdm2.aaaa.voov = einsum(delta.aa.oo, (0, 1), tmp105, (2, 3), (2, 0, 1, 3)) * -2
+    rdm2.aaaa.voov += np.transpose(tmp66, (2, 1, 0, 3)) * 4
+    rdm2.aaaa.voov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3))
+    rdm2.aaaa.voov += np.transpose(tmp106, (2, 1, 0, 3))
+    rdm2.aaaa.voov += np.transpose(tmp107, (2, 1, 0, 3)) * -2
+    rdm2.bbbb.ovvo = einsum(delta.bb.oo, (0, 1), tmp109, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.bbbb.ovvo += np.transpose(tmp84, (1, 2, 3, 0)) * 4
+    rdm2.bbbb.ovvo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3))
+    rdm2.bbbb.ovvo += np.transpose(tmp83, (1, 2, 3, 0))
+    rdm2.bbbb.ovvo += np.transpose(tmp112, (1, 2, 3, 0)) * -2
+    rdm2.abab.ovvo = np.copy(np.transpose(tmp70, (0, 3, 2, 1))) * 2
+    del tmp70
+    rdm2.abab.ovvo += einsum(l1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1))
+    rdm2.abab.ovvo += np.transpose(tmp68, (0, 3, 2, 1)) * 2
+    del tmp68
+    rdm2.abab.ovvo += np.transpose(tmp114, (0, 3, 2, 1)) * -1
+    del tmp114
+    rdm2.aaaa.ovvo = einsum(delta.aa.oo, (0, 1), tmp113, (2, 3), (0, 2, 3, 1)) * -1
+    del tmp113
+    rdm2.aaaa.ovvo += np.transpose(tmp66, (1, 2, 3, 0)) * 4
+    rdm2.aaaa.ovvo += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1))
+    rdm2.aaaa.ovvo += np.transpose(tmp106, (1, 2, 3, 0))
+    rdm2.aaaa.ovvo += np.transpose(tmp107, (1, 2, 3, 0)) * -2
+    rdm2.bbbb.ovov = einsum(delta.bb.oo, (0, 1), tmp111, (2, 3), (0, 2, 1, 3)) * 2
+    del tmp111
+    rdm2.bbbb.ovov += np.transpose(tmp84, (1, 2, 0, 3)) * -4
+    del tmp84
+    rdm2.bbbb.ovov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.bbbb.ovov += np.transpose(tmp83, (1, 2, 0, 3)) * -1
+    del tmp83
+    rdm2.bbbb.ovov += np.transpose(tmp112, (1, 2, 0, 3)) * 2
+    del tmp112
+    rdm2.abab.ovov = einsum(delta.aa.oo, (0, 1), tmp109, (2, 3), (0, 2, 1, 3))
+    del tmp109
+    rdm2.abab.ovov += np.transpose(tmp110, (1, 2, 0, 3)) * -1
+    del tmp110
+    rdm2.abab.ovov += einsum(t1.bb, (0, 1), tmp27, (2, 3, 0, 4), (3, 4, 2, 1)) * -1
+    rdm2.aaaa.ovov = einsum(delta.aa.oo, (0, 1), tmp105, (2, 3), (0, 2, 1, 3)) * 2
+    del tmp105
+    rdm2.aaaa.ovov += np.transpose(tmp66, (1, 2, 0, 3)) * -4
+    del tmp66
+    rdm2.aaaa.ovov += einsum(l1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.aaaa.ovov += np.transpose(tmp106, (1, 2, 0, 3)) * -1
+    del tmp106
+    rdm2.aaaa.ovov += np.transpose(tmp107, (1, 2, 0, 3)) * 2
+    del tmp107
+    rdm2.bbbb.oovv = np.copy(t2.bbbb) * 2
+    rdm2.bbbb.oovv += einsum(tmp92, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 4, 1)) * -2
+    del tmp92
+    rdm2.bbbb.oovv += np.transpose(tmp93, (0, 1, 3, 2)) * -2
+    rdm2.bbbb.oovv += np.transpose(tmp94, (0, 1, 3, 2)) * -8
+    rdm2.bbbb.oovv += np.transpose(tmp95, (0, 1, 3, 2)) * -2
+    rdm2.bbbb.oovv += np.transpose(tmp95, (1, 0, 2, 3)) * -2
+    rdm2.bbbb.oovv += einsum(tmp48, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.bbbb.oovv += np.transpose(tmp93, (1, 0, 3, 2)) * 2
+    del tmp93
+    rdm2.bbbb.oovv += tmp94 * 8
+    del tmp94
+    rdm2.bbbb.oovv += tmp95 * 2
+    rdm2.bbbb.oovv += np.transpose(tmp95, (1, 0, 3, 2)) * 2
+    del tmp95
+    rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp37, (2, 3), (0, 2, 1, 3))
+    rdm2.bbbb.oovv += einsum(tmp96, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3))
+    rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp96, (2, 3), (0, 2, 3, 1)) * -1
+    del tmp96
+    rdm2.bbbb.oovv += tmp97 * 2
+    rdm2.bbbb.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp82, (3, 4), (0, 1, 4, 2)) * 4
+    rdm2.bbbb.oovv += np.transpose(tmp97, (0, 1, 3, 2)) * -2
+    del tmp97
+    rdm2.bbbb.oovv += np.transpose(tmp98, (0, 1, 3, 2)) * -1
+    rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp42, (2, 3), (0, 2, 1, 3)) * -1
+    rdm2.bbbb.oovv += np.transpose(tmp99, (0, 1, 3, 2)) * -1
+    rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp42, (2, 3), (0, 2, 3, 1))
+    rdm2.bbbb.oovv += np.transpose(tmp99, (1, 0, 3, 2))
+    del tmp99
+    rdm2.bbbb.oovv += einsum(tmp42, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1))
+    rdm2.bbbb.oovv += np.transpose(tmp98, (1, 0, 3, 2))
+    del tmp98
+    rdm2.bbbb.oovv += einsum(tmp62, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) * -2
+    rdm2.bbbb.oovv += np.transpose(tmp100, (1, 0, 3, 2)) * 2
+    del tmp100
+    rdm2.bbbb.oovv += einsum(tmp101, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3)) * 2
+    del tmp101
+    rdm2.bbbb.oovv += np.transpose(tmp103, (1, 0, 2, 3))
+    rdm2.bbbb.oovv += tmp103 * -1
+    rdm2.bbbb.oovv += np.transpose(tmp103, (1, 0, 3, 2)) * -1
+    rdm2.bbbb.oovv += np.transpose(tmp103, (0, 1, 3, 2))
+    del tmp103
+    rdm2.abab.oovv = np.copy(t2.abab)
+    rdm2.abab.oovv += einsum(tmp82, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -2
+    del tmp82
+    rdm2.abab.oovv += einsum(tmp85, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3))
+    del tmp85
+    rdm2.abab.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp88, (1, 4, 3, 5), (0, 4, 2, 5)) * 4
+    del tmp88
+    rdm2.abab.oovv += einsum(tmp37, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1))
+    rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp72, (2, 3), (2, 0, 3, 1))
+    rdm2.abab.oovv += einsum(tmp38, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3)) * -1
+    rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp74, (2, 4), (0, 1, 4, 3)) * -1
+    rdm2.abab.oovv += einsum(tmp55, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4)) * -1
+    rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp58, (1, 4), (0, 4, 2, 3)) * -2
+    rdm2.abab.oovv += einsum(tmp42, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) * -1
+    rdm2.abab.oovv += einsum(tmp12, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -2
+    rdm2.abab.oovv += einsum(tmp45, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 3, 4, 5))
+    rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp46, (0, 2, 3, 4), (2, 3, 1, 4))
+    rdm2.abab.oovv += einsum(tmp89, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5))
+    del tmp89
+    rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp30, (2, 3), (2, 0, 3, 1)) * -1
+    rdm2.abab.oovv += einsum(tmp47, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3))
+    rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp90, (0, 2, 3, 4), (2, 3, 1, 4)) * -2
+    del tmp90
+    rdm2.abab.oovv += einsum(tmp91, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4)) * -2
+    del tmp91
+    rdm2.abab.oovv += einsum(tmp59, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4))
+    rdm2.aaaa.oovv = np.copy(t2.aaaa) * 2
+    rdm2.aaaa.oovv += einsum(tmp65, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -4
+    del tmp65
+    rdm2.aaaa.oovv += np.transpose(tmp67, (0, 1, 3, 2)) * -8
+    rdm2.aaaa.oovv += np.transpose(tmp69, (0, 1, 3, 2)) * -2
+    rdm2.aaaa.oovv += np.transpose(tmp71, (0, 1, 3, 2)) * -2
+    rdm2.aaaa.oovv += np.transpose(tmp71, (1, 0, 2, 3)) * -2
+    rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp54, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.aaaa.oovv += tmp67 * 8
+    del tmp67
+    rdm2.aaaa.oovv += tmp69 * 2
+    del tmp69
+    rdm2.aaaa.oovv += tmp71 * 2
+    rdm2.aaaa.oovv += np.transpose(tmp71, (1, 0, 3, 2)) * 2
+    del tmp71
+    rdm2.aaaa.oovv += einsum(tmp24, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1))
+    rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp72, (2, 3), (2, 0, 3, 1))
+    rdm2.aaaa.oovv += einsum(tmp72, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3)) * -1
+    del tmp72
+    rdm2.aaaa.oovv += tmp73 * 2
+    rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp74, (3, 4), (0, 1, 4, 2)) * 2
+    del tmp74
+    rdm2.aaaa.oovv += np.transpose(tmp73, (0, 1, 3, 2)) * -2
+    del tmp73
+    rdm2.aaaa.oovv += np.transpose(tmp75, (1, 0, 3, 2)) * -2
+    rdm2.aaaa.oovv += einsum(tmp30, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) * -1
+    rdm2.aaaa.oovv += einsum(tmp30, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3))
+    rdm2.aaaa.oovv += np.transpose(tmp75, (0, 1, 3, 2)) * 2
+    del tmp75
+    rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp30, (2, 3), (2, 0, 1, 3))
+    rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp30, (2, 3), (2, 0, 3, 1)) * -1
+    rdm2.aaaa.oovv += np.transpose(tmp76, (1, 0, 3, 2)) * 2
+    del tmp76
+    rdm2.aaaa.oovv += einsum(tmp77, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3)) * 2
+    del tmp77
+    rdm2.aaaa.oovv += np.transpose(tmp79, (1, 0, 2, 3))
+    rdm2.aaaa.oovv += tmp79 * -1
+    rdm2.aaaa.oovv += np.transpose(tmp79, (1, 0, 3, 2)) * -1
+    rdm2.aaaa.oovv += np.transpose(tmp79, (0, 1, 3, 2))
+    del tmp79
+    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(tmp19, (3, 2, 1, 0)) * 2
+    rdm2.abab.vooo = einsum(delta.bb.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1))
+    rdm2.abab.vooo += np.transpose(tmp14, (3, 2, 0, 1)) * -1
+    del tmp14
+    rdm2.aaaa.vooo = einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1))
+    rdm2.aaaa.vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.aaaa.vooo += np.transpose(tmp6, (3, 2, 1, 0)) * 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))
+    rdm2.bbbb.ovoo += np.transpose(tmp19, (2, 3, 1, 0)) * -2
+    del tmp19
+    rdm2.abab.ovoo = einsum(delta.aa.oo, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3))
+    rdm2.abab.ovoo += np.transpose(tmp27, (1, 3, 0, 2)) * -1
+    del tmp27
+    rdm2.aaaa.ovoo = einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.aaaa.ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 1, 3))
+    rdm2.aaaa.ovoo += np.transpose(tmp6, (2, 3, 1, 0)) * -2
+    del tmp6
+    rdm2.bbbb.oovo = einsum(tmp60, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) * 2
+    del tmp60
+    rdm2.bbbb.oovo += einsum(tmp37, (0, 1), delta.bb.oo, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.bbbb.oovo += np.transpose(tmp49, (2, 1, 3, 0)) * 2
+    rdm2.bbbb.oovo += einsum(tmp62, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) * -2
+    rdm2.bbbb.oovo += einsum(tmp62, (0, 1), delta.bb.oo, (2, 3), (2, 0, 1, 3)) * 2
+    del tmp62
+    rdm2.bbbb.oovo += np.transpose(tmp50, (1, 2, 3, 0)) * 4
+    rdm2.bbbb.oovo += np.transpose(tmp51, (1, 2, 3, 0))
+    rdm2.bbbb.oovo += einsum(tmp58, (0, 1), t1.bb, (2, 3), (1, 2, 3, 0)) * 2
+    rdm2.bbbb.oovo += np.transpose(tmp50, (2, 1, 3, 0)) * -4
+    rdm2.bbbb.oovo += np.transpose(tmp51, (2, 1, 3, 0)) * -1
+    rdm2.bbbb.oovo += einsum(tmp58, (0, 1), t1.bb, (2, 3), (2, 1, 3, 0)) * -2
+    rdm2.bbbb.oovo += np.transpose(tmp53, (2, 1, 3, 0)) * -1
+    rdm2.abab.oovo = einsum(delta.bb.oo, (0, 1), tmp23, (2, 3), (2, 0, 3, 1)) * 2
+    rdm2.abab.oovo += np.transpose(tmp55, (0, 2, 3, 1)) * -1
+    del tmp55
+    rdm2.abab.oovo += einsum(delta.bb.oo, (0, 1), tmp30, (2, 3), (2, 0, 3, 1)) * -1
+    rdm2.abab.oovo += np.transpose(tmp56, (0, 2, 3, 1)) * -2
+    del tmp56
+    rdm2.abab.oovo += np.transpose(tmp57, (0, 2, 3, 1)) * -2
+    del tmp57
+    rdm2.abab.oovo += einsum(tmp58, (0, 1), t1.aa, (2, 3), (2, 1, 3, 0)) * -2
+    del tmp58
+    rdm2.abab.oovo += einsum(tmp45, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 4, 2))
+    del tmp45
+    rdm2.abab.oovo += np.transpose(tmp59, (0, 2, 3, 1))
+    del tmp59
+    rdm2.aaaa.oovo = einsum(delta.aa.oo, (0, 1), tmp54, (2, 3), (2, 0, 3, 1))
+    del tmp54
+    rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp24, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.aaaa.oovo += np.transpose(tmp25, (2, 1, 3, 0)) * 2
+    rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp30, (2, 3), (2, 0, 3, 1)) * -1
+    rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp30, (2, 3), (0, 2, 3, 1))
+    rdm2.aaaa.oovo += np.transpose(tmp31, (1, 2, 3, 0))
+    rdm2.aaaa.oovo += np.transpose(tmp32, (1, 2, 3, 0)) * 4
+    rdm2.aaaa.oovo += einsum(t1.aa, (0, 1), tmp4, (2, 3), (3, 0, 1, 2))
+    rdm2.aaaa.oovo += np.transpose(tmp31, (2, 1, 3, 0)) * -1
+    rdm2.aaaa.oovo += np.transpose(tmp32, (2, 1, 3, 0)) * -4
+    rdm2.aaaa.oovo += einsum(tmp4, (0, 1), t1.aa, (2, 3), (2, 1, 3, 0)) * -1
+    rdm2.aaaa.oovo += np.transpose(tmp34, (2, 1, 3, 0)) * -1
+    rdm2.bbbb.ooov = einsum(tmp48, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) * -1
+    del tmp48
+    rdm2.bbbb.ooov += einsum(tmp37, (0, 1), delta.bb.oo, (2, 3), (2, 0, 3, 1))
+    rdm2.bbbb.ooov += np.transpose(tmp49, (2, 1, 0, 3)) * -2
+    del tmp49
+    rdm2.bbbb.ooov += einsum(tmp42, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1))
+    rdm2.bbbb.ooov += einsum(tmp42, (0, 1), delta.bb.oo, (2, 3), (2, 0, 3, 1)) * -1
+    rdm2.bbbb.ooov += np.transpose(tmp50, (1, 2, 0, 3)) * -4
+    rdm2.bbbb.ooov += np.transpose(tmp51, (1, 2, 0, 3)) * -1
+    rdm2.bbbb.ooov += einsum(tmp17, (0, 1), t1.bb, (2, 3), (1, 2, 0, 3)) * -1
+    rdm2.bbbb.ooov += np.transpose(tmp50, (2, 1, 0, 3)) * 4
+    del tmp50
+    rdm2.bbbb.ooov += np.transpose(tmp51, (2, 1, 0, 3))
+    del tmp51
+    rdm2.bbbb.ooov += einsum(t1.bb, (0, 1), tmp17, (2, 3), (0, 3, 2, 1))
+    rdm2.bbbb.ooov += np.transpose(tmp53, (2, 1, 0, 3))
+    del tmp53
+    rdm2.abab.ooov = einsum(delta.aa.oo, (0, 1), tmp37, (2, 3), (0, 2, 1, 3))
+    del tmp37
+    rdm2.abab.ooov += np.transpose(tmp38, (1, 2, 0, 3)) * -1
+    del tmp38
+    rdm2.abab.ooov += einsum(delta.aa.oo, (0, 1), tmp42, (2, 3), (0, 2, 1, 3)) * -1
+    del tmp42
+    rdm2.abab.ooov += np.transpose(tmp43, (1, 2, 0, 3)) * -2
+    del tmp43
+    rdm2.abab.ooov += np.transpose(tmp44, (1, 2, 0, 3)) * -2
+    del tmp44
+    rdm2.abab.ooov += einsum(t1.bb, (0, 1), tmp4, (2, 3), (3, 0, 2, 1)) * -1
+    rdm2.abab.ooov += np.transpose(tmp46, (1, 2, 0, 3))
+    del tmp46
+    rdm2.abab.ooov += np.transpose(tmp47, (1, 2, 0, 3))
+    del tmp47
+    rdm2.aaaa.ooov = einsum(delta.aa.oo, (0, 1), tmp23, (2, 3), (2, 0, 1, 3)) * -2
+    del tmp23
+    rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp24, (2, 3), (0, 2, 1, 3))
+    del tmp24
+    rdm2.aaaa.ooov += np.transpose(tmp25, (2, 1, 0, 3)) * -2
+    del tmp25
+    rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp30, (2, 3), (2, 0, 1, 3))
+    rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp30, (2, 3), (0, 2, 1, 3)) * -1
+    del tmp30
+    rdm2.aaaa.ooov += np.transpose(tmp31, (1, 2, 0, 3)) * -1
+    rdm2.aaaa.ooov += np.transpose(tmp32, (1, 2, 0, 3)) * -4
+    rdm2.aaaa.ooov += einsum(t1.aa, (0, 1), tmp4, (2, 3), (3, 0, 2, 1)) * -1
+    rdm2.aaaa.ooov += np.transpose(tmp31, (2, 1, 0, 3))
+    del tmp31
+    rdm2.aaaa.ooov += np.transpose(tmp32, (2, 1, 0, 3)) * 4
+    del tmp32
+    rdm2.aaaa.ooov += einsum(tmp4, (0, 1), t1.aa, (2, 3), (2, 1, 0, 3))
+    rdm2.aaaa.ooov += np.transpose(tmp34, (2, 1, 0, 3))
+    del tmp34
+    rdm2.bbbb.oooo = einsum(delta.bb.oo, (0, 1), tmp16, (2, 3), (0, 3, 1, 2)) * -1
+    rdm2.bbbb.oooo += einsum(tmp16, (0, 1), delta.bb.oo, (2, 3), (1, 2, 3, 0))
+    del tmp16
+    rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp17, (2, 3), (3, 0, 2, 1)) * -1
+    rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp17, (2, 3), (0, 3, 2, 1))
+    del tmp17
+    rdm2.bbbb.oooo += np.transpose(tmp18, (3, 2, 1, 0)) * 2
+    del tmp18
+    rdm2.bbbb.oooo += np.transpose(tmp20, (2, 3, 1, 0)) * -2
+    del tmp20
+    rdm2.abab.oooo = einsum(delta.aa.oo, (0, 1), tmp11, (2, 3), (0, 3, 1, 2)) * -2
+    del tmp11
+    rdm2.abab.oooo += einsum(delta.bb.oo, (0, 1), tmp12, (2, 3), (3, 0, 2, 1)) * -2
+    del tmp12
+    rdm2.abab.oooo += np.transpose(tmp13, (1, 3, 0, 2))
+    del tmp13
+    rdm2.abab.oooo += np.transpose(tmp15, (1, 3, 0, 2))
+    del tmp15
+    rdm2.aaaa.oooo = einsum(delta.aa.oo, (0, 1), tmp3, (2, 3), (0, 3, 1, 2)) * -1
+    rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp3, (2, 3), (3, 0, 1, 2))
+    del tmp3
+    rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp4, (2, 3), (3, 0, 2, 1)) * -1
+    rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp4, (2, 3), (0, 3, 2, 1))
+    del delta, tmp4
+    rdm2.aaaa.oooo += np.transpose(tmp5, (3, 2, 1, 0)) * 2
+    del tmp5
+    rdm2.aaaa.oooo += np.transpose(tmp7, (2, 3, 1, 0)) * -2
+    del tmp7
+    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
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCC2.hbar_matvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:54:31.138023.

+

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

+

tmp1 : array +tmp103 : array +tmp107 : array +tmp11 : array +tmp111 : array +tmp113 : array +tmp12 : array +tmp121 : array +tmp123 : array +tmp125 : array +tmp127 : array +tmp128 : array +tmp129 : array +tmp137 : array +tmp138 : array +tmp14 : array +tmp141 : array +tmp148 : array +tmp153 : array +tmp156 : array +tmp157 : array +tmp159 : array +tmp160 : array +tmp161 : array +tmp163 : array +tmp166 : array +tmp17 : array +tmp170 : array +tmp172 : array +tmp173 : array +tmp174 : array +tmp175 : array +tmp176 : array +tmp178 : array +tmp18 : array +tmp180 : array +tmp183 : array +tmp184 : array +tmp185 : array +tmp186 : array +tmp189 : array +tmp19 : array +tmp190 : array +tmp197 : array +tmp199 : array +tmp2 : array +tmp204 : array +tmp206 : array +tmp208 : array +tmp21 : array +tmp210 : array +tmp22 : array +tmp220 : array +tmp24 : array +tmp26 : array +tmp27 : array +tmp29 : array +tmp30 : array +tmp32 : array +tmp33 : array +tmp34 : array +tmp36 : array +tmp37 : array +tmp39 : array +tmp4 : array +tmp41 : array +tmp42 : array +tmp43 : array +tmp47 : array +tmp49 : array +tmp51 : array +tmp52 : array +tmp54 : array +tmp55 : array +tmp57 : array +tmp58 : array +tmp59 : array +tmp61 : array +tmp66 : array +tmp67 : array +tmp69 : array +tmp7 : array +tmp71 : array +tmp72 : array +tmp75 : array +tmp78 : array +tmp79 : array +tmp80 : array +tmp82 : array +tmp83 : array +tmp84 : array +tmp86 : array +tmp88 : array +tmp9 : array +tmp90 : array +tmp92 : array +tmp94 : array +tmp97 : array +tmp98 : array

+ +
+ Source code in ebcc/codegen/UDFCC2.py +
2028
+2029
+2030
+2031
+2032
+2033
+2034
+2035
+2036
+2037
+2038
+2039
+2040
+2041
+2042
+2043
+2044
+2045
+2046
+2047
+2048
+2049
+2050
+2051
+2052
+2053
+2054
+2055
+2056
+2057
+2058
+2059
+2060
+2061
+2062
+2063
+2064
+2065
+2066
+2067
+2068
+2069
+2070
+2071
+2072
+2073
+2074
+2075
+2076
+2077
+2078
+2079
+2080
+2081
+2082
+2083
+2084
+2085
+2086
+2087
+2088
+2089
+2090
+2091
+2092
+2093
+2094
+2095
+2096
+2097
+2098
+2099
+2100
+2101
+2102
+2103
+2104
+2105
+2106
+2107
+2108
+2109
+2110
+2111
+2112
+2113
+2114
+2115
+2116
+2117
+2118
+2119
+2120
+2121
+2122
+2123
+2124
+2125
+2126
+2127
+2128
+2129
+2130
+2131
+2132
+2133
+2134
+2135
+2136
+2137
+2138
+2139
+2140
+2141
+2142
+2143
+2144
+2145
+2146
+2147
+2148
+2149
+2150
+2151
+2152
+2153
+2154
+2155
+2156
+2157
+2158
+2159
+2160
+2161
+2162
+2163
+2164
+2165
+2166
+2167
+2168
+2169
+2170
+2171
+2172
+2173
+2174
+2175
+2176
+2177
+2178
+2179
+2180
+2181
+2182
+2183
+2184
+2185
+2186
+2187
+2188
+2189
+2190
+2191
+2192
+2193
+2194
+2195
+2196
+2197
+2198
+2199
+2200
+2201
+2202
+2203
+2204
+2205
+2206
+2207
+2208
+2209
+2210
+2211
+2212
+2213
+2214
+2215
+2216
+2217
+2218
+2219
+2220
+2221
+2222
+2223
+2224
+2225
+2226
+2227
+2228
+2229
+2230
+2231
+2232
+2233
+2234
+2235
+2236
+2237
+2238
+2239
+2240
+2241
+2242
+2243
+2244
+2245
+2246
+2247
+2248
+2249
+2250
+2251
+2252
+2253
+2254
+2255
+2256
+2257
+2258
+2259
+2260
+2261
+2262
def hbar_matvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:54:31.138023.
+
+    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
+    -------
+    tmp1 : array
+    tmp103 : array
+    tmp107 : array
+    tmp11 : array
+    tmp111 : array
+    tmp113 : array
+    tmp12 : array
+    tmp121 : array
+    tmp123 : array
+    tmp125 : array
+    tmp127 : array
+    tmp128 : array
+    tmp129 : array
+    tmp137 : array
+    tmp138 : array
+    tmp14 : array
+    tmp141 : array
+    tmp148 : array
+    tmp153 : array
+    tmp156 : array
+    tmp157 : array
+    tmp159 : array
+    tmp160 : array
+    tmp161 : array
+    tmp163 : array
+    tmp166 : array
+    tmp17 : array
+    tmp170 : array
+    tmp172 : array
+    tmp173 : array
+    tmp174 : array
+    tmp175 : array
+    tmp176 : array
+    tmp178 : array
+    tmp18 : array
+    tmp180 : array
+    tmp183 : array
+    tmp184 : array
+    tmp185 : array
+    tmp186 : array
+    tmp189 : array
+    tmp19 : array
+    tmp190 : array
+    tmp197 : array
+    tmp199 : array
+    tmp2 : array
+    tmp204 : array
+    tmp206 : array
+    tmp208 : array
+    tmp21 : array
+    tmp210 : array
+    tmp22 : array
+    tmp220 : array
+    tmp24 : array
+    tmp26 : array
+    tmp27 : array
+    tmp29 : array
+    tmp30 : array
+    tmp32 : array
+    tmp33 : array
+    tmp34 : array
+    tmp36 : array
+    tmp37 : array
+    tmp39 : array
+    tmp4 : array
+    tmp41 : array
+    tmp42 : array
+    tmp43 : array
+    tmp47 : array
+    tmp49 : array
+    tmp51 : array
+    tmp52 : array
+    tmp54 : array
+    tmp55 : array
+    tmp57 : array
+    tmp58 : array
+    tmp59 : array
+    tmp61 : array
+    tmp66 : array
+    tmp67 : array
+    tmp69 : array
+    tmp7 : array
+    tmp71 : array
+    tmp72 : array
+    tmp75 : array
+    tmp78 : array
+    tmp79 : array
+    tmp80 : array
+    tmp82 : array
+    tmp83 : array
+    tmp84 : array
+    tmp86 : array
+    tmp88 : array
+    tmp9 : array
+    tmp90 : array
+    tmp92 : array
+    tmp94 : array
+    tmp97 : array
+    tmp98 : array
+    """
+
+    tmp8 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (1, 2), (0,))
+    tmp10 = einsum(v.bbb.xov, (0, 1, 2), t1.bb, (1, 2), (0,))
+    tmp16 = einsum(t1.bb, (0, 1), v.bbb.xov, (2, 3, 1), (2, 0, 3))
+    tmp6 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (3, 2), (0, 3, 1))
+    tmp54 = einsum(v.baa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (0, 3, 4))
+    tmp51 = einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (0, 3, 4))
+    tmp37 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp97 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp196 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 2, 4))
+    tmp36 = einsum(f.bb.ov, (0, 1), t1.bb, (2, 1), (0, 2))
+    tmp107 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp39 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp71 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp2 = einsum(v.baa.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp152 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp4 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp26 = einsum(t2.aaaa, (0, 1, 2, 3), v.baa.xov, (4, 1, 3), (4, 0, 2))
+    tmp29 = einsum(v.bbb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (0, 3, 4))
+    tmp120 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp1 = einsum(t1.aa, (0, 1), f.aa.ov, (2, 1), (2, 0))
+    tmp68 = einsum(v.baa.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp21 = einsum(tmp8, (0,), v.bbb.xov, (0, 1, 2), (1, 2))
+    tmp18 = einsum(v.bbb.xov, (0, 1, 2), tmp10, (0,), (1, 2))
+    tmp17 = einsum(tmp16, (0, 1, 2), v.bbb.xov, (0, 1, 3), (2, 3))
+    tmp19 = einsum(v.baa.xov, (0, 1, 2), tmp10, (0,), (1, 2))
+    tmp14 = einsum(tmp8, (0,), v.baa.xov, (0, 1, 2), (1, 2))
+    tmp12 = einsum(tmp6, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    tmp220 = einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp210 = einsum(tmp54, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp208 = einsum(tmp51, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp206 = einsum(tmp37, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp204 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp199 = einsum(tmp97, (0, 1, 2, 3), t2.bbbb, (4, 5, 3, 2), (4, 5, 1, 0))
+    tmp197 = einsum(t2.bbbb, (0, 1, 2, 3), tmp196, (4, 5, 2, 3), (0, 1, 4, 5)) * -1
+    del tmp196
+    tmp190 = einsum(v.bbb.xvv, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp189 = einsum(tmp36, (0, 1), t1.bb, (0, 2), (1, 2))
+    tmp186 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp185 = einsum(tmp54, (0, 1, 2), v.bbb.xvv, (0, 3, 2), (1, 3))
+    tmp184 = einsum(tmp51, (0, 1, 2), v.bbb.xvv, (0, 3, 2), (1, 3)) * -1
+    tmp183 = einsum(t1.bb, (0, 1), f.bb.vv, (2, 1), (0, 2))
+    tmp180 = einsum(tmp107, (0, 1, 2, 3), t2.abab, (4, 1, 2, 5), (4, 0, 5, 3))
+    tmp178 = einsum(v.bbb.xov, (0, 1, 2), tmp54, (0, 1, 3), (3, 2))
+    tmp176 = einsum(v.bbb.xov, (0, 1, 2), tmp51, (0, 1, 3), (3, 2))
+    tmp175 = einsum(tmp39, (0, 1, 2, 3), t2.abab, (4, 2, 3, 5), (4, 0, 1, 5))
+    tmp174 = einsum(t2.abab, (0, 1, 2, 3), tmp39, (0, 4, 1, 2), (4, 3))
+    tmp173 = einsum(t2.bbbb, (0, 1, 2, 3), tmp37, (4, 0, 1, 3), (4, 2))
+    tmp172 = einsum(t2.abab, (0, 1, 2, 3), f.aa.ov, (4, 2), (4, 0, 1, 3))
+    tmp170 = einsum(f.bb.oo, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp166 = einsum(t2.bbbb, (0, 1, 2, 3), tmp97, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp163 = einsum(t2.abab, (0, 1, 2, 3), tmp71, (0, 4, 5, 2), (4, 1, 5, 3))
+    tmp161 = einsum(tmp51, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp160 = einsum(tmp54, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp159 = einsum(tmp2, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 2, 4, 5))
+    tmp157 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.ov, (1, 3), (0, 2))
+    tmp156 = einsum(t2.abab, (0, 1, 2, 3), f.aa.ov, (0, 2), (1, 3))
+    tmp153 = einsum(tmp152, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2))
+    del tmp152
+    tmp148 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp141 = einsum(tmp107, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (4, 1, 5, 2))
+    tmp138 = einsum(tmp4, (0, 1, 2, 3), t2.abab, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp137 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 3, 4, 1), (2, 0, 3, 4))
+    tmp129 = einsum(v.bbb.xoo, (0, 1, 2), tmp26, (0, 3, 4), (3, 1, 2, 4))
+    tmp128 = einsum(tmp29, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp127 = einsum(t2.abab, (0, 1, 2, 3), tmp37, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp125 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp123 = einsum(tmp107, (0, 1, 2, 3), t2.abab, (4, 5, 2, 3), (4, 0, 5, 1))
+    tmp121 = einsum(t2.abab, (0, 1, 2, 3), tmp120, (4, 5, 2, 3), (0, 1, 4, 5))
+    del tmp120
+    tmp113 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp111 = einsum(tmp1, (0, 1), t1.aa, (0, 2), (1, 2))
+    tmp103 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp98 = einsum(t2.abab, (0, 1, 2, 3), tmp97, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp94 = einsum(t2.aaaa, (0, 1, 2, 3), tmp71, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp92 = einsum(tmp29, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    tmp90 = einsum(v.baa.xov, (0, 1, 2), tmp26, (0, 1, 3), (3, 2))
+    tmp88 = einsum(tmp29, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp86 = einsum(v.baa.xoo, (0, 1, 2), tmp26, (0, 3, 4), (3, 1, 2, 4))
+    tmp84 = einsum(t2.aaaa, (0, 1, 2, 3), tmp2, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp83 = einsum(tmp4, (0, 1, 2, 3), t2.abab, (1, 2, 4, 3), (0, 4))
+    tmp82 = einsum(tmp2, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 3), (0, 4))
+    tmp80 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 1, 2, 4))
+    tmp79 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp78 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp75 = einsum(t1.aa, (0, 1), f.aa.oo, (2, 0), (2, 1))
+    tmp72 = einsum(t2.aaaa, (0, 1, 2, 3), tmp71, (4, 5, 3, 2), (0, 1, 5, 4))
+    tmp69 = einsum(t2.aaaa, (0, 1, 2, 3), tmp68, (4, 5, 2, 3), (0, 1, 4, 5)) * -1
+    del tmp68
+    tmp67 = einsum(tmp29, (0, 1, 2), v.baa.xvv, (0, 3, 2), (1, 3))
+    tmp66 = einsum(v.baa.xvv, (0, 1, 2), tmp26, (0, 3, 2), (3, 1)) * -1
+    tmp61 = einsum(f.aa.vv, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp59 = einsum(t1.bb, (0, 1), tmp21, (2, 1), (0, 2))
+    tmp58 = einsum(tmp18, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp57 = einsum(t1.bb, (0, 1), tmp17, (2, 1), (0, 2))
+    tmp55 = einsum(tmp54, (0, 1, 2), v.bbb.xov, (0, 3, 2), (1, 3))
+    tmp52 = einsum(tmp51, (0, 1, 2), v.bbb.xov, (0, 3, 2), (1, 3))
+    tmp49 = einsum(v.baa.xov, (0, 1, 2), tmp16, (0, 3, 4), (1, 3, 4, 2))
+    tmp47 = einsum(v.bbb.xov, (0, 1, 2), tmp16, (0, 3, 4), (3, 1, 4, 2))
+    tmp43 = einsum(tmp8, (0,), v.bbb.xoo, (0, 1, 2), (1, 2))
+    tmp42 = einsum(tmp10, (0,), v.bbb.xoo, (0, 1, 2), (1, 2))
+    tmp41 = einsum(tmp16, (0, 1, 2), v.bbb.xoo, (0, 3, 1), (3, 2))
+    del tmp16
+    tmp34 = einsum(tmp19, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp33 = einsum(tmp14, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp32 = einsum(tmp12, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp30 = einsum(tmp29, (0, 1, 2), v.baa.xov, (0, 3, 2), (1, 3))
+    tmp27 = einsum(v.baa.xov, (0, 1, 2), tmp26, (0, 3, 2), (3, 1))
+    tmp24 = einsum(v.bbb.xov, (0, 1, 2), tmp6, (0, 3, 4), (3, 4, 1, 2))
+    tmp22 = einsum(v.baa.xov, (0, 1, 2), tmp6, (0, 3, 4), (3, 1, 4, 2))
+    tmp11 = einsum(tmp10, (0,), v.baa.xoo, (0, 1, 2), (1, 2))
+    del tmp10
+    tmp9 = einsum(tmp8, (0,), v.baa.xoo, (0, 1, 2), (1, 2))
+    del tmp8
+    tmp7 = einsum(tmp6, (0, 1, 2), v.baa.xoo, (0, 3, 1), (3, 2))
+    del tmp6
+
+    return {f"tmp1": tmp1, f"tmp103": tmp103, f"tmp107": tmp107, f"tmp11": tmp11, f"tmp111": tmp111, f"tmp113": tmp113, f"tmp12": tmp12, f"tmp121": tmp121, f"tmp123": tmp123, f"tmp125": tmp125, f"tmp127": tmp127, f"tmp128": tmp128, f"tmp129": tmp129, f"tmp137": tmp137, f"tmp138": tmp138, f"tmp14": tmp14, f"tmp141": tmp141, f"tmp148": tmp148, f"tmp153": tmp153, f"tmp156": tmp156, f"tmp157": tmp157, f"tmp159": tmp159, f"tmp160": tmp160, f"tmp161": tmp161, f"tmp163": tmp163, f"tmp166": tmp166, f"tmp17": tmp17, f"tmp170": tmp170, f"tmp172": tmp172, f"tmp173": tmp173, f"tmp174": tmp174, f"tmp175": tmp175, f"tmp176": tmp176, f"tmp178": tmp178, f"tmp18": tmp18, f"tmp180": tmp180, f"tmp183": tmp183, f"tmp184": tmp184, f"tmp185": tmp185, f"tmp186": tmp186, f"tmp189": tmp189, f"tmp19": tmp19, f"tmp190": tmp190, f"tmp197": tmp197, f"tmp199": tmp199, f"tmp2": tmp2, f"tmp204": tmp204, f"tmp206": tmp206, f"tmp208": tmp208, f"tmp21": tmp21, f"tmp210": tmp210, f"tmp22": tmp22, f"tmp220": tmp220, f"tmp24": tmp24, f"tmp26": tmp26, f"tmp27": tmp27, f"tmp29": tmp29, f"tmp30": tmp30, f"tmp32": tmp32, f"tmp33": tmp33, f"tmp34": tmp34, f"tmp36": tmp36, f"tmp37": tmp37, f"tmp39": tmp39, f"tmp4": tmp4, f"tmp41": tmp41, f"tmp42": tmp42, f"tmp43": tmp43, f"tmp47": tmp47, f"tmp49": tmp49, f"tmp51": tmp51, f"tmp52": tmp52, f"tmp54": tmp54, f"tmp55": tmp55, f"tmp57": tmp57, f"tmp58": tmp58, f"tmp59": tmp59, f"tmp61": tmp61, f"tmp66": tmp66, f"tmp67": tmp67, f"tmp69": tmp69, f"tmp7": tmp7, f"tmp71": tmp71, f"tmp72": tmp72, f"tmp75": tmp75, f"tmp78": tmp78, f"tmp79": tmp79, f"tmp80": tmp80, f"tmp82": tmp82, f"tmp83": tmp83, f"tmp84": tmp84, f"tmp86": tmp86, f"tmp88": tmp88, f"tmp9": tmp9, f"tmp90": tmp90, f"tmp92": tmp92, f"tmp94": tmp94, f"tmp97": tmp97, f"tmp98": tmp98}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCC2.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-17T20:54:31.202161.

+

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.

+ +
+ Source code in ebcc/codegen/UDFCC2.py +
2264
+2265
+2266
+2267
+2268
+2269
+2270
+2271
+2272
+2273
+2274
+2275
+2276
+2277
+2278
+2279
+2280
+2281
+2282
+2283
+2284
+2285
+2286
+2287
+2288
+2289
+2290
+2291
+2292
+2293
+2294
+2295
+2296
+2297
+2298
+2299
+2300
+2301
+2302
+2303
+2304
+2305
+2306
+2307
+2308
+2309
+2310
+2311
+2312
+2313
+2314
+2315
+2316
+2317
+2318
+2319
+2320
+2321
+2322
+2323
+2324
+2325
+2326
+2327
+2328
+2329
+2330
+2331
+2332
+2333
+2334
+2335
+2336
+2337
+2338
+2339
+2340
+2341
+2342
+2343
+2344
+2345
+2346
+2347
+2348
+2349
+2350
+2351
+2352
+2353
+2354
+2355
+2356
+2357
+2358
+2359
+2360
+2361
+2362
+2363
+2364
+2365
+2366
+2367
+2368
+2369
+2370
+2371
+2372
+2373
+2374
+2375
+2376
+2377
+2378
+2379
+2380
+2381
+2382
+2383
+2384
+2385
+2386
+2387
+2388
+2389
+2390
+2391
+2392
+2393
+2394
+2395
+2396
+2397
+2398
+2399
+2400
+2401
+2402
+2403
+2404
+2405
+2406
+2407
+2408
+2409
+2410
+2411
+2412
+2413
+2414
+2415
+2416
+2417
+2418
+2419
+2420
+2421
+2422
+2423
+2424
+2425
+2426
+2427
+2428
+2429
+2430
+2431
+2432
+2433
+2434
+2435
+2436
+2437
+2438
+2439
+2440
+2441
+2442
+2443
+2444
+2445
+2446
+2447
+2448
+2449
+2450
+2451
+2452
+2453
+2454
+2455
+2456
+2457
+2458
+2459
+2460
+2461
+2462
+2463
+2464
+2465
+2466
+2467
+2468
+2469
+2470
+2471
+2472
+2473
+2474
+2475
+2476
+2477
+2478
+2479
+2480
+2481
+2482
+2483
+2484
+2485
+2486
+2487
+2488
+2489
+2490
+2491
+2492
+2493
+2494
+2495
+2496
+2497
+2498
+2499
+2500
+2501
+2502
+2503
+2504
+2505
+2506
+2507
+2508
+2509
+2510
+2511
+2512
+2513
+2514
+2515
+2516
+2517
+2518
+2519
+2520
+2521
+2522
+2523
+2524
+2525
+2526
+2527
+2528
+2529
+2530
+2531
+2532
+2533
+2534
+2535
+2536
+2537
+2538
+2539
+2540
+2541
+2542
+2543
+2544
+2545
+2546
+2547
+2548
+2549
+2550
+2551
+2552
+2553
+2554
+2555
+2556
+2557
+2558
+2559
+2560
+2561
+2562
+2563
+2564
+2565
+2566
+2567
+2568
+2569
+2570
+2571
+2572
+2573
+2574
+2575
+2576
+2577
+2578
+2579
+2580
+2581
+2582
+2583
+2584
+2585
+2586
+2587
+2588
+2589
+2590
+2591
+2592
+2593
+2594
+2595
+2596
+2597
+2598
+2599
+2600
+2601
+2602
+2603
+2604
+2605
+2606
+2607
+2608
+2609
+2610
+2611
+2612
+2613
+2614
+2615
+2616
+2617
+2618
+2619
+2620
+2621
+2622
+2623
+2624
+2625
+2626
+2627
+2628
+2629
+2630
+2631
+2632
+2633
+2634
+2635
+2636
+2637
+2638
+2639
+2640
+2641
+2642
+2643
+2644
+2645
+2646
+2647
+2648
+2649
+2650
+2651
+2652
+2653
+2654
+2655
+2656
+2657
+2658
+2659
+2660
+2661
+2662
+2663
+2664
+2665
+2666
+2667
+2668
+2669
+2670
+2671
+2672
+2673
+2674
+2675
+2676
+2677
+2678
+2679
+2680
+2681
+2682
+2683
+2684
+2685
+2686
+2687
+2688
+2689
+2690
+2691
+2692
+2693
+2694
+2695
+2696
+2697
+2698
+2699
+2700
+2701
+2702
+2703
+2704
+2705
+2706
+2707
+2708
+2709
+2710
+2711
+2712
+2713
+2714
+2715
+2716
+2717
+2718
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-17T20:54:31.202161.
+
+    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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp8 = einsum(v.baa.xov, (0, 1, 2), r2.aaa, (3, 1, 2), (0, 3))
+    tmp9 = einsum(v.bbb.xov, (0, 1, 2), r2.bab, (1, 3, 2), (0, 3)) * -1
+    tmp74 = np.copy(ints.tmp206)
+    del ints.tmp206
+    tmp74 += np.transpose(ints.tmp37, (0, 2, 1, 3)) * 0.5
+    tmp72 = np.copy(ints.tmp52) * 2
+    tmp72 += ints.tmp55
+    tmp70 = np.copy(ints.tmp51)
+    tmp70 += ints.tmp54 * 0.5
+    tmp40 = einsum(r2.bbb, (0, 1, 2), v.bbb.xov, (3, 1, 2), (3, 0))
+    tmp39 = einsum(r2.aba, (0, 1, 2), v.baa.xov, (3, 0, 2), (3, 1))
+    tmp49 = np.copy(ints.tmp186)
+    del ints.tmp186
+    tmp49 += ints.tmp166 * 2
+    del ints.tmp166
+    tmp63 = np.copy(f.bb.oo)
+    tmp63 += ints.tmp36
+    tmp61 = np.copy(ints.tmp54)
+    tmp61 += ints.tmp51 * 2
+    tmp65 = np.copy(ints.tmp210)
+    del ints.tmp210
+    tmp65 += ints.tmp208 * 2
+    del ints.tmp208
+    tmp10 = np.copy(tmp8) * 2
+    tmp10 += tmp9
+    tmp11 = np.copy(ints.tmp26)
+    tmp11 += ints.tmp29 * 0.5
+    tmp15 = np.copy(ints.tmp2)
+    tmp15 += np.transpose(ints.tmp84, (0, 2, 1, 3)) * 2
+    del ints.tmp84
+    tmp13 = np.copy(ints.tmp27) * 2
+    tmp13 += ints.tmp30
+    tmp19 = np.copy(ints.tmp113)
+    tmp19 += ints.tmp94 * 2
+    tmp25 = np.copy(ints.tmp88)
+    del ints.tmp88
+    tmp25 += ints.tmp86 * 2
+    del ints.tmp86
+    tmp23 = np.copy(f.aa.oo)
+    tmp23 += ints.tmp1
+    tmp21 = np.copy(tmp8) * 2
+    tmp21 += tmp9
+    tmp44 = einsum(r2.bbb, (0, 1, 2), ints.tmp97, (0, 1, 2, 3), (3,))
+    del ints.tmp97
+    tmp43 = einsum(r2.aba, (0, 1, 2), ints.tmp107, (0, 1, 2, 3), (3,))
+    tmp54 = einsum(t1.bb, (0, 1), f.bb.ov, (0, 2), (2, 1))
+    tmp75 = einsum(tmp74, (0, 1, 2, 3), r1.b, (2,), (0, 1, 3)) * 2
+    del tmp74
+    tmp73 = einsum(r2.bbb, (0, 1, 2), tmp72, (3, 1), (0, 3, 2)) * -2
+    del tmp72
+    tmp68 = einsum(r2.aba, (0, 1, 2), ints.tmp163, (0, 3, 2, 4), (3, 1, 4))
+    tmp71 = einsum(tmp40, (0, 1), tmp70, (0, 2, 3), (1, 2, 3)) * 4
+    del tmp70
+    tmp69 = einsum(v.bbb.xov, (0, 1, 2), tmp39, (0, 3), (3, 1, 2))
+    tmp60 = einsum(r2.bbb, (0, 1, 2), tmp49, (3, 1, 4, 2), (0, 3, 4)) * -1
+    tmp64 = einsum(r2.bbb, (0, 1, 2), tmp63, (1, 3), (0, 3, 2)) * -1
+    del tmp63
+    tmp62 = einsum(tmp39, (0, 1), tmp61, (0, 2, 3), (1, 2, 3))
+    del tmp61
+    tmp66 = einsum(tmp65, (0, 1, 2, 3), r1.b, (1,), (0, 2, 3))
+    del tmp65
+    tmp59 = einsum(tmp40, (0, 1), v.bbb.xov, (0, 2, 3), (1, 2, 3))
+    tmp32 = einsum(r2.bab, (0, 1, 2), ints.tmp107, (1, 0, 3, 2), (3,)) * -1
+    del ints.tmp107
+    tmp31 = einsum(ints.tmp71, (0, 1, 2, 3), r2.aaa, (0, 1, 2), (3,))
+    del ints.tmp71
+    tmp29 = einsum(t1.aa, (0, 1), f.aa.ov, (0, 2), (2, 1))
+    tmp12 = einsum(tmp10, (0, 1), tmp11, (0, 2, 3), (1, 2, 3)) * 2
+    del tmp10, tmp11
+    tmp16 = einsum(tmp15, (0, 1, 2, 3), r1.a, (1,), (0, 2, 3))
+    del tmp15
+    tmp14 = einsum(tmp13, (0, 1), r2.aaa, (2, 1, 3), (2, 0, 3)) * -2
+    del tmp13
+    tmp20 = einsum(r2.aaa, (0, 1, 2), tmp19, (3, 1, 4, 2), (0, 3, 4)) * -1
+    del tmp19
+    tmp26 = einsum(tmp25, (0, 1, 2, 3), r1.a, (1,), (0, 2, 3))
+    del tmp25
+    tmp24 = einsum(r2.aaa, (0, 1, 2), tmp23, (1, 3), (0, 3, 2)) * -1
+    del tmp23
+    tmp18 = einsum(r2.bab, (0, 1, 2), ints.tmp98, (3, 0, 4, 2), (3, 1, 4)) * -1
+    tmp22 = einsum(v.baa.xov, (0, 1, 2), tmp21, (0, 3), (1, 3, 2))
+    del tmp21
+    tmp45 = np.copy(tmp43)
+    del tmp43
+    tmp45 += tmp44 * 2
+    del tmp44
+    tmp78 = np.copy(ints.tmp197)
+    del ints.tmp197
+    tmp78 += np.transpose(ints.tmp220, (1, 2, 0, 3)) * -1
+    del ints.tmp220
+    tmp55 = np.copy(np.transpose(ints.tmp176, (1, 0))) * 2
+    del ints.tmp176
+    tmp55 += np.transpose(ints.tmp178, (1, 0))
+    del ints.tmp178
+    tmp55 += f.bb.vv * -1
+    tmp55 += tmp54
+    del tmp54
+    tmp58 = np.copy(ints.tmp170)
+    del ints.tmp170
+    tmp58 += ints.tmp173 * 2
+    del ints.tmp173
+    tmp58 += ints.tmp174
+    del ints.tmp174
+    tmp58 += ints.tmp184 * 2
+    del ints.tmp184
+    tmp58 += ints.tmp189
+    del ints.tmp189
+    tmp58 += f.bb.ov * -1
+    tmp58 += ints.tmp156 * -1
+    del ints.tmp156
+    tmp58 += ints.tmp157 * -2
+    del ints.tmp157
+    tmp58 += ints.tmp183 * -1
+    del ints.tmp183
+    tmp58 += ints.tmp185 * -1
+    del ints.tmp185
+    tmp77 = np.copy(ints.tmp199)
+    del ints.tmp199
+    tmp77 += np.transpose(ints.tmp204, (0, 2, 1, 3)) * -1
+    del ints.tmp204
+    tmp76 = np.copy(tmp68)
+    del tmp68
+    tmp76 += tmp69
+    del tmp69
+    tmp76 += np.transpose(tmp71, (1, 0, 2))
+    del tmp71
+    tmp76 += np.transpose(tmp73, (1, 0, 2))
+    del tmp73
+    tmp76 += tmp75
+    del tmp75
+    tmp67 = np.copy(tmp59) * 2
+    del tmp59
+    tmp67 += np.transpose(tmp60, (1, 0, 2)) * -2
+    del tmp60
+    tmp67 += np.transpose(tmp62, (1, 0, 2))
+    del tmp62
+    tmp67 += np.transpose(tmp64, (1, 0, 2)) * -2
+    del tmp64
+    tmp67 += tmp66
+    del tmp66
+    tmp53 = np.copy(ints.tmp51) * 2
+    del ints.tmp51
+    tmp53 += ints.tmp54
+    del ints.tmp54
+    tmp53 += v.bbb.xov
+    tmp57 = np.copy(ints.tmp153)
+    del ints.tmp153
+    tmp57 += np.transpose(ints.tmp160, (1, 0, 2, 3))
+    del ints.tmp160
+    tmp57 += np.transpose(ints.tmp161, (1, 0, 2, 3)) * 2
+    del ints.tmp161
+    tmp57 += np.transpose(ints.tmp172, (1, 0, 2, 3))
+    del ints.tmp172
+    tmp57 += ints.tmp4
+    tmp57 += ints.tmp159 * -1
+    del ints.tmp159
+    tmp57 += ints.tmp175 * -1
+    del ints.tmp175
+    tmp52 = np.copy(tmp8)
+    del tmp8
+    tmp52 += tmp9 * 0.5
+    del tmp9
+    tmp48 = np.copy(f.bb.oo)
+    tmp48 += ints.tmp36
+    tmp48 += np.transpose(ints.tmp52, (1, 0)) * 2
+    tmp48 += np.transpose(ints.tmp55, (1, 0))
+    tmp47 = np.copy(f.aa.oo)
+    tmp47 += ints.tmp1
+    tmp47 += np.transpose(ints.tmp27, (1, 0)) * 2
+    tmp47 += np.transpose(ints.tmp30, (1, 0))
+    tmp50 = np.copy(ints.tmp180)
+    del ints.tmp180
+    tmp50 += ints.tmp190 * -1
+    del ints.tmp190
+    tmp56 = np.copy(tmp31) * 2
+    tmp56 += tmp32 * -1
+    tmp51 = np.copy(ints.tmp123)
+    tmp51 += ints.tmp125
+    tmp30 = np.copy(np.transpose(ints.tmp90, (1, 0))) * 2
+    del ints.tmp90
+    tmp30 += np.transpose(ints.tmp92, (1, 0))
+    del ints.tmp92
+    tmp30 += f.aa.vv * -1
+    tmp30 += tmp29
+    del tmp29
+    tmp35 = np.copy(ints.tmp111)
+    del ints.tmp111
+    tmp35 += ints.tmp66 * 2
+    del ints.tmp66
+    tmp35 += ints.tmp75
+    del ints.tmp75
+    tmp35 += ints.tmp82 * 2
+    del ints.tmp82
+    tmp35 += ints.tmp83
+    del ints.tmp83
+    tmp35 += f.aa.ov * -1
+    tmp35 += ints.tmp61 * -1
+    del ints.tmp61
+    tmp35 += ints.tmp67 * -1
+    del ints.tmp67
+    tmp35 += ints.tmp78 * -2
+    del ints.tmp78
+    tmp35 += ints.tmp79 * -1
+    del ints.tmp79
+    tmp46 = np.copy(ints.tmp121)
+    del ints.tmp121
+    tmp46 += np.transpose(ints.tmp128, (0, 2, 1, 3))
+    del ints.tmp128
+    tmp46 += np.transpose(ints.tmp129, (0, 2, 1, 3)) * 2
+    del ints.tmp129
+    tmp46 += np.transpose(ints.tmp137, (0, 2, 1, 3))
+    del ints.tmp137
+    tmp46 += ints.tmp39
+    tmp46 += ints.tmp127 * -1
+    del ints.tmp127
+    tmp46 += ints.tmp138 * -1
+    del ints.tmp138
+    tmp37 = np.copy(ints.tmp113)
+    del ints.tmp113
+    tmp37 += ints.tmp94 * 2
+    del ints.tmp94
+    tmp36 = np.copy(ints.tmp141)
+    del ints.tmp141
+    tmp36 += ints.tmp148 * -1
+    del ints.tmp148
+    tmp41 = np.copy(tmp39) * -1
+    del tmp39
+    tmp41 += tmp40 * 2
+    del tmp40
+    tmp42 = np.copy(ints.tmp29)
+    del ints.tmp29
+    tmp42 += v.baa.xov
+    tmp42 += ints.tmp26 * 2
+    del ints.tmp26
+    tmp38 = np.copy(ints.tmp123)
+    del ints.tmp123
+    tmp38 += ints.tmp125
+    del ints.tmp125
+    tmp33 = np.copy(tmp31)
+    del tmp31
+    tmp33 += tmp32 * -0.5
+    del tmp32
+    tmp17 = np.copy(np.transpose(tmp12, (1, 0, 2)))
+    del tmp12
+    tmp17 += np.transpose(tmp14, (1, 0, 2))
+    del tmp14
+    tmp17 += tmp16
+    del tmp16
+    tmp27 = np.copy(tmp18)
+    del tmp18
+    tmp27 += np.transpose(tmp20, (1, 0, 2)) * -2
+    del tmp20
+    tmp27 += np.transpose(tmp22, (1, 0, 2))
+    del tmp22
+    tmp27 += np.transpose(tmp24, (1, 0, 2)) * -2
+    del tmp24
+    tmp27 += tmp26
+    del tmp26
+    tmp34 = np.copy(ints.tmp103)
+    del ints.tmp103
+    tmp34 += np.transpose(ints.tmp69, (2, 0, 1, 3)) * -1
+    del ints.tmp69
+    tmp28 = np.copy(ints.tmp72)
+    del ints.tmp72
+    tmp28 += np.transpose(ints.tmp80, (0, 2, 1, 3)) * -1
+    del ints.tmp80
+    tmp7 = np.copy(f.bb.oo)
+    tmp7 += ints.tmp36
+    del ints.tmp36
+    tmp7 += np.transpose(ints.tmp42, (1, 0))
+    del ints.tmp42
+    tmp7 += np.transpose(ints.tmp43, (1, 0))
+    del ints.tmp43
+    tmp7 += np.transpose(ints.tmp52, (1, 0)) * 2
+    del ints.tmp52
+    tmp7 += np.transpose(ints.tmp55, (1, 0))
+    del ints.tmp55
+    tmp7 += np.transpose(ints.tmp58, (1, 0))
+    del ints.tmp58
+    tmp7 += np.transpose(ints.tmp59, (1, 0))
+    del ints.tmp59
+    tmp7 += np.transpose(ints.tmp41, (1, 0)) * -1
+    del ints.tmp41
+    tmp7 += np.transpose(ints.tmp57, (1, 0)) * -1
+    del ints.tmp57
+    tmp3 = np.copy(f.aa.ov)
+    tmp3 += ints.tmp14
+    del ints.tmp14
+    tmp3 += ints.tmp19
+    del ints.tmp19
+    tmp3 += ints.tmp12 * -1
+    del ints.tmp12
+    tmp5 = np.copy(ints.tmp37)
+    del ints.tmp37
+    tmp5 += ints.tmp47 * -1
+    del ints.tmp47
+    tmp2 = np.copy(f.bb.ov)
+    tmp2 += ints.tmp18
+    del ints.tmp18
+    tmp2 += ints.tmp21
+    del ints.tmp21
+    tmp2 += ints.tmp17 * -1
+    del ints.tmp17
+    tmp6 = np.copy(ints.tmp39)
+    del ints.tmp39
+    tmp6 += ints.tmp49
+    del ints.tmp49
+    tmp4 = np.copy(f.aa.oo)
+    tmp4 += np.transpose(ints.tmp11, (1, 0))
+    del ints.tmp11
+    tmp4 += ints.tmp1
+    del ints.tmp1
+    tmp4 += np.transpose(ints.tmp27, (1, 0)) * 2
+    del ints.tmp27
+    tmp4 += np.transpose(ints.tmp30, (1, 0))
+    del ints.tmp30
+    tmp4 += np.transpose(ints.tmp33, (1, 0))
+    del ints.tmp33
+    tmp4 += np.transpose(ints.tmp34, (1, 0))
+    del ints.tmp34
+    tmp4 += np.transpose(ints.tmp9, (1, 0))
+    del ints.tmp9
+    tmp4 += np.transpose(ints.tmp32, (1, 0)) * -1
+    del ints.tmp32
+    tmp4 += np.transpose(ints.tmp7, (1, 0)) * -1
+    del ints.tmp7
+    tmp0 = np.copy(ints.tmp24)
+    del ints.tmp24
+    tmp0 += ints.tmp4
+    del ints.tmp4
+    tmp1 = np.copy(ints.tmp22)
+    del ints.tmp22
+    tmp1 += ints.tmp2 * -1
+    del ints.tmp2
+    r2new.bbb = np.copy(tmp67)
+    r2new.bbb += np.transpose(tmp67, (1, 0, 2)) * -1
+    del tmp67
+    r2new.bbb += tmp76 * -1
+    r2new.bbb += np.transpose(tmp76, (1, 0, 2))
+    del tmp76
+    r2new.bbb += einsum(tmp77, (0, 1, 2, 3), r2.bbb, (3, 2, 4), (0, 1, 4)) * -2
+    del tmp77
+    r2new.bbb += einsum(r2.bbb, (0, 1, 2), tmp55, (2, 3), (0, 1, 3)) * -2
+    r2new.bbb += einsum(tmp45, (0,), t2.bbbb, (1, 2, 3, 0), (1, 2, 3)) * -2
+    r2new.bbb += einsum(tmp78, (0, 1, 2, 3), r1.b, (2,), (1, 0, 3)) * 2
+    del tmp78
+    r2new.bbb += einsum(tmp58, (0, 1), r1.b, (2,), (2, 0, 1)) * -1
+    r2new.bbb += einsum(r1.b, (0,), tmp58, (1, 2), (1, 0, 2))
+    r2new.bab = einsum(ints.tmp163, (0, 1, 2, 3), r2.aaa, (4, 0, 2), (1, 4, 3)) * 2
+    del ints.tmp163
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp49, (3, 0, 4, 2), (3, 1, 4)) * -1
+    del tmp49
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp50, (3, 1, 4, 2), (0, 3, 4))
+    del tmp50
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp51, (3, 1, 4, 0), (4, 3, 2))
+    del tmp51
+    r2new.bab += einsum(tmp52, (0, 1), tmp53, (0, 2, 3), (2, 1, 3)) * -2
+    del tmp52, tmp53
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp55, (2, 3), (0, 1, 3)) * -1
+    del tmp55
+    r2new.bab += einsum(tmp56, (0,), t2.abab, (1, 2, 0, 3), (2, 1, 3)) * -1
+    del tmp56
+    r2new.bab += einsum(tmp57, (0, 1, 2, 3), r1.a, (1,), (2, 0, 3))
+    del tmp57
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp47, (1, 3), (0, 3, 2)) * -1
+    r2new.bab += einsum(tmp48, (0, 1), r2.bab, (0, 2, 3), (1, 2, 3)) * -1
+    r2new.bab += einsum(r1.a, (0,), tmp58, (1, 2), (1, 0, 2))
+    del tmp58
+    r2new.aba = einsum(r2.bbb, (0, 1, 2), ints.tmp98, (3, 1, 4, 2), (3, 0, 4)) * 2
+    del ints.tmp98
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp36, (3, 1, 4, 2), (0, 3, 4))
+    del tmp36
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp37, (3, 0, 4, 2), (3, 1, 4)) * -1
+    del tmp37
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp38, (3, 0, 4, 1), (3, 4, 2))
+    del tmp38
+    r2new.aba += einsum(tmp42, (0, 1, 2), tmp41, (0, 3), (1, 3, 2)) * -1
+    del tmp42, tmp41
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp30, (2, 3), (0, 1, 3)) * -1
+    r2new.aba += einsum(tmp45, (0,), t2.abab, (1, 2, 3, 0), (1, 2, 3)) * -1
+    del tmp45
+    r2new.aba += einsum(r1.b, (0,), tmp46, (1, 2, 0, 3), (1, 2, 3))
+    del tmp46
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp47, (0, 3), (3, 1, 2)) * -1
+    del tmp47
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp48, (1, 3), (0, 3, 2)) * -1
+    del tmp48
+    r2new.aba += einsum(tmp35, (0, 1), r1.b, (2,), (0, 2, 1))
+    r2new.aaa = np.copy(tmp17) * -1
+    r2new.aaa += np.transpose(tmp17, (1, 0, 2))
+    del tmp17
+    r2new.aaa += tmp27
+    r2new.aaa += np.transpose(tmp27, (1, 0, 2)) * -1
+    del tmp27
+    r2new.aaa += einsum(tmp28, (0, 1, 2, 3), r2.aaa, (3, 2, 4), (0, 1, 4)) * -2
+    del tmp28
+    r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp30, (2, 3), (0, 1, 3)) * -2
+    del tmp30
+    r2new.aaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp33, (3,), (0, 1, 2)) * -4
+    del tmp33
+    r2new.aaa += einsum(tmp34, (0, 1, 2, 3), r1.a, (0,), (2, 1, 3)) * -2
+    del tmp34
+    r2new.aaa += einsum(r1.a, (0,), tmp35, (1, 2), (0, 1, 2)) * -1
+    r2new.aaa += einsum(r1.a, (0,), tmp35, (1, 2), (1, 0, 2))
+    del tmp35
+    r1new.b = einsum(tmp5, (0, 1, 2, 3), r2.bbb, (2, 1, 3), (0,)) * 2
+    del tmp5
+    r1new.b += einsum(r2.aba, (0, 1, 2), tmp6, (0, 3, 1, 2), (3,))
+    del tmp6
+    r1new.b += einsum(r2.aba, (0, 1, 2), tmp3, (0, 2), (1,)) * -1
+    r1new.b += einsum(r2.bbb, (0, 1, 2), tmp2, (1, 2), (0,)) * 2
+    r1new.b += einsum(r1.b, (0,), tmp7, (0, 1), (1,)) * -1
+    del tmp7
+    r1new.a = einsum(tmp0, (0, 1, 2, 3), r2.bab, (2, 1, 3), (0,))
+    del tmp0
+    r1new.a += einsum(r2.aaa, (0, 1, 2), tmp1, (3, 1, 0, 2), (3,)) * -2
+    del tmp1
+    r1new.a += einsum(tmp2, (0, 1), r2.bab, (0, 2, 1), (2,)) * -1
+    del tmp2
+    r1new.a += einsum(r2.aaa, (0, 1, 2), tmp3, (1, 2), (0,)) * 2
+    del tmp3
+    r1new.a += einsum(tmp4, (0, 1), r1.a, (0,), (1,)) * -1
+    del tmp4
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCC2.hbar_matvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:55:26.164457.

+

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

+

tmp106 : array +tmp107 : array +tmp109 : array +tmp11 : array +tmp110 : array +tmp112 : array +tmp113 : array +tmp114 : array +tmp116 : array +tmp122 : array +tmp125 : array +tmp126 : array +tmp13 : array +tmp132 : array +tmp136 : array +tmp138 : array +tmp139 : array +tmp140 : array +tmp15 : array +tmp151 : array +tmp154 : array +tmp155 : array +tmp157 : array +tmp163 : array +tmp164 : array +tmp166 : array +tmp167 : array +tmp168 : array +tmp170 : array +tmp172 : array +tmp173 : array +tmp174 : array +tmp176 : array +tmp177 : array +tmp179 : array +tmp18 : array +tmp180 : array +tmp181 : array +tmp182 : array +tmp183 : array +tmp187 : array +tmp19 : array +tmp190 : array +tmp199 : array +tmp2 : array +tmp20 : array +tmp201 : array +tmp203 : array +tmp216 : array +tmp22 : array +tmp224 : array +tmp23 : array +tmp26 : array +tmp29 : array +tmp30 : array +tmp32 : array +tmp33 : array +tmp4 : array +tmp40 : array +tmp42 : array +tmp44 : array +tmp46 : array +tmp47 : array +tmp51 : array +tmp56 : array +tmp57 : array +tmp59 : array +tmp60 : array +tmp67 : array +tmp68 : array +tmp7 : array +tmp74 : array +tmp76 : array +tmp78 : array +tmp82 : array +tmp85 : array +tmp9 : array +tmp91 : array +tmp93 : array +tmp96 : array +tmp98 : array +tmp99 : array

+ +
+ Source code in ebcc/codegen/UDFCC2.py +
2720
+2721
+2722
+2723
+2724
+2725
+2726
+2727
+2728
+2729
+2730
+2731
+2732
+2733
+2734
+2735
+2736
+2737
+2738
+2739
+2740
+2741
+2742
+2743
+2744
+2745
+2746
+2747
+2748
+2749
+2750
+2751
+2752
+2753
+2754
+2755
+2756
+2757
+2758
+2759
+2760
+2761
+2762
+2763
+2764
+2765
+2766
+2767
+2768
+2769
+2770
+2771
+2772
+2773
+2774
+2775
+2776
+2777
+2778
+2779
+2780
+2781
+2782
+2783
+2784
+2785
+2786
+2787
+2788
+2789
+2790
+2791
+2792
+2793
+2794
+2795
+2796
+2797
+2798
+2799
+2800
+2801
+2802
+2803
+2804
+2805
+2806
+2807
+2808
+2809
+2810
+2811
+2812
+2813
+2814
+2815
+2816
+2817
+2818
+2819
+2820
+2821
+2822
+2823
+2824
+2825
+2826
+2827
+2828
+2829
+2830
+2831
+2832
+2833
+2834
+2835
+2836
+2837
+2838
+2839
+2840
+2841
+2842
+2843
+2844
+2845
+2846
+2847
+2848
+2849
+2850
+2851
+2852
+2853
+2854
+2855
+2856
+2857
+2858
+2859
+2860
+2861
+2862
+2863
+2864
+2865
+2866
+2867
+2868
+2869
+2870
+2871
+2872
+2873
+2874
+2875
+2876
+2877
+2878
+2879
+2880
+2881
+2882
+2883
+2884
+2885
+2886
+2887
+2888
+2889
+2890
+2891
+2892
+2893
+2894
+2895
+2896
+2897
+2898
+2899
+2900
+2901
+2902
+2903
+2904
+2905
+2906
+2907
+2908
+2909
+2910
+2911
+2912
+2913
+2914
+2915
+2916
+2917
+2918
+2919
+2920
+2921
+2922
+2923
+2924
def hbar_matvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:55:26.164457.
+
+    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
+    -------
+    tmp106 : array
+    tmp107 : array
+    tmp109 : array
+    tmp11 : array
+    tmp110 : array
+    tmp112 : array
+    tmp113 : array
+    tmp114 : array
+    tmp116 : array
+    tmp122 : array
+    tmp125 : array
+    tmp126 : array
+    tmp13 : array
+    tmp132 : array
+    tmp136 : array
+    tmp138 : array
+    tmp139 : array
+    tmp140 : array
+    tmp15 : array
+    tmp151 : array
+    tmp154 : array
+    tmp155 : array
+    tmp157 : array
+    tmp163 : array
+    tmp164 : array
+    tmp166 : array
+    tmp167 : array
+    tmp168 : array
+    tmp170 : array
+    tmp172 : array
+    tmp173 : array
+    tmp174 : array
+    tmp176 : array
+    tmp177 : array
+    tmp179 : array
+    tmp18 : array
+    tmp180 : array
+    tmp181 : array
+    tmp182 : array
+    tmp183 : array
+    tmp187 : array
+    tmp19 : array
+    tmp190 : array
+    tmp199 : array
+    tmp2 : array
+    tmp20 : array
+    tmp201 : array
+    tmp203 : array
+    tmp216 : array
+    tmp22 : array
+    tmp224 : array
+    tmp23 : array
+    tmp26 : array
+    tmp29 : array
+    tmp30 : array
+    tmp32 : array
+    tmp33 : array
+    tmp4 : array
+    tmp40 : array
+    tmp42 : array
+    tmp44 : array
+    tmp46 : array
+    tmp47 : array
+    tmp51 : array
+    tmp56 : array
+    tmp57 : array
+    tmp59 : array
+    tmp60 : array
+    tmp67 : array
+    tmp68 : array
+    tmp7 : array
+    tmp74 : array
+    tmp76 : array
+    tmp78 : array
+    tmp82 : array
+    tmp85 : array
+    tmp9 : array
+    tmp91 : array
+    tmp93 : array
+    tmp96 : array
+    tmp98 : array
+    tmp99 : array
+    """
+
+    tmp175 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp59 = einsum(v.baa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (0, 3, 4))
+    tmp40 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 2, 4))
+    tmp56 = einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (0, 3, 4))
+    tmp51 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp23 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp2 = einsum(v.baa.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp156 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp164 = einsum(f.bb.ov, (0, 1), t1.bb, (2, 1), (0, 2))
+    tmp26 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp42 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp29 = einsum(v.baa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (0, 3, 4))
+    tmp32 = einsum(v.bbb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (0, 3, 4))
+    tmp97 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp4 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp107 = einsum(t1.aa, (0, 1), f.aa.ov, (2, 1), (2, 0))
+    tmp95 = einsum(v.baa.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp6 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (1, 2), (0,))
+    tmp45 = einsum(t1.bb, (0, 1), v.bbb.xvv, (2, 3, 1), (2, 0, 3))
+    tmp10 = einsum(v.bbb.xov, (0, 1, 2), t1.bb, (1, 2), (0,))
+    tmp17 = einsum(t1.bb, (0, 1), v.bbb.xov, (2, 3, 1), (2, 0, 3))
+    tmp12 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (3, 2), (0, 3, 1))
+    tmp8 = einsum(v.baa.xvv, (0, 1, 2), t1.aa, (3, 2), (0, 3, 1))
+    tmp224 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp216 = einsum(tmp175, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 5), (0, 4, 5, 3))
+    tmp203 = einsum(tmp59, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp201 = einsum(t2.bbbb, (0, 1, 2, 3), tmp40, (1, 4, 3, 5), (0, 2, 5, 4))
+    tmp199 = einsum(v.bbb.xvv, (0, 1, 2), tmp56, (0, 3, 4), (3, 4, 1, 2))
+    tmp190 = einsum(t2.bbbb, (0, 1, 2, 3), tmp51, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp187 = einsum(t2.abab, (0, 1, 2, 3), tmp23, (0, 4, 5, 2), (4, 1, 5, 3))
+    tmp183 = einsum(v.baa.xvv, (0, 1, 2), tmp56, (0, 3, 4), (3, 1, 2, 4))
+    tmp182 = einsum(t2.abab, (0, 1, 2, 3), tmp2, (0, 4, 2, 5), (1, 5, 4, 3))
+    tmp181 = einsum(tmp59, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp180 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.ov, (1, 3), (0, 2))
+    tmp179 = einsum(t2.abab, (0, 1, 2, 3), f.aa.ov, (0, 2), (1, 3))
+    tmp177 = einsum(t2.abab, (0, 1, 2, 3), tmp156, (0, 4, 1, 2), (4, 3))
+    tmp176 = einsum(tmp175, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 3), (0, 4))
+    del tmp175
+    tmp174 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp173 = einsum(f.bb.oo, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp172 = einsum(tmp164, (0, 1), t1.bb, (0, 2), (1, 2))
+    tmp170 = einsum(tmp59, (0, 1, 2), v.bbb.xov, (0, 3, 2), (1, 3))
+    tmp168 = einsum(v.bbb.xov, (0, 1, 2), tmp56, (0, 3, 2), (3, 1))
+    tmp167 = einsum(tmp59, (0, 1, 2), v.bbb.xvv, (0, 3, 2), (1, 3))
+    tmp166 = einsum(v.bbb.xvv, (0, 1, 2), tmp56, (0, 3, 2), (3, 1)) * -1
+    tmp163 = einsum(t1.bb, (0, 1), f.bb.vv, (2, 1), (0, 2))
+    tmp157 = einsum(t2.abab, (0, 1, 2, 3), tmp156, (0, 4, 1, 5), (4, 2, 5, 3))
+    del tmp156
+    tmp155 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp154 = einsum(tmp26, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (4, 1, 5, 2))
+    tmp151 = einsum(t2.abab, (0, 1, 2, 3), tmp42, (0, 4, 5, 3), (1, 2, 4, 5))
+    tmp140 = einsum(tmp29, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp139 = einsum(tmp40, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 5, 3, 1))
+    tmp138 = einsum(tmp32, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp136 = einsum(v.bbb.xvv, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp132 = einsum(v.bbb.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (3, 4, 1, 2))
+    tmp126 = einsum(t2.abab, (0, 1, 2, 3), tmp97, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp125 = einsum(tmp26, (0, 1, 2, 3), t2.abab, (4, 1, 2, 5), (4, 0, 5, 3))
+    tmp122 = einsum(t2.abab, (0, 1, 2, 3), tmp4, (1, 4, 2, 5), (0, 4, 3, 5))
+    tmp116 = einsum(tmp32, (0, 1, 2), v.baa.xov, (0, 3, 2), (1, 3))
+    tmp114 = einsum(tmp29, (0, 1, 2), v.baa.xov, (0, 3, 2), (1, 3))
+    tmp113 = einsum(tmp32, (0, 1, 2), v.baa.xvv, (0, 3, 2), (1, 3))
+    tmp112 = einsum(tmp29, (0, 1, 2), v.baa.xvv, (0, 3, 2), (1, 3)) * -1
+    tmp110 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp109 = einsum(tmp107, (0, 1), t1.aa, (0, 2), (1, 2))
+    tmp106 = einsum(f.aa.vv, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp99 = einsum(t2.aaaa, (0, 1, 2, 3), tmp95, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp98 = einsum(t2.abab, (0, 1, 2, 3), tmp97, (4, 0, 1, 3), (4, 2))
+    del tmp97
+    tmp96 = einsum(tmp95, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 3), (0, 4))
+    del tmp95
+    tmp93 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp91 = einsum(t1.aa, (0, 1), f.aa.oo, (2, 0), (2, 1))
+    tmp85 = einsum(t2.abab, (0, 1, 2, 3), tmp51, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp82 = einsum(tmp23, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 5, 2))
+    tmp78 = einsum(tmp32, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp76 = einsum(t2.aaaa, (0, 1, 2, 3), tmp2, (1, 4, 3, 5), (0, 2, 5, 4))
+    tmp74 = einsum(tmp29, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp68 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp67 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp60 = einsum(tmp59, (0, 1, 2), v.bbb.xov, (0, 1, 3), (2, 3))
+    tmp57 = einsum(v.bbb.xov, (0, 1, 2), tmp56, (0, 1, 3), (3, 2))
+    tmp47 = einsum(tmp6, (0,), v.bbb.xvv, (0, 1, 2), (1, 2))
+    tmp46 = einsum(v.bbb.xov, (0, 1, 2), tmp45, (0, 1, 3), (2, 3))
+    del tmp45
+    tmp44 = einsum(tmp10, (0,), v.bbb.xvv, (0, 1, 2), (1, 2))
+    tmp33 = einsum(tmp32, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    tmp30 = einsum(tmp29, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    tmp22 = einsum(v.bbb.xov, (0, 1, 2), tmp6, (0,), (1, 2))
+    tmp20 = einsum(v.baa.xov, (0, 1, 2), tmp10, (0,), (1, 2))
+    tmp19 = einsum(v.bbb.xov, (0, 1, 2), tmp10, (0,), (1, 2))
+    tmp18 = einsum(v.bbb.xov, (0, 1, 2), tmp17, (0, 1, 3), (3, 2))
+    del tmp17
+    tmp15 = einsum(v.baa.xov, (0, 1, 2), tmp6, (0,), (1, 2))
+    tmp13 = einsum(tmp12, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    del tmp12
+    tmp11 = einsum(tmp10, (0,), v.baa.xvv, (0, 1, 2), (1, 2))
+    del tmp10
+    tmp9 = einsum(v.baa.xov, (0, 1, 2), tmp8, (0, 1, 3), (2, 3))
+    del tmp8
+    tmp7 = einsum(tmp6, (0,), v.baa.xvv, (0, 1, 2), (1, 2))
+    del tmp6
+
+    return {f"tmp106": tmp106, f"tmp107": tmp107, f"tmp109": tmp109, f"tmp11": tmp11, f"tmp110": tmp110, f"tmp112": tmp112, f"tmp113": tmp113, f"tmp114": tmp114, f"tmp116": tmp116, f"tmp122": tmp122, f"tmp125": tmp125, f"tmp126": tmp126, f"tmp13": tmp13, f"tmp132": tmp132, f"tmp136": tmp136, f"tmp138": tmp138, f"tmp139": tmp139, f"tmp140": tmp140, f"tmp15": tmp15, f"tmp151": tmp151, f"tmp154": tmp154, f"tmp155": tmp155, f"tmp157": tmp157, f"tmp163": tmp163, f"tmp164": tmp164, f"tmp166": tmp166, f"tmp167": tmp167, f"tmp168": tmp168, f"tmp170": tmp170, f"tmp172": tmp172, f"tmp173": tmp173, f"tmp174": tmp174, f"tmp176": tmp176, f"tmp177": tmp177, f"tmp179": tmp179, f"tmp18": tmp18, f"tmp180": tmp180, f"tmp181": tmp181, f"tmp182": tmp182, f"tmp183": tmp183, f"tmp187": tmp187, f"tmp19": tmp19, f"tmp190": tmp190, f"tmp199": tmp199, f"tmp2": tmp2, f"tmp20": tmp20, f"tmp201": tmp201, f"tmp203": tmp203, f"tmp216": tmp216, f"tmp22": tmp22, f"tmp224": tmp224, f"tmp23": tmp23, f"tmp26": tmp26, f"tmp29": tmp29, f"tmp30": tmp30, f"tmp32": tmp32, f"tmp33": tmp33, f"tmp4": tmp4, f"tmp40": tmp40, f"tmp42": tmp42, f"tmp44": tmp44, f"tmp46": tmp46, f"tmp47": tmp47, f"tmp51": tmp51, f"tmp56": tmp56, f"tmp57": tmp57, f"tmp59": tmp59, f"tmp60": tmp60, f"tmp67": tmp67, f"tmp68": tmp68, f"tmp7": tmp7, f"tmp74": tmp74, f"tmp76": tmp76, f"tmp78": tmp78, f"tmp82": tmp82, f"tmp85": tmp85, f"tmp9": tmp9, f"tmp91": tmp91, f"tmp93": tmp93, f"tmp96": tmp96, f"tmp98": tmp98, f"tmp99": tmp99}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCC2.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-17T20:55:26.225309.

+

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.

+ +
+ Source code in ebcc/codegen/UDFCC2.py +
2926
+2927
+2928
+2929
+2930
+2931
+2932
+2933
+2934
+2935
+2936
+2937
+2938
+2939
+2940
+2941
+2942
+2943
+2944
+2945
+2946
+2947
+2948
+2949
+2950
+2951
+2952
+2953
+2954
+2955
+2956
+2957
+2958
+2959
+2960
+2961
+2962
+2963
+2964
+2965
+2966
+2967
+2968
+2969
+2970
+2971
+2972
+2973
+2974
+2975
+2976
+2977
+2978
+2979
+2980
+2981
+2982
+2983
+2984
+2985
+2986
+2987
+2988
+2989
+2990
+2991
+2992
+2993
+2994
+2995
+2996
+2997
+2998
+2999
+3000
+3001
+3002
+3003
+3004
+3005
+3006
+3007
+3008
+3009
+3010
+3011
+3012
+3013
+3014
+3015
+3016
+3017
+3018
+3019
+3020
+3021
+3022
+3023
+3024
+3025
+3026
+3027
+3028
+3029
+3030
+3031
+3032
+3033
+3034
+3035
+3036
+3037
+3038
+3039
+3040
+3041
+3042
+3043
+3044
+3045
+3046
+3047
+3048
+3049
+3050
+3051
+3052
+3053
+3054
+3055
+3056
+3057
+3058
+3059
+3060
+3061
+3062
+3063
+3064
+3065
+3066
+3067
+3068
+3069
+3070
+3071
+3072
+3073
+3074
+3075
+3076
+3077
+3078
+3079
+3080
+3081
+3082
+3083
+3084
+3085
+3086
+3087
+3088
+3089
+3090
+3091
+3092
+3093
+3094
+3095
+3096
+3097
+3098
+3099
+3100
+3101
+3102
+3103
+3104
+3105
+3106
+3107
+3108
+3109
+3110
+3111
+3112
+3113
+3114
+3115
+3116
+3117
+3118
+3119
+3120
+3121
+3122
+3123
+3124
+3125
+3126
+3127
+3128
+3129
+3130
+3131
+3132
+3133
+3134
+3135
+3136
+3137
+3138
+3139
+3140
+3141
+3142
+3143
+3144
+3145
+3146
+3147
+3148
+3149
+3150
+3151
+3152
+3153
+3154
+3155
+3156
+3157
+3158
+3159
+3160
+3161
+3162
+3163
+3164
+3165
+3166
+3167
+3168
+3169
+3170
+3171
+3172
+3173
+3174
+3175
+3176
+3177
+3178
+3179
+3180
+3181
+3182
+3183
+3184
+3185
+3186
+3187
+3188
+3189
+3190
+3191
+3192
+3193
+3194
+3195
+3196
+3197
+3198
+3199
+3200
+3201
+3202
+3203
+3204
+3205
+3206
+3207
+3208
+3209
+3210
+3211
+3212
+3213
+3214
+3215
+3216
+3217
+3218
+3219
+3220
+3221
+3222
+3223
+3224
+3225
+3226
+3227
+3228
+3229
+3230
+3231
+3232
+3233
+3234
+3235
+3236
+3237
+3238
+3239
+3240
+3241
+3242
+3243
+3244
+3245
+3246
+3247
+3248
+3249
+3250
+3251
+3252
+3253
+3254
+3255
+3256
+3257
+3258
+3259
+3260
+3261
+3262
+3263
+3264
+3265
+3266
+3267
+3268
+3269
+3270
+3271
+3272
+3273
+3274
+3275
+3276
+3277
+3278
+3279
+3280
+3281
+3282
+3283
+3284
+3285
+3286
+3287
+3288
+3289
+3290
+3291
+3292
+3293
+3294
+3295
+3296
+3297
+3298
+3299
+3300
+3301
+3302
+3303
+3304
+3305
+3306
+3307
+3308
+3309
+3310
+3311
+3312
+3313
+3314
+3315
+3316
+3317
+3318
+3319
+3320
+3321
+3322
+3323
+3324
+3325
+3326
+3327
+3328
+3329
+3330
+3331
+3332
+3333
+3334
+3335
+3336
+3337
+3338
+3339
+3340
+3341
+3342
+3343
+3344
+3345
+3346
+3347
+3348
+3349
+3350
+3351
+3352
+3353
+3354
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-17T20:55:26.225309.
+
+    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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp13 = einsum(v.baa.xov, (0, 1, 2), r2.aaa, (3, 2, 1), (0, 3))
+    tmp14 = einsum(v.bbb.xov, (0, 1, 2), r2.bab, (2, 3, 1), (0, 3)) * -1
+    tmp71 = np.copy(ints.tmp59)
+    tmp71 += ints.tmp56 * 2
+    tmp38 = einsum(r2.aba, (0, 1, 2), v.baa.xov, (3, 2, 0), (3, 1))
+    tmp73 = np.copy(ints.tmp40)
+    tmp73 += ints.tmp201 * 2
+    del ints.tmp201
+    tmp51 = np.copy(ints.tmp155)
+    del ints.tmp155
+    tmp51 += ints.tmp190 * 2
+    del ints.tmp190
+    tmp39 = einsum(v.bbb.xov, (0, 1, 2), r2.bbb, (3, 2, 1), (0, 3))
+    tmp59 = einsum(f.bb.ov, (0, 1), r2.bbb, (2, 1, 3), (0, 3, 2))
+    tmp62 = np.copy(ints.tmp56) * 2
+    tmp62 += ints.tmp59
+    tmp64 = np.copy(np.transpose(ints.tmp57, (1, 0)))
+    tmp64 += np.transpose(ints.tmp60, (1, 0)) * 0.5
+    tmp64 += f.bb.vv * -0.5
+    tmp66 = np.copy(ints.tmp199)
+    del ints.tmp199
+    tmp66 += ints.tmp203 * 0.5
+    del ints.tmp203
+    tmp24 = np.copy(ints.tmp93)
+    tmp24 += ints.tmp82 * 2
+    tmp26 = np.copy(tmp13) * 2
+    tmp26 += tmp14
+    tmp28 = np.copy(ints.tmp2)
+    tmp28 += ints.tmp76 * 2
+    del ints.tmp76
+    tmp18 = np.copy(np.transpose(ints.tmp30, (1, 0)))
+    tmp18 += np.transpose(ints.tmp33, (1, 0)) * 0.5
+    tmp18 += f.aa.vv * -0.5
+    tmp11 = einsum(f.aa.ov, (0, 1), r2.aaa, (2, 1, 3), (0, 3, 2))
+    tmp16 = np.copy(ints.tmp29) * 2
+    tmp16 += ints.tmp32
+    tmp15 = np.copy(tmp13)
+    del tmp13
+    tmp15 += tmp14 * 0.5
+    del tmp14
+    tmp20 = np.copy(ints.tmp74)
+    del ints.tmp74
+    tmp20 += ints.tmp78 * 0.5
+    del ints.tmp78
+    tmp72 = einsum(tmp71, (0, 1, 2), tmp38, (0, 3), (1, 3, 2))
+    del tmp71
+    tmp74 = einsum(r1.b, (0,), tmp73, (1, 2, 0, 3), (1, 2, 3))
+    del tmp73
+    tmp70 = einsum(tmp51, (0, 1, 2, 3), r2.bbb, (4, 3, 1), (0, 4, 2)) * -1
+    tmp69 = einsum(v.bbb.xov, (0, 1, 2), tmp39, (0, 3), (1, 3, 2))
+    tmp60 = einsum(t1.bb, (0, 1), tmp59, (0, 2, 3), (2, 3, 1))
+    del tmp59
+    tmp61 = einsum(v.bbb.xov, (0, 1, 2), tmp38, (0, 3), (1, 3, 2))
+    tmp63 = einsum(tmp39, (0, 1), tmp62, (0, 2, 3), (2, 1, 3)) * 2
+    del tmp62
+    tmp58 = einsum(r2.aba, (0, 1, 2), ints.tmp187, (2, 3, 0, 4), (3, 4, 1))
+    tmp65 = einsum(tmp64, (0, 1), r2.bbb, (2, 0, 3), (3, 2, 1)) * -4
+    del tmp64
+    tmp67 = einsum(r1.b, (0,), tmp66, (1, 2, 0, 3), (1, 2, 3)) * 2
+    del tmp66
+    tmp8 = einsum(r2.bbb, (0, 1, 2), ints.tmp51, (2, 3, 0, 1), (3,))
+    tmp7 = einsum(r2.aba, (0, 1, 2), ints.tmp26, (2, 3, 0, 1), (3,))
+    tmp47 = einsum(f.bb.ov, (0, 1), r1.b, (1,), (0,))
+    tmp43 = einsum(t1.bb, (0, 1), f.bb.ov, (0, 2), (2, 1))
+    tmp4 = einsum(r2.bab, (0, 1, 2), ints.tmp26, (3, 2, 1, 0), (3,)) * -1
+    tmp32 = einsum(r1.a, (0,), f.aa.ov, (1, 0), (1,))
+    tmp3 = einsum(r2.aaa, (0, 1, 2), ints.tmp23, (2, 3, 1, 0), (3,)) * -1
+    tmp45 = einsum(t1.aa, (0, 1), f.aa.ov, (0, 2), (2, 1))
+    tmp25 = einsum(r2.aaa, (0, 1, 2), tmp24, (3, 2, 4, 1), (3, 0, 4)) * -1
+    del tmp24
+    tmp27 = einsum(v.baa.xov, (0, 1, 2), tmp26, (0, 3), (1, 2, 3))
+    del tmp26
+    tmp29 = einsum(tmp28, (0, 1, 2, 3), r1.a, (2,), (0, 1, 3))
+    del tmp28
+    tmp23 = einsum(ints.tmp85, (0, 1, 2, 3), r2.bab, (3, 4, 1), (0, 2, 4)) * -1
+    tmp19 = einsum(r2.aaa, (0, 1, 2), tmp18, (1, 3), (2, 0, 3)) * -4
+    del tmp18
+    tmp12 = einsum(t1.aa, (0, 1), tmp11, (0, 2, 3), (2, 3, 1))
+    del tmp11
+    tmp17 = einsum(tmp15, (0, 1), tmp16, (0, 2, 3), (2, 3, 1)) * 2
+    del tmp16
+    tmp21 = einsum(tmp20, (0, 1, 2, 3), r1.a, (2,), (0, 1, 3)) * 2
+    del tmp20
+    tmp1 = np.copy(f.bb.ov)
+    tmp1 += ints.tmp19
+    del ints.tmp19
+    tmp1 += ints.tmp22
+    del ints.tmp22
+    tmp1 += ints.tmp18 * -1
+    del ints.tmp18
+    tmp0 = np.copy(f.aa.ov)
+    tmp0 += ints.tmp15
+    del ints.tmp15
+    tmp0 += ints.tmp20
+    del ints.tmp20
+    tmp0 += ints.tmp13 * -1
+    del ints.tmp13
+    tmp54 = np.copy(f.bb.oo)
+    tmp54 += ints.tmp164
+    del ints.tmp164
+    tmp54 += np.transpose(ints.tmp168, (1, 0)) * 2
+    del ints.tmp168
+    tmp54 += np.transpose(ints.tmp170, (1, 0))
+    del ints.tmp170
+    tmp75 = np.copy(tmp69) * 2
+    del tmp69
+    tmp75 += np.transpose(tmp70, (0, 2, 1)) * -2
+    del tmp70
+    tmp75 += np.transpose(tmp72, (0, 2, 1))
+    del tmp72
+    tmp75 += tmp74
+    del tmp74
+    tmp57 = einsum(ints.tmp51, (0, 1, 2, 3), r2.bbb, (3, 2, 4), (0, 1, 4)) * -1
+    del ints.tmp51
+    tmp68 = np.copy(tmp58)
+    del tmp58
+    tmp68 += tmp60 * 2
+    del tmp60
+    tmp68 += tmp61
+    del tmp61
+    tmp68 += np.transpose(tmp63, (0, 2, 1))
+    del tmp63
+    tmp68 += np.transpose(tmp65, (0, 2, 1))
+    del tmp65
+    tmp68 += tmp67
+    del tmp67
+    tmp76 = np.copy(tmp47) * -1
+    tmp76 += tmp7
+    tmp76 += tmp8 * 2
+    tmp56 = np.copy(ints.tmp166) * 2
+    del ints.tmp166
+    tmp56 += ints.tmp172
+    del ints.tmp172
+    tmp56 += ints.tmp173
+    del ints.tmp173
+    tmp56 += ints.tmp176 * 2
+    del ints.tmp176
+    tmp56 += ints.tmp177
+    del ints.tmp177
+    tmp56 += f.bb.ov * -1
+    tmp56 += ints.tmp163 * -1
+    del ints.tmp163
+    tmp56 += ints.tmp167 * -1
+    del ints.tmp167
+    tmp56 += ints.tmp179 * -1
+    del ints.tmp179
+    tmp56 += ints.tmp180 * -2
+    del ints.tmp180
+    tmp44 = np.copy(np.transpose(ints.tmp57, (1, 0))) * 2
+    tmp44 += np.transpose(ints.tmp60, (1, 0))
+    tmp44 += f.bb.vv * -1
+    tmp44 += tmp43
+    del tmp43
+    tmp55 = np.copy(tmp32) * 0.5
+    tmp55 += tmp3 * -1
+    tmp55 += tmp4 * 0.5
+    tmp53 = np.copy(ints.tmp157)
+    del ints.tmp157
+    tmp53 += np.transpose(ints.tmp181, (0, 2, 1, 3))
+    del ints.tmp181
+    tmp53 += np.transpose(ints.tmp183, (0, 2, 1, 3)) * 2
+    del ints.tmp183
+    tmp53 += ints.tmp4
+    tmp53 += ints.tmp151 * -1
+    del ints.tmp151
+    tmp53 += np.transpose(ints.tmp182, (0, 2, 1, 3)) * -1
+    del ints.tmp182
+    tmp46 = np.copy(np.transpose(ints.tmp30, (1, 0))) * 2
+    tmp46 += np.transpose(ints.tmp33, (1, 0))
+    tmp46 += f.aa.vv * -1
+    tmp46 += tmp45
+    del tmp45
+    tmp52 = np.copy(ints.tmp56) * 2
+    del ints.tmp56
+    tmp52 += ints.tmp59
+    del ints.tmp59
+    tmp52 += v.bbb.xov
+    tmp49 = einsum(r2.bab, (0, 1, 2), ints.tmp26, (3, 4, 1, 0), (3, 4, 2)) * -1
+    tmp50 = np.copy(ints.tmp154)
+    del ints.tmp154
+    tmp50 += ints.tmp174 * -1
+    del ints.tmp174
+    tmp35 = einsum(ints.tmp26, (0, 1, 2, 3), r2.aba, (2, 3, 4), (0, 4, 1))
+    del ints.tmp26
+    tmp34 = np.copy(ints.tmp109)
+    del ints.tmp109
+    tmp34 += ints.tmp112 * 2
+    del ints.tmp112
+    tmp34 += ints.tmp91
+    del ints.tmp91
+    tmp34 += ints.tmp96 * 2
+    del ints.tmp96
+    tmp34 += ints.tmp98
+    del ints.tmp98
+    tmp34 += f.aa.ov * -1
+    tmp34 += ints.tmp106 * -1
+    del ints.tmp106
+    tmp34 += ints.tmp113 * -1
+    del ints.tmp113
+    tmp34 += ints.tmp67 * -2
+    del ints.tmp67
+    tmp34 += ints.tmp68 * -1
+    del ints.tmp68
+    tmp37 = np.copy(ints.tmp82) * 2
+    del ints.tmp82
+    tmp37 += ints.tmp93
+    del ints.tmp93
+    tmp40 = np.copy(tmp38) * -1
+    del tmp38
+    tmp40 += tmp39 * 2
+    del tmp39
+    tmp48 = np.copy(tmp47) * -0.5
+    del tmp47
+    tmp48 += tmp7 * 0.5
+    tmp48 += tmp8
+    tmp36 = np.copy(ints.tmp125)
+    del ints.tmp125
+    tmp36 += ints.tmp136 * -1
+    del ints.tmp136
+    tmp31 = np.copy(f.aa.oo)
+    tmp31 += ints.tmp107
+    del ints.tmp107
+    tmp31 += np.transpose(ints.tmp114, (1, 0)) * 2
+    del ints.tmp114
+    tmp31 += np.transpose(ints.tmp116, (1, 0))
+    del ints.tmp116
+    tmp41 = np.copy(ints.tmp32)
+    del ints.tmp32
+    tmp41 += v.baa.xov
+    tmp41 += ints.tmp29 * 2
+    del ints.tmp29
+    tmp42 = np.copy(ints.tmp126)
+    del ints.tmp126
+    tmp42 += np.transpose(ints.tmp138, (0, 1, 3, 2))
+    del ints.tmp138
+    tmp42 += np.transpose(ints.tmp140, (0, 1, 3, 2)) * 2
+    del ints.tmp140
+    tmp42 += ints.tmp42
+    tmp42 += ints.tmp122 * -1
+    del ints.tmp122
+    tmp42 += np.transpose(ints.tmp139, (0, 1, 3, 2)) * -1
+    del ints.tmp139
+    tmp33 = np.copy(tmp32)
+    del tmp32
+    tmp33 += tmp3 * -2
+    tmp33 += tmp4
+    tmp30 = np.copy(tmp23)
+    del tmp23
+    tmp30 += np.transpose(tmp25, (0, 2, 1)) * -2
+    del tmp25
+    tmp30 += np.transpose(tmp27, (0, 2, 1))
+    del tmp27
+    tmp30 += tmp29
+    del tmp29
+    tmp10 = einsum(r2.aaa, (0, 1, 2), ints.tmp23, (3, 4, 0, 1), (3, 4, 2))
+    del ints.tmp23
+    tmp22 = np.copy(tmp12) * 2
+    del tmp12
+    tmp22 += tmp17
+    del tmp17
+    tmp22 += np.transpose(tmp19, (0, 2, 1))
+    del tmp19
+    tmp22 += tmp21
+    del tmp21
+    tmp9 = np.copy(tmp7)
+    del tmp7
+    tmp9 += tmp8 * 2
+    del tmp8
+    tmp9 += einsum(r1.b, (0,), tmp1, (1, 0), (1,)) * -1
+    tmp6 = np.copy(ints.tmp46)
+    del ints.tmp46
+    tmp6 += np.transpose(ints.tmp57, (1, 0)) * 2
+    del ints.tmp57
+    tmp6 += np.transpose(ints.tmp60, (1, 0))
+    del ints.tmp60
+    tmp6 += f.bb.vv * -1
+    tmp6 += np.transpose(ints.tmp44, (1, 0)) * -1
+    del ints.tmp44
+    tmp6 += np.transpose(ints.tmp47, (1, 0)) * -1
+    del ints.tmp47
+    tmp5 = np.copy(tmp3) * -2
+    del tmp3
+    tmp5 += tmp4
+    del tmp4
+    tmp5 += einsum(r1.a, (0,), tmp0, (1, 0), (1,))
+    tmp2 = np.copy(np.transpose(ints.tmp30, (1, 0))) * 2
+    del ints.tmp30
+    tmp2 += np.transpose(ints.tmp33, (1, 0))
+    del ints.tmp33
+    tmp2 += ints.tmp9
+    del ints.tmp9
+    tmp2 += f.aa.vv * -1
+    tmp2 += np.transpose(ints.tmp11, (1, 0)) * -1
+    del ints.tmp11
+    tmp2 += np.transpose(ints.tmp7, (1, 0)) * -1
+    del ints.tmp7
+    r2new.bbb = einsum(r1.b, (0,), ints.tmp216, (1, 2, 3, 0), (3, 2, 1)) * 2
+    del ints.tmp216
+    r2new.bbb += einsum(tmp57, (0, 1, 2), t2.bbbb, (1, 0, 3, 4), (3, 4, 2)) * -2
+    del tmp57
+    r2new.bbb += einsum(ints.tmp224, (0, 1, 2, 3), r2.bbb, (3, 1, 4), (0, 2, 4)) * 2
+    del ints.tmp224
+    r2new.bbb += np.transpose(tmp68, (1, 2, 0)) * -1
+    r2new.bbb += np.transpose(tmp68, (2, 1, 0))
+    del tmp68
+    r2new.bbb += np.transpose(tmp75, (1, 2, 0))
+    r2new.bbb += np.transpose(tmp75, (2, 1, 0)) * -1
+    del tmp75
+    r2new.bbb += einsum(r2.bbb, (0, 1, 2), tmp54, (2, 3), (0, 1, 3)) * -2
+    r2new.bbb += einsum(tmp76, (0,), t2.bbbb, (1, 0, 2, 3), (2, 3, 1)) * -2
+    del tmp76
+    r2new.bbb += einsum(tmp56, (0, 1), r1.b, (2,), (2, 1, 0)) * -1
+    r2new.bbb += einsum(r1.b, (0,), tmp56, (1, 2), (2, 0, 1))
+    r2new.bab = einsum(ints.tmp187, (0, 1, 2, 3), r2.aaa, (4, 2, 0), (3, 4, 1)) * 2
+    del ints.tmp187
+    r2new.bab += einsum(ints.tmp132, (0, 1, 2, 3), r2.bab, (3, 1, 4), (2, 0, 4))
+    r2new.bab += einsum(tmp49, (0, 1, 2), t2.abab, (0, 1, 3, 4), (4, 3, 2)) * -1
+    del tmp49
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp50, (3, 2, 4, 1), (0, 4, 3))
+    del tmp50
+    r2new.bab += einsum(tmp51, (0, 1, 2, 3), r2.bab, (3, 4, 1), (2, 4, 0)) * -1
+    del tmp51
+    r2new.bab += einsum(tmp52, (0, 1, 2), tmp15, (0, 3), (2, 3, 1)) * -2
+    del tmp15, tmp52
+    r2new.bab += einsum(r1.a, (0,), tmp53, (1, 2, 0, 3), (3, 2, 1)) * -1
+    del tmp53
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp46, (1, 3), (0, 3, 2)) * -1
+    r2new.bab += einsum(tmp44, (0, 1), r2.bab, (0, 2, 3), (1, 2, 3)) * -1
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp54, (2, 3), (0, 1, 3)) * -1
+    del tmp54
+    r2new.bab += einsum(tmp55, (0,), t2.abab, (0, 1, 2, 3), (3, 2, 1)) * 2
+    del tmp55
+    r2new.bab += einsum(r1.a, (0,), tmp56, (1, 2), (2, 0, 1))
+    del tmp56
+    r2new.aba = einsum(ints.tmp132, (0, 1, 2, 3), r2.aba, (1, 3, 4), (0, 2, 4))
+    del ints.tmp132
+    r2new.aba += einsum(ints.tmp85, (0, 1, 2, 3), r2.bbb, (4, 3, 1), (2, 4, 0)) * 2
+    del ints.tmp85
+    r2new.aba += einsum(t2.abab, (0, 1, 2, 3), tmp35, (0, 4, 1), (2, 3, 4))
+    del tmp35
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp36, (3, 2, 4, 1), (0, 4, 3))
+    del tmp36
+    r2new.aba += einsum(tmp37, (0, 1, 2, 3), r2.aba, (3, 4, 1), (2, 4, 0)) * -1
+    del tmp37
+    r2new.aba += einsum(tmp41, (0, 1, 2), tmp40, (0, 3), (2, 3, 1)) * -1
+    del tmp41, tmp40
+    r2new.aba += einsum(tmp42, (0, 1, 2, 3), r1.b, (3,), (1, 2, 0)) * -1
+    del tmp42
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp44, (1, 3), (0, 3, 2)) * -1
+    del tmp44
+    r2new.aba += einsum(tmp46, (0, 1), r2.aba, (0, 2, 3), (1, 2, 3)) * -1
+    del tmp46
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp31, (2, 3), (0, 1, 3)) * -1
+    r2new.aba += einsum(t2.abab, (0, 1, 2, 3), tmp48, (1,), (2, 3, 0)) * -2
+    del tmp48
+    r2new.aba += einsum(r1.b, (0,), tmp34, (1, 2), (2, 0, 1))
+    r2new.aaa = einsum(r2.aaa, (0, 1, 2), ints.tmp110, (3, 0, 4, 1), (3, 4, 2)) * -2
+    del ints.tmp110
+    r2new.aaa += einsum(ints.tmp99, (0, 1, 2, 3), r1.a, (3,), (2, 1, 0)) * 2
+    del ints.tmp99
+    r2new.aaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp10, (0, 1, 4), (2, 3, 4)) * 2
+    del tmp10
+    r2new.aaa += np.transpose(tmp22, (1, 2, 0)) * -1
+    r2new.aaa += np.transpose(tmp22, (2, 1, 0))
+    del tmp22
+    r2new.aaa += np.transpose(tmp30, (1, 2, 0))
+    r2new.aaa += np.transpose(tmp30, (2, 1, 0)) * -1
+    del tmp30
+    r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp31, (2, 3), (0, 1, 3)) * -2
+    del tmp31
+    r2new.aaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp33, (1,), (2, 3, 0)) * 2
+    del tmp33
+    r2new.aaa += einsum(r1.a, (0,), tmp34, (1, 2), (0, 2, 1)) * -1
+    r2new.aaa += einsum(r1.a, (0,), tmp34, (1, 2), (2, 0, 1))
+    del tmp34
+    r1new.b = einsum(ints.tmp40, (0, 1, 2, 3), r2.bbb, (2, 3, 0), (1,)) * 2
+    del ints.tmp40
+    r1new.b += einsum(r2.aba, (0, 1, 2), ints.tmp42, (2, 0, 3, 1), (3,)) * -1
+    del ints.tmp42
+    r1new.b += einsum(r2.bbb, (0, 1, 2), tmp1, (2, 1), (0,)) * 2
+    r1new.b += einsum(r2.aba, (0, 1, 2), tmp0, (2, 0), (1,)) * -1
+    r1new.b += einsum(tmp6, (0, 1), r1.b, (0,), (1,)) * -1
+    del tmp6
+    r1new.b += einsum(t1.bb, (0, 1), tmp9, (0,), (1,))
+    del tmp9
+    r1new.a = einsum(r2.bab, (0, 1, 2), ints.tmp4, (2, 3, 1, 0), (3,)) * -1
+    del ints.tmp4
+    r1new.a += einsum(ints.tmp2, (0, 1, 2, 3), r2.aaa, (3, 2, 0), (1,)) * -2
+    del ints.tmp2
+    r1new.a += einsum(tmp0, (0, 1), r2.aaa, (2, 1, 0), (2,)) * 2
+    del tmp0
+    r1new.a += einsum(r2.bab, (0, 1, 2), tmp1, (2, 0), (1,)) * -1
+    del tmp1
+    r1new.a += einsum(r1.a, (0,), tmp2, (0, 1), (1,)) * -1
+    del tmp2
+    r1new.a += einsum(t1.aa, (0, 1), tmp5, (0,), (1,)) * -1
+    del tmp5
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCC2.hbar_lmatvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:57:33.199568.

+

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

+

tmp1 : array +tmp10 : array +tmp100 : array +tmp102 : array +tmp103 : array +tmp105 : array +tmp108 : array +tmp11 : array +tmp110 : array +tmp112 : array +tmp114 : array +tmp116 : array +tmp118 : array +tmp119 : array +tmp121 : array +tmp123 : array +tmp125 : array +tmp127 : array +tmp129 : array +tmp13 : array +tmp131 : array +tmp133 : array +tmp135 : array +tmp137 : array +tmp138 : array +tmp140 : array +tmp142 : array +tmp143 : array +tmp145 : array +tmp147 : array +tmp148 : array +tmp15 : array +tmp150 : array +tmp151 : array +tmp153 : array +tmp155 : array +tmp156 : array +tmp158 : array +tmp159 : array +tmp161 : array +tmp162 : array +tmp164 : array +tmp166 : array +tmp167 : array +tmp168 : array +tmp17 : array +tmp170 : array +tmp171 : array +tmp172 : array +tmp174 : array +tmp175 : array +tmp176 : array +tmp177 : array +tmp179 : array +tmp181 : array +tmp182 : array +tmp183 : array +tmp184 : array +tmp185 : array +tmp187 : array +tmp188 : array +tmp19 : array +tmp190 : array +tmp192 : array +tmp195 : array +tmp197 : array +tmp199 : array +tmp2 : array +tmp201 : array +tmp204 : array +tmp205 : array +tmp207 : array +tmp209 : array +tmp21 : array +tmp211 : array +tmp213 : array +tmp215 : array +tmp217 : array +tmp219 : array +tmp22 : array +tmp220 : array +tmp221 : array +tmp222 : array +tmp223 : array +tmp225 : array +tmp226 : array +tmp228 : array +tmp23 : array +tmp231 : array +tmp239 : array +tmp241 : array +tmp246 : array +tmp247 : array +tmp249 : array +tmp25 : array +tmp255 : array +tmp257 : array +tmp264 : array +tmp265 : array +tmp267 : array +tmp268 : array +tmp270 : array +tmp271 : array +tmp273 : array +tmp28 : array +tmp280 : array +tmp283 : array +tmp294 : array +tmp296 : array +tmp298 : array +tmp30 : array +tmp300 : array +tmp302 : array +tmp304 : array +tmp310 : array +tmp311 : array +tmp313 : array +tmp314 : array +tmp316 : array +tmp318 : array +tmp32 : array +tmp320 : array +tmp325 : array +tmp326 : array +tmp327 : array +tmp329 : array +tmp33 : array +tmp335 : array +tmp337 : array +tmp339 : array +tmp34 : array +tmp340 : array +tmp344 : array +tmp346 : array +tmp352 : array +tmp354 : array +tmp358 : array +tmp36 : array +tmp362 : array +tmp364 : array +tmp37 : array +tmp388 : array +tmp39 : array +tmp390 : array +tmp4 : array +tmp417 : array +tmp418 : array +tmp419 : array +tmp42 : array +tmp421 : array +tmp423 : array +tmp437 : array +tmp439 : array +tmp44 : array +tmp441 : array +tmp442 : array +tmp46 : array +tmp47 : array +tmp48 : array +tmp5 : array +tmp50 : array +tmp52 : array +tmp54 : array +tmp55 : array +tmp56 : array +tmp57 : array +tmp59 : array +tmp60 : array +tmp62 : array +tmp64 : array +tmp65 : array +tmp67 : array +tmp68 : array +tmp7 : array +tmp70 : array +tmp72 : array +tmp74 : array +tmp75 : array +tmp77 : array +tmp78 : array +tmp79 : array +tmp8 : array +tmp80 : array +tmp82 : array +tmp83 : array +tmp85 : array +tmp87 : array +tmp89 : array +tmp91 : array +tmp94 : array +tmp97 : array

+ +
+ Source code in ebcc/codegen/UDFCC2.py +
3356
+3357
+3358
+3359
+3360
+3361
+3362
+3363
+3364
+3365
+3366
+3367
+3368
+3369
+3370
+3371
+3372
+3373
+3374
+3375
+3376
+3377
+3378
+3379
+3380
+3381
+3382
+3383
+3384
+3385
+3386
+3387
+3388
+3389
+3390
+3391
+3392
+3393
+3394
+3395
+3396
+3397
+3398
+3399
+3400
+3401
+3402
+3403
+3404
+3405
+3406
+3407
+3408
+3409
+3410
+3411
+3412
+3413
+3414
+3415
+3416
+3417
+3418
+3419
+3420
+3421
+3422
+3423
+3424
+3425
+3426
+3427
+3428
+3429
+3430
+3431
+3432
+3433
+3434
+3435
+3436
+3437
+3438
+3439
+3440
+3441
+3442
+3443
+3444
+3445
+3446
+3447
+3448
+3449
+3450
+3451
+3452
+3453
+3454
+3455
+3456
+3457
+3458
+3459
+3460
+3461
+3462
+3463
+3464
+3465
+3466
+3467
+3468
+3469
+3470
+3471
+3472
+3473
+3474
+3475
+3476
+3477
+3478
+3479
+3480
+3481
+3482
+3483
+3484
+3485
+3486
+3487
+3488
+3489
+3490
+3491
+3492
+3493
+3494
+3495
+3496
+3497
+3498
+3499
+3500
+3501
+3502
+3503
+3504
+3505
+3506
+3507
+3508
+3509
+3510
+3511
+3512
+3513
+3514
+3515
+3516
+3517
+3518
+3519
+3520
+3521
+3522
+3523
+3524
+3525
+3526
+3527
+3528
+3529
+3530
+3531
+3532
+3533
+3534
+3535
+3536
+3537
+3538
+3539
+3540
+3541
+3542
+3543
+3544
+3545
+3546
+3547
+3548
+3549
+3550
+3551
+3552
+3553
+3554
+3555
+3556
+3557
+3558
+3559
+3560
+3561
+3562
+3563
+3564
+3565
+3566
+3567
+3568
+3569
+3570
+3571
+3572
+3573
+3574
+3575
+3576
+3577
+3578
+3579
+3580
+3581
+3582
+3583
+3584
+3585
+3586
+3587
+3588
+3589
+3590
+3591
+3592
+3593
+3594
+3595
+3596
+3597
+3598
+3599
+3600
+3601
+3602
+3603
+3604
+3605
+3606
+3607
+3608
+3609
+3610
+3611
+3612
+3613
+3614
+3615
+3616
+3617
+3618
+3619
+3620
+3621
+3622
+3623
+3624
+3625
+3626
+3627
+3628
+3629
+3630
+3631
+3632
+3633
+3634
+3635
+3636
+3637
+3638
+3639
+3640
+3641
+3642
+3643
+3644
+3645
+3646
+3647
+3648
+3649
+3650
+3651
+3652
+3653
+3654
+3655
+3656
+3657
+3658
+3659
+3660
+3661
+3662
+3663
+3664
+3665
+3666
+3667
+3668
+3669
+3670
+3671
+3672
+3673
+3674
+3675
+3676
+3677
+3678
+3679
+3680
+3681
+3682
+3683
+3684
+3685
+3686
+3687
+3688
+3689
+3690
+3691
+3692
+3693
+3694
+3695
+3696
+3697
+3698
+3699
+3700
+3701
+3702
+3703
+3704
+3705
+3706
+3707
+3708
+3709
+3710
+3711
+3712
+3713
+3714
+3715
+3716
+3717
+3718
+3719
+3720
+3721
+3722
+3723
+3724
+3725
+3726
+3727
+3728
+3729
+3730
+3731
+3732
+3733
+3734
+3735
+3736
+3737
+3738
+3739
+3740
+3741
+3742
+3743
+3744
+3745
+3746
+3747
+3748
+3749
+3750
+3751
+3752
+3753
+3754
+3755
+3756
+3757
+3758
+3759
+3760
+3761
+3762
+3763
+3764
+3765
+3766
+3767
+3768
+3769
+3770
+3771
+3772
+3773
+3774
+3775
+3776
+3777
+3778
+3779
+3780
+3781
+3782
+3783
+3784
+3785
+3786
+3787
+3788
+3789
+3790
+3791
+3792
+3793
+3794
+3795
+3796
+3797
+3798
+3799
+3800
+3801
+3802
+3803
+3804
def hbar_lmatvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:57:33.199568.
+
+    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
+    -------
+    tmp1 : array
+    tmp10 : array
+    tmp100 : array
+    tmp102 : array
+    tmp103 : array
+    tmp105 : array
+    tmp108 : array
+    tmp11 : array
+    tmp110 : array
+    tmp112 : array
+    tmp114 : array
+    tmp116 : array
+    tmp118 : array
+    tmp119 : array
+    tmp121 : array
+    tmp123 : array
+    tmp125 : array
+    tmp127 : array
+    tmp129 : array
+    tmp13 : array
+    tmp131 : array
+    tmp133 : array
+    tmp135 : array
+    tmp137 : array
+    tmp138 : array
+    tmp140 : array
+    tmp142 : array
+    tmp143 : array
+    tmp145 : array
+    tmp147 : array
+    tmp148 : array
+    tmp15 : array
+    tmp150 : array
+    tmp151 : array
+    tmp153 : array
+    tmp155 : array
+    tmp156 : array
+    tmp158 : array
+    tmp159 : array
+    tmp161 : array
+    tmp162 : array
+    tmp164 : array
+    tmp166 : array
+    tmp167 : array
+    tmp168 : array
+    tmp17 : array
+    tmp170 : array
+    tmp171 : array
+    tmp172 : array
+    tmp174 : array
+    tmp175 : array
+    tmp176 : array
+    tmp177 : array
+    tmp179 : array
+    tmp181 : array
+    tmp182 : array
+    tmp183 : array
+    tmp184 : array
+    tmp185 : array
+    tmp187 : array
+    tmp188 : array
+    tmp19 : array
+    tmp190 : array
+    tmp192 : array
+    tmp195 : array
+    tmp197 : array
+    tmp199 : array
+    tmp2 : array
+    tmp201 : array
+    tmp204 : array
+    tmp205 : array
+    tmp207 : array
+    tmp209 : array
+    tmp21 : array
+    tmp211 : array
+    tmp213 : array
+    tmp215 : array
+    tmp217 : array
+    tmp219 : array
+    tmp22 : array
+    tmp220 : array
+    tmp221 : array
+    tmp222 : array
+    tmp223 : array
+    tmp225 : array
+    tmp226 : array
+    tmp228 : array
+    tmp23 : array
+    tmp231 : array
+    tmp239 : array
+    tmp241 : array
+    tmp246 : array
+    tmp247 : array
+    tmp249 : array
+    tmp25 : array
+    tmp255 : array
+    tmp257 : array
+    tmp264 : array
+    tmp265 : array
+    tmp267 : array
+    tmp268 : array
+    tmp270 : array
+    tmp271 : array
+    tmp273 : array
+    tmp28 : array
+    tmp280 : array
+    tmp283 : array
+    tmp294 : array
+    tmp296 : array
+    tmp298 : array
+    tmp30 : array
+    tmp300 : array
+    tmp302 : array
+    tmp304 : array
+    tmp310 : array
+    tmp311 : array
+    tmp313 : array
+    tmp314 : array
+    tmp316 : array
+    tmp318 : array
+    tmp32 : array
+    tmp320 : array
+    tmp325 : array
+    tmp326 : array
+    tmp327 : array
+    tmp329 : array
+    tmp33 : array
+    tmp335 : array
+    tmp337 : array
+    tmp339 : array
+    tmp34 : array
+    tmp340 : array
+    tmp344 : array
+    tmp346 : array
+    tmp352 : array
+    tmp354 : array
+    tmp358 : array
+    tmp36 : array
+    tmp362 : array
+    tmp364 : array
+    tmp37 : array
+    tmp388 : array
+    tmp39 : array
+    tmp390 : array
+    tmp4 : array
+    tmp417 : array
+    tmp418 : array
+    tmp419 : array
+    tmp42 : array
+    tmp421 : array
+    tmp423 : array
+    tmp437 : array
+    tmp439 : array
+    tmp44 : array
+    tmp441 : array
+    tmp442 : array
+    tmp46 : array
+    tmp47 : array
+    tmp48 : array
+    tmp5 : array
+    tmp50 : array
+    tmp52 : array
+    tmp54 : array
+    tmp55 : array
+    tmp56 : array
+    tmp57 : array
+    tmp59 : array
+    tmp60 : array
+    tmp62 : array
+    tmp64 : array
+    tmp65 : array
+    tmp67 : array
+    tmp68 : array
+    tmp7 : array
+    tmp70 : array
+    tmp72 : array
+    tmp74 : array
+    tmp75 : array
+    tmp77 : array
+    tmp78 : array
+    tmp79 : array
+    tmp8 : array
+    tmp80 : array
+    tmp82 : array
+    tmp83 : array
+    tmp85 : array
+    tmp87 : array
+    tmp89 : array
+    tmp91 : array
+    tmp94 : array
+    tmp97 : array
+    """
+
+    tmp29 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (1, 2), (0,))
+    tmp31 = einsum(v.bbb.xov, (0, 1, 2), t1.bb, (1, 2), (0,))
+    tmp106 = einsum(t1.bb, (0, 1), v.bbb.xov, (2, 3, 1), (2, 0, 3))
+    tmp27 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (3, 2), (0, 3, 1))
+    tmp170 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp325 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp47 = einsum(v.bbb.xov, (0, 1, 2), tmp29, (0,), (1, 2))
+    tmp48 = einsum(tmp31, (0,), v.baa.xov, (0, 1, 2), (1, 2))
+    tmp44 = einsum(tmp31, (0,), v.bbb.xov, (0, 1, 2), (1, 2))
+    tmp107 = einsum(tmp106, (0, 1, 2), v.bbb.xov, (0, 1, 3), (2, 3))
+    tmp39 = einsum(tmp29, (0,), v.baa.xov, (0, 1, 2), (1, 2))
+    tmp99 = einsum(v.baa.xov, (0, 1, 2), tmp27, (0, 1, 3), (3, 2))
+    tmp166 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp59 = einsum(v.bbb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (0, 3, 4))
+    tmp77 = einsum(v.baa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (0, 3, 4))
+    tmp82 = einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (0, 3, 4))
+    tmp56 = einsum(v.baa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (0, 3, 4))
+    tmp230 = einsum(tmp27, (0, 1, 2), tmp106, (0, 3, 4), (1, 2, 3, 4))
+    tmp351 = einsum(tmp106, (0, 1, 2), tmp106, (0, 3, 4), (1, 3, 2, 4))
+    tmp41 = einsum(v.baa.xvv, (0, 1, 2), t1.aa, (3, 2), (0, 3, 1))
+    tmp45 = einsum(t1.bb, (0, 1), v.bbb.xvv, (2, 3, 1), (2, 0, 3))
+    tmp194 = einsum(tmp27, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 2, 3, 4))
+    tmp196 = einsum(v.baa.xoo, (0, 1, 2), tmp106, (0, 3, 4), (1, 2, 3, 4))
+    tmp334 = einsum(tmp106, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp171 = einsum(tmp170, (0, 1, 2, 3), t2.abab, (4, 5, 2, 3), (4, 0, 5, 1))
+    tmp326 = einsum(tmp325, (0, 1, 2, 3), t2.bbbb, (4, 5, 2, 3), (4, 5, 1, 0)) * -1
+    tmp54 = einsum(tmp27, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 2, 3, 4))
+    tmp137 = einsum(tmp106, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp282 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp279 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 2, 4))
+    tmp25 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp64 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp36 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp246 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp227 = einsum(tmp27, (0, 1, 2), tmp27, (0, 3, 4), (1, 3, 2, 4))
+    tmp225 = einsum(t1.bb, (0, 1), tmp47, (2, 1), (0, 2))
+    tmp176 = einsum(tmp48, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp221 = einsum(tmp44, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp219 = einsum(tmp107, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp175 = einsum(tmp39, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp174 = einsum(tmp99, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp208 = einsum(tmp31, (0,), v.baa.xvv, (0, 1, 2), (1, 2))
+    tmp206 = einsum(tmp29, (0,), v.bbb.xvv, (0, 1, 2), (1, 2))
+    tmp203 = einsum(tmp31, (0,), v.bbb.xvv, (0, 1, 2), (1, 2))
+    tmp198 = einsum(tmp29, (0,), v.baa.xvv, (0, 1, 2), (1, 2))
+    tmp189 = einsum(tmp27, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp187 = einsum(tmp29, (0,), v.bbb.xoo, (0, 1, 2), (1, 2))
+    tmp32 = einsum(tmp31, (0,), v.baa.xoo, (0, 1, 2), (1, 2))
+    tmp183 = einsum(tmp31, (0,), v.bbb.xoo, (0, 1, 2), (1, 2))
+    del tmp31
+    tmp181 = einsum(tmp106, (0, 1, 2), v.bbb.xoo, (0, 3, 1), (3, 2))
+    tmp30 = einsum(tmp29, (0,), v.baa.xoo, (0, 1, 2), (1, 2))
+    del tmp29
+    tmp28 = einsum(v.baa.xoo, (0, 1, 2), tmp27, (0, 2, 3), (1, 3))
+    tmp167 = einsum(t2.aaaa, (0, 1, 2, 3), tmp166, (4, 5, 2, 3), (0, 1, 5, 4)) * -1
+    tmp60 = einsum(tmp59, (0, 1, 2), v.baa.xov, (0, 3, 2), (1, 3))
+    tmp161 = einsum(v.bbb.xov, (0, 1, 2), tmp77, (0, 3, 2), (3, 1))
+    tmp158 = einsum(tmp82, (0, 1, 2), v.bbb.xov, (0, 3, 2), (1, 3))
+    tmp57 = einsum(tmp56, (0, 1, 2), v.baa.xov, (0, 3, 2), (1, 3))
+    tmp142 = einsum(v.baa.xov, (0, 1, 2), tmp106, (0, 3, 4), (1, 3, 4, 2))
+    tmp50 = einsum(v.baa.xov, (0, 1, 2), tmp27, (0, 3, 4), (3, 1, 4, 2))
+    tmp96 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp93 = einsum(v.baa.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp67 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp23 = einsum(v.baa.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp33 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 1, 2, 4))
+    tmp21 = einsum(f.bb.ov, (0, 1), t1.bb, (2, 1), (0, 2))
+    tmp1 = einsum(t1.aa, (0, 1), f.aa.ov, (2, 1), (2, 0))
+    tmp442 = einsum(tmp170, (0, 1, 2, 3), t2.abab, (4, 1, 2, 5), (4, 0, 5, 3))
+    tmp441 = einsum(v.bbb.xvv, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp439 = einsum(v.bbb.xov, (0, 1, 2), tmp77, (0, 1, 3), (3, 2))
+    tmp437 = einsum(v.bbb.xov, (0, 1, 2), tmp82, (0, 1, 3), (3, 2))
+    tmp423 = einsum(tmp325, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (4, 1, 5, 2))
+    tmp421 = einsum(t2.abab, (0, 1, 2, 3), tmp325, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp419 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp418 = einsum(tmp170, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (4, 1, 5, 2))
+    tmp417 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp390 = einsum(tmp59, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    tmp388 = einsum(tmp56, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    tmp364 = einsum(t2.abab, (0, 1, 2, 3), tmp166, (0, 4, 5, 2), (4, 1, 5, 3))
+    tmp362 = einsum(t2.aaaa, (0, 1, 2, 3), tmp166, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp358 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp354 = einsum(tmp230, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp352 = einsum(tmp351, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+    del tmp351
+    tmp346 = einsum(tmp41, (0, 1, 2), tmp106, (0, 3, 4), (1, 3, 4, 2))
+    tmp344 = einsum(tmp106, (0, 1, 2), tmp45, (0, 3, 4), (1, 3, 2, 4))
+    tmp340 = einsum(tmp194, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp339 = einsum(tmp196, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 3, 4))
+    tmp337 = einsum(tmp334, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+    tmp335 = einsum(tmp334, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4))
+    del tmp334
+    tmp329 = einsum(tmp171, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp327 = einsum(tmp326, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4)) * -1
+    tmp320 = einsum(tmp54, (0, 1, 2, 3), t2.abab, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp318 = einsum(tmp106, (0, 1, 2), tmp77, (0, 3, 4), (1, 3, 2, 4))
+    tmp316 = einsum(tmp56, (0, 1, 2), tmp106, (0, 3, 4), (1, 3, 4, 2))
+    tmp314 = einsum(tmp137, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 4, 1, 5))
+    tmp313 = einsum(t2.abab, (0, 1, 2, 3), tmp137, (4, 5, 1, 3), (0, 4, 5, 2))
+    tmp311 = einsum(tmp106, (0, 1, 2), tmp82, (0, 3, 4), (1, 3, 2, 4))
+    tmp310 = einsum(tmp59, (0, 1, 2), tmp106, (0, 3, 4), (1, 3, 4, 2))
+    tmp304 = einsum(t2.bbbb, (0, 1, 2, 3), tmp47, (4, 3), (0, 1, 4, 2))
+    tmp302 = einsum(tmp47, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp300 = einsum(t2.bbbb, (0, 1, 2, 3), tmp44, (4, 3), (0, 1, 4, 2))
+    tmp298 = einsum(tmp44, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp296 = einsum(t2.bbbb, (0, 1, 2, 3), tmp107, (4, 3), (0, 1, 4, 2))
+    tmp294 = einsum(tmp107, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp283 = einsum(t2.abab, (0, 1, 2, 3), tmp282, (4, 2, 5, 3), (0, 1, 4, 5))
+    del tmp282
+    tmp280 = einsum(t2.bbbb, (0, 1, 2, 3), tmp279, (4, 2, 5, 3), (0, 1, 4, 5)) * -1
+    del tmp279
+    tmp273 = einsum(v.bbb.xoo, (0, 1, 2), tmp77, (0, 3, 4), (3, 1, 2, 4))
+    tmp271 = einsum(tmp56, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp270 = einsum(t2.abab, (0, 1, 2, 3), tmp25, (0, 4, 5, 3), (4, 1, 5, 2))
+    tmp268 = einsum(tmp82, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp267 = einsum(tmp59, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp265 = einsum(tmp64, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (4, 1, 2, 5))
+    tmp264 = einsum(t2.abab, (0, 1, 2, 3), tmp64, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp257 = einsum(v.bbb.xoo, (0, 1, 2), tmp41, (0, 3, 4), (3, 1, 2, 4))
+    tmp255 = einsum(tmp45, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp249 = einsum(tmp36, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp247 = einsum(tmp246, (0, 1, 2, 3), t1.bb, (1, 4), (3, 0, 2, 4))
+    tmp241 = einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp239 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 3, 4, 1), (2, 0, 3, 4))
+    tmp231 = einsum(tmp230, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+    del tmp230
+    tmp228 = einsum(t1.aa, (0, 1), tmp227, (2, 3, 4, 0), (2, 3, 4, 1))
+    del tmp227
+    tmp226 = einsum(tmp225, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp223 = einsum(tmp176, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp222 = einsum(tmp221, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp220 = einsum(tmp219, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp217 = einsum(tmp175, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp215 = einsum(tmp174, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp213 = einsum(tmp27, (0, 1, 2), tmp45, (0, 3, 4), (1, 2, 3, 4))
+    tmp211 = einsum(tmp41, (0, 1, 2), tmp27, (0, 3, 4), (3, 1, 4, 2))
+    tmp209 = einsum(tmp208, (0, 1), t1.aa, (2, 1), (2, 0))
+    del tmp208
+    tmp207 = einsum(t1.bb, (0, 1), tmp206, (2, 1), (0, 2))
+    del tmp206
+    tmp205 = einsum(tmp45, (0, 1, 2), tmp106, (0, 3, 1), (3, 2))
+    del tmp106
+    tmp204 = einsum(t1.bb, (0, 1), tmp203, (2, 1), (0, 2))
+    del tmp203
+    tmp201 = einsum(tmp27, (0, 1, 2), tmp41, (0, 2, 3), (1, 3))
+    tmp199 = einsum(tmp198, (0, 1), t1.aa, (2, 1), (2, 0))
+    del tmp198
+    tmp197 = einsum(tmp196, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+    del tmp196
+    tmp195 = einsum(tmp194, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+    del tmp194
+    tmp192 = einsum(t1.aa, (0, 1), tmp189, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp190 = einsum(t1.aa, (0, 1), tmp189, (2, 3, 0, 4), (2, 3, 4, 1))
+    del tmp189
+    tmp188 = einsum(tmp187, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp185 = einsum(tmp32, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp184 = einsum(tmp183, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp182 = einsum(tmp181, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp179 = einsum(tmp30, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp177 = einsum(tmp28, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp172 = einsum(tmp171, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+    tmp168 = einsum(t1.aa, (0, 1), tmp167, (2, 3, 0, 4), (2, 3, 4, 1)) * -1
+    tmp164 = einsum(t1.aa, (0, 1), tmp60, (2, 0), (2, 1))
+    tmp162 = einsum(tmp161, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp159 = einsum(tmp158, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp156 = einsum(tmp57, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp155 = einsum(t2.abab, (0, 1, 2, 3), tmp142, (4, 5, 1, 2), (0, 4, 5, 3))
+    tmp153 = einsum(tmp27, (0, 1, 2), tmp82, (0, 3, 4), (1, 2, 3, 4))
+    tmp151 = einsum(tmp59, (0, 1, 2), tmp27, (0, 3, 4), (3, 1, 4, 2))
+    tmp150 = einsum(tmp50, (0, 1, 2, 3), t2.abab, (2, 4, 3, 5), (0, 1, 4, 5))
+    tmp148 = einsum(tmp50, (0, 1, 2, 3), t2.aaaa, (4, 2, 5, 3), (0, 4, 1, 5))
+    tmp147 = einsum(tmp27, (0, 1, 2), tmp77, (0, 3, 4), (1, 2, 3, 4))
+    tmp145 = einsum(tmp56, (0, 1, 2), tmp27, (0, 3, 4), (3, 1, 4, 2))
+    del tmp27
+    tmp143 = einsum(tmp142, (0, 1, 2, 3), t2.abab, (0, 2, 3, 4), (1, 4))
+    tmp140 = einsum(t2.abab, (0, 1, 2, 3), tmp54, (4, 0, 1, 3), (4, 2))
+    tmp138 = einsum(t2.bbbb, (0, 1, 2, 3), tmp137, (4, 1, 0, 3), (4, 2))
+    tmp135 = einsum(tmp50, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 3), (0, 4))
+    tmp133 = einsum(tmp48, (0, 1), t2.abab, (2, 3, 1, 4), (2, 0, 3, 4))
+    tmp131 = einsum(tmp48, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp129 = einsum(tmp39, (0, 1), t2.abab, (2, 3, 1, 4), (2, 0, 3, 4))
+    tmp127 = einsum(tmp39, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp125 = einsum(tmp99, (0, 1), t2.abab, (2, 3, 1, 4), (2, 0, 3, 4))
+    tmp123 = einsum(tmp99, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp121 = einsum(t2.bbbb, (0, 1, 2, 3), tmp47, (1, 3), (0, 2))
+    tmp119 = einsum(tmp47, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp118 = einsum(tmp48, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp116 = einsum(t2.aaaa, (0, 1, 2, 3), tmp48, (1, 3), (0, 2))
+    tmp114 = einsum(tmp44, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3))
+    tmp112 = einsum(tmp44, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp110 = einsum(tmp107, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3))
+    tmp108 = einsum(tmp107, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    del tmp107
+    tmp105 = einsum(tmp39, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp103 = einsum(t2.aaaa, (0, 1, 2, 3), tmp39, (1, 3), (0, 2))
+    tmp102 = einsum(tmp99, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp100 = einsum(t2.aaaa, (0, 1, 2, 3), tmp99, (1, 3), (0, 2))
+    del tmp99
+    tmp97 = einsum(t2.abab, (0, 1, 2, 3), tmp96, (4, 2, 3, 5), (0, 4, 1, 5))
+    del tmp96
+    tmp94 = einsum(t2.aaaa, (0, 1, 2, 3), tmp93, (4, 2, 5, 3), (0, 1, 4, 5)) * -1
+    del tmp93
+    tmp91 = einsum(v.baa.xvv, (0, 1, 2), tmp59, (0, 3, 2), (3, 1))
+    tmp89 = einsum(v.bbb.xvv, (0, 1, 2), tmp77, (0, 3, 2), (3, 1))
+    tmp87 = einsum(tmp82, (0, 1, 2), v.bbb.xvv, (0, 3, 2), (1, 3)) * -1
+    tmp85 = einsum(tmp56, (0, 1, 2), v.baa.xvv, (0, 3, 2), (1, 3)) * -1
+    tmp83 = einsum(tmp82, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp80 = einsum(tmp59, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp79 = einsum(tmp67, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (4, 0, 2, 5))
+    tmp78 = einsum(v.baa.xoo, (0, 1, 2), tmp77, (0, 3, 4), (1, 2, 3, 4))
+    tmp75 = einsum(tmp56, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp74 = einsum(tmp23, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 2, 4, 5))
+    tmp72 = einsum(tmp23, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 2, 5))
+    tmp70 = einsum(tmp25, (0, 1, 2, 3), t2.abab, (1, 2, 4, 3), (0, 4))
+    tmp68 = einsum(tmp67, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4))
+    tmp65 = einsum(t2.bbbb, (0, 1, 2, 3), tmp64, (0, 4, 1, 3), (4, 2))
+    tmp62 = einsum(tmp23, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 3), (0, 4))
+    tmp55 = einsum(v.baa.xoo, (0, 1, 2), tmp45, (0, 3, 4), (1, 2, 3, 4))
+    tmp52 = einsum(tmp41, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp46 = einsum(tmp45, (0, 1, 2), v.bbb.xoo, (0, 3, 1), (3, 2))
+    del tmp45
+    tmp42 = einsum(v.baa.xoo, (0, 1, 2), tmp41, (0, 2, 3), (1, 3))
+    del tmp41
+    tmp37 = einsum(tmp36, (0, 1, 2, 3), t1.bb, (3, 4), (1, 0, 2, 4))
+    tmp34 = einsum(tmp33, (0, 1, 2, 3), t1.aa, (1, 4), (3, 0, 2, 4))
+    tmp22 = einsum(tmp21, (0, 1), t1.bb, (0, 2), (1, 2))
+    tmp19 = einsum(tmp1, (0, 1), t1.aa, (0, 2), (1, 2))
+    tmp17 = einsum(t2.abab, (0, 1, 2, 3), f.aa.ov, (4, 2), (4, 0, 1, 3))
+    tmp15 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp13 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.ov, (1, 3), (0, 2))
+    tmp11 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp10 = einsum(t2.abab, (0, 1, 2, 3), f.aa.ov, (0, 2), (1, 3))
+    tmp8 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp7 = einsum(t1.bb, (0, 1), f.bb.vv, (2, 1), (0, 2))
+    tmp5 = einsum(t1.aa, (0, 1), f.aa.vv, (2, 1), (0, 2))
+    tmp4 = einsum(f.bb.oo, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp2 = einsum(t1.aa, (0, 1), f.aa.oo, (2, 0), (2, 1))
+
+    return {f"tmp1": tmp1, f"tmp10": tmp10, f"tmp100": tmp100, f"tmp102": tmp102, f"tmp103": tmp103, f"tmp105": tmp105, f"tmp108": tmp108, f"tmp11": tmp11, f"tmp110": tmp110, f"tmp112": tmp112, f"tmp114": tmp114, f"tmp116": tmp116, f"tmp118": tmp118, f"tmp119": tmp119, f"tmp121": tmp121, f"tmp123": tmp123, f"tmp125": tmp125, f"tmp127": tmp127, f"tmp129": tmp129, f"tmp13": tmp13, f"tmp131": tmp131, f"tmp133": tmp133, f"tmp135": tmp135, f"tmp137": tmp137, f"tmp138": tmp138, f"tmp140": tmp140, f"tmp142": tmp142, f"tmp143": tmp143, f"tmp145": tmp145, f"tmp147": tmp147, f"tmp148": tmp148, f"tmp15": tmp15, f"tmp150": tmp150, f"tmp151": tmp151, f"tmp153": tmp153, f"tmp155": tmp155, f"tmp156": tmp156, f"tmp158": tmp158, f"tmp159": tmp159, f"tmp161": tmp161, f"tmp162": tmp162, f"tmp164": tmp164, f"tmp166": tmp166, f"tmp167": tmp167, f"tmp168": tmp168, f"tmp17": tmp17, f"tmp170": tmp170, f"tmp171": tmp171, f"tmp172": tmp172, f"tmp174": tmp174, f"tmp175": tmp175, f"tmp176": tmp176, f"tmp177": tmp177, f"tmp179": tmp179, f"tmp181": tmp181, f"tmp182": tmp182, f"tmp183": tmp183, f"tmp184": tmp184, f"tmp185": tmp185, f"tmp187": tmp187, f"tmp188": tmp188, f"tmp19": tmp19, f"tmp190": tmp190, f"tmp192": tmp192, f"tmp195": tmp195, f"tmp197": tmp197, f"tmp199": tmp199, f"tmp2": tmp2, f"tmp201": tmp201, f"tmp204": tmp204, f"tmp205": tmp205, f"tmp207": tmp207, f"tmp209": tmp209, f"tmp21": tmp21, f"tmp211": tmp211, f"tmp213": tmp213, f"tmp215": tmp215, f"tmp217": tmp217, f"tmp219": tmp219, f"tmp22": tmp22, f"tmp220": tmp220, f"tmp221": tmp221, f"tmp222": tmp222, f"tmp223": tmp223, f"tmp225": tmp225, f"tmp226": tmp226, f"tmp228": tmp228, f"tmp23": tmp23, f"tmp231": tmp231, f"tmp239": tmp239, f"tmp241": tmp241, f"tmp246": tmp246, f"tmp247": tmp247, f"tmp249": tmp249, f"tmp25": tmp25, f"tmp255": tmp255, f"tmp257": tmp257, f"tmp264": tmp264, f"tmp265": tmp265, f"tmp267": tmp267, f"tmp268": tmp268, f"tmp270": tmp270, f"tmp271": tmp271, f"tmp273": tmp273, f"tmp28": tmp28, f"tmp280": tmp280, f"tmp283": tmp283, f"tmp294": tmp294, f"tmp296": tmp296, f"tmp298": tmp298, f"tmp30": tmp30, f"tmp300": tmp300, f"tmp302": tmp302, f"tmp304": tmp304, f"tmp310": tmp310, f"tmp311": tmp311, f"tmp313": tmp313, f"tmp314": tmp314, f"tmp316": tmp316, f"tmp318": tmp318, f"tmp32": tmp32, f"tmp320": tmp320, f"tmp325": tmp325, f"tmp326": tmp326, f"tmp327": tmp327, f"tmp329": tmp329, f"tmp33": tmp33, f"tmp335": tmp335, f"tmp337": tmp337, f"tmp339": tmp339, f"tmp34": tmp34, f"tmp340": tmp340, f"tmp344": tmp344, f"tmp346": tmp346, f"tmp352": tmp352, f"tmp354": tmp354, f"tmp358": tmp358, f"tmp36": tmp36, f"tmp362": tmp362, f"tmp364": tmp364, f"tmp37": tmp37, f"tmp388": tmp388, f"tmp39": tmp39, f"tmp390": tmp390, f"tmp4": tmp4, f"tmp417": tmp417, f"tmp418": tmp418, f"tmp419": tmp419, f"tmp42": tmp42, f"tmp421": tmp421, f"tmp423": tmp423, f"tmp437": tmp437, f"tmp439": tmp439, f"tmp44": tmp44, f"tmp441": tmp441, f"tmp442": tmp442, f"tmp46": tmp46, f"tmp47": tmp47, f"tmp48": tmp48, f"tmp5": tmp5, f"tmp50": tmp50, f"tmp52": tmp52, f"tmp54": tmp54, f"tmp55": tmp55, f"tmp56": tmp56, f"tmp57": tmp57, f"tmp59": tmp59, f"tmp60": tmp60, f"tmp62": tmp62, f"tmp64": tmp64, f"tmp65": tmp65, f"tmp67": tmp67, f"tmp68": tmp68, f"tmp7": tmp7, f"tmp70": tmp70, f"tmp72": tmp72, f"tmp74": tmp74, f"tmp75": tmp75, f"tmp77": tmp77, f"tmp78": tmp78, f"tmp79": tmp79, f"tmp8": tmp8, f"tmp80": tmp80, f"tmp82": tmp82, f"tmp83": tmp83, f"tmp85": tmp85, f"tmp87": tmp87, f"tmp89": tmp89, f"tmp91": tmp91, f"tmp94": tmp94, f"tmp97": tmp97}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCC2.hbar_lmatvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:57:33.309403.

+

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.

+ +
+ Source code in ebcc/codegen/UDFCC2.py +
3806
+3807
+3808
+3809
+3810
+3811
+3812
+3813
+3814
+3815
+3816
+3817
+3818
+3819
+3820
+3821
+3822
+3823
+3824
+3825
+3826
+3827
+3828
+3829
+3830
+3831
+3832
+3833
+3834
+3835
+3836
+3837
+3838
+3839
+3840
+3841
+3842
+3843
+3844
+3845
+3846
+3847
+3848
+3849
+3850
+3851
+3852
+3853
+3854
+3855
+3856
+3857
+3858
+3859
+3860
+3861
+3862
+3863
+3864
+3865
+3866
+3867
+3868
+3869
+3870
+3871
+3872
+3873
+3874
+3875
+3876
+3877
+3878
+3879
+3880
+3881
+3882
+3883
+3884
+3885
+3886
+3887
+3888
+3889
+3890
+3891
+3892
+3893
+3894
+3895
+3896
+3897
+3898
+3899
+3900
+3901
+3902
+3903
+3904
+3905
+3906
+3907
+3908
+3909
+3910
+3911
+3912
+3913
+3914
+3915
+3916
+3917
+3918
+3919
+3920
+3921
+3922
+3923
+3924
+3925
+3926
+3927
+3928
+3929
+3930
+3931
+3932
+3933
+3934
+3935
+3936
+3937
+3938
+3939
+3940
+3941
+3942
+3943
+3944
+3945
+3946
+3947
+3948
+3949
+3950
+3951
+3952
+3953
+3954
+3955
+3956
+3957
+3958
+3959
+3960
+3961
+3962
+3963
+3964
+3965
+3966
+3967
+3968
+3969
+3970
+3971
+3972
+3973
+3974
+3975
+3976
+3977
+3978
+3979
+3980
+3981
+3982
+3983
+3984
+3985
+3986
+3987
+3988
+3989
+3990
+3991
+3992
+3993
+3994
+3995
+3996
+3997
+3998
+3999
+4000
+4001
+4002
+4003
+4004
+4005
+4006
+4007
+4008
+4009
+4010
+4011
+4012
+4013
+4014
+4015
+4016
+4017
+4018
+4019
+4020
+4021
+4022
+4023
+4024
+4025
+4026
+4027
+4028
+4029
+4030
+4031
+4032
+4033
+4034
+4035
+4036
+4037
+4038
+4039
+4040
+4041
+4042
+4043
+4044
+4045
+4046
+4047
+4048
+4049
+4050
+4051
+4052
+4053
+4054
+4055
+4056
+4057
+4058
+4059
+4060
+4061
+4062
+4063
+4064
+4065
+4066
+4067
+4068
+4069
+4070
+4071
+4072
+4073
+4074
+4075
+4076
+4077
+4078
+4079
+4080
+4081
+4082
+4083
+4084
+4085
+4086
+4087
+4088
+4089
+4090
+4091
+4092
+4093
+4094
+4095
+4096
+4097
+4098
+4099
+4100
+4101
+4102
+4103
+4104
+4105
+4106
+4107
+4108
+4109
+4110
+4111
+4112
+4113
+4114
+4115
+4116
+4117
+4118
+4119
+4120
+4121
+4122
+4123
+4124
+4125
+4126
+4127
+4128
+4129
+4130
+4131
+4132
+4133
+4134
+4135
+4136
+4137
+4138
+4139
+4140
+4141
+4142
+4143
+4144
+4145
+4146
+4147
+4148
+4149
+4150
+4151
+4152
+4153
+4154
+4155
+4156
+4157
+4158
+4159
+4160
+4161
+4162
+4163
+4164
+4165
+4166
+4167
+4168
+4169
+4170
+4171
+4172
+4173
+4174
+4175
+4176
+4177
+4178
+4179
+4180
+4181
+4182
+4183
+4184
+4185
+4186
+4187
+4188
+4189
+4190
+4191
+4192
+4193
+4194
+4195
+4196
+4197
+4198
+4199
+4200
+4201
+4202
+4203
+4204
+4205
+4206
+4207
+4208
+4209
+4210
+4211
+4212
+4213
+4214
+4215
+4216
+4217
+4218
+4219
+4220
+4221
+4222
+4223
+4224
+4225
+4226
+4227
+4228
+4229
+4230
+4231
+4232
+4233
+4234
+4235
+4236
+4237
+4238
+4239
+4240
+4241
+4242
+4243
+4244
+4245
+4246
+4247
+4248
+4249
+4250
+4251
+4252
+4253
+4254
+4255
+4256
+4257
+4258
+4259
+4260
+4261
+4262
+4263
+4264
+4265
+4266
+4267
+4268
+4269
+4270
+4271
+4272
+4273
+4274
+4275
+4276
+4277
+4278
+4279
+4280
+4281
+4282
+4283
+4284
+4285
+4286
+4287
+4288
+4289
+4290
+4291
+4292
+4293
+4294
+4295
+4296
+4297
+4298
+4299
+4300
+4301
+4302
+4303
+4304
+4305
+4306
+4307
+4308
+4309
+4310
+4311
+4312
+4313
+4314
+4315
+4316
+4317
+4318
+4319
+4320
+4321
+4322
+4323
+4324
+4325
+4326
+4327
+4328
+4329
+4330
+4331
+4332
+4333
+4334
+4335
+4336
+4337
+4338
+4339
+4340
+4341
+4342
+4343
+4344
+4345
+4346
+4347
+4348
+4349
+4350
+4351
+4352
+4353
+4354
+4355
+4356
+4357
+4358
+4359
+4360
+4361
+4362
+4363
+4364
+4365
+4366
+4367
+4368
+4369
+4370
+4371
+4372
+4373
+4374
+4375
+4376
+4377
+4378
+4379
+4380
+4381
+4382
+4383
+4384
+4385
+4386
+4387
+4388
+4389
+4390
+4391
+4392
+4393
+4394
+4395
+4396
+4397
+4398
+4399
+4400
+4401
+4402
+4403
+4404
+4405
+4406
+4407
+4408
+4409
+4410
+4411
+4412
+4413
def hbar_lmatvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:57:33.309403.
+
+    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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp15 = np.copy(ints.tmp77)
+    tmp15 += v.bbb.xov
+    tmp15 += ints.tmp82 * 2
+    tmp13 = np.copy(ints.tmp59)
+    tmp13 += v.baa.xov
+    tmp13 += ints.tmp56 * 2
+    tmp39 = einsum(r2.bbb, (0, 1, 2), t2.bbbb, (0, 1, 3, 2), (3,))
+    tmp38 = einsum(r2.aba, (0, 1, 2), t2.abab, (0, 1, 2, 3), (3,))
+    tmp34 = np.copy(ints.tmp56) * 2
+    del ints.tmp56
+    tmp34 += ints.tmp59
+    del ints.tmp59
+    tmp34 += v.baa.xov
+    tmp16 = einsum(tmp15, (0, 1, 2), r2.bab, (1, 3, 2), (0, 3)) * -1
+    tmp14 = einsum(tmp13, (0, 1, 2), r2.aaa, (3, 1, 2), (0, 3)) * -1
+    del tmp13
+    tmp53 = np.copy(f.bb.oo)
+    tmp53 += np.transpose(ints.tmp21, (1, 0))
+    tmp43 = np.copy(ints.tmp419)
+    del ints.tmp419
+    tmp43 += ints.tmp423 * 2
+    del ints.tmp423
+    tmp51 = einsum(r2.bbb, (0, 1, 2), tmp15, (3, 1, 2), (3, 0)) * -1
+    del tmp15
+    tmp59 = np.copy(tmp38) * -0.5
+    tmp59 += tmp39
+    tmp61 = np.copy(ints.tmp158) * 2
+    tmp61 += ints.tmp161
+    tmp35 = einsum(r2.aba, (0, 1, 2), tmp34, (3, 0, 2), (3, 1))
+    tmp25 = np.copy(ints.tmp57) * 2
+    tmp25 += ints.tmp60
+    tmp23 = einsum(t2.aaaa, (0, 1, 2, 3), r2.aaa, (0, 1, 3), (2,))
+    tmp19 = np.copy(f.aa.oo)
+    tmp19 += np.transpose(ints.tmp1, (1, 0))
+    tmp17 = np.copy(tmp14) * -2
+    del tmp14
+    tmp17 += tmp16
+    del tmp16
+    tmp11 = np.copy(ints.tmp358)
+    tmp11 += ints.tmp362 * 2
+    tmp9 = einsum(r2.bab, (0, 1, 2), t2.abab, (1, 0, 3, 2), (3,)) * -1
+    tmp54 = einsum(r2.bbb, (0, 1, 2), tmp53, (1, 3), (0, 3, 2)) * -1
+    del tmp53
+    tmp50 = einsum(tmp43, (0, 1, 2, 3), r2.bbb, (4, 0, 2), (4, 1, 3)) * -1
+    tmp52 = einsum(v.bbb.xov, (0, 1, 2), tmp51, (0, 3), (1, 3, 2)) * -1
+    del tmp51
+    tmp60 = einsum(ints.tmp325, (0, 1, 2, 3), tmp59, (3,), (0, 1, 2)) * 2
+    del ints.tmp325, tmp59
+    tmp62 = einsum(r2.bbb, (0, 1, 2), tmp61, (1, 3), (0, 3, 2)) * -2
+    del tmp61
+    tmp58 = einsum(v.bbb.xov, (0, 1, 2), tmp35, (0, 3), (1, 3, 2))
+    tmp57 = einsum(r2.aba, (0, 1, 2), ints.tmp421, (0, 3, 2, 4), (3, 1, 4))
+    tmp56 = einsum(ints.tmp64, (0, 1, 2, 3), r1.b, (1,), (0, 2, 3))
+    tmp47 = einsum(t1.bb, (0, 1), f.bb.ov, (0, 2), (2, 1))
+    tmp36 = np.copy(ints.tmp77) * 0.5
+    del ints.tmp77
+    tmp36 += ints.tmp82
+    del ints.tmp82
+    tmp36 += v.bbb.xov * 0.5
+    tmp29 = einsum(t1.aa, (0, 1), f.aa.ov, (0, 2), (2, 1))
+    tmp26 = einsum(r2.aaa, (0, 1, 2), tmp25, (1, 3), (0, 3, 2)) * -2
+    del tmp25
+    tmp24 = einsum(tmp23, (0,), ints.tmp166, (1, 2, 3, 0), (1, 2, 3))
+    tmp22 = einsum(ints.tmp23, (0, 1, 2, 3), r1.a, (1,), (0, 2, 3))
+    tmp20 = einsum(r2.aaa, (0, 1, 2), tmp19, (1, 3), (0, 3, 2)) * -1
+    del tmp19
+    tmp18 = einsum(v.baa.xov, (0, 1, 2), tmp17, (0, 3), (1, 3, 2))
+    del tmp17
+    tmp12 = einsum(tmp11, (0, 1, 2, 3), r2.aaa, (4, 0, 2), (4, 1, 3)) * -1
+    del tmp11
+    tmp10 = einsum(ints.tmp166, (0, 1, 2, 3), tmp9, (3,), (0, 1, 2))
+    del ints.tmp166
+    tmp8 = einsum(ints.tmp364, (0, 1, 2, 3), r2.bab, (1, 4, 3), (0, 4, 2)) * -1
+    tmp64 = np.copy(ints.tmp246)
+    del ints.tmp246
+    tmp64 += np.transpose(ints.tmp326, (2, 3, 0, 1)) * -1
+    del ints.tmp326
+    tmp55 = np.copy(np.transpose(tmp50, (1, 0, 2))) * -1
+    del tmp50
+    tmp55 += np.transpose(tmp52, (1, 0, 2))
+    del tmp52
+    tmp55 += np.transpose(tmp54, (1, 0, 2)) * -1
+    del tmp54
+    tmp63 = einsum(r1.b, (0,), f.bb.ov, (1, 2), (1, 0, 2))
+    tmp63 += tmp56
+    del tmp56
+    tmp63 += tmp57
+    del tmp57
+    tmp63 += np.transpose(tmp58, (1, 0, 2))
+    del tmp58
+    tmp63 += tmp60 * -1
+    del tmp60
+    tmp63 += np.transpose(tmp62, (1, 0, 2))
+    del tmp62
+    tmp48 = np.copy(ints.tmp437) * 2
+    del ints.tmp437
+    tmp48 += ints.tmp439
+    del ints.tmp439
+    tmp48 += f.bb.vv * -1
+    tmp48 += np.transpose(tmp47, (1, 0))
+    del tmp47
+    tmp44 = np.copy(ints.tmp441)
+    del ints.tmp441
+    tmp44 += np.transpose(ints.tmp442, (1, 0, 2, 3)) * -1
+    del ints.tmp442
+    tmp46 = einsum(tmp34, (0, 1, 2), r2.aaa, (3, 1, 2), (0, 3))
+    del tmp34
+    tmp46 += einsum(tmp36, (0, 1, 2), r2.bab, (1, 3, 2), (0, 3)) * -1
+    tmp45 = np.copy(ints.tmp171)
+    tmp45 += np.transpose(ints.tmp36, (1, 0, 2, 3))
+    tmp49 = np.copy(tmp23) * 2
+    del tmp23
+    tmp49 += tmp9
+    del tmp9
+    tmp42 = np.copy(f.bb.oo)
+    tmp42 += ints.tmp158 * 2
+    tmp42 += ints.tmp161
+    tmp42 += np.transpose(ints.tmp21, (1, 0))
+    tmp41 = np.copy(f.aa.oo)
+    tmp41 += np.transpose(ints.tmp1, (1, 0))
+    tmp41 += ints.tmp57 * 2
+    tmp41 += ints.tmp60
+    tmp30 = np.copy(ints.tmp388) * 2
+    del ints.tmp388
+    tmp30 += ints.tmp390
+    del ints.tmp390
+    tmp30 += f.aa.vv * -1
+    tmp30 += np.transpose(tmp29, (1, 0))
+    del tmp29
+    tmp37 = np.copy(tmp35) * -1
+    del tmp35
+    tmp37 += einsum(r2.bbb, (0, 1, 2), tmp36, (3, 1, 2), (3, 0)) * 4
+    del tmp36
+    tmp32 = np.copy(ints.tmp358)
+    del ints.tmp358
+    tmp32 += ints.tmp362 * 2
+    del ints.tmp362
+    tmp40 = np.copy(tmp38) * -1
+    del tmp38
+    tmp40 += tmp39 * 2
+    del tmp39
+    tmp33 = np.copy(ints.tmp171)
+    del ints.tmp171
+    tmp33 += np.transpose(ints.tmp36, (0, 1, 3, 2))
+    del ints.tmp36
+    tmp31 = np.copy(ints.tmp417)
+    del ints.tmp417
+    tmp31 += np.transpose(ints.tmp418, (1, 0, 2, 3)) * -1
+    del ints.tmp418
+    tmp27 = einsum(r1.a, (0,), f.aa.ov, (1, 2), (1, 0, 2)) * -1
+    tmp27 += tmp22 * -1
+    del tmp22
+    tmp27 += tmp24 * 2
+    del tmp24
+    tmp27 += np.transpose(tmp26, (1, 0, 2)) * -1
+    del tmp26
+    tmp21 = np.copy(tmp8)
+    del tmp8
+    tmp21 += tmp10
+    del tmp10
+    tmp21 += np.transpose(tmp12, (1, 0, 2)) * -2
+    del tmp12
+    tmp21 += np.transpose(tmp18, (1, 0, 2))
+    del tmp18
+    tmp21 += np.transpose(tmp20, (1, 0, 2)) * -2
+    del tmp20
+    tmp28 = np.copy(ints.tmp167)
+    del ints.tmp167
+    tmp28 += np.transpose(ints.tmp33, (2, 3, 0, 1)) * -1
+    del ints.tmp33
+    tmp7 = np.copy(f.bb.oo)
+    tmp7 += ints.tmp158 * 2
+    del ints.tmp158
+    tmp7 += ints.tmp161
+    del ints.tmp161
+    tmp7 += np.transpose(ints.tmp183, (1, 0))
+    del ints.tmp183
+    tmp7 += np.transpose(ints.tmp187, (1, 0))
+    del ints.tmp187
+    tmp7 += np.transpose(ints.tmp21, (1, 0))
+    del ints.tmp21
+    tmp7 += ints.tmp221
+    del ints.tmp221
+    tmp7 += ints.tmp225
+    del ints.tmp225
+    tmp7 += ints.tmp181 * -1
+    del ints.tmp181
+    tmp7 += ints.tmp219 * -1
+    del ints.tmp219
+    tmp3 = np.copy(ints.tmp100)
+    del ints.tmp100
+    tmp3 += ints.tmp108 * 0.5
+    del ints.tmp108
+    tmp3 += ints.tmp135
+    del ints.tmp135
+    tmp3 += ints.tmp140 * 0.5
+    del ints.tmp140
+    tmp3 += ints.tmp156
+    del ints.tmp156
+    tmp3 += ints.tmp164 * 0.5
+    del ints.tmp164
+    tmp3 += ints.tmp179 * 0.5
+    del ints.tmp179
+    tmp3 += ints.tmp185 * 0.5
+    del ints.tmp185
+    tmp3 += ints.tmp19 * 0.5
+    del ints.tmp19
+    tmp3 += ints.tmp201 * 0.5
+    del ints.tmp201
+    tmp3 += ints.tmp217 * 0.5
+    del ints.tmp217
+    tmp3 += ints.tmp223 * 0.5
+    del ints.tmp223
+    tmp3 += ints.tmp2 * 0.5
+    del ints.tmp2
+    tmp3 += ints.tmp42 * 0.5
+    del ints.tmp42
+    tmp3 += ints.tmp62
+    del ints.tmp62
+    tmp3 += ints.tmp70 * 0.5
+    del ints.tmp70
+    tmp3 += ints.tmp85
+    del ints.tmp85
+    tmp3 += f.aa.ov * -0.5
+    tmp3 += ints.tmp103 * -1
+    del ints.tmp103
+    tmp3 += ints.tmp112 * -0.5
+    del ints.tmp112
+    tmp3 += ints.tmp116 * -1
+    del ints.tmp116
+    tmp3 += ints.tmp119 * -0.5
+    del ints.tmp119
+    tmp3 += ints.tmp11 * -0.5
+    del ints.tmp11
+    tmp3 += ints.tmp177 * -0.5
+    del ints.tmp177
+    tmp3 += ints.tmp199 * -0.5
+    del ints.tmp199
+    tmp3 += ints.tmp209 * -0.5
+    del ints.tmp209
+    tmp3 += ints.tmp215 * -0.5
+    del ints.tmp215
+    tmp3 += ints.tmp39 * -0.5
+    del ints.tmp39
+    tmp3 += ints.tmp48 * -0.5
+    del ints.tmp48
+    tmp3 += ints.tmp5 * -0.5
+    del ints.tmp5
+    tmp3 += ints.tmp8 * -1
+    del ints.tmp8
+    tmp3 += ints.tmp91 * -0.5
+    del ints.tmp91
+    tmp5 = np.copy(ints.tmp142)
+    del ints.tmp142
+    tmp5 += np.transpose(ints.tmp239, (0, 2, 1, 3))
+    del ints.tmp239
+    tmp5 += np.transpose(ints.tmp257, (0, 2, 1, 3))
+    del ints.tmp257
+    tmp5 += ints.tmp267
+    del ints.tmp267
+    tmp5 += ints.tmp271 * 2
+    del ints.tmp271
+    tmp5 += ints.tmp283
+    del ints.tmp283
+    tmp5 += ints.tmp298
+    del ints.tmp298
+    tmp5 += ints.tmp302
+    del ints.tmp302
+    tmp5 += ints.tmp310
+    del ints.tmp310
+    tmp5 += ints.tmp316 * 2
+    del ints.tmp316
+    tmp5 += ints.tmp346
+    del ints.tmp346
+    tmp5 += np.transpose(ints.tmp67, (0, 2, 1, 3))
+    tmp5 += np.transpose(ints.tmp249, (0, 2, 1, 3)) * -1
+    del ints.tmp249
+    tmp5 += ints.tmp264 * -1
+    del ints.tmp264
+    tmp5 += ints.tmp270 * -1
+    del ints.tmp270
+    tmp5 += ints.tmp294 * -1
+    del ints.tmp294
+    tmp5 += ints.tmp313 * -1
+    del ints.tmp313
+    tmp5 += ints.tmp320 * -1
+    del ints.tmp320
+    tmp5 += ints.tmp329 * -1
+    del ints.tmp329
+    tmp5 += ints.tmp339 * -1
+    del ints.tmp339
+    tmp5 += np.transpose(ints.tmp340, (0, 2, 1, 3)) * -1
+    del ints.tmp340
+    tmp5 += ints.tmp354 * -1
+    del ints.tmp354
+    tmp2 = np.copy(ints.tmp102) * 0.5
+    del ints.tmp102
+    tmp2 += ints.tmp110
+    del ints.tmp110
+    tmp2 += ints.tmp138
+    del ints.tmp138
+    tmp2 += ints.tmp143 * 0.5
+    del ints.tmp143
+    tmp2 += ints.tmp159
+    del ints.tmp159
+    tmp2 += ints.tmp162 * 0.5
+    del ints.tmp162
+    tmp2 += ints.tmp184 * 0.5
+    del ints.tmp184
+    tmp2 += ints.tmp188 * 0.5
+    del ints.tmp188
+    tmp2 += ints.tmp205 * 0.5
+    del ints.tmp205
+    tmp2 += ints.tmp222 * 0.5
+    del ints.tmp222
+    tmp2 += ints.tmp226 * 0.5
+    del ints.tmp226
+    tmp2 += ints.tmp22 * 0.5
+    del ints.tmp22
+    tmp2 += ints.tmp46 * 0.5
+    del ints.tmp46
+    tmp2 += ints.tmp4 * 0.5
+    del ints.tmp4
+    tmp2 += ints.tmp65
+    del ints.tmp65
+    tmp2 += ints.tmp68 * 0.5
+    del ints.tmp68
+    tmp2 += ints.tmp87
+    del ints.tmp87
+    tmp2 += f.bb.ov * -0.5
+    tmp2 += ints.tmp105 * -0.5
+    del ints.tmp105
+    tmp2 += ints.tmp10 * -0.5
+    del ints.tmp10
+    tmp2 += ints.tmp114 * -1
+    del ints.tmp114
+    tmp2 += ints.tmp118 * -0.5
+    del ints.tmp118
+    tmp2 += ints.tmp121 * -1
+    del ints.tmp121
+    tmp2 += ints.tmp13 * -1
+    del ints.tmp13
+    tmp2 += ints.tmp182 * -0.5
+    del ints.tmp182
+    tmp2 += ints.tmp204 * -0.5
+    del ints.tmp204
+    tmp2 += ints.tmp207 * -0.5
+    del ints.tmp207
+    tmp2 += ints.tmp220 * -0.5
+    del ints.tmp220
+    tmp2 += ints.tmp44 * -0.5
+    del ints.tmp44
+    tmp2 += ints.tmp47 * -0.5
+    del ints.tmp47
+    tmp2 += ints.tmp7 * -0.5
+    del ints.tmp7
+    tmp2 += ints.tmp89 * -0.5
+    del ints.tmp89
+    tmp6 = np.copy(np.transpose(ints.tmp241, (1, 2, 0, 3)))
+    del ints.tmp241
+    tmp6 += np.transpose(ints.tmp247, (0, 2, 1, 3))
+    del ints.tmp247
+    tmp6 += np.transpose(ints.tmp255, (0, 2, 1, 3))
+    del ints.tmp255
+    tmp6 += ints.tmp268 * 2
+    del ints.tmp268
+    tmp6 += ints.tmp273
+    del ints.tmp273
+    tmp6 += ints.tmp300
+    del ints.tmp300
+    tmp6 += ints.tmp304
+    del ints.tmp304
+    tmp6 += ints.tmp314 * 2
+    del ints.tmp314
+    tmp6 += ints.tmp327
+    del ints.tmp327
+    tmp6 += ints.tmp335
+    del ints.tmp335
+    tmp6 += ints.tmp352
+    del ints.tmp352
+    tmp6 += ints.tmp137 * -1
+    del ints.tmp137
+    tmp6 += ints.tmp265 * -2
+    del ints.tmp265
+    tmp6 += ints.tmp280 * -1
+    del ints.tmp280
+    tmp6 += ints.tmp296 * -1
+    del ints.tmp296
+    tmp6 += ints.tmp311 * -2
+    del ints.tmp311
+    tmp6 += ints.tmp318 * -1
+    del ints.tmp318
+    tmp6 += np.transpose(ints.tmp337, (0, 2, 1, 3)) * -1
+    del ints.tmp337
+    tmp6 += ints.tmp344 * -1
+    del ints.tmp344
+    tmp6 += np.transpose(ints.tmp64, (1, 2, 0, 3)) * -1
+    del ints.tmp64
+    tmp4 = np.copy(f.aa.oo)
+    tmp4 += ints.tmp175
+    del ints.tmp175
+    tmp4 += ints.tmp176
+    del ints.tmp176
+    tmp4 += np.transpose(ints.tmp1, (1, 0))
+    del ints.tmp1
+    tmp4 += np.transpose(ints.tmp30, (1, 0))
+    del ints.tmp30
+    tmp4 += np.transpose(ints.tmp32, (1, 0))
+    del ints.tmp32
+    tmp4 += ints.tmp57 * 2
+    del ints.tmp57
+    tmp4 += ints.tmp60
+    del ints.tmp60
+    tmp4 += ints.tmp174 * -1
+    del ints.tmp174
+    tmp4 += ints.tmp28 * -1
+    del ints.tmp28
+    tmp0 = np.copy(ints.tmp129)
+    del ints.tmp129
+    tmp0 += ints.tmp133
+    del ints.tmp133
+    tmp0 += ints.tmp147
+    del ints.tmp147
+    tmp0 += ints.tmp153 * 2
+    del ints.tmp153
+    tmp0 += np.transpose(ints.tmp17, (1, 0, 2, 3))
+    del ints.tmp17
+    tmp0 += ints.tmp213
+    del ints.tmp213
+    tmp0 += np.transpose(ints.tmp25, (1, 0, 2, 3))
+    tmp0 += ints.tmp54
+    del ints.tmp54
+    tmp0 += np.transpose(ints.tmp55, (1, 0, 2, 3))
+    del ints.tmp55
+    tmp0 += ints.tmp78
+    del ints.tmp78
+    tmp0 += ints.tmp83 * 2
+    del ints.tmp83
+    tmp0 += ints.tmp97
+    del ints.tmp97
+    tmp0 += ints.tmp125 * -1
+    del ints.tmp125
+    tmp0 += ints.tmp150 * -1
+    del ints.tmp150
+    tmp0 += ints.tmp155 * -1
+    del ints.tmp155
+    tmp0 += ints.tmp172 * -1
+    del ints.tmp172
+    tmp0 += ints.tmp195 * -1
+    del ints.tmp195
+    tmp0 += np.transpose(ints.tmp197, (1, 0, 2, 3)) * -1
+    del ints.tmp197
+    tmp0 += ints.tmp231 * -1
+    del ints.tmp231
+    tmp0 += ints.tmp37 * -1
+    del ints.tmp37
+    tmp0 += ints.tmp74 * -1
+    del ints.tmp74
+    tmp0 += ints.tmp79 * -1
+    del ints.tmp79
+    tmp1 = np.copy(ints.tmp127)
+    del ints.tmp127
+    tmp1 += ints.tmp131
+    del ints.tmp131
+    tmp1 += ints.tmp148 * 2
+    del ints.tmp148
+    tmp1 += np.transpose(ints.tmp15, (1, 2, 0, 3))
+    del ints.tmp15
+    tmp1 += ints.tmp168
+    del ints.tmp168
+    tmp1 += ints.tmp190
+    del ints.tmp190
+    tmp1 += ints.tmp228
+    del ints.tmp228
+    tmp1 += np.transpose(ints.tmp34, (0, 2, 1, 3))
+    del ints.tmp34
+    tmp1 += np.transpose(ints.tmp52, (0, 2, 1, 3))
+    del ints.tmp52
+    tmp1 += ints.tmp75 * 2
+    del ints.tmp75
+    tmp1 += ints.tmp80
+    del ints.tmp80
+    tmp1 += ints.tmp123 * -1
+    del ints.tmp123
+    tmp1 += ints.tmp145 * -2
+    del ints.tmp145
+    tmp1 += ints.tmp151 * -1
+    del ints.tmp151
+    tmp1 += np.transpose(ints.tmp192, (0, 2, 1, 3)) * -1
+    del ints.tmp192
+    tmp1 += ints.tmp211 * -1
+    del ints.tmp211
+    tmp1 += np.transpose(ints.tmp23, (1, 2, 0, 3)) * -1
+    del ints.tmp23
+    tmp1 += ints.tmp50 * -1
+    del ints.tmp50
+    tmp1 += ints.tmp72 * -2
+    del ints.tmp72
+    tmp1 += ints.tmp94 * -1
+    del ints.tmp94
+    r2new.bbb = np.copy(tmp55) * 2
+    r2new.bbb += np.transpose(tmp55, (1, 0, 2)) * -2
+    del tmp55
+    r2new.bbb += tmp63 * -1
+    r2new.bbb += np.transpose(tmp63, (1, 0, 2))
+    del tmp63
+    r2new.bbb += einsum(tmp64, (0, 1, 2, 3), r2.bbb, (3, 2, 4), (0, 1, 4)) * 2
+    del tmp64
+    r2new.bbb += einsum(r2.bbb, (0, 1, 2), tmp48, (2, 3), (0, 1, 3)) * -2
+    r2new.bab = einsum(ints.tmp25, (0, 1, 2, 3), r1.a, (1,), (2, 0, 3))
+    del ints.tmp25
+    r2new.bab += einsum(ints.tmp421, (0, 1, 2, 3), r2.aaa, (4, 0, 2), (1, 4, 3)) * 2
+    del ints.tmp421
+    r2new.bab += einsum(r1.a, (0,), f.bb.ov, (1, 2), (1, 0, 2)) * -1
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp43, (0, 3, 2, 4), (3, 1, 4)) * -1
+    del tmp43
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp44, (3, 1, 2, 4), (0, 3, 4)) * -1
+    del tmp44
+    r2new.bab += einsum(tmp45, (0, 1, 2, 3), r2.bab, (2, 0, 4), (3, 1, 4))
+    del tmp45
+    r2new.bab += einsum(v.bbb.xov, (0, 1, 2), tmp46, (0, 3), (1, 3, 2)) * -2
+    del tmp46
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp48, (2, 3), (0, 1, 3)) * -1
+    del tmp48
+    r2new.bab += einsum(ints.tmp170, (0, 1, 2, 3), tmp49, (2,), (1, 0, 3))
+    del tmp49
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp41, (1, 3), (0, 3, 2)) * -1
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp42, (0, 3), (3, 1, 2)) * -1
+    r2new.aba = einsum(r1.b, (0,), ints.tmp67, (1, 2, 0, 3), (1, 2, 3))
+    del ints.tmp67
+    r2new.aba += einsum(f.aa.ov, (0, 1), r1.b, (2,), (0, 2, 1)) * -1
+    r2new.aba += einsum(r2.bbb, (0, 1, 2), ints.tmp364, (3, 1, 4, 2), (3, 0, 4)) * 2
+    del ints.tmp364
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp31, (3, 1, 2, 4), (0, 3, 4)) * -1
+    del tmp31
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp32, (0, 3, 2, 4), (3, 1, 4)) * -1
+    del tmp32
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp33, (0, 3, 1, 4), (3, 4, 2))
+    del tmp33
+    r2new.aba += einsum(v.baa.xov, (0, 1, 2), tmp37, (0, 3), (1, 3, 2)) * -1
+    del tmp37
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp30, (2, 3), (0, 1, 3)) * -1
+    r2new.aba += einsum(ints.tmp170, (0, 1, 2, 3), tmp40, (3,), (0, 1, 2))
+    del ints.tmp170, tmp40
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp41, (0, 3), (3, 1, 2)) * -1
+    del tmp41
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp42, (1, 3), (0, 3, 2)) * -1
+    del tmp42
+    r2new.aaa = np.copy(tmp21)
+    r2new.aaa += np.transpose(tmp21, (1, 0, 2)) * -1
+    del tmp21
+    r2new.aaa += tmp27
+    r2new.aaa += np.transpose(tmp27, (1, 0, 2)) * -1
+    del tmp27
+    r2new.aaa += einsum(tmp28, (0, 1, 2, 3), r2.aaa, (1, 0, 4), (2, 3, 4)) * -2
+    del tmp28
+    r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp30, (2, 3), (0, 1, 3)) * -2
+    del tmp30
+    r1new.b = einsum(tmp5, (0, 1, 2, 3), r2.aba, (0, 1, 3), (2,))
+    del tmp5
+    r1new.b += einsum(tmp6, (0, 1, 2, 3), r2.bbb, (1, 0, 3), (2,)) * -2
+    del tmp6
+    r1new.b += einsum(r2.aba, (0, 1, 2), tmp3, (0, 2), (1,)) * 2
+    r1new.b += einsum(r2.bbb, (0, 1, 2), tmp2, (1, 2), (0,)) * -4
+    r1new.b += einsum(r1.b, (0,), tmp7, (0, 1), (1,)) * -1
+    del tmp7
+    r1new.a = einsum(tmp0, (0, 1, 2, 3), r2.bab, (2, 0, 3), (1,))
+    del tmp0
+    r1new.a += einsum(r2.aaa, (0, 1, 2), tmp1, (1, 0, 3, 2), (3,)) * -2
+    del tmp1
+    r1new.a += einsum(tmp2, (0, 1), r2.bab, (0, 2, 1), (2,)) * 2
+    del tmp2
+    r1new.a += einsum(r2.aaa, (0, 1, 2), tmp3, (1, 2), (0,)) * -4
+    del tmp3
+    r1new.a += einsum(tmp4, (0, 1), r1.a, (0,), (1,)) * -1
+    del tmp4
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCC2.hbar_lmatvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:59:44.055032.

+

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

+

tmp10 : array +tmp100 : array +tmp102 : array +tmp103 : array +tmp105 : array +tmp106 : array +tmp108 : array +tmp11 : array +tmp110 : array +tmp111 : array +tmp113 : array +tmp115 : array +tmp117 : array +tmp119 : array +tmp121 : array +tmp122 : array +tmp124 : array +tmp13 : array +tmp132 : array +tmp133 : array +tmp135 : array +tmp136 : array +tmp138 : array +tmp139 : array +tmp141 : array +tmp142 : array +tmp144 : array +tmp146 : array +tmp148 : array +tmp149 : array +tmp151 : array +tmp152 : array +tmp154 : array +tmp155 : array +tmp157 : array +tmp158 : array +tmp160 : array +tmp162 : array +tmp163 : array +tmp165 : array +tmp166 : array +tmp168 : array +tmp170 : array +tmp172 : array +tmp175 : array +tmp178 : array +tmp180 : array +tmp182 : array +tmp185 : array +tmp19 : array +tmp190 : array +tmp192 : array +tmp194 : array +tmp195 : array +tmp196 : array +tmp197 : array +tmp198 : array +tmp199 : array +tmp2 : array +tmp20 : array +tmp201 : array +tmp203 : array +tmp205 : array +tmp206 : array +tmp208 : array +tmp211 : array +tmp214 : array +tmp216 : array +tmp218 : array +tmp22 : array +tmp221 : array +tmp23 : array +tmp236 : array +tmp239 : array +tmp24 : array +tmp243 : array +tmp246 : array +tmp250 : array +tmp251 : array +tmp253 : array +tmp255 : array +tmp257 : array +tmp26 : array +tmp263 : array +tmp265 : array +tmp271 : array +tmp272 : array +tmp274 : array +tmp275 : array +tmp277 : array +tmp279 : array +tmp281 : array +tmp29 : array +tmp301 : array +tmp303 : array +tmp309 : array +tmp31 : array +tmp310 : array +tmp312 : array +tmp313 : array +tmp315 : array +tmp317 : array +tmp319 : array +tmp33 : array +tmp330 : array +tmp332 : array +tmp334 : array +tmp335 : array +tmp34 : array +tmp36 : array +tmp365 : array +tmp38 : array +tmp387 : array +tmp4 : array +tmp40 : array +tmp41 : array +tmp42 : array +tmp430 : array +tmp44 : array +tmp47 : array +tmp49 : array +tmp5 : array +tmp52 : array +tmp53 : array +tmp55 : array +tmp57 : array +tmp58 : array +tmp60 : array +tmp61 : array +tmp63 : array +tmp64 : array +tmp66 : array +tmp67 : array +tmp69 : array +tmp7 : array +tmp70 : array +tmp72 : array +tmp73 : array +tmp75 : array +tmp77 : array +tmp79 : array +tmp8 : array +tmp81 : array +tmp82 : array +tmp84 : array +tmp85 : array +tmp87 : array +tmp89 : array +tmp91 : array +tmp92 : array +tmp94 : array +tmp95 : array +tmp97 : array +tmp99 : array

+ +
+ Source code in ebcc/codegen/UDFCC2.py +
4415
+4416
+4417
+4418
+4419
+4420
+4421
+4422
+4423
+4424
+4425
+4426
+4427
+4428
+4429
+4430
+4431
+4432
+4433
+4434
+4435
+4436
+4437
+4438
+4439
+4440
+4441
+4442
+4443
+4444
+4445
+4446
+4447
+4448
+4449
+4450
+4451
+4452
+4453
+4454
+4455
+4456
+4457
+4458
+4459
+4460
+4461
+4462
+4463
+4464
+4465
+4466
+4467
+4468
+4469
+4470
+4471
+4472
+4473
+4474
+4475
+4476
+4477
+4478
+4479
+4480
+4481
+4482
+4483
+4484
+4485
+4486
+4487
+4488
+4489
+4490
+4491
+4492
+4493
+4494
+4495
+4496
+4497
+4498
+4499
+4500
+4501
+4502
+4503
+4504
+4505
+4506
+4507
+4508
+4509
+4510
+4511
+4512
+4513
+4514
+4515
+4516
+4517
+4518
+4519
+4520
+4521
+4522
+4523
+4524
+4525
+4526
+4527
+4528
+4529
+4530
+4531
+4532
+4533
+4534
+4535
+4536
+4537
+4538
+4539
+4540
+4541
+4542
+4543
+4544
+4545
+4546
+4547
+4548
+4549
+4550
+4551
+4552
+4553
+4554
+4555
+4556
+4557
+4558
+4559
+4560
+4561
+4562
+4563
+4564
+4565
+4566
+4567
+4568
+4569
+4570
+4571
+4572
+4573
+4574
+4575
+4576
+4577
+4578
+4579
+4580
+4581
+4582
+4583
+4584
+4585
+4586
+4587
+4588
+4589
+4590
+4591
+4592
+4593
+4594
+4595
+4596
+4597
+4598
+4599
+4600
+4601
+4602
+4603
+4604
+4605
+4606
+4607
+4608
+4609
+4610
+4611
+4612
+4613
+4614
+4615
+4616
+4617
+4618
+4619
+4620
+4621
+4622
+4623
+4624
+4625
+4626
+4627
+4628
+4629
+4630
+4631
+4632
+4633
+4634
+4635
+4636
+4637
+4638
+4639
+4640
+4641
+4642
+4643
+4644
+4645
+4646
+4647
+4648
+4649
+4650
+4651
+4652
+4653
+4654
+4655
+4656
+4657
+4658
+4659
+4660
+4661
+4662
+4663
+4664
+4665
+4666
+4667
+4668
+4669
+4670
+4671
+4672
+4673
+4674
+4675
+4676
+4677
+4678
+4679
+4680
+4681
+4682
+4683
+4684
+4685
+4686
+4687
+4688
+4689
+4690
+4691
+4692
+4693
+4694
+4695
+4696
+4697
+4698
+4699
+4700
+4701
+4702
+4703
+4704
+4705
+4706
+4707
+4708
+4709
+4710
+4711
+4712
+4713
+4714
+4715
+4716
+4717
+4718
+4719
+4720
+4721
+4722
+4723
+4724
+4725
+4726
+4727
+4728
+4729
+4730
+4731
+4732
+4733
+4734
+4735
+4736
+4737
+4738
+4739
+4740
+4741
+4742
+4743
+4744
+4745
+4746
+4747
+4748
+4749
+4750
+4751
+4752
+4753
+4754
+4755
+4756
+4757
+4758
+4759
+4760
+4761
+4762
+4763
+4764
+4765
+4766
+4767
+4768
+4769
+4770
+4771
+4772
+4773
+4774
+4775
+4776
+4777
+4778
+4779
def hbar_lmatvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:59:44.055032.
+
+    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
+    -------
+    tmp10 : array
+    tmp100 : array
+    tmp102 : array
+    tmp103 : array
+    tmp105 : array
+    tmp106 : array
+    tmp108 : array
+    tmp11 : array
+    tmp110 : array
+    tmp111 : array
+    tmp113 : array
+    tmp115 : array
+    tmp117 : array
+    tmp119 : array
+    tmp121 : array
+    tmp122 : array
+    tmp124 : array
+    tmp13 : array
+    tmp132 : array
+    tmp133 : array
+    tmp135 : array
+    tmp136 : array
+    tmp138 : array
+    tmp139 : array
+    tmp141 : array
+    tmp142 : array
+    tmp144 : array
+    tmp146 : array
+    tmp148 : array
+    tmp149 : array
+    tmp151 : array
+    tmp152 : array
+    tmp154 : array
+    tmp155 : array
+    tmp157 : array
+    tmp158 : array
+    tmp160 : array
+    tmp162 : array
+    tmp163 : array
+    tmp165 : array
+    tmp166 : array
+    tmp168 : array
+    tmp170 : array
+    tmp172 : array
+    tmp175 : array
+    tmp178 : array
+    tmp180 : array
+    tmp182 : array
+    tmp185 : array
+    tmp19 : array
+    tmp190 : array
+    tmp192 : array
+    tmp194 : array
+    tmp195 : array
+    tmp196 : array
+    tmp197 : array
+    tmp198 : array
+    tmp199 : array
+    tmp2 : array
+    tmp20 : array
+    tmp201 : array
+    tmp203 : array
+    tmp205 : array
+    tmp206 : array
+    tmp208 : array
+    tmp211 : array
+    tmp214 : array
+    tmp216 : array
+    tmp218 : array
+    tmp22 : array
+    tmp221 : array
+    tmp23 : array
+    tmp236 : array
+    tmp239 : array
+    tmp24 : array
+    tmp243 : array
+    tmp246 : array
+    tmp250 : array
+    tmp251 : array
+    tmp253 : array
+    tmp255 : array
+    tmp257 : array
+    tmp26 : array
+    tmp263 : array
+    tmp265 : array
+    tmp271 : array
+    tmp272 : array
+    tmp274 : array
+    tmp275 : array
+    tmp277 : array
+    tmp279 : array
+    tmp281 : array
+    tmp29 : array
+    tmp301 : array
+    tmp303 : array
+    tmp309 : array
+    tmp31 : array
+    tmp310 : array
+    tmp312 : array
+    tmp313 : array
+    tmp315 : array
+    tmp317 : array
+    tmp319 : array
+    tmp33 : array
+    tmp330 : array
+    tmp332 : array
+    tmp334 : array
+    tmp335 : array
+    tmp34 : array
+    tmp36 : array
+    tmp365 : array
+    tmp38 : array
+    tmp387 : array
+    tmp4 : array
+    tmp40 : array
+    tmp41 : array
+    tmp42 : array
+    tmp430 : array
+    tmp44 : array
+    tmp47 : array
+    tmp49 : array
+    tmp5 : array
+    tmp52 : array
+    tmp53 : array
+    tmp55 : array
+    tmp57 : array
+    tmp58 : array
+    tmp60 : array
+    tmp61 : array
+    tmp63 : array
+    tmp64 : array
+    tmp66 : array
+    tmp67 : array
+    tmp69 : array
+    tmp7 : array
+    tmp70 : array
+    tmp72 : array
+    tmp73 : array
+    tmp75 : array
+    tmp77 : array
+    tmp79 : array
+    tmp8 : array
+    tmp81 : array
+    tmp82 : array
+    tmp84 : array
+    tmp85 : array
+    tmp87 : array
+    tmp89 : array
+    tmp91 : array
+    tmp92 : array
+    tmp94 : array
+    tmp95 : array
+    tmp97 : array
+    tmp99 : array
+    """
+
+    tmp28 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (1, 2), (0,))
+    tmp32 = einsum(v.bbb.xov, (0, 1, 2), t1.bb, (1, 2), (0,))
+    tmp109 = einsum(t1.bb, (0, 1), v.bbb.xov, (2, 3, 1), (2, 0, 3))
+    tmp101 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (3, 2), (0, 3, 1))
+    tmp41 = einsum(v.bbb.xov, (0, 1, 2), tmp28, (0,), (1, 2))
+    tmp42 = einsum(v.baa.xov, (0, 1, 2), tmp32, (0,), (1, 2))
+    tmp38 = einsum(v.bbb.xov, (0, 1, 2), tmp32, (0,), (1, 2))
+    tmp110 = einsum(tmp109, (0, 1, 2), v.bbb.xov, (0, 1, 3), (2, 3))
+    tmp34 = einsum(v.baa.xov, (0, 1, 2), tmp28, (0,), (1, 2))
+    tmp102 = einsum(v.baa.xov, (0, 1, 2), tmp101, (0, 1, 3), (3, 2))
+    tmp60 = einsum(v.bbb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (0, 3, 4))
+    tmp84 = einsum(v.baa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (0, 3, 4))
+    tmp81 = einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (0, 3, 4))
+    tmp57 = einsum(v.baa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (0, 3, 4))
+    tmp30 = einsum(v.baa.xvv, (0, 1, 2), t1.aa, (3, 2), (0, 3, 1))
+    tmp39 = einsum(t1.bb, (0, 1), v.bbb.xvv, (2, 3, 1), (2, 0, 3))
+    tmp49 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp243 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp138 = einsum(v.bbb.xov, (0, 1, 2), tmp101, (0, 3, 4), (3, 4, 1, 2))
+    tmp135 = einsum(tmp109, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp26 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp236 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 2, 4))
+    tmp72 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp66 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp220 = einsum(t1.bb, (0, 1), tmp41, (2, 1), (0, 2))
+    tmp217 = einsum(tmp42, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp215 = einsum(t1.bb, (0, 1), tmp38, (2, 1), (0, 2))
+    tmp213 = einsum(tmp110, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp210 = einsum(tmp34, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp207 = einsum(tmp102, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp33 = einsum(tmp32, (0,), v.baa.xvv, (0, 1, 2), (1, 2))
+    tmp197 = einsum(v.bbb.xvv, (0, 1, 2), tmp28, (0,), (1, 2))
+    tmp194 = einsum(v.bbb.xvv, (0, 1, 2), tmp32, (0,), (1, 2))
+    tmp29 = einsum(tmp28, (0,), v.baa.xvv, (0, 1, 2), (1, 2))
+    tmp184 = einsum(v.bbb.xoo, (0, 1, 2), tmp28, (0,), (1, 2))
+    tmp181 = einsum(v.baa.xoo, (0, 1, 2), tmp32, (0,), (1, 2))
+    tmp179 = einsum(v.bbb.xoo, (0, 1, 2), tmp32, (0,), (1, 2))
+    del tmp32
+    tmp177 = einsum(tmp109, (0, 1, 2), v.bbb.xoo, (0, 3, 1), (3, 2))
+    tmp174 = einsum(v.baa.xoo, (0, 1, 2), tmp28, (0,), (1, 2))
+    del tmp28
+    tmp171 = einsum(v.baa.xoo, (0, 1, 2), tmp101, (0, 2, 3), (1, 3))
+    tmp44 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp157 = einsum(tmp60, (0, 1, 2), v.baa.xov, (0, 3, 2), (1, 3))
+    tmp154 = einsum(v.bbb.xov, (0, 1, 2), tmp84, (0, 3, 2), (3, 1))
+    tmp151 = einsum(tmp81, (0, 1, 2), v.bbb.xov, (0, 3, 2), (1, 3))
+    tmp148 = einsum(tmp57, (0, 1, 2), v.baa.xov, (0, 3, 2), (1, 3))
+    tmp141 = einsum(tmp109, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 2, 4))
+    tmp132 = einsum(v.baa.xov, (0, 1, 2), tmp101, (0, 3, 4), (3, 1, 4, 2))
+    tmp99 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp24 = einsum(v.baa.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp69 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp63 = einsum(v.baa.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp22 = einsum(f.bb.ov, (0, 1), t1.bb, (2, 1), (0, 2))
+    tmp19 = einsum(t1.aa, (0, 1), f.aa.ov, (2, 1), (2, 0))
+    tmp430 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp387 = einsum(v.bbb.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (3, 4, 1, 2))
+    tmp365 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp335 = einsum(v.bbb.xov, (0, 1, 2), tmp30, (0, 3, 4), (3, 1, 4, 2))
+    tmp334 = einsum(tmp101, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp332 = einsum(tmp39, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 4, 2))
+    tmp330 = einsum(tmp109, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp319 = einsum(tmp49, (0, 1, 2, 3), t2.abab, (4, 1, 2, 5), (4, 0, 5, 3))
+    tmp317 = einsum(v.bbb.xov, (0, 1, 2), tmp84, (0, 3, 4), (3, 1, 4, 2))
+    tmp315 = einsum(tmp57, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp313 = einsum(t2.bbbb, (0, 1, 2, 3), tmp243, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp312 = einsum(t2.abab, (0, 1, 2, 3), tmp243, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp310 = einsum(tmp81, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp309 = einsum(v.bbb.xov, (0, 1, 2), tmp60, (0, 3, 4), (3, 1, 4, 2))
+    tmp303 = einsum(t2.abab, (0, 1, 2, 3), tmp138, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp301 = einsum(tmp135, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 5), (0, 4, 5, 3))
+    tmp281 = einsum(t2.abab, (0, 1, 2, 3), tmp26, (1, 2, 4, 5), (0, 4, 3, 5))
+    tmp279 = einsum(tmp84, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp277 = einsum(tmp57, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp275 = einsum(t2.bbbb, (0, 1, 2, 3), tmp236, (1, 4, 3, 5), (0, 2, 5, 4))
+    tmp274 = einsum(t2.abab, (0, 1, 2, 3), tmp236, (1, 3, 4, 5), (0, 2, 5, 4))
+    tmp272 = einsum(tmp81, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp271 = einsum(tmp60, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp265 = einsum(t2.abab, (0, 1, 2, 3), tmp72, (0, 4, 1, 5), (4, 2, 3, 5))
+    tmp263 = einsum(t2.bbbb, (0, 1, 2, 3), tmp66, (0, 4, 1, 5), (4, 2, 3, 5))
+    tmp257 = einsum(v.bbb.xov, (0, 1, 2), tmp84, (0, 1, 3), (3, 2))
+    tmp255 = einsum(tmp81, (0, 1, 2), v.bbb.xov, (0, 1, 3), (2, 3))
+    tmp253 = einsum(v.bbb.xvv, (0, 1, 2), tmp30, (0, 3, 4), (3, 4, 1, 2))
+    tmp251 = einsum(v.bbb.xvv, (0, 1, 2), tmp39, (0, 3, 4), (3, 1, 2, 4))
+    tmp250 = einsum(v.bbb.xvv, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp246 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp239 = einsum(tmp39, (0, 1, 2), v.bbb.xov, (0, 1, 3), (3, 2))
+    tmp221 = einsum(tmp220, (0, 1), t1.bb, (1, 2), (0, 2))
+    del tmp220
+    tmp218 = einsum(t1.aa, (0, 1), tmp217, (2, 0), (2, 1))
+    del tmp217
+    tmp216 = einsum(tmp215, (0, 1), t1.bb, (1, 2), (0, 2))
+    del tmp215
+    tmp214 = einsum(tmp213, (0, 1), t1.bb, (1, 2), (0, 2))
+    del tmp213
+    tmp211 = einsum(tmp210, (0, 1), t1.aa, (1, 2), (0, 2))
+    del tmp210
+    tmp208 = einsum(t1.aa, (0, 1), tmp207, (2, 0), (2, 1))
+    del tmp207
+    tmp206 = einsum(tmp39, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp205 = einsum(tmp109, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp203 = einsum(v.baa.xov, (0, 1, 2), tmp30, (0, 3, 4), (3, 1, 2, 4))
+    tmp201 = einsum(tmp101, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp199 = einsum(tmp33, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp198 = einsum(tmp197, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp196 = einsum(tmp109, (0, 1, 2), tmp39, (0, 2, 3), (1, 3))
+    del tmp109
+    tmp195 = einsum(t1.bb, (0, 1), tmp194, (2, 1), (0, 2))
+    tmp192 = einsum(tmp101, (0, 1, 2), tmp30, (0, 2, 3), (1, 3))
+    del tmp101
+    tmp190 = einsum(tmp29, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp185 = einsum(tmp184, (0, 1), t1.bb, (1, 2), (0, 2))
+    del tmp184
+    tmp182 = einsum(tmp181, (0, 1), t1.aa, (1, 2), (0, 2))
+    del tmp181
+    tmp180 = einsum(tmp179, (0, 1), t1.bb, (1, 2), (0, 2))
+    del tmp179
+    tmp178 = einsum(tmp177, (0, 1), t1.bb, (1, 2), (0, 2))
+    del tmp177
+    tmp175 = einsum(tmp174, (0, 1), t1.aa, (1, 2), (0, 2))
+    del tmp174
+    tmp172 = einsum(t1.aa, (0, 1), tmp171, (2, 0), (2, 1))
+    del tmp171
+    tmp170 = einsum(tmp49, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (4, 1, 5, 2))
+    tmp168 = einsum(tmp81, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp166 = einsum(tmp60, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp165 = einsum(tmp44, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 4, 2, 5))
+    tmp163 = einsum(t2.aaaa, (0, 1, 2, 3), tmp44, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp162 = einsum(v.baa.xov, (0, 1, 2), tmp84, (0, 3, 4), (1, 3, 2, 4))
+    tmp160 = einsum(tmp57, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp158 = einsum(t1.aa, (0, 1), tmp157, (2, 0), (2, 1))
+    tmp155 = einsum(tmp154, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp152 = einsum(tmp151, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp149 = einsum(tmp148, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp146 = einsum(t2.abab, (0, 1, 2, 3), tmp141, (0, 4, 1, 5), (4, 2, 5, 3))
+    tmp144 = einsum(tmp132, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 5), (0, 4, 5, 3))
+    tmp142 = einsum(tmp141, (0, 1, 2, 3), t2.abab, (0, 2, 3, 4), (1, 4))
+    tmp139 = einsum(tmp138, (0, 1, 2, 3), t2.abab, (1, 2, 4, 3), (0, 4))
+    tmp136 = einsum(tmp135, (0, 1, 2, 3), t2.bbbb, (2, 1, 4, 3), (0, 4))
+    tmp133 = einsum(tmp132, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 3), (0, 4))
+    tmp124 = einsum(t2.bbbb, (0, 1, 2, 3), tmp41, (1, 3), (0, 2))
+    tmp122 = einsum(tmp41, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp121 = einsum(tmp42, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp119 = einsum(t2.aaaa, (0, 1, 2, 3), tmp42, (1, 3), (0, 2))
+    tmp117 = einsum(t2.bbbb, (0, 1, 2, 3), tmp38, (1, 3), (0, 2))
+    tmp115 = einsum(tmp38, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp113 = einsum(tmp110, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3))
+    tmp111 = einsum(tmp110, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp108 = einsum(t2.abab, (0, 1, 2, 3), tmp34, (0, 2), (1, 3))
+    tmp106 = einsum(t2.aaaa, (0, 1, 2, 3), tmp34, (1, 3), (0, 2))
+    tmp105 = einsum(tmp102, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp103 = einsum(tmp102, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp100 = einsum(t2.abab, (0, 1, 2, 3), tmp99, (0, 4, 3, 5), (1, 2, 4, 5))
+    tmp97 = einsum(tmp81, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp95 = einsum(tmp60, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp94 = einsum(t2.abab, (0, 1, 2, 3), tmp24, (0, 4, 2, 5), (1, 5, 4, 3))
+    tmp92 = einsum(t2.aaaa, (0, 1, 2, 3), tmp24, (1, 3, 4, 5), (0, 2, 5, 4))
+    tmp91 = einsum(v.baa.xvv, (0, 1, 2), tmp84, (0, 3, 4), (3, 1, 2, 4))
+    tmp89 = einsum(tmp57, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp87 = einsum(tmp60, (0, 1, 2), v.baa.xvv, (0, 3, 2), (1, 3))
+    tmp85 = einsum(tmp84, (0, 1, 2), v.bbb.xvv, (0, 3, 2), (1, 3))
+    tmp82 = einsum(v.bbb.xvv, (0, 1, 2), tmp81, (0, 3, 2), (3, 1)) * -1
+    tmp79 = einsum(tmp57, (0, 1, 2), v.baa.xvv, (0, 3, 2), (1, 3)) * -1
+    tmp77 = einsum(t2.abab, (0, 1, 2, 3), tmp69, (0, 1, 4, 5), (4, 2, 5, 3))
+    tmp75 = einsum(tmp63, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 5), (1, 4, 5, 3))
+    tmp73 = einsum(tmp72, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (1, 4))
+    tmp70 = einsum(t2.abab, (0, 1, 2, 3), tmp69, (0, 1, 4, 2), (4, 3))
+    tmp67 = einsum(tmp66, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 3), (1, 4))
+    tmp64 = einsum(t2.aaaa, (0, 1, 2, 3), tmp63, (0, 4, 1, 3), (4, 2))
+    tmp61 = einsum(tmp60, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    tmp58 = einsum(tmp57, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    tmp55 = einsum(tmp39, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp53 = einsum(tmp30, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp52 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp47 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp40 = einsum(v.bbb.xoo, (0, 1, 2), tmp39, (0, 2, 3), (1, 3))
+    del tmp39
+    tmp36 = einsum(v.baa.xoo, (0, 1, 2), tmp30, (0, 2, 3), (1, 3))
+    tmp31 = einsum(v.baa.xov, (0, 1, 2), tmp30, (0, 1, 3), (2, 3))
+    del tmp30
+    tmp23 = einsum(tmp22, (0, 1), t1.bb, (0, 2), (1, 2))
+    tmp20 = einsum(t1.aa, (0, 1), tmp19, (0, 2), (2, 1))
+    tmp13 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.ov, (1, 3), (0, 2))
+    tmp11 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp10 = einsum(t2.abab, (0, 1, 2, 3), f.aa.ov, (0, 2), (1, 3))
+    tmp8 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp7 = einsum(t1.bb, (0, 1), f.bb.vv, (2, 1), (0, 2))
+    tmp5 = einsum(f.aa.vv, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp4 = einsum(f.bb.oo, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp2 = einsum(t1.aa, (0, 1), f.aa.oo, (2, 0), (2, 1))
+
+    return {f"tmp10": tmp10, f"tmp100": tmp100, f"tmp102": tmp102, f"tmp103": tmp103, f"tmp105": tmp105, f"tmp106": tmp106, f"tmp108": tmp108, f"tmp11": tmp11, f"tmp110": tmp110, f"tmp111": tmp111, f"tmp113": tmp113, f"tmp115": tmp115, f"tmp117": tmp117, f"tmp119": tmp119, f"tmp121": tmp121, f"tmp122": tmp122, f"tmp124": tmp124, f"tmp13": tmp13, f"tmp132": tmp132, f"tmp133": tmp133, f"tmp135": tmp135, f"tmp136": tmp136, f"tmp138": tmp138, f"tmp139": tmp139, f"tmp141": tmp141, f"tmp142": tmp142, f"tmp144": tmp144, f"tmp146": tmp146, f"tmp148": tmp148, f"tmp149": tmp149, f"tmp151": tmp151, f"tmp152": tmp152, f"tmp154": tmp154, f"tmp155": tmp155, f"tmp157": tmp157, f"tmp158": tmp158, f"tmp160": tmp160, f"tmp162": tmp162, f"tmp163": tmp163, f"tmp165": tmp165, f"tmp166": tmp166, f"tmp168": tmp168, f"tmp170": tmp170, f"tmp172": tmp172, f"tmp175": tmp175, f"tmp178": tmp178, f"tmp180": tmp180, f"tmp182": tmp182, f"tmp185": tmp185, f"tmp19": tmp19, f"tmp190": tmp190, f"tmp192": tmp192, f"tmp194": tmp194, f"tmp195": tmp195, f"tmp196": tmp196, f"tmp197": tmp197, f"tmp198": tmp198, f"tmp199": tmp199, f"tmp2": tmp2, f"tmp20": tmp20, f"tmp201": tmp201, f"tmp203": tmp203, f"tmp205": tmp205, f"tmp206": tmp206, f"tmp208": tmp208, f"tmp211": tmp211, f"tmp214": tmp214, f"tmp216": tmp216, f"tmp218": tmp218, f"tmp22": tmp22, f"tmp221": tmp221, f"tmp23": tmp23, f"tmp236": tmp236, f"tmp239": tmp239, f"tmp24": tmp24, f"tmp243": tmp243, f"tmp246": tmp246, f"tmp250": tmp250, f"tmp251": tmp251, f"tmp253": tmp253, f"tmp255": tmp255, f"tmp257": tmp257, f"tmp26": tmp26, f"tmp263": tmp263, f"tmp265": tmp265, f"tmp271": tmp271, f"tmp272": tmp272, f"tmp274": tmp274, f"tmp275": tmp275, f"tmp277": tmp277, f"tmp279": tmp279, f"tmp281": tmp281, f"tmp29": tmp29, f"tmp301": tmp301, f"tmp303": tmp303, f"tmp309": tmp309, f"tmp31": tmp31, f"tmp310": tmp310, f"tmp312": tmp312, f"tmp313": tmp313, f"tmp315": tmp315, f"tmp317": tmp317, f"tmp319": tmp319, f"tmp33": tmp33, f"tmp330": tmp330, f"tmp332": tmp332, f"tmp334": tmp334, f"tmp335": tmp335, f"tmp34": tmp34, f"tmp36": tmp36, f"tmp365": tmp365, f"tmp38": tmp38, f"tmp387": tmp387, f"tmp4": tmp4, f"tmp40": tmp40, f"tmp41": tmp41, f"tmp42": tmp42, f"tmp430": tmp430, f"tmp44": tmp44, f"tmp47": tmp47, f"tmp49": tmp49, f"tmp5": tmp5, f"tmp52": tmp52, f"tmp53": tmp53, f"tmp55": tmp55, f"tmp57": tmp57, f"tmp58": tmp58, f"tmp60": tmp60, f"tmp61": tmp61, f"tmp63": tmp63, f"tmp64": tmp64, f"tmp66": tmp66, f"tmp67": tmp67, f"tmp69": tmp69, f"tmp7": tmp7, f"tmp70": tmp70, f"tmp72": tmp72, f"tmp73": tmp73, f"tmp75": tmp75, f"tmp77": tmp77, f"tmp79": tmp79, f"tmp8": tmp8, f"tmp81": tmp81, f"tmp82": tmp82, f"tmp84": tmp84, f"tmp85": tmp85, f"tmp87": tmp87, f"tmp89": tmp89, f"tmp91": tmp91, f"tmp92": tmp92, f"tmp94": tmp94, f"tmp95": tmp95, f"tmp97": tmp97, f"tmp99": tmp99}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCC2.hbar_lmatvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:59:44.148685.

+

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.

+ +
+ Source code in ebcc/codegen/UDFCC2.py +
4781
+4782
+4783
+4784
+4785
+4786
+4787
+4788
+4789
+4790
+4791
+4792
+4793
+4794
+4795
+4796
+4797
+4798
+4799
+4800
+4801
+4802
+4803
+4804
+4805
+4806
+4807
+4808
+4809
+4810
+4811
+4812
+4813
+4814
+4815
+4816
+4817
+4818
+4819
+4820
+4821
+4822
+4823
+4824
+4825
+4826
+4827
+4828
+4829
+4830
+4831
+4832
+4833
+4834
+4835
+4836
+4837
+4838
+4839
+4840
+4841
+4842
+4843
+4844
+4845
+4846
+4847
+4848
+4849
+4850
+4851
+4852
+4853
+4854
+4855
+4856
+4857
+4858
+4859
+4860
+4861
+4862
+4863
+4864
+4865
+4866
+4867
+4868
+4869
+4870
+4871
+4872
+4873
+4874
+4875
+4876
+4877
+4878
+4879
+4880
+4881
+4882
+4883
+4884
+4885
+4886
+4887
+4888
+4889
+4890
+4891
+4892
+4893
+4894
+4895
+4896
+4897
+4898
+4899
+4900
+4901
+4902
+4903
+4904
+4905
+4906
+4907
+4908
+4909
+4910
+4911
+4912
+4913
+4914
+4915
+4916
+4917
+4918
+4919
+4920
+4921
+4922
+4923
+4924
+4925
+4926
+4927
+4928
+4929
+4930
+4931
+4932
+4933
+4934
+4935
+4936
+4937
+4938
+4939
+4940
+4941
+4942
+4943
+4944
+4945
+4946
+4947
+4948
+4949
+4950
+4951
+4952
+4953
+4954
+4955
+4956
+4957
+4958
+4959
+4960
+4961
+4962
+4963
+4964
+4965
+4966
+4967
+4968
+4969
+4970
+4971
+4972
+4973
+4974
+4975
+4976
+4977
+4978
+4979
+4980
+4981
+4982
+4983
+4984
+4985
+4986
+4987
+4988
+4989
+4990
+4991
+4992
+4993
+4994
+4995
+4996
+4997
+4998
+4999
+5000
+5001
+5002
+5003
+5004
+5005
+5006
+5007
+5008
+5009
+5010
+5011
+5012
+5013
+5014
+5015
+5016
+5017
+5018
+5019
+5020
+5021
+5022
+5023
+5024
+5025
+5026
+5027
+5028
+5029
+5030
+5031
+5032
+5033
+5034
+5035
+5036
+5037
+5038
+5039
+5040
+5041
+5042
+5043
+5044
+5045
+5046
+5047
+5048
+5049
+5050
+5051
+5052
+5053
+5054
+5055
+5056
+5057
+5058
+5059
+5060
+5061
+5062
+5063
+5064
+5065
+5066
+5067
+5068
+5069
+5070
+5071
+5072
+5073
+5074
+5075
+5076
+5077
+5078
+5079
+5080
+5081
+5082
+5083
+5084
+5085
+5086
+5087
+5088
+5089
+5090
+5091
+5092
+5093
+5094
+5095
+5096
+5097
+5098
+5099
+5100
+5101
+5102
+5103
+5104
+5105
+5106
+5107
+5108
+5109
+5110
+5111
+5112
+5113
+5114
+5115
+5116
+5117
+5118
+5119
+5120
+5121
+5122
+5123
+5124
+5125
+5126
+5127
+5128
+5129
+5130
+5131
+5132
+5133
+5134
+5135
+5136
+5137
+5138
+5139
+5140
+5141
+5142
+5143
+5144
+5145
+5146
+5147
+5148
+5149
+5150
+5151
+5152
+5153
+5154
+5155
+5156
+5157
+5158
+5159
+5160
+5161
+5162
+5163
+5164
+5165
+5166
+5167
+5168
+5169
+5170
+5171
+5172
+5173
+5174
+5175
+5176
+5177
+5178
+5179
+5180
+5181
+5182
+5183
+5184
+5185
+5186
+5187
+5188
+5189
+5190
+5191
+5192
+5193
+5194
+5195
+5196
+5197
+5198
+5199
+5200
+5201
+5202
+5203
+5204
+5205
+5206
+5207
+5208
+5209
+5210
+5211
+5212
+5213
+5214
+5215
+5216
+5217
+5218
+5219
+5220
+5221
+5222
+5223
+5224
+5225
+5226
+5227
+5228
+5229
+5230
+5231
+5232
+5233
+5234
+5235
+5236
+5237
+5238
+5239
+5240
+5241
+5242
+5243
+5244
+5245
+5246
+5247
+5248
+5249
+5250
+5251
+5252
+5253
+5254
+5255
+5256
+5257
+5258
+5259
+5260
+5261
+5262
+5263
+5264
+5265
+5266
+5267
+5268
+5269
+5270
+5271
+5272
+5273
+5274
+5275
+5276
+5277
+5278
+5279
+5280
+5281
+5282
+5283
+5284
+5285
+5286
+5287
+5288
+5289
+5290
+5291
+5292
+5293
+5294
+5295
+5296
+5297
+5298
+5299
+5300
+5301
+5302
+5303
+5304
+5305
+5306
+5307
+5308
+5309
+5310
+5311
+5312
+5313
+5314
+5315
+5316
+5317
+5318
+5319
+5320
+5321
+5322
+5323
+5324
+5325
+5326
+5327
+5328
+5329
+5330
+5331
+5332
+5333
+5334
+5335
+5336
+5337
+5338
+5339
+5340
+5341
+5342
+5343
+5344
+5345
+5346
+5347
+5348
+5349
+5350
+5351
+5352
+5353
+5354
+5355
+5356
+5357
+5358
+5359
+5360
+5361
+5362
+5363
+5364
+5365
+5366
+5367
+5368
+5369
+5370
+5371
+5372
+5373
+5374
+5375
+5376
+5377
+5378
+5379
+5380
+5381
+5382
+5383
+5384
+5385
+5386
+5387
+5388
+5389
+5390
+5391
+5392
+5393
+5394
+5395
+5396
+5397
+5398
+5399
+5400
def hbar_lmatvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:59:44.148685.
+
+    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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp43 = np.copy(ints.tmp60)
+    tmp43 += v.baa.xov
+    tmp43 += ints.tmp57 * 2
+    tmp45 = np.copy(ints.tmp84)
+    tmp45 += v.bbb.xov
+    tmp45 += ints.tmp81 * 2
+    tmp59 = np.copy(ints.tmp57) * 2
+    del ints.tmp57
+    tmp59 += ints.tmp60
+    del ints.tmp60
+    tmp59 += v.baa.xov
+    tmp16 = einsum(r2.bab, (0, 1, 2), t2.abab, (3, 2, 1, 0), (3,)) * -1
+    tmp15 = einsum(r2.aaa, (0, 1, 2), t2.aaaa, (3, 2, 0, 1), (3,))
+    tmp44 = einsum(r2.aaa, (0, 1, 2), tmp43, (3, 2, 1), (3, 0)) * -1
+    del tmp43
+    tmp46 = einsum(r2.bab, (0, 1, 2), tmp45, (3, 2, 0), (3, 1)) * -1
+    tmp21 = einsum(r2.bbb, (0, 1, 2), t1.bb, (3, 1), (2, 3, 0))
+    tmp70 = np.copy(ints.tmp246)
+    tmp70 += ints.tmp313 * 2
+    tmp33 = einsum(r2.aba, (0, 1, 2), t2.abab, (2, 3, 0, 1), (3,))
+    tmp78 = einsum(r2.bbb, (0, 1, 2), tmp45, (3, 2, 1), (3, 0)) * -1
+    del tmp45
+    tmp84 = np.copy(ints.tmp255)
+    tmp84 += ints.tmp257 * 0.5
+    tmp84 += f.bb.vv * -0.5
+    tmp34 = einsum(r2.bbb, (0, 1, 2), t2.bbbb, (3, 2, 0, 1), (3,))
+    tmp60 = einsum(r2.aba, (0, 1, 2), tmp59, (3, 2, 0), (3, 1))
+    tmp52 = np.copy(tmp15) * 2
+    tmp52 += tmp16
+    tmp50 = np.copy(ints.tmp58)
+    tmp50 += ints.tmp61 * 0.5
+    tmp50 += f.aa.vv * -0.5
+    tmp2 = einsum(t1.aa, (0, 1), r2.aaa, (2, 1, 3), (3, 0, 2))
+    tmp47 = np.copy(tmp44) * -2
+    del tmp44
+    tmp47 += tmp46
+    del tmp46
+    tmp41 = np.copy(ints.tmp47)
+    tmp41 += ints.tmp163 * 2
+    tmp74 = einsum(r1.b, (0,), ints.tmp236, (1, 2, 0, 3), (1, 2, 3))
+    tmp75 = einsum(f.bb.ov, (0, 1), tmp21, (2, 0, 3), (2, 1, 3))
+    tmp77 = einsum(tmp70, (0, 1, 2, 3), r2.bbb, (4, 2, 0), (1, 4, 3)) * -1
+    tmp76 = einsum(tmp33, (0,), ints.tmp243, (0, 1, 2, 3), (1, 2, 3))
+    tmp79 = einsum(v.bbb.xov, (0, 1, 2), tmp78, (0, 3), (1, 2, 3)) * -1
+    del tmp78
+    tmp81 = einsum(r2.aba, (0, 1, 2), ints.tmp312, (2, 3, 0, 4), (3, 4, 1))
+    tmp85 = einsum(r2.bbb, (0, 1, 2), tmp84, (1, 3), (2, 0, 3)) * -4
+    del tmp84
+    tmp82 = einsum(tmp34, (0,), ints.tmp243, (0, 1, 2, 3), (1, 2, 3))
+    tmp83 = einsum(v.bbb.xov, (0, 1, 2), tmp60, (0, 3), (1, 2, 3))
+    tmp63 = einsum(t1.bb, (0, 1), f.bb.ov, (0, 2), (2, 1))
+    tmp65 = einsum(t1.aa, (0, 1), f.aa.ov, (0, 2), (2, 1))
+    tmp61 = np.copy(ints.tmp81) * 2
+    del ints.tmp81
+    tmp61 += ints.tmp84
+    del ints.tmp84
+    tmp61 += v.bbb.xov
+    tmp53 = einsum(ints.tmp44, (0, 1, 2, 3), tmp52, (0,), (1, 2, 3))
+    tmp51 = einsum(tmp50, (0, 1), r2.aaa, (2, 0, 3), (3, 2, 1)) * -4
+    del tmp50
+    tmp39 = einsum(f.aa.ov, (0, 1), tmp2, (2, 0, 3), (2, 1, 3))
+    tmp40 = einsum(r2.bab, (0, 1, 2), ints.tmp165, (3, 2, 4, 0), (3, 4, 1)) * -1
+    tmp48 = einsum(v.baa.xov, (0, 1, 2), tmp47, (0, 3), (1, 2, 3))
+    del tmp47
+    tmp42 = einsum(tmp41, (0, 1, 2, 3), r2.aaa, (4, 2, 0), (1, 4, 3)) * -1
+    del tmp41
+    tmp38 = einsum(ints.tmp24, (0, 1, 2, 3), r1.a, (2,), (0, 1, 3))
+    tmp25 = einsum(r2.aba, (0, 1, 2), t1.aa, (3, 0), (2, 3, 1))
+    tmp6 = einsum(r2.bab, (0, 1, 2), t1.bb, (3, 0), (2, 3, 1)) * -1
+    tmp72 = np.copy(f.bb.oo)
+    tmp72 += ints.tmp151 * 2
+    del ints.tmp151
+    tmp72 += ints.tmp154
+    del ints.tmp154
+    tmp72 += np.transpose(ints.tmp22, (1, 0))
+    del ints.tmp22
+    tmp80 = np.copy(tmp74)
+    del tmp74
+    tmp80 += tmp75 * 2
+    del tmp75
+    tmp80 += tmp76
+    del tmp76
+    tmp80 += np.transpose(tmp77, (0, 2, 1)) * -2
+    del tmp77
+    tmp80 += np.transpose(tmp79, (0, 2, 1)) * 2
+    del tmp79
+    tmp73 = einsum(r2.bbb, (0, 1, 2), t2.bbbb, (3, 4, 0, 1), (2, 3, 4))
+    tmp86 = einsum(f.bb.ov, (0, 1), r1.b, (2,), (0, 1, 2))
+    tmp86 += tmp81
+    del tmp81
+    tmp86 += tmp82 * 2
+    del tmp82
+    tmp86 += np.transpose(tmp83, (0, 2, 1))
+    del tmp83
+    tmp86 += np.transpose(tmp85, (0, 2, 1))
+    del tmp85
+    tmp64 = np.copy(ints.tmp255) * 2
+    tmp64 += ints.tmp257
+    tmp64 += f.bb.vv * -1
+    tmp64 += np.transpose(tmp63, (1, 0))
+    del tmp63
+    tmp66 = np.copy(ints.tmp58) * 2
+    tmp66 += ints.tmp61
+    tmp66 += f.aa.vv * -1
+    tmp66 += np.transpose(tmp65, (1, 0))
+    del tmp65
+    tmp68 = einsum(r2.bab, (0, 1, 2), t2.abab, (3, 4, 1, 0), (3, 2, 4)) * -1
+    tmp71 = einsum(tmp59, (0, 1, 2), r2.aaa, (3, 2, 1), (0, 3))
+    del tmp59
+    tmp71 += einsum(tmp61, (0, 1, 2), r2.bab, (2, 3, 1), (0, 3)) * -0.5
+    tmp69 = np.copy(ints.tmp170)
+    tmp69 += np.transpose(ints.tmp52, (0, 1, 3, 2)) * -1
+    tmp57 = np.copy(ints.tmp250)
+    tmp57 += np.transpose(ints.tmp319, (0, 1, 3, 2)) * -1
+    tmp55 = np.copy(f.aa.oo)
+    tmp55 += ints.tmp148 * 2
+    del ints.tmp148
+    tmp55 += ints.tmp157
+    del ints.tmp157
+    tmp55 += np.transpose(ints.tmp19, (1, 0))
+    del ints.tmp19
+    tmp62 = np.copy(tmp60) * -1
+    del tmp60
+    tmp62 += einsum(tmp61, (0, 1, 2), r2.bbb, (3, 2, 1), (0, 3)) * 2
+    del tmp61
+    tmp58 = np.copy(ints.tmp163) * 2
+    tmp58 += ints.tmp47
+    tmp56 = einsum(r2.aba, (0, 1, 2), t2.abab, (3, 4, 0, 1), (2, 3, 4))
+    tmp67 = np.copy(tmp33) * -1
+    tmp67 += tmp34 * 2
+    tmp54 = einsum(r1.a, (0,), f.aa.ov, (1, 2), (1, 2, 0))
+    tmp54 += np.transpose(tmp51, (0, 2, 1))
+    del tmp51
+    tmp54 += tmp53
+    del tmp53
+    tmp49 = np.copy(tmp38)
+    del tmp38
+    tmp49 += tmp39 * 2
+    del tmp39
+    tmp49 += tmp40
+    del tmp40
+    tmp49 += np.transpose(tmp42, (0, 2, 1)) * -2
+    del tmp42
+    tmp49 += np.transpose(tmp48, (0, 2, 1))
+    del tmp48
+    tmp37 = einsum(t2.aaaa, (0, 1, 2, 3), r2.aaa, (2, 3, 4), (4, 0, 1))
+    tmp9 = np.copy(ints.tmp103)
+    del ints.tmp103
+    tmp9 += ints.tmp111 * 0.5
+    del ints.tmp111
+    tmp9 += ints.tmp133
+    del ints.tmp133
+    tmp9 += ints.tmp139 * 0.5
+    del ints.tmp139
+    tmp9 += ints.tmp149
+    del ints.tmp149
+    tmp9 += ints.tmp158 * 0.5
+    del ints.tmp158
+    tmp9 += ints.tmp175 * 0.5
+    del ints.tmp175
+    tmp9 += ints.tmp182 * 0.5
+    del ints.tmp182
+    tmp9 += ints.tmp192 * 0.5
+    del ints.tmp192
+    tmp9 += ints.tmp20 * 0.5
+    del ints.tmp20
+    tmp9 += ints.tmp211 * 0.5
+    del ints.tmp211
+    tmp9 += ints.tmp218 * 0.5
+    del ints.tmp218
+    tmp9 += ints.tmp2 * 0.5
+    del ints.tmp2
+    tmp9 += ints.tmp36 * 0.5
+    del ints.tmp36
+    tmp9 += ints.tmp64
+    del ints.tmp64
+    tmp9 += ints.tmp73 * 0.5
+    del ints.tmp73
+    tmp9 += ints.tmp79
+    del ints.tmp79
+    tmp9 += f.aa.ov * -0.5
+    tmp9 += ints.tmp106 * -1
+    del ints.tmp106
+    tmp9 += ints.tmp115 * -0.5
+    del ints.tmp115
+    tmp9 += ints.tmp119 * -1
+    del ints.tmp119
+    tmp9 += ints.tmp11 * -0.5
+    del ints.tmp11
+    tmp9 += ints.tmp122 * -0.5
+    del ints.tmp122
+    tmp9 += ints.tmp172 * -0.5
+    del ints.tmp172
+    tmp9 += ints.tmp190 * -0.5
+    del ints.tmp190
+    tmp9 += ints.tmp199 * -0.5
+    del ints.tmp199
+    tmp9 += ints.tmp208 * -0.5
+    del ints.tmp208
+    tmp9 += ints.tmp34 * -0.5
+    tmp9 += ints.tmp42 * -0.5
+    tmp9 += ints.tmp5 * -0.5
+    del ints.tmp5
+    tmp9 += ints.tmp87 * -0.5
+    del ints.tmp87
+    tmp9 += ints.tmp8 * -1
+    del ints.tmp8
+    tmp27 = np.copy(ints.tmp105) * 0.5
+    tmp27 += ints.tmp113
+    tmp27 += ints.tmp136
+    tmp27 += ints.tmp142 * 0.5
+    tmp27 += ints.tmp152
+    tmp27 += ints.tmp155 * 0.5
+    tmp27 += ints.tmp180 * 0.5
+    tmp27 += ints.tmp185 * 0.5
+    tmp27 += ints.tmp196 * 0.5
+    tmp27 += ints.tmp216 * 0.5
+    tmp27 += ints.tmp221 * 0.5
+    tmp27 += ints.tmp23 * 0.5
+    tmp27 += ints.tmp40 * 0.5
+    tmp27 += ints.tmp4 * 0.5
+    tmp27 += ints.tmp67
+    tmp27 += ints.tmp70 * 0.5
+    tmp27 += ints.tmp82
+    tmp27 += f.bb.ov * -0.5
+    tmp27 += ints.tmp108 * -0.5
+    tmp27 += ints.tmp10 * -0.5
+    tmp27 += ints.tmp117 * -1
+    tmp27 += ints.tmp121 * -0.5
+    tmp27 += ints.tmp124 * -1
+    tmp27 += ints.tmp13 * -1
+    tmp27 += ints.tmp178 * -0.5
+    tmp27 += ints.tmp195 * -0.5
+    tmp27 += ints.tmp198 * -0.5
+    tmp27 += ints.tmp214 * -0.5
+    tmp27 += ints.tmp38 * -0.5
+    tmp27 += ints.tmp41 * -0.5
+    tmp27 += ints.tmp7 * -0.5
+    tmp27 += ints.tmp85 * -0.5
+    tmp31 = np.copy(ints.tmp138)
+    del ints.tmp138
+    tmp31 += ints.tmp72
+    del ints.tmp72
+    tmp23 = einsum(r2.aba, (0, 1, 2), t1.bb, (3, 1), (2, 3, 0))
+    tmp20 = np.copy(ints.tmp236) * 0.5
+    del ints.tmp236
+    tmp20 += ints.tmp251 * 0.5
+    del ints.tmp251
+    tmp20 += np.transpose(ints.tmp275, (0, 2, 1, 3))
+    del ints.tmp275
+    tmp20 += np.transpose(ints.tmp301, (0, 3, 1, 2)) * 0.5
+    del ints.tmp301
+    tmp20 += np.transpose(ints.tmp263, (0, 3, 1, 2)) * -0.5
+    del ints.tmp263
+    tmp20 += np.transpose(ints.tmp272, (0, 3, 1, 2)) * -1
+    del ints.tmp272
+    tmp20 += np.transpose(ints.tmp279, (0, 3, 1, 2)) * -0.5
+    del ints.tmp279
+    tmp26 = np.copy(ints.tmp250)
+    del ints.tmp250
+    tmp26 += ints.tmp334
+    del ints.tmp334
+    tmp26 += np.transpose(ints.tmp319, (0, 1, 3, 2)) * -1
+    del ints.tmp319
+    tmp24 = np.copy(ints.tmp309)
+    del ints.tmp309
+    tmp24 += ints.tmp315 * 2
+    del ints.tmp315
+    tmp24 += ints.tmp335
+    del ints.tmp335
+    tmp24 += ints.tmp49
+    tmp24 += ints.tmp312 * -1
+    tmp19 = np.copy(ints.tmp253)
+    del ints.tmp253
+    tmp19 += np.transpose(ints.tmp265, (0, 1, 3, 2))
+    del ints.tmp265
+    tmp19 += np.transpose(ints.tmp271, (0, 1, 3, 2))
+    del ints.tmp271
+    tmp19 += np.transpose(ints.tmp277, (0, 1, 3, 2)) * 2
+    del ints.tmp277
+    tmp19 += np.transpose(ints.tmp303, (0, 1, 3, 2))
+    del ints.tmp303
+    tmp19 += ints.tmp99
+    tmp19 += ints.tmp274 * -1
+    del ints.tmp274
+    tmp19 += np.transpose(ints.tmp281, (0, 1, 3, 2)) * -1
+    del ints.tmp281
+    tmp22 = np.copy(ints.tmp243)
+    tmp22 += ints.tmp310 * 2
+    del ints.tmp310
+    tmp22 += ints.tmp317
+    del ints.tmp317
+    tmp22 += np.transpose(ints.tmp332, (0, 1, 3, 2))
+    del ints.tmp332
+    tmp22 += np.transpose(ints.tmp246, (0, 1, 3, 2)) * -1
+    del ints.tmp246
+    tmp22 += ints.tmp313 * -2
+    del ints.tmp313
+    tmp22 += np.transpose(ints.tmp330, (0, 1, 3, 2)) * -1
+    del ints.tmp330
+    tmp32 = np.copy(np.transpose(ints.tmp239, (1, 0)))
+    del ints.tmp239
+    tmp32 += ints.tmp255 * 2
+    del ints.tmp255
+    tmp32 += ints.tmp257
+    del ints.tmp257
+    tmp32 += f.bb.vv * -1
+    tmp32 += np.transpose(ints.tmp194, (1, 0)) * -1
+    del ints.tmp194
+    tmp32 += np.transpose(ints.tmp197, (1, 0)) * -1
+    del ints.tmp197
+    tmp36 = np.copy(f.bb.ov)
+    tmp36 += ints.tmp38
+    tmp36 += ints.tmp41
+    tmp36 += ints.tmp110 * -1
+    del ints.tmp110
+    tmp30 = einsum(t1.bb, (0, 1), tmp25, (2, 3, 1), (2, 3, 0))
+    tmp35 = einsum(t1.bb, (0, 1), r1.b, (1,), (0,))
+    tmp35 += tmp33 * -1
+    del tmp33
+    tmp35 += tmp34 * 2
+    del tmp34
+    tmp29 = np.copy(ints.tmp135)
+    del ints.tmp135
+    tmp29 += ints.tmp66 * -1
+    del ints.tmp66
+    tmp28 = einsum(tmp21, (0, 1, 2), t1.bb, (3, 2), (0, 1, 3)) * -1
+    tmp18 = np.copy(f.aa.ov)
+    tmp18 += ints.tmp34
+    del ints.tmp34
+    tmp18 += ints.tmp42
+    del ints.tmp42
+    tmp18 += ints.tmp102 * -1
+    del ints.tmp102
+    tmp8 = np.copy(ints.tmp105)
+    del ints.tmp105
+    tmp8 += ints.tmp113 * 2
+    del ints.tmp113
+    tmp8 += ints.tmp136 * 2
+    del ints.tmp136
+    tmp8 += ints.tmp142
+    del ints.tmp142
+    tmp8 += ints.tmp152 * 2
+    del ints.tmp152
+    tmp8 += ints.tmp155
+    del ints.tmp155
+    tmp8 += ints.tmp180
+    del ints.tmp180
+    tmp8 += ints.tmp185
+    del ints.tmp185
+    tmp8 += ints.tmp196
+    del ints.tmp196
+    tmp8 += ints.tmp216
+    del ints.tmp216
+    tmp8 += ints.tmp221
+    del ints.tmp221
+    tmp8 += ints.tmp23
+    del ints.tmp23
+    tmp8 += ints.tmp40
+    del ints.tmp40
+    tmp8 += ints.tmp4
+    del ints.tmp4
+    tmp8 += ints.tmp67 * 2
+    del ints.tmp67
+    tmp8 += ints.tmp70
+    del ints.tmp70
+    tmp8 += ints.tmp82 * 2
+    del ints.tmp82
+    tmp8 += f.bb.ov * -1
+    tmp8 += ints.tmp108 * -1
+    del ints.tmp108
+    tmp8 += ints.tmp10 * -1
+    del ints.tmp10
+    tmp8 += ints.tmp117 * -2
+    del ints.tmp117
+    tmp8 += ints.tmp121 * -1
+    del ints.tmp121
+    tmp8 += ints.tmp124 * -2
+    del ints.tmp124
+    tmp8 += ints.tmp13 * -2
+    del ints.tmp13
+    tmp8 += ints.tmp178 * -1
+    del ints.tmp178
+    tmp8 += ints.tmp195 * -1
+    del ints.tmp195
+    tmp8 += ints.tmp198 * -1
+    del ints.tmp198
+    tmp8 += ints.tmp214 * -1
+    del ints.tmp214
+    tmp8 += ints.tmp38 * -1
+    del ints.tmp38
+    tmp8 += ints.tmp41 * -1
+    del ints.tmp41
+    tmp8 += ints.tmp7 * -1
+    del ints.tmp7
+    tmp8 += ints.tmp85 * -1
+    del ints.tmp85
+    tmp3 = np.copy(ints.tmp160) * 2
+    del ints.tmp160
+    tmp3 += ints.tmp166
+    del ints.tmp166
+    tmp3 += np.transpose(ints.tmp203, (0, 1, 3, 2))
+    del ints.tmp203
+    tmp3 += ints.tmp44
+    tmp3 += ints.tmp163 * -2
+    del ints.tmp163
+    tmp3 += np.transpose(ints.tmp201, (0, 1, 3, 2)) * -1
+    del ints.tmp201
+    tmp3 += np.transpose(ints.tmp47, (0, 1, 3, 2)) * -1
+    del ints.tmp47
+    tmp1 = np.copy(ints.tmp144) * 0.5
+    del ints.tmp144
+    tmp1 += np.transpose(ints.tmp24, (0, 2, 3, 1)) * 0.5
+    del ints.tmp24
+    tmp1 += np.transpose(ints.tmp53, (0, 2, 3, 1)) * 0.5
+    del ints.tmp53
+    tmp1 += np.transpose(ints.tmp92, (0, 1, 3, 2))
+    del ints.tmp92
+    tmp1 += ints.tmp75 * -0.5
+    del ints.tmp75
+    tmp1 += ints.tmp89 * -1
+    del ints.tmp89
+    tmp1 += ints.tmp95 * -0.5
+    del ints.tmp95
+    tmp11 = np.copy(ints.tmp141)
+    del ints.tmp141
+    tmp11 += ints.tmp69
+    del ints.tmp69
+    tmp12 = einsum(tmp2, (0, 1, 2), t1.aa, (3, 2), (0, 1, 3)) * -1
+    tmp14 = np.copy(np.transpose(ints.tmp31, (1, 0)))
+    del ints.tmp31
+    tmp14 += ints.tmp58 * 2
+    del ints.tmp58
+    tmp14 += ints.tmp61
+    del ints.tmp61
+    tmp14 += f.aa.vv * -1
+    tmp14 += np.transpose(ints.tmp29, (1, 0)) * -1
+    del ints.tmp29
+    tmp14 += np.transpose(ints.tmp33, (1, 0)) * -1
+    del ints.tmp33
+    tmp13 = np.copy(ints.tmp132)
+    del ints.tmp132
+    tmp13 += ints.tmp63 * -1
+    del ints.tmp63
+    tmp7 = np.copy(np.transpose(ints.tmp205, (0, 1, 3, 2)))
+    del ints.tmp205
+    tmp7 += np.transpose(ints.tmp52, (0, 1, 3, 2))
+    del ints.tmp52
+    tmp7 += ints.tmp170 * -1
+    del ints.tmp170
+    tmp17 = einsum(r1.a, (0,), t1.aa, (1, 0), (1,))
+    tmp17 += tmp15 * 2
+    del tmp15
+    tmp17 += tmp16
+    del tmp16
+    tmp5 = np.copy(ints.tmp162)
+    del ints.tmp162
+    tmp5 += ints.tmp168 * 2
+    del ints.tmp168
+    tmp5 += ints.tmp206
+    del ints.tmp206
+    tmp5 += ints.tmp49
+    tmp5 += ints.tmp165 * -1
+    tmp4 = einsum(r2.bab, (0, 1, 2), t1.aa, (3, 1), (3, 2, 0)) * -1
+    tmp10 = einsum(tmp6, (0, 1, 2), t1.aa, (3, 2), (3, 0, 1))
+    tmp0 = np.copy(ints.tmp146)
+    del ints.tmp146
+    tmp0 += np.transpose(ints.tmp26, (0, 2, 1, 3))
+    tmp0 += np.transpose(ints.tmp55, (0, 2, 1, 3))
+    del ints.tmp55
+    tmp0 += ints.tmp77
+    del ints.tmp77
+    tmp0 += ints.tmp91
+    del ints.tmp91
+    tmp0 += ints.tmp97 * 2
+    del ints.tmp97
+    tmp0 += ints.tmp100 * -1
+    del ints.tmp100
+    tmp0 += np.transpose(ints.tmp94, (0, 2, 1, 3)) * -1
+    del ints.tmp94
+    r2new.bbb = einsum(tmp73, (0, 1, 2), ints.tmp243, (1, 2, 3, 4), (4, 3, 0)) * -2
+    del ints.tmp243, tmp73
+    r2new.bbb += einsum(ints.tmp430, (0, 1, 2, 3), r2.bbb, (3, 2, 4), (1, 0, 4)) * -2
+    del ints.tmp430
+    r2new.bbb += np.transpose(tmp80, (1, 2, 0))
+    r2new.bbb += np.transpose(tmp80, (2, 1, 0)) * -1
+    del tmp80
+    r2new.bbb += np.transpose(tmp86, (1, 2, 0)) * -1
+    r2new.bbb += np.transpose(tmp86, (2, 1, 0))
+    del tmp86
+    r2new.bbb += einsum(tmp72, (0, 1), r2.bbb, (2, 3, 0), (2, 3, 1)) * -2
+    r2new.bab = einsum(ints.tmp312, (0, 1, 2, 3), r2.aaa, (4, 2, 0), (3, 4, 1)) * 2
+    del ints.tmp312
+    r2new.bab += einsum(r2.bab, (0, 1, 2), ints.tmp387, (3, 1, 0, 4), (4, 3, 2))
+    r2new.bab += einsum(r1.a, (0,), ints.tmp26, (1, 2, 0, 3), (3, 2, 1)) * -1
+    del ints.tmp26
+    r2new.bab += einsum(r1.a, (0,), f.bb.ov, (1, 2), (2, 0, 1)) * -1
+    r2new.bab += einsum(tmp68, (0, 1, 2), ints.tmp49, (0, 2, 3, 4), (4, 3, 1)) * -1
+    del tmp68
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp69, (2, 3, 1, 4), (0, 4, 3))
+    del tmp69
+    r2new.bab += einsum(tmp70, (0, 1, 2, 3), r2.bab, (2, 4, 0), (3, 4, 1)) * -1
+    del tmp70
+    r2new.bab += einsum(v.bbb.xov, (0, 1, 2), tmp71, (0, 3), (2, 3, 1)) * -2
+    del tmp71
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp66, (1, 3), (0, 3, 2)) * -1
+    r2new.bab += einsum(tmp64, (0, 1), r2.bab, (0, 2, 3), (1, 2, 3)) * -1
+    r2new.bab += einsum(tmp72, (0, 1), r2.bab, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp72
+    r2new.bab += einsum(tmp52, (0,), ints.tmp49, (0, 1, 2, 3), (3, 2, 1))
+    del tmp52
+    r2new.aba = einsum(ints.tmp387, (0, 1, 2, 3), r2.aba, (0, 3, 4), (1, 2, 4))
+    del ints.tmp387
+    r2new.aba += einsum(r2.bbb, (0, 1, 2), ints.tmp165, (3, 2, 4, 1), (4, 0, 3)) * 2
+    del ints.tmp165
+    r2new.aba += einsum(r1.b, (0,), f.aa.ov, (1, 2), (2, 0, 1)) * -1
+    r2new.aba += einsum(ints.tmp99, (0, 1, 2, 3), r1.b, (3,), (1, 2, 0)) * -1
+    del ints.tmp99
+    r2new.aba += einsum(tmp56, (0, 1, 2), ints.tmp49, (1, 2, 3, 4), (3, 4, 0))
+    del tmp56
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp57, (2, 3, 4, 1), (0, 4, 3)) * -1
+    del tmp57
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp58, (2, 3, 0, 4), (4, 1, 3)) * -1
+    del tmp58
+    r2new.aba += einsum(tmp62, (0, 1), v.baa.xov, (0, 2, 3), (3, 1, 2)) * -1
+    del tmp62
+    r2new.aba += einsum(tmp64, (0, 1), r2.aba, (2, 0, 3), (2, 1, 3)) * -1
+    del tmp64
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp66, (0, 3), (3, 1, 2)) * -1
+    del tmp66
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp55, (2, 3), (0, 1, 3)) * -1
+    r2new.aba += einsum(tmp67, (0,), ints.tmp49, (1, 0, 2, 3), (2, 3, 1))
+    del ints.tmp49, tmp67
+    r2new.aaa = einsum(r2.aaa, (0, 1, 2), ints.tmp365, (3, 4, 0, 1), (4, 3, 2)) * 2
+    del ints.tmp365
+    r2new.aaa += einsum(tmp37, (0, 1, 2), ints.tmp44, (2, 1, 3, 4), (4, 3, 0)) * 2
+    del ints.tmp44, tmp37
+    r2new.aaa += np.transpose(tmp49, (1, 2, 0))
+    r2new.aaa += np.transpose(tmp49, (2, 1, 0)) * -1
+    del tmp49
+    r2new.aaa += np.transpose(tmp54, (1, 2, 0)) * -1
+    r2new.aaa += np.transpose(tmp54, (2, 1, 0))
+    del tmp54
+    r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp55, (2, 3), (0, 1, 3)) * -2
+    del tmp55
+    r1new.b = einsum(r2.aba, (0, 1, 2), tmp19, (2, 0, 3, 1), (3,)) * -1
+    del tmp19
+    r1new.b += einsum(tmp20, (0, 1, 2, 3), r2.bbb, (3, 2, 0), (1,)) * -4
+    del tmp20
+    r1new.b += einsum(tmp22, (0, 1, 2, 3), tmp21, (0, 1, 2), (3,)) * 2
+    del tmp21, tmp22
+    r1new.b += einsum(tmp24, (0, 1, 2, 3), tmp23, (0, 1, 2), (3,))
+    del tmp24, tmp23
+    r1new.b += einsum(tmp26, (0, 1, 2, 3), tmp25, (0, 1, 3), (2,))
+    del tmp25, tmp26
+    r1new.b += einsum(r2.bbb, (0, 1, 2), tmp27, (2, 1), (0,)) * -4
+    del tmp27
+    r1new.b += einsum(r2.aba, (0, 1, 2), tmp9, (2, 0), (1,)) * 2
+    r1new.b += einsum(tmp29, (0, 1, 2, 3), tmp28, (0, 2, 1), (3,)) * -2
+    del tmp29, tmp28
+    r1new.b += einsum(tmp31, (0, 1, 2, 3), tmp30, (0, 1, 2), (3,)) * -1
+    del tmp31, tmp30
+    r1new.b += einsum(r1.b, (0,), tmp32, (0, 1), (1,)) * -1
+    del tmp32
+    r1new.b += einsum(tmp35, (0,), tmp36, (0, 1), (1,)) * -1
+    del tmp35, tmp36
+    r1new.a = einsum(r2.bab, (0, 1, 2), tmp0, (2, 1, 3, 0), (3,)) * -1
+    del tmp0
+    r1new.a += einsum(tmp1, (0, 1, 2, 3), r2.aaa, (1, 2, 0), (3,)) * 4
+    del tmp1
+    r1new.a += einsum(tmp2, (0, 1, 2), tmp3, (0, 1, 2, 3), (3,)) * 2
+    del tmp2, tmp3
+    r1new.a += einsum(tmp4, (0, 1, 2), tmp5, (0, 1, 3, 2), (3,)) * -1
+    del tmp4, tmp5
+    r1new.a += einsum(tmp6, (0, 1, 2), tmp7, (0, 1, 2, 3), (3,)) * -1
+    del tmp6, tmp7
+    r1new.a += einsum(tmp8, (0, 1), r2.bab, (1, 2, 0), (2,))
+    del tmp8
+    r1new.a += einsum(tmp9, (0, 1), r2.aaa, (2, 1, 0), (2,)) * -4
+    del tmp9
+    r1new.a += einsum(tmp11, (0, 1, 2, 3), tmp10, (0, 1, 2), (3,))
+    del tmp11, tmp10
+    r1new.a += einsum(tmp12, (0, 1, 2), tmp13, (0, 2, 1, 3), (3,)) * -2
+    del tmp12, tmp13
+    r1new.a += einsum(r1.a, (0,), tmp14, (0, 1), (1,)) * -1
+    del tmp14
+    r1new.a += einsum(tmp18, (0, 1), tmp17, (0,), (1,)) * -1
+    del tmp18, tmp17
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/UDFCCD/index.html b/reference/codegen/UDFCCD/index.html new file mode 100644 index 00000000..0f8f4513 --- /dev/null +++ b/reference/codegen/UDFCCD/index.html @@ -0,0 +1,6715 @@ + + + + + + + + UDFCCD - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-17T20:50:54.162296
  • +
  • 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.8.0-40-generic
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.UDFCCD.energy(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:50:54.618350.

+

Parameters

+

t2 : Namespace of arrays + T2 amplitudes. +v : Namespace of arrays + Electron repulsion integrals.

+

Returns

+

e_cc : float + Coupled cluster energy.

+ +
+ Source code in ebcc/codegen/UDFCCD.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
def energy(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:50:54.618350.
+
+    Parameters
+    ----------
+    t2 : Namespace of arrays
+        T2 amplitudes.
+    v : Namespace of arrays
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    e_cc : float
+        Coupled cluster energy.
+    """
+
+    tmp0 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbb.xov, (4, 1, 3), (4, 0, 2))
+    tmp1 = einsum(t2.aaaa, (0, 1, 2, 3), v.baa.xov, (4, 1, 3), (4, 0, 2))
+    tmp1 += einsum(t2.abab, (0, 1, 2, 3), v.bbb.xov, (4, 1, 3), (4, 0, 2))
+    e_cc = einsum(tmp0, (0, 1, 2), v.bbb.xov, (0, 1, 2), ())
+    del tmp0
+    e_cc += einsum(tmp1, (0, 1, 2), v.baa.xov, (0, 1, 2), ())
+    del tmp1
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCCD.update_amps(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:51:07.068241.

+

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.

+ +
+ Source code in ebcc/codegen/UDFCCD.py +
 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
def update_amps(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:51:07.068241.
+
+    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()
+    tmp17 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp10 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp18 = np.copy(np.transpose(tmp17, (1, 0, 2, 3))) * -1
+    tmp18 += np.transpose(tmp17, (1, 0, 3, 2))
+    tmp30 = einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (0, 3, 4))
+    tmp29 = einsum(t2.abab, (0, 1, 2, 3), v.baa.xov, (4, 0, 2), (4, 1, 3))
+    tmp3 = einsum(t2.aaaa, (0, 1, 2, 3), v.baa.xov, (4, 1, 3), (4, 0, 2))
+    tmp4 = einsum(t2.abab, (0, 1, 2, 3), v.bbb.xov, (4, 1, 3), (4, 0, 2))
+    tmp13 = np.copy(np.transpose(tmp10, (1, 0, 2, 3)))
+    tmp13 += np.transpose(tmp10, (1, 0, 3, 2)) * -1
+    tmp52 = einsum(tmp18, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (1, 4, 3, 5))
+    tmp41 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp31 = np.copy(tmp29) * 0.5
+    tmp31 += tmp30
+    tmp7 = np.copy(tmp3) * 2
+    tmp7 += tmp4
+    tmp5 = np.copy(tmp3) * 2
+    tmp5 += tmp4
+    tmp14 = einsum(t2.aaaa, (0, 1, 2, 3), tmp13, (1, 4, 5, 3), (4, 0, 5, 2))
+    tmp12 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp47 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 1, 2, 4))
+    tmp59 = einsum(t2.bbbb, (0, 1, 2, 3), tmp17, (4, 5, 3, 2), (0, 1, 5, 4))
+    tmp53 = np.copy(np.transpose(tmp41, (1, 0, 3, 2)))
+    tmp53 += np.transpose(tmp52, (1, 0, 3, 2)) * -2
+    del tmp52
+    tmp45 = einsum(tmp31, (0, 1, 2), v.bbb.xov, (0, 3, 2), (1, 3))
+    tmp33 = np.copy(tmp29)
+    tmp33 += tmp30 * 2
+    tmp55 = einsum(tmp13, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 4, 2, 5))
+    del tmp13
+    tmp34 = np.copy(tmp3)
+    tmp34 += tmp4 * 0.5
+    tmp27 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 2, 3, 4))
+    tmp8 = einsum(v.baa.xov, (0, 1, 2), tmp7, (0, 3, 4), (1, 3, 2, 4))
+    tmp36 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp39 = einsum(tmp7, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    del tmp7
+    tmp19 = einsum(t2.abab, (0, 1, 2, 3), tmp18, (1, 4, 5, 3), (0, 4, 2, 5))
+    del tmp18
+    tmp25 = einsum(v.baa.xov, (0, 1, 2), tmp5, (0, 3, 2), (1, 3))
+    tmp15 = np.copy(np.transpose(tmp12, (1, 0, 3, 2)))
+    tmp15 += np.transpose(tmp14, (1, 0, 3, 2)) * -2
+    del tmp14
+    tmp6 = einsum(v.baa.xov, (0, 1, 2), tmp5, (0, 1, 3), (2, 3)) * 0.5
+    del tmp5
+    tmp23 = einsum(tmp10, (0, 1, 2, 3), t2.aaaa, (4, 5, 3, 2), (4, 5, 1, 0))
+    tmp0 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 1, 2, 4))
+    tmp57 = einsum(t2.bbbb, (0, 1, 2, 3), tmp41, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp50 = np.copy(f.bb.vv) * -0.5
+    tmp50 += einsum(tmp31, (0, 1, 2), v.bbb.xov, (0, 1, 3), (2, 3))
+    tmp48 = einsum(tmp47, (0, 1, 2, 3), t2.bbbb, (1, 3, 4, 5), (2, 0, 4, 5))
+    del tmp47
+    tmp60 = einsum(t2.bbbb, (0, 1, 2, 3), tmp59, (4, 5, 0, 1), (5, 4, 2, 3)) * -1
+    del tmp59
+    tmp51 = einsum(tmp30, (0, 1, 2), tmp29, (0, 3, 4), (3, 1, 4, 2))
+    del tmp29, tmp30
+    tmp46 = einsum(f.bb.oo, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp54 = einsum(tmp53, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp53
+    tmp61 = einsum(tmp45, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4)) * -2
+    tmp49 = einsum(v.bbb.xov, (0, 1, 2), tmp33, (0, 3, 4), (3, 1, 4, 2))
+    tmp32 = einsum(tmp31, (0, 1, 2), v.bbb.xov, (0, 1, 3), (2, 3)) * 2
+    del tmp31
+    tmp58 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (3, 1, 2, 4))
+    tmp56 = einsum(t2.abab, (0, 1, 2, 3), tmp55, (0, 4, 2, 5), (4, 1, 5, 3))
+    del tmp55
+    tmp35 = np.copy(f.aa.vv) * -0.5
+    tmp35 += einsum(tmp34, (0, 1, 2), v.baa.xov, (0, 1, 3), (3, 2))
+    del tmp34
+    tmp28 = einsum(t2.abab, (0, 1, 2, 3), tmp27, (4, 0, 5, 1), (4, 5, 2, 3))
+    del tmp27
+    tmp38 = np.copy(np.transpose(tmp12, (1, 0, 3, 2)))
+    tmp38 += einsum(tmp10, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 2), (0, 4, 3, 5)) * 2
+    tmp38 += tmp8 * -1
+    tmp37 = einsum(v.baa.xvv, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp37 += einsum(tmp36, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 4, 2, 5)) * -1
+    tmp42 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp40 = einsum(t2.abab, (0, 1, 2, 3), tmp17, (4, 1, 3, 5), (0, 4, 2, 5)) * -1
+    tmp40 += tmp39
+    tmp44 = einsum(v.bbb.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (3, 4, 1, 2))
+    tmp43 = einsum(t2.abab, (0, 1, 2, 3), tmp36, (4, 5, 2, 3), (0, 4, 1, 5))
+    tmp20 = einsum(t2.abab, (0, 1, 2, 3), tmp19, (4, 1, 5, 3), (4, 0, 5, 2)) * -1
+    del tmp19
+    tmp26 = einsum(tmp25, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4)) * -1
+    tmp2 = einsum(f.aa.oo, (0, 1), t2.aaaa, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp11 = einsum(tmp4, (0, 1, 2), tmp3, (0, 3, 4), (3, 1, 4, 2))
+    del tmp3, tmp4
+    tmp22 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (3, 1, 2, 4))
+    tmp16 = einsum(t2.aaaa, (0, 1, 2, 3), tmp15, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp15
+    tmp9 = np.copy(f.aa.vv) * -0.5
+    tmp9 += np.transpose(tmp6, (1, 0))
+    tmp24 = einsum(t2.aaaa, (0, 1, 2, 3), tmp23, (4, 5, 0, 1), (5, 4, 2, 3)) * -1
+    del tmp23
+    tmp21 = einsum(tmp12, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp12
+    tmp1 = einsum(t2.aaaa, (0, 1, 2, 3), tmp0, (4, 0, 5, 1), (5, 4, 2, 3))
+    del tmp0
+    t2new.bbbb = np.copy(np.transpose(tmp46, (1, 0, 3, 2))) * 2
+    t2new.bbbb += np.transpose(tmp48, (0, 1, 3, 2)) * -2
+    del tmp48
+    t2new.bbbb += np.transpose(tmp46, (0, 1, 3, 2)) * -2
+    del tmp46
+    t2new.bbbb += einsum(tmp32, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 4, 0)) * -2
+    t2new.bbbb += np.transpose(tmp49, (1, 0, 3, 2))
+    t2new.bbbb += einsum(tmp50, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) * 4
+    del tmp50
+    t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), f.bb.vv, (4, 3), (0, 1, 2, 4)) * 2
+    t2new.bbbb += np.transpose(tmp49, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp17, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp17, (1, 0, 2, 3)) * -1
+    del tmp17
+    t2new.bbbb += np.transpose(tmp49, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp51, (0, 1, 3, 2)) * -2
+    t2new.bbbb += np.transpose(tmp51, (1, 0, 2, 3)) * -2
+    t2new.bbbb += np.transpose(tmp54, (0, 1, 3, 2)) * 2
+    t2new.bbbb += np.transpose(tmp56, (1, 0, 2, 3)) * -1
+    t2new.bbbb += tmp51 * 2
+    t2new.bbbb += np.transpose(tmp51, (1, 0, 3, 2)) * 2
+    del tmp51
+    t2new.bbbb += np.transpose(tmp54, (1, 0, 3, 2)) * -2
+    del tmp54
+    t2new.bbbb += tmp56
+    del tmp56
+    t2new.bbbb += tmp49
+    del tmp49
+    t2new.bbbb += tmp57 * -2
+    t2new.bbbb += np.transpose(tmp57, (1, 0, 2, 3)) * 2
+    del tmp57
+    t2new.bbbb += einsum(tmp58, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2)) * -2
+    del tmp58
+    t2new.bbbb += tmp60 * 2
+    del tmp60
+    t2new.bbbb += np.transpose(tmp61, (0, 1, 3, 2)) * -2
+    t2new.bbbb += np.transpose(tmp61, (1, 0, 3, 2)) * 2
+    del tmp61
+    t2new.abab = einsum(t2.abab, (0, 1, 2, 3), f.bb.oo, (4, 1), (0, 4, 2, 3)) * -1
+    t2new.abab += tmp28
+    del tmp28
+    t2new.abab += einsum(f.aa.oo, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4)) * -1
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp32, (4, 3), (0, 1, 2, 4)) * -1
+    del tmp32
+    t2new.abab += einsum(tmp33, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2))
+    del tmp33
+    t2new.abab += einsum(tmp35, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -2
+    del tmp35
+    t2new.abab += einsum(f.bb.vv, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 4, 0))
+    t2new.abab += tmp36
+    del tmp36
+    t2new.abab += einsum(tmp37, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5)) * -1
+    del tmp37
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp38, (0, 4, 2, 5), (4, 1, 5, 3)) * -1
+    del tmp38
+    t2new.abab += einsum(t2.bbbb, (0, 1, 2, 3), tmp40, (4, 1, 5, 3), (4, 0, 5, 2)) * 2
+    del tmp40
+    t2new.abab += tmp39
+    del tmp39
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp41, (4, 1, 5, 3), (0, 4, 2, 5)) * -1
+    del tmp41
+    t2new.abab += einsum(tmp42, (0, 1, 2, 3), t2.abab, (1, 4, 5, 3), (0, 4, 5, 2)) * -1
+    del tmp42
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp43, (4, 0, 5, 1), (4, 5, 2, 3))
+    del tmp43
+    t2new.abab += einsum(tmp44, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 5, 0, 2))
+    del tmp44
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp45, (4, 1), (0, 4, 2, 3)) * -2
+    del tmp45
+    t2new.abab += einsum(tmp25, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1
+    del tmp25
+    t2new.aaaa = np.copy(np.transpose(tmp1, (0, 1, 3, 2))) * -2
+    del tmp1
+    t2new.aaaa += np.transpose(tmp2, (1, 0, 3, 2)) * 2
+    t2new.aaaa += np.transpose(tmp2, (0, 1, 3, 2)) * -2
+    del tmp2
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp6, (3, 4), (0, 1, 2, 4)) * -4
+    del tmp6
+    t2new.aaaa += tmp8
+    t2new.aaaa += einsum(tmp9, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) * 4
+    del tmp9
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), f.aa.vv, (4, 3), (0, 1, 2, 4)) * 2
+    t2new.aaaa += np.transpose(tmp8, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp10, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp10, (1, 0, 2, 3)) * -1
+    del tmp10
+    t2new.aaaa += np.transpose(tmp8, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp11, (0, 1, 3, 2)) * -2
+    t2new.aaaa += np.transpose(tmp11, (1, 0, 2, 3)) * -2
+    t2new.aaaa += np.transpose(tmp16, (1, 0, 2, 3)) * 2
+    t2new.aaaa += np.transpose(tmp20, (0, 1, 3, 2)) * -1
+    t2new.aaaa += tmp11 * 2
+    t2new.aaaa += np.transpose(tmp11, (1, 0, 3, 2)) * 2
+    del tmp11
+    t2new.aaaa += tmp16 * -2
+    del tmp16
+    t2new.aaaa += tmp20
+    del tmp20
+    t2new.aaaa += np.transpose(tmp8, (1, 0, 3, 2))
+    del tmp8
+    t2new.aaaa += tmp21 * -2
+    t2new.aaaa += np.transpose(tmp21, (1, 0, 2, 3)) * 2
+    del tmp21
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp22, (4, 2, 5, 3), (0, 1, 4, 5)) * -2
+    del tmp22
+    t2new.aaaa += tmp24 * 2
+    del tmp24
+    t2new.aaaa += np.transpose(tmp26, (1, 0, 3, 2)) * -2
+    t2new.aaaa += np.transpose(tmp26, (0, 1, 3, 2)) * 2
+    del tmp26
+
+    return {f"t2new": t2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCCD.update_lams(f=None, l2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:51:26.739943.

+

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.

+ +
+ Source code in ebcc/codegen/UDFCCD.py +
278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
def update_lams(f=None, l2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:51:26.739943.
+
+    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()
+    tmp11 = einsum(t2.abab, (0, 1, 2, 3), v.baa.xov, (4, 0, 2), (4, 1, 3))
+    tmp12 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbb.xov, (4, 1, 3), (4, 0, 2))
+    tmp48 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4))
+    tmp49 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 0, 1), (4, 2))
+    tmp9 = einsum(t2.abab, (0, 1, 2, 3), v.bbb.xov, (4, 1, 3), (4, 0, 2))
+    tmp8 = einsum(t2.aaaa, (0, 1, 2, 3), v.baa.xov, (4, 1, 3), (4, 0, 2))
+    tmp0 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 1), (0, 4))
+    tmp1 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4))
+    tmp74 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0))
+    tmp73 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (4, 1))
+    tmp54 = np.copy(tmp11) * 0.5
+    tmp54 += tmp12
+    tmp50 = np.copy(tmp48)
+    del tmp48
+    tmp50 += tmp49 * 2
+    del tmp49
+    tmp33 = np.copy(v.bbb.xov)
+    tmp33 += tmp11
+    tmp33 += tmp12 * 2
+    tmp31 = np.copy(v.baa.xov)
+    tmp31 += tmp8 * 2
+    tmp31 += tmp9
+    tmp42 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4))
+    tmp41 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4))
+    tmp2 = np.copy(tmp0)
+    del tmp0
+    tmp2 += tmp1 * 0.5
+    del tmp1
+    tmp15 = np.copy(tmp8) * 2
+    tmp15 += tmp9
+    tmp75 = np.copy(tmp73) * 0.5
+    del tmp73
+    tmp75 += tmp74
+    del tmp74
+    tmp55 = einsum(tmp54, (0, 1, 2), v.bbb.xov, (0, 3, 2), (3, 1)) * 2
+    tmp66 = einsum(tmp54, (0, 1, 2), v.bbb.xov, (0, 1, 3), (3, 2)) * 2
+    del tmp54
+    tmp96 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (5, 1, 4, 3))
+    tmp97 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp10 = np.copy(v.baa.xov) * 0.5
+    tmp10 += tmp8
+    del tmp8
+    tmp10 += tmp9 * 0.5
+    del tmp9
+    tmp13 = np.copy(v.bbb.xov)
+    tmp13 += tmp11
+    del tmp11
+    tmp13 += tmp12 * 2
+    del tmp12
+    tmp51 = einsum(tmp50, (0, 1), v.bbb.xov, (2, 3, 1), (2, 3, 0))
+    tmp93 = einsum(l2.bbbb, (0, 1, 2, 3), tmp33, (4, 3, 1), (4, 2, 0))
+    tmp92 = einsum(l2.abab, (0, 1, 2, 3), tmp31, (4, 2, 0), (4, 3, 1))
+    tmp43 = np.copy(tmp41) * 2
+    del tmp41
+    tmp43 += tmp42
+    del tmp42
+    tmp3 = einsum(tmp2, (0, 1), v.baa.xov, (2, 3, 1), (2, 3, 0))
+    tmp32 = einsum(tmp31, (0, 1, 2), l2.aaaa, (3, 2, 4, 1), (0, 4, 3))
+    del tmp31
+    tmp34 = einsum(l2.abab, (0, 1, 2, 3), tmp33, (4, 3, 1), (4, 2, 0))
+    del tmp33
+    tmp38 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5))
+    tmp37 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp25 = einsum(tmp15, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3)) * 0.5
+    tmp100 = einsum(v.bbb.xov, (0, 1, 2), tmp75, (3, 1), (0, 3, 2))
+    tmp86 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 5), (4, 5, 0, 1))
+    tmp79 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp56 = np.copy(f.bb.oo)
+    tmp56 += np.transpose(tmp55, (1, 0))
+    del tmp55
+    tmp90 = einsum(tmp50, (0, 1), v.bbb.xov, (2, 3, 1), (2, 3, 0)) * 0.5
+    del tmp50
+    tmp67 = np.copy(f.bb.vv) * -1
+    tmp67 += np.transpose(tmp66, (1, 0))
+    del tmp66
+    tmp98 = np.copy(tmp96)
+    del tmp96
+    tmp98 += tmp97 * 4
+    del tmp97
+    tmp84 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (3, 1, 2, 4))
+    tmp57 = einsum(tmp10, (0, 1, 2), l2.abab, (2, 3, 1, 4), (0, 4, 3))
+    tmp58 = einsum(l2.bbbb, (0, 1, 2, 3), tmp13, (4, 3, 1), (4, 2, 0))
+    tmp69 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp52 = np.copy(v.bbb.xov)
+    tmp52 += tmp51 * -1
+    del tmp51
+    tmp94 = np.copy(tmp92)
+    del tmp92
+    tmp94 += tmp93 * 2
+    del tmp93
+    tmp76 = einsum(v.bbb.xov, (0, 1, 2), tmp75, (3, 1), (0, 3, 2)) * 2
+    del tmp75
+    tmp16 = einsum(v.baa.xov, (0, 1, 2), tmp15, (0, 3, 2), (3, 1)) * 0.5
+    tmp60 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp61 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 5), (4, 0, 5, 1))
+    tmp63 = einsum(v.bbb.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (3, 4, 1, 2))
+    tmp29 = einsum(tmp2, (0, 1), v.baa.xov, (2, 3, 1), (2, 3, 0)) * 2
+    del tmp2
+    tmp44 = einsum(tmp43, (0, 1), v.baa.xov, (2, 1, 3), (2, 0, 3))
+    tmp6 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp20 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp21 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 5), (4, 5, 0, 1))
+    tmp4 = np.copy(v.baa.xov) * 0.5
+    tmp4 += tmp3 * -1
+    del tmp3
+    tmp46 = einsum(tmp43, (0, 1), v.baa.xov, (2, 1, 3), (2, 0, 3)) * 0.5
+    del tmp43
+    tmp35 = np.copy(tmp32) * 2
+    del tmp32
+    tmp35 += tmp34
+    del tmp34
+    tmp39 = np.copy(tmp37) * 4
+    del tmp37
+    tmp39 += tmp38
+    del tmp38
+    tmp23 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (3, 1, 2, 4))
+    tmp26 = np.copy(f.aa.vv) * -0.5
+    tmp26 += tmp25
+    del tmp25
+    tmp101 = einsum(tmp100, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 4, 2)) * -2
+    del tmp100
+    tmp87 = einsum(tmp79, (0, 1, 2, 3), tmp86, (4, 5, 0, 1), (4, 5, 2, 3))
+    del tmp86
+    tmp83 = einsum(l2.bbbb, (0, 1, 2, 3), tmp56, (3, 4), (2, 4, 0, 1)) * -2
+    tmp91 = einsum(v.bbb.xov, (0, 1, 2), tmp90, (0, 3, 4), (1, 3, 2, 4)) * -2
+    del tmp90
+    tmp89 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 1, 2, 4))
+    tmp89 += einsum(t2.bbbb, (0, 1, 2, 3), tmp79, (4, 5, 3, 2), (0, 1, 5, 4)) * -1
+    tmp82 = einsum(tmp10, (0, 1, 2), l2.abab, (2, 3, 1, 4), (0, 4, 3)) * 2
+    tmp82 += einsum(l2.bbbb, (0, 1, 2, 3), tmp13, (4, 3, 1), (4, 2, 0)) * 2
+    tmp88 = einsum(tmp67, (0, 1), l2.bbbb, (2, 0, 3, 4), (3, 4, 2, 1)) * -1
+    tmp99 = einsum(tmp98, (0, 1, 2, 3), tmp79, (1, 4, 5, 3), (0, 4, 2, 5))
+    del tmp98
+    tmp85 = einsum(l2.bbbb, (0, 1, 2, 3), tmp84, (4, 0, 5, 1), (2, 3, 5, 4))
+    del tmp84
+    tmp59 = np.copy(tmp57)
+    del tmp57
+    tmp59 += tmp58
+    del tmp58
+    tmp81 = einsum(l2.bbbb, (0, 1, 2, 3), tmp69, (4, 3, 5, 1), (2, 4, 0, 5))
+    tmp80 = einsum(tmp52, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp95 = einsum(v.bbb.xov, (0, 1, 2), tmp94, (0, 3, 4), (1, 3, 2, 4))
+    del tmp94
+    tmp102 = einsum(tmp76, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 4, 2)) * -1
+    tmp53 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp70 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp17 = np.copy(f.aa.oo) * 0.5
+    tmp17 += tmp16
+    del tmp16
+    tmp77 = einsum(t2.aaaa, (0, 1, 2, 3), l2.abab, (3, 4, 1, 5), (0, 5, 2, 4))
+    tmp77 += einsum(t2.abab, (0, 1, 2, 3), l2.bbbb, (4, 3, 5, 1), (0, 5, 2, 4))
+    tmp72 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5))
+    tmp62 = einsum(tmp61, (0, 1, 2, 3), tmp60, (1, 3, 4, 5), (0, 2, 4, 5))
+    del tmp61
+    tmp65 = np.copy(f.aa.vv) * -1
+    tmp65 += einsum(tmp15, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    tmp71 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (2, 4, 1, 5))
+    tmp68 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp68 += einsum(t2.abab, (0, 1, 2, 3), tmp60, (4, 5, 2, 3), (0, 4, 1, 5))
+    tmp64 = einsum(tmp63, (0, 1, 2, 3), l2.abab, (1, 3, 4, 5), (4, 5, 0, 2))
+    del tmp63
+    tmp78 = einsum(t2.abab, (0, 1, 2, 3), l2.aaaa, (4, 2, 5, 0), (5, 1, 4, 3))
+    tmp78 += einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp30 = einsum(tmp29, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4)) * -1
+    tmp45 = einsum(tmp44, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4)) * -1
+    tmp18 = einsum(l2.aaaa, (0, 1, 2, 3), tmp10, (4, 3, 1), (4, 2, 0)) * 4
+    tmp18 += einsum(l2.abab, (0, 1, 2, 3), tmp13, (4, 3, 1), (4, 2, 0))
+    tmp7 = einsum(tmp6, (0, 1, 2, 3), l2.aaaa, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp19 = np.copy(f.aa.oo)
+    tmp19 += einsum(v.baa.xov, (0, 1, 2), tmp15, (0, 3, 2), (3, 1))
+    del tmp15
+    tmp22 = einsum(tmp21, (0, 1, 2, 3), tmp20, (2, 3, 4, 5), (0, 1, 4, 5))
+    del tmp21
+    tmp28 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp28 += einsum(t2.aaaa, (0, 1, 2, 3), tmp20, (4, 5, 3, 2), (0, 1, 5, 4)) * -1
+    tmp5 = einsum(tmp4, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4)) * 2
+    del tmp4
+    tmp47 = einsum(v.baa.xov, (0, 1, 2), tmp46, (0, 3, 4), (3, 1, 4, 2)) * -2
+    del tmp46
+    tmp36 = einsum(tmp35, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp40 = einsum(tmp20, (0, 1, 2, 3), tmp39, (4, 0, 5, 3), (4, 1, 5, 2))
+    del tmp39
+    tmp24 = einsum(tmp23, (0, 1, 2, 3), l2.aaaa, (1, 3, 4, 5), (4, 5, 2, 0))
+    del tmp23
+    tmp14 = einsum(l2.aaaa, (0, 1, 2, 3), tmp10, (4, 3, 1), (4, 2, 0)) * 2
+    del tmp10
+    tmp14 += einsum(l2.abab, (0, 1, 2, 3), tmp13, (4, 3, 1), (4, 2, 0)) * 0.5
+    del tmp13
+    tmp27 = einsum(l2.aaaa, (0, 1, 2, 3), tmp26, (1, 4), (2, 3, 4, 0)) * -2
+    del tmp26
+    l2new.bbbb = np.copy(np.transpose(tmp80, (2, 3, 0, 1)))
+    l2new.bbbb += np.transpose(tmp80, (3, 2, 0, 1)) * -1
+    del tmp80
+    l2new.bbbb += np.transpose(tmp81, (3, 2, 0, 1)) * 2
+    l2new.bbbb += einsum(v.bbb.xov, (0, 1, 2), tmp82, (0, 3, 4), (2, 4, 3, 1)) * -1
+    del tmp82
+    l2new.bbbb += np.transpose(tmp83, (3, 2, 0, 1)) * -1
+    l2new.bbbb += np.transpose(tmp81, (3, 2, 1, 0)) * -2
+    l2new.bbbb += einsum(tmp59, (0, 1, 2), v.bbb.xov, (0, 3, 4), (4, 2, 3, 1)) * 2
+    l2new.bbbb += np.transpose(tmp83, (3, 2, 1, 0))
+    del tmp83
+    l2new.bbbb += np.transpose(tmp85, (2, 3, 1, 0)) * -2
+    del tmp85
+    l2new.bbbb += np.transpose(tmp87, (3, 2, 1, 0)) * 2
+    del tmp87
+    l2new.bbbb += np.transpose(tmp88, (3, 2, 1, 0)) * 2
+    l2new.bbbb += np.transpose(tmp88, (2, 3, 1, 0)) * -2
+    del tmp88
+    l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp89, (2, 3, 4, 5), (0, 1, 5, 4)) * 2
+    del tmp89
+    l2new.bbbb += np.transpose(tmp91, (2, 3, 1, 0)) * -1
+    l2new.bbbb += np.transpose(tmp81, (2, 3, 0, 1)) * -2
+    l2new.bbbb += np.transpose(tmp95, (3, 2, 1, 0))
+    l2new.bbbb += np.transpose(tmp81, (2, 3, 1, 0)) * 2
+    del tmp81
+    l2new.bbbb += np.transpose(tmp95, (3, 2, 0, 1)) * -1
+    del tmp95
+    l2new.bbbb += np.transpose(tmp99, (3, 2, 0, 1))
+    l2new.bbbb += np.transpose(tmp101, (3, 2, 1, 0))
+    l2new.bbbb += np.transpose(tmp99, (2, 3, 0, 1)) * -1
+    l2new.bbbb += np.transpose(tmp101, (2, 3, 1, 0)) * -1
+    del tmp101
+    l2new.bbbb += np.transpose(tmp99, (3, 2, 1, 0)) * -1
+    l2new.bbbb += np.transpose(tmp102, (3, 2, 0, 1)) * -1
+    l2new.bbbb += np.transpose(tmp99, (2, 3, 1, 0))
+    del tmp99
+    l2new.bbbb += np.transpose(tmp102, (2, 3, 0, 1))
+    del tmp102
+    l2new.bbbb += np.transpose(tmp91, (3, 2, 1, 0))
+    del tmp91
+    l2new.abab = einsum(tmp52, (0, 1, 2), v.baa.xov, (0, 3, 4), (4, 2, 3, 1))
+    del tmp52
+    l2new.abab += einsum(tmp53, (0, 1, 2, 3), l2.abab, (3, 4, 5, 1), (2, 4, 5, 0)) * -1
+    del tmp53
+    l2new.abab += einsum(tmp56, (0, 1), l2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -1
+    del tmp56
+    l2new.abab += einsum(tmp6, (0, 1, 2, 3), l2.abab, (3, 4, 1, 5), (2, 4, 0, 5)) * -1
+    del tmp6
+    l2new.abab += einsum(tmp59, (0, 1, 2), v.baa.xov, (0, 3, 4), (4, 2, 3, 1)) * 2
+    del tmp59
+    l2new.abab += einsum(tmp17, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -2
+    l2new.abab += np.transpose(tmp62, (2, 3, 0, 1))
+    del tmp62
+    l2new.abab += np.transpose(tmp64, (2, 3, 0, 1))
+    del tmp64
+    l2new.abab += einsum(tmp65, (0, 1), l2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1
+    del tmp65
+    l2new.abab += einsum(tmp67, (0, 1), l2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1
+    del tmp67
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp68, (2, 4, 3, 5), (0, 1, 4, 5))
+    del tmp68
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp69, (4, 3, 5, 1), (0, 5, 2, 4)) * -1
+    del tmp69
+    l2new.abab += einsum(tmp35, (0, 1, 2), v.bbb.xov, (0, 3, 4), (2, 4, 1, 3))
+    del tmp35
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp70, (4, 2, 5, 1), (0, 5, 4, 3)) * -1
+    del tmp70
+    l2new.abab += einsum(tmp71, (0, 1, 2, 3), tmp60, (1, 4, 5, 3), (5, 2, 0, 4))
+    del tmp71
+    l2new.abab += einsum(tmp44, (0, 1, 2), v.bbb.xov, (0, 3, 4), (2, 4, 1, 3)) * -1
+    del tmp44
+    l2new.abab += einsum(tmp60, (0, 1, 2, 3), tmp72, (4, 1, 5, 2), (5, 3, 0, 4))
+    del tmp60, tmp72
+    l2new.abab += einsum(tmp76, (0, 1, 2), v.baa.xov, (0, 3, 4), (4, 2, 3, 1)) * -1
+    del tmp76
+    l2new.abab += einsum(tmp29, (0, 1, 2), v.bbb.xov, (0, 3, 4), (2, 4, 1, 3)) * -1
+    del tmp29
+    l2new.abab += einsum(tmp20, (0, 1, 2, 3), tmp77, (0, 4, 3, 5), (2, 5, 1, 4)) * -2
+    del tmp20, tmp77
+    l2new.abab += einsum(tmp78, (0, 1, 2, 3), tmp79, (1, 4, 5, 3), (2, 5, 0, 4)) * -2
+    del tmp79, tmp78
+    l2new.aaaa = np.copy(np.transpose(tmp5, (3, 2, 1, 0)))
+    l2new.aaaa += np.transpose(tmp5, (2, 3, 1, 0)) * -1
+    del tmp5
+    l2new.aaaa += np.transpose(tmp7, (3, 2, 0, 1)) * 2
+    l2new.aaaa += einsum(v.baa.xov, (0, 1, 2), tmp14, (0, 3, 4), (2, 4, 3, 1)) * -2
+    del tmp14
+    l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp17, (3, 4), (0, 1, 2, 4)) * -4
+    del tmp17
+    l2new.aaaa += np.transpose(tmp7, (3, 2, 1, 0)) * -2
+    l2new.aaaa += einsum(tmp18, (0, 1, 2), v.baa.xov, (0, 3, 4), (4, 2, 3, 1))
+    del tmp18
+    l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp19, (3, 4), (0, 1, 4, 2)) * 2
+    del tmp19
+    l2new.aaaa += np.transpose(tmp22, (3, 2, 1, 0)) * 2
+    del tmp22
+    l2new.aaaa += np.transpose(tmp24, (2, 3, 1, 0)) * -2
+    del tmp24
+    l2new.aaaa += np.transpose(tmp27, (2, 3, 1, 0)) * 2
+    l2new.aaaa += np.transpose(tmp27, (3, 2, 1, 0)) * -2
+    del tmp27
+    l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp28, (2, 3, 4, 5), (0, 1, 5, 4)) * 2
+    del tmp28
+    l2new.aaaa += np.transpose(tmp30, (3, 2, 0, 1)) * -1
+    l2new.aaaa += np.transpose(tmp7, (2, 3, 0, 1)) * -2
+    l2new.aaaa += np.transpose(tmp36, (2, 3, 0, 1))
+    l2new.aaaa += np.transpose(tmp7, (2, 3, 1, 0)) * 2
+    del tmp7
+    l2new.aaaa += np.transpose(tmp36, (2, 3, 1, 0)) * -1
+    del tmp36
+    l2new.aaaa += np.transpose(tmp40, (3, 2, 0, 1))
+    l2new.aaaa += np.transpose(tmp45, (2, 3, 0, 1))
+    l2new.aaaa += np.transpose(tmp40, (2, 3, 0, 1)) * -1
+    l2new.aaaa += np.transpose(tmp45, (3, 2, 0, 1)) * -1
+    del tmp45
+    l2new.aaaa += np.transpose(tmp40, (3, 2, 1, 0)) * -1
+    l2new.aaaa += np.transpose(tmp47, (2, 3, 1, 0)) * -1
+    l2new.aaaa += np.transpose(tmp40, (2, 3, 1, 0))
+    del tmp40
+    l2new.aaaa += np.transpose(tmp47, (3, 2, 1, 0))
+    del tmp47
+    l2new.aaaa += np.transpose(tmp30, (2, 3, 0, 1))
+    del tmp30
+
+    return {f"l2new": l2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCCD.make_rdm1_f(l2=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:51:27.499231.

+

Parameters

+

l2 : Namespace of arrays + L2 amplitudes. +t2 : Namespace of arrays + T2 amplitudes.

+

Returns

+

rdm1 : Namespace of arrays + One-particle reduced density matrix.

+ +
+ Source code in ebcc/codegen/UDFCCD.py +
617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
def make_rdm1_f(l2=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:51:27.499231.
+
+    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(t2.aaaa.shape[-1])),
+        bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t2.bbbb.shape[-1])),
+    )
+    rdm1.bb.vv = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4))
+    rdm1.bb.vv += einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 0, 1), (4, 2)) * 2
+    rdm1.aa.vv = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4))
+    rdm1.aa.vv += einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 0, 1), (4, 2)) * 2
+    rdm1.bb.oo = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (4, 2)) * -2
+    rdm1.bb.oo += delta.bb.oo
+    rdm1.bb.oo += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 0, 4), (1, 4)) * -1
+    rdm1.aa.oo = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (0, 4)) * -1
+    rdm1.aa.oo += delta.aa.oo
+    del delta
+    rdm1.aa.oo += einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (0, 4)) * -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
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCCD.make_rdm2_f(l2=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:51:37.934715.

+

Parameters

+

l2 : Namespace of arrays + L2 amplitudes. +t2 : Namespace of arrays + T2 amplitudes.

+

Returns

+

rdm2 : Namespace of arrays + Two-particle reduced density matrix.

+ +
+ Source code in ebcc/codegen/UDFCCD.py +
661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+845
+846
+847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
+858
+859
+860
+861
+862
+863
+864
+865
+866
+867
+868
+869
+870
+871
+872
+873
+874
+875
+876
+877
+878
+879
+880
+881
+882
+883
+884
+885
+886
+887
+888
+889
+890
+891
+892
+893
+894
+895
+896
+897
+898
+899
+900
+901
+902
+903
+904
+905
+906
+907
+908
+909
+910
+911
+912
+913
+914
+915
+916
+917
def make_rdm2_f(l2=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:51:37.934715.
+
+    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(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))
+    tmp6 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0))
+    tmp0 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4))
+    tmp1 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (2, 4))
+    tmp24 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4))
+    tmp25 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4))
+    tmp12 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 0, 1), (4, 2))
+    tmp13 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4))
+    tmp32 = np.copy(tmp5) * 0.5
+    tmp32 += tmp6
+    tmp35 = einsum(t2.abab, (0, 1, 2, 3), l2.aaaa, (4, 2, 5, 0), (5, 1, 4, 3))
+    tmp39 = einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp37 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5))
+    tmp11 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 5), (4, 5, 0, 1))
+    tmp17 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp29 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (2, 4, 0, 5))
+    tmp21 = einsum(t2.aaaa, (0, 1, 2, 3), l2.abab, (3, 4, 1, 5), (0, 5, 2, 4))
+    tmp19 = einsum(t2.abab, (0, 1, 2, 3), l2.bbbb, (4, 3, 5, 1), (0, 5, 2, 4))
+    tmp8 = np.copy(tmp0)
+    tmp8 += tmp1 * 0.5
+    tmp4 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 5), (4, 5, 0, 1))
+    tmp43 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (0, 1, 4, 5))
+    tmp42 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (0, 1, 4, 5))
+    tmp31 = np.copy(tmp24)
+    tmp31 += tmp25 * 2
+    tmp41 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (5, 1, 4, 3))
+    tmp23 = np.copy(tmp12)
+    tmp23 += tmp13 * 0.5
+    tmp27 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 5, 1), (3, 4, 0, 5))
+    tmp14 = np.copy(tmp12) * 2
+    del tmp12
+    tmp14 += tmp13
+    del tmp13
+    tmp26 = np.copy(tmp24) * 0.5
+    del tmp24
+    tmp26 += tmp25
+    del tmp25
+    tmp33 = einsum(t2.bbbb, (0, 1, 2, 3), tmp32, (1, 4), (4, 0, 2, 3)) * -2
+    del tmp32
+    tmp36 = einsum(t2.abab, (0, 1, 2, 3), tmp35, (0, 4, 2, 5), (4, 1, 5, 3))
+    tmp40 = einsum(t2.abab, (0, 1, 2, 3), tmp39, (0, 4, 2, 5), (1, 4, 3, 5))
+    tmp38 = einsum(tmp37, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (1, 4, 3, 5))
+    tmp34 = einsum(tmp11, (0, 1, 2, 3), t2.bbbb, (1, 0, 4, 5), (3, 2, 4, 5))
+    tmp30 = np.copy(tmp17) * 4
+    tmp30 += tmp29
+    tmp10 = np.copy(tmp5)
+    tmp10 += tmp6 * 2
+    tmp28 = np.copy(tmp21)
+    tmp28 += tmp19
+    tmp9 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 5), (4, 0, 5, 1))
+    tmp3 = np.copy(tmp0) * 2
+    tmp3 += tmp1
+    tmp18 = einsum(t2.aaaa, (0, 1, 2, 3), tmp17, (1, 4, 3, 5), (0, 4, 2, 5))
+    tmp15 = einsum(t2.aaaa, (0, 1, 2, 3), tmp8, (1, 4), (0, 4, 2, 3)) * -2
+    tmp20 = einsum(t2.abab, (0, 1, 2, 3), tmp19, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp22 = einsum(tmp21, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5))
+    tmp16 = einsum(t2.aaaa, (0, 1, 2, 3), tmp4, (1, 0, 4, 5), (5, 4, 2, 3))
+    tmp7 = np.copy(delta.bb.oo) * -1
+    tmp7 += tmp5
+    del tmp5
+    tmp7 += tmp6 * 2
+    del tmp6
+    tmp2 = np.copy(delta.aa.oo) * -0.5
+    tmp2 += tmp0
+    del tmp0
+    tmp2 += tmp1 * 0.5
+    del tmp1
+    rdm2.bbbb.vvvv = np.copy(np.transpose(tmp43, (1, 0, 3, 2))) * 2
+    del tmp43
+    rdm2.abab.vvvv = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 5), (0, 1, 4, 5))
+    rdm2.aaaa.vvvv = np.copy(np.transpose(tmp42, (1, 0, 3, 2))) * 2
+    del tmp42
+    rdm2.bbbb.vvoo = np.copy(l2.bbbb) * 2
+    rdm2.abab.vvoo = np.copy(l2.abab)
+    rdm2.aaaa.vvoo = np.copy(l2.aaaa) * 2
+    rdm2.bbbb.vovo = einsum(tmp31, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3))
+    rdm2.bbbb.vovo += np.transpose(tmp37, (2, 1, 3, 0)) * -4
+    rdm2.bbbb.vovo += np.transpose(tmp41, (2, 1, 3, 0)) * -1
+    rdm2.abab.vovo = einsum(tmp23, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) * 2
+    rdm2.abab.vovo += np.transpose(tmp27, (2, 1, 3, 0)) * -1
+    rdm2.aaaa.vovo = einsum(delta.aa.oo, (0, 1), tmp14, (2, 3), (2, 0, 3, 1))
+    rdm2.aaaa.vovo += np.transpose(tmp17, (2, 1, 3, 0)) * -4
+    rdm2.aaaa.vovo += np.transpose(tmp29, (2, 1, 3, 0)) * -1
+    rdm2.bbbb.voov = einsum(tmp26, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) * -2
+    rdm2.bbbb.voov += np.transpose(tmp41, (2, 1, 0, 3))
+    rdm2.bbbb.voov += np.transpose(tmp37, (2, 1, 0, 3)) * 4
+    rdm2.abab.voov = np.copy(np.transpose(tmp39, (2, 1, 0, 3))) * 2
+    del tmp39
+    rdm2.abab.voov += np.transpose(tmp35, (2, 1, 0, 3)) * 2
+    del tmp35
+    rdm2.aaaa.voov = einsum(tmp23, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * -2
+    rdm2.aaaa.voov += np.transpose(tmp17, (2, 1, 0, 3)) * 4
+    rdm2.aaaa.voov += np.transpose(tmp29, (2, 1, 0, 3))
+    rdm2.bbbb.ovvo = einsum(tmp31, (0, 1), delta.bb.oo, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.bbbb.ovvo += np.transpose(tmp41, (1, 2, 3, 0))
+    rdm2.bbbb.ovvo += np.transpose(tmp37, (1, 2, 3, 0)) * 4
+    rdm2.abab.ovvo = np.copy(np.transpose(tmp19, (0, 3, 2, 1))) * 2
+    del tmp19
+    rdm2.abab.ovvo += np.transpose(tmp21, (0, 3, 2, 1)) * 2
+    del tmp21
+    rdm2.aaaa.ovvo = einsum(delta.aa.oo, (0, 1), tmp14, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.aaaa.ovvo += np.transpose(tmp17, (1, 2, 3, 0)) * 4
+    rdm2.aaaa.ovvo += np.transpose(tmp29, (1, 2, 3, 0))
+    rdm2.bbbb.ovov = einsum(tmp26, (0, 1), delta.bb.oo, (2, 3), (2, 0, 3, 1)) * 2
+    rdm2.bbbb.ovov += np.transpose(tmp37, (1, 2, 0, 3)) * -4
+    del tmp37
+    rdm2.bbbb.ovov += np.transpose(tmp41, (1, 2, 0, 3)) * -1
+    del tmp41
+    rdm2.abab.ovov = einsum(delta.aa.oo, (0, 1), tmp26, (2, 3), (0, 2, 1, 3)) * 2
+    rdm2.abab.ovov += einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 5, 1), (0, 4, 5, 3)) * -1
+    rdm2.aaaa.ovov = einsum(tmp23, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1)) * 2
+    rdm2.aaaa.ovov += np.transpose(tmp17, (1, 2, 0, 3)) * -4
+    del tmp17
+    rdm2.aaaa.ovov += np.transpose(tmp29, (1, 2, 0, 3)) * -1
+    del tmp29
+    rdm2.bbbb.oovv = np.copy(t2.bbbb) * 2
+    rdm2.bbbb.oovv += einsum(tmp31, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 4, 1)) * -2
+    del tmp31
+    rdm2.bbbb.oovv += np.transpose(tmp33, (0, 1, 3, 2)) * 2
+    rdm2.bbbb.oovv += np.transpose(tmp33, (1, 0, 3, 2)) * -2
+    del tmp33
+    rdm2.bbbb.oovv += np.transpose(tmp34, (0, 1, 3, 2)) * -2
+    del tmp34
+    rdm2.bbbb.oovv += np.transpose(tmp36, (0, 1, 3, 2)) * -2
+    rdm2.bbbb.oovv += np.transpose(tmp38, (0, 1, 3, 2)) * -8
+    rdm2.bbbb.oovv += np.transpose(tmp40, (0, 1, 3, 2)) * -2
+    rdm2.bbbb.oovv += np.transpose(tmp40, (1, 0, 2, 3)) * -2
+    rdm2.bbbb.oovv += np.transpose(tmp36, (1, 0, 3, 2)) * 2
+    del tmp36
+    rdm2.bbbb.oovv += tmp38 * 8
+    del tmp38
+    rdm2.bbbb.oovv += tmp40 * 2
+    rdm2.bbbb.oovv += np.transpose(tmp40, (1, 0, 3, 2)) * 2
+    del tmp40
+    rdm2.bbbb.oovv += einsum(tmp26, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 1, 4)) * 4
+    rdm2.abab.oovv = np.copy(t2.abab)
+    rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp26, (3, 4), (0, 1, 2, 4)) * -2
+    del tmp26
+    rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp3, (0, 4), (4, 1, 2, 3)) * -1
+    rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp10, (1, 4), (0, 4, 2, 3)) * -1
+    rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp9, (0, 4, 1, 5), (4, 5, 2, 3))
+    rdm2.abab.oovv += einsum(tmp27, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5))
+    del tmp27
+    rdm2.abab.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp28, (4, 1, 5, 3), (4, 0, 5, 2)) * 4
+    del tmp28
+    rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp30, (0, 4, 2, 5), (4, 1, 5, 3))
+    del tmp30
+    rdm2.abab.oovv += einsum(tmp14, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1
+    rdm2.aaaa.oovv = np.copy(t2.aaaa) * 2
+    rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp14, (3, 4), (0, 1, 2, 4)) * -2
+    del tmp14
+    rdm2.aaaa.oovv += np.transpose(tmp15, (1, 0, 3, 2)) * 2
+    rdm2.aaaa.oovv += np.transpose(tmp15, (0, 1, 3, 2)) * -2
+    del tmp15
+    rdm2.aaaa.oovv += np.transpose(tmp16, (0, 1, 3, 2)) * -2
+    del tmp16
+    rdm2.aaaa.oovv += np.transpose(tmp18, (0, 1, 3, 2)) * -8
+    rdm2.aaaa.oovv += np.transpose(tmp20, (0, 1, 3, 2)) * -2
+    rdm2.aaaa.oovv += np.transpose(tmp22, (0, 1, 3, 2)) * -2
+    rdm2.aaaa.oovv += np.transpose(tmp22, (1, 0, 2, 3)) * -2
+    rdm2.aaaa.oovv += tmp18 * 8
+    del tmp18
+    rdm2.aaaa.oovv += tmp20 * 2
+    del tmp20
+    rdm2.aaaa.oovv += tmp22 * 2
+    rdm2.aaaa.oovv += np.transpose(tmp22, (1, 0, 3, 2)) * 2
+    del tmp22
+    rdm2.aaaa.oovv += einsum(tmp23, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 1, 4)) * 4
+    del tmp23
+    rdm2.bbbb.oooo = einsum(tmp7, (0, 1), delta.bb.oo, (2, 3), (2, 1, 3, 0)) * -1
+    rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp7, (2, 3), (3, 0, 1, 2))
+    rdm2.bbbb.oooo += einsum(tmp10, (0, 1), delta.bb.oo, (2, 3), (1, 2, 0, 3)) * -1
+    rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp10, (2, 3), (0, 3, 2, 1))
+    del tmp10
+    rdm2.bbbb.oooo += np.transpose(tmp11, (3, 2, 1, 0)) * 2
+    del tmp11
+    rdm2.abab.oooo = einsum(delta.aa.oo, (0, 1), tmp7, (2, 3), (0, 3, 1, 2)) * -1
+    del tmp7
+    rdm2.abab.oooo += einsum(delta.bb.oo, (0, 1), tmp8, (2, 3), (3, 0, 2, 1)) * -2
+    del tmp8
+    rdm2.abab.oooo += np.transpose(tmp9, (1, 3, 0, 2))
+    del tmp9
+    rdm2.aaaa.oooo = einsum(delta.aa.oo, (0, 1), tmp2, (2, 3), (0, 3, 1, 2)) * -2
+    rdm2.aaaa.oooo += einsum(tmp2, (0, 1), delta.aa.oo, (2, 3), (1, 2, 3, 0)) * 2
+    del tmp2
+    rdm2.aaaa.oooo += einsum(tmp3, (0, 1), delta.aa.oo, (2, 3), (1, 2, 0, 3)) * -1
+    rdm2.aaaa.oooo += einsum(tmp3, (0, 1), delta.aa.oo, (2, 3), (2, 1, 0, 3))
+    del delta, tmp3
+    rdm2.aaaa.oooo += np.transpose(tmp4, (3, 2, 1, 0)) * 2
+    del tmp4
+    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=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
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCCD.hbar_matvec_ip_intermediates(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:52:23.155184.

+

Parameters

+

f : Namespace of arrays + Fock matrix. +t2 : Namespace of arrays + T2 amplitudes. +v : Namespace of arrays + Electron repulsion integrals.

+

Returns

+

tmp1 : array +tmp101 : array +tmp108 : array +tmp111 : array +tmp112 : array +tmp114 : array +tmp115 : array +tmp116 : array +tmp118 : array +tmp12 : array +tmp121 : array +tmp125 : array +tmp126 : array +tmp127 : array +tmp128 : array +tmp129 : array +tmp131 : array +tmp133 : array +tmp136 : array +tmp139 : array +tmp14 : array +tmp142 : array +tmp143 : array +tmp148 : array +tmp150 : array +tmp153 : array +tmp155 : array +tmp157 : array +tmp159 : array +tmp16 : array +tmp169 : array +tmp17 : array +tmp19 : array +tmp20 : array +tmp27 : array +tmp28 : array +tmp3 : array +tmp30 : array +tmp32 : array +tmp33 : array +tmp36 : array +tmp37 : array +tmp38 : array +tmp40 : array +tmp41 : array +tmp42 : array +tmp44 : array +tmp46 : array +tmp48 : array +tmp5 : array +tmp50 : array +tmp52 : array +tmp55 : array +tmp56 : array +tmp6 : array +tmp61 : array +tmp65 : array +tmp69 : array +tmp77 : array +tmp79 : array +tmp8 : array +tmp81 : array +tmp83 : array +tmp84 : array +tmp85 : array +tmp9 : array +tmp92 : array +tmp93 : array +tmp96 : array

+ +
+ Source code in ebcc/codegen/UDFCCD.py +
 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
def hbar_matvec_ip_intermediates(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:52:23.155184.
+
+    Parameters
+    ----------
+    f : Namespace of arrays
+        Fock matrix.
+    t2 : Namespace of arrays
+        T2 amplitudes.
+    v : Namespace of arrays
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp1 : array
+    tmp101 : array
+    tmp108 : array
+    tmp111 : array
+    tmp112 : array
+    tmp114 : array
+    tmp115 : array
+    tmp116 : array
+    tmp118 : array
+    tmp12 : array
+    tmp121 : array
+    tmp125 : array
+    tmp126 : array
+    tmp127 : array
+    tmp128 : array
+    tmp129 : array
+    tmp131 : array
+    tmp133 : array
+    tmp136 : array
+    tmp139 : array
+    tmp14 : array
+    tmp142 : array
+    tmp143 : array
+    tmp148 : array
+    tmp150 : array
+    tmp153 : array
+    tmp155 : array
+    tmp157 : array
+    tmp159 : array
+    tmp16 : array
+    tmp169 : array
+    tmp17 : array
+    tmp19 : array
+    tmp20 : array
+    tmp27 : array
+    tmp28 : array
+    tmp3 : array
+    tmp30 : array
+    tmp32 : array
+    tmp33 : array
+    tmp36 : array
+    tmp37 : array
+    tmp38 : array
+    tmp40 : array
+    tmp41 : array
+    tmp42 : array
+    tmp44 : array
+    tmp46 : array
+    tmp48 : array
+    tmp5 : array
+    tmp50 : array
+    tmp52 : array
+    tmp55 : array
+    tmp56 : array
+    tmp6 : array
+    tmp61 : array
+    tmp65 : array
+    tmp69 : array
+    tmp77 : array
+    tmp79 : array
+    tmp8 : array
+    tmp81 : array
+    tmp83 : array
+    tmp84 : array
+    tmp85 : array
+    tmp9 : array
+    tmp92 : array
+    tmp93 : array
+    tmp96 : array
+    """
+
+    tmp19 = einsum(t2.abab, (0, 1, 2, 3), v.baa.xov, (4, 0, 2), (4, 1, 3))
+    tmp16 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbb.xov, (4, 1, 3), (4, 0, 2))
+    tmp12 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp55 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp147 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp65 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp14 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp32 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp1 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 2, 3, 4))
+    tmp107 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp3 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 2, 3, 4))
+    tmp5 = einsum(v.baa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (0, 3, 4))
+    tmp8 = einsum(t2.abab, (0, 1, 2, 3), v.bbb.xov, (4, 1, 3), (4, 0, 2))
+    tmp76 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp29 = einsum(v.baa.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp169 = einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp159 = einsum(v.bbb.xoo, (0, 1, 2), tmp19, (0, 3, 4), (3, 1, 2, 4))
+    tmp157 = einsum(v.bbb.xoo, (0, 1, 2), tmp16, (0, 3, 4), (3, 1, 2, 4))
+    tmp155 = einsum(tmp12, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp153 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 1, 2, 4))
+    tmp150 = einsum(t2.bbbb, (0, 1, 2, 3), tmp55, (4, 5, 3, 2), (0, 1, 5, 4))
+    tmp148 = einsum(t2.bbbb, (0, 1, 2, 3), tmp147, (4, 5, 2, 3), (0, 1, 4, 5)) * -1
+    del tmp147
+    tmp143 = einsum(tmp19, (0, 1, 2), v.bbb.xvv, (0, 3, 2), (1, 3))
+    tmp142 = einsum(v.bbb.xvv, (0, 1, 2), tmp16, (0, 3, 2), (3, 1)) * -1
+    tmp139 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp136 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp133 = einsum(t2.abab, (0, 1, 2, 3), tmp65, (4, 1, 2, 5), (0, 4, 3, 5))
+    tmp131 = einsum(tmp19, (0, 1, 2), v.bbb.xov, (0, 1, 3), (2, 3))
+    tmp129 = einsum(v.bbb.xov, (0, 1, 2), tmp16, (0, 1, 3), (3, 2))
+    tmp128 = einsum(t2.abab, (0, 1, 2, 3), tmp14, (4, 5, 1, 2), (0, 4, 5, 3))
+    tmp127 = einsum(t2.abab, (0, 1, 2, 3), tmp14, (0, 4, 1, 2), (4, 3))
+    tmp126 = einsum(t2.bbbb, (0, 1, 2, 3), tmp12, (4, 0, 1, 3), (4, 2))
+    tmp125 = einsum(t2.abab, (0, 1, 2, 3), f.aa.ov, (4, 2), (4, 0, 1, 3))
+    tmp121 = einsum(t2.bbbb, (0, 1, 2, 3), tmp55, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp118 = einsum(tmp32, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 4, 2, 5))
+    tmp116 = einsum(v.baa.xoo, (0, 1, 2), tmp16, (0, 3, 4), (1, 2, 3, 4))
+    tmp115 = einsum(tmp19, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp114 = einsum(t2.abab, (0, 1, 2, 3), tmp1, (4, 0, 5, 2), (4, 5, 1, 3))
+    tmp112 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.ov, (1, 3), (0, 2))
+    tmp111 = einsum(t2.abab, (0, 1, 2, 3), f.aa.ov, (0, 2), (1, 3))
+    tmp108 = einsum(t2.abab, (0, 1, 2, 3), tmp107, (4, 2, 5, 3), (0, 4, 1, 5))
+    del tmp107
+    tmp101 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp96 = einsum(t2.abab, (0, 1, 2, 3), tmp65, (0, 4, 5, 3), (1, 4, 2, 5))
+    tmp93 = einsum(t2.abab, (0, 1, 2, 3), tmp3, (4, 0, 5, 3), (4, 1, 5, 2))
+    tmp92 = einsum(t2.abab, (0, 1, 2, 3), f.bb.ov, (4, 3), (0, 4, 1, 2))
+    tmp85 = einsum(tmp5, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp84 = einsum(tmp8, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp83 = einsum(tmp12, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp81 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 2, 3, 4))
+    tmp79 = einsum(t2.abab, (0, 1, 2, 3), tmp65, (4, 5, 2, 3), (0, 4, 1, 5))
+    tmp77 = einsum(tmp76, (0, 1, 2, 3), t2.abab, (4, 5, 2, 3), (4, 5, 0, 1))
+    del tmp76
+    tmp69 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp61 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp56 = einsum(t2.abab, (0, 1, 2, 3), tmp55, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp52 = einsum(tmp32, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 5, 2))
+    tmp50 = einsum(tmp8, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    tmp48 = einsum(tmp5, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    tmp46 = einsum(v.baa.xoo, (0, 1, 2), tmp8, (0, 3, 4), (3, 1, 2, 4))
+    tmp44 = einsum(v.baa.xoo, (0, 1, 2), tmp5, (0, 3, 4), (3, 1, 2, 4))
+    tmp42 = einsum(tmp1, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp41 = einsum(tmp3, (0, 1, 2, 3), t2.abab, (1, 2, 4, 3), (0, 4))
+    tmp40 = einsum(t2.aaaa, (0, 1, 2, 3), tmp1, (4, 0, 1, 3), (4, 2))
+    tmp38 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 1, 2, 4))
+    tmp37 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp36 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp33 = einsum(tmp32, (0, 1, 2, 3), t2.aaaa, (4, 5, 3, 2), (4, 5, 1, 0))
+    tmp30 = einsum(t2.aaaa, (0, 1, 2, 3), tmp29, (4, 5, 2, 3), (0, 1, 4, 5)) * -1
+    del tmp29
+    tmp28 = einsum(tmp8, (0, 1, 2), v.baa.xvv, (0, 3, 2), (1, 3))
+    tmp27 = einsum(v.baa.xvv, (0, 1, 2), tmp5, (0, 3, 2), (3, 1)) * -1
+    tmp20 = einsum(v.bbb.xov, (0, 1, 2), tmp19, (0, 3, 2), (3, 1))
+    tmp17 = einsum(v.bbb.xov, (0, 1, 2), tmp16, (0, 3, 2), (3, 1))
+    tmp9 = einsum(v.baa.xov, (0, 1, 2), tmp8, (0, 3, 2), (3, 1))
+    tmp6 = einsum(v.baa.xov, (0, 1, 2), tmp5, (0, 3, 2), (3, 1))
+
+    return {f"tmp1": tmp1, f"tmp101": tmp101, f"tmp108": tmp108, f"tmp111": tmp111, f"tmp112": tmp112, f"tmp114": tmp114, f"tmp115": tmp115, f"tmp116": tmp116, f"tmp118": tmp118, f"tmp12": tmp12, f"tmp121": tmp121, f"tmp125": tmp125, f"tmp126": tmp126, f"tmp127": tmp127, f"tmp128": tmp128, f"tmp129": tmp129, f"tmp131": tmp131, f"tmp133": tmp133, f"tmp136": tmp136, f"tmp139": tmp139, f"tmp14": tmp14, f"tmp142": tmp142, f"tmp143": tmp143, f"tmp148": tmp148, f"tmp150": tmp150, f"tmp153": tmp153, f"tmp155": tmp155, f"tmp157": tmp157, f"tmp159": tmp159, f"tmp16": tmp16, f"tmp169": tmp169, f"tmp17": tmp17, f"tmp19": tmp19, f"tmp20": tmp20, f"tmp27": tmp27, f"tmp28": tmp28, f"tmp3": tmp3, f"tmp30": tmp30, f"tmp32": tmp32, f"tmp33": tmp33, f"tmp36": tmp36, f"tmp37": tmp37, f"tmp38": tmp38, f"tmp40": tmp40, f"tmp41": tmp41, f"tmp42": tmp42, f"tmp44": tmp44, f"tmp46": tmp46, f"tmp48": tmp48, f"tmp5": tmp5, f"tmp50": tmp50, f"tmp52": tmp52, f"tmp55": tmp55, f"tmp56": tmp56, f"tmp6": tmp6, f"tmp61": tmp61, f"tmp65": tmp65, f"tmp69": tmp69, f"tmp77": tmp77, f"tmp79": tmp79, f"tmp8": tmp8, f"tmp81": tmp81, f"tmp83": tmp83, f"tmp84": tmp84, f"tmp85": tmp85, f"tmp9": tmp9, f"tmp92": tmp92, f"tmp93": tmp93, f"tmp96": tmp96}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCCD.hbar_matvec_ip(f=None, r1=None, r2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:52:23.203364.

+

Parameters

+

f : Namespace of arrays + Fock matrix. +r1 : Namespace of arrays + R1 amplitudes. +r2 : Namespace of arrays + R2 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.

+ +
+ Source code in ebcc/codegen/UDFCCD.py +
1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
+1331
+1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
+1359
+1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
+1373
+1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
def hbar_matvec_ip(f=None, r1=None, r2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:52:23.203364.
+
+    Parameters
+    ----------
+    f : Namespace of arrays
+        Fock matrix.
+    r1 : Namespace of arrays
+        R1 amplitudes.
+    r2 : Namespace of arrays
+        R2 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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp7 = einsum(r2.bab, (0, 1, 2), v.bbb.xov, (3, 0, 2), (3, 1)) * -1
+    tmp6 = einsum(r2.aaa, (0, 1, 2), v.baa.xov, (3, 1, 2), (3, 0))
+    tmp31 = einsum(v.baa.xov, (0, 1, 2), r2.aba, (1, 3, 2), (0, 3))
+    tmp60 = np.copy(ints.tmp19)
+    tmp60 += ints.tmp16 * 2
+    tmp39 = np.copy(ints.tmp139)
+    del ints.tmp139
+    tmp39 += ints.tmp121 * 2
+    del ints.tmp121
+    tmp62 = np.copy(ints.tmp159)
+    del ints.tmp159
+    tmp62 += ints.tmp157 * 2
+    del ints.tmp157
+    tmp32 = einsum(v.bbb.xov, (0, 1, 2), r2.bbb, (3, 1, 2), (0, 3))
+    tmp54 = np.copy(ints.tmp12)
+    tmp54 += np.transpose(ints.tmp155, (0, 2, 1, 3)) * 2
+    del ints.tmp155
+    tmp52 = np.copy(ints.tmp17) * 2
+    tmp52 += ints.tmp20
+    tmp50 = np.copy(ints.tmp16)
+    tmp50 += ints.tmp19 * 0.5
+    tmp16 = np.copy(ints.tmp6) * 2
+    tmp16 += ints.tmp9
+    tmp14 = np.copy(ints.tmp5)
+    tmp14 += ints.tmp8 * 0.5
+    tmp13 = np.copy(tmp6) * 2
+    tmp13 += tmp7
+    tmp18 = np.copy(ints.tmp1)
+    tmp18 += np.transpose(ints.tmp42, (0, 2, 1, 3)) * 2
+    del ints.tmp42
+    tmp10 = np.copy(ints.tmp46)
+    del ints.tmp46
+    tmp10 += ints.tmp44 * 2
+    del ints.tmp44
+    tmp4 = np.copy(ints.tmp69)
+    tmp4 += ints.tmp52 * 2
+    tmp8 = np.copy(tmp6) * 2
+    tmp8 += tmp7
+    tmp35 = einsum(ints.tmp65, (0, 1, 2, 3), r2.aba, (0, 1, 2), (3,))
+    tmp36 = einsum(ints.tmp55, (0, 1, 2, 3), r2.bbb, (0, 1, 2), (3,))
+    del ints.tmp55
+    tmp57 = einsum(f.bb.oo, (0, 1), r2.bbb, (2, 1, 3), (0, 2, 3))
+    tmp61 = einsum(tmp60, (0, 1, 2), tmp31, (0, 3), (3, 1, 2))
+    del tmp60
+    tmp59 = einsum(r2.bbb, (0, 1, 2), tmp39, (3, 1, 4, 2), (0, 3, 4)) * -1
+    tmp63 = einsum(tmp62, (0, 1, 2, 3), r1.b, (1,), (0, 2, 3))
+    del tmp62
+    tmp58 = einsum(v.bbb.xov, (0, 1, 2), tmp32, (0, 3), (3, 1, 2))
+    tmp55 = einsum(tmp54, (0, 1, 2, 3), r1.b, (1,), (0, 2, 3))
+    del tmp54
+    tmp53 = einsum(r2.bbb, (0, 1, 2), tmp52, (3, 1), (0, 3, 2)) * -2
+    del tmp52
+    tmp48 = einsum(r2.aba, (0, 1, 2), ints.tmp118, (0, 3, 2, 4), (3, 1, 4))
+    tmp51 = einsum(tmp50, (0, 1, 2), tmp32, (0, 3), (3, 1, 2)) * 4
+    del tmp50
+    tmp49 = einsum(v.bbb.xov, (0, 1, 2), tmp31, (0, 3), (3, 1, 2))
+    tmp24 = einsum(r2.bab, (0, 1, 2), ints.tmp65, (1, 0, 3, 2), (3,)) * -1
+    del ints.tmp65
+    tmp23 = einsum(r2.aaa, (0, 1, 2), ints.tmp32, (1, 0, 2, 3), (3,)) * -1
+    del ints.tmp32
+    tmp17 = einsum(r2.aaa, (0, 1, 2), tmp16, (3, 1), (0, 3, 2)) * -2
+    del tmp16
+    tmp15 = einsum(tmp14, (0, 1, 2), tmp13, (0, 3), (3, 1, 2)) * 2
+    del tmp14, tmp13
+    tmp19 = einsum(tmp18, (0, 1, 2, 3), r1.a, (1,), (0, 2, 3))
+    del tmp18
+    tmp2 = einsum(r2.aaa, (0, 1, 2), f.aa.oo, (3, 1), (3, 0, 2))
+    tmp11 = einsum(tmp10, (0, 1, 2, 3), r1.a, (1,), (0, 2, 3))
+    del tmp10
+    tmp5 = einsum(r2.aaa, (0, 1, 2), tmp4, (3, 1, 4, 2), (0, 3, 4)) * -1
+    del tmp4
+    tmp9 = einsum(tmp8, (0, 1), v.baa.xov, (0, 2, 3), (2, 1, 3))
+    del tmp8
+    tmp3 = einsum(r2.bab, (0, 1, 2), ints.tmp56, (3, 0, 4, 2), (3, 1, 4)) * -1
+    tmp44 = np.copy(np.transpose(ints.tmp129, (1, 0))) * 2
+    del ints.tmp129
+    tmp44 += np.transpose(ints.tmp131, (1, 0))
+    del ints.tmp131
+    tmp44 += f.bb.vv * -1
+    tmp66 = np.copy(ints.tmp148)
+    del ints.tmp148
+    tmp66 += np.transpose(ints.tmp169, (1, 2, 0, 3)) * -1
+    del ints.tmp169
+    tmp47 = np.copy(f.bb.ov)
+    tmp47 += ints.tmp111
+    del ints.tmp111
+    tmp47 += ints.tmp112 * 2
+    del ints.tmp112
+    tmp47 += ints.tmp143
+    del ints.tmp143
+    tmp47 += ints.tmp126 * -2
+    del ints.tmp126
+    tmp47 += ints.tmp127 * -1
+    del ints.tmp127
+    tmp47 += ints.tmp142 * -2
+    del ints.tmp142
+    tmp37 = np.copy(tmp35) * 0.5
+    del tmp35
+    tmp37 += tmp36
+    del tmp36
+    tmp65 = np.copy(ints.tmp150)
+    del ints.tmp150
+    tmp65 += np.transpose(ints.tmp153, (0, 2, 1, 3)) * -1
+    del ints.tmp153
+    tmp64 = np.copy(tmp57) * 2
+    del tmp57
+    tmp64 += tmp58 * 2
+    del tmp58
+    tmp64 += np.transpose(tmp59, (1, 0, 2)) * -2
+    del tmp59
+    tmp64 += np.transpose(tmp61, (1, 0, 2))
+    del tmp61
+    tmp64 += tmp63
+    del tmp63
+    tmp56 = np.copy(tmp48)
+    del tmp48
+    tmp56 += tmp49
+    del tmp49
+    tmp56 += np.transpose(tmp51, (1, 0, 2))
+    del tmp51
+    tmp56 += np.transpose(tmp53, (1, 0, 2))
+    del tmp53
+    tmp56 += tmp55
+    del tmp55
+    tmp46 = np.copy(ints.tmp108)
+    del ints.tmp108
+    tmp46 += np.transpose(ints.tmp115, (1, 0, 2, 3))
+    del ints.tmp115
+    tmp46 += np.transpose(ints.tmp116, (1, 0, 2, 3)) * 2
+    del ints.tmp116
+    tmp46 += np.transpose(ints.tmp125, (1, 0, 2, 3))
+    del ints.tmp125
+    tmp46 += ints.tmp3
+    tmp46 += ints.tmp114 * -1
+    del ints.tmp114
+    tmp46 += ints.tmp128 * -1
+    del ints.tmp128
+    tmp42 = np.copy(tmp6)
+    del tmp6
+    tmp42 += tmp7 * 0.5
+    del tmp7
+    tmp40 = np.copy(ints.tmp133)
+    del ints.tmp133
+    tmp40 += ints.tmp136 * -1
+    del ints.tmp136
+    tmp0 = np.copy(f.aa.oo)
+    tmp0 += np.transpose(ints.tmp6, (1, 0)) * 2
+    del ints.tmp6
+    tmp0 += np.transpose(ints.tmp9, (1, 0))
+    del ints.tmp9
+    tmp1 = np.copy(f.bb.oo)
+    tmp1 += np.transpose(ints.tmp17, (1, 0)) * 2
+    del ints.tmp17
+    tmp1 += np.transpose(ints.tmp20, (1, 0))
+    del ints.tmp20
+    tmp45 = np.copy(tmp23) * 2
+    tmp45 += tmp24 * -1
+    tmp41 = np.copy(ints.tmp79)
+    tmp41 += ints.tmp81
+    tmp43 = np.copy(ints.tmp16) * 2
+    del ints.tmp16
+    tmp43 += ints.tmp19
+    del ints.tmp19
+    tmp43 += v.bbb.xov
+    tmp22 = np.copy(np.transpose(ints.tmp48, (1, 0))) * 2
+    del ints.tmp48
+    tmp22 += np.transpose(ints.tmp50, (1, 0))
+    del ints.tmp50
+    tmp22 += f.aa.vv * -1
+    tmp30 = np.copy(ints.tmp79)
+    del ints.tmp79
+    tmp30 += ints.tmp81
+    del ints.tmp81
+    tmp29 = np.copy(ints.tmp52) * 2
+    del ints.tmp52
+    tmp29 += ints.tmp69
+    del ints.tmp69
+    tmp33 = np.copy(tmp31) * -0.5
+    del tmp31
+    tmp33 += tmp32
+    del tmp32
+    tmp28 = np.copy(ints.tmp101)
+    del ints.tmp101
+    tmp28 += ints.tmp96 * -1
+    del ints.tmp96
+    tmp38 = np.copy(ints.tmp14)
+    tmp38 += ints.tmp77
+    del ints.tmp77
+    tmp38 += np.transpose(ints.tmp84, (0, 2, 1, 3))
+    del ints.tmp84
+    tmp38 += np.transpose(ints.tmp85, (0, 2, 1, 3)) * 2
+    del ints.tmp85
+    tmp38 += np.transpose(ints.tmp92, (0, 2, 1, 3))
+    del ints.tmp92
+    tmp38 += ints.tmp83 * -1
+    del ints.tmp83
+    tmp38 += ints.tmp93 * -1
+    del ints.tmp93
+    tmp34 = np.copy(ints.tmp5) * 2
+    del ints.tmp5
+    tmp34 += ints.tmp8
+    del ints.tmp8
+    tmp34 += v.baa.xov
+    tmp27 = np.copy(f.aa.ov)
+    tmp27 += ints.tmp28
+    del ints.tmp28
+    tmp27 += ints.tmp36 * 2
+    del ints.tmp36
+    tmp27 += ints.tmp37
+    del ints.tmp37
+    tmp27 += ints.tmp27 * -2
+    del ints.tmp27
+    tmp27 += ints.tmp40 * -2
+    del ints.tmp40
+    tmp27 += ints.tmp41 * -1
+    del ints.tmp41
+    tmp26 = np.copy(ints.tmp30)
+    del ints.tmp30
+    tmp26 += np.transpose(ints.tmp61, (1, 2, 0, 3)) * -1
+    del ints.tmp61
+    tmp20 = np.copy(np.transpose(tmp15, (1, 0, 2)))
+    del tmp15
+    tmp20 += np.transpose(tmp17, (1, 0, 2))
+    del tmp17
+    tmp20 += tmp19
+    del tmp19
+    tmp12 = np.copy(tmp2) * 2
+    del tmp2
+    tmp12 += tmp3
+    del tmp3
+    tmp12 += np.transpose(tmp5, (1, 0, 2)) * -2
+    del tmp5
+    tmp12 += np.transpose(tmp9, (1, 0, 2))
+    del tmp9
+    tmp12 += tmp11
+    del tmp11
+    tmp21 = np.copy(ints.tmp33)
+    del ints.tmp33
+    tmp21 += np.transpose(ints.tmp38, (0, 2, 1, 3)) * -1
+    del ints.tmp38
+    tmp25 = np.copy(tmp23)
+    del tmp23
+    tmp25 += tmp24 * -0.5
+    del tmp24
+    r2new.bbb = np.copy(tmp56) * -1
+    r2new.bbb += np.transpose(tmp56, (1, 0, 2))
+    del tmp56
+    r2new.bbb += tmp64
+    r2new.bbb += np.transpose(tmp64, (1, 0, 2)) * -1
+    del tmp64
+    r2new.bbb += einsum(r2.bbb, (0, 1, 2), tmp65, (3, 4, 1, 0), (3, 4, 2)) * -2
+    del tmp65
+    r2new.bbb += einsum(tmp44, (0, 1), r2.bbb, (2, 3, 0), (2, 3, 1)) * -2
+    r2new.bbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp37, (3,), (0, 1, 2)) * -4
+    r2new.bbb += einsum(tmp66, (0, 1, 2, 3), r1.b, (2,), (1, 0, 3)) * 2
+    del tmp66
+    r2new.bbb += einsum(tmp47, (0, 1), r1.b, (2,), (2, 0, 1))
+    r2new.bbb += einsum(tmp47, (0, 1), r1.b, (2,), (0, 2, 1)) * -1
+    r2new.bab = einsum(r2.aaa, (0, 1, 2), ints.tmp118, (1, 3, 2, 4), (3, 0, 4)) * 2
+    del ints.tmp118
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp39, (3, 0, 4, 2), (3, 1, 4)) * -1
+    del tmp39
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp40, (3, 1, 4, 2), (0, 3, 4))
+    del tmp40
+    r2new.bab += einsum(tmp41, (0, 1, 2, 3), r2.bab, (3, 1, 4), (2, 0, 4))
+    del tmp41
+    r2new.bab += einsum(tmp43, (0, 1, 2), tmp42, (0, 3), (1, 3, 2)) * -2
+    del tmp43, tmp42
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp44, (2, 3), (0, 1, 3)) * -1
+    del tmp44
+    r2new.bab += einsum(t2.abab, (0, 1, 2, 3), tmp45, (2,), (1, 0, 3)) * -1
+    del tmp45
+    r2new.bab += einsum(tmp46, (0, 1, 2, 3), r1.a, (1,), (2, 0, 3))
+    del tmp46
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp1, (0, 3), (3, 1, 2)) * -1
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp0, (1, 3), (0, 3, 2)) * -1
+    r2new.bab += einsum(tmp47, (0, 1), r1.a, (2,), (0, 2, 1)) * -1
+    del tmp47
+    r2new.aba = einsum(ints.tmp56, (0, 1, 2, 3), r2.bbb, (4, 1, 3), (0, 4, 2)) * 2
+    del ints.tmp56
+    r2new.aba += einsum(tmp28, (0, 1, 2, 3), r2.aba, (4, 1, 3), (4, 0, 2)) * -1
+    del tmp28
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp29, (3, 0, 4, 2), (3, 1, 4)) * -1
+    del tmp29
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp30, (3, 0, 4, 1), (3, 4, 2))
+    del tmp30
+    r2new.aba += einsum(tmp33, (0, 1), tmp34, (0, 2, 3), (2, 1, 3)) * -2
+    del tmp33, tmp34
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp22, (2, 3), (0, 1, 3)) * -1
+    r2new.aba += einsum(t2.abab, (0, 1, 2, 3), tmp37, (3,), (0, 1, 2)) * -2
+    del tmp37
+    r2new.aba += einsum(tmp38, (0, 1, 2, 3), r1.b, (2,), (0, 1, 3))
+    del tmp38
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp1, (1, 3), (0, 3, 2)) * -1
+    r2new.aba += einsum(tmp0, (0, 1), r2.aba, (0, 2, 3), (1, 2, 3)) * -1
+    r2new.aba += einsum(tmp27, (0, 1), r1.b, (2,), (0, 2, 1)) * -1
+    r2new.aaa = np.copy(tmp12)
+    r2new.aaa += np.transpose(tmp12, (1, 0, 2)) * -1
+    del tmp12
+    r2new.aaa += tmp20 * -1
+    r2new.aaa += np.transpose(tmp20, (1, 0, 2))
+    del tmp20
+    r2new.aaa += einsum(tmp21, (0, 1, 2, 3), r2.aaa, (2, 3, 4), (0, 1, 4)) * 2
+    del tmp21
+    r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp22, (2, 3), (0, 1, 3)) * -2
+    del tmp22
+    r2new.aaa += einsum(tmp25, (0,), t2.aaaa, (1, 2, 3, 0), (1, 2, 3)) * -4
+    del tmp25
+    r2new.aaa += einsum(tmp26, (0, 1, 2, 3), r1.a, (2,), (1, 0, 3)) * 2
+    del tmp26
+    r2new.aaa += einsum(tmp27, (0, 1), r1.a, (2,), (2, 0, 1))
+    r2new.aaa += einsum(r1.a, (0,), tmp27, (1, 2), (1, 0, 2)) * -1
+    del tmp27
+    r1new.b = einsum(r2.aba, (0, 1, 2), f.aa.ov, (0, 2), (1,)) * -1
+    r1new.b += einsum(r2.aba, (0, 1, 2), ints.tmp14, (0, 3, 1, 2), (3,))
+    del ints.tmp14
+    r1new.b += einsum(ints.tmp12, (0, 1, 2, 3), r2.bbb, (1, 2, 3), (0,)) * -2
+    del ints.tmp12
+    r1new.b += einsum(r2.bbb, (0, 1, 2), f.bb.ov, (1, 2), (0,)) * 2
+    r1new.b += einsum(r1.b, (0,), tmp1, (0, 1), (1,)) * -1
+    del tmp1
+    r1new.a = einsum(r2.bab, (0, 1, 2), ints.tmp3, (3, 1, 0, 2), (3,))
+    del ints.tmp3
+    r1new.a += einsum(ints.tmp1, (0, 1, 2, 3), r2.aaa, (1, 2, 3), (0,)) * -2
+    del ints.tmp1
+    r1new.a += einsum(r2.aaa, (0, 1, 2), f.aa.ov, (1, 2), (0,)) * 2
+    r1new.a += einsum(r2.bab, (0, 1, 2), f.bb.ov, (0, 2), (1,)) * -1
+    r1new.a += einsum(r1.a, (0,), tmp0, (0, 1), (1,)) * -1
+    del tmp0
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCCD.hbar_matvec_ea_intermediates(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:53:09.014339.

+

Parameters

+

f : Namespace of arrays + Fock matrix. +t2 : Namespace of arrays + T2 amplitudes. +v : Namespace of arrays + Electron repulsion integrals.

+

Returns

+

tmp1 : array +tmp105 : array +tmp107 : array +tmp110 : array +tmp111 : array +tmp113 : array +tmp12 : array +tmp120 : array +tmp121 : array +tmp122 : array +tmp124 : array +tmp126 : array +tmp127 : array +tmp128 : array +tmp129 : array +tmp130 : array +tmp134 : array +tmp137 : array +tmp14 : array +tmp141 : array +tmp143 : array +tmp144 : array +tmp148 : array +tmp150 : array +tmp152 : array +tmp16 : array +tmp165 : array +tmp17 : array +tmp172 : array +tmp19 : array +tmp20 : array +tmp22 : array +tmp23 : array +tmp29 : array +tmp3 : array +tmp31 : array +tmp33 : array +tmp37 : array +tmp38 : array +tmp41 : array +tmp42 : array +tmp5 : array +tmp50 : array +tmp53 : array +tmp55 : array +tmp56 : array +tmp6 : array +tmp62 : array +tmp66 : array +tmp68 : array +tmp69 : array +tmp70 : array +tmp72 : array +tmp77 : array +tmp8 : array +tmp80 : array +tmp82 : array +tmp9 : array +tmp90 : array +tmp94 : array +tmp95 : array +tmp96 : array

+ +
+ Source code in ebcc/codegen/UDFCCD.py +
1445
+1446
+1447
+1448
+1449
+1450
+1451
+1452
+1453
+1454
+1455
+1456
+1457
+1458
+1459
+1460
+1461
+1462
+1463
+1464
+1465
+1466
+1467
+1468
+1469
+1470
+1471
+1472
+1473
+1474
+1475
+1476
+1477
+1478
+1479
+1480
+1481
+1482
+1483
+1484
+1485
+1486
+1487
+1488
+1489
+1490
+1491
+1492
+1493
+1494
+1495
+1496
+1497
+1498
+1499
+1500
+1501
+1502
+1503
+1504
+1505
+1506
+1507
+1508
+1509
+1510
+1511
+1512
+1513
+1514
+1515
+1516
+1517
+1518
+1519
+1520
+1521
+1522
+1523
+1524
+1525
+1526
+1527
+1528
+1529
+1530
+1531
+1532
+1533
+1534
+1535
+1536
+1537
+1538
+1539
+1540
+1541
+1542
+1543
+1544
+1545
+1546
+1547
+1548
+1549
+1550
+1551
+1552
+1553
+1554
+1555
+1556
+1557
+1558
+1559
+1560
+1561
+1562
+1563
+1564
+1565
+1566
+1567
+1568
+1569
+1570
+1571
+1572
+1573
+1574
+1575
+1576
+1577
+1578
+1579
+1580
+1581
+1582
+1583
+1584
+1585
+1586
+1587
+1588
+1589
+1590
+1591
+1592
+1593
+1594
+1595
def hbar_matvec_ea_intermediates(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:53:09.014339.
+
+    Parameters
+    ----------
+    f : Namespace of arrays
+        Fock matrix.
+    t2 : Namespace of arrays
+        T2 amplitudes.
+    v : Namespace of arrays
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp1 : array
+    tmp105 : array
+    tmp107 : array
+    tmp110 : array
+    tmp111 : array
+    tmp113 : array
+    tmp12 : array
+    tmp120 : array
+    tmp121 : array
+    tmp122 : array
+    tmp124 : array
+    tmp126 : array
+    tmp127 : array
+    tmp128 : array
+    tmp129 : array
+    tmp130 : array
+    tmp134 : array
+    tmp137 : array
+    tmp14 : array
+    tmp141 : array
+    tmp143 : array
+    tmp144 : array
+    tmp148 : array
+    tmp150 : array
+    tmp152 : array
+    tmp16 : array
+    tmp165 : array
+    tmp17 : array
+    tmp172 : array
+    tmp19 : array
+    tmp20 : array
+    tmp22 : array
+    tmp23 : array
+    tmp29 : array
+    tmp3 : array
+    tmp31 : array
+    tmp33 : array
+    tmp37 : array
+    tmp38 : array
+    tmp41 : array
+    tmp42 : array
+    tmp5 : array
+    tmp50 : array
+    tmp53 : array
+    tmp55 : array
+    tmp56 : array
+    tmp6 : array
+    tmp62 : array
+    tmp66 : array
+    tmp68 : array
+    tmp69 : array
+    tmp70 : array
+    tmp72 : array
+    tmp77 : array
+    tmp8 : array
+    tmp80 : array
+    tmp82 : array
+    tmp9 : array
+    tmp90 : array
+    tmp94 : array
+    tmp95 : array
+    tmp96 : array
+    """
+
+    tmp142 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp19 = einsum(t2.abab, (0, 1, 2, 3), v.baa.xov, (4, 0, 2), (4, 1, 3))
+    tmp12 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp16 = einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (0, 3, 4))
+    tmp112 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp41 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp37 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp1 = einsum(v.baa.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp62 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp14 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp5 = einsum(t2.aaaa, (0, 1, 2, 3), v.baa.xov, (4, 1, 3), (4, 0, 2))
+    tmp8 = einsum(t2.abab, (0, 1, 2, 3), v.bbb.xov, (4, 1, 3), (4, 0, 2))
+    tmp54 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 2, 3, 4))
+    tmp3 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp52 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 2, 3, 4))
+    tmp172 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (3, 1, 2, 4))
+    tmp165 = einsum(t2.bbbb, (0, 1, 2, 3), tmp142, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp152 = einsum(v.bbb.xvv, (0, 1, 2), tmp19, (0, 3, 4), (3, 4, 1, 2))
+    tmp150 = einsum(tmp12, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 5, 3, 1))
+    tmp148 = einsum(v.bbb.xvv, (0, 1, 2), tmp16, (0, 3, 4), (3, 4, 1, 2))
+    tmp144 = einsum(t2.abab, (0, 1, 2, 3), tmp112, (0, 4, 1, 2), (4, 3))
+    tmp143 = einsum(t2.bbbb, (0, 1, 2, 3), tmp142, (4, 0, 1, 3), (4, 2))
+    del tmp142
+    tmp141 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp137 = einsum(t2.bbbb, (0, 1, 2, 3), tmp41, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp134 = einsum(t2.abab, (0, 1, 2, 3), tmp37, (0, 4, 5, 2), (4, 1, 5, 3))
+    tmp130 = einsum(v.baa.xvv, (0, 1, 2), tmp16, (0, 3, 4), (3, 1, 2, 4))
+    tmp129 = einsum(tmp1, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 3, 1, 5))
+    tmp128 = einsum(v.baa.xvv, (0, 1, 2), tmp19, (0, 3, 4), (3, 1, 2, 4))
+    tmp127 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.ov, (1, 3), (0, 2))
+    tmp126 = einsum(t2.abab, (0, 1, 2, 3), f.aa.ov, (0, 2), (1, 3))
+    tmp124 = einsum(v.bbb.xov, (0, 1, 2), tmp19, (0, 3, 2), (3, 1))
+    tmp122 = einsum(v.bbb.xov, (0, 1, 2), tmp16, (0, 3, 2), (3, 1))
+    tmp121 = einsum(tmp19, (0, 1, 2), v.bbb.xvv, (0, 3, 2), (1, 3))
+    tmp120 = einsum(v.bbb.xvv, (0, 1, 2), tmp16, (0, 3, 2), (3, 1)) * -1
+    tmp113 = einsum(t2.abab, (0, 1, 2, 3), tmp112, (0, 4, 1, 5), (4, 2, 5, 3))
+    del tmp112
+    tmp111 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp110 = einsum(t2.abab, (0, 1, 2, 3), tmp62, (0, 4, 5, 3), (1, 4, 2, 5))
+    tmp107 = einsum(t2.abab, (0, 1, 2, 3), tmp14, (0, 4, 5, 3), (1, 2, 4, 5))
+    tmp105 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp96 = einsum(v.bbb.xvv, (0, 1, 2), tmp5, (0, 3, 4), (3, 4, 1, 2))
+    tmp95 = einsum(tmp12, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 5, 3, 1))
+    tmp94 = einsum(tmp8, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp90 = einsum(v.bbb.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (3, 4, 1, 2))
+    tmp82 = einsum(t2.abab, (0, 1, 2, 3), tmp54, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp80 = einsum(t2.abab, (0, 1, 2, 3), tmp62, (4, 1, 2, 5), (0, 4, 3, 5))
+    tmp77 = einsum(tmp3, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 5, 3))
+    tmp72 = einsum(v.baa.xov, (0, 1, 2), tmp8, (0, 3, 2), (3, 1))
+    tmp70 = einsum(v.baa.xov, (0, 1, 2), tmp5, (0, 3, 2), (3, 1))
+    tmp69 = einsum(tmp8, (0, 1, 2), v.baa.xvv, (0, 3, 2), (1, 3))
+    tmp68 = einsum(v.baa.xvv, (0, 1, 2), tmp5, (0, 3, 2), (3, 1)) * -1
+    tmp66 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (3, 1, 2, 4))
+    tmp56 = einsum(t2.aaaa, (0, 1, 2, 3), tmp52, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp55 = einsum(t2.abab, (0, 1, 2, 3), tmp54, (4, 0, 1, 3), (4, 2))
+    del tmp54
+    tmp53 = einsum(tmp52, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 3), (0, 4))
+    del tmp52
+    tmp50 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp42 = einsum(t2.abab, (0, 1, 2, 3), tmp41, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp38 = einsum(tmp37, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 5, 2))
+    tmp33 = einsum(tmp8, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp31 = einsum(t2.aaaa, (0, 1, 2, 3), tmp1, (1, 4, 3, 5), (0, 2, 5, 4))
+    tmp29 = einsum(tmp5, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp23 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp22 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp20 = einsum(tmp19, (0, 1, 2), v.bbb.xov, (0, 1, 3), (2, 3))
+    tmp17 = einsum(v.bbb.xov, (0, 1, 2), tmp16, (0, 1, 3), (3, 2))
+    tmp9 = einsum(tmp8, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    tmp6 = einsum(tmp5, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+
+    return {f"tmp1": tmp1, f"tmp105": tmp105, f"tmp107": tmp107, f"tmp110": tmp110, f"tmp111": tmp111, f"tmp113": tmp113, f"tmp12": tmp12, f"tmp120": tmp120, f"tmp121": tmp121, f"tmp122": tmp122, f"tmp124": tmp124, f"tmp126": tmp126, f"tmp127": tmp127, f"tmp128": tmp128, f"tmp129": tmp129, f"tmp130": tmp130, f"tmp134": tmp134, f"tmp137": tmp137, f"tmp14": tmp14, f"tmp141": tmp141, f"tmp143": tmp143, f"tmp144": tmp144, f"tmp148": tmp148, f"tmp150": tmp150, f"tmp152": tmp152, f"tmp16": tmp16, f"tmp165": tmp165, f"tmp17": tmp17, f"tmp172": tmp172, f"tmp19": tmp19, f"tmp20": tmp20, f"tmp22": tmp22, f"tmp23": tmp23, f"tmp29": tmp29, f"tmp3": tmp3, f"tmp31": tmp31, f"tmp33": tmp33, f"tmp37": tmp37, f"tmp38": tmp38, f"tmp41": tmp41, f"tmp42": tmp42, f"tmp5": tmp5, f"tmp50": tmp50, f"tmp53": tmp53, f"tmp55": tmp55, f"tmp56": tmp56, f"tmp6": tmp6, f"tmp62": tmp62, f"tmp66": tmp66, f"tmp68": tmp68, f"tmp69": tmp69, f"tmp70": tmp70, f"tmp72": tmp72, f"tmp77": tmp77, f"tmp8": tmp8, f"tmp80": tmp80, f"tmp82": tmp82, f"tmp9": tmp9, f"tmp90": tmp90, f"tmp94": tmp94, f"tmp95": tmp95, f"tmp96": tmp96}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCCD.hbar_matvec_ea(f=None, r1=None, r2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:53:09.065296.

+

Parameters

+

f : Namespace of arrays + Fock matrix. +r1 : Namespace of arrays + R1 amplitudes. +r2 : Namespace of arrays + R2 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.

+ +
+ Source code in ebcc/codegen/UDFCCD.py +
1597
+1598
+1599
+1600
+1601
+1602
+1603
+1604
+1605
+1606
+1607
+1608
+1609
+1610
+1611
+1612
+1613
+1614
+1615
+1616
+1617
+1618
+1619
+1620
+1621
+1622
+1623
+1624
+1625
+1626
+1627
+1628
+1629
+1630
+1631
+1632
+1633
+1634
+1635
+1636
+1637
+1638
+1639
+1640
+1641
+1642
+1643
+1644
+1645
+1646
+1647
+1648
+1649
+1650
+1651
+1652
+1653
+1654
+1655
+1656
+1657
+1658
+1659
+1660
+1661
+1662
+1663
+1664
+1665
+1666
+1667
+1668
+1669
+1670
+1671
+1672
+1673
+1674
+1675
+1676
+1677
+1678
+1679
+1680
+1681
+1682
+1683
+1684
+1685
+1686
+1687
+1688
+1689
+1690
+1691
+1692
+1693
+1694
+1695
+1696
+1697
+1698
+1699
+1700
+1701
+1702
+1703
+1704
+1705
+1706
+1707
+1708
+1709
+1710
+1711
+1712
+1713
+1714
+1715
+1716
+1717
+1718
+1719
+1720
+1721
+1722
+1723
+1724
+1725
+1726
+1727
+1728
+1729
+1730
+1731
+1732
+1733
+1734
+1735
+1736
+1737
+1738
+1739
+1740
+1741
+1742
+1743
+1744
+1745
+1746
+1747
+1748
+1749
+1750
+1751
+1752
+1753
+1754
+1755
+1756
+1757
+1758
+1759
+1760
+1761
+1762
+1763
+1764
+1765
+1766
+1767
+1768
+1769
+1770
+1771
+1772
+1773
+1774
+1775
+1776
+1777
+1778
+1779
+1780
+1781
+1782
+1783
+1784
+1785
+1786
+1787
+1788
+1789
+1790
+1791
+1792
+1793
+1794
+1795
+1796
+1797
+1798
+1799
+1800
+1801
+1802
+1803
+1804
+1805
+1806
+1807
+1808
+1809
+1810
+1811
+1812
+1813
+1814
+1815
+1816
+1817
+1818
+1819
+1820
+1821
+1822
+1823
+1824
+1825
+1826
+1827
+1828
+1829
+1830
+1831
+1832
+1833
+1834
+1835
+1836
+1837
+1838
+1839
+1840
+1841
+1842
+1843
+1844
+1845
+1846
+1847
+1848
+1849
+1850
+1851
+1852
+1853
+1854
+1855
+1856
+1857
+1858
+1859
+1860
+1861
+1862
+1863
+1864
+1865
+1866
+1867
+1868
+1869
+1870
+1871
+1872
+1873
+1874
+1875
+1876
+1877
+1878
+1879
+1880
+1881
+1882
+1883
+1884
+1885
+1886
+1887
+1888
+1889
+1890
+1891
+1892
+1893
+1894
+1895
+1896
+1897
+1898
+1899
+1900
+1901
+1902
+1903
+1904
+1905
+1906
+1907
+1908
+1909
+1910
+1911
+1912
+1913
+1914
+1915
+1916
+1917
+1918
+1919
+1920
+1921
+1922
+1923
+1924
+1925
+1926
+1927
+1928
+1929
+1930
+1931
+1932
+1933
+1934
+1935
+1936
+1937
+1938
+1939
+1940
+1941
def hbar_matvec_ea(f=None, r1=None, r2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:53:09.065296.
+
+    Parameters
+    ----------
+    f : Namespace of arrays
+        Fock matrix.
+    r1 : Namespace of arrays
+        R1 amplitudes.
+    r2 : Namespace of arrays
+        R2 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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp7 = einsum(r2.bab, (0, 1, 2), v.bbb.xov, (3, 2, 0), (3, 1)) * -1
+    tmp6 = einsum(r2.aaa, (0, 1, 2), v.baa.xov, (3, 2, 1), (3, 0))
+    tmp30 = einsum(r2.aba, (0, 1, 2), v.baa.xov, (3, 2, 0), (3, 1))
+    tmp59 = np.copy(ints.tmp19)
+    tmp59 += ints.tmp16 * 2
+    tmp31 = einsum(r2.bbb, (0, 1, 2), v.bbb.xov, (3, 2, 1), (3, 0))
+    tmp40 = np.copy(ints.tmp111)
+    del ints.tmp111
+    tmp40 += ints.tmp137 * 2
+    del ints.tmp137
+    tmp61 = np.copy(ints.tmp12)
+    tmp61 += ints.tmp150 * 2
+    del ints.tmp150
+    tmp54 = np.copy(ints.tmp148)
+    del ints.tmp148
+    tmp54 += ints.tmp152 * 0.5
+    del ints.tmp152
+    tmp44 = np.copy(np.transpose(ints.tmp17, (1, 0)))
+    tmp44 += np.transpose(ints.tmp20, (1, 0)) * 0.5
+    tmp44 += f.bb.vv * -0.5
+    tmp51 = np.copy(ints.tmp16) * 2
+    tmp51 += ints.tmp19
+    tmp16 = np.copy(np.transpose(ints.tmp6, (1, 0)))
+    tmp16 += np.transpose(ints.tmp9, (1, 0)) * 0.5
+    tmp16 += f.aa.vv * -0.5
+    tmp14 = np.copy(ints.tmp5) * 2
+    tmp14 += ints.tmp8
+    tmp13 = np.copy(tmp6)
+    tmp13 += tmp7 * 0.5
+    tmp18 = np.copy(ints.tmp29)
+    del ints.tmp29
+    tmp18 += ints.tmp33 * 0.5
+    del ints.tmp33
+    tmp4 = np.copy(ints.tmp50)
+    tmp4 += ints.tmp38 * 2
+    tmp8 = np.copy(tmp6) * 2
+    del tmp6
+    tmp8 += tmp7
+    del tmp7
+    tmp10 = np.copy(ints.tmp1)
+    tmp10 += ints.tmp31 * 2
+    del ints.tmp31
+    tmp35 = einsum(r1.b, (0,), f.bb.ov, (1, 0), (1,))
+    tmp37 = einsum(ints.tmp41, (0, 1, 2, 3), r2.bbb, (3, 2, 0), (1,)) * -1
+    tmp36 = einsum(r2.aba, (0, 1, 2), ints.tmp62, (2, 3, 0, 1), (3,))
+    tmp60 = einsum(tmp30, (0, 1), tmp59, (0, 2, 3), (2, 1, 3))
+    del tmp59
+    tmp57 = einsum(tmp31, (0, 1), v.bbb.xov, (0, 2, 3), (2, 1, 3))
+    tmp58 = einsum(tmp40, (0, 1, 2, 3), r2.bbb, (4, 3, 1), (0, 4, 2)) * -1
+    tmp62 = einsum(r1.b, (0,), tmp61, (1, 2, 0, 3), (1, 2, 3))
+    del tmp61
+    tmp55 = einsum(r1.b, (0,), tmp54, (1, 2, 0, 3), (1, 2, 3)) * 2
+    del tmp54
+    tmp50 = einsum(tmp30, (0, 1), v.bbb.xov, (0, 2, 3), (2, 1, 3))
+    tmp53 = einsum(tmp44, (0, 1), r2.bbb, (2, 0, 3), (3, 2, 1)) * -4
+    tmp49 = einsum(ints.tmp134, (0, 1, 2, 3), r2.aba, (2, 4, 0), (1, 3, 4))
+    tmp52 = einsum(tmp31, (0, 1), tmp51, (0, 2, 3), (2, 1, 3)) * 2
+    del tmp51
+    tmp22 = einsum(ints.tmp37, (0, 1, 2, 3), r2.aaa, (3, 2, 0), (1,)) * -1
+    tmp23 = einsum(r2.bab, (0, 1, 2), ints.tmp62, (3, 2, 1, 0), (3,)) * -1
+    tmp21 = einsum(r1.a, (0,), f.aa.ov, (1, 0), (1,))
+    tmp17 = einsum(tmp16, (0, 1), r2.aaa, (2, 0, 3), (3, 2, 1)) * -4
+    del tmp16
+    tmp15 = einsum(tmp14, (0, 1, 2), tmp13, (0, 3), (1, 2, 3)) * 2
+    del tmp14
+    tmp19 = einsum(tmp18, (0, 1, 2, 3), r1.a, (2,), (0, 1, 3)) * 2
+    del tmp18
+    tmp3 = einsum(ints.tmp42, (0, 1, 2, 3), r2.bab, (3, 4, 1), (0, 2, 4)) * -1
+    tmp5 = einsum(tmp4, (0, 1, 2, 3), r2.aaa, (4, 3, 1), (0, 4, 2)) * -1
+    del tmp4
+    tmp9 = einsum(tmp8, (0, 1), v.baa.xov, (0, 2, 3), (2, 3, 1))
+    del tmp8
+    tmp11 = einsum(r1.a, (0,), tmp10, (1, 2, 0, 3), (1, 2, 3))
+    del tmp10
+    tmp48 = einsum(ints.tmp41, (0, 1, 2, 3), r2.bbb, (2, 3, 4), (0, 1, 4))
+    del ints.tmp41
+    tmp46 = np.copy(f.bb.oo)
+    tmp46 += np.transpose(ints.tmp122, (1, 0)) * 2
+    del ints.tmp122
+    tmp46 += np.transpose(ints.tmp124, (1, 0))
+    del ints.tmp124
+    tmp47 = np.copy(f.bb.ov)
+    tmp47 += ints.tmp121
+    del ints.tmp121
+    tmp47 += ints.tmp126
+    del ints.tmp126
+    tmp47 += ints.tmp127 * 2
+    del ints.tmp127
+    tmp47 += ints.tmp120 * -2
+    del ints.tmp120
+    tmp47 += ints.tmp143 * -2
+    del ints.tmp143
+    tmp47 += ints.tmp144 * -1
+    del ints.tmp144
+    tmp38 = np.copy(tmp35) * -1
+    del tmp35
+    tmp38 += tmp36
+    del tmp36
+    tmp38 += tmp37 * 2
+    del tmp37
+    tmp63 = np.copy(tmp57) * 2
+    del tmp57
+    tmp63 += np.transpose(tmp58, (0, 2, 1)) * -2
+    del tmp58
+    tmp63 += np.transpose(tmp60, (0, 2, 1))
+    del tmp60
+    tmp63 += tmp62
+    del tmp62
+    tmp56 = np.copy(tmp49)
+    del tmp49
+    tmp56 += tmp50
+    del tmp50
+    tmp56 += np.transpose(tmp52, (0, 2, 1))
+    del tmp52
+    tmp56 += np.transpose(tmp53, (0, 2, 1))
+    del tmp53
+    tmp56 += tmp55
+    del tmp55
+    tmp42 = np.copy(ints.tmp16) * 2
+    del ints.tmp16
+    tmp42 += ints.tmp19
+    del ints.tmp19
+    tmp42 += v.bbb.xov
+    tmp39 = einsum(r2.bab, (0, 1, 2), ints.tmp62, (3, 4, 1, 0), (3, 4, 2)) * -1
+    tmp0 = np.copy(np.transpose(ints.tmp6, (1, 0))) * 2
+    del ints.tmp6
+    tmp0 += np.transpose(ints.tmp9, (1, 0))
+    del ints.tmp9
+    tmp0 += f.aa.vv * -1
+    tmp45 = np.copy(tmp21) * 0.5
+    tmp45 += tmp22 * -1
+    tmp45 += tmp23 * 0.5
+    tmp41 = np.copy(ints.tmp110)
+    del ints.tmp110
+    tmp41 += ints.tmp141 * -1
+    del ints.tmp141
+    tmp43 = np.copy(ints.tmp113)
+    del ints.tmp113
+    tmp43 += np.transpose(ints.tmp128, (0, 2, 1, 3))
+    del ints.tmp128
+    tmp43 += np.transpose(ints.tmp130, (0, 2, 1, 3)) * 2
+    del ints.tmp130
+    tmp43 += ints.tmp3
+    tmp43 += ints.tmp107 * -1
+    del ints.tmp107
+    tmp43 += np.transpose(ints.tmp129, (0, 2, 1, 3)) * -1
+    del ints.tmp129
+    tmp26 = np.copy(f.aa.ov)
+    tmp26 += ints.tmp22 * 2
+    del ints.tmp22
+    tmp26 += ints.tmp23
+    del ints.tmp23
+    tmp26 += ints.tmp69
+    del ints.tmp69
+    tmp26 += ints.tmp53 * -2
+    del ints.tmp53
+    tmp26 += ints.tmp55 * -1
+    del ints.tmp55
+    tmp26 += ints.tmp68 * -2
+    del ints.tmp68
+    tmp29 = np.copy(ints.tmp38) * 2
+    del ints.tmp38
+    tmp29 += ints.tmp50
+    del ints.tmp50
+    tmp33 = np.copy(ints.tmp8)
+    del ints.tmp8
+    tmp33 += v.baa.xov
+    tmp33 += ints.tmp5 * 2
+    del ints.tmp5
+    tmp28 = np.copy(ints.tmp105)
+    del ints.tmp105
+    tmp28 += ints.tmp80 * -1
+    del ints.tmp80
+    tmp32 = np.copy(tmp30) * -1
+    del tmp30
+    tmp32 += tmp31 * 2
+    del tmp31
+    tmp34 = np.copy(ints.tmp14)
+    tmp34 += ints.tmp82
+    del ints.tmp82
+    tmp34 += np.transpose(ints.tmp94, (0, 1, 3, 2))
+    del ints.tmp94
+    tmp34 += np.transpose(ints.tmp96, (0, 1, 3, 2)) * 2
+    del ints.tmp96
+    tmp34 += ints.tmp77 * -1
+    del ints.tmp77
+    tmp34 += np.transpose(ints.tmp95, (0, 1, 3, 2)) * -1
+    del ints.tmp95
+    tmp1 = np.copy(np.transpose(ints.tmp17, (1, 0))) * 2
+    del ints.tmp17
+    tmp1 += np.transpose(ints.tmp20, (1, 0))
+    del ints.tmp20
+    tmp1 += f.bb.vv * -1
+    tmp25 = np.copy(f.aa.oo)
+    tmp25 += np.transpose(ints.tmp70, (1, 0)) * 2
+    del ints.tmp70
+    tmp25 += np.transpose(ints.tmp72, (1, 0))
+    del ints.tmp72
+    tmp27 = einsum(r2.aba, (0, 1, 2), ints.tmp62, (3, 4, 0, 1), (3, 2, 4))
+    del ints.tmp62
+    tmp20 = np.copy(tmp15)
+    del tmp15
+    tmp20 += np.transpose(tmp17, (0, 2, 1))
+    del tmp17
+    tmp20 += tmp19
+    del tmp19
+    tmp2 = einsum(r2.aaa, (0, 1, 2), ints.tmp37, (3, 4, 1, 0), (3, 4, 2)) * -1
+    del ints.tmp37
+    tmp12 = np.copy(tmp3)
+    del tmp3
+    tmp12 += np.transpose(tmp5, (0, 2, 1)) * -2
+    del tmp5
+    tmp12 += np.transpose(tmp9, (0, 2, 1))
+    del tmp9
+    tmp12 += tmp11
+    del tmp11
+    tmp24 = np.copy(tmp21)
+    del tmp21
+    tmp24 += tmp22 * -2
+    del tmp22
+    tmp24 += tmp23
+    del tmp23
+    r2new.bbb = einsum(t2.bbbb, (0, 1, 2, 3), tmp48, (0, 1, 4), (2, 3, 4)) * 2
+    del tmp48
+    r2new.bbb += einsum(r1.b, (0,), ints.tmp165, (1, 2, 3, 0), (3, 2, 1)) * 2
+    del ints.tmp165
+    r2new.bbb += einsum(ints.tmp172, (0, 1, 2, 3), r2.bbb, (1, 3, 4), (0, 2, 4)) * -2
+    del ints.tmp172
+    r2new.bbb += np.transpose(tmp56, (1, 2, 0)) * -1
+    r2new.bbb += np.transpose(tmp56, (2, 1, 0))
+    del tmp56
+    r2new.bbb += np.transpose(tmp63, (1, 2, 0))
+    r2new.bbb += np.transpose(tmp63, (2, 1, 0)) * -1
+    del tmp63
+    r2new.bbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp38, (1,), (2, 3, 0)) * -2
+    r2new.bbb += einsum(tmp46, (0, 1), r2.bbb, (2, 3, 0), (2, 3, 1)) * -2
+    r2new.bbb += einsum(r1.b, (0,), tmp47, (1, 2), (0, 2, 1))
+    r2new.bbb += einsum(tmp47, (0, 1), r1.b, (2,), (1, 2, 0)) * -1
+    r2new.bab = einsum(t2.abab, (0, 1, 2, 3), tmp39, (0, 1, 4), (3, 2, 4)) * -1
+    del tmp39
+    r2new.bab += einsum(r2.bab, (0, 1, 2), ints.tmp90, (3, 1, 4, 0), (4, 3, 2))
+    r2new.bab += einsum(ints.tmp134, (0, 1, 2, 3), r2.aaa, (4, 2, 0), (3, 4, 1)) * 2
+    del ints.tmp134
+    r2new.bab += einsum(tmp40, (0, 1, 2, 3), r2.bab, (3, 4, 1), (2, 4, 0)) * -1
+    del tmp40
+    r2new.bab += einsum(tmp41, (0, 1, 2, 3), r2.bab, (4, 3, 1), (4, 2, 0))
+    del tmp41
+    r2new.bab += einsum(tmp13, (0, 1), tmp42, (0, 2, 3), (3, 1, 2)) * -2
+    del tmp13, tmp42
+    r2new.bab += einsum(r1.a, (0,), tmp43, (1, 2, 0, 3), (3, 2, 1)) * -1
+    del tmp43
+    r2new.bab += einsum(tmp0, (0, 1), r2.bab, (2, 0, 3), (2, 1, 3)) * -1
+    r2new.bab += einsum(tmp44, (0, 1), r2.bab, (0, 2, 3), (1, 2, 3)) * -2
+    del tmp44
+    r2new.bab += einsum(t2.abab, (0, 1, 2, 3), tmp45, (0,), (3, 2, 1)) * 2
+    del tmp45
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp46, (2, 3), (0, 1, 3)) * -1
+    del tmp46
+    r2new.bab += einsum(r1.a, (0,), tmp47, (1, 2), (2, 0, 1)) * -1
+    del tmp47
+    r2new.aba = einsum(r2.aba, (0, 1, 2), ints.tmp90, (3, 0, 4, 1), (3, 4, 2))
+    del ints.tmp90
+    r2new.aba += einsum(t2.abab, (0, 1, 2, 3), tmp27, (0, 4, 1), (2, 3, 4))
+    del tmp27
+    r2new.aba += einsum(r2.bbb, (0, 1, 2), ints.tmp42, (3, 2, 4, 1), (4, 0, 3)) * 2
+    del ints.tmp42
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp28, (3, 2, 4, 1), (0, 4, 3)) * -1
+    del tmp28
+    r2new.aba += einsum(tmp29, (0, 1, 2, 3), r2.aba, (3, 4, 1), (2, 4, 0)) * -1
+    del tmp29
+    r2new.aba += einsum(tmp33, (0, 1, 2), tmp32, (0, 3), (2, 3, 1)) * -1
+    del tmp33, tmp32
+    r2new.aba += einsum(tmp34, (0, 1, 2, 3), r1.b, (3,), (1, 2, 0)) * -1
+    del tmp34
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp0, (0, 3), (3, 1, 2)) * -1
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp1, (1, 3), (0, 3, 2)) * -1
+    r2new.aba += einsum(t2.abab, (0, 1, 2, 3), tmp38, (1,), (2, 3, 0)) * -1
+    del tmp38
+    r2new.aba += einsum(tmp25, (0, 1), r2.aba, (2, 3, 0), (2, 3, 1)) * -1
+    r2new.aba += einsum(r1.b, (0,), tmp26, (1, 2), (2, 0, 1)) * -1
+    r2new.aaa = einsum(t2.aaaa, (0, 1, 2, 3), tmp2, (0, 1, 4), (2, 3, 4)) * 2
+    del tmp2
+    r2new.aaa += einsum(ints.tmp56, (0, 1, 2, 3), r1.a, (3,), (2, 1, 0)) * 2
+    del ints.tmp56
+    r2new.aaa += einsum(ints.tmp66, (0, 1, 2, 3), r2.aaa, (3, 1, 4), (0, 2, 4)) * 2
+    del ints.tmp66
+    r2new.aaa += np.transpose(tmp12, (1, 2, 0))
+    r2new.aaa += np.transpose(tmp12, (2, 1, 0)) * -1
+    del tmp12
+    r2new.aaa += np.transpose(tmp20, (1, 2, 0)) * -1
+    r2new.aaa += np.transpose(tmp20, (2, 1, 0))
+    del tmp20
+    r2new.aaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp24, (1,), (2, 3, 0)) * 2
+    del tmp24
+    r2new.aaa += einsum(tmp25, (0, 1), r2.aaa, (2, 3, 0), (2, 3, 1)) * -2
+    del tmp25
+    r2new.aaa += einsum(r1.a, (0,), tmp26, (1, 2), (0, 2, 1))
+    r2new.aaa += einsum(r1.a, (0,), tmp26, (1, 2), (2, 0, 1)) * -1
+    del tmp26
+    r1new.b = einsum(r2.aba, (0, 1, 2), f.aa.ov, (2, 0), (1,)) * -1
+    r1new.b += einsum(ints.tmp12, (0, 1, 2, 3), r2.bbb, (3, 2, 0), (1,)) * -2
+    del ints.tmp12
+    r1new.b += einsum(r2.bbb, (0, 1, 2), f.bb.ov, (2, 1), (0,)) * 2
+    r1new.b += einsum(r2.aba, (0, 1, 2), ints.tmp14, (2, 0, 3, 1), (3,)) * -1
+    del ints.tmp14
+    r1new.b += einsum(r1.b, (0,), tmp1, (0, 1), (1,)) * -1
+    del tmp1
+    r1new.a = einsum(ints.tmp1, (0, 1, 2, 3), r2.aaa, (2, 3, 0), (1,)) * 2
+    del ints.tmp1
+    r1new.a += einsum(f.bb.ov, (0, 1), r2.bab, (1, 2, 0), (2,)) * -1
+    r1new.a += einsum(ints.tmp3, (0, 1, 2, 3), r2.bab, (3, 2, 0), (1,)) * -1
+    del ints.tmp3
+    r1new.a += einsum(r2.aaa, (0, 1, 2), f.aa.ov, (2, 1), (0,)) * 2
+    r1new.a += einsum(r1.a, (0,), tmp0, (0, 1), (1,)) * -1
+    del tmp0
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCCD.hbar_lmatvec_ip_intermediates(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:53:56.142043.

+

Parameters

+

f : Namespace of arrays + Fock matrix. +t2 : Namespace of arrays + T2 amplitudes. +v : Namespace of arrays + Electron repulsion integrals.

+

Returns

+

tmp1 : array +tmp10 : array +tmp100 : array +tmp104 : array +tmp105 : array +tmp107 : array +tmp12 : array +tmp125 : array +tmp127 : array +tmp130 : array +tmp132 : array +tmp14 : array +tmp146 : array +tmp153 : array +tmp157 : array +tmp16 : array +tmp161 : array +tmp162 : array +tmp163 : array +tmp165 : array +tmp166 : array +tmp168 : array +tmp17 : array +tmp181 : array +tmp183 : array +tmp185 : array +tmp186 : array +tmp19 : array +tmp20 : array +tmp202 : array +tmp204 : array +tmp22 : array +tmp24 : array +tmp25 : array +tmp27 : array +tmp28 : array +tmp3 : array +tmp30 : array +tmp32 : array +tmp34 : array +tmp35 : array +tmp37 : array +tmp38 : array +tmp39 : array +tmp4 : array +tmp40 : array +tmp42 : array +tmp43 : array +tmp45 : array +tmp47 : array +tmp49 : array +tmp51 : array +tmp54 : array +tmp57 : array +tmp6 : array +tmp63 : array +tmp65 : array +tmp69 : array +tmp71 : array +tmp77 : array +tmp78 : array +tmp8 : array +tmp80 : array +tmp81 : array +tmp83 : array +tmp84 : array +tmp86 : array +tmp93 : array +tmp96 : array

+ +
+ Source code in ebcc/codegen/UDFCCD.py +
1943
+1944
+1945
+1946
+1947
+1948
+1949
+1950
+1951
+1952
+1953
+1954
+1955
+1956
+1957
+1958
+1959
+1960
+1961
+1962
+1963
+1964
+1965
+1966
+1967
+1968
+1969
+1970
+1971
+1972
+1973
+1974
+1975
+1976
+1977
+1978
+1979
+1980
+1981
+1982
+1983
+1984
+1985
+1986
+1987
+1988
+1989
+1990
+1991
+1992
+1993
+1994
+1995
+1996
+1997
+1998
+1999
+2000
+2001
+2002
+2003
+2004
+2005
+2006
+2007
+2008
+2009
+2010
+2011
+2012
+2013
+2014
+2015
+2016
+2017
+2018
+2019
+2020
+2021
+2022
+2023
+2024
+2025
+2026
+2027
+2028
+2029
+2030
+2031
+2032
+2033
+2034
+2035
+2036
+2037
+2038
+2039
+2040
+2041
+2042
+2043
+2044
+2045
+2046
+2047
+2048
+2049
+2050
+2051
+2052
+2053
+2054
+2055
+2056
+2057
+2058
+2059
+2060
+2061
+2062
+2063
+2064
+2065
+2066
+2067
+2068
+2069
+2070
+2071
+2072
+2073
+2074
+2075
+2076
+2077
+2078
+2079
+2080
+2081
+2082
+2083
+2084
+2085
+2086
+2087
+2088
+2089
+2090
+2091
+2092
+2093
+2094
+2095
+2096
+2097
+2098
+2099
+2100
+2101
+2102
+2103
+2104
+2105
+2106
+2107
def hbar_lmatvec_ip_intermediates(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:53:56.142043.
+
+    Parameters
+    ----------
+    f : Namespace of arrays
+        Fock matrix.
+    t2 : Namespace of arrays
+        T2 amplitudes.
+    v : Namespace of arrays
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp1 : array
+    tmp10 : array
+    tmp100 : array
+    tmp104 : array
+    tmp105 : array
+    tmp107 : array
+    tmp12 : array
+    tmp125 : array
+    tmp127 : array
+    tmp130 : array
+    tmp132 : array
+    tmp14 : array
+    tmp146 : array
+    tmp153 : array
+    tmp157 : array
+    tmp16 : array
+    tmp161 : array
+    tmp162 : array
+    tmp163 : array
+    tmp165 : array
+    tmp166 : array
+    tmp168 : array
+    tmp17 : array
+    tmp181 : array
+    tmp183 : array
+    tmp185 : array
+    tmp186 : array
+    tmp19 : array
+    tmp20 : array
+    tmp202 : array
+    tmp204 : array
+    tmp22 : array
+    tmp24 : array
+    tmp25 : array
+    tmp27 : array
+    tmp28 : array
+    tmp3 : array
+    tmp30 : array
+    tmp32 : array
+    tmp34 : array
+    tmp35 : array
+    tmp37 : array
+    tmp38 : array
+    tmp39 : array
+    tmp4 : array
+    tmp40 : array
+    tmp42 : array
+    tmp43 : array
+    tmp45 : array
+    tmp47 : array
+    tmp49 : array
+    tmp51 : array
+    tmp54 : array
+    tmp57 : array
+    tmp6 : array
+    tmp63 : array
+    tmp65 : array
+    tmp69 : array
+    tmp71 : array
+    tmp77 : array
+    tmp78 : array
+    tmp8 : array
+    tmp80 : array
+    tmp81 : array
+    tmp83 : array
+    tmp84 : array
+    tmp86 : array
+    tmp93 : array
+    tmp96 : array
+    """
+
+    tmp165 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp146 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp37 = einsum(t2.abab, (0, 1, 2, 3), v.baa.xov, (4, 0, 2), (4, 1, 3))
+    tmp42 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbb.xov, (4, 1, 3), (4, 0, 2))
+    tmp19 = einsum(t2.abab, (0, 1, 2, 3), v.bbb.xov, (4, 1, 3), (4, 0, 2))
+    tmp16 = einsum(t2.aaaa, (0, 1, 2, 3), v.baa.xov, (4, 1, 3), (4, 0, 2))
+    tmp104 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp95 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp92 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp14 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 2, 3, 4))
+    tmp24 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp56 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp53 = einsum(v.baa.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp27 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp12 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 2, 3, 4))
+    tmp204 = einsum(t2.bbbb, (0, 1, 2, 3), tmp165, (4, 5, 3, 2), (0, 1, 4, 5)) * -1
+    tmp202 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 1, 2, 4))
+    tmp186 = einsum(t2.abab, (0, 1, 2, 3), tmp146, (4, 1, 2, 5), (0, 4, 3, 5))
+    tmp185 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp183 = einsum(tmp37, (0, 1, 2), v.bbb.xov, (0, 1, 3), (2, 3))
+    tmp181 = einsum(tmp42, (0, 1, 2), v.bbb.xov, (0, 1, 3), (2, 3))
+    tmp168 = einsum(t2.bbbb, (0, 1, 2, 3), tmp165, (4, 1, 3, 5), (0, 4, 2, 5))
+    tmp166 = einsum(t2.abab, (0, 1, 2, 3), tmp165, (4, 1, 3, 5), (0, 4, 2, 5))
+    tmp163 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp162 = einsum(t2.abab, (0, 1, 2, 3), tmp146, (0, 4, 5, 3), (1, 4, 2, 5))
+    tmp161 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp157 = einsum(t2.abab, (0, 1, 2, 3), tmp146, (4, 5, 2, 3), (0, 4, 1, 5))
+    tmp153 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 2, 3, 4))
+    tmp132 = einsum(v.baa.xov, (0, 1, 2), tmp19, (0, 1, 3), (3, 2))
+    tmp130 = einsum(tmp16, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    tmp127 = einsum(tmp104, (0, 1, 2, 3), t2.aaaa, (4, 5, 3, 2), (4, 5, 0, 1)) * -1
+    tmp125 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 1, 2, 4))
+    tmp107 = einsum(t2.abab, (0, 1, 2, 3), tmp104, (4, 0, 2, 5), (4, 1, 5, 3))
+    tmp105 = einsum(tmp104, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 2), (4, 0, 5, 3))
+    tmp100 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp96 = einsum(tmp95, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 5, 0, 2))
+    del tmp95
+    tmp93 = einsum(tmp92, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2)) * -1
+    del tmp92
+    tmp86 = einsum(v.bbb.xoo, (0, 1, 2), tmp37, (0, 3, 4), (3, 1, 2, 4))
+    tmp84 = einsum(tmp16, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp83 = einsum(tmp14, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 4, 2, 5))
+    tmp81 = einsum(v.bbb.xoo, (0, 1, 2), tmp42, (0, 3, 4), (3, 1, 2, 4))
+    tmp80 = einsum(v.bbb.xoo, (0, 1, 2), tmp19, (0, 3, 4), (3, 1, 2, 4))
+    tmp78 = einsum(t2.bbbb, (0, 1, 2, 3), tmp24, (1, 4, 5, 3), (0, 4, 5, 2))
+    tmp77 = einsum(tmp24, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 2, 5))
+    tmp71 = einsum(v.bbb.xov, (0, 1, 2), tmp37, (0, 3, 2), (3, 1))
+    tmp69 = einsum(tmp42, (0, 1, 2), v.bbb.xov, (0, 3, 2), (1, 3))
+    tmp65 = einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp63 = einsum(t2.abab, (0, 1, 2, 3), f.bb.ov, (4, 3), (0, 4, 1, 2))
+    tmp57 = einsum(tmp56, (0, 1, 2, 3), t2.abab, (4, 5, 1, 2), (4, 0, 5, 3))
+    del tmp56
+    tmp54 = einsum(t2.aaaa, (0, 1, 2, 3), tmp53, (4, 2, 5, 3), (0, 1, 4, 5)) * -1
+    del tmp53
+    tmp51 = einsum(v.baa.xvv, (0, 1, 2), tmp19, (0, 3, 2), (3, 1))
+    tmp49 = einsum(v.bbb.xvv, (0, 1, 2), tmp37, (0, 3, 2), (3, 1))
+    tmp47 = einsum(v.bbb.xvv, (0, 1, 2), tmp42, (0, 3, 2), (3, 1)) * -1
+    tmp45 = einsum(v.baa.xvv, (0, 1, 2), tmp16, (0, 3, 2), (3, 1)) * -1
+    tmp43 = einsum(tmp42, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp40 = einsum(v.baa.xoo, (0, 1, 2), tmp19, (0, 3, 4), (3, 1, 2, 4))
+    tmp39 = einsum(t2.abab, (0, 1, 2, 3), tmp27, (4, 5, 1, 2), (0, 4, 5, 3))
+    tmp38 = einsum(tmp37, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp35 = einsum(v.baa.xoo, (0, 1, 2), tmp16, (0, 3, 4), (3, 1, 2, 4))
+    tmp34 = einsum(t2.abab, (0, 1, 2, 3), tmp12, (0, 4, 5, 2), (4, 5, 1, 3))
+    tmp32 = einsum(t2.aaaa, (0, 1, 2, 3), tmp12, (4, 1, 5, 3), (0, 4, 5, 2))
+    tmp30 = einsum(tmp14, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (1, 4))
+    tmp28 = einsum(t2.abab, (0, 1, 2, 3), tmp27, (0, 4, 1, 2), (4, 3))
+    tmp25 = einsum(t2.bbbb, (0, 1, 2, 3), tmp24, (4, 0, 1, 3), (4, 2))
+    tmp22 = einsum(t2.aaaa, (0, 1, 2, 3), tmp12, (0, 4, 1, 3), (4, 2))
+    tmp20 = einsum(v.baa.xov, (0, 1, 2), tmp19, (0, 3, 2), (3, 1))
+    tmp17 = einsum(v.baa.xov, (0, 1, 2), tmp16, (0, 3, 2), (3, 1))
+    tmp10 = einsum(t2.abab, (0, 1, 2, 3), f.aa.ov, (4, 2), (4, 0, 1, 3))
+    tmp8 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp6 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.ov, (1, 3), (0, 2))
+    tmp4 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp3 = einsum(t2.abab, (0, 1, 2, 3), f.aa.ov, (0, 2), (1, 3))
+    tmp1 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+
+    return {f"tmp1": tmp1, f"tmp10": tmp10, f"tmp100": tmp100, f"tmp104": tmp104, f"tmp105": tmp105, f"tmp107": tmp107, f"tmp12": tmp12, f"tmp125": tmp125, f"tmp127": tmp127, f"tmp130": tmp130, f"tmp132": tmp132, f"tmp14": tmp14, f"tmp146": tmp146, f"tmp153": tmp153, f"tmp157": tmp157, f"tmp16": tmp16, f"tmp161": tmp161, f"tmp162": tmp162, f"tmp163": tmp163, f"tmp165": tmp165, f"tmp166": tmp166, f"tmp168": tmp168, f"tmp17": tmp17, f"tmp181": tmp181, f"tmp183": tmp183, f"tmp185": tmp185, f"tmp186": tmp186, f"tmp19": tmp19, f"tmp20": tmp20, f"tmp202": tmp202, f"tmp204": tmp204, f"tmp22": tmp22, f"tmp24": tmp24, f"tmp25": tmp25, f"tmp27": tmp27, f"tmp28": tmp28, f"tmp3": tmp3, f"tmp30": tmp30, f"tmp32": tmp32, f"tmp34": tmp34, f"tmp35": tmp35, f"tmp37": tmp37, f"tmp38": tmp38, f"tmp39": tmp39, f"tmp4": tmp4, f"tmp40": tmp40, f"tmp42": tmp42, f"tmp43": tmp43, f"tmp45": tmp45, f"tmp47": tmp47, f"tmp49": tmp49, f"tmp51": tmp51, f"tmp54": tmp54, f"tmp57": tmp57, f"tmp6": tmp6, f"tmp63": tmp63, f"tmp65": tmp65, f"tmp69": tmp69, f"tmp71": tmp71, f"tmp77": tmp77, f"tmp78": tmp78, f"tmp8": tmp8, f"tmp80": tmp80, f"tmp81": tmp81, f"tmp83": tmp83, f"tmp84": tmp84, f"tmp86": tmp86, f"tmp93": tmp93, f"tmp96": tmp96}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCCD.hbar_lmatvec_ip(f=None, r1=None, r2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:53:56.196783.

+

Parameters

+

f : Namespace of arrays + Fock matrix. +r1 : Namespace of arrays + R1 amplitudes. +r2 : Namespace of arrays + R2 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.

+ +
+ Source code in ebcc/codegen/UDFCCD.py +
2109
+2110
+2111
+2112
+2113
+2114
+2115
+2116
+2117
+2118
+2119
+2120
+2121
+2122
+2123
+2124
+2125
+2126
+2127
+2128
+2129
+2130
+2131
+2132
+2133
+2134
+2135
+2136
+2137
+2138
+2139
+2140
+2141
+2142
+2143
+2144
+2145
+2146
+2147
+2148
+2149
+2150
+2151
+2152
+2153
+2154
+2155
+2156
+2157
+2158
+2159
+2160
+2161
+2162
+2163
+2164
+2165
+2166
+2167
+2168
+2169
+2170
+2171
+2172
+2173
+2174
+2175
+2176
+2177
+2178
+2179
+2180
+2181
+2182
+2183
+2184
+2185
+2186
+2187
+2188
+2189
+2190
+2191
+2192
+2193
+2194
+2195
+2196
+2197
+2198
+2199
+2200
+2201
+2202
+2203
+2204
+2205
+2206
+2207
+2208
+2209
+2210
+2211
+2212
+2213
+2214
+2215
+2216
+2217
+2218
+2219
+2220
+2221
+2222
+2223
+2224
+2225
+2226
+2227
+2228
+2229
+2230
+2231
+2232
+2233
+2234
+2235
+2236
+2237
+2238
+2239
+2240
+2241
+2242
+2243
+2244
+2245
+2246
+2247
+2248
+2249
+2250
+2251
+2252
+2253
+2254
+2255
+2256
+2257
+2258
+2259
+2260
+2261
+2262
+2263
+2264
+2265
+2266
+2267
+2268
+2269
+2270
+2271
+2272
+2273
+2274
+2275
+2276
+2277
+2278
+2279
+2280
+2281
+2282
+2283
+2284
+2285
+2286
+2287
+2288
+2289
+2290
+2291
+2292
+2293
+2294
+2295
+2296
+2297
+2298
+2299
+2300
+2301
+2302
+2303
+2304
+2305
+2306
+2307
+2308
+2309
+2310
+2311
+2312
+2313
+2314
+2315
+2316
+2317
+2318
+2319
+2320
+2321
+2322
+2323
+2324
+2325
+2326
+2327
+2328
+2329
+2330
+2331
+2332
+2333
+2334
+2335
+2336
+2337
+2338
+2339
+2340
+2341
+2342
+2343
+2344
+2345
+2346
+2347
+2348
+2349
+2350
+2351
+2352
+2353
+2354
+2355
+2356
+2357
+2358
+2359
+2360
+2361
+2362
+2363
+2364
+2365
+2366
+2367
+2368
+2369
+2370
+2371
+2372
+2373
+2374
+2375
+2376
+2377
+2378
+2379
+2380
+2381
+2382
+2383
+2384
+2385
+2386
+2387
+2388
+2389
+2390
+2391
+2392
+2393
+2394
+2395
+2396
+2397
+2398
+2399
+2400
+2401
+2402
+2403
+2404
+2405
+2406
+2407
+2408
+2409
+2410
+2411
+2412
+2413
+2414
+2415
+2416
+2417
+2418
+2419
+2420
+2421
+2422
+2423
+2424
+2425
+2426
+2427
+2428
+2429
+2430
+2431
+2432
+2433
+2434
+2435
+2436
+2437
+2438
+2439
+2440
+2441
+2442
+2443
+2444
+2445
+2446
+2447
+2448
+2449
+2450
+2451
+2452
+2453
+2454
+2455
+2456
+2457
+2458
+2459
+2460
+2461
+2462
def hbar_lmatvec_ip(f=None, r1=None, r2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:53:56.196783.
+
+    Parameters
+    ----------
+    f : Namespace of arrays
+        Fock matrix.
+    r1 : Namespace of arrays
+        R1 amplitudes.
+    r2 : Namespace of arrays
+        R2 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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp16 = np.copy(ints.tmp19)
+    tmp16 += v.baa.xov
+    tmp16 += ints.tmp16 * 2
+    tmp18 = np.copy(ints.tmp37)
+    tmp18 += v.bbb.xov
+    tmp18 += ints.tmp42 * 2
+    tmp38 = einsum(t2.bbbb, (0, 1, 2, 3), r2.bbb, (0, 1, 3), (2,))
+    tmp37 = einsum(t2.abab, (0, 1, 2, 3), r2.aba, (0, 1, 2), (3,))
+    tmp34 = np.copy(ints.tmp16) * 2
+    del ints.tmp16
+    tmp34 += ints.tmp19
+    del ints.tmp19
+    tmp34 += v.baa.xov
+    tmp17 = einsum(tmp16, (0, 1, 2), r2.aaa, (3, 1, 2), (0, 3)) * -1
+    del tmp16
+    tmp19 = einsum(r2.bab, (0, 1, 2), tmp18, (3, 0, 2), (3, 1)) * -1
+    tmp39 = np.copy(tmp37) * -0.5
+    del tmp37
+    tmp39 += tmp38
+    del tmp38
+    tmp48 = einsum(r2.aba, (0, 1, 2), tmp34, (3, 0, 2), (3, 1))
+    tmp51 = np.copy(ints.tmp69) * 2
+    tmp51 += ints.tmp71
+    tmp40 = np.copy(ints.tmp163)
+    del ints.tmp163
+    tmp40 += np.transpose(ints.tmp168, (1, 0, 3, 2)) * 2
+    del ints.tmp168
+    tmp56 = einsum(r2.bbb, (0, 1, 2), tmp18, (3, 1, 2), (3, 0)) * -1
+    del tmp18
+    tmp14 = np.copy(ints.tmp100)
+    tmp14 += np.transpose(ints.tmp105, (1, 0, 3, 2)) * 2
+    tmp12 = einsum(r2.bab, (0, 1, 2), t2.abab, (1, 0, 3, 2), (3,)) * -1
+    tmp20 = np.copy(tmp17) * -2
+    del tmp17
+    tmp20 += tmp19
+    del tmp19
+    tmp26 = np.copy(ints.tmp17) * 2
+    tmp26 += ints.tmp20
+    tmp24 = einsum(t2.aaaa, (0, 1, 2, 3), r2.aaa, (0, 1, 3), (2,))
+    tmp50 = einsum(ints.tmp165, (0, 1, 2, 3), tmp39, (3,), (0, 1, 2)) * 2
+    del ints.tmp165
+    tmp46 = einsum(ints.tmp24, (0, 1, 2, 3), r1.b, (1,), (0, 2, 3))
+    tmp47 = einsum(r2.aba, (0, 1, 2), ints.tmp166, (0, 3, 2, 4), (3, 1, 4))
+    tmp49 = einsum(tmp48, (0, 1), v.bbb.xov, (0, 2, 3), (2, 1, 3))
+    del tmp48
+    tmp52 = einsum(r2.bbb, (0, 1, 2), tmp51, (1, 3), (0, 3, 2)) * -2
+    del tmp51
+    tmp54 = einsum(f.bb.oo, (0, 1), r2.bbb, (2, 1, 3), (0, 2, 3))
+    tmp55 = einsum(r2.bbb, (0, 1, 2), tmp40, (3, 1, 4, 2), (0, 3, 4)) * -1
+    tmp57 = einsum(tmp56, (0, 1), v.bbb.xov, (0, 2, 3), (2, 1, 3)) * -1
+    del tmp56
+    tmp35 = np.copy(ints.tmp37) * 0.5
+    del ints.tmp37
+    tmp35 += ints.tmp42
+    del ints.tmp42
+    tmp35 += v.bbb.xov * 0.5
+    tmp15 = einsum(tmp14, (0, 1, 2, 3), r2.aaa, (4, 1, 3), (4, 0, 2)) * -1
+    del tmp14
+    tmp10 = einsum(r2.aaa, (0, 1, 2), f.aa.oo, (3, 1), (3, 0, 2))
+    tmp11 = einsum(r2.bab, (0, 1, 2), ints.tmp107, (3, 0, 4, 2), (3, 1, 4)) * -1
+    tmp13 = einsum(tmp12, (0,), ints.tmp104, (1, 2, 3, 0), (1, 2, 3))
+    tmp21 = einsum(tmp20, (0, 1), v.baa.xov, (0, 2, 3), (2, 1, 3))
+    del tmp20
+    tmp23 = einsum(r1.a, (0,), ints.tmp12, (1, 0, 2, 3), (1, 2, 3))
+    tmp27 = einsum(r2.aaa, (0, 1, 2), tmp26, (1, 3), (0, 3, 2)) * -2
+    del tmp26
+    tmp25 = einsum(tmp24, (0,), ints.tmp104, (1, 2, 3, 0), (1, 2, 3))
+    del ints.tmp104
+    tmp44 = np.copy(ints.tmp181) * 2
+    del ints.tmp181
+    tmp44 += ints.tmp183
+    del ints.tmp183
+    tmp44 += f.bb.vv * -1
+    tmp53 = einsum(r1.b, (0,), f.bb.ov, (1, 2), (1, 0, 2))
+    tmp53 += tmp46
+    del tmp46
+    tmp53 += tmp47
+    del tmp47
+    tmp53 += np.transpose(tmp49, (1, 0, 2))
+    del tmp49
+    tmp53 += tmp50 * -1
+    del tmp50
+    tmp53 += np.transpose(tmp52, (1, 0, 2))
+    del tmp52
+    tmp59 = np.copy(ints.tmp202)
+    del ints.tmp202
+    tmp59 += np.transpose(ints.tmp204, (2, 0, 3, 1)) * -1
+    del ints.tmp204
+    tmp58 = np.copy(tmp54)
+    del tmp54
+    tmp58 += np.transpose(tmp55, (1, 0, 2)) * -1
+    del tmp55
+    tmp58 += np.transpose(tmp57, (1, 0, 2))
+    del tmp57
+    tmp4 = np.copy(f.aa.oo)
+    tmp4 += ints.tmp17 * 2
+    del ints.tmp17
+    tmp4 += ints.tmp20
+    del ints.tmp20
+    tmp42 = np.copy(ints.tmp153)
+    tmp42 += np.transpose(ints.tmp157, (1, 0, 3, 2))
+    tmp9 = np.copy(f.bb.oo)
+    tmp9 += ints.tmp69 * 2
+    del ints.tmp69
+    tmp9 += ints.tmp71
+    del ints.tmp71
+    tmp45 = np.copy(tmp24) * 2
+    del tmp24
+    tmp45 += tmp12
+    del tmp12
+    tmp41 = np.copy(ints.tmp185)
+    del ints.tmp185
+    tmp41 += np.transpose(ints.tmp186, (1, 0, 3, 2)) * -1
+    del ints.tmp186
+    tmp43 = einsum(tmp34, (0, 1, 2), r2.aaa, (3, 1, 2), (0, 3))
+    tmp43 += einsum(r2.bab, (0, 1, 2), tmp35, (3, 0, 2), (3, 1)) * -1
+    tmp30 = np.copy(ints.tmp130) * 2
+    del ints.tmp130
+    tmp30 += ints.tmp132
+    del ints.tmp132
+    tmp30 += f.aa.vv * -1
+    tmp33 = np.copy(ints.tmp153)
+    del ints.tmp153
+    tmp33 += np.transpose(ints.tmp157, (1, 0, 3, 2))
+    del ints.tmp157
+    tmp36 = einsum(r2.aba, (0, 1, 2), tmp34, (3, 0, 2), (3, 1)) * -0.5
+    del tmp34
+    tmp36 += einsum(r2.bbb, (0, 1, 2), tmp35, (3, 1, 2), (3, 0)) * 2
+    del tmp35
+    tmp32 = np.copy(ints.tmp100)
+    del ints.tmp100
+    tmp32 += np.transpose(ints.tmp105, (1, 0, 3, 2)) * 2
+    del ints.tmp105
+    tmp31 = np.copy(ints.tmp161)
+    del ints.tmp161
+    tmp31 += np.transpose(ints.tmp162, (1, 0, 3, 2)) * -1
+    del ints.tmp162
+    tmp22 = np.copy(tmp10) * 2
+    del tmp10
+    tmp22 += tmp11
+    del tmp11
+    tmp22 += tmp13
+    del tmp13
+    tmp22 += np.transpose(tmp15, (1, 0, 2)) * -2
+    del tmp15
+    tmp22 += np.transpose(tmp21, (1, 0, 2))
+    del tmp21
+    tmp29 = np.copy(ints.tmp125)
+    del ints.tmp125
+    tmp29 += np.transpose(ints.tmp127, (2, 0, 3, 1)) * -1
+    del ints.tmp127
+    tmp28 = einsum(r1.a, (0,), f.aa.ov, (1, 2), (1, 0, 2)) * -1
+    tmp28 += tmp23 * -1
+    del tmp23
+    tmp28 += tmp25 * 2
+    del tmp25
+    tmp28 += np.transpose(tmp27, (1, 0, 2)) * -1
+    del tmp27
+    tmp7 = np.copy(f.aa.ov) * 0.5
+    tmp7 += ints.tmp1
+    tmp7 += ints.tmp4 * 0.5
+    tmp7 += ints.tmp51 * 0.5
+    tmp7 += ints.tmp22 * -1
+    tmp7 += ints.tmp30 * -0.5
+    tmp7 += ints.tmp45 * -1
+    tmp8 = np.copy(f.bb.ov)
+    tmp8 += ints.tmp3
+    tmp8 += ints.tmp49
+    tmp8 += ints.tmp6 * 2
+    tmp8 += ints.tmp25 * -2
+    tmp8 += ints.tmp28 * -1
+    tmp8 += ints.tmp47 * -2
+    tmp5 = np.copy(ints.tmp27)
+    tmp5 += ints.tmp63
+    del ints.tmp63
+    tmp5 += np.transpose(ints.tmp80, (0, 2, 1, 3))
+    del ints.tmp80
+    tmp5 += np.transpose(ints.tmp84, (0, 2, 1, 3)) * 2
+    del ints.tmp84
+    tmp5 += np.transpose(ints.tmp96, (0, 2, 1, 3))
+    del ints.tmp96
+    tmp5 += np.transpose(ints.tmp77, (0, 2, 1, 3)) * -1
+    del ints.tmp77
+    tmp5 += np.transpose(ints.tmp83, (0, 2, 1, 3)) * -1
+    del ints.tmp83
+    tmp6 = np.copy(ints.tmp24)
+    del ints.tmp24
+    tmp6 += np.transpose(ints.tmp78, (2, 0, 1, 3)) * 2
+    del ints.tmp78
+    tmp6 += np.transpose(ints.tmp93, (2, 0, 1, 3))
+    del ints.tmp93
+    tmp6 += ints.tmp65 * -1
+    del ints.tmp65
+    tmp6 += np.transpose(ints.tmp81, (2, 0, 1, 3)) * -2
+    del ints.tmp81
+    tmp6 += np.transpose(ints.tmp86, (2, 0, 1, 3)) * -1
+    del ints.tmp86
+    tmp2 = np.copy(f.aa.ov)
+    tmp2 += ints.tmp1 * 2
+    del ints.tmp1
+    tmp2 += ints.tmp4
+    del ints.tmp4
+    tmp2 += ints.tmp51
+    del ints.tmp51
+    tmp2 += ints.tmp22 * -2
+    del ints.tmp22
+    tmp2 += ints.tmp30 * -1
+    del ints.tmp30
+    tmp2 += ints.tmp45 * -2
+    del ints.tmp45
+    tmp3 = np.copy(f.bb.ov) * 0.5
+    tmp3 += ints.tmp3 * 0.5
+    del ints.tmp3
+    tmp3 += ints.tmp49 * 0.5
+    del ints.tmp49
+    tmp3 += ints.tmp6
+    del ints.tmp6
+    tmp3 += ints.tmp25 * -1
+    del ints.tmp25
+    tmp3 += ints.tmp28 * -0.5
+    del ints.tmp28
+    tmp3 += ints.tmp47 * -1
+    del ints.tmp47
+    tmp0 = np.copy(ints.tmp10)
+    del ints.tmp10
+    tmp0 += ints.tmp14
+    tmp0 += np.transpose(ints.tmp38, (1, 0, 2, 3))
+    del ints.tmp38
+    tmp0 += np.transpose(ints.tmp43, (1, 0, 2, 3)) * 2
+    del ints.tmp43
+    tmp0 += np.transpose(ints.tmp57, (1, 0, 2, 3))
+    del ints.tmp57
+    tmp0 += np.transpose(ints.tmp34, (1, 0, 2, 3)) * -1
+    del ints.tmp34
+    tmp0 += np.transpose(ints.tmp39, (1, 0, 2, 3)) * -1
+    del ints.tmp39
+    tmp1 = np.copy(ints.tmp12)
+    del ints.tmp12
+    tmp1 += np.transpose(ints.tmp32, (2, 0, 1, 3)) * 2
+    del ints.tmp32
+    tmp1 += np.transpose(ints.tmp54, (2, 0, 1, 3))
+    del ints.tmp54
+    tmp1 += np.transpose(ints.tmp35, (2, 0, 1, 3)) * -2
+    del ints.tmp35
+    tmp1 += np.transpose(ints.tmp40, (2, 0, 1, 3)) * -1
+    del ints.tmp40
+    tmp1 += ints.tmp8 * -1
+    del ints.tmp8
+    r2new.bbb = np.copy(tmp53) * -1
+    r2new.bbb += np.transpose(tmp53, (1, 0, 2))
+    del tmp53
+    r2new.bbb += tmp58 * 2
+    r2new.bbb += np.transpose(tmp58, (1, 0, 2)) * -2
+    del tmp58
+    r2new.bbb += einsum(r2.bbb, (0, 1, 2), tmp59, (3, 1, 4, 0), (3, 4, 2)) * 2
+    del tmp59
+    r2new.bbb += einsum(tmp44, (0, 1), r2.bbb, (2, 3, 0), (2, 3, 1)) * -2
+    r2new.bab = einsum(r1.a, (0,), ints.tmp14, (1, 0, 2, 3), (2, 1, 3))
+    del ints.tmp14
+    r2new.bab += einsum(f.bb.ov, (0, 1), r1.a, (2,), (0, 2, 1)) * -1
+    r2new.bab += einsum(r2.aaa, (0, 1, 2), ints.tmp166, (1, 3, 2, 4), (3, 0, 4)) * 2
+    del ints.tmp166
+    r2new.bab += einsum(tmp40, (0, 1, 2, 3), r2.bab, (1, 4, 3), (0, 4, 2)) * -1
+    del tmp40
+    r2new.bab += einsum(tmp41, (0, 1, 2, 3), r2.bab, (4, 1, 3), (4, 0, 2)) * -1
+    del tmp41
+    r2new.bab += einsum(tmp42, (0, 1, 2, 3), r2.bab, (3, 1, 4), (2, 0, 4))
+    del tmp42
+    r2new.bab += einsum(v.bbb.xov, (0, 1, 2), tmp43, (0, 3), (1, 3, 2)) * -2
+    del tmp43
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp44, (2, 3), (0, 1, 3)) * -1
+    del tmp44
+    r2new.bab += einsum(tmp45, (0,), ints.tmp146, (1, 2, 0, 3), (2, 1, 3))
+    del tmp45
+    r2new.bab += einsum(tmp9, (0, 1), r2.bab, (0, 2, 3), (1, 2, 3)) * -1
+    r2new.bab += einsum(tmp4, (0, 1), r2.bab, (2, 0, 3), (2, 1, 3)) * -1
+    r2new.aba = einsum(r1.b, (0,), ints.tmp27, (1, 2, 0, 3), (1, 2, 3))
+    del ints.tmp27
+    r2new.aba += einsum(r1.b, (0,), f.aa.ov, (1, 2), (1, 0, 2)) * -1
+    r2new.aba += einsum(ints.tmp107, (0, 1, 2, 3), r2.bbb, (4, 1, 3), (0, 4, 2)) * 2
+    del ints.tmp107
+    r2new.aba += einsum(tmp31, (0, 1, 2, 3), r2.aba, (4, 1, 3), (4, 0, 2)) * -1
+    del tmp31
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp32, (3, 0, 4, 2), (3, 1, 4)) * -1
+    del tmp32
+    r2new.aba += einsum(tmp33, (0, 1, 2, 3), r2.aba, (1, 3, 4), (0, 2, 4))
+    del tmp33
+    r2new.aba += einsum(v.baa.xov, (0, 1, 2), tmp36, (0, 3), (1, 3, 2)) * -2
+    del tmp36
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp30, (2, 3), (0, 1, 3)) * -1
+    r2new.aba += einsum(ints.tmp146, (0, 1, 2, 3), tmp39, (3,), (0, 1, 2)) * 2
+    del tmp39, ints.tmp146
+    r2new.aba += einsum(tmp9, (0, 1), r2.aba, (2, 0, 3), (2, 1, 3)) * -1
+    r2new.aba += einsum(tmp4, (0, 1), r2.aba, (0, 2, 3), (1, 2, 3)) * -1
+    r2new.aaa = np.copy(tmp22)
+    r2new.aaa += np.transpose(tmp22, (1, 0, 2)) * -1
+    del tmp22
+    r2new.aaa += tmp28
+    r2new.aaa += np.transpose(tmp28, (1, 0, 2)) * -1
+    del tmp28
+    r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp29, (3, 0, 4, 1), (3, 4, 2)) * -2
+    del tmp29
+    r2new.aaa += einsum(tmp30, (0, 1), r2.aaa, (2, 3, 0), (2, 3, 1)) * -2
+    del tmp30
+    r1new.b = einsum(r2.aba, (0, 1, 2), tmp5, (0, 3, 1, 2), (3,))
+    del tmp5
+    r1new.b += einsum(r2.bbb, (0, 1, 2), tmp6, (3, 1, 0, 2), (3,)) * 2
+    del tmp6
+    r1new.b += einsum(tmp7, (0, 1), r2.aba, (0, 2, 1), (2,)) * -2
+    del tmp7
+    r1new.b += einsum(r2.bbb, (0, 1, 2), tmp8, (1, 2), (0,)) * 2
+    del tmp8
+    r1new.b += einsum(tmp9, (0, 1), r1.b, (0,), (1,)) * -1
+    del tmp9
+    r1new.a = einsum(tmp0, (0, 1, 2, 3), r2.bab, (2, 1, 3), (0,))
+    del tmp0
+    r1new.a += einsum(r2.aaa, (0, 1, 2), tmp1, (3, 1, 0, 2), (3,)) * 2
+    del tmp1
+    r1new.a += einsum(tmp2, (0, 1), r2.aaa, (2, 0, 1), (2,)) * 2
+    del tmp2
+    r1new.a += einsum(r2.bab, (0, 1, 2), tmp3, (0, 2), (1,)) * -2
+    del tmp3
+    r1new.a += einsum(tmp4, (0, 1), r1.a, (0,), (1,)) * -1
+    del tmp4
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCCD.hbar_lmatvec_ea_intermediates(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:54:42.422777.

+

Parameters

+

f : Namespace of arrays + Fock matrix. +t2 : Namespace of arrays + T2 amplitudes. +v : Namespace of arrays + Electron repulsion integrals.

+

Returns

+

tmp1 : array +tmp102 : array +tmp106 : array +tmp108 : array +tmp110 : array +tmp111 : array +tmp113 : array +tmp12 : array +tmp126 : array +tmp14 : array +tmp146 : array +tmp149 : array +tmp157 : array +tmp158 : array +tmp159 : array +tmp16 : array +tmp161 : array +tmp163 : array +tmp165 : array +tmp166 : array +tmp168 : array +tmp17 : array +tmp182 : array +tmp183 : array +tmp19 : array +tmp20 : array +tmp200 : array +tmp23 : array +tmp26 : array +tmp29 : array +tmp3 : array +tmp32 : array +tmp34 : array +tmp36 : array +tmp38 : array +tmp4 : array +tmp40 : array +tmp41 : array +tmp43 : array +tmp44 : array +tmp46 : array +tmp48 : array +tmp50 : array +tmp51 : array +tmp53 : array +tmp54 : array +tmp56 : array +tmp58 : array +tmp59 : array +tmp6 : array +tmp68 : array +tmp71 : array +tmp73 : array +tmp79 : array +tmp81 : array +tmp87 : array +tmp88 : array +tmp90 : array +tmp91 : array +tmp93 : array +tmp95 : array +tmp97 : array

+ +
+ Source code in ebcc/codegen/UDFCCD.py +
2464
+2465
+2466
+2467
+2468
+2469
+2470
+2471
+2472
+2473
+2474
+2475
+2476
+2477
+2478
+2479
+2480
+2481
+2482
+2483
+2484
+2485
+2486
+2487
+2488
+2489
+2490
+2491
+2492
+2493
+2494
+2495
+2496
+2497
+2498
+2499
+2500
+2501
+2502
+2503
+2504
+2505
+2506
+2507
+2508
+2509
+2510
+2511
+2512
+2513
+2514
+2515
+2516
+2517
+2518
+2519
+2520
+2521
+2522
+2523
+2524
+2525
+2526
+2527
+2528
+2529
+2530
+2531
+2532
+2533
+2534
+2535
+2536
+2537
+2538
+2539
+2540
+2541
+2542
+2543
+2544
+2545
+2546
+2547
+2548
+2549
+2550
+2551
+2552
+2553
+2554
+2555
+2556
+2557
+2558
+2559
+2560
+2561
+2562
+2563
+2564
+2565
+2566
+2567
+2568
+2569
+2570
+2571
+2572
+2573
+2574
+2575
+2576
+2577
+2578
+2579
+2580
+2581
+2582
+2583
+2584
+2585
+2586
+2587
+2588
+2589
+2590
+2591
+2592
+2593
+2594
+2595
+2596
+2597
+2598
+2599
+2600
+2601
+2602
+2603
+2604
+2605
+2606
+2607
+2608
+2609
+2610
+2611
+2612
+2613
+2614
def hbar_lmatvec_ea_intermediates(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:54:42.422777.
+
+    Parameters
+    ----------
+    f : Namespace of arrays
+        Fock matrix.
+    t2 : Namespace of arrays
+        T2 amplitudes.
+    v : Namespace of arrays
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp1 : array
+    tmp102 : array
+    tmp106 : array
+    tmp108 : array
+    tmp110 : array
+    tmp111 : array
+    tmp113 : array
+    tmp12 : array
+    tmp126 : array
+    tmp14 : array
+    tmp146 : array
+    tmp149 : array
+    tmp157 : array
+    tmp158 : array
+    tmp159 : array
+    tmp16 : array
+    tmp161 : array
+    tmp163 : array
+    tmp165 : array
+    tmp166 : array
+    tmp168 : array
+    tmp17 : array
+    tmp182 : array
+    tmp183 : array
+    tmp19 : array
+    tmp20 : array
+    tmp200 : array
+    tmp23 : array
+    tmp26 : array
+    tmp29 : array
+    tmp3 : array
+    tmp32 : array
+    tmp34 : array
+    tmp36 : array
+    tmp38 : array
+    tmp4 : array
+    tmp40 : array
+    tmp41 : array
+    tmp43 : array
+    tmp44 : array
+    tmp46 : array
+    tmp48 : array
+    tmp50 : array
+    tmp51 : array
+    tmp53 : array
+    tmp54 : array
+    tmp56 : array
+    tmp58 : array
+    tmp59 : array
+    tmp6 : array
+    tmp68 : array
+    tmp71 : array
+    tmp73 : array
+    tmp79 : array
+    tmp81 : array
+    tmp87 : array
+    tmp88 : array
+    tmp90 : array
+    tmp91 : array
+    tmp93 : array
+    tmp95 : array
+    tmp97 : array
+    """
+
+    tmp146 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp165 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp43 = einsum(t2.abab, (0, 1, 2, 3), v.baa.xov, (4, 0, 2), (4, 1, 3))
+    tmp40 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbb.xov, (4, 1, 3), (4, 0, 2))
+    tmp110 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp19 = einsum(t2.abab, (0, 1, 2, 3), v.bbb.xov, (4, 1, 3), (4, 0, 2))
+    tmp16 = einsum(t2.aaaa, (0, 1, 2, 3), v.baa.xov, (4, 1, 3), (4, 0, 2))
+    tmp14 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp68 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp31 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 2, 3, 4))
+    tmp25 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp58 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp12 = einsum(v.baa.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp28 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp22 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 2, 3, 4))
+    tmp200 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (3, 1, 2, 4))
+    tmp183 = einsum(t2.abab, (0, 1, 2, 3), tmp146, (0, 4, 5, 3), (1, 4, 2, 5))
+    tmp182 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp168 = einsum(t2.bbbb, (0, 1, 2, 3), tmp165, (4, 1, 3, 5), (0, 4, 2, 5))
+    tmp166 = einsum(t2.abab, (0, 1, 2, 3), tmp165, (4, 1, 3, 5), (0, 4, 2, 5))
+    tmp163 = einsum(v.bbb.xov, (0, 1, 2), tmp43, (0, 3, 2), (3, 1))
+    tmp161 = einsum(tmp40, (0, 1, 2), v.bbb.xov, (0, 3, 2), (1, 3))
+    tmp159 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp158 = einsum(t2.abab, (0, 1, 2, 3), tmp146, (4, 1, 2, 5), (0, 4, 3, 5))
+    tmp157 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp149 = einsum(v.bbb.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (3, 4, 1, 2))
+    tmp126 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (3, 1, 2, 4))
+    tmp113 = einsum(tmp110, (0, 1, 2, 3), t2.abab, (1, 4, 2, 5), (0, 4, 3, 5))
+    tmp111 = einsum(t2.aaaa, (0, 1, 2, 3), tmp110, (4, 1, 3, 5), (0, 4, 2, 5))
+    tmp108 = einsum(v.baa.xov, (0, 1, 2), tmp19, (0, 3, 2), (3, 1))
+    tmp106 = einsum(v.baa.xov, (0, 1, 2), tmp16, (0, 3, 2), (3, 1))
+    tmp102 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp97 = einsum(tmp14, (0, 1, 2, 3), t2.abab, (4, 0, 1, 5), (4, 2, 5, 3))
+    tmp95 = einsum(v.bbb.xvv, (0, 1, 2), tmp43, (0, 3, 4), (3, 4, 1, 2))
+    tmp93 = einsum(v.bbb.xvv, (0, 1, 2), tmp16, (0, 3, 4), (3, 4, 1, 2))
+    tmp91 = einsum(tmp68, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 5, 3, 1))
+    tmp90 = einsum(tmp68, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 5, 3, 1))
+    tmp88 = einsum(tmp40, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp87 = einsum(v.bbb.xvv, (0, 1, 2), tmp19, (0, 3, 4), (3, 4, 1, 2))
+    tmp81 = einsum(tmp31, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 4, 5, 3))
+    tmp79 = einsum(t2.bbbb, (0, 1, 2, 3), tmp25, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp73 = einsum(tmp43, (0, 1, 2), v.bbb.xov, (0, 1, 3), (2, 3))
+    tmp71 = einsum(tmp40, (0, 1, 2), v.bbb.xov, (0, 1, 3), (2, 3))
+    tmp59 = einsum(t2.abab, (0, 1, 2, 3), tmp58, (0, 4, 3, 5), (1, 2, 4, 5))
+    tmp56 = einsum(tmp40, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp54 = einsum(v.baa.xvv, (0, 1, 2), tmp19, (0, 3, 4), (3, 4, 1, 2))
+    tmp53 = einsum(t2.abab, (0, 1, 2, 3), tmp12, (0, 2, 4, 5), (1, 5, 4, 3))
+    tmp51 = einsum(t2.aaaa, (0, 1, 2, 3), tmp12, (1, 4, 3, 5), (0, 2, 5, 4))
+    tmp50 = einsum(v.baa.xvv, (0, 1, 2), tmp43, (0, 3, 4), (3, 1, 2, 4))
+    tmp48 = einsum(tmp16, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp46 = einsum(v.baa.xvv, (0, 1, 2), tmp19, (0, 3, 2), (3, 1))
+    tmp44 = einsum(v.bbb.xvv, (0, 1, 2), tmp43, (0, 3, 2), (3, 1))
+    tmp41 = einsum(tmp40, (0, 1, 2), v.bbb.xvv, (0, 3, 2), (1, 3)) * -1
+    tmp38 = einsum(v.baa.xvv, (0, 1, 2), tmp16, (0, 3, 2), (3, 1)) * -1
+    tmp36 = einsum(t2.abab, (0, 1, 2, 3), tmp28, (0, 4, 1, 5), (4, 2, 5, 3))
+    tmp34 = einsum(tmp22, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 5), (1, 4, 5, 3))
+    tmp32 = einsum(tmp31, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (1, 4))
+    del tmp31
+    tmp29 = einsum(t2.abab, (0, 1, 2, 3), tmp28, (0, 4, 1, 2), (4, 3))
+    del tmp28
+    tmp26 = einsum(t2.bbbb, (0, 1, 2, 3), tmp25, (4, 0, 1, 3), (4, 2))
+    del tmp25
+    tmp23 = einsum(tmp22, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 3), (1, 4))
+    del tmp22
+    tmp20 = einsum(v.baa.xov, (0, 1, 2), tmp19, (0, 1, 3), (3, 2))
+    tmp17 = einsum(tmp16, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    tmp6 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.ov, (1, 3), (0, 2))
+    tmp4 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp3 = einsum(t2.abab, (0, 1, 2, 3), f.aa.ov, (0, 2), (1, 3))
+    tmp1 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+
+    return {f"tmp1": tmp1, f"tmp102": tmp102, f"tmp106": tmp106, f"tmp108": tmp108, f"tmp110": tmp110, f"tmp111": tmp111, f"tmp113": tmp113, f"tmp12": tmp12, f"tmp126": tmp126, f"tmp14": tmp14, f"tmp146": tmp146, f"tmp149": tmp149, f"tmp157": tmp157, f"tmp158": tmp158, f"tmp159": tmp159, f"tmp16": tmp16, f"tmp161": tmp161, f"tmp163": tmp163, f"tmp165": tmp165, f"tmp166": tmp166, f"tmp168": tmp168, f"tmp17": tmp17, f"tmp182": tmp182, f"tmp183": tmp183, f"tmp19": tmp19, f"tmp20": tmp20, f"tmp200": tmp200, f"tmp23": tmp23, f"tmp26": tmp26, f"tmp29": tmp29, f"tmp3": tmp3, f"tmp32": tmp32, f"tmp34": tmp34, f"tmp36": tmp36, f"tmp38": tmp38, f"tmp4": tmp4, f"tmp40": tmp40, f"tmp41": tmp41, f"tmp43": tmp43, f"tmp44": tmp44, f"tmp46": tmp46, f"tmp48": tmp48, f"tmp50": tmp50, f"tmp51": tmp51, f"tmp53": tmp53, f"tmp54": tmp54, f"tmp56": tmp56, f"tmp58": tmp58, f"tmp59": tmp59, f"tmp6": tmp6, f"tmp68": tmp68, f"tmp71": tmp71, f"tmp73": tmp73, f"tmp79": tmp79, f"tmp81": tmp81, f"tmp87": tmp87, f"tmp88": tmp88, f"tmp90": tmp90, f"tmp91": tmp91, f"tmp93": tmp93, f"tmp95": tmp95, f"tmp97": tmp97}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCCD.hbar_lmatvec_ea(f=None, r1=None, r2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:54:42.475767.

+

Parameters

+

f : Namespace of arrays + Fock matrix. +r1 : Namespace of arrays + R1 amplitudes. +r2 : Namespace of arrays + R2 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.

+ +
+ Source code in ebcc/codegen/UDFCCD.py +
2616
+2617
+2618
+2619
+2620
+2621
+2622
+2623
+2624
+2625
+2626
+2627
+2628
+2629
+2630
+2631
+2632
+2633
+2634
+2635
+2636
+2637
+2638
+2639
+2640
+2641
+2642
+2643
+2644
+2645
+2646
+2647
+2648
+2649
+2650
+2651
+2652
+2653
+2654
+2655
+2656
+2657
+2658
+2659
+2660
+2661
+2662
+2663
+2664
+2665
+2666
+2667
+2668
+2669
+2670
+2671
+2672
+2673
+2674
+2675
+2676
+2677
+2678
+2679
+2680
+2681
+2682
+2683
+2684
+2685
+2686
+2687
+2688
+2689
+2690
+2691
+2692
+2693
+2694
+2695
+2696
+2697
+2698
+2699
+2700
+2701
+2702
+2703
+2704
+2705
+2706
+2707
+2708
+2709
+2710
+2711
+2712
+2713
+2714
+2715
+2716
+2717
+2718
+2719
+2720
+2721
+2722
+2723
+2724
+2725
+2726
+2727
+2728
+2729
+2730
+2731
+2732
+2733
+2734
+2735
+2736
+2737
+2738
+2739
+2740
+2741
+2742
+2743
+2744
+2745
+2746
+2747
+2748
+2749
+2750
+2751
+2752
+2753
+2754
+2755
+2756
+2757
+2758
+2759
+2760
+2761
+2762
+2763
+2764
+2765
+2766
+2767
+2768
+2769
+2770
+2771
+2772
+2773
+2774
+2775
+2776
+2777
+2778
+2779
+2780
+2781
+2782
+2783
+2784
+2785
+2786
+2787
+2788
+2789
+2790
+2791
+2792
+2793
+2794
+2795
+2796
+2797
+2798
+2799
+2800
+2801
+2802
+2803
+2804
+2805
+2806
+2807
+2808
+2809
+2810
+2811
+2812
+2813
+2814
+2815
+2816
+2817
+2818
+2819
+2820
+2821
+2822
+2823
+2824
+2825
+2826
+2827
+2828
+2829
+2830
+2831
+2832
+2833
+2834
+2835
+2836
+2837
+2838
+2839
+2840
+2841
+2842
+2843
+2844
+2845
+2846
+2847
+2848
+2849
+2850
+2851
+2852
+2853
+2854
+2855
+2856
+2857
+2858
+2859
+2860
+2861
+2862
+2863
+2864
+2865
+2866
+2867
+2868
+2869
+2870
+2871
+2872
+2873
+2874
+2875
+2876
+2877
+2878
+2879
+2880
+2881
+2882
+2883
+2884
+2885
+2886
+2887
+2888
+2889
+2890
+2891
+2892
+2893
+2894
+2895
+2896
+2897
+2898
+2899
+2900
+2901
+2902
+2903
+2904
+2905
+2906
+2907
+2908
+2909
+2910
+2911
+2912
+2913
+2914
+2915
+2916
+2917
+2918
+2919
+2920
+2921
+2922
+2923
+2924
+2925
+2926
+2927
+2928
+2929
+2930
+2931
+2932
+2933
+2934
+2935
+2936
+2937
+2938
def hbar_lmatvec_ea(f=None, r1=None, r2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:54:42.475767.
+
+    Parameters
+    ----------
+    f : Namespace of arrays
+        Fock matrix.
+    r1 : Namespace of arrays
+        R1 amplitudes.
+    r2 : Namespace of arrays
+        R2 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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp23 = np.copy(ints.tmp19)
+    tmp23 += v.baa.xov
+    tmp23 += ints.tmp16 * 2
+    tmp25 = np.copy(ints.tmp43)
+    tmp25 += v.bbb.xov
+    tmp25 += ints.tmp40 * 2
+    tmp34 = np.copy(ints.tmp16) * 2
+    del ints.tmp16
+    tmp34 += ints.tmp19
+    del ints.tmp19
+    tmp34 += v.baa.xov
+    tmp11 = einsum(t2.abab, (0, 1, 2, 3), r2.aba, (2, 3, 0), (1,))
+    tmp12 = einsum(t2.bbbb, (0, 1, 2, 3), r2.bbb, (2, 3, 1), (0,))
+    tmp24 = einsum(r2.aaa, (0, 1, 2), tmp23, (3, 2, 1), (3, 0)) * -1
+    del tmp23
+    tmp26 = einsum(tmp25, (0, 1, 2), r2.bab, (2, 3, 1), (0, 3)) * -1
+    tmp53 = einsum(r2.bbb, (0, 1, 2), tmp25, (3, 2, 1), (3, 0)) * -1
+    del tmp25
+    tmp39 = np.copy(ints.tmp159)
+    del ints.tmp159
+    tmp39 += np.transpose(ints.tmp168, (1, 0, 3, 2)) * 2
+    del ints.tmp168
+    tmp35 = einsum(r2.aba, (0, 1, 2), tmp34, (3, 2, 0), (3, 1))
+    tmp42 = np.copy(ints.tmp71)
+    tmp42 += ints.tmp73 * 0.5
+    tmp42 += f.bb.vv * -0.5
+    tmp48 = np.copy(tmp11) * -0.5
+    tmp48 += tmp12
+    tmp4 = np.copy(ints.tmp17) * 2
+    del ints.tmp17
+    tmp4 += ints.tmp20
+    del ints.tmp20
+    tmp4 += f.aa.vv * -1
+    tmp5 = einsum(t2.aaaa, (0, 1, 2, 3), r2.aaa, (2, 3, 1), (0,))
+    tmp21 = np.copy(ints.tmp102)
+    tmp21 += np.transpose(ints.tmp111, (1, 0, 3, 2)) * 2
+    tmp6 = einsum(t2.abab, (0, 1, 2, 3), r2.bab, (3, 2, 1), (0,)) * -1
+    tmp27 = np.copy(tmp24) * -2
+    del tmp24
+    tmp27 += tmp26
+    del tmp26
+    tmp54 = einsum(v.bbb.xov, (0, 1, 2), tmp53, (0, 3), (1, 2, 3)) * -1
+    del tmp53
+    tmp52 = einsum(r2.bbb, (0, 1, 2), tmp39, (3, 2, 4, 1), (3, 0, 4)) * -1
+    tmp51 = einsum(r1.b, (0,), ints.tmp68, (1, 2, 0, 3), (1, 2, 3))
+    tmp45 = einsum(ints.tmp166, (0, 1, 2, 3), r2.aba, (2, 4, 0), (1, 3, 4))
+    tmp46 = einsum(tmp35, (0, 1), v.bbb.xov, (0, 2, 3), (2, 3, 1))
+    tmp47 = einsum(tmp42, (0, 1), r2.bbb, (2, 0, 3), (3, 2, 1)) * -4
+    tmp49 = einsum(ints.tmp165, (0, 1, 2, 3), tmp48, (1,), (0, 2, 3)) * 2
+    del tmp48
+    tmp36 = np.copy(ints.tmp40) * 2
+    del ints.tmp40
+    tmp36 += ints.tmp43
+    del ints.tmp43
+    tmp36 += v.bbb.xov
+    tmp16 = einsum(tmp4, (0, 1), r2.aaa, (2, 0, 3), (3, 2, 1)) * -2
+    tmp15 = einsum(ints.tmp110, (0, 1, 2, 3), tmp5, (1,), (0, 2, 3))
+    tmp22 = einsum(tmp21, (0, 1, 2, 3), r2.aaa, (4, 3, 1), (0, 4, 2)) * -1
+    del tmp21
+    tmp18 = einsum(ints.tmp12, (0, 1, 2, 3), r1.a, (2,), (0, 1, 3))
+    tmp20 = einsum(ints.tmp110, (0, 1, 2, 3), tmp6, (1,), (0, 2, 3))
+    tmp19 = einsum(ints.tmp113, (0, 1, 2, 3), r2.bab, (3, 4, 1), (0, 2, 4)) * -1
+    tmp28 = einsum(v.baa.xov, (0, 1, 2), tmp27, (0, 3), (1, 2, 3))
+    del tmp27
+    tmp55 = np.copy(tmp51)
+    del tmp51
+    tmp55 += np.transpose(tmp52, (0, 2, 1)) * -2
+    del tmp52
+    tmp55 += np.transpose(tmp54, (0, 2, 1)) * 2
+    del tmp54
+    tmp44 = einsum(t2.bbbb, (0, 1, 2, 3), r2.bbb, (2, 3, 4), (4, 0, 1))
+    tmp50 = einsum(f.bb.ov, (0, 1), r1.b, (2,), (0, 1, 2))
+    tmp50 += tmp45
+    del tmp45
+    tmp50 += np.transpose(tmp46, (0, 2, 1))
+    del tmp46
+    tmp50 += np.transpose(tmp47, (0, 2, 1))
+    del tmp47
+    tmp50 += tmp49 * -1
+    del tmp49
+    tmp43 = np.copy(f.bb.oo)
+    tmp43 += ints.tmp161 * 2
+    del ints.tmp161
+    tmp43 += ints.tmp163
+    del ints.tmp163
+    tmp7 = np.copy(tmp5)
+    del tmp5
+    tmp7 += tmp6 * 0.5
+    del tmp6
+    tmp40 = np.copy(ints.tmp182)
+    del ints.tmp182
+    tmp40 += np.transpose(ints.tmp183, (1, 0, 3, 2)) * -1
+    del ints.tmp183
+    tmp38 = einsum(t2.abab, (0, 1, 2, 3), r2.bab, (3, 2, 4), (0, 4, 1)) * -1
+    tmp41 = einsum(r2.aaa, (0, 1, 2), tmp34, (3, 2, 1), (3, 0))
+    del tmp34
+    tmp41 += einsum(tmp36, (0, 1, 2), r2.bab, (2, 3, 1), (0, 3)) * -0.5
+    tmp30 = np.copy(f.aa.oo)
+    tmp30 += ints.tmp106 * 2
+    del ints.tmp106
+    tmp30 += ints.tmp108
+    del ints.tmp108
+    tmp10 = np.copy(ints.tmp71) * 2
+    del ints.tmp71
+    tmp10 += ints.tmp73
+    del ints.tmp73
+    tmp10 += f.bb.vv * -1
+    tmp33 = np.copy(ints.tmp102)
+    del ints.tmp102
+    tmp33 += np.transpose(ints.tmp111, (1, 0, 3, 2)) * 2
+    del ints.tmp111
+    tmp13 = np.copy(tmp11) * -1
+    del tmp11
+    tmp13 += tmp12 * 2
+    del tmp12
+    tmp32 = np.copy(ints.tmp157)
+    del ints.tmp157
+    tmp32 += np.transpose(ints.tmp158, (1, 0, 3, 2)) * -1
+    del ints.tmp158
+    tmp31 = einsum(r2.aba, (0, 1, 2), t2.abab, (3, 4, 0, 1), (2, 3, 4))
+    tmp37 = np.copy(tmp35) * -1
+    del tmp35
+    tmp37 += einsum(r2.bbb, (0, 1, 2), tmp36, (3, 2, 1), (3, 0)) * 2
+    del tmp36
+    tmp17 = einsum(r1.a, (0,), f.aa.ov, (1, 2), (1, 2, 0)) * -1
+    tmp17 += tmp15 * 2
+    del tmp15
+    tmp17 += np.transpose(tmp16, (0, 2, 1)) * -1
+    del tmp16
+    tmp29 = np.copy(tmp18)
+    del tmp18
+    tmp29 += tmp19
+    del tmp19
+    tmp29 += tmp20
+    del tmp20
+    tmp29 += np.transpose(tmp22, (0, 2, 1)) * -2
+    del tmp22
+    tmp29 += np.transpose(tmp28, (0, 2, 1))
+    del tmp28
+    tmp14 = einsum(r2.aaa, (0, 1, 2), t2.aaaa, (3, 4, 0, 1), (2, 3, 4))
+    tmp2 = np.copy(f.bb.ov) * 0.5
+    tmp2 += ints.tmp3 * 0.5
+    del ints.tmp3
+    tmp2 += ints.tmp44 * 0.5
+    del ints.tmp44
+    tmp2 += ints.tmp6
+    del ints.tmp6
+    tmp2 += ints.tmp26 * -1
+    del ints.tmp26
+    tmp2 += ints.tmp29 * -0.5
+    del ints.tmp29
+    tmp2 += ints.tmp41 * -1
+    del ints.tmp41
+    tmp8 = np.copy(ints.tmp58)
+    tmp8 += np.transpose(ints.tmp81, (0, 1, 3, 2))
+    del ints.tmp81
+    tmp8 += np.transpose(ints.tmp87, (0, 1, 3, 2))
+    del ints.tmp87
+    tmp8 += np.transpose(ints.tmp93, (0, 1, 3, 2)) * 2
+    del ints.tmp93
+    tmp8 += ints.tmp90 * -1
+    del ints.tmp90
+    tmp8 += np.transpose(ints.tmp97, (0, 1, 3, 2)) * -1
+    del ints.tmp97
+    tmp9 = np.copy(np.transpose(ints.tmp79, (0, 3, 1, 2))) * 0.5
+    del ints.tmp79
+    tmp9 += np.transpose(ints.tmp88, (0, 3, 1, 2))
+    del ints.tmp88
+    tmp9 += np.transpose(ints.tmp95, (0, 3, 1, 2)) * 0.5
+    del ints.tmp95
+    tmp9 += ints.tmp68 * -0.5
+    del ints.tmp68
+    tmp9 += np.transpose(ints.tmp91, (0, 2, 1, 3)) * -1
+    del ints.tmp91
+    tmp3 = np.copy(f.aa.ov) * 0.5
+    tmp3 += ints.tmp1
+    del ints.tmp1
+    tmp3 += ints.tmp46 * 0.5
+    del ints.tmp46
+    tmp3 += ints.tmp4 * 0.5
+    del ints.tmp4
+    tmp3 += ints.tmp23 * -1
+    del ints.tmp23
+    tmp3 += ints.tmp32 * -0.5
+    del ints.tmp32
+    tmp3 += ints.tmp38 * -1
+    del ints.tmp38
+    tmp0 = np.copy(ints.tmp14)
+    tmp0 += np.transpose(ints.tmp36, (0, 2, 1, 3))
+    del ints.tmp36
+    tmp0 += np.transpose(ints.tmp50, (0, 2, 1, 3))
+    del ints.tmp50
+    tmp0 += np.transpose(ints.tmp56, (0, 2, 1, 3)) * 2
+    del ints.tmp56
+    tmp0 += ints.tmp53 * -1
+    del ints.tmp53
+    tmp0 += np.transpose(ints.tmp59, (0, 2, 1, 3)) * -1
+    del ints.tmp59
+    tmp1 = np.copy(np.transpose(ints.tmp34, (0, 3, 1, 2))) * 0.5
+    del ints.tmp34
+    tmp1 += np.transpose(ints.tmp48, (0, 3, 1, 2))
+    del ints.tmp48
+    tmp1 += np.transpose(ints.tmp54, (0, 3, 1, 2)) * 0.5
+    del ints.tmp54
+    tmp1 += ints.tmp12 * -0.5
+    del ints.tmp12
+    tmp1 += np.transpose(ints.tmp51, (0, 2, 1, 3)) * -1
+    del ints.tmp51
+    r2new.bbb = einsum(ints.tmp165, (0, 1, 2, 3), tmp44, (4, 1, 0), (3, 2, 4)) * 2
+    del ints.tmp165, tmp44
+    r2new.bbb += einsum(r2.bbb, (0, 1, 2), ints.tmp200, (3, 0, 4, 1), (3, 4, 2)) * -2
+    del ints.tmp200
+    r2new.bbb += np.transpose(tmp50, (1, 2, 0)) * -1
+    r2new.bbb += np.transpose(tmp50, (2, 1, 0))
+    del tmp50
+    r2new.bbb += np.transpose(tmp55, (1, 2, 0))
+    r2new.bbb += np.transpose(tmp55, (2, 1, 0)) * -1
+    del tmp55
+    r2new.bbb += einsum(tmp43, (0, 1), r2.bbb, (2, 3, 0), (2, 3, 1)) * -2
+    r2new.bab = einsum(ints.tmp146, (0, 1, 2, 3), tmp38, (0, 4, 1), (3, 2, 4)) * -1
+    del tmp38
+    r2new.bab += einsum(r2.bab, (0, 1, 2), ints.tmp149, (3, 1, 4, 0), (4, 3, 2))
+    r2new.bab += einsum(r1.a, (0,), ints.tmp14, (1, 2, 0, 3), (3, 2, 1)) * -1
+    del ints.tmp14
+    r2new.bab += einsum(r1.a, (0,), f.bb.ov, (1, 2), (2, 0, 1)) * -1
+    r2new.bab += einsum(ints.tmp166, (0, 1, 2, 3), r2.aaa, (4, 2, 0), (3, 4, 1)) * 2
+    del ints.tmp166
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp39, (3, 2, 4, 0), (4, 1, 3)) * -1
+    del tmp39
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp40, (3, 2, 4, 1), (0, 4, 3)) * -1
+    del tmp40
+    r2new.bab += einsum(tmp41, (0, 1), v.bbb.xov, (0, 2, 3), (3, 1, 2)) * -2
+    del tmp41
+    r2new.bab += einsum(tmp4, (0, 1), r2.bab, (2, 0, 3), (2, 1, 3)) * -1
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp42, (0, 3), (3, 1, 2)) * -2
+    del tmp42
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp43, (2, 3), (0, 1, 3)) * -1
+    del tmp43
+    r2new.bab += einsum(tmp7, (0,), ints.tmp146, (0, 1, 2, 3), (3, 2, 1)) * 2
+    r2new.aba = einsum(r2.aba, (0, 1, 2), ints.tmp149, (3, 0, 4, 1), (3, 4, 2))
+    del ints.tmp149
+    r2new.aba += einsum(r1.b, (0,), ints.tmp58, (1, 2, 3, 0), (2, 3, 1)) * -1
+    del ints.tmp58
+    r2new.aba += einsum(r1.b, (0,), f.aa.ov, (1, 2), (2, 0, 1)) * -1
+    r2new.aba += einsum(ints.tmp146, (0, 1, 2, 3), tmp31, (4, 0, 1), (2, 3, 4))
+    del tmp31
+    r2new.aba += einsum(r2.bbb, (0, 1, 2), ints.tmp113, (3, 2, 4, 1), (4, 0, 3)) * 2
+    del ints.tmp113
+    r2new.aba += einsum(tmp32, (0, 1, 2, 3), r2.aba, (4, 3, 1), (4, 2, 0)) * -1
+    del tmp32
+    r2new.aba += einsum(tmp33, (0, 1, 2, 3), r2.aba, (3, 4, 1), (2, 4, 0)) * -1
+    del tmp33
+    r2new.aba += einsum(v.baa.xov, (0, 1, 2), tmp37, (0, 3), (2, 3, 1)) * -1
+    del tmp37
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp4, (0, 3), (3, 1, 2)) * -1
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp10, (1, 3), (0, 3, 2)) * -1
+    r2new.aba += einsum(tmp30, (0, 1), r2.aba, (2, 3, 0), (2, 3, 1)) * -1
+    r2new.aba += einsum(tmp13, (0,), ints.tmp146, (1, 0, 2, 3), (2, 3, 1))
+    del ints.tmp146
+    r2new.aaa = einsum(ints.tmp110, (0, 1, 2, 3), tmp14, (4, 1, 0), (3, 2, 4)) * 2
+    del ints.tmp110, tmp14
+    r2new.aaa += einsum(ints.tmp126, (0, 1, 2, 3), r2.aaa, (3, 1, 4), (0, 2, 4)) * 2
+    del ints.tmp126
+    r2new.aaa += np.transpose(tmp17, (1, 2, 0))
+    r2new.aaa += np.transpose(tmp17, (2, 1, 0)) * -1
+    del tmp17
+    r2new.aaa += np.transpose(tmp29, (1, 2, 0))
+    r2new.aaa += np.transpose(tmp29, (2, 1, 0)) * -1
+    del tmp29
+    r2new.aaa += einsum(tmp30, (0, 1), r2.aaa, (2, 3, 0), (2, 3, 1)) * -2
+    del tmp30
+    r1new.b = einsum(r2.aba, (0, 1, 2), tmp8, (2, 0, 3, 1), (3,)) * -1
+    del tmp8
+    r1new.b += einsum(tmp9, (0, 1, 2, 3), r2.bbb, (2, 3, 0), (1,)) * -4
+    del tmp9
+    r1new.b += einsum(tmp3, (0, 1), r2.aba, (1, 2, 0), (2,)) * -2
+    r1new.b += einsum(r2.bbb, (0, 1, 2), tmp2, (2, 1), (0,)) * 4
+    r1new.b += einsum(r1.b, (0,), tmp10, (0, 1), (1,)) * -1
+    del tmp10
+    r1new.b += einsum(f.bb.ov, (0, 1), tmp13, (0,), (1,)) * -1
+    del tmp13
+    r1new.a = einsum(tmp0, (0, 1, 2, 3), r2.bab, (3, 2, 0), (1,)) * -1
+    del tmp0
+    r1new.a += einsum(tmp1, (0, 1, 2, 3), r2.aaa, (3, 2, 0), (1,)) * 4
+    del tmp1
+    r1new.a += einsum(tmp2, (0, 1), r2.bab, (1, 2, 0), (2,)) * -2
+    del tmp2
+    r1new.a += einsum(r2.aaa, (0, 1, 2), tmp3, (2, 1), (0,)) * 4
+    del tmp3
+    r1new.a += einsum(r1.a, (0,), tmp4, (0, 1), (1,)) * -1
+    del tmp4
+    r1new.a += einsum(tmp7, (0,), f.aa.ov, (0, 1), (1,)) * -2
+    del tmp7
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/UDFCCSD/index.html b/reference/codegen/UDFCCSD/index.html new file mode 100644 index 00000000..0429643f --- /dev/null +++ b/reference/codegen/UDFCCSD/index.html @@ -0,0 +1,15865 @@ + + + + + + + + UDFCCSD - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-17T20:39:00.501891
  • +
  • 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.8.0-40-generic
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.UDFCCSD.energy(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:39:01.620927.

+

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.

+ +
+ Source code in ebcc/codegen/UDFCCSD.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
def energy(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:39:01.620927.
+
+    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(t1.bb, (0, 1), v.bbb.xov, (2, 0, 1), (2,))
+    tmp3 = einsum(t1.bb, (0, 1), v.bbb.xov, (2, 3, 1), (2, 0, 3))
+    tmp5 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (3, 2), (0, 3, 1))
+    tmp1 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (1, 2), (0,)) * 0.5
+    tmp1 += tmp0
+    tmp4 = np.copy(f.bb.ov)
+    tmp4 += einsum(tmp3, (0, 1, 2), v.bbb.xov, (0, 1, 3), (2, 3)) * -0.5
+    del tmp3
+    tmp7 = einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (0, 3, 4))
+    tmp7 += einsum(t1.bb, (0, 1), tmp0, (2,), (2, 0, 1)) * 0.5
+    del tmp0
+    tmp6 = np.copy(f.aa.ov) * 2
+    tmp6 += einsum(tmp5, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3)) * -1
+    del tmp5
+    tmp2 = einsum(t2.aaaa, (0, 1, 2, 3), v.baa.xov, (4, 1, 3), (4, 0, 2))
+    tmp2 += einsum(t2.abab, (0, 1, 2, 3), v.bbb.xov, (4, 1, 3), (4, 0, 2))
+    tmp2 += einsum(tmp1, (0,), t1.aa, (1, 2), (0, 1, 2))
+    del tmp1
+    e_cc = einsum(tmp2, (0, 1, 2), v.baa.xov, (0, 1, 2), ())
+    del tmp2
+    e_cc += einsum(t1.bb, (0, 1), tmp4, (0, 1), ())
+    del tmp4
+    e_cc += einsum(tmp6, (0, 1), t1.aa, (0, 1), ()) * 0.5
+    del tmp6
+    e_cc += einsum(tmp7, (0, 1, 2), v.bbb.xov, (0, 1, 2), ())
+    del tmp7
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCCSD.update_amps(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:39:57.454477.

+

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.

+ +
+ Source code in ebcc/codegen/UDFCCSD.py +
 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+845
+846
+847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
+858
+859
+860
+861
+862
+863
+864
+865
+866
+867
+868
+869
+870
+871
+872
def update_amps(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:39:57.454477.
+
+    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()
+    tmp6 = einsum(t1.bb, (0, 1), v.bbb.xov, (2, 0, 1), (2,))
+    tmp5 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (1, 2), (0,))
+    tmp19 = einsum(t1.bb, (0, 1), v.bbb.xov, (2, 3, 1), (2, 0, 3))
+    tmp0 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (3, 2), (0, 3, 1))
+    tmp7 = np.copy(tmp5)
+    tmp7 += tmp6
+    tmp30 = einsum(v.baa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (0, 3, 4))
+    tmp34 = einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (0, 3, 4))
+    tmp20 = einsum(tmp19, (0, 1, 2), v.bbb.xov, (0, 1, 3), (2, 3))
+    tmp148 = einsum(t1.bb, (0, 1), v.bbb.xov, (2, 0, 3), (2, 1, 3))
+    tmp142 = einsum(t1.bb, (0, 1), tmp19, (2, 3, 0), (2, 3, 1))
+    tmp40 = einsum(t1.bb, (0, 1), v.bbb.xvv, (2, 3, 1), (2, 0, 3))
+    tmp9 = np.copy(tmp5)
+    del tmp5
+    tmp9 += tmp6
+    del tmp6
+    tmp17 = einsum(t1.aa, (0, 1), v.baa.xvv, (2, 3, 1), (2, 0, 3))
+    tmp76 = einsum(tmp0, (0, 1, 2), t1.aa, (2, 3), (0, 1, 3))
+    tmp78 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (1, 3), (0, 3, 2))
+    tmp13 = einsum(tmp0, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    tmp3 = einsum(t2.abab, (0, 1, 2, 3), v.bbb.xov, (4, 1, 3), (4, 0, 2))
+    tmp11 = einsum(t2.aaaa, (0, 1, 2, 3), v.baa.xov, (4, 1, 3), (4, 0, 2))
+    tmp35 = np.copy(tmp30)
+    tmp35 += tmp34 * 2
+    tmp35 += einsum(t1.bb, (0, 1), tmp7, (2,), (2, 0, 1))
+    tmp189 = np.copy(f.bb.ov) * -1
+    tmp189 += tmp20
+    tmp199 = np.copy(v.bbb.xvv)
+    tmp199 += np.transpose(tmp148, (0, 2, 1)) * -1
+    tmp165 = np.copy(tmp40)
+    tmp165 += tmp142 * -1
+    tmp33 = einsum(v.bbb.xov, (0, 1, 2), tmp9, (0,), (1, 2))
+    tmp42 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp85 = np.copy(tmp17)
+    tmp85 += tmp76 * -1
+    tmp87 = np.copy(v.baa.xvv)
+    tmp87 += np.transpose(tmp78, (0, 2, 1)) * -1
+    tmp18 = einsum(v.baa.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp72 = np.copy(f.aa.ov) * -1
+    tmp72 += tmp13
+    tmp70 = np.copy(tmp11) * 2
+    tmp70 += tmp3
+    tmp70 += einsum(tmp7, (0,), t1.aa, (1, 2), (0, 1, 2))
+    tmp99 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp36 = einsum(tmp35, (0, 1, 2), v.bbb.xov, (0, 3, 2), (3, 1))
+    del tmp35
+    tmp190 = einsum(t1.bb, (0, 1), tmp189, (2, 1), (2, 0))
+    del tmp189
+    tmp43 = einsum(tmp19, (0, 1, 2), v.bbb.xoo, (0, 3, 1), (3, 2))
+    tmp176 = einsum(v.bbb.xoo, (0, 1, 2), tmp9, (0,), (1, 2))
+    tmp200 = einsum(tmp19, (0, 1, 2), tmp199, (0, 3, 4), (1, 2, 3, 4))
+    tmp166 = einsum(tmp165, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp41 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp94 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp217 = einsum(tmp19, (0, 1, 2), tmp19, (0, 3, 4), (3, 1, 4, 2))
+    tmp132 = np.copy(f.bb.ov)
+    tmp132 += tmp20 * -1
+    tmp132 += tmp33
+    tmp185 = einsum(v.bbb.xoo, (0, 1, 2), tmp19, (0, 3, 4), (3, 1, 2, 4))
+    tmp194 = np.copy(v.bbb.xvv)
+    tmp194 += np.transpose(tmp148, (0, 2, 1)) * -1
+    tmp158 = einsum(t1.bb, (0, 1), tmp42, (2, 0, 3, 4), (2, 3, 1, 4))
+    tmp205 = einsum(v.bbb.xoo, (0, 1, 2), tmp199, (0, 3, 4), (1, 2, 3, 4))
+    del tmp199
+    tmp153 = einsum(t1.aa, (0, 1), v.baa.xoo, (2, 3, 0), (2, 3, 1))
+    tmp145 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp37 = np.copy(f.bb.ov)
+    tmp37 += tmp20 * -1
+    tmp55 = np.copy(tmp17)
+    tmp55 += tmp11 * 2
+    tmp55 += tmp3
+    tmp55 += einsum(tmp7, (0,), t1.aa, (1, 2), (0, 1, 2))
+    tmp14 = np.copy(f.aa.ov)
+    tmp14 += tmp13 * -1
+    tmp64 = einsum(tmp0, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp25 = einsum(tmp0, (0, 1, 2), v.baa.xoo, (0, 3, 1), (3, 2))
+    tmp49 = einsum(tmp9, (0,), v.baa.xoo, (0, 1, 2), (1, 2))
+    tmp79 = np.copy(v.baa.xvv)
+    tmp79 += np.transpose(tmp78, (0, 2, 1)) * -1
+    tmp16 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp86 = einsum(tmp85, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp88 = einsum(tmp0, (0, 1, 2), tmp87, (0, 3, 4), (1, 2, 3, 4))
+    tmp10 = einsum(v.baa.xov, (0, 1, 2), tmp9, (0,), (1, 2))
+    tmp96 = einsum(tmp87, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    del tmp87
+    tmp92 = einsum(tmp18, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3))
+    tmp73 = einsum(tmp72, (0, 1), t1.aa, (2, 1), (2, 0)) * 0.5
+    del tmp72
+    tmp71 = einsum(tmp70, (0, 1, 2), v.baa.xov, (0, 3, 2), (3, 1)) * 0.5
+    del tmp70
+    tmp111 = einsum(tmp0, (0, 1, 2), tmp0, (0, 3, 4), (3, 1, 4, 2))
+    tmp224 = einsum(tmp99, (0, 1, 2, 3), t2.bbbb, (4, 5, 3, 2), (4, 5, 1, 0))
+    tmp220 = einsum(tmp40, (0, 1, 2), tmp19, (0, 3, 4), (3, 1, 4, 2))
+    tmp197 = np.copy(tmp40) * -1
+    tmp197 += tmp142
+    tmp191 = np.copy(np.transpose(tmp36, (1, 0)))
+    tmp191 += np.transpose(tmp190, (1, 0)) * -1
+    del tmp190
+    tmp183 = einsum(tmp40, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp180 = np.copy(tmp40)
+    tmp180 += tmp30
+    tmp180 += tmp34 * 2
+    tmp180 += einsum(t1.bb, (0, 1), tmp7, (2,), (2, 0, 1))
+    tmp177 = np.copy(f.bb.oo)
+    tmp177 += np.transpose(tmp43, (1, 0)) * -1
+    tmp177 += np.transpose(tmp176, (1, 0))
+    del tmp176
+    tmp229 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 2, 4))
+    tmp201 = np.copy(np.transpose(tmp166, (1, 0, 3, 2))) * -1
+    tmp201 += np.transpose(tmp200, (0, 1, 3, 2))
+    del tmp200
+    tmp129 = np.copy(tmp30)
+    tmp129 += tmp34 * 2
+    tmp44 = einsum(v.bbb.xoo, (0, 1, 2), tmp7, (0,), (1, 2))
+    tmp104 = np.copy(np.transpose(tmp99, (1, 0, 2, 3))) * -1
+    tmp104 += np.transpose(tmp99, (1, 0, 3, 2))
+    tmp127 = np.copy(tmp30) * 0.5
+    tmp127 += tmp34
+    tmp144 = einsum(t1.bb, (0, 1), tmp41, (2, 3, 0, 4), (2, 3, 4, 1))
+    tmp210 = np.copy(np.transpose(tmp94, (1, 0, 2, 3)))
+    tmp210 += np.transpose(tmp94, (1, 0, 3, 2)) * -1
+    tmp28 = einsum(v.bbb.xov, (0, 1, 2), tmp19, (0, 3, 4), (3, 1, 4, 2))
+    tmp143 = np.copy(v.bbb.xov)
+    tmp143 += tmp40
+    tmp143 += tmp142 * -1
+    tmp207 = np.copy(np.transpose(tmp94, (1, 0, 2, 3)))
+    tmp207 += np.transpose(tmp94, (1, 0, 3, 2)) * -1
+    tmp222 = einsum(tmp217, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4))
+    tmp131 = einsum(v.bbb.xvv, (0, 1, 2), tmp9, (0,), (1, 2))
+    tmp130 = einsum(tmp40, (0, 1, 2), v.bbb.xov, (0, 1, 3), (3, 2))
+    tmp133 = einsum(t1.bb, (0, 1), tmp132, (0, 2), (1, 2))
+    del tmp132
+    tmp187 = einsum(tmp185, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+    tmp212 = einsum(tmp30, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp174 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp193 = np.copy(tmp40)
+    tmp193 += tmp142 * -1
+    tmp226 = einsum(tmp194, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 2, 1, 4))
+    tmp214 = np.copy(tmp158)
+    tmp214 += np.transpose(tmp205, (1, 0, 3, 2))
+    tmp100 = np.copy(np.transpose(tmp99, (1, 0, 2, 3))) * -1
+    tmp100 += np.transpose(tmp99, (1, 0, 3, 2))
+    tmp154 = np.copy(tmp153) * -1
+    del tmp153
+    tmp154 += tmp11 * 2
+    tmp154 += tmp3
+    tmp12 = np.copy(tmp11)
+    tmp12 += tmp3 * 0.5
+    tmp12 += einsum(tmp7, (0,), t1.aa, (1, 2), (0, 1, 2)) * 0.5
+    tmp169 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp149 = np.copy(v.bbb.xvv)
+    tmp149 += tmp148 * -1
+    tmp146 = np.copy(v.baa.xvv)
+    tmp146 += tmp78 * -1
+    tmp140 = np.copy(v.baa.xvv)
+    tmp140 += tmp78 * -1
+    del tmp78
+    tmp162 = np.copy(v.bbb.xvv)
+    tmp162 += tmp148 * -1
+    del tmp148
+    tmp161 = einsum(t1.bb, (0, 1), tmp145, (2, 0, 3, 4), (2, 3, 1, 4))
+    tmp38 = einsum(t1.bb, (0, 1), tmp37, (2, 1), (0, 2))
+    tmp56 = einsum(v.baa.xov, (0, 1, 2), tmp55, (0, 1, 3), (2, 3))
+    del tmp55
+    tmp57 = einsum(tmp7, (0,), v.baa.xvv, (0, 1, 2), (1, 2))
+    tmp58 = einsum(tmp14, (0, 1), t1.aa, (0, 2), (2, 1))
+    tmp77 = np.copy(tmp17)
+    tmp77 += tmp76 * -1
+    tmp102 = np.copy(np.transpose(tmp94, (1, 0, 2, 3))) * -1
+    tmp102 += np.transpose(tmp94, (1, 0, 3, 2))
+    tmp52 = np.copy(tmp11) * 2
+    tmp52 += tmp3
+    tmp68 = einsum(t1.aa, (0, 1), tmp64, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp83 = np.copy(tmp17) * -1
+    tmp83 += tmp76
+    tmp50 = np.copy(f.aa.oo)
+    tmp50 += np.transpose(tmp25, (1, 0)) * -1
+    tmp50 += np.transpose(tmp49, (1, 0))
+    del tmp49
+    tmp120 = einsum(v.baa.xov, (0, 1, 2), tmp79, (0, 3, 4), (1, 4, 3, 2))
+    tmp106 = einsum(tmp3, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp66 = einsum(tmp17, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp98 = einsum(tmp16, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3))
+    tmp46 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp95 = np.copy(np.transpose(tmp94, (1, 0, 2, 3))) * -1
+    tmp95 += np.transpose(tmp94, (1, 0, 3, 2))
+    tmp89 = np.copy(np.transpose(tmp86, (1, 0, 3, 2))) * -1
+    tmp89 += np.transpose(tmp88, (0, 1, 3, 2))
+    del tmp88
+    tmp62 = np.copy(f.aa.ov)
+    tmp62 += tmp13 * -1
+    tmp62 += tmp10
+    tmp81 = np.copy(v.baa.xov)
+    tmp81 += tmp17
+    tmp81 += tmp76 * -1
+    del tmp76
+    tmp26 = einsum(tmp7, (0,), v.baa.xoo, (0, 1, 2), (1, 2))
+    tmp60 = np.copy(tmp11) * 2
+    tmp60 += tmp3
+    tmp1 = einsum(v.baa.xov, (0, 1, 2), tmp0, (0, 3, 4), (3, 1, 4, 2))
+    tmp108 = np.copy(tmp92)
+    tmp108 += np.transpose(tmp96, (1, 0, 3, 2))
+    tmp118 = einsum(t2.aaaa, (0, 1, 2, 3), tmp94, (4, 5, 3, 2), (0, 1, 5, 4))
+    tmp123 = einsum(v.baa.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp74 = np.copy(np.transpose(tmp71, (1, 0)))
+    del tmp71
+    tmp74 += tmp73 * -1
+    del tmp73
+    tmp114 = einsum(tmp17, (0, 1, 2), tmp0, (0, 3, 4), (3, 1, 4, 2))
+    tmp116 = einsum(t1.aa, (0, 1), tmp111, (2, 3, 0, 4), (3, 2, 4, 1))
+    tmp31 = np.copy(t2.bbbb)
+    tmp31 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3)) * -0.5
+    tmp23 = einsum(v.baa.xov, (0, 1, 2), tmp7, (0,), (1, 2))
+    tmp21 = einsum(tmp7, (0,), v.bbb.xov, (0, 1, 2), (1, 2))
+    tmp4 = np.copy(t2.aaaa)
+    tmp4 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -0.5
+    tmp219 = einsum(tmp40, (0, 1, 2), tmp40, (0, 3, 4), (3, 1, 4, 2))
+    tmp225 = einsum(t2.bbbb, (0, 1, 2, 3), tmp224, (4, 5, 0, 1), (5, 4, 2, 3)) * -1
+    del tmp224
+    tmp221 = einsum(t1.bb, (0, 1), tmp220, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp220
+    tmp173 = np.copy(t2.bbbb)
+    tmp173 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) * 2
+    tmp198 = einsum(tmp197, (0, 1, 2), tmp30, (0, 3, 4), (1, 3, 2, 4))
+    del tmp197
+    tmp192 = einsum(t2.bbbb, (0, 1, 2, 3), tmp191, (4, 1), (4, 0, 2, 3)) * -1
+    del tmp191
+    tmp184 = einsum(t1.bb, (0, 1), tmp183, (2, 0, 3, 4), (2, 3, 1, 4))
+    del tmp183
+    tmp181 = np.copy(f.bb.vv) * -1
+    tmp181 += einsum(v.bbb.xov, (0, 1, 2), tmp180, (0, 1, 3), (2, 3))
+    del tmp180
+    tmp181 += einsum(tmp7, (0,), v.bbb.xvv, (0, 1, 2), (1, 2)) * -1
+    tmp181 += einsum(tmp37, (0, 1), t1.bb, (0, 2), (1, 2))
+    del tmp37
+    tmp178 = einsum(t2.bbbb, (0, 1, 2, 3), tmp177, (1, 4), (4, 0, 2, 3)) * -1
+    del tmp177
+    tmp203 = einsum(tmp165, (0, 1, 2), tmp30, (0, 3, 4), (3, 1, 4, 2))
+    tmp230 = einsum(tmp229, (0, 1, 2, 3), t2.bbbb, (4, 5, 2, 3), (4, 5, 0, 1)) * -1
+    del tmp229
+    tmp202 = einsum(t2.bbbb, (0, 1, 2, 3), tmp201, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp201
+    tmp182 = einsum(tmp129, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp45 = np.copy(f.bb.oo)
+    tmp45 += np.transpose(tmp43, (1, 0)) * -1
+    del tmp43
+    tmp45 += np.transpose(tmp44, (1, 0))
+    del tmp44
+    tmp218 = einsum(tmp217, (0, 1, 2, 3), t2.bbbb, (3, 2, 4, 5), (1, 0, 4, 5))
+    del tmp217
+    tmp209 = np.copy(tmp158) * 0.5
+    tmp209 += einsum(t2.bbbb, (0, 1, 2, 3), tmp104, (1, 4, 3, 5), (0, 4, 2, 5)) * -1
+    tmp209 += einsum(tmp194, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 2, 1)) * 0.5
+    tmp204 = einsum(tmp34, (0, 1, 2), tmp30, (0, 3, 4), (3, 1, 4, 2))
+    tmp128 = einsum(tmp127, (0, 1, 2), v.bbb.xov, (0, 1, 3), (3, 2))
+    del tmp127
+    tmp211 = np.copy(tmp144)
+    tmp211 += einsum(t2.abab, (0, 1, 2, 3), tmp210, (0, 4, 2, 5), (4, 1, 5, 3))
+    del tmp210
+    tmp228 = einsum(t1.bb, (0, 1), tmp28, (2, 3, 0, 4), (2, 3, 1, 4))
+    tmp186 = einsum(tmp185, (0, 1, 2, 3), t2.bbbb, (1, 3, 4, 5), (0, 2, 4, 5))
+    del tmp185
+    tmp196 = einsum(tmp143, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp208 = np.copy(tmp144)
+    tmp208 += einsum(t2.abab, (0, 1, 2, 3), tmp207, (0, 4, 2, 5), (4, 1, 5, 3))
+    del tmp207
+    tmp223 = einsum(t1.bb, (0, 1), tmp222, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp222
+    tmp134 = np.copy(f.bb.vv)
+    tmp134 += tmp130 * -1
+    del tmp130
+    tmp134 += np.transpose(tmp131, (1, 0))
+    del tmp131
+    tmp134 += np.transpose(tmp133, (1, 0)) * -1
+    del tmp133
+    tmp188 = einsum(t1.bb, (0, 1), tmp187, (2, 0, 3, 4), (2, 3, 1, 4))
+    del tmp187
+    tmp213 = einsum(t1.bb, (0, 1), tmp212, (2, 0, 3, 4), (2, 3, 1, 4))
+    del tmp212
+    tmp175 = einsum(tmp174, (0, 1, 2, 3), t2.bbbb, (1, 3, 4, 5), (2, 0, 4, 5))
+    tmp216 = einsum(tmp40, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 4, 2))
+    tmp179 = einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3)) * 2
+    tmp179 += t2.bbbb * -1
+    tmp195 = einsum(v.bbb.xov, (0, 1, 2), tmp193, (0, 3, 4), (3, 1, 4, 2)) * -1
+    del tmp193
+    tmp195 += einsum(tmp194, (0, 1, 2), tmp19, (0, 3, 4), (3, 4, 2, 1))
+    del tmp194
+    tmp227 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (3, 1, 2, 4))
+    tmp227 += einsum(t1.bb, (0, 1), tmp226, (0, 2, 3, 4), (4, 3, 1, 2))
+    del tmp226
+    tmp215 = einsum(t2.bbbb, (0, 1, 2, 3), tmp214, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp214
+    tmp206 = np.copy(tmp158)
+    tmp206 += einsum(t2.bbbb, (0, 1, 2, 3), tmp100, (1, 4, 3, 5), (0, 4, 2, 5)) * -2
+    tmp206 += np.transpose(tmp205, (1, 0, 3, 2))
+    del tmp205
+    tmp156 = einsum(tmp99, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2)) * -1
+    del tmp99
+    tmp156 += einsum(v.bbb.xov, (0, 1, 2), tmp154, (0, 3, 4), (3, 1, 4, 2))
+    tmp152 = einsum(tmp0, (0, 1, 2), tmp19, (0, 3, 4), (1, 2, 3, 4))
+    tmp171 = einsum(v.baa.xoo, (0, 1, 2), tmp40, (0, 3, 4), (1, 2, 3, 4))
+    tmp126 = np.copy(t2.abab)
+    tmp126 += einsum(t1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) * 2
+    tmp137 = einsum(tmp17, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp138 = einsum(tmp12, (0, 1, 2), v.baa.xov, (0, 3, 2), (3, 1))
+    tmp138 += einsum(t1.aa, (0, 1), tmp14, (2, 1), (2, 0)) * 0.5
+    tmp172 = einsum(tmp0, (0, 1, 2), tmp40, (0, 3, 4), (1, 2, 3, 4))
+    tmp157 = einsum(tmp11, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp160 = einsum(tmp145, (0, 1, 2, 3), t2.abab, (4, 5, 2, 3), (4, 0, 5, 1))
+    tmp170 = einsum(t2.abab, (0, 1, 2, 3), tmp169, (4, 2, 5, 3), (0, 4, 1, 5))
+    del tmp169
+    tmp136 = np.copy(t2.abab)
+    tmp136 += einsum(t1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1))
+    tmp167 = np.copy(np.transpose(tmp166, (1, 0, 2, 3))) * -1
+    del tmp166
+    tmp167 += einsum(tmp19, (0, 1, 2), tmp149, (0, 3, 4), (1, 2, 4, 3))
+    tmp147 = einsum(t2.abab, (0, 1, 2, 3), tmp145, (0, 4, 5, 3), (4, 1, 5, 2))
+    del tmp145
+    tmp147 += einsum(tmp146, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 2, 1)) * -1
+    tmp159 = np.copy(np.transpose(tmp158, (1, 0, 3, 2)))
+    tmp159 += einsum(v.bbb.xoo, (0, 1, 2), tmp149, (0, 3, 4), (1, 2, 4, 3))
+    tmp141 = einsum(tmp140, (0, 1, 2), tmp19, (0, 3, 4), (3, 4, 2, 1))
+    del tmp140
+    tmp139 = einsum(tmp0, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 2, 3, 4))
+    tmp163 = einsum(tmp161, (0, 1, 2, 3), t1.aa, (0, 4), (1, 4, 3, 2))
+    del tmp161
+    tmp163 += einsum(v.baa.xvv, (0, 1, 2), tmp162, (0, 3, 4), (1, 2, 4, 3))
+    del tmp162
+    tmp164 = np.copy(np.transpose(tmp86, (1, 0, 2, 3))) * -1
+    del tmp86
+    tmp164 += einsum(tmp0, (0, 1, 2), tmp146, (0, 3, 4), (1, 2, 4, 3))
+    tmp39 = np.copy(tmp36)
+    del tmp36
+    tmp39 += np.transpose(tmp38, (1, 0))
+    del tmp38
+    tmp125 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp151 = np.copy(v.bbb.xov)
+    tmp151 += tmp40
+    tmp151 += tmp142 * -1
+    del tmp142
+    tmp2 = einsum(tmp0, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 2, 3, 4))
+    tmp135 = einsum(tmp19, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp59 = np.copy(f.aa.vv) * -1
+    tmp59 += tmp56
+    del tmp56
+    tmp59 += np.transpose(tmp57, (1, 0)) * -1
+    del tmp57
+    tmp59 += np.transpose(tmp58, (1, 0))
+    del tmp58
+    tmp168 = einsum(tmp0, (0, 1, 2), tmp149, (0, 3, 4), (1, 2, 4, 3))
+    tmp155 = einsum(t2.aaaa, (0, 1, 2, 3), tmp94, (1, 4, 5, 3), (4, 0, 5, 2)) * 2
+    del tmp94
+    tmp155 += einsum(v.baa.xov, (0, 1, 2), tmp154, (0, 3, 4), (1, 3, 2, 4)) * -1
+    del tmp154
+    tmp155 += einsum(tmp146, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 2, 1))
+    del tmp146
+    tmp150 = einsum(v.baa.xoo, (0, 1, 2), tmp149, (0, 3, 4), (1, 2, 4, 3))
+    del tmp149
+    tmp80 = einsum(v.baa.xov, (0, 1, 2), tmp77, (0, 3, 4), (3, 1, 4, 2)) * -1
+    del tmp77
+    tmp80 += einsum(tmp0, (0, 1, 2), tmp79, (0, 3, 4), (1, 2, 4, 3))
+    del tmp0
+    tmp91 = einsum(tmp3, (0, 1, 2), tmp85, (0, 3, 4), (1, 3, 2, 4))
+    tmp103 = np.copy(tmp92)
+    tmp103 += einsum(tmp102, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3)) * -2
+    del tmp102
+    tmp103 += einsum(v.baa.xoo, (0, 1, 2), tmp79, (0, 3, 4), (1, 2, 4, 3))
+    del tmp79
+    tmp53 = einsum(tmp52, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    del tmp52
+    tmp69 = einsum(tmp68, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3))
+    del tmp68
+    tmp84 = einsum(tmp3, (0, 1, 2), tmp83, (0, 3, 4), (1, 3, 2, 4))
+    del tmp83
+    tmp51 = einsum(t2.aaaa, (0, 1, 2, 3), tmp50, (1, 4), (0, 4, 2, 3)) * -1
+    tmp121 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (3, 1, 2, 4))
+    tmp121 += einsum(tmp120, (0, 1, 2, 3), t1.aa, (0, 4), (3, 2, 4, 1))
+    del tmp120
+    tmp107 = einsum(tmp106, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3))
+    del tmp106
+    tmp67 = einsum(tmp66, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3))
+    del tmp66
+    tmp65 = einsum(t2.aaaa, (0, 1, 2, 3), tmp64, (4, 0, 5, 1), (4, 5, 2, 3))
+    del tmp64
+    tmp105 = np.copy(tmp98)
+    tmp105 += einsum(tmp104, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3)) * -1
+    del tmp104
+    tmp93 = einsum(tmp3, (0, 1, 2), tmp11, (0, 3, 4), (3, 1, 4, 2))
+    tmp54 = einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * 2
+    tmp54 += t2.aaaa * -1
+    tmp47 = np.copy(t2.aaaa)
+    tmp47 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) * 2
+    tmp48 = einsum(t2.aaaa, (0, 1, 2, 3), tmp46, (4, 0, 5, 1), (5, 4, 2, 3))
+    tmp97 = np.copy(tmp92)
+    tmp97 += einsum(tmp95, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3)) * -2
+    del tmp95
+    tmp97 += np.transpose(tmp96, (1, 0, 3, 2))
+    del tmp96
+    tmp90 = einsum(t2.aaaa, (0, 1, 2, 3), tmp89, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp89
+    tmp112 = einsum(t2.aaaa, (0, 1, 2, 3), tmp111, (4, 5, 1, 0), (5, 4, 2, 3))
+    del tmp111
+    tmp63 = np.copy(f.aa.vv)
+    tmp63 += einsum(tmp17, (0, 1, 2), v.baa.xov, (0, 1, 3), (3, 2)) * -1
+    tmp63 += einsum(v.baa.xvv, (0, 1, 2), tmp9, (0,), (1, 2))
+    del tmp9
+    tmp63 += einsum(t1.aa, (0, 1), tmp62, (0, 2), (2, 1)) * -1
+    del tmp62
+    tmp82 = einsum(tmp81, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2))
+    del tmp81
+    tmp27 = np.copy(f.aa.oo)
+    tmp27 += np.transpose(tmp25, (1, 0)) * -1
+    del tmp25
+    tmp27 += np.transpose(tmp26, (1, 0))
+    del tmp26
+    tmp61 = einsum(v.baa.xov, (0, 1, 2), tmp60, (0, 3, 4), (1, 3, 2, 4))
+    tmp122 = einsum(tmp1, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    tmp109 = einsum(t2.aaaa, (0, 1, 2, 3), tmp108, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp108
+    tmp119 = einsum(tmp118, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (1, 0, 4, 5)) * -1
+    del tmp118
+    tmp124 = einsum(t2.aaaa, (0, 1, 2, 3), tmp123, (4, 5, 2, 3), (0, 1, 4, 5)) * -1
+    del tmp123
+    tmp101 = np.copy(tmp98)
+    tmp101 += einsum(t2.abab, (0, 1, 2, 3), tmp100, (1, 4, 3, 5), (0, 4, 2, 5)) * -1
+    del tmp100
+    tmp110 = einsum(tmp17, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 4, 2))
+    tmp75 = einsum(tmp74, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) * -2
+    del tmp74
+    tmp113 = einsum(tmp17, (0, 1, 2), tmp17, (0, 3, 4), (1, 3, 2, 4))
+    tmp115 = einsum(tmp114, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    del tmp114
+    tmp117 = einsum(tmp116, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    del tmp116
+    tmp32 = np.copy(tmp30) * 0.5
+    del tmp30
+    tmp32 += einsum(v.bbb.xov, (0, 1, 2), tmp31, (1, 3, 2, 4), (0, 3, 4))
+    del tmp31
+    tmp32 += einsum(t1.bb, (0, 1), tmp7, (2,), (2, 0, 1)) * 0.5
+    tmp24 = np.copy(f.aa.ov)
+    tmp24 += tmp13 * -1
+    del tmp13
+    tmp24 += tmp23
+    del tmp23
+    tmp29 = einsum(v.baa.xov, (0, 1, 2), tmp19, (0, 3, 4), (1, 3, 4, 2))
+    del tmp19
+    tmp22 = np.copy(f.bb.ov)
+    tmp22 += tmp20 * -1
+    del tmp20
+    tmp22 += tmp21
+    del tmp21
+    tmp8 = np.copy(tmp3) * 0.5
+    del tmp3
+    tmp8 += einsum(v.baa.xov, (0, 1, 2), tmp4, (1, 3, 2, 4), (0, 3, 4))
+    del tmp4
+    tmp8 += einsum(tmp7, (0,), t1.aa, (1, 2), (0, 1, 2)) * 0.5
+    del tmp7
+    tmp15 = einsum(tmp12, (0, 1, 2), v.baa.xov, (0, 3, 2), (3, 1)) * 2
+    del tmp12
+    tmp15 += einsum(t1.aa, (0, 1), tmp14, (2, 1), (2, 0))
+    del tmp14
+    t2new.bbbb = einsum(tmp45, (0, 1), t2.bbbb, (2, 0, 3, 4), (2, 1, 3, 4)) * -1
+    t2new.bbbb += einsum(tmp174, (0, 1, 2, 3), tmp173, (0, 2, 4, 5), (1, 3, 5, 4)) * 0.5
+    del tmp173
+    t2new.bbbb += np.transpose(tmp175, (0, 1, 3, 2)) * -1
+    del tmp175
+    t2new.bbbb += np.transpose(tmp178, (1, 0, 3, 2)) * -1
+    t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp128, (3, 4), (0, 1, 2, 4)) * -4
+    t2new.bbbb += np.transpose(tmp178, (0, 1, 3, 2)) * 2
+    del tmp178
+    t2new.bbbb += einsum(tmp174, (0, 1, 2, 3), tmp179, (0, 2, 4, 5), (1, 3, 5, 4)) * -0.5
+    del tmp174, tmp179
+    t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp181, (3, 4), (0, 1, 4, 2)) * 2
+    del tmp181
+    t2new.bbbb += tmp182
+    t2new.bbbb += einsum(tmp134, (0, 1), t2.bbbb, (2, 3, 4, 0), (2, 3, 4, 1)) * 2
+    t2new.bbbb += np.transpose(tmp182, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp184, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp186, (1, 0, 3, 2)) * -2
+    t2new.bbbb += np.transpose(tmp188, (1, 0, 2, 3))
+    t2new.bbbb += np.transpose(tmp188, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp192, (1, 0, 3, 2)) * -2
+    t2new.bbbb += np.transpose(tmp184, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp184, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp186, (0, 1, 3, 2)) * 2
+    del tmp186
+    t2new.bbbb += tmp188 * -1
+    t2new.bbbb += np.transpose(tmp188, (0, 1, 3, 2))
+    del tmp188
+    t2new.bbbb += np.transpose(tmp192, (0, 1, 3, 2)) * 2
+    del tmp192
+    t2new.bbbb += tmp184
+    del tmp184
+    t2new.bbbb += einsum(tmp195, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 2, 5)) * 2
+    del tmp195
+    t2new.bbbb += tmp196
+    t2new.bbbb += np.transpose(tmp198, (1, 0, 2, 3))
+    t2new.bbbb += tmp202 * -2
+    t2new.bbbb += np.transpose(tmp196, (1, 0, 2, 3)) * -1
+    del tmp196
+    t2new.bbbb += np.transpose(tmp203, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp158, (0, 1, 3, 2))
+    t2new.bbbb += tmp204 * 2
+    t2new.bbbb += np.transpose(tmp204, (1, 0, 3, 2)) * 2
+    t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp206, (4, 1, 5, 3), (4, 0, 5, 2)) * -2
+    del tmp206
+    t2new.bbbb += einsum(t2.abab, (0, 1, 2, 3), tmp208, (0, 4, 2, 5), (4, 1, 5, 3)) * -1
+    del tmp208
+    t2new.bbbb += np.transpose(tmp158, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp204, (0, 1, 3, 2)) * -2
+    t2new.bbbb += np.transpose(tmp204, (1, 0, 2, 3)) * -2
+    del tmp204
+    t2new.bbbb += einsum(tmp209, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 2, 5)) * 4
+    del tmp209
+    t2new.bbbb += einsum(t2.abab, (0, 1, 2, 3), tmp211, (0, 4, 2, 5), (1, 4, 5, 3))
+    del tmp211
+    t2new.bbbb += tmp158 * -1
+    t2new.bbbb += np.transpose(tmp213, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp215, (0, 1, 3, 2)) * 2
+    t2new.bbbb += np.transpose(tmp158, (1, 0, 2, 3))
+    del tmp158
+    t2new.bbbb += np.transpose(tmp213, (0, 1, 3, 2)) * -1
+    del tmp213
+    t2new.bbbb += np.transpose(tmp215, (1, 0, 3, 2)) * -2
+    del tmp215
+    t2new.bbbb += np.transpose(tmp216, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp218, (0, 1, 3, 2)) * -2
+    del tmp218
+    t2new.bbbb += tmp219
+    t2new.bbbb += np.transpose(tmp219, (0, 1, 3, 2)) * -1
+    del tmp219
+    t2new.bbbb += np.transpose(tmp221, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp221, (1, 0, 3, 2)) * -1
+    t2new.bbbb += tmp223
+    t2new.bbbb += np.transpose(tmp223, (0, 1, 3, 2)) * -1
+    del tmp223
+    t2new.bbbb += np.transpose(tmp216, (1, 0, 3, 2)) * -1
+    del tmp216
+    t2new.bbbb += tmp225 * 2
+    del tmp225
+    t2new.bbbb += einsum(tmp227, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (4, 5, 3, 2)) * 2
+    del tmp227
+    t2new.bbbb += np.transpose(tmp182, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp182, (1, 0, 3, 2))
+    del tmp182
+    t2new.bbbb += np.transpose(tmp228, (1, 0, 2, 3))
+    t2new.bbbb += np.transpose(tmp202, (1, 0, 3, 2)) * -2
+    t2new.bbbb += np.transpose(tmp198, (1, 0, 3, 2)) * -1
+    del tmp198
+    t2new.bbbb += tmp228 * -1
+    del tmp228
+    t2new.bbbb += np.transpose(tmp202, (0, 1, 3, 2)) * 2
+    del tmp202
+    t2new.bbbb += np.transpose(tmp203, (1, 0, 2, 3)) * -1
+    del tmp203
+    t2new.bbbb += einsum(t1.bb, (0, 1), tmp230, (2, 3, 0, 4), (2, 3, 1, 4)) * -2
+    del tmp230
+    t2new.bbbb += tmp221 * -1
+    t2new.bbbb += np.transpose(tmp221, (1, 0, 2, 3))
+    del tmp221
+    t2new.abab = einsum(t2.abab, (0, 1, 2, 3), tmp45, (1, 4), (0, 4, 2, 3)) * -1
+    t2new.abab += einsum(tmp126, (0, 1, 2, 3), tmp125, (0, 4, 1, 5), (4, 5, 2, 3)) * 0.5
+    del tmp126
+    t2new.abab += einsum(tmp125, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5)) * 0.5
+    del tmp125
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp128, (3, 4), (0, 1, 2, 4)) * -2
+    del tmp128
+    t2new.abab += einsum(tmp50, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1
+    del tmp50
+    t2new.abab += einsum(tmp59, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1
+    t2new.abab += einsum(v.baa.xov, (0, 1, 2), tmp129, (0, 3, 4), (1, 3, 2, 4))
+    del tmp129
+    t2new.abab += einsum(tmp134, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1))
+    del tmp134
+    t2new.abab += einsum(tmp39, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1
+    t2new.abab += einsum(tmp135, (0, 1, 2, 3), tmp136, (1, 3, 4, 5), (0, 2, 4, 5))
+    del tmp135
+    t2new.abab += einsum(t1.bb, (0, 1), tmp137, (2, 0, 3, 4), (2, 3, 4, 1)) * -1
+    del tmp137
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp138, (0, 4), (4, 1, 2, 3)) * -2
+    del tmp138
+    t2new.abab += einsum(tmp139, (0, 1, 2, 3), tmp136, (1, 2, 4, 5), (0, 3, 4, 5))
+    del tmp139
+    t2new.abab += einsum(tmp141, (0, 1, 2, 3), t2.abab, (4, 1, 2, 5), (4, 0, 3, 5)) * -1
+    del tmp141
+    t2new.abab += einsum(v.baa.xov, (0, 1, 2), tmp143, (0, 3, 4), (1, 3, 2, 4))
+    del tmp143
+    t2new.abab += tmp144 * -1
+    del tmp144
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp147, (1, 4, 2, 5), (0, 4, 5, 3))
+    del tmp147
+    t2new.abab += tmp98 * -1
+    del tmp98
+    t2new.abab += einsum(tmp150, (0, 1, 2, 3), t2.abab, (0, 4, 5, 2), (1, 4, 5, 3)) * -1
+    del tmp150
+    t2new.abab += einsum(tmp17, (0, 1, 2), tmp151, (0, 3, 4), (1, 3, 2, 4))
+    del tmp151
+    t2new.abab += einsum(tmp152, (0, 1, 2, 3), tmp136, (1, 3, 4, 5), (0, 2, 4, 5))
+    del tmp136, tmp152
+    t2new.abab += einsum(tmp155, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5)) * -1
+    del tmp155
+    t2new.abab += einsum(tmp156, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 4, 2, 5)) * 2
+    del tmp156
+    t2new.abab += einsum(v.bbb.xov, (0, 1, 2), tmp60, (0, 3, 4), (3, 1, 4, 2))
+    del tmp60
+    t2new.abab += einsum(t1.bb, (0, 1), tmp157, (2, 0, 3, 4), (2, 3, 4, 1)) * -2
+    del tmp157
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp159, (1, 4, 3, 5), (0, 4, 2, 5)) * -1
+    del tmp159
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp160, (4, 0, 5, 1), (4, 5, 2, 3))
+    del tmp160
+    t2new.abab += einsum(tmp163, (0, 1, 2, 3), t2.abab, (4, 5, 0, 2), (4, 5, 1, 3))
+    del tmp163
+    t2new.abab += einsum(tmp164, (0, 1, 2, 3), t2.abab, (1, 4, 2, 5), (0, 4, 3, 5)) * -1
+    del tmp164
+    t2new.abab += einsum(tmp34, (0, 1, 2), tmp85, (0, 3, 4), (3, 1, 4, 2)) * 2
+    del tmp34, tmp85
+    t2new.abab += einsum(tmp167, (0, 1, 2, 3), t2.abab, (4, 1, 5, 2), (4, 0, 5, 3)) * -1
+    del tmp167
+    t2new.abab += einsum(tmp11, (0, 1, 2), tmp165, (0, 3, 4), (1, 3, 2, 4)) * 2
+    del tmp11, tmp165
+    t2new.abab += einsum(t1.aa, (0, 1), tmp2, (2, 0, 3, 4), (2, 3, 1, 4)) * -1
+    t2new.abab += einsum(tmp168, (0, 1, 2, 3), t2.abab, (1, 4, 5, 2), (0, 4, 5, 3)) * -1
+    del tmp168
+    t2new.abab += einsum(tmp170, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3)) * -1
+    del tmp170
+    t2new.abab += einsum(tmp171, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3)) * -1
+    del tmp171
+    t2new.abab += einsum(t1.aa, (0, 1), tmp172, (2, 0, 3, 4), (2, 3, 1, 4)) * -1
+    del tmp172
+    t2new.aaaa = einsum(tmp27, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -1
+    t2new.aaaa += einsum(tmp47, (0, 1, 2, 3), tmp46, (0, 4, 1, 5), (4, 5, 3, 2)) * 0.5
+    del tmp47
+    t2new.aaaa += np.transpose(tmp48, (0, 1, 3, 2)) * -1
+    del tmp48
+    t2new.aaaa += np.transpose(tmp51, (0, 1, 3, 2)) * -1
+    t2new.aaaa += einsum(tmp53, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 4, 0)) * -2
+    del tmp53
+    t2new.aaaa += np.transpose(tmp51, (1, 0, 3, 2)) * 2
+    del tmp51
+    t2new.aaaa += einsum(tmp54, (0, 1, 2, 3), tmp46, (0, 4, 1, 5), (4, 5, 3, 2)) * -0.5
+    del tmp46, tmp54
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp59, (3, 4), (0, 1, 4, 2)) * 2
+    del tmp59
+    t2new.aaaa += tmp61
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp63, (3, 4), (0, 1, 2, 4)) * 2
+    del tmp63
+    t2new.aaaa += np.transpose(tmp61, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp65, (1, 0, 3, 2)) * -2
+    t2new.aaaa += np.transpose(tmp67, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp69, (1, 0, 2, 3))
+    t2new.aaaa += np.transpose(tmp69, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp75, (0, 1, 3, 2)) * -2
+    t2new.aaaa += np.transpose(tmp67, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp65, (0, 1, 3, 2)) * 2
+    del tmp65
+    t2new.aaaa += np.transpose(tmp67, (0, 1, 3, 2)) * -1
+    t2new.aaaa += tmp69 * -1
+    t2new.aaaa += np.transpose(tmp69, (0, 1, 3, 2))
+    del tmp69
+    t2new.aaaa += np.transpose(tmp75, (1, 0, 3, 2)) * 2
+    del tmp75
+    t2new.aaaa += tmp67
+    del tmp67
+    t2new.aaaa += einsum(tmp80, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 2, 5)) * 2
+    del tmp80
+    t2new.aaaa += tmp82
+    t2new.aaaa += np.transpose(tmp84, (0, 1, 3, 2))
+    t2new.aaaa += np.transpose(tmp90, (1, 0, 3, 2)) * -2
+    t2new.aaaa += np.transpose(tmp82, (1, 0, 2, 3)) * -1
+    del tmp82
+    t2new.aaaa += np.transpose(tmp91, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp92, (0, 1, 3, 2))
+    t2new.aaaa += tmp93 * 2
+    t2new.aaaa += np.transpose(tmp93, (1, 0, 3, 2)) * 2
+    t2new.aaaa += einsum(tmp97, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 4, 2, 5)) * -2
+    del tmp97
+    t2new.aaaa += einsum(tmp101, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (0, 4, 2, 5)) * -1
+    del tmp101
+    t2new.aaaa += np.transpose(tmp92, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp93, (0, 1, 3, 2)) * -2
+    t2new.aaaa += np.transpose(tmp93, (1, 0, 2, 3)) * -2
+    del tmp93
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp103, (4, 1, 5, 3), (0, 4, 5, 2)) * 2
+    del tmp103
+    t2new.aaaa += einsum(tmp105, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5))
+    del tmp105
+    t2new.aaaa += tmp92 * -1
+    t2new.aaaa += np.transpose(tmp107, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp109, (1, 0, 2, 3)) * 2
+    t2new.aaaa += np.transpose(tmp92, (1, 0, 2, 3))
+    del tmp92
+    t2new.aaaa += np.transpose(tmp107, (0, 1, 3, 2)) * -1
+    del tmp107
+    t2new.aaaa += tmp109 * -2
+    del tmp109
+    t2new.aaaa += np.transpose(tmp110, (0, 1, 3, 2))
+    t2new.aaaa += np.transpose(tmp112, (0, 1, 3, 2)) * -2
+    del tmp112
+    t2new.aaaa += tmp113
+    t2new.aaaa += np.transpose(tmp113, (0, 1, 3, 2)) * -1
+    del tmp113
+    t2new.aaaa += np.transpose(tmp115, (0, 1, 3, 2))
+    t2new.aaaa += np.transpose(tmp115, (1, 0, 3, 2)) * -1
+    t2new.aaaa += tmp117
+    t2new.aaaa += np.transpose(tmp117, (0, 1, 3, 2)) * -1
+    del tmp117
+    t2new.aaaa += np.transpose(tmp110, (1, 0, 3, 2)) * -1
+    del tmp110
+    t2new.aaaa += tmp119 * 2
+    del tmp119
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp121, (2, 3, 4, 5), (0, 1, 5, 4)) * 2
+    del tmp121
+    t2new.aaaa += np.transpose(tmp61, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp61, (1, 0, 3, 2))
+    del tmp61
+    t2new.aaaa += np.transpose(tmp122, (1, 0, 2, 3))
+    t2new.aaaa += tmp90 * -2
+    t2new.aaaa += tmp84 * -1
+    del tmp84
+    t2new.aaaa += tmp122 * -1
+    del tmp122
+    t2new.aaaa += np.transpose(tmp90, (1, 0, 2, 3)) * 2
+    del tmp90
+    t2new.aaaa += np.transpose(tmp91, (1, 0, 2, 3)) * -1
+    del tmp91
+    t2new.aaaa += einsum(tmp124, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3)) * -2
+    del tmp124
+    t2new.aaaa += tmp115 * -1
+    t2new.aaaa += np.transpose(tmp115, (1, 0, 2, 3))
+    del tmp115
+    t1new.bb = einsum(t2.bbbb, (0, 1, 2, 3), tmp28, (4, 1, 0, 3), (4, 2)) * -2
+    del tmp28
+    t1new.bb += f.bb.ov
+    t1new.bb += einsum(t1.bb, (0, 1), f.bb.vv, (2, 1), (0, 2))
+    t1new.bb += einsum(tmp29, (0, 1, 2, 3), t2.abab, (0, 2, 3, 4), (1, 4)) * -1
+    del tmp29
+    t1new.bb += einsum(tmp32, (0, 1, 2), v.bbb.xvv, (0, 3, 2), (1, 3)) * 2
+    del tmp32
+    t1new.bb += tmp33
+    del tmp33
+    t1new.bb += einsum(t1.bb, (0, 1), tmp39, (0, 2), (2, 1)) * -1
+    del tmp39
+    t1new.bb += einsum(v.bbb.xoo, (0, 1, 2), tmp40, (0, 2, 3), (1, 3)) * -1
+    del tmp40
+    t1new.bb += einsum(tmp41, (0, 1, 2, 3), t2.abab, (0, 2, 3, 4), (1, 4)) * -1
+    del tmp41
+    t1new.bb += einsum(tmp42, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 3), (0, 4)) * -2
+    del tmp42
+    t1new.bb += einsum(t2.abab, (0, 1, 2, 3), tmp24, (0, 2), (1, 3))
+    t1new.bb += einsum(tmp22, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3)) * 2
+    t1new.bb += einsum(t1.bb, (0, 1), tmp45, (0, 2), (2, 1)) * -1
+    del tmp45
+    t1new.aa = np.copy(f.aa.ov)
+    t1new.aa += einsum(tmp1, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 3), (0, 4)) * -2
+    del tmp1
+    t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp2, (4, 0, 1, 3), (4, 2)) * -1
+    del tmp2
+    t1new.aa += einsum(t1.aa, (0, 1), f.aa.vv, (2, 1), (0, 2))
+    t1new.aa += einsum(tmp8, (0, 1, 2), v.baa.xvv, (0, 3, 2), (1, 3)) * 2
+    del tmp8
+    t1new.aa += tmp10
+    del tmp10
+    t1new.aa += einsum(t1.aa, (0, 1), tmp15, (0, 2), (2, 1)) * -1
+    del tmp15
+    t1new.aa += einsum(tmp16, (0, 1, 2, 3), t2.abab, (1, 2, 4, 3), (0, 4)) * -1
+    del tmp16
+    t1new.aa += einsum(tmp17, (0, 1, 2), v.baa.xoo, (0, 3, 1), (3, 2)) * -1
+    del tmp17
+    t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp18, (4, 0, 1, 3), (4, 2)) * -2
+    del tmp18
+    t1new.aa += einsum(tmp22, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    del tmp22
+    t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp24, (1, 3), (0, 2)) * 2
+    del tmp24
+    t1new.aa += einsum(tmp27, (0, 1), t1.aa, (0, 2), (1, 2)) * -1
+    del tmp27
+
+    return {f"t1new": t1new, f"t2new": t2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCCSD.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-17T20:41:35.618687.

+

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.

+ +
+ Source code in ebcc/codegen/UDFCCSD.py +
 874
+ 875
+ 876
+ 877
+ 878
+ 879
+ 880
+ 881
+ 882
+ 883
+ 884
+ 885
+ 886
+ 887
+ 888
+ 889
+ 890
+ 891
+ 892
+ 893
+ 894
+ 895
+ 896
+ 897
+ 898
+ 899
+ 900
+ 901
+ 902
+ 903
+ 904
+ 905
+ 906
+ 907
+ 908
+ 909
+ 910
+ 911
+ 912
+ 913
+ 914
+ 915
+ 916
+ 917
+ 918
+ 919
+ 920
+ 921
+ 922
+ 923
+ 924
+ 925
+ 926
+ 927
+ 928
+ 929
+ 930
+ 931
+ 932
+ 933
+ 934
+ 935
+ 936
+ 937
+ 938
+ 939
+ 940
+ 941
+ 942
+ 943
+ 944
+ 945
+ 946
+ 947
+ 948
+ 949
+ 950
+ 951
+ 952
+ 953
+ 954
+ 955
+ 956
+ 957
+ 958
+ 959
+ 960
+ 961
+ 962
+ 963
+ 964
+ 965
+ 966
+ 967
+ 968
+ 969
+ 970
+ 971
+ 972
+ 973
+ 974
+ 975
+ 976
+ 977
+ 978
+ 979
+ 980
+ 981
+ 982
+ 983
+ 984
+ 985
+ 986
+ 987
+ 988
+ 989
+ 990
+ 991
+ 992
+ 993
+ 994
+ 995
+ 996
+ 997
+ 998
+ 999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
+1331
+1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
+1359
+1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
+1373
+1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
+1445
+1446
+1447
+1448
+1449
+1450
+1451
+1452
+1453
+1454
+1455
+1456
+1457
+1458
+1459
+1460
+1461
+1462
+1463
+1464
+1465
+1466
+1467
+1468
+1469
+1470
+1471
+1472
+1473
+1474
+1475
+1476
+1477
+1478
+1479
+1480
+1481
+1482
+1483
+1484
+1485
+1486
+1487
+1488
+1489
+1490
+1491
+1492
+1493
+1494
+1495
+1496
+1497
+1498
+1499
+1500
+1501
+1502
+1503
+1504
+1505
+1506
+1507
+1508
+1509
+1510
+1511
+1512
+1513
+1514
+1515
+1516
+1517
+1518
+1519
+1520
+1521
+1522
+1523
+1524
+1525
+1526
+1527
+1528
+1529
+1530
+1531
+1532
+1533
+1534
+1535
+1536
+1537
+1538
+1539
+1540
+1541
+1542
+1543
+1544
+1545
+1546
+1547
+1548
+1549
+1550
+1551
+1552
+1553
+1554
+1555
+1556
+1557
+1558
+1559
+1560
+1561
+1562
+1563
+1564
+1565
+1566
+1567
+1568
+1569
+1570
+1571
+1572
+1573
+1574
+1575
+1576
+1577
+1578
+1579
+1580
+1581
+1582
+1583
+1584
+1585
+1586
+1587
+1588
+1589
+1590
+1591
+1592
+1593
+1594
+1595
+1596
+1597
+1598
+1599
+1600
+1601
+1602
+1603
+1604
+1605
+1606
+1607
+1608
+1609
+1610
+1611
+1612
+1613
+1614
+1615
+1616
+1617
+1618
+1619
+1620
+1621
+1622
+1623
+1624
+1625
+1626
+1627
+1628
+1629
+1630
+1631
+1632
+1633
+1634
+1635
+1636
+1637
+1638
+1639
+1640
+1641
+1642
+1643
+1644
+1645
+1646
+1647
+1648
+1649
+1650
+1651
+1652
+1653
+1654
+1655
+1656
+1657
+1658
+1659
+1660
+1661
+1662
+1663
+1664
+1665
+1666
+1667
+1668
+1669
+1670
+1671
+1672
+1673
+1674
+1675
+1676
+1677
+1678
+1679
+1680
+1681
+1682
+1683
+1684
+1685
+1686
+1687
+1688
+1689
+1690
+1691
+1692
+1693
+1694
+1695
+1696
+1697
+1698
+1699
+1700
+1701
+1702
+1703
+1704
+1705
+1706
+1707
+1708
+1709
+1710
+1711
+1712
+1713
+1714
+1715
+1716
+1717
+1718
+1719
+1720
+1721
+1722
+1723
+1724
+1725
+1726
+1727
+1728
+1729
+1730
+1731
+1732
+1733
+1734
+1735
+1736
+1737
+1738
+1739
+1740
+1741
+1742
+1743
+1744
+1745
+1746
+1747
+1748
+1749
+1750
+1751
+1752
+1753
+1754
+1755
+1756
+1757
+1758
+1759
+1760
+1761
+1762
+1763
+1764
+1765
+1766
+1767
+1768
+1769
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-17T20:41:35.618687.
+
+    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(v.baa.xov, (0, 1, 2), t1.aa, (1, 2), (0,))
+    tmp13 = einsum(t1.bb, (0, 1), v.bbb.xov, (2, 0, 1), (2,))
+    tmp14 = np.copy(tmp12)
+    tmp14 += tmp13
+    tmp4 = einsum(t1.bb, (0, 1), v.bbb.xov, (2, 3, 1), (2, 0, 3))
+    tmp68 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4))
+    tmp69 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (4, 0))
+    tmp67 = einsum(t1.bb, (0, 1), l1.bb, (1, 2), (2, 0))
+    tmp54 = einsum(t1.aa, (0, 1), l1.aa, (1, 2), (2, 0))
+    tmp56 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0))
+    tmp55 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (4, 0))
+    tmp7 = einsum(t1.bb, (0, 1), v.bbb.xvv, (2, 3, 1), (2, 0, 3))
+    tmp9 = einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (0, 3, 4))
+    tmp8 = einsum(v.baa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (0, 3, 4))
+    tmp111 = einsum(v.bbb.xov, (0, 1, 2), tmp14, (0,), (1, 2))
+    tmp110 = einsum(v.bbb.xov, (0, 1, 2), tmp4, (0, 1, 3), (3, 2))
+    tmp25 = einsum(t2.abab, (0, 1, 2, 3), v.bbb.xov, (4, 1, 3), (4, 0, 2))
+    tmp27 = einsum(t1.aa, (0, 1), v.baa.xvv, (2, 3, 1), (2, 0, 3))
+    tmp24 = einsum(t2.aaaa, (0, 1, 2, 3), v.baa.xov, (4, 1, 3), (4, 0, 2))
+    tmp44 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3))
+    tmp45 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4))
+    tmp1 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (3, 2), (0, 3, 1))
+    tmp36 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4))
+    tmp35 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 0, 1), (4, 2))
+    tmp63 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2))
+    tmp70 = np.copy(tmp67)
+    tmp70 += tmp68
+    tmp70 += tmp69 * 2
+    tmp65 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0))
+    tmp52 = einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2))
+    tmp57 = np.copy(tmp54) * 0.5
+    tmp57 += tmp55
+    tmp57 += tmp56 * 0.5
+    tmp50 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (4, 1), (2, 3, 4, 0))
+    tmp213 = np.copy(tmp7)
+    tmp213 += tmp8
+    tmp213 += tmp9 * 2
+    tmp112 = np.copy(f.bb.ov)
+    tmp112 += tmp110 * -1
+    tmp112 += tmp111
+    tmp129 = np.copy(tmp8) * 0.5
+    tmp129 += tmp9
+    tmp168 = np.copy(v.bbb.xov)
+    tmp168 += tmp7
+    tmp168 += tmp8
+    tmp168 += tmp9 * 2
+    tmp166 = np.copy(v.baa.xov)
+    tmp166 += tmp27
+    tmp166 += tmp24 * 2
+    tmp166 += tmp25
+    tmp105 = np.copy(tmp12)
+    del tmp12
+    tmp105 += tmp13
+    del tmp13
+    tmp125 = np.copy(tmp44)
+    tmp125 += tmp45 * 2
+    tmp15 = einsum(v.baa.xov, (0, 1, 2), tmp14, (0,), (1, 2))
+    tmp11 = einsum(tmp1, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    tmp37 = np.copy(tmp35)
+    tmp37 += tmp36 * 0.5
+    tmp179 = np.copy(tmp27) * 0.5
+    tmp179 += tmp24
+    tmp179 += tmp25 * 0.5
+    tmp119 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp17 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp40 = einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1))
+    tmp64 = einsum(tmp63, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4))
+    tmp71 = einsum(t1.bb, (0, 1), tmp70, (0, 2), (2, 1))
+    tmp61 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 0), (1, 3))
+    tmp62 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2))
+    tmp66 = einsum(t2.bbbb, (0, 1, 2, 3), tmp65, (1, 0, 4, 3), (4, 2))
+    tmp43 = einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp49 = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3))
+    tmp53 = einsum(tmp52, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (1, 4))
+    tmp58 = einsum(tmp57, (0, 1), t1.aa, (0, 2), (1, 2))
+    tmp48 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3))
+    tmp51 = einsum(t2.aaaa, (0, 1, 2, 3), tmp50, (1, 0, 4, 3), (4, 2))
+    tmp29 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp214 = einsum(tmp213, (0, 1, 2), v.bbb.xov, (0, 1, 3), (2, 3))
+    del tmp213
+    tmp215 = einsum(v.bbb.xvv, (0, 1, 2), tmp14, (0,), (1, 2))
+    tmp132 = einsum(t1.bb, (0, 1), tmp112, (2, 1), (2, 0))
+    tmp130 = einsum(v.bbb.xov, (0, 1, 2), tmp129, (0, 3, 2), (3, 1)) * 2
+    del tmp129
+    tmp128 = einsum(v.bbb.xoo, (0, 1, 2), tmp4, (0, 2, 3), (1, 3))
+    tmp131 = einsum(v.bbb.xoo, (0, 1, 2), tmp14, (0,), (1, 2))
+    tmp204 = np.copy(v.bbb.xoo)
+    tmp204 += np.transpose(tmp4, (0, 2, 1))
+    tmp89 = np.copy(v.baa.xov)
+    tmp89 += tmp27
+    tmp89 += tmp24 * 2
+    tmp89 += tmp25
+    tmp10 = np.copy(v.bbb.xov)
+    tmp10 += tmp7
+    tmp10 += tmp8
+    tmp10 += tmp9 * 2
+    tmp134 = einsum(tmp52, (0, 1, 2, 3), v.baa.xoo, (4, 1, 0), (4, 2, 3))
+    tmp137 = einsum(tmp4, (0, 1, 2), tmp65, (1, 3, 2, 4), (0, 3, 4)) * -1
+    tmp202 = einsum(l2.bbbb, (0, 1, 2, 3), tmp168, (4, 3, 1), (4, 2, 0))
+    tmp201 = einsum(tmp166, (0, 1, 2), l2.abab, (2, 3, 1, 4), (0, 4, 3))
+    tmp136 = einsum(tmp52, (0, 1, 2, 3), tmp1, (4, 0, 1), (4, 2, 3))
+    tmp135 = einsum(tmp65, (0, 1, 2, 3), v.bbb.xoo, (4, 2, 0), (4, 1, 3)) * -1
+    tmp200 = einsum(l1.bb, (0, 1), v.bbb.xvv, (2, 3, 0), (2, 1, 3))
+    tmp206 = einsum(tmp105, (0,), v.bbb.xov, (0, 1, 2), (1, 2))
+    tmp148 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5))
+    tmp149 = einsum(t1.bb, (0, 1), tmp65, (2, 3, 4, 1), (3, 2, 4, 0))
+    tmp143 = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp142 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (5, 1, 4, 3))
+    tmp197 = einsum(v.bbb.xov, (0, 1, 2), tmp125, (3, 2), (0, 1, 3)) * 0.5
+    tmp80 = np.copy(tmp24) * 2
+    tmp80 += tmp25
+    tmp16 = np.copy(f.aa.ov)
+    tmp16 += tmp11 * -1
+    tmp16 += tmp15
+    tmp99 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 5), (4, 0, 5, 1))
+    tmp91 = einsum(t1.aa, (0, 1), tmp63, (2, 3, 4, 1), (2, 0, 3, 4))
+    tmp154 = einsum(v.baa.xov, (0, 1, 2), tmp37, (3, 2), (0, 1, 3)) * 2
+    tmp88 = einsum(tmp4, (0, 1, 2), tmp63, (3, 1, 2, 4), (0, 3, 4))
+    tmp169 = einsum(tmp168, (0, 1, 2), l2.abab, (3, 2, 4, 1), (0, 4, 3))
+    del tmp168
+    tmp167 = einsum(l2.aaaa, (0, 1, 2, 3), tmp166, (4, 3, 1), (4, 2, 0))
+    del tmp166
+    tmp85 = einsum(tmp50, (0, 1, 2, 3), v.baa.xoo, (4, 2, 0), (4, 1, 3)) * -1
+    tmp87 = einsum(tmp50, (0, 1, 2, 3), tmp1, (4, 0, 2), (4, 1, 3)) * -1
+    tmp86 = einsum(tmp63, (0, 1, 2, 3), v.bbb.xoo, (4, 2, 1), (4, 0, 3))
+    tmp161 = einsum(v.baa.xvv, (0, 1, 2), l1.aa, (2, 3), (0, 3, 1))
+    tmp173 = einsum(v.baa.xov, (0, 1, 2), tmp105, (0,), (1, 2))
+    tmp100 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 5), (4, 5, 0, 1))
+    tmp101 = einsum(t1.aa, (0, 1), tmp50, (2, 3, 4, 1), (3, 2, 4, 0))
+    tmp180 = einsum(tmp179, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3)) * 2
+    tmp181 = einsum(tmp14, (0,), v.baa.xvv, (0, 1, 2), (1, 2))
+    tmp157 = np.copy(v.baa.xoo)
+    tmp157 += np.transpose(tmp1, (0, 2, 1))
+    tmp93 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 5, 1), (2, 4, 0, 5))
+    tmp94 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp98 = np.copy(v.bbb.xoo)
+    tmp98 += np.transpose(tmp4, (0, 2, 1))
+    tmp118 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp120 = einsum(t2.bbbb, (0, 1, 2, 3), tmp119, (4, 5, 2, 3), (0, 1, 5, 4)) * -1
+    tmp121 = einsum(tmp4, (0, 1, 2), tmp4, (0, 3, 4), (3, 1, 4, 2))
+    tmp122 = einsum(tmp4, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp5 = np.copy(v.bbb.xoo)
+    tmp5 += tmp4
+    tmp2 = np.copy(v.baa.xoo)
+    tmp2 += tmp1
+    tmp18 = einsum(t2.abab, (0, 1, 2, 3), tmp17, (4, 5, 2, 3), (0, 4, 1, 5))
+    tmp41 = np.copy(tmp40) * 0.5
+    del tmp40
+    tmp41 += tmp35
+    del tmp35
+    tmp41 += np.transpose(tmp36, (1, 0)) * 0.5
+    del tmp36
+    tmp72 = np.copy(np.transpose(l1.bb, (1, 0))) * -1
+    tmp72 += t1.bb * -1
+    tmp72 += tmp61 * -1
+    tmp72 += tmp62 * -2
+    tmp72 += tmp64
+    tmp72 += tmp66 * 2
+    tmp72 += tmp71
+    tmp46 = np.copy(tmp43)
+    del tmp43
+    tmp46 += np.transpose(tmp44, (1, 0))
+    del tmp44
+    tmp46 += np.transpose(tmp45, (1, 0)) * 2
+    del tmp45
+    tmp74 = np.copy(tmp54) * 0.5
+    del tmp54
+    tmp74 += tmp55
+    del tmp55
+    tmp74 += np.transpose(tmp56, (1, 0)) * 0.5
+    del tmp56
+    tmp76 = np.copy(tmp67)
+    del tmp67
+    tmp76 += tmp68
+    del tmp68
+    tmp76 += np.transpose(tmp69, (1, 0)) * 2
+    del tmp69
+    tmp59 = np.copy(np.transpose(l1.aa, (1, 0))) * -0.5
+    tmp59 += t1.aa * -0.5
+    tmp59 += tmp48 * -1
+    tmp59 += tmp49 * -0.5
+    tmp59 += tmp51
+    tmp59 += tmp53 * 0.5
+    tmp59 += tmp58
+    tmp19 = np.copy(v.baa.xoo)
+    tmp19 += np.transpose(tmp1, (0, 2, 1))
+    tmp30 = einsum(t2.aaaa, (0, 1, 2, 3), tmp29, (4, 5, 2, 3), (0, 1, 5, 4)) * -1
+    tmp32 = einsum(v.baa.xoo, (0, 1, 2), tmp1, (0, 3, 4), (3, 1, 2, 4))
+    tmp28 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp31 = einsum(tmp1, (0, 1, 2), tmp1, (0, 3, 4), (3, 1, 4, 2))
+    tmp115 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 2, 4))
+    tmp216 = np.copy(f.bb.vv) * -1
+    tmp216 += tmp214
+    del tmp214
+    tmp216 += np.transpose(tmp215, (1, 0)) * -1
+    del tmp215
+    tmp224 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp133 = np.copy(f.bb.oo)
+    tmp133 += tmp128 * -1
+    del tmp128
+    tmp133 += tmp130
+    del tmp130
+    tmp133 += np.transpose(tmp131, (1, 0))
+    del tmp131
+    tmp133 += np.transpose(tmp132, (1, 0))
+    del tmp132
+    tmp235 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp205 = einsum(tmp204, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp138 = einsum(tmp89, (0, 1, 2), l2.abab, (2, 3, 1, 4), (0, 4, 3))
+    tmp139 = einsum(tmp10, (0, 1, 2), l2.bbbb, (3, 2, 4, 1), (0, 4, 3)) * 2
+    tmp203 = np.copy(tmp200)
+    tmp203 += tmp134 * -1
+    tmp203 += tmp135 * -2
+    tmp203 += tmp136 * -1
+    tmp203 += tmp137 * -2
+    tmp203 += tmp201
+    del tmp201
+    tmp203 += tmp202 * 2
+    del tmp202
+    tmp221 = einsum(v.bbb.xov, (0, 1, 2), tmp70, (3, 1), (0, 3, 2))
+    tmp223 = einsum(v.bbb.xov, (0, 1, 2), tmp4, (0, 3, 4), (3, 1, 4, 2))
+    tmp227 = einsum(v.bbb.xov, (0, 1, 2), tmp204, (0, 3, 4), (3, 4, 1, 2))
+    tmp217 = np.copy(f.bb.ov)
+    tmp217 += tmp110 * -1
+    tmp217 += tmp206
+    tmp150 = np.copy(np.transpose(tmp148, (1, 0, 3, 2)))
+    del tmp148
+    tmp150 += np.transpose(tmp149, (0, 1, 3, 2)) * -1
+    del tmp149
+    tmp245 = np.copy(tmp142)
+    tmp245 += tmp143 * 4
+    tmp198 = np.copy(v.bbb.xov) * 0.5
+    tmp198 += tmp197 * -1
+    tmp81 = einsum(v.baa.xov, (0, 1, 2), tmp80, (0, 3, 2), (1, 3))
+    tmp79 = einsum(v.baa.xoo, (0, 1, 2), tmp1, (0, 2, 3), (1, 3))
+    tmp82 = einsum(tmp14, (0,), v.baa.xoo, (0, 1, 2), (1, 2))
+    tmp83 = einsum(tmp16, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp147 = np.copy(tmp99)
+    tmp147 += tmp91
+    tmp209 = einsum(v.bbb.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (3, 4, 1, 2))
+    tmp155 = np.copy(v.baa.xov)
+    tmp155 += tmp154 * -1
+    tmp191 = einsum(v.baa.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp170 = np.copy(tmp161)
+    tmp170 += tmp85 * -2
+    tmp170 += tmp86 * -1
+    tmp170 += tmp87 * -2
+    tmp170 += tmp88 * -1
+    tmp170 += tmp167 * 2
+    del tmp167
+    tmp170 += tmp169
+    del tmp169
+    tmp184 = np.copy(f.aa.ov)
+    tmp184 += tmp11 * -1
+    tmp184 += tmp173
+    tmp102 = np.copy(np.transpose(tmp100, (1, 0, 3, 2)))
+    del tmp100
+    tmp102 += np.transpose(tmp101, (0, 1, 3, 2)) * -1
+    del tmp101
+    tmp182 = np.copy(f.aa.vv) * -1
+    tmp182 += tmp180
+    del tmp180
+    tmp182 += np.transpose(tmp181, (1, 0)) * -1
+    del tmp181
+    tmp189 = einsum(v.baa.xov, (0, 1, 2), tmp1, (0, 3, 4), (3, 1, 4, 2))
+    tmp195 = einsum(tmp57, (0, 1), v.baa.xov, (2, 1, 3), (2, 0, 3)) * 2
+    tmp158 = einsum(v.baa.xov, (0, 1, 2), tmp157, (0, 3, 4), (3, 4, 1, 2))
+    tmp193 = np.copy(tmp93) * 4
+    tmp193 += tmp94
+    tmp38 = einsum(v.baa.xov, (0, 1, 2), tmp37, (3, 2), (0, 1, 3))
+    del tmp37
+    tmp164 = einsum(v.baa.xvv, (0, 1, 2), tmp157, (0, 3, 4), (3, 4, 1, 2))
+    tmp176 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp22 = einsum(v.baa.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp126 = einsum(v.bbb.xov, (0, 1, 2), tmp125, (3, 2), (0, 1, 3))
+    del tmp125
+    tmp145 = einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4)) * -1
+    tmp145 += einsum(t2.abab, (0, 1, 2, 3), tmp63, (0, 4, 5, 2), (4, 5, 1, 3)) * 0.5
+    tmp145 += einsum(t2.bbbb, (0, 1, 2, 3), tmp65, (4, 1, 5, 3), (4, 5, 0, 2)) * -2
+    tmp144 = np.copy(tmp142)
+    del tmp142
+    tmp144 += np.transpose(tmp143, (0, 1, 3, 2)) * 4
+    del tmp143
+    tmp141 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 5), (5, 1, 4, 2))
+    tmp146 = einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (2, 1, 3, 4))
+    tmp146 += einsum(tmp52, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 2, 4, 5)) * -1
+    tmp151 = np.copy(t1.bb) * -1
+    tmp151 += tmp61 * -1
+    del tmp61
+    tmp151 += tmp62 * -2
+    del tmp62
+    tmp151 += tmp64
+    del tmp64
+    tmp151 += tmp66 * 2
+    del tmp66
+    tmp151 += tmp71
+    del tmp71
+    tmp116 = einsum(v.bbb.xov, (0, 1, 2), tmp98, (0, 3, 4), (3, 4, 1, 2))
+    tmp123 = np.copy(np.transpose(tmp118, (3, 2, 1, 0)))
+    tmp123 += np.transpose(tmp120, (2, 3, 1, 0))
+    tmp123 += np.transpose(tmp121, (2, 3, 1, 0))
+    tmp123 += np.transpose(tmp122, (1, 3, 0, 2))
+    tmp123 += np.transpose(tmp122, (3, 2, 0, 1)) * -1
+    tmp117 = np.copy(v.bbb.xov)
+    tmp117 += tmp8
+    del tmp8
+    tmp117 += tmp9 * 2
+    del tmp9
+    tmp109 = einsum(tmp5, (0, 1, 2), v.bbb.xov, (0, 3, 4), (2, 1, 3, 4))
+    tmp108 = einsum(tmp2, (0, 1, 2), v.bbb.xov, (0, 3, 4), (2, 1, 3, 4))
+    tmp107 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp113 = np.copy(np.transpose(tmp18, (1, 0, 2, 3)))
+    tmp113 += einsum(tmp2, (0, 1, 2), tmp98, (0, 3, 4), (2, 1, 4, 3))
+    tmp42 = einsum(tmp41, (0, 1), v.baa.xvv, (2, 1, 0), (2,)) * 2
+    del tmp41
+    tmp73 = einsum(tmp72, (0, 1), v.bbb.xov, (2, 0, 1), (2,))
+    del tmp72
+    tmp47 = einsum(v.bbb.xvv, (0, 1, 2), tmp46, (2, 1), (0,))
+    del tmp46
+    tmp75 = einsum(tmp74, (0, 1), v.baa.xoo, (2, 1, 0), (2,)) * 2
+    del tmp74
+    tmp77 = einsum(tmp76, (0, 1), v.bbb.xoo, (2, 1, 0), (2,))
+    del tmp76
+    tmp60 = einsum(tmp59, (0, 1), v.baa.xov, (2, 0, 1), (2,)) * 2
+    del tmp59
+    tmp3 = einsum(tmp2, (0, 1, 2), v.baa.xov, (0, 3, 4), (2, 1, 3, 4))
+    tmp0 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp20 = np.copy(np.transpose(tmp18, (0, 1, 3, 2)))
+    tmp20 += einsum(tmp5, (0, 1, 2), tmp19, (0, 3, 4), (4, 3, 2, 1))
+    tmp6 = einsum(tmp5, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 2, 1, 4))
+    tmp33 = np.copy(np.transpose(tmp28, (3, 2, 1, 0)))
+    tmp33 += np.transpose(tmp30, (2, 3, 1, 0))
+    tmp33 += np.transpose(tmp31, (2, 3, 1, 0))
+    tmp33 += np.transpose(tmp32, (1, 3, 0, 2))
+    tmp33 += np.transpose(tmp32, (3, 2, 0, 1)) * -1
+    tmp23 = einsum(v.baa.xov, (0, 1, 2), tmp19, (0, 3, 4), (1, 3, 4, 2))
+    tmp26 = np.copy(v.baa.xov)
+    tmp26 += tmp24 * 2
+    del tmp24
+    tmp26 += tmp25
+    del tmp25
+    tmp103 = np.copy(t1.aa) * -0.5
+    tmp103 += tmp48 * -1
+    del tmp48
+    tmp103 += tmp49 * -0.5
+    del tmp49
+    tmp103 += tmp51
+    del tmp51
+    tmp103 += tmp53 * 0.5
+    del tmp53
+    tmp103 += tmp58
+    del tmp58
+    tmp95 = np.copy(tmp93)
+    del tmp93
+    tmp95 += np.transpose(tmp94, (0, 1, 3, 2)) * 0.25
+    del tmp94
+    tmp97 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 4), (4, 0, 1, 3))
+    tmp97 += einsum(tmp63, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (0, 4, 2, 5)) * -1
+    tmp92 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (2, 4, 1, 5))
+    tmp96 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (3, 4), (4, 0, 1, 2)) * -1
+    tmp96 += einsum(t2.aaaa, (0, 1, 2, 3), tmp50, (4, 1, 5, 3), (4, 5, 0, 2)) * -2
+    tmp96 += einsum(tmp52, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (0, 1, 4, 5)) * 0.5
+    tmp237 = einsum(tmp65, (0, 1, 2, 3), tmp115, (2, 4, 3, 5), (1, 0, 5, 4))
+    tmp229 = einsum(tmp98, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (2, 1, 3, 4))
+    tmp239 = einsum(tmp216, (0, 1), l2.bbbb, (2, 0, 3, 4), (3, 4, 1, 2)) * -1
+    tmp243 = einsum(tmp65, (0, 1, 2, 3), tmp224, (4, 0, 2, 5), (1, 4, 3, 5)) * -1
+    tmp241 = einsum(l2.bbbb, (0, 1, 2, 3), tmp122, (2, 3, 4, 5), (4, 5, 0, 1))
+    del tmp122
+    tmp231 = einsum(tmp133, (0, 1), l2.bbbb, (2, 3, 4, 0), (1, 4, 2, 3)) * -2
+    tmp236 = einsum(tmp235, (0, 1, 2, 3), l2.bbbb, (3, 2, 4, 5), (4, 5, 0, 1))
+    del tmp235
+    tmp233 = einsum(tmp205, (0, 1, 2, 3), l2.bbbb, (4, 2, 5, 1), (0, 5, 3, 4))
+    tmp230 = np.copy(tmp200)
+    del tmp200
+    tmp230 += tmp134 * -1
+    tmp230 += tmp135 * -2
+    tmp230 += tmp136 * -1
+    tmp230 += tmp137 * -2
+    tmp230 += tmp138
+    tmp230 += tmp139
+    tmp234 = einsum(v.bbb.xov, (0, 1, 2), tmp203, (0, 3, 4), (3, 1, 4, 2))
+    tmp247 = einsum(v.bbb.xov, (0, 1, 2), tmp221, (0, 3, 4), (3, 1, 4, 2))
+    tmp244 = einsum(tmp65, (0, 1, 2, 3), tmp223, (1, 2, 4, 5), (0, 4, 3, 5))
+    tmp242 = np.copy(np.transpose(tmp118, (3, 2, 1, 0)))
+    del tmp118
+    tmp242 += np.transpose(tmp120, (0, 3, 1, 2))
+    del tmp120
+    tmp242 += np.transpose(tmp121, (0, 3, 1, 2))
+    del tmp121
+    tmp228 = einsum(l1.bb, (0, 1), tmp227, (2, 1, 3, 4), (3, 2, 4, 0))
+    tmp240 = einsum(tmp217, (0, 1), tmp65, (2, 3, 0, 4), (2, 3, 1, 4))
+    tmp238 = einsum(tmp119, (0, 1, 2, 3), tmp150, (4, 5, 0, 1), (4, 5, 2, 3)) * 0.5
+    tmp246 = einsum(tmp119, (0, 1, 2, 3), tmp245, (4, 0, 5, 3), (4, 1, 5, 2))
+    del tmp245
+    tmp207 = np.copy(f.bb.ov)
+    tmp207 += tmp206
+    del tmp206
+    tmp226 = einsum(v.bbb.xov, (0, 1, 2), tmp198, (0, 3, 4), (3, 1, 4, 2)) * 2
+    tmp232 = np.copy(f.bb.ov)
+    tmp232 += tmp111
+    del tmp111
+    tmp219 = np.copy(tmp18)
+    del tmp18
+    tmp219 += einsum(tmp98, (0, 1, 2), tmp19, (0, 3, 4), (4, 3, 2, 1))
+    tmp225 = einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (2, 4, 0, 5))
+    tmp225 += einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp222 = einsum(t2.aaaa, (0, 1, 2, 3), l2.abab, (3, 4, 1, 5), (0, 5, 2, 4))
+    tmp222 += einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (4, 2, 5, 0))
+    tmp174 = np.copy(f.aa.ov)
+    tmp174 += tmp173
+    del tmp173
+    tmp84 = np.copy(f.aa.oo)
+    tmp84 += tmp79 * -1
+    tmp84 += np.transpose(tmp81, (1, 0))
+    del tmp81
+    tmp84 += np.transpose(tmp82, (1, 0))
+    del tmp82
+    tmp84 += tmp83
+    del tmp83
+    tmp218 = einsum(v.bbb.xov, (0, 1, 2), tmp157, (0, 3, 4), (3, 4, 1, 2))
+    tmp212 = np.copy(f.aa.vv) * -0.5
+    tmp212 += einsum(tmp179, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    del tmp179
+    tmp212 += einsum(v.baa.xvv, (0, 1, 2), tmp14, (0,), (1, 2)) * -0.5
+    tmp199 = einsum(tmp98, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 2, 4))
+    tmp211 = einsum(tmp147, (0, 1, 2, 3), tmp17, (1, 3, 4, 5), (0, 2, 4, 5)) * 0.5
+    tmp210 = einsum(l2.abab, (0, 1, 2, 3), tmp209, (4, 0, 1, 5), (2, 3, 4, 5))
+    del tmp209
+    tmp208 = einsum(v.baa.xvv, (0, 1, 2), tmp204, (0, 3, 4), (4, 3, 1, 2))
+    del tmp204
+    tmp220 = einsum(v.bbb.xvv, (0, 1, 2), tmp157, (0, 3, 4), (4, 3, 1, 2))
+    del tmp157
+    tmp156 = einsum(v.baa.xov, (0, 1, 2), tmp155, (0, 3, 4), (3, 1, 4, 2))
+    del tmp155
+    tmp187 = np.copy(np.transpose(tmp28, (3, 2, 1, 0)))
+    del tmp28
+    tmp187 += np.transpose(tmp30, (0, 3, 1, 2))
+    del tmp30
+    tmp187 += np.transpose(tmp31, (0, 3, 1, 2))
+    del tmp31
+    tmp192 = einsum(tmp50, (0, 1, 2, 3), tmp191, (4, 0, 2, 5), (1, 4, 3, 5)) * -1
+    tmp171 = einsum(tmp170, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp185 = einsum(tmp184, (0, 1), tmp50, (2, 3, 0, 4), (2, 3, 1, 4))
+    tmp178 = einsum(tmp102, (0, 1, 2, 3), tmp29, (2, 3, 4, 5), (0, 1, 4, 5)) * 0.5
+    tmp160 = einsum(v.baa.xvv, (0, 1, 2), tmp19, (0, 3, 4), (4, 3, 1, 2))
+    del tmp19
+    tmp172 = np.copy(f.aa.oo) * 0.5
+    tmp172 += tmp79 * -0.5
+    del tmp79
+    tmp172 += einsum(v.baa.xov, (0, 1, 2), tmp80, (0, 3, 2), (3, 1)) * 0.5
+    del tmp80
+    tmp172 += einsum(v.baa.xoo, (0, 1, 2), tmp14, (0,), (1, 2)) * 0.5
+    del tmp14
+    tmp172 += einsum(tmp16, (0, 1), t1.aa, (2, 1), (2, 0)) * 0.5
+    tmp183 = einsum(tmp182, (0, 1), l2.aaaa, (2, 0, 3, 4), (3, 4, 1, 2)) * -1
+    del tmp182
+    tmp190 = einsum(tmp50, (0, 1, 2, 3), tmp189, (1, 2, 4, 5), (0, 4, 3, 5))
+    tmp162 = np.copy(tmp161)
+    del tmp161
+    tmp162 += tmp85 * -2
+    tmp162 += tmp86 * -1
+    tmp162 += tmp87 * -2
+    tmp162 += tmp88 * -1
+    tmp162 += einsum(l2.aaaa, (0, 1, 2, 3), tmp89, (4, 3, 1), (4, 2, 0)) * 2
+    tmp162 += einsum(tmp10, (0, 1, 2), l2.abab, (3, 2, 4, 1), (0, 4, 3))
+    tmp186 = einsum(tmp32, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 1), (2, 3, 4, 5))
+    del tmp32
+    tmp196 = einsum(v.baa.xov, (0, 1, 2), tmp195, (0, 3, 4), (3, 1, 4, 2))
+    tmp159 = einsum(tmp158, (0, 1, 2, 3), l1.aa, (4, 1), (2, 0, 3, 4))
+    tmp194 = einsum(tmp29, (0, 1, 2, 3), tmp193, (4, 0, 5, 3), (4, 1, 5, 2))
+    del tmp193
+    tmp163 = np.copy(f.aa.ov)
+    tmp163 += tmp15
+    del tmp15
+    tmp188 = einsum(v.baa.xov, (0, 1, 2), tmp38, (0, 3, 4), (3, 1, 4, 2)) * -2
+    tmp165 = einsum(tmp164, (0, 1, 2, 3), l2.aaaa, (4, 2, 5, 1), (0, 5, 3, 4))
+    tmp177 = einsum(tmp176, (0, 1, 2, 3), l2.aaaa, (3, 2, 4, 5), (4, 5, 0, 1))
+    del tmp176
+    tmp175 = einsum(tmp50, (0, 1, 2, 3), tmp22, (2, 4, 3, 5), (1, 0, 5, 4))
+    tmp127 = np.copy(tmp126)
+    tmp127 += einsum(tmp5, (0, 1, 2), l1.bb, (3, 1), (0, 2, 3))
+    tmp152 = einsum(tmp7, (0, 1, 2), l1.bb, (2, 3), (0, 1, 3))
+    tmp152 += einsum(v.baa.xvv, (0, 1, 2), tmp141, (3, 4, 1, 2), (0, 4, 3))
+    tmp152 += einsum(tmp144, (0, 1, 2, 3), v.bbb.xvv, (4, 2, 3), (4, 1, 0))
+    del tmp144
+    tmp152 += einsum(tmp63, (0, 1, 2, 3), tmp89, (4, 0, 3), (4, 2, 1))
+    tmp152 += einsum(tmp65, (0, 1, 2, 3), tmp10, (4, 0, 3), (4, 2, 1)) * 2
+    del tmp65
+    tmp152 += einsum(v.bbb.xov, (0, 1, 2), tmp145, (3, 1, 4, 2), (0, 4, 3)) * -2
+    del tmp145
+    tmp152 += einsum(v.baa.xov, (0, 1, 2), tmp146, (1, 3, 4, 2), (0, 4, 3))
+    del tmp146
+    tmp152 += einsum(tmp1, (0, 1, 2), tmp147, (1, 2, 3, 4), (0, 4, 3)) * -1
+    tmp152 += einsum(tmp147, (0, 1, 2, 3), v.baa.xoo, (4, 0, 1), (4, 3, 2)) * -1
+    del tmp147
+    tmp152 += einsum(tmp150, (0, 1, 2, 3), tmp4, (4, 0, 2), (4, 3, 1)) * -2
+    tmp152 += einsum(tmp150, (0, 1, 2, 3), v.bbb.xoo, (4, 0, 2), (4, 3, 1)) * -2
+    del tmp150
+    tmp152 += einsum(v.bbb.xov, (0, 1, 2), tmp151, (3, 2), (0, 3, 1)) * -1
+    del tmp151
+    tmp152 += einsum(tmp70, (0, 1), v.bbb.xoo, (2, 3, 0), (2, 1, 3)) * -1
+    tmp140 = np.copy(tmp134) * -1
+    del tmp134
+    tmp140 += tmp135 * -2
+    del tmp135
+    tmp140 += tmp136 * -1
+    del tmp136
+    tmp140 += tmp137 * -2
+    del tmp137
+    tmp140 += tmp138
+    del tmp138
+    tmp140 += tmp139
+    del tmp139
+    tmp124 = einsum(t2.bbbb, (0, 1, 2, 3), tmp115, (4, 5, 2, 3), (4, 0, 1, 5)) * 0.5
+    del tmp115
+    tmp124 += einsum(tmp116, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (2, 4, 1, 5)) * -1
+    tmp124 += einsum(tmp5, (0, 1, 2), tmp117, (0, 3, 4), (2, 3, 1, 4)) * 0.5
+    del tmp117
+    tmp124 += einsum(tmp112, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4)) * 0.5
+    tmp124 += einsum(tmp5, (0, 1, 2), tmp7, (0, 3, 4), (2, 1, 3, 4)) * -0.5
+    del tmp7
+    tmp124 += einsum(tmp123, (0, 1, 2, 3), t1.bb, (0, 4), (1, 3, 2, 4)) * -0.5
+    del tmp123
+    tmp153 = np.copy(f.bb.vv)
+    tmp153 += einsum(tmp105, (0,), v.bbb.xvv, (0, 1, 2), (1, 2))
+    tmp114 = einsum(tmp107, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp114 += einsum(tmp108, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (1, 2, 4, 5)) * -1
+    del tmp108
+    tmp114 += einsum(tmp109, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 2, 1, 5)) * -1
+    del tmp109
+    tmp114 += einsum(tmp5, (0, 1, 2), tmp89, (0, 3, 4), (3, 2, 1, 4))
+    del tmp5
+    tmp114 += einsum(tmp112, (0, 1), t2.abab, (2, 3, 4, 1), (2, 0, 3, 4))
+    tmp114 += einsum(t1.aa, (0, 1), tmp113, (0, 2, 3, 4), (2, 4, 3, 1)) * -1
+    del tmp113
+    tmp78 = np.copy(tmp42)
+    del tmp42
+    tmp78 += tmp47
+    del tmp47
+    tmp78 += tmp60 * -1
+    del tmp60
+    tmp78 += tmp73 * -1
+    del tmp73
+    tmp78 += tmp75 * -1
+    del tmp75
+    tmp78 += tmp77 * -1
+    del tmp77
+    tmp21 = einsum(t2.abab, (0, 1, 2, 3), tmp0, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp21 += einsum(tmp3, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (2, 1, 4, 5)) * -1
+    del tmp3
+    tmp21 += einsum(tmp6, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (0, 4, 2, 5)) * -1
+    del tmp6
+    tmp21 += einsum(tmp2, (0, 1, 2), tmp10, (0, 3, 4), (2, 1, 3, 4))
+    tmp21 += einsum(t2.abab, (0, 1, 2, 3), tmp16, (4, 2), (4, 0, 1, 3))
+    tmp21 += einsum(t1.bb, (0, 1), tmp20, (2, 3, 0, 4), (3, 2, 4, 1)) * -1
+    del tmp20
+    tmp39 = np.copy(tmp38)
+    del tmp38
+    tmp39 += einsum(tmp2, (0, 1, 2), l1.aa, (3, 1), (0, 2, 3)) * 0.5
+    tmp90 = np.copy(tmp85) * -0.5
+    del tmp85
+    tmp90 += tmp86 * -0.25
+    del tmp86
+    tmp90 += tmp87 * -0.5
+    del tmp87
+    tmp90 += tmp88 * -0.25
+    del tmp88
+    tmp90 += einsum(l2.aaaa, (0, 1, 2, 3), tmp89, (4, 3, 1), (4, 2, 0)) * 0.5
+    tmp90 += einsum(tmp10, (0, 1, 2), l2.abab, (3, 2, 4, 1), (0, 4, 3)) * 0.25
+    tmp34 = einsum(t2.aaaa, (0, 1, 2, 3), tmp22, (4, 5, 2, 3), (4, 0, 1, 5))
+    del tmp22
+    tmp34 += einsum(t2.aaaa, (0, 1, 2, 3), tmp23, (4, 1, 5, 3), (4, 0, 5, 2)) * -2
+    tmp34 += einsum(tmp2, (0, 1, 2), tmp26, (0, 3, 4), (2, 3, 1, 4))
+    del tmp26
+    tmp34 += einsum(t2.aaaa, (0, 1, 2, 3), tmp16, (4, 3), (4, 0, 1, 2))
+    tmp34 += einsum(tmp2, (0, 1, 2), tmp27, (0, 3, 4), (2, 1, 3, 4)) * -1
+    del tmp2
+    tmp34 += einsum(t1.aa, (0, 1), tmp33, (0, 2, 3, 4), (2, 4, 3, 1)) * -1
+    del tmp33
+    tmp106 = np.copy(f.aa.vv)
+    tmp106 += einsum(v.baa.xvv, (0, 1, 2), tmp105, (0,), (1, 2))
+    del tmp105
+    tmp104 = einsum(tmp27, (0, 1, 2), l1.aa, (2, 3), (0, 1, 3)) * 0.25
+    del tmp27
+    tmp104 += einsum(tmp91, (0, 1, 2, 3), v.bbb.xoo, (4, 3, 2), (4, 1, 0)) * -0.25
+    tmp104 += einsum(tmp92, (0, 1, 2, 3), v.bbb.xvv, (4, 3, 2), (4, 1, 0)) * 0.25
+    tmp104 += einsum(tmp4, (0, 1, 2), tmp91, (3, 4, 1, 2), (0, 4, 3)) * -0.25
+    del tmp4, tmp91
+    tmp104 += einsum(v.baa.xvv, (0, 1, 2), tmp95, (3, 4, 1, 2), (0, 4, 3))
+    del tmp95
+    tmp104 += einsum(tmp89, (0, 1, 2), tmp50, (1, 3, 4, 2), (0, 4, 3)) * 0.5
+    del tmp50, tmp89
+    tmp104 += einsum(tmp52, (0, 1, 2, 3), tmp10, (4, 2, 3), (4, 1, 0)) * 0.25
+    del tmp10
+    tmp104 += einsum(v.baa.xov, (0, 1, 2), tmp96, (3, 1, 4, 2), (0, 4, 3)) * -0.5
+    del tmp96
+    tmp104 += einsum(tmp97, (0, 1, 2, 3), v.bbb.xov, (4, 2, 3), (4, 1, 0)) * 0.25
+    del tmp97
+    tmp104 += einsum(tmp98, (0, 1, 2), tmp99, (3, 4, 2, 1), (0, 4, 3)) * -0.25
+    del tmp99, tmp98
+    tmp104 += einsum(tmp1, (0, 1, 2), tmp102, (1, 3, 2, 4), (0, 4, 3)) * -0.5
+    del tmp1
+    tmp104 += einsum(v.baa.xoo, (0, 1, 2), tmp102, (1, 3, 2, 4), (0, 4, 3)) * -0.5
+    del tmp102
+    tmp104 += einsum(v.baa.xov, (0, 1, 2), tmp103, (3, 2), (0, 3, 1)) * -0.5
+    del tmp103
+    tmp104 += einsum(v.baa.xoo, (0, 1, 2), tmp57, (2, 3), (0, 3, 1)) * -0.5
+    l2new.bbbb = np.copy(np.transpose(tmp226, (3, 2, 1, 0)))
+    l2new.bbbb += einsum(l1.bb, (0, 1), tmp116, (2, 1, 3, 4), (4, 0, 3, 2)) * -1
+    del tmp116
+    l2new.bbbb += np.transpose(tmp226, (2, 3, 1, 0)) * -1
+    del tmp226
+    l2new.bbbb += np.transpose(tmp228, (3, 2, 0, 1))
+    l2new.bbbb += einsum(l2.bbbb, (0, 1, 2, 3), tmp229, (3, 4, 5, 1), (5, 0, 2, 4)) * 2
+    del tmp229
+    l2new.bbbb += einsum(tmp230, (0, 1, 2), v.bbb.xov, (0, 3, 4), (4, 2, 1, 3)) * -1
+    del tmp230
+    l2new.bbbb += np.transpose(tmp231, (3, 2, 1, 0)) * -1
+    l2new.bbbb += einsum(l1.bb, (0, 1), tmp232, (2, 3), (3, 0, 1, 2)) * -1
+    del tmp232
+    l2new.bbbb += np.transpose(tmp233, (2, 3, 0, 1)) * -2
+    l2new.bbbb += np.transpose(tmp234, (3, 2, 1, 0))
+    l2new.bbbb += np.transpose(tmp231, (3, 2, 0, 1))
+    del tmp231
+    l2new.bbbb += einsum(tmp207, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3))
+    l2new.bbbb += np.transpose(tmp233, (3, 2, 1, 0)) * -2
+    l2new.bbbb += np.transpose(tmp234, (2, 3, 0, 1))
+    l2new.bbbb += einsum(l1.bb, (0, 1), tmp207, (2, 3), (0, 3, 1, 2))
+    l2new.bbbb += np.transpose(tmp233, (3, 2, 0, 1)) * 2
+    del tmp233
+    l2new.bbbb += np.transpose(tmp234, (2, 3, 1, 0)) * -1
+    del tmp234
+    l2new.bbbb += einsum(tmp207, (0, 1), l1.bb, (2, 3), (2, 1, 0, 3)) * -1
+    l2new.bbbb += np.transpose(tmp236, (2, 3, 1, 0)) * -2
+    del tmp236
+    l2new.bbbb += np.transpose(tmp237, (2, 3, 1, 0)) * 2
+    l2new.bbbb += np.transpose(tmp238, (3, 2, 1, 0)) * 4
+    del tmp238
+    l2new.bbbb += np.transpose(tmp239, (2, 3, 1, 0)) * 2
+    l2new.bbbb += np.transpose(tmp240, (2, 3, 1, 0)) * -2
+    l2new.bbbb += np.transpose(tmp237, (3, 2, 1, 0)) * -2
+    del tmp237
+    l2new.bbbb += np.transpose(tmp239, (3, 2, 1, 0)) * -2
+    del tmp239
+    l2new.bbbb += np.transpose(tmp240, (3, 2, 1, 0)) * 2
+    del tmp240
+    l2new.bbbb += np.transpose(tmp241, (2, 3, 0, 1)) * -2
+    l2new.bbbb += np.transpose(tmp241, (2, 3, 1, 0)) * 2
+    del tmp241
+    l2new.bbbb += einsum(tmp242, (0, 1, 2, 3), l2.bbbb, (4, 5, 0, 2), (4, 5, 1, 3)) * -2
+    del tmp242
+    l2new.bbbb += einsum(v.bbb.xov, (0, 1, 2), tmp126, (0, 3, 4), (2, 4, 3, 1))
+    del tmp126
+    l2new.bbbb += einsum(l1.bb, (0, 1), tmp227, (2, 1, 3, 4), (4, 0, 2, 3))
+    del tmp227
+    l2new.bbbb += einsum(v.bbb.xov, (0, 1, 2), tmp197, (0, 3, 4), (4, 2, 3, 1)) * -2
+    del tmp197
+    l2new.bbbb += np.transpose(tmp228, (3, 2, 1, 0)) * -1
+    del tmp228
+    l2new.bbbb += einsum(l1.bb, (0, 1), tmp110, (2, 3), (3, 0, 1, 2))
+    l2new.bbbb += np.transpose(tmp243, (3, 2, 0, 1)) * -2
+    l2new.bbbb += np.transpose(tmp244, (3, 2, 0, 1)) * -2
+    l2new.bbbb += np.transpose(tmp246, (3, 2, 0, 1))
+    l2new.bbbb += np.transpose(tmp247, (2, 3, 0, 1)) * -1
+    l2new.bbbb += einsum(l1.bb, (0, 1), tmp110, (2, 3), (0, 3, 1, 2)) * -1
+    l2new.bbbb += np.transpose(tmp243, (2, 3, 0, 1)) * 2
+    l2new.bbbb += np.transpose(tmp244, (2, 3, 0, 1)) * 2
+    l2new.bbbb += np.transpose(tmp246, (2, 3, 0, 1)) * -1
+    l2new.bbbb += np.transpose(tmp247, (3, 2, 0, 1))
+    l2new.bbbb += einsum(tmp110, (0, 1), l1.bb, (2, 3), (1, 2, 0, 3)) * -1
+    l2new.bbbb += np.transpose(tmp243, (3, 2, 1, 0)) * 2
+    l2new.bbbb += np.transpose(tmp244, (3, 2, 1, 0)) * 2
+    l2new.bbbb += np.transpose(tmp246, (3, 2, 1, 0)) * -1
+    l2new.bbbb += np.transpose(tmp247, (2, 3, 1, 0))
+    l2new.bbbb += einsum(tmp110, (0, 1), l1.bb, (2, 3), (2, 1, 0, 3))
+    l2new.bbbb += np.transpose(tmp243, (2, 3, 1, 0)) * -2
+    del tmp243
+    l2new.bbbb += np.transpose(tmp244, (2, 3, 1, 0)) * -2
+    del tmp244
+    l2new.bbbb += np.transpose(tmp246, (2, 3, 1, 0))
+    del tmp246
+    l2new.bbbb += np.transpose(tmp247, (3, 2, 1, 0)) * -1
+    del tmp247
+    l2new.abab = einsum(tmp198, (0, 1, 2), v.baa.xov, (0, 3, 4), (4, 2, 3, 1)) * 2
+    del tmp198
+    l2new.abab += einsum(tmp199, (0, 1, 2, 3), l1.bb, (4, 2), (3, 4, 0, 1)) * -1
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp164, (4, 2, 5, 0), (5, 1, 4, 3)) * -1
+    del tmp164
+    l2new.abab += einsum(v.baa.xov, (0, 1, 2), tmp203, (0, 3, 4), (2, 4, 1, 3))
+    del tmp203
+    l2new.abab += einsum(tmp84, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1
+    l2new.abab += einsum(l1.bb, (0, 1), tmp174, (2, 3), (3, 0, 2, 1))
+    l2new.abab += einsum(tmp205, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (4, 2, 5, 0)) * -1
+    del tmp205
+    l2new.abab += einsum(tmp170, (0, 1, 2), v.bbb.xov, (0, 3, 4), (2, 4, 1, 3))
+    del tmp170
+    l2new.abab += einsum(l1.aa, (0, 1), tmp207, (2, 3), (0, 3, 1, 2))
+    del tmp207
+    l2new.abab += einsum(tmp208, (0, 1, 2, 3), l2.abab, (2, 4, 5, 0), (3, 4, 5, 1)) * -1
+    del tmp208
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp133, (3, 4), (0, 1, 2, 4)) * -1
+    l2new.abab += einsum(tmp0, (0, 1, 2, 3), tmp52, (4, 0, 5, 2), (1, 3, 4, 5)) * -1
+    del tmp0
+    l2new.abab += np.transpose(tmp210, (2, 3, 0, 1))
+    del tmp210
+    l2new.abab += np.transpose(tmp211, (2, 3, 0, 1)) * 2
+    del tmp211
+    l2new.abab += einsum(tmp212, (0, 1), l2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -2
+    del tmp212
+    l2new.abab += einsum(tmp52, (0, 1, 2, 3), tmp184, (1, 4), (4, 3, 0, 2)) * -1
+    del tmp184
+    l2new.abab += einsum(tmp107, (0, 1, 2, 3), tmp63, (4, 5, 0, 2), (1, 3, 4, 5)) * -1
+    del tmp107
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp216, (1, 4), (0, 4, 2, 3)) * -1
+    del tmp216
+    l2new.abab += einsum(tmp217, (0, 1), tmp63, (2, 3, 0, 4), (4, 1, 2, 3)) * -1
+    del tmp217
+    l2new.abab += einsum(v.bbb.xov, (0, 1, 2), tmp154, (0, 3, 4), (4, 2, 3, 1)) * -1
+    del tmp154
+    l2new.abab += einsum(tmp218, (0, 1, 2, 3), l1.aa, (4, 1), (4, 3, 0, 2)) * -1
+    l2new.abab += einsum(tmp219, (0, 1, 2, 3), l2.abab, (4, 5, 0, 2), (4, 5, 1, 3))
+    del tmp219
+    l2new.abab += einsum(l2.abab, (0, 1, 2, 3), tmp220, (2, 4, 1, 5), (0, 5, 4, 3)) * -1
+    del tmp220
+    l2new.abab += einsum(tmp92, (0, 1, 2, 3), tmp17, (1, 4, 5, 3), (5, 2, 0, 4))
+    del tmp92
+    l2new.abab += einsum(tmp199, (0, 1, 2, 3), tmp52, (4, 0, 2, 5), (3, 5, 4, 1))
+    del tmp199
+    l2new.abab += einsum(tmp195, (0, 1, 2), v.bbb.xov, (0, 3, 4), (2, 4, 1, 3)) * -1
+    del tmp195
+    l2new.abab += einsum(tmp17, (0, 1, 2, 3), tmp141, (4, 1, 5, 2), (5, 3, 0, 4))
+    del tmp17, tmp141
+    l2new.abab += einsum(tmp218, (0, 1, 2, 3), tmp63, (1, 4, 2, 5), (5, 3, 0, 4))
+    del tmp218
+    l2new.abab += einsum(v.baa.xov, (0, 1, 2), tmp221, (0, 3, 4), (2, 4, 1, 3)) * -1
+    del tmp221
+    l2new.abab += einsum(l1.bb, (0, 1), tmp11, (2, 3), (3, 0, 2, 1)) * -1
+    l2new.abab += einsum(tmp52, (0, 1, 2, 3), tmp191, (4, 0, 1, 5), (5, 3, 4, 2))
+    del tmp191
+    l2new.abab += einsum(tmp52, (0, 1, 2, 3), tmp189, (0, 1, 4, 5), (5, 3, 4, 2))
+    del tmp52, tmp189
+    l2new.abab += einsum(tmp222, (0, 1, 2, 3), tmp29, (0, 4, 5, 2), (5, 3, 4, 1)) * -2
+    del tmp29, tmp222
+    l2new.abab += einsum(tmp110, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0)) * -1
+    del tmp110
+    l2new.abab += einsum(tmp63, (0, 1, 2, 3), tmp223, (1, 2, 4, 5), (3, 5, 0, 4))
+    del tmp223
+    l2new.abab += einsum(tmp224, (0, 1, 2, 3), tmp63, (4, 1, 2, 5), (5, 3, 4, 0))
+    del tmp63, tmp224
+    l2new.abab += einsum(tmp225, (0, 1, 2, 3), tmp119, (1, 4, 5, 3), (2, 5, 0, 4)) * -2
+    del tmp119, tmp225
+    l2new.aaaa = np.copy(np.transpose(tmp156, (3, 2, 1, 0)))
+    l2new.aaaa += einsum(tmp23, (0, 1, 2, 3), l1.aa, (4, 2), (3, 4, 0, 1)) * -1
+    del tmp23
+    l2new.aaaa += np.transpose(tmp156, (2, 3, 1, 0)) * -1
+    del tmp156
+    l2new.aaaa += np.transpose(tmp159, (3, 2, 0, 1))
+    l2new.aaaa += einsum(l2.aaaa, (0, 1, 2, 3), tmp160, (3, 4, 5, 1), (5, 0, 2, 4)) * 2
+    del tmp160
+    l2new.aaaa += einsum(tmp162, (0, 1, 2), v.baa.xov, (0, 3, 4), (4, 2, 1, 3)) * -1
+    del tmp162
+    l2new.aaaa += einsum(tmp84, (0, 1), l2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -2
+    l2new.aaaa += einsum(tmp163, (0, 1), l1.aa, (2, 3), (1, 2, 3, 0)) * -1
+    del tmp163
+    l2new.aaaa += np.transpose(tmp165, (2, 3, 0, 1)) * -2
+    l2new.aaaa += np.transpose(tmp171, (3, 2, 1, 0))
+    l2new.aaaa += einsum(tmp172, (0, 1), l2.aaaa, (2, 3, 4, 0), (2, 3, 1, 4)) * 4
+    del tmp172
+    l2new.aaaa += einsum(l1.aa, (0, 1), tmp174, (2, 3), (3, 0, 2, 1))
+    l2new.aaaa += np.transpose(tmp165, (3, 2, 1, 0)) * -2
+    l2new.aaaa += np.transpose(tmp171, (2, 3, 0, 1))
+    l2new.aaaa += einsum(tmp174, (0, 1), l1.aa, (2, 3), (2, 1, 3, 0))
+    l2new.aaaa += np.transpose(tmp165, (3, 2, 0, 1)) * 2
+    del tmp165
+    l2new.aaaa += np.transpose(tmp171, (2, 3, 1, 0)) * -1
+    del tmp171
+    l2new.aaaa += einsum(tmp174, (0, 1), l1.aa, (2, 3), (2, 1, 0, 3)) * -1
+    del tmp174
+    l2new.aaaa += np.transpose(tmp175, (2, 3, 1, 0)) * 2
+    l2new.aaaa += np.transpose(tmp177, (2, 3, 1, 0)) * -2
+    del tmp177
+    l2new.aaaa += np.transpose(tmp178, (3, 2, 1, 0)) * 4
+    del tmp178
+    l2new.aaaa += np.transpose(tmp183, (2, 3, 1, 0)) * 2
+    l2new.aaaa += np.transpose(tmp185, (2, 3, 1, 0)) * -2
+    l2new.aaaa += np.transpose(tmp175, (3, 2, 1, 0)) * -2
+    del tmp175
+    l2new.aaaa += np.transpose(tmp183, (3, 2, 1, 0)) * -2
+    del tmp183
+    l2new.aaaa += np.transpose(tmp185, (3, 2, 1, 0)) * 2
+    del tmp185
+    l2new.aaaa += np.transpose(tmp186, (2, 3, 0, 1)) * -2
+    l2new.aaaa += np.transpose(tmp186, (2, 3, 1, 0)) * 2
+    del tmp186
+    l2new.aaaa += einsum(tmp187, (0, 1, 2, 3), l2.aaaa, (4, 5, 0, 2), (4, 5, 1, 3)) * -2
+    del tmp187
+    l2new.aaaa += np.transpose(tmp188, (3, 2, 0, 1)) * -1
+    l2new.aaaa += einsum(tmp158, (0, 1, 2, 3), l1.aa, (4, 1), (3, 4, 0, 2))
+    del tmp158
+    l2new.aaaa += np.transpose(tmp188, (2, 3, 0, 1))
+    del tmp188
+    l2new.aaaa += np.transpose(tmp159, (3, 2, 1, 0)) * -1
+    del tmp159
+    l2new.aaaa += einsum(tmp11, (0, 1), l1.aa, (2, 3), (1, 2, 3, 0))
+    l2new.aaaa += np.transpose(tmp190, (3, 2, 0, 1)) * -2
+    l2new.aaaa += np.transpose(tmp192, (3, 2, 0, 1)) * -2
+    l2new.aaaa += np.transpose(tmp194, (3, 2, 0, 1))
+    l2new.aaaa += np.transpose(tmp196, (2, 3, 0, 1)) * -1
+    l2new.aaaa += einsum(l1.aa, (0, 1), tmp11, (2, 3), (0, 3, 1, 2)) * -1
+    l2new.aaaa += np.transpose(tmp190, (2, 3, 0, 1)) * 2
+    l2new.aaaa += np.transpose(tmp192, (2, 3, 0, 1)) * 2
+    l2new.aaaa += np.transpose(tmp194, (2, 3, 0, 1)) * -1
+    l2new.aaaa += np.transpose(tmp196, (3, 2, 0, 1))
+    l2new.aaaa += einsum(l1.aa, (0, 1), tmp11, (2, 3), (3, 0, 2, 1)) * -1
+    l2new.aaaa += np.transpose(tmp190, (3, 2, 1, 0)) * 2
+    l2new.aaaa += np.transpose(tmp192, (3, 2, 1, 0)) * 2
+    l2new.aaaa += np.transpose(tmp194, (3, 2, 1, 0)) * -1
+    l2new.aaaa += np.transpose(tmp196, (2, 3, 1, 0))
+    l2new.aaaa += einsum(tmp11, (0, 1), l1.aa, (2, 3), (2, 1, 0, 3))
+    del tmp11
+    l2new.aaaa += np.transpose(tmp190, (2, 3, 1, 0)) * -2
+    del tmp190
+    l2new.aaaa += np.transpose(tmp192, (2, 3, 1, 0)) * -2
+    del tmp192
+    l2new.aaaa += np.transpose(tmp194, (2, 3, 1, 0))
+    del tmp194
+    l2new.aaaa += np.transpose(tmp196, (3, 2, 1, 0)) * -1
+    del tmp196
+    l1new.bb = np.copy(np.transpose(f.bb.ov, (1, 0)))
+    l1new.bb += einsum(l2.abab, (0, 1, 2, 3), tmp114, (2, 4, 3, 0), (1, 4)) * -1
+    del tmp114
+    l1new.bb += einsum(l2.bbbb, (0, 1, 2, 3), tmp124, (4, 2, 3, 1), (0, 4)) * 4
+    del tmp124
+    l1new.bb += einsum(tmp127, (0, 1, 2), v.bbb.xvv, (0, 3, 2), (3, 1)) * -1
+    del tmp127
+    l1new.bb += einsum(tmp78, (0,), v.bbb.xov, (0, 1, 2), (2, 1))
+    l1new.bb += einsum(tmp133, (0, 1), l1.bb, (2, 0), (2, 1)) * -1
+    del tmp133
+    l1new.bb += einsum(v.bbb.xvv, (0, 1, 2), tmp140, (0, 3, 2), (1, 3))
+    del tmp140
+    l1new.bb += einsum(v.bbb.xov, (0, 1, 2), tmp152, (0, 1, 3), (2, 3)) * -1
+    del tmp152
+    l1new.bb += einsum(tmp70, (0, 1), tmp112, (1, 2), (2, 0)) * -1
+    del tmp70, tmp112
+    l1new.bb += einsum(l1.bb, (0, 1), tmp153, (0, 2), (2, 1))
+    del tmp153
+    l1new.aa = np.copy(np.transpose(f.aa.ov, (1, 0)))
+    l1new.aa += einsum(tmp21, (0, 1, 2, 3), l2.abab, (4, 3, 1, 2), (4, 0)) * -1
+    del tmp21
+    l1new.aa += einsum(l2.aaaa, (0, 1, 2, 3), tmp34, (4, 2, 3, 1), (0, 4)) * 2
+    del tmp34
+    l1new.aa += einsum(tmp39, (0, 1, 2), v.baa.xvv, (0, 3, 2), (3, 1)) * -2
+    del tmp39
+    l1new.aa += einsum(v.baa.xov, (0, 1, 2), tmp78, (0,), (2, 1))
+    del tmp78
+    l1new.aa += einsum(tmp84, (0, 1), l1.aa, (2, 0), (2, 1)) * -1
+    del tmp84
+    l1new.aa += einsum(v.baa.xvv, (0, 1, 2), tmp90, (0, 3, 2), (1, 3)) * 4
+    del tmp90
+    l1new.aa += einsum(tmp104, (0, 1, 2), v.baa.xov, (0, 1, 3), (3, 2)) * -4
+    del tmp104
+    l1new.aa += einsum(tmp57, (0, 1), tmp16, (1, 2), (2, 0)) * -2
+    del tmp57, tmp16
+    l1new.aa += einsum(tmp106, (0, 1), l1.aa, (0, 2), (1, 2))
+    del tmp106
+
+    return {f"l1new": l1new, f"l2new": l2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCCSD.make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:41:37.692683.

+

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.

+ +
+ Source code in ebcc/codegen/UDFCCSD.py +
1771
+1772
+1773
+1774
+1775
+1776
+1777
+1778
+1779
+1780
+1781
+1782
+1783
+1784
+1785
+1786
+1787
+1788
+1789
+1790
+1791
+1792
+1793
+1794
+1795
+1796
+1797
+1798
+1799
+1800
+1801
+1802
+1803
+1804
+1805
+1806
+1807
+1808
+1809
+1810
+1811
+1812
+1813
+1814
+1815
+1816
+1817
+1818
+1819
+1820
+1821
+1822
+1823
+1824
+1825
+1826
+1827
+1828
+1829
+1830
+1831
+1832
+1833
+1834
+1835
+1836
+1837
+1838
+1839
+1840
+1841
+1842
+1843
+1844
+1845
+1846
+1847
+1848
+1849
+1850
+1851
+1852
+1853
+1854
+1855
+1856
+1857
+1858
+1859
def make_rdm1_f(l1=None, l2=None, t1=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:41:37.692683.
+
+    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))
+    tmp3 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4))
+    tmp4 = einsum(t1.bb, (0, 1), l1.bb, (1, 2), (2, 0))
+    tmp2 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0))
+    tmp0 = einsum(t1.aa, (0, 1), l1.aa, (1, 2), (2, 0))
+    tmp1 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4))
+    tmp9 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0))
+    tmp11 = np.copy(tmp4)
+    tmp11 += tmp5
+    tmp11 += tmp3 * 2
+    tmp10 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2))
+    tmp8 = np.copy(tmp0) * 0.5
+    tmp8 += tmp1
+    tmp8 += tmp2 * 0.5
+    tmp7 = einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2))
+    tmp6 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (4, 1), (2, 3, 4, 0))
+    rdm1.bb.vv = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3))
+    rdm1.bb.vv += einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2))
+    rdm1.bb.vv += einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) * 2
+    rdm1.aa.vv = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4))
+    rdm1.aa.vv += einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1))
+    rdm1.aa.vv += einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 0, 1), (4, 2)) * 2
+    rdm1.bb.vo = np.copy(l1.bb)
+    rdm1.aa.vo = np.copy(l1.aa)
+    rdm1.bb.ov = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 0), (1, 3))
+    rdm1.bb.ov += einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2)) * 2
+    rdm1.bb.ov += t1.bb
+    rdm1.bb.ov += einsum(t2.bbbb, (0, 1, 2, 3), tmp9, (1, 0, 4, 3), (4, 2)) * -2
+    del tmp9
+    rdm1.bb.ov += einsum(tmp10, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4)) * -1
+    del tmp10
+    rdm1.bb.ov += einsum(t1.bb, (0, 1), tmp11, (0, 2), (2, 1)) * -1
+    del tmp11
+    rdm1.aa.ov = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3))
+    rdm1.aa.ov += einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3)) * 2
+    rdm1.aa.ov += t1.aa
+    rdm1.aa.ov += einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (1, 0, 4, 3), (2, 4)) * -2
+    del tmp6
+    rdm1.aa.ov += einsum(t2.abab, (0, 1, 2, 3), tmp7, (0, 4, 1, 3), (4, 2)) * -1
+    del tmp7
+    rdm1.aa.ov += einsum(tmp8, (0, 1), t1.aa, (0, 2), (1, 2)) * -2
+    del tmp8
+    rdm1.bb.oo = np.copy(np.transpose(tmp3, (1, 0))) * -2
+    del tmp3
+    rdm1.bb.oo += delta.bb.oo
+    rdm1.bb.oo += np.transpose(tmp4, (1, 0)) * -1
+    del tmp4
+    rdm1.bb.oo += np.transpose(tmp5, (1, 0)) * -1
+    del tmp5
+    rdm1.aa.oo = np.copy(np.transpose(tmp0, (1, 0))) * -1
+    del tmp0
+    rdm1.aa.oo += delta.aa.oo
+    del delta
+    rdm1.aa.oo += np.transpose(tmp1, (1, 0)) * -2
+    del tmp1
+    rdm1.aa.oo += np.transpose(tmp2, (1, 0)) * -1
+    del tmp2
+    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
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCCSD.make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:42:18.178662.

+

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.

+ +
+ Source code in ebcc/codegen/UDFCCSD.py +
1861
+1862
+1863
+1864
+1865
+1866
+1867
+1868
+1869
+1870
+1871
+1872
+1873
+1874
+1875
+1876
+1877
+1878
+1879
+1880
+1881
+1882
+1883
+1884
+1885
+1886
+1887
+1888
+1889
+1890
+1891
+1892
+1893
+1894
+1895
+1896
+1897
+1898
+1899
+1900
+1901
+1902
+1903
+1904
+1905
+1906
+1907
+1908
+1909
+1910
+1911
+1912
+1913
+1914
+1915
+1916
+1917
+1918
+1919
+1920
+1921
+1922
+1923
+1924
+1925
+1926
+1927
+1928
+1929
+1930
+1931
+1932
+1933
+1934
+1935
+1936
+1937
+1938
+1939
+1940
+1941
+1942
+1943
+1944
+1945
+1946
+1947
+1948
+1949
+1950
+1951
+1952
+1953
+1954
+1955
+1956
+1957
+1958
+1959
+1960
+1961
+1962
+1963
+1964
+1965
+1966
+1967
+1968
+1969
+1970
+1971
+1972
+1973
+1974
+1975
+1976
+1977
+1978
+1979
+1980
+1981
+1982
+1983
+1984
+1985
+1986
+1987
+1988
+1989
+1990
+1991
+1992
+1993
+1994
+1995
+1996
+1997
+1998
+1999
+2000
+2001
+2002
+2003
+2004
+2005
+2006
+2007
+2008
+2009
+2010
+2011
+2012
+2013
+2014
+2015
+2016
+2017
+2018
+2019
+2020
+2021
+2022
+2023
+2024
+2025
+2026
+2027
+2028
+2029
+2030
+2031
+2032
+2033
+2034
+2035
+2036
+2037
+2038
+2039
+2040
+2041
+2042
+2043
+2044
+2045
+2046
+2047
+2048
+2049
+2050
+2051
+2052
+2053
+2054
+2055
+2056
+2057
+2058
+2059
+2060
+2061
+2062
+2063
+2064
+2065
+2066
+2067
+2068
+2069
+2070
+2071
+2072
+2073
+2074
+2075
+2076
+2077
+2078
+2079
+2080
+2081
+2082
+2083
+2084
+2085
+2086
+2087
+2088
+2089
+2090
+2091
+2092
+2093
+2094
+2095
+2096
+2097
+2098
+2099
+2100
+2101
+2102
+2103
+2104
+2105
+2106
+2107
+2108
+2109
+2110
+2111
+2112
+2113
+2114
+2115
+2116
+2117
+2118
+2119
+2120
+2121
+2122
+2123
+2124
+2125
+2126
+2127
+2128
+2129
+2130
+2131
+2132
+2133
+2134
+2135
+2136
+2137
+2138
+2139
+2140
+2141
+2142
+2143
+2144
+2145
+2146
+2147
+2148
+2149
+2150
+2151
+2152
+2153
+2154
+2155
+2156
+2157
+2158
+2159
+2160
+2161
+2162
+2163
+2164
+2165
+2166
+2167
+2168
+2169
+2170
+2171
+2172
+2173
+2174
+2175
+2176
+2177
+2178
+2179
+2180
+2181
+2182
+2183
+2184
+2185
+2186
+2187
+2188
+2189
+2190
+2191
+2192
+2193
+2194
+2195
+2196
+2197
+2198
+2199
+2200
+2201
+2202
+2203
+2204
+2205
+2206
+2207
+2208
+2209
+2210
+2211
+2212
+2213
+2214
+2215
+2216
+2217
+2218
+2219
+2220
+2221
+2222
+2223
+2224
+2225
+2226
+2227
+2228
+2229
+2230
+2231
+2232
+2233
+2234
+2235
+2236
+2237
+2238
+2239
+2240
+2241
+2242
+2243
+2244
+2245
+2246
+2247
+2248
+2249
+2250
+2251
+2252
+2253
+2254
+2255
+2256
+2257
+2258
+2259
+2260
+2261
+2262
+2263
+2264
+2265
+2266
+2267
+2268
+2269
+2270
+2271
+2272
+2273
+2274
+2275
+2276
+2277
+2278
+2279
+2280
+2281
+2282
+2283
+2284
+2285
+2286
+2287
+2288
+2289
+2290
+2291
+2292
+2293
+2294
+2295
+2296
+2297
+2298
+2299
+2300
+2301
+2302
+2303
+2304
+2305
+2306
+2307
+2308
+2309
+2310
+2311
+2312
+2313
+2314
+2315
+2316
+2317
+2318
+2319
+2320
+2321
+2322
+2323
+2324
+2325
+2326
+2327
+2328
+2329
+2330
+2331
+2332
+2333
+2334
+2335
+2336
+2337
+2338
+2339
+2340
+2341
+2342
+2343
+2344
+2345
+2346
+2347
+2348
+2349
+2350
+2351
+2352
+2353
+2354
+2355
+2356
+2357
+2358
+2359
+2360
+2361
+2362
+2363
+2364
+2365
+2366
+2367
+2368
+2369
+2370
+2371
+2372
+2373
+2374
+2375
+2376
+2377
+2378
+2379
+2380
+2381
+2382
+2383
+2384
+2385
+2386
+2387
+2388
+2389
+2390
+2391
+2392
+2393
+2394
+2395
+2396
+2397
+2398
+2399
+2400
+2401
+2402
+2403
+2404
+2405
+2406
+2407
+2408
+2409
+2410
+2411
+2412
+2413
+2414
+2415
+2416
+2417
+2418
+2419
+2420
+2421
+2422
+2423
+2424
+2425
+2426
+2427
+2428
+2429
+2430
+2431
+2432
+2433
+2434
+2435
+2436
+2437
+2438
+2439
+2440
+2441
+2442
+2443
+2444
+2445
+2446
+2447
+2448
+2449
+2450
+2451
+2452
+2453
+2454
+2455
+2456
+2457
+2458
+2459
+2460
+2461
+2462
+2463
+2464
+2465
+2466
+2467
+2468
+2469
+2470
+2471
+2472
+2473
+2474
+2475
+2476
+2477
+2478
+2479
+2480
+2481
+2482
+2483
+2484
+2485
+2486
+2487
+2488
+2489
+2490
+2491
+2492
+2493
+2494
+2495
+2496
+2497
+2498
+2499
+2500
+2501
+2502
+2503
+2504
+2505
+2506
+2507
+2508
+2509
+2510
+2511
+2512
+2513
+2514
def make_rdm2_f(l1=None, l2=None, t1=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:42:18.178662.
+
+    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])),
+    )
+    tmp10 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 0, 1), (2, 4))
+    tmp9 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (3, 4))
+    tmp8 = einsum(t1.bb, (0, 1), l1.bb, (1, 2), (2, 0))
+    tmp18 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (4, 1), (2, 3, 4, 0))
+    tmp13 = einsum(t1.bb, (0, 1), l2.abab, (2, 1, 3, 4), (3, 4, 0, 2))
+    tmp2 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 1), (4, 0))
+    tmp0 = einsum(t1.aa, (0, 1), l1.aa, (1, 2), (2, 0))
+    tmp1 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (4, 3, 0, 1), (2, 4))
+    tmp6 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (4, 1), (2, 3, 4, 0))
+    tmp26 = einsum(t1.aa, (0, 1), l2.abab, (1, 2, 3, 4), (3, 0, 4, 2))
+    tmp89 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 3, 5, 1), (2, 4, 0, 5))
+    tmp88 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 5), (5, 1, 4, 3))
+    tmp68 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp72 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp16 = np.copy(tmp8)
+    tmp16 += tmp9
+    tmp16 += tmp10 * 2
+    tmp17 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 0, 1), (2, 3, 4, 5))
+    tmp19 = einsum(t1.bb, (0, 1), tmp18, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp52 = einsum(t2.bbbb, (0, 1, 2, 3), tmp18, (4, 1, 5, 3), (4, 5, 0, 2)) * -1
+    tmp53 = einsum(t2.abab, (0, 1, 2, 3), tmp13, (0, 4, 5, 2), (4, 5, 1, 3))
+    tmp12 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 3, 4, 5), (4, 0, 5, 1))
+    tmp14 = einsum(t1.aa, (0, 1), tmp13, (2, 3, 4, 1), (2, 0, 3, 4))
+    tmp28 = np.copy(tmp0) * 0.5
+    tmp28 += tmp1
+    tmp28 += tmp2 * 0.5
+    tmp32 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (0, 2, 4, 5)) * -1
+    tmp31 = einsum(tmp26, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (0, 1, 4, 5))
+    tmp7 = einsum(tmp6, (0, 1, 2, 3), t1.aa, (4, 3), (0, 1, 4, 2))
+    tmp5 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 5), (4, 5, 0, 1))
+    tmp112 = einsum(tmp18, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 3, 4))
+    tmp83 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4))
+    tmp82 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (2, 4, 0, 1), (4, 3))
+    tmp108 = einsum(l1.bb, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp90 = np.copy(tmp88)
+    tmp90 += tmp89 * 4
+    tmp85 = einsum(l2.aaaa, (0, 1, 2, 3), t2.abab, (3, 4, 1, 5), (2, 4, 0, 5))
+    tmp86 = einsum(t2.bbbb, (0, 1, 2, 3), l2.abab, (4, 3, 5, 1), (5, 0, 4, 2))
+    tmp65 = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 0, 1), (4, 2))
+    tmp105 = einsum(t1.aa, (0, 1), l1.aa, (2, 0), (2, 1))
+    tmp66 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4))
+    tmp119 = np.copy(tmp68) * 4
+    tmp119 += tmp72
+    tmp107 = einsum(tmp6, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp70 = einsum(l2.bbbb, (0, 1, 2, 3), t2.abab, (4, 3, 5, 1), (4, 2, 5, 0))
+    tmp114 = einsum(t2.aaaa, (0, 1, 2, 3), l2.abab, (3, 4, 1, 5), (0, 5, 2, 4))
+    tmp39 = einsum(tmp13, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4))
+    tmp41 = einsum(t1.bb, (0, 1), tmp16, (0, 2), (2, 1)) * 0.5
+    tmp40 = einsum(t2.bbbb, (0, 1, 2, 3), tmp18, (1, 0, 4, 3), (4, 2))
+    tmp36 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (3, 1), (0, 2))
+    tmp35 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 0), (1, 3))
+    tmp49 = einsum(l1.bb, (0, 1), t2.bbbb, (2, 3, 4, 0), (1, 2, 3, 4))
+    tmp50 = einsum(t1.bb, (0, 1), tmp16, (0, 2), (2, 1))
+    tmp54 = np.copy(np.transpose(tmp17, (1, 0, 3, 2)))
+    tmp54 += np.transpose(tmp19, (0, 1, 3, 2)) * -1
+    tmp103 = np.copy(tmp53)
+    tmp103 += tmp52 * 4
+    tmp21 = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 0), (2, 3))
+    tmp20 = einsum(l1.aa, (0, 1), t2.aaaa, (2, 1, 3, 0), (2, 3))
+    tmp61 = einsum(t2.aaaa, (0, 1, 2, 3), tmp13, (1, 4, 5, 3), (0, 4, 5, 2))
+    tmp60 = einsum(tmp18, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5)) * -1
+    tmp45 = np.copy(tmp12)
+    tmp45 += tmp14
+    tmp43 = einsum(t2.bbbb, (0, 1, 2, 3), tmp26, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp44 = einsum(tmp6, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 2, 4, 5)) * -1
+    tmp25 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (1, 0, 4, 3), (2, 4))
+    tmp27 = einsum(t2.abab, (0, 1, 2, 3), tmp26, (0, 4, 1, 3), (4, 2))
+    tmp58 = einsum(tmp28, (0, 1), t1.aa, (0, 2), (1, 2))
+    tmp80 = np.copy(tmp32) * 4
+    tmp80 += tmp31
+    tmp29 = einsum(tmp28, (0, 1), t1.aa, (0, 2), (1, 2)) * 2
+    del tmp28
+    tmp33 = np.copy(np.transpose(tmp5, (1, 0, 3, 2)))
+    tmp33 += np.transpose(tmp7, (0, 1, 3, 2)) * -1
+    tmp24 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (3, 4), (4, 0, 1, 2))
+    tmp4 = np.copy(tmp0)
+    tmp4 += tmp1 * 2
+    tmp4 += tmp2
+    tmp131 = einsum(l2.bbbb, (0, 1, 2, 3), t1.bb, (3, 4), (2, 0, 1, 4))
+    tmp133 = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (0, 1, 4, 5))
+    tmp130 = einsum(l2.abab, (0, 1, 2, 3), t1.bb, (3, 4), (2, 0, 1, 4))
+    tmp129 = einsum(l2.aaaa, (0, 1, 2, 3), t1.aa, (3, 4), (2, 0, 1, 4))
+    tmp132 = einsum(l2.aaaa, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (0, 1, 4, 5))
+    tmp127 = einsum(tmp18, (0, 1, 2, 3), t2.bbbb, (1, 0, 4, 5), (2, 3, 4, 5)) * -1
+    tmp128 = einsum(t1.bb, (0, 1), tmp112, (0, 2, 3, 4), (2, 3, 4, 1)) * -1
+    tmp109 = np.copy(tmp108)
+    tmp109 += tmp82
+    tmp109 += tmp83 * 2
+    tmp124 = einsum(t2.bbbb, (0, 1, 2, 3), l1.bb, (4, 1), (0, 4, 2, 3))
+    tmp126 = einsum(t1.bb, (0, 1), tmp90, (0, 2, 3, 4), (2, 1, 3, 4))
+    tmp116 = einsum(t1.bb, (0, 1), tmp13, (2, 0, 3, 4), (2, 3, 4, 1))
+    tmp91 = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 3, 0, 5), (5, 1, 4, 2))
+    tmp87 = np.copy(tmp85)
+    tmp87 += tmp86
+    tmp106 = np.copy(tmp105) * 0.5
+    tmp106 += tmp65
+    tmp106 += tmp66 * 0.5
+    tmp120 = einsum(t1.aa, (0, 1), tmp119, (0, 2, 3, 4), (2, 1, 3, 4))
+    del tmp119
+    tmp121 = einsum(t2.aaaa, (0, 1, 2, 3), tmp6, (1, 0, 4, 5), (4, 5, 2, 3)) * -1
+    tmp122 = einsum(tmp107, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 3, 4)) * -1
+    tmp113 = np.copy(tmp105)
+    del tmp105
+    tmp113 += tmp65 * 2
+    tmp113 += tmp66
+    tmp117 = einsum(t2.aaaa, (0, 1, 2, 3), l1.aa, (4, 1), (0, 4, 2, 3))
+    tmp125 = np.copy(tmp88)
+    tmp125 += tmp89 * 4
+    tmp110 = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 5), (2, 4, 1, 5))
+    tmp123 = np.copy(tmp114)
+    tmp123 += tmp70
+    tmp115 = einsum(t1.aa, (0, 1), tmp26, (0, 2, 3, 4), (2, 3, 1, 4))
+    tmp118 = np.copy(tmp68) * 4
+    tmp118 += tmp72
+    tmp111 = np.copy(tmp108) * 0.5
+    del tmp108
+    tmp111 += tmp82 * 0.5
+    tmp111 += tmp83
+    tmp42 = np.copy(tmp39) * 0.5
+    tmp42 += tmp40
+    tmp42 += tmp41
+    del tmp41
+    tmp37 = np.copy(t1.bb)
+    tmp37 += tmp35
+    tmp37 += tmp36 * 2
+    tmp100 = einsum(t2.bbbb, (0, 1, 2, 3), tmp16, (1, 4), (0, 4, 2, 3)) * -1
+    tmp48 = np.copy(t1.bb)
+    tmp48 += tmp35
+    tmp48 += tmp36 * 2
+    tmp84 = np.copy(tmp82) * 0.5
+    tmp84 += tmp83
+    tmp99 = einsum(t1.bb, (0, 1), tmp49, (0, 2, 3, 4), (2, 3, 1, 4))
+    tmp94 = np.copy(tmp82)
+    del tmp82
+    tmp94 += tmp83 * 2
+    del tmp83
+    tmp98 = np.copy(tmp35)
+    tmp98 += tmp36 * 2
+    tmp51 = np.copy(tmp39)
+    del tmp39
+    tmp51 += tmp40 * 2
+    del tmp40
+    tmp51 += tmp50
+    del tmp50
+    tmp97 = einsum(tmp88, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (1, 4, 3, 5))
+    tmp101 = einsum(tmp54, (0, 1, 2, 3), t2.bbbb, (0, 1, 4, 5), (2, 3, 4, 5))
+    tmp95 = einsum(tmp85, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5))
+    tmp102 = einsum(tmp54, (0, 1, 2, 3), t1.bb, (0, 4), (1, 3, 2, 4))
+    tmp96 = einsum(tmp89, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (1, 4, 3, 5))
+    tmp104 = einsum(t1.bb, (0, 1), tmp103, (0, 2, 3, 4), (2, 3, 1, 4))
+    del tmp103
+    tmp57 = einsum(l1.bb, (0, 1), t2.abab, (2, 3, 4, 0), (2, 1, 3, 4))
+    tmp67 = np.copy(tmp65)
+    tmp67 += tmp66 * 0.5
+    tmp74 = np.copy(tmp20) * 2
+    tmp74 += tmp21
+    tmp93 = np.copy(tmp61)
+    tmp93 += tmp60
+    tmp47 = einsum(tmp13, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (0, 4, 2, 5))
+    tmp63 = einsum(t2.abab, (0, 1, 2, 3), tmp26, (0, 4, 5, 3), (4, 5, 1, 2))
+    tmp46 = einsum(t1.bb, (0, 1), tmp45, (2, 3, 0, 4), (2, 3, 4, 1))
+    tmp92 = np.copy(tmp44)
+    tmp92 += tmp43
+    tmp38 = einsum(t2.abab, (0, 1, 2, 3), l1.aa, (2, 4), (4, 0, 1, 3))
+    tmp59 = np.copy(tmp25)
+    tmp59 += tmp27 * 0.5
+    tmp59 += tmp58
+    del tmp58
+    tmp81 = einsum(t1.aa, (0, 1), tmp80, (0, 2, 3, 4), (2, 3, 1, 4))
+    del tmp80
+    tmp30 = np.copy(tmp25) * 2
+    del tmp25
+    tmp30 += tmp27
+    del tmp27
+    tmp30 += tmp29
+    del tmp29
+    tmp79 = einsum(t1.aa, (0, 1), tmp33, (0, 2, 3, 4), (2, 4, 3, 1))
+    tmp71 = einsum(t2.abab, (0, 1, 2, 3), tmp70, (4, 1, 5, 3), (4, 0, 5, 2))
+    tmp69 = einsum(t2.aaaa, (0, 1, 2, 3), tmp68, (1, 4, 3, 5), (4, 0, 5, 2))
+    tmp73 = einsum(tmp72, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3))
+    tmp76 = np.copy(tmp65) * 2
+    del tmp65
+    tmp76 += tmp66
+    del tmp66
+    tmp23 = np.copy(t1.aa)
+    tmp23 += tmp20 * 2
+    tmp23 += tmp21
+    tmp75 = einsum(tmp24, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3))
+    tmp78 = einsum(t2.aaaa, (0, 1, 2, 3), tmp33, (0, 1, 4, 5), (4, 5, 2, 3))
+    tmp77 = einsum(tmp4, (0, 1), t2.aaaa, (2, 0, 3, 4), (1, 2, 3, 4)) * -1
+    tmp56 = np.copy(t1.aa)
+    tmp56 += tmp20 * 2
+    tmp56 += tmp21
+    tmp62 = np.copy(tmp8) * 0.5
+    tmp62 += tmp9 * 0.5
+    tmp62 += tmp10
+    tmp55 = einsum(tmp54, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 3, 4)) * 2
+    del tmp54
+    tmp64 = np.copy(t1.bb) * 0.5
+    tmp64 += tmp35 * 0.5
+    del tmp35
+    tmp64 += tmp36
+    del tmp36
+    tmp34 = einsum(t1.aa, (0, 1), tmp33, (0, 2, 3, 4), (2, 3, 4, 1)) * 2
+    del tmp33
+    tmp22 = np.copy(t1.aa) * 0.5
+    tmp22 += tmp20
+    del tmp20
+    tmp22 += tmp21 * 0.5
+    del tmp21
+    tmp15 = np.copy(delta.bb.oo) * -0.5
+    tmp15 += tmp8 * 0.5
+    tmp15 += tmp9 * 0.5
+    tmp15 += tmp10
+    tmp11 = np.copy(delta.bb.oo) * -1
+    tmp11 += tmp8
+    del tmp8
+    tmp11 += tmp9
+    del tmp9
+    tmp11 += tmp10 * 2
+    del tmp10
+    tmp3 = np.copy(delta.aa.oo) * -0.5
+    tmp3 += tmp0 * 0.5
+    del tmp0
+    tmp3 += tmp1
+    del tmp1
+    tmp3 += tmp2 * 0.5
+    del tmp2
+    rdm2.bbbb.vvvv = np.copy(np.transpose(tmp133, (1, 0, 3, 2))) * 2
+    del tmp133
+    rdm2.bbbb.vvvv += einsum(tmp131, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3)) * 2
+    rdm2.abab.vvvv = einsum(t2.abab, (0, 1, 2, 3), l2.abab, (4, 5, 0, 1), (4, 5, 2, 3))
+    rdm2.abab.vvvv += einsum(t1.aa, (0, 1), tmp130, (0, 2, 3, 4), (2, 3, 1, 4))
+    rdm2.aaaa.vvvv = np.copy(np.transpose(tmp132, (1, 0, 3, 2))) * 2
+    del tmp132
+    rdm2.aaaa.vvvv += einsum(tmp129, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3)) * 2
+    rdm2.bbbb.vvvo = np.copy(np.transpose(tmp131, (2, 1, 3, 0))) * 2
+    rdm2.abab.vvvo = einsum(t1.aa, (0, 1), l2.abab, (2, 3, 0, 4), (2, 3, 1, 4))
+    rdm2.aaaa.vvvo = np.copy(np.transpose(tmp129, (2, 1, 3, 0))) * 2
+    rdm2.bbbb.vvov = np.copy(np.transpose(tmp131, (2, 1, 0, 3))) * -2
+    del tmp131
+    rdm2.abab.vvov = np.copy(np.transpose(tmp130, (1, 2, 0, 3)))
+    del tmp130
+    rdm2.aaaa.vvov = np.copy(np.transpose(tmp129, (2, 1, 0, 3))) * -2
+    del tmp129
+    rdm2.bbbb.vovv = np.copy(np.transpose(tmp124, (1, 0, 3, 2))) * 2
+    rdm2.bbbb.vovv += einsum(tmp109, (0, 1), t1.bb, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.bbbb.vovv += einsum(t1.bb, (0, 1), tmp109, (2, 3), (2, 0, 3, 1))
+    rdm2.bbbb.vovv += np.transpose(tmp126, (2, 0, 1, 3))
+    rdm2.bbbb.vovv += np.transpose(tmp126, (2, 0, 3, 1)) * -1
+    rdm2.bbbb.vovv += np.transpose(tmp127, (1, 0, 3, 2)) * 2
+    rdm2.bbbb.vovv += np.transpose(tmp128, (1, 0, 3, 2)) * 2
+    rdm2.abab.vovv = einsum(l1.aa, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4))
+    rdm2.abab.vovv += einsum(tmp106, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) * 2
+    rdm2.abab.vovv += einsum(tmp87, (0, 1, 2, 3), t1.aa, (0, 4), (2, 1, 4, 3)) * 2
+    rdm2.abab.vovv += einsum(t1.bb, (0, 1), tmp91, (0, 2, 3, 4), (3, 2, 4, 1)) * -1
+    rdm2.abab.vovv += einsum(tmp13, (0, 1, 2, 3), t2.abab, (0, 1, 4, 5), (3, 2, 4, 5)) * -1
+    rdm2.abab.vovv += einsum(t1.aa, (0, 1), tmp116, (0, 2, 3, 4), (3, 2, 1, 4)) * -1
+    rdm2.aaaa.vovv = np.copy(np.transpose(tmp117, (1, 0, 3, 2))) * 2
+    rdm2.aaaa.vovv += einsum(tmp113, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.aaaa.vovv += einsum(tmp113, (0, 1), t1.aa, (2, 3), (0, 2, 1, 3))
+    rdm2.aaaa.vovv += np.transpose(tmp120, (2, 0, 1, 3))
+    rdm2.aaaa.vovv += np.transpose(tmp120, (2, 0, 3, 1)) * -1
+    rdm2.aaaa.vovv += np.transpose(tmp121, (1, 0, 3, 2)) * 2
+    rdm2.aaaa.vovv += np.transpose(tmp122, (1, 0, 3, 2)) * 2
+    rdm2.bbbb.ovvv = np.copy(np.transpose(tmp124, (0, 1, 3, 2))) * -2
+    del tmp124
+    rdm2.bbbb.ovvv += einsum(tmp109, (0, 1), t1.bb, (2, 3), (2, 0, 3, 1))
+    rdm2.bbbb.ovvv += einsum(t1.bb, (0, 1), tmp109, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.bbbb.ovvv += einsum(tmp125, (0, 1, 2, 3), t1.bb, (0, 4), (1, 2, 4, 3)) * -1
+    del tmp125
+    rdm2.bbbb.ovvv += np.transpose(tmp126, (0, 2, 3, 1))
+    del tmp126
+    rdm2.bbbb.ovvv += np.transpose(tmp127, (0, 1, 3, 2)) * -2
+    del tmp127
+    rdm2.bbbb.ovvv += np.transpose(tmp128, (0, 1, 3, 2)) * -2
+    del tmp128
+    rdm2.abab.ovvv = einsum(l1.bb, (0, 1), t2.abab, (2, 1, 3, 4), (2, 0, 3, 4))
+    rdm2.abab.ovvv += einsum(t1.aa, (0, 1), tmp109, (2, 3), (0, 2, 1, 3))
+    rdm2.abab.ovvv += einsum(t1.aa, (0, 1), tmp110, (0, 2, 3, 4), (2, 3, 1, 4)) * -1
+    rdm2.abab.ovvv += einsum(t1.bb, (0, 1), tmp123, (2, 0, 3, 4), (2, 4, 3, 1)) * 2
+    del tmp123
+    rdm2.abab.ovvv += einsum(tmp26, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 3, 4, 5)) * -1
+    rdm2.abab.ovvv += einsum(tmp115, (0, 1, 2, 3), t1.bb, (1, 4), (0, 3, 2, 4)) * -1
+    rdm2.aaaa.ovvv = np.copy(np.transpose(tmp117, (0, 1, 3, 2))) * -2
+    del tmp117
+    rdm2.aaaa.ovvv += einsum(tmp113, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1))
+    rdm2.aaaa.ovvv += einsum(tmp113, (0, 1), t1.aa, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.aaaa.ovvv += einsum(t1.aa, (0, 1), tmp118, (0, 2, 3, 4), (2, 3, 1, 4)) * -1
+    del tmp118
+    rdm2.aaaa.ovvv += np.transpose(tmp120, (0, 2, 3, 1))
+    del tmp120
+    rdm2.aaaa.ovvv += np.transpose(tmp121, (0, 1, 3, 2)) * -2
+    del tmp121
+    rdm2.aaaa.ovvv += np.transpose(tmp122, (0, 1, 3, 2)) * -2
+    del tmp122
+    rdm2.bbbb.vvoo = np.copy(l2.bbbb) * 2
+    rdm2.abab.vvoo = np.copy(l2.abab)
+    rdm2.aaaa.vvoo = np.copy(l2.aaaa) * 2
+    rdm2.bbbb.vovo = einsum(tmp109, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3))
+    rdm2.bbbb.vovo += np.transpose(tmp88, (2, 1, 3, 0)) * -1
+    rdm2.bbbb.vovo += np.transpose(tmp89, (2, 1, 3, 0)) * -4
+    rdm2.bbbb.vovo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.bbbb.vovo += np.transpose(tmp112, (2, 1, 3, 0)) * 2
+    rdm2.abab.vovo = einsum(tmp106, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) * 2
+    rdm2.abab.vovo += np.transpose(tmp91, (2, 1, 3, 0)) * -1
+    rdm2.abab.vovo += einsum(tmp13, (0, 1, 2, 3), t1.aa, (0, 4), (3, 2, 4, 1)) * -1
+    rdm2.aaaa.vovo = einsum(tmp113, (0, 1), delta.aa.oo, (2, 3), (0, 2, 1, 3))
+    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(tmp68, (2, 1, 3, 0)) * -4
+    rdm2.aaaa.vovo += np.transpose(tmp107, (2, 1, 3, 0)) * 2
+    rdm2.bbbb.voov = einsum(tmp111, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) * -2
+    rdm2.bbbb.voov += np.transpose(tmp88, (2, 1, 0, 3))
+    rdm2.bbbb.voov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1))
+    rdm2.bbbb.voov += np.transpose(tmp89, (2, 1, 0, 3)) * 4
+    rdm2.bbbb.voov += np.transpose(tmp112, (2, 1, 0, 3)) * -2
+    rdm2.abab.voov = np.copy(np.transpose(tmp85, (2, 1, 0, 3))) * 2
+    del tmp85
+    rdm2.abab.voov += einsum(t1.bb, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1))
+    rdm2.abab.voov += np.transpose(tmp86, (2, 1, 0, 3)) * 2
+    del tmp86
+    rdm2.abab.voov += np.transpose(tmp116, (2, 1, 0, 3)) * -1
+    del tmp116
+    rdm2.aaaa.voov = einsum(tmp106, (0, 1), delta.aa.oo, (2, 3), (0, 2, 3, 1)) * -2
+    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(tmp68, (2, 1, 0, 3)) * 4
+    rdm2.aaaa.voov += np.transpose(tmp107, (2, 1, 0, 3)) * -2
+    rdm2.bbbb.ovvo = einsum(tmp109, (0, 1), delta.bb.oo, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.bbbb.ovvo += np.transpose(tmp88, (1, 2, 3, 0))
+    rdm2.bbbb.ovvo += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3))
+    rdm2.bbbb.ovvo += np.transpose(tmp89, (1, 2, 3, 0)) * 4
+    rdm2.bbbb.ovvo += np.transpose(tmp112, (1, 2, 3, 0)) * -2
+    rdm2.abab.ovvo = np.copy(np.transpose(tmp114, (0, 3, 2, 1))) * 2
+    del tmp114
+    rdm2.abab.ovvo += einsum(l1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1))
+    rdm2.abab.ovvo += np.transpose(tmp70, (0, 3, 2, 1)) * 2
+    del tmp70
+    rdm2.abab.ovvo += np.transpose(tmp115, (0, 3, 2, 1)) * -1
+    del tmp115
+    rdm2.aaaa.ovvo = einsum(tmp113, (0, 1), delta.aa.oo, (2, 3), (2, 0, 1, 3)) * -1
+    del tmp113
+    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(tmp68, (1, 2, 3, 0)) * 4
+    rdm2.aaaa.ovvo += np.transpose(tmp107, (1, 2, 3, 0)) * -2
+    rdm2.bbbb.ovov = einsum(tmp111, (0, 1), delta.bb.oo, (2, 3), (2, 0, 3, 1)) * 2
+    del tmp111
+    rdm2.bbbb.ovov += np.transpose(tmp88, (1, 2, 0, 3)) * -1
+    del tmp88
+    rdm2.bbbb.ovov += np.transpose(tmp89, (1, 2, 0, 3)) * -4
+    del tmp89
+    rdm2.bbbb.ovov += einsum(t1.bb, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.bbbb.ovov += np.transpose(tmp112, (1, 2, 0, 3)) * 2
+    del tmp112
+    rdm2.abab.ovov = einsum(delta.aa.oo, (0, 1), tmp109, (2, 3), (0, 2, 1, 3))
+    del tmp109
+    rdm2.abab.ovov += np.transpose(tmp110, (1, 2, 0, 3)) * -1
+    del tmp110
+    rdm2.abab.ovov += einsum(t1.bb, (0, 1), tmp26, (2, 3, 0, 4), (3, 4, 2, 1)) * -1
+    rdm2.aaaa.ovov = einsum(tmp106, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1)) * 2
+    del tmp106
+    rdm2.aaaa.ovov += np.transpose(tmp72, (1, 2, 0, 3)) * -1
+    del tmp72
+    rdm2.aaaa.ovov += einsum(t1.aa, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.aaaa.ovov += np.transpose(tmp68, (1, 2, 0, 3)) * -4
+    del tmp68
+    rdm2.aaaa.ovov += np.transpose(tmp107, (1, 2, 0, 3)) * 2
+    del tmp107
+    rdm2.bbbb.oovv = np.copy(t2.bbbb) * 2
+    rdm2.bbbb.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp94, (3, 4), (0, 1, 2, 4)) * -2
+    del tmp94
+    rdm2.bbbb.oovv += np.transpose(tmp95, (0, 1, 3, 2)) * -2
+    rdm2.bbbb.oovv += np.transpose(tmp96, (0, 1, 3, 2)) * -8
+    rdm2.bbbb.oovv += np.transpose(tmp97, (0, 1, 3, 2)) * -2
+    rdm2.bbbb.oovv += np.transpose(tmp97, (1, 0, 2, 3)) * -2
+    rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp48, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.bbbb.oovv += np.transpose(tmp95, (1, 0, 3, 2)) * 2
+    del tmp95
+    rdm2.bbbb.oovv += tmp96 * 8
+    del tmp96
+    rdm2.bbbb.oovv += tmp97 * 2
+    rdm2.bbbb.oovv += np.transpose(tmp97, (1, 0, 3, 2)) * 2
+    del tmp97
+    rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp37, (2, 3), (0, 2, 1, 3))
+    rdm2.bbbb.oovv += einsum(tmp98, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3))
+    rdm2.bbbb.oovv += einsum(tmp98, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3)) * -1
+    del tmp98
+    rdm2.bbbb.oovv += tmp99 * 2
+    rdm2.bbbb.oovv += einsum(t2.bbbb, (0, 1, 2, 3), tmp84, (3, 4), (0, 1, 4, 2)) * 4
+    rdm2.bbbb.oovv += np.transpose(tmp99, (0, 1, 3, 2)) * -2
+    del tmp99
+    rdm2.bbbb.oovv += np.transpose(tmp100, (0, 1, 3, 2)) * -2
+    rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp51, (2, 3), (0, 2, 1, 3)) * -1
+    rdm2.bbbb.oovv += einsum(tmp42, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3)) * 2
+    rdm2.bbbb.oovv += np.transpose(tmp100, (1, 0, 3, 2)) * 2
+    del tmp100
+    rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp51, (2, 3), (2, 0, 1, 3))
+    rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp42, (2, 3), (2, 0, 3, 1)) * -2
+    rdm2.bbbb.oovv += np.transpose(tmp101, (1, 0, 3, 2)) * 2
+    del tmp101
+    rdm2.bbbb.oovv += einsum(t1.bb, (0, 1), tmp102, (0, 2, 3, 4), (2, 3, 1, 4)) * 2
+    del tmp102
+    rdm2.bbbb.oovv += np.transpose(tmp104, (1, 0, 2, 3))
+    rdm2.bbbb.oovv += tmp104 * -1
+    rdm2.bbbb.oovv += np.transpose(tmp104, (1, 0, 3, 2)) * -1
+    rdm2.bbbb.oovv += np.transpose(tmp104, (0, 1, 3, 2))
+    del tmp104
+    rdm2.abab.oovv = np.copy(t2.abab)
+    rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp84, (3, 4), (0, 1, 2, 4)) * -2
+    del tmp84
+    rdm2.abab.oovv += einsum(tmp87, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 1, 5, 3)) * 4
+    del tmp87
+    rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp90, (1, 4, 3, 5), (0, 4, 2, 5))
+    del tmp90
+    rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp37, (2, 3), (0, 2, 1, 3))
+    rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp74, (2, 3), (2, 0, 3, 1))
+    rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp38, (0, 2, 3, 4), (2, 3, 1, 4)) * -1
+    rdm2.abab.oovv += einsum(tmp67, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -2
+    rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp57, (2, 0, 3, 4), (2, 3, 4, 1)) * -1
+    rdm2.abab.oovv += einsum(tmp16, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1
+    rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp42, (2, 3), (0, 2, 1, 3)) * -2
+    rdm2.abab.oovv += einsum(tmp4, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1
+    rdm2.abab.oovv += einsum(tmp45, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 3, 4, 5))
+    rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp46, (0, 2, 3, 4), (2, 3, 1, 4))
+    rdm2.abab.oovv += einsum(t2.abab, (0, 1, 2, 3), tmp91, (1, 4, 2, 5), (0, 4, 5, 3))
+    del tmp91
+    rdm2.abab.oovv += einsum(tmp59, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) * -2
+    rdm2.abab.oovv += einsum(t1.aa, (0, 1), tmp47, (0, 2, 3, 4), (2, 3, 1, 4))
+    rdm2.abab.oovv += einsum(tmp92, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3)) * -2
+    del tmp92
+    rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp93, (2, 0, 3, 4), (2, 3, 4, 1)) * -2
+    del tmp93
+    rdm2.abab.oovv += einsum(t1.bb, (0, 1), tmp63, (2, 0, 3, 4), (2, 3, 4, 1))
+    rdm2.aaaa.oovv = np.copy(t2.aaaa) * 2
+    rdm2.aaaa.oovv += einsum(tmp67, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -4
+    del tmp67
+    rdm2.aaaa.oovv += np.transpose(tmp69, (0, 1, 3, 2)) * -8
+    rdm2.aaaa.oovv += np.transpose(tmp71, (0, 1, 3, 2)) * -2
+    rdm2.aaaa.oovv += np.transpose(tmp73, (0, 1, 3, 2)) * -2
+    rdm2.aaaa.oovv += np.transpose(tmp73, (1, 0, 2, 3)) * -2
+    rdm2.aaaa.oovv += einsum(tmp56, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.aaaa.oovv += tmp69 * 8
+    del tmp69
+    rdm2.aaaa.oovv += tmp71 * 2
+    del tmp71
+    rdm2.aaaa.oovv += tmp73 * 2
+    rdm2.aaaa.oovv += np.transpose(tmp73, (1, 0, 3, 2)) * 2
+    del tmp73
+    rdm2.aaaa.oovv += einsum(tmp23, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1))
+    rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp74, (2, 3), (2, 0, 3, 1))
+    rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp74, (2, 3), (0, 2, 3, 1)) * -1
+    del tmp74
+    rdm2.aaaa.oovv += tmp75 * 2
+    rdm2.aaaa.oovv += einsum(t2.aaaa, (0, 1, 2, 3), tmp76, (3, 4), (0, 1, 4, 2)) * 2
+    del tmp76
+    rdm2.aaaa.oovv += np.transpose(tmp75, (0, 1, 3, 2)) * -2
+    del tmp75
+    rdm2.aaaa.oovv += np.transpose(tmp77, (1, 0, 3, 2)) * -2
+    rdm2.aaaa.oovv += einsum(tmp59, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) * -2
+    rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp30, (2, 3), (0, 2, 3, 1))
+    rdm2.aaaa.oovv += np.transpose(tmp77, (0, 1, 3, 2)) * 2
+    del tmp77
+    rdm2.aaaa.oovv += einsum(tmp59, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * 2
+    rdm2.aaaa.oovv += einsum(t1.aa, (0, 1), tmp30, (2, 3), (2, 0, 3, 1)) * -1
+    rdm2.aaaa.oovv += np.transpose(tmp78, (1, 0, 3, 2)) * 2
+    del tmp78
+    rdm2.aaaa.oovv += einsum(tmp79, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3)) * 2
+    del tmp79
+    rdm2.aaaa.oovv += np.transpose(tmp81, (1, 0, 2, 3))
+    rdm2.aaaa.oovv += tmp81 * -1
+    rdm2.aaaa.oovv += np.transpose(tmp81, (1, 0, 3, 2)) * -1
+    rdm2.aaaa.oovv += np.transpose(tmp81, (0, 1, 3, 2))
+    del tmp81
+    rdm2.bbbb.vooo = einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (2, 0, 3, 1))
+    rdm2.bbbb.vooo += einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.bbbb.vooo += np.transpose(tmp18, (3, 2, 1, 0)) * 2
+    rdm2.abab.vooo = einsum(l1.aa, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3))
+    rdm2.abab.vooo += np.transpose(tmp13, (3, 2, 0, 1)) * -1
+    del tmp13
+    rdm2.aaaa.vooo = einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 3, 1))
+    rdm2.aaaa.vooo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.aaaa.vooo += np.transpose(tmp6, (3, 2, 1, 0)) * 2
+    rdm2.bbbb.ovoo = einsum(delta.bb.oo, (0, 1), l1.bb, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.bbbb.ovoo += einsum(l1.bb, (0, 1), delta.bb.oo, (2, 3), (2, 0, 3, 1))
+    rdm2.bbbb.ovoo += np.transpose(tmp18, (2, 3, 1, 0)) * -2
+    del tmp18
+    rdm2.abab.ovoo = einsum(delta.aa.oo, (0, 1), l1.bb, (2, 3), (0, 2, 1, 3))
+    rdm2.abab.ovoo += np.transpose(tmp26, (1, 3, 0, 2)) * -1
+    del tmp26
+    rdm2.aaaa.ovoo = einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.aaaa.ovoo += einsum(delta.aa.oo, (0, 1), l1.aa, (2, 3), (0, 2, 1, 3))
+    rdm2.aaaa.ovoo += np.transpose(tmp6, (2, 3, 1, 0)) * -2
+    del tmp6
+    rdm2.bbbb.oovo = einsum(tmp64, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) * 2
+    del tmp64
+    rdm2.bbbb.oovo += einsum(tmp37, (0, 1), delta.bb.oo, (2, 3), (2, 0, 1, 3)) * -1
+    rdm2.bbbb.oovo += np.transpose(tmp49, (2, 1, 3, 0)) * 2
+    rdm2.bbbb.oovo += einsum(delta.bb.oo, (0, 1), tmp42, (2, 3), (2, 0, 3, 1)) * -2
+    rdm2.bbbb.oovo += einsum(tmp42, (0, 1), delta.bb.oo, (2, 3), (2, 0, 1, 3)) * 2
+    rdm2.bbbb.oovo += np.transpose(tmp52, (1, 2, 3, 0)) * 4
+    rdm2.bbbb.oovo += np.transpose(tmp53, (1, 2, 3, 0))
+    rdm2.bbbb.oovo += einsum(t1.bb, (0, 1), tmp62, (2, 3), (3, 0, 1, 2)) * 2
+    rdm2.bbbb.oovo += np.transpose(tmp52, (2, 1, 3, 0)) * -4
+    rdm2.bbbb.oovo += np.transpose(tmp53, (2, 1, 3, 0)) * -1
+    rdm2.bbbb.oovo += einsum(tmp62, (0, 1), t1.bb, (2, 3), (2, 1, 3, 0)) * -2
+    rdm2.bbbb.oovo += np.transpose(tmp55, (2, 1, 3, 0)) * -1
+    rdm2.abab.oovo = einsum(delta.bb.oo, (0, 1), tmp56, (2, 3), (2, 0, 3, 1))
+    rdm2.abab.oovo += np.transpose(tmp57, (0, 2, 3, 1)) * -1
+    del tmp57
+    rdm2.abab.oovo += einsum(tmp59, (0, 1), delta.bb.oo, (2, 3), (0, 2, 1, 3)) * -2
+    del tmp59
+    rdm2.abab.oovo += np.transpose(tmp60, (0, 2, 3, 1)) * -2
+    del tmp60
+    rdm2.abab.oovo += np.transpose(tmp61, (0, 2, 3, 1)) * -2
+    del tmp61
+    rdm2.abab.oovo += einsum(t1.aa, (0, 1), tmp62, (2, 3), (0, 3, 1, 2)) * -2
+    del tmp62
+    rdm2.abab.oovo += einsum(tmp45, (0, 1, 2, 3), t1.aa, (0, 4), (1, 3, 4, 2))
+    del tmp45
+    rdm2.abab.oovo += np.transpose(tmp63, (0, 2, 3, 1))
+    del tmp63
+    rdm2.aaaa.oovo = einsum(delta.aa.oo, (0, 1), tmp56, (2, 3), (2, 0, 3, 1))
+    del tmp56
+    rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp23, (2, 3), (0, 2, 3, 1)) * -1
+    rdm2.aaaa.oovo += np.transpose(tmp24, (2, 1, 3, 0)) * 2
+    rdm2.aaaa.oovo += einsum(delta.aa.oo, (0, 1), tmp30, (2, 3), (2, 0, 3, 1)) * -1
+    rdm2.aaaa.oovo += einsum(tmp30, (0, 1), delta.aa.oo, (2, 3), (2, 0, 1, 3))
+    rdm2.aaaa.oovo += np.transpose(tmp31, (1, 2, 3, 0))
+    rdm2.aaaa.oovo += np.transpose(tmp32, (1, 2, 3, 0)) * 4
+    rdm2.aaaa.oovo += einsum(t1.aa, (0, 1), tmp4, (2, 3), (3, 0, 1, 2))
+    rdm2.aaaa.oovo += np.transpose(tmp31, (2, 1, 3, 0)) * -1
+    rdm2.aaaa.oovo += np.transpose(tmp32, (2, 1, 3, 0)) * -4
+    rdm2.aaaa.oovo += einsum(t1.aa, (0, 1), tmp4, (2, 3), (0, 3, 1, 2)) * -1
+    rdm2.aaaa.oovo += np.transpose(tmp34, (2, 1, 3, 0)) * -1
+    rdm2.bbbb.ooov = einsum(delta.bb.oo, (0, 1), tmp48, (2, 3), (2, 0, 1, 3)) * -1
+    del tmp48
+    rdm2.bbbb.ooov += einsum(tmp37, (0, 1), delta.bb.oo, (2, 3), (2, 0, 3, 1))
+    rdm2.bbbb.ooov += np.transpose(tmp49, (2, 1, 0, 3)) * -2
+    del tmp49
+    rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp51, (2, 3), (2, 0, 1, 3))
+    rdm2.bbbb.ooov += einsum(delta.bb.oo, (0, 1), tmp51, (2, 3), (0, 2, 1, 3)) * -1
+    del tmp51
+    rdm2.bbbb.ooov += np.transpose(tmp52, (1, 2, 0, 3)) * -4
+    rdm2.bbbb.ooov += np.transpose(tmp53, (1, 2, 0, 3)) * -1
+    rdm2.bbbb.ooov += einsum(t1.bb, (0, 1), tmp16, (2, 3), (3, 0, 2, 1)) * -1
+    rdm2.bbbb.ooov += np.transpose(tmp52, (2, 1, 0, 3)) * 4
+    del tmp52
+    rdm2.bbbb.ooov += np.transpose(tmp53, (2, 1, 0, 3))
+    del tmp53
+    rdm2.bbbb.ooov += einsum(t1.bb, (0, 1), tmp16, (2, 3), (0, 3, 2, 1))
+    rdm2.bbbb.ooov += np.transpose(tmp55, (2, 1, 0, 3))
+    del tmp55
+    rdm2.abab.ooov = einsum(delta.aa.oo, (0, 1), tmp37, (2, 3), (0, 2, 1, 3))
+    del tmp37
+    rdm2.abab.ooov += np.transpose(tmp38, (1, 2, 0, 3)) * -1
+    del tmp38
+    rdm2.abab.ooov += einsum(delta.aa.oo, (0, 1), tmp42, (2, 3), (0, 2, 1, 3)) * -2
+    del tmp42
+    rdm2.abab.ooov += np.transpose(tmp43, (1, 2, 0, 3)) * -2
+    del tmp43
+    rdm2.abab.ooov += np.transpose(tmp44, (1, 2, 0, 3)) * -2
+    del tmp44
+    rdm2.abab.ooov += einsum(t1.bb, (0, 1), tmp4, (2, 3), (3, 0, 2, 1)) * -1
+    rdm2.abab.ooov += np.transpose(tmp46, (1, 2, 0, 3))
+    del tmp46
+    rdm2.abab.ooov += np.transpose(tmp47, (1, 2, 0, 3))
+    del tmp47
+    rdm2.aaaa.ooov = einsum(delta.aa.oo, (0, 1), tmp22, (2, 3), (2, 0, 1, 3)) * -2
+    del tmp22
+    rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp23, (2, 3), (0, 2, 1, 3))
+    del tmp23
+    rdm2.aaaa.ooov += np.transpose(tmp24, (2, 1, 0, 3)) * -2
+    del tmp24
+    rdm2.aaaa.ooov += einsum(delta.aa.oo, (0, 1), tmp30, (2, 3), (2, 0, 1, 3))
+    rdm2.aaaa.ooov += einsum(tmp30, (0, 1), delta.aa.oo, (2, 3), (2, 0, 3, 1)) * -1
+    del tmp30
+    rdm2.aaaa.ooov += np.transpose(tmp31, (1, 2, 0, 3)) * -1
+    rdm2.aaaa.ooov += np.transpose(tmp32, (1, 2, 0, 3)) * -4
+    rdm2.aaaa.ooov += einsum(t1.aa, (0, 1), tmp4, (2, 3), (3, 0, 2, 1)) * -1
+    rdm2.aaaa.ooov += np.transpose(tmp31, (2, 1, 0, 3))
+    del tmp31
+    rdm2.aaaa.ooov += np.transpose(tmp32, (2, 1, 0, 3)) * 4
+    del tmp32
+    rdm2.aaaa.ooov += einsum(t1.aa, (0, 1), tmp4, (2, 3), (0, 3, 2, 1))
+    rdm2.aaaa.ooov += np.transpose(tmp34, (2, 1, 0, 3))
+    del tmp34
+    rdm2.bbbb.oooo = einsum(tmp15, (0, 1), delta.bb.oo, (2, 3), (2, 1, 3, 0)) * -2
+    rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp15, (2, 3), (3, 0, 1, 2)) * 2
+    del tmp15
+    rdm2.bbbb.oooo += einsum(tmp16, (0, 1), delta.bb.oo, (2, 3), (1, 2, 0, 3)) * -1
+    rdm2.bbbb.oooo += einsum(delta.bb.oo, (0, 1), tmp16, (2, 3), (0, 3, 2, 1))
+    del tmp16
+    rdm2.bbbb.oooo += np.transpose(tmp17, (3, 2, 1, 0)) * 2
+    del tmp17
+    rdm2.bbbb.oooo += np.transpose(tmp19, (2, 3, 1, 0)) * -2
+    del tmp19
+    rdm2.abab.oooo = einsum(delta.aa.oo, (0, 1), tmp11, (2, 3), (0, 3, 1, 2)) * -1
+    del tmp11
+    rdm2.abab.oooo += einsum(tmp4, (0, 1), delta.bb.oo, (2, 3), (1, 2, 0, 3)) * -1
+    rdm2.abab.oooo += np.transpose(tmp12, (1, 3, 0, 2))
+    del tmp12
+    rdm2.abab.oooo += np.transpose(tmp14, (1, 3, 0, 2))
+    del tmp14
+    rdm2.aaaa.oooo = einsum(tmp3, (0, 1), delta.aa.oo, (2, 3), (2, 1, 3, 0)) * -2
+    rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp3, (2, 3), (3, 0, 1, 2)) * 2
+    del tmp3
+    rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp4, (2, 3), (3, 0, 2, 1)) * -1
+    rdm2.aaaa.oooo += einsum(delta.aa.oo, (0, 1), tmp4, (2, 3), (0, 3, 2, 1))
+    del tmp4, delta
+    rdm2.aaaa.oooo += np.transpose(tmp5, (3, 2, 1, 0)) * 2
+    del tmp5
+    rdm2.aaaa.oooo += np.transpose(tmp7, (2, 3, 1, 0)) * -2
+    del tmp7
+    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
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCCSD.hbar_matvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:45:01.030151.

+

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

+

tmp1 : array +tmp101 : array +tmp102 : array +tmp103 : array +tmp105 : array +tmp11 : array +tmp116 : array +tmp117 : array +tmp118 : array +tmp12 : array +tmp120 : array +tmp122 : array +tmp124 : array +tmp126 : array +tmp128 : array +tmp131 : array +tmp132 : array +tmp137 : array +tmp138 : array +tmp139 : array +tmp14 : array +tmp140 : array +tmp141 : array +tmp142 : array +tmp143 : array +tmp144 : array +tmp145 : array +tmp152 : array +tmp156 : array +tmp159 : array +tmp16 : array +tmp161 : array +tmp163 : array +tmp166 : array +tmp168 : array +tmp17 : array +tmp170 : array +tmp171 : array +tmp173 : array +tmp177 : array +tmp178 : array +tmp179 : array +tmp18 : array +tmp181 : array +tmp183 : array +tmp185 : array +tmp186 : array +tmp187 : array +tmp189 : array +tmp19 : array +tmp2 : array +tmp200 : array +tmp201 : array +tmp202 : array +tmp206 : array +tmp208 : array +tmp21 : array +tmp210 : array +tmp212 : array +tmp214 : array +tmp216 : array +tmp218 : array +tmp219 : array +tmp22 : array +tmp220 : array +tmp228 : array +tmp233 : array +tmp236 : array +tmp24 : array +tmp241 : array +tmp242 : array +tmp243 : array +tmp248 : array +tmp249 : array +tmp251 : array +tmp252 : array +tmp256 : array +tmp257 : array +tmp258 : array +tmp26 : array +tmp260 : array +tmp262 : array +tmp263 : array +tmp264 : array +tmp268 : array +tmp269 : array +tmp27 : array +tmp275 : array +tmp276 : array +tmp277 : array +tmp278 : array +tmp279 : array +tmp281 : array +tmp284 : array +tmp286 : array +tmp287 : array +tmp289 : array +tmp29 : array +tmp291 : array +tmp292 : array +tmp293 : array +tmp295 : array +tmp298 : array +tmp30 : array +tmp302 : array +tmp303 : array +tmp304 : array +tmp305 : array +tmp306 : array +tmp307 : array +tmp308 : array +tmp310 : array +tmp315 : array +tmp316 : array +tmp317 : array +tmp318 : array +tmp32 : array +tmp320 : array +tmp322 : array +tmp325 : array +tmp326 : array +tmp327 : array +tmp328 : array +tmp329 : array +tmp33 : array +tmp330 : array +tmp334 : array +tmp335 : array +tmp337 : array +tmp338 : array +tmp339 : array +tmp34 : array +tmp340 : array +tmp341 : array +tmp342 : array +tmp344 : array +tmp345 : array +tmp346 : array +tmp350 : array +tmp351 : array +tmp352 : array +tmp354 : array +tmp356 : array +tmp357 : array +tmp358 : array +tmp36 : array +tmp362 : array +tmp363 : array +tmp364 : array +tmp365 : array +tmp366 : array +tmp367 : array +tmp37 : array +tmp372 : array +tmp373 : array +tmp374 : array +tmp385 : array +tmp387 : array +tmp389 : array +tmp39 : array +tmp392 : array +tmp394 : array +tmp396 : array +tmp4 : array +tmp401 : array +tmp403 : array +tmp41 : array +tmp414 : array +tmp416 : array +tmp418 : array +tmp42 : array +tmp43 : array +tmp434 : array +tmp438 : array +tmp440 : array +tmp442 : array +tmp447 : array +tmp449 : array +tmp453 : array +tmp455 : array +tmp457 : array +tmp459 : array +tmp461 : array +tmp47 : array +tmp49 : array +tmp51 : array +tmp52 : array +tmp54 : array +tmp55 : array +tmp57 : array +tmp58 : array +tmp59 : array +tmp6 : array +tmp61 : array +tmp67 : array +tmp69 : array +tmp7 : array +tmp70 : array +tmp72 : array +tmp74 : array +tmp78 : array +tmp79 : array +tmp80 : array +tmp81 : array +tmp82 : array +tmp83 : array +tmp85 : array +tmp87 : array +tmp9 : array +tmp90 : array +tmp92 : array +tmp93 : array +tmp95 : array +tmp98 : array

+ +
+ Source code in ebcc/codegen/UDFCCSD.py +
2516
+2517
+2518
+2519
+2520
+2521
+2522
+2523
+2524
+2525
+2526
+2527
+2528
+2529
+2530
+2531
+2532
+2533
+2534
+2535
+2536
+2537
+2538
+2539
+2540
+2541
+2542
+2543
+2544
+2545
+2546
+2547
+2548
+2549
+2550
+2551
+2552
+2553
+2554
+2555
+2556
+2557
+2558
+2559
+2560
+2561
+2562
+2563
+2564
+2565
+2566
+2567
+2568
+2569
+2570
+2571
+2572
+2573
+2574
+2575
+2576
+2577
+2578
+2579
+2580
+2581
+2582
+2583
+2584
+2585
+2586
+2587
+2588
+2589
+2590
+2591
+2592
+2593
+2594
+2595
+2596
+2597
+2598
+2599
+2600
+2601
+2602
+2603
+2604
+2605
+2606
+2607
+2608
+2609
+2610
+2611
+2612
+2613
+2614
+2615
+2616
+2617
+2618
+2619
+2620
+2621
+2622
+2623
+2624
+2625
+2626
+2627
+2628
+2629
+2630
+2631
+2632
+2633
+2634
+2635
+2636
+2637
+2638
+2639
+2640
+2641
+2642
+2643
+2644
+2645
+2646
+2647
+2648
+2649
+2650
+2651
+2652
+2653
+2654
+2655
+2656
+2657
+2658
+2659
+2660
+2661
+2662
+2663
+2664
+2665
+2666
+2667
+2668
+2669
+2670
+2671
+2672
+2673
+2674
+2675
+2676
+2677
+2678
+2679
+2680
+2681
+2682
+2683
+2684
+2685
+2686
+2687
+2688
+2689
+2690
+2691
+2692
+2693
+2694
+2695
+2696
+2697
+2698
+2699
+2700
+2701
+2702
+2703
+2704
+2705
+2706
+2707
+2708
+2709
+2710
+2711
+2712
+2713
+2714
+2715
+2716
+2717
+2718
+2719
+2720
+2721
+2722
+2723
+2724
+2725
+2726
+2727
+2728
+2729
+2730
+2731
+2732
+2733
+2734
+2735
+2736
+2737
+2738
+2739
+2740
+2741
+2742
+2743
+2744
+2745
+2746
+2747
+2748
+2749
+2750
+2751
+2752
+2753
+2754
+2755
+2756
+2757
+2758
+2759
+2760
+2761
+2762
+2763
+2764
+2765
+2766
+2767
+2768
+2769
+2770
+2771
+2772
+2773
+2774
+2775
+2776
+2777
+2778
+2779
+2780
+2781
+2782
+2783
+2784
+2785
+2786
+2787
+2788
+2789
+2790
+2791
+2792
+2793
+2794
+2795
+2796
+2797
+2798
+2799
+2800
+2801
+2802
+2803
+2804
+2805
+2806
+2807
+2808
+2809
+2810
+2811
+2812
+2813
+2814
+2815
+2816
+2817
+2818
+2819
+2820
+2821
+2822
+2823
+2824
+2825
+2826
+2827
+2828
+2829
+2830
+2831
+2832
+2833
+2834
+2835
+2836
+2837
+2838
+2839
+2840
+2841
+2842
+2843
+2844
+2845
+2846
+2847
+2848
+2849
+2850
+2851
+2852
+2853
+2854
+2855
+2856
+2857
+2858
+2859
+2860
+2861
+2862
+2863
+2864
+2865
+2866
+2867
+2868
+2869
+2870
+2871
+2872
+2873
+2874
+2875
+2876
+2877
+2878
+2879
+2880
+2881
+2882
+2883
+2884
+2885
+2886
+2887
+2888
+2889
+2890
+2891
+2892
+2893
+2894
+2895
+2896
+2897
+2898
+2899
+2900
+2901
+2902
+2903
+2904
+2905
+2906
+2907
+2908
+2909
+2910
+2911
+2912
+2913
+2914
+2915
+2916
+2917
+2918
+2919
+2920
+2921
+2922
+2923
+2924
+2925
+2926
+2927
+2928
+2929
+2930
+2931
+2932
+2933
+2934
+2935
+2936
+2937
+2938
+2939
+2940
+2941
+2942
+2943
+2944
+2945
+2946
+2947
+2948
+2949
+2950
+2951
+2952
+2953
+2954
+2955
+2956
+2957
+2958
+2959
+2960
+2961
+2962
+2963
+2964
+2965
+2966
+2967
+2968
+2969
+2970
+2971
+2972
+2973
+2974
+2975
+2976
def hbar_matvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:45:01.030151.
+
+    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
+    -------
+    tmp1 : array
+    tmp101 : array
+    tmp102 : array
+    tmp103 : array
+    tmp105 : array
+    tmp11 : array
+    tmp116 : array
+    tmp117 : array
+    tmp118 : array
+    tmp12 : array
+    tmp120 : array
+    tmp122 : array
+    tmp124 : array
+    tmp126 : array
+    tmp128 : array
+    tmp131 : array
+    tmp132 : array
+    tmp137 : array
+    tmp138 : array
+    tmp139 : array
+    tmp14 : array
+    tmp140 : array
+    tmp141 : array
+    tmp142 : array
+    tmp143 : array
+    tmp144 : array
+    tmp145 : array
+    tmp152 : array
+    tmp156 : array
+    tmp159 : array
+    tmp16 : array
+    tmp161 : array
+    tmp163 : array
+    tmp166 : array
+    tmp168 : array
+    tmp17 : array
+    tmp170 : array
+    tmp171 : array
+    tmp173 : array
+    tmp177 : array
+    tmp178 : array
+    tmp179 : array
+    tmp18 : array
+    tmp181 : array
+    tmp183 : array
+    tmp185 : array
+    tmp186 : array
+    tmp187 : array
+    tmp189 : array
+    tmp19 : array
+    tmp2 : array
+    tmp200 : array
+    tmp201 : array
+    tmp202 : array
+    tmp206 : array
+    tmp208 : array
+    tmp21 : array
+    tmp210 : array
+    tmp212 : array
+    tmp214 : array
+    tmp216 : array
+    tmp218 : array
+    tmp219 : array
+    tmp22 : array
+    tmp220 : array
+    tmp228 : array
+    tmp233 : array
+    tmp236 : array
+    tmp24 : array
+    tmp241 : array
+    tmp242 : array
+    tmp243 : array
+    tmp248 : array
+    tmp249 : array
+    tmp251 : array
+    tmp252 : array
+    tmp256 : array
+    tmp257 : array
+    tmp258 : array
+    tmp26 : array
+    tmp260 : array
+    tmp262 : array
+    tmp263 : array
+    tmp264 : array
+    tmp268 : array
+    tmp269 : array
+    tmp27 : array
+    tmp275 : array
+    tmp276 : array
+    tmp277 : array
+    tmp278 : array
+    tmp279 : array
+    tmp281 : array
+    tmp284 : array
+    tmp286 : array
+    tmp287 : array
+    tmp289 : array
+    tmp29 : array
+    tmp291 : array
+    tmp292 : array
+    tmp293 : array
+    tmp295 : array
+    tmp298 : array
+    tmp30 : array
+    tmp302 : array
+    tmp303 : array
+    tmp304 : array
+    tmp305 : array
+    tmp306 : array
+    tmp307 : array
+    tmp308 : array
+    tmp310 : array
+    tmp315 : array
+    tmp316 : array
+    tmp317 : array
+    tmp318 : array
+    tmp32 : array
+    tmp320 : array
+    tmp322 : array
+    tmp325 : array
+    tmp326 : array
+    tmp327 : array
+    tmp328 : array
+    tmp329 : array
+    tmp33 : array
+    tmp330 : array
+    tmp334 : array
+    tmp335 : array
+    tmp337 : array
+    tmp338 : array
+    tmp339 : array
+    tmp34 : array
+    tmp340 : array
+    tmp341 : array
+    tmp342 : array
+    tmp344 : array
+    tmp345 : array
+    tmp346 : array
+    tmp350 : array
+    tmp351 : array
+    tmp352 : array
+    tmp354 : array
+    tmp356 : array
+    tmp357 : array
+    tmp358 : array
+    tmp36 : array
+    tmp362 : array
+    tmp363 : array
+    tmp364 : array
+    tmp365 : array
+    tmp366 : array
+    tmp367 : array
+    tmp37 : array
+    tmp372 : array
+    tmp373 : array
+    tmp374 : array
+    tmp385 : array
+    tmp387 : array
+    tmp389 : array
+    tmp39 : array
+    tmp392 : array
+    tmp394 : array
+    tmp396 : array
+    tmp4 : array
+    tmp401 : array
+    tmp403 : array
+    tmp41 : array
+    tmp414 : array
+    tmp416 : array
+    tmp418 : array
+    tmp42 : array
+    tmp43 : array
+    tmp434 : array
+    tmp438 : array
+    tmp440 : array
+    tmp442 : array
+    tmp447 : array
+    tmp449 : array
+    tmp453 : array
+    tmp455 : array
+    tmp457 : array
+    tmp459 : array
+    tmp461 : array
+    tmp47 : array
+    tmp49 : array
+    tmp51 : array
+    tmp52 : array
+    tmp54 : array
+    tmp55 : array
+    tmp57 : array
+    tmp58 : array
+    tmp59 : array
+    tmp6 : array
+    tmp61 : array
+    tmp67 : array
+    tmp69 : array
+    tmp7 : array
+    tmp70 : array
+    tmp72 : array
+    tmp74 : array
+    tmp78 : array
+    tmp79 : array
+    tmp80 : array
+    tmp81 : array
+    tmp82 : array
+    tmp83 : array
+    tmp85 : array
+    tmp87 : array
+    tmp9 : array
+    tmp90 : array
+    tmp92 : array
+    tmp93 : array
+    tmp95 : array
+    tmp98 : array
+    """
+
+    tmp8 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (1, 2), (0,))
+    tmp10 = einsum(t1.bb, (0, 1), v.bbb.xov, (2, 0, 1), (2,))
+    tmp16 = einsum(t1.bb, (0, 1), v.bbb.xov, (2, 3, 1), (2, 0, 3))
+    tmp6 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (3, 2), (0, 3, 1))
+    tmp131 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp21 = einsum(tmp8, (0,), v.bbb.xov, (0, 1, 2), (1, 2))
+    tmp18 = einsum(v.bbb.xov, (0, 1, 2), tmp10, (0,), (1, 2))
+    tmp17 = einsum(v.bbb.xov, (0, 1, 2), tmp16, (0, 1, 3), (3, 2))
+    tmp54 = einsum(v.baa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (0, 3, 4))
+    tmp51 = einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (0, 3, 4))
+    tmp156 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp19 = einsum(v.baa.xov, (0, 1, 2), tmp10, (0,), (1, 2))
+    tmp14 = einsum(tmp8, (0,), v.baa.xov, (0, 1, 2), (1, 2))
+    tmp12 = einsum(tmp6, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    tmp29 = einsum(t2.abab, (0, 1, 2, 3), v.bbb.xov, (4, 1, 3), (4, 0, 2))
+    tmp26 = einsum(t2.aaaa, (0, 1, 2, 3), v.baa.xov, (4, 1, 3), (4, 0, 2))
+    tmp92 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp449 = einsum(tmp16, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp47 = einsum(v.bbb.xov, (0, 1, 2), tmp16, (0, 3, 4), (3, 1, 4, 2))
+    tmp276 = einsum(t1.bb, (0, 1), v.bbb.xvv, (2, 3, 1), (2, 0, 3))
+    tmp37 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp401 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp394 = einsum(t2.bbbb, (0, 1, 2, 3), tmp131, (4, 5, 3, 2), (0, 1, 5, 4))
+    tmp391 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 2, 4))
+    tmp387 = einsum(tmp16, (0, 1, 2), tmp16, (0, 3, 4), (3, 1, 4, 2))
+    tmp59 = einsum(t1.bb, (0, 1), tmp21, (2, 1), (0, 2))
+    tmp58 = einsum(tmp18, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp57 = einsum(t1.bb, (0, 1), tmp17, (2, 1), (0, 2))
+    tmp252 = einsum(tmp16, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp55 = einsum(v.bbb.xov, (0, 1, 2), tmp54, (0, 3, 2), (3, 1))
+    tmp52 = einsum(tmp51, (0, 1, 2), v.bbb.xov, (0, 3, 2), (1, 3))
+    tmp49 = einsum(v.baa.xov, (0, 1, 2), tmp16, (0, 3, 4), (1, 3, 4, 2))
+    tmp36 = einsum(t1.bb, (0, 1), f.bb.ov, (2, 1), (2, 0))
+    tmp264 = einsum(tmp6, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 2, 3, 4))
+    tmp22 = einsum(v.baa.xov, (0, 1, 2), tmp6, (0, 3, 4), (3, 1, 4, 2))
+    tmp249 = einsum(tmp6, (0, 1, 2), tmp16, (0, 3, 4), (1, 2, 3, 4))
+    tmp278 = einsum(tmp8, (0,), v.bbb.xvv, (0, 1, 2), (1, 2))
+    tmp275 = einsum(v.bbb.xvv, (0, 1, 2), tmp10, (0,), (1, 2))
+    tmp43 = einsum(tmp8, (0,), v.bbb.xoo, (0, 1, 2), (1, 2))
+    tmp42 = einsum(v.bbb.xoo, (0, 1, 2), tmp10, (0,), (1, 2))
+    tmp41 = einsum(v.bbb.xoo, (0, 1, 2), tmp16, (0, 2, 3), (1, 3))
+    tmp39 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp2 = einsum(v.baa.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp214 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp210 = einsum(t2.abab, (0, 1, 2, 3), tmp156, (4, 5, 2, 3), (0, 4, 1, 5))
+    tmp280 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp24 = einsum(tmp6, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 2, 3, 4))
+    tmp69 = einsum(t1.aa, (0, 1), v.baa.xvv, (2, 3, 1), (2, 0, 3))
+    tmp4 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp207 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp34 = einsum(t1.aa, (0, 1), tmp19, (2, 1), (0, 2))
+    tmp33 = einsum(tmp14, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp32 = einsum(t1.aa, (0, 1), tmp12, (2, 1), (0, 2))
+    tmp173 = einsum(v.baa.xoo, (0, 1, 2), tmp6, (0, 3, 4), (3, 1, 2, 4))
+    tmp30 = einsum(tmp29, (0, 1, 2), v.baa.xov, (0, 3, 2), (1, 3))
+    tmp27 = einsum(tmp26, (0, 1, 2), v.baa.xov, (0, 3, 2), (1, 3))
+    tmp1 = einsum(f.aa.ov, (0, 1), t1.aa, (2, 1), (0, 2))
+    tmp11 = einsum(v.baa.xoo, (0, 1, 2), tmp10, (0,), (1, 2))
+    tmp9 = einsum(tmp8, (0,), v.baa.xoo, (0, 1, 2), (1, 2))
+    tmp7 = einsum(tmp6, (0, 1, 2), v.baa.xoo, (0, 3, 1), (3, 2))
+    tmp103 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp93 = einsum(tmp92, (0, 1, 2, 3), t2.aaaa, (4, 5, 3, 2), (4, 5, 1, 0))
+    tmp89 = einsum(v.baa.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp85 = einsum(tmp6, (0, 1, 2), tmp6, (0, 3, 4), (3, 1, 4, 2))
+    tmp72 = einsum(v.baa.xvv, (0, 1, 2), tmp10, (0,), (1, 2))
+    del tmp10
+    tmp67 = einsum(tmp8, (0,), v.baa.xvv, (0, 1, 2), (1, 2))
+    del tmp8
+    tmp461 = einsum(tmp449, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+    tmp459 = einsum(tmp449, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4))
+    tmp457 = einsum(tmp16, (0, 1, 2), tmp54, (0, 3, 4), (1, 3, 2, 4))
+    tmp455 = einsum(t2.bbbb, (0, 1, 2, 3), tmp47, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp453 = einsum(tmp51, (0, 1, 2), tmp16, (0, 3, 4), (3, 1, 4, 2))
+    tmp447 = einsum(tmp276, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp442 = einsum(t2.bbbb, (0, 1, 2, 3), tmp21, (4, 3), (0, 1, 4, 2))
+    tmp440 = einsum(tmp18, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp438 = einsum(t2.bbbb, (0, 1, 2, 3), tmp17, (4, 3), (0, 1, 4, 2))
+    tmp434 = einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp418 = einsum(tmp54, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp416 = einsum(tmp51, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp414 = einsum(tmp37, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp403 = einsum(tmp401, (0, 1, 2, 3), t1.bb, (3, 4), (1, 2, 0, 4))
+    tmp396 = einsum(t1.bb, (0, 1), tmp394, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp392 = einsum(tmp391, (0, 1, 2, 3), t2.bbbb, (4, 5, 2, 3), (4, 5, 0, 1)) * -1
+    del tmp391
+    tmp389 = einsum(tmp387, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4))
+    tmp385 = einsum(tmp276, (0, 1, 2), tmp16, (0, 3, 4), (3, 1, 4, 2))
+    tmp374 = einsum(t1.bb, (0, 1), tmp59, (2, 0), (2, 1))
+    tmp373 = einsum(t1.bb, (0, 1), tmp58, (2, 0), (2, 1))
+    tmp372 = einsum(t1.bb, (0, 1), tmp57, (2, 0), (2, 1))
+    tmp367 = einsum(t1.bb, (0, 1), tmp252, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp366 = einsum(t1.bb, (0, 1), tmp55, (2, 0), (2, 1))
+    tmp365 = einsum(t1.bb, (0, 1), tmp52, (2, 0), (2, 1))
+    tmp364 = einsum(tmp49, (0, 1, 2, 3), t2.abab, (4, 2, 3, 5), (4, 0, 1, 5))
+    tmp363 = einsum(tmp49, (0, 1, 2, 3), t2.abab, (0, 2, 3, 4), (1, 4))
+    tmp362 = einsum(t2.bbbb, (0, 1, 2, 3), tmp47, (4, 1, 0, 3), (4, 2))
+    tmp358 = einsum(v.baa.xoo, (0, 1, 2), tmp276, (0, 3, 4), (1, 2, 3, 4))
+    tmp357 = einsum(v.bbb.xvv, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp356 = einsum(t1.bb, (0, 1), tmp36, (0, 2), (2, 1))
+    tmp354 = einsum(t1.bb, (0, 1), tmp264, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp352 = einsum(tmp51, (0, 1, 2), tmp6, (0, 3, 4), (3, 4, 1, 2))
+    tmp351 = einsum(tmp22, (0, 1, 2, 3), t2.abab, (2, 4, 3, 5), (0, 1, 4, 5))
+    tmp350 = einsum(tmp6, (0, 1, 2), tmp54, (0, 3, 4), (1, 2, 3, 4))
+    tmp346 = einsum(tmp276, (0, 1, 2), v.bbb.xoo, (0, 3, 1), (3, 2))
+    tmp345 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp344 = einsum(t1.bb, (0, 1), tmp249, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp342 = einsum(tmp6, (0, 1, 2), tmp276, (0, 3, 4), (1, 2, 3, 4))
+    tmp341 = einsum(tmp278, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp340 = einsum(tmp276, (0, 1, 2), tmp16, (0, 3, 1), (3, 2))
+    tmp339 = einsum(tmp275, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp338 = einsum(tmp54, (0, 1, 2), v.bbb.xvv, (0, 3, 2), (1, 3))
+    tmp337 = einsum(v.bbb.xvv, (0, 1, 2), tmp51, (0, 3, 2), (3, 1)) * -1
+    tmp335 = einsum(tmp16, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp334 = einsum(t1.bb, (0, 1), f.bb.vv, (2, 1), (0, 2))
+    tmp330 = einsum(t1.bb, (0, 1), tmp43, (2, 0), (2, 1))
+    tmp329 = einsum(t1.bb, (0, 1), tmp42, (2, 0), (2, 1))
+    tmp328 = einsum(t1.bb, (0, 1), tmp41, (2, 0), (2, 1))
+    tmp327 = einsum(t2.abab, (0, 1, 2, 3), tmp19, (4, 2), (0, 4, 1, 3))
+    tmp326 = einsum(t2.abab, (0, 1, 2, 3), tmp14, (4, 2), (0, 4, 1, 3))
+    tmp325 = einsum(t2.abab, (0, 1, 2, 3), tmp12, (4, 2), (0, 4, 1, 3))
+    tmp322 = einsum(tmp156, (0, 1, 2, 3), t2.abab, (4, 1, 2, 5), (4, 0, 5, 3))
+    tmp320 = einsum(v.bbb.xov, (0, 1, 2), tmp54, (0, 1, 3), (3, 2))
+    tmp318 = einsum(tmp51, (0, 1, 2), v.bbb.xov, (0, 1, 3), (2, 3))
+    tmp317 = einsum(tmp39, (0, 1, 2, 3), t2.abab, (4, 2, 3, 5), (4, 0, 1, 5))
+    tmp316 = einsum(tmp39, (0, 1, 2, 3), t2.abab, (0, 2, 3, 4), (1, 4))
+    tmp315 = einsum(t2.bbbb, (0, 1, 2, 3), tmp37, (4, 0, 1, 3), (4, 2))
+    tmp310 = einsum(f.aa.ov, (0, 1), t2.abab, (2, 3, 1, 4), (0, 2, 3, 4))
+    tmp308 = einsum(t1.bb, (0, 1), f.bb.oo, (2, 0), (2, 1))
+    tmp307 = einsum(t2.bbbb, (0, 1, 2, 3), tmp21, (1, 3), (0, 2))
+    tmp306 = einsum(t2.abab, (0, 1, 2, 3), tmp19, (0, 2), (1, 3))
+    tmp305 = einsum(t2.bbbb, (0, 1, 2, 3), tmp18, (1, 3), (0, 2))
+    tmp304 = einsum(t2.bbbb, (0, 1, 2, 3), tmp17, (1, 3), (0, 2))
+    tmp303 = einsum(t2.abab, (0, 1, 2, 3), tmp14, (0, 2), (1, 3))
+    tmp302 = einsum(t2.abab, (0, 1, 2, 3), tmp12, (0, 2), (1, 3))
+    tmp298 = einsum(t2.bbbb, (0, 1, 2, 3), tmp131, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp295 = einsum(t2.abab, (0, 1, 2, 3), tmp92, (0, 4, 5, 2), (4, 1, 5, 3))
+    tmp293 = einsum(tmp51, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp292 = einsum(v.baa.xoo, (0, 1, 2), tmp54, (0, 3, 4), (1, 2, 3, 4))
+    tmp291 = einsum(tmp2, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 2, 4, 5))
+    tmp289 = einsum(t1.bb, (0, 1), tmp214, (2, 3, 4, 0), (3, 2, 4, 1))
+    tmp287 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.ov, (1, 3), (0, 2))
+    tmp286 = einsum(f.aa.ov, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp284 = einsum(t1.bb, (0, 1), tmp210, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp281 = einsum(t2.abab, (0, 1, 2, 3), tmp280, (4, 2, 5, 3), (0, 4, 1, 5))
+    del tmp280
+    tmp279 = einsum(tmp6, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp277 = einsum(tmp276, (0, 1, 2), v.bbb.xov, (0, 1, 3), (3, 2))
+    tmp269 = einsum(tmp264, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp268 = einsum(t2.abab, (0, 1, 2, 3), tmp24, (4, 0, 5, 3), (4, 1, 5, 2))
+    tmp263 = einsum(v.bbb.xoo, (0, 1, 2), tmp69, (0, 3, 4), (3, 1, 2, 4))
+    tmp262 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp260 = einsum(t1.aa, (0, 1), tmp252, (2, 0, 3, 4), (2, 3, 4, 1))
+    tmp258 = einsum(tmp26, (0, 1, 2), tmp16, (0, 3, 4), (1, 3, 4, 2))
+    tmp257 = einsum(tmp47, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp256 = einsum(tmp29, (0, 1, 2), tmp16, (0, 3, 4), (1, 3, 4, 2))
+    tmp251 = einsum(t1.aa, (0, 1), tmp249, (2, 0, 3, 4), (2, 3, 4, 1))
+    tmp248 = einsum(tmp16, (0, 1, 2), tmp69, (0, 3, 4), (3, 1, 2, 4))
+    tmp243 = einsum(tmp21, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp242 = einsum(tmp18, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp241 = einsum(tmp17, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp236 = einsum(t2.abab, (0, 1, 2, 3), tmp156, (0, 4, 5, 3), (1, 4, 2, 5))
+    tmp233 = einsum(tmp4, (0, 1, 2, 3), t2.abab, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp228 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 3, 4, 1), (2, 0, 3, 4))
+    tmp220 = einsum(tmp26, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp219 = einsum(tmp29, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp218 = einsum(tmp37, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp216 = einsum(tmp214, (0, 1, 2, 3), t1.aa, (1, 4), (0, 3, 2, 4))
+    tmp212 = einsum(tmp210, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp208 = einsum(tmp207, (0, 1, 2, 3), t2.abab, (4, 5, 2, 3), (4, 5, 0, 1))
+    del tmp207
+    tmp206 = einsum(tmp16, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp202 = einsum(tmp34, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp201 = einsum(t1.aa, (0, 1), tmp33, (2, 0), (2, 1))
+    tmp200 = einsum(tmp32, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp189 = einsum(t1.aa, (0, 1), tmp173, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp187 = einsum(t1.aa, (0, 1), tmp173, (2, 3, 0, 4), (2, 3, 4, 1))
+    tmp186 = einsum(tmp30, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp185 = einsum(t1.aa, (0, 1), tmp27, (2, 0), (2, 1))
+    tmp183 = einsum(tmp29, (0, 1, 2), tmp6, (0, 3, 4), (3, 1, 4, 2))
+    tmp181 = einsum(t2.aaaa, (0, 1, 2, 3), tmp22, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp179 = einsum(tmp6, (0, 1, 2), tmp26, (0, 3, 4), (1, 3, 2, 4))
+    tmp178 = einsum(t2.abab, (0, 1, 2, 3), tmp24, (4, 0, 1, 3), (4, 2))
+    tmp177 = einsum(tmp22, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 3), (0, 4))
+    tmp171 = einsum(v.baa.xoo, (0, 1, 2), tmp69, (0, 3, 4), (3, 1, 2, 4))
+    tmp170 = einsum(tmp69, (0, 1, 2), v.baa.xoo, (0, 3, 1), (3, 2))
+    tmp168 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp166 = einsum(tmp1, (0, 1), t1.aa, (0, 2), (1, 2))
+    tmp163 = einsum(t2.aaaa, (0, 1, 2, 3), tmp19, (4, 3), (0, 1, 4, 2))
+    tmp161 = einsum(t2.aaaa, (0, 1, 2, 3), tmp14, (4, 3), (0, 1, 4, 2))
+    tmp159 = einsum(tmp12, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp152 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp145 = einsum(tmp11, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp144 = einsum(t1.aa, (0, 1), tmp9, (2, 0), (2, 1))
+    tmp143 = einsum(t1.aa, (0, 1), tmp7, (2, 0), (2, 1))
+    tmp142 = einsum(t2.abab, (0, 1, 2, 3), tmp21, (1, 3), (0, 2))
+    tmp141 = einsum(tmp19, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp140 = einsum(tmp18, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp139 = einsum(tmp17, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp138 = einsum(t2.aaaa, (0, 1, 2, 3), tmp14, (1, 3), (0, 2))
+    tmp137 = einsum(t2.aaaa, (0, 1, 2, 3), tmp12, (1, 3), (0, 2))
+    tmp132 = einsum(tmp131, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2))
+    tmp128 = einsum(t2.aaaa, (0, 1, 2, 3), tmp92, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp126 = einsum(tmp29, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    tmp124 = einsum(tmp26, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    tmp122 = einsum(tmp29, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp120 = einsum(tmp26, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp118 = einsum(tmp2, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp117 = einsum(t2.abab, (0, 1, 2, 3), tmp4, (4, 0, 1, 3), (4, 2))
+    tmp116 = einsum(tmp2, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 3), (0, 4))
+    tmp105 = einsum(t1.aa, (0, 1), tmp103, (2, 3, 4, 0), (3, 4, 2, 1))
+    tmp102 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp101 = einsum(t2.aaaa, (0, 1, 2, 3), f.aa.ov, (1, 3), (0, 2))
+    tmp98 = einsum(t1.aa, (0, 1), f.aa.oo, (2, 0), (2, 1))
+    tmp95 = einsum(t1.aa, (0, 1), tmp93, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp90 = einsum(t2.aaaa, (0, 1, 2, 3), tmp89, (4, 5, 2, 3), (0, 1, 4, 5)) * -1
+    del tmp89
+    tmp87 = einsum(t1.aa, (0, 1), tmp85, (2, 3, 0, 4), (3, 2, 4, 1))
+    tmp83 = einsum(tmp69, (0, 1, 2), tmp6, (0, 3, 4), (3, 1, 4, 2))
+    tmp82 = einsum(t1.aa, (0, 1), tmp72, (2, 1), (0, 2))
+    tmp81 = einsum(tmp69, (0, 1, 2), tmp6, (0, 3, 1), (3, 2))
+    tmp80 = einsum(t1.aa, (0, 1), tmp67, (2, 1), (0, 2))
+    tmp79 = einsum(tmp29, (0, 1, 2), v.baa.xvv, (0, 3, 2), (1, 3))
+    tmp78 = einsum(tmp26, (0, 1, 2), v.baa.xvv, (0, 3, 2), (1, 3)) * -1
+    tmp74 = einsum(tmp6, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp70 = einsum(v.baa.xov, (0, 1, 2), tmp69, (0, 1, 3), (2, 3))
+    tmp61 = einsum(t1.aa, (0, 1), f.aa.vv, (2, 1), (0, 2))
+
+    return {f"tmp1": tmp1, f"tmp101": tmp101, f"tmp102": tmp102, f"tmp103": tmp103, f"tmp105": tmp105, f"tmp11": tmp11, f"tmp116": tmp116, f"tmp117": tmp117, f"tmp118": tmp118, f"tmp12": tmp12, f"tmp120": tmp120, f"tmp122": tmp122, f"tmp124": tmp124, f"tmp126": tmp126, f"tmp128": tmp128, f"tmp131": tmp131, f"tmp132": tmp132, f"tmp137": tmp137, f"tmp138": tmp138, f"tmp139": tmp139, f"tmp14": tmp14, f"tmp140": tmp140, f"tmp141": tmp141, f"tmp142": tmp142, f"tmp143": tmp143, f"tmp144": tmp144, f"tmp145": tmp145, f"tmp152": tmp152, f"tmp156": tmp156, f"tmp159": tmp159, f"tmp16": tmp16, f"tmp161": tmp161, f"tmp163": tmp163, f"tmp166": tmp166, f"tmp168": tmp168, f"tmp17": tmp17, f"tmp170": tmp170, f"tmp171": tmp171, f"tmp173": tmp173, f"tmp177": tmp177, f"tmp178": tmp178, f"tmp179": tmp179, f"tmp18": tmp18, f"tmp181": tmp181, f"tmp183": tmp183, f"tmp185": tmp185, f"tmp186": tmp186, f"tmp187": tmp187, f"tmp189": tmp189, f"tmp19": tmp19, f"tmp2": tmp2, f"tmp200": tmp200, f"tmp201": tmp201, f"tmp202": tmp202, f"tmp206": tmp206, f"tmp208": tmp208, f"tmp21": tmp21, f"tmp210": tmp210, f"tmp212": tmp212, f"tmp214": tmp214, f"tmp216": tmp216, f"tmp218": tmp218, f"tmp219": tmp219, f"tmp22": tmp22, f"tmp220": tmp220, f"tmp228": tmp228, f"tmp233": tmp233, f"tmp236": tmp236, f"tmp24": tmp24, f"tmp241": tmp241, f"tmp242": tmp242, f"tmp243": tmp243, f"tmp248": tmp248, f"tmp249": tmp249, f"tmp251": tmp251, f"tmp252": tmp252, f"tmp256": tmp256, f"tmp257": tmp257, f"tmp258": tmp258, f"tmp26": tmp26, f"tmp260": tmp260, f"tmp262": tmp262, f"tmp263": tmp263, f"tmp264": tmp264, f"tmp268": tmp268, f"tmp269": tmp269, f"tmp27": tmp27, f"tmp275": tmp275, f"tmp276": tmp276, f"tmp277": tmp277, f"tmp278": tmp278, f"tmp279": tmp279, f"tmp281": tmp281, f"tmp284": tmp284, f"tmp286": tmp286, f"tmp287": tmp287, f"tmp289": tmp289, f"tmp29": tmp29, f"tmp291": tmp291, f"tmp292": tmp292, f"tmp293": tmp293, f"tmp295": tmp295, f"tmp298": tmp298, f"tmp30": tmp30, f"tmp302": tmp302, f"tmp303": tmp303, f"tmp304": tmp304, f"tmp305": tmp305, f"tmp306": tmp306, f"tmp307": tmp307, f"tmp308": tmp308, f"tmp310": tmp310, f"tmp315": tmp315, f"tmp316": tmp316, f"tmp317": tmp317, f"tmp318": tmp318, f"tmp32": tmp32, f"tmp320": tmp320, f"tmp322": tmp322, f"tmp325": tmp325, f"tmp326": tmp326, f"tmp327": tmp327, f"tmp328": tmp328, f"tmp329": tmp329, f"tmp33": tmp33, f"tmp330": tmp330, f"tmp334": tmp334, f"tmp335": tmp335, f"tmp337": tmp337, f"tmp338": tmp338, f"tmp339": tmp339, f"tmp34": tmp34, f"tmp340": tmp340, f"tmp341": tmp341, f"tmp342": tmp342, f"tmp344": tmp344, f"tmp345": tmp345, f"tmp346": tmp346, f"tmp350": tmp350, f"tmp351": tmp351, f"tmp352": tmp352, f"tmp354": tmp354, f"tmp356": tmp356, f"tmp357": tmp357, f"tmp358": tmp358, f"tmp36": tmp36, f"tmp362": tmp362, f"tmp363": tmp363, f"tmp364": tmp364, f"tmp365": tmp365, f"tmp366": tmp366, f"tmp367": tmp367, f"tmp37": tmp37, f"tmp372": tmp372, f"tmp373": tmp373, f"tmp374": tmp374, f"tmp385": tmp385, f"tmp387": tmp387, f"tmp389": tmp389, f"tmp39": tmp39, f"tmp392": tmp392, f"tmp394": tmp394, f"tmp396": tmp396, f"tmp4": tmp4, f"tmp401": tmp401, f"tmp403": tmp403, f"tmp41": tmp41, f"tmp414": tmp414, f"tmp416": tmp416, f"tmp418": tmp418, f"tmp42": tmp42, f"tmp43": tmp43, f"tmp434": tmp434, f"tmp438": tmp438, f"tmp440": tmp440, f"tmp442": tmp442, f"tmp447": tmp447, f"tmp449": tmp449, f"tmp453": tmp453, f"tmp455": tmp455, f"tmp457": tmp457, f"tmp459": tmp459, f"tmp461": tmp461, f"tmp47": tmp47, f"tmp49": tmp49, f"tmp51": tmp51, f"tmp52": tmp52, f"tmp54": tmp54, f"tmp55": tmp55, f"tmp57": tmp57, f"tmp58": tmp58, f"tmp59": tmp59, f"tmp6": tmp6, f"tmp61": tmp61, f"tmp67": tmp67, f"tmp69": tmp69, f"tmp7": tmp7, f"tmp70": tmp70, f"tmp72": tmp72, f"tmp74": tmp74, f"tmp78": tmp78, f"tmp79": tmp79, f"tmp80": tmp80, f"tmp81": tmp81, f"tmp82": tmp82, f"tmp83": tmp83, f"tmp85": tmp85, f"tmp87": tmp87, f"tmp9": tmp9, f"tmp90": tmp90, f"tmp92": tmp92, f"tmp93": tmp93, f"tmp95": tmp95, f"tmp98": tmp98}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCCSD.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-17T20:45:01.146650.

+

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.

+ +
+ Source code in ebcc/codegen/UDFCCSD.py +
2978
+2979
+2980
+2981
+2982
+2983
+2984
+2985
+2986
+2987
+2988
+2989
+2990
+2991
+2992
+2993
+2994
+2995
+2996
+2997
+2998
+2999
+3000
+3001
+3002
+3003
+3004
+3005
+3006
+3007
+3008
+3009
+3010
+3011
+3012
+3013
+3014
+3015
+3016
+3017
+3018
+3019
+3020
+3021
+3022
+3023
+3024
+3025
+3026
+3027
+3028
+3029
+3030
+3031
+3032
+3033
+3034
+3035
+3036
+3037
+3038
+3039
+3040
+3041
+3042
+3043
+3044
+3045
+3046
+3047
+3048
+3049
+3050
+3051
+3052
+3053
+3054
+3055
+3056
+3057
+3058
+3059
+3060
+3061
+3062
+3063
+3064
+3065
+3066
+3067
+3068
+3069
+3070
+3071
+3072
+3073
+3074
+3075
+3076
+3077
+3078
+3079
+3080
+3081
+3082
+3083
+3084
+3085
+3086
+3087
+3088
+3089
+3090
+3091
+3092
+3093
+3094
+3095
+3096
+3097
+3098
+3099
+3100
+3101
+3102
+3103
+3104
+3105
+3106
+3107
+3108
+3109
+3110
+3111
+3112
+3113
+3114
+3115
+3116
+3117
+3118
+3119
+3120
+3121
+3122
+3123
+3124
+3125
+3126
+3127
+3128
+3129
+3130
+3131
+3132
+3133
+3134
+3135
+3136
+3137
+3138
+3139
+3140
+3141
+3142
+3143
+3144
+3145
+3146
+3147
+3148
+3149
+3150
+3151
+3152
+3153
+3154
+3155
+3156
+3157
+3158
+3159
+3160
+3161
+3162
+3163
+3164
+3165
+3166
+3167
+3168
+3169
+3170
+3171
+3172
+3173
+3174
+3175
+3176
+3177
+3178
+3179
+3180
+3181
+3182
+3183
+3184
+3185
+3186
+3187
+3188
+3189
+3190
+3191
+3192
+3193
+3194
+3195
+3196
+3197
+3198
+3199
+3200
+3201
+3202
+3203
+3204
+3205
+3206
+3207
+3208
+3209
+3210
+3211
+3212
+3213
+3214
+3215
+3216
+3217
+3218
+3219
+3220
+3221
+3222
+3223
+3224
+3225
+3226
+3227
+3228
+3229
+3230
+3231
+3232
+3233
+3234
+3235
+3236
+3237
+3238
+3239
+3240
+3241
+3242
+3243
+3244
+3245
+3246
+3247
+3248
+3249
+3250
+3251
+3252
+3253
+3254
+3255
+3256
+3257
+3258
+3259
+3260
+3261
+3262
+3263
+3264
+3265
+3266
+3267
+3268
+3269
+3270
+3271
+3272
+3273
+3274
+3275
+3276
+3277
+3278
+3279
+3280
+3281
+3282
+3283
+3284
+3285
+3286
+3287
+3288
+3289
+3290
+3291
+3292
+3293
+3294
+3295
+3296
+3297
+3298
+3299
+3300
+3301
+3302
+3303
+3304
+3305
+3306
+3307
+3308
+3309
+3310
+3311
+3312
+3313
+3314
+3315
+3316
+3317
+3318
+3319
+3320
+3321
+3322
+3323
+3324
+3325
+3326
+3327
+3328
+3329
+3330
+3331
+3332
+3333
+3334
+3335
+3336
+3337
+3338
+3339
+3340
+3341
+3342
+3343
+3344
+3345
+3346
+3347
+3348
+3349
+3350
+3351
+3352
+3353
+3354
+3355
+3356
+3357
+3358
+3359
+3360
+3361
+3362
+3363
+3364
+3365
+3366
+3367
+3368
+3369
+3370
+3371
+3372
+3373
+3374
+3375
+3376
+3377
+3378
+3379
+3380
+3381
+3382
+3383
+3384
+3385
+3386
+3387
+3388
+3389
+3390
+3391
+3392
+3393
+3394
+3395
+3396
+3397
+3398
+3399
+3400
+3401
+3402
+3403
+3404
+3405
+3406
+3407
+3408
+3409
+3410
+3411
+3412
+3413
+3414
+3415
+3416
+3417
+3418
+3419
+3420
+3421
+3422
+3423
+3424
+3425
+3426
+3427
+3428
+3429
+3430
+3431
+3432
+3433
+3434
+3435
+3436
+3437
+3438
+3439
+3440
+3441
+3442
+3443
+3444
+3445
+3446
+3447
+3448
+3449
+3450
+3451
+3452
+3453
+3454
+3455
+3456
+3457
+3458
+3459
+3460
+3461
+3462
+3463
+3464
+3465
+3466
+3467
+3468
+3469
+3470
+3471
+3472
+3473
+3474
+3475
+3476
+3477
+3478
+3479
+3480
+3481
+3482
+3483
+3484
+3485
+3486
+3487
+3488
+3489
+3490
+3491
+3492
+3493
+3494
+3495
+3496
+3497
+3498
+3499
+3500
+3501
+3502
+3503
+3504
+3505
+3506
+3507
+3508
+3509
+3510
+3511
+3512
+3513
+3514
+3515
+3516
+3517
+3518
+3519
+3520
+3521
+3522
+3523
+3524
+3525
+3526
+3527
+3528
+3529
+3530
+3531
+3532
+3533
+3534
+3535
+3536
+3537
+3538
+3539
+3540
+3541
+3542
+3543
+3544
+3545
+3546
+3547
+3548
+3549
+3550
+3551
+3552
+3553
+3554
+3555
+3556
+3557
+3558
+3559
+3560
+3561
+3562
+3563
+3564
+3565
+3566
+3567
+3568
+3569
+3570
+3571
+3572
+3573
+3574
+3575
+3576
+3577
+3578
+3579
+3580
+3581
+3582
+3583
+3584
+3585
+3586
+3587
+3588
+3589
+3590
+3591
+3592
+3593
+3594
+3595
+3596
+3597
+3598
+3599
+3600
+3601
+3602
+3603
+3604
+3605
+3606
+3607
+3608
+3609
+3610
+3611
+3612
+3613
+3614
+3615
+3616
+3617
+3618
+3619
+3620
+3621
+3622
+3623
+3624
+3625
+3626
+3627
+3628
+3629
+3630
+3631
+3632
+3633
+3634
+3635
+3636
+3637
+3638
+3639
+3640
+3641
+3642
+3643
+3644
+3645
+3646
+3647
+3648
+3649
+3650
+3651
+3652
+3653
+3654
+3655
+3656
+3657
+3658
+3659
+3660
+3661
+3662
+3663
+3664
+3665
+3666
+3667
+3668
+3669
+3670
+3671
+3672
+3673
+3674
+3675
+3676
+3677
+3678
+3679
+3680
+3681
+3682
+3683
+3684
+3685
+3686
+3687
+3688
+3689
+3690
+3691
+3692
+3693
+3694
+3695
+3696
+3697
+3698
+3699
+3700
+3701
+3702
+3703
+3704
+3705
+3706
+3707
+3708
+3709
+3710
+3711
+3712
+3713
+3714
+3715
+3716
+3717
+3718
+3719
+3720
+3721
+3722
+3723
+3724
+3725
+3726
+3727
+3728
+3729
+3730
+3731
+3732
+3733
+3734
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-17T20:45:01.146650.
+
+    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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp47 = einsum(v.baa.xov, (0, 1, 2), r2.aba, (1, 3, 2), (0, 3))
+    tmp48 = einsum(r2.bbb, (0, 1, 2), v.bbb.xov, (3, 1, 2), (3, 0))
+    tmp12 = einsum(v.bbb.xov, (0, 1, 2), r2.bab, (1, 3, 2), (0, 3)) * -1
+    tmp11 = einsum(v.baa.xov, (0, 1, 2), r2.aaa, (3, 1, 2), (0, 3))
+    tmp49 = np.copy(tmp47) * -1
+    tmp49 += tmp48 * 2
+    tmp77 = np.copy(tmp47) * -0.5
+    tmp77 += tmp48
+    tmp65 = np.copy(ints.tmp37)
+    tmp65 += np.transpose(ints.tmp47, (0, 2, 1, 3))
+    tmp24 = np.copy(ints.tmp22)
+    tmp24 += np.transpose(ints.tmp2, (0, 2, 1, 3))
+    tmp21 = np.copy(tmp11) * 2
+    tmp21 += tmp12
+    tmp27 = np.copy(tmp11)
+    tmp27 += tmp12 * 0.5
+    tmp76 = einsum(tmp49, (0, 1), ints.tmp16, (0, 2, 3), (1, 2, 3))
+    tmp78 = einsum(v.bbb.xoo, (0, 1, 2), tmp77, (0, 3), (3, 1, 2)) * 2
+    del tmp77
+    tmp75 = einsum(r2.bbb, (0, 1, 2), tmp65, (3, 1, 4, 2), (0, 3, 4)) * -2
+    tmp25 = einsum(tmp24, (0, 1, 2, 3), r2.aaa, (4, 2, 3), (4, 0, 1)) * -1
+    tmp26 = einsum(tmp21, (0, 1), v.baa.xoo, (0, 2, 3), (2, 3, 1)) * 0.5
+    tmp28 = einsum(ints.tmp6, (0, 1, 2), tmp27, (0, 3), (1, 2, 3))
+    tmp2 = np.copy(f.bb.ov)
+    tmp2 += ints.tmp18
+    tmp2 += ints.tmp21
+    tmp2 += ints.tmp17 * -1
+    del ints.tmp17
+    tmp92 = np.copy(ints.tmp389)
+    del ints.tmp389
+    tmp92 += np.transpose(ints.tmp403, (1, 2, 0, 3))
+    del ints.tmp403
+    tmp92 += np.transpose(ints.tmp418, (0, 2, 1, 3))
+    del ints.tmp418
+    tmp92 += np.transpose(ints.tmp447, (0, 2, 1, 3))
+    del ints.tmp447
+    tmp92 += ints.tmp459
+    del ints.tmp459
+    tmp92 += np.transpose(ints.tmp416, (0, 2, 1, 3)) * 2
+    del ints.tmp416
+    tmp92 += ints.tmp455 * 2
+    del ints.tmp455
+    tmp90 = np.copy(f.bb.oo)
+    tmp90 += ints.tmp36
+    tmp90 += np.transpose(ints.tmp42, (1, 0))
+    tmp90 += np.transpose(ints.tmp43, (1, 0))
+    tmp90 += np.transpose(ints.tmp58, (1, 0))
+    tmp90 += np.transpose(ints.tmp59, (1, 0))
+    tmp58 = np.copy(ints.tmp335)
+    del ints.tmp335
+    tmp58 += ints.tmp345
+    del ints.tmp345
+    tmp58 += ints.tmp298 * 2
+    del ints.tmp298
+    tmp88 = np.copy(ints.tmp276)
+    tmp88 += ints.tmp54
+    tmp88 += ints.tmp51 * 2
+    tmp79 = np.copy(np.transpose(tmp75, (1, 2, 0))) * -1
+    del tmp75
+    tmp79 += np.transpose(tmp76, (1, 2, 0)) * -1
+    del tmp76
+    tmp79 += np.transpose(tmp78, (0, 2, 1))
+    del tmp78
+    tmp81 = np.copy(ints.tmp37)
+    tmp81 += np.transpose(ints.tmp385, (0, 2, 1, 3))
+    del ints.tmp385
+    tmp81 += np.transpose(ints.tmp414, (0, 2, 1, 3)) * 2
+    del ints.tmp414
+    tmp81 += np.transpose(ints.tmp453, (0, 2, 1, 3)) * 2
+    del ints.tmp453
+    tmp81 += np.transpose(ints.tmp457, (0, 2, 1, 3))
+    del ints.tmp457
+    tmp81 += ints.tmp461
+    del ints.tmp461
+    tmp81 += np.transpose(ints.tmp47, (0, 2, 1, 3))
+    tmp83 = np.copy(ints.tmp52) * 2
+    tmp83 += ints.tmp55
+    tmp83 += ints.tmp41 * -1
+    tmp83 += ints.tmp57 * -1
+    tmp73 = np.copy(ints.tmp276)
+    tmp73 += ints.tmp51 * 2
+    tmp73 += ints.tmp54
+    tmp3 = np.copy(f.aa.ov)
+    tmp3 += ints.tmp14
+    tmp3 += ints.tmp19
+    tmp3 += ints.tmp12 * -1
+    del ints.tmp12
+    tmp29 = np.copy(np.transpose(tmp25, (1, 2, 0))) * -1
+    del tmp25
+    tmp29 += np.transpose(tmp26, (2, 1, 0))
+    del tmp26
+    tmp29 += tmp28 * -1
+    del tmp28
+    tmp31 = np.copy(ints.tmp118)
+    del ints.tmp118
+    tmp31 += ints.tmp179
+    del ints.tmp179
+    tmp31 += ints.tmp183 * 0.5
+    del ints.tmp183
+    tmp31 += np.transpose(ints.tmp189, (0, 2, 1, 3)) * 0.5
+    del ints.tmp189
+    tmp31 += ints.tmp22 * 0.5
+    tmp31 += np.transpose(ints.tmp2, (0, 2, 1, 3)) * 0.5
+    tmp31 += ints.tmp83 * 0.5
+    del ints.tmp83
+    tmp22 = np.copy(ints.tmp26)
+    tmp22 += ints.tmp29 * 0.5
+    tmp22 += ints.tmp69 * 0.5
+    tmp33 = np.copy(ints.tmp27) * 2
+    tmp33 += ints.tmp30
+    tmp33 += ints.tmp32 * -1
+    tmp33 += ints.tmp7 * -1
+    tmp15 = np.copy(f.aa.oo)
+    tmp15 += np.transpose(ints.tmp11, (1, 0))
+    tmp15 += ints.tmp1
+    tmp15 += np.transpose(ints.tmp33, (1, 0))
+    tmp15 += np.transpose(ints.tmp34, (1, 0))
+    tmp15 += np.transpose(ints.tmp9, (1, 0))
+    tmp17 = np.copy(ints.tmp105)
+    del ints.tmp105
+    tmp17 += np.transpose(ints.tmp122, (1, 0, 2, 3))
+    del ints.tmp122
+    tmp17 += np.transpose(ints.tmp171, (1, 0, 2, 3))
+    del ints.tmp171
+    tmp17 += np.transpose(ints.tmp187, (2, 0, 1, 3))
+    del ints.tmp187
+    tmp17 += np.transpose(ints.tmp87, (2, 0, 1, 3))
+    del ints.tmp87
+    tmp17 += np.transpose(ints.tmp120, (1, 0, 2, 3)) * 2
+    del ints.tmp120
+    tmp17 += np.transpose(ints.tmp181, (2, 0, 1, 3)) * 2
+    del ints.tmp181
+    tmp9 = np.copy(ints.tmp168)
+    tmp9 += ints.tmp74
+    tmp9 += ints.tmp128 * 2
+    tmp13 = np.copy(tmp11) * 2
+    del tmp11
+    tmp13 += tmp12
+    del tmp12
+    tmp62 = einsum(tmp2, (0, 1), t1.bb, (0, 2), (1, 2))
+    tmp93 = einsum(r1.b, (0,), tmp92, (1, 2, 0, 3), (1, 2, 3))
+    del tmp92
+    tmp91 = einsum(r2.bbb, (0, 1, 2), tmp90, (1, 3), (3, 0, 2)) * -1
+    del tmp90
+    tmp87 = einsum(tmp58, (0, 1, 2, 3), r2.bbb, (4, 1, 3), (4, 0, 2)) * -1
+    tmp86 = einsum(v.bbb.xov, (0, 1, 2), tmp48, (0, 3), (3, 1, 2))
+    tmp89 = einsum(tmp88, (0, 1, 2), tmp47, (0, 3), (1, 3, 2))
+    del tmp88
+    tmp56 = einsum(r2.bbb, (0, 1, 2), ints.tmp131, (1, 0, 2, 3), (3,)) * -1
+    del ints.tmp131
+    tmp55 = einsum(r2.aba, (0, 1, 2), ints.tmp156, (0, 1, 2, 3), (3,))
+    tmp80 = einsum(t1.bb, (0, 1), tmp79, (2, 0, 3), (2, 3, 1))
+    del tmp79
+    tmp72 = einsum(tmp47, (0, 1), v.bbb.xov, (0, 2, 3), (1, 2, 3))
+    del tmp47
+    tmp71 = einsum(r2.bbb, (0, 1, 2), ints.tmp449, (3, 0, 4, 1), (3, 4, 2))
+    del ints.tmp449
+    tmp70 = einsum(ints.tmp295, (0, 1, 2, 3), r2.aba, (0, 4, 2), (1, 4, 3))
+    tmp82 = einsum(tmp81, (0, 1, 2, 3), r1.b, (1,), (0, 2, 3))
+    del tmp81
+    tmp84 = einsum(tmp83, (0, 1), r2.bbb, (2, 1, 3), (0, 2, 3)) * -2
+    del tmp83
+    tmp74 = einsum(tmp73, (0, 1, 2), tmp48, (0, 3), (1, 3, 2)) * 2
+    del tmp48, tmp73
+    tmp39 = einsum(ints.tmp92, (0, 1, 2, 3), r2.aaa, (0, 1, 2), (3,))
+    del ints.tmp92
+    tmp40 = einsum(r2.bab, (0, 1, 2), ints.tmp156, (1, 0, 3, 2), (3,)) * -1
+    del ints.tmp156
+    tmp1 = np.copy(ints.tmp24)
+    tmp1 += ints.tmp4
+    tmp66 = np.copy(ints.tmp16)
+    del ints.tmp16
+    tmp66 += v.bbb.xoo
+    tmp37 = einsum(t1.aa, (0, 1), tmp3, (0, 2), (2, 1))
+    tmp53 = np.copy(ints.tmp6)
+    del ints.tmp6
+    tmp53 += v.baa.xoo
+    tmp52 = np.copy(ints.tmp39)
+    tmp52 += ints.tmp49
+    tmp30 = einsum(tmp29, (0, 1, 2), t1.aa, (1, 3), (0, 2, 3)) * 2
+    del tmp29
+    tmp32 = einsum(r1.a, (0,), tmp31, (1, 2, 0, 3), (1, 2, 3)) * 2
+    del tmp31
+    tmp20 = einsum(r2.aaa, (0, 1, 2), ints.tmp173, (3, 0, 4, 1), (3, 4, 2))
+    del ints.tmp173
+    tmp23 = einsum(tmp22, (0, 1, 2), tmp21, (0, 3), (3, 1, 2)) * 2
+    del tmp22
+    tmp34 = einsum(tmp33, (0, 1), r2.aaa, (2, 1, 3), (2, 0, 3)) * -2
+    del tmp33
+    tmp8 = einsum(ints.tmp132, (0, 1, 2, 3), r2.bab, (1, 4, 3), (0, 4, 2)) * -1
+    tmp16 = einsum(tmp15, (0, 1), r2.aaa, (2, 0, 3), (2, 1, 3)) * -1
+    del tmp15
+    tmp18 = einsum(r1.a, (0,), tmp17, (0, 1, 2, 3), (1, 2, 3))
+    del tmp17
+    tmp10 = einsum(r2.aaa, (0, 1, 2), tmp9, (3, 1, 4, 2), (0, 3, 4)) * -1
+    del tmp9
+    tmp14 = einsum(v.baa.xov, (0, 1, 2), tmp13, (0, 3), (1, 3, 2))
+    del tmp13
+    tmp63 = np.copy(ints.tmp277)
+    del ints.tmp277
+    tmp63 += np.transpose(ints.tmp318, (1, 0)) * 2
+    del ints.tmp318
+    tmp63 += np.transpose(ints.tmp320, (1, 0))
+    del ints.tmp320
+    tmp63 += f.bb.vv * -1
+    tmp63 += np.transpose(ints.tmp275, (1, 0)) * -1
+    del ints.tmp275
+    tmp63 += np.transpose(ints.tmp278, (1, 0)) * -1
+    del ints.tmp278
+    tmp63 += tmp62
+    del tmp62
+    tmp69 = np.copy(ints.tmp302)
+    del ints.tmp302
+    tmp69 += ints.tmp304 * 2
+    del ints.tmp304
+    tmp69 += ints.tmp308
+    del ints.tmp308
+    tmp69 += ints.tmp315 * 2
+    del ints.tmp315
+    tmp69 += ints.tmp316
+    del ints.tmp316
+    tmp69 += ints.tmp329
+    del ints.tmp329
+    tmp69 += ints.tmp330
+    del ints.tmp330
+    tmp69 += ints.tmp337 * 2
+    del ints.tmp337
+    tmp69 += ints.tmp340
+    del ints.tmp340
+    tmp69 += ints.tmp346
+    del ints.tmp346
+    tmp69 += ints.tmp356
+    del ints.tmp356
+    tmp69 += ints.tmp362 * 2
+    del ints.tmp362
+    tmp69 += ints.tmp363
+    del ints.tmp363
+    tmp69 += ints.tmp365 * 2
+    del ints.tmp365
+    tmp69 += ints.tmp366
+    del ints.tmp366
+    tmp69 += ints.tmp373
+    del ints.tmp373
+    tmp69 += ints.tmp374
+    del ints.tmp374
+    tmp69 += f.bb.ov * -1
+    tmp69 += ints.tmp18 * -1
+    del ints.tmp18
+    tmp69 += ints.tmp21 * -1
+    del ints.tmp21
+    tmp69 += ints.tmp286 * -1
+    del ints.tmp286
+    tmp69 += ints.tmp287 * -2
+    del ints.tmp287
+    tmp69 += ints.tmp303 * -1
+    del ints.tmp303
+    tmp69 += ints.tmp305 * -2
+    del ints.tmp305
+    tmp69 += ints.tmp306 * -1
+    del ints.tmp306
+    tmp69 += ints.tmp307 * -2
+    del ints.tmp307
+    tmp69 += ints.tmp328 * -1
+    del ints.tmp328
+    tmp69 += ints.tmp334 * -1
+    del ints.tmp334
+    tmp69 += ints.tmp338 * -1
+    del ints.tmp338
+    tmp69 += ints.tmp339 * -1
+    del ints.tmp339
+    tmp69 += ints.tmp341 * -1
+    del ints.tmp341
+    tmp69 += ints.tmp372 * -1
+    del ints.tmp372
+    tmp94 = np.copy(tmp86) * 2
+    del tmp86
+    tmp94 += np.transpose(tmp87, (1, 0, 2)) * -2
+    del tmp87
+    tmp94 += tmp89
+    del tmp89
+    tmp94 += tmp91 * -2
+    del tmp91
+    tmp94 += tmp93
+    del tmp93
+    tmp57 = np.copy(tmp55) * 0.5
+    del tmp55
+    tmp57 += tmp56
+    del tmp56
+    tmp95 = np.copy(ints.tmp387)
+    del ints.tmp387
+    tmp95 += ints.tmp394
+    del ints.tmp394
+    tmp95 += np.transpose(ints.tmp401, (0, 2, 1, 3)) * -1
+    del ints.tmp401
+    tmp96 = np.copy(ints.tmp396)
+    del ints.tmp396
+    tmp96 += np.transpose(ints.tmp434, (1, 2, 0, 3))
+    del ints.tmp434
+    tmp96 += ints.tmp440
+    del ints.tmp440
+    tmp96 += ints.tmp442
+    del ints.tmp442
+    tmp96 += ints.tmp392 * -1
+    del ints.tmp392
+    tmp96 += ints.tmp438 * -1
+    del ints.tmp438
+    tmp85 = np.copy(tmp70)
+    del tmp70
+    tmp85 += tmp71 * 2
+    del tmp71
+    tmp85 += tmp72
+    del tmp72
+    tmp85 += tmp74
+    del tmp74
+    tmp85 += tmp80
+    del tmp80
+    tmp85 += tmp82
+    del tmp82
+    tmp85 += tmp84
+    del tmp84
+    tmp7 = np.copy(f.bb.oo)
+    tmp7 += ints.tmp36
+    del ints.tmp36
+    tmp7 += np.transpose(ints.tmp42, (1, 0))
+    del ints.tmp42
+    tmp7 += np.transpose(ints.tmp43, (1, 0))
+    del ints.tmp43
+    tmp7 += np.transpose(ints.tmp52, (1, 0)) * 2
+    del ints.tmp52
+    tmp7 += np.transpose(ints.tmp55, (1, 0))
+    del ints.tmp55
+    tmp7 += np.transpose(ints.tmp58, (1, 0))
+    del ints.tmp58
+    tmp7 += np.transpose(ints.tmp59, (1, 0))
+    del ints.tmp59
+    tmp7 += np.transpose(ints.tmp41, (1, 0)) * -1
+    del ints.tmp41
+    tmp7 += np.transpose(ints.tmp57, (1, 0)) * -1
+    del ints.tmp57
+    tmp4 = np.copy(f.aa.oo)
+    tmp4 += np.transpose(ints.tmp11, (1, 0))
+    del ints.tmp11
+    tmp4 += ints.tmp1
+    del ints.tmp1
+    tmp4 += np.transpose(ints.tmp27, (1, 0)) * 2
+    del ints.tmp27
+    tmp4 += np.transpose(ints.tmp30, (1, 0))
+    del ints.tmp30
+    tmp4 += np.transpose(ints.tmp33, (1, 0))
+    del ints.tmp33
+    tmp4 += np.transpose(ints.tmp34, (1, 0))
+    del ints.tmp34
+    tmp4 += np.transpose(ints.tmp9, (1, 0))
+    del ints.tmp9
+    tmp4 += np.transpose(ints.tmp32, (1, 0)) * -1
+    del ints.tmp32
+    tmp4 += np.transpose(ints.tmp7, (1, 0)) * -1
+    del ints.tmp7
+    tmp68 = np.copy(tmp39) * 2
+    tmp68 += tmp40 * -1
+    tmp59 = np.copy(ints.tmp279)
+    del ints.tmp279
+    tmp59 += ints.tmp357
+    del ints.tmp357
+    tmp59 += ints.tmp322 * -1
+    del ints.tmp322
+    tmp61 = np.copy(ints.tmp276)
+    del ints.tmp276
+    tmp61 += ints.tmp51 * 2
+    del ints.tmp51
+    tmp61 += ints.tmp54
+    del ints.tmp54
+    tmp61 += v.bbb.xov
+    tmp67 = einsum(tmp1, (0, 1, 2, 3), r2.bab, (4, 1, 3), (0, 2, 4))
+    tmp67 += einsum(tmp65, (0, 1, 2, 3), r2.bab, (1, 4, 3), (4, 2, 0))
+    del tmp65
+    tmp67 += einsum(tmp21, (0, 1), tmp66, (0, 2, 3), (1, 3, 2))
+    del tmp21, tmp66
+    tmp64 = np.copy(ints.tmp24)
+    del ints.tmp24
+    tmp64 += ints.tmp281
+    del ints.tmp281
+    tmp64 += np.transpose(ints.tmp292, (1, 0, 2, 3))
+    del ints.tmp292
+    tmp64 += np.transpose(ints.tmp293, (1, 0, 2, 3)) * 2
+    del ints.tmp293
+    tmp64 += np.transpose(ints.tmp310, (1, 0, 2, 3))
+    del ints.tmp310
+    tmp64 += ints.tmp326
+    del ints.tmp326
+    tmp64 += ints.tmp327
+    del ints.tmp327
+    tmp64 += ints.tmp342
+    del ints.tmp342
+    tmp64 += ints.tmp350
+    del ints.tmp350
+    tmp64 += ints.tmp352 * 2
+    del ints.tmp352
+    tmp64 += np.transpose(ints.tmp358, (1, 0, 2, 3))
+    del ints.tmp358
+    tmp64 += ints.tmp4
+    del ints.tmp4
+    tmp64 += ints.tmp284 * -1
+    del ints.tmp284
+    tmp64 += np.transpose(ints.tmp289, (1, 0, 2, 3)) * -1
+    del ints.tmp289
+    tmp64 += ints.tmp291 * -1
+    del ints.tmp291
+    tmp64 += ints.tmp317 * -1
+    del ints.tmp317
+    tmp64 += ints.tmp325 * -1
+    del ints.tmp325
+    tmp64 += ints.tmp344 * -1
+    del ints.tmp344
+    tmp64 += ints.tmp351 * -1
+    del ints.tmp351
+    tmp64 += ints.tmp354 * -1
+    del ints.tmp354
+    tmp64 += ints.tmp364 * -1
+    del ints.tmp364
+    tmp64 += np.transpose(ints.tmp367, (1, 0, 2, 3)) * -1
+    del ints.tmp367
+    tmp60 = np.copy(ints.tmp210)
+    tmp60 += ints.tmp214
+    tmp60 += ints.tmp249
+    tmp60 += np.transpose(ints.tmp252, (1, 0, 2, 3))
+    tmp60 += np.transpose(ints.tmp264, (0, 1, 3, 2))
+    tmp44 = np.copy(ints.tmp206)
+    del ints.tmp206
+    tmp44 += ints.tmp262
+    del ints.tmp262
+    tmp44 += ints.tmp236 * -1
+    del ints.tmp236
+    tmp38 = np.copy(np.transpose(ints.tmp124, (1, 0))) * 2
+    del ints.tmp124
+    tmp38 += np.transpose(ints.tmp126, (1, 0))
+    del ints.tmp126
+    tmp38 += ints.tmp70
+    del ints.tmp70
+    tmp38 += f.aa.vv * -1
+    tmp38 += np.transpose(ints.tmp67, (1, 0)) * -1
+    del ints.tmp67
+    tmp38 += np.transpose(ints.tmp72, (1, 0)) * -1
+    del ints.tmp72
+    tmp38 += tmp37
+    del tmp37
+    tmp43 = np.copy(ints.tmp116) * 2
+    del ints.tmp116
+    tmp43 += ints.tmp117
+    del ints.tmp117
+    tmp43 += ints.tmp137 * 2
+    del ints.tmp137
+    tmp43 += ints.tmp139
+    del ints.tmp139
+    tmp43 += ints.tmp144
+    del ints.tmp144
+    tmp43 += ints.tmp145
+    del ints.tmp145
+    tmp43 += ints.tmp166
+    del ints.tmp166
+    tmp43 += ints.tmp170
+    del ints.tmp170
+    tmp43 += ints.tmp177 * 2
+    del ints.tmp177
+    tmp43 += ints.tmp178
+    del ints.tmp178
+    tmp43 += ints.tmp185 * 2
+    del ints.tmp185
+    tmp43 += ints.tmp186
+    del ints.tmp186
+    tmp43 += ints.tmp201
+    del ints.tmp201
+    tmp43 += ints.tmp202
+    del ints.tmp202
+    tmp43 += ints.tmp78 * 2
+    del ints.tmp78
+    tmp43 += ints.tmp81
+    del ints.tmp81
+    tmp43 += ints.tmp98
+    del ints.tmp98
+    tmp43 += f.aa.ov * -1
+    tmp43 += ints.tmp101 * -2
+    del ints.tmp101
+    tmp43 += ints.tmp102 * -1
+    del ints.tmp102
+    tmp43 += ints.tmp138 * -2
+    del ints.tmp138
+    tmp43 += ints.tmp140 * -1
+    del ints.tmp140
+    tmp43 += ints.tmp141 * -2
+    del ints.tmp141
+    tmp43 += ints.tmp142 * -1
+    del ints.tmp142
+    tmp43 += ints.tmp143 * -1
+    del ints.tmp143
+    tmp43 += ints.tmp14 * -1
+    del ints.tmp14
+    tmp43 += ints.tmp19 * -1
+    del ints.tmp19
+    tmp43 += ints.tmp200 * -1
+    del ints.tmp200
+    tmp43 += ints.tmp61 * -1
+    del ints.tmp61
+    tmp43 += ints.tmp79 * -1
+    del ints.tmp79
+    tmp43 += ints.tmp80 * -1
+    del ints.tmp80
+    tmp43 += ints.tmp82 * -1
+    del ints.tmp82
+    tmp46 = np.copy(ints.tmp210)
+    del ints.tmp210
+    tmp46 += ints.tmp214
+    del ints.tmp214
+    tmp46 += ints.tmp249
+    del ints.tmp249
+    tmp46 += np.transpose(ints.tmp252, (1, 0, 2, 3))
+    del ints.tmp252
+    tmp46 += np.transpose(ints.tmp264, (0, 1, 3, 2))
+    del ints.tmp264
+    tmp50 = np.copy(ints.tmp29)
+    del ints.tmp29
+    tmp50 += ints.tmp69
+    del ints.tmp69
+    tmp50 += v.baa.xov
+    tmp50 += ints.tmp26 * 2
+    del ints.tmp26
+    tmp45 = np.copy(ints.tmp128) * 2
+    del ints.tmp128
+    tmp45 += ints.tmp168
+    del ints.tmp168
+    tmp45 += ints.tmp74
+    del ints.tmp74
+    tmp51 = np.copy(ints.tmp208)
+    del ints.tmp208
+    tmp51 += np.transpose(ints.tmp219, (0, 2, 1, 3))
+    del ints.tmp219
+    tmp51 += np.transpose(ints.tmp220, (0, 2, 1, 3)) * 2
+    del ints.tmp220
+    tmp51 += np.transpose(ints.tmp228, (0, 2, 1, 3))
+    del ints.tmp228
+    tmp51 += ints.tmp242
+    del ints.tmp242
+    tmp51 += ints.tmp243
+    del ints.tmp243
+    tmp51 += ints.tmp248
+    del ints.tmp248
+    tmp51 += ints.tmp256
+    del ints.tmp256
+    tmp51 += ints.tmp258 * 2
+    del ints.tmp258
+    tmp51 += np.transpose(ints.tmp263, (0, 2, 1, 3))
+    del ints.tmp263
+    tmp51 += ints.tmp39
+    tmp51 += ints.tmp49
+    tmp51 += ints.tmp212 * -1
+    del ints.tmp212
+    tmp51 += np.transpose(ints.tmp216, (0, 2, 1, 3)) * -1
+    del ints.tmp216
+    tmp51 += ints.tmp218 * -1
+    del ints.tmp218
+    tmp51 += ints.tmp233 * -1
+    del ints.tmp233
+    tmp51 += ints.tmp241 * -1
+    del ints.tmp241
+    tmp51 += ints.tmp251 * -1
+    del ints.tmp251
+    tmp51 += ints.tmp257 * -1
+    del ints.tmp257
+    tmp51 += ints.tmp260 * -1
+    del ints.tmp260
+    tmp51 += ints.tmp268 * -1
+    del ints.tmp268
+    tmp51 += np.transpose(ints.tmp269, (0, 2, 1, 3)) * -1
+    del ints.tmp269
+    tmp54 = einsum(r2.aba, (0, 1, 2), tmp24, (3, 4, 0, 2), (3, 4, 1))
+    del tmp24
+    tmp54 += einsum(r2.aba, (0, 1, 2), tmp52, (3, 4, 1, 2), (0, 3, 4))
+    del tmp52
+    tmp54 += einsum(tmp53, (0, 1, 2), tmp49, (0, 3), (1, 2, 3))
+    del tmp53
+    tmp42 = np.copy(ints.tmp152)
+    del ints.tmp152
+    tmp42 += np.transpose(ints.tmp161, (2, 0, 1, 3))
+    del ints.tmp161
+    tmp42 += np.transpose(ints.tmp163, (2, 0, 1, 3))
+    del ints.tmp163
+    tmp42 += np.transpose(ints.tmp95, (2, 0, 1, 3))
+    del ints.tmp95
+    tmp42 += np.transpose(ints.tmp159, (2, 0, 1, 3)) * -1
+    del ints.tmp159
+    tmp42 += np.transpose(ints.tmp90, (2, 0, 1, 3)) * -1
+    del ints.tmp90
+    tmp35 = np.copy(tmp20) * 2
+    del tmp20
+    tmp35 += np.transpose(tmp23, (1, 0, 2))
+    del tmp23
+    tmp35 += tmp30
+    del tmp30
+    tmp35 += tmp32
+    del tmp32
+    tmp35 += np.transpose(tmp34, (1, 0, 2))
+    del tmp34
+    tmp36 = np.copy(np.transpose(ints.tmp85, (0, 2, 1, 3)))
+    del ints.tmp85
+    tmp36 += np.transpose(ints.tmp93, (0, 2, 1, 3))
+    del ints.tmp93
+    tmp36 += ints.tmp103 * -1
+    del ints.tmp103
+    tmp41 = np.copy(tmp39)
+    del tmp39
+    tmp41 += tmp40 * -0.5
+    del tmp40
+    tmp19 = np.copy(tmp8)
+    del tmp8
+    tmp19 += np.transpose(tmp10, (1, 0, 2)) * -2
+    del tmp10
+    tmp19 += np.transpose(tmp14, (1, 0, 2))
+    del tmp14
+    tmp19 += np.transpose(tmp16, (1, 0, 2)) * -2
+    del tmp16
+    tmp19 += tmp18
+    del tmp18
+    tmp5 = np.copy(ints.tmp37)
+    del ints.tmp37
+    tmp5 += ints.tmp47 * -1
+    del ints.tmp47
+    tmp6 = np.copy(ints.tmp39)
+    del ints.tmp39
+    tmp6 += ints.tmp49
+    del ints.tmp49
+    tmp0 = np.copy(ints.tmp22)
+    del ints.tmp22
+    tmp0 += ints.tmp2 * -1
+    del ints.tmp2
+    r2new.bbb = np.copy(tmp85) * -1
+    r2new.bbb += np.transpose(tmp85, (1, 0, 2))
+    del tmp85
+    r2new.bbb += tmp94
+    r2new.bbb += np.transpose(tmp94, (1, 0, 2)) * -1
+    del tmp94
+    r2new.bbb += einsum(r2.bbb, (0, 1, 2), tmp95, (3, 4, 0, 1), (3, 4, 2)) * 2
+    del tmp95
+    r2new.bbb += einsum(r2.bbb, (0, 1, 2), tmp63, (2, 3), (0, 1, 3)) * -2
+    r2new.bbb += einsum(tmp57, (0,), t2.bbbb, (1, 2, 3, 0), (1, 2, 3)) * -4
+    r2new.bbb += einsum(tmp96, (0, 1, 2, 3), r1.b, (2,), (1, 0, 3)) * -2
+    del tmp96
+    r2new.bbb += einsum(r1.b, (0,), tmp69, (1, 2), (0, 1, 2)) * -1
+    r2new.bbb += einsum(tmp69, (0, 1), r1.b, (2,), (0, 2, 1))
+    r2new.bab = einsum(ints.tmp295, (0, 1, 2, 3), r2.aaa, (4, 0, 2), (1, 4, 3)) * 2
+    del ints.tmp295
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp58, (3, 0, 4, 2), (3, 1, 4)) * -1
+    del tmp58
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp59, (3, 1, 4, 2), (0, 3, 4)) * -1
+    del tmp59
+    r2new.bab += einsum(tmp60, (0, 1, 2, 3), r2.bab, (3, 1, 4), (2, 0, 4))
+    del tmp60
+    r2new.bab += einsum(tmp27, (0, 1), tmp61, (0, 2, 3), (2, 1, 3)) * -2
+    del tmp27, tmp61
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp63, (2, 3), (0, 1, 3)) * -1
+    del tmp63
+    r2new.bab += einsum(tmp64, (0, 1, 2, 3), r1.a, (1,), (2, 0, 3))
+    del tmp64
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp7, (0, 3), (3, 1, 2)) * -1
+    r2new.bab += einsum(tmp4, (0, 1), r2.bab, (2, 0, 3), (2, 1, 3)) * -1
+    r2new.bab += einsum(t1.bb, (0, 1), tmp67, (2, 0, 3), (3, 2, 1))
+    del tmp67
+    r2new.bab += einsum(t2.abab, (0, 1, 2, 3), tmp68, (2,), (1, 0, 3)) * -1
+    del tmp68
+    r2new.bab += einsum(tmp69, (0, 1), r1.a, (2,), (0, 2, 1))
+    del tmp69
+    r2new.aba = einsum(ints.tmp132, (0, 1, 2, 3), r2.bbb, (4, 1, 3), (0, 4, 2)) * 2
+    del ints.tmp132
+    r2new.aba += einsum(tmp44, (0, 1, 2, 3), r2.aba, (4, 1, 3), (4, 0, 2)) * -1
+    del tmp44
+    r2new.aba += einsum(tmp45, (0, 1, 2, 3), r2.aba, (1, 4, 3), (0, 4, 2)) * -1
+    del tmp45
+    r2new.aba += einsum(tmp46, (0, 1, 2, 3), r2.aba, (1, 3, 4), (0, 2, 4))
+    del tmp46
+    r2new.aba += einsum(tmp50, (0, 1, 2), tmp49, (0, 3), (1, 3, 2)) * -1
+    del tmp49, tmp50
+    r2new.aba += einsum(tmp38, (0, 1), r2.aba, (2, 3, 0), (2, 3, 1)) * -1
+    r2new.aba += einsum(tmp51, (0, 1, 2, 3), r1.b, (2,), (0, 1, 3))
+    del tmp51
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp7, (1, 3), (0, 3, 2)) * -1
+    r2new.aba += einsum(tmp4, (0, 1), r2.aba, (0, 2, 3), (1, 2, 3)) * -1
+    r2new.aba += einsum(tmp54, (0, 1, 2), t1.aa, (1, 3), (0, 2, 3))
+    del tmp54
+    r2new.aba += einsum(t2.abab, (0, 1, 2, 3), tmp57, (3,), (0, 1, 2)) * -2
+    del tmp57
+    r2new.aba += einsum(r1.b, (0,), tmp43, (1, 2), (1, 0, 2))
+    r2new.aaa = np.copy(tmp19)
+    r2new.aaa += np.transpose(tmp19, (1, 0, 2)) * -1
+    del tmp19
+    r2new.aaa += tmp35 * -1
+    r2new.aaa += np.transpose(tmp35, (1, 0, 2))
+    del tmp35
+    r2new.aaa += einsum(tmp36, (0, 1, 2, 3), r2.aaa, (3, 1, 4), (0, 2, 4)) * -2
+    del tmp36
+    r2new.aaa += einsum(tmp38, (0, 1), r2.aaa, (2, 3, 0), (2, 3, 1)) * -2
+    del tmp38
+    r2new.aaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp41, (3,), (0, 1, 2)) * -4
+    del tmp41
+    r2new.aaa += einsum(r1.a, (0,), tmp42, (0, 1, 2, 3), (2, 1, 3)) * -2
+    del tmp42
+    r2new.aaa += einsum(r1.a, (0,), tmp43, (1, 2), (0, 1, 2)) * -1
+    r2new.aaa += einsum(r1.a, (0,), tmp43, (1, 2), (1, 0, 2))
+    del tmp43
+    r1new.b = einsum(r2.bbb, (0, 1, 2), tmp5, (3, 0, 1, 2), (3,)) * -2
+    del tmp5
+    r1new.b += einsum(r2.aba, (0, 1, 2), tmp6, (0, 3, 1, 2), (3,))
+    del tmp6
+    r1new.b += einsum(tmp2, (0, 1), r2.bbb, (2, 0, 1), (2,)) * 2
+    r1new.b += einsum(tmp3, (0, 1), r2.aba, (0, 2, 1), (2,)) * -1
+    r1new.b += einsum(tmp7, (0, 1), r1.b, (0,), (1,)) * -1
+    del tmp7
+    r1new.a = einsum(r2.aaa, (0, 1, 2), tmp0, (3, 0, 1, 2), (3,)) * 2
+    del tmp0
+    r1new.a += einsum(tmp1, (0, 1, 2, 3), r2.bab, (2, 1, 3), (0,))
+    del tmp1
+    r1new.a += einsum(tmp2, (0, 1), r2.bab, (0, 2, 1), (2,)) * -1
+    del tmp2
+    r1new.a += einsum(tmp3, (0, 1), r2.aaa, (2, 0, 1), (2,)) * 2
+    del tmp3
+    r1new.a += einsum(tmp4, (0, 1), r1.a, (0,), (1,)) * -1
+    del tmp4
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCCSD.hbar_matvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:47:58.492820.

+

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

+

tmp100 : array +tmp105 : array +tmp11 : array +tmp115 : array +tmp117 : array +tmp119 : array +tmp12 : array +tmp122 : array +tmp124 : array +tmp126 : array +tmp13 : array +tmp130 : array +tmp135 : array +tmp136 : array +tmp137 : array +tmp138 : array +tmp147 : array +tmp148 : array +tmp149 : array +tmp15 : array +tmp156 : array +tmp157 : array +tmp159 : array +tmp160 : array +tmp162 : array +tmp167 : array +tmp17 : array +tmp171 : array +tmp172 : array +tmp173 : array +tmp175 : array +tmp177 : array +tmp178 : array +tmp179 : array +tmp18 : array +tmp180 : array +tmp181 : array +tmp183 : array +tmp184 : array +tmp185 : array +tmp186 : array +tmp187 : array +tmp19 : array +tmp190 : array +tmp193 : array +tmp195 : array +tmp197 : array +tmp2 : array +tmp20 : array +tmp205 : array +tmp206 : array +tmp207 : array +tmp218 : array +tmp22 : array +tmp221 : array +tmp227 : array +tmp23 : array +tmp237 : array +tmp239 : array +tmp243 : array +tmp245 : array +tmp250 : array +tmp256 : array +tmp26 : array +tmp265 : array +tmp266 : array +tmp267 : array +tmp276 : array +tmp279 : array +tmp29 : array +tmp290 : array +tmp293 : array +tmp298 : array +tmp299 : array +tmp30 : array +tmp300 : array +tmp301 : array +tmp302 : array +tmp303 : array +tmp305 : array +tmp315 : array +tmp316 : array +tmp318 : array +tmp319 : array +tmp32 : array +tmp321 : array +tmp322 : array +tmp323 : array +tmp325 : array +tmp327 : array +tmp328 : array +tmp33 : array +tmp330 : array +tmp331 : array +tmp332 : array +tmp333 : array +tmp335 : array +tmp336 : array +tmp337 : array +tmp341 : array +tmp342 : array +tmp343 : array +tmp344 : array +tmp345 : array +tmp346 : array +tmp347 : array +tmp353 : array +tmp354 : array +tmp355 : array +tmp356 : array +tmp357 : array +tmp360 : array +tmp364 : array +tmp365 : array +tmp366 : array +tmp367 : array +tmp368 : array +tmp370 : array +tmp371 : array +tmp374 : array +tmp375 : array +tmp376 : array +tmp380 : array +tmp383 : array +tmp387 : array +tmp388 : array +tmp389 : array +tmp390 : array +tmp391 : array +tmp392 : array +tmp393 : array +tmp396 : array +tmp4 : array +tmp40 : array +tmp411 : array +tmp413 : array +tmp415 : array +tmp42 : array +tmp425 : array +tmp430 : array +tmp44 : array +tmp45 : array +tmp453 : array +tmp46 : array +tmp469 : array +tmp47 : array +tmp471 : array +tmp481 : array +tmp485 : array +tmp51 : array +tmp56 : array +tmp57 : array +tmp59 : array +tmp60 : array +tmp67 : array +tmp68 : array +tmp7 : array +tmp78 : array +tmp8 : array +tmp80 : array +tmp82 : array +tmp86 : array +tmp89 : array +tmp9 : array +tmp94 : array +tmp95 : array +tmp96 : array +tmp97 : array +tmp98 : array +tmp99 : array

+ +
+ Source code in ebcc/codegen/UDFCCSD.py +
3736
+3737
+3738
+3739
+3740
+3741
+3742
+3743
+3744
+3745
+3746
+3747
+3748
+3749
+3750
+3751
+3752
+3753
+3754
+3755
+3756
+3757
+3758
+3759
+3760
+3761
+3762
+3763
+3764
+3765
+3766
+3767
+3768
+3769
+3770
+3771
+3772
+3773
+3774
+3775
+3776
+3777
+3778
+3779
+3780
+3781
+3782
+3783
+3784
+3785
+3786
+3787
+3788
+3789
+3790
+3791
+3792
+3793
+3794
+3795
+3796
+3797
+3798
+3799
+3800
+3801
+3802
+3803
+3804
+3805
+3806
+3807
+3808
+3809
+3810
+3811
+3812
+3813
+3814
+3815
+3816
+3817
+3818
+3819
+3820
+3821
+3822
+3823
+3824
+3825
+3826
+3827
+3828
+3829
+3830
+3831
+3832
+3833
+3834
+3835
+3836
+3837
+3838
+3839
+3840
+3841
+3842
+3843
+3844
+3845
+3846
+3847
+3848
+3849
+3850
+3851
+3852
+3853
+3854
+3855
+3856
+3857
+3858
+3859
+3860
+3861
+3862
+3863
+3864
+3865
+3866
+3867
+3868
+3869
+3870
+3871
+3872
+3873
+3874
+3875
+3876
+3877
+3878
+3879
+3880
+3881
+3882
+3883
+3884
+3885
+3886
+3887
+3888
+3889
+3890
+3891
+3892
+3893
+3894
+3895
+3896
+3897
+3898
+3899
+3900
+3901
+3902
+3903
+3904
+3905
+3906
+3907
+3908
+3909
+3910
+3911
+3912
+3913
+3914
+3915
+3916
+3917
+3918
+3919
+3920
+3921
+3922
+3923
+3924
+3925
+3926
+3927
+3928
+3929
+3930
+3931
+3932
+3933
+3934
+3935
+3936
+3937
+3938
+3939
+3940
+3941
+3942
+3943
+3944
+3945
+3946
+3947
+3948
+3949
+3950
+3951
+3952
+3953
+3954
+3955
+3956
+3957
+3958
+3959
+3960
+3961
+3962
+3963
+3964
+3965
+3966
+3967
+3968
+3969
+3970
+3971
+3972
+3973
+3974
+3975
+3976
+3977
+3978
+3979
+3980
+3981
+3982
+3983
+3984
+3985
+3986
+3987
+3988
+3989
+3990
+3991
+3992
+3993
+3994
+3995
+3996
+3997
+3998
+3999
+4000
+4001
+4002
+4003
+4004
+4005
+4006
+4007
+4008
+4009
+4010
+4011
+4012
+4013
+4014
+4015
+4016
+4017
+4018
+4019
+4020
+4021
+4022
+4023
+4024
+4025
+4026
+4027
+4028
+4029
+4030
+4031
+4032
+4033
+4034
+4035
+4036
+4037
+4038
+4039
+4040
+4041
+4042
+4043
+4044
+4045
+4046
+4047
+4048
+4049
+4050
+4051
+4052
+4053
+4054
+4055
+4056
+4057
+4058
+4059
+4060
+4061
+4062
+4063
+4064
+4065
+4066
+4067
+4068
+4069
+4070
+4071
+4072
+4073
+4074
+4075
+4076
+4077
+4078
+4079
+4080
+4081
+4082
+4083
+4084
+4085
+4086
+4087
+4088
+4089
+4090
+4091
+4092
+4093
+4094
+4095
+4096
+4097
+4098
+4099
+4100
def hbar_matvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:47:58.492820.
+
+    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
+    -------
+    tmp100 : array
+    tmp105 : array
+    tmp11 : array
+    tmp115 : array
+    tmp117 : array
+    tmp119 : array
+    tmp12 : array
+    tmp122 : array
+    tmp124 : array
+    tmp126 : array
+    tmp13 : array
+    tmp130 : array
+    tmp135 : array
+    tmp136 : array
+    tmp137 : array
+    tmp138 : array
+    tmp147 : array
+    tmp148 : array
+    tmp149 : array
+    tmp15 : array
+    tmp156 : array
+    tmp157 : array
+    tmp159 : array
+    tmp160 : array
+    tmp162 : array
+    tmp167 : array
+    tmp17 : array
+    tmp171 : array
+    tmp172 : array
+    tmp173 : array
+    tmp175 : array
+    tmp177 : array
+    tmp178 : array
+    tmp179 : array
+    tmp18 : array
+    tmp180 : array
+    tmp181 : array
+    tmp183 : array
+    tmp184 : array
+    tmp185 : array
+    tmp186 : array
+    tmp187 : array
+    tmp19 : array
+    tmp190 : array
+    tmp193 : array
+    tmp195 : array
+    tmp197 : array
+    tmp2 : array
+    tmp20 : array
+    tmp205 : array
+    tmp206 : array
+    tmp207 : array
+    tmp218 : array
+    tmp22 : array
+    tmp221 : array
+    tmp227 : array
+    tmp23 : array
+    tmp237 : array
+    tmp239 : array
+    tmp243 : array
+    tmp245 : array
+    tmp250 : array
+    tmp256 : array
+    tmp26 : array
+    tmp265 : array
+    tmp266 : array
+    tmp267 : array
+    tmp276 : array
+    tmp279 : array
+    tmp29 : array
+    tmp290 : array
+    tmp293 : array
+    tmp298 : array
+    tmp299 : array
+    tmp30 : array
+    tmp300 : array
+    tmp301 : array
+    tmp302 : array
+    tmp303 : array
+    tmp305 : array
+    tmp315 : array
+    tmp316 : array
+    tmp318 : array
+    tmp319 : array
+    tmp32 : array
+    tmp321 : array
+    tmp322 : array
+    tmp323 : array
+    tmp325 : array
+    tmp327 : array
+    tmp328 : array
+    tmp33 : array
+    tmp330 : array
+    tmp331 : array
+    tmp332 : array
+    tmp333 : array
+    tmp335 : array
+    tmp336 : array
+    tmp337 : array
+    tmp341 : array
+    tmp342 : array
+    tmp343 : array
+    tmp344 : array
+    tmp345 : array
+    tmp346 : array
+    tmp347 : array
+    tmp353 : array
+    tmp354 : array
+    tmp355 : array
+    tmp356 : array
+    tmp357 : array
+    tmp360 : array
+    tmp364 : array
+    tmp365 : array
+    tmp366 : array
+    tmp367 : array
+    tmp368 : array
+    tmp370 : array
+    tmp371 : array
+    tmp374 : array
+    tmp375 : array
+    tmp376 : array
+    tmp380 : array
+    tmp383 : array
+    tmp387 : array
+    tmp388 : array
+    tmp389 : array
+    tmp390 : array
+    tmp391 : array
+    tmp392 : array
+    tmp393 : array
+    tmp396 : array
+    tmp4 : array
+    tmp40 : array
+    tmp411 : array
+    tmp413 : array
+    tmp415 : array
+    tmp42 : array
+    tmp425 : array
+    tmp430 : array
+    tmp44 : array
+    tmp45 : array
+    tmp453 : array
+    tmp46 : array
+    tmp469 : array
+    tmp47 : array
+    tmp471 : array
+    tmp481 : array
+    tmp485 : array
+    tmp51 : array
+    tmp56 : array
+    tmp57 : array
+    tmp59 : array
+    tmp60 : array
+    tmp67 : array
+    tmp68 : array
+    tmp7 : array
+    tmp78 : array
+    tmp8 : array
+    tmp80 : array
+    tmp82 : array
+    tmp86 : array
+    tmp89 : array
+    tmp9 : array
+    tmp94 : array
+    tmp95 : array
+    tmp96 : array
+    tmp97 : array
+    tmp98 : array
+    tmp99 : array
+    """
+
+    tmp6 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (1, 2), (0,))
+    tmp10 = einsum(t1.bb, (0, 1), v.bbb.xov, (2, 0, 1), (2,))
+    tmp17 = einsum(t1.bb, (0, 1), v.bbb.xov, (2, 3, 1), (2, 0, 3))
+    tmp12 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (3, 2), (0, 3, 1))
+    tmp22 = einsum(tmp6, (0,), v.bbb.xov, (0, 1, 2), (1, 2))
+    tmp19 = einsum(v.bbb.xov, (0, 1, 2), tmp10, (0,), (1, 2))
+    tmp18 = einsum(tmp17, (0, 1, 2), v.bbb.xov, (0, 1, 3), (2, 3))
+    tmp59 = einsum(v.baa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (0, 3, 4))
+    tmp56 = einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (0, 3, 4))
+    tmp20 = einsum(v.baa.xov, (0, 1, 2), tmp10, (0,), (1, 2))
+    tmp15 = einsum(v.baa.xov, (0, 1, 2), tmp6, (0,), (1, 2))
+    tmp13 = einsum(v.baa.xov, (0, 1, 2), tmp12, (0, 1, 3), (3, 2))
+    tmp32 = einsum(t2.abab, (0, 1, 2, 3), v.bbb.xov, (4, 1, 3), (4, 0, 2))
+    tmp29 = einsum(t2.aaaa, (0, 1, 2, 3), v.baa.xov, (4, 1, 3), (4, 0, 2))
+    tmp45 = einsum(t1.bb, (0, 1), v.bbb.xvv, (2, 3, 1), (2, 0, 3))
+    tmp343 = einsum(v.bbb.xov, (0, 1, 2), tmp17, (0, 3, 4), (3, 1, 4, 2))
+    tmp360 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp40 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 2, 4))
+    tmp51 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp23 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp2 = einsum(v.baa.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp302 = einsum(tmp6, (0,), v.bbb.xoo, (0, 1, 2), (1, 2))
+    tmp301 = einsum(v.bbb.xoo, (0, 1, 2), tmp10, (0,), (1, 2))
+    tmp300 = einsum(v.bbb.xoo, (0, 1, 2), tmp17, (0, 2, 3), (1, 3))
+    tmp303 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp337 = einsum(t1.bb, (0, 1), tmp22, (2, 1), (0, 2))
+    tmp336 = einsum(t1.bb, (0, 1), tmp19, (2, 1), (0, 2))
+    tmp335 = einsum(tmp18, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp325 = einsum(tmp59, (0, 1, 2), v.bbb.xov, (0, 3, 2), (1, 3))
+    tmp323 = einsum(v.bbb.xov, (0, 1, 2), tmp56, (0, 3, 2), (3, 1))
+    tmp327 = einsum(v.baa.xov, (0, 1, 2), tmp17, (0, 3, 4), (1, 3, 4, 2))
+    tmp316 = einsum(t1.bb, (0, 1), f.bb.ov, (2, 1), (2, 0))
+    tmp47 = einsum(tmp6, (0,), v.bbb.xvv, (0, 1, 2), (1, 2))
+    tmp44 = einsum(v.bbb.xvv, (0, 1, 2), tmp10, (0,), (1, 2))
+    tmp26 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp42 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp8 = einsum(t1.aa, (0, 1), v.baa.xvv, (2, 3, 1), (2, 0, 3))
+    tmp179 = einsum(tmp12, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 2, 3, 4))
+    tmp136 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp4 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp197 = einsum(t1.aa, (0, 1), tmp20, (2, 1), (0, 2))
+    tmp195 = einsum(tmp15, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp193 = einsum(t1.aa, (0, 1), tmp13, (2, 1), (0, 2))
+    tmp11 = einsum(v.baa.xvv, (0, 1, 2), tmp10, (0,), (1, 2))
+    tmp7 = einsum(tmp6, (0,), v.baa.xvv, (0, 1, 2), (1, 2))
+    tmp175 = einsum(tmp32, (0, 1, 2), v.baa.xov, (0, 3, 2), (1, 3))
+    tmp173 = einsum(tmp29, (0, 1, 2), v.baa.xov, (0, 3, 2), (1, 3))
+    tmp177 = einsum(v.baa.xov, (0, 1, 2), tmp12, (0, 3, 4), (3, 1, 4, 2))
+    tmp157 = einsum(f.aa.ov, (0, 1), t1.aa, (2, 1), (0, 2))
+    tmp126 = einsum(v.baa.xoo, (0, 1, 2), tmp10, (0,), (1, 2))
+    del tmp10
+    tmp124 = einsum(tmp6, (0,), v.baa.xoo, (0, 1, 2), (1, 2))
+    del tmp6
+    tmp122 = einsum(v.baa.xoo, (0, 1, 2), tmp12, (0, 2, 3), (1, 3))
+    tmp130 = einsum(v.baa.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp485 = einsum(tmp45, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 4, 2))
+    tmp481 = einsum(t2.bbbb, (0, 1, 2, 3), tmp343, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp471 = einsum(tmp45, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp469 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp453 = einsum(t2.bbbb, (0, 1, 2, 3), tmp360, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp430 = einsum(v.bbb.xov, (0, 1, 2), tmp59, (0, 3, 4), (3, 1, 4, 2))
+    tmp425 = einsum(v.bbb.xov, (0, 1, 2), tmp56, (0, 3, 4), (3, 1, 4, 2))
+    tmp415 = einsum(tmp59, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp413 = einsum(tmp40, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 2), (4, 5, 3, 1))
+    tmp411 = einsum(v.bbb.xvv, (0, 1, 2), tmp56, (0, 3, 4), (3, 4, 1, 2))
+    tmp396 = einsum(v.baa.xov, (0, 1, 2), tmp56, (0, 3, 4), (1, 3, 2, 4))
+    tmp393 = einsum(v.baa.xov, (0, 1, 2), tmp59, (0, 3, 4), (1, 3, 2, 4))
+    tmp392 = einsum(tmp22, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3))
+    tmp391 = einsum(t2.abab, (0, 1, 2, 3), tmp20, (0, 2), (1, 3))
+    tmp390 = einsum(t2.bbbb, (0, 1, 2, 3), tmp19, (1, 3), (0, 2))
+    tmp389 = einsum(t2.bbbb, (0, 1, 2, 3), tmp18, (1, 3), (0, 2))
+    tmp388 = einsum(tmp15, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp387 = einsum(t2.abab, (0, 1, 2, 3), tmp13, (0, 2), (1, 3))
+    tmp383 = einsum(t2.bbbb, (0, 1, 2, 3), tmp51, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp380 = einsum(tmp23, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 4, 2, 5))
+    tmp376 = einsum(v.baa.xvv, (0, 1, 2), tmp56, (0, 3, 4), (3, 1, 2, 4))
+    tmp375 = einsum(tmp2, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 3, 1, 5))
+    tmp374 = einsum(v.baa.xvv, (0, 1, 2), tmp59, (0, 3, 4), (3, 1, 2, 4))
+    tmp371 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.ov, (1, 3), (0, 2))
+    tmp370 = einsum(f.aa.ov, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp368 = einsum(t1.bb, (0, 1), tmp302, (2, 0), (2, 1))
+    tmp367 = einsum(t1.bb, (0, 1), tmp301, (2, 0), (2, 1))
+    tmp366 = einsum(t1.bb, (0, 1), tmp300, (2, 0), (2, 1))
+    tmp365 = einsum(tmp303, (0, 1, 2, 3), t2.abab, (0, 2, 3, 4), (1, 4))
+    tmp364 = einsum(t2.bbbb, (0, 1, 2, 3), tmp360, (4, 0, 1, 3), (4, 2))
+    tmp357 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp356 = einsum(t1.bb, (0, 1), f.bb.oo, (2, 0), (2, 1))
+    tmp355 = einsum(t1.bb, (0, 1), tmp337, (2, 0), (2, 1))
+    tmp354 = einsum(t1.bb, (0, 1), tmp336, (2, 0), (2, 1))
+    tmp353 = einsum(t1.bb, (0, 1), tmp335, (2, 0), (2, 1))
+    tmp347 = einsum(t1.bb, (0, 1), tmp325, (2, 0), (2, 1))
+    tmp346 = einsum(t1.bb, (0, 1), tmp323, (2, 0), (2, 1))
+    tmp345 = einsum(tmp327, (0, 1, 2, 3), t2.abab, (0, 2, 3, 4), (1, 4))
+    tmp344 = einsum(t2.bbbb, (0, 1, 2, 3), tmp343, (4, 1, 0, 3), (4, 2))
+    tmp342 = einsum(tmp17, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp341 = einsum(t1.bb, (0, 1), tmp316, (0, 2), (2, 1))
+    tmp333 = einsum(v.baa.xov, (0, 1, 2), tmp45, (0, 3, 4), (1, 3, 2, 4))
+    tmp332 = einsum(tmp47, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp331 = einsum(tmp17, (0, 1, 2), tmp45, (0, 2, 3), (1, 3))
+    tmp330 = einsum(tmp44, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp328 = einsum(tmp327, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 4, 3, 5))
+    tmp322 = einsum(v.bbb.xvv, (0, 1, 2), tmp59, (0, 3, 2), (3, 1))
+    tmp321 = einsum(tmp56, (0, 1, 2), v.bbb.xvv, (0, 3, 2), (1, 3)) * -1
+    tmp319 = einsum(tmp17, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp318 = einsum(v.baa.xvv, (0, 1, 2), tmp45, (0, 3, 4), (3, 1, 2, 4))
+    tmp315 = einsum(t1.bb, (0, 1), f.bb.vv, (2, 1), (0, 2))
+    tmp305 = einsum(tmp303, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 4, 3, 5))
+    tmp299 = einsum(v.bbb.xoo, (0, 1, 2), tmp45, (0, 2, 3), (1, 3))
+    tmp298 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp293 = einsum(tmp26, (0, 1, 2, 3), t2.abab, (0, 4, 5, 3), (4, 1, 5, 2))
+    tmp290 = einsum(t2.abab, (0, 1, 2, 3), tmp42, (0, 4, 5, 3), (1, 2, 4, 5))
+    tmp279 = einsum(tmp29, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp276 = einsum(tmp32, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp267 = einsum(tmp29, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp266 = einsum(t2.abab, (0, 1, 2, 3), tmp40, (1, 4, 3, 5), (0, 2, 5, 4))
+    tmp265 = einsum(tmp32, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp256 = einsum(v.bbb.xvv, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp250 = einsum(tmp12, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp245 = einsum(v.bbb.xov, (0, 1, 2), tmp8, (0, 3, 4), (3, 1, 4, 2))
+    tmp243 = einsum(t2.abab, (0, 1, 2, 3), tmp179, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp239 = einsum(v.bbb.xvv, (0, 1, 2), tmp8, (0, 3, 4), (3, 4, 1, 2))
+    tmp237 = einsum(v.bbb.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (3, 4, 1, 2))
+    tmp227 = einsum(t2.abab, (0, 1, 2, 3), tmp136, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp221 = einsum(tmp26, (0, 1, 2, 3), t2.abab, (4, 1, 2, 5), (4, 0, 5, 3))
+    tmp218 = einsum(tmp4, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 5, 3))
+    tmp207 = einsum(t1.aa, (0, 1), tmp197, (2, 0), (2, 1))
+    tmp206 = einsum(t1.aa, (0, 1), tmp195, (2, 0), (2, 1))
+    tmp205 = einsum(tmp193, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp190 = einsum(tmp8, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 4, 2))
+    tmp187 = einsum(t1.aa, (0, 1), tmp11, (2, 1), (0, 2))
+    tmp186 = einsum(tmp8, (0, 1, 2), tmp12, (0, 3, 1), (3, 2))
+    tmp185 = einsum(tmp7, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp184 = einsum(t1.aa, (0, 1), tmp175, (2, 0), (2, 1))
+    tmp183 = einsum(t1.aa, (0, 1), tmp173, (2, 0), (2, 1))
+    tmp181 = einsum(tmp177, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 5), (0, 4, 5, 3))
+    tmp180 = einsum(t2.abab, (0, 1, 2, 3), tmp179, (4, 0, 1, 3), (4, 2))
+    tmp178 = einsum(tmp177, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 3), (0, 4))
+    tmp172 = einsum(tmp32, (0, 1, 2), v.baa.xvv, (0, 3, 2), (1, 3))
+    tmp171 = einsum(tmp29, (0, 1, 2), v.baa.xvv, (0, 3, 2), (1, 3)) * -1
+    tmp167 = einsum(tmp12, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp162 = einsum(tmp8, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp160 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp159 = einsum(t1.aa, (0, 1), tmp157, (0, 2), (2, 1))
+    tmp156 = einsum(t1.aa, (0, 1), f.aa.vv, (2, 1), (0, 2))
+    tmp149 = einsum(t1.aa, (0, 1), tmp126, (2, 0), (2, 1))
+    tmp148 = einsum(t1.aa, (0, 1), tmp124, (2, 0), (2, 1))
+    tmp147 = einsum(t1.aa, (0, 1), tmp122, (2, 0), (2, 1))
+    tmp138 = einsum(tmp130, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 5), (0, 4, 5, 3))
+    tmp137 = einsum(t2.abab, (0, 1, 2, 3), tmp136, (4, 0, 1, 3), (4, 2))
+    tmp135 = einsum(tmp130, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 3), (0, 4))
+    tmp119 = einsum(tmp8, (0, 1, 2), v.baa.xoo, (0, 3, 1), (3, 2))
+    tmp117 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp115 = einsum(t1.aa, (0, 1), f.aa.oo, (2, 0), (2, 1))
+    tmp105 = einsum(tmp32, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp100 = einsum(tmp29, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp99 = einsum(tmp22, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp98 = einsum(t2.aaaa, (0, 1, 2, 3), tmp20, (1, 3), (0, 2))
+    tmp97 = einsum(tmp19, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp96 = einsum(tmp18, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp95 = einsum(tmp15, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp94 = einsum(tmp13, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3))
+    tmp89 = einsum(tmp51, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2))
+    tmp86 = einsum(tmp23, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 5, 2))
+    tmp82 = einsum(tmp32, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp80 = einsum(tmp2, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 2), (4, 5, 3, 1))
+    tmp78 = einsum(tmp29, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp68 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp67 = einsum(t2.aaaa, (0, 1, 2, 3), f.aa.ov, (1, 3), (0, 2))
+    tmp60 = einsum(v.bbb.xov, (0, 1, 2), tmp59, (0, 1, 3), (3, 2))
+    tmp57 = einsum(v.bbb.xov, (0, 1, 2), tmp56, (0, 1, 3), (3, 2))
+    tmp46 = einsum(tmp45, (0, 1, 2), v.bbb.xov, (0, 1, 3), (3, 2))
+    tmp33 = einsum(tmp32, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    tmp30 = einsum(tmp29, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    tmp9 = einsum(tmp8, (0, 1, 2), v.baa.xov, (0, 1, 3), (3, 2))
+
+    return {f"tmp100": tmp100, f"tmp105": tmp105, f"tmp11": tmp11, f"tmp115": tmp115, f"tmp117": tmp117, f"tmp119": tmp119, f"tmp12": tmp12, f"tmp122": tmp122, f"tmp124": tmp124, f"tmp126": tmp126, f"tmp13": tmp13, f"tmp130": tmp130, f"tmp135": tmp135, f"tmp136": tmp136, f"tmp137": tmp137, f"tmp138": tmp138, f"tmp147": tmp147, f"tmp148": tmp148, f"tmp149": tmp149, f"tmp15": tmp15, f"tmp156": tmp156, f"tmp157": tmp157, f"tmp159": tmp159, f"tmp160": tmp160, f"tmp162": tmp162, f"tmp167": tmp167, f"tmp17": tmp17, f"tmp171": tmp171, f"tmp172": tmp172, f"tmp173": tmp173, f"tmp175": tmp175, f"tmp177": tmp177, f"tmp178": tmp178, f"tmp179": tmp179, f"tmp18": tmp18, f"tmp180": tmp180, f"tmp181": tmp181, f"tmp183": tmp183, f"tmp184": tmp184, f"tmp185": tmp185, f"tmp186": tmp186, f"tmp187": tmp187, f"tmp19": tmp19, f"tmp190": tmp190, f"tmp193": tmp193, f"tmp195": tmp195, f"tmp197": tmp197, f"tmp2": tmp2, f"tmp20": tmp20, f"tmp205": tmp205, f"tmp206": tmp206, f"tmp207": tmp207, f"tmp218": tmp218, f"tmp22": tmp22, f"tmp221": tmp221, f"tmp227": tmp227, f"tmp23": tmp23, f"tmp237": tmp237, f"tmp239": tmp239, f"tmp243": tmp243, f"tmp245": tmp245, f"tmp250": tmp250, f"tmp256": tmp256, f"tmp26": tmp26, f"tmp265": tmp265, f"tmp266": tmp266, f"tmp267": tmp267, f"tmp276": tmp276, f"tmp279": tmp279, f"tmp29": tmp29, f"tmp290": tmp290, f"tmp293": tmp293, f"tmp298": tmp298, f"tmp299": tmp299, f"tmp30": tmp30, f"tmp300": tmp300, f"tmp301": tmp301, f"tmp302": tmp302, f"tmp303": tmp303, f"tmp305": tmp305, f"tmp315": tmp315, f"tmp316": tmp316, f"tmp318": tmp318, f"tmp319": tmp319, f"tmp32": tmp32, f"tmp321": tmp321, f"tmp322": tmp322, f"tmp323": tmp323, f"tmp325": tmp325, f"tmp327": tmp327, f"tmp328": tmp328, f"tmp33": tmp33, f"tmp330": tmp330, f"tmp331": tmp331, f"tmp332": tmp332, f"tmp333": tmp333, f"tmp335": tmp335, f"tmp336": tmp336, f"tmp337": tmp337, f"tmp341": tmp341, f"tmp342": tmp342, f"tmp343": tmp343, f"tmp344": tmp344, f"tmp345": tmp345, f"tmp346": tmp346, f"tmp347": tmp347, f"tmp353": tmp353, f"tmp354": tmp354, f"tmp355": tmp355, f"tmp356": tmp356, f"tmp357": tmp357, f"tmp360": tmp360, f"tmp364": tmp364, f"tmp365": tmp365, f"tmp366": tmp366, f"tmp367": tmp367, f"tmp368": tmp368, f"tmp370": tmp370, f"tmp371": tmp371, f"tmp374": tmp374, f"tmp375": tmp375, f"tmp376": tmp376, f"tmp380": tmp380, f"tmp383": tmp383, f"tmp387": tmp387, f"tmp388": tmp388, f"tmp389": tmp389, f"tmp390": tmp390, f"tmp391": tmp391, f"tmp392": tmp392, f"tmp393": tmp393, f"tmp396": tmp396, f"tmp4": tmp4, f"tmp40": tmp40, f"tmp411": tmp411, f"tmp413": tmp413, f"tmp415": tmp415, f"tmp42": tmp42, f"tmp425": tmp425, f"tmp430": tmp430, f"tmp44": tmp44, f"tmp45": tmp45, f"tmp453": tmp453, f"tmp46": tmp46, f"tmp469": tmp469, f"tmp47": tmp47, f"tmp471": tmp471, f"tmp481": tmp481, f"tmp485": tmp485, f"tmp51": tmp51, f"tmp56": tmp56, f"tmp57": tmp57, f"tmp59": tmp59, f"tmp60": tmp60, f"tmp67": tmp67, f"tmp68": tmp68, f"tmp7": tmp7, f"tmp78": tmp78, f"tmp8": tmp8, f"tmp80": tmp80, f"tmp82": tmp82, f"tmp86": tmp86, f"tmp89": tmp89, f"tmp9": tmp9, f"tmp94": tmp94, f"tmp95": tmp95, f"tmp96": tmp96, f"tmp97": tmp97, f"tmp98": tmp98, f"tmp99": tmp99}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCCSD.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-17T20:47:58.590866.

+

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.

+ +
+ Source code in ebcc/codegen/UDFCCSD.py +
4102
+4103
+4104
+4105
+4106
+4107
+4108
+4109
+4110
+4111
+4112
+4113
+4114
+4115
+4116
+4117
+4118
+4119
+4120
+4121
+4122
+4123
+4124
+4125
+4126
+4127
+4128
+4129
+4130
+4131
+4132
+4133
+4134
+4135
+4136
+4137
+4138
+4139
+4140
+4141
+4142
+4143
+4144
+4145
+4146
+4147
+4148
+4149
+4150
+4151
+4152
+4153
+4154
+4155
+4156
+4157
+4158
+4159
+4160
+4161
+4162
+4163
+4164
+4165
+4166
+4167
+4168
+4169
+4170
+4171
+4172
+4173
+4174
+4175
+4176
+4177
+4178
+4179
+4180
+4181
+4182
+4183
+4184
+4185
+4186
+4187
+4188
+4189
+4190
+4191
+4192
+4193
+4194
+4195
+4196
+4197
+4198
+4199
+4200
+4201
+4202
+4203
+4204
+4205
+4206
+4207
+4208
+4209
+4210
+4211
+4212
+4213
+4214
+4215
+4216
+4217
+4218
+4219
+4220
+4221
+4222
+4223
+4224
+4225
+4226
+4227
+4228
+4229
+4230
+4231
+4232
+4233
+4234
+4235
+4236
+4237
+4238
+4239
+4240
+4241
+4242
+4243
+4244
+4245
+4246
+4247
+4248
+4249
+4250
+4251
+4252
+4253
+4254
+4255
+4256
+4257
+4258
+4259
+4260
+4261
+4262
+4263
+4264
+4265
+4266
+4267
+4268
+4269
+4270
+4271
+4272
+4273
+4274
+4275
+4276
+4277
+4278
+4279
+4280
+4281
+4282
+4283
+4284
+4285
+4286
+4287
+4288
+4289
+4290
+4291
+4292
+4293
+4294
+4295
+4296
+4297
+4298
+4299
+4300
+4301
+4302
+4303
+4304
+4305
+4306
+4307
+4308
+4309
+4310
+4311
+4312
+4313
+4314
+4315
+4316
+4317
+4318
+4319
+4320
+4321
+4322
+4323
+4324
+4325
+4326
+4327
+4328
+4329
+4330
+4331
+4332
+4333
+4334
+4335
+4336
+4337
+4338
+4339
+4340
+4341
+4342
+4343
+4344
+4345
+4346
+4347
+4348
+4349
+4350
+4351
+4352
+4353
+4354
+4355
+4356
+4357
+4358
+4359
+4360
+4361
+4362
+4363
+4364
+4365
+4366
+4367
+4368
+4369
+4370
+4371
+4372
+4373
+4374
+4375
+4376
+4377
+4378
+4379
+4380
+4381
+4382
+4383
+4384
+4385
+4386
+4387
+4388
+4389
+4390
+4391
+4392
+4393
+4394
+4395
+4396
+4397
+4398
+4399
+4400
+4401
+4402
+4403
+4404
+4405
+4406
+4407
+4408
+4409
+4410
+4411
+4412
+4413
+4414
+4415
+4416
+4417
+4418
+4419
+4420
+4421
+4422
+4423
+4424
+4425
+4426
+4427
+4428
+4429
+4430
+4431
+4432
+4433
+4434
+4435
+4436
+4437
+4438
+4439
+4440
+4441
+4442
+4443
+4444
+4445
+4446
+4447
+4448
+4449
+4450
+4451
+4452
+4453
+4454
+4455
+4456
+4457
+4458
+4459
+4460
+4461
+4462
+4463
+4464
+4465
+4466
+4467
+4468
+4469
+4470
+4471
+4472
+4473
+4474
+4475
+4476
+4477
+4478
+4479
+4480
+4481
+4482
+4483
+4484
+4485
+4486
+4487
+4488
+4489
+4490
+4491
+4492
+4493
+4494
+4495
+4496
+4497
+4498
+4499
+4500
+4501
+4502
+4503
+4504
+4505
+4506
+4507
+4508
+4509
+4510
+4511
+4512
+4513
+4514
+4515
+4516
+4517
+4518
+4519
+4520
+4521
+4522
+4523
+4524
+4525
+4526
+4527
+4528
+4529
+4530
+4531
+4532
+4533
+4534
+4535
+4536
+4537
+4538
+4539
+4540
+4541
+4542
+4543
+4544
+4545
+4546
+4547
+4548
+4549
+4550
+4551
+4552
+4553
+4554
+4555
+4556
+4557
+4558
+4559
+4560
+4561
+4562
+4563
+4564
+4565
+4566
+4567
+4568
+4569
+4570
+4571
+4572
+4573
+4574
+4575
+4576
+4577
+4578
+4579
+4580
+4581
+4582
+4583
+4584
+4585
+4586
+4587
+4588
+4589
+4590
+4591
+4592
+4593
+4594
+4595
+4596
+4597
+4598
+4599
+4600
+4601
+4602
+4603
+4604
+4605
+4606
+4607
+4608
+4609
+4610
+4611
+4612
+4613
+4614
+4615
+4616
+4617
+4618
+4619
+4620
+4621
+4622
+4623
+4624
+4625
+4626
+4627
+4628
+4629
+4630
+4631
+4632
+4633
+4634
+4635
+4636
+4637
+4638
+4639
+4640
+4641
+4642
+4643
+4644
+4645
+4646
+4647
+4648
+4649
+4650
+4651
+4652
+4653
+4654
+4655
+4656
+4657
+4658
+4659
+4660
+4661
+4662
+4663
+4664
+4665
+4666
+4667
+4668
+4669
+4670
+4671
+4672
+4673
+4674
+4675
+4676
+4677
+4678
+4679
+4680
+4681
+4682
+4683
+4684
+4685
+4686
+4687
+4688
+4689
+4690
+4691
+4692
+4693
+4694
+4695
+4696
+4697
+4698
+4699
+4700
+4701
+4702
+4703
+4704
+4705
+4706
+4707
+4708
+4709
+4710
+4711
+4712
+4713
+4714
+4715
+4716
+4717
+4718
+4719
+4720
+4721
+4722
+4723
+4724
+4725
+4726
+4727
+4728
+4729
+4730
+4731
+4732
+4733
+4734
+4735
+4736
+4737
+4738
+4739
+4740
+4741
+4742
+4743
+4744
+4745
+4746
+4747
+4748
+4749
+4750
+4751
+4752
+4753
+4754
+4755
+4756
+4757
+4758
+4759
+4760
+4761
+4762
+4763
+4764
+4765
+4766
+4767
+4768
+4769
+4770
+4771
+4772
+4773
+4774
+4775
+4776
+4777
+4778
+4779
+4780
+4781
+4782
+4783
+4784
+4785
+4786
+4787
+4788
+4789
+4790
+4791
+4792
+4793
+4794
+4795
+4796
+4797
+4798
+4799
+4800
+4801
+4802
+4803
+4804
+4805
+4806
+4807
+4808
+4809
+4810
+4811
+4812
+4813
+4814
+4815
+4816
+4817
+4818
+4819
+4820
+4821
+4822
+4823
+4824
+4825
+4826
+4827
+4828
+4829
+4830
+4831
+4832
+4833
+4834
+4835
+4836
+4837
+4838
+4839
+4840
+4841
+4842
+4843
+4844
+4845
+4846
+4847
+4848
+4849
+4850
+4851
+4852
+4853
+4854
+4855
+4856
+4857
+4858
+4859
+4860
+4861
+4862
+4863
+4864
+4865
+4866
+4867
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-17T20:47:58.590866.
+
+    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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp63 = einsum(v.bbb.xov, (0, 1, 2), r2.bbb, (3, 2, 1), (0, 3))
+    tmp62 = einsum(v.baa.xov, (0, 1, 2), r2.aba, (2, 3, 1), (0, 3))
+    tmp18 = einsum(v.baa.xov, (0, 1, 2), r2.aaa, (3, 2, 1), (0, 3))
+    tmp19 = einsum(r2.bab, (0, 1, 2), v.bbb.xov, (3, 2, 0), (3, 1)) * -1
+    tmp64 = np.copy(tmp62) * -1
+    tmp64 += tmp63 * 2
+    tmp82 = np.copy(ints.tmp17)
+    del ints.tmp17
+    tmp82 += v.bbb.xoo
+    tmp120 = np.copy(f.bb.ov)
+    tmp120 += ints.tmp19
+    tmp120 += ints.tmp22
+    tmp122 = np.copy(ints.tmp298)
+    tmp122 += ints.tmp319
+    tmp122 += ints.tmp383 * 2
+    tmp116 = einsum(r1.b, (0,), ints.tmp360, (1, 2, 3, 0), (1, 2, 3))
+    tmp103 = np.copy(ints.tmp430)
+    del ints.tmp430
+    tmp103 += np.transpose(ints.tmp485, (0, 1, 3, 2))
+    del ints.tmp485
+    tmp103 += ints.tmp51
+    tmp103 += ints.tmp425 * 2
+    del ints.tmp425
+    tmp99 = einsum(r1.b, (0,), ints.tmp343, (1, 2, 3, 0), (1, 2, 3))
+    tmp101 = np.copy(ints.tmp343)
+    tmp101 += np.transpose(ints.tmp360, (0, 2, 1, 3))
+    tmp23 = einsum(r1.a, (0,), ints.tmp177, (1, 2, 3, 0), (1, 2, 3))
+    tmp25 = np.copy(ints.tmp130)
+    tmp25 += np.transpose(ints.tmp177, (0, 2, 1, 3))
+    tmp27 = np.copy(ints.tmp105)
+    del ints.tmp105
+    tmp27 += np.transpose(ints.tmp190, (0, 1, 3, 2))
+    del ints.tmp190
+    tmp27 += ints.tmp23
+    tmp27 += ints.tmp100 * 2
+    del ints.tmp100
+    tmp39 = einsum(ints.tmp130, (0, 1, 2, 3), r1.a, (3,), (0, 1, 2))
+    tmp42 = np.copy(ints.tmp12)
+    del ints.tmp12
+    tmp42 += v.baa.xoo
+    tmp34 = np.copy(tmp18)
+    tmp34 += tmp19 * 0.5
+    tmp46 = np.copy(ints.tmp117)
+    tmp46 += ints.tmp167
+    tmp46 += ints.tmp86 * 2
+    tmp44 = np.copy(f.aa.ov)
+    tmp44 += ints.tmp15
+    tmp44 += ints.tmp20
+    tmp119 = einsum(tmp64, (0, 1), tmp82, (0, 2, 3), (2, 3, 1))
+    tmp121 = einsum(r2.bbb, (0, 1, 2), tmp120, (3, 1), (3, 2, 0)) * -2
+    del tmp120
+    tmp123 = einsum(tmp122, (0, 1, 2, 3), r1.b, (3,), (0, 1, 2))
+    del tmp122
+    tmp118 = einsum(ints.tmp40, (0, 1, 2, 3), r2.bbb, (2, 3, 4), (0, 4, 1))
+    tmp117 = einsum(t1.bb, (0, 1), tmp116, (2, 0, 3), (2, 3, 1))
+    del tmp116
+    tmp98 = einsum(r2.bbb, (0, 1, 2), ints.tmp18, (3, 1), (3, 2, 0))
+    tmp104 = einsum(tmp103, (0, 1, 2, 3), r1.b, (3,), (0, 1, 2))
+    del tmp103
+    tmp100 = einsum(t1.bb, (0, 1), tmp99, (2, 0, 3), (2, 3, 1))
+    del tmp99
+    tmp102 = einsum(tmp101, (0, 1, 2, 3), r2.bbb, (4, 3, 2), (0, 1, 4)) * -1
+    del tmp101
+    tmp22 = einsum(ints.tmp13, (0, 1), r2.aaa, (2, 1, 3), (0, 3, 2))
+    tmp24 = einsum(t1.aa, (0, 1), tmp23, (2, 0, 3), (2, 3, 1))
+    del tmp23
+    tmp26 = einsum(r2.aaa, (0, 1, 2), tmp25, (3, 2, 4, 1), (3, 4, 0)) * -1
+    del tmp25
+    tmp28 = einsum(r1.a, (0,), tmp27, (1, 2, 3, 0), (1, 2, 3))
+    del tmp27
+    tmp40 = einsum(tmp39, (0, 1, 2), t1.aa, (1, 3), (0, 2, 3))
+    del tmp39
+    tmp43 = einsum(tmp34, (0, 1), tmp42, (0, 2, 3), (2, 3, 1)) * 2
+    tmp47 = einsum(tmp46, (0, 1, 2, 3), r1.a, (3,), (0, 1, 2))
+    del tmp46
+    tmp45 = einsum(tmp44, (0, 1), r2.aaa, (2, 1, 3), (3, 0, 2)) * -2
+    del tmp44
+    tmp41 = einsum(r2.aaa, (0, 1, 2), ints.tmp2, (3, 4, 0, 1), (3, 2, 4))
+    tmp126 = np.copy(ints.tmp411)
+    del ints.tmp411
+    tmp126 += ints.tmp415 * 0.5
+    del ints.tmp415
+    tmp124 = np.copy(np.transpose(tmp117, (1, 0, 2)))
+    del tmp117
+    tmp124 += tmp118 * 2
+    del tmp118
+    tmp124 += np.transpose(tmp119, (1, 0, 2))
+    del tmp119
+    tmp124 += tmp121 * -1
+    del tmp121
+    tmp124 += np.transpose(tmp123, (1, 0, 2))
+    del tmp123
+    tmp112 = np.copy(ints.tmp45) * 0.5
+    tmp112 += ints.tmp56
+    tmp112 += ints.tmp59 * 0.5
+    tmp114 = np.copy(f.bb.vv) * 0.5
+    tmp114 += np.transpose(ints.tmp44, (1, 0)) * 0.5
+    tmp114 += np.transpose(ints.tmp47, (1, 0)) * 0.5
+    tmp114 += np.transpose(ints.tmp57, (1, 0)) * -1
+    tmp114 += np.transpose(ints.tmp60, (1, 0)) * -0.5
+    tmp96 = np.copy(ints.tmp45)
+    tmp96 += ints.tmp59
+    tmp96 += ints.tmp56 * 2
+    tmp94 = np.copy(ints.tmp298)
+    tmp94 += ints.tmp319
+    tmp94 += ints.tmp383 * 2
+    tmp107 = np.copy(ints.tmp40)
+    tmp107 += np.transpose(ints.tmp471, (0, 2, 1, 3))
+    del ints.tmp471
+    tmp107 += ints.tmp413 * 2
+    del ints.tmp413
+    tmp105 = np.copy(tmp98) * 2
+    del tmp98
+    tmp105 += np.transpose(tmp100, (1, 0, 2))
+    del tmp100
+    tmp105 += np.transpose(tmp102, (1, 0, 2)) * -2
+    del tmp102
+    tmp105 += np.transpose(tmp104, (1, 0, 2))
+    del tmp104
+    tmp0 = np.copy(f.bb.ov)
+    tmp0 += ints.tmp19
+    tmp0 += ints.tmp22
+    tmp0 += ints.tmp18 * -1
+    del ints.tmp18
+    tmp1 = np.copy(f.aa.ov)
+    tmp1 += ints.tmp15
+    tmp1 += ints.tmp20
+    tmp1 += ints.tmp13 * -1
+    del ints.tmp13
+    tmp56 = einsum(ints.tmp26, (0, 1, 2, 3), r2.aba, (2, 3, 4), (0, 4, 1))
+    tmp73 = np.copy(ints.tmp136)
+    tmp73 += np.transpose(ints.tmp179, (1, 0, 2, 3))
+    tmp29 = np.copy(np.transpose(tmp22, (1, 0, 2))) * 2
+    del tmp22
+    tmp29 += tmp24
+    del tmp24
+    tmp29 += tmp26 * -2
+    del tmp26
+    tmp29 += tmp28
+    del tmp28
+    tmp20 = np.copy(tmp18) * 2
+    del tmp18
+    tmp20 += tmp19
+    del tmp19
+    tmp31 = np.copy(ints.tmp162)
+    del ints.tmp162
+    tmp31 += np.transpose(ints.tmp2, (0, 2, 1, 3))
+    tmp31 += np.transpose(ints.tmp80, (0, 2, 1, 3)) * 2
+    del ints.tmp80
+    tmp16 = np.copy(ints.tmp117)
+    tmp16 += ints.tmp167
+    tmp16 += ints.tmp86 * 2
+    tmp35 = np.copy(ints.tmp29) * 2
+    tmp35 += ints.tmp32
+    tmp35 += ints.tmp8
+    tmp48 = np.copy(np.transpose(tmp40, (1, 0, 2)))
+    del tmp40
+    tmp48 += tmp41 * 2
+    del tmp41
+    tmp48 += np.transpose(tmp43, (1, 0, 2))
+    del tmp43
+    tmp48 += np.transpose(tmp45, (1, 0, 2)) * -1
+    del tmp45
+    tmp48 += np.transpose(tmp47, (1, 0, 2))
+    del tmp47
+    tmp37 = np.copy(f.aa.vv) * 0.5
+    tmp37 += np.transpose(ints.tmp11, (1, 0)) * 0.5
+    tmp37 += np.transpose(ints.tmp7, (1, 0)) * 0.5
+    tmp37 += np.transpose(ints.tmp30, (1, 0)) * -1
+    tmp37 += np.transpose(ints.tmp33, (1, 0)) * -0.5
+    tmp50 = np.copy(ints.tmp78)
+    del ints.tmp78
+    tmp50 += ints.tmp82 * 0.5
+    del ints.tmp82
+    tmp90 = einsum(ints.tmp51, (0, 1, 2, 3), r2.bbb, (2, 3, 4), (0, 1, 4))
+    tmp127 = einsum(r1.b, (0,), tmp126, (1, 2, 0, 3), (1, 2, 3)) * 2
+    del tmp126
+    tmp125 = einsum(tmp124, (0, 1, 2), t1.bb, (0, 3), (1, 2, 3))
+    del tmp124
+    tmp110 = einsum(r2.aba, (0, 1, 2), ints.tmp380, (2, 3, 0, 4), (3, 4, 1))
+    tmp111 = einsum(tmp62, (0, 1), v.bbb.xov, (0, 2, 3), (2, 1, 3))
+    tmp113 = einsum(tmp63, (0, 1), tmp112, (0, 2, 3), (2, 3, 1)) * 4
+    del tmp112
+    tmp115 = einsum(tmp114, (0, 1), r2.bbb, (2, 0, 3), (3, 1, 2)) * -4
+    del tmp114
+    tmp93 = einsum(v.bbb.xov, (0, 1, 2), tmp63, (0, 3), (1, 3, 2))
+    del tmp63
+    tmp97 = einsum(tmp96, (0, 1, 2), tmp62, (0, 3), (1, 2, 3))
+    del tmp62, tmp96
+    tmp92 = einsum(r2.bbb, (0, 1, 2), ints.tmp46, (1, 3), (2, 3, 0))
+    tmp95 = einsum(tmp94, (0, 1, 2, 3), r2.bbb, (4, 3, 1), (0, 2, 4)) * -1
+    del tmp94
+    tmp108 = einsum(tmp107, (0, 1, 2, 3), r1.b, (2,), (0, 1, 3))
+    del tmp107
+    tmp106 = einsum(tmp105, (0, 1, 2), t1.bb, (0, 3), (1, 2, 3))
+    del tmp105
+    tmp10 = einsum(r1.b, (0,), tmp0, (1, 0), (1,))
+    tmp9 = einsum(r2.bbb, (0, 1, 2), ints.tmp51, (2, 3, 1, 0), (3,)) * -1
+    del ints.tmp51
+    tmp8 = einsum(ints.tmp26, (0, 1, 2, 3), r2.aba, (2, 3, 0), (1,))
+    tmp68 = einsum(tmp1, (0, 1), t1.aa, (0, 2), (2, 1))
+    tmp66 = einsum(tmp0, (0, 1), t1.bb, (0, 2), (1, 2))
+    tmp76 = einsum(ints.tmp26, (0, 1, 2, 3), r2.bab, (3, 2, 4), (0, 1, 4)) * -1
+    tmp78 = np.copy(np.transpose(r2.bab, (2, 1, 0))) * -1
+    tmp78 += einsum(t1.bb, (0, 1), r1.a, (2,), (0, 2, 1))
+    tmp85 = np.copy(ints.tmp303)
+    del ints.tmp303
+    tmp85 += ints.tmp327
+    del ints.tmp327
+    tmp86 = np.copy(ints.tmp26)
+    tmp86 += ints.tmp333
+    del ints.tmp333
+    tmp86 += ints.tmp393
+    del ints.tmp393
+    tmp86 += ints.tmp396 * 2
+    del ints.tmp396
+    tmp86 += ints.tmp380 * -1
+    tmp80 = np.copy(ints.tmp343)
+    del ints.tmp343
+    tmp80 += np.transpose(ints.tmp360, (0, 2, 1, 3))
+    del ints.tmp360
+    tmp3 = einsum(r2.aaa, (0, 1, 2), ints.tmp23, (2, 3, 0, 1), (3,))
+    tmp4 = einsum(ints.tmp26, (0, 1, 2, 3), r2.bab, (3, 2, 1), (0,)) * -1
+    tmp5 = einsum(r1.a, (0,), tmp1, (1, 0), (1,))
+    tmp60 = np.copy(ints.tmp130)
+    del ints.tmp130
+    tmp60 += np.transpose(ints.tmp177, (0, 2, 1, 3))
+    del ints.tmp177
+    tmp72 = np.copy(ints.tmp245)
+    del ints.tmp245
+    tmp72 += ints.tmp26
+    del ints.tmp26
+    tmp72 += ints.tmp276
+    del ints.tmp276
+    tmp72 += ints.tmp279 * 2
+    del ints.tmp279
+    tmp72 += ints.tmp89 * -1
+    tmp71 = np.copy(ints.tmp136)
+    del ints.tmp136
+    tmp71 += ints.tmp179
+    del ints.tmp179
+    tmp74 = np.copy(tmp56) * -1
+    tmp74 += einsum(r1.b, (0,), tmp73, (1, 2, 3, 0), (1, 2, 3))
+    del tmp73
+    tmp30 = einsum(t1.aa, (0, 1), tmp29, (2, 0, 3), (2, 1, 3))
+    del tmp29
+    tmp21 = einsum(v.baa.xov, (0, 1, 2), tmp20, (0, 3), (1, 2, 3))
+    del tmp20
+    tmp32 = einsum(tmp31, (0, 1, 2, 3), r1.a, (1,), (0, 2, 3))
+    del tmp31
+    tmp15 = einsum(ints.tmp89, (0, 1, 2, 3), r2.bab, (3, 4, 1), (0, 2, 4)) * -1
+    tmp17 = einsum(r2.aaa, (0, 1, 2), tmp16, (3, 2, 4, 1), (3, 0, 4)) * -1
+    del tmp16
+    tmp14 = einsum(r2.aaa, (0, 1, 2), ints.tmp9, (1, 3), (2, 3, 0))
+    tmp12 = einsum(ints.tmp23, (0, 1, 2, 3), r2.aaa, (2, 3, 4), (0, 1, 4))
+    del ints.tmp23
+    tmp36 = einsum(tmp35, (0, 1, 2), tmp34, (0, 3), (1, 2, 3)) * 2
+    del tmp35
+    tmp49 = einsum(tmp48, (0, 1, 2), t1.aa, (0, 3), (1, 3, 2))
+    del tmp48
+    tmp38 = einsum(r2.aaa, (0, 1, 2), tmp37, (1, 3), (2, 0, 3)) * -4
+    del tmp37
+    tmp51 = einsum(tmp50, (0, 1, 2, 3), r1.a, (2,), (0, 1, 3)) * 2
+    del tmp50
+    tmp91 = einsum(t1.bb, (0, 1), tmp90, (2, 0, 3), (2, 3, 1))
+    tmp128 = np.copy(tmp110)
+    del tmp110
+    tmp128 += tmp111
+    del tmp111
+    tmp128 += tmp113
+    del tmp113
+    tmp128 += tmp115 * -1
+    del tmp115
+    tmp128 += tmp125
+    del tmp125
+    tmp128 += tmp127
+    del tmp127
+    tmp109 = np.copy(tmp92) * 2
+    del tmp92
+    tmp109 += tmp93 * 2
+    del tmp93
+    tmp109 += tmp95 * -2
+    del tmp95
+    tmp109 += tmp97
+    del tmp97
+    tmp109 += tmp106
+    del tmp106
+    tmp109 += tmp108
+    del tmp108
+    tmp129 = np.copy(ints.tmp453)
+    del ints.tmp453
+    tmp129 += ints.tmp481 * -1
+    del ints.tmp481
+    tmp11 = np.copy(tmp8)
+    del tmp8
+    tmp11 += tmp9 * 2
+    del tmp9
+    tmp11 += tmp10 * -1
+    del tmp10
+    tmp88 = np.copy(f.bb.oo)
+    tmp88 += np.transpose(ints.tmp301, (1, 0))
+    del ints.tmp301
+    tmp88 += np.transpose(ints.tmp302, (1, 0))
+    del ints.tmp302
+    tmp88 += ints.tmp316
+    del ints.tmp316
+    tmp88 += np.transpose(ints.tmp323, (1, 0)) * 2
+    del ints.tmp323
+    tmp88 += np.transpose(ints.tmp325, (1, 0))
+    del ints.tmp325
+    tmp88 += np.transpose(ints.tmp336, (1, 0))
+    del ints.tmp336
+    tmp88 += np.transpose(ints.tmp337, (1, 0))
+    del ints.tmp337
+    tmp88 += np.transpose(ints.tmp300, (1, 0)) * -1
+    del ints.tmp300
+    tmp88 += np.transpose(ints.tmp335, (1, 0)) * -1
+    del ints.tmp335
+    tmp89 = np.copy(ints.tmp299)
+    del ints.tmp299
+    tmp89 += ints.tmp321 * 2
+    del ints.tmp321
+    tmp89 += ints.tmp331
+    del ints.tmp331
+    tmp89 += ints.tmp341
+    del ints.tmp341
+    tmp89 += ints.tmp344 * 2
+    del ints.tmp344
+    tmp89 += ints.tmp345
+    del ints.tmp345
+    tmp89 += ints.tmp346 * 2
+    del ints.tmp346
+    tmp89 += ints.tmp347
+    del ints.tmp347
+    tmp89 += ints.tmp354
+    del ints.tmp354
+    tmp89 += ints.tmp355
+    del ints.tmp355
+    tmp89 += ints.tmp356
+    del ints.tmp356
+    tmp89 += ints.tmp364 * 2
+    del ints.tmp364
+    tmp89 += ints.tmp365
+    del ints.tmp365
+    tmp89 += ints.tmp367
+    del ints.tmp367
+    tmp89 += ints.tmp368
+    del ints.tmp368
+    tmp89 += ints.tmp387
+    del ints.tmp387
+    tmp89 += ints.tmp389 * 2
+    del ints.tmp389
+    tmp89 += f.bb.ov * -1
+    tmp89 += ints.tmp19 * -1
+    del ints.tmp19
+    tmp89 += ints.tmp22 * -1
+    del ints.tmp22
+    tmp89 += ints.tmp315 * -1
+    del ints.tmp315
+    tmp89 += ints.tmp322 * -1
+    del ints.tmp322
+    tmp89 += ints.tmp330 * -1
+    del ints.tmp330
+    tmp89 += ints.tmp332 * -1
+    del ints.tmp332
+    tmp89 += ints.tmp353 * -1
+    del ints.tmp353
+    tmp89 += ints.tmp366 * -1
+    del ints.tmp366
+    tmp89 += ints.tmp370 * -1
+    del ints.tmp370
+    tmp89 += ints.tmp371 * -2
+    del ints.tmp371
+    tmp89 += ints.tmp388 * -1
+    del ints.tmp388
+    tmp89 += ints.tmp390 * -2
+    del ints.tmp390
+    tmp89 += ints.tmp391 * -1
+    del ints.tmp391
+    tmp89 += ints.tmp392 * -2
+    del ints.tmp392
+    tmp69 = np.copy(np.transpose(ints.tmp30, (1, 0))) * 2
+    tmp69 += np.transpose(ints.tmp33, (1, 0))
+    tmp69 += ints.tmp9
+    tmp69 += f.aa.vv * -1
+    tmp69 += np.transpose(ints.tmp11, (1, 0)) * -1
+    tmp69 += np.transpose(ints.tmp7, (1, 0)) * -1
+    tmp69 += np.transpose(tmp68, (1, 0))
+    del tmp68
+    tmp84 = np.copy(ints.tmp305)
+    del ints.tmp305
+    tmp84 += np.transpose(ints.tmp318, (0, 2, 1, 3))
+    del ints.tmp318
+    tmp84 += ints.tmp328
+    del ints.tmp328
+    tmp84 += np.transpose(ints.tmp374, (0, 2, 1, 3))
+    del ints.tmp374
+    tmp84 += np.transpose(ints.tmp376, (0, 2, 1, 3)) * 2
+    del ints.tmp376
+    tmp84 += ints.tmp4
+    tmp84 += ints.tmp290 * -1
+    del ints.tmp290
+    tmp84 += np.transpose(ints.tmp375, (0, 2, 1, 3)) * -1
+    del ints.tmp375
+    tmp67 = np.copy(ints.tmp46)
+    tmp67 += np.transpose(ints.tmp57, (1, 0)) * 2
+    tmp67 += np.transpose(ints.tmp60, (1, 0))
+    tmp67 += f.bb.vv * -1
+    tmp67 += np.transpose(ints.tmp44, (1, 0)) * -1
+    tmp67 += np.transpose(ints.tmp47, (1, 0)) * -1
+    tmp67 += tmp66
+    del tmp66
+    tmp87 = einsum(ints.tmp42, (0, 1, 2, 3), r2.bab, (3, 1, 4), (0, 4, 2))
+    tmp87 += einsum(t1.bb, (0, 1), tmp76, (2, 0, 3), (2, 3, 1))
+    tmp87 += einsum(tmp85, (0, 1, 2, 3), tmp78, (2, 3, 4), (0, 1, 4))
+    del tmp85
+    tmp87 += einsum(tmp86, (0, 1, 2, 3), r1.a, (2,), (0, 1, 3)) * -1
+    del tmp86
+    tmp81 = np.copy(ints.tmp298)
+    del ints.tmp298
+    tmp81 += ints.tmp319
+    del ints.tmp319
+    tmp81 += ints.tmp383 * 2
+    del ints.tmp383
+    tmp81 += einsum(t1.bb, (0, 1), tmp80, (2, 0, 3, 4), (2, 3, 1, 4)) * -1
+    del tmp80
+    tmp83 = np.copy(ints.tmp45)
+    del ints.tmp45
+    tmp83 += ints.tmp56 * 2
+    del ints.tmp56
+    tmp83 += ints.tmp59
+    del ints.tmp59
+    tmp83 += v.bbb.xov
+    tmp83 += einsum(t1.bb, (0, 1), tmp82, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp82
+    tmp77 = einsum(r2.bab, (0, 1, 2), ints.tmp4, (3, 4, 1, 0), (3, 2, 4)) * -1
+    tmp79 = np.copy(ints.tmp342)
+    del ints.tmp342
+    tmp79 += ints.tmp357
+    del ints.tmp357
+    tmp79 += ints.tmp293 * -1
+    del ints.tmp293
+    tmp6 = np.copy(tmp3) * -2
+    del tmp3
+    tmp6 += tmp4
+    del tmp4
+    tmp6 += tmp5
+    del tmp5
+    tmp58 = np.copy(np.transpose(r2.aba, (2, 0, 1)))
+    tmp58 += einsum(r1.b, (0,), t1.aa, (1, 2), (1, 2, 0)) * -1
+    tmp53 = np.copy(f.aa.oo)
+    tmp53 += np.transpose(ints.tmp124, (1, 0))
+    del ints.tmp124
+    tmp53 += np.transpose(ints.tmp126, (1, 0))
+    del ints.tmp126
+    tmp53 += ints.tmp157
+    del ints.tmp157
+    tmp53 += np.transpose(ints.tmp173, (1, 0)) * 2
+    del ints.tmp173
+    tmp53 += np.transpose(ints.tmp175, (1, 0))
+    del ints.tmp175
+    tmp53 += np.transpose(ints.tmp195, (1, 0))
+    del ints.tmp195
+    tmp53 += np.transpose(ints.tmp197, (1, 0))
+    del ints.tmp197
+    tmp53 += np.transpose(ints.tmp122, (1, 0)) * -1
+    del ints.tmp122
+    tmp53 += np.transpose(ints.tmp193, (1, 0)) * -1
+    del ints.tmp193
+    tmp57 = einsum(ints.tmp42, (0, 1, 2, 3), r2.aba, (1, 3, 4), (0, 4, 2))
+    tmp65 = np.copy(ints.tmp29) * 2
+    del ints.tmp29
+    tmp65 += ints.tmp32
+    del ints.tmp32
+    tmp65 += ints.tmp8
+    del ints.tmp8
+    tmp65 += v.baa.xov
+    tmp65 += einsum(t1.aa, (0, 1), tmp42, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp42
+    tmp70 = np.copy(ints.tmp227)
+    del ints.tmp227
+    tmp70 += np.transpose(ints.tmp239, (0, 1, 3, 2))
+    del ints.tmp239
+    tmp70 += ints.tmp243
+    del ints.tmp243
+    tmp70 += np.transpose(ints.tmp265, (0, 1, 3, 2))
+    del ints.tmp265
+    tmp70 += np.transpose(ints.tmp267, (0, 1, 3, 2)) * 2
+    del ints.tmp267
+    tmp70 += ints.tmp42
+    tmp70 += ints.tmp218 * -1
+    del ints.tmp218
+    tmp70 += np.transpose(ints.tmp266, (0, 1, 3, 2)) * -1
+    del ints.tmp266
+    tmp61 = np.copy(ints.tmp117)
+    del ints.tmp117
+    tmp61 += ints.tmp167
+    del ints.tmp167
+    tmp61 += ints.tmp86 * 2
+    del ints.tmp86
+    tmp61 += einsum(tmp60, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3)) * -1
+    del tmp60
+    tmp55 = np.copy(ints.tmp115)
+    del ints.tmp115
+    tmp55 += ints.tmp119
+    del ints.tmp119
+    tmp55 += ints.tmp135 * 2
+    del ints.tmp135
+    tmp55 += ints.tmp137
+    del ints.tmp137
+    tmp55 += ints.tmp148
+    del ints.tmp148
+    tmp55 += ints.tmp149
+    del ints.tmp149
+    tmp55 += ints.tmp159
+    del ints.tmp159
+    tmp55 += ints.tmp171 * 2
+    del ints.tmp171
+    tmp55 += ints.tmp178 * 2
+    del ints.tmp178
+    tmp55 += ints.tmp180
+    del ints.tmp180
+    tmp55 += ints.tmp183 * 2
+    del ints.tmp183
+    tmp55 += ints.tmp184
+    del ints.tmp184
+    tmp55 += ints.tmp186
+    del ints.tmp186
+    tmp55 += ints.tmp206
+    del ints.tmp206
+    tmp55 += ints.tmp207
+    del ints.tmp207
+    tmp55 += ints.tmp94 * 2
+    del ints.tmp94
+    tmp55 += ints.tmp96
+    del ints.tmp96
+    tmp55 += f.aa.ov * -1
+    tmp55 += ints.tmp147 * -1
+    del ints.tmp147
+    tmp55 += ints.tmp156 * -1
+    del ints.tmp156
+    tmp55 += ints.tmp15 * -1
+    del ints.tmp15
+    tmp55 += ints.tmp172 * -1
+    del ints.tmp172
+    tmp55 += ints.tmp185 * -1
+    del ints.tmp185
+    tmp55 += ints.tmp187 * -1
+    del ints.tmp187
+    tmp55 += ints.tmp205 * -1
+    del ints.tmp205
+    tmp55 += ints.tmp20 * -1
+    del ints.tmp20
+    tmp55 += ints.tmp67 * -2
+    del ints.tmp67
+    tmp55 += ints.tmp68 * -1
+    del ints.tmp68
+    tmp55 += ints.tmp95 * -2
+    del ints.tmp95
+    tmp55 += ints.tmp97 * -1
+    del ints.tmp97
+    tmp55 += ints.tmp98 * -2
+    del ints.tmp98
+    tmp55 += ints.tmp99 * -1
+    del ints.tmp99
+    tmp59 = np.copy(ints.tmp250)
+    del ints.tmp250
+    tmp59 += ints.tmp256
+    del ints.tmp256
+    tmp59 += ints.tmp221 * -1
+    del ints.tmp221
+    tmp75 = einsum(r2.aba, (0, 1, 2), ints.tmp4, (3, 4, 0, 1), (2, 3, 4)) * -1
+    tmp75 += einsum(r2.aba, (0, 1, 2), tmp71, (3, 2, 4, 1), (3, 4, 0))
+    del tmp71
+    tmp75 += einsum(r1.b, (0,), tmp72, (1, 2, 3, 0), (1, 2, 3))
+    del tmp72
+    tmp75 += einsum(t1.aa, (0, 1), tmp74, (0, 2, 3), (2, 3, 1)) * -1
+    del tmp74
+    tmp54 = np.copy(ints.tmp138)
+    del ints.tmp138
+    tmp54 += ints.tmp181 * -1
+    del ints.tmp181
+    tmp33 = np.copy(tmp14) * 2
+    del tmp14
+    tmp33 += tmp15
+    del tmp15
+    tmp33 += np.transpose(tmp17, (0, 2, 1)) * -2
+    del tmp17
+    tmp33 += np.transpose(tmp21, (0, 2, 1))
+    del tmp21
+    tmp33 += np.transpose(tmp30, (0, 2, 1))
+    del tmp30
+    tmp33 += tmp32
+    del tmp32
+    tmp13 = einsum(tmp12, (0, 1, 2), t1.aa, (1, 3), (0, 2, 3))
+    tmp52 = np.copy(tmp36)
+    del tmp36
+    tmp52 += np.transpose(tmp38, (0, 2, 1)) * -1
+    del tmp38
+    tmp52 += np.transpose(tmp49, (0, 2, 1))
+    del tmp49
+    tmp52 += tmp51
+    del tmp51
+    tmp7 = np.copy(ints.tmp46)
+    del ints.tmp46
+    tmp7 += np.transpose(ints.tmp57, (1, 0)) * 2
+    del ints.tmp57
+    tmp7 += np.transpose(ints.tmp60, (1, 0))
+    del ints.tmp60
+    tmp7 += f.bb.vv * -1
+    tmp7 += np.transpose(ints.tmp44, (1, 0)) * -1
+    del ints.tmp44
+    tmp7 += np.transpose(ints.tmp47, (1, 0)) * -1
+    del ints.tmp47
+    tmp2 = np.copy(np.transpose(ints.tmp30, (1, 0))) * 2
+    del ints.tmp30
+    tmp2 += np.transpose(ints.tmp33, (1, 0))
+    del ints.tmp33
+    tmp2 += ints.tmp9
+    del ints.tmp9
+    tmp2 += f.aa.vv * -1
+    tmp2 += np.transpose(ints.tmp11, (1, 0)) * -1
+    del ints.tmp11
+    tmp2 += np.transpose(ints.tmp7, (1, 0)) * -1
+    del ints.tmp7
+    r2new.bbb = einsum(r2.bbb, (0, 1, 2), ints.tmp469, (3, 0, 4, 1), (3, 4, 2)) * -2
+    del ints.tmp469
+    r2new.bbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp90, (1, 0, 4), (2, 3, 4)) * -2
+    del tmp90
+    r2new.bbb += einsum(t1.bb, (0, 1), tmp91, (0, 2, 3), (3, 1, 2)) * -2
+    del tmp91
+    r2new.bbb += np.transpose(tmp109, (1, 2, 0))
+    r2new.bbb += np.transpose(tmp109, (2, 1, 0)) * -1
+    del tmp109
+    r2new.bbb += np.transpose(tmp128, (1, 2, 0)) * -1
+    r2new.bbb += np.transpose(tmp128, (2, 1, 0))
+    del tmp128
+    r2new.bbb += einsum(r2.bbb, (0, 1, 2), tmp88, (2, 3), (0, 1, 3)) * -2
+    r2new.bbb += einsum(tmp11, (0,), t2.bbbb, (1, 0, 2, 3), (2, 3, 1)) * -2
+    r2new.bbb += einsum(r1.b, (0,), tmp129, (1, 2, 3, 0), (3, 2, 1)) * 2
+    del tmp129
+    r2new.bbb += einsum(r1.b, (0,), tmp89, (1, 2), (0, 2, 1)) * -1
+    r2new.bbb += einsum(tmp89, (0, 1), r1.b, (2,), (1, 2, 0))
+    r2new.bab = einsum(ints.tmp237, (0, 1, 2, 3), r2.bab, (3, 1, 4), (2, 0, 4))
+    r2new.bab += einsum(r2.aaa, (0, 1, 2), ints.tmp380, (2, 3, 1, 4), (4, 0, 3)) * 2
+    del ints.tmp380
+    r2new.bab += einsum(tmp76, (0, 1, 2), t2.abab, (0, 1, 3, 4), (4, 3, 2)) * -1
+    del tmp76
+    r2new.bab += einsum(t1.bb, (0, 1), tmp77, (0, 2, 3), (1, 3, 2))
+    del tmp77
+    r2new.bab += einsum(tmp79, (0, 1, 2, 3), tmp78, (1, 3, 4), (4, 2, 0))
+    del tmp78, tmp79
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp81, (3, 2, 4, 0), (4, 1, 3)) * -1
+    del tmp81
+    r2new.bab += einsum(tmp34, (0, 1), tmp83, (0, 2, 3), (3, 1, 2)) * -2
+    del tmp34, tmp83
+    r2new.bab += einsum(tmp69, (0, 1), r2.bab, (2, 0, 3), (2, 1, 3)) * -1
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp67, (0, 3), (3, 1, 2)) * -1
+    r2new.bab += einsum(tmp84, (0, 1, 2, 3), r1.a, (2,), (3, 1, 0)) * -1
+    del tmp84
+    r2new.bab += einsum(t1.aa, (0, 1), tmp87, (0, 2, 3), (3, 1, 2)) * -1
+    del tmp87
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp88, (2, 3), (0, 1, 3)) * -1
+    del tmp88
+    r2new.bab += einsum(t2.abab, (0, 1, 2, 3), tmp6, (0,), (3, 2, 1))
+    r2new.bab += einsum(tmp89, (0, 1), r1.a, (2,), (1, 2, 0))
+    del tmp89
+    r2new.aba = einsum(r2.aba, (0, 1, 2), ints.tmp237, (3, 0, 4, 1), (3, 4, 2))
+    del ints.tmp237
+    r2new.aba += einsum(r2.bbb, (0, 1, 2), ints.tmp89, (3, 2, 4, 1), (4, 0, 3)) * 2
+    del ints.tmp89
+    r2new.aba += einsum(t2.abab, (0, 1, 2, 3), tmp56, (0, 4, 1), (2, 3, 4))
+    del tmp56
+    r2new.aba += einsum(t1.aa, (0, 1), tmp57, (0, 2, 3), (1, 3, 2)) * -1
+    del tmp57
+    r2new.aba += einsum(tmp59, (0, 1, 2, 3), tmp58, (1, 4, 3), (4, 2, 0)) * -1
+    del tmp59, tmp58
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp61, (3, 2, 4, 0), (4, 1, 3)) * -1
+    del tmp61
+    r2new.aba += einsum(tmp64, (0, 1), tmp65, (0, 2, 3), (3, 1, 2)) * -1
+    del tmp64, tmp65
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp67, (1, 3), (0, 3, 2)) * -1
+    del tmp67
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp69, (0, 3), (3, 1, 2)) * -1
+    del tmp69
+    r2new.aba += einsum(tmp70, (0, 1, 2, 3), r1.b, (3,), (1, 2, 0)) * -1
+    del tmp70
+    r2new.aba += einsum(t1.bb, (0, 1), tmp75, (2, 0, 3), (3, 1, 2))
+    del tmp75
+    r2new.aba += einsum(tmp53, (0, 1), r2.aba, (2, 3, 0), (2, 3, 1)) * -1
+    r2new.aba += einsum(t2.abab, (0, 1, 2, 3), tmp11, (1,), (2, 3, 0)) * -1
+    r2new.aba += einsum(r1.b, (0,), tmp55, (1, 2), (2, 0, 1))
+    r2new.aaa = einsum(tmp12, (0, 1, 2), t2.aaaa, (1, 0, 3, 4), (3, 4, 2)) * -2
+    del tmp12
+    r2new.aaa += einsum(tmp13, (0, 1, 2), t1.aa, (0, 3), (2, 3, 1)) * -2
+    del tmp13
+    r2new.aaa += einsum(r2.aaa, (0, 1, 2), ints.tmp160, (3, 0, 4, 1), (3, 4, 2)) * -2
+    del ints.tmp160
+    r2new.aaa += np.transpose(tmp33, (1, 2, 0))
+    r2new.aaa += np.transpose(tmp33, (2, 1, 0)) * -1
+    del tmp33
+    r2new.aaa += np.transpose(tmp52, (1, 2, 0)) * -1
+    r2new.aaa += np.transpose(tmp52, (2, 1, 0))
+    del tmp52
+    r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp53, (2, 3), (0, 1, 3)) * -2
+    del tmp53
+    r2new.aaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp6, (1,), (2, 3, 0)) * 2
+    r2new.aaa += einsum(tmp54, (0, 1, 2, 3), r1.a, (3,), (2, 1, 0)) * 2
+    del tmp54
+    r2new.aaa += einsum(r1.a, (0,), tmp55, (1, 2), (0, 2, 1)) * -1
+    r2new.aaa += einsum(tmp55, (0, 1), r1.a, (2,), (1, 2, 0))
+    del tmp55
+    r1new.b = einsum(r2.aba, (0, 1, 2), ints.tmp42, (2, 0, 3, 1), (3,)) * -1
+    del ints.tmp42
+    r1new.b += einsum(r2.bbb, (0, 1, 2), ints.tmp40, (2, 3, 1, 0), (3,)) * -2
+    del ints.tmp40
+    r1new.b += einsum(tmp0, (0, 1), r2.bbb, (2, 1, 0), (2,)) * 2
+    r1new.b += einsum(r2.aba, (0, 1, 2), tmp1, (2, 0), (1,)) * -1
+    r1new.b += einsum(tmp7, (0, 1), r1.b, (0,), (1,)) * -1
+    del tmp7
+    r1new.b += einsum(t1.bb, (0, 1), tmp11, (0,), (1,))
+    del tmp11
+    r1new.a = einsum(r2.aaa, (0, 1, 2), ints.tmp2, (2, 3, 0, 1), (3,)) * 2
+    del ints.tmp2
+    r1new.a += einsum(ints.tmp4, (0, 1, 2, 3), r2.bab, (3, 2, 0), (1,)) * -1
+    del ints.tmp4
+    r1new.a += einsum(r2.bab, (0, 1, 2), tmp0, (2, 0), (1,)) * -1
+    del tmp0
+    r1new.a += einsum(tmp1, (0, 1), r2.aaa, (2, 1, 0), (2,)) * 2
+    del tmp1
+    r1new.a += einsum(tmp2, (0, 1), r1.a, (0,), (1,)) * -1
+    del tmp2
+    r1new.a += einsum(t1.aa, (0, 1), tmp6, (0,), (1,)) * -1
+    del tmp6
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCCSD.hbar_lmatvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:50:45.616699.

+

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

+

tmp1 : array +tmp10 : array +tmp100 : array +tmp102 : array +tmp103 : array +tmp105 : array +tmp106 : array +tmp107 : array +tmp108 : array +tmp11 : array +tmp110 : array +tmp112 : array +tmp114 : array +tmp116 : array +tmp118 : array +tmp119 : array +tmp121 : array +tmp123 : array +tmp125 : array +tmp127 : array +tmp129 : array +tmp13 : array +tmp131 : array +tmp133 : array +tmp135 : array +tmp137 : array +tmp138 : array +tmp140 : array +tmp142 : array +tmp143 : array +tmp145 : array +tmp147 : array +tmp148 : array +tmp15 : array +tmp150 : array +tmp151 : array +tmp153 : array +tmp155 : array +tmp156 : array +tmp158 : array +tmp159 : array +tmp161 : array +tmp162 : array +tmp164 : array +tmp166 : array +tmp167 : array +tmp168 : array +tmp17 : array +tmp170 : array +tmp171 : array +tmp172 : array +tmp174 : array +tmp175 : array +tmp176 : array +tmp177 : array +tmp179 : array +tmp181 : array +tmp182 : array +tmp183 : array +tmp184 : array +tmp185 : array +tmp187 : array +tmp188 : array +tmp189 : array +tmp19 : array +tmp190 : array +tmp192 : array +tmp194 : array +tmp195 : array +tmp196 : array +tmp197 : array +tmp198 : array +tmp199 : array +tmp2 : array +tmp201 : array +tmp203 : array +tmp204 : array +tmp205 : array +tmp206 : array +tmp207 : array +tmp208 : array +tmp209 : array +tmp21 : array +tmp211 : array +tmp213 : array +tmp215 : array +tmp217 : array +tmp219 : array +tmp22 : array +tmp220 : array +tmp221 : array +tmp222 : array +tmp223 : array +tmp225 : array +tmp226 : array +tmp227 : array +tmp228 : array +tmp23 : array +tmp230 : array +tmp231 : array +tmp239 : array +tmp241 : array +tmp246 : array +tmp247 : array +tmp249 : array +tmp25 : array +tmp255 : array +tmp257 : array +tmp264 : array +tmp265 : array +tmp267 : array +tmp268 : array +tmp27 : array +tmp270 : array +tmp271 : array +tmp273 : array +tmp28 : array +tmp280 : array +tmp283 : array +tmp294 : array +tmp296 : array +tmp298 : array +tmp30 : array +tmp300 : array +tmp302 : array +tmp304 : array +tmp310 : array +tmp311 : array +tmp313 : array +tmp314 : array +tmp316 : array +tmp318 : array +tmp32 : array +tmp320 : array +tmp325 : array +tmp326 : array +tmp327 : array +tmp329 : array +tmp33 : array +tmp334 : array +tmp335 : array +tmp337 : array +tmp339 : array +tmp34 : array +tmp340 : array +tmp344 : array +tmp346 : array +tmp351 : array +tmp352 : array +tmp354 : array +tmp358 : array +tmp36 : array +tmp369 : array +tmp37 : array +tmp375 : array +tmp377 : array +tmp39 : array +tmp4 : array +tmp41 : array +tmp415 : array +tmp418 : array +tmp42 : array +tmp420 : array +tmp44 : array +tmp45 : array +tmp46 : array +tmp461 : array +tmp462 : array +tmp463 : array +tmp464 : array +tmp467 : array +tmp469 : array +tmp47 : array +tmp471 : array +tmp48 : array +tmp486 : array +tmp487 : array +tmp489 : array +tmp491 : array +tmp492 : array +tmp493 : array +tmp5 : array +tmp50 : array +tmp52 : array +tmp54 : array +tmp55 : array +tmp56 : array +tmp57 : array +tmp59 : array +tmp60 : array +tmp62 : array +tmp64 : array +tmp65 : array +tmp67 : array +tmp68 : array +tmp7 : array +tmp70 : array +tmp72 : array +tmp74 : array +tmp75 : array +tmp77 : array +tmp78 : array +tmp79 : array +tmp8 : array +tmp80 : array +tmp82 : array +tmp83 : array +tmp85 : array +tmp87 : array +tmp89 : array +tmp91 : array +tmp94 : array +tmp97 : array +tmp99 : array

+ +
+ Source code in ebcc/codegen/UDFCCSD.py +
4869
+4870
+4871
+4872
+4873
+4874
+4875
+4876
+4877
+4878
+4879
+4880
+4881
+4882
+4883
+4884
+4885
+4886
+4887
+4888
+4889
+4890
+4891
+4892
+4893
+4894
+4895
+4896
+4897
+4898
+4899
+4900
+4901
+4902
+4903
+4904
+4905
+4906
+4907
+4908
+4909
+4910
+4911
+4912
+4913
+4914
+4915
+4916
+4917
+4918
+4919
+4920
+4921
+4922
+4923
+4924
+4925
+4926
+4927
+4928
+4929
+4930
+4931
+4932
+4933
+4934
+4935
+4936
+4937
+4938
+4939
+4940
+4941
+4942
+4943
+4944
+4945
+4946
+4947
+4948
+4949
+4950
+4951
+4952
+4953
+4954
+4955
+4956
+4957
+4958
+4959
+4960
+4961
+4962
+4963
+4964
+4965
+4966
+4967
+4968
+4969
+4970
+4971
+4972
+4973
+4974
+4975
+4976
+4977
+4978
+4979
+4980
+4981
+4982
+4983
+4984
+4985
+4986
+4987
+4988
+4989
+4990
+4991
+4992
+4993
+4994
+4995
+4996
+4997
+4998
+4999
+5000
+5001
+5002
+5003
+5004
+5005
+5006
+5007
+5008
+5009
+5010
+5011
+5012
+5013
+5014
+5015
+5016
+5017
+5018
+5019
+5020
+5021
+5022
+5023
+5024
+5025
+5026
+5027
+5028
+5029
+5030
+5031
+5032
+5033
+5034
+5035
+5036
+5037
+5038
+5039
+5040
+5041
+5042
+5043
+5044
+5045
+5046
+5047
+5048
+5049
+5050
+5051
+5052
+5053
+5054
+5055
+5056
+5057
+5058
+5059
+5060
+5061
+5062
+5063
+5064
+5065
+5066
+5067
+5068
+5069
+5070
+5071
+5072
+5073
+5074
+5075
+5076
+5077
+5078
+5079
+5080
+5081
+5082
+5083
+5084
+5085
+5086
+5087
+5088
+5089
+5090
+5091
+5092
+5093
+5094
+5095
+5096
+5097
+5098
+5099
+5100
+5101
+5102
+5103
+5104
+5105
+5106
+5107
+5108
+5109
+5110
+5111
+5112
+5113
+5114
+5115
+5116
+5117
+5118
+5119
+5120
+5121
+5122
+5123
+5124
+5125
+5126
+5127
+5128
+5129
+5130
+5131
+5132
+5133
+5134
+5135
+5136
+5137
+5138
+5139
+5140
+5141
+5142
+5143
+5144
+5145
+5146
+5147
+5148
+5149
+5150
+5151
+5152
+5153
+5154
+5155
+5156
+5157
+5158
+5159
+5160
+5161
+5162
+5163
+5164
+5165
+5166
+5167
+5168
+5169
+5170
+5171
+5172
+5173
+5174
+5175
+5176
+5177
+5178
+5179
+5180
+5181
+5182
+5183
+5184
+5185
+5186
+5187
+5188
+5189
+5190
+5191
+5192
+5193
+5194
+5195
+5196
+5197
+5198
+5199
+5200
+5201
+5202
+5203
+5204
+5205
+5206
+5207
+5208
+5209
+5210
+5211
+5212
+5213
+5214
+5215
+5216
+5217
+5218
+5219
+5220
+5221
+5222
+5223
+5224
+5225
+5226
+5227
+5228
+5229
+5230
+5231
+5232
+5233
+5234
+5235
+5236
+5237
+5238
+5239
+5240
+5241
+5242
+5243
+5244
+5245
+5246
+5247
+5248
+5249
+5250
+5251
+5252
+5253
+5254
+5255
+5256
+5257
+5258
+5259
+5260
+5261
+5262
+5263
+5264
+5265
+5266
+5267
+5268
+5269
+5270
+5271
+5272
+5273
+5274
+5275
+5276
+5277
+5278
+5279
+5280
+5281
+5282
+5283
+5284
+5285
+5286
+5287
+5288
+5289
+5290
+5291
+5292
+5293
+5294
+5295
+5296
+5297
+5298
+5299
+5300
+5301
+5302
+5303
+5304
+5305
+5306
+5307
+5308
+5309
+5310
+5311
+5312
+5313
+5314
+5315
+5316
+5317
+5318
+5319
+5320
+5321
+5322
+5323
+5324
+5325
+5326
+5327
+5328
+5329
def hbar_lmatvec_ip_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:50:45.616699.
+
+    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
+    -------
+    tmp1 : array
+    tmp10 : array
+    tmp100 : array
+    tmp102 : array
+    tmp103 : array
+    tmp105 : array
+    tmp106 : array
+    tmp107 : array
+    tmp108 : array
+    tmp11 : array
+    tmp110 : array
+    tmp112 : array
+    tmp114 : array
+    tmp116 : array
+    tmp118 : array
+    tmp119 : array
+    tmp121 : array
+    tmp123 : array
+    tmp125 : array
+    tmp127 : array
+    tmp129 : array
+    tmp13 : array
+    tmp131 : array
+    tmp133 : array
+    tmp135 : array
+    tmp137 : array
+    tmp138 : array
+    tmp140 : array
+    tmp142 : array
+    tmp143 : array
+    tmp145 : array
+    tmp147 : array
+    tmp148 : array
+    tmp15 : array
+    tmp150 : array
+    tmp151 : array
+    tmp153 : array
+    tmp155 : array
+    tmp156 : array
+    tmp158 : array
+    tmp159 : array
+    tmp161 : array
+    tmp162 : array
+    tmp164 : array
+    tmp166 : array
+    tmp167 : array
+    tmp168 : array
+    tmp17 : array
+    tmp170 : array
+    tmp171 : array
+    tmp172 : array
+    tmp174 : array
+    tmp175 : array
+    tmp176 : array
+    tmp177 : array
+    tmp179 : array
+    tmp181 : array
+    tmp182 : array
+    tmp183 : array
+    tmp184 : array
+    tmp185 : array
+    tmp187 : array
+    tmp188 : array
+    tmp189 : array
+    tmp19 : array
+    tmp190 : array
+    tmp192 : array
+    tmp194 : array
+    tmp195 : array
+    tmp196 : array
+    tmp197 : array
+    tmp198 : array
+    tmp199 : array
+    tmp2 : array
+    tmp201 : array
+    tmp203 : array
+    tmp204 : array
+    tmp205 : array
+    tmp206 : array
+    tmp207 : array
+    tmp208 : array
+    tmp209 : array
+    tmp21 : array
+    tmp211 : array
+    tmp213 : array
+    tmp215 : array
+    tmp217 : array
+    tmp219 : array
+    tmp22 : array
+    tmp220 : array
+    tmp221 : array
+    tmp222 : array
+    tmp223 : array
+    tmp225 : array
+    tmp226 : array
+    tmp227 : array
+    tmp228 : array
+    tmp23 : array
+    tmp230 : array
+    tmp231 : array
+    tmp239 : array
+    tmp241 : array
+    tmp246 : array
+    tmp247 : array
+    tmp249 : array
+    tmp25 : array
+    tmp255 : array
+    tmp257 : array
+    tmp264 : array
+    tmp265 : array
+    tmp267 : array
+    tmp268 : array
+    tmp27 : array
+    tmp270 : array
+    tmp271 : array
+    tmp273 : array
+    tmp28 : array
+    tmp280 : array
+    tmp283 : array
+    tmp294 : array
+    tmp296 : array
+    tmp298 : array
+    tmp30 : array
+    tmp300 : array
+    tmp302 : array
+    tmp304 : array
+    tmp310 : array
+    tmp311 : array
+    tmp313 : array
+    tmp314 : array
+    tmp316 : array
+    tmp318 : array
+    tmp32 : array
+    tmp320 : array
+    tmp325 : array
+    tmp326 : array
+    tmp327 : array
+    tmp329 : array
+    tmp33 : array
+    tmp334 : array
+    tmp335 : array
+    tmp337 : array
+    tmp339 : array
+    tmp34 : array
+    tmp340 : array
+    tmp344 : array
+    tmp346 : array
+    tmp351 : array
+    tmp352 : array
+    tmp354 : array
+    tmp358 : array
+    tmp36 : array
+    tmp369 : array
+    tmp37 : array
+    tmp375 : array
+    tmp377 : array
+    tmp39 : array
+    tmp4 : array
+    tmp41 : array
+    tmp415 : array
+    tmp418 : array
+    tmp42 : array
+    tmp420 : array
+    tmp44 : array
+    tmp45 : array
+    tmp46 : array
+    tmp461 : array
+    tmp462 : array
+    tmp463 : array
+    tmp464 : array
+    tmp467 : array
+    tmp469 : array
+    tmp47 : array
+    tmp471 : array
+    tmp48 : array
+    tmp486 : array
+    tmp487 : array
+    tmp489 : array
+    tmp491 : array
+    tmp492 : array
+    tmp493 : array
+    tmp5 : array
+    tmp50 : array
+    tmp52 : array
+    tmp54 : array
+    tmp55 : array
+    tmp56 : array
+    tmp57 : array
+    tmp59 : array
+    tmp60 : array
+    tmp62 : array
+    tmp64 : array
+    tmp65 : array
+    tmp67 : array
+    tmp68 : array
+    tmp7 : array
+    tmp70 : array
+    tmp72 : array
+    tmp74 : array
+    tmp75 : array
+    tmp77 : array
+    tmp78 : array
+    tmp79 : array
+    tmp8 : array
+    tmp80 : array
+    tmp82 : array
+    tmp83 : array
+    tmp85 : array
+    tmp87 : array
+    tmp89 : array
+    tmp91 : array
+    tmp94 : array
+    tmp97 : array
+    tmp99 : array
+    """
+
+    tmp29 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (1, 2), (0,))
+    tmp31 = einsum(t1.bb, (0, 1), v.bbb.xov, (2, 0, 1), (2,))
+    tmp106 = einsum(t1.bb, (0, 1), v.bbb.xov, (2, 3, 1), (2, 0, 3))
+    tmp27 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (3, 2), (0, 3, 1))
+    tmp170 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp325 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp47 = einsum(v.bbb.xov, (0, 1, 2), tmp29, (0,), (1, 2))
+    tmp48 = einsum(v.baa.xov, (0, 1, 2), tmp31, (0,), (1, 2))
+    tmp44 = einsum(tmp31, (0,), v.bbb.xov, (0, 1, 2), (1, 2))
+    tmp107 = einsum(tmp106, (0, 1, 2), v.bbb.xov, (0, 1, 3), (2, 3))
+    tmp39 = einsum(v.baa.xov, (0, 1, 2), tmp29, (0,), (1, 2))
+    tmp99 = einsum(v.baa.xov, (0, 1, 2), tmp27, (0, 1, 3), (3, 2))
+    tmp166 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp59 = einsum(t2.abab, (0, 1, 2, 3), v.bbb.xov, (4, 1, 3), (4, 0, 2))
+    tmp77 = einsum(v.baa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (0, 3, 4))
+    tmp82 = einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (0, 3, 4))
+    tmp56 = einsum(t2.aaaa, (0, 1, 2, 3), v.baa.xov, (4, 1, 3), (4, 0, 2))
+    tmp45 = einsum(t1.bb, (0, 1), v.bbb.xvv, (2, 3, 1), (2, 0, 3))
+    tmp41 = einsum(t1.aa, (0, 1), v.baa.xvv, (2, 3, 1), (2, 0, 3))
+    tmp230 = einsum(tmp27, (0, 1, 2), tmp106, (0, 3, 4), (1, 2, 3, 4))
+    tmp351 = einsum(tmp106, (0, 1, 2), tmp106, (0, 3, 4), (1, 3, 2, 4))
+    tmp194 = einsum(tmp27, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 2, 3, 4))
+    tmp196 = einsum(tmp106, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp334 = einsum(v.bbb.xoo, (0, 1, 2), tmp106, (0, 3, 4), (3, 1, 2, 4))
+    tmp171 = einsum(t2.abab, (0, 1, 2, 3), tmp170, (4, 5, 2, 3), (0, 4, 1, 5))
+    tmp326 = einsum(t2.bbbb, (0, 1, 2, 3), tmp325, (4, 5, 2, 3), (0, 1, 5, 4)) * -1
+    tmp54 = einsum(tmp27, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 2, 3, 4))
+    tmp137 = einsum(tmp106, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp282 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp279 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 2, 4))
+    tmp25 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp64 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp36 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp246 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp227 = einsum(tmp27, (0, 1, 2), tmp27, (0, 3, 4), (3, 1, 4, 2))
+    tmp225 = einsum(t1.bb, (0, 1), tmp47, (2, 1), (0, 2))
+    tmp176 = einsum(tmp48, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp221 = einsum(t1.bb, (0, 1), tmp44, (2, 1), (0, 2))
+    tmp219 = einsum(t1.bb, (0, 1), tmp107, (2, 1), (0, 2))
+    tmp175 = einsum(tmp39, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp174 = einsum(t1.aa, (0, 1), tmp99, (2, 1), (0, 2))
+    tmp208 = einsum(tmp31, (0,), v.baa.xvv, (0, 1, 2), (1, 2))
+    tmp206 = einsum(tmp29, (0,), v.bbb.xvv, (0, 1, 2), (1, 2))
+    tmp203 = einsum(tmp31, (0,), v.bbb.xvv, (0, 1, 2), (1, 2))
+    tmp198 = einsum(tmp29, (0,), v.baa.xvv, (0, 1, 2), (1, 2))
+    tmp189 = einsum(v.baa.xoo, (0, 1, 2), tmp27, (0, 3, 4), (3, 1, 2, 4))
+    tmp187 = einsum(v.bbb.xoo, (0, 1, 2), tmp29, (0,), (1, 2))
+    tmp32 = einsum(tmp31, (0,), v.baa.xoo, (0, 1, 2), (1, 2))
+    tmp183 = einsum(v.bbb.xoo, (0, 1, 2), tmp31, (0,), (1, 2))
+    del tmp31
+    tmp181 = einsum(tmp106, (0, 1, 2), v.bbb.xoo, (0, 3, 1), (3, 2))
+    tmp30 = einsum(tmp29, (0,), v.baa.xoo, (0, 1, 2), (1, 2))
+    del tmp29
+    tmp28 = einsum(v.baa.xoo, (0, 1, 2), tmp27, (0, 2, 3), (1, 3))
+    tmp167 = einsum(t2.aaaa, (0, 1, 2, 3), tmp166, (4, 5, 2, 3), (0, 1, 5, 4)) * -1
+    tmp60 = einsum(tmp59, (0, 1, 2), v.baa.xov, (0, 3, 2), (1, 3))
+    tmp161 = einsum(tmp77, (0, 1, 2), v.bbb.xov, (0, 3, 2), (1, 3))
+    tmp158 = einsum(tmp82, (0, 1, 2), v.bbb.xov, (0, 3, 2), (1, 3))
+    tmp57 = einsum(tmp56, (0, 1, 2), v.baa.xov, (0, 3, 2), (1, 3))
+    tmp142 = einsum(tmp106, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 2, 4))
+    tmp50 = einsum(v.baa.xov, (0, 1, 2), tmp27, (0, 3, 4), (3, 1, 4, 2))
+    tmp96 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp93 = einsum(v.baa.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp67 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp23 = einsum(v.baa.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp33 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp21 = einsum(t1.bb, (0, 1), f.bb.ov, (2, 1), (2, 0))
+    tmp1 = einsum(f.aa.ov, (0, 1), t1.aa, (2, 1), (0, 2))
+    tmp493 = einsum(t2.abab, (0, 1, 2, 3), tmp170, (4, 1, 2, 5), (0, 4, 3, 5))
+    tmp492 = einsum(tmp27, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp491 = einsum(v.bbb.xvv, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp489 = einsum(v.bbb.xov, (0, 1, 2), tmp77, (0, 1, 3), (3, 2))
+    tmp487 = einsum(tmp82, (0, 1, 2), v.bbb.xov, (0, 1, 3), (2, 3))
+    tmp486 = einsum(tmp45, (0, 1, 2), v.bbb.xov, (0, 1, 3), (3, 2))
+    tmp471 = einsum(tmp325, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (4, 1, 5, 2))
+    tmp469 = einsum(t2.abab, (0, 1, 2, 3), tmp325, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp467 = einsum(tmp106, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp464 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp463 = einsum(t2.abab, (0, 1, 2, 3), tmp170, (0, 4, 5, 3), (1, 4, 2, 5))
+    tmp462 = einsum(tmp106, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp461 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp420 = einsum(tmp59, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    tmp418 = einsum(tmp56, (0, 1, 2), v.baa.xov, (0, 1, 3), (2, 3))
+    tmp415 = einsum(v.baa.xov, (0, 1, 2), tmp41, (0, 1, 3), (2, 3))
+    tmp377 = einsum(t2.abab, (0, 1, 2, 3), tmp166, (0, 4, 5, 2), (4, 1, 5, 3))
+    tmp375 = einsum(tmp166, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (4, 1, 5, 2))
+    tmp369 = einsum(tmp27, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp358 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp354 = einsum(tmp230, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp352 = einsum(tmp351, (0, 1, 2, 3), t1.bb, (3, 4), (0, 1, 2, 4))
+    tmp346 = einsum(tmp106, (0, 1, 2), tmp41, (0, 3, 4), (3, 1, 2, 4))
+    tmp344 = einsum(tmp106, (0, 1, 2), tmp45, (0, 3, 4), (1, 3, 2, 4))
+    tmp340 = einsum(tmp194, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp339 = einsum(tmp196, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 3, 4))
+    tmp337 = einsum(t1.bb, (0, 1), tmp334, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp335 = einsum(t1.bb, (0, 1), tmp334, (2, 3, 0, 4), (2, 3, 4, 1))
+    tmp329 = einsum(tmp171, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp327 = einsum(tmp326, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4)) * -1
+    tmp320 = einsum(tmp54, (0, 1, 2, 3), t2.abab, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp318 = einsum(tmp77, (0, 1, 2), tmp106, (0, 3, 4), (3, 1, 4, 2))
+    tmp316 = einsum(tmp106, (0, 1, 2), tmp56, (0, 3, 4), (3, 1, 2, 4))
+    tmp314 = einsum(tmp137, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (0, 4, 1, 5))
+    tmp313 = einsum(tmp137, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (4, 0, 1, 5))
+    tmp311 = einsum(tmp106, (0, 1, 2), tmp82, (0, 3, 4), (1, 3, 2, 4))
+    tmp310 = einsum(tmp106, (0, 1, 2), tmp59, (0, 3, 4), (3, 1, 2, 4))
+    tmp304 = einsum(tmp47, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp302 = einsum(tmp47, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp300 = einsum(tmp44, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp298 = einsum(tmp44, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp296 = einsum(tmp107, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp294 = einsum(tmp107, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp283 = einsum(tmp282, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 5, 0, 2))
+    del tmp282
+    tmp280 = einsum(tmp279, (0, 1, 2, 3), t2.bbbb, (4, 5, 2, 3), (4, 5, 0, 1)) * -1
+    del tmp279
+    tmp273 = einsum(tmp77, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp271 = einsum(tmp56, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp270 = einsum(t2.abab, (0, 1, 2, 3), tmp25, (4, 0, 5, 3), (4, 1, 5, 2))
+    tmp268 = einsum(tmp82, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp267 = einsum(tmp59, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp265 = einsum(tmp64, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 3), (4, 1, 2, 5))
+    tmp264 = einsum(tmp64, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 2, 5))
+    tmp257 = einsum(tmp41, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp255 = einsum(v.bbb.xoo, (0, 1, 2), tmp45, (0, 3, 4), (3, 1, 2, 4))
+    tmp249 = einsum(tmp36, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 3, 4))
+    tmp247 = einsum(tmp246, (0, 1, 2, 3), t1.bb, (1, 4), (3, 0, 2, 4))
+    tmp241 = einsum(f.bb.ov, (0, 1), t2.bbbb, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp239 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 3, 4, 1), (2, 0, 3, 4))
+    tmp231 = einsum(t1.bb, (0, 1), tmp230, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp228 = einsum(t1.aa, (0, 1), tmp227, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp226 = einsum(t1.bb, (0, 1), tmp225, (2, 0), (2, 1))
+    tmp223 = einsum(t1.aa, (0, 1), tmp176, (2, 0), (2, 1))
+    tmp222 = einsum(t1.bb, (0, 1), tmp221, (2, 0), (2, 1))
+    tmp220 = einsum(t1.bb, (0, 1), tmp219, (2, 0), (2, 1))
+    tmp217 = einsum(t1.aa, (0, 1), tmp175, (2, 0), (2, 1))
+    tmp215 = einsum(t1.aa, (0, 1), tmp174, (2, 0), (2, 1))
+    tmp213 = einsum(tmp27, (0, 1, 2), tmp45, (0, 3, 4), (1, 2, 3, 4))
+    tmp211 = einsum(tmp41, (0, 1, 2), tmp27, (0, 3, 4), (3, 1, 4, 2))
+    tmp209 = einsum(t1.aa, (0, 1), tmp208, (2, 1), (0, 2))
+    tmp207 = einsum(t1.bb, (0, 1), tmp206, (2, 1), (0, 2))
+    tmp205 = einsum(tmp106, (0, 1, 2), tmp45, (0, 2, 3), (1, 3))
+    tmp204 = einsum(tmp203, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp201 = einsum(tmp27, (0, 1, 2), tmp41, (0, 2, 3), (1, 3))
+    tmp199 = einsum(t1.aa, (0, 1), tmp198, (2, 1), (0, 2))
+    tmp197 = einsum(t1.bb, (0, 1), tmp196, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp195 = einsum(t1.bb, (0, 1), tmp194, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp192 = einsum(t1.aa, (0, 1), tmp189, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp190 = einsum(t1.aa, (0, 1), tmp189, (2, 3, 0, 4), (2, 3, 4, 1))
+    tmp188 = einsum(t1.bb, (0, 1), tmp187, (2, 0), (2, 1))
+    tmp185 = einsum(tmp32, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp184 = einsum(t1.bb, (0, 1), tmp183, (2, 0), (2, 1))
+    tmp182 = einsum(t1.bb, (0, 1), tmp181, (2, 0), (2, 1))
+    tmp179 = einsum(tmp30, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp177 = einsum(t1.aa, (0, 1), tmp28, (2, 0), (2, 1))
+    tmp172 = einsum(t1.bb, (0, 1), tmp171, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp168 = einsum(t1.aa, (0, 1), tmp167, (2, 3, 0, 4), (2, 3, 4, 1)) * -1
+    tmp164 = einsum(tmp60, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp162 = einsum(t1.bb, (0, 1), tmp161, (2, 0), (2, 1))
+    tmp159 = einsum(t1.bb, (0, 1), tmp158, (2, 0), (2, 1))
+    tmp156 = einsum(tmp57, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp155 = einsum(tmp142, (0, 1, 2, 3), t2.abab, (4, 2, 3, 5), (4, 0, 1, 5))
+    tmp153 = einsum(tmp27, (0, 1, 2), tmp82, (0, 3, 4), (1, 2, 3, 4))
+    tmp151 = einsum(tmp59, (0, 1, 2), tmp27, (0, 3, 4), (3, 1, 4, 2))
+    tmp150 = einsum(tmp50, (0, 1, 2, 3), t2.abab, (2, 4, 3, 5), (0, 1, 4, 5))
+    tmp148 = einsum(t2.aaaa, (0, 1, 2, 3), tmp50, (4, 5, 1, 3), (4, 0, 5, 2))
+    tmp147 = einsum(tmp27, (0, 1, 2), tmp77, (0, 3, 4), (1, 2, 3, 4))
+    tmp145 = einsum(tmp56, (0, 1, 2), tmp27, (0, 3, 4), (3, 1, 4, 2))
+    tmp143 = einsum(tmp142, (0, 1, 2, 3), t2.abab, (0, 2, 3, 4), (1, 4))
+    tmp140 = einsum(t2.abab, (0, 1, 2, 3), tmp54, (4, 0, 1, 3), (4, 2))
+    tmp138 = einsum(tmp137, (0, 1, 2, 3), t2.bbbb, (2, 1, 4, 3), (0, 4))
+    tmp135 = einsum(t2.aaaa, (0, 1, 2, 3), tmp50, (4, 1, 0, 3), (4, 2))
+    tmp133 = einsum(tmp48, (0, 1), t2.abab, (2, 3, 1, 4), (2, 0, 3, 4))
+    tmp131 = einsum(t2.aaaa, (0, 1, 2, 3), tmp48, (4, 3), (0, 1, 4, 2))
+    tmp129 = einsum(tmp39, (0, 1), t2.abab, (2, 3, 1, 4), (2, 0, 3, 4))
+    tmp127 = einsum(tmp39, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp125 = einsum(t2.abab, (0, 1, 2, 3), tmp99, (4, 2), (0, 4, 1, 3))
+    tmp123 = einsum(t2.aaaa, (0, 1, 2, 3), tmp99, (4, 3), (0, 1, 4, 2))
+    tmp121 = einsum(t2.bbbb, (0, 1, 2, 3), tmp47, (1, 3), (0, 2))
+    tmp119 = einsum(tmp47, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp118 = einsum(t2.abab, (0, 1, 2, 3), tmp48, (0, 2), (1, 3))
+    tmp116 = einsum(t2.aaaa, (0, 1, 2, 3), tmp48, (1, 3), (0, 2))
+    tmp114 = einsum(tmp44, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3))
+    tmp112 = einsum(t2.abab, (0, 1, 2, 3), tmp44, (1, 3), (0, 2))
+    tmp110 = einsum(t2.bbbb, (0, 1, 2, 3), tmp107, (1, 3), (0, 2))
+    tmp108 = einsum(t2.abab, (0, 1, 2, 3), tmp107, (1, 3), (0, 2))
+    tmp105 = einsum(tmp39, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp103 = einsum(t2.aaaa, (0, 1, 2, 3), tmp39, (1, 3), (0, 2))
+    tmp102 = einsum(t2.abab, (0, 1, 2, 3), tmp99, (0, 2), (1, 3))
+    tmp100 = einsum(t2.aaaa, (0, 1, 2, 3), tmp99, (1, 3), (0, 2))
+    tmp97 = einsum(t2.abab, (0, 1, 2, 3), tmp96, (4, 2, 5, 3), (0, 4, 1, 5))
+    del tmp96
+    tmp94 = einsum(t2.aaaa, (0, 1, 2, 3), tmp93, (4, 2, 5, 3), (0, 1, 4, 5)) * -1
+    del tmp93
+    tmp91 = einsum(v.baa.xvv, (0, 1, 2), tmp59, (0, 3, 2), (3, 1))
+    tmp89 = einsum(v.bbb.xvv, (0, 1, 2), tmp77, (0, 3, 2), (3, 1))
+    tmp87 = einsum(tmp82, (0, 1, 2), v.bbb.xvv, (0, 3, 2), (1, 3)) * -1
+    tmp85 = einsum(v.baa.xvv, (0, 1, 2), tmp56, (0, 3, 2), (3, 1)) * -1
+    tmp83 = einsum(tmp82, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp80 = einsum(tmp59, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp79 = einsum(tmp67, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (4, 0, 2, 5))
+    tmp78 = einsum(v.baa.xoo, (0, 1, 2), tmp77, (0, 3, 4), (1, 2, 3, 4))
+    tmp75 = einsum(tmp56, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp74 = einsum(tmp23, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 2, 4, 5))
+    tmp72 = einsum(t2.aaaa, (0, 1, 2, 3), tmp23, (1, 4, 5, 3), (0, 4, 5, 2))
+    tmp70 = einsum(tmp25, (0, 1, 2, 3), t2.abab, (1, 2, 4, 3), (0, 4))
+    tmp68 = einsum(tmp67, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4))
+    tmp65 = einsum(t2.bbbb, (0, 1, 2, 3), tmp64, (0, 4, 1, 3), (4, 2))
+    tmp62 = einsum(t2.aaaa, (0, 1, 2, 3), tmp23, (4, 0, 1, 3), (4, 2))
+    tmp55 = einsum(v.baa.xoo, (0, 1, 2), tmp45, (0, 3, 4), (1, 2, 3, 4))
+    tmp52 = einsum(tmp41, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp46 = einsum(v.bbb.xoo, (0, 1, 2), tmp45, (0, 2, 3), (1, 3))
+    tmp42 = einsum(tmp41, (0, 1, 2), v.baa.xoo, (0, 3, 1), (3, 2))
+    tmp37 = einsum(t1.bb, (0, 1), tmp36, (2, 3, 4, 0), (3, 2, 4, 1))
+    tmp34 = einsum(t1.aa, (0, 1), tmp33, (2, 0, 3, 4), (4, 2, 3, 1))
+    tmp22 = einsum(t1.bb, (0, 1), tmp21, (0, 2), (2, 1))
+    tmp19 = einsum(tmp1, (0, 1), t1.aa, (0, 2), (1, 2))
+    tmp17 = einsum(f.aa.ov, (0, 1), t2.abab, (2, 3, 1, 4), (0, 2, 3, 4))
+    tmp15 = einsum(f.aa.ov, (0, 1), t2.aaaa, (2, 3, 4, 1), (0, 2, 3, 4))
+    tmp13 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.ov, (1, 3), (0, 2))
+    tmp11 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp10 = einsum(f.aa.ov, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp8 = einsum(t2.aaaa, (0, 1, 2, 3), f.aa.ov, (1, 3), (0, 2))
+    tmp7 = einsum(f.bb.vv, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp5 = einsum(t1.aa, (0, 1), f.aa.vv, (2, 1), (0, 2))
+    tmp4 = einsum(f.bb.oo, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp2 = einsum(t1.aa, (0, 1), f.aa.oo, (2, 0), (2, 1))
+
+    return {f"tmp1": tmp1, f"tmp10": tmp10, f"tmp100": tmp100, f"tmp102": tmp102, f"tmp103": tmp103, f"tmp105": tmp105, f"tmp106": tmp106, f"tmp107": tmp107, f"tmp108": tmp108, f"tmp11": tmp11, f"tmp110": tmp110, f"tmp112": tmp112, f"tmp114": tmp114, f"tmp116": tmp116, f"tmp118": tmp118, f"tmp119": tmp119, f"tmp121": tmp121, f"tmp123": tmp123, f"tmp125": tmp125, f"tmp127": tmp127, f"tmp129": tmp129, f"tmp13": tmp13, f"tmp131": tmp131, f"tmp133": tmp133, f"tmp135": tmp135, f"tmp137": tmp137, f"tmp138": tmp138, f"tmp140": tmp140, f"tmp142": tmp142, f"tmp143": tmp143, f"tmp145": tmp145, f"tmp147": tmp147, f"tmp148": tmp148, f"tmp15": tmp15, f"tmp150": tmp150, f"tmp151": tmp151, f"tmp153": tmp153, f"tmp155": tmp155, f"tmp156": tmp156, f"tmp158": tmp158, f"tmp159": tmp159, f"tmp161": tmp161, f"tmp162": tmp162, f"tmp164": tmp164, f"tmp166": tmp166, f"tmp167": tmp167, f"tmp168": tmp168, f"tmp17": tmp17, f"tmp170": tmp170, f"tmp171": tmp171, f"tmp172": tmp172, f"tmp174": tmp174, f"tmp175": tmp175, f"tmp176": tmp176, f"tmp177": tmp177, f"tmp179": tmp179, f"tmp181": tmp181, f"tmp182": tmp182, f"tmp183": tmp183, f"tmp184": tmp184, f"tmp185": tmp185, f"tmp187": tmp187, f"tmp188": tmp188, f"tmp189": tmp189, f"tmp19": tmp19, f"tmp190": tmp190, f"tmp192": tmp192, f"tmp194": tmp194, f"tmp195": tmp195, f"tmp196": tmp196, f"tmp197": tmp197, f"tmp198": tmp198, f"tmp199": tmp199, f"tmp2": tmp2, f"tmp201": tmp201, f"tmp203": tmp203, f"tmp204": tmp204, f"tmp205": tmp205, f"tmp206": tmp206, f"tmp207": tmp207, f"tmp208": tmp208, f"tmp209": tmp209, f"tmp21": tmp21, f"tmp211": tmp211, f"tmp213": tmp213, f"tmp215": tmp215, f"tmp217": tmp217, f"tmp219": tmp219, f"tmp22": tmp22, f"tmp220": tmp220, f"tmp221": tmp221, f"tmp222": tmp222, f"tmp223": tmp223, f"tmp225": tmp225, f"tmp226": tmp226, f"tmp227": tmp227, f"tmp228": tmp228, f"tmp23": tmp23, f"tmp230": tmp230, f"tmp231": tmp231, f"tmp239": tmp239, f"tmp241": tmp241, f"tmp246": tmp246, f"tmp247": tmp247, f"tmp249": tmp249, f"tmp25": tmp25, f"tmp255": tmp255, f"tmp257": tmp257, f"tmp264": tmp264, f"tmp265": tmp265, f"tmp267": tmp267, f"tmp268": tmp268, f"tmp27": tmp27, f"tmp270": tmp270, f"tmp271": tmp271, f"tmp273": tmp273, f"tmp28": tmp28, f"tmp280": tmp280, f"tmp283": tmp283, f"tmp294": tmp294, f"tmp296": tmp296, f"tmp298": tmp298, f"tmp30": tmp30, f"tmp300": tmp300, f"tmp302": tmp302, f"tmp304": tmp304, f"tmp310": tmp310, f"tmp311": tmp311, f"tmp313": tmp313, f"tmp314": tmp314, f"tmp316": tmp316, f"tmp318": tmp318, f"tmp32": tmp32, f"tmp320": tmp320, f"tmp325": tmp325, f"tmp326": tmp326, f"tmp327": tmp327, f"tmp329": tmp329, f"tmp33": tmp33, f"tmp334": tmp334, f"tmp335": tmp335, f"tmp337": tmp337, f"tmp339": tmp339, f"tmp34": tmp34, f"tmp340": tmp340, f"tmp344": tmp344, f"tmp346": tmp346, f"tmp351": tmp351, f"tmp352": tmp352, f"tmp354": tmp354, f"tmp358": tmp358, f"tmp36": tmp36, f"tmp369": tmp369, f"tmp37": tmp37, f"tmp375": tmp375, f"tmp377": tmp377, f"tmp39": tmp39, f"tmp4": tmp4, f"tmp41": tmp41, f"tmp415": tmp415, f"tmp418": tmp418, f"tmp42": tmp42, f"tmp420": tmp420, f"tmp44": tmp44, f"tmp45": tmp45, f"tmp46": tmp46, f"tmp461": tmp461, f"tmp462": tmp462, f"tmp463": tmp463, f"tmp464": tmp464, f"tmp467": tmp467, f"tmp469": tmp469, f"tmp47": tmp47, f"tmp471": tmp471, f"tmp48": tmp48, f"tmp486": tmp486, f"tmp487": tmp487, f"tmp489": tmp489, f"tmp491": tmp491, f"tmp492": tmp492, f"tmp493": tmp493, f"tmp5": tmp5, f"tmp50": tmp50, f"tmp52": tmp52, f"tmp54": tmp54, f"tmp55": tmp55, f"tmp56": tmp56, f"tmp57": tmp57, f"tmp59": tmp59, f"tmp60": tmp60, f"tmp62": tmp62, f"tmp64": tmp64, f"tmp65": tmp65, f"tmp67": tmp67, f"tmp68": tmp68, f"tmp7": tmp7, f"tmp70": tmp70, f"tmp72": tmp72, f"tmp74": tmp74, f"tmp75": tmp75, f"tmp77": tmp77, f"tmp78": tmp78, f"tmp79": tmp79, f"tmp8": tmp8, f"tmp80": tmp80, f"tmp82": tmp82, f"tmp83": tmp83, f"tmp85": tmp85, f"tmp87": tmp87, f"tmp89": tmp89, f"tmp91": tmp91, f"tmp94": tmp94, f"tmp97": tmp97, f"tmp99": tmp99}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCCSD.hbar_lmatvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:50:45.734705.

+

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.

+ +
+ Source code in ebcc/codegen/UDFCCSD.py +
5331
+5332
+5333
+5334
+5335
+5336
+5337
+5338
+5339
+5340
+5341
+5342
+5343
+5344
+5345
+5346
+5347
+5348
+5349
+5350
+5351
+5352
+5353
+5354
+5355
+5356
+5357
+5358
+5359
+5360
+5361
+5362
+5363
+5364
+5365
+5366
+5367
+5368
+5369
+5370
+5371
+5372
+5373
+5374
+5375
+5376
+5377
+5378
+5379
+5380
+5381
+5382
+5383
+5384
+5385
+5386
+5387
+5388
+5389
+5390
+5391
+5392
+5393
+5394
+5395
+5396
+5397
+5398
+5399
+5400
+5401
+5402
+5403
+5404
+5405
+5406
+5407
+5408
+5409
+5410
+5411
+5412
+5413
+5414
+5415
+5416
+5417
+5418
+5419
+5420
+5421
+5422
+5423
+5424
+5425
+5426
+5427
+5428
+5429
+5430
+5431
+5432
+5433
+5434
+5435
+5436
+5437
+5438
+5439
+5440
+5441
+5442
+5443
+5444
+5445
+5446
+5447
+5448
+5449
+5450
+5451
+5452
+5453
+5454
+5455
+5456
+5457
+5458
+5459
+5460
+5461
+5462
+5463
+5464
+5465
+5466
+5467
+5468
+5469
+5470
+5471
+5472
+5473
+5474
+5475
+5476
+5477
+5478
+5479
+5480
+5481
+5482
+5483
+5484
+5485
+5486
+5487
+5488
+5489
+5490
+5491
+5492
+5493
+5494
+5495
+5496
+5497
+5498
+5499
+5500
+5501
+5502
+5503
+5504
+5505
+5506
+5507
+5508
+5509
+5510
+5511
+5512
+5513
+5514
+5515
+5516
+5517
+5518
+5519
+5520
+5521
+5522
+5523
+5524
+5525
+5526
+5527
+5528
+5529
+5530
+5531
+5532
+5533
+5534
+5535
+5536
+5537
+5538
+5539
+5540
+5541
+5542
+5543
+5544
+5545
+5546
+5547
+5548
+5549
+5550
+5551
+5552
+5553
+5554
+5555
+5556
+5557
+5558
+5559
+5560
+5561
+5562
+5563
+5564
+5565
+5566
+5567
+5568
+5569
+5570
+5571
+5572
+5573
+5574
+5575
+5576
+5577
+5578
+5579
+5580
+5581
+5582
+5583
+5584
+5585
+5586
+5587
+5588
+5589
+5590
+5591
+5592
+5593
+5594
+5595
+5596
+5597
+5598
+5599
+5600
+5601
+5602
+5603
+5604
+5605
+5606
+5607
+5608
+5609
+5610
+5611
+5612
+5613
+5614
+5615
+5616
+5617
+5618
+5619
+5620
+5621
+5622
+5623
+5624
+5625
+5626
+5627
+5628
+5629
+5630
+5631
+5632
+5633
+5634
+5635
+5636
+5637
+5638
+5639
+5640
+5641
+5642
+5643
+5644
+5645
+5646
+5647
+5648
+5649
+5650
+5651
+5652
+5653
+5654
+5655
+5656
+5657
+5658
+5659
+5660
+5661
+5662
+5663
+5664
+5665
+5666
+5667
+5668
+5669
+5670
+5671
+5672
+5673
+5674
+5675
+5676
+5677
+5678
+5679
+5680
+5681
+5682
+5683
+5684
+5685
+5686
+5687
+5688
+5689
+5690
+5691
+5692
+5693
+5694
+5695
+5696
+5697
+5698
+5699
+5700
+5701
+5702
+5703
+5704
+5705
+5706
+5707
+5708
+5709
+5710
+5711
+5712
+5713
+5714
+5715
+5716
+5717
+5718
+5719
+5720
+5721
+5722
+5723
+5724
+5725
+5726
+5727
+5728
+5729
+5730
+5731
+5732
+5733
+5734
+5735
+5736
+5737
+5738
+5739
+5740
+5741
+5742
+5743
+5744
+5745
+5746
+5747
+5748
+5749
+5750
+5751
+5752
+5753
+5754
+5755
+5756
+5757
+5758
+5759
+5760
+5761
+5762
+5763
+5764
+5765
+5766
+5767
+5768
+5769
+5770
+5771
+5772
+5773
+5774
+5775
+5776
+5777
+5778
+5779
+5780
+5781
+5782
+5783
+5784
+5785
+5786
+5787
+5788
+5789
+5790
+5791
+5792
+5793
+5794
+5795
+5796
+5797
+5798
+5799
+5800
+5801
+5802
+5803
+5804
+5805
+5806
+5807
+5808
+5809
+5810
+5811
+5812
+5813
+5814
+5815
+5816
+5817
+5818
+5819
+5820
+5821
+5822
+5823
+5824
+5825
+5826
+5827
+5828
+5829
+5830
+5831
+5832
+5833
+5834
+5835
+5836
+5837
+5838
+5839
+5840
+5841
+5842
+5843
+5844
+5845
+5846
+5847
+5848
+5849
+5850
+5851
+5852
+5853
+5854
+5855
+5856
+5857
+5858
+5859
+5860
+5861
+5862
+5863
+5864
+5865
+5866
+5867
+5868
+5869
+5870
+5871
+5872
+5873
+5874
+5875
+5876
+5877
+5878
+5879
+5880
+5881
+5882
+5883
+5884
+5885
+5886
+5887
+5888
+5889
+5890
+5891
+5892
+5893
+5894
+5895
+5896
+5897
+5898
+5899
+5900
+5901
+5902
+5903
+5904
+5905
+5906
+5907
+5908
+5909
+5910
+5911
+5912
+5913
+5914
+5915
+5916
+5917
+5918
+5919
+5920
+5921
+5922
+5923
+5924
+5925
+5926
+5927
+5928
+5929
+5930
+5931
+5932
+5933
+5934
+5935
+5936
+5937
+5938
+5939
+5940
+5941
+5942
+5943
+5944
+5945
+5946
+5947
+5948
+5949
+5950
+5951
+5952
+5953
+5954
+5955
+5956
+5957
+5958
+5959
+5960
+5961
+5962
+5963
+5964
+5965
+5966
+5967
+5968
+5969
+5970
+5971
+5972
+5973
+5974
+5975
+5976
+5977
+5978
+5979
+5980
+5981
+5982
+5983
+5984
+5985
+5986
+5987
+5988
+5989
+5990
+5991
+5992
+5993
+5994
+5995
+5996
+5997
+5998
+5999
+6000
+6001
+6002
+6003
+6004
+6005
+6006
+6007
+6008
+6009
+6010
+6011
+6012
+6013
+6014
+6015
+6016
+6017
+6018
+6019
+6020
+6021
+6022
+6023
+6024
+6025
+6026
+6027
+6028
+6029
+6030
+6031
+6032
+6033
+6034
+6035
+6036
+6037
+6038
+6039
+6040
+6041
+6042
+6043
+6044
+6045
+6046
+6047
+6048
+6049
+6050
+6051
+6052
+6053
+6054
+6055
+6056
+6057
+6058
+6059
+6060
+6061
+6062
+6063
+6064
+6065
+6066
+6067
+6068
+6069
+6070
+6071
+6072
+6073
+6074
+6075
+6076
+6077
+6078
+6079
+6080
+6081
+6082
+6083
+6084
+6085
+6086
+6087
+6088
+6089
+6090
def hbar_lmatvec_ip(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:50:45.734705.
+
+    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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp52 = einsum(t1.bb, (0, 1), r2.bbb, (2, 3, 1), (2, 3, 0))
+    tmp33 = np.copy(ints.tmp106)
+    del ints.tmp106
+    tmp33 += v.bbb.xoo
+    tmp50 = np.copy(ints.tmp41)
+    tmp50 += ints.tmp56 * 2
+    tmp50 += ints.tmp59
+    tmp50 += v.baa.xov
+    tmp30 = np.copy(ints.tmp27)
+    del ints.tmp27
+    tmp30 += v.baa.xoo
+    tmp47 = einsum(t1.aa, (0, 1), r2.aba, (2, 3, 1), (2, 0, 3))
+    tmp32 = einsum(t1.bb, (0, 1), r2.bab, (2, 3, 1), (3, 2, 0)) * -1
+    tmp27 = einsum(r2.aaa, (0, 1, 2), t1.aa, (3, 2), (0, 1, 3))
+    tmp16 = np.copy(ints.tmp45)
+    tmp16 += ints.tmp77
+    tmp16 += v.bbb.xov
+    tmp16 += ints.tmp82 * 2
+    tmp14 = np.copy(ints.tmp41)
+    del ints.tmp41
+    tmp14 += ints.tmp59
+    del ints.tmp59
+    tmp14 += v.baa.xov
+    tmp14 += ints.tmp56 * 2
+    del ints.tmp56
+    tmp56 = einsum(r2.bbb, (0, 1, 2), t2.bbbb, (0, 1, 3, 2), (3,))
+    tmp55 = einsum(t2.abab, (0, 1, 2, 3), r2.aba, (0, 1, 2), (3,))
+    tmp76 = einsum(tmp52, (0, 1, 2), tmp33, (3, 0, 2), (3, 1))
+    tmp74 = einsum(tmp50, (0, 1, 2), r2.aba, (1, 3, 2), (0, 3)) * 0.5
+    tmp75 = einsum(tmp47, (0, 1, 2), tmp30, (3, 0, 1), (3, 2)) * 0.5
+    tmp34 = einsum(tmp33, (0, 1, 2), tmp32, (3, 1, 2), (0, 3)) * 0.5
+    tmp31 = einsum(tmp27, (0, 1, 2), tmp30, (3, 0, 2), (3, 1))
+    tmp17 = einsum(tmp16, (0, 1, 2), r2.bab, (1, 3, 2), (0, 3)) * -1
+    tmp15 = einsum(tmp14, (0, 1, 2), r2.aaa, (3, 1, 2), (0, 3)) * -1
+    del tmp14
+    tmp80 = np.copy(ints.tmp158) * 2
+    tmp80 += ints.tmp161
+    tmp80 += ints.tmp181 * -1
+    tmp80 += ints.tmp219 * -1
+    tmp57 = np.copy(tmp55) * -0.5
+    del tmp55
+    tmp57 += tmp56
+    del tmp56
+    tmp62 = np.copy(ints.tmp137)
+    tmp62 += np.transpose(ints.tmp64, (0, 2, 1, 3))
+    tmp77 = np.copy(tmp74)
+    del tmp74
+    tmp77 += tmp75 * -1
+    del tmp75
+    tmp77 += tmp76 * -1
+    del tmp76
+    tmp64 = np.copy(f.bb.ov)
+    tmp64 += ints.tmp44
+    tmp64 += ints.tmp47
+    tmp64 += ints.tmp107 * -1
+    del ints.tmp107
+    tmp58 = np.copy(ints.tmp464)
+    del ints.tmp464
+    tmp58 += ints.tmp467
+    del ints.tmp467
+    tmp58 += ints.tmp471 * 2
+    del ints.tmp471
+    tmp85 = einsum(tmp16, (0, 1, 2), r2.bbb, (3, 1, 2), (0, 3)) * -1
+    del tmp16
+    tmp87 = np.copy(f.bb.oo)
+    tmp87 += ints.tmp183
+    tmp87 += ints.tmp187
+    tmp87 += np.transpose(ints.tmp21, (1, 0))
+    tmp87 += ints.tmp221
+    tmp87 += ints.tmp225
+    tmp41 = np.copy(f.aa.ov)
+    tmp41 += ints.tmp39
+    tmp41 += ints.tmp48
+    tmp41 += ints.tmp99 * -1
+    del ints.tmp99
+    tmp37 = np.copy(ints.tmp57) * 2
+    tmp37 += ints.tmp60
+    tmp37 += ints.tmp174 * -1
+    tmp37 += ints.tmp28 * -1
+    tmp35 = np.copy(tmp31) * -1
+    tmp35 += tmp34
+    tmp25 = einsum(t2.aaaa, (0, 1, 2, 3), r2.aaa, (0, 1, 3), (2,))
+    tmp28 = np.copy(ints.tmp23)
+    tmp28 += np.transpose(ints.tmp50, (0, 2, 1, 3))
+    tmp20 = np.copy(f.aa.oo)
+    tmp20 += ints.tmp175
+    tmp20 += ints.tmp176
+    tmp20 += np.transpose(ints.tmp1, (1, 0))
+    tmp20 += ints.tmp30
+    tmp20 += ints.tmp32
+    tmp12 = np.copy(ints.tmp358)
+    tmp12 += ints.tmp369
+    tmp12 += ints.tmp375 * 2
+    tmp10 = einsum(t2.abab, (0, 1, 2, 3), r2.bab, (1, 0, 3), (2,)) * -1
+    tmp18 = np.copy(tmp15) * -2
+    del tmp15
+    tmp18 += tmp17
+    del tmp17
+    tmp81 = einsum(r2.bbb, (0, 1, 2), tmp80, (1, 3), (0, 3, 2)) * -2
+    del tmp80
+    tmp79 = einsum(tmp57, (0,), ints.tmp325, (1, 2, 3, 0), (1, 2, 3)) * 2
+    del ints.tmp325
+    tmp73 = einsum(tmp62, (0, 1, 2, 3), tmp52, (0, 4, 1), (4, 2, 3)) * 2
+    tmp72 = einsum(r2.bbb, (0, 1, 2), ints.tmp334, (0, 1, 3, 4), (3, 4, 2))
+    del ints.tmp334
+    tmp71 = einsum(r2.aba, (0, 1, 2), ints.tmp469, (0, 3, 2, 4), (3, 1, 4))
+    tmp70 = einsum(ints.tmp64, (0, 1, 2, 3), r1.b, (1,), (0, 2, 3))
+    tmp78 = einsum(tmp77, (0, 1), v.bbb.xov, (0, 2, 3), (2, 1, 3)) * 2
+    del tmp77
+    tmp65 = einsum(t1.bb, (0, 1), tmp64, (0, 2), (1, 2))
+    tmp83 = einsum(r1.b, (0,), ints.tmp137, (0, 1, 2, 3), (1, 2, 3))
+    tmp84 = einsum(r2.bbb, (0, 1, 2), tmp58, (1, 3, 2, 4), (0, 3, 4)) * -1
+    tmp86 = einsum(tmp85, (0, 1), v.bbb.xov, (0, 2, 3), (2, 1, 3)) * -1
+    del tmp85
+    tmp88 = einsum(r2.bbb, (0, 1, 2), tmp87, (1, 3), (0, 3, 2)) * -1
+    del tmp87
+    tmp51 = np.copy(ints.tmp45)
+    del ints.tmp45
+    tmp51 += ints.tmp77
+    del ints.tmp77
+    tmp51 += ints.tmp82 * 2
+    del ints.tmp82
+    tmp51 += v.bbb.xov
+    tmp42 = einsum(tmp41, (0, 1), t1.aa, (0, 2), (2, 1))
+    tmp38 = einsum(tmp37, (0, 1), r2.aaa, (2, 0, 3), (2, 1, 3)) * -2
+    del tmp37
+    tmp36 = einsum(v.baa.xov, (0, 1, 2), tmp35, (0, 3), (1, 3, 2)) * 2
+    del tmp35
+    tmp23 = einsum(r1.a, (0,), ints.tmp23, (1, 0, 2, 3), (1, 2, 3))
+    tmp24 = einsum(r2.aaa, (0, 1, 2), ints.tmp189, (0, 1, 3, 4), (3, 4, 2))
+    del ints.tmp189
+    tmp26 = einsum(ints.tmp166, (0, 1, 2, 3), tmp25, (3,), (0, 1, 2))
+    tmp29 = einsum(tmp28, (0, 1, 2, 3), tmp27, (0, 4, 2), (4, 1, 3)) * 2
+    del tmp27, tmp28
+    tmp21 = einsum(tmp20, (0, 1), r2.aaa, (2, 0, 3), (2, 1, 3)) * -1
+    del tmp20
+    tmp8 = einsum(r1.a, (0,), ints.tmp50, (0, 1, 2, 3), (1, 2, 3))
+    tmp13 = einsum(r2.aaa, (0, 1, 2), tmp12, (1, 3, 2, 4), (0, 3, 4)) * -1
+    del tmp12
+    tmp11 = einsum(ints.tmp166, (0, 1, 2, 3), tmp10, (3,), (0, 1, 2))
+    del ints.tmp166
+    tmp19 = einsum(v.baa.xov, (0, 1, 2), tmp18, (0, 3), (1, 3, 2))
+    del tmp18
+    tmp9 = einsum(ints.tmp377, (0, 1, 2, 3), r2.bab, (1, 4, 3), (0, 4, 2)) * -1
+    tmp82 = np.copy(tmp70)
+    del tmp70
+    tmp82 += tmp71
+    del tmp71
+    tmp82 += tmp72 * 2
+    del tmp72
+    tmp82 += np.transpose(tmp73, (1, 0, 2)) * -1
+    del tmp73
+    tmp82 += np.transpose(tmp78, (1, 0, 2))
+    del tmp78
+    tmp82 += tmp79 * -1
+    del tmp79
+    tmp82 += np.transpose(tmp81, (1, 0, 2))
+    del tmp81
+    tmp90 = np.copy(np.transpose(ints.tmp326, (2, 3, 0, 1)))
+    del ints.tmp326
+    tmp90 += np.transpose(ints.tmp351, (2, 3, 0, 1))
+    del ints.tmp351
+    tmp90 += ints.tmp246 * -1
+    del ints.tmp246
+    tmp66 = np.copy(np.transpose(ints.tmp486, (1, 0)))
+    del ints.tmp486
+    tmp66 += ints.tmp487 * 2
+    del ints.tmp487
+    tmp66 += ints.tmp489
+    del ints.tmp489
+    tmp66 += f.bb.vv * -1
+    tmp66 += ints.tmp203 * -1
+    del ints.tmp203
+    tmp66 += ints.tmp206 * -1
+    del ints.tmp206
+    tmp66 += tmp65
+    del tmp65
+    tmp89 = np.copy(tmp83)
+    del tmp83
+    tmp89 += np.transpose(tmp84, (1, 0, 2)) * -2
+    del tmp84
+    tmp89 += np.transpose(tmp86, (1, 0, 2)) * 2
+    del tmp86
+    tmp89 += np.transpose(tmp88, (1, 0, 2)) * -2
+    del tmp88
+    tmp69 = np.copy(ints.tmp25)
+    tmp69 += np.transpose(ints.tmp54, (1, 0, 2, 3))
+    tmp67 = np.copy(f.bb.oo)
+    tmp67 += ints.tmp158 * 2
+    tmp67 += ints.tmp161
+    tmp67 += ints.tmp183
+    tmp67 += ints.tmp187
+    tmp67 += np.transpose(ints.tmp21, (1, 0))
+    tmp67 += ints.tmp221
+    tmp67 += ints.tmp225
+    tmp67 += ints.tmp181 * -1
+    tmp67 += ints.tmp219 * -1
+    tmp60 = np.copy(ints.tmp171)
+    tmp60 += ints.tmp194
+    tmp60 += np.transpose(ints.tmp196, (1, 0, 2, 3))
+    tmp60 += ints.tmp230
+    tmp60 += np.transpose(ints.tmp36, (1, 0, 2, 3))
+    tmp63 = einsum(tmp50, (0, 1, 2), r2.aaa, (3, 1, 2), (0, 3))
+    tmp63 += einsum(tmp51, (0, 1, 2), r2.bab, (1, 3, 2), (0, 3)) * -0.5
+    tmp63 += tmp31
+    del tmp31
+    tmp63 += tmp34 * -1
+    del tmp34
+    tmp68 = np.copy(tmp25) * 2
+    del tmp25
+    tmp68 += tmp10
+    del tmp10
+    tmp61 = np.copy(ints.tmp25)
+    tmp61 += np.transpose(ints.tmp54, (1, 0, 2, 3))
+    tmp4 = np.copy(f.aa.oo)
+    tmp4 += ints.tmp175
+    tmp4 += ints.tmp176
+    tmp4 += np.transpose(ints.tmp1, (1, 0))
+    tmp4 += np.transpose(ints.tmp30, (1, 0))
+    tmp4 += np.transpose(ints.tmp32, (1, 0))
+    tmp4 += ints.tmp57 * 2
+    tmp4 += ints.tmp60
+    tmp4 += ints.tmp174 * -1
+    tmp4 += ints.tmp28 * -1
+    tmp59 = np.copy(ints.tmp491)
+    del ints.tmp491
+    tmp59 += np.transpose(ints.tmp492, (1, 0, 2, 3))
+    del ints.tmp492
+    tmp59 += np.transpose(ints.tmp493, (1, 0, 2, 3)) * -1
+    del ints.tmp493
+    tmp49 = np.copy(ints.tmp23)
+    tmp49 += np.transpose(ints.tmp50, (0, 2, 1, 3))
+    tmp44 = np.copy(ints.tmp461)
+    del ints.tmp461
+    tmp44 += np.transpose(ints.tmp462, (1, 0, 2, 3))
+    del ints.tmp462
+    tmp44 += np.transpose(ints.tmp463, (1, 0, 2, 3)) * -1
+    del ints.tmp463
+    tmp7 = np.copy(f.bb.oo)
+    tmp7 += ints.tmp158 * 2
+    del ints.tmp158
+    tmp7 += ints.tmp161
+    del ints.tmp161
+    tmp7 += np.transpose(ints.tmp183, (1, 0))
+    del ints.tmp183
+    tmp7 += np.transpose(ints.tmp187, (1, 0))
+    del ints.tmp187
+    tmp7 += np.transpose(ints.tmp21, (1, 0))
+    del ints.tmp21
+    tmp7 += ints.tmp221
+    del ints.tmp221
+    tmp7 += ints.tmp225
+    del ints.tmp225
+    tmp7 += ints.tmp181 * -1
+    del ints.tmp181
+    tmp7 += ints.tmp219 * -1
+    del ints.tmp219
+    tmp43 = np.copy(np.transpose(ints.tmp415, (1, 0)))
+    del ints.tmp415
+    tmp43 += ints.tmp418 * 2
+    del ints.tmp418
+    tmp43 += ints.tmp420
+    del ints.tmp420
+    tmp43 += f.aa.vv * -1
+    tmp43 += ints.tmp198 * -1
+    del ints.tmp198
+    tmp43 += ints.tmp208 * -1
+    del ints.tmp208
+    tmp43 += tmp42
+    del tmp42
+    tmp48 = np.copy(ints.tmp142)
+    tmp48 += np.transpose(ints.tmp67, (0, 2, 1, 3))
+    tmp46 = np.copy(ints.tmp171)
+    del ints.tmp171
+    tmp46 += np.transpose(ints.tmp194, (0, 1, 3, 2))
+    del ints.tmp194
+    tmp46 += np.transpose(ints.tmp196, (1, 0, 2, 3))
+    del ints.tmp196
+    tmp46 += ints.tmp230
+    del ints.tmp230
+    tmp46 += np.transpose(ints.tmp36, (0, 1, 3, 2))
+    del ints.tmp36
+    tmp53 = einsum(tmp50, (0, 1, 2), r2.aba, (1, 3, 2), (0, 3)) * -1
+    del tmp50
+    tmp53 += einsum(tmp51, (0, 1, 2), r2.bbb, (3, 1, 2), (0, 3)) * 2
+    del tmp51
+    tmp53 += einsum(tmp47, (0, 1, 2), tmp30, (3, 0, 1), (3, 2))
+    del tmp30
+    tmp53 += einsum(tmp52, (0, 1, 2), tmp33, (3, 0, 2), (3, 1)) * 2
+    del tmp52, tmp33
+    tmp45 = np.copy(ints.tmp358)
+    del ints.tmp358
+    tmp45 += ints.tmp369
+    del ints.tmp369
+    tmp45 += ints.tmp375 * 2
+    del ints.tmp375
+    tmp54 = np.copy(f.aa.oo)
+    tmp54 += ints.tmp175
+    del ints.tmp175
+    tmp54 += ints.tmp176
+    del ints.tmp176
+    tmp54 += np.transpose(ints.tmp1, (1, 0))
+    del ints.tmp1
+    tmp54 += ints.tmp30
+    del ints.tmp30
+    tmp54 += ints.tmp32
+    del ints.tmp32
+    tmp54 += ints.tmp57 * 2
+    del ints.tmp57
+    tmp54 += ints.tmp60
+    del ints.tmp60
+    tmp54 += ints.tmp174 * -1
+    del ints.tmp174
+    tmp54 += ints.tmp28 * -1
+    del ints.tmp28
+    tmp40 = np.copy(ints.tmp167)
+    del ints.tmp167
+    tmp40 += ints.tmp227
+    del ints.tmp227
+    tmp40 += np.transpose(ints.tmp33, (2, 3, 0, 1)) * -1
+    del ints.tmp33
+    tmp39 = np.copy(tmp23)
+    del tmp23
+    tmp39 += tmp24 * 2
+    del tmp24
+    tmp39 += tmp26 * -2
+    del tmp26
+    tmp39 += np.transpose(tmp29, (1, 0, 2)) * -1
+    del tmp29
+    tmp39 += np.transpose(tmp36, (1, 0, 2))
+    del tmp36
+    tmp39 += np.transpose(tmp38, (1, 0, 2))
+    del tmp38
+    tmp22 = np.copy(tmp8)
+    del tmp8
+    tmp22 += tmp9
+    del tmp9
+    tmp22 += tmp11
+    del tmp11
+    tmp22 += np.transpose(tmp13, (1, 0, 2)) * -2
+    del tmp13
+    tmp22 += np.transpose(tmp19, (1, 0, 2))
+    del tmp19
+    tmp22 += np.transpose(tmp21, (1, 0, 2)) * -2
+    del tmp21
+    tmp5 = np.copy(ints.tmp142)
+    del ints.tmp142
+    tmp5 += np.transpose(ints.tmp239, (0, 2, 1, 3))
+    del ints.tmp239
+    tmp5 += np.transpose(ints.tmp257, (0, 2, 1, 3))
+    del ints.tmp257
+    tmp5 += ints.tmp267
+    del ints.tmp267
+    tmp5 += ints.tmp271 * 2
+    del ints.tmp271
+    tmp5 += ints.tmp283
+    del ints.tmp283
+    tmp5 += ints.tmp298
+    del ints.tmp298
+    tmp5 += ints.tmp302
+    del ints.tmp302
+    tmp5 += ints.tmp310
+    del ints.tmp310
+    tmp5 += ints.tmp316 * 2
+    del ints.tmp316
+    tmp5 += ints.tmp346
+    del ints.tmp346
+    tmp5 += np.transpose(ints.tmp67, (0, 2, 1, 3))
+    del ints.tmp67
+    tmp5 += np.transpose(ints.tmp249, (0, 2, 1, 3)) * -1
+    del ints.tmp249
+    tmp5 += ints.tmp264 * -1
+    del ints.tmp264
+    tmp5 += ints.tmp270 * -1
+    del ints.tmp270
+    tmp5 += ints.tmp294 * -1
+    del ints.tmp294
+    tmp5 += ints.tmp313 * -1
+    del ints.tmp313
+    tmp5 += ints.tmp320 * -1
+    del ints.tmp320
+    tmp5 += ints.tmp329 * -1
+    del ints.tmp329
+    tmp5 += ints.tmp339 * -1
+    del ints.tmp339
+    tmp5 += np.transpose(ints.tmp340, (0, 2, 1, 3)) * -1
+    del ints.tmp340
+    tmp5 += ints.tmp354 * -1
+    del ints.tmp354
+    tmp3 = np.copy(ints.tmp100)
+    del ints.tmp100
+    tmp3 += ints.tmp108 * 0.5
+    del ints.tmp108
+    tmp3 += ints.tmp135
+    del ints.tmp135
+    tmp3 += ints.tmp140 * 0.5
+    del ints.tmp140
+    tmp3 += ints.tmp156
+    del ints.tmp156
+    tmp3 += ints.tmp164 * 0.5
+    del ints.tmp164
+    tmp3 += ints.tmp179 * 0.5
+    del ints.tmp179
+    tmp3 += ints.tmp185 * 0.5
+    del ints.tmp185
+    tmp3 += ints.tmp19 * 0.5
+    del ints.tmp19
+    tmp3 += ints.tmp201 * 0.5
+    del ints.tmp201
+    tmp3 += ints.tmp217 * 0.5
+    del ints.tmp217
+    tmp3 += ints.tmp223 * 0.5
+    del ints.tmp223
+    tmp3 += ints.tmp2 * 0.5
+    del ints.tmp2
+    tmp3 += ints.tmp42 * 0.5
+    del ints.tmp42
+    tmp3 += ints.tmp62
+    del ints.tmp62
+    tmp3 += ints.tmp70 * 0.5
+    del ints.tmp70
+    tmp3 += ints.tmp85
+    del ints.tmp85
+    tmp3 += f.aa.ov * -0.5
+    tmp3 += ints.tmp103 * -1
+    del ints.tmp103
+    tmp3 += ints.tmp112 * -0.5
+    del ints.tmp112
+    tmp3 += ints.tmp116 * -1
+    del ints.tmp116
+    tmp3 += ints.tmp119 * -0.5
+    del ints.tmp119
+    tmp3 += ints.tmp11 * -0.5
+    del ints.tmp11
+    tmp3 += ints.tmp177 * -0.5
+    del ints.tmp177
+    tmp3 += ints.tmp199 * -0.5
+    del ints.tmp199
+    tmp3 += ints.tmp209 * -0.5
+    del ints.tmp209
+    tmp3 += ints.tmp215 * -0.5
+    del ints.tmp215
+    tmp3 += ints.tmp39 * -0.5
+    del ints.tmp39
+    tmp3 += ints.tmp48 * -0.5
+    del ints.tmp48
+    tmp3 += ints.tmp5 * -0.5
+    del ints.tmp5
+    tmp3 += ints.tmp8 * -1
+    del ints.tmp8
+    tmp3 += ints.tmp91 * -0.5
+    del ints.tmp91
+    tmp6 = np.copy(np.transpose(ints.tmp241, (1, 2, 0, 3)))
+    del ints.tmp241
+    tmp6 += np.transpose(ints.tmp247, (0, 2, 1, 3))
+    del ints.tmp247
+    tmp6 += np.transpose(ints.tmp255, (0, 2, 1, 3))
+    del ints.tmp255
+    tmp6 += ints.tmp268 * 2
+    del ints.tmp268
+    tmp6 += ints.tmp273
+    del ints.tmp273
+    tmp6 += ints.tmp300
+    del ints.tmp300
+    tmp6 += ints.tmp304
+    del ints.tmp304
+    tmp6 += ints.tmp314 * 2
+    del ints.tmp314
+    tmp6 += ints.tmp327
+    del ints.tmp327
+    tmp6 += ints.tmp335
+    del ints.tmp335
+    tmp6 += ints.tmp352
+    del ints.tmp352
+    tmp6 += ints.tmp137 * -1
+    del ints.tmp137
+    tmp6 += ints.tmp265 * -2
+    del ints.tmp265
+    tmp6 += ints.tmp280 * -1
+    del ints.tmp280
+    tmp6 += ints.tmp296 * -1
+    del ints.tmp296
+    tmp6 += ints.tmp311 * -2
+    del ints.tmp311
+    tmp6 += ints.tmp318 * -1
+    del ints.tmp318
+    tmp6 += np.transpose(ints.tmp337, (0, 2, 1, 3)) * -1
+    del ints.tmp337
+    tmp6 += ints.tmp344 * -1
+    del ints.tmp344
+    tmp6 += np.transpose(ints.tmp64, (1, 2, 0, 3)) * -1
+    del ints.tmp64
+    tmp2 = np.copy(ints.tmp102) * 0.5
+    del ints.tmp102
+    tmp2 += ints.tmp110
+    del ints.tmp110
+    tmp2 += ints.tmp138
+    del ints.tmp138
+    tmp2 += ints.tmp143 * 0.5
+    del ints.tmp143
+    tmp2 += ints.tmp159
+    del ints.tmp159
+    tmp2 += ints.tmp162 * 0.5
+    del ints.tmp162
+    tmp2 += ints.tmp184 * 0.5
+    del ints.tmp184
+    tmp2 += ints.tmp188 * 0.5
+    del ints.tmp188
+    tmp2 += ints.tmp205 * 0.5
+    del ints.tmp205
+    tmp2 += ints.tmp222 * 0.5
+    del ints.tmp222
+    tmp2 += ints.tmp226 * 0.5
+    del ints.tmp226
+    tmp2 += ints.tmp22 * 0.5
+    del ints.tmp22
+    tmp2 += ints.tmp46 * 0.5
+    del ints.tmp46
+    tmp2 += ints.tmp4 * 0.5
+    del ints.tmp4
+    tmp2 += ints.tmp65
+    del ints.tmp65
+    tmp2 += ints.tmp68 * 0.5
+    del ints.tmp68
+    tmp2 += ints.tmp87
+    del ints.tmp87
+    tmp2 += f.bb.ov * -0.5
+    tmp2 += ints.tmp105 * -0.5
+    del ints.tmp105
+    tmp2 += ints.tmp10 * -0.5
+    del ints.tmp10
+    tmp2 += ints.tmp114 * -1
+    del ints.tmp114
+    tmp2 += ints.tmp118 * -0.5
+    del ints.tmp118
+    tmp2 += ints.tmp121 * -1
+    del ints.tmp121
+    tmp2 += ints.tmp13 * -1
+    del ints.tmp13
+    tmp2 += ints.tmp182 * -0.5
+    del ints.tmp182
+    tmp2 += ints.tmp204 * -0.5
+    del ints.tmp204
+    tmp2 += ints.tmp207 * -0.5
+    del ints.tmp207
+    tmp2 += ints.tmp220 * -0.5
+    del ints.tmp220
+    tmp2 += ints.tmp44 * -0.5
+    del ints.tmp44
+    tmp2 += ints.tmp47 * -0.5
+    del ints.tmp47
+    tmp2 += ints.tmp7 * -0.5
+    del ints.tmp7
+    tmp2 += ints.tmp89 * -0.5
+    del ints.tmp89
+    tmp0 = np.copy(ints.tmp129)
+    del ints.tmp129
+    tmp0 += ints.tmp133
+    del ints.tmp133
+    tmp0 += ints.tmp147
+    del ints.tmp147
+    tmp0 += ints.tmp153 * 2
+    del ints.tmp153
+    tmp0 += np.transpose(ints.tmp17, (1, 0, 2, 3))
+    del ints.tmp17
+    tmp0 += ints.tmp213
+    del ints.tmp213
+    tmp0 += np.transpose(ints.tmp25, (1, 0, 2, 3))
+    del ints.tmp25
+    tmp0 += ints.tmp54
+    del ints.tmp54
+    tmp0 += np.transpose(ints.tmp55, (1, 0, 2, 3))
+    del ints.tmp55
+    tmp0 += ints.tmp78
+    del ints.tmp78
+    tmp0 += ints.tmp83 * 2
+    del ints.tmp83
+    tmp0 += ints.tmp97
+    del ints.tmp97
+    tmp0 += ints.tmp125 * -1
+    del ints.tmp125
+    tmp0 += ints.tmp150 * -1
+    del ints.tmp150
+    tmp0 += ints.tmp155 * -1
+    del ints.tmp155
+    tmp0 += ints.tmp172 * -1
+    del ints.tmp172
+    tmp0 += ints.tmp195 * -1
+    del ints.tmp195
+    tmp0 += np.transpose(ints.tmp197, (1, 0, 2, 3)) * -1
+    del ints.tmp197
+    tmp0 += ints.tmp231 * -1
+    del ints.tmp231
+    tmp0 += ints.tmp37 * -1
+    del ints.tmp37
+    tmp0 += ints.tmp74 * -1
+    del ints.tmp74
+    tmp0 += ints.tmp79 * -1
+    del ints.tmp79
+    tmp1 = np.copy(ints.tmp127)
+    del ints.tmp127
+    tmp1 += ints.tmp131
+    del ints.tmp131
+    tmp1 += ints.tmp148 * 2
+    del ints.tmp148
+    tmp1 += np.transpose(ints.tmp15, (1, 2, 0, 3))
+    del ints.tmp15
+    tmp1 += ints.tmp168
+    del ints.tmp168
+    tmp1 += ints.tmp190
+    del ints.tmp190
+    tmp1 += ints.tmp228
+    del ints.tmp228
+    tmp1 += np.transpose(ints.tmp34, (0, 2, 1, 3))
+    del ints.tmp34
+    tmp1 += np.transpose(ints.tmp52, (0, 2, 1, 3))
+    del ints.tmp52
+    tmp1 += ints.tmp75 * 2
+    del ints.tmp75
+    tmp1 += ints.tmp80
+    del ints.tmp80
+    tmp1 += ints.tmp123 * -1
+    del ints.tmp123
+    tmp1 += ints.tmp145 * -2
+    del ints.tmp145
+    tmp1 += ints.tmp151 * -1
+    del ints.tmp151
+    tmp1 += np.transpose(ints.tmp192, (0, 2, 1, 3)) * -1
+    del ints.tmp192
+    tmp1 += ints.tmp211 * -1
+    del ints.tmp211
+    tmp1 += np.transpose(ints.tmp23, (1, 2, 0, 3)) * -1
+    del ints.tmp23
+    tmp1 += ints.tmp50 * -1
+    del ints.tmp50
+    tmp1 += ints.tmp72 * -2
+    del ints.tmp72
+    tmp1 += ints.tmp94 * -1
+    del ints.tmp94
+    r2new.bbb = np.copy(tmp82) * -1
+    r2new.bbb += np.transpose(tmp82, (1, 0, 2))
+    del tmp82
+    r2new.bbb += tmp89
+    r2new.bbb += np.transpose(tmp89, (1, 0, 2)) * -1
+    del tmp89
+    r2new.bbb += einsum(tmp90, (0, 1, 2, 3), r2.bbb, (3, 2, 4), (0, 1, 4)) * -2
+    del tmp90
+    r2new.bbb += einsum(tmp66, (0, 1), r2.bbb, (2, 3, 0), (2, 3, 1)) * -2
+    r2new.bbb += einsum(tmp64, (0, 1), r1.b, (2,), (2, 0, 1))
+    r2new.bbb += einsum(tmp64, (0, 1), r1.b, (2,), (0, 2, 1)) * -1
+    r2new.bab = einsum(r2.aaa, (0, 1, 2), ints.tmp469, (1, 3, 2, 4), (3, 0, 4)) * 2
+    del ints.tmp469
+    r2new.bab += einsum(tmp58, (0, 1, 2, 3), r2.bab, (0, 4, 2), (1, 4, 3)) * -1
+    del tmp58
+    r2new.bab += einsum(tmp59, (0, 1, 2, 3), r2.bab, (4, 1, 2), (4, 0, 3)) * -1
+    del tmp59
+    r2new.bab += einsum(tmp60, (0, 1, 2, 3), r2.bab, (2, 0, 4), (3, 1, 4))
+    del tmp60
+    r2new.bab += einsum(tmp32, (0, 1, 2), tmp61, (3, 0, 2, 4), (1, 3, 4)) * -1
+    del tmp61
+    r2new.bab += einsum(tmp32, (0, 1, 2), tmp62, (1, 2, 3, 4), (3, 0, 4)) * -1
+    del tmp32, tmp62
+    r2new.bab += einsum(tmp63, (0, 1), v.bbb.xov, (0, 2, 3), (2, 1, 3)) * -2
+    del tmp63
+    r2new.bab += einsum(tmp66, (0, 1), r2.bab, (2, 3, 0), (2, 3, 1)) * -1
+    del tmp66
+    r2new.bab += einsum(tmp67, (0, 1), r2.bab, (0, 2, 3), (1, 2, 3)) * -1
+    del tmp67
+    r2new.bab += einsum(tmp4, (0, 1), r2.bab, (2, 0, 3), (2, 1, 3)) * -1
+    r2new.bab += einsum(ints.tmp170, (0, 1, 2, 3), tmp68, (2,), (1, 0, 3))
+    del tmp68
+    r2new.bab += einsum(r1.a, (0,), tmp69, (1, 0, 2, 3), (2, 1, 3))
+    del tmp69
+    r2new.bab += einsum(tmp64, (0, 1), r1.a, (2,), (0, 2, 1)) * -1
+    del tmp64
+    r2new.aba = einsum(r2.bbb, (0, 1, 2), ints.tmp377, (3, 1, 4, 2), (3, 0, 4)) * 2
+    del ints.tmp377
+    r2new.aba += einsum(tmp44, (0, 1, 2, 3), r2.aba, (4, 1, 2), (4, 0, 3)) * -1
+    del tmp44
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp45, (0, 3, 2, 4), (3, 1, 4)) * -1
+    del tmp45
+    r2new.aba += einsum(tmp46, (0, 1, 2, 3), r2.aba, (0, 2, 4), (1, 3, 4))
+    del tmp46
+    r2new.aba += einsum(tmp48, (0, 1, 2, 3), tmp47, (4, 0, 1), (4, 2, 3))
+    r2new.aba += einsum(tmp47, (0, 1, 2), tmp49, (0, 3, 1, 4), (3, 2, 4))
+    del tmp47, tmp49
+    r2new.aba += einsum(v.baa.xov, (0, 1, 2), tmp53, (0, 3), (1, 3, 2)) * -1
+    del tmp53
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp43, (2, 3), (0, 1, 3)) * -1
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp7, (1, 3), (0, 3, 2)) * -1
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp54, (0, 3), (3, 1, 2)) * -1
+    del tmp54
+    r2new.aba += einsum(ints.tmp170, (0, 1, 2, 3), tmp57, (3,), (0, 1, 2)) * 2
+    del tmp57, ints.tmp170
+    r2new.aba += einsum(tmp48, (0, 1, 2, 3), r1.b, (1,), (0, 2, 3))
+    del tmp48
+    r2new.aba += einsum(r1.b, (0,), tmp41, (1, 2), (1, 0, 2)) * -1
+    r2new.aaa = np.copy(tmp22)
+    r2new.aaa += np.transpose(tmp22, (1, 0, 2)) * -1
+    del tmp22
+    r2new.aaa += tmp39 * -1
+    r2new.aaa += np.transpose(tmp39, (1, 0, 2))
+    del tmp39
+    r2new.aaa += einsum(tmp40, (0, 1, 2, 3), r2.aaa, (1, 0, 4), (2, 3, 4)) * -2
+    del tmp40
+    r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp43, (2, 3), (0, 1, 3)) * -2
+    del tmp43
+    r2new.aaa += einsum(r1.a, (0,), tmp41, (1, 2), (0, 1, 2))
+    r2new.aaa += einsum(r1.a, (0,), tmp41, (1, 2), (1, 0, 2)) * -1
+    del tmp41
+    r1new.b = einsum(r2.aba, (0, 1, 2), tmp5, (0, 1, 3, 2), (3,))
+    del tmp5
+    r1new.b += einsum(r2.bbb, (0, 1, 2), tmp6, (0, 1, 3, 2), (3,)) * 2
+    del tmp6
+    r1new.b += einsum(tmp2, (0, 1), r2.bbb, (2, 0, 1), (2,)) * -4
+    r1new.b += einsum(tmp3, (0, 1), r2.aba, (0, 2, 1), (2,)) * 2
+    r1new.b += einsum(tmp7, (0, 1), r1.b, (0,), (1,)) * -1
+    del tmp7
+    r1new.a = einsum(tmp0, (0, 1, 2, 3), r2.bab, (2, 0, 3), (1,))
+    del tmp0
+    r1new.a += einsum(r2.aaa, (0, 1, 2), tmp1, (0, 1, 3, 2), (3,)) * 2
+    del tmp1
+    r1new.a += einsum(tmp2, (0, 1), r2.bab, (0, 2, 1), (2,)) * 2
+    del tmp2
+    r1new.a += einsum(tmp3, (0, 1), r2.aaa, (2, 0, 1), (2,)) * -4
+    del tmp3
+    r1new.a += einsum(tmp4, (0, 1), r1.a, (0,), (1,)) * -1
+    del tmp4
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCCSD.hbar_lmatvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:53:55.593012.

+

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

+

tmp10 : array +tmp100 : array +tmp101 : array +tmp102 : array +tmp103 : array +tmp105 : array +tmp106 : array +tmp108 : array +tmp109 : array +tmp11 : array +tmp110 : array +tmp111 : array +tmp113 : array +tmp115 : array +tmp117 : array +tmp119 : array +tmp121 : array +tmp122 : array +tmp124 : array +tmp13 : array +tmp132 : array +tmp133 : array +tmp135 : array +tmp136 : array +tmp138 : array +tmp139 : array +tmp141 : array +tmp142 : array +tmp144 : array +tmp146 : array +tmp148 : array +tmp149 : array +tmp151 : array +tmp152 : array +tmp154 : array +tmp155 : array +tmp157 : array +tmp158 : array +tmp160 : array +tmp162 : array +tmp163 : array +tmp165 : array +tmp166 : array +tmp168 : array +tmp170 : array +tmp171 : array +tmp172 : array +tmp174 : array +tmp175 : array +tmp177 : array +tmp178 : array +tmp179 : array +tmp180 : array +tmp181 : array +tmp182 : array +tmp184 : array +tmp185 : array +tmp19 : array +tmp190 : array +tmp192 : array +tmp194 : array +tmp195 : array +tmp196 : array +tmp197 : array +tmp198 : array +tmp199 : array +tmp2 : array +tmp20 : array +tmp201 : array +tmp203 : array +tmp205 : array +tmp206 : array +tmp207 : array +tmp208 : array +tmp210 : array +tmp211 : array +tmp213 : array +tmp214 : array +tmp215 : array +tmp216 : array +tmp217 : array +tmp218 : array +tmp22 : array +tmp220 : array +tmp221 : array +tmp23 : array +tmp236 : array +tmp239 : array +tmp24 : array +tmp243 : array +tmp246 : array +tmp250 : array +tmp251 : array +tmp253 : array +tmp255 : array +tmp257 : array +tmp26 : array +tmp263 : array +tmp265 : array +tmp271 : array +tmp272 : array +tmp274 : array +tmp275 : array +tmp277 : array +tmp279 : array +tmp281 : array +tmp29 : array +tmp30 : array +tmp301 : array +tmp303 : array +tmp309 : array +tmp31 : array +tmp310 : array +tmp312 : array +tmp313 : array +tmp315 : array +tmp317 : array +tmp319 : array +tmp33 : array +tmp330 : array +tmp332 : array +tmp334 : array +tmp335 : array +tmp34 : array +tmp36 : array +tmp38 : array +tmp387 : array +tmp39 : array +tmp4 : array +tmp40 : array +tmp41 : array +tmp42 : array +tmp426 : array +tmp44 : array +tmp47 : array +tmp49 : array +tmp490 : array +tmp5 : array +tmp52 : array +tmp53 : array +tmp55 : array +tmp57 : array +tmp58 : array +tmp60 : array +tmp61 : array +tmp63 : array +tmp64 : array +tmp66 : array +tmp67 : array +tmp69 : array +tmp7 : array +tmp70 : array +tmp72 : array +tmp73 : array +tmp75 : array +tmp77 : array +tmp79 : array +tmp8 : array +tmp81 : array +tmp82 : array +tmp84 : array +tmp85 : array +tmp87 : array +tmp89 : array +tmp91 : array +tmp92 : array +tmp94 : array +tmp95 : array +tmp97 : array +tmp99 : array

+ +
+ Source code in ebcc/codegen/UDFCCSD.py +
6092
+6093
+6094
+6095
+6096
+6097
+6098
+6099
+6100
+6101
+6102
+6103
+6104
+6105
+6106
+6107
+6108
+6109
+6110
+6111
+6112
+6113
+6114
+6115
+6116
+6117
+6118
+6119
+6120
+6121
+6122
+6123
+6124
+6125
+6126
+6127
+6128
+6129
+6130
+6131
+6132
+6133
+6134
+6135
+6136
+6137
+6138
+6139
+6140
+6141
+6142
+6143
+6144
+6145
+6146
+6147
+6148
+6149
+6150
+6151
+6152
+6153
+6154
+6155
+6156
+6157
+6158
+6159
+6160
+6161
+6162
+6163
+6164
+6165
+6166
+6167
+6168
+6169
+6170
+6171
+6172
+6173
+6174
+6175
+6176
+6177
+6178
+6179
+6180
+6181
+6182
+6183
+6184
+6185
+6186
+6187
+6188
+6189
+6190
+6191
+6192
+6193
+6194
+6195
+6196
+6197
+6198
+6199
+6200
+6201
+6202
+6203
+6204
+6205
+6206
+6207
+6208
+6209
+6210
+6211
+6212
+6213
+6214
+6215
+6216
+6217
+6218
+6219
+6220
+6221
+6222
+6223
+6224
+6225
+6226
+6227
+6228
+6229
+6230
+6231
+6232
+6233
+6234
+6235
+6236
+6237
+6238
+6239
+6240
+6241
+6242
+6243
+6244
+6245
+6246
+6247
+6248
+6249
+6250
+6251
+6252
+6253
+6254
+6255
+6256
+6257
+6258
+6259
+6260
+6261
+6262
+6263
+6264
+6265
+6266
+6267
+6268
+6269
+6270
+6271
+6272
+6273
+6274
+6275
+6276
+6277
+6278
+6279
+6280
+6281
+6282
+6283
+6284
+6285
+6286
+6287
+6288
+6289
+6290
+6291
+6292
+6293
+6294
+6295
+6296
+6297
+6298
+6299
+6300
+6301
+6302
+6303
+6304
+6305
+6306
+6307
+6308
+6309
+6310
+6311
+6312
+6313
+6314
+6315
+6316
+6317
+6318
+6319
+6320
+6321
+6322
+6323
+6324
+6325
+6326
+6327
+6328
+6329
+6330
+6331
+6332
+6333
+6334
+6335
+6336
+6337
+6338
+6339
+6340
+6341
+6342
+6343
+6344
+6345
+6346
+6347
+6348
+6349
+6350
+6351
+6352
+6353
+6354
+6355
+6356
+6357
+6358
+6359
+6360
+6361
+6362
+6363
+6364
+6365
+6366
+6367
+6368
+6369
+6370
+6371
+6372
+6373
+6374
+6375
+6376
+6377
+6378
+6379
+6380
+6381
+6382
+6383
+6384
+6385
+6386
+6387
+6388
+6389
+6390
+6391
+6392
+6393
+6394
+6395
+6396
+6397
+6398
+6399
+6400
+6401
+6402
+6403
+6404
+6405
+6406
+6407
+6408
+6409
+6410
+6411
+6412
+6413
+6414
+6415
+6416
+6417
+6418
+6419
+6420
+6421
+6422
+6423
+6424
+6425
+6426
+6427
+6428
+6429
+6430
+6431
+6432
+6433
+6434
+6435
+6436
+6437
+6438
+6439
+6440
+6441
+6442
+6443
+6444
+6445
+6446
+6447
+6448
+6449
+6450
+6451
+6452
+6453
+6454
+6455
+6456
def hbar_lmatvec_ea_intermediates(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:53:55.593012.
+
+    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
+    -------
+    tmp10 : array
+    tmp100 : array
+    tmp101 : array
+    tmp102 : array
+    tmp103 : array
+    tmp105 : array
+    tmp106 : array
+    tmp108 : array
+    tmp109 : array
+    tmp11 : array
+    tmp110 : array
+    tmp111 : array
+    tmp113 : array
+    tmp115 : array
+    tmp117 : array
+    tmp119 : array
+    tmp121 : array
+    tmp122 : array
+    tmp124 : array
+    tmp13 : array
+    tmp132 : array
+    tmp133 : array
+    tmp135 : array
+    tmp136 : array
+    tmp138 : array
+    tmp139 : array
+    tmp141 : array
+    tmp142 : array
+    tmp144 : array
+    tmp146 : array
+    tmp148 : array
+    tmp149 : array
+    tmp151 : array
+    tmp152 : array
+    tmp154 : array
+    tmp155 : array
+    tmp157 : array
+    tmp158 : array
+    tmp160 : array
+    tmp162 : array
+    tmp163 : array
+    tmp165 : array
+    tmp166 : array
+    tmp168 : array
+    tmp170 : array
+    tmp171 : array
+    tmp172 : array
+    tmp174 : array
+    tmp175 : array
+    tmp177 : array
+    tmp178 : array
+    tmp179 : array
+    tmp180 : array
+    tmp181 : array
+    tmp182 : array
+    tmp184 : array
+    tmp185 : array
+    tmp19 : array
+    tmp190 : array
+    tmp192 : array
+    tmp194 : array
+    tmp195 : array
+    tmp196 : array
+    tmp197 : array
+    tmp198 : array
+    tmp199 : array
+    tmp2 : array
+    tmp20 : array
+    tmp201 : array
+    tmp203 : array
+    tmp205 : array
+    tmp206 : array
+    tmp207 : array
+    tmp208 : array
+    tmp210 : array
+    tmp211 : array
+    tmp213 : array
+    tmp214 : array
+    tmp215 : array
+    tmp216 : array
+    tmp217 : array
+    tmp218 : array
+    tmp22 : array
+    tmp220 : array
+    tmp221 : array
+    tmp23 : array
+    tmp236 : array
+    tmp239 : array
+    tmp24 : array
+    tmp243 : array
+    tmp246 : array
+    tmp250 : array
+    tmp251 : array
+    tmp253 : array
+    tmp255 : array
+    tmp257 : array
+    tmp26 : array
+    tmp263 : array
+    tmp265 : array
+    tmp271 : array
+    tmp272 : array
+    tmp274 : array
+    tmp275 : array
+    tmp277 : array
+    tmp279 : array
+    tmp281 : array
+    tmp29 : array
+    tmp30 : array
+    tmp301 : array
+    tmp303 : array
+    tmp309 : array
+    tmp31 : array
+    tmp310 : array
+    tmp312 : array
+    tmp313 : array
+    tmp315 : array
+    tmp317 : array
+    tmp319 : array
+    tmp33 : array
+    tmp330 : array
+    tmp332 : array
+    tmp334 : array
+    tmp335 : array
+    tmp34 : array
+    tmp36 : array
+    tmp38 : array
+    tmp387 : array
+    tmp39 : array
+    tmp4 : array
+    tmp40 : array
+    tmp41 : array
+    tmp42 : array
+    tmp426 : array
+    tmp44 : array
+    tmp47 : array
+    tmp49 : array
+    tmp490 : array
+    tmp5 : array
+    tmp52 : array
+    tmp53 : array
+    tmp55 : array
+    tmp57 : array
+    tmp58 : array
+    tmp60 : array
+    tmp61 : array
+    tmp63 : array
+    tmp64 : array
+    tmp66 : array
+    tmp67 : array
+    tmp69 : array
+    tmp7 : array
+    tmp70 : array
+    tmp72 : array
+    tmp73 : array
+    tmp75 : array
+    tmp77 : array
+    tmp79 : array
+    tmp8 : array
+    tmp81 : array
+    tmp82 : array
+    tmp84 : array
+    tmp85 : array
+    tmp87 : array
+    tmp89 : array
+    tmp91 : array
+    tmp92 : array
+    tmp94 : array
+    tmp95 : array
+    tmp97 : array
+    tmp99 : array
+    """
+
+    tmp28 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (1, 2), (0,))
+    tmp32 = einsum(t1.bb, (0, 1), v.bbb.xov, (2, 0, 1), (2,))
+    tmp109 = einsum(t1.bb, (0, 1), v.bbb.xov, (2, 3, 1), (2, 0, 3))
+    tmp101 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (3, 2), (0, 3, 1))
+    tmp41 = einsum(v.bbb.xov, (0, 1, 2), tmp28, (0,), (1, 2))
+    tmp42 = einsum(tmp32, (0,), v.baa.xov, (0, 1, 2), (1, 2))
+    tmp38 = einsum(tmp32, (0,), v.bbb.xov, (0, 1, 2), (1, 2))
+    tmp110 = einsum(tmp109, (0, 1, 2), v.bbb.xov, (0, 1, 3), (2, 3))
+    tmp34 = einsum(v.baa.xov, (0, 1, 2), tmp28, (0,), (1, 2))
+    tmp102 = einsum(v.baa.xov, (0, 1, 2), tmp101, (0, 1, 3), (3, 2))
+    tmp60 = einsum(t2.abab, (0, 1, 2, 3), v.bbb.xov, (4, 1, 3), (4, 0, 2))
+    tmp84 = einsum(v.baa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (0, 3, 4))
+    tmp81 = einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (0, 3, 4))
+    tmp57 = einsum(t2.aaaa, (0, 1, 2, 3), v.baa.xov, (4, 1, 3), (4, 0, 2))
+    tmp30 = einsum(v.baa.xvv, (0, 1, 2), t1.aa, (3, 2), (0, 3, 1))
+    tmp39 = einsum(t1.bb, (0, 1), v.bbb.xvv, (2, 3, 1), (2, 0, 3))
+    tmp49 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp243 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp138 = einsum(tmp101, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 2, 3, 4))
+    tmp135 = einsum(tmp109, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp26 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp236 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 2, 4))
+    tmp72 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp66 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp220 = einsum(t1.bb, (0, 1), tmp41, (2, 1), (0, 2))
+    tmp217 = einsum(tmp42, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp215 = einsum(tmp38, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp213 = einsum(t1.bb, (0, 1), tmp110, (2, 1), (0, 2))
+    tmp210 = einsum(tmp34, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp207 = einsum(tmp102, (0, 1), t1.aa, (2, 1), (2, 0))
+    tmp33 = einsum(tmp32, (0,), v.baa.xvv, (0, 1, 2), (1, 2))
+    tmp197 = einsum(tmp28, (0,), v.bbb.xvv, (0, 1, 2), (1, 2))
+    tmp194 = einsum(tmp32, (0,), v.bbb.xvv, (0, 1, 2), (1, 2))
+    tmp29 = einsum(tmp28, (0,), v.baa.xvv, (0, 1, 2), (1, 2))
+    tmp184 = einsum(v.bbb.xoo, (0, 1, 2), tmp28, (0,), (1, 2))
+    tmp181 = einsum(tmp32, (0,), v.baa.xoo, (0, 1, 2), (1, 2))
+    tmp179 = einsum(tmp32, (0,), v.bbb.xoo, (0, 1, 2), (1, 2))
+    del tmp32
+    tmp177 = einsum(tmp109, (0, 1, 2), v.bbb.xoo, (0, 3, 1), (3, 2))
+    tmp174 = einsum(tmp28, (0,), v.baa.xoo, (0, 1, 2), (1, 2))
+    del tmp28
+    tmp171 = einsum(tmp101, (0, 1, 2), v.baa.xoo, (0, 3, 1), (3, 2))
+    tmp44 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp157 = einsum(v.baa.xov, (0, 1, 2), tmp60, (0, 3, 2), (3, 1))
+    tmp154 = einsum(tmp84, (0, 1, 2), v.bbb.xov, (0, 3, 2), (1, 3))
+    tmp151 = einsum(tmp81, (0, 1, 2), v.bbb.xov, (0, 3, 2), (1, 3))
+    tmp148 = einsum(v.baa.xov, (0, 1, 2), tmp57, (0, 3, 2), (3, 1))
+    tmp141 = einsum(v.baa.xov, (0, 1, 2), tmp109, (0, 3, 4), (1, 3, 4, 2))
+    tmp132 = einsum(v.baa.xov, (0, 1, 2), tmp101, (0, 3, 4), (3, 1, 4, 2))
+    tmp99 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp24 = einsum(v.baa.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp69 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp63 = einsum(v.baa.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp22 = einsum(t1.bb, (0, 1), f.bb.ov, (2, 1), (2, 0))
+    tmp19 = einsum(f.aa.ov, (0, 1), t1.aa, (2, 1), (0, 2))
+    tmp490 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp426 = einsum(v.bbb.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (3, 4, 1, 2))
+    tmp387 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp335 = einsum(tmp30, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 2, 4))
+    tmp334 = einsum(tmp101, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp332 = einsum(tmp39, (0, 1, 2), v.bbb.xov, (0, 3, 4), (1, 3, 4, 2))
+    tmp330 = einsum(tmp109, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp319 = einsum(t2.abab, (0, 1, 2, 3), tmp49, (4, 1, 2, 5), (0, 4, 3, 5))
+    tmp317 = einsum(v.bbb.xov, (0, 1, 2), tmp84, (0, 3, 4), (3, 1, 4, 2))
+    tmp315 = einsum(v.bbb.xov, (0, 1, 2), tmp57, (0, 3, 4), (3, 1, 4, 2))
+    tmp313 = einsum(t2.bbbb, (0, 1, 2, 3), tmp243, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp312 = einsum(t2.abab, (0, 1, 2, 3), tmp243, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp310 = einsum(v.bbb.xov, (0, 1, 2), tmp81, (0, 3, 4), (3, 1, 4, 2))
+    tmp309 = einsum(v.bbb.xov, (0, 1, 2), tmp60, (0, 3, 4), (3, 1, 4, 2))
+    tmp303 = einsum(t2.abab, (0, 1, 2, 3), tmp138, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp301 = einsum(tmp135, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 5), (0, 4, 5, 3))
+    tmp281 = einsum(tmp26, (0, 1, 2, 3), t2.abab, (4, 0, 1, 5), (4, 2, 5, 3))
+    tmp279 = einsum(tmp84, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp277 = einsum(v.bbb.xvv, (0, 1, 2), tmp57, (0, 3, 4), (3, 4, 1, 2))
+    tmp275 = einsum(tmp236, (0, 1, 2, 3), t2.bbbb, (4, 0, 5, 1), (4, 5, 3, 2))
+    tmp274 = einsum(tmp236, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 5, 3, 1))
+    tmp272 = einsum(tmp81, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp271 = einsum(v.bbb.xvv, (0, 1, 2), tmp60, (0, 3, 4), (3, 4, 1, 2))
+    tmp265 = einsum(t2.abab, (0, 1, 2, 3), tmp72, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp263 = einsum(t2.bbbb, (0, 1, 2, 3), tmp66, (0, 4, 1, 5), (4, 2, 3, 5))
+    tmp257 = einsum(v.bbb.xov, (0, 1, 2), tmp84, (0, 1, 3), (3, 2))
+    tmp255 = einsum(v.bbb.xov, (0, 1, 2), tmp81, (0, 1, 3), (3, 2))
+    tmp253 = einsum(tmp30, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp251 = einsum(v.bbb.xvv, (0, 1, 2), tmp39, (0, 3, 4), (3, 1, 2, 4))
+    tmp250 = einsum(v.bbb.xvv, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp246 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp239 = einsum(tmp39, (0, 1, 2), v.bbb.xov, (0, 1, 3), (3, 2))
+    tmp221 = einsum(t1.bb, (0, 1), tmp220, (2, 0), (2, 1))
+    tmp218 = einsum(tmp217, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp216 = einsum(t1.bb, (0, 1), tmp215, (2, 0), (2, 1))
+    tmp214 = einsum(t1.bb, (0, 1), tmp213, (2, 0), (2, 1))
+    tmp211 = einsum(tmp210, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp208 = einsum(tmp207, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp206 = einsum(v.baa.xov, (0, 1, 2), tmp39, (0, 3, 4), (1, 3, 2, 4))
+    tmp205 = einsum(tmp109, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp203 = einsum(v.baa.xov, (0, 1, 2), tmp30, (0, 3, 4), (3, 1, 2, 4))
+    tmp201 = einsum(tmp101, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp199 = einsum(t1.aa, (0, 1), tmp33, (2, 1), (0, 2))
+    tmp198 = einsum(tmp197, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp196 = einsum(tmp39, (0, 1, 2), tmp109, (0, 3, 1), (3, 2))
+    tmp195 = einsum(t1.bb, (0, 1), tmp194, (2, 1), (0, 2))
+    tmp192 = einsum(tmp101, (0, 1, 2), tmp30, (0, 2, 3), (1, 3))
+    tmp190 = einsum(t1.aa, (0, 1), tmp29, (2, 1), (0, 2))
+    tmp185 = einsum(t1.bb, (0, 1), tmp184, (2, 0), (2, 1))
+    tmp182 = einsum(t1.aa, (0, 1), tmp181, (2, 0), (2, 1))
+    tmp180 = einsum(t1.bb, (0, 1), tmp179, (2, 0), (2, 1))
+    tmp178 = einsum(t1.bb, (0, 1), tmp177, (2, 0), (2, 1))
+    tmp175 = einsum(t1.aa, (0, 1), tmp174, (2, 0), (2, 1))
+    tmp172 = einsum(t1.aa, (0, 1), tmp171, (2, 0), (2, 1))
+    tmp170 = einsum(t2.abab, (0, 1, 2, 3), tmp49, (0, 4, 5, 3), (1, 4, 2, 5))
+    tmp168 = einsum(v.baa.xov, (0, 1, 2), tmp81, (0, 3, 4), (1, 3, 2, 4))
+    tmp166 = einsum(v.baa.xov, (0, 1, 2), tmp60, (0, 3, 4), (3, 1, 4, 2))
+    tmp165 = einsum(tmp44, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 4, 2, 5))
+    tmp163 = einsum(t2.aaaa, (0, 1, 2, 3), tmp44, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp162 = einsum(v.baa.xov, (0, 1, 2), tmp84, (0, 3, 4), (1, 3, 2, 4))
+    tmp160 = einsum(v.baa.xov, (0, 1, 2), tmp57, (0, 3, 4), (3, 1, 4, 2))
+    tmp158 = einsum(t1.aa, (0, 1), tmp157, (2, 0), (2, 1))
+    tmp155 = einsum(t1.bb, (0, 1), tmp154, (2, 0), (2, 1))
+    tmp152 = einsum(t1.bb, (0, 1), tmp151, (2, 0), (2, 1))
+    tmp149 = einsum(tmp148, (0, 1), t1.aa, (1, 2), (0, 2))
+    tmp146 = einsum(tmp141, (0, 1, 2, 3), t2.abab, (0, 2, 4, 5), (1, 4, 3, 5))
+    tmp144 = einsum(tmp132, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 5), (0, 4, 5, 3))
+    tmp142 = einsum(tmp141, (0, 1, 2, 3), t2.abab, (0, 2, 3, 4), (1, 4))
+    tmp139 = einsum(t2.abab, (0, 1, 2, 3), tmp138, (4, 0, 1, 3), (4, 2))
+    tmp136 = einsum(t2.bbbb, (0, 1, 2, 3), tmp135, (4, 1, 0, 3), (4, 2))
+    tmp133 = einsum(t2.aaaa, (0, 1, 2, 3), tmp132, (4, 1, 0, 3), (4, 2))
+    tmp124 = einsum(tmp41, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3))
+    tmp122 = einsum(t2.abab, (0, 1, 2, 3), tmp41, (1, 3), (0, 2))
+    tmp121 = einsum(t2.abab, (0, 1, 2, 3), tmp42, (0, 2), (1, 3))
+    tmp119 = einsum(t2.aaaa, (0, 1, 2, 3), tmp42, (1, 3), (0, 2))
+    tmp117 = einsum(t2.bbbb, (0, 1, 2, 3), tmp38, (1, 3), (0, 2))
+    tmp115 = einsum(t2.abab, (0, 1, 2, 3), tmp38, (1, 3), (0, 2))
+    tmp113 = einsum(tmp110, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3))
+    tmp111 = einsum(tmp110, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp108 = einsum(t2.abab, (0, 1, 2, 3), tmp34, (0, 2), (1, 3))
+    tmp106 = einsum(t2.aaaa, (0, 1, 2, 3), tmp34, (1, 3), (0, 2))
+    tmp105 = einsum(tmp102, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp103 = einsum(t2.aaaa, (0, 1, 2, 3), tmp102, (1, 3), (0, 2))
+    tmp100 = einsum(t2.abab, (0, 1, 2, 3), tmp99, (0, 4, 5, 3), (1, 2, 4, 5))
+    tmp97 = einsum(v.baa.xvv, (0, 1, 2), tmp81, (0, 3, 4), (3, 1, 2, 4))
+    tmp95 = einsum(tmp60, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp94 = einsum(tmp24, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 3, 1, 5))
+    tmp92 = einsum(t2.aaaa, (0, 1, 2, 3), tmp24, (1, 3, 4, 5), (0, 2, 5, 4))
+    tmp91 = einsum(v.baa.xvv, (0, 1, 2), tmp84, (0, 3, 4), (3, 1, 2, 4))
+    tmp89 = einsum(v.baa.xvv, (0, 1, 2), tmp57, (0, 3, 4), (3, 4, 1, 2))
+    tmp87 = einsum(tmp60, (0, 1, 2), v.baa.xvv, (0, 3, 2), (1, 3))
+    tmp85 = einsum(tmp84, (0, 1, 2), v.bbb.xvv, (0, 3, 2), (1, 3))
+    tmp82 = einsum(v.bbb.xvv, (0, 1, 2), tmp81, (0, 3, 2), (3, 1)) * -1
+    tmp79 = einsum(tmp57, (0, 1, 2), v.baa.xvv, (0, 3, 2), (1, 3)) * -1
+    tmp77 = einsum(tmp69, (0, 1, 2, 3), t2.abab, (0, 1, 4, 5), (2, 4, 3, 5))
+    tmp75 = einsum(t2.aaaa, (0, 1, 2, 3), tmp63, (4, 0, 1, 5), (4, 2, 3, 5))
+    tmp73 = einsum(t2.abab, (0, 1, 2, 3), tmp72, (4, 0, 1, 3), (4, 2))
+    tmp70 = einsum(tmp69, (0, 1, 2, 3), t2.abab, (0, 1, 3, 4), (2, 4))
+    tmp67 = einsum(t2.bbbb, (0, 1, 2, 3), tmp66, (0, 4, 1, 3), (4, 2))
+    tmp64 = einsum(t2.aaaa, (0, 1, 2, 3), tmp63, (4, 0, 1, 3), (4, 2))
+    tmp61 = einsum(v.baa.xov, (0, 1, 2), tmp60, (0, 1, 3), (3, 2))
+    tmp58 = einsum(v.baa.xov, (0, 1, 2), tmp57, (0, 1, 3), (3, 2))
+    tmp55 = einsum(tmp39, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp53 = einsum(tmp30, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp52 = einsum(v.bbb.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp47 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp40 = einsum(tmp39, (0, 1, 2), v.bbb.xoo, (0, 3, 1), (3, 2))
+    tmp36 = einsum(tmp30, (0, 1, 2), v.baa.xoo, (0, 3, 1), (3, 2))
+    tmp31 = einsum(v.baa.xov, (0, 1, 2), tmp30, (0, 1, 3), (2, 3))
+    tmp23 = einsum(t1.bb, (0, 1), tmp22, (0, 2), (2, 1))
+    tmp20 = einsum(tmp19, (0, 1), t1.aa, (0, 2), (1, 2))
+    tmp13 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.ov, (1, 3), (0, 2))
+    tmp11 = einsum(f.bb.ov, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp10 = einsum(f.aa.ov, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    tmp8 = einsum(t2.aaaa, (0, 1, 2, 3), f.aa.ov, (1, 3), (0, 2))
+    tmp7 = einsum(f.bb.vv, (0, 1), t1.bb, (2, 1), (2, 0))
+    tmp5 = einsum(t1.aa, (0, 1), f.aa.vv, (2, 1), (0, 2))
+    tmp4 = einsum(f.bb.oo, (0, 1), t1.bb, (1, 2), (0, 2))
+    tmp2 = einsum(t1.aa, (0, 1), f.aa.oo, (2, 0), (2, 1))
+
+    return {f"tmp10": tmp10, f"tmp100": tmp100, f"tmp101": tmp101, f"tmp102": tmp102, f"tmp103": tmp103, f"tmp105": tmp105, f"tmp106": tmp106, f"tmp108": tmp108, f"tmp109": tmp109, f"tmp11": tmp11, f"tmp110": tmp110, f"tmp111": tmp111, f"tmp113": tmp113, f"tmp115": tmp115, f"tmp117": tmp117, f"tmp119": tmp119, f"tmp121": tmp121, f"tmp122": tmp122, f"tmp124": tmp124, f"tmp13": tmp13, f"tmp132": tmp132, f"tmp133": tmp133, f"tmp135": tmp135, f"tmp136": tmp136, f"tmp138": tmp138, f"tmp139": tmp139, f"tmp141": tmp141, f"tmp142": tmp142, f"tmp144": tmp144, f"tmp146": tmp146, f"tmp148": tmp148, f"tmp149": tmp149, f"tmp151": tmp151, f"tmp152": tmp152, f"tmp154": tmp154, f"tmp155": tmp155, f"tmp157": tmp157, f"tmp158": tmp158, f"tmp160": tmp160, f"tmp162": tmp162, f"tmp163": tmp163, f"tmp165": tmp165, f"tmp166": tmp166, f"tmp168": tmp168, f"tmp170": tmp170, f"tmp171": tmp171, f"tmp172": tmp172, f"tmp174": tmp174, f"tmp175": tmp175, f"tmp177": tmp177, f"tmp178": tmp178, f"tmp179": tmp179, f"tmp180": tmp180, f"tmp181": tmp181, f"tmp182": tmp182, f"tmp184": tmp184, f"tmp185": tmp185, f"tmp19": tmp19, f"tmp190": tmp190, f"tmp192": tmp192, f"tmp194": tmp194, f"tmp195": tmp195, f"tmp196": tmp196, f"tmp197": tmp197, f"tmp198": tmp198, f"tmp199": tmp199, f"tmp2": tmp2, f"tmp20": tmp20, f"tmp201": tmp201, f"tmp203": tmp203, f"tmp205": tmp205, f"tmp206": tmp206, f"tmp207": tmp207, f"tmp208": tmp208, f"tmp210": tmp210, f"tmp211": tmp211, f"tmp213": tmp213, f"tmp214": tmp214, f"tmp215": tmp215, f"tmp216": tmp216, f"tmp217": tmp217, f"tmp218": tmp218, f"tmp22": tmp22, f"tmp220": tmp220, f"tmp221": tmp221, f"tmp23": tmp23, f"tmp236": tmp236, f"tmp239": tmp239, f"tmp24": tmp24, f"tmp243": tmp243, f"tmp246": tmp246, f"tmp250": tmp250, f"tmp251": tmp251, f"tmp253": tmp253, f"tmp255": tmp255, f"tmp257": tmp257, f"tmp26": tmp26, f"tmp263": tmp263, f"tmp265": tmp265, f"tmp271": tmp271, f"tmp272": tmp272, f"tmp274": tmp274, f"tmp275": tmp275, f"tmp277": tmp277, f"tmp279": tmp279, f"tmp281": tmp281, f"tmp29": tmp29, f"tmp30": tmp30, f"tmp301": tmp301, f"tmp303": tmp303, f"tmp309": tmp309, f"tmp31": tmp31, f"tmp310": tmp310, f"tmp312": tmp312, f"tmp313": tmp313, f"tmp315": tmp315, f"tmp317": tmp317, f"tmp319": tmp319, f"tmp33": tmp33, f"tmp330": tmp330, f"tmp332": tmp332, f"tmp334": tmp334, f"tmp335": tmp335, f"tmp34": tmp34, f"tmp36": tmp36, f"tmp38": tmp38, f"tmp387": tmp387, f"tmp39": tmp39, f"tmp4": tmp4, f"tmp40": tmp40, f"tmp41": tmp41, f"tmp42": tmp42, f"tmp426": tmp426, f"tmp44": tmp44, f"tmp47": tmp47, f"tmp49": tmp49, f"tmp490": tmp490, f"tmp5": tmp5, f"tmp52": tmp52, f"tmp53": tmp53, f"tmp55": tmp55, f"tmp57": tmp57, f"tmp58": tmp58, f"tmp60": tmp60, f"tmp61": tmp61, f"tmp63": tmp63, f"tmp64": tmp64, f"tmp66": tmp66, f"tmp67": tmp67, f"tmp69": tmp69, f"tmp7": tmp7, f"tmp70": tmp70, f"tmp72": tmp72, f"tmp73": tmp73, f"tmp75": tmp75, f"tmp77": tmp77, f"tmp79": tmp79, f"tmp8": tmp8, f"tmp81": tmp81, f"tmp82": tmp82, f"tmp84": tmp84, f"tmp85": tmp85, f"tmp87": tmp87, f"tmp89": tmp89, f"tmp91": tmp91, f"tmp92": tmp92, f"tmp94": tmp94, f"tmp95": tmp95, f"tmp97": tmp97, f"tmp99": tmp99}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFCCSD.hbar_lmatvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T20:53:55.701176.

+

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.

+ +
+ Source code in ebcc/codegen/UDFCCSD.py +
6458
+6459
+6460
+6461
+6462
+6463
+6464
+6465
+6466
+6467
+6468
+6469
+6470
+6471
+6472
+6473
+6474
+6475
+6476
+6477
+6478
+6479
+6480
+6481
+6482
+6483
+6484
+6485
+6486
+6487
+6488
+6489
+6490
+6491
+6492
+6493
+6494
+6495
+6496
+6497
+6498
+6499
+6500
+6501
+6502
+6503
+6504
+6505
+6506
+6507
+6508
+6509
+6510
+6511
+6512
+6513
+6514
+6515
+6516
+6517
+6518
+6519
+6520
+6521
+6522
+6523
+6524
+6525
+6526
+6527
+6528
+6529
+6530
+6531
+6532
+6533
+6534
+6535
+6536
+6537
+6538
+6539
+6540
+6541
+6542
+6543
+6544
+6545
+6546
+6547
+6548
+6549
+6550
+6551
+6552
+6553
+6554
+6555
+6556
+6557
+6558
+6559
+6560
+6561
+6562
+6563
+6564
+6565
+6566
+6567
+6568
+6569
+6570
+6571
+6572
+6573
+6574
+6575
+6576
+6577
+6578
+6579
+6580
+6581
+6582
+6583
+6584
+6585
+6586
+6587
+6588
+6589
+6590
+6591
+6592
+6593
+6594
+6595
+6596
+6597
+6598
+6599
+6600
+6601
+6602
+6603
+6604
+6605
+6606
+6607
+6608
+6609
+6610
+6611
+6612
+6613
+6614
+6615
+6616
+6617
+6618
+6619
+6620
+6621
+6622
+6623
+6624
+6625
+6626
+6627
+6628
+6629
+6630
+6631
+6632
+6633
+6634
+6635
+6636
+6637
+6638
+6639
+6640
+6641
+6642
+6643
+6644
+6645
+6646
+6647
+6648
+6649
+6650
+6651
+6652
+6653
+6654
+6655
+6656
+6657
+6658
+6659
+6660
+6661
+6662
+6663
+6664
+6665
+6666
+6667
+6668
+6669
+6670
+6671
+6672
+6673
+6674
+6675
+6676
+6677
+6678
+6679
+6680
+6681
+6682
+6683
+6684
+6685
+6686
+6687
+6688
+6689
+6690
+6691
+6692
+6693
+6694
+6695
+6696
+6697
+6698
+6699
+6700
+6701
+6702
+6703
+6704
+6705
+6706
+6707
+6708
+6709
+6710
+6711
+6712
+6713
+6714
+6715
+6716
+6717
+6718
+6719
+6720
+6721
+6722
+6723
+6724
+6725
+6726
+6727
+6728
+6729
+6730
+6731
+6732
+6733
+6734
+6735
+6736
+6737
+6738
+6739
+6740
+6741
+6742
+6743
+6744
+6745
+6746
+6747
+6748
+6749
+6750
+6751
+6752
+6753
+6754
+6755
+6756
+6757
+6758
+6759
+6760
+6761
+6762
+6763
+6764
+6765
+6766
+6767
+6768
+6769
+6770
+6771
+6772
+6773
+6774
+6775
+6776
+6777
+6778
+6779
+6780
+6781
+6782
+6783
+6784
+6785
+6786
+6787
+6788
+6789
+6790
+6791
+6792
+6793
+6794
+6795
+6796
+6797
+6798
+6799
+6800
+6801
+6802
+6803
+6804
+6805
+6806
+6807
+6808
+6809
+6810
+6811
+6812
+6813
+6814
+6815
+6816
+6817
+6818
+6819
+6820
+6821
+6822
+6823
+6824
+6825
+6826
+6827
+6828
+6829
+6830
+6831
+6832
+6833
+6834
+6835
+6836
+6837
+6838
+6839
+6840
+6841
+6842
+6843
+6844
+6845
+6846
+6847
+6848
+6849
+6850
+6851
+6852
+6853
+6854
+6855
+6856
+6857
+6858
+6859
+6860
+6861
+6862
+6863
+6864
+6865
+6866
+6867
+6868
+6869
+6870
+6871
+6872
+6873
+6874
+6875
+6876
+6877
+6878
+6879
+6880
+6881
+6882
+6883
+6884
+6885
+6886
+6887
+6888
+6889
+6890
+6891
+6892
+6893
+6894
+6895
+6896
+6897
+6898
+6899
+6900
+6901
+6902
+6903
+6904
+6905
+6906
+6907
+6908
+6909
+6910
+6911
+6912
+6913
+6914
+6915
+6916
+6917
+6918
+6919
+6920
+6921
+6922
+6923
+6924
+6925
+6926
+6927
+6928
+6929
+6930
+6931
+6932
+6933
+6934
+6935
+6936
+6937
+6938
+6939
+6940
+6941
+6942
+6943
+6944
+6945
+6946
+6947
+6948
+6949
+6950
+6951
+6952
+6953
+6954
+6955
+6956
+6957
+6958
+6959
+6960
+6961
+6962
+6963
+6964
+6965
+6966
+6967
+6968
+6969
+6970
+6971
+6972
+6973
+6974
+6975
+6976
+6977
+6978
+6979
+6980
+6981
+6982
+6983
+6984
+6985
+6986
+6987
+6988
+6989
+6990
+6991
+6992
+6993
+6994
+6995
+6996
+6997
+6998
+6999
+7000
+7001
+7002
+7003
+7004
+7005
+7006
+7007
+7008
+7009
+7010
+7011
+7012
+7013
+7014
+7015
+7016
+7017
+7018
+7019
+7020
+7021
+7022
+7023
+7024
+7025
+7026
+7027
+7028
+7029
+7030
+7031
+7032
+7033
+7034
+7035
+7036
+7037
+7038
+7039
+7040
+7041
+7042
+7043
+7044
+7045
+7046
+7047
+7048
+7049
+7050
+7051
+7052
+7053
+7054
+7055
+7056
+7057
+7058
+7059
+7060
+7061
+7062
+7063
+7064
+7065
+7066
+7067
+7068
+7069
+7070
+7071
+7072
+7073
+7074
+7075
+7076
+7077
+7078
+7079
+7080
+7081
+7082
+7083
+7084
+7085
+7086
+7087
+7088
+7089
+7090
+7091
+7092
+7093
+7094
+7095
+7096
+7097
+7098
+7099
+7100
+7101
+7102
+7103
+7104
+7105
+7106
+7107
+7108
+7109
+7110
+7111
+7112
+7113
+7114
+7115
+7116
+7117
+7118
+7119
+7120
+7121
+7122
+7123
+7124
+7125
+7126
+7127
+7128
+7129
+7130
+7131
+7132
+7133
+7134
+7135
+7136
+7137
+7138
+7139
+7140
+7141
+7142
+7143
+7144
+7145
+7146
+7147
+7148
+7149
+7150
+7151
+7152
+7153
+7154
+7155
+7156
+7157
+7158
+7159
+7160
+7161
+7162
+7163
+7164
+7165
+7166
+7167
+7168
+7169
+7170
+7171
+7172
+7173
+7174
+7175
+7176
+7177
+7178
+7179
+7180
+7181
+7182
+7183
+7184
+7185
+7186
+7187
+7188
+7189
+7190
+7191
+7192
+7193
+7194
+7195
+7196
+7197
+7198
+7199
+7200
+7201
+7202
+7203
+7204
+7205
+7206
+7207
+7208
+7209
+7210
+7211
+7212
+7213
+7214
+7215
+7216
+7217
+7218
+7219
+7220
+7221
+7222
+7223
+7224
+7225
+7226
+7227
+7228
+7229
+7230
+7231
+7232
+7233
+7234
+7235
+7236
+7237
+7238
+7239
+7240
+7241
def hbar_lmatvec_ea(f=None, r1=None, r2=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T20:53:55.701176.
+
+    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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp58 = np.copy(ints.tmp101)
+    del ints.tmp101
+    tmp58 += v.baa.xoo
+    tmp74 = einsum(tmp58, (0, 1, 2), t1.aa, (2, 3), (0, 1, 3))
+    tmp75 = np.copy(ints.tmp30)
+    tmp75 += ints.tmp57 * 2
+    tmp75 += ints.tmp60
+    tmp75 += v.baa.xov
+    tmp75 += tmp74 * -1
+    del tmp74
+    tmp22 = einsum(t1.bb, (0, 1), r2.bbb, (2, 1, 3), (3, 0, 2))
+    tmp60 = np.copy(ints.tmp109)
+    del ints.tmp109
+    tmp60 += v.bbb.xoo
+    tmp102 = np.copy(f.bb.ov)
+    tmp102 += ints.tmp38
+    tmp102 += ints.tmp41
+    tmp46 = np.copy(ints.tmp39)
+    tmp46 += ints.tmp84
+    tmp46 += v.bbb.xov
+    tmp46 += ints.tmp81 * 2
+    tmp44 = np.copy(ints.tmp30)
+    del ints.tmp30
+    tmp44 += ints.tmp60
+    del ints.tmp60
+    tmp44 += v.baa.xov
+    tmp44 += ints.tmp57 * 2
+    del ints.tmp57
+    tmp50 = np.copy(f.aa.ov)
+    tmp50 += ints.tmp34
+    tmp50 += ints.tmp42
+    tmp2 = einsum(t1.aa, (0, 1), r2.aaa, (2, 1, 3), (3, 0, 2))
+    tmp6 = einsum(t1.bb, (0, 1), r2.bab, (1, 2, 3), (3, 0, 2)) * -1
+    tmp76 = einsum(tmp75, (0, 1, 2), r2.aba, (2, 3, 1), (0, 3)) * 0.5
+    tmp110 = einsum(tmp60, (0, 1, 2), tmp22, (1, 2, 3), (0, 3))
+    tmp113 = einsum(t1.bb, (0, 1), ints.tmp110, (0, 2), (2, 1))
+    tmp36 = einsum(r2.bbb, (0, 1, 2), t2.bbbb, (3, 2, 0, 1), (3,))
+    tmp34 = einsum(r1.b, (0,), t1.bb, (1, 0), (1,))
+    tmp103 = einsum(tmp102, (0, 1), t1.bb, (0, 2), (1, 2))
+    del tmp102
+    tmp47 = einsum(r2.bab, (0, 1, 2), tmp46, (3, 2, 0), (3, 1)) * -1
+    tmp45 = einsum(tmp44, (0, 1, 2), r2.aaa, (3, 2, 1), (0, 3)) * -1
+    del tmp44
+    tmp51 = einsum(t1.aa, (0, 1), tmp50, (0, 2), (1, 2))
+    del tmp50
+    tmp59 = einsum(tmp58, (0, 1, 2), tmp2, (1, 2, 3), (0, 3))
+    del tmp58
+    tmp61 = einsum(tmp60, (0, 1, 2), tmp6, (1, 2, 3), (0, 3)) * 0.5
+    tmp17 = einsum(r2.bab, (0, 1, 2), t2.abab, (3, 2, 1, 0), (3,)) * -1
+    tmp15 = einsum(t1.aa, (0, 1), r1.a, (1,), (0,))
+    tmp16 = einsum(t2.aaaa, (0, 1, 2, 3), r2.aaa, (2, 3, 1), (0,))
+    tmp64 = einsum(t1.aa, (0, 1), ints.tmp102, (0, 2), (2, 1))
+    tmp111 = np.copy(tmp76)
+    tmp111 += tmp110
+    del tmp110
+    tmp87 = np.copy(ints.tmp135)
+    tmp87 += np.transpose(ints.tmp66, (0, 2, 1, 3))
+    tmp114 = np.copy(f.bb.vv) * 0.5
+    tmp114 += ints.tmp194 * 0.5
+    tmp114 += ints.tmp197 * 0.5
+    tmp114 += ints.tmp255 * -1
+    tmp114 += ints.tmp257 * -0.5
+    tmp114 += np.transpose(tmp113, (1, 0)) * 0.5
+    del tmp113
+    tmp116 = np.copy(tmp34) * 0.5
+    tmp116 += tmp36
+    tmp98 = np.copy(ints.tmp246)
+    tmp98 += ints.tmp330
+    tmp98 += ints.tmp313 * 2
+    tmp35 = einsum(t2.abab, (0, 1, 2, 3), r2.aba, (2, 3, 0), (1,))
+    tmp100 = einsum(tmp46, (0, 1, 2), r2.bbb, (3, 2, 1), (0, 3)) * -1
+    del tmp46
+    tmp104 = np.copy(ints.tmp239)
+    tmp104 += tmp103
+    del tmp103
+    tmp77 = einsum(t1.bb, (0, 1), tmp60, (2, 3, 0), (2, 3, 1))
+    del tmp60
+    tmp38 = np.copy(f.bb.ov)
+    tmp38 += ints.tmp38
+    tmp38 += ints.tmp41
+    tmp38 += ints.tmp110 * -1
+    del ints.tmp110
+    tmp19 = np.copy(f.aa.ov)
+    tmp19 += ints.tmp34
+    tmp19 += ints.tmp42
+    tmp19 += ints.tmp102 * -1
+    del ints.tmp102
+    tmp48 = np.copy(tmp45) * -2
+    del tmp45
+    tmp48 += tmp47
+    del tmp47
+    tmp52 = np.copy(ints.tmp31)
+    tmp52 += np.transpose(tmp51, (1, 0))
+    del tmp51
+    tmp42 = np.copy(ints.tmp201)
+    tmp42 += ints.tmp47
+    tmp42 += ints.tmp163 * 2
+    tmp62 = np.copy(tmp59)
+    del tmp59
+    tmp62 += tmp61
+    del tmp61
+    tmp56 = np.copy(ints.tmp132)
+    tmp56 += np.transpose(ints.tmp63, (0, 2, 1, 3))
+    tmp18 = np.copy(tmp15) * 0.5
+    del tmp15
+    tmp18 += tmp16
+    del tmp16
+    tmp18 += tmp17 * 0.5
+    del tmp17
+    tmp65 = np.copy(f.aa.vv) * 0.5
+    tmp65 += ints.tmp29 * 0.5
+    tmp65 += ints.tmp33 * 0.5
+    tmp65 += ints.tmp58 * -1
+    tmp65 += ints.tmp61 * -0.5
+    tmp65 += np.transpose(tmp64, (1, 0)) * 0.5
+    del tmp64
+    tmp112 = einsum(v.bbb.xov, (0, 1, 2), tmp111, (0, 3), (1, 3, 2)) * 2
+    del tmp111
+    tmp109 = einsum(tmp87, (0, 1, 2, 3), tmp22, (0, 1, 4), (2, 3, 4)) * 2
+    tmp108 = einsum(ints.tmp236, (0, 1, 2, 3), tmp22, (4, 0, 2), (4, 1, 3))
+    tmp107 = einsum(r2.aba, (0, 1, 2), ints.tmp312, (2, 3, 0, 4), (3, 4, 1))
+    tmp115 = einsum(tmp114, (0, 1), r2.bbb, (2, 0, 3), (3, 1, 2)) * -4
+    del tmp114
+    tmp117 = einsum(tmp116, (0,), ints.tmp243, (0, 1, 2, 3), (1, 2, 3)) * 2
+    del tmp116
+    tmp99 = einsum(tmp98, (0, 1, 2, 3), r2.bbb, (4, 2, 0), (1, 3, 4)) * -1
+    del tmp98
+    tmp97 = einsum(ints.tmp243, (0, 1, 2, 3), tmp35, (0,), (1, 2, 3))
+    tmp101 = einsum(tmp100, (0, 1), v.bbb.xov, (0, 2, 3), (2, 1, 3)) * -1
+    del tmp100
+    tmp96 = einsum(r1.b, (0,), ints.tmp236, (1, 2, 0, 3), (1, 2, 3))
+    tmp105 = einsum(r2.bbb, (0, 1, 2), tmp104, (3, 1), (2, 3, 0)) * -1
+    del tmp104
+    tmp78 = np.copy(ints.tmp39)
+    del ints.tmp39
+    tmp78 += ints.tmp81 * 2
+    del ints.tmp81
+    tmp78 += ints.tmp84
+    del ints.tmp84
+    tmp78 += v.bbb.xov
+    tmp78 += tmp77 * -1
+    del tmp77
+    tmp85 = np.copy(ints.tmp141)
+    tmp85 += ints.tmp69
+    tmp80 = einsum(tmp38, (0, 1), t1.bb, (0, 2), (2, 1))
+    tmp89 = np.copy(t2.abab)
+    tmp89 += einsum(t1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1))
+    tmp82 = einsum(t1.aa, (0, 1), tmp19, (0, 2), (1, 2))
+    tmp72 = np.copy(t2.abab)
+    tmp72 += einsum(t1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1))
+    tmp30 = np.copy(ints.tmp138)
+    del ints.tmp138
+    tmp30 += ints.tmp72
+    del ints.tmp72
+    tmp49 = einsum(v.baa.xov, (0, 1, 2), tmp48, (0, 3), (1, 2, 3))
+    del tmp48
+    tmp53 = einsum(r2.aaa, (0, 1, 2), tmp52, (3, 1), (2, 0, 3)) * -1
+    del tmp52
+    tmp40 = einsum(ints.tmp24, (0, 1, 2, 3), r1.a, (2,), (0, 1, 3))
+    tmp43 = einsum(r2.aaa, (0, 1, 2), tmp42, (2, 3, 1, 4), (3, 0, 4)) * -1
+    del tmp42
+    tmp41 = einsum(ints.tmp165, (0, 1, 2, 3), r2.bab, (3, 4, 1), (0, 2, 4)) * -1
+    tmp63 = einsum(tmp62, (0, 1), v.baa.xov, (0, 2, 3), (2, 3, 1)) * 2
+    del tmp62
+    tmp57 = einsum(tmp56, (0, 1, 2, 3), tmp2, (0, 1, 4), (2, 4, 3)) * 2
+    tmp55 = einsum(tmp2, (0, 1, 2), ints.tmp24, (1, 3, 2, 4), (0, 3, 4))
+    tmp67 = einsum(ints.tmp44, (0, 1, 2, 3), tmp18, (0,), (1, 2, 3)) * 2
+    tmp66 = einsum(r2.aaa, (0, 1, 2), tmp65, (1, 3), (2, 0, 3)) * -4
+    del tmp65
+    tmp26 = einsum(r2.aba, (0, 1, 2), t1.aa, (3, 0), (2, 3, 1))
+    tmp31 = einsum(t1.bb, (0, 1), tmp22, (2, 3, 1), (2, 3, 0)) * -1
+    tmp94 = np.copy(f.bb.oo)
+    tmp94 += ints.tmp151 * 2
+    del ints.tmp151
+    tmp94 += ints.tmp154
+    del ints.tmp154
+    tmp94 += ints.tmp179
+    del ints.tmp179
+    tmp94 += ints.tmp184
+    del ints.tmp184
+    tmp94 += ints.tmp215
+    del ints.tmp215
+    tmp94 += ints.tmp220
+    del ints.tmp220
+    tmp94 += np.transpose(ints.tmp22, (1, 0))
+    del ints.tmp22
+    tmp94 += ints.tmp177 * -1
+    del ints.tmp177
+    tmp94 += ints.tmp213 * -1
+    del ints.tmp213
+    tmp95 = einsum(t2.bbbb, (0, 1, 2, 3), r2.bbb, (2, 3, 4), (4, 0, 1))
+    tmp118 = np.copy(tmp107)
+    del tmp107
+    tmp118 += tmp108 * 2
+    del tmp108
+    tmp118 += tmp109
+    del tmp109
+    tmp118 += tmp112
+    del tmp112
+    tmp118 += tmp115 * -1
+    del tmp115
+    tmp118 += tmp117
+    del tmp117
+    tmp106 = np.copy(tmp96)
+    del tmp96
+    tmp106 += tmp97
+    del tmp97
+    tmp106 += tmp99 * -2
+    del tmp99
+    tmp106 += tmp101 * 2
+    del tmp101
+    tmp106 += tmp105 * -2
+    del tmp105
+    tmp91 = einsum(tmp75, (0, 1, 2), r2.aaa, (3, 2, 1), (0, 3))
+    del tmp75
+    tmp91 += einsum(r2.bab, (0, 1, 2), tmp78, (3, 2, 0), (3, 1)) * -0.5
+    tmp86 = np.copy(ints.tmp170)
+    tmp86 += np.transpose(ints.tmp205, (0, 1, 3, 2)) * -1
+    tmp86 += np.transpose(ints.tmp52, (0, 1, 3, 2)) * -1
+    tmp86 += einsum(tmp85, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3))
+    del tmp85
+    tmp93 = np.copy(np.transpose(ints.tmp239, (1, 0)))
+    tmp93 += ints.tmp255 * 2
+    tmp93 += ints.tmp257
+    tmp93 += f.bb.vv * -1
+    tmp93 += ints.tmp194 * -1
+    tmp93 += ints.tmp197 * -1
+    tmp93 += tmp80
+    tmp90 = einsum(tmp89, (0, 1, 2, 3), r2.bab, (3, 2, 4), (0, 4, 1)) * -1
+    del tmp89
+    tmp92 = np.copy(np.transpose(ints.tmp31, (1, 0)))
+    tmp92 += ints.tmp58 * 2
+    tmp92 += ints.tmp61
+    tmp92 += f.aa.vv * -1
+    tmp92 += np.transpose(ints.tmp29, (1, 0)) * -1
+    tmp92 += np.transpose(ints.tmp33, (1, 0)) * -1
+    tmp92 += tmp82
+    tmp4 = einsum(r2.bab, (0, 1, 2), t1.aa, (3, 1), (3, 2, 0)) * -1
+    tmp88 = np.copy(ints.tmp246)
+    tmp88 += ints.tmp313 * 2
+    tmp88 += ints.tmp330
+    tmp88 += einsum(t1.bb, (0, 1), tmp87, (2, 0, 3, 4), (2, 3, 1, 4)) * -1
+    del tmp87
+    tmp69 = np.copy(f.aa.oo)
+    tmp69 += ints.tmp148 * 2
+    del ints.tmp148
+    tmp69 += ints.tmp157
+    del ints.tmp157
+    tmp69 += ints.tmp174
+    del ints.tmp174
+    tmp69 += ints.tmp181
+    del ints.tmp181
+    tmp69 += np.transpose(ints.tmp19, (1, 0))
+    del ints.tmp19
+    tmp69 += ints.tmp210
+    del ints.tmp210
+    tmp69 += ints.tmp217
+    del ints.tmp217
+    tmp69 += ints.tmp171 * -1
+    del ints.tmp171
+    tmp69 += ints.tmp207 * -1
+    del ints.tmp207
+    tmp84 = np.copy(tmp34)
+    tmp84 += tmp35 * -1
+    tmp84 += tmp36 * 2
+    tmp73 = einsum(r2.aba, (0, 1, 2), tmp72, (3, 4, 0, 1), (2, 3, 4))
+    del tmp72
+    tmp70 = np.copy(np.transpose(ints.tmp319, (0, 1, 3, 2)))
+    tmp70 += ints.tmp250 * -1
+    tmp70 += ints.tmp334 * -1
+    tmp70 += einsum(tmp30, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4))
+    tmp81 = np.copy(np.transpose(ints.tmp239, (1, 0)))
+    tmp81 += ints.tmp255 * 2
+    tmp81 += ints.tmp257
+    tmp81 += f.bb.vv * -1
+    tmp81 += np.transpose(ints.tmp194, (1, 0)) * -1
+    tmp81 += np.transpose(ints.tmp197, (1, 0)) * -1
+    tmp81 += tmp80
+    del tmp80
+    tmp71 = np.copy(ints.tmp163) * 2
+    tmp71 += ints.tmp201
+    tmp71 += ints.tmp47
+    tmp71 += einsum(tmp56, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3)) * -1
+    del tmp56
+    tmp83 = np.copy(np.transpose(ints.tmp31, (1, 0)))
+    tmp83 += ints.tmp58 * 2
+    tmp83 += ints.tmp61
+    tmp83 += f.aa.vv * -1
+    tmp83 += ints.tmp29 * -1
+    tmp83 += ints.tmp33 * -1
+    tmp83 += tmp82
+    del tmp82
+    tmp79 = np.copy(tmp76) * -1
+    del tmp76
+    tmp79 += einsum(tmp78, (0, 1, 2), r2.bbb, (3, 2, 1), (0, 3))
+    del tmp78
+    tmp24 = einsum(t1.bb, (0, 1), r2.aba, (2, 1, 3), (3, 0, 2))
+    tmp54 = np.copy(tmp40)
+    del tmp40
+    tmp54 += tmp41
+    del tmp41
+    tmp54 += np.transpose(tmp43, (0, 2, 1)) * -2
+    del tmp43
+    tmp54 += np.transpose(tmp49, (0, 2, 1))
+    del tmp49
+    tmp54 += np.transpose(tmp53, (0, 2, 1)) * -2
+    del tmp53
+    tmp39 = einsum(t2.aaaa, (0, 1, 2, 3), r2.aaa, (2, 3, 4), (4, 0, 1))
+    tmp68 = np.copy(tmp55) * 2
+    del tmp55
+    tmp68 += np.transpose(tmp57, (0, 2, 1))
+    del tmp57
+    tmp68 += np.transpose(tmp63, (0, 2, 1))
+    del tmp63
+    tmp68 += np.transpose(tmp66, (0, 2, 1)) * -1
+    del tmp66
+    tmp68 += tmp67
+    del tmp67
+    tmp12 = einsum(tmp2, (0, 1, 2), t1.aa, (3, 2), (0, 1, 3)) * -1
+    tmp32 = np.copy(ints.tmp135)
+    del ints.tmp135
+    tmp32 += ints.tmp66 * -1
+    del ints.tmp66
+    tmp23 = np.copy(ints.tmp243)
+    tmp23 += ints.tmp310 * 2
+    del ints.tmp310
+    tmp23 += ints.tmp317
+    del ints.tmp317
+    tmp23 += np.transpose(ints.tmp332, (0, 1, 3, 2))
+    del ints.tmp332
+    tmp23 += np.transpose(ints.tmp246, (0, 1, 3, 2)) * -1
+    del ints.tmp246
+    tmp23 += ints.tmp313 * -2
+    del ints.tmp313
+    tmp23 += np.transpose(ints.tmp330, (0, 1, 3, 2)) * -1
+    del ints.tmp330
+    tmp29 = einsum(t1.bb, (0, 1), tmp26, (2, 3, 1), (2, 3, 0))
+    tmp37 = np.copy(tmp34) * 0.5
+    del tmp34
+    tmp37 += tmp35 * -0.5
+    del tmp35
+    tmp37 += tmp36
+    del tmp36
+    tmp25 = np.copy(ints.tmp309)
+    del ints.tmp309
+    tmp25 += ints.tmp315 * 2
+    del ints.tmp315
+    tmp25 += ints.tmp335
+    del ints.tmp335
+    tmp25 += ints.tmp49
+    tmp25 += ints.tmp312 * -1
+    tmp33 = np.copy(np.transpose(ints.tmp239, (1, 0)))
+    del ints.tmp239
+    tmp33 += ints.tmp255 * 2
+    del ints.tmp255
+    tmp33 += ints.tmp257
+    del ints.tmp257
+    tmp33 += f.bb.vv * -1
+    tmp33 += np.transpose(ints.tmp194, (1, 0)) * -1
+    del ints.tmp194
+    tmp33 += np.transpose(ints.tmp197, (1, 0)) * -1
+    del ints.tmp197
+    tmp27 = np.copy(ints.tmp250)
+    del ints.tmp250
+    tmp27 += ints.tmp334
+    del ints.tmp334
+    tmp27 += np.transpose(ints.tmp319, (0, 1, 3, 2)) * -1
+    del ints.tmp319
+    tmp21 = np.copy(ints.tmp236) * 0.5
+    del ints.tmp236
+    tmp21 += ints.tmp251 * 0.5
+    del ints.tmp251
+    tmp21 += np.transpose(ints.tmp275, (0, 2, 1, 3))
+    del ints.tmp275
+    tmp21 += np.transpose(ints.tmp301, (0, 3, 1, 2)) * 0.5
+    del ints.tmp301
+    tmp21 += np.transpose(ints.tmp263, (0, 3, 1, 2)) * -0.5
+    del ints.tmp263
+    tmp21 += np.transpose(ints.tmp272, (0, 3, 1, 2)) * -1
+    del ints.tmp272
+    tmp21 += np.transpose(ints.tmp279, (0, 3, 1, 2)) * -0.5
+    del ints.tmp279
+    tmp9 = np.copy(ints.tmp103) * 2
+    del ints.tmp103
+    tmp9 += ints.tmp111
+    del ints.tmp111
+    tmp9 += ints.tmp133 * 2
+    del ints.tmp133
+    tmp9 += ints.tmp139
+    del ints.tmp139
+    tmp9 += ints.tmp149 * 2
+    del ints.tmp149
+    tmp9 += ints.tmp158
+    del ints.tmp158
+    tmp9 += ints.tmp175
+    del ints.tmp175
+    tmp9 += ints.tmp182
+    del ints.tmp182
+    tmp9 += ints.tmp192
+    del ints.tmp192
+    tmp9 += ints.tmp20
+    del ints.tmp20
+    tmp9 += ints.tmp211
+    del ints.tmp211
+    tmp9 += ints.tmp218
+    del ints.tmp218
+    tmp9 += ints.tmp2
+    del ints.tmp2
+    tmp9 += ints.tmp36
+    del ints.tmp36
+    tmp9 += ints.tmp64 * 2
+    del ints.tmp64
+    tmp9 += ints.tmp73
+    del ints.tmp73
+    tmp9 += ints.tmp79 * 2
+    del ints.tmp79
+    tmp9 += f.aa.ov * -1
+    tmp9 += ints.tmp106 * -2
+    del ints.tmp106
+    tmp9 += ints.tmp115 * -1
+    del ints.tmp115
+    tmp9 += ints.tmp119 * -2
+    del ints.tmp119
+    tmp9 += ints.tmp11 * -1
+    del ints.tmp11
+    tmp9 += ints.tmp122 * -1
+    del ints.tmp122
+    tmp9 += ints.tmp172 * -1
+    del ints.tmp172
+    tmp9 += ints.tmp190 * -1
+    del ints.tmp190
+    tmp9 += ints.tmp199 * -1
+    del ints.tmp199
+    tmp9 += ints.tmp208 * -1
+    del ints.tmp208
+    tmp9 += ints.tmp34 * -1
+    del ints.tmp34
+    tmp9 += ints.tmp42 * -1
+    del ints.tmp42
+    tmp9 += ints.tmp5 * -1
+    del ints.tmp5
+    tmp9 += ints.tmp87 * -1
+    del ints.tmp87
+    tmp9 += ints.tmp8 * -2
+    del ints.tmp8
+    tmp20 = np.copy(ints.tmp253)
+    del ints.tmp253
+    tmp20 += np.transpose(ints.tmp265, (0, 1, 3, 2))
+    del ints.tmp265
+    tmp20 += np.transpose(ints.tmp271, (0, 1, 3, 2))
+    del ints.tmp271
+    tmp20 += np.transpose(ints.tmp277, (0, 1, 3, 2)) * 2
+    del ints.tmp277
+    tmp20 += np.transpose(ints.tmp303, (0, 1, 3, 2))
+    del ints.tmp303
+    tmp20 += ints.tmp99
+    tmp20 += ints.tmp274 * -1
+    del ints.tmp274
+    tmp20 += np.transpose(ints.tmp281, (0, 1, 3, 2)) * -1
+    del ints.tmp281
+    tmp28 = np.copy(ints.tmp105)
+    tmp28 += ints.tmp113 * 2
+    tmp28 += ints.tmp136 * 2
+    tmp28 += ints.tmp142
+    tmp28 += ints.tmp152 * 2
+    tmp28 += ints.tmp155
+    tmp28 += ints.tmp180
+    tmp28 += ints.tmp185
+    tmp28 += ints.tmp196
+    tmp28 += ints.tmp216
+    tmp28 += ints.tmp221
+    tmp28 += ints.tmp23
+    tmp28 += ints.tmp40
+    tmp28 += ints.tmp4
+    tmp28 += ints.tmp67 * 2
+    tmp28 += ints.tmp70
+    tmp28 += ints.tmp82 * 2
+    tmp28 += f.bb.ov * -1
+    tmp28 += ints.tmp108 * -1
+    tmp28 += ints.tmp10 * -1
+    tmp28 += ints.tmp117 * -2
+    tmp28 += ints.tmp121 * -1
+    tmp28 += ints.tmp124 * -2
+    tmp28 += ints.tmp13 * -2
+    tmp28 += ints.tmp178 * -1
+    tmp28 += ints.tmp195 * -1
+    tmp28 += ints.tmp198 * -1
+    tmp28 += ints.tmp214 * -1
+    tmp28 += ints.tmp38 * -1
+    tmp28 += ints.tmp41 * -1
+    tmp28 += ints.tmp7 * -1
+    tmp28 += ints.tmp85 * -1
+    tmp14 = np.copy(np.transpose(ints.tmp31, (1, 0)))
+    del ints.tmp31
+    tmp14 += ints.tmp58 * 2
+    del ints.tmp58
+    tmp14 += ints.tmp61
+    del ints.tmp61
+    tmp14 += f.aa.vv * -1
+    tmp14 += np.transpose(ints.tmp29, (1, 0)) * -1
+    del ints.tmp29
+    tmp14 += np.transpose(ints.tmp33, (1, 0)) * -1
+    del ints.tmp33
+    tmp3 = np.copy(ints.tmp160) * 2
+    del ints.tmp160
+    tmp3 += ints.tmp166
+    del ints.tmp166
+    tmp3 += np.transpose(ints.tmp203, (0, 1, 3, 2))
+    del ints.tmp203
+    tmp3 += ints.tmp44
+    tmp3 += ints.tmp163 * -2
+    del ints.tmp163
+    tmp3 += np.transpose(ints.tmp201, (0, 1, 3, 2)) * -1
+    del ints.tmp201
+    tmp3 += np.transpose(ints.tmp47, (0, 1, 3, 2)) * -1
+    del ints.tmp47
+    tmp8 = np.copy(ints.tmp105) * 0.5
+    del ints.tmp105
+    tmp8 += ints.tmp113
+    del ints.tmp113
+    tmp8 += ints.tmp136
+    del ints.tmp136
+    tmp8 += ints.tmp142 * 0.5
+    del ints.tmp142
+    tmp8 += ints.tmp152
+    del ints.tmp152
+    tmp8 += ints.tmp155 * 0.5
+    del ints.tmp155
+    tmp8 += ints.tmp180 * 0.5
+    del ints.tmp180
+    tmp8 += ints.tmp185 * 0.5
+    del ints.tmp185
+    tmp8 += ints.tmp196 * 0.5
+    del ints.tmp196
+    tmp8 += ints.tmp216 * 0.5
+    del ints.tmp216
+    tmp8 += ints.tmp221 * 0.5
+    del ints.tmp221
+    tmp8 += ints.tmp23 * 0.5
+    del ints.tmp23
+    tmp8 += ints.tmp40 * 0.5
+    del ints.tmp40
+    tmp8 += ints.tmp4 * 0.5
+    del ints.tmp4
+    tmp8 += ints.tmp67
+    del ints.tmp67
+    tmp8 += ints.tmp70 * 0.5
+    del ints.tmp70
+    tmp8 += ints.tmp82
+    del ints.tmp82
+    tmp8 += f.bb.ov * -0.5
+    tmp8 += ints.tmp108 * -0.5
+    del ints.tmp108
+    tmp8 += ints.tmp10 * -0.5
+    del ints.tmp10
+    tmp8 += ints.tmp117 * -1
+    del ints.tmp117
+    tmp8 += ints.tmp121 * -0.5
+    del ints.tmp121
+    tmp8 += ints.tmp124 * -1
+    del ints.tmp124
+    tmp8 += ints.tmp13 * -1
+    del ints.tmp13
+    tmp8 += ints.tmp178 * -0.5
+    del ints.tmp178
+    tmp8 += ints.tmp195 * -0.5
+    del ints.tmp195
+    tmp8 += ints.tmp198 * -0.5
+    del ints.tmp198
+    tmp8 += ints.tmp214 * -0.5
+    del ints.tmp214
+    tmp8 += ints.tmp38 * -0.5
+    del ints.tmp38
+    tmp8 += ints.tmp41 * -0.5
+    del ints.tmp41
+    tmp8 += ints.tmp7 * -0.5
+    del ints.tmp7
+    tmp8 += ints.tmp85 * -0.5
+    del ints.tmp85
+    tmp1 = np.copy(ints.tmp144) * 0.5
+    del ints.tmp144
+    tmp1 += np.transpose(ints.tmp24, (0, 2, 3, 1)) * 0.5
+    del ints.tmp24
+    tmp1 += np.transpose(ints.tmp53, (0, 2, 3, 1)) * 0.5
+    del ints.tmp53
+    tmp1 += np.transpose(ints.tmp92, (0, 1, 3, 2))
+    del ints.tmp92
+    tmp1 += ints.tmp75 * -0.5
+    del ints.tmp75
+    tmp1 += ints.tmp89 * -1
+    del ints.tmp89
+    tmp1 += ints.tmp95 * -0.5
+    del ints.tmp95
+    tmp10 = einsum(t1.aa, (0, 1), tmp6, (2, 3, 1), (0, 2, 3))
+    tmp5 = np.copy(ints.tmp162)
+    del ints.tmp162
+    tmp5 += ints.tmp168 * 2
+    del ints.tmp168
+    tmp5 += ints.tmp206
+    del ints.tmp206
+    tmp5 += ints.tmp49
+    tmp5 += ints.tmp165 * -1
+    tmp0 = np.copy(ints.tmp146)
+    del ints.tmp146
+    tmp0 += np.transpose(ints.tmp26, (0, 2, 1, 3))
+    tmp0 += np.transpose(ints.tmp55, (0, 2, 1, 3))
+    del ints.tmp55
+    tmp0 += ints.tmp77
+    del ints.tmp77
+    tmp0 += ints.tmp91
+    del ints.tmp91
+    tmp0 += ints.tmp97 * 2
+    del ints.tmp97
+    tmp0 += ints.tmp100 * -1
+    del ints.tmp100
+    tmp0 += np.transpose(ints.tmp94, (0, 2, 1, 3)) * -1
+    del ints.tmp94
+    tmp7 = np.copy(np.transpose(ints.tmp205, (0, 1, 3, 2)))
+    del ints.tmp205
+    tmp7 += np.transpose(ints.tmp52, (0, 1, 3, 2))
+    del ints.tmp52
+    tmp7 += ints.tmp170 * -1
+    del ints.tmp170
+    tmp11 = np.copy(ints.tmp141)
+    del ints.tmp141
+    tmp11 += ints.tmp69
+    del ints.tmp69
+    tmp13 = np.copy(ints.tmp132)
+    del ints.tmp132
+    tmp13 += ints.tmp63 * -1
+    del ints.tmp63
+    r2new.bbb = einsum(r2.bbb, (0, 1, 2), ints.tmp490, (3, 4, 0, 1), (4, 3, 2)) * 2
+    del ints.tmp490
+    r2new.bbb += einsum(tmp95, (0, 1, 2), ints.tmp243, (1, 2, 3, 4), (4, 3, 0)) * -2
+    del tmp95
+    r2new.bbb += einsum(ints.tmp243, (0, 1, 2, 3), tmp31, (4, 1, 0), (3, 2, 4)) * 2
+    del ints.tmp243
+    r2new.bbb += np.transpose(tmp106, (1, 2, 0))
+    r2new.bbb += np.transpose(tmp106, (2, 1, 0)) * -1
+    del tmp106
+    r2new.bbb += np.transpose(tmp118, (1, 2, 0)) * -1
+    r2new.bbb += np.transpose(tmp118, (2, 1, 0))
+    del tmp118
+    r2new.bbb += einsum(tmp94, (0, 1), r2.bbb, (2, 3, 0), (2, 3, 1)) * -2
+    r2new.bbb += einsum(r1.b, (0,), tmp38, (1, 2), (0, 2, 1))
+    r2new.bbb += einsum(tmp38, (0, 1), r1.b, (2,), (1, 2, 0)) * -1
+    r2new.bab = einsum(tmp4, (0, 1, 2), ints.tmp99, (0, 3, 2, 4), (4, 3, 1))
+    r2new.bab += einsum(ints.tmp426, (0, 1, 2, 3), r2.bab, (2, 1, 4), (3, 0, 4))
+    r2new.bab += einsum(ints.tmp312, (0, 1, 2, 3), r2.aaa, (4, 2, 0), (3, 4, 1)) * 2
+    del ints.tmp312
+    r2new.bab += einsum(ints.tmp26, (0, 1, 2, 3), r1.a, (2,), (3, 1, 0)) * -1
+    r2new.bab += einsum(ints.tmp26, (0, 1, 2, 3), tmp6, (4, 0, 2), (3, 1, 4))
+    r2new.bab += einsum(tmp86, (0, 1, 2, 3), r2.bab, (4, 2, 0), (4, 3, 1))
+    del tmp86
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp88, (2, 3, 0, 4), (4, 1, 3)) * -1
+    del tmp88
+    r2new.bab += einsum(tmp90, (0, 1, 2), ints.tmp49, (0, 2, 3, 4), (4, 3, 1)) * -1
+    del tmp90
+    r2new.bab += einsum(v.bbb.xov, (0, 1, 2), tmp91, (0, 3), (2, 3, 1)) * -2
+    del tmp91
+    r2new.bab += einsum(tmp92, (0, 1), r2.bab, (2, 0, 3), (2, 1, 3)) * -1
+    del tmp92
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp93, (0, 3), (3, 1, 2)) * -1
+    del tmp93
+    r2new.bab += einsum(r2.bab, (0, 1, 2), tmp94, (2, 3), (0, 1, 3)) * -1
+    del tmp94
+    r2new.bab += einsum(tmp18, (0,), ints.tmp49, (0, 1, 2, 3), (3, 2, 1)) * 2
+    r2new.bab += einsum(r1.a, (0,), tmp38, (1, 2), (2, 0, 1)) * -1
+    r2new.aba = einsum(tmp24, (0, 1, 2), ints.tmp26, (1, 2, 3, 4), (3, 4, 0)) * -1
+    del ints.tmp26
+    r2new.aba += einsum(r2.aba, (0, 1, 2), ints.tmp426, (0, 3, 4, 1), (3, 4, 2))
+    del ints.tmp426
+    r2new.aba += einsum(ints.tmp165, (0, 1, 2, 3), r2.bbb, (4, 3, 1), (2, 4, 0)) * 2
+    del ints.tmp165
+    r2new.aba += einsum(r1.b, (0,), ints.tmp99, (1, 2, 3, 0), (2, 3, 1)) * -1
+    r2new.aba += einsum(tmp26, (0, 1, 2), ints.tmp99, (1, 3, 4, 2), (3, 4, 0)) * -1
+    del ints.tmp99
+    r2new.aba += einsum(tmp70, (0, 1, 2, 3), r2.aba, (4, 3, 0), (4, 2, 1))
+    del tmp70
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp71, (2, 3, 0, 4), (4, 1, 3)) * -1
+    del tmp71
+    r2new.aba += einsum(tmp73, (0, 1, 2), ints.tmp49, (1, 2, 3, 4), (3, 4, 0))
+    del tmp73
+    r2new.aba += einsum(tmp79, (0, 1), v.baa.xov, (0, 2, 3), (3, 1, 2)) * -2
+    del tmp79
+    r2new.aba += einsum(tmp81, (0, 1), r2.aba, (2, 0, 3), (2, 1, 3)) * -1
+    del tmp81
+    r2new.aba += einsum(r2.aba, (0, 1, 2), tmp83, (0, 3), (3, 1, 2)) * -1
+    del tmp83
+    r2new.aba += einsum(tmp69, (0, 1), r2.aba, (2, 3, 0), (2, 3, 1)) * -1
+    r2new.aba += einsum(tmp84, (0,), ints.tmp49, (1, 0, 2, 3), (2, 3, 1))
+    del ints.tmp49, tmp84
+    r2new.aba += einsum(r1.b, (0,), tmp19, (1, 2), (2, 0, 1)) * -1
+    r2new.aaa = einsum(tmp39, (0, 1, 2), ints.tmp44, (1, 2, 3, 4), (4, 3, 0)) * -2
+    del tmp39
+    r2new.aaa += einsum(tmp12, (0, 1, 2), ints.tmp44, (2, 1, 3, 4), (4, 3, 0)) * 2
+    del ints.tmp44
+    r2new.aaa += einsum(r2.aaa, (0, 1, 2), ints.tmp387, (3, 4, 0, 1), (4, 3, 2)) * 2
+    del ints.tmp387
+    r2new.aaa += np.transpose(tmp54, (1, 2, 0))
+    r2new.aaa += np.transpose(tmp54, (2, 1, 0)) * -1
+    del tmp54
+    r2new.aaa += np.transpose(tmp68, (1, 2, 0)) * -1
+    r2new.aaa += np.transpose(tmp68, (2, 1, 0))
+    del tmp68
+    r2new.aaa += einsum(r2.aaa, (0, 1, 2), tmp69, (2, 3), (0, 1, 3)) * -2
+    del tmp69
+    r2new.aaa += einsum(r1.a, (0,), tmp19, (1, 2), (0, 2, 1))
+    r2new.aaa += einsum(tmp19, (0, 1), r1.a, (2,), (1, 2, 0)) * -1
+    r1new.b = einsum(r2.aba, (0, 1, 2), tmp20, (2, 0, 3, 1), (3,)) * -1
+    del tmp20
+    r1new.b += einsum(r2.bbb, (0, 1, 2), tmp21, (2, 3, 0, 1), (3,)) * 4
+    del tmp21
+    r1new.b += einsum(tmp22, (0, 1, 2), tmp23, (0, 1, 2, 3), (3,)) * 2
+    del tmp22, tmp23
+    r1new.b += einsum(tmp24, (0, 1, 2), tmp25, (0, 1, 2, 3), (3,))
+    del tmp24, tmp25
+    r1new.b += einsum(tmp27, (0, 1, 2, 3), tmp26, (0, 1, 3), (2,))
+    del tmp26, tmp27
+    r1new.b += einsum(tmp9, (0, 1), r2.aba, (1, 2, 0), (2,))
+    r1new.b += einsum(r2.bbb, (0, 1, 2), tmp28, (2, 1), (0,)) * -2
+    del tmp28
+    r1new.b += einsum(tmp30, (0, 1, 2, 3), tmp29, (0, 1, 2), (3,)) * -1
+    del tmp30, tmp29
+    r1new.b += einsum(tmp31, (0, 1, 2), tmp32, (0, 2, 1, 3), (3,)) * -2
+    del tmp31, tmp32
+    r1new.b += einsum(tmp33, (0, 1), r1.b, (0,), (1,)) * -1
+    del tmp33
+    r1new.b += einsum(tmp37, (0,), tmp38, (0, 1), (1,)) * -2
+    del tmp38, tmp37
+    r1new.a = einsum(tmp0, (0, 1, 2, 3), r2.bab, (3, 1, 0), (2,)) * -1
+    del tmp0
+    r1new.a += einsum(r2.aaa, (0, 1, 2), tmp1, (2, 1, 0, 3), (3,)) * -4
+    del tmp1
+    r1new.a += einsum(tmp2, (0, 1, 2), tmp3, (0, 1, 2, 3), (3,)) * 2
+    del tmp2, tmp3
+    r1new.a += einsum(tmp4, (0, 1, 2), tmp5, (0, 1, 3, 2), (3,)) * -1
+    del tmp4, tmp5
+    r1new.a += einsum(tmp7, (0, 1, 2, 3), tmp6, (0, 1, 2), (3,)) * -1
+    del tmp6, tmp7
+    r1new.a += einsum(r2.bab, (0, 1, 2), tmp8, (2, 0), (1,)) * 2
+    del tmp8
+    r1new.a += einsum(tmp9, (0, 1), r2.aaa, (2, 1, 0), (2,)) * -2
+    del tmp9
+    r1new.a += einsum(tmp10, (0, 1, 2), tmp11, (0, 1, 2, 3), (3,))
+    del tmp10, tmp11
+    r1new.a += einsum(tmp12, (0, 1, 2), tmp13, (0, 2, 1, 3), (3,)) * -2
+    del tmp12, tmp13
+    r1new.a += einsum(r1.a, (0,), tmp14, (0, 1), (1,)) * -1
+    del tmp14
+    r1new.a += einsum(tmp18, (0,), tmp19, (0, 1), (1,)) * -2
+    del tmp19, tmp18
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/UDFDCD/index.html b/reference/codegen/UDFDCD/index.html new file mode 100644 index 00000000..51e4e1be --- /dev/null +++ b/reference/codegen/UDFDCD/index.html @@ -0,0 +1,843 @@ + + + + + + + + UDFDCD - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-09T22:08:58.063564
  • +
  • python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0]
  • +
  • albert version: 0.0.0
  • +
  • caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py
  • +
  • node: fv-az1487-369
  • +
  • system: Linux
  • +
  • processor: x86_64
  • +
  • release: 6.5.0-1025-azure
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.UDFDCD.energy(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T22:08:58.781780.

+

Parameters

+

t2 : Namespace of arrays + T2 amplitudes. +v : Namespace of arrays + Electron repulsion integrals.

+

Returns

+

e_cc : float + Coupled cluster energy.

+ +
+ Source code in ebcc/codegen/UDFDCD.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
def energy(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T22:08:58.781780.
+
+    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))
+    e_cc = einsum(tmp0, (0, 1, 2), v.baa.xov, (2, 0, 1), ())
+    del tmp0
+    tmp1 = einsum(v.baa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (3, 4, 0))
+    tmp1 += einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 4, 0))
+    e_cc += einsum(tmp1, (0, 1, 2), v.bbb.xov, (2, 0, 1), ())
+    del tmp1
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFDCD.update_amps(f=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T22:09:16.572318.

+

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.

+ +
+ Source code in ebcc/codegen/UDFDCD.py +
 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
def update_amps(f=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T22:09:16.572318.
+
+    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()
+    tmp23 = einsum(v.baa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (3, 4, 0))
+    tmp24 = einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 4, 0))
+    tmp0 = einsum(t2.aaaa, (0, 1, 2, 3), v.baa.xov, (4, 1, 3), (0, 2, 4))
+    tmp1 = einsum(v.bbb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0))
+    t2new.aaaa = einsum(tmp1, (0, 1, 2), tmp1, (3, 4, 2), (3, 0, 4, 1)) * 0.5
+    tmp40 = np.copy(tmp23) * 0.5
+    tmp40 += tmp24
+    tmp2 = np.copy(tmp0) * 2
+    tmp2 += tmp1
+    tmp47 = einsum(v.bbb.xov, (0, 1, 2), tmp40, (1, 3, 0), (3, 2))
+    tmp41 = einsum(v.bbb.xov, (0, 1, 2), tmp40, (3, 2, 0), (3, 1))
+    del tmp40
+    tmp3 = einsum(tmp2, (0, 1, 2), v.baa.xov, (2, 3, 1), (3, 0)) * 0.5
+    tmp10 = einsum(v.baa.xov, (0, 1, 2), tmp2, (1, 3, 0), (2, 3)) * 0.5
+    del tmp2
+    tmp55 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp48 = np.copy(f.bb.vv) * -1
+    tmp48 += tmp47
+    del tmp47
+    tmp57 = np.copy(np.transpose(v.bbb.xov, (1, 2, 0)))
+    tmp57 += tmp24
+    tmp44 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp53 = np.copy(np.transpose(v.bbb.xov, (1, 2, 0)))
+    tmp53 += tmp23
+    tmp53 += tmp24 * 2
+    tmp42 = np.copy(f.bb.oo)
+    tmp42 += tmp41
+    del tmp41
+    tmp38 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    t2new.abab = einsum(tmp38, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2)) * -1
+    tmp25 = np.copy(tmp23)
+    tmp25 += tmp24 * 2
+    tmp34 = einsum(v.baa.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp28 = np.copy(tmp0)
+    tmp28 += tmp1 * 0.5
+    tmp8 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 2, 3, 4))
+    t2new.abab += einsum(tmp8, (0, 1, 2, 3), t2.abab, (1, 4, 3, 5), (0, 4, 2, 5)) * -1
+    tmp16 = np.copy(np.transpose(v.baa.xov, (1, 2, 0))) * 2
+    tmp16 += tmp1
+    tmp6 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp4 = np.copy(f.aa.oo)
+    tmp4 += np.transpose(tmp3, (1, 0))
+    del tmp3
+    tmp11 = np.copy(f.aa.vv) * -1
+    tmp11 += np.transpose(tmp10, (1, 0))
+    del tmp10
+    tmp21 = np.copy(np.transpose(v.baa.xov, (1, 2, 0)))
+    tmp21 += tmp0
+    tmp19 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (3, 1, 2, 4))
+    tmp56 = einsum(tmp55, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 2, 0))
+    del tmp55
+    t2new.bbbb = np.copy(np.transpose(tmp56, (0, 1, 3, 2))) * -1
+    t2new.bbbb += np.transpose(tmp56, (0, 1, 3, 2)) * -1
+    del tmp56
+    tmp49 = einsum(t2.bbbb, (0, 1, 2, 3), tmp48, (4, 3), (0, 1, 2, 4)) * -2
+    del tmp48
+    t2new.bbbb += np.transpose(tmp49, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp49, (1, 0, 3, 2))
+    del tmp49
+    tmp58 = einsum(tmp24, (0, 1, 2), tmp57, (3, 4, 2), (0, 3, 1, 4)) * 2
+    del tmp57
+    t2new.bbbb += np.transpose(tmp58, (0, 1, 3, 2)) * -1
+    t2new.bbbb += tmp58
+    del tmp58
+    tmp45 = einsum(t2.bbbb, (0, 1, 2, 3), tmp44, (4, 0, 5, 1), (5, 4, 2, 3))
+    del tmp44
+    t2new.bbbb += np.transpose(tmp45, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp45, (0, 1, 3, 2)) * -1
+    del tmp45
+    tmp60 = np.copy(np.transpose(v.bbb.xov, (1, 2, 0))) * 2
+    tmp60 += tmp23
+    t2new.bbbb += einsum(tmp60, (0, 1, 2), tmp23, (3, 4, 2), (3, 0, 1, 4)) * -0.5
+    del tmp60
+    tmp54 = einsum(v.bbb.xov, (0, 1, 2), tmp53, (3, 4, 0), (3, 1, 4, 2))
+    del tmp53
+    t2new.bbbb += np.transpose(tmp54, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp54, (1, 0, 3, 2))
+    del tmp54
+    tmp43 = einsum(tmp42, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4)) * -1
+    del tmp42
+    t2new.bbbb += np.transpose(tmp43, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp43, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp43, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp43, (0, 1, 3, 2)) * -1
+    del tmp43
+    tmp59 = np.copy(np.transpose(v.bbb.xov, (1, 2, 0)))
+    tmp59 += tmp23 * 0.5
+    t2new.bbbb += einsum(tmp59, (0, 1, 2), tmp23, (3, 4, 2), (3, 0, 4, 1))
+    del tmp59
+    tmp46 = einsum(t2.bbbb, (0, 1, 2, 3), tmp38, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp38
+    t2new.bbbb += np.transpose(tmp46, (0, 1, 3, 2)) * 2
+    t2new.bbbb += tmp46 * -2
+    t2new.bbbb += np.transpose(tmp46, (1, 0, 2, 3)) * 2
+    t2new.bbbb += np.transpose(tmp46, (1, 0, 3, 2)) * -2
+    del tmp46
+    tmp52 = einsum(tmp23, (0, 1, 2), tmp24, (3, 4, 2), (0, 3, 1, 4))
+    t2new.bbbb += np.transpose(tmp52, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp52, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp52, (1, 0, 3, 2))
+    t2new.bbbb += tmp52
+    t2new.bbbb += np.transpose(tmp52, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp52, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp52, (1, 0, 3, 2))
+    t2new.bbbb += tmp52
+    del tmp52
+    tmp50 = einsum(tmp23, (0, 1, 2), tmp23, (3, 4, 2), (0, 3, 1, 4))
+    t2new.bbbb += np.transpose(tmp50, (0, 1, 3, 2)) * -0.5
+    t2new.bbbb += np.transpose(tmp50, (1, 0, 3, 2)) * 0.5
+    del tmp50
+    tmp51 = einsum(tmp24, (0, 1, 2), tmp24, (3, 4, 2), (0, 3, 1, 4))
+    t2new.bbbb += np.transpose(tmp51, (0, 1, 3, 2)) * -2
+    t2new.bbbb += tmp51 * 2
+    del tmp51
+    tmp36 = np.copy(tmp0) * 2
+    tmp36 += tmp1
+    tmp39 = einsum(v.baa.xvv, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    t2new.abab += einsum(tmp39, (0, 1, 2, 3), t2.abab, (4, 1, 3, 5), (4, 0, 2, 5)) * -1
+    del tmp39
+    tmp27 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 2, 3, 4))
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp27, (4, 0, 5, 1), (4, 5, 2, 3))
+    del tmp27
+    tmp26 = np.copy(f.bb.oo)
+    tmp26 += einsum(v.bbb.xov, (0, 1, 2), tmp25, (3, 2, 0), (1, 3)) * 0.5
+    t2new.abab += einsum(tmp26, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1
+    del tmp26
+    tmp33 = np.copy(np.transpose(v.baa.xov, (1, 2, 0))) * 2
+    tmp33 += tmp0 * 2
+    tmp33 += tmp1
+    t2new.abab += einsum(tmp33, (0, 1, 2), tmp25, (3, 4, 2), (0, 3, 1, 4)) * 0.5
+    del tmp33
+    tmp35 = einsum(tmp34, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 5, 0, 2))
+    del tmp34
+    t2new.abab += tmp35 * 0.5
+    t2new.abab += tmp35 * 0.5
+    del tmp35
+    tmp31 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp31, (4, 0, 5, 3), (4, 1, 2, 5)) * -1
+    del tmp31
+    tmp37 = np.copy(np.transpose(v.bbb.xov, (1, 2, 0)))
+    tmp37 += tmp23 * 0.5
+    del tmp23
+    tmp37 += tmp24
+    del tmp24
+    t2new.abab += einsum(tmp37, (0, 1, 2), tmp36, (3, 4, 2), (3, 0, 4, 1))
+    del tmp37, tmp36
+    tmp32 = np.copy(f.bb.vv) * -2
+    tmp32 += einsum(v.bbb.xov, (0, 1, 2), tmp25, (1, 3, 0), (2, 3))
+    del tmp25
+    t2new.abab += einsum(tmp32, (0, 1), t2.abab, (2, 3, 4, 0), (2, 3, 4, 1)) * -0.5
+    del tmp32
+    tmp29 = np.copy(f.aa.oo)
+    tmp29 += einsum(v.baa.xov, (0, 1, 2), tmp28, (3, 2, 0), (1, 3))
+    t2new.abab += einsum(tmp29, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1
+    del tmp29
+    tmp30 = np.copy(f.aa.vv) * -1
+    tmp30 += einsum(tmp28, (0, 1, 2), v.baa.xov, (2, 0, 3), (3, 1))
+    del tmp28
+    t2new.abab += einsum(tmp30, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1
+    del tmp30
+    tmp9 = einsum(tmp8, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp8
+    t2new.aaaa += np.transpose(tmp9, (0, 1, 3, 2)) * 2
+    t2new.aaaa += tmp9 * -2
+    t2new.aaaa += np.transpose(tmp9, (1, 0, 2, 3)) * 2
+    t2new.aaaa += np.transpose(tmp9, (1, 0, 3, 2)) * -2
+    del tmp9
+    tmp17 = einsum(tmp1, (0, 1, 2), tmp16, (3, 4, 2), (3, 0, 4, 1)) * 0.5
+    del tmp16
+    t2new.aaaa += np.transpose(tmp17, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp17, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp17, (0, 1, 3, 2)) * -1
+    del tmp17
+    tmp14 = einsum(tmp0, (0, 1, 2), tmp1, (3, 4, 2), (0, 3, 1, 4))
+    t2new.aaaa += np.transpose(tmp14, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp14, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp14, (1, 0, 3, 2))
+    t2new.aaaa += tmp14
+    t2new.aaaa += np.transpose(tmp14, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp14, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp14, (1, 0, 3, 2))
+    t2new.aaaa += tmp14
+    del tmp14
+    tmp7 = einsum(tmp6, (0, 1, 2, 3), t2.aaaa, (1, 3, 4, 5), (2, 0, 4, 5))
+    del tmp6
+    t2new.aaaa += np.transpose(tmp7, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp7, (0, 1, 3, 2)) * -1
+    del tmp7
+    tmp5 = einsum(tmp4, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) * -1
+    del tmp4
+    t2new.aaaa += np.transpose(tmp5, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp5, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp5, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp5, (0, 1, 3, 2)) * -1
+    del tmp5
+    tmp15 = np.copy(np.transpose(v.baa.xov, (1, 2, 0)))
+    tmp15 += tmp0 * 2
+    tmp15 += tmp1
+    del tmp1
+    t2new.aaaa += einsum(v.baa.xov, (0, 1, 2), tmp15, (3, 4, 0), (1, 3, 2, 4))
+    del tmp15
+    tmp12 = einsum(t2.aaaa, (0, 1, 2, 3), tmp11, (4, 3), (0, 1, 2, 4)) * -2
+    del tmp11
+    t2new.aaaa += np.transpose(tmp12, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp12, (1, 0, 3, 2))
+    del tmp12
+    tmp13 = einsum(tmp0, (0, 1, 2), tmp0, (3, 4, 2), (0, 3, 1, 4))
+    t2new.aaaa += np.transpose(tmp13, (0, 1, 3, 2)) * -2
+    t2new.aaaa += tmp13 * 2
+    del tmp13
+    tmp22 = einsum(tmp21, (0, 1, 2), tmp0, (3, 4, 2), (0, 3, 1, 4)) * 2
+    del tmp21
+    t2new.aaaa += np.transpose(tmp22, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp22, (1, 0, 3, 2))
+    del tmp22
+    tmp20 = einsum(t2.aaaa, (0, 1, 2, 3), tmp19, (4, 2, 5, 3), (0, 1, 5, 4))
+    del tmp19
+    t2new.aaaa += np.transpose(tmp20, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp20, (0, 1, 3, 2)) * -1
+    del tmp20
+    tmp18 = np.copy(np.transpose(v.baa.xov, (1, 2, 0)))
+    tmp18 += tmp0 * 2
+    del tmp0
+    t2new.aaaa += einsum(tmp18, (0, 1, 2), v.baa.xov, (2, 3, 4), (3, 0, 1, 4)) * -1
+    del tmp18
+    t2new.abab += einsum(v.bbb.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2))
+
+    return {f"t2new": t2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/UDFDCSD/index.html b/reference/codegen/UDFDCSD/index.html new file mode 100644 index 00000000..2acc663a --- /dev/null +++ b/reference/codegen/UDFDCSD/index.html @@ -0,0 +1,1887 @@ + + + + + + + + UDFDCSD - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-09T22:11:19.899459
  • +
  • python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0]
  • +
  • albert version: 0.0.0
  • +
  • caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py
  • +
  • node: fv-az1487-369
  • +
  • system: Linux
  • +
  • processor: x86_64
  • +
  • release: 6.5.0-1025-azure
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.UDFDCSD.energy(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T22:11:21.706198.

+

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.

+ +
+ Source code in ebcc/codegen/UDFDCSD.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
def energy(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T22:11:21.706198.
+
+    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,))
+    tmp5 = einsum(t1.bb, (0, 1), v.bbb.xov, (2, 3, 1), (0, 3, 2))
+    tmp1 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (1, 2), (0,))
+    tmp1 += tmp0 * 2
+    tmp3 = einsum(t1.aa, (0, 1), v.baa.xov, (2, 3, 1), (0, 3, 2))
+    tmp6 = np.copy(f.bb.ov) * 2
+    tmp6 += einsum(tmp5, (0, 1, 2), v.bbb.xov, (2, 0, 3), (1, 3)) * -1
+    del tmp5
+    e_cc = einsum(t1.bb, (0, 1), tmp6, (0, 1), ()) * 0.5
+    del tmp6
+    tmp2 = einsum(v.baa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 4, 0))
+    tmp2 += einsum(v.bbb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0))
+    tmp2 += einsum(tmp1, (0,), t1.aa, (1, 2), (1, 2, 0)) * 0.5
+    del tmp1
+    e_cc += einsum(v.baa.xov, (0, 1, 2), tmp2, (1, 2, 0), ())
+    del tmp2
+    tmp7 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbb.xov, (4, 1, 3), (0, 2, 4))
+    tmp7 += einsum(t1.bb, (0, 1), tmp0, (2,), (0, 1, 2)) * 0.5
+    del tmp0
+    e_cc += einsum(v.bbb.xov, (0, 1, 2), tmp7, (1, 2, 0), ())
+    del tmp7
+    tmp4 = np.copy(f.aa.ov) * 2
+    tmp4 += einsum(tmp3, (0, 1, 2), v.baa.xov, (2, 0, 3), (1, 3)) * -1
+    del tmp3
+    e_cc += einsum(t1.aa, (0, 1), tmp4, (0, 1), ()) * 0.5
+    del tmp4
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFDCSD.update_amps(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T22:12:46.857900.

+

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.

+ +
+ Source code in ebcc/codegen/UDFDCSD.py +
 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
def update_amps(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T22:12:46.857900.
+
+    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()
+    tmp21 = einsum(t1.bb, (0, 1), v.bbb.xov, (2, 3, 1), (0, 3, 2))
+    tmp6 = einsum(v.bbb.xov, (0, 1, 2), t1.bb, (1, 2), (0,))
+    tmp5 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (1, 2), (0,))
+    tmp0 = einsum(t1.aa, (0, 1), v.baa.xov, (2, 3, 1), (0, 3, 2))
+    tmp134 = einsum(t1.bb, (0, 1), v.bbb.xov, (2, 0, 3), (1, 3, 2))
+    tmp130 = einsum(t1.bb, (0, 1), tmp21, (2, 0, 3), (2, 1, 3))
+    tmp39 = einsum(v.bbb.xvv, (0, 1, 2), t1.bb, (3, 2), (3, 1, 0))
+    t1new.bb = einsum(tmp39, (0, 1, 2), v.bbb.xoo, (2, 3, 0), (3, 1)) * -1
+    tmp9 = np.copy(tmp5)
+    tmp9 += tmp6
+    tmp22 = einsum(tmp21, (0, 1, 2), v.bbb.xov, (2, 0, 3), (1, 3))
+    tmp7 = np.copy(tmp5)
+    del tmp5
+    tmp7 += tmp6
+    del tmp6
+    tmp33 = einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 4, 0))
+    tmp29 = einsum(v.baa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (3, 4, 0))
+    tmp110 = einsum(t1.bb, (0, 1), v.bbb.xoo, (2, 3, 0), (3, 1, 2))
+    tmp70 = einsum(tmp0, (0, 1, 2), t1.aa, (1, 3), (0, 3, 2))
+    tmp16 = einsum(v.baa.xvv, (0, 1, 2), t1.aa, (3, 2), (3, 1, 0))
+    t1new.aa = einsum(v.baa.xoo, (0, 1, 2), tmp16, (2, 3, 0), (1, 3)) * -1
+    tmp72 = einsum(t1.aa, (0, 1), v.baa.xov, (2, 0, 3), (1, 3, 2))
+    tmp11 = einsum(v.baa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 4, 0))
+    tmp42 = einsum(v.baa.xoo, (0, 1, 2), t1.aa, (2, 3), (1, 3, 0))
+    tmp3 = einsum(v.bbb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0))
+    tmp13 = einsum(v.baa.xov, (0, 1, 2), tmp0, (1, 3, 0), (3, 2))
+    tmp176 = np.copy(np.transpose(v.bbb.xvv, (1, 2, 0)))
+    tmp176 += np.transpose(tmp134, (1, 0, 2)) * -1
+    tmp146 = np.copy(tmp39)
+    tmp146 += tmp130 * -1
+    t2new.abab = einsum(tmp11, (0, 1, 2), tmp146, (3, 4, 2), (0, 3, 1, 4)) * 2
+    tmp32 = einsum(v.bbb.xov, (0, 1, 2), tmp9, (0,), (1, 2))
+    t1new.bb += tmp32
+    tmp35 = np.copy(f.bb.ov)
+    tmp35 += tmp22 * -1
+    tmp118 = np.copy(tmp39)
+    tmp118 += tmp29 * 0.5
+    tmp118 += tmp33
+    tmp118 += einsum(t1.bb, (0, 1), tmp7, (2,), (0, 1, 2))
+    tmp183 = np.copy(tmp110)
+    tmp183 += tmp33 * -1
+    tmp171 = np.copy(np.transpose(v.bbb.xvv, (1, 2, 0)))
+    tmp171 += np.transpose(tmp134, (1, 0, 2)) * -1
+    tmp111 = np.copy(tmp110) * -1
+    tmp111 += tmp29 * 0.5
+    tmp111 += tmp33
+    t2new.abab += einsum(tmp11, (0, 1, 2), tmp111, (3, 4, 2), (0, 3, 1, 4)) * 2
+    tmp79 = np.copy(tmp16)
+    tmp79 += tmp70 * -1
+    t2new.abab += einsum(tmp79, (0, 1, 2), tmp33, (3, 4, 2), (0, 3, 1, 4)) * 2
+    tmp81 = np.copy(np.transpose(v.baa.xvv, (1, 2, 0)))
+    tmp81 += np.transpose(tmp72, (1, 0, 2)) * -1
+    tmp43 = np.copy(tmp42) * -1
+    tmp43 += tmp11
+    tmp43 += tmp3 * 0.5
+    t2new.abab += einsum(tmp43, (0, 1, 2), tmp33, (3, 4, 2), (0, 3, 1, 4)) * 2
+    tmp88 = np.copy(tmp42)
+    tmp88 += tmp11 * -1
+    tmp73 = np.copy(np.transpose(v.baa.xvv, (1, 2, 0)))
+    tmp73 += np.transpose(tmp72, (1, 0, 2)) * -1
+    tmp52 = np.copy(tmp16)
+    tmp52 += tmp11
+    tmp52 += tmp3 * 0.5
+    tmp52 += einsum(t1.aa, (0, 1), tmp7, (2,), (0, 1, 2))
+    tmp14 = np.copy(f.aa.ov)
+    tmp14 += tmp13 * -1
+    tmp10 = einsum(v.baa.xov, (0, 1, 2), tmp9, (0,), (1, 2))
+    del tmp9
+    t1new.aa += tmp10
+    tmp177 = einsum(tmp21, (0, 1, 2), tmp176, (3, 4, 2), (0, 1, 3, 4))
+    del tmp176
+    tmp147 = einsum(v.bbb.xov, (0, 1, 2), tmp146, (3, 4, 0), (1, 3, 2, 4))
+    tmp163 = einsum(v.bbb.xoo, (0, 1, 2), tmp21, (3, 4, 0), (3, 1, 2, 4))
+    tmp23 = einsum(v.bbb.xov, (0, 1, 2), tmp7, (0,), (1, 2))
+    tmp167 = np.copy(f.bb.ov)
+    tmp167 += tmp22 * -1
+    tmp167 += tmp32
+    del tmp32
+    tmp192 = einsum(tmp21, (0, 1, 2), tmp21, (3, 4, 2), (0, 3, 1, 4))
+    tmp120 = einsum(tmp7, (0,), v.bbb.xvv, (0, 1, 2), (1, 2))
+    tmp121 = einsum(tmp35, (0, 1), t1.bb, (0, 2), (2, 1))
+    tmp119 = einsum(v.bbb.xov, (0, 1, 2), tmp118, (1, 3, 0), (2, 3))
+    del tmp118
+    tmp184 = einsum(v.bbb.xov, (0, 1, 2), tmp183, (3, 4, 0), (3, 1, 4, 2))
+    del tmp183
+    tmp185 = einsum(tmp171, (0, 1, 2), v.bbb.xoo, (2, 3, 4), (3, 4, 0, 1))
+    tmp112 = einsum(v.bbb.xov, (0, 1, 2), tmp111, (3, 2, 0), (1, 3))
+    tmp40 = einsum(tmp7, (0,), v.bbb.xoo, (0, 1, 2), (1, 2))
+    tmp142 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp80 = einsum(v.baa.xov, (0, 1, 2), tmp79, (3, 4, 0), (1, 3, 2, 4))
+    tmp82 = einsum(tmp0, (0, 1, 2), tmp81, (3, 4, 2), (0, 1, 3, 4))
+    del tmp81
+    tmp44 = einsum(v.baa.xov, (0, 1, 2), tmp43, (3, 2, 0), (1, 3)) * 2
+    tmp45 = einsum(v.baa.xoo, (0, 1, 2), tmp7, (0,), (1, 2)) * 2
+    tmp98 = einsum(tmp0, (0, 1, 2), tmp0, (3, 4, 2), (3, 0, 4, 1))
+    tmp89 = einsum(v.baa.xov, (0, 1, 2), tmp88, (3, 4, 0), (1, 3, 2, 4))
+    del tmp88
+    tmp90 = einsum(tmp73, (0, 1, 2), v.baa.xoo, (2, 3, 4), (3, 4, 0, 1))
+    tmp19 = einsum(v.baa.xov, (0, 1, 2), tmp7, (0,), (1, 2))
+    tmp53 = einsum(v.baa.xov, (0, 1, 2), tmp52, (1, 3, 0), (2, 3))
+    del tmp52
+    tmp54 = einsum(tmp7, (0,), v.baa.xvv, (0, 1, 2), (1, 2))
+    tmp55 = einsum(tmp14, (0, 1), t1.aa, (0, 2), (2, 1))
+    tmp67 = np.copy(f.aa.ov)
+    tmp67 += tmp13 * -1
+    tmp67 += tmp10
+    del tmp10
+    tmp62 = einsum(tmp0, (0, 1, 2), v.baa.xoo, (2, 3, 4), (0, 3, 4, 1))
+    tmp178 = np.copy(np.transpose(tmp147, (1, 0, 3, 2))) * -1
+    tmp178 += np.transpose(tmp177, (0, 1, 3, 2))
+    del tmp177
+    tmp174 = np.copy(tmp39) * -1
+    tmp174 += tmp130
+    tmp165 = einsum(t1.bb, (0, 1), tmp163, (2, 3, 4, 0), (2, 3, 4, 1))
+    tmp188 = np.copy(tmp110)
+    tmp188 += tmp29 * -0.5
+    tmp200 = einsum(v.bbb.xov, (0, 1, 2), tmp171, (3, 4, 0), (1, 4, 3, 2))
+    tmp198 = einsum(tmp21, (0, 1, 2), tmp39, (3, 4, 2), (0, 3, 1, 4))
+    tmp24 = np.copy(f.bb.ov)
+    tmp24 += tmp22 * -1
+    del tmp22
+    tmp24 += tmp23
+    del tmp23
+    t1new.bb += einsum(tmp24, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3)) * 2
+    t1new.aa += einsum(tmp24, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    tmp37 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp37, (4, 0, 1, 3), (4, 2)) * -2
+    tmp168 = einsum(t1.bb, (0, 1), tmp167, (2, 1), (2, 0))
+    del tmp167
+    tmp196 = einsum(tmp192, (0, 1, 2, 3), t1.bb, (2, 4), (1, 0, 3, 4))
+    tmp131 = np.copy(np.transpose(v.bbb.xov, (1, 2, 0)))
+    tmp131 += tmp39
+    tmp131 += tmp130 * -1
+    t2new.abab += einsum(v.baa.xov, (0, 1, 2), tmp131, (3, 4, 0), (1, 3, 2, 4))
+    tmp190 = np.copy(tmp110) * 2
+    del tmp110
+    tmp190 += tmp29 * -1
+    tmp155 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 1, 2, 4))
+    tmp28 = einsum(tmp21, (0, 1, 2), v.bbb.xov, (2, 3, 4), (0, 3, 1, 4))
+    t1new.bb += einsum(tmp28, (0, 1, 2, 3), t2.bbbb, (2, 1, 4, 3), (0, 4)) * -2
+    tmp122 = np.copy(f.bb.vv) * -1
+    tmp122 += tmp119
+    del tmp119
+    tmp122 += np.transpose(tmp120, (1, 0)) * -1
+    del tmp120
+    tmp122 += np.transpose(tmp121, (1, 0))
+    del tmp121
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp122, (3, 4), (0, 1, 2, 4)) * -1
+    tmp117 = np.copy(tmp29)
+    tmp117 += tmp33 * 2
+    t2new.abab += einsum(v.baa.xov, (0, 1, 2), tmp117, (3, 4, 0), (1, 3, 2, 4))
+    tmp186 = np.copy(tmp184) * -1
+    del tmp184
+    tmp186 += np.transpose(tmp185, (1, 0, 3, 2)) * -1
+    del tmp185
+    tmp170 = np.copy(tmp39)
+    tmp170 += tmp130 * -1
+    tmp113 = np.copy(f.bb.oo)
+    tmp113 += tmp112
+    del tmp112
+    tmp113 += np.transpose(tmp40, (1, 0))
+    t2new.abab += einsum(tmp113, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -1
+    tmp161 = einsum(v.bbb.xoo, (0, 1, 2), tmp39, (3, 4, 0), (3, 1, 2, 4))
+    tmp203 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp128 = np.copy(np.transpose(v.baa.xvv, (1, 2, 0)))
+    tmp128 += tmp72 * -1
+    tmp150 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 2, 3, 4))
+    tmp132 = np.copy(np.transpose(v.baa.xvv, (1, 2, 0)))
+    tmp132 += tmp72 * -1
+    del tmp72
+    tmp140 = np.copy(np.transpose(v.bbb.xvv, (1, 2, 0)))
+    tmp140 += tmp134 * -1
+    tmp143 = einsum(tmp142, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3))
+    del tmp142
+    tmp135 = np.copy(np.transpose(v.bbb.xvv, (1, 2, 0)))
+    tmp135 += tmp134 * -1
+    del tmp134
+    tmp25 = einsum(v.baa.xoo, (0, 1, 2), tmp7, (0,), (1, 2))
+    tmp83 = np.copy(np.transpose(tmp80, (1, 0, 3, 2))) * -1
+    tmp83 += np.transpose(tmp82, (0, 1, 3, 2))
+    del tmp82
+    tmp46 = np.copy(f.aa.oo) * 2
+    tmp46 += tmp44
+    del tmp44
+    tmp46 += np.transpose(tmp45, (1, 0))
+    del tmp45
+    tmp103 = einsum(tmp98, (0, 1, 2, 3), t1.aa, (2, 4), (1, 0, 3, 4))
+    tmp58 = np.copy(tmp11) * 2
+    tmp58 += tmp3
+    t2new.abab += einsum(tmp58, (0, 1, 2), v.bbb.xov, (2, 3, 4), (0, 3, 1, 4))
+    tmp91 = np.copy(np.transpose(tmp89, (1, 0, 3, 2))) * -1
+    del tmp89
+    tmp91 += np.transpose(tmp90, (1, 0, 3, 2)) * -1
+    del tmp90
+    tmp1 = einsum(v.baa.xov, (0, 1, 2), tmp0, (3, 4, 0), (3, 1, 4, 2))
+    t1new.aa += einsum(tmp1, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 3), (0, 4)) * -2
+    tmp105 = einsum(tmp73, (0, 1, 2), v.baa.xov, (2, 3, 4), (3, 1, 0, 4))
+    tmp93 = np.copy(tmp42)
+    tmp93 += tmp3 * -0.5
+    tmp17 = einsum(v.baa.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    t1new.aa += einsum(tmp17, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 3), (0, 4)) * -2
+    tmp101 = einsum(tmp0, (0, 1, 2), tmp16, (3, 4, 2), (0, 3, 1, 4))
+    tmp75 = np.copy(np.transpose(v.baa.xov, (1, 2, 0)))
+    tmp75 += tmp16
+    tmp75 += tmp70 * -1
+    tmp20 = np.copy(f.aa.ov)
+    tmp20 += tmp13 * -1
+    del tmp13
+    tmp20 += tmp19
+    del tmp19
+    t1new.bb += einsum(t2.abab, (0, 1, 2, 3), tmp20, (0, 2), (1, 3))
+    t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp20, (1, 3), (0, 2)) * 2
+    tmp60 = einsum(v.baa.xoo, (0, 1, 2), tmp16, (3, 4, 0), (3, 1, 2, 4))
+    tmp77 = np.copy(tmp16) * -1
+    tmp77 += tmp70
+    tmp56 = np.copy(f.aa.vv) * -1
+    tmp56 += tmp53
+    del tmp53
+    tmp56 += np.transpose(tmp54, (1, 0)) * -1
+    del tmp54
+    tmp56 += np.transpose(tmp55, (1, 0))
+    del tmp55
+    t2new.abab += einsum(tmp56, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1
+    tmp48 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 1, 2, 4))
+    tmp108 = einsum(v.baa.xov, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    tmp95 = np.copy(tmp42) * 2
+    del tmp42
+    tmp95 += tmp3 * -1
+    tmp68 = einsum(tmp67, (0, 1), t1.aa, (2, 1), (2, 0))
+    del tmp67
+    t2new.abab += einsum(tmp68, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4)) * -1
+    tmp71 = np.copy(tmp16)
+    tmp71 += tmp70 * -1
+    del tmp70
+    tmp64 = einsum(tmp62, (0, 1, 2, 3), t1.aa, (3, 4), (0, 1, 2, 4))
+    tmp30 = np.copy(t2.bbbb) * 2
+    tmp30 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3)) * -1
+    tmp34 = np.copy(tmp29)
+    tmp34 += tmp33 * 2
+    tmp34 += einsum(t1.bb, (0, 1), tmp7, (2,), (0, 1, 2))
+    tmp4 = np.copy(t2.aaaa) * 2
+    tmp4 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * -1
+    tmp12 = np.copy(tmp11)
+    tmp12 += tmp3 * 0.5
+    tmp12 += einsum(t1.aa, (0, 1), tmp7, (2,), (0, 1, 2)) * 0.5
+    tmp179 = einsum(tmp178, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp178
+    t2new.bbbb = np.copy(np.transpose(tmp179, (0, 1, 3, 2))) * 2
+    t2new.bbbb += np.transpose(tmp179, (1, 0, 3, 2)) * -2
+    t2new.bbbb += tmp179 * -2
+    del tmp179
+    tmp156 = np.copy(t2.bbbb)
+    tmp156 += einsum(t1.bb, (0, 1), t1.bb, (2, 3), (0, 2, 1, 3)) * 2
+    t2new.bbbb += einsum(tmp155, (0, 1, 2, 3), tmp156, (0, 2, 4, 5), (1, 3, 5, 4)) * 0.5
+    del tmp156
+    tmp195 = einsum(tmp39, (0, 1, 2), tmp39, (3, 4, 2), (3, 0, 4, 1))
+    t2new.bbbb += np.transpose(tmp195, (0, 1, 3, 2)) * -1
+    t2new.bbbb += tmp195
+    del tmp195
+    tmp175 = einsum(tmp174, (0, 1, 2), tmp29, (3, 4, 2), (0, 3, 1, 4))
+    del tmp174
+    t2new.bbbb += np.transpose(tmp175, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp175, (1, 0, 2, 3))
+    del tmp175
+    tmp166 = einsum(t1.bb, (0, 1), tmp165, (2, 0, 3, 4), (2, 3, 1, 4))
+    del tmp165
+    t2new.bbbb += np.transpose(tmp166, (0, 1, 3, 2))
+    t2new.bbbb += tmp166 * -1
+    t2new.bbbb += np.transpose(tmp166, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp166, (1, 0, 2, 3))
+    del tmp166
+    tmp189 = einsum(tmp188, (0, 1, 2), tmp29, (3, 4, 2), (0, 3, 1, 4))
+    del tmp188
+    t2new.bbbb += np.transpose(tmp189, (1, 0, 2, 3))
+    t2new.bbbb += tmp189 * -1
+    del tmp189
+    tmp201 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (3, 1, 2, 4))
+    tmp201 += einsum(tmp200, (0, 1, 2, 3), t1.bb, (0, 4), (3, 2, 4, 1))
+    del tmp200
+    t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp201, (2, 3, 4, 5), (0, 1, 5, 4)) * 2
+    del tmp201
+    tmp180 = einsum(tmp29, (0, 1, 2), tmp146, (3, 4, 2), (0, 3, 1, 4))
+    del tmp146
+    t2new.bbbb += np.transpose(tmp180, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp180, (1, 0, 3, 2))
+    del tmp180
+    tmp199 = einsum(t1.bb, (0, 1), tmp198, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp198
+    t2new.bbbb += np.transpose(tmp199, (1, 0, 2, 3))
+    t2new.bbbb += tmp199 * -1
+    t2new.bbbb += np.transpose(tmp199, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp199, (0, 1, 3, 2))
+    del tmp199
+    tmp123 = einsum(tmp24, (0, 1), t1.bb, (2, 1), (2, 0))
+    del tmp24
+    t2new.bbbb += einsum(tmp123, (0, 1), t2.bbbb, (2, 1, 3, 4), (2, 0, 3, 4)) * -1
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp123, (4, 1), (0, 4, 2, 3)) * -1
+    del tmp123
+    tmp181 = einsum(t1.bb, (0, 1), tmp37, (2, 0, 3, 4), (2, 3, 1, 4))
+    del tmp37
+    t2new.bbbb += np.transpose(tmp181, (1, 0, 2, 3))
+    t2new.bbbb += tmp181 * -1
+    t2new.bbbb += np.transpose(tmp181, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp181, (0, 1, 3, 2))
+    del tmp181
+    tmp169 = einsum(tmp168, (0, 1), t2.bbbb, (2, 0, 3, 4), (1, 2, 3, 4)) * -1
+    del tmp168
+    t2new.bbbb += np.transpose(tmp169, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp169, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp169, (1, 0, 3, 2)) * -1
+    del tmp169
+    tmp197 = einsum(t1.bb, (0, 1), tmp196, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp196
+    t2new.bbbb += np.transpose(tmp197, (0, 1, 3, 2)) * -1
+    t2new.bbbb += tmp197
+    del tmp197
+    tmp182 = einsum(tmp33, (0, 1, 2), tmp29, (3, 4, 2), (3, 0, 4, 1))
+    del tmp33
+    t2new.bbbb += np.transpose(tmp182, (1, 0, 3, 2))
+    t2new.bbbb += tmp182
+    t2new.bbbb += np.transpose(tmp182, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp182, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp182, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp182, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp182, (1, 0, 3, 2))
+    t2new.bbbb += tmp182
+    del tmp182
+    tmp158 = einsum(t1.bb, (0, 1), t1.bb, (2, 3), (2, 0, 1, 3)) * 2
+    tmp158 += t2.bbbb * -1
+    t2new.bbbb += einsum(tmp155, (0, 1, 2, 3), tmp158, (0, 2, 4, 5), (1, 3, 5, 4)) * -0.5
+    del tmp158
+    tmp173 = einsum(v.bbb.xov, (0, 1, 2), tmp131, (3, 4, 0), (1, 3, 2, 4))
+    del tmp131
+    t2new.bbbb += np.transpose(tmp173, (1, 0, 2, 3)) * -1
+    t2new.bbbb += tmp173
+    del tmp173
+    tmp191 = einsum(tmp29, (0, 1, 2), tmp190, (3, 4, 2), (3, 0, 4, 1)) * 0.5
+    del tmp190
+    t2new.bbbb += np.transpose(tmp191, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp191, (0, 1, 3, 2))
+    del tmp191
+    tmp157 = einsum(tmp155, (0, 1, 2, 3), t2.bbbb, (1, 3, 4, 5), (2, 0, 4, 5))
+    del tmp155
+    t2new.bbbb += np.transpose(tmp157, (0, 1, 3, 2)) * -0.5
+    t2new.bbbb += np.transpose(tmp157, (0, 1, 3, 2)) * -0.5
+    del tmp157
+    tmp202 = einsum(t1.bb, (0, 1), tmp28, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp28
+    t2new.bbbb += tmp202 * -1
+    t2new.bbbb += np.transpose(tmp202, (1, 0, 2, 3))
+    del tmp202
+    tmp159 = einsum(t2.bbbb, (0, 1, 2, 3), tmp122, (3, 4), (0, 1, 2, 4)) * -2
+    del tmp122
+    t2new.bbbb += np.transpose(tmp159, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp159, (1, 0, 3, 2))
+    del tmp159
+    tmp193 = einsum(t2.bbbb, (0, 1, 2, 3), tmp192, (4, 5, 1, 0), (5, 4, 2, 3))
+    del tmp192
+    t2new.bbbb += np.transpose(tmp193, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp193, (0, 1, 3, 2)) * -1
+    del tmp193
+    tmp160 = einsum(v.bbb.xov, (0, 1, 2), tmp117, (3, 4, 0), (1, 3, 2, 4))
+    del tmp117
+    t2new.bbbb += np.transpose(tmp160, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp160, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp160, (0, 1, 3, 2)) * -1
+    t2new.bbbb += tmp160
+    del tmp160
+    tmp187 = einsum(tmp186, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 4, 2, 5)) * 2
+    del tmp186
+    t2new.bbbb += np.transpose(tmp187, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp187, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp187, (1, 0, 2, 3)) * -1
+    t2new.bbbb += tmp187
+    del tmp187
+    tmp172 = einsum(tmp170, (0, 1, 2), v.bbb.xov, (2, 3, 4), (0, 3, 1, 4)) * -1
+    del tmp170
+    tmp172 += einsum(tmp21, (0, 1, 2), tmp171, (3, 4, 2), (0, 1, 4, 3))
+    del tmp171
+    t2new.bbbb += einsum(tmp172, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 2, 5)) * 2
+    del tmp172
+    tmp154 = einsum(t2.bbbb, (0, 1, 2, 3), tmp113, (1, 4), (0, 4, 2, 3)) * -1
+    del tmp113
+    t2new.bbbb += np.transpose(tmp154, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp154, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp154, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp154, (0, 1, 3, 2)) * -1
+    del tmp154
+    tmp162 = einsum(t1.bb, (0, 1), tmp161, (2, 0, 3, 4), (2, 3, 1, 4))
+    del tmp161
+    t2new.bbbb += tmp162
+    t2new.bbbb += np.transpose(tmp162, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp162, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp162, (1, 0, 3, 2))
+    del tmp162
+    tmp204 = einsum(tmp203, (0, 1, 2, 3), t2.bbbb, (4, 5, 2, 3), (4, 5, 0, 1)) * -1
+    del tmp203
+    t2new.bbbb += einsum(t1.bb, (0, 1), tmp204, (2, 3, 0, 4), (2, 3, 1, 4)) * -2
+    del tmp204
+    tmp194 = einsum(tmp39, (0, 1, 2), v.bbb.xov, (2, 3, 4), (0, 3, 4, 1))
+    t2new.bbbb += np.transpose(tmp194, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp194, (0, 1, 3, 2))
+    del tmp194
+    tmp164 = einsum(tmp163, (0, 1, 2, 3), t2.bbbb, (1, 3, 4, 5), (0, 2, 4, 5))
+    del tmp163
+    t2new.bbbb += np.transpose(tmp164, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp164, (0, 1, 3, 2))
+    t2new.bbbb += np.transpose(tmp164, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp164, (1, 0, 3, 2)) * -1
+    del tmp164
+    tmp139 = einsum(tmp43, (0, 1, 2), v.baa.xov, (2, 3, 4), (3, 0, 4, 1))
+    tmp139 += einsum(v.baa.xoo, (0, 1, 2), tmp128, (3, 4, 0), (1, 2, 4, 3)) * -1
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp139, (0, 4, 2, 5), (4, 1, 5, 3))
+    del tmp139
+    tmp138 = einsum(tmp0, (0, 1, 2), tmp21, (3, 4, 2), (0, 1, 3, 4))
+    tmp151 = einsum(t2.abab, (0, 1, 2, 3), tmp150, (4, 2, 5, 3), (0, 4, 1, 5))
+    del tmp150
+    t2new.abab += einsum(tmp151, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3)) * -1
+    del tmp151
+    tmp115 = np.copy(t2.abab)
+    tmp115 += einsum(t1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) * 2
+    tmp133 = einsum(v.bbb.xoo, (0, 1, 2), tmp132, (3, 4, 0), (1, 2, 4, 3))
+    t2new.abab += einsum(tmp133, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5)) * -1
+    del tmp133
+    tmp129 = einsum(tmp128, (0, 1, 2), tmp21, (3, 4, 2), (3, 4, 1, 0))
+    del tmp128
+    t2new.abab += einsum(tmp129, (0, 1, 2, 3), t2.abab, (4, 1, 2, 5), (4, 0, 3, 5)) * -1
+    del tmp129
+    tmp144 = einsum(tmp143, (0, 1, 2, 3), t1.aa, (0, 4), (1, 4, 3, 2))
+    del tmp143
+    tmp144 += einsum(tmp140, (0, 1, 2), v.baa.xvv, (2, 3, 4), (3, 4, 1, 0))
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp144, (2, 4, 3, 5), (0, 1, 4, 5))
+    del tmp144
+    tmp114 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 2, 3, 4))
+    t2new.abab += einsum(tmp114, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5)) * 0.5
+    t2new.abab += einsum(tmp115, (0, 1, 2, 3), tmp114, (0, 4, 1, 5), (4, 5, 2, 3)) * 0.5
+    del tmp114, tmp115
+    tmp38 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    t2new.abab += einsum(t1.bb, (0, 1), tmp38, (2, 3, 0, 4), (2, 3, 4, 1)) * -1
+    t1new.bb += einsum(tmp38, (0, 1, 2, 3), t2.abab, (0, 2, 3, 4), (1, 4)) * -1
+    del tmp38
+    tmp136 = einsum(v.baa.xoo, (0, 1, 2), tmp135, (3, 4, 0), (1, 2, 4, 3))
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp136, (0, 4, 3, 5), (4, 1, 2, 5)) * -1
+    del tmp136
+    tmp2 = einsum(tmp0, (0, 1, 2), v.bbb.xov, (2, 3, 4), (0, 1, 3, 4))
+    t2new.abab += einsum(tmp2, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3)) * -1
+    t1new.aa += einsum(tmp2, (0, 1, 2, 3), t2.abab, (1, 2, 4, 3), (0, 4)) * -1
+    del tmp2
+    tmp148 = np.copy(np.transpose(tmp147, (1, 0, 2, 3))) * -1
+    del tmp147
+    tmp148 += einsum(tmp21, (0, 1, 2), tmp135, (3, 4, 2), (0, 1, 4, 3))
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp148, (4, 1, 3, 5), (0, 4, 2, 5)) * -1
+    del tmp148
+    tmp152 = einsum(v.baa.xoo, (0, 1, 2), tmp39, (3, 4, 0), (1, 2, 3, 4))
+    t2new.abab += einsum(tmp152, (0, 1, 2, 3), t1.aa, (0, 4), (1, 2, 4, 3)) * -1
+    del tmp152
+    tmp149 = einsum(tmp0, (0, 1, 2), tmp135, (3, 4, 2), (0, 1, 4, 3))
+    del tmp135
+    t2new.abab += einsum(tmp149, (0, 1, 2, 3), t2.abab, (1, 4, 5, 2), (0, 4, 5, 3)) * -1
+    del tmp149
+    tmp124 = einsum(v.baa.xoo, (0, 1, 2), tmp21, (3, 4, 0), (1, 2, 3, 4))
+    tmp145 = np.copy(np.transpose(tmp80, (1, 0, 2, 3))) * -1
+    del tmp80
+    tmp145 += einsum(tmp0, (0, 1, 2), tmp132, (3, 4, 2), (0, 1, 4, 3))
+    del tmp132
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp145, (4, 0, 2, 5), (4, 1, 5, 3)) * -1
+    del tmp145
+    tmp18 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    t2new.abab += einsum(tmp18, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3)) * -1
+    t1new.aa += einsum(tmp18, (0, 1, 2, 3), t2.abab, (1, 2, 4, 3), (0, 4)) * -1
+    del tmp18
+    tmp153 = einsum(tmp0, (0, 1, 2), tmp39, (3, 4, 2), (0, 1, 3, 4))
+    t2new.abab += einsum(tmp153, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3)) * -1
+    del tmp153
+    tmp125 = np.copy(t2.abab)
+    tmp125 += einsum(t1.bb, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1))
+    t2new.abab += einsum(tmp138, (0, 1, 2, 3), tmp125, (1, 3, 4, 5), (0, 2, 4, 5))
+    del tmp138
+    t2new.abab += einsum(tmp125, (0, 1, 2, 3), tmp124, (4, 0, 5, 1), (4, 5, 2, 3))
+    del tmp124
+    tmp116 = np.copy(f.aa.oo)
+    tmp116 += einsum(v.baa.xov, (0, 1, 2), tmp43, (3, 2, 0), (1, 3))
+    del tmp43
+    tmp116 += np.transpose(tmp25, (1, 0))
+    t2new.abab += einsum(tmp116, (0, 1), t2.abab, (0, 2, 3, 4), (1, 2, 3, 4)) * -1
+    del tmp116
+    tmp126 = einsum(v.bbb.xoo, (0, 1, 2), tmp16, (3, 4, 0), (3, 1, 2, 4))
+    t2new.abab += einsum(t1.bb, (0, 1), tmp126, (2, 0, 3, 4), (2, 3, 4, 1)) * -1
+    del tmp126
+    tmp127 = einsum(tmp0, (0, 1, 2), v.bbb.xoo, (2, 3, 4), (0, 1, 3, 4))
+    t2new.abab += einsum(tmp127, (0, 1, 2, 3), tmp125, (1, 2, 4, 5), (0, 3, 4, 5))
+    del tmp125, tmp127
+    tmp141 = einsum(v.bbb.xov, (0, 1, 2), tmp111, (3, 4, 0), (1, 3, 2, 4))
+    del tmp111
+    tmp141 += einsum(tmp140, (0, 1, 2), v.bbb.xoo, (2, 3, 4), (3, 4, 1, 0)) * -1
+    del tmp140
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp141, (1, 4, 3, 5), (0, 4, 2, 5))
+    del tmp141
+    tmp137 = np.copy(np.transpose(v.bbb.xov, (1, 2, 0)))
+    tmp137 += tmp39
+    del tmp39
+    tmp137 += tmp130 * -1
+    del tmp130
+    t2new.abab += einsum(tmp137, (0, 1, 2), tmp16, (3, 4, 2), (3, 0, 4, 1))
+    del tmp137
+    tmp84 = einsum(t2.aaaa, (0, 1, 2, 3), tmp83, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp83
+    t2new.aaaa = np.copy(np.transpose(tmp84, (1, 0, 2, 3))) * 2
+    t2new.aaaa += tmp84 * -2
+    t2new.aaaa += np.transpose(tmp84, (1, 0, 3, 2)) * -2
+    del tmp84
+    tmp47 = einsum(tmp46, (0, 1), t2.aaaa, (2, 0, 3, 4), (2, 1, 3, 4)) * -0.5
+    del tmp46
+    t2new.aaaa += np.transpose(tmp47, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp47, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp47, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp47, (0, 1, 3, 2)) * -1
+    del tmp47
+    tmp97 = einsum(v.baa.xov, (0, 1, 2), tmp16, (3, 4, 0), (3, 1, 2, 4))
+    t2new.aaaa += np.transpose(tmp97, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp97, (0, 1, 3, 2))
+    del tmp97
+    tmp51 = einsum(t1.aa, (0, 1), t1.aa, (2, 3), (0, 2, 3, 1)) * 2
+    tmp51 += t2.aaaa * -1
+    t2new.aaaa += einsum(tmp48, (0, 1, 2, 3), tmp51, (0, 2, 4, 5), (1, 3, 5, 4)) * -0.5
+    del tmp51
+    tmp104 = einsum(tmp103, (0, 1, 2, 3), t1.aa, (2, 4), (0, 1, 4, 3))
+    del tmp103
+    t2new.aaaa += np.transpose(tmp104, (0, 1, 3, 2)) * -1
+    t2new.aaaa += tmp104
+    del tmp104
+    tmp59 = einsum(tmp58, (0, 1, 2), v.baa.xov, (2, 3, 4), (3, 0, 4, 1))
+    del tmp58
+    t2new.aaaa += np.transpose(tmp59, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp59, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp59, (0, 1, 3, 2)) * -1
+    t2new.aaaa += tmp59
+    del tmp59
+    tmp92 = einsum(t2.aaaa, (0, 1, 2, 3), tmp91, (4, 1, 5, 3), (0, 4, 2, 5)) * 2
+    del tmp91
+    t2new.aaaa += tmp92
+    t2new.aaaa += np.transpose(tmp92, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp92, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp92, (1, 0, 3, 2))
+    del tmp92
+    tmp107 = einsum(t1.aa, (0, 1), tmp1, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp1
+    t2new.aaaa += tmp107 * -1
+    t2new.aaaa += np.transpose(tmp107, (1, 0, 2, 3))
+    del tmp107
+    tmp106 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (3, 1, 2, 4))
+    tmp106 += einsum(t1.aa, (0, 1), tmp105, (0, 2, 3, 4), (4, 3, 1, 2))
+    del tmp105
+    t2new.aaaa += einsum(tmp106, (0, 1, 2, 3), t2.aaaa, (4, 5, 0, 1), (4, 5, 3, 2)) * 2
+    del tmp106
+    tmp94 = einsum(tmp93, (0, 1, 2), tmp3, (3, 4, 2), (3, 0, 4, 1))
+    del tmp93
+    t2new.aaaa += np.transpose(tmp94, (0, 1, 3, 2))
+    t2new.aaaa += np.transpose(tmp94, (1, 0, 3, 2)) * -1
+    del tmp94
+    tmp86 = einsum(t1.aa, (0, 1), tmp17, (2, 0, 3, 4), (2, 3, 1, 4))
+    del tmp17
+    t2new.aaaa += np.transpose(tmp86, (1, 0, 2, 3))
+    t2new.aaaa += tmp86 * -1
+    t2new.aaaa += np.transpose(tmp86, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp86, (0, 1, 3, 2))
+    del tmp86
+    tmp102 = einsum(t1.aa, (0, 1), tmp101, (2, 3, 0, 4), (2, 3, 1, 4))
+    del tmp101
+    t2new.aaaa += np.transpose(tmp102, (1, 0, 2, 3))
+    t2new.aaaa += tmp102 * -1
+    t2new.aaaa += np.transpose(tmp102, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp102, (0, 1, 3, 2))
+    del tmp102
+    tmp76 = einsum(v.baa.xov, (0, 1, 2), tmp75, (3, 4, 0), (1, 3, 2, 4))
+    del tmp75
+    t2new.aaaa += np.transpose(tmp76, (1, 0, 2, 3)) * -1
+    t2new.aaaa += tmp76
+    del tmp76
+    tmp66 = einsum(tmp20, (0, 1), t1.aa, (2, 1), (2, 0))
+    del tmp20
+    t2new.aaaa += einsum(tmp66, (0, 1), t2.aaaa, (2, 1, 3, 4), (2, 0, 3, 4)) * -1
+    del tmp66
+    tmp61 = einsum(tmp60, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3))
+    del tmp60
+    t2new.aaaa += tmp61
+    t2new.aaaa += np.transpose(tmp61, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp61, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp61, (1, 0, 3, 2))
+    del tmp61
+    tmp78 = einsum(tmp77, (0, 1, 2), tmp3, (3, 4, 2), (3, 0, 4, 1))
+    del tmp77
+    t2new.aaaa += tmp78 * -1
+    t2new.aaaa += np.transpose(tmp78, (0, 1, 3, 2))
+    del tmp78
+    tmp85 = einsum(tmp79, (0, 1, 2), tmp3, (3, 4, 2), (3, 0, 4, 1))
+    del tmp79
+    t2new.aaaa += np.transpose(tmp85, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp85, (1, 0, 3, 2))
+    del tmp85
+    tmp57 = einsum(tmp56, (0, 1), t2.aaaa, (2, 3, 4, 0), (2, 3, 4, 1)) * -2
+    del tmp56
+    t2new.aaaa += np.transpose(tmp57, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp57, (1, 0, 3, 2))
+    del tmp57
+    tmp50 = einsum(t2.aaaa, (0, 1, 2, 3), tmp48, (4, 0, 5, 1), (5, 4, 2, 3))
+    t2new.aaaa += np.transpose(tmp50, (0, 1, 3, 2)) * -0.5
+    t2new.aaaa += np.transpose(tmp50, (0, 1, 3, 2)) * -0.5
+    del tmp50
+    tmp109 = einsum(t2.aaaa, (0, 1, 2, 3), tmp108, (4, 5, 2, 3), (0, 1, 4, 5)) * -1
+    del tmp108
+    t2new.aaaa += einsum(t1.aa, (0, 1), tmp109, (2, 3, 0, 4), (2, 3, 1, 4)) * -2
+    del tmp109
+    tmp96 = einsum(tmp95, (0, 1, 2), tmp3, (3, 4, 2), (3, 0, 4, 1)) * 0.5
+    del tmp95
+    t2new.aaaa += tmp96 * -1
+    t2new.aaaa += np.transpose(tmp96, (1, 0, 2, 3))
+    del tmp96
+    tmp49 = np.copy(t2.aaaa)
+    tmp49 += einsum(t1.aa, (0, 1), t1.aa, (2, 3), (2, 0, 3, 1)) * 2
+    t2new.aaaa += einsum(tmp48, (0, 1, 2, 3), tmp49, (0, 2, 4, 5), (1, 3, 5, 4)) * 0.5
+    del tmp48, tmp49
+    tmp99 = einsum(tmp98, (0, 1, 2, 3), t2.aaaa, (3, 2, 4, 5), (1, 0, 4, 5))
+    del tmp98
+    t2new.aaaa += np.transpose(tmp99, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp99, (0, 1, 3, 2)) * -1
+    del tmp99
+    tmp69 = einsum(t2.aaaa, (0, 1, 2, 3), tmp68, (4, 1), (0, 4, 2, 3)) * -1
+    del tmp68
+    t2new.aaaa += np.transpose(tmp69, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp69, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp69, (0, 1, 3, 2)) * -1
+    del tmp69
+    tmp87 = einsum(tmp3, (0, 1, 2), tmp11, (3, 4, 2), (3, 0, 4, 1))
+    del tmp11
+    t2new.aaaa += np.transpose(tmp87, (1, 0, 3, 2))
+    t2new.aaaa += tmp87
+    t2new.aaaa += np.transpose(tmp87, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp87, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp87, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp87, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp87, (1, 0, 3, 2))
+    t2new.aaaa += tmp87
+    del tmp87
+    tmp63 = einsum(tmp62, (0, 1, 2, 3), t2.aaaa, (1, 3, 4, 5), (0, 2, 4, 5))
+    del tmp62
+    t2new.aaaa += np.transpose(tmp63, (0, 1, 3, 2))
+    t2new.aaaa += np.transpose(tmp63, (0, 1, 3, 2))
+    t2new.aaaa += np.transpose(tmp63, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp63, (1, 0, 3, 2)) * -1
+    del tmp63
+    tmp74 = einsum(v.baa.xov, (0, 1, 2), tmp71, (3, 4, 0), (3, 1, 4, 2)) * -1
+    del tmp71
+    tmp74 += einsum(tmp0, (0, 1, 2), tmp73, (3, 4, 2), (0, 1, 4, 3))
+    del tmp73
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp74, (4, 1, 5, 3), (0, 4, 5, 2)) * 2
+    del tmp74
+    tmp100 = einsum(tmp16, (0, 1, 2), tmp16, (3, 4, 2), (0, 3, 1, 4))
+    del tmp16
+    t2new.aaaa += np.transpose(tmp100, (0, 1, 3, 2)) * -1
+    t2new.aaaa += tmp100
+    del tmp100
+    tmp65 = einsum(t1.aa, (0, 1), tmp64, (2, 0, 3, 4), (2, 3, 1, 4))
+    del tmp64
+    t2new.aaaa += np.transpose(tmp65, (0, 1, 3, 2))
+    t2new.aaaa += tmp65 * -1
+    t2new.aaaa += np.transpose(tmp65, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp65, (1, 0, 2, 3))
+    del tmp65
+    tmp41 = np.copy(f.bb.oo)
+    tmp41 += einsum(v.bbb.xoo, (0, 1, 2), tmp21, (2, 3, 0), (3, 1)) * -1
+    tmp41 += np.transpose(tmp40, (1, 0))
+    del tmp40
+    t1new.bb += einsum(t1.bb, (0, 1), tmp41, (0, 2), (2, 1)) * -1
+    del tmp41
+    tmp31 = np.copy(tmp29)
+    del tmp29
+    tmp31 += einsum(tmp30, (0, 1, 2, 3), v.bbb.xov, (4, 0, 2), (1, 3, 4))
+    del tmp30
+    tmp31 += einsum(t1.bb, (0, 1), tmp7, (2,), (0, 1, 2))
+    t1new.bb += einsum(v.bbb.xvv, (0, 1, 2), tmp31, (3, 2, 0), (3, 1))
+    del tmp31
+    tmp36 = einsum(v.bbb.xov, (0, 1, 2), tmp34, (3, 2, 0), (1, 3))
+    del tmp34
+    tmp36 += einsum(t1.bb, (0, 1), tmp35, (2, 1), (2, 0))
+    del tmp35
+    t1new.bb += einsum(t1.bb, (0, 1), tmp36, (0, 2), (2, 1)) * -1
+    del tmp36
+    tmp27 = einsum(v.baa.xov, (0, 1, 2), tmp21, (3, 4, 0), (1, 3, 4, 2))
+    del tmp21
+    t1new.bb += einsum(tmp27, (0, 1, 2, 3), t2.abab, (0, 2, 3, 4), (1, 4)) * -1
+    del tmp27
+    tmp26 = np.copy(f.aa.oo)
+    tmp26 += einsum(tmp0, (0, 1, 2), v.baa.xoo, (2, 3, 0), (1, 3)) * -1
+    del tmp0
+    tmp26 += np.transpose(tmp25, (1, 0))
+    del tmp25
+    t1new.aa += einsum(tmp26, (0, 1), t1.aa, (0, 2), (1, 2)) * -1
+    del tmp26
+    tmp8 = np.copy(tmp3) * 0.5
+    del tmp3
+    tmp8 += einsum(v.baa.xov, (0, 1, 2), tmp4, (1, 3, 2, 4), (3, 4, 0)) * 0.5
+    del tmp4
+    tmp8 += einsum(t1.aa, (0, 1), tmp7, (2,), (0, 1, 2)) * 0.5
+    del tmp7
+    t1new.aa += einsum(tmp8, (0, 1, 2), v.baa.xvv, (2, 3, 1), (0, 3)) * 2
+    del tmp8
+    tmp15 = einsum(v.baa.xov, (0, 1, 2), tmp12, (3, 2, 0), (1, 3)) * 2
+    del tmp12
+    tmp15 += einsum(tmp14, (0, 1), t1.aa, (2, 1), (0, 2))
+    del tmp14
+    t1new.aa += einsum(tmp15, (0, 1), t1.aa, (0, 2), (1, 2)) * -1
+    del tmp15
+    t1new.aa += f.aa.ov
+    t1new.aa += einsum(f.aa.vv, (0, 1), t1.aa, (2, 1), (2, 0))
+    t1new.bb += einsum(f.bb.vv, (0, 1), t1.bb, (2, 1), (2, 0))
+    t1new.bb += f.bb.ov
+
+    return {f"t1new": t1new, f"t2new": t2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/UDFQCISD/index.html b/reference/codegen/UDFQCISD/index.html new file mode 100644 index 00000000..95ac7b50 --- /dev/null +++ b/reference/codegen/UDFQCISD/index.html @@ -0,0 +1,1085 @@ + + + + + + + + UDFQCISD - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-09T21:55:35.384445
  • +
  • python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0]
  • +
  • albert version: 0.0.0
  • +
  • caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py
  • +
  • node: fv-az1487-369
  • +
  • system: Linux
  • +
  • processor: x86_64
  • +
  • release: 6.5.0-1025-azure
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.UDFQCISD.energy(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T21:55:36.098346.

+

Parameters

+

t2 : Namespace of arrays + T2 amplitudes. +v : Namespace of arrays + Electron repulsion integrals.

+

Returns

+

e_cc : float + Coupled cluster energy.

+ +
+ Source code in ebcc/codegen/UDFQCISD.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
def energy(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T21:55:36.098346.
+
+    Parameters
+    ----------
+    t2 : Namespace of arrays
+        T2 amplitudes.
+    v : Namespace of arrays
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    e_cc : float
+        Coupled cluster energy.
+    """
+
+    tmp0 = einsum(v.baa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 4, 0))
+    e_cc = einsum(v.baa.xov, (0, 1, 2), tmp0, (1, 2, 0), ())
+    del tmp0
+    tmp1 = einsum(v.baa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (3, 4, 0))
+    tmp1 += einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 4, 0))
+    e_cc += einsum(tmp1, (0, 1, 2), v.bbb.xov, (2, 0, 1), ())
+    del tmp1
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UDFQCISD.update_amps(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T21:56:02.936488.

+

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.

+ +
+ Source code in ebcc/codegen/UDFQCISD.py +
 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
def update_amps(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T21:56:02.936488.
+
+    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()
+    tmp40 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp35 = einsum(v.baa.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp77 = np.copy(np.transpose(tmp40, (1, 0, 2, 3)))
+    tmp77 += np.transpose(tmp40, (1, 0, 3, 2)) * -1
+    tmp26 = einsum(v.baa.xov, (0, 1, 2), t2.abab, (1, 3, 2, 4), (3, 4, 0))
+    tmp27 = einsum(v.bbb.xov, (0, 1, 2), t2.bbbb, (3, 1, 4, 2), (3, 4, 0))
+    tmp16 = einsum(v.baa.xov, (0, 1, 2), t2.aaaa, (3, 1, 4, 2), (3, 4, 0))
+    tmp17 = einsum(v.bbb.xov, (0, 1, 2), t2.abab, (3, 1, 4, 2), (3, 4, 0))
+    tmp36 = np.copy(np.transpose(tmp35, (1, 0, 2, 3))) * -1
+    tmp36 += np.transpose(tmp35, (1, 0, 3, 2))
+    tmp6 = einsum(v.bbb.xov, (0, 1, 2), t1.bb, (1, 2), (0,))
+    tmp5 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (1, 2), (0,))
+    tmp78 = einsum(t2.bbbb, (0, 1, 2, 3), tmp77, (1, 4, 5, 3), (0, 4, 2, 5))
+    del tmp77
+    tmp71 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    t2new.abab = einsum(tmp71, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2)) * -1
+    tmp22 = einsum(v.bbb.xvv, (0, 1, 2), t1.bb, (3, 2), (3, 1, 0))
+    t1new.bb = einsum(tmp22, (0, 1, 2), v.bbb.xoo, (2, 3, 0), (3, 1)) * -1
+    tmp28 = np.copy(tmp26) * 0.5
+    tmp28 += tmp27
+    t1new.bb += einsum(tmp28, (0, 1, 2), v.bbb.xvv, (2, 3, 1), (0, 3)) * 2
+    tmp53 = np.copy(tmp16) * 2
+    tmp53 += tmp17
+    tmp18 = np.copy(tmp16) * 2
+    tmp18 += tmp17
+    t1new.aa = einsum(tmp18, (0, 1, 2), v.baa.xvv, (2, 3, 1), (0, 3))
+    tmp34 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp37 = einsum(t2.aaaa, (0, 1, 2, 3), tmp36, (1, 4, 3, 5), (0, 4, 2, 5))
+    tmp41 = np.copy(np.transpose(tmp40, (1, 0, 2, 3))) * -1
+    tmp41 += np.transpose(tmp40, (1, 0, 3, 2))
+    tmp1 = einsum(v.baa.xvv, (0, 1, 2), t1.aa, (3, 2), (3, 1, 0))
+    t2new.abab += einsum(v.bbb.xov, (0, 1, 2), tmp1, (3, 4, 0), (3, 1, 4, 2))
+    t1new.aa += einsum(tmp1, (0, 1, 2), v.baa.xoo, (2, 3, 0), (3, 1)) * -1
+    tmp7 = np.copy(tmp5)
+    tmp7 += tmp6
+    tmp3 = einsum(v.baa.xov, (0, 1, 2), t1.aa, (3, 2), (3, 1, 0))
+    tmp10 = einsum(v.bbb.xov, (0, 1, 2), t1.bb, (3, 2), (3, 1, 0))
+    tmp81 = einsum(t2.abab, (0, 1, 2, 3), tmp36, (0, 4, 2, 5), (4, 1, 5, 3))
+    del tmp36
+    tmp85 = einsum(t2.bbbb, (0, 1, 2, 3), tmp40, (4, 5, 3, 2), (0, 1, 5, 4))
+    tmp79 = np.copy(np.transpose(tmp71, (1, 0, 3, 2)))
+    tmp79 += tmp78 * -2
+    del tmp78
+    tmp58 = np.copy(np.transpose(v.bbb.xov, (1, 2, 0)))
+    tmp58 += tmp22
+    t2new.abab += einsum(v.baa.xov, (0, 1, 2), tmp58, (3, 4, 0), (1, 3, 2, 4))
+    tmp21 = einsum(v.bbb.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    t1new.bb += einsum(tmp21, (0, 1, 2, 3), t2.bbbb, (1, 2, 4, 3), (0, 4)) * -2
+    tmp65 = np.copy(tmp26)
+    tmp65 += tmp27 * 2
+    t2new.abab += einsum(tmp65, (0, 1, 2), v.baa.xov, (2, 3, 4), (3, 0, 4, 1))
+    tmp94 = einsum(tmp28, (0, 1, 2), v.bbb.xov, (2, 3, 1), (3, 0)) * 2
+    tmp88 = einsum(v.bbb.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    tmp91 = einsum(tmp28, (0, 1, 2), v.bbb.xov, (2, 0, 3), (3, 1))
+    t2new.bbbb = einsum(t2.bbbb, (0, 1, 2, 3), tmp91, (3, 4), (0, 1, 2, 4)) * -4
+    tmp66 = np.copy(tmp16)
+    tmp66 += tmp17 * 0.5
+    tmp59 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xov, (0, 3, 4), (3, 1, 4, 2))
+    tmp69 = einsum(v.bbb.xov, (0, 1, 2), tmp53, (3, 4, 0), (3, 1, 4, 2))
+    t2new.abab += tmp69
+    tmp54 = einsum(tmp53, (0, 1, 2), v.baa.xov, (2, 3, 4), (3, 0, 4, 1))
+    del tmp53
+    t2new.aaaa = np.copy(np.transpose(tmp54, (1, 0, 3, 2)))
+    t2new.aaaa += np.transpose(tmp54, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp54, (0, 1, 3, 2)) * -1
+    t2new.aaaa += tmp54
+    tmp62 = einsum(v.baa.xoo, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 2, 3, 4))
+    tmp49 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 1, 2, 4))
+    tmp56 = einsum(tmp18, (0, 1, 2), v.baa.xov, (2, 3, 1), (3, 0)) * 0.5
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp56, (0, 4), (4, 1, 2, 3)) * -2
+    tmp47 = einsum(t2.aaaa, (0, 1, 2, 3), tmp35, (4, 5, 3, 2), (0, 1, 5, 4))
+    tmp2 = einsum(v.baa.xoo, (0, 1, 2), v.baa.xov, (0, 3, 4), (1, 2, 3, 4))
+    t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp2, (4, 0, 1, 3), (4, 2)) * -2
+    tmp38 = np.copy(np.transpose(tmp34, (1, 0, 3, 2)))
+    tmp38 += tmp37 * -2
+    del tmp37
+    tmp42 = einsum(tmp41, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2))
+    del tmp41
+    tmp30 = np.copy(np.transpose(v.baa.xov, (1, 2, 0)))
+    tmp30 += tmp1
+    tmp8 = einsum(tmp7, (0,), v.baa.xov, (0, 1, 2), (1, 2))
+    tmp4 = einsum(v.baa.xov, (0, 1, 2), tmp3, (1, 3, 0), (3, 2))
+    tmp12 = einsum(tmp7, (0,), v.bbb.xov, (0, 1, 2), (1, 2))
+    del tmp7
+    tmp11 = einsum(v.bbb.xov, (0, 1, 2), tmp10, (1, 3, 0), (3, 2))
+    tmp82 = einsum(tmp81, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (4, 1, 5, 3))
+    del tmp81
+    t2new.bbbb += np.transpose(tmp82, (1, 0, 2, 3)) * -1
+    t2new.bbbb += tmp82
+    del tmp82
+    tmp87 = einsum(v.bbb.xvv, (0, 1, 2), v.bbb.xvv, (0, 3, 4), (1, 3, 4, 2))
+    t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp87, (4, 2, 5, 3), (0, 1, 4, 5)) * -2
+    del tmp87
+    tmp86 = einsum(tmp85, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 5), (1, 0, 4, 5)) * -1
+    del tmp85
+    t2new.bbbb += np.transpose(tmp86, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp86, (0, 1, 3, 2)) * -1
+    del tmp86
+    tmp80 = einsum(t2.bbbb, (0, 1, 2, 3), tmp79, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp79
+    t2new.bbbb += np.transpose(tmp80, (0, 1, 3, 2)) * 2
+    t2new.bbbb += np.transpose(tmp80, (1, 0, 3, 2)) * -2
+    del tmp80
+    tmp74 = einsum(tmp58, (0, 1, 2), v.bbb.xov, (2, 3, 4), (3, 0, 4, 1))
+    del tmp58
+    t2new.bbbb += np.transpose(tmp74, (1, 0, 2, 3)) * -1
+    t2new.bbbb += tmp74
+    del tmp74
+    tmp76 = einsum(tmp26, (0, 1, 2), tmp27, (3, 4, 2), (0, 3, 1, 4))
+    del tmp26, tmp27
+    t2new.bbbb += np.transpose(tmp76, (1, 0, 2, 3)) * -2
+    t2new.bbbb += np.transpose(tmp76, (0, 1, 3, 2)) * -2
+    t2new.bbbb += np.transpose(tmp76, (1, 0, 3, 2)) * 2
+    t2new.bbbb += tmp76 * 2
+    del tmp76
+    tmp75 = einsum(tmp21, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3))
+    del tmp21
+    t2new.bbbb += np.transpose(tmp75, (1, 0, 2, 3))
+    t2new.bbbb += tmp75 * -1
+    t2new.bbbb += np.transpose(tmp75, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp75, (0, 1, 3, 2))
+    del tmp75
+    tmp83 = einsum(tmp71, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp71
+    t2new.bbbb += tmp83 * -2
+    t2new.bbbb += np.transpose(tmp83, (1, 0, 2, 3)) * 2
+    del tmp83
+    tmp92 = einsum(v.bbb.xov, (0, 1, 2), tmp65, (3, 4, 0), (1, 3, 2, 4))
+    del tmp65
+    t2new.bbbb += np.transpose(tmp92, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp92, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp92, (0, 1, 3, 2)) * -1
+    t2new.bbbb += tmp92
+    del tmp92
+    tmp95 = einsum(tmp94, (0, 1), t2.bbbb, (2, 0, 3, 4), (2, 1, 3, 4)) * -1
+    del tmp94
+    t2new.bbbb += np.transpose(tmp95, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp95, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp95, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp95, (0, 1, 3, 2)) * -1
+    del tmp95
+    tmp89 = einsum(tmp88, (0, 1, 2, 3), t2.bbbb, (1, 3, 4, 5), (2, 0, 4, 5))
+    del tmp88
+    t2new.bbbb += np.transpose(tmp89, (0, 1, 3, 2)) * -0.5
+    t2new.bbbb += np.transpose(tmp89, (0, 1, 3, 2)) * -0.5
+    t2new.bbbb += np.transpose(tmp89, (0, 1, 3, 2)) * -0.5
+    t2new.bbbb += np.transpose(tmp89, (0, 1, 3, 2)) * -0.5
+    del tmp89
+    tmp90 = einsum(f.bb.oo, (0, 1), t2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4))
+    t2new.bbbb += np.transpose(tmp90, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp90, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp90, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp90, (1, 0, 3, 2))
+    del tmp90
+    tmp84 = einsum(v.bbb.xov, (0, 1, 2), tmp22, (3, 4, 0), (3, 1, 2, 4))
+    del tmp22
+    t2new.bbbb += np.transpose(tmp84, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp84, (0, 1, 3, 2))
+    del tmp84
+    tmp93 = np.copy(f.bb.vv) * -0.5
+    tmp93 += np.transpose(tmp91, (1, 0))
+    del tmp91
+    t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), tmp93, (4, 3), (0, 1, 4, 2)) * 4
+    del tmp93
+    tmp67 = np.copy(f.aa.vv) * -1
+    tmp67 += einsum(v.baa.xov, (0, 1, 2), tmp66, (1, 3, 0), (2, 3)) * 2
+    del tmp66
+    t2new.abab += einsum(tmp67, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1
+    del tmp67
+    tmp61 = einsum(v.bbb.xvv, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp61, (4, 0, 5, 3), (4, 1, 2, 5)) * -1
+    del tmp61
+    tmp60 = einsum(v.baa.xvv, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (3, 4, 1, 2))
+    tmp60 += einsum(t2.abab, (0, 1, 2, 3), tmp59, (0, 4, 5, 3), (4, 1, 5, 2)) * -1
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp60, (1, 4, 2, 5), (0, 4, 5, 3)) * -1
+    del tmp60
+    tmp70 = einsum(tmp40, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2)) * -1
+    del tmp40
+    tmp70 += tmp69
+    del tmp69
+    t2new.abab += einsum(tmp70, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 4, 2, 5)) * 2
+    del tmp70
+    tmp73 = einsum(t2.abab, (0, 1, 2, 3), tmp59, (4, 5, 2, 3), (0, 4, 1, 5))
+    del tmp59
+    t2new.abab += einsum(tmp73, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5))
+    del tmp73
+    tmp68 = np.copy(np.transpose(tmp34, (1, 0, 3, 2)))
+    tmp68 += einsum(tmp35, (0, 1, 2, 3), t2.aaaa, (4, 0, 5, 3), (1, 4, 2, 5)) * 2
+    del tmp35
+    tmp68 += tmp54 * -1
+    del tmp54
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp68, (0, 4, 2, 5), (4, 1, 5, 3)) * -1
+    del tmp68
+    tmp64 = einsum(tmp28, (0, 1, 2), v.bbb.xov, (2, 0, 3), (1, 3)) * 2
+    t2new.abab += einsum(tmp64, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 4, 0)) * -1
+    del tmp64
+    tmp23 = einsum(v.baa.xov, (0, 1, 2), v.bbb.xoo, (0, 3, 4), (1, 3, 4, 2))
+    t2new.abab += einsum(tmp23, (0, 1, 2, 3), t1.bb, (2, 4), (0, 1, 3, 4)) * -1
+    t1new.bb += einsum(tmp23, (0, 1, 2, 3), t2.abab, (0, 2, 3, 4), (1, 4)) * -1
+    del tmp23
+    tmp72 = einsum(v.bbb.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (3, 4, 1, 2))
+    t2new.abab += einsum(tmp72, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 5, 0, 2))
+    del tmp72
+    tmp63 = einsum(tmp62, (0, 1, 2, 3), t2.abab, (1, 3, 4, 5), (0, 2, 4, 5))
+    del tmp62
+    t2new.abab += tmp63 * 0.5
+    t2new.abab += tmp63 * 0.5
+    del tmp63
+    tmp0 = einsum(v.bbb.xov, (0, 1, 2), v.baa.xoo, (0, 3, 4), (3, 4, 1, 2))
+    t2new.abab += einsum(tmp0, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3)) * -1
+    t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp0, (4, 0, 1, 3), (4, 2)) * -1
+    del tmp0
+    tmp29 = einsum(tmp28, (0, 1, 2), v.bbb.xov, (2, 3, 1), (3, 0))
+    del tmp28
+    t2new.abab += einsum(tmp29, (0, 1), t2.abab, (2, 0, 3, 4), (2, 1, 3, 4)) * -2
+    t1new.bb += einsum(t1.bb, (0, 1), tmp29, (0, 2), (2, 1)) * -2
+    del tmp29
+    tmp50 = einsum(tmp49, (0, 1, 2, 3), t2.aaaa, (1, 3, 4, 5), (2, 0, 4, 5))
+    del tmp49
+    t2new.aaaa += np.transpose(tmp50, (0, 1, 3, 2)) * -0.5
+    t2new.aaaa += np.transpose(tmp50, (0, 1, 3, 2)) * -0.5
+    t2new.aaaa += np.transpose(tmp50, (0, 1, 3, 2)) * -0.5
+    t2new.aaaa += np.transpose(tmp50, (0, 1, 3, 2)) * -0.5
+    del tmp50
+    tmp45 = einsum(v.baa.xov, (0, 1, 2), tmp1, (3, 4, 0), (3, 1, 2, 4))
+    del tmp1
+    t2new.aaaa += np.transpose(tmp45, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp45, (0, 1, 3, 2))
+    del tmp45
+    tmp44 = einsum(t2.aaaa, (0, 1, 2, 3), tmp34, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp34
+    t2new.aaaa += tmp44 * -2
+    t2new.aaaa += np.transpose(tmp44, (1, 0, 2, 3)) * 2
+    del tmp44
+    tmp57 = einsum(t2.aaaa, (0, 1, 2, 3), tmp56, (1, 4), (0, 4, 2, 3)) * -2
+    del tmp56
+    t2new.aaaa += np.transpose(tmp57, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp57, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp57, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp57, (0, 1, 3, 2)) * -1
+    del tmp57
+    tmp48 = einsum(tmp47, (0, 1, 2, 3), t2.aaaa, (2, 3, 4, 5), (1, 0, 4, 5)) * -1
+    del tmp47
+    t2new.aaaa += np.transpose(tmp48, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp48, (0, 1, 3, 2)) * -1
+    del tmp48
+    tmp46 = einsum(v.baa.xvv, (0, 1, 2), v.baa.xvv, (0, 3, 4), (1, 3, 4, 2))
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp46, (4, 2, 5, 3), (0, 1, 4, 5)) * -2
+    del tmp46
+    tmp32 = einsum(tmp2, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3))
+    del tmp2
+    t2new.aaaa += np.transpose(tmp32, (1, 0, 2, 3))
+    t2new.aaaa += tmp32 * -1
+    t2new.aaaa += np.transpose(tmp32, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp32, (0, 1, 3, 2))
+    del tmp32
+    tmp52 = einsum(tmp18, (0, 1, 2), v.baa.xov, (2, 0, 3), (1, 3)) * 0.5
+    t2new.aaaa += einsum(tmp52, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 4, 0)) * -4
+    del tmp52
+    tmp39 = einsum(t2.aaaa, (0, 1, 2, 3), tmp38, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp38
+    t2new.aaaa += np.transpose(tmp39, (0, 1, 3, 2)) * 2
+    t2new.aaaa += np.transpose(tmp39, (1, 0, 3, 2)) * -2
+    del tmp39
+    tmp43 = einsum(tmp42, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2)) * -1
+    del tmp42
+    t2new.aaaa += np.transpose(tmp43, (0, 1, 3, 2)) * -1
+    t2new.aaaa += tmp43
+    del tmp43
+    tmp51 = einsum(f.aa.oo, (0, 1), t2.aaaa, (2, 1, 3, 4), (0, 2, 3, 4))
+    t2new.aaaa += np.transpose(tmp51, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp51, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp51, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp51, (1, 0, 3, 2))
+    del tmp51
+    tmp31 = einsum(tmp30, (0, 1, 2), v.baa.xov, (2, 3, 4), (3, 0, 4, 1))
+    del tmp30
+    t2new.aaaa += np.transpose(tmp31, (1, 0, 2, 3)) * -1
+    t2new.aaaa += tmp31
+    del tmp31
+    tmp33 = einsum(tmp17, (0, 1, 2), tmp16, (3, 4, 2), (3, 0, 4, 1))
+    del tmp16, tmp17
+    t2new.aaaa += np.transpose(tmp33, (1, 0, 2, 3)) * -2
+    t2new.aaaa += np.transpose(tmp33, (0, 1, 3, 2)) * -2
+    t2new.aaaa += np.transpose(tmp33, (1, 0, 3, 2)) * 2
+    t2new.aaaa += tmp33 * 2
+    del tmp33
+    tmp55 = np.copy(f.aa.vv) * -1
+    tmp55 += einsum(tmp18, (0, 1, 2), v.baa.xov, (2, 0, 3), (1, 3))
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp55, (4, 3), (0, 1, 4, 2)) * 2
+    del tmp55
+    tmp9 = np.copy(f.aa.ov)
+    tmp9 += tmp4 * -1
+    del tmp4
+    tmp9 += tmp8
+    del tmp8
+    t1new.bb += einsum(t2.abab, (0, 1, 2, 3), tmp9, (0, 2), (1, 3))
+    t1new.aa += einsum(tmp9, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3)) * 2
+    del tmp9
+    tmp19 = np.copy(tmp5)
+    del tmp5
+    tmp19 += tmp6
+    del tmp6
+    t1new.bb += einsum(v.bbb.xov, (0, 1, 2), tmp19, (0,), (1, 2))
+    t1new.aa += einsum(v.baa.xov, (0, 1, 2), tmp19, (0,), (1, 2))
+    del tmp19
+    tmp13 = np.copy(f.bb.ov)
+    tmp13 += tmp11 * -1
+    del tmp11
+    tmp13 += tmp12
+    del tmp12
+    t1new.bb += einsum(tmp13, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3)) * 2
+    t1new.aa += einsum(tmp13, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    del tmp13
+    tmp25 = einsum(v.bbb.xov, (0, 1, 2), tmp10, (3, 4, 0), (3, 1, 4, 2))
+    t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp25, (4, 1, 0, 3), (4, 2)) * -2
+    del tmp25
+    tmp24 = einsum(tmp10, (0, 1, 2), v.baa.xov, (2, 3, 4), (3, 0, 1, 4))
+    del tmp10
+    t1new.bb += einsum(tmp24, (0, 1, 2, 3), t2.abab, (0, 2, 3, 4), (1, 4)) * -1
+    del tmp24
+    tmp14 = einsum(v.baa.xov, (0, 1, 2), tmp3, (3, 4, 0), (3, 1, 4, 2))
+    t1new.aa += einsum(tmp14, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 3), (0, 4)) * -2
+    del tmp14
+    tmp15 = einsum(tmp3, (0, 1, 2), v.bbb.xov, (2, 3, 4), (0, 1, 3, 4))
+    del tmp3
+    t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp15, (4, 0, 1, 3), (4, 2)) * -1
+    del tmp15
+    tmp20 = einsum(v.baa.xov, (0, 1, 2), tmp18, (3, 2, 0), (3, 1))
+    del tmp18
+    t1new.aa += einsum(tmp20, (0, 1), t1.aa, (1, 2), (0, 2)) * -1
+    del tmp20
+    t1new.aa += einsum(f.aa.oo, (0, 1), t1.aa, (1, 2), (0, 2)) * -1
+    t1new.aa += einsum(f.aa.vv, (0, 1), t1.aa, (2, 1), (2, 0))
+    t1new.bb += einsum(t1.bb, (0, 1), f.bb.oo, (2, 0), (2, 1)) * -1
+    t1new.bb += einsum(f.bb.vv, (0, 1), t1.bb, (2, 1), (2, 0))
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), f.aa.vv, (4, 3), (0, 1, 2, 4)) * 2
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), f.bb.oo, (4, 1), (0, 4, 2, 3)) * -1
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), f.aa.oo, (4, 0), (4, 1, 2, 3)) * -1
+    t2new.abab += einsum(f.bb.vv, (0, 1), t2.abab, (2, 3, 4, 1), (2, 3, 4, 0))
+    t2new.bbbb += einsum(t2.bbbb, (0, 1, 2, 3), f.bb.vv, (4, 3), (0, 1, 2, 4)) * 2
+
+    return {f"t1new": t1new, f"t2new": t2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/UMP2/index.html b/reference/codegen/UMP2/index.html new file mode 100644 index 00000000..d3d85671 --- /dev/null +++ b/reference/codegen/UMP2/index.html @@ -0,0 +1,1622 @@ + + + + + + + + UMP2 - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-17T12:50:39.755861
  • +
  • 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.8.0-40-generic
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.UMP2.energy(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:50:40.052651.

+

Parameters

+

t2 : Namespace of arrays + T2 amplitudes. +v : Namespace of arrays + Electron repulsion integrals.

+

Returns

+

e_mp : array

+ +
+ Source code in ebcc/codegen/UMP2.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
def energy(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:50:40.052651.
+
+    Parameters
+    ----------
+    t2 : Namespace of arrays
+        T2 amplitudes.
+    v : Namespace of arrays
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    e_mp : array
+    """
+
+    e_mp = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 2, 1, 3), ())
+    e_mp += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 3), ())
+    e_mp += einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 1, 3), ())
+
+    return e_mp
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UMP2.make_rdm1_f(l2=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:50:40.538044.

+

Parameters

+

l2 : Namespace of arrays + L2 amplitudes. +t2 : Namespace of arrays + T2 amplitudes.

+

Returns

+

rdm1 : Namespace of arrays + One-particle reduced density matrix.

+ +
+ Source code in ebcc/codegen/UMP2.py +
41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
def make_rdm1_f(l2=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:50:40.538044.
+
+    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(t2.aaaa.shape[-1])),
+        bb=Namespace(oo=np.eye(t2.bbbb.shape[0]), vv=np.eye(t2.bbbb.shape[-1])),
+    )
+    rdm1.bb.vv = einsum(l2.bbbb, (0, 1, 2, 3), t2.bbbb, (2, 3, 4, 1), (0, 4)) * 2
+    rdm1.bb.vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 0, 4), (1, 4))
+    rdm1.aa.vv = einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (4, 3, 0, 1), (4, 2)) * 2
+    rdm1.aa.vv += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 3, 4, 1), (0, 4))
+    rdm1.bb.oo = einsum(t2.bbbb, (0, 1, 2, 3), l2.bbbb, (2, 3, 4, 1), (0, 4)) * -2
+    rdm1.bb.oo += delta.bb.oo
+    rdm1.bb.oo += einsum(l2.abab, (0, 1, 2, 3), t2.abab, (2, 4, 0, 1), (4, 3)) * -1
+    rdm1.aa.oo = einsum(l2.abab, (0, 1, 2, 3), t2.abab, (4, 3, 0, 1), (4, 2)) * -1
+    rdm1.aa.oo += delta.aa.oo
+    del delta
+    rdm1.aa.oo += einsum(t2.aaaa, (0, 1, 2, 3), l2.aaaa, (2, 3, 4, 1), (0, 4)) * -2
+    rdm1.aa.ov = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[-1]))
+    rdm1.aa.vo = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[0]))
+    rdm1.bb.ov = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[-1]))
+    rdm1.bb.vo = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[0]))
+    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
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UMP2.make_rdm2_f(l2=None, t2=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:50:40.613028.

+

Parameters

+

l2 : Namespace of arrays + L2 amplitudes. +t2 : Namespace of arrays + T2 amplitudes.

+

Returns

+

rdm2 : Namespace of arrays + Two-particle reduced density matrix.

+ +
+ Source code in ebcc/codegen/UMP2.py +
 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
def make_rdm2_f(l2=None, t2=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:50:40.613028.
+
+    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()
+    rdm2.bbbb.vvoo = np.copy(l2.bbbb) * 2
+    rdm2.abab.vvoo = np.copy(l2.abab)
+    rdm2.aaaa.vvoo = np.copy(l2.aaaa) * 2
+    rdm2.bbbb.oovv = np.copy(t2.bbbb) * 2
+    rdm2.abab.oovv = np.copy(t2.abab)
+    rdm2.aaaa.oovv = np.copy(t2.aaaa) * 2
+    rdm2.aaaa.oooo = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[0]))
+    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.ovov = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[-1]))
+    rdm2.aaaa.ovvo = np.zeros((t2.aaaa.shape[0], t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[0]))
+    rdm2.aaaa.voov = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[0], t2.aaaa.shape[-1]))
+    rdm2.aaaa.vovo = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[0], t2.aaaa.shape[-1], 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.aaaa.vvvv = np.zeros((t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[-1], t2.aaaa.shape[-1]))
+    rdm2.abab.oooo = np.zeros((t2.aaaa.shape[0], t2.bbbb.shape[0], t2.aaaa.shape[0], t2.bbbb.shape[0]))
+    rdm2.abab.ooov = np.zeros((t2.aaaa.shape[0], t2.bbbb.shape[0], t2.aaaa.shape[0], t2.bbbb.shape[-1]))
+    rdm2.abab.oovo = np.zeros((t2.aaaa.shape[0], t2.bbbb.shape[0], t2.aaaa.shape[-1], t2.bbbb.shape[0]))
+    rdm2.abab.ovoo = np.zeros((t2.aaaa.shape[0], t2.bbbb.shape[-1], t2.aaaa.shape[0], t2.bbbb.shape[0]))
+    rdm2.abab.vooo = np.zeros((t2.aaaa.shape[-1], t2.bbbb.shape[0], t2.aaaa.shape[0], t2.bbbb.shape[0]))
+    rdm2.abab.ovov = np.zeros((t2.aaaa.shape[0], t2.bbbb.shape[-1], t2.aaaa.shape[0], t2.bbbb.shape[-1]))
+    rdm2.abab.ovvo = np.zeros((t2.aaaa.shape[0], t2.bbbb.shape[-1], t2.aaaa.shape[-1], t2.bbbb.shape[0]))
+    rdm2.abab.voov = np.zeros((t2.aaaa.shape[-1], t2.bbbb.shape[0], t2.aaaa.shape[0], t2.bbbb.shape[-1]))
+    rdm2.abab.vovo = np.zeros((t2.aaaa.shape[-1], t2.bbbb.shape[0], t2.aaaa.shape[-1], t2.bbbb.shape[0]))
+    rdm2.abab.ovvv = np.zeros((t2.aaaa.shape[0], t2.bbbb.shape[-1], t2.aaaa.shape[-1], t2.bbbb.shape[-1]))
+    rdm2.abab.vovv = np.zeros((t2.aaaa.shape[-1], t2.bbbb.shape[0], t2.aaaa.shape[-1], t2.bbbb.shape[-1]))
+    rdm2.abab.vvov = np.zeros((t2.aaaa.shape[-1], t2.bbbb.shape[-1], t2.aaaa.shape[0], t2.bbbb.shape[-1]))
+    rdm2.abab.vvvo = np.zeros((t2.aaaa.shape[-1], t2.bbbb.shape[-1], t2.aaaa.shape[-1], t2.bbbb.shape[0]))
+    rdm2.abab.vvvv = np.zeros((t2.aaaa.shape[-1], t2.bbbb.shape[-1], t2.aaaa.shape[-1], t2.bbbb.shape[-1]))
+    rdm2.bbbb.oooo = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[0], t2.bbbb.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.ovov = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[-1]))
+    rdm2.bbbb.ovvo = np.zeros((t2.bbbb.shape[0], t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[0]))
+    rdm2.bbbb.voov = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[0], t2.bbbb.shape[-1]))
+    rdm2.bbbb.vovo = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[0], t2.bbbb.shape[-1], 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.bbbb.vvvv = np.zeros((t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[-1], t2.bbbb.shape[-1]))
+    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)),
+    )
+    rdm1 = make_rdm1_f(t2=t2, l2=l2)
+    delta = Namespace(
+        aa=np.diag(np.concatenate([np.ones(t2.aaaa.shape[0]), np.zeros(t2.aaaa.shape[-1])])),
+        bb=np.diag(np.concatenate([np.ones(t2.bbbb.shape[0]), np.zeros(t2.bbbb.shape[-1])])),
+    )
+    rdm1.aa -= delta.aa
+    rdm1.bb -= delta.bb
+    rdm2.aaaa += einsum(delta.aa, (0, 1), rdm1.aa, (3, 2), (0, 1, 2, 3))
+    rdm2.aaaa += einsum(rdm1.aa, (1, 0), delta.aa, (2, 3), (0, 1, 2, 3))
+    rdm2.aaaa -= einsum(delta.aa, (0, 3), rdm1.aa, (2, 1), (0, 1, 2, 3))
+    rdm2.aaaa -= einsum(rdm1.aa, (0, 3), delta.aa, (1, 2), (0, 1, 2, 3))
+    rdm2.aaaa += einsum(delta.aa, (0, 1), delta.aa, (2, 3), (0, 1, 2, 3))
+    rdm2.aaaa -= einsum(delta.aa, (0, 3), delta.aa, (1, 2), (0, 1, 2, 3))
+    rdm2.bbbb += einsum(delta.bb, (0, 1), rdm1.bb, (3, 2), (0, 1, 2, 3))
+    rdm2.bbbb += einsum(rdm1.bb, (1, 0), delta.bb, (2, 3), (0, 1, 2, 3))
+    rdm2.bbbb -= einsum(delta.bb, (0, 3), rdm1.bb, (2, 1), (0, 1, 2, 3))
+    rdm2.bbbb -= einsum(rdm1.bb, (0, 3), delta.bb, (1, 2), (0, 1, 2, 3))
+    rdm2.bbbb += einsum(delta.bb, (0, 1), delta.bb, (2, 3), (0, 1, 2, 3))
+    rdm2.bbbb -= einsum(delta.bb, (0, 3), delta.bb, (1, 2), (0, 1, 2, 3))
+    rdm2.aabb += einsum(delta.aa, (0, 1), rdm1.bb, (3, 2), (0, 1, 2, 3))
+    rdm2.aabb += einsum(rdm1.aa, (1, 0), delta.bb, (2, 3), (0, 1, 2, 3))
+    rdm2.aabb += einsum(delta.aa, (0, 1), delta.bb, (2, 3), (0, 1, 2, 3))
+
+    return rdm2
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UMP2.hbar_matvec_ip_intermediates(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:50:43.552897.

+

Parameters

+

t2 : Namespace of arrays + T2 amplitudes. +v : Namespace of arrays + Electron repulsion integrals.

+

Returns

+

tmp10 : array +tmp12 : array +tmp2 : array +tmp4 : array

+ +
+ Source code in ebcc/codegen/UMP2.py +
187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
def hbar_matvec_ip_intermediates(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:50:43.552897.
+
+    Parameters
+    ----------
+    t2 : Namespace of arrays
+        T2 amplitudes.
+    v : Namespace of arrays
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp10 : array
+    tmp12 : array
+    tmp2 : array
+    tmp4 : array
+    """
+
+    tmp12 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2))
+    tmp10 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 2), (0, 4)) * -1
+    tmp4 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0))
+    tmp2 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 3, 1), (4, 0)) * -1
+
+    return {f"tmp10": tmp10, f"tmp12": tmp12, f"tmp2": tmp2, f"tmp4": tmp4}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UMP2.hbar_matvec_ip(f=None, r1=None, r2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:50:43.558443.

+

Parameters

+

f : Namespace of arrays + Fock matrix. +r1 : Namespace of arrays + R1 amplitudes. +r2 : Namespace of arrays + R2 amplitudes. +v : Namespace of arrays + Electron repulsion integrals.

+

Returns

+

r1new : Namespace of arrays + Updated R1 residuals. +r2new : Namespace of arrays + Updated R2 residuals.

+ +
+ Source code in ebcc/codegen/UMP2.py +
213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
def hbar_matvec_ip(f=None, r1=None, r2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:50:43.558443.
+
+    Parameters
+    ----------
+    f : Namespace of arrays
+        Fock matrix.
+    r1 : Namespace of arrays
+        R1 amplitudes.
+    r2 : Namespace of arrays
+        R2 amplitudes.
+    v : Namespace of arrays
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    r1new : Namespace of arrays
+        Updated R1 residuals.
+    r2new : Namespace of arrays
+        Updated R2 residuals.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp2 = np.copy(ints.tmp10) * 2
+    del ints.tmp10
+    tmp2 += ints.tmp12
+    del ints.tmp12
+    tmp0 = np.copy(ints.tmp2) * 2
+    del ints.tmp2
+    tmp0 += ints.tmp4
+    del ints.tmp4
+    tmp6 = einsum(v.bbbb.ooov, (0, 1, 2, 3), r1.b, (1,), (0, 2, 3))
+    tmp7 = einsum(f.bb.oo, (0, 1), r2.bbb, (2, 1, 3), (0, 2, 3))
+    tmp4 = einsum(v.aaaa.ooov, (0, 1, 2, 3), r1.a, (1,), (0, 2, 3))
+    tmp5 = einsum(f.aa.oo, (0, 1), r2.aaa, (2, 1, 3), (0, 2, 3))
+    tmp3 = np.copy(f.bb.oo) * 2
+    tmp3 += tmp2
+    tmp3 += np.transpose(tmp2, (1, 0))
+    del tmp2
+    tmp1 = np.copy(f.aa.oo) * 2
+    tmp1 += tmp0
+    tmp1 += np.transpose(tmp0, (1, 0))
+    del tmp0
+    r2new.bbb = einsum(f.bb.vv, (0, 1), r2.bbb, (2, 3, 1), (2, 3, 0)) * 2
+    r2new.bbb += tmp6 * -1
+    r2new.bbb += np.transpose(tmp6, (1, 0, 2))
+    del tmp6
+    r2new.bbb += tmp7 * 2
+    r2new.bbb += np.transpose(tmp7, (1, 0, 2)) * -2
+    del tmp7
+    r2new.bab = einsum(r2.bab, (0, 1, 2), f.bb.vv, (3, 2), (0, 1, 3))
+    r2new.bab += einsum(f.bb.oo, (0, 1), r2.bab, (1, 2, 3), (0, 2, 3)) * -1
+    r2new.bab += einsum(v.aabb.ooov, (0, 1, 2, 3), r1.a, (1,), (2, 0, 3))
+    r2new.bab += einsum(f.aa.oo, (0, 1), r2.bab, (2, 1, 3), (2, 0, 3)) * -1
+    r2new.aba = einsum(f.aa.vv, (0, 1), r2.aba, (2, 3, 1), (2, 3, 0))
+    r2new.aba += einsum(v.aabb.ovoo, (0, 1, 2, 3), r1.b, (3,), (0, 2, 1))
+    r2new.aba += einsum(f.bb.oo, (0, 1), r2.aba, (2, 1, 3), (2, 0, 3)) * -1
+    r2new.aba += einsum(f.aa.oo, (0, 1), r2.aba, (1, 2, 3), (0, 2, 3)) * -1
+    r2new.aaa = einsum(r2.aaa, (0, 1, 2), f.aa.vv, (3, 2), (0, 1, 3)) * 2
+    r2new.aaa += tmp4 * -1
+    r2new.aaa += np.transpose(tmp4, (1, 0, 2))
+    del tmp4
+    r2new.aaa += tmp5 * 2
+    r2new.aaa += np.transpose(tmp5, (1, 0, 2)) * -2
+    del tmp5
+    r1new.b = einsum(v.aabb.ovoo, (0, 1, 2, 3), r2.aba, (0, 3, 1), (2,))
+    r1new.b += einsum(v.bbbb.ooov, (0, 1, 2, 3), r2.bbb, (1, 2, 3), (0,)) * -2
+    r1new.b += einsum(tmp3, (0, 1), r1.b, (0,), (1,)) * -0.5
+    del tmp3
+    r1new.a = einsum(v.aaaa.ooov, (0, 1, 2, 3), r2.aaa, (2, 1, 3), (0,)) * 2
+    r1new.a += einsum(r2.bab, (0, 1, 2), v.aabb.ooov, (3, 1, 0, 2), (3,))
+    r1new.a += einsum(r1.a, (0,), tmp1, (0, 1), (1,)) * -0.5
+    del tmp1
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UMP2.hbar_matvec_ea_intermediates(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:50:46.493813.

+

Parameters

+

t2 : Namespace of arrays + T2 amplitudes. +v : Namespace of arrays + Electron repulsion integrals.

+

Returns

+

tmp10 : array +tmp12 : array +tmp2 : array +tmp4 : array

+ +
+ Source code in ebcc/codegen/UMP2.py +
292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
def hbar_matvec_ea_intermediates(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:50:46.493813.
+
+    Parameters
+    ----------
+    t2 : Namespace of arrays
+        T2 amplitudes.
+    v : Namespace of arrays
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp10 : array
+    tmp12 : array
+    tmp2 : array
+    tmp4 : array
+    """
+
+    tmp12 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 4), (4, 3))
+    tmp10 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 3, 1, 4), (2, 4)) * -1
+    tmp4 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (4, 1))
+    tmp2 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 1), (4, 3)) * -1
+
+    return {f"tmp10": tmp10, f"tmp12": tmp12, f"tmp2": tmp2, f"tmp4": tmp4}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UMP2.hbar_matvec_ea(f=None, r1=None, r2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:50:46.498983.

+

Parameters

+

f : Namespace of arrays + Fock matrix. +r1 : Namespace of arrays + R1 amplitudes. +r2 : Namespace of arrays + R2 amplitudes. +v : Namespace of arrays + Electron repulsion integrals.

+

Returns

+

r1new : Namespace of arrays + Updated R1 residuals. +r2new : Namespace of arrays + Updated R2 residuals.

+ +
+ Source code in ebcc/codegen/UMP2.py +
318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
def hbar_matvec_ea(f=None, r1=None, r2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:50:46.498983.
+
+    Parameters
+    ----------
+    f : Namespace of arrays
+        Fock matrix.
+    r1 : Namespace of arrays
+        R1 amplitudes.
+    r2 : Namespace of arrays
+        R2 amplitudes.
+    v : Namespace of arrays
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    r1new : Namespace of arrays
+        Updated R1 residuals.
+    r2new : Namespace of arrays
+        Updated R2 residuals.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp8 = einsum(r1.b, (0,), v.bbbb.ovvv, (1, 2, 3, 0), (1, 2, 3))
+    tmp7 = einsum(f.bb.vv, (0, 1), r2.bbb, (2, 1, 3), (3, 0, 2))
+    tmp5 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), r1.a, (3,), (0, 1, 2))
+    tmp4 = einsum(f.aa.vv, (0, 1), r2.aaa, (2, 1, 3), (3, 0, 2))
+    tmp2 = np.copy(ints.tmp10)
+    del ints.tmp10
+    tmp2 += ints.tmp12 * 0.5
+    del ints.tmp12
+    tmp0 = np.copy(ints.tmp2)
+    del ints.tmp2
+    tmp0 += ints.tmp4 * 0.5
+    del ints.tmp4
+    tmp9 = np.copy(tmp7) * 2
+    del tmp7
+    tmp9 += tmp8
+    del tmp8
+    tmp6 = np.copy(tmp4) * 2
+    del tmp4
+    tmp6 += tmp5
+    del tmp5
+    tmp3 = np.copy(f.bb.vv) * -1
+    tmp3 += tmp2
+    tmp3 += np.transpose(tmp2, (1, 0))
+    del tmp2
+    tmp1 = np.copy(f.aa.vv) * -1
+    tmp1 += tmp0
+    tmp1 += np.transpose(tmp0, (1, 0))
+    del tmp0
+    r2new.bbb = einsum(f.bb.oo, (0, 1), r2.bbb, (2, 3, 1), (2, 3, 0)) * -2
+    r2new.bbb += np.transpose(tmp9, (1, 2, 0)) * -1
+    r2new.bbb += np.transpose(tmp9, (2, 1, 0))
+    del tmp9
+    r2new.bab = einsum(r2.bab, (0, 1, 2), f.bb.vv, (3, 0), (3, 1, 2))
+    r2new.bab += einsum(f.aa.vv, (0, 1), r2.bab, (2, 1, 3), (2, 0, 3))
+    r2new.bab += einsum(v.aabb.vvov, (0, 1, 2, 3), r1.a, (1,), (3, 0, 2)) * -1
+    r2new.bab += einsum(f.bb.oo, (0, 1), r2.bab, (2, 3, 1), (2, 3, 0)) * -1
+    r2new.aba = einsum(f.aa.vv, (0, 1), r2.aba, (1, 2, 3), (0, 2, 3))
+    r2new.aba += einsum(r2.aba, (0, 1, 2), f.bb.vv, (3, 1), (0, 3, 2))
+    r2new.aba += einsum(r1.b, (0,), v.aabb.ovvv, (1, 2, 3, 0), (2, 3, 1)) * -1
+    r2new.aba += einsum(f.aa.oo, (0, 1), r2.aba, (2, 3, 1), (2, 3, 0)) * -1
+    r2new.aaa = einsum(f.aa.oo, (0, 1), r2.aaa, (2, 3, 1), (2, 3, 0)) * -2
+    r2new.aaa += np.transpose(tmp6, (1, 2, 0)) * -1
+    r2new.aaa += np.transpose(tmp6, (2, 1, 0))
+    del tmp6
+    r1new.b = einsum(v.bbbb.ovvv, (0, 1, 2, 3), r2.bbb, (3, 1, 0), (2,)) * 2
+    r1new.b += einsum(r2.aba, (0, 1, 2), v.aabb.ovvv, (2, 0, 3, 1), (3,)) * -1
+    r1new.b += einsum(r1.b, (0,), tmp3, (0, 1), (1,)) * -1
+    del tmp3
+    r1new.a = einsum(v.aabb.vvov, (0, 1, 2, 3), r2.bab, (3, 1, 2), (0,)) * -1
+    r1new.a += einsum(v.aaaa.ovvv, (0, 1, 2, 3), r2.aaa, (1, 3, 0), (2,)) * -2
+    r1new.a += einsum(tmp1, (0, 1), r1.a, (0,), (1,)) * -1
+    del tmp1
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UMP2.hbar_matvec_ee_intermediates(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:50:53.173336.

+

Parameters

+

t2 : Namespace of arrays + T2 amplitudes. +v : Namespace of arrays + Electron repulsion integrals.

+

Returns

+

tmp17 : array +tmp19 : array +tmp2 : array +tmp23 : array +tmp25 : array +tmp32 : array +tmp34 : array +tmp4 : array

+ +
+ Source code in ebcc/codegen/UMP2.py +
399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
def hbar_matvec_ee_intermediates(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:50:53.173336.
+
+    Parameters
+    ----------
+    t2 : Namespace of arrays
+        T2 amplitudes.
+    v : Namespace of arrays
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    tmp17 : array
+    tmp19 : array
+    tmp2 : array
+    tmp23 : array
+    tmp25 : array
+    tmp32 : array
+    tmp34 : array
+    tmp4 : array
+    """
+
+    tmp34 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 3), (4, 2))
+    tmp32 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (4, 3, 1, 2), (0, 4)) * -1
+    tmp25 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 1, 4), (4, 3))
+    tmp23 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (0, 2, 4, 3), (4, 1))
+    tmp19 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0))
+    tmp17 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (4, 2, 3, 1), (4, 0)) * -1
+    tmp4 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (4, 1))
+    tmp2 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 1), (4, 3)) * -1
+
+    return {f"tmp17": tmp17, f"tmp19": tmp19, f"tmp2": tmp2, f"tmp23": tmp23, f"tmp25": tmp25, f"tmp32": tmp32, f"tmp34": tmp34, f"tmp4": tmp4}
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UMP2.hbar_matvec_ee(f=None, r1=None, r2=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-17T12:50:53.183561.

+

Parameters

+

f : Namespace of arrays + Fock matrix. +r1 : Namespace of arrays + R1 amplitudes. +r2 : Namespace of arrays + R2 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.

+ +
+ Source code in ebcc/codegen/UMP2.py +
433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
def hbar_matvec_ee(f=None, r1=None, r2=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-17T12:50:53.183561.
+
+    Parameters
+    ----------
+    f : Namespace of arrays
+        Fock matrix.
+    r1 : Namespace of arrays
+        R1 amplitudes.
+    r2 : Namespace of arrays
+        R2 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.
+    """
+
+    ints = kwargs["ints"]
+    r1new = Namespace()
+    r2new = Namespace()
+    tmp5 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1)))
+    tmp5 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1
+    tmp1 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) * -1
+    tmp1 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp20 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), r1.bb, (4, 3), (4, 0, 1, 2))
+    tmp19 = einsum(r1.bb, (0, 1), v.bbbb.ooov, (2, 0, 3, 4), (2, 3, 1, 4))
+    tmp15 = einsum(v.aaaa.ovvv, (0, 1, 2, 3), r1.aa, (4, 3), (4, 0, 1, 2))
+    tmp14 = einsum(r1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4))
+    tmp6 = einsum(tmp5, (0, 1, 2, 3), r1.bb, (0, 2), (1, 3))
+    del tmp5
+    tmp4 = einsum(v.aabb.ovov, (0, 1, 2, 3), r1.aa, (0, 1), (2, 3))
+    tmp0 = einsum(r1.bb, (0, 1), v.aabb.ovov, (2, 3, 0, 1), (2, 3))
+    tmp2 = einsum(r1.aa, (0, 1), tmp1, (0, 2, 3, 1), (2, 3))
+    del tmp1
+    tmp23 = einsum(f.bb.vv, (0, 1), r2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4))
+    tmp22 = einsum(f.bb.oo, (0, 1), r2.bbbb, (2, 1, 3, 4), (0, 2, 3, 4))
+    tmp21 = np.copy(tmp19)
+    del tmp19
+    tmp21 += tmp20
+    del tmp20
+    tmp16 = np.copy(tmp14)
+    del tmp14
+    tmp16 += tmp15
+    del tmp15
+    tmp18 = einsum(r2.aaaa, (0, 1, 2, 3), f.aa.vv, (4, 3), (0, 1, 4, 2))
+    tmp17 = einsum(r2.aaaa, (0, 1, 2, 3), f.aa.oo, (4, 1), (4, 0, 2, 3))
+    tmp13 = np.copy(f.bb.oo)
+    tmp13 += np.transpose(ints.tmp32, (1, 0)) * 2
+    del ints.tmp32
+    tmp13 += np.transpose(ints.tmp34, (1, 0))
+    del ints.tmp34
+    tmp7 = np.copy(tmp4)
+    tmp7 += tmp6 * -1
+    del tmp6
+    tmp11 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3)))
+    tmp11 += v.bbbb.oovv * -1
+    tmp3 = np.copy(tmp0)
+    tmp3 += tmp2 * -1
+    del tmp2
+    tmp12 = np.copy(np.transpose(ints.tmp23, (1, 0))) * 2
+    del ints.tmp23
+    tmp12 += np.transpose(ints.tmp25, (1, 0))
+    del ints.tmp25
+    tmp12 += f.bb.vv * -1
+    tmp9 = np.copy(np.transpose(ints.tmp2, (1, 0))) * 2
+    del ints.tmp2
+    tmp9 += np.transpose(ints.tmp4, (1, 0))
+    del ints.tmp4
+    tmp9 += f.aa.vv * -1
+    tmp10 = np.copy(f.aa.oo)
+    tmp10 += np.transpose(ints.tmp17, (1, 0)) * 2
+    del ints.tmp17
+    tmp10 += np.transpose(ints.tmp19, (1, 0))
+    del ints.tmp19
+    tmp8 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3)))
+    tmp8 += v.aaaa.oovv * -1
+    r2new.bbbb = np.copy(tmp21) * -1
+    r2new.bbbb += np.transpose(tmp21, (0, 1, 3, 2))
+    r2new.bbbb += np.transpose(tmp21, (1, 0, 2, 3))
+    r2new.bbbb += np.transpose(tmp21, (1, 0, 3, 2)) * -1
+    del tmp21
+    r2new.bbbb += np.transpose(tmp22, (0, 1, 3, 2)) * -2
+    r2new.bbbb += np.transpose(tmp22, (1, 0, 3, 2)) * 2
+    del tmp22
+    r2new.bbbb += np.transpose(tmp23, (1, 0, 2, 3)) * 2
+    r2new.bbbb += np.transpose(tmp23, (1, 0, 3, 2)) * -2
+    del tmp23
+    r2new.abab = einsum(r1.aa, (0, 1), v.aabb.vvov, (2, 1, 3, 4), (0, 3, 2, 4))
+    r2new.abab += einsum(f.aa.vv, (0, 1), r2.abab, (2, 3, 1, 4), (2, 3, 0, 4))
+    r2new.abab += einsum(r2.abab, (0, 1, 2, 3), f.bb.vv, (4, 3), (0, 1, 2, 4))
+    r2new.abab += einsum(r1.bb, (0, 1), v.aabb.ovvv, (2, 3, 4, 1), (2, 0, 3, 4))
+    r2new.abab += einsum(f.aa.oo, (0, 1), r2.abab, (1, 2, 3, 4), (0, 2, 3, 4)) * -1
+    r2new.abab += einsum(v.aabb.ooov, (0, 1, 2, 3), r1.aa, (1, 4), (0, 2, 4, 3)) * -1
+    r2new.abab += einsum(f.bb.oo, (0, 1), r2.abab, (2, 1, 3, 4), (2, 0, 3, 4)) * -1
+    r2new.abab += einsum(v.aabb.ovoo, (0, 1, 2, 3), r1.bb, (3, 4), (0, 2, 1, 4)) * -1
+    r2new.aaaa = np.copy(tmp16) * -1
+    r2new.aaaa += np.transpose(tmp16, (0, 1, 3, 2))
+    r2new.aaaa += np.transpose(tmp16, (1, 0, 2, 3))
+    r2new.aaaa += np.transpose(tmp16, (1, 0, 3, 2)) * -1
+    del tmp16
+    r2new.aaaa += np.transpose(tmp17, (0, 1, 3, 2)) * -2
+    r2new.aaaa += np.transpose(tmp17, (1, 0, 3, 2)) * 2
+    del tmp17
+    r2new.aaaa += np.transpose(tmp18, (1, 0, 2, 3)) * 2
+    r2new.aaaa += np.transpose(tmp18, (1, 0, 3, 2)) * -2
+    del tmp18
+    r1new.bb = einsum(r2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (1, 3, 4, 2), (0, 4)) * 2
+    r1new.bb += einsum(v.aabb.ovoo, (0, 1, 2, 3), r2.abab, (0, 3, 1, 4), (2, 4)) * -1
+    r1new.bb += einsum(v.bbbb.ooov, (0, 1, 2, 3), r2.bbbb, (1, 2, 4, 3), (0, 4)) * -2
+    r1new.bb += tmp4
+    del tmp4
+    r1new.bb += einsum(v.aabb.ovvv, (0, 1, 2, 3), r2.abab, (0, 4, 1, 3), (4, 2))
+    r1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), tmp7, (1, 3), (0, 2)) * 2
+    r1new.bb += einsum(t2.abab, (0, 1, 2, 3), tmp3, (0, 2), (1, 3))
+    r1new.bb += einsum(tmp11, (0, 1, 2, 3), r1.bb, (0, 2), (1, 3))
+    del tmp11
+    r1new.bb += einsum(r1.bb, (0, 1), tmp12, (1, 2), (0, 2)) * -1
+    del tmp12
+    r1new.bb += einsum(r1.bb, (0, 1), tmp13, (0, 2), (2, 1)) * -1
+    del tmp13
+    r1new.aa = einsum(v.aabb.ooov, (0, 1, 2, 3), r2.abab, (1, 2, 4, 3), (0, 4)) * -1
+    r1new.aa += einsum(v.aabb.vvov, (0, 1, 2, 3), r2.abab, (4, 2, 1, 3), (4, 0))
+    r1new.aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), r2.aaaa, (2, 1, 4, 3), (0, 4)) * 2
+    r1new.aa += tmp0
+    del tmp0
+    r1new.aa += einsum(v.aaaa.ovvv, (0, 1, 2, 3), r2.aaaa, (4, 0, 3, 1), (4, 2)) * 2
+    r1new.aa += einsum(tmp3, (0, 1), t2.aaaa, (2, 0, 3, 1), (2, 3)) * 2
+    del tmp3
+    r1new.aa += einsum(tmp7, (0, 1), t2.abab, (2, 0, 3, 1), (2, 3))
+    del tmp7
+    r1new.aa += einsum(r1.aa, (0, 1), tmp8, (0, 2, 1, 3), (2, 3))
+    del tmp8
+    r1new.aa += einsum(tmp9, (0, 1), r1.aa, (2, 0), (2, 1)) * -1
+    del tmp9
+    r1new.aa += einsum(r1.aa, (0, 1), tmp10, (0, 2), (2, 1)) * -1
+    del tmp10
+    r2new.baba = np.transpose(r2new.abab, (1, 0, 3, 2))
+
+    return {f"r1new": r1new, f"r2new": r2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/UMP3/index.html b/reference/codegen/UMP3/index.html new file mode 100644 index 00000000..3379511d --- /dev/null +++ b/reference/codegen/UMP3/index.html @@ -0,0 +1,376 @@ + + + + + + + + UMP3 - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-09T21:27:32.086295
  • +
  • python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0]
  • +
  • albert version: 0.0.0
  • +
  • caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py
  • +
  • node: fv-az1487-369
  • +
  • system: Linux
  • +
  • processor: x86_64
  • +
  • release: 6.5.0-1025-azure
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.UMP3.energy(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T21:27:38.705629.

+

Parameters

+

t2 : Namespace of arrays + T2 amplitudes. +v : Namespace of arrays + Electron repulsion integrals.

+

Returns

+

e_mp : array

+ +
+ Source code in ebcc/codegen/UMP3.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
def energy(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T21:27:38.705629.
+
+    Parameters
+    ----------
+    t2 : Namespace of arrays
+        T2 amplitudes.
+    v : Namespace of arrays
+        Electron repulsion integrals.
+
+    Returns
+    -------
+    e_mp : array
+    """
+
+    tmp5 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3)))
+    tmp5 += v.bbbb.oovv * -1
+    tmp3 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3)))
+    tmp3 += v.aaaa.oovv * -1
+    tmp9 = np.copy(np.transpose(v.aabb.ovov, (0, 2, 1, 3)))
+    tmp9 += einsum(v.aabb.oovv, (0, 1, 2, 3), t2.abab, (1, 4, 5, 3), (0, 4, 5, 2)) * -1
+    tmp9 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvoo, (4, 2, 5, 1), (0, 5, 4, 3)) * -1
+    tmp9 += einsum(v.aabb.vvvv, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp9 += einsum(tmp5, (0, 1, 2, 3), t2.abab, (4, 0, 5, 2), (4, 1, 5, 3))
+    e_mp = einsum(t2.abab, (0, 1, 2, 3), tmp9, (0, 1, 2, 3), ())
+    del tmp9
+    tmp4 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3))) * -0.25
+    tmp4 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 5, 3), (0, 4, 5, 1))
+    tmp4 += einsum(v.aaaa.vvvv, (0, 1, 2, 3), t2.aaaa, (4, 5, 3, 1), (4, 5, 0, 2)) * 0.25
+    tmp4 += einsum(t2.aaaa, (0, 1, 2, 3), tmp3, (1, 4, 3, 5), (4, 0, 2, 5))
+    del tmp3
+    e_mp += einsum(t2.aaaa, (0, 1, 2, 3), tmp4, (0, 1, 3, 2), ()) * 4
+    del tmp4
+    tmp6 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 1, 3))) * -1
+    tmp6 += einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 4, 1, 5), (2, 4, 5, 3)) * 4
+    tmp6 += einsum(v.bbbb.vvvv, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2)) * -1
+    tmp6 += einsum(t2.bbbb, (0, 1, 2, 3), tmp5, (1, 4, 3, 5), (4, 0, 2, 5)) * 4
+    del tmp5
+    e_mp += einsum(t2.bbbb, (0, 1, 2, 3), tmp6, (0, 1, 3, 2), ())
+    del tmp6
+    tmp8 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 1, 3)))
+    tmp8 += v.aaaa.oovv * -1
+    tmp0 = 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), tmp0, (1, 0, 2, 3), ())
+    del tmp0
+    tmp2 = einsum(t2.abab, (0, 1, 2, 3), t2.abab, (4, 5, 2, 3), (0, 4, 1, 5))
+    e_mp += einsum(v.aabb.oooo, (0, 1, 2, 3), tmp2, (1, 0, 3, 2), ())
+    del tmp2
+    tmp7 = einsum(t2.abab, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2))
+    e_mp += einsum(tmp7, (0, 1, 2, 3), tmp8, (0, 1, 2, 3), ())
+    del tmp7, tmp8
+    tmp1 = einsum(t2.bbbb, (0, 1, 2, 3), t2.bbbb, (4, 5, 2, 3), (4, 0, 1, 5))
+    e_mp += einsum(v.bbbb.oooo, (0, 1, 2, 3), tmp1, (1, 0, 2, 3), ())
+    del tmp1
+
+    return e_mp
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/UQCISD/index.html b/reference/codegen/UQCISD/index.html new file mode 100644 index 00000000..a53dc0d2 --- /dev/null +++ b/reference/codegen/UQCISD/index.html @@ -0,0 +1,1035 @@ + + + + + + + + UQCISD - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Code generated by albert: +https://github.com/obackhouse/albert

+
    +
  • date: 2024-08-09T21:54:59.878219
  • +
  • python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0]
  • +
  • albert version: 0.0.0
  • +
  • caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py
  • +
  • node: fv-az1487-369
  • +
  • system: Linux
  • +
  • processor: x86_64
  • +
  • release: 6.5.0-1025-azure
  • +
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.codegen.UQCISD.energy(t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T21:55:00.400217.

+

Parameters

+

t2 : Namespace of arrays + T2 amplitudes. +v : Namespace of arrays + Electron repulsion integrals.

+

Returns

+

e_cc : float + Coupled cluster energy.

+ +
+ Source code in ebcc/codegen/UQCISD.py +
19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
def energy(t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T21:55:00.400217.
+
+    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.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.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (0, 2, 1, 3), ())
+
+    return e_cc
+
+
+
+ +
+ +
+ + +

+ ebcc.codegen.UQCISD.update_amps(f=None, t1=None, t2=None, v=None, **kwargs) + +

+ + +
+ +

Code generated by albert 0.0.0 on 2024-08-09T21:55:18.784008.

+

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.

+ +
+ Source code in ebcc/codegen/UQCISD.py +
 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
def update_amps(f=None, t1=None, t2=None, v=None, **kwargs):
+    """
+    Code generated by `albert` 0.0.0 on 2024-08-09T21:55:18.784008.
+
+    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()
+    tmp57 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1)))
+    tmp57 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3)) * -1
+    tmp22 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1)))
+    tmp22 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3)) * -1
+    tmp16 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 3, 1), (4, 0)) * -1
+    tmp15 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 3), (1, 4))
+    tmp58 = einsum(t2.bbbb, (0, 1, 2, 3), tmp57, (1, 4, 5, 3), (0, 4, 2, 5))
+    del tmp57
+    tmp26 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1))) * -1
+    tmp26 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    tmp23 = einsum(t2.aaaa, (0, 1, 2, 3), tmp22, (1, 4, 5, 3), (0, 4, 2, 5))
+    tmp11 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (4, 2, 1, 3), (4, 0))
+    tmp10 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 2, 1, 3), (0, 4))
+    tmp5 = np.copy(np.transpose(v.bbbb.ovov, (0, 2, 3, 1))) * -1
+    tmp5 += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    tmp1 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) * -1
+    tmp1 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp46 = einsum(t2.bbbb, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (4, 0, 5, 2))
+    t2new.abab = np.copy(tmp46) * 2
+    tmp17 = np.copy(tmp15)
+    tmp17 += tmp16 * 2
+    t1new.bb = einsum(t1.bb, (0, 1), tmp17, (2, 0), (2, 1)) * -1
+    tmp44 = einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovov, (0, 4, 1, 3), (2, 4))
+    tmp43 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 1, 4), (3, 4))
+    tmp64 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 5, 1, 3), (4, 5, 0, 2))
+    tmp61 = einsum(tmp22, (0, 1, 2, 3), t2.abab, (0, 4, 3, 5), (1, 4, 2, 5))
+    del tmp22
+    tmp59 = np.copy(v.bbbb.oovv)
+    tmp59 += tmp58 * -2
+    del tmp58
+    tmp48 = np.copy(np.transpose(v.aaaa.ovov, (0, 2, 3, 1))) * -1
+    tmp48 += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    tmp20 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    t2new.aaaa = np.copy(tmp20)
+    t2new.aaaa += np.transpose(tmp20, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp20, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp20, (1, 0, 3, 2))
+    tmp34 = einsum(v.aaaa.ovov, (0, 1, 2, 3), t2.aaaa, (0, 2, 4, 3), (4, 1))
+    tmp35 = einsum(v.aabb.ovov, (0, 1, 2, 3), t2.abab, (0, 2, 4, 3), (4, 1))
+    tmp27 = einsum(tmp26, (0, 1, 2, 3), t2.abab, (4, 0, 5, 3), (4, 1, 5, 2))
+    del tmp26
+    tmp50 = einsum(t2.aaaa, (0, 1, 2, 3), v.aabb.ovov, (1, 3, 4, 5), (0, 4, 2, 5))
+    t2new.abab += tmp50 * 2
+    tmp24 = np.copy(v.aaaa.oovv)
+    tmp24 += tmp23 * -2
+    del tmp23
+    tmp30 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 3, 5, 2), (0, 1, 4, 5)) * -1
+    tmp39 = np.copy(tmp10) * 2
+    tmp39 += tmp11
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp39, (4, 0), (4, 1, 2, 3)) * -1
+    tmp6 = einsum(t1.bb, (0, 1), tmp5, (0, 2, 3, 1), (2, 3))
+    del tmp5
+    tmp4 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.aa, (0, 1), (2, 3))
+    t1new.bb += tmp4
+    tmp2 = einsum(tmp1, (0, 1, 2, 3), t1.aa, (0, 3), (1, 2))
+    del tmp1
+    tmp0 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.bb, (2, 3), (0, 1))
+    t1new.aa = np.copy(tmp0)
+    tmp66 = einsum(v.bbbb.oooo, (0, 1, 2, 3), t2.bbbb, (3, 1, 4, 5), (0, 2, 4, 5)) * -1
+    t2new.bbbb = np.copy(np.transpose(tmp66, (1, 0, 3, 2))) * 0.5
+    t2new.bbbb += np.transpose(tmp66, (1, 0, 3, 2)) * 0.5
+    t2new.bbbb += np.transpose(tmp66, (1, 0, 3, 2)) * 0.5
+    t2new.bbbb += np.transpose(tmp66, (1, 0, 3, 2)) * 0.5
+    del tmp66
+    tmp56 = einsum(t2.abab, (0, 1, 2, 3), tmp46, (0, 4, 2, 5), (1, 4, 3, 5))
+    del tmp46
+    t2new.bbbb += np.transpose(tmp56, (1, 0, 2, 3)) * -2
+    t2new.bbbb += np.transpose(tmp56, (0, 1, 3, 2)) * -2
+    t2new.bbbb += np.transpose(tmp56, (1, 0, 3, 2)) * 2
+    t2new.bbbb += tmp56 * 2
+    del tmp56
+    tmp70 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 2, 4, 5), (1, 4, 3, 5))
+    t2new.bbbb += tmp70
+    t2new.bbbb += np.transpose(tmp70, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp70, (1, 0, 2, 3)) * -1
+    t2new.bbbb += np.transpose(tmp70, (1, 0, 3, 2))
+    del tmp70
+    tmp72 = einsum(t2.bbbb, (0, 1, 2, 3), tmp17, (4, 1), (0, 4, 2, 3)) * -1
+    del tmp17
+    t2new.bbbb += np.transpose(tmp72, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp72, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp72, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp72, (0, 1, 3, 2)) * -1
+    del tmp72
+    tmp63 = einsum(v.bbbb.oovv, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 5, 2))
+    t2new.bbbb += tmp63 * -2
+    t2new.bbbb += np.transpose(tmp63, (1, 0, 2, 3)) * 2
+    del tmp63
+    tmp71 = np.copy(f.bb.vv) * -1
+    tmp71 += tmp43
+    tmp71 += tmp44 * 2
+    t2new.bbbb += einsum(tmp71, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 0, 4)) * 2
+    del tmp71
+    tmp69 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t2.bbbb, (4, 2, 5, 3), (4, 0, 5, 1))
+    t2new.bbbb += tmp69 * 2
+    t2new.bbbb += np.transpose(tmp69, (0, 1, 3, 2)) * -2
+    t2new.bbbb += np.transpose(tmp69, (1, 0, 2, 3)) * -2
+    t2new.bbbb += np.transpose(tmp69, (1, 0, 3, 2)) * 2
+    del tmp69
+    tmp68 = np.copy(tmp43) * 0.5
+    tmp68 += tmp44
+    t2new.bbbb += einsum(tmp68, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 4, 0)) * -4
+    del tmp68
+    tmp67 = einsum(t2.bbbb, (0, 1, 2, 3), f.bb.oo, (4, 1), (4, 0, 2, 3))
+    t2new.bbbb += np.transpose(tmp67, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp67, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp67, (1, 0, 3, 2))
+    t2new.bbbb += np.transpose(tmp67, (1, 0, 3, 2))
+    del tmp67
+    tmp65 = einsum(tmp64, (0, 1, 2, 3), t2.bbbb, (3, 2, 4, 5), (1, 0, 4, 5))
+    del tmp64
+    t2new.bbbb += np.transpose(tmp65, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp65, (0, 1, 3, 2)) * -1
+    del tmp65
+    tmp55 = einsum(v.bbbb.ooov, (0, 1, 2, 3), t1.bb, (1, 4), (0, 2, 4, 3))
+    t2new.bbbb += np.transpose(tmp55, (1, 0, 2, 3))
+    t2new.bbbb += tmp55 * -1
+    t2new.bbbb += np.transpose(tmp55, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp55, (0, 1, 3, 2))
+    del tmp55
+    tmp54 = einsum(v.bbbb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 1, 2))
+    t2new.bbbb += np.transpose(tmp54, (1, 0, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp54, (0, 1, 3, 2))
+    t2new.bbbb += tmp54 * -1
+    t2new.bbbb += np.transpose(tmp54, (1, 0, 2, 3))
+    del tmp54
+    tmp62 = einsum(t2.abab, (0, 1, 2, 3), tmp61, (0, 4, 2, 5), (1, 4, 3, 5))
+    del tmp61
+    t2new.bbbb += np.transpose(tmp62, (0, 1, 3, 2)) * -1
+    t2new.bbbb += np.transpose(tmp62, (1, 0, 3, 2))
+    del tmp62
+    tmp60 = einsum(tmp59, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (4, 0, 5, 2))
+    del tmp59
+    t2new.bbbb += np.transpose(tmp60, (0, 1, 3, 2)) * 2
+    t2new.bbbb += np.transpose(tmp60, (1, 0, 3, 2)) * -2
+    del tmp60
+    tmp45 = np.copy(tmp43)
+    del tmp43
+    tmp45 += tmp44 * 2
+    del tmp44
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp45, (4, 3), (0, 1, 2, 4)) * -1
+    del tmp45
+    tmp49 = np.copy(v.aaaa.oovv)
+    tmp49 += np.transpose(tmp20, (1, 0, 3, 2)) * -1
+    tmp49 += einsum(t2.aaaa, (0, 1, 2, 3), tmp48, (1, 4, 5, 3), (4, 0, 5, 2)) * 2
+    del tmp48
+    t2new.abab += einsum(tmp49, (0, 1, 2, 3), t2.abab, (0, 4, 2, 5), (1, 4, 3, 5)) * -1
+    del tmp49
+    tmp47 = np.copy(f.aa.vv) * -1
+    tmp47 += np.transpose(tmp34, (1, 0)) * 2
+    tmp47 += np.transpose(tmp35, (1, 0))
+    t2new.abab += einsum(tmp47, (0, 1), t2.abab, (2, 3, 0, 4), (2, 3, 1, 4)) * -1
+    del tmp47
+    tmp42 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.oooo, (4, 0, 5, 1), (4, 5, 2, 3))
+    t2new.abab += tmp42 * 0.5
+    t2new.abab += tmp42 * 0.5
+    del tmp42
+    tmp52 = einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (4, 2, 5, 3), (0, 4, 1, 5))
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp52, (4, 0, 5, 1), (4, 5, 2, 3))
+    del tmp52
+    tmp51 = np.copy(tmp50) * 2
+    del tmp50
+    tmp51 += tmp27 * -1
+    t2new.abab += einsum(tmp51, (0, 1, 2, 3), t2.bbbb, (4, 1, 5, 3), (0, 4, 2, 5)) * 2
+    del tmp51
+    tmp41 = np.copy(np.transpose(v.aabb.vvoo, (2, 3, 0, 1)))
+    tmp41 += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovov, (0, 4, 5, 3), (5, 1, 4, 2)) * -1
+    t2new.abab += einsum(tmp41, (0, 1, 2, 3), t2.abab, (4, 0, 2, 5), (4, 1, 3, 5)) * -1
+    del tmp41
+    tmp53 = np.copy(tmp15) * 0.5
+    del tmp15
+    tmp53 += tmp16
+    del tmp16
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), tmp53, (4, 1), (0, 4, 2, 3)) * -2
+    del tmp53
+    tmp28 = einsum(tmp27, (0, 1, 2, 3), t2.abab, (4, 1, 5, 3), (4, 0, 5, 2)) * -1
+    del tmp27
+    t2new.aaaa += np.transpose(tmp28, (1, 0, 2, 3)) * -1
+    t2new.aaaa += np.transpose(tmp28, (1, 0, 3, 2))
+    del tmp28
+    tmp19 = einsum(t1.aa, (0, 1), v.aaaa.ooov, (2, 0, 3, 4), (2, 3, 1, 4))
+    t2new.aaaa += np.transpose(tmp19, (1, 0, 2, 3))
+    t2new.aaaa += tmp19 * -1
+    t2new.aaaa += np.transpose(tmp19, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp19, (0, 1, 3, 2))
+    del tmp19
+    tmp33 = einsum(t2.aaaa, (0, 1, 2, 3), f.aa.oo, (4, 1), (4, 0, 2, 3))
+    t2new.aaaa += np.transpose(tmp33, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp33, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp33, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp33, (1, 0, 3, 2))
+    del tmp33
+    tmp25 = einsum(t2.aaaa, (0, 1, 2, 3), tmp24, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp24
+    t2new.aaaa += np.transpose(tmp25, (0, 1, 3, 2)) * 2
+    t2new.aaaa += np.transpose(tmp25, (1, 0, 3, 2)) * -2
+    del tmp25
+    tmp32 = einsum(v.aaaa.oooo, (0, 1, 2, 3), t2.aaaa, (1, 3, 4, 5), (0, 2, 4, 5))
+    t2new.aaaa += np.transpose(tmp32, (1, 0, 3, 2)) * 0.5
+    t2new.aaaa += np.transpose(tmp32, (1, 0, 3, 2)) * 0.5
+    t2new.aaaa += np.transpose(tmp32, (1, 0, 3, 2)) * 0.5
+    t2new.aaaa += np.transpose(tmp32, (1, 0, 3, 2)) * 0.5
+    del tmp32
+    tmp31 = einsum(tmp30, (0, 1, 2, 3), t2.aaaa, (3, 2, 4, 5), (1, 0, 4, 5))
+    del tmp30
+    t2new.aaaa += np.transpose(tmp31, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp31, (0, 1, 3, 2)) * -1
+    del tmp31
+    tmp29 = einsum(v.aaaa.oovv, (0, 1, 2, 3), t2.aaaa, (4, 1, 5, 3), (4, 0, 5, 2))
+    t2new.aaaa += tmp29 * -2
+    t2new.aaaa += np.transpose(tmp29, (1, 0, 2, 3)) * 2
+    del tmp29
+    tmp40 = einsum(t2.aaaa, (0, 1, 2, 3), tmp39, (4, 1), (0, 4, 2, 3)) * -1
+    del tmp39
+    t2new.aaaa += np.transpose(tmp40, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp40, (1, 0, 3, 2))
+    t2new.aaaa += np.transpose(tmp40, (0, 1, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp40, (0, 1, 3, 2)) * -1
+    del tmp40
+    tmp36 = np.copy(tmp34)
+    tmp36 += tmp35 * 0.5
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), tmp36, (4, 3), (0, 1, 2, 4)) * -4
+    del tmp36
+    tmp37 = einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 1, 3), (0, 4, 2, 5))
+    t2new.aaaa += tmp37 * 2
+    t2new.aaaa += np.transpose(tmp37, (0, 1, 3, 2)) * -2
+    t2new.aaaa += np.transpose(tmp37, (1, 0, 2, 3)) * -2
+    t2new.aaaa += np.transpose(tmp37, (1, 0, 3, 2)) * 2
+    del tmp37
+    tmp38 = np.copy(f.aa.vv) * -1
+    tmp38 += tmp34 * 2
+    del tmp34
+    tmp38 += tmp35
+    del tmp35
+    t2new.aaaa += einsum(tmp38, (0, 1), t2.aaaa, (2, 3, 4, 1), (2, 3, 0, 4)) * 2
+    del tmp38
+    tmp21 = einsum(t2.aaaa, (0, 1, 2, 3), tmp20, (4, 1, 5, 3), (0, 4, 2, 5))
+    del tmp20
+    t2new.aaaa += np.transpose(tmp21, (1, 0, 2, 3)) * -2
+    t2new.aaaa += np.transpose(tmp21, (0, 1, 3, 2)) * -2
+    t2new.aaaa += np.transpose(tmp21, (1, 0, 3, 2)) * 2
+    t2new.aaaa += tmp21 * 2
+    del tmp21
+    tmp18 = einsum(t1.aa, (0, 1), v.aaaa.ovvv, (2, 3, 4, 1), (0, 2, 3, 4))
+    t2new.aaaa += np.transpose(tmp18, (1, 0, 3, 2)) * -1
+    t2new.aaaa += np.transpose(tmp18, (0, 1, 3, 2))
+    t2new.aaaa += tmp18 * -1
+    t2new.aaaa += np.transpose(tmp18, (1, 0, 2, 3))
+    del tmp18
+    tmp7 = np.copy(f.bb.ov)
+    tmp7 += tmp4
+    del tmp4
+    tmp7 += tmp6 * -1
+    del tmp6
+    t1new.bb += einsum(tmp7, (0, 1), t2.bbbb, (2, 0, 3, 1), (2, 3)) * 2
+    t1new.aa += einsum(t2.abab, (0, 1, 2, 3), tmp7, (1, 3), (0, 2))
+    del tmp7
+    tmp13 = einsum(v.bbbb.ovov, (0, 1, 2, 3), t1.bb, (4, 3), (4, 0, 2, 1))
+    t1new.bb += einsum(tmp13, (0, 1, 2, 3), t2.bbbb, (2, 1, 4, 3), (0, 4)) * -2
+    del tmp13
+    tmp3 = np.copy(f.aa.ov)
+    tmp3 += tmp0
+    del tmp0
+    tmp3 += tmp2 * -1
+    del tmp2
+    t1new.bb += einsum(tmp3, (0, 1), t2.abab, (0, 2, 1, 3), (2, 3))
+    t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), tmp3, (1, 3), (0, 2)) * 2
+    del tmp3
+    tmp14 = 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), tmp14, (0, 4, 1, 2), (4, 3)) * -1
+    del tmp14
+    tmp8 = einsum(v.aabb.ovov, (0, 1, 2, 3), t1.aa, (4, 1), (4, 0, 2, 3))
+    t1new.aa += einsum(tmp8, (0, 1, 2, 3), t2.abab, (1, 2, 4, 3), (0, 4)) * -1
+    del tmp8
+    tmp12 = np.copy(tmp10)
+    del tmp10
+    tmp12 += tmp11 * 0.5
+    del tmp11
+    t1new.aa += einsum(tmp12, (0, 1), t1.aa, (1, 2), (0, 2)) * -2
+    del tmp12
+    tmp9 = einsum(t1.aa, (0, 1), v.aaaa.ovov, (2, 3, 4, 1), (0, 2, 4, 3))
+    t1new.aa += einsum(tmp9, (0, 1, 2, 3), t2.aaaa, (2, 1, 4, 3), (0, 4)) * -2
+    del tmp9
+    t1new.aa += einsum(v.aaaa.oovv, (0, 1, 2, 3), t1.aa, (1, 3), (0, 2)) * -1
+    t1new.aa += einsum(v.aabb.ooov, (0, 1, 2, 3), t2.abab, (1, 2, 4, 3), (0, 4)) * -1
+    t1new.aa += einsum(f.aa.oo, (0, 1), t1.aa, (1, 2), (0, 2)) * -1
+    t1new.aa += einsum(v.aaaa.ooov, (0, 1, 2, 3), t2.aaaa, (1, 2, 4, 3), (0, 4)) * -2
+    t1new.aa += einsum(v.aaaa.ovov, (0, 1, 2, 3), t1.aa, (2, 3), (0, 1))
+    t1new.aa += einsum(t1.aa, (0, 1), f.aa.vv, (2, 1), (0, 2))
+    t1new.aa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.ovvv, (1, 2, 4, 3), (0, 4)) * -2
+    t1new.aa += einsum(t2.abab, (0, 1, 2, 3), v.aabb.vvov, (4, 2, 1, 3), (0, 4))
+    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(t1.bb, (0, 1), f.bb.oo, (2, 0), (2, 1)) * -1
+    t1new.bb += einsum(t1.bb, (0, 1), v.bbbb.oovv, (2, 0, 3, 1), (2, 3)) * -1
+    t1new.bb += einsum(t2.bbbb, (0, 1, 2, 3), v.bbbb.ovvv, (1, 3, 4, 2), (0, 4)) * 2
+    t1new.bb += einsum(f.bb.vv, (0, 1), t1.bb, (2, 1), (2, 0))
+    t1new.bb += einsum(t1.bb, (0, 1), v.bbbb.ovov, (2, 3, 0, 1), (2, 3))
+    t1new.bb += einsum(t2.abab, (0, 1, 2, 3), v.aabb.ovvv, (0, 2, 4, 3), (1, 4))
+    t2new.aaaa += np.transpose(v.aaaa.ovov, (0, 2, 1, 3))
+    t2new.aaaa += np.transpose(v.aaaa.ovov, (0, 2, 3, 1)) * -1
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), v.aaaa.vvvv, (4, 3, 5, 2), (0, 1, 4, 5)) * -2
+    t2new.aaaa += einsum(t2.aaaa, (0, 1, 2, 3), f.aa.vv, (4, 3), (0, 1, 2, 4)) * 2
+    t2new.abab += einsum(v.aabb.ovvv, (0, 1, 2, 3), t1.bb, (4, 3), (0, 4, 1, 2))
+    t2new.abab += np.transpose(v.aabb.ovov, (0, 2, 1, 3))
+    t2new.abab += einsum(t1.bb, (0, 1), v.aabb.ovoo, (2, 3, 4, 0), (2, 4, 3, 1)) * -1
+    t2new.abab += einsum(v.aabb.oovv, (0, 1, 2, 3), t2.abab, (1, 4, 5, 3), (0, 4, 5, 2)) * -1
+    t2new.abab += einsum(v.aabb.ooov, (0, 1, 2, 3), t1.aa, (1, 4), (0, 2, 4, 3)) * -1
+    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), f.bb.oo, (4, 1), (0, 4, 2, 3)) * -1
+    t2new.abab += einsum(f.aa.oo, (0, 1), t2.abab, (1, 2, 3, 4), (0, 2, 3, 4)) * -1
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), v.aaaa.ovov, (4, 5, 0, 2), (4, 1, 5, 3))
+    t2new.abab += einsum(t2.abab, (0, 1, 2, 3), f.bb.vv, (4, 3), (0, 1, 2, 4))
+    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
+    t2new.abab += einsum(v.aabb.vvvv, (0, 1, 2, 3), t2.abab, (4, 5, 1, 3), (4, 5, 0, 2))
+    t2new.bbbb += np.transpose(v.bbbb.ovov, (0, 2, 1, 3))
+    t2new.bbbb += np.transpose(v.bbbb.ovov, (0, 2, 3, 1)) * -1
+    t2new.bbbb += einsum(v.bbbb.vvvv, (0, 1, 2, 3), t2.bbbb, (4, 5, 3, 1), (4, 5, 0, 2)) * -2
+    t2new.bbbb += einsum(f.bb.vv, (0, 1), t2.bbbb, (2, 3, 4, 1), (2, 3, 4, 0)) * 2
+
+    return {f"t1new": t1new, f"t2new": t2new}
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/codegen/index.html b/reference/codegen/index.html new file mode 100644 index 00000000..51508350 --- /dev/null +++ b/reference/codegen/index.html @@ -0,0 +1,222 @@ + + + + + + + + Index - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/core/ansatz/index.html b/reference/core/ansatz/index.html new file mode 100644 index 00000000..b2cfa135 --- /dev/null +++ b/reference/core/ansatz/index.html @@ -0,0 +1,1546 @@ + + + + + + + + Ansatz - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Ansatz definition.

+ + + +
+ + + + + + + + +
+ + + +

+ ebcc.core.ansatz.Ansatz(fermion_ansatz='CCSD', boson_ansatz='', fermion_coupling_rank=0, boson_coupling_rank=0, density_fitting=False, module_name=None) + +

+ + +
+ + +

Ansatz class.

+ +

Initialise the ansatz.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + fermion_ansatz + (str, default: + 'CCSD' +) + – +
    +

    Fermionic ansatz.

    +
    +
  • +
  • + boson_ansatz + (str, default: + '' +) + – +
    +

    Rank of bosonic excitations.

    +
    +
  • +
  • + fermion_coupling_rank + (int, default: + 0 +) + – +
    +

    Rank of fermionic term in coupling.

    +
    +
  • +
  • + boson_coupling_rank + (int, default: + 0 +) + – +
    +

    Rank of bosonic term in coupling.

    +
    +
  • +
  • + density_fitting + (bool, default: + False +) + – +
    +

    Use density fitting.

    +
    +
  • +
  • + module_name + (Optional[str], default: + None +) + – +
    +

    Name of the module containing the generated equations.

    +
    +
  • +
+
+
+ Source code in ebcc/core/ansatz.py +
 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
def __init__(
+    self,
+    fermion_ansatz: str = "CCSD",
+    boson_ansatz: str = "",
+    fermion_coupling_rank: int = 0,
+    boson_coupling_rank: int = 0,
+    density_fitting: bool = False,
+    module_name: Optional[str] = None,
+) -> None:
+    """Initialise the ansatz.
+
+    Args:
+        fermion_ansatz: Fermionic ansatz.
+        boson_ansatz: Rank of bosonic excitations.
+        fermion_coupling_rank: Rank of fermionic term in coupling.
+        boson_coupling_rank: Rank of bosonic term in coupling.
+        density_fitting: Use density fitting.
+        module_name: Name of the module containing the generated equations.
+    """
+    self.fermion_ansatz = fermion_ansatz
+    self.boson_ansatz = boson_ansatz
+    self.fermion_coupling_rank = fermion_coupling_rank
+    self.boson_coupling_rank = boson_coupling_rank
+    self.density_fitting = density_fitting
+    self.module_name = module_name
+
+
+ + + +
+ + + + + + + +
+ + + +

+ ebcc.core.ansatz.Ansatz.name: str + + + property + + +

+ + +
+ +

Get the name of the ansatz.

+
+ +
+ +
+ + + +

+ ebcc.core.ansatz.Ansatz.has_perturbative_correction: bool + + + property + + +

+ + +
+ +

Get a boolean indicating if the ansatz includes a perturbative correction e.g. CCSD(T).

+ + + + + + + + + + + + + +
Returns: +
    +
  • +perturbative( bool +) – +
    +

    Boolean indicating if the ansatz is perturbatively corrected.

    +
    +
  • +
+
+ +
+ +
+ + + +

+ ebcc.core.ansatz.Ansatz.is_one_shot: bool + + + property + + +

+ + +
+ +

Get a boolean indicating whether the ansatz is a one-shot energy calculation e.g. MP2.

+ + + + + + + + + + + + + +
Returns: +
    +
  • +one_shot( bool +) – +
    +

    Boolean indicating if the ansatz is a one-shot energy calculation.

    +
    +
  • +
+
+ +
+ + + +
+ + +

+ ebcc.core.ansatz.Ansatz.from_string(string, density_fitting=False) + + + classmethod + + +

+ + +
+ +

Build an Ansatz from a string for the default ansatzes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + string + (str) + – +
    +

    Input string.

    +
    +
  • +
  • + density_fitting + (bool, default: + False +) + – +
    +

    Use density fitting.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Ansatz + – +
    +

    Ansatz object.

    +
    +
  • +
+
+
+ Source code in ebcc/core/ansatz.py +
128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
@classmethod
+def from_string(cls, string: str, density_fitting: bool = False) -> Ansatz:
+    """Build an `Ansatz` from a string for the default ansatzes.
+
+    Args:
+        string: Input string.
+        density_fitting: Use density fitting.
+
+    Returns:
+        Ansatz object.
+    """
+    if string not in named_ansatzes:
+        raise util.ModelNotImplemented(string)
+    return cls(*named_ansatzes[string], density_fitting=density_fitting)
+
+
+
+ +
+ +
+ + +

+ ebcc.core.ansatz.Ansatz.__repr__() + +

+ + +
+ +

Get a string with the name of the method.

+ +
+ Source code in ebcc/core/ansatz.py +
143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
def __repr__(self) -> str:
+    """Get a string with the name of the method."""
+    name = ""
+    if self.density_fitting:
+        name += "DF"
+    name += self.fermion_ansatz
+    if self.boson_ansatz:
+        name += "-%s" % self.boson_ansatz
+    if self.fermion_coupling_rank or self.boson_coupling_rank:
+        name += "-%d" % self.fermion_coupling_rank
+        name += "-%d" % self.boson_coupling_rank
+    return name
+
+
+
+ +
+ +
+ + +

+ ebcc.core.ansatz.Ansatz.fermionic_cluster_ranks(spin_type='G', which='t') + +

+ + +
+ +

Get a list of cluster operator ranks for the fermionic space.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + spin_type + (str, default: + 'G' +) + – +
    +

    Spin type of the cluster operator.

    +
    +
  • +
  • + which + (Literal['t', 'l', 'ip', 'ea', 'ee'], default: + 't' +) + – +
    +

    Type of cluster operator to return.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + list[tuple[str, str, int]] + – +
    +

    List of cluster operator ranks, each element is a tuple containing the name, the slices

    +
    +
  • +
  • + list[tuple[str, str, int]] + – +
    +

    and the rank.

    +
    +
  • +
+
+
+ Source code in ebcc/core/ansatz.py +
184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
def fermionic_cluster_ranks(
+    self,
+    spin_type: str = "G",
+    which: Literal["t", "l", "ip", "ea", "ee"] = "t",
+) -> list[tuple[str, str, int]]:
+    """Get a list of cluster operator ranks for the fermionic space.
+
+    Args:
+        spin_type: Spin type of the cluster operator.
+        which: Type of cluster operator to return.
+
+    Returns:
+        List of cluster operator ranks, each element is a tuple containing the name, the slices
+        and the rank.
+    """
+    ranks: list[tuple[str, str, int]] = []
+    if not self.fermion_ansatz:
+        return ranks
+
+    def _adapt_key(key: str) -> str:
+        """Adapt the key to the `which` argument."""
+        if which == "ip":
+            return key[:-1]
+        if which == "ea":
+            n = len(key) // 2
+            key = key[n:] + key[: n - 1]
+        if which == "l":
+            n = len(key) // 2
+            key = key[n:] + key[:n]
+        return key
+
+    symbol = which if which in ("t", "l") else "r"
+    notations = {
+        "S": [(f"{symbol}1", _adapt_key("ov"), 1)],
+        "D": [(f"{symbol}2", _adapt_key("oovv"), 2)],
+        "T": [(f"{symbol}3", _adapt_key("ooovvv"), 3)],
+        "t": [(f"{symbol}3", _adapt_key("ooOvvV"), 3)],
+        "t'": [(f"{symbol}3", _adapt_key("OOOVVV"), 3)],
+    }
+    if spin_type == "R":
+        notations["Q"] = [(f"{symbol}4a", "oooovvvv", 4), (f"{symbol}4b", "oooovvvv", 4)]
+    else:
+        notations["Q"] = [(f"{symbol}4", "oooovvvv", 4)]
+    notations["2"] = notations["S"] + notations["D"]
+    notations["3"] = notations["2"] + notations["T"]
+    notations["4"] = notations["3"] + notations["Q"]
+
+    # Remove any perturbative corrections
+    op = self.fermion_ansatz
+    while "(" in op:
+        start = op.index("(")
+        end = op.index(")")
+        op = op[:start]
+        if (end + 1) < len(op):
+            op += op[end + 1 :]
+
+    # Check in order of longest to shortest string in case one
+    # method name starts with a substring equal to the name of
+    # another method
+    for method_type in sorted(METHOD_TYPES, key=len)[::-1]:
+        if op.startswith(method_type):
+            op = op.replace(method_type, "", 1)
+            break
+
+    # If it's MP we only ever need to initialise second-order
+    # amplitudes
+    if method_type == "MP" and which in ("t", "l"):
+        op = "D"
+
+    # If it's for EOM-CCD we still need the singles
+    if self.fermion_ansatz == "CCD" and which in ("ip", "ea", "ee"):
+        op = "SD"
+
+    # Determine the ranks
+    for key in sorted(notations.keys(), key=len)[::-1]:
+        if key in op:
+            ranks += notations[key]
+            op = op.replace(key, "")
+
+    # Check there are no duplicates
+    if len(ranks) != len(set(ranks)):
+        raise util.ModelNotImplemented("Duplicate ranks in %s" % self.fermion_ansatz)
+
+    # Sort the ranks by the cluster operator dimension
+    ranks = sorted(ranks, key=lambda x: x[2])
+
+    return ranks
+
+
+
+ +
+ +
+ + +

+ ebcc.core.ansatz.Ansatz.bosonic_cluster_ranks(spin_type='G', which='t') + +

+ + +
+ +

Get a list of cluster operator ranks for the bosonic space.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + spin_type + (str, default: + 'G' +) + – +
    +

    Spin type of the cluster operator.

    +
    +
  • +
  • + which + (Literal['t', 'l', 'ip', 'ea', 'ee'], default: + 't' +) + – +
    +

    Type of cluster operator.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + list[tuple[str, str, int]] + – +
    +

    List of cluster operator ranks, each element is a tuple containing the name, the slices

    +
    +
  • +
  • + list[tuple[str, str, int]] + – +
    +

    and the rank.

    +
    +
  • +
+
+
+ Source code in ebcc/core/ansatz.py +
272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
def bosonic_cluster_ranks(
+    self,
+    spin_type: str = "G",
+    which: Literal["t", "l", "ip", "ea", "ee"] = "t",
+) -> list[tuple[str, str, int]]:
+    """Get a list of cluster operator ranks for the bosonic space.
+
+    Args:
+        spin_type: Spin type of the cluster operator.
+        which: Type of cluster operator.
+
+    Returns:
+        List of cluster operator ranks, each element is a tuple containing the name, the slices
+        and the rank.
+    """
+    ranks: list[tuple[str, str, int]] = []
+    if not self.boson_ansatz:
+        return ranks
+
+    symbol = "s" if which == "t" else "ls"
+    notations = {
+        "S": [(f"{symbol}1", "b", 1)],
+        "D": [(f"{symbol}2", "bb", 2)],
+        "T": [(f"{symbol}3", "bbb", 3)],
+    }
+    notations["2"] = notations["S"] + notations["D"]
+    notations["3"] = notations["2"] + notations["T"]
+
+    # Remove any perturbative corrections
+    op = self.boson_ansatz
+    while "(" in op:
+        start = op.index("(")
+        end = op.index(")")
+        op = op[:start]
+        if (end + 1) < len(op):
+            op += op[end + 1 :]
+
+    # Determine the ranks
+    for key in sorted(notations.keys(), key=len)[::-1]:
+        if key in op:
+            ranks += notations[key]
+            op = op.replace(key, "")
+
+    # Check there are no duplicates
+    if len(ranks) != len(set(ranks)):
+        raise util.ModelNotImplemented("Duplicate ranks in %s" % self.boson_ansatz)
+
+    # Sort the ranks by the cluster operator dimension
+    ranks = sorted(ranks, key=lambda x: x[2])
+
+    return ranks
+
+
+
+ +
+ +
+ + +

+ ebcc.core.ansatz.Ansatz.coupling_cluster_ranks(spin_type='G', which='t') + +

+ + +
+ +

Get a list of cluster operator ranks for the coupling between fermions and bosons.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + spin_type + (str, default: + 'G' +) + – +
    +

    Spin type of the cluster operator.

    +
    +
  • +
  • + which + (Literal['t', 'l', 'ip', 'ea', 'ee'], default: + 't' +) + – +
    +

    Type of cluster operator to return.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + list[tuple[str, str, int, int]] + – +
    +

    List of cluster operator ranks, each element is a tuple containing the name, the slices

    +
    +
  • +
  • + list[tuple[str, str, int, int]] + – +
    +

    and the rank.

    +
    +
  • +
+
+
+ Source code in ebcc/core/ansatz.py +
324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
def coupling_cluster_ranks(
+    self,
+    spin_type: str = "G",
+    which: Literal["t", "l", "ip", "ea", "ee"] = "t",
+) -> list[tuple[str, str, int, int]]:
+    """Get a list of cluster operator ranks for the coupling between fermions and bosons.
+
+    Args:
+        spin_type: Spin type of the cluster operator.
+        which: Type of cluster operator to return.
+
+    Returns:
+        List of cluster operator ranks, each element is a tuple containing the name, the slices
+        and the rank.
+    """
+
+    def _adapt_key(key: str, fermion_rank: int, boson_rank: int) -> str:
+        """Adapt the key to the `which` argument."""
+        if which in ("ip", "ea", "ee"):
+            raise util.ModelNotImplemented(
+                "Cluster ranks for coupling space not implemented for %s" % which
+            )
+        if which == "l":
+            nf = fermion_rank
+            nb = boson_rank
+            key = key[:nb] + key[nb + nf :] + key[nb : nb + nf]
+        return key
+
+    symbol = "u" if which == "t" else "lu"
+
+    ranks = []
+    for fermion_rank in range(1, self.fermion_coupling_rank + 1):
+        for boson_rank in range(1, self.boson_coupling_rank + 1):
+            name = f"{symbol}{fermion_rank}{boson_rank}"
+            key = _adapt_key(
+                "b" * boson_rank + "o" * fermion_rank + "v" * fermion_rank,
+                fermion_rank,
+                boson_rank,
+            )
+            ranks.append((name, key, fermion_rank, boson_rank))
+
+    return ranks
+
+
+
+ +
+ + + +
+ +
+ +
+ + +
+ + +

+ ebcc.core.ansatz.name_to_identifier(name) + +

+ + +
+ +

Convert an ansatz name to an identifier.

+

The identifier is used as for the filename of the module containing the generated equations, +where the name may contain illegal characters.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + name + (str) + – +
    +

    Name of the ansatz.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + str + – +
    +

    Identifier for the ansatz.

    +
    +
  • +
+
+ +

Examples:

+
>>> name_to_identifier("CCSD(T)")
+'CCSDxTx'
+>>> name_to_identifier("CCSD-SD-1-2")
+'CCSD_SD_1_2'
+>>> name_to_identifier("CCSDt'")
+'CCSDwtwp'
+
+ +
+ Source code in ebcc/core/ansatz.py +
34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
def name_to_identifier(name: str) -> str:
+    """Convert an ansatz name to an identifier.
+
+    The identifier is used as for the filename of the module containing the generated equations,
+    where the name may contain illegal characters.
+
+    Args:
+        name: Name of the ansatz.
+
+    Returns:
+        Identifier for the ansatz.
+
+    Examples:
+        >>> name_to_identifier("CCSD(T)")
+        'CCSDxTx'
+        >>> name_to_identifier("CCSD-SD-1-2")
+        'CCSD_SD_1_2'
+        >>> name_to_identifier("CCSDt'")
+        'CCSDwtwp'
+    """
+    iden = "".join([f"w{c}w" if c.isalpha() and c.islower() else c for c in name])
+    iden = iden.replace("(", "x").replace(")", "x")
+    iden = iden.replace("[", "y").replace("]", "y")
+    iden = iden.replace("-", "_")
+    iden = iden.replace("'", "p")
+    return iden
+
+
+
+ +
+ +
+ + +

+ ebcc.core.ansatz.identifity_to_name(iden) + +

+ + +
+ +

Convert an ansatz identifier to a name.

+

Inverse operation of name_to_identifier.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + iden + (str) + – +
    +

    Identifier for the ansatz.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + str + – +
    +

    Name of the ansatz.

    +
    +
  • +
+
+ +

Examples:

+
>>> identifier_to_name("CCSDxTx")
+'CCSD(T)'
+>>> identifier_to_name("CCSD_SD_1_2")
+'CCSD-SD-1-2'
+>>> identifier_to_name("CCSDwtwp")
+"CCSDt'"
+
+ +
+ Source code in ebcc/core/ansatz.py +
62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
def identifity_to_name(iden: str) -> str:
+    """Convert an ansatz identifier to a name.
+
+    Inverse operation of `name_to_identifier`.
+
+    Args:
+        iden: Identifier for the ansatz.
+
+    Returns:
+        Name of the ansatz.
+
+    Examples:
+        >>> identifier_to_name("CCSDxTx")
+        'CCSD(T)'
+        >>> identifier_to_name("CCSD_SD_1_2")
+        'CCSD-SD-1-2'
+        >>> identifier_to_name("CCSDwtwp")
+        "CCSDt'"
+    """
+    name = iden.replace("-", "_")
+    name = name.replace("w", "")
+    while "x" in name:
+        name = name.replace("x", "(", 1).replace("x", ")", 1)
+    while "y" in name:
+        name = name.replace("y", "(", 1).replace("y", ")", 1)
+    name = name.replace("p", "'")
+    return name
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/reference/core/damping/index.html b/reference/core/damping/index.html new file mode 100644 index 00000000..0650a5f5 --- /dev/null +++ b/reference/core/damping/index.html @@ -0,0 +1,1631 @@ + + + + + + + + Damping - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Damping and DIIS control.

+ + + +
+ + + + + + + + +
+ + + +

+ ebcc.core.damping.BaseDamping(*args, options=None, **kwargs) + +

+ + +
+

+ Bases: ABC

+ + +

Base class for damping.

+ +

Initialise the damping object.

+ +
+ Source code in ebcc/core/damping.py +
30
+31
+32
+33
+34
def __init__(self, *args: Any, options: Optional[_BaseOptions] = None, **kwargs: Any) -> None:
+    """Initialise the damping object."""
+    self._arrays = {}
+    self._errors = {}
+    self._counter = 0
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.core.damping.BaseDamping.__call__(array, error=None) + +

+ + +
+ +

Apply damping to the array.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + array + (NDArray[T]) + – +
    +

    The array to damp.

    +
    +
  • +
  • + error + (Optional[NDArray[T]], default: + None +) + – +
    +

    The error array.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    The damped array.

    +
    +
  • +
+
+
+ Source code in ebcc/core/damping.py +
36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
def __call__(self, array: NDArray[T], error: Optional[NDArray[T]] = None) -> NDArray[T]:
+    """Apply damping to the array.
+
+    Args:
+        array: The array to damp.
+        error: The error array.
+
+    Returns:
+        The damped array.
+    """
+    self.push(array, error=error)
+    return self.extrapolate()
+
+
+
+ +
+ +
+ + +

+ ebcc.core.damping.BaseDamping.push(array, error=None) + + + abstractmethod + + +

+ + +
+ +

Push the array and error into the damping object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + array + (NDArray[T]) + – +
    +

    The array to push.

    +
    +
  • +
  • + error + (Optional[NDArray[T]], default: + None +) + – +
    +

    The error array to push.

    +
    +
  • +
+
+
+ Source code in ebcc/core/damping.py +
49
+50
+51
+52
+53
+54
+55
+56
+57
@abstractmethod
+def push(self, array: NDArray[T], error: Optional[NDArray[T]] = None) -> None:
+    """Push the array and error into the damping object.
+
+    Args:
+        array: The array to push.
+        error: The error array to push.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.core.damping.BaseDamping.extrapolate() + + + abstractmethod + + +

+ + +
+ +

Extrapolate the next array.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    The extrapolated array.

    +
    +
  • +
+
+
+ Source code in ebcc/core/damping.py +
59
+60
+61
+62
+63
+64
+65
+66
@abstractmethod
+def extrapolate(self) -> NDArray[T]:
+    """Extrapolate the next array.
+
+    Returns:
+        The extrapolated array.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.core.damping.BaseDamping.reset() + +

+ + +
+ +

Reset the damping object.

+ +
+ Source code in ebcc/core/damping.py +
68
+69
+70
+71
+72
def reset(self) -> None:
+    """Reset the damping object."""
+    self._arrays = {}
+    self._errors = {}
+    self._counter = 0
+
+
+
+ +
+ +
+ + +

+ ebcc.core.damping.BaseDamping.__len__() + +

+ + +
+ +

Get the number of arrays stored in the damping object.

+ +
+ Source code in ebcc/core/damping.py +
74
+75
+76
def __len__(self) -> int:
+    """Get the number of arrays stored in the damping object."""
+    return len(self._arrays)
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + + +

+ ebcc.core.damping.NoDamping(*args, options=None, **kwargs) + +

+ + +
+

+ Bases: BaseDamping

+ + +

No damping.

+ +

Apply damping to the array.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + array + – +
    +

    The array to damp.

    +
    +
  • +
  • + error + – +
    +

    The error array.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + None + – +
    +

    The damped array.

    +
    +
  • +
+
+
+ Source code in ebcc/core/damping.py +
82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
def __init__(self, *args: Any, options: Optional[_BaseOptions] = None, **kwargs: Any) -> None:
+    """Apply damping to the array.
+
+    Args:
+        array: The array to damp.
+        error: The error array.
+
+    Returns:
+        The damped array.
+    """
+    pass
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.core.damping.NoDamping.__call__(array, error=None) + +

+ + +
+ +

Apply damping to the array.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + array + (NDArray[T]) + – +
    +

    The array to damp.

    +
    +
  • +
  • + error + (Optional[NDArray[T]], default: + None +) + – +
    +

    The error array.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    The damped array.

    +
    +
  • +
+
+
+ Source code in ebcc/core/damping.py +
 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
def __call__(self, array: NDArray[T], error: Optional[NDArray[T]] = None) -> NDArray[T]:
+    """Apply damping to the array.
+
+    Args:
+        array: The array to damp.
+        error: The error array.
+
+    Returns:
+        The damped array.
+    """
+    return array
+
+
+
+ +
+ +
+ + +

+ ebcc.core.damping.NoDamping.push(array, error=None) + +

+ + +
+ +

Push the array and error into the damping object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + array + (NDArray[T]) + – +
    +

    The array to push.

    +
    +
  • +
  • + error + (Optional[NDArray[T]], default: + None +) + – +
    +

    The error array to push.

    +
    +
  • +
+
+
+ Source code in ebcc/core/damping.py +
106
+107
+108
+109
+110
+111
+112
+113
def push(self, array: NDArray[T], error: Optional[NDArray[T]] = None) -> None:
+    """Push the array and error into the damping object.
+
+    Args:
+        array: The array to push.
+        error: The error array to push.
+    """
+    raise NotImplementedError
+
+
+
+ +
+ +
+ + +

+ ebcc.core.damping.NoDamping.extrapolate() + +

+ + +
+ +

Extrapolate the next array.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    The extrapolated array.

    +
    +
  • +
+
+
+ Source code in ebcc/core/damping.py +
115
+116
+117
+118
+119
+120
+121
def extrapolate(self) -> NDArray[T]:
+    """Extrapolate the next array.
+
+    Returns:
+        The extrapolated array.
+    """
+    raise NotImplementedError
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + + +

+ ebcc.core.damping.LinearDamping(*args, factor=None, options=None) + +

+ + +
+

+ Bases: BaseDamping

+ + +

Linear damping.

+ +

Initialise the damping object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + factor + (Optional[float], default: + None +) + – +
    +

    The damping factor. If None, use options.damping, if available. Otherwise, +use 0.5.

    +
    +
  • +
  • + options + (Optional[_BaseOptions], default: + None +) + – +
    +

    The options object.

    +
    +
  • +
+
+
+ Source code in ebcc/core/damping.py +
127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
def __init__(
+    self, *args: Any, factor: Optional[float] = None, options: Optional[_BaseOptions] = None
+) -> None:
+    """Initialise the damping object.
+
+    Args:
+        factor: The damping factor. If `None`, use `options.damping`, if available. Otherwise,
+            use `0.5`.
+        options: The options object.
+    """
+    super().__init__()
+    if factor is None:
+        factor = getattr(options, "damping", 0.5)
+    self.factor = factor
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.core.damping.LinearDamping.push(array, error=None) + +

+ + +
+ +

Push the array and error into the damping object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + array + (NDArray[T]) + – +
    +

    The array to push.

    +
    +
  • +
  • + error + (Optional[NDArray[T]], default: + None +) + – +
    +

    The error array to push.

    +
    +
  • +
+
+
+ Source code in ebcc/core/damping.py +
142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
def push(self, array: NDArray[T], error: Optional[NDArray[T]] = None) -> None:
+    """Push the array and error into the damping object.
+
+    Args:
+        array: The array to push.
+        error: The error array to push.
+    """
+    if len(self) == 2:
+        self._arrays.pop(min(self._arrays.keys()))
+    self._arrays[self._counter] = array
+    self._counter += 1
+
+
+
+ +
+ +
+ + +

+ ebcc.core.damping.LinearDamping.extrapolate() + +

+ + +
+ +

Extrapolate the next array.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    The extrapolated array.

    +
    +
  • +
+
+
+ Source code in ebcc/core/damping.py +
154
+155
+156
+157
+158
+159
+160
+161
+162
+163
def extrapolate(self) -> NDArray[T]:
+    """Extrapolate the next array.
+
+    Returns:
+        The extrapolated array.
+    """
+    if len(self) < 2:
+        return next(iter(self._arrays.values()))
+    (_, previous), (_, current) = sorted(self._arrays.items())
+    return current * (1.0 - self.factor) + previous * self.factor
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + + +

+ ebcc.core.damping.DIIS(space=None, min_space=None, factor=None, options=None) + +

+ + +
+

+ Bases: BaseDamping

+ + +

Direct inversion in the iterative subspace.

+ +

Initialize the DIIS object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + space + (Optional[int], default: + None +) + – +
    +

    The number of vectors to store in the DIIS space. If None, use +options.diis_space, if available. Otherwise, use 6.

    +
    +
  • +
  • + min_space + (Optional[int], default: + None +) + – +
    +

    The minimum number of vectors to store in the DIIS space. If None, use +options.diis_min_space, if available. Otherwise, use 1.

    +
    +
  • +
  • + factor + (Optional[float], default: + None +) + – +
    +

    The damping factor. If None, use options.damping, if available. Otherwise, +use 0.5.

    +
    +
  • +
  • + options + (Optional[_BaseOptions], default: + None +) + – +
    +

    The options object.

    +
    +
  • +
+
+
+ Source code in ebcc/core/damping.py +
169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
def __init__(
+    self,
+    space: Optional[int] = None,
+    min_space: Optional[int] = None,
+    factor: Optional[float] = None,
+    options: Optional[_BaseOptions] = None,
+) -> None:
+    """Initialize the DIIS object.
+
+    Args:
+        space: The number of vectors to store in the DIIS space. If `None`, use
+            `options.diis_space`, if available. Otherwise, use `6`.
+        min_space: The minimum number of vectors to store in the DIIS space. If `None`, use
+            `options.diis_min_space`, if available. Otherwise, use `1`.
+        factor: The damping factor. If `None`, use `options.damping`, if available. Otherwise,
+            use `0.5`.
+        options: The options object.
+    """
+    super().__init__()
+    if space is None:
+        space = getattr(options, "diis_space", 6)
+    if min_space is None:
+        min_space = getattr(options, "diis_min_space", 1)
+    if factor is None:
+        factor = getattr(options, "damping", 0.5)
+    self.space = space
+    self.min_space = min_space
+    self.factor = factor
+    self._norm_cache: dict[tuple[int, int], T] = {}
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.core.damping.DIIS.push(array, error=None) + +

+ + +
+ +

Push the array and error into the damping object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + array + (NDArray[T]) + – +
    +

    The array to push.

    +
    +
  • +
  • + error + (Optional[NDArray[T]], default: + None +) + – +
    +

    The error array to push.

    +
    +
  • +
+
+
+ Source code in ebcc/core/damping.py +
216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
def push(self, array: NDArray[T], error: Optional[NDArray[T]] = None) -> None:
+    """Push the array and error into the damping object.
+
+    Args:
+        array: The array to push.
+        error: The error array to push.
+    """
+    # Get the error if not provided
+    if error is None and -1 in self._arrays:
+        error = array - self._arrays[-1]
+    elif error is None or len(self) == 0:
+        self._arrays[-1] = array
+        return
+
+    # Push the array and error into the DIIS subspace
+    self._arrays[self._counter] = array
+    self._errors[self._counter] = error
+    self._counter += 1
+
+    # Remove an array if the space is exceeded
+    if len(self) > self.space:
+        errors = {
+            counter: self._error_norm(counter, counter) for counter in self._errors.keys()
+        }
+        counter = max(errors, key=errors.__getitem__)
+        self._arrays.pop(counter)
+        self._errors.pop(counter)
+
+
+
+ +
+ +
+ + +

+ ebcc.core.damping.DIIS.extrapolate() + +

+ + +
+ +

Extrapolate the next array.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    The extrapolated array.

    +
    +
  • +
+
+
+ Source code in ebcc/core/damping.py +
244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
def extrapolate(self) -> NDArray[T]:
+    """Extrapolate the next array.
+
+    Returns:
+        The extrapolated array.
+    """
+    # Return the last array if the space is less than the minimum space
+    counters = sorted(self._errors.keys())
+    size = len(counters)
+    if size < self.min_space:
+        return self._arrays[-1]
+
+    # Build the error matrix
+    errors = np.array(
+        [
+            [self._error_norm(counter_i, counter_j) for counter_j in counters]
+            for counter_i in counters
+        ]
+    )
+    zeros = np.zeros((1, 1), dtype=errors.dtype)
+    ones = np.ones((size, 1), dtype=errors.dtype)
+    matrix = np.block([[errors, -ones], [-np.transpose(ones), zeros]])
+
+    # Build the right-hand side
+    zeros = np.zeros((size,), dtype=errors.dtype)
+    ones = np.ones((1,), dtype=errors.dtype)
+    residual = np.block([zeros, -ones])
+
+    # Solve the linear problem
+    try:
+        c = np.linalg.solve(matrix, residual)
+    except Exception:
+        w, v = np.linalg.eigh(matrix)
+        if np.any(np.abs(w) < 1e-14):
+            # avoiding fancy indexing for compatibility
+            for i in range(size + 1):
+                if np.abs(w[i]) < 1e-14:
+                    _put(v, np.ix_(np.arange(size + 1), np.array([i])), np.zeros_like(v[:, i]))
+        c = util.einsum("pi,qi,i,q->p", v, np.conj(v), w**-1.0, residual)
+
+    # Construct the new array
+    array = np.zeros_like(self._arrays[next(iter(self._arrays))])
+    for counter, coefficient in zip(counters, c):
+        array += self._arrays[counter] * coefficient
+    error = np.zeros_like(self._errors[next(iter(self._errors))])
+    for counter, coefficient in zip(counters, c):
+        error += self._errors[counter] * coefficient
+
+    # Apply the damping factor
+    if self.factor:
+        array = array * (1.0 - self.factor) + self._arrays[-1] * self.factor
+
+    # Replace the previous array with the extrapolated array
+    self._arrays[-1] = array
+    self._arrays[self._counter] = array
+    self._errors[self._counter] = error
+
+    return array
+
+
+
+ +
+ +
+ + +

+ ebcc.core.damping.DIIS.reset() + +

+ + +
+ +

Reset the damping object.

+ +
+ Source code in ebcc/core/damping.py +
303
+304
+305
+306
def reset(self) -> None:
+    """Reset the damping object."""
+    super().reset()
+    self._norm_cache = {}
+
+
+
+ +
+ + + +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/reference/core/dump/index.html b/reference/core/dump/index.html new file mode 100644 index 00000000..c3001ce2 --- /dev/null +++ b/reference/core/dump/index.html @@ -0,0 +1,908 @@ + + + + + + + + Dumping - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

File dumping and reading functionality.

+ + + +
+ + + + + + + + +
+ + + +

+ ebcc.core.dump.Dump(name) + +

+ + +
+ + +

File handler for reading and writing EBCC calculations.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + name + (str) + – +
    +

    The name of the file.

    +
    +
  • +
+
+

Initialise the file handler.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + name + (str) + – +
    +

    The name of the file.

    +
    +
  • +
+
+
+ Source code in ebcc/core/dump.py +
28
+29
+30
+31
+32
+33
+34
def __init__(self, name: str) -> None:
+    """Initialise the file handler.
+
+    Args:
+        name: The name of the file.
+    """
+    self.name = name
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.core.dump.Dump.write(ebcc) + +

+ + +
+ +

Write the EBCC object to the file.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + ebcc + (BaseEBCC) + – +
    +

    The EBCC object to write.

    +
    +
  • +
+
+
+ Source code in ebcc/core/dump.py +
 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
def write(self, ebcc: BaseEBCC) -> None:
+    """Write the EBCC object to the file.
+
+    Args:
+        ebcc: The EBCC object to write.
+    """
+    # Write the options
+    dic = {}
+    for key, val in ebcc.options.__dict__.items():
+        if val is not None:
+            dic[key] = val
+    dump(self.name, "options", dic)
+
+    # Write the mean-field data
+    dic = {
+        "e_tot": ebcc.mf.e_tot,
+        "mo_energy": ebcc.mf.mo_energy,
+        "mo_coeff": ebcc.mf.mo_coeff,
+        "mo_occ": ebcc.mf.mo_occ,
+    }
+    dump_mol(ebcc.mf.mol, self.name)
+    dump(self.name, "mean-field", dic)
+
+    # Write the MOs used
+    dic = {
+        "mo_coeff": ebcc.mo_coeff,
+        "mo_occ": ebcc.mo_occ,
+    }
+    dump(self.name, "mo", dic)
+
+    # Write the ansatz
+    dic = {
+        "fermion_ansatz": ebcc.ansatz.fermion_ansatz,
+        "boson_ansatz": ebcc.ansatz.boson_ansatz,
+        "fermion_coupling_rank": ebcc.ansatz.fermion_coupling_rank,
+        "boson_coupling_rank": ebcc.ansatz.boson_coupling_rank,
+    }
+    if ebcc.ansatz.module_name is not None:
+        dic["module_name"] = ebcc.ansatz.module_name
+    dump(self.name, "ansatz", dic)
+
+    # Write the space
+    if ebcc.spin_type == "U":
+        dic = {
+            "occupied": (ebcc.space[0]._occupied, ebcc.space[1]._occupied),
+            "frozen": (ebcc.space[0]._frozen, ebcc.space[1]._frozen),
+            "active": (ebcc.space[0]._active, ebcc.space[1]._active),
+        }
+    else:
+        dic = {
+            "occupied": ebcc.space._occupied,
+            "frozen": ebcc.space._frozen,
+            "active": ebcc.space._active,
+        }
+    dump(self.name, "space", dic)
+
+    # Write the bosonic parameters
+    dic = {}
+    if ebcc.omega is not None:
+        dic["omega"] = ebcc.omega
+    if ebcc.bare_g is not None:
+        dic["bare_g"] = ebcc.bare_g
+    if ebcc.bare_G is not None:
+        dic["bare_G"] = ebcc.bare_G
+    dump(self.name, "bosons", dic)
+
+    # Write the Fock matrix
+    # TODO write the Fock matrix class instead
+
+    # Write miscellaneous data
+    kwargs: dict[str, Any] = {
+        "spin_type": ebcc.spin_type,
+    }
+    if ebcc.e_corr is not None:
+        kwargs["e_corr"] = ebcc.e_corr
+    if ebcc.converged is not None:
+        kwargs["converged"] = ebcc.converged
+    if ebcc.converged_lambda is not None:
+        kwargs["converged_lambda"] = ebcc.converged_lambda
+    dump(self.name, "misc", kwargs)
+
+    # Write the amplitudes
+    if ebcc.spin_type == "U":
+        if ebcc.amplitudes is not None:
+            dump(
+                self.name,
+                "amplitudes",
+                {
+                    key: ({**val} if isinstance(val, (util.Namespace, dict)) else val)
+                    for key, val in ebcc.amplitudes.items()
+                },
+            )
+        if ebcc.lambdas is not None:
+            dump(
+                self.name,
+                "lambdas",
+                {
+                    key: ({**val} if isinstance(val, (util.Namespace, dict)) else val)
+                    for key, val in ebcc.lambdas.items()
+                },
+            )
+    else:
+        if ebcc.amplitudes is not None:
+            dump(self.name, "amplitudes", {**ebcc.amplitudes})
+        if ebcc.lambdas is not None:
+            dump(self.name, "lambdas", {**ebcc.lambdas})
+
+
+
+ +
+ +
+ + +

+ ebcc.core.dump.Dump.read(cls, log=None) + +

+ + +
+ +

Load the file to an EBCC object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + cls + (type[BaseEBCC]) + – +
    +

    EBCC class to load the file to.

    +
    +
  • +
  • + log + (Optional[Logger], default: + None +) + – +
    +

    Logger to assign to the EBCC object.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + BaseEBCC + – +
    +

    The EBCC object loaded from the file.

    +
    +
  • +
+
+
+ Source code in ebcc/core/dump.py +
143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
def read(self, cls: type[BaseEBCC], log: Optional[Logger] = None) -> BaseEBCC:
+    """Load the file to an EBCC object.
+
+    Args:
+        cls: EBCC class to load the file to.
+        log: Logger to assign to the EBCC object.
+
+    Returns:
+        The EBCC object loaded from the file.
+    """
+    # Load the options
+    dic = load(self.name, "options")
+    options = cls.Options()
+    for key, val in dic.items():
+        setattr(options, key, val)
+
+    # Load the miscellaneous data
+    misc = load(self.name, "misc")
+    spin_type = misc.pop("spin_type").decode("ascii")
+
+    # Load the mean-field data
+    mf_cls = {"G": scf.GHF, "U": scf.UHF, "R": scf.RHF}[spin_type]
+    mol = load_mol(self.name)
+    dic = load(self.name, "mean-field")
+    mf = mf_cls(mol)
+    mf.__dict__.update(dic)
+
+    # Load the MOs used
+    dic = load(self.name, "mo")
+    mo_coeff = dic.get("mo_coeff", None)
+    mo_occ = dic.get("mo_occ", None)
+
+    # Load the ansatz
+    dic = load(self.name, "ansatz")
+    module_name = dic.get("module_name", None)
+    if isinstance(module_name, str):
+        module_name = module_name.encode("ascii")
+    ansatz = Ansatz(
+        dic.get("fermion_ansatz", b"CCSD").decode("ascii"),
+        dic.get("boson_ansatz", b"").decode("ascii"),
+        dic.get("fermion_coupling_rank", 0),
+        dic.get("boson_coupling_rank", 0),
+        module_name,
+    )
+
+    # Load the space
+    dic = load(self.name, "space")
+    space: Union[Space, tuple[Space, Space]]
+    if spin_type == "U":
+        space = (
+            Space(
+                dic.get("occupied", None)[0],
+                dic.get("frozen", None)[0],
+                dic.get("active", None)[0],
+            ),
+            Space(
+                dic.get("occupied", None)[1],
+                dic.get("frozen", None)[1],
+                dic.get("active", None)[1],
+            ),
+        )
+    else:
+        space = Space(
+            dic.get("occupied", None),
+            dic.get("frozen", None),
+            dic.get("active", None),
+        )
+
+    # Load the bosonic parameters
+    dic = load(self.name, "bosons")
+    omega = dic.get("omega", None)
+    bare_g = dic.get("bare_g", None)
+    bare_G = dic.get("bare_G", None)
+
+    # Load the Fock matrix
+    # TODO load the Fock matrix class instead
+
+    # Load the amplitudes
+    amplitudes = load(self.name, "amplitudes")
+    lambdas = load(self.name, "lambdas")
+    if spin_type == "U":
+        if amplitudes is not None:
+            amplitudes = {
+                key: (util.Namespace(**val) if isinstance(val, dict) else val)
+                for key, val in amplitudes.items()
+            }
+            amplitudes = util.Namespace(**amplitudes)
+        if lambdas is not None:
+            lambdas = {
+                key: (util.Namespace(**val) if isinstance(val, dict) else val)
+                for key, val in lambdas.items()
+            }
+            lambdas = util.Namespace(**lambdas)
+    else:
+        if amplitudes is not None:
+            amplitudes = util.Namespace(**amplitudes)
+        if lambdas is not None:
+            lambdas = util.Namespace(**lambdas)
+
+    # Initialise the EBCC object
+    cc = cls(
+        mf,
+        log=log,
+        ansatz=ansatz,
+        space=space,
+        omega=omega,
+        g=bare_g,
+        G=bare_G,
+        mo_coeff=mo_coeff,
+        mo_occ=mo_occ,
+        # fock=fock,
+        options=options,
+    )
+    cc.__dict__.update(misc)
+    cc.amplitudes = amplitudes
+    cc.lambdas = lambdas
+
+    return cc
+
+
+
+ +
+ + + +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/reference/core/index.html b/reference/core/index.html new file mode 100644 index 00000000..c4941839 --- /dev/null +++ b/reference/core/index.html @@ -0,0 +1,224 @@ + + + + + + + + Index - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Core functionality.

+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/core/logging/index.html b/reference/core/logging/index.html new file mode 100644 index 00000000..6d27bbca --- /dev/null +++ b/reference/core/logging/index.html @@ -0,0 +1,468 @@ + + + + + + + + Logging - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Logging.

+ + + +
+ + + + + + + + +
+ + + +

+ ebcc.core.logging.Logger(name, level=logging.INFO) + +

+ + +
+

+ Bases: Logger

+ + +

Logger with a custom output level.

+ +

Initialise the logger.

+ +
+ Source code in ebcc/core/logging.py +
29
+30
+31
def __init__(self, name: str, level: int = logging.INFO) -> None:
+    """Initialise the logger."""
+    super().__init__(name, level)
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.core.logging.Logger.output(msg, *args, **kwargs) + +

+ + +
+ +

Output a message at the "OUTPUT" level.

+ +
+ Source code in ebcc/core/logging.py +
33
+34
+35
+36
def output(self, msg: str, *args: Any, **kwargs: Any) -> None:
+    """Output a message at the `"OUTPUT"` level."""
+    if self.isEnabledFor(25):
+        self._log(25, msg, args, **kwargs)
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + + +

+ ebcc.core.logging.NullLogger(*args, **kwargs) + +

+ + +
+

+ Bases: Logger

+ + +

A logger that does nothing.

+ +

Initialise the logger.

+ +
+ Source code in ebcc/core/logging.py +
51
+52
+53
def __init__(self, *args: Any, **kwargs: Any) -> None:
+    """Initialise the logger."""
+    super().__init__("null")
+
+
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ + +
+ + +

+ ebcc.core.logging.init_logging(log) + +

+ + +
+ +

Initialise the logging with a header.

+ +
+ Source code in ebcc/core/logging.py +
 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
def init_logging(log: Logger) -> None:
+    """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: str) -> str:
+        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
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/reference/core/precision/index.html b/reference/core/precision/index.html new file mode 100644 index 00000000..c94ef7e2 --- /dev/null +++ b/reference/core/precision/index.html @@ -0,0 +1,513 @@ + + + + + + + + Precision - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Floating point precision control.

+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.core.precision.astype(value, dtype) + +

+ + +
+ +

Cast a value to the current floating point type.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + value + (T) + – +
    +

    The value to cast.

    +
    +
  • +
  • + dtype + (Type[T]) + – +
    +

    The type to cast to.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + T + – +
    +

    The value cast to the current floating point type.

    +
    +
  • +
+
+
+ Source code in ebcc/core/precision.py +
30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
def astype(value: T, dtype: Type[T]) -> T:
+    """Cast a value to the current floating point type.
+
+    Args:
+        value: The value to cast.
+        dtype: The type to cast to.
+
+    Returns:
+        The value cast to the current floating point type.
+    """
+    out: T = types[dtype](value)
+    return out
+
+
+
+ +
+ +
+ + +

+ ebcc.core.precision.set_precision(**kwargs) + +

+ + +
+ +

Set the floating point type.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + float + – +
    +

    The floating point type to use.

    +
    +
  • +
  • + complex + – +
    +

    The complex type to use.

    +
    +
  • +
+
+
+ Source code in ebcc/core/precision.py +
44
+45
+46
+47
+48
+49
+50
+51
+52
def set_precision(**kwargs: type) -> None:
+    """Set the floating point type.
+
+    Args:
+        float: The floating point type to use.
+        complex: The complex type to use.
+    """
+    types[float] = kwargs.get("float", types[float])
+    types[complex] = kwargs.get("complex", types[complex])
+
+
+
+ +
+ +
+ + +

+ ebcc.core.precision.precision(**kwargs) + +

+ + +
+ +

Context manager for setting the floating point precision.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + float + – +
    +

    The floating point type to use.

    +
    +
  • +
  • + complex + – +
    +

    The complex type to use.

    +
    +
  • +
+
+
+ Source code in ebcc/core/precision.py +
55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
@contextmanager
+def precision(**kwargs: type) -> Iterator[None]:
+    """Context manager for setting the floating point precision.
+
+    Args:
+        float: The floating point type to use.
+        complex: The complex type to use.
+    """
+    old = {
+        "float": types[float],
+        "complex": types[complex],
+    }
+    set_precision(**kwargs)
+    yield
+    set_precision(**old)
+
+
+
+ +
+ +
+ + +

+ ebcc.core.precision.single_precision() + +

+ + +
+ +

Context manager for setting the floating point precision to single precision.

+ +
+ Source code in ebcc/core/precision.py +
72
+73
+74
+75
+76
@contextmanager
+def single_precision() -> Iterator[None]:
+    """Context manager for setting the floating point precision to single precision."""
+    with precision(float=np.float32, complex=np.complex64):
+        yield
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/reference/eom/base/index.html b/reference/eom/base/index.html new file mode 100644 index 00000000..949380b2 --- /dev/null +++ b/reference/eom/base/index.html @@ -0,0 +1,3136 @@ + + + + + + + + Base - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Base classes for ebcc.eom.

+ + + +
+ + + + + + + + +
+ + + +

+ ebcc.eom.base.BaseOptions(nroots=5, e_tol=1e-06, max_iter=100, max_space=12, koopmans=False, left=False) + + + dataclass + + +

+ + +
+ + +

Options for EOM calculations.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + nroots + (int, default: + 5 +) + – +
    +

    Number of roots to solver for.

    +
    +
  • +
  • + e_tol + (float, default: + 1e-06 +) + – +
    +

    Threshold for convergence in the eigenvalues.

    +
    +
  • +
  • + max_iter + (int, default: + 100 +) + – +
    +

    Maximum number of iterations.

    +
    +
  • +
  • + max_space + (int, default: + 12 +) + – +
    +

    Maximum size of the Lanczos vector space.

    +
    +
  • +
  • + koopmans + (bool, default: + False +) + – +
    +

    Whether to use a Koopmans'-like guess.

    +
    +
  • +
  • + left + (bool, default: + False +) + – +
    +

    Whether to apply the left-hand side of the Hamiltonian.

    +
    +
  • +
+
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+ + + +

+ ebcc.eom.base.BaseEOM(ebcc, options=None, **kwargs) + +

+ + +
+

+ Bases: ABC

+ + +

Base class for equation-of-motion coupled cluster.

+ +

Initialise the EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + ebcc + (BaseEBCC) + – +
    +

    Parent EBCC object.

    +
    +
  • +
  • + options + (Optional[BaseOptions], default: + None +) + – +
    +

    Options for the EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments used to update options.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
def __init__(
+    self,
+    ebcc: BaseEBCC,
+    options: Optional[BaseOptions] = None,
+    **kwargs: Any,
+) -> None:
+    """Initialise the EOM object.
+
+    Args:
+        ebcc: Parent `EBCC` object.
+        options: Options for the EOM calculation.
+        **kwargs: Additional keyword arguments used to update `options`.
+    """
+    # Options:
+    if options is None:
+        options = self.Options()
+    self.options = options
+    for key, val in kwargs.items():
+        setattr(self.options, key, val)
+
+    # Parameters:
+    self.ebcc = ebcc
+    self.space = ebcc.space
+    self.ansatz = ebcc.ansatz
+    self.log = ebcc.log
+
+    # Attributes:
+    self.converged = False
+    self.e: NDArray[T] = np.zeros((0,), dtype=types[float])
+    self.v: NDArray[T] = np.zeros((0, 0), dtype=types[float])
+
+    # 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("")
+
+
+ + + +
+ + + + + + + +
+ + + +

+ ebcc.eom.base.BaseEOM.excitation_type: str + + + abstractmethod + property + + +

+ + +
+ +

Get the type of excitation.

+
+ +
+ +
+ + + +

+ ebcc.eom.base.BaseEOM.spin_type: str + + + property + + +

+ + +
+ +

Get the spin type.

+
+ +
+ +
+ + + +

+ ebcc.eom.base.BaseEOM.name: str + + + property + + +

+ + +
+ +

Get the name of the method.

+
+ +
+ +
+ + + +

+ ebcc.eom.base.BaseEOM.nmo: Any + + + property + + +

+ + +
+ +

Get the number of MOs.

+
+ +
+ +
+ + + +

+ ebcc.eom.base.BaseEOM.nocc: Any + + + property + + +

+ + +
+ +

Get the number of occupied MOs.

+
+ +
+ +
+ + + +

+ ebcc.eom.base.BaseEOM.nvir: Any + + + property + + +

+ + +
+ +

Get the number of virtual MOs.

+
+ +
+ + + +
+ + +

+ ebcc.eom.base.BaseEOM.amplitudes_to_vector(amplitudes) + + + abstractmethod + + +

+ + +
+ +

Construct a vector containing all of the amplitudes used in the given ansatz.

+ + + + + + + + + + + + + +
Parameters: + +
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Cluster amplitudes as a vector.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
@abstractmethod
+def amplitudes_to_vector(self, amplitudes: Namespace[SpinArrayType]) -> NDArray[T]:
+    """Construct a vector containing all of the amplitudes used in the given ansatz.
+
+    Args:
+        amplitudes: Cluster amplitudes.
+
+    Returns:
+        Cluster amplitudes as a vector.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.base.BaseEOM.vector_to_amplitudes(vector) + + + abstractmethod + + +

+ + +
+ +

Construct amplitudes from a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + vector + (NDArray[T]) + – +
    +

    Cluster amplitudes as a vector.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: + +
+
+ Source code in ebcc/eom/base.py +
140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
@abstractmethod
+def vector_to_amplitudes(self, vector: NDArray[T]) -> Namespace[SpinArrayType]:
+    """Construct amplitudes from a vector.
+
+    Args:
+        vector: Cluster amplitudes as a vector.
+
+    Returns:
+        Cluster amplitudes.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.base.BaseEOM.matvec(vector, eris=None, ints=None, left=False) + + + abstractmethod + + +

+ + +
+ +

Apply the Hamiltonian to a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + vector + (NDArray[T]) + – +
    +

    State vector to apply the Hamiltonian to.

    +
    +
  • +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electronic repulsion integrals.

    +
    +
  • +
  • + ints + (Optional[Namespace[NDArray[T]]], default: + None +) + – +
    +

    Intermediate products.

    +
    +
  • +
  • + left + (bool, default: + False +) + – +
    +

    Whether to apply the left-hand side of the Hamiltonian.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Resulting vector.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
@abstractmethod
+def matvec(
+    self,
+    vector: NDArray[T],
+    eris: Optional[ERIsInputType] = None,
+    ints: Optional[Namespace[NDArray[T]]] = None,
+    left: bool = False,
+) -> NDArray[T]:
+    """Apply the Hamiltonian to a vector.
+
+    Args:
+        vector: State vector to apply the Hamiltonian to.
+        eris: Electronic repulsion integrals.
+        ints: Intermediate products.
+        left: Whether to apply the left-hand side of the Hamiltonian.
+
+    Returns:
+        Resulting vector.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.base.BaseEOM.matvec_intermediates(eris=None, left=False) + + + abstractmethod + + +

+ + +
+ +

Get the intermediates for application of the Hamiltonian to a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electronic repulsion integrals.

    +
    +
  • +
  • + left + (bool, default: + False +) + – +
    +

    Whether to apply the left-hand side of the Hamiltonian.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[NDArray[T]] + – +
    +

    Intermediate products.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
@abstractmethod
+def matvec_intermediates(
+    self, eris: Optional[ERIsInputType] = None, left: bool = False
+) -> Namespace[NDArray[T]]:
+    """Get the intermediates for application of the Hamiltonian to a vector.
+
+    Args:
+        eris: Electronic repulsion integrals.
+        left: Whether to apply the left-hand side of the Hamiltonian.
+
+    Returns:
+        Intermediate products.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.base.BaseEOM.diag(eris=None) + + + abstractmethod + + +

+ + +
+ +

Get the diagonal of the Hamiltonian.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electronic repulsion integrals.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Diagonal of the Hamiltonian.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
@abstractmethod
+def diag(self, eris: Optional[ERIsInputType] = None) -> NDArray[T]:
+    """Get the diagonal of the Hamiltonian.
+
+    Args:
+        eris: Electronic repulsion integrals.
+
+    Returns:
+        Diagonal of the Hamiltonian.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.base.BaseEOM.get_pick(guesses=None, real_system=True) + +

+ + +
+ +

Get the function to pick the eigenvalues matching the criteria.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + guesses + (Optional[NDArray[T]], default: + None +) + – +
    +

    Initial guesses for the roots.

    +
    +
  • +
  • + real_system + (bool, default: + True +) + – +
    +

    Whether the system is real-valued.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + PickFunctionType + – +
    +

    Function to pick the eigenvalues.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
def get_pick(
+    self, guesses: Optional[NDArray[T]] = None, real_system: bool = True
+) -> PickFunctionType:
+    """Get the function to pick the eigenvalues matching the criteria.
+
+    Args:
+        guesses: Initial guesses for the roots.
+        real_system: Whether the system is real-valued.
+
+    Returns:
+        Function to pick the eigenvalues.
+    """
+
+    if self.options.koopmans:
+        assert guesses is not None
+
+        def pick(
+            w: NDArray[T], v: NDArray[T], nroots: int, env: dict[str, Any]
+        ) -> tuple[NDArray[T], NDArray[T], int]:
+            """Pick the eigenvalues."""
+            x0 = to_numpy(lib.linalg_helper._gen_x0(env["v"], env["xs"]))
+            s = to_numpy(guesses).conj() @ x0.T
+            s = numpy.einsum("pi,pi->i", s.conj(), s)
+            arg = numpy.argsort(-s)[:nroots]
+            w, v, idx = lib.linalg_helper._eigs_cmplx2real(
+                to_numpy(w),
+                to_numpy(v),
+                arg,
+                real_system,
+            )
+            return w, v, idx
+
+    else:
+
+        def pick(
+            w: NDArray[T], v: NDArray[T], nroots: int, env: dict[str, Any]
+        ) -> tuple[NDArray[T], NDArray[T], int]:
+            """Pick the eigenvalues."""
+            real_idx = numpy.where(abs(numpy.imag(w)) < 1e-3)[0]
+            w, v, idx = lib.linalg_helper._eigs_cmplx2real(
+                to_numpy(w),
+                to_numpy(v),
+                real_idx,
+                real_system,
+            )
+            return w, v, idx
+
+    return pick
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.base.BaseEOM.get_guesses(diag=None) + +

+ + +
+ +

Get the initial guesses vectors.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + diag + (Optional[NDArray[T]], default: + None +) + – +
    +

    Diagonal of the Hamiltonian.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + list[NDArray[T]] + – +
    +

    Initial guesses.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
def get_guesses(self, diag: Optional[NDArray[T]] = None) -> list[NDArray[T]]:
+    """Get the initial guesses vectors.
+
+    Args:
+        diag: Diagonal of the Hamiltonian.
+
+    Returns:
+        Initial guesses.
+    """
+    if diag is None:
+        diag = self.diag()
+    arg = self._argsort_guesses(diag)
+
+    nroots = min(self.options.nroots, diag.size)
+    guesses: list[NDArray[T]] = []
+    for root, guess in enumerate(arg[:nroots]):
+        guesses.append(np.eye(1, diag.size, guess, dtype=types[float])[0])
+
+    return guesses
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.base.BaseEOM.callback(envs) + +

+ + +
+ +

Callback function for the eigensolver.

+ +
+ Source code in ebcc/eom/base.py +
279
+280
+281
def callback(self, envs: dict[str, Any]) -> None:  # noqa: B027
+    """Callback function for the eigensolver."""  # noqa: D401
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.base.BaseEOM.davidson(eris=None, guesses=None) + +

+ + +
+ +

Solve the EOM Hamiltonian using the Davidson solver.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electronic repulsion integrals.

    +
    +
  • +
  • + guesses + (Optional[list[NDArray[T]]], default: + None +) + – +
    +

    Initial guesses for the roots.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Energies of the roots.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
def davidson(
+    self,
+    eris: Optional[ERIsInputType] = None,
+    guesses: Optional[list[NDArray[T]]] = None,
+) -> NDArray[T]:
+    """Solve the EOM Hamiltonian using the Davidson solver.
+
+    Args:
+        eris: Electronic repulsion integrals.
+        guesses: Initial guesses for the roots.
+
+    Returns:
+        Energies of the roots.
+    """
+    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()
+    )
+
+    # Get the matrix-vector products and the diagonal:
+    ints = self.matvec_intermediates(eris=eris, left=self.options.left)
+    matvecs = lambda vs: [
+        to_numpy(self.matvec(np.asarray(v), eris=eris, ints=ints, left=self.options.left))
+        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=np.stack(guesses))
+    converged, e, v = lib.davidson_nosym1(
+        matvecs,
+        [to_numpy(g) for g in guesses],
+        to_numpy(diag),
+        tol=self.options.e_tol,
+        nroots=nroots,
+        pick=pick,
+        max_cycle=self.options.max_iter,
+        max_space=self.options.max_space,
+        callback=self.callback,
+        verbose=0,
+    )
+    e = np.asarray(e)
+    v = np.asarray(v)
+
+    # Check for convergence:
+    if all(converged):
+        self.log.debug("")
+        self.log.output(f"{ANSI.g}Converged.{ANSI.R}")
+    else:
+        self.log.debug("")
+        self.log.warning(
+            f"{ANSI.r}Failed to converge {sum(not c for c in converged)} roots.{ANSI.R}"
+        )
+
+    # Update attributes:
+    self.converged = converged
+    self.e = np.asarray(e, dtype=types[float])
+    self.v = np.transpose(np.asarray(v, dtype=types[float]))
+
+    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(self.e, np.transpose(self.v), converged)):
+        r1n = self.vector_to_amplitudes(vn)["r1"]
+        qpwt = self._quasiparticle_weight(r1n)
+        self.log.output(
+            f"{n:>4d} {np.ravel(en)[0]:>16.10f} {qpwt:>13.5g} "
+            f"{[ANSI.r, ANSI.g][bool(cn)]}{cn!r:>8s}{ANSI.R}"
+        )
+
+    self.log.debug("")
+    self.log.debug("Time elapsed: %s", timer.format_time(timer()))
+    self.log.debug("")
+
+    return self.e
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + + +

+ ebcc.eom.base.BaseIP_EOM(ebcc, options=None, **kwargs) + +

+ + +
+

+ Bases: BaseEOM

+ + +

Base class for ionisation-potential EOM-CC.

+ +

Initialise the EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + ebcc + (BaseEBCC) + – +
    +

    Parent EBCC object.

    +
    +
  • +
  • + options + (Optional[BaseOptions], default: + None +) + – +
    +

    Options for the EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments used to update options.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
def __init__(
+    self,
+    ebcc: BaseEBCC,
+    options: Optional[BaseOptions] = None,
+    **kwargs: Any,
+) -> None:
+    """Initialise the EOM object.
+
+    Args:
+        ebcc: Parent `EBCC` object.
+        options: Options for the EOM calculation.
+        **kwargs: Additional keyword arguments used to update `options`.
+    """
+    # Options:
+    if options is None:
+        options = self.Options()
+    self.options = options
+    for key, val in kwargs.items():
+        setattr(self.options, key, val)
+
+    # Parameters:
+    self.ebcc = ebcc
+    self.space = ebcc.space
+    self.ansatz = ebcc.ansatz
+    self.log = ebcc.log
+
+    # Attributes:
+    self.converged = False
+    self.e: NDArray[T] = np.zeros((0,), dtype=types[float])
+    self.v: NDArray[T] = np.zeros((0, 0), dtype=types[float])
+
+    # 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("")
+
+
+ + + +
+ + + + + + + +
+ + + +

+ ebcc.eom.base.BaseIP_EOM.excitation_type: str + + + property + + +

+ + +
+ +

Get the type of excitation.

+
+ +
+ + + +
+ + +

+ ebcc.eom.base.BaseIP_EOM.matvec(vector, eris=None, ints=None, left=False) + +

+ + +
+ +

Apply the Hamiltonian to a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + vector + (NDArray[T]) + – +
    +

    State vector to apply the Hamiltonian to.

    +
    +
  • +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electronic repulsion integrals.

    +
    +
  • +
  • + ints + (Optional[Namespace[NDArray[T]]], default: + None +) + – +
    +

    Intermediate products.

    +
    +
  • +
  • + left + (bool, default: + False +) + – +
    +

    Whether to apply the left-hand side of the Hamiltonian.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Resulting vector.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
def matvec(
+    self,
+    vector: NDArray[T],
+    eris: Optional[ERIsInputType] = None,
+    ints: Optional[Namespace[NDArray[T]]] = None,
+    left: bool = False,
+) -> NDArray[T]:
+    """Apply the Hamiltonian to a vector.
+
+    Args:
+        vector: State vector to apply the Hamiltonian to.
+        eris: Electronic repulsion integrals.
+        ints: Intermediate products.
+        left: Whether to apply the left-hand side of the Hamiltonian.
+
+    Returns:
+        Resulting vector.
+    """
+    if not ints:
+        ints = self.matvec_intermediates(eris=eris, left=left)
+    amplitudes = self.vector_to_amplitudes(vector)
+    func, kwargs = self.ebcc._load_function(
+        f"hbar_{'l' if left else ''}matvec_ip",
+        eris=eris,
+        ints=ints,
+        amplitudes=self.ebcc.amplitudes,
+        excitations=amplitudes,
+    )
+    res: Namespace[SpinArrayType] = func(**kwargs)
+    res = util.Namespace(**{key.rstrip("new"): val for key, val in res.items()})
+    return self.amplitudes_to_vector(res)
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.base.BaseIP_EOM.matvec_intermediates(eris=None, left=False) + +

+ + +
+ +

Get the intermediates for application of the Hamiltonian to a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electronic repulsion integrals.

    +
    +
  • +
  • + left + (bool, default: + False +) + – +
    +

    Whether to apply the left-hand side of the Hamiltonian.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[NDArray[T]] + – +
    +

    Intermediate products.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
def matvec_intermediates(
+    self, eris: Optional[ERIsInputType] = None, left: bool = False
+) -> Namespace[NDArray[T]]:
+    """Get the intermediates for application of the Hamiltonian to a vector.
+
+    Args:
+        eris: Electronic repulsion integrals.
+        left: Whether to apply the left-hand side of the Hamiltonian.
+
+    Returns:
+        Intermediate products.
+    """
+    func, kwargs = self.ebcc._load_function(
+        f"hbar_{'l' if left else ''}matvec_ip_intermediates",
+        eris=eris,
+        amplitudes=self.ebcc.amplitudes,
+    )
+    res: Namespace[NDArray[T]] = util.Namespace(**func(**kwargs))
+    return res
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + + +

+ ebcc.eom.base.BaseEA_EOM(ebcc, options=None, **kwargs) + +

+ + +
+

+ Bases: BaseEOM

+ + +

Base class for electron-affinity EOM-CC.

+ +

Initialise the EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + ebcc + (BaseEBCC) + – +
    +

    Parent EBCC object.

    +
    +
  • +
  • + options + (Optional[BaseOptions], default: + None +) + – +
    +

    Options for the EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments used to update options.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
def __init__(
+    self,
+    ebcc: BaseEBCC,
+    options: Optional[BaseOptions] = None,
+    **kwargs: Any,
+) -> None:
+    """Initialise the EOM object.
+
+    Args:
+        ebcc: Parent `EBCC` object.
+        options: Options for the EOM calculation.
+        **kwargs: Additional keyword arguments used to update `options`.
+    """
+    # Options:
+    if options is None:
+        options = self.Options()
+    self.options = options
+    for key, val in kwargs.items():
+        setattr(self.options, key, val)
+
+    # Parameters:
+    self.ebcc = ebcc
+    self.space = ebcc.space
+    self.ansatz = ebcc.ansatz
+    self.log = ebcc.log
+
+    # Attributes:
+    self.converged = False
+    self.e: NDArray[T] = np.zeros((0,), dtype=types[float])
+    self.v: NDArray[T] = np.zeros((0, 0), dtype=types[float])
+
+    # 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("")
+
+
+ + + +
+ + + + + + + +
+ + + +

+ ebcc.eom.base.BaseEA_EOM.excitation_type: str + + + property + + +

+ + +
+ +

Get the type of excitation.

+
+ +
+ + + +
+ + +

+ ebcc.eom.base.BaseEA_EOM.matvec(vector, eris=None, ints=None, left=False) + +

+ + +
+ +

Apply the Hamiltonian to a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + vector + (NDArray[T]) + – +
    +

    State vector to apply the Hamiltonian to.

    +
    +
  • +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electronic repulsion integrals.

    +
    +
  • +
  • + ints + (Optional[Namespace[NDArray[T]]], default: + None +) + – +
    +

    Intermediate products.

    +
    +
  • +
  • + left + (bool, default: + False +) + – +
    +

    Whether to apply the left-hand side of the Hamiltonian.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Resulting vector.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
def matvec(
+    self,
+    vector: NDArray[T],
+    eris: Optional[ERIsInputType] = None,
+    ints: Optional[Namespace[NDArray[T]]] = None,
+    left: bool = False,
+) -> NDArray[T]:
+    """Apply the Hamiltonian to a vector.
+
+    Args:
+        vector: State vector to apply the Hamiltonian to.
+        eris: Electronic repulsion integrals.
+        ints: Intermediate products.
+        left: Whether to apply the left-hand side of the Hamiltonian.
+
+    Returns:
+        Resulting vector.
+    """
+    if not ints:
+        ints = self.matvec_intermediates(eris=eris, left=left)
+    amplitudes = self.vector_to_amplitudes(vector)
+    func, kwargs = self.ebcc._load_function(
+        f"hbar_{'l' if left else ''}matvec_ea",
+        eris=eris,
+        ints=ints,
+        amplitudes=self.ebcc.amplitudes,
+        excitations=amplitudes,
+    )
+    res: Namespace[SpinArrayType] = func(**kwargs)
+    res = util.Namespace(**{key.rstrip("new"): val for key, val in res.items()})
+    return self.amplitudes_to_vector(res)
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.base.BaseEA_EOM.matvec_intermediates(eris=None, left=False) + +

+ + +
+ +

Get the intermediates for application of the Hamiltonian to a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electronic repulsion integrals.

    +
    +
  • +
  • + left + (bool, default: + False +) + – +
    +

    Whether to apply the left-hand side of the Hamiltonian.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[NDArray[T]] + – +
    +

    Intermediate products.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
def matvec_intermediates(
+    self, eris: Optional[ERIsInputType] = None, left: bool = False
+) -> Namespace[NDArray[T]]:
+    """Get the intermediates for application of the Hamiltonian to a vector.
+
+    Args:
+        eris: Electronic repulsion integrals.
+        left: Whether to apply the left-hand side of the Hamiltonian.
+
+    Returns:
+        Intermediate products.
+    """
+    func, kwargs = self.ebcc._load_function(
+        f"hbar_{'l' if left else ''}matvec_ea_intermediates",
+        eris=eris,
+        amplitudes=self.ebcc.amplitudes,
+    )
+    res: Namespace[NDArray[T]] = util.Namespace(**func(**kwargs))
+    return res
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + + +

+ ebcc.eom.base.BaseEE_EOM(ebcc, options=None, **kwargs) + +

+ + +
+

+ Bases: BaseEOM

+ + +

Base class for electron-electron EOM-CC.

+ +

Initialise the EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + ebcc + (BaseEBCC) + – +
    +

    Parent EBCC object.

    +
    +
  • +
  • + options + (Optional[BaseOptions], default: + None +) + – +
    +

    Options for the EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments used to update options.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
def __init__(
+    self,
+    ebcc: BaseEBCC,
+    options: Optional[BaseOptions] = None,
+    **kwargs: Any,
+) -> None:
+    """Initialise the EOM object.
+
+    Args:
+        ebcc: Parent `EBCC` object.
+        options: Options for the EOM calculation.
+        **kwargs: Additional keyword arguments used to update `options`.
+    """
+    # Options:
+    if options is None:
+        options = self.Options()
+    self.options = options
+    for key, val in kwargs.items():
+        setattr(self.options, key, val)
+
+    # Parameters:
+    self.ebcc = ebcc
+    self.space = ebcc.space
+    self.ansatz = ebcc.ansatz
+    self.log = ebcc.log
+
+    # Attributes:
+    self.converged = False
+    self.e: NDArray[T] = np.zeros((0,), dtype=types[float])
+    self.v: NDArray[T] = np.zeros((0, 0), dtype=types[float])
+
+    # 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("")
+
+
+ + + +
+ + + + + + + +
+ + + +

+ ebcc.eom.base.BaseEE_EOM.excitation_type: str + + + property + + +

+ + +
+ +

Get the type of excitation.

+
+ +
+ + + +
+ + +

+ ebcc.eom.base.BaseEE_EOM.matvec(vector, eris=None, ints=None, left=False) + +

+ + +
+ +

Apply the Hamiltonian to a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + vector + (NDArray[T]) + – +
    +

    State vector to apply the Hamiltonian to.

    +
    +
  • +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electronic repulsion integrals.

    +
    +
  • +
  • + ints + (Optional[Namespace[NDArray[T]]], default: + None +) + – +
    +

    Intermediate products.

    +
    +
  • +
  • + left + (bool, default: + False +) + – +
    +

    Whether to apply the left-hand side of the Hamiltonian.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Resulting vector.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
def matvec(
+    self,
+    vector: NDArray[T],
+    eris: Optional[ERIsInputType] = None,
+    ints: Optional[Namespace[NDArray[T]]] = None,
+    left: bool = False,
+) -> NDArray[T]:
+    """Apply the Hamiltonian to a vector.
+
+    Args:
+        vector: State vector to apply the Hamiltonian to.
+        eris: Electronic repulsion integrals.
+        ints: Intermediate products.
+        left: Whether to apply the left-hand side of the Hamiltonian.
+
+    Returns:
+        Resulting vector.
+    """
+    if not ints:
+        ints = self.matvec_intermediates(eris=eris, left=left)
+    amplitudes = self.vector_to_amplitudes(vector)
+    func, kwargs = self.ebcc._load_function(
+        f"hbar_{'l' if left else ''}matvec_ee",
+        eris=eris,
+        ints=ints,
+        amplitudes=self.ebcc.amplitudes,
+        excitations=amplitudes,
+    )
+    res: Namespace[SpinArrayType] = func(**kwargs)
+    res = util.Namespace(**{key.rstrip("new"): val for key, val in res.items()})
+    return self.amplitudes_to_vector(res)
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.base.BaseEE_EOM.matvec_intermediates(eris=None, left=False) + +

+ + +
+ +

Get the intermediates for application of the Hamiltonian to a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electronic repulsion integrals.

    +
    +
  • +
  • + left + (bool, default: + False +) + – +
    +

    Whether to apply the left-hand side of the Hamiltonian.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[NDArray[T]] + – +
    +

    Intermediate products.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
def matvec_intermediates(
+    self, eris: Optional[ERIsInputType] = None, left: bool = False
+) -> Namespace[NDArray[T]]:
+    """Get the intermediates for application of the Hamiltonian to a vector.
+
+    Args:
+        eris: Electronic repulsion integrals.
+        left: Whether to apply the left-hand side of the Hamiltonian.
+
+    Returns:
+        Intermediate products.
+    """
+    func, kwargs = self.ebcc._load_function(
+        f"hbar_{'l' if left else ''}matvec_ee_intermediates",
+        eris=eris,
+        amplitudes=self.ebcc.amplitudes,
+    )
+    res: Namespace[NDArray[T]] = util.Namespace(**func(**kwargs))
+    return res
+
+
+
+ +
+ + + +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/reference/eom/geom/index.html b/reference/eom/geom/index.html new file mode 100644 index 00000000..34c160a0 --- /dev/null +++ b/reference/eom/geom/index.html @@ -0,0 +1,1977 @@ + + + + + + + + Generalised - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Generalised equation-of-motion coupled cluster.

+ + + +
+ + + + + + + + +
+ + + +

+ ebcc.eom.geom.GEOM(ebcc, options=None, **kwargs) + +

+ + +
+

+ Bases: BaseEOM

+ + +

Generalised equation-of-motion coupled cluster.

+ +

Initialise the EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + ebcc + (BaseEBCC) + – +
    +

    Parent EBCC object.

    +
    +
  • +
  • + options + (Optional[BaseOptions], default: + None +) + – +
    +

    Options for the EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments used to update options.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
def __init__(
+    self,
+    ebcc: BaseEBCC,
+    options: Optional[BaseOptions] = None,
+    **kwargs: Any,
+) -> None:
+    """Initialise the EOM object.
+
+    Args:
+        ebcc: Parent `EBCC` object.
+        options: Options for the EOM calculation.
+        **kwargs: Additional keyword arguments used to update `options`.
+    """
+    # Options:
+    if options is None:
+        options = self.Options()
+    self.options = options
+    for key, val in kwargs.items():
+        setattr(self.options, key, val)
+
+    # Parameters:
+    self.ebcc = ebcc
+    self.space = ebcc.space
+    self.ansatz = ebcc.ansatz
+    self.log = ebcc.log
+
+    # Attributes:
+    self.converged = False
+    self.e: NDArray[T] = np.zeros((0,), dtype=types[float])
+    self.v: NDArray[T] = np.zeros((0, 0), dtype=types[float])
+
+    # 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("")
+
+
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+ + + +

+ ebcc.eom.geom.IP_GEOM(ebcc, options=None, **kwargs) + +

+ + +
+

+ Bases: GEOM, BaseIP_EOM

+ + +

Generalised ionisation potential equation-of-motion coupled cluster.

+ +

Initialise the EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + ebcc + (BaseEBCC) + – +
    +

    Parent EBCC object.

    +
    +
  • +
  • + options + (Optional[BaseOptions], default: + None +) + – +
    +

    Options for the EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments used to update options.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
def __init__(
+    self,
+    ebcc: BaseEBCC,
+    options: Optional[BaseOptions] = None,
+    **kwargs: Any,
+) -> None:
+    """Initialise the EOM object.
+
+    Args:
+        ebcc: Parent `EBCC` object.
+        options: Options for the EOM calculation.
+        **kwargs: Additional keyword arguments used to update `options`.
+    """
+    # Options:
+    if options is None:
+        options = self.Options()
+    self.options = options
+    for key, val in kwargs.items():
+        setattr(self.options, key, val)
+
+    # Parameters:
+    self.ebcc = ebcc
+    self.space = ebcc.space
+    self.ansatz = ebcc.ansatz
+    self.log = ebcc.log
+
+    # Attributes:
+    self.converged = False
+    self.e: NDArray[T] = np.zeros((0,), dtype=types[float])
+    self.v: NDArray[T] = np.zeros((0, 0), dtype=types[float])
+
+    # 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("")
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.eom.geom.IP_GEOM.diag(eris=None) + +

+ + +
+ +

Get the diagonal of the Hamiltonian.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electronic repulsion integrals.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Diagonal of the Hamiltonian.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/geom.py +
48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
def diag(self, eris: Optional[ERIsInputType] = None) -> NDArray[T]:
+    """Get the diagonal of the Hamiltonian.
+
+    Args:
+        eris: Electronic repulsion integrals.
+
+    Returns:
+        Diagonal of the Hamiltonian.
+    """
+    parts: Namespace[SpinArrayType] = util.Namespace()
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ip"
+    ):
+        parts[name] = self.ebcc.energy_sum(key)
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ip"):
+        raise util.ModelNotImplemented
+
+    return self.amplitudes_to_vector(parts)
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.geom.IP_GEOM.amplitudes_to_vector(amplitudes) + +

+ + +
+ +

Construct a vector containing all of the IP-EOM amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + amplitudes + (Namespace[SpinArrayType]) + – +
    +

    IP-EOM amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    IP-EOM amplitudes as a vector.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/geom.py +
69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
def amplitudes_to_vector(self, amplitudes: Namespace[SpinArrayType]) -> NDArray[T]:
+    """Construct a vector containing all of the IP-EOM amplitudes.
+
+    Args:
+        amplitudes: IP-EOM amplitudes.
+
+    Returns:
+        IP-EOM amplitudes as a vector.
+    """
+    vectors = []
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ip"
+    ):
+        vectors.append(np.ravel(util.compress_axes(key, amplitudes[name])))
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ip"):
+        raise util.ModelNotImplemented
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="ip"
+    ):
+        raise util.ModelNotImplemented
+
+    return np.concatenate(vectors)
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.geom.IP_GEOM.vector_to_amplitudes(vector) + +

+ + +
+ +

Construct a namespace of IP-EOM amplitudes from a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + vector + (NDArray[T]) + – +
    +

    IP-EOM amplitudes as a vector.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    IP-EOM amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/geom.py +
 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
def vector_to_amplitudes(self, vector: NDArray[T]) -> Namespace[SpinArrayType]:
+    """Construct a namespace of IP-EOM amplitudes from a vector.
+
+    Args:
+        vector: IP-EOM amplitudes as a vector.
+
+    Returns:
+        IP-EOM amplitudes.
+    """
+    amplitudes: Namespace[SpinArrayType] = util.Namespace()
+    i0 = 0
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ip"
+    ):
+        size = util.get_compressed_size(key, **{k: self.space.size(k) for k in set(key)})
+        shape = tuple(self.space.size(k) for k in key)
+        vn_tril = vector[i0 : i0 + size]
+        vn = util.decompress_axes(key, vn_tril, shape=shape)
+        amplitudes[name] = vn
+        i0 += size
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ip"):
+        raise util.ModelNotImplemented
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="ip"
+    ):
+        raise util.ModelNotImplemented
+
+    return amplitudes
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + + +

+ ebcc.eom.geom.EA_GEOM(ebcc, options=None, **kwargs) + +

+ + +
+

+ Bases: GEOM, BaseEA_EOM

+ + +

Generalised electron affinity equation-of-motion coupled cluster.

+ +

Initialise the EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + ebcc + (BaseEBCC) + – +
    +

    Parent EBCC object.

    +
    +
  • +
  • + options + (Optional[BaseOptions], default: + None +) + – +
    +

    Options for the EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments used to update options.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
def __init__(
+    self,
+    ebcc: BaseEBCC,
+    options: Optional[BaseOptions] = None,
+    **kwargs: Any,
+) -> None:
+    """Initialise the EOM object.
+
+    Args:
+        ebcc: Parent `EBCC` object.
+        options: Options for the EOM calculation.
+        **kwargs: Additional keyword arguments used to update `options`.
+    """
+    # Options:
+    if options is None:
+        options = self.Options()
+    self.options = options
+    for key, val in kwargs.items():
+        setattr(self.options, key, val)
+
+    # Parameters:
+    self.ebcc = ebcc
+    self.space = ebcc.space
+    self.ansatz = ebcc.ansatz
+    self.log = ebcc.log
+
+    # Attributes:
+    self.converged = False
+    self.e: NDArray[T] = np.zeros((0,), dtype=types[float])
+    self.v: NDArray[T] = np.zeros((0, 0), dtype=types[float])
+
+    # 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("")
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.eom.geom.EA_GEOM.diag(eris=None) + +

+ + +
+ +

Get the diagonal of the Hamiltonian.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electronic repulsion integrals.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Diagonal of the Hamiltonian.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/geom.py +
144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
def diag(self, eris: Optional[ERIsInputType] = None) -> NDArray[T]:
+    """Get the diagonal of the Hamiltonian.
+
+    Args:
+        eris: Electronic repulsion integrals.
+
+    Returns:
+        Diagonal of the Hamiltonian.
+    """
+    parts: Namespace[SpinArrayType] = util.Namespace()
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ea"
+    ):
+        parts[name] = -self.ebcc.energy_sum(key)
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ea"):
+        raise util.ModelNotImplemented
+
+    return self.amplitudes_to_vector(parts)
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.geom.EA_GEOM.amplitudes_to_vector(amplitudes) + +

+ + +
+ +

Construct a vector containing all of the EA-EOM amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + amplitudes + (Namespace[SpinArrayType]) + – +
    +

    EA-EOM amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    EA-EOM amplitudes as a vector.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/geom.py +
165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
def amplitudes_to_vector(self, amplitudes: Namespace[SpinArrayType]) -> NDArray[T]:
+    """Construct a vector containing all of the EA-EOM amplitudes.
+
+    Args:
+        amplitudes: EA-EOM amplitudes.
+
+    Returns:
+        EA-EOM amplitudes as a vector.
+    """
+    vectors = []
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ea"
+    ):
+        vectors.append(np.ravel(util.compress_axes(key, amplitudes[name])))
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ea"):
+        raise util.ModelNotImplemented
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="ea"
+    ):
+        raise util.ModelNotImplemented
+
+    return np.concatenate(vectors)
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.geom.EA_GEOM.vector_to_amplitudes(vector) + +

+ + +
+ +

Construct a namespace of EA-EOM amplitudes from a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + vector + (NDArray[T]) + – +
    +

    EA-EOM amplitudes as a vector.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    EA-EOM amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/geom.py +
191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
def vector_to_amplitudes(self, vector: NDArray[T]) -> Namespace[SpinArrayType]:
+    """Construct a namespace of EA-EOM amplitudes from a vector.
+
+    Args:
+        vector: EA-EOM amplitudes as a vector.
+
+    Returns:
+        EA-EOM amplitudes.
+    """
+    amplitudes: Namespace[SpinArrayType] = util.Namespace()
+    i0 = 0
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ea"
+    ):
+        size = util.get_compressed_size(key, **{k: self.space.size(k) for k in set(key)})
+        shape = tuple(self.space.size(k) for k in key)
+        vn_tril = vector[i0 : i0 + size]
+        vn = util.decompress_axes(key, vn_tril, shape=shape)
+        amplitudes[name] = vn
+        i0 += size
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ea"):
+        raise util.ModelNotImplemented
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="ea"
+    ):
+        raise util.ModelNotImplemented
+
+    return amplitudes
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + + +

+ ebcc.eom.geom.EE_GEOM(ebcc, options=None, **kwargs) + +

+ + +
+

+ Bases: GEOM, BaseEE_EOM

+ + +

Generalised electron-electron equation-of-motion coupled cluster.

+ +

Initialise the EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + ebcc + (BaseEBCC) + – +
    +

    Parent EBCC object.

    +
    +
  • +
  • + options + (Optional[BaseOptions], default: + None +) + – +
    +

    Options for the EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments used to update options.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
def __init__(
+    self,
+    ebcc: BaseEBCC,
+    options: Optional[BaseOptions] = None,
+    **kwargs: Any,
+) -> None:
+    """Initialise the EOM object.
+
+    Args:
+        ebcc: Parent `EBCC` object.
+        options: Options for the EOM calculation.
+        **kwargs: Additional keyword arguments used to update `options`.
+    """
+    # Options:
+    if options is None:
+        options = self.Options()
+    self.options = options
+    for key, val in kwargs.items():
+        setattr(self.options, key, val)
+
+    # Parameters:
+    self.ebcc = ebcc
+    self.space = ebcc.space
+    self.ansatz = ebcc.ansatz
+    self.log = ebcc.log
+
+    # Attributes:
+    self.converged = False
+    self.e: NDArray[T] = np.zeros((0,), dtype=types[float])
+    self.v: NDArray[T] = np.zeros((0, 0), dtype=types[float])
+
+    # 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("")
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.eom.geom.EE_GEOM.diag(eris=None) + +

+ + +
+ +

Get the diagonal of the Hamiltonian.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electronic repulsion integrals.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Diagonal of the Hamiltonian.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/geom.py +
240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
def diag(self, eris: Optional[ERIsInputType] = None) -> NDArray[T]:
+    """Get the diagonal of the Hamiltonian.
+
+    Args:
+        eris: Electronic repulsion integrals.
+
+    Returns:
+        Diagonal of the Hamiltonian.
+    """
+    parts: Namespace[SpinArrayType] = util.Namespace()
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ee"
+    ):
+        parts[name] = -self.ebcc.energy_sum(key)
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ee"):
+        raise util.ModelNotImplemented
+
+    return self.amplitudes_to_vector(parts)
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.geom.EE_GEOM.amplitudes_to_vector(amplitudes) + +

+ + +
+ +

Construct a vector containing all of the EE-EOM amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + amplitudes + (Namespace[SpinArrayType]) + – +
    +

    EE-EOM amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    EE-EOM amplitudes as a vector.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/geom.py +
261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
def amplitudes_to_vector(self, amplitudes: Namespace[SpinArrayType]) -> NDArray[T]:
+    """Construct a vector containing all of the EE-EOM amplitudes.
+
+    Args:
+        amplitudes: EE-EOM amplitudes.
+
+    Returns:
+        EE-EOM amplitudes as a vector.
+    """
+    vectors = []
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ee"
+    ):
+        vectors.append(np.ravel(util.compress_axes(key, amplitudes[name])))
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ee"):
+        raise util.ModelNotImplemented
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="ee"
+    ):
+        raise util.ModelNotImplemented
+
+    return np.concatenate(vectors)
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.geom.EE_GEOM.vector_to_amplitudes(vector) + +

+ + +
+ +

Construct a namespace of EE-EOM amplitudes from a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + vector + (NDArray[T]) + – +
    +

    EE-EOM amplitudes as a vector.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    EE-EOM amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/geom.py +
287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
def vector_to_amplitudes(self, vector: NDArray[T]) -> Namespace[SpinArrayType]:
+    """Construct a namespace of EE-EOM amplitudes from a vector.
+
+    Args:
+        vector: EE-EOM amplitudes as a vector.
+
+    Returns:
+        EE-EOM amplitudes.
+    """
+    amplitudes: Namespace[SpinArrayType] = util.Namespace()
+    i0 = 0
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ee"
+    ):
+        size = util.get_compressed_size(key, **{k: self.space.size(k) for k in set(key)})
+        shape = tuple(self.space.size(k) for k in key)
+        vn_tril = vector[i0 : i0 + size]
+        vn = util.decompress_axes(key, vn_tril, shape=shape)
+        amplitudes[name] = vn
+        i0 += size
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ee"):
+        raise util.ModelNotImplemented
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="ee"
+    ):
+        raise util.ModelNotImplemented
+
+    return amplitudes
+
+
+
+ +
+ + + +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/reference/eom/index.html b/reference/eom/index.html new file mode 100644 index 00000000..1cfefab3 --- /dev/null +++ b/reference/eom/index.html @@ -0,0 +1,224 @@ + + + + + + + + Index - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Equation-of-motion coupled cluster solvers.

+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/eom/reom/index.html b/reference/eom/reom/index.html new file mode 100644 index 00000000..972d8d53 --- /dev/null +++ b/reference/eom/reom/index.html @@ -0,0 +1,1965 @@ + + + + + + + + Restricted - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Restricted equation-of-motion coupled cluster.

+ + + +
+ + + + + + + + +
+ + + +

+ ebcc.eom.reom.REOM(ebcc, options=None, **kwargs) + +

+ + +
+

+ Bases: BaseEOM

+ + +

Restricted equation-of-motion coupled cluster.

+ +

Initialise the EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + ebcc + (BaseEBCC) + – +
    +

    Parent EBCC object.

    +
    +
  • +
  • + options + (Optional[BaseOptions], default: + None +) + – +
    +

    Options for the EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments used to update options.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
def __init__(
+    self,
+    ebcc: BaseEBCC,
+    options: Optional[BaseOptions] = None,
+    **kwargs: Any,
+) -> None:
+    """Initialise the EOM object.
+
+    Args:
+        ebcc: Parent `EBCC` object.
+        options: Options for the EOM calculation.
+        **kwargs: Additional keyword arguments used to update `options`.
+    """
+    # Options:
+    if options is None:
+        options = self.Options()
+    self.options = options
+    for key, val in kwargs.items():
+        setattr(self.options, key, val)
+
+    # Parameters:
+    self.ebcc = ebcc
+    self.space = ebcc.space
+    self.ansatz = ebcc.ansatz
+    self.log = ebcc.log
+
+    # Attributes:
+    self.converged = False
+    self.e: NDArray[T] = np.zeros((0,), dtype=types[float])
+    self.v: NDArray[T] = np.zeros((0, 0), dtype=types[float])
+
+    # 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("")
+
+
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+ + + +

+ ebcc.eom.reom.IP_REOM(ebcc, options=None, **kwargs) + +

+ + +
+

+ Bases: REOM, BaseIP_EOM

+ + +

Restricted ionisation potential equation-of-motion coupled cluster.

+ +

Initialise the EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + ebcc + (BaseEBCC) + – +
    +

    Parent EBCC object.

    +
    +
  • +
  • + options + (Optional[BaseOptions], default: + None +) + – +
    +

    Options for the EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments used to update options.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
def __init__(
+    self,
+    ebcc: BaseEBCC,
+    options: Optional[BaseOptions] = None,
+    **kwargs: Any,
+) -> None:
+    """Initialise the EOM object.
+
+    Args:
+        ebcc: Parent `EBCC` object.
+        options: Options for the EOM calculation.
+        **kwargs: Additional keyword arguments used to update `options`.
+    """
+    # Options:
+    if options is None:
+        options = self.Options()
+    self.options = options
+    for key, val in kwargs.items():
+        setattr(self.options, key, val)
+
+    # Parameters:
+    self.ebcc = ebcc
+    self.space = ebcc.space
+    self.ansatz = ebcc.ansatz
+    self.log = ebcc.log
+
+    # Attributes:
+    self.converged = False
+    self.e: NDArray[T] = np.zeros((0,), dtype=types[float])
+    self.v: NDArray[T] = np.zeros((0, 0), dtype=types[float])
+
+    # 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("")
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.eom.reom.IP_REOM.diag(eris=None) + +

+ + +
+ +

Get the diagonal of the Hamiltonian.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electronic repulsion integrals.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Diagonal of the Hamiltonian.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/reom.py +
48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
def diag(self, eris: Optional[ERIsInputType] = None) -> NDArray[T]:
+    """Get the diagonal of the Hamiltonian.
+
+    Args:
+        eris: Electronic repulsion integrals.
+
+    Returns:
+        Diagonal of the Hamiltonian.
+    """
+    parts: Namespace[SpinArrayType] = util.Namespace()
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ip"
+    ):
+        parts[name] = self.ebcc.energy_sum(key)
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ip"):
+        raise util.ModelNotImplemented
+
+    return self.amplitudes_to_vector(parts)
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.reom.IP_REOM.amplitudes_to_vector(amplitudes) + +

+ + +
+ +

Construct a vector containing all of the IP-EOM amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + amplitudes + (Namespace[SpinArrayType]) + – +
    +

    IP-EOM amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    IP-EOM amplitudes as a vector.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/reom.py +
69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
def amplitudes_to_vector(self, amplitudes: Namespace[SpinArrayType]) -> NDArray[T]:
+    """Construct a vector containing all of the IP-EOM amplitudes.
+
+    Args:
+        amplitudes: IP-EOM amplitudes.
+
+    Returns:
+        IP-EOM amplitudes as a vector.
+    """
+    vectors = []
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ip"
+    ):
+        vectors.append(np.ravel(amplitudes[name]))
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ip"):
+        raise util.ModelNotImplemented
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="ip"
+    ):
+        raise util.ModelNotImplemented
+
+    return np.concatenate(vectors)
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.reom.IP_REOM.vector_to_amplitudes(vector) + +

+ + +
+ +

Construct a namespace of IP-EOM amplitudes from a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + vector + (NDArray[T]) + – +
    +

    IP-EOM amplitudes as a vector.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    IP-EOM amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/reom.py +
 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
def vector_to_amplitudes(self, vector: NDArray[T]) -> Namespace[SpinArrayType]:
+    """Construct a namespace of IP-EOM amplitudes from a vector.
+
+    Args:
+        vector: IP-EOM amplitudes as a vector.
+
+    Returns:
+        IP-EOM amplitudes.
+    """
+    amplitudes: Namespace[SpinArrayType] = util.Namespace()
+    i0 = 0
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ip"
+    ):
+        shape = tuple(self.space.size(k) for k in key)
+        size = util.prod(shape)
+        amplitudes[name] = np.reshape(vector[i0 : i0 + size], shape)
+        i0 += size
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ip"):
+        raise util.ModelNotImplemented
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="ip"
+    ):
+        raise util.ModelNotImplemented
+
+    return amplitudes
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + + +

+ ebcc.eom.reom.EA_REOM(ebcc, options=None, **kwargs) + +

+ + +
+

+ Bases: REOM, BaseEA_EOM

+ + +

Restricted electron affinity equation-of-motion coupled cluster.

+ +

Initialise the EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + ebcc + (BaseEBCC) + – +
    +

    Parent EBCC object.

    +
    +
  • +
  • + options + (Optional[BaseOptions], default: + None +) + – +
    +

    Options for the EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments used to update options.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
def __init__(
+    self,
+    ebcc: BaseEBCC,
+    options: Optional[BaseOptions] = None,
+    **kwargs: Any,
+) -> None:
+    """Initialise the EOM object.
+
+    Args:
+        ebcc: Parent `EBCC` object.
+        options: Options for the EOM calculation.
+        **kwargs: Additional keyword arguments used to update `options`.
+    """
+    # Options:
+    if options is None:
+        options = self.Options()
+    self.options = options
+    for key, val in kwargs.items():
+        setattr(self.options, key, val)
+
+    # Parameters:
+    self.ebcc = ebcc
+    self.space = ebcc.space
+    self.ansatz = ebcc.ansatz
+    self.log = ebcc.log
+
+    # Attributes:
+    self.converged = False
+    self.e: NDArray[T] = np.zeros((0,), dtype=types[float])
+    self.v: NDArray[T] = np.zeros((0, 0), dtype=types[float])
+
+    # 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("")
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.eom.reom.EA_REOM.diag(eris=None) + +

+ + +
+ +

Get the diagonal of the Hamiltonian.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electronic repulsion integrals.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Diagonal of the Hamiltonian.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/reom.py +
142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
def diag(self, eris: Optional[ERIsInputType] = None) -> NDArray[T]:
+    """Get the diagonal of the Hamiltonian.
+
+    Args:
+        eris: Electronic repulsion integrals.
+
+    Returns:
+        Diagonal of the Hamiltonian.
+    """
+    parts: Namespace[SpinArrayType] = util.Namespace()
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ea"
+    ):
+        parts[name] = self.ebcc.energy_sum(key)
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ea"):
+        raise util.ModelNotImplemented
+
+    return self.amplitudes_to_vector(parts)
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.reom.EA_REOM.amplitudes_to_vector(amplitudes) + +

+ + +
+ +

Construct a vector containing all of the EA-EOM amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + amplitudes + (Namespace[SpinArrayType]) + – +
    +

    EA-EOM amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    EA-EOM amplitudes as a vector.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/reom.py +
163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
def amplitudes_to_vector(self, amplitudes: Namespace[SpinArrayType]) -> NDArray[T]:
+    """Construct a vector containing all of the EA-EOM amplitudes.
+
+    Args:
+        amplitudes: EA-EOM amplitudes.
+
+    Returns:
+        EA-EOM amplitudes as a vector.
+    """
+    vectors = []
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ea"
+    ):
+        vectors.append(np.ravel(amplitudes[name]))
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ea"):
+        raise util.ModelNotImplemented
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="ea"
+    ):
+        raise util.ModelNotImplemented
+
+    return np.concatenate(vectors)
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.reom.EA_REOM.vector_to_amplitudes(vector) + +

+ + +
+ +

Construct a namespace of EA-EOM amplitudes from a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + vector + (NDArray[T]) + – +
    +

    EA-EOM amplitudes as a vector.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    EA-EOM amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/reom.py +
189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
def vector_to_amplitudes(self, vector: NDArray[T]) -> Namespace[SpinArrayType]:
+    """Construct a namespace of EA-EOM amplitudes from a vector.
+
+    Args:
+        vector: EA-EOM amplitudes as a vector.
+
+    Returns:
+        EA-EOM amplitudes.
+    """
+    amplitudes: Namespace[SpinArrayType] = util.Namespace()
+    i0 = 0
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ea"
+    ):
+        shape = tuple(self.space.size(k) for k in key)
+        size = util.prod(shape)
+        amplitudes[name] = np.reshape(vector[i0 : i0 + size], shape)
+        i0 += size
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ea"):
+        raise util.ModelNotImplemented
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="ea"
+    ):
+        raise util.ModelNotImplemented
+
+    return amplitudes
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + + +

+ ebcc.eom.reom.EE_REOM(ebcc, options=None, **kwargs) + +

+ + +
+

+ Bases: REOM, BaseEE_EOM

+ + +

Restricted electron-electron equation-of-motion coupled cluster.

+ +

Initialise the EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + ebcc + (BaseEBCC) + – +
    +

    Parent EBCC object.

    +
    +
  • +
  • + options + (Optional[BaseOptions], default: + None +) + – +
    +

    Options for the EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments used to update options.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
def __init__(
+    self,
+    ebcc: BaseEBCC,
+    options: Optional[BaseOptions] = None,
+    **kwargs: Any,
+) -> None:
+    """Initialise the EOM object.
+
+    Args:
+        ebcc: Parent `EBCC` object.
+        options: Options for the EOM calculation.
+        **kwargs: Additional keyword arguments used to update `options`.
+    """
+    # Options:
+    if options is None:
+        options = self.Options()
+    self.options = options
+    for key, val in kwargs.items():
+        setattr(self.options, key, val)
+
+    # Parameters:
+    self.ebcc = ebcc
+    self.space = ebcc.space
+    self.ansatz = ebcc.ansatz
+    self.log = ebcc.log
+
+    # Attributes:
+    self.converged = False
+    self.e: NDArray[T] = np.zeros((0,), dtype=types[float])
+    self.v: NDArray[T] = np.zeros((0, 0), dtype=types[float])
+
+    # 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("")
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.eom.reom.EE_REOM.diag(eris=None) + +

+ + +
+ +

Get the diagonal of the Hamiltonian.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electronic repulsion integrals.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Diagonal of the Hamiltonian.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/reom.py +
236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
def diag(self, eris: Optional[ERIsInputType] = None) -> NDArray[T]:
+    """Get the diagonal of the Hamiltonian.
+
+    Args:
+        eris: Electronic repulsion integrals.
+
+    Returns:
+        Diagonal of the Hamiltonian.
+    """
+    parts: Namespace[SpinArrayType] = util.Namespace()
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ee"
+    ):
+        parts[name] = -self.ebcc.energy_sum(key)
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ee"):
+        raise util.ModelNotImplemented
+
+    return self.amplitudes_to_vector(parts)
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.reom.EE_REOM.amplitudes_to_vector(amplitudes) + +

+ + +
+ +

Construct a vector containing all of the EE-EOM amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + amplitudes + (Namespace[SpinArrayType]) + – +
    +

    EE-EOM amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    EE-EOM amplitudes as a vector.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/reom.py +
257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
def amplitudes_to_vector(self, amplitudes: Namespace[SpinArrayType]) -> NDArray[T]:
+    """Construct a vector containing all of the EE-EOM amplitudes.
+
+    Args:
+        amplitudes: EE-EOM amplitudes.
+
+    Returns:
+        EE-EOM amplitudes as a vector.
+    """
+    vectors = []
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ee"
+    ):
+        vectors.append(np.ravel(amplitudes[name]))
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ee"):
+        raise util.ModelNotImplemented
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="ee"
+    ):
+        raise util.ModelNotImplemented
+
+    return np.concatenate(vectors)
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.reom.EE_REOM.vector_to_amplitudes(vector) + +

+ + +
+ +

Construct a namespace of EE-EOM amplitudes from a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + vector + (NDArray[T]) + – +
    +

    EE-EOM amplitudes as a vector.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    EE-EOM amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/reom.py +
283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
def vector_to_amplitudes(self, vector: NDArray[T]) -> Namespace[SpinArrayType]:
+    """Construct a namespace of EE-EOM amplitudes from a vector.
+
+    Args:
+        vector: EE-EOM amplitudes as a vector.
+
+    Returns:
+        EE-EOM amplitudes.
+    """
+    amplitudes: Namespace[SpinArrayType] = util.Namespace()
+    i0 = 0
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ee"
+    ):
+        shape = tuple(self.space.size(k) for k in key)
+        size = util.prod(shape)
+        amplitudes[name] = np.reshape(vector[i0 : i0 + size], shape)
+        i0 += size
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ee"):
+        raise util.ModelNotImplemented
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="ee"
+    ):
+        raise util.ModelNotImplemented
+
+    return amplitudes
+
+
+
+ +
+ + + +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/reference/eom/ueom/index.html b/reference/eom/ueom/index.html new file mode 100644 index 00000000..ec5c11ce --- /dev/null +++ b/reference/eom/ueom/index.html @@ -0,0 +1,2091 @@ + + + + + + + + Unrestricted - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Unrestricted equation-of-motion coupled cluster.

+ + + +
+ + + + + + + + +
+ + + +

+ ebcc.eom.ueom.UEOM(ebcc, options=None, **kwargs) + +

+ + +
+

+ Bases: BaseEOM

+ + +

Unrestricted equation-of-motion coupled cluster.

+ +

Initialise the EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + ebcc + (BaseEBCC) + – +
    +

    Parent EBCC object.

    +
    +
  • +
  • + options + (Optional[BaseOptions], default: + None +) + – +
    +

    Options for the EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments used to update options.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
def __init__(
+    self,
+    ebcc: BaseEBCC,
+    options: Optional[BaseOptions] = None,
+    **kwargs: Any,
+) -> None:
+    """Initialise the EOM object.
+
+    Args:
+        ebcc: Parent `EBCC` object.
+        options: Options for the EOM calculation.
+        **kwargs: Additional keyword arguments used to update `options`.
+    """
+    # Options:
+    if options is None:
+        options = self.Options()
+    self.options = options
+    for key, val in kwargs.items():
+        setattr(self.options, key, val)
+
+    # Parameters:
+    self.ebcc = ebcc
+    self.space = ebcc.space
+    self.ansatz = ebcc.ansatz
+    self.log = ebcc.log
+
+    # Attributes:
+    self.converged = False
+    self.e: NDArray[T] = np.zeros((0,), dtype=types[float])
+    self.v: NDArray[T] = np.zeros((0, 0), dtype=types[float])
+
+    # 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("")
+
+
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+ + + +

+ ebcc.eom.ueom.IP_UEOM(ebcc, options=None, **kwargs) + +

+ + +
+

+ Bases: UEOM, BaseIP_EOM

+ + +

Unrestricted ionisation potential equation-of-motion coupled cluster.

+ +

Initialise the EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + ebcc + (BaseEBCC) + – +
    +

    Parent EBCC object.

    +
    +
  • +
  • + options + (Optional[BaseOptions], default: + None +) + – +
    +

    Options for the EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments used to update options.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
def __init__(
+    self,
+    ebcc: BaseEBCC,
+    options: Optional[BaseOptions] = None,
+    **kwargs: Any,
+) -> None:
+    """Initialise the EOM object.
+
+    Args:
+        ebcc: Parent `EBCC` object.
+        options: Options for the EOM calculation.
+        **kwargs: Additional keyword arguments used to update `options`.
+    """
+    # Options:
+    if options is None:
+        options = self.Options()
+    self.options = options
+    for key, val in kwargs.items():
+        setattr(self.options, key, val)
+
+    # Parameters:
+    self.ebcc = ebcc
+    self.space = ebcc.space
+    self.ansatz = ebcc.ansatz
+    self.log = ebcc.log
+
+    # Attributes:
+    self.converged = False
+    self.e: NDArray[T] = np.zeros((0,), dtype=types[float])
+    self.v: NDArray[T] = np.zeros((0, 0), dtype=types[float])
+
+    # 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("")
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.eom.ueom.IP_UEOM.diag(eris=None) + +

+ + +
+ +

Get the diagonal of the Hamiltonian.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electronic repulsion integrals.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Diagonal of the Hamiltonian.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/ueom.py +
48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
def diag(self, eris: Optional[ERIsInputType] = None) -> NDArray[T]:
+    """Get the diagonal of the Hamiltonian.
+
+    Args:
+        eris: Electronic repulsion integrals.
+
+    Returns:
+        Diagonal of the Hamiltonian.
+    """
+    parts: Namespace[SpinArrayType] = util.Namespace()
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ip"
+    ):
+        spin_part: SpinArrayType = util.Namespace()
+        for comb in util.generate_spin_combinations(n, excited=True):
+            spin_part[comb] = self.ebcc.energy_sum(key, comb)
+        parts[name] = spin_part
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ip"):
+        raise util.ModelNotImplemented
+
+    return self.amplitudes_to_vector(parts)
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.ueom.IP_UEOM.amplitudes_to_vector(amplitudes) + +

+ + +
+ +

Construct a vector containing all of the IP-EOM amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + amplitudes + (Namespace[SpinArrayType]) + – +
    +

    IP-EOM amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    IP-EOM amplitudes as a vector.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/ueom.py +
72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
def amplitudes_to_vector(self, amplitudes: Namespace[SpinArrayType]) -> NDArray[T]:
+    """Construct a vector containing all of the IP-EOM amplitudes.
+
+    Args:
+        amplitudes: IP-EOM amplitudes.
+
+    Returns:
+        IP-EOM amplitudes as a vector.
+    """
+    vectors = []
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ip"
+    ):
+        for spin in util.generate_spin_combinations(n, excited=True, unique=True):
+            vn = amplitudes[name][spin]
+            subscript, _ = util.combine_subscripts(key, spin)
+            vectors.append(np.ravel(util.compress_axes(subscript, vn)))
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ip"):
+        raise util.ModelNotImplemented
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="ip"
+    ):
+        raise util.ModelNotImplemented
+
+    return np.concatenate(vectors)
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.ueom.IP_UEOM.vector_to_amplitudes(vector) + +

+ + +
+ +

Construct a namespace of IP-EOM amplitudes from a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + vector + (NDArray[T]) + – +
    +

    IP-EOM amplitudes as a vector.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    IP-EOM amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/ueom.py +
101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
def vector_to_amplitudes(self, vector: NDArray[T]) -> Namespace[SpinArrayType]:
+    """Construct a namespace of IP-EOM amplitudes from a vector.
+
+    Args:
+        vector: IP-EOM amplitudes as a vector.
+
+    Returns:
+        IP-EOM amplitudes.
+    """
+    amplitudes: Namespace[SpinArrayType] = util.Namespace()
+    i0 = 0
+    sizes: dict[tuple[str, ...], int] = {
+        (o, s): self.space[i].size(o) for o in "ovOVia" for i, s in enumerate("ab")
+    }
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ip"
+    ):
+        amp: SpinArrayType = util.Namespace()
+        for spin in util.generate_spin_combinations(n, excited=True, unique=True):
+            subscript, csizes = util.combine_subscripts(key, spin, sizes=sizes)
+            size = util.get_compressed_size(subscript, **csizes)
+            shape = tuple(self.space["ab".index(s)].size(k) for s, k in zip(spin, key))
+            vn_tril = vector[i0 : i0 + size]
+            factor = max(
+                spin[:n].count(s) for s in set(spin[:n])
+            )  # FIXME why? untested for n > 2
+            vn = util.decompress_axes(subscript, vn_tril, shape=shape) / factor
+            amp[spin] = vn
+            i0 += size
+
+        amplitudes[name] = amp
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ip"):
+        raise util.ModelNotImplemented
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="ip"
+    ):
+        raise util.ModelNotImplemented
+
+    assert i0 == len(vector)
+
+    return amplitudes
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + + +

+ ebcc.eom.ueom.EA_UEOM(ebcc, options=None, **kwargs) + +

+ + +
+

+ Bases: UEOM, BaseEA_EOM

+ + +

Unrestricted electron affinity equation-of-motion coupled cluster.

+ +

Initialise the EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + ebcc + (BaseEBCC) + – +
    +

    Parent EBCC object.

    +
    +
  • +
  • + options + (Optional[BaseOptions], default: + None +) + – +
    +

    Options for the EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments used to update options.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
def __init__(
+    self,
+    ebcc: BaseEBCC,
+    options: Optional[BaseOptions] = None,
+    **kwargs: Any,
+) -> None:
+    """Initialise the EOM object.
+
+    Args:
+        ebcc: Parent `EBCC` object.
+        options: Options for the EOM calculation.
+        **kwargs: Additional keyword arguments used to update `options`.
+    """
+    # Options:
+    if options is None:
+        options = self.Options()
+    self.options = options
+    for key, val in kwargs.items():
+        setattr(self.options, key, val)
+
+    # Parameters:
+    self.ebcc = ebcc
+    self.space = ebcc.space
+    self.ansatz = ebcc.ansatz
+    self.log = ebcc.log
+
+    # Attributes:
+    self.converged = False
+    self.e: NDArray[T] = np.zeros((0,), dtype=types[float])
+    self.v: NDArray[T] = np.zeros((0, 0), dtype=types[float])
+
+    # 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("")
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.eom.ueom.EA_UEOM.diag(eris=None) + +

+ + +
+ +

Get the diagonal of the Hamiltonian.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electronic repulsion integrals.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Diagonal of the Hamiltonian.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/ueom.py +
163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
def diag(self, eris: Optional[ERIsInputType] = None) -> NDArray[T]:
+    """Get the diagonal of the Hamiltonian.
+
+    Args:
+        eris: Electronic repulsion integrals.
+
+    Returns:
+        Diagonal of the Hamiltonian.
+    """
+    parts: Namespace[SpinArrayType] = util.Namespace()
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ea"
+    ):
+        spin_part: SpinArrayType = util.Namespace()
+        for comb in util.generate_spin_combinations(n, excited=True):
+            spin_part[comb] = -self.ebcc.energy_sum(key, comb)
+        parts[name] = spin_part
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ea"):
+        raise util.ModelNotImplemented
+
+    return self.amplitudes_to_vector(parts)
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.ueom.EA_UEOM.amplitudes_to_vector(amplitudes) + +

+ + +
+ +

Construct a vector containing all of the EA-EOM amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + amplitudes + (Namespace[SpinArrayType]) + – +
    +

    EA-EOM amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    EA-EOM amplitudes as a vector.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/ueom.py +
187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
def amplitudes_to_vector(self, amplitudes: Namespace[SpinArrayType]) -> NDArray[T]:
+    """Construct a vector containing all of the EA-EOM amplitudes.
+
+    Args:
+        amplitudes: EA-EOM amplitudes.
+
+    Returns:
+        EA-EOM amplitudes as a vector.
+    """
+    vectors = []
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ea"
+    ):
+        for spin in util.generate_spin_combinations(n, excited=True, unique=True):
+            vn = amplitudes[name][spin]
+            subscript, _ = util.combine_subscripts(key, spin)
+            vectors.append(np.ravel(util.compress_axes(subscript, vn)))
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ea"):
+        raise util.ModelNotImplemented
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="ea"
+    ):
+        raise util.ModelNotImplemented
+
+    return np.concatenate(vectors)
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.ueom.EA_UEOM.vector_to_amplitudes(vector) + +

+ + +
+ +

Construct a namespace of EA-EOM amplitudes from a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + vector + (NDArray[T]) + – +
    +

    EA-EOM amplitudes as a vector.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    EA-EOM amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/ueom.py +
216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
def vector_to_amplitudes(self, vector: NDArray[T]) -> Namespace[SpinArrayType]:
+    """Construct a namespace of EA-EOM amplitudes from a vector.
+
+    Args:
+        vector: EA-EOM amplitudes as a vector.
+
+    Returns:
+        EA-EOM amplitudes.
+    """
+    amplitudes: Namespace[SpinArrayType] = util.Namespace()
+    i0 = 0
+    sizes: dict[tuple[str, ...], int] = {
+        (o, s): self.space[i].size(o) for o in "ovOVia" for i, s in enumerate("ab")
+    }
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ea"
+    ):
+        amp: SpinArrayType = util.Namespace()
+        for spin in util.generate_spin_combinations(n, excited=True, unique=True):
+            subscript, csizes = util.combine_subscripts(key, spin, sizes=sizes)
+            size = util.get_compressed_size(subscript, **csizes)
+            shape = tuple(self.space["ab".index(s)].size(k) for s, k in zip(spin, key))
+            vn_tril = vector[i0 : i0 + size]
+            factor = max(
+                spin[:n].count(s) for s in set(spin[:n])
+            )  # FIXME why? untested for n > 2
+            vn = util.decompress_axes(subscript, vn_tril, shape=shape) / factor
+            amp[spin] = vn
+            i0 += size
+
+        amplitudes[name] = amp
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ea"):
+        raise util.ModelNotImplemented
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="ea"
+    ):
+        raise util.ModelNotImplemented
+
+    assert i0 == len(vector)
+
+    return amplitudes
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + + +

+ ebcc.eom.ueom.EE_UEOM(ebcc, options=None, **kwargs) + +

+ + +
+

+ Bases: UEOM, BaseEE_EOM

+ + +

Unrestricted electron-electron equation-of-motion coupled cluster.

+ +

Initialise the EOM object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + ebcc + (BaseEBCC) + – +
    +

    Parent EBCC object.

    +
    +
  • +
  • + options + (Optional[BaseOptions], default: + None +) + – +
    +

    Options for the EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments used to update options.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/base.py +
 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
def __init__(
+    self,
+    ebcc: BaseEBCC,
+    options: Optional[BaseOptions] = None,
+    **kwargs: Any,
+) -> None:
+    """Initialise the EOM object.
+
+    Args:
+        ebcc: Parent `EBCC` object.
+        options: Options for the EOM calculation.
+        **kwargs: Additional keyword arguments used to update `options`.
+    """
+    # Options:
+    if options is None:
+        options = self.Options()
+    self.options = options
+    for key, val in kwargs.items():
+        setattr(self.options, key, val)
+
+    # Parameters:
+    self.ebcc = ebcc
+    self.space = ebcc.space
+    self.ansatz = ebcc.ansatz
+    self.log = ebcc.log
+
+    # Attributes:
+    self.converged = False
+    self.e: NDArray[T] = np.zeros((0,), dtype=types[float])
+    self.v: NDArray[T] = np.zeros((0, 0), dtype=types[float])
+
+    # 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("")
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.eom.ueom.EE_UEOM.diag(eris=None) + +

+ + +
+ +

Get the diagonal of the Hamiltonian.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + eris + (Optional[ERIsInputType], default: + None +) + – +
    +

    Electronic repulsion integrals.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Diagonal of the Hamiltonian.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/ueom.py +
278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
def diag(self, eris: Optional[ERIsInputType] = None) -> NDArray[T]:
+    """Get the diagonal of the Hamiltonian.
+
+    Args:
+        eris: Electronic repulsion integrals.
+
+    Returns:
+        Diagonal of the Hamiltonian.
+    """
+    parts: Namespace[SpinArrayType] = util.Namespace()
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ee"
+    ):
+        spin_part: SpinArrayType = util.Namespace()
+        for comb in util.generate_spin_combinations(n, unique=True):
+            spin_part[comb] = self.ebcc.energy_sum(key, comb)
+        parts[name] = spin_part
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ee"):
+        raise util.ModelNotImplemented
+
+    return self.amplitudes_to_vector(parts)
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.ueom.EE_UEOM.amplitudes_to_vector(amplitudes) + +

+ + +
+ +

Construct a vector containing all of the EE-EOM amplitudes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + amplitudes + (Namespace[SpinArrayType]) + – +
    +

    EE-EOM amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    EE-EOM amplitudes as a vector.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/ueom.py +
302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
def amplitudes_to_vector(self, amplitudes: Namespace[SpinArrayType]) -> NDArray[T]:
+    """Construct a vector containing all of the EE-EOM amplitudes.
+
+    Args:
+        amplitudes: EE-EOM amplitudes.
+
+    Returns:
+        EE-EOM amplitudes as a vector.
+    """
+    vectors = []
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ee"
+    ):
+        for spin in util.generate_spin_combinations(n, unique=True):
+            vn = amplitudes[name][spin]
+            subscript, _ = util.combine_subscripts(key, spin)
+            vectors.append(np.ravel(util.compress_axes(subscript, vn)))
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ee"):
+        raise util.ModelNotImplemented
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="ee"
+    ):
+        raise util.ModelNotImplemented
+
+    return np.concatenate(vectors)
+
+
+
+ +
+ +
+ + +

+ ebcc.eom.ueom.EE_UEOM.vector_to_amplitudes(vector) + +

+ + +
+ +

Construct a namespace of EE-EOM amplitudes from a vector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + vector + (NDArray[T]) + – +
    +

    EE-EOM amplitudes as a vector.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    EE-EOM amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/eom/ueom.py +
331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
def vector_to_amplitudes(self, vector: NDArray[T]) -> Namespace[SpinArrayType]:
+    """Construct a namespace of EE-EOM amplitudes from a vector.
+
+    Args:
+        vector: EE-EOM amplitudes as a vector.
+
+    Returns:
+        EE-EOM amplitudes.
+    """
+    amplitudes: Namespace[SpinArrayType] = util.Namespace()
+    i0 = 0
+    sizes: dict[tuple[str, ...], int] = {
+        (o, s): self.space[i].size(o) for o in "ovOVia" for i, s in enumerate("ab")
+    }
+
+    for name, key, n in self.ansatz.fermionic_cluster_ranks(
+        spin_type=self.spin_type, which="ee"
+    ):
+        amp: SpinArrayType = util.Namespace()
+        for spin in util.generate_spin_combinations(n, unique=True):
+            subscript, csizes = util.combine_subscripts(key, spin, sizes=sizes)
+            size = util.get_compressed_size(subscript, **csizes)
+            shape = tuple(self.space["ab".index(s)].size(k) for s, k in zip(spin, key))
+            vn_tril = vector[i0 : i0 + size]
+            factor = max(
+                spin[:n].count(s) for s in set(spin[:n])
+            )  # FIXME why? untested for n > 2
+            vn = util.decompress_axes(subscript, vn_tril, shape=shape) / factor
+            amp[spin] = vn
+            i0 += size
+
+        amplitudes[name] = amp
+
+    for name, key, n in self.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type, which="ee"):
+        raise util.ModelNotImplemented
+
+    for name, key, nf, nb in self.ansatz.coupling_cluster_ranks(
+        spin_type=self.spin_type, which="ee"
+    ):
+        raise util.ModelNotImplemented
+
+    assert i0 == len(vector)
+
+    return amplitudes
+
+
+
+ +
+ + + +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/reference/ham/base/index.html b/reference/ham/base/index.html new file mode 100644 index 00000000..237872eb --- /dev/null +++ b/reference/ham/base/index.html @@ -0,0 +1,972 @@ + + + + + + + + Base - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Base classes for ebcc.ham.

+ + + +
+ + + + + + + + +
+ + + +

+ ebcc.ham.base.BaseHamiltonian(**kwargs) + +

+ + +
+

+ Bases: Namespace[Any], ABC

+ + +

Base class for Hamiltonians.

+ +

Initialise the namespace.

+ +
+ Source code in ebcc/util/misc.py +
65
+66
+67
+68
+69
def __init__(self, **kwargs: T):
+    """Initialise the namespace."""
+    self.__dict__["_members"] = {}
+    for key, val in kwargs.items():
+        self.__dict__["_members"][key] = val
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.ham.base.BaseHamiltonian.__getitem__(key) + + + abstractmethod + + +

+ + +
+ +

Just-in-time getter.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + key + (str) + – +
    +

    Key to get.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Any + – +
    +

    Slice of the Hamiltonian.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/base.py +
24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
@abstractmethod
+def __getitem__(self, key: str) -> Any:
+    """Just-in-time getter.
+
+    Args:
+        key: Key to get.
+
+    Returns:
+        Slice of the Hamiltonian.
+    """
+    pass
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + + +

+ ebcc.ham.base.BaseRHamiltonian(**kwargs) + +

+ + +
+

+ Bases: BaseHamiltonian

+ + +

Base class for restricted Hamiltonians.

+ +

Initialise the namespace.

+ +
+ Source code in ebcc/util/misc.py +
65
+66
+67
+68
+69
def __init__(self, **kwargs: T):
+    """Initialise the namespace."""
+    self.__dict__["_members"] = {}
+    for key, val in kwargs.items():
+        self.__dict__["_members"][key] = val
+
+
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+ + + +

+ ebcc.ham.base.BaseUHamiltonian(**kwargs) + +

+ + +
+

+ Bases: BaseHamiltonian

+ + +

Base class for unrestricted Hamiltonians.

+ +

Initialise the namespace.

+ +
+ Source code in ebcc/util/misc.py +
65
+66
+67
+68
+69
def __init__(self, **kwargs: T):
+    """Initialise the namespace."""
+    self.__dict__["_members"] = {}
+    for key, val in kwargs.items():
+        self.__dict__["_members"][key] = val
+
+
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+ + + +

+ ebcc.ham.base.BaseGHamiltonian(**kwargs) + +

+ + +
+

+ Bases: BaseHamiltonian

+ + +

Base class for general Hamiltonians.

+ +

Initialise the namespace.

+ +
+ Source code in ebcc/util/misc.py +
65
+66
+67
+68
+69
def __init__(self, **kwargs: T):
+    """Initialise the namespace."""
+    self.__dict__["_members"] = {}
+    for key, val in kwargs.items():
+        self.__dict__["_members"][key] = val
+
+
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+ + + +

+ ebcc.ham.base.BaseFock(cc, array=None, space=None, mo_coeff=None, g=None) + +

+ + +
+

+ Bases: BaseHamiltonian

+ + +

Base class for Fock matrices.

+ +

Initialise the Fock matrix.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + cc + (BaseEBCC) + – +
    +

    Coupled cluster object.

    +
    +
  • +
  • + array + (Optional[Any], default: + None +) + – +
    +

    Fock matrix in the MO basis.

    +
    +
  • +
  • + space + (Optional[tuple[Any, ...]], default: + None +) + – +
    +

    Space object for each index.

    +
    +
  • +
  • + mo_coeff + (Optional[tuple[Any, ...]], default: + None +) + – +
    +

    Molecular orbital coefficients for each index.

    +
    +
  • +
  • + g + (Optional[Namespace[Any]], default: + None +) + – +
    +

    Namespace containing blocks of the electron-boson coupling matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/base.py +
58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
def __init__(
+    self,
+    cc: BaseEBCC,
+    array: Optional[Any] = None,
+    space: Optional[tuple[Any, ...]] = None,
+    mo_coeff: Optional[tuple[Any, ...]] = None,
+    g: Optional[Namespace[Any]] = None,
+) -> None:
+    """Initialise the Fock matrix.
+
+    Args:
+        cc: Coupled cluster object.
+        array: Fock matrix in the MO basis.
+        space: Space object for each index.
+        mo_coeff: Molecular orbital coefficients for each index.
+        g: Namespace containing blocks of the electron-boson coupling matrix.
+    """
+    Namespace.__init__(self)
+
+    # Parameters:
+    self.__dict__["cc"] = cc
+    self.__dict__["space"] = space if space is not None else (cc.space,) * 2
+    self.__dict__["mo_coeff"] = mo_coeff if mo_coeff is not None else (cc.mo_coeff,) * 2
+    self.__dict__["array"] = array if array is not None else self._get_fock()
+    self.__dict__["g"] = g if g is not None else cc.g
+
+    # Boson parameters:
+    self.__dict__["shift"] = cc.options.shift if g is not None else None
+    self.__dict__["xi"] = cc.xi if g is not None else None
+
+
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+ + + +

+ ebcc.ham.base.BaseERIs(cc, array=None, space=None, mo_coeff=None) + +

+ + +
+

+ Bases: BaseHamiltonian

+ + +

Base class for electronic repulsion integrals.

+ +

Initialise the ERIs.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + cc + (BaseEBCC) + – +
    +

    Coupled cluster object.

    +
    +
  • +
  • + array + (Optional[Any], default: + None +) + – +
    +

    ERIs in the MO basis.

    +
    +
  • +
  • + space + (Optional[tuple[Any, ...]], default: + None +) + – +
    +

    Space object for each index.

    +
    +
  • +
  • + mo_coeff + (Optional[tuple[Any, ...]], default: + None +) + – +
    +

    Molecular orbital coefficients for each index.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/base.py +
 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
def __init__(
+    self,
+    cc: BaseEBCC,
+    array: Optional[Any] = None,
+    space: Optional[tuple[Any, ...]] = None,
+    mo_coeff: Optional[tuple[Any, ...]] = None,
+) -> None:
+    """Initialise the ERIs.
+
+    Args:
+        cc: Coupled cluster object.
+        array: ERIs in the MO basis.
+        space: Space object for each index.
+        mo_coeff: Molecular orbital coefficients for each index.
+    """
+    Namespace.__init__(self)
+
+    # Parameters:
+    self.__dict__["cc"] = cc
+    self.__dict__["space"] = space if space is not None else (cc.space,) * 4
+    self.__dict__["mo_coeff"] = mo_coeff if mo_coeff is not None else (cc.mo_coeff,) * 4
+    self.__dict__["array"] = array if array is not None else None
+
+
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+ + + +

+ ebcc.ham.base.BaseElectronBoson(cc, array=None, space=None) + +

+ + +
+

+ Bases: BaseHamiltonian

+ + +

Base class for electron-boson coupling matrices.

+ +

Initialise the electron-boson coupling matrix.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + cc + (BaseEBCC) + – +
    +

    Coupled cluster object.

    +
    +
  • +
  • + array + (Optional[Any], default: + None +) + – +
    +

    Electron-boson coupling matrix in the MO basis.

    +
    +
  • +
  • + space + (Optional[tuple[Any, ...]], default: + None +) + – +
    +

    Space object for each index.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/base.py +
124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
def __init__(
+    self,
+    cc: BaseEBCC,
+    array: Optional[Any] = None,
+    space: Optional[tuple[Any, ...]] = None,
+) -> None:
+    """Initialise the electron-boson coupling matrix.
+
+    Args:
+        cc: Coupled cluster object.
+        array: Electron-boson coupling matrix in the MO basis.
+        space: Space object for each index.
+    """
+    Namespace.__init__(self)
+
+    # Parameters:
+    self.__dict__["cc"] = cc
+    self.__dict__["space"] = space if space is not None else (cc.space,) * 2
+    self.__dict__["array"] = array if array is not None else self._get_g()
+
+
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/reference/ham/cderis/index.html b/reference/ham/cderis/index.html new file mode 100644 index 00000000..a4bfe7c4 --- /dev/null +++ b/reference/ham/cderis/index.html @@ -0,0 +1,820 @@ + + + + + + + + CDERIs - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Cholesky-decomposed electron repulsion integral containers.

+ + + +
+ + + + + + + + +
+ + + +

+ ebcc.ham.cderis.RCDERIs(cc, array=None, space=None, mo_coeff=None) + +

+ + +
+

+ Bases: BaseERIs, BaseRHamiltonian

+ + +

Restricted Cholesky-decomposed ERIs container class.

+ +

Initialise the ERIs.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + cc + (BaseEBCC) + – +
    +

    Coupled cluster object.

    +
    +
  • +
  • + array + (Optional[Any], default: + None +) + – +
    +

    ERIs in the MO basis.

    +
    +
  • +
  • + space + (Optional[tuple[Any, ...]], default: + None +) + – +
    +

    Space object for each index.

    +
    +
  • +
  • + mo_coeff + (Optional[tuple[Any, ...]], default: + None +) + – +
    +

    Molecular orbital coefficients for each index.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/base.py +
 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
def __init__(
+    self,
+    cc: BaseEBCC,
+    array: Optional[Any] = None,
+    space: Optional[tuple[Any, ...]] = None,
+    mo_coeff: Optional[tuple[Any, ...]] = None,
+) -> None:
+    """Initialise the ERIs.
+
+    Args:
+        cc: Coupled cluster object.
+        array: ERIs in the MO basis.
+        space: Space object for each index.
+        mo_coeff: Molecular orbital coefficients for each index.
+    """
+    Namespace.__init__(self)
+
+    # Parameters:
+    self.__dict__["cc"] = cc
+    self.__dict__["space"] = space if space is not None else (cc.space,) * 4
+    self.__dict__["mo_coeff"] = mo_coeff if mo_coeff is not None else (cc.mo_coeff,) * 4
+    self.__dict__["array"] = array if array is not None else None
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.ham.cderis.RCDERIs.__getitem__(key, e2=False) + +

+ + +
+ +

Just-in-time getter.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + key + (str) + – +
    +

    Key to get.

    +
    +
  • +
  • + e2 + (Optional[bool], default: + False +) + – +
    +

    Whether the key is for the second electron.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    CDERIs for the given spaces.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/cderis.py +
30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
def __getitem__(self, key: str, e2: Optional[bool] = False) -> NDArray[T]:
+    """Just-in-time getter.
+
+    Args:
+        key: Key to get.
+        e2: Whether the key is for the second electron.
+
+    Returns:
+        CDERIs for the given spaces.
+    """
+    if self.array is not None:
+        raise NotImplementedError("`array` is not supported for CDERIs.")
+
+    if len(key) == 4:
+        v1 = self.__getitem__("Q" + key[:2])
+        v2 = self.__getitem__("Q" + key[2:], e2=True)  # type: ignore
+        return util.einsum("Qij,Qkl->ijkl", v1, v2)
+    elif len(key) == 3:
+        key = key[1:]
+    else:
+        raise KeyError("Key must be of length 3 or 4.")
+    key_e2 = f"{key}_{'e1' if not e2 else 'e2'}"
+
+    # Check the DF is built incore
+    if not isinstance(self.cc.mf.with_df._cderi, np.ndarray):
+        with lib.temporary_env(self.cc.mf.with_df, max_memory=1e6):
+            self.cc.mf.with_df.build()
+
+    if key_e2 not in self._members:
+        s = 0 if not e2 else 2
+        coeffs = [
+            to_numpy(self.mo_coeff[i + s][:, self.space[i + s].slice(k)], dtype=numpy.float64)
+            for i, k in enumerate(key)
+        ]
+        ijslice = (
+            0,
+            coeffs[0].shape[-1],
+            coeffs[0].shape[-1],
+            coeffs[0].shape[-1] + coeffs[1].shape[-1],
+        )
+        coeffs = numpy.concatenate(coeffs, axis=1)
+        block = ao2mo._ao2mo.nr_e2(
+            self.cc.mf.with_df._cderi, coeffs, ijslice, aosym="s2", mosym="s1"
+        )
+        block = np.reshape(block, (-1, ijslice[1] - ijslice[0], ijslice[3] - ijslice[2]))
+        self._members[key_e2] = np.asarray(block, dtype=types[float])
+
+    return self._members[key_e2]
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + + +

+ ebcc.ham.cderis.UCDERIs(cc, array=None, space=None, mo_coeff=None) + +

+ + +
+

+ Bases: BaseERIs, BaseUHamiltonian

+ + +

Unrestricted Cholesky-decomposed ERIs container class.

+ +

Initialise the ERIs.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + cc + (BaseEBCC) + – +
    +

    Coupled cluster object.

    +
    +
  • +
  • + array + (Optional[Any], default: + None +) + – +
    +

    ERIs in the MO basis.

    +
    +
  • +
  • + space + (Optional[tuple[Any, ...]], default: + None +) + – +
    +

    Space object for each index.

    +
    +
  • +
  • + mo_coeff + (Optional[tuple[Any, ...]], default: + None +) + – +
    +

    Molecular orbital coefficients for each index.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/base.py +
 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
def __init__(
+    self,
+    cc: BaseEBCC,
+    array: Optional[Any] = None,
+    space: Optional[tuple[Any, ...]] = None,
+    mo_coeff: Optional[tuple[Any, ...]] = None,
+) -> None:
+    """Initialise the ERIs.
+
+    Args:
+        cc: Coupled cluster object.
+        array: ERIs in the MO basis.
+        space: Space object for each index.
+        mo_coeff: Molecular orbital coefficients for each index.
+    """
+    Namespace.__init__(self)
+
+    # Parameters:
+    self.__dict__["cc"] = cc
+    self.__dict__["space"] = space if space is not None else (cc.space,) * 4
+    self.__dict__["mo_coeff"] = mo_coeff if mo_coeff is not None else (cc.mo_coeff,) * 4
+    self.__dict__["array"] = array if array is not None else None
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.ham.cderis.UCDERIs.__getitem__(key) + +

+ + +
+ +

Just-in-time getter.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + key + (str) + – +
    +

    Key to get.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + RCDERIs + – +
    +

    CDERIs for the given spins.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/cderis.py +
 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
def __getitem__(self, key: str) -> RCDERIs:
+    """Just-in-time getter.
+
+    Args:
+        key: Key to get.
+
+    Returns:
+        CDERIs for the given spins.
+    """
+    if len(key) == 3:
+        key = key[1:]
+    if key not in ("aa", "bb", "aaaa", "aabb", "bbaa", "bbbb"):
+        raise KeyError(f"Invalid key: {key}")
+    if len(key) == 2:
+        key = key + key
+    i = "ab".index(key[0])
+    j = "ab".index(key[2])
+
+    if key not in self._members:
+        self._members[key] = RCDERIs(
+            self.cc,
+            space=(self.space[0][i], self.space[1][i], self.space[2][j], self.space[3][j]),
+            mo_coeff=(
+                self.mo_coeff[0][i],
+                self.mo_coeff[1][i],
+                self.mo_coeff[2][j],
+                self.mo_coeff[3][j],
+            ),
+        )
+
+    return self._members[key]
+
+
+
+ +
+ + + +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/reference/ham/elbos/index.html b/reference/ham/elbos/index.html new file mode 100644 index 00000000..ec2f2465 --- /dev/null +++ b/reference/ham/elbos/index.html @@ -0,0 +1,910 @@ + + + + + + + + Bosonic - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Electron-boson coupling matrix containers.

+ + + +
+ + + + + + + + +
+ + + +

+ ebcc.ham.elbos.RElectronBoson(cc, array=None, space=None) + +

+ + +
+

+ Bases: BaseElectronBoson, BaseRHamiltonian

+ + +

Restricted electron-boson coupling matrices.

+ +

Initialise the electron-boson coupling matrix.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + cc + (BaseEBCC) + – +
    +

    Coupled cluster object.

    +
    +
  • +
  • + array + (Optional[Any], default: + None +) + – +
    +

    Electron-boson coupling matrix in the MO basis.

    +
    +
  • +
  • + space + (Optional[tuple[Any, ...]], default: + None +) + – +
    +

    Space object for each index.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/base.py +
124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
def __init__(
+    self,
+    cc: BaseEBCC,
+    array: Optional[Any] = None,
+    space: Optional[tuple[Any, ...]] = None,
+) -> None:
+    """Initialise the electron-boson coupling matrix.
+
+    Args:
+        cc: Coupled cluster object.
+        array: Electron-boson coupling matrix in the MO basis.
+        space: Space object for each index.
+    """
+    Namespace.__init__(self)
+
+    # Parameters:
+    self.__dict__["cc"] = cc
+    self.__dict__["space"] = space if space is not None else (cc.space,) * 2
+    self.__dict__["array"] = array if array is not None else self._get_g()
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.ham.elbos.RElectronBoson.__getitem__(key) + +

+ + +
+ +

Just-in-time getter.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + key + (str) + – +
    +

    Key to get.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Electron-boson coupling matrix for the given spaces.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/elbos.py +
22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
def __getitem__(self, key: str) -> NDArray[T]:
+    """Just-in-time getter.
+
+    Args:
+        key: Key to get.
+
+    Returns:
+        Electron-boson coupling matrix for the given spaces.
+    """
+    if key not in self._members:
+        assert key[0] == "b"
+        i = self.space[0].slice(key[1])
+        j = self.space[1].slice(key[2])
+        self._members[key] = np.copy(self.array[:, i, j])
+    return self._members[key]
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + + +

+ ebcc.ham.elbos.UElectronBoson(cc, array=None, space=None) + +

+ + +
+

+ Bases: BaseElectronBoson, BaseUHamiltonian

+ + +

Unrestricted electron-boson coupling matrices.

+ +

Initialise the electron-boson coupling matrix.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + cc + (BaseEBCC) + – +
    +

    Coupled cluster object.

    +
    +
  • +
  • + array + (Optional[Any], default: + None +) + – +
    +

    Electron-boson coupling matrix in the MO basis.

    +
    +
  • +
  • + space + (Optional[tuple[Any, ...]], default: + None +) + – +
    +

    Space object for each index.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/base.py +
124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
def __init__(
+    self,
+    cc: BaseEBCC,
+    array: Optional[Any] = None,
+    space: Optional[tuple[Any, ...]] = None,
+) -> None:
+    """Initialise the electron-boson coupling matrix.
+
+    Args:
+        cc: Coupled cluster object.
+        array: Electron-boson coupling matrix in the MO basis.
+        space: Space object for each index.
+    """
+    Namespace.__init__(self)
+
+    # Parameters:
+    self.__dict__["cc"] = cc
+    self.__dict__["space"] = space if space is not None else (cc.space,) * 2
+    self.__dict__["array"] = array if array is not None else self._get_g()
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.ham.elbos.UElectronBoson.__getitem__(key) + +

+ + +
+ +

Just-in-time getter.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + key + (str) + – +
    +

    Key to get.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + RElectronBoson + – +
    +

    Electron-boson coupling matrix for the given spin.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/elbos.py +
49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
def __getitem__(self, key: str) -> RElectronBoson:
+    """Just-in-time getter.
+
+    Args:
+        key: Key to get.
+
+    Returns:
+        Electron-boson coupling matrix for the given spin.
+    """
+    if key not in ("aa", "bb"):
+        raise KeyError(f"Invalid key: {key}")
+    if key not in self._members:
+        i = "ab".index(key[0])
+        self._members[key] = RElectronBoson(
+            self.cc,
+            array=self.array[i] if self.array.ndim == 4 else self.array,
+            space=(self.space[0][i], self.space[1][i]),
+        )
+    return self._members[key]
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + + +

+ ebcc.ham.elbos.GElectronBoson(cc, array=None, space=None) + +

+ + +
+

+ Bases: BaseElectronBoson, BaseGHamiltonian

+ + +

Generalised electron-boson coupling matrices.

+ +

Initialise the electron-boson coupling matrix.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + cc + (BaseEBCC) + – +
    +

    Coupled cluster object.

    +
    +
  • +
  • + array + (Optional[Any], default: + None +) + – +
    +

    Electron-boson coupling matrix in the MO basis.

    +
    +
  • +
  • + space + (Optional[tuple[Any, ...]], default: + None +) + – +
    +

    Space object for each index.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/base.py +
124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
def __init__(
+    self,
+    cc: BaseEBCC,
+    array: Optional[Any] = None,
+    space: Optional[tuple[Any, ...]] = None,
+) -> None:
+    """Initialise the electron-boson coupling matrix.
+
+    Args:
+        cc: Coupled cluster object.
+        array: Electron-boson coupling matrix in the MO basis.
+        space: Space object for each index.
+    """
+    Namespace.__init__(self)
+
+    # Parameters:
+    self.__dict__["cc"] = cc
+    self.__dict__["space"] = space if space is not None else (cc.space,) * 2
+    self.__dict__["array"] = array if array is not None else self._get_g()
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.ham.elbos.GElectronBoson.__getitem__(key) + +

+ + +
+ +

Just-in-time getter.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + key + (str) + – +
    +

    Key to get.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Electron-boson coupling matrix for the given spaces.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/elbos.py +
80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
def __getitem__(self, key: str) -> NDArray[T]:
+    """Just-in-time getter.
+
+    Args:
+        key: Key to get.
+
+    Returns:
+        Electron-boson coupling matrix for the given spaces.
+    """
+    if key not in self._members:
+        assert key[0] == "b"
+        i = self.space[0].slice(key[1])
+        j = self.space[1].slice(key[2])
+        self._members[key] = np.copy(self.array[:, i, j])
+    return self._members[key]
+
+
+
+ +
+ + + +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/reference/ham/eris/index.html b/reference/ham/eris/index.html new file mode 100644 index 00000000..a24bf437 --- /dev/null +++ b/reference/ham/eris/index.html @@ -0,0 +1,970 @@ + + + + + + + + ERIs - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Electronic repulsion integral containers.

+ + + +
+ + + + + + + + +
+ + + +

+ ebcc.ham.eris.RERIs(cc, array=None, space=None, mo_coeff=None) + +

+ + +
+

+ Bases: BaseERIs, BaseRHamiltonian

+ + +

Restricted ERIs container class.

+ +

Initialise the ERIs.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + cc + (BaseEBCC) + – +
    +

    Coupled cluster object.

    +
    +
  • +
  • + array + (Optional[Any], default: + None +) + – +
    +

    ERIs in the MO basis.

    +
    +
  • +
  • + space + (Optional[tuple[Any, ...]], default: + None +) + – +
    +

    Space object for each index.

    +
    +
  • +
  • + mo_coeff + (Optional[tuple[Any, ...]], default: + None +) + – +
    +

    Molecular orbital coefficients for each index.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/base.py +
 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
def __init__(
+    self,
+    cc: BaseEBCC,
+    array: Optional[Any] = None,
+    space: Optional[tuple[Any, ...]] = None,
+    mo_coeff: Optional[tuple[Any, ...]] = None,
+) -> None:
+    """Initialise the ERIs.
+
+    Args:
+        cc: Coupled cluster object.
+        array: ERIs in the MO basis.
+        space: Space object for each index.
+        mo_coeff: Molecular orbital coefficients for each index.
+    """
+    Namespace.__init__(self)
+
+    # Parameters:
+    self.__dict__["cc"] = cc
+    self.__dict__["space"] = space if space is not None else (cc.space,) * 4
+    self.__dict__["mo_coeff"] = mo_coeff if mo_coeff is not None else (cc.mo_coeff,) * 4
+    self.__dict__["array"] = array if array is not None else None
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.ham.eris.RERIs.__getitem__(key) + +

+ + +
+ +

Just-in-time getter.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + key + (str) + – +
    +

    Key to get.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    ERIs for the given spaces.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/eris.py +
30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
def __getitem__(self, key: str) -> NDArray[T]:
+    """Just-in-time getter.
+
+    Args:
+        key: Key to get.
+
+    Returns:
+        ERIs for the given spaces.
+    """
+    if self.array is None:
+        if key not in self._members.keys():
+            coeffs = [
+                to_numpy(self.mo_coeff[i][:, self.space[i].slice(k)], dtype=numpy.float64)
+                for i, k in enumerate(key)
+            ]
+            if getattr(self.cc.mf, "_eri", None) is not None:
+                block = ao2mo.incore.general(self.cc.mf._eri, coeffs, compact=False)
+            else:
+                block = ao2mo.kernel(self.cc.mf.mol, coeffs, compact=False)
+            block = np.reshape(block, [c.shape[-1] for c in coeffs])
+            self._members[key] = np.asarray(block, dtype=types[float])
+        return self._members[key]
+    else:
+        ijkl = tuple(self.space[i].slice(k) for i, k in enumerate(key))
+        return self.array[ijkl]  # type: ignore
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + + +

+ ebcc.ham.eris.UERIs(cc, array=None, space=None, mo_coeff=None) + +

+ + +
+

+ Bases: BaseERIs, BaseUHamiltonian

+ + +

Unrestricted ERIs container class.

+ +

Initialise the ERIs.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + cc + (BaseEBCC) + – +
    +

    Coupled cluster object.

    +
    +
  • +
  • + array + (Optional[Any], default: + None +) + – +
    +

    ERIs in the MO basis.

    +
    +
  • +
  • + space + (Optional[tuple[Any, ...]], default: + None +) + – +
    +

    Space object for each index.

    +
    +
  • +
  • + mo_coeff + (Optional[tuple[Any, ...]], default: + None +) + – +
    +

    Molecular orbital coefficients for each index.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/base.py +
 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
def __init__(
+    self,
+    cc: BaseEBCC,
+    array: Optional[Any] = None,
+    space: Optional[tuple[Any, ...]] = None,
+    mo_coeff: Optional[tuple[Any, ...]] = None,
+) -> None:
+    """Initialise the ERIs.
+
+    Args:
+        cc: Coupled cluster object.
+        array: ERIs in the MO basis.
+        space: Space object for each index.
+        mo_coeff: Molecular orbital coefficients for each index.
+    """
+    Namespace.__init__(self)
+
+    # Parameters:
+    self.__dict__["cc"] = cc
+    self.__dict__["space"] = space if space is not None else (cc.space,) * 4
+    self.__dict__["mo_coeff"] = mo_coeff if mo_coeff is not None else (cc.mo_coeff,) * 4
+    self.__dict__["array"] = array if array is not None else None
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.ham.eris.UERIs.__getitem__(key) + +

+ + +
+ +

Just-in-time getter.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + key + (str) + – +
    +

    Key to get.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + RERIs + – +
    +

    ERIs for the given spins.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/eris.py +
 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
def __getitem__(self, key: str) -> RERIs:
+    """Just-in-time getter.
+
+    Args:
+        key: Key to get.
+
+    Returns:
+        ERIs for the given spins.
+    """
+    if key not in ("aaaa", "aabb", "bbaa", "bbbb"):
+        raise KeyError(f"Invalid key: {key}")
+    if key not in self._members:
+        i = "ab".index(key[0])
+        j = "ab".index(key[2])
+        ij = i * (i + 1) // 2 + j
+
+        if self.array is not None:
+            array = self.array[ij]
+            if key == "bbaa":
+                array = np.transpose(array, (2, 3, 0, 1))
+        elif isinstance(self.cc.mf._eri, tuple):
+            # Support spin-dependent integrals in the mean-field
+            coeffs = [
+                to_numpy(self.mo_coeff[x][y], dtype=numpy.float64)
+                for y, x in enumerate(sorted((i, i, j, j)))
+            ]
+            if getattr(self.cc.mf, "_eri", None) is not None:
+                array = ao2mo.incore.general(self.cc.mf.mol, coeffs, compact=False)
+            else:
+                array = ao2mo.kernel(self.cc.mf.mol, coeffs, compact=False)
+            if key == "bbaa":
+                array = np.transpose(array, (2, 3, 0, 1))
+            array = np.asarray(array, dtype=types[float])
+        else:
+            array = None
+
+        self._members[key] = RERIs(
+            self.cc,
+            array=array,
+            space=(self.space[0][i], self.space[1][i], self.space[2][j], self.space[3][j]),
+            mo_coeff=(
+                self.mo_coeff[0][i],
+                self.mo_coeff[1][i],
+                self.mo_coeff[2][j],
+                self.mo_coeff[3][j],
+            ),
+        )
+    return self._members[key]
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + + +

+ ebcc.ham.eris.GERIs(*args, **kwargs) + +

+ + +
+

+ Bases: BaseERIs, BaseGHamiltonian

+ + +

Generalised ERIs container class.

+ +

Initialise the class.

+ +
+ Source code in ebcc/ham/eris.py +
119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
def __init__(self, *args: Any, **kwargs: Any) -> None:
+    """Initialise the class."""
+    super().__init__(*args, **kwargs)
+    if self.array is None:
+        mo_a = [to_numpy(mo[: self.cc.mf.mol.nao], dtype=numpy.float64) for mo in self.mo_coeff]
+        mo_b = [to_numpy(mo[self.cc.mf.mol.nao :], dtype=numpy.float64) for mo in self.mo_coeff]
+        if getattr(self.cc.mf, "_eri", None) is not None:
+            array = ao2mo.incore.general(self.cc.mf._eri, mo_a)
+            array += ao2mo.incore.general(self.cc.mf._eri, mo_b)
+            array += ao2mo.incore.general(self.cc.mf._eri, mo_a[:2] + mo_b[2:])
+            array += ao2mo.incore.general(self.cc.mf._eri, mo_b[:2] + mo_a[2:])
+        else:
+            array = ao2mo.kernel(self.cc.mf.mol, mo_a)
+            array += ao2mo.kernel(self.cc.mf.mol, mo_b)
+            array += ao2mo.kernel(self.cc.mf.mol, mo_a[:2] + mo_b[2:])
+            array += ao2mo.kernel(self.cc.mf.mol, mo_b[:2] + mo_a[2:])
+        array = np.reshape(ao2mo.addons.restore(1, array, self.cc.nmo), (self.cc.nmo,) * 4)
+        array = np.asarray(array, dtype=types[float])
+        array = np.transpose(array, (0, 2, 1, 3)) - np.transpose(array, (0, 2, 3, 1))
+        self.__dict__["array"] = array
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.ham.eris.GERIs.__getitem__(key) + +

+ + +
+ +

Just-in-time getter.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + key + (str) + – +
    +

    Key to get.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    ERIs for the given spaces.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/eris.py +
140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
def __getitem__(self, key: str) -> NDArray[T]:
+    """Just-in-time getter.
+
+    Args:
+        key: Key to get.
+
+    Returns:
+        ERIs for the given spaces.
+    """
+    ijkl = tuple(self.space[i].slice(k) for i, k in enumerate(key))
+    return self.array[ijkl]  # type: ignore
+
+
+
+ +
+ + + +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/reference/ham/fock/index.html b/reference/ham/fock/index.html new file mode 100644 index 00000000..3c3ea3ad --- /dev/null +++ b/reference/ham/fock/index.html @@ -0,0 +1,1058 @@ + + + + + + + + Fock - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Fock matrix containers.

+ + + +
+ + + + + + + + +
+ + + +

+ ebcc.ham.fock.RFock(cc, array=None, space=None, mo_coeff=None, g=None) + +

+ + +
+

+ Bases: BaseFock, BaseRHamiltonian

+ + +

Restricted Fock matrix container class.

+ +

Initialise the Fock matrix.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + cc + (BaseEBCC) + – +
    +

    Coupled cluster object.

    +
    +
  • +
  • + array + (Optional[Any], default: + None +) + – +
    +

    Fock matrix in the MO basis.

    +
    +
  • +
  • + space + (Optional[tuple[Any, ...]], default: + None +) + – +
    +

    Space object for each index.

    +
    +
  • +
  • + mo_coeff + (Optional[tuple[Any, ...]], default: + None +) + – +
    +

    Molecular orbital coefficients for each index.

    +
    +
  • +
  • + g + (Optional[Namespace[Any]], default: + None +) + – +
    +

    Namespace containing blocks of the electron-boson coupling matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/base.py +
58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
def __init__(
+    self,
+    cc: BaseEBCC,
+    array: Optional[Any] = None,
+    space: Optional[tuple[Any, ...]] = None,
+    mo_coeff: Optional[tuple[Any, ...]] = None,
+    g: Optional[Namespace[Any]] = None,
+) -> None:
+    """Initialise the Fock matrix.
+
+    Args:
+        cc: Coupled cluster object.
+        array: Fock matrix in the MO basis.
+        space: Space object for each index.
+        mo_coeff: Molecular orbital coefficients for each index.
+        g: Namespace containing blocks of the electron-boson coupling matrix.
+    """
+    Namespace.__init__(self)
+
+    # Parameters:
+    self.__dict__["cc"] = cc
+    self.__dict__["space"] = space if space is not None else (cc.space,) * 2
+    self.__dict__["mo_coeff"] = mo_coeff if mo_coeff is not None else (cc.mo_coeff,) * 2
+    self.__dict__["array"] = array if array is not None else self._get_fock()
+    self.__dict__["g"] = g if g is not None else cc.g
+
+    # Boson parameters:
+    self.__dict__["shift"] = cc.options.shift if g is not None else None
+    self.__dict__["xi"] = cc.xi if g is not None else None
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.ham.fock.RFock.__getitem__(key) + +

+ + +
+ +

Just-in-time getter.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + key + (str) + – +
    +

    Key to get.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Fock matrix for the given spaces.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/fock.py +
28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
def __getitem__(self, key: str) -> NDArray[T]:
+    """Just-in-time getter.
+
+    Args:
+        key: Key to get.
+
+    Returns:
+        Fock matrix for the given spaces.
+    """
+    if key not in self._members:
+        i = self.space[0].slice(key[0])
+        j = self.space[1].slice(key[1])
+        self._members[key] = np.copy(self.array[i, j])
+
+        if self.shift:
+            xi = self.xi
+            g = np.copy(self.g.__getattr__(f"b{key}"))
+            g += np.transpose(self.g.__getattr__(f"b{key[::-1]}"), (0, 2, 1))
+            self._members[key] -= util.einsum("I,Ipq->pq", xi, g)
+
+    return self._members[key]
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + + +

+ ebcc.ham.fock.UFock(cc, array=None, space=None, mo_coeff=None, g=None) + +

+ + +
+

+ Bases: BaseFock, BaseUHamiltonian

+ + +

Unrestricted Fock matrix container class.

+ +

Initialise the Fock matrix.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + cc + (BaseEBCC) + – +
    +

    Coupled cluster object.

    +
    +
  • +
  • + array + (Optional[Any], default: + None +) + – +
    +

    Fock matrix in the MO basis.

    +
    +
  • +
  • + space + (Optional[tuple[Any, ...]], default: + None +) + – +
    +

    Space object for each index.

    +
    +
  • +
  • + mo_coeff + (Optional[tuple[Any, ...]], default: + None +) + – +
    +

    Molecular orbital coefficients for each index.

    +
    +
  • +
  • + g + (Optional[Namespace[Any]], default: + None +) + – +
    +

    Namespace containing blocks of the electron-boson coupling matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/base.py +
58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
def __init__(
+    self,
+    cc: BaseEBCC,
+    array: Optional[Any] = None,
+    space: Optional[tuple[Any, ...]] = None,
+    mo_coeff: Optional[tuple[Any, ...]] = None,
+    g: Optional[Namespace[Any]] = None,
+) -> None:
+    """Initialise the Fock matrix.
+
+    Args:
+        cc: Coupled cluster object.
+        array: Fock matrix in the MO basis.
+        space: Space object for each index.
+        mo_coeff: Molecular orbital coefficients for each index.
+        g: Namespace containing blocks of the electron-boson coupling matrix.
+    """
+    Namespace.__init__(self)
+
+    # Parameters:
+    self.__dict__["cc"] = cc
+    self.__dict__["space"] = space if space is not None else (cc.space,) * 2
+    self.__dict__["mo_coeff"] = mo_coeff if mo_coeff is not None else (cc.mo_coeff,) * 2
+    self.__dict__["array"] = array if array is not None else self._get_fock()
+    self.__dict__["g"] = g if g is not None else cc.g
+
+    # Boson parameters:
+    self.__dict__["shift"] = cc.options.shift if g is not None else None
+    self.__dict__["xi"] = cc.xi if g is not None else None
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.ham.fock.UFock.__getitem__(key) + +

+ + +
+ +

Just-in-time getter.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + key + (str) + – +
    +

    Key to get.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + RFock + – +
    +

    Fock matrix for the given spin.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/fock.py +
63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
def __getitem__(self, key: str) -> RFock:
+    """Just-in-time getter.
+
+    Args:
+        key: Key to get.
+
+    Returns:
+        Fock matrix for the given spin.
+    """
+    if key not in ("aa", "bb"):
+        raise KeyError(f"Invalid key: {key}")
+    if key not in self._members:
+        i = "ab".index(key[0])
+        self._members[key] = RFock(
+            self.cc,
+            array=self.array[i],
+            space=(self.space[0][i], self.space[1][i]),
+            mo_coeff=(self.mo_coeff[0][i], self.mo_coeff[1][i]),
+            g=self.g[key] if self.g is not None else None,
+        )
+    return self._members[key]
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + + +

+ ebcc.ham.fock.GFock(cc, array=None, space=None, mo_coeff=None, g=None) + +

+ + +
+

+ Bases: BaseFock, BaseGHamiltonian

+ + +

Generalised Fock matrix container class.

+ +

Initialise the Fock matrix.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + cc + (BaseEBCC) + – +
    +

    Coupled cluster object.

    +
    +
  • +
  • + array + (Optional[Any], default: + None +) + – +
    +

    Fock matrix in the MO basis.

    +
    +
  • +
  • + space + (Optional[tuple[Any, ...]], default: + None +) + – +
    +

    Space object for each index.

    +
    +
  • +
  • + mo_coeff + (Optional[tuple[Any, ...]], default: + None +) + – +
    +

    Molecular orbital coefficients for each index.

    +
    +
  • +
  • + g + (Optional[Namespace[Any]], default: + None +) + – +
    +

    Namespace containing blocks of the electron-boson coupling matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/base.py +
58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
def __init__(
+    self,
+    cc: BaseEBCC,
+    array: Optional[Any] = None,
+    space: Optional[tuple[Any, ...]] = None,
+    mo_coeff: Optional[tuple[Any, ...]] = None,
+    g: Optional[Namespace[Any]] = None,
+) -> None:
+    """Initialise the Fock matrix.
+
+    Args:
+        cc: Coupled cluster object.
+        array: Fock matrix in the MO basis.
+        space: Space object for each index.
+        mo_coeff: Molecular orbital coefficients for each index.
+        g: Namespace containing blocks of the electron-boson coupling matrix.
+    """
+    Namespace.__init__(self)
+
+    # Parameters:
+    self.__dict__["cc"] = cc
+    self.__dict__["space"] = space if space is not None else (cc.space,) * 2
+    self.__dict__["mo_coeff"] = mo_coeff if mo_coeff is not None else (cc.mo_coeff,) * 2
+    self.__dict__["array"] = array if array is not None else self._get_fock()
+    self.__dict__["g"] = g if g is not None else cc.g
+
+    # Boson parameters:
+    self.__dict__["shift"] = cc.options.shift if g is not None else None
+    self.__dict__["xi"] = cc.xi if g is not None else None
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.ham.fock.GFock.__getitem__(key) + +

+ + +
+ +

Just-in-time getter.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + key + (str) + – +
    +

    Key to get.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Fock matrix for the given spin.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/fock.py +
 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
def __getitem__(self, key: str) -> NDArray[T]:
+    """Just-in-time getter.
+
+    Args:
+        key: Key to get.
+
+    Returns:
+        Fock matrix for the given spin.
+    """
+    if key not in self._members:
+        i = self.space[0].slice(key[0])
+        j = self.space[1].slice(key[1])
+        self._members[key] = np.copy(self.array[i, j])
+
+        if self.shift:
+            xi = self.xi
+            g = np.copy(self.g.__getattr__(f"b{key}"))
+            g += np.transpose(self.g.__getattr__(f"b{key[::-1]}"), (0, 2, 1))
+            self._members[key] -= util.einsum("I,Ipq->pq", xi, g)
+
+    return self._members[key]
+
+
+
+ +
+ + + +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/reference/ham/index.html b/reference/ham/index.html new file mode 100644 index 00000000..09da8be6 --- /dev/null +++ b/reference/ham/index.html @@ -0,0 +1,224 @@ + + + + + + + + Index - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Hamiltonian objects.

+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/ham/space/index.html b/reference/ham/space/index.html new file mode 100644 index 00000000..181bbd8a --- /dev/null +++ b/reference/ham/space/index.html @@ -0,0 +1,2180 @@ + + + + + + + + Space - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Space definition.

+ + + +
+ + + + + + + + +
+ + + +

+ ebcc.ham.space.Space(occupied, frozen, active) + +

+ + +
+ + +

Space class.

+

.. code-block:: none

+
        ─┬─ ┌──────────┐
+         │  │  frozen  │
+         │  ├──────────┤ ─┬─
+ virtual │  │  active  │  │
+         │  ├──────────┤  │ correlated
+         │  │ inactive │  │
+        ─┼─ ├══════════┤ ─┼─
+         │  │ inactive │  │
+         │  ├──────────┤  │ correlated
+occupied │  │  active  │  │
+         │  ├──────────┤ ─┴─
+         │  │  frozen  │
+        ─┴─ └──────────┘
+
+ +

Initialise the space.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + occupied + (NDArray[B]) + – +
    +

    Array containing boolean flags indicating whether or not each orbital is +occupied.

    +
    +
  • +
  • + frozen + (NDArray[B]) + – +
    +

    Array containing boolean flags indicating whether or not each orbital is frozen.

    +
    +
  • +
  • + active + (NDArray[B]) + – +
    +

    Array containing boolean flags indicating whether or not each orbital is active.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/space.py +
54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
def __init__(
+    self,
+    occupied: NDArray[B],
+    frozen: NDArray[B],
+    active: NDArray[B],
+) -> None:
+    """Initialise the space.
+
+    Args:
+        occupied: Array containing boolean flags indicating whether or not each orbital is
+            occupied.
+        frozen: Array containing boolean flags indicating whether or not each orbital is frozen.
+        active: Array containing boolean flags indicating whether or not each orbital is active.
+    """
+    self._occupied = np.asarray(occupied, dtype=np.bool_)
+    self._frozen = np.asarray(frozen, dtype=np.bool_)
+    self._active = np.asarray(active, dtype=np.bool_)
+
+    # Checks:
+    if not (self._occupied.size == self._frozen.size == self._active.size):
+        raise ValueError("The sizes of the space arrays must match.")
+    if np.any(np.bitwise_and(self._frozen, self._active)):
+        raise ValueError("Frozen and active orbitals must be mutually exclusive.")
+
+
+ + + +
+ + + + + + + +
+ + + +

+ ebcc.ham.space.Space.occupied: NDArray[B] + + + property + + +

+ + +
+ +

Get a boolean mask of occupied orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.virtual: NDArray[B] + + + cached + property + + +

+ + +
+ +

Get a boolean mask of virtual orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.nmo: int + + + property + + +

+ + +
+ +

Get the number of orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.nocc: int + + + cached + property + + +

+ + +
+ +

Get the number of occupied orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.nvir: int + + + cached + property + + +

+ + +
+ +

Get the number of virtual orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.correlated: NDArray[B] + + + cached + property + + +

+ + +
+ +

Get a boolean mask of correlated orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.correlated_occupied: NDArray[B] + + + cached + property + + +

+ + +
+ +

Get a boolean mask of occupied correlated orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.correlated_virtual: NDArray[B] + + + cached + property + + +

+ + +
+ +

Get a boolean mask of virtual correlated orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.ncorr: int + + + cached + property + + +

+ + +
+ +

Get the number of correlated orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.ncocc: int + + + cached + property + + +

+ + +
+ +

Get the number of occupied correlated orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.ncvir: int + + + cached + property + + +

+ + +
+ +

Get the number of virtual correlated orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.inactive: NDArray[B] + + + cached + property + + +

+ + +
+ +

Get a boolean mask of inactive orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.inactive_occupied: NDArray[B] + + + cached + property + + +

+ + +
+ +

Get a boolean mask of occupied inactive orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.inactive_virtual: NDArray[B] + + + cached + property + + +

+ + +
+ +

Get a boolean mask of virtual inactive orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.ninact: int + + + cached + property + + +

+ + +
+ +

Get the number of inactive orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.niocc: int + + + cached + property + + +

+ + +
+ +

Get the number of occupied inactive orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.nivir: int + + + cached + property + + +

+ + +
+ +

Get the number of virtual inactive orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.frozen: NDArray[B] + + + property + + +

+ + +
+ +

Get a boolean mask of frozen orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.frozen_occupied: NDArray[B] + + + cached + property + + +

+ + +
+ +

Get a boolean mask of occupied frozen orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.frozen_virtual: NDArray[B] + + + cached + property + + +

+ + +
+ +

Get a boolean mask of virtual frozen orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.nfroz: int + + + cached + property + + +

+ + +
+ +

Get the number of frozen orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.nfocc: int + + + cached + property + + +

+ + +
+ +

Get the number of occupied frozen orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.nfvir: int + + + cached + property + + +

+ + +
+ +

Get the number of virtual frozen orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.active: NDArray[B] + + + property + + +

+ + +
+ +

Get a boolean mask of active orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.active_occupied: NDArray[B] + + + cached + property + + +

+ + +
+ +

Get a boolean mask of occupied active orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.active_virtual: NDArray[B] + + + cached + property + + +

+ + +
+ +

Get a boolean mask of virtual active orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.nact: int + + + cached + property + + +

+ + +
+ +

Get the number of active orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.naocc: int + + + cached + property + + +

+ + +
+ +

Get the number of occupied active orbitals.

+
+ +
+ +
+ + + +

+ ebcc.ham.space.Space.navir: int + + + cached + property + + +

+ + +
+ +

Get the number of virtual active orbitals.

+
+ +
+ + + +
+ + +

+ ebcc.ham.space.Space.__repr__() + +

+ + +
+ +

Get a string representation of the space.

+ +
+ Source code in ebcc/ham/space.py +
78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
def __repr__(self) -> str:
+    """Get a string representation of the space."""
+    out = "(%do, %dv)" % (self.nocc, self.nvir)
+    parts = []
+    if self.nfroz:
+        parts.append("(%do, %dv) frozen" % (self.nfocc, self.nfvir))
+    if self.nact:
+        parts.append("(%do, %dv) active" % (self.naocc, self.navir))
+    if len(parts):
+        out += " [" + ", ".join(parts) + "]"
+    return out
+
+
+
+ +
+ +
+ + +

+ ebcc.ham.space.Space.size(char) + +

+ + +
+ +

Convert a character corresponding to a space to the size of that space.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + char + (str) + – +
    +

    Character to convert.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + int + – +
    +

    Size of the space.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/space.py +
 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
def size(self, char: str) -> int:
+    """Convert a character corresponding to a space to the size of that space.
+
+    Args:
+        char: Character to convert.
+
+    Returns:
+        Size of the space.
+    """
+    return {
+        "x": self.ncorr,
+        "o": self.ncocc,
+        "O": self.naocc,
+        "i": self.niocc,
+        "v": self.ncvir,
+        "V": self.navir,
+        "a": self.nivir,
+    }[char]
+
+
+
+ +
+ +
+ + +

+ ebcc.ham.space.Space.mask(char) + +

+ + +
+ +

Convert a character corresponding to a space to a mask of that space.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + char + (str) + – +
    +

    Character to convert.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[B] + – +
    +

    Mask of the space.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/space.py +
109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
def mask(self, char: str) -> NDArray[B]:
+    """Convert a character corresponding to a space to a mask of that space.
+
+    Args:
+        char: Character to convert.
+
+    Returns:
+        Mask of the space.
+    """
+    return {
+        "x": self.correlated,
+        "o": self.correlated_occupied,
+        "O": self.active_occupied,
+        "i": self.inactive_occupied,
+        "v": self.correlated_virtual,
+        "V": self.active_virtual,
+        "a": self.inactive_virtual,
+    }[char]
+
+
+
+ +
+ +
+ + +

+ ebcc.ham.space.Space.slice(char) + + + cached + + +

+ + +
+ +

Convert a character corresponding to a space to a slice of that space.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + char + (str) + – +
    +

    Character to convert.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + _slice + – +
    +

    Slice of the space.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/space.py +
128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
@functools.lru_cache(maxsize=128)  # noqa: B019
+def slice(self, char: str) -> _slice:
+    """Convert a character corresponding to a space to a slice of that space.
+
+    Args:
+        char: Character to convert.
+
+    Returns:
+        Slice of the space.
+    """
+    # Check that the respective mask is contiguous
+    mask = self.mask(char)
+    first = np.argmax(mask)
+    size = self.size(char)
+    if not np.all(mask[first : first + size]):
+        raise ValueError(
+            f"Space '{char}' is not contiguous. In order to slice into this space, "
+            "the `mask` method must be used. If you see this error internally, it is "
+            "likely that you have constructed a disjoint space. Please reorder the "
+            "orbitals in the space."
+        )
+    return slice(first, first + size)
+
+
+
+ +
+ +
+ + +

+ ebcc.ham.space.Space.omask(char) + +

+ + +
+ +

Like mask, but returns only a mask into only the occupied sector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + char + (str) + – +
    +

    Character to convert.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[B] + – +
    +

    Mask of the space.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/space.py +
151
+152
+153
+154
+155
+156
+157
+158
+159
+160
def omask(self, char: str) -> NDArray[B]:
+    """Like `mask`, but returns only a mask into only the occupied sector.
+
+    Args:
+        char: Character to convert.
+
+    Returns:
+        Mask of the space.
+    """
+    return self.mask(char)[self.occupied]
+
+
+
+ +
+ +
+ + +

+ ebcc.ham.space.Space.vmask(char) + +

+ + +
+ +

Like mask, but returns only a mask into only the virtual sector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + char + (str) + – +
    +

    Character to convert.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[B] + – +
    +

    Mask of the space.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/space.py +
162
+163
+164
+165
+166
+167
+168
+169
+170
+171
def vmask(self, char: str) -> NDArray[B]:
+    """Like `mask`, but returns only a mask into only the virtual sector.
+
+    Args:
+        char: Character to convert.
+
+    Returns:
+        Mask of the space.
+    """
+    return self.mask(char)[self.virtual]
+
+
+
+ +
+ +
+ + +

+ ebcc.ham.space.Space.oslice(char) + +

+ + +
+ +

Like slice, but returns only a slice into only the occupied sector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + char + (str) + – +
    +

    Character to convert.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + _slice + – +
    +

    Slice of the space.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/space.py +
173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
def oslice(self, char: str) -> _slice:
+    """Like `slice`, but returns only a slice into only the occupied sector.
+
+    Args:
+        char: Character to convert.
+
+    Returns:
+        Slice of the space.
+    """
+    s = self.slice(char)
+    nocc = self.nocc
+    return slice(s.start, min(s.stop, nocc))
+
+
+
+ +
+ +
+ + +

+ ebcc.ham.space.Space.vslice(char) + +

+ + +
+ +

Like slice, but returns only a slice into only the virtual sector.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + char + (str) + – +
    +

    Character to convert.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + _slice + – +
    +

    Slice of the space.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/space.py +
186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
def vslice(self, char: str) -> _slice:
+    """Like `slice`, but returns only a slice into only the virtual sector.
+
+    Args:
+        char: Character to convert.
+
+    Returns:
+        Slice of the space.
+    """
+    s = self.slice(char)
+    nocc = self.nocc
+    return slice(max(s.start, nocc) - nocc, s.stop - nocc)
+
+
+
+ +
+ + + +
+ +
+ +
+ + +
+ + +

+ ebcc.ham.space.construct_default_space(mf) + +

+ + +
+ +

Construct a default space.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + mf + (SCF) + – +
    +

    PySCF mean-field object.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Union[RConstructSpaceReturnType, UConstructSpaceReturnType] + – +
    +

    The molecular orbital coefficients, the molecular orbital occupation numbers, and the

    +
    +
  • +
  • + Union[RConstructSpaceReturnType, UConstructSpaceReturnType] + – +
    +

    default space.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/space.py +
365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
def construct_default_space(mf: SCF) -> Union[RConstructSpaceReturnType, UConstructSpaceReturnType]:
+    """Construct a default space.
+
+    Args:
+        mf: PySCF mean-field object.
+
+    Returns:
+        The molecular orbital coefficients, the molecular orbital occupation numbers, and the
+        default space.
+    """
+
+    def _construct(mo_occ: NDArray[T]) -> Space:
+        """Build the default space."""
+        frozen = np.zeros(mo_occ.shape, dtype=np.bool_)
+        active = np.zeros(mo_occ.shape, dtype=np.bool_)
+        space = Space(
+            occupied=mo_occ > 0,
+            frozen=frozen,
+            active=active,
+        )
+        return space
+
+    # Construct the default space
+    if mf.mo_occ.ndim == 2:
+        space_a = _construct(mf.mo_occ[0])
+        space_b = _construct(mf.mo_occ[1])
+        return mf.mo_coeff, mf.mo_occ, (space_a, space_b)
+    else:
+        return mf.mo_coeff, mf.mo_occ, _construct(mf.mo_occ)
+
+
+
+ +
+ +
+ + +

+ ebcc.ham.space.construct_fno_space(mf, occ_tol=1e-05, occ_frac=None, amplitudes=None) + +

+ + +
+ +

Construct a frozen natural orbital space.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + mf + (SCF) + – +
    +

    PySCF mean-field object.

    +
    +
  • +
  • + occ_tol + (Optional[float], default: + 1e-05 +) + – +
    +

    Threshold in the natural orbital occupation numbers.

    +
    +
  • +
  • + occ_frac + (Optional[float], default: + None +) + – +
    +

    Fraction of the natural orbital occupation numbers to be retained. Overrides +occ_tol if both are specified.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes. If provided, use these amplitudes when calculating the MP2 +1RDM.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Union[RConstructSpaceReturnType, UConstructSpaceReturnType] + – +
    +

    The natural orbital coefficients, the natural orbital occupation numbers, and the frozen

    +
    +
  • +
  • + Union[RConstructSpaceReturnType, UConstructSpaceReturnType] + – +
    +

    natural orbital space.

    +
    +
  • +
+
+
+ Source code in ebcc/ham/space.py +
396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
def construct_fno_space(
+    mf: SCF,
+    occ_tol: Optional[float] = 1e-5,
+    occ_frac: Optional[float] = None,
+    amplitudes: Optional[Namespace[SpinArrayType]] = None,
+) -> Union[RConstructSpaceReturnType, UConstructSpaceReturnType]:
+    """Construct a frozen natural orbital space.
+
+    Args:
+        mf: PySCF mean-field object.
+        occ_tol: Threshold in the natural orbital occupation numbers.
+        occ_frac: Fraction of the natural orbital occupation numbers to be retained. Overrides
+            `occ_tol` if both are specified.
+        amplitudes: Cluster amplitudes. If provided, use these amplitudes when calculating the MP2
+            1RDM.
+
+    Returns:
+        The natural orbital coefficients, the natural orbital occupation numbers, and the frozen
+        natural orbital space.
+    """
+    # Get the MP2 1RDM
+    solver = MP2(mf)
+    dm1: NDArray[T]
+    if not amplitudes:
+        solver.kernel()
+        dm1 = np.asarray(solver.make_rdm1(), dtype=types[float])
+    else:
+        if isinstance(amplitudes.t2, util.Namespace):
+            t2 = (amplitudes.t2.aaaa, amplitudes.t2.abab, amplitudes.t2.bbbb)
+            dm1 = np.asarray(solver.make_rdm1(t2=t2), dtype=types[float])
+        else:
+            dm1 = np.asarray(solver.make_rdm1(t2=amplitudes.t2), dtype=types[float])
+
+    # def _construct(dm1, mo_energy, mo_coeff, mo_occ):
+    def _construct(
+        dm1: NDArray[T],
+        mo_energy: NDArray[T],
+        mo_coeff: NDArray[T],
+        mo_occ: NDArray[T],
+    ) -> RConstructSpaceReturnType:
+        # Get the number of occupied orbitals
+        nocc = cast(int, np.sum(mo_occ > 0))
+
+        # Calculate the natural orbitals
+        n, c = np.linalg.eigh(dm1[nocc:, nocc:])
+        n, c = n[::-1], c[:, ::-1]
+
+        # Truncate the natural orbitals
+        if occ_frac is None:
+            active_vir = n > occ_tol
+        else:
+            active_vir = np.cumsum(n / np.sum(n)) <= occ_frac
+        num_active_vir = cast(int, np.sum(active_vir))
+
+        # Canonicalise the natural orbitals
+        fock_vv = np.diag(mo_energy[nocc:])
+        fock_vv = util.einsum("ab,au,bv->uv", fock_vv, c, c)
+        _, c_can = np.linalg.eigh(fock_vv[active_vir][:, active_vir])
+
+        # Transform the natural orbitals
+        no_coeff_avir = util.einsum(
+            "pi,iq,qj->pj", mo_coeff[:, nocc:], c[:, :num_active_vir], c_can
+        )
+        no_coeff_fvir = mo_coeff[:, nocc:] @ c[:, num_active_vir:]
+        no_coeff_occ = mo_coeff[:, :nocc]
+        no_coeff = np.concatenate((no_coeff_occ, no_coeff_avir, no_coeff_fvir), axis=1)
+
+        # Build the natural orbital space
+        active = np.zeros(mo_occ.shape, dtype=np.bool_)
+        frozen = np.concatenate(
+            (
+                np.zeros((nocc + num_active_vir,), dtype=np.bool_),
+                np.ones((mo_occ.size - nocc - num_active_vir,), dtype=np.bool_),
+            )
+        )
+        no_space = Space(
+            occupied=mo_occ > 0,
+            frozen=frozen,
+            active=active,
+        )
+
+        return no_coeff, mo_occ, no_space
+
+    # Construct the natural orbitals
+    if mf.mo_occ.ndim == 2:
+        coeff_a, occ_a, space_a = _construct(
+            np.asarray(dm1[0], dtype=types[float]),
+            np.asarray(mf.mo_energy[0], dtype=types[float]),
+            np.asarray(mf.mo_coeff[0], dtype=types[float]),
+            np.asarray(mf.mo_occ[0], dtype=types[float]),
+        )
+        coeff_b, occ_b, space_b = _construct(
+            np.asarray(dm1[1], dtype=types[float]),
+            np.asarray(mf.mo_energy[1], dtype=types[float]),
+            np.asarray(mf.mo_coeff[1], dtype=types[float]),
+            np.asarray(mf.mo_occ[1], dtype=types[float]),
+        )
+        return (coeff_a, coeff_b), (occ_a, occ_b), (space_a, space_b)
+    else:
+        return _construct(
+            np.asarray(dm1, dtype=types[float]),
+            np.asarray(mf.mo_energy, dtype=types[float]),
+            np.asarray(mf.mo_coeff, dtype=types[float]),
+            np.asarray(mf.mo_occ, dtype=types[float]),
+        )
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/reference/index.html b/reference/index.html new file mode 100644 index 00000000..9287d225 --- /dev/null +++ b/reference/index.html @@ -0,0 +1,400 @@ + + + + + + + + Index - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +
+

ebcc: Coupled cluster calculations on electron-boson systems

+
+

The ebcc package implements various coupled cluster (CC) models +for application to electron-boson systems, with a focus on +generality and model extensibility.

+

Installation

+

From the python package index:

+
pip install ebcc
+
+

From source:

+
git clone https://github.com/BoothGroup/ebcc
+pip install .
+
+

Usage

+

The implemented models are built upon the mean-field objects of +PySCF <https://github.com/pyscf/pyscf>_:

+
+
+
+

from pyscf import gto, scf +from ebcc import EBCC +mol = gto.M(atom="H 0 0 0; H 0 0 1", basis="cc-pvdz") +mf = scf.RHF(mol) +mf.kernel() +ccsd = EBCC(mf) +ccsd.kernel()

+
+
+
+ + + +
+ + + + + + + +
+ + + +

+ ebcc.__version__ = '1.5.0' + + + module-attribute + + +

+ + +
+ +

List of supported ansatz types.

+
+ +
+ + + +
+ + +

+ ebcc.EBCC(mf, *args, **kwargs) + +

+ + +
+ +

Construct an EBCC object for the given mean-field object.

+ +
+ Source code in ebcc/__init__.py +
77
+78
+79
+80
+81
+82
+83
+84
+85
+86
def EBCC(mf: SCF, *args: Any, **kwargs: Any) -> BaseEBCC:
+    """Construct an EBCC object for the given mean-field object."""
+    from pyscf import scf
+
+    if isinstance(mf, scf.uhf.UHF):
+        return UEBCC(mf, *args, **kwargs)
+    elif isinstance(mf, scf.ghf.GHF):
+        return GEBCC(mf, *args, **kwargs)
+    else:
+        return REBCC(mf, *args, **kwargs)
+
+
+
+ +
+ +
+ + +

+ ebcc.available_models(verbose=True) + +

+ + +
+ +

List available coupled-cluster models for each spin type.

+ +
+ Source code in ebcc/__init__.py +
118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
def available_models(
+    verbose: bool = True,
+) -> tuple[tuple[str, ...], tuple[str, ...], tuple[str, ...]]:  # pragma: no cover
+    """List available coupled-cluster models for each spin type."""
+    cd = os.path.dirname(os.path.realpath(__file__))
+    path = os.path.join(cd, "codegen")
+    _, _, files = list(os.walk(path))[0]
+
+    rhf = []
+    uhf = []
+    ghf = []
+
+    for f in files:
+        if f.endswith(".py"):
+            f = f.rstrip(".py")
+            f = f.replace("_", "-")
+            if f.startswith("RCC"):
+                rhf.append(f)
+            elif f.startswith("UCC"):
+                uhf.append(f)
+            elif f.startswith("GCC"):
+                ghf.append(f)
+
+    rhf = sorted(rhf)
+    uhf = sorted(uhf)
+    ghf = sorted(ghf)
+
+    if verbose:
+        sys.stderr.write("RHF:\n  %s\n" % ", ".join(rhf))
+        sys.stderr.write("UHF:\n  %s\n" % ", ".join(uhf))
+        sys.stderr.write("GHF:\n  %s\n" % ", ".join(ghf))
+
+    return tuple(rhf), tuple(uhf), tuple(ghf)
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/opt/base/index.html b/reference/opt/base/index.html new file mode 100644 index 00000000..0e5119e6 --- /dev/null +++ b/reference/opt/base/index.html @@ -0,0 +1,1443 @@ + + + + + + + + Base - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Base classes for ebcc.opt.

+ + + +
+ + + + + + + + +
+ + + +

+ ebcc.opt.base.BaseOptions(e_tol=1e-08, t_tol=1e-08, max_iter=20, diis_space=9, diis_min_space=1, damping=0.0) + + + dataclass + + +

+ + +
+

+ Bases: _BaseOptions

+ + +

Options for Brueckner-orbital calculations.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + e_tol + (float, default: + 1e-08 +) + – +
    +

    Threshold for converged in the correlation energy.

    +
    +
  • +
  • + t_tol + (float, default: + 1e-08 +) + – +
    +

    Threshold for converged in the amplitude norm.

    +
    +
  • +
  • + max_iter + (int, default: + 20 +) + – +
    +

    Maximum number of iterations.

    +
    +
  • +
  • + diis_space + (int, default: + 9 +) + – +
    +

    Number of amplitudes to use in DIIS extrapolation.

    +
    +
  • +
  • + diis_min_space + (int, default: + 1 +) + – +
    +

    Minimum number of amplitudes to use in DIIS extrapolation.

    +
    +
  • +
  • + damping + (float, default: + 0.0 +) + – +
    +

    Damping factor for DIIS extrapolation.

    +
    +
  • +
+
+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+ + + +

+ ebcc.opt.base.BaseBruecknerEBCC(cc, options=None, **kwargs) + +

+ + +
+

+ Bases: ABC

+ + +

Base class for Brueckner-orbital coupled cluster.

+ +

Initialise the Brueckner EBCC object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + cc + (BaseEBCC) + – +
    +

    Parent EBCC object.

    +
    +
  • +
  • + options + (Optional[BaseOptions], default: + None +) + – +
    +

    Options for the EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments used to update options.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/base.py +
 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
def __init__(
+    self,
+    cc: BaseEBCC,
+    options: Optional[BaseOptions] = None,
+    **kwargs: Any,
+) -> None:
+    r"""Initialise the Brueckner EBCC object.
+
+    Args:
+        cc: Parent `EBCC` object.
+        options: Options for the EOM calculation.
+        **kwargs: Additional keyword arguments used to update `options`.
+    """
+    # Options:
+    if options is None:
+        options = self.Options()
+    self.options = options
+    for key, val in kwargs.items():
+        setattr(self.options, key, val)
+
+    # Parameters:
+    self.cc = cc
+    self.mf = cc.mf
+    self.space = cc.space
+    self.log = cc.log
+
+    # Attributes:
+    self.converged = False
+
+    # Logging:
+    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" > diis_min_space:  {ANSI.y}{self.options.diis_min_space}{ANSI.R}")
+    cc.log.info(f" > damping:  {ANSI.y}{self.options.damping}{ANSI.R}")
+    cc.log.debug("")
+
+
+ + + +
+ + + + + + + +
+ + + +

+ ebcc.opt.base.BaseBruecknerEBCC.spin_type: str + + + property + + +

+ + +
+ +

Get the spin type.

+
+ +
+ +
+ + + +

+ ebcc.opt.base.BaseBruecknerEBCC.name: str + + + property + + +

+ + +
+ +

Get the name of the method.

+
+ +
+ + + +
+ + +

+ ebcc.opt.base.BaseBruecknerEBCC.kernel() + +

+ + +
+ +

Run the Bruckner-orbital coupled cluster calculation.

+ + + + + + + + + + + + + +
Returns: +
    +
  • + float + – +
    +

    Correlation energy.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/base.py +
116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
def kernel(self) -> float:
+    """Run the Bruckner-orbital coupled cluster calculation.
+
+    Returns:
+        Correlation energy.
+    """
+    timer = util.Timer()
+
+    # Make sure the initial CC calculation is converged:
+    if not self.cc.converged:
+        with lib.temporary_env(self.cc, log=NullLogger()):
+            self.cc.kernel()
+
+    # Set up DIIS:
+    damping = self.Damping(options=self.options)
+
+    # Initialise coefficients:
+    mo_coeff_new: NDArray[T] = np.copy(np.asarray(self.cc.mo_coeff, dtype=types[float]))
+    mo_coeff_ref: NDArray[T] = np.copy(np.asarray(self.cc.mo_coeff, dtype=types[float]))
+    mo_coeff_ref = self.mo_to_correlated(mo_coeff_ref)
+    u_tot = None
+
+    self.cc.log.output("Solving for Brueckner orbitals.")
+    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(
+        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
+    for niter in range(1, self.options.max_iter + 1):
+        # Update rotation matrix:
+        u, u_tot = self.get_rotation_matrix(u_tot=u_tot, damping=damping)
+
+        # Update MO coefficients:
+        mo_coeff_new = self.update_coefficients(u_tot, mo_coeff_new, mo_coeff_ref)
+
+        # Transform mean-field and amplitudes:
+        self.mf.mo_coeff = numpy.asarray(mo_coeff_new)
+        self.mf.e_tot = self.mf.energy_tot()
+        amplitudes = self.transform_amplitudes(u)
+
+        # Run CC calculation:
+        e_prev = self.cc.e_tot
+        with lib.temporary_env(self.cc, log=NullLogger()):
+            self.cc.__class__.__init__(
+                self.cc,
+                self.mf,
+                log=self.cc.log,
+                ansatz=self.cc.ansatz,
+                space=self.cc.space,
+                omega=self.cc.omega,
+                g=self.cc.bare_g,
+                G=self.cc.bare_G,
+                options=self.cc.options,
+            )
+            self.cc.amplitudes = amplitudes
+            self.cc.kernel()
+        de = abs(e_prev - self.cc.e_tot)
+        dt = self.get_t1_norm()
+
+        # Log the iteration:
+        converged_e = bool(de < self.options.e_tol)
+        converged_t = bool(dt < self.options.t_tol)
+        self.log.info(
+            f"{niter:4d} {self.cc.e_corr:16.10f} {self.cc.e_tot:18.10f}"
+            f" {[ANSI.r, ANSI.g][int(self.cc.converged)]}{self.cc.converged!r:>8}{ANSI.R}"
+            f" {[ANSI.r, ANSI.g][int(converged_e)]}{de:13.3e}{ANSI.R}"
+            f" {[ANSI.r, ANSI.g][int(converged_t)]}{dt:13.3e}{ANSI.R}"
+        )
+
+        # Check for convergence:
+        converged = converged_e and converged_t
+        if converged:
+            self.log.debug("")
+            self.log.output(f"{ANSI.g}Converged.{ANSI.R}")
+            break
+    else:
+        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)
+    self.cc.log.output("E(tot)  = %.10f", self.cc.e_tot)
+    self.cc.log.debug("")
+    self.cc.log.debug("Time elapsed: %s", timer.format_time(timer()))
+    self.cc.log.debug("")
+
+    return self.cc.e_corr
+
+
+
+ +
+ +
+ + +

+ ebcc.opt.base.BaseBruecknerEBCC.get_rotation_matrix(u_tot=None, damping=None, t1=None) + + + abstractmethod + + +

+ + +
+ +

Update the rotation matrix.

+

Also returns the total rotation matrix.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + u_tot + (Optional[SpinArrayType], default: + None +) + – +
    +

    Total rotation matrix.

    +
    +
  • +
  • + damping + (Optional[BaseDamping], default: + None +) + – +
    +

    Damping object.

    +
    +
  • +
  • + t1 + (Optional[SpinArrayType], default: + None +) + – +
    +

    T1 amplitude.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: + +
+
+ Source code in ebcc/opt/base.py +
210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
@abstractmethod
+def get_rotation_matrix(
+    self,
+    u_tot: Optional[SpinArrayType] = None,
+    damping: Optional[BaseDamping] = None,
+    t1: Optional[SpinArrayType] = None,
+) -> tuple[SpinArrayType, SpinArrayType]:
+    """Update the rotation matrix.
+
+    Also returns the total rotation matrix.
+
+    Args:
+        u_tot: Total rotation matrix.
+        damping: Damping object.
+        t1: T1 amplitude.
+
+    Returns:
+        Rotation matrix and total rotation matrix.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.opt.base.BaseBruecknerEBCC.transform_amplitudes(u, amplitudes=None) + + + abstractmethod + + +

+ + +
+ +

Transform the amplitudes into the Brueckner orbital basis.

+ + + + + + + + + + + + + +
Parameters: + +
+ + + + + + + + + + + + +
Returns: + +
+
+ Source code in ebcc/opt/base.py +
231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
@abstractmethod
+def transform_amplitudes(
+    self, u: SpinArrayType, amplitudes: Optional[Namespace[SpinArrayType]] = None
+) -> Namespace[SpinArrayType]:
+    """Transform the amplitudes into the Brueckner orbital basis.
+
+    Args:
+        u: Rotation matrix.
+        amplitudes: Cluster amplitudes.
+
+    Returns:
+        Transformed cluster amplitudes.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.opt.base.BaseBruecknerEBCC.get_t1_norm(amplitudes=None) + + + abstractmethod + + +

+ + +
+ +

Get the norm of the T1 amplitude.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + T + – +
    +

    Norm of the T1 amplitude.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/base.py +
246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
@abstractmethod
+def get_t1_norm(self, amplitudes: Optional[Namespace[SpinArrayType]] = None) -> T:
+    """Get the norm of the T1 amplitude.
+
+    Args:
+        amplitudes: Cluster amplitudes.
+
+    Returns:
+        Norm of the T1 amplitude.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.opt.base.BaseBruecknerEBCC.mo_to_correlated(mo_coeff) + + + abstractmethod + + +

+ + +
+ +

Transform the MO coefficients into the correlated basis.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + mo_coeff + (Any) + – +
    +

    MO coefficients.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Any + – +
    +

    Correlated slice of MO coefficients.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/base.py +
258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
@abstractmethod
+def mo_to_correlated(self, mo_coeff: Any) -> Any:
+    """Transform the MO coefficients into the correlated basis.
+
+    Args:
+        mo_coeff: MO coefficients.
+
+    Returns:
+        Correlated slice of MO coefficients.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.opt.base.BaseBruecknerEBCC.mo_update_correlated(mo_coeff, mo_coeff_corr) + + + abstractmethod + + +

+ + +
+ +

Update the correlated slice of a set of MO coefficients.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + mo_coeff + (Any) + – +
    +

    MO coefficients.

    +
    +
  • +
  • + mo_coeff_corr + (Any) + – +
    +

    Correlated slice of MO coefficients.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Any + – +
    +

    Updated MO coefficients.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/base.py +
270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
@abstractmethod
+def mo_update_correlated(self, mo_coeff: Any, mo_coeff_corr: Any) -> Any:
+    """Update the correlated slice of a set of MO coefficients.
+
+    Args:
+        mo_coeff: MO coefficients.
+        mo_coeff_corr: Correlated slice of MO coefficients.
+
+    Returns:
+        Updated MO coefficients.
+    """
+    pass
+
+
+
+ +
+ +
+ + +

+ ebcc.opt.base.BaseBruecknerEBCC.update_coefficients(u_tot, mo_coeff_new, mo_coeff_ref) + + + abstractmethod + + +

+ + +
+ +

Update the MO coefficients.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + u_tot + (SpinArrayType) + – +
    +

    Total rotation matrix.

    +
    +
  • +
  • + mo_coeff_new + (Any) + – +
    +

    New MO coefficients.

    +
    +
  • +
  • + mo_coeff_ref + (Any) + – +
    +

    Reference MO coefficients.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Any + – +
    +

    Updated MO coefficients.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/base.py +
283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
@abstractmethod
+def update_coefficients(
+    self, u_tot: SpinArrayType, mo_coeff_new: Any, mo_coeff_ref: Any
+) -> Any:
+    """Update the MO coefficients.
+
+    Args:
+        u_tot: Total rotation matrix.
+        mo_coeff_new: New MO coefficients.
+        mo_coeff_ref: Reference MO coefficients.
+
+    Returns:
+        Updated MO coefficients.
+    """
+    pass
+
+
+
+ +
+ + + +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/reference/opt/gbrueckner/index.html b/reference/opt/gbrueckner/index.html new file mode 100644 index 00000000..545939d3 --- /dev/null +++ b/reference/opt/gbrueckner/index.html @@ -0,0 +1,1137 @@ + + + + + + + + Generalised - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Generalised Brueckner-orbital coupled cluster.

+ + + +
+ + + + + + + + +
+ + + +

+ ebcc.opt.gbrueckner.BruecknerGEBCC(cc, options=None, **kwargs) + +

+ + +
+

+ Bases: BaseBruecknerEBCC

+ + +

Generalised Brueckner-orbital coupled cluster.

+ +

Initialise the Brueckner EBCC object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + cc + (BaseEBCC) + – +
    +

    Parent EBCC object.

    +
    +
  • +
  • + options + (Optional[BaseOptions], default: + None +) + – +
    +

    Options for the EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments used to update options.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/base.py +
 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
def __init__(
+    self,
+    cc: BaseEBCC,
+    options: Optional[BaseOptions] = None,
+    **kwargs: Any,
+) -> None:
+    r"""Initialise the Brueckner EBCC object.
+
+    Args:
+        cc: Parent `EBCC` object.
+        options: Options for the EOM calculation.
+        **kwargs: Additional keyword arguments used to update `options`.
+    """
+    # Options:
+    if options is None:
+        options = self.Options()
+    self.options = options
+    for key, val in kwargs.items():
+        setattr(self.options, key, val)
+
+    # Parameters:
+    self.cc = cc
+    self.mf = cc.mf
+    self.space = cc.space
+    self.log = cc.log
+
+    # Attributes:
+    self.converged = False
+
+    # Logging:
+    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" > diis_min_space:  {ANSI.y}{self.options.diis_min_space}{ANSI.R}")
+    cc.log.info(f" > damping:  {ANSI.y}{self.options.damping}{ANSI.R}")
+    cc.log.debug("")
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.opt.gbrueckner.BruecknerGEBCC.get_rotation_matrix(u_tot=None, damping=None, t1=None) + +

+ + +
+ +

Update the rotation matrix.

+

Also returns the total rotation matrix.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + u_tot + (Optional[SpinArrayType], default: + None +) + – +
    +

    Total rotation matrix.

    +
    +
  • +
  • + damping + (Optional[BaseDamping], default: + None +) + – +
    +

    Damping object.

    +
    +
  • +
  • + t1 + (Optional[SpinArrayType], default: + None +) + – +
    +

    T1 amplitude.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + tuple[SpinArrayType, SpinArrayType] + – +
    +

    Rotation matrix and total rotation matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/gbrueckner.py +
34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
def get_rotation_matrix(
+    self,
+    u_tot: Optional[SpinArrayType] = None,
+    damping: Optional[BaseDamping] = None,
+    t1: Optional[SpinArrayType] = None,
+) -> tuple[SpinArrayType, SpinArrayType]:
+    """Update the rotation matrix.
+
+    Also returns the total rotation matrix.
+
+    Args:
+        u_tot: Total rotation matrix.
+        damping: Damping object.
+        t1: T1 amplitude.
+
+    Returns:
+        Rotation matrix and total rotation matrix.
+    """
+    if t1 is None:
+        t1 = self.cc.t1
+    if u_tot is None:
+        u_tot = np.eye(self.cc.space.ncorr, dtype=types[float])
+
+    zocc = np.zeros((self.cc.space.ncocc, self.cc.space.ncocc))
+    zvir = np.zeros((self.cc.space.ncvir, self.cc.space.ncvir))
+    t1_block: NDArray[T] = np.block([[zocc, -t1], [np.transpose(t1), zvir]])
+
+    u = scipy.linalg.expm(t1_block)
+
+    u_tot = u_tot @ u
+    if np.linalg.det(u_tot) < 0:
+        u_tot = _put(u_tot, np.ix_(np.arange(u_tot.shape[0]), np.array([0])), -u_tot[:, 0])
+
+    a: NDArray[T] = np.asarray(np.real(scipy.linalg.logm(u_tot)), dtype=types[float])
+    if damping is not None:
+        a = damping(a, error=t1)
+
+    u_tot = scipy.linalg.expm(a)
+
+    return u, u_tot
+
+
+
+ +
+ +
+ + +

+ ebcc.opt.gbrueckner.BruecknerGEBCC.transform_amplitudes(u, amplitudes=None) + +

+ + +
+ +

Transform the amplitudes into the Brueckner orbital basis.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + u + (SpinArrayType) + – +
    +

    Rotation matrix.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    Transformed cluster amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/gbrueckner.py +
 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
def transform_amplitudes(
+    self, u: SpinArrayType, amplitudes: Optional[Namespace[SpinArrayType]] = None
+) -> Namespace[SpinArrayType]:
+    """Transform the amplitudes into the Brueckner orbital basis.
+
+    Args:
+        u: Rotation matrix.
+        amplitudes: Cluster amplitudes.
+
+    Returns:
+        Transformed cluster amplitudes.
+    """
+    if not amplitudes:
+        amplitudes = self.cc.amplitudes
+
+    nocc = self.cc.space.ncocc
+    ci = u[:nocc, :nocc]
+    ca = u[nocc:, nocc:]
+
+    # Transform T amplitudes:
+    for name, key, n in self.cc.ansatz.fermionic_cluster_ranks(spin_type=self.spin_type):
+        args: list[Union[tuple[int, ...], NDArray[T]]] = [
+            self.cc.amplitudes[name],
+            tuple(range(n * 2)),
+        ]
+        for i in range(n):
+            args += [ci, (i, i + n * 2)]
+        for i in range(n):
+            args += [ca, (i + n, i + n * 3)]
+        args += [tuple(range(n * 2, n * 4))]
+        self.cc.amplitudes[name] = util.einsum(*args)
+
+    # Transform S amplitudes:
+    for name, key, n in self.cc.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type):
+        raise util.ModelNotImplemented  # TODO
+
+    # Transform U amplitudes:
+    for name, key, nf, nb in self.cc.ansatz.coupling_cluster_ranks(spin_type=self.spin_type):
+        raise util.ModelNotImplemented  # TODO
+
+    return self.cc.amplitudes
+
+
+
+ +
+ +
+ + +

+ ebcc.opt.gbrueckner.BruecknerGEBCC.get_t1_norm(amplitudes=None) + +

+ + +
+ +

Get the norm of the T1 amplitude.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + T + – +
    +

    Norm of the T1 amplitude.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/gbrueckner.py +
117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
def get_t1_norm(self, amplitudes: Optional[Namespace[SpinArrayType]] = None) -> T:
+    """Get the norm of the T1 amplitude.
+
+    Args:
+        amplitudes: Cluster amplitudes.
+
+    Returns:
+        Norm of the T1 amplitude.
+    """
+    if not amplitudes:
+        amplitudes = self.cc.amplitudes
+    weight: T = np.linalg.norm(amplitudes["t1"])
+    return weight
+
+
+
+ +
+ +
+ + +

+ ebcc.opt.gbrueckner.BruecknerGEBCC.mo_to_correlated(mo_coeff) + +

+ + +
+ +

Transform the MO coefficients into the correlated basis.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + mo_coeff + (NDArray[T]) + – +
    +

    MO coefficients.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Correlated slice of MO coefficients.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/gbrueckner.py +
131
+132
+133
+134
+135
+136
+137
+138
+139
+140
def mo_to_correlated(self, mo_coeff: NDArray[T]) -> NDArray[T]:
+    """Transform the MO coefficients into the correlated basis.
+
+    Args:
+        mo_coeff: MO coefficients.
+
+    Returns:
+        Correlated slice of MO coefficients.
+    """
+    return mo_coeff[:, self.cc.space.correlated]
+
+
+
+ +
+ +
+ + +

+ ebcc.opt.gbrueckner.BruecknerGEBCC.mo_update_correlated(mo_coeff, mo_coeff_corr) + +

+ + +
+ +

Update the correlated slice of a set of MO coefficients.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + mo_coeff + (NDArray[T]) + – +
    +

    MO coefficients.

    +
    +
  • +
  • + mo_coeff_corr + (NDArray[T]) + – +
    +

    Correlated slice of MO coefficients.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Updated MO coefficients.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/gbrueckner.py +
142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
def mo_update_correlated(self, mo_coeff: NDArray[T], mo_coeff_corr: NDArray[T]) -> NDArray[T]:
+    """Update the correlated slice of a set of MO coefficients.
+
+    Args:
+        mo_coeff: MO coefficients.
+        mo_coeff_corr: Correlated slice of MO coefficients.
+
+    Returns:
+        Updated MO coefficients.
+    """
+    mo_coeff = _put(
+        mo_coeff,
+        np.ix_(np.arange(mo_coeff.shape[0]), self.cc.space.correlated),  # type: ignore
+        mo_coeff_corr,
+    )
+    return mo_coeff
+
+
+
+ +
+ +
+ + +

+ ebcc.opt.gbrueckner.BruecknerGEBCC.update_coefficients(u_tot, mo_coeff, mo_coeff_ref) + +

+ + +
+ +

Update the MO coefficients.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + u_tot + (SpinArrayType) + – +
    +

    Total rotation matrix.

    +
    +
  • +
  • + mo_coeff + (NDArray[T]) + – +
    +

    New MO coefficients.

    +
    +
  • +
  • + mo_coeff_ref + (NDArray[T]) + – +
    +

    Reference MO coefficients.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Updated MO coefficients.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/gbrueckner.py +
159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
def update_coefficients(
+    self, u_tot: SpinArrayType, mo_coeff: NDArray[T], mo_coeff_ref: NDArray[T]
+) -> NDArray[T]:
+    """Update the MO coefficients.
+
+    Args:
+        u_tot: Total rotation matrix.
+        mo_coeff: New MO coefficients.
+        mo_coeff_ref: Reference MO coefficients.
+
+    Returns:
+        Updated MO coefficients.
+    """
+    mo_coeff_new_corr = util.einsum("pi,ij->pj", mo_coeff_ref, u_tot)
+    mo_coeff_new = self.mo_update_correlated(mo_coeff, mo_coeff_new_corr)
+    return mo_coeff_new
+
+
+
+ +
+ + + +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/reference/opt/index.html b/reference/opt/index.html new file mode 100644 index 00000000..6c57273d --- /dev/null +++ b/reference/opt/index.html @@ -0,0 +1,224 @@ + + + + + + + + Index - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Orbital-optimised coupled cluster approaches.

+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/opt/rbrueckner/index.html b/reference/opt/rbrueckner/index.html new file mode 100644 index 00000000..507cc7f9 --- /dev/null +++ b/reference/opt/rbrueckner/index.html @@ -0,0 +1,1137 @@ + + + + + + + + Restricted - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Restricted Brueckner-orbital coupled cluster.

+ + + +
+ + + + + + + + +
+ + + +

+ ebcc.opt.rbrueckner.BruecknerREBCC(cc, options=None, **kwargs) + +

+ + +
+

+ Bases: BaseBruecknerEBCC

+ + +

Restricted Brueckner-orbital coupled cluster.

+ +

Initialise the Brueckner EBCC object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + cc + (BaseEBCC) + – +
    +

    Parent EBCC object.

    +
    +
  • +
  • + options + (Optional[BaseOptions], default: + None +) + – +
    +

    Options for the EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments used to update options.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/base.py +
 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
def __init__(
+    self,
+    cc: BaseEBCC,
+    options: Optional[BaseOptions] = None,
+    **kwargs: Any,
+) -> None:
+    r"""Initialise the Brueckner EBCC object.
+
+    Args:
+        cc: Parent `EBCC` object.
+        options: Options for the EOM calculation.
+        **kwargs: Additional keyword arguments used to update `options`.
+    """
+    # Options:
+    if options is None:
+        options = self.Options()
+    self.options = options
+    for key, val in kwargs.items():
+        setattr(self.options, key, val)
+
+    # Parameters:
+    self.cc = cc
+    self.mf = cc.mf
+    self.space = cc.space
+    self.log = cc.log
+
+    # Attributes:
+    self.converged = False
+
+    # Logging:
+    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" > diis_min_space:  {ANSI.y}{self.options.diis_min_space}{ANSI.R}")
+    cc.log.info(f" > damping:  {ANSI.y}{self.options.damping}{ANSI.R}")
+    cc.log.debug("")
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.opt.rbrueckner.BruecknerREBCC.get_rotation_matrix(u_tot=None, damping=None, t1=None) + +

+ + +
+ +

Update the rotation matrix.

+

Also returns the total rotation matrix.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + u_tot + (Optional[SpinArrayType], default: + None +) + – +
    +

    Total rotation matrix.

    +
    +
  • +
  • + damping + (Optional[BaseDamping], default: + None +) + – +
    +

    Damping object.

    +
    +
  • +
  • + t1 + (Optional[SpinArrayType], default: + None +) + – +
    +

    T1 amplitude.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + tuple[SpinArrayType, SpinArrayType] + – +
    +

    Rotation matrix and total rotation matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/rbrueckner.py +
34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
def get_rotation_matrix(
+    self,
+    u_tot: Optional[SpinArrayType] = None,
+    damping: Optional[BaseDamping] = None,
+    t1: Optional[SpinArrayType] = None,
+) -> tuple[SpinArrayType, SpinArrayType]:
+    """Update the rotation matrix.
+
+    Also returns the total rotation matrix.
+
+    Args:
+        u_tot: Total rotation matrix.
+        damping: Damping object.
+        t1: T1 amplitude.
+
+    Returns:
+        Rotation matrix and total rotation matrix.
+    """
+    if t1 is None:
+        t1 = self.cc.t1
+    if u_tot is None:
+        u_tot = np.eye(self.cc.space.ncorr, dtype=types[float])
+
+    zocc = np.zeros((self.cc.space.ncocc, self.cc.space.ncocc))
+    zvir = np.zeros((self.cc.space.ncvir, self.cc.space.ncvir))
+    t1_block: NDArray[T] = np.block([[zocc, -t1], [np.transpose(t1), zvir]])
+
+    u = scipy.linalg.expm(t1_block)
+
+    u_tot = u_tot @ u
+    if np.linalg.det(u_tot) < 0:
+        u_tot = _put(u_tot, np.ix_(np.arange(u_tot.shape[0]), np.array([0])), -u_tot[:, 0])
+
+    a: NDArray[T] = np.asarray(np.real(scipy.linalg.logm(u_tot)), dtype=types[float])
+    if damping is not None:
+        a = damping(a, error=t1)
+
+    u_tot = scipy.linalg.expm(a)
+
+    return u, u_tot
+
+
+
+ +
+ +
+ + +

+ ebcc.opt.rbrueckner.BruecknerREBCC.transform_amplitudes(u, amplitudes=None) + +

+ + +
+ +

Transform the amplitudes into the Brueckner orbital basis.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + u + (SpinArrayType) + – +
    +

    Rotation matrix.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    Transformed cluster amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/rbrueckner.py +
 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
def transform_amplitudes(
+    self, u: SpinArrayType, amplitudes: Optional[Namespace[SpinArrayType]] = None
+) -> Namespace[SpinArrayType]:
+    """Transform the amplitudes into the Brueckner orbital basis.
+
+    Args:
+        u: Rotation matrix.
+        amplitudes: Cluster amplitudes.
+
+    Returns:
+        Transformed cluster amplitudes.
+    """
+    if not amplitudes:
+        amplitudes = self.cc.amplitudes
+
+    nocc = self.cc.space.ncocc
+    ci = u[:nocc, :nocc]
+    ca = u[nocc:, nocc:]
+
+    # Transform T amplitudes:
+    for name, key, n in self.cc.ansatz.fermionic_cluster_ranks(spin_type=self.spin_type):
+        args: list[Union[SpinArrayType, tuple[int, ...]]] = [
+            self.cc.amplitudes[name],
+            tuple(range(n * 2)),
+        ]
+        for i in range(n):
+            args += [ci, (i, i + n * 2)]
+        for i in range(n):
+            args += [ca, (i + n, i + n * 3)]
+        args += [tuple(range(n * 2, n * 4))]
+        self.cc.amplitudes[name] = util.einsum(*args)
+
+    # Transform S amplitudes:
+    for name, key, n in self.cc.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type):
+        raise util.ModelNotImplemented  # TODO
+
+    # Transform U amplitudes:
+    for name, key, nf, nb in self.cc.ansatz.coupling_cluster_ranks(spin_type=self.spin_type):
+        raise util.ModelNotImplemented  # TODO
+
+    return self.cc.amplitudes
+
+
+
+ +
+ +
+ + +

+ ebcc.opt.rbrueckner.BruecknerREBCC.get_t1_norm(amplitudes=None) + +

+ + +
+ +

Get the norm of the T1 amplitude.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + T + – +
    +

    Norm of the T1 amplitude.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/rbrueckner.py +
117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
def get_t1_norm(self, amplitudes: Optional[Namespace[SpinArrayType]] = None) -> T:
+    """Get the norm of the T1 amplitude.
+
+    Args:
+        amplitudes: Cluster amplitudes.
+
+    Returns:
+        Norm of the T1 amplitude.
+    """
+    if not amplitudes:
+        amplitudes = self.cc.amplitudes
+    weight: T = np.linalg.norm(amplitudes["t1"])
+    return weight
+
+
+
+ +
+ +
+ + +

+ ebcc.opt.rbrueckner.BruecknerREBCC.mo_to_correlated(mo_coeff) + +

+ + +
+ +

Transform the MO coefficients into the correlated basis.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + mo_coeff + (NDArray[T]) + – +
    +

    MO coefficients.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Correlated slice of MO coefficients.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/rbrueckner.py +
131
+132
+133
+134
+135
+136
+137
+138
+139
+140
def mo_to_correlated(self, mo_coeff: NDArray[T]) -> NDArray[T]:
+    """Transform the MO coefficients into the correlated basis.
+
+    Args:
+        mo_coeff: MO coefficients.
+
+    Returns:
+        Correlated slice of MO coefficients.
+    """
+    return mo_coeff[:, self.cc.space.correlated]
+
+
+
+ +
+ +
+ + +

+ ebcc.opt.rbrueckner.BruecknerREBCC.mo_update_correlated(mo_coeff, mo_coeff_corr) + +

+ + +
+ +

Update the correlated slice of a set of MO coefficients.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + mo_coeff + (NDArray[T]) + – +
    +

    MO coefficients.

    +
    +
  • +
  • + mo_coeff_corr + (NDArray[T]) + – +
    +

    Correlated slice of MO coefficients.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Updated MO coefficients.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/rbrueckner.py +
142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
def mo_update_correlated(self, mo_coeff: NDArray[T], mo_coeff_corr: NDArray[T]) -> NDArray[T]:
+    """Update the correlated slice of a set of MO coefficients.
+
+    Args:
+        mo_coeff: MO coefficients.
+        mo_coeff_corr: Correlated slice of MO coefficients.
+
+    Returns:
+        Updated MO coefficients.
+    """
+    mo_coeff = _put(
+        mo_coeff,
+        np.ix_(np.arange(mo_coeff.shape[0]), self.cc.space.correlated),  # type: ignore
+        mo_coeff_corr,
+    )
+    return mo_coeff
+
+
+
+ +
+ +
+ + +

+ ebcc.opt.rbrueckner.BruecknerREBCC.update_coefficients(u_tot, mo_coeff, mo_coeff_ref) + +

+ + +
+ +

Update the MO coefficients.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + u_tot + (SpinArrayType) + – +
    +

    Total rotation matrix.

    +
    +
  • +
  • + mo_coeff + (NDArray[T]) + – +
    +

    New MO coefficients.

    +
    +
  • +
  • + mo_coeff_ref + (NDArray[T]) + – +
    +

    Reference MO coefficients.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Updated MO coefficients.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/rbrueckner.py +
159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
def update_coefficients(
+    self, u_tot: SpinArrayType, mo_coeff: NDArray[T], mo_coeff_ref: NDArray[T]
+) -> NDArray[T]:
+    """Update the MO coefficients.
+
+    Args:
+        u_tot: Total rotation matrix.
+        mo_coeff: New MO coefficients.
+        mo_coeff_ref: Reference MO coefficients.
+
+    Returns:
+        Updated MO coefficients.
+    """
+    mo_coeff_new_corr = util.einsum("pi,ij->pj", mo_coeff_ref, u_tot)
+    mo_coeff_new = self.mo_update_correlated(mo_coeff, mo_coeff_new_corr)
+    return mo_coeff_new
+
+
+
+ +
+ + + +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/reference/opt/ubrueckner/index.html b/reference/opt/ubrueckner/index.html new file mode 100644 index 00000000..c940c781 --- /dev/null +++ b/reference/opt/ubrueckner/index.html @@ -0,0 +1,1221 @@ + + + + + + + + Unrestricted - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Unrestricted Brueckner-orbital coupled cluster.

+ + + +
+ + + + + + + + +
+ + + +

+ ebcc.opt.ubrueckner.BruecknerUEBCC(cc, options=None, **kwargs) + +

+ + +
+

+ Bases: BaseBruecknerEBCC

+ + +

Unrestricted Brueckner-orbital coupled cluster.

+ +

Initialise the Brueckner EBCC object.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + cc + (BaseEBCC) + – +
    +

    Parent EBCC object.

    +
    +
  • +
  • + options + (Optional[BaseOptions], default: + None +) + – +
    +

    Options for the EOM calculation.

    +
    +
  • +
  • + **kwargs + (Any, default: + {} +) + – +
    +

    Additional keyword arguments used to update options.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/base.py +
 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
def __init__(
+    self,
+    cc: BaseEBCC,
+    options: Optional[BaseOptions] = None,
+    **kwargs: Any,
+) -> None:
+    r"""Initialise the Brueckner EBCC object.
+
+    Args:
+        cc: Parent `EBCC` object.
+        options: Options for the EOM calculation.
+        **kwargs: Additional keyword arguments used to update `options`.
+    """
+    # Options:
+    if options is None:
+        options = self.Options()
+    self.options = options
+    for key, val in kwargs.items():
+        setattr(self.options, key, val)
+
+    # Parameters:
+    self.cc = cc
+    self.mf = cc.mf
+    self.space = cc.space
+    self.log = cc.log
+
+    # Attributes:
+    self.converged = False
+
+    # Logging:
+    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" > diis_min_space:  {ANSI.y}{self.options.diis_min_space}{ANSI.R}")
+    cc.log.info(f" > damping:  {ANSI.y}{self.options.damping}{ANSI.R}")
+    cc.log.debug("")
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.opt.ubrueckner.BruecknerUEBCC.get_rotation_matrix(u_tot=None, damping=None, t1=None) + +

+ + +
+ +

Update the rotation matrix.

+

Also returns the total rotation matrix.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + u_tot + (Optional[SpinArrayType], default: + None +) + – +
    +

    Total rotation matrix.

    +
    +
  • +
  • + damping + (Optional[BaseDamping], default: + None +) + – +
    +

    Damping object.

    +
    +
  • +
  • + t1 + (Optional[SpinArrayType], default: + None +) + – +
    +

    T1 amplitude.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + tuple[SpinArrayType, SpinArrayType] + – +
    +

    Rotation matrix and total rotation matrix.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/ubrueckner.py +
34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
def get_rotation_matrix(
+    self,
+    u_tot: Optional[SpinArrayType] = None,
+    damping: Optional[BaseDamping] = None,
+    t1: Optional[SpinArrayType] = None,
+) -> tuple[SpinArrayType, SpinArrayType]:
+    """Update the rotation matrix.
+
+    Also returns the total rotation matrix.
+
+    Args:
+        u_tot: Total rotation matrix.
+        damping: Damping object.
+        t1: T1 amplitude.
+
+    Returns:
+        Rotation matrix and total rotation matrix.
+    """
+    if t1 is None:
+        t1 = self.cc.t1
+    if u_tot is None:
+        u_tot = util.Namespace(
+            aa=np.eye(self.cc.space[0].ncorr, dtype=types[float]),
+            bb=np.eye(self.cc.space[1].ncorr, dtype=types[float]),
+        )
+
+    t1_block: Namespace[NDArray[T]] = util.Namespace()
+    zocc = np.zeros((self.cc.space[0].ncocc, self.cc.space[0].ncocc))
+    zvir = np.zeros((self.cc.space[0].ncvir, self.cc.space[0].ncvir))
+    t1_block.aa = np.block([[zocc, -t1.aa], [np.transpose(t1.aa), zvir]])
+    zocc = np.zeros((self.cc.space[1].ncocc, self.cc.space[1].ncocc))
+    zvir = np.zeros((self.cc.space[1].ncvir, self.cc.space[1].ncvir))
+    t1_block.bb = np.block([[zocc, -t1.bb], [np.transpose(t1.bb), zvir]])
+
+    u = util.Namespace(aa=scipy.linalg.expm(t1_block.aa), bb=scipy.linalg.expm(t1_block.bb))
+
+    u_tot.aa = u_tot.aa @ u.aa
+    u_tot.bb = u_tot.bb @ u.bb
+    if np.linalg.det(u_tot.aa) < 0:
+        u_tot.aa = _put(
+            u_tot.aa, np.ix_(np.arange(u_tot.aa.shape[0]), np.array([0])), -u_tot.aa[:, 0]
+        )
+    if np.linalg.det(u_tot.bb) < 0:
+        u_tot.bb = _put(
+            u_tot.bb, np.ix_(np.arange(u_tot.aa.shape[0]), np.array([0])), -u_tot.bb[:, 0]
+        )
+
+    a = np.concatenate(
+        [np.ravel(scipy.linalg.logm(u_tot.aa)), np.ravel(scipy.linalg.logm(u_tot.bb))], axis=0
+    )
+    a: NDArray[T] = np.asarray(np.real(a), dtype=types[float])
+    if damping is not None:
+        xerr = np.concatenate([t1.aa.ravel(), t1.bb.ravel()])
+        a = damping(a, error=xerr)
+
+    u_tot.aa = scipy.linalg.expm(np.reshape(a[: u_tot.aa.size], u_tot.aa.shape))
+    u_tot.bb = scipy.linalg.expm(np.reshape(a[u_tot.aa.size :], u_tot.bb.shape))
+
+    return u, u_tot
+
+
+
+ +
+ +
+ + +

+ ebcc.opt.ubrueckner.BruecknerUEBCC.transform_amplitudes(u, amplitudes=None) + +

+ + +
+ +

Transform the amplitudes into the Brueckner orbital basis.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + u + (SpinArrayType) + – +
    +

    Rotation matrix.

    +
    +
  • +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + Namespace[SpinArrayType] + – +
    +

    Transformed cluster amplitudes.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/ubrueckner.py +
 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
def transform_amplitudes(
+    self, u: SpinArrayType, amplitudes: Optional[Namespace[SpinArrayType]] = None
+) -> Namespace[SpinArrayType]:
+    """Transform the amplitudes into the Brueckner orbital basis.
+
+    Args:
+        u: Rotation matrix.
+        amplitudes: Cluster amplitudes.
+
+    Returns:
+        Transformed cluster amplitudes.
+    """
+    if not amplitudes:
+        amplitudes = self.cc.amplitudes
+
+    nocc = (self.cc.space[0].ncocc, self.cc.space[1].ncocc)
+    ci = {"a": u.aa[: nocc[0], : nocc[0]], "b": u.bb[: nocc[1], : nocc[1]]}
+    ca = {"a": u.aa[nocc[0] :, nocc[0] :], "b": u.bb[nocc[1] :, nocc[1] :]}
+
+    # Transform T amplitudes:
+    for name, key, n in self.cc.ansatz.fermionic_cluster_ranks(spin_type=self.spin_type):
+        for comb in util.generate_spin_combinations(n, unique=True):
+            args = [getattr(self.cc.amplitudes[name], comb), tuple(range(n * 2))]
+        for i in range(n):
+            args += [ci[comb[i]], (i, i + n * 2)]
+        for i in range(n):
+            args += [ca[comb[i + n]], (i + n, i + n * 3)]
+        args += [tuple(range(n * 2, n * 4))]
+        setattr(self.cc.amplitudes[name], comb, util.einsum(*args))
+
+    # Transform S amplitudes:
+    for name, key, n in self.cc.ansatz.bosonic_cluster_ranks(spin_type=self.spin_type):
+        raise util.ModelNotImplemented  # TODO
+
+    # Transform U amplitudes:
+    for name, key, nf, nb in self.cc.ansatz.coupling_cluster_ranks(spin_type=self.spin_type):
+        raise util.ModelNotImplemented  # TODO
+
+    return self.cc.amplitudes
+
+
+
+ +
+ +
+ + +

+ ebcc.opt.ubrueckner.BruecknerUEBCC.get_t1_norm(amplitudes=None) + +

+ + +
+ +

Get the norm of the T1 amplitude.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + amplitudes + (Optional[Namespace[SpinArrayType]], default: + None +) + – +
    +

    Cluster amplitudes.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + T + – +
    +

    Norm of the T1 amplitude.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/ubrueckner.py +
134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
def get_t1_norm(self, amplitudes: Optional[Namespace[SpinArrayType]] = None) -> T:
+    """Get the norm of the T1 amplitude.
+
+    Args:
+        amplitudes: Cluster amplitudes.
+
+    Returns:
+        Norm of the T1 amplitude.
+    """
+    if not amplitudes:
+        amplitudes = self.cc.amplitudes
+    weight_a = np.linalg.norm(amplitudes["t1"].aa)
+    weight_b = np.linalg.norm(amplitudes["t1"].bb)
+    weight: T = (weight_a**2 + weight_b**2) ** 0.5
+    return weight
+
+
+
+ +
+ +
+ + +

+ ebcc.opt.ubrueckner.BruecknerUEBCC.mo_to_correlated(mo_coeff) + +

+ + +
+ +

Transform the MO coefficients into the correlated basis.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + mo_coeff + (tuple[NDArray[T], NDArray[T]]) + – +
    +

    MO coefficients.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + tuple[NDArray[T], NDArray[T]] + – +
    +

    Correlated slice of MO coefficients.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/ubrueckner.py +
150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
def mo_to_correlated(
+    self, mo_coeff: tuple[NDArray[T], NDArray[T]]
+) -> tuple[NDArray[T], NDArray[T]]:
+    """Transform the MO coefficients into the correlated basis.
+
+    Args:
+        mo_coeff: MO coefficients.
+
+    Returns:
+        Correlated slice of MO coefficients.
+    """
+    return (
+        mo_coeff[0][:, self.cc.space[0].correlated],
+        mo_coeff[1][:, self.cc.space[1].correlated],
+    )
+
+
+
+ +
+ +
+ + +

+ ebcc.opt.ubrueckner.BruecknerUEBCC.mo_update_correlated(mo_coeff, mo_coeff_corr) + +

+ + +
+ +

Update the correlated slice of a set of MO coefficients.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + mo_coeff + (tuple[NDArray[T], NDArray[T]]) + – +
    +

    MO coefficients.

    +
    +
  • +
  • + mo_coeff_corr + (tuple[NDArray[T], NDArray[T]]) + – +
    +

    Correlated slice of MO coefficients.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + tuple[NDArray[T], NDArray[T]] + – +
    +

    Updated MO coefficients.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/ubrueckner.py +
166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
def mo_update_correlated(
+    self,
+    mo_coeff: tuple[NDArray[T], NDArray[T]],
+    mo_coeff_corr: tuple[NDArray[T], NDArray[T]],
+) -> tuple[NDArray[T], NDArray[T]]:
+    """Update the correlated slice of a set of MO coefficients.
+
+    Args:
+        mo_coeff: MO coefficients.
+        mo_coeff_corr: Correlated slice of MO coefficients.
+
+    Returns:
+        Updated MO coefficients.
+    """
+    space = self.cc.space
+    mo_coeff = (
+        _put(
+            mo_coeff[0],
+            np.ix_(np.arange(mo_coeff[0].shape[0]), space[0].correlated),  # type: ignore
+            mo_coeff_corr[0],
+        ),
+        _put(
+            mo_coeff[1],
+            np.ix_(np.arange(mo_coeff[1].shape[0]), space[1].correlated),  # type: ignore
+            mo_coeff_corr[1],
+        ),
+    )
+    return mo_coeff
+
+
+
+ +
+ +
+ + +

+ ebcc.opt.ubrueckner.BruecknerUEBCC.update_coefficients(u_tot, mo_coeff, mo_coeff_ref) + +

+ + +
+ +

Update the MO coefficients.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + u_tot + (SpinArrayType) + – +
    +

    Total rotation matrix.

    +
    +
  • +
  • + mo_coeff + (tuple[NDArray[T], NDArray[T]]) + – +
    +

    New MO coefficients.

    +
    +
  • +
  • + mo_coeff_ref + (tuple[NDArray[T], NDArray[T]]) + – +
    +

    Reference MO coefficients.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + tuple[NDArray[T], NDArray[T]] + – +
    +

    Updated MO coefficients.

    +
    +
  • +
+
+
+ Source code in ebcc/opt/ubrueckner.py +
195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
def update_coefficients(
+    self,
+    u_tot: SpinArrayType,
+    mo_coeff: tuple[NDArray[T], NDArray[T]],
+    mo_coeff_ref: tuple[NDArray[T], NDArray[T]],
+) -> tuple[NDArray[T], NDArray[T]]:
+    """Update the MO coefficients.
+
+    Args:
+        u_tot: Total rotation matrix.
+        mo_coeff: New MO coefficients.
+        mo_coeff_ref: Reference MO coefficients.
+
+    Returns:
+        Updated MO coefficients.
+    """
+    mo_coeff_new_corr = (
+        util.einsum("pi,ij->pj", mo_coeff_ref[0], u_tot.aa),
+        util.einsum("pi,ij->pj", mo_coeff_ref[1], u_tot.bb),
+    )
+    mo_coeff_new = self.mo_update_correlated(mo_coeff, mo_coeff_new_corr)
+    return mo_coeff_new
+
+
+
+ +
+ + + +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/reference/util/einsumfunc/index.html b/reference/util/einsumfunc/index.html new file mode 100644 index 00000000..b0f56dba --- /dev/null +++ b/reference/util/einsumfunc/index.html @@ -0,0 +1,738 @@ + + + + + + + + Einstein summations - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Einstein summation convention.

+ + + +
+ + + + + + + +
+ + + +

+ ebcc.util.einsumfunc.CONTRACTION_METHOD = 'backend' + + + module-attribute + + +

+ + +
+ +

The size of the contraction to fall back on the backend.

+
+ +
+ +
+ + + +

+ ebcc.util.einsumfunc.BACKEND_EINSUM_SIZE = 1000 + + + module-attribute + + +

+ + +
+ +

The size of the contraction to let the backend optimize.

+
+ +
+ +
+ + + +

+ ebcc.util.einsumfunc.BACKEND_OPTIMIZE_SIZE = 100 + + + module-attribute + + +

+ + +
+ +

Symbols used in einsum-like functions.

+
+ +
+ + +
+ + + +

+ ebcc.util.einsumfunc.EinsumOperandError + + +

+ + +
+

+ Bases: ValueError

+ + +

Exception for invalid inputs to einsum.

+ + +
+ +
+ + +
+ + +

+ ebcc.util.einsumfunc.einsum(*operands, alpha=1.0, beta=0.0, out=None, contract=None, optimize=True) + +

+ + +
+ +

Evaluate an Einstein summation convention on the operands.

+

Using the Einstein summation convention, many common +multi-dimensional, linear algebraic array operations can be +represented in a simple fashion. In implicit mode einsum +computes these values.

+

In explicit mode, einsum provides further flexibility to compute +other array operations that might not be considered classical +Einstein summation operations, by disabling, or forcing summation +over specified subscript labels.

+

See the numpy.einsum documentation for clarification.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + operands + (OperandType, default: + () +) + – +
    +

    Any valid input to numpy.einsum.

    +
    +
  • +
  • + alpha + (T, default: + 1.0 +) + – +
    +

    Scaling factor for the contraction.

    +
    +
  • +
  • + beta + (T, default: + 0.0 +) + – +
    +

    Scaling factor for the output.

    +
    +
  • +
  • + out + (Optional[NDArray[T]], default: + None +) + – +
    +

    If provided, the calculation is done into this array.

    +
    +
  • +
  • + contract + (Optional[Callable[..., NDArray[T]]], default: + None +) + – +
    +

    The function to use for contraction.

    +
    +
  • +
  • + optimize + (bool, default: + True +) + – +
    +

    If True, use the numpy.einsum_path to optimize the contraction.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    The calculation based on the Einstein summation convention.

    +
    +
  • +
+
+
+ Source code in ebcc/util/einsumfunc.py +
452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
def einsum(
+    *operands: OperandType,
+    alpha: T = 1.0,  # type: ignore[assignment]
+    beta: T = 0.0,  # type: ignore[assignment]
+    out: Optional[NDArray[T]] = None,
+    contract: Optional[Callable[..., NDArray[T]]] = None,
+    optimize: bool = True,
+) -> NDArray[T]:
+    """Evaluate an Einstein summation convention on the operands.
+
+    Using the Einstein summation convention, many common
+    multi-dimensional, linear algebraic array operations can be
+    represented in a simple fashion. In *implicit* mode `einsum`
+    computes these values.
+
+    In *explicit* mode, `einsum` provides further flexibility to compute
+    other array operations that might not be considered classical
+    Einstein summation operations, by disabling, or forcing summation
+    over specified subscript labels.
+
+    See the `numpy.einsum` documentation for clarification.
+
+    Args:
+        operands: Any valid input to `numpy.einsum`.
+        alpha: Scaling factor for the contraction.
+        beta: Scaling factor for the output.
+        out: If provided, the calculation is done into this array.
+        contract: The function to use for contraction.
+        optimize: If `True`, use the `numpy.einsum_path` to optimize the contraction.
+
+    Returns:
+        The calculation based on the Einstein summation convention.
+    """
+    # Parse the kwargs
+    inp, outs, args = _parse_einsum_input(list(operands))  # type: ignore
+    subscript = "%s->%s" % (inp, outs)
+
+    # Get the contraction function
+    if contract is None:
+        contract = {
+            "backend": _contract_backend,
+            "ttgt": _contract_ttgt,
+            "tblis": _contract_tblis,
+        }[CONTRACTION_METHOD.lower()]
+
+    # Perform the contraction
+    if not len(args):
+        raise ValueError("No input operands")
+    elif len(args) == 1:
+        # If it's just a transpose, use numpy
+        res = _transpose_backend(subscript, args[0], alpha=alpha, beta=beta, out=out)
+    elif len(args) == 2:
+        # If it's a single contraction, call the backend directly
+        res = contract(subscript, args[0], args[1], alpha=alpha, beta=beta, out=out)
+    else:
+        # If it's a chain of contractions, use the path optimizer
+        args = list(args)
+        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])
+            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")
+            if len(contraction_args) == 1:
+                a = contraction_args[0]
+                res = _transpose_backend(
+                    einsum_str, a, alpha=types[float](1.0), beta=types[float](0.0), out=None
+                )
+            else:
+                a, b = contraction_args
+                res = contract(
+                    einsum_str, a, b, alpha=types[float](1.0), beta=types[float](0.0), out=None
+                )
+            args.append(res)
+
+    return res
+
+
+
+ +
+ +
+ + +

+ ebcc.util.einsumfunc.dirsum(*operands) + +

+ + +
+ +

Direct sum of arrays.

+

Follows the numpy.einsum input conventions.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + operands + (Union[str, tuple[int, ...], NDArray[T]], default: + () +) + – +
    +

    Any valid input to numpy.einsum.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    The direct sum of the arrays.

    +
    +
  • +
+
+
+ Source code in ebcc/util/einsumfunc.py +
531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
def dirsum(*operands: Union[str, tuple[int, ...], NDArray[T]]) -> NDArray[T]:
+    """Direct sum of arrays.
+
+    Follows the `numpy.einsum` input conventions.
+
+    Args:
+        operands: Any valid input to `numpy.einsum`.
+
+    Returns:
+        The direct sum of the arrays.
+    """
+    # Parse the input
+    input_str, output_str, input_arrays = _parse_einsum_input(list(operands))
+    input_chars = input_str.split(",")
+
+    for i, (chars, array) in enumerate(zip(input_chars, input_arrays)):
+        if len(chars) != array.ndim:
+            raise ValueError(f"Dimension mismatch for array {i}.")
+        if len(set(chars)) != len(chars):
+            unique_chars = "".join(set(chars))
+            array = einsum(f"{chars}->{unique_chars}", array)
+            input_chars[i] = unique_chars
+        if i == 0:
+            res = array
+        else:
+            shape = res.shape + (1,) * array.ndim
+            res = np.reshape(res, shape) + array
+
+    # Reshape the output
+    res = einsum(f"{''.join(input_chars)}->{output_str}", res)
+
+    return res
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/reference/util/index.html b/reference/util/index.html new file mode 100644 index 00000000..5ab04291 --- /dev/null +++ b/reference/util/index.html @@ -0,0 +1,224 @@ + + + + + + + + Index - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Utilities.

+ + + +
+ + + + + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/reference/util/misc/index.html b/reference/util/misc/index.html new file mode 100644 index 00000000..2185b680 --- /dev/null +++ b/reference/util/misc/index.html @@ -0,0 +1,1217 @@ + + + + + + + + Miscellaneous - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Miscellaneous utilities.

+ + + +
+ + + + + + + + +
+ + + +

+ ebcc.util.misc.Comparable + + +

+ + +
+

+ Bases: Protocol

+ + +

Protocol for comparable objects.

+ + + + +
+ + + + + + + + + +
+ + +

+ ebcc.util.misc.Comparable.__lt__(other) + + + abstractmethod + + +

+ + +
+ +

Check if the object is less than another.

+ +
+ Source code in ebcc/util/misc.py +
20
+21
+22
+23
@abstractmethod
+def __lt__(self, other: C) -> Any:
+    """Check if the object is less than another."""
+    pass
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + + +

+ ebcc.util.misc.InheritedType + + +

+ + +
+ + +

Type for an inherited variable.

+ + +
+ +
+ +
+ + + +

+ ebcc.util.misc.ModelNotImplemented + + +

+ + +
+

+ Bases: NotImplementedError

+ + +

Error for unsupported models.

+ + +
+ +
+ +
+ + + +

+ ebcc.util.misc.Namespace(**kwargs) + +

+ + +
+

+ Bases: MutableMapping[str, T], Generic[T]

+ + +

Namespace class.

+

Replacement for SimpleNamespace, which does not trivially allow +conversion to a dict for heterogenously nested objects.

+

Attributes can be added and removed, using either string indexing or +accessing the attribute directly.

+ +

Initialise the namespace.

+ +
+ Source code in ebcc/util/misc.py +
65
+66
+67
+68
+69
def __init__(self, **kwargs: T):
+    """Initialise the namespace."""
+    self.__dict__["_members"] = {}
+    for key, val in kwargs.items():
+        self.__dict__["_members"][key] = val
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.util.misc.Namespace.__setitem__(key, val) + +

+ + +
+ +

Set an item.

+ +
+ Source code in ebcc/util/misc.py +
71
+72
+73
def __setitem__(self, key: str, val: T) -> None:
+    """Set an item."""
+    self.__dict__["_members"][key] = val
+
+
+
+ +
+ +
+ + +

+ ebcc.util.misc.Namespace.__setattr__(key, val) + +

+ + +
+ +

Set an attribute.

+ +
+ Source code in ebcc/util/misc.py +
75
+76
+77
def __setattr__(self, key: str, val: T) -> None:
+    """Set an attribute."""
+    return self.__setitem__(key, val)
+
+
+
+ +
+ +
+ + +

+ ebcc.util.misc.Namespace.__getitem__(key) + +

+ + +
+ +

Get an item.

+ +
+ Source code in ebcc/util/misc.py +
79
+80
+81
+82
def __getitem__(self, key: str) -> T:
+    """Get an item."""
+    value: T = self.__dict__["_members"][key]
+    return value
+
+
+
+ +
+ +
+ + +

+ ebcc.util.misc.Namespace.__getattr__(key) + +

+ + +
+ +

Get an attribute.

+ +
+ Source code in ebcc/util/misc.py +
84
+85
+86
+87
+88
+89
+90
+91
def __getattr__(self, key: str) -> T:
+    """Get an attribute."""
+    if key in self.__dict__:
+        return self.__dict__[key]  # type: ignore[no-any-return]
+    try:
+        return self.__getitem__(key)
+    except KeyError:
+        raise AttributeError(f"Namespace object has no attribute {key}")
+
+
+
+ +
+ +
+ + +

+ ebcc.util.misc.Namespace.__delitem__(key) + +

+ + +
+ +

Delete an item.

+ +
+ Source code in ebcc/util/misc.py +
93
+94
+95
def __delitem__(self, key: str) -> None:
+    """Delete an item."""
+    self._members.pop(key)
+
+
+
+ +
+ +
+ + +

+ ebcc.util.misc.Namespace.__delattr__(key) + +

+ + +
+ +

Delete an attribute.

+ +
+ Source code in ebcc/util/misc.py +
97
+98
+99
def __delattr__(self, key: str) -> None:
+    """Delete an attribute."""
+    return self.__delitem__(key)
+
+
+
+ +
+ +
+ + +

+ ebcc.util.misc.Namespace.__iter__() + +

+ + +
+ +

Iterate over the namespace as a dictionary.

+ +
+ Source code in ebcc/util/misc.py +
101
+102
+103
def __iter__(self) -> Iterator[str]:
+    """Iterate over the namespace as a dictionary."""
+    yield from self._members
+
+
+
+ +
+ +
+ + +

+ ebcc.util.misc.Namespace.__eq__(other) + +

+ + +
+ +

Check equality.

+ +
+ Source code in ebcc/util/misc.py +
105
+106
+107
+108
+109
def __eq__(self, other: Any) -> bool:
+    """Check equality."""
+    if not isinstance(other, Namespace):
+        return False
+    return dict(self) == dict(other)
+
+
+
+ +
+ +
+ + +

+ ebcc.util.misc.Namespace.__ne__(other) + +

+ + +
+ +

Check inequality.

+ +
+ Source code in ebcc/util/misc.py +
111
+112
+113
def __ne__(self, other: Any) -> bool:
+    """Check inequality."""
+    return not self == other
+
+
+
+ +
+ +
+ + +

+ ebcc.util.misc.Namespace.__contains__(key) + +

+ + +
+ +

Check if an attribute exists.

+ +
+ Source code in ebcc/util/misc.py +
115
+116
+117
def __contains__(self, key: Any) -> bool:
+    """Check if an attribute exists."""
+    return key in self._members
+
+
+
+ +
+ +
+ + +

+ ebcc.util.misc.Namespace.__len__() + +

+ + +
+ +

Get the number of attributes.

+ +
+ Source code in ebcc/util/misc.py +
119
+120
+121
def __len__(self) -> int:
+    """Get the number of attributes."""
+    return len(self._members)
+
+
+
+ +
+ +
+ + +

+ ebcc.util.misc.Namespace.keys() + +

+ + +
+ +

Get keys of the namespace as a dictionary.

+ +
+ Source code in ebcc/util/misc.py +
123
+124
+125
def keys(self) -> KeysView[str]:
+    """Get keys of the namespace as a dictionary."""
+    return self._members.keys()
+
+
+
+ +
+ +
+ + +

+ ebcc.util.misc.Namespace.values() + +

+ + +
+ +

Get values of the namespace as a dictionary.

+ +
+ Source code in ebcc/util/misc.py +
127
+128
+129
def values(self) -> ValuesView[T]:
+    """Get values of the namespace as a dictionary."""
+    return self._members.values()
+
+
+
+ +
+ +
+ + +

+ ebcc.util.misc.Namespace.items() + +

+ + +
+ +

Get items of the namespace as a dictionary.

+ +
+ Source code in ebcc/util/misc.py +
131
+132
+133
def items(self) -> ItemsView[str, T]:
+    """Get items of the namespace as a dictionary."""
+    return self._members.items()
+
+
+
+ +
+ +
+ + +

+ ebcc.util.misc.Namespace.__repr__() + +

+ + +
+ +

Return a string representation.

+ +
+ Source code in ebcc/util/misc.py +
135
+136
+137
def __repr__(self) -> str:
+    """Return a string representation."""
+    return f"Namespace({self._members})"
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + + +

+ ebcc.util.misc.Timer() + +

+ + +
+ + +

Timer class.

+ +

Initialise the timer.

+ +
+ Source code in ebcc/util/misc.py +
143
+144
+145
+146
+147
def __init__(self) -> None:
+    """Initialise the timer."""
+    self.t_init = time.perf_counter()
+    self.t_prev = time.perf_counter()
+    self.t_curr = time.perf_counter()
+
+
+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.util.misc.Timer.lap() + +

+ + +
+ +

Return the time since the last call to lap.

+ +
+ Source code in ebcc/util/misc.py +
149
+150
+151
+152
def lap(self) -> float:
+    """Return the time since the last call to `lap`."""
+    self.t_prev, self.t_curr = self.t_curr, time.perf_counter()
+    return self.t_curr - self.t_prev
+
+
+
+ +
+ +
+ + +

+ ebcc.util.misc.Timer.total() + +

+ + +
+ +

Return the total time since initialization.

+ +
+ Source code in ebcc/util/misc.py +
156
+157
+158
def total(self) -> float:
+    """Return the total time since initialization."""
+    return time.perf_counter() - self.t_init
+
+
+
+ +
+ +
+ + +

+ ebcc.util.misc.Timer.format_time(seconds, precision=2) + + + staticmethod + + +

+ + +
+ +

Return a formatted time.

+ +
+ Source code in ebcc/util/misc.py +
160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
@staticmethod
+def format_time(seconds: float, precision: int = 2) -> str:
+    """Return a formatted time."""
+
+    seconds, milliseconds = divmod(seconds, 1)
+    milliseconds *= 1000
+    minutes, seconds = divmod(seconds, 60)
+    hours, minutes = divmod(minutes, 60)
+
+    out = []
+    if hours:
+        out.append("%d h" % hours)
+    if minutes:
+        out.append("%d m" % minutes)
+    if seconds:
+        out.append("%d s" % seconds)
+    if milliseconds:
+        out.append("%d ms" % milliseconds)
+
+    return " ".join(out[-max(precision, len(out)) :])
+
+
+
+ +
+ + + +
+ +
+ +
+ + +
+ + +

+ ebcc.util.misc.prod(values) + +

+ + +
+ +

Return the product of values.

+ +
+ Source code in ebcc/util/misc.py +
182
+183
+184
+185
+186
+187
def prod(values: Union[list[int], tuple[int, ...]]) -> int:
+    """Return the product of values."""
+    out = 1
+    for value in values:
+        out *= value
+    return out
+
+
+
+ +
+ +
+ + +

+ ebcc.util.misc.argsort(values) + +

+ + +
+ +

Return the indices that would sort the values.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + values + (Union[list[Union[float, str]], NDArray[generic]]) + – +
    +

    The values to sort.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + list[int] + – +
    +

    The indices that would sort the values.

    +
    +
  • +
+
+
+ Source code in ebcc/util/misc.py +
190
+191
+192
+193
+194
+195
+196
+197
+198
+199
def argsort(values: Union[list[Union[float, str]], NDArray[generic]]) -> list[int]:
+    """Return the indices that would sort the values.
+
+    Args:
+        values: The values to sort.
+
+    Returns:
+        The indices that would sort the values.
+    """
+    return sorted(range(len(values)), key=values.__getitem__)
+
+
+
+ +
+ +
+ + +

+ ebcc.util.misc.regularise_tuple(*_items) + +

+ + +
+ +

Regularise the input tuples.

+

Allows input of the forms +- func((a, b, c)) +- func([a, b, c]) +- func(a, b, c) +- func(a)

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + _items + (Union[Any, tuple[Any, ...], list[Any]], default: + () +) + – +
    +

    The input tuples.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + tuple[Any, ...] + – +
    +

    The regularised tuple.

    +
    +
  • +
+
+
+ Source code in ebcc/util/misc.py +
202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
def regularise_tuple(*_items: Union[Any, tuple[Any, ...], list[Any]]) -> tuple[Any, ...]:
+    """Regularise the input tuples.
+
+    Allows input of the forms
+    - `func((a, b, c))`
+    - `func([a, b, c])`
+    - `func(a, b, c)`
+    - `func(a)`
+
+    Args:
+        _items: The input tuples.
+
+    Returns:
+        The regularised tuple.
+    """
+    if isinstance(_items[0], (tuple, list)):
+        if len(_items) > 1:
+            raise ValueError("Only one tuple can be passed.")
+        items = _items[0]
+    else:
+        items = _items
+    return tuple(items)
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + +
+ + + + + + + + + diff --git a/reference/util/permutations/index.html b/reference/util/permutations/index.html new file mode 100644 index 00000000..e10ef353 --- /dev/null +++ b/reference/util/permutations/index.html @@ -0,0 +1,2281 @@ + + + + + + + + Permutations - ebcc + + + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • + + + +
  • +
  • +
+
+
+
+
+ +
+ + + + +
+ +

Symmetry and permutational utilities.

+ + + +
+ + + + + + + + + +
+ + +

+ ebcc.util.permutations.factorial(n) + +

+ + +
+ +

Return the factorial of n.

+ +
+ Source code in ebcc/util/permutations.py +
22
+23
+24
+25
+26
+27
def factorial(n: int) -> int:
+    """Return the factorial of `n`."""
+    if n in (0, 1):
+        return 1
+    else:
+        return n * factorial(n - 1)
+
+
+
+ +
+ +
+ + +

+ ebcc.util.permutations.permute_string(string, permutation) + +

+ + +
+ +

Permute a string.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + string + (str) + – +
    +

    String to permute.

    +
    +
  • +
  • + permutation + (tuple[int, ...]) + – +
    +

    Permutation to apply.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + str + – +
    +

    Permuted string.

    +
    +
  • +
+
+ +

Examples:

+
>>> permute_string("abcd", (2, 0, 3, 1))
+"cbda"
+
+ +
+ Source code in ebcc/util/permutations.py +
30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
def permute_string(string: str, permutation: tuple[int, ...]) -> str:
+    """Permute a string.
+
+    Args:
+        string: String to permute.
+        permutation: Permutation to apply.
+
+    Returns:
+        Permuted string.
+
+    Examples:
+        >>> permute_string("abcd", (2, 0, 3, 1))
+        "cbda"
+    """
+    return "".join([string[i] for i in permutation])
+
+
+
+ +
+ +
+ + +

+ ebcc.util.permutations.tril_indices_ndim(n, dims, include_diagonal=False) + +

+ + +
+ +

Return lower triangular indices for a multidimensional array.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + n + (int) + – +
    +

    Size of each dimension.

    +
    +
  • +
  • + dims + (int) + – +
    +

    Number of dimensions.

    +
    +
  • +
  • + include_diagonal + (Optional[bool], default: + False +) + – +
    +

    If True, include diagonal elements.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + tuple[NDArray[int64], ...] + – +
    +

    Lower triangular indices for each dimension.

    +
    +
  • +
+
+
+ Source code in ebcc/util/permutations.py +
47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
def tril_indices_ndim(
+    n: int, dims: int, include_diagonal: Optional[bool] = False
+) -> tuple[NDArray[int64], ...]:
+    """Return lower triangular indices for a multidimensional array.
+
+    Args:
+        n: Size of each dimension.
+        dims: Number of dimensions.
+        include_diagonal: If True, include diagonal elements.
+
+    Returns:
+        Lower triangular indices for each dimension.
+    """
+    ranges = [np.arange(n)] * dims
+    if dims == 1:
+        return (ranges[0],)
+    # func: Callable[[Any, ...], Any] = np.greater_equal if include_diagonal else np.greater
+
+    slices = [tuple(slice(None) if i == j else None for i in range(dims)) for j in range(dims)]
+
+    casted = [rng[ind] for rng, ind in zip(ranges, slices)]
+    if include_diagonal:
+        mask = functools.reduce(
+            lambda x, y: x & y, map(lambda x, y: x >= y, casted[:-1], casted[1:])
+        )
+    else:
+        mask = functools.reduce(
+            lambda x, y: x & y, map(lambda x, y: x > y, casted[:-1], casted[1:])
+        )
+
+    tril = tuple(
+        np.broadcast_to(inds, mask.shape)[mask] for inds in np.indices(mask.shape, sparse=True)
+    )
+
+    return tril
+
+
+
+ +
+ +
+ + +

+ ebcc.util.permutations.ntril_ndim(n, dims, include_diagonal=False) + +

+ + +
+ +

Return len(tril_indices_ndim(n, dims, include_diagonal)).

+ +
+ Source code in ebcc/util/permutations.py +
 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
def ntril_ndim(n: int, dims: int, include_diagonal: Optional[bool] = False) -> int:
+    """Return `len(tril_indices_ndim(n, dims, include_diagonal))`."""
+
+    # FIXME hack until this function is fixed:
+    if include_diagonal:
+        return sum(1 for tup in itertools.combinations_with_replacement(range(n), dims))
+    else:
+        return sum(1 for tup in itertools.combinations(range(n), dims))
+
+    offset = int(include_diagonal)
+    out = 1
+
+    for i in range(dims):
+        out *= n + offset
+        offset -= 1
+
+    out //= factorial(dims)
+
+    return out
+
+
+
+ +
+ +
+ + +

+ ebcc.util.permutations.generate_spin_combinations(n, excited=False, unique=False) + +

+ + +
+ +

Generate combinations of spin components for a given number of occupied and virtual axes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + n + (int) + – +
    +

    Order of cluster amplitude.

    +
    +
  • +
  • + excited + (Optional[bool], default: + False +) + – +
    +

    If True, treat the amplitudes as excited.

    +
    +
  • +
  • + unique + (Optional[bool], default: + False +) + – +
    +

    If True, return only unique combinations.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + None + – +
    +

    List of spin combinations.

    +
    +
  • +
+
+ +

Examples:

+
>>> generate_spin_combinations(1)
+['aa', 'bb']
+>>> generate_spin_combinations(2)
+['aaaa', 'abab', 'baba', 'bbbb']
+>>> generate_spin_combinations(2, excited=True)
+['aaa', 'aba', 'bab', 'bbb']
+>>> generate_spin_combinations(2, unique=True)
+['aaaa', 'abab', 'bbbb']
+
+ +
+ Source code in ebcc/util/permutations.py +
105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
def generate_spin_combinations(
+    n: int, excited: Optional[bool] = False, unique: Optional[bool] = False
+) -> Generator[str, None, None]:
+    """Generate combinations of spin components for a given number of occupied and virtual axes.
+
+    Args:
+        n: Order of cluster amplitude.
+        excited: If True, treat the amplitudes as excited.
+        unique: If True, return only unique combinations.
+
+    Returns:
+        List of spin combinations.
+
+    Examples:
+        >>> generate_spin_combinations(1)
+        ['aa', 'bb']
+        >>> generate_spin_combinations(2)
+        ['aaaa', 'abab', 'baba', 'bbbb']
+        >>> generate_spin_combinations(2, excited=True)
+        ['aaa', 'aba', 'bab', 'bbb']
+        >>> generate_spin_combinations(2, unique=True)
+        ['aaaa', 'abab', 'bbbb']
+    """
+    if unique:
+        check = set()
+
+    for tup in itertools.product(("a", "b"), repeat=n):
+        comb = "".join(list(tup) * 2)
+        if excited:
+            comb = comb[:-1]
+
+        if unique:
+            sorted_comb = "".join(sorted(comb[:n])) + "".join(sorted(comb[n:]))
+            if sorted_comb in check:
+                continue
+            check.add(sorted_comb)
+
+            if not excited:  # FIXME
+                nab = (comb[:n].count("a"), comb[:n].count("b"))
+                if nab == (n // 2, n - n // 2):
+                    comb = ("ab" * n)[:n] * 2
+                elif nab == (n - n // 2, n // 2):
+                    comb = ("ba" * n)[:n] * 2
+
+        yield comb
+
+
+
+ +
+ +
+ + +

+ ebcc.util.permutations.permutations_with_signs(seq) + +

+ + +
+ +

Return permutations of a sequence with a sign indicating the number of swaps.

+

The sign is equal to +1 for an even number of swaps, and -1 for an odd number of swaps.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + seq + (Iterable[Any]) + – +
    +

    Sequence to permute.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + list[tuple[Any, int]] + – +
    +

    List of tuples of the form (permuted, sign).

    +
    +
  • +
+
+
+ Source code in ebcc/util/permutations.py +
152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
def permutations_with_signs(seq: Iterable[Any]) -> list[tuple[Any, int]]:
+    """Return permutations of a sequence with a sign indicating the number of swaps.
+
+    The sign is equal to +1 for an even number of swaps, and -1 for an odd number of swaps.
+
+    Args:
+        seq: Sequence to permute.
+
+    Returns:
+        List of tuples of the form (permuted, sign).
+    """
+
+    def _permutations(seq: list[Any]) -> list[list[Any]]:
+        if not seq:
+            return [[]]
+
+        items = []
+        for i, item in enumerate(_permutations(seq[:-1])):
+            if i % 2 == 1:
+                inds = range(len(item) + 1)
+            else:
+                inds = range(len(item), -1, -1)
+            items += [item[:i] + seq[-1:] + item[i:] for i in inds]
+
+        return items
+
+    return [(item, -1 if i % 2 else 1) for i, item in enumerate(_permutations(list(seq)))]
+
+
+
+ +
+ +
+ + +

+ ebcc.util.permutations.get_symmetry_factor(*numbers) + +

+ + +
+ +

Get a value corresponding to the factor from the neglection of symmetry in repeated indices.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + numbers + (int, default: + () +) + – +
    +

    Multiplicity of each distinct degree of freedom.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + float + – +
    +

    Symmetry factor.

    +
    +
  • +
+
+ +

Examples:

+
>>> get_symmetry_factor(1, 1)
+1.0
+>>> get_symmetry_factor(2, 2)
+0.25
+>>> get_symmetry_factor(3, 2, 1)
+0.125
+
+ +
+ Source code in ebcc/util/permutations.py +
181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
def get_symmetry_factor(*numbers: int) -> float:
+    """Get a value corresponding to the factor from the neglection of symmetry in repeated indices.
+
+    Args:
+        numbers: Multiplicity of each distinct degree of freedom.
+
+    Returns:
+        Symmetry factor.
+
+    Examples:
+        >>> get_symmetry_factor(1, 1)
+        1.0
+        >>> get_symmetry_factor(2, 2)
+        0.25
+        >>> get_symmetry_factor(3, 2, 1)
+        0.125
+    """
+    ntot = 0
+    for n in numbers:
+        ntot += max(0, n - 1)
+    return 1.0 / (2.0**ntot)
+
+
+
+ +
+ +
+ + +

+ ebcc.util.permutations.antisymmetrise_array(v, axes=None) + +

+ + +
+ +

Antisymmetrise an array.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + v + (NDArray[T]) + – +
    +

    Array to antisymmetrise.

    +
    +
  • +
  • + axes + (Optional[tuple[int, ...]], default: + None +) + – +
    +

    Axes to antisymmetrise over.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Antisymmetrised array.

    +
    +
  • +
+
+
+ Source code in ebcc/util/permutations.py +
204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
def antisymmetrise_array(v: NDArray[T], axes: Optional[tuple[int, ...]] = None) -> NDArray[T]:
+    """Antisymmetrise an array.
+
+    Args:
+        v: Array to antisymmetrise.
+        axes: Axes to antisymmetrise over.
+
+    Returns:
+        Antisymmetrised array.
+    """
+    if axes is None:
+        axes = tuple(range(v.ndim))
+    v_as = np.zeros(v.shape, dtype=v.dtype)
+
+    for perm, sign in permutations_with_signs(axes):
+        transpose = list(range(v.ndim))
+        for i, ax in enumerate(transpose):
+            if ax in axes:
+                j = axes.index(ax)
+                transpose[i] = perm[j]
+        v_as += np.copy(np.transpose(v, transpose)) * sign
+
+    return v_as
+
+
+
+ +
+ +
+ + +

+ ebcc.util.permutations.is_mixed_spin(spin) + +

+ + +
+ +

Return a boolean indicating if a list of spins is mixed.

+ +
+ Source code in ebcc/util/permutations.py +
229
+230
+231
def is_mixed_spin(spin: Iterable[Hashable]) -> bool:
+    """Return a boolean indicating if a list of spins is mixed."""
+    return len(set(spin)) != 1
+
+
+
+ +
+ +
+ + +

+ ebcc.util.permutations.combine_subscripts(*subscripts, sizes=None) + +

+ + +
+ +

Combine subscripts into new unique subscripts for functions such as compress_axes.

+

For example, one may wish to compress an amplitude according to both +occupancy and spin signatures.

+

The output string of this function has the same length as the input +subscripts, where the ith character is an arbitrary character chosen +such that it is unique for a unique value of +tuple(s[i] for s in subscripts) among other values of i.

+

This function also returns a dictionary indicating the size of each new character in the +subscript according to the size of the corresponding original character in the dictionary +sizes.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + subscripts + (str, default: + () +) + – +
    +

    Subscripts to combine.

    +
    +
  • +
  • + sizes + (Optional[dict[tuple[str, ...], int]], default: + None +) + – +
    +

    Dictionary of sizes for each index.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + tuple[str, dict[str, int]] + – +
    +

    New subscript, with a dictionary of sizes of each new index.

    +
    +
  • +
+
+
+ Source code in ebcc/util/permutations.py +
234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
def combine_subscripts(
+    *subscripts: str,
+    sizes: Optional[dict[tuple[str, ...], int]] = None,
+) -> tuple[str, dict[str, int]]:
+    """Combine subscripts into new unique subscripts for functions such as `compress_axes`.
+
+    For example, one may wish to compress an amplitude according to both
+    occupancy and spin signatures.
+
+    The output string of this function has the same length as the input
+    subscripts, where the `i`th character is an arbitrary character chosen
+    such that it is unique for a unique value of
+    `tuple(s[i] for s in subscripts)` among other values of `i`.
+
+    This function also returns a dictionary indicating the size of each new character in the
+    subscript according to the size of the corresponding original character in the dictionary
+    `sizes`.
+
+    Args:
+        subscripts: Subscripts to combine.
+        sizes: Dictionary of sizes for each index.
+
+    Returns:
+        New subscript, with a dictionary of sizes of each new index.
+    """
+    if len(set(len(s) for s in subscripts)) != 1:
+        raise ValueError("Subscripts must be of the same length.")
+
+    char_map: dict[tuple[str, ...], str] = {}
+    new_subscript = ""
+    new_sizes: dict[str, int] = {}
+    j = 0
+    for i in range(len(subscripts[0])):
+        key = tuple(s[i] for s in subscripts)
+        if key not in char_map:
+            if j == 91:
+                raise ValueError("Too many unique characters.")
+            char_map[key] = chr(97 + j)
+            j += 1
+            if j == 123:
+                j = 65
+        new_subscript += char_map[key]
+        if sizes:
+            new_sizes[char_map[key]] = sizes[key]
+
+    return new_subscript, new_sizes
+
+
+
+ +
+ +
+ + +

+ ebcc.util.permutations.compress_axes(subscript, array, include_diagonal=False) + +

+ + +
+ +

Compress an array into lower-triangular representations using an einsum-like input.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + subscript + (str) + – +
    +

    Subscript for the input array.

    +
    +
  • +
  • + array + (NDArray[T]) + – +
    +

    Array to compress.

    +
    +
  • +
  • + include_diagonal + (Optional[bool], default: + False +) + – +
    +

    Whether to include the diagonal elements of the input array in the output +array.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Compressed array.

    +
    +
  • +
+
+ +

Examples:

+
>>> t2 = np.zeros((4, 4, 10, 10))
+>>> compress_axes("iiaa", t2).shape
+(6, 45)
+
+ +
+ Source code in ebcc/util/permutations.py +
282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
def compress_axes(
+    subscript: str, array: NDArray[T], include_diagonal: Optional[bool] = False
+) -> NDArray[T]:
+    """Compress an array into lower-triangular representations using an einsum-like input.
+
+    Args:
+        subscript: Subscript for the input array.
+        array: Array to compress.
+        include_diagonal: Whether to include the diagonal elements of the input array in the output
+            array.
+
+    Returns:
+        Compressed array.
+
+    Examples:
+        >>> t2 = np.zeros((4, 4, 10, 10))
+        >>> compress_axes("iiaa", t2).shape
+        (6, 45)
+    """
+    # TODO out
+    # TODO can this be OpenMP parallel?
+
+    assert "->" not in subscript
+
+    # Substitute the input characters so that they are ordered:
+    subs = {}
+    i = 0
+    for char in subscript:
+        if char not in subs:
+            subs[char] = chr(97 + i)
+            i += 1
+    subscript = "".join([subs[s] for s in subscript])
+
+    # Reshape array so that all axes of the same character are adjacent:
+    arg = tuple(util.argsort(list(subscript)))
+    array = np.transpose(array, arg)
+    subscript = permute_string(subscript, arg)
+
+    # Reshape array so that all axes of the same character are flattened:
+    sizes: dict[str, int] = {}
+    for char, n in zip(subscript, array.shape):
+        if char in sizes:
+            assert sizes[char] == n
+        else:
+            sizes[char] = n
+    array = np.reshape(
+        array, [sizes[char] ** subscript.count(char) for char in sorted(set(subscript))]
+    )
+
+    # For each axis type, get the necessary lower-triangular indices:
+    indices_ndim = [
+        tril_indices_ndim(sizes[char], subscript.count(char), include_diagonal=include_diagonal)
+        for char in sorted(set(subscript))
+    ]
+    indices = [
+        np.ravel_multi_index(ind, (sizes[char],) * subscript.count(char))
+        for ind, char in zip(indices_ndim, sorted(set(subscript)))
+    ]
+
+    # Apply the indices:
+    indices = [
+        ind[tuple(None if i != j else slice(None) for i in range(len(indices)))]
+        for j, ind in enumerate(indices)
+    ]
+    array_flat: NDArray[T] = array[tuple(indices)]
+
+    return array_flat
+
+
+
+ +
+ +
+ + +

+ ebcc.util.permutations.decompress_axes(subscript, array_flat, shape=None, include_diagonal=False, symmetry=None, out=None) + +

+ + +
+ +

Reverse operation of compress_axes, subscript input is the same.

+

One of shape or out must be passed.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + subscript + (str) + – +
    +

    Subscript for the output array.

    +
    +
  • +
  • + array_flat + (NDArray[T]) + – +
    +

    Array to decompress.

    +
    +
  • +
  • + shape + (Optional[tuple[int, ...]], default: + None +) + – +
    +

    Shape of the output array. Must be passed if out is None.

    +
    +
  • +
  • + include_diagonal + (Optional[bool], default: + False +) + – +
    +

    Whether to include the diagonal elements of the output array in the input +array.

    +
    +
  • +
  • + symmetry + (Optional[str], default: + None +) + – +
    +

    Symmetry of the output array, with a "+" indicating symmetry and "-" indicating +antisymmetry for each dimension in the decompressed array.

    +
    +
  • +
  • + out + (Optional[NDArray[T]], default: + None +) + – +
    +

    Output array. If None, a new array is created, and shape must be passed.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Decompressed array.

    +
    +
  • +
+
+
+ Source code in ebcc/util/permutations.py +
351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
def decompress_axes(
+    subscript: str,
+    array_flat: NDArray[T],
+    shape: Optional[tuple[int, ...]] = None,
+    include_diagonal: Optional[bool] = False,
+    symmetry: Optional[str] = None,
+    out: Optional[NDArray[T]] = None,
+) -> NDArray[T]:
+    """Reverse operation of `compress_axes`, subscript input is the same.
+
+    One of `shape` or `out` must be passed.
+
+    Args:
+        subscript: Subscript for the output array.
+        array_flat: Array to decompress.
+        shape: Shape of the output array. Must be passed if `out` is `None`.
+        include_diagonal: Whether to include the diagonal elements of the output array in the input
+            array.
+        symmetry: Symmetry of the output array, with a "+" indicating symmetry and "-" indicating
+            antisymmetry for each dimension in the decompressed array.
+        out: Output array. If `None`, a new array is created, and `shape` must be passed.
+
+    Returns:
+        Decompressed array.
+    """
+
+    assert "->" not in subscript
+    assert shape is not None or out is not None
+
+    # Get symmetry string if needed:
+    if symmetry is None:
+        symmetry = "-" * len(subscript)
+
+    # Initialise decompressed array
+    if out is None:
+        if shape is None:
+            raise ValueError("One of `shape` or `out` must be passed.")
+        array = np.zeros(shape, dtype=array_flat.dtype)
+    else:
+        array = out
+        out[:] = 0.0
+
+    # Substitute the input characters so that they are ordered:
+    subs = {}
+    i = 0
+    for char in subscript:
+        if char not in subs:
+            subs[char] = chr(97 + i)
+            i += 1
+    subscript = "".join([subs[s] for s in subscript])
+
+    # Reshape array so that all axes of the same character are adjacent:
+    arg = tuple(util.argsort(list(subscript)))
+    array = np.transpose(array, arg)
+    subscript = permute_string(subscript, arg)
+
+    # Reshape array so that all axes of the same character are flattened:
+    sizes: dict[str, int] = {}
+    for char, n in zip(subscript, array.shape):
+        if char in sizes:
+            assert sizes[char] == n
+        else:
+            sizes[char] = n
+    array = np.reshape(
+        array, [sizes[char] ** subscript.count(char) for char in sorted(set(subscript))]
+    )
+
+    # Check the symmetry string, and compress it:
+    n = 0
+    symmetry_compressed = ""
+    for char in sorted(set(subscript)):
+        assert len(set(symmetry[n : n + subscript.count(char)])) == 1
+        symmetry_compressed += symmetry[n]
+        n += subscript.count(char)
+
+    # For each axis type, get the necessary lower-triangular indices:
+    indices = [
+        tril_indices_ndim(sizes[char], subscript.count(char), include_diagonal=include_diagonal)
+        for char in sorted(set(subscript))
+    ]
+
+    # Iterate over permutations with signs:
+    for tup in itertools.product(*[permutations_with_signs(ind) for ind in indices]):
+        indices_perm, signs = zip(*tup)
+        signs = tuple(s if symm == "-" else 1 for s, symm in zip(signs, symmetry_compressed))
+
+        # Apply the indices:
+        indices_perm = tuple(
+            np.ravel_multi_index(ind, (sizes[char],) * subscript.count(char))
+            for ind, char in zip(indices_perm, sorted(set(subscript)))
+        )
+        indices_perm = tuple(
+            ind[tuple(None if i != j else slice(None) for i in range(len(indices_perm)))]
+            for j, ind in enumerate(indices_perm)
+        )
+        array = _put(array, indices_perm, array_flat * util.prod(signs))
+
+    # Reshape array to non-flattened format
+    array = np.reshape(
+        array,
+        (sum([(sizes[char],) * subscript.count(char) for char in sorted(set(subscript))], tuple())),
+    )
+
+    # Undo transpose:
+    arg = tuple(util.argsort(list(arg)))
+    array = np.transpose(array, arg)
+
+    return array
+
+
+
+ +
+ +
+ + +

+ ebcc.util.permutations.get_compressed_size(subscript, **sizes) + +

+ + +
+ +

Get the size of a compressed representation of a matrix based on the subscript input.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + subscript + (str) + – +
    +

    Subscript for the output array. See compressed_axes for details.

    +
    +
  • +
  • + **sizes + (int, default: + {} +) + – +
    +

    Sizes of each character in the subscript.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + int + – +
    +

    Size of the compressed representation of the array.

    +
    +
  • +
+
+ +

Examples:

+
>>> get_compressed_size("iiaa", i=5, a=3)
+30
+
+ +
+ Source code in ebcc/util/permutations.py +
461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
def get_compressed_size(subscript: str, **sizes: int) -> int:
+    """Get the size of a compressed representation of a matrix based on the subscript input.
+
+    Args:
+        subscript: Subscript for the output array. See `compressed_axes` for details.
+        **sizes: Sizes of each character in the subscript.
+
+    Returns:
+        Size of the compressed representation of the array.
+
+    Examples:
+        >>> get_compressed_size("iiaa", i=5, a=3)
+        30
+    """
+    n = 1
+    for char in set(subscript):
+        dims = subscript.count(char)
+        n *= ntril_ndim(sizes[char], dims)
+    return n
+
+
+
+ +
+ +
+ + +

+ ebcc.util.permutations.symmetrise(subscript, array, symmetry=None, apply_factor=True) + +

+ + +
+ +

Enforce a symmetry in an array.

+ + + + + + + + + + + + + +
Parameters: +
    +
  • + subscript + (str) + – +
    +

    Subscript for the input array.

    +
    +
  • +
  • + array + (NDArray[T]) + – +
    +

    Array to symmetrise.

    +
    +
  • +
  • + symmetry + (Optional[str], default: + None +) + – +
    +

    Symmetry of the output array, with a "+" indicating symmetry and "-" indicating +antisymmetry for each dimension in the decompressed array.

    +
    +
  • +
  • + apply_factor + (Optional[bool], default: + True +) + – +
    +

    Whether to apply a factor to the output array, to account for the symmetry.

    +
    +
  • +
+
+ + + + + + + + + + + + +
Returns: +
    +
  • + NDArray[T] + – +
    +

    Symmetrised array.

    +
    +
  • +
+
+
+ Source code in ebcc/util/permutations.py +
482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
def symmetrise(
+    subscript: str,
+    array: NDArray[T],
+    symmetry: Optional[str] = None,
+    apply_factor: Optional[bool] = True,
+) -> NDArray[T]:
+    """Enforce a symmetry in an array.
+
+    Args:
+        subscript: Subscript for the input array.
+        array: Array to symmetrise.
+        symmetry: Symmetry of the output array, with a "+" indicating symmetry and "-" indicating
+            antisymmetry for each dimension in the decompressed array.
+        apply_factor: Whether to apply a factor to the output array, to account for the symmetry.
+
+    Returns:
+        Symmetrised array.
+    """
+    # Substitute the input characters so that they are ordered:
+    subs = {}
+    i = 0
+    for char in subscript:
+        if char not in subs:
+            subs[char] = chr(97 + i)
+            i += 1
+    subscript = "".join([subs[s] for s in subscript])
+
+    # Check the symmetry string, and compress it:
+    if symmetry is None:
+        symmetry = "-" * len(subscript)
+    n = 0
+    symmetry_compressed = ""
+    for char in sorted(set(subscript)):
+        assert len(set(symmetry[n : n + subscript.count(char)])) == 1
+        symmetry_compressed += symmetry[n]
+        n += subscript.count(char)
+
+    # Iterate over permutations and signs:
+    array_as = np.zeros(array.shape, dtype=array.dtype)
+    groups = tuple(sorted(set(zip(sorted(set(subscript)), symmetry_compressed))))  # don't ask
+    inds = [tuple(i for i, s in enumerate(subscript) if s == char) for char, symm in groups]
+    for tup in itertools.product(*(permutations_with_signs(ind) for ind in inds)):
+        perms, signs = zip(*tup)
+        perm = list(range(len(subscript)))
+        for inds_part, perms_part in zip(inds, perms):
+            for i, p in zip(inds_part, perms_part):
+                perm[i] = p
+        sign = util.prod(signs) if symmetry[perm[0]] == "-" else 1
+        array_as = array_as + np.transpose(array, perm) * sign
+
+    if apply_factor:
+        # Apply factor
+        sizes = [subscript.count(s) for s in sorted(set(subscript))]
+        array_as = array_as * get_symmetry_factor(*sizes)
+
+    return array_as
+
+
+
+ +
+ +
+ + +

+ ebcc.util.permutations.unique(lst) + +

+ + +
+ +

Get unique elements of a list.

+ +
+ Source code in ebcc/util/permutations.py +
573
+574
+575
+576
+577
+578
+579
+580
+581
def unique(lst: list[Hashable]) -> list[Hashable]:
+    """Get unique elements of a list."""
+    done = set()
+    out = []
+    for el in lst:
+        if el not in done:
+            out.append(el)
+            done.add(el)
+    return out
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ + + + « Previous + + + Next » + + +
+ + + + + + + + + diff --git a/search.html b/search.html new file mode 100644 index 00000000..cb74c498 --- /dev/null +++ b/search.html @@ -0,0 +1,200 @@ + + + + + + + + ebcc + + + + + + + + + + + + +
+ + +
+ +
+
+
    +
  • +
  • +
  • +
+
+
+
+
+ + +

Search Results

+ + + +
+ Searching... +
+ + +
+
+ +
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + + + diff --git a/search/lunr.js b/search/lunr.js new file mode 100644 index 00000000..aca0a167 --- /dev/null +++ b/search/lunr.js @@ -0,0 +1,3475 @@ +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + */ + +;(function(){ + +/** + * A convenience function for configuring and constructing + * a new lunr Index. + * + * A lunr.Builder instance is created and the pipeline setup + * with a trimmer, stop word filter and stemmer. + * + * This builder object is yielded to the configuration function + * that is passed as a parameter, allowing the list of fields + * and other builder parameters to be customised. + * + * All documents _must_ be added within the passed config function. + * + * @example + * var idx = lunr(function () { + * this.field('title') + * this.field('body') + * this.ref('id') + * + * documents.forEach(function (doc) { + * this.add(doc) + * }, this) + * }) + * + * @see {@link lunr.Builder} + * @see {@link lunr.Pipeline} + * @see {@link lunr.trimmer} + * @see {@link lunr.stopWordFilter} + * @see {@link lunr.stemmer} + * @namespace {function} lunr + */ +var lunr = function (config) { + var builder = new lunr.Builder + + builder.pipeline.add( + lunr.trimmer, + lunr.stopWordFilter, + lunr.stemmer + ) + + builder.searchPipeline.add( + lunr.stemmer + ) + + config.call(builder, builder) + return builder.build() +} + +lunr.version = "2.3.9" +/*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * A namespace containing utils for the rest of the lunr library + * @namespace lunr.utils + */ +lunr.utils = {} + +/** + * Print a warning message to the console. + * + * @param {String} message The message to be printed. + * @memberOf lunr.utils + * @function + */ +lunr.utils.warn = (function (global) { + /* eslint-disable no-console */ + return function (message) { + if (global.console && console.warn) { + console.warn(message) + } + } + /* eslint-enable no-console */ +})(this) + +/** + * Convert an object to a string. + * + * In the case of `null` and `undefined` the function returns + * the empty string, in all other cases the result of calling + * `toString` on the passed object is returned. + * + * @param {Any} obj The object to convert to a string. + * @return {String} string representation of the passed object. + * @memberOf lunr.utils + */ +lunr.utils.asString = function (obj) { + if (obj === void 0 || obj === null) { + return "" + } else { + return obj.toString() + } +} + +/** + * Clones an object. + * + * Will create a copy of an existing object such that any mutations + * on the copy cannot affect the original. + * + * Only shallow objects are supported, passing a nested object to this + * function will cause a TypeError. + * + * Objects with primitives, and arrays of primitives are supported. + * + * @param {Object} obj The object to clone. + * @return {Object} a clone of the passed object. + * @throws {TypeError} when a nested object is passed. + * @memberOf Utils + */ +lunr.utils.clone = function (obj) { + if (obj === null || obj === undefined) { + return obj + } + + var clone = Object.create(null), + keys = Object.keys(obj) + + for (var i = 0; i < keys.length; i++) { + var key = keys[i], + val = obj[key] + + if (Array.isArray(val)) { + clone[key] = val.slice() + continue + } + + if (typeof val === 'string' || + typeof val === 'number' || + typeof val === 'boolean') { + clone[key] = val + continue + } + + throw new TypeError("clone is not deep and does not support nested objects") + } + + return clone +} +lunr.FieldRef = function (docRef, fieldName, stringValue) { + this.docRef = docRef + this.fieldName = fieldName + this._stringValue = stringValue +} + +lunr.FieldRef.joiner = "/" + +lunr.FieldRef.fromString = function (s) { + var n = s.indexOf(lunr.FieldRef.joiner) + + if (n === -1) { + throw "malformed field ref string" + } + + var fieldRef = s.slice(0, n), + docRef = s.slice(n + 1) + + return new lunr.FieldRef (docRef, fieldRef, s) +} + +lunr.FieldRef.prototype.toString = function () { + if (this._stringValue == undefined) { + this._stringValue = this.fieldName + lunr.FieldRef.joiner + this.docRef + } + + return this._stringValue +} +/*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * A lunr set. + * + * @constructor + */ +lunr.Set = function (elements) { + this.elements = Object.create(null) + + if (elements) { + this.length = elements.length + + for (var i = 0; i < this.length; i++) { + this.elements[elements[i]] = true + } + } else { + this.length = 0 + } +} + +/** + * A complete set that contains all elements. + * + * @static + * @readonly + * @type {lunr.Set} + */ +lunr.Set.complete = { + intersect: function (other) { + return other + }, + + union: function () { + return this + }, + + contains: function () { + return true + } +} + +/** + * An empty set that contains no elements. + * + * @static + * @readonly + * @type {lunr.Set} + */ +lunr.Set.empty = { + intersect: function () { + return this + }, + + union: function (other) { + return other + }, + + contains: function () { + return false + } +} + +/** + * Returns true if this set contains the specified object. + * + * @param {object} object - Object whose presence in this set is to be tested. + * @returns {boolean} - True if this set contains the specified object. + */ +lunr.Set.prototype.contains = function (object) { + return !!this.elements[object] +} + +/** + * Returns a new set containing only the elements that are present in both + * this set and the specified set. + * + * @param {lunr.Set} other - set to intersect with this set. + * @returns {lunr.Set} a new set that is the intersection of this and the specified set. + */ + +lunr.Set.prototype.intersect = function (other) { + var a, b, elements, intersection = [] + + if (other === lunr.Set.complete) { + return this + } + + if (other === lunr.Set.empty) { + return other + } + + if (this.length < other.length) { + a = this + b = other + } else { + a = other + b = this + } + + elements = Object.keys(a.elements) + + for (var i = 0; i < elements.length; i++) { + var element = elements[i] + if (element in b.elements) { + intersection.push(element) + } + } + + return new lunr.Set (intersection) +} + +/** + * Returns a new set combining the elements of this and the specified set. + * + * @param {lunr.Set} other - set to union with this set. + * @return {lunr.Set} a new set that is the union of this and the specified set. + */ + +lunr.Set.prototype.union = function (other) { + if (other === lunr.Set.complete) { + return lunr.Set.complete + } + + if (other === lunr.Set.empty) { + return this + } + + return new lunr.Set(Object.keys(this.elements).concat(Object.keys(other.elements))) +} +/** + * A function to calculate the inverse document frequency for + * a posting. This is shared between the builder and the index + * + * @private + * @param {object} posting - The posting for a given term + * @param {number} documentCount - The total number of documents. + */ +lunr.idf = function (posting, documentCount) { + var documentsWithTerm = 0 + + for (var fieldName in posting) { + if (fieldName == '_index') continue // Ignore the term index, its not a field + documentsWithTerm += Object.keys(posting[fieldName]).length + } + + var x = (documentCount - documentsWithTerm + 0.5) / (documentsWithTerm + 0.5) + + return Math.log(1 + Math.abs(x)) +} + +/** + * A token wraps a string representation of a token + * as it is passed through the text processing pipeline. + * + * @constructor + * @param {string} [str=''] - The string token being wrapped. + * @param {object} [metadata={}] - Metadata associated with this token. + */ +lunr.Token = function (str, metadata) { + this.str = str || "" + this.metadata = metadata || {} +} + +/** + * Returns the token string that is being wrapped by this object. + * + * @returns {string} + */ +lunr.Token.prototype.toString = function () { + return this.str +} + +/** + * A token update function is used when updating or optionally + * when cloning a token. + * + * @callback lunr.Token~updateFunction + * @param {string} str - The string representation of the token. + * @param {Object} metadata - All metadata associated with this token. + */ + +/** + * Applies the given function to the wrapped string token. + * + * @example + * token.update(function (str, metadata) { + * return str.toUpperCase() + * }) + * + * @param {lunr.Token~updateFunction} fn - A function to apply to the token string. + * @returns {lunr.Token} + */ +lunr.Token.prototype.update = function (fn) { + this.str = fn(this.str, this.metadata) + return this +} + +/** + * Creates a clone of this token. Optionally a function can be + * applied to the cloned token. + * + * @param {lunr.Token~updateFunction} [fn] - An optional function to apply to the cloned token. + * @returns {lunr.Token} + */ +lunr.Token.prototype.clone = function (fn) { + fn = fn || function (s) { return s } + return new lunr.Token (fn(this.str, this.metadata), this.metadata) +} +/*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * A function for splitting a string into tokens ready to be inserted into + * the search index. Uses `lunr.tokenizer.separator` to split strings, change + * the value of this property to change how strings are split into tokens. + * + * This tokenizer will convert its parameter to a string by calling `toString` and + * then will split this string on the character in `lunr.tokenizer.separator`. + * Arrays will have their elements converted to strings and wrapped in a lunr.Token. + * + * Optional metadata can be passed to the tokenizer, this metadata will be cloned and + * added as metadata to every token that is created from the object to be tokenized. + * + * @static + * @param {?(string|object|object[])} obj - The object to convert into tokens + * @param {?object} metadata - Optional metadata to associate with every token + * @returns {lunr.Token[]} + * @see {@link lunr.Pipeline} + */ +lunr.tokenizer = function (obj, metadata) { + if (obj == null || obj == undefined) { + return [] + } + + if (Array.isArray(obj)) { + return obj.map(function (t) { + return new lunr.Token( + lunr.utils.asString(t).toLowerCase(), + lunr.utils.clone(metadata) + ) + }) + } + + var str = obj.toString().toLowerCase(), + len = str.length, + tokens = [] + + for (var sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) { + var char = str.charAt(sliceEnd), + sliceLength = sliceEnd - sliceStart + + if ((char.match(lunr.tokenizer.separator) || sliceEnd == len)) { + + if (sliceLength > 0) { + var tokenMetadata = lunr.utils.clone(metadata) || {} + tokenMetadata["position"] = [sliceStart, sliceLength] + tokenMetadata["index"] = tokens.length + + tokens.push( + new lunr.Token ( + str.slice(sliceStart, sliceEnd), + tokenMetadata + ) + ) + } + + sliceStart = sliceEnd + 1 + } + + } + + return tokens +} + +/** + * The separator used to split a string into tokens. Override this property to change the behaviour of + * `lunr.tokenizer` behaviour when tokenizing strings. By default this splits on whitespace and hyphens. + * + * @static + * @see lunr.tokenizer + */ +lunr.tokenizer.separator = /[\s\-]+/ +/*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * lunr.Pipelines maintain an ordered list of functions to be applied to all + * tokens in documents entering the search index and queries being ran against + * the index. + * + * An instance of lunr.Index created with the lunr shortcut will contain a + * pipeline with a stop word filter and an English language stemmer. Extra + * functions can be added before or after either of these functions or these + * default functions can be removed. + * + * When run the pipeline will call each function in turn, passing a token, the + * index of that token in the original list of all tokens and finally a list of + * all the original tokens. + * + * The output of functions in the pipeline will be passed to the next function + * in the pipeline. To exclude a token from entering the index the function + * should return undefined, the rest of the pipeline will not be called with + * this token. + * + * For serialisation of pipelines to work, all functions used in an instance of + * a pipeline should be registered with lunr.Pipeline. Registered functions can + * then be loaded. If trying to load a serialised pipeline that uses functions + * that are not registered an error will be thrown. + * + * If not planning on serialising the pipeline then registering pipeline functions + * is not necessary. + * + * @constructor + */ +lunr.Pipeline = function () { + this._stack = [] +} + +lunr.Pipeline.registeredFunctions = Object.create(null) + +/** + * A pipeline function maps lunr.Token to lunr.Token. A lunr.Token contains the token + * string as well as all known metadata. A pipeline function can mutate the token string + * or mutate (or add) metadata for a given token. + * + * A pipeline function can indicate that the passed token should be discarded by returning + * null, undefined or an empty string. This token will not be passed to any downstream pipeline + * functions and will not be added to the index. + * + * Multiple tokens can be returned by returning an array of tokens. Each token will be passed + * to any downstream pipeline functions and all will returned tokens will be added to the index. + * + * Any number of pipeline functions may be chained together using a lunr.Pipeline. + * + * @interface lunr.PipelineFunction + * @param {lunr.Token} token - A token from the document being processed. + * @param {number} i - The index of this token in the complete list of tokens for this document/field. + * @param {lunr.Token[]} tokens - All tokens for this document/field. + * @returns {(?lunr.Token|lunr.Token[])} + */ + +/** + * Register a function with the pipeline. + * + * Functions that are used in the pipeline should be registered if the pipeline + * needs to be serialised, or a serialised pipeline needs to be loaded. + * + * Registering a function does not add it to a pipeline, functions must still be + * added to instances of the pipeline for them to be used when running a pipeline. + * + * @param {lunr.PipelineFunction} fn - The function to check for. + * @param {String} label - The label to register this function with + */ +lunr.Pipeline.registerFunction = function (fn, label) { + if (label in this.registeredFunctions) { + lunr.utils.warn('Overwriting existing registered function: ' + label) + } + + fn.label = label + lunr.Pipeline.registeredFunctions[fn.label] = fn +} + +/** + * Warns if the function is not registered as a Pipeline function. + * + * @param {lunr.PipelineFunction} fn - The function to check for. + * @private + */ +lunr.Pipeline.warnIfFunctionNotRegistered = function (fn) { + var isRegistered = fn.label && (fn.label in this.registeredFunctions) + + if (!isRegistered) { + lunr.utils.warn('Function is not registered with pipeline. This may cause problems when serialising the index.\n', fn) + } +} + +/** + * Loads a previously serialised pipeline. + * + * All functions to be loaded must already be registered with lunr.Pipeline. + * If any function from the serialised data has not been registered then an + * error will be thrown. + * + * @param {Object} serialised - The serialised pipeline to load. + * @returns {lunr.Pipeline} + */ +lunr.Pipeline.load = function (serialised) { + var pipeline = new lunr.Pipeline + + serialised.forEach(function (fnName) { + var fn = lunr.Pipeline.registeredFunctions[fnName] + + if (fn) { + pipeline.add(fn) + } else { + throw new Error('Cannot load unregistered function: ' + fnName) + } + }) + + return pipeline +} + +/** + * Adds new functions to the end of the pipeline. + * + * Logs a warning if the function has not been registered. + * + * @param {lunr.PipelineFunction[]} functions - Any number of functions to add to the pipeline. + */ +lunr.Pipeline.prototype.add = function () { + var fns = Array.prototype.slice.call(arguments) + + fns.forEach(function (fn) { + lunr.Pipeline.warnIfFunctionNotRegistered(fn) + this._stack.push(fn) + }, this) +} + +/** + * Adds a single function after a function that already exists in the + * pipeline. + * + * Logs a warning if the function has not been registered. + * + * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline. + * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline. + */ +lunr.Pipeline.prototype.after = function (existingFn, newFn) { + lunr.Pipeline.warnIfFunctionNotRegistered(newFn) + + var pos = this._stack.indexOf(existingFn) + if (pos == -1) { + throw new Error('Cannot find existingFn') + } + + pos = pos + 1 + this._stack.splice(pos, 0, newFn) +} + +/** + * Adds a single function before a function that already exists in the + * pipeline. + * + * Logs a warning if the function has not been registered. + * + * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline. + * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline. + */ +lunr.Pipeline.prototype.before = function (existingFn, newFn) { + lunr.Pipeline.warnIfFunctionNotRegistered(newFn) + + var pos = this._stack.indexOf(existingFn) + if (pos == -1) { + throw new Error('Cannot find existingFn') + } + + this._stack.splice(pos, 0, newFn) +} + +/** + * Removes a function from the pipeline. + * + * @param {lunr.PipelineFunction} fn The function to remove from the pipeline. + */ +lunr.Pipeline.prototype.remove = function (fn) { + var pos = this._stack.indexOf(fn) + if (pos == -1) { + return + } + + this._stack.splice(pos, 1) +} + +/** + * Runs the current list of functions that make up the pipeline against the + * passed tokens. + * + * @param {Array} tokens The tokens to run through the pipeline. + * @returns {Array} + */ +lunr.Pipeline.prototype.run = function (tokens) { + var stackLength = this._stack.length + + for (var i = 0; i < stackLength; i++) { + var fn = this._stack[i] + var memo = [] + + for (var j = 0; j < tokens.length; j++) { + var result = fn(tokens[j], j, tokens) + + if (result === null || result === void 0 || result === '') continue + + if (Array.isArray(result)) { + for (var k = 0; k < result.length; k++) { + memo.push(result[k]) + } + } else { + memo.push(result) + } + } + + tokens = memo + } + + return tokens +} + +/** + * Convenience method for passing a string through a pipeline and getting + * strings out. This method takes care of wrapping the passed string in a + * token and mapping the resulting tokens back to strings. + * + * @param {string} str - The string to pass through the pipeline. + * @param {?object} metadata - Optional metadata to associate with the token + * passed to the pipeline. + * @returns {string[]} + */ +lunr.Pipeline.prototype.runString = function (str, metadata) { + var token = new lunr.Token (str, metadata) + + return this.run([token]).map(function (t) { + return t.toString() + }) +} + +/** + * Resets the pipeline by removing any existing processors. + * + */ +lunr.Pipeline.prototype.reset = function () { + this._stack = [] +} + +/** + * Returns a representation of the pipeline ready for serialisation. + * + * Logs a warning if the function has not been registered. + * + * @returns {Array} + */ +lunr.Pipeline.prototype.toJSON = function () { + return this._stack.map(function (fn) { + lunr.Pipeline.warnIfFunctionNotRegistered(fn) + + return fn.label + }) +} +/*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * A vector is used to construct the vector space of documents and queries. These + * vectors support operations to determine the similarity between two documents or + * a document and a query. + * + * Normally no parameters are required for initializing a vector, but in the case of + * loading a previously dumped vector the raw elements can be provided to the constructor. + * + * For performance reasons vectors are implemented with a flat array, where an elements + * index is immediately followed by its value. E.g. [index, value, index, value]. This + * allows the underlying array to be as sparse as possible and still offer decent + * performance when being used for vector calculations. + * + * @constructor + * @param {Number[]} [elements] - The flat list of element index and element value pairs. + */ +lunr.Vector = function (elements) { + this._magnitude = 0 + this.elements = elements || [] +} + + +/** + * Calculates the position within the vector to insert a given index. + * + * This is used internally by insert and upsert. If there are duplicate indexes then + * the position is returned as if the value for that index were to be updated, but it + * is the callers responsibility to check whether there is a duplicate at that index + * + * @param {Number} insertIdx - The index at which the element should be inserted. + * @returns {Number} + */ +lunr.Vector.prototype.positionForIndex = function (index) { + // For an empty vector the tuple can be inserted at the beginning + if (this.elements.length == 0) { + return 0 + } + + var start = 0, + end = this.elements.length / 2, + sliceLength = end - start, + pivotPoint = Math.floor(sliceLength / 2), + pivotIndex = this.elements[pivotPoint * 2] + + while (sliceLength > 1) { + if (pivotIndex < index) { + start = pivotPoint + } + + if (pivotIndex > index) { + end = pivotPoint + } + + if (pivotIndex == index) { + break + } + + sliceLength = end - start + pivotPoint = start + Math.floor(sliceLength / 2) + pivotIndex = this.elements[pivotPoint * 2] + } + + if (pivotIndex == index) { + return pivotPoint * 2 + } + + if (pivotIndex > index) { + return pivotPoint * 2 + } + + if (pivotIndex < index) { + return (pivotPoint + 1) * 2 + } +} + +/** + * Inserts an element at an index within the vector. + * + * Does not allow duplicates, will throw an error if there is already an entry + * for this index. + * + * @param {Number} insertIdx - The index at which the element should be inserted. + * @param {Number} val - The value to be inserted into the vector. + */ +lunr.Vector.prototype.insert = function (insertIdx, val) { + this.upsert(insertIdx, val, function () { + throw "duplicate index" + }) +} + +/** + * Inserts or updates an existing index within the vector. + * + * @param {Number} insertIdx - The index at which the element should be inserted. + * @param {Number} val - The value to be inserted into the vector. + * @param {function} fn - A function that is called for updates, the existing value and the + * requested value are passed as arguments + */ +lunr.Vector.prototype.upsert = function (insertIdx, val, fn) { + this._magnitude = 0 + var position = this.positionForIndex(insertIdx) + + if (this.elements[position] == insertIdx) { + this.elements[position + 1] = fn(this.elements[position + 1], val) + } else { + this.elements.splice(position, 0, insertIdx, val) + } +} + +/** + * Calculates the magnitude of this vector. + * + * @returns {Number} + */ +lunr.Vector.prototype.magnitude = function () { + if (this._magnitude) return this._magnitude + + var sumOfSquares = 0, + elementsLength = this.elements.length + + for (var i = 1; i < elementsLength; i += 2) { + var val = this.elements[i] + sumOfSquares += val * val + } + + return this._magnitude = Math.sqrt(sumOfSquares) +} + +/** + * Calculates the dot product of this vector and another vector. + * + * @param {lunr.Vector} otherVector - The vector to compute the dot product with. + * @returns {Number} + */ +lunr.Vector.prototype.dot = function (otherVector) { + var dotProduct = 0, + a = this.elements, b = otherVector.elements, + aLen = a.length, bLen = b.length, + aVal = 0, bVal = 0, + i = 0, j = 0 + + while (i < aLen && j < bLen) { + aVal = a[i], bVal = b[j] + if (aVal < bVal) { + i += 2 + } else if (aVal > bVal) { + j += 2 + } else if (aVal == bVal) { + dotProduct += a[i + 1] * b[j + 1] + i += 2 + j += 2 + } + } + + return dotProduct +} + +/** + * Calculates the similarity between this vector and another vector. + * + * @param {lunr.Vector} otherVector - The other vector to calculate the + * similarity with. + * @returns {Number} + */ +lunr.Vector.prototype.similarity = function (otherVector) { + return this.dot(otherVector) / this.magnitude() || 0 +} + +/** + * Converts the vector to an array of the elements within the vector. + * + * @returns {Number[]} + */ +lunr.Vector.prototype.toArray = function () { + var output = new Array (this.elements.length / 2) + + for (var i = 1, j = 0; i < this.elements.length; i += 2, j++) { + output[j] = this.elements[i] + } + + return output +} + +/** + * A JSON serializable representation of the vector. + * + * @returns {Number[]} + */ +lunr.Vector.prototype.toJSON = function () { + return this.elements +} +/* eslint-disable */ +/*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + */ + +/** + * lunr.stemmer is an english language stemmer, this is a JavaScript + * implementation of the PorterStemmer taken from http://tartarus.org/~martin + * + * @static + * @implements {lunr.PipelineFunction} + * @param {lunr.Token} token - The string to stem + * @returns {lunr.Token} + * @see {@link lunr.Pipeline} + * @function + */ +lunr.stemmer = (function(){ + var step2list = { + "ational" : "ate", + "tional" : "tion", + "enci" : "ence", + "anci" : "ance", + "izer" : "ize", + "bli" : "ble", + "alli" : "al", + "entli" : "ent", + "eli" : "e", + "ousli" : "ous", + "ization" : "ize", + "ation" : "ate", + "ator" : "ate", + "alism" : "al", + "iveness" : "ive", + "fulness" : "ful", + "ousness" : "ous", + "aliti" : "al", + "iviti" : "ive", + "biliti" : "ble", + "logi" : "log" + }, + + step3list = { + "icate" : "ic", + "ative" : "", + "alize" : "al", + "iciti" : "ic", + "ical" : "ic", + "ful" : "", + "ness" : "" + }, + + c = "[^aeiou]", // consonant + v = "[aeiouy]", // vowel + C = c + "[^aeiouy]*", // consonant sequence + V = v + "[aeiou]*", // vowel sequence + + mgr0 = "^(" + C + ")?" + V + C, // [C]VC... is m>0 + meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$", // [C]VC[V] is m=1 + mgr1 = "^(" + C + ")?" + V + C + V + C, // [C]VCVC... is m>1 + s_v = "^(" + C + ")?" + v; // vowel in stem + + var re_mgr0 = new RegExp(mgr0); + var re_mgr1 = new RegExp(mgr1); + var re_meq1 = new RegExp(meq1); + var re_s_v = new RegExp(s_v); + + var re_1a = /^(.+?)(ss|i)es$/; + var re2_1a = /^(.+?)([^s])s$/; + var re_1b = /^(.+?)eed$/; + var re2_1b = /^(.+?)(ed|ing)$/; + var re_1b_2 = /.$/; + var re2_1b_2 = /(at|bl|iz)$/; + var re3_1b_2 = new RegExp("([^aeiouylsz])\\1$"); + var re4_1b_2 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + + var re_1c = /^(.+?[^aeiou])y$/; + var re_2 = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + + var re_3 = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + + var re_4 = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + var re2_4 = /^(.+?)(s|t)(ion)$/; + + var re_5 = /^(.+?)e$/; + var re_5_1 = /ll$/; + var re3_5 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + + var porterStemmer = function porterStemmer(w) { + var stem, + suffix, + firstch, + re, + re2, + re3, + re4; + + if (w.length < 3) { return w; } + + firstch = w.substr(0,1); + if (firstch == "y") { + w = firstch.toUpperCase() + w.substr(1); + } + + // Step 1a + re = re_1a + re2 = re2_1a; + + if (re.test(w)) { w = w.replace(re,"$1$2"); } + else if (re2.test(w)) { w = w.replace(re2,"$1$2"); } + + // Step 1b + re = re_1b; + re2 = re2_1b; + if (re.test(w)) { + var fp = re.exec(w); + re = re_mgr0; + if (re.test(fp[1])) { + re = re_1b_2; + w = w.replace(re,""); + } + } else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = re_s_v; + if (re2.test(stem)) { + w = stem; + re2 = re2_1b_2; + re3 = re3_1b_2; + re4 = re4_1b_2; + if (re2.test(w)) { w = w + "e"; } + else if (re3.test(w)) { re = re_1b_2; w = w.replace(re,""); } + else if (re4.test(w)) { w = w + "e"; } + } + } + + // Step 1c - replace suffix y or Y by i if preceded by a non-vowel which is not the first letter of the word (so cry -> cri, by -> by, say -> say) + re = re_1c; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + w = stem + "i"; + } + + // Step 2 + re = re_2; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = re_mgr0; + if (re.test(stem)) { + w = stem + step2list[suffix]; + } + } + + // Step 3 + re = re_3; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = re_mgr0; + if (re.test(stem)) { + w = stem + step3list[suffix]; + } + } + + // Step 4 + re = re_4; + re2 = re2_4; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = re_mgr1; + if (re.test(stem)) { + w = stem; + } + } else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = re_mgr1; + if (re2.test(stem)) { + w = stem; + } + } + + // Step 5 + re = re_5; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = re_mgr1; + re2 = re_meq1; + re3 = re3_5; + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) { + w = stem; + } + } + + re = re_5_1; + re2 = re_mgr1; + if (re.test(w) && re2.test(w)) { + re = re_1b_2; + w = w.replace(re,""); + } + + // and turn initial Y back to y + + if (firstch == "y") { + w = firstch.toLowerCase() + w.substr(1); + } + + return w; + }; + + return function (token) { + return token.update(porterStemmer); + } +})(); + +lunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer') +/*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * lunr.generateStopWordFilter builds a stopWordFilter function from the provided + * list of stop words. + * + * The built in lunr.stopWordFilter is built using this generator and can be used + * to generate custom stopWordFilters for applications or non English languages. + * + * @function + * @param {Array} token The token to pass through the filter + * @returns {lunr.PipelineFunction} + * @see lunr.Pipeline + * @see lunr.stopWordFilter + */ +lunr.generateStopWordFilter = function (stopWords) { + var words = stopWords.reduce(function (memo, stopWord) { + memo[stopWord] = stopWord + return memo + }, {}) + + return function (token) { + if (token && words[token.toString()] !== token.toString()) return token + } +} + +/** + * lunr.stopWordFilter is an English language stop word list filter, any words + * contained in the list will not be passed through the filter. + * + * This is intended to be used in the Pipeline. If the token does not pass the + * filter then undefined will be returned. + * + * @function + * @implements {lunr.PipelineFunction} + * @params {lunr.Token} token - A token to check for being a stop word. + * @returns {lunr.Token} + * @see {@link lunr.Pipeline} + */ +lunr.stopWordFilter = lunr.generateStopWordFilter([ + 'a', + 'able', + 'about', + 'across', + 'after', + 'all', + 'almost', + 'also', + 'am', + 'among', + 'an', + 'and', + 'any', + 'are', + 'as', + 'at', + 'be', + 'because', + 'been', + 'but', + 'by', + 'can', + 'cannot', + 'could', + 'dear', + 'did', + 'do', + 'does', + 'either', + 'else', + 'ever', + 'every', + 'for', + 'from', + 'get', + 'got', + 'had', + 'has', + 'have', + 'he', + 'her', + 'hers', + 'him', + 'his', + 'how', + 'however', + 'i', + 'if', + 'in', + 'into', + 'is', + 'it', + 'its', + 'just', + 'least', + 'let', + 'like', + 'likely', + 'may', + 'me', + 'might', + 'most', + 'must', + 'my', + 'neither', + 'no', + 'nor', + 'not', + 'of', + 'off', + 'often', + 'on', + 'only', + 'or', + 'other', + 'our', + 'own', + 'rather', + 'said', + 'say', + 'says', + 'she', + 'should', + 'since', + 'so', + 'some', + 'than', + 'that', + 'the', + 'their', + 'them', + 'then', + 'there', + 'these', + 'they', + 'this', + 'tis', + 'to', + 'too', + 'twas', + 'us', + 'wants', + 'was', + 'we', + 'were', + 'what', + 'when', + 'where', + 'which', + 'while', + 'who', + 'whom', + 'why', + 'will', + 'with', + 'would', + 'yet', + 'you', + 'your' +]) + +lunr.Pipeline.registerFunction(lunr.stopWordFilter, 'stopWordFilter') +/*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * lunr.trimmer is a pipeline function for trimming non word + * characters from the beginning and end of tokens before they + * enter the index. + * + * This implementation may not work correctly for non latin + * characters and should either be removed or adapted for use + * with languages with non-latin characters. + * + * @static + * @implements {lunr.PipelineFunction} + * @param {lunr.Token} token The token to pass through the filter + * @returns {lunr.Token} + * @see lunr.Pipeline + */ +lunr.trimmer = function (token) { + return token.update(function (s) { + return s.replace(/^\W+/, '').replace(/\W+$/, '') + }) +} + +lunr.Pipeline.registerFunction(lunr.trimmer, 'trimmer') +/*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * A token set is used to store the unique list of all tokens + * within an index. Token sets are also used to represent an + * incoming query to the index, this query token set and index + * token set are then intersected to find which tokens to look + * up in the inverted index. + * + * A token set can hold multiple tokens, as in the case of the + * index token set, or it can hold a single token as in the + * case of a simple query token set. + * + * Additionally token sets are used to perform wildcard matching. + * Leading, contained and trailing wildcards are supported, and + * from this edit distance matching can also be provided. + * + * Token sets are implemented as a minimal finite state automata, + * where both common prefixes and suffixes are shared between tokens. + * This helps to reduce the space used for storing the token set. + * + * @constructor + */ +lunr.TokenSet = function () { + this.final = false + this.edges = {} + this.id = lunr.TokenSet._nextId + lunr.TokenSet._nextId += 1 +} + +/** + * Keeps track of the next, auto increment, identifier to assign + * to a new tokenSet. + * + * TokenSets require a unique identifier to be correctly minimised. + * + * @private + */ +lunr.TokenSet._nextId = 1 + +/** + * Creates a TokenSet instance from the given sorted array of words. + * + * @param {String[]} arr - A sorted array of strings to create the set from. + * @returns {lunr.TokenSet} + * @throws Will throw an error if the input array is not sorted. + */ +lunr.TokenSet.fromArray = function (arr) { + var builder = new lunr.TokenSet.Builder + + for (var i = 0, len = arr.length; i < len; i++) { + builder.insert(arr[i]) + } + + builder.finish() + return builder.root +} + +/** + * Creates a token set from a query clause. + * + * @private + * @param {Object} clause - A single clause from lunr.Query. + * @param {string} clause.term - The query clause term. + * @param {number} [clause.editDistance] - The optional edit distance for the term. + * @returns {lunr.TokenSet} + */ +lunr.TokenSet.fromClause = function (clause) { + if ('editDistance' in clause) { + return lunr.TokenSet.fromFuzzyString(clause.term, clause.editDistance) + } else { + return lunr.TokenSet.fromString(clause.term) + } +} + +/** + * Creates a token set representing a single string with a specified + * edit distance. + * + * Insertions, deletions, substitutions and transpositions are each + * treated as an edit distance of 1. + * + * Increasing the allowed edit distance will have a dramatic impact + * on the performance of both creating and intersecting these TokenSets. + * It is advised to keep the edit distance less than 3. + * + * @param {string} str - The string to create the token set from. + * @param {number} editDistance - The allowed edit distance to match. + * @returns {lunr.Vector} + */ +lunr.TokenSet.fromFuzzyString = function (str, editDistance) { + var root = new lunr.TokenSet + + var stack = [{ + node: root, + editsRemaining: editDistance, + str: str + }] + + while (stack.length) { + var frame = stack.pop() + + // no edit + if (frame.str.length > 0) { + var char = frame.str.charAt(0), + noEditNode + + if (char in frame.node.edges) { + noEditNode = frame.node.edges[char] + } else { + noEditNode = new lunr.TokenSet + frame.node.edges[char] = noEditNode + } + + if (frame.str.length == 1) { + noEditNode.final = true + } + + stack.push({ + node: noEditNode, + editsRemaining: frame.editsRemaining, + str: frame.str.slice(1) + }) + } + + if (frame.editsRemaining == 0) { + continue + } + + // insertion + if ("*" in frame.node.edges) { + var insertionNode = frame.node.edges["*"] + } else { + var insertionNode = new lunr.TokenSet + frame.node.edges["*"] = insertionNode + } + + if (frame.str.length == 0) { + insertionNode.final = true + } + + stack.push({ + node: insertionNode, + editsRemaining: frame.editsRemaining - 1, + str: frame.str + }) + + // deletion + // can only do a deletion if we have enough edits remaining + // and if there are characters left to delete in the string + if (frame.str.length > 1) { + stack.push({ + node: frame.node, + editsRemaining: frame.editsRemaining - 1, + str: frame.str.slice(1) + }) + } + + // deletion + // just removing the last character from the str + if (frame.str.length == 1) { + frame.node.final = true + } + + // substitution + // can only do a substitution if we have enough edits remaining + // and if there are characters left to substitute + if (frame.str.length >= 1) { + if ("*" in frame.node.edges) { + var substitutionNode = frame.node.edges["*"] + } else { + var substitutionNode = new lunr.TokenSet + frame.node.edges["*"] = substitutionNode + } + + if (frame.str.length == 1) { + substitutionNode.final = true + } + + stack.push({ + node: substitutionNode, + editsRemaining: frame.editsRemaining - 1, + str: frame.str.slice(1) + }) + } + + // transposition + // can only do a transposition if there are edits remaining + // and there are enough characters to transpose + if (frame.str.length > 1) { + var charA = frame.str.charAt(0), + charB = frame.str.charAt(1), + transposeNode + + if (charB in frame.node.edges) { + transposeNode = frame.node.edges[charB] + } else { + transposeNode = new lunr.TokenSet + frame.node.edges[charB] = transposeNode + } + + if (frame.str.length == 1) { + transposeNode.final = true + } + + stack.push({ + node: transposeNode, + editsRemaining: frame.editsRemaining - 1, + str: charA + frame.str.slice(2) + }) + } + } + + return root +} + +/** + * Creates a TokenSet from a string. + * + * The string may contain one or more wildcard characters (*) + * that will allow wildcard matching when intersecting with + * another TokenSet. + * + * @param {string} str - The string to create a TokenSet from. + * @returns {lunr.TokenSet} + */ +lunr.TokenSet.fromString = function (str) { + var node = new lunr.TokenSet, + root = node + + /* + * Iterates through all characters within the passed string + * appending a node for each character. + * + * When a wildcard character is found then a self + * referencing edge is introduced to continually match + * any number of any characters. + */ + for (var i = 0, len = str.length; i < len; i++) { + var char = str[i], + final = (i == len - 1) + + if (char == "*") { + node.edges[char] = node + node.final = final + + } else { + var next = new lunr.TokenSet + next.final = final + + node.edges[char] = next + node = next + } + } + + return root +} + +/** + * Converts this TokenSet into an array of strings + * contained within the TokenSet. + * + * This is not intended to be used on a TokenSet that + * contains wildcards, in these cases the results are + * undefined and are likely to cause an infinite loop. + * + * @returns {string[]} + */ +lunr.TokenSet.prototype.toArray = function () { + var words = [] + + var stack = [{ + prefix: "", + node: this + }] + + while (stack.length) { + var frame = stack.pop(), + edges = Object.keys(frame.node.edges), + len = edges.length + + if (frame.node.final) { + /* In Safari, at this point the prefix is sometimes corrupted, see: + * https://github.com/olivernn/lunr.js/issues/279 Calling any + * String.prototype method forces Safari to "cast" this string to what + * it's supposed to be, fixing the bug. */ + frame.prefix.charAt(0) + words.push(frame.prefix) + } + + for (var i = 0; i < len; i++) { + var edge = edges[i] + + stack.push({ + prefix: frame.prefix.concat(edge), + node: frame.node.edges[edge] + }) + } + } + + return words +} + +/** + * Generates a string representation of a TokenSet. + * + * This is intended to allow TokenSets to be used as keys + * in objects, largely to aid the construction and minimisation + * of a TokenSet. As such it is not designed to be a human + * friendly representation of the TokenSet. + * + * @returns {string} + */ +lunr.TokenSet.prototype.toString = function () { + // NOTE: Using Object.keys here as this.edges is very likely + // to enter 'hash-mode' with many keys being added + // + // avoiding a for-in loop here as it leads to the function + // being de-optimised (at least in V8). From some simple + // benchmarks the performance is comparable, but allowing + // V8 to optimize may mean easy performance wins in the future. + + if (this._str) { + return this._str + } + + var str = this.final ? '1' : '0', + labels = Object.keys(this.edges).sort(), + len = labels.length + + for (var i = 0; i < len; i++) { + var label = labels[i], + node = this.edges[label] + + str = str + label + node.id + } + + return str +} + +/** + * Returns a new TokenSet that is the intersection of + * this TokenSet and the passed TokenSet. + * + * This intersection will take into account any wildcards + * contained within the TokenSet. + * + * @param {lunr.TokenSet} b - An other TokenSet to intersect with. + * @returns {lunr.TokenSet} + */ +lunr.TokenSet.prototype.intersect = function (b) { + var output = new lunr.TokenSet, + frame = undefined + + var stack = [{ + qNode: b, + output: output, + node: this + }] + + while (stack.length) { + frame = stack.pop() + + // NOTE: As with the #toString method, we are using + // Object.keys and a for loop instead of a for-in loop + // as both of these objects enter 'hash' mode, causing + // the function to be de-optimised in V8 + var qEdges = Object.keys(frame.qNode.edges), + qLen = qEdges.length, + nEdges = Object.keys(frame.node.edges), + nLen = nEdges.length + + for (var q = 0; q < qLen; q++) { + var qEdge = qEdges[q] + + for (var n = 0; n < nLen; n++) { + var nEdge = nEdges[n] + + if (nEdge == qEdge || qEdge == '*') { + var node = frame.node.edges[nEdge], + qNode = frame.qNode.edges[qEdge], + final = node.final && qNode.final, + next = undefined + + if (nEdge in frame.output.edges) { + // an edge already exists for this character + // no need to create a new node, just set the finality + // bit unless this node is already final + next = frame.output.edges[nEdge] + next.final = next.final || final + + } else { + // no edge exists yet, must create one + // set the finality bit and insert it + // into the output + next = new lunr.TokenSet + next.final = final + frame.output.edges[nEdge] = next + } + + stack.push({ + qNode: qNode, + output: next, + node: node + }) + } + } + } + } + + return output +} +lunr.TokenSet.Builder = function () { + this.previousWord = "" + this.root = new lunr.TokenSet + this.uncheckedNodes = [] + this.minimizedNodes = {} +} + +lunr.TokenSet.Builder.prototype.insert = function (word) { + var node, + commonPrefix = 0 + + if (word < this.previousWord) { + throw new Error ("Out of order word insertion") + } + + for (var i = 0; i < word.length && i < this.previousWord.length; i++) { + if (word[i] != this.previousWord[i]) break + commonPrefix++ + } + + this.minimize(commonPrefix) + + if (this.uncheckedNodes.length == 0) { + node = this.root + } else { + node = this.uncheckedNodes[this.uncheckedNodes.length - 1].child + } + + for (var i = commonPrefix; i < word.length; i++) { + var nextNode = new lunr.TokenSet, + char = word[i] + + node.edges[char] = nextNode + + this.uncheckedNodes.push({ + parent: node, + char: char, + child: nextNode + }) + + node = nextNode + } + + node.final = true + this.previousWord = word +} + +lunr.TokenSet.Builder.prototype.finish = function () { + this.minimize(0) +} + +lunr.TokenSet.Builder.prototype.minimize = function (downTo) { + for (var i = this.uncheckedNodes.length - 1; i >= downTo; i--) { + var node = this.uncheckedNodes[i], + childKey = node.child.toString() + + if (childKey in this.minimizedNodes) { + node.parent.edges[node.char] = this.minimizedNodes[childKey] + } else { + // Cache the key for this node since + // we know it can't change anymore + node.child._str = childKey + + this.minimizedNodes[childKey] = node.child + } + + this.uncheckedNodes.pop() + } +} +/*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * An index contains the built index of all documents and provides a query interface + * to the index. + * + * Usually instances of lunr.Index will not be created using this constructor, instead + * lunr.Builder should be used to construct new indexes, or lunr.Index.load should be + * used to load previously built and serialized indexes. + * + * @constructor + * @param {Object} attrs - The attributes of the built search index. + * @param {Object} attrs.invertedIndex - An index of term/field to document reference. + * @param {Object} attrs.fieldVectors - Field vectors + * @param {lunr.TokenSet} attrs.tokenSet - An set of all corpus tokens. + * @param {string[]} attrs.fields - The names of indexed document fields. + * @param {lunr.Pipeline} attrs.pipeline - The pipeline to use for search terms. + */ +lunr.Index = function (attrs) { + this.invertedIndex = attrs.invertedIndex + this.fieldVectors = attrs.fieldVectors + this.tokenSet = attrs.tokenSet + this.fields = attrs.fields + this.pipeline = attrs.pipeline +} + +/** + * A result contains details of a document matching a search query. + * @typedef {Object} lunr.Index~Result + * @property {string} ref - The reference of the document this result represents. + * @property {number} score - A number between 0 and 1 representing how similar this document is to the query. + * @property {lunr.MatchData} matchData - Contains metadata about this match including which term(s) caused the match. + */ + +/** + * Although lunr provides the ability to create queries using lunr.Query, it also provides a simple + * query language which itself is parsed into an instance of lunr.Query. + * + * For programmatically building queries it is advised to directly use lunr.Query, the query language + * is best used for human entered text rather than program generated text. + * + * At its simplest queries can just be a single term, e.g. `hello`, multiple terms are also supported + * and will be combined with OR, e.g `hello world` will match documents that contain either 'hello' + * or 'world', though those that contain both will rank higher in the results. + * + * Wildcards can be included in terms to match one or more unspecified characters, these wildcards can + * be inserted anywhere within the term, and more than one wildcard can exist in a single term. Adding + * wildcards will increase the number of documents that will be found but can also have a negative + * impact on query performance, especially with wildcards at the beginning of a term. + * + * Terms can be restricted to specific fields, e.g. `title:hello`, only documents with the term + * hello in the title field will match this query. Using a field not present in the index will lead + * to an error being thrown. + * + * Modifiers can also be added to terms, lunr supports edit distance and boost modifiers on terms. A term + * boost will make documents matching that term score higher, e.g. `foo^5`. Edit distance is also supported + * to provide fuzzy matching, e.g. 'hello~2' will match documents with hello with an edit distance of 2. + * Avoid large values for edit distance to improve query performance. + * + * Each term also supports a presence modifier. By default a term's presence in document is optional, however + * this can be changed to either required or prohibited. For a term's presence to be required in a document the + * term should be prefixed with a '+', e.g. `+foo bar` is a search for documents that must contain 'foo' and + * optionally contain 'bar'. Conversely a leading '-' sets the terms presence to prohibited, i.e. it must not + * appear in a document, e.g. `-foo bar` is a search for documents that do not contain 'foo' but may contain 'bar'. + * + * To escape special characters the backslash character '\' can be used, this allows searches to include + * characters that would normally be considered modifiers, e.g. `foo\~2` will search for a term "foo~2" instead + * of attempting to apply a boost of 2 to the search term "foo". + * + * @typedef {string} lunr.Index~QueryString + * @example Simple single term query + * hello + * @example Multiple term query + * hello world + * @example term scoped to a field + * title:hello + * @example term with a boost of 10 + * hello^10 + * @example term with an edit distance of 2 + * hello~2 + * @example terms with presence modifiers + * -foo +bar baz + */ + +/** + * Performs a search against the index using lunr query syntax. + * + * Results will be returned sorted by their score, the most relevant results + * will be returned first. For details on how the score is calculated, please see + * the {@link https://lunrjs.com/guides/searching.html#scoring|guide}. + * + * For more programmatic querying use lunr.Index#query. + * + * @param {lunr.Index~QueryString} queryString - A string containing a lunr query. + * @throws {lunr.QueryParseError} If the passed query string cannot be parsed. + * @returns {lunr.Index~Result[]} + */ +lunr.Index.prototype.search = function (queryString) { + return this.query(function (query) { + var parser = new lunr.QueryParser(queryString, query) + parser.parse() + }) +} + +/** + * A query builder callback provides a query object to be used to express + * the query to perform on the index. + * + * @callback lunr.Index~queryBuilder + * @param {lunr.Query} query - The query object to build up. + * @this lunr.Query + */ + +/** + * Performs a query against the index using the yielded lunr.Query object. + * + * If performing programmatic queries against the index, this method is preferred + * over lunr.Index#search so as to avoid the additional query parsing overhead. + * + * A query object is yielded to the supplied function which should be used to + * express the query to be run against the index. + * + * Note that although this function takes a callback parameter it is _not_ an + * asynchronous operation, the callback is just yielded a query object to be + * customized. + * + * @param {lunr.Index~queryBuilder} fn - A function that is used to build the query. + * @returns {lunr.Index~Result[]} + */ +lunr.Index.prototype.query = function (fn) { + // for each query clause + // * process terms + // * expand terms from token set + // * find matching documents and metadata + // * get document vectors + // * score documents + + var query = new lunr.Query(this.fields), + matchingFields = Object.create(null), + queryVectors = Object.create(null), + termFieldCache = Object.create(null), + requiredMatches = Object.create(null), + prohibitedMatches = Object.create(null) + + /* + * To support field level boosts a query vector is created per + * field. An empty vector is eagerly created to support negated + * queries. + */ + for (var i = 0; i < this.fields.length; i++) { + queryVectors[this.fields[i]] = new lunr.Vector + } + + fn.call(query, query) + + for (var i = 0; i < query.clauses.length; i++) { + /* + * Unless the pipeline has been disabled for this term, which is + * the case for terms with wildcards, we need to pass the clause + * term through the search pipeline. A pipeline returns an array + * of processed terms. Pipeline functions may expand the passed + * term, which means we may end up performing multiple index lookups + * for a single query term. + */ + var clause = query.clauses[i], + terms = null, + clauseMatches = lunr.Set.empty + + if (clause.usePipeline) { + terms = this.pipeline.runString(clause.term, { + fields: clause.fields + }) + } else { + terms = [clause.term] + } + + for (var m = 0; m < terms.length; m++) { + var term = terms[m] + + /* + * Each term returned from the pipeline needs to use the same query + * clause object, e.g. the same boost and or edit distance. The + * simplest way to do this is to re-use the clause object but mutate + * its term property. + */ + clause.term = term + + /* + * From the term in the clause we create a token set which will then + * be used to intersect the indexes token set to get a list of terms + * to lookup in the inverted index + */ + var termTokenSet = lunr.TokenSet.fromClause(clause), + expandedTerms = this.tokenSet.intersect(termTokenSet).toArray() + + /* + * If a term marked as required does not exist in the tokenSet it is + * impossible for the search to return any matches. We set all the field + * scoped required matches set to empty and stop examining any further + * clauses. + */ + if (expandedTerms.length === 0 && clause.presence === lunr.Query.presence.REQUIRED) { + for (var k = 0; k < clause.fields.length; k++) { + var field = clause.fields[k] + requiredMatches[field] = lunr.Set.empty + } + + break + } + + for (var j = 0; j < expandedTerms.length; j++) { + /* + * For each term get the posting and termIndex, this is required for + * building the query vector. + */ + var expandedTerm = expandedTerms[j], + posting = this.invertedIndex[expandedTerm], + termIndex = posting._index + + for (var k = 0; k < clause.fields.length; k++) { + /* + * For each field that this query term is scoped by (by default + * all fields are in scope) we need to get all the document refs + * that have this term in that field. + * + * The posting is the entry in the invertedIndex for the matching + * term from above. + */ + var field = clause.fields[k], + fieldPosting = posting[field], + matchingDocumentRefs = Object.keys(fieldPosting), + termField = expandedTerm + "/" + field, + matchingDocumentsSet = new lunr.Set(matchingDocumentRefs) + + /* + * if the presence of this term is required ensure that the matching + * documents are added to the set of required matches for this clause. + * + */ + if (clause.presence == lunr.Query.presence.REQUIRED) { + clauseMatches = clauseMatches.union(matchingDocumentsSet) + + if (requiredMatches[field] === undefined) { + requiredMatches[field] = lunr.Set.complete + } + } + + /* + * if the presence of this term is prohibited ensure that the matching + * documents are added to the set of prohibited matches for this field, + * creating that set if it does not yet exist. + */ + if (clause.presence == lunr.Query.presence.PROHIBITED) { + if (prohibitedMatches[field] === undefined) { + prohibitedMatches[field] = lunr.Set.empty + } + + prohibitedMatches[field] = prohibitedMatches[field].union(matchingDocumentsSet) + + /* + * Prohibited matches should not be part of the query vector used for + * similarity scoring and no metadata should be extracted so we continue + * to the next field + */ + continue + } + + /* + * The query field vector is populated using the termIndex found for + * the term and a unit value with the appropriate boost applied. + * Using upsert because there could already be an entry in the vector + * for the term we are working with. In that case we just add the scores + * together. + */ + queryVectors[field].upsert(termIndex, clause.boost, function (a, b) { return a + b }) + + /** + * If we've already seen this term, field combo then we've already collected + * the matching documents and metadata, no need to go through all that again + */ + if (termFieldCache[termField]) { + continue + } + + for (var l = 0; l < matchingDocumentRefs.length; l++) { + /* + * All metadata for this term/field/document triple + * are then extracted and collected into an instance + * of lunr.MatchData ready to be returned in the query + * results + */ + var matchingDocumentRef = matchingDocumentRefs[l], + matchingFieldRef = new lunr.FieldRef (matchingDocumentRef, field), + metadata = fieldPosting[matchingDocumentRef], + fieldMatch + + if ((fieldMatch = matchingFields[matchingFieldRef]) === undefined) { + matchingFields[matchingFieldRef] = new lunr.MatchData (expandedTerm, field, metadata) + } else { + fieldMatch.add(expandedTerm, field, metadata) + } + + } + + termFieldCache[termField] = true + } + } + } + + /** + * If the presence was required we need to update the requiredMatches field sets. + * We do this after all fields for the term have collected their matches because + * the clause terms presence is required in _any_ of the fields not _all_ of the + * fields. + */ + if (clause.presence === lunr.Query.presence.REQUIRED) { + for (var k = 0; k < clause.fields.length; k++) { + var field = clause.fields[k] + requiredMatches[field] = requiredMatches[field].intersect(clauseMatches) + } + } + } + + /** + * Need to combine the field scoped required and prohibited + * matching documents into a global set of required and prohibited + * matches + */ + var allRequiredMatches = lunr.Set.complete, + allProhibitedMatches = lunr.Set.empty + + for (var i = 0; i < this.fields.length; i++) { + var field = this.fields[i] + + if (requiredMatches[field]) { + allRequiredMatches = allRequiredMatches.intersect(requiredMatches[field]) + } + + if (prohibitedMatches[field]) { + allProhibitedMatches = allProhibitedMatches.union(prohibitedMatches[field]) + } + } + + var matchingFieldRefs = Object.keys(matchingFields), + results = [], + matches = Object.create(null) + + /* + * If the query is negated (contains only prohibited terms) + * we need to get _all_ fieldRefs currently existing in the + * index. This is only done when we know that the query is + * entirely prohibited terms to avoid any cost of getting all + * fieldRefs unnecessarily. + * + * Additionally, blank MatchData must be created to correctly + * populate the results. + */ + if (query.isNegated()) { + matchingFieldRefs = Object.keys(this.fieldVectors) + + for (var i = 0; i < matchingFieldRefs.length; i++) { + var matchingFieldRef = matchingFieldRefs[i] + var fieldRef = lunr.FieldRef.fromString(matchingFieldRef) + matchingFields[matchingFieldRef] = new lunr.MatchData + } + } + + for (var i = 0; i < matchingFieldRefs.length; i++) { + /* + * Currently we have document fields that match the query, but we + * need to return documents. The matchData and scores are combined + * from multiple fields belonging to the same document. + * + * Scores are calculated by field, using the query vectors created + * above, and combined into a final document score using addition. + */ + var fieldRef = lunr.FieldRef.fromString(matchingFieldRefs[i]), + docRef = fieldRef.docRef + + if (!allRequiredMatches.contains(docRef)) { + continue + } + + if (allProhibitedMatches.contains(docRef)) { + continue + } + + var fieldVector = this.fieldVectors[fieldRef], + score = queryVectors[fieldRef.fieldName].similarity(fieldVector), + docMatch + + if ((docMatch = matches[docRef]) !== undefined) { + docMatch.score += score + docMatch.matchData.combine(matchingFields[fieldRef]) + } else { + var match = { + ref: docRef, + score: score, + matchData: matchingFields[fieldRef] + } + matches[docRef] = match + results.push(match) + } + } + + /* + * Sort the results objects by score, highest first. + */ + return results.sort(function (a, b) { + return b.score - a.score + }) +} + +/** + * Prepares the index for JSON serialization. + * + * The schema for this JSON blob will be described in a + * separate JSON schema file. + * + * @returns {Object} + */ +lunr.Index.prototype.toJSON = function () { + var invertedIndex = Object.keys(this.invertedIndex) + .sort() + .map(function (term) { + return [term, this.invertedIndex[term]] + }, this) + + var fieldVectors = Object.keys(this.fieldVectors) + .map(function (ref) { + return [ref, this.fieldVectors[ref].toJSON()] + }, this) + + return { + version: lunr.version, + fields: this.fields, + fieldVectors: fieldVectors, + invertedIndex: invertedIndex, + pipeline: this.pipeline.toJSON() + } +} + +/** + * Loads a previously serialized lunr.Index + * + * @param {Object} serializedIndex - A previously serialized lunr.Index + * @returns {lunr.Index} + */ +lunr.Index.load = function (serializedIndex) { + var attrs = {}, + fieldVectors = {}, + serializedVectors = serializedIndex.fieldVectors, + invertedIndex = Object.create(null), + serializedInvertedIndex = serializedIndex.invertedIndex, + tokenSetBuilder = new lunr.TokenSet.Builder, + pipeline = lunr.Pipeline.load(serializedIndex.pipeline) + + if (serializedIndex.version != lunr.version) { + lunr.utils.warn("Version mismatch when loading serialised index. Current version of lunr '" + lunr.version + "' does not match serialized index '" + serializedIndex.version + "'") + } + + for (var i = 0; i < serializedVectors.length; i++) { + var tuple = serializedVectors[i], + ref = tuple[0], + elements = tuple[1] + + fieldVectors[ref] = new lunr.Vector(elements) + } + + for (var i = 0; i < serializedInvertedIndex.length; i++) { + var tuple = serializedInvertedIndex[i], + term = tuple[0], + posting = tuple[1] + + tokenSetBuilder.insert(term) + invertedIndex[term] = posting + } + + tokenSetBuilder.finish() + + attrs.fields = serializedIndex.fields + + attrs.fieldVectors = fieldVectors + attrs.invertedIndex = invertedIndex + attrs.tokenSet = tokenSetBuilder.root + attrs.pipeline = pipeline + + return new lunr.Index(attrs) +} +/*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * lunr.Builder performs indexing on a set of documents and + * returns instances of lunr.Index ready for querying. + * + * All configuration of the index is done via the builder, the + * fields to index, the document reference, the text processing + * pipeline and document scoring parameters are all set on the + * builder before indexing. + * + * @constructor + * @property {string} _ref - Internal reference to the document reference field. + * @property {string[]} _fields - Internal reference to the document fields to index. + * @property {object} invertedIndex - The inverted index maps terms to document fields. + * @property {object} documentTermFrequencies - Keeps track of document term frequencies. + * @property {object} documentLengths - Keeps track of the length of documents added to the index. + * @property {lunr.tokenizer} tokenizer - Function for splitting strings into tokens for indexing. + * @property {lunr.Pipeline} pipeline - The pipeline performs text processing on tokens before indexing. + * @property {lunr.Pipeline} searchPipeline - A pipeline for processing search terms before querying the index. + * @property {number} documentCount - Keeps track of the total number of documents indexed. + * @property {number} _b - A parameter to control field length normalization, setting this to 0 disabled normalization, 1 fully normalizes field lengths, the default value is 0.75. + * @property {number} _k1 - A parameter to control how quickly an increase in term frequency results in term frequency saturation, the default value is 1.2. + * @property {number} termIndex - A counter incremented for each unique term, used to identify a terms position in the vector space. + * @property {array} metadataWhitelist - A list of metadata keys that have been whitelisted for entry in the index. + */ +lunr.Builder = function () { + this._ref = "id" + this._fields = Object.create(null) + this._documents = Object.create(null) + this.invertedIndex = Object.create(null) + this.fieldTermFrequencies = {} + this.fieldLengths = {} + this.tokenizer = lunr.tokenizer + this.pipeline = new lunr.Pipeline + this.searchPipeline = new lunr.Pipeline + this.documentCount = 0 + this._b = 0.75 + this._k1 = 1.2 + this.termIndex = 0 + this.metadataWhitelist = [] +} + +/** + * Sets the document field used as the document reference. Every document must have this field. + * The type of this field in the document should be a string, if it is not a string it will be + * coerced into a string by calling toString. + * + * The default ref is 'id'. + * + * The ref should _not_ be changed during indexing, it should be set before any documents are + * added to the index. Changing it during indexing can lead to inconsistent results. + * + * @param {string} ref - The name of the reference field in the document. + */ +lunr.Builder.prototype.ref = function (ref) { + this._ref = ref +} + +/** + * A function that is used to extract a field from a document. + * + * Lunr expects a field to be at the top level of a document, if however the field + * is deeply nested within a document an extractor function can be used to extract + * the right field for indexing. + * + * @callback fieldExtractor + * @param {object} doc - The document being added to the index. + * @returns {?(string|object|object[])} obj - The object that will be indexed for this field. + * @example Extracting a nested field + * function (doc) { return doc.nested.field } + */ + +/** + * Adds a field to the list of document fields that will be indexed. Every document being + * indexed should have this field. Null values for this field in indexed documents will + * not cause errors but will limit the chance of that document being retrieved by searches. + * + * All fields should be added before adding documents to the index. Adding fields after + * a document has been indexed will have no effect on already indexed documents. + * + * Fields can be boosted at build time. This allows terms within that field to have more + * importance when ranking search results. Use a field boost to specify that matches within + * one field are more important than other fields. + * + * @param {string} fieldName - The name of a field to index in all documents. + * @param {object} attributes - Optional attributes associated with this field. + * @param {number} [attributes.boost=1] - Boost applied to all terms within this field. + * @param {fieldExtractor} [attributes.extractor] - Function to extract a field from a document. + * @throws {RangeError} fieldName cannot contain unsupported characters '/' + */ +lunr.Builder.prototype.field = function (fieldName, attributes) { + if (/\//.test(fieldName)) { + throw new RangeError ("Field '" + fieldName + "' contains illegal character '/'") + } + + this._fields[fieldName] = attributes || {} +} + +/** + * A parameter to tune the amount of field length normalisation that is applied when + * calculating relevance scores. A value of 0 will completely disable any normalisation + * and a value of 1 will fully normalise field lengths. The default is 0.75. Values of b + * will be clamped to the range 0 - 1. + * + * @param {number} number - The value to set for this tuning parameter. + */ +lunr.Builder.prototype.b = function (number) { + if (number < 0) { + this._b = 0 + } else if (number > 1) { + this._b = 1 + } else { + this._b = number + } +} + +/** + * A parameter that controls the speed at which a rise in term frequency results in term + * frequency saturation. The default value is 1.2. Setting this to a higher value will give + * slower saturation levels, a lower value will result in quicker saturation. + * + * @param {number} number - The value to set for this tuning parameter. + */ +lunr.Builder.prototype.k1 = function (number) { + this._k1 = number +} + +/** + * Adds a document to the index. + * + * Before adding fields to the index the index should have been fully setup, with the document + * ref and all fields to index already having been specified. + * + * The document must have a field name as specified by the ref (by default this is 'id') and + * it should have all fields defined for indexing, though null or undefined values will not + * cause errors. + * + * Entire documents can be boosted at build time. Applying a boost to a document indicates that + * this document should rank higher in search results than other documents. + * + * @param {object} doc - The document to add to the index. + * @param {object} attributes - Optional attributes associated with this document. + * @param {number} [attributes.boost=1] - Boost applied to all terms within this document. + */ +lunr.Builder.prototype.add = function (doc, attributes) { + var docRef = doc[this._ref], + fields = Object.keys(this._fields) + + this._documents[docRef] = attributes || {} + this.documentCount += 1 + + for (var i = 0; i < fields.length; i++) { + var fieldName = fields[i], + extractor = this._fields[fieldName].extractor, + field = extractor ? extractor(doc) : doc[fieldName], + tokens = this.tokenizer(field, { + fields: [fieldName] + }), + terms = this.pipeline.run(tokens), + fieldRef = new lunr.FieldRef (docRef, fieldName), + fieldTerms = Object.create(null) + + this.fieldTermFrequencies[fieldRef] = fieldTerms + this.fieldLengths[fieldRef] = 0 + + // store the length of this field for this document + this.fieldLengths[fieldRef] += terms.length + + // calculate term frequencies for this field + for (var j = 0; j < terms.length; j++) { + var term = terms[j] + + if (fieldTerms[term] == undefined) { + fieldTerms[term] = 0 + } + + fieldTerms[term] += 1 + + // add to inverted index + // create an initial posting if one doesn't exist + if (this.invertedIndex[term] == undefined) { + var posting = Object.create(null) + posting["_index"] = this.termIndex + this.termIndex += 1 + + for (var k = 0; k < fields.length; k++) { + posting[fields[k]] = Object.create(null) + } + + this.invertedIndex[term] = posting + } + + // add an entry for this term/fieldName/docRef to the invertedIndex + if (this.invertedIndex[term][fieldName][docRef] == undefined) { + this.invertedIndex[term][fieldName][docRef] = Object.create(null) + } + + // store all whitelisted metadata about this token in the + // inverted index + for (var l = 0; l < this.metadataWhitelist.length; l++) { + var metadataKey = this.metadataWhitelist[l], + metadata = term.metadata[metadataKey] + + if (this.invertedIndex[term][fieldName][docRef][metadataKey] == undefined) { + this.invertedIndex[term][fieldName][docRef][metadataKey] = [] + } + + this.invertedIndex[term][fieldName][docRef][metadataKey].push(metadata) + } + } + + } +} + +/** + * Calculates the average document length for this index + * + * @private + */ +lunr.Builder.prototype.calculateAverageFieldLengths = function () { + + var fieldRefs = Object.keys(this.fieldLengths), + numberOfFields = fieldRefs.length, + accumulator = {}, + documentsWithField = {} + + for (var i = 0; i < numberOfFields; i++) { + var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]), + field = fieldRef.fieldName + + documentsWithField[field] || (documentsWithField[field] = 0) + documentsWithField[field] += 1 + + accumulator[field] || (accumulator[field] = 0) + accumulator[field] += this.fieldLengths[fieldRef] + } + + var fields = Object.keys(this._fields) + + for (var i = 0; i < fields.length; i++) { + var fieldName = fields[i] + accumulator[fieldName] = accumulator[fieldName] / documentsWithField[fieldName] + } + + this.averageFieldLength = accumulator +} + +/** + * Builds a vector space model of every document using lunr.Vector + * + * @private + */ +lunr.Builder.prototype.createFieldVectors = function () { + var fieldVectors = {}, + fieldRefs = Object.keys(this.fieldTermFrequencies), + fieldRefsLength = fieldRefs.length, + termIdfCache = Object.create(null) + + for (var i = 0; i < fieldRefsLength; i++) { + var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]), + fieldName = fieldRef.fieldName, + fieldLength = this.fieldLengths[fieldRef], + fieldVector = new lunr.Vector, + termFrequencies = this.fieldTermFrequencies[fieldRef], + terms = Object.keys(termFrequencies), + termsLength = terms.length + + + var fieldBoost = this._fields[fieldName].boost || 1, + docBoost = this._documents[fieldRef.docRef].boost || 1 + + for (var j = 0; j < termsLength; j++) { + var term = terms[j], + tf = termFrequencies[term], + termIndex = this.invertedIndex[term]._index, + idf, score, scoreWithPrecision + + if (termIdfCache[term] === undefined) { + idf = lunr.idf(this.invertedIndex[term], this.documentCount) + termIdfCache[term] = idf + } else { + idf = termIdfCache[term] + } + + score = idf * ((this._k1 + 1) * tf) / (this._k1 * (1 - this._b + this._b * (fieldLength / this.averageFieldLength[fieldName])) + tf) + score *= fieldBoost + score *= docBoost + scoreWithPrecision = Math.round(score * 1000) / 1000 + // Converts 1.23456789 to 1.234. + // Reducing the precision so that the vectors take up less + // space when serialised. Doing it now so that they behave + // the same before and after serialisation. Also, this is + // the fastest approach to reducing a number's precision in + // JavaScript. + + fieldVector.insert(termIndex, scoreWithPrecision) + } + + fieldVectors[fieldRef] = fieldVector + } + + this.fieldVectors = fieldVectors +} + +/** + * Creates a token set of all tokens in the index using lunr.TokenSet + * + * @private + */ +lunr.Builder.prototype.createTokenSet = function () { + this.tokenSet = lunr.TokenSet.fromArray( + Object.keys(this.invertedIndex).sort() + ) +} + +/** + * Builds the index, creating an instance of lunr.Index. + * + * This completes the indexing process and should only be called + * once all documents have been added to the index. + * + * @returns {lunr.Index} + */ +lunr.Builder.prototype.build = function () { + this.calculateAverageFieldLengths() + this.createFieldVectors() + this.createTokenSet() + + return new lunr.Index({ + invertedIndex: this.invertedIndex, + fieldVectors: this.fieldVectors, + tokenSet: this.tokenSet, + fields: Object.keys(this._fields), + pipeline: this.searchPipeline + }) +} + +/** + * Applies a plugin to the index builder. + * + * A plugin is a function that is called with the index builder as its context. + * Plugins can be used to customise or extend the behaviour of the index + * in some way. A plugin is just a function, that encapsulated the custom + * behaviour that should be applied when building the index. + * + * The plugin function will be called with the index builder as its argument, additional + * arguments can also be passed when calling use. The function will be called + * with the index builder as its context. + * + * @param {Function} plugin The plugin to apply. + */ +lunr.Builder.prototype.use = function (fn) { + var args = Array.prototype.slice.call(arguments, 1) + args.unshift(this) + fn.apply(this, args) +} +/** + * Contains and collects metadata about a matching document. + * A single instance of lunr.MatchData is returned as part of every + * lunr.Index~Result. + * + * @constructor + * @param {string} term - The term this match data is associated with + * @param {string} field - The field in which the term was found + * @param {object} metadata - The metadata recorded about this term in this field + * @property {object} metadata - A cloned collection of metadata associated with this document. + * @see {@link lunr.Index~Result} + */ +lunr.MatchData = function (term, field, metadata) { + var clonedMetadata = Object.create(null), + metadataKeys = Object.keys(metadata || {}) + + // Cloning the metadata to prevent the original + // being mutated during match data combination. + // Metadata is kept in an array within the inverted + // index so cloning the data can be done with + // Array#slice + for (var i = 0; i < metadataKeys.length; i++) { + var key = metadataKeys[i] + clonedMetadata[key] = metadata[key].slice() + } + + this.metadata = Object.create(null) + + if (term !== undefined) { + this.metadata[term] = Object.create(null) + this.metadata[term][field] = clonedMetadata + } +} + +/** + * An instance of lunr.MatchData will be created for every term that matches a + * document. However only one instance is required in a lunr.Index~Result. This + * method combines metadata from another instance of lunr.MatchData with this + * objects metadata. + * + * @param {lunr.MatchData} otherMatchData - Another instance of match data to merge with this one. + * @see {@link lunr.Index~Result} + */ +lunr.MatchData.prototype.combine = function (otherMatchData) { + var terms = Object.keys(otherMatchData.metadata) + + for (var i = 0; i < terms.length; i++) { + var term = terms[i], + fields = Object.keys(otherMatchData.metadata[term]) + + if (this.metadata[term] == undefined) { + this.metadata[term] = Object.create(null) + } + + for (var j = 0; j < fields.length; j++) { + var field = fields[j], + keys = Object.keys(otherMatchData.metadata[term][field]) + + if (this.metadata[term][field] == undefined) { + this.metadata[term][field] = Object.create(null) + } + + for (var k = 0; k < keys.length; k++) { + var key = keys[k] + + if (this.metadata[term][field][key] == undefined) { + this.metadata[term][field][key] = otherMatchData.metadata[term][field][key] + } else { + this.metadata[term][field][key] = this.metadata[term][field][key].concat(otherMatchData.metadata[term][field][key]) + } + + } + } + } +} + +/** + * Add metadata for a term/field pair to this instance of match data. + * + * @param {string} term - The term this match data is associated with + * @param {string} field - The field in which the term was found + * @param {object} metadata - The metadata recorded about this term in this field + */ +lunr.MatchData.prototype.add = function (term, field, metadata) { + if (!(term in this.metadata)) { + this.metadata[term] = Object.create(null) + this.metadata[term][field] = metadata + return + } + + if (!(field in this.metadata[term])) { + this.metadata[term][field] = metadata + return + } + + var metadataKeys = Object.keys(metadata) + + for (var i = 0; i < metadataKeys.length; i++) { + var key = metadataKeys[i] + + if (key in this.metadata[term][field]) { + this.metadata[term][field][key] = this.metadata[term][field][key].concat(metadata[key]) + } else { + this.metadata[term][field][key] = metadata[key] + } + } +} +/** + * A lunr.Query provides a programmatic way of defining queries to be performed + * against a {@link lunr.Index}. + * + * Prefer constructing a lunr.Query using the {@link lunr.Index#query} method + * so the query object is pre-initialized with the right index fields. + * + * @constructor + * @property {lunr.Query~Clause[]} clauses - An array of query clauses. + * @property {string[]} allFields - An array of all available fields in a lunr.Index. + */ +lunr.Query = function (allFields) { + this.clauses = [] + this.allFields = allFields +} + +/** + * Constants for indicating what kind of automatic wildcard insertion will be used when constructing a query clause. + * + * This allows wildcards to be added to the beginning and end of a term without having to manually do any string + * concatenation. + * + * The wildcard constants can be bitwise combined to select both leading and trailing wildcards. + * + * @constant + * @default + * @property {number} wildcard.NONE - The term will have no wildcards inserted, this is the default behaviour + * @property {number} wildcard.LEADING - Prepend the term with a wildcard, unless a leading wildcard already exists + * @property {number} wildcard.TRAILING - Append a wildcard to the term, unless a trailing wildcard already exists + * @see lunr.Query~Clause + * @see lunr.Query#clause + * @see lunr.Query#term + * @example query term with trailing wildcard + * query.term('foo', { wildcard: lunr.Query.wildcard.TRAILING }) + * @example query term with leading and trailing wildcard + * query.term('foo', { + * wildcard: lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING + * }) + */ + +lunr.Query.wildcard = new String ("*") +lunr.Query.wildcard.NONE = 0 +lunr.Query.wildcard.LEADING = 1 +lunr.Query.wildcard.TRAILING = 2 + +/** + * Constants for indicating what kind of presence a term must have in matching documents. + * + * @constant + * @enum {number} + * @see lunr.Query~Clause + * @see lunr.Query#clause + * @see lunr.Query#term + * @example query term with required presence + * query.term('foo', { presence: lunr.Query.presence.REQUIRED }) + */ +lunr.Query.presence = { + /** + * Term's presence in a document is optional, this is the default value. + */ + OPTIONAL: 1, + + /** + * Term's presence in a document is required, documents that do not contain + * this term will not be returned. + */ + REQUIRED: 2, + + /** + * Term's presence in a document is prohibited, documents that do contain + * this term will not be returned. + */ + PROHIBITED: 3 +} + +/** + * A single clause in a {@link lunr.Query} contains a term and details on how to + * match that term against a {@link lunr.Index}. + * + * @typedef {Object} lunr.Query~Clause + * @property {string[]} fields - The fields in an index this clause should be matched against. + * @property {number} [boost=1] - Any boost that should be applied when matching this clause. + * @property {number} [editDistance] - Whether the term should have fuzzy matching applied, and how fuzzy the match should be. + * @property {boolean} [usePipeline] - Whether the term should be passed through the search pipeline. + * @property {number} [wildcard=lunr.Query.wildcard.NONE] - Whether the term should have wildcards appended or prepended. + * @property {number} [presence=lunr.Query.presence.OPTIONAL] - The terms presence in any matching documents. + */ + +/** + * Adds a {@link lunr.Query~Clause} to this query. + * + * Unless the clause contains the fields to be matched all fields will be matched. In addition + * a default boost of 1 is applied to the clause. + * + * @param {lunr.Query~Clause} clause - The clause to add to this query. + * @see lunr.Query~Clause + * @returns {lunr.Query} + */ +lunr.Query.prototype.clause = function (clause) { + if (!('fields' in clause)) { + clause.fields = this.allFields + } + + if (!('boost' in clause)) { + clause.boost = 1 + } + + if (!('usePipeline' in clause)) { + clause.usePipeline = true + } + + if (!('wildcard' in clause)) { + clause.wildcard = lunr.Query.wildcard.NONE + } + + if ((clause.wildcard & lunr.Query.wildcard.LEADING) && (clause.term.charAt(0) != lunr.Query.wildcard)) { + clause.term = "*" + clause.term + } + + if ((clause.wildcard & lunr.Query.wildcard.TRAILING) && (clause.term.slice(-1) != lunr.Query.wildcard)) { + clause.term = "" + clause.term + "*" + } + + if (!('presence' in clause)) { + clause.presence = lunr.Query.presence.OPTIONAL + } + + this.clauses.push(clause) + + return this +} + +/** + * A negated query is one in which every clause has a presence of + * prohibited. These queries require some special processing to return + * the expected results. + * + * @returns boolean + */ +lunr.Query.prototype.isNegated = function () { + for (var i = 0; i < this.clauses.length; i++) { + if (this.clauses[i].presence != lunr.Query.presence.PROHIBITED) { + return false + } + } + + return true +} + +/** + * Adds a term to the current query, under the covers this will create a {@link lunr.Query~Clause} + * to the list of clauses that make up this query. + * + * The term is used as is, i.e. no tokenization will be performed by this method. Instead conversion + * to a token or token-like string should be done before calling this method. + * + * The term will be converted to a string by calling `toString`. Multiple terms can be passed as an + * array, each term in the array will share the same options. + * + * @param {object|object[]} term - The term(s) to add to the query. + * @param {object} [options] - Any additional properties to add to the query clause. + * @returns {lunr.Query} + * @see lunr.Query#clause + * @see lunr.Query~Clause + * @example adding a single term to a query + * query.term("foo") + * @example adding a single term to a query and specifying search fields, term boost and automatic trailing wildcard + * query.term("foo", { + * fields: ["title"], + * boost: 10, + * wildcard: lunr.Query.wildcard.TRAILING + * }) + * @example using lunr.tokenizer to convert a string to tokens before using them as terms + * query.term(lunr.tokenizer("foo bar")) + */ +lunr.Query.prototype.term = function (term, options) { + if (Array.isArray(term)) { + term.forEach(function (t) { this.term(t, lunr.utils.clone(options)) }, this) + return this + } + + var clause = options || {} + clause.term = term.toString() + + this.clause(clause) + + return this +} +lunr.QueryParseError = function (message, start, end) { + this.name = "QueryParseError" + this.message = message + this.start = start + this.end = end +} + +lunr.QueryParseError.prototype = new Error +lunr.QueryLexer = function (str) { + this.lexemes = [] + this.str = str + this.length = str.length + this.pos = 0 + this.start = 0 + this.escapeCharPositions = [] +} + +lunr.QueryLexer.prototype.run = function () { + var state = lunr.QueryLexer.lexText + + while (state) { + state = state(this) + } +} + +lunr.QueryLexer.prototype.sliceString = function () { + var subSlices = [], + sliceStart = this.start, + sliceEnd = this.pos + + for (var i = 0; i < this.escapeCharPositions.length; i++) { + sliceEnd = this.escapeCharPositions[i] + subSlices.push(this.str.slice(sliceStart, sliceEnd)) + sliceStart = sliceEnd + 1 + } + + subSlices.push(this.str.slice(sliceStart, this.pos)) + this.escapeCharPositions.length = 0 + + return subSlices.join('') +} + +lunr.QueryLexer.prototype.emit = function (type) { + this.lexemes.push({ + type: type, + str: this.sliceString(), + start: this.start, + end: this.pos + }) + + this.start = this.pos +} + +lunr.QueryLexer.prototype.escapeCharacter = function () { + this.escapeCharPositions.push(this.pos - 1) + this.pos += 1 +} + +lunr.QueryLexer.prototype.next = function () { + if (this.pos >= this.length) { + return lunr.QueryLexer.EOS + } + + var char = this.str.charAt(this.pos) + this.pos += 1 + return char +} + +lunr.QueryLexer.prototype.width = function () { + return this.pos - this.start +} + +lunr.QueryLexer.prototype.ignore = function () { + if (this.start == this.pos) { + this.pos += 1 + } + + this.start = this.pos +} + +lunr.QueryLexer.prototype.backup = function () { + this.pos -= 1 +} + +lunr.QueryLexer.prototype.acceptDigitRun = function () { + var char, charCode + + do { + char = this.next() + charCode = char.charCodeAt(0) + } while (charCode > 47 && charCode < 58) + + if (char != lunr.QueryLexer.EOS) { + this.backup() + } +} + +lunr.QueryLexer.prototype.more = function () { + return this.pos < this.length +} + +lunr.QueryLexer.EOS = 'EOS' +lunr.QueryLexer.FIELD = 'FIELD' +lunr.QueryLexer.TERM = 'TERM' +lunr.QueryLexer.EDIT_DISTANCE = 'EDIT_DISTANCE' +lunr.QueryLexer.BOOST = 'BOOST' +lunr.QueryLexer.PRESENCE = 'PRESENCE' + +lunr.QueryLexer.lexField = function (lexer) { + lexer.backup() + lexer.emit(lunr.QueryLexer.FIELD) + lexer.ignore() + return lunr.QueryLexer.lexText +} + +lunr.QueryLexer.lexTerm = function (lexer) { + if (lexer.width() > 1) { + lexer.backup() + lexer.emit(lunr.QueryLexer.TERM) + } + + lexer.ignore() + + if (lexer.more()) { + return lunr.QueryLexer.lexText + } +} + +lunr.QueryLexer.lexEditDistance = function (lexer) { + lexer.ignore() + lexer.acceptDigitRun() + lexer.emit(lunr.QueryLexer.EDIT_DISTANCE) + return lunr.QueryLexer.lexText +} + +lunr.QueryLexer.lexBoost = function (lexer) { + lexer.ignore() + lexer.acceptDigitRun() + lexer.emit(lunr.QueryLexer.BOOST) + return lunr.QueryLexer.lexText +} + +lunr.QueryLexer.lexEOS = function (lexer) { + if (lexer.width() > 0) { + lexer.emit(lunr.QueryLexer.TERM) + } +} + +// This matches the separator used when tokenising fields +// within a document. These should match otherwise it is +// not possible to search for some tokens within a document. +// +// It is possible for the user to change the separator on the +// tokenizer so it _might_ clash with any other of the special +// characters already used within the search string, e.g. :. +// +// This means that it is possible to change the separator in +// such a way that makes some words unsearchable using a search +// string. +lunr.QueryLexer.termSeparator = lunr.tokenizer.separator + +lunr.QueryLexer.lexText = function (lexer) { + while (true) { + var char = lexer.next() + + if (char == lunr.QueryLexer.EOS) { + return lunr.QueryLexer.lexEOS + } + + // Escape character is '\' + if (char.charCodeAt(0) == 92) { + lexer.escapeCharacter() + continue + } + + if (char == ":") { + return lunr.QueryLexer.lexField + } + + if (char == "~") { + lexer.backup() + if (lexer.width() > 0) { + lexer.emit(lunr.QueryLexer.TERM) + } + return lunr.QueryLexer.lexEditDistance + } + + if (char == "^") { + lexer.backup() + if (lexer.width() > 0) { + lexer.emit(lunr.QueryLexer.TERM) + } + return lunr.QueryLexer.lexBoost + } + + // "+" indicates term presence is required + // checking for length to ensure that only + // leading "+" are considered + if (char == "+" && lexer.width() === 1) { + lexer.emit(lunr.QueryLexer.PRESENCE) + return lunr.QueryLexer.lexText + } + + // "-" indicates term presence is prohibited + // checking for length to ensure that only + // leading "-" are considered + if (char == "-" && lexer.width() === 1) { + lexer.emit(lunr.QueryLexer.PRESENCE) + return lunr.QueryLexer.lexText + } + + if (char.match(lunr.QueryLexer.termSeparator)) { + return lunr.QueryLexer.lexTerm + } + } +} + +lunr.QueryParser = function (str, query) { + this.lexer = new lunr.QueryLexer (str) + this.query = query + this.currentClause = {} + this.lexemeIdx = 0 +} + +lunr.QueryParser.prototype.parse = function () { + this.lexer.run() + this.lexemes = this.lexer.lexemes + + var state = lunr.QueryParser.parseClause + + while (state) { + state = state(this) + } + + return this.query +} + +lunr.QueryParser.prototype.peekLexeme = function () { + return this.lexemes[this.lexemeIdx] +} + +lunr.QueryParser.prototype.consumeLexeme = function () { + var lexeme = this.peekLexeme() + this.lexemeIdx += 1 + return lexeme +} + +lunr.QueryParser.prototype.nextClause = function () { + var completedClause = this.currentClause + this.query.clause(completedClause) + this.currentClause = {} +} + +lunr.QueryParser.parseClause = function (parser) { + var lexeme = parser.peekLexeme() + + if (lexeme == undefined) { + return + } + + switch (lexeme.type) { + case lunr.QueryLexer.PRESENCE: + return lunr.QueryParser.parsePresence + case lunr.QueryLexer.FIELD: + return lunr.QueryParser.parseField + case lunr.QueryLexer.TERM: + return lunr.QueryParser.parseTerm + default: + var errorMessage = "expected either a field or a term, found " + lexeme.type + + if (lexeme.str.length >= 1) { + errorMessage += " with value '" + lexeme.str + "'" + } + + throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) + } +} + +lunr.QueryParser.parsePresence = function (parser) { + var lexeme = parser.consumeLexeme() + + if (lexeme == undefined) { + return + } + + switch (lexeme.str) { + case "-": + parser.currentClause.presence = lunr.Query.presence.PROHIBITED + break + case "+": + parser.currentClause.presence = lunr.Query.presence.REQUIRED + break + default: + var errorMessage = "unrecognised presence operator'" + lexeme.str + "'" + throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) + } + + var nextLexeme = parser.peekLexeme() + + if (nextLexeme == undefined) { + var errorMessage = "expecting term or field, found nothing" + throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) + } + + switch (nextLexeme.type) { + case lunr.QueryLexer.FIELD: + return lunr.QueryParser.parseField + case lunr.QueryLexer.TERM: + return lunr.QueryParser.parseTerm + default: + var errorMessage = "expecting term or field, found '" + nextLexeme.type + "'" + throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) + } +} + +lunr.QueryParser.parseField = function (parser) { + var lexeme = parser.consumeLexeme() + + if (lexeme == undefined) { + return + } + + if (parser.query.allFields.indexOf(lexeme.str) == -1) { + var possibleFields = parser.query.allFields.map(function (f) { return "'" + f + "'" }).join(', '), + errorMessage = "unrecognised field '" + lexeme.str + "', possible fields: " + possibleFields + + throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) + } + + parser.currentClause.fields = [lexeme.str] + + var nextLexeme = parser.peekLexeme() + + if (nextLexeme == undefined) { + var errorMessage = "expecting term, found nothing" + throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) + } + + switch (nextLexeme.type) { + case lunr.QueryLexer.TERM: + return lunr.QueryParser.parseTerm + default: + var errorMessage = "expecting term, found '" + nextLexeme.type + "'" + throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) + } +} + +lunr.QueryParser.parseTerm = function (parser) { + var lexeme = parser.consumeLexeme() + + if (lexeme == undefined) { + return + } + + parser.currentClause.term = lexeme.str.toLowerCase() + + if (lexeme.str.indexOf("*") != -1) { + parser.currentClause.usePipeline = false + } + + var nextLexeme = parser.peekLexeme() + + if (nextLexeme == undefined) { + parser.nextClause() + return + } + + switch (nextLexeme.type) { + case lunr.QueryLexer.TERM: + parser.nextClause() + return lunr.QueryParser.parseTerm + case lunr.QueryLexer.FIELD: + parser.nextClause() + return lunr.QueryParser.parseField + case lunr.QueryLexer.EDIT_DISTANCE: + return lunr.QueryParser.parseEditDistance + case lunr.QueryLexer.BOOST: + return lunr.QueryParser.parseBoost + case lunr.QueryLexer.PRESENCE: + parser.nextClause() + return lunr.QueryParser.parsePresence + default: + var errorMessage = "Unexpected lexeme type '" + nextLexeme.type + "'" + throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) + } +} + +lunr.QueryParser.parseEditDistance = function (parser) { + var lexeme = parser.consumeLexeme() + + if (lexeme == undefined) { + return + } + + var editDistance = parseInt(lexeme.str, 10) + + if (isNaN(editDistance)) { + var errorMessage = "edit distance must be numeric" + throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) + } + + parser.currentClause.editDistance = editDistance + + var nextLexeme = parser.peekLexeme() + + if (nextLexeme == undefined) { + parser.nextClause() + return + } + + switch (nextLexeme.type) { + case lunr.QueryLexer.TERM: + parser.nextClause() + return lunr.QueryParser.parseTerm + case lunr.QueryLexer.FIELD: + parser.nextClause() + return lunr.QueryParser.parseField + case lunr.QueryLexer.EDIT_DISTANCE: + return lunr.QueryParser.parseEditDistance + case lunr.QueryLexer.BOOST: + return lunr.QueryParser.parseBoost + case lunr.QueryLexer.PRESENCE: + parser.nextClause() + return lunr.QueryParser.parsePresence + default: + var errorMessage = "Unexpected lexeme type '" + nextLexeme.type + "'" + throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) + } +} + +lunr.QueryParser.parseBoost = function (parser) { + var lexeme = parser.consumeLexeme() + + if (lexeme == undefined) { + return + } + + var boost = parseInt(lexeme.str, 10) + + if (isNaN(boost)) { + var errorMessage = "boost must be numeric" + throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) + } + + parser.currentClause.boost = boost + + var nextLexeme = parser.peekLexeme() + + if (nextLexeme == undefined) { + parser.nextClause() + return + } + + switch (nextLexeme.type) { + case lunr.QueryLexer.TERM: + parser.nextClause() + return lunr.QueryParser.parseTerm + case lunr.QueryLexer.FIELD: + parser.nextClause() + return lunr.QueryParser.parseField + case lunr.QueryLexer.EDIT_DISTANCE: + return lunr.QueryParser.parseEditDistance + case lunr.QueryLexer.BOOST: + return lunr.QueryParser.parseBoost + case lunr.QueryLexer.PRESENCE: + parser.nextClause() + return lunr.QueryParser.parsePresence + default: + var errorMessage = "Unexpected lexeme type '" + nextLexeme.type + "'" + throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) + } +} + + /** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ + ;(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory) + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like environments that support module.exports, + * like Node. + */ + module.exports = factory() + } else { + // Browser globals (root is window) + root.lunr = factory() + } + }(this, function () { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + return lunr + })) +})(); diff --git a/search/main.js b/search/main.js new file mode 100644 index 00000000..a5e469d7 --- /dev/null +++ b/search/main.js @@ -0,0 +1,109 @@ +function getSearchTermFromLocation() { + var sPageURL = window.location.search.substring(1); + var sURLVariables = sPageURL.split('&'); + for (var i = 0; i < sURLVariables.length; i++) { + var sParameterName = sURLVariables[i].split('='); + if (sParameterName[0] == 'q') { + return decodeURIComponent(sParameterName[1].replace(/\+/g, '%20')); + } + } +} + +function joinUrl (base, path) { + if (path.substring(0, 1) === "/") { + // path starts with `/`. Thus it is absolute. + return path; + } + if (base.substring(base.length-1) === "/") { + // base ends with `/` + return base + path; + } + return base + "/" + path; +} + +function escapeHtml (value) { + return value.replace(/&/g, '&') + .replace(/"/g, '"') + .replace(//g, '>'); +} + +function formatResult (location, title, summary) { + return ''; +} + +function displayResults (results) { + var search_results = document.getElementById("mkdocs-search-results"); + while (search_results.firstChild) { + search_results.removeChild(search_results.firstChild); + } + if (results.length > 0){ + for (var i=0; i < results.length; i++){ + var result = results[i]; + var html = formatResult(result.location, result.title, result.summary); + search_results.insertAdjacentHTML('beforeend', html); + } + } else { + var noResultsText = search_results.getAttribute('data-no-results-text'); + if (!noResultsText) { + noResultsText = "No results found"; + } + search_results.insertAdjacentHTML('beforeend', '

' + noResultsText + '

'); + } +} + +function doSearch () { + var query = document.getElementById('mkdocs-search-query').value; + if (query.length > min_search_length) { + if (!window.Worker) { + displayResults(search(query)); + } else { + searchWorker.postMessage({query: query}); + } + } else { + // Clear results for short queries + displayResults([]); + } +} + +function initSearch () { + var search_input = document.getElementById('mkdocs-search-query'); + if (search_input) { + search_input.addEventListener("keyup", doSearch); + } + var term = getSearchTermFromLocation(); + if (term) { + search_input.value = term; + doSearch(); + } +} + +function onWorkerMessage (e) { + if (e.data.allowSearch) { + initSearch(); + } else if (e.data.results) { + var results = e.data.results; + displayResults(results); + } else if (e.data.config) { + min_search_length = e.data.config.min_search_length-1; + } +} + +if (!window.Worker) { + console.log('Web Worker API not supported'); + // load index in main thread + $.getScript(joinUrl(base_url, "search/worker.js")).done(function () { + console.log('Loaded worker'); + init(); + window.postMessage = function (msg) { + onWorkerMessage({data: msg}); + }; + }).fail(function (jqxhr, settings, exception) { + console.error('Could not load worker.js'); + }); +} else { + // Wrap search in a web worker + var searchWorker = new Worker(joinUrl(base_url, "search/worker.js")); + searchWorker.postMessage({init: true}); + searchWorker.onmessage = onWorkerMessage; +} diff --git a/search/search_index.json b/search/search_index.json new file mode 100644 index 00000000..35507f14 --- /dev/null +++ b/search/search_index.json @@ -0,0 +1 @@ +{"config":{"indexing":"full","lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"ebcc: Coupled cluster calculations on electron-boson systems The ebcc package implements various coupled cluster (CC) models for both purely electronic and coupled electron-boson models, with a focus on generality and model extensibility. For a summary of the implemented models, see the FEATURES.md file. Installation From PyPI: pip install ebcc From source: git clone https://github.com/BoothGroup/ebcc pip install . Usage The implemented models are built upon the mean-field objects of pyscf : from pyscf import gto, scf from ebcc import EBCC mol = gto.M(atom=\"H 0 0 0; H 0 0 1\", basis=\"cc-pvdz\") mf = scf.RHF(mol) mf.kernel() ccsd = EBCC(mf, ansatz=\"CCSD\") ccsd.kernel() Code generation The models implemented are generated algorithmically from expressions over second quantized operators. The scripts for generating these models are found in the codegen directory on the bootstrap branch. User-inputted models should operate seamlessly with the solvers by adding files under ebcc/codegen , so long as they satisfy the interface.","title":"Home"},{"location":"#ebcc-coupled-cluster-calculations-on-electron-boson-systems","text":"The ebcc package implements various coupled cluster (CC) models for both purely electronic and coupled electron-boson models, with a focus on generality and model extensibility. For a summary of the implemented models, see the FEATURES.md file.","title":"ebcc: Coupled cluster calculations on electron-boson systems"},{"location":"#installation","text":"From PyPI: pip install ebcc From source: git clone https://github.com/BoothGroup/ebcc pip install .","title":"Installation"},{"location":"#usage","text":"The implemented models are built upon the mean-field objects of pyscf : from pyscf import gto, scf from ebcc import EBCC mol = gto.M(atom=\"H 0 0 0; H 0 0 1\", basis=\"cc-pvdz\") mf = scf.RHF(mol) mf.kernel() ccsd = EBCC(mf, ansatz=\"CCSD\") ccsd.kernel()","title":"Usage"},{"location":"#code-generation","text":"The models implemented are generated algorithmically from expressions over second quantized operators. The scripts for generating these models are found in the codegen directory on the bootstrap branch. User-inputted models should operate seamlessly with the solvers by adding files under ebcc/codegen , so long as they satisfy the interface.","title":"Code generation"},{"location":"features/","text":"Coupled cluster calculations using a wide range of ansatzes, as summarised below Lambda equation solver Equation-of-motion solver Density matrices Frozen and active space constraints Brueckner orbital calculations Frozen natural orbital calculations Single- and mixed-precision calculations The following table summarises the available methods and routines for the ansatz currently treated by code generation, in the three spin cases: Ansatz E T \u039b IP EA EE DM1 DM2 BDM MP2 RUG - - RUG RUG G RUG RUG - MP3 RUG - CCD RUG RUG RUG RUG RUG G RUG RUG - CCSD RUG RUG RUG RUG RUG G RUG RUG - CCSDT RUG RUG RUG RUG RUG - CCSDTQ g g - CCSD(T) RuG RuG - CCSDt RG RG - CCSDt' RUG RUG - CC2 RUG RUG RUG RUG RUG G RUG RUG - CC3 RUG RUG - QCISD RUG RUG - DCD RU RU - DCSD RU RU - DF-CCD RU RU RU RU RU RU RU - DF-CCSD RU RU RU RU RU RU RU - DF-CC2 RU RU RU RU RU RU RU - DF-QCISD RU RU - DF-DCD RU RU - DF-DCSD RU RU - CCSD-S-1-1 RUG RUG RUG RUG RUG RUG CCSD-SD-1-1 RUG RUG RUG RUG RUG RUG CCSD-SD-1-2 RUG RUG RUG RUG RUG RUG R, U, G indicate availability of restricted, unrestricted, and generalised codes. Capital letters (R rather than r) indicates that the expressions are optimised for contraction order and subexpression elimination. DF in the ansatz name indicates methods specialised for density-fitted integrals. E is the correlation energy. T, \u039b are the excitation and de-excitation amplitude availabilities, respectively, the former allowing the coupled cluster solver and the latter allowing the lambda solver. IP, EA, EE indicate availability of the corresponding equation of motion (EOM) functionalities. DM1, DM2 indicate availability of the one- and two-particle reduced density matrices. BDM availability includes the single boson density matrix, bosonic one-particle reduced density matrix, and the electron-boson coupling reduced density matrix.","title":"Features"},{"location":"reference/","text":"ebcc: Coupled cluster calculations on electron-boson systems The ebcc package implements various coupled cluster (CC) models for application to electron-boson systems, with a focus on generality and model extensibility. Installation From the python package index: pip install ebcc From source: git clone https://github.com/BoothGroup/ebcc pip install . Usage The implemented models are built upon the mean-field objects of PySCF _: from pyscf import gto, scf from ebcc import EBCC mol = gto.M(atom=\"H 0 0 0; H 0 0 1\", basis=\"cc-pvdz\") mf = scf.RHF(mol) mf.kernel() ccsd = EBCC(mf) ccsd.kernel() ebcc . __version__ = '1.5.0' module-attribute List of supported ansatz types. ebcc . EBCC ( mf , * args , ** kwargs ) Construct an EBCC object for the given mean-field object. Source code in ebcc/__init__.py 77 78 79 80 81 82 83 84 85 86 def EBCC ( mf : SCF , * args : Any , ** kwargs : Any ) -> BaseEBCC : \"\"\"Construct an EBCC object for the given mean-field object.\"\"\" from pyscf import scf if isinstance ( mf , scf . uhf . UHF ): return UEBCC ( mf , * args , ** kwargs ) elif isinstance ( mf , scf . ghf . GHF ): return GEBCC ( mf , * args , ** kwargs ) else : return REBCC ( mf , * args , ** kwargs ) ebcc . available_models ( verbose = True ) List available coupled-cluster models for each spin type. Source code in ebcc/__init__.py 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 def available_models ( verbose : bool = True , ) -> tuple [ tuple [ str , ... ], tuple [ str , ... ], tuple [ str , ... ]]: # pragma: no cover \"\"\"List available coupled-cluster models for each spin type.\"\"\" cd = os . path . dirname ( os . path . realpath ( __file__ )) path = os . path . join ( cd , \"codegen\" ) _ , _ , files = list ( os . walk ( path ))[ 0 ] rhf = [] uhf = [] ghf = [] for f in files : if f . endswith ( \".py\" ): f = f . rstrip ( \".py\" ) f = f . replace ( \"_\" , \"-\" ) if f . startswith ( \"RCC\" ): rhf . append ( f ) elif f . startswith ( \"UCC\" ): uhf . append ( f ) elif f . startswith ( \"GCC\" ): ghf . append ( f ) rhf = sorted ( rhf ) uhf = sorted ( uhf ) ghf = sorted ( ghf ) if verbose : sys . stderr . write ( \"RHF: \\n %s \\n \" % \", \" . join ( rhf )) sys . stderr . write ( \"UHF: \\n %s \\n \" % \", \" . join ( uhf )) sys . stderr . write ( \"GHF: \\n %s \\n \" % \", \" . join ( ghf )) return tuple ( rhf ), tuple ( uhf ), tuple ( ghf )","title":"Index"},{"location":"reference/#ebcc--installation","text":"From the python package index: pip install ebcc From source: git clone https://github.com/BoothGroup/ebcc pip install .","title":"Installation"},{"location":"reference/#ebcc--usage","text":"The implemented models are built upon the mean-field objects of PySCF _: from pyscf import gto, scf from ebcc import EBCC mol = gto.M(atom=\"H 0 0 0; H 0 0 1\", basis=\"cc-pvdz\") mf = scf.RHF(mol) mf.kernel() ccsd = EBCC(mf) ccsd.kernel()","title":"Usage"},{"location":"reference/#ebcc.__version__","text":"List of supported ansatz types.","title":"__version__"},{"location":"reference/#ebcc.EBCC","text":"Construct an EBCC object for the given mean-field object. Source code in ebcc/__init__.py 77 78 79 80 81 82 83 84 85 86 def EBCC ( mf : SCF , * args : Any , ** kwargs : Any ) -> BaseEBCC : \"\"\"Construct an EBCC object for the given mean-field object.\"\"\" from pyscf import scf if isinstance ( mf , scf . uhf . UHF ): return UEBCC ( mf , * args , ** kwargs ) elif isinstance ( mf , scf . ghf . GHF ): return GEBCC ( mf , * args , ** kwargs ) else : return REBCC ( mf , * args , ** kwargs )","title":"EBCC"},{"location":"reference/#ebcc.available_models","text":"List available coupled-cluster models for each spin type. Source code in ebcc/__init__.py 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 def available_models ( verbose : bool = True , ) -> tuple [ tuple [ str , ... ], tuple [ str , ... ], tuple [ str , ... ]]: # pragma: no cover \"\"\"List available coupled-cluster models for each spin type.\"\"\" cd = os . path . dirname ( os . path . realpath ( __file__ )) path = os . path . join ( cd , \"codegen\" ) _ , _ , files = list ( os . walk ( path ))[ 0 ] rhf = [] uhf = [] ghf = [] for f in files : if f . endswith ( \".py\" ): f = f . rstrip ( \".py\" ) f = f . replace ( \"_\" , \"-\" ) if f . startswith ( \"RCC\" ): rhf . append ( f ) elif f . startswith ( \"UCC\" ): uhf . append ( f ) elif f . startswith ( \"GCC\" ): ghf . append ( f ) rhf = sorted ( rhf ) uhf = sorted ( uhf ) ghf = sorted ( ghf ) if verbose : sys . stderr . write ( \"RHF: \\n %s \\n \" % \", \" . join ( rhf )) sys . stderr . write ( \"UHF: \\n %s \\n \" % \", \" . join ( uhf )) sys . stderr . write ( \"GHF: \\n %s \\n \" % \", \" . join ( ghf )) return tuple ( rhf ), tuple ( uhf ), tuple ( ghf )","title":"available_models"},{"location":"reference/backend/","text":"Backend for NumPy operations. Notes Currently, the following backends are supported: - NumPy - CuPy - TensorFlow - JAX - CTF (Cyclops Tensor Framework) Non-NumPy backends are only lightly supported. Some functionality may not be available, and only minimal tests are performed. Some operations that require interaction with NumPy such as the PySCF interfaces may not be efficient, due to the need to convert between NumPy and the backend array types. ebcc . backend . __getattr__ ( name ) Get the backend module. Source code in ebcc/backend/__init__.py 47 48 49 def __getattr__ ( name : str ) -> ModuleType : \"\"\"Get the backend module.\"\"\" return importlib . import_module ( f \"ebcc.backend._ { BACKEND . lower () } \" ) ebcc . backend . ensure_scalar ( obj ) Ensure that an object is a scalar. Parameters: obj ( Union [ T , NDArray [ T ]] ) \u2013 Object to ensure is a scalar. Returns: T \u2013 Scalar object. Source code in ebcc/backend/__init__.py 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 def ensure_scalar ( obj : Union [ T , NDArray [ T ]]) -> T : \"\"\"Ensure that an object is a scalar. Args: obj: Object to ensure is a scalar. Returns: Scalar object. \"\"\" if BACKEND in ( \"numpy\" , \"cupy\" , \"jax\" ): return np . asarray ( obj ) . item () # type: ignore elif BACKEND == \"tensorflow\" : if isinstance ( obj , tf . Tensor ): return obj . numpy () . item () # type: ignore return obj # type: ignore elif BACKEND in ( \"ctf\" , \"cyclops\" ): if isinstance ( obj , ctf . tensor ): return obj . to_nparray () . item () # type: ignore return obj # type: ignore else : raise NotImplementedError ( f \"`ensure_scalar` not implemented for backend { BACKEND } .\" ) ebcc . backend . to_numpy ( array , dtype = None ) Convert an array to NumPy. Parameters: array ( NDArray [ T ] ) \u2013 Array to convert. dtype ( Optional [ type [ generic ]] , default: None ) \u2013 Data type to convert to. Returns: NDArray [ T ] \u2013 Array in NumPy format. Notes This function does not guarantee a copy of the array. Source code in ebcc/backend/__init__.py 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 def to_numpy ( array : NDArray [ T ], dtype : Optional [ type [ generic ]] = None ) -> NDArray [ T ]: \"\"\"Convert an array to NumPy. Args: array: Array to convert. dtype: Data type to convert to. Returns: Array in NumPy format. Notes: This function does not guarantee a copy of the array. \"\"\" if BACKEND == \"numpy\" : ndarray = array elif BACKEND == \"cupy\" : ndarray = np . asnumpy ( array ) # type: ignore elif BACKEND == \"jax\" : ndarray = np . array ( array ) # type: ignore elif BACKEND == \"tensorflow\" : ndarray = array . numpy () # type: ignore elif BACKEND in ( \"ctf\" , \"cyclops\" ): ndarray = array . to_nparray () # type: ignore else : raise NotImplementedError ( f \"`to_numpy` not implemented for backend { BACKEND } .\" ) if dtype is not None and ndarray . dtype != dtype : ndarray = ndarray . astype ( dtype ) return ndarray","title":"Index"},{"location":"reference/backend/#ebcc.backend.__getattr__","text":"Get the backend module. Source code in ebcc/backend/__init__.py 47 48 49 def __getattr__ ( name : str ) -> ModuleType : \"\"\"Get the backend module.\"\"\" return importlib . import_module ( f \"ebcc.backend._ { BACKEND . lower () } \" )","title":"__getattr__"},{"location":"reference/backend/#ebcc.backend.ensure_scalar","text":"Ensure that an object is a scalar. Parameters: obj ( Union [ T , NDArray [ T ]] ) \u2013 Object to ensure is a scalar. Returns: T \u2013 Scalar object. Source code in ebcc/backend/__init__.py 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 def ensure_scalar ( obj : Union [ T , NDArray [ T ]]) -> T : \"\"\"Ensure that an object is a scalar. Args: obj: Object to ensure is a scalar. Returns: Scalar object. \"\"\" if BACKEND in ( \"numpy\" , \"cupy\" , \"jax\" ): return np . asarray ( obj ) . item () # type: ignore elif BACKEND == \"tensorflow\" : if isinstance ( obj , tf . Tensor ): return obj . numpy () . item () # type: ignore return obj # type: ignore elif BACKEND in ( \"ctf\" , \"cyclops\" ): if isinstance ( obj , ctf . tensor ): return obj . to_nparray () . item () # type: ignore return obj # type: ignore else : raise NotImplementedError ( f \"`ensure_scalar` not implemented for backend { BACKEND } .\" )","title":"ensure_scalar"},{"location":"reference/backend/#ebcc.backend.to_numpy","text":"Convert an array to NumPy. Parameters: array ( NDArray [ T ] ) \u2013 Array to convert. dtype ( Optional [ type [ generic ]] , default: None ) \u2013 Data type to convert to. Returns: NDArray [ T ] \u2013 Array in NumPy format. Notes This function does not guarantee a copy of the array. Source code in ebcc/backend/__init__.py 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 def to_numpy ( array : NDArray [ T ], dtype : Optional [ type [ generic ]] = None ) -> NDArray [ T ]: \"\"\"Convert an array to NumPy. Args: array: Array to convert. dtype: Data type to convert to. Returns: Array in NumPy format. Notes: This function does not guarantee a copy of the array. \"\"\" if BACKEND == \"numpy\" : ndarray = array elif BACKEND == \"cupy\" : ndarray = np . asnumpy ( array ) # type: ignore elif BACKEND == \"jax\" : ndarray = np . array ( array ) # type: ignore elif BACKEND == \"tensorflow\" : ndarray = array . numpy () # type: ignore elif BACKEND in ( \"ctf\" , \"cyclops\" ): ndarray = array . to_nparray () # type: ignore else : raise NotImplementedError ( f \"`to_numpy` not implemented for backend { BACKEND } .\" ) if dtype is not None and ndarray . dtype != dtype : ndarray = ndarray . astype ( dtype ) return ndarray","title":"to_numpy"},{"location":"reference/backend/_ctf/","text":"Cyclops Tensor Framework backend. ebcc.backend._ctf.FakeLinalg Fake linalg module for CTF. ebcc . backend . _ctf . FakeLinalg . __getattr__ ( name ) Get the attribute from CTF's linalg module. Source code in ebcc/backend/_ctf.py 17 18 19 def __getattr__ ( self , name ): \"\"\"Get the attribute from CTF's linalg module.\"\"\" return getattr ( ctf . linalg , name ) ebcc . backend . _ctf . __getattr__ ( name ) Get the attribute from CTF. Source code in ebcc/backend/_ctf.py 9 10 11 def __getattr__ ( name ): \"\"\"Get the attribute from CTF.\"\"\" return getattr ( ctf , name ) ebcc . backend . _ctf . einsum ( * args , optimize = True , ** kwargs ) Evaluate an einsum expression. Source code in ebcc/backend/_ctf.py 126 127 128 129 130 131 def einsum ( * args , optimize = True , ** kwargs ): \"\"\"Evaluate an einsum expression.\"\"\" # FIXME This shouldn't be called, except via `util.einsum`, which should have already # optimised the expression. We should check if this contraction has more than # two tensors and if so, raise an error. return ctf . einsum ( * args , ** kwargs ) ebcc . backend . _ctf . einsum_path ( * args , ** kwargs ) Evaluate the lowest cost contraction order for an einsum expression. Source code in ebcc/backend/_ctf.py 134 135 136 137 138 139 def einsum_path ( * args , ** kwargs ): \"\"\"Evaluate the lowest cost contraction order for an einsum expression.\"\"\" kwargs = dict ( kwargs ) if kwargs . get ( \"optimize\" , True ) is True : kwargs [ \"optimize\" ] = \"optimal\" return opt_einsum . contract_path ( * args , ** kwargs )","title":" ctf"},{"location":"reference/backend/_ctf/#ebcc.backend._ctf.FakeLinalg","text":"Fake linalg module for CTF.","title":"FakeLinalg"},{"location":"reference/backend/_ctf/#ebcc.backend._ctf.FakeLinalg.__getattr__","text":"Get the attribute from CTF's linalg module. Source code in ebcc/backend/_ctf.py 17 18 19 def __getattr__ ( self , name ): \"\"\"Get the attribute from CTF's linalg module.\"\"\" return getattr ( ctf . linalg , name )","title":"__getattr__"},{"location":"reference/backend/_ctf/#ebcc.backend._ctf.__getattr__","text":"Get the attribute from CTF. Source code in ebcc/backend/_ctf.py 9 10 11 def __getattr__ ( name ): \"\"\"Get the attribute from CTF.\"\"\" return getattr ( ctf , name )","title":"__getattr__"},{"location":"reference/backend/_ctf/#ebcc.backend._ctf.einsum","text":"Evaluate an einsum expression. Source code in ebcc/backend/_ctf.py 126 127 128 129 130 131 def einsum ( * args , optimize = True , ** kwargs ): \"\"\"Evaluate an einsum expression.\"\"\" # FIXME This shouldn't be called, except via `util.einsum`, which should have already # optimised the expression. We should check if this contraction has more than # two tensors and if so, raise an error. return ctf . einsum ( * args , ** kwargs )","title":"einsum"},{"location":"reference/backend/_ctf/#ebcc.backend._ctf.einsum_path","text":"Evaluate the lowest cost contraction order for an einsum expression. Source code in ebcc/backend/_ctf.py 134 135 136 137 138 139 def einsum_path ( * args , ** kwargs ): \"\"\"Evaluate the lowest cost contraction order for an einsum expression.\"\"\" kwargs = dict ( kwargs ) if kwargs . get ( \"optimize\" , True ) is True : kwargs [ \"optimize\" ] = \"optimal\" return opt_einsum . contract_path ( * args , ** kwargs )","title":"einsum_path"},{"location":"reference/backend/_cupy/","text":"CuPy backend. ebcc . backend . _cupy . __getattr__ ( name ) Get the attribute from CuPy. Source code in ebcc/backend/_cupy.py 8 9 10 def __getattr__ ( name ): \"\"\"Get the attribute from CuPy.\"\"\" return getattr ( cupy , name ) ebcc . backend . _cupy . einsum_path ( * args , ** kwargs ) Evaluate the lowest cost contraction order for an einsum expression. Source code in ebcc/backend/_cupy.py 13 14 15 16 17 18 def einsum_path ( * args , ** kwargs ): \"\"\"Evaluate the lowest cost contraction order for an einsum expression.\"\"\" kwargs = dict ( kwargs ) if kwargs . get ( \"optimize\" , True ) is True : kwargs [ \"optimize\" ] = \"optimal\" return opt_einsum . contract_path ( * args , ** kwargs )","title":" cupy"},{"location":"reference/backend/_cupy/#ebcc.backend._cupy.__getattr__","text":"Get the attribute from CuPy. Source code in ebcc/backend/_cupy.py 8 9 10 def __getattr__ ( name ): \"\"\"Get the attribute from CuPy.\"\"\" return getattr ( cupy , name )","title":"__getattr__"},{"location":"reference/backend/_cupy/#ebcc.backend._cupy.einsum_path","text":"Evaluate the lowest cost contraction order for an einsum expression. Source code in ebcc/backend/_cupy.py 13 14 15 16 17 18 def einsum_path ( * args , ** kwargs ): \"\"\"Evaluate the lowest cost contraction order for an einsum expression.\"\"\" kwargs = dict ( kwargs ) if kwargs . get ( \"optimize\" , True ) is True : kwargs [ \"optimize\" ] = \"optimal\" return opt_einsum . contract_path ( * args , ** kwargs )","title":"einsum_path"},{"location":"reference/backend/_jax/","text":"JAX backend. ebcc . backend . _jax . __getattr__ ( name ) Get the attribute from the NumPy drop-in. Source code in ebcc/backend/_jax.py 11 12 13 def __getattr__ ( name ): \"\"\"Get the attribute from the NumPy drop-in.\"\"\" return getattr ( jax . numpy , name ) ebcc . backend . _jax . einsum_path ( * args , ** kwargs ) Evaluate the lowest cost contraction order for an einsum expression. Source code in ebcc/backend/_jax.py 28 29 30 31 32 33 def einsum_path ( * args , ** kwargs ): \"\"\"Evaluate the lowest cost contraction order for an einsum expression.\"\"\" kwargs = dict ( kwargs ) if kwargs . get ( \"optimize\" , True ) is True : kwargs [ \"optimize\" ] = \"optimal\" return opt_einsum . contract_path ( * args , ** kwargs )","title":" jax"},{"location":"reference/backend/_jax/#ebcc.backend._jax.__getattr__","text":"Get the attribute from the NumPy drop-in. Source code in ebcc/backend/_jax.py 11 12 13 def __getattr__ ( name ): \"\"\"Get the attribute from the NumPy drop-in.\"\"\" return getattr ( jax . numpy , name )","title":"__getattr__"},{"location":"reference/backend/_jax/#ebcc.backend._jax.einsum_path","text":"Evaluate the lowest cost contraction order for an einsum expression. Source code in ebcc/backend/_jax.py 28 29 30 31 32 33 def einsum_path ( * args , ** kwargs ): \"\"\"Evaluate the lowest cost contraction order for an einsum expression.\"\"\" kwargs = dict ( kwargs ) if kwargs . get ( \"optimize\" , True ) is True : kwargs [ \"optimize\" ] = \"optimal\" return opt_einsum . contract_path ( * args , ** kwargs )","title":"einsum_path"},{"location":"reference/backend/_numpy/","text":"NumPy backend. ebcc . backend . _numpy . __getattr__ ( name ) Get the attribute from NumPy. Source code in ebcc/backend/_numpy.py 14 15 16 def __getattr__ ( name : str ) -> object : \"\"\"Get the attribute from NumPy.\"\"\" return getattr ( numpy , name ) ebcc . backend . _numpy . astype ( obj , dtype ) Cast the array to the specified type. Parameters: obj ( NDArray [ generic ] ) \u2013 The array to cast. dtype ( type [ generic ] ) \u2013 The type to cast the array to. Returns: NDArray [ generic ] \u2013 The array cast to the specified type. Note This function is part of the array API in NumPy 2.1.0, and this function is for backward compatibility. Source code in ebcc/backend/_numpy.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 def astype ( obj : NDArray [ generic ], dtype : type [ generic ]) -> NDArray [ generic ]: \"\"\"Cast the array to the specified type. Args: obj: The array to cast. dtype: The type to cast the array to. Returns: The array cast to the specified type. Note: This function is part of the array API in NumPy 2.1.0, and this function is for backward compatibility. \"\"\" return obj . astype ( dtype )","title":" numpy"},{"location":"reference/backend/_numpy/#ebcc.backend._numpy.__getattr__","text":"Get the attribute from NumPy. Source code in ebcc/backend/_numpy.py 14 15 16 def __getattr__ ( name : str ) -> object : \"\"\"Get the attribute from NumPy.\"\"\" return getattr ( numpy , name )","title":"__getattr__"},{"location":"reference/backend/_numpy/#ebcc.backend._numpy.astype","text":"Cast the array to the specified type. Parameters: obj ( NDArray [ generic ] ) \u2013 The array to cast. dtype ( type [ generic ] ) \u2013 The type to cast the array to. Returns: NDArray [ generic ] \u2013 The array cast to the specified type. Note This function is part of the array API in NumPy 2.1.0, and this function is for backward compatibility. Source code in ebcc/backend/_numpy.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 def astype ( obj : NDArray [ generic ], dtype : type [ generic ]) -> NDArray [ generic ]: \"\"\"Cast the array to the specified type. Args: obj: The array to cast. dtype: The type to cast the array to. Returns: The array cast to the specified type. Note: This function is part of the array API in NumPy 2.1.0, and this function is for backward compatibility. \"\"\" return obj . astype ( dtype )","title":"astype"},{"location":"reference/backend/_tensorflow/","text":"TensorFlow backend. ebcc . backend . _tensorflow . __getattr__ ( name ) Get the attribute from the NumPy drop-in. Source code in ebcc/backend/_tensorflow.py 11 12 13 14 15 def __getattr__ ( name ): \"\"\"Get the attribute from the NumPy drop-in.\"\"\" if name == \"linalg\" : return tf . linalg return getattr ( tensorflow . experimental . numpy , name ) ebcc . backend . _tensorflow . einsum_path ( * args , ** kwargs ) Evaluate the lowest cost contraction order for an einsum expression. Source code in ebcc/backend/_tensorflow.py 73 74 75 76 77 78 def einsum_path ( * args , ** kwargs ): \"\"\"Evaluate the lowest cost contraction order for an einsum expression.\"\"\" kwargs = dict ( kwargs ) if kwargs . get ( \"optimize\" , True ) is True : kwargs [ \"optimize\" ] = \"optimal\" return opt_einsum . contract_path ( * args , ** kwargs )","title":" tensorflow"},{"location":"reference/backend/_tensorflow/#ebcc.backend._tensorflow.__getattr__","text":"Get the attribute from the NumPy drop-in. Source code in ebcc/backend/_tensorflow.py 11 12 13 14 15 def __getattr__ ( name ): \"\"\"Get the attribute from the NumPy drop-in.\"\"\" if name == \"linalg\" : return tf . linalg return getattr ( tensorflow . experimental . numpy , name )","title":"__getattr__"},{"location":"reference/backend/_tensorflow/#ebcc.backend._tensorflow.einsum_path","text":"Evaluate the lowest cost contraction order for an einsum expression. Source code in ebcc/backend/_tensorflow.py 73 74 75 76 77 78 def einsum_path ( * args , ** kwargs ): \"\"\"Evaluate the lowest cost contraction order for an einsum expression.\"\"\" kwargs = dict ( kwargs ) if kwargs . get ( \"optimize\" , True ) is True : kwargs [ \"optimize\" ] = \"optimal\" return opt_einsum . contract_path ( * args , ** kwargs )","title":"einsum_path"},{"location":"reference/cc/","text":"Coupled cluster solvers.","title":"Index"},{"location":"reference/cc/base/","text":"Base classes for ebcc.cc . ebcc . cc . base . T = float64 module-attribute Defines the type for the eris argument in functions. ebcc . cc . base . ERIsInputType = Any module-attribute Defines the type for arrays, including spin labels. ebcc . cc . base . SpinArrayType = Any module-attribute Defines the type for the spaces, including spin labels. ebcc . cc . base . BaseOptions ( e_tol = 1e-08 , t_tol = 1e-08 , max_iter = 200 , diis_space = 9 , diis_min_space = 1 , damping = 0.0 , shift = True ) dataclass Bases: _BaseOptions Options for EBCC calculations. Parameters: e_tol ( float , default: 1e-08 ) \u2013 Threshold for convergence in the correlation energy. t_tol ( float , default: 1e-08 ) \u2013 Threshold for convergence in the amplitude norm. max_iter ( int , default: 200 ) \u2013 Maximum number of iterations. diis_space ( int , default: 9 ) \u2013 Number of amplitudes to use in DIIS extrapolation. diis_min_space ( int , default: 1 ) \u2013 Minimum number of amplitudes to use in DIIS extrapolation. damping ( float , default: 0.0 ) \u2013 Damping factor for DIIS extrapolation. shift ( bool , default: True ) \u2013 Shift the boson operators such that the Hamiltonian is normal-ordered with respect to a coherent state. This removes the bosonic coupling to the static mean-field density, introducing a constant energy shift. ebcc . cc . base . BaseEBCC ( mf , log = None , ansatz = 'CCSD' , options = None , space = None , omega = None , g = None , G = None , mo_coeff = None , mo_occ = None , fock = None , ** kwargs ) Bases: ABC Base class for electron-boson coupled cluster. Initialise the EBCC object. Parameters: mf ( SCF ) \u2013 PySCF mean-field object. log ( Optional [ Logger ] , default: None ) \u2013 Log to write output to. Default is the global logger, outputting to stderr . ansatz ( Optional [ Union [ Ansatz , str ]] , default: 'CCSD' ) \u2013 Overall ansatz. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EBCC calculation. space ( Optional [ SpaceType ] , default: None ) \u2013 Space containing the frozen, correlated, and active fermionic spaces. Default assumes all electrons are correlated. omega ( Optional [ NDArray [ T ]] , default: None ) \u2013 Bosonic frequencies. g ( Optional [ NDArray [ T ]] , default: None ) \u2013 Electron-boson coupling matrix corresponding to the bosonic annihilation operator :math: g_{bpq} p^\\dagger q b . The creation part is assumed to be the fermionic conjugate transpose to retain Hermiticity in the Hamiltonian. G ( Optional [ NDArray [ T ]] , default: None ) \u2013 Boson non-conserving term :math: G_{b} (b^\\dagger + b) . mo_coeff ( Optional [ NDArray [ T ]] , default: None ) \u2013 Molecular orbital coefficients. Default is the mean-field coefficients. mo_occ ( Optional [ NDArray [ T ]] , default: None ) \u2013 Molecular orbital occupation numbers. Default is the mean-field occupation. fock ( Optional [ BaseFock ] , default: None ) \u2013 Fock matrix. Default is the mean-field Fock matrix. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/cc/base.py 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 def __init__ ( self , mf : SCF , log : Optional [ Logger ] = None , ansatz : Optional [ Union [ Ansatz , str ]] = \"CCSD\" , options : Optional [ BaseOptions ] = None , space : Optional [ SpaceType ] = None , omega : Optional [ NDArray [ T ]] = None , g : Optional [ NDArray [ T ]] = None , G : Optional [ NDArray [ T ]] = None , mo_coeff : Optional [ NDArray [ T ]] = None , mo_occ : Optional [ NDArray [ T ]] = None , fock : Optional [ BaseFock ] = None , ** kwargs : Any , ) -> None : r \"\"\"Initialise the EBCC object. Args: mf: PySCF mean-field object. log: Log to write output to. Default is the global logger, outputting to `stderr`. ansatz: Overall ansatz. options: Options for the EBCC calculation. space: Space containing the frozen, correlated, and active fermionic spaces. Default assumes all electrons are correlated. omega: Bosonic frequencies. g: Electron-boson coupling matrix corresponding to the bosonic annihilation operator :math:`g_{bpq} p^\\dagger q b`. The creation part is assumed to be the fermionic conjugate transpose to retain Hermiticity in the Hamiltonian. G: Boson non-conserving term :math:`G_{b} (b^\\dagger + b)`. mo_coeff: Molecular orbital coefficients. Default is the mean-field coefficients. mo_occ: Molecular orbital occupation numbers. Default is the mean-field occupation. fock: Fock matrix. Default is the mean-field Fock matrix. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . log = default_log if log is None else log self . mf = self . _convert_mf ( mf ) self . _mo_coeff : Optional [ NDArray [ T ]] = ( np . asarray ( mo_coeff , dtype = types [ float ]) if mo_coeff is not None else None ) self . _mo_occ : Optional [ NDArray [ T ]] = ( np . asarray ( mo_occ , dtype = types [ float ]) if mo_occ is not None else None ) # Ansatz: if isinstance ( ansatz , Ansatz ): self . ansatz = ansatz elif isinstance ( ansatz , str ): self . ansatz = Ansatz . from_string ( ansatz , density_fitting = getattr ( self . mf , \"with_df\" , None ) is not None ) else : raise TypeError ( \"ansatz must be an Ansatz object or a string.\" ) self . _eqns = self . ansatz . _get_eqns ( self . spin_type ) # Space: if space is not None : self . space = space else : self . space = self . init_space () # Boson parameters: if bool ( self . fermion_coupling_rank ) != bool ( self . boson_coupling_rank ): raise ValueError ( \"Fermionic and bosonic coupling ranks must both be zero, or both non-zero.\" ) self . omega = np . asarray ( omega , dtype = types [ float ]) if omega is not None else None self . bare_g = np . asarray ( g , dtype = types [ float ]) if g is not None else None self . bare_G = np . asarray ( G , dtype = types [ float ]) if G is not None else None if self . boson_ansatz != \"\" : self . g = self . get_g () self . G = self . get_mean_field_G () if self . options . shift : self . log . info ( \" > Energy shift due to polaritonic basis: %.10f \" , self . const ) else : assert self . nbos == 0 self . options . shift = False self . g = None self . G = None # Fock matrix: if fock is None : self . fock = self . get_fock () else : self . fock = fock # Attributes: self . e_corr = 0.0 self . amplitudes = util . Namespace () self . converged = False self . lambdas = util . Namespace () self . converged_lambda = False # Logging: init_logging ( self . log ) 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 \" > 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 \" > diis_min_space: { ANSI . y }{ self . options . diis_min_space }{ ANSI . R } \" ) self . log . info ( f \" > damping: { ANSI . y }{ self . options . damping }{ ANSI . R } \" ) self . log . debug ( \"\" ) self . log . info ( f \" { ANSI . B } Ansatz { ANSI . R } : { ANSI . m }{ self . ansatz }{ ANSI . R } \" ) self . log . debug ( \"\" ) self . log . info ( f \" { ANSI . B } Space { ANSI . R } : { ANSI . m }{ self . space }{ ANSI . R } \" ) self . log . debug ( \"\" ) ebcc . cc . base . BaseEBCC . spin_type : str abstractmethod property Get a string representation of the spin type. ebcc . cc . base . BaseEBCC . name : str property Get the name of the method. ebcc . cc . base . BaseEBCC . fermion_ansatz : str property Get a string representation of the fermion ansatz. ebcc . cc . base . BaseEBCC . boson_ansatz : str property Get a string representation of the boson ansatz. ebcc . cc . base . BaseEBCC . fermion_coupling_rank : int property Get an integer representation of the fermion coupling rank. ebcc . cc . base . BaseEBCC . boson_coupling_rank : int property Get an integer representation of the boson coupling rank. ebcc . cc . base . BaseEBCC . bare_fock : Any abstractmethod property Get the mean-field Fock matrix in the MO basis, including frozen parts. Returns an array and not a BaseFock object. Returns: Any \u2013 Mean-field Fock matrix. ebcc . cc . base . BaseEBCC . xi : NDArray [ T ] abstractmethod property Get the shift in the bosonic operators to diagonalise the photon Hamiltonian. Returns: NDArray [ T ] \u2013 Shift in the bosonic operators. ebcc . cc . base . BaseEBCC . const : float property Get the shift in energy from moving to the polaritonic basis. Returns: float \u2013 Constant energy shift due to the polaritonic basis. ebcc . cc . base . BaseEBCC . mo_coeff : NDArray [ T ] property Get the molecular orbital coefficients. Returns: NDArray [ T ] \u2013 Molecular orbital coefficients. ebcc . cc . base . BaseEBCC . mo_occ : NDArray [ T ] property Get the molecular orbital occupation numbers. Returns: NDArray [ T ] \u2013 Molecular orbital occupation numbers. ebcc . cc . base . BaseEBCC . nmo : Any abstractmethod property Get the number of molecular orbitals. Returns: Any \u2013 Number of molecular orbitals. ebcc . cc . base . BaseEBCC . nocc : Any abstractmethod property Get the number of occupied molecular orbitals. Returns: Any \u2013 Number of occupied molecular orbitals. ebcc . cc . base . BaseEBCC . nvir : Any abstractmethod property Get the number of virtual molecular orbitals. Returns: Any \u2013 Number of virtual molecular orbitals. ebcc . cc . base . BaseEBCC . nbos : int property Get the number of bosonic modes. Returns: int \u2013 Number of bosonic modes. ebcc . cc . base . BaseEBCC . e_tot : float property Get the total energy (mean-field plus correlation). Returns: float \u2013 Total energy. ebcc . cc . base . BaseEBCC . t1 : Any property Get the T1 amplitudes. ebcc . cc . base . BaseEBCC . t2 : Any property Get the T2 amplitudes. ebcc . cc . base . BaseEBCC . t3 : Any property Get the T3 amplitudes. ebcc . cc . base . BaseEBCC . l1 : Any property Get the L1 amplitudes. ebcc . cc . base . BaseEBCC . l2 : Any property Get the L2 amplitudes. ebcc . cc . base . BaseEBCC . l3 : Any property Get the L3 amplitudes. ebcc . cc . base . BaseEBCC . kernel ( eris = None ) Run the coupled cluster calculation. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. Returns: float \u2013 Correlation energy. Source code in ebcc/cc/base.py 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 def kernel ( self , eris : Optional [ ERIsInputType ] = None ) -> float : \"\"\"Run the coupled cluster calculation. Args: eris: Electron repulsion integrals. Returns: Correlation energy. \"\"\" timer = util . Timer () # Get the ERIs: eris = self . get_eris ( eris ) # Get the amplitude guesses: amplitudes = self . amplitudes if not amplitudes : amplitudes = self . init_amps ( eris = eris ) # Get the initial energy: e_cc = self . energy ( amplitudes = amplitudes , eris = eris ) self . log . output ( \"Solving for excitation amplitudes.\" ) self . log . debug ( \"\" ) self . log . info ( f \" { ANSI . B }{ 'Iter' : >4s } { 'Energy (corr.)' : >16s } { 'Energy (tot.)' : >18s } \" f \" { '\u0394(Energy)' : >13s } { '\u0394(Ampl.)' : >13s }{ ANSI . R } \" ) 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 damping: damping = self . Damping ( options = self . options ) converged = False for niter in range ( 1 , self . options . max_iter + 1 ): # Update the amplitudes, extrapolate with DIIS and calculate change: amplitudes_prev = amplitudes amplitudes = self . update_amps ( amplitudes = amplitudes , eris = eris ) vector = self . amplitudes_to_vector ( amplitudes ) vector = damping ( vector ) amplitudes = self . vector_to_amplitudes ( vector ) dt = np . linalg . norm ( np . abs ( vector - self . amplitudes_to_vector ( amplitudes_prev )), ord = np . inf ) # Update the energy and calculate change: e_prev = e_cc e_cc = self . energy ( amplitudes = amplitudes , eris = eris ) de = abs ( e_prev - e_cc ) # Log the iteration: converged_e = bool ( de < self . options . e_tol ) converged_t = bool ( dt < self . options . t_tol ) self . log . info ( f \" { niter : 4d } { e_cc : 16.10f } { e_cc + self . mf . e_tot : 18.10f } \" f \" { [ ANSI . r , ANSI . g ][ bool ( converged_e )] }{ de : 13.3e }{ ANSI . R } \" f \" { [ ANSI . r , ANSI . g ][ bool ( converged_t )] }{ dt : 13.3e }{ ANSI . R } \" ) # Check for convergence: converged = converged_e and converged_t if converged : self . log . debug ( \"\" ) self . log . output ( f \" { ANSI . g } Converged. { ANSI . R } \" ) break else : 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 ( f \"E(pert) = { e_pert : .10f } \" ) else : converged = True # Update attributes: self . e_corr = e_cc self . amplitudes = amplitudes self . converged = converged self . log . debug ( \"\" ) 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 ( \"\" ) return e_cc ebcc . cc . base . BaseEBCC . solve_lambda ( amplitudes = None , eris = None ) Solve for the lambda amplitudes. Parameters: amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. Source code in ebcc/cc/base.py 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 def solve_lambda ( self , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , eris : Optional [ ERIsInputType ] = None , ) -> None : \"\"\"Solve for the lambda amplitudes. Args: amplitudes: Cluster amplitudes. eris: Electron repulsion integrals. \"\"\" timer = util . Timer () # Get the ERIs: eris = self . get_eris ( eris ) # Get the amplitudes: amplitudes = self . amplitudes if not amplitudes : amplitudes = self . init_amps ( eris = eris ) # If needed, get the perturbative part of the lambda amplitudes: lambdas_pert = None if self . ansatz . has_perturbative_correction : lambdas_pert = self . update_lams ( eris = eris , amplitudes = amplitudes , perturbative = True ) # Get the initial lambda amplitudes: lambdas = self . lambdas if not lambdas : lambdas = self . init_lams ( amplitudes = amplitudes ) self . log . output ( \"Solving for de-excitation (lambda) amplitudes.\" ) self . log . debug ( \"\" ) self . log . info ( f \" { ANSI . B }{ 'Iter' : >4s } { '\u0394(Ampl.)' : >13s }{ ANSI . R } \" ) # Set up damping: damping = self . Damping ( options = self . options ) converged = False for niter in range ( 1 , self . options . max_iter + 1 ): # Update the lambda amplitudes, extrapolate with DIIS and calculate change: lambdas_prev = lambdas lambdas = self . update_lams ( amplitudes = amplitudes , lambdas = lambdas , lambdas_pert = lambdas_pert , eris = eris , ) vector = self . lambdas_to_vector ( lambdas ) vector = damping ( vector ) lambdas = self . vector_to_lambdas ( vector ) dl = np . linalg . norm ( np . abs ( vector - self . lambdas_to_vector ( lambdas_prev )), ord = np . inf ) # Log the iteration: converged = bool ( dl < self . options . t_tol ) self . log . info ( f \" { niter : 4d } { [ ANSI . r , ANSI . g ][ converged ] }{ dl : 13.3e }{ ANSI . R } \" ) # Check for convergence: if converged : self . log . debug ( \"\" ) self . log . output ( f \" { ANSI . g } Converged. { ANSI . R } \" ) break else : 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 ())) self . log . debug ( \"\" ) self . log . debug ( \"\" ) # Update attributes: self . lambdas = lambdas self . converged_lambda = converged ebcc . cc . base . BaseEBCC . ip_eom ( ** kwargs ) abstractmethod Get the IP-EOM object. Parameters: **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments. Returns: Any \u2013 IP-EOM object. Source code in ebcc/cc/base.py 392 393 394 395 396 397 398 399 400 401 402 @abstractmethod def ip_eom ( self , ** kwargs : Any ) -> Any : \"\"\"Get the IP-EOM object. Args: **kwargs: Additional keyword arguments. Returns: IP-EOM object. \"\"\" pass ebcc . cc . base . BaseEBCC . ea_eom ( ** kwargs ) abstractmethod Get the EA-EOM object. Parameters: **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments. Returns: Any \u2013 EA-EOM object. Source code in ebcc/cc/base.py 404 405 406 407 408 409 410 411 412 413 414 @abstractmethod def ea_eom ( self , ** kwargs : Any ) -> Any : \"\"\"Get the EA-EOM object. Args: **kwargs: Additional keyword arguments. Returns: EA-EOM object. \"\"\" pass ebcc . cc . base . BaseEBCC . ee_eom ( ** kwargs ) abstractmethod Get the EE-EOM object. Parameters: **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments. Returns: Any \u2013 EE-EOM object. Source code in ebcc/cc/base.py 416 417 418 419 420 421 422 423 424 425 426 @abstractmethod def ee_eom ( self , ** kwargs : Any ) -> Any : \"\"\"Get the EE-EOM object. Args: **kwargs: Additional keyword arguments. Returns: EE-EOM object. \"\"\" pass ebcc . cc . base . BaseEBCC . brueckner ( * args , ** kwargs ) Run a Brueckner orbital coupled cluster calculation. The coupled cluster object will be update in-place. Parameters: *args ( Any , default: () ) \u2013 Arguments to pass to the Brueckner object. **kwargs ( Any , default: {} ) \u2013 Keyword arguments to pass to the Brueckner object. Returns: float \u2013 Correlation energy. Source code in ebcc/cc/base.py 428 429 430 431 432 433 434 435 436 437 438 439 440 441 def brueckner ( self , * args : Any , ** kwargs : Any ) -> float : \"\"\"Run a Brueckner orbital coupled cluster calculation. The coupled cluster object will be update in-place. Args: *args: Arguments to pass to the Brueckner object. **kwargs: Keyword arguments to pass to the Brueckner object. Returns: Correlation energy. \"\"\" bcc = self . Brueckner ( self , * args , ** kwargs ) return bcc . kernel () ebcc . cc . base . BaseEBCC . write ( file ) Write the EBCC object to a file. Parameters: file ( str ) \u2013 File to write the object to. Source code in ebcc/cc/base.py 443 444 445 446 447 448 449 450 def write ( self , file : str ) -> None : \"\"\"Write the EBCC object to a file. Args: file: File to write the object to. \"\"\" writer = Dump ( file ) writer . write ( self ) ebcc . cc . base . BaseEBCC . read ( file , log = None ) classmethod Read the EBCC object from a file. Parameters: file ( str ) \u2013 File to read the object from. log ( Optional [ Logger ] , default: None ) \u2013 Logger to use for new object. Returns: BaseEBCC \u2013 EBCC object. Source code in ebcc/cc/base.py 452 453 454 455 456 457 458 459 460 461 462 463 464 @classmethod def read ( cls , file : str , log : Optional [ Logger ] = None ) -> BaseEBCC : \"\"\"Read the EBCC object from a file. Args: file: File to read the object from. log: Logger to use for new object. Returns: EBCC object. \"\"\" reader = Dump ( file ) return reader . read ( cls = cls , log = log ) ebcc . cc . base . BaseEBCC . init_amps ( eris = None ) abstractmethod Initialise the cluster amplitudes. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. Returns: Namespace [ SpinArrayType ] \u2013 Initial cluster amplitudes. Source code in ebcc/cc/base.py 524 525 526 527 528 529 530 531 532 533 534 @abstractmethod def init_amps ( self , eris : Optional [ ERIsInputType ] = None ) -> Namespace [ SpinArrayType ]: \"\"\"Initialise the cluster amplitudes. Args: eris: Electron repulsion integrals. Returns: Initial cluster amplitudes. \"\"\" pass ebcc . cc . base . BaseEBCC . init_lams ( amplitudes = None ) abstractmethod Initialise the cluster lambda amplitudes. Parameters: amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: Namespace [ SpinArrayType ] \u2013 Initial cluster lambda amplitudes. Source code in ebcc/cc/base.py 536 537 538 539 540 541 542 543 544 545 546 547 548 @abstractmethod def init_lams ( self , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None ) -> Namespace [ SpinArrayType ]: \"\"\"Initialise the cluster lambda amplitudes. Args: amplitudes: Cluster amplitudes. Returns: Initial cluster lambda amplitudes. \"\"\" pass ebcc . cc . base . BaseEBCC . energy ( eris = None , amplitudes = None ) Calculate the correlation energy. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: float \u2013 Correlation energy. Source code in ebcc/cc/base.py 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 def energy ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , ) -> float : \"\"\"Calculate the correlation energy. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. Returns: Correlation energy. \"\"\" func , kwargs = self . _load_function ( \"energy\" , eris = eris , amplitudes = amplitudes , ) res : float = ensure_scalar ( func ( ** kwargs )) . real return astype ( res , float ) ebcc . cc . base . BaseEBCC . energy_perturbative ( eris = None , amplitudes = None , lambdas = None ) Calculate the perturbative correction to the correlation energy. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. Returns: float \u2013 Perturbative energy correction. Source code in ebcc/cc/base.py 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 def energy_perturbative ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , ) -> float : \"\"\"Calculate the perturbative correction to the correlation energy. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. Returns: Perturbative energy correction. \"\"\" func , kwargs = self . _load_function ( \"energy_perturbative\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) res : float = ensure_scalar ( func ( ** kwargs )) . real return res ebcc . cc . base . BaseEBCC . update_amps ( eris = None , amplitudes = None ) abstractmethod Update the cluster amplitudes. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: Namespace [ SpinArrayType ] \u2013 Updated cluster amplitudes. Source code in ebcc/cc/base.py 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 @abstractmethod def update_amps ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , ) -> Namespace [ SpinArrayType ]: \"\"\"Update the cluster amplitudes. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. Returns: Updated cluster amplitudes. \"\"\" pass ebcc . cc . base . BaseEBCC . update_lams ( eris = None , amplitudes = None , lambdas = None , lambdas_pert = None , perturbative = False ) abstractmethod Update the cluster lambda amplitudes. Parameters: eris ( ERIsInputType , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. lambdas_pert ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Perturbative cluster lambda amplitudes. perturbative ( bool , default: False ) \u2013 Flag to include perturbative correction. Returns: Namespace [ SpinArrayType ] \u2013 Updated cluster lambda amplitudes. Source code in ebcc/cc/base.py 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 @abstractmethod def update_lams ( self , eris : ERIsInputType = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , lambdas_pert : Optional [ Namespace [ SpinArrayType ]] = None , perturbative : bool = False , ) -> Namespace [ SpinArrayType ]: \"\"\"Update the cluster lambda amplitudes. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. lambdas_pert: Perturbative cluster lambda amplitudes. perturbative: Flag to include perturbative correction. Returns: Updated cluster lambda amplitudes. \"\"\" pass ebcc . cc . base . BaseEBCC . make_sing_b_dm ( eris = None , amplitudes = None , lambdas = None ) Make the single boson density matrix :math: \\langle b \\rangle . Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. Returns: NDArray [ T ] \u2013 Single boson density matrix. Source code in ebcc/cc/base.py 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 def make_sing_b_dm ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , ) -> NDArray [ T ]: r \"\"\"Make the single boson density matrix :math:`\\langle b \\rangle`. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. Returns: Single boson density matrix. \"\"\" func , kwargs = self . _load_function ( \"make_sing_b_dm\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) res : NDArray [ T ] = func ( ** kwargs ) return res ebcc . cc . base . BaseEBCC . make_rdm1_b ( eris = None , amplitudes = None , lambdas = None , unshifted = True , hermitise = True ) Make the one-particle boson reduced density matrix :math: \\langle b^+ c \\rangle . Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. unshifted ( bool , default: True ) \u2013 If self.options.shift is True , return the unshifted density matrix. Has no effect if self.options.shift is False . hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: NDArray [ T ] \u2013 One-particle boson reduced density matrix. Source code in ebcc/cc/base.py 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 def make_rdm1_b ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , unshifted : bool = True , hermitise : bool = True , ) -> NDArray [ T ]: r \"\"\"Make the one-particle boson reduced density matrix :math:`\\langle b^+ c \\rangle`. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. unshifted: If `self.options.shift` is `True`, return the unshifted density matrix. Has no effect if `self.options.shift` is `False`. hermitise: Hermitise the density matrix. Returns: One-particle boson reduced density matrix. \"\"\" func , kwargs = self . _load_function ( \"make_rdm1_b\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) dm : NDArray [ T ] = func ( ** kwargs ) if hermitise : dm = ( dm + np . transpose ( dm )) * 0.5 if unshifted and self . options . shift : xi = self . xi dm_b = util . einsum ( \"ni->i\" , self . make_sing_b_dm ()) dm -= util . einsum ( \"ij,i->ij\" , np . eye ( dm . shape [ 0 ]), xi * dm_b - xi ** 2.0 ) return dm ebcc . cc . base . BaseEBCC . make_rdm1_f ( eris = None , amplitudes = None , lambdas = None , hermitise = True ) abstractmethod Make the one-particle fermionic reduced density matrix :math: \\langle i^+ j \\rangle . Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: Any \u2013 One-particle fermion reduced density matrix. Source code in ebcc/cc/base.py 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 @abstractmethod def make_rdm1_f ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , hermitise : bool = True , ) -> Any : r \"\"\"Make the one-particle fermionic reduced density matrix :math:`\\langle i^+ j \\rangle`. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. hermitise: Hermitise the density matrix. Returns: One-particle fermion reduced density matrix. \"\"\" pass ebcc . cc . base . BaseEBCC . make_rdm2_f ( eris = None , amplitudes = None , lambdas = None , hermitise = True ) abstractmethod Make the two-particle fermionic reduced density matrix :math: \\langle i^+j^+lk \\rangle . Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: Any \u2013 Two-particle fermion reduced density matrix. Source code in ebcc/cc/base.py 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 @abstractmethod def make_rdm2_f ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , hermitise : bool = True , ) -> Any : r \"\"\"Make the two-particle fermionic reduced density matrix :math:`\\langle i^+j^+lk \\rangle`. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. hermitise: Hermitise the density matrix. Returns: Two-particle fermion reduced density matrix. \"\"\" pass ebcc . cc . base . BaseEBCC . make_eb_coup_rdm ( eris = None , amplitudes = None , lambdas = None , unshifted = True , hermitise = True ) abstractmethod Make the electron-boson coupling reduced density matrix. .. math:: \\langle b^+ i^+ j \\rangle and .. math:: \\langle b i^+ j \\rangle Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. unshifted ( bool , default: True ) \u2013 If self.options.shift is True , return the unshifted density matrix. Has no effect if self.options.shift is False . hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: Any \u2013 Electron-boson coupling reduced density matrix. Source code in ebcc/cc/base.py 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 @abstractmethod def make_eb_coup_rdm ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , unshifted : bool = True , hermitise : bool = True , ) -> Any : r \"\"\"Make the electron-boson coupling reduced density matrix. .. math:: \\langle b^+ i^+ j \\rangle and .. math:: \\langle b i^+ j \\rangle Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. unshifted: If `self.options.shift` is `True`, return the unshifted density matrix. Has no effect if `self.options.shift` is `False`. hermitise: Hermitise the density matrix. Returns: Electron-boson coupling reduced density matrix. \"\"\" pass ebcc . cc . base . BaseEBCC . energy_sum ( * args , signs_dict = None ) abstractmethod Get a direct sum of energies. Parameters: *args ( str , default: () ) \u2013 Energies to sum. Subclass should specify a subscript, and optionally spins. signs_dict ( Optional [ dict [ str , str ]] , default: None ) \u2013 Signs of the energies in the sum. Default sets (\"o\", \"O\", \"i\") to be positive, and (\"v\", \"V\", \"a\", \"b\") to be negative. Returns: NDArray [ T ] \u2013 Sum of energies. Source code in ebcc/cc/base.py 797 798 799 800 801 802 803 804 805 806 807 808 809 @abstractmethod def energy_sum ( self , * args : str , signs_dict : Optional [ dict [ str , str ]] = None ) -> NDArray [ T ]: \"\"\"Get a direct sum of energies. Args: *args: Energies to sum. Subclass should specify a subscript, and optionally spins. signs_dict: Signs of the energies in the sum. Default sets `(\"o\", \"O\", \"i\")` to be positive, and `(\"v\", \"V\", \"a\", \"b\")` to be negative. Returns: Sum of energies. \"\"\" pass ebcc . cc . base . BaseEBCC . amplitudes_to_vector ( amplitudes ) abstractmethod Construct a vector containing all of the amplitudes used in the given ansatz. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 Cluster amplitudes. Returns: NDArray [ T ] \u2013 Cluster amplitudes as a vector. Source code in ebcc/cc/base.py 811 812 813 814 815 816 817 818 819 820 821 @abstractmethod def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the amplitudes used in the given ansatz. Args: amplitudes: Cluster amplitudes. Returns: Cluster amplitudes as a vector. \"\"\" pass ebcc . cc . base . BaseEBCC . vector_to_amplitudes ( vector ) abstractmethod Construct a namespace of amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 Cluster amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 Cluster amplitudes. Source code in ebcc/cc/base.py 823 824 825 826 827 828 829 830 831 832 833 @abstractmethod def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of amplitudes from a vector. Args: vector: Cluster amplitudes as a vector. Returns: Cluster amplitudes. \"\"\" pass ebcc . cc . base . BaseEBCC . lambdas_to_vector ( lambdas ) abstractmethod Construct a vector containing all of the lambda amplitudes used in the given ansatz. Parameters: lambdas ( Namespace [ SpinArrayType ] ) \u2013 Cluster lambda amplitudes. Returns: NDArray [ T ] \u2013 Cluster lambda amplitudes as a vector. Source code in ebcc/cc/base.py 835 836 837 838 839 840 841 842 843 844 845 @abstractmethod def lambdas_to_vector ( self , lambdas : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the lambda amplitudes used in the given ansatz. Args: lambdas: Cluster lambda amplitudes. Returns: Cluster lambda amplitudes as a vector. \"\"\" pass ebcc . cc . base . BaseEBCC . vector_to_lambdas ( vector ) abstractmethod Construct a namespace of lambda amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 Cluster lambda amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 Cluster lambda amplitudes. Source code in ebcc/cc/base.py 847 848 849 850 851 852 853 854 855 856 857 @abstractmethod def vector_to_lambdas ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of lambda amplitudes from a vector. Args: vector: Cluster lambda amplitudes as a vector. Returns: Cluster lambda amplitudes. \"\"\" pass ebcc . cc . base . BaseEBCC . init_space () abstractmethod Initialise the fermionic space. Returns: SpaceType \u2013 Fermionic space. All fermionic degrees of freedom are assumed to be correlated. Source code in ebcc/cc/base.py 879 880 881 882 883 884 885 886 @abstractmethod def init_space ( self ) -> SpaceType : \"\"\"Initialise the fermionic space. Returns: Fermionic space. All fermionic degrees of freedom are assumed to be correlated. \"\"\" pass ebcc . cc . base . BaseEBCC . get_fock () abstractmethod Get the Fock matrix. Returns: BaseFock \u2013 Fock matrix. Source code in ebcc/cc/base.py 888 889 890 891 892 893 894 895 @abstractmethod def get_fock ( self ) -> BaseFock : \"\"\"Get the Fock matrix. Returns: Fock matrix. \"\"\" pass ebcc . cc . base . BaseEBCC . get_eris ( eris = None ) abstractmethod Get the electron repulsion integrals. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Input electron repulsion integrals. Returns: BaseERIs \u2013 Electron repulsion integrals. Source code in ebcc/cc/base.py 897 898 899 900 901 902 903 904 905 906 907 @abstractmethod def get_eris ( self , eris : Optional [ ERIsInputType ] = None ) -> BaseERIs : \"\"\"Get the electron repulsion integrals. Args: eris: Input electron repulsion integrals. Returns: Electron repulsion integrals. \"\"\" pass ebcc . cc . base . BaseEBCC . get_g () Get the blocks of the electron-boson coupling matrix. This matrix corresponds to the bosonic annihilation operator. Returns: BaseElectronBoson \u2013 Electron-boson coupling matrix. Source code in ebcc/cc/base.py 909 910 911 912 913 914 915 916 917 def get_g ( self ) -> BaseElectronBoson : \"\"\"Get the blocks of the electron-boson coupling matrix. This matrix corresponds to the bosonic annihilation operator. Returns: Electron-boson coupling matrix. \"\"\" return self . ElectronBoson ( self , array = self . bare_g ) ebcc . cc . base . BaseEBCC . get_mean_field_G () abstractmethod Get the mean-field boson non-conserving term. Returns: Any \u2013 Mean-field boson non-conserving term. Source code in ebcc/cc/base.py 919 920 921 922 923 924 925 926 @abstractmethod def get_mean_field_G ( self ) -> Any : \"\"\"Get the mean-field boson non-conserving term. Returns: Mean-field boson non-conserving term. \"\"\" pass","title":"Base"},{"location":"reference/cc/base/#ebcc.cc.base.T","text":"Defines the type for the eris argument in functions.","title":"T"},{"location":"reference/cc/base/#ebcc.cc.base.ERIsInputType","text":"Defines the type for arrays, including spin labels.","title":"ERIsInputType"},{"location":"reference/cc/base/#ebcc.cc.base.SpinArrayType","text":"Defines the type for the spaces, including spin labels.","title":"SpinArrayType"},{"location":"reference/cc/base/#ebcc.cc.base.BaseOptions","text":"Bases: _BaseOptions Options for EBCC calculations. Parameters: e_tol ( float , default: 1e-08 ) \u2013 Threshold for convergence in the correlation energy. t_tol ( float , default: 1e-08 ) \u2013 Threshold for convergence in the amplitude norm. max_iter ( int , default: 200 ) \u2013 Maximum number of iterations. diis_space ( int , default: 9 ) \u2013 Number of amplitudes to use in DIIS extrapolation. diis_min_space ( int , default: 1 ) \u2013 Minimum number of amplitudes to use in DIIS extrapolation. damping ( float , default: 0.0 ) \u2013 Damping factor for DIIS extrapolation. shift ( bool , default: True ) \u2013 Shift the boson operators such that the Hamiltonian is normal-ordered with respect to a coherent state. This removes the bosonic coupling to the static mean-field density, introducing a constant energy shift.","title":"BaseOptions"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC","text":"Bases: ABC Base class for electron-boson coupled cluster. Initialise the EBCC object. Parameters: mf ( SCF ) \u2013 PySCF mean-field object. log ( Optional [ Logger ] , default: None ) \u2013 Log to write output to. Default is the global logger, outputting to stderr . ansatz ( Optional [ Union [ Ansatz , str ]] , default: 'CCSD' ) \u2013 Overall ansatz. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EBCC calculation. space ( Optional [ SpaceType ] , default: None ) \u2013 Space containing the frozen, correlated, and active fermionic spaces. Default assumes all electrons are correlated. omega ( Optional [ NDArray [ T ]] , default: None ) \u2013 Bosonic frequencies. g ( Optional [ NDArray [ T ]] , default: None ) \u2013 Electron-boson coupling matrix corresponding to the bosonic annihilation operator :math: g_{bpq} p^\\dagger q b . The creation part is assumed to be the fermionic conjugate transpose to retain Hermiticity in the Hamiltonian. G ( Optional [ NDArray [ T ]] , default: None ) \u2013 Boson non-conserving term :math: G_{b} (b^\\dagger + b) . mo_coeff ( Optional [ NDArray [ T ]] , default: None ) \u2013 Molecular orbital coefficients. Default is the mean-field coefficients. mo_occ ( Optional [ NDArray [ T ]] , default: None ) \u2013 Molecular orbital occupation numbers. Default is the mean-field occupation. fock ( Optional [ BaseFock ] , default: None ) \u2013 Fock matrix. Default is the mean-field Fock matrix. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/cc/base.py 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 def __init__ ( self , mf : SCF , log : Optional [ Logger ] = None , ansatz : Optional [ Union [ Ansatz , str ]] = \"CCSD\" , options : Optional [ BaseOptions ] = None , space : Optional [ SpaceType ] = None , omega : Optional [ NDArray [ T ]] = None , g : Optional [ NDArray [ T ]] = None , G : Optional [ NDArray [ T ]] = None , mo_coeff : Optional [ NDArray [ T ]] = None , mo_occ : Optional [ NDArray [ T ]] = None , fock : Optional [ BaseFock ] = None , ** kwargs : Any , ) -> None : r \"\"\"Initialise the EBCC object. Args: mf: PySCF mean-field object. log: Log to write output to. Default is the global logger, outputting to `stderr`. ansatz: Overall ansatz. options: Options for the EBCC calculation. space: Space containing the frozen, correlated, and active fermionic spaces. Default assumes all electrons are correlated. omega: Bosonic frequencies. g: Electron-boson coupling matrix corresponding to the bosonic annihilation operator :math:`g_{bpq} p^\\dagger q b`. The creation part is assumed to be the fermionic conjugate transpose to retain Hermiticity in the Hamiltonian. G: Boson non-conserving term :math:`G_{b} (b^\\dagger + b)`. mo_coeff: Molecular orbital coefficients. Default is the mean-field coefficients. mo_occ: Molecular orbital occupation numbers. Default is the mean-field occupation. fock: Fock matrix. Default is the mean-field Fock matrix. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . log = default_log if log is None else log self . mf = self . _convert_mf ( mf ) self . _mo_coeff : Optional [ NDArray [ T ]] = ( np . asarray ( mo_coeff , dtype = types [ float ]) if mo_coeff is not None else None ) self . _mo_occ : Optional [ NDArray [ T ]] = ( np . asarray ( mo_occ , dtype = types [ float ]) if mo_occ is not None else None ) # Ansatz: if isinstance ( ansatz , Ansatz ): self . ansatz = ansatz elif isinstance ( ansatz , str ): self . ansatz = Ansatz . from_string ( ansatz , density_fitting = getattr ( self . mf , \"with_df\" , None ) is not None ) else : raise TypeError ( \"ansatz must be an Ansatz object or a string.\" ) self . _eqns = self . ansatz . _get_eqns ( self . spin_type ) # Space: if space is not None : self . space = space else : self . space = self . init_space () # Boson parameters: if bool ( self . fermion_coupling_rank ) != bool ( self . boson_coupling_rank ): raise ValueError ( \"Fermionic and bosonic coupling ranks must both be zero, or both non-zero.\" ) self . omega = np . asarray ( omega , dtype = types [ float ]) if omega is not None else None self . bare_g = np . asarray ( g , dtype = types [ float ]) if g is not None else None self . bare_G = np . asarray ( G , dtype = types [ float ]) if G is not None else None if self . boson_ansatz != \"\" : self . g = self . get_g () self . G = self . get_mean_field_G () if self . options . shift : self . log . info ( \" > Energy shift due to polaritonic basis: %.10f \" , self . const ) else : assert self . nbos == 0 self . options . shift = False self . g = None self . G = None # Fock matrix: if fock is None : self . fock = self . get_fock () else : self . fock = fock # Attributes: self . e_corr = 0.0 self . amplitudes = util . Namespace () self . converged = False self . lambdas = util . Namespace () self . converged_lambda = False # Logging: init_logging ( self . log ) 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 \" > 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 \" > diis_min_space: { ANSI . y }{ self . options . diis_min_space }{ ANSI . R } \" ) self . log . info ( f \" > damping: { ANSI . y }{ self . options . damping }{ ANSI . R } \" ) self . log . debug ( \"\" ) self . log . info ( f \" { ANSI . B } Ansatz { ANSI . R } : { ANSI . m }{ self . ansatz }{ ANSI . R } \" ) self . log . debug ( \"\" ) self . log . info ( f \" { ANSI . B } Space { ANSI . R } : { ANSI . m }{ self . space }{ ANSI . R } \" ) self . log . debug ( \"\" )","title":"BaseEBCC"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.spin_type","text":"Get a string representation of the spin type.","title":"spin_type"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.name","text":"Get the name of the method.","title":"name"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.fermion_ansatz","text":"Get a string representation of the fermion ansatz.","title":"fermion_ansatz"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.boson_ansatz","text":"Get a string representation of the boson ansatz.","title":"boson_ansatz"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.fermion_coupling_rank","text":"Get an integer representation of the fermion coupling rank.","title":"fermion_coupling_rank"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.boson_coupling_rank","text":"Get an integer representation of the boson coupling rank.","title":"boson_coupling_rank"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.bare_fock","text":"Get the mean-field Fock matrix in the MO basis, including frozen parts. Returns an array and not a BaseFock object. Returns: Any \u2013 Mean-field Fock matrix.","title":"bare_fock"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.xi","text":"Get the shift in the bosonic operators to diagonalise the photon Hamiltonian. Returns: NDArray [ T ] \u2013 Shift in the bosonic operators.","title":"xi"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.const","text":"Get the shift in energy from moving to the polaritonic basis. Returns: float \u2013 Constant energy shift due to the polaritonic basis.","title":"const"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.mo_coeff","text":"Get the molecular orbital coefficients. Returns: NDArray [ T ] \u2013 Molecular orbital coefficients.","title":"mo_coeff"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.mo_occ","text":"Get the molecular orbital occupation numbers. Returns: NDArray [ T ] \u2013 Molecular orbital occupation numbers.","title":"mo_occ"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.nmo","text":"Get the number of molecular orbitals. Returns: Any \u2013 Number of molecular orbitals.","title":"nmo"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.nocc","text":"Get the number of occupied molecular orbitals. Returns: Any \u2013 Number of occupied molecular orbitals.","title":"nocc"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.nvir","text":"Get the number of virtual molecular orbitals. Returns: Any \u2013 Number of virtual molecular orbitals.","title":"nvir"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.nbos","text":"Get the number of bosonic modes. Returns: int \u2013 Number of bosonic modes.","title":"nbos"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.e_tot","text":"Get the total energy (mean-field plus correlation). Returns: float \u2013 Total energy.","title":"e_tot"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.t1","text":"Get the T1 amplitudes.","title":"t1"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.t2","text":"Get the T2 amplitudes.","title":"t2"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.t3","text":"Get the T3 amplitudes.","title":"t3"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.l1","text":"Get the L1 amplitudes.","title":"l1"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.l2","text":"Get the L2 amplitudes.","title":"l2"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.l3","text":"Get the L3 amplitudes.","title":"l3"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.kernel","text":"Run the coupled cluster calculation. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. Returns: float \u2013 Correlation energy. Source code in ebcc/cc/base.py 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 def kernel ( self , eris : Optional [ ERIsInputType ] = None ) -> float : \"\"\"Run the coupled cluster calculation. Args: eris: Electron repulsion integrals. Returns: Correlation energy. \"\"\" timer = util . Timer () # Get the ERIs: eris = self . get_eris ( eris ) # Get the amplitude guesses: amplitudes = self . amplitudes if not amplitudes : amplitudes = self . init_amps ( eris = eris ) # Get the initial energy: e_cc = self . energy ( amplitudes = amplitudes , eris = eris ) self . log . output ( \"Solving for excitation amplitudes.\" ) self . log . debug ( \"\" ) self . log . info ( f \" { ANSI . B }{ 'Iter' : >4s } { 'Energy (corr.)' : >16s } { 'Energy (tot.)' : >18s } \" f \" { '\u0394(Energy)' : >13s } { '\u0394(Ampl.)' : >13s }{ ANSI . R } \" ) 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 damping: damping = self . Damping ( options = self . options ) converged = False for niter in range ( 1 , self . options . max_iter + 1 ): # Update the amplitudes, extrapolate with DIIS and calculate change: amplitudes_prev = amplitudes amplitudes = self . update_amps ( amplitudes = amplitudes , eris = eris ) vector = self . amplitudes_to_vector ( amplitudes ) vector = damping ( vector ) amplitudes = self . vector_to_amplitudes ( vector ) dt = np . linalg . norm ( np . abs ( vector - self . amplitudes_to_vector ( amplitudes_prev )), ord = np . inf ) # Update the energy and calculate change: e_prev = e_cc e_cc = self . energy ( amplitudes = amplitudes , eris = eris ) de = abs ( e_prev - e_cc ) # Log the iteration: converged_e = bool ( de < self . options . e_tol ) converged_t = bool ( dt < self . options . t_tol ) self . log . info ( f \" { niter : 4d } { e_cc : 16.10f } { e_cc + self . mf . e_tot : 18.10f } \" f \" { [ ANSI . r , ANSI . g ][ bool ( converged_e )] }{ de : 13.3e }{ ANSI . R } \" f \" { [ ANSI . r , ANSI . g ][ bool ( converged_t )] }{ dt : 13.3e }{ ANSI . R } \" ) # Check for convergence: converged = converged_e and converged_t if converged : self . log . debug ( \"\" ) self . log . output ( f \" { ANSI . g } Converged. { ANSI . R } \" ) break else : 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 ( f \"E(pert) = { e_pert : .10f } \" ) else : converged = True # Update attributes: self . e_corr = e_cc self . amplitudes = amplitudes self . converged = converged self . log . debug ( \"\" ) 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 ( \"\" ) return e_cc","title":"kernel"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.solve_lambda","text":"Solve for the lambda amplitudes. Parameters: amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. Source code in ebcc/cc/base.py 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 def solve_lambda ( self , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , eris : Optional [ ERIsInputType ] = None , ) -> None : \"\"\"Solve for the lambda amplitudes. Args: amplitudes: Cluster amplitudes. eris: Electron repulsion integrals. \"\"\" timer = util . Timer () # Get the ERIs: eris = self . get_eris ( eris ) # Get the amplitudes: amplitudes = self . amplitudes if not amplitudes : amplitudes = self . init_amps ( eris = eris ) # If needed, get the perturbative part of the lambda amplitudes: lambdas_pert = None if self . ansatz . has_perturbative_correction : lambdas_pert = self . update_lams ( eris = eris , amplitudes = amplitudes , perturbative = True ) # Get the initial lambda amplitudes: lambdas = self . lambdas if not lambdas : lambdas = self . init_lams ( amplitudes = amplitudes ) self . log . output ( \"Solving for de-excitation (lambda) amplitudes.\" ) self . log . debug ( \"\" ) self . log . info ( f \" { ANSI . B }{ 'Iter' : >4s } { '\u0394(Ampl.)' : >13s }{ ANSI . R } \" ) # Set up damping: damping = self . Damping ( options = self . options ) converged = False for niter in range ( 1 , self . options . max_iter + 1 ): # Update the lambda amplitudes, extrapolate with DIIS and calculate change: lambdas_prev = lambdas lambdas = self . update_lams ( amplitudes = amplitudes , lambdas = lambdas , lambdas_pert = lambdas_pert , eris = eris , ) vector = self . lambdas_to_vector ( lambdas ) vector = damping ( vector ) lambdas = self . vector_to_lambdas ( vector ) dl = np . linalg . norm ( np . abs ( vector - self . lambdas_to_vector ( lambdas_prev )), ord = np . inf ) # Log the iteration: converged = bool ( dl < self . options . t_tol ) self . log . info ( f \" { niter : 4d } { [ ANSI . r , ANSI . g ][ converged ] }{ dl : 13.3e }{ ANSI . R } \" ) # Check for convergence: if converged : self . log . debug ( \"\" ) self . log . output ( f \" { ANSI . g } Converged. { ANSI . R } \" ) break else : 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 ())) self . log . debug ( \"\" ) self . log . debug ( \"\" ) # Update attributes: self . lambdas = lambdas self . converged_lambda = converged","title":"solve_lambda"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.ip_eom","text":"Get the IP-EOM object. Parameters: **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments. Returns: Any \u2013 IP-EOM object. Source code in ebcc/cc/base.py 392 393 394 395 396 397 398 399 400 401 402 @abstractmethod def ip_eom ( self , ** kwargs : Any ) -> Any : \"\"\"Get the IP-EOM object. Args: **kwargs: Additional keyword arguments. Returns: IP-EOM object. \"\"\" pass","title":"ip_eom"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.ea_eom","text":"Get the EA-EOM object. Parameters: **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments. Returns: Any \u2013 EA-EOM object. Source code in ebcc/cc/base.py 404 405 406 407 408 409 410 411 412 413 414 @abstractmethod def ea_eom ( self , ** kwargs : Any ) -> Any : \"\"\"Get the EA-EOM object. Args: **kwargs: Additional keyword arguments. Returns: EA-EOM object. \"\"\" pass","title":"ea_eom"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.ee_eom","text":"Get the EE-EOM object. Parameters: **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments. Returns: Any \u2013 EE-EOM object. Source code in ebcc/cc/base.py 416 417 418 419 420 421 422 423 424 425 426 @abstractmethod def ee_eom ( self , ** kwargs : Any ) -> Any : \"\"\"Get the EE-EOM object. Args: **kwargs: Additional keyword arguments. Returns: EE-EOM object. \"\"\" pass","title":"ee_eom"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.brueckner","text":"Run a Brueckner orbital coupled cluster calculation. The coupled cluster object will be update in-place. Parameters: *args ( Any , default: () ) \u2013 Arguments to pass to the Brueckner object. **kwargs ( Any , default: {} ) \u2013 Keyword arguments to pass to the Brueckner object. Returns: float \u2013 Correlation energy. Source code in ebcc/cc/base.py 428 429 430 431 432 433 434 435 436 437 438 439 440 441 def brueckner ( self , * args : Any , ** kwargs : Any ) -> float : \"\"\"Run a Brueckner orbital coupled cluster calculation. The coupled cluster object will be update in-place. Args: *args: Arguments to pass to the Brueckner object. **kwargs: Keyword arguments to pass to the Brueckner object. Returns: Correlation energy. \"\"\" bcc = self . Brueckner ( self , * args , ** kwargs ) return bcc . kernel ()","title":"brueckner"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.write","text":"Write the EBCC object to a file. Parameters: file ( str ) \u2013 File to write the object to. Source code in ebcc/cc/base.py 443 444 445 446 447 448 449 450 def write ( self , file : str ) -> None : \"\"\"Write the EBCC object to a file. Args: file: File to write the object to. \"\"\" writer = Dump ( file ) writer . write ( self )","title":"write"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.read","text":"Read the EBCC object from a file. Parameters: file ( str ) \u2013 File to read the object from. log ( Optional [ Logger ] , default: None ) \u2013 Logger to use for new object. Returns: BaseEBCC \u2013 EBCC object. Source code in ebcc/cc/base.py 452 453 454 455 456 457 458 459 460 461 462 463 464 @classmethod def read ( cls , file : str , log : Optional [ Logger ] = None ) -> BaseEBCC : \"\"\"Read the EBCC object from a file. Args: file: File to read the object from. log: Logger to use for new object. Returns: EBCC object. \"\"\" reader = Dump ( file ) return reader . read ( cls = cls , log = log )","title":"read"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.init_amps","text":"Initialise the cluster amplitudes. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. Returns: Namespace [ SpinArrayType ] \u2013 Initial cluster amplitudes. Source code in ebcc/cc/base.py 524 525 526 527 528 529 530 531 532 533 534 @abstractmethod def init_amps ( self , eris : Optional [ ERIsInputType ] = None ) -> Namespace [ SpinArrayType ]: \"\"\"Initialise the cluster amplitudes. Args: eris: Electron repulsion integrals. Returns: Initial cluster amplitudes. \"\"\" pass","title":"init_amps"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.init_lams","text":"Initialise the cluster lambda amplitudes. Parameters: amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: Namespace [ SpinArrayType ] \u2013 Initial cluster lambda amplitudes. Source code in ebcc/cc/base.py 536 537 538 539 540 541 542 543 544 545 546 547 548 @abstractmethod def init_lams ( self , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None ) -> Namespace [ SpinArrayType ]: \"\"\"Initialise the cluster lambda amplitudes. Args: amplitudes: Cluster amplitudes. Returns: Initial cluster lambda amplitudes. \"\"\" pass","title":"init_lams"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.energy","text":"Calculate the correlation energy. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: float \u2013 Correlation energy. Source code in ebcc/cc/base.py 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 def energy ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , ) -> float : \"\"\"Calculate the correlation energy. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. Returns: Correlation energy. \"\"\" func , kwargs = self . _load_function ( \"energy\" , eris = eris , amplitudes = amplitudes , ) res : float = ensure_scalar ( func ( ** kwargs )) . real return astype ( res , float )","title":"energy"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.energy_perturbative","text":"Calculate the perturbative correction to the correlation energy. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. Returns: float \u2013 Perturbative energy correction. Source code in ebcc/cc/base.py 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 def energy_perturbative ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , ) -> float : \"\"\"Calculate the perturbative correction to the correlation energy. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. Returns: Perturbative energy correction. \"\"\" func , kwargs = self . _load_function ( \"energy_perturbative\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) res : float = ensure_scalar ( func ( ** kwargs )) . real return res","title":"energy_perturbative"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.update_amps","text":"Update the cluster amplitudes. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: Namespace [ SpinArrayType ] \u2013 Updated cluster amplitudes. Source code in ebcc/cc/base.py 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 @abstractmethod def update_amps ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , ) -> Namespace [ SpinArrayType ]: \"\"\"Update the cluster amplitudes. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. Returns: Updated cluster amplitudes. \"\"\" pass","title":"update_amps"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.update_lams","text":"Update the cluster lambda amplitudes. Parameters: eris ( ERIsInputType , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. lambdas_pert ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Perturbative cluster lambda amplitudes. perturbative ( bool , default: False ) \u2013 Flag to include perturbative correction. Returns: Namespace [ SpinArrayType ] \u2013 Updated cluster lambda amplitudes. Source code in ebcc/cc/base.py 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 @abstractmethod def update_lams ( self , eris : ERIsInputType = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , lambdas_pert : Optional [ Namespace [ SpinArrayType ]] = None , perturbative : bool = False , ) -> Namespace [ SpinArrayType ]: \"\"\"Update the cluster lambda amplitudes. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. lambdas_pert: Perturbative cluster lambda amplitudes. perturbative: Flag to include perturbative correction. Returns: Updated cluster lambda amplitudes. \"\"\" pass","title":"update_lams"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.make_sing_b_dm","text":"Make the single boson density matrix :math: \\langle b \\rangle . Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. Returns: NDArray [ T ] \u2013 Single boson density matrix. Source code in ebcc/cc/base.py 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 def make_sing_b_dm ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , ) -> NDArray [ T ]: r \"\"\"Make the single boson density matrix :math:`\\langle b \\rangle`. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. Returns: Single boson density matrix. \"\"\" func , kwargs = self . _load_function ( \"make_sing_b_dm\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) res : NDArray [ T ] = func ( ** kwargs ) return res","title":"make_sing_b_dm"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.make_rdm1_b","text":"Make the one-particle boson reduced density matrix :math: \\langle b^+ c \\rangle . Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. unshifted ( bool , default: True ) \u2013 If self.options.shift is True , return the unshifted density matrix. Has no effect if self.options.shift is False . hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: NDArray [ T ] \u2013 One-particle boson reduced density matrix. Source code in ebcc/cc/base.py 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 def make_rdm1_b ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , unshifted : bool = True , hermitise : bool = True , ) -> NDArray [ T ]: r \"\"\"Make the one-particle boson reduced density matrix :math:`\\langle b^+ c \\rangle`. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. unshifted: If `self.options.shift` is `True`, return the unshifted density matrix. Has no effect if `self.options.shift` is `False`. hermitise: Hermitise the density matrix. Returns: One-particle boson reduced density matrix. \"\"\" func , kwargs = self . _load_function ( \"make_rdm1_b\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) dm : NDArray [ T ] = func ( ** kwargs ) if hermitise : dm = ( dm + np . transpose ( dm )) * 0.5 if unshifted and self . options . shift : xi = self . xi dm_b = util . einsum ( \"ni->i\" , self . make_sing_b_dm ()) dm -= util . einsum ( \"ij,i->ij\" , np . eye ( dm . shape [ 0 ]), xi * dm_b - xi ** 2.0 ) return dm","title":"make_rdm1_b"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.make_rdm1_f","text":"Make the one-particle fermionic reduced density matrix :math: \\langle i^+ j \\rangle . Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: Any \u2013 One-particle fermion reduced density matrix. Source code in ebcc/cc/base.py 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 @abstractmethod def make_rdm1_f ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , hermitise : bool = True , ) -> Any : r \"\"\"Make the one-particle fermionic reduced density matrix :math:`\\langle i^+ j \\rangle`. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. hermitise: Hermitise the density matrix. Returns: One-particle fermion reduced density matrix. \"\"\" pass","title":"make_rdm1_f"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.make_rdm2_f","text":"Make the two-particle fermionic reduced density matrix :math: \\langle i^+j^+lk \\rangle . Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: Any \u2013 Two-particle fermion reduced density matrix. Source code in ebcc/cc/base.py 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 @abstractmethod def make_rdm2_f ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , hermitise : bool = True , ) -> Any : r \"\"\"Make the two-particle fermionic reduced density matrix :math:`\\langle i^+j^+lk \\rangle`. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. hermitise: Hermitise the density matrix. Returns: Two-particle fermion reduced density matrix. \"\"\" pass","title":"make_rdm2_f"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.make_eb_coup_rdm","text":"Make the electron-boson coupling reduced density matrix. .. math:: \\langle b^+ i^+ j \\rangle and .. math:: \\langle b i^+ j \\rangle Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. unshifted ( bool , default: True ) \u2013 If self.options.shift is True , return the unshifted density matrix. Has no effect if self.options.shift is False . hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: Any \u2013 Electron-boson coupling reduced density matrix. Source code in ebcc/cc/base.py 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 @abstractmethod def make_eb_coup_rdm ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , unshifted : bool = True , hermitise : bool = True , ) -> Any : r \"\"\"Make the electron-boson coupling reduced density matrix. .. math:: \\langle b^+ i^+ j \\rangle and .. math:: \\langle b i^+ j \\rangle Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. unshifted: If `self.options.shift` is `True`, return the unshifted density matrix. Has no effect if `self.options.shift` is `False`. hermitise: Hermitise the density matrix. Returns: Electron-boson coupling reduced density matrix. \"\"\" pass","title":"make_eb_coup_rdm"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.energy_sum","text":"Get a direct sum of energies. Parameters: *args ( str , default: () ) \u2013 Energies to sum. Subclass should specify a subscript, and optionally spins. signs_dict ( Optional [ dict [ str , str ]] , default: None ) \u2013 Signs of the energies in the sum. Default sets (\"o\", \"O\", \"i\") to be positive, and (\"v\", \"V\", \"a\", \"b\") to be negative. Returns: NDArray [ T ] \u2013 Sum of energies. Source code in ebcc/cc/base.py 797 798 799 800 801 802 803 804 805 806 807 808 809 @abstractmethod def energy_sum ( self , * args : str , signs_dict : Optional [ dict [ str , str ]] = None ) -> NDArray [ T ]: \"\"\"Get a direct sum of energies. Args: *args: Energies to sum. Subclass should specify a subscript, and optionally spins. signs_dict: Signs of the energies in the sum. Default sets `(\"o\", \"O\", \"i\")` to be positive, and `(\"v\", \"V\", \"a\", \"b\")` to be negative. Returns: Sum of energies. \"\"\" pass","title":"energy_sum"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.amplitudes_to_vector","text":"Construct a vector containing all of the amplitudes used in the given ansatz. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 Cluster amplitudes. Returns: NDArray [ T ] \u2013 Cluster amplitudes as a vector. Source code in ebcc/cc/base.py 811 812 813 814 815 816 817 818 819 820 821 @abstractmethod def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the amplitudes used in the given ansatz. Args: amplitudes: Cluster amplitudes. Returns: Cluster amplitudes as a vector. \"\"\" pass","title":"amplitudes_to_vector"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.vector_to_amplitudes","text":"Construct a namespace of amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 Cluster amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 Cluster amplitudes. Source code in ebcc/cc/base.py 823 824 825 826 827 828 829 830 831 832 833 @abstractmethod def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of amplitudes from a vector. Args: vector: Cluster amplitudes as a vector. Returns: Cluster amplitudes. \"\"\" pass","title":"vector_to_amplitudes"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.lambdas_to_vector","text":"Construct a vector containing all of the lambda amplitudes used in the given ansatz. Parameters: lambdas ( Namespace [ SpinArrayType ] ) \u2013 Cluster lambda amplitudes. Returns: NDArray [ T ] \u2013 Cluster lambda amplitudes as a vector. Source code in ebcc/cc/base.py 835 836 837 838 839 840 841 842 843 844 845 @abstractmethod def lambdas_to_vector ( self , lambdas : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the lambda amplitudes used in the given ansatz. Args: lambdas: Cluster lambda amplitudes. Returns: Cluster lambda amplitudes as a vector. \"\"\" pass","title":"lambdas_to_vector"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.vector_to_lambdas","text":"Construct a namespace of lambda amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 Cluster lambda amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 Cluster lambda amplitudes. Source code in ebcc/cc/base.py 847 848 849 850 851 852 853 854 855 856 857 @abstractmethod def vector_to_lambdas ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of lambda amplitudes from a vector. Args: vector: Cluster lambda amplitudes as a vector. Returns: Cluster lambda amplitudes. \"\"\" pass","title":"vector_to_lambdas"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.init_space","text":"Initialise the fermionic space. Returns: SpaceType \u2013 Fermionic space. All fermionic degrees of freedom are assumed to be correlated. Source code in ebcc/cc/base.py 879 880 881 882 883 884 885 886 @abstractmethod def init_space ( self ) -> SpaceType : \"\"\"Initialise the fermionic space. Returns: Fermionic space. All fermionic degrees of freedom are assumed to be correlated. \"\"\" pass","title":"init_space"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.get_fock","text":"Get the Fock matrix. Returns: BaseFock \u2013 Fock matrix. Source code in ebcc/cc/base.py 888 889 890 891 892 893 894 895 @abstractmethod def get_fock ( self ) -> BaseFock : \"\"\"Get the Fock matrix. Returns: Fock matrix. \"\"\" pass","title":"get_fock"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.get_eris","text":"Get the electron repulsion integrals. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Input electron repulsion integrals. Returns: BaseERIs \u2013 Electron repulsion integrals. Source code in ebcc/cc/base.py 897 898 899 900 901 902 903 904 905 906 907 @abstractmethod def get_eris ( self , eris : Optional [ ERIsInputType ] = None ) -> BaseERIs : \"\"\"Get the electron repulsion integrals. Args: eris: Input electron repulsion integrals. Returns: Electron repulsion integrals. \"\"\" pass","title":"get_eris"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.get_g","text":"Get the blocks of the electron-boson coupling matrix. This matrix corresponds to the bosonic annihilation operator. Returns: BaseElectronBoson \u2013 Electron-boson coupling matrix. Source code in ebcc/cc/base.py 909 910 911 912 913 914 915 916 917 def get_g ( self ) -> BaseElectronBoson : \"\"\"Get the blocks of the electron-boson coupling matrix. This matrix corresponds to the bosonic annihilation operator. Returns: Electron-boson coupling matrix. \"\"\" return self . ElectronBoson ( self , array = self . bare_g )","title":"get_g"},{"location":"reference/cc/base/#ebcc.cc.base.BaseEBCC.get_mean_field_G","text":"Get the mean-field boson non-conserving term. Returns: Any \u2013 Mean-field boson non-conserving term. Source code in ebcc/cc/base.py 919 920 921 922 923 924 925 926 @abstractmethod def get_mean_field_G ( self ) -> Any : \"\"\"Get the mean-field boson non-conserving term. Returns: Mean-field boson non-conserving term. \"\"\" pass","title":"get_mean_field_G"},{"location":"reference/cc/gebcc/","text":"Generalised electron-boson coupled cluster. ebcc . cc . gebcc . GEBCC ( mf , log = None , ansatz = 'CCSD' , options = None , space = None , omega = None , g = None , G = None , mo_coeff = None , mo_occ = None , fock = None , ** kwargs ) Bases: BaseEBCC Restricted electron-boson coupled cluster. Initialise the EBCC object. Parameters: mf ( SCF ) \u2013 PySCF mean-field object. log ( Optional [ Logger ] , default: None ) \u2013 Log to write output to. Default is the global logger, outputting to stderr . ansatz ( Optional [ Union [ Ansatz , str ]] , default: 'CCSD' ) \u2013 Overall ansatz. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EBCC calculation. space ( Optional [ SpaceType ] , default: None ) \u2013 Space containing the frozen, correlated, and active fermionic spaces. Default assumes all electrons are correlated. omega ( Optional [ NDArray [ T ]] , default: None ) \u2013 Bosonic frequencies. g ( Optional [ NDArray [ T ]] , default: None ) \u2013 Electron-boson coupling matrix corresponding to the bosonic annihilation operator :math: g_{bpq} p^\\dagger q b . The creation part is assumed to be the fermionic conjugate transpose to retain Hermiticity in the Hamiltonian. G ( Optional [ NDArray [ T ]] , default: None ) \u2013 Boson non-conserving term :math: G_{b} (b^\\dagger + b) . mo_coeff ( Optional [ NDArray [ T ]] , default: None ) \u2013 Molecular orbital coefficients. Default is the mean-field coefficients. mo_occ ( Optional [ NDArray [ T ]] , default: None ) \u2013 Molecular orbital occupation numbers. Default is the mean-field occupation. fock ( Optional [ BaseFock ] , default: None ) \u2013 Fock matrix. Default is the mean-field Fock matrix. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/cc/base.py 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 def __init__ ( self , mf : SCF , log : Optional [ Logger ] = None , ansatz : Optional [ Union [ Ansatz , str ]] = \"CCSD\" , options : Optional [ BaseOptions ] = None , space : Optional [ SpaceType ] = None , omega : Optional [ NDArray [ T ]] = None , g : Optional [ NDArray [ T ]] = None , G : Optional [ NDArray [ T ]] = None , mo_coeff : Optional [ NDArray [ T ]] = None , mo_occ : Optional [ NDArray [ T ]] = None , fock : Optional [ BaseFock ] = None , ** kwargs : Any , ) -> None : r \"\"\"Initialise the EBCC object. Args: mf: PySCF mean-field object. log: Log to write output to. Default is the global logger, outputting to `stderr`. ansatz: Overall ansatz. options: Options for the EBCC calculation. space: Space containing the frozen, correlated, and active fermionic spaces. Default assumes all electrons are correlated. omega: Bosonic frequencies. g: Electron-boson coupling matrix corresponding to the bosonic annihilation operator :math:`g_{bpq} p^\\dagger q b`. The creation part is assumed to be the fermionic conjugate transpose to retain Hermiticity in the Hamiltonian. G: Boson non-conserving term :math:`G_{b} (b^\\dagger + b)`. mo_coeff: Molecular orbital coefficients. Default is the mean-field coefficients. mo_occ: Molecular orbital occupation numbers. Default is the mean-field occupation. fock: Fock matrix. Default is the mean-field Fock matrix. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . log = default_log if log is None else log self . mf = self . _convert_mf ( mf ) self . _mo_coeff : Optional [ NDArray [ T ]] = ( np . asarray ( mo_coeff , dtype = types [ float ]) if mo_coeff is not None else None ) self . _mo_occ : Optional [ NDArray [ T ]] = ( np . asarray ( mo_occ , dtype = types [ float ]) if mo_occ is not None else None ) # Ansatz: if isinstance ( ansatz , Ansatz ): self . ansatz = ansatz elif isinstance ( ansatz , str ): self . ansatz = Ansatz . from_string ( ansatz , density_fitting = getattr ( self . mf , \"with_df\" , None ) is not None ) else : raise TypeError ( \"ansatz must be an Ansatz object or a string.\" ) self . _eqns = self . ansatz . _get_eqns ( self . spin_type ) # Space: if space is not None : self . space = space else : self . space = self . init_space () # Boson parameters: if bool ( self . fermion_coupling_rank ) != bool ( self . boson_coupling_rank ): raise ValueError ( \"Fermionic and bosonic coupling ranks must both be zero, or both non-zero.\" ) self . omega = np . asarray ( omega , dtype = types [ float ]) if omega is not None else None self . bare_g = np . asarray ( g , dtype = types [ float ]) if g is not None else None self . bare_G = np . asarray ( G , dtype = types [ float ]) if G is not None else None if self . boson_ansatz != \"\" : self . g = self . get_g () self . G = self . get_mean_field_G () if self . options . shift : self . log . info ( \" > Energy shift due to polaritonic basis: %.10f \" , self . const ) else : assert self . nbos == 0 self . options . shift = False self . g = None self . G = None # Fock matrix: if fock is None : self . fock = self . get_fock () else : self . fock = fock # Attributes: self . e_corr = 0.0 self . amplitudes = util . Namespace () self . converged = False self . lambdas = util . Namespace () self . converged_lambda = False # Logging: init_logging ( self . log ) 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 \" > 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 \" > diis_min_space: { ANSI . y }{ self . options . diis_min_space }{ ANSI . R } \" ) self . log . info ( f \" > damping: { ANSI . y }{ self . options . damping }{ ANSI . R } \" ) self . log . debug ( \"\" ) self . log . info ( f \" { ANSI . B } Ansatz { ANSI . R } : { ANSI . m }{ self . ansatz }{ ANSI . R } \" ) self . log . debug ( \"\" ) self . log . info ( f \" { ANSI . B } Space { ANSI . R } : { ANSI . m }{ self . space }{ ANSI . R } \" ) self . log . debug ( \"\" ) ebcc . cc . gebcc . GEBCC . spin_type : str property Get a string representation of the spin type. ebcc . cc . gebcc . GEBCC . bare_fock : NDArray [ T ] property Get the mean-field Fock matrix in the MO basis, including frozen parts. Returns an array and not a BaseFock object. Returns: NDArray [ T ] \u2013 Mean-field Fock matrix. ebcc . cc . gebcc . GEBCC . xi : NDArray [ T ] property Get the shift in the bosonic operators to diagonalise the photon Hamiltonian. Returns: NDArray [ T ] \u2013 Shift in the bosonic operators. ebcc . cc . gebcc . GEBCC . nmo : int property Get the number of molecular orbitals. Returns: int \u2013 Number of molecular orbitals. ebcc . cc . gebcc . GEBCC . nocc : int property Get the number of occupied molecular orbitals. Returns: int \u2013 Number of occupied molecular orbitals. ebcc . cc . gebcc . GEBCC . nvir : int property Get the number of virtual molecular orbitals. Returns: int \u2013 Number of virtual molecular orbitals. ebcc . cc . gebcc . GEBCC . ip_eom ( ** kwargs ) Get the IP-EOM object. Parameters: **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments. Returns: IP_GEOM \u2013 IP-EOM object. Source code in ebcc/cc/gebcc.py 60 61 62 63 64 65 66 67 68 69 def ip_eom ( self , ** kwargs : Any ) -> IP_GEOM : \"\"\"Get the IP-EOM object. Args: **kwargs: Additional keyword arguments. Returns: IP-EOM object. \"\"\" return IP_GEOM ( self , ** kwargs ) ebcc . cc . gebcc . GEBCC . ea_eom ( ** kwargs ) Get the EA-EOM object. Parameters: **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments. Returns: EA_GEOM \u2013 EA-EOM object. Source code in ebcc/cc/gebcc.py 71 72 73 74 75 76 77 78 79 80 def ea_eom ( self , ** kwargs : Any ) -> EA_GEOM : \"\"\"Get the EA-EOM object. Args: **kwargs: Additional keyword arguments. Returns: EA-EOM object. \"\"\" return EA_GEOM ( self , ** kwargs ) ebcc . cc . gebcc . GEBCC . ee_eom ( ** kwargs ) Get the EE-EOM object. Parameters: **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments. Returns: EE_GEOM \u2013 EE-EOM object. Source code in ebcc/cc/gebcc.py 82 83 84 85 86 87 88 89 90 91 def ee_eom ( self , ** kwargs : Any ) -> EE_GEOM : \"\"\"Get the EE-EOM object. Args: **kwargs: Additional keyword arguments. Returns: EE-EOM object. \"\"\" return EE_GEOM ( self , ** kwargs ) ebcc . cc . gebcc . GEBCC . from_uebcc ( ucc ) classmethod Initialise a GEBCC object from an UEBCC object. Parameters: ucc ( UEBCC ) \u2013 Unrestricted electron-boson coupled cluster object. Returns: GEBCC \u2013 GEBCC object. Source code in ebcc/cc/gebcc.py 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 @classmethod def from_uebcc ( cls , ucc : UEBCC ) -> GEBCC : \"\"\"Initialise a `GEBCC` object from an `UEBCC` object. Args: ucc: Unrestricted electron-boson coupled cluster object. Returns: GEBCC object. \"\"\" orbspin = np . asarray ( scf . addons . get_ghf_orbspin ( ucc . mf . mo_energy , ucc . mf . mo_occ , False )) nocc = ucc . space [ 0 ] . nocc + ucc . space [ 1 ] . nocc nvir = ucc . space [ 0 ] . nvir + ucc . space [ 1 ] . nvir nbos = ucc . nbos sa = np . where ( orbspin == 0 )[ 0 ] sb = np . where ( orbspin == 1 )[ 0 ] occupied = np . zeros (( nocc + nvir ,), dtype = np . bool_ ) occupied = _put ( occupied , sa , np . copy ( ucc . space [ 0 ] . _occupied )) occupied = _put ( occupied , sb , np . copy ( ucc . space [ 1 ] . _occupied )) frozen = np . zeros (( nocc + nvir ,), dtype = np . bool_ ) frozen = _put ( frozen , sa , np . copy ( ucc . space [ 0 ] . _frozen )) frozen = _put ( frozen , sb , np . copy ( ucc . space [ 1 ] . _frozen )) active = np . zeros (( nocc + nvir ,), dtype = np . bool_ ) active = _put ( active , sa , np . copy ( ucc . space [ 0 ] . _active )) active = _put ( active , sb , np . copy ( ucc . space [ 1 ] . _active )) space = Space ( occupied , frozen , active ) slices = util . Namespace ( a = util . Namespace ( ** { k : np . where ( orbspin [ space . mask ( k )] == 0 )[ 0 ] for k in \"oOivVa\" }), b = util . Namespace ( ** { k : np . where ( orbspin [ space . mask ( k )] == 1 )[ 0 ] for k in \"oOivVa\" }), ) g : Optional [ NDArray [ T ]] = None if ucc . bare_g is not None : if ucc . bare_g . ndim == 3 : bare_g_a = bare_g_b = ucc . bare_g else : bare_g_a , bare_g_b = ucc . bare_g g = np . zeros (( ucc . nbos , ucc . nmo * 2 , ucc . nmo * 2 ), dtype = types [ float ]) g = _put ( g , np . ix_ ( np . arange ( ucc . nbos ), sa , sa ), np . copy ( bare_g_a )) g = _put ( g , np . ix_ ( np . arange ( ucc . nbos ), sb , sb ), np . copy ( bare_g_b )) gcc = cls ( ucc . mf , log = ucc . log , ansatz = ucc . ansatz , space = space , omega = ucc . omega , g = g , G = ucc . bare_G , options = ucc . options , ) gcc . e_corr = ucc . e_corr gcc . converged = ucc . converged gcc . converged_lambda = ucc . converged_lambda has_amps = bool ( ucc . amplitudes ) has_lams = bool ( ucc . lambdas ) if has_amps : amplitudes : Namespace [ SpinArrayType ] = util . Namespace () for name , key , n in ucc . ansatz . fermionic_cluster_ranks ( spin_type = ucc . spin_type ): shape = tuple ( space . size ( k ) for k in key ) amplitudes [ name ] = np . zeros ( shape , dtype = types [ float ]) for comb in util . generate_spin_combinations ( n , unique = True ): done = set () for lperm , lsign in util . permutations_with_signs ( tuple ( range ( n ))): for uperm , usign in util . permutations_with_signs ( tuple ( range ( n ))): combn = util . permute_string ( comb [: n ], lperm ) combn += util . permute_string ( comb [ n :], uperm ) if combn in done : continue mask = np . ix_ ( * [ slices [ s ][ k ] for s , k in zip ( combn , key )]) transpose = tuple ( lperm ) + tuple ( p + n for p in uperm ) amp = ( np . transpose ( getattr ( ucc . amplitudes [ name ], comb ), transpose ) * lsign * usign ) for perm , sign in util . permutations_with_signs ( tuple ( range ( n ))): transpose = tuple ( perm ) + tuple ( range ( n , 2 * n )) if util . permute_string ( comb [: n ], perm ) == comb [: n ]: amplitudes [ name ] = _put ( amplitudes [ name ], mask , amplitudes [ name ][ mask ] + np . transpose ( amp , transpose ) * sign , ) done . add ( combn ) for name , key , n in ucc . ansatz . bosonic_cluster_ranks ( spin_type = ucc . spin_type ): amplitudes [ name ] = np . copy ( ucc . amplitudes [ name ]) # type: ignore for name , key , nf , nb in ucc . ansatz . coupling_cluster_ranks ( spin_type = ucc . spin_type ): shape = ( nbos ,) * nb + tuple ( space . size ( k ) for k in key [ nb :]) amplitudes [ name ] = np . zeros ( shape , dtype = types [ float ]) for comb in util . generate_spin_combinations ( nf ): done = set () for lperm , lsign in util . permutations_with_signs ( tuple ( range ( nf ))): for uperm , usign in util . permutations_with_signs ( tuple ( range ( nf ))): combn = util . permute_string ( comb [: nf ], lperm ) combn += util . permute_string ( comb [ nf :], uperm ) if combn in done : continue mask = np . ix_ ( * ([ np . arange ( nbos )] * nb ), * [ slices [ s ][ k ] for s , k in zip ( combn , key [ nb :])], ) transpose = ( tuple ( range ( nb )) + tuple ( p + nb for p in lperm ) + tuple ( p + nb + nf for p in uperm ) ) amp = ( np . transpose ( getattr ( ucc . amplitudes [ name ], comb ), transpose ) * lsign * usign ) for perm , sign in util . permutations_with_signs ( tuple ( range ( nf ))): transpose = ( tuple ( range ( nb )) + tuple ( p + nb for p in perm ) + tuple ( range ( nb + nf , nb + 2 * nf )) ) if util . permute_string ( comb [: nf ], perm ) == comb [: nf ]: amplitudes [ name ] = _put ( amplitudes [ name ], mask , amplitudes [ name ][ mask ] + np . transpose ( amp , transpose ) * sign , ) done . add ( combn ) gcc . amplitudes = amplitudes if has_lams : lambdas = gcc . init_lams () # Easier this way - but have to build ERIs... for name , key , n in ucc . ansatz . fermionic_cluster_ranks ( spin_type = ucc . spin_type ): lname = name . replace ( \"t\" , \"l\" ) shape = tuple ( space . size ( k ) for k in key [ n :] + key [: n ]) lambdas [ lname ] = np . zeros ( shape , dtype = types [ float ]) for comb in util . generate_spin_combinations ( n , unique = True ): done = set () for lperm , lsign in util . permutations_with_signs ( tuple ( range ( n ))): for uperm , usign in util . permutations_with_signs ( tuple ( range ( n ))): combn = util . permute_string ( comb [: n ], lperm ) combn += util . permute_string ( comb [ n :], uperm ) if combn in done : continue mask = np . ix_ ( * [ slices [ s ][ k ] for s , k in zip ( combn , key [ n :] + key [: n ])]) transpose = tuple ( lperm ) + tuple ( p + n for p in uperm ) amp = ( np . transpose ( getattr ( ucc . lambdas [ lname ], comb ), transpose ) * lsign * usign ) for perm , sign in util . permutations_with_signs ( tuple ( range ( n ))): transpose = tuple ( perm ) + tuple ( range ( n , 2 * n )) if util . permute_string ( comb [: n ], perm ) == comb [: n ]: lambdas [ lname ] = _put ( lambdas [ lname ], mask , lambdas [ lname ][ mask ] + np . transpose ( amp , transpose ) * sign , ) done . add ( combn ) for name , key , n in ucc . ansatz . bosonic_cluster_ranks ( spin_type = ucc . spin_type ): lname = \"l\" + name lambdas [ lname ] = np . copy ( ucc . lambdas [ lname ]) # type: ignore for name , key , nf , nb in ucc . ansatz . coupling_cluster_ranks ( spin_type = ucc . spin_type ): lname = \"l\" + name shape = ( nbos ,) * nb + tuple ( space . size ( k ) for k in key [ nb + nf :] + key [ nb : nb + nf ] ) lambdas [ lname ] = np . zeros ( shape , dtype = types [ float ]) for comb in util . generate_spin_combinations ( nf , unique = True ): done = set () for lperm , lsign in util . permutations_with_signs ( tuple ( range ( nf ))): for uperm , usign in util . permutations_with_signs ( tuple ( range ( nf ))): combn = util . permute_string ( comb [: nf ], lperm ) combn += util . permute_string ( comb [ nf :], uperm ) if combn in done : continue mask = np . ix_ ( * ([ np . arange ( nbos )] * nb ), * [ slices [ s ][ k ] for s , k in zip ( combn , key [ nb + nf :] + key [ nb : nb + nf ]) ], ) transpose = ( tuple ( range ( nb )) + tuple ( p + nb for p in lperm ) + tuple ( p + nb + nf for p in uperm ) ) amp = ( np . transpose ( getattr ( ucc . lambdas [ lname ], comb ), transpose ) * lsign * usign ) for perm , sign in util . permutations_with_signs ( tuple ( range ( nf ))): transpose = ( tuple ( range ( nb )) + tuple ( p + nb for p in perm ) + tuple ( range ( nb + nf , nb + 2 * nf )) ) if util . permute_string ( comb [: nf ], perm ) == comb [: nf ]: lambdas [ lname ] = _put ( lambdas [ lname ], mask , lambdas [ lname ][ mask ] + np . transpose ( amp , transpose ) * sign , ) done . add ( combn ) gcc . lambdas = lambdas return gcc ebcc . cc . gebcc . GEBCC . from_rebcc ( rcc ) classmethod Initialise a GEBCC object from an REBCC object. Parameters: rcc ( REBCC ) \u2013 Restricted electron-boson coupled cluster object. Returns: GEBCC \u2013 GEBCC object. Source code in ebcc/cc/gebcc.py 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 @classmethod def from_rebcc ( cls , rcc : REBCC ) -> GEBCC : \"\"\"Initialise a `GEBCC` object from an `REBCC` object. Args: rcc: Restricted electron-boson coupled cluster object. Returns: GEBCC object. \"\"\" from ebcc.cc.uebcc import UEBCC ucc = UEBCC . from_rebcc ( rcc ) gcc = cls . from_uebcc ( ucc ) return gcc ebcc . cc . gebcc . GEBCC . init_space () Initialise the fermionic space. Returns: SpaceType \u2013 Fermionic space. All fermionic degrees of freedom are assumed to be correlated. Source code in ebcc/cc/gebcc.py 346 347 348 349 350 351 352 353 354 355 356 357 def init_space ( self ) -> SpaceType : \"\"\"Initialise the fermionic space. Returns: Fermionic space. All fermionic degrees of freedom are assumed to be correlated. \"\"\" space = Space ( self . mo_occ > 0 , np . zeros ( self . mo_occ . shape , dtype = np . bool_ ), np . zeros ( self . mo_occ . shape , dtype = np . bool_ ), ) return space ebcc . cc . gebcc . GEBCC . init_amps ( eris = None ) Initialise the cluster amplitudes. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. Returns: Namespace [ SpinArrayType ] \u2013 Initial cluster amplitudes. Source code in ebcc/cc/gebcc.py 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 def init_amps ( self , eris : Optional [ ERIsInputType ] = None ) -> Namespace [ SpinArrayType ]: \"\"\"Initialise the cluster amplitudes. Args: eris: Electron repulsion integrals. Returns: Initial cluster amplitudes. \"\"\" eris = self . get_eris ( eris ) amplitudes : Namespace [ SpinArrayType ] = util . Namespace () # Build T amplitudes: for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): if n == 1 : amplitudes [ name ] = getattr ( self . fock , key ) / self . energy_sum ( key ) elif n == 2 : amplitudes [ name ] = getattr ( eris , key ) / self . energy_sum ( key ) else : shape = tuple ( self . space . size ( k ) for k in key ) amplitudes [ name ] = np . zeros ( shape , dtype = types [ float ]) # Build S amplitudes: for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): if self . omega is None or self . G is None : raise ValueError ( \"Bosonic parameters not set.\" ) if n == 1 : amplitudes [ name ] = - self . G / self . omega else : shape = ( self . nbos ,) * n amplitudes [ name ] = np . zeros ( shape , dtype = types [ float ]) # Build U amplitudes: for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): if self . omega is None or self . g is None : raise ValueError ( \"Bosonic parameters not set.\" ) if nf != 1 : raise util . ModelNotImplemented if n == 1 : amplitudes [ name ] = self . g [ key ] / self . energy_sum ( key ) else : shape = ( self . nbos ,) * nb + tuple ( self . space . size ( k ) for k in key [ nb :]) amplitudes [ name ] = np . zeros ( shape , dtype = types [ float ]) return amplitudes ebcc . cc . gebcc . GEBCC . init_lams ( amplitudes = None ) Initialise the cluster lambda amplitudes. Parameters: amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: Namespace [ SpinArrayType ] \u2013 Initial cluster lambda amplitudes. Source code in ebcc/cc/gebcc.py 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 def init_lams ( self , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None ) -> Namespace [ SpinArrayType ]: \"\"\"Initialise the cluster lambda amplitudes. Args: amplitudes: Cluster amplitudes. Returns: Initial cluster lambda amplitudes. \"\"\" if not amplitudes : amplitudes = self . amplitudes lambdas : Namespace [ SpinArrayType ] = util . Namespace () # Build L amplitudes: for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): lname = name . replace ( \"t\" , \"l\" ) perm = list ( range ( n , 2 * n )) + list ( range ( n )) lambdas [ lname ] = np . transpose ( amplitudes [ name ], perm ) # Build LS amplitudes: for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): lname = \"l\" + name lambdas [ lname ] = amplitudes [ name ] # Build LU amplitudes: for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): if nf != 1 : raise util . ModelNotImplemented lname = \"l\" + name perm = list ( range ( nb )) + [ nb + 1 , nb ] lambdas [ lname ] = np . transpose ( amplitudes [ name ], perm ) return lambdas ebcc . cc . gebcc . GEBCC . update_amps ( eris = None , amplitudes = None ) Update the cluster amplitudes. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: Namespace [ SpinArrayType ] \u2013 Updated cluster amplitudes. Source code in ebcc/cc/gebcc.py 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 def update_amps ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , ) -> Namespace [ SpinArrayType ]: \"\"\"Update the cluster amplitudes. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. Returns: Updated cluster amplitudes. \"\"\" amplitudes = self . _get_amps ( amplitudes = amplitudes ) func , kwargs = self . _load_function ( \"update_amps\" , eris = eris , amplitudes = amplitudes , ) res : Namespace [ SpinArrayType ] = func ( ** kwargs ) res = util . Namespace ( ** { key . rstrip ( \"new\" ): val for key , val in res . items ()}) # Divide T amplitudes: for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): res [ name ] /= self . energy_sum ( key ) res [ name ] += amplitudes [ name ] # Divide S amplitudes: for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): res [ name ] /= self . energy_sum ( key ) res [ name ] += amplitudes [ name ] # Divide U amplitudes: for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): if nf != 1 : raise util . ModelNotImplemented res [ name ] /= self . energy_sum ( key ) res [ name ] += amplitudes [ name ] return res ebcc . cc . gebcc . GEBCC . update_lams ( eris = None , amplitudes = None , lambdas = None , lambdas_pert = None , perturbative = False ) Update the cluster lambda amplitudes. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. lambdas_pert ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Perturbative cluster lambda amplitudes. perturbative ( bool , default: False ) \u2013 Flag to include perturbative correction. Returns: Namespace [ SpinArrayType ] \u2013 Updated cluster lambda amplitudes. Source code in ebcc/cc/gebcc.py 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 def update_lams ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , lambdas_pert : Optional [ Namespace [ SpinArrayType ]] = None , perturbative : bool = False , ) -> Namespace [ SpinArrayType ]: \"\"\"Update the cluster lambda amplitudes. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. lambdas_pert: Perturbative cluster lambda amplitudes. perturbative: Flag to include perturbative correction. Returns: Updated cluster lambda amplitudes. \"\"\" # TODO active amplitudes = self . _get_amps ( amplitudes = amplitudes ) lambdas = self . _get_lams ( lambdas = lambdas , amplitudes = amplitudes ) if lambdas_pert is not None : lambdas . update ( lambdas_pert ) func , kwargs = self . _load_function ( \"update_lams %s \" % ( \"_perturbative\" if perturbative else \"\" ), eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) res : Namespace [ SpinArrayType ] = func ( ** kwargs ) res = util . Namespace ( ** { key . rstrip ( \"new\" ): val for key , val in res . items ()}) # Divide T amplitudes: for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): res [ name ] /= self . energy_sum ( key ) if not perturbative : res [ name ] += lambdas [ name ] # Divide S amplitudes: for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): res [ name ] /= self . energy_sum ( key ) if not perturbative : res [ name ] += lambdas [ name ] # Divide U amplitudes: for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): if nf != 1 : raise util . ModelNotImplemented res [ name ] /= self . energy_sum ( key ) if not perturbative : res [ name ] += lambdas [ name ] if perturbative : res = Namespace ( ** { key + \"pert\" : val for key , val in res . items ()}) return res ebcc . cc . gebcc . GEBCC . make_rdm1_f ( eris = None , amplitudes = None , lambdas = None , hermitise = True ) Make the one-particle fermionic reduced density matrix :math: \\langle i^+ j \\rangle . Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: SpinArrayType \u2013 One-particle fermion reduced density matrix. Source code in ebcc/cc/gebcc.py 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 def make_rdm1_f ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , hermitise : bool = True , ) -> SpinArrayType : r \"\"\"Make the one-particle fermionic reduced density matrix :math:`\\langle i^+ j \\rangle`. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. hermitise: Hermitise the density matrix. Returns: One-particle fermion reduced density matrix. \"\"\" func , kwargs = self . _load_function ( \"make_rdm1_f\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) dm : SpinArrayType = func ( ** kwargs ) if hermitise : dm = ( dm + np . transpose ( dm )) * 0.5 return dm ebcc . cc . gebcc . GEBCC . make_rdm2_f ( eris = None , amplitudes = None , lambdas = None , hermitise = True ) Make the two-particle fermionic reduced density matrix :math: \\langle i^+j^+lk \\rangle . Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: SpinArrayType \u2013 Two-particle fermion reduced density matrix. Source code in ebcc/cc/gebcc.py 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 def make_rdm2_f ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , hermitise : bool = True , ) -> SpinArrayType : r \"\"\"Make the two-particle fermionic reduced density matrix :math:`\\langle i^+j^+lk \\rangle`. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. hermitise: Hermitise the density matrix. Returns: Two-particle fermion reduced density matrix. \"\"\" func , kwargs = self . _load_function ( \"make_rdm2_f\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) dm : SpinArrayType = func ( ** kwargs ) if hermitise : dm = ( np . transpose ( dm , ( 0 , 1 , 2 , 3 )) + np . transpose ( dm , ( 2 , 3 , 0 , 1 ))) * 0.5 dm = ( np . transpose ( dm , ( 0 , 1 , 2 , 3 )) + np . transpose ( dm , ( 1 , 0 , 3 , 2 ))) * 0.5 return dm ebcc . cc . gebcc . GEBCC . make_eb_coup_rdm ( eris = None , amplitudes = None , lambdas = None , unshifted = True , hermitise = True ) Make the electron-boson coupling reduced density matrix. .. math:: \\langle b^+ i^+ j \\rangle and .. math:: \\langle b i^+ j \\rangle Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. unshifted ( bool , default: True ) \u2013 If self.options.shift is True , return the unshifted density matrix. Has no effect if self.options.shift is False . hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: SpinArrayType \u2013 Electron-boson coupling reduced density matrix. Source code in ebcc/cc/gebcc.py 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 def make_eb_coup_rdm ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , unshifted : bool = True , hermitise : bool = True , ) -> SpinArrayType : r \"\"\"Make the electron-boson coupling reduced density matrix. .. math:: \\langle b^+ i^+ j \\rangle and .. math:: \\langle b i^+ j \\rangle Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. unshifted: If `self.options.shift` is `True`, return the unshifted density matrix. Has no effect if `self.options.shift` is `False`. hermitise: Hermitise the density matrix. Returns: Electron-boson coupling reduced density matrix. \"\"\" func , kwargs = self . _load_function ( \"make_eb_coup_rdm\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) dm_eb : SpinArrayType = func ( ** kwargs ) if hermitise : dm_eb = np . array ( [ ( dm_eb [ 0 ] + np . transpose ( dm_eb [ 1 ], ( 0 , 2 , 1 ))) * 0.5 , ( dm_eb [ 1 ] + np . transpose ( dm_eb [ 0 ], ( 0 , 2 , 1 ))) * 0.5 , ] ) if unshifted and self . options . shift : rdm1_f = self . make_rdm1_f ( hermitise = hermitise ) shift = util . einsum ( \"x,ij->xij\" , self . xi , rdm1_f ) dm_eb -= shift [ None ] return dm_eb ebcc . cc . gebcc . GEBCC . energy_sum ( * args , signs_dict = None ) Get a direct sum of energies. Parameters: *args ( str , default: () ) \u2013 Energies to sum. Should specify a subscript only. signs_dict ( Optional [ dict [ str , str ]] , default: None ) \u2013 Signs of the energies in the sum. Default sets (\"o\", \"O\", \"i\") to be positive, and (\"v\", \"V\", \"a\", \"b\") to be negative. Returns: NDArray [ T ] \u2013 Sum of energies. Source code in ebcc/cc/gebcc.py 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 def energy_sum ( self , * args : str , signs_dict : Optional [ dict [ str , str ]] = None ) -> NDArray [ T ]: \"\"\"Get a direct sum of energies. Args: *args: Energies to sum. Should specify a subscript only. signs_dict: Signs of the energies in the sum. Default sets `(\"o\", \"O\", \"i\")` to be positive, and `(\"v\", \"V\", \"a\", \"b\")` to be negative. Returns: Sum of energies. \"\"\" ( subscript ,) = args n = 0 def next_char () -> str : nonlocal n if n < 26 : char = chr ( ord ( \"a\" ) + n ) else : char = chr ( ord ( \"A\" ) + n ) n += 1 return char if signs_dict is None : signs_dict = {} for k , s in zip ( \"vVaoOib\" , \"---+++-\" ): if k not in signs_dict : signs_dict [ k ] = s energies = [] for key in subscript : factor = 1 if signs_dict [ key ] == \"+\" else - 1 if key == \"b\" : assert self . omega is not None energies . append ( self . omega * types [ float ]( factor )) else : energies . append ( np . diag ( self . fock [ key + key ]) * types [ float ]( factor )) subscript = \",\" . join ([ next_char () for k in subscript ]) energy_sum = util . dirsum ( subscript , * energies ) return energy_sum ebcc . cc . gebcc . GEBCC . amplitudes_to_vector ( amplitudes ) Construct a vector containing all of the amplitudes used in the given ansatz. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 Cluster amplitudes. Returns: NDArray [ T ] \u2013 Cluster amplitudes as a vector. Source code in ebcc/cc/gebcc.py 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the amplitudes used in the given ansatz. Args: amplitudes: Cluster amplitudes. Returns: Cluster amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): vectors . append ( np . ravel ( amplitudes [ name ])) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): vectors . append ( np . ravel ( amplitudes [ name ])) for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): vectors . append ( np . ravel ( amplitudes [ name ])) return np . concatenate ( vectors ) ebcc . cc . gebcc . GEBCC . vector_to_amplitudes ( vector ) Construct a namespace of amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 Cluster amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 Cluster amplitudes. Source code in ebcc/cc/gebcc.py 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of amplitudes from a vector. Args: vector: Cluster amplitudes as a vector. Returns: Cluster amplitudes. \"\"\" amplitudes : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): shape = tuple ( self . space . size ( k ) for k in key ) size = util . prod ( shape ) amplitudes [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): shape = ( self . nbos ,) * n size = util . prod ( shape ) amplitudes [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): shape = ( self . nbos ,) * nb + tuple ( self . space . size ( k ) for k in key [ nb :]) size = util . prod ( shape ) amplitudes [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size return amplitudes ebcc . cc . gebcc . GEBCC . lambdas_to_vector ( lambdas ) Construct a vector containing all of the lambda amplitudes used in the given ansatz. Parameters: lambdas ( Namespace [ SpinArrayType ] ) \u2013 Cluster lambda amplitudes. Returns: NDArray [ T ] \u2013 Cluster lambda amplitudes as a vector. Source code in ebcc/cc/gebcc.py 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 def lambdas_to_vector ( self , lambdas : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the lambda amplitudes used in the given ansatz. Args: lambdas: Cluster lambda amplitudes. Returns: Cluster lambda amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): vectors . append ( np . ravel ( lambdas [ name ])) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): vectors . append ( np . ravel ( lambdas [ name ])) for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): vectors . append ( np . ravel ( lambdas [ name ])) return np . concatenate ( vectors ) ebcc . cc . gebcc . GEBCC . vector_to_lambdas ( vector ) Construct a namespace of lambda amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 Cluster lambda amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 Cluster lambda amplitudes. Source code in ebcc/cc/gebcc.py 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 def vector_to_lambdas ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of lambda amplitudes from a vector. Args: vector: Cluster lambda amplitudes as a vector. Returns: Cluster lambda amplitudes. \"\"\" lambdas : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): shape = tuple ( self . space . size ( k ) for k in key ) size = util . prod ( shape ) lambdas [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): shape = ( self . nbos ,) * n size = util . prod ( shape ) lambdas [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): shape = ( self . nbos ,) * nb + tuple ( self . space . size ( k ) for k in key [ nb :]) size = util . prod ( shape ) lambdas [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size return lambdas ebcc . cc . gebcc . GEBCC . get_mean_field_G () Get the mean-field boson non-conserving term. Returns: NDArray [ T ] \u2013 Mean-field boson non-conserving term. Source code in ebcc/cc/gebcc.py 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 def get_mean_field_G ( self ) -> NDArray [ T ]: \"\"\"Get the mean-field boson non-conserving term. Returns: Mean-field boson non-conserving term. \"\"\" assert self . g is not None assert self . omega is not None # FIXME should this also sum in frozen orbitals? boo : NDArray [ T ] = self . g . boo val = util . einsum ( \"Ipp->I\" , boo ) val -= self . xi * self . omega if self . bare_G is not None : val += self . bare_G return val ebcc . cc . gebcc . GEBCC . get_fock () Get the Fock matrix. Returns: GFock \u2013 Fock matrix. Source code in ebcc/cc/gebcc.py 891 892 893 894 895 896 897 def get_fock ( self ) -> GFock : \"\"\"Get the Fock matrix. Returns: Fock matrix. \"\"\" return self . Fock ( self , array = self . bare_fock , g = self . g ) ebcc . cc . gebcc . GEBCC . get_eris ( eris = None ) Get the electron repulsion integrals. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Input electron repulsion integrals. Returns: GERIs \u2013 Electron repulsion integrals. Source code in ebcc/cc/gebcc.py 899 900 901 902 903 904 905 906 907 908 909 910 911 def get_eris ( self , eris : Optional [ ERIsInputType ] = None ) -> GERIs : \"\"\"Get the electron repulsion integrals. Args: eris: Input electron repulsion integrals. Returns: Electron repulsion integrals. \"\"\" if isinstance ( eris , GERIs ): return eris else : return self . ERIs ( self , array = eris )","title":"Generalised"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC","text":"Bases: BaseEBCC Restricted electron-boson coupled cluster. Initialise the EBCC object. Parameters: mf ( SCF ) \u2013 PySCF mean-field object. log ( Optional [ Logger ] , default: None ) \u2013 Log to write output to. Default is the global logger, outputting to stderr . ansatz ( Optional [ Union [ Ansatz , str ]] , default: 'CCSD' ) \u2013 Overall ansatz. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EBCC calculation. space ( Optional [ SpaceType ] , default: None ) \u2013 Space containing the frozen, correlated, and active fermionic spaces. Default assumes all electrons are correlated. omega ( Optional [ NDArray [ T ]] , default: None ) \u2013 Bosonic frequencies. g ( Optional [ NDArray [ T ]] , default: None ) \u2013 Electron-boson coupling matrix corresponding to the bosonic annihilation operator :math: g_{bpq} p^\\dagger q b . The creation part is assumed to be the fermionic conjugate transpose to retain Hermiticity in the Hamiltonian. G ( Optional [ NDArray [ T ]] , default: None ) \u2013 Boson non-conserving term :math: G_{b} (b^\\dagger + b) . mo_coeff ( Optional [ NDArray [ T ]] , default: None ) \u2013 Molecular orbital coefficients. Default is the mean-field coefficients. mo_occ ( Optional [ NDArray [ T ]] , default: None ) \u2013 Molecular orbital occupation numbers. Default is the mean-field occupation. fock ( Optional [ BaseFock ] , default: None ) \u2013 Fock matrix. Default is the mean-field Fock matrix. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/cc/base.py 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 def __init__ ( self , mf : SCF , log : Optional [ Logger ] = None , ansatz : Optional [ Union [ Ansatz , str ]] = \"CCSD\" , options : Optional [ BaseOptions ] = None , space : Optional [ SpaceType ] = None , omega : Optional [ NDArray [ T ]] = None , g : Optional [ NDArray [ T ]] = None , G : Optional [ NDArray [ T ]] = None , mo_coeff : Optional [ NDArray [ T ]] = None , mo_occ : Optional [ NDArray [ T ]] = None , fock : Optional [ BaseFock ] = None , ** kwargs : Any , ) -> None : r \"\"\"Initialise the EBCC object. Args: mf: PySCF mean-field object. log: Log to write output to. Default is the global logger, outputting to `stderr`. ansatz: Overall ansatz. options: Options for the EBCC calculation. space: Space containing the frozen, correlated, and active fermionic spaces. Default assumes all electrons are correlated. omega: Bosonic frequencies. g: Electron-boson coupling matrix corresponding to the bosonic annihilation operator :math:`g_{bpq} p^\\dagger q b`. The creation part is assumed to be the fermionic conjugate transpose to retain Hermiticity in the Hamiltonian. G: Boson non-conserving term :math:`G_{b} (b^\\dagger + b)`. mo_coeff: Molecular orbital coefficients. Default is the mean-field coefficients. mo_occ: Molecular orbital occupation numbers. Default is the mean-field occupation. fock: Fock matrix. Default is the mean-field Fock matrix. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . log = default_log if log is None else log self . mf = self . _convert_mf ( mf ) self . _mo_coeff : Optional [ NDArray [ T ]] = ( np . asarray ( mo_coeff , dtype = types [ float ]) if mo_coeff is not None else None ) self . _mo_occ : Optional [ NDArray [ T ]] = ( np . asarray ( mo_occ , dtype = types [ float ]) if mo_occ is not None else None ) # Ansatz: if isinstance ( ansatz , Ansatz ): self . ansatz = ansatz elif isinstance ( ansatz , str ): self . ansatz = Ansatz . from_string ( ansatz , density_fitting = getattr ( self . mf , \"with_df\" , None ) is not None ) else : raise TypeError ( \"ansatz must be an Ansatz object or a string.\" ) self . _eqns = self . ansatz . _get_eqns ( self . spin_type ) # Space: if space is not None : self . space = space else : self . space = self . init_space () # Boson parameters: if bool ( self . fermion_coupling_rank ) != bool ( self . boson_coupling_rank ): raise ValueError ( \"Fermionic and bosonic coupling ranks must both be zero, or both non-zero.\" ) self . omega = np . asarray ( omega , dtype = types [ float ]) if omega is not None else None self . bare_g = np . asarray ( g , dtype = types [ float ]) if g is not None else None self . bare_G = np . asarray ( G , dtype = types [ float ]) if G is not None else None if self . boson_ansatz != \"\" : self . g = self . get_g () self . G = self . get_mean_field_G () if self . options . shift : self . log . info ( \" > Energy shift due to polaritonic basis: %.10f \" , self . const ) else : assert self . nbos == 0 self . options . shift = False self . g = None self . G = None # Fock matrix: if fock is None : self . fock = self . get_fock () else : self . fock = fock # Attributes: self . e_corr = 0.0 self . amplitudes = util . Namespace () self . converged = False self . lambdas = util . Namespace () self . converged_lambda = False # Logging: init_logging ( self . log ) 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 \" > 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 \" > diis_min_space: { ANSI . y }{ self . options . diis_min_space }{ ANSI . R } \" ) self . log . info ( f \" > damping: { ANSI . y }{ self . options . damping }{ ANSI . R } \" ) self . log . debug ( \"\" ) self . log . info ( f \" { ANSI . B } Ansatz { ANSI . R } : { ANSI . m }{ self . ansatz }{ ANSI . R } \" ) self . log . debug ( \"\" ) self . log . info ( f \" { ANSI . B } Space { ANSI . R } : { ANSI . m }{ self . space }{ ANSI . R } \" ) self . log . debug ( \"\" )","title":"GEBCC"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.spin_type","text":"Get a string representation of the spin type.","title":"spin_type"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.bare_fock","text":"Get the mean-field Fock matrix in the MO basis, including frozen parts. Returns an array and not a BaseFock object. Returns: NDArray [ T ] \u2013 Mean-field Fock matrix.","title":"bare_fock"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.xi","text":"Get the shift in the bosonic operators to diagonalise the photon Hamiltonian. Returns: NDArray [ T ] \u2013 Shift in the bosonic operators.","title":"xi"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.nmo","text":"Get the number of molecular orbitals. Returns: int \u2013 Number of molecular orbitals.","title":"nmo"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.nocc","text":"Get the number of occupied molecular orbitals. Returns: int \u2013 Number of occupied molecular orbitals.","title":"nocc"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.nvir","text":"Get the number of virtual molecular orbitals. Returns: int \u2013 Number of virtual molecular orbitals.","title":"nvir"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.ip_eom","text":"Get the IP-EOM object. Parameters: **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments. Returns: IP_GEOM \u2013 IP-EOM object. Source code in ebcc/cc/gebcc.py 60 61 62 63 64 65 66 67 68 69 def ip_eom ( self , ** kwargs : Any ) -> IP_GEOM : \"\"\"Get the IP-EOM object. Args: **kwargs: Additional keyword arguments. Returns: IP-EOM object. \"\"\" return IP_GEOM ( self , ** kwargs )","title":"ip_eom"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.ea_eom","text":"Get the EA-EOM object. Parameters: **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments. Returns: EA_GEOM \u2013 EA-EOM object. Source code in ebcc/cc/gebcc.py 71 72 73 74 75 76 77 78 79 80 def ea_eom ( self , ** kwargs : Any ) -> EA_GEOM : \"\"\"Get the EA-EOM object. Args: **kwargs: Additional keyword arguments. Returns: EA-EOM object. \"\"\" return EA_GEOM ( self , ** kwargs )","title":"ea_eom"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.ee_eom","text":"Get the EE-EOM object. Parameters: **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments. Returns: EE_GEOM \u2013 EE-EOM object. Source code in ebcc/cc/gebcc.py 82 83 84 85 86 87 88 89 90 91 def ee_eom ( self , ** kwargs : Any ) -> EE_GEOM : \"\"\"Get the EE-EOM object. Args: **kwargs: Additional keyword arguments. Returns: EE-EOM object. \"\"\" return EE_GEOM ( self , ** kwargs )","title":"ee_eom"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.from_uebcc","text":"Initialise a GEBCC object from an UEBCC object. Parameters: ucc ( UEBCC ) \u2013 Unrestricted electron-boson coupled cluster object. Returns: GEBCC \u2013 GEBCC object. Source code in ebcc/cc/gebcc.py 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 @classmethod def from_uebcc ( cls , ucc : UEBCC ) -> GEBCC : \"\"\"Initialise a `GEBCC` object from an `UEBCC` object. Args: ucc: Unrestricted electron-boson coupled cluster object. Returns: GEBCC object. \"\"\" orbspin = np . asarray ( scf . addons . get_ghf_orbspin ( ucc . mf . mo_energy , ucc . mf . mo_occ , False )) nocc = ucc . space [ 0 ] . nocc + ucc . space [ 1 ] . nocc nvir = ucc . space [ 0 ] . nvir + ucc . space [ 1 ] . nvir nbos = ucc . nbos sa = np . where ( orbspin == 0 )[ 0 ] sb = np . where ( orbspin == 1 )[ 0 ] occupied = np . zeros (( nocc + nvir ,), dtype = np . bool_ ) occupied = _put ( occupied , sa , np . copy ( ucc . space [ 0 ] . _occupied )) occupied = _put ( occupied , sb , np . copy ( ucc . space [ 1 ] . _occupied )) frozen = np . zeros (( nocc + nvir ,), dtype = np . bool_ ) frozen = _put ( frozen , sa , np . copy ( ucc . space [ 0 ] . _frozen )) frozen = _put ( frozen , sb , np . copy ( ucc . space [ 1 ] . _frozen )) active = np . zeros (( nocc + nvir ,), dtype = np . bool_ ) active = _put ( active , sa , np . copy ( ucc . space [ 0 ] . _active )) active = _put ( active , sb , np . copy ( ucc . space [ 1 ] . _active )) space = Space ( occupied , frozen , active ) slices = util . Namespace ( a = util . Namespace ( ** { k : np . where ( orbspin [ space . mask ( k )] == 0 )[ 0 ] for k in \"oOivVa\" }), b = util . Namespace ( ** { k : np . where ( orbspin [ space . mask ( k )] == 1 )[ 0 ] for k in \"oOivVa\" }), ) g : Optional [ NDArray [ T ]] = None if ucc . bare_g is not None : if ucc . bare_g . ndim == 3 : bare_g_a = bare_g_b = ucc . bare_g else : bare_g_a , bare_g_b = ucc . bare_g g = np . zeros (( ucc . nbos , ucc . nmo * 2 , ucc . nmo * 2 ), dtype = types [ float ]) g = _put ( g , np . ix_ ( np . arange ( ucc . nbos ), sa , sa ), np . copy ( bare_g_a )) g = _put ( g , np . ix_ ( np . arange ( ucc . nbos ), sb , sb ), np . copy ( bare_g_b )) gcc = cls ( ucc . mf , log = ucc . log , ansatz = ucc . ansatz , space = space , omega = ucc . omega , g = g , G = ucc . bare_G , options = ucc . options , ) gcc . e_corr = ucc . e_corr gcc . converged = ucc . converged gcc . converged_lambda = ucc . converged_lambda has_amps = bool ( ucc . amplitudes ) has_lams = bool ( ucc . lambdas ) if has_amps : amplitudes : Namespace [ SpinArrayType ] = util . Namespace () for name , key , n in ucc . ansatz . fermionic_cluster_ranks ( spin_type = ucc . spin_type ): shape = tuple ( space . size ( k ) for k in key ) amplitudes [ name ] = np . zeros ( shape , dtype = types [ float ]) for comb in util . generate_spin_combinations ( n , unique = True ): done = set () for lperm , lsign in util . permutations_with_signs ( tuple ( range ( n ))): for uperm , usign in util . permutations_with_signs ( tuple ( range ( n ))): combn = util . permute_string ( comb [: n ], lperm ) combn += util . permute_string ( comb [ n :], uperm ) if combn in done : continue mask = np . ix_ ( * [ slices [ s ][ k ] for s , k in zip ( combn , key )]) transpose = tuple ( lperm ) + tuple ( p + n for p in uperm ) amp = ( np . transpose ( getattr ( ucc . amplitudes [ name ], comb ), transpose ) * lsign * usign ) for perm , sign in util . permutations_with_signs ( tuple ( range ( n ))): transpose = tuple ( perm ) + tuple ( range ( n , 2 * n )) if util . permute_string ( comb [: n ], perm ) == comb [: n ]: amplitudes [ name ] = _put ( amplitudes [ name ], mask , amplitudes [ name ][ mask ] + np . transpose ( amp , transpose ) * sign , ) done . add ( combn ) for name , key , n in ucc . ansatz . bosonic_cluster_ranks ( spin_type = ucc . spin_type ): amplitudes [ name ] = np . copy ( ucc . amplitudes [ name ]) # type: ignore for name , key , nf , nb in ucc . ansatz . coupling_cluster_ranks ( spin_type = ucc . spin_type ): shape = ( nbos ,) * nb + tuple ( space . size ( k ) for k in key [ nb :]) amplitudes [ name ] = np . zeros ( shape , dtype = types [ float ]) for comb in util . generate_spin_combinations ( nf ): done = set () for lperm , lsign in util . permutations_with_signs ( tuple ( range ( nf ))): for uperm , usign in util . permutations_with_signs ( tuple ( range ( nf ))): combn = util . permute_string ( comb [: nf ], lperm ) combn += util . permute_string ( comb [ nf :], uperm ) if combn in done : continue mask = np . ix_ ( * ([ np . arange ( nbos )] * nb ), * [ slices [ s ][ k ] for s , k in zip ( combn , key [ nb :])], ) transpose = ( tuple ( range ( nb )) + tuple ( p + nb for p in lperm ) + tuple ( p + nb + nf for p in uperm ) ) amp = ( np . transpose ( getattr ( ucc . amplitudes [ name ], comb ), transpose ) * lsign * usign ) for perm , sign in util . permutations_with_signs ( tuple ( range ( nf ))): transpose = ( tuple ( range ( nb )) + tuple ( p + nb for p in perm ) + tuple ( range ( nb + nf , nb + 2 * nf )) ) if util . permute_string ( comb [: nf ], perm ) == comb [: nf ]: amplitudes [ name ] = _put ( amplitudes [ name ], mask , amplitudes [ name ][ mask ] + np . transpose ( amp , transpose ) * sign , ) done . add ( combn ) gcc . amplitudes = amplitudes if has_lams : lambdas = gcc . init_lams () # Easier this way - but have to build ERIs... for name , key , n in ucc . ansatz . fermionic_cluster_ranks ( spin_type = ucc . spin_type ): lname = name . replace ( \"t\" , \"l\" ) shape = tuple ( space . size ( k ) for k in key [ n :] + key [: n ]) lambdas [ lname ] = np . zeros ( shape , dtype = types [ float ]) for comb in util . generate_spin_combinations ( n , unique = True ): done = set () for lperm , lsign in util . permutations_with_signs ( tuple ( range ( n ))): for uperm , usign in util . permutations_with_signs ( tuple ( range ( n ))): combn = util . permute_string ( comb [: n ], lperm ) combn += util . permute_string ( comb [ n :], uperm ) if combn in done : continue mask = np . ix_ ( * [ slices [ s ][ k ] for s , k in zip ( combn , key [ n :] + key [: n ])]) transpose = tuple ( lperm ) + tuple ( p + n for p in uperm ) amp = ( np . transpose ( getattr ( ucc . lambdas [ lname ], comb ), transpose ) * lsign * usign ) for perm , sign in util . permutations_with_signs ( tuple ( range ( n ))): transpose = tuple ( perm ) + tuple ( range ( n , 2 * n )) if util . permute_string ( comb [: n ], perm ) == comb [: n ]: lambdas [ lname ] = _put ( lambdas [ lname ], mask , lambdas [ lname ][ mask ] + np . transpose ( amp , transpose ) * sign , ) done . add ( combn ) for name , key , n in ucc . ansatz . bosonic_cluster_ranks ( spin_type = ucc . spin_type ): lname = \"l\" + name lambdas [ lname ] = np . copy ( ucc . lambdas [ lname ]) # type: ignore for name , key , nf , nb in ucc . ansatz . coupling_cluster_ranks ( spin_type = ucc . spin_type ): lname = \"l\" + name shape = ( nbos ,) * nb + tuple ( space . size ( k ) for k in key [ nb + nf :] + key [ nb : nb + nf ] ) lambdas [ lname ] = np . zeros ( shape , dtype = types [ float ]) for comb in util . generate_spin_combinations ( nf , unique = True ): done = set () for lperm , lsign in util . permutations_with_signs ( tuple ( range ( nf ))): for uperm , usign in util . permutations_with_signs ( tuple ( range ( nf ))): combn = util . permute_string ( comb [: nf ], lperm ) combn += util . permute_string ( comb [ nf :], uperm ) if combn in done : continue mask = np . ix_ ( * ([ np . arange ( nbos )] * nb ), * [ slices [ s ][ k ] for s , k in zip ( combn , key [ nb + nf :] + key [ nb : nb + nf ]) ], ) transpose = ( tuple ( range ( nb )) + tuple ( p + nb for p in lperm ) + tuple ( p + nb + nf for p in uperm ) ) amp = ( np . transpose ( getattr ( ucc . lambdas [ lname ], comb ), transpose ) * lsign * usign ) for perm , sign in util . permutations_with_signs ( tuple ( range ( nf ))): transpose = ( tuple ( range ( nb )) + tuple ( p + nb for p in perm ) + tuple ( range ( nb + nf , nb + 2 * nf )) ) if util . permute_string ( comb [: nf ], perm ) == comb [: nf ]: lambdas [ lname ] = _put ( lambdas [ lname ], mask , lambdas [ lname ][ mask ] + np . transpose ( amp , transpose ) * sign , ) done . add ( combn ) gcc . lambdas = lambdas return gcc","title":"from_uebcc"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.from_rebcc","text":"Initialise a GEBCC object from an REBCC object. Parameters: rcc ( REBCC ) \u2013 Restricted electron-boson coupled cluster object. Returns: GEBCC \u2013 GEBCC object. Source code in ebcc/cc/gebcc.py 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 @classmethod def from_rebcc ( cls , rcc : REBCC ) -> GEBCC : \"\"\"Initialise a `GEBCC` object from an `REBCC` object. Args: rcc: Restricted electron-boson coupled cluster object. Returns: GEBCC object. \"\"\" from ebcc.cc.uebcc import UEBCC ucc = UEBCC . from_rebcc ( rcc ) gcc = cls . from_uebcc ( ucc ) return gcc","title":"from_rebcc"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.init_space","text":"Initialise the fermionic space. Returns: SpaceType \u2013 Fermionic space. All fermionic degrees of freedom are assumed to be correlated. Source code in ebcc/cc/gebcc.py 346 347 348 349 350 351 352 353 354 355 356 357 def init_space ( self ) -> SpaceType : \"\"\"Initialise the fermionic space. Returns: Fermionic space. All fermionic degrees of freedom are assumed to be correlated. \"\"\" space = Space ( self . mo_occ > 0 , np . zeros ( self . mo_occ . shape , dtype = np . bool_ ), np . zeros ( self . mo_occ . shape , dtype = np . bool_ ), ) return space","title":"init_space"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.init_amps","text":"Initialise the cluster amplitudes. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. Returns: Namespace [ SpinArrayType ] \u2013 Initial cluster amplitudes. Source code in ebcc/cc/gebcc.py 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 def init_amps ( self , eris : Optional [ ERIsInputType ] = None ) -> Namespace [ SpinArrayType ]: \"\"\"Initialise the cluster amplitudes. Args: eris: Electron repulsion integrals. Returns: Initial cluster amplitudes. \"\"\" eris = self . get_eris ( eris ) amplitudes : Namespace [ SpinArrayType ] = util . Namespace () # Build T amplitudes: for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): if n == 1 : amplitudes [ name ] = getattr ( self . fock , key ) / self . energy_sum ( key ) elif n == 2 : amplitudes [ name ] = getattr ( eris , key ) / self . energy_sum ( key ) else : shape = tuple ( self . space . size ( k ) for k in key ) amplitudes [ name ] = np . zeros ( shape , dtype = types [ float ]) # Build S amplitudes: for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): if self . omega is None or self . G is None : raise ValueError ( \"Bosonic parameters not set.\" ) if n == 1 : amplitudes [ name ] = - self . G / self . omega else : shape = ( self . nbos ,) * n amplitudes [ name ] = np . zeros ( shape , dtype = types [ float ]) # Build U amplitudes: for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): if self . omega is None or self . g is None : raise ValueError ( \"Bosonic parameters not set.\" ) if nf != 1 : raise util . ModelNotImplemented if n == 1 : amplitudes [ name ] = self . g [ key ] / self . energy_sum ( key ) else : shape = ( self . nbos ,) * nb + tuple ( self . space . size ( k ) for k in key [ nb :]) amplitudes [ name ] = np . zeros ( shape , dtype = types [ float ]) return amplitudes","title":"init_amps"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.init_lams","text":"Initialise the cluster lambda amplitudes. Parameters: amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: Namespace [ SpinArrayType ] \u2013 Initial cluster lambda amplitudes. Source code in ebcc/cc/gebcc.py 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 def init_lams ( self , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None ) -> Namespace [ SpinArrayType ]: \"\"\"Initialise the cluster lambda amplitudes. Args: amplitudes: Cluster amplitudes. Returns: Initial cluster lambda amplitudes. \"\"\" if not amplitudes : amplitudes = self . amplitudes lambdas : Namespace [ SpinArrayType ] = util . Namespace () # Build L amplitudes: for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): lname = name . replace ( \"t\" , \"l\" ) perm = list ( range ( n , 2 * n )) + list ( range ( n )) lambdas [ lname ] = np . transpose ( amplitudes [ name ], perm ) # Build LS amplitudes: for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): lname = \"l\" + name lambdas [ lname ] = amplitudes [ name ] # Build LU amplitudes: for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): if nf != 1 : raise util . ModelNotImplemented lname = \"l\" + name perm = list ( range ( nb )) + [ nb + 1 , nb ] lambdas [ lname ] = np . transpose ( amplitudes [ name ], perm ) return lambdas","title":"init_lams"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.update_amps","text":"Update the cluster amplitudes. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: Namespace [ SpinArrayType ] \u2013 Updated cluster amplitudes. Source code in ebcc/cc/gebcc.py 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 def update_amps ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , ) -> Namespace [ SpinArrayType ]: \"\"\"Update the cluster amplitudes. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. Returns: Updated cluster amplitudes. \"\"\" amplitudes = self . _get_amps ( amplitudes = amplitudes ) func , kwargs = self . _load_function ( \"update_amps\" , eris = eris , amplitudes = amplitudes , ) res : Namespace [ SpinArrayType ] = func ( ** kwargs ) res = util . Namespace ( ** { key . rstrip ( \"new\" ): val for key , val in res . items ()}) # Divide T amplitudes: for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): res [ name ] /= self . energy_sum ( key ) res [ name ] += amplitudes [ name ] # Divide S amplitudes: for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): res [ name ] /= self . energy_sum ( key ) res [ name ] += amplitudes [ name ] # Divide U amplitudes: for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): if nf != 1 : raise util . ModelNotImplemented res [ name ] /= self . energy_sum ( key ) res [ name ] += amplitudes [ name ] return res","title":"update_amps"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.update_lams","text":"Update the cluster lambda amplitudes. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. lambdas_pert ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Perturbative cluster lambda amplitudes. perturbative ( bool , default: False ) \u2013 Flag to include perturbative correction. Returns: Namespace [ SpinArrayType ] \u2013 Updated cluster lambda amplitudes. Source code in ebcc/cc/gebcc.py 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 def update_lams ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , lambdas_pert : Optional [ Namespace [ SpinArrayType ]] = None , perturbative : bool = False , ) -> Namespace [ SpinArrayType ]: \"\"\"Update the cluster lambda amplitudes. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. lambdas_pert: Perturbative cluster lambda amplitudes. perturbative: Flag to include perturbative correction. Returns: Updated cluster lambda amplitudes. \"\"\" # TODO active amplitudes = self . _get_amps ( amplitudes = amplitudes ) lambdas = self . _get_lams ( lambdas = lambdas , amplitudes = amplitudes ) if lambdas_pert is not None : lambdas . update ( lambdas_pert ) func , kwargs = self . _load_function ( \"update_lams %s \" % ( \"_perturbative\" if perturbative else \"\" ), eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) res : Namespace [ SpinArrayType ] = func ( ** kwargs ) res = util . Namespace ( ** { key . rstrip ( \"new\" ): val for key , val in res . items ()}) # Divide T amplitudes: for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): res [ name ] /= self . energy_sum ( key ) if not perturbative : res [ name ] += lambdas [ name ] # Divide S amplitudes: for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): res [ name ] /= self . energy_sum ( key ) if not perturbative : res [ name ] += lambdas [ name ] # Divide U amplitudes: for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): if nf != 1 : raise util . ModelNotImplemented res [ name ] /= self . energy_sum ( key ) if not perturbative : res [ name ] += lambdas [ name ] if perturbative : res = Namespace ( ** { key + \"pert\" : val for key , val in res . items ()}) return res","title":"update_lams"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.make_rdm1_f","text":"Make the one-particle fermionic reduced density matrix :math: \\langle i^+ j \\rangle . Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: SpinArrayType \u2013 One-particle fermion reduced density matrix. Source code in ebcc/cc/gebcc.py 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 def make_rdm1_f ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , hermitise : bool = True , ) -> SpinArrayType : r \"\"\"Make the one-particle fermionic reduced density matrix :math:`\\langle i^+ j \\rangle`. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. hermitise: Hermitise the density matrix. Returns: One-particle fermion reduced density matrix. \"\"\" func , kwargs = self . _load_function ( \"make_rdm1_f\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) dm : SpinArrayType = func ( ** kwargs ) if hermitise : dm = ( dm + np . transpose ( dm )) * 0.5 return dm","title":"make_rdm1_f"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.make_rdm2_f","text":"Make the two-particle fermionic reduced density matrix :math: \\langle i^+j^+lk \\rangle . Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: SpinArrayType \u2013 Two-particle fermion reduced density matrix. Source code in ebcc/cc/gebcc.py 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 def make_rdm2_f ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , hermitise : bool = True , ) -> SpinArrayType : r \"\"\"Make the two-particle fermionic reduced density matrix :math:`\\langle i^+j^+lk \\rangle`. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. hermitise: Hermitise the density matrix. Returns: Two-particle fermion reduced density matrix. \"\"\" func , kwargs = self . _load_function ( \"make_rdm2_f\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) dm : SpinArrayType = func ( ** kwargs ) if hermitise : dm = ( np . transpose ( dm , ( 0 , 1 , 2 , 3 )) + np . transpose ( dm , ( 2 , 3 , 0 , 1 ))) * 0.5 dm = ( np . transpose ( dm , ( 0 , 1 , 2 , 3 )) + np . transpose ( dm , ( 1 , 0 , 3 , 2 ))) * 0.5 return dm","title":"make_rdm2_f"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.make_eb_coup_rdm","text":"Make the electron-boson coupling reduced density matrix. .. math:: \\langle b^+ i^+ j \\rangle and .. math:: \\langle b i^+ j \\rangle Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. unshifted ( bool , default: True ) \u2013 If self.options.shift is True , return the unshifted density matrix. Has no effect if self.options.shift is False . hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: SpinArrayType \u2013 Electron-boson coupling reduced density matrix. Source code in ebcc/cc/gebcc.py 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 def make_eb_coup_rdm ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , unshifted : bool = True , hermitise : bool = True , ) -> SpinArrayType : r \"\"\"Make the electron-boson coupling reduced density matrix. .. math:: \\langle b^+ i^+ j \\rangle and .. math:: \\langle b i^+ j \\rangle Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. unshifted: If `self.options.shift` is `True`, return the unshifted density matrix. Has no effect if `self.options.shift` is `False`. hermitise: Hermitise the density matrix. Returns: Electron-boson coupling reduced density matrix. \"\"\" func , kwargs = self . _load_function ( \"make_eb_coup_rdm\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) dm_eb : SpinArrayType = func ( ** kwargs ) if hermitise : dm_eb = np . array ( [ ( dm_eb [ 0 ] + np . transpose ( dm_eb [ 1 ], ( 0 , 2 , 1 ))) * 0.5 , ( dm_eb [ 1 ] + np . transpose ( dm_eb [ 0 ], ( 0 , 2 , 1 ))) * 0.5 , ] ) if unshifted and self . options . shift : rdm1_f = self . make_rdm1_f ( hermitise = hermitise ) shift = util . einsum ( \"x,ij->xij\" , self . xi , rdm1_f ) dm_eb -= shift [ None ] return dm_eb","title":"make_eb_coup_rdm"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.energy_sum","text":"Get a direct sum of energies. Parameters: *args ( str , default: () ) \u2013 Energies to sum. Should specify a subscript only. signs_dict ( Optional [ dict [ str , str ]] , default: None ) \u2013 Signs of the energies in the sum. Default sets (\"o\", \"O\", \"i\") to be positive, and (\"v\", \"V\", \"a\", \"b\") to be negative. Returns: NDArray [ T ] \u2013 Sum of energies. Source code in ebcc/cc/gebcc.py 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 def energy_sum ( self , * args : str , signs_dict : Optional [ dict [ str , str ]] = None ) -> NDArray [ T ]: \"\"\"Get a direct sum of energies. Args: *args: Energies to sum. Should specify a subscript only. signs_dict: Signs of the energies in the sum. Default sets `(\"o\", \"O\", \"i\")` to be positive, and `(\"v\", \"V\", \"a\", \"b\")` to be negative. Returns: Sum of energies. \"\"\" ( subscript ,) = args n = 0 def next_char () -> str : nonlocal n if n < 26 : char = chr ( ord ( \"a\" ) + n ) else : char = chr ( ord ( \"A\" ) + n ) n += 1 return char if signs_dict is None : signs_dict = {} for k , s in zip ( \"vVaoOib\" , \"---+++-\" ): if k not in signs_dict : signs_dict [ k ] = s energies = [] for key in subscript : factor = 1 if signs_dict [ key ] == \"+\" else - 1 if key == \"b\" : assert self . omega is not None energies . append ( self . omega * types [ float ]( factor )) else : energies . append ( np . diag ( self . fock [ key + key ]) * types [ float ]( factor )) subscript = \",\" . join ([ next_char () for k in subscript ]) energy_sum = util . dirsum ( subscript , * energies ) return energy_sum","title":"energy_sum"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.amplitudes_to_vector","text":"Construct a vector containing all of the amplitudes used in the given ansatz. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 Cluster amplitudes. Returns: NDArray [ T ] \u2013 Cluster amplitudes as a vector. Source code in ebcc/cc/gebcc.py 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the amplitudes used in the given ansatz. Args: amplitudes: Cluster amplitudes. Returns: Cluster amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): vectors . append ( np . ravel ( amplitudes [ name ])) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): vectors . append ( np . ravel ( amplitudes [ name ])) for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): vectors . append ( np . ravel ( amplitudes [ name ])) return np . concatenate ( vectors )","title":"amplitudes_to_vector"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.vector_to_amplitudes","text":"Construct a namespace of amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 Cluster amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 Cluster amplitudes. Source code in ebcc/cc/gebcc.py 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of amplitudes from a vector. Args: vector: Cluster amplitudes as a vector. Returns: Cluster amplitudes. \"\"\" amplitudes : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): shape = tuple ( self . space . size ( k ) for k in key ) size = util . prod ( shape ) amplitudes [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): shape = ( self . nbos ,) * n size = util . prod ( shape ) amplitudes [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): shape = ( self . nbos ,) * nb + tuple ( self . space . size ( k ) for k in key [ nb :]) size = util . prod ( shape ) amplitudes [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size return amplitudes","title":"vector_to_amplitudes"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.lambdas_to_vector","text":"Construct a vector containing all of the lambda amplitudes used in the given ansatz. Parameters: lambdas ( Namespace [ SpinArrayType ] ) \u2013 Cluster lambda amplitudes. Returns: NDArray [ T ] \u2013 Cluster lambda amplitudes as a vector. Source code in ebcc/cc/gebcc.py 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 def lambdas_to_vector ( self , lambdas : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the lambda amplitudes used in the given ansatz. Args: lambdas: Cluster lambda amplitudes. Returns: Cluster lambda amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): vectors . append ( np . ravel ( lambdas [ name ])) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): vectors . append ( np . ravel ( lambdas [ name ])) for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): vectors . append ( np . ravel ( lambdas [ name ])) return np . concatenate ( vectors )","title":"lambdas_to_vector"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.vector_to_lambdas","text":"Construct a namespace of lambda amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 Cluster lambda amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 Cluster lambda amplitudes. Source code in ebcc/cc/gebcc.py 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 def vector_to_lambdas ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of lambda amplitudes from a vector. Args: vector: Cluster lambda amplitudes as a vector. Returns: Cluster lambda amplitudes. \"\"\" lambdas : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): shape = tuple ( self . space . size ( k ) for k in key ) size = util . prod ( shape ) lambdas [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): shape = ( self . nbos ,) * n size = util . prod ( shape ) lambdas [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): shape = ( self . nbos ,) * nb + tuple ( self . space . size ( k ) for k in key [ nb :]) size = util . prod ( shape ) lambdas [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size return lambdas","title":"vector_to_lambdas"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.get_mean_field_G","text":"Get the mean-field boson non-conserving term. Returns: NDArray [ T ] \u2013 Mean-field boson non-conserving term. Source code in ebcc/cc/gebcc.py 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 def get_mean_field_G ( self ) -> NDArray [ T ]: \"\"\"Get the mean-field boson non-conserving term. Returns: Mean-field boson non-conserving term. \"\"\" assert self . g is not None assert self . omega is not None # FIXME should this also sum in frozen orbitals? boo : NDArray [ T ] = self . g . boo val = util . einsum ( \"Ipp->I\" , boo ) val -= self . xi * self . omega if self . bare_G is not None : val += self . bare_G return val","title":"get_mean_field_G"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.get_fock","text":"Get the Fock matrix. Returns: GFock \u2013 Fock matrix. Source code in ebcc/cc/gebcc.py 891 892 893 894 895 896 897 def get_fock ( self ) -> GFock : \"\"\"Get the Fock matrix. Returns: Fock matrix. \"\"\" return self . Fock ( self , array = self . bare_fock , g = self . g )","title":"get_fock"},{"location":"reference/cc/gebcc/#ebcc.cc.gebcc.GEBCC.get_eris","text":"Get the electron repulsion integrals. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Input electron repulsion integrals. Returns: GERIs \u2013 Electron repulsion integrals. Source code in ebcc/cc/gebcc.py 899 900 901 902 903 904 905 906 907 908 909 910 911 def get_eris ( self , eris : Optional [ ERIsInputType ] = None ) -> GERIs : \"\"\"Get the electron repulsion integrals. Args: eris: Input electron repulsion integrals. Returns: Electron repulsion integrals. \"\"\" if isinstance ( eris , GERIs ): return eris else : return self . ERIs ( self , array = eris )","title":"get_eris"},{"location":"reference/cc/rebcc/","text":"Restricted electron-boson coupled cluster. ebcc . cc . rebcc . REBCC ( mf , log = None , ansatz = 'CCSD' , options = None , space = None , omega = None , g = None , G = None , mo_coeff = None , mo_occ = None , fock = None , ** kwargs ) Bases: BaseEBCC Restricted electron-boson coupled cluster. Initialise the EBCC object. Parameters: mf ( SCF ) \u2013 PySCF mean-field object. log ( Optional [ Logger ] , default: None ) \u2013 Log to write output to. Default is the global logger, outputting to stderr . ansatz ( Optional [ Union [ Ansatz , str ]] , default: 'CCSD' ) \u2013 Overall ansatz. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EBCC calculation. space ( Optional [ SpaceType ] , default: None ) \u2013 Space containing the frozen, correlated, and active fermionic spaces. Default assumes all electrons are correlated. omega ( Optional [ NDArray [ T ]] , default: None ) \u2013 Bosonic frequencies. g ( Optional [ NDArray [ T ]] , default: None ) \u2013 Electron-boson coupling matrix corresponding to the bosonic annihilation operator :math: g_{bpq} p^\\dagger q b . The creation part is assumed to be the fermionic conjugate transpose to retain Hermiticity in the Hamiltonian. G ( Optional [ NDArray [ T ]] , default: None ) \u2013 Boson non-conserving term :math: G_{b} (b^\\dagger + b) . mo_coeff ( Optional [ NDArray [ T ]] , default: None ) \u2013 Molecular orbital coefficients. Default is the mean-field coefficients. mo_occ ( Optional [ NDArray [ T ]] , default: None ) \u2013 Molecular orbital occupation numbers. Default is the mean-field occupation. fock ( Optional [ BaseFock ] , default: None ) \u2013 Fock matrix. Default is the mean-field Fock matrix. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/cc/base.py 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 def __init__ ( self , mf : SCF , log : Optional [ Logger ] = None , ansatz : Optional [ Union [ Ansatz , str ]] = \"CCSD\" , options : Optional [ BaseOptions ] = None , space : Optional [ SpaceType ] = None , omega : Optional [ NDArray [ T ]] = None , g : Optional [ NDArray [ T ]] = None , G : Optional [ NDArray [ T ]] = None , mo_coeff : Optional [ NDArray [ T ]] = None , mo_occ : Optional [ NDArray [ T ]] = None , fock : Optional [ BaseFock ] = None , ** kwargs : Any , ) -> None : r \"\"\"Initialise the EBCC object. Args: mf: PySCF mean-field object. log: Log to write output to. Default is the global logger, outputting to `stderr`. ansatz: Overall ansatz. options: Options for the EBCC calculation. space: Space containing the frozen, correlated, and active fermionic spaces. Default assumes all electrons are correlated. omega: Bosonic frequencies. g: Electron-boson coupling matrix corresponding to the bosonic annihilation operator :math:`g_{bpq} p^\\dagger q b`. The creation part is assumed to be the fermionic conjugate transpose to retain Hermiticity in the Hamiltonian. G: Boson non-conserving term :math:`G_{b} (b^\\dagger + b)`. mo_coeff: Molecular orbital coefficients. Default is the mean-field coefficients. mo_occ: Molecular orbital occupation numbers. Default is the mean-field occupation. fock: Fock matrix. Default is the mean-field Fock matrix. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . log = default_log if log is None else log self . mf = self . _convert_mf ( mf ) self . _mo_coeff : Optional [ NDArray [ T ]] = ( np . asarray ( mo_coeff , dtype = types [ float ]) if mo_coeff is not None else None ) self . _mo_occ : Optional [ NDArray [ T ]] = ( np . asarray ( mo_occ , dtype = types [ float ]) if mo_occ is not None else None ) # Ansatz: if isinstance ( ansatz , Ansatz ): self . ansatz = ansatz elif isinstance ( ansatz , str ): self . ansatz = Ansatz . from_string ( ansatz , density_fitting = getattr ( self . mf , \"with_df\" , None ) is not None ) else : raise TypeError ( \"ansatz must be an Ansatz object or a string.\" ) self . _eqns = self . ansatz . _get_eqns ( self . spin_type ) # Space: if space is not None : self . space = space else : self . space = self . init_space () # Boson parameters: if bool ( self . fermion_coupling_rank ) != bool ( self . boson_coupling_rank ): raise ValueError ( \"Fermionic and bosonic coupling ranks must both be zero, or both non-zero.\" ) self . omega = np . asarray ( omega , dtype = types [ float ]) if omega is not None else None self . bare_g = np . asarray ( g , dtype = types [ float ]) if g is not None else None self . bare_G = np . asarray ( G , dtype = types [ float ]) if G is not None else None if self . boson_ansatz != \"\" : self . g = self . get_g () self . G = self . get_mean_field_G () if self . options . shift : self . log . info ( \" > Energy shift due to polaritonic basis: %.10f \" , self . const ) else : assert self . nbos == 0 self . options . shift = False self . g = None self . G = None # Fock matrix: if fock is None : self . fock = self . get_fock () else : self . fock = fock # Attributes: self . e_corr = 0.0 self . amplitudes = util . Namespace () self . converged = False self . lambdas = util . Namespace () self . converged_lambda = False # Logging: init_logging ( self . log ) 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 \" > 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 \" > diis_min_space: { ANSI . y }{ self . options . diis_min_space }{ ANSI . R } \" ) self . log . info ( f \" > damping: { ANSI . y }{ self . options . damping }{ ANSI . R } \" ) self . log . debug ( \"\" ) self . log . info ( f \" { ANSI . B } Ansatz { ANSI . R } : { ANSI . m }{ self . ansatz }{ ANSI . R } \" ) self . log . debug ( \"\" ) self . log . info ( f \" { ANSI . B } Space { ANSI . R } : { ANSI . m }{ self . space }{ ANSI . R } \" ) self . log . debug ( \"\" ) ebcc . cc . rebcc . REBCC . spin_type : str property Get a string representation of the spin type. ebcc . cc . rebcc . REBCC . bare_fock : NDArray [ T ] property Get the mean-field Fock matrix in the MO basis, including frozen parts. Returns an array and not a BaseFock object. Returns: NDArray [ T ] \u2013 Mean-field Fock matrix. ebcc . cc . rebcc . REBCC . xi : NDArray [ T ] property Get the shift in the bosonic operators to diagonalise the photon Hamiltonian. Returns: NDArray [ T ] \u2013 Shift in the bosonic operators. ebcc . cc . rebcc . REBCC . nmo : int property Get the number of molecular orbitals. Returns: int \u2013 Number of molecular orbitals. ebcc . cc . rebcc . REBCC . nocc : int property Get the number of occupied molecular orbitals. Returns: int \u2013 Number of occupied molecular orbitals. ebcc . cc . rebcc . REBCC . nvir : int property Get the number of virtual molecular orbitals. Returns: int \u2013 Number of virtual molecular orbitals. ebcc . cc . rebcc . REBCC . ip_eom ( ** kwargs ) Get the IP-EOM object. Parameters: options \u2013 Options for the IP-EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments. Returns: IP_REOM \u2013 IP-EOM object. Source code in ebcc/cc/rebcc.py 56 57 58 59 60 61 62 63 64 65 66 def ip_eom ( self , ** kwargs : Any ) -> IP_REOM : \"\"\"Get the IP-EOM object. Args: options: Options for the IP-EOM calculation. **kwargs: Additional keyword arguments. Returns: IP-EOM object. \"\"\" return IP_REOM ( self , ** kwargs ) ebcc . cc . rebcc . REBCC . ea_eom ( ** kwargs ) Get the EA-EOM object. Parameters: options \u2013 Options for the EA-EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments. Returns: EA_REOM \u2013 EA-EOM object. Source code in ebcc/cc/rebcc.py 68 69 70 71 72 73 74 75 76 77 78 def ea_eom ( self , ** kwargs : Any ) -> EA_REOM : \"\"\"Get the EA-EOM object. Args: options: Options for the EA-EOM calculation. **kwargs: Additional keyword arguments. Returns: EA-EOM object. \"\"\" return EA_REOM ( self , ** kwargs ) ebcc . cc . rebcc . REBCC . ee_eom ( ** kwargs ) Get the EE-EOM object. Parameters: options \u2013 Options for the EE-EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments. Returns: EE_REOM \u2013 EE-EOM object. Source code in ebcc/cc/rebcc.py 80 81 82 83 84 85 86 87 88 89 90 def ee_eom ( self , ** kwargs : Any ) -> EE_REOM : \"\"\"Get the EE-EOM object. Args: options: Options for the EE-EOM calculation. **kwargs: Additional keyword arguments. Returns: EE-EOM object. \"\"\" return EE_REOM ( self , ** kwargs ) ebcc . cc . rebcc . REBCC . init_space () Initialise the fermionic space. Returns: SpaceType \u2013 Fermionic space. All fermionic degrees of freedom are assumed to be correlated. Source code in ebcc/cc/rebcc.py 100 101 102 103 104 105 106 107 108 109 110 111 def init_space ( self ) -> SpaceType : \"\"\"Initialise the fermionic space. Returns: Fermionic space. All fermionic degrees of freedom are assumed to be correlated. \"\"\" space = Space ( self . mo_occ > 0 , np . zeros ( self . mo_occ . shape , dtype = np . bool_ ), np . zeros ( self . mo_occ . shape , dtype = np . bool_ ), ) return space ebcc . cc . rebcc . REBCC . init_amps ( eris = None ) Initialise the cluster amplitudes. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. Returns: Namespace [ SpinArrayType ] \u2013 Initial cluster amplitudes. Source code in ebcc/cc/rebcc.py 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 def init_amps ( self , eris : Optional [ ERIsInputType ] = None ) -> Namespace [ SpinArrayType ]: \"\"\"Initialise the cluster amplitudes. Args: eris: Electron repulsion integrals. Returns: Initial cluster amplitudes. \"\"\" eris = self . get_eris ( eris ) amplitudes : Namespace [ SpinArrayType ] = util . Namespace () # Build T amplitudes: for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): if n == 1 : amplitudes [ name ] = self . fock [ key ] / self . energy_sum ( key ) elif n == 2 : key_t = key [ 0 ] + key [ 2 ] + key [ 1 ] + key [ 3 ] amplitudes [ name ] = np . transpose ( eris [ key_t ], ( 0 , 2 , 1 , 3 )) / self . energy_sum ( key ) else : shape = tuple ( self . space . size ( k ) for k in key ) amplitudes [ name ] = np . zeros ( shape , dtype = types [ float ]) # Build S amplitudes: for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): if self . omega is None or self . G is None : raise ValueError ( \"Bosonic parameters not set.\" ) if n == 1 : amplitudes [ name ] = - self . G / self . omega else : shape = ( self . nbos ,) * n amplitudes [ name ] = np . zeros ( shape , dtype = types [ float ]) # Build U amplitudes: for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): if self . omega is None or self . g is None : raise ValueError ( \"Bosonic parameters not set.\" ) if nf != 1 : raise util . ModelNotImplemented if nb == 1 : amplitudes [ name ] = self . g [ key ] / self . energy_sum ( key ) else : shape = ( self . nbos ,) * nb + tuple ( self . space . size ( k ) for k in key [ nb :]) amplitudes [ name ] = np . zeros ( shape , dtype = types [ float ]) return amplitudes ebcc . cc . rebcc . REBCC . init_lams ( amplitudes = None ) Initialise the cluster lambda amplitudes. Parameters: amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: Namespace [ SpinArrayType ] \u2013 Initial cluster lambda amplitudes. Source code in ebcc/cc/rebcc.py 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 def init_lams ( self , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None ) -> Namespace [ SpinArrayType ]: \"\"\"Initialise the cluster lambda amplitudes. Args: amplitudes: Cluster amplitudes. Returns: Initial cluster lambda amplitudes. \"\"\" if not amplitudes : amplitudes = self . amplitudes lambdas : Namespace [ SpinArrayType ] = util . Namespace () # Build L amplitudes: for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): lname = name . replace ( \"t\" , \"l\" ) perm = list ( range ( n , 2 * n )) + list ( range ( n )) lambdas [ lname ] = np . transpose ( amplitudes [ name ], perm ) # Build LS amplitudes: for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): lname = \"l\" + name lambdas [ lname ] = amplitudes [ name ] # Build LU amplitudes: for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): if nf != 1 : raise util . ModelNotImplemented lname = \"l\" + name perm = list ( range ( nb )) + [ nb + 1 , nb ] lambdas [ lname ] = np . transpose ( amplitudes [ name ], perm ) return lambdas ebcc . cc . rebcc . REBCC . update_amps ( eris = None , amplitudes = None ) Update the cluster amplitudes. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: Namespace [ SpinArrayType ] \u2013 Updated cluster amplitudes. Source code in ebcc/cc/rebcc.py 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 def update_amps ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , ) -> Namespace [ SpinArrayType ]: \"\"\"Update the cluster amplitudes. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. Returns: Updated cluster amplitudes. \"\"\" amplitudes = self . _get_amps ( amplitudes = amplitudes ) func , kwargs = self . _load_function ( \"update_amps\" , eris = eris , amplitudes = amplitudes , ) res : Namespace [ SpinArrayType ] = func ( ** kwargs ) res = util . Namespace ( ** { key . rstrip ( \"new\" ): val for key , val in res . items ()}) # Divide T amplitudes: for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): res [ name ] /= self . energy_sum ( key ) res [ name ] += amplitudes [ name ] # Divide S amplitudes: for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): res [ name ] /= self . energy_sum ( key ) res [ name ] += amplitudes [ name ] # Divide U amplitudes: for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): if nf != 1 : raise util . ModelNotImplemented res [ name ] /= self . energy_sum ( key ) res [ name ] += amplitudes [ name ] return res ebcc . cc . rebcc . REBCC . update_lams ( eris = None , amplitudes = None , lambdas = None , lambdas_pert = None , perturbative = False ) Update the cluster lambda amplitudes. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. lambdas_pert ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Perturbative cluster lambda amplitudes. perturbative ( bool , default: False ) \u2013 Flag to include perturbative correction. Returns: Namespace [ SpinArrayType ] \u2013 Updated cluster lambda amplitudes. Source code in ebcc/cc/rebcc.py 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 def update_lams ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , lambdas_pert : Optional [ Namespace [ SpinArrayType ]] = None , perturbative : bool = False , ) -> Namespace [ SpinArrayType ]: \"\"\"Update the cluster lambda amplitudes. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. lambdas_pert: Perturbative cluster lambda amplitudes. perturbative: Flag to include perturbative correction. Returns: Updated cluster lambda amplitudes. \"\"\" # TODO active amplitudes = self . _get_amps ( amplitudes = amplitudes ) lambdas = self . _get_lams ( lambdas = lambdas , amplitudes = amplitudes ) if lambdas_pert is not None : lambdas . update ( lambdas_pert ) func , kwargs = self . _load_function ( \"update_lams %s \" % ( \"_perturbative\" if perturbative else \"\" ), eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) res : Namespace [ SpinArrayType ] = func ( ** kwargs ) res = util . Namespace ( ** { key . rstrip ( \"new\" ): val for key , val in res . items ()}) # Divide T amplitudes: for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): res [ name ] /= self . energy_sum ( key ) if not perturbative : res [ name ] += lambdas [ name ] # Divide S amplitudes: for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): res [ name ] /= self . energy_sum ( key ) if not perturbative : res [ name ] += lambdas [ name ] # Divide U amplitudes: for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): if nf != 1 : raise util . ModelNotImplemented res [ name ] /= self . energy_sum ( key ) if not perturbative : res [ name ] += lambdas [ name ] if perturbative : res = util . Namespace ( ** { key + \"pert\" : val for key , val in res . items ()}) return res ebcc . cc . rebcc . REBCC . make_rdm1_f ( eris = None , amplitudes = None , lambdas = None , hermitise = True ) Make the one-particle fermionic reduced density matrix :math: \\langle i^+ j \\rangle . Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: NDArray [ T ] \u2013 One-particle fermion reduced density matrix. Source code in ebcc/cc/rebcc.py 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 def make_rdm1_f ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , hermitise : bool = True , ) -> NDArray [ T ]: r \"\"\"Make the one-particle fermionic reduced density matrix :math:`\\langle i^+ j \\rangle`. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. hermitise: Hermitise the density matrix. Returns: One-particle fermion reduced density matrix. \"\"\" func , kwargs = self . _load_function ( \"make_rdm1_f\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) dm : NDArray [ T ] = func ( ** kwargs ) if hermitise : dm = ( dm + np . transpose ( dm )) * 0.5 return dm ebcc . cc . rebcc . REBCC . make_rdm2_f ( eris = None , amplitudes = None , lambdas = None , hermitise = True ) Make the two-particle fermionic reduced density matrix :math: \\langle i^+j^+lk \\rangle . Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: NDArray [ T ] \u2013 Two-particle fermion reduced density matrix. Source code in ebcc/cc/rebcc.py 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 def make_rdm2_f ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , hermitise : bool = True , ) -> NDArray [ T ]: r \"\"\"Make the two-particle fermionic reduced density matrix :math:`\\langle i^+j^+lk \\rangle`. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. hermitise: Hermitise the density matrix. Returns: Two-particle fermion reduced density matrix. \"\"\" func , kwargs = self . _load_function ( \"make_rdm2_f\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) dm : NDArray [ T ] = func ( ** kwargs ) if hermitise : dm = ( np . transpose ( dm , ( 0 , 1 , 2 , 3 )) + np . transpose ( dm , ( 2 , 3 , 0 , 1 ))) * 0.5 dm = ( np . transpose ( dm , ( 0 , 1 , 2 , 3 )) + np . transpose ( dm , ( 1 , 0 , 3 , 2 ))) * 0.5 return dm ebcc . cc . rebcc . REBCC . make_eb_coup_rdm ( eris = None , amplitudes = None , lambdas = None , unshifted = True , hermitise = True ) Make the electron-boson coupling reduced density matrix. .. math:: \\langle b^+ i^+ j \\rangle and .. math:: \\langle b i^+ j \\rangle Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. unshifted ( bool , default: True ) \u2013 If self.options.shift is True , return the unshifted density matrix. Has no effect if self.options.shift is False . hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: NDArray [ T ] \u2013 Electron-boson coupling reduced density matrix. Source code in ebcc/cc/rebcc.py 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 def make_eb_coup_rdm ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , unshifted : bool = True , hermitise : bool = True , ) -> NDArray [ T ]: r \"\"\"Make the electron-boson coupling reduced density matrix. .. math:: \\langle b^+ i^+ j \\rangle and .. math:: \\langle b i^+ j \\rangle Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. unshifted: If `self.options.shift` is `True`, return the unshifted density matrix. Has no effect if `self.options.shift` is `False`. hermitise: Hermitise the density matrix. Returns: Electron-boson coupling reduced density matrix. \"\"\" func , kwargs = self . _load_function ( \"make_eb_coup_rdm\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) dm_eb : NDArray [ T ] = func ( ** kwargs ) if hermitise : dm_eb = np . array ( [ ( dm_eb [ 0 ] + np . transpose ( dm_eb [ 1 ], ( 0 , 2 , 1 ))) * 0.5 , ( dm_eb [ 1 ] + np . transpose ( dm_eb [ 0 ], ( 0 , 2 , 1 ))) * 0.5 , ] ) if unshifted and self . options . shift : rdm1_f = self . make_rdm1_f ( hermitise = hermitise ) shift = util . einsum ( \"x,ij->xij\" , self . xi , rdm1_f ) dm_eb -= shift [ None ] return dm_eb ebcc . cc . rebcc . REBCC . energy_sum ( * args , signs_dict = None ) Get a direct sum of energies. Parameters: *args ( str , default: () ) \u2013 Energies to sum. Should specify a subscript only. signs_dict ( Optional [ dict [ str , str ]] , default: None ) \u2013 Signs of the energies in the sum. Default sets (\"o\", \"O\", \"i\") to be positive, and (\"v\", \"V\", \"a\", \"b\") to be negative. Returns: NDArray [ T ] \u2013 Sum of energies. Source code in ebcc/cc/rebcc.py 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 def energy_sum ( self , * args : str , signs_dict : Optional [ dict [ str , str ]] = None ) -> NDArray [ T ]: \"\"\"Get a direct sum of energies. Args: *args: Energies to sum. Should specify a subscript only. signs_dict: Signs of the energies in the sum. Default sets `(\"o\", \"O\", \"i\")` to be positive, and `(\"v\", \"V\", \"a\", \"b\")` to be negative. Returns: Sum of energies. \"\"\" ( subscript ,) = args n = 0 def next_char () -> str : nonlocal n if n < 26 : char = chr ( ord ( \"a\" ) + n ) else : char = chr ( ord ( \"A\" ) + n ) n += 1 return char if signs_dict is None : signs_dict = {} for k , s in zip ( \"vVaoOib\" , \"---+++-\" ): if k not in signs_dict : signs_dict [ k ] = s energies = [] for key in subscript : factor = 1 if signs_dict [ key ] == \"+\" else - 1 if key == \"b\" : assert self . omega is not None energies . append ( self . omega * types [ float ]( factor )) else : energies . append ( np . diag ( self . fock [ key + key ]) * types [ float ]( factor )) subscript = \",\" . join ([ next_char () for k in subscript ]) energy_sum = util . dirsum ( subscript , * energies ) return energy_sum ebcc . cc . rebcc . REBCC . amplitudes_to_vector ( amplitudes ) Construct a vector containing all of the amplitudes used in the given ansatz. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 Cluster amplitudes. Returns: NDArray [ T ] \u2013 Cluster amplitudes as a vector. Source code in ebcc/cc/rebcc.py 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the amplitudes used in the given ansatz. Args: amplitudes: Cluster amplitudes. Returns: Cluster amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): vectors . append ( np . ravel ( amplitudes [ name ])) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): vectors . append ( np . ravel ( amplitudes [ name ])) for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): vectors . append ( np . ravel ( amplitudes [ name ])) return np . concatenate ( vectors ) ebcc . cc . rebcc . REBCC . vector_to_amplitudes ( vector ) Construct a namespace of amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 Cluster amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 Cluster amplitudes. Source code in ebcc/cc/rebcc.py 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of amplitudes from a vector. Args: vector: Cluster amplitudes as a vector. Returns: Cluster amplitudes. \"\"\" amplitudes : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): shape = tuple ( self . space . size ( k ) for k in key ) size = util . prod ( shape ) amplitudes [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): shape = ( self . nbos ,) * n size = util . prod ( shape ) amplitudes [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): shape = ( self . nbos ,) * nb + tuple ( self . space . size ( k ) for k in key [ nb :]) size = util . prod ( shape ) amplitudes [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size return amplitudes ebcc . cc . rebcc . REBCC . lambdas_to_vector ( lambdas ) Construct a vector containing all of the lambda amplitudes used in the given ansatz. Parameters: lambdas ( Namespace [ SpinArrayType ] ) \u2013 Cluster lambda amplitudes. Returns: NDArray [ T ] \u2013 Cluster lambda amplitudes as a vector. Source code in ebcc/cc/rebcc.py 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 def lambdas_to_vector ( self , lambdas : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the lambda amplitudes used in the given ansatz. Args: lambdas: Cluster lambda amplitudes. Returns: Cluster lambda amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): vectors . append ( np . ravel ( lambdas [ name ])) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): vectors . append ( np . ravel ( lambdas [ name ])) for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): vectors . append ( np . ravel ( lambdas [ name ])) return np . concatenate ( vectors ) ebcc . cc . rebcc . REBCC . vector_to_lambdas ( vector ) Construct a namespace of lambda amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 Cluster lambda amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 Cluster lambda amplitudes. Source code in ebcc/cc/rebcc.py 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 def vector_to_lambdas ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of lambda amplitudes from a vector. Args: vector: Cluster lambda amplitudes as a vector. Returns: Cluster lambda amplitudes. \"\"\" lambdas : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): shape = tuple ( self . space . size ( k ) for k in key ) size = util . prod ( shape ) lambdas [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): shape = ( self . nbos ,) * n size = util . prod ( shape ) lambdas [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): shape = ( self . nbos ,) * nb + tuple ( self . space . size ( k ) for k in key [ nb :]) size = util . prod ( shape ) lambdas [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size return lambdas ebcc . cc . rebcc . REBCC . get_mean_field_G () Get the mean-field boson non-conserving term. Returns: NDArray [ T ] \u2013 Mean-field boson non-conserving term. Source code in ebcc/cc/rebcc.py 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 def get_mean_field_G ( self ) -> NDArray [ T ]: \"\"\"Get the mean-field boson non-conserving term. Returns: Mean-field boson non-conserving term. \"\"\" # FIXME should this also sum in frozen orbitals? assert self . omega is not None assert self . g is not None boo : NDArray [ T ] = self . g . boo val = util . einsum ( \"Ipp->I\" , boo ) * 2.0 val -= self . xi * self . omega if self . bare_G is not None : val += self . bare_G return val ebcc . cc . rebcc . REBCC . get_fock () Get the Fock matrix. Returns: RFock \u2013 Fock matrix. Source code in ebcc/cc/rebcc.py 649 650 651 652 653 654 655 def get_fock ( self ) -> RFock : \"\"\"Get the Fock matrix. Returns: Fock matrix. \"\"\" return self . Fock ( self , array = self . bare_fock , g = self . g ) ebcc . cc . rebcc . REBCC . get_eris ( eris = None ) Get the electron repulsion integrals. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Input electron repulsion integrals. Returns: Union [ RERIs , RCDERIs ] \u2013 Electron repulsion integrals. Source code in ebcc/cc/rebcc.py 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 def get_eris ( self , eris : Optional [ ERIsInputType ] = None ) -> Union [ RERIs , RCDERIs ]: \"\"\"Get the electron repulsion integrals. Args: eris: Input electron repulsion integrals. Returns: Electron repulsion integrals. \"\"\" use_df = getattr ( self . mf , \"with_df\" , None ) is not None if isinstance ( eris , ( RERIs , RCDERIs )): return eris elif ( isinstance ( eris , np . ndarray ) and eris . ndim == 3 ) or use_df : return self . CDERIs ( self , array = eris ) else : return self . ERIs ( self , array = eris )","title":"Restricted"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC","text":"Bases: BaseEBCC Restricted electron-boson coupled cluster. Initialise the EBCC object. Parameters: mf ( SCF ) \u2013 PySCF mean-field object. log ( Optional [ Logger ] , default: None ) \u2013 Log to write output to. Default is the global logger, outputting to stderr . ansatz ( Optional [ Union [ Ansatz , str ]] , default: 'CCSD' ) \u2013 Overall ansatz. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EBCC calculation. space ( Optional [ SpaceType ] , default: None ) \u2013 Space containing the frozen, correlated, and active fermionic spaces. Default assumes all electrons are correlated. omega ( Optional [ NDArray [ T ]] , default: None ) \u2013 Bosonic frequencies. g ( Optional [ NDArray [ T ]] , default: None ) \u2013 Electron-boson coupling matrix corresponding to the bosonic annihilation operator :math: g_{bpq} p^\\dagger q b . The creation part is assumed to be the fermionic conjugate transpose to retain Hermiticity in the Hamiltonian. G ( Optional [ NDArray [ T ]] , default: None ) \u2013 Boson non-conserving term :math: G_{b} (b^\\dagger + b) . mo_coeff ( Optional [ NDArray [ T ]] , default: None ) \u2013 Molecular orbital coefficients. Default is the mean-field coefficients. mo_occ ( Optional [ NDArray [ T ]] , default: None ) \u2013 Molecular orbital occupation numbers. Default is the mean-field occupation. fock ( Optional [ BaseFock ] , default: None ) \u2013 Fock matrix. Default is the mean-field Fock matrix. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/cc/base.py 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 def __init__ ( self , mf : SCF , log : Optional [ Logger ] = None , ansatz : Optional [ Union [ Ansatz , str ]] = \"CCSD\" , options : Optional [ BaseOptions ] = None , space : Optional [ SpaceType ] = None , omega : Optional [ NDArray [ T ]] = None , g : Optional [ NDArray [ T ]] = None , G : Optional [ NDArray [ T ]] = None , mo_coeff : Optional [ NDArray [ T ]] = None , mo_occ : Optional [ NDArray [ T ]] = None , fock : Optional [ BaseFock ] = None , ** kwargs : Any , ) -> None : r \"\"\"Initialise the EBCC object. Args: mf: PySCF mean-field object. log: Log to write output to. Default is the global logger, outputting to `stderr`. ansatz: Overall ansatz. options: Options for the EBCC calculation. space: Space containing the frozen, correlated, and active fermionic spaces. Default assumes all electrons are correlated. omega: Bosonic frequencies. g: Electron-boson coupling matrix corresponding to the bosonic annihilation operator :math:`g_{bpq} p^\\dagger q b`. The creation part is assumed to be the fermionic conjugate transpose to retain Hermiticity in the Hamiltonian. G: Boson non-conserving term :math:`G_{b} (b^\\dagger + b)`. mo_coeff: Molecular orbital coefficients. Default is the mean-field coefficients. mo_occ: Molecular orbital occupation numbers. Default is the mean-field occupation. fock: Fock matrix. Default is the mean-field Fock matrix. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . log = default_log if log is None else log self . mf = self . _convert_mf ( mf ) self . _mo_coeff : Optional [ NDArray [ T ]] = ( np . asarray ( mo_coeff , dtype = types [ float ]) if mo_coeff is not None else None ) self . _mo_occ : Optional [ NDArray [ T ]] = ( np . asarray ( mo_occ , dtype = types [ float ]) if mo_occ is not None else None ) # Ansatz: if isinstance ( ansatz , Ansatz ): self . ansatz = ansatz elif isinstance ( ansatz , str ): self . ansatz = Ansatz . from_string ( ansatz , density_fitting = getattr ( self . mf , \"with_df\" , None ) is not None ) else : raise TypeError ( \"ansatz must be an Ansatz object or a string.\" ) self . _eqns = self . ansatz . _get_eqns ( self . spin_type ) # Space: if space is not None : self . space = space else : self . space = self . init_space () # Boson parameters: if bool ( self . fermion_coupling_rank ) != bool ( self . boson_coupling_rank ): raise ValueError ( \"Fermionic and bosonic coupling ranks must both be zero, or both non-zero.\" ) self . omega = np . asarray ( omega , dtype = types [ float ]) if omega is not None else None self . bare_g = np . asarray ( g , dtype = types [ float ]) if g is not None else None self . bare_G = np . asarray ( G , dtype = types [ float ]) if G is not None else None if self . boson_ansatz != \"\" : self . g = self . get_g () self . G = self . get_mean_field_G () if self . options . shift : self . log . info ( \" > Energy shift due to polaritonic basis: %.10f \" , self . const ) else : assert self . nbos == 0 self . options . shift = False self . g = None self . G = None # Fock matrix: if fock is None : self . fock = self . get_fock () else : self . fock = fock # Attributes: self . e_corr = 0.0 self . amplitudes = util . Namespace () self . converged = False self . lambdas = util . Namespace () self . converged_lambda = False # Logging: init_logging ( self . log ) 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 \" > 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 \" > diis_min_space: { ANSI . y }{ self . options . diis_min_space }{ ANSI . R } \" ) self . log . info ( f \" > damping: { ANSI . y }{ self . options . damping }{ ANSI . R } \" ) self . log . debug ( \"\" ) self . log . info ( f \" { ANSI . B } Ansatz { ANSI . R } : { ANSI . m }{ self . ansatz }{ ANSI . R } \" ) self . log . debug ( \"\" ) self . log . info ( f \" { ANSI . B } Space { ANSI . R } : { ANSI . m }{ self . space }{ ANSI . R } \" ) self . log . debug ( \"\" )","title":"REBCC"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.spin_type","text":"Get a string representation of the spin type.","title":"spin_type"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.bare_fock","text":"Get the mean-field Fock matrix in the MO basis, including frozen parts. Returns an array and not a BaseFock object. Returns: NDArray [ T ] \u2013 Mean-field Fock matrix.","title":"bare_fock"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.xi","text":"Get the shift in the bosonic operators to diagonalise the photon Hamiltonian. Returns: NDArray [ T ] \u2013 Shift in the bosonic operators.","title":"xi"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.nmo","text":"Get the number of molecular orbitals. Returns: int \u2013 Number of molecular orbitals.","title":"nmo"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.nocc","text":"Get the number of occupied molecular orbitals. Returns: int \u2013 Number of occupied molecular orbitals.","title":"nocc"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.nvir","text":"Get the number of virtual molecular orbitals. Returns: int \u2013 Number of virtual molecular orbitals.","title":"nvir"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.ip_eom","text":"Get the IP-EOM object. Parameters: options \u2013 Options for the IP-EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments. Returns: IP_REOM \u2013 IP-EOM object. Source code in ebcc/cc/rebcc.py 56 57 58 59 60 61 62 63 64 65 66 def ip_eom ( self , ** kwargs : Any ) -> IP_REOM : \"\"\"Get the IP-EOM object. Args: options: Options for the IP-EOM calculation. **kwargs: Additional keyword arguments. Returns: IP-EOM object. \"\"\" return IP_REOM ( self , ** kwargs )","title":"ip_eom"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.ea_eom","text":"Get the EA-EOM object. Parameters: options \u2013 Options for the EA-EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments. Returns: EA_REOM \u2013 EA-EOM object. Source code in ebcc/cc/rebcc.py 68 69 70 71 72 73 74 75 76 77 78 def ea_eom ( self , ** kwargs : Any ) -> EA_REOM : \"\"\"Get the EA-EOM object. Args: options: Options for the EA-EOM calculation. **kwargs: Additional keyword arguments. Returns: EA-EOM object. \"\"\" return EA_REOM ( self , ** kwargs )","title":"ea_eom"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.ee_eom","text":"Get the EE-EOM object. Parameters: options \u2013 Options for the EE-EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments. Returns: EE_REOM \u2013 EE-EOM object. Source code in ebcc/cc/rebcc.py 80 81 82 83 84 85 86 87 88 89 90 def ee_eom ( self , ** kwargs : Any ) -> EE_REOM : \"\"\"Get the EE-EOM object. Args: options: Options for the EE-EOM calculation. **kwargs: Additional keyword arguments. Returns: EE-EOM object. \"\"\" return EE_REOM ( self , ** kwargs )","title":"ee_eom"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.init_space","text":"Initialise the fermionic space. Returns: SpaceType \u2013 Fermionic space. All fermionic degrees of freedom are assumed to be correlated. Source code in ebcc/cc/rebcc.py 100 101 102 103 104 105 106 107 108 109 110 111 def init_space ( self ) -> SpaceType : \"\"\"Initialise the fermionic space. Returns: Fermionic space. All fermionic degrees of freedom are assumed to be correlated. \"\"\" space = Space ( self . mo_occ > 0 , np . zeros ( self . mo_occ . shape , dtype = np . bool_ ), np . zeros ( self . mo_occ . shape , dtype = np . bool_ ), ) return space","title":"init_space"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.init_amps","text":"Initialise the cluster amplitudes. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. Returns: Namespace [ SpinArrayType ] \u2013 Initial cluster amplitudes. Source code in ebcc/cc/rebcc.py 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 def init_amps ( self , eris : Optional [ ERIsInputType ] = None ) -> Namespace [ SpinArrayType ]: \"\"\"Initialise the cluster amplitudes. Args: eris: Electron repulsion integrals. Returns: Initial cluster amplitudes. \"\"\" eris = self . get_eris ( eris ) amplitudes : Namespace [ SpinArrayType ] = util . Namespace () # Build T amplitudes: for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): if n == 1 : amplitudes [ name ] = self . fock [ key ] / self . energy_sum ( key ) elif n == 2 : key_t = key [ 0 ] + key [ 2 ] + key [ 1 ] + key [ 3 ] amplitudes [ name ] = np . transpose ( eris [ key_t ], ( 0 , 2 , 1 , 3 )) / self . energy_sum ( key ) else : shape = tuple ( self . space . size ( k ) for k in key ) amplitudes [ name ] = np . zeros ( shape , dtype = types [ float ]) # Build S amplitudes: for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): if self . omega is None or self . G is None : raise ValueError ( \"Bosonic parameters not set.\" ) if n == 1 : amplitudes [ name ] = - self . G / self . omega else : shape = ( self . nbos ,) * n amplitudes [ name ] = np . zeros ( shape , dtype = types [ float ]) # Build U amplitudes: for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): if self . omega is None or self . g is None : raise ValueError ( \"Bosonic parameters not set.\" ) if nf != 1 : raise util . ModelNotImplemented if nb == 1 : amplitudes [ name ] = self . g [ key ] / self . energy_sum ( key ) else : shape = ( self . nbos ,) * nb + tuple ( self . space . size ( k ) for k in key [ nb :]) amplitudes [ name ] = np . zeros ( shape , dtype = types [ float ]) return amplitudes","title":"init_amps"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.init_lams","text":"Initialise the cluster lambda amplitudes. Parameters: amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: Namespace [ SpinArrayType ] \u2013 Initial cluster lambda amplitudes. Source code in ebcc/cc/rebcc.py 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 def init_lams ( self , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None ) -> Namespace [ SpinArrayType ]: \"\"\"Initialise the cluster lambda amplitudes. Args: amplitudes: Cluster amplitudes. Returns: Initial cluster lambda amplitudes. \"\"\" if not amplitudes : amplitudes = self . amplitudes lambdas : Namespace [ SpinArrayType ] = util . Namespace () # Build L amplitudes: for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): lname = name . replace ( \"t\" , \"l\" ) perm = list ( range ( n , 2 * n )) + list ( range ( n )) lambdas [ lname ] = np . transpose ( amplitudes [ name ], perm ) # Build LS amplitudes: for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): lname = \"l\" + name lambdas [ lname ] = amplitudes [ name ] # Build LU amplitudes: for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): if nf != 1 : raise util . ModelNotImplemented lname = \"l\" + name perm = list ( range ( nb )) + [ nb + 1 , nb ] lambdas [ lname ] = np . transpose ( amplitudes [ name ], perm ) return lambdas","title":"init_lams"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.update_amps","text":"Update the cluster amplitudes. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: Namespace [ SpinArrayType ] \u2013 Updated cluster amplitudes. Source code in ebcc/cc/rebcc.py 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 def update_amps ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , ) -> Namespace [ SpinArrayType ]: \"\"\"Update the cluster amplitudes. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. Returns: Updated cluster amplitudes. \"\"\" amplitudes = self . _get_amps ( amplitudes = amplitudes ) func , kwargs = self . _load_function ( \"update_amps\" , eris = eris , amplitudes = amplitudes , ) res : Namespace [ SpinArrayType ] = func ( ** kwargs ) res = util . Namespace ( ** { key . rstrip ( \"new\" ): val for key , val in res . items ()}) # Divide T amplitudes: for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): res [ name ] /= self . energy_sum ( key ) res [ name ] += amplitudes [ name ] # Divide S amplitudes: for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): res [ name ] /= self . energy_sum ( key ) res [ name ] += amplitudes [ name ] # Divide U amplitudes: for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): if nf != 1 : raise util . ModelNotImplemented res [ name ] /= self . energy_sum ( key ) res [ name ] += amplitudes [ name ] return res","title":"update_amps"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.update_lams","text":"Update the cluster lambda amplitudes. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. lambdas_pert ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Perturbative cluster lambda amplitudes. perturbative ( bool , default: False ) \u2013 Flag to include perturbative correction. Returns: Namespace [ SpinArrayType ] \u2013 Updated cluster lambda amplitudes. Source code in ebcc/cc/rebcc.py 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 def update_lams ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , lambdas_pert : Optional [ Namespace [ SpinArrayType ]] = None , perturbative : bool = False , ) -> Namespace [ SpinArrayType ]: \"\"\"Update the cluster lambda amplitudes. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. lambdas_pert: Perturbative cluster lambda amplitudes. perturbative: Flag to include perturbative correction. Returns: Updated cluster lambda amplitudes. \"\"\" # TODO active amplitudes = self . _get_amps ( amplitudes = amplitudes ) lambdas = self . _get_lams ( lambdas = lambdas , amplitudes = amplitudes ) if lambdas_pert is not None : lambdas . update ( lambdas_pert ) func , kwargs = self . _load_function ( \"update_lams %s \" % ( \"_perturbative\" if perturbative else \"\" ), eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) res : Namespace [ SpinArrayType ] = func ( ** kwargs ) res = util . Namespace ( ** { key . rstrip ( \"new\" ): val for key , val in res . items ()}) # Divide T amplitudes: for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): res [ name ] /= self . energy_sum ( key ) if not perturbative : res [ name ] += lambdas [ name ] # Divide S amplitudes: for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): res [ name ] /= self . energy_sum ( key ) if not perturbative : res [ name ] += lambdas [ name ] # Divide U amplitudes: for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): if nf != 1 : raise util . ModelNotImplemented res [ name ] /= self . energy_sum ( key ) if not perturbative : res [ name ] += lambdas [ name ] if perturbative : res = util . Namespace ( ** { key + \"pert\" : val for key , val in res . items ()}) return res","title":"update_lams"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.make_rdm1_f","text":"Make the one-particle fermionic reduced density matrix :math: \\langle i^+ j \\rangle . Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: NDArray [ T ] \u2013 One-particle fermion reduced density matrix. Source code in ebcc/cc/rebcc.py 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 def make_rdm1_f ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , hermitise : bool = True , ) -> NDArray [ T ]: r \"\"\"Make the one-particle fermionic reduced density matrix :math:`\\langle i^+ j \\rangle`. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. hermitise: Hermitise the density matrix. Returns: One-particle fermion reduced density matrix. \"\"\" func , kwargs = self . _load_function ( \"make_rdm1_f\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) dm : NDArray [ T ] = func ( ** kwargs ) if hermitise : dm = ( dm + np . transpose ( dm )) * 0.5 return dm","title":"make_rdm1_f"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.make_rdm2_f","text":"Make the two-particle fermionic reduced density matrix :math: \\langle i^+j^+lk \\rangle . Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: NDArray [ T ] \u2013 Two-particle fermion reduced density matrix. Source code in ebcc/cc/rebcc.py 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 def make_rdm2_f ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , hermitise : bool = True , ) -> NDArray [ T ]: r \"\"\"Make the two-particle fermionic reduced density matrix :math:`\\langle i^+j^+lk \\rangle`. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. hermitise: Hermitise the density matrix. Returns: Two-particle fermion reduced density matrix. \"\"\" func , kwargs = self . _load_function ( \"make_rdm2_f\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) dm : NDArray [ T ] = func ( ** kwargs ) if hermitise : dm = ( np . transpose ( dm , ( 0 , 1 , 2 , 3 )) + np . transpose ( dm , ( 2 , 3 , 0 , 1 ))) * 0.5 dm = ( np . transpose ( dm , ( 0 , 1 , 2 , 3 )) + np . transpose ( dm , ( 1 , 0 , 3 , 2 ))) * 0.5 return dm","title":"make_rdm2_f"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.make_eb_coup_rdm","text":"Make the electron-boson coupling reduced density matrix. .. math:: \\langle b^+ i^+ j \\rangle and .. math:: \\langle b i^+ j \\rangle Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. unshifted ( bool , default: True ) \u2013 If self.options.shift is True , return the unshifted density matrix. Has no effect if self.options.shift is False . hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: NDArray [ T ] \u2013 Electron-boson coupling reduced density matrix. Source code in ebcc/cc/rebcc.py 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 def make_eb_coup_rdm ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , unshifted : bool = True , hermitise : bool = True , ) -> NDArray [ T ]: r \"\"\"Make the electron-boson coupling reduced density matrix. .. math:: \\langle b^+ i^+ j \\rangle and .. math:: \\langle b i^+ j \\rangle Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. unshifted: If `self.options.shift` is `True`, return the unshifted density matrix. Has no effect if `self.options.shift` is `False`. hermitise: Hermitise the density matrix. Returns: Electron-boson coupling reduced density matrix. \"\"\" func , kwargs = self . _load_function ( \"make_eb_coup_rdm\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) dm_eb : NDArray [ T ] = func ( ** kwargs ) if hermitise : dm_eb = np . array ( [ ( dm_eb [ 0 ] + np . transpose ( dm_eb [ 1 ], ( 0 , 2 , 1 ))) * 0.5 , ( dm_eb [ 1 ] + np . transpose ( dm_eb [ 0 ], ( 0 , 2 , 1 ))) * 0.5 , ] ) if unshifted and self . options . shift : rdm1_f = self . make_rdm1_f ( hermitise = hermitise ) shift = util . einsum ( \"x,ij->xij\" , self . xi , rdm1_f ) dm_eb -= shift [ None ] return dm_eb","title":"make_eb_coup_rdm"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.energy_sum","text":"Get a direct sum of energies. Parameters: *args ( str , default: () ) \u2013 Energies to sum. Should specify a subscript only. signs_dict ( Optional [ dict [ str , str ]] , default: None ) \u2013 Signs of the energies in the sum. Default sets (\"o\", \"O\", \"i\") to be positive, and (\"v\", \"V\", \"a\", \"b\") to be negative. Returns: NDArray [ T ] \u2013 Sum of energies. Source code in ebcc/cc/rebcc.py 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 def energy_sum ( self , * args : str , signs_dict : Optional [ dict [ str , str ]] = None ) -> NDArray [ T ]: \"\"\"Get a direct sum of energies. Args: *args: Energies to sum. Should specify a subscript only. signs_dict: Signs of the energies in the sum. Default sets `(\"o\", \"O\", \"i\")` to be positive, and `(\"v\", \"V\", \"a\", \"b\")` to be negative. Returns: Sum of energies. \"\"\" ( subscript ,) = args n = 0 def next_char () -> str : nonlocal n if n < 26 : char = chr ( ord ( \"a\" ) + n ) else : char = chr ( ord ( \"A\" ) + n ) n += 1 return char if signs_dict is None : signs_dict = {} for k , s in zip ( \"vVaoOib\" , \"---+++-\" ): if k not in signs_dict : signs_dict [ k ] = s energies = [] for key in subscript : factor = 1 if signs_dict [ key ] == \"+\" else - 1 if key == \"b\" : assert self . omega is not None energies . append ( self . omega * types [ float ]( factor )) else : energies . append ( np . diag ( self . fock [ key + key ]) * types [ float ]( factor )) subscript = \",\" . join ([ next_char () for k in subscript ]) energy_sum = util . dirsum ( subscript , * energies ) return energy_sum","title":"energy_sum"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.amplitudes_to_vector","text":"Construct a vector containing all of the amplitudes used in the given ansatz. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 Cluster amplitudes. Returns: NDArray [ T ] \u2013 Cluster amplitudes as a vector. Source code in ebcc/cc/rebcc.py 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the amplitudes used in the given ansatz. Args: amplitudes: Cluster amplitudes. Returns: Cluster amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): vectors . append ( np . ravel ( amplitudes [ name ])) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): vectors . append ( np . ravel ( amplitudes [ name ])) for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): vectors . append ( np . ravel ( amplitudes [ name ])) return np . concatenate ( vectors )","title":"amplitudes_to_vector"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.vector_to_amplitudes","text":"Construct a namespace of amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 Cluster amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 Cluster amplitudes. Source code in ebcc/cc/rebcc.py 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of amplitudes from a vector. Args: vector: Cluster amplitudes as a vector. Returns: Cluster amplitudes. \"\"\" amplitudes : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): shape = tuple ( self . space . size ( k ) for k in key ) size = util . prod ( shape ) amplitudes [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): shape = ( self . nbos ,) * n size = util . prod ( shape ) amplitudes [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): shape = ( self . nbos ,) * nb + tuple ( self . space . size ( k ) for k in key [ nb :]) size = util . prod ( shape ) amplitudes [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size return amplitudes","title":"vector_to_amplitudes"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.lambdas_to_vector","text":"Construct a vector containing all of the lambda amplitudes used in the given ansatz. Parameters: lambdas ( Namespace [ SpinArrayType ] ) \u2013 Cluster lambda amplitudes. Returns: NDArray [ T ] \u2013 Cluster lambda amplitudes as a vector. Source code in ebcc/cc/rebcc.py 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 def lambdas_to_vector ( self , lambdas : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the lambda amplitudes used in the given ansatz. Args: lambdas: Cluster lambda amplitudes. Returns: Cluster lambda amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): vectors . append ( np . ravel ( lambdas [ name ])) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): vectors . append ( np . ravel ( lambdas [ name ])) for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): vectors . append ( np . ravel ( lambdas [ name ])) return np . concatenate ( vectors )","title":"lambdas_to_vector"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.vector_to_lambdas","text":"Construct a namespace of lambda amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 Cluster lambda amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 Cluster lambda amplitudes. Source code in ebcc/cc/rebcc.py 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 def vector_to_lambdas ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of lambda amplitudes from a vector. Args: vector: Cluster lambda amplitudes as a vector. Returns: Cluster lambda amplitudes. \"\"\" lambdas : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): shape = tuple ( self . space . size ( k ) for k in key ) size = util . prod ( shape ) lambdas [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): shape = ( self . nbos ,) * n size = util . prod ( shape ) lambdas [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): shape = ( self . nbos ,) * nb + tuple ( self . space . size ( k ) for k in key [ nb :]) size = util . prod ( shape ) lambdas [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size return lambdas","title":"vector_to_lambdas"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.get_mean_field_G","text":"Get the mean-field boson non-conserving term. Returns: NDArray [ T ] \u2013 Mean-field boson non-conserving term. Source code in ebcc/cc/rebcc.py 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 def get_mean_field_G ( self ) -> NDArray [ T ]: \"\"\"Get the mean-field boson non-conserving term. Returns: Mean-field boson non-conserving term. \"\"\" # FIXME should this also sum in frozen orbitals? assert self . omega is not None assert self . g is not None boo : NDArray [ T ] = self . g . boo val = util . einsum ( \"Ipp->I\" , boo ) * 2.0 val -= self . xi * self . omega if self . bare_G is not None : val += self . bare_G return val","title":"get_mean_field_G"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.get_fock","text":"Get the Fock matrix. Returns: RFock \u2013 Fock matrix. Source code in ebcc/cc/rebcc.py 649 650 651 652 653 654 655 def get_fock ( self ) -> RFock : \"\"\"Get the Fock matrix. Returns: Fock matrix. \"\"\" return self . Fock ( self , array = self . bare_fock , g = self . g )","title":"get_fock"},{"location":"reference/cc/rebcc/#ebcc.cc.rebcc.REBCC.get_eris","text":"Get the electron repulsion integrals. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Input electron repulsion integrals. Returns: Union [ RERIs , RCDERIs ] \u2013 Electron repulsion integrals. Source code in ebcc/cc/rebcc.py 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 def get_eris ( self , eris : Optional [ ERIsInputType ] = None ) -> Union [ RERIs , RCDERIs ]: \"\"\"Get the electron repulsion integrals. Args: eris: Input electron repulsion integrals. Returns: Electron repulsion integrals. \"\"\" use_df = getattr ( self . mf , \"with_df\" , None ) is not None if isinstance ( eris , ( RERIs , RCDERIs )): return eris elif ( isinstance ( eris , np . ndarray ) and eris . ndim == 3 ) or use_df : return self . CDERIs ( self , array = eris ) else : return self . ERIs ( self , array = eris )","title":"get_eris"},{"location":"reference/cc/uebcc/","text":"Unrestricted electron-boson coupled cluster. ebcc . cc . uebcc . UEBCC ( mf , log = None , ansatz = 'CCSD' , options = None , space = None , omega = None , g = None , G = None , mo_coeff = None , mo_occ = None , fock = None , ** kwargs ) Bases: BaseEBCC Unrestricted electron-boson coupled cluster. Initialise the EBCC object. Parameters: mf ( SCF ) \u2013 PySCF mean-field object. log ( Optional [ Logger ] , default: None ) \u2013 Log to write output to. Default is the global logger, outputting to stderr . ansatz ( Optional [ Union [ Ansatz , str ]] , default: 'CCSD' ) \u2013 Overall ansatz. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EBCC calculation. space ( Optional [ SpaceType ] , default: None ) \u2013 Space containing the frozen, correlated, and active fermionic spaces. Default assumes all electrons are correlated. omega ( Optional [ NDArray [ T ]] , default: None ) \u2013 Bosonic frequencies. g ( Optional [ NDArray [ T ]] , default: None ) \u2013 Electron-boson coupling matrix corresponding to the bosonic annihilation operator :math: g_{bpq} p^\\dagger q b . The creation part is assumed to be the fermionic conjugate transpose to retain Hermiticity in the Hamiltonian. G ( Optional [ NDArray [ T ]] , default: None ) \u2013 Boson non-conserving term :math: G_{b} (b^\\dagger + b) . mo_coeff ( Optional [ NDArray [ T ]] , default: None ) \u2013 Molecular orbital coefficients. Default is the mean-field coefficients. mo_occ ( Optional [ NDArray [ T ]] , default: None ) \u2013 Molecular orbital occupation numbers. Default is the mean-field occupation. fock ( Optional [ BaseFock ] , default: None ) \u2013 Fock matrix. Default is the mean-field Fock matrix. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/cc/base.py 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 def __init__ ( self , mf : SCF , log : Optional [ Logger ] = None , ansatz : Optional [ Union [ Ansatz , str ]] = \"CCSD\" , options : Optional [ BaseOptions ] = None , space : Optional [ SpaceType ] = None , omega : Optional [ NDArray [ T ]] = None , g : Optional [ NDArray [ T ]] = None , G : Optional [ NDArray [ T ]] = None , mo_coeff : Optional [ NDArray [ T ]] = None , mo_occ : Optional [ NDArray [ T ]] = None , fock : Optional [ BaseFock ] = None , ** kwargs : Any , ) -> None : r \"\"\"Initialise the EBCC object. Args: mf: PySCF mean-field object. log: Log to write output to. Default is the global logger, outputting to `stderr`. ansatz: Overall ansatz. options: Options for the EBCC calculation. space: Space containing the frozen, correlated, and active fermionic spaces. Default assumes all electrons are correlated. omega: Bosonic frequencies. g: Electron-boson coupling matrix corresponding to the bosonic annihilation operator :math:`g_{bpq} p^\\dagger q b`. The creation part is assumed to be the fermionic conjugate transpose to retain Hermiticity in the Hamiltonian. G: Boson non-conserving term :math:`G_{b} (b^\\dagger + b)`. mo_coeff: Molecular orbital coefficients. Default is the mean-field coefficients. mo_occ: Molecular orbital occupation numbers. Default is the mean-field occupation. fock: Fock matrix. Default is the mean-field Fock matrix. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . log = default_log if log is None else log self . mf = self . _convert_mf ( mf ) self . _mo_coeff : Optional [ NDArray [ T ]] = ( np . asarray ( mo_coeff , dtype = types [ float ]) if mo_coeff is not None else None ) self . _mo_occ : Optional [ NDArray [ T ]] = ( np . asarray ( mo_occ , dtype = types [ float ]) if mo_occ is not None else None ) # Ansatz: if isinstance ( ansatz , Ansatz ): self . ansatz = ansatz elif isinstance ( ansatz , str ): self . ansatz = Ansatz . from_string ( ansatz , density_fitting = getattr ( self . mf , \"with_df\" , None ) is not None ) else : raise TypeError ( \"ansatz must be an Ansatz object or a string.\" ) self . _eqns = self . ansatz . _get_eqns ( self . spin_type ) # Space: if space is not None : self . space = space else : self . space = self . init_space () # Boson parameters: if bool ( self . fermion_coupling_rank ) != bool ( self . boson_coupling_rank ): raise ValueError ( \"Fermionic and bosonic coupling ranks must both be zero, or both non-zero.\" ) self . omega = np . asarray ( omega , dtype = types [ float ]) if omega is not None else None self . bare_g = np . asarray ( g , dtype = types [ float ]) if g is not None else None self . bare_G = np . asarray ( G , dtype = types [ float ]) if G is not None else None if self . boson_ansatz != \"\" : self . g = self . get_g () self . G = self . get_mean_field_G () if self . options . shift : self . log . info ( \" > Energy shift due to polaritonic basis: %.10f \" , self . const ) else : assert self . nbos == 0 self . options . shift = False self . g = None self . G = None # Fock matrix: if fock is None : self . fock = self . get_fock () else : self . fock = fock # Attributes: self . e_corr = 0.0 self . amplitudes = util . Namespace () self . converged = False self . lambdas = util . Namespace () self . converged_lambda = False # Logging: init_logging ( self . log ) 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 \" > 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 \" > diis_min_space: { ANSI . y }{ self . options . diis_min_space }{ ANSI . R } \" ) self . log . info ( f \" > damping: { ANSI . y }{ self . options . damping }{ ANSI . R } \" ) self . log . debug ( \"\" ) self . log . info ( f \" { ANSI . B } Ansatz { ANSI . R } : { ANSI . m }{ self . ansatz }{ ANSI . R } \" ) self . log . debug ( \"\" ) self . log . info ( f \" { ANSI . B } Space { ANSI . R } : { ANSI . m }{ self . space }{ ANSI . R } \" ) self . log . debug ( \"\" ) ebcc . cc . uebcc . UEBCC . spin_type : str property Get a string representation of the spin type. ebcc . cc . uebcc . UEBCC . bare_fock : Namespace [ NDArray [ T ]] property Get the mean-field Fock matrix in the MO basis, including frozen parts. Returns an array and not a BaseFock object. Returns: Namespace [ NDArray [ T ]] \u2013 Mean-field Fock matrix. ebcc . cc . uebcc . UEBCC . xi : NDArray [ T ] property Get the shift in the bosonic operators to diagonalise the photon Hamiltonian. Returns: NDArray [ T ] \u2013 Shift in the bosonic operators. ebcc . cc . uebcc . UEBCC . nmo : int property Get the number of molecular orbitals. Returns: int \u2013 Number of molecular orbitals. ebcc . cc . uebcc . UEBCC . nocc : tuple [ int , int ] property Get the number of occupied molecular orbitals. Returns: tuple [ int , int ] \u2013 Number of occupied molecular orbitals for each spin. ebcc . cc . uebcc . UEBCC . nvir : tuple [ int , int ] property Get the number of virtual molecular orbitals. Returns: tuple [ int , int ] \u2013 Number of virtual molecular orbitals for each spin. ebcc . cc . uebcc . UEBCC . ip_eom ( ** kwargs ) Get the IP-EOM object. Parameters: options \u2013 Options for the IP-EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments. Returns: IP_UEOM \u2013 IP-EOM object. Source code in ebcc/cc/uebcc.py 58 59 60 61 62 63 64 65 66 67 68 def ip_eom ( self , ** kwargs : Any ) -> IP_UEOM : \"\"\"Get the IP-EOM object. Args: options: Options for the IP-EOM calculation. **kwargs: Additional keyword arguments. Returns: IP-EOM object. \"\"\" return IP_UEOM ( self , ** kwargs ) ebcc . cc . uebcc . UEBCC . ea_eom ( ** kwargs ) Get the EA-EOM object. Parameters: options \u2013 Options for the EA-EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments. Returns: EA_UEOM \u2013 EA-EOM object. Source code in ebcc/cc/uebcc.py 70 71 72 73 74 75 76 77 78 79 80 def ea_eom ( self , ** kwargs : Any ) -> EA_UEOM : \"\"\"Get the EA-EOM object. Args: options: Options for the EA-EOM calculation. **kwargs: Additional keyword arguments. Returns: EA-EOM object. \"\"\" return EA_UEOM ( self , ** kwargs ) ebcc . cc . uebcc . UEBCC . ee_eom ( ** kwargs ) Get the EE-EOM object. Parameters: options \u2013 Options for the EE-EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments. Returns: EE_UEOM \u2013 EE-EOM object. Source code in ebcc/cc/uebcc.py 82 83 84 85 86 87 88 89 90 91 92 def ee_eom ( self , ** kwargs : Any ) -> EE_UEOM : \"\"\"Get the EE-EOM object. Args: options: Options for the EE-EOM calculation. **kwargs: Additional keyword arguments. Returns: EE-EOM object. \"\"\" return EE_UEOM ( self , ** kwargs ) ebcc . cc . uebcc . UEBCC . from_rebcc ( rcc ) classmethod Initialise an UEBCC object from an REBCC object. Parameters: rcc ( REBCC ) \u2013 Restricted electron-boson coupled cluster object. Returns: UEBCC \u2013 UEBCC object. Source code in ebcc/cc/uebcc.py 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 @classmethod def from_rebcc ( cls , rcc : REBCC ) -> UEBCC : \"\"\"Initialise an `UEBCC` object from an `REBCC` object. Args: rcc: Restricted electron-boson coupled cluster object. Returns: UEBCC object. \"\"\" ucc = cls ( rcc . mf , log = rcc . log , ansatz = rcc . ansatz , space = ( rcc . space , rcc . space ), omega = rcc . omega , g = rcc . bare_g , G = rcc . bare_G , options = rcc . options , ) ucc . e_corr = rcc . e_corr ucc . converged = rcc . converged ucc . converged_lambda = rcc . converged_lambda has_amps = bool ( rcc . amplitudes ) has_lams = bool ( rcc . lambdas ) if has_amps : amplitudes : Namespace [ SpinArrayType ] = util . Namespace () for name , key , n in ucc . ansatz . fermionic_cluster_ranks ( spin_type = ucc . spin_type ): amplitudes [ name ] = util . Namespace () for comb in util . generate_spin_combinations ( n , unique = True ): subscript , _ = util . combine_subscripts ( key , comb ) tn = rcc . amplitudes [ name ] tn = util . symmetrise ( subscript , tn , symmetry = \"-\" * 2 * n ) amplitudes [ name ][ comb ] = tn for name , key , n in ucc . ansatz . bosonic_cluster_ranks ( spin_type = ucc . spin_type ): amplitudes [ name ] = np . copy ( rcc . amplitudes [ name ]) # type: ignore for name , key , nf , nb in ucc . ansatz . coupling_cluster_ranks ( spin_type = ucc . spin_type ): amplitudes [ name ] = util . Namespace () for comb in util . generate_spin_combinations ( nf , unique = True ): tn = rcc . amplitudes [ name ] amplitudes [ name ][ comb ] = tn ucc . amplitudes = amplitudes if has_lams : lambdas : Namespace [ SpinArrayType ] = util . Namespace () for name , key , n in ucc . ansatz . fermionic_cluster_ranks ( spin_type = ucc . spin_type ): lname = name . replace ( \"t\" , \"l\" ) lambdas [ lname ] = util . Namespace () for comb in util . generate_spin_combinations ( n , unique = True ): subscript , _ = util . combine_subscripts ( key , comb ) tn = rcc . lambdas [ lname ] tn = util . symmetrise ( subscript , tn , symmetry = \"-\" * 2 * n ) lambdas [ lname ][ comb ] = tn for name , key , n in ucc . ansatz . bosonic_cluster_ranks ( spin_type = ucc . spin_type ): lname = \"l\" + name lambdas [ lname ] = np . copy ( rcc . lambdas [ lname ]) # type: ignore for name , key , nf , nb in ucc . ansatz . coupling_cluster_ranks ( spin_type = ucc . spin_type ): lname = \"l\" + name lambdas [ lname ] = util . Namespace () for comb in util . generate_spin_combinations ( nf , unique = True ): tn = rcc . lambdas [ lname ] lambdas [ lname ][ comb ] = tn ucc . lambdas = lambdas return ucc ebcc . cc . uebcc . UEBCC . init_space () Initialise the fermionic space. Returns: SpaceType \u2013 Fermionic space. All fermionic degrees of freedom are assumed to be correlated. Source code in ebcc/cc/uebcc.py 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 def init_space ( self ) -> SpaceType : \"\"\"Initialise the fermionic space. Returns: Fermionic space. All fermionic degrees of freedom are assumed to be correlated. \"\"\" space = ( Space ( self . mo_occ [ 0 ] > 0 , np . zeros ( self . mo_occ [ 0 ] . shape , dtype = np . bool_ ), np . zeros ( self . mo_occ [ 0 ] . shape , dtype = np . bool_ ), ), Space ( self . mo_occ [ 1 ] > 0 , np . zeros ( self . mo_occ [ 1 ] . shape , dtype = np . bool_ ), np . zeros ( self . mo_occ [ 1 ] . shape , dtype = np . bool_ ), ), ) return space ebcc . cc . uebcc . UEBCC . init_amps ( eris = None ) Initialise the cluster amplitudes. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. Returns: Namespace [ SpinArrayType ] \u2013 Initial cluster amplitudes. Source code in ebcc/cc/uebcc.py 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 def init_amps ( self , eris : Optional [ ERIsInputType ] = None ) -> Namespace [ SpinArrayType ]: \"\"\"Initialise the cluster amplitudes. Args: eris: Electron repulsion integrals. Returns: Initial cluster amplitudes. \"\"\" eris = self . get_eris ( eris ) amplitudes : Namespace [ SpinArrayType ] = util . Namespace () # Build T amplitudes for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): tn : SpinArrayType = util . Namespace () for comb in util . generate_spin_combinations ( n , unique = True ): if n == 1 : tn [ comb ] = self . fock [ comb ][ key ] / self . energy_sum ( key , comb ) elif n == 2 : comb_t = comb [ 0 ] + comb [ 2 ] + comb [ 1 ] + comb [ 3 ] key_t = key [ 0 ] + key [ 2 ] + key [ 1 ] + key [ 3 ] tn [ comb ] = np . transpose ( eris [ comb_t ][ key_t ], ( 0 , 2 , 1 , 3 )) / self . energy_sum ( key , comb ) if comb in ( \"aaaa\" , \"bbbb\" ): # TODO generalise: tn [ comb ] = ( tn [ comb ] - np . transpose ( tn [ comb ], ( 1 , 0 , 2 , 3 ))) * 0.5 else : shape = tuple ( self . space [ \"ab\" . index ( s )] . size ( k ) for s , k in zip ( comb , key )) tn [ comb ] = np . zeros ( shape , dtype = types [ float ]) amplitudes [ name ] = tn # Build S amplitudes: for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): if self . omega is None or self . G is None : raise ValueError ( \"Bosonic parameters not set.\" ) if n == 1 : amplitudes [ name ] = - self . G / self . omega # type: ignore else : shape = ( self . nbos ,) * n amplitudes [ name ] = np . zeros ( shape , dtype = types [ float ]) # type: ignore # Build U amplitudes: for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): if self . omega is None or self . g is None : raise ValueError ( \"Bosonic parameters not set.\" ) if nf != 1 : raise util . ModelNotImplemented if nb == 1 : tn = util . Namespace ( aa = self . g . aa [ key ] / self . energy_sum ( key , \"_aa\" ), bb = self . g . bb [ key ] / self . energy_sum ( key , \"_aa\" ), ) amplitudes [ name ] = tn else : tn = util . Namespace ( aa = np . zeros ( ( self . nbos ,) * nb + tuple ( self . space [ 0 ] . size ( k ) for k in key [ nb :]), dtype = types [ float ], ), bb = np . zeros ( ( self . nbos ,) * nb + tuple ( self . space [ 0 ] . size ( k ) for k in key [ nb :]), dtype = types [ float ], ), ) amplitudes [ name ] = tn return amplitudes ebcc . cc . uebcc . UEBCC . init_lams ( amplitudes = None ) Initialise the cluster lambda amplitudes. Parameters: amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: Namespace [ SpinArrayType ] \u2013 Initial cluster lambda amplitudes. Source code in ebcc/cc/uebcc.py 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 def init_lams ( self , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None ) -> Namespace [ SpinArrayType ]: \"\"\"Initialise the cluster lambda amplitudes. Args: amplitudes: Cluster amplitudes. Returns: Initial cluster lambda amplitudes. \"\"\" if not amplitudes : amplitudes = self . amplitudes lambdas : Namespace [ SpinArrayType ] = util . Namespace () # Build L amplitudes: for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): lname = name . replace ( \"t\" , \"l\" ) perm = list ( range ( n , 2 * n )) + list ( range ( n )) lambdas [ lname ] = util . Namespace () for key in dict ( amplitudes [ name ]) . keys (): ln = np . transpose ( amplitudes [ name ][ key ], perm ) lambdas [ lname ][ key ] = ln # Build LS amplitudes: for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): lambdas [ \"l\" + name ] = amplitudes [ name ] # type: ignore # Build LU amplitudes: for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): if nf != 1 : raise util . ModelNotImplemented perm = list ( range ( nb )) + [ nb + 1 , nb ] lambdas [ \"l\" + name ] = util . Namespace () for key in dict ( amplitudes [ name ]) . keys (): ln = np . transpose ( amplitudes [ name ][ key ], perm ) lambdas [ \"l\" + name ][ key ] = ln return lambdas ebcc . cc . uebcc . UEBCC . update_amps ( eris = None , amplitudes = None ) Update the cluster amplitudes. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: Namespace [ SpinArrayType ] \u2013 Updated cluster amplitudes. Source code in ebcc/cc/uebcc.py 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 def update_amps ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , ) -> Namespace [ SpinArrayType ]: \"\"\"Update the cluster amplitudes. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. Returns: Updated cluster amplitudes. \"\"\" amplitudes = self . _get_amps ( amplitudes = amplitudes ) func , kwargs = self . _load_function ( \"update_amps\" , eris = eris , amplitudes = amplitudes , ) res : Namespace [ SpinArrayType ] = func ( ** kwargs ) res = util . Namespace ( ** { key . rstrip ( \"new\" ): val for key , val in res . items ()}) # Divide T amplitudes: for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): for comb in util . generate_spin_combinations ( n , unique = True ): subscript , _ = util . combine_subscripts ( key , comb ) tn = res [ name ][ comb ] tn /= self . energy_sum ( key , comb ) tn += amplitudes [ name ][ comb ] tn = util . symmetrise ( subscript , tn , symmetry = \"-\" * ( 2 * n )) res [ name ][ comb ] = tn # Divide S amplitudes: for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): res [ name ] /= self . energy_sum ( key , \"_\" * n ) # type: ignore res [ name ] += amplitudes [ name ] # type: ignore # Divide U amplitudes: for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): if nf != 1 : raise util . ModelNotImplemented tn = res [ name ] . aa tn /= self . energy_sum ( key , \"_\" * nb + \"aa\" ) tn += amplitudes [ name ] . aa res [ name ] . aa = tn tn = res [ name ] . bb tn /= self . energy_sum ( key , \"_\" * nb + \"bb\" ) tn += amplitudes [ name ] . bb res [ name ] . bb = tn return res ebcc . cc . uebcc . UEBCC . update_lams ( eris = None , amplitudes = None , lambdas = None , lambdas_pert = None , perturbative = False ) Update the cluster lambda amplitudes. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. lambdas_pert ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Perturbative cluster lambda amplitudes. perturbative ( bool , default: False ) \u2013 Flag to include perturbative correction. Returns: Namespace [ SpinArrayType ] \u2013 Updated cluster lambda amplitudes. Source code in ebcc/cc/uebcc.py 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 def update_lams ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , lambdas_pert : Optional [ Namespace [ SpinArrayType ]] = None , perturbative : bool = False , ) -> Namespace [ SpinArrayType ]: \"\"\"Update the cluster lambda amplitudes. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. lambdas_pert: Perturbative cluster lambda amplitudes. perturbative: Flag to include perturbative correction. Returns: Updated cluster lambda amplitudes. \"\"\" # TODO active amplitudes = self . _get_amps ( amplitudes = amplitudes ) lambdas = self . _get_lams ( lambdas = lambdas , amplitudes = amplitudes ) func , kwargs = self . _load_function ( \"update_lams\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , lambdas_pert = lambdas_pert , ) res : Namespace [ SpinArrayType ] = func ( ** kwargs ) res = util . Namespace ( ** { key . rstrip ( \"new\" ): val for key , val in res . items ()}) # Divide T amplitudes: for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): for comb in util . generate_spin_combinations ( n , unique = True ): subscript , _ = util . combine_subscripts ( key , comb ) tn = res [ name ][ comb ] tn /= self . energy_sum ( key , comb ) tn += lambdas [ name ][ comb ] tn = util . symmetrise ( subscript , tn , symmetry = \"-\" * ( 2 * n )) res [ name ][ comb ] = tn # Divide S amplitudes: for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): res [ name ] /= self . energy_sum ( key , \"_\" * n ) # type: ignore res [ name ] += lambdas [ name ] # type: ignore # Divide U amplitudes: for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): if nf != 1 : raise util . ModelNotImplemented tn = res [ name ] . aa tn /= self . energy_sum ( key , \"_\" * nb + \"aa\" ) tn += lambdas [ name ] . aa res [ name ] . aa = tn tn = res [ name ] . bb tn /= self . energy_sum ( key , \"_\" * nb + \"bb\" ) tn += lambdas [ name ] . bb res [ name ] . bb = tn return res ebcc . cc . uebcc . UEBCC . make_rdm1_f ( eris = None , amplitudes = None , lambdas = None , hermitise = True ) Make the one-particle fermionic reduced density matrix :math: \\langle i^+ j \\rangle . Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: SpinArrayType \u2013 One-particle fermion reduced density matrix. Source code in ebcc/cc/uebcc.py 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 def make_rdm1_f ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , hermitise : bool = True , ) -> SpinArrayType : r \"\"\"Make the one-particle fermionic reduced density matrix :math:`\\langle i^+ j \\rangle`. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. hermitise: Hermitise the density matrix. Returns: One-particle fermion reduced density matrix. \"\"\" func , kwargs = self . _load_function ( \"make_rdm1_f\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) dm : SpinArrayType = func ( ** kwargs ) if hermitise : dm . aa = ( dm . aa + np . transpose ( dm . aa )) * 0.5 dm . bb = ( dm . bb + np . transpose ( dm . bb )) * 0.5 return dm ebcc . cc . uebcc . UEBCC . make_rdm2_f ( eris = None , amplitudes = None , lambdas = None , hermitise = True ) Make the two-particle fermionic reduced density matrix :math: \\langle i^+j^+lk \\rangle . Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: SpinArrayType \u2013 Two-particle fermion reduced density matrix. Source code in ebcc/cc/uebcc.py 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 def make_rdm2_f ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , hermitise : bool = True , ) -> SpinArrayType : r \"\"\"Make the two-particle fermionic reduced density matrix :math:`\\langle i^+j^+lk \\rangle`. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. hermitise: Hermitise the density matrix. Returns: Two-particle fermion reduced density matrix. \"\"\" func , kwargs = self . _load_function ( \"make_rdm2_f\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) dm : SpinArrayType = func ( ** kwargs ) if hermitise : def transpose1 ( dm : NDArray [ T ]) -> NDArray [ T ]: dm = ( np . transpose ( dm , ( 0 , 1 , 2 , 3 )) + np . transpose ( dm , ( 2 , 3 , 0 , 1 ))) * 0.5 return dm def transpose2 ( dm : NDArray [ T ]) -> NDArray [ T ]: dm = ( np . transpose ( dm , ( 0 , 1 , 2 , 3 )) + np . transpose ( dm , ( 1 , 0 , 3 , 2 ))) * 0.5 return dm dm . aaaa = transpose2 ( transpose1 ( dm . aaaa )) dm . aabb = transpose2 ( dm . aabb ) dm . bbbb = transpose2 ( transpose1 ( dm . bbbb )) return dm ebcc . cc . uebcc . UEBCC . make_eb_coup_rdm ( eris = None , amplitudes = None , lambdas = None , unshifted = True , hermitise = True ) Make the electron-boson coupling reduced density matrix. .. math:: \\langle b^+ i^+ j \\rangle and .. math:: \\langle b i^+ j \\rangle Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. unshifted ( bool , default: True ) \u2013 If self.options.shift is True , return the unshifted density matrix. Has no effect if self.options.shift is False . hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: SpinArrayType \u2013 Electron-boson coupling reduced density matrix. Source code in ebcc/cc/uebcc.py 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 def make_eb_coup_rdm ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , unshifted : bool = True , hermitise : bool = True , ) -> SpinArrayType : r \"\"\"Make the electron-boson coupling reduced density matrix. .. math:: \\langle b^+ i^+ j \\rangle and .. math:: \\langle b i^+ j \\rangle Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. unshifted: If `self.options.shift` is `True`, return the unshifted density matrix. Has no effect if `self.options.shift` is `False`. hermitise: Hermitise the density matrix. Returns: Electron-boson coupling reduced density matrix. \"\"\" func , kwargs = self . _load_function ( \"make_eb_coup_rdm\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) dm_eb : SpinArrayType = func ( ** kwargs ) if hermitise : dm_eb . aa = np . array ( [ ( dm_eb . aa [ 0 ] + np . transpose ( dm_eb . aa [ 1 ], ( 0 , 2 , 1 ))) * 0.5 , ( dm_eb . aa [ 1 ] + np . transpose ( dm_eb . aa [ 0 ], ( 0 , 2 , 1 ))) * 0.5 , ] ) dm_eb . bb = np . array ( [ ( dm_eb . bb [ 0 ] + np . transpose ( dm_eb . bb [ 1 ], ( 0 , 2 , 1 ))) * 0.5 , ( dm_eb . bb [ 1 ] + np . transpose ( dm_eb . bb [ 0 ], ( 0 , 2 , 1 ))) * 0.5 , ] ) if unshifted and self . options . shift : rdm1_f = self . make_rdm1_f ( hermitise = hermitise ) shift = util . einsum ( \"x,ij->xij\" , self . xi , rdm1_f . aa ) dm_eb . aa -= shift [ None ] shift = util . einsum ( \"x,ij->xij\" , self . xi , rdm1_f . bb ) dm_eb . bb -= shift [ None ] return dm_eb ebcc . cc . uebcc . UEBCC . energy_sum ( * args , signs_dict = None ) Get a direct sum of energies. Parameters: *args ( str , default: () ) \u2013 Energies to sum. Should specify a subscript and spins. signs_dict ( Optional [ dict [ str , str ]] , default: None ) \u2013 Signs of the energies in the sum. Default sets (\"o\", \"O\", \"i\") to be positive, and (\"v\", \"V\", \"a\", \"b\") to be negative. Returns: NDArray [ T ] \u2013 Sum of energies. Source code in ebcc/cc/uebcc.py 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 def energy_sum ( self , * args : str , signs_dict : Optional [ dict [ str , str ]] = None ) -> NDArray [ T ]: \"\"\"Get a direct sum of energies. Args: *args: Energies to sum. Should specify a subscript and spins. signs_dict: Signs of the energies in the sum. Default sets `(\"o\", \"O\", \"i\")` to be positive, and `(\"v\", \"V\", \"a\", \"b\")` to be negative. Returns: Sum of energies. \"\"\" subscript , spins = args n = 0 def next_char () -> str : nonlocal n if n < 26 : char = chr ( ord ( \"a\" ) + n ) else : char = chr ( ord ( \"A\" ) + n ) n += 1 return char if signs_dict is None : signs_dict = {} for k , s in zip ( \"vVaoOib\" , \"---+++-\" ): if k not in signs_dict : signs_dict [ k ] = s energies = [] for key , spin in zip ( subscript , spins ): factor = 1 if signs_dict [ key ] == \"+\" else - 1 if key == \"b\" : assert self . omega is not None energies . append ( self . omega * types [ float ]( factor )) else : energies . append ( np . diag ( self . fock [ spin + spin ][ key + key ]) * types [ float ]( factor )) subscript = \",\" . join ([ next_char () for k in subscript ]) energy_sum = util . dirsum ( subscript , * energies ) return energy_sum ebcc . cc . uebcc . UEBCC . amplitudes_to_vector ( amplitudes ) Construct a vector containing all of the amplitudes used in the given ansatz. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 Cluster amplitudes. Returns: NDArray [ T ] \u2013 Cluster amplitudes as a vector. Source code in ebcc/cc/uebcc.py 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the amplitudes used in the given ansatz. Args: amplitudes: Cluster amplitudes. Returns: Cluster amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): for spin in util . generate_spin_combinations ( n , unique = True ): tn = amplitudes [ name ][ spin ] subscript , _ = util . combine_subscripts ( key , spin ) vectors . append ( np . ravel ( util . compress_axes ( subscript , tn ))) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): vectors . append ( np . ravel ( amplitudes [ name ])) # type: ignore for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): if nf != 1 : raise util . ModelNotImplemented vectors . append ( np . ravel ( amplitudes [ name ] . aa )) vectors . append ( np . ravel ( amplitudes [ name ] . bb )) return np . concatenate ( vectors ) ebcc . cc . uebcc . UEBCC . vector_to_amplitudes ( vector ) Construct a namespace of amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 Cluster amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 Cluster amplitudes. Source code in ebcc/cc/uebcc.py 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of amplitudes from a vector. Args: vector: Cluster amplitudes as a vector. Returns: Cluster amplitudes. \"\"\" amplitudes : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 sizes : dict [ tuple [ str , ... ], int ] = { ( o , s ): self . space [ i ] . size ( o ) for o in \"ovOVia\" for i , s in enumerate ( \"ab\" ) } for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): amplitudes [ name ] = util . Namespace () for spin in util . generate_spin_combinations ( n , unique = True ): subscript , csizes = util . combine_subscripts ( key , spin , sizes = sizes ) size = util . get_compressed_size ( subscript , ** csizes ) shape = tuple ( self . space [ \"ab\" . index ( s )] . size ( k ) for s , k in zip ( spin , key )) tn_tril = vector [ i0 : i0 + size ] tn = util . decompress_axes ( subscript , tn_tril , shape = shape ) amplitudes [ name ][ spin ] = tn i0 += size for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): shape = ( self . nbos ,) * n size = self . nbos ** n amplitudes [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) # type: ignore i0 += size for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): if nf != 1 : raise util . ModelNotImplemented amplitudes [ name ] = util . Namespace () shape = ( self . nbos ,) * nb + tuple ( self . space [ 0 ] . size ( k ) for k in key [ nb :]) size = util . prod ( shape ) amplitudes [ name ] . aa = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size shape = ( self . nbos ,) * nb + tuple ( self . space [ 1 ] . size ( k ) for k in key [ nb :]) size = util . prod ( shape ) amplitudes [ name ] . bb = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size assert i0 == len ( vector ) return amplitudes ebcc . cc . uebcc . UEBCC . lambdas_to_vector ( lambdas ) Construct a vector containing all of the lambda amplitudes used in the given ansatz. Parameters: lambdas ( Namespace [ SpinArrayType ] ) \u2013 Cluster lambda amplitudes. Returns: NDArray [ T ] \u2013 Cluster lambda amplitudes as a vector. Source code in ebcc/cc/uebcc.py 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 def lambdas_to_vector ( self , lambdas : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the lambda amplitudes used in the given ansatz. Args: lambdas: Cluster lambda amplitudes. Returns: Cluster lambda amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): for spin in util . generate_spin_combinations ( n , unique = True ): tn = lambdas [ name ][ spin ] subscript , _ = util . combine_subscripts ( key , spin ) vectors . append ( np . ravel ( util . compress_axes ( subscript , tn ))) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): vectors . append ( np . ravel ( lambdas [ name ])) # type: ignore for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): if nf != 1 : raise util . ModelNotImplemented vectors . append ( np . ravel ( lambdas [ name ] . aa )) vectors . append ( np . ravel ( lambdas [ name ] . bb )) return np . concatenate ( vectors ) ebcc . cc . uebcc . UEBCC . vector_to_lambdas ( vector ) Construct a namespace of lambda amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 Cluster lambda amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 Cluster lambda amplitudes. Source code in ebcc/cc/uebcc.py 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 def vector_to_lambdas ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of lambda amplitudes from a vector. Args: vector: Cluster lambda amplitudes as a vector. Returns: Cluster lambda amplitudes. \"\"\" lambdas : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 sizes : dict [ tuple [ str , ... ], int ] = { ( o , s ): self . space [ i ] . size ( o ) for o in \"ovOVia\" for i , s in enumerate ( \"ab\" ) } for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): lambdas [ name ] = util . Namespace () for spin in util . generate_spin_combinations ( n , unique = True ): subscript , csizes = util . combine_subscripts ( key , spin , sizes = sizes ) size = util . get_compressed_size ( subscript , ** csizes ) shape = tuple ( self . space [ \"ab\" . index ( s )] . size ( k ) for s , k in zip ( spin , key )) tn_tril = vector [ i0 : i0 + size ] tn = util . decompress_axes ( subscript , tn_tril , shape = shape ) lambdas [ name ][ spin ] = tn i0 += size for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): shape = ( self . nbos ,) * n size = self . nbos ** n lambdas [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) # type: ignore i0 += size for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): if nf != 1 : raise util . ModelNotImplemented lambdas [ name ] = util . Namespace () shape = ( self . nbos ,) * nb + tuple ( self . space [ 0 ] . size ( k ) for k in key [ nb :]) size = util . prod ( shape ) lambdas [ name ] . aa = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size shape = ( self . nbos ,) * nb + tuple ( self . space [ 1 ] . size ( k ) for k in key [ nb :]) size = util . prod ( shape ) lambdas [ name ] . bb = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size assert i0 == len ( vector ) return lambdas ebcc . cc . uebcc . UEBCC . get_mean_field_G () Get the mean-field boson non-conserving term. Returns: NDArray [ T ] \u2013 Mean-field boson non-conserving term. Source code in ebcc/cc/uebcc.py 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 def get_mean_field_G ( self ) -> NDArray [ T ]: \"\"\"Get the mean-field boson non-conserving term. Returns: Mean-field boson non-conserving term. \"\"\" # FIXME should this also sum in frozen orbitals? assert self . omega is not None assert self . g is not None boo : tuple [ NDArray [ T ], NDArray [ T ]] = ( self . g . aa . boo , self . g . bb . boo ) val = util . einsum ( \"Ipp->I\" , boo [ 0 ]) val += util . einsum ( \"Ipp->I\" , boo [ 1 ]) val -= self . xi * self . omega if self . bare_G is not None : # Require bare_G to have a spin index for now: assert self . bare_G . shape == val . shape val += self . bare_G return val ebcc . cc . uebcc . UEBCC . get_fock () Get the Fock matrix. Returns: UFock \u2013 Fock matrix. Source code in ebcc/cc/uebcc.py 850 851 852 853 854 855 856 def get_fock ( self ) -> UFock : \"\"\"Get the Fock matrix. Returns: Fock matrix. \"\"\" return self . Fock ( self , array = ( self . bare_fock . aa , self . bare_fock . bb ), g = self . g ) ebcc . cc . uebcc . UEBCC . get_eris ( eris = None ) Get the electron repulsion integrals. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Input electron repulsion integrals. Returns: Union [ UERIs , UCDERIs ] \u2013 Electron repulsion integrals. Source code in ebcc/cc/uebcc.py 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 def get_eris ( self , eris : Optional [ ERIsInputType ] = None ) -> Union [ UERIs , UCDERIs ]: \"\"\"Get the electron repulsion integrals. Args: eris: Input electron repulsion integrals. Returns: Electron repulsion integrals. \"\"\" use_df = getattr ( self . mf , \"with_df\" , None ) is not None if isinstance ( eris , ( UERIs , UCDERIs )): return eris elif ( isinstance ( eris , tuple ) and isinstance ( eris [ 0 ], np . ndarray ) and eris [ 0 ] . ndim == 3 ) or use_df : return self . CDERIs ( self , array = eris ) else : return self . ERIs ( self , array = eris )","title":"Unrestricted"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC","text":"Bases: BaseEBCC Unrestricted electron-boson coupled cluster. Initialise the EBCC object. Parameters: mf ( SCF ) \u2013 PySCF mean-field object. log ( Optional [ Logger ] , default: None ) \u2013 Log to write output to. Default is the global logger, outputting to stderr . ansatz ( Optional [ Union [ Ansatz , str ]] , default: 'CCSD' ) \u2013 Overall ansatz. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EBCC calculation. space ( Optional [ SpaceType ] , default: None ) \u2013 Space containing the frozen, correlated, and active fermionic spaces. Default assumes all electrons are correlated. omega ( Optional [ NDArray [ T ]] , default: None ) \u2013 Bosonic frequencies. g ( Optional [ NDArray [ T ]] , default: None ) \u2013 Electron-boson coupling matrix corresponding to the bosonic annihilation operator :math: g_{bpq} p^\\dagger q b . The creation part is assumed to be the fermionic conjugate transpose to retain Hermiticity in the Hamiltonian. G ( Optional [ NDArray [ T ]] , default: None ) \u2013 Boson non-conserving term :math: G_{b} (b^\\dagger + b) . mo_coeff ( Optional [ NDArray [ T ]] , default: None ) \u2013 Molecular orbital coefficients. Default is the mean-field coefficients. mo_occ ( Optional [ NDArray [ T ]] , default: None ) \u2013 Molecular orbital occupation numbers. Default is the mean-field occupation. fock ( Optional [ BaseFock ] , default: None ) \u2013 Fock matrix. Default is the mean-field Fock matrix. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/cc/base.py 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 def __init__ ( self , mf : SCF , log : Optional [ Logger ] = None , ansatz : Optional [ Union [ Ansatz , str ]] = \"CCSD\" , options : Optional [ BaseOptions ] = None , space : Optional [ SpaceType ] = None , omega : Optional [ NDArray [ T ]] = None , g : Optional [ NDArray [ T ]] = None , G : Optional [ NDArray [ T ]] = None , mo_coeff : Optional [ NDArray [ T ]] = None , mo_occ : Optional [ NDArray [ T ]] = None , fock : Optional [ BaseFock ] = None , ** kwargs : Any , ) -> None : r \"\"\"Initialise the EBCC object. Args: mf: PySCF mean-field object. log: Log to write output to. Default is the global logger, outputting to `stderr`. ansatz: Overall ansatz. options: Options for the EBCC calculation. space: Space containing the frozen, correlated, and active fermionic spaces. Default assumes all electrons are correlated. omega: Bosonic frequencies. g: Electron-boson coupling matrix corresponding to the bosonic annihilation operator :math:`g_{bpq} p^\\dagger q b`. The creation part is assumed to be the fermionic conjugate transpose to retain Hermiticity in the Hamiltonian. G: Boson non-conserving term :math:`G_{b} (b^\\dagger + b)`. mo_coeff: Molecular orbital coefficients. Default is the mean-field coefficients. mo_occ: Molecular orbital occupation numbers. Default is the mean-field occupation. fock: Fock matrix. Default is the mean-field Fock matrix. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . log = default_log if log is None else log self . mf = self . _convert_mf ( mf ) self . _mo_coeff : Optional [ NDArray [ T ]] = ( np . asarray ( mo_coeff , dtype = types [ float ]) if mo_coeff is not None else None ) self . _mo_occ : Optional [ NDArray [ T ]] = ( np . asarray ( mo_occ , dtype = types [ float ]) if mo_occ is not None else None ) # Ansatz: if isinstance ( ansatz , Ansatz ): self . ansatz = ansatz elif isinstance ( ansatz , str ): self . ansatz = Ansatz . from_string ( ansatz , density_fitting = getattr ( self . mf , \"with_df\" , None ) is not None ) else : raise TypeError ( \"ansatz must be an Ansatz object or a string.\" ) self . _eqns = self . ansatz . _get_eqns ( self . spin_type ) # Space: if space is not None : self . space = space else : self . space = self . init_space () # Boson parameters: if bool ( self . fermion_coupling_rank ) != bool ( self . boson_coupling_rank ): raise ValueError ( \"Fermionic and bosonic coupling ranks must both be zero, or both non-zero.\" ) self . omega = np . asarray ( omega , dtype = types [ float ]) if omega is not None else None self . bare_g = np . asarray ( g , dtype = types [ float ]) if g is not None else None self . bare_G = np . asarray ( G , dtype = types [ float ]) if G is not None else None if self . boson_ansatz != \"\" : self . g = self . get_g () self . G = self . get_mean_field_G () if self . options . shift : self . log . info ( \" > Energy shift due to polaritonic basis: %.10f \" , self . const ) else : assert self . nbos == 0 self . options . shift = False self . g = None self . G = None # Fock matrix: if fock is None : self . fock = self . get_fock () else : self . fock = fock # Attributes: self . e_corr = 0.0 self . amplitudes = util . Namespace () self . converged = False self . lambdas = util . Namespace () self . converged_lambda = False # Logging: init_logging ( self . log ) 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 \" > 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 \" > diis_min_space: { ANSI . y }{ self . options . diis_min_space }{ ANSI . R } \" ) self . log . info ( f \" > damping: { ANSI . y }{ self . options . damping }{ ANSI . R } \" ) self . log . debug ( \"\" ) self . log . info ( f \" { ANSI . B } Ansatz { ANSI . R } : { ANSI . m }{ self . ansatz }{ ANSI . R } \" ) self . log . debug ( \"\" ) self . log . info ( f \" { ANSI . B } Space { ANSI . R } : { ANSI . m }{ self . space }{ ANSI . R } \" ) self . log . debug ( \"\" )","title":"UEBCC"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.spin_type","text":"Get a string representation of the spin type.","title":"spin_type"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.bare_fock","text":"Get the mean-field Fock matrix in the MO basis, including frozen parts. Returns an array and not a BaseFock object. Returns: Namespace [ NDArray [ T ]] \u2013 Mean-field Fock matrix.","title":"bare_fock"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.xi","text":"Get the shift in the bosonic operators to diagonalise the photon Hamiltonian. Returns: NDArray [ T ] \u2013 Shift in the bosonic operators.","title":"xi"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.nmo","text":"Get the number of molecular orbitals. Returns: int \u2013 Number of molecular orbitals.","title":"nmo"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.nocc","text":"Get the number of occupied molecular orbitals. Returns: tuple [ int , int ] \u2013 Number of occupied molecular orbitals for each spin.","title":"nocc"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.nvir","text":"Get the number of virtual molecular orbitals. Returns: tuple [ int , int ] \u2013 Number of virtual molecular orbitals for each spin.","title":"nvir"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.ip_eom","text":"Get the IP-EOM object. Parameters: options \u2013 Options for the IP-EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments. Returns: IP_UEOM \u2013 IP-EOM object. Source code in ebcc/cc/uebcc.py 58 59 60 61 62 63 64 65 66 67 68 def ip_eom ( self , ** kwargs : Any ) -> IP_UEOM : \"\"\"Get the IP-EOM object. Args: options: Options for the IP-EOM calculation. **kwargs: Additional keyword arguments. Returns: IP-EOM object. \"\"\" return IP_UEOM ( self , ** kwargs )","title":"ip_eom"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.ea_eom","text":"Get the EA-EOM object. Parameters: options \u2013 Options for the EA-EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments. Returns: EA_UEOM \u2013 EA-EOM object. Source code in ebcc/cc/uebcc.py 70 71 72 73 74 75 76 77 78 79 80 def ea_eom ( self , ** kwargs : Any ) -> EA_UEOM : \"\"\"Get the EA-EOM object. Args: options: Options for the EA-EOM calculation. **kwargs: Additional keyword arguments. Returns: EA-EOM object. \"\"\" return EA_UEOM ( self , ** kwargs )","title":"ea_eom"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.ee_eom","text":"Get the EE-EOM object. Parameters: options \u2013 Options for the EE-EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments. Returns: EE_UEOM \u2013 EE-EOM object. Source code in ebcc/cc/uebcc.py 82 83 84 85 86 87 88 89 90 91 92 def ee_eom ( self , ** kwargs : Any ) -> EE_UEOM : \"\"\"Get the EE-EOM object. Args: options: Options for the EE-EOM calculation. **kwargs: Additional keyword arguments. Returns: EE-EOM object. \"\"\" return EE_UEOM ( self , ** kwargs )","title":"ee_eom"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.from_rebcc","text":"Initialise an UEBCC object from an REBCC object. Parameters: rcc ( REBCC ) \u2013 Restricted electron-boson coupled cluster object. Returns: UEBCC \u2013 UEBCC object. Source code in ebcc/cc/uebcc.py 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 @classmethod def from_rebcc ( cls , rcc : REBCC ) -> UEBCC : \"\"\"Initialise an `UEBCC` object from an `REBCC` object. Args: rcc: Restricted electron-boson coupled cluster object. Returns: UEBCC object. \"\"\" ucc = cls ( rcc . mf , log = rcc . log , ansatz = rcc . ansatz , space = ( rcc . space , rcc . space ), omega = rcc . omega , g = rcc . bare_g , G = rcc . bare_G , options = rcc . options , ) ucc . e_corr = rcc . e_corr ucc . converged = rcc . converged ucc . converged_lambda = rcc . converged_lambda has_amps = bool ( rcc . amplitudes ) has_lams = bool ( rcc . lambdas ) if has_amps : amplitudes : Namespace [ SpinArrayType ] = util . Namespace () for name , key , n in ucc . ansatz . fermionic_cluster_ranks ( spin_type = ucc . spin_type ): amplitudes [ name ] = util . Namespace () for comb in util . generate_spin_combinations ( n , unique = True ): subscript , _ = util . combine_subscripts ( key , comb ) tn = rcc . amplitudes [ name ] tn = util . symmetrise ( subscript , tn , symmetry = \"-\" * 2 * n ) amplitudes [ name ][ comb ] = tn for name , key , n in ucc . ansatz . bosonic_cluster_ranks ( spin_type = ucc . spin_type ): amplitudes [ name ] = np . copy ( rcc . amplitudes [ name ]) # type: ignore for name , key , nf , nb in ucc . ansatz . coupling_cluster_ranks ( spin_type = ucc . spin_type ): amplitudes [ name ] = util . Namespace () for comb in util . generate_spin_combinations ( nf , unique = True ): tn = rcc . amplitudes [ name ] amplitudes [ name ][ comb ] = tn ucc . amplitudes = amplitudes if has_lams : lambdas : Namespace [ SpinArrayType ] = util . Namespace () for name , key , n in ucc . ansatz . fermionic_cluster_ranks ( spin_type = ucc . spin_type ): lname = name . replace ( \"t\" , \"l\" ) lambdas [ lname ] = util . Namespace () for comb in util . generate_spin_combinations ( n , unique = True ): subscript , _ = util . combine_subscripts ( key , comb ) tn = rcc . lambdas [ lname ] tn = util . symmetrise ( subscript , tn , symmetry = \"-\" * 2 * n ) lambdas [ lname ][ comb ] = tn for name , key , n in ucc . ansatz . bosonic_cluster_ranks ( spin_type = ucc . spin_type ): lname = \"l\" + name lambdas [ lname ] = np . copy ( rcc . lambdas [ lname ]) # type: ignore for name , key , nf , nb in ucc . ansatz . coupling_cluster_ranks ( spin_type = ucc . spin_type ): lname = \"l\" + name lambdas [ lname ] = util . Namespace () for comb in util . generate_spin_combinations ( nf , unique = True ): tn = rcc . lambdas [ lname ] lambdas [ lname ][ comb ] = tn ucc . lambdas = lambdas return ucc","title":"from_rebcc"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.init_space","text":"Initialise the fermionic space. Returns: SpaceType \u2013 Fermionic space. All fermionic degrees of freedom are assumed to be correlated. Source code in ebcc/cc/uebcc.py 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 def init_space ( self ) -> SpaceType : \"\"\"Initialise the fermionic space. Returns: Fermionic space. All fermionic degrees of freedom are assumed to be correlated. \"\"\" space = ( Space ( self . mo_occ [ 0 ] > 0 , np . zeros ( self . mo_occ [ 0 ] . shape , dtype = np . bool_ ), np . zeros ( self . mo_occ [ 0 ] . shape , dtype = np . bool_ ), ), Space ( self . mo_occ [ 1 ] > 0 , np . zeros ( self . mo_occ [ 1 ] . shape , dtype = np . bool_ ), np . zeros ( self . mo_occ [ 1 ] . shape , dtype = np . bool_ ), ), ) return space","title":"init_space"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.init_amps","text":"Initialise the cluster amplitudes. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. Returns: Namespace [ SpinArrayType ] \u2013 Initial cluster amplitudes. Source code in ebcc/cc/uebcc.py 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 def init_amps ( self , eris : Optional [ ERIsInputType ] = None ) -> Namespace [ SpinArrayType ]: \"\"\"Initialise the cluster amplitudes. Args: eris: Electron repulsion integrals. Returns: Initial cluster amplitudes. \"\"\" eris = self . get_eris ( eris ) amplitudes : Namespace [ SpinArrayType ] = util . Namespace () # Build T amplitudes for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): tn : SpinArrayType = util . Namespace () for comb in util . generate_spin_combinations ( n , unique = True ): if n == 1 : tn [ comb ] = self . fock [ comb ][ key ] / self . energy_sum ( key , comb ) elif n == 2 : comb_t = comb [ 0 ] + comb [ 2 ] + comb [ 1 ] + comb [ 3 ] key_t = key [ 0 ] + key [ 2 ] + key [ 1 ] + key [ 3 ] tn [ comb ] = np . transpose ( eris [ comb_t ][ key_t ], ( 0 , 2 , 1 , 3 )) / self . energy_sum ( key , comb ) if comb in ( \"aaaa\" , \"bbbb\" ): # TODO generalise: tn [ comb ] = ( tn [ comb ] - np . transpose ( tn [ comb ], ( 1 , 0 , 2 , 3 ))) * 0.5 else : shape = tuple ( self . space [ \"ab\" . index ( s )] . size ( k ) for s , k in zip ( comb , key )) tn [ comb ] = np . zeros ( shape , dtype = types [ float ]) amplitudes [ name ] = tn # Build S amplitudes: for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): if self . omega is None or self . G is None : raise ValueError ( \"Bosonic parameters not set.\" ) if n == 1 : amplitudes [ name ] = - self . G / self . omega # type: ignore else : shape = ( self . nbos ,) * n amplitudes [ name ] = np . zeros ( shape , dtype = types [ float ]) # type: ignore # Build U amplitudes: for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): if self . omega is None or self . g is None : raise ValueError ( \"Bosonic parameters not set.\" ) if nf != 1 : raise util . ModelNotImplemented if nb == 1 : tn = util . Namespace ( aa = self . g . aa [ key ] / self . energy_sum ( key , \"_aa\" ), bb = self . g . bb [ key ] / self . energy_sum ( key , \"_aa\" ), ) amplitudes [ name ] = tn else : tn = util . Namespace ( aa = np . zeros ( ( self . nbos ,) * nb + tuple ( self . space [ 0 ] . size ( k ) for k in key [ nb :]), dtype = types [ float ], ), bb = np . zeros ( ( self . nbos ,) * nb + tuple ( self . space [ 0 ] . size ( k ) for k in key [ nb :]), dtype = types [ float ], ), ) amplitudes [ name ] = tn return amplitudes","title":"init_amps"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.init_lams","text":"Initialise the cluster lambda amplitudes. Parameters: amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: Namespace [ SpinArrayType ] \u2013 Initial cluster lambda amplitudes. Source code in ebcc/cc/uebcc.py 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 def init_lams ( self , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None ) -> Namespace [ SpinArrayType ]: \"\"\"Initialise the cluster lambda amplitudes. Args: amplitudes: Cluster amplitudes. Returns: Initial cluster lambda amplitudes. \"\"\" if not amplitudes : amplitudes = self . amplitudes lambdas : Namespace [ SpinArrayType ] = util . Namespace () # Build L amplitudes: for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): lname = name . replace ( \"t\" , \"l\" ) perm = list ( range ( n , 2 * n )) + list ( range ( n )) lambdas [ lname ] = util . Namespace () for key in dict ( amplitudes [ name ]) . keys (): ln = np . transpose ( amplitudes [ name ][ key ], perm ) lambdas [ lname ][ key ] = ln # Build LS amplitudes: for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): lambdas [ \"l\" + name ] = amplitudes [ name ] # type: ignore # Build LU amplitudes: for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): if nf != 1 : raise util . ModelNotImplemented perm = list ( range ( nb )) + [ nb + 1 , nb ] lambdas [ \"l\" + name ] = util . Namespace () for key in dict ( amplitudes [ name ]) . keys (): ln = np . transpose ( amplitudes [ name ][ key ], perm ) lambdas [ \"l\" + name ][ key ] = ln return lambdas","title":"init_lams"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.update_amps","text":"Update the cluster amplitudes. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: Namespace [ SpinArrayType ] \u2013 Updated cluster amplitudes. Source code in ebcc/cc/uebcc.py 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 def update_amps ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , ) -> Namespace [ SpinArrayType ]: \"\"\"Update the cluster amplitudes. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. Returns: Updated cluster amplitudes. \"\"\" amplitudes = self . _get_amps ( amplitudes = amplitudes ) func , kwargs = self . _load_function ( \"update_amps\" , eris = eris , amplitudes = amplitudes , ) res : Namespace [ SpinArrayType ] = func ( ** kwargs ) res = util . Namespace ( ** { key . rstrip ( \"new\" ): val for key , val in res . items ()}) # Divide T amplitudes: for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): for comb in util . generate_spin_combinations ( n , unique = True ): subscript , _ = util . combine_subscripts ( key , comb ) tn = res [ name ][ comb ] tn /= self . energy_sum ( key , comb ) tn += amplitudes [ name ][ comb ] tn = util . symmetrise ( subscript , tn , symmetry = \"-\" * ( 2 * n )) res [ name ][ comb ] = tn # Divide S amplitudes: for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): res [ name ] /= self . energy_sum ( key , \"_\" * n ) # type: ignore res [ name ] += amplitudes [ name ] # type: ignore # Divide U amplitudes: for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): if nf != 1 : raise util . ModelNotImplemented tn = res [ name ] . aa tn /= self . energy_sum ( key , \"_\" * nb + \"aa\" ) tn += amplitudes [ name ] . aa res [ name ] . aa = tn tn = res [ name ] . bb tn /= self . energy_sum ( key , \"_\" * nb + \"bb\" ) tn += amplitudes [ name ] . bb res [ name ] . bb = tn return res","title":"update_amps"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.update_lams","text":"Update the cluster lambda amplitudes. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. lambdas_pert ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Perturbative cluster lambda amplitudes. perturbative ( bool , default: False ) \u2013 Flag to include perturbative correction. Returns: Namespace [ SpinArrayType ] \u2013 Updated cluster lambda amplitudes. Source code in ebcc/cc/uebcc.py 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 def update_lams ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , lambdas_pert : Optional [ Namespace [ SpinArrayType ]] = None , perturbative : bool = False , ) -> Namespace [ SpinArrayType ]: \"\"\"Update the cluster lambda amplitudes. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. lambdas_pert: Perturbative cluster lambda amplitudes. perturbative: Flag to include perturbative correction. Returns: Updated cluster lambda amplitudes. \"\"\" # TODO active amplitudes = self . _get_amps ( amplitudes = amplitudes ) lambdas = self . _get_lams ( lambdas = lambdas , amplitudes = amplitudes ) func , kwargs = self . _load_function ( \"update_lams\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , lambdas_pert = lambdas_pert , ) res : Namespace [ SpinArrayType ] = func ( ** kwargs ) res = util . Namespace ( ** { key . rstrip ( \"new\" ): val for key , val in res . items ()}) # Divide T amplitudes: for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): for comb in util . generate_spin_combinations ( n , unique = True ): subscript , _ = util . combine_subscripts ( key , comb ) tn = res [ name ][ comb ] tn /= self . energy_sum ( key , comb ) tn += lambdas [ name ][ comb ] tn = util . symmetrise ( subscript , tn , symmetry = \"-\" * ( 2 * n )) res [ name ][ comb ] = tn # Divide S amplitudes: for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): res [ name ] /= self . energy_sum ( key , \"_\" * n ) # type: ignore res [ name ] += lambdas [ name ] # type: ignore # Divide U amplitudes: for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): if nf != 1 : raise util . ModelNotImplemented tn = res [ name ] . aa tn /= self . energy_sum ( key , \"_\" * nb + \"aa\" ) tn += lambdas [ name ] . aa res [ name ] . aa = tn tn = res [ name ] . bb tn /= self . energy_sum ( key , \"_\" * nb + \"bb\" ) tn += lambdas [ name ] . bb res [ name ] . bb = tn return res","title":"update_lams"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.make_rdm1_f","text":"Make the one-particle fermionic reduced density matrix :math: \\langle i^+ j \\rangle . Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: SpinArrayType \u2013 One-particle fermion reduced density matrix. Source code in ebcc/cc/uebcc.py 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 def make_rdm1_f ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , hermitise : bool = True , ) -> SpinArrayType : r \"\"\"Make the one-particle fermionic reduced density matrix :math:`\\langle i^+ j \\rangle`. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. hermitise: Hermitise the density matrix. Returns: One-particle fermion reduced density matrix. \"\"\" func , kwargs = self . _load_function ( \"make_rdm1_f\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) dm : SpinArrayType = func ( ** kwargs ) if hermitise : dm . aa = ( dm . aa + np . transpose ( dm . aa )) * 0.5 dm . bb = ( dm . bb + np . transpose ( dm . bb )) * 0.5 return dm","title":"make_rdm1_f"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.make_rdm2_f","text":"Make the two-particle fermionic reduced density matrix :math: \\langle i^+j^+lk \\rangle . Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: SpinArrayType \u2013 Two-particle fermion reduced density matrix. Source code in ebcc/cc/uebcc.py 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 def make_rdm2_f ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , hermitise : bool = True , ) -> SpinArrayType : r \"\"\"Make the two-particle fermionic reduced density matrix :math:`\\langle i^+j^+lk \\rangle`. Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. hermitise: Hermitise the density matrix. Returns: Two-particle fermion reduced density matrix. \"\"\" func , kwargs = self . _load_function ( \"make_rdm2_f\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) dm : SpinArrayType = func ( ** kwargs ) if hermitise : def transpose1 ( dm : NDArray [ T ]) -> NDArray [ T ]: dm = ( np . transpose ( dm , ( 0 , 1 , 2 , 3 )) + np . transpose ( dm , ( 2 , 3 , 0 , 1 ))) * 0.5 return dm def transpose2 ( dm : NDArray [ T ]) -> NDArray [ T ]: dm = ( np . transpose ( dm , ( 0 , 1 , 2 , 3 )) + np . transpose ( dm , ( 1 , 0 , 3 , 2 ))) * 0.5 return dm dm . aaaa = transpose2 ( transpose1 ( dm . aaaa )) dm . aabb = transpose2 ( dm . aabb ) dm . bbbb = transpose2 ( transpose1 ( dm . bbbb )) return dm","title":"make_rdm2_f"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.make_eb_coup_rdm","text":"Make the electron-boson coupling reduced density matrix. .. math:: \\langle b^+ i^+ j \\rangle and .. math:: \\langle b i^+ j \\rangle Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electron repulsion integrals. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. lambdas ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster lambda amplitudes. unshifted ( bool , default: True ) \u2013 If self.options.shift is True , return the unshifted density matrix. Has no effect if self.options.shift is False . hermitise ( bool , default: True ) \u2013 Hermitise the density matrix. Returns: SpinArrayType \u2013 Electron-boson coupling reduced density matrix. Source code in ebcc/cc/uebcc.py 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 def make_eb_coup_rdm ( self , eris : Optional [ ERIsInputType ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , lambdas : Optional [ Namespace [ SpinArrayType ]] = None , unshifted : bool = True , hermitise : bool = True , ) -> SpinArrayType : r \"\"\"Make the electron-boson coupling reduced density matrix. .. math:: \\langle b^+ i^+ j \\rangle and .. math:: \\langle b i^+ j \\rangle Args: eris: Electron repulsion integrals. amplitudes: Cluster amplitudes. lambdas: Cluster lambda amplitudes. unshifted: If `self.options.shift` is `True`, return the unshifted density matrix. Has no effect if `self.options.shift` is `False`. hermitise: Hermitise the density matrix. Returns: Electron-boson coupling reduced density matrix. \"\"\" func , kwargs = self . _load_function ( \"make_eb_coup_rdm\" , eris = eris , amplitudes = amplitudes , lambdas = lambdas , ) dm_eb : SpinArrayType = func ( ** kwargs ) if hermitise : dm_eb . aa = np . array ( [ ( dm_eb . aa [ 0 ] + np . transpose ( dm_eb . aa [ 1 ], ( 0 , 2 , 1 ))) * 0.5 , ( dm_eb . aa [ 1 ] + np . transpose ( dm_eb . aa [ 0 ], ( 0 , 2 , 1 ))) * 0.5 , ] ) dm_eb . bb = np . array ( [ ( dm_eb . bb [ 0 ] + np . transpose ( dm_eb . bb [ 1 ], ( 0 , 2 , 1 ))) * 0.5 , ( dm_eb . bb [ 1 ] + np . transpose ( dm_eb . bb [ 0 ], ( 0 , 2 , 1 ))) * 0.5 , ] ) if unshifted and self . options . shift : rdm1_f = self . make_rdm1_f ( hermitise = hermitise ) shift = util . einsum ( \"x,ij->xij\" , self . xi , rdm1_f . aa ) dm_eb . aa -= shift [ None ] shift = util . einsum ( \"x,ij->xij\" , self . xi , rdm1_f . bb ) dm_eb . bb -= shift [ None ] return dm_eb","title":"make_eb_coup_rdm"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.energy_sum","text":"Get a direct sum of energies. Parameters: *args ( str , default: () ) \u2013 Energies to sum. Should specify a subscript and spins. signs_dict ( Optional [ dict [ str , str ]] , default: None ) \u2013 Signs of the energies in the sum. Default sets (\"o\", \"O\", \"i\") to be positive, and (\"v\", \"V\", \"a\", \"b\") to be negative. Returns: NDArray [ T ] \u2013 Sum of energies. Source code in ebcc/cc/uebcc.py 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 def energy_sum ( self , * args : str , signs_dict : Optional [ dict [ str , str ]] = None ) -> NDArray [ T ]: \"\"\"Get a direct sum of energies. Args: *args: Energies to sum. Should specify a subscript and spins. signs_dict: Signs of the energies in the sum. Default sets `(\"o\", \"O\", \"i\")` to be positive, and `(\"v\", \"V\", \"a\", \"b\")` to be negative. Returns: Sum of energies. \"\"\" subscript , spins = args n = 0 def next_char () -> str : nonlocal n if n < 26 : char = chr ( ord ( \"a\" ) + n ) else : char = chr ( ord ( \"A\" ) + n ) n += 1 return char if signs_dict is None : signs_dict = {} for k , s in zip ( \"vVaoOib\" , \"---+++-\" ): if k not in signs_dict : signs_dict [ k ] = s energies = [] for key , spin in zip ( subscript , spins ): factor = 1 if signs_dict [ key ] == \"+\" else - 1 if key == \"b\" : assert self . omega is not None energies . append ( self . omega * types [ float ]( factor )) else : energies . append ( np . diag ( self . fock [ spin + spin ][ key + key ]) * types [ float ]( factor )) subscript = \",\" . join ([ next_char () for k in subscript ]) energy_sum = util . dirsum ( subscript , * energies ) return energy_sum","title":"energy_sum"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.amplitudes_to_vector","text":"Construct a vector containing all of the amplitudes used in the given ansatz. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 Cluster amplitudes. Returns: NDArray [ T ] \u2013 Cluster amplitudes as a vector. Source code in ebcc/cc/uebcc.py 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the amplitudes used in the given ansatz. Args: amplitudes: Cluster amplitudes. Returns: Cluster amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): for spin in util . generate_spin_combinations ( n , unique = True ): tn = amplitudes [ name ][ spin ] subscript , _ = util . combine_subscripts ( key , spin ) vectors . append ( np . ravel ( util . compress_axes ( subscript , tn ))) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): vectors . append ( np . ravel ( amplitudes [ name ])) # type: ignore for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): if nf != 1 : raise util . ModelNotImplemented vectors . append ( np . ravel ( amplitudes [ name ] . aa )) vectors . append ( np . ravel ( amplitudes [ name ] . bb )) return np . concatenate ( vectors )","title":"amplitudes_to_vector"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.vector_to_amplitudes","text":"Construct a namespace of amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 Cluster amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 Cluster amplitudes. Source code in ebcc/cc/uebcc.py 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of amplitudes from a vector. Args: vector: Cluster amplitudes as a vector. Returns: Cluster amplitudes. \"\"\" amplitudes : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 sizes : dict [ tuple [ str , ... ], int ] = { ( o , s ): self . space [ i ] . size ( o ) for o in \"ovOVia\" for i , s in enumerate ( \"ab\" ) } for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): amplitudes [ name ] = util . Namespace () for spin in util . generate_spin_combinations ( n , unique = True ): subscript , csizes = util . combine_subscripts ( key , spin , sizes = sizes ) size = util . get_compressed_size ( subscript , ** csizes ) shape = tuple ( self . space [ \"ab\" . index ( s )] . size ( k ) for s , k in zip ( spin , key )) tn_tril = vector [ i0 : i0 + size ] tn = util . decompress_axes ( subscript , tn_tril , shape = shape ) amplitudes [ name ][ spin ] = tn i0 += size for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): shape = ( self . nbos ,) * n size = self . nbos ** n amplitudes [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) # type: ignore i0 += size for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): if nf != 1 : raise util . ModelNotImplemented amplitudes [ name ] = util . Namespace () shape = ( self . nbos ,) * nb + tuple ( self . space [ 0 ] . size ( k ) for k in key [ nb :]) size = util . prod ( shape ) amplitudes [ name ] . aa = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size shape = ( self . nbos ,) * nb + tuple ( self . space [ 1 ] . size ( k ) for k in key [ nb :]) size = util . prod ( shape ) amplitudes [ name ] . bb = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size assert i0 == len ( vector ) return amplitudes","title":"vector_to_amplitudes"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.lambdas_to_vector","text":"Construct a vector containing all of the lambda amplitudes used in the given ansatz. Parameters: lambdas ( Namespace [ SpinArrayType ] ) \u2013 Cluster lambda amplitudes. Returns: NDArray [ T ] \u2013 Cluster lambda amplitudes as a vector. Source code in ebcc/cc/uebcc.py 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 def lambdas_to_vector ( self , lambdas : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the lambda amplitudes used in the given ansatz. Args: lambdas: Cluster lambda amplitudes. Returns: Cluster lambda amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): for spin in util . generate_spin_combinations ( n , unique = True ): tn = lambdas [ name ][ spin ] subscript , _ = util . combine_subscripts ( key , spin ) vectors . append ( np . ravel ( util . compress_axes ( subscript , tn ))) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): vectors . append ( np . ravel ( lambdas [ name ])) # type: ignore for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): if nf != 1 : raise util . ModelNotImplemented vectors . append ( np . ravel ( lambdas [ name ] . aa )) vectors . append ( np . ravel ( lambdas [ name ] . bb )) return np . concatenate ( vectors )","title":"lambdas_to_vector"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.vector_to_lambdas","text":"Construct a namespace of lambda amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 Cluster lambda amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 Cluster lambda amplitudes. Source code in ebcc/cc/uebcc.py 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 def vector_to_lambdas ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of lambda amplitudes from a vector. Args: vector: Cluster lambda amplitudes as a vector. Returns: Cluster lambda amplitudes. \"\"\" lambdas : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 sizes : dict [ tuple [ str , ... ], int ] = { ( o , s ): self . space [ i ] . size ( o ) for o in \"ovOVia\" for i , s in enumerate ( \"ab\" ) } for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): lambdas [ name ] = util . Namespace () for spin in util . generate_spin_combinations ( n , unique = True ): subscript , csizes = util . combine_subscripts ( key , spin , sizes = sizes ) size = util . get_compressed_size ( subscript , ** csizes ) shape = tuple ( self . space [ \"ab\" . index ( s )] . size ( k ) for s , k in zip ( spin , key )) tn_tril = vector [ i0 : i0 + size ] tn = util . decompress_axes ( subscript , tn_tril , shape = shape ) lambdas [ name ][ spin ] = tn i0 += size for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): shape = ( self . nbos ,) * n size = self . nbos ** n lambdas [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) # type: ignore i0 += size for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"l\" ): if nf != 1 : raise util . ModelNotImplemented lambdas [ name ] = util . Namespace () shape = ( self . nbos ,) * nb + tuple ( self . space [ 0 ] . size ( k ) for k in key [ nb :]) size = util . prod ( shape ) lambdas [ name ] . aa = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size shape = ( self . nbos ,) * nb + tuple ( self . space [ 1 ] . size ( k ) for k in key [ nb :]) size = util . prod ( shape ) lambdas [ name ] . bb = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size assert i0 == len ( vector ) return lambdas","title":"vector_to_lambdas"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.get_mean_field_G","text":"Get the mean-field boson non-conserving term. Returns: NDArray [ T ] \u2013 Mean-field boson non-conserving term. Source code in ebcc/cc/uebcc.py 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 def get_mean_field_G ( self ) -> NDArray [ T ]: \"\"\"Get the mean-field boson non-conserving term. Returns: Mean-field boson non-conserving term. \"\"\" # FIXME should this also sum in frozen orbitals? assert self . omega is not None assert self . g is not None boo : tuple [ NDArray [ T ], NDArray [ T ]] = ( self . g . aa . boo , self . g . bb . boo ) val = util . einsum ( \"Ipp->I\" , boo [ 0 ]) val += util . einsum ( \"Ipp->I\" , boo [ 1 ]) val -= self . xi * self . omega if self . bare_G is not None : # Require bare_G to have a spin index for now: assert self . bare_G . shape == val . shape val += self . bare_G return val","title":"get_mean_field_G"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.get_fock","text":"Get the Fock matrix. Returns: UFock \u2013 Fock matrix. Source code in ebcc/cc/uebcc.py 850 851 852 853 854 855 856 def get_fock ( self ) -> UFock : \"\"\"Get the Fock matrix. Returns: Fock matrix. \"\"\" return self . Fock ( self , array = ( self . bare_fock . aa , self . bare_fock . bb ), g = self . g )","title":"get_fock"},{"location":"reference/cc/uebcc/#ebcc.cc.uebcc.UEBCC.get_eris","text":"Get the electron repulsion integrals. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Input electron repulsion integrals. Returns: Union [ UERIs , UCDERIs ] \u2013 Electron repulsion integrals. Source code in ebcc/cc/uebcc.py 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 def get_eris ( self , eris : Optional [ ERIsInputType ] = None ) -> Union [ UERIs , UCDERIs ]: \"\"\"Get the electron repulsion integrals. Args: eris: Input electron repulsion integrals. Returns: Electron repulsion integrals. \"\"\" use_df = getattr ( self . mf , \"with_df\" , None ) is not None if isinstance ( eris , ( UERIs , UCDERIs )): return eris elif ( isinstance ( eris , tuple ) and isinstance ( eris [ 0 ], np . ndarray ) and eris [ 0 ] . ndim == 3 ) or use_df : return self . CDERIs ( self , array = eris ) else : return self . ERIs ( self , array = eris )","title":"get_eris"},{"location":"reference/codegen/","text":"","title":"Index"},{"location":"reference/codegen/GCC2/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-17T18:50:05.342431 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.8.0-40-generic ebcc . codegen . GCC2 . energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:50:05.500662. 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. Source code in ebcc/codegen/GCC2.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:05.500662. 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 ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp0 , ( 0 , 1 , 2 , 3 ), ()) * 0.25 del tmp0 return e_cc ebcc . codegen . GCC2 . update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:50:07.704613. 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. Source code in ebcc/codegen/GCC2.py 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:07.704613. 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 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp4 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp15 = einsum ( t1 , ( 0 , 1 ), tmp14 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp14 tmp0 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp10 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) tmp16 = einsum ( t1 , ( 0 , 1 ), tmp15 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp15 tmp23 = np . copy ( v . oooo ) tmp23 += einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 , 3 , 4 , 1 ), ( 4 , 3 , 0 , 2 )) * - 1 tmp11 = einsum ( t1 , ( 0 , 1 ), tmp10 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) * - 1 del tmp10 tmp21 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp19 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp5 = np . copy ( t2 ) tmp5 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 tmp17 = np . copy ( np . transpose ( tmp13 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp13 tmp17 += np . transpose ( tmp16 , ( 0 , 1 , 3 , 2 )) del tmp16 tmp24 = np . copy ( v . ooov ) * - 1 tmp24 += einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp23 tmp18 = einsum ( f . oo , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp7 = einsum ( t1 , ( 0 , 1 ), v . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp12 = einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 1 , 0 , 4 , 3 )) * - 1 del tmp11 tmp22 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp21 tmp20 = einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp19 tmp9 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp8 = einsum ( f . vv , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp3 = np . copy ( f . ov ) tmp3 += einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp6 = np . copy ( f . oo ) tmp6 += tmp4 del tmp4 tmp6 += einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp6 += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 0 , 2 , 3 ), ( 4 , 1 )) * - 0.5 del tmp5 tmp1 = np . copy ( np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 ))) * - 1 tmp1 += np . transpose ( tmp0 , ( 0 , 2 , 1 , 3 )) * - 1 del tmp0 tmp2 = np . copy ( t2 ) * 0.5 tmp2 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) t2new = einsum ( t1 , ( 0 , 1 ), tmp7 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp7 t2new += v . oovv t2new += einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) t2new += np . transpose ( tmp8 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp8 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp8 t2new += np . transpose ( tmp9 , ( 0 , 1 , 3 , 2 )) t2new += np . transpose ( tmp9 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp9 t2new += tmp12 * - 1 t2new += np . transpose ( tmp12 , ( 0 , 1 , 3 , 2 )) del tmp12 t2new += tmp17 t2new += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp17 t2new += np . transpose ( tmp18 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp18 , ( 1 , 0 , 3 , 2 )) del tmp18 t2new += tmp20 t2new += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp20 t2new += tmp22 t2new += np . transpose ( tmp22 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp22 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp22 , ( 1 , 0 , 3 , 2 )) del tmp22 t2new += einsum ( t1 , ( 0 , 1 ), tmp24 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp24 t1new = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) t1new += f . ov t1new += einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) * - 1 t1new += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * 0.5 del tmp1 t1new += einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 4 , 2 , 3 ), ( 4 , 1 )) del tmp2 t1new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 1 , 3 ), ( 0 , 2 )) del tmp3 t1new += einsum ( t1 , ( 0 , 1 ), tmp6 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp6 return { f \"t1new\" : t1new , f \"t2new\" : t2new } ebcc . codegen . GCC2 . 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-17T18:50:13.717326. 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. Source code in ebcc/codegen/GCC2.py 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 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-17T18:50:13.717326. 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 )) tmp4 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp10 = np . copy ( v . ooov ) tmp10 += np . transpose ( tmp5 , ( 2 , 1 , 0 , 3 )) * 0.5 tmp1 = einsum ( t1 , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp7 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp6 = np . copy ( np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 ))) * - 1 tmp6 += np . transpose ( tmp5 , ( 0 , 2 , 1 , 3 )) * - 1 tmp23 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp34 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp34 += tmp4 tmp18 = einsum ( t1 , ( 0 , 1 ), l1 , ( 1 , 2 ), ( 2 , 0 )) tmp25 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp41 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp19 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp11 = einsum ( t1 , ( 0 , 1 ), tmp10 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) del tmp10 tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp2 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp46 = einsum ( tmp7 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp27 = einsum ( f . vv , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp28 = einsum ( tmp7 , ( 0 , 1 ), tmp1 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp39 = einsum ( l1 , ( 0 , 1 ), tmp6 , ( 1 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 0 )) tmp38 = einsum ( tmp23 , ( 0 , 1 ), l2 , ( 2 , 0 , 3 , 4 ), ( 3 , 4 , 2 , 1 )) tmp37 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), f . ov , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp33 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp35 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp34 , ( 3 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 0 )) del tmp34 tmp43 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp44 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp25 , ( 4 , 3 ), ( 2 , 4 , 0 , 1 )) tmp42 = einsum ( tmp41 , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) del tmp41 tmp30 = einsum ( f . oo , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp31 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), l1 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) tmp20 = np . copy ( tmp18 ) * 2 tmp20 += tmp19 tmp12 = np . copy ( v . oooo ) * - 0.5 tmp12 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) * - 0.25 tmp12 += np . transpose ( tmp11 , ( 1 , 0 , 3 , 2 )) * - 1 tmp9 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) tmp9 += np . transpose ( tmp4 , ( 0 , 1 , 3 , 2 )) * - 0.5 tmp8 = np . copy ( f . ov ) tmp8 += tmp7 tmp15 = np . copy ( np . transpose ( tmp0 , ( 1 , 0 , 3 , 2 ))) * - 0.5 tmp15 += np . transpose ( tmp2 , ( 0 , 1 , 3 , 2 )) tmp48 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 del tmp5 tmp47 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp46 , ( 3 , 4 ), ( 2 , 4 , 0 , 1 )) del tmp46 tmp49 = np . copy ( v . oooo ) * 0.5 tmp49 += np . transpose ( tmp11 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp11 tmp29 = np . copy ( np . transpose ( tmp27 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp27 tmp29 += tmp28 del tmp28 tmp40 = np . copy ( tmp37 ) * - 1 del tmp37 tmp40 += tmp38 del tmp38 tmp40 += np . transpose ( tmp39 , ( 1 , 0 , 3 , 2 )) del tmp39 tmp36 = einsum ( tmp7 , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) del tmp7 tmp36 += tmp33 del tmp33 tmp36 += np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 )) del tmp35 tmp45 = np . copy ( np . transpose ( tmp42 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp42 tmp45 += np . transpose ( tmp43 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp43 tmp45 += np . transpose ( tmp44 , ( 0 , 1 , 3 , 2 )) del tmp44 tmp32 = np . copy ( np . transpose ( tmp30 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp30 tmp32 += np . transpose ( tmp31 , ( 0 , 1 , 3 , 2 )) del tmp31 tmp14 = np . copy ( v . ovvv ) tmp14 += einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 1 tmp22 = np . copy ( tmp18 ) del tmp18 tmp22 += tmp19 * 0.5 del tmp19 tmp21 = np . copy ( t1 ) * - 1 tmp21 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), l1 , ( 3 , 1 ), ( 0 , 2 )) * - 1 tmp21 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) * 0.5 tmp21 += einsum ( tmp20 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * 0.5 tmp13 = np . copy ( np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 ))) * - 0.5 tmp13 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 5 , 2 , 3 ), ( 4 , 0 , 1 , 5 )) * - 0.25 tmp13 += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 2 , 4 , 0 , 5 )) del tmp6 tmp13 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp8 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) * 0.5 tmp13 += einsum ( t1 , ( 0 , 1 ), tmp9 , ( 2 , 3 , 1 , 4 ), ( 3 , 2 , 0 , 4 )) * - 1 del tmp9 tmp13 += einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) * - 1 del tmp12 tmp16 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l1 , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) tmp16 += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * - 2 tmp16 += einsum ( t1 , ( 0 , 1 ), tmp15 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 1 del tmp15 tmp17 = einsum ( t1 , ( 0 , 1 ), l1 , ( 2 , 0 ), ( 2 , 1 )) tmp17 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * 0.5 tmp24 = np . copy ( f . vv ) tmp24 += tmp23 * - 1 del tmp23 tmp3 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp26 = np . copy ( f . oo ) * 2 tmp26 += np . transpose ( tmp25 , ( 1 , 0 )) * 2 del tmp25 tmp26 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp26 += einsum ( tmp8 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) * 2 l2new = einsum ( l2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) * 0.5 l2new += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) l2new += np . transpose ( v . oovv , ( 2 , 3 , 0 , 1 )) l2new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 5 , 1 , 0 ), ( 2 , 3 , 5 , 4 )) * 0.5 l2new += np . transpose ( tmp29 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp29 , ( 3 , 2 , 0 , 1 )) del tmp29 l2new += np . transpose ( tmp32 , ( 2 , 3 , 0 , 1 )) l2new += np . transpose ( tmp32 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp32 l2new += np . transpose ( tmp36 , ( 2 , 3 , 0 , 1 )) l2new += np . transpose ( tmp36 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp36 , ( 2 , 3 , 1 , 0 )) * - 1 l2new += np . transpose ( tmp36 , ( 3 , 2 , 1 , 0 )) del tmp36 l2new += np . transpose ( tmp40 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp40 , ( 3 , 2 , 0 , 1 )) del tmp40 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 ( l1 , ( 0 , 1 ), f . ov , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * - 1 l2new += einsum ( f . ov , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) l2new += np . transpose ( tmp45 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp45 , ( 3 , 2 , 1 , 0 )) del tmp45 l2new += np . transpose ( tmp47 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp47 , ( 2 , 3 , 1 , 0 )) del tmp47 l2new += np . transpose ( tmp48 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp48 , ( 3 , 2 , 0 , 1 )) l2new += np . transpose ( tmp48 , ( 2 , 3 , 1 , 0 )) l2new += np . transpose ( tmp48 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp48 l2new += einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp49 l1new = einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 0 , 3 , 2 ), ( 1 , 4 )) * 0.25 del tmp0 l1new += einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 2 , 0 , 1 ), ( 3 , 4 )) * - 0.5 del tmp2 l1new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 2 , 0 , 1 ), ( 3 , 4 )) * - 1 l1new += np . transpose ( f . ov , ( 1 , 0 )) l1new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), l1 , ( 1 , 2 ), ( 3 , 0 )) * - 1 l1new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 2 , 4 , 3 ), ( 4 , 0 )) * - 1 del tmp3 l1new += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 2 , 3 , 4 ), ( 4 , 0 )) del tmp4 , tmp1 l1new += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 1 , 2 ), ( 4 , 0 )) del tmp13 l1new += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 4 , 0 ), ( 1 , 4 )) * - 0.5 del tmp14 l1new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 0 , 1 , 3 ), ( 2 , 4 )) * 0.5 del tmp16 l1new += einsum ( tmp17 , ( 0 , 1 ), v . ovvv , ( 2 , 0 , 3 , 1 ), ( 3 , 2 )) del tmp17 l1new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp21 , ( 1 , 3 ), ( 2 , 0 )) * - 1 del tmp21 l1new += einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp22 , ( 2 , 1 ), ( 3 , 0 )) del tmp22 l1new += einsum ( l1 , ( 0 , 1 ), tmp24 , ( 0 , 2 ), ( 2 , 1 )) del tmp24 l1new += einsum ( tmp26 , ( 0 , 1 ), l1 , ( 2 , 0 ), ( 2 , 1 )) * - 0.5 del tmp26 l1new += einsum ( tmp8 , ( 0 , 1 ), tmp20 , ( 2 , 0 ), ( 1 , 2 )) * - 0.5 del tmp20 , tmp8 return { f \"l1new\" : l1new , f \"l2new\" : l2new } ebcc . codegen . GCC2 . make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:50:14.148775. 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. Source code in ebcc/codegen/GCC2.py 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 def make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:14.148775. 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 ]), ) tmp0 = einsum ( t1 , ( 0 , 1 ), l1 , ( 1 , 2 ), ( 2 , 0 )) tmp1 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp3 = np . copy ( tmp0 ) tmp3 += tmp1 * 0.5 tmp2 = einsum ( t1 , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) rdm1 . vv = einsum ( t1 , ( 0 , 1 ), l1 , ( 2 , 0 ), ( 2 , 1 )) rdm1 . vv += einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * 0.5 rdm1 . vo = np . copy ( l1 ) rdm1 . ov = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) * - 0.5 del tmp2 rdm1 . ov += einsum ( t2 , ( 0 , 1 , 2 , 3 ), l1 , ( 3 , 1 ), ( 0 , 2 )) rdm1 . ov += t1 rdm1 . ov += einsum ( t1 , ( 0 , 1 ), tmp3 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp3 rdm1 . oo = np . copy ( np . transpose ( tmp0 , ( 1 , 0 ))) * - 1 del tmp0 rdm1 . oo += delta . oo del delta rdm1 . oo += np . transpose ( tmp1 , ( 1 , 0 )) * - 0.5 del tmp1 rdm1 = np . block ([[ rdm1 . oo , rdm1 . ov ], [ rdm1 . vo , rdm1 . vv ]]) return rdm1 ebcc . codegen . GCC2 . make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:50:20.811122. 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. Source code in ebcc/codegen/GCC2.py 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 def make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:20.811122. 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 ( t1 , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp3 = einsum ( t1 , ( 0 , 1 ), l1 , ( 1 , 2 ), ( 2 , 0 )) tmp4 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp21 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp2 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp6 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp10 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l1 , ( 3 , 1 ), ( 0 , 2 )) tmp11 = einsum ( t1 , ( 0 , 1 ), tmp3 , ( 0 , 2 ), ( 2 , 1 )) tmp5 = einsum ( l1 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp14 = np . copy ( tmp3 ) * 2 tmp14 += tmp4 tmp30 = einsum ( t1 , ( 0 , 1 ), l1 , ( 2 , 0 ), ( 2 , 1 )) tmp25 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp29 = einsum ( t1 , ( 0 , 1 ), tmp1 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp36 = einsum ( t1 , ( 0 , 1 ), tmp21 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp13 = np . copy ( np . transpose ( tmp0 , ( 1 , 0 , 3 , 2 ))) * - 0.5 tmp13 += np . transpose ( tmp2 , ( 0 , 1 , 3 , 2 )) tmp18 = einsum ( t1 , ( 0 , 1 ), tmp6 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp12 = np . copy ( tmp10 ) tmp12 += tmp11 * - 1 del tmp11 tmp20 = einsum ( t1 , ( 0 , 1 ), tmp5 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp22 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp8 = einsum ( t1 , ( 0 , 1 ), tmp4 , ( 0 , 2 ), ( 2 , 1 )) tmp7 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) 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 )) tmp31 = np . copy ( tmp30 ) tmp31 += tmp25 * 0.5 tmp35 = einsum ( l1 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) tmp34 = einsum ( t1 , ( 0 , 1 ), tmp29 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp33 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 1 , 0 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) * - 1 tmp37 = np . copy ( tmp36 ) tmp37 += einsum ( tmp25 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 0.5 tmp32 = np . copy ( tmp30 ) * 2 tmp32 += tmp25 tmp28 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) * - 2 tmp24 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) tmp19 = np . copy ( tmp18 ) del tmp18 tmp19 += einsum ( tmp12 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 tmp26 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp25 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp25 tmp23 = np . copy ( tmp20 ) del tmp20 tmp23 += tmp22 del tmp22 tmp9 = np . copy ( tmp7 ) tmp9 += tmp8 del tmp8 tmp17 = np . copy ( np . transpose ( tmp0 , ( 1 , 0 , 3 , 2 ))) * - 1 tmp17 += np . transpose ( tmp2 , ( 0 , 1 , 3 , 2 )) * 2 tmp16 = np . copy ( tmp10 ) * - 1 del tmp10 tmp16 += tmp7 * 0.5 del tmp7 tmp16 += tmp15 del tmp15 rdm2 . vvvv = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) * 0.5 rdm2 . vvvv += einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) rdm2 . vvvo = np . copy ( np . transpose ( tmp38 , ( 2 , 1 , 3 , 0 ))) rdm2 . vvov = np . copy ( np . transpose ( tmp38 , ( 2 , 1 , 0 , 3 ))) * - 1 del tmp38 rdm2 . vovv = np . copy ( np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 ))) * 0.5 rdm2 . vovv += np . transpose ( tmp34 , ( 1 , 0 , 3 , 2 )) rdm2 . vovv += np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 )) rdm2 . vovv += np . transpose ( tmp36 , ( 1 , 0 , 2 , 3 )) rdm2 . vovv += np . transpose ( tmp36 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp36 rdm2 . vovv += einsum ( t1 , ( 0 , 1 ), tmp31 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . vovv += einsum ( t1 , ( 0 , 1 ), tmp31 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . ovvv = np . copy ( np . transpose ( tmp33 , ( 0 , 1 , 3 , 2 ))) * - 0.5 del tmp33 rdm2 . ovvv += np . transpose ( tmp34 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp34 rdm2 . ovvv += np . transpose ( tmp35 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp35 rdm2 . ovvv += tmp37 * - 1 rdm2 . ovvv += np . transpose ( tmp37 , ( 0 , 1 , 3 , 2 )) del tmp37 rdm2 . ovvv += einsum ( tmp30 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . ovvv += einsum ( tmp30 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 del tmp30 rdm2 . vvoo = np . copy ( l2 ) rdm2 . vovo = np . copy ( np . transpose ( tmp21 , ( 2 , 1 , 3 , 0 ))) * - 1 rdm2 . vovo += np . transpose ( tmp29 , ( 2 , 1 , 3 , 0 )) rdm2 . vovo += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . vovo += einsum ( delta . oo , ( 0 , 1 ), tmp32 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 0.5 rdm2 . voov = np . copy ( np . transpose ( tmp21 , ( 2 , 1 , 0 , 3 ))) rdm2 . voov += np . transpose ( tmp29 , ( 2 , 1 , 0 , 3 )) * - 1 rdm2 . voov += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . voov += einsum ( delta . oo , ( 0 , 1 ), tmp31 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . ovvo = np . copy ( np . transpose ( tmp21 , ( 1 , 2 , 3 , 0 ))) rdm2 . ovvo += np . transpose ( tmp29 , ( 1 , 2 , 3 , 0 )) * - 1 rdm2 . ovvo += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . ovvo += einsum ( delta . oo , ( 0 , 1 ), tmp32 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 0.5 del tmp32 rdm2 . ovov = np . copy ( np . transpose ( tmp21 , ( 1 , 2 , 0 , 3 ))) * - 1 del tmp21 rdm2 . ovov += np . transpose ( tmp29 , ( 1 , 2 , 0 , 3 )) del tmp29 rdm2 . ovov += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . ovov += einsum ( delta . oo , ( 0 , 1 ), tmp31 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) del tmp31 rdm2 . oovv = np . copy ( t2 ) rdm2 . oovv += tmp19 * - 1 rdm2 . oovv += np . transpose ( tmp19 , ( 0 , 1 , 3 , 2 )) rdm2 . oovv += np . transpose ( tmp19 , ( 1 , 0 , 2 , 3 )) rdm2 . oovv += np . transpose ( tmp19 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp19 rdm2 . oovv += tmp23 rdm2 . oovv += np . transpose ( tmp23 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp23 rdm2 . oovv += np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . oovv += np . transpose ( tmp24 , ( 1 , 0 , 3 , 2 )) del tmp24 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 . oovv += tmp26 * - 0.5 rdm2 . oovv += np . transpose ( tmp26 , ( 0 , 1 , 3 , 2 )) * 0.5 del tmp26 rdm2 . oovv += np . transpose ( tmp27 , ( 0 , 1 , 3 , 2 )) * 0.5 rdm2 . oovv += np . transpose ( tmp27 , ( 1 , 0 , 3 , 2 )) * - 0.5 del tmp27 rdm2 . oovv += einsum ( tmp9 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 0.5 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), tmp9 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 0.5 rdm2 . oovv += einsum ( tmp9 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 0.5 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), tmp9 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 0.5 rdm2 . oovv += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp13 , ( 0 , 1 , 4 , 5 ), ( 5 , 4 , 2 , 3 )) * 0.5 rdm2 . oovv += einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * 0.5 del tmp28 rdm2 . vooo = np . copy ( np . transpose ( tmp1 , ( 3 , 2 , 1 , 0 ))) rdm2 . vooo += einsum ( l1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . vooo += einsum ( delta . oo , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . ovoo = np . copy ( np . transpose ( tmp1 , ( 2 , 3 , 1 , 0 ))) * - 1 del tmp1 rdm2 . ovoo += einsum ( l1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . ovoo += einsum ( delta . oo , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . oovo = np . copy ( np . transpose ( tmp5 , ( 2 , 1 , 3 , 0 ))) rdm2 . oovo += einsum ( tmp3 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) rdm2 . oovo += np . transpose ( tmp6 , ( 1 , 2 , 3 , 0 )) rdm2 . oovo += np . transpose ( tmp6 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . oovo += einsum ( tmp4 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 0.5 rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * 0.5 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 . oovo += einsum ( delta . oo , ( 0 , 1 ), tmp16 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), tmp16 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) del tmp16 rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), tmp17 , ( 0 , 2 , 3 , 4 ), ( 4 , 3 , 1 , 2 )) * 0.5 del tmp17 rdm2 . ooov = np . copy ( np . transpose ( tmp5 , ( 2 , 1 , 0 , 3 ))) * - 1 del tmp5 rdm2 . ooov += einsum ( tmp3 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . ooov += np . transpose ( tmp6 , ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . ooov += np . transpose ( tmp6 , ( 2 , 1 , 0 , 3 )) del tmp6 rdm2 . ooov += einsum ( tmp4 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * 0.5 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 0.5 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 . ooov += einsum ( tmp9 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 0.5 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp9 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 0.5 del tmp9 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp12 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . ooov += einsum ( tmp12 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp12 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), tmp13 , ( 0 , 2 , 3 , 4 ), ( 4 , 3 , 2 , 1 )) * - 1 del tmp13 rdm2 . oooo = np . copy ( np . transpose ( tmp0 , ( 3 , 2 , 1 , 0 ))) * 0.5 del tmp0 rdm2 . oooo += np . transpose ( tmp2 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) rdm2 . oooo += einsum ( tmp3 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 del tmp3 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 . oooo += einsum ( tmp4 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 0.5 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * 0.5 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * 0.5 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 0.5 del tmp4 , 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 = np . transpose ( rdm2 , ( 0 , 2 , 1 , 3 )) return rdm2 ebcc . codegen . GCC2 . hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:50:24.502529. 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 tmp18 : array tmp19 : array tmp2 : array tmp21 : array tmp22 : array tmp23 : array tmp3 : array tmp4 : array tmp5 : array tmp7 : array tmp8 : array Source code in ebcc/codegen/GCC2.py 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 def hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:24.502529. 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 tmp18 : array tmp19 : array tmp2 : array tmp21 : array tmp22 : array tmp23 : array tmp3 : array tmp4 : array tmp5 : array tmp7 : array tmp8 : array \"\"\" tmp0 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp2 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp23 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp22 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp21 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 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 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) tmp16 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp15 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp13 = einsum ( t1 , ( 0 , 1 ), tmp0 , ( 0 , 2 ), ( 2 , 1 )) tmp12 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp11 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp8 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp7 = einsum ( t1 , ( 0 , 1 ), f . oo , ( 2 , 0 ), ( 2 , 1 )) tmp5 = einsum ( tmp2 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp3 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp1 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp11\" : tmp11 , f \"tmp12\" : tmp12 , f \"tmp13\" : tmp13 , f \"tmp15\" : tmp15 , f \"tmp16\" : tmp16 , f \"tmp18\" : tmp18 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp23\" : tmp23 , f \"tmp3\" : tmp3 , f \"tmp4\" : tmp4 , f \"tmp5\" : tmp5 , f \"tmp7\" : tmp7 , f \"tmp8\" : tmp8 } ebcc . codegen . GCC2 . 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-17T18:50:24.512259. 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. Source code in ebcc/codegen/GCC2.py 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 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-17T18:50:24.512259. 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\" ] tmp5 = np . copy ( f . oo ) tmp5 += ints . tmp0 tmp6 = einsum ( r2 , ( 0 , 1 , 2 ), tmp5 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp5 tmp4 = einsum ( ints . tmp16 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 ,), ( 0 , 2 , 3 )) del ints . tmp16 tmp10 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 1 ), ( 4 , 0 , 3 )) tmp9 = einsum ( ints . tmp23 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 3 ), ( 0 , 4 , 2 )) del ints . tmp23 tmp8 = einsum ( ints . tmp4 , ( 0 , 1 ), r2 , ( 2 , 1 , 3 ), ( 0 , 2 , 3 )) tmp3 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 3 ), ( 2 ,)) tmp13 = np . copy ( np . transpose ( ints . tmp22 , ( 1 , 0 ))) * 0.5 del ints . tmp22 tmp13 += f . vv * - 1 tmp13 += einsum ( t1 , ( 0 , 1 ), f . ov , ( 0 , 2 ), ( 2 , 1 )) tmp7 = np . copy ( tmp4 ) del tmp4 tmp7 += np . transpose ( tmp6 , ( 1 , 0 , 2 )) * - 1 del tmp6 tmp15 = np . copy ( ints . tmp13 ) del ints . tmp13 tmp15 += ints . tmp15 * 0.5 del ints . tmp15 tmp15 += ints . tmp18 * 0.5 del ints . tmp18 tmp15 += ints . tmp7 del ints . tmp7 tmp15 += f . ov * - 1 tmp15 += ints . tmp11 * - 1 del ints . tmp11 tmp15 += ints . tmp8 * - 1 del ints . tmp8 tmp12 = np . copy ( ints . tmp21 ) * - 0.5 del ints . tmp21 tmp12 += v . oooo * - 1 tmp14 = np . copy ( np . transpose ( ints . tmp19 , ( 2 , 0 , 1 , 3 ))) * 0.5 del ints . tmp19 tmp14 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) tmp14 += ints . tmp12 * - 1 del ints . tmp12 tmp11 = np . copy ( tmp8 ) * - 0.5 del tmp8 tmp11 += tmp9 del tmp9 tmp11 += tmp10 del tmp10 tmp1 = np . copy ( f . ov ) tmp1 += ints . tmp2 del ints . tmp2 tmp0 = np . copy ( ints . tmp3 ) del ints . tmp3 tmp0 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp2 = np . copy ( f . oo ) * 2 tmp2 += ints . tmp0 * 2 del ints . tmp0 tmp2 += ints . tmp1 * 2 del ints . tmp1 tmp2 += np . transpose ( ints . tmp4 , ( 1 , 0 )) del ints . tmp4 tmp2 += np . transpose ( ints . tmp5 , ( 1 , 0 )) * 2 del ints . tmp5 r2new = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 3 ,), ( 0 , 1 , 2 )) * 0.5 del tmp3 r2new += tmp7 r2new += np . transpose ( tmp7 , ( 1 , 0 , 2 )) * - 1 del tmp7 r2new += tmp11 * - 1 r2new += np . transpose ( tmp11 , ( 1 , 0 , 2 )) del tmp11 r2new += einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 2 , 4 ), ( 0 , 1 , 4 )) * 0.5 del tmp12 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp13 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp13 r2new += einsum ( r1 , ( 0 ,), tmp14 , ( 0 , 1 , 2 , 3 ), ( 2 , 1 , 3 )) del tmp14 r2new += einsum ( r1 , ( 0 ,), tmp15 , ( 1 , 2 ), ( 0 , 1 , 2 )) * - 1 r2new += einsum ( r1 , ( 0 ,), tmp15 , ( 1 , 2 ), ( 1 , 0 , 2 )) del tmp15 r1new = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 2 , 3 ), ( 0 ,)) * 0.5 del tmp0 r1new += einsum ( r2 , ( 0 , 1 , 2 ), tmp1 , ( 1 , 2 ), ( 0 ,)) del tmp1 r1new += einsum ( r1 , ( 0 ,), tmp2 , ( 0 , 1 ), ( 1 ,)) * - 0.5 del tmp2 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . GCC2 . hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:50:28.432229. 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 tmp16 : array tmp17 : array tmp18 : array tmp2 : array tmp20 : array tmp22 : array tmp4 : array tmp7 : array tmp8 : array tmp9 : array Source code in ebcc/codegen/GCC2.py 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 def hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:28.432229. 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 tmp16 : array tmp17 : array tmp18 : array tmp2 : array tmp20 : array tmp22 : array tmp4 : array tmp7 : array tmp8 : array tmp9 : array \"\"\" tmp9 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp22 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp20 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp18 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) tmp16 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 5 , 0 , 1 ), ( 4 , 2 , 3 , 5 )) tmp15 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp13 = einsum ( t1 , ( 0 , 1 ), tmp9 , ( 0 , 2 ), ( 2 , 1 )) tmp12 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp8 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp7 = einsum ( t1 , ( 0 , 1 ), f . oo , ( 2 , 0 ), ( 2 , 1 )) tmp4 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp2 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp1 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) return { f \"tmp1\" : tmp1 , f \"tmp12\" : tmp12 , f \"tmp13\" : tmp13 , f \"tmp15\" : tmp15 , f \"tmp16\" : tmp16 , f \"tmp17\" : tmp17 , f \"tmp18\" : tmp18 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp22\" : tmp22 , f \"tmp4\" : tmp4 , f \"tmp7\" : tmp7 , f \"tmp8\" : tmp8 , f \"tmp9\" : tmp9 } ebcc . codegen . GCC2 . 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-17T18:50:28.440402. 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. Source code in ebcc/codegen/GCC2.py 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 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-17T18:50:28.440402. 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 = np . copy ( f . vv ) * 2 tmp10 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * - 1 tmp8 = einsum ( r2 , ( 0 , 1 , 2 ), f . ov , ( 3 , 1 ), ( 3 , 2 , 0 )) tmp11 = einsum ( tmp10 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 0.5 del tmp10 tmp6 = einsum ( ints . tmp22 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 3 , 1 ), ( 0 , 2 , 4 )) del ints . tmp22 tmp9 = einsum ( t1 , ( 0 , 1 ), tmp8 , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) del tmp8 tmp7 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 2 ), ( 0 , 4 , 3 )) tmp2 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 1 ), ( 0 ,)) tmp0 = np . copy ( f . ov ) tmp0 += ints . tmp2 del ints . tmp2 tmp13 = np . copy ( ints . tmp16 ) * 0.5 del ints . tmp16 tmp13 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) tmp5 = einsum ( r1 , ( 0 ,), ints . tmp18 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) del ints . tmp18 tmp4 = einsum ( r2 , ( 0 , 1 , 2 ), v . oovv , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp12 = np . copy ( tmp6 ) del tmp6 tmp12 += tmp7 del tmp7 tmp12 += tmp9 del tmp9 tmp12 += np . transpose ( tmp11 , ( 0 , 2 , 1 )) * - 1 del tmp11 tmp14 = np . copy ( f . oo ) tmp14 += np . transpose ( ints . tmp20 , ( 1 , 0 )) * 0.5 del ints . tmp20 tmp14 += ints . tmp9 del ints . tmp9 tmp15 = einsum ( r1 , ( 0 ,), f . ov , ( 1 , 0 ), ( 1 ,)) * 2 tmp15 += tmp2 tmp16 = np . copy ( ints . tmp13 ) del ints . tmp13 tmp16 += ints . tmp15 * 0.5 del ints . tmp15 tmp16 += ints . tmp17 * 0.5 del ints . tmp17 tmp16 += ints . tmp7 del ints . tmp7 tmp16 += f . ov * - 1 tmp16 += ints . tmp12 * - 1 del ints . tmp12 tmp16 += ints . tmp8 * - 1 del ints . tmp8 tmp3 = np . copy ( tmp2 ) * 0.5 del tmp2 tmp3 += einsum ( r1 , ( 0 ,), tmp0 , ( 1 , 0 ), ( 1 ,)) tmp1 = np . copy ( np . transpose ( ints . tmp1 , ( 1 , 0 ))) del ints . tmp1 tmp1 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * 0.5 del ints . tmp4 tmp1 += f . vv * - 1 r2new = einsum ( r2 , ( 0 , 1 , 2 ), v . vvvv , ( 3 , 4 , 0 , 1 ), ( 3 , 4 , 2 )) * 0.5 r2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 1 , 0 ), ( 2 , 3 , 4 )) * - 0.25 del tmp4 r2new += np . transpose ( tmp5 , ( 1 , 2 , 0 )) r2new += np . transpose ( tmp5 , ( 2 , 1 , 0 )) * - 1 del tmp5 r2new += np . transpose ( tmp12 , ( 1 , 2 , 0 )) * - 1 r2new += np . transpose ( tmp12 , ( 2 , 1 , 0 )) del tmp12 r2new += einsum ( r1 , ( 0 ,), tmp13 , ( 1 , 2 , 3 , 0 ), ( 3 , 2 , 1 )) del tmp13 r2new += einsum ( tmp14 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp14 r2new += einsum ( tmp15 , ( 0 ,), t2 , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) * 0.5 del tmp15 r2new += einsum ( r1 , ( 0 ,), tmp16 , ( 1 , 2 ), ( 0 , 2 , 1 )) * - 1 r2new += einsum ( r1 , ( 0 ,), tmp16 , ( 1 , 2 ), ( 2 , 0 , 1 )) del tmp16 r1new = einsum ( r2 , ( 0 , 1 , 2 ), v . ovvv , ( 2 , 3 , 0 , 1 ), ( 3 ,)) * - 0.5 r1new += einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 2 , 1 ), ( 0 ,)) del tmp0 r1new += einsum ( r1 , ( 0 ,), tmp1 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp1 r1new += einsum ( tmp3 , ( 0 ,), t1 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp3 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . GCC2 . hbar_matvec_ee_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:50:37.210046. Parameters f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp10 : array tmp12 : array tmp17 : array tmp18 : array tmp2 : array tmp22 : array tmp23 : array tmp26 : array tmp30 : array tmp31 : array tmp33 : array tmp36 : array tmp37 : array tmp39 : array tmp4 : array tmp44 : array tmp46 : array tmp5 : array tmp6 : array tmp7 : array tmp9 : array Source code in ebcc/codegen/GCC2.py 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 def hbar_matvec_ee_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:37.210046. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp10 : array tmp12 : array tmp17 : array tmp18 : array tmp2 : array tmp22 : array tmp23 : array tmp26 : array tmp30 : array tmp31 : array tmp33 : array tmp36 : array tmp37 : array tmp39 : array tmp4 : array tmp44 : array tmp46 : array tmp5 : array tmp6 : array tmp7 : array tmp9 : array \"\"\" tmp0 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp6 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp46 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp44 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp39 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp37 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) tmp36 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) tmp33 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 5 , 0 , 1 ), ( 4 , 2 , 3 , 5 )) tmp31 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp30 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp26 = einsum ( t1 , ( 0 , 1 ), tmp0 , ( 0 , 2 ), ( 2 , 1 )) tmp23 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp22 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp18 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp17 = einsum ( t1 , ( 0 , 1 ), f . oo , ( 2 , 0 ), ( 2 , 1 )) tmp12 = einsum ( tmp6 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp10 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp9 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp7 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp5 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp4 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp2 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) return { f \"tmp0\" : tmp0 , f \"tmp10\" : tmp10 , 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 \"tmp31\" : tmp31 , f \"tmp33\" : tmp33 , f \"tmp36\" : tmp36 , f \"tmp37\" : tmp37 , f \"tmp39\" : tmp39 , f \"tmp4\" : tmp4 , f \"tmp44\" : tmp44 , f \"tmp46\" : tmp46 , f \"tmp5\" : tmp5 , f \"tmp6\" : tmp6 , f \"tmp7\" : tmp7 , f \"tmp9\" : tmp9 } ebcc . codegen . GCC2 . 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-17T18:50:37.224185. 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. Source code in ebcc/codegen/GCC2.py 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 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-17T18:50:37.224185. 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\" ] tmp27 = einsum ( r1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp6 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 2 , 3 ), ( 4 , 0 )) tmp15 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 3 ), ( 0 , 2 )) tmp28 = np . copy ( np . transpose ( tmp27 , ( 1 , 0 ))) del tmp27 tmp28 += tmp6 * 0.5 tmp25 = np . copy ( f . oo ) tmp25 += ints . tmp0 tmp25 += np . transpose ( ints . tmp9 , ( 1 , 0 )) * 0.5 tmp34 = einsum ( f . ov , ( 0 , 1 ), r2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp36 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp16 = einsum ( tmp15 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 del tmp15 tmp14 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp10 = einsum ( ints . tmp39 , ( 0 , 1 , 2 , 3 ), r1 , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) del ints . tmp39 tmp11 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp9 = einsum ( ints . tmp31 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del ints . tmp31 tmp12 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), ints . tmp46 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del ints . tmp46 tmp21 = einsum ( ints . tmp37 , ( 0 , 1 , 2 , 3 ), r1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) del ints . tmp37 tmp22 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), ints . tmp10 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp29 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp28 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 1 del tmp28 tmp24 = einsum ( r1 , ( 0 , 1 ), ints . tmp33 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) del ints . tmp33 tmp26 = einsum ( tmp25 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp25 tmp33 = einsum ( ints . tmp23 , ( 0 , 1 , 2 , 3 ), r1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del ints . tmp23 tmp35 = einsum ( t1 , ( 0 , 1 ), tmp34 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp34 tmp37 = einsum ( tmp36 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 1 del tmp36 tmp19 = einsum ( f . vv , ( 0 , 1 ), r2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp18 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), r1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp31 = einsum ( r1 , ( 0 , 1 ), v . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp1 = np . copy ( ints . tmp7 ) del ints . tmp7 tmp1 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp2 = np . copy ( f . ov ) tmp2 += ints . tmp6 del ints . tmp6 tmp17 = np . copy ( np . transpose ( tmp14 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp14 tmp17 += np . transpose ( tmp16 , ( 0 , 1 , 3 , 2 )) del tmp16 tmp13 = np . copy ( tmp9 ) del tmp9 tmp13 += tmp10 del tmp10 tmp13 += tmp11 del tmp11 tmp13 += tmp12 * - 1 del tmp12 tmp40 = np . copy ( ints . tmp17 ) del ints . tmp17 tmp40 += ints . tmp26 del ints . tmp26 tmp40 += ints . tmp30 * 0.5 del ints . tmp30 tmp40 += ints . tmp36 * 0.5 del ints . tmp36 tmp40 += f . ov * - 1 tmp40 += ints . tmp18 * - 1 del ints . tmp18 tmp40 += ints . tmp22 * - 1 del ints . tmp22 tmp23 = np . copy ( tmp21 ) * 0.5 del tmp21 tmp23 += np . transpose ( tmp22 , ( 1 , 0 , 2 , 3 )) * - 0.5 del tmp22 tmp30 = np . copy ( np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 ))) * - 0.5 del tmp24 tmp30 += np . transpose ( tmp26 , ( 0 , 1 , 3 , 2 )) del tmp26 tmp30 += np . transpose ( tmp29 , ( 0 , 1 , 3 , 2 )) del tmp29 tmp38 = np . copy ( tmp33 ) del tmp33 tmp38 += tmp35 del tmp35 tmp38 += tmp37 * 0.5 del tmp37 tmp20 = np . copy ( np . transpose ( tmp18 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp18 tmp20 += np . transpose ( tmp19 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp19 tmp32 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp31 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 1 del tmp31 tmp39 = np . copy ( ints . tmp44 ) * - 0.5 del ints . tmp44 tmp39 += v . oooo * - 1 tmp8 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp3 = np . copy ( ints . tmp5 ) del ints . tmp5 tmp3 += np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 )) * - 1 tmp5 = np . copy ( f . oo ) tmp5 += ints . tmp0 del ints . tmp0 tmp5 += np . transpose ( ints . tmp12 , ( 1 , 0 )) del ints . tmp12 tmp5 += ints . tmp2 del ints . tmp2 tmp5 += np . transpose ( ints . tmp9 , ( 1 , 0 )) * 0.5 del ints . tmp9 tmp4 = np . copy ( np . transpose ( ints . tmp10 , ( 1 , 0 ))) * 0.5 del ints . tmp10 tmp4 += np . transpose ( ints . tmp4 , ( 1 , 0 )) del ints . tmp4 tmp4 += f . vv * - 1 tmp7 = np . copy ( np . transpose ( tmp6 , ( 1 , 0 ))) * 0.5 del tmp6 tmp7 += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 3 ), ( 2 , 0 )) tmp7 += einsum ( r1 , ( 0 , 1 ), tmp2 , ( 2 , 1 ), ( 2 , 0 )) tmp0 = einsum ( r1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) r2new = einsum ( r2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) * 0.5 r2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp8 , ( 4 , 5 , 1 , 0 ), ( 5 , 4 , 2 , 3 )) * 0.25 del tmp8 r2new += tmp13 * - 1 r2new += np . transpose ( tmp13 , ( 0 , 1 , 3 , 2 )) r2new += np . transpose ( tmp13 , ( 1 , 0 , 2 , 3 )) r2new += np . transpose ( tmp13 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp13 r2new += tmp17 * - 1 r2new += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) del tmp17 r2new += tmp20 * - 1 r2new += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) del tmp20 r2new += np . transpose ( tmp23 , ( 1 , 0 , 2 , 3 )) * - 1 r2new += np . transpose ( tmp23 , ( 1 , 0 , 3 , 2 )) del tmp23 r2new += tmp30 r2new += np . transpose ( tmp30 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp30 r2new += tmp32 r2new += np . transpose ( tmp32 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp32 r2new += tmp38 * - 1 r2new += np . transpose ( tmp38 , ( 0 , 1 , 3 , 2 )) del tmp38 r2new += einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) * - 0.5 del tmp39 r2new += einsum ( r1 , ( 0 , 1 ), tmp40 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 r2new += einsum ( tmp40 , ( 0 , 1 ), r1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 r2new += einsum ( r1 , ( 0 , 1 ), tmp40 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) r2new += einsum ( r1 , ( 0 , 1 ), tmp40 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) del tmp40 r1new = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 1 , 3 ), ( 0 , 2 )) del tmp0 r1new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) * - 0.5 r1new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 0.5 del tmp1 r1new += einsum ( tmp2 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp2 r1new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 3 ), ( 0 , 2 )) del tmp3 r1new += einsum ( r1 , ( 0 , 1 ), tmp4 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp4 r1new += einsum ( tmp5 , ( 0 , 1 ), r1 , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp5 r1new += einsum ( t1 , ( 0 , 1 ), tmp7 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp7 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . GCC2 . hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:50:42.593963. Parameters f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp1 : array tmp10 : array tmp11 : array tmp12 : array tmp13 : array tmp14 : array tmp16 : array tmp17 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp24 : array tmp25 : array tmp27 : array tmp29 : array tmp3 : array tmp31 : array tmp32 : array tmp34 : array tmp4 : array tmp40 : array tmp41 : array tmp5 : array tmp6 : array tmp7 : array tmp8 : array tmp9 : array Source code in ebcc/codegen/GCC2.py 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 def hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:42.593963. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp10 : array tmp11 : array tmp12 : array tmp13 : array tmp14 : array tmp16 : array tmp17 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp24 : array tmp25 : array tmp27 : array tmp29 : array tmp3 : array tmp31 : array tmp32 : array tmp34 : array tmp4 : array tmp40 : array tmp41 : array tmp5 : array tmp6 : array tmp7 : array tmp8 : array tmp9 : array \"\"\" tmp18 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp15 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp33 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp24 = einsum ( tmp15 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp30 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp28 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp26 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp6 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp22 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp10 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp0 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp41 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp40 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp34 = einsum ( t1 , ( 0 , 1 ), tmp33 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) del tmp33 tmp32 = einsum ( t1 , ( 0 , 1 ), tmp24 , ( 2 , 0 ), ( 2 , 1 )) tmp31 = einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) del tmp30 tmp29 = einsum ( tmp28 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) del tmp28 tmp27 = einsum ( t1 , ( 0 , 1 ), tmp26 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp26 tmp25 = einsum ( t1 , ( 0 , 1 ), tmp6 , ( 0 , 2 ), ( 2 , 1 )) tmp23 = einsum ( t1 , ( 0 , 1 ), tmp22 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp21 = einsum ( t1 , ( 0 , 1 ), tmp10 , ( 2 , 0 ), ( 2 , 1 )) tmp20 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) * - 1 tmp19 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) del tmp18 tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) * - 1 tmp16 = einsum ( tmp15 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp15 tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) tmp12 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp11 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp9 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp8 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp7 = einsum ( t1 , ( 0 , 1 ), v . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp5 = einsum ( t1 , ( 0 , 1 ), tmp0 , ( 0 , 2 ), ( 2 , 1 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp3 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp2 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( t1 , ( 0 , 1 ), f . oo , ( 2 , 0 ), ( 2 , 1 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp11\" : tmp11 , f \"tmp12\" : tmp12 , f \"tmp13\" : tmp13 , f \"tmp14\" : tmp14 , f \"tmp16\" : tmp16 , f \"tmp17\" : tmp17 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp23\" : tmp23 , f \"tmp24\" : tmp24 , f \"tmp25\" : tmp25 , f \"tmp27\" : tmp27 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp31\" : tmp31 , f \"tmp32\" : tmp32 , f \"tmp34\" : tmp34 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp41\" : tmp41 , f \"tmp5\" : tmp5 , f \"tmp6\" : tmp6 , f \"tmp7\" : tmp7 , f \"tmp8\" : tmp8 , f \"tmp9\" : tmp9 } ebcc . codegen . GCC2 . hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:50:42.611286. 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. Source code in ebcc/codegen/GCC2.py 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:42.611286. 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\" ] tmp5 = einsum ( ints . tmp41 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 0 , 2 ), ( 1 , 4 , 3 )) del ints . tmp41 tmp6 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 1 ), ( 4 , 0 , 3 )) tmp4 = einsum ( ints . tmp10 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 1 , 2 , 3 )) tmp8 = np . copy ( f . oo ) tmp8 += np . transpose ( ints . tmp0 , ( 1 , 0 )) tmp3 = einsum ( r2 , ( 0 , 1 , 2 ), t2 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) tmp7 = einsum ( r1 , ( 0 ,), f . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) tmp7 += tmp4 * - 0.5 del tmp4 tmp7 += tmp5 del tmp5 tmp7 += tmp6 del tmp6 tmp11 = np . copy ( ints . tmp40 ) * 0.5 del ints . tmp40 tmp11 += f . vv * - 1 tmp11 += einsum ( f . ov , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 2 , 1 )) tmp10 = np . copy ( ints . tmp22 ) * - 0.5 del ints . tmp22 tmp10 += v . oooo * - 1 tmp9 = einsum ( tmp8 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 1 , 2 , 3 )) * - 1 del tmp8 tmp1 = np . copy ( ints . tmp11 ) del ints . tmp11 tmp1 += ints . tmp13 del ints . tmp13 tmp1 += ints . tmp19 del ints . tmp19 tmp1 += ints . tmp1 * 2 del ints . tmp1 tmp1 += ints . tmp21 del ints . tmp21 tmp1 += ints . tmp25 * 2 del ints . tmp25 tmp1 += ints . tmp29 * 2 del ints . tmp29 tmp1 += ints . tmp32 * 2 del ints . tmp32 tmp1 += ints . tmp5 * 2 del ints . tmp5 tmp1 += ints . tmp8 * 2 del ints . tmp8 tmp1 += f . ov * - 2 tmp1 += ints . tmp16 * - 2 del ints . tmp16 tmp1 += ints . tmp2 * - 2 del ints . tmp2 tmp1 += ints . tmp3 * - 2 del ints . tmp3 tmp0 = np . copy ( ints . tmp12 ) del ints . tmp12 tmp0 += np . transpose ( ints . tmp23 , ( 0 , 2 , 1 , 3 )) * 0.25 del ints . tmp23 tmp0 += np . transpose ( ints . tmp34 , ( 0 , 2 , 1 , 3 )) * 0.5 del ints . tmp34 tmp0 += np . transpose ( ints . tmp4 , ( 1 , 0 , 2 , 3 )) * 0.5 del ints . tmp4 tmp0 += np . transpose ( ints . tmp7 , ( 0 , 2 , 1 , 3 )) * 0.5 del ints . tmp7 tmp0 += ints . tmp9 del ints . tmp9 tmp0 += np . transpose ( ints . tmp14 , ( 0 , 2 , 1 , 3 )) * - 0.25 del ints . tmp14 tmp0 += np . transpose ( ints . tmp17 , ( 0 , 2 , 1 , 3 )) * - 0.5 del ints . tmp17 tmp0 += np . transpose ( ints . tmp20 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp20 tmp0 += ints . tmp27 * - 1 del ints . tmp27 tmp0 += np . transpose ( ints . tmp31 , ( 0 , 2 , 1 , 3 )) * - 0.5 del ints . tmp31 tmp0 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp2 = np . copy ( f . oo ) * 2 tmp2 += np . transpose ( ints . tmp0 , ( 1 , 0 )) * 2 del ints . tmp0 tmp2 += ints . tmp10 del ints . tmp10 tmp2 += ints . tmp24 * 2 del ints . tmp24 tmp2 += np . transpose ( ints . tmp6 , ( 1 , 0 )) * 2 del ints . tmp6 r2new = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp3 , ( 3 ,), ( 0 , 1 , 2 )) * 0.5 del tmp3 r2new += einsum ( r1 , ( 0 ,), v . ooov , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new += tmp7 * - 1 r2new += np . transpose ( tmp7 , ( 1 , 0 , 2 )) del tmp7 r2new += tmp9 * - 1 r2new += np . transpose ( tmp9 , ( 1 , 0 , 2 )) del tmp9 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp10 , ( 1 , 0 , 3 , 4 ), ( 3 , 4 , 2 )) * 0.5 del tmp10 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp11 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp11 r1new = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 2 , 3 ), ( 1 ,)) del tmp0 r1new += einsum ( r2 , ( 0 , 1 , 2 ), tmp1 , ( 1 , 2 ), ( 0 ,)) * - 0.5 del tmp1 r1new += einsum ( r1 , ( 0 ,), tmp2 , ( 0 , 1 ), ( 1 ,)) * - 0.5 del tmp2 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . GCC2 . hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:50:48.225403. Parameters f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp1 : array tmp10 : array tmp11 : array tmp12 : array tmp13 : array tmp14 : array tmp15 : array tmp16 : array tmp17 : array tmp18 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp25 : array tmp27 : array tmp28 : array tmp3 : array tmp30 : array tmp5 : array tmp6 : array tmp7 : array tmp8 : array Source code in ebcc/codegen/GCC2.py 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 def hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:48.225403. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp1 : array tmp10 : array tmp11 : array tmp12 : array tmp13 : array tmp14 : array tmp15 : array tmp16 : array tmp17 : array tmp18 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp25 : array tmp27 : array tmp28 : array tmp3 : array tmp30 : array tmp5 : array tmp6 : array tmp7 : array tmp8 : array \"\"\" tmp16 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp29 = einsum ( tmp16 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp7 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp24 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp21 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp18 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp5 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp30 = einsum ( t1 , ( 0 , 1 ), tmp29 , ( 2 , 0 ), ( 2 , 1 )) del tmp29 tmp28 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp27 = einsum ( tmp7 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp25 = einsum ( tmp24 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) del tmp24 tmp23 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp22 = einsum ( t1 , ( 0 , 1 ), tmp21 , ( 2 , 0 ), ( 2 , 1 )) tmp20 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 1 , 0 , 5 ), ( 4 , 2 , 3 , 5 )) * - 1 tmp19 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 1 , 3 ), ( 0 , 2 )) tmp15 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 5 , 0 , 1 ), ( 4 , 2 , 3 , 5 )) tmp12 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp11 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) tmp10 = einsum ( t1 , ( 0 , 1 ), v . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp8 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp6 = einsum ( t1 , ( 0 , 1 ), tmp5 , ( 0 , 2 ), ( 2 , 1 )) tmp3 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp2 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( t1 , ( 0 , 1 ), f . oo , ( 2 , 0 ), ( 2 , 1 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp11\" : tmp11 , f \"tmp12\" : tmp12 , f \"tmp13\" : tmp13 , f \"tmp14\" : tmp14 , f \"tmp15\" : tmp15 , f \"tmp16\" : tmp16 , f \"tmp17\" : tmp17 , f \"tmp18\" : tmp18 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp23\" : tmp23 , f \"tmp25\" : tmp25 , f \"tmp27\" : tmp27 , f \"tmp28\" : tmp28 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp5\" : tmp5 , f \"tmp6\" : tmp6 , f \"tmp7\" : tmp7 , f \"tmp8\" : tmp8 } ebcc . codegen . GCC2 . hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:50:48.238722. 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. Source code in ebcc/codegen/GCC2.py 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:48.238722. 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 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 0 , 2 ), ( 2 , 1 )) tmp14 = np . copy ( ints . tmp11 ) tmp14 += f . vv * - 2 tmp14 += np . transpose ( tmp13 , ( 1 , 0 )) * 2 del tmp13 tmp12 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 2 ), ( 0 , 4 , 3 )) tmp11 = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp23 , ( 2 , 3 , 1 , 4 ), ( 3 , 4 , 0 )) tmp15 = einsum ( r2 , ( 0 , 1 , 2 ), tmp14 , ( 1 , 3 ), ( 2 , 3 , 0 )) * - 0.5 del tmp14 tmp1 = einsum ( t1 , ( 0 , 1 ), r2 , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp7 = einsum ( r2 , ( 0 , 1 , 2 ), t2 , ( 3 , 2 , 0 , 1 ), ( 3 ,)) tmp17 = np . copy ( f . oo ) tmp17 += ints . tmp21 * 0.5 del ints . tmp21 tmp17 += np . transpose ( ints . tmp5 , ( 1 , 0 )) del ints . tmp5 tmp16 = einsum ( r1 , ( 0 ,), f . ov , ( 1 , 2 ), ( 1 , 2 , 0 )) tmp16 += tmp11 del tmp11 tmp16 += tmp12 del tmp12 tmp16 += tmp15 del tmp15 tmp10 = einsum ( r2 , ( 0 , 1 , 2 ), t2 , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp3 = einsum ( tmp1 , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 0 , 1 , 3 )) * - 1 tmp5 = np . copy ( ints . tmp12 ) * 0.5 del ints . tmp12 tmp5 += ints . tmp14 * 0.5 del ints . tmp14 tmp5 += ints . tmp19 * 0.5 del ints . tmp19 tmp5 += ints . tmp1 del ints . tmp1 tmp5 += ints . tmp22 * 0.5 del ints . tmp22 tmp5 += ints . tmp25 del ints . tmp25 tmp5 += ints . tmp27 del ints . tmp27 tmp5 += ints . tmp30 del ints . tmp30 tmp5 += ints . tmp6 del ints . tmp6 tmp5 += ints . tmp8 del ints . tmp8 tmp5 += f . ov * - 1 tmp5 += ints . tmp17 * - 1 del ints . tmp17 tmp5 += ints . tmp2 * - 1 del ints . tmp2 tmp5 += ints . tmp3 * - 1 del ints . tmp3 tmp6 = np . copy ( ints . tmp11 ) * 0.5 del ints . tmp11 tmp6 += ints . tmp7 del ints . tmp7 tmp6 += f . vv * - 1 tmp4 = np . copy ( ints . tmp18 ) del ints . tmp18 tmp4 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp0 = np . copy ( ints . tmp10 ) * 0.5 del ints . tmp10 tmp0 += ints . tmp15 del ints . tmp15 tmp0 += ints . tmp20 * 0.25 del ints . tmp20 tmp0 += ints . tmp13 * - 0.25 del ints . tmp13 tmp0 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) * - 0.5 tmp9 = np . copy ( f . ov ) tmp9 += ints . tmp16 del ints . tmp16 tmp8 = einsum ( r1 , ( 0 ,), t1 , ( 1 , 0 ), ( 1 ,)) tmp8 += tmp7 * 0.5 tmp2 = np . copy ( ints . tmp23 ) del ints . tmp23 tmp2 += ints . tmp28 del ints . tmp28 tmp2 += np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 )) * - 1 r2new = einsum ( r1 , ( 0 ,), v . ovvv , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) * - 1 r2new += einsum ( r2 , ( 0 , 1 , 2 ), v . vvvv , ( 3 , 4 , 0 , 1 ), ( 3 , 4 , 2 )) * 0.5 r2new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 1 , 0 ), ( 2 , 3 , 4 )) * - 0.25 del tmp10 r2new += einsum ( tmp7 , ( 0 ,), v . oovv , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) * 0.5 del tmp7 r2new += np . transpose ( tmp16 , ( 1 , 2 , 0 )) * - 1 r2new += np . transpose ( tmp16 , ( 2 , 1 , 0 )) del tmp16 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp17 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp17 r1new = einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 2 , 0 , 1 , 3 ), ( 3 ,)) del tmp0 r1new += einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 0 , 1 , 2 ), ( 3 ,)) del tmp1 , tmp2 r1new += einsum ( tmp3 , ( 0 , 1 , 2 ), tmp4 , ( 0 , 2 , 1 , 3 ), ( 3 ,)) * - 0.5 del tmp3 , tmp4 r1new += einsum ( r2 , ( 0 , 1 , 2 ), tmp5 , ( 2 , 1 ), ( 0 ,)) * - 1 del tmp5 r1new += einsum ( r1 , ( 0 ,), tmp6 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp6 r1new += einsum ( tmp8 , ( 0 ,), tmp9 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp8 , tmp9 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . GCC2 . hbar_lmatvec_ee_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:50:57.920908. Parameters f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp10 : array tmp11 : array tmp12 : array tmp13 : array tmp15 : array tmp16 : array tmp17 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp24 : array tmp26 : array tmp27 : array tmp28 : array tmp29 : array tmp3 : array tmp30 : array tmp31 : array tmp32 : array tmp33 : array tmp34 : array tmp35 : array tmp36 : array tmp38 : array tmp39 : array tmp4 : array tmp41 : array tmp43 : array tmp44 : array tmp45 : array tmp47 : array tmp5 : array tmp7 : array tmp8 : array tmp9 : array Source code in ebcc/codegen/GCC2.py 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 def hbar_lmatvec_ee_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:57.920908. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp10 : array tmp11 : array tmp12 : array tmp13 : array tmp15 : array tmp16 : array tmp17 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp24 : array tmp26 : array tmp27 : array tmp28 : array tmp29 : array tmp3 : array tmp30 : array tmp31 : array tmp32 : array tmp33 : array tmp34 : array tmp35 : array tmp36 : array tmp38 : array tmp39 : array tmp4 : array tmp41 : array tmp43 : array tmp44 : array tmp45 : array tmp47 : array tmp5 : array tmp7 : array tmp8 : array tmp9 : array \"\"\" tmp29 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp26 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp46 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp38 = einsum ( tmp26 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp10 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp9 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp40 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp8 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp34 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp16 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp0 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp47 = einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp46 tmp45 = einsum ( t1 , ( 0 , 1 ), tmp38 , ( 2 , 0 ), ( 2 , 1 )) tmp44 = einsum ( t1 , ( 0 , 1 ), tmp10 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp43 = einsum ( t1 , ( 0 , 1 ), tmp9 , ( 2 , 1 ), ( 0 , 2 )) tmp41 = einsum ( t1 , ( 0 , 1 ), tmp40 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp40 tmp39 = einsum ( t1 , ( 0 , 1 ), tmp8 , ( 0 , 2 ), ( 2 , 1 )) tmp36 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp35 = einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp33 = einsum ( t1 , ( 0 , 1 ), tmp16 , ( 2 , 0 ), ( 2 , 1 )) tmp32 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 4 , 1 , 0 , 5 ), ( 4 , 2 , 3 , 5 )) * - 1 tmp31 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) * - 1 tmp30 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp28 = einsum ( tmp26 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 1 tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp26 , ( 1 , 3 ), ( 0 , 2 )) tmp24 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp23 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) tmp22 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) tmp21 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 5 , 0 , 1 ), ( 4 , 2 , 3 , 5 )) tmp20 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp19 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) tmp15 = einsum ( t1 , ( 0 , 1 ), v . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp13 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp12 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp11 = einsum ( t1 , ( 0 , 1 ), v . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp7 = einsum ( t1 , ( 0 , 1 ), tmp0 , ( 0 , 2 ), ( 2 , 1 )) tmp5 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp4 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp3 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp2 = einsum ( t1 , ( 0 , 1 ), f . oo , ( 2 , 0 ), ( 2 , 1 )) return { f \"tmp0\" : tmp0 , f \"tmp10\" : tmp10 , f \"tmp11\" : tmp11 , f \"tmp12\" : tmp12 , f \"tmp13\" : tmp13 , f \"tmp15\" : tmp15 , f \"tmp16\" : tmp16 , f \"tmp17\" : tmp17 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp23\" : tmp23 , f \"tmp24\" : tmp24 , f \"tmp26\" : tmp26 , f \"tmp27\" : tmp27 , f \"tmp28\" : tmp28 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp31\" : tmp31 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp34\" : tmp34 , f \"tmp35\" : tmp35 , f \"tmp36\" : tmp36 , f \"tmp38\" : tmp38 , f \"tmp39\" : tmp39 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp43\" : tmp43 , f \"tmp44\" : tmp44 , f \"tmp45\" : tmp45 , f \"tmp47\" : tmp47 , f \"tmp5\" : tmp5 , f \"tmp7\" : tmp7 , f \"tmp8\" : tmp8 , f \"tmp9\" : tmp9 } ebcc . codegen . GCC2 . hbar_lmatvec_ee ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:50:57.942422. 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. Source code in ebcc/codegen/GCC2.py 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 def hbar_lmatvec_ee ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:57.942422. 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\" ] tmp0 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) tmp4 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp10 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 2 , 3 ), ( 4 , 0 )) tmp26 = np . copy ( f . oo ) tmp26 += np . transpose ( ints . tmp0 , ( 1 , 0 )) tmp26 += ints . tmp16 * 0.5 tmp30 = einsum ( tmp0 , ( 0 , 1 ), v . oovv , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 1 tmp29 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), f . ov , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp19 = einsum ( f . vv , ( 0 , 1 ), r2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp18 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), r1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp25 = einsum ( tmp10 , ( 0 , 1 ), v . oovv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 tmp27 = einsum ( tmp26 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp26 tmp23 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp22 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), ints . tmp36 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) tmp9 = einsum ( t1 , ( 0 , 1 ), r1 , ( 2 , 1 ), ( 2 , 0 )) tmp17 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp16 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp31 = np . copy ( tmp29 ) del tmp29 tmp31 += tmp30 * - 0.5 del tmp30 tmp21 = einsum ( ints . tmp17 , ( 0 , 1 ), r2 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) tmp20 = np . copy ( np . transpose ( tmp18 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp18 tmp20 += np . transpose ( tmp19 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp19 tmp32 = np . copy ( ints . tmp34 ) * - 0.5 del ints . tmp34 tmp32 += v . oooo * - 1 tmp28 = np . copy ( np . transpose ( tmp25 , ( 0 , 1 , 3 , 2 ))) * 0.5 del tmp25 tmp28 += np . transpose ( tmp27 , ( 0 , 1 , 3 , 2 )) del tmp27 tmp24 = einsum ( r1 , ( 0 , 1 ), f . ov , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp24 += tmp22 del tmp22 tmp24 += tmp23 * - 1 del tmp23 tmp3 = np . copy ( ints . tmp10 ) tmp3 += ints . tmp36 del ints . tmp36 tmp3 += np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 )) * - 1 tmp13 = np . copy ( ints . tmp17 ) * 0.5 del ints . tmp17 tmp13 += ints . tmp9 del ints . tmp9 tmp13 += f . vv * - 1 tmp5 = np . copy ( ints . tmp29 ) del ints . tmp29 tmp5 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp7 = np . copy ( ints . tmp12 ) * 2 del ints . tmp12 tmp7 += ints . tmp19 del ints . tmp19 tmp7 += ints . tmp22 del ints . tmp22 tmp7 += ints . tmp2 * 2 del ints . tmp2 tmp7 += ints . tmp30 del ints . tmp30 tmp7 += ints . tmp33 del ints . tmp33 tmp7 += ints . tmp39 * 2 del ints . tmp39 tmp7 += ints . tmp43 * 2 del ints . tmp43 tmp7 += ints . tmp45 * 2 del ints . tmp45 tmp7 += ints . tmp7 * 2 del ints . tmp7 tmp7 += f . ov * - 2 tmp7 += ints . tmp27 * - 2 del ints . tmp27 tmp7 += ints . tmp3 * - 2 del ints . tmp3 tmp7 += ints . tmp4 * - 2 del ints . tmp4 tmp6 = einsum ( t1 , ( 0 , 1 ), tmp4 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp15 = np . copy ( f . ov ) tmp15 += ints . tmp26 del ints . tmp26 tmp12 = np . copy ( ints . tmp10 ) del ints . tmp10 tmp12 += np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 )) * - 1 tmp1 = np . copy ( ints . tmp15 ) * 0.5 del ints . tmp15 tmp1 += ints . tmp24 del ints . tmp24 tmp1 += ints . tmp32 * 0.25 del ints . tmp32 tmp1 += ints . tmp21 * - 0.25 del ints . tmp21 tmp1 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) * - 0.5 tmp14 = np . copy ( f . oo ) tmp14 += np . transpose ( ints . tmp0 , ( 1 , 0 )) del ints . tmp0 tmp14 += ints . tmp16 * 0.5 del ints . tmp16 tmp14 += ints . tmp38 del ints . tmp38 tmp14 += np . transpose ( ints . tmp8 , ( 1 , 0 )) del ints . tmp8 tmp11 = np . copy ( tmp9 ) del tmp9 tmp11 += tmp10 * 0.5 del tmp10 tmp8 = einsum ( r1 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp8 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) * - 0.5 tmp2 = np . copy ( ints . tmp11 ) * 0.5 del ints . tmp11 tmp2 += np . transpose ( ints . tmp13 , ( 0 , 2 , 1 , 3 )) del ints . tmp13 tmp2 += np . transpose ( ints . tmp20 , ( 0 , 2 , 1 , 3 )) del ints . tmp20 tmp2 += ints . tmp35 * 0.25 del ints . tmp35 tmp2 += ints . tmp47 * 0.5 del ints . tmp47 tmp2 += np . transpose ( ints . tmp5 , ( 1 , 2 , 0 , 3 )) * 0.5 del ints . tmp5 tmp2 += ints . tmp23 * - 0.25 del ints . tmp23 tmp2 += ints . tmp28 * - 0.5 del ints . tmp28 tmp2 += ints . tmp31 * - 1 del ints . tmp31 tmp2 += np . transpose ( ints . tmp41 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp41 tmp2 += ints . tmp44 * - 0.5 del ints . tmp44 tmp2 += v . ooov * - 0.5 r2new = einsum ( r2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) * 0.5 r2new += einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 3 , 2 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) * 0.25 del tmp16 r2new += np . transpose ( tmp17 , ( 0 , 1 , 3 , 2 )) r2new += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp17 r2new += tmp20 * - 1 r2new += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) del tmp20 r2new += np . transpose ( tmp21 , ( 1 , 0 , 2 , 3 )) * - 0.5 r2new += np . transpose ( tmp21 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp21 r2new += tmp24 r2new += np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 )) * - 1 r2new += np . transpose ( tmp24 , ( 1 , 0 , 2 , 3 )) * - 1 r2new += np . transpose ( tmp24 , ( 1 , 0 , 3 , 2 )) del tmp24 r2new += tmp28 r2new += np . transpose ( tmp28 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp28 r2new += tmp31 r2new += np . transpose ( tmp31 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp31 r2new += einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 4 , 5 ), ( 2 , 3 , 4 , 5 )) * - 0.5 del tmp32 r1new = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), tmp0 , ( 1 , 3 ), ( 0 , 2 )) * 0.5 del tmp0 r1new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 )) del tmp1 r1new += einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) del tmp2 r1new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) * - 1 del tmp4 , tmp3 r1new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 0 , 2 , 1 ), ( 4 , 3 )) * - 0.5 del tmp6 r1new += einsum ( tmp7 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * - 0.5 del tmp7 r1new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp8 , ( 1 , 3 ), ( 0 , 2 )) del tmp8 r1new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp11 , ( 0 , 2 ), ( 1 , 3 )) * - 1 del tmp5 r1new += einsum ( r1 , ( 0 , 1 ), tmp12 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp12 r1new += einsum ( r1 , ( 0 , 1 ), tmp13 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp13 r1new += einsum ( tmp14 , ( 0 , 1 ), r1 , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp14 r1new += einsum ( tmp11 , ( 0 , 1 ), tmp15 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp11 , tmp15 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"GCC2"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.energy","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:05.500662.","title":"energy"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.energy--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/GCC2.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:05.500662. 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 ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp0 , ( 0 , 1 , 2 , 3 ), ()) * 0.25 del tmp0 return e_cc","title":"Returns"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:07.704613.","title":"update_amps"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.update_amps--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.update_amps--returns","text":"t1new : array Updated T1 residuals. t2new : array Updated T2 residuals. Source code in ebcc/codegen/GCC2.py 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:07.704613. 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 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp4 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp15 = einsum ( t1 , ( 0 , 1 ), tmp14 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp14 tmp0 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp10 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) tmp16 = einsum ( t1 , ( 0 , 1 ), tmp15 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp15 tmp23 = np . copy ( v . oooo ) tmp23 += einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 , 3 , 4 , 1 ), ( 4 , 3 , 0 , 2 )) * - 1 tmp11 = einsum ( t1 , ( 0 , 1 ), tmp10 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) * - 1 del tmp10 tmp21 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp19 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp5 = np . copy ( t2 ) tmp5 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 tmp17 = np . copy ( np . transpose ( tmp13 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp13 tmp17 += np . transpose ( tmp16 , ( 0 , 1 , 3 , 2 )) del tmp16 tmp24 = np . copy ( v . ooov ) * - 1 tmp24 += einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp23 tmp18 = einsum ( f . oo , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp7 = einsum ( t1 , ( 0 , 1 ), v . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp12 = einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 1 , 0 , 4 , 3 )) * - 1 del tmp11 tmp22 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp21 tmp20 = einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp19 tmp9 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp8 = einsum ( f . vv , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp3 = np . copy ( f . ov ) tmp3 += einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp6 = np . copy ( f . oo ) tmp6 += tmp4 del tmp4 tmp6 += einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp6 += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 0 , 2 , 3 ), ( 4 , 1 )) * - 0.5 del tmp5 tmp1 = np . copy ( np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 ))) * - 1 tmp1 += np . transpose ( tmp0 , ( 0 , 2 , 1 , 3 )) * - 1 del tmp0 tmp2 = np . copy ( t2 ) * 0.5 tmp2 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) t2new = einsum ( t1 , ( 0 , 1 ), tmp7 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp7 t2new += v . oovv t2new += einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) t2new += np . transpose ( tmp8 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp8 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp8 t2new += np . transpose ( tmp9 , ( 0 , 1 , 3 , 2 )) t2new += np . transpose ( tmp9 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp9 t2new += tmp12 * - 1 t2new += np . transpose ( tmp12 , ( 0 , 1 , 3 , 2 )) del tmp12 t2new += tmp17 t2new += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp17 t2new += np . transpose ( tmp18 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp18 , ( 1 , 0 , 3 , 2 )) del tmp18 t2new += tmp20 t2new += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp20 t2new += tmp22 t2new += np . transpose ( tmp22 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp22 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp22 , ( 1 , 0 , 3 , 2 )) del tmp22 t2new += einsum ( t1 , ( 0 , 1 ), tmp24 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp24 t1new = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) t1new += f . ov t1new += einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) * - 1 t1new += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * 0.5 del tmp1 t1new += einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 4 , 2 , 3 ), ( 4 , 1 )) del tmp2 t1new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 1 , 3 ), ( 0 , 2 )) del tmp3 t1new += einsum ( t1 , ( 0 , 1 ), tmp6 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp6 return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.update_lams","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:13.717326.","title":"update_lams"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.update_lams--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.update_lams--returns","text":"l1new : array Updated L1 residuals. l2new : array Updated L2 residuals. Source code in ebcc/codegen/GCC2.py 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 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-17T18:50:13.717326. 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 )) tmp4 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp10 = np . copy ( v . ooov ) tmp10 += np . transpose ( tmp5 , ( 2 , 1 , 0 , 3 )) * 0.5 tmp1 = einsum ( t1 , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp7 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp6 = np . copy ( np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 ))) * - 1 tmp6 += np . transpose ( tmp5 , ( 0 , 2 , 1 , 3 )) * - 1 tmp23 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp34 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp34 += tmp4 tmp18 = einsum ( t1 , ( 0 , 1 ), l1 , ( 1 , 2 ), ( 2 , 0 )) tmp25 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp41 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp19 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp11 = einsum ( t1 , ( 0 , 1 ), tmp10 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) del tmp10 tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp2 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp46 = einsum ( tmp7 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp27 = einsum ( f . vv , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp28 = einsum ( tmp7 , ( 0 , 1 ), tmp1 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp39 = einsum ( l1 , ( 0 , 1 ), tmp6 , ( 1 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 0 )) tmp38 = einsum ( tmp23 , ( 0 , 1 ), l2 , ( 2 , 0 , 3 , 4 ), ( 3 , 4 , 2 , 1 )) tmp37 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), f . ov , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp33 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp35 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp34 , ( 3 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 0 )) del tmp34 tmp43 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp44 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp25 , ( 4 , 3 ), ( 2 , 4 , 0 , 1 )) tmp42 = einsum ( tmp41 , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) del tmp41 tmp30 = einsum ( f . oo , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp31 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), l1 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) tmp20 = np . copy ( tmp18 ) * 2 tmp20 += tmp19 tmp12 = np . copy ( v . oooo ) * - 0.5 tmp12 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) * - 0.25 tmp12 += np . transpose ( tmp11 , ( 1 , 0 , 3 , 2 )) * - 1 tmp9 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) tmp9 += np . transpose ( tmp4 , ( 0 , 1 , 3 , 2 )) * - 0.5 tmp8 = np . copy ( f . ov ) tmp8 += tmp7 tmp15 = np . copy ( np . transpose ( tmp0 , ( 1 , 0 , 3 , 2 ))) * - 0.5 tmp15 += np . transpose ( tmp2 , ( 0 , 1 , 3 , 2 )) tmp48 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 del tmp5 tmp47 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp46 , ( 3 , 4 ), ( 2 , 4 , 0 , 1 )) del tmp46 tmp49 = np . copy ( v . oooo ) * 0.5 tmp49 += np . transpose ( tmp11 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp11 tmp29 = np . copy ( np . transpose ( tmp27 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp27 tmp29 += tmp28 del tmp28 tmp40 = np . copy ( tmp37 ) * - 1 del tmp37 tmp40 += tmp38 del tmp38 tmp40 += np . transpose ( tmp39 , ( 1 , 0 , 3 , 2 )) del tmp39 tmp36 = einsum ( tmp7 , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) del tmp7 tmp36 += tmp33 del tmp33 tmp36 += np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 )) del tmp35 tmp45 = np . copy ( np . transpose ( tmp42 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp42 tmp45 += np . transpose ( tmp43 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp43 tmp45 += np . transpose ( tmp44 , ( 0 , 1 , 3 , 2 )) del tmp44 tmp32 = np . copy ( np . transpose ( tmp30 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp30 tmp32 += np . transpose ( tmp31 , ( 0 , 1 , 3 , 2 )) del tmp31 tmp14 = np . copy ( v . ovvv ) tmp14 += einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 1 tmp22 = np . copy ( tmp18 ) del tmp18 tmp22 += tmp19 * 0.5 del tmp19 tmp21 = np . copy ( t1 ) * - 1 tmp21 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), l1 , ( 3 , 1 ), ( 0 , 2 )) * - 1 tmp21 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) * 0.5 tmp21 += einsum ( tmp20 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * 0.5 tmp13 = np . copy ( np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 ))) * - 0.5 tmp13 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 5 , 2 , 3 ), ( 4 , 0 , 1 , 5 )) * - 0.25 tmp13 += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 2 , 4 , 0 , 5 )) del tmp6 tmp13 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp8 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) * 0.5 tmp13 += einsum ( t1 , ( 0 , 1 ), tmp9 , ( 2 , 3 , 1 , 4 ), ( 3 , 2 , 0 , 4 )) * - 1 del tmp9 tmp13 += einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) * - 1 del tmp12 tmp16 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l1 , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) tmp16 += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * - 2 tmp16 += einsum ( t1 , ( 0 , 1 ), tmp15 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 1 del tmp15 tmp17 = einsum ( t1 , ( 0 , 1 ), l1 , ( 2 , 0 ), ( 2 , 1 )) tmp17 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * 0.5 tmp24 = np . copy ( f . vv ) tmp24 += tmp23 * - 1 del tmp23 tmp3 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp26 = np . copy ( f . oo ) * 2 tmp26 += np . transpose ( tmp25 , ( 1 , 0 )) * 2 del tmp25 tmp26 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp26 += einsum ( tmp8 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) * 2 l2new = einsum ( l2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) * 0.5 l2new += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) l2new += np . transpose ( v . oovv , ( 2 , 3 , 0 , 1 )) l2new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 5 , 1 , 0 ), ( 2 , 3 , 5 , 4 )) * 0.5 l2new += np . transpose ( tmp29 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp29 , ( 3 , 2 , 0 , 1 )) del tmp29 l2new += np . transpose ( tmp32 , ( 2 , 3 , 0 , 1 )) l2new += np . transpose ( tmp32 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp32 l2new += np . transpose ( tmp36 , ( 2 , 3 , 0 , 1 )) l2new += np . transpose ( tmp36 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp36 , ( 2 , 3 , 1 , 0 )) * - 1 l2new += np . transpose ( tmp36 , ( 3 , 2 , 1 , 0 )) del tmp36 l2new += np . transpose ( tmp40 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp40 , ( 3 , 2 , 0 , 1 )) del tmp40 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 ( l1 , ( 0 , 1 ), f . ov , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * - 1 l2new += einsum ( f . ov , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) l2new += np . transpose ( tmp45 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp45 , ( 3 , 2 , 1 , 0 )) del tmp45 l2new += np . transpose ( tmp47 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp47 , ( 2 , 3 , 1 , 0 )) del tmp47 l2new += np . transpose ( tmp48 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp48 , ( 3 , 2 , 0 , 1 )) l2new += np . transpose ( tmp48 , ( 2 , 3 , 1 , 0 )) l2new += np . transpose ( tmp48 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp48 l2new += einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp49 l1new = einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 0 , 3 , 2 ), ( 1 , 4 )) * 0.25 del tmp0 l1new += einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 2 , 0 , 1 ), ( 3 , 4 )) * - 0.5 del tmp2 l1new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 2 , 0 , 1 ), ( 3 , 4 )) * - 1 l1new += np . transpose ( f . ov , ( 1 , 0 )) l1new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), l1 , ( 1 , 2 ), ( 3 , 0 )) * - 1 l1new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 2 , 4 , 3 ), ( 4 , 0 )) * - 1 del tmp3 l1new += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 2 , 3 , 4 ), ( 4 , 0 )) del tmp4 , tmp1 l1new += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 1 , 2 ), ( 4 , 0 )) del tmp13 l1new += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 4 , 0 ), ( 1 , 4 )) * - 0.5 del tmp14 l1new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 0 , 1 , 3 ), ( 2 , 4 )) * 0.5 del tmp16 l1new += einsum ( tmp17 , ( 0 , 1 ), v . ovvv , ( 2 , 0 , 3 , 1 ), ( 3 , 2 )) del tmp17 l1new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp21 , ( 1 , 3 ), ( 2 , 0 )) * - 1 del tmp21 l1new += einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp22 , ( 2 , 1 ), ( 3 , 0 )) del tmp22 l1new += einsum ( l1 , ( 0 , 1 ), tmp24 , ( 0 , 2 ), ( 2 , 1 )) del tmp24 l1new += einsum ( tmp26 , ( 0 , 1 ), l1 , ( 2 , 0 ), ( 2 , 1 )) * - 0.5 del tmp26 l1new += einsum ( tmp8 , ( 0 , 1 ), tmp20 , ( 2 , 0 ), ( 1 , 2 )) * - 0.5 del tmp20 , tmp8 return { f \"l1new\" : l1new , f \"l2new\" : l2new }","title":"Returns"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.make_rdm1_f","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:14.148775.","title":"make_rdm1_f"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.make_rdm1_f--parameters","text":"l1 : array L1 amplitudes. l2 : array L2 amplitudes. t1 : array T1 amplitudes. t2 : array T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.make_rdm1_f--returns","text":"rdm1 : array One-particle reduced density matrix. Source code in ebcc/codegen/GCC2.py 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 def make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:14.148775. 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 ]), ) tmp0 = einsum ( t1 , ( 0 , 1 ), l1 , ( 1 , 2 ), ( 2 , 0 )) tmp1 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp3 = np . copy ( tmp0 ) tmp3 += tmp1 * 0.5 tmp2 = einsum ( t1 , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) rdm1 . vv = einsum ( t1 , ( 0 , 1 ), l1 , ( 2 , 0 ), ( 2 , 1 )) rdm1 . vv += einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * 0.5 rdm1 . vo = np . copy ( l1 ) rdm1 . ov = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) * - 0.5 del tmp2 rdm1 . ov += einsum ( t2 , ( 0 , 1 , 2 , 3 ), l1 , ( 3 , 1 ), ( 0 , 2 )) rdm1 . ov += t1 rdm1 . ov += einsum ( t1 , ( 0 , 1 ), tmp3 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp3 rdm1 . oo = np . copy ( np . transpose ( tmp0 , ( 1 , 0 ))) * - 1 del tmp0 rdm1 . oo += delta . oo del delta rdm1 . oo += np . transpose ( tmp1 , ( 1 , 0 )) * - 0.5 del tmp1 rdm1 = np . block ([[ rdm1 . oo , rdm1 . ov ], [ rdm1 . vo , rdm1 . vv ]]) return rdm1","title":"Returns"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.make_rdm2_f","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:20.811122.","title":"make_rdm2_f"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.make_rdm2_f--parameters","text":"l1 : array L1 amplitudes. l2 : array L2 amplitudes. t1 : array T1 amplitudes. t2 : array T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.make_rdm2_f--returns","text":"rdm2 : array Two-particle reduced density matrix. Source code in ebcc/codegen/GCC2.py 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 def make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:20.811122. 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 ( t1 , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp3 = einsum ( t1 , ( 0 , 1 ), l1 , ( 1 , 2 ), ( 2 , 0 )) tmp4 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp21 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp2 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp6 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp10 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l1 , ( 3 , 1 ), ( 0 , 2 )) tmp11 = einsum ( t1 , ( 0 , 1 ), tmp3 , ( 0 , 2 ), ( 2 , 1 )) tmp5 = einsum ( l1 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp14 = np . copy ( tmp3 ) * 2 tmp14 += tmp4 tmp30 = einsum ( t1 , ( 0 , 1 ), l1 , ( 2 , 0 ), ( 2 , 1 )) tmp25 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp29 = einsum ( t1 , ( 0 , 1 ), tmp1 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp36 = einsum ( t1 , ( 0 , 1 ), tmp21 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp13 = np . copy ( np . transpose ( tmp0 , ( 1 , 0 , 3 , 2 ))) * - 0.5 tmp13 += np . transpose ( tmp2 , ( 0 , 1 , 3 , 2 )) tmp18 = einsum ( t1 , ( 0 , 1 ), tmp6 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp12 = np . copy ( tmp10 ) tmp12 += tmp11 * - 1 del tmp11 tmp20 = einsum ( t1 , ( 0 , 1 ), tmp5 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp22 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp8 = einsum ( t1 , ( 0 , 1 ), tmp4 , ( 0 , 2 ), ( 2 , 1 )) tmp7 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) 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 )) tmp31 = np . copy ( tmp30 ) tmp31 += tmp25 * 0.5 tmp35 = einsum ( l1 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) tmp34 = einsum ( t1 , ( 0 , 1 ), tmp29 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp33 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 1 , 0 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) * - 1 tmp37 = np . copy ( tmp36 ) tmp37 += einsum ( tmp25 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 0.5 tmp32 = np . copy ( tmp30 ) * 2 tmp32 += tmp25 tmp28 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) * - 2 tmp24 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) tmp19 = np . copy ( tmp18 ) del tmp18 tmp19 += einsum ( tmp12 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 tmp26 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp25 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp25 tmp23 = np . copy ( tmp20 ) del tmp20 tmp23 += tmp22 del tmp22 tmp9 = np . copy ( tmp7 ) tmp9 += tmp8 del tmp8 tmp17 = np . copy ( np . transpose ( tmp0 , ( 1 , 0 , 3 , 2 ))) * - 1 tmp17 += np . transpose ( tmp2 , ( 0 , 1 , 3 , 2 )) * 2 tmp16 = np . copy ( tmp10 ) * - 1 del tmp10 tmp16 += tmp7 * 0.5 del tmp7 tmp16 += tmp15 del tmp15 rdm2 . vvvv = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) * 0.5 rdm2 . vvvv += einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) rdm2 . vvvo = np . copy ( np . transpose ( tmp38 , ( 2 , 1 , 3 , 0 ))) rdm2 . vvov = np . copy ( np . transpose ( tmp38 , ( 2 , 1 , 0 , 3 ))) * - 1 del tmp38 rdm2 . vovv = np . copy ( np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 ))) * 0.5 rdm2 . vovv += np . transpose ( tmp34 , ( 1 , 0 , 3 , 2 )) rdm2 . vovv += np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 )) rdm2 . vovv += np . transpose ( tmp36 , ( 1 , 0 , 2 , 3 )) rdm2 . vovv += np . transpose ( tmp36 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp36 rdm2 . vovv += einsum ( t1 , ( 0 , 1 ), tmp31 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . vovv += einsum ( t1 , ( 0 , 1 ), tmp31 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . ovvv = np . copy ( np . transpose ( tmp33 , ( 0 , 1 , 3 , 2 ))) * - 0.5 del tmp33 rdm2 . ovvv += np . transpose ( tmp34 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp34 rdm2 . ovvv += np . transpose ( tmp35 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp35 rdm2 . ovvv += tmp37 * - 1 rdm2 . ovvv += np . transpose ( tmp37 , ( 0 , 1 , 3 , 2 )) del tmp37 rdm2 . ovvv += einsum ( tmp30 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . ovvv += einsum ( tmp30 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 del tmp30 rdm2 . vvoo = np . copy ( l2 ) rdm2 . vovo = np . copy ( np . transpose ( tmp21 , ( 2 , 1 , 3 , 0 ))) * - 1 rdm2 . vovo += np . transpose ( tmp29 , ( 2 , 1 , 3 , 0 )) rdm2 . vovo += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . vovo += einsum ( delta . oo , ( 0 , 1 ), tmp32 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 0.5 rdm2 . voov = np . copy ( np . transpose ( tmp21 , ( 2 , 1 , 0 , 3 ))) rdm2 . voov += np . transpose ( tmp29 , ( 2 , 1 , 0 , 3 )) * - 1 rdm2 . voov += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . voov += einsum ( delta . oo , ( 0 , 1 ), tmp31 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . ovvo = np . copy ( np . transpose ( tmp21 , ( 1 , 2 , 3 , 0 ))) rdm2 . ovvo += np . transpose ( tmp29 , ( 1 , 2 , 3 , 0 )) * - 1 rdm2 . ovvo += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . ovvo += einsum ( delta . oo , ( 0 , 1 ), tmp32 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 0.5 del tmp32 rdm2 . ovov = np . copy ( np . transpose ( tmp21 , ( 1 , 2 , 0 , 3 ))) * - 1 del tmp21 rdm2 . ovov += np . transpose ( tmp29 , ( 1 , 2 , 0 , 3 )) del tmp29 rdm2 . ovov += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . ovov += einsum ( delta . oo , ( 0 , 1 ), tmp31 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) del tmp31 rdm2 . oovv = np . copy ( t2 ) rdm2 . oovv += tmp19 * - 1 rdm2 . oovv += np . transpose ( tmp19 , ( 0 , 1 , 3 , 2 )) rdm2 . oovv += np . transpose ( tmp19 , ( 1 , 0 , 2 , 3 )) rdm2 . oovv += np . transpose ( tmp19 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp19 rdm2 . oovv += tmp23 rdm2 . oovv += np . transpose ( tmp23 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp23 rdm2 . oovv += np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . oovv += np . transpose ( tmp24 , ( 1 , 0 , 3 , 2 )) del tmp24 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 . oovv += tmp26 * - 0.5 rdm2 . oovv += np . transpose ( tmp26 , ( 0 , 1 , 3 , 2 )) * 0.5 del tmp26 rdm2 . oovv += np . transpose ( tmp27 , ( 0 , 1 , 3 , 2 )) * 0.5 rdm2 . oovv += np . transpose ( tmp27 , ( 1 , 0 , 3 , 2 )) * - 0.5 del tmp27 rdm2 . oovv += einsum ( tmp9 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 0.5 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), tmp9 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 0.5 rdm2 . oovv += einsum ( tmp9 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 0.5 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), tmp9 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 0.5 rdm2 . oovv += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp13 , ( 0 , 1 , 4 , 5 ), ( 5 , 4 , 2 , 3 )) * 0.5 rdm2 . oovv += einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * 0.5 del tmp28 rdm2 . vooo = np . copy ( np . transpose ( tmp1 , ( 3 , 2 , 1 , 0 ))) rdm2 . vooo += einsum ( l1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . vooo += einsum ( delta . oo , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . ovoo = np . copy ( np . transpose ( tmp1 , ( 2 , 3 , 1 , 0 ))) * - 1 del tmp1 rdm2 . ovoo += einsum ( l1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . ovoo += einsum ( delta . oo , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . oovo = np . copy ( np . transpose ( tmp5 , ( 2 , 1 , 3 , 0 ))) rdm2 . oovo += einsum ( tmp3 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) rdm2 . oovo += np . transpose ( tmp6 , ( 1 , 2 , 3 , 0 )) rdm2 . oovo += np . transpose ( tmp6 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . oovo += einsum ( tmp4 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 0.5 rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * 0.5 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 . oovo += einsum ( delta . oo , ( 0 , 1 ), tmp16 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), tmp16 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) del tmp16 rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), tmp17 , ( 0 , 2 , 3 , 4 ), ( 4 , 3 , 1 , 2 )) * 0.5 del tmp17 rdm2 . ooov = np . copy ( np . transpose ( tmp5 , ( 2 , 1 , 0 , 3 ))) * - 1 del tmp5 rdm2 . ooov += einsum ( tmp3 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . ooov += np . transpose ( tmp6 , ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . ooov += np . transpose ( tmp6 , ( 2 , 1 , 0 , 3 )) del tmp6 rdm2 . ooov += einsum ( tmp4 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * 0.5 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 0.5 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 . ooov += einsum ( tmp9 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 0.5 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp9 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 0.5 del tmp9 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp12 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . ooov += einsum ( tmp12 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp12 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), tmp13 , ( 0 , 2 , 3 , 4 ), ( 4 , 3 , 2 , 1 )) * - 1 del tmp13 rdm2 . oooo = np . copy ( np . transpose ( tmp0 , ( 3 , 2 , 1 , 0 ))) * 0.5 del tmp0 rdm2 . oooo += np . transpose ( tmp2 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) rdm2 . oooo += einsum ( tmp3 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 del tmp3 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 . oooo += einsum ( tmp4 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 0.5 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * 0.5 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * 0.5 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 0.5 del tmp4 , 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 = np . transpose ( rdm2 , ( 0 , 2 , 1 , 3 )) return rdm2","title":"Returns"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_matvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:24.502529.","title":"hbar_matvec_ip_intermediates"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_matvec_ip_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_matvec_ip_intermediates--returns","text":"tmp0 : array tmp1 : array tmp11 : array tmp12 : array tmp13 : array tmp15 : array tmp16 : array tmp18 : array tmp19 : array tmp2 : array tmp21 : array tmp22 : array tmp23 : array tmp3 : array tmp4 : array tmp5 : array tmp7 : array tmp8 : array Source code in ebcc/codegen/GCC2.py 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 def hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:24.502529. 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 tmp18 : array tmp19 : array tmp2 : array tmp21 : array tmp22 : array tmp23 : array tmp3 : array tmp4 : array tmp5 : array tmp7 : array tmp8 : array \"\"\" tmp0 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp2 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp23 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp22 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp21 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 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 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) tmp16 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp15 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp13 = einsum ( t1 , ( 0 , 1 ), tmp0 , ( 0 , 2 ), ( 2 , 1 )) tmp12 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp11 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp8 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp7 = einsum ( t1 , ( 0 , 1 ), f . oo , ( 2 , 0 ), ( 2 , 1 )) tmp5 = einsum ( tmp2 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp3 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp1 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp11\" : tmp11 , f \"tmp12\" : tmp12 , f \"tmp13\" : tmp13 , f \"tmp15\" : tmp15 , f \"tmp16\" : tmp16 , f \"tmp18\" : tmp18 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp23\" : tmp23 , f \"tmp3\" : tmp3 , f \"tmp4\" : tmp4 , f \"tmp5\" : tmp5 , f \"tmp7\" : tmp7 , f \"tmp8\" : tmp8 }","title":"Returns"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_matvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:24.512259.","title":"hbar_matvec_ip"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_matvec_ip--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_matvec_ip--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GCC2.py 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 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-17T18:50:24.512259. 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\" ] tmp5 = np . copy ( f . oo ) tmp5 += ints . tmp0 tmp6 = einsum ( r2 , ( 0 , 1 , 2 ), tmp5 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp5 tmp4 = einsum ( ints . tmp16 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 ,), ( 0 , 2 , 3 )) del ints . tmp16 tmp10 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 1 ), ( 4 , 0 , 3 )) tmp9 = einsum ( ints . tmp23 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 3 ), ( 0 , 4 , 2 )) del ints . tmp23 tmp8 = einsum ( ints . tmp4 , ( 0 , 1 ), r2 , ( 2 , 1 , 3 ), ( 0 , 2 , 3 )) tmp3 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 3 ), ( 2 ,)) tmp13 = np . copy ( np . transpose ( ints . tmp22 , ( 1 , 0 ))) * 0.5 del ints . tmp22 tmp13 += f . vv * - 1 tmp13 += einsum ( t1 , ( 0 , 1 ), f . ov , ( 0 , 2 ), ( 2 , 1 )) tmp7 = np . copy ( tmp4 ) del tmp4 tmp7 += np . transpose ( tmp6 , ( 1 , 0 , 2 )) * - 1 del tmp6 tmp15 = np . copy ( ints . tmp13 ) del ints . tmp13 tmp15 += ints . tmp15 * 0.5 del ints . tmp15 tmp15 += ints . tmp18 * 0.5 del ints . tmp18 tmp15 += ints . tmp7 del ints . tmp7 tmp15 += f . ov * - 1 tmp15 += ints . tmp11 * - 1 del ints . tmp11 tmp15 += ints . tmp8 * - 1 del ints . tmp8 tmp12 = np . copy ( ints . tmp21 ) * - 0.5 del ints . tmp21 tmp12 += v . oooo * - 1 tmp14 = np . copy ( np . transpose ( ints . tmp19 , ( 2 , 0 , 1 , 3 ))) * 0.5 del ints . tmp19 tmp14 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) tmp14 += ints . tmp12 * - 1 del ints . tmp12 tmp11 = np . copy ( tmp8 ) * - 0.5 del tmp8 tmp11 += tmp9 del tmp9 tmp11 += tmp10 del tmp10 tmp1 = np . copy ( f . ov ) tmp1 += ints . tmp2 del ints . tmp2 tmp0 = np . copy ( ints . tmp3 ) del ints . tmp3 tmp0 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp2 = np . copy ( f . oo ) * 2 tmp2 += ints . tmp0 * 2 del ints . tmp0 tmp2 += ints . tmp1 * 2 del ints . tmp1 tmp2 += np . transpose ( ints . tmp4 , ( 1 , 0 )) del ints . tmp4 tmp2 += np . transpose ( ints . tmp5 , ( 1 , 0 )) * 2 del ints . tmp5 r2new = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 3 ,), ( 0 , 1 , 2 )) * 0.5 del tmp3 r2new += tmp7 r2new += np . transpose ( tmp7 , ( 1 , 0 , 2 )) * - 1 del tmp7 r2new += tmp11 * - 1 r2new += np . transpose ( tmp11 , ( 1 , 0 , 2 )) del tmp11 r2new += einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 2 , 4 ), ( 0 , 1 , 4 )) * 0.5 del tmp12 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp13 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp13 r2new += einsum ( r1 , ( 0 ,), tmp14 , ( 0 , 1 , 2 , 3 ), ( 2 , 1 , 3 )) del tmp14 r2new += einsum ( r1 , ( 0 ,), tmp15 , ( 1 , 2 ), ( 0 , 1 , 2 )) * - 1 r2new += einsum ( r1 , ( 0 ,), tmp15 , ( 1 , 2 ), ( 1 , 0 , 2 )) del tmp15 r1new = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 2 , 3 ), ( 0 ,)) * 0.5 del tmp0 r1new += einsum ( r2 , ( 0 , 1 , 2 ), tmp1 , ( 1 , 2 ), ( 0 ,)) del tmp1 r1new += einsum ( r1 , ( 0 ,), tmp2 , ( 0 , 1 ), ( 1 ,)) * - 0.5 del tmp2 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_matvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:28.432229.","title":"hbar_matvec_ea_intermediates"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_matvec_ea_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_matvec_ea_intermediates--returns","text":"tmp1 : array tmp12 : array tmp13 : array tmp15 : array tmp16 : array tmp17 : array tmp18 : array tmp2 : array tmp20 : array tmp22 : array tmp4 : array tmp7 : array tmp8 : array tmp9 : array Source code in ebcc/codegen/GCC2.py 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 def hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:28.432229. 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 tmp16 : array tmp17 : array tmp18 : array tmp2 : array tmp20 : array tmp22 : array tmp4 : array tmp7 : array tmp8 : array tmp9 : array \"\"\" tmp9 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp22 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp20 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp18 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) tmp16 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 5 , 0 , 1 ), ( 4 , 2 , 3 , 5 )) tmp15 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp13 = einsum ( t1 , ( 0 , 1 ), tmp9 , ( 0 , 2 ), ( 2 , 1 )) tmp12 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp8 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp7 = einsum ( t1 , ( 0 , 1 ), f . oo , ( 2 , 0 ), ( 2 , 1 )) tmp4 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp2 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp1 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) return { f \"tmp1\" : tmp1 , f \"tmp12\" : tmp12 , f \"tmp13\" : tmp13 , f \"tmp15\" : tmp15 , f \"tmp16\" : tmp16 , f \"tmp17\" : tmp17 , f \"tmp18\" : tmp18 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp22\" : tmp22 , f \"tmp4\" : tmp4 , f \"tmp7\" : tmp7 , f \"tmp8\" : tmp8 , f \"tmp9\" : tmp9 }","title":"Returns"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_matvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:28.440402.","title":"hbar_matvec_ea"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_matvec_ea--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_matvec_ea--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GCC2.py 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 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-17T18:50:28.440402. 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 = np . copy ( f . vv ) * 2 tmp10 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * - 1 tmp8 = einsum ( r2 , ( 0 , 1 , 2 ), f . ov , ( 3 , 1 ), ( 3 , 2 , 0 )) tmp11 = einsum ( tmp10 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 0.5 del tmp10 tmp6 = einsum ( ints . tmp22 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 3 , 1 ), ( 0 , 2 , 4 )) del ints . tmp22 tmp9 = einsum ( t1 , ( 0 , 1 ), tmp8 , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) del tmp8 tmp7 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 2 ), ( 0 , 4 , 3 )) tmp2 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 1 ), ( 0 ,)) tmp0 = np . copy ( f . ov ) tmp0 += ints . tmp2 del ints . tmp2 tmp13 = np . copy ( ints . tmp16 ) * 0.5 del ints . tmp16 tmp13 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) tmp5 = einsum ( r1 , ( 0 ,), ints . tmp18 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) del ints . tmp18 tmp4 = einsum ( r2 , ( 0 , 1 , 2 ), v . oovv , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp12 = np . copy ( tmp6 ) del tmp6 tmp12 += tmp7 del tmp7 tmp12 += tmp9 del tmp9 tmp12 += np . transpose ( tmp11 , ( 0 , 2 , 1 )) * - 1 del tmp11 tmp14 = np . copy ( f . oo ) tmp14 += np . transpose ( ints . tmp20 , ( 1 , 0 )) * 0.5 del ints . tmp20 tmp14 += ints . tmp9 del ints . tmp9 tmp15 = einsum ( r1 , ( 0 ,), f . ov , ( 1 , 0 ), ( 1 ,)) * 2 tmp15 += tmp2 tmp16 = np . copy ( ints . tmp13 ) del ints . tmp13 tmp16 += ints . tmp15 * 0.5 del ints . tmp15 tmp16 += ints . tmp17 * 0.5 del ints . tmp17 tmp16 += ints . tmp7 del ints . tmp7 tmp16 += f . ov * - 1 tmp16 += ints . tmp12 * - 1 del ints . tmp12 tmp16 += ints . tmp8 * - 1 del ints . tmp8 tmp3 = np . copy ( tmp2 ) * 0.5 del tmp2 tmp3 += einsum ( r1 , ( 0 ,), tmp0 , ( 1 , 0 ), ( 1 ,)) tmp1 = np . copy ( np . transpose ( ints . tmp1 , ( 1 , 0 ))) del ints . tmp1 tmp1 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * 0.5 del ints . tmp4 tmp1 += f . vv * - 1 r2new = einsum ( r2 , ( 0 , 1 , 2 ), v . vvvv , ( 3 , 4 , 0 , 1 ), ( 3 , 4 , 2 )) * 0.5 r2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 1 , 0 ), ( 2 , 3 , 4 )) * - 0.25 del tmp4 r2new += np . transpose ( tmp5 , ( 1 , 2 , 0 )) r2new += np . transpose ( tmp5 , ( 2 , 1 , 0 )) * - 1 del tmp5 r2new += np . transpose ( tmp12 , ( 1 , 2 , 0 )) * - 1 r2new += np . transpose ( tmp12 , ( 2 , 1 , 0 )) del tmp12 r2new += einsum ( r1 , ( 0 ,), tmp13 , ( 1 , 2 , 3 , 0 ), ( 3 , 2 , 1 )) del tmp13 r2new += einsum ( tmp14 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp14 r2new += einsum ( tmp15 , ( 0 ,), t2 , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) * 0.5 del tmp15 r2new += einsum ( r1 , ( 0 ,), tmp16 , ( 1 , 2 ), ( 0 , 2 , 1 )) * - 1 r2new += einsum ( r1 , ( 0 ,), tmp16 , ( 1 , 2 ), ( 2 , 0 , 1 )) del tmp16 r1new = einsum ( r2 , ( 0 , 1 , 2 ), v . ovvv , ( 2 , 3 , 0 , 1 ), ( 3 ,)) * - 0.5 r1new += einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 2 , 1 ), ( 0 ,)) del tmp0 r1new += einsum ( r1 , ( 0 ,), tmp1 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp1 r1new += einsum ( tmp3 , ( 0 ,), t1 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp3 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_matvec_ee_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:37.210046.","title":"hbar_matvec_ee_intermediates"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_matvec_ee_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_matvec_ee_intermediates--returns","text":"tmp0 : array tmp10 : array tmp12 : array tmp17 : array tmp18 : array tmp2 : array tmp22 : array tmp23 : array tmp26 : array tmp30 : array tmp31 : array tmp33 : array tmp36 : array tmp37 : array tmp39 : array tmp4 : array tmp44 : array tmp46 : array tmp5 : array tmp6 : array tmp7 : array tmp9 : array Source code in ebcc/codegen/GCC2.py 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 def hbar_matvec_ee_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:37.210046. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp10 : array tmp12 : array tmp17 : array tmp18 : array tmp2 : array tmp22 : array tmp23 : array tmp26 : array tmp30 : array tmp31 : array tmp33 : array tmp36 : array tmp37 : array tmp39 : array tmp4 : array tmp44 : array tmp46 : array tmp5 : array tmp6 : array tmp7 : array tmp9 : array \"\"\" tmp0 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp6 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp46 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp44 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp39 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp37 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) tmp36 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) tmp33 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 5 , 0 , 1 ), ( 4 , 2 , 3 , 5 )) tmp31 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp30 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp26 = einsum ( t1 , ( 0 , 1 ), tmp0 , ( 0 , 2 ), ( 2 , 1 )) tmp23 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp22 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp18 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp17 = einsum ( t1 , ( 0 , 1 ), f . oo , ( 2 , 0 ), ( 2 , 1 )) tmp12 = einsum ( tmp6 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp10 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp9 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp7 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp5 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp4 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp2 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) return { f \"tmp0\" : tmp0 , f \"tmp10\" : tmp10 , 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 \"tmp31\" : tmp31 , f \"tmp33\" : tmp33 , f \"tmp36\" : tmp36 , f \"tmp37\" : tmp37 , f \"tmp39\" : tmp39 , f \"tmp4\" : tmp4 , f \"tmp44\" : tmp44 , f \"tmp46\" : tmp46 , f \"tmp5\" : tmp5 , f \"tmp6\" : tmp6 , f \"tmp7\" : tmp7 , f \"tmp9\" : tmp9 }","title":"Returns"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_matvec_ee","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:37.224185.","title":"hbar_matvec_ee"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_matvec_ee--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_matvec_ee--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GCC2.py 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 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-17T18:50:37.224185. 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\" ] tmp27 = einsum ( r1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp6 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 2 , 3 ), ( 4 , 0 )) tmp15 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 3 ), ( 0 , 2 )) tmp28 = np . copy ( np . transpose ( tmp27 , ( 1 , 0 ))) del tmp27 tmp28 += tmp6 * 0.5 tmp25 = np . copy ( f . oo ) tmp25 += ints . tmp0 tmp25 += np . transpose ( ints . tmp9 , ( 1 , 0 )) * 0.5 tmp34 = einsum ( f . ov , ( 0 , 1 ), r2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp36 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp16 = einsum ( tmp15 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 del tmp15 tmp14 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp10 = einsum ( ints . tmp39 , ( 0 , 1 , 2 , 3 ), r1 , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) del ints . tmp39 tmp11 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp9 = einsum ( ints . tmp31 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del ints . tmp31 tmp12 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), ints . tmp46 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del ints . tmp46 tmp21 = einsum ( ints . tmp37 , ( 0 , 1 , 2 , 3 ), r1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) del ints . tmp37 tmp22 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), ints . tmp10 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp29 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp28 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 1 del tmp28 tmp24 = einsum ( r1 , ( 0 , 1 ), ints . tmp33 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) del ints . tmp33 tmp26 = einsum ( tmp25 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp25 tmp33 = einsum ( ints . tmp23 , ( 0 , 1 , 2 , 3 ), r1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del ints . tmp23 tmp35 = einsum ( t1 , ( 0 , 1 ), tmp34 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp34 tmp37 = einsum ( tmp36 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 1 del tmp36 tmp19 = einsum ( f . vv , ( 0 , 1 ), r2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp18 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), r1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp31 = einsum ( r1 , ( 0 , 1 ), v . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp1 = np . copy ( ints . tmp7 ) del ints . tmp7 tmp1 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp2 = np . copy ( f . ov ) tmp2 += ints . tmp6 del ints . tmp6 tmp17 = np . copy ( np . transpose ( tmp14 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp14 tmp17 += np . transpose ( tmp16 , ( 0 , 1 , 3 , 2 )) del tmp16 tmp13 = np . copy ( tmp9 ) del tmp9 tmp13 += tmp10 del tmp10 tmp13 += tmp11 del tmp11 tmp13 += tmp12 * - 1 del tmp12 tmp40 = np . copy ( ints . tmp17 ) del ints . tmp17 tmp40 += ints . tmp26 del ints . tmp26 tmp40 += ints . tmp30 * 0.5 del ints . tmp30 tmp40 += ints . tmp36 * 0.5 del ints . tmp36 tmp40 += f . ov * - 1 tmp40 += ints . tmp18 * - 1 del ints . tmp18 tmp40 += ints . tmp22 * - 1 del ints . tmp22 tmp23 = np . copy ( tmp21 ) * 0.5 del tmp21 tmp23 += np . transpose ( tmp22 , ( 1 , 0 , 2 , 3 )) * - 0.5 del tmp22 tmp30 = np . copy ( np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 ))) * - 0.5 del tmp24 tmp30 += np . transpose ( tmp26 , ( 0 , 1 , 3 , 2 )) del tmp26 tmp30 += np . transpose ( tmp29 , ( 0 , 1 , 3 , 2 )) del tmp29 tmp38 = np . copy ( tmp33 ) del tmp33 tmp38 += tmp35 del tmp35 tmp38 += tmp37 * 0.5 del tmp37 tmp20 = np . copy ( np . transpose ( tmp18 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp18 tmp20 += np . transpose ( tmp19 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp19 tmp32 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp31 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 1 del tmp31 tmp39 = np . copy ( ints . tmp44 ) * - 0.5 del ints . tmp44 tmp39 += v . oooo * - 1 tmp8 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp3 = np . copy ( ints . tmp5 ) del ints . tmp5 tmp3 += np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 )) * - 1 tmp5 = np . copy ( f . oo ) tmp5 += ints . tmp0 del ints . tmp0 tmp5 += np . transpose ( ints . tmp12 , ( 1 , 0 )) del ints . tmp12 tmp5 += ints . tmp2 del ints . tmp2 tmp5 += np . transpose ( ints . tmp9 , ( 1 , 0 )) * 0.5 del ints . tmp9 tmp4 = np . copy ( np . transpose ( ints . tmp10 , ( 1 , 0 ))) * 0.5 del ints . tmp10 tmp4 += np . transpose ( ints . tmp4 , ( 1 , 0 )) del ints . tmp4 tmp4 += f . vv * - 1 tmp7 = np . copy ( np . transpose ( tmp6 , ( 1 , 0 ))) * 0.5 del tmp6 tmp7 += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 3 ), ( 2 , 0 )) tmp7 += einsum ( r1 , ( 0 , 1 ), tmp2 , ( 2 , 1 ), ( 2 , 0 )) tmp0 = einsum ( r1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) r2new = einsum ( r2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) * 0.5 r2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp8 , ( 4 , 5 , 1 , 0 ), ( 5 , 4 , 2 , 3 )) * 0.25 del tmp8 r2new += tmp13 * - 1 r2new += np . transpose ( tmp13 , ( 0 , 1 , 3 , 2 )) r2new += np . transpose ( tmp13 , ( 1 , 0 , 2 , 3 )) r2new += np . transpose ( tmp13 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp13 r2new += tmp17 * - 1 r2new += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) del tmp17 r2new += tmp20 * - 1 r2new += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) del tmp20 r2new += np . transpose ( tmp23 , ( 1 , 0 , 2 , 3 )) * - 1 r2new += np . transpose ( tmp23 , ( 1 , 0 , 3 , 2 )) del tmp23 r2new += tmp30 r2new += np . transpose ( tmp30 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp30 r2new += tmp32 r2new += np . transpose ( tmp32 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp32 r2new += tmp38 * - 1 r2new += np . transpose ( tmp38 , ( 0 , 1 , 3 , 2 )) del tmp38 r2new += einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) * - 0.5 del tmp39 r2new += einsum ( r1 , ( 0 , 1 ), tmp40 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 r2new += einsum ( tmp40 , ( 0 , 1 ), r1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 r2new += einsum ( r1 , ( 0 , 1 ), tmp40 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) r2new += einsum ( r1 , ( 0 , 1 ), tmp40 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) del tmp40 r1new = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 1 , 3 ), ( 0 , 2 )) del tmp0 r1new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) * - 0.5 r1new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 0.5 del tmp1 r1new += einsum ( tmp2 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp2 r1new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 3 ), ( 0 , 2 )) del tmp3 r1new += einsum ( r1 , ( 0 , 1 ), tmp4 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp4 r1new += einsum ( tmp5 , ( 0 , 1 ), r1 , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp5 r1new += einsum ( t1 , ( 0 , 1 ), tmp7 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp7 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_lmatvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:42.593963.","title":"hbar_lmatvec_ip_intermediates"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_lmatvec_ip_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_lmatvec_ip_intermediates--returns","text":"tmp0 : array tmp1 : array tmp10 : array tmp11 : array tmp12 : array tmp13 : array tmp14 : array tmp16 : array tmp17 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp24 : array tmp25 : array tmp27 : array tmp29 : array tmp3 : array tmp31 : array tmp32 : array tmp34 : array tmp4 : array tmp40 : array tmp41 : array tmp5 : array tmp6 : array tmp7 : array tmp8 : array tmp9 : array Source code in ebcc/codegen/GCC2.py 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 def hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:42.593963. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp10 : array tmp11 : array tmp12 : array tmp13 : array tmp14 : array tmp16 : array tmp17 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp24 : array tmp25 : array tmp27 : array tmp29 : array tmp3 : array tmp31 : array tmp32 : array tmp34 : array tmp4 : array tmp40 : array tmp41 : array tmp5 : array tmp6 : array tmp7 : array tmp8 : array tmp9 : array \"\"\" tmp18 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp15 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp33 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp24 = einsum ( tmp15 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp30 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp28 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp26 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp6 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp22 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp10 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp0 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp41 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp40 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp34 = einsum ( t1 , ( 0 , 1 ), tmp33 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) del tmp33 tmp32 = einsum ( t1 , ( 0 , 1 ), tmp24 , ( 2 , 0 ), ( 2 , 1 )) tmp31 = einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) del tmp30 tmp29 = einsum ( tmp28 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) del tmp28 tmp27 = einsum ( t1 , ( 0 , 1 ), tmp26 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp26 tmp25 = einsum ( t1 , ( 0 , 1 ), tmp6 , ( 0 , 2 ), ( 2 , 1 )) tmp23 = einsum ( t1 , ( 0 , 1 ), tmp22 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp21 = einsum ( t1 , ( 0 , 1 ), tmp10 , ( 2 , 0 ), ( 2 , 1 )) tmp20 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) * - 1 tmp19 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) del tmp18 tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) * - 1 tmp16 = einsum ( tmp15 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp15 tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) tmp12 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp11 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp9 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp8 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp7 = einsum ( t1 , ( 0 , 1 ), v . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp5 = einsum ( t1 , ( 0 , 1 ), tmp0 , ( 0 , 2 ), ( 2 , 1 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp3 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp2 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( t1 , ( 0 , 1 ), f . oo , ( 2 , 0 ), ( 2 , 1 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp11\" : tmp11 , f \"tmp12\" : tmp12 , f \"tmp13\" : tmp13 , f \"tmp14\" : tmp14 , f \"tmp16\" : tmp16 , f \"tmp17\" : tmp17 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp23\" : tmp23 , f \"tmp24\" : tmp24 , f \"tmp25\" : tmp25 , f \"tmp27\" : tmp27 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp31\" : tmp31 , f \"tmp32\" : tmp32 , f \"tmp34\" : tmp34 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp41\" : tmp41 , f \"tmp5\" : tmp5 , f \"tmp6\" : tmp6 , f \"tmp7\" : tmp7 , f \"tmp8\" : tmp8 , f \"tmp9\" : tmp9 }","title":"Returns"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_lmatvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:42.611286.","title":"hbar_lmatvec_ip"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_lmatvec_ip--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_lmatvec_ip--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GCC2.py 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:42.611286. 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\" ] tmp5 = einsum ( ints . tmp41 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 0 , 2 ), ( 1 , 4 , 3 )) del ints . tmp41 tmp6 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 1 ), ( 4 , 0 , 3 )) tmp4 = einsum ( ints . tmp10 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 1 , 2 , 3 )) tmp8 = np . copy ( f . oo ) tmp8 += np . transpose ( ints . tmp0 , ( 1 , 0 )) tmp3 = einsum ( r2 , ( 0 , 1 , 2 ), t2 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) tmp7 = einsum ( r1 , ( 0 ,), f . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) tmp7 += tmp4 * - 0.5 del tmp4 tmp7 += tmp5 del tmp5 tmp7 += tmp6 del tmp6 tmp11 = np . copy ( ints . tmp40 ) * 0.5 del ints . tmp40 tmp11 += f . vv * - 1 tmp11 += einsum ( f . ov , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 2 , 1 )) tmp10 = np . copy ( ints . tmp22 ) * - 0.5 del ints . tmp22 tmp10 += v . oooo * - 1 tmp9 = einsum ( tmp8 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 1 , 2 , 3 )) * - 1 del tmp8 tmp1 = np . copy ( ints . tmp11 ) del ints . tmp11 tmp1 += ints . tmp13 del ints . tmp13 tmp1 += ints . tmp19 del ints . tmp19 tmp1 += ints . tmp1 * 2 del ints . tmp1 tmp1 += ints . tmp21 del ints . tmp21 tmp1 += ints . tmp25 * 2 del ints . tmp25 tmp1 += ints . tmp29 * 2 del ints . tmp29 tmp1 += ints . tmp32 * 2 del ints . tmp32 tmp1 += ints . tmp5 * 2 del ints . tmp5 tmp1 += ints . tmp8 * 2 del ints . tmp8 tmp1 += f . ov * - 2 tmp1 += ints . tmp16 * - 2 del ints . tmp16 tmp1 += ints . tmp2 * - 2 del ints . tmp2 tmp1 += ints . tmp3 * - 2 del ints . tmp3 tmp0 = np . copy ( ints . tmp12 ) del ints . tmp12 tmp0 += np . transpose ( ints . tmp23 , ( 0 , 2 , 1 , 3 )) * 0.25 del ints . tmp23 tmp0 += np . transpose ( ints . tmp34 , ( 0 , 2 , 1 , 3 )) * 0.5 del ints . tmp34 tmp0 += np . transpose ( ints . tmp4 , ( 1 , 0 , 2 , 3 )) * 0.5 del ints . tmp4 tmp0 += np . transpose ( ints . tmp7 , ( 0 , 2 , 1 , 3 )) * 0.5 del ints . tmp7 tmp0 += ints . tmp9 del ints . tmp9 tmp0 += np . transpose ( ints . tmp14 , ( 0 , 2 , 1 , 3 )) * - 0.25 del ints . tmp14 tmp0 += np . transpose ( ints . tmp17 , ( 0 , 2 , 1 , 3 )) * - 0.5 del ints . tmp17 tmp0 += np . transpose ( ints . tmp20 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp20 tmp0 += ints . tmp27 * - 1 del ints . tmp27 tmp0 += np . transpose ( ints . tmp31 , ( 0 , 2 , 1 , 3 )) * - 0.5 del ints . tmp31 tmp0 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp2 = np . copy ( f . oo ) * 2 tmp2 += np . transpose ( ints . tmp0 , ( 1 , 0 )) * 2 del ints . tmp0 tmp2 += ints . tmp10 del ints . tmp10 tmp2 += ints . tmp24 * 2 del ints . tmp24 tmp2 += np . transpose ( ints . tmp6 , ( 1 , 0 )) * 2 del ints . tmp6 r2new = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp3 , ( 3 ,), ( 0 , 1 , 2 )) * 0.5 del tmp3 r2new += einsum ( r1 , ( 0 ,), v . ooov , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new += tmp7 * - 1 r2new += np . transpose ( tmp7 , ( 1 , 0 , 2 )) del tmp7 r2new += tmp9 * - 1 r2new += np . transpose ( tmp9 , ( 1 , 0 , 2 )) del tmp9 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp10 , ( 1 , 0 , 3 , 4 ), ( 3 , 4 , 2 )) * 0.5 del tmp10 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp11 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp11 r1new = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 2 , 3 ), ( 1 ,)) del tmp0 r1new += einsum ( r2 , ( 0 , 1 , 2 ), tmp1 , ( 1 , 2 ), ( 0 ,)) * - 0.5 del tmp1 r1new += einsum ( r1 , ( 0 ,), tmp2 , ( 0 , 1 ), ( 1 ,)) * - 0.5 del tmp2 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_lmatvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:48.225403.","title":"hbar_lmatvec_ea_intermediates"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_lmatvec_ea_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_lmatvec_ea_intermediates--returns","text":"tmp1 : array tmp10 : array tmp11 : array tmp12 : array tmp13 : array tmp14 : array tmp15 : array tmp16 : array tmp17 : array tmp18 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp25 : array tmp27 : array tmp28 : array tmp3 : array tmp30 : array tmp5 : array tmp6 : array tmp7 : array tmp8 : array Source code in ebcc/codegen/GCC2.py 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 def hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:48.225403. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp1 : array tmp10 : array tmp11 : array tmp12 : array tmp13 : array tmp14 : array tmp15 : array tmp16 : array tmp17 : array tmp18 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp25 : array tmp27 : array tmp28 : array tmp3 : array tmp30 : array tmp5 : array tmp6 : array tmp7 : array tmp8 : array \"\"\" tmp16 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp29 = einsum ( tmp16 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp7 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp24 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp21 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp18 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp5 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp30 = einsum ( t1 , ( 0 , 1 ), tmp29 , ( 2 , 0 ), ( 2 , 1 )) del tmp29 tmp28 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp27 = einsum ( tmp7 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp25 = einsum ( tmp24 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) del tmp24 tmp23 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp22 = einsum ( t1 , ( 0 , 1 ), tmp21 , ( 2 , 0 ), ( 2 , 1 )) tmp20 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 1 , 0 , 5 ), ( 4 , 2 , 3 , 5 )) * - 1 tmp19 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 1 , 3 ), ( 0 , 2 )) tmp15 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 5 , 0 , 1 ), ( 4 , 2 , 3 , 5 )) tmp12 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp11 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) tmp10 = einsum ( t1 , ( 0 , 1 ), v . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp8 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp6 = einsum ( t1 , ( 0 , 1 ), tmp5 , ( 0 , 2 ), ( 2 , 1 )) tmp3 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp2 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( t1 , ( 0 , 1 ), f . oo , ( 2 , 0 ), ( 2 , 1 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp11\" : tmp11 , f \"tmp12\" : tmp12 , f \"tmp13\" : tmp13 , f \"tmp14\" : tmp14 , f \"tmp15\" : tmp15 , f \"tmp16\" : tmp16 , f \"tmp17\" : tmp17 , f \"tmp18\" : tmp18 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp23\" : tmp23 , f \"tmp25\" : tmp25 , f \"tmp27\" : tmp27 , f \"tmp28\" : tmp28 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp5\" : tmp5 , f \"tmp6\" : tmp6 , f \"tmp7\" : tmp7 , f \"tmp8\" : tmp8 }","title":"Returns"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_lmatvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:48.238722.","title":"hbar_lmatvec_ea"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_lmatvec_ea--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_lmatvec_ea--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GCC2.py 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:48.238722. 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 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 0 , 2 ), ( 2 , 1 )) tmp14 = np . copy ( ints . tmp11 ) tmp14 += f . vv * - 2 tmp14 += np . transpose ( tmp13 , ( 1 , 0 )) * 2 del tmp13 tmp12 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 2 ), ( 0 , 4 , 3 )) tmp11 = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp23 , ( 2 , 3 , 1 , 4 ), ( 3 , 4 , 0 )) tmp15 = einsum ( r2 , ( 0 , 1 , 2 ), tmp14 , ( 1 , 3 ), ( 2 , 3 , 0 )) * - 0.5 del tmp14 tmp1 = einsum ( t1 , ( 0 , 1 ), r2 , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp7 = einsum ( r2 , ( 0 , 1 , 2 ), t2 , ( 3 , 2 , 0 , 1 ), ( 3 ,)) tmp17 = np . copy ( f . oo ) tmp17 += ints . tmp21 * 0.5 del ints . tmp21 tmp17 += np . transpose ( ints . tmp5 , ( 1 , 0 )) del ints . tmp5 tmp16 = einsum ( r1 , ( 0 ,), f . ov , ( 1 , 2 ), ( 1 , 2 , 0 )) tmp16 += tmp11 del tmp11 tmp16 += tmp12 del tmp12 tmp16 += tmp15 del tmp15 tmp10 = einsum ( r2 , ( 0 , 1 , 2 ), t2 , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp3 = einsum ( tmp1 , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 0 , 1 , 3 )) * - 1 tmp5 = np . copy ( ints . tmp12 ) * 0.5 del ints . tmp12 tmp5 += ints . tmp14 * 0.5 del ints . tmp14 tmp5 += ints . tmp19 * 0.5 del ints . tmp19 tmp5 += ints . tmp1 del ints . tmp1 tmp5 += ints . tmp22 * 0.5 del ints . tmp22 tmp5 += ints . tmp25 del ints . tmp25 tmp5 += ints . tmp27 del ints . tmp27 tmp5 += ints . tmp30 del ints . tmp30 tmp5 += ints . tmp6 del ints . tmp6 tmp5 += ints . tmp8 del ints . tmp8 tmp5 += f . ov * - 1 tmp5 += ints . tmp17 * - 1 del ints . tmp17 tmp5 += ints . tmp2 * - 1 del ints . tmp2 tmp5 += ints . tmp3 * - 1 del ints . tmp3 tmp6 = np . copy ( ints . tmp11 ) * 0.5 del ints . tmp11 tmp6 += ints . tmp7 del ints . tmp7 tmp6 += f . vv * - 1 tmp4 = np . copy ( ints . tmp18 ) del ints . tmp18 tmp4 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp0 = np . copy ( ints . tmp10 ) * 0.5 del ints . tmp10 tmp0 += ints . tmp15 del ints . tmp15 tmp0 += ints . tmp20 * 0.25 del ints . tmp20 tmp0 += ints . tmp13 * - 0.25 del ints . tmp13 tmp0 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) * - 0.5 tmp9 = np . copy ( f . ov ) tmp9 += ints . tmp16 del ints . tmp16 tmp8 = einsum ( r1 , ( 0 ,), t1 , ( 1 , 0 ), ( 1 ,)) tmp8 += tmp7 * 0.5 tmp2 = np . copy ( ints . tmp23 ) del ints . tmp23 tmp2 += ints . tmp28 del ints . tmp28 tmp2 += np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 )) * - 1 r2new = einsum ( r1 , ( 0 ,), v . ovvv , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) * - 1 r2new += einsum ( r2 , ( 0 , 1 , 2 ), v . vvvv , ( 3 , 4 , 0 , 1 ), ( 3 , 4 , 2 )) * 0.5 r2new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 1 , 0 ), ( 2 , 3 , 4 )) * - 0.25 del tmp10 r2new += einsum ( tmp7 , ( 0 ,), v . oovv , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) * 0.5 del tmp7 r2new += np . transpose ( tmp16 , ( 1 , 2 , 0 )) * - 1 r2new += np . transpose ( tmp16 , ( 2 , 1 , 0 )) del tmp16 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp17 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp17 r1new = einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 2 , 0 , 1 , 3 ), ( 3 ,)) del tmp0 r1new += einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 0 , 1 , 2 ), ( 3 ,)) del tmp1 , tmp2 r1new += einsum ( tmp3 , ( 0 , 1 , 2 ), tmp4 , ( 0 , 2 , 1 , 3 ), ( 3 ,)) * - 0.5 del tmp3 , tmp4 r1new += einsum ( r2 , ( 0 , 1 , 2 ), tmp5 , ( 2 , 1 ), ( 0 ,)) * - 1 del tmp5 r1new += einsum ( r1 , ( 0 ,), tmp6 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp6 r1new += einsum ( tmp8 , ( 0 ,), tmp9 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp8 , tmp9 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_lmatvec_ee_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:57.920908.","title":"hbar_lmatvec_ee_intermediates"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_lmatvec_ee_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_lmatvec_ee_intermediates--returns","text":"tmp0 : array tmp10 : array tmp11 : array tmp12 : array tmp13 : array tmp15 : array tmp16 : array tmp17 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp24 : array tmp26 : array tmp27 : array tmp28 : array tmp29 : array tmp3 : array tmp30 : array tmp31 : array tmp32 : array tmp33 : array tmp34 : array tmp35 : array tmp36 : array tmp38 : array tmp39 : array tmp4 : array tmp41 : array tmp43 : array tmp44 : array tmp45 : array tmp47 : array tmp5 : array tmp7 : array tmp8 : array tmp9 : array Source code in ebcc/codegen/GCC2.py 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 def hbar_lmatvec_ee_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:57.920908. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp10 : array tmp11 : array tmp12 : array tmp13 : array tmp15 : array tmp16 : array tmp17 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp24 : array tmp26 : array tmp27 : array tmp28 : array tmp29 : array tmp3 : array tmp30 : array tmp31 : array tmp32 : array tmp33 : array tmp34 : array tmp35 : array tmp36 : array tmp38 : array tmp39 : array tmp4 : array tmp41 : array tmp43 : array tmp44 : array tmp45 : array tmp47 : array tmp5 : array tmp7 : array tmp8 : array tmp9 : array \"\"\" tmp29 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp26 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp46 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp38 = einsum ( tmp26 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp10 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp9 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp40 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp8 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp34 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp16 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp0 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp47 = einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp46 tmp45 = einsum ( t1 , ( 0 , 1 ), tmp38 , ( 2 , 0 ), ( 2 , 1 )) tmp44 = einsum ( t1 , ( 0 , 1 ), tmp10 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp43 = einsum ( t1 , ( 0 , 1 ), tmp9 , ( 2 , 1 ), ( 0 , 2 )) tmp41 = einsum ( t1 , ( 0 , 1 ), tmp40 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp40 tmp39 = einsum ( t1 , ( 0 , 1 ), tmp8 , ( 0 , 2 ), ( 2 , 1 )) tmp36 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp35 = einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp33 = einsum ( t1 , ( 0 , 1 ), tmp16 , ( 2 , 0 ), ( 2 , 1 )) tmp32 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 4 , 1 , 0 , 5 ), ( 4 , 2 , 3 , 5 )) * - 1 tmp31 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) * - 1 tmp30 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp28 = einsum ( tmp26 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 1 tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp26 , ( 1 , 3 ), ( 0 , 2 )) tmp24 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp23 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) tmp22 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) tmp21 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 5 , 0 , 1 ), ( 4 , 2 , 3 , 5 )) tmp20 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp19 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) tmp15 = einsum ( t1 , ( 0 , 1 ), v . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp13 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp12 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp11 = einsum ( t1 , ( 0 , 1 ), v . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp7 = einsum ( t1 , ( 0 , 1 ), tmp0 , ( 0 , 2 ), ( 2 , 1 )) tmp5 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp4 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp3 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp2 = einsum ( t1 , ( 0 , 1 ), f . oo , ( 2 , 0 ), ( 2 , 1 )) return { f \"tmp0\" : tmp0 , f \"tmp10\" : tmp10 , f \"tmp11\" : tmp11 , f \"tmp12\" : tmp12 , f \"tmp13\" : tmp13 , f \"tmp15\" : tmp15 , f \"tmp16\" : tmp16 , f \"tmp17\" : tmp17 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp23\" : tmp23 , f \"tmp24\" : tmp24 , f \"tmp26\" : tmp26 , f \"tmp27\" : tmp27 , f \"tmp28\" : tmp28 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp31\" : tmp31 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp34\" : tmp34 , f \"tmp35\" : tmp35 , f \"tmp36\" : tmp36 , f \"tmp38\" : tmp38 , f \"tmp39\" : tmp39 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp43\" : tmp43 , f \"tmp44\" : tmp44 , f \"tmp45\" : tmp45 , f \"tmp47\" : tmp47 , f \"tmp5\" : tmp5 , f \"tmp7\" : tmp7 , f \"tmp8\" : tmp8 , f \"tmp9\" : tmp9 }","title":"Returns"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_lmatvec_ee","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:57.942422.","title":"hbar_lmatvec_ee"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_lmatvec_ee--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/GCC2/#ebcc.codegen.GCC2.hbar_lmatvec_ee--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GCC2.py 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 def hbar_lmatvec_ee ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:57.942422. 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\" ] tmp0 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) tmp4 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp10 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 2 , 3 ), ( 4 , 0 )) tmp26 = np . copy ( f . oo ) tmp26 += np . transpose ( ints . tmp0 , ( 1 , 0 )) tmp26 += ints . tmp16 * 0.5 tmp30 = einsum ( tmp0 , ( 0 , 1 ), v . oovv , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 1 tmp29 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), f . ov , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp19 = einsum ( f . vv , ( 0 , 1 ), r2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp18 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), r1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp25 = einsum ( tmp10 , ( 0 , 1 ), v . oovv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 tmp27 = einsum ( tmp26 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp26 tmp23 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp22 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), ints . tmp36 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) tmp9 = einsum ( t1 , ( 0 , 1 ), r1 , ( 2 , 1 ), ( 2 , 0 )) tmp17 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp16 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp31 = np . copy ( tmp29 ) del tmp29 tmp31 += tmp30 * - 0.5 del tmp30 tmp21 = einsum ( ints . tmp17 , ( 0 , 1 ), r2 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) tmp20 = np . copy ( np . transpose ( tmp18 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp18 tmp20 += np . transpose ( tmp19 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp19 tmp32 = np . copy ( ints . tmp34 ) * - 0.5 del ints . tmp34 tmp32 += v . oooo * - 1 tmp28 = np . copy ( np . transpose ( tmp25 , ( 0 , 1 , 3 , 2 ))) * 0.5 del tmp25 tmp28 += np . transpose ( tmp27 , ( 0 , 1 , 3 , 2 )) del tmp27 tmp24 = einsum ( r1 , ( 0 , 1 ), f . ov , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp24 += tmp22 del tmp22 tmp24 += tmp23 * - 1 del tmp23 tmp3 = np . copy ( ints . tmp10 ) tmp3 += ints . tmp36 del ints . tmp36 tmp3 += np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 )) * - 1 tmp13 = np . copy ( ints . tmp17 ) * 0.5 del ints . tmp17 tmp13 += ints . tmp9 del ints . tmp9 tmp13 += f . vv * - 1 tmp5 = np . copy ( ints . tmp29 ) del ints . tmp29 tmp5 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp7 = np . copy ( ints . tmp12 ) * 2 del ints . tmp12 tmp7 += ints . tmp19 del ints . tmp19 tmp7 += ints . tmp22 del ints . tmp22 tmp7 += ints . tmp2 * 2 del ints . tmp2 tmp7 += ints . tmp30 del ints . tmp30 tmp7 += ints . tmp33 del ints . tmp33 tmp7 += ints . tmp39 * 2 del ints . tmp39 tmp7 += ints . tmp43 * 2 del ints . tmp43 tmp7 += ints . tmp45 * 2 del ints . tmp45 tmp7 += ints . tmp7 * 2 del ints . tmp7 tmp7 += f . ov * - 2 tmp7 += ints . tmp27 * - 2 del ints . tmp27 tmp7 += ints . tmp3 * - 2 del ints . tmp3 tmp7 += ints . tmp4 * - 2 del ints . tmp4 tmp6 = einsum ( t1 , ( 0 , 1 ), tmp4 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp15 = np . copy ( f . ov ) tmp15 += ints . tmp26 del ints . tmp26 tmp12 = np . copy ( ints . tmp10 ) del ints . tmp10 tmp12 += np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 )) * - 1 tmp1 = np . copy ( ints . tmp15 ) * 0.5 del ints . tmp15 tmp1 += ints . tmp24 del ints . tmp24 tmp1 += ints . tmp32 * 0.25 del ints . tmp32 tmp1 += ints . tmp21 * - 0.25 del ints . tmp21 tmp1 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) * - 0.5 tmp14 = np . copy ( f . oo ) tmp14 += np . transpose ( ints . tmp0 , ( 1 , 0 )) del ints . tmp0 tmp14 += ints . tmp16 * 0.5 del ints . tmp16 tmp14 += ints . tmp38 del ints . tmp38 tmp14 += np . transpose ( ints . tmp8 , ( 1 , 0 )) del ints . tmp8 tmp11 = np . copy ( tmp9 ) del tmp9 tmp11 += tmp10 * 0.5 del tmp10 tmp8 = einsum ( r1 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp8 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) * - 0.5 tmp2 = np . copy ( ints . tmp11 ) * 0.5 del ints . tmp11 tmp2 += np . transpose ( ints . tmp13 , ( 0 , 2 , 1 , 3 )) del ints . tmp13 tmp2 += np . transpose ( ints . tmp20 , ( 0 , 2 , 1 , 3 )) del ints . tmp20 tmp2 += ints . tmp35 * 0.25 del ints . tmp35 tmp2 += ints . tmp47 * 0.5 del ints . tmp47 tmp2 += np . transpose ( ints . tmp5 , ( 1 , 2 , 0 , 3 )) * 0.5 del ints . tmp5 tmp2 += ints . tmp23 * - 0.25 del ints . tmp23 tmp2 += ints . tmp28 * - 0.5 del ints . tmp28 tmp2 += ints . tmp31 * - 1 del ints . tmp31 tmp2 += np . transpose ( ints . tmp41 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp41 tmp2 += ints . tmp44 * - 0.5 del ints . tmp44 tmp2 += v . ooov * - 0.5 r2new = einsum ( r2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) * 0.5 r2new += einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 3 , 2 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) * 0.25 del tmp16 r2new += np . transpose ( tmp17 , ( 0 , 1 , 3 , 2 )) r2new += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp17 r2new += tmp20 * - 1 r2new += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) del tmp20 r2new += np . transpose ( tmp21 , ( 1 , 0 , 2 , 3 )) * - 0.5 r2new += np . transpose ( tmp21 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp21 r2new += tmp24 r2new += np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 )) * - 1 r2new += np . transpose ( tmp24 , ( 1 , 0 , 2 , 3 )) * - 1 r2new += np . transpose ( tmp24 , ( 1 , 0 , 3 , 2 )) del tmp24 r2new += tmp28 r2new += np . transpose ( tmp28 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp28 r2new += tmp31 r2new += np . transpose ( tmp31 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp31 r2new += einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 4 , 5 ), ( 2 , 3 , 4 , 5 )) * - 0.5 del tmp32 r1new = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), tmp0 , ( 1 , 3 ), ( 0 , 2 )) * 0.5 del tmp0 r1new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 )) del tmp1 r1new += einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) del tmp2 r1new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) * - 1 del tmp4 , tmp3 r1new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 0 , 2 , 1 ), ( 4 , 3 )) * - 0.5 del tmp6 r1new += einsum ( tmp7 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * - 0.5 del tmp7 r1new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp8 , ( 1 , 3 ), ( 0 , 2 )) del tmp8 r1new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp11 , ( 0 , 2 ), ( 1 , 3 )) * - 1 del tmp5 r1new += einsum ( r1 , ( 0 , 1 ), tmp12 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp12 r1new += einsum ( r1 , ( 0 , 1 ), tmp13 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp13 r1new += einsum ( tmp14 , ( 0 , 1 ), r1 , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp14 r1new += einsum ( tmp11 , ( 0 , 1 ), tmp15 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp11 , tmp15 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/GCC3/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-09T22:17:13.999711 python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0] albert version: 0.0.0 caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py node: fv-az1487-369 system: Linux processor: x86_64 release: 6.5.0-1025-azure ebcc . codegen . GCC3 . energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T22:17:14.250252. 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. Source code in ebcc/codegen/GCC3.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:17:14.250252. 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 ( 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 ebcc . codegen . GCC3 . update_amps ( f = None , t1 = None , t2 = None , t3 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T22:17:45.411100. 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. Source code in ebcc/codegen/GCC3.py 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 def update_amps ( f = None , t1 = None , t2 = None , t3 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:17:45.411100. 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. \"\"\" tmp0 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp67 = einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp73 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 5 , 6 , 3 ), ( 4 , 0 , 1 , 6 , 5 , 2 )) tmp49 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp59 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 1 , 2 , 6 )) tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp68 = einsum ( t1 , ( 0 , 1 ), tmp67 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) del tmp67 tmp3 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp19 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t3 , ( 4 , 5 , 1 , 6 , 2 , 3 ), ( 4 , 5 , 0 , 6 )) tmp18 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp81 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp56 = einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp54 = einsum ( t1 , ( 0 , 1 ), v . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp28 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp5 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp74 = einsum ( t1 , ( 0 , 1 ), tmp73 , ( 2 , 3 , 4 , 5 , 0 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) del tmp73 tmp51 = einsum ( t1 , ( 0 , 1 ), tmp49 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) * - 1 tmp60 = einsum ( t1 , ( 0 , 1 ), tmp59 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) del tmp59 tmp69 = np . copy ( np . transpose ( tmp17 , ( 2 , 1 , 0 , 3 ))) * - 1 tmp69 += tmp68 del tmp68 tmp40 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp42 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp44 = einsum ( tmp3 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 1 tmp6 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp37 = einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 1 ), ( 0 , 2 )) tmp15 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp20 = np . copy ( np . transpose ( tmp17 , ( 0 , 2 , 1 , 3 ))) del tmp17 tmp20 += np . transpose ( tmp18 , ( 2 , 1 , 0 , 3 )) * - 0.5 del tmp18 tmp20 += np . transpose ( tmp19 , ( 2 , 1 , 0 , 3 )) * 0.5 del tmp19 tmp9 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp11 = np . copy ( t2 ) tmp11 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 tmp26 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp7 = np . copy ( t2 ) tmp7 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 tmp82 = np . copy ( f . vv ) tmp82 += tmp81 * - 1 del tmp81 tmp64 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 6 , 3 ), ( 0 , 4 , 5 , 1 , 6 , 2 )) * - 1 tmp86 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 6 , 2 , 5 )) tmp57 = einsum ( tmp56 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 6 , 3 ), ( 0 , 4 , 5 , 6 , 1 , 2 )) * - 1 del tmp56 tmp55 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp54 , ( 4 , 5 , 1 , 6 ), ( 0 , 4 , 5 , 6 , 2 , 3 )) * - 1 del tmp54 tmp77 = einsum ( t1 , ( 0 , 1 ), tmp28 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp79 = np . copy ( f . oo ) tmp79 += tmp5 tmp72 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 6 ), ( 4 , 0 , 1 , 5 , 6 , 3 )) tmp75 = einsum ( t1 , ( 0 , 1 ), tmp74 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) * - 1 del tmp74 tmp84 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp62 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 6 ), ( 1 , 0 , 4 , 5 , 6 , 3 )) * - 1 tmp61 = einsum ( t1 , ( 0 , 1 ), tmp60 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) * - 1 del tmp60 tmp70 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 6 ), ( 0 , 1 , 4 , 3 , 5 , 6 )) * - 1 del tmp69 tmp66 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 6 , 1 ), ( 4 , 5 , 0 , 6 , 2 , 3 )) tmp41 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 1 del tmp40 tmp43 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp42 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp42 tmp45 = einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp44 tmp31 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp32 = einsum ( f . vv , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp36 = einsum ( tmp6 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 tmp38 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 1 del tmp37 tmp35 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp16 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) del tmp15 tmp21 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp20 tmp14 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . ovvv , ( 2 , 6 , 4 , 5 ), ( 0 , 1 , 3 , 6 )) tmp47 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp10 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp9 tmp12 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp11 , ( 2 , 4 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) del tmp11 tmp25 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t3 , ( 4 , 2 , 1 , 5 , 6 , 3 ), ( 0 , 4 , 5 , 6 )) tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp26 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) del tmp26 tmp24 = einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t3 , ( 4 , 2 , 3 , 5 , 6 , 1 ), ( 4 , 0 , 5 , 6 )) tmp23 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) tmp29 = einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), tmp28 , ( 4 , 0 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) * 0.5 del tmp28 tmp83 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp82 , ( 5 , 6 ), ( 0 , 1 , 2 , 6 , 3 , 4 )) del tmp82 t3new = np . copy ( np . transpose ( tmp83 , ( 1 , 2 , 0 , 4 , 5 , 3 ))) t3new += np . transpose ( tmp83 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp83 , ( 1 , 2 , 0 , 3 , 4 , 5 )) del tmp83 tmp65 = einsum ( t1 , ( 0 , 1 ), tmp64 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp64 t3new += np . transpose ( tmp65 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new += np . transpose ( tmp65 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp65 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp65 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new += np . transpose ( tmp65 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new += np . transpose ( tmp65 , ( 1 , 2 , 0 , 3 , 4 , 5 )) * - 1 t3new += np . transpose ( tmp65 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp65 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new += np . transpose ( tmp65 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new += np . transpose ( tmp65 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp65 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp65 , ( 1 , 0 , 2 , 3 , 4 , 5 )) t3new += np . transpose ( tmp65 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp65 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new += np . transpose ( tmp65 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new += np . transpose ( tmp65 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp65 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp65 , ( 0 , 2 , 1 , 3 , 4 , 5 )) del tmp65 tmp87 = einsum ( t1 , ( 0 , 1 ), tmp86 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp86 t3new += np . transpose ( tmp87 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp87 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new += np . transpose ( tmp87 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new += np . transpose ( tmp87 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp87 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp87 , ( 2 , 1 , 0 , 3 , 4 , 5 )) t3new += np . transpose ( tmp87 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp87 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new += np . transpose ( tmp87 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new += np . transpose ( tmp87 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp87 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp87 , ( 0 , 2 , 1 , 3 , 4 , 5 )) t3new += np . transpose ( tmp87 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new += np . transpose ( tmp87 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp87 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp87 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new += np . transpose ( tmp87 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new += tmp87 * - 1 del tmp87 tmp58 = np . copy ( np . transpose ( tmp55 , ( 0 , 2 , 1 , 3 , 5 , 4 ))) del tmp55 tmp58 += np . transpose ( tmp57 , ( 0 , 2 , 1 , 3 , 5 , 4 )) del tmp57 t3new += np . transpose ( tmp58 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new += np . transpose ( tmp58 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp58 , ( 2 , 1 , 0 , 3 , 4 , 5 )) t3new += np . transpose ( tmp58 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp58 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new += np . transpose ( tmp58 , ( 2 , 0 , 1 , 3 , 4 , 5 )) * - 1 t3new += np . transpose ( tmp58 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp58 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new += tmp58 * - 1 del tmp58 tmp78 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp77 , ( 4 , 1 , 5 , 6 ), ( 4 , 0 , 5 , 6 , 2 , 3 )) * - 1 del tmp77 t3new += np . transpose ( tmp78 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp78 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new += np . transpose ( tmp78 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp78 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new += np . transpose ( tmp78 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp78 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new += np . transpose ( tmp78 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new += np . transpose ( tmp78 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp78 , ( 2 , 0 , 1 , 3 , 5 , 4 )) t3new += np . transpose ( tmp78 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp78 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new += np . transpose ( tmp78 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp78 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp78 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new += np . transpose ( tmp78 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp78 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new += np . transpose ( tmp78 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp78 , ( 0 , 1 , 2 , 3 , 5 , 4 )) del tmp78 tmp80 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp79 , ( 2 , 6 ), ( 6 , 0 , 1 , 3 , 4 , 5 )) del tmp79 t3new += np . transpose ( tmp80 , ( 2 , 1 , 0 , 3 , 4 , 5 )) t3new += np . transpose ( tmp80 , ( 2 , 0 , 1 , 3 , 4 , 5 )) * - 1 t3new += tmp80 * - 1 del tmp80 tmp76 = np . copy ( np . transpose ( tmp72 , ( 0 , 2 , 1 , 4 , 3 , 5 ))) del tmp72 tmp76 += np . transpose ( tmp75 , ( 0 , 2 , 1 , 4 , 3 , 5 )) del tmp75 t3new += np . transpose ( tmp76 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new += np . transpose ( tmp76 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp76 , ( 2 , 1 , 0 , 3 , 4 , 5 )) t3new += np . transpose ( tmp76 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp76 , ( 2 , 0 , 1 , 3 , 5 , 4 )) t3new += np . transpose ( tmp76 , ( 2 , 0 , 1 , 3 , 4 , 5 )) * - 1 t3new += np . transpose ( tmp76 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp76 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new += tmp76 * - 1 del tmp76 tmp85 = einsum ( tmp84 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 6 ), ( 0 , 4 , 2 , 5 , 6 , 3 )) del tmp84 t3new += np . transpose ( tmp85 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp85 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new += np . transpose ( tmp85 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp85 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new += np . transpose ( tmp85 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp85 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new += np . transpose ( tmp85 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new += np . transpose ( tmp85 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp85 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new += np . transpose ( tmp85 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp85 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new += np . transpose ( tmp85 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp85 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp85 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new += np . transpose ( tmp85 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp85 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new += np . transpose ( tmp85 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp85 , ( 0 , 1 , 2 , 4 , 3 , 5 )) del tmp85 tmp63 = np . copy ( np . transpose ( tmp61 , ( 0 , 1 , 2 , 4 , 3 , 5 ))) * - 1 del tmp61 tmp63 += np . transpose ( tmp62 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * - 1 del tmp62 t3new += np . transpose ( tmp63 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new += np . transpose ( tmp63 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp63 , ( 2 , 1 , 0 , 3 , 4 , 5 )) t3new += np . transpose ( tmp63 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new += np . transpose ( tmp63 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp63 , ( 0 , 2 , 1 , 3 , 4 , 5 )) t3new += np . transpose ( tmp63 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp63 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new += tmp63 * - 1 del tmp63 tmp71 = np . copy ( np . transpose ( tmp66 , ( 0 , 1 , 2 , 3 , 5 , 4 ))) * - 1 del tmp66 tmp71 += np . transpose ( tmp70 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * - 1 del tmp70 t3new += np . transpose ( tmp71 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new += np . transpose ( tmp71 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp71 , ( 2 , 1 , 0 , 3 , 4 , 5 )) t3new += np . transpose ( tmp71 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new += np . transpose ( tmp71 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp71 , ( 0 , 2 , 1 , 3 , 4 , 5 )) t3new += np . transpose ( tmp71 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp71 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new += tmp71 * - 1 del tmp71 tmp46 = np . copy ( tmp41 ) del tmp41 tmp46 += tmp43 del tmp43 tmp46 += tmp45 * - 1 del tmp45 t2new = np . copy ( np . transpose ( tmp46 , ( 0 , 1 , 3 , 2 ))) * - 1 t2new += tmp46 del tmp46 tmp33 = np . copy ( np . transpose ( tmp31 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp31 tmp33 += np . transpose ( tmp32 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp32 t2new += np . transpose ( tmp33 , ( 0 , 1 , 3 , 2 )) t2new += tmp33 * - 1 del tmp33 tmp53 = np . copy ( v . oooo ) tmp53 += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 1 , 0 )) * - 0.5 t2new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), tmp53 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 3 , 2 )) * - 0.5 del tmp53 tmp39 = np . copy ( np . transpose ( tmp35 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp35 tmp39 += np . transpose ( tmp36 , ( 0 , 1 , 3 , 2 )) del tmp36 tmp39 += np . transpose ( tmp38 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp38 t2new += np . transpose ( tmp39 , ( 1 , 0 , 2 , 3 )) t2new += tmp39 * - 1 del tmp39 tmp50 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * - 1 del tmp49 t2new += np . transpose ( tmp50 , ( 1 , 0 , 3 , 2 )) t2new += np . transpose ( tmp50 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp50 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += tmp50 del tmp50 tmp2 = np . copy ( t2 ) * 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 tmp4 = np . copy ( f . ov ) tmp4 += tmp3 del tmp3 t2new += einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp4 , ( 2 , 5 ), ( 0 , 1 , 3 , 4 )) t1new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 3 ), ( 0 , 2 )) del tmp4 tmp22 = np . copy ( tmp14 ) * 0.5 del tmp14 tmp22 += tmp16 * 0.5 del tmp16 tmp22 += np . transpose ( tmp21 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp21 t2new += np . transpose ( tmp22 , ( 0 , 1 , 3 , 2 )) t2new += tmp22 * - 1 del tmp22 tmp52 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 1 , 0 , 4 , 3 )) * - 1 del tmp51 t2new += np . transpose ( tmp52 , ( 0 , 1 , 3 , 2 )) t2new += tmp52 * - 1 del tmp52 tmp48 = einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp47 t2new += np . transpose ( tmp48 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp48 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp48 , ( 0 , 1 , 3 , 2 )) t2new += tmp48 * - 1 del tmp48 tmp34 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) t2new += np . transpose ( tmp34 , ( 1 , 0 , 3 , 2 )) t2new += np . transpose ( tmp34 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp34 tmp13 = np . copy ( tmp10 ) del tmp10 tmp13 += tmp12 * - 1 del tmp12 t2new += np . transpose ( tmp13 , ( 1 , 0 , 3 , 2 )) t2new += np . transpose ( tmp13 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp13 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += tmp13 del tmp13 tmp30 = np . copy ( np . transpose ( tmp23 , ( 0 , 1 , 3 , 2 ))) del tmp23 tmp30 += np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 )) * - 0.5 del tmp24 tmp30 += np . transpose ( tmp25 , ( 0 , 1 , 3 , 2 )) * 0.5 del tmp25 tmp30 += np . transpose ( tmp27 , ( 0 , 1 , 3 , 2 )) * - 0.5 del tmp27 tmp30 += np . transpose ( tmp29 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp29 t2new += np . transpose ( tmp30 , ( 1 , 0 , 2 , 3 )) t2new += tmp30 * - 1 del tmp30 tmp8 = np . copy ( f . oo ) 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 tmp1 = np . copy ( np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 ))) * - 1 tmp1 += np . transpose ( tmp0 , ( 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 t1new += einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . oovv , ( 1 , 2 , 4 , 5 ), ( 0 , 3 )) * 0.25 t1new += f . ov t1new += einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) * - 1 t1new += einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) t2new += v . oovv return { f \"t1new\" : t1new , f \"t2new\" : t2new , f \"t3new\" : t3new }","title":"GCC3"},{"location":"reference/codegen/GCC3/#ebcc.codegen.GCC3.energy","text":"Code generated by albert 0.0.0 on 2024-08-09T22:17:14.250252.","title":"energy"},{"location":"reference/codegen/GCC3/#ebcc.codegen.GCC3.energy--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCC3/#ebcc.codegen.GCC3.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/GCC3.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:17:14.250252. 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 ( 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","title":"Returns"},{"location":"reference/codegen/GCC3/#ebcc.codegen.GCC3.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-09T22:17:45.411100.","title":"update_amps"},{"location":"reference/codegen/GCC3/#ebcc.codegen.GCC3.update_amps--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. t3 : array T3 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCC3/#ebcc.codegen.GCC3.update_amps--returns","text":"t1new : array Updated T1 residuals. t2new : array Updated T2 residuals. t3new : array Updated T3 residuals. Source code in ebcc/codegen/GCC3.py 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 def update_amps ( f = None , t1 = None , t2 = None , t3 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:17:45.411100. 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. \"\"\" tmp0 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp67 = einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp73 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 5 , 6 , 3 ), ( 4 , 0 , 1 , 6 , 5 , 2 )) tmp49 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp59 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 1 , 2 , 6 )) tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp68 = einsum ( t1 , ( 0 , 1 ), tmp67 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) del tmp67 tmp3 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp19 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t3 , ( 4 , 5 , 1 , 6 , 2 , 3 ), ( 4 , 5 , 0 , 6 )) tmp18 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp81 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp56 = einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp54 = einsum ( t1 , ( 0 , 1 ), v . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp28 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp5 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp74 = einsum ( t1 , ( 0 , 1 ), tmp73 , ( 2 , 3 , 4 , 5 , 0 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) del tmp73 tmp51 = einsum ( t1 , ( 0 , 1 ), tmp49 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) * - 1 tmp60 = einsum ( t1 , ( 0 , 1 ), tmp59 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) del tmp59 tmp69 = np . copy ( np . transpose ( tmp17 , ( 2 , 1 , 0 , 3 ))) * - 1 tmp69 += tmp68 del tmp68 tmp40 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp42 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp44 = einsum ( tmp3 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 1 tmp6 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp37 = einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 1 ), ( 0 , 2 )) tmp15 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp20 = np . copy ( np . transpose ( tmp17 , ( 0 , 2 , 1 , 3 ))) del tmp17 tmp20 += np . transpose ( tmp18 , ( 2 , 1 , 0 , 3 )) * - 0.5 del tmp18 tmp20 += np . transpose ( tmp19 , ( 2 , 1 , 0 , 3 )) * 0.5 del tmp19 tmp9 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp11 = np . copy ( t2 ) tmp11 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 tmp26 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp7 = np . copy ( t2 ) tmp7 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 tmp82 = np . copy ( f . vv ) tmp82 += tmp81 * - 1 del tmp81 tmp64 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 6 , 3 ), ( 0 , 4 , 5 , 1 , 6 , 2 )) * - 1 tmp86 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 6 , 2 , 5 )) tmp57 = einsum ( tmp56 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 6 , 3 ), ( 0 , 4 , 5 , 6 , 1 , 2 )) * - 1 del tmp56 tmp55 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp54 , ( 4 , 5 , 1 , 6 ), ( 0 , 4 , 5 , 6 , 2 , 3 )) * - 1 del tmp54 tmp77 = einsum ( t1 , ( 0 , 1 ), tmp28 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp79 = np . copy ( f . oo ) tmp79 += tmp5 tmp72 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 6 ), ( 4 , 0 , 1 , 5 , 6 , 3 )) tmp75 = einsum ( t1 , ( 0 , 1 ), tmp74 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) * - 1 del tmp74 tmp84 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp62 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 6 ), ( 1 , 0 , 4 , 5 , 6 , 3 )) * - 1 tmp61 = einsum ( t1 , ( 0 , 1 ), tmp60 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) * - 1 del tmp60 tmp70 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 6 ), ( 0 , 1 , 4 , 3 , 5 , 6 )) * - 1 del tmp69 tmp66 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 6 , 1 ), ( 4 , 5 , 0 , 6 , 2 , 3 )) tmp41 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 1 del tmp40 tmp43 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp42 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp42 tmp45 = einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp44 tmp31 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp32 = einsum ( f . vv , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp36 = einsum ( tmp6 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 tmp38 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 1 del tmp37 tmp35 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp16 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) del tmp15 tmp21 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp20 tmp14 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . ovvv , ( 2 , 6 , 4 , 5 ), ( 0 , 1 , 3 , 6 )) tmp47 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp10 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp9 tmp12 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp11 , ( 2 , 4 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) del tmp11 tmp25 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t3 , ( 4 , 2 , 1 , 5 , 6 , 3 ), ( 0 , 4 , 5 , 6 )) tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp26 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) del tmp26 tmp24 = einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t3 , ( 4 , 2 , 3 , 5 , 6 , 1 ), ( 4 , 0 , 5 , 6 )) tmp23 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) tmp29 = einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), tmp28 , ( 4 , 0 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) * 0.5 del tmp28 tmp83 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp82 , ( 5 , 6 ), ( 0 , 1 , 2 , 6 , 3 , 4 )) del tmp82 t3new = np . copy ( np . transpose ( tmp83 , ( 1 , 2 , 0 , 4 , 5 , 3 ))) t3new += np . transpose ( tmp83 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp83 , ( 1 , 2 , 0 , 3 , 4 , 5 )) del tmp83 tmp65 = einsum ( t1 , ( 0 , 1 ), tmp64 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp64 t3new += np . transpose ( tmp65 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new += np . transpose ( tmp65 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp65 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp65 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new += np . transpose ( tmp65 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new += np . transpose ( tmp65 , ( 1 , 2 , 0 , 3 , 4 , 5 )) * - 1 t3new += np . transpose ( tmp65 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp65 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new += np . transpose ( tmp65 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new += np . transpose ( tmp65 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp65 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp65 , ( 1 , 0 , 2 , 3 , 4 , 5 )) t3new += np . transpose ( tmp65 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp65 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new += np . transpose ( tmp65 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new += np . transpose ( tmp65 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp65 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp65 , ( 0 , 2 , 1 , 3 , 4 , 5 )) del tmp65 tmp87 = einsum ( t1 , ( 0 , 1 ), tmp86 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp86 t3new += np . transpose ( tmp87 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp87 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new += np . transpose ( tmp87 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new += np . transpose ( tmp87 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp87 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp87 , ( 2 , 1 , 0 , 3 , 4 , 5 )) t3new += np . transpose ( tmp87 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp87 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new += np . transpose ( tmp87 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new += np . transpose ( tmp87 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp87 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp87 , ( 0 , 2 , 1 , 3 , 4 , 5 )) t3new += np . transpose ( tmp87 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new += np . transpose ( tmp87 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp87 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp87 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new += np . transpose ( tmp87 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new += tmp87 * - 1 del tmp87 tmp58 = np . copy ( np . transpose ( tmp55 , ( 0 , 2 , 1 , 3 , 5 , 4 ))) del tmp55 tmp58 += np . transpose ( tmp57 , ( 0 , 2 , 1 , 3 , 5 , 4 )) del tmp57 t3new += np . transpose ( tmp58 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new += np . transpose ( tmp58 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp58 , ( 2 , 1 , 0 , 3 , 4 , 5 )) t3new += np . transpose ( tmp58 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp58 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new += np . transpose ( tmp58 , ( 2 , 0 , 1 , 3 , 4 , 5 )) * - 1 t3new += np . transpose ( tmp58 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp58 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new += tmp58 * - 1 del tmp58 tmp78 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp77 , ( 4 , 1 , 5 , 6 ), ( 4 , 0 , 5 , 6 , 2 , 3 )) * - 1 del tmp77 t3new += np . transpose ( tmp78 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp78 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new += np . transpose ( tmp78 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp78 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new += np . transpose ( tmp78 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp78 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new += np . transpose ( tmp78 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new += np . transpose ( tmp78 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp78 , ( 2 , 0 , 1 , 3 , 5 , 4 )) t3new += np . transpose ( tmp78 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp78 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new += np . transpose ( tmp78 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp78 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp78 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new += np . transpose ( tmp78 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp78 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new += np . transpose ( tmp78 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp78 , ( 0 , 1 , 2 , 3 , 5 , 4 )) del tmp78 tmp80 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp79 , ( 2 , 6 ), ( 6 , 0 , 1 , 3 , 4 , 5 )) del tmp79 t3new += np . transpose ( tmp80 , ( 2 , 1 , 0 , 3 , 4 , 5 )) t3new += np . transpose ( tmp80 , ( 2 , 0 , 1 , 3 , 4 , 5 )) * - 1 t3new += tmp80 * - 1 del tmp80 tmp76 = np . copy ( np . transpose ( tmp72 , ( 0 , 2 , 1 , 4 , 3 , 5 ))) del tmp72 tmp76 += np . transpose ( tmp75 , ( 0 , 2 , 1 , 4 , 3 , 5 )) del tmp75 t3new += np . transpose ( tmp76 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new += np . transpose ( tmp76 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp76 , ( 2 , 1 , 0 , 3 , 4 , 5 )) t3new += np . transpose ( tmp76 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp76 , ( 2 , 0 , 1 , 3 , 5 , 4 )) t3new += np . transpose ( tmp76 , ( 2 , 0 , 1 , 3 , 4 , 5 )) * - 1 t3new += np . transpose ( tmp76 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp76 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new += tmp76 * - 1 del tmp76 tmp85 = einsum ( tmp84 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 6 ), ( 0 , 4 , 2 , 5 , 6 , 3 )) del tmp84 t3new += np . transpose ( tmp85 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp85 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new += np . transpose ( tmp85 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp85 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new += np . transpose ( tmp85 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp85 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new += np . transpose ( tmp85 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new += np . transpose ( tmp85 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp85 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new += np . transpose ( tmp85 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp85 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new += np . transpose ( tmp85 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp85 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp85 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new += np . transpose ( tmp85 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp85 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new += np . transpose ( tmp85 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp85 , ( 0 , 1 , 2 , 4 , 3 , 5 )) del tmp85 tmp63 = np . copy ( np . transpose ( tmp61 , ( 0 , 1 , 2 , 4 , 3 , 5 ))) * - 1 del tmp61 tmp63 += np . transpose ( tmp62 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * - 1 del tmp62 t3new += np . transpose ( tmp63 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new += np . transpose ( tmp63 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp63 , ( 2 , 1 , 0 , 3 , 4 , 5 )) t3new += np . transpose ( tmp63 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new += np . transpose ( tmp63 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp63 , ( 0 , 2 , 1 , 3 , 4 , 5 )) t3new += np . transpose ( tmp63 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp63 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new += tmp63 * - 1 del tmp63 tmp71 = np . copy ( np . transpose ( tmp66 , ( 0 , 1 , 2 , 3 , 5 , 4 ))) * - 1 del tmp66 tmp71 += np . transpose ( tmp70 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * - 1 del tmp70 t3new += np . transpose ( tmp71 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new += np . transpose ( tmp71 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp71 , ( 2 , 1 , 0 , 3 , 4 , 5 )) t3new += np . transpose ( tmp71 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new += np . transpose ( tmp71 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp71 , ( 0 , 2 , 1 , 3 , 4 , 5 )) t3new += np . transpose ( tmp71 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp71 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new += tmp71 * - 1 del tmp71 tmp46 = np . copy ( tmp41 ) del tmp41 tmp46 += tmp43 del tmp43 tmp46 += tmp45 * - 1 del tmp45 t2new = np . copy ( np . transpose ( tmp46 , ( 0 , 1 , 3 , 2 ))) * - 1 t2new += tmp46 del tmp46 tmp33 = np . copy ( np . transpose ( tmp31 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp31 tmp33 += np . transpose ( tmp32 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp32 t2new += np . transpose ( tmp33 , ( 0 , 1 , 3 , 2 )) t2new += tmp33 * - 1 del tmp33 tmp53 = np . copy ( v . oooo ) tmp53 += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 1 , 0 )) * - 0.5 t2new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), tmp53 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 3 , 2 )) * - 0.5 del tmp53 tmp39 = np . copy ( np . transpose ( tmp35 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp35 tmp39 += np . transpose ( tmp36 , ( 0 , 1 , 3 , 2 )) del tmp36 tmp39 += np . transpose ( tmp38 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp38 t2new += np . transpose ( tmp39 , ( 1 , 0 , 2 , 3 )) t2new += tmp39 * - 1 del tmp39 tmp50 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * - 1 del tmp49 t2new += np . transpose ( tmp50 , ( 1 , 0 , 3 , 2 )) t2new += np . transpose ( tmp50 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp50 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += tmp50 del tmp50 tmp2 = np . copy ( t2 ) * 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 tmp4 = np . copy ( f . ov ) tmp4 += tmp3 del tmp3 t2new += einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp4 , ( 2 , 5 ), ( 0 , 1 , 3 , 4 )) t1new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 3 ), ( 0 , 2 )) del tmp4 tmp22 = np . copy ( tmp14 ) * 0.5 del tmp14 tmp22 += tmp16 * 0.5 del tmp16 tmp22 += np . transpose ( tmp21 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp21 t2new += np . transpose ( tmp22 , ( 0 , 1 , 3 , 2 )) t2new += tmp22 * - 1 del tmp22 tmp52 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 1 , 0 , 4 , 3 )) * - 1 del tmp51 t2new += np . transpose ( tmp52 , ( 0 , 1 , 3 , 2 )) t2new += tmp52 * - 1 del tmp52 tmp48 = einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp47 t2new += np . transpose ( tmp48 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp48 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp48 , ( 0 , 1 , 3 , 2 )) t2new += tmp48 * - 1 del tmp48 tmp34 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) t2new += np . transpose ( tmp34 , ( 1 , 0 , 3 , 2 )) t2new += np . transpose ( tmp34 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp34 tmp13 = np . copy ( tmp10 ) del tmp10 tmp13 += tmp12 * - 1 del tmp12 t2new += np . transpose ( tmp13 , ( 1 , 0 , 3 , 2 )) t2new += np . transpose ( tmp13 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp13 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += tmp13 del tmp13 tmp30 = np . copy ( np . transpose ( tmp23 , ( 0 , 1 , 3 , 2 ))) del tmp23 tmp30 += np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 )) * - 0.5 del tmp24 tmp30 += np . transpose ( tmp25 , ( 0 , 1 , 3 , 2 )) * 0.5 del tmp25 tmp30 += np . transpose ( tmp27 , ( 0 , 1 , 3 , 2 )) * - 0.5 del tmp27 tmp30 += np . transpose ( tmp29 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp29 t2new += np . transpose ( tmp30 , ( 1 , 0 , 2 , 3 )) t2new += tmp30 * - 1 del tmp30 tmp8 = np . copy ( f . oo ) 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 tmp1 = np . copy ( np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 ))) * - 1 tmp1 += np . transpose ( tmp0 , ( 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 t1new += einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . oovv , ( 1 , 2 , 4 , 5 ), ( 0 , 3 )) * 0.25 t1new += f . ov t1new += einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) * - 1 t1new += einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) t2new += v . oovv return { f \"t1new\" : t1new , f \"t2new\" : t2new , f \"t3new\" : t3new }","title":"Returns"},{"location":"reference/codegen/GCCD/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-17T18:47:56.573852 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.8.0-40-generic ebcc . codegen . GCCD . energy ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:47:56.615356. Parameters t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns e_cc : float Coupled cluster energy. Source code in ebcc/codegen/GCCD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:47:56.615356. 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 ), ()) * 0.25 return e_cc ebcc . codegen . GCCD . update_amps ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:47:57.314283. Parameters f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns t2new : array Updated T2 residuals. Source code in ebcc/codegen/GCCD.py 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 def update_amps ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:47:57.314283. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- t2new : array Updated T2 residuals. \"\"\" tmp4 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 2 , 3 ), ( 4 , 0 )) tmp2 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp7 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp5 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) del tmp4 tmp3 = einsum ( tmp2 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) del tmp2 tmp1 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp0 tmp8 = einsum ( f . vv , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp9 = np . copy ( v . oooo ) tmp9 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) * 0.5 tmp6 = einsum ( f . oo , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) t2new = einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) * 0.5 t2new += v . oovv t2new += tmp1 t2new += np . transpose ( tmp1 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp1 t2new += tmp3 * - 0.5 t2new += np . transpose ( tmp3 , ( 0 , 1 , 3 , 2 )) * 0.5 del tmp3 t2new += np . transpose ( tmp5 , ( 0 , 1 , 3 , 2 )) * 0.5 t2new += np . transpose ( tmp5 , ( 1 , 0 , 3 , 2 )) * - 0.5 del tmp5 t2new += np . transpose ( tmp6 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp6 , ( 1 , 0 , 3 , 2 )) del tmp6 t2new += tmp7 * - 1 t2new += np . transpose ( tmp7 , ( 0 , 1 , 3 , 2 )) t2new += np . transpose ( tmp7 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp7 , ( 1 , 0 , 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 += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 5 ), ( 2 , 3 , 4 , 5 )) * 0.5 del tmp9 return { f \"t2new\" : t2new } ebcc . codegen . GCCD . update_lams ( f = None , l2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:47:58.293374. Parameters f : array Fock matrix. l2 : array L2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns l2new : array Updated L2 residuals. Source code in ebcc/codegen/GCCD.py 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 def update_lams ( f = None , l2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:47:58.293374. Parameters ---------- f : array Fock matrix. l2 : array L2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- l2new : array Updated L2 residuals. \"\"\" tmp1 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp11 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp9 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp6 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp2 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp2 += tmp1 del tmp1 tmp12 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp11 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) * - 1 del tmp11 tmp10 = einsum ( tmp9 , ( 0 , 1 ), l2 , ( 2 , 0 , 3 , 4 ), ( 3 , 4 , 2 , 1 )) del tmp9 tmp7 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 1 del tmp6 tmp5 = einsum ( tmp4 , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 0 ), ( 4 , 1 , 2 , 3 )) del tmp4 tmp14 = einsum ( f . oo , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp3 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 5 , 0 ), ( 5 , 1 , 4 , 3 )) del tmp2 tmp15 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp13 = np . copy ( tmp10 ) * 0.5 del tmp10 tmp13 += tmp12 * 0.5 del tmp12 tmp8 = np . copy ( np . transpose ( tmp5 , ( 0 , 1 , 3 , 2 ))) * - 0.5 del tmp5 tmp8 += np . transpose ( tmp7 , ( 0 , 1 , 3 , 2 )) * - 0.5 del tmp7 tmp16 = np . copy ( v . oooo ) * 2 tmp16 += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) l2new = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 5 , 1 , 0 ), ( 2 , 3 , 4 , 5 )) * - 0.25 del tmp0 l2new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) * 0.5 l2new += np . transpose ( v . oovv , ( 2 , 3 , 0 , 1 )) l2new += np . transpose ( tmp3 , ( 2 , 3 , 0 , 1 )) l2new += np . transpose ( tmp3 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp3 , ( 2 , 3 , 1 , 0 )) * - 1 l2new += np . transpose ( tmp3 , ( 3 , 2 , 1 , 0 )) del tmp3 l2new += np . transpose ( tmp8 , ( 3 , 2 , 0 , 1 )) l2new += np . transpose ( tmp8 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp8 l2new += np . transpose ( tmp13 , ( 2 , 3 , 1 , 0 )) l2new += np . transpose ( tmp13 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp13 l2new += np . transpose ( tmp14 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp14 , ( 3 , 2 , 1 , 0 )) del tmp14 l2new += np . transpose ( tmp15 , ( 2 , 3 , 1 , 0 )) l2new += np . transpose ( tmp15 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp15 l2new += einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) * 0.25 del tmp16 return { f \"l2new\" : l2new } ebcc . codegen . GCCD . make_rdm1_f ( l2 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:47:58.384725. Parameters l2 : array L2 amplitudes. t2 : array T2 amplitudes. Returns rdm1 : array One-particle reduced density matrix. Source code in ebcc/codegen/GCCD.py 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 def make_rdm1_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:47:58.384725. 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 . vv = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * 0.5 rdm1 . oo = np . copy ( delta . oo ) del delta rdm1 . oo += einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * - 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 ebcc . codegen . GCCD . make_rdm2_f ( l2 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:47:59.289207. Parameters l2 : array L2 amplitudes. t2 : array T2 amplitudes. Returns rdm2 : array Two-particle reduced density matrix. Source code in ebcc/codegen/GCCD.py 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 def make_rdm2_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:47:59.289207. 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 ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp2 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp1 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp5 = einsum ( tmp4 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) tmp6 = einsum ( tmp1 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) rdm2 . vvvv = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) * 0.5 rdm2 . vvoo = np . copy ( l2 ) rdm2 . vovo = einsum ( tmp4 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 0.5 rdm2 . vovo += np . transpose ( tmp2 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . voov = einsum ( tmp4 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 0.5 rdm2 . voov += np . transpose ( tmp2 , ( 2 , 1 , 0 , 3 )) rdm2 . ovvo = einsum ( tmp4 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 0.5 rdm2 . ovvo += np . transpose ( tmp2 , ( 1 , 2 , 3 , 0 )) rdm2 . ovov = einsum ( tmp4 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 0.5 del tmp4 rdm2 . ovov += np . transpose ( tmp2 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp2 rdm2 . oovv = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 1 , 0 , 4 , 5 ), ( 5 , 4 , 2 , 3 )) * 0.25 rdm2 . oovv += t2 rdm2 . oovv += tmp3 rdm2 . oovv += np . transpose ( tmp3 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp3 rdm2 . oovv += tmp5 * - 0.5 rdm2 . oovv += np . transpose ( tmp5 , ( 0 , 1 , 3 , 2 )) * 0.5 del tmp5 rdm2 . oovv += np . transpose ( tmp6 , ( 0 , 1 , 3 , 2 )) * 0.5 rdm2 . oovv += np . transpose ( tmp6 , ( 1 , 0 , 3 , 2 )) * - 0.5 del tmp6 rdm2 . oooo = np . copy ( np . transpose ( tmp0 , ( 3 , 2 , 1 , 0 ))) * 0.5 del tmp0 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 . oooo += einsum ( tmp1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 0.5 rdm2 . oooo += einsum ( tmp1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * 0.5 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp1 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * 0.5 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp1 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 0.5 del tmp1 , delta 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 = np . transpose ( rdm2 , ( 0 , 2 , 1 , 3 )) return rdm2 ebcc . codegen . GCCD . hbar_matvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:01.551736. Parameters f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp11 : array tmp12 : array tmp13 : array tmp2 : array tmp3 : array tmp5 : array tmp6 : array tmp8 : array tmp9 : array Source code in ebcc/codegen/GCCD.py 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 def hbar_matvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:01.551736. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp11 : array tmp12 : array tmp13 : array tmp2 : array tmp3 : array tmp5 : array tmp6 : array tmp8 : array tmp9 : array \"\"\" tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp12 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) tmp11 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) tmp9 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp8 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 3 ), ( 4 , 1 )) tmp6 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp5 = einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp3 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp2 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp0 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 2 , 3 ), ( 4 , 0 )) return { f \"tmp0\" : tmp0 , f \"tmp11\" : tmp11 , f \"tmp12\" : tmp12 , f \"tmp13\" : tmp13 , f \"tmp2\" : tmp2 , f \"tmp3\" : tmp3 , f \"tmp5\" : tmp5 , f \"tmp6\" : tmp6 , f \"tmp8\" : tmp8 , f \"tmp9\" : tmp9 } ebcc . codegen . GCCD . hbar_matvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:01.558066. Parameters f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GCCD.py 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 def hbar_matvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:01.558066. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 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 = einsum ( ints . tmp0 , ( 0 , 1 ), r2 , ( 2 , 1 , 3 ), ( 0 , 2 , 3 )) tmp4 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 1 ), ( 4 , 0 , 3 )) tmp3 = einsum ( ints . tmp13 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 3 ), ( 0 , 4 , 2 )) del ints . tmp13 tmp6 = einsum ( f . oo , ( 0 , 1 ), r2 , ( 2 , 1 , 3 ), ( 0 , 2 , 3 )) tmp7 = einsum ( ints . tmp6 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 ,), ( 0 , 2 , 3 )) del ints . tmp6 tmp10 = np . copy ( f . vv ) tmp10 += np . transpose ( ints . tmp12 , ( 1 , 0 )) * - 0.5 del ints . tmp12 tmp5 = np . copy ( tmp2 ) * - 0.5 del tmp2 tmp5 += tmp3 del tmp3 tmp5 += tmp4 del tmp4 tmp1 = einsum ( r2 , ( 0 , 1 , 2 ), v . oovv , ( 0 , 1 , 3 , 2 ), ( 3 ,)) tmp11 = np . copy ( np . transpose ( ints . tmp9 , ( 2 , 0 , 1 , 3 ))) * 0.5 del ints . tmp9 tmp11 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) tmp11 += ints . tmp3 * - 1 del ints . tmp3 tmp8 = np . copy ( tmp6 ) del tmp6 tmp8 += tmp7 del tmp7 tmp9 = np . copy ( ints . tmp11 ) * - 0.5 del ints . tmp11 tmp9 += v . oooo * - 1 tmp12 = np . copy ( f . ov ) tmp12 += ints . tmp2 del ints . tmp2 tmp12 += ints . tmp5 * - 0.5 del ints . tmp5 tmp12 += ints . tmp8 * - 0.5 del ints . tmp8 tmp0 = np . copy ( f . oo ) * 2 tmp0 += np . transpose ( ints . tmp0 , ( 1 , 0 )) del ints . tmp0 r2new = einsum ( tmp1 , ( 0 ,), t2 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 0.5 del tmp1 r2new += tmp5 * - 1 r2new += np . transpose ( tmp5 , ( 1 , 0 , 2 )) del tmp5 r2new += tmp8 r2new += np . transpose ( tmp8 , ( 1 , 0 , 2 )) * - 1 del tmp8 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp9 , ( 3 , 4 , 1 , 0 ), ( 3 , 4 , 2 )) * 0.5 del tmp9 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp10 , ( 2 , 3 ), ( 0 , 1 , 3 )) del tmp10 r2new += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), r1 , ( 0 ,), ( 2 , 1 , 3 )) del tmp11 r2new += einsum ( r1 , ( 0 ,), tmp12 , ( 1 , 2 ), ( 0 , 1 , 2 )) r2new += einsum ( r1 , ( 0 ,), tmp12 , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 del tmp12 r1new = einsum ( f . ov , ( 0 , 1 ), r2 , ( 2 , 0 , 1 ), ( 2 ,)) r1new += einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 1 ), ( 0 ,)) * - 0.5 r1new += einsum ( r1 , ( 0 ,), tmp0 , ( 0 , 1 ), ( 1 ,)) * - 0.5 del tmp0 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . GCCD . hbar_matvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:03.893855. Parameters f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp10 : array tmp12 : array tmp2 : array tmp5 : array tmp6 : array tmp7 : array tmp8 : array Source code in ebcc/codegen/GCCD.py 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 def hbar_matvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:03.893855. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp10 : array tmp12 : array tmp2 : array tmp5 : array tmp6 : array tmp7 : array tmp8 : array \"\"\" tmp12 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp10 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 2 , 3 ), ( 4 , 0 )) tmp8 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp7 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 3 ), ( 4 , 1 )) tmp6 = einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 5 ), ( 0 , 4 , 5 , 1 )) tmp5 = einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp2 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) return { f \"tmp0\" : tmp0 , f \"tmp10\" : tmp10 , f \"tmp12\" : tmp12 , f \"tmp2\" : tmp2 , f \"tmp5\" : tmp5 , f \"tmp6\" : tmp6 , f \"tmp7\" : tmp7 , f \"tmp8\" : tmp8 } ebcc . codegen . GCCD . hbar_matvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:03.899541. Parameters f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GCCD.py 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 def hbar_matvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:03.899541. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp4 = np . copy ( f . vv ) * 2 tmp4 += np . transpose ( ints . tmp0 , ( 1 , 0 )) * - 1 tmp2 = einsum ( ints . tmp12 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 3 , 1 ), ( 0 , 2 , 4 )) del ints . tmp12 tmp5 = einsum ( tmp4 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 0.5 del tmp4 tmp3 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 2 ), ( 0 , 4 , 3 )) tmp7 = einsum ( r1 , ( 0 ,), ints . tmp8 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) del ints . tmp8 tmp10 = np . copy ( f . oo ) tmp10 += np . transpose ( ints . tmp10 , ( 1 , 0 )) * 0.5 del ints . tmp10 tmp1 = einsum ( r2 , ( 0 , 1 , 2 ), v . oovv , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp11 = np . copy ( f . ov ) tmp11 += ints . tmp2 del ints . tmp2 tmp11 += ints . tmp5 * - 0.5 del ints . tmp5 tmp11 += ints . tmp7 * - 0.5 del ints . tmp7 tmp9 = einsum ( r1 , ( 0 ,), f . ov , ( 1 , 0 ), ( 1 ,)) tmp9 += einsum ( r2 , ( 0 , 1 , 2 ), v . oovv , ( 3 , 2 , 0 , 1 ), ( 3 ,)) * 0.5 tmp8 = np . copy ( ints . tmp6 ) * 0.5 del ints . tmp6 tmp8 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) tmp6 = np . copy ( tmp2 ) del tmp2 tmp6 += tmp3 del tmp3 tmp6 += np . transpose ( tmp5 , ( 0 , 2 , 1 )) * - 1 del tmp5 tmp0 = np . copy ( f . vv ) tmp0 += np . transpose ( ints . tmp0 , ( 1 , 0 )) * - 0.5 del ints . tmp0 r2new = einsum ( tmp1 , ( 0 , 1 , 2 ), t2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 )) * - 0.25 del tmp1 r2new += einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) * 0.5 r2new += np . transpose ( tmp6 , ( 1 , 2 , 0 )) * - 1 r2new += np . transpose ( tmp6 , ( 2 , 1 , 0 )) del tmp6 r2new += np . transpose ( tmp7 , ( 1 , 2 , 0 )) r2new += np . transpose ( tmp7 , ( 2 , 1 , 0 )) * - 1 del tmp7 r2new += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), r1 , ( 3 ,), ( 2 , 1 , 0 )) del tmp8 r2new += einsum ( tmp9 , ( 0 ,), t2 , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) del tmp9 r2new += einsum ( tmp10 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp10 r2new += einsum ( r1 , ( 0 ,), tmp11 , ( 1 , 2 ), ( 0 , 2 , 1 )) r2new += einsum ( tmp11 , ( 0 , 1 ), r1 , ( 2 ,), ( 1 , 2 , 0 )) * - 1 del tmp11 r1new = einsum ( r2 , ( 0 , 1 , 2 ), v . ovvv , ( 2 , 3 , 0 , 1 ), ( 3 ,)) * - 0.5 r1new += einsum ( r2 , ( 0 , 1 , 2 ), f . ov , ( 2 , 1 ), ( 0 ,)) r1new += einsum ( tmp0 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) del tmp0 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . GCCD . hbar_matvec_ee_intermediates ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:09.986105. Parameters f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp1 : array tmp13 : array tmp14 : array tmp16 : array tmp20 : array tmp21 : array tmp23 : array tmp28 : array tmp30 : array tmp5 : array tmp6 : array Source code in ebcc/codegen/GCCD.py 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 def hbar_matvec_ee_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:09.986105. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp13 : array tmp14 : array tmp16 : array tmp20 : array tmp21 : array tmp23 : array tmp28 : array tmp30 : array tmp5 : array tmp6 : array \"\"\" tmp30 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp28 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) tmp23 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp21 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp20 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 3 ), ( 4 , 1 )) tmp16 = einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 5 ), ( 0 , 4 , 5 , 1 )) tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp13 = einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp6 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp5 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp1 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) tmp0 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 2 , 3 ), ( 4 , 0 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp13\" : tmp13 , f \"tmp14\" : tmp14 , f \"tmp16\" : tmp16 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp23\" : tmp23 , f \"tmp28\" : tmp28 , f \"tmp30\" : tmp30 , f \"tmp5\" : tmp5 , f \"tmp6\" : tmp6 } ebcc . codegen . GCCD . hbar_matvec_ee ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:09.995818. Parameters f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GCCD.py 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 def hbar_matvec_ee ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:09.995818. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp7 = einsum ( r1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp8 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp5 = np . copy ( f . oo ) * 2 tmp5 += np . transpose ( ints . tmp0 , ( 1 , 0 )) tmp9 = np . copy ( np . transpose ( tmp7 , ( 1 , 0 ))) del tmp7 tmp9 += tmp8 * 0.5 del tmp8 tmp13 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp17 = einsum ( r1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp20 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r1 , ( 0 , 3 ), ( 1 , 2 )) tmp31 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), ints . tmp1 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp30 = einsum ( ints . tmp21 , ( 0 , 1 , 2 , 3 ), r1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) del ints . tmp21 tmp28 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp27 = einsum ( r1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp6 = einsum ( tmp5 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 0.5 del tmp5 tmp4 = einsum ( ints . tmp16 , ( 0 , 1 , 2 , 3 ), r1 , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) del ints . tmp16 tmp10 = einsum ( tmp9 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 1 del tmp9 tmp23 = einsum ( ints . tmp23 , ( 0 , 1 , 2 , 3 ), r1 , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) del ints . tmp23 tmp22 = einsum ( ints . tmp14 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del ints . tmp14 tmp25 = einsum ( ints . tmp30 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del ints . tmp30 tmp24 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp14 = einsum ( tmp13 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 1 del tmp13 tmp12 = einsum ( ints . tmp6 , ( 0 , 1 , 2 , 3 ), r1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del ints . tmp6 tmp16 = einsum ( r1 , ( 0 , 1 ), v . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp18 = einsum ( tmp17 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 del tmp17 tmp34 = np . copy ( f . ov ) tmp34 += ints . tmp5 tmp34 += ints . tmp13 * - 0.5 tmp34 += ints . tmp20 * - 0.5 tmp21 = einsum ( tmp20 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 1 del tmp20 tmp3 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp32 = np . copy ( tmp30 ) * 0.5 del tmp30 tmp32 += np . transpose ( tmp31 , ( 1 , 0 , 2 , 3 )) * - 0.5 del tmp31 tmp29 = np . copy ( np . transpose ( tmp27 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp27 tmp29 += np . transpose ( tmp28 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp28 tmp11 = np . copy ( np . transpose ( tmp4 , ( 0 , 1 , 3 , 2 ))) * - 0.5 del tmp4 tmp11 += np . transpose ( tmp6 , ( 1 , 0 , 3 , 2 )) del tmp6 tmp11 += np . transpose ( tmp10 , ( 1 , 0 , 3 , 2 )) del tmp10 tmp26 = np . copy ( tmp22 ) del tmp22 tmp26 += tmp23 del tmp23 tmp26 += tmp24 del tmp24 tmp26 += tmp25 * - 1 del tmp25 tmp15 = np . copy ( tmp12 ) del tmp12 tmp15 += tmp14 * 0.5 del tmp14 tmp33 = np . copy ( ints . tmp28 ) * - 1 del ints . tmp28 tmp33 += v . oooo * - 2 tmp19 = np . copy ( np . transpose ( tmp16 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp16 tmp19 += np . transpose ( tmp18 , ( 0 , 1 , 3 , 2 )) del tmp18 tmp35 = np . copy ( f . ov ) * 2 tmp35 += ints . tmp5 * 2 del ints . tmp5 tmp35 += ints . tmp13 * - 1 del ints . tmp13 tmp35 += ints . tmp20 * - 1 del ints . tmp20 tmp2 = np . copy ( f . oo ) tmp2 += np . transpose ( ints . tmp0 , ( 1 , 0 )) * 0.5 del ints . tmp0 tmp0 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 3 ), ( 0 , 2 )) tmp1 = np . copy ( f . vv ) tmp1 += np . transpose ( ints . tmp1 , ( 1 , 0 )) * - 0.5 del ints . tmp1 r2new = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 4 , 5 , 1 , 0 ), ( 5 , 4 , 2 , 3 )) * 0.25 del tmp3 r2new += einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) * 0.5 r2new += tmp11 r2new += np . transpose ( tmp11 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp11 r2new += tmp15 * - 1 r2new += np . transpose ( tmp15 , ( 0 , 1 , 3 , 2 )) del tmp15 r2new += tmp19 * - 1 r2new += np . transpose ( tmp19 , ( 1 , 0 , 2 , 3 )) del tmp19 r2new += tmp21 r2new += np . transpose ( tmp21 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp21 r2new += tmp26 * - 1 r2new += np . transpose ( tmp26 , ( 0 , 1 , 3 , 2 )) r2new += np . transpose ( tmp26 , ( 1 , 0 , 2 , 3 )) r2new += np . transpose ( tmp26 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp26 r2new += tmp29 * - 1 r2new += np . transpose ( tmp29 , ( 0 , 1 , 3 , 2 )) del tmp29 r2new += np . transpose ( tmp32 , ( 1 , 0 , 2 , 3 )) * - 1 r2new += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) del tmp32 r2new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp33 , ( 4 , 5 , 1 , 0 ), ( 4 , 5 , 2 , 3 )) * 0.25 del tmp33 r2new += einsum ( tmp34 , ( 0 , 1 ), r1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) r2new += einsum ( r1 , ( 0 , 1 ), tmp34 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) r2new += einsum ( tmp35 , ( 0 , 1 ), r1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 0.5 del tmp35 r2new += einsum ( tmp34 , ( 0 , 1 ), r1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 del tmp34 r1new = einsum ( r2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * - 0.5 r1new += einsum ( tmp0 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp0 r1new += einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 0 , 2 , 3 ), ( 4 , 1 )) * - 0.5 r1new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) r1new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r1 , ( 2 , 1 ), ( 0 , 3 )) * - 1 r1new += einsum ( tmp1 , ( 0 , 1 ), r1 , ( 2 , 0 ), ( 2 , 1 )) del tmp1 r1new += einsum ( r1 , ( 0 , 1 ), tmp2 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp2 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . GCCD . hbar_lmatvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:12.179555. Parameters f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp1 : array tmp10 : array tmp11 : array tmp12 : array tmp2 : array tmp3 : array tmp4 : array tmp5 : array tmp6 : array Source code in ebcc/codegen/GCCD.py 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 def hbar_lmatvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:12.179555. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp10 : array tmp11 : array tmp12 : array tmp2 : array tmp3 : array tmp4 : array tmp5 : array tmp6 : array \"\"\" tmp12 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp11 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp10 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) tmp6 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp5 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 3 ), ( 4 , 1 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp2 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp1 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp11\" : tmp11 , f \"tmp12\" : tmp12 , f \"tmp2\" : tmp2 , f \"tmp3\" : tmp3 , f \"tmp4\" : tmp4 , f \"tmp5\" : tmp5 , f \"tmp6\" : tmp6 } ebcc . codegen . GCCD . hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:12.185996. Parameters f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GCCD.py 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:12.185996. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp5 = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp12 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) del ints . tmp12 tmp6 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 1 ), ( 4 , 0 , 3 )) tmp4 = einsum ( ints . tmp2 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 1 , 2 , 3 )) tmp7 = einsum ( r1 , ( 0 ,), f . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) tmp7 += tmp4 * - 0.5 del tmp4 tmp7 += tmp5 del tmp5 tmp7 += tmp6 del tmp6 tmp10 = np . copy ( f . vv ) tmp10 += ints . tmp11 * - 0.5 del ints . tmp11 tmp3 = einsum ( r2 , ( 0 , 1 , 2 ), t2 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) tmp8 = einsum ( f . oo , ( 0 , 1 ), r2 , ( 2 , 1 , 3 ), ( 0 , 2 , 3 )) tmp9 = np . copy ( ints . tmp10 ) * - 0.5 del ints . tmp10 tmp9 += v . oooo * - 1 tmp2 = np . copy ( f . oo ) * 2 tmp2 += ints . tmp2 del ints . tmp2 tmp0 = np . copy ( ints . tmp1 ) * 0.5 del ints . tmp1 tmp0 += np . transpose ( ints . tmp4 , ( 1 , 0 , 2 , 3 )) del ints . tmp4 tmp0 += np . transpose ( ints . tmp6 , ( 2 , 0 , 1 , 3 )) * - 0.25 del ints . tmp6 tmp0 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 0.5 tmp1 = np . copy ( f . ov ) tmp1 += ints . tmp0 del ints . tmp0 tmp1 += ints . tmp3 * - 0.5 del ints . tmp3 tmp1 += ints . tmp5 * - 0.5 del ints . tmp5 r2new = einsum ( r1 , ( 0 ,), v . ooov , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp3 , ( 3 ,), ( 0 , 1 , 2 )) * 0.5 del tmp3 r2new += tmp7 * - 1 r2new += np . transpose ( tmp7 , ( 1 , 0 , 2 )) del tmp7 r2new += tmp8 r2new += np . transpose ( tmp8 , ( 1 , 0 , 2 )) * - 1 del tmp8 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp9 , ( 1 , 0 , 3 , 4 ), ( 3 , 4 , 2 )) * 0.5 del tmp9 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp10 , ( 2 , 3 ), ( 0 , 1 , 3 )) del tmp10 r1new = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 2 , 3 ), ( 0 ,)) del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 ), r2 , ( 2 , 0 , 1 ), ( 2 ,)) del tmp1 r1new += einsum ( r1 , ( 0 ,), tmp2 , ( 0 , 1 ), ( 1 ,)) * - 0.5 del tmp2 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . GCCD . hbar_lmatvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:14.474460. Parameters f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp11 : array tmp2 : array tmp3 : array tmp4 : array tmp5 : array tmp6 : array tmp9 : array Source code in ebcc/codegen/GCCD.py 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 def hbar_lmatvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:14.474460. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp11 : array tmp2 : array tmp3 : array tmp4 : array tmp5 : array tmp6 : array tmp9 : array \"\"\" tmp11 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp9 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp6 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp5 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 3 ), ( 4 , 1 )) tmp4 = einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 5 ), ( 0 , 4 , 5 , 1 )) tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp2 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) return { f \"tmp0\" : tmp0 , f \"tmp11\" : tmp11 , f \"tmp2\" : tmp2 , f \"tmp3\" : tmp3 , f \"tmp4\" : tmp4 , f \"tmp5\" : tmp5 , f \"tmp6\" : tmp6 , f \"tmp9\" : tmp9 } ebcc . codegen . GCCD . hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:14.480186. Parameters f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GCCD.py 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:14.480186. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp7 = np . copy ( f . vv ) * 2 tmp7 += ints . tmp2 * - 1 tmp5 = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp11 , ( 2 , 3 , 1 , 4 ), ( 3 , 4 , 0 )) del ints . tmp11 tmp8 = einsum ( tmp7 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 0.5 del tmp7 tmp6 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 2 ), ( 0 , 4 , 3 )) tmp10 = np . copy ( f . oo ) tmp10 += ints . tmp9 * 0.5 del ints . tmp9 tmp0 = einsum ( r2 , ( 0 , 1 , 2 ), t2 , ( 3 , 2 , 0 , 1 ), ( 3 ,)) tmp9 = einsum ( f . ov , ( 0 , 1 ), r1 , ( 2 ,), ( 0 , 1 , 2 )) tmp9 += tmp5 del tmp5 tmp9 += tmp6 del tmp6 tmp9 += np . transpose ( tmp8 , ( 0 , 2 , 1 )) * - 1 del tmp8 tmp4 = einsum ( r2 , ( 0 , 1 , 2 ), t2 , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp2 = np . copy ( f . ov ) tmp2 += ints . tmp0 del ints . tmp0 tmp2 += ints . tmp3 * - 0.5 del ints . tmp3 tmp2 += ints . tmp5 * - 0.5 del ints . tmp5 tmp3 = np . copy ( f . vv ) tmp3 += ints . tmp2 * - 0.5 del ints . tmp2 tmp1 = np . copy ( ints . tmp4 ) * 0.25 del ints . tmp4 tmp1 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) * 0.5 tmp1 += ints . tmp6 * - 1 del ints . tmp6 r2new = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 1 , 0 ), ( 2 , 3 , 4 )) * - 0.25 del tmp4 r2new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp0 , ( 1 ,), ( 2 , 3 , 0 )) * 0.5 r2new += einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) * 0.5 r2new += einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r1 , ( 1 ,), ( 2 , 3 , 0 )) * - 1 r2new += np . transpose ( tmp9 , ( 1 , 2 , 0 )) * - 1 r2new += np . transpose ( tmp9 , ( 2 , 1 , 0 )) del tmp9 r2new += einsum ( tmp10 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp10 r1new = einsum ( tmp0 , ( 0 ,), f . ov , ( 0 , 1 ), ( 1 ,)) * - 0.5 del tmp0 r1new += einsum ( r2 , ( 0 , 1 , 2 ), tmp1 , ( 2 , 0 , 1 , 3 ), ( 3 ,)) * - 1 del tmp1 r1new += einsum ( r2 , ( 0 , 1 , 2 ), tmp2 , ( 2 , 1 ), ( 0 ,)) del tmp2 r1new += einsum ( tmp3 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) del tmp3 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . GCCD . hbar_lmatvec_ee_intermediates ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:18.827368. Parameters f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp1 : array tmp10 : array tmp11 : array tmp19 : array tmp21 : array tmp3 : array tmp4 : array tmp6 : array tmp7 : array tmp8 : array tmp9 : array Source code in ebcc/codegen/GCCD.py 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 def hbar_lmatvec_ee_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:18.827368. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp10 : array tmp11 : array tmp19 : array tmp21 : array tmp3 : array tmp4 : array tmp6 : array tmp7 : array tmp8 : array tmp9 : array \"\"\" tmp21 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp19 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) tmp11 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp10 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp9 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 3 ), ( 4 , 1 )) tmp8 = einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 5 ), ( 0 , 4 , 5 , 1 )) tmp7 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp6 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp4 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp1 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp11\" : tmp11 , f \"tmp19\" : tmp19 , f \"tmp21\" : tmp21 , f \"tmp3\" : tmp3 , f \"tmp4\" : tmp4 , f \"tmp6\" : tmp6 , f \"tmp7\" : tmp7 , f \"tmp8\" : tmp8 , f \"tmp9\" : tmp9 } ebcc . codegen . GCCD . hbar_lmatvec_ee ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:18.836774. Parameters f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GCCD.py 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 def hbar_lmatvec_ee ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:18.836774. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 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 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 2 , 3 ), ( 4 , 0 )) tmp7 = np . copy ( f . oo ) * 2 tmp7 += ints . tmp3 del ints . tmp3 tmp16 = einsum ( r1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp17 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp9 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 1 tmp10 = einsum ( tmp7 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 0.5 tmp14 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp13 = einsum ( ints . tmp21 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) del ints . tmp21 tmp0 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) tmp21 = np . copy ( ints . tmp19 ) * - 1 del ints . tmp19 tmp21 += v . oooo * - 2 tmp20 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), ints . tmp4 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) tmp18 = np . copy ( np . transpose ( tmp16 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp16 tmp18 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp17 tmp11 = np . copy ( np . transpose ( tmp9 , ( 0 , 1 , 3 , 2 ))) * 0.5 del tmp9 tmp11 += np . transpose ( tmp10 , ( 1 , 0 , 3 , 2 )) del tmp10 tmp15 = einsum ( f . ov , ( 0 , 1 ), r1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp15 += tmp13 del tmp13 tmp15 += tmp14 * - 1 del tmp14 tmp8 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp19 = einsum ( r1 , ( 0 , 1 ), v . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp12 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) * - 1 tmp5 = np . copy ( f . ov ) tmp5 += ints . tmp0 del ints . tmp0 tmp5 += ints . tmp6 * - 0.5 del ints . tmp6 tmp5 += ints . tmp9 * - 0.5 del ints . tmp9 tmp3 = np . copy ( ints . tmp8 ) * 0.25 del ints . tmp8 tmp3 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) * 0.5 tmp3 += ints . tmp11 * - 1 del ints . tmp11 tmp1 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 3 ), ( 0 , 2 )) tmp6 = np . copy ( f . vv ) tmp6 += ints . tmp4 * - 0.5 del ints . tmp4 tmp4 = np . copy ( np . transpose ( ints . tmp1 , ( 1 , 2 , 0 , 3 ))) del ints . tmp1 tmp4 += np . transpose ( ints . tmp7 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp7 tmp4 += ints . tmp10 * - 0.5 del ints . tmp10 tmp4 += v . ooov * - 1 r2new = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 3 , 2 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) * 0.25 del tmp8 r2new += einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) * 0.5 r2new += tmp11 r2new += np . transpose ( tmp11 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp11 r2new += tmp12 * - 0.5 r2new += np . transpose ( tmp12 , ( 0 , 1 , 3 , 2 )) * 0.5 del tmp12 r2new += tmp15 r2new += np . transpose ( tmp15 , ( 0 , 1 , 3 , 2 )) * - 1 r2new += np . transpose ( tmp15 , ( 1 , 0 , 2 , 3 )) * - 1 r2new += np . transpose ( tmp15 , ( 1 , 0 , 3 , 2 )) del tmp15 r2new += tmp18 * - 1 r2new += np . transpose ( tmp18 , ( 0 , 1 , 3 , 2 )) del tmp18 r2new += np . transpose ( tmp19 , ( 0 , 1 , 3 , 2 )) r2new += np . transpose ( tmp19 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp19 r2new += np . transpose ( tmp20 , ( 1 , 0 , 2 , 3 )) * - 0.5 r2new += np . transpose ( tmp20 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp20 r2new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp21 , ( 1 , 0 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) * 0.25 del tmp21 r1new = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r1 , ( 2 , 1 ), ( 0 , 3 )) * - 1 r1new += einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), tmp0 , ( 1 , 3 ), ( 0 , 2 )) * 0.5 del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp1 r1new += einsum ( tmp2 , ( 0 , 1 ), f . ov , ( 1 , 2 ), ( 0 , 2 )) * - 0.5 r1new += einsum ( tmp2 , ( 0 , 1 ), v . ooov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) * 0.5 del tmp2 r1new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) * - 1 del tmp3 r1new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) * 0.5 del tmp4 r1new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 1 , 3 ), ( 0 , 2 )) del tmp5 r1new += einsum ( tmp6 , ( 0 , 1 ), r1 , ( 2 , 0 ), ( 2 , 1 )) del tmp6 r1new += einsum ( r1 , ( 0 , 1 ), tmp7 , ( 0 , 2 ), ( 2 , 1 )) * - 0.5 del tmp7 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"GCCD"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.energy","text":"Code generated by albert 0.0.0 on 2024-08-17T18:47:56.615356.","title":"energy"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.energy--parameters","text":"t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/GCCD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:47:56.615356. 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 ), ()) * 0.25 return e_cc","title":"Returns"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-17T18:47:57.314283.","title":"update_amps"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.update_amps--parameters","text":"f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.update_amps--returns","text":"t2new : array Updated T2 residuals. Source code in ebcc/codegen/GCCD.py 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 def update_amps ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:47:57.314283. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- t2new : array Updated T2 residuals. \"\"\" tmp4 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 2 , 3 ), ( 4 , 0 )) tmp2 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp7 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp5 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) del tmp4 tmp3 = einsum ( tmp2 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) del tmp2 tmp1 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp0 tmp8 = einsum ( f . vv , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp9 = np . copy ( v . oooo ) tmp9 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) * 0.5 tmp6 = einsum ( f . oo , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) t2new = einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) * 0.5 t2new += v . oovv t2new += tmp1 t2new += np . transpose ( tmp1 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp1 t2new += tmp3 * - 0.5 t2new += np . transpose ( tmp3 , ( 0 , 1 , 3 , 2 )) * 0.5 del tmp3 t2new += np . transpose ( tmp5 , ( 0 , 1 , 3 , 2 )) * 0.5 t2new += np . transpose ( tmp5 , ( 1 , 0 , 3 , 2 )) * - 0.5 del tmp5 t2new += np . transpose ( tmp6 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp6 , ( 1 , 0 , 3 , 2 )) del tmp6 t2new += tmp7 * - 1 t2new += np . transpose ( tmp7 , ( 0 , 1 , 3 , 2 )) t2new += np . transpose ( tmp7 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp7 , ( 1 , 0 , 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 += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 5 ), ( 2 , 3 , 4 , 5 )) * 0.5 del tmp9 return { f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.update_lams","text":"Code generated by albert 0.0.0 on 2024-08-17T18:47:58.293374.","title":"update_lams"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.update_lams--parameters","text":"f : array Fock matrix. l2 : array L2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.update_lams--returns","text":"l2new : array Updated L2 residuals. Source code in ebcc/codegen/GCCD.py 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 def update_lams ( f = None , l2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:47:58.293374. Parameters ---------- f : array Fock matrix. l2 : array L2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- l2new : array Updated L2 residuals. \"\"\" tmp1 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp11 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp9 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp6 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp2 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp2 += tmp1 del tmp1 tmp12 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp11 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) * - 1 del tmp11 tmp10 = einsum ( tmp9 , ( 0 , 1 ), l2 , ( 2 , 0 , 3 , 4 ), ( 3 , 4 , 2 , 1 )) del tmp9 tmp7 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 1 del tmp6 tmp5 = einsum ( tmp4 , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 0 ), ( 4 , 1 , 2 , 3 )) del tmp4 tmp14 = einsum ( f . oo , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp3 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 5 , 0 ), ( 5 , 1 , 4 , 3 )) del tmp2 tmp15 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp13 = np . copy ( tmp10 ) * 0.5 del tmp10 tmp13 += tmp12 * 0.5 del tmp12 tmp8 = np . copy ( np . transpose ( tmp5 , ( 0 , 1 , 3 , 2 ))) * - 0.5 del tmp5 tmp8 += np . transpose ( tmp7 , ( 0 , 1 , 3 , 2 )) * - 0.5 del tmp7 tmp16 = np . copy ( v . oooo ) * 2 tmp16 += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) l2new = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 5 , 1 , 0 ), ( 2 , 3 , 4 , 5 )) * - 0.25 del tmp0 l2new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) * 0.5 l2new += np . transpose ( v . oovv , ( 2 , 3 , 0 , 1 )) l2new += np . transpose ( tmp3 , ( 2 , 3 , 0 , 1 )) l2new += np . transpose ( tmp3 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp3 , ( 2 , 3 , 1 , 0 )) * - 1 l2new += np . transpose ( tmp3 , ( 3 , 2 , 1 , 0 )) del tmp3 l2new += np . transpose ( tmp8 , ( 3 , 2 , 0 , 1 )) l2new += np . transpose ( tmp8 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp8 l2new += np . transpose ( tmp13 , ( 2 , 3 , 1 , 0 )) l2new += np . transpose ( tmp13 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp13 l2new += np . transpose ( tmp14 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp14 , ( 3 , 2 , 1 , 0 )) del tmp14 l2new += np . transpose ( tmp15 , ( 2 , 3 , 1 , 0 )) l2new += np . transpose ( tmp15 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp15 l2new += einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) * 0.25 del tmp16 return { f \"l2new\" : l2new }","title":"Returns"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.make_rdm1_f","text":"Code generated by albert 0.0.0 on 2024-08-17T18:47:58.384725.","title":"make_rdm1_f"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.make_rdm1_f--parameters","text":"l2 : array L2 amplitudes. t2 : array T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.make_rdm1_f--returns","text":"rdm1 : array One-particle reduced density matrix. Source code in ebcc/codegen/GCCD.py 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 def make_rdm1_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:47:58.384725. 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 . vv = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * 0.5 rdm1 . oo = np . copy ( delta . oo ) del delta rdm1 . oo += einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * - 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","title":"Returns"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.make_rdm2_f","text":"Code generated by albert 0.0.0 on 2024-08-17T18:47:59.289207.","title":"make_rdm2_f"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.make_rdm2_f--parameters","text":"l2 : array L2 amplitudes. t2 : array T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.make_rdm2_f--returns","text":"rdm2 : array Two-particle reduced density matrix. Source code in ebcc/codegen/GCCD.py 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 def make_rdm2_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:47:59.289207. 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 ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp2 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp1 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp5 = einsum ( tmp4 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) tmp6 = einsum ( tmp1 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) rdm2 . vvvv = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) * 0.5 rdm2 . vvoo = np . copy ( l2 ) rdm2 . vovo = einsum ( tmp4 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 0.5 rdm2 . vovo += np . transpose ( tmp2 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . voov = einsum ( tmp4 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 0.5 rdm2 . voov += np . transpose ( tmp2 , ( 2 , 1 , 0 , 3 )) rdm2 . ovvo = einsum ( tmp4 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 0.5 rdm2 . ovvo += np . transpose ( tmp2 , ( 1 , 2 , 3 , 0 )) rdm2 . ovov = einsum ( tmp4 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 0.5 del tmp4 rdm2 . ovov += np . transpose ( tmp2 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp2 rdm2 . oovv = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 1 , 0 , 4 , 5 ), ( 5 , 4 , 2 , 3 )) * 0.25 rdm2 . oovv += t2 rdm2 . oovv += tmp3 rdm2 . oovv += np . transpose ( tmp3 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp3 rdm2 . oovv += tmp5 * - 0.5 rdm2 . oovv += np . transpose ( tmp5 , ( 0 , 1 , 3 , 2 )) * 0.5 del tmp5 rdm2 . oovv += np . transpose ( tmp6 , ( 0 , 1 , 3 , 2 )) * 0.5 rdm2 . oovv += np . transpose ( tmp6 , ( 1 , 0 , 3 , 2 )) * - 0.5 del tmp6 rdm2 . oooo = np . copy ( np . transpose ( tmp0 , ( 3 , 2 , 1 , 0 ))) * 0.5 del tmp0 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 . oooo += einsum ( tmp1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 0.5 rdm2 . oooo += einsum ( tmp1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * 0.5 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp1 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * 0.5 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp1 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 0.5 del tmp1 , delta 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 = np . transpose ( rdm2 , ( 0 , 2 , 1 , 3 )) return rdm2","title":"Returns"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_matvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:01.551736.","title":"hbar_matvec_ip_intermediates"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_matvec_ip_intermediates--parameters","text":"f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_matvec_ip_intermediates--returns","text":"tmp0 : array tmp11 : array tmp12 : array tmp13 : array tmp2 : array tmp3 : array tmp5 : array tmp6 : array tmp8 : array tmp9 : array Source code in ebcc/codegen/GCCD.py 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 def hbar_matvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:01.551736. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp11 : array tmp12 : array tmp13 : array tmp2 : array tmp3 : array tmp5 : array tmp6 : array tmp8 : array tmp9 : array \"\"\" tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp12 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) tmp11 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) tmp9 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp8 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 3 ), ( 4 , 1 )) tmp6 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp5 = einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp3 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp2 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp0 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 2 , 3 ), ( 4 , 0 )) return { f \"tmp0\" : tmp0 , f \"tmp11\" : tmp11 , f \"tmp12\" : tmp12 , f \"tmp13\" : tmp13 , f \"tmp2\" : tmp2 , f \"tmp3\" : tmp3 , f \"tmp5\" : tmp5 , f \"tmp6\" : tmp6 , f \"tmp8\" : tmp8 , f \"tmp9\" : tmp9 }","title":"Returns"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_matvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:01.558066.","title":"hbar_matvec_ip"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_matvec_ip--parameters","text":"f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_matvec_ip--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GCCD.py 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 def hbar_matvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:01.558066. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 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 = einsum ( ints . tmp0 , ( 0 , 1 ), r2 , ( 2 , 1 , 3 ), ( 0 , 2 , 3 )) tmp4 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 1 ), ( 4 , 0 , 3 )) tmp3 = einsum ( ints . tmp13 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 3 ), ( 0 , 4 , 2 )) del ints . tmp13 tmp6 = einsum ( f . oo , ( 0 , 1 ), r2 , ( 2 , 1 , 3 ), ( 0 , 2 , 3 )) tmp7 = einsum ( ints . tmp6 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 ,), ( 0 , 2 , 3 )) del ints . tmp6 tmp10 = np . copy ( f . vv ) tmp10 += np . transpose ( ints . tmp12 , ( 1 , 0 )) * - 0.5 del ints . tmp12 tmp5 = np . copy ( tmp2 ) * - 0.5 del tmp2 tmp5 += tmp3 del tmp3 tmp5 += tmp4 del tmp4 tmp1 = einsum ( r2 , ( 0 , 1 , 2 ), v . oovv , ( 0 , 1 , 3 , 2 ), ( 3 ,)) tmp11 = np . copy ( np . transpose ( ints . tmp9 , ( 2 , 0 , 1 , 3 ))) * 0.5 del ints . tmp9 tmp11 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) tmp11 += ints . tmp3 * - 1 del ints . tmp3 tmp8 = np . copy ( tmp6 ) del tmp6 tmp8 += tmp7 del tmp7 tmp9 = np . copy ( ints . tmp11 ) * - 0.5 del ints . tmp11 tmp9 += v . oooo * - 1 tmp12 = np . copy ( f . ov ) tmp12 += ints . tmp2 del ints . tmp2 tmp12 += ints . tmp5 * - 0.5 del ints . tmp5 tmp12 += ints . tmp8 * - 0.5 del ints . tmp8 tmp0 = np . copy ( f . oo ) * 2 tmp0 += np . transpose ( ints . tmp0 , ( 1 , 0 )) del ints . tmp0 r2new = einsum ( tmp1 , ( 0 ,), t2 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 0.5 del tmp1 r2new += tmp5 * - 1 r2new += np . transpose ( tmp5 , ( 1 , 0 , 2 )) del tmp5 r2new += tmp8 r2new += np . transpose ( tmp8 , ( 1 , 0 , 2 )) * - 1 del tmp8 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp9 , ( 3 , 4 , 1 , 0 ), ( 3 , 4 , 2 )) * 0.5 del tmp9 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp10 , ( 2 , 3 ), ( 0 , 1 , 3 )) del tmp10 r2new += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), r1 , ( 0 ,), ( 2 , 1 , 3 )) del tmp11 r2new += einsum ( r1 , ( 0 ,), tmp12 , ( 1 , 2 ), ( 0 , 1 , 2 )) r2new += einsum ( r1 , ( 0 ,), tmp12 , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 del tmp12 r1new = einsum ( f . ov , ( 0 , 1 ), r2 , ( 2 , 0 , 1 ), ( 2 ,)) r1new += einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 1 ), ( 0 ,)) * - 0.5 r1new += einsum ( r1 , ( 0 ,), tmp0 , ( 0 , 1 ), ( 1 ,)) * - 0.5 del tmp0 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_matvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:03.893855.","title":"hbar_matvec_ea_intermediates"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_matvec_ea_intermediates--parameters","text":"f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_matvec_ea_intermediates--returns","text":"tmp0 : array tmp10 : array tmp12 : array tmp2 : array tmp5 : array tmp6 : array tmp7 : array tmp8 : array Source code in ebcc/codegen/GCCD.py 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 def hbar_matvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:03.893855. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp10 : array tmp12 : array tmp2 : array tmp5 : array tmp6 : array tmp7 : array tmp8 : array \"\"\" tmp12 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp10 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 2 , 3 ), ( 4 , 0 )) tmp8 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp7 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 3 ), ( 4 , 1 )) tmp6 = einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 5 ), ( 0 , 4 , 5 , 1 )) tmp5 = einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp2 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) return { f \"tmp0\" : tmp0 , f \"tmp10\" : tmp10 , f \"tmp12\" : tmp12 , f \"tmp2\" : tmp2 , f \"tmp5\" : tmp5 , f \"tmp6\" : tmp6 , f \"tmp7\" : tmp7 , f \"tmp8\" : tmp8 }","title":"Returns"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_matvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:03.899541.","title":"hbar_matvec_ea"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_matvec_ea--parameters","text":"f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_matvec_ea--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GCCD.py 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 def hbar_matvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:03.899541. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp4 = np . copy ( f . vv ) * 2 tmp4 += np . transpose ( ints . tmp0 , ( 1 , 0 )) * - 1 tmp2 = einsum ( ints . tmp12 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 3 , 1 ), ( 0 , 2 , 4 )) del ints . tmp12 tmp5 = einsum ( tmp4 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 0.5 del tmp4 tmp3 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 2 ), ( 0 , 4 , 3 )) tmp7 = einsum ( r1 , ( 0 ,), ints . tmp8 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) del ints . tmp8 tmp10 = np . copy ( f . oo ) tmp10 += np . transpose ( ints . tmp10 , ( 1 , 0 )) * 0.5 del ints . tmp10 tmp1 = einsum ( r2 , ( 0 , 1 , 2 ), v . oovv , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp11 = np . copy ( f . ov ) tmp11 += ints . tmp2 del ints . tmp2 tmp11 += ints . tmp5 * - 0.5 del ints . tmp5 tmp11 += ints . tmp7 * - 0.5 del ints . tmp7 tmp9 = einsum ( r1 , ( 0 ,), f . ov , ( 1 , 0 ), ( 1 ,)) tmp9 += einsum ( r2 , ( 0 , 1 , 2 ), v . oovv , ( 3 , 2 , 0 , 1 ), ( 3 ,)) * 0.5 tmp8 = np . copy ( ints . tmp6 ) * 0.5 del ints . tmp6 tmp8 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) tmp6 = np . copy ( tmp2 ) del tmp2 tmp6 += tmp3 del tmp3 tmp6 += np . transpose ( tmp5 , ( 0 , 2 , 1 )) * - 1 del tmp5 tmp0 = np . copy ( f . vv ) tmp0 += np . transpose ( ints . tmp0 , ( 1 , 0 )) * - 0.5 del ints . tmp0 r2new = einsum ( tmp1 , ( 0 , 1 , 2 ), t2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 )) * - 0.25 del tmp1 r2new += einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) * 0.5 r2new += np . transpose ( tmp6 , ( 1 , 2 , 0 )) * - 1 r2new += np . transpose ( tmp6 , ( 2 , 1 , 0 )) del tmp6 r2new += np . transpose ( tmp7 , ( 1 , 2 , 0 )) r2new += np . transpose ( tmp7 , ( 2 , 1 , 0 )) * - 1 del tmp7 r2new += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), r1 , ( 3 ,), ( 2 , 1 , 0 )) del tmp8 r2new += einsum ( tmp9 , ( 0 ,), t2 , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) del tmp9 r2new += einsum ( tmp10 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp10 r2new += einsum ( r1 , ( 0 ,), tmp11 , ( 1 , 2 ), ( 0 , 2 , 1 )) r2new += einsum ( tmp11 , ( 0 , 1 ), r1 , ( 2 ,), ( 1 , 2 , 0 )) * - 1 del tmp11 r1new = einsum ( r2 , ( 0 , 1 , 2 ), v . ovvv , ( 2 , 3 , 0 , 1 ), ( 3 ,)) * - 0.5 r1new += einsum ( r2 , ( 0 , 1 , 2 ), f . ov , ( 2 , 1 ), ( 0 ,)) r1new += einsum ( tmp0 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) del tmp0 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_matvec_ee_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:09.986105.","title":"hbar_matvec_ee_intermediates"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_matvec_ee_intermediates--parameters","text":"f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_matvec_ee_intermediates--returns","text":"tmp0 : array tmp1 : array tmp13 : array tmp14 : array tmp16 : array tmp20 : array tmp21 : array tmp23 : array tmp28 : array tmp30 : array tmp5 : array tmp6 : array Source code in ebcc/codegen/GCCD.py 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 def hbar_matvec_ee_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:09.986105. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp13 : array tmp14 : array tmp16 : array tmp20 : array tmp21 : array tmp23 : array tmp28 : array tmp30 : array tmp5 : array tmp6 : array \"\"\" tmp30 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp28 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) tmp23 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp21 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp20 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 3 ), ( 4 , 1 )) tmp16 = einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 5 ), ( 0 , 4 , 5 , 1 )) tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp13 = einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp6 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp5 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp1 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) tmp0 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 2 , 3 ), ( 4 , 0 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp13\" : tmp13 , f \"tmp14\" : tmp14 , f \"tmp16\" : tmp16 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp23\" : tmp23 , f \"tmp28\" : tmp28 , f \"tmp30\" : tmp30 , f \"tmp5\" : tmp5 , f \"tmp6\" : tmp6 }","title":"Returns"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_matvec_ee","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:09.995818.","title":"hbar_matvec_ee"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_matvec_ee--parameters","text":"f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_matvec_ee--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GCCD.py 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 def hbar_matvec_ee ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:09.995818. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp7 = einsum ( r1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp8 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp5 = np . copy ( f . oo ) * 2 tmp5 += np . transpose ( ints . tmp0 , ( 1 , 0 )) tmp9 = np . copy ( np . transpose ( tmp7 , ( 1 , 0 ))) del tmp7 tmp9 += tmp8 * 0.5 del tmp8 tmp13 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp17 = einsum ( r1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp20 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r1 , ( 0 , 3 ), ( 1 , 2 )) tmp31 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), ints . tmp1 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp30 = einsum ( ints . tmp21 , ( 0 , 1 , 2 , 3 ), r1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) del ints . tmp21 tmp28 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp27 = einsum ( r1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp6 = einsum ( tmp5 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 0.5 del tmp5 tmp4 = einsum ( ints . tmp16 , ( 0 , 1 , 2 , 3 ), r1 , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) del ints . tmp16 tmp10 = einsum ( tmp9 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 1 del tmp9 tmp23 = einsum ( ints . tmp23 , ( 0 , 1 , 2 , 3 ), r1 , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) del ints . tmp23 tmp22 = einsum ( ints . tmp14 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del ints . tmp14 tmp25 = einsum ( ints . tmp30 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del ints . tmp30 tmp24 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp14 = einsum ( tmp13 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 1 del tmp13 tmp12 = einsum ( ints . tmp6 , ( 0 , 1 , 2 , 3 ), r1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del ints . tmp6 tmp16 = einsum ( r1 , ( 0 , 1 ), v . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp18 = einsum ( tmp17 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 del tmp17 tmp34 = np . copy ( f . ov ) tmp34 += ints . tmp5 tmp34 += ints . tmp13 * - 0.5 tmp34 += ints . tmp20 * - 0.5 tmp21 = einsum ( tmp20 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 1 del tmp20 tmp3 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp32 = np . copy ( tmp30 ) * 0.5 del tmp30 tmp32 += np . transpose ( tmp31 , ( 1 , 0 , 2 , 3 )) * - 0.5 del tmp31 tmp29 = np . copy ( np . transpose ( tmp27 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp27 tmp29 += np . transpose ( tmp28 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp28 tmp11 = np . copy ( np . transpose ( tmp4 , ( 0 , 1 , 3 , 2 ))) * - 0.5 del tmp4 tmp11 += np . transpose ( tmp6 , ( 1 , 0 , 3 , 2 )) del tmp6 tmp11 += np . transpose ( tmp10 , ( 1 , 0 , 3 , 2 )) del tmp10 tmp26 = np . copy ( tmp22 ) del tmp22 tmp26 += tmp23 del tmp23 tmp26 += tmp24 del tmp24 tmp26 += tmp25 * - 1 del tmp25 tmp15 = np . copy ( tmp12 ) del tmp12 tmp15 += tmp14 * 0.5 del tmp14 tmp33 = np . copy ( ints . tmp28 ) * - 1 del ints . tmp28 tmp33 += v . oooo * - 2 tmp19 = np . copy ( np . transpose ( tmp16 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp16 tmp19 += np . transpose ( tmp18 , ( 0 , 1 , 3 , 2 )) del tmp18 tmp35 = np . copy ( f . ov ) * 2 tmp35 += ints . tmp5 * 2 del ints . tmp5 tmp35 += ints . tmp13 * - 1 del ints . tmp13 tmp35 += ints . tmp20 * - 1 del ints . tmp20 tmp2 = np . copy ( f . oo ) tmp2 += np . transpose ( ints . tmp0 , ( 1 , 0 )) * 0.5 del ints . tmp0 tmp0 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 3 ), ( 0 , 2 )) tmp1 = np . copy ( f . vv ) tmp1 += np . transpose ( ints . tmp1 , ( 1 , 0 )) * - 0.5 del ints . tmp1 r2new = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 4 , 5 , 1 , 0 ), ( 5 , 4 , 2 , 3 )) * 0.25 del tmp3 r2new += einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) * 0.5 r2new += tmp11 r2new += np . transpose ( tmp11 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp11 r2new += tmp15 * - 1 r2new += np . transpose ( tmp15 , ( 0 , 1 , 3 , 2 )) del tmp15 r2new += tmp19 * - 1 r2new += np . transpose ( tmp19 , ( 1 , 0 , 2 , 3 )) del tmp19 r2new += tmp21 r2new += np . transpose ( tmp21 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp21 r2new += tmp26 * - 1 r2new += np . transpose ( tmp26 , ( 0 , 1 , 3 , 2 )) r2new += np . transpose ( tmp26 , ( 1 , 0 , 2 , 3 )) r2new += np . transpose ( tmp26 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp26 r2new += tmp29 * - 1 r2new += np . transpose ( tmp29 , ( 0 , 1 , 3 , 2 )) del tmp29 r2new += np . transpose ( tmp32 , ( 1 , 0 , 2 , 3 )) * - 1 r2new += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) del tmp32 r2new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp33 , ( 4 , 5 , 1 , 0 ), ( 4 , 5 , 2 , 3 )) * 0.25 del tmp33 r2new += einsum ( tmp34 , ( 0 , 1 ), r1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) r2new += einsum ( r1 , ( 0 , 1 ), tmp34 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) r2new += einsum ( tmp35 , ( 0 , 1 ), r1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 0.5 del tmp35 r2new += einsum ( tmp34 , ( 0 , 1 ), r1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 del tmp34 r1new = einsum ( r2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * - 0.5 r1new += einsum ( tmp0 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp0 r1new += einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 0 , 2 , 3 ), ( 4 , 1 )) * - 0.5 r1new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) r1new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r1 , ( 2 , 1 ), ( 0 , 3 )) * - 1 r1new += einsum ( tmp1 , ( 0 , 1 ), r1 , ( 2 , 0 ), ( 2 , 1 )) del tmp1 r1new += einsum ( r1 , ( 0 , 1 ), tmp2 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp2 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_lmatvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:12.179555.","title":"hbar_lmatvec_ip_intermediates"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_lmatvec_ip_intermediates--parameters","text":"f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_lmatvec_ip_intermediates--returns","text":"tmp0 : array tmp1 : array tmp10 : array tmp11 : array tmp12 : array tmp2 : array tmp3 : array tmp4 : array tmp5 : array tmp6 : array Source code in ebcc/codegen/GCCD.py 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 def hbar_lmatvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:12.179555. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp10 : array tmp11 : array tmp12 : array tmp2 : array tmp3 : array tmp4 : array tmp5 : array tmp6 : array \"\"\" tmp12 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp11 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp10 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) tmp6 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp5 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 3 ), ( 4 , 1 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp2 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp1 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp11\" : tmp11 , f \"tmp12\" : tmp12 , f \"tmp2\" : tmp2 , f \"tmp3\" : tmp3 , f \"tmp4\" : tmp4 , f \"tmp5\" : tmp5 , f \"tmp6\" : tmp6 }","title":"Returns"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_lmatvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:12.185996.","title":"hbar_lmatvec_ip"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_lmatvec_ip--parameters","text":"f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_lmatvec_ip--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GCCD.py 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:12.185996. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp5 = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp12 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) del ints . tmp12 tmp6 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 1 ), ( 4 , 0 , 3 )) tmp4 = einsum ( ints . tmp2 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 1 , 2 , 3 )) tmp7 = einsum ( r1 , ( 0 ,), f . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) tmp7 += tmp4 * - 0.5 del tmp4 tmp7 += tmp5 del tmp5 tmp7 += tmp6 del tmp6 tmp10 = np . copy ( f . vv ) tmp10 += ints . tmp11 * - 0.5 del ints . tmp11 tmp3 = einsum ( r2 , ( 0 , 1 , 2 ), t2 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) tmp8 = einsum ( f . oo , ( 0 , 1 ), r2 , ( 2 , 1 , 3 ), ( 0 , 2 , 3 )) tmp9 = np . copy ( ints . tmp10 ) * - 0.5 del ints . tmp10 tmp9 += v . oooo * - 1 tmp2 = np . copy ( f . oo ) * 2 tmp2 += ints . tmp2 del ints . tmp2 tmp0 = np . copy ( ints . tmp1 ) * 0.5 del ints . tmp1 tmp0 += np . transpose ( ints . tmp4 , ( 1 , 0 , 2 , 3 )) del ints . tmp4 tmp0 += np . transpose ( ints . tmp6 , ( 2 , 0 , 1 , 3 )) * - 0.25 del ints . tmp6 tmp0 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 0.5 tmp1 = np . copy ( f . ov ) tmp1 += ints . tmp0 del ints . tmp0 tmp1 += ints . tmp3 * - 0.5 del ints . tmp3 tmp1 += ints . tmp5 * - 0.5 del ints . tmp5 r2new = einsum ( r1 , ( 0 ,), v . ooov , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp3 , ( 3 ,), ( 0 , 1 , 2 )) * 0.5 del tmp3 r2new += tmp7 * - 1 r2new += np . transpose ( tmp7 , ( 1 , 0 , 2 )) del tmp7 r2new += tmp8 r2new += np . transpose ( tmp8 , ( 1 , 0 , 2 )) * - 1 del tmp8 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp9 , ( 1 , 0 , 3 , 4 ), ( 3 , 4 , 2 )) * 0.5 del tmp9 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp10 , ( 2 , 3 ), ( 0 , 1 , 3 )) del tmp10 r1new = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 2 , 3 ), ( 0 ,)) del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 ), r2 , ( 2 , 0 , 1 ), ( 2 ,)) del tmp1 r1new += einsum ( r1 , ( 0 ,), tmp2 , ( 0 , 1 ), ( 1 ,)) * - 0.5 del tmp2 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_lmatvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:14.474460.","title":"hbar_lmatvec_ea_intermediates"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_lmatvec_ea_intermediates--parameters","text":"f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_lmatvec_ea_intermediates--returns","text":"tmp0 : array tmp11 : array tmp2 : array tmp3 : array tmp4 : array tmp5 : array tmp6 : array tmp9 : array Source code in ebcc/codegen/GCCD.py 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 def hbar_lmatvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:14.474460. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp11 : array tmp2 : array tmp3 : array tmp4 : array tmp5 : array tmp6 : array tmp9 : array \"\"\" tmp11 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp9 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp6 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp5 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 3 ), ( 4 , 1 )) tmp4 = einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 5 ), ( 0 , 4 , 5 , 1 )) tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp2 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) return { f \"tmp0\" : tmp0 , f \"tmp11\" : tmp11 , f \"tmp2\" : tmp2 , f \"tmp3\" : tmp3 , f \"tmp4\" : tmp4 , f \"tmp5\" : tmp5 , f \"tmp6\" : tmp6 , f \"tmp9\" : tmp9 }","title":"Returns"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_lmatvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:14.480186.","title":"hbar_lmatvec_ea"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_lmatvec_ea--parameters","text":"f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_lmatvec_ea--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GCCD.py 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:14.480186. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp7 = np . copy ( f . vv ) * 2 tmp7 += ints . tmp2 * - 1 tmp5 = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp11 , ( 2 , 3 , 1 , 4 ), ( 3 , 4 , 0 )) del ints . tmp11 tmp8 = einsum ( tmp7 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 0.5 del tmp7 tmp6 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 2 ), ( 0 , 4 , 3 )) tmp10 = np . copy ( f . oo ) tmp10 += ints . tmp9 * 0.5 del ints . tmp9 tmp0 = einsum ( r2 , ( 0 , 1 , 2 ), t2 , ( 3 , 2 , 0 , 1 ), ( 3 ,)) tmp9 = einsum ( f . ov , ( 0 , 1 ), r1 , ( 2 ,), ( 0 , 1 , 2 )) tmp9 += tmp5 del tmp5 tmp9 += tmp6 del tmp6 tmp9 += np . transpose ( tmp8 , ( 0 , 2 , 1 )) * - 1 del tmp8 tmp4 = einsum ( r2 , ( 0 , 1 , 2 ), t2 , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp2 = np . copy ( f . ov ) tmp2 += ints . tmp0 del ints . tmp0 tmp2 += ints . tmp3 * - 0.5 del ints . tmp3 tmp2 += ints . tmp5 * - 0.5 del ints . tmp5 tmp3 = np . copy ( f . vv ) tmp3 += ints . tmp2 * - 0.5 del ints . tmp2 tmp1 = np . copy ( ints . tmp4 ) * 0.25 del ints . tmp4 tmp1 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) * 0.5 tmp1 += ints . tmp6 * - 1 del ints . tmp6 r2new = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 1 , 0 ), ( 2 , 3 , 4 )) * - 0.25 del tmp4 r2new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp0 , ( 1 ,), ( 2 , 3 , 0 )) * 0.5 r2new += einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) * 0.5 r2new += einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r1 , ( 1 ,), ( 2 , 3 , 0 )) * - 1 r2new += np . transpose ( tmp9 , ( 1 , 2 , 0 )) * - 1 r2new += np . transpose ( tmp9 , ( 2 , 1 , 0 )) del tmp9 r2new += einsum ( tmp10 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp10 r1new = einsum ( tmp0 , ( 0 ,), f . ov , ( 0 , 1 ), ( 1 ,)) * - 0.5 del tmp0 r1new += einsum ( r2 , ( 0 , 1 , 2 ), tmp1 , ( 2 , 0 , 1 , 3 ), ( 3 ,)) * - 1 del tmp1 r1new += einsum ( r2 , ( 0 , 1 , 2 ), tmp2 , ( 2 , 1 ), ( 0 ,)) del tmp2 r1new += einsum ( tmp3 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) del tmp3 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_lmatvec_ee_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:18.827368.","title":"hbar_lmatvec_ee_intermediates"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_lmatvec_ee_intermediates--parameters","text":"f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_lmatvec_ee_intermediates--returns","text":"tmp0 : array tmp1 : array tmp10 : array tmp11 : array tmp19 : array tmp21 : array tmp3 : array tmp4 : array tmp6 : array tmp7 : array tmp8 : array tmp9 : array Source code in ebcc/codegen/GCCD.py 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 def hbar_lmatvec_ee_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:18.827368. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp10 : array tmp11 : array tmp19 : array tmp21 : array tmp3 : array tmp4 : array tmp6 : array tmp7 : array tmp8 : array tmp9 : array \"\"\" tmp21 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp19 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) tmp11 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp10 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp9 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 3 ), ( 4 , 1 )) tmp8 = einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 5 ), ( 0 , 4 , 5 , 1 )) tmp7 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp6 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp4 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp1 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp11\" : tmp11 , f \"tmp19\" : tmp19 , f \"tmp21\" : tmp21 , f \"tmp3\" : tmp3 , f \"tmp4\" : tmp4 , f \"tmp6\" : tmp6 , f \"tmp7\" : tmp7 , f \"tmp8\" : tmp8 , f \"tmp9\" : tmp9 }","title":"Returns"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_lmatvec_ee","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:18.836774.","title":"hbar_lmatvec_ee"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_lmatvec_ee--parameters","text":"f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCD/#ebcc.codegen.GCCD.hbar_lmatvec_ee--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GCCD.py 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 def hbar_lmatvec_ee ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:18.836774. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 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 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 2 , 3 ), ( 4 , 0 )) tmp7 = np . copy ( f . oo ) * 2 tmp7 += ints . tmp3 del ints . tmp3 tmp16 = einsum ( r1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp17 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp9 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 1 tmp10 = einsum ( tmp7 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 0.5 tmp14 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp13 = einsum ( ints . tmp21 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) del ints . tmp21 tmp0 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) tmp21 = np . copy ( ints . tmp19 ) * - 1 del ints . tmp19 tmp21 += v . oooo * - 2 tmp20 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), ints . tmp4 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) tmp18 = np . copy ( np . transpose ( tmp16 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp16 tmp18 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp17 tmp11 = np . copy ( np . transpose ( tmp9 , ( 0 , 1 , 3 , 2 ))) * 0.5 del tmp9 tmp11 += np . transpose ( tmp10 , ( 1 , 0 , 3 , 2 )) del tmp10 tmp15 = einsum ( f . ov , ( 0 , 1 ), r1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp15 += tmp13 del tmp13 tmp15 += tmp14 * - 1 del tmp14 tmp8 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp19 = einsum ( r1 , ( 0 , 1 ), v . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp12 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) * - 1 tmp5 = np . copy ( f . ov ) tmp5 += ints . tmp0 del ints . tmp0 tmp5 += ints . tmp6 * - 0.5 del ints . tmp6 tmp5 += ints . tmp9 * - 0.5 del ints . tmp9 tmp3 = np . copy ( ints . tmp8 ) * 0.25 del ints . tmp8 tmp3 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) * 0.5 tmp3 += ints . tmp11 * - 1 del ints . tmp11 tmp1 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 3 ), ( 0 , 2 )) tmp6 = np . copy ( f . vv ) tmp6 += ints . tmp4 * - 0.5 del ints . tmp4 tmp4 = np . copy ( np . transpose ( ints . tmp1 , ( 1 , 2 , 0 , 3 ))) del ints . tmp1 tmp4 += np . transpose ( ints . tmp7 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp7 tmp4 += ints . tmp10 * - 0.5 del ints . tmp10 tmp4 += v . ooov * - 1 r2new = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 3 , 2 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) * 0.25 del tmp8 r2new += einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) * 0.5 r2new += tmp11 r2new += np . transpose ( tmp11 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp11 r2new += tmp12 * - 0.5 r2new += np . transpose ( tmp12 , ( 0 , 1 , 3 , 2 )) * 0.5 del tmp12 r2new += tmp15 r2new += np . transpose ( tmp15 , ( 0 , 1 , 3 , 2 )) * - 1 r2new += np . transpose ( tmp15 , ( 1 , 0 , 2 , 3 )) * - 1 r2new += np . transpose ( tmp15 , ( 1 , 0 , 3 , 2 )) del tmp15 r2new += tmp18 * - 1 r2new += np . transpose ( tmp18 , ( 0 , 1 , 3 , 2 )) del tmp18 r2new += np . transpose ( tmp19 , ( 0 , 1 , 3 , 2 )) r2new += np . transpose ( tmp19 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp19 r2new += np . transpose ( tmp20 , ( 1 , 0 , 2 , 3 )) * - 0.5 r2new += np . transpose ( tmp20 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp20 r2new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp21 , ( 1 , 0 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) * 0.25 del tmp21 r1new = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r1 , ( 2 , 1 ), ( 0 , 3 )) * - 1 r1new += einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), tmp0 , ( 1 , 3 ), ( 0 , 2 )) * 0.5 del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp1 r1new += einsum ( tmp2 , ( 0 , 1 ), f . ov , ( 1 , 2 ), ( 0 , 2 )) * - 0.5 r1new += einsum ( tmp2 , ( 0 , 1 ), v . ooov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) * 0.5 del tmp2 r1new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) * - 1 del tmp3 r1new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) * 0.5 del tmp4 r1new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 1 , 3 ), ( 0 , 2 )) del tmp5 r1new += einsum ( tmp6 , ( 0 , 1 ), r1 , ( 2 , 0 ), ( 2 , 1 )) del tmp6 r1new += einsum ( r1 , ( 0 , 1 ), tmp7 , ( 0 , 2 ), ( 2 , 1 )) * - 0.5 del tmp7 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/GCCSD/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-13T22:13:05.368573 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 ebcc . codegen . GCCSD . energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-13T22:13:05.515420. 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. Source code in ebcc/codegen/GCCSD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:13:05.515420. 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 ), ( 0 , 2 , 1 , 3 )) * 2 e_cc = einsum ( t1 , ( 0 , 1 ), f . ov , ( 0 , 1 ), ()) e_cc += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp0 , ( 0 , 1 , 2 , 3 ), ()) * 0.25 del tmp0 return e_cc ebcc . codegen . GCCSD . update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-13T22:13:09.825415. 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. Source code in ebcc/codegen/GCCSD.py 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:13:09.825415. 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. \"\"\" tmp21 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) tmp20 = 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 )) tmp18 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp22 = np . copy ( np . transpose ( tmp20 , ( 0 , 2 , 1 , 3 ))) * - 1 del tmp20 tmp22 += np . transpose ( tmp21 , ( 2 , 1 , 0 , 3 )) * 0.5 del tmp21 tmp11 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp15 = einsum ( tmp3 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 1 tmp42 = np . copy ( t2 ) tmp42 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 tmp40 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp5 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp28 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 2 , 3 ), ( 4 , 0 )) tmp7 = np . copy ( t2 ) tmp7 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 tmp30 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp0 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp9 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp6 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp37 = einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 1 ), ( 0 , 2 )) tmp19 = einsum ( tmp18 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) del tmp18 tmp23 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp22 tmp12 = einsum ( tmp11 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 1 del tmp11 tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp13 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp13 tmp16 = einsum ( t1 , ( 0 , 1 ), tmp15 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp15 tmp43 = einsum ( tmp42 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 0 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp42 tmp41 = einsum ( t1 , ( 0 , 1 ), tmp40 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp40 tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) tmp29 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp28 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) del tmp28 tmp31 = einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 1 , 2 , 4 , 5 ), ( 0 , 3 , 4 , 5 )) * 0.5 del tmp30 tmp33 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp45 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp46 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp25 = einsum ( t1 , ( 0 , 1 ), tmp9 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) * - 1 tmp35 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp36 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 tmp38 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 1 del tmp37 tmp24 = np . copy ( tmp19 ) * 0.5 del tmp19 tmp24 += np . transpose ( tmp23 , ( 1 , 0 , 3 , 2 )) del tmp23 tmp2 = np . copy ( t2 ) * 0.5 tmp2 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp17 = np . copy ( tmp12 ) del tmp12 tmp17 += tmp14 del tmp14 tmp17 += tmp16 * - 1 del tmp16 tmp49 = np . copy ( v . oooo ) tmp49 += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp7 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 5 , 4 )) * - 0.5 tmp44 = np . copy ( tmp41 ) del tmp41 tmp44 += tmp43 * - 1 del tmp43 tmp32 = np . copy ( np . transpose ( tmp27 , ( 0 , 1 , 3 , 2 ))) del tmp27 tmp32 += np . transpose ( tmp29 , ( 0 , 1 , 3 , 2 )) * - 0.5 del tmp29 tmp32 += np . transpose ( tmp31 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp31 tmp10 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * - 1 del tmp9 tmp34 = einsum ( t1 , ( 0 , 1 ), tmp33 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp33 tmp47 = np . copy ( np . transpose ( tmp45 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp45 tmp47 += np . transpose ( tmp46 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp46 tmp26 = einsum ( t1 , ( 0 , 1 ), tmp25 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 1 , 4 )) * - 1 del tmp25 tmp39 = np . copy ( np . transpose ( tmp35 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp35 tmp39 += np . transpose ( tmp36 , ( 0 , 1 , 3 , 2 )) del tmp36 tmp39 += np . transpose ( tmp38 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp38 tmp48 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp8 = np . copy ( f . oo ) tmp8 += tmp5 del tmp5 tmp8 += tmp6 del tmp6 tmp8 += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp7 , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) * - 0.5 tmp1 = np . copy ( np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 ))) * - 1 tmp1 += np . transpose ( tmp0 , ( 0 , 2 , 1 , 3 )) * - 1 del tmp0 tmp4 = np . copy ( f . ov ) tmp4 += tmp3 del tmp3 t2new = np . copy ( v . oovv ) t2new += tmp10 t2new += np . transpose ( tmp10 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp10 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp10 , ( 1 , 0 , 3 , 2 )) del tmp10 t2new += tmp17 t2new += np . transpose ( tmp17 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp17 t2new += tmp24 * - 1 t2new += np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 )) del tmp24 t2new += tmp26 * - 1 t2new += np . transpose ( tmp26 , ( 0 , 1 , 3 , 2 )) del tmp26 t2new += tmp32 * - 1 t2new += np . transpose ( tmp32 , ( 1 , 0 , 2 , 3 )) del tmp32 t2new += tmp34 * - 1 t2new += np . transpose ( tmp34 , ( 0 , 1 , 3 , 2 )) t2new += np . transpose ( tmp34 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp34 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp34 t2new += tmp39 * - 1 t2new += np . transpose ( tmp39 , ( 1 , 0 , 2 , 3 )) del tmp39 t2new += tmp44 t2new += np . transpose ( tmp44 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp44 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp44 , ( 1 , 0 , 3 , 2 )) del tmp44 t2new += tmp47 * - 1 t2new += np . transpose ( tmp47 , ( 0 , 1 , 3 , 2 )) del tmp47 t2new += np . transpose ( tmp48 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp48 , ( 1 , 0 , 3 , 2 )) del tmp48 t2new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), tmp49 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 3 , 2 )) * - 0.5 del tmp7 , tmp49 t2new += einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 5 , 2 , 3 ), ( 1 , 0 , 4 , 5 )) * - 1 t1new = np . copy ( f . ov ) t1new += einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) * - 1 t1new += einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) t1new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * 0.5 del tmp1 t1new += einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 4 , 2 , 3 ), ( 4 , 1 )) del tmp2 t1new += einsum ( tmp4 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp4 t1new += einsum ( tmp8 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp8 return { f \"t1new\" : t1new , f \"t2new\" : t2new } ebcc . codegen . GCCSD . 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-13T22:13:15.890862. 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. Source code in ebcc/codegen/GCCSD.py 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 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-13T22:13:15.890862. 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 )) tmp34 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp23 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp20 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp19 = einsum ( t1 , ( 0 , 1 ), l1 , ( 1 , 2 ), ( 2 , 0 )) tmp26 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp25 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp1 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp2 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp6 = np . copy ( np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 ))) * - 1 tmp6 += np . transpose ( tmp5 , ( 0 , 2 , 1 , 3 )) * - 1 tmp35 = np . copy ( tmp23 ) tmp35 += tmp34 * 0.5 del tmp34 tmp45 = np . copy ( tmp19 ) tmp45 += tmp20 * 0.5 tmp43 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp47 = np . copy ( tmp25 ) * 2 tmp47 += np . transpose ( tmp26 , ( 1 , 0 )) tmp39 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp29 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp29 += tmp1 tmp7 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp4 = einsum ( t1 , ( 0 , 1 ), tmp2 , ( 2 , 3 , 4 , 1 ), ( 3 , 2 , 4 , 0 )) tmp3 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp10 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp11 = np . copy ( v . ooov ) tmp11 += np . transpose ( tmp5 , ( 2 , 1 , 0 , 3 )) * 0.5 tmp32 = einsum ( f . ov , ( 0 , 1 ), tmp2 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp33 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) * - 1 tmp37 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), l1 , ( 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp36 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp35 , ( 1 , 4 ), ( 2 , 3 , 4 , 0 )) * - 1 del tmp35 tmp46 = einsum ( tmp45 , ( 0 , 1 ), v . oovv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 del tmp45 tmp44 = einsum ( tmp43 , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) del tmp43 tmp48 = einsum ( tmp47 , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 0.5 del tmp47 tmp41 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) * - 1 del tmp5 tmp40 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp39 , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) del tmp39 tmp28 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp30 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 3 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 0 )) del tmp29 tmp52 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp53 = einsum ( tmp7 , ( 0 , 1 ), tmp2 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp50 = einsum ( t1 , ( 0 , 1 ), tmp7 , ( 2 , 1 ), ( 0 , 2 )) tmp56 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), l1 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) tmp55 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), f . oo , ( 4 , 3 ), ( 4 , 2 , 0 , 1 )) tmp8 = np . copy ( f . ov ) tmp8 += tmp7 tmp21 = np . copy ( tmp19 ) * 2 del tmp19 tmp21 += tmp20 del tmp20 tmp15 = np . copy ( np . transpose ( tmp3 , ( 1 , 0 , 3 , 2 ))) * - 0.5 tmp15 += np . transpose ( tmp4 , ( 0 , 1 , 3 , 2 )) tmp9 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) tmp9 += np . transpose ( tmp1 , ( 0 , 1 , 3 , 2 )) * - 0.5 tmp12 = np . copy ( v . oooo ) * - 0.5 tmp12 += np . transpose ( tmp10 , ( 3 , 2 , 1 , 0 )) * - 0.25 tmp12 += einsum ( t1 , ( 0 , 1 ), tmp11 , ( 2 , 3 , 4 , 1 ), ( 3 , 2 , 0 , 4 )) * - 1 tmp38 = np . copy ( tmp32 ) * - 1 del tmp32 tmp38 += tmp33 * 0.5 del tmp33 tmp38 += np . transpose ( tmp36 , ( 1 , 0 , 3 , 2 )) del tmp36 tmp38 += np . transpose ( tmp37 , ( 1 , 0 , 3 , 2 )) del tmp37 tmp49 = np . copy ( np . transpose ( tmp44 , ( 0 , 1 , 3 , 2 ))) del tmp44 tmp49 += np . transpose ( tmp46 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp46 tmp49 += np . transpose ( tmp48 , ( 1 , 0 , 3 , 2 )) del tmp48 tmp42 = np . copy ( tmp40 ) del tmp40 tmp42 += tmp41 * - 1 del tmp41 tmp31 = einsum ( tmp7 , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) del tmp7 tmp31 += tmp28 del tmp28 tmp31 += np . transpose ( tmp30 , ( 1 , 0 , 3 , 2 )) del tmp30 tmp54 = np . copy ( np . transpose ( tmp52 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp52 tmp54 += tmp53 del tmp53 tmp51 = einsum ( tmp50 , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 0 ), ( 4 , 1 , 2 , 3 )) del tmp50 tmp57 = np . copy ( np . transpose ( tmp55 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp55 tmp57 += np . transpose ( tmp56 , ( 0 , 1 , 3 , 2 )) del tmp56 tmp58 = np . copy ( v . oooo ) tmp58 += np . transpose ( tmp10 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp10 tmp58 += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 2 , 4 , 1 , 0 )) * - 2 del tmp11 tmp59 = np . copy ( np . transpose ( tmp3 , ( 1 , 0 , 3 , 2 ))) * - 1 tmp59 += np . transpose ( tmp4 , ( 0 , 1 , 3 , 2 )) * 2 tmp24 = np . copy ( f . vv ) tmp24 += tmp23 * - 1 del tmp23 tmp27 = np . copy ( f . oo ) tmp27 += np . transpose ( tmp25 , ( 1 , 0 )) del tmp25 tmp27 += tmp26 * 0.5 del tmp26 tmp27 += einsum ( t1 , ( 0 , 1 ), tmp8 , ( 2 , 1 ), ( 0 , 2 )) tmp18 = einsum ( t1 , ( 0 , 1 ), l1 , ( 2 , 0 ), ( 2 , 1 )) tmp18 += tmp17 * 0.5 del tmp17 tmp0 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp22 = np . copy ( t1 ) * - 2 tmp22 += einsum ( l1 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) * - 2 tmp22 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) tmp22 += einsum ( t1 , ( 0 , 1 ), tmp21 , ( 0 , 2 ), ( 2 , 1 )) tmp14 = np . copy ( v . ovvv ) tmp14 += einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 1 tmp16 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l1 , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) tmp16 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 2 tmp16 += einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) * - 1 del tmp15 tmp13 = np . copy ( np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 ))) * - 1 tmp13 += einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 0 , 4 , 5 , 1 )) * - 0.5 tmp13 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 1 , 5 , 3 ), ( 5 , 0 , 4 , 2 )) * 2 del tmp6 tmp13 += einsum ( tmp8 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp13 += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 2 ), ( 1 , 0 , 4 , 3 )) * - 2 del tmp9 tmp13 += einsum ( t1 , ( 0 , 1 ), tmp12 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 2 del tmp12 l2new = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) l2new += np . transpose ( v . oovv , ( 2 , 3 , 0 , 1 )) l2new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) * 0.5 l2new += np . transpose ( tmp31 , ( 2 , 3 , 0 , 1 )) l2new += np . transpose ( tmp31 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp31 , ( 2 , 3 , 1 , 0 )) * - 1 l2new += np . transpose ( tmp31 , ( 3 , 2 , 1 , 0 )) del tmp31 l2new += np . transpose ( tmp38 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp38 , ( 3 , 2 , 0 , 1 )) del tmp38 l2new += np . transpose ( tmp42 , ( 2 , 3 , 0 , 1 )) l2new += np . transpose ( tmp42 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp42 , ( 2 , 3 , 1 , 0 )) * - 1 l2new += np . transpose ( tmp42 , ( 3 , 2 , 1 , 0 )) del tmp42 l2new += np . transpose ( tmp49 , ( 3 , 2 , 0 , 1 )) l2new += np . transpose ( tmp49 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp49 l2new += np . transpose ( tmp51 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp51 , ( 2 , 3 , 1 , 0 )) del tmp51 l2new += np . transpose ( tmp54 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp54 , ( 3 , 2 , 0 , 1 )) del tmp54 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 )) l2new += np . transpose ( tmp57 , ( 2 , 3 , 0 , 1 )) l2new += np . transpose ( tmp57 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp57 l2new += einsum ( tmp58 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) * 0.5 del tmp58 l2new += einsum ( tmp59 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 1 , 0 )) * 0.25 del tmp59 l1new = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 0 , 1 , 3 ), ( 2 , 4 )) * - 1 del tmp0 l1new += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 0 , 1 , 2 ), ( 3 , 4 )) del tmp1 l1new += einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 2 , 3 , 1 , 4 ), ( 4 , 0 )) * - 1 del tmp2 l1new += einsum ( l1 , ( 0 , 1 ), v . ovov , ( 2 , 0 , 1 , 3 ), ( 3 , 2 )) * - 1 l1new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 1 , 4 , 3 , 2 ), ( 4 , 0 )) * 0.25 del tmp3 l1new += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 2 , 3 , 1 , 4 ), ( 4 , 0 )) * - 0.5 del tmp4 l1new += np . transpose ( f . ov , ( 1 , 0 )) l1new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp13 , ( 4 , 2 , 3 , 1 ), ( 0 , 4 )) * 0.5 del tmp13 l1new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 3 , 4 , 0 , 1 ), ( 4 , 2 )) * - 0.5 del tmp14 l1new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 0 , 1 , 3 ), ( 2 , 4 )) * 0.5 del tmp16 l1new += einsum ( tmp18 , ( 0 , 1 ), v . ovvv , ( 2 , 0 , 3 , 1 ), ( 3 , 2 )) del tmp18 l1new += einsum ( tmp22 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 3 , 2 )) * - 0.5 del tmp22 l1new += einsum ( tmp21 , ( 0 , 1 ), v . ooov , ( 2 , 1 , 0 , 3 ), ( 3 , 2 )) * 0.5 l1new += einsum ( l1 , ( 0 , 1 ), tmp24 , ( 0 , 2 ), ( 2 , 1 )) del tmp24 l1new += einsum ( l1 , ( 0 , 1 ), tmp27 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp27 l1new += einsum ( tmp21 , ( 0 , 1 ), tmp8 , ( 1 , 2 ), ( 2 , 0 )) * - 0.5 del tmp8 , tmp21 return { f \"l1new\" : l1new , f \"l2new\" : l2new } ebcc . codegen . GCCSD . make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-13T22:13:16.273707. 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. Source code in ebcc/codegen/GCCSD.py 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 def make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:13:16.273707. 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 )) tmp0 = einsum ( t1 , ( 0 , 1 ), l1 , ( 1 , 2 ), ( 2 , 0 )) tmp2 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp3 = np . copy ( tmp0 ) tmp3 += tmp1 * 0.5 rdm1 . vv = einsum ( t1 , ( 0 , 1 ), l1 , ( 2 , 0 ), ( 2 , 1 )) rdm1 . vv += einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * 0.5 rdm1 . vo = np . copy ( l1 ) rdm1 . ov = np . copy ( t1 ) rdm1 . ov += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) * - 0.5 del tmp2 rdm1 . ov += einsum ( l1 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) rdm1 . ov += einsum ( tmp3 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp3 rdm1 . oo = np . copy ( delta . oo ) del delta rdm1 . oo += np . transpose ( tmp0 , ( 1 , 0 )) * - 1 del tmp0 rdm1 . oo += np . transpose ( tmp1 , ( 1 , 0 )) * - 0.5 del tmp1 rdm1 = np . block ([[ rdm1 . oo , rdm1 . ov ], [ rdm1 . vo , rdm1 . vv ]]) return rdm1 ebcc . codegen . GCCSD . make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-13T22:13:22.235969. 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. Source code in ebcc/codegen/GCCSD.py 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 def make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:13:22.235969. 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 ( t1 , ( 0 , 1 ), l1 , ( 1 , 2 ), ( 2 , 0 )) tmp1 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp3 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp21 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp7 = einsum ( l1 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp8 = einsum ( t1 , ( 0 , 1 ), tmp4 , ( 0 , 2 ), ( 2 , 1 )) tmp6 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp5 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l1 , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) tmp2 = einsum ( t1 , ( 0 , 1 ), tmp1 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp0 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp14 = np . copy ( tmp4 ) * 2 tmp14 += tmp3 tmp25 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp30 = einsum ( t1 , ( 0 , 1 ), l1 , ( 2 , 0 ), ( 2 , 1 )) tmp29 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp36 = einsum ( t1 , ( 0 , 1 ), tmp21 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp9 = np . copy ( tmp7 ) tmp9 += tmp8 * - 1 del tmp8 tmp18 = einsum ( t1 , ( 0 , 1 ), tmp6 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp20 = einsum ( t1 , ( 0 , 1 ), tmp5 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp22 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp21 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp13 = np . copy ( np . transpose ( tmp0 , ( 1 , 0 , 3 , 2 ))) * - 0.5 tmp13 += np . transpose ( tmp2 , ( 0 , 1 , 3 , 2 )) tmp10 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) tmp11 = einsum ( tmp3 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp15 = einsum ( tmp14 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * 0.5 del tmp14 tmp38 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) tmp32 = np . copy ( tmp30 ) tmp32 += tmp25 * 0.5 tmp34 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 0 , 4 , 5 ), ( 2 , 3 , 4 , 5 )) * - 1 tmp35 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 tmp33 = einsum ( l1 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) tmp37 = np . copy ( tmp36 ) tmp37 += einsum ( tmp25 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 0.5 tmp31 = np . copy ( tmp30 ) * 2 tmp31 += tmp25 tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) tmp24 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) tmp19 = np . copy ( tmp18 ) del tmp18 tmp19 += einsum ( t1 , ( 0 , 1 ), tmp9 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 tmp23 = np . copy ( tmp20 ) del tmp20 tmp23 += tmp22 del tmp22 tmp28 = einsum ( t1 , ( 0 , 1 ), tmp13 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 2 tmp26 = einsum ( tmp25 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) del tmp25 tmp12 = np . copy ( tmp10 ) tmp12 += tmp11 del tmp11 tmp17 = np . copy ( np . transpose ( tmp0 , ( 1 , 0 , 3 , 2 ))) * - 1 tmp17 += np . transpose ( tmp2 , ( 0 , 1 , 3 , 2 )) * 2 tmp16 = np . copy ( tmp7 ) * - 1 del tmp7 tmp16 += tmp10 * 0.5 del tmp10 tmp16 += tmp15 del tmp15 rdm2 . vvvv = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) * 0.5 rdm2 . vvvv += einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) rdm2 . vvvo = np . copy ( np . transpose ( tmp38 , ( 2 , 1 , 3 , 0 ))) rdm2 . vvov = np . copy ( np . transpose ( tmp38 , ( 2 , 1 , 0 , 3 ))) * - 1 del tmp38 rdm2 . vovv = np . copy ( np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 ))) rdm2 . vovv += np . transpose ( tmp34 , ( 1 , 0 , 3 , 2 )) * 0.5 rdm2 . vovv += np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 )) rdm2 . vovv += einsum ( tmp32 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . vovv += einsum ( t1 , ( 0 , 1 ), tmp32 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . vovv += np . transpose ( tmp36 , ( 1 , 0 , 2 , 3 )) rdm2 . vovv += np . transpose ( tmp36 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp36 rdm2 . ovvv = np . copy ( np . transpose ( tmp33 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp33 rdm2 . ovvv += np . transpose ( tmp34 , ( 0 , 1 , 3 , 2 )) * - 0.5 del tmp34 rdm2 . ovvv += np . transpose ( tmp35 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp35 rdm2 . ovvv += einsum ( tmp30 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . ovvv += einsum ( t1 , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 del tmp30 rdm2 . ovvv += tmp37 * - 1 rdm2 . ovvv += np . transpose ( tmp37 , ( 0 , 1 , 3 , 2 )) del tmp37 rdm2 . vvoo = np . copy ( l2 ) rdm2 . vovo = np . copy ( np . transpose ( tmp21 , ( 2 , 1 , 3 , 0 ))) * - 1 rdm2 . vovo += np . transpose ( tmp29 , ( 2 , 1 , 3 , 0 )) rdm2 . vovo += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . vovo += einsum ( tmp32 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . voov = np . copy ( np . transpose ( tmp21 , ( 2 , 1 , 0 , 3 ))) rdm2 . voov += np . transpose ( tmp29 , ( 2 , 1 , 0 , 3 )) * - 1 rdm2 . voov += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . voov += einsum ( tmp31 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 0.5 rdm2 . ovvo = np . copy ( np . transpose ( tmp21 , ( 1 , 2 , 3 , 0 ))) rdm2 . ovvo += np . transpose ( tmp29 , ( 1 , 2 , 3 , 0 )) * - 1 rdm2 . ovvo += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . ovvo += einsum ( tmp32 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 del tmp32 rdm2 . ovov = np . copy ( np . transpose ( tmp21 , ( 1 , 2 , 0 , 3 ))) * - 1 del tmp21 rdm2 . ovov += np . transpose ( tmp29 , ( 1 , 2 , 0 , 3 )) del tmp29 rdm2 . ovov += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . ovov += einsum ( tmp31 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 0.5 del tmp31 rdm2 . oovv = np . copy ( t2 ) rdm2 . oovv += tmp19 * - 1 rdm2 . oovv += np . transpose ( tmp19 , ( 0 , 1 , 3 , 2 )) rdm2 . oovv += np . transpose ( tmp19 , ( 1 , 0 , 2 , 3 )) rdm2 . oovv += np . transpose ( tmp19 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp19 rdm2 . oovv += tmp23 rdm2 . oovv += np . transpose ( tmp23 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp23 rdm2 . oovv += np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . oovv += np . transpose ( tmp24 , ( 1 , 0 , 3 , 2 )) del tmp24 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . oovv += tmp26 * - 0.5 rdm2 . oovv += np . transpose ( tmp26 , ( 0 , 1 , 3 , 2 )) * 0.5 del tmp26 rdm2 . oovv += np . transpose ( tmp27 , ( 0 , 1 , 3 , 2 )) * 0.5 rdm2 . oovv += np . transpose ( tmp27 , ( 1 , 0 , 3 , 2 )) * - 0.5 del tmp27 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), tmp12 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 0.5 rdm2 . oovv += einsum ( tmp12 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 0.5 rdm2 . oovv += einsum ( tmp12 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 0.5 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), tmp12 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 0.5 rdm2 . oovv += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 5 ), ( 3 , 2 , 4 , 5 )) * 0.5 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), tmp28 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * 0.5 del tmp28 rdm2 . vooo = np . copy ( np . transpose ( tmp1 , ( 3 , 2 , 1 , 0 ))) 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 rdm2 . ovoo = np . copy ( np . transpose ( tmp1 , ( 2 , 3 , 1 , 0 ))) * - 1 del tmp1 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 . oovo = np . copy ( np . transpose ( tmp5 , ( 2 , 1 , 3 , 0 ))) rdm2 . oovo += np . transpose ( tmp6 , ( 1 , 2 , 3 , 0 )) rdm2 . oovo += np . transpose ( tmp6 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 0.5 rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * 0.5 rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), tmp16 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . oovo += einsum ( tmp16 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) del tmp16 rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), tmp17 , ( 0 , 2 , 3 , 4 ), ( 4 , 3 , 1 , 2 )) * 0.5 del tmp17 rdm2 . ooov = np . copy ( np . transpose ( tmp5 , ( 2 , 1 , 0 , 3 ))) * - 1 del tmp5 rdm2 . ooov += np . transpose ( tmp6 , ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . ooov += np . transpose ( tmp6 , ( 2 , 1 , 0 , 3 )) del tmp6 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * 0.5 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 0.5 rdm2 . ooov += einsum ( tmp9 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . ooov += einsum ( tmp9 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp9 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp12 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 0.5 rdm2 . ooov += einsum ( tmp12 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 0.5 del tmp12 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . ooov += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 3 , 2 , 1 , 4 )) * - 1 del tmp13 rdm2 . oooo = np . copy ( np . transpose ( tmp0 , ( 3 , 2 , 1 , 0 ))) * 0.5 del tmp0 rdm2 . oooo += np . transpose ( tmp2 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 0.5 rdm2 . oooo += einsum ( tmp3 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * 0.5 rdm2 . oooo += einsum ( tmp3 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * 0.5 rdm2 . oooo += einsum ( tmp3 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 0.5 del tmp3 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . oooo += einsum ( tmp4 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) rdm2 . oooo += einsum ( tmp4 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 del tmp4 , 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 = np . transpose ( rdm2 , ( 0 , 2 , 1 , 3 )) return rdm2 ebcc . codegen . GCCSD . hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-13T22:13:29.633369. 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 Source code in ebcc/codegen/GCCSD.py 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 def hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:13:29.633369. 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 \"\"\" tmp3 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp2 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp52 = einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp5 = einsum ( t1 , ( 0 , 1 ), tmp2 , ( 2 , 1 ), ( 0 , 2 )) tmp25 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp24 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp20 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp1 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp33 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp4 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 2 , 3 ), ( 4 , 0 )) tmp0 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp56 = einsum ( t1 , ( 0 , 1 ), tmp52 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp55 = einsum ( tmp5 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp49 = einsum ( t1 , ( 0 , 1 ), tmp25 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) * - 1 tmp48 = einsum ( tmp24 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp46 = einsum ( t1 , ( 0 , 1 ), tmp20 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp45 = einsum ( tmp1 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp44 = einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 1 tmp43 = einsum ( tmp4 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp41 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp40 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp39 = einsum ( tmp2 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 1 tmp38 = einsum ( tmp2 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp35 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp34 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp31 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) tmp30 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) tmp28 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp17 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp16 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp15 = einsum ( t1 , ( 0 , 1 ), v . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp13 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp12 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp11 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp8 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp7 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 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 } ebcc . codegen . GCCSD . 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-13T22:13:29.648997. 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. Source code in ebcc/codegen/GCCSD.py 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 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-13T22:13:29.648997. 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 ( v . ooov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp9 = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp3 , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp7 = np . copy ( ints . tmp25 ) tmp7 += ints . tmp35 tmp13 = np . copy ( ints . tmp41 ) tmp13 += np . transpose ( ints . tmp46 , ( 0 , 2 , 1 , 3 )) tmp11 = np . copy ( tmp9 ) del tmp9 tmp11 += tmp10 * - 1 del tmp10 tmp18 = np . copy ( ints . tmp17 ) tmp18 += ints . tmp28 tmp16 = np . copy ( f . oo ) tmp16 += ints . tmp0 tmp16 += ints . tmp1 tmp16 += np . transpose ( ints . tmp5 , ( 1 , 0 )) tmp8 = einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 3 ), ( 0 , 4 , 2 )) * - 1 del tmp7 tmp4 = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp4 , ( 3 , 1 ), ( 3 , 0 , 2 )) tmp5 = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp20 , ( 3 , 1 , 0 , 4 ), ( 3 , 4 , 2 )) * - 1 tmp14 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), r1 , ( 2 ,), ( 0 , 1 , 3 )) del tmp13 tmp6 = einsum ( r2 , ( 0 , 1 , 2 ), v . ovov , ( 3 , 2 , 1 , 4 ), ( 0 , 3 , 4 )) tmp12 = einsum ( t1 , ( 0 , 1 ), tmp11 , ( 2 , 0 , 3 ), ( 2 , 3 , 1 )) del tmp11 tmp22 = np . copy ( f . ov ) tmp22 += ints . tmp2 tmp19 = einsum ( r1 , ( 0 ,), tmp18 , ( 1 , 0 , 2 , 3 ), ( 1 , 2 , 3 )) del tmp18 tmp17 = einsum ( tmp16 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 1 , 2 , 3 )) * - 1 del tmp16 tmp24 = np . copy ( ints . tmp12 ) tmp24 += np . transpose ( ints . tmp15 , ( 2 , 0 , 1 , 3 )) tmp24 += np . transpose ( ints . tmp44 , ( 2 , 0 , 1 , 3 )) * 0.5 tmp24 += np . transpose ( ints . tmp49 , ( 2 , 1 , 0 , 3 )) tmp24 += np . transpose ( ints . tmp31 , ( 2 , 0 , 1 , 3 )) * - 0.5 tmp24 += np . transpose ( ints . tmp39 , ( 2 , 0 , 1 , 3 )) * - 1 tmp24 += np . transpose ( ints . tmp56 , ( 2 , 1 , 0 , 3 )) * - 1 tmp24 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp15 = np . copy ( tmp4 ) * - 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 tmp3 = einsum ( r2 , ( 0 , 1 , 2 ), v . oovv , ( 0 , 1 , 3 , 2 ), ( 3 ,)) tmp23 = np . copy ( np . transpose ( ints . tmp24 , ( 1 , 0 ))) tmp23 += np . transpose ( ints . tmp34 , ( 1 , 0 )) * 0.5 tmp23 += f . vv * - 1 tmp23 += einsum ( t1 , ( 0 , 1 ), tmp22 , ( 0 , 2 ), ( 2 , 1 )) del tmp22 tmp21 = np . copy ( ints . tmp33 ) * 0.5 tmp21 += ints . tmp52 tmp21 += v . oooo tmp20 = np . copy ( tmp17 ) * - 1 del tmp17 tmp20 += tmp19 del tmp19 tmp25 = np . copy ( ints . tmp13 ) 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 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 . tmp5 , ( 1 , 0 )) * 2 tmp0 = np . copy ( ints . tmp3 ) tmp0 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp1 = np . copy ( f . ov ) tmp1 += ints . tmp2 r2new = einsum ( tmp3 , ( 0 ,), t2 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 0.5 del tmp3 r2new += tmp15 * - 1 r2new += np . transpose ( tmp15 , ( 1 , 0 , 2 )) del tmp15 r2new += tmp20 r2new += np . transpose ( tmp20 , ( 1 , 0 , 2 )) * - 1 del tmp20 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp21 , ( 3 , 4 , 0 , 1 ), ( 3 , 4 , 2 )) * 0.5 del tmp21 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp23 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp23 r2new += einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), r1 , ( 0 ,), ( 2 , 1 , 3 )) * - 1 del tmp24 r2new += einsum ( r1 , ( 0 ,), tmp25 , ( 1 , 2 ), ( 0 , 1 , 2 )) * - 1 r2new += einsum ( r1 , ( 0 ,), tmp25 , ( 1 , 2 ), ( 1 , 0 , 2 )) del tmp25 r1new = einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 3 , 1 , 0 , 2 ), ( 3 ,)) * - 0.5 del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 ), r2 , ( 2 , 0 , 1 ), ( 2 ,)) del tmp1 r1new += einsum ( r1 , ( 0 ,), tmp2 , ( 0 , 1 ), ( 1 ,)) * - 0.5 del tmp2 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . GCCSD . hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-13T22:13:37.973150. 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 Source code in ebcc/codegen/GCCSD.py 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 def hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:13:37.973150. 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 \"\"\" tmp2 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp50 = einsum ( t1 , ( 0 , 1 ), tmp2 , ( 2 , 1 ), ( 0 , 2 )) tmp1 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp19 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp32 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 2 , 3 ), ( 4 , 0 )) tmp38 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp9 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp56 = einsum ( t1 , ( 0 , 1 ), tmp50 , ( 2 , 0 ), ( 2 , 1 )) tmp47 = einsum ( t1 , ( 0 , 1 ), tmp1 , ( 2 , 1 ), ( 0 , 2 )) tmp44 = einsum ( t1 , ( 0 , 1 ), tmp19 , ( 0 , 2 ), ( 2 , 1 )) tmp41 = einsum ( t1 , ( 0 , 1 ), tmp32 , ( 2 , 0 ), ( 2 , 1 )) 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 )) tmp37 = einsum ( tmp2 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp34 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp30 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp29 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) tmp28 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 5 , 0 , 1 ), ( 4 , 2 , 3 , 5 )) tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp23 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp18 = einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp15 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp13 = einsum ( tmp9 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp12 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp8 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp7 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp4 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 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 } ebcc . codegen . GCCSD . 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-13T22:13:37.985692. 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. Source code in ebcc/codegen/GCCSD.py 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 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-13T22:13:37.985692. 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 = np . copy ( ints . tmp38 ) tmp13 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp0 = np . copy ( f . ov ) tmp0 += ints . tmp2 tmp14 = einsum ( r2 , ( 0 , 1 , 2 ), tmp13 , ( 3 , 2 , 4 , 1 ), ( 3 , 4 , 0 )) * - 1 tmp15 = einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 3 , 1 ), ( 2 , 3 , 0 )) * - 1 tmp8 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp8 += einsum ( r1 , ( 0 ,), t1 , ( 1 , 2 ), ( 1 , 0 , 2 )) tmp16 = np . copy ( np . transpose ( tmp14 , ( 1 , 0 , 2 ))) * - 1 del tmp14 tmp16 += np . transpose ( tmp15 , ( 1 , 0 , 2 )) * - 1 del tmp15 tmp9 = np . copy ( ints . tmp23 ) tmp9 += ints . tmp34 tmp11 = np . copy ( f . vv ) * 2 tmp11 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * - 1 tmp6 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) tmp5 = einsum ( r2 , ( 0 , 1 , 2 ), v . oovv , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp18 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp8 , ( 2 , 1 , 4 ), ( 0 , 4 , 3 )) tmp17 = einsum ( t1 , ( 0 , 1 ), tmp16 , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) del tmp16 tmp10 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), tmp8 , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) del tmp8 , tmp9 tmp12 = einsum ( tmp11 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 3 , 1 , 2 )) * - 0.5 del tmp11 tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 ), t1 , ( 1 , 3 ), ( 0 , 3 , 2 )) del tmp6 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 )) tmp2 = einsum ( r2 , ( 0 , 1 , 2 ), v . oovv , ( 3 , 2 , 0 , 1 ), ( 3 ,)) tmp3 = einsum ( tmp0 , ( 0 , 1 ), r1 , ( 1 ,), ( 0 ,)) tmp25 = np . copy ( np . transpose ( tmp5 , ( 0 , 2 , 1 ))) * - 0.5 tmp25 += einsum ( r1 , ( 0 ,), tmp13 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) del tmp13 tmp27 = np . copy ( ints . tmp13 ) 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 tmp24 = np . copy ( f . oo ) tmp24 += ints . tmp19 tmp24 += np . transpose ( ints . tmp32 , ( 1 , 0 )) * 0.5 tmp24 += np . transpose ( ints . tmp50 , ( 1 , 0 )) tmp24 += ints . tmp9 tmp19 = np . copy ( tmp7 ) * 0.5 del tmp7 tmp19 += tmp10 * - 1 del tmp10 tmp19 += tmp12 * - 1 del tmp12 tmp19 += tmp17 del tmp17 tmp19 += tmp18 * - 1 del tmp18 tmp22 = np . copy ( tmp20 ) del tmp20 tmp22 += tmp21 del tmp21 tmp23 = np . copy ( ints . tmp18 ) tmp23 += ints . tmp40 * 0.5 tmp23 += ints . tmp28 * - 0.5 tmp23 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) * - 1 tmp4 = np . copy ( tmp2 ) * 0.5 del tmp2 tmp4 += tmp3 del tmp3 tmp26 = einsum ( t1 , ( 0 , 1 ), tmp25 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * 2 del tmp25 tmp1 = np . copy ( np . transpose ( ints . tmp1 , ( 1 , 0 ))) tmp1 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * 0.5 tmp1 += f . vv * - 1 r2new = einsum ( tmp5 , ( 0 , 1 , 2 ), t2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 )) * - 0.25 del tmp5 r2new += einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) * 0.5 r2new += np . transpose ( tmp19 , ( 1 , 2 , 0 )) * - 1 r2new += np . transpose ( tmp19 , ( 2 , 1 , 0 )) del tmp19 r2new += np . transpose ( tmp22 , ( 1 , 2 , 0 )) r2new += np . transpose ( tmp22 , ( 2 , 1 , 0 )) * - 1 del tmp22 r2new += einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), r1 , ( 3 ,), ( 2 , 1 , 0 )) * - 1 del tmp23 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp24 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp24 r2new += einsum ( tmp4 , ( 0 ,), t2 , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) r2new += einsum ( t1 , ( 0 , 1 ), tmp26 , ( 2 , 0 , 3 ), ( 3 , 1 , 2 )) * - 0.5 del tmp26 r2new += einsum ( tmp27 , ( 0 , 1 ), r1 , ( 2 ,), ( 2 , 1 , 0 )) * - 1 r2new += einsum ( tmp27 , ( 0 , 1 ), r1 , ( 2 ,), ( 1 , 2 , 0 )) del tmp27 r1new = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 0 ), ( 1 ,)) * - 0.5 r1new += einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 2 , 1 ), ( 0 ,)) del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) * - 1 del tmp1 r1new += einsum ( t1 , ( 0 , 1 ), tmp4 , ( 0 ,), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . GCCSD . hbar_matvec_ee_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-13T22:13:56.696839. 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 Source code in ebcc/codegen/GCCSD.py 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 def hbar_matvec_ee_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:13:56.696839. 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 \"\"\" tmp7 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp6 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp101 = einsum ( t1 , ( 0 , 1 ), tmp7 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp12 = einsum ( t1 , ( 0 , 1 ), tmp6 , ( 2 , 1 ), ( 0 , 2 )) tmp5 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp4 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp40 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp2 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp62 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp9 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 2 , 3 ), ( 4 , 0 )) tmp0 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp106 = einsum ( t1 , ( 0 , 1 ), tmp101 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp105 = einsum ( t1 , ( 0 , 1 ), tmp12 , ( 2 , 0 ), ( 2 , 1 )) tmp94 = einsum ( t1 , ( 0 , 1 ), tmp5 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) * - 1 tmp93 = einsum ( t1 , ( 0 , 1 ), tmp4 , ( 2 , 1 ), ( 0 , 2 )) tmp88 = einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp87 = einsum ( t1 , ( 0 , 1 ), tmp2 , ( 0 , 2 ), ( 2 , 1 )) tmp81 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp80 = einsum ( t1 , ( 0 , 1 ), tmp9 , ( 2 , 0 ), ( 2 , 1 )) tmp77 = einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 tmp75 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp74 = einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) 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 )) tmp64 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp57 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp55 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) tmp54 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) tmp51 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 5 , 0 , 1 ), ( 4 , 2 , 3 , 5 )) tmp49 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp48 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp37 = einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp33 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp32 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp30 = einsum ( t1 , ( 0 , 1 ), v . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp26 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp23 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp22 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp18 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp17 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp10 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 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 } ebcc . codegen . GCCSD . 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-13T22:13:56.718457. 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. Source code in ebcc/codegen/GCCSD.py 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 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-13T22:13:56.718457. 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 = np . copy ( f . ov ) tmp2 += ints . tmp6 tmp0 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 3 ), ( 0 , 2 )) tmp39 = np . copy ( ints . tmp5 ) tmp39 += ints . tmp64 tmp25 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), r1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp6 = einsum ( r1 , ( 0 , 1 ), tmp2 , ( 2 , 1 ), ( 2 , 0 )) tmp5 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 2 , 3 ), ( 4 , 0 )) tmp31 = einsum ( r1 , ( 0 , 1 ), ints . tmp7 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp19 = einsum ( tmp0 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 1 tmp18 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp43 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), r1 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp42 = einsum ( ints . tmp7 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp41 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp57 = np . copy ( ints . tmp23 ) tmp57 += np . transpose ( ints . tmp30 , ( 2 , 0 , 1 , 3 )) tmp62 = np . copy ( ints . tmp55 ) tmp62 += ints . tmp71 * 2 tmp62 += ints . tmp81 * - 1 tmp60 = np . copy ( ints . tmp10 ) * 0.5 tmp60 += ints . tmp4 tmp26 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp25 tmp23 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 3 ), ( 0 , 2 )) tmp8 = np . copy ( f . oo ) tmp8 += ints . tmp0 tmp8 += np . transpose ( ints . tmp12 , ( 1 , 0 )) tmp8 += ints . tmp2 tmp8 += np . transpose ( ints . tmp9 , ( 1 , 0 )) * 0.5 tmp28 = np . copy ( ints . tmp51 ) tmp28 += ints . tmp77 * - 1 tmp32 = np . copy ( tmp31 ) del tmp31 tmp32 += tmp5 * 0.5 tmp32 += np . transpose ( tmp6 , ( 1 , 0 )) tmp20 = np . copy ( np . transpose ( tmp18 , ( 1 , 0 , 2 , 3 ))) del tmp18 tmp20 += tmp19 * - 2 del tmp19 tmp16 = einsum ( tmp2 , ( 0 , 1 ), r2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) * - 1 tmp14 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp49 = einsum ( r1 , ( 0 , 1 ), ints . tmp7 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp10 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r1 , ( 0 , 3 ), ( 1 , 2 )) tmp44 = np . copy ( tmp41 ) del tmp41 tmp44 += tmp42 * - 1 del tmp42 tmp44 += tmp43 del tmp43 tmp37 = einsum ( r1 , ( 0 , 1 ), v . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp46 = np . copy ( ints . tmp33 ) tmp46 += ints . tmp49 tmp58 = einsum ( tmp57 , ( 0 , 1 , 2 , 3 ), r1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp57 tmp56 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp55 = einsum ( r1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp63 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), r1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * 0.5 del tmp62 tmp61 = einsum ( tmp60 , ( 0 , 1 ), r2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 1 del tmp60 tmp27 = einsum ( t1 , ( 0 , 1 ), tmp26 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp26 tmp24 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp23 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp23 tmp30 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp8 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) * - 1 tmp29 = einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), r1 , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) * 0.5 del tmp28 tmp33 = einsum ( tmp32 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 del tmp32 tmp13 = einsum ( ints . tmp106 , ( 0 , 1 , 2 , 3 ), r1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp21 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * 0.5 del tmp20 tmp17 = einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) del tmp16 tmp15 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) * - 1 del tmp14 tmp65 = np . copy ( ints . tmp75 ) tmp65 += np . transpose ( ints . tmp88 , ( 0 , 2 , 1 , 3 )) tmp52 = einsum ( ints . tmp37 , ( 0 , 1 , 2 , 3 ), r1 , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp53 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp50 = einsum ( t1 , ( 0 , 1 ), tmp49 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp49 tmp9 = einsum ( r1 , ( 0 , 1 ), ints . tmp94 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp11 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 1 del tmp10 tmp45 = einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp44 tmp36 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp38 = einsum ( t1 , ( 0 , 1 ), tmp37 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp37 tmp47 = einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp46 tmp35 = einsum ( r1 , ( 0 , 1 ), ints . tmp57 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp40 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp39 tmp1 = np . copy ( ints . tmp7 ) tmp1 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp67 = np . copy ( ints . tmp101 ) tmp67 += ints . tmp62 * 0.5 tmp67 += v . oooo tmp67 += np . transpose ( ints . tmp40 , ( 0 , 3 , 1 , 2 )) * - 1 tmp67 += np . transpose ( ints . tmp40 , ( 3 , 0 , 1 , 2 )) tmp59 = np . copy ( np . transpose ( tmp55 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp55 tmp59 += np . transpose ( tmp56 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp56 tmp59 += tmp58 del tmp58 tmp71 = np . copy ( ints . tmp105 ) * 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 tmp64 = np . copy ( np . transpose ( tmp61 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp61 tmp64 += tmp63 * - 1 del tmp63 tmp34 = np . copy ( np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp24 tmp34 += np . transpose ( tmp27 , ( 0 , 1 , 3 , 2 )) del tmp27 tmp34 += np . transpose ( tmp29 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp29 tmp34 += np . transpose ( tmp30 , ( 0 , 1 , 3 , 2 )) del tmp30 tmp34 += np . transpose ( tmp33 , ( 0 , 1 , 3 , 2 )) del tmp33 tmp22 = np . copy ( tmp13 ) del tmp13 tmp22 += tmp15 * 0.5 del tmp15 tmp22 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp17 tmp22 += np . transpose ( tmp21 , ( 1 , 0 , 3 , 2 )) del tmp21 tmp66 = einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), r1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp65 tmp54 = np . copy ( tmp52 ) del tmp52 tmp54 += np . transpose ( tmp53 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp53 tmp51 = einsum ( t1 , ( 0 , 1 ), tmp50 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp50 tmp12 = np . copy ( tmp9 ) del tmp9 tmp12 += tmp11 del tmp11 tmp70 = np . copy ( ints . tmp105 ) 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 tmp68 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp48 = np . copy ( tmp35 ) del tmp35 tmp48 += tmp36 del tmp36 tmp48 += tmp38 * - 1 del tmp38 tmp48 += tmp40 * - 1 del tmp40 tmp48 += tmp45 del tmp45 tmp48 += tmp47 del tmp47 tmp69 = np . copy ( t2 ) tmp69 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 tmp3 = np . copy ( ints . tmp5 ) tmp3 += np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 )) * - 1 tmp4 = np . copy ( np . transpose ( ints . tmp10 , ( 1 , 0 ))) * 0.5 tmp4 += np . transpose ( ints . tmp4 , ( 1 , 0 )) tmp4 += f . vv * - 1 tmp7 = np . copy ( np . transpose ( tmp5 , ( 1 , 0 ))) * 0.5 del tmp5 tmp7 += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 3 ), ( 2 , 0 )) tmp7 += tmp6 del tmp6 r2new = einsum ( r2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) * 0.5 r2new += tmp12 r2new += np . transpose ( tmp12 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp12 r2new += tmp22 * - 1 r2new += np . transpose ( tmp22 , ( 0 , 1 , 3 , 2 )) del tmp22 r2new += tmp34 r2new += np . transpose ( tmp34 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp34 r2new += tmp48 * - 1 r2new += np . transpose ( tmp48 , ( 0 , 1 , 3 , 2 )) r2new += np . transpose ( tmp48 , ( 1 , 0 , 2 , 3 )) r2new += np . transpose ( tmp48 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp48 r2new += tmp51 * - 1 r2new += np . transpose ( tmp51 , ( 1 , 0 , 2 , 3 )) del tmp51 r2new += np . transpose ( tmp54 , ( 0 , 1 , 3 , 2 )) r2new += np . transpose ( tmp54 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp54 r2new += np . transpose ( tmp59 , ( 1 , 0 , 2 , 3 )) r2new += np . transpose ( tmp59 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp59 r2new += np . transpose ( tmp64 , ( 1 , 0 , 2 , 3 )) r2new += np . transpose ( tmp64 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp64 r2new += tmp66 r2new += np . transpose ( tmp66 , ( 0 , 1 , 3 , 2 )) * - 1 r2new += np . transpose ( tmp66 , ( 1 , 0 , 2 , 3 )) * - 1 r2new += np . transpose ( tmp66 , ( 1 , 0 , 3 , 2 )) del tmp66 r2new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp67 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) * 0.5 del tmp67 r2new += einsum ( tmp68 , ( 0 , 1 , 2 , 3 ), tmp69 , ( 2 , 3 , 4 , 5 ), ( 1 , 0 , 5 , 4 )) * 0.25 del tmp68 , tmp69 r2new += einsum ( tmp70 , ( 0 , 1 ), r1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 r2new += einsum ( tmp70 , ( 0 , 1 ), r1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 r2new += einsum ( r1 , ( 0 , 1 ), tmp71 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 0.5 del tmp71 r2new += einsum ( tmp70 , ( 0 , 1 ), r1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) del tmp70 r1new = einsum ( tmp0 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp0 r1new += einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 0 , 2 , 3 ), ( 4 , 1 )) * - 0.5 r1new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * 0.5 del tmp1 r1new += einsum ( tmp2 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp2 r1new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 3 ), ( 0 , 2 )) del tmp3 r1new += einsum ( r1 , ( 0 , 1 ), tmp4 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp4 r1new += einsum ( t1 , ( 0 , 1 ), tmp7 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp7 r1new += einsum ( r1 , ( 0 , 1 ), tmp8 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp8 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . GCCSD . hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-13T22:14:02.729337. Parameters f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp1 : array tmp10 : array tmp11 : array tmp12 : array tmp13 : array tmp14 : array tmp15 : array tmp16 : array tmp17 : array tmp18 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp24 : array tmp25 : array tmp26 : array tmp27 : array tmp28 : array tmp29 : array tmp3 : array tmp30 : array tmp31 : array tmp32 : array tmp33 : array tmp34 : array tmp4 : array tmp43 : array tmp44 : array tmp5 : array tmp6 : array tmp7 : array tmp8 : array tmp9 : array Source code in ebcc/codegen/GCCSD.py 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 def hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:14:02.729337. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp10 : array tmp11 : array tmp12 : array tmp13 : array tmp14 : array tmp15 : array tmp16 : array tmp17 : array tmp18 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp24 : array tmp25 : array tmp26 : array tmp27 : array tmp28 : array tmp29 : array tmp3 : array tmp30 : array tmp31 : array tmp32 : array tmp33 : array tmp34 : array tmp4 : array tmp43 : array tmp44 : array tmp5 : array tmp6 : array tmp7 : array tmp8 : array tmp9 : array \"\"\" tmp18 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp15 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp33 = einsum ( t1 , ( 0 , 1 ), tmp18 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp24 = einsum ( t1 , ( 0 , 1 ), tmp15 , ( 2 , 1 ), ( 0 , 2 )) tmp30 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp28 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp26 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp6 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp22 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp10 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp0 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp44 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp43 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp34 = einsum ( t1 , ( 0 , 1 ), tmp33 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp32 = einsum ( tmp24 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp31 = einsum ( t1 , ( 0 , 1 ), tmp30 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp29 = einsum ( tmp28 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp27 = einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp25 = einsum ( tmp6 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp23 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp21 = einsum ( t1 , ( 0 , 1 ), tmp10 , ( 2 , 0 ), ( 2 , 1 )) tmp20 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp17 = einsum ( tmp15 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 1 tmp16 = einsum ( tmp15 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) tmp12 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp11 = einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp9 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp8 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp7 = einsum ( v . oooo , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp5 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp3 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp2 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp11\" : tmp11 , f \"tmp12\" : tmp12 , f \"tmp13\" : tmp13 , f \"tmp14\" : tmp14 , f \"tmp15\" : tmp15 , f \"tmp16\" : tmp16 , f \"tmp17\" : tmp17 , f \"tmp18\" : tmp18 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp23\" : tmp23 , f \"tmp24\" : tmp24 , f \"tmp25\" : tmp25 , f \"tmp26\" : tmp26 , f \"tmp27\" : tmp27 , f \"tmp28\" : tmp28 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp31\" : tmp31 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp34\" : tmp34 , f \"tmp4\" : tmp4 , f \"tmp43\" : tmp43 , f \"tmp44\" : tmp44 , f \"tmp5\" : tmp5 , f \"tmp6\" : tmp6 , f \"tmp7\" : tmp7 , f \"tmp8\" : tmp8 , f \"tmp9\" : tmp9 } ebcc . codegen . GCCSD . hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-13T22:14:02.745023. 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. Source code in ebcc/codegen/GCCSD.py 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:14:02.745023. 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\" ] tmp9 = np . copy ( ints . tmp30 ) tmp9 += ints . tmp44 tmp6 = einsum ( t1 , ( 0 , 1 ), r2 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) tmp13 = np . copy ( f . oo ) tmp13 += np . transpose ( ints . tmp0 , ( 1 , 0 )) tmp13 += ints . tmp24 tmp13 += np . transpose ( ints . tmp6 , ( 1 , 0 )) tmp10 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 0 , 2 ), ( 1 , 4 , 3 )) * - 1 del tmp9 tmp8 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 2 , 1 ), ( 4 , 0 , 3 )) tmp4 = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp10 , ( 1 , 3 ), ( 3 , 0 , 2 )) tmp5 = einsum ( r2 , ( 0 , 1 , 2 ), v . ovov , ( 3 , 2 , 1 , 4 ), ( 0 , 3 , 4 )) tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 ), ints . tmp18 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) del tmp6 tmp11 = np . copy ( f . ov ) tmp11 += ints . tmp15 tmp17 = np . copy ( ints . tmp18 ) tmp17 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp15 = np . copy ( ints . tmp22 ) tmp15 += ints . tmp33 * 2 tmp15 += v . oooo * 2 tmp15 += np . transpose ( ints . tmp26 , ( 0 , 3 , 1 , 2 )) * - 4 tmp3 = einsum ( r2 , ( 0 , 1 , 2 ), t2 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) tmp14 = einsum ( r2 , ( 0 , 1 , 2 ), tmp13 , ( 1 , 3 ), ( 3 , 0 , 2 )) * - 1 del tmp13 tmp12 = np . copy ( tmp4 ) * - 0.5 del tmp4 tmp12 += tmp5 del tmp5 tmp12 += tmp7 * - 1 del tmp7 tmp12 += tmp8 * - 1 del tmp8 tmp12 += tmp10 * - 1 del tmp10 tmp12 += einsum ( r1 , ( 0 ,), tmp11 , ( 1 , 2 ), ( 1 , 0 , 2 )) tmp16 = np . copy ( ints . tmp28 ) tmp16 += ints . tmp43 * 0.5 tmp16 += f . vv * - 1 tmp16 += einsum ( t1 , ( 0 , 1 ), tmp11 , ( 0 , 2 ), ( 1 , 2 )) del tmp11 tmp2 = np . copy ( f . oo ) * 2 tmp2 += np . transpose ( ints . tmp0 , ( 1 , 0 )) * 2 tmp2 += ints . tmp10 tmp2 += ints . tmp24 * 2 tmp2 += np . transpose ( ints . tmp6 , ( 1 , 0 )) * 2 tmp0 = np . copy ( ints . tmp12 ) tmp0 += np . transpose ( ints . tmp23 , ( 0 , 2 , 1 , 3 )) * 0.25 tmp0 += np . transpose ( ints . tmp34 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp0 += np . transpose ( ints . tmp4 , ( 1 , 0 , 2 , 3 )) * 0.5 tmp0 += np . transpose ( ints . tmp7 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp0 += ints . tmp9 tmp0 += np . transpose ( ints . tmp14 , ( 0 , 2 , 1 , 3 )) * - 0.25 tmp0 += np . transpose ( ints . tmp17 , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp0 += np . transpose ( ints . tmp20 , ( 0 , 2 , 1 , 3 )) * - 1 tmp0 += ints . tmp27 * - 1 tmp0 += np . transpose ( ints . tmp31 , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp0 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp1 = np . copy ( ints . tmp11 ) tmp1 += ints . tmp13 tmp1 += ints . tmp19 tmp1 += ints . tmp1 * 2 tmp1 += ints . tmp21 tmp1 += ints . tmp25 * 2 tmp1 += ints . tmp29 * 2 tmp1 += ints . tmp32 * 2 tmp1 += ints . tmp5 * 2 tmp1 += ints . tmp8 * 2 tmp1 += f . ov * - 2 tmp1 += ints . tmp16 * - 2 tmp1 += ints . tmp2 * - 2 tmp1 += ints . tmp3 * - 2 r2new = einsum ( tmp3 , ( 0 ,), v . oovv , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 0.5 del tmp3 r2new += tmp12 * - 1 r2new += np . transpose ( tmp12 , ( 1 , 0 , 2 )) del tmp12 r2new += tmp14 * - 1 r2new += np . transpose ( tmp14 , ( 1 , 0 , 2 )) del tmp14 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp15 , ( 0 , 1 , 3 , 4 ), ( 3 , 4 , 2 )) * 0.25 del tmp15 r2new += einsum ( tmp16 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp16 r2new += einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), r1 , ( 0 ,), ( 2 , 1 , 3 )) * - 1 del tmp17 r1new = einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 1 , 3 , 0 , 2 ), ( 3 ,)) * - 1 del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 ), r2 , ( 2 , 0 , 1 ), ( 2 ,)) * - 0.5 del tmp1 r1new += einsum ( r1 , ( 0 ,), tmp2 , ( 0 , 1 ), ( 1 ,)) * - 0.5 del tmp2 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . GCCSD . hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-13T22:14:09.386301. Parameters f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp1 : array tmp10 : array tmp11 : array tmp12 : array tmp13 : array tmp14 : array tmp15 : array tmp16 : array tmp17 : array tmp18 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp24 : array tmp25 : array tmp27 : array tmp28 : array tmp29 : array tmp3 : array tmp30 : array tmp5 : array tmp6 : array tmp7 : array tmp8 : array Source code in ebcc/codegen/GCCSD.py 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 def hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:14:09.386301. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp1 : array tmp10 : array tmp11 : array tmp12 : array tmp13 : array tmp14 : array tmp15 : array tmp16 : array tmp17 : array tmp18 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp24 : array tmp25 : array tmp27 : array tmp28 : array tmp29 : array tmp3 : array tmp30 : array tmp5 : array tmp6 : array tmp7 : array tmp8 : array \"\"\" tmp16 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp29 = einsum ( t1 , ( 0 , 1 ), tmp16 , ( 2 , 1 ), ( 0 , 2 )) tmp7 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp24 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp21 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp18 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp5 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp30 = einsum ( tmp29 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp28 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp27 = einsum ( tmp7 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp25 = einsum ( t1 , ( 0 , 1 ), tmp24 , ( 0 , 2 ), ( 2 , 1 )) tmp23 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp22 = einsum ( tmp21 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp20 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 1 , 0 , 5 ), ( 4 , 2 , 3 , 5 )) * - 1 tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp17 = einsum ( tmp16 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp15 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 5 , 0 , 1 ), ( 4 , 2 , 3 , 5 )) tmp12 = einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp11 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp10 = einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp8 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp6 = einsum ( tmp5 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp3 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp2 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp11\" : tmp11 , f \"tmp12\" : tmp12 , f \"tmp13\" : tmp13 , f \"tmp14\" : tmp14 , f \"tmp15\" : tmp15 , f \"tmp16\" : tmp16 , f \"tmp17\" : tmp17 , f \"tmp18\" : tmp18 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp23\" : tmp23 , f \"tmp24\" : tmp24 , f \"tmp25\" : tmp25 , f \"tmp27\" : tmp27 , f \"tmp28\" : tmp28 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp5\" : tmp5 , f \"tmp6\" : tmp6 , f \"tmp7\" : tmp7 , f \"tmp8\" : tmp8 } ebcc . codegen . GCCSD . hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-13T22:14:09.399012. 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. Source code in ebcc/codegen/GCCSD.py 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:14:09.399012. 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 = np . copy ( f . ov ) tmp10 += ints . tmp16 tmp17 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp11 = einsum ( ints . tmp18 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp14 = einsum ( tmp10 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * 2 tmp18 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) tmp18 += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp17 tmp12 = np . copy ( ints . tmp23 ) tmp12 += ints . tmp28 tmp12 += np . transpose ( tmp11 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp11 tmp15 = np . copy ( ints . tmp11 ) tmp15 += f . vv * - 2 tmp15 += np . transpose ( tmp14 , ( 1 , 0 )) del tmp14 tmp22 = np . copy ( t2 ) tmp22 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 tmp7 = einsum ( t1 , ( 0 , 1 ), r1 , ( 1 ,), ( 0 ,)) tmp8 = einsum ( r2 , ( 0 , 1 , 2 ), t2 , ( 3 , 2 , 0 , 1 ), ( 3 ,)) tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 3 , 0 ), ( 1 , 2 , 4 )) * - 1 del tmp18 tmp13 = einsum ( r2 , ( 0 , 1 , 2 ), tmp12 , ( 2 , 3 , 1 , 4 ), ( 3 , 4 , 0 )) * - 1 del tmp12 tmp16 = einsum ( r2 , ( 0 , 1 , 2 ), tmp15 , ( 1 , 3 ), ( 2 , 3 , 0 )) * - 0.5 del tmp15 tmp1 = einsum ( t1 , ( 0 , 1 ), r2 , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp24 = np . copy ( f . oo ) tmp24 += ints . tmp21 * 0.5 tmp24 += np . transpose ( ints . tmp24 , ( 1 , 0 )) tmp24 += ints . tmp29 tmp24 += np . transpose ( ints . tmp5 , ( 1 , 0 )) tmp23 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 ), ( 4 , 1 , 0 )) * - 1 del tmp22 tmp9 = np . copy ( tmp7 ) * 2 del tmp7 tmp9 += tmp8 del tmp8 tmp21 = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp7 , ( 1 , 3 ), ( 2 , 3 , 0 )) tmp20 = np . copy ( tmp13 ) * - 1 del tmp13 tmp20 += tmp16 del tmp16 tmp20 += np . transpose ( tmp19 , ( 0 , 2 , 1 )) * - 1 del tmp19 tmp20 += einsum ( tmp10 , ( 0 , 1 ), r1 , ( 2 ,), ( 0 , 1 , 2 )) tmp2 = np . copy ( ints . tmp23 ) tmp2 += ints . tmp28 tmp2 += np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 )) * - 1 tmp0 = np . copy ( ints . tmp10 ) * 0.5 tmp0 += ints . tmp15 tmp0 += ints . tmp20 * 0.25 tmp0 += ints . tmp13 * - 0.25 tmp0 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) * - 0.5 tmp3 = einsum ( t1 , ( 0 , 1 ), tmp1 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * - 1 tmp4 = np . copy ( ints . tmp18 ) tmp4 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp5 = np . copy ( ints . tmp12 ) tmp5 += ints . tmp14 tmp5 += ints . tmp19 tmp5 += ints . tmp1 * 2 tmp5 += ints . tmp22 tmp5 += ints . tmp25 * 2 tmp5 += ints . tmp27 * 2 tmp5 += ints . tmp30 * 2 tmp5 += ints . tmp6 * 2 tmp5 += ints . tmp8 * 2 tmp5 += f . ov * - 2 tmp5 += ints . tmp17 * - 2 tmp5 += ints . tmp2 * - 2 tmp5 += ints . tmp3 * - 2 tmp6 = np . copy ( ints . tmp11 ) * 0.5 tmp6 += ints . tmp7 tmp6 += f . vv * - 1 r2new = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r1 , ( 1 ,), ( 2 , 3 , 0 )) * - 1 r2new += einsum ( tmp1 , ( 0 , 1 , 2 ), v . ovvv , ( 1 , 2 , 3 , 4 ), ( 3 , 4 , 0 )) r2new += einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) * 0.5 r2new += np . transpose ( tmp20 , ( 1 , 2 , 0 )) * - 1 r2new += np . transpose ( tmp20 , ( 2 , 1 , 0 )) del tmp20 r2new += np . transpose ( tmp21 , ( 1 , 2 , 0 )) r2new += np . transpose ( tmp21 , ( 2 , 1 , 0 )) * - 1 del tmp21 r2new += einsum ( tmp23 , ( 0 , 1 , 2 ), v . oovv , ( 1 , 2 , 3 , 4 ), ( 3 , 4 , 0 )) * 0.25 del tmp23 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp24 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp24 r2new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp9 , ( 1 ,), ( 2 , 3 , 0 )) * 0.5 r1new = einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 2 , 0 , 1 , 3 ), ( 3 ,)) del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 , 2 ), tmp2 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) del tmp1 , tmp2 r1new += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 0 , 2 , 1 ), ( 3 ,)) * - 0.5 del tmp4 , tmp3 r1new += einsum ( tmp5 , ( 0 , 1 ), r2 , ( 2 , 1 , 0 ), ( 2 ,)) * - 0.5 del tmp5 r1new += einsum ( tmp6 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) * - 1 del tmp6 r1new += einsum ( tmp10 , ( 0 , 1 ), tmp9 , ( 0 ,), ( 1 ,)) * - 0.5 del tmp10 , tmp9 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . GCCSD . hbar_lmatvec_ee_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-13T22:14:20.353163. Parameters f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp10 : array tmp11 : array tmp12 : array tmp13 : array tmp15 : array tmp16 : array tmp17 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp24 : array tmp26 : array tmp27 : array tmp28 : array tmp29 : array tmp3 : array tmp30 : array tmp31 : array tmp32 : array tmp33 : array tmp34 : array tmp35 : array tmp36 : array tmp38 : array tmp39 : array tmp4 : array tmp40 : array tmp41 : array tmp43 : array tmp44 : array tmp45 : array tmp46 : array tmp47 : array tmp5 : array tmp7 : array tmp8 : array tmp9 : array Source code in ebcc/codegen/GCCSD.py 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 def hbar_lmatvec_ee_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:14:20.353163. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp10 : array tmp11 : array tmp12 : array tmp13 : array tmp15 : array tmp16 : array tmp17 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp24 : array tmp26 : array tmp27 : array tmp28 : array tmp29 : array tmp3 : array tmp30 : array tmp31 : array tmp32 : array tmp33 : array tmp34 : array tmp35 : array tmp36 : array tmp38 : array tmp39 : array tmp4 : array tmp40 : array tmp41 : array tmp43 : array tmp44 : array tmp45 : array tmp46 : array tmp47 : array tmp5 : array tmp7 : array tmp8 : array tmp9 : array \"\"\" tmp29 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp26 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp46 = einsum ( t1 , ( 0 , 1 ), tmp29 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp38 = einsum ( t1 , ( 0 , 1 ), tmp26 , ( 2 , 1 ), ( 0 , 2 )) tmp10 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp9 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp40 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp8 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp34 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp16 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp0 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp47 = einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp45 = einsum ( tmp38 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp44 = einsum ( t1 , ( 0 , 1 ), tmp10 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp43 = einsum ( t1 , ( 0 , 1 ), tmp9 , ( 2 , 1 ), ( 0 , 2 )) tmp41 = einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp39 = einsum ( tmp8 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp36 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp35 = einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp33 = einsum ( tmp16 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp32 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 4 , 1 , 0 , 5 ), ( 4 , 2 , 3 , 5 )) * - 1 tmp31 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 tmp30 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp28 = einsum ( tmp26 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 1 tmp27 = einsum ( tmp26 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp24 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp23 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) tmp22 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) tmp21 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 5 , 0 , 1 ), ( 4 , 2 , 3 , 5 )) tmp20 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp19 = einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp17 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp15 = einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp13 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp12 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp11 = einsum ( v . oooo , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp7 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp5 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp4 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp3 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp2 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) return { f \"tmp0\" : tmp0 , f \"tmp10\" : tmp10 , f \"tmp11\" : tmp11 , f \"tmp12\" : tmp12 , f \"tmp13\" : tmp13 , f \"tmp15\" : tmp15 , f \"tmp16\" : tmp16 , f \"tmp17\" : tmp17 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp23\" : tmp23 , f \"tmp24\" : tmp24 , f \"tmp26\" : tmp26 , f \"tmp27\" : tmp27 , f \"tmp28\" : tmp28 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp31\" : tmp31 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp34\" : tmp34 , f \"tmp35\" : tmp35 , f \"tmp36\" : tmp36 , 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 \"tmp47\" : tmp47 , f \"tmp5\" : tmp5 , f \"tmp7\" : tmp7 , f \"tmp8\" : tmp8 , f \"tmp9\" : tmp9 } ebcc . codegen . GCCSD . hbar_lmatvec_ee ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-13T22:14:20.373234. 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. Source code in ebcc/codegen/GCCSD.py 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 def hbar_lmatvec_ee ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:14:20.373234. 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 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp0 = einsum ( t1 , ( 0 , 1 ), r1 , ( 2 , 1 ), ( 2 , 0 )) tmp14 = np . copy ( f . oo ) tmp14 += np . transpose ( ints . tmp0 , ( 1 , 0 )) tmp14 += ints . tmp16 * 0.5 tmp14 += ints . tmp38 tmp14 += np . transpose ( ints . tmp8 , ( 1 , 0 )) tmp12 = np . copy ( tmp0 ) * 2 tmp12 += tmp2 tmp5 = einsum ( t1 , ( 0 , 1 ), r2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp16 = np . copy ( f . ov ) tmp16 += ints . tmp26 tmp1 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp26 = np . copy ( ints . tmp10 ) tmp26 += ints . tmp36 tmp17 = einsum ( tmp14 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 tmp18 = einsum ( tmp12 , ( 0 , 1 ), v . oovv , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 0.5 tmp21 = einsum ( tmp16 , ( 0 , 1 ), tmp5 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp20 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) * - 1 tmp27 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp26 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp26 tmp24 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp5 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp23 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp25 = einsum ( ints . tmp29 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp34 = np . copy ( ints . tmp17 ) * 0.5 tmp34 += ints . tmp9 tmp32 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp31 = einsum ( r1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp30 = einsum ( ints . tmp29 , ( 0 , 1 , 2 , 3 ), r1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) tmp7 = einsum ( t1 , ( 0 , 1 ), tmp5 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp36 = np . copy ( np . transpose ( ints . tmp40 , ( 0 , 3 , 1 , 2 ))) tmp36 += ints . tmp34 * - 0.25 tmp36 += ints . tmp46 * - 0.5 tmp36 += v . oooo * - 0.5 tmp19 = np . copy ( np . transpose ( tmp17 , ( 0 , 1 , 3 , 2 ))) del tmp17 tmp19 += np . transpose ( tmp18 , ( 1 , 0 , 3 , 2 )) del tmp18 tmp22 = np . copy ( tmp20 ) * - 0.5 del tmp20 tmp22 += np . transpose ( tmp21 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp21 tmp28 = np . copy ( tmp23 ) * - 1 del tmp23 tmp28 += tmp24 del tmp24 tmp28 += tmp25 * - 1 del tmp25 tmp28 += tmp27 del tmp27 tmp28 += einsum ( tmp16 , ( 0 , 1 ), r1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp35 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp34 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * - 1 del tmp34 tmp29 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp33 = np . copy ( tmp30 ) * - 1 del tmp30 tmp33 += np . transpose ( tmp31 , ( 1 , 0 , 2 , 3 )) del tmp31 tmp33 += np . transpose ( tmp32 , ( 1 , 0 , 2 , 3 )) del tmp32 tmp37 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) * - 0.5 tmp37 += np . transpose ( tmp7 , ( 0 , 1 , 3 , 2 )) tmp3 = np . copy ( ints . tmp15 ) * 0.5 tmp3 += ints . tmp24 tmp3 += ints . tmp32 * 0.25 tmp3 += ints . tmp21 * - 0.25 tmp3 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) * - 0.5 tmp4 = np . copy ( ints . tmp11 ) tmp4 += np . transpose ( ints . tmp13 , ( 0 , 2 , 1 , 3 )) * 2 tmp4 += np . transpose ( ints . tmp20 , ( 0 , 2 , 1 , 3 )) * 2 tmp4 += ints . tmp35 * 0.5 tmp4 += ints . tmp47 tmp4 += np . transpose ( ints . tmp5 , ( 1 , 2 , 0 , 3 )) tmp4 += ints . tmp23 * - 0.5 tmp4 += ints . tmp28 * - 1 tmp4 += ints . tmp31 * - 2 tmp4 += np . transpose ( ints . tmp41 , ( 0 , 2 , 1 , 3 )) * - 2 tmp4 += ints . tmp44 * - 1 tmp4 += v . ooov * - 1 tmp15 = np . copy ( tmp0 ) tmp15 += tmp2 * 0.5 tmp10 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 3 ), ( 0 , 2 )) * 2 tmp10 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) * - 1 tmp9 = np . copy ( ints . tmp12 ) tmp9 += ints . tmp19 * 0.5 tmp9 += ints . tmp22 * 0.5 tmp9 += ints . tmp2 tmp9 += ints . tmp30 * 0.5 tmp9 += ints . tmp33 * 0.5 tmp9 += ints . tmp39 tmp9 += ints . tmp43 tmp9 += ints . tmp45 tmp9 += ints . tmp7 tmp9 += f . ov * - 1 tmp9 += ints . tmp27 * - 1 tmp9 += ints . tmp3 * - 1 tmp9 += ints . tmp4 * - 1 tmp13 = np . copy ( ints . tmp17 ) * 0.5 tmp13 += ints . tmp9 tmp13 += f . vv * - 1 tmp6 = np . copy ( ints . tmp10 ) tmp6 += ints . tmp36 tmp6 += np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 )) * - 1 tmp11 = np . copy ( ints . tmp10 ) tmp11 += np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 )) * - 1 tmp8 = np . copy ( ints . tmp29 ) tmp8 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 r2new = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), tmp5 , ( 4 , 5 , 0 , 1 ), ( 5 , 4 , 2 , 3 )) * - 1 r2new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) * 0.5 r2new += tmp19 r2new += np . transpose ( tmp19 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp19 r2new += tmp22 r2new += np . transpose ( tmp22 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp22 r2new += tmp28 r2new += np . transpose ( tmp28 , ( 0 , 1 , 3 , 2 )) * - 1 r2new += np . transpose ( tmp28 , ( 1 , 0 , 2 , 3 )) * - 1 r2new += np . transpose ( tmp28 , ( 1 , 0 , 3 , 2 )) del tmp28 r2new += np . transpose ( tmp29 , ( 0 , 1 , 3 , 2 )) r2new += np . transpose ( tmp29 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp29 r2new += np . transpose ( tmp33 , ( 1 , 0 , 2 , 3 )) * - 1 r2new += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) del tmp33 r2new += np . transpose ( tmp35 , ( 1 , 0 , 2 , 3 )) r2new += np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp35 r2new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp36 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) * - 1 del tmp36 r2new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 5 , 0 , 1 ), ( 5 , 4 , 2 , 3 )) * 0.5 del tmp37 r1new = einsum ( ints . tmp29 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 0 , 2 ), ( 1 , 3 )) * - 1 del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 ), v . ovvv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 0.5 del tmp1 r1new += einsum ( ints . tmp29 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 2 ), ( 1 , 3 )) * - 0.5 del tmp2 r1new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) del tmp3 r1new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) * 0.5 del tmp4 r1new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 del tmp5 , tmp6 r1new += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 4 , 0 , 2 , 1 ), ( 4 , 3 )) * - 0.5 del tmp7 , tmp8 r1new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 1 , 3 ), ( 0 , 2 )) * - 1 del tmp9 r1new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp10 , ( 1 , 3 ), ( 0 , 2 )) * 0.5 del tmp10 r1new += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), r1 , ( 0 , 2 ), ( 1 , 3 )) del tmp11 r1new += einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp12 , ( 2 , 1 ), ( 0 , 3 )) * 0.5 del tmp12 r1new += einsum ( r1 , ( 0 , 1 ), tmp13 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp13 r1new += einsum ( tmp14 , ( 0 , 1 ), r1 , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp14 r1new += einsum ( tmp15 , ( 0 , 1 ), tmp16 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp16 , tmp15 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"GCCSD"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.energy","text":"Code generated by albert 0.0.0 on 2024-08-13T22:13:05.515420.","title":"energy"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.energy--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/GCCSD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:13:05.515420. 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 ), ( 0 , 2 , 1 , 3 )) * 2 e_cc = einsum ( t1 , ( 0 , 1 ), f . ov , ( 0 , 1 ), ()) e_cc += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp0 , ( 0 , 1 , 2 , 3 ), ()) * 0.25 del tmp0 return e_cc","title":"Returns"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-13T22:13:09.825415.","title":"update_amps"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.update_amps--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.update_amps--returns","text":"t1new : array Updated T1 residuals. t2new : array Updated T2 residuals. Source code in ebcc/codegen/GCCSD.py 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:13:09.825415. 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. \"\"\" tmp21 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) tmp20 = 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 )) tmp18 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp22 = np . copy ( np . transpose ( tmp20 , ( 0 , 2 , 1 , 3 ))) * - 1 del tmp20 tmp22 += np . transpose ( tmp21 , ( 2 , 1 , 0 , 3 )) * 0.5 del tmp21 tmp11 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp15 = einsum ( tmp3 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 1 tmp42 = np . copy ( t2 ) tmp42 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 tmp40 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp5 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp28 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 2 , 3 ), ( 4 , 0 )) tmp7 = np . copy ( t2 ) tmp7 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 tmp30 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp0 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp9 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp6 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp37 = einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 1 ), ( 0 , 2 )) tmp19 = einsum ( tmp18 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) del tmp18 tmp23 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp22 tmp12 = einsum ( tmp11 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 1 del tmp11 tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp13 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp13 tmp16 = einsum ( t1 , ( 0 , 1 ), tmp15 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp15 tmp43 = einsum ( tmp42 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 0 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp42 tmp41 = einsum ( t1 , ( 0 , 1 ), tmp40 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp40 tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) tmp29 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp28 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) del tmp28 tmp31 = einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 1 , 2 , 4 , 5 ), ( 0 , 3 , 4 , 5 )) * 0.5 del tmp30 tmp33 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp45 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp46 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp25 = einsum ( t1 , ( 0 , 1 ), tmp9 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) * - 1 tmp35 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp36 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 tmp38 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 1 del tmp37 tmp24 = np . copy ( tmp19 ) * 0.5 del tmp19 tmp24 += np . transpose ( tmp23 , ( 1 , 0 , 3 , 2 )) del tmp23 tmp2 = np . copy ( t2 ) * 0.5 tmp2 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp17 = np . copy ( tmp12 ) del tmp12 tmp17 += tmp14 del tmp14 tmp17 += tmp16 * - 1 del tmp16 tmp49 = np . copy ( v . oooo ) tmp49 += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp7 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 5 , 4 )) * - 0.5 tmp44 = np . copy ( tmp41 ) del tmp41 tmp44 += tmp43 * - 1 del tmp43 tmp32 = np . copy ( np . transpose ( tmp27 , ( 0 , 1 , 3 , 2 ))) del tmp27 tmp32 += np . transpose ( tmp29 , ( 0 , 1 , 3 , 2 )) * - 0.5 del tmp29 tmp32 += np . transpose ( tmp31 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp31 tmp10 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * - 1 del tmp9 tmp34 = einsum ( t1 , ( 0 , 1 ), tmp33 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp33 tmp47 = np . copy ( np . transpose ( tmp45 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp45 tmp47 += np . transpose ( tmp46 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp46 tmp26 = einsum ( t1 , ( 0 , 1 ), tmp25 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 1 , 4 )) * - 1 del tmp25 tmp39 = np . copy ( np . transpose ( tmp35 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp35 tmp39 += np . transpose ( tmp36 , ( 0 , 1 , 3 , 2 )) del tmp36 tmp39 += np . transpose ( tmp38 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp38 tmp48 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp8 = np . copy ( f . oo ) tmp8 += tmp5 del tmp5 tmp8 += tmp6 del tmp6 tmp8 += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp7 , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) * - 0.5 tmp1 = np . copy ( np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 ))) * - 1 tmp1 += np . transpose ( tmp0 , ( 0 , 2 , 1 , 3 )) * - 1 del tmp0 tmp4 = np . copy ( f . ov ) tmp4 += tmp3 del tmp3 t2new = np . copy ( v . oovv ) t2new += tmp10 t2new += np . transpose ( tmp10 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp10 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp10 , ( 1 , 0 , 3 , 2 )) del tmp10 t2new += tmp17 t2new += np . transpose ( tmp17 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp17 t2new += tmp24 * - 1 t2new += np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 )) del tmp24 t2new += tmp26 * - 1 t2new += np . transpose ( tmp26 , ( 0 , 1 , 3 , 2 )) del tmp26 t2new += tmp32 * - 1 t2new += np . transpose ( tmp32 , ( 1 , 0 , 2 , 3 )) del tmp32 t2new += tmp34 * - 1 t2new += np . transpose ( tmp34 , ( 0 , 1 , 3 , 2 )) t2new += np . transpose ( tmp34 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp34 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp34 t2new += tmp39 * - 1 t2new += np . transpose ( tmp39 , ( 1 , 0 , 2 , 3 )) del tmp39 t2new += tmp44 t2new += np . transpose ( tmp44 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp44 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp44 , ( 1 , 0 , 3 , 2 )) del tmp44 t2new += tmp47 * - 1 t2new += np . transpose ( tmp47 , ( 0 , 1 , 3 , 2 )) del tmp47 t2new += np . transpose ( tmp48 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp48 , ( 1 , 0 , 3 , 2 )) del tmp48 t2new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), tmp49 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 3 , 2 )) * - 0.5 del tmp7 , tmp49 t2new += einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 5 , 2 , 3 ), ( 1 , 0 , 4 , 5 )) * - 1 t1new = np . copy ( f . ov ) t1new += einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) * - 1 t1new += einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) t1new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * 0.5 del tmp1 t1new += einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 4 , 2 , 3 ), ( 4 , 1 )) del tmp2 t1new += einsum ( tmp4 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp4 t1new += einsum ( tmp8 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp8 return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.update_lams","text":"Code generated by albert 0.0.0 on 2024-08-13T22:13:15.890862.","title":"update_lams"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.update_lams--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.update_lams--returns","text":"l1new : array Updated L1 residuals. l2new : array Updated L2 residuals. Source code in ebcc/codegen/GCCSD.py 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 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-13T22:13:15.890862. 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 )) tmp34 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp23 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp20 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp19 = einsum ( t1 , ( 0 , 1 ), l1 , ( 1 , 2 ), ( 2 , 0 )) tmp26 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp25 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp1 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp2 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp6 = np . copy ( np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 ))) * - 1 tmp6 += np . transpose ( tmp5 , ( 0 , 2 , 1 , 3 )) * - 1 tmp35 = np . copy ( tmp23 ) tmp35 += tmp34 * 0.5 del tmp34 tmp45 = np . copy ( tmp19 ) tmp45 += tmp20 * 0.5 tmp43 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp47 = np . copy ( tmp25 ) * 2 tmp47 += np . transpose ( tmp26 , ( 1 , 0 )) tmp39 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp29 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp29 += tmp1 tmp7 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp4 = einsum ( t1 , ( 0 , 1 ), tmp2 , ( 2 , 3 , 4 , 1 ), ( 3 , 2 , 4 , 0 )) tmp3 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp10 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp11 = np . copy ( v . ooov ) tmp11 += np . transpose ( tmp5 , ( 2 , 1 , 0 , 3 )) * 0.5 tmp32 = einsum ( f . ov , ( 0 , 1 ), tmp2 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp33 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) * - 1 tmp37 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), l1 , ( 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp36 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp35 , ( 1 , 4 ), ( 2 , 3 , 4 , 0 )) * - 1 del tmp35 tmp46 = einsum ( tmp45 , ( 0 , 1 ), v . oovv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 del tmp45 tmp44 = einsum ( tmp43 , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) del tmp43 tmp48 = einsum ( tmp47 , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 0.5 del tmp47 tmp41 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) * - 1 del tmp5 tmp40 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp39 , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) del tmp39 tmp28 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp30 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 3 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 0 )) del tmp29 tmp52 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp53 = einsum ( tmp7 , ( 0 , 1 ), tmp2 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp50 = einsum ( t1 , ( 0 , 1 ), tmp7 , ( 2 , 1 ), ( 0 , 2 )) tmp56 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), l1 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) tmp55 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), f . oo , ( 4 , 3 ), ( 4 , 2 , 0 , 1 )) tmp8 = np . copy ( f . ov ) tmp8 += tmp7 tmp21 = np . copy ( tmp19 ) * 2 del tmp19 tmp21 += tmp20 del tmp20 tmp15 = np . copy ( np . transpose ( tmp3 , ( 1 , 0 , 3 , 2 ))) * - 0.5 tmp15 += np . transpose ( tmp4 , ( 0 , 1 , 3 , 2 )) tmp9 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) tmp9 += np . transpose ( tmp1 , ( 0 , 1 , 3 , 2 )) * - 0.5 tmp12 = np . copy ( v . oooo ) * - 0.5 tmp12 += np . transpose ( tmp10 , ( 3 , 2 , 1 , 0 )) * - 0.25 tmp12 += einsum ( t1 , ( 0 , 1 ), tmp11 , ( 2 , 3 , 4 , 1 ), ( 3 , 2 , 0 , 4 )) * - 1 tmp38 = np . copy ( tmp32 ) * - 1 del tmp32 tmp38 += tmp33 * 0.5 del tmp33 tmp38 += np . transpose ( tmp36 , ( 1 , 0 , 3 , 2 )) del tmp36 tmp38 += np . transpose ( tmp37 , ( 1 , 0 , 3 , 2 )) del tmp37 tmp49 = np . copy ( np . transpose ( tmp44 , ( 0 , 1 , 3 , 2 ))) del tmp44 tmp49 += np . transpose ( tmp46 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp46 tmp49 += np . transpose ( tmp48 , ( 1 , 0 , 3 , 2 )) del tmp48 tmp42 = np . copy ( tmp40 ) del tmp40 tmp42 += tmp41 * - 1 del tmp41 tmp31 = einsum ( tmp7 , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) del tmp7 tmp31 += tmp28 del tmp28 tmp31 += np . transpose ( tmp30 , ( 1 , 0 , 3 , 2 )) del tmp30 tmp54 = np . copy ( np . transpose ( tmp52 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp52 tmp54 += tmp53 del tmp53 tmp51 = einsum ( tmp50 , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 0 ), ( 4 , 1 , 2 , 3 )) del tmp50 tmp57 = np . copy ( np . transpose ( tmp55 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp55 tmp57 += np . transpose ( tmp56 , ( 0 , 1 , 3 , 2 )) del tmp56 tmp58 = np . copy ( v . oooo ) tmp58 += np . transpose ( tmp10 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp10 tmp58 += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 2 , 4 , 1 , 0 )) * - 2 del tmp11 tmp59 = np . copy ( np . transpose ( tmp3 , ( 1 , 0 , 3 , 2 ))) * - 1 tmp59 += np . transpose ( tmp4 , ( 0 , 1 , 3 , 2 )) * 2 tmp24 = np . copy ( f . vv ) tmp24 += tmp23 * - 1 del tmp23 tmp27 = np . copy ( f . oo ) tmp27 += np . transpose ( tmp25 , ( 1 , 0 )) del tmp25 tmp27 += tmp26 * 0.5 del tmp26 tmp27 += einsum ( t1 , ( 0 , 1 ), tmp8 , ( 2 , 1 ), ( 0 , 2 )) tmp18 = einsum ( t1 , ( 0 , 1 ), l1 , ( 2 , 0 ), ( 2 , 1 )) tmp18 += tmp17 * 0.5 del tmp17 tmp0 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp22 = np . copy ( t1 ) * - 2 tmp22 += einsum ( l1 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) * - 2 tmp22 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) tmp22 += einsum ( t1 , ( 0 , 1 ), tmp21 , ( 0 , 2 ), ( 2 , 1 )) tmp14 = np . copy ( v . ovvv ) tmp14 += einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 1 tmp16 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l1 , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) tmp16 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 2 tmp16 += einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) * - 1 del tmp15 tmp13 = np . copy ( np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 ))) * - 1 tmp13 += einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 0 , 4 , 5 , 1 )) * - 0.5 tmp13 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 1 , 5 , 3 ), ( 5 , 0 , 4 , 2 )) * 2 del tmp6 tmp13 += einsum ( tmp8 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp13 += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 2 ), ( 1 , 0 , 4 , 3 )) * - 2 del tmp9 tmp13 += einsum ( t1 , ( 0 , 1 ), tmp12 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 2 del tmp12 l2new = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) l2new += np . transpose ( v . oovv , ( 2 , 3 , 0 , 1 )) l2new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) * 0.5 l2new += np . transpose ( tmp31 , ( 2 , 3 , 0 , 1 )) l2new += np . transpose ( tmp31 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp31 , ( 2 , 3 , 1 , 0 )) * - 1 l2new += np . transpose ( tmp31 , ( 3 , 2 , 1 , 0 )) del tmp31 l2new += np . transpose ( tmp38 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp38 , ( 3 , 2 , 0 , 1 )) del tmp38 l2new += np . transpose ( tmp42 , ( 2 , 3 , 0 , 1 )) l2new += np . transpose ( tmp42 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp42 , ( 2 , 3 , 1 , 0 )) * - 1 l2new += np . transpose ( tmp42 , ( 3 , 2 , 1 , 0 )) del tmp42 l2new += np . transpose ( tmp49 , ( 3 , 2 , 0 , 1 )) l2new += np . transpose ( tmp49 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp49 l2new += np . transpose ( tmp51 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp51 , ( 2 , 3 , 1 , 0 )) del tmp51 l2new += np . transpose ( tmp54 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp54 , ( 3 , 2 , 0 , 1 )) del tmp54 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 )) l2new += np . transpose ( tmp57 , ( 2 , 3 , 0 , 1 )) l2new += np . transpose ( tmp57 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp57 l2new += einsum ( tmp58 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) * 0.5 del tmp58 l2new += einsum ( tmp59 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 1 , 0 )) * 0.25 del tmp59 l1new = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 0 , 1 , 3 ), ( 2 , 4 )) * - 1 del tmp0 l1new += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 0 , 1 , 2 ), ( 3 , 4 )) del tmp1 l1new += einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 2 , 3 , 1 , 4 ), ( 4 , 0 )) * - 1 del tmp2 l1new += einsum ( l1 , ( 0 , 1 ), v . ovov , ( 2 , 0 , 1 , 3 ), ( 3 , 2 )) * - 1 l1new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 1 , 4 , 3 , 2 ), ( 4 , 0 )) * 0.25 del tmp3 l1new += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 2 , 3 , 1 , 4 ), ( 4 , 0 )) * - 0.5 del tmp4 l1new += np . transpose ( f . ov , ( 1 , 0 )) l1new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp13 , ( 4 , 2 , 3 , 1 ), ( 0 , 4 )) * 0.5 del tmp13 l1new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 3 , 4 , 0 , 1 ), ( 4 , 2 )) * - 0.5 del tmp14 l1new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 0 , 1 , 3 ), ( 2 , 4 )) * 0.5 del tmp16 l1new += einsum ( tmp18 , ( 0 , 1 ), v . ovvv , ( 2 , 0 , 3 , 1 ), ( 3 , 2 )) del tmp18 l1new += einsum ( tmp22 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 3 , 2 )) * - 0.5 del tmp22 l1new += einsum ( tmp21 , ( 0 , 1 ), v . ooov , ( 2 , 1 , 0 , 3 ), ( 3 , 2 )) * 0.5 l1new += einsum ( l1 , ( 0 , 1 ), tmp24 , ( 0 , 2 ), ( 2 , 1 )) del tmp24 l1new += einsum ( l1 , ( 0 , 1 ), tmp27 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp27 l1new += einsum ( tmp21 , ( 0 , 1 ), tmp8 , ( 1 , 2 ), ( 2 , 0 )) * - 0.5 del tmp8 , tmp21 return { f \"l1new\" : l1new , f \"l2new\" : l2new }","title":"Returns"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.make_rdm1_f","text":"Code generated by albert 0.0.0 on 2024-08-13T22:13:16.273707.","title":"make_rdm1_f"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.make_rdm1_f--parameters","text":"l1 : array L1 amplitudes. l2 : array L2 amplitudes. t1 : array T1 amplitudes. t2 : array T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.make_rdm1_f--returns","text":"rdm1 : array One-particle reduced density matrix. Source code in ebcc/codegen/GCCSD.py 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 def make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:13:16.273707. 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 )) tmp0 = einsum ( t1 , ( 0 , 1 ), l1 , ( 1 , 2 ), ( 2 , 0 )) tmp2 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp3 = np . copy ( tmp0 ) tmp3 += tmp1 * 0.5 rdm1 . vv = einsum ( t1 , ( 0 , 1 ), l1 , ( 2 , 0 ), ( 2 , 1 )) rdm1 . vv += einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * 0.5 rdm1 . vo = np . copy ( l1 ) rdm1 . ov = np . copy ( t1 ) rdm1 . ov += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) * - 0.5 del tmp2 rdm1 . ov += einsum ( l1 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) rdm1 . ov += einsum ( tmp3 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp3 rdm1 . oo = np . copy ( delta . oo ) del delta rdm1 . oo += np . transpose ( tmp0 , ( 1 , 0 )) * - 1 del tmp0 rdm1 . oo += np . transpose ( tmp1 , ( 1 , 0 )) * - 0.5 del tmp1 rdm1 = np . block ([[ rdm1 . oo , rdm1 . ov ], [ rdm1 . vo , rdm1 . vv ]]) return rdm1","title":"Returns"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.make_rdm2_f","text":"Code generated by albert 0.0.0 on 2024-08-13T22:13:22.235969.","title":"make_rdm2_f"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.make_rdm2_f--parameters","text":"l1 : array L1 amplitudes. l2 : array L2 amplitudes. t1 : array T1 amplitudes. t2 : array T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.make_rdm2_f--returns","text":"rdm2 : array Two-particle reduced density matrix. Source code in ebcc/codegen/GCCSD.py 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 def make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:13:22.235969. 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 ( t1 , ( 0 , 1 ), l1 , ( 1 , 2 ), ( 2 , 0 )) tmp1 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp3 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp21 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp7 = einsum ( l1 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp8 = einsum ( t1 , ( 0 , 1 ), tmp4 , ( 0 , 2 ), ( 2 , 1 )) tmp6 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp5 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l1 , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) tmp2 = einsum ( t1 , ( 0 , 1 ), tmp1 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp0 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp14 = np . copy ( tmp4 ) * 2 tmp14 += tmp3 tmp25 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp30 = einsum ( t1 , ( 0 , 1 ), l1 , ( 2 , 0 ), ( 2 , 1 )) tmp29 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp36 = einsum ( t1 , ( 0 , 1 ), tmp21 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp9 = np . copy ( tmp7 ) tmp9 += tmp8 * - 1 del tmp8 tmp18 = einsum ( t1 , ( 0 , 1 ), tmp6 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp20 = einsum ( t1 , ( 0 , 1 ), tmp5 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp22 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp21 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp13 = np . copy ( np . transpose ( tmp0 , ( 1 , 0 , 3 , 2 ))) * - 0.5 tmp13 += np . transpose ( tmp2 , ( 0 , 1 , 3 , 2 )) tmp10 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) tmp11 = einsum ( tmp3 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp15 = einsum ( tmp14 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * 0.5 del tmp14 tmp38 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) tmp32 = np . copy ( tmp30 ) tmp32 += tmp25 * 0.5 tmp34 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 0 , 4 , 5 ), ( 2 , 3 , 4 , 5 )) * - 1 tmp35 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 tmp33 = einsum ( l1 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) tmp37 = np . copy ( tmp36 ) tmp37 += einsum ( tmp25 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 0.5 tmp31 = np . copy ( tmp30 ) * 2 tmp31 += tmp25 tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) tmp24 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) tmp19 = np . copy ( tmp18 ) del tmp18 tmp19 += einsum ( t1 , ( 0 , 1 ), tmp9 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 tmp23 = np . copy ( tmp20 ) del tmp20 tmp23 += tmp22 del tmp22 tmp28 = einsum ( t1 , ( 0 , 1 ), tmp13 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 2 tmp26 = einsum ( tmp25 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) del tmp25 tmp12 = np . copy ( tmp10 ) tmp12 += tmp11 del tmp11 tmp17 = np . copy ( np . transpose ( tmp0 , ( 1 , 0 , 3 , 2 ))) * - 1 tmp17 += np . transpose ( tmp2 , ( 0 , 1 , 3 , 2 )) * 2 tmp16 = np . copy ( tmp7 ) * - 1 del tmp7 tmp16 += tmp10 * 0.5 del tmp10 tmp16 += tmp15 del tmp15 rdm2 . vvvv = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) * 0.5 rdm2 . vvvv += einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) rdm2 . vvvo = np . copy ( np . transpose ( tmp38 , ( 2 , 1 , 3 , 0 ))) rdm2 . vvov = np . copy ( np . transpose ( tmp38 , ( 2 , 1 , 0 , 3 ))) * - 1 del tmp38 rdm2 . vovv = np . copy ( np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 ))) rdm2 . vovv += np . transpose ( tmp34 , ( 1 , 0 , 3 , 2 )) * 0.5 rdm2 . vovv += np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 )) rdm2 . vovv += einsum ( tmp32 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . vovv += einsum ( t1 , ( 0 , 1 ), tmp32 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . vovv += np . transpose ( tmp36 , ( 1 , 0 , 2 , 3 )) rdm2 . vovv += np . transpose ( tmp36 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp36 rdm2 . ovvv = np . copy ( np . transpose ( tmp33 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp33 rdm2 . ovvv += np . transpose ( tmp34 , ( 0 , 1 , 3 , 2 )) * - 0.5 del tmp34 rdm2 . ovvv += np . transpose ( tmp35 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp35 rdm2 . ovvv += einsum ( tmp30 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . ovvv += einsum ( t1 , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 del tmp30 rdm2 . ovvv += tmp37 * - 1 rdm2 . ovvv += np . transpose ( tmp37 , ( 0 , 1 , 3 , 2 )) del tmp37 rdm2 . vvoo = np . copy ( l2 ) rdm2 . vovo = np . copy ( np . transpose ( tmp21 , ( 2 , 1 , 3 , 0 ))) * - 1 rdm2 . vovo += np . transpose ( tmp29 , ( 2 , 1 , 3 , 0 )) rdm2 . vovo += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . vovo += einsum ( tmp32 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . voov = np . copy ( np . transpose ( tmp21 , ( 2 , 1 , 0 , 3 ))) rdm2 . voov += np . transpose ( tmp29 , ( 2 , 1 , 0 , 3 )) * - 1 rdm2 . voov += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . voov += einsum ( tmp31 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 0.5 rdm2 . ovvo = np . copy ( np . transpose ( tmp21 , ( 1 , 2 , 3 , 0 ))) rdm2 . ovvo += np . transpose ( tmp29 , ( 1 , 2 , 3 , 0 )) * - 1 rdm2 . ovvo += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . ovvo += einsum ( tmp32 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 del tmp32 rdm2 . ovov = np . copy ( np . transpose ( tmp21 , ( 1 , 2 , 0 , 3 ))) * - 1 del tmp21 rdm2 . ovov += np . transpose ( tmp29 , ( 1 , 2 , 0 , 3 )) del tmp29 rdm2 . ovov += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . ovov += einsum ( tmp31 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 0.5 del tmp31 rdm2 . oovv = np . copy ( t2 ) rdm2 . oovv += tmp19 * - 1 rdm2 . oovv += np . transpose ( tmp19 , ( 0 , 1 , 3 , 2 )) rdm2 . oovv += np . transpose ( tmp19 , ( 1 , 0 , 2 , 3 )) rdm2 . oovv += np . transpose ( tmp19 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp19 rdm2 . oovv += tmp23 rdm2 . oovv += np . transpose ( tmp23 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp23 rdm2 . oovv += np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . oovv += np . transpose ( tmp24 , ( 1 , 0 , 3 , 2 )) del tmp24 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . oovv += tmp26 * - 0.5 rdm2 . oovv += np . transpose ( tmp26 , ( 0 , 1 , 3 , 2 )) * 0.5 del tmp26 rdm2 . oovv += np . transpose ( tmp27 , ( 0 , 1 , 3 , 2 )) * 0.5 rdm2 . oovv += np . transpose ( tmp27 , ( 1 , 0 , 3 , 2 )) * - 0.5 del tmp27 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), tmp12 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 0.5 rdm2 . oovv += einsum ( tmp12 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 0.5 rdm2 . oovv += einsum ( tmp12 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 0.5 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), tmp12 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 0.5 rdm2 . oovv += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 5 ), ( 3 , 2 , 4 , 5 )) * 0.5 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), tmp28 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * 0.5 del tmp28 rdm2 . vooo = np . copy ( np . transpose ( tmp1 , ( 3 , 2 , 1 , 0 ))) 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 rdm2 . ovoo = np . copy ( np . transpose ( tmp1 , ( 2 , 3 , 1 , 0 ))) * - 1 del tmp1 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 . oovo = np . copy ( np . transpose ( tmp5 , ( 2 , 1 , 3 , 0 ))) rdm2 . oovo += np . transpose ( tmp6 , ( 1 , 2 , 3 , 0 )) rdm2 . oovo += np . transpose ( tmp6 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 0.5 rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * 0.5 rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), tmp16 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . oovo += einsum ( tmp16 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) del tmp16 rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), tmp17 , ( 0 , 2 , 3 , 4 ), ( 4 , 3 , 1 , 2 )) * 0.5 del tmp17 rdm2 . ooov = np . copy ( np . transpose ( tmp5 , ( 2 , 1 , 0 , 3 ))) * - 1 del tmp5 rdm2 . ooov += np . transpose ( tmp6 , ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . ooov += np . transpose ( tmp6 , ( 2 , 1 , 0 , 3 )) del tmp6 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * 0.5 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 0.5 rdm2 . ooov += einsum ( tmp9 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . ooov += einsum ( tmp9 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp9 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp12 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 0.5 rdm2 . ooov += einsum ( tmp12 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 0.5 del tmp12 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . ooov += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 3 , 2 , 1 , 4 )) * - 1 del tmp13 rdm2 . oooo = np . copy ( np . transpose ( tmp0 , ( 3 , 2 , 1 , 0 ))) * 0.5 del tmp0 rdm2 . oooo += np . transpose ( tmp2 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 0.5 rdm2 . oooo += einsum ( tmp3 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * 0.5 rdm2 . oooo += einsum ( tmp3 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * 0.5 rdm2 . oooo += einsum ( tmp3 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 0.5 del tmp3 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . oooo += einsum ( tmp4 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) rdm2 . oooo += einsum ( tmp4 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 del tmp4 , 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 = np . transpose ( rdm2 , ( 0 , 2 , 1 , 3 )) return rdm2","title":"Returns"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_matvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-13T22:13:29.633369.","title":"hbar_matvec_ip_intermediates"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_matvec_ip_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_matvec_ip_intermediates--returns","text":"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 Source code in ebcc/codegen/GCCSD.py 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 def hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:13:29.633369. 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 \"\"\" tmp3 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp2 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp52 = einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp5 = einsum ( t1 , ( 0 , 1 ), tmp2 , ( 2 , 1 ), ( 0 , 2 )) tmp25 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp24 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp20 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp1 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp33 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp4 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 2 , 3 ), ( 4 , 0 )) tmp0 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp56 = einsum ( t1 , ( 0 , 1 ), tmp52 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp55 = einsum ( tmp5 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp49 = einsum ( t1 , ( 0 , 1 ), tmp25 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) * - 1 tmp48 = einsum ( tmp24 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp46 = einsum ( t1 , ( 0 , 1 ), tmp20 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp45 = einsum ( tmp1 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp44 = einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 1 tmp43 = einsum ( tmp4 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp41 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp40 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp39 = einsum ( tmp2 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 1 tmp38 = einsum ( tmp2 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp35 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp34 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp31 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) tmp30 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) tmp28 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp17 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp16 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp15 = einsum ( t1 , ( 0 , 1 ), v . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp13 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp12 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp11 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp8 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp7 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 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 }","title":"Returns"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_matvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-13T22:13:29.648997.","title":"hbar_matvec_ip"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_matvec_ip--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_matvec_ip--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GCCSD.py 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 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-13T22:13:29.648997. 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 ( v . ooov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp9 = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp3 , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp7 = np . copy ( ints . tmp25 ) tmp7 += ints . tmp35 tmp13 = np . copy ( ints . tmp41 ) tmp13 += np . transpose ( ints . tmp46 , ( 0 , 2 , 1 , 3 )) tmp11 = np . copy ( tmp9 ) del tmp9 tmp11 += tmp10 * - 1 del tmp10 tmp18 = np . copy ( ints . tmp17 ) tmp18 += ints . tmp28 tmp16 = np . copy ( f . oo ) tmp16 += ints . tmp0 tmp16 += ints . tmp1 tmp16 += np . transpose ( ints . tmp5 , ( 1 , 0 )) tmp8 = einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 3 ), ( 0 , 4 , 2 )) * - 1 del tmp7 tmp4 = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp4 , ( 3 , 1 ), ( 3 , 0 , 2 )) tmp5 = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp20 , ( 3 , 1 , 0 , 4 ), ( 3 , 4 , 2 )) * - 1 tmp14 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), r1 , ( 2 ,), ( 0 , 1 , 3 )) del tmp13 tmp6 = einsum ( r2 , ( 0 , 1 , 2 ), v . ovov , ( 3 , 2 , 1 , 4 ), ( 0 , 3 , 4 )) tmp12 = einsum ( t1 , ( 0 , 1 ), tmp11 , ( 2 , 0 , 3 ), ( 2 , 3 , 1 )) del tmp11 tmp22 = np . copy ( f . ov ) tmp22 += ints . tmp2 tmp19 = einsum ( r1 , ( 0 ,), tmp18 , ( 1 , 0 , 2 , 3 ), ( 1 , 2 , 3 )) del tmp18 tmp17 = einsum ( tmp16 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 1 , 2 , 3 )) * - 1 del tmp16 tmp24 = np . copy ( ints . tmp12 ) tmp24 += np . transpose ( ints . tmp15 , ( 2 , 0 , 1 , 3 )) tmp24 += np . transpose ( ints . tmp44 , ( 2 , 0 , 1 , 3 )) * 0.5 tmp24 += np . transpose ( ints . tmp49 , ( 2 , 1 , 0 , 3 )) tmp24 += np . transpose ( ints . tmp31 , ( 2 , 0 , 1 , 3 )) * - 0.5 tmp24 += np . transpose ( ints . tmp39 , ( 2 , 0 , 1 , 3 )) * - 1 tmp24 += np . transpose ( ints . tmp56 , ( 2 , 1 , 0 , 3 )) * - 1 tmp24 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp15 = np . copy ( tmp4 ) * - 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 tmp3 = einsum ( r2 , ( 0 , 1 , 2 ), v . oovv , ( 0 , 1 , 3 , 2 ), ( 3 ,)) tmp23 = np . copy ( np . transpose ( ints . tmp24 , ( 1 , 0 ))) tmp23 += np . transpose ( ints . tmp34 , ( 1 , 0 )) * 0.5 tmp23 += f . vv * - 1 tmp23 += einsum ( t1 , ( 0 , 1 ), tmp22 , ( 0 , 2 ), ( 2 , 1 )) del tmp22 tmp21 = np . copy ( ints . tmp33 ) * 0.5 tmp21 += ints . tmp52 tmp21 += v . oooo tmp20 = np . copy ( tmp17 ) * - 1 del tmp17 tmp20 += tmp19 del tmp19 tmp25 = np . copy ( ints . tmp13 ) 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 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 . tmp5 , ( 1 , 0 )) * 2 tmp0 = np . copy ( ints . tmp3 ) tmp0 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp1 = np . copy ( f . ov ) tmp1 += ints . tmp2 r2new = einsum ( tmp3 , ( 0 ,), t2 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 0.5 del tmp3 r2new += tmp15 * - 1 r2new += np . transpose ( tmp15 , ( 1 , 0 , 2 )) del tmp15 r2new += tmp20 r2new += np . transpose ( tmp20 , ( 1 , 0 , 2 )) * - 1 del tmp20 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp21 , ( 3 , 4 , 0 , 1 ), ( 3 , 4 , 2 )) * 0.5 del tmp21 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp23 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp23 r2new += einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), r1 , ( 0 ,), ( 2 , 1 , 3 )) * - 1 del tmp24 r2new += einsum ( r1 , ( 0 ,), tmp25 , ( 1 , 2 ), ( 0 , 1 , 2 )) * - 1 r2new += einsum ( r1 , ( 0 ,), tmp25 , ( 1 , 2 ), ( 1 , 0 , 2 )) del tmp25 r1new = einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 3 , 1 , 0 , 2 ), ( 3 ,)) * - 0.5 del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 ), r2 , ( 2 , 0 , 1 ), ( 2 ,)) del tmp1 r1new += einsum ( r1 , ( 0 ,), tmp2 , ( 0 , 1 ), ( 1 ,)) * - 0.5 del tmp2 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_matvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-13T22:13:37.973150.","title":"hbar_matvec_ea_intermediates"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_matvec_ea_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_matvec_ea_intermediates--returns","text":"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 Source code in ebcc/codegen/GCCSD.py 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 def hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:13:37.973150. 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 \"\"\" tmp2 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp50 = einsum ( t1 , ( 0 , 1 ), tmp2 , ( 2 , 1 ), ( 0 , 2 )) tmp1 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp19 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp32 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 2 , 3 ), ( 4 , 0 )) tmp38 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp9 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp56 = einsum ( t1 , ( 0 , 1 ), tmp50 , ( 2 , 0 ), ( 2 , 1 )) tmp47 = einsum ( t1 , ( 0 , 1 ), tmp1 , ( 2 , 1 ), ( 0 , 2 )) tmp44 = einsum ( t1 , ( 0 , 1 ), tmp19 , ( 0 , 2 ), ( 2 , 1 )) tmp41 = einsum ( t1 , ( 0 , 1 ), tmp32 , ( 2 , 0 ), ( 2 , 1 )) 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 )) tmp37 = einsum ( tmp2 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp34 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp30 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp29 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) tmp28 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 5 , 0 , 1 ), ( 4 , 2 , 3 , 5 )) tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp23 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp18 = einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp15 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp13 = einsum ( tmp9 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp12 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp8 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp7 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp4 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 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 }","title":"Returns"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_matvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-13T22:13:37.985692.","title":"hbar_matvec_ea"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_matvec_ea--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_matvec_ea--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GCCSD.py 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 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-13T22:13:37.985692. 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 = np . copy ( ints . tmp38 ) tmp13 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp0 = np . copy ( f . ov ) tmp0 += ints . tmp2 tmp14 = einsum ( r2 , ( 0 , 1 , 2 ), tmp13 , ( 3 , 2 , 4 , 1 ), ( 3 , 4 , 0 )) * - 1 tmp15 = einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 3 , 1 ), ( 2 , 3 , 0 )) * - 1 tmp8 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp8 += einsum ( r1 , ( 0 ,), t1 , ( 1 , 2 ), ( 1 , 0 , 2 )) tmp16 = np . copy ( np . transpose ( tmp14 , ( 1 , 0 , 2 ))) * - 1 del tmp14 tmp16 += np . transpose ( tmp15 , ( 1 , 0 , 2 )) * - 1 del tmp15 tmp9 = np . copy ( ints . tmp23 ) tmp9 += ints . tmp34 tmp11 = np . copy ( f . vv ) * 2 tmp11 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * - 1 tmp6 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) tmp5 = einsum ( r2 , ( 0 , 1 , 2 ), v . oovv , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp18 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp8 , ( 2 , 1 , 4 ), ( 0 , 4 , 3 )) tmp17 = einsum ( t1 , ( 0 , 1 ), tmp16 , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) del tmp16 tmp10 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), tmp8 , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) del tmp8 , tmp9 tmp12 = einsum ( tmp11 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 3 , 1 , 2 )) * - 0.5 del tmp11 tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 ), t1 , ( 1 , 3 ), ( 0 , 3 , 2 )) del tmp6 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 )) tmp2 = einsum ( r2 , ( 0 , 1 , 2 ), v . oovv , ( 3 , 2 , 0 , 1 ), ( 3 ,)) tmp3 = einsum ( tmp0 , ( 0 , 1 ), r1 , ( 1 ,), ( 0 ,)) tmp25 = np . copy ( np . transpose ( tmp5 , ( 0 , 2 , 1 ))) * - 0.5 tmp25 += einsum ( r1 , ( 0 ,), tmp13 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) del tmp13 tmp27 = np . copy ( ints . tmp13 ) 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 tmp24 = np . copy ( f . oo ) tmp24 += ints . tmp19 tmp24 += np . transpose ( ints . tmp32 , ( 1 , 0 )) * 0.5 tmp24 += np . transpose ( ints . tmp50 , ( 1 , 0 )) tmp24 += ints . tmp9 tmp19 = np . copy ( tmp7 ) * 0.5 del tmp7 tmp19 += tmp10 * - 1 del tmp10 tmp19 += tmp12 * - 1 del tmp12 tmp19 += tmp17 del tmp17 tmp19 += tmp18 * - 1 del tmp18 tmp22 = np . copy ( tmp20 ) del tmp20 tmp22 += tmp21 del tmp21 tmp23 = np . copy ( ints . tmp18 ) tmp23 += ints . tmp40 * 0.5 tmp23 += ints . tmp28 * - 0.5 tmp23 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) * - 1 tmp4 = np . copy ( tmp2 ) * 0.5 del tmp2 tmp4 += tmp3 del tmp3 tmp26 = einsum ( t1 , ( 0 , 1 ), tmp25 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * 2 del tmp25 tmp1 = np . copy ( np . transpose ( ints . tmp1 , ( 1 , 0 ))) tmp1 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * 0.5 tmp1 += f . vv * - 1 r2new = einsum ( tmp5 , ( 0 , 1 , 2 ), t2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 )) * - 0.25 del tmp5 r2new += einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) * 0.5 r2new += np . transpose ( tmp19 , ( 1 , 2 , 0 )) * - 1 r2new += np . transpose ( tmp19 , ( 2 , 1 , 0 )) del tmp19 r2new += np . transpose ( tmp22 , ( 1 , 2 , 0 )) r2new += np . transpose ( tmp22 , ( 2 , 1 , 0 )) * - 1 del tmp22 r2new += einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), r1 , ( 3 ,), ( 2 , 1 , 0 )) * - 1 del tmp23 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp24 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp24 r2new += einsum ( tmp4 , ( 0 ,), t2 , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) r2new += einsum ( t1 , ( 0 , 1 ), tmp26 , ( 2 , 0 , 3 ), ( 3 , 1 , 2 )) * - 0.5 del tmp26 r2new += einsum ( tmp27 , ( 0 , 1 ), r1 , ( 2 ,), ( 2 , 1 , 0 )) * - 1 r2new += einsum ( tmp27 , ( 0 , 1 ), r1 , ( 2 ,), ( 1 , 2 , 0 )) del tmp27 r1new = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 0 ), ( 1 ,)) * - 0.5 r1new += einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 2 , 1 ), ( 0 ,)) del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) * - 1 del tmp1 r1new += einsum ( t1 , ( 0 , 1 ), tmp4 , ( 0 ,), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_matvec_ee_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-13T22:13:56.696839.","title":"hbar_matvec_ee_intermediates"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_matvec_ee_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_matvec_ee_intermediates--returns","text":"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 Source code in ebcc/codegen/GCCSD.py 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 def hbar_matvec_ee_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:13:56.696839. 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 \"\"\" tmp7 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp6 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp101 = einsum ( t1 , ( 0 , 1 ), tmp7 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp12 = einsum ( t1 , ( 0 , 1 ), tmp6 , ( 2 , 1 ), ( 0 , 2 )) tmp5 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp4 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp40 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp2 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp62 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp9 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 2 , 3 ), ( 4 , 0 )) tmp0 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp106 = einsum ( t1 , ( 0 , 1 ), tmp101 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp105 = einsum ( t1 , ( 0 , 1 ), tmp12 , ( 2 , 0 ), ( 2 , 1 )) tmp94 = einsum ( t1 , ( 0 , 1 ), tmp5 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) * - 1 tmp93 = einsum ( t1 , ( 0 , 1 ), tmp4 , ( 2 , 1 ), ( 0 , 2 )) tmp88 = einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp87 = einsum ( t1 , ( 0 , 1 ), tmp2 , ( 0 , 2 ), ( 2 , 1 )) tmp81 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp80 = einsum ( t1 , ( 0 , 1 ), tmp9 , ( 2 , 0 ), ( 2 , 1 )) tmp77 = einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 tmp75 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp74 = einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) 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 )) tmp64 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp57 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp55 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) tmp54 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) tmp51 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 5 , 0 , 1 ), ( 4 , 2 , 3 , 5 )) tmp49 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp48 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp37 = einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp33 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp32 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp30 = einsum ( t1 , ( 0 , 1 ), v . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp26 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp23 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp22 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp18 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp17 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp10 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 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 }","title":"Returns"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_matvec_ee","text":"Code generated by albert 0.0.0 on 2024-08-13T22:13:56.718457.","title":"hbar_matvec_ee"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_matvec_ee--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_matvec_ee--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GCCSD.py 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 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-13T22:13:56.718457. 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 = np . copy ( f . ov ) tmp2 += ints . tmp6 tmp0 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 3 ), ( 0 , 2 )) tmp39 = np . copy ( ints . tmp5 ) tmp39 += ints . tmp64 tmp25 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), r1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp6 = einsum ( r1 , ( 0 , 1 ), tmp2 , ( 2 , 1 ), ( 2 , 0 )) tmp5 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 2 , 3 ), ( 4 , 0 )) tmp31 = einsum ( r1 , ( 0 , 1 ), ints . tmp7 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp19 = einsum ( tmp0 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 1 tmp18 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp43 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), r1 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp42 = einsum ( ints . tmp7 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp41 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp57 = np . copy ( ints . tmp23 ) tmp57 += np . transpose ( ints . tmp30 , ( 2 , 0 , 1 , 3 )) tmp62 = np . copy ( ints . tmp55 ) tmp62 += ints . tmp71 * 2 tmp62 += ints . tmp81 * - 1 tmp60 = np . copy ( ints . tmp10 ) * 0.5 tmp60 += ints . tmp4 tmp26 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp25 tmp23 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 3 ), ( 0 , 2 )) tmp8 = np . copy ( f . oo ) tmp8 += ints . tmp0 tmp8 += np . transpose ( ints . tmp12 , ( 1 , 0 )) tmp8 += ints . tmp2 tmp8 += np . transpose ( ints . tmp9 , ( 1 , 0 )) * 0.5 tmp28 = np . copy ( ints . tmp51 ) tmp28 += ints . tmp77 * - 1 tmp32 = np . copy ( tmp31 ) del tmp31 tmp32 += tmp5 * 0.5 tmp32 += np . transpose ( tmp6 , ( 1 , 0 )) tmp20 = np . copy ( np . transpose ( tmp18 , ( 1 , 0 , 2 , 3 ))) del tmp18 tmp20 += tmp19 * - 2 del tmp19 tmp16 = einsum ( tmp2 , ( 0 , 1 ), r2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) * - 1 tmp14 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp49 = einsum ( r1 , ( 0 , 1 ), ints . tmp7 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp10 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r1 , ( 0 , 3 ), ( 1 , 2 )) tmp44 = np . copy ( tmp41 ) del tmp41 tmp44 += tmp42 * - 1 del tmp42 tmp44 += tmp43 del tmp43 tmp37 = einsum ( r1 , ( 0 , 1 ), v . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp46 = np . copy ( ints . tmp33 ) tmp46 += ints . tmp49 tmp58 = einsum ( tmp57 , ( 0 , 1 , 2 , 3 ), r1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp57 tmp56 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp55 = einsum ( r1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp63 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), r1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * 0.5 del tmp62 tmp61 = einsum ( tmp60 , ( 0 , 1 ), r2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 1 del tmp60 tmp27 = einsum ( t1 , ( 0 , 1 ), tmp26 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp26 tmp24 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp23 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp23 tmp30 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp8 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) * - 1 tmp29 = einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), r1 , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) * 0.5 del tmp28 tmp33 = einsum ( tmp32 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 del tmp32 tmp13 = einsum ( ints . tmp106 , ( 0 , 1 , 2 , 3 ), r1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp21 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * 0.5 del tmp20 tmp17 = einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) del tmp16 tmp15 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) * - 1 del tmp14 tmp65 = np . copy ( ints . tmp75 ) tmp65 += np . transpose ( ints . tmp88 , ( 0 , 2 , 1 , 3 )) tmp52 = einsum ( ints . tmp37 , ( 0 , 1 , 2 , 3 ), r1 , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp53 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp50 = einsum ( t1 , ( 0 , 1 ), tmp49 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp49 tmp9 = einsum ( r1 , ( 0 , 1 ), ints . tmp94 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp11 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 1 del tmp10 tmp45 = einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp44 tmp36 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp38 = einsum ( t1 , ( 0 , 1 ), tmp37 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp37 tmp47 = einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp46 tmp35 = einsum ( r1 , ( 0 , 1 ), ints . tmp57 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp40 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp39 tmp1 = np . copy ( ints . tmp7 ) tmp1 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp67 = np . copy ( ints . tmp101 ) tmp67 += ints . tmp62 * 0.5 tmp67 += v . oooo tmp67 += np . transpose ( ints . tmp40 , ( 0 , 3 , 1 , 2 )) * - 1 tmp67 += np . transpose ( ints . tmp40 , ( 3 , 0 , 1 , 2 )) tmp59 = np . copy ( np . transpose ( tmp55 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp55 tmp59 += np . transpose ( tmp56 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp56 tmp59 += tmp58 del tmp58 tmp71 = np . copy ( ints . tmp105 ) * 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 tmp64 = np . copy ( np . transpose ( tmp61 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp61 tmp64 += tmp63 * - 1 del tmp63 tmp34 = np . copy ( np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp24 tmp34 += np . transpose ( tmp27 , ( 0 , 1 , 3 , 2 )) del tmp27 tmp34 += np . transpose ( tmp29 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp29 tmp34 += np . transpose ( tmp30 , ( 0 , 1 , 3 , 2 )) del tmp30 tmp34 += np . transpose ( tmp33 , ( 0 , 1 , 3 , 2 )) del tmp33 tmp22 = np . copy ( tmp13 ) del tmp13 tmp22 += tmp15 * 0.5 del tmp15 tmp22 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp17 tmp22 += np . transpose ( tmp21 , ( 1 , 0 , 3 , 2 )) del tmp21 tmp66 = einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), r1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp65 tmp54 = np . copy ( tmp52 ) del tmp52 tmp54 += np . transpose ( tmp53 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp53 tmp51 = einsum ( t1 , ( 0 , 1 ), tmp50 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp50 tmp12 = np . copy ( tmp9 ) del tmp9 tmp12 += tmp11 del tmp11 tmp70 = np . copy ( ints . tmp105 ) 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 tmp68 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp48 = np . copy ( tmp35 ) del tmp35 tmp48 += tmp36 del tmp36 tmp48 += tmp38 * - 1 del tmp38 tmp48 += tmp40 * - 1 del tmp40 tmp48 += tmp45 del tmp45 tmp48 += tmp47 del tmp47 tmp69 = np . copy ( t2 ) tmp69 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 tmp3 = np . copy ( ints . tmp5 ) tmp3 += np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 )) * - 1 tmp4 = np . copy ( np . transpose ( ints . tmp10 , ( 1 , 0 ))) * 0.5 tmp4 += np . transpose ( ints . tmp4 , ( 1 , 0 )) tmp4 += f . vv * - 1 tmp7 = np . copy ( np . transpose ( tmp5 , ( 1 , 0 ))) * 0.5 del tmp5 tmp7 += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 3 ), ( 2 , 0 )) tmp7 += tmp6 del tmp6 r2new = einsum ( r2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) * 0.5 r2new += tmp12 r2new += np . transpose ( tmp12 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp12 r2new += tmp22 * - 1 r2new += np . transpose ( tmp22 , ( 0 , 1 , 3 , 2 )) del tmp22 r2new += tmp34 r2new += np . transpose ( tmp34 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp34 r2new += tmp48 * - 1 r2new += np . transpose ( tmp48 , ( 0 , 1 , 3 , 2 )) r2new += np . transpose ( tmp48 , ( 1 , 0 , 2 , 3 )) r2new += np . transpose ( tmp48 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp48 r2new += tmp51 * - 1 r2new += np . transpose ( tmp51 , ( 1 , 0 , 2 , 3 )) del tmp51 r2new += np . transpose ( tmp54 , ( 0 , 1 , 3 , 2 )) r2new += np . transpose ( tmp54 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp54 r2new += np . transpose ( tmp59 , ( 1 , 0 , 2 , 3 )) r2new += np . transpose ( tmp59 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp59 r2new += np . transpose ( tmp64 , ( 1 , 0 , 2 , 3 )) r2new += np . transpose ( tmp64 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp64 r2new += tmp66 r2new += np . transpose ( tmp66 , ( 0 , 1 , 3 , 2 )) * - 1 r2new += np . transpose ( tmp66 , ( 1 , 0 , 2 , 3 )) * - 1 r2new += np . transpose ( tmp66 , ( 1 , 0 , 3 , 2 )) del tmp66 r2new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp67 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) * 0.5 del tmp67 r2new += einsum ( tmp68 , ( 0 , 1 , 2 , 3 ), tmp69 , ( 2 , 3 , 4 , 5 ), ( 1 , 0 , 5 , 4 )) * 0.25 del tmp68 , tmp69 r2new += einsum ( tmp70 , ( 0 , 1 ), r1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 r2new += einsum ( tmp70 , ( 0 , 1 ), r1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 r2new += einsum ( r1 , ( 0 , 1 ), tmp71 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 0.5 del tmp71 r2new += einsum ( tmp70 , ( 0 , 1 ), r1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) del tmp70 r1new = einsum ( tmp0 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp0 r1new += einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 0 , 2 , 3 ), ( 4 , 1 )) * - 0.5 r1new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * 0.5 del tmp1 r1new += einsum ( tmp2 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp2 r1new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 3 ), ( 0 , 2 )) del tmp3 r1new += einsum ( r1 , ( 0 , 1 ), tmp4 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp4 r1new += einsum ( t1 , ( 0 , 1 ), tmp7 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp7 r1new += einsum ( r1 , ( 0 , 1 ), tmp8 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp8 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_lmatvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-13T22:14:02.729337.","title":"hbar_lmatvec_ip_intermediates"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_lmatvec_ip_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_lmatvec_ip_intermediates--returns","text":"tmp0 : array tmp1 : array tmp10 : array tmp11 : array tmp12 : array tmp13 : array tmp14 : array tmp15 : array tmp16 : array tmp17 : array tmp18 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp24 : array tmp25 : array tmp26 : array tmp27 : array tmp28 : array tmp29 : array tmp3 : array tmp30 : array tmp31 : array tmp32 : array tmp33 : array tmp34 : array tmp4 : array tmp43 : array tmp44 : array tmp5 : array tmp6 : array tmp7 : array tmp8 : array tmp9 : array Source code in ebcc/codegen/GCCSD.py 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 def hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:14:02.729337. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp10 : array tmp11 : array tmp12 : array tmp13 : array tmp14 : array tmp15 : array tmp16 : array tmp17 : array tmp18 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp24 : array tmp25 : array tmp26 : array tmp27 : array tmp28 : array tmp29 : array tmp3 : array tmp30 : array tmp31 : array tmp32 : array tmp33 : array tmp34 : array tmp4 : array tmp43 : array tmp44 : array tmp5 : array tmp6 : array tmp7 : array tmp8 : array tmp9 : array \"\"\" tmp18 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp15 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp33 = einsum ( t1 , ( 0 , 1 ), tmp18 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp24 = einsum ( t1 , ( 0 , 1 ), tmp15 , ( 2 , 1 ), ( 0 , 2 )) tmp30 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp28 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp26 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp6 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp22 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp10 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp0 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp44 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp43 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp34 = einsum ( t1 , ( 0 , 1 ), tmp33 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp32 = einsum ( tmp24 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp31 = einsum ( t1 , ( 0 , 1 ), tmp30 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp29 = einsum ( tmp28 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp27 = einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp25 = einsum ( tmp6 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp23 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp21 = einsum ( t1 , ( 0 , 1 ), tmp10 , ( 2 , 0 ), ( 2 , 1 )) tmp20 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp17 = einsum ( tmp15 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 1 tmp16 = einsum ( tmp15 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) tmp12 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp11 = einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp9 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp8 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp7 = einsum ( v . oooo , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp5 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp3 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp2 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp11\" : tmp11 , f \"tmp12\" : tmp12 , f \"tmp13\" : tmp13 , f \"tmp14\" : tmp14 , f \"tmp15\" : tmp15 , f \"tmp16\" : tmp16 , f \"tmp17\" : tmp17 , f \"tmp18\" : tmp18 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp23\" : tmp23 , f \"tmp24\" : tmp24 , f \"tmp25\" : tmp25 , f \"tmp26\" : tmp26 , f \"tmp27\" : tmp27 , f \"tmp28\" : tmp28 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp31\" : tmp31 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp34\" : tmp34 , f \"tmp4\" : tmp4 , f \"tmp43\" : tmp43 , f \"tmp44\" : tmp44 , f \"tmp5\" : tmp5 , f \"tmp6\" : tmp6 , f \"tmp7\" : tmp7 , f \"tmp8\" : tmp8 , f \"tmp9\" : tmp9 }","title":"Returns"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_lmatvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-13T22:14:02.745023.","title":"hbar_lmatvec_ip"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_lmatvec_ip--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_lmatvec_ip--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GCCSD.py 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:14:02.745023. 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\" ] tmp9 = np . copy ( ints . tmp30 ) tmp9 += ints . tmp44 tmp6 = einsum ( t1 , ( 0 , 1 ), r2 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) tmp13 = np . copy ( f . oo ) tmp13 += np . transpose ( ints . tmp0 , ( 1 , 0 )) tmp13 += ints . tmp24 tmp13 += np . transpose ( ints . tmp6 , ( 1 , 0 )) tmp10 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 0 , 2 ), ( 1 , 4 , 3 )) * - 1 del tmp9 tmp8 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 2 , 1 ), ( 4 , 0 , 3 )) tmp4 = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp10 , ( 1 , 3 ), ( 3 , 0 , 2 )) tmp5 = einsum ( r2 , ( 0 , 1 , 2 ), v . ovov , ( 3 , 2 , 1 , 4 ), ( 0 , 3 , 4 )) tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 ), ints . tmp18 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) del tmp6 tmp11 = np . copy ( f . ov ) tmp11 += ints . tmp15 tmp17 = np . copy ( ints . tmp18 ) tmp17 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp15 = np . copy ( ints . tmp22 ) tmp15 += ints . tmp33 * 2 tmp15 += v . oooo * 2 tmp15 += np . transpose ( ints . tmp26 , ( 0 , 3 , 1 , 2 )) * - 4 tmp3 = einsum ( r2 , ( 0 , 1 , 2 ), t2 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) tmp14 = einsum ( r2 , ( 0 , 1 , 2 ), tmp13 , ( 1 , 3 ), ( 3 , 0 , 2 )) * - 1 del tmp13 tmp12 = np . copy ( tmp4 ) * - 0.5 del tmp4 tmp12 += tmp5 del tmp5 tmp12 += tmp7 * - 1 del tmp7 tmp12 += tmp8 * - 1 del tmp8 tmp12 += tmp10 * - 1 del tmp10 tmp12 += einsum ( r1 , ( 0 ,), tmp11 , ( 1 , 2 ), ( 1 , 0 , 2 )) tmp16 = np . copy ( ints . tmp28 ) tmp16 += ints . tmp43 * 0.5 tmp16 += f . vv * - 1 tmp16 += einsum ( t1 , ( 0 , 1 ), tmp11 , ( 0 , 2 ), ( 1 , 2 )) del tmp11 tmp2 = np . copy ( f . oo ) * 2 tmp2 += np . transpose ( ints . tmp0 , ( 1 , 0 )) * 2 tmp2 += ints . tmp10 tmp2 += ints . tmp24 * 2 tmp2 += np . transpose ( ints . tmp6 , ( 1 , 0 )) * 2 tmp0 = np . copy ( ints . tmp12 ) tmp0 += np . transpose ( ints . tmp23 , ( 0 , 2 , 1 , 3 )) * 0.25 tmp0 += np . transpose ( ints . tmp34 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp0 += np . transpose ( ints . tmp4 , ( 1 , 0 , 2 , 3 )) * 0.5 tmp0 += np . transpose ( ints . tmp7 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp0 += ints . tmp9 tmp0 += np . transpose ( ints . tmp14 , ( 0 , 2 , 1 , 3 )) * - 0.25 tmp0 += np . transpose ( ints . tmp17 , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp0 += np . transpose ( ints . tmp20 , ( 0 , 2 , 1 , 3 )) * - 1 tmp0 += ints . tmp27 * - 1 tmp0 += np . transpose ( ints . tmp31 , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp0 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp1 = np . copy ( ints . tmp11 ) tmp1 += ints . tmp13 tmp1 += ints . tmp19 tmp1 += ints . tmp1 * 2 tmp1 += ints . tmp21 tmp1 += ints . tmp25 * 2 tmp1 += ints . tmp29 * 2 tmp1 += ints . tmp32 * 2 tmp1 += ints . tmp5 * 2 tmp1 += ints . tmp8 * 2 tmp1 += f . ov * - 2 tmp1 += ints . tmp16 * - 2 tmp1 += ints . tmp2 * - 2 tmp1 += ints . tmp3 * - 2 r2new = einsum ( tmp3 , ( 0 ,), v . oovv , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 0.5 del tmp3 r2new += tmp12 * - 1 r2new += np . transpose ( tmp12 , ( 1 , 0 , 2 )) del tmp12 r2new += tmp14 * - 1 r2new += np . transpose ( tmp14 , ( 1 , 0 , 2 )) del tmp14 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp15 , ( 0 , 1 , 3 , 4 ), ( 3 , 4 , 2 )) * 0.25 del tmp15 r2new += einsum ( tmp16 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp16 r2new += einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), r1 , ( 0 ,), ( 2 , 1 , 3 )) * - 1 del tmp17 r1new = einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 1 , 3 , 0 , 2 ), ( 3 ,)) * - 1 del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 ), r2 , ( 2 , 0 , 1 ), ( 2 ,)) * - 0.5 del tmp1 r1new += einsum ( r1 , ( 0 ,), tmp2 , ( 0 , 1 ), ( 1 ,)) * - 0.5 del tmp2 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_lmatvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-13T22:14:09.386301.","title":"hbar_lmatvec_ea_intermediates"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_lmatvec_ea_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_lmatvec_ea_intermediates--returns","text":"tmp1 : array tmp10 : array tmp11 : array tmp12 : array tmp13 : array tmp14 : array tmp15 : array tmp16 : array tmp17 : array tmp18 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp24 : array tmp25 : array tmp27 : array tmp28 : array tmp29 : array tmp3 : array tmp30 : array tmp5 : array tmp6 : array tmp7 : array tmp8 : array Source code in ebcc/codegen/GCCSD.py 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 def hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:14:09.386301. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp1 : array tmp10 : array tmp11 : array tmp12 : array tmp13 : array tmp14 : array tmp15 : array tmp16 : array tmp17 : array tmp18 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp24 : array tmp25 : array tmp27 : array tmp28 : array tmp29 : array tmp3 : array tmp30 : array tmp5 : array tmp6 : array tmp7 : array tmp8 : array \"\"\" tmp16 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp29 = einsum ( t1 , ( 0 , 1 ), tmp16 , ( 2 , 1 ), ( 0 , 2 )) tmp7 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp24 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp21 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp18 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp5 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp30 = einsum ( tmp29 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp28 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp27 = einsum ( tmp7 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp25 = einsum ( t1 , ( 0 , 1 ), tmp24 , ( 0 , 2 ), ( 2 , 1 )) tmp23 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp22 = einsum ( tmp21 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp20 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 1 , 0 , 5 ), ( 4 , 2 , 3 , 5 )) * - 1 tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp17 = einsum ( tmp16 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp15 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 5 , 0 , 1 ), ( 4 , 2 , 3 , 5 )) tmp12 = einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp11 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp10 = einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp8 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp6 = einsum ( tmp5 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp3 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp2 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp11\" : tmp11 , f \"tmp12\" : tmp12 , f \"tmp13\" : tmp13 , f \"tmp14\" : tmp14 , f \"tmp15\" : tmp15 , f \"tmp16\" : tmp16 , f \"tmp17\" : tmp17 , f \"tmp18\" : tmp18 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp23\" : tmp23 , f \"tmp24\" : tmp24 , f \"tmp25\" : tmp25 , f \"tmp27\" : tmp27 , f \"tmp28\" : tmp28 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp5\" : tmp5 , f \"tmp6\" : tmp6 , f \"tmp7\" : tmp7 , f \"tmp8\" : tmp8 }","title":"Returns"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_lmatvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-13T22:14:09.399012.","title":"hbar_lmatvec_ea"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_lmatvec_ea--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_lmatvec_ea--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GCCSD.py 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:14:09.399012. 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 = np . copy ( f . ov ) tmp10 += ints . tmp16 tmp17 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp11 = einsum ( ints . tmp18 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp14 = einsum ( tmp10 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * 2 tmp18 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) tmp18 += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp17 tmp12 = np . copy ( ints . tmp23 ) tmp12 += ints . tmp28 tmp12 += np . transpose ( tmp11 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp11 tmp15 = np . copy ( ints . tmp11 ) tmp15 += f . vv * - 2 tmp15 += np . transpose ( tmp14 , ( 1 , 0 )) del tmp14 tmp22 = np . copy ( t2 ) tmp22 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 tmp7 = einsum ( t1 , ( 0 , 1 ), r1 , ( 1 ,), ( 0 ,)) tmp8 = einsum ( r2 , ( 0 , 1 , 2 ), t2 , ( 3 , 2 , 0 , 1 ), ( 3 ,)) tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 3 , 0 ), ( 1 , 2 , 4 )) * - 1 del tmp18 tmp13 = einsum ( r2 , ( 0 , 1 , 2 ), tmp12 , ( 2 , 3 , 1 , 4 ), ( 3 , 4 , 0 )) * - 1 del tmp12 tmp16 = einsum ( r2 , ( 0 , 1 , 2 ), tmp15 , ( 1 , 3 ), ( 2 , 3 , 0 )) * - 0.5 del tmp15 tmp1 = einsum ( t1 , ( 0 , 1 ), r2 , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp24 = np . copy ( f . oo ) tmp24 += ints . tmp21 * 0.5 tmp24 += np . transpose ( ints . tmp24 , ( 1 , 0 )) tmp24 += ints . tmp29 tmp24 += np . transpose ( ints . tmp5 , ( 1 , 0 )) tmp23 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 ), ( 4 , 1 , 0 )) * - 1 del tmp22 tmp9 = np . copy ( tmp7 ) * 2 del tmp7 tmp9 += tmp8 del tmp8 tmp21 = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp7 , ( 1 , 3 ), ( 2 , 3 , 0 )) tmp20 = np . copy ( tmp13 ) * - 1 del tmp13 tmp20 += tmp16 del tmp16 tmp20 += np . transpose ( tmp19 , ( 0 , 2 , 1 )) * - 1 del tmp19 tmp20 += einsum ( tmp10 , ( 0 , 1 ), r1 , ( 2 ,), ( 0 , 1 , 2 )) tmp2 = np . copy ( ints . tmp23 ) tmp2 += ints . tmp28 tmp2 += np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 )) * - 1 tmp0 = np . copy ( ints . tmp10 ) * 0.5 tmp0 += ints . tmp15 tmp0 += ints . tmp20 * 0.25 tmp0 += ints . tmp13 * - 0.25 tmp0 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) * - 0.5 tmp3 = einsum ( t1 , ( 0 , 1 ), tmp1 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * - 1 tmp4 = np . copy ( ints . tmp18 ) tmp4 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp5 = np . copy ( ints . tmp12 ) tmp5 += ints . tmp14 tmp5 += ints . tmp19 tmp5 += ints . tmp1 * 2 tmp5 += ints . tmp22 tmp5 += ints . tmp25 * 2 tmp5 += ints . tmp27 * 2 tmp5 += ints . tmp30 * 2 tmp5 += ints . tmp6 * 2 tmp5 += ints . tmp8 * 2 tmp5 += f . ov * - 2 tmp5 += ints . tmp17 * - 2 tmp5 += ints . tmp2 * - 2 tmp5 += ints . tmp3 * - 2 tmp6 = np . copy ( ints . tmp11 ) * 0.5 tmp6 += ints . tmp7 tmp6 += f . vv * - 1 r2new = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r1 , ( 1 ,), ( 2 , 3 , 0 )) * - 1 r2new += einsum ( tmp1 , ( 0 , 1 , 2 ), v . ovvv , ( 1 , 2 , 3 , 4 ), ( 3 , 4 , 0 )) r2new += einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) * 0.5 r2new += np . transpose ( tmp20 , ( 1 , 2 , 0 )) * - 1 r2new += np . transpose ( tmp20 , ( 2 , 1 , 0 )) del tmp20 r2new += np . transpose ( tmp21 , ( 1 , 2 , 0 )) r2new += np . transpose ( tmp21 , ( 2 , 1 , 0 )) * - 1 del tmp21 r2new += einsum ( tmp23 , ( 0 , 1 , 2 ), v . oovv , ( 1 , 2 , 3 , 4 ), ( 3 , 4 , 0 )) * 0.25 del tmp23 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp24 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp24 r2new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp9 , ( 1 ,), ( 2 , 3 , 0 )) * 0.5 r1new = einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 2 , 0 , 1 , 3 ), ( 3 ,)) del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 , 2 ), tmp2 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) del tmp1 , tmp2 r1new += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 0 , 2 , 1 ), ( 3 ,)) * - 0.5 del tmp4 , tmp3 r1new += einsum ( tmp5 , ( 0 , 1 ), r2 , ( 2 , 1 , 0 ), ( 2 ,)) * - 0.5 del tmp5 r1new += einsum ( tmp6 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) * - 1 del tmp6 r1new += einsum ( tmp10 , ( 0 , 1 ), tmp9 , ( 0 ,), ( 1 ,)) * - 0.5 del tmp10 , tmp9 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_lmatvec_ee_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-13T22:14:20.353163.","title":"hbar_lmatvec_ee_intermediates"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_lmatvec_ee_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_lmatvec_ee_intermediates--returns","text":"tmp0 : array tmp10 : array tmp11 : array tmp12 : array tmp13 : array tmp15 : array tmp16 : array tmp17 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp24 : array tmp26 : array tmp27 : array tmp28 : array tmp29 : array tmp3 : array tmp30 : array tmp31 : array tmp32 : array tmp33 : array tmp34 : array tmp35 : array tmp36 : array tmp38 : array tmp39 : array tmp4 : array tmp40 : array tmp41 : array tmp43 : array tmp44 : array tmp45 : array tmp46 : array tmp47 : array tmp5 : array tmp7 : array tmp8 : array tmp9 : array Source code in ebcc/codegen/GCCSD.py 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 def hbar_lmatvec_ee_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:14:20.353163. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp10 : array tmp11 : array tmp12 : array tmp13 : array tmp15 : array tmp16 : array tmp17 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp24 : array tmp26 : array tmp27 : array tmp28 : array tmp29 : array tmp3 : array tmp30 : array tmp31 : array tmp32 : array tmp33 : array tmp34 : array tmp35 : array tmp36 : array tmp38 : array tmp39 : array tmp4 : array tmp40 : array tmp41 : array tmp43 : array tmp44 : array tmp45 : array tmp46 : array tmp47 : array tmp5 : array tmp7 : array tmp8 : array tmp9 : array \"\"\" tmp29 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp26 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp46 = einsum ( t1 , ( 0 , 1 ), tmp29 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp38 = einsum ( t1 , ( 0 , 1 ), tmp26 , ( 2 , 1 ), ( 0 , 2 )) tmp10 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp9 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp40 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp8 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp34 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp16 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp0 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp47 = einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp45 = einsum ( tmp38 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp44 = einsum ( t1 , ( 0 , 1 ), tmp10 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp43 = einsum ( t1 , ( 0 , 1 ), tmp9 , ( 2 , 1 ), ( 0 , 2 )) tmp41 = einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp39 = einsum ( tmp8 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp36 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp35 = einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp33 = einsum ( tmp16 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp32 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 4 , 1 , 0 , 5 ), ( 4 , 2 , 3 , 5 )) * - 1 tmp31 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 tmp30 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp28 = einsum ( tmp26 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 1 tmp27 = einsum ( tmp26 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp24 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp23 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) tmp22 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) tmp21 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 5 , 0 , 1 ), ( 4 , 2 , 3 , 5 )) tmp20 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp19 = einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp17 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp15 = einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp13 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp12 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp11 = einsum ( v . oooo , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp7 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp5 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp4 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp3 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp2 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) return { f \"tmp0\" : tmp0 , f \"tmp10\" : tmp10 , f \"tmp11\" : tmp11 , f \"tmp12\" : tmp12 , f \"tmp13\" : tmp13 , f \"tmp15\" : tmp15 , f \"tmp16\" : tmp16 , f \"tmp17\" : tmp17 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp23\" : tmp23 , f \"tmp24\" : tmp24 , f \"tmp26\" : tmp26 , f \"tmp27\" : tmp27 , f \"tmp28\" : tmp28 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp31\" : tmp31 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp34\" : tmp34 , f \"tmp35\" : tmp35 , f \"tmp36\" : tmp36 , 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 \"tmp47\" : tmp47 , f \"tmp5\" : tmp5 , f \"tmp7\" : tmp7 , f \"tmp8\" : tmp8 , f \"tmp9\" : tmp9 }","title":"Returns"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_lmatvec_ee","text":"Code generated by albert 0.0.0 on 2024-08-13T22:14:20.373234.","title":"hbar_lmatvec_ee"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_lmatvec_ee--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/GCCSD/#ebcc.codegen.GCCSD.hbar_lmatvec_ee--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GCCSD.py 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 def hbar_lmatvec_ee ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:14:20.373234. 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 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp0 = einsum ( t1 , ( 0 , 1 ), r1 , ( 2 , 1 ), ( 2 , 0 )) tmp14 = np . copy ( f . oo ) tmp14 += np . transpose ( ints . tmp0 , ( 1 , 0 )) tmp14 += ints . tmp16 * 0.5 tmp14 += ints . tmp38 tmp14 += np . transpose ( ints . tmp8 , ( 1 , 0 )) tmp12 = np . copy ( tmp0 ) * 2 tmp12 += tmp2 tmp5 = einsum ( t1 , ( 0 , 1 ), r2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp16 = np . copy ( f . ov ) tmp16 += ints . tmp26 tmp1 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp26 = np . copy ( ints . tmp10 ) tmp26 += ints . tmp36 tmp17 = einsum ( tmp14 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 tmp18 = einsum ( tmp12 , ( 0 , 1 ), v . oovv , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 0.5 tmp21 = einsum ( tmp16 , ( 0 , 1 ), tmp5 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp20 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) * - 1 tmp27 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp26 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp26 tmp24 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp5 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp23 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp25 = einsum ( ints . tmp29 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp34 = np . copy ( ints . tmp17 ) * 0.5 tmp34 += ints . tmp9 tmp32 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp31 = einsum ( r1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp30 = einsum ( ints . tmp29 , ( 0 , 1 , 2 , 3 ), r1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) tmp7 = einsum ( t1 , ( 0 , 1 ), tmp5 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp36 = np . copy ( np . transpose ( ints . tmp40 , ( 0 , 3 , 1 , 2 ))) tmp36 += ints . tmp34 * - 0.25 tmp36 += ints . tmp46 * - 0.5 tmp36 += v . oooo * - 0.5 tmp19 = np . copy ( np . transpose ( tmp17 , ( 0 , 1 , 3 , 2 ))) del tmp17 tmp19 += np . transpose ( tmp18 , ( 1 , 0 , 3 , 2 )) del tmp18 tmp22 = np . copy ( tmp20 ) * - 0.5 del tmp20 tmp22 += np . transpose ( tmp21 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp21 tmp28 = np . copy ( tmp23 ) * - 1 del tmp23 tmp28 += tmp24 del tmp24 tmp28 += tmp25 * - 1 del tmp25 tmp28 += tmp27 del tmp27 tmp28 += einsum ( tmp16 , ( 0 , 1 ), r1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp35 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp34 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * - 1 del tmp34 tmp29 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp33 = np . copy ( tmp30 ) * - 1 del tmp30 tmp33 += np . transpose ( tmp31 , ( 1 , 0 , 2 , 3 )) del tmp31 tmp33 += np . transpose ( tmp32 , ( 1 , 0 , 2 , 3 )) del tmp32 tmp37 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) * - 0.5 tmp37 += np . transpose ( tmp7 , ( 0 , 1 , 3 , 2 )) tmp3 = np . copy ( ints . tmp15 ) * 0.5 tmp3 += ints . tmp24 tmp3 += ints . tmp32 * 0.25 tmp3 += ints . tmp21 * - 0.25 tmp3 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) * - 0.5 tmp4 = np . copy ( ints . tmp11 ) tmp4 += np . transpose ( ints . tmp13 , ( 0 , 2 , 1 , 3 )) * 2 tmp4 += np . transpose ( ints . tmp20 , ( 0 , 2 , 1 , 3 )) * 2 tmp4 += ints . tmp35 * 0.5 tmp4 += ints . tmp47 tmp4 += np . transpose ( ints . tmp5 , ( 1 , 2 , 0 , 3 )) tmp4 += ints . tmp23 * - 0.5 tmp4 += ints . tmp28 * - 1 tmp4 += ints . tmp31 * - 2 tmp4 += np . transpose ( ints . tmp41 , ( 0 , 2 , 1 , 3 )) * - 2 tmp4 += ints . tmp44 * - 1 tmp4 += v . ooov * - 1 tmp15 = np . copy ( tmp0 ) tmp15 += tmp2 * 0.5 tmp10 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 3 ), ( 0 , 2 )) * 2 tmp10 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) * - 1 tmp9 = np . copy ( ints . tmp12 ) tmp9 += ints . tmp19 * 0.5 tmp9 += ints . tmp22 * 0.5 tmp9 += ints . tmp2 tmp9 += ints . tmp30 * 0.5 tmp9 += ints . tmp33 * 0.5 tmp9 += ints . tmp39 tmp9 += ints . tmp43 tmp9 += ints . tmp45 tmp9 += ints . tmp7 tmp9 += f . ov * - 1 tmp9 += ints . tmp27 * - 1 tmp9 += ints . tmp3 * - 1 tmp9 += ints . tmp4 * - 1 tmp13 = np . copy ( ints . tmp17 ) * 0.5 tmp13 += ints . tmp9 tmp13 += f . vv * - 1 tmp6 = np . copy ( ints . tmp10 ) tmp6 += ints . tmp36 tmp6 += np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 )) * - 1 tmp11 = np . copy ( ints . tmp10 ) tmp11 += np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 )) * - 1 tmp8 = np . copy ( ints . tmp29 ) tmp8 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 r2new = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), tmp5 , ( 4 , 5 , 0 , 1 ), ( 5 , 4 , 2 , 3 )) * - 1 r2new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) * 0.5 r2new += tmp19 r2new += np . transpose ( tmp19 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp19 r2new += tmp22 r2new += np . transpose ( tmp22 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp22 r2new += tmp28 r2new += np . transpose ( tmp28 , ( 0 , 1 , 3 , 2 )) * - 1 r2new += np . transpose ( tmp28 , ( 1 , 0 , 2 , 3 )) * - 1 r2new += np . transpose ( tmp28 , ( 1 , 0 , 3 , 2 )) del tmp28 r2new += np . transpose ( tmp29 , ( 0 , 1 , 3 , 2 )) r2new += np . transpose ( tmp29 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp29 r2new += np . transpose ( tmp33 , ( 1 , 0 , 2 , 3 )) * - 1 r2new += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) del tmp33 r2new += np . transpose ( tmp35 , ( 1 , 0 , 2 , 3 )) r2new += np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp35 r2new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp36 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) * - 1 del tmp36 r2new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 5 , 0 , 1 ), ( 5 , 4 , 2 , 3 )) * 0.5 del tmp37 r1new = einsum ( ints . tmp29 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 0 , 2 ), ( 1 , 3 )) * - 1 del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 ), v . ovvv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 0.5 del tmp1 r1new += einsum ( ints . tmp29 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 2 ), ( 1 , 3 )) * - 0.5 del tmp2 r1new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) del tmp3 r1new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) * 0.5 del tmp4 r1new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 del tmp5 , tmp6 r1new += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 4 , 0 , 2 , 1 ), ( 4 , 3 )) * - 0.5 del tmp7 , tmp8 r1new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 1 , 3 ), ( 0 , 2 )) * - 1 del tmp9 r1new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), tmp10 , ( 1 , 3 ), ( 0 , 2 )) * 0.5 del tmp10 r1new += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), r1 , ( 0 , 2 ), ( 1 , 3 )) del tmp11 r1new += einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp12 , ( 2 , 1 ), ( 0 , 3 )) * 0.5 del tmp12 r1new += einsum ( r1 , ( 0 , 1 ), tmp13 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp13 r1new += einsum ( tmp14 , ( 0 , 1 ), r1 , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp14 r1new += einsum ( tmp15 , ( 0 , 1 ), tmp16 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp16 , tmp15 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/GCCSDT/","text":"","title":"GCCSDT"},{"location":"reference/codegen/GCCSDTQ/","text":"","title":"GCCSDTQ"},{"location":"reference/codegen/GCCSD_SD_1_1/","text":"","title":"GCCSD SD 1 1"},{"location":"reference/codegen/GCCSD_SD_1_2/","text":"","title":"GCCSD SD 1 2"},{"location":"reference/codegen/GCCSD_S_1_1/","text":"","title":"GCCSD S 1 1"},{"location":"reference/codegen/GCCSDwtwp/","text":"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] albert version: 0.0.0 caller: /home/ollie/git/albert/albert/codegen/einsum.py node: ollie-desktop system: Linux processor: x86_64 release: 6.8.0-40-generic ebcc . codegen . GCCSDwtwp . energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-09-27T21:44:58.384057. 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. Source code in ebcc/codegen/GCCSDwtwp.py 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 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. 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 ), ( 0 , 2 , 1 , 3 )) * 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 ebcc . codegen . GCCSDwtwp . 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. 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. Source code in ebcc/codegen/GCCSDwtwp.py 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 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. 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 )]) 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 )]) 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 )) tmp115 = einsum ( t1_oV , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 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 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 )) tmp147 = einsum ( t1_oV , ( 0 , 1 ), tmp146 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp146 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 )) 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 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 )) 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 tmp28 = einsum ( v . OOVv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) * - 1 tmp4 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 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 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 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 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 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 )) 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 )) 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 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 )) del tmp91 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 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 del tmp28 tmp27 = einsum ( v . OoVv , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) 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 )) 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 )) 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 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 )) 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 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 ( t1 , ( 0 , 1 ), tmp32 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) 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 ( t1 , ( 0 , 1 ), tmp48 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * 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 ( t1 , ( 0 , 1 ), tmp53 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 1 , 4 )) * - 1 del tmp53 t1new_OV = einsum ( v . OOVV , ( 0 , 1 , 2 , 3 ), t3 , ( 4 , 0 , 1 , 5 , 2 , 3 ), ( 4 , 5 )) * 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 ( 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 ( 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 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 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 ) 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 }","title":"GCCSDwtwp"},{"location":"reference/codegen/GCCSDwtwp/#ebcc.codegen.GCCSDwtwp.energy","text":"Code generated by albert 0.0.0 on 2024-09-27T21:44:58.384057.","title":"energy"},{"location":"reference/codegen/GCCSDwtwp/#ebcc.codegen.GCCSDwtwp.energy--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCSDwtwp/#ebcc.codegen.GCCSDwtwp.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/GCCSDwtwp.py 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 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. 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 ), ( 0 , 2 , 1 , 3 )) * 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","title":"Returns"},{"location":"reference/codegen/GCCSDwtwp/#ebcc.codegen.GCCSDwtwp.update_amps","text":"Code generated by albert 0.0.0 on 2024-09-27T21:45:33.101020.","title":"update_amps"},{"location":"reference/codegen/GCCSDwtwp/#ebcc.codegen.GCCSDwtwp.update_amps--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. t3 : array T3 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GCCSDwtwp/#ebcc.codegen.GCCSDwtwp.update_amps--returns","text":"t1new : array Updated T1 residuals. t2new : array Updated T2 residuals. t3new : array Updated T3 residuals. Source code in ebcc/codegen/GCCSDwtwp.py 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 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. 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 )]) 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 )]) 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 )) tmp115 = einsum ( t1_oV , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 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 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 )) tmp147 = einsum ( t1_oV , ( 0 , 1 ), tmp146 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp146 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 )) 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 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 )) 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 tmp28 = einsum ( v . OOVv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) * - 1 tmp4 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 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 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 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 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 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 )) 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 )) 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 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 )) del tmp91 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 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 del tmp28 tmp27 = einsum ( v . OoVv , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) 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 )) 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 )) 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 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 )) 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 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 ( t1 , ( 0 , 1 ), tmp32 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) 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 ( t1 , ( 0 , 1 ), tmp48 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * 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 ( t1 , ( 0 , 1 ), tmp53 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 1 , 4 )) * - 1 del tmp53 t1new_OV = einsum ( v . OOVV , ( 0 , 1 , 2 , 3 ), t3 , ( 4 , 0 , 1 , 5 , 2 , 3 ), ( 4 , 5 )) * 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 ( 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 ( 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 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 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 ) 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 }","title":"Returns"},{"location":"reference/codegen/GCCSDxTx/","text":"","title":"GCCSDxTx"},{"location":"reference/codegen/GMP2/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-17T12:50:33.889738 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.8.0-40-generic ebcc . codegen . GMP2 . energy ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:50:33.926346. Parameters t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns e_mp : array Source code in ebcc/codegen/GMP2.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:33.926346. Parameters ---------- t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- e_mp : array \"\"\" e_mp = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 0 , 1 , 2 , 3 ), ()) * 0.25 return e_mp ebcc . codegen . GMP2 . make_rdm1_f ( l2 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:50:34.001989. Parameters l2 : array L2 amplitudes. t2 : array T2 amplitudes. Returns rdm1 : array One-particle reduced density matrix. Source code in ebcc/codegen/GMP2.py 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 def make_rdm1_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:34.001989. 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 . vv = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * 0.5 rdm1 . oo = np . copy ( delta . oo ) del delta rdm1 . oo += einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * - 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 ebcc . codegen . GMP2 . make_rdm2_f ( l2 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:50:34.016048. Parameters l2 : array L2 amplitudes. t2 : array T2 amplitudes. Returns rdm2 : array Two-particle reduced density matrix. Source code in ebcc/codegen/GMP2.py 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 def make_rdm2_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:34.016048. Parameters ---------- l2 : array L2 amplitudes. t2 : array T2 amplitudes. Returns ------- rdm2 : array Two-particle reduced density matrix. \"\"\" rdm2 = Namespace () rdm2 . vvoo = np . copy ( l2 ) rdm2 . oovv = np . copy ( t2 ) rdm2 . oooo = np . zeros (( t2 . shape [ 0 ], t2 . shape [ 0 ], t2 . shape [ 0 ], t2 . shape [ 0 ])) 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 . ovov = np . zeros (( t2 . shape [ 0 ], t2 . shape [ - 1 ], t2 . shape [ 0 ], t2 . shape [ - 1 ])) rdm2 . ovvo = np . zeros (( t2 . shape [ 0 ], t2 . shape [ - 1 ], t2 . shape [ - 1 ], t2 . shape [ 0 ])) rdm2 . voov = np . zeros (( t2 . shape [ - 1 ], t2 . shape [ 0 ], t2 . shape [ 0 ], t2 . shape [ - 1 ])) rdm2 . vovo = np . zeros (( t2 . shape [ - 1 ], t2 . shape [ 0 ], t2 . shape [ - 1 ], 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 . vvvv = np . zeros (( t2 . shape [ - 1 ], t2 . shape [ - 1 ], t2 . shape [ - 1 ], t2 . shape [ - 1 ])) 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 )) rdm1 = make_rdm1_f ( t2 = t2 , l2 = l2 ) delta = np . diag ( np . concatenate ([ np . ones ( t2 . shape [ 0 ]), np . zeros ( t2 . shape [ - 1 ])])) rdm1 -= delta rdm2 += einsum ( delta , ( 0 , 1 ), rdm1 , ( 3 , 2 ), ( 0 , 1 , 2 , 3 )) rdm2 += einsum ( rdm1 , ( 1 , 0 ), delta , ( 2 , 3 ), ( 0 , 1 , 2 , 3 )) rdm2 -= einsum ( delta , ( 0 , 3 ), rdm1 , ( 2 , 1 ), ( 0 , 1 , 2 , 3 )) rdm2 -= einsum ( rdm1 , ( 0 , 3 ), delta , ( 1 , 2 ), ( 0 , 1 , 2 , 3 )) rdm2 += einsum ( delta , ( 0 , 1 ), delta , ( 2 , 3 ), ( 0 , 1 , 2 , 3 )) rdm2 -= einsum ( delta , ( 0 , 3 ), delta , ( 1 , 2 ), ( 0 , 1 , 2 , 3 )) return rdm2 ebcc . codegen . GMP2 . hbar_matvec_ip_intermediates ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:50:34.562235. Parameters t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array Source code in ebcc/codegen/GMP2.py 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 def hbar_matvec_ip_intermediates ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:34.562235. Parameters ---------- t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array \"\"\" tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) return { f \"tmp0\" : tmp0 } ebcc . codegen . GMP2 . hbar_matvec_ip ( f = None , r1 = None , r2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:50:34.563471. Parameters f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. v : array Electron repulsion integrals. Returns r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GMP2.py 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 def hbar_matvec_ip ( f = None , r1 = None , r2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:34.563471. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp1 = einsum ( r2 , ( 0 , 1 , 2 ), f . oo , ( 3 , 1 ), ( 3 , 0 , 2 )) tmp0 = np . copy ( f . oo ) * 4 tmp0 += ints . tmp0 tmp0 += np . transpose ( ints . tmp0 , ( 1 , 0 )) del ints . tmp0 r2new = einsum ( f . vv , ( 0 , 1 ), r2 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) r2new += einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), r1 , ( 2 ,), ( 0 , 1 , 3 )) * - 1 r2new += tmp1 r2new += np . transpose ( tmp1 , ( 1 , 0 , 2 )) * - 1 del tmp1 r1new = einsum ( r2 , ( 0 , 1 , 2 ), v . ovoo , ( 3 , 2 , 0 , 1 ), ( 3 ,)) * - 0.5 r1new += einsum ( r1 , ( 0 ,), tmp0 , ( 0 , 1 ), ( 1 ,)) * - 0.25 del tmp0 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . GMP2 . hbar_matvec_ea_intermediates ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:50:35.060732. Parameters t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array Source code in ebcc/codegen/GMP2.py 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 def hbar_matvec_ea_intermediates ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:35.060732. Parameters ---------- t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array \"\"\" tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) return { f \"tmp0\" : tmp0 } ebcc . codegen . GMP2 . hbar_matvec_ea ( f = None , r1 = None , r2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:50:35.062043. Parameters f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. v : array Electron repulsion integrals. Returns r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GMP2.py 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 def hbar_matvec_ea ( f = None , r1 = None , r2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:35.062043. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp1 = einsum ( f . vv , ( 0 , 1 ), r2 , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp0 = np . copy ( f . vv ) * - 1 tmp0 += ints . tmp0 * 0.25 tmp0 += np . transpose ( ints . tmp0 , ( 1 , 0 )) * 0.25 del ints . tmp0 r2new = einsum ( r1 , ( 0 ,), v . ovvv , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) * - 1 r2new += einsum ( f . oo , ( 0 , 1 ), r2 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * - 1 r2new += np . transpose ( tmp1 , ( 1 , 2 , 0 )) * - 1 r2new += np . transpose ( tmp1 , ( 2 , 1 , 0 )) del tmp1 r1new = einsum ( r2 , ( 0 , 1 , 2 ), v . ovvv , ( 2 , 3 , 0 , 1 ), ( 3 ,)) * - 0.5 r1new += einsum ( tmp0 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) * - 1 del tmp0 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . GMP2 . hbar_matvec_ee_intermediates ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:50:36.102028. Parameters t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp1 : array Source code in ebcc/codegen/GMP2.py 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 def hbar_matvec_ee_intermediates ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:36.102028. Parameters ---------- t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array \"\"\" tmp1 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 } ebcc . codegen . GMP2 . hbar_matvec_ee ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:50:36.104342. Parameters f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GMP2.py 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 def hbar_matvec_ee ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:36.104342. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp3 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), r1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp4 = einsum ( f . vv , ( 0 , 1 ), r2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp7 = einsum ( r1 , ( 0 , 1 ), v . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp6 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), f . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp5 = np . copy ( np . transpose ( tmp3 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp3 tmp5 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp4 tmp8 = np . copy ( np . transpose ( tmp6 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp6 tmp8 += np . transpose ( tmp7 , ( 0 , 1 , 3 , 2 )) del tmp7 tmp2 = np . copy ( f . oo ) tmp2 += np . transpose ( ints . tmp0 , ( 1 , 0 )) * 0.5 del ints . tmp0 tmp1 = np . copy ( f . vv ) tmp1 += np . transpose ( ints . tmp1 , ( 1 , 0 )) * - 0.5 del ints . tmp1 tmp0 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 3 ), ( 0 , 2 )) r2new = np . copy ( tmp5 ) * - 1 r2new += np . transpose ( tmp5 , ( 0 , 1 , 3 , 2 )) del tmp5 r2new += tmp8 r2new += np . transpose ( tmp8 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp8 r1new = einsum ( tmp0 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp0 r1new += einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 0 , 2 , 3 ), ( 4 , 1 )) * - 0.5 r1new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * - 0.5 r1new += einsum ( r1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) * - 1 r1new += einsum ( r1 , ( 0 , 1 ), tmp1 , ( 1 , 2 ), ( 0 , 2 )) del tmp1 r1new += einsum ( r1 , ( 0 , 1 ), tmp2 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp2 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"GMP2"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.energy","text":"Code generated by albert 0.0.0 on 2024-08-17T12:50:33.926346.","title":"energy"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.energy--parameters","text":"t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.energy--returns","text":"e_mp : array Source code in ebcc/codegen/GMP2.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:33.926346. Parameters ---------- t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- e_mp : array \"\"\" e_mp = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 0 , 1 , 2 , 3 ), ()) * 0.25 return e_mp","title":"Returns"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.make_rdm1_f","text":"Code generated by albert 0.0.0 on 2024-08-17T12:50:34.001989.","title":"make_rdm1_f"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.make_rdm1_f--parameters","text":"l2 : array L2 amplitudes. t2 : array T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.make_rdm1_f--returns","text":"rdm1 : array One-particle reduced density matrix. Source code in ebcc/codegen/GMP2.py 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 def make_rdm1_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:34.001989. 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 . vv = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * 0.5 rdm1 . oo = np . copy ( delta . oo ) del delta rdm1 . oo += einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * - 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","title":"Returns"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.make_rdm2_f","text":"Code generated by albert 0.0.0 on 2024-08-17T12:50:34.016048.","title":"make_rdm2_f"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.make_rdm2_f--parameters","text":"l2 : array L2 amplitudes. t2 : array T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.make_rdm2_f--returns","text":"rdm2 : array Two-particle reduced density matrix. Source code in ebcc/codegen/GMP2.py 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 def make_rdm2_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:34.016048. Parameters ---------- l2 : array L2 amplitudes. t2 : array T2 amplitudes. Returns ------- rdm2 : array Two-particle reduced density matrix. \"\"\" rdm2 = Namespace () rdm2 . vvoo = np . copy ( l2 ) rdm2 . oovv = np . copy ( t2 ) rdm2 . oooo = np . zeros (( t2 . shape [ 0 ], t2 . shape [ 0 ], t2 . shape [ 0 ], t2 . shape [ 0 ])) 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 . ovov = np . zeros (( t2 . shape [ 0 ], t2 . shape [ - 1 ], t2 . shape [ 0 ], t2 . shape [ - 1 ])) rdm2 . ovvo = np . zeros (( t2 . shape [ 0 ], t2 . shape [ - 1 ], t2 . shape [ - 1 ], t2 . shape [ 0 ])) rdm2 . voov = np . zeros (( t2 . shape [ - 1 ], t2 . shape [ 0 ], t2 . shape [ 0 ], t2 . shape [ - 1 ])) rdm2 . vovo = np . zeros (( t2 . shape [ - 1 ], t2 . shape [ 0 ], t2 . shape [ - 1 ], 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 . vvvv = np . zeros (( t2 . shape [ - 1 ], t2 . shape [ - 1 ], t2 . shape [ - 1 ], t2 . shape [ - 1 ])) 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 )) rdm1 = make_rdm1_f ( t2 = t2 , l2 = l2 ) delta = np . diag ( np . concatenate ([ np . ones ( t2 . shape [ 0 ]), np . zeros ( t2 . shape [ - 1 ])])) rdm1 -= delta rdm2 += einsum ( delta , ( 0 , 1 ), rdm1 , ( 3 , 2 ), ( 0 , 1 , 2 , 3 )) rdm2 += einsum ( rdm1 , ( 1 , 0 ), delta , ( 2 , 3 ), ( 0 , 1 , 2 , 3 )) rdm2 -= einsum ( delta , ( 0 , 3 ), rdm1 , ( 2 , 1 ), ( 0 , 1 , 2 , 3 )) rdm2 -= einsum ( rdm1 , ( 0 , 3 ), delta , ( 1 , 2 ), ( 0 , 1 , 2 , 3 )) rdm2 += einsum ( delta , ( 0 , 1 ), delta , ( 2 , 3 ), ( 0 , 1 , 2 , 3 )) rdm2 -= einsum ( delta , ( 0 , 3 ), delta , ( 1 , 2 ), ( 0 , 1 , 2 , 3 )) return rdm2","title":"Returns"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.hbar_matvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T12:50:34.562235.","title":"hbar_matvec_ip_intermediates"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.hbar_matvec_ip_intermediates--parameters","text":"t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.hbar_matvec_ip_intermediates--returns","text":"tmp0 : array Source code in ebcc/codegen/GMP2.py 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 def hbar_matvec_ip_intermediates ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:34.562235. Parameters ---------- t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array \"\"\" tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) return { f \"tmp0\" : tmp0 }","title":"Returns"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.hbar_matvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T12:50:34.563471.","title":"hbar_matvec_ip"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.hbar_matvec_ip--parameters","text":"f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.hbar_matvec_ip--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GMP2.py 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 def hbar_matvec_ip ( f = None , r1 = None , r2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:34.563471. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp1 = einsum ( r2 , ( 0 , 1 , 2 ), f . oo , ( 3 , 1 ), ( 3 , 0 , 2 )) tmp0 = np . copy ( f . oo ) * 4 tmp0 += ints . tmp0 tmp0 += np . transpose ( ints . tmp0 , ( 1 , 0 )) del ints . tmp0 r2new = einsum ( f . vv , ( 0 , 1 ), r2 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) r2new += einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), r1 , ( 2 ,), ( 0 , 1 , 3 )) * - 1 r2new += tmp1 r2new += np . transpose ( tmp1 , ( 1 , 0 , 2 )) * - 1 del tmp1 r1new = einsum ( r2 , ( 0 , 1 , 2 ), v . ovoo , ( 3 , 2 , 0 , 1 ), ( 3 ,)) * - 0.5 r1new += einsum ( r1 , ( 0 ,), tmp0 , ( 0 , 1 ), ( 1 ,)) * - 0.25 del tmp0 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.hbar_matvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T12:50:35.060732.","title":"hbar_matvec_ea_intermediates"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.hbar_matvec_ea_intermediates--parameters","text":"t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.hbar_matvec_ea_intermediates--returns","text":"tmp0 : array Source code in ebcc/codegen/GMP2.py 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 def hbar_matvec_ea_intermediates ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:35.060732. Parameters ---------- t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array \"\"\" tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) return { f \"tmp0\" : tmp0 }","title":"Returns"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.hbar_matvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T12:50:35.062043.","title":"hbar_matvec_ea"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.hbar_matvec_ea--parameters","text":"f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.hbar_matvec_ea--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GMP2.py 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 def hbar_matvec_ea ( f = None , r1 = None , r2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:35.062043. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp1 = einsum ( f . vv , ( 0 , 1 ), r2 , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp0 = np . copy ( f . vv ) * - 1 tmp0 += ints . tmp0 * 0.25 tmp0 += np . transpose ( ints . tmp0 , ( 1 , 0 )) * 0.25 del ints . tmp0 r2new = einsum ( r1 , ( 0 ,), v . ovvv , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) * - 1 r2new += einsum ( f . oo , ( 0 , 1 ), r2 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * - 1 r2new += np . transpose ( tmp1 , ( 1 , 2 , 0 )) * - 1 r2new += np . transpose ( tmp1 , ( 2 , 1 , 0 )) del tmp1 r1new = einsum ( r2 , ( 0 , 1 , 2 ), v . ovvv , ( 2 , 3 , 0 , 1 ), ( 3 ,)) * - 0.5 r1new += einsum ( tmp0 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) * - 1 del tmp0 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.hbar_matvec_ee_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T12:50:36.102028.","title":"hbar_matvec_ee_intermediates"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.hbar_matvec_ee_intermediates--parameters","text":"t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.hbar_matvec_ee_intermediates--returns","text":"tmp0 : array tmp1 : array Source code in ebcc/codegen/GMP2.py 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 def hbar_matvec_ee_intermediates ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:36.102028. Parameters ---------- t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array \"\"\" tmp1 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 }","title":"Returns"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.hbar_matvec_ee","text":"Code generated by albert 0.0.0 on 2024-08-17T12:50:36.104342.","title":"hbar_matvec_ee"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.hbar_matvec_ee--parameters","text":"f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GMP2/#ebcc.codegen.GMP2.hbar_matvec_ee--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/GMP2.py 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 def hbar_matvec_ee ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:36.104342. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp3 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), r1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp4 = einsum ( f . vv , ( 0 , 1 ), r2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp7 = einsum ( r1 , ( 0 , 1 ), v . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp6 = einsum ( r2 , ( 0 , 1 , 2 , 3 ), f . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp5 = np . copy ( np . transpose ( tmp3 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp3 tmp5 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp4 tmp8 = np . copy ( np . transpose ( tmp6 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp6 tmp8 += np . transpose ( tmp7 , ( 0 , 1 , 3 , 2 )) del tmp7 tmp2 = np . copy ( f . oo ) tmp2 += np . transpose ( ints . tmp0 , ( 1 , 0 )) * 0.5 del ints . tmp0 tmp1 = np . copy ( f . vv ) tmp1 += np . transpose ( ints . tmp1 , ( 1 , 0 )) * - 0.5 del ints . tmp1 tmp0 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), r1 , ( 1 , 3 ), ( 0 , 2 )) r2new = np . copy ( tmp5 ) * - 1 r2new += np . transpose ( tmp5 , ( 0 , 1 , 3 , 2 )) del tmp5 r2new += tmp8 r2new += np . transpose ( tmp8 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp8 r1new = einsum ( tmp0 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp0 r1new += einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 0 , 2 , 3 ), ( 4 , 1 )) * - 0.5 r1new += einsum ( r2 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * - 0.5 r1new += einsum ( r1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) * - 1 r1new += einsum ( r1 , ( 0 , 1 ), tmp1 , ( 1 , 2 ), ( 0 , 2 )) del tmp1 r1new += einsum ( r1 , ( 0 , 1 ), tmp2 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp2 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/GMP3/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-09T21:27:40.383646 python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0] albert version: 0.0.0 caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py node: fv-az1487-369 system: Linux processor: x86_64 release: 6.5.0-1025-azure ebcc . codegen . GMP3 . energy ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T21:27:40.838811. Parameters t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns e_mp : array Source code in ebcc/codegen/GMP3.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:27:40.838811. 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 , 4 , 5 , 1 )) e_mp = einsum ( v . oooo , ( 0 , 1 , 2 , 3 ), tmp0 , ( 3 , 0 , 1 , 2 ), ()) * - 0.125 del tmp0 tmp1 = np . copy ( v . oovv ) * 2 tmp1 += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 1 ), ( 0 , 4 , 3 , 5 )) * - 8 tmp1 += einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) e_mp += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 2 , 3 ), ()) * 0.125 del tmp1 return e_mp","title":"GMP3"},{"location":"reference/codegen/GMP3/#ebcc.codegen.GMP3.energy","text":"Code generated by albert 0.0.0 on 2024-08-09T21:27:40.838811.","title":"energy"},{"location":"reference/codegen/GMP3/#ebcc.codegen.GMP3.energy--parameters","text":"t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GMP3/#ebcc.codegen.GMP3.energy--returns","text":"e_mp : array Source code in ebcc/codegen/GMP3.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:27:40.838811. 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 , 4 , 5 , 1 )) e_mp = einsum ( v . oooo , ( 0 , 1 , 2 , 3 ), tmp0 , ( 3 , 0 , 1 , 2 ), ()) * - 0.125 del tmp0 tmp1 = np . copy ( v . oovv ) * 2 tmp1 += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 1 ), ( 0 , 4 , 3 , 5 )) * - 8 tmp1 += einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) e_mp += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 2 , 3 ), ()) * 0.125 del tmp1 return e_mp","title":"Returns"},{"location":"reference/codegen/GQCISD/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-09T21:55:20.532664 python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0] albert version: 0.0.0 caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py node: fv-az1487-369 system: Linux processor: x86_64 release: 6.5.0-1025-azure ebcc . codegen . GQCISD . energy ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T21:55:20.595081. Parameters t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns e_cc : float Coupled cluster energy. Source code in ebcc/codegen/GQCISD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:55:20.595081. 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 ), ()) * 0.25 return e_cc ebcc . codegen . GQCISD . update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T21:55:22.609007. 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. Source code in ebcc/codegen/GQCISD.py 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:55:22.609007. 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 , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp9 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp10 = einsum ( f . vv , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp6 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) tmp8 = einsum ( tmp2 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) t2new = np . copy ( np . transpose ( tmp8 , ( 1 , 0 , 3 , 2 ))) * - 0.5 t2new += np . transpose ( tmp8 , ( 0 , 1 , 3 , 2 )) * 0.5 del tmp8 tmp15 = np . copy ( v . oooo ) * 2 tmp15 += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) * 0.25 del tmp15 tmp11 = np . copy ( np . transpose ( tmp9 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp9 tmp11 += np . transpose ( tmp10 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp10 t2new += np . transpose ( tmp11 , ( 0 , 1 , 3 , 2 )) t2new += tmp11 * - 1 del tmp11 tmp5 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp4 t2new += np . transpose ( tmp5 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += tmp5 del tmp5 tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) t2new += np . transpose ( tmp14 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp14 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp14 , ( 0 , 1 , 3 , 2 )) t2new += tmp14 * - 1 del tmp14 tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) t2new += np . transpose ( tmp13 , ( 1 , 0 , 3 , 2 )) t2new += np . transpose ( tmp13 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp13 tmp7 = einsum ( tmp6 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) del tmp6 t2new += np . transpose ( tmp7 , ( 0 , 1 , 3 , 2 )) * 0.5 t2new += tmp7 * - 0.5 del tmp7 tmp12 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) t2new += np . transpose ( tmp12 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp12 , ( 0 , 1 , 3 , 2 )) del tmp12 tmp0 = np . copy ( np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 ))) * - 1 tmp0 += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) t1new = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * 0.5 del tmp0 tmp3 = np . copy ( f . oo ) * 2 tmp3 += np . transpose ( tmp2 , ( 1 , 0 )) del tmp2 t1new += einsum ( tmp3 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 0.5 del tmp3 tmp1 = np . copy ( f . ov ) tmp1 += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) t1new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 1 , 3 ), ( 0 , 2 )) del tmp1 t1new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 1 ), ( 0 , 3 )) * - 1 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 += v . oovv t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) * 0.5 return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"GQCISD"},{"location":"reference/codegen/GQCISD/#ebcc.codegen.GQCISD.energy","text":"Code generated by albert 0.0.0 on 2024-08-09T21:55:20.595081.","title":"energy"},{"location":"reference/codegen/GQCISD/#ebcc.codegen.GQCISD.energy--parameters","text":"t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GQCISD/#ebcc.codegen.GQCISD.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/GQCISD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:55:20.595081. 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 ), ()) * 0.25 return e_cc","title":"Returns"},{"location":"reference/codegen/GQCISD/#ebcc.codegen.GQCISD.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-09T21:55:22.609007.","title":"update_amps"},{"location":"reference/codegen/GQCISD/#ebcc.codegen.GQCISD.update_amps--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/GQCISD/#ebcc.codegen.GQCISD.update_amps--returns","text":"t1new : array Updated T1 residuals. t2new : array Updated T2 residuals. Source code in ebcc/codegen/GQCISD.py 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:55:22.609007. 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 , ( 4 , 1 , 2 , 3 ), ( 0 , 4 )) tmp9 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp10 = einsum ( f . vv , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp6 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) tmp8 = einsum ( tmp2 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) t2new = np . copy ( np . transpose ( tmp8 , ( 1 , 0 , 3 , 2 ))) * - 0.5 t2new += np . transpose ( tmp8 , ( 0 , 1 , 3 , 2 )) * 0.5 del tmp8 tmp15 = np . copy ( v . oooo ) * 2 tmp15 += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) * 0.25 del tmp15 tmp11 = np . copy ( np . transpose ( tmp9 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp9 tmp11 += np . transpose ( tmp10 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp10 t2new += np . transpose ( tmp11 , ( 0 , 1 , 3 , 2 )) t2new += tmp11 * - 1 del tmp11 tmp5 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp4 t2new += np . transpose ( tmp5 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += tmp5 del tmp5 tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) t2new += np . transpose ( tmp14 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp14 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp14 , ( 0 , 1 , 3 , 2 )) t2new += tmp14 * - 1 del tmp14 tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) t2new += np . transpose ( tmp13 , ( 1 , 0 , 3 , 2 )) t2new += np . transpose ( tmp13 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp13 tmp7 = einsum ( tmp6 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) del tmp6 t2new += np . transpose ( tmp7 , ( 0 , 1 , 3 , 2 )) * 0.5 t2new += tmp7 * - 0.5 del tmp7 tmp12 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) t2new += np . transpose ( tmp12 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp12 , ( 0 , 1 , 3 , 2 )) del tmp12 tmp0 = np . copy ( np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 ))) * - 1 tmp0 += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) t1new = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * 0.5 del tmp0 tmp3 = np . copy ( f . oo ) * 2 tmp3 += np . transpose ( tmp2 , ( 1 , 0 )) del tmp2 t1new += einsum ( tmp3 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 0.5 del tmp3 tmp1 = np . copy ( f . ov ) tmp1 += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) t1new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 1 , 3 ), ( 0 , 2 )) del tmp1 t1new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 1 ), ( 0 , 3 )) * - 1 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 += v . oovv t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) * 0.5 return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/RCC2/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-17T18:49:57.047939 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.8.0-40-generic ebcc . codegen . RCC2 . energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:49:57.458527. 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. Source code in ebcc/codegen/RCC2.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:49:57.458527. 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 ))) * - 0.5 tmp0 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp1 = np . copy ( f . ov ) tmp1 += einsum ( t1 , ( 0 , 1 ), tmp0 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp0 e_cc = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 1 , 3 ), ()) * 2 e_cc += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 3 , 1 ), ()) * - 1 e_cc += einsum ( tmp1 , ( 0 , 1 ), t1 , ( 0 , 1 ), ()) * 2 del tmp1 return e_cc ebcc . codegen . RCC2 . update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:50:00.941842. 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. Source code in ebcc/codegen/RCC2.py 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:00.941842. 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. \"\"\" tmp23 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp14 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp15 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp2 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp24 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) del tmp23 tmp22 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp16 = np . copy ( tmp14 ) del tmp14 tmp16 += np . transpose ( tmp15 , ( 2 , 0 , 1 , 3 )) del tmp15 tmp8 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp29 = np . copy ( v . oooo ) tmp29 += einsum ( t1 , ( 0 , 1 ), tmp2 , ( 2 , 3 , 4 , 1 ), ( 3 , 0 , 2 , 4 )) tmp21 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp25 = einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp24 tmp27 = einsum ( t1 , ( 0 , 1 ), tmp22 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp17 = einsum ( t1 , ( 0 , 1 ), tmp16 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp16 tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp8 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) tmp4 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp4 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * 2 tmp9 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp9 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * 2 tmp10 = np . copy ( v . ooov ) tmp10 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp0 = np . copy ( t2 ) tmp0 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp30 = np . copy ( np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 ))) * - 1 tmp30 += einsum ( t1 , ( 0 , 1 ), tmp29 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp29 tmp19 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp12 = einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp26 = np . copy ( tmp21 ) del tmp21 tmp26 += tmp22 del tmp22 tmp26 += tmp25 del tmp25 tmp28 = einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp27 tmp20 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp18 = np . copy ( tmp13 ) del tmp13 tmp18 += np . transpose ( tmp17 , ( 0 , 1 , 3 , 2 )) del tmp17 tmp1 = np . copy ( v . ovvv ) tmp1 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp3 = np . copy ( v . ooov ) tmp3 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp3 += tmp2 * - 0.5 tmp3 += np . transpose ( tmp2 , ( 0 , 2 , 1 , 3 )) del tmp2 tmp5 = np . copy ( f . ov ) tmp5 += einsum ( t1 , ( 0 , 1 ), tmp4 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp4 tmp7 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp7 += v . oovv * - 1 tmp6 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp6 += t2 * - 1 tmp11 = np . copy ( f . oo ) * 0.5 tmp11 += tmp8 * 0.5 del tmp8 tmp11 += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 0 , 4 , 2 , 3 ), ( 4 , 1 )) * 0.5 del tmp9 tmp11 += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 1 , 0 )) del tmp10 t2new = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) t2new += einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) * - 1 t2new += einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) del tmp12 t2new += np . transpose ( tmp18 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp18 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp18 t2new += tmp19 * - 1 t2new += np . transpose ( tmp19 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp19 t2new += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp20 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp20 t2new += np . transpose ( tmp26 , ( 0 , 1 , 3 , 2 )) t2new += np . transpose ( tmp26 , ( 1 , 0 , 2 , 3 )) del tmp26 t2new += tmp28 * - 1 t2new += np . transpose ( tmp28 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp28 t2new += einsum ( t1 , ( 0 , 1 ), tmp30 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp30 t1new = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) t1new += f . ov t1new += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * 2 del tmp0 , tmp1 t1new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 2 del tmp3 t1new += einsum ( tmp5 , ( 0 , 1 ), tmp6 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) del tmp5 , tmp6 t1new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 2 ), ( 1 , 3 )) del tmp7 t1new += einsum ( t1 , ( 0 , 1 ), tmp11 , ( 0 , 2 ), ( 2 , 1 )) * - 2 del tmp11 return { f \"t1new\" : t1new , f \"t2new\" : t2new } ebcc . codegen . RCC2 . 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-17T18:50:31.277195. 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. Source code in ebcc/codegen/RCC2.py 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 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-17T18:50:31.277195. 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. \"\"\" tmp80 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp80 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * 2 tmp81 = einsum ( t1 , ( 0 , 1 ), tmp80 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp80 tmp8 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp17 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp24 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp79 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp82 = einsum ( t1 , ( 0 , 1 ), tmp81 , ( 2 , 1 ), ( 0 , 2 )) tmp70 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp5 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 0.5 tmp5 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp2 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp26 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp16 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp16 += t2 * - 0.5 tmp36 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 1 , 0 , 2 , 4 )) tmp35 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp102 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp65 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 1 ), ( 2 , 3 )) tmp73 = np . copy ( v . oovv ) tmp73 += np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 )) tmp75 = np . copy ( tmp17 ) * - 1 tmp75 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * 2 tmp83 = np . copy ( tmp79 ) del tmp79 tmp83 += tmp82 * - 1 del tmp82 tmp71 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) tmp71 += tmp70 del tmp70 tmp69 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp69 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp77 = np . copy ( tmp8 ) * 2 tmp77 += np . transpose ( tmp8 , ( 0 , 2 , 1 , 3 )) * - 1 tmp51 = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 1 , 2 )) tmp89 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp12 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp6 = einsum ( t1 , ( 0 , 1 ), tmp5 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * 2 del tmp5 tmp1 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp3 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp2 tmp27 = einsum ( t1 , ( 0 , 1 ), tmp26 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp25 = einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) del tmp24 tmp52 = einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 0 , 4 ), ( 4 , 1 )) tmp37 = np . copy ( np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 ))) tmp37 += tmp36 tmp103 = einsum ( tmp102 , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 4 , 0 , 2 , 3 )) del tmp102 tmp101 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), l1 , ( 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp66 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp65 , ( 4 , 1 ), ( 2 , 3 , 0 , 4 )) del tmp65 tmp74 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp73 , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) tmp76 = einsum ( tmp75 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) del tmp75 tmp84 = einsum ( tmp83 , ( 0 , 1 ), l2 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 , 2 , 3 )) del tmp83 tmp67 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 5 , 0 , 3 ), ( 5 , 4 , 1 , 2 )) tmp72 = einsum ( tmp71 , ( 0 , 1 , 2 , 3 ), tmp69 , ( 0 , 4 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp71 , tmp69 tmp78 = einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp77 tmp64 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp85 = einsum ( tmp81 , ( 0 , 1 ), tmp17 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp68 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) tmp99 = einsum ( tmp51 , ( 0 , 1 ), v . ovov , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp98 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), l1 , ( 4 , 0 ), ( 1 , 2 , 4 , 3 )) tmp97 = einsum ( f . oo , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp88 = einsum ( l1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp91 = einsum ( f . ov , ( 0 , 1 ), tmp17 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp95 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp73 , ( 2 , 4 , 1 , 5 ), ( 3 , 4 , 0 , 5 )) del tmp73 tmp94 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp90 = einsum ( tmp89 , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) del tmp89 tmp87 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp93 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp92 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp105 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp60 = np . copy ( f . ov ) tmp60 += tmp6 tmp62 = np . copy ( v . ooov ) tmp62 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 0.5 tmp15 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp15 += t2 * 2 tmp33 = np . copy ( tmp17 ) * 2 tmp33 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * - 1 tmp9 = np . copy ( v . ooov ) * 2 tmp9 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp9 += tmp8 * - 1 tmp9 += np . transpose ( tmp8 , ( 0 , 2 , 1 , 3 )) * 2 tmp4 = np . copy ( tmp1 ) * 0.5 del tmp1 tmp4 += tmp3 * - 0.5 del tmp3 tmp10 = np . copy ( v . ooov ) * - 0.5 tmp10 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) tmp10 += tmp8 tmp10 += np . transpose ( tmp8 , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp7 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 2 ), ( 0 , 1 , 4 , 3 )) del tmp6 tmp13 = np . copy ( np . transpose ( v . oooo , ( 0 , 2 , 1 , 3 ))) * 2 tmp13 += v . oooo * - 1 tmp13 += np . transpose ( tmp12 , ( 2 , 1 , 0 , 3 )) * - 1 tmp13 += np . transpose ( tmp12 , ( 3 , 2 , 0 , 1 )) * 2 tmp11 = np . copy ( v . oovv ) * 2 tmp11 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp0 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp30 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp30 += v . oovv * - 1 tmp31 = np . copy ( np . transpose ( tmp12 , ( 0 , 2 , 1 , 3 ))) * - 1 tmp31 += np . transpose ( tmp12 , ( 0 , 3 , 2 , 1 )) * 2 del tmp12 tmp28 = np . copy ( tmp25 ) * 2 del tmp25 tmp28 += tmp27 * - 2 del tmp27 tmp29 = np . copy ( v . ooov ) tmp29 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp29 += tmp8 * - 0.5 tmp29 += np . transpose ( tmp8 , ( 0 , 2 , 1 , 3 )) del tmp8 tmp18 = np . copy ( tmp17 ) * - 0.5 tmp18 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) tmp53 = np . copy ( tmp51 ) * 0.5 tmp53 += tmp52 del tmp52 tmp50 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp50 += t2 * - 1 tmp47 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp47 += t2 tmp22 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp22 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp38 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp37 tmp39 = np . copy ( tmp17 ) * - 1 tmp39 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * 2 tmp41 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l1 , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) tmp42 = np . copy ( tmp17 ) tmp42 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * - 0.5 tmp58 = np . copy ( v . ovvv ) tmp58 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp107 = np . copy ( v . oooo ) tmp107 += np . transpose ( tmp26 , ( 0 , 2 , 3 , 1 )) del tmp26 tmp104 = np . copy ( tmp101 ) del tmp101 tmp104 += tmp103 * 2 del tmp103 tmp86 = einsum ( l1 , ( 0 , 1 ), f . ov , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) tmp86 += tmp64 del tmp64 tmp86 += tmp66 * 2 del tmp66 tmp86 += tmp67 * - 1 del tmp67 tmp86 += tmp68 del tmp68 tmp86 += tmp72 del tmp72 tmp86 += tmp74 * - 1 del tmp74 tmp86 += np . transpose ( tmp76 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp76 tmp86 += tmp78 * - 1 del tmp78 tmp86 += np . transpose ( tmp84 , ( 0 , 1 , 3 , 2 )) del tmp84 tmp86 += tmp85 * - 1 del tmp85 tmp86 += einsum ( tmp81 , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) del tmp81 tmp100 = np . copy ( tmp97 ) del tmp97 tmp100 += tmp98 del tmp98 tmp100 += tmp99 del tmp99 tmp96 = np . copy ( tmp87 ) del tmp87 tmp96 += tmp88 del tmp88 tmp96 += tmp90 * - 1 del tmp90 tmp96 += tmp91 * - 1 del tmp91 tmp96 += tmp92 del tmp92 tmp96 += tmp93 del tmp93 tmp96 += tmp94 del tmp94 tmp96 += tmp95 * - 1 del tmp95 tmp106 = einsum ( tmp105 , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 2 , 0 )) del tmp105 tmp63 = np . copy ( f . oo ) tmp63 += einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 0 , 2 ), ( 1 , 4 )) tmp63 += einsum ( t1 , ( 0 , 1 ), tmp62 , ( 2 , 3 , 0 , 1 ), ( 3 , 2 )) * 2 del tmp62 tmp63 += einsum ( tmp60 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp34 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) tmp34 += einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp33 tmp14 = np . copy ( np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 ))) * 0.5 tmp14 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp14 += np . transpose ( tmp0 , ( 1 , 2 , 0 , 3 )) * - 1 tmp14 += np . transpose ( tmp0 , ( 2 , 1 , 0 , 3 )) * 0.5 del tmp0 tmp14 += tmp4 tmp14 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) * - 2 del tmp4 tmp14 += np . transpose ( tmp7 , ( 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 )) * 0.5 del tmp9 tmp14 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 5 , 1 , 2 ), ( 4 , 0 , 5 , 3 )) del tmp10 tmp14 += einsum ( t1 , ( 0 , 1 ), tmp11 , ( 2 , 3 , 1 , 4 ), ( 0 , 3 , 2 , 4 )) * - 0.5 del tmp11 tmp14 += einsum ( t1 , ( 0 , 1 ), tmp13 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) * 0.5 del tmp13 tmp49 = np . copy ( v . ovvv ) * - 1 tmp49 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) * 2 tmp44 = np . copy ( tmp17 ) * 2 tmp44 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * - 1 tmp32 = np . copy ( tmp28 ) * - 1 tmp32 += np . transpose ( tmp28 , ( 1 , 0 , 2 , 3 )) * 0.5 del tmp28 tmp32 += einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 4 , 5 , 0 , 3 ), ( 4 , 1 , 5 , 2 )) * - 4 del tmp29 tmp32 += einsum ( t1 , ( 0 , 1 ), tmp30 , ( 2 , 3 , 1 , 4 ), ( 0 , 3 , 2 , 4 )) * - 1 del tmp30 tmp32 += einsum ( tmp31 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) del tmp31 tmp19 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 2 , 4 , 5 , 1 ), ( 3 , 4 , 0 , 5 )) tmp19 += einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 5 , 0 ), ( 5 , 1 , 4 , 2 )) * 2 tmp19 += einsum ( t1 , ( 0 , 1 ), tmp18 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp18 tmp45 = np . copy ( tmp36 ) tmp45 += np . transpose ( tmp36 , ( 0 , 1 , 3 , 2 )) * - 0.5 tmp54 = np . copy ( t1 ) * - 0.5 tmp54 += einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) tmp54 += einsum ( l1 , ( 0 , 1 ), tmp50 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 )) * - 0.5 del tmp50 tmp54 += einsum ( t1 , ( 0 , 1 ), tmp53 , ( 0 , 2 ), ( 2 , 1 )) tmp23 = np . copy ( np . transpose ( l2 , ( 2 , 3 , 0 , 1 ))) tmp23 += einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 0 , 4 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) del tmp22 tmp56 = np . copy ( v . ooov ) * - 0.5 tmp56 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) tmp40 = np . copy ( np . transpose ( tmp17 , ( 0 , 2 , 1 , 3 ))) * 0.5 tmp40 += np . transpose ( tmp17 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp17 tmp40 += np . transpose ( tmp38 , ( 0 , 2 , 1 , 3 )) tmp40 += tmp38 * - 0.5 del tmp38 tmp40 += einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) * - 0.5 del tmp15 tmp55 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * 2 tmp55 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp57 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp57 += v . oovv * - 1 tmp48 = einsum ( l1 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) * 0.5 tmp48 += einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) del tmp47 tmp43 = np . copy ( tmp41 ) * - 2 tmp43 += np . transpose ( tmp41 , ( 0 , 2 , 1 , 3 )) del tmp41 tmp43 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) del tmp39 tmp43 += einsum ( tmp42 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) * 2 del tmp42 tmp46 = np . copy ( np . transpose ( tmp35 , ( 1 , 0 , 2 , 3 ))) * - 0.5 tmp46 += np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 )) del tmp35 tmp61 = np . copy ( tmp51 ) del tmp51 tmp61 += einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 0 , 4 ), ( 4 , 1 )) * 2 del tmp16 tmp59 = np . copy ( f . vv ) * 0.5 tmp59 += einsum ( tmp58 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 1 ), ( 3 , 2 )) del tmp58 tmp21 = np . copy ( np . transpose ( v . vvvv , ( 0 , 2 , 1 , 3 ))) * - 1 tmp21 += v . vvvv * 2 tmp20 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) l2new = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp36 , ( 4 , 5 , 2 , 0 ), ( 1 , 3 , 5 , 4 )) del tmp36 l2new += np . transpose ( v . ovov , ( 1 , 3 , 0 , 2 )) l2new += einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 1 , 4 , 5 ), ( 0 , 2 , 5 , 4 )) l2new += np . transpose ( tmp86 , ( 2 , 3 , 0 , 1 )) l2new += np . transpose ( tmp86 , ( 3 , 2 , 1 , 0 )) del tmp86 l2new += np . transpose ( tmp96 , ( 3 , 2 , 0 , 1 )) l2new += np . transpose ( tmp96 , ( 2 , 3 , 1 , 0 )) del tmp96 l2new += np . transpose ( tmp100 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp100 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp100 l2new += np . transpose ( tmp104 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp104 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp104 l2new += np . transpose ( tmp106 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp106 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp106 l2new += einsum ( tmp107 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 3 , 0 ), ( 4 , 5 , 2 , 1 )) del tmp107 l1new = np . copy ( np . transpose ( f . ov , ( 1 , 0 ))) l1new += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 1 , 0 ), ( 4 , 2 )) * 2 del tmp14 l1new += einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 3 , 2 ), ( 4 , 0 )) * - 1 del tmp19 l1new += einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) del tmp21 , tmp20 l1new += einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 3 , 4 , 2 ), ( 4 , 0 )) * 2 del tmp23 l1new += einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) del tmp32 l1new += einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 3 , 4 , 2 ), ( 4 , 0 )) * - 1 del tmp34 l1new += einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 2 , 3 , 1 , 4 ), ( 4 , 0 )) * 2 del tmp40 l1new += einsum ( tmp43 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 2 , 4 , 1 , 3 ), ( 4 , 0 )) del tmp43 l1new += einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 1 , 2 , 4 , 3 ), ( 4 , 0 )) * - 1 del tmp44 l1new += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 1 , 3 , 2 , 4 ), ( 4 , 0 )) * 2 del tmp45 l1new += einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 2 , 0 , 3 , 4 ), ( 4 , 1 )) * 2 del tmp46 l1new += einsum ( tmp48 , ( 0 , 1 ), tmp49 , ( 2 , 1 , 0 , 3 ), ( 3 , 2 )) * 2 del tmp48 , tmp49 l1new += einsum ( tmp55 , ( 0 , 1 , 2 , 3 ), tmp54 , ( 0 , 3 ), ( 2 , 1 )) * - 2 del tmp55 , tmp54 l1new += einsum ( tmp56 , ( 0 , 1 , 2 , 3 ), tmp53 , ( 0 , 2 ), ( 3 , 1 )) * - 4 del tmp53 , tmp56 l1new += einsum ( l1 , ( 0 , 1 ), tmp57 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 )) del tmp57 l1new += einsum ( tmp59 , ( 0 , 1 ), l1 , ( 0 , 2 ), ( 1 , 2 )) * 2 del tmp59 l1new += einsum ( tmp60 , ( 0 , 1 ), tmp61 , ( 2 , 0 ), ( 1 , 2 )) * - 1 del tmp60 , tmp61 l1new += einsum ( l1 , ( 0 , 1 ), tmp63 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp63 return { f \"l1new\" : l1new , f \"l2new\" : l2new } ebcc . codegen . RCC2 . make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:50:32.245417. 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. Source code in ebcc/codegen/RCC2.py 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 def make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:32.245417. 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 , 1 ), ( 2 , 3 , 4 , 0 )) tmp5 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp5 += t2 tmp0 = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 1 , 2 )) tmp7 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp7 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp3 = np . copy ( tmp2 ) * - 0.5 tmp3 += np . transpose ( tmp2 , ( 1 , 0 , 2 , 3 )) del tmp2 tmp4 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp4 += t2 * - 1 tmp6 = np . copy ( tmp0 ) * 0.5 tmp6 += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 )) del tmp5 tmp1 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp1 += t2 * - 0.5 rdm1 . vv = einsum ( l1 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) * 2 rdm1 . vv += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) * 2 del tmp7 rdm1 . vo = np . copy ( l1 ) * 2 rdm1 . ov = np . copy ( t1 ) * 2 rdm1 . ov += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) * - 4 del tmp3 rdm1 . ov += einsum ( l1 , ( 0 , 1 ), tmp4 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 )) * 2 del tmp4 rdm1 . ov += einsum ( tmp6 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 4 del tmp6 rdm1 . oo = np . copy ( np . transpose ( tmp0 , ( 1 , 0 ))) * - 2 del tmp0 rdm1 . oo += delta . oo * 2 del delta rdm1 . oo += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 0 , 4 ), ( 1 , 4 )) * - 4 del tmp1 rdm1 = np . block ([[ rdm1 . oo , rdm1 . ov ], [ rdm1 . vo , rdm1 . vv ]]) return rdm1 ebcc . codegen . RCC2 . make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:51:16.293684. 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. Source code in ebcc/codegen/RCC2.py 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 def make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:51:16.293684. 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 ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp9 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp9 += t2 * - 1 tmp77 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp77 += t2 * - 1 tmp16 = np . copy ( tmp2 ) * - 1 tmp16 += np . transpose ( tmp2 , ( 1 , 0 , 2 , 3 )) * 2 tmp14 = np . copy ( tmp2 ) * - 1 tmp14 += np . transpose ( tmp2 , ( 1 , 0 , 2 , 3 )) tmp5 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp5 += t2 tmp60 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp60 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp44 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp44 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp79 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 5 , 0 ), ( 1 , 5 , 2 , 4 )) tmp88 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp78 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp77 , ( 2 , 4 , 5 , 1 ), ( 4 , 3 , 5 , 0 )) del tmp77 tmp1 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp3 = einsum ( t1 , ( 0 , 1 ), tmp2 , ( 2 , 3 , 4 , 1 ), ( 3 , 2 , 4 , 0 )) tmp53 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) tmp53 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp17 = einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) del tmp16 tmp25 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 1 , 2 , 4 , 5 )) tmp12 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l1 , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) tmp15 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp0 = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 1 , 2 )) tmp21 = np . copy ( tmp2 ) * 2 tmp21 += np . transpose ( tmp2 , ( 1 , 0 , 2 , 3 )) * - 1 tmp6 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 )) * 2 tmp26 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp31 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 )) del tmp5 tmp110 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) tmp81 = einsum ( l1 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp90 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp60 , ( 0 , 1 , 4 , 2 ), ( 4 , 3 )) tmp65 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) tmp51 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp44 , ( 1 , 4 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp104 = np . copy ( tmp88 ) tmp104 += np . transpose ( tmp78 , ( 1 , 0 , 3 , 2 )) tmp104 += np . transpose ( tmp79 , ( 1 , 0 , 3 , 2 )) * - 1 tmp101 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp60 , ( 1 , 4 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp94 = np . copy ( np . transpose ( tmp79 , ( 1 , 0 , 3 , 2 ))) tmp94 += np . transpose ( tmp78 , ( 1 , 0 , 3 , 2 )) * - 1 tmp4 = np . copy ( np . transpose ( tmp1 , ( 1 , 0 , 3 , 2 ))) tmp4 += tmp3 tmp54 = einsum ( tmp53 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 1 , 4 , 2 , 5 )) tmp13 = einsum ( t1 , ( 0 , 1 ), tmp3 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) tmp45 = einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 1 , 4 , 2 , 5 )) del tmp44 tmp69 = np . copy ( tmp25 ) tmp69 += tmp17 * - 1 tmp35 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp35 += t2 * 2 tmp19 = einsum ( t1 , ( 0 , 1 ), tmp1 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp47 = np . copy ( tmp12 ) tmp47 += tmp15 tmp47 += tmp17 * - 1 tmp8 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp10 = einsum ( l1 , ( 0 , 1 ), tmp9 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 )) del tmp9 tmp22 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp21 , ( 0 , 1 , 4 , 2 ), ( 4 , 3 )) * 0.5 tmp23 = einsum ( tmp6 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * 0.5 tmp61 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp60 , ( 0 , 1 , 4 , 2 ), ( 4 , 3 )) * 0.5 del tmp60 tmp72 = np . copy ( tmp12 ) tmp72 += tmp26 * - 1 tmp29 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp29 += t2 * - 1 tmp32 = np . copy ( tmp0 ) * 0.5 tmp32 += tmp31 del tmp31 tmp111 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 3 , 2 , 4 , 5 ), ( 0 , 1 , 5 , 4 )) tmp112 = einsum ( tmp110 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) tmp97 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) tmp91 = np . copy ( tmp81 ) tmp91 += tmp90 del tmp90 tmp108 = np . copy ( tmp65 ) tmp108 += tmp88 tmp108 += tmp51 * - 1 tmp67 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 3 , 4 , 0 , 5 )) tmp105 = einsum ( tmp104 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp104 tmp93 = einsum ( l1 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) tmp102 = np . copy ( tmp65 ) tmp102 += tmp88 tmp102 += tmp101 * - 1 del tmp101 tmp95 = einsum ( tmp94 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp94 tmp84 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp84 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp86 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp86 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) tmp27 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) tmp55 = einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp54 tmp52 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp51 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp51 tmp50 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) tmp46 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp45 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp45 tmp70 = einsum ( t1 , ( 0 , 1 ), tmp69 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp69 tmp36 = einsum ( l1 , ( 0 , 1 ), tmp35 , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) del tmp35 tmp57 = einsum ( t1 , ( 0 , 1 ), tmp19 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) tmp58 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 5 ), ( 2 , 3 , 4 , 5 )) tmp48 = einsum ( t1 , ( 0 , 1 ), tmp47 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp47 tmp43 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) tmp11 = np . copy ( tmp8 ) tmp11 += tmp10 * - 1 del tmp10 tmp24 = np . copy ( tmp22 ) del tmp22 tmp24 += tmp23 del tmp23 tmp62 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp61 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * 2 tmp63 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 4 ), ( 0 , 4 , 3 , 2 )) tmp73 = einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp72 tmp28 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp21 , ( 0 , 1 , 4 , 2 ), ( 4 , 3 )) del tmp21 tmp30 = einsum ( l1 , ( 0 , 1 ), tmp29 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 )) del tmp29 tmp33 = einsum ( t1 , ( 0 , 1 ), tmp32 , ( 0 , 2 ), ( 2 , 1 )) * 2 tmp40 = np . copy ( tmp2 ) * 2 tmp40 += np . transpose ( tmp2 , ( 1 , 0 , 2 , 3 )) * - 1 tmp113 = np . copy ( np . transpose ( tmp111 , ( 1 , 0 , 3 , 2 ))) tmp113 += np . transpose ( tmp112 , ( 1 , 0 , 3 , 2 )) tmp107 = np . copy ( tmp97 ) tmp107 += einsum ( tmp91 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp109 = einsum ( t1 , ( 0 , 1 ), tmp108 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp108 tmp100 = einsum ( t1 , ( 0 , 1 ), tmp67 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp82 = np . copy ( tmp81 ) * 0.5 tmp82 += tmp61 tmp106 = np . copy ( tmp93 ) tmp106 += np . transpose ( tmp105 , ( 0 , 1 , 3 , 2 )) del tmp105 tmp103 = einsum ( tmp102 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp102 tmp99 = einsum ( tmp88 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) tmp98 = np . copy ( tmp97 ) tmp98 += einsum ( tmp61 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 del tmp61 tmp96 = np . copy ( tmp93 ) tmp96 += einsum ( tmp81 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp81 tmp96 += np . transpose ( tmp95 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp95 tmp83 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) tmp89 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp85 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp84 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp84 tmp92 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp53 , ( 1 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) del tmp53 tmp87 = einsum ( tmp86 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp86 tmp80 = einsum ( t1 , ( 0 , 1 ), tmp14 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp14 tmp75 = einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) tmp56 = np . copy ( tmp50 ) del tmp50 tmp56 += tmp52 * 2 tmp56 += np . transpose ( tmp55 , ( 1 , 0 , 3 , 2 )) del tmp55 tmp68 = einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp71 = np . copy ( np . transpose ( tmp46 , ( 1 , 0 , 3 , 2 ))) * - 1 tmp71 += np . transpose ( tmp70 , ( 0 , 1 , 3 , 2 )) del tmp70 tmp71 += einsum ( tmp36 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp76 = np . copy ( t1 ) tmp76 += tmp8 * - 1 tmp59 = np . copy ( tmp57 ) del tmp57 tmp59 += tmp58 tmp49 = np . copy ( tmp43 ) tmp49 += np . transpose ( tmp46 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp46 tmp49 += np . transpose ( tmp48 , ( 0 , 1 , 3 , 2 )) del tmp48 tmp49 += einsum ( t1 , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 tmp64 = np . copy ( np . transpose ( tmp62 , ( 1 , 0 , 3 , 2 ))) del tmp62 tmp64 += np . transpose ( tmp63 , ( 0 , 1 , 3 , 2 )) del tmp63 tmp64 += einsum ( tmp24 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 tmp66 = einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp74 = np . copy ( tmp43 ) del tmp43 tmp74 += np . transpose ( tmp73 , ( 0 , 1 , 3 , 2 )) del tmp73 tmp39 = einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp39 += tmp15 tmp39 += tmp17 * - 1 tmp34 = np . copy ( t1 ) * - 1 tmp34 += tmp28 tmp34 += tmp30 * - 1 del tmp30 tmp34 += tmp33 tmp42 = np . copy ( tmp0 ) tmp42 += tmp6 tmp41 = einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) del tmp40 tmp37 = np . copy ( tmp28 ) del tmp28 tmp37 += tmp33 del tmp33 tmp38 = np . copy ( tmp12 ) tmp38 += np . transpose ( tmp27 , ( 0 , 2 , 1 , 3 )) tmp38 += einsum ( tmp6 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp20 = np . copy ( tmp19 ) del tmp19 tmp20 += einsum ( tmp6 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp18 = np . copy ( tmp12 ) tmp18 += tmp13 del tmp13 tmp18 += tmp15 del tmp15 tmp18 += tmp17 * - 1 tmp7 = np . copy ( delta . oo ) tmp7 += tmp0 * - 1 rdm2 . vvvv = np . copy ( np . transpose ( tmp113 , ( 0 , 1 , 3 , 2 ))) * - 2 rdm2 . vvvv += tmp113 * 2 del tmp113 rdm2 . vvvv += np . transpose ( tmp111 , ( 1 , 0 , 3 , 2 )) * 2 del tmp111 rdm2 . vvvv += np . transpose ( tmp112 , ( 1 , 0 , 3 , 2 )) * 2 del tmp112 rdm2 . vvvo = np . copy ( np . transpose ( tmp110 , ( 1 , 2 , 3 , 0 ))) * - 2 rdm2 . vvvo += np . transpose ( tmp110 , ( 2 , 1 , 3 , 0 )) * 4 rdm2 . vvov = np . copy ( np . transpose ( tmp110 , ( 1 , 2 , 0 , 3 ))) * 4 rdm2 . vvov += np . transpose ( tmp110 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp110 rdm2 . vovv = np . copy ( np . transpose ( tmp106 , ( 1 , 0 , 2 , 3 ))) * - 2 rdm2 . vovv += np . transpose ( tmp106 , ( 1 , 0 , 3 , 2 )) * 2 del tmp106 rdm2 . vovv += np . transpose ( tmp107 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . vovv += np . transpose ( tmp107 , ( 1 , 0 , 3 , 2 )) * 2 del tmp107 rdm2 . vovv += np . transpose ( tmp93 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . vovv += np . transpose ( tmp100 , ( 1 , 0 , 3 , 2 )) * - 2 rdm2 . vovv += np . transpose ( tmp97 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . vovv += np . transpose ( tmp109 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp109 rdm2 . vovv += einsum ( tmp82 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 4 rdm2 . ovvv = np . copy ( tmp96 ) * 2 rdm2 . ovvv += np . transpose ( tmp96 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp96 rdm2 . ovvv += tmp98 * 2 rdm2 . ovvv += np . transpose ( tmp98 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp98 rdm2 . ovvv += tmp99 * 2 rdm2 . ovvv += np . transpose ( tmp99 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp99 rdm2 . ovvv += tmp93 * 2 del tmp93 rdm2 . ovvv += np . transpose ( tmp97 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp97 rdm2 . ovvv += tmp100 * - 2 del tmp100 rdm2 . ovvv += tmp103 * - 2 del tmp103 rdm2 . ovvv += einsum ( tmp91 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . vvoo = np . copy ( np . transpose ( l2 , ( 0 , 1 , 3 , 2 ))) * - 2 rdm2 . vvoo += l2 * 4 rdm2 . vovo = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . vovo += np . transpose ( tmp85 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . vovo += np . transpose ( tmp92 , ( 2 , 1 , 3 , 0 )) * - 2 del tmp92 rdm2 . vovo += np . transpose ( tmp89 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . vovo += einsum ( delta . oo , ( 0 , 1 ), tmp91 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 4 rdm2 . vovo += np . transpose ( tmp67 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . vovo += np . transpose ( tmp83 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . voov = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 4 rdm2 . voov += np . transpose ( tmp79 , ( 3 , 0 , 1 , 2 )) * 2 rdm2 . voov += np . transpose ( tmp78 , ( 3 , 0 , 1 , 2 )) * - 2 rdm2 . voov += np . transpose ( tmp89 , ( 2 , 1 , 0 , 3 )) * 2 del tmp89 rdm2 . voov += einsum ( delta . oo , ( 0 , 1 ), tmp91 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 del tmp91 rdm2 . voov += np . transpose ( tmp65 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . voov += np . transpose ( tmp88 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . voov += np . transpose ( tmp85 , ( 2 , 1 , 0 , 3 )) * 2 rdm2 . ovvo = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 4 rdm2 . ovvo += np . transpose ( tmp85 , ( 1 , 2 , 3 , 0 )) * 4 del tmp85 rdm2 . ovvo += np . transpose ( tmp87 , ( 1 , 2 , 3 , 0 )) * - 2 del tmp87 rdm2 . ovvo += np . transpose ( tmp80 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . ovvo += einsum ( tmp82 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 4 rdm2 . ovvo += np . transpose ( tmp65 , ( 1 , 2 , 3 , 0 )) * - 2 del tmp65 rdm2 . ovvo += np . transpose ( tmp88 , ( 1 , 2 , 3 , 0 )) * - 2 del tmp88 rdm2 . ovov = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . ovov += np . transpose ( tmp78 , ( 0 , 3 , 1 , 2 )) * 2 del tmp78 rdm2 . ovov += np . transpose ( tmp79 , ( 0 , 3 , 1 , 2 )) * - 2 del tmp79 rdm2 . ovov += np . transpose ( tmp80 , ( 1 , 2 , 0 , 3 )) * 2 del tmp80 rdm2 . ovov += einsum ( tmp82 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 8 del tmp82 rdm2 . ovov += np . transpose ( tmp67 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp67 rdm2 . ovov += np . transpose ( tmp83 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp83 rdm2 . oovv = np . copy ( tmp49 ) * 2 rdm2 . oovv += np . transpose ( tmp49 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . oovv += np . transpose ( tmp49 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . oovv += np . transpose ( tmp49 , ( 1 , 0 , 3 , 2 )) * 2 del tmp49 rdm2 . oovv += tmp56 * 2 rdm2 . oovv += np . transpose ( tmp56 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp56 rdm2 . oovv += tmp59 * 2 rdm2 . oovv += np . transpose ( tmp59 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp59 rdm2 . oovv += tmp64 * - 4 rdm2 . oovv += np . transpose ( tmp64 , ( 0 , 1 , 3 , 2 )) * 2 rdm2 . oovv += np . transpose ( tmp64 , ( 1 , 0 , 2 , 3 )) * 2 rdm2 . oovv += np . transpose ( tmp64 , ( 1 , 0 , 3 , 2 )) * - 4 del tmp64 rdm2 . oovv += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . oovv += t2 * 4 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . oovv += einsum ( tmp8 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 del tmp8 rdm2 . oovv += tmp66 * 2 del tmp66 rdm2 . oovv += np . transpose ( tmp68 , ( 0 , 1 , 3 , 2 )) * 2 del tmp68 rdm2 . oovv += tmp71 * 2 rdm2 . oovv += np . transpose ( tmp71 , ( 1 , 0 , 3 , 2 )) * 2 del tmp71 rdm2 . oovv += np . transpose ( tmp74 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . oovv += np . transpose ( tmp74 , ( 1 , 0 , 2 , 3 )) * - 2 del tmp74 rdm2 . oovv += tmp52 * 4 del tmp52 rdm2 . oovv += tmp58 * 2 del tmp58 rdm2 . oovv += np . transpose ( tmp75 , ( 0 , 1 , 3 , 2 )) * 2 del tmp75 rdm2 . oovv += einsum ( tmp76 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 del tmp76 rdm2 . vooo = np . copy ( np . transpose ( tmp2 , ( 3 , 2 , 0 , 1 ))) * - 4 rdm2 . vooo += np . transpose ( tmp2 , ( 3 , 2 , 1 , 0 )) * 2 rdm2 . vooo += einsum ( l1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 4 rdm2 . vooo += einsum ( delta . oo , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . ovoo = np . copy ( np . transpose ( tmp2 , ( 2 , 3 , 0 , 1 ))) * 2 rdm2 . ovoo += np . transpose ( tmp2 , ( 2 , 3 , 1 , 0 )) * - 4 del tmp2 rdm2 . ovoo += einsum ( l1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . ovoo += einsum ( delta . oo , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 4 rdm2 . oovo = einsum ( delta . oo , ( 0 , 1 ), tmp36 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), tmp36 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 del tmp36 rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 2 del tmp37 rdm2 . oovo += np . transpose ( tmp38 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . oovo += np . transpose ( tmp38 , ( 2 , 1 , 3 , 0 )) * 2 del tmp38 rdm2 . oovo += np . transpose ( tmp39 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . oovo += np . transpose ( tmp39 , ( 2 , 1 , 3 , 0 )) * 2 del tmp39 rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . oovo += np . transpose ( tmp12 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . oovo += np . transpose ( tmp26 , ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oovo += np . transpose ( tmp25 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . oovo += np . transpose ( tmp41 , ( 2 , 1 , 3 , 0 )) * - 2 del tmp41 rdm2 . oovo += np . transpose ( tmp27 , ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), tmp34 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 rdm2 . oovo += einsum ( tmp42 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 2 del tmp42 rdm2 . ooov = einsum ( delta . oo , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 del tmp11 rdm2 . ooov += np . transpose ( tmp18 , ( 1 , 2 , 0 , 3 )) * 2 rdm2 . ooov += np . transpose ( tmp18 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp18 rdm2 . ooov += einsum ( tmp0 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * 2 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 2 rdm2 . ooov += np . transpose ( tmp20 , ( 1 , 2 , 0 , 3 )) * 2 rdm2 . ooov += np . transpose ( tmp20 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp20 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp24 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 4 rdm2 . ooov += einsum ( tmp24 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 4 del tmp24 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . ooov += np . transpose ( tmp12 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp12 rdm2 . ooov += np . transpose ( tmp25 , ( 1 , 2 , 0 , 3 )) * 2 del tmp25 rdm2 . ooov += np . transpose ( tmp26 , ( 2 , 1 , 0 , 3 )) * 2 del tmp26 rdm2 . ooov += np . transpose ( tmp17 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp17 rdm2 . ooov += np . transpose ( tmp27 , ( 2 , 1 , 0 , 3 )) * 2 del tmp27 rdm2 . ooov += einsum ( tmp34 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 del tmp34 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), tmp32 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 4 del tmp32 rdm2 . oooo = einsum ( delta . oo , ( 0 , 1 ), tmp0 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp0 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * 2 rdm2 . oooo += einsum ( tmp0 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oooo += einsum ( tmp0 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 4 del tmp0 rdm2 . oooo += np . transpose ( tmp4 , ( 3 , 2 , 0 , 1 )) * - 2 rdm2 . oooo += np . transpose ( tmp4 , ( 2 , 3 , 0 , 1 )) * 2 del tmp4 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 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . oooo += einsum ( tmp6 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 4 rdm2 . oooo += einsum ( tmp6 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * 2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp6 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * 2 rdm2 . oooo += einsum ( tmp6 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 4 del tmp6 rdm2 . oooo += np . transpose ( tmp1 , ( 3 , 2 , 1 , 0 )) * 2 del tmp1 rdm2 . oooo += np . transpose ( tmp3 , ( 3 , 2 , 1 , 0 )) * 2 del tmp3 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp7 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * 2 del delta , tmp7 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 ebcc . codegen . RCC2 . hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:51:23.792538. Parameters f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp12 : array tmp14 : array tmp16 : array tmp17 : array tmp19 : array tmp21 : array tmp25 : array tmp26 : array tmp28 : array tmp29 : array tmp3 : array tmp31 : array tmp32 : array tmp33 : array tmp34 : array tmp35 : array tmp37 : array tmp39 : array tmp4 : array tmp40 : array tmp41 : array tmp42 : array tmp43 : array tmp45 : array tmp5 : array tmp51 : array tmp52 : array tmp53 : array tmp54 : array tmp6 : array tmp9 : array Source code in ebcc/codegen/RCC2.py 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 def hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:51:23.792538. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp12 : array tmp14 : array tmp16 : array tmp17 : array tmp19 : array tmp21 : array tmp25 : array tmp26 : array tmp28 : array tmp29 : array tmp3 : array tmp31 : array tmp32 : array tmp33 : array tmp34 : array tmp35 : array tmp37 : array tmp39 : array tmp4 : array tmp40 : array tmp41 : array tmp42 : array tmp43 : array tmp45 : array tmp5 : array tmp51 : array tmp52 : array tmp53 : array tmp54 : array tmp6 : array tmp9 : array \"\"\" tmp0 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp6 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp5 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp54 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp53 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp52 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 1 ), ( 4 , 2 )) tmp51 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp45 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp43 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) tmp42 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) tmp41 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp40 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp39 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp37 = einsum ( t1 , ( 0 , 1 ), f . oo , ( 2 , 0 ), ( 2 , 1 )) tmp35 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp34 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 5 , 1 )) tmp33 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp32 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp31 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 1 , 5 )) tmp29 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp28 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp26 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp25 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp21 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp19 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp17 = einsum ( tmp6 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp16 = einsum ( tmp5 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp14 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp12 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) tmp9 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp4 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp3 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) return { f \"tmp0\" : tmp0 , f \"tmp12\" : tmp12 , f \"tmp14\" : tmp14 , f \"tmp16\" : tmp16 , f \"tmp17\" : tmp17 , f \"tmp19\" : tmp19 , f \"tmp21\" : tmp21 , f \"tmp25\" : tmp25 , f \"tmp26\" : tmp26 , f \"tmp28\" : tmp28 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp31\" : tmp31 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp34\" : tmp34 , f \"tmp35\" : tmp35 , f \"tmp37\" : tmp37 , f \"tmp39\" : tmp39 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp41\" : tmp41 , f \"tmp42\" : tmp42 , f \"tmp43\" : tmp43 , f \"tmp45\" : tmp45 , f \"tmp5\" : tmp5 , f \"tmp51\" : tmp51 , f \"tmp52\" : tmp52 , f \"tmp53\" : tmp53 , f \"tmp54\" : tmp54 , f \"tmp6\" : tmp6 , f \"tmp9\" : tmp9 } ebcc . codegen . RCC2 . 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-17T18:51:23.808072. 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. Source code in ebcc/codegen/RCC2.py 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 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-17T18:51:23.808072. 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\" ] tmp9 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 0.5 tmp9 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp8 = np . copy ( np . transpose ( ints . tmp45 , ( 1 , 0 ))) * 2 del ints . tmp45 tmp8 += f . vv * - 1 tmp8 += np . transpose ( ints . tmp43 , ( 1 , 0 )) * - 1 del ints . tmp43 tmp8 += einsum ( f . ov , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp4 = np . copy ( r2 ) tmp4 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 0.5 tmp10 = einsum ( r2 , ( 0 , 1 , 2 ), tmp9 , ( 1 , 0 , 3 , 2 ), ( 3 ,)) del tmp9 tmp12 = np . copy ( f . oo ) tmp12 += ints . tmp0 tmp12 += np . transpose ( ints . tmp14 , ( 1 , 0 )) * 2 tmp12 += np . transpose ( ints . tmp12 , ( 1 , 0 )) * - 1 tmp5 = np . copy ( ints . tmp35 ) * 2 del ints . tmp35 tmp5 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp5 += ints . tmp33 * - 1 del ints . tmp33 tmp5 += ints . tmp34 * - 1 del ints . tmp34 tmp7 = np . copy ( ints . tmp21 ) del ints . tmp21 tmp7 += np . transpose ( v . oooo , ( 0 , 2 , 1 , 3 )) tmp13 = np . copy ( f . ov ) tmp13 += ints . tmp26 * 2 del ints . tmp26 tmp13 += ints . tmp40 del ints . tmp40 tmp13 += ints . tmp51 del ints . tmp51 tmp13 += ints . tmp52 * 2 del ints . tmp52 tmp13 += ints . tmp25 * - 1 del ints . tmp25 tmp13 += ints . tmp37 * - 1 del ints . tmp37 tmp13 += ints . tmp41 * - 2 del ints . tmp41 tmp13 += ints . tmp53 * - 1 del ints . tmp53 tmp13 += ints . tmp54 * - 1 del ints . tmp54 tmp6 = np . copy ( ints . tmp32 ) del ints . tmp32 tmp6 += v . oovv * - 1 tmp11 = np . copy ( ints . tmp19 ) del ints . tmp19 tmp11 += np . transpose ( ints . tmp29 , ( 1 , 0 , 2 , 3 )) * 2 del ints . tmp29 tmp11 += np . transpose ( ints . tmp39 , ( 2 , 1 , 0 , 3 )) del ints . tmp39 tmp11 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) tmp11 += np . transpose ( ints . tmp28 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp28 tmp11 += np . transpose ( ints . tmp31 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp31 tmp11 += ints . tmp42 * - 1 del ints . tmp42 tmp1 = np . copy ( f . ov ) * 0.5 tmp1 += ints . tmp6 del ints . tmp6 tmp1 += ints . tmp5 * - 0.5 del ints . tmp5 tmp3 = np . copy ( f . oo ) tmp3 += ints . tmp0 del ints . tmp0 tmp3 += np . transpose ( ints . tmp14 , ( 1 , 0 )) * 2 del ints . tmp14 tmp3 += np . transpose ( ints . tmp17 , ( 1 , 0 )) * 2 del ints . tmp17 tmp3 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * 2 del ints . tmp4 tmp3 += np . transpose ( ints . tmp12 , ( 1 , 0 )) * - 1 del ints . tmp12 tmp3 += np . transpose ( ints . tmp16 , ( 1 , 0 )) * - 1 del ints . tmp16 tmp3 += np . transpose ( ints . tmp3 , ( 1 , 0 )) * - 1 del ints . tmp3 tmp2 = np . copy ( r2 ) * 2 tmp2 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 1 tmp0 = np . copy ( ints . tmp9 ) tmp0 += v . ooov * - 0.5 tmp0 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) r2new = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * 2 del tmp5 , tmp4 r2new += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp6 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) del tmp6 r2new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 2 , 4 ), ( 1 , 0 , 4 )) del tmp7 r2new += einsum ( tmp8 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp8 r2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 3 ,), ( 0 , 1 , 2 )) * - 2 del tmp10 r2new += einsum ( r1 , ( 0 ,), tmp11 , ( 1 , 2 , 0 , 3 ), ( 2 , 1 , 3 )) del tmp11 r2new += einsum ( tmp12 , ( 0 , 1 ), r2 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new += einsum ( tmp12 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp12 r2new += einsum ( r1 , ( 0 ,), tmp13 , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 del tmp13 r1new = einsum ( ints . tmp9 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 1 , 3 ), ( 0 ,)) * - 1 del ints . tmp9 r1new += einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 3 , 0 , 1 , 2 ), ( 3 ,)) * 2 del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 ), tmp2 , ( 0 , 2 , 1 ), ( 2 ,)) * - 2 del tmp1 , tmp2 r1new += einsum ( r1 , ( 0 ,), tmp3 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp3 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . RCC2 . hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:51:31.842244. Parameters f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp14 : array tmp16 : array tmp22 : array tmp25 : array tmp26 : array tmp3 : array tmp32 : array tmp33 : array tmp35 : array tmp36 : array tmp37 : array tmp39 : array tmp41 : array tmp42 : array tmp43 : array tmp44 : array tmp46 : array tmp47 : array tmp48 : array tmp49 : array tmp5 : array tmp50 : array tmp53 : array tmp54 : array tmp55 : array tmp6 : array tmp7 : array Source code in ebcc/codegen/RCC2.py 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 def hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:51:31.842244. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp14 : array tmp16 : array tmp22 : array tmp25 : array tmp26 : array tmp3 : array tmp32 : array tmp33 : array tmp35 : array tmp36 : array tmp37 : array tmp39 : array tmp41 : array tmp42 : array tmp43 : array tmp44 : array tmp46 : array tmp47 : array tmp48 : array tmp49 : array tmp5 : array tmp50 : array tmp53 : array tmp54 : array tmp55 : array tmp6 : array tmp7 : array \"\"\" tmp33 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp55 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp54 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 5 , 1 )) tmp53 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp50 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 2 , 4 , 5 ), ( 0 , 3 , 4 , 5 )) tmp49 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp48 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp47 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp46 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp44 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp43 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 )) tmp42 = einsum ( t1 , ( 0 , 1 ), f . oo , ( 2 , 0 ), ( 2 , 1 )) tmp41 = einsum ( tmp33 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp39 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp37 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) tmp36 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp35 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 1 ), ( 4 , 2 )) tmp32 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp26 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 5 ), ( 0 , 5 , 4 , 3 )) tmp25 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp22 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 2 ), ( 0 , 3 , 4 , 5 )) tmp16 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) tmp7 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp6 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp5 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp3 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 1 ), ( 2 , 3 )) return { f \"tmp14\" : tmp14 , f \"tmp16\" : tmp16 , f \"tmp22\" : tmp22 , f \"tmp25\" : tmp25 , f \"tmp26\" : tmp26 , f \"tmp3\" : tmp3 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp35\" : tmp35 , f \"tmp36\" : tmp36 , f \"tmp37\" : tmp37 , f \"tmp39\" : tmp39 , f \"tmp41\" : tmp41 , f \"tmp42\" : tmp42 , f \"tmp43\" : tmp43 , f \"tmp44\" : tmp44 , f \"tmp46\" : tmp46 , f \"tmp47\" : tmp47 , f \"tmp48\" : tmp48 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp50\" : tmp50 , f \"tmp53\" : tmp53 , f \"tmp54\" : tmp54 , f \"tmp55\" : tmp55 , f \"tmp6\" : tmp6 , f \"tmp7\" : tmp7 } ebcc . codegen . RCC2 . 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-17T18:51:31.857579. 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. Source code in ebcc/codegen/RCC2.py 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 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-17T18:51:31.857579. 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\" ] tmp4 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * 2 tmp4 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp5 = einsum ( r2 , ( 0 , 1 , 2 ), tmp4 , ( 2 , 3 , 1 , 0 ), ( 3 ,)) del tmp4 tmp13 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp6 = np . copy ( f . ov ) tmp6 += ints . tmp7 * 2 tmp6 += ints . tmp6 * - 1 tmp8 = einsum ( r2 , ( 0 , 1 , 2 ), v . ovov , ( 3 , 0 , 4 , 1 ), ( 2 , 3 , 4 )) tmp16 = einsum ( r1 , ( 0 ,), f . ov , ( 1 , 0 ), ( 1 ,)) tmp16 += tmp5 * - 1 tmp9 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 0.5 tmp9 += np . transpose ( r2 , ( 2 , 1 , 0 )) tmp14 = np . copy ( np . transpose ( ints . tmp16 , ( 1 , 0 ))) * 2 tmp14 += f . vv * - 1 tmp14 += np . transpose ( ints . tmp14 , ( 1 , 0 )) * - 1 tmp14 += tmp13 del tmp13 tmp10 = np . copy ( ints . tmp55 ) * 2 del ints . tmp55 tmp10 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp10 += ints . tmp53 * - 1 del ints . tmp53 tmp10 += ints . tmp54 * - 1 del ints . tmp54 tmp12 = np . copy ( np . transpose ( ints . tmp26 , ( 0 , 2 , 3 , 1 ))) del ints . tmp26 tmp12 += np . transpose ( ints . tmp48 , ( 0 , 2 , 3 , 1 )) * 2 del ints . tmp48 tmp12 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) tmp12 += ints . tmp22 * - 1 del ints . tmp22 tmp12 += np . transpose ( ints . tmp49 , ( 0 , 3 , 2 , 1 )) * - 1 del ints . tmp49 tmp12 += np . transpose ( ints . tmp50 , ( 0 , 2 , 3 , 1 )) * - 1 del ints . tmp50 tmp17 = np . copy ( f . ov ) tmp17 += ints . tmp32 del ints . tmp32 tmp17 += ints . tmp35 * 2 del ints . tmp35 tmp17 += ints . tmp43 del ints . tmp43 tmp17 += ints . tmp47 * 2 del ints . tmp47 tmp17 += ints . tmp36 * - 1 del ints . tmp36 tmp17 += ints . tmp41 * - 1 del ints . tmp41 tmp17 += ints . tmp42 * - 1 del ints . tmp42 tmp17 += ints . tmp44 * - 2 del ints . tmp44 tmp17 += ints . tmp46 * - 1 del ints . tmp46 tmp11 = np . copy ( ints . tmp25 ) del ints . tmp25 tmp11 += v . oovv * - 1 tmp15 = np . copy ( f . oo ) tmp15 += ints . tmp33 del ints . tmp33 tmp15 += np . transpose ( ints . tmp39 , ( 1 , 0 )) * 2 del ints . tmp39 tmp15 += np . transpose ( ints . tmp37 , ( 1 , 0 )) * - 1 del ints . tmp37 tmp1 = np . copy ( f . ov ) * 0.5 tmp1 += ints . tmp7 del ints . tmp7 tmp1 += ints . tmp6 * - 0.5 del ints . tmp6 tmp3 = np . copy ( f . vv ) tmp3 += np . transpose ( ints . tmp14 , ( 1 , 0 )) del ints . tmp14 tmp3 += np . transpose ( ints . tmp3 , ( 1 , 0 )) * 2 del ints . tmp3 tmp3 += np . transpose ( ints . tmp16 , ( 1 , 0 )) * - 2 del ints . tmp16 tmp3 += ints . tmp5 * - 1 del ints . tmp5 tmp2 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * 2 tmp2 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 1 tmp7 = np . copy ( tmp5 ) * - 1 del tmp5 tmp7 += einsum ( r1 , ( 0 ,), tmp6 , ( 1 , 0 ), ( 1 ,)) del tmp6 tmp0 = np . copy ( v . ovvv ) * 2 tmp0 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 r2new = einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) r2new += einsum ( tmp8 , ( 0 , 1 , 2 ), t2 , ( 2 , 1 , 3 , 4 ), ( 4 , 3 , 0 )) del tmp8 r2new += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 1 , 4 , 3 ), ( 2 , 4 , 0 )) * 2 del tmp10 , tmp9 r2new += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp11 , ( 3 , 2 , 4 , 0 ), ( 4 , 1 , 3 )) del tmp11 r2new += einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), r1 , ( 2 ,), ( 3 , 1 , 0 )) * - 1 del tmp12 r2new += einsum ( tmp14 , ( 0 , 1 ), r2 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp14 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp14 r2new += einsum ( tmp15 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp15 r2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 1 ,), ( 2 , 3 , 0 )) del tmp16 r2new += einsum ( tmp17 , ( 0 , 1 ), r1 , ( 2 ,), ( 1 , 2 , 0 )) * - 1 del tmp17 r1new = einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 2 , 0 , 1 , 3 ), ( 3 ,)) * - 1 del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 ), tmp2 , ( 0 , 1 , 2 ), ( 2 ,)) * - 2 del tmp1 , tmp2 r1new += einsum ( tmp3 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) del tmp3 r1new += einsum ( tmp7 , ( 0 ,), t1 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp7 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . RCC2 . hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:51:58.799670. Parameters f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp1 : array tmp100 : array tmp103 : array tmp104 : array tmp108 : array tmp111 : array tmp112 : array tmp114 : array tmp115 : array tmp12 : array tmp129 : array tmp13 : array tmp131 : array tmp14 : array tmp17 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp24 : array tmp26 : array tmp29 : array tmp3 : array tmp32 : array tmp33 : array tmp35 : array tmp36 : array tmp38 : array tmp4 : array tmp41 : array tmp44 : array tmp48 : array tmp49 : array tmp51 : array tmp54 : array tmp57 : array tmp6 : array tmp60 : array tmp63 : array tmp66 : array tmp69 : array tmp70 : array tmp72 : array tmp73 : array tmp75 : array tmp78 : array tmp81 : array tmp82 : array tmp85 : array tmp86 : array tmp87 : array tmp88 : array tmp9 : array tmp91 : array tmp92 : array tmp94 : array tmp98 : array Source code in ebcc/codegen/RCC2.py 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 def hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:51:58.799670. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp100 : array tmp103 : array tmp104 : array tmp108 : array tmp111 : array tmp112 : array tmp114 : array tmp115 : array tmp12 : array tmp129 : array tmp13 : array tmp131 : array tmp14 : array tmp17 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp24 : array tmp26 : array tmp29 : array tmp3 : array tmp32 : array tmp33 : array tmp35 : array tmp36 : array tmp38 : array tmp4 : array tmp41 : array tmp44 : array tmp48 : array tmp49 : array tmp51 : array tmp54 : array tmp57 : array tmp6 : array tmp60 : array tmp63 : array tmp66 : array tmp69 : array tmp70 : array tmp72 : array tmp73 : array tmp75 : array tmp78 : array tmp81 : array tmp82 : array tmp85 : array tmp86 : array tmp87 : array tmp88 : array tmp9 : array tmp91 : array tmp92 : array tmp94 : array tmp98 : array \"\"\" tmp20 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp17 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp47 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp107 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp86 = einsum ( tmp17 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp85 = einsum ( tmp47 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp99 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp97 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp93 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 1 ), ( 2 , 3 )) tmp90 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp13 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp12 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp81 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp22 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) tmp24 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp0 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp131 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp129 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) tmp115 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp114 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) tmp112 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp111 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp108 = einsum ( t1 , ( 0 , 1 ), tmp107 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) del tmp107 tmp104 = einsum ( tmp86 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp103 = einsum ( t1 , ( 0 , 1 ), tmp85 , ( 2 , 0 ), ( 2 , 1 )) tmp100 = einsum ( tmp99 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) del tmp99 tmp98 = einsum ( tmp97 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 2 , 1 )) del tmp97 tmp94 = einsum ( tmp93 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) del tmp93 tmp92 = einsum ( tmp90 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp91 = einsum ( tmp90 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp90 tmp88 = einsum ( t1 , ( 0 , 1 ), tmp13 , ( 2 , 0 ), ( 2 , 1 )) tmp87 = einsum ( t1 , ( 0 , 1 ), tmp12 , ( 2 , 0 ), ( 2 , 1 )) tmp82 = einsum ( t1 , ( 0 , 1 ), tmp81 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp78 = einsum ( tmp22 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp75 = einsum ( t1 , ( 0 , 1 ), tmp24 , ( 2 , 0 ), ( 2 , 1 )) tmp73 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp72 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) tmp70 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp69 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp66 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp63 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp60 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp57 = einsum ( tmp47 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp54 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 3 ), ( 0 , 2 )) tmp51 = einsum ( tmp17 , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) tmp49 = einsum ( tmp47 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp48 = einsum ( tmp47 , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) del tmp47 tmp44 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp41 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp38 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 4 )) tmp36 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp35 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 1 , 5 )) tmp33 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp32 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) tmp29 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp26 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp21 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp19 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp14 = einsum ( v . oooo , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp9 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp6 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp2 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( t1 , ( 0 , 1 ), f . oo , ( 2 , 0 ), ( 2 , 1 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp100\" : tmp100 , f \"tmp103\" : tmp103 , f \"tmp104\" : tmp104 , f \"tmp108\" : tmp108 , f \"tmp111\" : tmp111 , f \"tmp112\" : tmp112 , f \"tmp114\" : tmp114 , f \"tmp115\" : tmp115 , f \"tmp12\" : tmp12 , f \"tmp129\" : tmp129 , f \"tmp13\" : tmp13 , f \"tmp131\" : tmp131 , f \"tmp14\" : tmp14 , f \"tmp17\" : tmp17 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp24\" : tmp24 , f \"tmp26\" : tmp26 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp35\" : tmp35 , f \"tmp36\" : tmp36 , f \"tmp38\" : tmp38 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp44\" : tmp44 , f \"tmp48\" : tmp48 , f \"tmp49\" : tmp49 , f \"tmp51\" : tmp51 , f \"tmp54\" : tmp54 , f \"tmp57\" : tmp57 , f \"tmp6\" : tmp6 , f \"tmp60\" : tmp60 , f \"tmp63\" : tmp63 , f \"tmp66\" : tmp66 , f \"tmp69\" : tmp69 , f \"tmp70\" : tmp70 , f \"tmp72\" : tmp72 , f \"tmp73\" : tmp73 , f \"tmp75\" : tmp75 , f \"tmp78\" : tmp78 , f \"tmp81\" : tmp81 , f \"tmp82\" : tmp82 , f \"tmp85\" : tmp85 , f \"tmp86\" : tmp86 , f \"tmp87\" : tmp87 , f \"tmp88\" : tmp88 , f \"tmp9\" : tmp9 , f \"tmp91\" : tmp91 , f \"tmp92\" : tmp92 , f \"tmp94\" : tmp94 , f \"tmp98\" : tmp98 } ebcc . codegen . RCC2 . hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:51:58.827598. 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. Source code in ebcc/codegen/RCC2.py 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:51:58.827598. 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\" ] tmp12 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp12 += t2 tmp8 = np . copy ( ints . tmp115 ) * 2 del ints . tmp115 tmp8 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp8 += ints . tmp112 * - 1 del ints . tmp112 tmp8 += ints . tmp114 * - 1 del ints . tmp114 tmp9 = np . copy ( ints . tmp111 ) del ints . tmp111 tmp9 += v . oovv * - 1 tmp14 = np . copy ( f . oo ) tmp14 += np . transpose ( ints . tmp0 , ( 1 , 0 )) tmp14 += ints . tmp24 * 2 tmp14 += ints . tmp22 * - 1 tmp10 = np . copy ( ints . tmp81 ) del ints . tmp81 tmp10 += np . transpose ( v . oooo , ( 0 , 2 , 1 , 3 )) tmp7 = np . copy ( r2 ) tmp7 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 0.5 tmp13 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 0 , 3 ), ( 2 ,)) del tmp12 tmp11 = np . copy ( ints . tmp131 ) * 2 del ints . tmp131 tmp11 += f . vv * - 1 tmp11 += ints . tmp129 * - 1 del ints . tmp129 tmp11 += einsum ( f . ov , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 2 , 1 )) tmp1 = np . copy ( ints . tmp108 ) del ints . tmp108 tmp1 += np . transpose ( ints . tmp14 , ( 1 , 2 , 0 , 3 )) del ints . tmp14 tmp1 += ints . tmp32 del ints . tmp32 tmp1 += ints . tmp69 del ints . tmp69 tmp1 += ints . tmp73 del ints . tmp73 tmp1 += ints . tmp82 del ints . tmp82 tmp1 += ints . tmp91 del ints . tmp91 tmp1 += ints . tmp100 * - 1 del ints . tmp100 tmp1 += ints . tmp20 * - 1 del ints . tmp20 tmp1 += ints . tmp44 * - 1 del ints . tmp44 tmp1 += ints . tmp70 * - 2 del ints . tmp70 tmp3 = np . copy ( np . transpose ( ints . tmp33 , ( 0 , 2 , 1 , 3 ))) del ints . tmp33 tmp3 += ints . tmp35 del ints . tmp35 tmp3 += np . transpose ( ints . tmp57 , ( 0 , 2 , 1 , 3 )) del ints . tmp57 tmp3 += np . transpose ( ints . tmp72 , ( 0 , 2 , 1 , 3 )) del ints . tmp72 tmp3 += ints . tmp92 del ints . tmp92 tmp3 += ints . tmp21 * - 1 del ints . tmp21 tmp3 += ints . tmp36 * - 2 del ints . tmp36 tmp3 += np . transpose ( ints . tmp60 , ( 0 , 2 , 1 , 3 )) * - 2 del ints . tmp60 tmp3 += np . transpose ( ints . tmp6 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp6 tmp2 = np . copy ( r2 ) * 2 tmp2 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 1 tmp4 = np . copy ( v . ooov ) tmp4 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 0.5 tmp5 = np . copy ( ints . tmp104 ) * 2 del ints . tmp104 tmp5 += ints . tmp19 del ints . tmp19 tmp5 += ints . tmp1 del ints . tmp1 tmp5 += ints . tmp29 * 2 del ints . tmp29 tmp5 += ints . tmp3 del ints . tmp3 tmp5 += ints . tmp41 del ints . tmp41 tmp5 += ints . tmp49 * 2 del ints . tmp49 tmp5 += ints . tmp51 * 2 del ints . tmp51 tmp5 += ints . tmp63 * 2 del ints . tmp63 tmp5 += ints . tmp75 * 2 del ints . tmp75 tmp5 += ints . tmp88 * 2 del ints . tmp88 tmp5 += ints . tmp98 del ints . tmp98 tmp5 += ints . tmp9 del ints . tmp9 tmp5 += f . ov * - 1 tmp5 += ints . tmp103 * - 1 del ints . tmp103 tmp5 += ints . tmp17 * - 2 del ints . tmp17 tmp5 += ints . tmp26 * - 1 del ints . tmp26 tmp5 += ints . tmp2 * - 1 del ints . tmp2 tmp5 += ints . tmp38 * - 2 del ints . tmp38 tmp5 += ints . tmp48 * - 1 del ints . tmp48 tmp5 += ints . tmp4 * - 2 del ints . tmp4 tmp5 += ints . tmp54 * - 4 del ints . tmp54 tmp5 += ints . tmp66 * - 1 del ints . tmp66 tmp5 += ints . tmp78 * - 1 del ints . tmp78 tmp5 += ints . tmp87 * - 1 del ints . tmp87 tmp5 += ints . tmp94 * - 2 del ints . tmp94 tmp6 = np . copy ( f . oo ) tmp6 += np . transpose ( ints . tmp0 , ( 1 , 0 )) del ints . tmp0 tmp6 += np . transpose ( ints . tmp13 , ( 1 , 0 )) * 2 del ints . tmp13 tmp6 += ints . tmp24 * 2 del ints . tmp24 tmp6 += ints . tmp86 * 2 del ints . tmp86 tmp6 += ints . tmp12 * - 1 del ints . tmp12 tmp6 += ints . tmp22 * - 1 del ints . tmp22 tmp6 += ints . tmp85 * - 1 del ints . tmp85 tmp0 = np . copy ( r2 ) * - 0.5 tmp0 += np . transpose ( r2 , ( 1 , 0 , 2 )) r2new = einsum ( r1 , ( 0 ,), f . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 r2new += einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), r1 , ( 3 ,), ( 0 , 2 , 1 )) r2new += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) * 2 del tmp8 , tmp7 r2new += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 0 , 2 ), ( 4 , 1 , 3 )) r2new += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) del tmp9 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp10 , ( 0 , 1 , 3 , 4 ), ( 3 , 4 , 2 )) del tmp10 r2new += einsum ( tmp11 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp11 r2new += einsum ( tmp13 , ( 0 ,), v . ovov , ( 1 , 2 , 3 , 0 ), ( 1 , 3 , 2 )) * - 2 del tmp13 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp14 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp14 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp14 r1new = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp1 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) * - 2 del tmp0 , tmp1 r1new += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp3 , ( 0 , 3 , 1 , 2 ), ( 3 ,)) * - 1 del tmp3 r1new += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 0 , 3 ), ( 1 ,)) * 2 del tmp4 r1new += einsum ( tmp5 , ( 0 , 1 ), tmp2 , ( 0 , 2 , 1 ), ( 2 ,)) del tmp2 , tmp5 r1new += einsum ( r1 , ( 0 ,), tmp6 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp6 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . RCC2 . hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:52:29.113031. Parameters f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp1 : array tmp10 : array tmp103 : array tmp106 : array tmp107 : array tmp109 : array tmp11 : array tmp111 : array tmp113 : array tmp14 : array tmp16 : array tmp17 : array tmp19 : array tmp2 : array tmp24 : array tmp27 : array tmp29 : array tmp3 : array tmp31 : array tmp34 : array tmp37 : array tmp4 : array tmp40 : array tmp43 : array tmp46 : array tmp48 : array tmp51 : array tmp53 : array tmp55 : array tmp56 : array tmp57 : array tmp59 : array tmp62 : array tmp69 : array tmp70 : array tmp73 : array tmp76 : array tmp79 : array tmp80 : array tmp83 : array tmp84 : array tmp87 : array tmp88 : array tmp90 : array tmp92 : array tmp96 : array tmp98 : array Source code in ebcc/codegen/RCC2.py 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 def hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:52:29.113031. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp1 : array tmp10 : array tmp103 : array tmp106 : array tmp107 : array tmp109 : array tmp11 : array tmp111 : array tmp113 : array tmp14 : array tmp16 : array tmp17 : array tmp19 : array tmp2 : array tmp24 : array tmp27 : array tmp29 : array tmp3 : array tmp31 : array tmp34 : array tmp37 : array tmp4 : array tmp40 : array tmp43 : array tmp46 : array tmp48 : array tmp51 : array tmp53 : array tmp55 : array tmp56 : array tmp57 : array tmp59 : array tmp62 : array tmp69 : array tmp70 : array tmp73 : array tmp76 : array tmp79 : array tmp80 : array tmp83 : array tmp84 : array tmp87 : array tmp88 : array tmp90 : array tmp92 : array tmp96 : array tmp98 : array \"\"\" tmp17 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp55 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp112 = einsum ( tmp17 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp110 = einsum ( tmp55 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp16 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp14 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 1 ), ( 2 , 3 )) tmp97 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp95 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp83 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) tmp79 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp69 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp10 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp113 = einsum ( t1 , ( 0 , 1 ), tmp112 , ( 2 , 0 ), ( 2 , 1 )) del tmp112 tmp111 = einsum ( tmp110 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) del tmp110 tmp109 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp107 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp106 = einsum ( t1 , ( 0 , 1 ), tmp16 , ( 1 , 2 ), ( 0 , 2 )) tmp103 = einsum ( t1 , ( 0 , 1 ), tmp14 , ( 2 , 1 ), ( 0 , 2 )) tmp98 = einsum ( tmp97 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) del tmp97 tmp96 = einsum ( t1 , ( 0 , 1 ), tmp95 , ( 2 , 0 ), ( 2 , 1 )) del tmp95 tmp92 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp90 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp88 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp87 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) tmp84 = einsum ( t1 , ( 0 , 1 ), tmp83 , ( 2 , 0 ), ( 2 , 1 )) tmp80 = einsum ( tmp79 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp76 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 5 ), ( 0 , 5 , 4 , 3 )) tmp73 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp70 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp69 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) tmp62 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 3 ), ( 0 , 2 )) tmp59 = einsum ( tmp17 , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) tmp57 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp55 , ( 1 , 3 ), ( 0 , 2 )) tmp56 = einsum ( tmp55 , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) tmp53 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp51 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 2 ), ( 0 , 3 , 4 , 5 )) tmp48 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp46 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 2 , 4 , 5 ), ( 0 , 3 , 4 , 5 )) tmp43 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp40 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 4 )) tmp37 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 5 ), ( 0 , 5 , 4 , 3 )) tmp34 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp31 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp29 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 2 ), ( 3 , 4 )) tmp24 = einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp19 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp11 = einsum ( tmp10 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp2 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( t1 , ( 0 , 1 ), f . oo , ( 2 , 0 ), ( 2 , 1 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp103\" : tmp103 , f \"tmp106\" : tmp106 , f \"tmp107\" : tmp107 , f \"tmp109\" : tmp109 , f \"tmp11\" : tmp11 , f \"tmp111\" : tmp111 , f \"tmp113\" : tmp113 , f \"tmp14\" : tmp14 , f \"tmp16\" : tmp16 , f \"tmp17\" : tmp17 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp24\" : tmp24 , f \"tmp27\" : tmp27 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp31\" : tmp31 , f \"tmp34\" : tmp34 , f \"tmp37\" : tmp37 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp43\" : tmp43 , f \"tmp46\" : tmp46 , f \"tmp48\" : tmp48 , f \"tmp51\" : tmp51 , f \"tmp53\" : tmp53 , f \"tmp55\" : tmp55 , f \"tmp56\" : tmp56 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp62\" : tmp62 , f \"tmp69\" : tmp69 , f \"tmp70\" : tmp70 , f \"tmp73\" : tmp73 , f \"tmp76\" : tmp76 , f \"tmp79\" : tmp79 , f \"tmp80\" : tmp80 , f \"tmp83\" : tmp83 , f \"tmp84\" : tmp84 , f \"tmp87\" : tmp87 , f \"tmp88\" : tmp88 , f \"tmp90\" : tmp90 , f \"tmp92\" : tmp92 , f \"tmp96\" : tmp96 , f \"tmp98\" : tmp98 } ebcc . codegen . RCC2 . hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:52:29.137422. 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. Source code in ebcc/codegen/RCC2.py 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:52:29.137422. 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 ), t1 , ( 3 , 1 ), ( 2 , 3 , 0 )) tmp21 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp24 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp24 += t2 tmp2 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp2 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 0.5 tmp15 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp15 += t2 * - 1 tmp11 = einsum ( tmp10 , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 0 , 3 , 1 )) del tmp10 tmp5 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 0.5 tmp5 += np . transpose ( r2 , ( 2 , 1 , 0 )) tmp22 = np . copy ( ints . tmp29 ) * 2 tmp22 += f . vv * - 1 tmp22 += ints . tmp27 * - 1 tmp22 += np . transpose ( tmp21 , ( 1 , 0 )) del tmp21 tmp19 = np . copy ( ints . tmp88 ) * 2 tmp19 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp19 += ints . tmp87 * - 1 tmp19 += ints . tmp92 * - 1 tmp20 = np . copy ( ints . tmp90 ) tmp20 += v . oovv * - 1 tmp18 = einsum ( r2 , ( 0 , 1 , 2 ), t2 , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp25 = einsum ( r2 , ( 0 , 1 , 2 ), tmp24 , ( 2 , 3 , 0 , 1 ), ( 3 ,)) del tmp24 tmp23 = np . copy ( f . oo ) tmp23 += np . transpose ( ints . tmp10 , ( 1 , 0 )) del ints . tmp10 tmp23 += ints . tmp79 * 2 del ints . tmp79 tmp23 += ints . tmp83 * - 1 del ints . tmp83 tmp1 = np . copy ( ints . tmp24 ) tmp1 += np . transpose ( ints . tmp46 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp1 += np . transpose ( ints . tmp53 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp1 += np . transpose ( ints . tmp76 , ( 0 , 3 , 1 , 2 )) tmp1 += np . transpose ( ints . tmp37 , ( 0 , 3 , 1 , 2 )) * - 0.5 tmp1 += np . transpose ( ints . tmp48 , ( 0 , 2 , 1 , 3 )) * - 1 tmp1 += np . transpose ( ints . tmp51 , ( 0 , 2 , 1 , 3 )) * - 1 tmp3 = einsum ( t1 , ( 0 , 1 ), tmp2 , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) del tmp2 tmp16 = einsum ( r1 , ( 0 ,), t1 , ( 1 , 0 ), ( 1 ,)) * 0.5 tmp16 += einsum ( r2 , ( 0 , 1 , 2 ), tmp15 , ( 2 , 3 , 1 , 0 ), ( 3 ,)) * - 0.5 del tmp15 tmp9 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * 2 tmp9 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 1 tmp8 = np . copy ( ints . tmp106 ) del ints . tmp106 tmp8 += ints . tmp113 * 2 del ints . tmp113 tmp8 += ints . tmp11 del ints . tmp11 tmp8 += ints . tmp19 del ints . tmp19 tmp8 += ints . tmp1 del ints . tmp1 tmp8 += ints . tmp34 * 2 del ints . tmp34 tmp8 += ints . tmp3 del ints . tmp3 tmp8 += ints . tmp43 del ints . tmp43 tmp8 += ints . tmp57 * 2 del ints . tmp57 tmp8 += ints . tmp59 * 2 del ints . tmp59 tmp8 += ints . tmp70 * 2 del ints . tmp70 tmp8 += ints . tmp80 * 2 del ints . tmp80 tmp8 += ints . tmp98 * 2 del ints . tmp98 tmp8 += f . ov * - 1 tmp8 += ints . tmp103 * - 2 del ints . tmp103 tmp8 += ints . tmp111 * - 1 del ints . tmp111 tmp8 += ints . tmp17 * - 2 tmp8 += ints . tmp2 * - 1 del ints . tmp2 tmp8 += ints . tmp31 * - 1 del ints . tmp31 tmp8 += ints . tmp40 * - 2 del ints . tmp40 tmp8 += ints . tmp4 * - 2 del ints . tmp4 tmp8 += ints . tmp56 * - 1 del ints . tmp56 tmp8 += ints . tmp62 * - 4 del ints . tmp62 tmp8 += ints . tmp73 * - 1 del ints . tmp73 tmp8 += ints . tmp84 * - 1 del ints . tmp84 tmp8 += ints . tmp96 * - 1 del ints . tmp96 tmp4 = np . copy ( ints . tmp107 ) del ints . tmp107 tmp4 += v . oovv tmp4 += np . transpose ( ints . tmp90 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp90 tmp14 = np . copy ( f . vv ) tmp14 += np . transpose ( ints . tmp14 , ( 1 , 0 )) * 2 del ints . tmp14 tmp14 += ints . tmp27 del ints . tmp27 tmp14 += np . transpose ( ints . tmp16 , ( 1 , 0 )) * - 1 del ints . tmp16 tmp14 += ints . tmp29 * - 2 del ints . tmp29 tmp12 = np . copy ( tmp11 ) * - 0.5 tmp12 += np . transpose ( tmp11 , ( 0 , 2 , 1 )) tmp7 = np . copy ( ints . tmp109 ) del ints . tmp109 tmp7 += np . transpose ( ints . tmp88 , ( 0 , 1 , 3 , 2 )) * 2 del ints . tmp88 tmp7 += np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 )) tmp7 += np . transpose ( ints . tmp87 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp87 tmp7 += np . transpose ( ints . tmp92 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp92 tmp13 = np . copy ( tmp11 ) * 2 tmp13 += np . transpose ( tmp11 , ( 0 , 2 , 1 )) * - 1 del tmp11 tmp6 = einsum ( tmp5 , ( 0 , 1 , 2 ), t1 , ( 3 , 1 ), ( 0 , 3 , 2 )) * 2 tmp17 = np . copy ( f . ov ) tmp17 += ints . tmp17 * 2 del ints . tmp17 tmp17 += ints . tmp55 * - 1 del ints . tmp55 tmp0 = np . copy ( ints . tmp24 ) del ints . tmp24 tmp0 += np . transpose ( ints . tmp46 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp46 tmp0 += np . transpose ( ints . tmp53 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp53 tmp0 += np . transpose ( ints . tmp76 , ( 0 , 3 , 1 , 2 )) del ints . tmp76 tmp0 += np . transpose ( ints . tmp37 , ( 0 , 3 , 1 , 2 )) * - 2 del ints . tmp37 tmp0 += np . transpose ( ints . tmp48 , ( 0 , 2 , 1 , 3 )) * - 4 del ints . tmp48 tmp0 += np . transpose ( ints . tmp51 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp51 tmp0 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * - 2 tmp0 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) r2new = einsum ( r1 , ( 0 ,), f . ov , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new += einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) r2new += einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r1 , ( 3 ,), ( 1 , 2 , 0 )) * - 1 r2new += einsum ( tmp18 , ( 0 , 1 , 2 ), v . ovov , ( 2 , 3 , 1 , 4 ), ( 4 , 3 , 0 )) del tmp18 r2new += einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 0 , 4 , 2 ), ( 3 , 4 , 1 )) * 2 del tmp5 , tmp19 r2new += einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp20 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 , 3 )) del tmp20 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp22 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp22 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp22 r2new += einsum ( tmp23 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp23 r2new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp25 , ( 2 ,), ( 1 , 3 , 0 )) * - 2 del tmp25 r1new = einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 2 , 3 , 0 , 1 ), ( 3 ,)) del tmp0 r1new += einsum ( r2 , ( 0 , 1 , 2 ), tmp1 , ( 2 , 3 , 1 , 0 ), ( 3 ,)) * - 2 del tmp1 r1new += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 0 , 1 , 3 ), ( 2 ,)) * 2 del tmp4 , tmp3 r1new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 0 , 1 , 3 ), ( 2 ,)) del tmp7 , tmp6 r1new += einsum ( tmp9 , ( 0 , 1 , 2 ), tmp8 , ( 0 , 1 ), ( 2 ,)) del tmp9 , tmp8 r1new += einsum ( tmp12 , ( 0 , 1 , 2 ), ints . tmp69 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * - 2 del tmp12 , ints . tmp69 r1new += einsum ( tmp13 , ( 0 , 1 , 2 ), v . ooov , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * - 1 del tmp13 r1new += einsum ( r1 , ( 0 ,), tmp14 , ( 0 , 1 ), ( 1 ,)) del tmp14 r1new += einsum ( tmp17 , ( 0 , 1 ), tmp16 , ( 0 ,), ( 1 ,)) * - 2 del tmp17 , tmp16 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"RCC2"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.energy","text":"Code generated by albert 0.0.0 on 2024-08-17T18:49:57.458527.","title":"energy"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.energy--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/RCC2.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:49:57.458527. 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 ))) * - 0.5 tmp0 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp1 = np . copy ( f . ov ) tmp1 += einsum ( t1 , ( 0 , 1 ), tmp0 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp0 e_cc = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 1 , 3 ), ()) * 2 e_cc += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 3 , 1 ), ()) * - 1 e_cc += einsum ( tmp1 , ( 0 , 1 ), t1 , ( 0 , 1 ), ()) * 2 del tmp1 return e_cc","title":"Returns"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:00.941842.","title":"update_amps"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.update_amps--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.update_amps--returns","text":"t1new : array Updated T1 residuals. t2new : array Updated T2 residuals. Source code in ebcc/codegen/RCC2.py 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:00.941842. 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. \"\"\" tmp23 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp14 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp15 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp2 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp24 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) del tmp23 tmp22 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp16 = np . copy ( tmp14 ) del tmp14 tmp16 += np . transpose ( tmp15 , ( 2 , 0 , 1 , 3 )) del tmp15 tmp8 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp29 = np . copy ( v . oooo ) tmp29 += einsum ( t1 , ( 0 , 1 ), tmp2 , ( 2 , 3 , 4 , 1 ), ( 3 , 0 , 2 , 4 )) tmp21 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp25 = einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp24 tmp27 = einsum ( t1 , ( 0 , 1 ), tmp22 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp17 = einsum ( t1 , ( 0 , 1 ), tmp16 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp16 tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp8 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) tmp4 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp4 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * 2 tmp9 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp9 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * 2 tmp10 = np . copy ( v . ooov ) tmp10 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp0 = np . copy ( t2 ) tmp0 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp30 = np . copy ( np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 ))) * - 1 tmp30 += einsum ( t1 , ( 0 , 1 ), tmp29 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp29 tmp19 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp12 = einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp26 = np . copy ( tmp21 ) del tmp21 tmp26 += tmp22 del tmp22 tmp26 += tmp25 del tmp25 tmp28 = einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp27 tmp20 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp18 = np . copy ( tmp13 ) del tmp13 tmp18 += np . transpose ( tmp17 , ( 0 , 1 , 3 , 2 )) del tmp17 tmp1 = np . copy ( v . ovvv ) tmp1 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp3 = np . copy ( v . ooov ) tmp3 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp3 += tmp2 * - 0.5 tmp3 += np . transpose ( tmp2 , ( 0 , 2 , 1 , 3 )) del tmp2 tmp5 = np . copy ( f . ov ) tmp5 += einsum ( t1 , ( 0 , 1 ), tmp4 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp4 tmp7 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp7 += v . oovv * - 1 tmp6 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp6 += t2 * - 1 tmp11 = np . copy ( f . oo ) * 0.5 tmp11 += tmp8 * 0.5 del tmp8 tmp11 += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 0 , 4 , 2 , 3 ), ( 4 , 1 )) * 0.5 del tmp9 tmp11 += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 1 , 0 )) del tmp10 t2new = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) t2new += einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) * - 1 t2new += einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) del tmp12 t2new += np . transpose ( tmp18 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp18 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp18 t2new += tmp19 * - 1 t2new += np . transpose ( tmp19 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp19 t2new += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp20 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp20 t2new += np . transpose ( tmp26 , ( 0 , 1 , 3 , 2 )) t2new += np . transpose ( tmp26 , ( 1 , 0 , 2 , 3 )) del tmp26 t2new += tmp28 * - 1 t2new += np . transpose ( tmp28 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp28 t2new += einsum ( t1 , ( 0 , 1 ), tmp30 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp30 t1new = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) t1new += f . ov t1new += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * 2 del tmp0 , tmp1 t1new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 2 del tmp3 t1new += einsum ( tmp5 , ( 0 , 1 ), tmp6 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) del tmp5 , tmp6 t1new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 2 ), ( 1 , 3 )) del tmp7 t1new += einsum ( t1 , ( 0 , 1 ), tmp11 , ( 0 , 2 ), ( 2 , 1 )) * - 2 del tmp11 return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.update_lams","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:31.277195.","title":"update_lams"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.update_lams--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.update_lams--returns","text":"l1new : array Updated L1 residuals. l2new : array Updated L2 residuals. Source code in ebcc/codegen/RCC2.py 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 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-17T18:50:31.277195. 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. \"\"\" tmp80 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp80 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * 2 tmp81 = einsum ( t1 , ( 0 , 1 ), tmp80 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp80 tmp8 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp17 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp24 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp79 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp82 = einsum ( t1 , ( 0 , 1 ), tmp81 , ( 2 , 1 ), ( 0 , 2 )) tmp70 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp5 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 0.5 tmp5 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp2 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp26 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp16 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp16 += t2 * - 0.5 tmp36 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 1 , 0 , 2 , 4 )) tmp35 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp102 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp65 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 1 ), ( 2 , 3 )) tmp73 = np . copy ( v . oovv ) tmp73 += np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 )) tmp75 = np . copy ( tmp17 ) * - 1 tmp75 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * 2 tmp83 = np . copy ( tmp79 ) del tmp79 tmp83 += tmp82 * - 1 del tmp82 tmp71 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) tmp71 += tmp70 del tmp70 tmp69 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp69 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp77 = np . copy ( tmp8 ) * 2 tmp77 += np . transpose ( tmp8 , ( 0 , 2 , 1 , 3 )) * - 1 tmp51 = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 1 , 2 )) tmp89 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp12 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp6 = einsum ( t1 , ( 0 , 1 ), tmp5 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * 2 del tmp5 tmp1 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp3 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp2 tmp27 = einsum ( t1 , ( 0 , 1 ), tmp26 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp25 = einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) del tmp24 tmp52 = einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 0 , 4 ), ( 4 , 1 )) tmp37 = np . copy ( np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 ))) tmp37 += tmp36 tmp103 = einsum ( tmp102 , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 4 , 0 , 2 , 3 )) del tmp102 tmp101 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), l1 , ( 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp66 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp65 , ( 4 , 1 ), ( 2 , 3 , 0 , 4 )) del tmp65 tmp74 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp73 , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) tmp76 = einsum ( tmp75 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) del tmp75 tmp84 = einsum ( tmp83 , ( 0 , 1 ), l2 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 , 2 , 3 )) del tmp83 tmp67 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 5 , 0 , 3 ), ( 5 , 4 , 1 , 2 )) tmp72 = einsum ( tmp71 , ( 0 , 1 , 2 , 3 ), tmp69 , ( 0 , 4 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp71 , tmp69 tmp78 = einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp77 tmp64 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp85 = einsum ( tmp81 , ( 0 , 1 ), tmp17 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp68 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) tmp99 = einsum ( tmp51 , ( 0 , 1 ), v . ovov , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp98 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), l1 , ( 4 , 0 ), ( 1 , 2 , 4 , 3 )) tmp97 = einsum ( f . oo , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp88 = einsum ( l1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp91 = einsum ( f . ov , ( 0 , 1 ), tmp17 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp95 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp73 , ( 2 , 4 , 1 , 5 ), ( 3 , 4 , 0 , 5 )) del tmp73 tmp94 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp90 = einsum ( tmp89 , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) del tmp89 tmp87 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp93 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp92 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp105 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp60 = np . copy ( f . ov ) tmp60 += tmp6 tmp62 = np . copy ( v . ooov ) tmp62 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 0.5 tmp15 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp15 += t2 * 2 tmp33 = np . copy ( tmp17 ) * 2 tmp33 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * - 1 tmp9 = np . copy ( v . ooov ) * 2 tmp9 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp9 += tmp8 * - 1 tmp9 += np . transpose ( tmp8 , ( 0 , 2 , 1 , 3 )) * 2 tmp4 = np . copy ( tmp1 ) * 0.5 del tmp1 tmp4 += tmp3 * - 0.5 del tmp3 tmp10 = np . copy ( v . ooov ) * - 0.5 tmp10 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) tmp10 += tmp8 tmp10 += np . transpose ( tmp8 , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp7 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 2 ), ( 0 , 1 , 4 , 3 )) del tmp6 tmp13 = np . copy ( np . transpose ( v . oooo , ( 0 , 2 , 1 , 3 ))) * 2 tmp13 += v . oooo * - 1 tmp13 += np . transpose ( tmp12 , ( 2 , 1 , 0 , 3 )) * - 1 tmp13 += np . transpose ( tmp12 , ( 3 , 2 , 0 , 1 )) * 2 tmp11 = np . copy ( v . oovv ) * 2 tmp11 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp0 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp30 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp30 += v . oovv * - 1 tmp31 = np . copy ( np . transpose ( tmp12 , ( 0 , 2 , 1 , 3 ))) * - 1 tmp31 += np . transpose ( tmp12 , ( 0 , 3 , 2 , 1 )) * 2 del tmp12 tmp28 = np . copy ( tmp25 ) * 2 del tmp25 tmp28 += tmp27 * - 2 del tmp27 tmp29 = np . copy ( v . ooov ) tmp29 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp29 += tmp8 * - 0.5 tmp29 += np . transpose ( tmp8 , ( 0 , 2 , 1 , 3 )) del tmp8 tmp18 = np . copy ( tmp17 ) * - 0.5 tmp18 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) tmp53 = np . copy ( tmp51 ) * 0.5 tmp53 += tmp52 del tmp52 tmp50 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp50 += t2 * - 1 tmp47 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp47 += t2 tmp22 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp22 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp38 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp37 tmp39 = np . copy ( tmp17 ) * - 1 tmp39 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * 2 tmp41 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l1 , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) tmp42 = np . copy ( tmp17 ) tmp42 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * - 0.5 tmp58 = np . copy ( v . ovvv ) tmp58 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp107 = np . copy ( v . oooo ) tmp107 += np . transpose ( tmp26 , ( 0 , 2 , 3 , 1 )) del tmp26 tmp104 = np . copy ( tmp101 ) del tmp101 tmp104 += tmp103 * 2 del tmp103 tmp86 = einsum ( l1 , ( 0 , 1 ), f . ov , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) tmp86 += tmp64 del tmp64 tmp86 += tmp66 * 2 del tmp66 tmp86 += tmp67 * - 1 del tmp67 tmp86 += tmp68 del tmp68 tmp86 += tmp72 del tmp72 tmp86 += tmp74 * - 1 del tmp74 tmp86 += np . transpose ( tmp76 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp76 tmp86 += tmp78 * - 1 del tmp78 tmp86 += np . transpose ( tmp84 , ( 0 , 1 , 3 , 2 )) del tmp84 tmp86 += tmp85 * - 1 del tmp85 tmp86 += einsum ( tmp81 , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) del tmp81 tmp100 = np . copy ( tmp97 ) del tmp97 tmp100 += tmp98 del tmp98 tmp100 += tmp99 del tmp99 tmp96 = np . copy ( tmp87 ) del tmp87 tmp96 += tmp88 del tmp88 tmp96 += tmp90 * - 1 del tmp90 tmp96 += tmp91 * - 1 del tmp91 tmp96 += tmp92 del tmp92 tmp96 += tmp93 del tmp93 tmp96 += tmp94 del tmp94 tmp96 += tmp95 * - 1 del tmp95 tmp106 = einsum ( tmp105 , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 2 , 0 )) del tmp105 tmp63 = np . copy ( f . oo ) tmp63 += einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 0 , 2 ), ( 1 , 4 )) tmp63 += einsum ( t1 , ( 0 , 1 ), tmp62 , ( 2 , 3 , 0 , 1 ), ( 3 , 2 )) * 2 del tmp62 tmp63 += einsum ( tmp60 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp34 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) tmp34 += einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp33 tmp14 = np . copy ( np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 ))) * 0.5 tmp14 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp14 += np . transpose ( tmp0 , ( 1 , 2 , 0 , 3 )) * - 1 tmp14 += np . transpose ( tmp0 , ( 2 , 1 , 0 , 3 )) * 0.5 del tmp0 tmp14 += tmp4 tmp14 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) * - 2 del tmp4 tmp14 += np . transpose ( tmp7 , ( 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 )) * 0.5 del tmp9 tmp14 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 5 , 1 , 2 ), ( 4 , 0 , 5 , 3 )) del tmp10 tmp14 += einsum ( t1 , ( 0 , 1 ), tmp11 , ( 2 , 3 , 1 , 4 ), ( 0 , 3 , 2 , 4 )) * - 0.5 del tmp11 tmp14 += einsum ( t1 , ( 0 , 1 ), tmp13 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) * 0.5 del tmp13 tmp49 = np . copy ( v . ovvv ) * - 1 tmp49 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) * 2 tmp44 = np . copy ( tmp17 ) * 2 tmp44 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * - 1 tmp32 = np . copy ( tmp28 ) * - 1 tmp32 += np . transpose ( tmp28 , ( 1 , 0 , 2 , 3 )) * 0.5 del tmp28 tmp32 += einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 4 , 5 , 0 , 3 ), ( 4 , 1 , 5 , 2 )) * - 4 del tmp29 tmp32 += einsum ( t1 , ( 0 , 1 ), tmp30 , ( 2 , 3 , 1 , 4 ), ( 0 , 3 , 2 , 4 )) * - 1 del tmp30 tmp32 += einsum ( tmp31 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) del tmp31 tmp19 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 2 , 4 , 5 , 1 ), ( 3 , 4 , 0 , 5 )) tmp19 += einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 5 , 0 ), ( 5 , 1 , 4 , 2 )) * 2 tmp19 += einsum ( t1 , ( 0 , 1 ), tmp18 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp18 tmp45 = np . copy ( tmp36 ) tmp45 += np . transpose ( tmp36 , ( 0 , 1 , 3 , 2 )) * - 0.5 tmp54 = np . copy ( t1 ) * - 0.5 tmp54 += einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) tmp54 += einsum ( l1 , ( 0 , 1 ), tmp50 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 )) * - 0.5 del tmp50 tmp54 += einsum ( t1 , ( 0 , 1 ), tmp53 , ( 0 , 2 ), ( 2 , 1 )) tmp23 = np . copy ( np . transpose ( l2 , ( 2 , 3 , 0 , 1 ))) tmp23 += einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 0 , 4 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) del tmp22 tmp56 = np . copy ( v . ooov ) * - 0.5 tmp56 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) tmp40 = np . copy ( np . transpose ( tmp17 , ( 0 , 2 , 1 , 3 ))) * 0.5 tmp40 += np . transpose ( tmp17 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp17 tmp40 += np . transpose ( tmp38 , ( 0 , 2 , 1 , 3 )) tmp40 += tmp38 * - 0.5 del tmp38 tmp40 += einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) * - 0.5 del tmp15 tmp55 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * 2 tmp55 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp57 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp57 += v . oovv * - 1 tmp48 = einsum ( l1 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) * 0.5 tmp48 += einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) del tmp47 tmp43 = np . copy ( tmp41 ) * - 2 tmp43 += np . transpose ( tmp41 , ( 0 , 2 , 1 , 3 )) del tmp41 tmp43 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) del tmp39 tmp43 += einsum ( tmp42 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) * 2 del tmp42 tmp46 = np . copy ( np . transpose ( tmp35 , ( 1 , 0 , 2 , 3 ))) * - 0.5 tmp46 += np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 )) del tmp35 tmp61 = np . copy ( tmp51 ) del tmp51 tmp61 += einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 0 , 4 ), ( 4 , 1 )) * 2 del tmp16 tmp59 = np . copy ( f . vv ) * 0.5 tmp59 += einsum ( tmp58 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 1 ), ( 3 , 2 )) del tmp58 tmp21 = np . copy ( np . transpose ( v . vvvv , ( 0 , 2 , 1 , 3 ))) * - 1 tmp21 += v . vvvv * 2 tmp20 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) l2new = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp36 , ( 4 , 5 , 2 , 0 ), ( 1 , 3 , 5 , 4 )) del tmp36 l2new += np . transpose ( v . ovov , ( 1 , 3 , 0 , 2 )) l2new += einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 1 , 4 , 5 ), ( 0 , 2 , 5 , 4 )) l2new += np . transpose ( tmp86 , ( 2 , 3 , 0 , 1 )) l2new += np . transpose ( tmp86 , ( 3 , 2 , 1 , 0 )) del tmp86 l2new += np . transpose ( tmp96 , ( 3 , 2 , 0 , 1 )) l2new += np . transpose ( tmp96 , ( 2 , 3 , 1 , 0 )) del tmp96 l2new += np . transpose ( tmp100 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp100 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp100 l2new += np . transpose ( tmp104 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp104 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp104 l2new += np . transpose ( tmp106 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp106 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp106 l2new += einsum ( tmp107 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 3 , 0 ), ( 4 , 5 , 2 , 1 )) del tmp107 l1new = np . copy ( np . transpose ( f . ov , ( 1 , 0 ))) l1new += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 1 , 0 ), ( 4 , 2 )) * 2 del tmp14 l1new += einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 3 , 2 ), ( 4 , 0 )) * - 1 del tmp19 l1new += einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) del tmp21 , tmp20 l1new += einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 3 , 4 , 2 ), ( 4 , 0 )) * 2 del tmp23 l1new += einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) del tmp32 l1new += einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 3 , 4 , 2 ), ( 4 , 0 )) * - 1 del tmp34 l1new += einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 2 , 3 , 1 , 4 ), ( 4 , 0 )) * 2 del tmp40 l1new += einsum ( tmp43 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 2 , 4 , 1 , 3 ), ( 4 , 0 )) del tmp43 l1new += einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 1 , 2 , 4 , 3 ), ( 4 , 0 )) * - 1 del tmp44 l1new += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 1 , 3 , 2 , 4 ), ( 4 , 0 )) * 2 del tmp45 l1new += einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 2 , 0 , 3 , 4 ), ( 4 , 1 )) * 2 del tmp46 l1new += einsum ( tmp48 , ( 0 , 1 ), tmp49 , ( 2 , 1 , 0 , 3 ), ( 3 , 2 )) * 2 del tmp48 , tmp49 l1new += einsum ( tmp55 , ( 0 , 1 , 2 , 3 ), tmp54 , ( 0 , 3 ), ( 2 , 1 )) * - 2 del tmp55 , tmp54 l1new += einsum ( tmp56 , ( 0 , 1 , 2 , 3 ), tmp53 , ( 0 , 2 ), ( 3 , 1 )) * - 4 del tmp53 , tmp56 l1new += einsum ( l1 , ( 0 , 1 ), tmp57 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 )) del tmp57 l1new += einsum ( tmp59 , ( 0 , 1 ), l1 , ( 0 , 2 ), ( 1 , 2 )) * 2 del tmp59 l1new += einsum ( tmp60 , ( 0 , 1 ), tmp61 , ( 2 , 0 ), ( 1 , 2 )) * - 1 del tmp60 , tmp61 l1new += einsum ( l1 , ( 0 , 1 ), tmp63 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp63 return { f \"l1new\" : l1new , f \"l2new\" : l2new }","title":"Returns"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.make_rdm1_f","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:32.245417.","title":"make_rdm1_f"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.make_rdm1_f--parameters","text":"l1 : array L1 amplitudes. l2 : array L2 amplitudes. t1 : array T1 amplitudes. t2 : array T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.make_rdm1_f--returns","text":"rdm1 : array One-particle reduced density matrix. Source code in ebcc/codegen/RCC2.py 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 def make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:32.245417. 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 , 1 ), ( 2 , 3 , 4 , 0 )) tmp5 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp5 += t2 tmp0 = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 1 , 2 )) tmp7 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp7 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp3 = np . copy ( tmp2 ) * - 0.5 tmp3 += np . transpose ( tmp2 , ( 1 , 0 , 2 , 3 )) del tmp2 tmp4 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp4 += t2 * - 1 tmp6 = np . copy ( tmp0 ) * 0.5 tmp6 += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 )) del tmp5 tmp1 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp1 += t2 * - 0.5 rdm1 . vv = einsum ( l1 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) * 2 rdm1 . vv += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) * 2 del tmp7 rdm1 . vo = np . copy ( l1 ) * 2 rdm1 . ov = np . copy ( t1 ) * 2 rdm1 . ov += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) * - 4 del tmp3 rdm1 . ov += einsum ( l1 , ( 0 , 1 ), tmp4 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 )) * 2 del tmp4 rdm1 . ov += einsum ( tmp6 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 4 del tmp6 rdm1 . oo = np . copy ( np . transpose ( tmp0 , ( 1 , 0 ))) * - 2 del tmp0 rdm1 . oo += delta . oo * 2 del delta rdm1 . oo += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 0 , 4 ), ( 1 , 4 )) * - 4 del tmp1 rdm1 = np . block ([[ rdm1 . oo , rdm1 . ov ], [ rdm1 . vo , rdm1 . vv ]]) return rdm1","title":"Returns"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.make_rdm2_f","text":"Code generated by albert 0.0.0 on 2024-08-17T18:51:16.293684.","title":"make_rdm2_f"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.make_rdm2_f--parameters","text":"l1 : array L1 amplitudes. l2 : array L2 amplitudes. t1 : array T1 amplitudes. t2 : array T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.make_rdm2_f--returns","text":"rdm2 : array Two-particle reduced density matrix. Source code in ebcc/codegen/RCC2.py 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 def make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:51:16.293684. 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 ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp9 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp9 += t2 * - 1 tmp77 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp77 += t2 * - 1 tmp16 = np . copy ( tmp2 ) * - 1 tmp16 += np . transpose ( tmp2 , ( 1 , 0 , 2 , 3 )) * 2 tmp14 = np . copy ( tmp2 ) * - 1 tmp14 += np . transpose ( tmp2 , ( 1 , 0 , 2 , 3 )) tmp5 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp5 += t2 tmp60 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp60 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp44 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp44 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp79 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 5 , 0 ), ( 1 , 5 , 2 , 4 )) tmp88 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp78 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp77 , ( 2 , 4 , 5 , 1 ), ( 4 , 3 , 5 , 0 )) del tmp77 tmp1 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp3 = einsum ( t1 , ( 0 , 1 ), tmp2 , ( 2 , 3 , 4 , 1 ), ( 3 , 2 , 4 , 0 )) tmp53 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) tmp53 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp17 = einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) del tmp16 tmp25 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 1 , 2 , 4 , 5 )) tmp12 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l1 , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) tmp15 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp0 = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 1 , 2 )) tmp21 = np . copy ( tmp2 ) * 2 tmp21 += np . transpose ( tmp2 , ( 1 , 0 , 2 , 3 )) * - 1 tmp6 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 )) * 2 tmp26 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp31 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 )) del tmp5 tmp110 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) tmp81 = einsum ( l1 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp90 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp60 , ( 0 , 1 , 4 , 2 ), ( 4 , 3 )) tmp65 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) tmp51 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp44 , ( 1 , 4 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp104 = np . copy ( tmp88 ) tmp104 += np . transpose ( tmp78 , ( 1 , 0 , 3 , 2 )) tmp104 += np . transpose ( tmp79 , ( 1 , 0 , 3 , 2 )) * - 1 tmp101 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp60 , ( 1 , 4 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp94 = np . copy ( np . transpose ( tmp79 , ( 1 , 0 , 3 , 2 ))) tmp94 += np . transpose ( tmp78 , ( 1 , 0 , 3 , 2 )) * - 1 tmp4 = np . copy ( np . transpose ( tmp1 , ( 1 , 0 , 3 , 2 ))) tmp4 += tmp3 tmp54 = einsum ( tmp53 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 1 , 4 , 2 , 5 )) tmp13 = einsum ( t1 , ( 0 , 1 ), tmp3 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) tmp45 = einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 1 , 4 , 2 , 5 )) del tmp44 tmp69 = np . copy ( tmp25 ) tmp69 += tmp17 * - 1 tmp35 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp35 += t2 * 2 tmp19 = einsum ( t1 , ( 0 , 1 ), tmp1 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp47 = np . copy ( tmp12 ) tmp47 += tmp15 tmp47 += tmp17 * - 1 tmp8 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp10 = einsum ( l1 , ( 0 , 1 ), tmp9 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 )) del tmp9 tmp22 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp21 , ( 0 , 1 , 4 , 2 ), ( 4 , 3 )) * 0.5 tmp23 = einsum ( tmp6 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * 0.5 tmp61 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp60 , ( 0 , 1 , 4 , 2 ), ( 4 , 3 )) * 0.5 del tmp60 tmp72 = np . copy ( tmp12 ) tmp72 += tmp26 * - 1 tmp29 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp29 += t2 * - 1 tmp32 = np . copy ( tmp0 ) * 0.5 tmp32 += tmp31 del tmp31 tmp111 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 3 , 2 , 4 , 5 ), ( 0 , 1 , 5 , 4 )) tmp112 = einsum ( tmp110 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) tmp97 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) tmp91 = np . copy ( tmp81 ) tmp91 += tmp90 del tmp90 tmp108 = np . copy ( tmp65 ) tmp108 += tmp88 tmp108 += tmp51 * - 1 tmp67 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 3 , 4 , 0 , 5 )) tmp105 = einsum ( tmp104 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp104 tmp93 = einsum ( l1 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) tmp102 = np . copy ( tmp65 ) tmp102 += tmp88 tmp102 += tmp101 * - 1 del tmp101 tmp95 = einsum ( tmp94 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp94 tmp84 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp84 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp86 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp86 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) tmp27 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) tmp55 = einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp54 tmp52 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp51 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp51 tmp50 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) tmp46 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp45 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp45 tmp70 = einsum ( t1 , ( 0 , 1 ), tmp69 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp69 tmp36 = einsum ( l1 , ( 0 , 1 ), tmp35 , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) del tmp35 tmp57 = einsum ( t1 , ( 0 , 1 ), tmp19 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) tmp58 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 5 ), ( 2 , 3 , 4 , 5 )) tmp48 = einsum ( t1 , ( 0 , 1 ), tmp47 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp47 tmp43 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) tmp11 = np . copy ( tmp8 ) tmp11 += tmp10 * - 1 del tmp10 tmp24 = np . copy ( tmp22 ) del tmp22 tmp24 += tmp23 del tmp23 tmp62 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp61 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * 2 tmp63 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 4 ), ( 0 , 4 , 3 , 2 )) tmp73 = einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp72 tmp28 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp21 , ( 0 , 1 , 4 , 2 ), ( 4 , 3 )) del tmp21 tmp30 = einsum ( l1 , ( 0 , 1 ), tmp29 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 )) del tmp29 tmp33 = einsum ( t1 , ( 0 , 1 ), tmp32 , ( 0 , 2 ), ( 2 , 1 )) * 2 tmp40 = np . copy ( tmp2 ) * 2 tmp40 += np . transpose ( tmp2 , ( 1 , 0 , 2 , 3 )) * - 1 tmp113 = np . copy ( np . transpose ( tmp111 , ( 1 , 0 , 3 , 2 ))) tmp113 += np . transpose ( tmp112 , ( 1 , 0 , 3 , 2 )) tmp107 = np . copy ( tmp97 ) tmp107 += einsum ( tmp91 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp109 = einsum ( t1 , ( 0 , 1 ), tmp108 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp108 tmp100 = einsum ( t1 , ( 0 , 1 ), tmp67 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp82 = np . copy ( tmp81 ) * 0.5 tmp82 += tmp61 tmp106 = np . copy ( tmp93 ) tmp106 += np . transpose ( tmp105 , ( 0 , 1 , 3 , 2 )) del tmp105 tmp103 = einsum ( tmp102 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp102 tmp99 = einsum ( tmp88 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) tmp98 = np . copy ( tmp97 ) tmp98 += einsum ( tmp61 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 del tmp61 tmp96 = np . copy ( tmp93 ) tmp96 += einsum ( tmp81 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp81 tmp96 += np . transpose ( tmp95 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp95 tmp83 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) tmp89 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp85 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp84 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp84 tmp92 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp53 , ( 1 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) del tmp53 tmp87 = einsum ( tmp86 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp86 tmp80 = einsum ( t1 , ( 0 , 1 ), tmp14 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp14 tmp75 = einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) tmp56 = np . copy ( tmp50 ) del tmp50 tmp56 += tmp52 * 2 tmp56 += np . transpose ( tmp55 , ( 1 , 0 , 3 , 2 )) del tmp55 tmp68 = einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp71 = np . copy ( np . transpose ( tmp46 , ( 1 , 0 , 3 , 2 ))) * - 1 tmp71 += np . transpose ( tmp70 , ( 0 , 1 , 3 , 2 )) del tmp70 tmp71 += einsum ( tmp36 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp76 = np . copy ( t1 ) tmp76 += tmp8 * - 1 tmp59 = np . copy ( tmp57 ) del tmp57 tmp59 += tmp58 tmp49 = np . copy ( tmp43 ) tmp49 += np . transpose ( tmp46 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp46 tmp49 += np . transpose ( tmp48 , ( 0 , 1 , 3 , 2 )) del tmp48 tmp49 += einsum ( t1 , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 tmp64 = np . copy ( np . transpose ( tmp62 , ( 1 , 0 , 3 , 2 ))) del tmp62 tmp64 += np . transpose ( tmp63 , ( 0 , 1 , 3 , 2 )) del tmp63 tmp64 += einsum ( tmp24 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 tmp66 = einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp74 = np . copy ( tmp43 ) del tmp43 tmp74 += np . transpose ( tmp73 , ( 0 , 1 , 3 , 2 )) del tmp73 tmp39 = einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp39 += tmp15 tmp39 += tmp17 * - 1 tmp34 = np . copy ( t1 ) * - 1 tmp34 += tmp28 tmp34 += tmp30 * - 1 del tmp30 tmp34 += tmp33 tmp42 = np . copy ( tmp0 ) tmp42 += tmp6 tmp41 = einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) del tmp40 tmp37 = np . copy ( tmp28 ) del tmp28 tmp37 += tmp33 del tmp33 tmp38 = np . copy ( tmp12 ) tmp38 += np . transpose ( tmp27 , ( 0 , 2 , 1 , 3 )) tmp38 += einsum ( tmp6 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp20 = np . copy ( tmp19 ) del tmp19 tmp20 += einsum ( tmp6 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp18 = np . copy ( tmp12 ) tmp18 += tmp13 del tmp13 tmp18 += tmp15 del tmp15 tmp18 += tmp17 * - 1 tmp7 = np . copy ( delta . oo ) tmp7 += tmp0 * - 1 rdm2 . vvvv = np . copy ( np . transpose ( tmp113 , ( 0 , 1 , 3 , 2 ))) * - 2 rdm2 . vvvv += tmp113 * 2 del tmp113 rdm2 . vvvv += np . transpose ( tmp111 , ( 1 , 0 , 3 , 2 )) * 2 del tmp111 rdm2 . vvvv += np . transpose ( tmp112 , ( 1 , 0 , 3 , 2 )) * 2 del tmp112 rdm2 . vvvo = np . copy ( np . transpose ( tmp110 , ( 1 , 2 , 3 , 0 ))) * - 2 rdm2 . vvvo += np . transpose ( tmp110 , ( 2 , 1 , 3 , 0 )) * 4 rdm2 . vvov = np . copy ( np . transpose ( tmp110 , ( 1 , 2 , 0 , 3 ))) * 4 rdm2 . vvov += np . transpose ( tmp110 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp110 rdm2 . vovv = np . copy ( np . transpose ( tmp106 , ( 1 , 0 , 2 , 3 ))) * - 2 rdm2 . vovv += np . transpose ( tmp106 , ( 1 , 0 , 3 , 2 )) * 2 del tmp106 rdm2 . vovv += np . transpose ( tmp107 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . vovv += np . transpose ( tmp107 , ( 1 , 0 , 3 , 2 )) * 2 del tmp107 rdm2 . vovv += np . transpose ( tmp93 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . vovv += np . transpose ( tmp100 , ( 1 , 0 , 3 , 2 )) * - 2 rdm2 . vovv += np . transpose ( tmp97 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . vovv += np . transpose ( tmp109 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp109 rdm2 . vovv += einsum ( tmp82 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 4 rdm2 . ovvv = np . copy ( tmp96 ) * 2 rdm2 . ovvv += np . transpose ( tmp96 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp96 rdm2 . ovvv += tmp98 * 2 rdm2 . ovvv += np . transpose ( tmp98 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp98 rdm2 . ovvv += tmp99 * 2 rdm2 . ovvv += np . transpose ( tmp99 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp99 rdm2 . ovvv += tmp93 * 2 del tmp93 rdm2 . ovvv += np . transpose ( tmp97 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp97 rdm2 . ovvv += tmp100 * - 2 del tmp100 rdm2 . ovvv += tmp103 * - 2 del tmp103 rdm2 . ovvv += einsum ( tmp91 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . vvoo = np . copy ( np . transpose ( l2 , ( 0 , 1 , 3 , 2 ))) * - 2 rdm2 . vvoo += l2 * 4 rdm2 . vovo = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . vovo += np . transpose ( tmp85 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . vovo += np . transpose ( tmp92 , ( 2 , 1 , 3 , 0 )) * - 2 del tmp92 rdm2 . vovo += np . transpose ( tmp89 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . vovo += einsum ( delta . oo , ( 0 , 1 ), tmp91 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 4 rdm2 . vovo += np . transpose ( tmp67 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . vovo += np . transpose ( tmp83 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . voov = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 4 rdm2 . voov += np . transpose ( tmp79 , ( 3 , 0 , 1 , 2 )) * 2 rdm2 . voov += np . transpose ( tmp78 , ( 3 , 0 , 1 , 2 )) * - 2 rdm2 . voov += np . transpose ( tmp89 , ( 2 , 1 , 0 , 3 )) * 2 del tmp89 rdm2 . voov += einsum ( delta . oo , ( 0 , 1 ), tmp91 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 del tmp91 rdm2 . voov += np . transpose ( tmp65 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . voov += np . transpose ( tmp88 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . voov += np . transpose ( tmp85 , ( 2 , 1 , 0 , 3 )) * 2 rdm2 . ovvo = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 4 rdm2 . ovvo += np . transpose ( tmp85 , ( 1 , 2 , 3 , 0 )) * 4 del tmp85 rdm2 . ovvo += np . transpose ( tmp87 , ( 1 , 2 , 3 , 0 )) * - 2 del tmp87 rdm2 . ovvo += np . transpose ( tmp80 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . ovvo += einsum ( tmp82 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 4 rdm2 . ovvo += np . transpose ( tmp65 , ( 1 , 2 , 3 , 0 )) * - 2 del tmp65 rdm2 . ovvo += np . transpose ( tmp88 , ( 1 , 2 , 3 , 0 )) * - 2 del tmp88 rdm2 . ovov = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . ovov += np . transpose ( tmp78 , ( 0 , 3 , 1 , 2 )) * 2 del tmp78 rdm2 . ovov += np . transpose ( tmp79 , ( 0 , 3 , 1 , 2 )) * - 2 del tmp79 rdm2 . ovov += np . transpose ( tmp80 , ( 1 , 2 , 0 , 3 )) * 2 del tmp80 rdm2 . ovov += einsum ( tmp82 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 8 del tmp82 rdm2 . ovov += np . transpose ( tmp67 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp67 rdm2 . ovov += np . transpose ( tmp83 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp83 rdm2 . oovv = np . copy ( tmp49 ) * 2 rdm2 . oovv += np . transpose ( tmp49 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . oovv += np . transpose ( tmp49 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . oovv += np . transpose ( tmp49 , ( 1 , 0 , 3 , 2 )) * 2 del tmp49 rdm2 . oovv += tmp56 * 2 rdm2 . oovv += np . transpose ( tmp56 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp56 rdm2 . oovv += tmp59 * 2 rdm2 . oovv += np . transpose ( tmp59 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp59 rdm2 . oovv += tmp64 * - 4 rdm2 . oovv += np . transpose ( tmp64 , ( 0 , 1 , 3 , 2 )) * 2 rdm2 . oovv += np . transpose ( tmp64 , ( 1 , 0 , 2 , 3 )) * 2 rdm2 . oovv += np . transpose ( tmp64 , ( 1 , 0 , 3 , 2 )) * - 4 del tmp64 rdm2 . oovv += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . oovv += t2 * 4 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . oovv += einsum ( tmp8 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 del tmp8 rdm2 . oovv += tmp66 * 2 del tmp66 rdm2 . oovv += np . transpose ( tmp68 , ( 0 , 1 , 3 , 2 )) * 2 del tmp68 rdm2 . oovv += tmp71 * 2 rdm2 . oovv += np . transpose ( tmp71 , ( 1 , 0 , 3 , 2 )) * 2 del tmp71 rdm2 . oovv += np . transpose ( tmp74 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . oovv += np . transpose ( tmp74 , ( 1 , 0 , 2 , 3 )) * - 2 del tmp74 rdm2 . oovv += tmp52 * 4 del tmp52 rdm2 . oovv += tmp58 * 2 del tmp58 rdm2 . oovv += np . transpose ( tmp75 , ( 0 , 1 , 3 , 2 )) * 2 del tmp75 rdm2 . oovv += einsum ( tmp76 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 del tmp76 rdm2 . vooo = np . copy ( np . transpose ( tmp2 , ( 3 , 2 , 0 , 1 ))) * - 4 rdm2 . vooo += np . transpose ( tmp2 , ( 3 , 2 , 1 , 0 )) * 2 rdm2 . vooo += einsum ( l1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 4 rdm2 . vooo += einsum ( delta . oo , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . ovoo = np . copy ( np . transpose ( tmp2 , ( 2 , 3 , 0 , 1 ))) * 2 rdm2 . ovoo += np . transpose ( tmp2 , ( 2 , 3 , 1 , 0 )) * - 4 del tmp2 rdm2 . ovoo += einsum ( l1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . ovoo += einsum ( delta . oo , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 4 rdm2 . oovo = einsum ( delta . oo , ( 0 , 1 ), tmp36 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), tmp36 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 del tmp36 rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 2 del tmp37 rdm2 . oovo += np . transpose ( tmp38 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . oovo += np . transpose ( tmp38 , ( 2 , 1 , 3 , 0 )) * 2 del tmp38 rdm2 . oovo += np . transpose ( tmp39 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . oovo += np . transpose ( tmp39 , ( 2 , 1 , 3 , 0 )) * 2 del tmp39 rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . oovo += np . transpose ( tmp12 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . oovo += np . transpose ( tmp26 , ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oovo += np . transpose ( tmp25 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . oovo += np . transpose ( tmp41 , ( 2 , 1 , 3 , 0 )) * - 2 del tmp41 rdm2 . oovo += np . transpose ( tmp27 , ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), tmp34 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 rdm2 . oovo += einsum ( tmp42 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 2 del tmp42 rdm2 . ooov = einsum ( delta . oo , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 del tmp11 rdm2 . ooov += np . transpose ( tmp18 , ( 1 , 2 , 0 , 3 )) * 2 rdm2 . ooov += np . transpose ( tmp18 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp18 rdm2 . ooov += einsum ( tmp0 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * 2 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 2 rdm2 . ooov += np . transpose ( tmp20 , ( 1 , 2 , 0 , 3 )) * 2 rdm2 . ooov += np . transpose ( tmp20 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp20 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp24 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 4 rdm2 . ooov += einsum ( tmp24 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 4 del tmp24 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . ooov += np . transpose ( tmp12 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp12 rdm2 . ooov += np . transpose ( tmp25 , ( 1 , 2 , 0 , 3 )) * 2 del tmp25 rdm2 . ooov += np . transpose ( tmp26 , ( 2 , 1 , 0 , 3 )) * 2 del tmp26 rdm2 . ooov += np . transpose ( tmp17 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp17 rdm2 . ooov += np . transpose ( tmp27 , ( 2 , 1 , 0 , 3 )) * 2 del tmp27 rdm2 . ooov += einsum ( tmp34 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 del tmp34 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), tmp32 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 4 del tmp32 rdm2 . oooo = einsum ( delta . oo , ( 0 , 1 ), tmp0 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp0 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * 2 rdm2 . oooo += einsum ( tmp0 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oooo += einsum ( tmp0 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 4 del tmp0 rdm2 . oooo += np . transpose ( tmp4 , ( 3 , 2 , 0 , 1 )) * - 2 rdm2 . oooo += np . transpose ( tmp4 , ( 2 , 3 , 0 , 1 )) * 2 del tmp4 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 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . oooo += einsum ( tmp6 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 4 rdm2 . oooo += einsum ( tmp6 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * 2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp6 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * 2 rdm2 . oooo += einsum ( tmp6 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 4 del tmp6 rdm2 . oooo += np . transpose ( tmp1 , ( 3 , 2 , 1 , 0 )) * 2 del tmp1 rdm2 . oooo += np . transpose ( tmp3 , ( 3 , 2 , 1 , 0 )) * 2 del tmp3 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp7 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * 2 del delta , tmp7 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","title":"Returns"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.hbar_matvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:51:23.792538.","title":"hbar_matvec_ip_intermediates"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.hbar_matvec_ip_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.hbar_matvec_ip_intermediates--returns","text":"tmp0 : array tmp12 : array tmp14 : array tmp16 : array tmp17 : array tmp19 : array tmp21 : array tmp25 : array tmp26 : array tmp28 : array tmp29 : array tmp3 : array tmp31 : array tmp32 : array tmp33 : array tmp34 : array tmp35 : array tmp37 : array tmp39 : array tmp4 : array tmp40 : array tmp41 : array tmp42 : array tmp43 : array tmp45 : array tmp5 : array tmp51 : array tmp52 : array tmp53 : array tmp54 : array tmp6 : array tmp9 : array Source code in ebcc/codegen/RCC2.py 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 def hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:51:23.792538. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp12 : array tmp14 : array tmp16 : array tmp17 : array tmp19 : array tmp21 : array tmp25 : array tmp26 : array tmp28 : array tmp29 : array tmp3 : array tmp31 : array tmp32 : array tmp33 : array tmp34 : array tmp35 : array tmp37 : array tmp39 : array tmp4 : array tmp40 : array tmp41 : array tmp42 : array tmp43 : array tmp45 : array tmp5 : array tmp51 : array tmp52 : array tmp53 : array tmp54 : array tmp6 : array tmp9 : array \"\"\" tmp0 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp6 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp5 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp54 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp53 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp52 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 1 ), ( 4 , 2 )) tmp51 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp45 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp43 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) tmp42 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) tmp41 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp40 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp39 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp37 = einsum ( t1 , ( 0 , 1 ), f . oo , ( 2 , 0 ), ( 2 , 1 )) tmp35 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp34 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 5 , 1 )) tmp33 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp32 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp31 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 1 , 5 )) tmp29 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp28 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp26 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp25 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp21 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp19 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp17 = einsum ( tmp6 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp16 = einsum ( tmp5 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp14 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp12 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) tmp9 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp4 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp3 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) return { f \"tmp0\" : tmp0 , f \"tmp12\" : tmp12 , f \"tmp14\" : tmp14 , f \"tmp16\" : tmp16 , f \"tmp17\" : tmp17 , f \"tmp19\" : tmp19 , f \"tmp21\" : tmp21 , f \"tmp25\" : tmp25 , f \"tmp26\" : tmp26 , f \"tmp28\" : tmp28 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp31\" : tmp31 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp34\" : tmp34 , f \"tmp35\" : tmp35 , f \"tmp37\" : tmp37 , f \"tmp39\" : tmp39 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp41\" : tmp41 , f \"tmp42\" : tmp42 , f \"tmp43\" : tmp43 , f \"tmp45\" : tmp45 , f \"tmp5\" : tmp5 , f \"tmp51\" : tmp51 , f \"tmp52\" : tmp52 , f \"tmp53\" : tmp53 , f \"tmp54\" : tmp54 , f \"tmp6\" : tmp6 , f \"tmp9\" : tmp9 }","title":"Returns"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.hbar_matvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T18:51:23.808072.","title":"hbar_matvec_ip"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.hbar_matvec_ip--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.hbar_matvec_ip--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RCC2.py 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 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-17T18:51:23.808072. 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\" ] tmp9 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 0.5 tmp9 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp8 = np . copy ( np . transpose ( ints . tmp45 , ( 1 , 0 ))) * 2 del ints . tmp45 tmp8 += f . vv * - 1 tmp8 += np . transpose ( ints . tmp43 , ( 1 , 0 )) * - 1 del ints . tmp43 tmp8 += einsum ( f . ov , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp4 = np . copy ( r2 ) tmp4 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 0.5 tmp10 = einsum ( r2 , ( 0 , 1 , 2 ), tmp9 , ( 1 , 0 , 3 , 2 ), ( 3 ,)) del tmp9 tmp12 = np . copy ( f . oo ) tmp12 += ints . tmp0 tmp12 += np . transpose ( ints . tmp14 , ( 1 , 0 )) * 2 tmp12 += np . transpose ( ints . tmp12 , ( 1 , 0 )) * - 1 tmp5 = np . copy ( ints . tmp35 ) * 2 del ints . tmp35 tmp5 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp5 += ints . tmp33 * - 1 del ints . tmp33 tmp5 += ints . tmp34 * - 1 del ints . tmp34 tmp7 = np . copy ( ints . tmp21 ) del ints . tmp21 tmp7 += np . transpose ( v . oooo , ( 0 , 2 , 1 , 3 )) tmp13 = np . copy ( f . ov ) tmp13 += ints . tmp26 * 2 del ints . tmp26 tmp13 += ints . tmp40 del ints . tmp40 tmp13 += ints . tmp51 del ints . tmp51 tmp13 += ints . tmp52 * 2 del ints . tmp52 tmp13 += ints . tmp25 * - 1 del ints . tmp25 tmp13 += ints . tmp37 * - 1 del ints . tmp37 tmp13 += ints . tmp41 * - 2 del ints . tmp41 tmp13 += ints . tmp53 * - 1 del ints . tmp53 tmp13 += ints . tmp54 * - 1 del ints . tmp54 tmp6 = np . copy ( ints . tmp32 ) del ints . tmp32 tmp6 += v . oovv * - 1 tmp11 = np . copy ( ints . tmp19 ) del ints . tmp19 tmp11 += np . transpose ( ints . tmp29 , ( 1 , 0 , 2 , 3 )) * 2 del ints . tmp29 tmp11 += np . transpose ( ints . tmp39 , ( 2 , 1 , 0 , 3 )) del ints . tmp39 tmp11 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) tmp11 += np . transpose ( ints . tmp28 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp28 tmp11 += np . transpose ( ints . tmp31 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp31 tmp11 += ints . tmp42 * - 1 del ints . tmp42 tmp1 = np . copy ( f . ov ) * 0.5 tmp1 += ints . tmp6 del ints . tmp6 tmp1 += ints . tmp5 * - 0.5 del ints . tmp5 tmp3 = np . copy ( f . oo ) tmp3 += ints . tmp0 del ints . tmp0 tmp3 += np . transpose ( ints . tmp14 , ( 1 , 0 )) * 2 del ints . tmp14 tmp3 += np . transpose ( ints . tmp17 , ( 1 , 0 )) * 2 del ints . tmp17 tmp3 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * 2 del ints . tmp4 tmp3 += np . transpose ( ints . tmp12 , ( 1 , 0 )) * - 1 del ints . tmp12 tmp3 += np . transpose ( ints . tmp16 , ( 1 , 0 )) * - 1 del ints . tmp16 tmp3 += np . transpose ( ints . tmp3 , ( 1 , 0 )) * - 1 del ints . tmp3 tmp2 = np . copy ( r2 ) * 2 tmp2 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 1 tmp0 = np . copy ( ints . tmp9 ) tmp0 += v . ooov * - 0.5 tmp0 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) r2new = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * 2 del tmp5 , tmp4 r2new += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp6 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) del tmp6 r2new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 2 , 4 ), ( 1 , 0 , 4 )) del tmp7 r2new += einsum ( tmp8 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp8 r2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 3 ,), ( 0 , 1 , 2 )) * - 2 del tmp10 r2new += einsum ( r1 , ( 0 ,), tmp11 , ( 1 , 2 , 0 , 3 ), ( 2 , 1 , 3 )) del tmp11 r2new += einsum ( tmp12 , ( 0 , 1 ), r2 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new += einsum ( tmp12 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp12 r2new += einsum ( r1 , ( 0 ,), tmp13 , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 del tmp13 r1new = einsum ( ints . tmp9 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 1 , 3 ), ( 0 ,)) * - 1 del ints . tmp9 r1new += einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 3 , 0 , 1 , 2 ), ( 3 ,)) * 2 del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 ), tmp2 , ( 0 , 2 , 1 ), ( 2 ,)) * - 2 del tmp1 , tmp2 r1new += einsum ( r1 , ( 0 ,), tmp3 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp3 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.hbar_matvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:51:31.842244.","title":"hbar_matvec_ea_intermediates"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.hbar_matvec_ea_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.hbar_matvec_ea_intermediates--returns","text":"tmp14 : array tmp16 : array tmp22 : array tmp25 : array tmp26 : array tmp3 : array tmp32 : array tmp33 : array tmp35 : array tmp36 : array tmp37 : array tmp39 : array tmp41 : array tmp42 : array tmp43 : array tmp44 : array tmp46 : array tmp47 : array tmp48 : array tmp49 : array tmp5 : array tmp50 : array tmp53 : array tmp54 : array tmp55 : array tmp6 : array tmp7 : array Source code in ebcc/codegen/RCC2.py 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 def hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:51:31.842244. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp14 : array tmp16 : array tmp22 : array tmp25 : array tmp26 : array tmp3 : array tmp32 : array tmp33 : array tmp35 : array tmp36 : array tmp37 : array tmp39 : array tmp41 : array tmp42 : array tmp43 : array tmp44 : array tmp46 : array tmp47 : array tmp48 : array tmp49 : array tmp5 : array tmp50 : array tmp53 : array tmp54 : array tmp55 : array tmp6 : array tmp7 : array \"\"\" tmp33 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp55 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp54 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 5 , 1 )) tmp53 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp50 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 2 , 4 , 5 ), ( 0 , 3 , 4 , 5 )) tmp49 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp48 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp47 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp46 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp44 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp43 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 )) tmp42 = einsum ( t1 , ( 0 , 1 ), f . oo , ( 2 , 0 ), ( 2 , 1 )) tmp41 = einsum ( tmp33 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp39 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp37 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) tmp36 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp35 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 1 ), ( 4 , 2 )) tmp32 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp26 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 5 ), ( 0 , 5 , 4 , 3 )) tmp25 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp22 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 2 ), ( 0 , 3 , 4 , 5 )) tmp16 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) tmp7 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp6 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp5 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp3 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 1 ), ( 2 , 3 )) return { f \"tmp14\" : tmp14 , f \"tmp16\" : tmp16 , f \"tmp22\" : tmp22 , f \"tmp25\" : tmp25 , f \"tmp26\" : tmp26 , f \"tmp3\" : tmp3 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp35\" : tmp35 , f \"tmp36\" : tmp36 , f \"tmp37\" : tmp37 , f \"tmp39\" : tmp39 , f \"tmp41\" : tmp41 , f \"tmp42\" : tmp42 , f \"tmp43\" : tmp43 , f \"tmp44\" : tmp44 , f \"tmp46\" : tmp46 , f \"tmp47\" : tmp47 , f \"tmp48\" : tmp48 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp50\" : tmp50 , f \"tmp53\" : tmp53 , f \"tmp54\" : tmp54 , f \"tmp55\" : tmp55 , f \"tmp6\" : tmp6 , f \"tmp7\" : tmp7 }","title":"Returns"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.hbar_matvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T18:51:31.857579.","title":"hbar_matvec_ea"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.hbar_matvec_ea--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.hbar_matvec_ea--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RCC2.py 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 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-17T18:51:31.857579. 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\" ] tmp4 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * 2 tmp4 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp5 = einsum ( r2 , ( 0 , 1 , 2 ), tmp4 , ( 2 , 3 , 1 , 0 ), ( 3 ,)) del tmp4 tmp13 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp6 = np . copy ( f . ov ) tmp6 += ints . tmp7 * 2 tmp6 += ints . tmp6 * - 1 tmp8 = einsum ( r2 , ( 0 , 1 , 2 ), v . ovov , ( 3 , 0 , 4 , 1 ), ( 2 , 3 , 4 )) tmp16 = einsum ( r1 , ( 0 ,), f . ov , ( 1 , 0 ), ( 1 ,)) tmp16 += tmp5 * - 1 tmp9 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 0.5 tmp9 += np . transpose ( r2 , ( 2 , 1 , 0 )) tmp14 = np . copy ( np . transpose ( ints . tmp16 , ( 1 , 0 ))) * 2 tmp14 += f . vv * - 1 tmp14 += np . transpose ( ints . tmp14 , ( 1 , 0 )) * - 1 tmp14 += tmp13 del tmp13 tmp10 = np . copy ( ints . tmp55 ) * 2 del ints . tmp55 tmp10 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp10 += ints . tmp53 * - 1 del ints . tmp53 tmp10 += ints . tmp54 * - 1 del ints . tmp54 tmp12 = np . copy ( np . transpose ( ints . tmp26 , ( 0 , 2 , 3 , 1 ))) del ints . tmp26 tmp12 += np . transpose ( ints . tmp48 , ( 0 , 2 , 3 , 1 )) * 2 del ints . tmp48 tmp12 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) tmp12 += ints . tmp22 * - 1 del ints . tmp22 tmp12 += np . transpose ( ints . tmp49 , ( 0 , 3 , 2 , 1 )) * - 1 del ints . tmp49 tmp12 += np . transpose ( ints . tmp50 , ( 0 , 2 , 3 , 1 )) * - 1 del ints . tmp50 tmp17 = np . copy ( f . ov ) tmp17 += ints . tmp32 del ints . tmp32 tmp17 += ints . tmp35 * 2 del ints . tmp35 tmp17 += ints . tmp43 del ints . tmp43 tmp17 += ints . tmp47 * 2 del ints . tmp47 tmp17 += ints . tmp36 * - 1 del ints . tmp36 tmp17 += ints . tmp41 * - 1 del ints . tmp41 tmp17 += ints . tmp42 * - 1 del ints . tmp42 tmp17 += ints . tmp44 * - 2 del ints . tmp44 tmp17 += ints . tmp46 * - 1 del ints . tmp46 tmp11 = np . copy ( ints . tmp25 ) del ints . tmp25 tmp11 += v . oovv * - 1 tmp15 = np . copy ( f . oo ) tmp15 += ints . tmp33 del ints . tmp33 tmp15 += np . transpose ( ints . tmp39 , ( 1 , 0 )) * 2 del ints . tmp39 tmp15 += np . transpose ( ints . tmp37 , ( 1 , 0 )) * - 1 del ints . tmp37 tmp1 = np . copy ( f . ov ) * 0.5 tmp1 += ints . tmp7 del ints . tmp7 tmp1 += ints . tmp6 * - 0.5 del ints . tmp6 tmp3 = np . copy ( f . vv ) tmp3 += np . transpose ( ints . tmp14 , ( 1 , 0 )) del ints . tmp14 tmp3 += np . transpose ( ints . tmp3 , ( 1 , 0 )) * 2 del ints . tmp3 tmp3 += np . transpose ( ints . tmp16 , ( 1 , 0 )) * - 2 del ints . tmp16 tmp3 += ints . tmp5 * - 1 del ints . tmp5 tmp2 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * 2 tmp2 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 1 tmp7 = np . copy ( tmp5 ) * - 1 del tmp5 tmp7 += einsum ( r1 , ( 0 ,), tmp6 , ( 1 , 0 ), ( 1 ,)) del tmp6 tmp0 = np . copy ( v . ovvv ) * 2 tmp0 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 r2new = einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) r2new += einsum ( tmp8 , ( 0 , 1 , 2 ), t2 , ( 2 , 1 , 3 , 4 ), ( 4 , 3 , 0 )) del tmp8 r2new += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 1 , 4 , 3 ), ( 2 , 4 , 0 )) * 2 del tmp10 , tmp9 r2new += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp11 , ( 3 , 2 , 4 , 0 ), ( 4 , 1 , 3 )) del tmp11 r2new += einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), r1 , ( 2 ,), ( 3 , 1 , 0 )) * - 1 del tmp12 r2new += einsum ( tmp14 , ( 0 , 1 ), r2 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp14 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp14 r2new += einsum ( tmp15 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp15 r2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 1 ,), ( 2 , 3 , 0 )) del tmp16 r2new += einsum ( tmp17 , ( 0 , 1 ), r1 , ( 2 ,), ( 1 , 2 , 0 )) * - 1 del tmp17 r1new = einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 2 , 0 , 1 , 3 ), ( 3 ,)) * - 1 del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 ), tmp2 , ( 0 , 1 , 2 ), ( 2 ,)) * - 2 del tmp1 , tmp2 r1new += einsum ( tmp3 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) del tmp3 r1new += einsum ( tmp7 , ( 0 ,), t1 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp7 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.hbar_lmatvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:51:58.799670.","title":"hbar_lmatvec_ip_intermediates"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.hbar_lmatvec_ip_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.hbar_lmatvec_ip_intermediates--returns","text":"tmp0 : array tmp1 : array tmp100 : array tmp103 : array tmp104 : array tmp108 : array tmp111 : array tmp112 : array tmp114 : array tmp115 : array tmp12 : array tmp129 : array tmp13 : array tmp131 : array tmp14 : array tmp17 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp24 : array tmp26 : array tmp29 : array tmp3 : array tmp32 : array tmp33 : array tmp35 : array tmp36 : array tmp38 : array tmp4 : array tmp41 : array tmp44 : array tmp48 : array tmp49 : array tmp51 : array tmp54 : array tmp57 : array tmp6 : array tmp60 : array tmp63 : array tmp66 : array tmp69 : array tmp70 : array tmp72 : array tmp73 : array tmp75 : array tmp78 : array tmp81 : array tmp82 : array tmp85 : array tmp86 : array tmp87 : array tmp88 : array tmp9 : array tmp91 : array tmp92 : array tmp94 : array tmp98 : array Source code in ebcc/codegen/RCC2.py 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 def hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:51:58.799670. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp100 : array tmp103 : array tmp104 : array tmp108 : array tmp111 : array tmp112 : array tmp114 : array tmp115 : array tmp12 : array tmp129 : array tmp13 : array tmp131 : array tmp14 : array tmp17 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp24 : array tmp26 : array tmp29 : array tmp3 : array tmp32 : array tmp33 : array tmp35 : array tmp36 : array tmp38 : array tmp4 : array tmp41 : array tmp44 : array tmp48 : array tmp49 : array tmp51 : array tmp54 : array tmp57 : array tmp6 : array tmp60 : array tmp63 : array tmp66 : array tmp69 : array tmp70 : array tmp72 : array tmp73 : array tmp75 : array tmp78 : array tmp81 : array tmp82 : array tmp85 : array tmp86 : array tmp87 : array tmp88 : array tmp9 : array tmp91 : array tmp92 : array tmp94 : array tmp98 : array \"\"\" tmp20 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp17 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp47 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp107 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp86 = einsum ( tmp17 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp85 = einsum ( tmp47 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp99 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp97 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp93 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 1 ), ( 2 , 3 )) tmp90 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp13 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp12 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp81 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp22 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) tmp24 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp0 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp131 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp129 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) tmp115 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp114 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) tmp112 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp111 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp108 = einsum ( t1 , ( 0 , 1 ), tmp107 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) del tmp107 tmp104 = einsum ( tmp86 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp103 = einsum ( t1 , ( 0 , 1 ), tmp85 , ( 2 , 0 ), ( 2 , 1 )) tmp100 = einsum ( tmp99 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) del tmp99 tmp98 = einsum ( tmp97 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 2 , 1 )) del tmp97 tmp94 = einsum ( tmp93 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) del tmp93 tmp92 = einsum ( tmp90 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp91 = einsum ( tmp90 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp90 tmp88 = einsum ( t1 , ( 0 , 1 ), tmp13 , ( 2 , 0 ), ( 2 , 1 )) tmp87 = einsum ( t1 , ( 0 , 1 ), tmp12 , ( 2 , 0 ), ( 2 , 1 )) tmp82 = einsum ( t1 , ( 0 , 1 ), tmp81 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp78 = einsum ( tmp22 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp75 = einsum ( t1 , ( 0 , 1 ), tmp24 , ( 2 , 0 ), ( 2 , 1 )) tmp73 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp72 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) tmp70 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp69 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp66 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp63 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp60 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp57 = einsum ( tmp47 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp54 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 3 ), ( 0 , 2 )) tmp51 = einsum ( tmp17 , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) tmp49 = einsum ( tmp47 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp48 = einsum ( tmp47 , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) del tmp47 tmp44 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp41 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp38 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 4 )) tmp36 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp35 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 1 , 5 )) tmp33 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp32 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) tmp29 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp26 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp21 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp19 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp14 = einsum ( v . oooo , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp9 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp6 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp2 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( t1 , ( 0 , 1 ), f . oo , ( 2 , 0 ), ( 2 , 1 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp100\" : tmp100 , f \"tmp103\" : tmp103 , f \"tmp104\" : tmp104 , f \"tmp108\" : tmp108 , f \"tmp111\" : tmp111 , f \"tmp112\" : tmp112 , f \"tmp114\" : tmp114 , f \"tmp115\" : tmp115 , f \"tmp12\" : tmp12 , f \"tmp129\" : tmp129 , f \"tmp13\" : tmp13 , f \"tmp131\" : tmp131 , f \"tmp14\" : tmp14 , f \"tmp17\" : tmp17 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp24\" : tmp24 , f \"tmp26\" : tmp26 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp35\" : tmp35 , f \"tmp36\" : tmp36 , f \"tmp38\" : tmp38 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp44\" : tmp44 , f \"tmp48\" : tmp48 , f \"tmp49\" : tmp49 , f \"tmp51\" : tmp51 , f \"tmp54\" : tmp54 , f \"tmp57\" : tmp57 , f \"tmp6\" : tmp6 , f \"tmp60\" : tmp60 , f \"tmp63\" : tmp63 , f \"tmp66\" : tmp66 , f \"tmp69\" : tmp69 , f \"tmp70\" : tmp70 , f \"tmp72\" : tmp72 , f \"tmp73\" : tmp73 , f \"tmp75\" : tmp75 , f \"tmp78\" : tmp78 , f \"tmp81\" : tmp81 , f \"tmp82\" : tmp82 , f \"tmp85\" : tmp85 , f \"tmp86\" : tmp86 , f \"tmp87\" : tmp87 , f \"tmp88\" : tmp88 , f \"tmp9\" : tmp9 , f \"tmp91\" : tmp91 , f \"tmp92\" : tmp92 , f \"tmp94\" : tmp94 , f \"tmp98\" : tmp98 }","title":"Returns"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.hbar_lmatvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T18:51:58.827598.","title":"hbar_lmatvec_ip"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.hbar_lmatvec_ip--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.hbar_lmatvec_ip--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RCC2.py 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:51:58.827598. 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\" ] tmp12 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp12 += t2 tmp8 = np . copy ( ints . tmp115 ) * 2 del ints . tmp115 tmp8 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp8 += ints . tmp112 * - 1 del ints . tmp112 tmp8 += ints . tmp114 * - 1 del ints . tmp114 tmp9 = np . copy ( ints . tmp111 ) del ints . tmp111 tmp9 += v . oovv * - 1 tmp14 = np . copy ( f . oo ) tmp14 += np . transpose ( ints . tmp0 , ( 1 , 0 )) tmp14 += ints . tmp24 * 2 tmp14 += ints . tmp22 * - 1 tmp10 = np . copy ( ints . tmp81 ) del ints . tmp81 tmp10 += np . transpose ( v . oooo , ( 0 , 2 , 1 , 3 )) tmp7 = np . copy ( r2 ) tmp7 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 0.5 tmp13 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 0 , 3 ), ( 2 ,)) del tmp12 tmp11 = np . copy ( ints . tmp131 ) * 2 del ints . tmp131 tmp11 += f . vv * - 1 tmp11 += ints . tmp129 * - 1 del ints . tmp129 tmp11 += einsum ( f . ov , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 2 , 1 )) tmp1 = np . copy ( ints . tmp108 ) del ints . tmp108 tmp1 += np . transpose ( ints . tmp14 , ( 1 , 2 , 0 , 3 )) del ints . tmp14 tmp1 += ints . tmp32 del ints . tmp32 tmp1 += ints . tmp69 del ints . tmp69 tmp1 += ints . tmp73 del ints . tmp73 tmp1 += ints . tmp82 del ints . tmp82 tmp1 += ints . tmp91 del ints . tmp91 tmp1 += ints . tmp100 * - 1 del ints . tmp100 tmp1 += ints . tmp20 * - 1 del ints . tmp20 tmp1 += ints . tmp44 * - 1 del ints . tmp44 tmp1 += ints . tmp70 * - 2 del ints . tmp70 tmp3 = np . copy ( np . transpose ( ints . tmp33 , ( 0 , 2 , 1 , 3 ))) del ints . tmp33 tmp3 += ints . tmp35 del ints . tmp35 tmp3 += np . transpose ( ints . tmp57 , ( 0 , 2 , 1 , 3 )) del ints . tmp57 tmp3 += np . transpose ( ints . tmp72 , ( 0 , 2 , 1 , 3 )) del ints . tmp72 tmp3 += ints . tmp92 del ints . tmp92 tmp3 += ints . tmp21 * - 1 del ints . tmp21 tmp3 += ints . tmp36 * - 2 del ints . tmp36 tmp3 += np . transpose ( ints . tmp60 , ( 0 , 2 , 1 , 3 )) * - 2 del ints . tmp60 tmp3 += np . transpose ( ints . tmp6 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp6 tmp2 = np . copy ( r2 ) * 2 tmp2 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 1 tmp4 = np . copy ( v . ooov ) tmp4 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 0.5 tmp5 = np . copy ( ints . tmp104 ) * 2 del ints . tmp104 tmp5 += ints . tmp19 del ints . tmp19 tmp5 += ints . tmp1 del ints . tmp1 tmp5 += ints . tmp29 * 2 del ints . tmp29 tmp5 += ints . tmp3 del ints . tmp3 tmp5 += ints . tmp41 del ints . tmp41 tmp5 += ints . tmp49 * 2 del ints . tmp49 tmp5 += ints . tmp51 * 2 del ints . tmp51 tmp5 += ints . tmp63 * 2 del ints . tmp63 tmp5 += ints . tmp75 * 2 del ints . tmp75 tmp5 += ints . tmp88 * 2 del ints . tmp88 tmp5 += ints . tmp98 del ints . tmp98 tmp5 += ints . tmp9 del ints . tmp9 tmp5 += f . ov * - 1 tmp5 += ints . tmp103 * - 1 del ints . tmp103 tmp5 += ints . tmp17 * - 2 del ints . tmp17 tmp5 += ints . tmp26 * - 1 del ints . tmp26 tmp5 += ints . tmp2 * - 1 del ints . tmp2 tmp5 += ints . tmp38 * - 2 del ints . tmp38 tmp5 += ints . tmp48 * - 1 del ints . tmp48 tmp5 += ints . tmp4 * - 2 del ints . tmp4 tmp5 += ints . tmp54 * - 4 del ints . tmp54 tmp5 += ints . tmp66 * - 1 del ints . tmp66 tmp5 += ints . tmp78 * - 1 del ints . tmp78 tmp5 += ints . tmp87 * - 1 del ints . tmp87 tmp5 += ints . tmp94 * - 2 del ints . tmp94 tmp6 = np . copy ( f . oo ) tmp6 += np . transpose ( ints . tmp0 , ( 1 , 0 )) del ints . tmp0 tmp6 += np . transpose ( ints . tmp13 , ( 1 , 0 )) * 2 del ints . tmp13 tmp6 += ints . tmp24 * 2 del ints . tmp24 tmp6 += ints . tmp86 * 2 del ints . tmp86 tmp6 += ints . tmp12 * - 1 del ints . tmp12 tmp6 += ints . tmp22 * - 1 del ints . tmp22 tmp6 += ints . tmp85 * - 1 del ints . tmp85 tmp0 = np . copy ( r2 ) * - 0.5 tmp0 += np . transpose ( r2 , ( 1 , 0 , 2 )) r2new = einsum ( r1 , ( 0 ,), f . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 r2new += einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), r1 , ( 3 ,), ( 0 , 2 , 1 )) r2new += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) * 2 del tmp8 , tmp7 r2new += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 0 , 2 ), ( 4 , 1 , 3 )) r2new += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) del tmp9 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp10 , ( 0 , 1 , 3 , 4 ), ( 3 , 4 , 2 )) del tmp10 r2new += einsum ( tmp11 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp11 r2new += einsum ( tmp13 , ( 0 ,), v . ovov , ( 1 , 2 , 3 , 0 ), ( 1 , 3 , 2 )) * - 2 del tmp13 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp14 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp14 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp14 r1new = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp1 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) * - 2 del tmp0 , tmp1 r1new += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp3 , ( 0 , 3 , 1 , 2 ), ( 3 ,)) * - 1 del tmp3 r1new += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 0 , 3 ), ( 1 ,)) * 2 del tmp4 r1new += einsum ( tmp5 , ( 0 , 1 ), tmp2 , ( 0 , 2 , 1 ), ( 2 ,)) del tmp2 , tmp5 r1new += einsum ( r1 , ( 0 ,), tmp6 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp6 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.hbar_lmatvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:52:29.113031.","title":"hbar_lmatvec_ea_intermediates"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.hbar_lmatvec_ea_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.hbar_lmatvec_ea_intermediates--returns","text":"tmp1 : array tmp10 : array tmp103 : array tmp106 : array tmp107 : array tmp109 : array tmp11 : array tmp111 : array tmp113 : array tmp14 : array tmp16 : array tmp17 : array tmp19 : array tmp2 : array tmp24 : array tmp27 : array tmp29 : array tmp3 : array tmp31 : array tmp34 : array tmp37 : array tmp4 : array tmp40 : array tmp43 : array tmp46 : array tmp48 : array tmp51 : array tmp53 : array tmp55 : array tmp56 : array tmp57 : array tmp59 : array tmp62 : array tmp69 : array tmp70 : array tmp73 : array tmp76 : array tmp79 : array tmp80 : array tmp83 : array tmp84 : array tmp87 : array tmp88 : array tmp90 : array tmp92 : array tmp96 : array tmp98 : array Source code in ebcc/codegen/RCC2.py 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 def hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:52:29.113031. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp1 : array tmp10 : array tmp103 : array tmp106 : array tmp107 : array tmp109 : array tmp11 : array tmp111 : array tmp113 : array tmp14 : array tmp16 : array tmp17 : array tmp19 : array tmp2 : array tmp24 : array tmp27 : array tmp29 : array tmp3 : array tmp31 : array tmp34 : array tmp37 : array tmp4 : array tmp40 : array tmp43 : array tmp46 : array tmp48 : array tmp51 : array tmp53 : array tmp55 : array tmp56 : array tmp57 : array tmp59 : array tmp62 : array tmp69 : array tmp70 : array tmp73 : array tmp76 : array tmp79 : array tmp80 : array tmp83 : array tmp84 : array tmp87 : array tmp88 : array tmp90 : array tmp92 : array tmp96 : array tmp98 : array \"\"\" tmp17 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp55 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp112 = einsum ( tmp17 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp110 = einsum ( tmp55 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp16 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) tmp14 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 1 ), ( 2 , 3 )) tmp97 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp95 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp83 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) tmp79 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp69 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp10 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp113 = einsum ( t1 , ( 0 , 1 ), tmp112 , ( 2 , 0 ), ( 2 , 1 )) del tmp112 tmp111 = einsum ( tmp110 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) del tmp110 tmp109 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp107 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp106 = einsum ( t1 , ( 0 , 1 ), tmp16 , ( 1 , 2 ), ( 0 , 2 )) tmp103 = einsum ( t1 , ( 0 , 1 ), tmp14 , ( 2 , 1 ), ( 0 , 2 )) tmp98 = einsum ( tmp97 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) del tmp97 tmp96 = einsum ( t1 , ( 0 , 1 ), tmp95 , ( 2 , 0 ), ( 2 , 1 )) del tmp95 tmp92 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp90 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp88 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp87 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) tmp84 = einsum ( t1 , ( 0 , 1 ), tmp83 , ( 2 , 0 ), ( 2 , 1 )) tmp80 = einsum ( tmp79 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp76 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 5 ), ( 0 , 5 , 4 , 3 )) tmp73 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp70 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp69 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) tmp62 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 3 ), ( 0 , 2 )) tmp59 = einsum ( tmp17 , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) tmp57 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp55 , ( 1 , 3 ), ( 0 , 2 )) tmp56 = einsum ( tmp55 , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) tmp53 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp51 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 2 ), ( 0 , 3 , 4 , 5 )) tmp48 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp46 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 2 , 4 , 5 ), ( 0 , 3 , 4 , 5 )) tmp43 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp40 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 4 )) tmp37 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 5 ), ( 0 , 5 , 4 , 3 )) tmp34 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp31 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp29 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 2 ), ( 3 , 4 )) tmp24 = einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp19 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp11 = einsum ( tmp10 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp2 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( t1 , ( 0 , 1 ), f . oo , ( 2 , 0 ), ( 2 , 1 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp103\" : tmp103 , f \"tmp106\" : tmp106 , f \"tmp107\" : tmp107 , f \"tmp109\" : tmp109 , f \"tmp11\" : tmp11 , f \"tmp111\" : tmp111 , f \"tmp113\" : tmp113 , f \"tmp14\" : tmp14 , f \"tmp16\" : tmp16 , f \"tmp17\" : tmp17 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp24\" : tmp24 , f \"tmp27\" : tmp27 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp31\" : tmp31 , f \"tmp34\" : tmp34 , f \"tmp37\" : tmp37 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp43\" : tmp43 , f \"tmp46\" : tmp46 , f \"tmp48\" : tmp48 , f \"tmp51\" : tmp51 , f \"tmp53\" : tmp53 , f \"tmp55\" : tmp55 , f \"tmp56\" : tmp56 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp62\" : tmp62 , f \"tmp69\" : tmp69 , f \"tmp70\" : tmp70 , f \"tmp73\" : tmp73 , f \"tmp76\" : tmp76 , f \"tmp79\" : tmp79 , f \"tmp80\" : tmp80 , f \"tmp83\" : tmp83 , f \"tmp84\" : tmp84 , f \"tmp87\" : tmp87 , f \"tmp88\" : tmp88 , f \"tmp90\" : tmp90 , f \"tmp92\" : tmp92 , f \"tmp96\" : tmp96 , f \"tmp98\" : tmp98 }","title":"Returns"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.hbar_lmatvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T18:52:29.137422.","title":"hbar_lmatvec_ea"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.hbar_lmatvec_ea--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/RCC2/#ebcc.codegen.RCC2.hbar_lmatvec_ea--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RCC2.py 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:52:29.137422. 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 ), t1 , ( 3 , 1 ), ( 2 , 3 , 0 )) tmp21 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp24 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp24 += t2 tmp2 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp2 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 0.5 tmp15 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp15 += t2 * - 1 tmp11 = einsum ( tmp10 , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 0 , 3 , 1 )) del tmp10 tmp5 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 0.5 tmp5 += np . transpose ( r2 , ( 2 , 1 , 0 )) tmp22 = np . copy ( ints . tmp29 ) * 2 tmp22 += f . vv * - 1 tmp22 += ints . tmp27 * - 1 tmp22 += np . transpose ( tmp21 , ( 1 , 0 )) del tmp21 tmp19 = np . copy ( ints . tmp88 ) * 2 tmp19 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp19 += ints . tmp87 * - 1 tmp19 += ints . tmp92 * - 1 tmp20 = np . copy ( ints . tmp90 ) tmp20 += v . oovv * - 1 tmp18 = einsum ( r2 , ( 0 , 1 , 2 ), t2 , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp25 = einsum ( r2 , ( 0 , 1 , 2 ), tmp24 , ( 2 , 3 , 0 , 1 ), ( 3 ,)) del tmp24 tmp23 = np . copy ( f . oo ) tmp23 += np . transpose ( ints . tmp10 , ( 1 , 0 )) del ints . tmp10 tmp23 += ints . tmp79 * 2 del ints . tmp79 tmp23 += ints . tmp83 * - 1 del ints . tmp83 tmp1 = np . copy ( ints . tmp24 ) tmp1 += np . transpose ( ints . tmp46 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp1 += np . transpose ( ints . tmp53 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp1 += np . transpose ( ints . tmp76 , ( 0 , 3 , 1 , 2 )) tmp1 += np . transpose ( ints . tmp37 , ( 0 , 3 , 1 , 2 )) * - 0.5 tmp1 += np . transpose ( ints . tmp48 , ( 0 , 2 , 1 , 3 )) * - 1 tmp1 += np . transpose ( ints . tmp51 , ( 0 , 2 , 1 , 3 )) * - 1 tmp3 = einsum ( t1 , ( 0 , 1 ), tmp2 , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) del tmp2 tmp16 = einsum ( r1 , ( 0 ,), t1 , ( 1 , 0 ), ( 1 ,)) * 0.5 tmp16 += einsum ( r2 , ( 0 , 1 , 2 ), tmp15 , ( 2 , 3 , 1 , 0 ), ( 3 ,)) * - 0.5 del tmp15 tmp9 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * 2 tmp9 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 1 tmp8 = np . copy ( ints . tmp106 ) del ints . tmp106 tmp8 += ints . tmp113 * 2 del ints . tmp113 tmp8 += ints . tmp11 del ints . tmp11 tmp8 += ints . tmp19 del ints . tmp19 tmp8 += ints . tmp1 del ints . tmp1 tmp8 += ints . tmp34 * 2 del ints . tmp34 tmp8 += ints . tmp3 del ints . tmp3 tmp8 += ints . tmp43 del ints . tmp43 tmp8 += ints . tmp57 * 2 del ints . tmp57 tmp8 += ints . tmp59 * 2 del ints . tmp59 tmp8 += ints . tmp70 * 2 del ints . tmp70 tmp8 += ints . tmp80 * 2 del ints . tmp80 tmp8 += ints . tmp98 * 2 del ints . tmp98 tmp8 += f . ov * - 1 tmp8 += ints . tmp103 * - 2 del ints . tmp103 tmp8 += ints . tmp111 * - 1 del ints . tmp111 tmp8 += ints . tmp17 * - 2 tmp8 += ints . tmp2 * - 1 del ints . tmp2 tmp8 += ints . tmp31 * - 1 del ints . tmp31 tmp8 += ints . tmp40 * - 2 del ints . tmp40 tmp8 += ints . tmp4 * - 2 del ints . tmp4 tmp8 += ints . tmp56 * - 1 del ints . tmp56 tmp8 += ints . tmp62 * - 4 del ints . tmp62 tmp8 += ints . tmp73 * - 1 del ints . tmp73 tmp8 += ints . tmp84 * - 1 del ints . tmp84 tmp8 += ints . tmp96 * - 1 del ints . tmp96 tmp4 = np . copy ( ints . tmp107 ) del ints . tmp107 tmp4 += v . oovv tmp4 += np . transpose ( ints . tmp90 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp90 tmp14 = np . copy ( f . vv ) tmp14 += np . transpose ( ints . tmp14 , ( 1 , 0 )) * 2 del ints . tmp14 tmp14 += ints . tmp27 del ints . tmp27 tmp14 += np . transpose ( ints . tmp16 , ( 1 , 0 )) * - 1 del ints . tmp16 tmp14 += ints . tmp29 * - 2 del ints . tmp29 tmp12 = np . copy ( tmp11 ) * - 0.5 tmp12 += np . transpose ( tmp11 , ( 0 , 2 , 1 )) tmp7 = np . copy ( ints . tmp109 ) del ints . tmp109 tmp7 += np . transpose ( ints . tmp88 , ( 0 , 1 , 3 , 2 )) * 2 del ints . tmp88 tmp7 += np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 )) tmp7 += np . transpose ( ints . tmp87 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp87 tmp7 += np . transpose ( ints . tmp92 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp92 tmp13 = np . copy ( tmp11 ) * 2 tmp13 += np . transpose ( tmp11 , ( 0 , 2 , 1 )) * - 1 del tmp11 tmp6 = einsum ( tmp5 , ( 0 , 1 , 2 ), t1 , ( 3 , 1 ), ( 0 , 3 , 2 )) * 2 tmp17 = np . copy ( f . ov ) tmp17 += ints . tmp17 * 2 del ints . tmp17 tmp17 += ints . tmp55 * - 1 del ints . tmp55 tmp0 = np . copy ( ints . tmp24 ) del ints . tmp24 tmp0 += np . transpose ( ints . tmp46 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp46 tmp0 += np . transpose ( ints . tmp53 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp53 tmp0 += np . transpose ( ints . tmp76 , ( 0 , 3 , 1 , 2 )) del ints . tmp76 tmp0 += np . transpose ( ints . tmp37 , ( 0 , 3 , 1 , 2 )) * - 2 del ints . tmp37 tmp0 += np . transpose ( ints . tmp48 , ( 0 , 2 , 1 , 3 )) * - 4 del ints . tmp48 tmp0 += np . transpose ( ints . tmp51 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp51 tmp0 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * - 2 tmp0 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) r2new = einsum ( r1 , ( 0 ,), f . ov , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new += einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) r2new += einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r1 , ( 3 ,), ( 1 , 2 , 0 )) * - 1 r2new += einsum ( tmp18 , ( 0 , 1 , 2 ), v . ovov , ( 2 , 3 , 1 , 4 ), ( 4 , 3 , 0 )) del tmp18 r2new += einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 0 , 4 , 2 ), ( 3 , 4 , 1 )) * 2 del tmp5 , tmp19 r2new += einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp20 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 , 3 )) del tmp20 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp22 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp22 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp22 r2new += einsum ( tmp23 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp23 r2new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp25 , ( 2 ,), ( 1 , 3 , 0 )) * - 2 del tmp25 r1new = einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 2 , 3 , 0 , 1 ), ( 3 ,)) del tmp0 r1new += einsum ( r2 , ( 0 , 1 , 2 ), tmp1 , ( 2 , 3 , 1 , 0 ), ( 3 ,)) * - 2 del tmp1 r1new += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 0 , 1 , 3 ), ( 2 ,)) * 2 del tmp4 , tmp3 r1new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 0 , 1 , 3 ), ( 2 ,)) del tmp7 , tmp6 r1new += einsum ( tmp9 , ( 0 , 1 , 2 ), tmp8 , ( 0 , 1 ), ( 2 ,)) del tmp9 , tmp8 r1new += einsum ( tmp12 , ( 0 , 1 , 2 ), ints . tmp69 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * - 2 del tmp12 , ints . tmp69 r1new += einsum ( tmp13 , ( 0 , 1 , 2 ), v . ooov , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * - 1 del tmp13 r1new += einsum ( r1 , ( 0 ,), tmp14 , ( 0 , 1 ), ( 1 ,)) del tmp14 r1new += einsum ( tmp17 , ( 0 , 1 ), tmp16 , ( 0 ,), ( 1 ,)) * - 2 del tmp17 , tmp16 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RCC3/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-09T22:12:49.167824 python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0] albert version: 0.0.0 caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py node: fv-az1487-369 system: Linux processor: x86_64 release: 6.5.0-1025-azure ebcc . codegen . RCC3 . energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T22:12:49.868579. 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. Source code in ebcc/codegen/RCC3.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:12:49.868579. 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 ))) * - 0.5 tmp0 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp1 = np . copy ( f . ov ) 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 e_cc += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 2 , 1 , 3 ), ()) * 2 e_cc += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 3 , 1 ), ()) * - 1 return e_cc ebcc . codegen . RCC3 . update_amps ( f = None , t1 = None , t2 = None , t3 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T22:13:42.242343. 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. Source code in ebcc/codegen/RCC3.py 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 def update_amps ( f = None , t1 = None , t2 = None , t3 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:13:42.242343. 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. \"\"\" tmp3 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp5 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp5 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * 2 tmp102 = einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp26 = np . copy ( tmp3 ) * - 1 tmp26 += np . transpose ( tmp3 , ( 0 , 2 , 1 , 3 )) * 2 tmp6 = einsum ( t1 , ( 0 , 1 ), tmp5 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp47 = einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp47 += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 2 tmp47 += t2 tmp34 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp103 = einsum ( t1 , ( 0 , 1 ), tmp102 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp102 tmp99 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 6 , 3 ), ( 0 , 4 , 5 , 2 , 1 , 6 )) tmp90 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 5 , 6 , 2 )) tmp40 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp56 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp1 = np . copy ( t2 ) tmp1 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) t2new = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 3 , 5 , 2 ), ( 1 , 0 , 4 , 5 )) tmp10 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp19 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp22 = np . copy ( v . ovvv ) * 2 tmp22 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) * - 1 tmp30 = np . copy ( v . ooov ) * 2 tmp30 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp26 , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) del tmp26 tmp25 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) tmp15 = einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp16 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) del tmp5 tmp74 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) tmp74 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp69 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 0.5 tmp69 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp49 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 2 ), ( 0 , 1 , 4 , 3 )) tmp46 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) tmp44 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp45 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp48 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp47 , ( 2 , 4 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) del tmp47 tmp104 = np . copy ( np . transpose ( tmp34 , ( 2 , 1 , 0 , 3 ))) * - 1 tmp104 += tmp103 del tmp103 tmp100 = einsum ( tmp99 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 , ( 4 , 6 ), ( 0 , 1 , 2 , 3 , 6 , 5 )) del tmp99 tmp41 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp119 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 6 , 2 , 5 )) tmp91 = einsum ( tmp90 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 , ( 4 , 6 ), ( 0 , 1 , 2 , 3 , 6 , 5 )) del tmp90 tmp92 = einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 6 , 2 ), ( 0 , 4 , 5 , 1 , 6 , 3 )) tmp89 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp56 , ( 4 , 5 , 6 , 1 ), ( 4 , 0 , 6 , 5 , 2 , 3 )) tmp109 = einsum ( t1 , ( 0 , 1 ), v . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp107 = einsum ( t1 , ( 0 , 1 ), v . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp81 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp60 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t3 , ( 4 , 5 , 2 , 6 , 1 , 3 ), ( 4 , 5 , 0 , 6 )) tmp36 = np . copy ( f . oo ) tmp36 += tmp10 tmp20 = np . copy ( f . ov ) tmp20 += tmp19 * 2 del tmp19 tmp23 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 1 ), ( 2 , 3 )) del tmp22 tmp31 = einsum ( t1 , ( 0 , 1 ), tmp30 , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) del tmp30 tmp28 = np . copy ( tmp3 ) tmp28 += tmp25 * - 1 del tmp25 tmp28 += np . transpose ( tmp27 , ( 1 , 0 , 2 , 3 )) del tmp27 tmp17 = np . copy ( tmp15 ) del tmp15 tmp17 += tmp16 * - 1 tmp72 = np . copy ( np . transpose ( t3 , ( 0 , 2 , 1 , 3 , 5 , 4 ))) tmp72 += einsum ( t1 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 5 ), ( 0 , 2 , 3 , 4 , 1 , 5 )) * - 1 tmp67 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp65 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . ovov , ( 6 , 3 , 2 , 5 ), ( 0 , 1 , 6 , 4 )) tmp75 = einsum ( tmp74 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 3 ), ( 4 , 1 )) * 2 del tmp74 tmp70 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) del tmp69 tmp50 = np . copy ( np . transpose ( tmp44 , ( 0 , 2 , 1 , 3 ))) * - 1 tmp50 += np . transpose ( tmp45 , ( 0 , 2 , 1 , 3 )) del tmp45 tmp50 += np . transpose ( tmp46 , ( 0 , 2 , 1 , 3 )) del tmp46 tmp50 += np . transpose ( tmp48 , ( 2 , 1 , 0 , 3 )) del tmp48 tmp50 += np . transpose ( tmp49 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp49 tmp52 = einsum ( t1 , ( 0 , 1 ), tmp6 , ( 2 , 1 ), ( 0 , 2 )) tmp8 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp8 += t2 * 2 tmp105 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp104 , ( 4 , 5 , 1 , 6 ), ( 0 , 4 , 5 , 3 , 2 , 6 )) del tmp104 tmp101 = einsum ( t1 , ( 0 , 1 ), tmp100 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp100 tmp95 = einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 6 , 3 ), ( 0 , 4 , 5 , 1 , 6 , 2 )) tmp124 = einsum ( t1 , ( 0 , 1 ), tmp56 , ( 2 , 3 , 4 , 0 ), ( 2 , 4 , 3 , 1 )) tmp87 = einsum ( t1 , ( 0 , 1 ), tmp40 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp118 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 4 , 5 , 1 , 6 ), ( 4 , 0 , 5 , 2 , 3 , 6 )) tmp120 = einsum ( t1 , ( 0 , 1 ), tmp119 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp119 tmp93 = np . copy ( np . transpose ( tmp89 , ( 0 , 1 , 3 , 2 , 4 , 5 ))) del tmp89 tmp93 += np . transpose ( tmp91 , ( 0 , 1 , 3 , 2 , 4 , 5 )) del tmp91 tmp93 += np . transpose ( tmp92 , ( 0 , 1 , 3 , 2 , 4 , 5 )) * - 1 del tmp92 tmp113 = np . copy ( f . oo ) tmp113 += tmp10 t3new = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp113 , ( 1 , 6 ), ( 0 , 6 , 2 , 3 , 4 , 5 )) * - 1 tmp122 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 5 , 2 , 6 )) tmp115 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), f . ov , ( 6 , 5 ), ( 6 , 0 , 2 , 1 , 3 , 4 )) tmp110 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp109 , ( 4 , 5 , 3 , 6 ), ( 4 , 0 , 1 , 2 , 6 , 5 )) del tmp109 tmp108 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp107 , ( 4 , 1 , 5 , 6 ), ( 0 , 5 , 4 , 6 , 2 , 3 )) del tmp107 tmp83 = np . copy ( v . oooo ) tmp83 += np . transpose ( tmp81 , ( 3 , 1 , 2 , 0 )) tmp58 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t3 , ( 4 , 5 , 0 , 1 , 6 , 3 ), ( 4 , 5 , 6 , 2 )) tmp61 = einsum ( t1 , ( 0 , 1 ), tmp60 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp60 tmp59 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp3 , ( 6 , 2 , 1 , 5 ), ( 6 , 0 , 3 , 4 )) tmp57 = einsum ( tmp56 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp56 tmp55 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . ooov , ( 6 , 0 , 2 , 5 ), ( 1 , 6 , 3 , 4 )) tmp78 = np . copy ( t2 ) tmp78 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp37 = einsum ( tmp36 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 4 , 3 )) del tmp36 tmp35 = einsum ( t1 , ( 0 , 1 ), tmp34 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp34 tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) t2new += np . transpose ( tmp14 , ( 1 , 0 , 3 , 2 )) * - 1 tmp21 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp20 , ( 2 , 5 ), ( 0 , 1 , 3 , 4 )) del tmp20 tmp24 = einsum ( tmp23 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 2 , 3 , 4 , 0 )) del tmp23 tmp32 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp31 , ( 4 , 1 ), ( 0 , 4 , 3 , 2 )) del tmp31 tmp29 = einsum ( t1 , ( 0 , 1 ), tmp28 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp28 tmp18 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) del tmp17 tmp73 = einsum ( tmp72 , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . ovvv , ( 0 , 3 , 6 , 5 ), ( 1 , 2 , 6 , 4 )) del tmp72 tmp68 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp67 , ( 2 , 5 ), ( 0 , 1 , 3 , 4 )) del tmp67 tmp64 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp3 , ( 6 , 2 , 0 , 5 ), ( 6 , 1 , 3 , 4 )) tmp66 = einsum ( t1 , ( 0 , 1 ), tmp65 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp65 tmp76 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp75 , ( 4 , 1 ), ( 0 , 4 , 3 , 2 )) del tmp75 tmp63 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t3 , ( 4 , 1 , 2 , 5 , 6 , 3 ), ( 4 , 0 , 5 , 6 )) tmp71 = einsum ( tmp70 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 2 , 3 , 4 , 0 )) * 2 del tmp70 tmp51 = einsum ( t1 , ( 0 , 1 ), tmp50 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp50 tmp39 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp53 = einsum ( tmp52 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 4 , 3 )) del tmp52 tmp42 = einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp43 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp12 = np . copy ( v . ooov ) tmp12 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp11 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * 2 tmp11 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp106 = np . copy ( tmp101 ) del tmp101 tmp106 += np . transpose ( tmp105 , ( 2 , 1 , 0 , 5 , 4 , 3 )) del tmp105 t3new += np . transpose ( tmp106 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new += np . transpose ( tmp106 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp106 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new += np . transpose ( tmp106 , ( 1 , 2 , 0 , 3 , 4 , 5 )) * - 1 t3new += np . transpose ( tmp106 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp106 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new += np . transpose ( tmp106 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new += np . transpose ( tmp106 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp106 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp106 , ( 0 , 2 , 1 , 3 , 4 , 5 )) t3new += np . transpose ( tmp106 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp106 , ( 0 , 1 , 2 , 3 , 5 , 4 )) del tmp106 tmp97 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), f . vv , ( 6 , 5 ), ( 0 , 2 , 1 , 6 , 3 , 4 )) t3new += np . transpose ( tmp97 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new += np . transpose ( tmp97 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 del tmp97 tmp96 = einsum ( t1 , ( 0 , 1 ), tmp95 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp95 t3new += np . transpose ( tmp96 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp96 , ( 2 , 1 , 0 , 3 , 4 , 5 )) t3new += np . transpose ( tmp96 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp96 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new += np . transpose ( tmp96 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp96 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new += np . transpose ( tmp96 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new += np . transpose ( tmp96 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp96 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new += np . transpose ( tmp96 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp96 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new += tmp96 * - 1 del tmp96 tmp125 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp124 , ( 4 , 1 , 5 , 6 ), ( 4 , 0 , 5 , 6 , 2 , 3 )) del tmp124 t3new += np . transpose ( tmp125 , ( 2 , 1 , 0 , 5 , 4 , 3 )) t3new += np . transpose ( tmp125 , ( 2 , 1 , 0 , 3 , 4 , 5 )) * - 1 t3new += np . transpose ( tmp125 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new += np . transpose ( tmp125 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp125 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new += np . transpose ( tmp125 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp125 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp125 , ( 1 , 0 , 2 , 4 , 3 , 5 )) t3new += np . transpose ( tmp125 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp125 , ( 0 , 2 , 1 , 3 , 5 , 4 )) t3new += np . transpose ( tmp125 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 1 t3new += tmp125 del tmp125 tmp88 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp87 , ( 4 , 5 , 1 , 6 ), ( 4 , 5 , 0 , 2 , 3 , 6 )) del tmp87 t3new += np . transpose ( tmp88 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new += np . transpose ( tmp88 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp88 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp88 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new += np . transpose ( tmp88 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new += np . transpose ( tmp88 , ( 2 , 0 , 1 , 3 , 4 , 5 )) * - 1 t3new += np . transpose ( tmp88 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp88 , ( 1 , 0 , 2 , 3 , 4 , 5 )) t3new += np . transpose ( tmp88 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new += np . transpose ( tmp88 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp88 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp88 , ( 0 , 1 , 2 , 3 , 5 , 4 )) del tmp88 tmp126 = np . copy ( f . vv ) tmp126 += einsum ( f . ov , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 1 t3new += einsum ( tmp126 , ( 0 , 1 ), t3 , ( 2 , 3 , 4 , 5 , 0 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) del tmp126 tmp98 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 6 , 1 , 2 )) t3new += np . transpose ( tmp98 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new += np . transpose ( tmp98 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp98 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new += np . transpose ( tmp98 , ( 1 , 2 , 0 , 3 , 4 , 5 )) * - 1 t3new += np . transpose ( tmp98 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp98 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new += np . transpose ( tmp98 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new += np . transpose ( tmp98 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp98 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp98 , ( 0 , 2 , 1 , 3 , 4 , 5 )) t3new += np . transpose ( tmp98 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp98 , ( 0 , 1 , 2 , 3 , 5 , 4 )) del tmp98 tmp121 = np . copy ( tmp118 ) del tmp118 tmp121 += tmp120 del tmp120 t3new += np . transpose ( tmp121 , ( 2 , 1 , 0 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp121 , ( 2 , 1 , 0 , 4 , 3 , 5 )) t3new += np . transpose ( tmp121 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new += np . transpose ( tmp121 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp121 , ( 2 , 0 , 1 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp121 , ( 2 , 0 , 1 , 3 , 4 , 5 )) t3new += np . transpose ( tmp121 , ( 1 , 0 , 2 , 5 , 4 , 3 )) t3new += np . transpose ( tmp121 , ( 1 , 0 , 2 , 3 , 4 , 5 )) * - 1 t3new += np . transpose ( tmp121 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp121 , ( 0 , 2 , 1 , 3 , 5 , 4 )) t3new += np . transpose ( tmp121 , ( 0 , 1 , 2 , 5 , 3 , 4 )) t3new += np . transpose ( tmp121 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * - 1 del tmp121 tmp94 = einsum ( t1 , ( 0 , 1 ), tmp93 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp93 t3new += np . transpose ( tmp94 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp94 , ( 2 , 1 , 0 , 3 , 4 , 5 )) t3new += np . transpose ( tmp94 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp94 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new += np . transpose ( tmp94 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp94 , ( 2 , 0 , 1 , 3 , 5 , 4 )) t3new += np . transpose ( tmp94 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new += np . transpose ( tmp94 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp94 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new += np . transpose ( tmp94 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp94 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new += tmp94 * - 1 del tmp94 tmp114 = einsum ( tmp113 , ( 0 , 1 ), t3 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 3 , 1 , 4 , 6 , 5 )) * - 1 del tmp113 t3new += np . transpose ( tmp114 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp114 , ( 2 , 1 , 0 , 4 , 5 , 3 )) del tmp114 tmp123 = einsum ( t1 , ( 0 , 1 ), tmp122 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp122 t3new += np . transpose ( tmp123 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new += np . transpose ( tmp123 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp123 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp123 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new += np . transpose ( tmp123 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new += np . transpose ( tmp123 , ( 2 , 0 , 1 , 3 , 4 , 5 )) * - 1 t3new += np . transpose ( tmp123 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp123 , ( 1 , 0 , 2 , 3 , 4 , 5 )) t3new += np . transpose ( tmp123 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new += np . transpose ( tmp123 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp123 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp123 , ( 0 , 1 , 2 , 3 , 5 , 4 )) del tmp123 tmp117 = einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 6 ), ( 0 , 4 , 1 , 5 , 6 , 3 )) del tmp44 t3new += np . transpose ( tmp117 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new += np . transpose ( tmp117 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp117 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new += np . transpose ( tmp117 , ( 1 , 2 , 0 , 3 , 4 , 5 )) * - 1 t3new += np . transpose ( tmp117 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp117 , ( 2 , 0 , 1 , 3 , 5 , 4 )) t3new += np . transpose ( tmp117 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new += np . transpose ( tmp117 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp117 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp117 , ( 0 , 2 , 1 , 3 , 4 , 5 )) t3new += np . transpose ( tmp117 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp117 , ( 0 , 1 , 2 , 4 , 3 , 5 )) del tmp117 tmp116 = einsum ( t1 , ( 0 , 1 ), tmp115 , ( 0 , 2 , 3 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp115 t3new += np . transpose ( tmp116 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp116 , ( 0 , 2 , 1 , 3 , 5 , 4 )) del tmp116 tmp112 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 6 ), ( 4 , 0 , 2 , 5 , 6 , 3 )) t3new += np . transpose ( tmp112 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp112 , ( 2 , 1 , 0 , 3 , 4 , 5 )) t3new += np . transpose ( tmp112 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp112 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new += np . transpose ( tmp112 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp112 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new += np . transpose ( tmp112 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new += np . transpose ( tmp112 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp112 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new += np . transpose ( tmp112 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp112 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new += tmp112 * - 1 del tmp112 tmp111 = np . copy ( tmp108 ) del tmp108 tmp111 += tmp110 del tmp110 t3new += np . transpose ( tmp111 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new += np . transpose ( tmp111 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp111 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp111 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new += np . transpose ( tmp111 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new += np . transpose ( tmp111 , ( 2 , 0 , 1 , 3 , 4 , 5 )) * - 1 t3new += np . transpose ( tmp111 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp111 , ( 1 , 0 , 2 , 3 , 4 , 5 )) t3new += np . transpose ( tmp111 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new += np . transpose ( tmp111 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp111 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp111 , ( 0 , 1 , 2 , 4 , 3 , 5 )) del tmp111 tmp82 = np . copy ( v . oooo ) tmp82 += np . transpose ( tmp81 , ( 3 , 1 , 0 , 2 )) del tmp81 t2new += einsum ( tmp82 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 3 , 4 , 5 ), ( 2 , 1 , 5 , 4 )) del tmp82 tmp84 = np . copy ( v . ooov ) * - 1 tmp84 += einsum ( t1 , ( 0 , 1 ), tmp83 , ( 0 , 2 , 3 , 4 ), ( 3 , 4 , 2 , 1 )) del tmp83 t2new += einsum ( tmp84 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) del tmp84 tmp62 = np . copy ( tmp55 ) del tmp55 tmp62 += tmp57 * - 1 del tmp57 tmp62 += tmp58 del tmp58 tmp62 += tmp59 del tmp59 tmp62 += tmp61 del tmp61 t2new += np . transpose ( tmp62 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp62 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp62 tmp79 = einsum ( tmp78 , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) del tmp41 , tmp78 t2new += np . transpose ( tmp79 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp79 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp79 tmp38 = np . copy ( tmp35 ) del tmp35 tmp38 += np . transpose ( tmp37 , ( 1 , 0 , 3 , 2 )) del tmp37 t2new += np . transpose ( tmp38 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp38 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp38 tmp86 = np . copy ( v . oovv ) * - 1 tmp86 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp86 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) del tmp86 tmp80 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp80 += v . oovv * - 1 tmp80 += tmp16 * 2 del tmp16 t2new += einsum ( tmp80 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp80 tmp85 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * - 1 tmp85 += tmp14 del tmp14 t2new += einsum ( tmp85 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp85 tmp33 = np . copy ( np . transpose ( tmp18 , ( 1 , 0 , 3 , 2 ))) del tmp18 tmp33 += tmp21 del tmp21 tmp33 += np . transpose ( tmp24 , ( 1 , 0 , 2 , 3 )) del tmp24 tmp33 += tmp29 * - 1 del tmp29 tmp33 += np . transpose ( tmp32 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp32 t2new += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) t2new += tmp33 del tmp33 tmp77 = np . copy ( tmp63 ) del tmp63 tmp77 += tmp64 del tmp64 tmp77 += tmp66 del tmp66 tmp77 += tmp68 del tmp68 tmp77 += np . transpose ( tmp71 , ( 1 , 0 , 2 , 3 )) del tmp71 tmp77 += np . transpose ( tmp73 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp73 tmp77 += np . transpose ( tmp76 , ( 0 , 1 , 3 , 2 )) del tmp76 t2new += np . transpose ( tmp77 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp77 * - 1 del tmp77 tmp54 = np . copy ( tmp39 ) del tmp39 tmp54 += tmp40 del tmp40 tmp54 += tmp42 * - 1 del tmp42 tmp54 += np . transpose ( tmp43 , ( 1 , 0 , 2 , 3 )) del tmp43 tmp54 += tmp51 del tmp51 tmp54 += np . transpose ( tmp53 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp53 t2new += np . transpose ( tmp54 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp54 , ( 0 , 1 , 3 , 2 )) del tmp54 tmp7 = np . copy ( f . ov ) tmp7 += tmp6 del tmp6 t1new = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 2 ), ( 1 , 3 )) del tmp8 , tmp7 tmp13 = np . copy ( f . oo ) tmp13 += tmp10 del tmp10 tmp13 += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), tmp11 , ( 0 , 4 , 3 , 2 ), ( 4 , 1 )) del tmp11 tmp13 += einsum ( t1 , ( 0 , 1 ), tmp12 , ( 2 , 3 , 0 , 1 ), ( 3 , 2 )) * 2 del tmp12 t1new += einsum ( t1 , ( 0 , 1 ), tmp13 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp13 tmp4 = np . copy ( v . ooov ) tmp4 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp4 += tmp3 * - 0.5 tmp4 += np . transpose ( tmp3 , ( 0 , 2 , 1 , 3 )) del tmp3 t1new += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 2 del tmp4 tmp0 = np . copy ( np . transpose ( t3 , ( 0 , 2 , 1 , 3 , 5 , 4 ))) * - 1 tmp0 += np . transpose ( t3 , ( 0 , 1 , 2 , 3 , 5 , 4 )) tmp0 += np . transpose ( t3 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * 3 t1new += einsum ( tmp0 , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 5 )) * 0.5 del tmp0 tmp2 = np . copy ( v . ovvv ) * - 0.5 tmp2 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) t1new += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 3 , 2 , 4 ), ( 1 , 4 )) * 2 del tmp1 , tmp2 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 t1new += einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) t1new += einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . ovov , ( 1 , 5 , 2 , 4 ), ( 0 , 3 )) * - 0.5 t1new += f . ov t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * - 1 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 3 , 5 )) * - 1 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) * 2 t2new += einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 t2new += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) return { f \"t1new\" : t1new , f \"t2new\" : t2new , f \"t3new\" : t3new }","title":"RCC3"},{"location":"reference/codegen/RCC3/#ebcc.codegen.RCC3.energy","text":"Code generated by albert 0.0.0 on 2024-08-09T22:12:49.868579.","title":"energy"},{"location":"reference/codegen/RCC3/#ebcc.codegen.RCC3.energy--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCC3/#ebcc.codegen.RCC3.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/RCC3.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:12:49.868579. 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 ))) * - 0.5 tmp0 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp1 = np . copy ( f . ov ) 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 e_cc += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 2 , 1 , 3 ), ()) * 2 e_cc += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 3 , 1 ), ()) * - 1 return e_cc","title":"Returns"},{"location":"reference/codegen/RCC3/#ebcc.codegen.RCC3.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-09T22:13:42.242343.","title":"update_amps"},{"location":"reference/codegen/RCC3/#ebcc.codegen.RCC3.update_amps--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. t3 : array T3 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCC3/#ebcc.codegen.RCC3.update_amps--returns","text":"t1new : array Updated T1 residuals. t2new : array Updated T2 residuals. t3new : array Updated T3 residuals. Source code in ebcc/codegen/RCC3.py 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 def update_amps ( f = None , t1 = None , t2 = None , t3 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:13:42.242343. 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. \"\"\" tmp3 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp5 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp5 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * 2 tmp102 = einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp26 = np . copy ( tmp3 ) * - 1 tmp26 += np . transpose ( tmp3 , ( 0 , 2 , 1 , 3 )) * 2 tmp6 = einsum ( t1 , ( 0 , 1 ), tmp5 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp47 = einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp47 += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 2 tmp47 += t2 tmp34 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp103 = einsum ( t1 , ( 0 , 1 ), tmp102 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp102 tmp99 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 6 , 3 ), ( 0 , 4 , 5 , 2 , 1 , 6 )) tmp90 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 5 , 6 , 2 )) tmp40 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp56 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp1 = np . copy ( t2 ) tmp1 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) t2new = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 3 , 5 , 2 ), ( 1 , 0 , 4 , 5 )) tmp10 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp19 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp22 = np . copy ( v . ovvv ) * 2 tmp22 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) * - 1 tmp30 = np . copy ( v . ooov ) * 2 tmp30 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp26 , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) del tmp26 tmp25 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) tmp15 = einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp16 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) del tmp5 tmp74 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) tmp74 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp69 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 0.5 tmp69 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp49 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 2 ), ( 0 , 1 , 4 , 3 )) tmp46 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) tmp44 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp45 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp48 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp47 , ( 2 , 4 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) del tmp47 tmp104 = np . copy ( np . transpose ( tmp34 , ( 2 , 1 , 0 , 3 ))) * - 1 tmp104 += tmp103 del tmp103 tmp100 = einsum ( tmp99 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 , ( 4 , 6 ), ( 0 , 1 , 2 , 3 , 6 , 5 )) del tmp99 tmp41 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp119 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 6 , 2 , 5 )) tmp91 = einsum ( tmp90 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 , ( 4 , 6 ), ( 0 , 1 , 2 , 3 , 6 , 5 )) del tmp90 tmp92 = einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 6 , 2 ), ( 0 , 4 , 5 , 1 , 6 , 3 )) tmp89 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp56 , ( 4 , 5 , 6 , 1 ), ( 4 , 0 , 6 , 5 , 2 , 3 )) tmp109 = einsum ( t1 , ( 0 , 1 ), v . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp107 = einsum ( t1 , ( 0 , 1 ), v . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp81 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp60 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t3 , ( 4 , 5 , 2 , 6 , 1 , 3 ), ( 4 , 5 , 0 , 6 )) tmp36 = np . copy ( f . oo ) tmp36 += tmp10 tmp20 = np . copy ( f . ov ) tmp20 += tmp19 * 2 del tmp19 tmp23 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 1 ), ( 2 , 3 )) del tmp22 tmp31 = einsum ( t1 , ( 0 , 1 ), tmp30 , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) del tmp30 tmp28 = np . copy ( tmp3 ) tmp28 += tmp25 * - 1 del tmp25 tmp28 += np . transpose ( tmp27 , ( 1 , 0 , 2 , 3 )) del tmp27 tmp17 = np . copy ( tmp15 ) del tmp15 tmp17 += tmp16 * - 1 tmp72 = np . copy ( np . transpose ( t3 , ( 0 , 2 , 1 , 3 , 5 , 4 ))) tmp72 += einsum ( t1 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 5 ), ( 0 , 2 , 3 , 4 , 1 , 5 )) * - 1 tmp67 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp65 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . ovov , ( 6 , 3 , 2 , 5 ), ( 0 , 1 , 6 , 4 )) tmp75 = einsum ( tmp74 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 3 ), ( 4 , 1 )) * 2 del tmp74 tmp70 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) del tmp69 tmp50 = np . copy ( np . transpose ( tmp44 , ( 0 , 2 , 1 , 3 ))) * - 1 tmp50 += np . transpose ( tmp45 , ( 0 , 2 , 1 , 3 )) del tmp45 tmp50 += np . transpose ( tmp46 , ( 0 , 2 , 1 , 3 )) del tmp46 tmp50 += np . transpose ( tmp48 , ( 2 , 1 , 0 , 3 )) del tmp48 tmp50 += np . transpose ( tmp49 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp49 tmp52 = einsum ( t1 , ( 0 , 1 ), tmp6 , ( 2 , 1 ), ( 0 , 2 )) tmp8 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp8 += t2 * 2 tmp105 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp104 , ( 4 , 5 , 1 , 6 ), ( 0 , 4 , 5 , 3 , 2 , 6 )) del tmp104 tmp101 = einsum ( t1 , ( 0 , 1 ), tmp100 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp100 tmp95 = einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 6 , 3 ), ( 0 , 4 , 5 , 1 , 6 , 2 )) tmp124 = einsum ( t1 , ( 0 , 1 ), tmp56 , ( 2 , 3 , 4 , 0 ), ( 2 , 4 , 3 , 1 )) tmp87 = einsum ( t1 , ( 0 , 1 ), tmp40 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp118 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 4 , 5 , 1 , 6 ), ( 4 , 0 , 5 , 2 , 3 , 6 )) tmp120 = einsum ( t1 , ( 0 , 1 ), tmp119 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp119 tmp93 = np . copy ( np . transpose ( tmp89 , ( 0 , 1 , 3 , 2 , 4 , 5 ))) del tmp89 tmp93 += np . transpose ( tmp91 , ( 0 , 1 , 3 , 2 , 4 , 5 )) del tmp91 tmp93 += np . transpose ( tmp92 , ( 0 , 1 , 3 , 2 , 4 , 5 )) * - 1 del tmp92 tmp113 = np . copy ( f . oo ) tmp113 += tmp10 t3new = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp113 , ( 1 , 6 ), ( 0 , 6 , 2 , 3 , 4 , 5 )) * - 1 tmp122 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 5 , 2 , 6 )) tmp115 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), f . ov , ( 6 , 5 ), ( 6 , 0 , 2 , 1 , 3 , 4 )) tmp110 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp109 , ( 4 , 5 , 3 , 6 ), ( 4 , 0 , 1 , 2 , 6 , 5 )) del tmp109 tmp108 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp107 , ( 4 , 1 , 5 , 6 ), ( 0 , 5 , 4 , 6 , 2 , 3 )) del tmp107 tmp83 = np . copy ( v . oooo ) tmp83 += np . transpose ( tmp81 , ( 3 , 1 , 2 , 0 )) tmp58 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t3 , ( 4 , 5 , 0 , 1 , 6 , 3 ), ( 4 , 5 , 6 , 2 )) tmp61 = einsum ( t1 , ( 0 , 1 ), tmp60 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp60 tmp59 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp3 , ( 6 , 2 , 1 , 5 ), ( 6 , 0 , 3 , 4 )) tmp57 = einsum ( tmp56 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp56 tmp55 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . ooov , ( 6 , 0 , 2 , 5 ), ( 1 , 6 , 3 , 4 )) tmp78 = np . copy ( t2 ) tmp78 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp37 = einsum ( tmp36 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 4 , 3 )) del tmp36 tmp35 = einsum ( t1 , ( 0 , 1 ), tmp34 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp34 tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) t2new += np . transpose ( tmp14 , ( 1 , 0 , 3 , 2 )) * - 1 tmp21 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp20 , ( 2 , 5 ), ( 0 , 1 , 3 , 4 )) del tmp20 tmp24 = einsum ( tmp23 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 2 , 3 , 4 , 0 )) del tmp23 tmp32 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp31 , ( 4 , 1 ), ( 0 , 4 , 3 , 2 )) del tmp31 tmp29 = einsum ( t1 , ( 0 , 1 ), tmp28 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp28 tmp18 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) del tmp17 tmp73 = einsum ( tmp72 , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . ovvv , ( 0 , 3 , 6 , 5 ), ( 1 , 2 , 6 , 4 )) del tmp72 tmp68 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp67 , ( 2 , 5 ), ( 0 , 1 , 3 , 4 )) del tmp67 tmp64 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp3 , ( 6 , 2 , 0 , 5 ), ( 6 , 1 , 3 , 4 )) tmp66 = einsum ( t1 , ( 0 , 1 ), tmp65 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp65 tmp76 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp75 , ( 4 , 1 ), ( 0 , 4 , 3 , 2 )) del tmp75 tmp63 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t3 , ( 4 , 1 , 2 , 5 , 6 , 3 ), ( 4 , 0 , 5 , 6 )) tmp71 = einsum ( tmp70 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 2 , 3 , 4 , 0 )) * 2 del tmp70 tmp51 = einsum ( t1 , ( 0 , 1 ), tmp50 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp50 tmp39 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp53 = einsum ( tmp52 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 4 , 3 )) del tmp52 tmp42 = einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp43 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp12 = np . copy ( v . ooov ) tmp12 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp11 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * 2 tmp11 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp106 = np . copy ( tmp101 ) del tmp101 tmp106 += np . transpose ( tmp105 , ( 2 , 1 , 0 , 5 , 4 , 3 )) del tmp105 t3new += np . transpose ( tmp106 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new += np . transpose ( tmp106 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp106 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new += np . transpose ( tmp106 , ( 1 , 2 , 0 , 3 , 4 , 5 )) * - 1 t3new += np . transpose ( tmp106 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp106 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new += np . transpose ( tmp106 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new += np . transpose ( tmp106 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp106 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp106 , ( 0 , 2 , 1 , 3 , 4 , 5 )) t3new += np . transpose ( tmp106 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp106 , ( 0 , 1 , 2 , 3 , 5 , 4 )) del tmp106 tmp97 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), f . vv , ( 6 , 5 ), ( 0 , 2 , 1 , 6 , 3 , 4 )) t3new += np . transpose ( tmp97 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new += np . transpose ( tmp97 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 del tmp97 tmp96 = einsum ( t1 , ( 0 , 1 ), tmp95 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp95 t3new += np . transpose ( tmp96 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp96 , ( 2 , 1 , 0 , 3 , 4 , 5 )) t3new += np . transpose ( tmp96 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp96 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new += np . transpose ( tmp96 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp96 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new += np . transpose ( tmp96 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new += np . transpose ( tmp96 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp96 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new += np . transpose ( tmp96 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp96 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new += tmp96 * - 1 del tmp96 tmp125 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp124 , ( 4 , 1 , 5 , 6 ), ( 4 , 0 , 5 , 6 , 2 , 3 )) del tmp124 t3new += np . transpose ( tmp125 , ( 2 , 1 , 0 , 5 , 4 , 3 )) t3new += np . transpose ( tmp125 , ( 2 , 1 , 0 , 3 , 4 , 5 )) * - 1 t3new += np . transpose ( tmp125 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new += np . transpose ( tmp125 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp125 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new += np . transpose ( tmp125 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp125 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp125 , ( 1 , 0 , 2 , 4 , 3 , 5 )) t3new += np . transpose ( tmp125 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp125 , ( 0 , 2 , 1 , 3 , 5 , 4 )) t3new += np . transpose ( tmp125 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 1 t3new += tmp125 del tmp125 tmp88 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp87 , ( 4 , 5 , 1 , 6 ), ( 4 , 5 , 0 , 2 , 3 , 6 )) del tmp87 t3new += np . transpose ( tmp88 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new += np . transpose ( tmp88 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp88 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp88 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new += np . transpose ( tmp88 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new += np . transpose ( tmp88 , ( 2 , 0 , 1 , 3 , 4 , 5 )) * - 1 t3new += np . transpose ( tmp88 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp88 , ( 1 , 0 , 2 , 3 , 4 , 5 )) t3new += np . transpose ( tmp88 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new += np . transpose ( tmp88 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp88 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp88 , ( 0 , 1 , 2 , 3 , 5 , 4 )) del tmp88 tmp126 = np . copy ( f . vv ) tmp126 += einsum ( f . ov , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 1 t3new += einsum ( tmp126 , ( 0 , 1 ), t3 , ( 2 , 3 , 4 , 5 , 0 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) del tmp126 tmp98 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 6 , 1 , 2 )) t3new += np . transpose ( tmp98 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new += np . transpose ( tmp98 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp98 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new += np . transpose ( tmp98 , ( 1 , 2 , 0 , 3 , 4 , 5 )) * - 1 t3new += np . transpose ( tmp98 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp98 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new += np . transpose ( tmp98 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new += np . transpose ( tmp98 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp98 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp98 , ( 0 , 2 , 1 , 3 , 4 , 5 )) t3new += np . transpose ( tmp98 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp98 , ( 0 , 1 , 2 , 3 , 5 , 4 )) del tmp98 tmp121 = np . copy ( tmp118 ) del tmp118 tmp121 += tmp120 del tmp120 t3new += np . transpose ( tmp121 , ( 2 , 1 , 0 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp121 , ( 2 , 1 , 0 , 4 , 3 , 5 )) t3new += np . transpose ( tmp121 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new += np . transpose ( tmp121 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp121 , ( 2 , 0 , 1 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp121 , ( 2 , 0 , 1 , 3 , 4 , 5 )) t3new += np . transpose ( tmp121 , ( 1 , 0 , 2 , 5 , 4 , 3 )) t3new += np . transpose ( tmp121 , ( 1 , 0 , 2 , 3 , 4 , 5 )) * - 1 t3new += np . transpose ( tmp121 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp121 , ( 0 , 2 , 1 , 3 , 5 , 4 )) t3new += np . transpose ( tmp121 , ( 0 , 1 , 2 , 5 , 3 , 4 )) t3new += np . transpose ( tmp121 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * - 1 del tmp121 tmp94 = einsum ( t1 , ( 0 , 1 ), tmp93 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp93 t3new += np . transpose ( tmp94 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp94 , ( 2 , 1 , 0 , 3 , 4 , 5 )) t3new += np . transpose ( tmp94 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp94 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new += np . transpose ( tmp94 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp94 , ( 2 , 0 , 1 , 3 , 5 , 4 )) t3new += np . transpose ( tmp94 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new += np . transpose ( tmp94 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp94 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new += np . transpose ( tmp94 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp94 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new += tmp94 * - 1 del tmp94 tmp114 = einsum ( tmp113 , ( 0 , 1 ), t3 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 3 , 1 , 4 , 6 , 5 )) * - 1 del tmp113 t3new += np . transpose ( tmp114 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp114 , ( 2 , 1 , 0 , 4 , 5 , 3 )) del tmp114 tmp123 = einsum ( t1 , ( 0 , 1 ), tmp122 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp122 t3new += np . transpose ( tmp123 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new += np . transpose ( tmp123 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp123 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp123 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new += np . transpose ( tmp123 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new += np . transpose ( tmp123 , ( 2 , 0 , 1 , 3 , 4 , 5 )) * - 1 t3new += np . transpose ( tmp123 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp123 , ( 1 , 0 , 2 , 3 , 4 , 5 )) t3new += np . transpose ( tmp123 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new += np . transpose ( tmp123 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp123 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp123 , ( 0 , 1 , 2 , 3 , 5 , 4 )) del tmp123 tmp117 = einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 6 ), ( 0 , 4 , 1 , 5 , 6 , 3 )) del tmp44 t3new += np . transpose ( tmp117 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new += np . transpose ( tmp117 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp117 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new += np . transpose ( tmp117 , ( 1 , 2 , 0 , 3 , 4 , 5 )) * - 1 t3new += np . transpose ( tmp117 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp117 , ( 2 , 0 , 1 , 3 , 5 , 4 )) t3new += np . transpose ( tmp117 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new += np . transpose ( tmp117 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp117 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp117 , ( 0 , 2 , 1 , 3 , 4 , 5 )) t3new += np . transpose ( tmp117 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp117 , ( 0 , 1 , 2 , 4 , 3 , 5 )) del tmp117 tmp116 = einsum ( t1 , ( 0 , 1 ), tmp115 , ( 0 , 2 , 3 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp115 t3new += np . transpose ( tmp116 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp116 , ( 0 , 2 , 1 , 3 , 5 , 4 )) del tmp116 tmp112 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 6 ), ( 4 , 0 , 2 , 5 , 6 , 3 )) t3new += np . transpose ( tmp112 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp112 , ( 2 , 1 , 0 , 3 , 4 , 5 )) t3new += np . transpose ( tmp112 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp112 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new += np . transpose ( tmp112 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp112 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new += np . transpose ( tmp112 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new += np . transpose ( tmp112 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp112 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new += np . transpose ( tmp112 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp112 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new += tmp112 * - 1 del tmp112 tmp111 = np . copy ( tmp108 ) del tmp108 tmp111 += tmp110 del tmp110 t3new += np . transpose ( tmp111 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new += np . transpose ( tmp111 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new += np . transpose ( tmp111 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new += np . transpose ( tmp111 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new += np . transpose ( tmp111 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new += np . transpose ( tmp111 , ( 2 , 0 , 1 , 3 , 4 , 5 )) * - 1 t3new += np . transpose ( tmp111 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new += np . transpose ( tmp111 , ( 1 , 0 , 2 , 3 , 4 , 5 )) t3new += np . transpose ( tmp111 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new += np . transpose ( tmp111 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new += np . transpose ( tmp111 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new += np . transpose ( tmp111 , ( 0 , 1 , 2 , 4 , 3 , 5 )) del tmp111 tmp82 = np . copy ( v . oooo ) tmp82 += np . transpose ( tmp81 , ( 3 , 1 , 0 , 2 )) del tmp81 t2new += einsum ( tmp82 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 3 , 4 , 5 ), ( 2 , 1 , 5 , 4 )) del tmp82 tmp84 = np . copy ( v . ooov ) * - 1 tmp84 += einsum ( t1 , ( 0 , 1 ), tmp83 , ( 0 , 2 , 3 , 4 ), ( 3 , 4 , 2 , 1 )) del tmp83 t2new += einsum ( tmp84 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) del tmp84 tmp62 = np . copy ( tmp55 ) del tmp55 tmp62 += tmp57 * - 1 del tmp57 tmp62 += tmp58 del tmp58 tmp62 += tmp59 del tmp59 tmp62 += tmp61 del tmp61 t2new += np . transpose ( tmp62 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp62 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp62 tmp79 = einsum ( tmp78 , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) del tmp41 , tmp78 t2new += np . transpose ( tmp79 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp79 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp79 tmp38 = np . copy ( tmp35 ) del tmp35 tmp38 += np . transpose ( tmp37 , ( 1 , 0 , 3 , 2 )) del tmp37 t2new += np . transpose ( tmp38 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp38 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp38 tmp86 = np . copy ( v . oovv ) * - 1 tmp86 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp86 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) del tmp86 tmp80 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp80 += v . oovv * - 1 tmp80 += tmp16 * 2 del tmp16 t2new += einsum ( tmp80 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp80 tmp85 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * - 1 tmp85 += tmp14 del tmp14 t2new += einsum ( tmp85 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp85 tmp33 = np . copy ( np . transpose ( tmp18 , ( 1 , 0 , 3 , 2 ))) del tmp18 tmp33 += tmp21 del tmp21 tmp33 += np . transpose ( tmp24 , ( 1 , 0 , 2 , 3 )) del tmp24 tmp33 += tmp29 * - 1 del tmp29 tmp33 += np . transpose ( tmp32 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp32 t2new += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) t2new += tmp33 del tmp33 tmp77 = np . copy ( tmp63 ) del tmp63 tmp77 += tmp64 del tmp64 tmp77 += tmp66 del tmp66 tmp77 += tmp68 del tmp68 tmp77 += np . transpose ( tmp71 , ( 1 , 0 , 2 , 3 )) del tmp71 tmp77 += np . transpose ( tmp73 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp73 tmp77 += np . transpose ( tmp76 , ( 0 , 1 , 3 , 2 )) del tmp76 t2new += np . transpose ( tmp77 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp77 * - 1 del tmp77 tmp54 = np . copy ( tmp39 ) del tmp39 tmp54 += tmp40 del tmp40 tmp54 += tmp42 * - 1 del tmp42 tmp54 += np . transpose ( tmp43 , ( 1 , 0 , 2 , 3 )) del tmp43 tmp54 += tmp51 del tmp51 tmp54 += np . transpose ( tmp53 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp53 t2new += np . transpose ( tmp54 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp54 , ( 0 , 1 , 3 , 2 )) del tmp54 tmp7 = np . copy ( f . ov ) tmp7 += tmp6 del tmp6 t1new = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 2 ), ( 1 , 3 )) del tmp8 , tmp7 tmp13 = np . copy ( f . oo ) tmp13 += tmp10 del tmp10 tmp13 += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), tmp11 , ( 0 , 4 , 3 , 2 ), ( 4 , 1 )) del tmp11 tmp13 += einsum ( t1 , ( 0 , 1 ), tmp12 , ( 2 , 3 , 0 , 1 ), ( 3 , 2 )) * 2 del tmp12 t1new += einsum ( t1 , ( 0 , 1 ), tmp13 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp13 tmp4 = np . copy ( v . ooov ) tmp4 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp4 += tmp3 * - 0.5 tmp4 += np . transpose ( tmp3 , ( 0 , 2 , 1 , 3 )) del tmp3 t1new += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 2 del tmp4 tmp0 = np . copy ( np . transpose ( t3 , ( 0 , 2 , 1 , 3 , 5 , 4 ))) * - 1 tmp0 += np . transpose ( t3 , ( 0 , 1 , 2 , 3 , 5 , 4 )) tmp0 += np . transpose ( t3 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * 3 t1new += einsum ( tmp0 , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 5 )) * 0.5 del tmp0 tmp2 = np . copy ( v . ovvv ) * - 0.5 tmp2 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) t1new += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 3 , 2 , 4 ), ( 1 , 4 )) * 2 del tmp1 , tmp2 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 t1new += einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) t1new += einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . ovov , ( 1 , 5 , 2 , 4 ), ( 0 , 3 )) * - 0.5 t1new += f . ov t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * - 1 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 3 , 5 )) * - 1 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) * 2 t2new += einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 t2new += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) return { f \"t1new\" : t1new , f \"t2new\" : t2new , f \"t3new\" : t3new }","title":"Returns"},{"location":"reference/codegen/RCCD/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-17T18:48:06.061718 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.8.0-40-generic ebcc . codegen . RCCD . energy ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:06.214643. Parameters t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns e_cc : float Coupled cluster energy. Source code in ebcc/codegen/RCCD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:06.214643. 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 ), ()) * 2 e_cc += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 3 , 1 ), ()) * - 1 return e_cc ebcc . codegen . RCCD . update_amps ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:08.356370. Parameters f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns t2new : array Updated T2 residuals. Source code in ebcc/codegen/RCCD.py 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 def update_amps ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:08.356370. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- t2new : array Updated T2 residuals. \"\"\" tmp8 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) tmp8 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp5 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 0.5 tmp5 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp2 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * 2 tmp2 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp9 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 3 ), ( 4 , 1 )) * 2 del tmp8 tmp6 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) del tmp5 tmp3 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp2 tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) tmp10 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 4 , 1 ), ( 0 , 4 , 3 , 2 )) del tmp9 tmp7 = einsum ( tmp6 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 2 , 3 , 4 , 0 )) * 2 del tmp6 tmp1 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp13 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp13 += v . oovv * - 1 tmp13 += tmp3 * 2 tmp12 = einsum ( f . vv , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp15 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * - 1 tmp15 += tmp0 tmp16 = np . copy ( v . oovv ) * - 1 tmp16 += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp14 = np . copy ( v . oooo ) tmp14 += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp11 = np . copy ( np . transpose ( tmp7 , ( 1 , 0 , 2 , 3 ))) del tmp7 tmp11 += np . transpose ( tmp10 , ( 0 , 1 , 3 , 2 )) del tmp10 tmp4 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp3 t2new = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) t2new += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) t2new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * - 1 t2new += np . transpose ( tmp0 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp0 t2new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) * - 1 t2new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) * 2 t2new += np . transpose ( tmp1 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp1 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp1 t2new += np . transpose ( tmp4 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp4 * - 1 del tmp4 t2new += tmp11 * - 1 t2new += np . transpose ( tmp11 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp11 t2new += np . transpose ( tmp12 , ( 0 , 1 , 3 , 2 )) t2new += np . transpose ( tmp12 , ( 1 , 0 , 2 , 3 )) del tmp12 t2new += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp13 t2new += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 4 , 5 )) del tmp14 t2new += einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp15 t2new += einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 5 , 2 )) del tmp16 return { f \"t2new\" : t2new } ebcc . codegen . RCCD . update_lams ( f = None , l2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:11.877391. Parameters f : array Fock matrix. l2 : array L2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns l2new : array Updated L2 residuals. Source code in ebcc/codegen/RCCD.py 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 def update_lams ( f = None , l2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:11.877391. Parameters ---------- f : array Fock matrix. l2 : array L2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- l2new : array Updated L2 residuals. \"\"\" tmp5 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp5 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp15 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp10 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 3 , 4 , 0 , 5 )) tmp6 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) del tmp5 tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 5 , 1 ), ( 5 , 0 , 4 , 3 )) tmp26 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp26 += t2 tmp29 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp29 += t2 * - 0.5 tmp19 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp19 += t2 * - 1 tmp22 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp22 += t2 * 2 tmp16 = np . copy ( v . oovv ) * - 1 tmp16 += tmp15 del tmp15 tmp11 = np . copy ( tmp10 ) del tmp10 tmp11 += np . transpose ( l2 , ( 3 , 2 , 0 , 1 )) * - 1 tmp11 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp8 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * 2 tmp8 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp7 = np . copy ( tmp4 ) del tmp4 tmp7 += np . transpose ( tmp6 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp6 tmp27 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp26 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) * 2 del tmp26 tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 0 , 4 ), ( 4 , 1 )) * 2 del tmp29 tmp20 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp19 , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * 0.5 del tmp19 tmp23 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp22 , ( 2 , 4 , 3 , 1 ), ( 0 , 4 )) del tmp22 tmp14 = einsum ( f . vv , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp17 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 2 , 4 , 1 , 5 ), ( 3 , 4 , 0 , 5 )) del tmp16 tmp3 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp12 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp11 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) del tmp11 tmp9 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp8 , tmp7 tmp28 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp27 , ( 4 , 1 ), ( 0 , 2 , 3 , 4 )) del tmp27 tmp31 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp30 , ( 4 , 2 ), ( 0 , 4 , 3 , 1 )) del tmp30 tmp21 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 4 , 1 ), ( 3 , 2 , 0 , 4 )) * 2 del tmp20 tmp24 = einsum ( tmp23 , ( 0 , 1 ), l2 , ( 2 , 3 , 1 , 4 ), ( 4 , 0 , 2 , 3 )) del tmp23 tmp1 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp18 = np . copy ( tmp14 ) del tmp14 tmp18 += tmp17 del tmp17 tmp13 = np . copy ( tmp3 ) del tmp3 tmp13 += tmp9 del tmp9 tmp13 += np . transpose ( tmp12 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp12 tmp32 = np . copy ( np . transpose ( tmp28 , ( 1 , 0 , 3 , 2 ))) del tmp28 tmp32 += np . transpose ( tmp31 , ( 1 , 0 , 3 , 2 )) del tmp31 tmp0 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp25 = np . copy ( np . transpose ( tmp21 , ( 1 , 0 , 2 , 3 ))) del tmp21 tmp25 += np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 )) del tmp24 tmp2 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), f . oo , ( 4 , 3 ), ( 4 , 2 , 0 , 1 )) l2new = einsum ( l2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 1 , 5 , 0 ), ( 4 , 5 , 3 , 2 )) l2new += np . transpose ( v . ovov , ( 1 , 3 , 0 , 2 )) l2new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 3 , 2 , 4 , 5 ), ( 0 , 1 , 5 , 4 )) del tmp0 l2new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 5 , 0 , 2 ), ( 1 , 3 , 4 , 5 )) del tmp1 l2new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), v . oooo , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) l2new += np . transpose ( tmp2 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp2 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp2 l2new += np . transpose ( tmp13 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp13 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp13 l2new += np . transpose ( tmp18 , ( 3 , 2 , 0 , 1 )) l2new += np . transpose ( tmp18 , ( 2 , 3 , 1 , 0 )) del tmp18 l2new += np . transpose ( tmp25 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp25 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp25 l2new += np . transpose ( tmp32 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp32 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp32 return { f \"l2new\" : l2new } ebcc . codegen . RCCD . make_rdm1_f ( l2 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:12.171694. Parameters l2 : array L2 amplitudes. t2 : array T2 amplitudes. Returns rdm1 : array One-particle reduced density matrix. Source code in ebcc/codegen/RCCD.py 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 def make_rdm1_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:12.171694. 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 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp0 += t2 * - 0.5 rdm1 . vv = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 3 , 2 , 4 , 1 ), ( 0 , 4 )) * 4 rdm1 . oo = np . copy ( delta . oo ) * 2 del delta rdm1 . oo += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 2 , 4 , 1 , 0 ), ( 4 , 3 )) * - 4 del tmp0 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 ebcc . codegen . RCCD . make_rdm2_f ( l2 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:22.905206. Parameters l2 : array L2 amplitudes. t2 : array T2 amplitudes. Returns rdm2 : array Two-particle reduced density matrix. Source code in ebcc/codegen/RCCD.py 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 def make_rdm2_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:22.905206. 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 ]), ) tmp6 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp6 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) tmp3 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp3 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp1 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp1 += t2 tmp13 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp13 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp6 tmp4 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp2 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 )) * 2 del tmp1 tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp13 , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) * 0.5 tmp27 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) tmp27 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp22 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp22 += t2 * - 1 tmp24 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp24 += t2 * - 1 tmp8 = einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) tmp5 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp20 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 3 , 4 , 0 , 5 )) tmp16 = einsum ( tmp2 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 4 , 3 )) tmp15 = einsum ( tmp14 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 2 , 3 , 4 , 0 )) * 2 tmp18 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 5 , 1 ), ( 5 , 0 , 4 , 3 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp10 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp3 tmp29 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 1 , 0 ), ( 4 , 5 , 3 , 2 )) tmp26 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp13 , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) del tmp13 tmp28 = einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp27 tmp23 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp22 , ( 2 , 4 , 5 , 1 ), ( 3 , 4 , 0 , 5 )) del tmp22 tmp25 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp24 , ( 3 , 4 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) del tmp24 tmp9 = np . copy ( np . transpose ( tmp5 , ( 1 , 0 , 3 , 2 ))) * 2 tmp9 += tmp8 del tmp8 tmp21 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp17 = np . copy ( np . transpose ( tmp15 , ( 1 , 0 , 2 , 3 ))) del tmp15 tmp17 += np . transpose ( tmp16 , ( 0 , 1 , 3 , 2 )) del tmp16 tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp12 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 1 , 0 , 4 , 5 ), ( 4 , 5 , 3 , 2 )) tmp11 = einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp10 rdm2 . vvvv = np . copy ( np . transpose ( tmp29 , ( 1 , 0 , 2 , 3 ))) * - 2 rdm2 . vvvv += np . transpose ( tmp29 , ( 1 , 0 , 3 , 2 )) * 4 del tmp29 rdm2 . vvoo = np . copy ( np . transpose ( l2 , ( 0 , 1 , 3 , 2 ))) * - 2 rdm2 . vvoo += l2 * 4 rdm2 . vovo = np . copy ( np . transpose ( tmp4 , ( 3 , 0 , 2 , 1 ))) * - 2 rdm2 . vovo += np . transpose ( tmp28 , ( 3 , 0 , 2 , 1 )) * - 2 del tmp28 rdm2 . vovo += einsum ( delta . oo , ( 0 , 1 ), tmp26 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * 4 rdm2 . vovo += np . transpose ( tmp20 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . voov = np . copy ( np . transpose ( tmp25 , ( 2 , 1 , 0 , 3 ))) * 2 rdm2 . voov += np . transpose ( tmp23 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . voov += einsum ( delta . oo , ( 0 , 1 ), tmp26 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * - 2 del tmp26 rdm2 . voov += np . transpose ( tmp18 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . voov += np . transpose ( tmp4 , ( 3 , 0 , 1 , 2 )) * 2 rdm2 . ovvo = np . copy ( np . transpose ( tmp4 , ( 0 , 3 , 2 , 1 ))) * 4 del tmp4 rdm2 . ovvo += np . transpose ( tmp7 , ( 0 , 3 , 2 , 1 )) * - 2 del tmp7 rdm2 . ovvo += einsum ( tmp14 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * - 4 rdm2 . ovvo += np . transpose ( tmp18 , ( 1 , 2 , 3 , 0 )) * - 2 del tmp18 rdm2 . ovov = np . copy ( np . transpose ( tmp23 , ( 1 , 2 , 0 , 3 ))) * 2 del tmp23 rdm2 . ovov += np . transpose ( tmp25 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp25 rdm2 . ovov += einsum ( tmp14 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * 8 del tmp14 rdm2 . ovov += np . transpose ( tmp20 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp20 rdm2 . oovv = np . copy ( tmp9 ) * 2 rdm2 . oovv += np . transpose ( tmp9 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp9 rdm2 . oovv += tmp11 * - 4 rdm2 . oovv += np . transpose ( tmp11 , ( 0 , 1 , 3 , 2 )) * 2 rdm2 . oovv += np . transpose ( tmp11 , ( 1 , 0 , 2 , 3 )) * 2 rdm2 . oovv += np . transpose ( tmp11 , ( 1 , 0 , 3 , 2 )) * - 4 del tmp11 rdm2 . oovv += tmp12 * 4 rdm2 . oovv += np . transpose ( tmp12 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp12 rdm2 . oovv += tmp17 * - 4 rdm2 . oovv += np . transpose ( tmp17 , ( 0 , 1 , 3 , 2 )) * 2 rdm2 . oovv += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * 2 rdm2 . oovv += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) * - 4 del tmp17 rdm2 . oovv += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . oovv += t2 * 4 rdm2 . oovv += tmp19 * 2 del tmp19 rdm2 . oovv += np . transpose ( tmp21 , ( 0 , 1 , 3 , 2 )) * 2 del tmp21 rdm2 . oovv += np . transpose ( tmp5 , ( 1 , 0 , 3 , 2 )) * 4 del tmp5 rdm2 . oooo = np . copy ( np . transpose ( tmp0 , ( 2 , 3 , 1 , 0 ))) * - 2 rdm2 . oooo += np . transpose ( tmp0 , ( 3 , 2 , 1 , 0 )) * 4 del tmp0 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 4 rdm2 . oooo += einsum ( tmp2 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * 2 rdm2 . oooo += einsum ( tmp2 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 4 del tmp2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 4 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 del delta 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 = np . transpose ( rdm2 , ( 0 , 2 , 1 , 3 )) return rdm2 ebcc . codegen . RCCD . hbar_matvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:28.097116. Parameters f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp14 : array tmp15 : array tmp17 : array tmp18 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp24 : array tmp26 : array tmp27 : array tmp28 : array tmp29 : array tmp30 : array tmp32 : array tmp38 : array tmp39 : array tmp4 : array tmp6 : array tmp8 : array Source code in ebcc/codegen/RCCD.py 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 def hbar_matvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:28.097116. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp14 : array tmp15 : array tmp17 : array tmp18 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp24 : array tmp26 : array tmp27 : array tmp28 : array tmp29 : array tmp30 : array tmp32 : array tmp38 : array tmp39 : array tmp4 : array tmp6 : array tmp8 : array \"\"\" tmp39 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp38 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 1 ), ( 4 , 2 )) tmp32 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 2 , 1 , 4 ), ( 3 , 4 )) tmp30 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 2 ), ( 3 , 4 )) tmp29 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) tmp28 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 0 , 2 ), ( 4 , 3 )) tmp27 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 )) tmp26 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp24 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp23 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) tmp22 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp21 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp20 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 1 , 5 )) tmp18 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp17 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp15 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp8 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp6 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp2 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) return { f \"tmp14\" : tmp14 , f \"tmp15\" : tmp15 , f \"tmp17\" : tmp17 , f \"tmp18\" : tmp18 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp23\" : tmp23 , f \"tmp24\" : tmp24 , f \"tmp26\" : tmp26 , f \"tmp27\" : tmp27 , f \"tmp28\" : tmp28 , f \"tmp29\" : tmp29 , f \"tmp30\" : tmp30 , f \"tmp32\" : tmp32 , f \"tmp38\" : tmp38 , f \"tmp39\" : tmp39 , f \"tmp4\" : tmp4 , f \"tmp6\" : tmp6 , f \"tmp8\" : tmp8 } ebcc . codegen . RCCD . hbar_matvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:28.108116. Parameters f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RCCD.py 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 def hbar_matvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:28.108116. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp7 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) tmp7 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp10 = np . copy ( f . ov ) tmp10 += ints . tmp15 * 2 del ints . tmp15 tmp10 += ints . tmp27 del ints . tmp27 tmp10 += ints . tmp38 * 2 del ints . tmp38 tmp10 += ints . tmp14 * - 1 del ints . tmp14 tmp10 += ints . tmp28 * - 2 del ints . tmp28 tmp10 += ints . tmp39 * - 1 del ints . tmp39 tmp5 = np . copy ( ints . tmp21 ) del ints . tmp21 tmp5 += v . oovv * - 1 tmp9 = np . copy ( ints . tmp18 ) * 2 del ints . tmp18 tmp9 += np . transpose ( ints . tmp26 , ( 1 , 2 , 0 , 3 )) del ints . tmp26 tmp9 += np . transpose ( ints . tmp6 , ( 1 , 0 , 2 , 3 )) del ints . tmp6 tmp9 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) tmp9 += ints . tmp17 * - 1 del ints . tmp17 tmp9 += ints . tmp20 * - 1 del ints . tmp20 tmp9 += np . transpose ( ints . tmp29 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp29 tmp8 = einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 3 ), ( 2 ,)) del tmp7 tmp6 = np . copy ( f . vv ) tmp6 += np . transpose ( ints . tmp30 , ( 1 , 0 )) del ints . tmp30 tmp6 += np . transpose ( ints . tmp32 , ( 1 , 0 )) * - 2 del ints . tmp32 tmp3 = np . copy ( r2 ) * - 0.5 tmp3 += np . transpose ( r2 , ( 1 , 0 , 2 )) tmp4 = np . copy ( ints . tmp24 ) * 2 del ints . tmp24 tmp4 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp4 += ints . tmp22 * - 1 del ints . tmp22 tmp4 += ints . tmp23 * - 1 del ints . tmp23 tmp2 = np . copy ( f . oo ) tmp2 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * 2 del ints . tmp4 tmp2 += np . transpose ( ints . tmp2 , ( 1 , 0 )) * - 1 del ints . tmp2 tmp1 = np . copy ( r2 ) * 2 tmp1 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 1 tmp0 = np . copy ( v . ooov ) * - 0.5 tmp0 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) r2new = einsum ( r2 , ( 0 , 1 , 2 ), v . oooo , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) r2new += einsum ( ints . tmp8 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 2 , 4 ), ( 1 , 0 , 4 )) del ints . tmp8 r2new += einsum ( tmp3 , ( 0 , 1 , 2 ), tmp4 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) * 2 del tmp3 , tmp4 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp5 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) r2new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) del tmp5 r2new += einsum ( tmp6 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) del tmp6 r2new += einsum ( tmp8 , ( 0 ,), t2 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * - 2 del tmp8 r2new += einsum ( r1 , ( 0 ,), tmp9 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp9 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp2 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new += einsum ( tmp2 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new += einsum ( r1 , ( 0 ,), tmp10 , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 del tmp10 r1new = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 2 , 3 ), ( 1 ,)) * 2 del tmp0 r1new += einsum ( f . ov , ( 0 , 1 ), tmp1 , ( 0 , 2 , 1 ), ( 2 ,)) * - 1 del tmp1 r1new += einsum ( r1 , ( 0 ,), tmp2 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp2 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . RCCD . hbar_matvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:33.396193. Parameters f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp11 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp24 : array tmp26 : array tmp27 : array tmp28 : array tmp29 : array tmp30 : array tmp33 : array tmp34 : array tmp35 : array tmp37 : array tmp38 : array tmp4 : array tmp6 : array tmp9 : array Source code in ebcc/codegen/RCCD.py 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 def hbar_matvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:33.396193. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp11 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp24 : array tmp26 : array tmp27 : array tmp28 : array tmp29 : array tmp30 : array tmp33 : array tmp34 : array tmp35 : array tmp37 : array tmp38 : array tmp4 : array tmp6 : array tmp9 : array \"\"\" tmp38 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 0 , 2 ), ( 4 , 3 )) tmp37 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 )) tmp35 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp34 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) tmp33 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp30 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) tmp29 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp28 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp26 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp24 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp22 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) tmp21 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp20 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 1 ), ( 4 , 2 )) tmp11 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 5 ), ( 0 , 5 , 4 , 3 )) tmp9 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp6 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 5 , 1 , 2 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp2 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) return { f \"tmp11\" : tmp11 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp24\" : tmp24 , f \"tmp26\" : tmp26 , f \"tmp27\" : tmp27 , f \"tmp28\" : tmp28 , f \"tmp29\" : tmp29 , f \"tmp30\" : tmp30 , f \"tmp33\" : tmp33 , f \"tmp34\" : tmp34 , f \"tmp35\" : tmp35 , f \"tmp37\" : tmp37 , f \"tmp38\" : tmp38 , f \"tmp4\" : tmp4 , f \"tmp6\" : tmp6 , f \"tmp9\" : tmp9 } ebcc . codegen . RCCD . hbar_matvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:33.407127. Parameters f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RCCD.py 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 def hbar_matvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:33.407127. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp8 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp8 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * 2 tmp10 = np . copy ( f . oo ) tmp10 += np . transpose ( ints . tmp24 , ( 1 , 0 )) * 2 del ints . tmp24 tmp10 += np . transpose ( ints . tmp22 , ( 1 , 0 )) * - 1 del ints . tmp22 tmp5 = np . copy ( ints . tmp35 ) * 2 del ints . tmp35 tmp5 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp5 += ints . tmp33 * - 1 del ints . tmp33 tmp5 += ints . tmp34 * - 1 del ints . tmp34 tmp7 = np . copy ( ints . tmp11 ) del ints . tmp11 tmp7 += ints . tmp28 * 2 del ints . tmp28 tmp7 += v . ovvv tmp7 += np . transpose ( ints . tmp29 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp29 tmp7 += ints . tmp30 * - 1 del ints . tmp30 tmp7 += np . transpose ( ints . tmp6 , ( 0 , 3 , 1 , 2 )) * - 1 del ints . tmp6 tmp9 = einsum ( f . ov , ( 0 , 1 ), r1 , ( 1 ,), ( 0 ,)) tmp9 += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 0 ), ( 1 ,)) * - 1 del tmp8 tmp6 = np . copy ( ints . tmp9 ) del ints . tmp9 tmp6 += v . oovv * - 1 tmp11 = np . copy ( f . ov ) tmp11 += ints . tmp20 * 2 del ints . tmp20 tmp11 += ints . tmp27 * 2 del ints . tmp27 tmp11 += ints . tmp37 del ints . tmp37 tmp11 += ints . tmp21 * - 1 del ints . tmp21 tmp11 += ints . tmp26 * - 1 del ints . tmp26 tmp11 += ints . tmp38 * - 2 del ints . tmp38 tmp3 = einsum ( r2 , ( 0 , 1 , 2 ), v . ovov , ( 3 , 0 , 4 , 1 ), ( 2 , 3 , 4 )) tmp4 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp4 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 0.5 tmp2 = np . copy ( f . vv ) tmp2 += np . transpose ( ints . tmp2 , ( 1 , 0 )) del ints . tmp2 tmp2 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * - 2 del ints . tmp4 tmp1 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 1 tmp1 += np . transpose ( r2 , ( 2 , 1 , 0 )) * 2 tmp0 = np . copy ( v . ovvv ) * 2 tmp0 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 r2new = einsum ( r2 , ( 0 , 1 , 2 ), v . vvvv , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) r2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 4 , 1 , 0 ), ( 3 , 2 , 4 )) del tmp3 r2new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 3 , 4 ), ( 2 , 4 , 0 )) * 2 del tmp5 , tmp4 r2new += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp6 , ( 3 , 2 , 4 , 0 ), ( 4 , 1 , 3 )) del tmp6 r2new += einsum ( r1 , ( 0 ,), tmp7 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp7 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp2 , ( 0 , 3 ), ( 3 , 1 , 2 )) r2new += einsum ( tmp2 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) r2new += einsum ( tmp9 , ( 0 ,), t2 , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) del tmp9 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp10 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp10 r2new += einsum ( tmp11 , ( 0 , 1 ), r1 , ( 2 ,), ( 1 , 2 , 0 )) * - 1 del tmp11 r1new = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 2 , 0 ), ( 3 ,)) * - 1 del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 , 2 ), f . ov , ( 0 , 2 ), ( 1 ,)) * - 1 del tmp1 r1new += einsum ( tmp2 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) del tmp2 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . RCCD . hbar_lmatvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:41.161446. Parameters f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp1 : array tmp10 : array tmp12 : array tmp15 : array tmp18 : array tmp19 : array tmp21 : array tmp22 : array tmp24 : array tmp27 : array tmp3 : array tmp30 : array tmp33 : array tmp34 : array tmp36 : array tmp37 : array tmp49 : array tmp51 : array tmp53 : array tmp8 : array Source code in ebcc/codegen/RCCD.py 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 def hbar_lmatvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:41.161446. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp10 : array tmp12 : array tmp15 : array tmp18 : array tmp19 : array tmp21 : array tmp22 : array tmp24 : array tmp27 : array tmp3 : array tmp30 : array tmp33 : array tmp34 : array tmp36 : array tmp37 : array tmp49 : array tmp51 : array tmp53 : array tmp8 : array \"\"\" tmp53 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 2 , 1 , 4 ), ( 3 , 4 )) tmp51 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) tmp49 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp37 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp36 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 5 , 1 )) tmp34 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp33 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp30 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp27 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp24 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 1 ), ( 4 , 2 )) tmp22 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp21 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 1 , 5 )) tmp19 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp18 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) tmp15 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 0 , 2 ), ( 4 , 3 )) tmp12 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp10 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp8 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp1 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp12\" : tmp12 , f \"tmp15\" : tmp15 , f \"tmp18\" : tmp18 , f \"tmp19\" : tmp19 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp24\" : tmp24 , f \"tmp27\" : tmp27 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp33\" : tmp33 , f \"tmp34\" : tmp34 , f \"tmp36\" : tmp36 , f \"tmp37\" : tmp37 , f \"tmp49\" : tmp49 , f \"tmp51\" : tmp51 , f \"tmp53\" : tmp53 , f \"tmp8\" : tmp8 } ebcc . codegen . RCCD . hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:41.173351. Parameters f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RCCD.py 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:41.173351. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 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 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp10 += t2 * - 0.5 tmp5 = np . copy ( r2 ) * - 0.5 tmp5 += np . transpose ( r2 , ( 1 , 0 , 2 )) tmp7 = np . copy ( ints . tmp33 ) del ints . tmp33 tmp7 += v . oovv * - 1 tmp9 = np . copy ( f . vv ) tmp9 += ints . tmp51 del ints . tmp51 tmp9 += ints . tmp53 * - 2 del ints . tmp53 tmp8 = np . copy ( ints . tmp49 ) del ints . tmp49 tmp8 += np . transpose ( v . oooo , ( 0 , 2 , 1 , 3 )) tmp6 = np . copy ( ints . tmp37 ) * 2 del ints . tmp37 tmp6 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp6 += ints . tmp34 * - 1 del ints . tmp34 tmp6 += ints . tmp36 * - 1 del ints . tmp36 tmp11 = einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 3 ), ( 2 ,)) del tmp10 tmp4 = np . copy ( f . oo ) tmp4 += ints . tmp10 * 2 del ints . tmp10 tmp4 += ints . tmp8 * - 1 del ints . tmp8 tmp1 = np . copy ( ints . tmp18 ) tmp1 += np . transpose ( ints . tmp22 , ( 0 , 2 , 1 , 3 )) tmp1 += np . transpose ( ints . tmp3 , ( 1 , 2 , 0 , 3 )) * 0.5 tmp1 += ints . tmp19 * - 0.5 tmp1 += np . transpose ( ints . tmp21 , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp1 += ints . tmp30 * - 1 tmp0 = np . copy ( ints . tmp18 ) del ints . tmp18 tmp0 += np . transpose ( ints . tmp22 , ( 0 , 2 , 1 , 3 )) * 4 del ints . tmp22 tmp0 += np . transpose ( ints . tmp3 , ( 1 , 2 , 0 , 3 )) * 2 del ints . tmp3 tmp0 += ints . tmp19 * - 2 del ints . tmp19 tmp0 += np . transpose ( ints . tmp21 , ( 0 , 2 , 1 , 3 )) * - 2 del ints . tmp21 tmp0 += ints . tmp30 * - 1 del ints . tmp30 tmp0 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp0 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * 2 tmp3 = np . copy ( r2 ) * 2 tmp3 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 1 tmp2 = np . copy ( f . ov ) * 0.5 tmp2 += ints . tmp12 * 0.5 del ints . tmp12 tmp2 += ints . tmp1 del ints . tmp1 tmp2 += ints . tmp24 del ints . tmp24 tmp2 += ints . tmp0 * - 0.5 del ints . tmp0 tmp2 += ints . tmp15 * - 1 del ints . tmp15 tmp2 += ints . tmp27 * - 0.5 del ints . tmp27 r2new = einsum ( r1 , ( 0 ,), v . ovoo , ( 1 , 2 , 3 , 0 ), ( 1 , 3 , 2 )) r2new += einsum ( r1 , ( 0 ,), f . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 r2new += einsum ( tmp5 , ( 0 , 1 , 2 ), tmp6 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) * 2 del tmp5 , tmp6 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp7 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp7 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) del tmp7 r2new += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 4 ), ( 2 , 3 , 4 )) del tmp8 r2new += einsum ( tmp9 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) del tmp9 r2new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp11 , ( 3 ,), ( 0 , 2 , 1 )) * - 2 del tmp11 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp4 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new += einsum ( tmp4 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r1new = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 3 ), ( 2 ,)) del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 0 , 3 ), ( 2 ,)) * - 2 del tmp1 r1new += einsum ( tmp3 , ( 0 , 1 , 2 ), tmp2 , ( 0 , 2 ), ( 1 ,)) * - 2 del tmp3 , tmp2 r1new += einsum ( r1 , ( 0 ,), tmp4 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . RCCD . hbar_lmatvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:49.340062. Parameters f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp1 : array tmp11 : array tmp13 : array tmp16 : array tmp19 : array tmp22 : array tmp25 : array tmp28 : array tmp30 : array tmp33 : array tmp35 : array tmp37 : array tmp39 : array tmp41 : array tmp42 : array tmp44 : array tmp45 : array tmp9 : array Source code in ebcc/codegen/RCCD.py 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 def hbar_lmatvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:49.340062. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp11 : array tmp13 : array tmp16 : array tmp19 : array tmp22 : array tmp25 : array tmp28 : array tmp30 : array tmp33 : array tmp35 : array tmp37 : array tmp39 : array tmp41 : array tmp42 : array tmp44 : array tmp45 : array tmp9 : array \"\"\" tmp45 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp44 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 5 , 1 )) tmp42 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp41 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp39 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp37 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) tmp35 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp33 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 5 , 1 , 2 )) tmp30 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp28 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) tmp25 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp22 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 1 ), ( 4 , 2 )) tmp19 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 5 ), ( 0 , 5 , 4 , 3 )) tmp16 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 0 , 2 ), ( 4 , 3 )) tmp13 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp11 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp9 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 2 ), ( 3 , 4 )) tmp1 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp11\" : tmp11 , f \"tmp13\" : tmp13 , f \"tmp16\" : tmp16 , f \"tmp19\" : tmp19 , f \"tmp22\" : tmp22 , f \"tmp25\" : tmp25 , f \"tmp28\" : tmp28 , f \"tmp30\" : tmp30 , f \"tmp33\" : tmp33 , f \"tmp35\" : tmp35 , f \"tmp37\" : tmp37 , f \"tmp39\" : tmp39 , f \"tmp41\" : tmp41 , f \"tmp42\" : tmp42 , f \"tmp44\" : tmp44 , f \"tmp45\" : tmp45 , f \"tmp9\" : tmp9 } ebcc . codegen . RCCD . hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:49.350979. Parameters f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RCCD.py 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:49.350979. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp6 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp6 += t2 * - 0.5 tmp10 = np . copy ( ints . tmp45 ) * 2 del ints . tmp45 tmp10 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp10 += ints . tmp42 * - 1 del ints . tmp42 tmp10 += ints . tmp44 * - 1 del ints . tmp44 tmp5 = np . copy ( f . vv ) tmp5 += ints . tmp9 del ints . tmp9 tmp5 += ints . tmp11 * - 2 del ints . tmp11 tmp9 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp9 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 0.5 tmp8 = einsum ( r2 , ( 0 , 1 , 2 ), t2 , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp13 = einsum ( r2 , ( 0 , 1 , 2 ), tmp6 , ( 2 , 3 , 1 , 0 ), ( 3 ,)) tmp12 = np . copy ( f . oo ) tmp12 += ints . tmp39 * 2 del ints . tmp39 tmp12 += ints . tmp37 * - 1 del ints . tmp37 tmp11 = np . copy ( ints . tmp41 ) del ints . tmp41 tmp11 += v . oovv * - 1 tmp1 = np . copy ( ints . tmp19 ) del ints . tmp19 tmp1 += np . transpose ( ints . tmp30 , ( 0 , 1 , 3 , 2 )) * 2 del ints . tmp30 tmp1 += np . transpose ( ints . tmp28 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp28 tmp1 += np . transpose ( ints . tmp35 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp35 tmp7 = einsum ( r2 , ( 0 , 1 , 2 ), tmp6 , ( 2 , 3 , 1 , 0 ), ( 3 ,)) * 2 del tmp6 tmp0 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * 2 tmp0 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 1 tmp3 = np . copy ( f . ov ) * 0.5 tmp3 += ints . tmp13 * 0.5 del ints . tmp13 tmp3 += ints . tmp1 del ints . tmp1 tmp3 += ints . tmp22 del ints . tmp22 tmp3 += ints . tmp0 * - 0.5 del ints . tmp0 tmp3 += ints . tmp16 * - 1 del ints . tmp16 tmp3 += ints . tmp25 * - 0.5 del ints . tmp25 tmp4 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 1 tmp4 += np . transpose ( r2 , ( 2 , 1 , 0 )) * 2 tmp2 = np . copy ( ints . tmp33 ) tmp2 += v . ovvv * 2 tmp2 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) * - 1 r2new = einsum ( r2 , ( 0 , 1 , 2 ), v . vvvv , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) r2new += einsum ( f . ov , ( 0 , 1 ), r1 , ( 2 ,), ( 1 , 2 , 0 )) * - 1 r2new += einsum ( tmp8 , ( 0 , 1 , 2 ), v . ovov , ( 2 , 3 , 1 , 4 ), ( 4 , 3 , 0 )) del tmp8 r2new += einsum ( r1 , ( 0 ,), v . ovvv , ( 1 , 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new += einsum ( tmp9 , ( 0 , 1 , 2 ), tmp10 , ( 0 , 3 , 1 , 4 ), ( 4 , 2 , 3 )) * 2 del tmp9 , tmp10 r2new += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp11 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 , 3 )) del tmp11 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp5 , ( 0 , 3 ), ( 3 , 1 , 2 )) r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp5 , ( 1 , 3 ), ( 0 , 3 , 2 )) r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp12 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp12 r2new += einsum ( tmp13 , ( 0 ,), v . ovov , ( 1 , 2 , 0 , 3 ), ( 2 , 3 , 1 )) * - 2 del tmp13 r1new = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp33 , ( 2 , 1 , 3 , 0 ), ( 3 ,)) * 2 del ints . tmp33 r1new += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 0 , 1 , 2 ), ( 3 ,)) * - 1 del tmp1 , tmp0 r1new += einsum ( r2 , ( 0 , 1 , 2 ), tmp2 , ( 2 , 0 , 3 , 1 ), ( 3 ,)) * - 1 del tmp2 r1new += einsum ( tmp4 , ( 0 , 1 , 2 ), tmp3 , ( 0 , 2 ), ( 1 ,)) * - 2 del tmp4 , tmp3 r1new += einsum ( tmp5 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) del tmp5 r1new += einsum ( f . ov , ( 0 , 1 ), tmp7 , ( 0 ,), ( 1 ,)) del tmp7 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"RCCD"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.energy","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:06.214643.","title":"energy"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.energy--parameters","text":"t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/RCCD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:06.214643. 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 ), ()) * 2 e_cc += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 3 , 1 ), ()) * - 1 return e_cc","title":"Returns"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:08.356370.","title":"update_amps"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.update_amps--parameters","text":"f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.update_amps--returns","text":"t2new : array Updated T2 residuals. Source code in ebcc/codegen/RCCD.py 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 def update_amps ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:08.356370. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- t2new : array Updated T2 residuals. \"\"\" tmp8 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) tmp8 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp5 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 0.5 tmp5 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp2 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * 2 tmp2 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp9 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 3 ), ( 4 , 1 )) * 2 del tmp8 tmp6 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) del tmp5 tmp3 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp2 tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) tmp10 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 4 , 1 ), ( 0 , 4 , 3 , 2 )) del tmp9 tmp7 = einsum ( tmp6 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 2 , 3 , 4 , 0 )) * 2 del tmp6 tmp1 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp13 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp13 += v . oovv * - 1 tmp13 += tmp3 * 2 tmp12 = einsum ( f . vv , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp15 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * - 1 tmp15 += tmp0 tmp16 = np . copy ( v . oovv ) * - 1 tmp16 += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp14 = np . copy ( v . oooo ) tmp14 += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp11 = np . copy ( np . transpose ( tmp7 , ( 1 , 0 , 2 , 3 ))) del tmp7 tmp11 += np . transpose ( tmp10 , ( 0 , 1 , 3 , 2 )) del tmp10 tmp4 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp3 t2new = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) t2new += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) t2new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * - 1 t2new += np . transpose ( tmp0 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp0 t2new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) * - 1 t2new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) * 2 t2new += np . transpose ( tmp1 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp1 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp1 t2new += np . transpose ( tmp4 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp4 * - 1 del tmp4 t2new += tmp11 * - 1 t2new += np . transpose ( tmp11 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp11 t2new += np . transpose ( tmp12 , ( 0 , 1 , 3 , 2 )) t2new += np . transpose ( tmp12 , ( 1 , 0 , 2 , 3 )) del tmp12 t2new += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp13 t2new += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 4 , 5 )) del tmp14 t2new += einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp15 t2new += einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 5 , 2 )) del tmp16 return { f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.update_lams","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:11.877391.","title":"update_lams"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.update_lams--parameters","text":"f : array Fock matrix. l2 : array L2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.update_lams--returns","text":"l2new : array Updated L2 residuals. Source code in ebcc/codegen/RCCD.py 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 def update_lams ( f = None , l2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:11.877391. Parameters ---------- f : array Fock matrix. l2 : array L2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- l2new : array Updated L2 residuals. \"\"\" tmp5 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp5 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp15 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp10 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 3 , 4 , 0 , 5 )) tmp6 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) del tmp5 tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 5 , 1 ), ( 5 , 0 , 4 , 3 )) tmp26 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp26 += t2 tmp29 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp29 += t2 * - 0.5 tmp19 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp19 += t2 * - 1 tmp22 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp22 += t2 * 2 tmp16 = np . copy ( v . oovv ) * - 1 tmp16 += tmp15 del tmp15 tmp11 = np . copy ( tmp10 ) del tmp10 tmp11 += np . transpose ( l2 , ( 3 , 2 , 0 , 1 )) * - 1 tmp11 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp8 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * 2 tmp8 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp7 = np . copy ( tmp4 ) del tmp4 tmp7 += np . transpose ( tmp6 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp6 tmp27 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp26 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) * 2 del tmp26 tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 0 , 4 ), ( 4 , 1 )) * 2 del tmp29 tmp20 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp19 , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * 0.5 del tmp19 tmp23 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp22 , ( 2 , 4 , 3 , 1 ), ( 0 , 4 )) del tmp22 tmp14 = einsum ( f . vv , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp17 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 2 , 4 , 1 , 5 ), ( 3 , 4 , 0 , 5 )) del tmp16 tmp3 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp12 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp11 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) del tmp11 tmp9 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp8 , tmp7 tmp28 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp27 , ( 4 , 1 ), ( 0 , 2 , 3 , 4 )) del tmp27 tmp31 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp30 , ( 4 , 2 ), ( 0 , 4 , 3 , 1 )) del tmp30 tmp21 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 4 , 1 ), ( 3 , 2 , 0 , 4 )) * 2 del tmp20 tmp24 = einsum ( tmp23 , ( 0 , 1 ), l2 , ( 2 , 3 , 1 , 4 ), ( 4 , 0 , 2 , 3 )) del tmp23 tmp1 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp18 = np . copy ( tmp14 ) del tmp14 tmp18 += tmp17 del tmp17 tmp13 = np . copy ( tmp3 ) del tmp3 tmp13 += tmp9 del tmp9 tmp13 += np . transpose ( tmp12 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp12 tmp32 = np . copy ( np . transpose ( tmp28 , ( 1 , 0 , 3 , 2 ))) del tmp28 tmp32 += np . transpose ( tmp31 , ( 1 , 0 , 3 , 2 )) del tmp31 tmp0 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp25 = np . copy ( np . transpose ( tmp21 , ( 1 , 0 , 2 , 3 ))) del tmp21 tmp25 += np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 )) del tmp24 tmp2 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), f . oo , ( 4 , 3 ), ( 4 , 2 , 0 , 1 )) l2new = einsum ( l2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 1 , 5 , 0 ), ( 4 , 5 , 3 , 2 )) l2new += np . transpose ( v . ovov , ( 1 , 3 , 0 , 2 )) l2new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 3 , 2 , 4 , 5 ), ( 0 , 1 , 5 , 4 )) del tmp0 l2new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 5 , 0 , 2 ), ( 1 , 3 , 4 , 5 )) del tmp1 l2new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), v . oooo , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) l2new += np . transpose ( tmp2 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp2 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp2 l2new += np . transpose ( tmp13 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp13 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp13 l2new += np . transpose ( tmp18 , ( 3 , 2 , 0 , 1 )) l2new += np . transpose ( tmp18 , ( 2 , 3 , 1 , 0 )) del tmp18 l2new += np . transpose ( tmp25 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp25 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp25 l2new += np . transpose ( tmp32 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp32 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp32 return { f \"l2new\" : l2new }","title":"Returns"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.make_rdm1_f","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:12.171694.","title":"make_rdm1_f"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.make_rdm1_f--parameters","text":"l2 : array L2 amplitudes. t2 : array T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.make_rdm1_f--returns","text":"rdm1 : array One-particle reduced density matrix. Source code in ebcc/codegen/RCCD.py 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 def make_rdm1_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:12.171694. 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 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp0 += t2 * - 0.5 rdm1 . vv = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 3 , 2 , 4 , 1 ), ( 0 , 4 )) * 4 rdm1 . oo = np . copy ( delta . oo ) * 2 del delta rdm1 . oo += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 2 , 4 , 1 , 0 ), ( 4 , 3 )) * - 4 del tmp0 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","title":"Returns"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.make_rdm2_f","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:22.905206.","title":"make_rdm2_f"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.make_rdm2_f--parameters","text":"l2 : array L2 amplitudes. t2 : array T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.make_rdm2_f--returns","text":"rdm2 : array Two-particle reduced density matrix. Source code in ebcc/codegen/RCCD.py 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 def make_rdm2_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:22.905206. 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 ]), ) tmp6 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp6 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) tmp3 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp3 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp1 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp1 += t2 tmp13 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp13 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp6 tmp4 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp2 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 )) * 2 del tmp1 tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp13 , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) * 0.5 tmp27 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) tmp27 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp22 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp22 += t2 * - 1 tmp24 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp24 += t2 * - 1 tmp8 = einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) tmp5 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp20 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 3 , 4 , 0 , 5 )) tmp16 = einsum ( tmp2 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 4 , 3 )) tmp15 = einsum ( tmp14 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 2 , 3 , 4 , 0 )) * 2 tmp18 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 5 , 1 ), ( 5 , 0 , 4 , 3 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp10 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp3 tmp29 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 1 , 0 ), ( 4 , 5 , 3 , 2 )) tmp26 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp13 , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) del tmp13 tmp28 = einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp27 tmp23 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp22 , ( 2 , 4 , 5 , 1 ), ( 3 , 4 , 0 , 5 )) del tmp22 tmp25 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp24 , ( 3 , 4 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) del tmp24 tmp9 = np . copy ( np . transpose ( tmp5 , ( 1 , 0 , 3 , 2 ))) * 2 tmp9 += tmp8 del tmp8 tmp21 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp17 = np . copy ( np . transpose ( tmp15 , ( 1 , 0 , 2 , 3 ))) del tmp15 tmp17 += np . transpose ( tmp16 , ( 0 , 1 , 3 , 2 )) del tmp16 tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp12 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 1 , 0 , 4 , 5 ), ( 4 , 5 , 3 , 2 )) tmp11 = einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp10 rdm2 . vvvv = np . copy ( np . transpose ( tmp29 , ( 1 , 0 , 2 , 3 ))) * - 2 rdm2 . vvvv += np . transpose ( tmp29 , ( 1 , 0 , 3 , 2 )) * 4 del tmp29 rdm2 . vvoo = np . copy ( np . transpose ( l2 , ( 0 , 1 , 3 , 2 ))) * - 2 rdm2 . vvoo += l2 * 4 rdm2 . vovo = np . copy ( np . transpose ( tmp4 , ( 3 , 0 , 2 , 1 ))) * - 2 rdm2 . vovo += np . transpose ( tmp28 , ( 3 , 0 , 2 , 1 )) * - 2 del tmp28 rdm2 . vovo += einsum ( delta . oo , ( 0 , 1 ), tmp26 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * 4 rdm2 . vovo += np . transpose ( tmp20 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . voov = np . copy ( np . transpose ( tmp25 , ( 2 , 1 , 0 , 3 ))) * 2 rdm2 . voov += np . transpose ( tmp23 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . voov += einsum ( delta . oo , ( 0 , 1 ), tmp26 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * - 2 del tmp26 rdm2 . voov += np . transpose ( tmp18 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . voov += np . transpose ( tmp4 , ( 3 , 0 , 1 , 2 )) * 2 rdm2 . ovvo = np . copy ( np . transpose ( tmp4 , ( 0 , 3 , 2 , 1 ))) * 4 del tmp4 rdm2 . ovvo += np . transpose ( tmp7 , ( 0 , 3 , 2 , 1 )) * - 2 del tmp7 rdm2 . ovvo += einsum ( tmp14 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * - 4 rdm2 . ovvo += np . transpose ( tmp18 , ( 1 , 2 , 3 , 0 )) * - 2 del tmp18 rdm2 . ovov = np . copy ( np . transpose ( tmp23 , ( 1 , 2 , 0 , 3 ))) * 2 del tmp23 rdm2 . ovov += np . transpose ( tmp25 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp25 rdm2 . ovov += einsum ( tmp14 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * 8 del tmp14 rdm2 . ovov += np . transpose ( tmp20 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp20 rdm2 . oovv = np . copy ( tmp9 ) * 2 rdm2 . oovv += np . transpose ( tmp9 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp9 rdm2 . oovv += tmp11 * - 4 rdm2 . oovv += np . transpose ( tmp11 , ( 0 , 1 , 3 , 2 )) * 2 rdm2 . oovv += np . transpose ( tmp11 , ( 1 , 0 , 2 , 3 )) * 2 rdm2 . oovv += np . transpose ( tmp11 , ( 1 , 0 , 3 , 2 )) * - 4 del tmp11 rdm2 . oovv += tmp12 * 4 rdm2 . oovv += np . transpose ( tmp12 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp12 rdm2 . oovv += tmp17 * - 4 rdm2 . oovv += np . transpose ( tmp17 , ( 0 , 1 , 3 , 2 )) * 2 rdm2 . oovv += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * 2 rdm2 . oovv += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) * - 4 del tmp17 rdm2 . oovv += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . oovv += t2 * 4 rdm2 . oovv += tmp19 * 2 del tmp19 rdm2 . oovv += np . transpose ( tmp21 , ( 0 , 1 , 3 , 2 )) * 2 del tmp21 rdm2 . oovv += np . transpose ( tmp5 , ( 1 , 0 , 3 , 2 )) * 4 del tmp5 rdm2 . oooo = np . copy ( np . transpose ( tmp0 , ( 2 , 3 , 1 , 0 ))) * - 2 rdm2 . oooo += np . transpose ( tmp0 , ( 3 , 2 , 1 , 0 )) * 4 del tmp0 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 4 rdm2 . oooo += einsum ( tmp2 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * 2 rdm2 . oooo += einsum ( tmp2 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 4 del tmp2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 4 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 del delta 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 = np . transpose ( rdm2 , ( 0 , 2 , 1 , 3 )) return rdm2","title":"Returns"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.hbar_matvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:28.097116.","title":"hbar_matvec_ip_intermediates"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.hbar_matvec_ip_intermediates--parameters","text":"f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.hbar_matvec_ip_intermediates--returns","text":"tmp14 : array tmp15 : array tmp17 : array tmp18 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp24 : array tmp26 : array tmp27 : array tmp28 : array tmp29 : array tmp30 : array tmp32 : array tmp38 : array tmp39 : array tmp4 : array tmp6 : array tmp8 : array Source code in ebcc/codegen/RCCD.py 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 def hbar_matvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:28.097116. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp14 : array tmp15 : array tmp17 : array tmp18 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp23 : array tmp24 : array tmp26 : array tmp27 : array tmp28 : array tmp29 : array tmp30 : array tmp32 : array tmp38 : array tmp39 : array tmp4 : array tmp6 : array tmp8 : array \"\"\" tmp39 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp38 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 1 ), ( 4 , 2 )) tmp32 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 2 , 1 , 4 ), ( 3 , 4 )) tmp30 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 2 ), ( 3 , 4 )) tmp29 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) tmp28 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 0 , 2 ), ( 4 , 3 )) tmp27 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 )) tmp26 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp24 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp23 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) tmp22 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp21 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp20 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 1 , 5 )) tmp18 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp17 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp15 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp8 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp6 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp2 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) return { f \"tmp14\" : tmp14 , f \"tmp15\" : tmp15 , f \"tmp17\" : tmp17 , f \"tmp18\" : tmp18 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp23\" : tmp23 , f \"tmp24\" : tmp24 , f \"tmp26\" : tmp26 , f \"tmp27\" : tmp27 , f \"tmp28\" : tmp28 , f \"tmp29\" : tmp29 , f \"tmp30\" : tmp30 , f \"tmp32\" : tmp32 , f \"tmp38\" : tmp38 , f \"tmp39\" : tmp39 , f \"tmp4\" : tmp4 , f \"tmp6\" : tmp6 , f \"tmp8\" : tmp8 }","title":"Returns"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.hbar_matvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:28.108116.","title":"hbar_matvec_ip"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.hbar_matvec_ip--parameters","text":"f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.hbar_matvec_ip--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RCCD.py 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 def hbar_matvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:28.108116. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp7 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) tmp7 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp10 = np . copy ( f . ov ) tmp10 += ints . tmp15 * 2 del ints . tmp15 tmp10 += ints . tmp27 del ints . tmp27 tmp10 += ints . tmp38 * 2 del ints . tmp38 tmp10 += ints . tmp14 * - 1 del ints . tmp14 tmp10 += ints . tmp28 * - 2 del ints . tmp28 tmp10 += ints . tmp39 * - 1 del ints . tmp39 tmp5 = np . copy ( ints . tmp21 ) del ints . tmp21 tmp5 += v . oovv * - 1 tmp9 = np . copy ( ints . tmp18 ) * 2 del ints . tmp18 tmp9 += np . transpose ( ints . tmp26 , ( 1 , 2 , 0 , 3 )) del ints . tmp26 tmp9 += np . transpose ( ints . tmp6 , ( 1 , 0 , 2 , 3 )) del ints . tmp6 tmp9 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) tmp9 += ints . tmp17 * - 1 del ints . tmp17 tmp9 += ints . tmp20 * - 1 del ints . tmp20 tmp9 += np . transpose ( ints . tmp29 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp29 tmp8 = einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 3 ), ( 2 ,)) del tmp7 tmp6 = np . copy ( f . vv ) tmp6 += np . transpose ( ints . tmp30 , ( 1 , 0 )) del ints . tmp30 tmp6 += np . transpose ( ints . tmp32 , ( 1 , 0 )) * - 2 del ints . tmp32 tmp3 = np . copy ( r2 ) * - 0.5 tmp3 += np . transpose ( r2 , ( 1 , 0 , 2 )) tmp4 = np . copy ( ints . tmp24 ) * 2 del ints . tmp24 tmp4 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp4 += ints . tmp22 * - 1 del ints . tmp22 tmp4 += ints . tmp23 * - 1 del ints . tmp23 tmp2 = np . copy ( f . oo ) tmp2 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * 2 del ints . tmp4 tmp2 += np . transpose ( ints . tmp2 , ( 1 , 0 )) * - 1 del ints . tmp2 tmp1 = np . copy ( r2 ) * 2 tmp1 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 1 tmp0 = np . copy ( v . ooov ) * - 0.5 tmp0 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) r2new = einsum ( r2 , ( 0 , 1 , 2 ), v . oooo , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) r2new += einsum ( ints . tmp8 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 2 , 4 ), ( 1 , 0 , 4 )) del ints . tmp8 r2new += einsum ( tmp3 , ( 0 , 1 , 2 ), tmp4 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) * 2 del tmp3 , tmp4 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp5 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) r2new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) del tmp5 r2new += einsum ( tmp6 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) del tmp6 r2new += einsum ( tmp8 , ( 0 ,), t2 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * - 2 del tmp8 r2new += einsum ( r1 , ( 0 ,), tmp9 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp9 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp2 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new += einsum ( tmp2 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new += einsum ( r1 , ( 0 ,), tmp10 , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 del tmp10 r1new = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 2 , 3 ), ( 1 ,)) * 2 del tmp0 r1new += einsum ( f . ov , ( 0 , 1 ), tmp1 , ( 0 , 2 , 1 ), ( 2 ,)) * - 1 del tmp1 r1new += einsum ( r1 , ( 0 ,), tmp2 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp2 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.hbar_matvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:33.396193.","title":"hbar_matvec_ea_intermediates"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.hbar_matvec_ea_intermediates--parameters","text":"f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.hbar_matvec_ea_intermediates--returns","text":"tmp11 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp24 : array tmp26 : array tmp27 : array tmp28 : array tmp29 : array tmp30 : array tmp33 : array tmp34 : array tmp35 : array tmp37 : array tmp38 : array tmp4 : array tmp6 : array tmp9 : array Source code in ebcc/codegen/RCCD.py 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 def hbar_matvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:33.396193. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp11 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp24 : array tmp26 : array tmp27 : array tmp28 : array tmp29 : array tmp30 : array tmp33 : array tmp34 : array tmp35 : array tmp37 : array tmp38 : array tmp4 : array tmp6 : array tmp9 : array \"\"\" tmp38 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 0 , 2 ), ( 4 , 3 )) tmp37 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 )) tmp35 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp34 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) tmp33 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp30 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) tmp29 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp28 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp26 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp24 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp22 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) tmp21 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp20 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 1 ), ( 4 , 2 )) tmp11 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 5 ), ( 0 , 5 , 4 , 3 )) tmp9 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp6 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 5 , 1 , 2 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp2 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) return { f \"tmp11\" : tmp11 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp24\" : tmp24 , f \"tmp26\" : tmp26 , f \"tmp27\" : tmp27 , f \"tmp28\" : tmp28 , f \"tmp29\" : tmp29 , f \"tmp30\" : tmp30 , f \"tmp33\" : tmp33 , f \"tmp34\" : tmp34 , f \"tmp35\" : tmp35 , f \"tmp37\" : tmp37 , f \"tmp38\" : tmp38 , f \"tmp4\" : tmp4 , f \"tmp6\" : tmp6 , f \"tmp9\" : tmp9 }","title":"Returns"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.hbar_matvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:33.407127.","title":"hbar_matvec_ea"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.hbar_matvec_ea--parameters","text":"f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.hbar_matvec_ea--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RCCD.py 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 def hbar_matvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:33.407127. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp8 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp8 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * 2 tmp10 = np . copy ( f . oo ) tmp10 += np . transpose ( ints . tmp24 , ( 1 , 0 )) * 2 del ints . tmp24 tmp10 += np . transpose ( ints . tmp22 , ( 1 , 0 )) * - 1 del ints . tmp22 tmp5 = np . copy ( ints . tmp35 ) * 2 del ints . tmp35 tmp5 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp5 += ints . tmp33 * - 1 del ints . tmp33 tmp5 += ints . tmp34 * - 1 del ints . tmp34 tmp7 = np . copy ( ints . tmp11 ) del ints . tmp11 tmp7 += ints . tmp28 * 2 del ints . tmp28 tmp7 += v . ovvv tmp7 += np . transpose ( ints . tmp29 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp29 tmp7 += ints . tmp30 * - 1 del ints . tmp30 tmp7 += np . transpose ( ints . tmp6 , ( 0 , 3 , 1 , 2 )) * - 1 del ints . tmp6 tmp9 = einsum ( f . ov , ( 0 , 1 ), r1 , ( 1 ,), ( 0 ,)) tmp9 += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 0 ), ( 1 ,)) * - 1 del tmp8 tmp6 = np . copy ( ints . tmp9 ) del ints . tmp9 tmp6 += v . oovv * - 1 tmp11 = np . copy ( f . ov ) tmp11 += ints . tmp20 * 2 del ints . tmp20 tmp11 += ints . tmp27 * 2 del ints . tmp27 tmp11 += ints . tmp37 del ints . tmp37 tmp11 += ints . tmp21 * - 1 del ints . tmp21 tmp11 += ints . tmp26 * - 1 del ints . tmp26 tmp11 += ints . tmp38 * - 2 del ints . tmp38 tmp3 = einsum ( r2 , ( 0 , 1 , 2 ), v . ovov , ( 3 , 0 , 4 , 1 ), ( 2 , 3 , 4 )) tmp4 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp4 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 0.5 tmp2 = np . copy ( f . vv ) tmp2 += np . transpose ( ints . tmp2 , ( 1 , 0 )) del ints . tmp2 tmp2 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * - 2 del ints . tmp4 tmp1 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 1 tmp1 += np . transpose ( r2 , ( 2 , 1 , 0 )) * 2 tmp0 = np . copy ( v . ovvv ) * 2 tmp0 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 r2new = einsum ( r2 , ( 0 , 1 , 2 ), v . vvvv , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) r2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 4 , 1 , 0 ), ( 3 , 2 , 4 )) del tmp3 r2new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 3 , 4 ), ( 2 , 4 , 0 )) * 2 del tmp5 , tmp4 r2new += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp6 , ( 3 , 2 , 4 , 0 ), ( 4 , 1 , 3 )) del tmp6 r2new += einsum ( r1 , ( 0 ,), tmp7 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp7 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp2 , ( 0 , 3 ), ( 3 , 1 , 2 )) r2new += einsum ( tmp2 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) r2new += einsum ( tmp9 , ( 0 ,), t2 , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) del tmp9 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp10 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp10 r2new += einsum ( tmp11 , ( 0 , 1 ), r1 , ( 2 ,), ( 1 , 2 , 0 )) * - 1 del tmp11 r1new = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 2 , 0 ), ( 3 ,)) * - 1 del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 , 2 ), f . ov , ( 0 , 2 ), ( 1 ,)) * - 1 del tmp1 r1new += einsum ( tmp2 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) del tmp2 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.hbar_lmatvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:41.161446.","title":"hbar_lmatvec_ip_intermediates"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.hbar_lmatvec_ip_intermediates--parameters","text":"f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.hbar_lmatvec_ip_intermediates--returns","text":"tmp0 : array tmp1 : array tmp10 : array tmp12 : array tmp15 : array tmp18 : array tmp19 : array tmp21 : array tmp22 : array tmp24 : array tmp27 : array tmp3 : array tmp30 : array tmp33 : array tmp34 : array tmp36 : array tmp37 : array tmp49 : array tmp51 : array tmp53 : array tmp8 : array Source code in ebcc/codegen/RCCD.py 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 def hbar_lmatvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:41.161446. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp10 : array tmp12 : array tmp15 : array tmp18 : array tmp19 : array tmp21 : array tmp22 : array tmp24 : array tmp27 : array tmp3 : array tmp30 : array tmp33 : array tmp34 : array tmp36 : array tmp37 : array tmp49 : array tmp51 : array tmp53 : array tmp8 : array \"\"\" tmp53 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 2 , 1 , 4 ), ( 3 , 4 )) tmp51 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) tmp49 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp37 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp36 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 5 , 1 )) tmp34 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp33 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp30 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp27 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp24 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 1 ), ( 4 , 2 )) tmp22 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp21 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 1 , 5 )) tmp19 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp18 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) tmp15 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 0 , 2 ), ( 4 , 3 )) tmp12 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp10 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp8 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp1 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp12\" : tmp12 , f \"tmp15\" : tmp15 , f \"tmp18\" : tmp18 , f \"tmp19\" : tmp19 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp24\" : tmp24 , f \"tmp27\" : tmp27 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp33\" : tmp33 , f \"tmp34\" : tmp34 , f \"tmp36\" : tmp36 , f \"tmp37\" : tmp37 , f \"tmp49\" : tmp49 , f \"tmp51\" : tmp51 , f \"tmp53\" : tmp53 , f \"tmp8\" : tmp8 }","title":"Returns"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.hbar_lmatvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:41.173351.","title":"hbar_lmatvec_ip"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.hbar_lmatvec_ip--parameters","text":"f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.hbar_lmatvec_ip--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RCCD.py 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:41.173351. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 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 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp10 += t2 * - 0.5 tmp5 = np . copy ( r2 ) * - 0.5 tmp5 += np . transpose ( r2 , ( 1 , 0 , 2 )) tmp7 = np . copy ( ints . tmp33 ) del ints . tmp33 tmp7 += v . oovv * - 1 tmp9 = np . copy ( f . vv ) tmp9 += ints . tmp51 del ints . tmp51 tmp9 += ints . tmp53 * - 2 del ints . tmp53 tmp8 = np . copy ( ints . tmp49 ) del ints . tmp49 tmp8 += np . transpose ( v . oooo , ( 0 , 2 , 1 , 3 )) tmp6 = np . copy ( ints . tmp37 ) * 2 del ints . tmp37 tmp6 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp6 += ints . tmp34 * - 1 del ints . tmp34 tmp6 += ints . tmp36 * - 1 del ints . tmp36 tmp11 = einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 3 ), ( 2 ,)) del tmp10 tmp4 = np . copy ( f . oo ) tmp4 += ints . tmp10 * 2 del ints . tmp10 tmp4 += ints . tmp8 * - 1 del ints . tmp8 tmp1 = np . copy ( ints . tmp18 ) tmp1 += np . transpose ( ints . tmp22 , ( 0 , 2 , 1 , 3 )) tmp1 += np . transpose ( ints . tmp3 , ( 1 , 2 , 0 , 3 )) * 0.5 tmp1 += ints . tmp19 * - 0.5 tmp1 += np . transpose ( ints . tmp21 , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp1 += ints . tmp30 * - 1 tmp0 = np . copy ( ints . tmp18 ) del ints . tmp18 tmp0 += np . transpose ( ints . tmp22 , ( 0 , 2 , 1 , 3 )) * 4 del ints . tmp22 tmp0 += np . transpose ( ints . tmp3 , ( 1 , 2 , 0 , 3 )) * 2 del ints . tmp3 tmp0 += ints . tmp19 * - 2 del ints . tmp19 tmp0 += np . transpose ( ints . tmp21 , ( 0 , 2 , 1 , 3 )) * - 2 del ints . tmp21 tmp0 += ints . tmp30 * - 1 del ints . tmp30 tmp0 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp0 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * 2 tmp3 = np . copy ( r2 ) * 2 tmp3 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 1 tmp2 = np . copy ( f . ov ) * 0.5 tmp2 += ints . tmp12 * 0.5 del ints . tmp12 tmp2 += ints . tmp1 del ints . tmp1 tmp2 += ints . tmp24 del ints . tmp24 tmp2 += ints . tmp0 * - 0.5 del ints . tmp0 tmp2 += ints . tmp15 * - 1 del ints . tmp15 tmp2 += ints . tmp27 * - 0.5 del ints . tmp27 r2new = einsum ( r1 , ( 0 ,), v . ovoo , ( 1 , 2 , 3 , 0 ), ( 1 , 3 , 2 )) r2new += einsum ( r1 , ( 0 ,), f . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 r2new += einsum ( tmp5 , ( 0 , 1 , 2 ), tmp6 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) * 2 del tmp5 , tmp6 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp7 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp7 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) del tmp7 r2new += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 4 ), ( 2 , 3 , 4 )) del tmp8 r2new += einsum ( tmp9 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) del tmp9 r2new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp11 , ( 3 ,), ( 0 , 2 , 1 )) * - 2 del tmp11 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp4 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new += einsum ( tmp4 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r1new = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 3 ), ( 2 ,)) del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 0 , 3 ), ( 2 ,)) * - 2 del tmp1 r1new += einsum ( tmp3 , ( 0 , 1 , 2 ), tmp2 , ( 0 , 2 ), ( 1 ,)) * - 2 del tmp3 , tmp2 r1new += einsum ( r1 , ( 0 ,), tmp4 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.hbar_lmatvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:49.340062.","title":"hbar_lmatvec_ea_intermediates"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.hbar_lmatvec_ea_intermediates--parameters","text":"f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.hbar_lmatvec_ea_intermediates--returns","text":"tmp0 : array tmp1 : array tmp11 : array tmp13 : array tmp16 : array tmp19 : array tmp22 : array tmp25 : array tmp28 : array tmp30 : array tmp33 : array tmp35 : array tmp37 : array tmp39 : array tmp41 : array tmp42 : array tmp44 : array tmp45 : array tmp9 : array Source code in ebcc/codegen/RCCD.py 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 def hbar_lmatvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:49.340062. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp11 : array tmp13 : array tmp16 : array tmp19 : array tmp22 : array tmp25 : array tmp28 : array tmp30 : array tmp33 : array tmp35 : array tmp37 : array tmp39 : array tmp41 : array tmp42 : array tmp44 : array tmp45 : array tmp9 : array \"\"\" tmp45 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp44 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 5 , 1 )) tmp42 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp41 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp39 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp37 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) tmp35 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp33 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 5 , 1 , 2 )) tmp30 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp28 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) tmp25 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp22 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 1 ), ( 4 , 2 )) tmp19 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 5 ), ( 0 , 5 , 4 , 3 )) tmp16 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 0 , 2 ), ( 4 , 3 )) tmp13 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp11 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp9 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 2 ), ( 3 , 4 )) tmp1 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp11\" : tmp11 , f \"tmp13\" : tmp13 , f \"tmp16\" : tmp16 , f \"tmp19\" : tmp19 , f \"tmp22\" : tmp22 , f \"tmp25\" : tmp25 , f \"tmp28\" : tmp28 , f \"tmp30\" : tmp30 , f \"tmp33\" : tmp33 , f \"tmp35\" : tmp35 , f \"tmp37\" : tmp37 , f \"tmp39\" : tmp39 , f \"tmp41\" : tmp41 , f \"tmp42\" : tmp42 , f \"tmp44\" : tmp44 , f \"tmp45\" : tmp45 , f \"tmp9\" : tmp9 }","title":"Returns"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.hbar_lmatvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:49.350979.","title":"hbar_lmatvec_ea"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.hbar_lmatvec_ea--parameters","text":"f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCCD/#ebcc.codegen.RCCD.hbar_lmatvec_ea--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RCCD.py 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:49.350979. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp6 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp6 += t2 * - 0.5 tmp10 = np . copy ( ints . tmp45 ) * 2 del ints . tmp45 tmp10 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp10 += ints . tmp42 * - 1 del ints . tmp42 tmp10 += ints . tmp44 * - 1 del ints . tmp44 tmp5 = np . copy ( f . vv ) tmp5 += ints . tmp9 del ints . tmp9 tmp5 += ints . tmp11 * - 2 del ints . tmp11 tmp9 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp9 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 0.5 tmp8 = einsum ( r2 , ( 0 , 1 , 2 ), t2 , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp13 = einsum ( r2 , ( 0 , 1 , 2 ), tmp6 , ( 2 , 3 , 1 , 0 ), ( 3 ,)) tmp12 = np . copy ( f . oo ) tmp12 += ints . tmp39 * 2 del ints . tmp39 tmp12 += ints . tmp37 * - 1 del ints . tmp37 tmp11 = np . copy ( ints . tmp41 ) del ints . tmp41 tmp11 += v . oovv * - 1 tmp1 = np . copy ( ints . tmp19 ) del ints . tmp19 tmp1 += np . transpose ( ints . tmp30 , ( 0 , 1 , 3 , 2 )) * 2 del ints . tmp30 tmp1 += np . transpose ( ints . tmp28 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp28 tmp1 += np . transpose ( ints . tmp35 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp35 tmp7 = einsum ( r2 , ( 0 , 1 , 2 ), tmp6 , ( 2 , 3 , 1 , 0 ), ( 3 ,)) * 2 del tmp6 tmp0 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * 2 tmp0 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 1 tmp3 = np . copy ( f . ov ) * 0.5 tmp3 += ints . tmp13 * 0.5 del ints . tmp13 tmp3 += ints . tmp1 del ints . tmp1 tmp3 += ints . tmp22 del ints . tmp22 tmp3 += ints . tmp0 * - 0.5 del ints . tmp0 tmp3 += ints . tmp16 * - 1 del ints . tmp16 tmp3 += ints . tmp25 * - 0.5 del ints . tmp25 tmp4 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 1 tmp4 += np . transpose ( r2 , ( 2 , 1 , 0 )) * 2 tmp2 = np . copy ( ints . tmp33 ) tmp2 += v . ovvv * 2 tmp2 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) * - 1 r2new = einsum ( r2 , ( 0 , 1 , 2 ), v . vvvv , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) r2new += einsum ( f . ov , ( 0 , 1 ), r1 , ( 2 ,), ( 1 , 2 , 0 )) * - 1 r2new += einsum ( tmp8 , ( 0 , 1 , 2 ), v . ovov , ( 2 , 3 , 1 , 4 ), ( 4 , 3 , 0 )) del tmp8 r2new += einsum ( r1 , ( 0 ,), v . ovvv , ( 1 , 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new += einsum ( tmp9 , ( 0 , 1 , 2 ), tmp10 , ( 0 , 3 , 1 , 4 ), ( 4 , 2 , 3 )) * 2 del tmp9 , tmp10 r2new += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp11 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 , 3 )) del tmp11 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp5 , ( 0 , 3 ), ( 3 , 1 , 2 )) r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp5 , ( 1 , 3 ), ( 0 , 3 , 2 )) r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp12 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp12 r2new += einsum ( tmp13 , ( 0 ,), v . ovov , ( 1 , 2 , 0 , 3 ), ( 2 , 3 , 1 )) * - 2 del tmp13 r1new = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp33 , ( 2 , 1 , 3 , 0 ), ( 3 ,)) * 2 del ints . tmp33 r1new += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 0 , 1 , 2 ), ( 3 ,)) * - 1 del tmp1 , tmp0 r1new += einsum ( r2 , ( 0 , 1 , 2 ), tmp2 , ( 2 , 0 , 3 , 1 ), ( 3 ,)) * - 1 del tmp2 r1new += einsum ( tmp4 , ( 0 , 1 , 2 ), tmp3 , ( 0 , 2 ), ( 1 ,)) * - 2 del tmp4 , tmp3 r1new += einsum ( tmp5 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) del tmp5 r1new += einsum ( f . ov , ( 0 , 1 ), tmp7 , ( 0 ,), ( 1 ,)) del tmp7 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RCCSD/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-12T21:47:27.290624 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 ebcc . codegen . RCCSD . energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-12T21:47:27.699385. 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. Source code in ebcc/codegen/RCCSD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-12T21:47:27.699385. 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 ))) * - 0.5 tmp0 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp1 = np . copy ( f . ov ) 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 e_cc += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 1 , 3 ), ()) * 2 e_cc += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 3 , 1 , 2 ), ()) * - 1 return e_cc ebcc . codegen . RCCSD . update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-12T21:47:37.482866. 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. Source code in ebcc/codegen/RCCSD.py 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-12T21:47:37.482866. 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 ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp4 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp4 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * 2 tmp47 = np . copy ( tmp2 ) * - 1 tmp47 += np . transpose ( tmp2 , ( 0 , 2 , 1 , 3 )) * 2 tmp39 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * 2 tmp39 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp30 = einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp30 += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 2 tmp30 += t2 tmp5 = einsum ( t1 , ( 0 , 1 ), tmp4 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp4 tmp51 = np . copy ( v . ooov ) * - 1 tmp51 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * 2 tmp48 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp47 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) del tmp47 tmp46 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) tmp43 = np . copy ( v . ovvv ) * - 1 tmp43 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * 2 tmp38 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp40 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp39 , ( 1 , 4 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp39 tmp57 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) tmp57 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp31 = einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 5 , 0 , 3 ), ( 1 , 4 , 5 , 2 )) del tmp30 tmp27 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp28 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp32 = einsum ( tmp5 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp29 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 5 , 1 , 2 ), ( 4 , 0 , 5 , 3 )) tmp0 = np . copy ( t2 ) tmp0 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) t2new = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 3 , 5 , 2 ), ( 1 , 0 , 4 , 5 )) tmp9 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp52 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) del tmp51 tmp49 = np . copy ( tmp2 ) tmp49 += tmp46 * - 1 del tmp46 tmp49 += np . transpose ( tmp48 , ( 0 , 2 , 1 , 3 )) del tmp48 tmp44 = einsum ( t1 , ( 0 , 1 ), tmp43 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp43 tmp41 = np . copy ( tmp38 ) del tmp38 tmp41 += np . transpose ( tmp40 , ( 1 , 0 , 3 , 2 )) * - 1 tmp55 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp60 = einsum ( tmp57 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 3 ), ( 1 , 4 )) * 2 tmp58 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp57 , ( 0 , 1 , 3 , 4 ), ( 4 , 2 )) del tmp57 tmp25 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp25 += t2 * - 1 tmp23 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp33 = np . copy ( np . transpose ( tmp27 , ( 0 , 2 , 1 , 3 ))) * - 1 del tmp27 tmp33 += np . transpose ( tmp28 , ( 0 , 2 , 1 , 3 )) del tmp28 tmp33 += np . transpose ( tmp29 , ( 0 , 2 , 1 , 3 )) del tmp29 tmp33 += np . transpose ( tmp31 , ( 0 , 2 , 1 , 3 )) del tmp31 tmp33 += np . transpose ( tmp32 , ( 2 , 0 , 1 , 3 )) * - 1 del tmp32 tmp19 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp35 = einsum ( tmp5 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp66 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp16 = np . copy ( f . oo ) tmp16 += tmp9 tmp14 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp53 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp52 , ( 4 , 1 ), ( 4 , 0 , 3 , 2 )) del tmp52 tmp50 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp49 tmp45 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp44 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp44 tmp42 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) del tmp41 tmp56 = einsum ( tmp55 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp55 tmp61 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp60 , ( 1 , 4 ), ( 4 , 0 , 3 , 2 )) del tmp60 tmp59 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp58 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * 2 del tmp58 tmp20 = np . copy ( t2 ) tmp20 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp26 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), tmp23 , ( 4 , 0 , 3 , 5 ), ( 1 , 4 , 2 , 5 )) del tmp25 tmp22 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp34 = einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp33 tmp24 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp36 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp35 , ( 1 , 4 ), ( 4 , 0 , 3 , 2 )) del tmp35 tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) t2new += tmp13 * - 1 tmp67 = np . copy ( v . oooo ) tmp67 += np . transpose ( tmp66 , ( 3 , 1 , 0 , 2 )) del tmp66 t2new += einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 3 , 4 , 5 ), ( 2 , 1 , 5 , 4 )) tmp63 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 1 , 4 ), ( 4 , 0 , 3 , 2 )) del tmp16 tmp15 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp14 tmp10 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp10 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * 2 tmp11 = np . copy ( v . ooov ) * - 0.5 tmp11 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) tmp54 = np . copy ( tmp42 ) del tmp42 tmp54 += np . transpose ( tmp45 , ( 1 , 0 , 3 , 2 )) del tmp45 tmp54 += np . transpose ( tmp50 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp50 tmp54 += np . transpose ( tmp53 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp53 t2new += np . transpose ( tmp54 , ( 1 , 0 , 3 , 2 )) t2new += tmp54 del tmp54 tmp62 = np . copy ( tmp56 ) del tmp56 tmp62 += np . transpose ( tmp59 , ( 1 , 0 , 3 , 2 )) del tmp59 tmp62 += np . transpose ( tmp61 , ( 1 , 0 , 3 , 2 )) del tmp61 t2new += np . transpose ( tmp62 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp62 * - 1 del tmp62 tmp69 = np . copy ( v . oovv ) * - 1 tmp69 += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp69 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 3 , 5 )) del tmp69 tmp21 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) del tmp19 , tmp20 t2new += np . transpose ( tmp21 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp21 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp21 tmp37 = np . copy ( tmp22 ) del tmp22 tmp37 += tmp23 del tmp23 tmp37 += tmp24 * - 1 del tmp24 tmp37 += np . transpose ( tmp26 , ( 1 , 0 , 2 , 3 )) del tmp26 tmp37 += np . transpose ( tmp34 , ( 0 , 1 , 3 , 2 )) del tmp34 tmp37 += np . transpose ( tmp36 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp36 t2new += np . transpose ( tmp37 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp37 , ( 0 , 1 , 3 , 2 )) del tmp37 tmp70 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * - 1 tmp70 += tmp13 del tmp13 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp70 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) del tmp70 tmp65 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp65 += v . oovv * - 1 tmp65 += np . transpose ( tmp40 , ( 1 , 0 , 3 , 2 )) * 2 del tmp40 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp65 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp65 tmp68 = np . copy ( np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 ))) * - 1 tmp68 += einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) del tmp67 t2new += einsum ( t1 , ( 0 , 1 ), tmp68 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp68 tmp64 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp63 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp63 t2new += np . transpose ( tmp64 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp64 , ( 0 , 1 , 3 , 2 )) del tmp64 tmp18 = np . copy ( tmp15 ) del tmp15 tmp18 += np . transpose ( tmp17 , ( 0 , 1 , 3 , 2 )) del tmp17 t2new += np . transpose ( tmp18 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp18 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp18 tmp6 = np . copy ( f . ov ) tmp6 += tmp5 del tmp5 tmp1 = np . copy ( v . ovvv ) tmp1 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * - 0.5 t1new = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * 2 del tmp1 tmp3 = np . copy ( v . ooov ) tmp3 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp3 += tmp2 * - 0.5 tmp3 += np . transpose ( tmp2 , ( 0 , 2 , 1 , 3 )) del tmp2 t1new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 2 del tmp3 tmp12 = np . copy ( f . oo ) * 0.5 tmp12 += tmp9 * 0.5 del tmp9 tmp12 += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 0 , 4 , 2 , 3 ), ( 1 , 4 )) * 0.5 del tmp0 , tmp10 tmp12 += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 2 , 1 )) del tmp11 t1new += einsum ( tmp12 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 2 del tmp12 tmp8 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp8 += v . oovv * - 1 t1new += einsum ( t1 , ( 0 , 1 ), tmp8 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp8 tmp7 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp7 += t2 * 2 t1new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 0 , 2 ), ( 1 , 3 )) del tmp7 , tmp6 t1new += einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) t1new += f . ov t2new += einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) * - 1 t2new += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * - 1 t2new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) * - 1 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) * 2 return { f \"t1new\" : t1new , f \"t2new\" : t2new } ebcc . codegen . RCCSD . 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:48:12.348836. 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. Source code in ebcc/codegen/RCCSD.py 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 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:48:12.348836. 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. \"\"\" tmp97 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp97 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * 2 tmp15 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp15 += t2 * 2 tmp98 = einsum ( t1 , ( 0 , 1 ), tmp97 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp97 tmp85 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp85 += t2 * 2 tmp16 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp16 += t2 * - 0.5 tmp17 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp8 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp73 = einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 0 , 2 ), ( 4 , 1 )) * 0.5 tmp72 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp99 = einsum ( t1 , ( 0 , 1 ), tmp98 , ( 2 , 1 ), ( 0 , 2 )) tmp96 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp86 = einsum ( tmp85 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) del tmp85 tmp83 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp84 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp89 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp24 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp53 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 2 , 4 , 1 , 0 ), ( 3 , 4 )) * 2 tmp50 = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 1 , 2 )) tmp5 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 0.5 tmp5 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp2 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) l2new = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) tmp36 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 1 , 0 , 2 , 4 )) tmp35 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp26 = einsum ( t1 , ( 0 , 1 ), tmp8 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp74 = np . copy ( np . transpose ( tmp72 , ( 1 , 0 ))) del tmp72 tmp74 += np . transpose ( tmp73 , ( 1 , 0 )) del tmp73 tmp70 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp15 , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) * 0.5 tmp100 = np . copy ( tmp96 ) del tmp96 tmp100 += tmp99 * - 1 del tmp99 tmp92 = np . copy ( tmp17 ) * 2 tmp92 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * - 1 tmp82 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp82 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp87 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) tmp87 += np . transpose ( tmp83 , ( 0 , 1 , 3 , 2 )) del tmp83 tmp87 += tmp84 * - 1 del tmp84 tmp87 += np . transpose ( tmp86 , ( 1 , 0 , 3 , 2 )) del tmp86 tmp94 = np . copy ( tmp8 ) * 2 tmp94 += np . transpose ( tmp8 , ( 0 , 2 , 1 , 3 )) * - 1 tmp90 = np . copy ( v . oovv ) tmp90 += np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 )) tmp90 += tmp89 * - 1 del tmp89 tmp78 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp12 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp108 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp65 = einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 0 , 1 ), ( 4 , 3 )) * 2 tmp54 = np . copy ( tmp50 ) tmp54 += tmp53 del tmp53 tmp6 = einsum ( t1 , ( 0 , 1 ), tmp5 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * 2 tmp1 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp3 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp2 tmp37 = np . copy ( np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 ))) tmp37 += tmp36 l2new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 5 , 0 , 2 ), ( 3 , 1 , 5 , 4 )) tmp25 = einsum ( t1 , ( 0 , 1 ), tmp24 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) del tmp24 tmp27 = einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp104 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp75 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp74 , ( 2 , 4 ), ( 3 , 4 , 0 , 1 )) * 2 del tmp74 tmp69 = einsum ( l1 , ( 0 , 1 ), v . ooov , ( 2 , 1 , 3 , 4 ), ( 2 , 3 , 0 , 4 )) tmp71 = einsum ( tmp70 , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 4 , 3 , 2 , 0 )) * 2 del tmp70 tmp101 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp100 , ( 2 , 4 ), ( 3 , 4 , 0 , 1 )) del tmp100 tmp77 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) tmp93 = einsum ( tmp92 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 5 , 1 , 2 ), ( 4 , 0 , 5 , 3 )) del tmp92 tmp102 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), tmp98 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp88 = einsum ( tmp82 , ( 0 , 1 , 2 , 3 ), tmp87 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp82 , tmp87 tmp95 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), tmp94 , ( 1 , 4 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) del tmp94 tmp91 = einsum ( tmp90 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 5 , 0 ), ( 5 , 1 , 4 , 3 )) tmp81 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), tmp8 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp80 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 2 , 4 , 5 , 3 ), ( 1 , 0 , 4 , 5 )) tmp79 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp78 , ( 4 , 1 ), ( 2 , 3 , 0 , 4 )) del tmp78 tmp110 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), f . ov , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp107 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), l1 , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) tmp113 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp111 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp12 , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp114 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp90 , ( 2 , 4 , 1 , 5 ), ( 3 , 4 , 0 , 5 )) del tmp90 tmp106 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp112 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp109 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp108 , ( 4 , 3 ), ( 4 , 2 , 0 , 1 )) del tmp108 tmp63 = einsum ( f . oo , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp66 = einsum ( tmp65 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 3 , 4 ), ( 2 , 3 , 4 , 0 )) del tmp65 tmp64 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), l1 , ( 4 , 0 ), ( 1 , 2 , 4 , 3 )) tmp67 = einsum ( tmp54 , ( 0 , 1 ), v . ovov , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 4 , 3 )) tmp39 = np . copy ( tmp17 ) * 2 tmp39 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * - 1 tmp43 = np . copy ( tmp17 ) * - 0.5 tmp43 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) tmp42 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l1 , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) tmp7 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 2 ), ( 0 , 1 , 4 , 3 )) tmp9 = np . copy ( v . ooov ) * - 1 tmp9 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * 2 tmp9 += tmp8 * 2 tmp9 += np . transpose ( tmp8 , ( 0 , 2 , 1 , 3 )) * - 1 tmp13 = np . copy ( np . transpose ( v . oooo , ( 0 , 2 , 1 , 3 ))) * 2 tmp13 += v . oooo * - 1 tmp13 += np . transpose ( tmp12 , ( 2 , 1 , 0 , 3 )) * - 1 tmp13 += np . transpose ( tmp12 , ( 3 , 2 , 0 , 1 )) * 2 tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp10 = np . copy ( v . ooov ) tmp10 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp10 += tmp8 * - 0.5 tmp10 += np . transpose ( tmp8 , ( 0 , 2 , 1 , 3 )) del tmp8 tmp4 = np . copy ( tmp1 ) * 0.5 del tmp1 tmp4 += tmp3 * - 0.5 del tmp3 tmp11 = np . copy ( v . oovv ) * 2 tmp11 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp38 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp37 tmp40 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp40 += t2 * - 1 tmp31 = np . copy ( np . transpose ( tmp12 , ( 0 , 2 , 1 , 3 ))) * 2 tmp31 += np . transpose ( tmp12 , ( 0 , 3 , 2 , 1 )) * - 1 del tmp12 tmp28 = np . copy ( tmp25 ) * 2 del tmp25 tmp28 += tmp27 * - 2 del tmp27 tmp29 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp29 += t2 tmp30 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp30 += v . oovv * - 1 tmp33 = np . copy ( tmp17 ) * - 1 tmp33 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * 2 tmp60 = np . copy ( v . ooov ) * - 0.5 tmp60 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) tmp61 = np . copy ( f . ov ) tmp61 += tmp6 del tmp6 tmp57 = np . copy ( v . ovvv ) * - 0.5 tmp57 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) tmp22 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp22 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp51 = np . copy ( tmp50 ) * 0.5 del tmp50 tmp51 += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 2 , 4 , 1 , 0 ), ( 3 , 4 )) tmp18 = np . copy ( tmp17 ) tmp18 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * - 0.5 tmp105 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp104 , ( 4 , 1 ), ( 2 , 3 , 0 , 4 )) del tmp104 l2new += np . transpose ( tmp105 , ( 3 , 2 , 1 , 0 )) * - 1 l2new += np . transpose ( tmp105 , ( 2 , 3 , 0 , 1 )) * - 1 del tmp105 tmp76 = np . copy ( tmp69 ) del tmp69 tmp76 += np . transpose ( tmp71 , ( 1 , 0 , 2 , 3 )) del tmp71 tmp76 += np . transpose ( tmp75 , ( 0 , 1 , 3 , 2 )) del tmp75 l2new += np . transpose ( tmp76 , ( 3 , 2 , 1 , 0 )) * - 1 l2new += np . transpose ( tmp76 , ( 2 , 3 , 0 , 1 )) * - 1 del tmp76 tmp103 = einsum ( f . ov , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) tmp103 += tmp77 del tmp77 tmp103 += tmp79 * 2 del tmp79 tmp103 += tmp80 * - 1 del tmp80 tmp103 += tmp81 del tmp81 tmp103 += tmp88 del tmp88 tmp103 += tmp91 * - 1 del tmp91 tmp103 += np . transpose ( tmp93 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp93 tmp103 += tmp95 * - 1 del tmp95 tmp103 += np . transpose ( tmp101 , ( 0 , 1 , 3 , 2 )) del tmp101 tmp103 += tmp102 * - 1 del tmp102 tmp103 += einsum ( tmp98 , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) del tmp98 l2new += np . transpose ( tmp103 , ( 3 , 2 , 1 , 0 )) l2new += np . transpose ( tmp103 , ( 2 , 3 , 0 , 1 )) del tmp103 tmp115 = np . copy ( tmp106 ) del tmp106 tmp115 += tmp107 del tmp107 tmp115 += tmp109 * - 1 del tmp109 tmp115 += tmp110 * - 1 del tmp110 tmp115 += tmp111 del tmp111 tmp115 += tmp112 del tmp112 tmp115 += tmp113 del tmp113 tmp115 += tmp114 * - 1 del tmp114 l2new += np . transpose ( tmp115 , ( 2 , 3 , 1 , 0 )) l2new += np . transpose ( tmp115 , ( 3 , 2 , 0 , 1 )) del tmp115 tmp116 = np . copy ( v . oooo ) tmp116 += np . transpose ( tmp26 , ( 0 , 2 , 3 , 1 )) del tmp26 l2new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp116 , ( 3 , 4 , 5 , 2 ), ( 0 , 1 , 5 , 4 )) del tmp116 tmp68 = np . copy ( tmp63 ) del tmp63 tmp68 += tmp64 del tmp64 tmp68 += np . transpose ( tmp66 , ( 1 , 0 , 3 , 2 )) del tmp66 tmp68 += np . transpose ( tmp67 , ( 1 , 0 , 3 , 2 )) del tmp67 l2new += np . transpose ( tmp68 , ( 2 , 3 , 1 , 0 )) * - 1 l2new += np . transpose ( tmp68 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp68 tmp44 = np . copy ( tmp42 ) * - 2 tmp44 += np . transpose ( tmp42 , ( 0 , 2 , 1 , 3 )) del tmp42 tmp44 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp39 , ( 1 , 4 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) tmp44 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp43 , ( 1 , 4 , 5 , 2 ), ( 4 , 5 , 0 , 3 )) * 2 del tmp43 l1new = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp44 , ( 4 , 2 , 0 , 3 ), ( 1 , 4 )) del tmp44 tmp14 = np . copy ( np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 ))) * 0.5 tmp14 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp14 += np . transpose ( tmp0 , ( 1 , 2 , 0 , 3 )) * - 1 tmp14 += np . transpose ( tmp0 , ( 2 , 1 , 0 , 3 )) * 0.5 del tmp0 tmp14 += tmp4 tmp14 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) * - 2 del tmp4 tmp14 += np . transpose ( tmp7 , ( 1 , 0 , 2 , 3 )) * - 1 tmp14 += tmp7 * 0.5 del tmp7 tmp14 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 0.5 del tmp9 tmp14 += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp14 += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 2 ), ( 4 , 1 , 0 , 3 )) * - 0.5 del tmp11 tmp14 += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) * 0.5 del tmp13 l1new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 3 , 2 , 4 , 1 ), ( 0 , 4 )) * 2 del tmp14 tmp41 = np . copy ( np . transpose ( tmp17 , ( 0 , 2 , 1 , 3 ))) * 0.5 tmp41 += np . transpose ( tmp17 , ( 1 , 2 , 0 , 3 )) * - 1 tmp41 += np . transpose ( tmp38 , ( 0 , 2 , 1 , 3 )) tmp41 += tmp38 * - 0.5 del tmp38 tmp41 += einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), tmp39 , ( 0 , 4 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) * - 0.5 del tmp39 , tmp40 l1new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 2 , 0 , 1 ), ( 3 , 4 )) * 2 del tmp41 tmp32 = np . copy ( tmp28 ) * - 1 tmp32 += np . transpose ( tmp28 , ( 1 , 0 , 2 , 3 )) * 0.5 del tmp28 tmp32 += einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) * - 4 del tmp10 tmp32 += einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 2 ), ( 4 , 1 , 0 , 3 )) * - 1 del tmp30 tmp32 += einsum ( tmp31 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp31 l1new += einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) del tmp32 tmp34 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) tmp34 += einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp33 l1new += einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 3 , 4 , 2 ), ( 4 , 0 )) * - 1 del tmp34 tmp62 = np . copy ( f . oo ) tmp62 += einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 0 , 2 ), ( 1 , 4 )) tmp62 += einsum ( t1 , ( 0 , 1 ), tmp60 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) * 2 del tmp60 tmp62 += einsum ( t1 , ( 0 , 1 ), tmp61 , ( 2 , 1 ), ( 0 , 2 )) del tmp61 l1new += einsum ( tmp62 , ( 0 , 1 ), l1 , ( 2 , 0 ), ( 2 , 1 )) * - 1 del tmp62 tmp20 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) tmp55 = np . copy ( v . ooov ) * 2 tmp55 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 l1new += einsum ( tmp55 , ( 0 , 1 , 2 , 3 ), tmp54 , ( 1 , 0 ), ( 3 , 2 )) * - 1 del tmp55 tmp48 = einsum ( l1 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) * 0.5 tmp48 += einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 0 , 1 ), ( 4 , 3 )) tmp58 = np . copy ( f . vv ) * 0.5 tmp58 += einsum ( t1 , ( 0 , 1 ), tmp57 , ( 0 , 2 , 1 , 3 ), ( 3 , 2 )) del tmp57 l1new += einsum ( l1 , ( 0 , 1 ), tmp58 , ( 0 , 2 ), ( 2 , 1 )) * 2 del tmp58 tmp49 = np . copy ( v . ovvv ) * 2 tmp49 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 l1new += einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), tmp48 , ( 3 , 2 ), ( 1 , 0 )) * 2 del tmp49 , tmp48 tmp21 = np . copy ( np . transpose ( v . vvvv , ( 0 , 2 , 3 , 1 ))) * 2 tmp21 += v . vvvv * - 1 l1new += einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 4 , 2 , 0 , 3 ), ( 1 , 4 )) del tmp21 , tmp20 tmp23 = np . copy ( np . transpose ( l2 , ( 2 , 3 , 0 , 1 ))) tmp23 += einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 0 , 4 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) del tmp22 l1new += einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 3 , 4 , 2 ), ( 4 , 0 )) * 2 del tmp23 tmp52 = np . copy ( t1 ) * - 0.5 tmp52 += einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) del tmp29 tmp52 += einsum ( l1 , ( 0 , 1 ), tmp15 , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) * - 0.5 tmp52 += einsum ( tmp51 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) del tmp51 l1new += einsum ( tmp52 , ( 0 , 1 ), tmp5 , ( 0 , 2 , 1 , 3 ), ( 3 , 2 )) * - 4 del tmp52 tmp46 = np . copy ( tmp36 ) * - 0.5 tmp46 += np . transpose ( tmp36 , ( 0 , 1 , 3 , 2 )) del tmp36 l1new += einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp46 , ( 4 , 0 , 1 , 2 ), ( 3 , 4 )) * 2 del tmp46 tmp45 = np . copy ( tmp17 ) * - 1 tmp45 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * 2 del tmp17 l1new += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) * - 1 del tmp45 tmp59 = np . copy ( f . ov ) * 0.5 tmp59 += einsum ( t1 , ( 0 , 1 ), tmp5 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp5 l1new += einsum ( tmp54 , ( 0 , 1 ), tmp59 , ( 1 , 2 ), ( 2 , 0 )) * - 2 del tmp54 , tmp59 tmp47 = np . copy ( np . transpose ( tmp35 , ( 1 , 0 , 2 , 3 ))) * 2 tmp47 += np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp35 l1new += einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 3 , 0 , 2 , 4 ), ( 4 , 1 )) del tmp47 tmp19 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 2 , 4 , 5 , 1 ), ( 3 , 4 , 0 , 5 )) del tmp15 tmp19 += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 3 , 4 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) * 2 del tmp16 tmp19 += einsum ( t1 , ( 0 , 1 ), tmp18 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp18 l1new += einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 0 , 3 , 2 ), ( 1 , 4 )) * - 1 del tmp19 tmp56 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp56 += v . oovv * - 1 l1new += einsum ( l1 , ( 0 , 1 ), tmp56 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 )) del tmp56 l1new += np . transpose ( f . ov , ( 1 , 0 )) l2new += np . transpose ( v . ovov , ( 1 , 3 , 0 , 2 )) l2new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 1 , 5 , 0 ), ( 4 , 5 , 3 , 2 )) return { f \"l1new\" : l1new , f \"l2new\" : l2new } ebcc . codegen . RCCSD . make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-12T21:48:13.302081. 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. Source code in ebcc/codegen/RCCSD.py 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 def make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-12T21:48:13.302081. 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 ]), ) tmp0 = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 1 , 2 )) rdm1 . oo = np . copy ( np . transpose ( tmp0 , ( 1 , 0 ))) * - 2 tmp5 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp5 += t2 tmp2 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp7 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp7 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 rdm1 . vv = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) * 2 del tmp7 tmp6 = np . copy ( tmp0 ) del tmp0 tmp6 += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) * 2 del tmp5 rdm1 . ov = einsum ( tmp6 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 2 del tmp6 tmp3 = np . copy ( tmp2 ) tmp3 += np . transpose ( tmp2 , ( 1 , 0 , 2 , 3 )) * - 0.5 del tmp2 rdm1 . ov += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) * - 4 del tmp3 tmp4 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp4 += t2 * 2 rdm1 . ov += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), l1 , ( 2 , 0 ), ( 1 , 3 )) * 2 del tmp4 tmp1 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp1 += t2 * - 0.5 rdm1 . oo += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 2 , 4 , 1 , 0 ), ( 4 , 3 )) * - 4 del tmp1 rdm1 . oo += delta . oo * 2 del delta rdm1 . ov += t1 * 2 rdm1 . vo = np . copy ( l1 ) * 2 rdm1 . vv += einsum ( l1 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) * 2 rdm1 = np . block ([[ rdm1 . oo , rdm1 . ov ], [ rdm1 . vo , rdm1 . vv ]]) return rdm1 ebcc . codegen . RCCSD . make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-12T21:48:56.527230. 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. Source code in ebcc/codegen/RCCSD.py 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 def make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-12T21:48:56.527230. 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 , 1 ), ( 2 , 3 , 4 , 0 )) rdm2 . vooo = np . copy ( np . transpose ( tmp4 , ( 3 , 2 , 1 , 0 ))) rdm2 . vooo += np . transpose ( tmp4 , ( 3 , 2 , 0 , 1 )) * - 1 rdm2 . vooo += np . transpose ( tmp4 , ( 3 , 2 , 0 , 1 )) * - 1 rdm2 . vooo += np . transpose ( tmp4 , ( 3 , 2 , 0 , 1 )) * - 1 rdm2 . vooo += np . transpose ( tmp4 , ( 3 , 2 , 1 , 0 )) rdm2 . vooo += np . transpose ( tmp4 , ( 3 , 2 , 0 , 1 )) * - 1 rdm2 . ovoo = np . copy ( np . transpose ( tmp4 , ( 2 , 3 , 1 , 0 ))) * - 1 rdm2 . ovoo += np . transpose ( tmp4 , ( 2 , 3 , 0 , 1 )) rdm2 . ovoo += np . transpose ( tmp4 , ( 2 , 3 , 1 , 0 )) * - 1 rdm2 . ovoo += np . transpose ( tmp4 , ( 2 , 3 , 1 , 0 )) * - 1 rdm2 . ovoo += np . transpose ( tmp4 , ( 2 , 3 , 1 , 0 )) * - 1 rdm2 . ovoo += np . transpose ( tmp4 , ( 2 , 3 , 0 , 1 )) tmp92 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp92 += t2 * - 1 tmp90 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp90 += t2 * - 1 tmp16 = np . copy ( tmp4 ) * 2 tmp16 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) * - 1 tmp0 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp0 += t2 tmp14 = np . copy ( tmp4 ) tmp14 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) * - 1 tmp55 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp55 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp93 = einsum ( tmp92 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 5 ), ( 1 , 5 , 2 , 4 )) del tmp92 tmp91 = einsum ( tmp90 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 5 , 0 ), ( 1 , 5 , 2 , 4 )) del tmp90 tmp84 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) rdm2 . voov = np . copy ( np . transpose ( tmp84 , ( 2 , 1 , 0 , 3 ))) * - 1 rdm2 . voov += np . transpose ( tmp84 , ( 2 , 1 , 0 , 3 )) * - 1 rdm2 . ovvo = np . copy ( np . transpose ( tmp84 , ( 1 , 2 , 3 , 0 ))) * - 1 rdm2 . ovvo += np . transpose ( tmp84 , ( 1 , 2 , 3 , 0 )) * - 1 tmp40 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp40 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp5 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 1 , 0 , 2 , 4 )) rdm2 . oooo = np . copy ( np . transpose ( tmp5 , ( 3 , 2 , 1 , 0 ))) rdm2 . oooo += np . transpose ( tmp5 , ( 3 , 2 , 1 , 0 )) tmp3 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) rdm2 . oooo += np . transpose ( tmp3 , ( 3 , 2 , 1 , 0 )) rdm2 . oooo += np . transpose ( tmp3 , ( 3 , 2 , 1 , 0 )) tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 1 , 4 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) del tmp16 rdm2 . oovo = np . copy ( np . transpose ( tmp17 , ( 2 , 1 , 3 , 0 ))) * - 1 rdm2 . oovo += np . transpose ( tmp17 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . ooov = np . copy ( np . transpose ( tmp17 , ( 1 , 2 , 0 , 3 ))) * - 1 rdm2 . ooov += np . transpose ( tmp17 , ( 1 , 2 , 0 , 3 )) * - 1 tmp25 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 4 , 5 , 2 ), ( 4 , 5 , 0 , 3 )) rdm2 . oovo += np . transpose ( tmp25 , ( 2 , 1 , 3 , 0 )) rdm2 . oovo += np . transpose ( tmp25 , ( 2 , 1 , 3 , 0 )) rdm2 . ooov += np . transpose ( tmp25 , ( 1 , 2 , 0 , 3 )) rdm2 . ooov += np . transpose ( tmp25 , ( 1 , 2 , 0 , 3 )) tmp12 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l1 , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) rdm2 . oovo += np . transpose ( tmp12 , ( 1 , 2 , 3 , 0 )) * - 1 rdm2 . oovo += np . transpose ( tmp12 , ( 1 , 2 , 3 , 0 )) * - 1 rdm2 . ooov += np . transpose ( tmp12 , ( 2 , 1 , 0 , 3 )) * - 1 rdm2 . ooov += np . transpose ( tmp12 , ( 2 , 1 , 0 , 3 )) * - 1 tmp26 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 1 , 5 , 2 ), ( 4 , 5 , 0 , 3 )) rdm2 . oovo += np . transpose ( tmp26 , ( 1 , 2 , 3 , 0 )) rdm2 . oovo += np . transpose ( tmp26 , ( 1 , 2 , 3 , 0 )) rdm2 . ooov += np . transpose ( tmp26 , ( 2 , 1 , 0 , 3 )) rdm2 . ooov += np . transpose ( tmp26 , ( 2 , 1 , 0 , 3 )) tmp43 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp43 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) tmp8 = np . copy ( tmp4 ) * 2 tmp8 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) * - 1 tmp1 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) * 2 rdm2 . oooo += einsum ( tmp1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp1 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) rdm2 . oooo += einsum ( tmp1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) rdm2 . oooo += einsum ( tmp1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . oooo += einsum ( tmp1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . oooo += einsum ( tmp1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . oooo += einsum ( tmp1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . oooo += einsum ( tmp1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . oooo += einsum ( tmp1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp1 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) rdm2 . oooo += einsum ( tmp1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) rdm2 . oooo += einsum ( tmp1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 tmp15 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 1 , 2 , 4 , 5 )) tmp20 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp20 += t2 * 2 tmp2 = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 1 , 2 )) rdm2 . ooov += einsum ( tmp2 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . ooov += einsum ( tmp2 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) rdm2 . ooov += einsum ( tmp2 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . ooov += einsum ( tmp2 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . oooo += einsum ( tmp2 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) rdm2 . oooo += einsum ( tmp2 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . oooo += einsum ( tmp2 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) rdm2 . oooo += einsum ( tmp2 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 tmp31 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) del tmp0 tmp110 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) rdm2 . vvvo = np . copy ( np . transpose ( tmp110 , ( 2 , 1 , 3 , 0 ))) rdm2 . vvvo += np . transpose ( tmp110 , ( 1 , 2 , 3 , 0 )) * - 1 rdm2 . vvvo += np . transpose ( tmp110 , ( 2 , 1 , 3 , 0 )) rdm2 . vvvo += np . transpose ( tmp110 , ( 2 , 1 , 3 , 0 )) rdm2 . vvvo += np . transpose ( tmp110 , ( 2 , 1 , 3 , 0 )) rdm2 . vvvo += np . transpose ( tmp110 , ( 1 , 2 , 3 , 0 )) * - 1 rdm2 . vvov = np . copy ( np . transpose ( tmp110 , ( 2 , 1 , 0 , 3 ))) * - 1 rdm2 . vvov += np . transpose ( tmp110 , ( 1 , 2 , 0 , 3 )) rdm2 . vvov += np . transpose ( tmp110 , ( 1 , 2 , 0 , 3 )) rdm2 . vvov += np . transpose ( tmp110 , ( 1 , 2 , 0 , 3 )) rdm2 . vvov += np . transpose ( tmp110 , ( 2 , 1 , 0 , 3 )) * - 1 rdm2 . vvov += np . transpose ( tmp110 , ( 1 , 2 , 0 , 3 )) tmp76 = einsum ( l1 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp77 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp55 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp104 = np . copy ( tmp84 ) tmp104 += np . transpose ( tmp93 , ( 1 , 0 , 3 , 2 )) tmp104 += np . transpose ( tmp91 , ( 1 , 0 , 3 , 2 )) * - 1 tmp41 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp40 tmp60 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 5 , 1 ), ( 5 , 0 , 4 , 3 )) rdm2 . voov += np . transpose ( tmp60 , ( 2 , 1 , 0 , 3 )) * - 1 rdm2 . voov += np . transpose ( tmp60 , ( 2 , 1 , 0 , 3 )) * - 1 rdm2 . ovvo += np . transpose ( tmp60 , ( 1 , 2 , 3 , 0 )) * - 1 rdm2 . ovvo += np . transpose ( tmp60 , ( 1 , 2 , 3 , 0 )) * - 1 tmp94 = np . copy ( np . transpose ( tmp91 , ( 1 , 0 , 3 , 2 ))) del tmp91 tmp94 += np . transpose ( tmp93 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp93 tmp101 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp55 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) tmp6 = np . copy ( np . transpose ( tmp3 , ( 1 , 0 , 3 , 2 ))) tmp6 += tmp5 rdm2 . oooo += np . transpose ( tmp6 , ( 2 , 3 , 0 , 1 )) rdm2 . oooo += np . transpose ( tmp6 , ( 3 , 2 , 0 , 1 )) * - 1 rdm2 . oooo += np . transpose ( tmp6 , ( 2 , 3 , 0 , 1 )) rdm2 . oooo += np . transpose ( tmp6 , ( 3 , 2 , 0 , 1 )) * - 1 tmp23 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp3 tmp64 = np . copy ( tmp25 ) del tmp25 tmp64 += tmp17 * - 1 tmp67 = np . copy ( tmp12 ) tmp67 += tmp26 * - 1 del tmp26 tmp44 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp43 , ( 1 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp13 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) del tmp5 tmp56 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp55 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) * 0.5 del tmp55 tmp9 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) * 0.5 tmp10 = einsum ( tmp1 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * 0.5 tmp49 = np . copy ( tmp12 ) tmp49 += tmp15 tmp49 += tmp17 * - 1 tmp21 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), l1 , ( 2 , 0 ), ( 1 , 3 )) rdm2 . oovo += einsum ( tmp21 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . oovo += einsum ( tmp21 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . oovo += einsum ( tmp21 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . oovo += einsum ( tmp21 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp19 = einsum ( tmp2 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) rdm2 . oovv = einsum ( t1 , ( 0 , 1 ), tmp19 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), tmp19 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 tmp29 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp29 += t2 * 2 tmp32 = np . copy ( tmp2 ) * 0.5 tmp32 += tmp31 del tmp31 tmp112 = einsum ( tmp110 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) del tmp110 rdm2 . vvvv = np . copy ( np . transpose ( tmp112 , ( 1 , 0 , 3 , 2 ))) rdm2 . vvvv += np . transpose ( tmp112 , ( 1 , 0 , 3 , 2 )) tmp111 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 3 , 2 , 4 , 5 ), ( 0 , 1 , 5 , 4 )) rdm2 . vvvv += np . transpose ( tmp111 , ( 1 , 0 , 3 , 2 )) rdm2 . vvvv += np . transpose ( tmp111 , ( 1 , 0 , 3 , 2 )) tmp62 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 3 , 4 , 0 , 5 )) rdm2 . vovo = np . copy ( np . transpose ( tmp62 , ( 2 , 1 , 3 , 0 ))) * - 1 rdm2 . vovo += np . transpose ( tmp62 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . ovov = np . copy ( np . transpose ( tmp62 , ( 1 , 2 , 0 , 3 ))) * - 1 rdm2 . ovov += np . transpose ( tmp62 , ( 1 , 2 , 0 , 3 )) * - 1 tmp78 = np . copy ( tmp76 ) tmp78 += tmp77 del tmp77 rdm2 . vovv = einsum ( t1 , ( 0 , 1 ), tmp78 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . vovv += einsum ( t1 , ( 0 , 1 ), tmp78 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . voov += einsum ( tmp78 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . voov += einsum ( tmp78 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . ovvo += einsum ( tmp78 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . ovvo += einsum ( tmp78 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . ovov += einsum ( tmp78 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . ovov += einsum ( tmp78 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . ovov += einsum ( tmp78 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . ovov += einsum ( tmp78 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp97 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 0 , 4 , 5 ), ( 4 , 5 , 3 , 2 )) rdm2 . vovv += np . transpose ( tmp97 , ( 1 , 0 , 2 , 3 )) * - 1 rdm2 . vovv += np . transpose ( tmp97 , ( 1 , 0 , 2 , 3 )) * - 1 rdm2 . ovvv = np . copy ( np . transpose ( tmp97 , ( 0 , 1 , 3 , 2 ))) * - 1 rdm2 . ovvv += np . transpose ( tmp97 , ( 0 , 1 , 3 , 2 )) * - 1 tmp105 = einsum ( t1 , ( 0 , 1 ), tmp104 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp104 tmp89 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l1 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) rdm2 . vovv += np . transpose ( tmp89 , ( 1 , 0 , 3 , 2 )) rdm2 . vovv += np . transpose ( tmp89 , ( 1 , 0 , 3 , 2 )) rdm2 . ovvv += tmp89 rdm2 . ovvv += tmp89 tmp108 = np . copy ( tmp60 ) tmp108 += tmp84 tmp108 += tmp41 * - 1 tmp95 = einsum ( tmp94 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp94 tmp102 = np . copy ( tmp60 ) tmp102 += tmp84 tmp102 += tmp101 * - 1 del tmp101 tmp80 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp80 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp85 = np . copy ( tmp4 ) * - 1 tmp85 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) tmp72 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp72 += t2 tmp82 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) tmp82 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp53 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 5 ), ( 2 , 3 , 4 , 5 )) rdm2 . oovv += np . transpose ( tmp53 , ( 1 , 0 , 3 , 2 )) rdm2 . oovv += np . transpose ( tmp53 , ( 1 , 0 , 3 , 2 )) tmp52 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) tmp48 = einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp65 = einsum ( tmp64 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp64 tmp47 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) tmp68 = einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp67 tmp42 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp41 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp41 rdm2 . oovv += np . transpose ( tmp42 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . oovv += np . transpose ( tmp42 , ( 1 , 0 , 3 , 2 )) * 2 tmp45 = einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp44 tmp39 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) tmp27 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp6 rdm2 . oovo += np . transpose ( tmp27 , ( 1 , 2 , 3 , 0 )) rdm2 . oovo += np . transpose ( tmp27 , ( 1 , 2 , 3 , 0 )) rdm2 . ooov += np . transpose ( tmp27 , ( 2 , 1 , 0 , 3 )) rdm2 . ooov += np . transpose ( tmp27 , ( 2 , 1 , 0 , 3 )) tmp57 = einsum ( tmp56 , ( 0 , 1 ), t2 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 tmp58 = einsum ( tmp1 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 4 , 3 )) tmp11 = np . copy ( tmp9 ) del tmp9 tmp11 += tmp10 del tmp10 rdm2 . ooov += einsum ( tmp11 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 rdm2 . ooov += einsum ( tmp11 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 tmp50 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp49 tmp22 = np . copy ( tmp19 ) tmp22 += tmp21 * - 1 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp22 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 rdm2 . ooov += einsum ( tmp22 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp22 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 rdm2 . ooov += einsum ( tmp22 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) tmp28 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) del tmp8 tmp30 = einsum ( l1 , ( 0 , 1 ), tmp29 , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) del tmp29 tmp33 = einsum ( tmp32 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * 2 del tmp32 tmp113 = np . copy ( np . transpose ( tmp111 , ( 1 , 0 , 3 , 2 ))) del tmp111 tmp113 += np . transpose ( tmp112 , ( 1 , 0 , 3 , 2 )) del tmp112 rdm2 . vvvv += tmp113 rdm2 . vvvv += np . transpose ( tmp113 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . vvvv += tmp113 rdm2 . vvvv += np . transpose ( tmp113 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp113 tmp100 = einsum ( t1 , ( 0 , 1 ), tmp62 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) rdm2 . vovv += np . transpose ( tmp100 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . vovv += np . transpose ( tmp100 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . ovvv += tmp100 * - 1 rdm2 . ovvv += tmp100 * - 1 del tmp100 tmp107 = np . copy ( tmp97 ) tmp107 += einsum ( tmp78 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp78 rdm2 . vovv += np . transpose ( tmp107 , ( 1 , 0 , 3 , 2 )) rdm2 . vovv += np . transpose ( tmp107 , ( 1 , 0 , 2 , 3 )) * - 1 rdm2 . vovv += np . transpose ( tmp107 , ( 1 , 0 , 3 , 2 )) rdm2 . vovv += np . transpose ( tmp107 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp107 tmp106 = np . copy ( tmp89 ) tmp106 += np . transpose ( tmp105 , ( 0 , 1 , 3 , 2 )) del tmp105 rdm2 . vovv += np . transpose ( tmp106 , ( 1 , 0 , 3 , 2 )) rdm2 . vovv += np . transpose ( tmp106 , ( 1 , 0 , 2 , 3 )) * - 1 rdm2 . vovv += np . transpose ( tmp106 , ( 1 , 0 , 3 , 2 )) rdm2 . vovv += np . transpose ( tmp106 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp106 tmp109 = einsum ( t1 , ( 0 , 1 ), tmp108 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp108 rdm2 . vovv += np . transpose ( tmp109 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . vovv += np . transpose ( tmp109 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp109 tmp99 = einsum ( t1 , ( 0 , 1 ), tmp84 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp84 rdm2 . ovvv += np . transpose ( tmp99 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . ovvv += tmp99 rdm2 . ovvv += np . transpose ( tmp99 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . ovvv += tmp99 del tmp99 tmp96 = np . copy ( tmp89 ) del tmp89 tmp96 += einsum ( tmp76 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp96 += np . transpose ( tmp95 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp95 rdm2 . ovvv += np . transpose ( tmp96 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . ovvv += tmp96 rdm2 . ovvv += np . transpose ( tmp96 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . ovvv += tmp96 del tmp96 tmp88 = np . copy ( tmp76 ) * 0.5 del tmp76 tmp88 += tmp56 rdm2 . ovvv += einsum ( tmp88 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . ovvv += einsum ( tmp88 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . vovo += einsum ( tmp88 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . vovo += einsum ( tmp88 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . vovo += einsum ( tmp88 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . vovo += einsum ( tmp88 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 del tmp88 tmp103 = einsum ( t1 , ( 0 , 1 ), tmp102 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp102 rdm2 . ovvv += tmp103 * - 1 rdm2 . ovvv += tmp103 * - 1 del tmp103 tmp98 = np . copy ( tmp97 ) del tmp97 tmp98 += einsum ( tmp56 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 del tmp56 rdm2 . ovvv += np . transpose ( tmp98 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . ovvv += tmp98 rdm2 . ovvv += np . transpose ( tmp98 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . ovvv += tmp98 del tmp98 tmp87 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp43 , ( 1 , 4 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) del tmp43 rdm2 . vovo += np . transpose ( tmp87 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . vovo += np . transpose ( tmp87 , ( 2 , 1 , 3 , 0 )) * - 1 del tmp87 tmp81 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp80 , ( 1 , 4 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp80 rdm2 . vovo += np . transpose ( tmp81 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . vovo += np . transpose ( tmp81 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . voov += np . transpose ( tmp81 , ( 2 , 1 , 0 , 3 )) rdm2 . voov += np . transpose ( tmp81 , ( 2 , 1 , 0 , 3 )) rdm2 . ovvo += np . transpose ( tmp81 , ( 1 , 2 , 3 , 0 )) rdm2 . ovvo += np . transpose ( tmp81 , ( 1 , 2 , 3 , 0 )) rdm2 . ovvo += np . transpose ( tmp81 , ( 1 , 2 , 3 , 0 )) rdm2 . ovvo += np . transpose ( tmp81 , ( 1 , 2 , 3 , 0 )) del tmp81 tmp86 = einsum ( tmp85 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp85 rdm2 . vovo += np . transpose ( tmp86 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . vovo += np . transpose ( tmp86 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . voov += np . transpose ( tmp86 , ( 2 , 1 , 0 , 3 )) rdm2 . voov += np . transpose ( tmp86 , ( 2 , 1 , 0 , 3 )) del tmp86 tmp79 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp4 rdm2 . vovo += np . transpose ( tmp79 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . vovo += np . transpose ( tmp79 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . ovov += np . transpose ( tmp79 , ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . ovov += np . transpose ( tmp79 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp79 tmp73 = einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 0 , 5 ), ( 1 , 5 , 3 , 4 )) del tmp72 rdm2 . voov += np . transpose ( tmp73 , ( 3 , 0 , 1 , 2 )) * - 1 rdm2 . voov += np . transpose ( tmp73 , ( 3 , 0 , 1 , 2 )) * - 1 rdm2 . ovov += np . transpose ( tmp73 , ( 0 , 3 , 1 , 2 )) rdm2 . ovov += np . transpose ( tmp73 , ( 0 , 3 , 1 , 2 )) del tmp73 tmp74 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 3 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 0 )) del tmp20 rdm2 . voov += np . transpose ( tmp74 , ( 3 , 0 , 1 , 2 )) rdm2 . voov += np . transpose ( tmp74 , ( 3 , 0 , 1 , 2 )) rdm2 . ovov += np . transpose ( tmp74 , ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . ovov += np . transpose ( tmp74 , ( 0 , 3 , 1 , 2 )) * - 1 del tmp74 tmp75 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp14 rdm2 . ovvo += np . transpose ( tmp75 , ( 1 , 2 , 3 , 0 )) * - 1 rdm2 . ovvo += np . transpose ( tmp75 , ( 1 , 2 , 3 , 0 )) * - 1 rdm2 . ovov += np . transpose ( tmp75 , ( 1 , 2 , 0 , 3 )) rdm2 . ovov += np . transpose ( tmp75 , ( 1 , 2 , 0 , 3 )) del tmp75 tmp83 = einsum ( tmp82 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 1 , 4 , 2 , 5 )) del tmp82 rdm2 . ovvo += np . transpose ( tmp83 , ( 1 , 2 , 3 , 0 )) * - 1 rdm2 . ovvo += np . transpose ( tmp83 , ( 1 , 2 , 3 , 0 )) * - 1 del tmp83 tmp54 = np . copy ( tmp52 ) del tmp52 tmp54 += np . transpose ( tmp53 , ( 1 , 0 , 3 , 2 )) del tmp53 rdm2 . oovv += np . transpose ( tmp54 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . oovv += tmp54 rdm2 . oovv += np . transpose ( tmp54 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . oovv += tmp54 del tmp54 tmp66 = np . copy ( tmp48 ) * - 1 tmp66 += np . transpose ( tmp65 , ( 0 , 1 , 3 , 2 )) del tmp65 tmp66 += einsum ( tmp21 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp21 rdm2 . oovv += np . transpose ( tmp66 , ( 1 , 0 , 3 , 2 )) rdm2 . oovv += tmp66 rdm2 . oovv += np . transpose ( tmp66 , ( 1 , 0 , 3 , 2 )) rdm2 . oovv += tmp66 del tmp66 tmp61 = einsum ( tmp60 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp60 rdm2 . oovv += tmp61 rdm2 . oovv += tmp61 del tmp61 tmp69 = np . copy ( tmp47 ) tmp69 += np . transpose ( tmp68 , ( 0 , 1 , 3 , 2 )) del tmp68 rdm2 . oovv += np . transpose ( tmp69 , ( 1 , 0 , 2 , 3 )) * - 1 rdm2 . oovv += np . transpose ( tmp69 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . oovv += np . transpose ( tmp69 , ( 1 , 0 , 2 , 3 )) * - 1 rdm2 . oovv += np . transpose ( tmp69 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp69 tmp46 = np . copy ( tmp39 ) del tmp39 tmp46 += np . transpose ( tmp42 , ( 1 , 0 , 3 , 2 )) * 2 del tmp42 tmp46 += tmp45 del tmp45 rdm2 . oovv += np . transpose ( tmp46 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . oovv += tmp46 rdm2 . oovv += np . transpose ( tmp46 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . oovv += tmp46 del tmp46 tmp71 = np . copy ( t1 ) tmp71 += tmp19 * - 1 del tmp19 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), tmp71 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), tmp71 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp71 tmp70 = einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) rdm2 . oovv += np . transpose ( tmp70 , ( 0 , 1 , 3 , 2 )) rdm2 . oovv += np . transpose ( tmp70 , ( 0 , 1 , 3 , 2 )) del tmp70 tmp59 = np . copy ( np . transpose ( tmp57 , ( 1 , 0 , 3 , 2 ))) del tmp57 tmp59 += np . transpose ( tmp58 , ( 0 , 1 , 3 , 2 )) del tmp58 tmp59 += einsum ( tmp11 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 del tmp11 rdm2 . oovv += np . transpose ( tmp59 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . oovv += np . transpose ( tmp59 , ( 1 , 0 , 2 , 3 )) rdm2 . oovv += np . transpose ( tmp59 , ( 0 , 1 , 3 , 2 )) rdm2 . oovv += tmp59 * - 1 rdm2 . oovv += np . transpose ( tmp59 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . oovv += tmp59 * - 1 rdm2 . oovv += np . transpose ( tmp59 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . oovv += tmp59 * - 1 rdm2 . oovv += np . transpose ( tmp59 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . oovv += np . transpose ( tmp59 , ( 1 , 0 , 2 , 3 )) rdm2 . oovv += np . transpose ( tmp59 , ( 0 , 1 , 3 , 2 )) rdm2 . oovv += tmp59 * - 1 del tmp59 tmp63 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp62 rdm2 . oovv += np . transpose ( tmp63 , ( 0 , 1 , 3 , 2 )) rdm2 . oovv += np . transpose ( tmp63 , ( 0 , 1 , 3 , 2 )) del tmp63 tmp51 = np . copy ( tmp47 ) del tmp47 tmp51 += tmp48 * - 1 del tmp48 tmp51 += np . transpose ( tmp50 , ( 0 , 1 , 3 , 2 )) del tmp50 tmp51 += einsum ( t1 , ( 0 , 1 ), tmp22 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 del tmp22 rdm2 . oovv += np . transpose ( tmp51 , ( 1 , 0 , 3 , 2 )) rdm2 . oovv += np . transpose ( tmp51 , ( 1 , 0 , 2 , 3 )) * - 1 rdm2 . oovv += np . transpose ( tmp51 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . oovv += tmp51 rdm2 . oovv += np . transpose ( tmp51 , ( 1 , 0 , 3 , 2 )) rdm2 . oovv += np . transpose ( tmp51 , ( 1 , 0 , 2 , 3 )) * - 1 rdm2 . oovv += np . transpose ( tmp51 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . oovv += tmp51 del tmp51 tmp38 = einsum ( tmp2 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp38 += tmp15 tmp38 += tmp17 * - 1 rdm2 . oovo += np . transpose ( tmp38 , ( 2 , 1 , 3 , 0 )) rdm2 . oovo += np . transpose ( tmp38 , ( 1 , 2 , 3 , 0 )) * - 1 rdm2 . oovo += np . transpose ( tmp38 , ( 2 , 1 , 3 , 0 )) rdm2 . oovo += np . transpose ( tmp38 , ( 1 , 2 , 3 , 0 )) * - 1 del tmp38 tmp37 = np . copy ( tmp12 ) tmp37 += np . transpose ( tmp27 , ( 0 , 2 , 1 , 3 )) del tmp27 tmp37 += einsum ( tmp1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . oovo += np . transpose ( tmp37 , ( 2 , 1 , 3 , 0 )) rdm2 . oovo += np . transpose ( tmp37 , ( 1 , 2 , 3 , 0 )) * - 1 rdm2 . oovo += np . transpose ( tmp37 , ( 2 , 1 , 3 , 0 )) rdm2 . oovo += np . transpose ( tmp37 , ( 1 , 2 , 3 , 0 )) * - 1 del tmp37 tmp34 = np . copy ( t1 ) * - 1 tmp34 += tmp28 tmp34 += tmp30 * - 1 del tmp30 tmp34 += tmp33 rdm2 . oovo += einsum ( tmp34 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 rdm2 . oovo += einsum ( tmp34 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp34 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp34 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 del tmp34 tmp35 = np . copy ( tmp2 ) tmp35 += tmp1 rdm2 . oovo += einsum ( tmp35 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . oovo += einsum ( tmp35 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . ooov += einsum ( tmp35 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . ooov += einsum ( tmp35 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 del tmp35 tmp36 = np . copy ( tmp28 ) del tmp28 tmp36 += tmp33 del tmp33 rdm2 . oovo += einsum ( tmp36 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), tmp36 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . oovo += einsum ( tmp36 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), tmp36 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 del tmp36 tmp24 = np . copy ( tmp23 ) del tmp23 tmp24 += einsum ( tmp1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) del tmp1 rdm2 . ooov += np . transpose ( tmp24 , ( 2 , 1 , 0 , 3 )) * - 1 rdm2 . ooov += np . transpose ( tmp24 , ( 1 , 2 , 0 , 3 )) rdm2 . ooov += np . transpose ( tmp24 , ( 2 , 1 , 0 , 3 )) * - 1 rdm2 . ooov += np . transpose ( tmp24 , ( 1 , 2 , 0 , 3 )) del tmp24 tmp18 = np . copy ( tmp12 ) del tmp12 tmp18 += tmp13 del tmp13 tmp18 += tmp15 del tmp15 tmp18 += tmp17 * - 1 del tmp17 rdm2 . ooov += np . transpose ( tmp18 , ( 2 , 1 , 0 , 3 )) * - 1 rdm2 . ooov += np . transpose ( tmp18 , ( 1 , 2 , 0 , 3 )) rdm2 . ooov += np . transpose ( tmp18 , ( 2 , 1 , 0 , 3 )) * - 1 rdm2 . ooov += np . transpose ( tmp18 , ( 1 , 2 , 0 , 3 )) del tmp18 tmp7 = np . copy ( delta . oo ) tmp7 += tmp2 * - 1 del tmp2 rdm2 . oooo += einsum ( tmp7 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) rdm2 . oooo += einsum ( tmp7 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) del tmp7 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 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 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 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 . ovoo += einsum ( delta . oo , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . ovoo += einsum ( delta . oo , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) 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 += 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 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 , 3 , 1 )) 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 del delta rdm2 . oovv += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . oovv += t2 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 . oovv += t2 rdm2 . oovv += t2 rdm2 . oovv += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . oovv += t2 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 ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . ovov += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . ovvo += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . ovvo += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . ovvo += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . ovvo += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . voov += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . voov += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . voov += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . voov += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . vovo += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . vovo += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . vvoo = np . copy ( np . transpose ( l2 , ( 0 , 1 , 3 , 2 ))) * - 1 rdm2 . vvoo += l2 rdm2 . vvoo += l2 rdm2 . vvoo += l2 rdm2 . vvoo += np . transpose ( l2 , ( 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 = np . transpose ( rdm2 , ( 0 , 2 , 1 , 3 )) return rdm2 ebcc . codegen . RCCSD . hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-12T21:49:13.553236. Parameters f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp100 : array tmp101 : array tmp102 : array tmp103 : array tmp108 : array tmp109 : array tmp12 : array tmp14 : array tmp16 : array tmp17 : array tmp19 : array tmp21 : array tmp22 : array tmp23 : array tmp25 : array tmp27 : array tmp29 : array tmp3 : array tmp30 : array tmp34 : array tmp35 : array tmp36 : array tmp37 : array tmp39 : array tmp4 : array tmp40 : array tmp42 : array tmp45 : array tmp46 : array tmp48 : array tmp49 : array tmp5 : array tmp50 : array tmp51 : array tmp52 : array tmp54 : array tmp55 : array tmp56 : array tmp57 : array tmp58 : array tmp6 : array tmp60 : array tmp64 : array tmp65 : array tmp66 : array tmp67 : array tmp69 : array tmp75 : array tmp76 : array tmp77 : array tmp78 : array tmp82 : array tmp83 : array tmp85 : array tmp86 : array tmp87 : array tmp88 : array tmp89 : array tmp9 : array tmp90 : array tmp92 : array tmp93 : array tmp94 : array tmp98 : array tmp99 : array Source code in ebcc/codegen/RCCSD.py 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 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:49:13.553236. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp100 : array tmp101 : array tmp102 : array tmp103 : array tmp108 : array tmp109 : array tmp12 : array tmp14 : array tmp16 : array tmp17 : array tmp19 : array tmp21 : array tmp22 : array tmp23 : array tmp25 : array tmp27 : array tmp29 : array tmp3 : array tmp30 : array tmp34 : array tmp35 : array tmp36 : array tmp37 : array tmp39 : array tmp4 : array tmp40 : array tmp42 : array tmp45 : array tmp46 : array tmp48 : array tmp49 : array tmp5 : array tmp50 : array tmp51 : array tmp52 : array tmp54 : array tmp55 : array tmp56 : array tmp57 : array tmp58 : array tmp6 : array tmp60 : array tmp64 : array tmp65 : array tmp66 : array tmp67 : array tmp69 : array tmp75 : array tmp76 : array tmp77 : array tmp78 : array tmp82 : array tmp83 : array tmp85 : array tmp86 : array tmp87 : array tmp88 : array tmp89 : array tmp9 : array tmp90 : array tmp92 : array tmp93 : array tmp94 : array tmp98 : array tmp99 : array \"\"\" tmp0 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp93 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp3 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp77 = einsum ( tmp3 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp4 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp78 = einsum ( tmp4 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp5 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp75 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp55 = einsum ( tmp5 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp54 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 1 , 2 ), ( 0 , 3 )) tmp16 = einsum ( tmp5 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp108 = einsum ( t1 , ( 0 , 1 ), tmp16 , ( 2 , 0 ), ( 2 , 1 )) tmp6 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp76 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp57 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 3 ), ( 0 , 2 )) tmp56 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 2 ), ( 0 , 3 )) tmp17 = einsum ( t1 , ( 0 , 1 ), tmp6 , ( 2 , 1 ), ( 0 , 2 )) tmp109 = einsum ( tmp17 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp9 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp100 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 4 , 5 , 1 , 2 ), ( 4 , 0 , 5 , 3 )) tmp99 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp98 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp90 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp92 = einsum ( tmp90 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp36 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) tmp35 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp34 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp12 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) tmp102 = einsum ( tmp12 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp101 = einsum ( tmp14 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp19 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp87 = einsum ( t1 , ( 0 , 1 ), tmp19 , ( 2 , 1 ), ( 0 , 2 )) tmp21 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp88 = einsum ( t1 , ( 0 , 1 ), tmp21 , ( 1 , 2 ), ( 0 , 2 )) tmp22 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp23 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp25 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp27 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp29 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp30 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp103 = einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) tmp37 = einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp39 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp40 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp42 = einsum ( v . oooo , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp45 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp46 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp48 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 5 , 3 )) tmp49 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp50 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp51 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) tmp52 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp58 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp60 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp64 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp65 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp66 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) tmp67 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) tmp69 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp82 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp83 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp89 = einsum ( tmp83 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp85 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 4 )) tmp86 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp94 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) return { f \"tmp0\" : tmp0 , f \"tmp100\" : tmp100 , f \"tmp101\" : tmp101 , f \"tmp102\" : tmp102 , f \"tmp103\" : tmp103 , f \"tmp108\" : tmp108 , f \"tmp109\" : tmp109 , f \"tmp12\" : tmp12 , f \"tmp14\" : tmp14 , f \"tmp16\" : tmp16 , f \"tmp17\" : tmp17 , f \"tmp19\" : tmp19 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp23\" : tmp23 , f \"tmp25\" : tmp25 , f \"tmp27\" : tmp27 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp34\" : tmp34 , f \"tmp35\" : tmp35 , f \"tmp36\" : tmp36 , f \"tmp37\" : tmp37 , f \"tmp39\" : tmp39 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp42\" : tmp42 , f \"tmp45\" : tmp45 , f \"tmp46\" : tmp46 , f \"tmp48\" : tmp48 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp50\" : tmp50 , f \"tmp51\" : tmp51 , f \"tmp52\" : tmp52 , f \"tmp54\" : tmp54 , f \"tmp55\" : tmp55 , f \"tmp56\" : tmp56 , f \"tmp57\" : tmp57 , f \"tmp58\" : tmp58 , f \"tmp6\" : tmp6 , f \"tmp60\" : tmp60 , f \"tmp64\" : tmp64 , f \"tmp65\" : tmp65 , f \"tmp66\" : tmp66 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp75\" : tmp75 , f \"tmp76\" : tmp76 , f \"tmp77\" : tmp77 , f \"tmp78\" : tmp78 , f \"tmp82\" : tmp82 , f \"tmp83\" : tmp83 , f \"tmp85\" : tmp85 , f \"tmp86\" : tmp86 , f \"tmp87\" : tmp87 , f \"tmp88\" : tmp88 , f \"tmp89\" : tmp89 , f \"tmp9\" : tmp9 , f \"tmp90\" : tmp90 , f \"tmp92\" : tmp92 , f \"tmp93\" : tmp93 , f \"tmp94\" : tmp94 , f \"tmp98\" : tmp98 , f \"tmp99\" : tmp99 } ebcc . codegen . RCCSD . 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:49:13.585556. 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. Source code in ebcc/codegen/RCCSD.py 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 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:49:13.585556. 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\" ] tmp12 = np . copy ( r2 ) * 2 tmp12 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 1 tmp13 = np . copy ( ints . tmp9 ) tmp13 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) tmp1 = np . copy ( f . ov ) * 0.5 tmp1 += ints . tmp6 tmp1 += ints . tmp5 * - 0.5 tmp15 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 0.5 tmp15 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp14 = einsum ( tmp12 , ( 0 , 1 , 2 ), tmp13 , ( 3 , 0 , 4 , 2 ), ( 1 , 4 , 3 )) * - 1 del tmp12 tmp14 += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 3 ), ( 0 , 1 , 4 )) tmp14 += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 4 , 3 ), ( 4 , 1 , 0 )) del tmp13 r2new = einsum ( tmp14 , ( 0 , 1 , 2 ), t1 , ( 1 , 3 ), ( 2 , 0 , 3 )) del tmp14 tmp7 = np . copy ( ints . tmp25 ) tmp7 += np . transpose ( ints . tmp30 , ( 1 , 0 , 2 , 3 )) tmp7 += ints . tmp90 r2new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 2 , 4 ), ( 1 , 0 , 4 )) del tmp7 tmp6 = np . copy ( ints . tmp22 ) tmp6 += v . oovv tmp6 += ints . tmp49 * - 1 r2new += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * - 1 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp6 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp6 tmp9 = np . copy ( ints . tmp21 ) tmp9 += np . transpose ( ints . tmp69 , ( 1 , 0 )) * 2 tmp9 += f . vv * - 1 tmp9 += np . transpose ( ints . tmp19 , ( 1 , 0 )) * - 2 tmp9 += np . transpose ( ints . tmp67 , ( 1 , 0 )) * - 1 tmp9 += einsum ( t1 , ( 0 , 1 ), tmp1 , ( 0 , 2 ), ( 2 , 1 )) * 2 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp9 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp9 tmp10 = np . copy ( ints . tmp100 ) tmp10 += np . transpose ( ints . tmp103 , ( 0 , 2 , 1 , 3 )) tmp10 += np . transpose ( ints . tmp27 , ( 1 , 0 , 2 , 3 )) tmp10 += np . transpose ( ints . tmp35 , ( 1 , 0 , 2 , 3 )) tmp10 += np . transpose ( ints . tmp36 , ( 1 , 0 , 2 , 3 )) tmp10 += np . transpose ( ints . tmp37 , ( 1 , 0 , 2 , 3 )) tmp10 += np . transpose ( ints . tmp42 , ( 2 , 0 , 1 , 3 )) tmp10 += ints . tmp45 tmp10 += ints . tmp48 tmp10 += np . transpose ( ints . tmp66 , ( 1 , 0 , 2 , 3 )) tmp10 += ints . tmp75 tmp10 += np . transpose ( ints . tmp92 , ( 1 , 0 , 2 , 3 )) tmp10 += np . transpose ( ints . tmp23 , ( 1 , 0 , 2 , 3 )) * - 1 tmp10 += np . transpose ( ints . tmp34 , ( 1 , 0 , 2 , 3 )) * - 2 tmp10 += ints . tmp46 * - 2 tmp10 += np . transpose ( ints . tmp60 , ( 1 , 2 , 0 , 3 )) * - 1 tmp10 += ints . tmp76 * - 2 tmp10 += np . transpose ( ints . tmp89 , ( 1 , 0 , 2 , 3 )) * - 1 tmp10 += ints . tmp94 * - 1 tmp10 += np . transpose ( ints . tmp9 , ( 1 , 0 , 2 , 3 )) * - 1 tmp10 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 r2new += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), r1 , ( 2 ,), ( 0 , 1 , 3 )) * - 1 del tmp10 tmp16 = einsum ( r2 , ( 0 , 1 , 2 ), tmp15 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) del tmp15 r2new += einsum ( tmp16 , ( 0 ,), t2 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * - 2 del tmp16 tmp4 = np . copy ( r2 ) tmp4 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 0.5 tmp5 = np . copy ( ints . tmp52 ) * 2 tmp5 += np . transpose ( ints . tmp83 , ( 0 , 1 , 3 , 2 )) tmp5 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp5 += ints . tmp50 * - 1 tmp5 += ints . tmp51 * - 1 r2new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * 2 del tmp5 , tmp4 tmp11 = np . copy ( f . oo ) * 0.5 tmp11 += ints . tmp0 * 0.5 tmp11 += np . transpose ( ints . tmp14 , ( 1 , 0 )) tmp11 += np . transpose ( ints . tmp17 , ( 1 , 0 )) tmp11 += np . transpose ( ints . tmp4 , ( 1 , 0 )) tmp11 += np . transpose ( ints . tmp12 , ( 1 , 0 )) * - 0.5 tmp11 += np . transpose ( ints . tmp16 , ( 1 , 0 )) * - 0.5 tmp11 += np . transpose ( ints . tmp3 , ( 1 , 0 )) * - 0.5 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp11 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 2 r2new += einsum ( tmp11 , ( 0 , 1 ), r2 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 2 del tmp11 tmp17 = np . copy ( ints . tmp101 ) * 2 tmp17 += ints . tmp109 * 2 tmp17 += ints . tmp29 tmp17 += ints . tmp39 tmp17 += ints . tmp55 * 2 tmp17 += ints . tmp56 * 2 tmp17 += ints . tmp58 tmp17 += ints . tmp65 * 2 tmp17 += ints . tmp78 * 2 tmp17 += ints . tmp86 tmp17 += ints . tmp88 tmp17 += ints . tmp93 tmp17 += ints . tmp98 * 2 tmp17 += f . ov * - 1 tmp17 += ints . tmp102 * - 1 tmp17 += ints . tmp108 * - 1 tmp17 += ints . tmp40 * - 2 tmp17 += ints . tmp54 * - 1 tmp17 += ints . tmp57 * - 4 tmp17 += ints . tmp64 * - 1 tmp17 += ints . tmp6 * - 2 tmp17 += ints . tmp77 * - 1 tmp17 += ints . tmp82 * - 1 tmp17 += ints . tmp85 * - 2 tmp17 += ints . tmp87 * - 2 tmp17 += ints . tmp99 * - 1 r2new += einsum ( tmp17 , ( 0 , 1 ), r1 , ( 2 ,), ( 0 , 2 , 1 )) del tmp17 tmp8 = np . copy ( ints . tmp30 ) tmp8 += np . transpose ( v . oooo , ( 0 , 2 , 3 , 1 )) r2new += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 ), ( 1 , 0 , 4 )) del tmp8 tmp2 = np . copy ( r2 ) * - 1 tmp2 += np . transpose ( r2 , ( 1 , 0 , 2 )) * 2 r1new = einsum ( tmp2 , ( 0 , 1 , 2 ), tmp1 , ( 1 , 2 ), ( 0 ,)) * - 2 del tmp1 , tmp2 tmp0 = np . copy ( ints . tmp9 ) tmp0 += v . ooov * - 0.5 tmp0 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) r1new += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 2 , 3 ), ( 0 ,)) * 2 del tmp0 tmp3 = np . copy ( f . oo ) tmp3 += ints . tmp0 tmp3 += np . transpose ( ints . tmp14 , ( 1 , 0 )) * 2 tmp3 += np . transpose ( ints . tmp17 , ( 1 , 0 )) * 2 tmp3 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * 2 tmp3 += np . transpose ( ints . tmp12 , ( 1 , 0 )) * - 1 tmp3 += np . transpose ( ints . tmp16 , ( 1 , 0 )) * - 1 tmp3 += np . transpose ( ints . tmp3 , ( 1 , 0 )) * - 1 r1new += einsum ( tmp3 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) * - 1 del tmp3 r1new += einsum ( ints . tmp9 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 1 , 3 ), ( 0 ,)) * - 1 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . RCCSD . hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-12T21:49:31.771471. Parameters f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp102 : array tmp103 : array tmp104 : array tmp106 : array tmp107 : array tmp108 : array tmp109 : array tmp14 : array tmp16 : array tmp25 : array tmp28 : array tmp3 : array tmp32 : array tmp33 : array tmp34 : array tmp36 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp52 : array tmp54 : array tmp55 : array tmp56 : array tmp58 : array tmp6 : array tmp60 : array tmp61 : array tmp63 : array tmp64 : array tmp66 : array tmp67 : array tmp7 : array tmp72 : array tmp73 : array tmp74 : array tmp75 : array tmp76 : array tmp81 : array tmp82 : array tmp83 : array tmp88 : array tmp89 : array tmp90 : array tmp91 : array tmp93 : array tmp94 : array tmp97 : array tmp98 : array tmp99 : array Source code in ebcc/codegen/RCCSD.py 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 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:49:31.771471. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp102 : array tmp103 : array tmp104 : array tmp106 : array tmp107 : array tmp108 : array tmp109 : array tmp14 : array tmp16 : array tmp25 : array tmp28 : array tmp3 : array tmp32 : array tmp33 : array tmp34 : array tmp36 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp52 : array tmp54 : array tmp55 : array tmp56 : array tmp58 : array tmp6 : array tmp60 : array tmp61 : array tmp63 : array tmp64 : array tmp66 : array tmp67 : array tmp7 : array tmp72 : array tmp73 : array tmp74 : array tmp75 : array tmp76 : array tmp81 : array tmp82 : array tmp83 : array tmp88 : array tmp89 : array tmp90 : array tmp91 : array tmp93 : array tmp94 : array tmp97 : array tmp98 : array tmp99 : array \"\"\" tmp3 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp63 = einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 1 ), ( 0 , 2 )) tmp5 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp64 = einsum ( tmp5 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 2 , 1 )) tmp6 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp107 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 3 ), ( 0 , 2 )) tmp106 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 2 ), ( 0 , 3 )) tmp66 = einsum ( t1 , ( 0 , 1 ), tmp6 , ( 2 , 1 ), ( 0 , 2 )) tmp81 = einsum ( tmp66 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp7 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp109 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 1 , 3 ), ( 0 , 2 )) tmp108 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 1 , 2 ), ( 0 , 3 )) tmp67 = einsum ( t1 , ( 0 , 1 ), tmp7 , ( 2 , 1 ), ( 0 , 2 )) tmp82 = einsum ( tmp67 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp14 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) tmp16 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp25 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 2 ), ( 0 , 3 , 4 , 5 )) tmp28 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp32 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp33 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp90 = einsum ( tmp33 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp34 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp91 = einsum ( tmp34 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp36 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 5 ), ( 0 , 5 , 4 , 3 )) tmp46 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp47 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp72 = einsum ( tmp47 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp49 = einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp51 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp52 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp54 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 4 )) tmp55 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp56 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) tmp76 = einsum ( tmp56 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp58 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp75 = einsum ( tmp58 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp60 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp74 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp60 , ( 4 , 1 , 0 , 2 ), ( 4 , 3 )) tmp73 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp60 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) tmp61 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp60 , ( 4 , 1 , 0 , 5 ), ( 4 , 3 , 2 , 5 )) tmp83 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp88 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) tmp89 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 0 , 2 ), ( 4 , 3 )) tmp93 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp94 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp97 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp98 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp99 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) tmp102 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp103 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) tmp104 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) return { f \"tmp102\" : tmp102 , f \"tmp103\" : tmp103 , f \"tmp104\" : tmp104 , f \"tmp106\" : tmp106 , f \"tmp107\" : tmp107 , f \"tmp108\" : tmp108 , f \"tmp109\" : tmp109 , f \"tmp14\" : tmp14 , f \"tmp16\" : tmp16 , f \"tmp25\" : tmp25 , f \"tmp28\" : tmp28 , f \"tmp3\" : tmp3 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp34\" : tmp34 , f \"tmp36\" : tmp36 , f \"tmp46\" : tmp46 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp51\" : tmp51 , f \"tmp52\" : tmp52 , f \"tmp54\" : tmp54 , f \"tmp55\" : tmp55 , f \"tmp56\" : tmp56 , f \"tmp58\" : tmp58 , f \"tmp6\" : tmp6 , f \"tmp60\" : tmp60 , f \"tmp61\" : tmp61 , f \"tmp63\" : tmp63 , f \"tmp64\" : tmp64 , f \"tmp66\" : tmp66 , f \"tmp67\" : tmp67 , f \"tmp7\" : tmp7 , f \"tmp72\" : tmp72 , f \"tmp73\" : tmp73 , f \"tmp74\" : tmp74 , f \"tmp75\" : tmp75 , f \"tmp76\" : tmp76 , f \"tmp81\" : tmp81 , f \"tmp82\" : tmp82 , f \"tmp83\" : tmp83 , f \"tmp88\" : tmp88 , f \"tmp89\" : tmp89 , f \"tmp90\" : tmp90 , f \"tmp91\" : tmp91 , f \"tmp93\" : tmp93 , f \"tmp94\" : tmp94 , f \"tmp97\" : tmp97 , f \"tmp98\" : tmp98 , f \"tmp99\" : tmp99 } ebcc . codegen . RCCSD . 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:49:31.797281. 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. Source code in ebcc/codegen/RCCSD.py 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 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:49:31.797281. 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\" ] tmp1 = np . copy ( f . ov ) * 0.5 tmp1 += ints . tmp7 tmp1 += ints . tmp6 * - 0.5 tmp4 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * 2 tmp4 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp6 = np . copy ( f . ov ) tmp6 += ints . tmp7 * 2 tmp6 += ints . tmp6 * - 1 tmp9 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 3 , 4 ), ( 4 , 0 , 2 )) r2new = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 4 , 1 , 0 ), ( 3 , 2 , 4 )) tmp20 = np . copy ( ints . tmp60 ) tmp20 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) tmp12 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp12 += einsum ( r1 , ( 0 ,), t1 , ( 1 , 2 ), ( 1 , 2 , 0 )) * - 1 tmp14 = np . copy ( ints . tmp60 ) * - 0.5 tmp14 += np . transpose ( ints . tmp60 , ( 0 , 2 , 1 , 3 )) tmp14 += v . ooov tmp14 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp16 = einsum ( tmp1 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 2 , 1 )) * 2 tmp5 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 2 , 0 ), ( 1 ,)) del tmp4 tmp7 = einsum ( tmp6 , ( 0 , 1 ), r1 , ( 1 ,), ( 0 ,)) del tmp6 tmp21 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 3 , 4 ), ( 4 , 0 , 2 )) * - 1 tmp21 += einsum ( t1 , ( 0 , 1 ), tmp9 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) del tmp9 tmp21 += einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), tmp12 , ( 1 , 4 , 3 ), ( 0 , 2 , 4 )) r2new += einsum ( tmp21 , ( 0 , 1 , 2 ), t1 , ( 1 , 3 ), ( 3 , 2 , 0 )) del tmp21 tmp13 = np . copy ( ints . tmp51 ) tmp13 += v . oovv tmp13 += ints . tmp28 * - 1 r2new += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), tmp12 , ( 1 , 4 , 3 ), ( 4 , 2 , 0 )) * - 1 del tmp12 , tmp13 tmp23 = np . copy ( ints . tmp107 ) * 2 tmp23 += ints . tmp108 * 2 tmp23 += ints . tmp32 tmp23 += ints . tmp55 tmp23 += ints . tmp64 tmp23 += ints . tmp72 tmp23 += ints . tmp73 * 2 tmp23 += ints . tmp75 * 2 tmp23 += ints . tmp82 * 2 tmp23 += ints . tmp83 tmp23 += ints . tmp89 * 2 tmp23 += ints . tmp91 * 2 tmp23 += ints . tmp93 tmp23 += f . ov * - 1 tmp23 += ints . tmp106 * - 1 tmp23 += ints . tmp109 * - 4 tmp23 += ints . tmp46 * - 1 tmp23 += ints . tmp54 * - 2 tmp23 += ints . tmp63 * - 2 tmp23 += ints . tmp74 * - 1 tmp23 += ints . tmp76 * - 1 tmp23 += ints . tmp7 * - 2 tmp23 += ints . tmp81 * - 1 tmp23 += ints . tmp88 * - 1 tmp23 += ints . tmp90 * - 1 tmp23 += ints . tmp94 * - 2 r2new += einsum ( r1 , ( 0 ,), tmp23 , ( 1 , 2 ), ( 2 , 0 , 1 )) del tmp23 tmp22 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 1 , 4 ), ( 4 , 0 , 2 )) * - 1 tmp22 += einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 3 , 2 ), ( 0 , 1 , 4 )) del tmp20 r2new += einsum ( t1 , ( 0 , 1 ), tmp22 , ( 2 , 0 , 3 ), ( 3 , 1 , 2 )) del tmp22 tmp10 = einsum ( t1 , ( 0 , 1 ), r1 , ( 2 ,), ( 0 , 2 , 1 )) * 0.5 tmp10 += np . transpose ( r2 , ( 2 , 0 , 1 )) tmp10 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 0.5 tmp19 = np . copy ( f . oo ) tmp19 += np . transpose ( ints . tmp34 , ( 1 , 0 )) * 2 tmp19 += ints . tmp47 tmp19 += np . transpose ( ints . tmp58 , ( 1 , 0 )) * 2 tmp19 += np . transpose ( ints . tmp67 , ( 1 , 0 )) * 2 tmp19 += np . transpose ( ints . tmp33 , ( 1 , 0 )) * - 1 tmp19 += np . transpose ( ints . tmp56 , ( 1 , 0 )) * - 1 tmp19 += np . transpose ( ints . tmp66 , ( 1 , 0 )) * - 1 r2new += einsum ( tmp19 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp19 tmp15 = np . copy ( ints . tmp51 ) tmp15 += v . oovv tmp15 += ints . tmp28 * - 1 tmp15 += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * 2 del tmp14 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp15 , ( 3 , 2 , 4 , 0 ), ( 4 , 1 , 3 )) * - 1 del tmp15 tmp11 = np . copy ( ints . tmp104 ) * 2 tmp11 += np . transpose ( ints . tmp52 , ( 0 , 1 , 3 , 2 )) tmp11 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp11 += ints . tmp102 * - 1 tmp11 += ints . tmp103 * - 1 r2new += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 1 , 3 , 4 ), ( 2 , 4 , 0 )) * 2 del tmp11 , tmp10 tmp17 = np . copy ( np . transpose ( ints . tmp16 , ( 1 , 0 ))) * 2 tmp17 += ints . tmp5 tmp17 += f . vv * - 1 tmp17 += np . transpose ( ints . tmp14 , ( 1 , 0 )) * - 1 tmp17 += np . transpose ( ints . tmp3 , ( 1 , 0 )) * - 2 tmp17 += np . transpose ( tmp16 , ( 1 , 0 )) del tmp16 r2new += einsum ( tmp17 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new += einsum ( tmp17 , ( 0 , 1 ), r2 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 del tmp17 tmp8 = np . copy ( tmp5 ) * - 1 del tmp5 tmp8 += tmp7 del tmp7 r2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp8 , ( 1 ,), ( 2 , 3 , 0 )) r1new = einsum ( t1 , ( 0 , 1 ), tmp8 , ( 0 ,), ( 1 ,)) * - 1 del tmp8 tmp18 = np . copy ( np . transpose ( ints . tmp36 , ( 0 , 2 , 3 , 1 ))) tmp18 += ints . tmp49 tmp18 += np . transpose ( ints . tmp61 , ( 0 , 1 , 3 , 2 )) tmp18 += np . transpose ( ints . tmp97 , ( 0 , 2 , 3 , 1 )) * 2 tmp18 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) tmp18 += ints . tmp25 * - 1 tmp18 += np . transpose ( ints . tmp98 , ( 0 , 3 , 2 , 1 )) * - 1 tmp18 += np . transpose ( ints . tmp99 , ( 0 , 2 , 3 , 1 )) * - 1 r2new += einsum ( r1 , ( 0 ,), tmp18 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del tmp18 tmp2 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 1 tmp2 += np . transpose ( r2 , ( 2 , 1 , 0 )) * 2 r1new += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp1 , ( 0 , 2 ), ( 1 ,)) * - 2 del tmp1 , tmp2 tmp0 = np . copy ( v . ovvv ) * 2 tmp0 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 r1new += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 2 , 0 ), ( 3 ,)) * - 1 del tmp0 tmp3 = np . copy ( f . vv ) tmp3 += np . transpose ( ints . tmp14 , ( 1 , 0 )) tmp3 += np . transpose ( ints . tmp3 , ( 1 , 0 )) * 2 tmp3 += np . transpose ( ints . tmp16 , ( 1 , 0 )) * - 2 tmp3 += ints . tmp5 * - 1 r1new += einsum ( r1 , ( 0 ,), tmp3 , ( 0 , 1 ), ( 1 ,)) del tmp3 r2new += einsum ( r2 , ( 0 , 1 , 2 ), v . vvvv , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . RCCSD . hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-13T22:21:23.772354. Parameters f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp1 : array tmp100 : array tmp103 : array tmp104 : array tmp107 : array tmp108 : array tmp112 : array tmp113 : array tmp114 : array tmp116 : array tmp117 : array tmp12 : array tmp13 : array tmp134 : array tmp136 : array tmp14 : array tmp17 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp24 : array tmp26 : array tmp29 : array tmp3 : array tmp32 : array tmp33 : array tmp35 : array tmp36 : array tmp38 : array tmp4 : array tmp41 : array tmp44 : array tmp47 : array tmp48 : array tmp49 : array tmp51 : array tmp54 : array tmp57 : array tmp6 : array tmp60 : array tmp63 : array tmp66 : array tmp69 : array tmp70 : array tmp72 : array tmp73 : array tmp75 : array tmp78 : array tmp81 : array tmp82 : array tmp85 : array tmp86 : array tmp87 : array tmp88 : array tmp9 : array tmp90 : array tmp91 : array tmp92 : array tmp93 : array tmp94 : array tmp97 : array tmp98 : array tmp99 : array Source code in ebcc/codegen/RCCSD.py 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 def hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:21:23.772354. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp100 : array tmp103 : array tmp104 : array tmp107 : array tmp108 : array tmp112 : array tmp113 : array tmp114 : array tmp116 : array tmp117 : array tmp12 : array tmp13 : array tmp134 : array tmp136 : array tmp14 : array tmp17 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp24 : array tmp26 : array tmp29 : array tmp3 : array tmp32 : array tmp33 : array tmp35 : array tmp36 : array tmp38 : array tmp4 : array tmp41 : array tmp44 : array tmp47 : array tmp48 : array tmp49 : array tmp51 : array tmp54 : array tmp57 : array tmp6 : array tmp60 : array tmp63 : array tmp66 : array tmp69 : array tmp70 : array tmp72 : array tmp73 : array tmp75 : array tmp78 : array tmp81 : array tmp82 : array tmp85 : array tmp86 : array tmp87 : array tmp88 : array tmp9 : array tmp90 : array tmp91 : array tmp92 : array tmp93 : array tmp94 : array tmp97 : array tmp98 : array tmp99 : array \"\"\" tmp20 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp17 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp47 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp107 = einsum ( t1 , ( 0 , 1 ), tmp20 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp86 = einsum ( t1 , ( 0 , 1 ), tmp17 , ( 2 , 1 ), ( 0 , 2 )) tmp85 = einsum ( t1 , ( 0 , 1 ), tmp47 , ( 2 , 1 ), ( 0 , 2 )) tmp99 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp97 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp93 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 1 ), ( 2 , 3 )) tmp90 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp13 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp12 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp81 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp22 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) tmp24 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp0 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp136 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 2 , 1 , 4 ), ( 3 , 4 )) tmp134 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 2 ), ( 3 , 4 )) tmp117 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp116 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) tmp114 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp113 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp112 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp108 = einsum ( t1 , ( 0 , 1 ), tmp107 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp104 = einsum ( t1 , ( 0 , 1 ), tmp86 , ( 2 , 0 ), ( 2 , 1 )) tmp103 = einsum ( t1 , ( 0 , 1 ), tmp85 , ( 2 , 0 ), ( 2 , 1 )) tmp100 = einsum ( tmp99 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp98 = einsum ( t1 , ( 0 , 1 ), tmp97 , ( 1 , 2 ), ( 0 , 2 )) tmp94 = einsum ( t1 , ( 0 , 1 ), tmp93 , ( 2 , 1 ), ( 0 , 2 )) tmp92 = einsum ( t1 , ( 0 , 1 ), tmp90 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp91 = einsum ( t1 , ( 0 , 1 ), tmp90 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp88 = einsum ( t1 , ( 0 , 1 ), tmp13 , ( 2 , 0 ), ( 2 , 1 )) tmp87 = einsum ( t1 , ( 0 , 1 ), tmp12 , ( 2 , 0 ), ( 2 , 1 )) tmp82 = einsum ( tmp81 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp78 = einsum ( t1 , ( 0 , 1 ), tmp22 , ( 2 , 0 ), ( 2 , 1 )) tmp75 = einsum ( tmp24 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp73 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp72 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) tmp70 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp69 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp66 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp63 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 )) tmp60 = einsum ( tmp17 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp57 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp47 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp54 = einsum ( tmp17 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp51 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 2 ), ( 0 , 3 )) tmp49 = einsum ( tmp47 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp48 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp47 , ( 1 , 2 ), ( 0 , 3 )) tmp44 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp41 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp38 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 1 ), ( 4 , 2 )) tmp36 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp35 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 5 , 3 )) tmp33 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp32 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) tmp29 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp26 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp21 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp19 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp14 = einsum ( t1 , ( 0 , 1 ), v . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp9 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp6 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp2 = einsum ( t1 , ( 0 , 1 ), f . vv , ( 2 , 1 ), ( 0 , 2 )) tmp1 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp100\" : tmp100 , f \"tmp103\" : tmp103 , f \"tmp104\" : tmp104 , f \"tmp107\" : tmp107 , f \"tmp108\" : tmp108 , f \"tmp112\" : tmp112 , f \"tmp113\" : tmp113 , f \"tmp114\" : tmp114 , f \"tmp116\" : tmp116 , f \"tmp117\" : tmp117 , f \"tmp12\" : tmp12 , f \"tmp13\" : tmp13 , f \"tmp134\" : tmp134 , f \"tmp136\" : tmp136 , f \"tmp14\" : tmp14 , f \"tmp17\" : tmp17 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp24\" : tmp24 , f \"tmp26\" : tmp26 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp35\" : tmp35 , f \"tmp36\" : tmp36 , f \"tmp38\" : tmp38 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp44\" : tmp44 , f \"tmp47\" : tmp47 , f \"tmp48\" : tmp48 , f \"tmp49\" : tmp49 , f \"tmp51\" : tmp51 , f \"tmp54\" : tmp54 , f \"tmp57\" : tmp57 , f \"tmp6\" : tmp6 , f \"tmp60\" : tmp60 , f \"tmp63\" : tmp63 , f \"tmp66\" : tmp66 , f \"tmp69\" : tmp69 , f \"tmp70\" : tmp70 , f \"tmp72\" : tmp72 , f \"tmp73\" : tmp73 , f \"tmp75\" : tmp75 , f \"tmp78\" : tmp78 , f \"tmp81\" : tmp81 , f \"tmp82\" : tmp82 , f \"tmp85\" : tmp85 , f \"tmp86\" : tmp86 , f \"tmp87\" : tmp87 , f \"tmp88\" : tmp88 , f \"tmp9\" : tmp9 , f \"tmp90\" : tmp90 , f \"tmp91\" : tmp91 , f \"tmp92\" : tmp92 , f \"tmp93\" : tmp93 , f \"tmp94\" : tmp94 , f \"tmp97\" : tmp97 , f \"tmp98\" : tmp98 , f \"tmp99\" : tmp99 } ebcc . codegen . RCCSD . hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-13T22:21:23.798456. 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. Source code in ebcc/codegen/RCCSD.py 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:21:23.798456. 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\" ] tmp18 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp18 += t2 tmp15 = np . copy ( f . ov ) tmp15 += ints . tmp17 * 2 tmp15 += ints . tmp47 * - 1 tmp11 = einsum ( t1 , ( 0 , 1 ), r2 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) tmp10 = np . copy ( ints . tmp107 ) tmp10 += ints . tmp81 tmp10 += np . transpose ( ints . tmp90 , ( 0 , 1 , 3 , 2 )) tmp10 += np . transpose ( v . oooo , ( 0 , 2 , 1 , 3 )) tmp17 = np . copy ( f . oo ) * 0.5 tmp17 += np . transpose ( ints . tmp0 , ( 1 , 0 )) * 0.5 tmp17 += ints . tmp13 tmp17 += ints . tmp24 tmp17 += ints . tmp86 tmp17 += ints . tmp12 * - 0.5 tmp17 += ints . tmp22 * - 0.5 tmp17 += ints . tmp85 * - 0.5 tmp14 = np . copy ( ints . tmp20 ) tmp14 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) tmp8 = np . copy ( ints . tmp117 ) * 2 tmp8 += np . transpose ( ints . tmp99 , ( 0 , 1 , 3 , 2 )) tmp8 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp8 += ints . tmp114 * - 1 tmp8 += ints . tmp116 * - 1 tmp19 = einsum ( r2 , ( 0 , 1 , 2 ), tmp18 , ( 1 , 0 , 3 , 2 ), ( 3 ,)) del tmp18 tmp7 = np . copy ( r2 ) tmp7 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 0.5 tmp9 = np . copy ( ints . tmp112 ) tmp9 += v . oovv tmp9 += np . transpose ( ints . tmp113 , ( 0 , 1 , 3 , 2 )) * - 1 tmp13 = np . copy ( ints . tmp20 ) tmp13 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) tmp16 = np . copy ( ints . tmp136 ) * 2 tmp16 += np . transpose ( ints . tmp97 , ( 1 , 0 )) tmp16 += f . vv * - 1 tmp16 += ints . tmp134 * - 1 tmp16 += ints . tmp93 * - 2 tmp16 += einsum ( tmp15 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 2 , 1 )) tmp12 = np . copy ( tmp11 ) * - 0.5 tmp12 += np . transpose ( tmp11 , ( 1 , 0 , 2 )) tmp0 = np . copy ( r2 ) * - 0.5 tmp0 += np . transpose ( r2 , ( 1 , 0 , 2 )) tmp2 = np . copy ( r2 ) * 2 tmp2 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 1 tmp5 = np . copy ( ints . tmp104 ) * 2 tmp5 += ints . tmp19 tmp5 += ints . tmp1 tmp5 += ints . tmp29 * 2 tmp5 += ints . tmp3 tmp5 += ints . tmp41 tmp5 += ints . tmp49 * 2 tmp5 += ints . tmp51 * 2 tmp5 += ints . tmp63 * 2 tmp5 += ints . tmp75 * 2 tmp5 += ints . tmp88 * 2 tmp5 += ints . tmp98 tmp5 += ints . tmp9 tmp5 += f . ov * - 1 tmp5 += ints . tmp103 * - 1 tmp5 += ints . tmp17 * - 2 tmp5 += ints . tmp26 * - 1 tmp5 += ints . tmp2 * - 1 tmp5 += ints . tmp38 * - 2 tmp5 += ints . tmp48 * - 1 tmp5 += ints . tmp4 * - 2 tmp5 += ints . tmp54 * - 4 tmp5 += ints . tmp66 * - 1 tmp5 += ints . tmp78 * - 1 tmp5 += ints . tmp87 * - 1 tmp5 += ints . tmp94 * - 2 tmp3 = np . copy ( np . transpose ( ints . tmp33 , ( 0 , 2 , 1 , 3 ))) tmp3 += ints . tmp35 tmp3 += np . transpose ( ints . tmp57 , ( 0 , 2 , 1 , 3 )) tmp3 += np . transpose ( ints . tmp72 , ( 0 , 2 , 1 , 3 )) tmp3 += ints . tmp92 tmp3 += ints . tmp21 * - 1 tmp3 += ints . tmp36 * - 2 tmp3 += np . transpose ( ints . tmp60 , ( 0 , 2 , 1 , 3 )) * - 2 tmp3 += np . transpose ( ints . tmp6 , ( 1 , 0 , 2 , 3 )) * - 1 tmp6 = np . copy ( f . oo ) tmp6 += np . transpose ( ints . tmp0 , ( 1 , 0 )) tmp6 += np . transpose ( ints . tmp13 , ( 1 , 0 )) * 2 tmp6 += ints . tmp24 * 2 tmp6 += ints . tmp86 * 2 tmp6 += ints . tmp12 * - 1 tmp6 += ints . tmp22 * - 1 tmp6 += ints . tmp85 * - 1 tmp1 = np . copy ( ints . tmp108 ) tmp1 += np . transpose ( ints . tmp14 , ( 1 , 2 , 0 , 3 )) tmp1 += ints . tmp32 tmp1 += ints . tmp69 tmp1 += ints . tmp73 tmp1 += ints . tmp82 tmp1 += ints . tmp91 tmp1 += ints . tmp100 * - 1 tmp1 += ints . tmp20 * - 1 tmp1 += ints . tmp44 * - 1 tmp1 += ints . tmp70 * - 2 tmp4 = np . copy ( v . ooov ) * - 0.5 tmp4 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) r2new = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp90 , ( 1 , 0 , 3 , 4 ), ( 3 , 4 , 2 )) r2new += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) * 2 del tmp8 , tmp7 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp9 , ( 1 , 3 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 r2new += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 4 , 3 ), ( 1 , 4 , 2 )) * - 1 del tmp9 r2new += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 4 ), ( 2 , 3 , 4 )) del tmp10 r2new += einsum ( tmp12 , ( 0 , 1 , 2 ), tmp13 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) * - 2 del tmp12 , tmp13 r2new += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), tmp11 , ( 4 , 0 , 1 ), ( 4 , 2 , 3 )) r2new += einsum ( tmp11 , ( 0 , 1 , 2 ), tmp14 , ( 0 , 2 , 3 , 4 ), ( 3 , 1 , 4 )) del tmp11 r2new += einsum ( tmp16 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp16 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp17 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 2 r2new += einsum ( tmp17 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 2 del tmp17 r2new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp19 , ( 3 ,), ( 0 , 2 , 1 )) * - 2 del tmp19 r2new += einsum ( r1 , ( 0 ,), tmp14 , ( 0 , 1 , 2 , 3 ), ( 1 , 2 , 3 )) del tmp14 r2new += einsum ( r1 , ( 0 ,), tmp15 , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 del tmp15 r1new = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp1 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) * - 2 del tmp0 , tmp1 r1new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 2 , 3 ), ( 1 ,)) * - 1 del tmp3 r1new += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 2 , 3 ), ( 1 ,)) * 2 del tmp4 r1new += einsum ( tmp5 , ( 0 , 1 ), tmp2 , ( 0 , 2 , 1 ), ( 2 ,)) del tmp2 , tmp5 r1new += einsum ( tmp6 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) * - 1 del tmp6 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . RCCSD . hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-13T22:21:55.505232. Parameters f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp1 : array tmp10 : array tmp103 : array tmp106 : array tmp107 : array tmp109 : array tmp11 : array tmp110 : array tmp111 : array tmp112 : array tmp113 : array tmp14 : array tmp16 : array tmp17 : array tmp19 : array tmp2 : array tmp24 : array tmp27 : array tmp29 : array tmp3 : array tmp31 : array tmp34 : array tmp37 : array tmp4 : array tmp40 : array tmp43 : array tmp46 : array tmp48 : array tmp51 : array tmp53 : array tmp55 : array tmp56 : array tmp57 : array tmp59 : array tmp62 : array tmp69 : array tmp70 : array tmp73 : array tmp76 : array tmp79 : array tmp80 : array tmp83 : array tmp84 : array tmp87 : array tmp88 : array tmp90 : array tmp92 : array tmp95 : array tmp96 : array tmp97 : array tmp98 : array Source code in ebcc/codegen/RCCSD.py 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 def hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:21:55.505232. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp1 : array tmp10 : array tmp103 : array tmp106 : array tmp107 : array tmp109 : array tmp11 : array tmp110 : array tmp111 : array tmp112 : array tmp113 : array tmp14 : array tmp16 : array tmp17 : array tmp19 : array tmp2 : array tmp24 : array tmp27 : array tmp29 : array tmp3 : array tmp31 : array tmp34 : array tmp37 : array tmp4 : array tmp40 : array tmp43 : array tmp46 : array tmp48 : array tmp51 : array tmp53 : array tmp55 : array tmp56 : array tmp57 : array tmp59 : array tmp62 : array tmp69 : array tmp70 : array tmp73 : array tmp76 : array tmp79 : array tmp80 : array tmp83 : array tmp84 : array tmp87 : array tmp88 : array tmp90 : array tmp92 : array tmp95 : array tmp96 : array tmp97 : array tmp98 : array \"\"\" tmp17 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp55 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp112 = einsum ( t1 , ( 0 , 1 ), tmp17 , ( 2 , 1 ), ( 0 , 2 )) tmp110 = einsum ( t1 , ( 0 , 1 ), tmp55 , ( 2 , 1 ), ( 0 , 2 )) tmp16 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp14 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 1 ), ( 2 , 3 )) tmp97 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp95 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp83 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) tmp79 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp69 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp10 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp113 = einsum ( tmp112 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp111 = einsum ( tmp110 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp109 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp107 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp106 = einsum ( tmp16 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 2 , 1 )) tmp103 = einsum ( t1 , ( 0 , 1 ), tmp14 , ( 2 , 1 ), ( 0 , 2 )) tmp98 = einsum ( tmp97 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp96 = einsum ( t1 , ( 0 , 1 ), tmp95 , ( 2 , 0 ), ( 2 , 1 )) tmp92 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp90 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp88 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp87 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) tmp84 = einsum ( tmp83 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp80 = einsum ( t1 , ( 0 , 1 ), tmp79 , ( 2 , 0 ), ( 2 , 1 )) tmp76 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 5 ), ( 0 , 5 , 4 , 3 )) tmp73 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp70 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp69 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) tmp62 = einsum ( tmp17 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp59 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 2 ), ( 0 , 3 )) tmp57 = einsum ( tmp55 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp56 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp55 , ( 1 , 2 ), ( 0 , 3 )) tmp53 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp51 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 2 ), ( 0 , 3 , 4 , 5 )) tmp48 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp46 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 2 , 4 , 5 ), ( 0 , 3 , 4 , 5 )) tmp43 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp40 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 1 ), ( 4 , 2 )) tmp37 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 5 ), ( 0 , 5 , 4 , 3 )) tmp34 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp31 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp29 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 2 ), ( 3 , 4 )) tmp24 = einsum ( t1 , ( 0 , 1 ), v . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp19 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp11 = einsum ( t1 , ( 0 , 1 ), tmp10 , ( 0 , 2 ), ( 2 , 1 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp2 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( t1 , ( 0 , 1 ), f . oo , ( 2 , 0 ), ( 2 , 1 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp103\" : tmp103 , f \"tmp106\" : tmp106 , f \"tmp107\" : tmp107 , f \"tmp109\" : tmp109 , f \"tmp11\" : tmp11 , f \"tmp110\" : tmp110 , f \"tmp111\" : tmp111 , f \"tmp112\" : tmp112 , f \"tmp113\" : tmp113 , f \"tmp14\" : tmp14 , f \"tmp16\" : tmp16 , f \"tmp17\" : tmp17 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp24\" : tmp24 , f \"tmp27\" : tmp27 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp31\" : tmp31 , f \"tmp34\" : tmp34 , f \"tmp37\" : tmp37 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp43\" : tmp43 , f \"tmp46\" : tmp46 , f \"tmp48\" : tmp48 , f \"tmp51\" : tmp51 , f \"tmp53\" : tmp53 , f \"tmp55\" : tmp55 , f \"tmp56\" : tmp56 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp62\" : tmp62 , f \"tmp69\" : tmp69 , f \"tmp70\" : tmp70 , f \"tmp73\" : tmp73 , f \"tmp76\" : tmp76 , f \"tmp79\" : tmp79 , f \"tmp80\" : tmp80 , f \"tmp83\" : tmp83 , f \"tmp84\" : tmp84 , f \"tmp87\" : tmp87 , f \"tmp88\" : tmp88 , f \"tmp90\" : tmp90 , f \"tmp92\" : tmp92 , f \"tmp95\" : tmp95 , f \"tmp96\" : tmp96 , f \"tmp97\" : tmp97 , f \"tmp98\" : tmp98 } ebcc . codegen . RCCSD . hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-13T22:21:55.528470. 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. Source code in ebcc/codegen/RCCSD.py 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:21:55.528470. 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\" ] tmp19 = np . copy ( f . ov ) tmp19 += ints . tmp17 * 2 tmp19 += ints . tmp55 * - 1 tmp16 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp16 += t2 * 2 tmp22 = np . copy ( ints . tmp69 ) tmp22 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) tmp10 = einsum ( t1 , ( 0 , 1 ), r2 , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp26 = einsum ( t1 , ( 0 , 1 ), tmp19 , ( 0 , 2 ), ( 1 , 2 )) tmp17 = einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 0 ), ( 1 ,)) * 0.5 del tmp16 tmp15 = einsum ( t1 , ( 0 , 1 ), r1 , ( 1 ,), ( 0 ,)) tmp24 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) tmp2 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp2 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 0.5 tmp5 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 0.5 tmp5 += np . transpose ( r2 , ( 2 , 1 , 0 )) tmp11 = einsum ( t1 , ( 0 , 1 ), tmp10 , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp28 = np . copy ( f . oo ) tmp28 += np . transpose ( ints . tmp10 , ( 1 , 0 )) tmp28 += ints . tmp112 * 2 tmp28 += ints . tmp79 * 2 tmp28 += ints . tmp97 * 2 tmp28 += ints . tmp110 * - 1 tmp28 += ints . tmp83 * - 1 tmp28 += ints . tmp95 * - 1 tmp27 = np . copy ( np . transpose ( ints . tmp16 , ( 1 , 0 ))) tmp27 += ints . tmp29 * 2 tmp27 += f . vv * - 1 tmp27 += ints . tmp14 * - 2 tmp27 += ints . tmp27 * - 1 tmp27 += tmp26 del tmp26 tmp20 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) tmp18 = np . copy ( tmp15 ) * 0.5 del tmp15 tmp18 += tmp17 * - 1 del tmp17 tmp21 = einsum ( r2 , ( 0 , 1 , 2 ), t1 , ( 3 , 0 ), ( 2 , 3 , 1 )) tmp23 = np . copy ( np . transpose ( ints . tmp87 , ( 0 , 1 , 3 , 2 ))) tmp23 += np . transpose ( ints . tmp92 , ( 0 , 1 , 3 , 2 )) tmp23 += ints . tmp109 * - 1 tmp23 += np . transpose ( ints . tmp88 , ( 0 , 1 , 3 , 2 )) * - 2 tmp23 += np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 )) * - 1 tmp23 += einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp22 tmp25 = np . copy ( np . transpose ( ints . tmp90 , ( 0 , 1 , 3 , 2 ))) tmp25 += ints . tmp107 * - 1 tmp25 += v . oovv * - 1 tmp25 += np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 )) del tmp24 tmp0 = np . copy ( ints . tmp24 ) tmp0 += np . transpose ( ints . tmp46 , ( 0 , 2 , 1 , 3 )) * 2 tmp0 += np . transpose ( ints . tmp53 , ( 0 , 2 , 1 , 3 )) * 2 tmp0 += np . transpose ( ints . tmp76 , ( 0 , 3 , 1 , 2 )) tmp0 += np . transpose ( ints . tmp37 , ( 0 , 3 , 1 , 2 )) * - 2 tmp0 += np . transpose ( ints . tmp48 , ( 0 , 2 , 1 , 3 )) * - 4 tmp0 += np . transpose ( ints . tmp51 , ( 0 , 2 , 1 , 3 )) * - 1 tmp0 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * - 2 tmp0 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) tmp14 = np . copy ( f . vv ) tmp14 += np . transpose ( ints . tmp14 , ( 1 , 0 )) * 2 tmp14 += ints . tmp27 tmp14 += np . transpose ( ints . tmp16 , ( 1 , 0 )) * - 1 tmp14 += ints . tmp29 * - 2 tmp7 = np . copy ( ints . tmp109 ) tmp7 += np . transpose ( ints . tmp88 , ( 0 , 1 , 3 , 2 )) * 2 tmp7 += np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 )) tmp7 += np . transpose ( ints . tmp87 , ( 0 , 1 , 3 , 2 )) * - 1 tmp7 += np . transpose ( ints . tmp92 , ( 0 , 1 , 3 , 2 )) * - 1 tmp8 = np . copy ( ints . tmp106 ) tmp8 += ints . tmp113 * 2 tmp8 += ints . tmp11 tmp8 += ints . tmp19 tmp8 += ints . tmp1 tmp8 += ints . tmp34 * 2 tmp8 += ints . tmp3 tmp8 += ints . tmp43 tmp8 += ints . tmp57 * 2 tmp8 += ints . tmp59 * 2 tmp8 += ints . tmp70 * 2 tmp8 += ints . tmp80 * 2 tmp8 += ints . tmp98 * 2 tmp8 += f . ov * - 1 tmp8 += ints . tmp103 * - 2 tmp8 += ints . tmp111 * - 1 tmp8 += ints . tmp17 * - 2 tmp8 += ints . tmp2 * - 1 tmp8 += ints . tmp31 * - 1 tmp8 += ints . tmp40 * - 2 tmp8 += ints . tmp4 * - 2 tmp8 += ints . tmp56 * - 1 tmp8 += ints . tmp62 * - 4 tmp8 += ints . tmp73 * - 1 tmp8 += ints . tmp84 * - 1 tmp8 += ints . tmp96 * - 1 tmp9 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * 2 tmp9 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 1 tmp3 = einsum ( tmp2 , ( 0 , 1 , 2 ), t1 , ( 3 , 1 ), ( 0 , 3 , 2 )) tmp6 = einsum ( t1 , ( 0 , 1 ), tmp5 , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) * 2 del tmp5 tmp13 = np . copy ( tmp11 ) * 2 tmp13 += np . transpose ( tmp11 , ( 0 , 2 , 1 )) * - 1 tmp1 = np . copy ( ints . tmp24 ) tmp1 += np . transpose ( ints . tmp46 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp1 += np . transpose ( ints . tmp53 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp1 += np . transpose ( ints . tmp76 , ( 0 , 3 , 1 , 2 )) tmp1 += np . transpose ( ints . tmp37 , ( 0 , 3 , 1 , 2 )) * - 0.5 tmp1 += np . transpose ( ints . tmp48 , ( 0 , 2 , 1 , 3 )) * - 1 tmp1 += np . transpose ( ints . tmp51 , ( 0 , 2 , 1 , 3 )) * - 1 tmp4 = np . copy ( ints . tmp107 ) tmp4 += v . oovv tmp4 += np . transpose ( ints . tmp90 , ( 0 , 1 , 3 , 2 )) * - 1 tmp12 = np . copy ( tmp11 ) * - 0.5 tmp12 += np . transpose ( tmp11 , ( 0 , 2 , 1 )) r2new = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp20 , ( 4 , 2 , 0 ), ( 3 , 1 , 4 )) del tmp20 r2new += einsum ( tmp11 , ( 0 , 1 , 2 ), v . ovov , ( 1 , 3 , 2 , 4 ), ( 3 , 4 , 0 )) del tmp11 r2new += einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), tmp21 , ( 4 , 0 , 3 ), ( 1 , 2 , 4 )) * - 1 del tmp21 r2new += einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 0 , 3 ), ( 2 , 1 , 4 )) * - 1 del tmp10 r2new += einsum ( r1 , ( 0 ,), v . ovvv , ( 1 , 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new += einsum ( r2 , ( 0 , 1 , 2 ), v . vvvv , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) r2new += einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 3 , 4 ), ( 2 , 4 , 1 )) * - 2 del tmp2 , tmp23 r2new += einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 3 , 0 ), ( 4 , 2 , 1 )) r2new += einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 4 , 0 ), ( 2 , 4 , 1 )) del tmp25 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new += einsum ( tmp27 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp27 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp28 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp28 r2new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp18 , ( 2 ,), ( 1 , 3 , 0 )) * 2 r2new += einsum ( tmp19 , ( 0 , 1 ), r1 , ( 2 ,), ( 1 , 2 , 0 )) * - 1 r1new = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 0 ), ( 1 ,)) del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 2 , 0 ), ( 1 ,)) * - 2 del tmp1 r1new += einsum ( tmp3 , ( 0 , 1 , 2 ), tmp4 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) * 2 del tmp3 , tmp4 r1new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 0 , 1 , 3 ), ( 2 ,)) del tmp7 , tmp6 r1new += einsum ( tmp9 , ( 0 , 1 , 2 ), tmp8 , ( 0 , 1 ), ( 2 ,)) del tmp9 , tmp8 r1new += einsum ( ints . tmp69 , ( 0 , 1 , 2 , 3 ), tmp12 , ( 0 , 1 , 2 ), ( 3 ,)) * - 2 del tmp12 r1new += einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp13 , ( 0 , 1 , 2 ), ( 3 ,)) * - 1 del tmp13 r1new += einsum ( tmp14 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) del tmp14 r1new += einsum ( tmp19 , ( 0 , 1 ), tmp18 , ( 0 ,), ( 1 ,)) * - 2 del tmp19 , tmp18 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"RCCSD"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.energy","text":"Code generated by albert 0.0.0 on 2024-08-12T21:47:27.699385.","title":"energy"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.energy--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/RCCSD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-12T21:47:27.699385. 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 ))) * - 0.5 tmp0 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp1 = np . copy ( f . ov ) 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 e_cc += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 1 , 3 ), ()) * 2 e_cc += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 3 , 1 , 2 ), ()) * - 1 return e_cc","title":"Returns"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-12T21:47:37.482866.","title":"update_amps"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.update_amps--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.update_amps--returns","text":"t1new : array Updated T1 residuals. t2new : array Updated T2 residuals. Source code in ebcc/codegen/RCCSD.py 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-12T21:47:37.482866. 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 ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp4 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp4 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * 2 tmp47 = np . copy ( tmp2 ) * - 1 tmp47 += np . transpose ( tmp2 , ( 0 , 2 , 1 , 3 )) * 2 tmp39 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * 2 tmp39 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp30 = einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp30 += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 2 tmp30 += t2 tmp5 = einsum ( t1 , ( 0 , 1 ), tmp4 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp4 tmp51 = np . copy ( v . ooov ) * - 1 tmp51 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * 2 tmp48 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp47 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) del tmp47 tmp46 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) tmp43 = np . copy ( v . ovvv ) * - 1 tmp43 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * 2 tmp38 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp40 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp39 , ( 1 , 4 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp39 tmp57 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) tmp57 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp31 = einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 5 , 0 , 3 ), ( 1 , 4 , 5 , 2 )) del tmp30 tmp27 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp28 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp32 = einsum ( tmp5 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp29 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 5 , 1 , 2 ), ( 4 , 0 , 5 , 3 )) tmp0 = np . copy ( t2 ) tmp0 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) t2new = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 3 , 5 , 2 ), ( 1 , 0 , 4 , 5 )) tmp9 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp52 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) del tmp51 tmp49 = np . copy ( tmp2 ) tmp49 += tmp46 * - 1 del tmp46 tmp49 += np . transpose ( tmp48 , ( 0 , 2 , 1 , 3 )) del tmp48 tmp44 = einsum ( t1 , ( 0 , 1 ), tmp43 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp43 tmp41 = np . copy ( tmp38 ) del tmp38 tmp41 += np . transpose ( tmp40 , ( 1 , 0 , 3 , 2 )) * - 1 tmp55 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp60 = einsum ( tmp57 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 3 ), ( 1 , 4 )) * 2 tmp58 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp57 , ( 0 , 1 , 3 , 4 ), ( 4 , 2 )) del tmp57 tmp25 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp25 += t2 * - 1 tmp23 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp33 = np . copy ( np . transpose ( tmp27 , ( 0 , 2 , 1 , 3 ))) * - 1 del tmp27 tmp33 += np . transpose ( tmp28 , ( 0 , 2 , 1 , 3 )) del tmp28 tmp33 += np . transpose ( tmp29 , ( 0 , 2 , 1 , 3 )) del tmp29 tmp33 += np . transpose ( tmp31 , ( 0 , 2 , 1 , 3 )) del tmp31 tmp33 += np . transpose ( tmp32 , ( 2 , 0 , 1 , 3 )) * - 1 del tmp32 tmp19 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp35 = einsum ( tmp5 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp66 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp16 = np . copy ( f . oo ) tmp16 += tmp9 tmp14 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp53 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp52 , ( 4 , 1 ), ( 4 , 0 , 3 , 2 )) del tmp52 tmp50 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp49 tmp45 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp44 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp44 tmp42 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) del tmp41 tmp56 = einsum ( tmp55 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp55 tmp61 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp60 , ( 1 , 4 ), ( 4 , 0 , 3 , 2 )) del tmp60 tmp59 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp58 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * 2 del tmp58 tmp20 = np . copy ( t2 ) tmp20 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp26 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), tmp23 , ( 4 , 0 , 3 , 5 ), ( 1 , 4 , 2 , 5 )) del tmp25 tmp22 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp34 = einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp33 tmp24 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp36 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp35 , ( 1 , 4 ), ( 4 , 0 , 3 , 2 )) del tmp35 tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) t2new += tmp13 * - 1 tmp67 = np . copy ( v . oooo ) tmp67 += np . transpose ( tmp66 , ( 3 , 1 , 0 , 2 )) del tmp66 t2new += einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 3 , 4 , 5 ), ( 2 , 1 , 5 , 4 )) tmp63 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 1 , 4 ), ( 4 , 0 , 3 , 2 )) del tmp16 tmp15 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp14 tmp10 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp10 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * 2 tmp11 = np . copy ( v . ooov ) * - 0.5 tmp11 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) tmp54 = np . copy ( tmp42 ) del tmp42 tmp54 += np . transpose ( tmp45 , ( 1 , 0 , 3 , 2 )) del tmp45 tmp54 += np . transpose ( tmp50 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp50 tmp54 += np . transpose ( tmp53 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp53 t2new += np . transpose ( tmp54 , ( 1 , 0 , 3 , 2 )) t2new += tmp54 del tmp54 tmp62 = np . copy ( tmp56 ) del tmp56 tmp62 += np . transpose ( tmp59 , ( 1 , 0 , 3 , 2 )) del tmp59 tmp62 += np . transpose ( tmp61 , ( 1 , 0 , 3 , 2 )) del tmp61 t2new += np . transpose ( tmp62 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp62 * - 1 del tmp62 tmp69 = np . copy ( v . oovv ) * - 1 tmp69 += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp69 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 3 , 5 )) del tmp69 tmp21 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) del tmp19 , tmp20 t2new += np . transpose ( tmp21 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp21 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp21 tmp37 = np . copy ( tmp22 ) del tmp22 tmp37 += tmp23 del tmp23 tmp37 += tmp24 * - 1 del tmp24 tmp37 += np . transpose ( tmp26 , ( 1 , 0 , 2 , 3 )) del tmp26 tmp37 += np . transpose ( tmp34 , ( 0 , 1 , 3 , 2 )) del tmp34 tmp37 += np . transpose ( tmp36 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp36 t2new += np . transpose ( tmp37 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp37 , ( 0 , 1 , 3 , 2 )) del tmp37 tmp70 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * - 1 tmp70 += tmp13 del tmp13 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp70 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) del tmp70 tmp65 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp65 += v . oovv * - 1 tmp65 += np . transpose ( tmp40 , ( 1 , 0 , 3 , 2 )) * 2 del tmp40 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp65 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp65 tmp68 = np . copy ( np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 ))) * - 1 tmp68 += einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) del tmp67 t2new += einsum ( t1 , ( 0 , 1 ), tmp68 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp68 tmp64 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp63 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp63 t2new += np . transpose ( tmp64 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp64 , ( 0 , 1 , 3 , 2 )) del tmp64 tmp18 = np . copy ( tmp15 ) del tmp15 tmp18 += np . transpose ( tmp17 , ( 0 , 1 , 3 , 2 )) del tmp17 t2new += np . transpose ( tmp18 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp18 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp18 tmp6 = np . copy ( f . ov ) tmp6 += tmp5 del tmp5 tmp1 = np . copy ( v . ovvv ) tmp1 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * - 0.5 t1new = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * 2 del tmp1 tmp3 = np . copy ( v . ooov ) tmp3 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp3 += tmp2 * - 0.5 tmp3 += np . transpose ( tmp2 , ( 0 , 2 , 1 , 3 )) del tmp2 t1new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 2 del tmp3 tmp12 = np . copy ( f . oo ) * 0.5 tmp12 += tmp9 * 0.5 del tmp9 tmp12 += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 0 , 4 , 2 , 3 ), ( 1 , 4 )) * 0.5 del tmp0 , tmp10 tmp12 += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 2 , 1 )) del tmp11 t1new += einsum ( tmp12 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 2 del tmp12 tmp8 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp8 += v . oovv * - 1 t1new += einsum ( t1 , ( 0 , 1 ), tmp8 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp8 tmp7 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp7 += t2 * 2 t1new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 0 , 2 ), ( 1 , 3 )) del tmp7 , tmp6 t1new += einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) t1new += f . ov t2new += einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) * - 1 t2new += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * - 1 t2new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) * - 1 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) * 2 return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.update_lams","text":"Code generated by albert 0.0.0 on 2024-08-12T21:48:12.348836.","title":"update_lams"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.update_lams--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.update_lams--returns","text":"l1new : array Updated L1 residuals. l2new : array Updated L2 residuals. Source code in ebcc/codegen/RCCSD.py 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 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:48:12.348836. 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. \"\"\" tmp97 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp97 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * 2 tmp15 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp15 += t2 * 2 tmp98 = einsum ( t1 , ( 0 , 1 ), tmp97 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp97 tmp85 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp85 += t2 * 2 tmp16 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp16 += t2 * - 0.5 tmp17 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp8 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp73 = einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 0 , 2 ), ( 4 , 1 )) * 0.5 tmp72 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp99 = einsum ( t1 , ( 0 , 1 ), tmp98 , ( 2 , 1 ), ( 0 , 2 )) tmp96 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp86 = einsum ( tmp85 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) del tmp85 tmp83 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp84 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp89 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp24 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp53 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 2 , 4 , 1 , 0 ), ( 3 , 4 )) * 2 tmp50 = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 1 , 2 )) tmp5 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 0.5 tmp5 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp2 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) l2new = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) tmp36 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 1 , 0 , 2 , 4 )) tmp35 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp26 = einsum ( t1 , ( 0 , 1 ), tmp8 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp74 = np . copy ( np . transpose ( tmp72 , ( 1 , 0 ))) del tmp72 tmp74 += np . transpose ( tmp73 , ( 1 , 0 )) del tmp73 tmp70 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp15 , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) * 0.5 tmp100 = np . copy ( tmp96 ) del tmp96 tmp100 += tmp99 * - 1 del tmp99 tmp92 = np . copy ( tmp17 ) * 2 tmp92 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * - 1 tmp82 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp82 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp87 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) tmp87 += np . transpose ( tmp83 , ( 0 , 1 , 3 , 2 )) del tmp83 tmp87 += tmp84 * - 1 del tmp84 tmp87 += np . transpose ( tmp86 , ( 1 , 0 , 3 , 2 )) del tmp86 tmp94 = np . copy ( tmp8 ) * 2 tmp94 += np . transpose ( tmp8 , ( 0 , 2 , 1 , 3 )) * - 1 tmp90 = np . copy ( v . oovv ) tmp90 += np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 )) tmp90 += tmp89 * - 1 del tmp89 tmp78 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp12 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp108 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp65 = einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 0 , 1 ), ( 4 , 3 )) * 2 tmp54 = np . copy ( tmp50 ) tmp54 += tmp53 del tmp53 tmp6 = einsum ( t1 , ( 0 , 1 ), tmp5 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * 2 tmp1 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp3 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp2 tmp37 = np . copy ( np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 ))) tmp37 += tmp36 l2new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 5 , 0 , 2 ), ( 3 , 1 , 5 , 4 )) tmp25 = einsum ( t1 , ( 0 , 1 ), tmp24 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) del tmp24 tmp27 = einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp104 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp75 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp74 , ( 2 , 4 ), ( 3 , 4 , 0 , 1 )) * 2 del tmp74 tmp69 = einsum ( l1 , ( 0 , 1 ), v . ooov , ( 2 , 1 , 3 , 4 ), ( 2 , 3 , 0 , 4 )) tmp71 = einsum ( tmp70 , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 4 , 3 , 2 , 0 )) * 2 del tmp70 tmp101 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp100 , ( 2 , 4 ), ( 3 , 4 , 0 , 1 )) del tmp100 tmp77 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) tmp93 = einsum ( tmp92 , ( 0 , 1 , 2 , 3 ), v . ovoo , ( 4 , 5 , 1 , 2 ), ( 4 , 0 , 5 , 3 )) del tmp92 tmp102 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), tmp98 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp88 = einsum ( tmp82 , ( 0 , 1 , 2 , 3 ), tmp87 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp82 , tmp87 tmp95 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), tmp94 , ( 1 , 4 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) del tmp94 tmp91 = einsum ( tmp90 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 5 , 0 ), ( 5 , 1 , 4 , 3 )) tmp81 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), tmp8 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp80 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 2 , 4 , 5 , 3 ), ( 1 , 0 , 4 , 5 )) tmp79 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp78 , ( 4 , 1 ), ( 2 , 3 , 0 , 4 )) del tmp78 tmp110 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), f . ov , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp107 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), l1 , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) tmp113 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp111 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp12 , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp114 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp90 , ( 2 , 4 , 1 , 5 ), ( 3 , 4 , 0 , 5 )) del tmp90 tmp106 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp112 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp109 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp108 , ( 4 , 3 ), ( 4 , 2 , 0 , 1 )) del tmp108 tmp63 = einsum ( f . oo , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp66 = einsum ( tmp65 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 3 , 4 ), ( 2 , 3 , 4 , 0 )) del tmp65 tmp64 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), l1 , ( 4 , 0 ), ( 1 , 2 , 4 , 3 )) tmp67 = einsum ( tmp54 , ( 0 , 1 ), v . ovov , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 4 , 3 )) tmp39 = np . copy ( tmp17 ) * 2 tmp39 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * - 1 tmp43 = np . copy ( tmp17 ) * - 0.5 tmp43 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) tmp42 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l1 , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) tmp7 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 2 ), ( 0 , 1 , 4 , 3 )) tmp9 = np . copy ( v . ooov ) * - 1 tmp9 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * 2 tmp9 += tmp8 * 2 tmp9 += np . transpose ( tmp8 , ( 0 , 2 , 1 , 3 )) * - 1 tmp13 = np . copy ( np . transpose ( v . oooo , ( 0 , 2 , 1 , 3 ))) * 2 tmp13 += v . oooo * - 1 tmp13 += np . transpose ( tmp12 , ( 2 , 1 , 0 , 3 )) * - 1 tmp13 += np . transpose ( tmp12 , ( 3 , 2 , 0 , 1 )) * 2 tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp10 = np . copy ( v . ooov ) tmp10 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp10 += tmp8 * - 0.5 tmp10 += np . transpose ( tmp8 , ( 0 , 2 , 1 , 3 )) del tmp8 tmp4 = np . copy ( tmp1 ) * 0.5 del tmp1 tmp4 += tmp3 * - 0.5 del tmp3 tmp11 = np . copy ( v . oovv ) * 2 tmp11 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp38 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp37 tmp40 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp40 += t2 * - 1 tmp31 = np . copy ( np . transpose ( tmp12 , ( 0 , 2 , 1 , 3 ))) * 2 tmp31 += np . transpose ( tmp12 , ( 0 , 3 , 2 , 1 )) * - 1 del tmp12 tmp28 = np . copy ( tmp25 ) * 2 del tmp25 tmp28 += tmp27 * - 2 del tmp27 tmp29 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp29 += t2 tmp30 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp30 += v . oovv * - 1 tmp33 = np . copy ( tmp17 ) * - 1 tmp33 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * 2 tmp60 = np . copy ( v . ooov ) * - 0.5 tmp60 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) tmp61 = np . copy ( f . ov ) tmp61 += tmp6 del tmp6 tmp57 = np . copy ( v . ovvv ) * - 0.5 tmp57 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) tmp22 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp22 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp51 = np . copy ( tmp50 ) * 0.5 del tmp50 tmp51 += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 2 , 4 , 1 , 0 ), ( 3 , 4 )) tmp18 = np . copy ( tmp17 ) tmp18 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * - 0.5 tmp105 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp104 , ( 4 , 1 ), ( 2 , 3 , 0 , 4 )) del tmp104 l2new += np . transpose ( tmp105 , ( 3 , 2 , 1 , 0 )) * - 1 l2new += np . transpose ( tmp105 , ( 2 , 3 , 0 , 1 )) * - 1 del tmp105 tmp76 = np . copy ( tmp69 ) del tmp69 tmp76 += np . transpose ( tmp71 , ( 1 , 0 , 2 , 3 )) del tmp71 tmp76 += np . transpose ( tmp75 , ( 0 , 1 , 3 , 2 )) del tmp75 l2new += np . transpose ( tmp76 , ( 3 , 2 , 1 , 0 )) * - 1 l2new += np . transpose ( tmp76 , ( 2 , 3 , 0 , 1 )) * - 1 del tmp76 tmp103 = einsum ( f . ov , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) tmp103 += tmp77 del tmp77 tmp103 += tmp79 * 2 del tmp79 tmp103 += tmp80 * - 1 del tmp80 tmp103 += tmp81 del tmp81 tmp103 += tmp88 del tmp88 tmp103 += tmp91 * - 1 del tmp91 tmp103 += np . transpose ( tmp93 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp93 tmp103 += tmp95 * - 1 del tmp95 tmp103 += np . transpose ( tmp101 , ( 0 , 1 , 3 , 2 )) del tmp101 tmp103 += tmp102 * - 1 del tmp102 tmp103 += einsum ( tmp98 , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) del tmp98 l2new += np . transpose ( tmp103 , ( 3 , 2 , 1 , 0 )) l2new += np . transpose ( tmp103 , ( 2 , 3 , 0 , 1 )) del tmp103 tmp115 = np . copy ( tmp106 ) del tmp106 tmp115 += tmp107 del tmp107 tmp115 += tmp109 * - 1 del tmp109 tmp115 += tmp110 * - 1 del tmp110 tmp115 += tmp111 del tmp111 tmp115 += tmp112 del tmp112 tmp115 += tmp113 del tmp113 tmp115 += tmp114 * - 1 del tmp114 l2new += np . transpose ( tmp115 , ( 2 , 3 , 1 , 0 )) l2new += np . transpose ( tmp115 , ( 3 , 2 , 0 , 1 )) del tmp115 tmp116 = np . copy ( v . oooo ) tmp116 += np . transpose ( tmp26 , ( 0 , 2 , 3 , 1 )) del tmp26 l2new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp116 , ( 3 , 4 , 5 , 2 ), ( 0 , 1 , 5 , 4 )) del tmp116 tmp68 = np . copy ( tmp63 ) del tmp63 tmp68 += tmp64 del tmp64 tmp68 += np . transpose ( tmp66 , ( 1 , 0 , 3 , 2 )) del tmp66 tmp68 += np . transpose ( tmp67 , ( 1 , 0 , 3 , 2 )) del tmp67 l2new += np . transpose ( tmp68 , ( 2 , 3 , 1 , 0 )) * - 1 l2new += np . transpose ( tmp68 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp68 tmp44 = np . copy ( tmp42 ) * - 2 tmp44 += np . transpose ( tmp42 , ( 0 , 2 , 1 , 3 )) del tmp42 tmp44 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp39 , ( 1 , 4 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) tmp44 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp43 , ( 1 , 4 , 5 , 2 ), ( 4 , 5 , 0 , 3 )) * 2 del tmp43 l1new = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp44 , ( 4 , 2 , 0 , 3 ), ( 1 , 4 )) del tmp44 tmp14 = np . copy ( np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 ))) * 0.5 tmp14 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp14 += np . transpose ( tmp0 , ( 1 , 2 , 0 , 3 )) * - 1 tmp14 += np . transpose ( tmp0 , ( 2 , 1 , 0 , 3 )) * 0.5 del tmp0 tmp14 += tmp4 tmp14 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) * - 2 del tmp4 tmp14 += np . transpose ( tmp7 , ( 1 , 0 , 2 , 3 )) * - 1 tmp14 += tmp7 * 0.5 del tmp7 tmp14 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 0.5 del tmp9 tmp14 += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp14 += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 2 ), ( 4 , 1 , 0 , 3 )) * - 0.5 del tmp11 tmp14 += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) * 0.5 del tmp13 l1new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 3 , 2 , 4 , 1 ), ( 0 , 4 )) * 2 del tmp14 tmp41 = np . copy ( np . transpose ( tmp17 , ( 0 , 2 , 1 , 3 ))) * 0.5 tmp41 += np . transpose ( tmp17 , ( 1 , 2 , 0 , 3 )) * - 1 tmp41 += np . transpose ( tmp38 , ( 0 , 2 , 1 , 3 )) tmp41 += tmp38 * - 0.5 del tmp38 tmp41 += einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), tmp39 , ( 0 , 4 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) * - 0.5 del tmp39 , tmp40 l1new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 2 , 0 , 1 ), ( 3 , 4 )) * 2 del tmp41 tmp32 = np . copy ( tmp28 ) * - 1 tmp32 += np . transpose ( tmp28 , ( 1 , 0 , 2 , 3 )) * 0.5 del tmp28 tmp32 += einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) * - 4 del tmp10 tmp32 += einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 2 ), ( 4 , 1 , 0 , 3 )) * - 1 del tmp30 tmp32 += einsum ( tmp31 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp31 l1new += einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) del tmp32 tmp34 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) tmp34 += einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp33 l1new += einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 3 , 4 , 2 ), ( 4 , 0 )) * - 1 del tmp34 tmp62 = np . copy ( f . oo ) tmp62 += einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 0 , 2 ), ( 1 , 4 )) tmp62 += einsum ( t1 , ( 0 , 1 ), tmp60 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) * 2 del tmp60 tmp62 += einsum ( t1 , ( 0 , 1 ), tmp61 , ( 2 , 1 ), ( 0 , 2 )) del tmp61 l1new += einsum ( tmp62 , ( 0 , 1 ), l1 , ( 2 , 0 ), ( 2 , 1 )) * - 1 del tmp62 tmp20 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) tmp55 = np . copy ( v . ooov ) * 2 tmp55 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 l1new += einsum ( tmp55 , ( 0 , 1 , 2 , 3 ), tmp54 , ( 1 , 0 ), ( 3 , 2 )) * - 1 del tmp55 tmp48 = einsum ( l1 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) * 0.5 tmp48 += einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 0 , 1 ), ( 4 , 3 )) tmp58 = np . copy ( f . vv ) * 0.5 tmp58 += einsum ( t1 , ( 0 , 1 ), tmp57 , ( 0 , 2 , 1 , 3 ), ( 3 , 2 )) del tmp57 l1new += einsum ( l1 , ( 0 , 1 ), tmp58 , ( 0 , 2 ), ( 2 , 1 )) * 2 del tmp58 tmp49 = np . copy ( v . ovvv ) * 2 tmp49 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 l1new += einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), tmp48 , ( 3 , 2 ), ( 1 , 0 )) * 2 del tmp49 , tmp48 tmp21 = np . copy ( np . transpose ( v . vvvv , ( 0 , 2 , 3 , 1 ))) * 2 tmp21 += v . vvvv * - 1 l1new += einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 4 , 2 , 0 , 3 ), ( 1 , 4 )) del tmp21 , tmp20 tmp23 = np . copy ( np . transpose ( l2 , ( 2 , 3 , 0 , 1 ))) tmp23 += einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 0 , 4 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) del tmp22 l1new += einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 3 , 4 , 2 ), ( 4 , 0 )) * 2 del tmp23 tmp52 = np . copy ( t1 ) * - 0.5 tmp52 += einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) del tmp29 tmp52 += einsum ( l1 , ( 0 , 1 ), tmp15 , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) * - 0.5 tmp52 += einsum ( tmp51 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) del tmp51 l1new += einsum ( tmp52 , ( 0 , 1 ), tmp5 , ( 0 , 2 , 1 , 3 ), ( 3 , 2 )) * - 4 del tmp52 tmp46 = np . copy ( tmp36 ) * - 0.5 tmp46 += np . transpose ( tmp36 , ( 0 , 1 , 3 , 2 )) del tmp36 l1new += einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp46 , ( 4 , 0 , 1 , 2 ), ( 3 , 4 )) * 2 del tmp46 tmp45 = np . copy ( tmp17 ) * - 1 tmp45 += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * 2 del tmp17 l1new += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) * - 1 del tmp45 tmp59 = np . copy ( f . ov ) * 0.5 tmp59 += einsum ( t1 , ( 0 , 1 ), tmp5 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp5 l1new += einsum ( tmp54 , ( 0 , 1 ), tmp59 , ( 1 , 2 ), ( 2 , 0 )) * - 2 del tmp54 , tmp59 tmp47 = np . copy ( np . transpose ( tmp35 , ( 1 , 0 , 2 , 3 ))) * 2 tmp47 += np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp35 l1new += einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 3 , 0 , 2 , 4 ), ( 4 , 1 )) del tmp47 tmp19 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 2 , 4 , 5 , 1 ), ( 3 , 4 , 0 , 5 )) del tmp15 tmp19 += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 3 , 4 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) * 2 del tmp16 tmp19 += einsum ( t1 , ( 0 , 1 ), tmp18 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp18 l1new += einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 0 , 3 , 2 ), ( 1 , 4 )) * - 1 del tmp19 tmp56 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp56 += v . oovv * - 1 l1new += einsum ( l1 , ( 0 , 1 ), tmp56 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 )) del tmp56 l1new += np . transpose ( f . ov , ( 1 , 0 )) l2new += np . transpose ( v . ovov , ( 1 , 3 , 0 , 2 )) l2new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 1 , 5 , 0 ), ( 4 , 5 , 3 , 2 )) return { f \"l1new\" : l1new , f \"l2new\" : l2new }","title":"Returns"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.make_rdm1_f","text":"Code generated by albert 0.0.0 on 2024-08-12T21:48:13.302081.","title":"make_rdm1_f"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.make_rdm1_f--parameters","text":"l1 : array L1 amplitudes. l2 : array L2 amplitudes. t1 : array T1 amplitudes. t2 : array T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.make_rdm1_f--returns","text":"rdm1 : array One-particle reduced density matrix. Source code in ebcc/codegen/RCCSD.py 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 def make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-12T21:48:13.302081. 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 ]), ) tmp0 = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 1 , 2 )) rdm1 . oo = np . copy ( np . transpose ( tmp0 , ( 1 , 0 ))) * - 2 tmp5 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp5 += t2 tmp2 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp7 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp7 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 rdm1 . vv = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) * 2 del tmp7 tmp6 = np . copy ( tmp0 ) del tmp0 tmp6 += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) * 2 del tmp5 rdm1 . ov = einsum ( tmp6 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 2 del tmp6 tmp3 = np . copy ( tmp2 ) tmp3 += np . transpose ( tmp2 , ( 1 , 0 , 2 , 3 )) * - 0.5 del tmp2 rdm1 . ov += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) * - 4 del tmp3 tmp4 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp4 += t2 * 2 rdm1 . ov += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), l1 , ( 2 , 0 ), ( 1 , 3 )) * 2 del tmp4 tmp1 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp1 += t2 * - 0.5 rdm1 . oo += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 2 , 4 , 1 , 0 ), ( 4 , 3 )) * - 4 del tmp1 rdm1 . oo += delta . oo * 2 del delta rdm1 . ov += t1 * 2 rdm1 . vo = np . copy ( l1 ) * 2 rdm1 . vv += einsum ( l1 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) * 2 rdm1 = np . block ([[ rdm1 . oo , rdm1 . ov ], [ rdm1 . vo , rdm1 . vv ]]) return rdm1","title":"Returns"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.make_rdm2_f","text":"Code generated by albert 0.0.0 on 2024-08-12T21:48:56.527230.","title":"make_rdm2_f"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.make_rdm2_f--parameters","text":"l1 : array L1 amplitudes. l2 : array L2 amplitudes. t1 : array T1 amplitudes. t2 : array T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.make_rdm2_f--returns","text":"rdm2 : array Two-particle reduced density matrix. Source code in ebcc/codegen/RCCSD.py 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 def make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-12T21:48:56.527230. 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 , 1 ), ( 2 , 3 , 4 , 0 )) rdm2 . vooo = np . copy ( np . transpose ( tmp4 , ( 3 , 2 , 1 , 0 ))) rdm2 . vooo += np . transpose ( tmp4 , ( 3 , 2 , 0 , 1 )) * - 1 rdm2 . vooo += np . transpose ( tmp4 , ( 3 , 2 , 0 , 1 )) * - 1 rdm2 . vooo += np . transpose ( tmp4 , ( 3 , 2 , 0 , 1 )) * - 1 rdm2 . vooo += np . transpose ( tmp4 , ( 3 , 2 , 1 , 0 )) rdm2 . vooo += np . transpose ( tmp4 , ( 3 , 2 , 0 , 1 )) * - 1 rdm2 . ovoo = np . copy ( np . transpose ( tmp4 , ( 2 , 3 , 1 , 0 ))) * - 1 rdm2 . ovoo += np . transpose ( tmp4 , ( 2 , 3 , 0 , 1 )) rdm2 . ovoo += np . transpose ( tmp4 , ( 2 , 3 , 1 , 0 )) * - 1 rdm2 . ovoo += np . transpose ( tmp4 , ( 2 , 3 , 1 , 0 )) * - 1 rdm2 . ovoo += np . transpose ( tmp4 , ( 2 , 3 , 1 , 0 )) * - 1 rdm2 . ovoo += np . transpose ( tmp4 , ( 2 , 3 , 0 , 1 )) tmp92 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp92 += t2 * - 1 tmp90 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp90 += t2 * - 1 tmp16 = np . copy ( tmp4 ) * 2 tmp16 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) * - 1 tmp0 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp0 += t2 tmp14 = np . copy ( tmp4 ) tmp14 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) * - 1 tmp55 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp55 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp93 = einsum ( tmp92 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 5 ), ( 1 , 5 , 2 , 4 )) del tmp92 tmp91 = einsum ( tmp90 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 5 , 0 ), ( 1 , 5 , 2 , 4 )) del tmp90 tmp84 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) rdm2 . voov = np . copy ( np . transpose ( tmp84 , ( 2 , 1 , 0 , 3 ))) * - 1 rdm2 . voov += np . transpose ( tmp84 , ( 2 , 1 , 0 , 3 )) * - 1 rdm2 . ovvo = np . copy ( np . transpose ( tmp84 , ( 1 , 2 , 3 , 0 ))) * - 1 rdm2 . ovvo += np . transpose ( tmp84 , ( 1 , 2 , 3 , 0 )) * - 1 tmp40 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp40 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp5 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 1 , 0 , 2 , 4 )) rdm2 . oooo = np . copy ( np . transpose ( tmp5 , ( 3 , 2 , 1 , 0 ))) rdm2 . oooo += np . transpose ( tmp5 , ( 3 , 2 , 1 , 0 )) tmp3 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) rdm2 . oooo += np . transpose ( tmp3 , ( 3 , 2 , 1 , 0 )) rdm2 . oooo += np . transpose ( tmp3 , ( 3 , 2 , 1 , 0 )) tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 1 , 4 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) del tmp16 rdm2 . oovo = np . copy ( np . transpose ( tmp17 , ( 2 , 1 , 3 , 0 ))) * - 1 rdm2 . oovo += np . transpose ( tmp17 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . ooov = np . copy ( np . transpose ( tmp17 , ( 1 , 2 , 0 , 3 ))) * - 1 rdm2 . ooov += np . transpose ( tmp17 , ( 1 , 2 , 0 , 3 )) * - 1 tmp25 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 4 , 5 , 2 ), ( 4 , 5 , 0 , 3 )) rdm2 . oovo += np . transpose ( tmp25 , ( 2 , 1 , 3 , 0 )) rdm2 . oovo += np . transpose ( tmp25 , ( 2 , 1 , 3 , 0 )) rdm2 . ooov += np . transpose ( tmp25 , ( 1 , 2 , 0 , 3 )) rdm2 . ooov += np . transpose ( tmp25 , ( 1 , 2 , 0 , 3 )) tmp12 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l1 , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) rdm2 . oovo += np . transpose ( tmp12 , ( 1 , 2 , 3 , 0 )) * - 1 rdm2 . oovo += np . transpose ( tmp12 , ( 1 , 2 , 3 , 0 )) * - 1 rdm2 . ooov += np . transpose ( tmp12 , ( 2 , 1 , 0 , 3 )) * - 1 rdm2 . ooov += np . transpose ( tmp12 , ( 2 , 1 , 0 , 3 )) * - 1 tmp26 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 1 , 5 , 2 ), ( 4 , 5 , 0 , 3 )) rdm2 . oovo += np . transpose ( tmp26 , ( 1 , 2 , 3 , 0 )) rdm2 . oovo += np . transpose ( tmp26 , ( 1 , 2 , 3 , 0 )) rdm2 . ooov += np . transpose ( tmp26 , ( 2 , 1 , 0 , 3 )) rdm2 . ooov += np . transpose ( tmp26 , ( 2 , 1 , 0 , 3 )) tmp43 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp43 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) tmp8 = np . copy ( tmp4 ) * 2 tmp8 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) * - 1 tmp1 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) * 2 rdm2 . oooo += einsum ( tmp1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp1 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) rdm2 . oooo += einsum ( tmp1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) rdm2 . oooo += einsum ( tmp1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . oooo += einsum ( tmp1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . oooo += einsum ( tmp1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . oooo += einsum ( tmp1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . oooo += einsum ( tmp1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . oooo += einsum ( tmp1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp1 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) rdm2 . oooo += einsum ( tmp1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) rdm2 . oooo += einsum ( tmp1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 tmp15 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 1 , 2 , 4 , 5 )) tmp20 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp20 += t2 * 2 tmp2 = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 1 , 2 )) rdm2 . ooov += einsum ( tmp2 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . ooov += einsum ( tmp2 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) rdm2 . ooov += einsum ( tmp2 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . ooov += einsum ( tmp2 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . oooo += einsum ( tmp2 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) rdm2 . oooo += einsum ( tmp2 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . oooo += einsum ( tmp2 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) rdm2 . oooo += einsum ( tmp2 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 tmp31 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) del tmp0 tmp110 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) rdm2 . vvvo = np . copy ( np . transpose ( tmp110 , ( 2 , 1 , 3 , 0 ))) rdm2 . vvvo += np . transpose ( tmp110 , ( 1 , 2 , 3 , 0 )) * - 1 rdm2 . vvvo += np . transpose ( tmp110 , ( 2 , 1 , 3 , 0 )) rdm2 . vvvo += np . transpose ( tmp110 , ( 2 , 1 , 3 , 0 )) rdm2 . vvvo += np . transpose ( tmp110 , ( 2 , 1 , 3 , 0 )) rdm2 . vvvo += np . transpose ( tmp110 , ( 1 , 2 , 3 , 0 )) * - 1 rdm2 . vvov = np . copy ( np . transpose ( tmp110 , ( 2 , 1 , 0 , 3 ))) * - 1 rdm2 . vvov += np . transpose ( tmp110 , ( 1 , 2 , 0 , 3 )) rdm2 . vvov += np . transpose ( tmp110 , ( 1 , 2 , 0 , 3 )) rdm2 . vvov += np . transpose ( tmp110 , ( 1 , 2 , 0 , 3 )) rdm2 . vvov += np . transpose ( tmp110 , ( 2 , 1 , 0 , 3 )) * - 1 rdm2 . vvov += np . transpose ( tmp110 , ( 1 , 2 , 0 , 3 )) tmp76 = einsum ( l1 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp77 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp55 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) tmp104 = np . copy ( tmp84 ) tmp104 += np . transpose ( tmp93 , ( 1 , 0 , 3 , 2 )) tmp104 += np . transpose ( tmp91 , ( 1 , 0 , 3 , 2 )) * - 1 tmp41 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp40 tmp60 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 5 , 1 ), ( 5 , 0 , 4 , 3 )) rdm2 . voov += np . transpose ( tmp60 , ( 2 , 1 , 0 , 3 )) * - 1 rdm2 . voov += np . transpose ( tmp60 , ( 2 , 1 , 0 , 3 )) * - 1 rdm2 . ovvo += np . transpose ( tmp60 , ( 1 , 2 , 3 , 0 )) * - 1 rdm2 . ovvo += np . transpose ( tmp60 , ( 1 , 2 , 3 , 0 )) * - 1 tmp94 = np . copy ( np . transpose ( tmp91 , ( 1 , 0 , 3 , 2 ))) del tmp91 tmp94 += np . transpose ( tmp93 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp93 tmp101 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp55 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) tmp6 = np . copy ( np . transpose ( tmp3 , ( 1 , 0 , 3 , 2 ))) tmp6 += tmp5 rdm2 . oooo += np . transpose ( tmp6 , ( 2 , 3 , 0 , 1 )) rdm2 . oooo += np . transpose ( tmp6 , ( 3 , 2 , 0 , 1 )) * - 1 rdm2 . oooo += np . transpose ( tmp6 , ( 2 , 3 , 0 , 1 )) rdm2 . oooo += np . transpose ( tmp6 , ( 3 , 2 , 0 , 1 )) * - 1 tmp23 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp3 tmp64 = np . copy ( tmp25 ) del tmp25 tmp64 += tmp17 * - 1 tmp67 = np . copy ( tmp12 ) tmp67 += tmp26 * - 1 del tmp26 tmp44 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp43 , ( 1 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp13 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) del tmp5 tmp56 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp55 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) * 0.5 del tmp55 tmp9 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) * 0.5 tmp10 = einsum ( tmp1 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * 0.5 tmp49 = np . copy ( tmp12 ) tmp49 += tmp15 tmp49 += tmp17 * - 1 tmp21 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), l1 , ( 2 , 0 ), ( 1 , 3 )) rdm2 . oovo += einsum ( tmp21 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . oovo += einsum ( tmp21 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . oovo += einsum ( tmp21 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . oovo += einsum ( tmp21 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp19 = einsum ( tmp2 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) rdm2 . oovv = einsum ( t1 , ( 0 , 1 ), tmp19 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), tmp19 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 tmp29 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp29 += t2 * 2 tmp32 = np . copy ( tmp2 ) * 0.5 tmp32 += tmp31 del tmp31 tmp112 = einsum ( tmp110 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) del tmp110 rdm2 . vvvv = np . copy ( np . transpose ( tmp112 , ( 1 , 0 , 3 , 2 ))) rdm2 . vvvv += np . transpose ( tmp112 , ( 1 , 0 , 3 , 2 )) tmp111 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 3 , 2 , 4 , 5 ), ( 0 , 1 , 5 , 4 )) rdm2 . vvvv += np . transpose ( tmp111 , ( 1 , 0 , 3 , 2 )) rdm2 . vvvv += np . transpose ( tmp111 , ( 1 , 0 , 3 , 2 )) tmp62 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 3 , 4 , 0 , 5 )) rdm2 . vovo = np . copy ( np . transpose ( tmp62 , ( 2 , 1 , 3 , 0 ))) * - 1 rdm2 . vovo += np . transpose ( tmp62 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . ovov = np . copy ( np . transpose ( tmp62 , ( 1 , 2 , 0 , 3 ))) * - 1 rdm2 . ovov += np . transpose ( tmp62 , ( 1 , 2 , 0 , 3 )) * - 1 tmp78 = np . copy ( tmp76 ) tmp78 += tmp77 del tmp77 rdm2 . vovv = einsum ( t1 , ( 0 , 1 ), tmp78 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . vovv += einsum ( t1 , ( 0 , 1 ), tmp78 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . voov += einsum ( tmp78 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . voov += einsum ( tmp78 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . ovvo += einsum ( tmp78 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . ovvo += einsum ( tmp78 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . ovov += einsum ( tmp78 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . ovov += einsum ( tmp78 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . ovov += einsum ( tmp78 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . ovov += einsum ( tmp78 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp97 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 0 , 4 , 5 ), ( 4 , 5 , 3 , 2 )) rdm2 . vovv += np . transpose ( tmp97 , ( 1 , 0 , 2 , 3 )) * - 1 rdm2 . vovv += np . transpose ( tmp97 , ( 1 , 0 , 2 , 3 )) * - 1 rdm2 . ovvv = np . copy ( np . transpose ( tmp97 , ( 0 , 1 , 3 , 2 ))) * - 1 rdm2 . ovvv += np . transpose ( tmp97 , ( 0 , 1 , 3 , 2 )) * - 1 tmp105 = einsum ( t1 , ( 0 , 1 ), tmp104 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp104 tmp89 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l1 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) rdm2 . vovv += np . transpose ( tmp89 , ( 1 , 0 , 3 , 2 )) rdm2 . vovv += np . transpose ( tmp89 , ( 1 , 0 , 3 , 2 )) rdm2 . ovvv += tmp89 rdm2 . ovvv += tmp89 tmp108 = np . copy ( tmp60 ) tmp108 += tmp84 tmp108 += tmp41 * - 1 tmp95 = einsum ( tmp94 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp94 tmp102 = np . copy ( tmp60 ) tmp102 += tmp84 tmp102 += tmp101 * - 1 del tmp101 tmp80 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp80 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp85 = np . copy ( tmp4 ) * - 1 tmp85 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) tmp72 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp72 += t2 tmp82 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) tmp82 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp53 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 5 ), ( 2 , 3 , 4 , 5 )) rdm2 . oovv += np . transpose ( tmp53 , ( 1 , 0 , 3 , 2 )) rdm2 . oovv += np . transpose ( tmp53 , ( 1 , 0 , 3 , 2 )) tmp52 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) tmp48 = einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp65 = einsum ( tmp64 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp64 tmp47 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) tmp68 = einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp67 tmp42 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp41 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp41 rdm2 . oovv += np . transpose ( tmp42 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . oovv += np . transpose ( tmp42 , ( 1 , 0 , 3 , 2 )) * 2 tmp45 = einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp44 tmp39 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) tmp27 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp6 rdm2 . oovo += np . transpose ( tmp27 , ( 1 , 2 , 3 , 0 )) rdm2 . oovo += np . transpose ( tmp27 , ( 1 , 2 , 3 , 0 )) rdm2 . ooov += np . transpose ( tmp27 , ( 2 , 1 , 0 , 3 )) rdm2 . ooov += np . transpose ( tmp27 , ( 2 , 1 , 0 , 3 )) tmp57 = einsum ( tmp56 , ( 0 , 1 ), t2 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 tmp58 = einsum ( tmp1 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 4 , 3 )) tmp11 = np . copy ( tmp9 ) del tmp9 tmp11 += tmp10 del tmp10 rdm2 . ooov += einsum ( tmp11 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 rdm2 . ooov += einsum ( tmp11 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 tmp50 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp49 tmp22 = np . copy ( tmp19 ) tmp22 += tmp21 * - 1 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp22 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 rdm2 . ooov += einsum ( tmp22 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp22 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 rdm2 . ooov += einsum ( tmp22 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) tmp28 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) del tmp8 tmp30 = einsum ( l1 , ( 0 , 1 ), tmp29 , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) del tmp29 tmp33 = einsum ( tmp32 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * 2 del tmp32 tmp113 = np . copy ( np . transpose ( tmp111 , ( 1 , 0 , 3 , 2 ))) del tmp111 tmp113 += np . transpose ( tmp112 , ( 1 , 0 , 3 , 2 )) del tmp112 rdm2 . vvvv += tmp113 rdm2 . vvvv += np . transpose ( tmp113 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . vvvv += tmp113 rdm2 . vvvv += np . transpose ( tmp113 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp113 tmp100 = einsum ( t1 , ( 0 , 1 ), tmp62 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) rdm2 . vovv += np . transpose ( tmp100 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . vovv += np . transpose ( tmp100 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . ovvv += tmp100 * - 1 rdm2 . ovvv += tmp100 * - 1 del tmp100 tmp107 = np . copy ( tmp97 ) tmp107 += einsum ( tmp78 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp78 rdm2 . vovv += np . transpose ( tmp107 , ( 1 , 0 , 3 , 2 )) rdm2 . vovv += np . transpose ( tmp107 , ( 1 , 0 , 2 , 3 )) * - 1 rdm2 . vovv += np . transpose ( tmp107 , ( 1 , 0 , 3 , 2 )) rdm2 . vovv += np . transpose ( tmp107 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp107 tmp106 = np . copy ( tmp89 ) tmp106 += np . transpose ( tmp105 , ( 0 , 1 , 3 , 2 )) del tmp105 rdm2 . vovv += np . transpose ( tmp106 , ( 1 , 0 , 3 , 2 )) rdm2 . vovv += np . transpose ( tmp106 , ( 1 , 0 , 2 , 3 )) * - 1 rdm2 . vovv += np . transpose ( tmp106 , ( 1 , 0 , 3 , 2 )) rdm2 . vovv += np . transpose ( tmp106 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp106 tmp109 = einsum ( t1 , ( 0 , 1 ), tmp108 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp108 rdm2 . vovv += np . transpose ( tmp109 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . vovv += np . transpose ( tmp109 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp109 tmp99 = einsum ( t1 , ( 0 , 1 ), tmp84 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp84 rdm2 . ovvv += np . transpose ( tmp99 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . ovvv += tmp99 rdm2 . ovvv += np . transpose ( tmp99 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . ovvv += tmp99 del tmp99 tmp96 = np . copy ( tmp89 ) del tmp89 tmp96 += einsum ( tmp76 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp96 += np . transpose ( tmp95 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp95 rdm2 . ovvv += np . transpose ( tmp96 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . ovvv += tmp96 rdm2 . ovvv += np . transpose ( tmp96 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . ovvv += tmp96 del tmp96 tmp88 = np . copy ( tmp76 ) * 0.5 del tmp76 tmp88 += tmp56 rdm2 . ovvv += einsum ( tmp88 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . ovvv += einsum ( tmp88 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . vovo += einsum ( tmp88 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . vovo += einsum ( tmp88 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . vovo += einsum ( tmp88 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . vovo += einsum ( tmp88 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 del tmp88 tmp103 = einsum ( t1 , ( 0 , 1 ), tmp102 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp102 rdm2 . ovvv += tmp103 * - 1 rdm2 . ovvv += tmp103 * - 1 del tmp103 tmp98 = np . copy ( tmp97 ) del tmp97 tmp98 += einsum ( tmp56 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 del tmp56 rdm2 . ovvv += np . transpose ( tmp98 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . ovvv += tmp98 rdm2 . ovvv += np . transpose ( tmp98 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . ovvv += tmp98 del tmp98 tmp87 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp43 , ( 1 , 4 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) del tmp43 rdm2 . vovo += np . transpose ( tmp87 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . vovo += np . transpose ( tmp87 , ( 2 , 1 , 3 , 0 )) * - 1 del tmp87 tmp81 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp80 , ( 1 , 4 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp80 rdm2 . vovo += np . transpose ( tmp81 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . vovo += np . transpose ( tmp81 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . voov += np . transpose ( tmp81 , ( 2 , 1 , 0 , 3 )) rdm2 . voov += np . transpose ( tmp81 , ( 2 , 1 , 0 , 3 )) rdm2 . ovvo += np . transpose ( tmp81 , ( 1 , 2 , 3 , 0 )) rdm2 . ovvo += np . transpose ( tmp81 , ( 1 , 2 , 3 , 0 )) rdm2 . ovvo += np . transpose ( tmp81 , ( 1 , 2 , 3 , 0 )) rdm2 . ovvo += np . transpose ( tmp81 , ( 1 , 2 , 3 , 0 )) del tmp81 tmp86 = einsum ( tmp85 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp85 rdm2 . vovo += np . transpose ( tmp86 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . vovo += np . transpose ( tmp86 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . voov += np . transpose ( tmp86 , ( 2 , 1 , 0 , 3 )) rdm2 . voov += np . transpose ( tmp86 , ( 2 , 1 , 0 , 3 )) del tmp86 tmp79 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp4 rdm2 . vovo += np . transpose ( tmp79 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . vovo += np . transpose ( tmp79 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . ovov += np . transpose ( tmp79 , ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . ovov += np . transpose ( tmp79 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp79 tmp73 = einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 0 , 5 ), ( 1 , 5 , 3 , 4 )) del tmp72 rdm2 . voov += np . transpose ( tmp73 , ( 3 , 0 , 1 , 2 )) * - 1 rdm2 . voov += np . transpose ( tmp73 , ( 3 , 0 , 1 , 2 )) * - 1 rdm2 . ovov += np . transpose ( tmp73 , ( 0 , 3 , 1 , 2 )) rdm2 . ovov += np . transpose ( tmp73 , ( 0 , 3 , 1 , 2 )) del tmp73 tmp74 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 3 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 0 )) del tmp20 rdm2 . voov += np . transpose ( tmp74 , ( 3 , 0 , 1 , 2 )) rdm2 . voov += np . transpose ( tmp74 , ( 3 , 0 , 1 , 2 )) rdm2 . ovov += np . transpose ( tmp74 , ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . ovov += np . transpose ( tmp74 , ( 0 , 3 , 1 , 2 )) * - 1 del tmp74 tmp75 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp14 rdm2 . ovvo += np . transpose ( tmp75 , ( 1 , 2 , 3 , 0 )) * - 1 rdm2 . ovvo += np . transpose ( tmp75 , ( 1 , 2 , 3 , 0 )) * - 1 rdm2 . ovov += np . transpose ( tmp75 , ( 1 , 2 , 0 , 3 )) rdm2 . ovov += np . transpose ( tmp75 , ( 1 , 2 , 0 , 3 )) del tmp75 tmp83 = einsum ( tmp82 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 1 , 4 , 2 , 5 )) del tmp82 rdm2 . ovvo += np . transpose ( tmp83 , ( 1 , 2 , 3 , 0 )) * - 1 rdm2 . ovvo += np . transpose ( tmp83 , ( 1 , 2 , 3 , 0 )) * - 1 del tmp83 tmp54 = np . copy ( tmp52 ) del tmp52 tmp54 += np . transpose ( tmp53 , ( 1 , 0 , 3 , 2 )) del tmp53 rdm2 . oovv += np . transpose ( tmp54 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . oovv += tmp54 rdm2 . oovv += np . transpose ( tmp54 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . oovv += tmp54 del tmp54 tmp66 = np . copy ( tmp48 ) * - 1 tmp66 += np . transpose ( tmp65 , ( 0 , 1 , 3 , 2 )) del tmp65 tmp66 += einsum ( tmp21 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp21 rdm2 . oovv += np . transpose ( tmp66 , ( 1 , 0 , 3 , 2 )) rdm2 . oovv += tmp66 rdm2 . oovv += np . transpose ( tmp66 , ( 1 , 0 , 3 , 2 )) rdm2 . oovv += tmp66 del tmp66 tmp61 = einsum ( tmp60 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp60 rdm2 . oovv += tmp61 rdm2 . oovv += tmp61 del tmp61 tmp69 = np . copy ( tmp47 ) tmp69 += np . transpose ( tmp68 , ( 0 , 1 , 3 , 2 )) del tmp68 rdm2 . oovv += np . transpose ( tmp69 , ( 1 , 0 , 2 , 3 )) * - 1 rdm2 . oovv += np . transpose ( tmp69 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . oovv += np . transpose ( tmp69 , ( 1 , 0 , 2 , 3 )) * - 1 rdm2 . oovv += np . transpose ( tmp69 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp69 tmp46 = np . copy ( tmp39 ) del tmp39 tmp46 += np . transpose ( tmp42 , ( 1 , 0 , 3 , 2 )) * 2 del tmp42 tmp46 += tmp45 del tmp45 rdm2 . oovv += np . transpose ( tmp46 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . oovv += tmp46 rdm2 . oovv += np . transpose ( tmp46 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . oovv += tmp46 del tmp46 tmp71 = np . copy ( t1 ) tmp71 += tmp19 * - 1 del tmp19 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), tmp71 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), tmp71 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp71 tmp70 = einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) rdm2 . oovv += np . transpose ( tmp70 , ( 0 , 1 , 3 , 2 )) rdm2 . oovv += np . transpose ( tmp70 , ( 0 , 1 , 3 , 2 )) del tmp70 tmp59 = np . copy ( np . transpose ( tmp57 , ( 1 , 0 , 3 , 2 ))) del tmp57 tmp59 += np . transpose ( tmp58 , ( 0 , 1 , 3 , 2 )) del tmp58 tmp59 += einsum ( tmp11 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 del tmp11 rdm2 . oovv += np . transpose ( tmp59 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . oovv += np . transpose ( tmp59 , ( 1 , 0 , 2 , 3 )) rdm2 . oovv += np . transpose ( tmp59 , ( 0 , 1 , 3 , 2 )) rdm2 . oovv += tmp59 * - 1 rdm2 . oovv += np . transpose ( tmp59 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . oovv += tmp59 * - 1 rdm2 . oovv += np . transpose ( tmp59 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . oovv += tmp59 * - 1 rdm2 . oovv += np . transpose ( tmp59 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . oovv += np . transpose ( tmp59 , ( 1 , 0 , 2 , 3 )) rdm2 . oovv += np . transpose ( tmp59 , ( 0 , 1 , 3 , 2 )) rdm2 . oovv += tmp59 * - 1 del tmp59 tmp63 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp62 rdm2 . oovv += np . transpose ( tmp63 , ( 0 , 1 , 3 , 2 )) rdm2 . oovv += np . transpose ( tmp63 , ( 0 , 1 , 3 , 2 )) del tmp63 tmp51 = np . copy ( tmp47 ) del tmp47 tmp51 += tmp48 * - 1 del tmp48 tmp51 += np . transpose ( tmp50 , ( 0 , 1 , 3 , 2 )) del tmp50 tmp51 += einsum ( t1 , ( 0 , 1 ), tmp22 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 del tmp22 rdm2 . oovv += np . transpose ( tmp51 , ( 1 , 0 , 3 , 2 )) rdm2 . oovv += np . transpose ( tmp51 , ( 1 , 0 , 2 , 3 )) * - 1 rdm2 . oovv += np . transpose ( tmp51 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . oovv += tmp51 rdm2 . oovv += np . transpose ( tmp51 , ( 1 , 0 , 3 , 2 )) rdm2 . oovv += np . transpose ( tmp51 , ( 1 , 0 , 2 , 3 )) * - 1 rdm2 . oovv += np . transpose ( tmp51 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . oovv += tmp51 del tmp51 tmp38 = einsum ( tmp2 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp38 += tmp15 tmp38 += tmp17 * - 1 rdm2 . oovo += np . transpose ( tmp38 , ( 2 , 1 , 3 , 0 )) rdm2 . oovo += np . transpose ( tmp38 , ( 1 , 2 , 3 , 0 )) * - 1 rdm2 . oovo += np . transpose ( tmp38 , ( 2 , 1 , 3 , 0 )) rdm2 . oovo += np . transpose ( tmp38 , ( 1 , 2 , 3 , 0 )) * - 1 del tmp38 tmp37 = np . copy ( tmp12 ) tmp37 += np . transpose ( tmp27 , ( 0 , 2 , 1 , 3 )) del tmp27 tmp37 += einsum ( tmp1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . oovo += np . transpose ( tmp37 , ( 2 , 1 , 3 , 0 )) rdm2 . oovo += np . transpose ( tmp37 , ( 1 , 2 , 3 , 0 )) * - 1 rdm2 . oovo += np . transpose ( tmp37 , ( 2 , 1 , 3 , 0 )) rdm2 . oovo += np . transpose ( tmp37 , ( 1 , 2 , 3 , 0 )) * - 1 del tmp37 tmp34 = np . copy ( t1 ) * - 1 tmp34 += tmp28 tmp34 += tmp30 * - 1 del tmp30 tmp34 += tmp33 rdm2 . oovo += einsum ( tmp34 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 rdm2 . oovo += einsum ( tmp34 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp34 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp34 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 del tmp34 tmp35 = np . copy ( tmp2 ) tmp35 += tmp1 rdm2 . oovo += einsum ( tmp35 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . oovo += einsum ( tmp35 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . ooov += einsum ( tmp35 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . ooov += einsum ( tmp35 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 del tmp35 tmp36 = np . copy ( tmp28 ) del tmp28 tmp36 += tmp33 del tmp33 rdm2 . oovo += einsum ( tmp36 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), tmp36 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . oovo += einsum ( tmp36 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), tmp36 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 del tmp36 tmp24 = np . copy ( tmp23 ) del tmp23 tmp24 += einsum ( tmp1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) del tmp1 rdm2 . ooov += np . transpose ( tmp24 , ( 2 , 1 , 0 , 3 )) * - 1 rdm2 . ooov += np . transpose ( tmp24 , ( 1 , 2 , 0 , 3 )) rdm2 . ooov += np . transpose ( tmp24 , ( 2 , 1 , 0 , 3 )) * - 1 rdm2 . ooov += np . transpose ( tmp24 , ( 1 , 2 , 0 , 3 )) del tmp24 tmp18 = np . copy ( tmp12 ) del tmp12 tmp18 += tmp13 del tmp13 tmp18 += tmp15 del tmp15 tmp18 += tmp17 * - 1 del tmp17 rdm2 . ooov += np . transpose ( tmp18 , ( 2 , 1 , 0 , 3 )) * - 1 rdm2 . ooov += np . transpose ( tmp18 , ( 1 , 2 , 0 , 3 )) rdm2 . ooov += np . transpose ( tmp18 , ( 2 , 1 , 0 , 3 )) * - 1 rdm2 . ooov += np . transpose ( tmp18 , ( 1 , 2 , 0 , 3 )) del tmp18 tmp7 = np . copy ( delta . oo ) tmp7 += tmp2 * - 1 del tmp2 rdm2 . oooo += einsum ( tmp7 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) rdm2 . oooo += einsum ( tmp7 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) del tmp7 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 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 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 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 . ovoo += einsum ( delta . oo , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . ovoo += einsum ( delta . oo , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) 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 += 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 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 , 3 , 1 )) 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 del delta rdm2 . oovv += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . oovv += t2 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 . oovv += t2 rdm2 . oovv += t2 rdm2 . oovv += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . oovv += t2 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 ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . ovov += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . ovvo += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . ovvo += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . ovvo += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . ovvo += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . voov += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . voov += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . voov += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . voov += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . vovo += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . vovo += einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . vvoo = np . copy ( np . transpose ( l2 , ( 0 , 1 , 3 , 2 ))) * - 1 rdm2 . vvoo += l2 rdm2 . vvoo += l2 rdm2 . vvoo += l2 rdm2 . vvoo += np . transpose ( l2 , ( 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 = np . transpose ( rdm2 , ( 0 , 2 , 1 , 3 )) return rdm2","title":"Returns"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.hbar_matvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-12T21:49:13.553236.","title":"hbar_matvec_ip_intermediates"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.hbar_matvec_ip_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.hbar_matvec_ip_intermediates--returns","text":"tmp0 : array tmp100 : array tmp101 : array tmp102 : array tmp103 : array tmp108 : array tmp109 : array tmp12 : array tmp14 : array tmp16 : array tmp17 : array tmp19 : array tmp21 : array tmp22 : array tmp23 : array tmp25 : array tmp27 : array tmp29 : array tmp3 : array tmp30 : array tmp34 : array tmp35 : array tmp36 : array tmp37 : array tmp39 : array tmp4 : array tmp40 : array tmp42 : array tmp45 : array tmp46 : array tmp48 : array tmp49 : array tmp5 : array tmp50 : array tmp51 : array tmp52 : array tmp54 : array tmp55 : array tmp56 : array tmp57 : array tmp58 : array tmp6 : array tmp60 : array tmp64 : array tmp65 : array tmp66 : array tmp67 : array tmp69 : array tmp75 : array tmp76 : array tmp77 : array tmp78 : array tmp82 : array tmp83 : array tmp85 : array tmp86 : array tmp87 : array tmp88 : array tmp89 : array tmp9 : array tmp90 : array tmp92 : array tmp93 : array tmp94 : array tmp98 : array tmp99 : array Source code in ebcc/codegen/RCCSD.py 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 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:49:13.553236. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp100 : array tmp101 : array tmp102 : array tmp103 : array tmp108 : array tmp109 : array tmp12 : array tmp14 : array tmp16 : array tmp17 : array tmp19 : array tmp21 : array tmp22 : array tmp23 : array tmp25 : array tmp27 : array tmp29 : array tmp3 : array tmp30 : array tmp34 : array tmp35 : array tmp36 : array tmp37 : array tmp39 : array tmp4 : array tmp40 : array tmp42 : array tmp45 : array tmp46 : array tmp48 : array tmp49 : array tmp5 : array tmp50 : array tmp51 : array tmp52 : array tmp54 : array tmp55 : array tmp56 : array tmp57 : array tmp58 : array tmp6 : array tmp60 : array tmp64 : array tmp65 : array tmp66 : array tmp67 : array tmp69 : array tmp75 : array tmp76 : array tmp77 : array tmp78 : array tmp82 : array tmp83 : array tmp85 : array tmp86 : array tmp87 : array tmp88 : array tmp89 : array tmp9 : array tmp90 : array tmp92 : array tmp93 : array tmp94 : array tmp98 : array tmp99 : array \"\"\" tmp0 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp93 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp3 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp77 = einsum ( tmp3 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp4 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp78 = einsum ( tmp4 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp5 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp75 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp55 = einsum ( tmp5 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp54 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 1 , 2 ), ( 0 , 3 )) tmp16 = einsum ( tmp5 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp108 = einsum ( t1 , ( 0 , 1 ), tmp16 , ( 2 , 0 ), ( 2 , 1 )) tmp6 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp76 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp57 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 3 ), ( 0 , 2 )) tmp56 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 2 ), ( 0 , 3 )) tmp17 = einsum ( t1 , ( 0 , 1 ), tmp6 , ( 2 , 1 ), ( 0 , 2 )) tmp109 = einsum ( tmp17 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp9 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp100 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 4 , 5 , 1 , 2 ), ( 4 , 0 , 5 , 3 )) tmp99 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp98 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp90 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp92 = einsum ( tmp90 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp36 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) tmp35 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp34 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp12 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) tmp102 = einsum ( tmp12 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp101 = einsum ( tmp14 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp19 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp87 = einsum ( t1 , ( 0 , 1 ), tmp19 , ( 2 , 1 ), ( 0 , 2 )) tmp21 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp88 = einsum ( t1 , ( 0 , 1 ), tmp21 , ( 1 , 2 ), ( 0 , 2 )) tmp22 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp23 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp25 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp27 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp29 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp30 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp103 = einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) tmp37 = einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp39 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp40 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp42 = einsum ( v . oooo , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp45 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp46 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp48 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 5 , 3 )) tmp49 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp50 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp51 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) tmp52 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp58 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp60 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp64 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp65 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp66 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) tmp67 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) tmp69 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp82 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp83 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp89 = einsum ( tmp83 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp85 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 4 )) tmp86 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp94 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) return { f \"tmp0\" : tmp0 , f \"tmp100\" : tmp100 , f \"tmp101\" : tmp101 , f \"tmp102\" : tmp102 , f \"tmp103\" : tmp103 , f \"tmp108\" : tmp108 , f \"tmp109\" : tmp109 , f \"tmp12\" : tmp12 , f \"tmp14\" : tmp14 , f \"tmp16\" : tmp16 , f \"tmp17\" : tmp17 , f \"tmp19\" : tmp19 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp23\" : tmp23 , f \"tmp25\" : tmp25 , f \"tmp27\" : tmp27 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp34\" : tmp34 , f \"tmp35\" : tmp35 , f \"tmp36\" : tmp36 , f \"tmp37\" : tmp37 , f \"tmp39\" : tmp39 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp42\" : tmp42 , f \"tmp45\" : tmp45 , f \"tmp46\" : tmp46 , f \"tmp48\" : tmp48 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp50\" : tmp50 , f \"tmp51\" : tmp51 , f \"tmp52\" : tmp52 , f \"tmp54\" : tmp54 , f \"tmp55\" : tmp55 , f \"tmp56\" : tmp56 , f \"tmp57\" : tmp57 , f \"tmp58\" : tmp58 , f \"tmp6\" : tmp6 , f \"tmp60\" : tmp60 , f \"tmp64\" : tmp64 , f \"tmp65\" : tmp65 , f \"tmp66\" : tmp66 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp75\" : tmp75 , f \"tmp76\" : tmp76 , f \"tmp77\" : tmp77 , f \"tmp78\" : tmp78 , f \"tmp82\" : tmp82 , f \"tmp83\" : tmp83 , f \"tmp85\" : tmp85 , f \"tmp86\" : tmp86 , f \"tmp87\" : tmp87 , f \"tmp88\" : tmp88 , f \"tmp89\" : tmp89 , f \"tmp9\" : tmp9 , f \"tmp90\" : tmp90 , f \"tmp92\" : tmp92 , f \"tmp93\" : tmp93 , f \"tmp94\" : tmp94 , f \"tmp98\" : tmp98 , f \"tmp99\" : tmp99 }","title":"Returns"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.hbar_matvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-12T21:49:13.585556.","title":"hbar_matvec_ip"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.hbar_matvec_ip--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.hbar_matvec_ip--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RCCSD.py 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 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:49:13.585556. 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\" ] tmp12 = np . copy ( r2 ) * 2 tmp12 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 1 tmp13 = np . copy ( ints . tmp9 ) tmp13 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) tmp1 = np . copy ( f . ov ) * 0.5 tmp1 += ints . tmp6 tmp1 += ints . tmp5 * - 0.5 tmp15 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 0.5 tmp15 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp14 = einsum ( tmp12 , ( 0 , 1 , 2 ), tmp13 , ( 3 , 0 , 4 , 2 ), ( 1 , 4 , 3 )) * - 1 del tmp12 tmp14 += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 3 ), ( 0 , 1 , 4 )) tmp14 += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 4 , 3 ), ( 4 , 1 , 0 )) del tmp13 r2new = einsum ( tmp14 , ( 0 , 1 , 2 ), t1 , ( 1 , 3 ), ( 2 , 0 , 3 )) del tmp14 tmp7 = np . copy ( ints . tmp25 ) tmp7 += np . transpose ( ints . tmp30 , ( 1 , 0 , 2 , 3 )) tmp7 += ints . tmp90 r2new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 2 , 4 ), ( 1 , 0 , 4 )) del tmp7 tmp6 = np . copy ( ints . tmp22 ) tmp6 += v . oovv tmp6 += ints . tmp49 * - 1 r2new += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * - 1 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp6 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp6 tmp9 = np . copy ( ints . tmp21 ) tmp9 += np . transpose ( ints . tmp69 , ( 1 , 0 )) * 2 tmp9 += f . vv * - 1 tmp9 += np . transpose ( ints . tmp19 , ( 1 , 0 )) * - 2 tmp9 += np . transpose ( ints . tmp67 , ( 1 , 0 )) * - 1 tmp9 += einsum ( t1 , ( 0 , 1 ), tmp1 , ( 0 , 2 ), ( 2 , 1 )) * 2 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp9 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp9 tmp10 = np . copy ( ints . tmp100 ) tmp10 += np . transpose ( ints . tmp103 , ( 0 , 2 , 1 , 3 )) tmp10 += np . transpose ( ints . tmp27 , ( 1 , 0 , 2 , 3 )) tmp10 += np . transpose ( ints . tmp35 , ( 1 , 0 , 2 , 3 )) tmp10 += np . transpose ( ints . tmp36 , ( 1 , 0 , 2 , 3 )) tmp10 += np . transpose ( ints . tmp37 , ( 1 , 0 , 2 , 3 )) tmp10 += np . transpose ( ints . tmp42 , ( 2 , 0 , 1 , 3 )) tmp10 += ints . tmp45 tmp10 += ints . tmp48 tmp10 += np . transpose ( ints . tmp66 , ( 1 , 0 , 2 , 3 )) tmp10 += ints . tmp75 tmp10 += np . transpose ( ints . tmp92 , ( 1 , 0 , 2 , 3 )) tmp10 += np . transpose ( ints . tmp23 , ( 1 , 0 , 2 , 3 )) * - 1 tmp10 += np . transpose ( ints . tmp34 , ( 1 , 0 , 2 , 3 )) * - 2 tmp10 += ints . tmp46 * - 2 tmp10 += np . transpose ( ints . tmp60 , ( 1 , 2 , 0 , 3 )) * - 1 tmp10 += ints . tmp76 * - 2 tmp10 += np . transpose ( ints . tmp89 , ( 1 , 0 , 2 , 3 )) * - 1 tmp10 += ints . tmp94 * - 1 tmp10 += np . transpose ( ints . tmp9 , ( 1 , 0 , 2 , 3 )) * - 1 tmp10 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 r2new += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), r1 , ( 2 ,), ( 0 , 1 , 3 )) * - 1 del tmp10 tmp16 = einsum ( r2 , ( 0 , 1 , 2 ), tmp15 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) del tmp15 r2new += einsum ( tmp16 , ( 0 ,), t2 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * - 2 del tmp16 tmp4 = np . copy ( r2 ) tmp4 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 0.5 tmp5 = np . copy ( ints . tmp52 ) * 2 tmp5 += np . transpose ( ints . tmp83 , ( 0 , 1 , 3 , 2 )) tmp5 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp5 += ints . tmp50 * - 1 tmp5 += ints . tmp51 * - 1 r2new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * 2 del tmp5 , tmp4 tmp11 = np . copy ( f . oo ) * 0.5 tmp11 += ints . tmp0 * 0.5 tmp11 += np . transpose ( ints . tmp14 , ( 1 , 0 )) tmp11 += np . transpose ( ints . tmp17 , ( 1 , 0 )) tmp11 += np . transpose ( ints . tmp4 , ( 1 , 0 )) tmp11 += np . transpose ( ints . tmp12 , ( 1 , 0 )) * - 0.5 tmp11 += np . transpose ( ints . tmp16 , ( 1 , 0 )) * - 0.5 tmp11 += np . transpose ( ints . tmp3 , ( 1 , 0 )) * - 0.5 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp11 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 2 r2new += einsum ( tmp11 , ( 0 , 1 ), r2 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 2 del tmp11 tmp17 = np . copy ( ints . tmp101 ) * 2 tmp17 += ints . tmp109 * 2 tmp17 += ints . tmp29 tmp17 += ints . tmp39 tmp17 += ints . tmp55 * 2 tmp17 += ints . tmp56 * 2 tmp17 += ints . tmp58 tmp17 += ints . tmp65 * 2 tmp17 += ints . tmp78 * 2 tmp17 += ints . tmp86 tmp17 += ints . tmp88 tmp17 += ints . tmp93 tmp17 += ints . tmp98 * 2 tmp17 += f . ov * - 1 tmp17 += ints . tmp102 * - 1 tmp17 += ints . tmp108 * - 1 tmp17 += ints . tmp40 * - 2 tmp17 += ints . tmp54 * - 1 tmp17 += ints . tmp57 * - 4 tmp17 += ints . tmp64 * - 1 tmp17 += ints . tmp6 * - 2 tmp17 += ints . tmp77 * - 1 tmp17 += ints . tmp82 * - 1 tmp17 += ints . tmp85 * - 2 tmp17 += ints . tmp87 * - 2 tmp17 += ints . tmp99 * - 1 r2new += einsum ( tmp17 , ( 0 , 1 ), r1 , ( 2 ,), ( 0 , 2 , 1 )) del tmp17 tmp8 = np . copy ( ints . tmp30 ) tmp8 += np . transpose ( v . oooo , ( 0 , 2 , 3 , 1 )) r2new += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 ), ( 1 , 0 , 4 )) del tmp8 tmp2 = np . copy ( r2 ) * - 1 tmp2 += np . transpose ( r2 , ( 1 , 0 , 2 )) * 2 r1new = einsum ( tmp2 , ( 0 , 1 , 2 ), tmp1 , ( 1 , 2 ), ( 0 ,)) * - 2 del tmp1 , tmp2 tmp0 = np . copy ( ints . tmp9 ) tmp0 += v . ooov * - 0.5 tmp0 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) r1new += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 2 , 3 ), ( 0 ,)) * 2 del tmp0 tmp3 = np . copy ( f . oo ) tmp3 += ints . tmp0 tmp3 += np . transpose ( ints . tmp14 , ( 1 , 0 )) * 2 tmp3 += np . transpose ( ints . tmp17 , ( 1 , 0 )) * 2 tmp3 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * 2 tmp3 += np . transpose ( ints . tmp12 , ( 1 , 0 )) * - 1 tmp3 += np . transpose ( ints . tmp16 , ( 1 , 0 )) * - 1 tmp3 += np . transpose ( ints . tmp3 , ( 1 , 0 )) * - 1 r1new += einsum ( tmp3 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) * - 1 del tmp3 r1new += einsum ( ints . tmp9 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 1 , 3 ), ( 0 ,)) * - 1 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.hbar_matvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-12T21:49:31.771471.","title":"hbar_matvec_ea_intermediates"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.hbar_matvec_ea_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.hbar_matvec_ea_intermediates--returns","text":"tmp102 : array tmp103 : array tmp104 : array tmp106 : array tmp107 : array tmp108 : array tmp109 : array tmp14 : array tmp16 : array tmp25 : array tmp28 : array tmp3 : array tmp32 : array tmp33 : array tmp34 : array tmp36 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp52 : array tmp54 : array tmp55 : array tmp56 : array tmp58 : array tmp6 : array tmp60 : array tmp61 : array tmp63 : array tmp64 : array tmp66 : array tmp67 : array tmp7 : array tmp72 : array tmp73 : array tmp74 : array tmp75 : array tmp76 : array tmp81 : array tmp82 : array tmp83 : array tmp88 : array tmp89 : array tmp90 : array tmp91 : array tmp93 : array tmp94 : array tmp97 : array tmp98 : array tmp99 : array Source code in ebcc/codegen/RCCSD.py 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 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:49:31.771471. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp102 : array tmp103 : array tmp104 : array tmp106 : array tmp107 : array tmp108 : array tmp109 : array tmp14 : array tmp16 : array tmp25 : array tmp28 : array tmp3 : array tmp32 : array tmp33 : array tmp34 : array tmp36 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp52 : array tmp54 : array tmp55 : array tmp56 : array tmp58 : array tmp6 : array tmp60 : array tmp61 : array tmp63 : array tmp64 : array tmp66 : array tmp67 : array tmp7 : array tmp72 : array tmp73 : array tmp74 : array tmp75 : array tmp76 : array tmp81 : array tmp82 : array tmp83 : array tmp88 : array tmp89 : array tmp90 : array tmp91 : array tmp93 : array tmp94 : array tmp97 : array tmp98 : array tmp99 : array \"\"\" tmp3 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp63 = einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 1 ), ( 0 , 2 )) tmp5 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp64 = einsum ( tmp5 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 2 , 1 )) tmp6 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp107 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 3 ), ( 0 , 2 )) tmp106 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 2 ), ( 0 , 3 )) tmp66 = einsum ( t1 , ( 0 , 1 ), tmp6 , ( 2 , 1 ), ( 0 , 2 )) tmp81 = einsum ( tmp66 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp7 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp109 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 1 , 3 ), ( 0 , 2 )) tmp108 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 1 , 2 ), ( 0 , 3 )) tmp67 = einsum ( t1 , ( 0 , 1 ), tmp7 , ( 2 , 1 ), ( 0 , 2 )) tmp82 = einsum ( tmp67 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp14 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) tmp16 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp25 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 2 ), ( 0 , 3 , 4 , 5 )) tmp28 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp32 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp33 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp90 = einsum ( tmp33 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp34 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp91 = einsum ( tmp34 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp36 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 5 ), ( 0 , 5 , 4 , 3 )) tmp46 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp47 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp72 = einsum ( tmp47 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp49 = einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp51 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp52 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp54 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 4 )) tmp55 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp56 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) tmp76 = einsum ( tmp56 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp58 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp75 = einsum ( tmp58 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp60 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp74 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp60 , ( 4 , 1 , 0 , 2 ), ( 4 , 3 )) tmp73 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp60 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) tmp61 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp60 , ( 4 , 1 , 0 , 5 ), ( 4 , 3 , 2 , 5 )) tmp83 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp88 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) tmp89 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 0 , 2 ), ( 4 , 3 )) tmp93 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp94 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp97 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp98 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp99 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) tmp102 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp103 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) tmp104 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) return { f \"tmp102\" : tmp102 , f \"tmp103\" : tmp103 , f \"tmp104\" : tmp104 , f \"tmp106\" : tmp106 , f \"tmp107\" : tmp107 , f \"tmp108\" : tmp108 , f \"tmp109\" : tmp109 , f \"tmp14\" : tmp14 , f \"tmp16\" : tmp16 , f \"tmp25\" : tmp25 , f \"tmp28\" : tmp28 , f \"tmp3\" : tmp3 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp34\" : tmp34 , f \"tmp36\" : tmp36 , f \"tmp46\" : tmp46 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp51\" : tmp51 , f \"tmp52\" : tmp52 , f \"tmp54\" : tmp54 , f \"tmp55\" : tmp55 , f \"tmp56\" : tmp56 , f \"tmp58\" : tmp58 , f \"tmp6\" : tmp6 , f \"tmp60\" : tmp60 , f \"tmp61\" : tmp61 , f \"tmp63\" : tmp63 , f \"tmp64\" : tmp64 , f \"tmp66\" : tmp66 , f \"tmp67\" : tmp67 , f \"tmp7\" : tmp7 , f \"tmp72\" : tmp72 , f \"tmp73\" : tmp73 , f \"tmp74\" : tmp74 , f \"tmp75\" : tmp75 , f \"tmp76\" : tmp76 , f \"tmp81\" : tmp81 , f \"tmp82\" : tmp82 , f \"tmp83\" : tmp83 , f \"tmp88\" : tmp88 , f \"tmp89\" : tmp89 , f \"tmp90\" : tmp90 , f \"tmp91\" : tmp91 , f \"tmp93\" : tmp93 , f \"tmp94\" : tmp94 , f \"tmp97\" : tmp97 , f \"tmp98\" : tmp98 , f \"tmp99\" : tmp99 }","title":"Returns"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.hbar_matvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-12T21:49:31.797281.","title":"hbar_matvec_ea"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.hbar_matvec_ea--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.hbar_matvec_ea--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RCCSD.py 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 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:49:31.797281. 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\" ] tmp1 = np . copy ( f . ov ) * 0.5 tmp1 += ints . tmp7 tmp1 += ints . tmp6 * - 0.5 tmp4 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * 2 tmp4 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp6 = np . copy ( f . ov ) tmp6 += ints . tmp7 * 2 tmp6 += ints . tmp6 * - 1 tmp9 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 3 , 4 ), ( 4 , 0 , 2 )) r2new = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 4 , 1 , 0 ), ( 3 , 2 , 4 )) tmp20 = np . copy ( ints . tmp60 ) tmp20 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) tmp12 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp12 += einsum ( r1 , ( 0 ,), t1 , ( 1 , 2 ), ( 1 , 2 , 0 )) * - 1 tmp14 = np . copy ( ints . tmp60 ) * - 0.5 tmp14 += np . transpose ( ints . tmp60 , ( 0 , 2 , 1 , 3 )) tmp14 += v . ooov tmp14 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp16 = einsum ( tmp1 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 2 , 1 )) * 2 tmp5 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 2 , 0 ), ( 1 ,)) del tmp4 tmp7 = einsum ( tmp6 , ( 0 , 1 ), r1 , ( 1 ,), ( 0 ,)) del tmp6 tmp21 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 3 , 4 ), ( 4 , 0 , 2 )) * - 1 tmp21 += einsum ( t1 , ( 0 , 1 ), tmp9 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) del tmp9 tmp21 += einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), tmp12 , ( 1 , 4 , 3 ), ( 0 , 2 , 4 )) r2new += einsum ( tmp21 , ( 0 , 1 , 2 ), t1 , ( 1 , 3 ), ( 3 , 2 , 0 )) del tmp21 tmp13 = np . copy ( ints . tmp51 ) tmp13 += v . oovv tmp13 += ints . tmp28 * - 1 r2new += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), tmp12 , ( 1 , 4 , 3 ), ( 4 , 2 , 0 )) * - 1 del tmp12 , tmp13 tmp23 = np . copy ( ints . tmp107 ) * 2 tmp23 += ints . tmp108 * 2 tmp23 += ints . tmp32 tmp23 += ints . tmp55 tmp23 += ints . tmp64 tmp23 += ints . tmp72 tmp23 += ints . tmp73 * 2 tmp23 += ints . tmp75 * 2 tmp23 += ints . tmp82 * 2 tmp23 += ints . tmp83 tmp23 += ints . tmp89 * 2 tmp23 += ints . tmp91 * 2 tmp23 += ints . tmp93 tmp23 += f . ov * - 1 tmp23 += ints . tmp106 * - 1 tmp23 += ints . tmp109 * - 4 tmp23 += ints . tmp46 * - 1 tmp23 += ints . tmp54 * - 2 tmp23 += ints . tmp63 * - 2 tmp23 += ints . tmp74 * - 1 tmp23 += ints . tmp76 * - 1 tmp23 += ints . tmp7 * - 2 tmp23 += ints . tmp81 * - 1 tmp23 += ints . tmp88 * - 1 tmp23 += ints . tmp90 * - 1 tmp23 += ints . tmp94 * - 2 r2new += einsum ( r1 , ( 0 ,), tmp23 , ( 1 , 2 ), ( 2 , 0 , 1 )) del tmp23 tmp22 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 1 , 4 ), ( 4 , 0 , 2 )) * - 1 tmp22 += einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 3 , 2 ), ( 0 , 1 , 4 )) del tmp20 r2new += einsum ( t1 , ( 0 , 1 ), tmp22 , ( 2 , 0 , 3 ), ( 3 , 1 , 2 )) del tmp22 tmp10 = einsum ( t1 , ( 0 , 1 ), r1 , ( 2 ,), ( 0 , 2 , 1 )) * 0.5 tmp10 += np . transpose ( r2 , ( 2 , 0 , 1 )) tmp10 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 0.5 tmp19 = np . copy ( f . oo ) tmp19 += np . transpose ( ints . tmp34 , ( 1 , 0 )) * 2 tmp19 += ints . tmp47 tmp19 += np . transpose ( ints . tmp58 , ( 1 , 0 )) * 2 tmp19 += np . transpose ( ints . tmp67 , ( 1 , 0 )) * 2 tmp19 += np . transpose ( ints . tmp33 , ( 1 , 0 )) * - 1 tmp19 += np . transpose ( ints . tmp56 , ( 1 , 0 )) * - 1 tmp19 += np . transpose ( ints . tmp66 , ( 1 , 0 )) * - 1 r2new += einsum ( tmp19 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp19 tmp15 = np . copy ( ints . tmp51 ) tmp15 += v . oovv tmp15 += ints . tmp28 * - 1 tmp15 += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * 2 del tmp14 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp15 , ( 3 , 2 , 4 , 0 ), ( 4 , 1 , 3 )) * - 1 del tmp15 tmp11 = np . copy ( ints . tmp104 ) * 2 tmp11 += np . transpose ( ints . tmp52 , ( 0 , 1 , 3 , 2 )) tmp11 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp11 += ints . tmp102 * - 1 tmp11 += ints . tmp103 * - 1 r2new += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 1 , 3 , 4 ), ( 2 , 4 , 0 )) * 2 del tmp11 , tmp10 tmp17 = np . copy ( np . transpose ( ints . tmp16 , ( 1 , 0 ))) * 2 tmp17 += ints . tmp5 tmp17 += f . vv * - 1 tmp17 += np . transpose ( ints . tmp14 , ( 1 , 0 )) * - 1 tmp17 += np . transpose ( ints . tmp3 , ( 1 , 0 )) * - 2 tmp17 += np . transpose ( tmp16 , ( 1 , 0 )) del tmp16 r2new += einsum ( tmp17 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new += einsum ( tmp17 , ( 0 , 1 ), r2 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 del tmp17 tmp8 = np . copy ( tmp5 ) * - 1 del tmp5 tmp8 += tmp7 del tmp7 r2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp8 , ( 1 ,), ( 2 , 3 , 0 )) r1new = einsum ( t1 , ( 0 , 1 ), tmp8 , ( 0 ,), ( 1 ,)) * - 1 del tmp8 tmp18 = np . copy ( np . transpose ( ints . tmp36 , ( 0 , 2 , 3 , 1 ))) tmp18 += ints . tmp49 tmp18 += np . transpose ( ints . tmp61 , ( 0 , 1 , 3 , 2 )) tmp18 += np . transpose ( ints . tmp97 , ( 0 , 2 , 3 , 1 )) * 2 tmp18 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) tmp18 += ints . tmp25 * - 1 tmp18 += np . transpose ( ints . tmp98 , ( 0 , 3 , 2 , 1 )) * - 1 tmp18 += np . transpose ( ints . tmp99 , ( 0 , 2 , 3 , 1 )) * - 1 r2new += einsum ( r1 , ( 0 ,), tmp18 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del tmp18 tmp2 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 1 tmp2 += np . transpose ( r2 , ( 2 , 1 , 0 )) * 2 r1new += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp1 , ( 0 , 2 ), ( 1 ,)) * - 2 del tmp1 , tmp2 tmp0 = np . copy ( v . ovvv ) * 2 tmp0 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 r1new += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 2 , 0 ), ( 3 ,)) * - 1 del tmp0 tmp3 = np . copy ( f . vv ) tmp3 += np . transpose ( ints . tmp14 , ( 1 , 0 )) tmp3 += np . transpose ( ints . tmp3 , ( 1 , 0 )) * 2 tmp3 += np . transpose ( ints . tmp16 , ( 1 , 0 )) * - 2 tmp3 += ints . tmp5 * - 1 r1new += einsum ( r1 , ( 0 ,), tmp3 , ( 0 , 1 ), ( 1 ,)) del tmp3 r2new += einsum ( r2 , ( 0 , 1 , 2 ), v . vvvv , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.hbar_lmatvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-13T22:21:23.772354.","title":"hbar_lmatvec_ip_intermediates"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.hbar_lmatvec_ip_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.hbar_lmatvec_ip_intermediates--returns","text":"tmp0 : array tmp1 : array tmp100 : array tmp103 : array tmp104 : array tmp107 : array tmp108 : array tmp112 : array tmp113 : array tmp114 : array tmp116 : array tmp117 : array tmp12 : array tmp13 : array tmp134 : array tmp136 : array tmp14 : array tmp17 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp24 : array tmp26 : array tmp29 : array tmp3 : array tmp32 : array tmp33 : array tmp35 : array tmp36 : array tmp38 : array tmp4 : array tmp41 : array tmp44 : array tmp47 : array tmp48 : array tmp49 : array tmp51 : array tmp54 : array tmp57 : array tmp6 : array tmp60 : array tmp63 : array tmp66 : array tmp69 : array tmp70 : array tmp72 : array tmp73 : array tmp75 : array tmp78 : array tmp81 : array tmp82 : array tmp85 : array tmp86 : array tmp87 : array tmp88 : array tmp9 : array tmp90 : array tmp91 : array tmp92 : array tmp93 : array tmp94 : array tmp97 : array tmp98 : array tmp99 : array Source code in ebcc/codegen/RCCSD.py 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 def hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:21:23.772354. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp100 : array tmp103 : array tmp104 : array tmp107 : array tmp108 : array tmp112 : array tmp113 : array tmp114 : array tmp116 : array tmp117 : array tmp12 : array tmp13 : array tmp134 : array tmp136 : array tmp14 : array tmp17 : array tmp19 : array tmp2 : array tmp20 : array tmp21 : array tmp22 : array tmp24 : array tmp26 : array tmp29 : array tmp3 : array tmp32 : array tmp33 : array tmp35 : array tmp36 : array tmp38 : array tmp4 : array tmp41 : array tmp44 : array tmp47 : array tmp48 : array tmp49 : array tmp51 : array tmp54 : array tmp57 : array tmp6 : array tmp60 : array tmp63 : array tmp66 : array tmp69 : array tmp70 : array tmp72 : array tmp73 : array tmp75 : array tmp78 : array tmp81 : array tmp82 : array tmp85 : array tmp86 : array tmp87 : array tmp88 : array tmp9 : array tmp90 : array tmp91 : array tmp92 : array tmp93 : array tmp94 : array tmp97 : array tmp98 : array tmp99 : array \"\"\" tmp20 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp17 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp47 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp107 = einsum ( t1 , ( 0 , 1 ), tmp20 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp86 = einsum ( t1 , ( 0 , 1 ), tmp17 , ( 2 , 1 ), ( 0 , 2 )) tmp85 = einsum ( t1 , ( 0 , 1 ), tmp47 , ( 2 , 1 ), ( 0 , 2 )) tmp99 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp97 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp93 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 1 ), ( 2 , 3 )) tmp90 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp13 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp12 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp81 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp22 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) tmp24 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp0 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp136 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 2 , 1 , 4 ), ( 3 , 4 )) tmp134 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 2 ), ( 3 , 4 )) tmp117 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp116 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) tmp114 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp113 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp112 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp108 = einsum ( t1 , ( 0 , 1 ), tmp107 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp104 = einsum ( t1 , ( 0 , 1 ), tmp86 , ( 2 , 0 ), ( 2 , 1 )) tmp103 = einsum ( t1 , ( 0 , 1 ), tmp85 , ( 2 , 0 ), ( 2 , 1 )) tmp100 = einsum ( tmp99 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp98 = einsum ( t1 , ( 0 , 1 ), tmp97 , ( 1 , 2 ), ( 0 , 2 )) tmp94 = einsum ( t1 , ( 0 , 1 ), tmp93 , ( 2 , 1 ), ( 0 , 2 )) tmp92 = einsum ( t1 , ( 0 , 1 ), tmp90 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp91 = einsum ( t1 , ( 0 , 1 ), tmp90 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp88 = einsum ( t1 , ( 0 , 1 ), tmp13 , ( 2 , 0 ), ( 2 , 1 )) tmp87 = einsum ( t1 , ( 0 , 1 ), tmp12 , ( 2 , 0 ), ( 2 , 1 )) tmp82 = einsum ( tmp81 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp78 = einsum ( t1 , ( 0 , 1 ), tmp22 , ( 2 , 0 ), ( 2 , 1 )) tmp75 = einsum ( tmp24 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp73 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp72 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) tmp70 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp69 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp66 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp63 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 )) tmp60 = einsum ( tmp17 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp57 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp47 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp54 = einsum ( tmp17 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp51 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 2 ), ( 0 , 3 )) tmp49 = einsum ( tmp47 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp48 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp47 , ( 1 , 2 ), ( 0 , 3 )) tmp44 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp41 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp38 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 1 ), ( 4 , 2 )) tmp36 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp35 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 5 , 3 )) tmp33 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp32 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) tmp29 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp26 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp21 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp19 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp14 = einsum ( t1 , ( 0 , 1 ), v . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp9 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp6 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp2 = einsum ( t1 , ( 0 , 1 ), f . vv , ( 2 , 1 ), ( 0 , 2 )) tmp1 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp100\" : tmp100 , f \"tmp103\" : tmp103 , f \"tmp104\" : tmp104 , f \"tmp107\" : tmp107 , f \"tmp108\" : tmp108 , f \"tmp112\" : tmp112 , f \"tmp113\" : tmp113 , f \"tmp114\" : tmp114 , f \"tmp116\" : tmp116 , f \"tmp117\" : tmp117 , f \"tmp12\" : tmp12 , f \"tmp13\" : tmp13 , f \"tmp134\" : tmp134 , f \"tmp136\" : tmp136 , f \"tmp14\" : tmp14 , f \"tmp17\" : tmp17 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp22\" : tmp22 , f \"tmp24\" : tmp24 , f \"tmp26\" : tmp26 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp35\" : tmp35 , f \"tmp36\" : tmp36 , f \"tmp38\" : tmp38 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp44\" : tmp44 , f \"tmp47\" : tmp47 , f \"tmp48\" : tmp48 , f \"tmp49\" : tmp49 , f \"tmp51\" : tmp51 , f \"tmp54\" : tmp54 , f \"tmp57\" : tmp57 , f \"tmp6\" : tmp6 , f \"tmp60\" : tmp60 , f \"tmp63\" : tmp63 , f \"tmp66\" : tmp66 , f \"tmp69\" : tmp69 , f \"tmp70\" : tmp70 , f \"tmp72\" : tmp72 , f \"tmp73\" : tmp73 , f \"tmp75\" : tmp75 , f \"tmp78\" : tmp78 , f \"tmp81\" : tmp81 , f \"tmp82\" : tmp82 , f \"tmp85\" : tmp85 , f \"tmp86\" : tmp86 , f \"tmp87\" : tmp87 , f \"tmp88\" : tmp88 , f \"tmp9\" : tmp9 , f \"tmp90\" : tmp90 , f \"tmp91\" : tmp91 , f \"tmp92\" : tmp92 , f \"tmp93\" : tmp93 , f \"tmp94\" : tmp94 , f \"tmp97\" : tmp97 , f \"tmp98\" : tmp98 , f \"tmp99\" : tmp99 }","title":"Returns"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.hbar_lmatvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-13T22:21:23.798456.","title":"hbar_lmatvec_ip"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.hbar_lmatvec_ip--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.hbar_lmatvec_ip--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RCCSD.py 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:21:23.798456. 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\" ] tmp18 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp18 += t2 tmp15 = np . copy ( f . ov ) tmp15 += ints . tmp17 * 2 tmp15 += ints . tmp47 * - 1 tmp11 = einsum ( t1 , ( 0 , 1 ), r2 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) tmp10 = np . copy ( ints . tmp107 ) tmp10 += ints . tmp81 tmp10 += np . transpose ( ints . tmp90 , ( 0 , 1 , 3 , 2 )) tmp10 += np . transpose ( v . oooo , ( 0 , 2 , 1 , 3 )) tmp17 = np . copy ( f . oo ) * 0.5 tmp17 += np . transpose ( ints . tmp0 , ( 1 , 0 )) * 0.5 tmp17 += ints . tmp13 tmp17 += ints . tmp24 tmp17 += ints . tmp86 tmp17 += ints . tmp12 * - 0.5 tmp17 += ints . tmp22 * - 0.5 tmp17 += ints . tmp85 * - 0.5 tmp14 = np . copy ( ints . tmp20 ) tmp14 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) tmp8 = np . copy ( ints . tmp117 ) * 2 tmp8 += np . transpose ( ints . tmp99 , ( 0 , 1 , 3 , 2 )) tmp8 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp8 += ints . tmp114 * - 1 tmp8 += ints . tmp116 * - 1 tmp19 = einsum ( r2 , ( 0 , 1 , 2 ), tmp18 , ( 1 , 0 , 3 , 2 ), ( 3 ,)) del tmp18 tmp7 = np . copy ( r2 ) tmp7 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 0.5 tmp9 = np . copy ( ints . tmp112 ) tmp9 += v . oovv tmp9 += np . transpose ( ints . tmp113 , ( 0 , 1 , 3 , 2 )) * - 1 tmp13 = np . copy ( ints . tmp20 ) tmp13 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) tmp16 = np . copy ( ints . tmp136 ) * 2 tmp16 += np . transpose ( ints . tmp97 , ( 1 , 0 )) tmp16 += f . vv * - 1 tmp16 += ints . tmp134 * - 1 tmp16 += ints . tmp93 * - 2 tmp16 += einsum ( tmp15 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 2 , 1 )) tmp12 = np . copy ( tmp11 ) * - 0.5 tmp12 += np . transpose ( tmp11 , ( 1 , 0 , 2 )) tmp0 = np . copy ( r2 ) * - 0.5 tmp0 += np . transpose ( r2 , ( 1 , 0 , 2 )) tmp2 = np . copy ( r2 ) * 2 tmp2 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 1 tmp5 = np . copy ( ints . tmp104 ) * 2 tmp5 += ints . tmp19 tmp5 += ints . tmp1 tmp5 += ints . tmp29 * 2 tmp5 += ints . tmp3 tmp5 += ints . tmp41 tmp5 += ints . tmp49 * 2 tmp5 += ints . tmp51 * 2 tmp5 += ints . tmp63 * 2 tmp5 += ints . tmp75 * 2 tmp5 += ints . tmp88 * 2 tmp5 += ints . tmp98 tmp5 += ints . tmp9 tmp5 += f . ov * - 1 tmp5 += ints . tmp103 * - 1 tmp5 += ints . tmp17 * - 2 tmp5 += ints . tmp26 * - 1 tmp5 += ints . tmp2 * - 1 tmp5 += ints . tmp38 * - 2 tmp5 += ints . tmp48 * - 1 tmp5 += ints . tmp4 * - 2 tmp5 += ints . tmp54 * - 4 tmp5 += ints . tmp66 * - 1 tmp5 += ints . tmp78 * - 1 tmp5 += ints . tmp87 * - 1 tmp5 += ints . tmp94 * - 2 tmp3 = np . copy ( np . transpose ( ints . tmp33 , ( 0 , 2 , 1 , 3 ))) tmp3 += ints . tmp35 tmp3 += np . transpose ( ints . tmp57 , ( 0 , 2 , 1 , 3 )) tmp3 += np . transpose ( ints . tmp72 , ( 0 , 2 , 1 , 3 )) tmp3 += ints . tmp92 tmp3 += ints . tmp21 * - 1 tmp3 += ints . tmp36 * - 2 tmp3 += np . transpose ( ints . tmp60 , ( 0 , 2 , 1 , 3 )) * - 2 tmp3 += np . transpose ( ints . tmp6 , ( 1 , 0 , 2 , 3 )) * - 1 tmp6 = np . copy ( f . oo ) tmp6 += np . transpose ( ints . tmp0 , ( 1 , 0 )) tmp6 += np . transpose ( ints . tmp13 , ( 1 , 0 )) * 2 tmp6 += ints . tmp24 * 2 tmp6 += ints . tmp86 * 2 tmp6 += ints . tmp12 * - 1 tmp6 += ints . tmp22 * - 1 tmp6 += ints . tmp85 * - 1 tmp1 = np . copy ( ints . tmp108 ) tmp1 += np . transpose ( ints . tmp14 , ( 1 , 2 , 0 , 3 )) tmp1 += ints . tmp32 tmp1 += ints . tmp69 tmp1 += ints . tmp73 tmp1 += ints . tmp82 tmp1 += ints . tmp91 tmp1 += ints . tmp100 * - 1 tmp1 += ints . tmp20 * - 1 tmp1 += ints . tmp44 * - 1 tmp1 += ints . tmp70 * - 2 tmp4 = np . copy ( v . ooov ) * - 0.5 tmp4 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) r2new = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp90 , ( 1 , 0 , 3 , 4 ), ( 3 , 4 , 2 )) r2new += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) * 2 del tmp8 , tmp7 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp9 , ( 1 , 3 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 r2new += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 4 , 3 ), ( 1 , 4 , 2 )) * - 1 del tmp9 r2new += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 4 ), ( 2 , 3 , 4 )) del tmp10 r2new += einsum ( tmp12 , ( 0 , 1 , 2 ), tmp13 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) * - 2 del tmp12 , tmp13 r2new += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), tmp11 , ( 4 , 0 , 1 ), ( 4 , 2 , 3 )) r2new += einsum ( tmp11 , ( 0 , 1 , 2 ), tmp14 , ( 0 , 2 , 3 , 4 ), ( 3 , 1 , 4 )) del tmp11 r2new += einsum ( tmp16 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp16 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp17 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 2 r2new += einsum ( tmp17 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 2 del tmp17 r2new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp19 , ( 3 ,), ( 0 , 2 , 1 )) * - 2 del tmp19 r2new += einsum ( r1 , ( 0 ,), tmp14 , ( 0 , 1 , 2 , 3 ), ( 1 , 2 , 3 )) del tmp14 r2new += einsum ( r1 , ( 0 ,), tmp15 , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 del tmp15 r1new = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp1 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) * - 2 del tmp0 , tmp1 r1new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 2 , 3 ), ( 1 ,)) * - 1 del tmp3 r1new += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 2 , 3 ), ( 1 ,)) * 2 del tmp4 r1new += einsum ( tmp5 , ( 0 , 1 ), tmp2 , ( 0 , 2 , 1 ), ( 2 ,)) del tmp2 , tmp5 r1new += einsum ( tmp6 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) * - 1 del tmp6 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.hbar_lmatvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-13T22:21:55.505232.","title":"hbar_lmatvec_ea_intermediates"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.hbar_lmatvec_ea_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.hbar_lmatvec_ea_intermediates--returns","text":"tmp1 : array tmp10 : array tmp103 : array tmp106 : array tmp107 : array tmp109 : array tmp11 : array tmp110 : array tmp111 : array tmp112 : array tmp113 : array tmp14 : array tmp16 : array tmp17 : array tmp19 : array tmp2 : array tmp24 : array tmp27 : array tmp29 : array tmp3 : array tmp31 : array tmp34 : array tmp37 : array tmp4 : array tmp40 : array tmp43 : array tmp46 : array tmp48 : array tmp51 : array tmp53 : array tmp55 : array tmp56 : array tmp57 : array tmp59 : array tmp62 : array tmp69 : array tmp70 : array tmp73 : array tmp76 : array tmp79 : array tmp80 : array tmp83 : array tmp84 : array tmp87 : array tmp88 : array tmp90 : array tmp92 : array tmp95 : array tmp96 : array tmp97 : array tmp98 : array Source code in ebcc/codegen/RCCSD.py 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 def hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:21:55.505232. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp1 : array tmp10 : array tmp103 : array tmp106 : array tmp107 : array tmp109 : array tmp11 : array tmp110 : array tmp111 : array tmp112 : array tmp113 : array tmp14 : array tmp16 : array tmp17 : array tmp19 : array tmp2 : array tmp24 : array tmp27 : array tmp29 : array tmp3 : array tmp31 : array tmp34 : array tmp37 : array tmp4 : array tmp40 : array tmp43 : array tmp46 : array tmp48 : array tmp51 : array tmp53 : array tmp55 : array tmp56 : array tmp57 : array tmp59 : array tmp62 : array tmp69 : array tmp70 : array tmp73 : array tmp76 : array tmp79 : array tmp80 : array tmp83 : array tmp84 : array tmp87 : array tmp88 : array tmp90 : array tmp92 : array tmp95 : array tmp96 : array tmp97 : array tmp98 : array \"\"\" tmp17 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp55 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp112 = einsum ( t1 , ( 0 , 1 ), tmp17 , ( 2 , 1 ), ( 0 , 2 )) tmp110 = einsum ( t1 , ( 0 , 1 ), tmp55 , ( 2 , 1 ), ( 0 , 2 )) tmp16 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp14 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 1 ), ( 2 , 3 )) tmp97 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 0 , 1 )) tmp95 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 3 ), ( 0 , 2 )) tmp83 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) tmp79 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp69 = einsum ( t1 , ( 0 , 1 ), v . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp10 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp113 = einsum ( tmp112 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp111 = einsum ( tmp110 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp109 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp107 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp106 = einsum ( tmp16 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 2 , 1 )) tmp103 = einsum ( t1 , ( 0 , 1 ), tmp14 , ( 2 , 1 ), ( 0 , 2 )) tmp98 = einsum ( tmp97 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp96 = einsum ( t1 , ( 0 , 1 ), tmp95 , ( 2 , 0 ), ( 2 , 1 )) tmp92 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp90 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp88 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp87 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) tmp84 = einsum ( tmp83 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp80 = einsum ( t1 , ( 0 , 1 ), tmp79 , ( 2 , 0 ), ( 2 , 1 )) tmp76 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 5 ), ( 0 , 5 , 4 , 3 )) tmp73 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp70 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp69 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) tmp62 = einsum ( tmp17 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp59 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 2 ), ( 0 , 3 )) tmp57 = einsum ( tmp55 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp56 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp55 , ( 1 , 2 ), ( 0 , 3 )) tmp53 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp51 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 4 , 5 , 2 ), ( 0 , 3 , 4 , 5 )) tmp48 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp46 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 1 , 2 , 4 , 5 ), ( 0 , 3 , 4 , 5 )) tmp43 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp40 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 1 ), ( 4 , 2 )) tmp37 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 5 ), ( 0 , 5 , 4 , 3 )) tmp34 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp31 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp29 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 2 ), ( 3 , 4 )) tmp24 = einsum ( t1 , ( 0 , 1 ), v . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp19 = einsum ( t1 , ( 0 , 1 ), v . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp11 = einsum ( t1 , ( 0 , 1 ), tmp10 , ( 0 , 2 ), ( 2 , 1 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp2 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( t1 , ( 0 , 1 ), f . oo , ( 2 , 0 ), ( 2 , 1 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp103\" : tmp103 , f \"tmp106\" : tmp106 , f \"tmp107\" : tmp107 , f \"tmp109\" : tmp109 , f \"tmp11\" : tmp11 , f \"tmp110\" : tmp110 , f \"tmp111\" : tmp111 , f \"tmp112\" : tmp112 , f \"tmp113\" : tmp113 , f \"tmp14\" : tmp14 , f \"tmp16\" : tmp16 , f \"tmp17\" : tmp17 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp24\" : tmp24 , f \"tmp27\" : tmp27 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp31\" : tmp31 , f \"tmp34\" : tmp34 , f \"tmp37\" : tmp37 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp43\" : tmp43 , f \"tmp46\" : tmp46 , f \"tmp48\" : tmp48 , f \"tmp51\" : tmp51 , f \"tmp53\" : tmp53 , f \"tmp55\" : tmp55 , f \"tmp56\" : tmp56 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp62\" : tmp62 , f \"tmp69\" : tmp69 , f \"tmp70\" : tmp70 , f \"tmp73\" : tmp73 , f \"tmp76\" : tmp76 , f \"tmp79\" : tmp79 , f \"tmp80\" : tmp80 , f \"tmp83\" : tmp83 , f \"tmp84\" : tmp84 , f \"tmp87\" : tmp87 , f \"tmp88\" : tmp88 , f \"tmp90\" : tmp90 , f \"tmp92\" : tmp92 , f \"tmp95\" : tmp95 , f \"tmp96\" : tmp96 , f \"tmp97\" : tmp97 , f \"tmp98\" : tmp98 }","title":"Returns"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.hbar_lmatvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-13T22:21:55.528470.","title":"hbar_lmatvec_ea"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.hbar_lmatvec_ea--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/RCCSD/#ebcc.codegen.RCCSD.hbar_lmatvec_ea--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RCCSD.py 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:21:55.528470. 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\" ] tmp19 = np . copy ( f . ov ) tmp19 += ints . tmp17 * 2 tmp19 += ints . tmp55 * - 1 tmp16 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp16 += t2 * 2 tmp22 = np . copy ( ints . tmp69 ) tmp22 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) tmp10 = einsum ( t1 , ( 0 , 1 ), r2 , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp26 = einsum ( t1 , ( 0 , 1 ), tmp19 , ( 0 , 2 ), ( 1 , 2 )) tmp17 = einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 0 ), ( 1 ,)) * 0.5 del tmp16 tmp15 = einsum ( t1 , ( 0 , 1 ), r1 , ( 1 ,), ( 0 ,)) tmp24 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) tmp2 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp2 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 0.5 tmp5 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 0.5 tmp5 += np . transpose ( r2 , ( 2 , 1 , 0 )) tmp11 = einsum ( t1 , ( 0 , 1 ), tmp10 , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp28 = np . copy ( f . oo ) tmp28 += np . transpose ( ints . tmp10 , ( 1 , 0 )) tmp28 += ints . tmp112 * 2 tmp28 += ints . tmp79 * 2 tmp28 += ints . tmp97 * 2 tmp28 += ints . tmp110 * - 1 tmp28 += ints . tmp83 * - 1 tmp28 += ints . tmp95 * - 1 tmp27 = np . copy ( np . transpose ( ints . tmp16 , ( 1 , 0 ))) tmp27 += ints . tmp29 * 2 tmp27 += f . vv * - 1 tmp27 += ints . tmp14 * - 2 tmp27 += ints . tmp27 * - 1 tmp27 += tmp26 del tmp26 tmp20 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) tmp18 = np . copy ( tmp15 ) * 0.5 del tmp15 tmp18 += tmp17 * - 1 del tmp17 tmp21 = einsum ( r2 , ( 0 , 1 , 2 ), t1 , ( 3 , 0 ), ( 2 , 3 , 1 )) tmp23 = np . copy ( np . transpose ( ints . tmp87 , ( 0 , 1 , 3 , 2 ))) tmp23 += np . transpose ( ints . tmp92 , ( 0 , 1 , 3 , 2 )) tmp23 += ints . tmp109 * - 1 tmp23 += np . transpose ( ints . tmp88 , ( 0 , 1 , 3 , 2 )) * - 2 tmp23 += np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 )) * - 1 tmp23 += einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp22 tmp25 = np . copy ( np . transpose ( ints . tmp90 , ( 0 , 1 , 3 , 2 ))) tmp25 += ints . tmp107 * - 1 tmp25 += v . oovv * - 1 tmp25 += np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 )) del tmp24 tmp0 = np . copy ( ints . tmp24 ) tmp0 += np . transpose ( ints . tmp46 , ( 0 , 2 , 1 , 3 )) * 2 tmp0 += np . transpose ( ints . tmp53 , ( 0 , 2 , 1 , 3 )) * 2 tmp0 += np . transpose ( ints . tmp76 , ( 0 , 3 , 1 , 2 )) tmp0 += np . transpose ( ints . tmp37 , ( 0 , 3 , 1 , 2 )) * - 2 tmp0 += np . transpose ( ints . tmp48 , ( 0 , 2 , 1 , 3 )) * - 4 tmp0 += np . transpose ( ints . tmp51 , ( 0 , 2 , 1 , 3 )) * - 1 tmp0 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * - 2 tmp0 += np . transpose ( v . ovvv , ( 0 , 2 , 3 , 1 )) tmp14 = np . copy ( f . vv ) tmp14 += np . transpose ( ints . tmp14 , ( 1 , 0 )) * 2 tmp14 += ints . tmp27 tmp14 += np . transpose ( ints . tmp16 , ( 1 , 0 )) * - 1 tmp14 += ints . tmp29 * - 2 tmp7 = np . copy ( ints . tmp109 ) tmp7 += np . transpose ( ints . tmp88 , ( 0 , 1 , 3 , 2 )) * 2 tmp7 += np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 )) tmp7 += np . transpose ( ints . tmp87 , ( 0 , 1 , 3 , 2 )) * - 1 tmp7 += np . transpose ( ints . tmp92 , ( 0 , 1 , 3 , 2 )) * - 1 tmp8 = np . copy ( ints . tmp106 ) tmp8 += ints . tmp113 * 2 tmp8 += ints . tmp11 tmp8 += ints . tmp19 tmp8 += ints . tmp1 tmp8 += ints . tmp34 * 2 tmp8 += ints . tmp3 tmp8 += ints . tmp43 tmp8 += ints . tmp57 * 2 tmp8 += ints . tmp59 * 2 tmp8 += ints . tmp70 * 2 tmp8 += ints . tmp80 * 2 tmp8 += ints . tmp98 * 2 tmp8 += f . ov * - 1 tmp8 += ints . tmp103 * - 2 tmp8 += ints . tmp111 * - 1 tmp8 += ints . tmp17 * - 2 tmp8 += ints . tmp2 * - 1 tmp8 += ints . tmp31 * - 1 tmp8 += ints . tmp40 * - 2 tmp8 += ints . tmp4 * - 2 tmp8 += ints . tmp56 * - 1 tmp8 += ints . tmp62 * - 4 tmp8 += ints . tmp73 * - 1 tmp8 += ints . tmp84 * - 1 tmp8 += ints . tmp96 * - 1 tmp9 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * 2 tmp9 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 1 tmp3 = einsum ( tmp2 , ( 0 , 1 , 2 ), t1 , ( 3 , 1 ), ( 0 , 3 , 2 )) tmp6 = einsum ( t1 , ( 0 , 1 ), tmp5 , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) * 2 del tmp5 tmp13 = np . copy ( tmp11 ) * 2 tmp13 += np . transpose ( tmp11 , ( 0 , 2 , 1 )) * - 1 tmp1 = np . copy ( ints . tmp24 ) tmp1 += np . transpose ( ints . tmp46 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp1 += np . transpose ( ints . tmp53 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp1 += np . transpose ( ints . tmp76 , ( 0 , 3 , 1 , 2 )) tmp1 += np . transpose ( ints . tmp37 , ( 0 , 3 , 1 , 2 )) * - 0.5 tmp1 += np . transpose ( ints . tmp48 , ( 0 , 2 , 1 , 3 )) * - 1 tmp1 += np . transpose ( ints . tmp51 , ( 0 , 2 , 1 , 3 )) * - 1 tmp4 = np . copy ( ints . tmp107 ) tmp4 += v . oovv tmp4 += np . transpose ( ints . tmp90 , ( 0 , 1 , 3 , 2 )) * - 1 tmp12 = np . copy ( tmp11 ) * - 0.5 tmp12 += np . transpose ( tmp11 , ( 0 , 2 , 1 )) r2new = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp20 , ( 4 , 2 , 0 ), ( 3 , 1 , 4 )) del tmp20 r2new += einsum ( tmp11 , ( 0 , 1 , 2 ), v . ovov , ( 1 , 3 , 2 , 4 ), ( 3 , 4 , 0 )) del tmp11 r2new += einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), tmp21 , ( 4 , 0 , 3 ), ( 1 , 2 , 4 )) * - 1 del tmp21 r2new += einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 0 , 3 ), ( 2 , 1 , 4 )) * - 1 del tmp10 r2new += einsum ( r1 , ( 0 ,), v . ovvv , ( 1 , 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new += einsum ( r2 , ( 0 , 1 , 2 ), v . vvvv , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) r2new += einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 3 , 4 ), ( 2 , 4 , 1 )) * - 2 del tmp2 , tmp23 r2new += einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 3 , 0 ), ( 4 , 2 , 1 )) r2new += einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 4 , 0 ), ( 2 , 4 , 1 )) del tmp25 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new += einsum ( tmp27 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp27 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp28 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp28 r2new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), tmp18 , ( 2 ,), ( 1 , 3 , 0 )) * 2 r2new += einsum ( tmp19 , ( 0 , 1 ), r1 , ( 2 ,), ( 1 , 2 , 0 )) * - 1 r1new = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 0 ), ( 1 ,)) del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 2 , 0 ), ( 1 ,)) * - 2 del tmp1 r1new += einsum ( tmp3 , ( 0 , 1 , 2 ), tmp4 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) * 2 del tmp3 , tmp4 r1new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 0 , 1 , 3 ), ( 2 ,)) del tmp7 , tmp6 r1new += einsum ( tmp9 , ( 0 , 1 , 2 ), tmp8 , ( 0 , 1 ), ( 2 ,)) del tmp9 , tmp8 r1new += einsum ( ints . tmp69 , ( 0 , 1 , 2 , 3 ), tmp12 , ( 0 , 1 , 2 ), ( 3 ,)) * - 2 del tmp12 r1new += einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp13 , ( 0 , 1 , 2 ), ( 3 ,)) * - 1 del tmp13 r1new += einsum ( tmp14 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) del tmp14 r1new += einsum ( tmp19 , ( 0 , 1 ), tmp18 , ( 0 ,), ( 1 ,)) * - 2 del tmp19 , tmp18 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RCCSDT/","text":"","title":"RCCSDT"},{"location":"reference/codegen/RCCSD_SD_1_1/","text":"","title":"RCCSD SD 1 1"},{"location":"reference/codegen/RCCSD_SD_1_2/","text":"","title":"RCCSD SD 1 2"},{"location":"reference/codegen/RCCSD_S_1_1/","text":"","title":"RCCSD S 1 1"},{"location":"reference/codegen/RCCSDwtwp/","text":"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] albert version: 0.0.0 caller: /home/ollie/git/albert/albert/codegen/einsum.py node: ollie-desktop system: Linux processor: x86_64 release: 6.8.0-40-generic ebcc . codegen . RCCSDwtwp . energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-09-27T21:44:55.123874. 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. Source code in ebcc/codegen/RCCSDwtwp.py 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 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. 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 ( tmp0 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) 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 ebcc . codegen . RCCSDwtwp . 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. 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. Source code in ebcc/codegen/RCCSDwtwp.py 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 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. 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 )]) 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 )]) 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 )) 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 )) 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 )) 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 )) tmp219 = einsum ( tmp218 , ( 0 , 1 , 2 , 3 ), t2_OovV , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) 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 )) tmp295 = einsum ( t1_oV , ( 0 , 1 ), tmp294 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) 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 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 )) 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 )) 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 )) 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 )) 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 )) 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 )) 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 )) 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 )) 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 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 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 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 )) del tmp295 tmp303 = einsum ( t2_OoVV , ( 0 , 1 , 2 , 3 ), tmp302 , ( 1 , 4 , 5 , 6 ), ( 5 , 4 , 0 , 6 , 3 , 2 )) del tmp302 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 )) 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 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 )) 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 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 )) 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 )) 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 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 )) 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 )) tmp66 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp64 , ( 6 , 1 , 2 , 5 ), ( 6 , 0 , 3 , 4 )) del tmp64 tmp31 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . OVOo , ( 2 , 5 , 1 , 6 ), ( 6 , 0 , 3 , 4 )) 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 )) 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 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 )) 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 )) 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 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 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 )) del tmp71 tmp60 = einsum ( tmp59 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp59 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 )) 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 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 )) 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 ( f . OO , ( 0 , 1 ), t3 , ( 2 , 1 , 3 , 4 , 5 , 6 ), ( 2 , 0 , 3 , 4 , 5 , 6 )) * - 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 ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp140 , ( 4 , 6 ), ( 0 , 1 , 2 , 3 , 6 , 5 )) * - 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 ( tmp149 , ( 0 , 1 ), t3 , ( 2 , 3 , 4 , 5 , 1 , 6 ), ( 2 , 3 , 4 , 5 , 0 , 6 )) del tmp149 t3new += einsum ( tmp152 , ( 0 , 1 ), t3 , ( 2 , 3 , 4 , 5 , 1 , 6 ), ( 2 , 3 , 4 , 5 , 0 , 6 )) * - 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 ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp165 , ( 1 , 6 ), ( 0 , 6 , 2 , 3 , 4 , 5 )) * - 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 ( tmp185 , ( 0 , 1 ), t3 , ( 2 , 1 , 3 , 4 , 5 , 6 ), ( 2 , 0 , 3 , 4 , 5 , 6 )) * - 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 ( 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 ( 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 )) 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 += 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 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 ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp191 , ( 6 , 1 , 7 , 4 ), ( 0 , 6 , 2 , 3 , 7 , 5 )) * - 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 )) 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 ), ( 2 , 0 , 3 , 4 )) 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 ( tmp98 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) 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 )) 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 ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 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 += 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 ( t1 , ( 0 , 1 ), tmp27 , ( 2 , 0 ), ( 2 , 1 )) * - 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 ) 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 }","title":"RCCSDwtwp"},{"location":"reference/codegen/RCCSDwtwp/#ebcc.codegen.RCCSDwtwp.energy","text":"Code generated by albert 0.0.0 on 2024-09-27T21:44:55.123874.","title":"energy"},{"location":"reference/codegen/RCCSDwtwp/#ebcc.codegen.RCCSDwtwp.energy--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCCSDwtwp/#ebcc.codegen.RCCSDwtwp.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/RCCSDwtwp.py 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 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. 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 ( tmp0 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 3 ), ( 1 , 2 )) 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","title":"Returns"},{"location":"reference/codegen/RCCSDwtwp/#ebcc.codegen.RCCSDwtwp.update_amps","text":"Code generated by albert 0.0.0 on 2024-09-27T21:46:20.711211.","title":"update_amps"},{"location":"reference/codegen/RCCSDwtwp/#ebcc.codegen.RCCSDwtwp.update_amps--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. t3 : array T3 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RCCSDwtwp/#ebcc.codegen.RCCSDwtwp.update_amps--returns","text":"t1new : array Updated T1 residuals. t2new : array Updated T2 residuals. t3new : array Updated T3 residuals. Source code in ebcc/codegen/RCCSDwtwp.py 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 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. 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 )]) 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 )]) 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 )) 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 )) 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 )) 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 )) tmp219 = einsum ( tmp218 , ( 0 , 1 , 2 , 3 ), t2_OovV , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) 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 )) tmp295 = einsum ( t1_oV , ( 0 , 1 ), tmp294 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) 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 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 )) 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 )) 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 )) 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 )) 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 )) 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 )) 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 )) 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 )) 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 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 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 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 )) del tmp295 tmp303 = einsum ( t2_OoVV , ( 0 , 1 , 2 , 3 ), tmp302 , ( 1 , 4 , 5 , 6 ), ( 5 , 4 , 0 , 6 , 3 , 2 )) del tmp302 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 )) 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 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 )) 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 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 )) 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 )) 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 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 )) 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 )) tmp66 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp64 , ( 6 , 1 , 2 , 5 ), ( 6 , 0 , 3 , 4 )) del tmp64 tmp31 = einsum ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . OVOo , ( 2 , 5 , 1 , 6 ), ( 6 , 0 , 3 , 4 )) 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 )) 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 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 )) 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 )) 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 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 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 )) del tmp71 tmp60 = einsum ( tmp59 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp59 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 )) 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 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 )) 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 ( f . OO , ( 0 , 1 ), t3 , ( 2 , 1 , 3 , 4 , 5 , 6 ), ( 2 , 0 , 3 , 4 , 5 , 6 )) * - 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 ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp140 , ( 4 , 6 ), ( 0 , 1 , 2 , 3 , 6 , 5 )) * - 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 ( tmp149 , ( 0 , 1 ), t3 , ( 2 , 3 , 4 , 5 , 1 , 6 ), ( 2 , 3 , 4 , 5 , 0 , 6 )) del tmp149 t3new += einsum ( tmp152 , ( 0 , 1 ), t3 , ( 2 , 3 , 4 , 5 , 1 , 6 ), ( 2 , 3 , 4 , 5 , 0 , 6 )) * - 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 ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp165 , ( 1 , 6 ), ( 0 , 6 , 2 , 3 , 4 , 5 )) * - 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 ( tmp185 , ( 0 , 1 ), t3 , ( 2 , 1 , 3 , 4 , 5 , 6 ), ( 2 , 0 , 3 , 4 , 5 , 6 )) * - 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 ( 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 ( 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 )) 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 += 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 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 ( t3 , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp191 , ( 6 , 1 , 7 , 4 ), ( 0 , 6 , 2 , 3 , 7 , 5 )) * - 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 )) 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 ), ( 2 , 0 , 3 , 4 )) 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 ( tmp98 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) 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 )) 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 ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 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 += 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 ( t1 , ( 0 , 1 ), tmp27 , ( 2 , 0 ), ( 2 , 1 )) * - 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 ) 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 }","title":"Returns"},{"location":"reference/codegen/RCCSDxTx/","text":"","title":"RCCSDxTx"},{"location":"reference/codegen/RDCD/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-09T22:08:28.706685 python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0] albert version: 0.0.0 caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py node: fv-az1487-369 system: Linux processor: x86_64 release: 6.5.0-1025-azure ebcc . codegen . RDCD . energy ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T22:08:28.967393. Parameters t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns e_cc : float Coupled cluster energy. Source code in ebcc/codegen/RDCD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:08:28.967393. 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 ), ()) * 2 e_cc += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 3 , 1 , 2 ), ()) * - 1 return e_cc ebcc . codegen . RDCD . update_amps ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T22:08:32.124627. Parameters f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns t2new : array Updated T2 residuals. Source code in ebcc/codegen/RDCD.py 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 def update_amps ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:08:32.124627. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- t2new : array Updated T2 residuals. \"\"\" tmp9 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 0.5 tmp9 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp6 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) tmp6 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) t2new = np . copy ( np . transpose ( tmp0 , ( 1 , 0 , 3 , 2 ))) * - 1 tmp10 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 1 , 4 , 3 , 2 ), ( 0 , 4 )) * 2 del tmp9 tmp7 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) del tmp6 tmp3 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) tmp2 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp5 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp11 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 1 ), ( 0 , 4 , 3 , 2 )) * 0.5 del tmp10 tmp8 = einsum ( tmp7 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 2 , 3 , 4 , 0 )) del tmp7 tmp1 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) t2new += np . transpose ( tmp1 , ( 1 , 0 , 3 , 2 )) * 2 tmp14 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * - 1 tmp14 += tmp0 del tmp0 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) del tmp14 tmp4 = np . copy ( tmp2 ) del tmp2 tmp4 += tmp3 * - 1 del tmp3 t2new += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp4 , ( 0 , 1 , 3 , 2 )) del tmp4 tmp12 = np . copy ( tmp5 ) * 2 del tmp5 tmp12 += np . transpose ( tmp8 , ( 1 , 0 , 2 , 3 )) del tmp8 tmp12 += np . transpose ( tmp11 , ( 0 , 1 , 3 , 2 )) del tmp11 t2new += np . transpose ( tmp12 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp12 * - 1 del tmp12 tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) t2new += np . transpose ( tmp13 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp13 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp13 tmp15 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp15 += v . oovv * - 1 tmp15 += tmp1 * 4 del tmp1 t2new += einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp15 t2new += einsum ( v . oooo , ( 0 , 1 , 2 , 3 ), t2 , ( 3 , 1 , 4 , 5 ), ( 0 , 2 , 5 , 4 )) t2new += einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) t2new += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 return { f \"t2new\" : t2new }","title":"RDCD"},{"location":"reference/codegen/RDCD/#ebcc.codegen.RDCD.energy","text":"Code generated by albert 0.0.0 on 2024-08-09T22:08:28.967393.","title":"energy"},{"location":"reference/codegen/RDCD/#ebcc.codegen.RDCD.energy--parameters","text":"t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDCD/#ebcc.codegen.RDCD.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/RDCD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:08:28.967393. 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 ), ()) * 2 e_cc += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 3 , 1 , 2 ), ()) * - 1 return e_cc","title":"Returns"},{"location":"reference/codegen/RDCD/#ebcc.codegen.RDCD.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-09T22:08:32.124627.","title":"update_amps"},{"location":"reference/codegen/RDCD/#ebcc.codegen.RDCD.update_amps--parameters","text":"f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDCD/#ebcc.codegen.RDCD.update_amps--returns","text":"t2new : array Updated T2 residuals. Source code in ebcc/codegen/RDCD.py 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 def update_amps ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:08:32.124627. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- t2new : array Updated T2 residuals. \"\"\" tmp9 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 0.5 tmp9 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp6 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) tmp6 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) t2new = np . copy ( np . transpose ( tmp0 , ( 1 , 0 , 3 , 2 ))) * - 1 tmp10 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 1 , 4 , 3 , 2 ), ( 0 , 4 )) * 2 del tmp9 tmp7 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) del tmp6 tmp3 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) tmp2 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp5 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp11 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 1 ), ( 0 , 4 , 3 , 2 )) * 0.5 del tmp10 tmp8 = einsum ( tmp7 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 2 , 3 , 4 , 0 )) del tmp7 tmp1 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) t2new += np . transpose ( tmp1 , ( 1 , 0 , 3 , 2 )) * 2 tmp14 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * - 1 tmp14 += tmp0 del tmp0 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) del tmp14 tmp4 = np . copy ( tmp2 ) del tmp2 tmp4 += tmp3 * - 1 del tmp3 t2new += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp4 , ( 0 , 1 , 3 , 2 )) del tmp4 tmp12 = np . copy ( tmp5 ) * 2 del tmp5 tmp12 += np . transpose ( tmp8 , ( 1 , 0 , 2 , 3 )) del tmp8 tmp12 += np . transpose ( tmp11 , ( 0 , 1 , 3 , 2 )) del tmp11 t2new += np . transpose ( tmp12 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp12 * - 1 del tmp12 tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) t2new += np . transpose ( tmp13 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp13 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp13 tmp15 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp15 += v . oovv * - 1 tmp15 += tmp1 * 4 del tmp1 t2new += einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp15 t2new += einsum ( v . oooo , ( 0 , 1 , 2 , 3 ), t2 , ( 3 , 1 , 4 , 5 ), ( 0 , 2 , 5 , 4 )) t2new += einsum ( v . vvvv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) t2new += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 return { f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/RDCSD/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-09T22:09:18.261917 python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0] albert version: 0.0.0 caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py node: fv-az1487-369 system: Linux processor: x86_64 release: 6.5.0-1025-azure ebcc . codegen . RDCSD . energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T22:09:18.961180. 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. Source code in ebcc/codegen/RDCSD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:09:18.961180. 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 ))) * - 0.5 tmp0 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp1 = np . copy ( f . ov ) 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 e_cc += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 1 , 3 ), ()) * 2 e_cc += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 3 , 1 ), ()) * - 1 return e_cc ebcc . codegen . RDCSD . update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T22:09:35.127762. 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. Source code in ebcc/codegen/RDCSD.py 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:09:35.127762. 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. \"\"\" tmp1 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp3 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp3 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * 2 tmp30 = np . copy ( tmp1 ) * - 1 tmp30 += np . transpose ( tmp1 , ( 0 , 2 , 1 , 3 )) * 2 tmp4 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 2 ), ( 1 , 3 )) del tmp3 tmp48 = einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp48 += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 2 tmp48 += t2 tmp34 = np . copy ( v . ooov ) * 2 tmp34 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp25 = np . copy ( v . ovvv ) * - 1 tmp25 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * 2 tmp31 = einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) del tmp30 tmp29 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp28 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) tmp50 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp49 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp48 , ( 2 , 4 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) del tmp48 tmp46 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp47 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) tmp45 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp12 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 0.5 tmp12 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp60 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp35 = einsum ( t1 , ( 0 , 1 ), tmp34 , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) del tmp34 tmp26 = einsum ( t1 , ( 0 , 1 ), tmp25 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp25 tmp32 = np . copy ( tmp1 ) * - 1 tmp32 += tmp28 del tmp28 tmp32 += tmp29 del tmp29 tmp32 += np . transpose ( tmp31 , ( 0 , 2 , 1 , 3 )) * - 1 del tmp31 tmp67 = np . copy ( t2 ) tmp67 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) t2new = einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 3 , 5 , 2 ), ( 1 , 0 , 4 , 5 )) tmp51 = np . copy ( np . transpose ( tmp45 , ( 0 , 2 , 1 , 3 ))) * - 1 del tmp45 tmp51 += np . transpose ( tmp46 , ( 0 , 2 , 1 , 3 )) del tmp46 tmp51 += np . transpose ( tmp47 , ( 0 , 2 , 1 , 3 )) del tmp47 tmp51 += np . transpose ( tmp49 , ( 2 , 1 , 0 , 3 )) del tmp49 tmp51 += np . transpose ( tmp50 , ( 2 , 0 , 1 , 3 )) * - 1 del tmp50 tmp53 = einsum ( t1 , ( 0 , 1 ), tmp4 , ( 2 , 1 ), ( 2 , 0 )) tmp41 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp43 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp43 += t2 * - 1 tmp39 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp15 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 5 , 1 )) t2new += np . transpose ( tmp15 , ( 1 , 0 , 3 , 2 )) * - 1 tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp22 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 2 ), ( 1 , 4 )) * 2 tmp20 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 2 , 4 ), ( 3 , 4 )) tmp61 = np . copy ( f . oo ) tmp61 += tmp60 del tmp60 tmp58 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp36 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp35 , ( 4 , 1 ), ( 4 , 0 , 3 , 2 )) del tmp35 tmp27 = einsum ( tmp26 , ( 0 , 1 ), t2 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp26 tmp33 = einsum ( t1 , ( 0 , 1 ), tmp32 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp32 tmp16 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) t2new += np . transpose ( tmp16 , ( 1 , 0 , 3 , 2 )) * 2 tmp68 = np . copy ( v . oooo ) tmp68 += einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 5 , 2 ), ( 4 , 1 , 0 , 5 )) del tmp67 tmp64 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp52 = einsum ( t1 , ( 0 , 1 ), tmp51 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp51 tmp40 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) tmp54 = einsum ( tmp53 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp53 tmp42 = einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp44 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), tmp43 , ( 1 , 4 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) del tmp43 tmp38 = einsum ( f . vv , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp19 = einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp18 = einsum ( t1 , ( 0 , 1 ), tmp17 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp17 tmp23 = einsum ( tmp22 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) * 0.5 del tmp22 tmp21 = einsum ( tmp20 , ( 0 , 1 ), t2 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp20 tmp56 = np . copy ( t2 ) tmp56 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp62 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp61 , ( 1 , 4 ), ( 4 , 0 , 3 , 2 )) del tmp61 tmp59 = einsum ( tmp58 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp58 tmp8 = np . copy ( v . ovvv ) * - 0.5 tmp8 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) tmp13 = np . copy ( f . ov ) * 0.5 tmp13 += einsum ( t1 , ( 0 , 1 ), tmp12 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp12 tmp10 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp10 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * 2 tmp11 = np . copy ( v . ooov ) tmp11 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp37 = np . copy ( np . transpose ( tmp27 , ( 1 , 0 , 3 , 2 ))) del tmp27 tmp37 += np . transpose ( tmp33 , ( 0 , 1 , 3 , 2 )) del tmp33 tmp37 += np . transpose ( tmp36 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp36 t2new += np . transpose ( tmp37 , ( 1 , 0 , 3 , 2 )) t2new += tmp37 del tmp37 tmp70 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 0.5 tmp70 += v . oovv * - 0.25 tmp70 += tmp16 del tmp16 t2new += einsum ( tmp70 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 4 del tmp70 tmp69 = np . copy ( np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 ))) * - 1 tmp69 += einsum ( t1 , ( 0 , 1 ), tmp68 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp68 t2new += einsum ( t1 , ( 0 , 1 ), tmp69 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp69 tmp65 = einsum ( tmp64 , ( 0 , 1 , 2 , 3 ), t2 , ( 3 , 2 , 4 , 5 ), ( 0 , 1 , 5 , 4 )) del tmp64 t2new += np . transpose ( tmp65 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp65 , ( 0 , 1 , 3 , 2 )) del tmp65 tmp71 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * - 1 tmp71 += tmp15 del tmp15 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp71 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) del tmp71 tmp66 = np . copy ( v . oooo ) tmp66 += einsum ( t1 , ( 0 , 1 ), tmp1 , ( 2 , 3 , 4 , 1 ), ( 3 , 0 , 4 , 2 )) t2new += einsum ( tmp66 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 4 , 5 )) del tmp66 tmp55 = np . copy ( tmp38 ) del tmp38 tmp55 += tmp39 del tmp39 tmp55 += tmp40 * - 1 del tmp40 tmp55 += tmp42 * - 1 del tmp42 tmp55 += np . transpose ( tmp44 , ( 1 , 0 , 2 , 3 )) del tmp44 tmp55 += np . transpose ( tmp52 , ( 0 , 1 , 3 , 2 )) del tmp52 tmp55 += np . transpose ( tmp54 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp54 t2new += np . transpose ( tmp55 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp55 , ( 0 , 1 , 3 , 2 )) del tmp55 tmp24 = np . copy ( tmp18 ) del tmp18 tmp24 += tmp19 * 2 del tmp19 tmp24 += np . transpose ( tmp21 , ( 1 , 0 , 3 , 2 )) del tmp21 tmp24 += np . transpose ( tmp23 , ( 1 , 0 , 3 , 2 )) del tmp23 t2new += np . transpose ( tmp24 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp24 * - 1 del tmp24 tmp57 = einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), tmp56 , ( 1 , 4 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) del tmp41 , tmp56 t2new += np . transpose ( tmp57 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp57 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp57 tmp63 = np . copy ( tmp59 ) del tmp59 tmp63 += np . transpose ( tmp62 , ( 0 , 1 , 3 , 2 )) del tmp62 t2new += np . transpose ( tmp63 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp63 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp63 tmp9 = np . copy ( f . vv ) tmp9 += einsum ( t1 , ( 0 , 1 ), tmp8 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * 2 del tmp8 t1new = einsum ( tmp9 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 2 , 1 )) del tmp9 tmp2 = np . copy ( v . ooov ) * - 0.5 tmp2 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) tmp2 += tmp1 tmp2 += np . transpose ( tmp1 , ( 0 , 2 , 1 , 3 )) * - 0.5 del tmp1 t1new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) * - 2 del tmp2 tmp14 = np . copy ( f . oo ) tmp14 += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 2 ), ( 1 , 4 )) del tmp10 tmp14 += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 1 , 0 )) * 2 del tmp11 tmp14 += einsum ( t1 , ( 0 , 1 ), tmp13 , ( 2 , 1 ), ( 2 , 0 )) * 2 del tmp13 t1new += einsum ( t1 , ( 0 , 1 ), tmp14 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp14 tmp6 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp6 += t2 * 2 tmp0 = np . copy ( v . ovvv ) tmp0 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * - 0.5 t1new += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 1 ), ( 4 , 3 )) * 2 del tmp0 tmp5 = np . copy ( f . ov ) tmp5 += tmp4 del tmp4 t1new += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 0 , 2 ), ( 1 , 3 )) del tmp6 , tmp5 tmp7 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp7 += v . oovv * - 1 t1new += einsum ( t1 , ( 0 , 1 ), tmp7 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp7 t1new += f . ov t2new += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) t2new += einsum ( t1 , ( 0 , 1 ), v . ovoo , ( 2 , 3 , 4 , 0 ), ( 2 , 4 , 3 , 1 )) * - 1 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"RDCSD"},{"location":"reference/codegen/RDCSD/#ebcc.codegen.RDCSD.energy","text":"Code generated by albert 0.0.0 on 2024-08-09T22:09:18.961180.","title":"energy"},{"location":"reference/codegen/RDCSD/#ebcc.codegen.RDCSD.energy--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDCSD/#ebcc.codegen.RDCSD.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/RDCSD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:09:18.961180. 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 ))) * - 0.5 tmp0 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp1 = np . copy ( f . ov ) 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 e_cc += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 1 , 3 ), ()) * 2 e_cc += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 3 , 1 ), ()) * - 1 return e_cc","title":"Returns"},{"location":"reference/codegen/RDCSD/#ebcc.codegen.RDCSD.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-09T22:09:35.127762.","title":"update_amps"},{"location":"reference/codegen/RDCSD/#ebcc.codegen.RDCSD.update_amps--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDCSD/#ebcc.codegen.RDCSD.update_amps--returns","text":"t1new : array Updated T1 residuals. t2new : array Updated T2 residuals. Source code in ebcc/codegen/RDCSD.py 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:09:35.127762. 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. \"\"\" tmp1 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp3 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp3 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * 2 tmp30 = np . copy ( tmp1 ) * - 1 tmp30 += np . transpose ( tmp1 , ( 0 , 2 , 1 , 3 )) * 2 tmp4 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 2 ), ( 1 , 3 )) del tmp3 tmp48 = einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp48 += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 2 tmp48 += t2 tmp34 = np . copy ( v . ooov ) * 2 tmp34 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp25 = np . copy ( v . ovvv ) * - 1 tmp25 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * 2 tmp31 = einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) del tmp30 tmp29 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp28 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) tmp50 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp49 = einsum ( v . ooov , ( 0 , 1 , 2 , 3 ), tmp48 , ( 2 , 4 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) del tmp48 tmp46 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp47 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) tmp45 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp12 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 0.5 tmp12 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) tmp60 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp35 = einsum ( t1 , ( 0 , 1 ), tmp34 , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) del tmp34 tmp26 = einsum ( t1 , ( 0 , 1 ), tmp25 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp25 tmp32 = np . copy ( tmp1 ) * - 1 tmp32 += tmp28 del tmp28 tmp32 += tmp29 del tmp29 tmp32 += np . transpose ( tmp31 , ( 0 , 2 , 1 , 3 )) * - 1 del tmp31 tmp67 = np . copy ( t2 ) tmp67 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) t2new = einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 3 , 5 , 2 ), ( 1 , 0 , 4 , 5 )) tmp51 = np . copy ( np . transpose ( tmp45 , ( 0 , 2 , 1 , 3 ))) * - 1 del tmp45 tmp51 += np . transpose ( tmp46 , ( 0 , 2 , 1 , 3 )) del tmp46 tmp51 += np . transpose ( tmp47 , ( 0 , 2 , 1 , 3 )) del tmp47 tmp51 += np . transpose ( tmp49 , ( 2 , 1 , 0 , 3 )) del tmp49 tmp51 += np . transpose ( tmp50 , ( 2 , 0 , 1 , 3 )) * - 1 del tmp50 tmp53 = einsum ( t1 , ( 0 , 1 ), tmp4 , ( 2 , 1 ), ( 2 , 0 )) tmp41 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp43 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp43 += t2 * - 1 tmp39 = einsum ( t1 , ( 0 , 1 ), v . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp15 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 5 , 1 )) t2new += np . transpose ( tmp15 , ( 1 , 0 , 3 , 2 )) * - 1 tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp22 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 2 ), ( 1 , 4 )) * 2 tmp20 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 2 , 4 ), ( 3 , 4 )) tmp61 = np . copy ( f . oo ) tmp61 += tmp60 del tmp60 tmp58 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp36 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp35 , ( 4 , 1 ), ( 4 , 0 , 3 , 2 )) del tmp35 tmp27 = einsum ( tmp26 , ( 0 , 1 ), t2 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp26 tmp33 = einsum ( t1 , ( 0 , 1 ), tmp32 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp32 tmp16 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) t2new += np . transpose ( tmp16 , ( 1 , 0 , 3 , 2 )) * 2 tmp68 = np . copy ( v . oooo ) tmp68 += einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 5 , 2 ), ( 4 , 1 , 0 , 5 )) del tmp67 tmp64 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp52 = einsum ( t1 , ( 0 , 1 ), tmp51 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp51 tmp40 = einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) tmp54 = einsum ( tmp53 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp53 tmp42 = einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp44 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), tmp43 , ( 1 , 4 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) del tmp43 tmp38 = einsum ( f . vv , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp19 = einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp18 = einsum ( t1 , ( 0 , 1 ), tmp17 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp17 tmp23 = einsum ( tmp22 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) * 0.5 del tmp22 tmp21 = einsum ( tmp20 , ( 0 , 1 ), t2 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp20 tmp56 = np . copy ( t2 ) tmp56 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp62 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp61 , ( 1 , 4 ), ( 4 , 0 , 3 , 2 )) del tmp61 tmp59 = einsum ( tmp58 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp58 tmp8 = np . copy ( v . ovvv ) * - 0.5 tmp8 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) tmp13 = np . copy ( f . ov ) * 0.5 tmp13 += einsum ( t1 , ( 0 , 1 ), tmp12 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp12 tmp10 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp10 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * 2 tmp11 = np . copy ( v . ooov ) tmp11 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp37 = np . copy ( np . transpose ( tmp27 , ( 1 , 0 , 3 , 2 ))) del tmp27 tmp37 += np . transpose ( tmp33 , ( 0 , 1 , 3 , 2 )) del tmp33 tmp37 += np . transpose ( tmp36 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp36 t2new += np . transpose ( tmp37 , ( 1 , 0 , 3 , 2 )) t2new += tmp37 del tmp37 tmp70 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 0.5 tmp70 += v . oovv * - 0.25 tmp70 += tmp16 del tmp16 t2new += einsum ( tmp70 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 4 del tmp70 tmp69 = np . copy ( np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 ))) * - 1 tmp69 += einsum ( t1 , ( 0 , 1 ), tmp68 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp68 t2new += einsum ( t1 , ( 0 , 1 ), tmp69 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp69 tmp65 = einsum ( tmp64 , ( 0 , 1 , 2 , 3 ), t2 , ( 3 , 2 , 4 , 5 ), ( 0 , 1 , 5 , 4 )) del tmp64 t2new += np . transpose ( tmp65 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp65 , ( 0 , 1 , 3 , 2 )) del tmp65 tmp71 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * - 1 tmp71 += tmp15 del tmp15 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp71 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) del tmp71 tmp66 = np . copy ( v . oooo ) tmp66 += einsum ( t1 , ( 0 , 1 ), tmp1 , ( 2 , 3 , 4 , 1 ), ( 3 , 0 , 4 , 2 )) t2new += einsum ( tmp66 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 4 , 5 )) del tmp66 tmp55 = np . copy ( tmp38 ) del tmp38 tmp55 += tmp39 del tmp39 tmp55 += tmp40 * - 1 del tmp40 tmp55 += tmp42 * - 1 del tmp42 tmp55 += np . transpose ( tmp44 , ( 1 , 0 , 2 , 3 )) del tmp44 tmp55 += np . transpose ( tmp52 , ( 0 , 1 , 3 , 2 )) del tmp52 tmp55 += np . transpose ( tmp54 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp54 t2new += np . transpose ( tmp55 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp55 , ( 0 , 1 , 3 , 2 )) del tmp55 tmp24 = np . copy ( tmp18 ) del tmp18 tmp24 += tmp19 * 2 del tmp19 tmp24 += np . transpose ( tmp21 , ( 1 , 0 , 3 , 2 )) del tmp21 tmp24 += np . transpose ( tmp23 , ( 1 , 0 , 3 , 2 )) del tmp23 t2new += np . transpose ( tmp24 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp24 * - 1 del tmp24 tmp57 = einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), tmp56 , ( 1 , 4 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) del tmp41 , tmp56 t2new += np . transpose ( tmp57 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp57 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp57 tmp63 = np . copy ( tmp59 ) del tmp59 tmp63 += np . transpose ( tmp62 , ( 0 , 1 , 3 , 2 )) del tmp62 t2new += np . transpose ( tmp63 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp63 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp63 tmp9 = np . copy ( f . vv ) tmp9 += einsum ( t1 , ( 0 , 1 ), tmp8 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * 2 del tmp8 t1new = einsum ( tmp9 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 2 , 1 )) del tmp9 tmp2 = np . copy ( v . ooov ) * - 0.5 tmp2 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) tmp2 += tmp1 tmp2 += np . transpose ( tmp1 , ( 0 , 2 , 1 , 3 )) * - 0.5 del tmp1 t1new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) * - 2 del tmp2 tmp14 = np . copy ( f . oo ) tmp14 += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 2 ), ( 1 , 4 )) del tmp10 tmp14 += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 3 ), ( 1 , 0 )) * 2 del tmp11 tmp14 += einsum ( t1 , ( 0 , 1 ), tmp13 , ( 2 , 1 ), ( 2 , 0 )) * 2 del tmp13 t1new += einsum ( t1 , ( 0 , 1 ), tmp14 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp14 tmp6 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp6 += t2 * 2 tmp0 = np . copy ( v . ovvv ) tmp0 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * - 0.5 t1new += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 1 ), ( 4 , 3 )) * 2 del tmp0 tmp5 = np . copy ( f . ov ) tmp5 += tmp4 del tmp4 t1new += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 0 , 2 ), ( 1 , 3 )) del tmp6 , tmp5 tmp7 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp7 += v . oovv * - 1 t1new += einsum ( t1 , ( 0 , 1 ), tmp7 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp7 t1new += f . ov t2new += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) t2new += einsum ( t1 , ( 0 , 1 ), v . ovoo , ( 2 , 3 , 4 , 0 ), ( 2 , 4 , 3 , 1 )) * - 1 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/RDFCC2/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-17T20:51:00.656404 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.8.0-40-generic ebcc . codegen . RDFCC2 . energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:51:01.367736. 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. Source code in ebcc/codegen/RDFCC2.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:01.367736. 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. \"\"\" tmp1 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp1 += t2 * 2 tmp0 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 1 , 2 ), ( 0 ,)) tmp3 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 3 , 1 , 0 )) tmp2 = einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 ,), ( 0 , 1 , 2 )) del tmp0 tmp2 += einsum ( v . xov , ( 0 , 1 , 2 ), tmp1 , ( 1 , 3 , 2 , 4 ), ( 3 , 4 , 0 )) * 0.5 del tmp1 tmp4 = np . copy ( f . ov ) tmp4 += einsum ( tmp3 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) * - 0.5 del tmp3 e_cc = einsum ( tmp2 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 1 ), ()) * 2 del tmp2 e_cc += einsum ( tmp4 , ( 0 , 1 ), t1 , ( 0 , 1 ), ()) * 2 del tmp4 return e_cc ebcc . codegen . RDFCC2 . update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:51:07.385895. 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. Source code in ebcc/codegen/RDFCC2.py 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:07.385895. 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 ( v . xov , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 3 , 1 , 0 )) tmp6 = einsum ( t1 , ( 0 , 1 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 , 2 )) tmp26 = einsum ( tmp2 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp21 = np . copy ( np . transpose ( v . xoo , ( 1 , 2 , 0 ))) tmp21 += np . transpose ( tmp2 , ( 1 , 0 , 2 )) tmp15 = einsum ( t1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp29 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) * - 1 tmp29 += tmp6 tmp27 = einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp26 tmp16 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp18 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp0 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 1 , 2 ), ( 0 ,)) tmp5 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp5 += t2 * 2 tmp9 = einsum ( tmp2 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp22 = einsum ( tmp21 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp21 tmp34 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp34 += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp2 , ( 3 , 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp32 = einsum ( tmp2 , ( 0 , 1 , 2 ), tmp15 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 ), tmp15 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) del tmp29 tmp28 = einsum ( t1 , ( 0 , 1 ), tmp27 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp27 tmp25 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) del tmp16 tmp19 = einsum ( t1 , ( 0 , 1 ), tmp18 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp18 tmp1 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp0 , ( 0 ,), ( 1 , 2 )) tmp7 = einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 0.5 tmp7 += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 1 tmp7 += t2 * 0.5 tmp12 = np . copy ( tmp6 ) * - 1 tmp12 += einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 ,), ( 0 , 1 , 2 )) * 2 tmp12 += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 0 , 2 ), ( 1 , 3 , 4 )) tmp13 = np . copy ( f . ov ) tmp13 += tmp9 * - 1 tmp3 = np . copy ( np . transpose ( v . xoo , ( 1 , 2 , 0 ))) tmp3 += np . transpose ( tmp2 , ( 1 , 0 , 2 )) del tmp2 tmp24 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp23 = einsum ( t1 , ( 0 , 1 ), tmp22 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp22 tmp35 = einsum ( t1 , ( 0 , 1 ), tmp34 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) del tmp34 tmp33 = einsum ( t1 , ( 0 , 1 ), tmp32 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp32 tmp31 = np . copy ( tmp25 ) del tmp25 tmp31 += tmp28 del tmp28 tmp31 += np . transpose ( tmp30 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp30 tmp20 = np . copy ( tmp17 ) del tmp17 tmp20 += tmp19 del tmp19 tmp10 = np . copy ( f . ov ) tmp10 += tmp1 * 2 tmp10 += tmp9 * - 1 del tmp9 tmp8 = np . copy ( tmp6 ) * 0.5 del tmp6 tmp8 += einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 ,), ( 0 , 1 , 2 )) * - 1 tmp8 += einsum ( v . xov , ( 0 , 1 , 2 ), tmp7 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) del tmp7 tmp14 = np . copy ( f . oo ) tmp14 += einsum ( v . xoo , ( 0 , 1 , 2 ), tmp0 , ( 0 ,), ( 1 , 2 )) * 2 del tmp0 tmp14 += einsum ( tmp12 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 3 , 0 )) del tmp12 tmp14 += einsum ( t1 , ( 0 , 1 ), tmp13 , ( 2 , 1 ), ( 2 , 0 )) del tmp13 tmp4 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 1 , 3 , 0 , 4 )) del tmp3 tmp11 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp11 += t2 * 2 t2new = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) t2new += einsum ( tmp15 , ( 0 , 1 , 2 ), tmp15 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) del tmp15 t2new += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp20 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp20 t2new += np . transpose ( tmp23 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp23 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp23 t2new += np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp24 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp24 t2new += np . transpose ( tmp31 , ( 0 , 1 , 3 , 2 )) t2new += np . transpose ( tmp31 , ( 1 , 0 , 2 , 3 )) del tmp31 t2new += tmp33 * - 1 t2new += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp33 t2new += einsum ( tmp35 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp35 t1new = np . copy ( tmp1 ) * 2 del tmp1 t1new += f . ov t1new += einsum ( t1 , ( 0 , 1 ), f . vv , ( 2 , 1 ), ( 0 , 2 )) t1new += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 )) * - 1 del tmp5 , tmp4 t1new += einsum ( tmp8 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) * - 2 del tmp8 t1new += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 0 , 2 ), ( 1 , 3 )) del tmp11 , tmp10 t1new += einsum ( t1 , ( 0 , 1 ), tmp14 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp14 return { f \"t1new\" : t1new , f \"t2new\" : t2new } ebcc . codegen . RDFCC2 . 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-17T20:51:53.767891. 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. Source code in ebcc/codegen/RDFCC2.py 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 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-17T20:51:53.767891. 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. \"\"\" tmp12 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 1 , 2 ), ( 0 ,)) tmp4 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 3 , 1 , 0 )) tmp33 = einsum ( t1 , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp0 = einsum ( t1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp13 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp12 , ( 0 ,), ( 1 , 2 )) tmp14 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp6 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp98 = np . copy ( tmp33 ) * - 1 tmp98 += np . transpose ( tmp33 , ( 1 , 0 , 2 , 3 )) * 2 tmp94 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp94 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp93 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) tmp93 += tmp0 tmp96 = np . copy ( tmp33 ) * 2 tmp96 += np . transpose ( tmp33 , ( 1 , 0 , 2 , 3 )) * - 1 tmp102 = np . copy ( tmp13 ) * 2 tmp102 += tmp14 * - 1 tmp28 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp28 += t2 * - 0.5 tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 1 , 0 )) tmp8 = einsum ( tmp4 , ( 0 , 1 , 2 ), tmp4 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) tmp79 = np . copy ( np . transpose ( v . xoo , ( 1 , 2 , 0 ))) tmp79 += np . transpose ( tmp4 , ( 1 , 0 , 2 )) tmp50 = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 1 , 2 )) tmp99 = einsum ( tmp4 , ( 0 , 1 , 2 ), tmp98 , ( 0 , 3 , 1 , 4 ), ( 3 , 4 , 2 )) del tmp98 tmp95 = einsum ( tmp93 , ( 0 , 1 , 2 ), tmp94 , ( 0 , 3 , 1 , 4 ), ( 3 , 4 , 2 )) del tmp93 , tmp94 tmp97 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp96 , ( 3 , 1 , 2 , 4 ), ( 3 , 4 , 0 )) del tmp96 tmp62 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) tmp103 = einsum ( tmp102 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp51 = einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 0 , 4 ), ( 4 , 1 )) tmp20 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp20 += t2 * 2 tmp2 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp9 = np . copy ( tmp7 ) del tmp7 tmp9 += tmp8 tmp56 = einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 0 , 4 ), ( 4 , 1 )) * 2 tmp75 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp69 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp80 = einsum ( tmp79 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp79 tmp24 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp77 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) tmp72 = einsum ( l1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 0 ), ( 1 , 3 , 2 )) tmp109 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp50 , ( 3 , 1 ), ( 3 , 2 , 0 )) tmp100 = np . copy ( tmp95 ) del tmp95 tmp100 += tmp97 * - 1 del tmp97 tmp100 += tmp99 * - 1 del tmp99 tmp104 = np . copy ( tmp62 ) tmp104 += tmp103 * - 1 del tmp103 tmp65 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp12 , ( 0 ,), ( 1 , 2 )) tmp84 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp0 , ( 1 , 3 , 0 ), ( 2 , 3 )) tmp47 = einsum ( t1 , ( 0 , 1 ), tmp33 , ( 2 , 3 , 4 , 1 ), ( 3 , 2 , 4 , 0 )) tmp45 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp19 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp19 += t2 tmp52 = np . copy ( tmp50 ) * 0.5 tmp52 += tmp51 del tmp51 tmp39 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp39 += t2 * - 1 tmp21 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 0 , 2 ), ( 1 , 3 , 4 )) tmp42 = np . copy ( tmp33 ) * - 1 tmp42 += np . transpose ( tmp33 , ( 1 , 0 , 2 , 3 )) * 2 tmp43 = np . copy ( tmp33 ) tmp43 += np . transpose ( tmp33 , ( 1 , 0 , 2 , 3 )) * - 0.5 tmp41 = einsum ( l1 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp23 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp17 = np . copy ( np . transpose ( v . xoo , ( 1 , 2 , 0 ))) tmp17 += np . transpose ( tmp4 , ( 1 , 0 , 2 )) tmp5 = einsum ( tmp4 , ( 0 , 1 , 2 ), tmp0 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp3 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 0 , 1 )) tmp10 = einsum ( t1 , ( 0 , 1 ), tmp9 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * 2 del tmp9 tmp15 = np . copy ( tmp13 ) * 2 tmp15 += tmp14 * - 1 tmp57 = np . copy ( tmp50 ) del tmp50 tmp57 += tmp56 del tmp56 tmp76 = einsum ( tmp75 , ( 0 , 1 , 2 , 3 ), tmp33 , ( 1 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp71 = einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), f . ov , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp70 = einsum ( tmp69 , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) del tmp69 tmp68 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp81 = einsum ( tmp80 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 1 , 5 ), ( 5 , 0 , 4 , 2 )) tmp74 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp24 , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp78 = einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), tmp33 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp73 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp72 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) del tmp72 tmp108 = einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), l1 , ( 4 , 0 ), ( 1 , 2 , 4 , 3 )) tmp110 = einsum ( tmp109 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) del tmp109 tmp61 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp12 , ( 0 ,), ( 1 , 2 )) del tmp12 tmp90 = einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 2 , 4 , 3 , 5 ), ( 1 , 0 , 5 , 4 )) del tmp2 tmp88 = einsum ( tmp75 , ( 0 , 1 , 2 , 3 ), tmp33 , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp91 = einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), tmp33 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) del tmp77 tmp101 = einsum ( tmp100 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 4 , 1 )) del tmp100 tmp92 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp80 , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) del tmp80 tmp106 = einsum ( tmp102 , ( 0 , 1 ), tmp33 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp105 = einsum ( tmp104 , ( 0 , 1 ), l2 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 , 2 , 3 )) del tmp104 tmp89 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp65 , ( 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp85 = einsum ( tmp84 , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 2 , 0 )) del tmp84 tmp83 = einsum ( tmp75 , ( 0 , 1 , 2 , 3 ), l1 , ( 4 , 1 ), ( 0 , 2 , 4 , 3 )) del tmp75 tmp63 = np . copy ( f . ov ) tmp63 += tmp13 * 2 tmp63 += tmp14 * - 1 tmp48 = np . copy ( tmp47 ) * - 1 tmp48 += np . transpose ( tmp47 , ( 0 , 1 , 3 , 2 )) * 2 tmp46 = np . copy ( np . transpose ( tmp45 , ( 1 , 0 , 2 , 3 ))) tmp46 += np . transpose ( tmp45 , ( 1 , 0 , 3 , 2 )) * - 0.5 del tmp45 tmp53 = np . copy ( t1 ) * - 0.5 tmp53 += einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), tmp33 , ( 0 , 1 , 4 , 2 ), ( 4 , 3 )) tmp53 += einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), l1 , ( 2 , 0 ), ( 1 , 3 )) * - 0.5 tmp53 += einsum ( tmp52 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp35 = np . copy ( tmp33 ) * - 0.5 tmp35 += np . transpose ( tmp33 , ( 1 , 0 , 2 , 3 )) tmp49 = np . copy ( tmp47 ) * - 0.5 tmp49 += np . transpose ( tmp47 , ( 0 , 1 , 3 , 2 )) tmp40 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 0 , 5 ), ( 5 , 1 , 4 , 3 )) del tmp39 tmp40 += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp19 , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) * 2 tmp31 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) tmp31 += tmp0 tmp31 += tmp21 tmp44 = np . copy ( tmp41 ) * - 1 tmp44 += np . transpose ( tmp41 , ( 0 , 2 , 1 , 3 )) * 0.5 del tmp41 tmp44 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp42 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * 0.5 del tmp42 tmp44 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp43 , ( 4 , 1 , 5 , 2 ), ( 4 , 5 , 0 , 3 )) del tmp43 tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp22 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) tmp22 += tmp21 tmp29 = np . copy ( np . transpose ( tmp23 , ( 3 , 2 , 1 , 0 ))) * 0.5 tmp29 += np . transpose ( tmp24 , ( 1 , 0 , 3 , 2 )) * 0.5 tmp29 += np . transpose ( tmp24 , ( 3 , 0 , 2 , 1 )) * - 1 tmp18 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 1 , 4 )) tmp1 = einsum ( tmp0 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp32 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 0.5 tmp32 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) tmp34 = np . copy ( tmp33 ) * 2 tmp34 += np . transpose ( tmp33 , ( 1 , 0 , 2 , 3 )) * - 1 tmp36 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp28 , ( 2 , 3 , 1 , 4 ), ( 0 , 4 )) * 2 tmp37 = np . copy ( np . transpose ( v . xoo , ( 1 , 2 , 0 ))) tmp37 += tmp4 tmp11 = np . copy ( tmp3 ) * 2 del tmp3 tmp11 += tmp5 * 2 del tmp5 tmp11 += tmp10 * - 1 del tmp10 tmp16 = einsum ( tmp15 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 2 , 3 , 0 , 4 )) del tmp15 tmp25 = np . copy ( np . transpose ( tmp23 , ( 3 , 2 , 1 , 0 ))) tmp25 += np . transpose ( tmp24 , ( 1 , 0 , 3 , 2 )) tmp25 += np . transpose ( tmp24 , ( 3 , 0 , 2 , 1 )) * - 0.5 del tmp24 tmp55 = einsum ( l1 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) * 0.5 tmp55 += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) * 0.5 tmp58 = np . copy ( np . transpose ( l1 , ( 1 , 0 ))) tmp58 += t1 tmp58 += einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) * - 1 del tmp33 , tmp20 tmp58 += einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), l1 , ( 2 , 0 ), ( 1 , 3 )) * 2 tmp58 += einsum ( tmp57 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 1 tmp82 = np . copy ( tmp68 ) del tmp68 tmp82 += tmp70 * - 1 del tmp70 tmp82 += tmp71 * - 1 del tmp71 tmp82 += tmp73 del tmp73 tmp82 += tmp74 del tmp74 tmp82 += tmp76 del tmp76 tmp82 += tmp78 del tmp78 tmp82 += tmp81 * - 1 del tmp81 tmp111 = np . copy ( tmp108 ) del tmp108 tmp111 += tmp110 del tmp110 tmp113 = np . copy ( np . transpose ( tmp23 , ( 3 , 2 , 1 , 0 ))) del tmp23 tmp113 += np . transpose ( tmp8 , ( 0 , 3 , 1 , 2 )) del tmp8 tmp67 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp87 = einsum ( f . oo , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp112 = einsum ( tmp61 , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp107 = einsum ( l1 , ( 0 , 1 ), f . ov , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) tmp107 += tmp88 del tmp88 tmp107 += tmp89 * 2 del tmp89 tmp107 += tmp90 * - 1 del tmp90 tmp107 += tmp91 del tmp91 tmp107 += tmp92 * - 1 del tmp92 tmp107 += np . transpose ( tmp101 , ( 1 , 0 , 3 , 2 )) del tmp101 tmp107 += np . transpose ( tmp105 , ( 0 , 1 , 3 , 2 )) del tmp105 tmp107 += tmp106 * - 1 del tmp106 tmp107 += einsum ( tmp102 , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) del tmp102 tmp86 = np . copy ( tmp83 ) del tmp83 tmp86 += tmp85 del tmp85 tmp66 = np . copy ( f . vv ) tmp66 += np . transpose ( tmp65 , ( 1 , 0 )) * 2 del tmp65 tmp64 = np . copy ( f . oo ) tmp64 += np . transpose ( tmp61 , ( 1 , 0 )) * 2 del tmp61 tmp64 += tmp62 * - 1 del tmp62 tmp64 += einsum ( v . xov , ( 0 , 1 , 2 ), tmp21 , ( 3 , 2 , 0 ), ( 3 , 1 )) del tmp21 tmp64 += einsum ( tmp63 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) del tmp63 tmp54 = einsum ( l1 , ( 0 , 1 ), tmp0 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 0.5 del tmp0 tmp54 += einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), v . xvv , ( 4 , 2 , 3 ), ( 1 , 0 , 4 )) * - 0.5 del tmp40 tmp54 += einsum ( tmp31 , ( 0 , 1 , 2 ), tmp35 , ( 3 , 0 , 4 , 1 ), ( 4 , 3 , 2 )) * - 1 tmp54 += einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 3 ), ( 2 , 0 , 4 )) del tmp44 tmp54 += einsum ( tmp17 , ( 0 , 1 , 2 ), tmp46 , ( 1 , 3 , 4 , 0 ), ( 4 , 3 , 2 )) del tmp46 tmp54 += einsum ( tmp4 , ( 0 , 1 , 2 ), tmp48 , ( 0 , 3 , 4 , 1 ), ( 4 , 3 , 2 )) * 0.5 del tmp48 tmp54 += einsum ( v . xoo , ( 0 , 1 , 2 ), tmp49 , ( 1 , 3 , 4 , 2 ), ( 4 , 3 , 0 )) del tmp49 tmp54 += einsum ( tmp53 , ( 0 , 1 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) del tmp53 tmp54 += einsum ( v . xoo , ( 0 , 1 , 2 ), tmp52 , ( 2 , 3 ), ( 3 , 1 , 0 )) del tmp52 tmp60 = np . copy ( f . ov ) * 0.5 tmp60 += tmp13 del tmp13 tmp60 += tmp14 * - 0.5 del tmp14 tmp30 = np . copy ( np . transpose ( tmp1 , ( 0 , 2 , 1 , 3 ))) * - 1 tmp30 += np . transpose ( tmp27 , ( 1 , 0 , 2 , 3 )) * - 1 tmp30 += np . transpose ( tmp27 , ( 2 , 0 , 1 , 3 )) * 0.5 del tmp27 tmp30 += einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), tmp28 , ( 1 , 4 , 3 , 5 ), ( 2 , 0 , 4 , 5 )) del tmp28 tmp30 += einsum ( tmp22 , ( 0 , 1 , 2 ), tmp17 , ( 3 , 4 , 2 ), ( 4 , 3 , 0 , 1 )) * 0.5 tmp30 += einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp29 tmp38 = einsum ( tmp31 , ( 0 , 1 , 2 ), tmp32 , ( 0 , 3 , 1 , 4 ), ( 3 , 4 , 2 )) * - 2 del tmp31 , tmp32 tmp38 += einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), v . xoo , ( 4 , 1 , 2 ), ( 0 , 3 , 4 )) del tmp34 tmp38 += einsum ( tmp4 , ( 0 , 1 , 2 ), tmp35 , ( 0 , 3 , 1 , 4 ), ( 3 , 4 , 2 )) * 2 del tmp4 , tmp35 tmp38 += einsum ( v . xov , ( 0 , 1 , 2 ), tmp36 , ( 3 , 2 ), ( 1 , 3 , 0 )) del tmp36 tmp38 += einsum ( tmp37 , ( 0 , 1 , 2 ), l1 , ( 3 , 0 ), ( 1 , 3 , 2 )) del tmp37 tmp26 = np . copy ( np . transpose ( tmp1 , ( 0 , 2 , 1 , 3 ))) del tmp1 tmp26 += np . transpose ( tmp11 , ( 0 , 2 , 1 , 3 )) * - 1 tmp26 += np . transpose ( tmp11 , ( 1 , 2 , 0 , 3 )) * 0.5 del tmp11 tmp26 += np . transpose ( tmp16 , ( 1 , 2 , 0 , 3 )) tmp26 += np . transpose ( tmp16 , ( 0 , 2 , 1 , 3 )) * - 2 del tmp16 tmp26 += einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), tmp19 , ( 1 , 4 , 3 , 5 ), ( 2 , 0 , 4 , 5 )) * 2 del tmp19 , tmp18 tmp26 += einsum ( tmp22 , ( 0 , 1 , 2 ), tmp17 , ( 3 , 4 , 2 ), ( 4 , 3 , 0 , 1 )) * - 2 del tmp17 , tmp22 tmp26 += einsum ( t1 , ( 0 , 1 ), tmp25 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * 2 del tmp25 tmp59 = einsum ( tmp55 , ( 0 , 1 ), v . xvv , ( 2 , 1 , 0 ), ( 2 ,)) * 2 del tmp55 tmp59 += einsum ( v . xov , ( 0 , 1 , 2 ), tmp58 , ( 1 , 2 ), ( 0 ,)) del tmp58 tmp59 += einsum ( tmp57 , ( 0 , 1 ), v . xoo , ( 2 , 1 , 0 ), ( 2 ,)) * - 1 l2new = np . copy ( np . transpose ( tmp6 , ( 3 , 2 , 1 , 0 ))) l2new += einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp67 l2new += einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 2 , 3 , 4 , 5 ), ( 5 , 4 , 1 , 0 )) del tmp6 , tmp47 l2new += np . transpose ( tmp82 , ( 3 , 2 , 0 , 1 )) l2new += np . transpose ( tmp82 , ( 2 , 3 , 1 , 0 )) del tmp82 l2new += np . transpose ( tmp86 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp86 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp86 l2new += np . transpose ( tmp87 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp87 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp87 l2new += np . transpose ( tmp107 , ( 2 , 3 , 0 , 1 )) l2new += np . transpose ( tmp107 , ( 3 , 2 , 1 , 0 )) del tmp107 l2new += np . transpose ( tmp111 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp111 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp111 l2new += np . transpose ( tmp112 , ( 2 , 3 , 0 , 1 )) * - 2 l2new += np . transpose ( tmp112 , ( 3 , 2 , 1 , 0 )) * - 2 del tmp112 l2new += einsum ( tmp113 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 2 , 0 ), ( 4 , 5 , 1 , 3 )) del tmp113 l1new = np . copy ( np . transpose ( f . ov , ( 1 , 0 ))) l1new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp26 , ( 2 , 4 , 3 , 1 ), ( 0 , 4 )) del tmp26 l1new += einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 2 , 0 ), ( 4 , 1 )) * 2 del tmp30 l1new += einsum ( tmp38 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 3 , 0 )) * - 1 del tmp38 l1new += einsum ( tmp54 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 3 , 1 )) * 2 del tmp54 l1new += einsum ( v . xov , ( 0 , 1 , 2 ), tmp59 , ( 0 ,), ( 2 , 1 )) * 2 del tmp59 l1new += einsum ( tmp57 , ( 0 , 1 ), tmp60 , ( 1 , 2 ), ( 2 , 0 )) * - 2 del tmp57 , tmp60 l1new += einsum ( l1 , ( 0 , 1 ), tmp64 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp64 l1new += einsum ( l1 , ( 0 , 1 ), tmp66 , ( 0 , 2 ), ( 2 , 1 )) del tmp66 return { f \"l1new\" : l1new , f \"l2new\" : l2new } ebcc . codegen . RDFCC2 . make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:51:54.851120. 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. Source code in ebcc/codegen/RDFCC2.py 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 def make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:54.851120. 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 ]), ) tmp5 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp5 += t2 * - 0.5 tmp0 = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 1 , 2 )) tmp2 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp7 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp7 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp6 = np . copy ( tmp0 ) tmp6 += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 0 , 4 ), ( 4 , 1 )) * 2 del tmp5 tmp4 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp4 += t2 * 2 tmp3 = np . copy ( tmp2 ) tmp3 += np . transpose ( tmp2 , ( 1 , 0 , 2 , 3 )) * - 0.5 del tmp2 tmp1 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp1 += t2 rdm1 . vv = einsum ( l1 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) * 2 rdm1 . vv += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 1 , 4 , 2 ), ( 4 , 3 )) * 2 del tmp7 rdm1 . vo = np . copy ( l1 ) * 2 rdm1 . ov = np . copy ( t1 ) * 2 rdm1 . ov += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 0 , 1 , 4 , 2 ), ( 4 , 3 )) * - 4 del tmp3 rdm1 . ov += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), l1 , ( 2 , 0 ), ( 1 , 3 )) * 2 del tmp4 rdm1 . ov += einsum ( tmp6 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 2 del tmp6 rdm1 . oo = np . copy ( delta . oo ) * 2 del delta rdm1 . oo += np . transpose ( tmp0 , ( 1 , 0 )) * - 2 del tmp0 rdm1 . oo += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 0 , 4 ), ( 1 , 4 )) * - 4 del tmp1 rdm1 = np . block ([[ rdm1 . oo , rdm1 . ov ], [ rdm1 . vo , rdm1 . vv ]]) return rdm1 ebcc . codegen . RDFCC2 . make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:52:44.154282. 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. Source code in ebcc/codegen/RDFCC2.py 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 def make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:52:44.154282. 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 )) tmp22 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp22 += t2 * 2 tmp79 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp79 += t2 tmp4 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp4 += t2 * - 0.5 tmp16 = np . copy ( tmp1 ) * - 1 tmp16 += np . transpose ( tmp1 , ( 1 , 0 , 2 , 3 )) * 2 tmp14 = np . copy ( tmp1 ) * - 1 tmp14 += np . transpose ( tmp1 , ( 1 , 0 , 2 , 3 )) tmp62 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp62 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp45 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp45 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp81 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp22 , ( 3 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 0 )) tmp80 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp79 , ( 2 , 4 , 1 , 5 ), ( 4 , 3 , 5 , 0 )) del tmp79 tmp92 = einsum ( t1 , ( 0 , 1 ), tmp1 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp5 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 0 , 4 ), ( 4 , 1 )) * 2 tmp8 = np . copy ( tmp1 ) * - 1 tmp8 += np . transpose ( tmp1 , ( 1 , 0 , 2 , 3 )) * 2 tmp12 = einsum ( l1 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp26 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 1 , 5 , 2 ), ( 4 , 5 , 0 , 3 )) tmp6 = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 1 , 2 )) tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) del tmp16 tmp15 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 1 , 5 , 2 ), ( 4 , 5 , 0 , 3 )) tmp25 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 1 , 4 , 5 , 2 ), ( 4 , 5 , 0 , 3 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 4 , 5 ), ( 5 , 4 , 0 , 1 )) tmp54 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp54 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) tmp2 = einsum ( t1 , ( 0 , 1 ), tmp1 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp31 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 0 , 4 ), ( 4 , 1 )) del tmp4 tmp113 = einsum ( t1 , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 0 ), ( 4 , 2 , 3 , 1 )) tmp84 = einsum ( l1 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp85 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) tmp52 = einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) tmp67 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) tmp107 = np . copy ( tmp92 ) tmp107 += np . transpose ( tmp80 , ( 1 , 0 , 3 , 2 )) tmp107 += np . transpose ( tmp81 , ( 1 , 0 , 3 , 2 )) * - 1 tmp97 = np . copy ( np . transpose ( tmp81 , ( 1 , 0 , 3 , 2 ))) tmp97 += np . transpose ( tmp80 , ( 1 , 0 , 3 , 2 )) * - 1 tmp104 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) tmp63 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) * 0.5 del tmp62 tmp10 = einsum ( tmp5 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * 0.5 tmp9 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp8 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) * 0.5 tmp74 = np . copy ( tmp12 ) tmp74 += tmp26 * - 1 tmp23 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), l1 , ( 2 , 0 ), ( 1 , 3 )) del tmp22 tmp21 = einsum ( tmp6 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp48 = np . copy ( tmp12 ) tmp48 += tmp15 tmp48 += tmp17 * - 1 tmp46 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp45 , ( 1 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) del tmp45 tmp71 = np . copy ( tmp25 ) tmp71 += tmp17 * - 1 tmp19 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp55 = einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp13 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) tmp3 = np . copy ( np . transpose ( tmp0 , ( 1 , 0 , 3 , 2 ))) tmp3 += tmp2 tmp32 = np . copy ( tmp6 ) * 0.5 tmp32 += tmp31 del tmp31 tmp29 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp29 += t2 * 2 tmp115 = einsum ( t1 , ( 0 , 1 ), tmp113 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) tmp114 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 1 , 0 ), ( 4 , 5 , 3 , 2 )) tmp100 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 0 , 4 , 5 ), ( 2 , 3 , 5 , 4 )) tmp86 = np . copy ( tmp84 ) tmp86 += tmp85 del tmp85 tmp111 = np . copy ( tmp67 ) tmp111 += tmp92 tmp111 += tmp52 * - 1 tmp69 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 1 , 5 ), ( 5 , 0 , 4 , 3 )) tmp108 = einsum ( t1 , ( 0 , 1 ), tmp107 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp107 tmp96 = einsum ( l1 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) tmp98 = einsum ( t1 , ( 0 , 1 ), tmp97 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp97 tmp105 = np . copy ( tmp67 ) tmp105 += tmp92 tmp105 += tmp104 * - 1 del tmp104 tmp88 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp88 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp82 = np . copy ( tmp1 ) tmp82 += np . transpose ( tmp1 , ( 1 , 0 , 2 , 3 )) * - 1 tmp90 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) tmp90 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp65 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 1 , 4 ), ( 0 , 4 , 3 , 2 )) tmp64 = einsum ( tmp63 , ( 0 , 1 ), t2 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 tmp11 = np . copy ( tmp9 ) tmp11 += tmp10 del tmp10 tmp44 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) tmp75 = einsum ( t1 , ( 0 , 1 ), tmp74 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp74 tmp24 = np . copy ( tmp21 ) tmp24 += tmp23 * - 1 tmp49 = einsum ( t1 , ( 0 , 1 ), tmp48 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp48 tmp47 = einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) del tmp46 tmp72 = einsum ( t1 , ( 0 , 1 ), tmp71 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp71 tmp59 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) tmp60 = einsum ( t1 , ( 0 , 1 ), tmp19 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp58 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 1 , 0 , 4 , 5 ), ( 4 , 5 , 3 , 2 )) tmp56 = einsum ( tmp55 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp55 tmp51 = einsum ( t1 , ( 0 , 1 ), tmp13 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp53 = einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) del tmp52 tmp27 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) tmp28 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp8 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) del tmp8 tmp33 = einsum ( tmp32 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * 2 tmp38 = np . copy ( tmp1 ) * 2 tmp38 += np . transpose ( tmp1 , ( 1 , 0 , 2 , 3 )) * - 1 tmp40 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), l1 , ( 2 , 0 ), ( 1 , 3 )) * 0.5 tmp41 = einsum ( tmp32 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), l1 , ( 2 , 0 ), ( 1 , 3 )) del tmp29 tmp116 = np . copy ( np . transpose ( tmp114 , ( 1 , 0 , 3 , 2 ))) tmp116 += np . transpose ( tmp115 , ( 1 , 0 , 3 , 2 )) tmp95 = np . copy ( tmp84 ) * 0.5 tmp95 += tmp63 tmp110 = np . copy ( tmp100 ) tmp110 += einsum ( tmp86 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp112 = einsum ( t1 , ( 0 , 1 ), tmp111 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp111 tmp103 = einsum ( t1 , ( 0 , 1 ), tmp69 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp109 = np . copy ( tmp96 ) tmp109 += np . transpose ( tmp108 , ( 0 , 1 , 3 , 2 )) del tmp108 tmp99 = np . copy ( tmp96 ) tmp99 += einsum ( tmp84 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp84 tmp99 += np . transpose ( tmp98 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp98 tmp101 = np . copy ( tmp100 ) tmp101 += einsum ( t1 , ( 0 , 1 ), tmp63 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 del tmp63 tmp102 = einsum ( tmp92 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) tmp106 = einsum ( t1 , ( 0 , 1 ), tmp105 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp105 tmp93 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp14 tmp87 = einsum ( t1 , ( 0 , 1 ), tmp1 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp94 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp54 , ( 1 , 4 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) del tmp54 tmp89 = einsum ( tmp88 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) del tmp88 tmp83 = einsum ( t1 , ( 0 , 1 ), tmp82 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp82 tmp91 = einsum ( tmp90 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 1 , 4 , 2 , 5 )) del tmp90 tmp66 = np . copy ( np . transpose ( tmp64 , ( 1 , 0 , 3 , 2 ))) del tmp64 tmp66 += np . transpose ( tmp65 , ( 0 , 1 , 3 , 2 )) del tmp65 tmp66 += einsum ( tmp11 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 tmp76 = np . copy ( tmp44 ) tmp76 += np . transpose ( tmp75 , ( 0 , 1 , 3 , 2 )) del tmp75 tmp70 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp68 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp67 , ( 1 , 4 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) tmp50 = np . copy ( tmp44 ) del tmp44 tmp50 += np . transpose ( tmp47 , ( 1 , 0 , 3 , 2 )) * - 1 tmp50 += np . transpose ( tmp49 , ( 0 , 1 , 3 , 2 )) del tmp49 tmp50 += einsum ( tmp24 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 tmp78 = np . copy ( t1 ) tmp78 += tmp21 * - 1 tmp73 = np . copy ( np . transpose ( tmp47 , ( 1 , 0 , 3 , 2 ))) * - 1 del tmp47 tmp73 += np . transpose ( tmp72 , ( 0 , 1 , 3 , 2 )) del tmp72 tmp73 += einsum ( tmp23 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp61 = np . copy ( tmp58 ) tmp61 += tmp59 tmp61 += tmp60 del tmp60 tmp57 = np . copy ( tmp51 ) del tmp51 tmp57 += np . transpose ( tmp53 , ( 1 , 0 , 3 , 2 )) * 2 tmp57 += tmp56 del tmp56 tmp77 = einsum ( t1 , ( 0 , 1 ), tmp27 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) tmp35 = np . copy ( tmp28 ) tmp35 += tmp33 tmp39 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp38 , ( 1 , 4 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) del tmp38 tmp43 = np . copy ( tmp6 ) tmp43 += tmp5 tmp36 = einsum ( tmp6 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp36 += tmp15 tmp36 += tmp17 * - 1 tmp42 = np . copy ( t1 ) * - 0.5 tmp42 += tmp9 del tmp9 tmp42 += tmp40 * - 1 del tmp40 tmp42 += tmp41 del tmp41 tmp37 = np . copy ( tmp12 ) tmp37 += np . transpose ( tmp27 , ( 0 , 2 , 1 , 3 )) tmp37 += einsum ( t1 , ( 0 , 1 ), tmp5 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp34 = np . copy ( t1 ) * - 1 tmp34 += tmp28 del tmp28 tmp34 += tmp30 * - 1 del tmp30 tmp34 += tmp33 del tmp33 tmp18 = np . copy ( tmp12 ) tmp18 += tmp13 del tmp13 tmp18 += tmp15 del tmp15 tmp18 += tmp17 * - 1 tmp20 = np . copy ( tmp19 ) del tmp19 tmp20 += einsum ( t1 , ( 0 , 1 ), tmp5 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp7 = np . copy ( delta . oo ) tmp7 += tmp6 * - 1 rdm2 . vvvv = np . copy ( np . transpose ( tmp116 , ( 0 , 1 , 3 , 2 ))) * - 2 rdm2 . vvvv += tmp116 * 2 del tmp116 rdm2 . vvvv += np . transpose ( tmp114 , ( 1 , 0 , 3 , 2 )) * 2 del tmp114 rdm2 . vvvv += np . transpose ( tmp115 , ( 1 , 0 , 3 , 2 )) * 2 del tmp115 rdm2 . vvvo = np . copy ( np . transpose ( tmp113 , ( 1 , 2 , 3 , 0 ))) * - 2 rdm2 . vvvo += np . transpose ( tmp113 , ( 2 , 1 , 3 , 0 )) * 4 rdm2 . vvov = np . copy ( np . transpose ( tmp113 , ( 1 , 2 , 0 , 3 ))) * 4 rdm2 . vvov += np . transpose ( tmp113 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp113 rdm2 . vovv = np . copy ( np . transpose ( tmp109 , ( 1 , 0 , 2 , 3 ))) * - 2 rdm2 . vovv += np . transpose ( tmp109 , ( 1 , 0 , 3 , 2 )) * 2 del tmp109 rdm2 . vovv += np . transpose ( tmp110 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . vovv += np . transpose ( tmp110 , ( 1 , 0 , 3 , 2 )) * 2 del tmp110 rdm2 . vovv += np . transpose ( tmp96 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . vovv += np . transpose ( tmp103 , ( 1 , 0 , 3 , 2 )) * - 2 rdm2 . vovv += np . transpose ( tmp100 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . vovv += np . transpose ( tmp112 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp112 rdm2 . vovv += einsum ( tmp95 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 4 rdm2 . ovvv = np . copy ( tmp99 ) * 2 rdm2 . ovvv += np . transpose ( tmp99 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp99 rdm2 . ovvv += tmp101 * 2 rdm2 . ovvv += np . transpose ( tmp101 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp101 rdm2 . ovvv += tmp102 * 2 rdm2 . ovvv += np . transpose ( tmp102 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp102 rdm2 . ovvv += tmp96 * 2 del tmp96 rdm2 . ovvv += np . transpose ( tmp100 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp100 rdm2 . ovvv += tmp103 * - 2 del tmp103 rdm2 . ovvv += tmp106 * - 2 del tmp106 rdm2 . ovvv += einsum ( tmp86 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . vvoo = np . copy ( np . transpose ( l2 , ( 0 , 1 , 3 , 2 ))) * - 2 rdm2 . vvoo += l2 * 4 rdm2 . vovo = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . vovo += np . transpose ( tmp89 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . vovo += np . transpose ( tmp94 , ( 2 , 1 , 3 , 0 )) * - 2 del tmp94 rdm2 . vovo += np . transpose ( tmp93 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . vovo += einsum ( delta . oo , ( 0 , 1 ), tmp95 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 8 del tmp95 rdm2 . vovo += np . transpose ( tmp69 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . vovo += np . transpose ( tmp87 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . voov = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 4 rdm2 . voov += np . transpose ( tmp81 , ( 3 , 0 , 1 , 2 )) * 2 rdm2 . voov += np . transpose ( tmp80 , ( 3 , 0 , 1 , 2 )) * - 2 rdm2 . voov += np . transpose ( tmp93 , ( 2 , 1 , 0 , 3 )) * 2 del tmp93 rdm2 . voov += einsum ( tmp86 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . voov += np . transpose ( tmp67 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . voov += np . transpose ( tmp92 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . voov += np . transpose ( tmp89 , ( 2 , 1 , 0 , 3 )) * 2 rdm2 . ovvo = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 4 rdm2 . ovvo += np . transpose ( tmp89 , ( 1 , 2 , 3 , 0 )) * 4 del tmp89 rdm2 . ovvo += np . transpose ( tmp91 , ( 1 , 2 , 3 , 0 )) * - 2 del tmp91 rdm2 . ovvo += np . transpose ( tmp83 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . ovvo += einsum ( tmp86 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . ovvo += np . transpose ( tmp67 , ( 1 , 2 , 3 , 0 )) * - 2 del tmp67 rdm2 . ovvo += np . transpose ( tmp92 , ( 1 , 2 , 3 , 0 )) * - 2 del tmp92 rdm2 . ovov = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . ovov += np . transpose ( tmp80 , ( 0 , 3 , 1 , 2 )) * 2 del tmp80 rdm2 . ovov += np . transpose ( tmp81 , ( 0 , 3 , 1 , 2 )) * - 2 del tmp81 rdm2 . ovov += np . transpose ( tmp83 , ( 1 , 2 , 0 , 3 )) * 2 del tmp83 rdm2 . ovov += einsum ( tmp86 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 4 del tmp86 rdm2 . ovov += np . transpose ( tmp69 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp69 rdm2 . ovov += np . transpose ( tmp87 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp87 rdm2 . oovv = np . copy ( tmp50 ) * 2 rdm2 . oovv += np . transpose ( tmp50 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . oovv += np . transpose ( tmp50 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . oovv += np . transpose ( tmp50 , ( 1 , 0 , 3 , 2 )) * 2 del tmp50 rdm2 . oovv += tmp57 * 2 rdm2 . oovv += np . transpose ( tmp57 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp57 rdm2 . oovv += tmp61 * 2 rdm2 . oovv += np . transpose ( tmp61 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp61 rdm2 . oovv += tmp66 * - 4 rdm2 . oovv += np . transpose ( tmp66 , ( 0 , 1 , 3 , 2 )) * 2 rdm2 . oovv += np . transpose ( tmp66 , ( 1 , 0 , 2 , 3 )) * 2 rdm2 . oovv += np . transpose ( tmp66 , ( 1 , 0 , 3 , 2 )) * - 4 del tmp66 rdm2 . oovv += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . oovv += t2 * 4 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . oovv += einsum ( tmp21 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 del tmp21 rdm2 . oovv += tmp68 * 2 del tmp68 rdm2 . oovv += np . transpose ( tmp70 , ( 0 , 1 , 3 , 2 )) * 2 del tmp70 rdm2 . oovv += tmp58 * 2 del tmp58 rdm2 . oovv += tmp59 * 2 del tmp59 rdm2 . oovv += tmp73 * 2 rdm2 . oovv += np . transpose ( tmp73 , ( 1 , 0 , 3 , 2 )) * 2 del tmp73 rdm2 . oovv += np . transpose ( tmp76 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . oovv += np . transpose ( tmp76 , ( 1 , 0 , 2 , 3 )) * - 2 del tmp76 rdm2 . oovv += tmp53 * 4 del tmp53 rdm2 . oovv += np . transpose ( tmp77 , ( 0 , 1 , 3 , 2 )) * 2 del tmp77 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), tmp78 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 del tmp78 rdm2 . vooo = einsum ( l1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 4 rdm2 . vooo += einsum ( l1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . vooo += np . transpose ( tmp1 , ( 3 , 2 , 0 , 1 )) * - 4 rdm2 . vooo += np . transpose ( tmp1 , ( 3 , 2 , 1 , 0 )) * 2 rdm2 . ovoo = einsum ( l1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . ovoo += einsum ( l1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 4 rdm2 . ovoo += np . transpose ( tmp1 , ( 2 , 3 , 0 , 1 )) * 2 rdm2 . ovoo += np . transpose ( tmp1 , ( 2 , 3 , 1 , 0 )) * - 4 del tmp1 rdm2 . oovo = einsum ( delta . oo , ( 0 , 1 ), tmp35 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 rdm2 . oovo += einsum ( tmp35 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 del tmp35 rdm2 . oovo += np . transpose ( tmp36 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . oovo += np . transpose ( tmp36 , ( 2 , 1 , 3 , 0 )) * 2 del tmp36 rdm2 . oovo += np . transpose ( tmp37 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . oovo += np . transpose ( tmp37 , ( 2 , 1 , 3 , 0 )) * 2 del tmp37 rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . oovo += einsum ( tmp23 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . oovo += einsum ( tmp23 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 del tmp23 rdm2 . oovo += np . transpose ( tmp26 , ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oovo += np . transpose ( tmp25 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . oovo += np . transpose ( tmp12 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . oovo += np . transpose ( tmp39 , ( 2 , 1 , 3 , 0 )) * - 2 del tmp39 rdm2 . oovo += np . transpose ( tmp27 , ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 4 del tmp42 rdm2 . oovo += einsum ( tmp43 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 2 del tmp43 rdm2 . ooov = einsum ( tmp11 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 4 rdm2 . ooov += einsum ( tmp11 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 4 del tmp11 rdm2 . ooov += np . transpose ( tmp18 , ( 1 , 2 , 0 , 3 )) * 2 rdm2 . ooov += np . transpose ( tmp18 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp18 rdm2 . ooov += np . transpose ( tmp20 , ( 1 , 2 , 0 , 3 )) * 2 rdm2 . ooov += np . transpose ( tmp20 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp20 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . ooov += einsum ( tmp6 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * 2 rdm2 . ooov += einsum ( tmp6 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 2 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp24 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp24 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 del tmp24 rdm2 . ooov += np . transpose ( tmp25 , ( 1 , 2 , 0 , 3 )) * 2 del tmp25 rdm2 . ooov += np . transpose ( tmp26 , ( 2 , 1 , 0 , 3 )) * 2 del tmp26 rdm2 . ooov += np . transpose ( tmp12 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp12 rdm2 . ooov += np . transpose ( tmp17 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp17 rdm2 . ooov += np . transpose ( tmp27 , ( 2 , 1 , 0 , 3 )) * 2 del tmp27 rdm2 . ooov += einsum ( tmp34 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 del tmp34 rdm2 . ooov += einsum ( tmp32 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 4 del tmp32 rdm2 . oooo = np . copy ( np . transpose ( tmp3 , ( 3 , 2 , 0 , 1 ))) * - 2 rdm2 . oooo += np . transpose ( tmp3 , ( 2 , 3 , 0 , 1 )) * 2 del tmp3 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . oooo += einsum ( tmp5 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 4 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp5 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * 2 rdm2 . oooo += einsum ( tmp5 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp5 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 4 del tmp5 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp6 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 2 rdm2 . oooo += einsum ( tmp6 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * 2 rdm2 . oooo += einsum ( tmp6 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp6 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 4 del tmp6 rdm2 . oooo += np . transpose ( tmp0 , ( 3 , 2 , 1 , 0 )) * 2 del tmp0 rdm2 . oooo += np . transpose ( tmp2 , ( 3 , 2 , 1 , 0 )) * 2 del tmp2 rdm2 . oooo += einsum ( tmp7 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * 2 del delta , tmp7 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 ebcc . codegen . RDFCC2 . hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:52:56.787833. 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 tmp14 : array tmp17 : array tmp18 : array tmp20 : array tmp21 : array tmp23 : array tmp24 : array tmp30 : array tmp32 : array tmp33 : array tmp35 : array tmp38 : array tmp39 : array tmp40 : array tmp42 : array tmp43 : array tmp45 : array tmp46 : array tmp47 : array tmp5 : array tmp52 : array tmp54 : array tmp55 : array tmp56 : array tmp57 : array tmp58 : array tmp60 : array tmp66 : array tmp67 : array tmp68 : array tmp69 : array tmp7 : array tmp9 : array Source code in ebcc/codegen/RDFCC2.py 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 def hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:52:56.787833. 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 tmp14 : array tmp17 : array tmp18 : array tmp20 : array tmp21 : array tmp23 : array tmp24 : array tmp30 : array tmp32 : array tmp33 : array tmp35 : array tmp38 : array tmp39 : array tmp40 : array tmp42 : array tmp43 : array tmp45 : array tmp46 : array tmp47 : array tmp5 : array tmp52 : array tmp54 : array tmp55 : array tmp56 : array tmp57 : array tmp58 : array tmp60 : array tmp66 : array tmp67 : array tmp68 : array tmp69 : array tmp7 : array tmp9 : array \"\"\" tmp6 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 1 , 2 ), ( 0 ,)) tmp4 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 3 , 1 , 0 )) tmp0 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp17 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 2 , 4 ), ( 3 , 4 , 0 )) tmp20 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 3 ), ( 0 , 2 , 4 )) tmp1 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp32 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp29 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp11 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp6 , ( 0 ,), ( 1 , 2 )) tmp9 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp69 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp68 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp67 = einsum ( tmp20 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp66 = einsum ( t1 , ( 0 , 1 ), f . vv , ( 2 , 1 ), ( 0 , 2 )) tmp60 = einsum ( tmp20 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp58 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp57 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) tmp56 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp55 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 )) tmp54 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp52 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp47 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp32 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp46 = einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) tmp45 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp17 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp43 = einsum ( tmp20 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp42 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp40 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp39 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp38 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) tmp35 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp33 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp32 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 0 , 1 )) del tmp29 tmp24 = einsum ( tmp11 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp23 = einsum ( tmp9 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp21 = einsum ( tmp20 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp18 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp14 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) tmp7 = einsum ( tmp6 , ( 0 ,), v . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp6 tmp5 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) del tmp4 return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp11\" : tmp11 , f \"tmp14\" : tmp14 , f \"tmp17\" : tmp17 , f \"tmp18\" : tmp18 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp23\" : tmp23 , f \"tmp24\" : tmp24 , f \"tmp30\" : tmp30 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp35\" : tmp35 , f \"tmp38\" : tmp38 , f \"tmp39\" : tmp39 , f \"tmp40\" : tmp40 , f \"tmp42\" : tmp42 , f \"tmp43\" : tmp43 , f \"tmp45\" : tmp45 , f \"tmp46\" : tmp46 , f \"tmp47\" : tmp47 , f \"tmp5\" : tmp5 , f \"tmp52\" : tmp52 , f \"tmp54\" : tmp54 , f \"tmp55\" : tmp55 , f \"tmp56\" : tmp56 , f \"tmp57\" : tmp57 , f \"tmp58\" : tmp58 , f \"tmp60\" : tmp60 , f \"tmp66\" : tmp66 , f \"tmp67\" : tmp67 , f \"tmp68\" : tmp68 , f \"tmp69\" : tmp69 , f \"tmp7\" : tmp7 , f \"tmp9\" : tmp9 } ebcc . codegen . RDFCC2 . 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-17T20:52:56.809237. 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. Source code in ebcc/codegen/RDFCC2.py 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 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-17T20:52:56.809237. 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\" ] tmp3 = np . copy ( r2 ) * 2 tmp3 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 1 tmp5 = np . copy ( ints . tmp35 ) * 0.5 tmp5 += ints . tmp47 tmp5 += ints . tmp46 * - 0.5 tmp10 = np . copy ( np . transpose ( ints . tmp60 , ( 1 , 0 ))) * 2 del ints . tmp60 tmp10 += f . vv * - 1 tmp10 += np . transpose ( ints . tmp58 , ( 1 , 0 )) * - 1 del ints . tmp58 tmp10 += einsum ( t1 , ( 0 , 1 ), f . ov , ( 0 , 2 ), ( 2 , 1 )) tmp8 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . xov , ( 3 , 0 , 2 ), ( 1 , 3 )) * 0.5 tmp12 = np . copy ( ints . tmp1 ) tmp12 += np . transpose ( ints . tmp30 , ( 0 , 2 , 1 , 3 )) del ints . tmp30 tmp12 += np . transpose ( ints . tmp43 , ( 2 , 1 , 0 , 3 )) * 2 del ints . tmp43 tmp12 += np . transpose ( ints . tmp54 , ( 2 , 0 , 1 , 3 )) del ints . tmp54 tmp12 += np . transpose ( ints . tmp42 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp42 tmp12 += np . transpose ( ints . tmp45 , ( 2 , 1 , 0 , 3 )) * - 1 del ints . tmp45 tmp12 += np . transpose ( ints . tmp57 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp57 tmp13 = np . copy ( f . oo ) tmp13 += ints . tmp0 tmp13 += np . transpose ( ints . tmp21 , ( 1 , 0 )) * 2 tmp13 += np . transpose ( ints . tmp18 , ( 1 , 0 )) * - 1 tmp6 = np . copy ( ints . tmp35 ) del ints . tmp35 tmp6 += ints . tmp46 * - 1 del ints . tmp46 tmp14 = np . copy ( f . ov ) tmp14 += ints . tmp39 * 2 del ints . tmp39 tmp14 += ints . tmp55 del ints . tmp55 tmp14 += ints . tmp66 del ints . tmp66 tmp14 += ints . tmp67 * 2 del ints . tmp67 tmp14 += ints . tmp38 * - 1 del ints . tmp38 tmp14 += ints . tmp52 * - 1 del ints . tmp52 tmp14 += ints . tmp56 * - 2 del ints . tmp56 tmp14 += ints . tmp68 * - 1 del ints . tmp68 tmp14 += ints . tmp69 * - 1 del ints . tmp69 tmp9 = np . copy ( ints . tmp20 ) * 2 del ints . tmp20 tmp9 += np . transpose ( v . xov , ( 1 , 2 , 0 )) tmp9 += ints . tmp17 * - 1 del ints . tmp17 tmp7 = np . copy ( ints . tmp33 ) del ints . tmp33 tmp7 += np . transpose ( ints . tmp40 , ( 2 , 0 , 1 , 3 )) del ints . tmp40 tmp11 = einsum ( ints . tmp32 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 0 , 1 , 2 ), ( 3 ,)) * 0.5 del ints . tmp32 tmp2 = np . copy ( f . ov ) * 0.5 tmp2 += ints . tmp11 del ints . tmp11 tmp2 += ints . tmp9 * - 0.5 del ints . tmp9 tmp4 = np . copy ( f . oo ) tmp4 += ints . tmp0 del ints . tmp0 tmp4 += np . transpose ( ints . tmp21 , ( 1 , 0 )) * 2 del ints . tmp21 tmp4 += np . transpose ( ints . tmp24 , ( 1 , 0 )) * 2 del ints . tmp24 tmp4 += np . transpose ( ints . tmp7 , ( 1 , 0 )) * 2 del ints . tmp7 tmp4 += np . transpose ( ints . tmp18 , ( 1 , 0 )) * - 1 del ints . tmp18 tmp4 += np . transpose ( ints . tmp23 , ( 1 , 0 )) * - 1 del ints . tmp23 tmp4 += np . transpose ( ints . tmp5 , ( 1 , 0 )) * - 1 del ints . tmp5 tmp0 = np . copy ( r2 ) * - 1 tmp0 += np . transpose ( r2 , ( 1 , 0 , 2 )) * 2 tmp1 = np . copy ( r2 ) tmp1 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 0.5 r2new = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp47 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) del ints . tmp47 r2new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * - 2 del tmp5 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp6 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp6 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp7 , ( 3 , 4 , 0 , 1 ), ( 3 , 4 , 2 )) del tmp7 r2new += einsum ( tmp9 , ( 0 , 1 , 2 ), tmp8 , ( 3 , 2 ), ( 0 , 3 , 1 )) * 2 del tmp9 , tmp8 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp10 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp10 r2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp11 , ( 3 ,), ( 0 , 1 , 2 )) * - 2 del tmp11 r2new += einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 ,), ( 2 , 0 , 3 )) del tmp12 r2new += einsum ( tmp13 , ( 0 , 1 ), r2 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp13 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp13 r2new += einsum ( tmp14 , ( 0 , 1 ), r1 , ( 2 ,), ( 0 , 2 , 1 )) * - 1 del tmp14 r1new = einsum ( tmp0 , ( 0 , 1 , 2 ), ints . tmp14 , ( 3 , 1 , 0 , 2 ), ( 3 ,)) del tmp0 , ints . tmp14 r1new += einsum ( tmp1 , ( 0 , 1 , 2 ), ints . tmp1 , ( 3 , 1 , 0 , 2 ), ( 3 ,)) * 2 del ints . tmp1 , tmp1 r1new += einsum ( tmp3 , ( 0 , 1 , 2 ), tmp2 , ( 0 , 2 ), ( 1 ,)) * - 2 del tmp3 , tmp2 r1new += einsum ( tmp4 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . RDFCC2 . hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:53:08.828936. Parameters f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp1 : array tmp10 : array tmp12 : array tmp15 : array tmp20 : array tmp21 : array tmp23 : array tmp24 : array tmp33 : array tmp36 : array tmp37 : array tmp39 : array tmp45 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp50 : array tmp51 : array tmp53 : array tmp55 : array tmp56 : array tmp57 : array tmp58 : array tmp60 : array tmp61 : array tmp62 : array tmp64 : array tmp65 : array tmp68 : array tmp8 : array Source code in ebcc/codegen/RDFCC2.py 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 def hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:53:08.828936. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp1 : array tmp10 : array tmp12 : array tmp15 : array tmp20 : array tmp21 : array tmp23 : array tmp24 : array tmp33 : array tmp36 : array tmp37 : array tmp39 : array tmp45 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp50 : array tmp51 : array tmp53 : array tmp55 : array tmp56 : array tmp57 : array tmp58 : array tmp60 : array tmp61 : array tmp62 : array tmp64 : array tmp65 : array tmp68 : array tmp8 : array \"\"\" tmp15 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp20 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 2 ), ( 0 , 3 , 4 )) tmp1 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp23 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 3 ), ( 0 , 2 , 4 )) tmp38 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp46 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp4 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 1 , 2 ), ( 0 ,)) tmp9 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 3 , 1 , 0 )) tmp7 = einsum ( t1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp68 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp65 = einsum ( tmp20 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) tmp64 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 3 , 1 )) tmp62 = einsum ( tmp23 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) tmp61 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp60 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) tmp58 = einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp57 = einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 )) tmp56 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp55 = einsum ( tmp46 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp53 = einsum ( tmp23 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp51 = einsum ( tmp20 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp50 = einsum ( tmp20 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp49 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp23 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp47 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp45 = einsum ( t1 , ( 0 , 1 ), f . vv , ( 2 , 1 ), ( 0 , 2 )) tmp39 = einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) del tmp38 tmp37 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp36 = einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) tmp33 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 5 , 3 , 1 )) tmp24 = einsum ( tmp23 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp21 = einsum ( tmp20 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp12 = einsum ( tmp4 , ( 0 ,), v . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp10 = einsum ( tmp9 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) del tmp9 tmp8 = einsum ( tmp7 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 3 , 1 )) del tmp7 tmp5 = einsum ( tmp4 , ( 0 ,), v . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp4 return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp12\" : tmp12 , f \"tmp15\" : tmp15 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp23\" : tmp23 , f \"tmp24\" : tmp24 , f \"tmp33\" : tmp33 , f \"tmp36\" : tmp36 , f \"tmp37\" : tmp37 , f \"tmp39\" : tmp39 , f \"tmp45\" : tmp45 , f \"tmp46\" : tmp46 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp50\" : tmp50 , f \"tmp51\" : tmp51 , f \"tmp53\" : tmp53 , f \"tmp55\" : tmp55 , f \"tmp56\" : tmp56 , f \"tmp57\" : tmp57 , f \"tmp58\" : tmp58 , f \"tmp60\" : tmp60 , f \"tmp61\" : tmp61 , f \"tmp62\" : tmp62 , f \"tmp64\" : tmp64 , f \"tmp65\" : tmp65 , f \"tmp68\" : tmp68 , f \"tmp8\" : tmp8 } ebcc . codegen . RDFCC2 . 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-17T20:53:08.849462. 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. Source code in ebcc/codegen/RDFCC2.py 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 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-17T20:53:08.849462. 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\" ] tmp4 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 0.5 tmp4 += np . transpose ( r2 , ( 2 , 1 , 0 )) tmp2 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * 2 tmp2 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 1 tmp13 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 0 , 2 ), ( 2 , 1 )) tmp5 = einsum ( tmp4 , ( 0 , 1 , 2 ), ints . tmp15 , ( 0 , 3 , 2 , 1 ), ( 3 ,)) * 2 del tmp4 tmp1 = np . copy ( f . ov ) tmp1 += ints . tmp12 * 2 del ints . tmp12 tmp1 += ints . tmp10 * - 1 del ints . tmp10 tmp10 = einsum ( tmp2 , ( 0 , 1 , 2 ), v . xov , ( 3 , 0 , 1 ), ( 2 , 3 )) * 0.5 tmp8 = np . copy ( ints . tmp37 ) * 0.5 tmp8 += ints . tmp68 tmp8 += ints . tmp36 * - 0.5 tmp12 = np . copy ( ints . tmp1 ) tmp12 += np . transpose ( ints . tmp39 , ( 0 , 2 , 3 , 1 )) del ints . tmp39 tmp12 += np . transpose ( ints . tmp62 , ( 0 , 3 , 2 , 1 )) * 2 del ints . tmp62 tmp12 += ints . tmp33 * - 1 del ints . tmp33 tmp12 += np . transpose ( ints . tmp64 , ( 0 , 3 , 2 , 1 )) * - 1 del ints . tmp64 tmp12 += np . transpose ( ints . tmp65 , ( 0 , 3 , 2 , 1 )) * - 1 del ints . tmp65 tmp14 = np . copy ( np . transpose ( ints . tmp24 , ( 1 , 0 ))) * 2 tmp14 += f . vv * - 1 tmp14 += np . transpose ( ints . tmp21 , ( 1 , 0 )) * - 1 tmp14 += tmp13 del tmp13 tmp9 = np . copy ( ints . tmp36 ) del ints . tmp36 tmp9 += ints . tmp37 * - 1 del ints . tmp37 tmp15 = np . copy ( f . oo ) tmp15 += ints . tmp46 del ints . tmp46 tmp15 += np . transpose ( ints . tmp53 , ( 1 , 0 )) * 2 del ints . tmp53 tmp15 += np . transpose ( ints . tmp51 , ( 1 , 0 )) * - 1 del ints . tmp51 tmp7 = einsum ( ints . tmp15 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 2 , 4 ), ( 0 , 1 , 4 )) del ints . tmp15 tmp17 = np . copy ( f . ov ) tmp17 += ints . tmp45 del ints . tmp45 tmp17 += ints . tmp49 * 2 del ints . tmp49 tmp17 += ints . tmp57 del ints . tmp57 tmp17 += ints . tmp61 * 2 del ints . tmp61 tmp17 += ints . tmp50 * - 1 del ints . tmp50 tmp17 += ints . tmp55 * - 1 del ints . tmp55 tmp17 += ints . tmp56 * - 1 del ints . tmp56 tmp17 += ints . tmp58 * - 2 del ints . tmp58 tmp17 += ints . tmp60 * - 1 del ints . tmp60 tmp11 = np . copy ( ints . tmp23 ) * 2 del ints . tmp23 tmp11 += np . transpose ( v . xov , ( 1 , 2 , 0 )) tmp11 += ints . tmp20 * - 1 del ints . tmp20 tmp16 = einsum ( r1 , ( 0 ,), f . ov , ( 1 , 0 ), ( 1 ,)) tmp16 += tmp5 * - 1 tmp6 = np . copy ( tmp5 ) * - 1 del tmp5 tmp6 += einsum ( r1 , ( 0 ,), tmp1 , ( 1 , 0 ), ( 1 ,)) tmp3 = np . copy ( f . vv ) tmp3 += np . transpose ( ints . tmp21 , ( 1 , 0 )) del ints . tmp21 tmp3 += np . transpose ( ints . tmp5 , ( 1 , 0 )) * 2 del ints . tmp5 tmp3 += np . transpose ( ints . tmp24 , ( 1 , 0 )) * - 2 del ints . tmp24 tmp3 += ints . tmp8 * - 1 del ints . tmp8 tmp0 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp0 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 0.5 r2new = einsum ( ints . tmp47 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 3 , 4 ), ( 2 , 0 , 4 )) del ints . tmp47 r2new += einsum ( ints . tmp68 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 3 , 1 ), ( 2 , 4 , 0 )) del ints . tmp68 r2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 1 , 4 ), ( 3 , 2 , 4 )) del tmp7 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp8 , ( 3 , 2 , 4 , 0 ), ( 4 , 1 , 3 )) * - 2 del tmp8 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp9 , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) del tmp9 r2new += einsum ( tmp10 , ( 0 , 1 ), tmp11 , ( 2 , 3 , 1 ), ( 3 , 0 , 2 )) * 2 del tmp10 , tmp11 r2new += einsum ( r1 , ( 0 ,), tmp12 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del tmp12 r2new += einsum ( tmp14 , ( 0 , 1 ), r2 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new += einsum ( tmp14 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp14 r2new += einsum ( tmp15 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp15 r2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 1 ,), ( 2 , 3 , 0 )) del tmp16 r2new += einsum ( tmp17 , ( 0 , 1 ), r1 , ( 2 ,), ( 1 , 2 , 0 )) * - 1 del tmp17 r1new = einsum ( ints . tmp1 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 0 , 3 , 2 ), ( 1 ,)) * - 2 del ints . tmp1 , tmp0 r1new += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp1 , ( 0 , 1 ), ( 2 ,)) * - 1 del tmp2 , tmp1 r1new += einsum ( r1 , ( 0 ,), tmp3 , ( 0 , 1 ), ( 1 ,)) del tmp3 r1new += einsum ( t1 , ( 0 , 1 ), tmp6 , ( 0 ,), ( 1 ,)) * - 1 del tmp6 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . RDFCC2 . hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:53:55.872998. Parameters f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp1 : array tmp10 : array tmp101 : array tmp102 : array tmp103 : array tmp106 : array tmp107 : array tmp109 : array tmp111 : array tmp115 : array tmp117 : array tmp120 : array tmp123 : array tmp125 : array tmp128 : array tmp130 : array tmp134 : array tmp139 : array tmp14 : array tmp141 : array tmp142 : array tmp16 : array tmp161 : array tmp163 : array tmp18 : array tmp19 : array tmp2 : array tmp22 : array tmp26 : array tmp28 : array tmp3 : array tmp30 : array tmp32 : array tmp33 : array tmp35 : array tmp36 : array tmp38 : array tmp4 : array tmp41 : array tmp44 : array tmp46 : array tmp48 : array tmp50 : array tmp52 : array tmp55 : array tmp59 : array tmp6 : array tmp63 : array tmp65 : array tmp68 : array tmp71 : array tmp74 : array tmp77 : array tmp80 : array tmp83 : array tmp86 : array tmp88 : array tmp9 : array tmp91 : array tmp93 : array tmp95 : array tmp98 : array Source code in ebcc/codegen/RDFCC2.py 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 def hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:53:55.872998. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp10 : array tmp101 : array tmp102 : array tmp103 : array tmp106 : array tmp107 : array tmp109 : array tmp111 : array tmp115 : array tmp117 : array tmp120 : array tmp123 : array tmp125 : array tmp128 : array tmp130 : array tmp134 : array tmp139 : array tmp14 : array tmp141 : array tmp142 : array tmp16 : array tmp161 : array tmp163 : array tmp18 : array tmp19 : array tmp2 : array tmp22 : array tmp26 : array tmp28 : array tmp3 : array tmp30 : array tmp32 : array tmp33 : array tmp35 : array tmp36 : array tmp38 : array tmp4 : array tmp41 : array tmp44 : array tmp46 : array tmp48 : array tmp50 : array tmp52 : array tmp55 : array tmp59 : array tmp6 : array tmp63 : array tmp65 : array tmp68 : array tmp71 : array tmp74 : array tmp77 : array tmp80 : array tmp83 : array tmp86 : array tmp88 : array tmp9 : array tmp91 : array tmp93 : array tmp95 : array tmp98 : array \"\"\" tmp15 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 1 , 2 ), ( 0 ,)) tmp13 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 3 , 1 , 0 )) tmp22 = einsum ( tmp15 , ( 0 ,), v . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp62 = einsum ( tmp13 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp101 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp32 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 2 ), ( 0 , 3 , 4 )) tmp35 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 3 ), ( 0 , 2 , 4 )) tmp133 = einsum ( tmp13 , ( 0 , 1 , 2 ), tmp13 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp107 = einsum ( tmp22 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp106 = einsum ( tmp62 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp25 = einsum ( t1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp119 = einsum ( tmp15 , ( 0 ,), v . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp114 = einsum ( tmp13 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp16 = einsum ( tmp15 , ( 0 ,), v . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp15 tmp14 = einsum ( tmp13 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) tmp102 = einsum ( tmp101 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 1 , 0 )) tmp33 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp36 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp35 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp28 = einsum ( tmp13 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) tmp58 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp10 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp18 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp0 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp163 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp35 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp161 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp32 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp142 = einsum ( tmp101 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp141 = einsum ( tmp101 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) tmp139 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp134 = einsum ( t1 , ( 0 , 1 ), tmp133 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) del tmp133 tmp130 = einsum ( tmp107 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp128 = einsum ( tmp106 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp125 = einsum ( tmp13 , ( 0 , 1 , 2 ), tmp25 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp123 = einsum ( tmp25 , ( 0 , 1 , 2 ), tmp13 , ( 3 , 0 , 2 ), ( 3 , 1 )) tmp120 = einsum ( t1 , ( 0 , 1 ), tmp119 , ( 2 , 1 ), ( 0 , 2 )) del tmp119 tmp117 = einsum ( t1 , ( 0 , 1 ), tmp114 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp115 = einsum ( t1 , ( 0 , 1 ), tmp114 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp114 tmp111 = einsum ( tmp16 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp109 = einsum ( tmp14 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp103 = einsum ( tmp102 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp98 = einsum ( tmp33 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp95 = einsum ( t1 , ( 0 , 1 ), tmp36 , ( 2 , 0 ), ( 2 , 1 )) tmp93 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp28 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp91 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp28 , ( 4 , 5 , 1 , 2 ), ( 4 , 0 , 5 , 3 )) tmp88 = einsum ( tmp13 , ( 0 , 1 , 2 ), tmp35 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp86 = einsum ( tmp13 , ( 0 , 1 , 2 ), tmp32 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) del tmp13 tmp83 = einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp80 = einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp77 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp22 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp74 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp62 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp71 = einsum ( tmp22 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp68 = einsum ( tmp22 , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) tmp65 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp62 , ( 1 , 3 ), ( 0 , 2 )) tmp63 = einsum ( tmp62 , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) del tmp62 tmp59 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp58 , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) del tmp58 tmp55 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp52 = einsum ( tmp35 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp50 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp35 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp48 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp32 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp46 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp44 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 1 , 4 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) tmp41 = einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp38 = einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) tmp30 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp25 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp26 = einsum ( tmp25 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) del tmp25 tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 3 , 0 , 2 , 4 )) tmp9 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp6 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp3 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) tmp2 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp101\" : tmp101 , f \"tmp102\" : tmp102 , f \"tmp103\" : tmp103 , f \"tmp106\" : tmp106 , f \"tmp107\" : tmp107 , f \"tmp109\" : tmp109 , f \"tmp111\" : tmp111 , f \"tmp115\" : tmp115 , f \"tmp117\" : tmp117 , f \"tmp120\" : tmp120 , f \"tmp123\" : tmp123 , f \"tmp125\" : tmp125 , f \"tmp128\" : tmp128 , f \"tmp130\" : tmp130 , f \"tmp134\" : tmp134 , f \"tmp139\" : tmp139 , f \"tmp14\" : tmp14 , f \"tmp141\" : tmp141 , f \"tmp142\" : tmp142 , f \"tmp16\" : tmp16 , f \"tmp161\" : tmp161 , f \"tmp163\" : tmp163 , f \"tmp18\" : tmp18 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp22\" : tmp22 , f \"tmp26\" : tmp26 , f \"tmp28\" : tmp28 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp35\" : tmp35 , f \"tmp36\" : tmp36 , f \"tmp38\" : tmp38 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp44\" : tmp44 , f \"tmp46\" : tmp46 , f \"tmp48\" : tmp48 , f \"tmp50\" : tmp50 , f \"tmp52\" : tmp52 , f \"tmp55\" : tmp55 , f \"tmp59\" : tmp59 , f \"tmp6\" : tmp6 , f \"tmp63\" : tmp63 , f \"tmp65\" : tmp65 , f \"tmp68\" : tmp68 , f \"tmp71\" : tmp71 , f \"tmp74\" : tmp74 , f \"tmp77\" : tmp77 , f \"tmp80\" : tmp80 , f \"tmp83\" : tmp83 , f \"tmp86\" : tmp86 , f \"tmp88\" : tmp88 , f \"tmp9\" : tmp9 , f \"tmp91\" : tmp91 , f \"tmp93\" : tmp93 , f \"tmp95\" : tmp95 , f \"tmp98\" : tmp98 } ebcc . codegen . RDFCC2 . hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:53:55.905303. 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. Source code in ebcc/codegen/RDFCC2.py 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:53:55.905303. 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\" ] tmp0 = np . copy ( r2 ) tmp0 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 0.5 tmp9 = np . copy ( ints . tmp35 ) * 2 del ints . tmp35 tmp9 += np . transpose ( v . xov , ( 1 , 2 , 0 )) tmp9 += ints . tmp32 * - 1 del ints . tmp32 tmp12 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp12 += t2 tmp10 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp9 , ( 0 , 2 , 3 ), ( 1 , 3 )) * 2 del tmp9 tmp8 = np . copy ( ints . tmp139 ) tmp8 += ints . tmp141 * - 1 tmp13 = einsum ( r2 , ( 0 , 1 , 2 ), tmp12 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) del tmp12 tmp14 = np . copy ( f . oo ) tmp14 += np . transpose ( ints . tmp0 , ( 1 , 0 )) tmp14 += ints . tmp36 * 2 tmp14 += ints . tmp33 * - 1 tmp7 = np . copy ( ints . tmp139 ) * 0.5 del ints . tmp139 tmp7 += ints . tmp142 tmp7 += ints . tmp141 * - 0.5 del ints . tmp141 tmp11 = np . copy ( ints . tmp163 ) * 2 del ints . tmp163 tmp11 += f . vv * - 1 tmp11 += ints . tmp161 * - 1 del ints . tmp161 tmp11 += einsum ( f . ov , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 2 , 1 )) tmp5 = np . copy ( r2 ) * 2 tmp5 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 1 tmp2 = np . copy ( r2 ) * - 1 tmp2 += np . transpose ( r2 , ( 1 , 0 , 2 )) * 2 tmp6 = np . copy ( f . oo ) tmp6 += np . transpose ( ints . tmp0 , ( 1 , 0 )) del ints . tmp0 tmp6 += ints . tmp107 * 2 del ints . tmp107 tmp6 += np . transpose ( ints . tmp16 , ( 1 , 0 )) * 2 del ints . tmp16 tmp6 += ints . tmp36 * 2 del ints . tmp36 tmp6 += ints . tmp106 * - 1 del ints . tmp106 tmp6 += ints . tmp14 * - 1 del ints . tmp14 tmp6 += ints . tmp33 * - 1 del ints . tmp33 tmp3 = np . copy ( ints . tmp117 ) del ints . tmp117 tmp3 += np . transpose ( ints . tmp46 , ( 0 , 2 , 1 , 3 )) del ints . tmp46 tmp3 += np . transpose ( ints . tmp48 , ( 0 , 2 , 1 , 3 )) del ints . tmp48 tmp3 += np . transpose ( ints . tmp74 , ( 0 , 2 , 1 , 3 )) del ints . tmp74 tmp3 += np . transpose ( ints . tmp91 , ( 0 , 2 , 1 , 3 )) del ints . tmp91 tmp3 += ints . tmp30 * - 1 del ints . tmp30 tmp3 += np . transpose ( ints . tmp50 , ( 0 , 2 , 1 , 3 )) * - 2 del ints . tmp50 tmp3 += np . transpose ( ints . tmp6 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp6 tmp3 += np . transpose ( ints . tmp77 , ( 0 , 2 , 1 , 3 )) * - 2 del ints . tmp77 tmp4 = np . copy ( ints . tmp111 ) * 2 del ints . tmp111 tmp4 += ints . tmp123 del ints . tmp123 tmp4 += ints . tmp130 * 2 del ints . tmp130 tmp4 += ints . tmp1 del ints . tmp1 tmp4 += ints . tmp26 del ints . tmp26 tmp4 += ints . tmp3 del ints . tmp3 tmp4 += ints . tmp41 * 2 del ints . tmp41 tmp4 += ints . tmp55 del ints . tmp55 tmp4 += ints . tmp65 * 2 del ints . tmp65 tmp4 += ints . tmp68 * 2 del ints . tmp68 tmp4 += ints . tmp80 * 2 del ints . tmp80 tmp4 += ints . tmp95 * 2 del ints . tmp95 tmp4 += ints . tmp9 del ints . tmp9 tmp4 += f . ov * - 1 tmp4 += ints . tmp109 * - 1 del ints . tmp109 tmp4 += ints . tmp120 * - 2 del ints . tmp120 tmp4 += ints . tmp128 * - 1 del ints . tmp128 tmp4 += ints . tmp22 * - 2 del ints . tmp22 tmp4 += ints . tmp2 * - 1 del ints . tmp2 tmp4 += ints . tmp38 * - 1 del ints . tmp38 tmp4 += ints . tmp4 * - 2 del ints . tmp4 tmp4 += ints . tmp52 * - 2 del ints . tmp52 tmp4 += ints . tmp63 * - 1 del ints . tmp63 tmp4 += ints . tmp71 * - 4 del ints . tmp71 tmp4 += ints . tmp83 * - 1 del ints . tmp83 tmp4 += ints . tmp98 * - 1 del ints . tmp98 tmp1 = np . copy ( ints . tmp103 ) del ints . tmp103 tmp1 += ints . tmp115 del ints . tmp115 tmp1 += ints . tmp134 del ints . tmp134 tmp1 += np . transpose ( ints . tmp19 , ( 0 , 2 , 1 , 3 )) del ints . tmp19 tmp1 += ints . tmp44 del ints . tmp44 tmp1 += ints . tmp86 del ints . tmp86 tmp1 += ints . tmp93 del ints . tmp93 tmp1 += np . transpose ( ints . tmp10 , ( 1 , 2 , 0 , 3 )) * - 1 tmp1 += ints . tmp125 * - 1 del ints . tmp125 tmp1 += ints . tmp28 * - 1 del ints . tmp28 tmp1 += ints . tmp59 * - 1 del ints . tmp59 tmp1 += ints . tmp88 * - 2 del ints . tmp88 r2new = einsum ( r1 , ( 0 ,), ints . tmp10 , ( 1 , 0 , 2 , 3 ), ( 2 , 1 , 3 )) del ints . tmp10 r2new += einsum ( ints . tmp18 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 ), ( 1 , 0 , 4 )) del ints . tmp18 r2new += einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp102 , ( 1 , 0 , 3 , 4 ), ( 4 , 3 , 2 )) del ints . tmp102 r2new += einsum ( r1 , ( 0 ,), f . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 r2new += einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp142 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) del ints . tmp142 r2new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) * - 2 del tmp7 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp8 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * - 1 del tmp8 r2new += einsum ( v . xov , ( 0 , 1 , 2 ), tmp10 , ( 3 , 0 ), ( 1 , 3 , 2 )) del tmp10 r2new += einsum ( tmp11 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp11 r2new += einsum ( ints . tmp101 , ( 0 , 1 , 2 , 3 ), tmp13 , ( 3 ,), ( 0 , 1 , 2 )) * - 2 del ints . tmp101 , tmp13 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp14 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new += einsum ( tmp14 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp14 r1new = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 1 , 0 , 3 ), ( 2 ,)) * - 2 del tmp0 , tmp1 r1new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 2 , 0 , 3 ), ( 1 ,)) * - 1 del tmp3 , tmp2 r1new += einsum ( tmp4 , ( 0 , 1 ), tmp5 , ( 0 , 2 , 1 ), ( 2 ,)) del tmp4 , tmp5 r1new += einsum ( tmp6 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) * - 1 del tmp6 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . RDFCC2 . hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:54:43.896678. Parameters f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp1 : array tmp10 : array tmp100 : array tmp102 : array tmp105 : array tmp107 : array tmp11 : array tmp111 : array tmp114 : array tmp12 : array tmp120 : array tmp123 : array tmp125 : array tmp127 : array tmp130 : array tmp133 : array tmp152 : array tmp16 : array tmp19 : array tmp2 : array tmp20 : array tmp23 : array tmp25 : array tmp29 : array tmp3 : array tmp31 : array tmp34 : array tmp35 : array tmp37 : array tmp38 : array tmp4 : array tmp40 : array tmp41 : array tmp44 : array tmp47 : array tmp50 : array tmp53 : array tmp56 : array tmp58 : array tmp61 : array tmp63 : array tmp66 : array tmp67 : array tmp69 : array tmp72 : array tmp75 : array tmp82 : array tmp83 : array tmp86 : array tmp89 : array tmp92 : array tmp93 : array tmp96 : array tmp97 : array Source code in ebcc/codegen/RDFCC2.py 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 def hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:54:43.896678. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp1 : array tmp10 : array tmp100 : array tmp102 : array tmp105 : array tmp107 : array tmp11 : array tmp111 : array tmp114 : array tmp12 : array tmp120 : array tmp123 : array tmp125 : array tmp127 : array tmp130 : array tmp133 : array tmp152 : array tmp16 : array tmp19 : array tmp2 : array tmp20 : array tmp23 : array tmp25 : array tmp29 : array tmp3 : array tmp31 : array tmp34 : array tmp35 : array tmp37 : array tmp38 : array tmp4 : array tmp40 : array tmp41 : array tmp44 : array tmp47 : array tmp50 : array tmp53 : array tmp56 : array tmp58 : array tmp61 : array tmp63 : array tmp66 : array tmp67 : array tmp69 : array tmp72 : array tmp75 : array tmp82 : array tmp83 : array tmp86 : array tmp89 : array tmp92 : array tmp93 : array tmp96 : array tmp97 : array \"\"\" tmp15 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 1 , 2 ), ( 0 ,)) tmp65 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 3 , 1 , 0 )) tmp20 = einsum ( tmp15 , ( 0 ,), v . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp66 = einsum ( tmp65 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp34 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 2 ), ( 0 , 3 , 4 )) tmp37 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 3 ), ( 0 , 2 , 4 )) tmp132 = einsum ( t1 , ( 0 , 1 ), tmp20 , ( 2 , 1 ), ( 0 , 2 )) tmp129 = einsum ( tmp66 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp18 = einsum ( t1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp16 = einsum ( tmp15 , ( 0 ,), v . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp113 = einsum ( tmp15 , ( 0 ,), v . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp15 tmp110 = einsum ( tmp65 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) tmp25 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp96 = einsum ( tmp34 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp92 = einsum ( tmp37 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp82 = einsum ( tmp65 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) tmp12 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp40 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp10 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp152 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp133 = einsum ( tmp132 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) del tmp132 tmp130 = einsum ( tmp129 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) del tmp129 tmp127 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp18 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp125 = einsum ( tmp65 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) tmp123 = einsum ( tmp18 , ( 0 , 1 , 2 ), tmp65 , ( 3 , 0 , 2 ), ( 3 , 1 )) del tmp65 tmp120 = einsum ( tmp16 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp114 = einsum ( tmp113 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) del tmp113 tmp111 = einsum ( tmp110 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) del tmp110 tmp107 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp25 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp105 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) tmp102 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp37 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) tmp100 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp34 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) tmp97 = einsum ( tmp96 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp93 = einsum ( tmp92 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp89 = einsum ( tmp82 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp86 = einsum ( tmp82 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp83 = einsum ( tmp82 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp75 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 1 , 3 ), ( 0 , 2 )) tmp72 = einsum ( tmp20 , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) tmp69 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp66 , ( 1 , 3 ), ( 0 , 2 )) tmp67 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp66 , ( 1 , 2 ), ( 0 , 3 )) tmp63 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 3 , 1 )) tmp61 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 5 , 3 , 1 )) tmp58 = einsum ( tmp37 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) tmp56 = einsum ( tmp34 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) tmp53 = einsum ( tmp34 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp50 = einsum ( tmp37 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp47 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp44 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp41 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) tmp38 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp37 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp35 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp34 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp31 = einsum ( tmp18 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp29 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp23 = einsum ( tmp18 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) tmp19 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp18 , ( 1 , 3 , 0 ), ( 2 , 3 )) del tmp18 tmp11 = einsum ( tmp10 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp3 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) tmp2 = einsum ( t1 , ( 0 , 1 ), f . vv , ( 2 , 1 ), ( 0 , 2 )) tmp1 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp102\" : tmp102 , f \"tmp105\" : tmp105 , f \"tmp107\" : tmp107 , f \"tmp11\" : tmp11 , f \"tmp111\" : tmp111 , f \"tmp114\" : tmp114 , f \"tmp12\" : tmp12 , f \"tmp120\" : tmp120 , f \"tmp123\" : tmp123 , f \"tmp125\" : tmp125 , f \"tmp127\" : tmp127 , f \"tmp130\" : tmp130 , f \"tmp133\" : tmp133 , f \"tmp152\" : tmp152 , f \"tmp16\" : tmp16 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp23\" : tmp23 , f \"tmp25\" : tmp25 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp31\" : tmp31 , f \"tmp34\" : tmp34 , f \"tmp35\" : tmp35 , f \"tmp37\" : tmp37 , f \"tmp38\" : tmp38 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp41\" : tmp41 , f \"tmp44\" : tmp44 , f \"tmp47\" : tmp47 , f \"tmp50\" : tmp50 , f \"tmp53\" : tmp53 , f \"tmp56\" : tmp56 , f \"tmp58\" : tmp58 , f \"tmp61\" : tmp61 , f \"tmp63\" : tmp63 , f \"tmp66\" : tmp66 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp72\" : tmp72 , f \"tmp75\" : tmp75 , f \"tmp82\" : tmp82 , f \"tmp83\" : tmp83 , f \"tmp86\" : tmp86 , f \"tmp89\" : tmp89 , f \"tmp92\" : tmp92 , f \"tmp93\" : tmp93 , f \"tmp96\" : tmp96 , f \"tmp97\" : tmp97 } ebcc . codegen . RDFCC2 . hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:54:43.926697. 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. Source code in ebcc/codegen/RDFCC2.py 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:54:43.926697. 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\" ] tmp11 = einsum ( t1 , ( 0 , 1 ), r2 , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp0 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp0 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 0.5 tmp22 = np . copy ( ints . tmp37 ) * 2 del ints . tmp37 tmp22 += np . transpose ( v . xov , ( 1 , 2 , 0 )) tmp22 += ints . tmp34 * - 1 del ints . tmp34 tmp27 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp27 += t2 * - 0.5 tmp24 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 0 , 2 ), ( 2 , 1 )) tmp12 = einsum ( tmp11 , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 0 , 3 , 1 )) del tmp11 tmp6 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 0.5 tmp6 += np . transpose ( r2 , ( 2 , 1 , 0 )) tmp16 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp16 += t2 * - 1 tmp19 = einsum ( r2 , ( 0 , 1 , 2 ), t2 , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp21 = np . copy ( ints . tmp105 ) tmp21 += ints . tmp29 * - 1 tmp23 = einsum ( tmp22 , ( 0 , 1 , 2 ), tmp0 , ( 0 , 1 , 3 ), ( 3 , 2 )) * 2 del tmp22 tmp28 = einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 2 , 0 ), ( 1 ,)) del tmp27 tmp20 = np . copy ( ints . tmp107 ) tmp20 += ints . tmp29 * 0.5 tmp20 += ints . tmp105 * - 0.5 tmp26 = np . copy ( f . oo ) tmp26 += np . transpose ( ints . tmp10 , ( 1 , 0 )) del ints . tmp10 tmp26 += ints . tmp92 * 2 del ints . tmp92 tmp26 += ints . tmp96 * - 1 del ints . tmp96 tmp25 = np . copy ( ints . tmp38 ) * 2 tmp25 += f . vv * - 1 tmp25 += ints . tmp35 * - 1 tmp25 += np . transpose ( tmp24 , ( 1 , 0 )) del tmp24 tmp5 = np . copy ( np . transpose ( ints . tmp125 , ( 0 , 1 , 3 , 2 ))) del ints . tmp125 tmp5 += np . transpose ( ints . tmp29 , ( 0 , 1 , 3 , 2 )) del ints . tmp29 tmp5 += ints . tmp105 * - 1 del ints . tmp105 tmp2 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 1 tmp2 += np . transpose ( r2 , ( 2 , 1 , 0 )) * 2 tmp10 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * 2 tmp10 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 1 tmp8 = np . copy ( ints . tmp102 ) * 2 del ints . tmp102 tmp8 += np . transpose ( ints . tmp127 , ( 0 , 1 , 3 , 2 )) del ints . tmp127 tmp8 += ints . tmp25 tmp8 += ints . tmp100 * - 1 del ints . tmp100 tmp8 += ints . tmp107 * - 1 tmp13 = np . copy ( tmp12 ) * - 0.5 tmp13 += np . transpose ( tmp12 , ( 0 , 2 , 1 )) tmp14 = np . copy ( tmp12 ) * 2 tmp14 += np . transpose ( tmp12 , ( 0 , 2 , 1 )) * - 1 del tmp12 tmp9 = np . copy ( ints . tmp114 ) * 2 del ints . tmp114 tmp9 += ints . tmp11 del ints . tmp11 tmp9 += ints . tmp123 del ints . tmp123 tmp9 += ints . tmp133 * 2 del ints . tmp133 tmp9 += ints . tmp1 del ints . tmp1 tmp9 += ints . tmp23 del ints . tmp23 tmp9 += ints . tmp3 del ints . tmp3 tmp9 += ints . tmp44 * 2 del ints . tmp44 tmp9 += ints . tmp53 del ints . tmp53 tmp9 += ints . tmp69 * 2 del ints . tmp69 tmp9 += ints . tmp72 * 2 del ints . tmp72 tmp9 += ints . tmp83 * 2 del ints . tmp83 tmp9 += ints . tmp93 * 2 del ints . tmp93 tmp9 += f . ov * - 1 tmp9 += ints . tmp111 * - 1 del ints . tmp111 tmp9 += ints . tmp120 * - 2 del ints . tmp120 tmp9 += ints . tmp130 * - 1 del ints . tmp130 tmp9 += ints . tmp20 * - 2 tmp9 += ints . tmp2 * - 1 del ints . tmp2 tmp9 += ints . tmp41 * - 1 del ints . tmp41 tmp9 += ints . tmp4 * - 2 del ints . tmp4 tmp9 += ints . tmp50 * - 2 del ints . tmp50 tmp9 += ints . tmp67 * - 1 del ints . tmp67 tmp9 += ints . tmp75 * - 4 del ints . tmp75 tmp9 += ints . tmp86 * - 1 del ints . tmp86 tmp9 += ints . tmp97 * - 1 del ints . tmp97 tmp15 = np . copy ( f . vv ) tmp15 += np . transpose ( ints . tmp16 , ( 1 , 0 )) * 2 del ints . tmp16 tmp15 += ints . tmp35 del ints . tmp35 tmp15 += np . transpose ( ints . tmp19 , ( 1 , 0 )) * - 1 del ints . tmp19 tmp15 += ints . tmp38 * - 2 del ints . tmp38 tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 ), t1 , ( 3 , 1 ), ( 0 , 3 , 2 )) * 2 del tmp6 tmp3 = np . copy ( ints . tmp47 ) del ints . tmp47 tmp3 += ints . tmp58 * 2 del ints . tmp58 tmp3 += ints . tmp56 * - 1 del ints . tmp56 tmp3 += np . transpose ( ints . tmp63 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp63 tmp4 = einsum ( tmp0 , ( 0 , 1 , 2 ), t1 , ( 3 , 1 ), ( 0 , 3 , 2 )) tmp18 = np . copy ( f . ov ) tmp18 += ints . tmp20 * 2 del ints . tmp20 tmp18 += ints . tmp66 * - 1 del ints . tmp66 tmp17 = einsum ( r1 , ( 0 ,), t1 , ( 1 , 0 ), ( 1 ,)) * 0.5 tmp17 += einsum ( r2 , ( 0 , 1 , 2 ), tmp16 , ( 2 , 3 , 1 , 0 ), ( 3 ,)) * - 0.5 del tmp16 tmp1 = np . copy ( ints . tmp12 ) tmp1 += ints . tmp31 del ints . tmp31 tmp1 += np . transpose ( ints . tmp89 , ( 0 , 3 , 1 , 2 )) del ints . tmp89 tmp1 += np . transpose ( ints . tmp61 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp61 r2new = einsum ( r1 , ( 0 ,), ints . tmp12 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del ints . tmp12 r2new += einsum ( r1 , ( 0 ,), f . ov , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new += einsum ( ints . tmp152 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 ), ( 1 , 0 , 4 )) del ints . tmp152 r2new += einsum ( ints . tmp107 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 0 ), ( 3 , 4 , 1 )) del ints . tmp107 r2new += einsum ( tmp19 , ( 0 , 1 , 2 ), ints . tmp25 , ( 2 , 1 , 3 , 4 ), ( 4 , 3 , 0 )) del tmp19 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp20 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 , 3 )) * - 2 del tmp20 r2new += einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) del tmp21 r2new += einsum ( tmp23 , ( 0 , 1 ), v . xov , ( 1 , 2 , 3 ), ( 3 , 0 , 2 )) del tmp23 r2new += einsum ( tmp25 , ( 0 , 1 ), r2 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new += einsum ( tmp25 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp25 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp26 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp26 r2new += einsum ( ints . tmp25 , ( 0 , 1 , 2 , 3 ), tmp28 , ( 0 ,), ( 3 , 2 , 1 )) * - 2 del ints . tmp25 , tmp28 r1new = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp1 , ( 0 , 3 , 2 , 1 ), ( 3 ,)) * - 2 del tmp0 , tmp1 r1new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 2 , 1 ), ( 3 ,)) * - 1 del tmp3 , tmp2 r1new += einsum ( tmp4 , ( 0 , 1 , 2 ), tmp5 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * 2 del tmp4 , tmp5 r1new += einsum ( tmp7 , ( 0 , 1 , 2 ), tmp8 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) del tmp7 , tmp8 r1new += einsum ( tmp10 , ( 0 , 1 , 2 ), tmp9 , ( 0 , 1 ), ( 2 ,)) del tmp10 , tmp9 r1new += einsum ( ints . tmp82 , ( 0 , 1 , 2 , 3 ), tmp13 , ( 0 , 1 , 2 ), ( 3 ,)) * - 2 del ints . tmp82 , tmp13 r1new += einsum ( ints . tmp40 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 0 , 1 , 2 ), ( 3 ,)) * - 1 del ints . tmp40 , tmp14 r1new += einsum ( tmp15 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) del tmp15 r1new += einsum ( tmp17 , ( 0 ,), tmp18 , ( 0 , 1 ), ( 1 ,)) * - 2 del tmp17 , tmp18 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"RDFCC2"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.energy","text":"Code generated by albert 0.0.0 on 2024-08-17T20:51:01.367736.","title":"energy"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.energy--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/RDFCC2.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:01.367736. 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. \"\"\" tmp1 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp1 += t2 * 2 tmp0 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 1 , 2 ), ( 0 ,)) tmp3 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 3 , 1 , 0 )) tmp2 = einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 ,), ( 0 , 1 , 2 )) del tmp0 tmp2 += einsum ( v . xov , ( 0 , 1 , 2 ), tmp1 , ( 1 , 3 , 2 , 4 ), ( 3 , 4 , 0 )) * 0.5 del tmp1 tmp4 = np . copy ( f . ov ) tmp4 += einsum ( tmp3 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) * - 0.5 del tmp3 e_cc = einsum ( tmp2 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 1 ), ()) * 2 del tmp2 e_cc += einsum ( tmp4 , ( 0 , 1 ), t1 , ( 0 , 1 ), ()) * 2 del tmp4 return e_cc","title":"Returns"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-17T20:51:07.385895.","title":"update_amps"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.update_amps--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.update_amps--returns","text":"t1new : array Updated T1 residuals. t2new : array Updated T2 residuals. Source code in ebcc/codegen/RDFCC2.py 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:07.385895. 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 ( v . xov , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 3 , 1 , 0 )) tmp6 = einsum ( t1 , ( 0 , 1 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 , 2 )) tmp26 = einsum ( tmp2 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp21 = np . copy ( np . transpose ( v . xoo , ( 1 , 2 , 0 ))) tmp21 += np . transpose ( tmp2 , ( 1 , 0 , 2 )) tmp15 = einsum ( t1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp29 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) * - 1 tmp29 += tmp6 tmp27 = einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp26 tmp16 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp18 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp0 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 1 , 2 ), ( 0 ,)) tmp5 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp5 += t2 * 2 tmp9 = einsum ( tmp2 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp22 = einsum ( tmp21 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp21 tmp34 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp34 += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp2 , ( 3 , 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp32 = einsum ( tmp2 , ( 0 , 1 , 2 ), tmp15 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 ), tmp15 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) del tmp29 tmp28 = einsum ( t1 , ( 0 , 1 ), tmp27 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp27 tmp25 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) del tmp16 tmp19 = einsum ( t1 , ( 0 , 1 ), tmp18 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp18 tmp1 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp0 , ( 0 ,), ( 1 , 2 )) tmp7 = einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 0.5 tmp7 += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 1 tmp7 += t2 * 0.5 tmp12 = np . copy ( tmp6 ) * - 1 tmp12 += einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 ,), ( 0 , 1 , 2 )) * 2 tmp12 += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 0 , 2 ), ( 1 , 3 , 4 )) tmp13 = np . copy ( f . ov ) tmp13 += tmp9 * - 1 tmp3 = np . copy ( np . transpose ( v . xoo , ( 1 , 2 , 0 ))) tmp3 += np . transpose ( tmp2 , ( 1 , 0 , 2 )) del tmp2 tmp24 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp23 = einsum ( t1 , ( 0 , 1 ), tmp22 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp22 tmp35 = einsum ( t1 , ( 0 , 1 ), tmp34 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) del tmp34 tmp33 = einsum ( t1 , ( 0 , 1 ), tmp32 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp32 tmp31 = np . copy ( tmp25 ) del tmp25 tmp31 += tmp28 del tmp28 tmp31 += np . transpose ( tmp30 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp30 tmp20 = np . copy ( tmp17 ) del tmp17 tmp20 += tmp19 del tmp19 tmp10 = np . copy ( f . ov ) tmp10 += tmp1 * 2 tmp10 += tmp9 * - 1 del tmp9 tmp8 = np . copy ( tmp6 ) * 0.5 del tmp6 tmp8 += einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 ,), ( 0 , 1 , 2 )) * - 1 tmp8 += einsum ( v . xov , ( 0 , 1 , 2 ), tmp7 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) del tmp7 tmp14 = np . copy ( f . oo ) tmp14 += einsum ( v . xoo , ( 0 , 1 , 2 ), tmp0 , ( 0 ,), ( 1 , 2 )) * 2 del tmp0 tmp14 += einsum ( tmp12 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 3 , 0 )) del tmp12 tmp14 += einsum ( t1 , ( 0 , 1 ), tmp13 , ( 2 , 1 ), ( 2 , 0 )) del tmp13 tmp4 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 1 , 3 , 0 , 4 )) del tmp3 tmp11 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp11 += t2 * 2 t2new = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) t2new += einsum ( tmp15 , ( 0 , 1 , 2 ), tmp15 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) del tmp15 t2new += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp20 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp20 t2new += np . transpose ( tmp23 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp23 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp23 t2new += np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp24 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp24 t2new += np . transpose ( tmp31 , ( 0 , 1 , 3 , 2 )) t2new += np . transpose ( tmp31 , ( 1 , 0 , 2 , 3 )) del tmp31 t2new += tmp33 * - 1 t2new += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp33 t2new += einsum ( tmp35 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp35 t1new = np . copy ( tmp1 ) * 2 del tmp1 t1new += f . ov t1new += einsum ( t1 , ( 0 , 1 ), f . vv , ( 2 , 1 ), ( 0 , 2 )) t1new += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 )) * - 1 del tmp5 , tmp4 t1new += einsum ( tmp8 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) * - 2 del tmp8 t1new += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 0 , 2 ), ( 1 , 3 )) del tmp11 , tmp10 t1new += einsum ( t1 , ( 0 , 1 ), tmp14 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp14 return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.update_lams","text":"Code generated by albert 0.0.0 on 2024-08-17T20:51:53.767891.","title":"update_lams"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.update_lams--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.update_lams--returns","text":"l1new : array Updated L1 residuals. l2new : array Updated L2 residuals. Source code in ebcc/codegen/RDFCC2.py 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 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-17T20:51:53.767891. 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. \"\"\" tmp12 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 1 , 2 ), ( 0 ,)) tmp4 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 3 , 1 , 0 )) tmp33 = einsum ( t1 , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp0 = einsum ( t1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp13 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp12 , ( 0 ,), ( 1 , 2 )) tmp14 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp6 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp98 = np . copy ( tmp33 ) * - 1 tmp98 += np . transpose ( tmp33 , ( 1 , 0 , 2 , 3 )) * 2 tmp94 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp94 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp93 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) tmp93 += tmp0 tmp96 = np . copy ( tmp33 ) * 2 tmp96 += np . transpose ( tmp33 , ( 1 , 0 , 2 , 3 )) * - 1 tmp102 = np . copy ( tmp13 ) * 2 tmp102 += tmp14 * - 1 tmp28 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp28 += t2 * - 0.5 tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 1 , 0 )) tmp8 = einsum ( tmp4 , ( 0 , 1 , 2 ), tmp4 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) tmp79 = np . copy ( np . transpose ( v . xoo , ( 1 , 2 , 0 ))) tmp79 += np . transpose ( tmp4 , ( 1 , 0 , 2 )) tmp50 = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 1 , 2 )) tmp99 = einsum ( tmp4 , ( 0 , 1 , 2 ), tmp98 , ( 0 , 3 , 1 , 4 ), ( 3 , 4 , 2 )) del tmp98 tmp95 = einsum ( tmp93 , ( 0 , 1 , 2 ), tmp94 , ( 0 , 3 , 1 , 4 ), ( 3 , 4 , 2 )) del tmp93 , tmp94 tmp97 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp96 , ( 3 , 1 , 2 , 4 ), ( 3 , 4 , 0 )) del tmp96 tmp62 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) tmp103 = einsum ( tmp102 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp51 = einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 0 , 4 ), ( 4 , 1 )) tmp20 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp20 += t2 * 2 tmp2 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp9 = np . copy ( tmp7 ) del tmp7 tmp9 += tmp8 tmp56 = einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 0 , 4 ), ( 4 , 1 )) * 2 tmp75 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp69 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp80 = einsum ( tmp79 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp79 tmp24 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp77 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) tmp72 = einsum ( l1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 0 ), ( 1 , 3 , 2 )) tmp109 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp50 , ( 3 , 1 ), ( 3 , 2 , 0 )) tmp100 = np . copy ( tmp95 ) del tmp95 tmp100 += tmp97 * - 1 del tmp97 tmp100 += tmp99 * - 1 del tmp99 tmp104 = np . copy ( tmp62 ) tmp104 += tmp103 * - 1 del tmp103 tmp65 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp12 , ( 0 ,), ( 1 , 2 )) tmp84 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp0 , ( 1 , 3 , 0 ), ( 2 , 3 )) tmp47 = einsum ( t1 , ( 0 , 1 ), tmp33 , ( 2 , 3 , 4 , 1 ), ( 3 , 2 , 4 , 0 )) tmp45 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp19 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp19 += t2 tmp52 = np . copy ( tmp50 ) * 0.5 tmp52 += tmp51 del tmp51 tmp39 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp39 += t2 * - 1 tmp21 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 0 , 2 ), ( 1 , 3 , 4 )) tmp42 = np . copy ( tmp33 ) * - 1 tmp42 += np . transpose ( tmp33 , ( 1 , 0 , 2 , 3 )) * 2 tmp43 = np . copy ( tmp33 ) tmp43 += np . transpose ( tmp33 , ( 1 , 0 , 2 , 3 )) * - 0.5 tmp41 = einsum ( l1 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp23 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp17 = np . copy ( np . transpose ( v . xoo , ( 1 , 2 , 0 ))) tmp17 += np . transpose ( tmp4 , ( 1 , 0 , 2 )) tmp5 = einsum ( tmp4 , ( 0 , 1 , 2 ), tmp0 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp3 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 0 , 1 )) tmp10 = einsum ( t1 , ( 0 , 1 ), tmp9 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * 2 del tmp9 tmp15 = np . copy ( tmp13 ) * 2 tmp15 += tmp14 * - 1 tmp57 = np . copy ( tmp50 ) del tmp50 tmp57 += tmp56 del tmp56 tmp76 = einsum ( tmp75 , ( 0 , 1 , 2 , 3 ), tmp33 , ( 1 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp71 = einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), f . ov , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp70 = einsum ( tmp69 , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) del tmp69 tmp68 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp81 = einsum ( tmp80 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 1 , 5 ), ( 5 , 0 , 4 , 2 )) tmp74 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp24 , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp78 = einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), tmp33 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp73 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp72 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) del tmp72 tmp108 = einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), l1 , ( 4 , 0 ), ( 1 , 2 , 4 , 3 )) tmp110 = einsum ( tmp109 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) del tmp109 tmp61 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp12 , ( 0 ,), ( 1 , 2 )) del tmp12 tmp90 = einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 2 , 4 , 3 , 5 ), ( 1 , 0 , 5 , 4 )) del tmp2 tmp88 = einsum ( tmp75 , ( 0 , 1 , 2 , 3 ), tmp33 , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp91 = einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), tmp33 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) del tmp77 tmp101 = einsum ( tmp100 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 4 , 1 )) del tmp100 tmp92 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp80 , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) del tmp80 tmp106 = einsum ( tmp102 , ( 0 , 1 ), tmp33 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp105 = einsum ( tmp104 , ( 0 , 1 ), l2 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 , 2 , 3 )) del tmp104 tmp89 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp65 , ( 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp85 = einsum ( tmp84 , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 2 , 0 )) del tmp84 tmp83 = einsum ( tmp75 , ( 0 , 1 , 2 , 3 ), l1 , ( 4 , 1 ), ( 0 , 2 , 4 , 3 )) del tmp75 tmp63 = np . copy ( f . ov ) tmp63 += tmp13 * 2 tmp63 += tmp14 * - 1 tmp48 = np . copy ( tmp47 ) * - 1 tmp48 += np . transpose ( tmp47 , ( 0 , 1 , 3 , 2 )) * 2 tmp46 = np . copy ( np . transpose ( tmp45 , ( 1 , 0 , 2 , 3 ))) tmp46 += np . transpose ( tmp45 , ( 1 , 0 , 3 , 2 )) * - 0.5 del tmp45 tmp53 = np . copy ( t1 ) * - 0.5 tmp53 += einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), tmp33 , ( 0 , 1 , 4 , 2 ), ( 4 , 3 )) tmp53 += einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), l1 , ( 2 , 0 ), ( 1 , 3 )) * - 0.5 tmp53 += einsum ( tmp52 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp35 = np . copy ( tmp33 ) * - 0.5 tmp35 += np . transpose ( tmp33 , ( 1 , 0 , 2 , 3 )) tmp49 = np . copy ( tmp47 ) * - 0.5 tmp49 += np . transpose ( tmp47 , ( 0 , 1 , 3 , 2 )) tmp40 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 0 , 5 ), ( 5 , 1 , 4 , 3 )) del tmp39 tmp40 += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp19 , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) * 2 tmp31 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) tmp31 += tmp0 tmp31 += tmp21 tmp44 = np . copy ( tmp41 ) * - 1 tmp44 += np . transpose ( tmp41 , ( 0 , 2 , 1 , 3 )) * 0.5 del tmp41 tmp44 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp42 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * 0.5 del tmp42 tmp44 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp43 , ( 4 , 1 , 5 , 2 ), ( 4 , 5 , 0 , 3 )) del tmp43 tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp22 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) tmp22 += tmp21 tmp29 = np . copy ( np . transpose ( tmp23 , ( 3 , 2 , 1 , 0 ))) * 0.5 tmp29 += np . transpose ( tmp24 , ( 1 , 0 , 3 , 2 )) * 0.5 tmp29 += np . transpose ( tmp24 , ( 3 , 0 , 2 , 1 )) * - 1 tmp18 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 1 , 4 )) tmp1 = einsum ( tmp0 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp32 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 0.5 tmp32 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) tmp34 = np . copy ( tmp33 ) * 2 tmp34 += np . transpose ( tmp33 , ( 1 , 0 , 2 , 3 )) * - 1 tmp36 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp28 , ( 2 , 3 , 1 , 4 ), ( 0 , 4 )) * 2 tmp37 = np . copy ( np . transpose ( v . xoo , ( 1 , 2 , 0 ))) tmp37 += tmp4 tmp11 = np . copy ( tmp3 ) * 2 del tmp3 tmp11 += tmp5 * 2 del tmp5 tmp11 += tmp10 * - 1 del tmp10 tmp16 = einsum ( tmp15 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 2 , 3 , 0 , 4 )) del tmp15 tmp25 = np . copy ( np . transpose ( tmp23 , ( 3 , 2 , 1 , 0 ))) tmp25 += np . transpose ( tmp24 , ( 1 , 0 , 3 , 2 )) tmp25 += np . transpose ( tmp24 , ( 3 , 0 , 2 , 1 )) * - 0.5 del tmp24 tmp55 = einsum ( l1 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) * 0.5 tmp55 += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) * 0.5 tmp58 = np . copy ( np . transpose ( l1 , ( 1 , 0 ))) tmp58 += t1 tmp58 += einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) * - 1 del tmp33 , tmp20 tmp58 += einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), l1 , ( 2 , 0 ), ( 1 , 3 )) * 2 tmp58 += einsum ( tmp57 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 1 tmp82 = np . copy ( tmp68 ) del tmp68 tmp82 += tmp70 * - 1 del tmp70 tmp82 += tmp71 * - 1 del tmp71 tmp82 += tmp73 del tmp73 tmp82 += tmp74 del tmp74 tmp82 += tmp76 del tmp76 tmp82 += tmp78 del tmp78 tmp82 += tmp81 * - 1 del tmp81 tmp111 = np . copy ( tmp108 ) del tmp108 tmp111 += tmp110 del tmp110 tmp113 = np . copy ( np . transpose ( tmp23 , ( 3 , 2 , 1 , 0 ))) del tmp23 tmp113 += np . transpose ( tmp8 , ( 0 , 3 , 1 , 2 )) del tmp8 tmp67 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp87 = einsum ( f . oo , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp112 = einsum ( tmp61 , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp107 = einsum ( l1 , ( 0 , 1 ), f . ov , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) tmp107 += tmp88 del tmp88 tmp107 += tmp89 * 2 del tmp89 tmp107 += tmp90 * - 1 del tmp90 tmp107 += tmp91 del tmp91 tmp107 += tmp92 * - 1 del tmp92 tmp107 += np . transpose ( tmp101 , ( 1 , 0 , 3 , 2 )) del tmp101 tmp107 += np . transpose ( tmp105 , ( 0 , 1 , 3 , 2 )) del tmp105 tmp107 += tmp106 * - 1 del tmp106 tmp107 += einsum ( tmp102 , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) del tmp102 tmp86 = np . copy ( tmp83 ) del tmp83 tmp86 += tmp85 del tmp85 tmp66 = np . copy ( f . vv ) tmp66 += np . transpose ( tmp65 , ( 1 , 0 )) * 2 del tmp65 tmp64 = np . copy ( f . oo ) tmp64 += np . transpose ( tmp61 , ( 1 , 0 )) * 2 del tmp61 tmp64 += tmp62 * - 1 del tmp62 tmp64 += einsum ( v . xov , ( 0 , 1 , 2 ), tmp21 , ( 3 , 2 , 0 ), ( 3 , 1 )) del tmp21 tmp64 += einsum ( tmp63 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) del tmp63 tmp54 = einsum ( l1 , ( 0 , 1 ), tmp0 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 0.5 del tmp0 tmp54 += einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), v . xvv , ( 4 , 2 , 3 ), ( 1 , 0 , 4 )) * - 0.5 del tmp40 tmp54 += einsum ( tmp31 , ( 0 , 1 , 2 ), tmp35 , ( 3 , 0 , 4 , 1 ), ( 4 , 3 , 2 )) * - 1 tmp54 += einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 3 ), ( 2 , 0 , 4 )) del tmp44 tmp54 += einsum ( tmp17 , ( 0 , 1 , 2 ), tmp46 , ( 1 , 3 , 4 , 0 ), ( 4 , 3 , 2 )) del tmp46 tmp54 += einsum ( tmp4 , ( 0 , 1 , 2 ), tmp48 , ( 0 , 3 , 4 , 1 ), ( 4 , 3 , 2 )) * 0.5 del tmp48 tmp54 += einsum ( v . xoo , ( 0 , 1 , 2 ), tmp49 , ( 1 , 3 , 4 , 2 ), ( 4 , 3 , 0 )) del tmp49 tmp54 += einsum ( tmp53 , ( 0 , 1 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) del tmp53 tmp54 += einsum ( v . xoo , ( 0 , 1 , 2 ), tmp52 , ( 2 , 3 ), ( 3 , 1 , 0 )) del tmp52 tmp60 = np . copy ( f . ov ) * 0.5 tmp60 += tmp13 del tmp13 tmp60 += tmp14 * - 0.5 del tmp14 tmp30 = np . copy ( np . transpose ( tmp1 , ( 0 , 2 , 1 , 3 ))) * - 1 tmp30 += np . transpose ( tmp27 , ( 1 , 0 , 2 , 3 )) * - 1 tmp30 += np . transpose ( tmp27 , ( 2 , 0 , 1 , 3 )) * 0.5 del tmp27 tmp30 += einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), tmp28 , ( 1 , 4 , 3 , 5 ), ( 2 , 0 , 4 , 5 )) del tmp28 tmp30 += einsum ( tmp22 , ( 0 , 1 , 2 ), tmp17 , ( 3 , 4 , 2 ), ( 4 , 3 , 0 , 1 )) * 0.5 tmp30 += einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp29 tmp38 = einsum ( tmp31 , ( 0 , 1 , 2 ), tmp32 , ( 0 , 3 , 1 , 4 ), ( 3 , 4 , 2 )) * - 2 del tmp31 , tmp32 tmp38 += einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), v . xoo , ( 4 , 1 , 2 ), ( 0 , 3 , 4 )) del tmp34 tmp38 += einsum ( tmp4 , ( 0 , 1 , 2 ), tmp35 , ( 0 , 3 , 1 , 4 ), ( 3 , 4 , 2 )) * 2 del tmp4 , tmp35 tmp38 += einsum ( v . xov , ( 0 , 1 , 2 ), tmp36 , ( 3 , 2 ), ( 1 , 3 , 0 )) del tmp36 tmp38 += einsum ( tmp37 , ( 0 , 1 , 2 ), l1 , ( 3 , 0 ), ( 1 , 3 , 2 )) del tmp37 tmp26 = np . copy ( np . transpose ( tmp1 , ( 0 , 2 , 1 , 3 ))) del tmp1 tmp26 += np . transpose ( tmp11 , ( 0 , 2 , 1 , 3 )) * - 1 tmp26 += np . transpose ( tmp11 , ( 1 , 2 , 0 , 3 )) * 0.5 del tmp11 tmp26 += np . transpose ( tmp16 , ( 1 , 2 , 0 , 3 )) tmp26 += np . transpose ( tmp16 , ( 0 , 2 , 1 , 3 )) * - 2 del tmp16 tmp26 += einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), tmp19 , ( 1 , 4 , 3 , 5 ), ( 2 , 0 , 4 , 5 )) * 2 del tmp19 , tmp18 tmp26 += einsum ( tmp22 , ( 0 , 1 , 2 ), tmp17 , ( 3 , 4 , 2 ), ( 4 , 3 , 0 , 1 )) * - 2 del tmp17 , tmp22 tmp26 += einsum ( t1 , ( 0 , 1 ), tmp25 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * 2 del tmp25 tmp59 = einsum ( tmp55 , ( 0 , 1 ), v . xvv , ( 2 , 1 , 0 ), ( 2 ,)) * 2 del tmp55 tmp59 += einsum ( v . xov , ( 0 , 1 , 2 ), tmp58 , ( 1 , 2 ), ( 0 ,)) del tmp58 tmp59 += einsum ( tmp57 , ( 0 , 1 ), v . xoo , ( 2 , 1 , 0 ), ( 2 ,)) * - 1 l2new = np . copy ( np . transpose ( tmp6 , ( 3 , 2 , 1 , 0 ))) l2new += einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp67 l2new += einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 2 , 3 , 4 , 5 ), ( 5 , 4 , 1 , 0 )) del tmp6 , tmp47 l2new += np . transpose ( tmp82 , ( 3 , 2 , 0 , 1 )) l2new += np . transpose ( tmp82 , ( 2 , 3 , 1 , 0 )) del tmp82 l2new += np . transpose ( tmp86 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp86 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp86 l2new += np . transpose ( tmp87 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp87 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp87 l2new += np . transpose ( tmp107 , ( 2 , 3 , 0 , 1 )) l2new += np . transpose ( tmp107 , ( 3 , 2 , 1 , 0 )) del tmp107 l2new += np . transpose ( tmp111 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp111 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp111 l2new += np . transpose ( tmp112 , ( 2 , 3 , 0 , 1 )) * - 2 l2new += np . transpose ( tmp112 , ( 3 , 2 , 1 , 0 )) * - 2 del tmp112 l2new += einsum ( tmp113 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 2 , 0 ), ( 4 , 5 , 1 , 3 )) del tmp113 l1new = np . copy ( np . transpose ( f . ov , ( 1 , 0 ))) l1new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp26 , ( 2 , 4 , 3 , 1 ), ( 0 , 4 )) del tmp26 l1new += einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 2 , 0 ), ( 4 , 1 )) * 2 del tmp30 l1new += einsum ( tmp38 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 3 , 0 )) * - 1 del tmp38 l1new += einsum ( tmp54 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 3 , 1 )) * 2 del tmp54 l1new += einsum ( v . xov , ( 0 , 1 , 2 ), tmp59 , ( 0 ,), ( 2 , 1 )) * 2 del tmp59 l1new += einsum ( tmp57 , ( 0 , 1 ), tmp60 , ( 1 , 2 ), ( 2 , 0 )) * - 2 del tmp57 , tmp60 l1new += einsum ( l1 , ( 0 , 1 ), tmp64 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp64 l1new += einsum ( l1 , ( 0 , 1 ), tmp66 , ( 0 , 2 ), ( 2 , 1 )) del tmp66 return { f \"l1new\" : l1new , f \"l2new\" : l2new }","title":"Returns"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.make_rdm1_f","text":"Code generated by albert 0.0.0 on 2024-08-17T20:51:54.851120.","title":"make_rdm1_f"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.make_rdm1_f--parameters","text":"l1 : array L1 amplitudes. l2 : array L2 amplitudes. t1 : array T1 amplitudes. t2 : array T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.make_rdm1_f--returns","text":"rdm1 : array One-particle reduced density matrix. Source code in ebcc/codegen/RDFCC2.py 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 def make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:54.851120. 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 ]), ) tmp5 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp5 += t2 * - 0.5 tmp0 = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 1 , 2 )) tmp2 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp7 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp7 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp6 = np . copy ( tmp0 ) tmp6 += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 0 , 4 ), ( 4 , 1 )) * 2 del tmp5 tmp4 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp4 += t2 * 2 tmp3 = np . copy ( tmp2 ) tmp3 += np . transpose ( tmp2 , ( 1 , 0 , 2 , 3 )) * - 0.5 del tmp2 tmp1 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp1 += t2 rdm1 . vv = einsum ( l1 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) * 2 rdm1 . vv += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 1 , 4 , 2 ), ( 4 , 3 )) * 2 del tmp7 rdm1 . vo = np . copy ( l1 ) * 2 rdm1 . ov = np . copy ( t1 ) * 2 rdm1 . ov += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 0 , 1 , 4 , 2 ), ( 4 , 3 )) * - 4 del tmp3 rdm1 . ov += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), l1 , ( 2 , 0 ), ( 1 , 3 )) * 2 del tmp4 rdm1 . ov += einsum ( tmp6 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 2 del tmp6 rdm1 . oo = np . copy ( delta . oo ) * 2 del delta rdm1 . oo += np . transpose ( tmp0 , ( 1 , 0 )) * - 2 del tmp0 rdm1 . oo += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), l2 , ( 2 , 3 , 0 , 4 ), ( 1 , 4 )) * - 4 del tmp1 rdm1 = np . block ([[ rdm1 . oo , rdm1 . ov ], [ rdm1 . vo , rdm1 . vv ]]) return rdm1","title":"Returns"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.make_rdm2_f","text":"Code generated by albert 0.0.0 on 2024-08-17T20:52:44.154282.","title":"make_rdm2_f"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.make_rdm2_f--parameters","text":"l1 : array L1 amplitudes. l2 : array L2 amplitudes. t1 : array T1 amplitudes. t2 : array T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.make_rdm2_f--returns","text":"rdm2 : array Two-particle reduced density matrix. Source code in ebcc/codegen/RDFCC2.py 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 def make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:52:44.154282. 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 )) tmp22 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp22 += t2 * 2 tmp79 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp79 += t2 tmp4 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp4 += t2 * - 0.5 tmp16 = np . copy ( tmp1 ) * - 1 tmp16 += np . transpose ( tmp1 , ( 1 , 0 , 2 , 3 )) * 2 tmp14 = np . copy ( tmp1 ) * - 1 tmp14 += np . transpose ( tmp1 , ( 1 , 0 , 2 , 3 )) tmp62 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp62 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp45 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp45 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp81 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp22 , ( 3 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 0 )) tmp80 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp79 , ( 2 , 4 , 1 , 5 ), ( 4 , 3 , 5 , 0 )) del tmp79 tmp92 = einsum ( t1 , ( 0 , 1 ), tmp1 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp5 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 0 , 4 ), ( 4 , 1 )) * 2 tmp8 = np . copy ( tmp1 ) * - 1 tmp8 += np . transpose ( tmp1 , ( 1 , 0 , 2 , 3 )) * 2 tmp12 = einsum ( l1 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp26 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 1 , 5 , 2 ), ( 4 , 5 , 0 , 3 )) tmp6 = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 1 , 2 )) tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) del tmp16 tmp15 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 1 , 5 , 2 ), ( 4 , 5 , 0 , 3 )) tmp25 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 1 , 4 , 5 , 2 ), ( 4 , 5 , 0 , 3 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 4 , 5 ), ( 5 , 4 , 0 , 1 )) tmp54 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp54 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) tmp2 = einsum ( t1 , ( 0 , 1 ), tmp1 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp31 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 0 , 4 ), ( 4 , 1 )) del tmp4 tmp113 = einsum ( t1 , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 0 ), ( 4 , 2 , 3 , 1 )) tmp84 = einsum ( l1 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp85 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) tmp52 = einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) tmp67 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 3 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) tmp107 = np . copy ( tmp92 ) tmp107 += np . transpose ( tmp80 , ( 1 , 0 , 3 , 2 )) tmp107 += np . transpose ( tmp81 , ( 1 , 0 , 3 , 2 )) * - 1 tmp97 = np . copy ( np . transpose ( tmp81 , ( 1 , 0 , 3 , 2 ))) tmp97 += np . transpose ( tmp80 , ( 1 , 0 , 3 , 2 )) * - 1 tmp104 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) tmp63 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) * 0.5 del tmp62 tmp10 = einsum ( tmp5 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * 0.5 tmp9 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp8 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) * 0.5 tmp74 = np . copy ( tmp12 ) tmp74 += tmp26 * - 1 tmp23 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), l1 , ( 2 , 0 ), ( 1 , 3 )) del tmp22 tmp21 = einsum ( tmp6 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp48 = np . copy ( tmp12 ) tmp48 += tmp15 tmp48 += tmp17 * - 1 tmp46 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp45 , ( 1 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) del tmp45 tmp71 = np . copy ( tmp25 ) tmp71 += tmp17 * - 1 tmp19 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp55 = einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp13 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) tmp3 = np . copy ( np . transpose ( tmp0 , ( 1 , 0 , 3 , 2 ))) tmp3 += tmp2 tmp32 = np . copy ( tmp6 ) * 0.5 tmp32 += tmp31 del tmp31 tmp29 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp29 += t2 * 2 tmp115 = einsum ( t1 , ( 0 , 1 ), tmp113 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) tmp114 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 1 , 0 ), ( 4 , 5 , 3 , 2 )) tmp100 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 0 , 4 , 5 ), ( 2 , 3 , 5 , 4 )) tmp86 = np . copy ( tmp84 ) tmp86 += tmp85 del tmp85 tmp111 = np . copy ( tmp67 ) tmp111 += tmp92 tmp111 += tmp52 * - 1 tmp69 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 1 , 5 ), ( 5 , 0 , 4 , 3 )) tmp108 = einsum ( t1 , ( 0 , 1 ), tmp107 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp107 tmp96 = einsum ( l1 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) tmp98 = einsum ( t1 , ( 0 , 1 ), tmp97 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp97 tmp105 = np . copy ( tmp67 ) tmp105 += tmp92 tmp105 += tmp104 * - 1 del tmp104 tmp88 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp88 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp82 = np . copy ( tmp1 ) tmp82 += np . transpose ( tmp1 , ( 1 , 0 , 2 , 3 )) * - 1 tmp90 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) tmp90 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp65 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 1 , 4 ), ( 0 , 4 , 3 , 2 )) tmp64 = einsum ( tmp63 , ( 0 , 1 ), t2 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 tmp11 = np . copy ( tmp9 ) tmp11 += tmp10 del tmp10 tmp44 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) tmp75 = einsum ( t1 , ( 0 , 1 ), tmp74 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp74 tmp24 = np . copy ( tmp21 ) tmp24 += tmp23 * - 1 tmp49 = einsum ( t1 , ( 0 , 1 ), tmp48 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp48 tmp47 = einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) del tmp46 tmp72 = einsum ( t1 , ( 0 , 1 ), tmp71 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp71 tmp59 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) tmp60 = einsum ( t1 , ( 0 , 1 ), tmp19 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp58 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 1 , 0 , 4 , 5 ), ( 4 , 5 , 3 , 2 )) tmp56 = einsum ( tmp55 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp55 tmp51 = einsum ( t1 , ( 0 , 1 ), tmp13 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp53 = einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) del tmp52 tmp27 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) tmp28 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp8 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) del tmp8 tmp33 = einsum ( tmp32 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * 2 tmp38 = np . copy ( tmp1 ) * 2 tmp38 += np . transpose ( tmp1 , ( 1 , 0 , 2 , 3 )) * - 1 tmp40 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), l1 , ( 2 , 0 ), ( 1 , 3 )) * 0.5 tmp41 = einsum ( tmp32 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), l1 , ( 2 , 0 ), ( 1 , 3 )) del tmp29 tmp116 = np . copy ( np . transpose ( tmp114 , ( 1 , 0 , 3 , 2 ))) tmp116 += np . transpose ( tmp115 , ( 1 , 0 , 3 , 2 )) tmp95 = np . copy ( tmp84 ) * 0.5 tmp95 += tmp63 tmp110 = np . copy ( tmp100 ) tmp110 += einsum ( tmp86 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp112 = einsum ( t1 , ( 0 , 1 ), tmp111 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp111 tmp103 = einsum ( t1 , ( 0 , 1 ), tmp69 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp109 = np . copy ( tmp96 ) tmp109 += np . transpose ( tmp108 , ( 0 , 1 , 3 , 2 )) del tmp108 tmp99 = np . copy ( tmp96 ) tmp99 += einsum ( tmp84 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp84 tmp99 += np . transpose ( tmp98 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp98 tmp101 = np . copy ( tmp100 ) tmp101 += einsum ( t1 , ( 0 , 1 ), tmp63 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 del tmp63 tmp102 = einsum ( tmp92 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) tmp106 = einsum ( t1 , ( 0 , 1 ), tmp105 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp105 tmp93 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp14 tmp87 = einsum ( t1 , ( 0 , 1 ), tmp1 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp94 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp54 , ( 1 , 4 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) del tmp54 tmp89 = einsum ( tmp88 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) del tmp88 tmp83 = einsum ( t1 , ( 0 , 1 ), tmp82 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp82 tmp91 = einsum ( tmp90 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 1 , 4 , 2 , 5 )) del tmp90 tmp66 = np . copy ( np . transpose ( tmp64 , ( 1 , 0 , 3 , 2 ))) del tmp64 tmp66 += np . transpose ( tmp65 , ( 0 , 1 , 3 , 2 )) del tmp65 tmp66 += einsum ( tmp11 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 tmp76 = np . copy ( tmp44 ) tmp76 += np . transpose ( tmp75 , ( 0 , 1 , 3 , 2 )) del tmp75 tmp70 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp68 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp67 , ( 1 , 4 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) tmp50 = np . copy ( tmp44 ) del tmp44 tmp50 += np . transpose ( tmp47 , ( 1 , 0 , 3 , 2 )) * - 1 tmp50 += np . transpose ( tmp49 , ( 0 , 1 , 3 , 2 )) del tmp49 tmp50 += einsum ( tmp24 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 tmp78 = np . copy ( t1 ) tmp78 += tmp21 * - 1 tmp73 = np . copy ( np . transpose ( tmp47 , ( 1 , 0 , 3 , 2 ))) * - 1 del tmp47 tmp73 += np . transpose ( tmp72 , ( 0 , 1 , 3 , 2 )) del tmp72 tmp73 += einsum ( tmp23 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp61 = np . copy ( tmp58 ) tmp61 += tmp59 tmp61 += tmp60 del tmp60 tmp57 = np . copy ( tmp51 ) del tmp51 tmp57 += np . transpose ( tmp53 , ( 1 , 0 , 3 , 2 )) * 2 tmp57 += tmp56 del tmp56 tmp77 = einsum ( t1 , ( 0 , 1 ), tmp27 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) tmp35 = np . copy ( tmp28 ) tmp35 += tmp33 tmp39 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp38 , ( 1 , 4 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) del tmp38 tmp43 = np . copy ( tmp6 ) tmp43 += tmp5 tmp36 = einsum ( tmp6 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp36 += tmp15 tmp36 += tmp17 * - 1 tmp42 = np . copy ( t1 ) * - 0.5 tmp42 += tmp9 del tmp9 tmp42 += tmp40 * - 1 del tmp40 tmp42 += tmp41 del tmp41 tmp37 = np . copy ( tmp12 ) tmp37 += np . transpose ( tmp27 , ( 0 , 2 , 1 , 3 )) tmp37 += einsum ( t1 , ( 0 , 1 ), tmp5 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp34 = np . copy ( t1 ) * - 1 tmp34 += tmp28 del tmp28 tmp34 += tmp30 * - 1 del tmp30 tmp34 += tmp33 del tmp33 tmp18 = np . copy ( tmp12 ) tmp18 += tmp13 del tmp13 tmp18 += tmp15 del tmp15 tmp18 += tmp17 * - 1 tmp20 = np . copy ( tmp19 ) del tmp19 tmp20 += einsum ( t1 , ( 0 , 1 ), tmp5 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp7 = np . copy ( delta . oo ) tmp7 += tmp6 * - 1 rdm2 . vvvv = np . copy ( np . transpose ( tmp116 , ( 0 , 1 , 3 , 2 ))) * - 2 rdm2 . vvvv += tmp116 * 2 del tmp116 rdm2 . vvvv += np . transpose ( tmp114 , ( 1 , 0 , 3 , 2 )) * 2 del tmp114 rdm2 . vvvv += np . transpose ( tmp115 , ( 1 , 0 , 3 , 2 )) * 2 del tmp115 rdm2 . vvvo = np . copy ( np . transpose ( tmp113 , ( 1 , 2 , 3 , 0 ))) * - 2 rdm2 . vvvo += np . transpose ( tmp113 , ( 2 , 1 , 3 , 0 )) * 4 rdm2 . vvov = np . copy ( np . transpose ( tmp113 , ( 1 , 2 , 0 , 3 ))) * 4 rdm2 . vvov += np . transpose ( tmp113 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp113 rdm2 . vovv = np . copy ( np . transpose ( tmp109 , ( 1 , 0 , 2 , 3 ))) * - 2 rdm2 . vovv += np . transpose ( tmp109 , ( 1 , 0 , 3 , 2 )) * 2 del tmp109 rdm2 . vovv += np . transpose ( tmp110 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . vovv += np . transpose ( tmp110 , ( 1 , 0 , 3 , 2 )) * 2 del tmp110 rdm2 . vovv += np . transpose ( tmp96 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . vovv += np . transpose ( tmp103 , ( 1 , 0 , 3 , 2 )) * - 2 rdm2 . vovv += np . transpose ( tmp100 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . vovv += np . transpose ( tmp112 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp112 rdm2 . vovv += einsum ( tmp95 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 4 rdm2 . ovvv = np . copy ( tmp99 ) * 2 rdm2 . ovvv += np . transpose ( tmp99 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp99 rdm2 . ovvv += tmp101 * 2 rdm2 . ovvv += np . transpose ( tmp101 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp101 rdm2 . ovvv += tmp102 * 2 rdm2 . ovvv += np . transpose ( tmp102 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp102 rdm2 . ovvv += tmp96 * 2 del tmp96 rdm2 . ovvv += np . transpose ( tmp100 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp100 rdm2 . ovvv += tmp103 * - 2 del tmp103 rdm2 . ovvv += tmp106 * - 2 del tmp106 rdm2 . ovvv += einsum ( tmp86 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . vvoo = np . copy ( np . transpose ( l2 , ( 0 , 1 , 3 , 2 ))) * - 2 rdm2 . vvoo += l2 * 4 rdm2 . vovo = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . vovo += np . transpose ( tmp89 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . vovo += np . transpose ( tmp94 , ( 2 , 1 , 3 , 0 )) * - 2 del tmp94 rdm2 . vovo += np . transpose ( tmp93 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . vovo += einsum ( delta . oo , ( 0 , 1 ), tmp95 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 8 del tmp95 rdm2 . vovo += np . transpose ( tmp69 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . vovo += np . transpose ( tmp87 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . voov = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 4 rdm2 . voov += np . transpose ( tmp81 , ( 3 , 0 , 1 , 2 )) * 2 rdm2 . voov += np . transpose ( tmp80 , ( 3 , 0 , 1 , 2 )) * - 2 rdm2 . voov += np . transpose ( tmp93 , ( 2 , 1 , 0 , 3 )) * 2 del tmp93 rdm2 . voov += einsum ( tmp86 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . voov += np . transpose ( tmp67 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . voov += np . transpose ( tmp92 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . voov += np . transpose ( tmp89 , ( 2 , 1 , 0 , 3 )) * 2 rdm2 . ovvo = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 4 rdm2 . ovvo += np . transpose ( tmp89 , ( 1 , 2 , 3 , 0 )) * 4 del tmp89 rdm2 . ovvo += np . transpose ( tmp91 , ( 1 , 2 , 3 , 0 )) * - 2 del tmp91 rdm2 . ovvo += np . transpose ( tmp83 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . ovvo += einsum ( tmp86 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . ovvo += np . transpose ( tmp67 , ( 1 , 2 , 3 , 0 )) * - 2 del tmp67 rdm2 . ovvo += np . transpose ( tmp92 , ( 1 , 2 , 3 , 0 )) * - 2 del tmp92 rdm2 . ovov = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . ovov += np . transpose ( tmp80 , ( 0 , 3 , 1 , 2 )) * 2 del tmp80 rdm2 . ovov += np . transpose ( tmp81 , ( 0 , 3 , 1 , 2 )) * - 2 del tmp81 rdm2 . ovov += np . transpose ( tmp83 , ( 1 , 2 , 0 , 3 )) * 2 del tmp83 rdm2 . ovov += einsum ( tmp86 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 4 del tmp86 rdm2 . ovov += np . transpose ( tmp69 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp69 rdm2 . ovov += np . transpose ( tmp87 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp87 rdm2 . oovv = np . copy ( tmp50 ) * 2 rdm2 . oovv += np . transpose ( tmp50 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . oovv += np . transpose ( tmp50 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . oovv += np . transpose ( tmp50 , ( 1 , 0 , 3 , 2 )) * 2 del tmp50 rdm2 . oovv += tmp57 * 2 rdm2 . oovv += np . transpose ( tmp57 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp57 rdm2 . oovv += tmp61 * 2 rdm2 . oovv += np . transpose ( tmp61 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp61 rdm2 . oovv += tmp66 * - 4 rdm2 . oovv += np . transpose ( tmp66 , ( 0 , 1 , 3 , 2 )) * 2 rdm2 . oovv += np . transpose ( tmp66 , ( 1 , 0 , 2 , 3 )) * 2 rdm2 . oovv += np . transpose ( tmp66 , ( 1 , 0 , 3 , 2 )) * - 4 del tmp66 rdm2 . oovv += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . oovv += t2 * 4 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . oovv += einsum ( tmp21 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 del tmp21 rdm2 . oovv += tmp68 * 2 del tmp68 rdm2 . oovv += np . transpose ( tmp70 , ( 0 , 1 , 3 , 2 )) * 2 del tmp70 rdm2 . oovv += tmp58 * 2 del tmp58 rdm2 . oovv += tmp59 * 2 del tmp59 rdm2 . oovv += tmp73 * 2 rdm2 . oovv += np . transpose ( tmp73 , ( 1 , 0 , 3 , 2 )) * 2 del tmp73 rdm2 . oovv += np . transpose ( tmp76 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . oovv += np . transpose ( tmp76 , ( 1 , 0 , 2 , 3 )) * - 2 del tmp76 rdm2 . oovv += tmp53 * 4 del tmp53 rdm2 . oovv += np . transpose ( tmp77 , ( 0 , 1 , 3 , 2 )) * 2 del tmp77 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), tmp78 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 del tmp78 rdm2 . vooo = einsum ( l1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 4 rdm2 . vooo += einsum ( l1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . vooo += np . transpose ( tmp1 , ( 3 , 2 , 0 , 1 )) * - 4 rdm2 . vooo += np . transpose ( tmp1 , ( 3 , 2 , 1 , 0 )) * 2 rdm2 . ovoo = einsum ( l1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . ovoo += einsum ( l1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 4 rdm2 . ovoo += np . transpose ( tmp1 , ( 2 , 3 , 0 , 1 )) * 2 rdm2 . ovoo += np . transpose ( tmp1 , ( 2 , 3 , 1 , 0 )) * - 4 del tmp1 rdm2 . oovo = einsum ( delta . oo , ( 0 , 1 ), tmp35 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 rdm2 . oovo += einsum ( tmp35 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 del tmp35 rdm2 . oovo += np . transpose ( tmp36 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . oovo += np . transpose ( tmp36 , ( 2 , 1 , 3 , 0 )) * 2 del tmp36 rdm2 . oovo += np . transpose ( tmp37 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . oovo += np . transpose ( tmp37 , ( 2 , 1 , 3 , 0 )) * 2 del tmp37 rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . oovo += einsum ( tmp23 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . oovo += einsum ( tmp23 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 del tmp23 rdm2 . oovo += np . transpose ( tmp26 , ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oovo += np . transpose ( tmp25 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . oovo += np . transpose ( tmp12 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . oovo += np . transpose ( tmp39 , ( 2 , 1 , 3 , 0 )) * - 2 del tmp39 rdm2 . oovo += np . transpose ( tmp27 , ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 4 del tmp42 rdm2 . oovo += einsum ( tmp43 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 2 del tmp43 rdm2 . ooov = einsum ( tmp11 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 4 rdm2 . ooov += einsum ( tmp11 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 4 del tmp11 rdm2 . ooov += np . transpose ( tmp18 , ( 1 , 2 , 0 , 3 )) * 2 rdm2 . ooov += np . transpose ( tmp18 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp18 rdm2 . ooov += np . transpose ( tmp20 , ( 1 , 2 , 0 , 3 )) * 2 rdm2 . ooov += np . transpose ( tmp20 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp20 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . ooov += einsum ( tmp6 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * 2 rdm2 . ooov += einsum ( tmp6 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 2 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp24 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp24 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 del tmp24 rdm2 . ooov += np . transpose ( tmp25 , ( 1 , 2 , 0 , 3 )) * 2 del tmp25 rdm2 . ooov += np . transpose ( tmp26 , ( 2 , 1 , 0 , 3 )) * 2 del tmp26 rdm2 . ooov += np . transpose ( tmp12 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp12 rdm2 . ooov += np . transpose ( tmp17 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp17 rdm2 . ooov += np . transpose ( tmp27 , ( 2 , 1 , 0 , 3 )) * 2 del tmp27 rdm2 . ooov += einsum ( tmp34 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 del tmp34 rdm2 . ooov += einsum ( tmp32 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 4 del tmp32 rdm2 . oooo = np . copy ( np . transpose ( tmp3 , ( 3 , 2 , 0 , 1 ))) * - 2 rdm2 . oooo += np . transpose ( tmp3 , ( 2 , 3 , 0 , 1 )) * 2 del tmp3 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . oooo += einsum ( tmp5 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 4 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp5 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * 2 rdm2 . oooo += einsum ( tmp5 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp5 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 4 del tmp5 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp6 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 2 rdm2 . oooo += einsum ( tmp6 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * 2 rdm2 . oooo += einsum ( tmp6 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp6 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 4 del tmp6 rdm2 . oooo += np . transpose ( tmp0 , ( 3 , 2 , 1 , 0 )) * 2 del tmp0 rdm2 . oooo += np . transpose ( tmp2 , ( 3 , 2 , 1 , 0 )) * 2 del tmp2 rdm2 . oooo += einsum ( tmp7 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * 2 del delta , tmp7 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","title":"Returns"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.hbar_matvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T20:52:56.787833.","title":"hbar_matvec_ip_intermediates"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.hbar_matvec_ip_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.hbar_matvec_ip_intermediates--returns","text":"tmp0 : array tmp1 : array tmp11 : array tmp14 : array tmp17 : array tmp18 : array tmp20 : array tmp21 : array tmp23 : array tmp24 : array tmp30 : array tmp32 : array tmp33 : array tmp35 : array tmp38 : array tmp39 : array tmp40 : array tmp42 : array tmp43 : array tmp45 : array tmp46 : array tmp47 : array tmp5 : array tmp52 : array tmp54 : array tmp55 : array tmp56 : array tmp57 : array tmp58 : array tmp60 : array tmp66 : array tmp67 : array tmp68 : array tmp69 : array tmp7 : array tmp9 : array Source code in ebcc/codegen/RDFCC2.py 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 def hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:52:56.787833. 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 tmp14 : array tmp17 : array tmp18 : array tmp20 : array tmp21 : array tmp23 : array tmp24 : array tmp30 : array tmp32 : array tmp33 : array tmp35 : array tmp38 : array tmp39 : array tmp40 : array tmp42 : array tmp43 : array tmp45 : array tmp46 : array tmp47 : array tmp5 : array tmp52 : array tmp54 : array tmp55 : array tmp56 : array tmp57 : array tmp58 : array tmp60 : array tmp66 : array tmp67 : array tmp68 : array tmp69 : array tmp7 : array tmp9 : array \"\"\" tmp6 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 1 , 2 ), ( 0 ,)) tmp4 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 3 , 1 , 0 )) tmp0 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp17 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 2 , 4 ), ( 3 , 4 , 0 )) tmp20 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 3 ), ( 0 , 2 , 4 )) tmp1 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp32 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp29 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp11 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp6 , ( 0 ,), ( 1 , 2 )) tmp9 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp69 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp68 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp67 = einsum ( tmp20 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp66 = einsum ( t1 , ( 0 , 1 ), f . vv , ( 2 , 1 ), ( 0 , 2 )) tmp60 = einsum ( tmp20 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp58 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp57 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) tmp56 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp55 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 )) tmp54 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp52 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp47 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp32 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp46 = einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) tmp45 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp17 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp43 = einsum ( tmp20 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp42 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp40 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp39 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp38 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) tmp35 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp33 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp32 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 0 , 1 )) del tmp29 tmp24 = einsum ( tmp11 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp23 = einsum ( tmp9 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp21 = einsum ( tmp20 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp18 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp14 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) tmp7 = einsum ( tmp6 , ( 0 ,), v . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp6 tmp5 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) del tmp4 return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp11\" : tmp11 , f \"tmp14\" : tmp14 , f \"tmp17\" : tmp17 , f \"tmp18\" : tmp18 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp23\" : tmp23 , f \"tmp24\" : tmp24 , f \"tmp30\" : tmp30 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp35\" : tmp35 , f \"tmp38\" : tmp38 , f \"tmp39\" : tmp39 , f \"tmp40\" : tmp40 , f \"tmp42\" : tmp42 , f \"tmp43\" : tmp43 , f \"tmp45\" : tmp45 , f \"tmp46\" : tmp46 , f \"tmp47\" : tmp47 , f \"tmp5\" : tmp5 , f \"tmp52\" : tmp52 , f \"tmp54\" : tmp54 , f \"tmp55\" : tmp55 , f \"tmp56\" : tmp56 , f \"tmp57\" : tmp57 , f \"tmp58\" : tmp58 , f \"tmp60\" : tmp60 , f \"tmp66\" : tmp66 , f \"tmp67\" : tmp67 , f \"tmp68\" : tmp68 , f \"tmp69\" : tmp69 , f \"tmp7\" : tmp7 , f \"tmp9\" : tmp9 }","title":"Returns"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.hbar_matvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T20:52:56.809237.","title":"hbar_matvec_ip"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.hbar_matvec_ip--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.hbar_matvec_ip--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RDFCC2.py 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 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-17T20:52:56.809237. 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\" ] tmp3 = np . copy ( r2 ) * 2 tmp3 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 1 tmp5 = np . copy ( ints . tmp35 ) * 0.5 tmp5 += ints . tmp47 tmp5 += ints . tmp46 * - 0.5 tmp10 = np . copy ( np . transpose ( ints . tmp60 , ( 1 , 0 ))) * 2 del ints . tmp60 tmp10 += f . vv * - 1 tmp10 += np . transpose ( ints . tmp58 , ( 1 , 0 )) * - 1 del ints . tmp58 tmp10 += einsum ( t1 , ( 0 , 1 ), f . ov , ( 0 , 2 ), ( 2 , 1 )) tmp8 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . xov , ( 3 , 0 , 2 ), ( 1 , 3 )) * 0.5 tmp12 = np . copy ( ints . tmp1 ) tmp12 += np . transpose ( ints . tmp30 , ( 0 , 2 , 1 , 3 )) del ints . tmp30 tmp12 += np . transpose ( ints . tmp43 , ( 2 , 1 , 0 , 3 )) * 2 del ints . tmp43 tmp12 += np . transpose ( ints . tmp54 , ( 2 , 0 , 1 , 3 )) del ints . tmp54 tmp12 += np . transpose ( ints . tmp42 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp42 tmp12 += np . transpose ( ints . tmp45 , ( 2 , 1 , 0 , 3 )) * - 1 del ints . tmp45 tmp12 += np . transpose ( ints . tmp57 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp57 tmp13 = np . copy ( f . oo ) tmp13 += ints . tmp0 tmp13 += np . transpose ( ints . tmp21 , ( 1 , 0 )) * 2 tmp13 += np . transpose ( ints . tmp18 , ( 1 , 0 )) * - 1 tmp6 = np . copy ( ints . tmp35 ) del ints . tmp35 tmp6 += ints . tmp46 * - 1 del ints . tmp46 tmp14 = np . copy ( f . ov ) tmp14 += ints . tmp39 * 2 del ints . tmp39 tmp14 += ints . tmp55 del ints . tmp55 tmp14 += ints . tmp66 del ints . tmp66 tmp14 += ints . tmp67 * 2 del ints . tmp67 tmp14 += ints . tmp38 * - 1 del ints . tmp38 tmp14 += ints . tmp52 * - 1 del ints . tmp52 tmp14 += ints . tmp56 * - 2 del ints . tmp56 tmp14 += ints . tmp68 * - 1 del ints . tmp68 tmp14 += ints . tmp69 * - 1 del ints . tmp69 tmp9 = np . copy ( ints . tmp20 ) * 2 del ints . tmp20 tmp9 += np . transpose ( v . xov , ( 1 , 2 , 0 )) tmp9 += ints . tmp17 * - 1 del ints . tmp17 tmp7 = np . copy ( ints . tmp33 ) del ints . tmp33 tmp7 += np . transpose ( ints . tmp40 , ( 2 , 0 , 1 , 3 )) del ints . tmp40 tmp11 = einsum ( ints . tmp32 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 0 , 1 , 2 ), ( 3 ,)) * 0.5 del ints . tmp32 tmp2 = np . copy ( f . ov ) * 0.5 tmp2 += ints . tmp11 del ints . tmp11 tmp2 += ints . tmp9 * - 0.5 del ints . tmp9 tmp4 = np . copy ( f . oo ) tmp4 += ints . tmp0 del ints . tmp0 tmp4 += np . transpose ( ints . tmp21 , ( 1 , 0 )) * 2 del ints . tmp21 tmp4 += np . transpose ( ints . tmp24 , ( 1 , 0 )) * 2 del ints . tmp24 tmp4 += np . transpose ( ints . tmp7 , ( 1 , 0 )) * 2 del ints . tmp7 tmp4 += np . transpose ( ints . tmp18 , ( 1 , 0 )) * - 1 del ints . tmp18 tmp4 += np . transpose ( ints . tmp23 , ( 1 , 0 )) * - 1 del ints . tmp23 tmp4 += np . transpose ( ints . tmp5 , ( 1 , 0 )) * - 1 del ints . tmp5 tmp0 = np . copy ( r2 ) * - 1 tmp0 += np . transpose ( r2 , ( 1 , 0 , 2 )) * 2 tmp1 = np . copy ( r2 ) tmp1 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 0.5 r2new = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp47 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) del ints . tmp47 r2new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * - 2 del tmp5 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp6 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp6 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp7 , ( 3 , 4 , 0 , 1 ), ( 3 , 4 , 2 )) del tmp7 r2new += einsum ( tmp9 , ( 0 , 1 , 2 ), tmp8 , ( 3 , 2 ), ( 0 , 3 , 1 )) * 2 del tmp9 , tmp8 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp10 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp10 r2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp11 , ( 3 ,), ( 0 , 1 , 2 )) * - 2 del tmp11 r2new += einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 ,), ( 2 , 0 , 3 )) del tmp12 r2new += einsum ( tmp13 , ( 0 , 1 ), r2 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp13 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp13 r2new += einsum ( tmp14 , ( 0 , 1 ), r1 , ( 2 ,), ( 0 , 2 , 1 )) * - 1 del tmp14 r1new = einsum ( tmp0 , ( 0 , 1 , 2 ), ints . tmp14 , ( 3 , 1 , 0 , 2 ), ( 3 ,)) del tmp0 , ints . tmp14 r1new += einsum ( tmp1 , ( 0 , 1 , 2 ), ints . tmp1 , ( 3 , 1 , 0 , 2 ), ( 3 ,)) * 2 del ints . tmp1 , tmp1 r1new += einsum ( tmp3 , ( 0 , 1 , 2 ), tmp2 , ( 0 , 2 ), ( 1 ,)) * - 2 del tmp3 , tmp2 r1new += einsum ( tmp4 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.hbar_matvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T20:53:08.828936.","title":"hbar_matvec_ea_intermediates"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.hbar_matvec_ea_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.hbar_matvec_ea_intermediates--returns","text":"tmp1 : array tmp10 : array tmp12 : array tmp15 : array tmp20 : array tmp21 : array tmp23 : array tmp24 : array tmp33 : array tmp36 : array tmp37 : array tmp39 : array tmp45 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp50 : array tmp51 : array tmp53 : array tmp55 : array tmp56 : array tmp57 : array tmp58 : array tmp60 : array tmp61 : array tmp62 : array tmp64 : array tmp65 : array tmp68 : array tmp8 : array Source code in ebcc/codegen/RDFCC2.py 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 def hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:53:08.828936. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp1 : array tmp10 : array tmp12 : array tmp15 : array tmp20 : array tmp21 : array tmp23 : array tmp24 : array tmp33 : array tmp36 : array tmp37 : array tmp39 : array tmp45 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp50 : array tmp51 : array tmp53 : array tmp55 : array tmp56 : array tmp57 : array tmp58 : array tmp60 : array tmp61 : array tmp62 : array tmp64 : array tmp65 : array tmp68 : array tmp8 : array \"\"\" tmp15 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp20 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 2 ), ( 0 , 3 , 4 )) tmp1 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp23 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 3 ), ( 0 , 2 , 4 )) tmp38 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp46 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp4 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 1 , 2 ), ( 0 ,)) tmp9 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 3 , 1 , 0 )) tmp7 = einsum ( t1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp68 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp65 = einsum ( tmp20 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) tmp64 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 3 , 1 )) tmp62 = einsum ( tmp23 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) tmp61 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp60 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) tmp58 = einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp57 = einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 )) tmp56 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp55 = einsum ( tmp46 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp53 = einsum ( tmp23 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp51 = einsum ( tmp20 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp50 = einsum ( tmp20 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp49 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp23 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp47 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp45 = einsum ( t1 , ( 0 , 1 ), f . vv , ( 2 , 1 ), ( 0 , 2 )) tmp39 = einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) del tmp38 tmp37 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp36 = einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) tmp33 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 5 , 3 , 1 )) tmp24 = einsum ( tmp23 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp21 = einsum ( tmp20 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp12 = einsum ( tmp4 , ( 0 ,), v . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp10 = einsum ( tmp9 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) del tmp9 tmp8 = einsum ( tmp7 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 3 , 1 )) del tmp7 tmp5 = einsum ( tmp4 , ( 0 ,), v . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp4 return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp12\" : tmp12 , f \"tmp15\" : tmp15 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp23\" : tmp23 , f \"tmp24\" : tmp24 , f \"tmp33\" : tmp33 , f \"tmp36\" : tmp36 , f \"tmp37\" : tmp37 , f \"tmp39\" : tmp39 , f \"tmp45\" : tmp45 , f \"tmp46\" : tmp46 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp50\" : tmp50 , f \"tmp51\" : tmp51 , f \"tmp53\" : tmp53 , f \"tmp55\" : tmp55 , f \"tmp56\" : tmp56 , f \"tmp57\" : tmp57 , f \"tmp58\" : tmp58 , f \"tmp60\" : tmp60 , f \"tmp61\" : tmp61 , f \"tmp62\" : tmp62 , f \"tmp64\" : tmp64 , f \"tmp65\" : tmp65 , f \"tmp68\" : tmp68 , f \"tmp8\" : tmp8 }","title":"Returns"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.hbar_matvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T20:53:08.849462.","title":"hbar_matvec_ea"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.hbar_matvec_ea--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.hbar_matvec_ea--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RDFCC2.py 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 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-17T20:53:08.849462. 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\" ] tmp4 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 0.5 tmp4 += np . transpose ( r2 , ( 2 , 1 , 0 )) tmp2 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * 2 tmp2 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 1 tmp13 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 0 , 2 ), ( 2 , 1 )) tmp5 = einsum ( tmp4 , ( 0 , 1 , 2 ), ints . tmp15 , ( 0 , 3 , 2 , 1 ), ( 3 ,)) * 2 del tmp4 tmp1 = np . copy ( f . ov ) tmp1 += ints . tmp12 * 2 del ints . tmp12 tmp1 += ints . tmp10 * - 1 del ints . tmp10 tmp10 = einsum ( tmp2 , ( 0 , 1 , 2 ), v . xov , ( 3 , 0 , 1 ), ( 2 , 3 )) * 0.5 tmp8 = np . copy ( ints . tmp37 ) * 0.5 tmp8 += ints . tmp68 tmp8 += ints . tmp36 * - 0.5 tmp12 = np . copy ( ints . tmp1 ) tmp12 += np . transpose ( ints . tmp39 , ( 0 , 2 , 3 , 1 )) del ints . tmp39 tmp12 += np . transpose ( ints . tmp62 , ( 0 , 3 , 2 , 1 )) * 2 del ints . tmp62 tmp12 += ints . tmp33 * - 1 del ints . tmp33 tmp12 += np . transpose ( ints . tmp64 , ( 0 , 3 , 2 , 1 )) * - 1 del ints . tmp64 tmp12 += np . transpose ( ints . tmp65 , ( 0 , 3 , 2 , 1 )) * - 1 del ints . tmp65 tmp14 = np . copy ( np . transpose ( ints . tmp24 , ( 1 , 0 ))) * 2 tmp14 += f . vv * - 1 tmp14 += np . transpose ( ints . tmp21 , ( 1 , 0 )) * - 1 tmp14 += tmp13 del tmp13 tmp9 = np . copy ( ints . tmp36 ) del ints . tmp36 tmp9 += ints . tmp37 * - 1 del ints . tmp37 tmp15 = np . copy ( f . oo ) tmp15 += ints . tmp46 del ints . tmp46 tmp15 += np . transpose ( ints . tmp53 , ( 1 , 0 )) * 2 del ints . tmp53 tmp15 += np . transpose ( ints . tmp51 , ( 1 , 0 )) * - 1 del ints . tmp51 tmp7 = einsum ( ints . tmp15 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 2 , 4 ), ( 0 , 1 , 4 )) del ints . tmp15 tmp17 = np . copy ( f . ov ) tmp17 += ints . tmp45 del ints . tmp45 tmp17 += ints . tmp49 * 2 del ints . tmp49 tmp17 += ints . tmp57 del ints . tmp57 tmp17 += ints . tmp61 * 2 del ints . tmp61 tmp17 += ints . tmp50 * - 1 del ints . tmp50 tmp17 += ints . tmp55 * - 1 del ints . tmp55 tmp17 += ints . tmp56 * - 1 del ints . tmp56 tmp17 += ints . tmp58 * - 2 del ints . tmp58 tmp17 += ints . tmp60 * - 1 del ints . tmp60 tmp11 = np . copy ( ints . tmp23 ) * 2 del ints . tmp23 tmp11 += np . transpose ( v . xov , ( 1 , 2 , 0 )) tmp11 += ints . tmp20 * - 1 del ints . tmp20 tmp16 = einsum ( r1 , ( 0 ,), f . ov , ( 1 , 0 ), ( 1 ,)) tmp16 += tmp5 * - 1 tmp6 = np . copy ( tmp5 ) * - 1 del tmp5 tmp6 += einsum ( r1 , ( 0 ,), tmp1 , ( 1 , 0 ), ( 1 ,)) tmp3 = np . copy ( f . vv ) tmp3 += np . transpose ( ints . tmp21 , ( 1 , 0 )) del ints . tmp21 tmp3 += np . transpose ( ints . tmp5 , ( 1 , 0 )) * 2 del ints . tmp5 tmp3 += np . transpose ( ints . tmp24 , ( 1 , 0 )) * - 2 del ints . tmp24 tmp3 += ints . tmp8 * - 1 del ints . tmp8 tmp0 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp0 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 0.5 r2new = einsum ( ints . tmp47 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 3 , 4 ), ( 2 , 0 , 4 )) del ints . tmp47 r2new += einsum ( ints . tmp68 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 3 , 1 ), ( 2 , 4 , 0 )) del ints . tmp68 r2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 1 , 4 ), ( 3 , 2 , 4 )) del tmp7 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp8 , ( 3 , 2 , 4 , 0 ), ( 4 , 1 , 3 )) * - 2 del tmp8 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp9 , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) del tmp9 r2new += einsum ( tmp10 , ( 0 , 1 ), tmp11 , ( 2 , 3 , 1 ), ( 3 , 0 , 2 )) * 2 del tmp10 , tmp11 r2new += einsum ( r1 , ( 0 ,), tmp12 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del tmp12 r2new += einsum ( tmp14 , ( 0 , 1 ), r2 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new += einsum ( tmp14 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp14 r2new += einsum ( tmp15 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp15 r2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 1 ,), ( 2 , 3 , 0 )) del tmp16 r2new += einsum ( tmp17 , ( 0 , 1 ), r1 , ( 2 ,), ( 1 , 2 , 0 )) * - 1 del tmp17 r1new = einsum ( ints . tmp1 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 0 , 3 , 2 ), ( 1 ,)) * - 2 del ints . tmp1 , tmp0 r1new += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp1 , ( 0 , 1 ), ( 2 ,)) * - 1 del tmp2 , tmp1 r1new += einsum ( r1 , ( 0 ,), tmp3 , ( 0 , 1 ), ( 1 ,)) del tmp3 r1new += einsum ( t1 , ( 0 , 1 ), tmp6 , ( 0 ,), ( 1 ,)) * - 1 del tmp6 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.hbar_lmatvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T20:53:55.872998.","title":"hbar_lmatvec_ip_intermediates"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.hbar_lmatvec_ip_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.hbar_lmatvec_ip_intermediates--returns","text":"tmp0 : array tmp1 : array tmp10 : array tmp101 : array tmp102 : array tmp103 : array tmp106 : array tmp107 : array tmp109 : array tmp111 : array tmp115 : array tmp117 : array tmp120 : array tmp123 : array tmp125 : array tmp128 : array tmp130 : array tmp134 : array tmp139 : array tmp14 : array tmp141 : array tmp142 : array tmp16 : array tmp161 : array tmp163 : array tmp18 : array tmp19 : array tmp2 : array tmp22 : array tmp26 : array tmp28 : array tmp3 : array tmp30 : array tmp32 : array tmp33 : array tmp35 : array tmp36 : array tmp38 : array tmp4 : array tmp41 : array tmp44 : array tmp46 : array tmp48 : array tmp50 : array tmp52 : array tmp55 : array tmp59 : array tmp6 : array tmp63 : array tmp65 : array tmp68 : array tmp71 : array tmp74 : array tmp77 : array tmp80 : array tmp83 : array tmp86 : array tmp88 : array tmp9 : array tmp91 : array tmp93 : array tmp95 : array tmp98 : array Source code in ebcc/codegen/RDFCC2.py 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 def hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:53:55.872998. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp10 : array tmp101 : array tmp102 : array tmp103 : array tmp106 : array tmp107 : array tmp109 : array tmp111 : array tmp115 : array tmp117 : array tmp120 : array tmp123 : array tmp125 : array tmp128 : array tmp130 : array tmp134 : array tmp139 : array tmp14 : array tmp141 : array tmp142 : array tmp16 : array tmp161 : array tmp163 : array tmp18 : array tmp19 : array tmp2 : array tmp22 : array tmp26 : array tmp28 : array tmp3 : array tmp30 : array tmp32 : array tmp33 : array tmp35 : array tmp36 : array tmp38 : array tmp4 : array tmp41 : array tmp44 : array tmp46 : array tmp48 : array tmp50 : array tmp52 : array tmp55 : array tmp59 : array tmp6 : array tmp63 : array tmp65 : array tmp68 : array tmp71 : array tmp74 : array tmp77 : array tmp80 : array tmp83 : array tmp86 : array tmp88 : array tmp9 : array tmp91 : array tmp93 : array tmp95 : array tmp98 : array \"\"\" tmp15 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 1 , 2 ), ( 0 ,)) tmp13 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 3 , 1 , 0 )) tmp22 = einsum ( tmp15 , ( 0 ,), v . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp62 = einsum ( tmp13 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp101 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp32 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 2 ), ( 0 , 3 , 4 )) tmp35 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 3 ), ( 0 , 2 , 4 )) tmp133 = einsum ( tmp13 , ( 0 , 1 , 2 ), tmp13 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp107 = einsum ( tmp22 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp106 = einsum ( tmp62 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp25 = einsum ( t1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp119 = einsum ( tmp15 , ( 0 ,), v . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp114 = einsum ( tmp13 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp16 = einsum ( tmp15 , ( 0 ,), v . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp15 tmp14 = einsum ( tmp13 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) tmp102 = einsum ( tmp101 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 1 , 0 )) tmp33 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp36 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp35 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp28 = einsum ( tmp13 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) tmp58 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp10 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp18 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp0 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp163 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp35 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp161 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp32 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp142 = einsum ( tmp101 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp141 = einsum ( tmp101 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) tmp139 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp134 = einsum ( t1 , ( 0 , 1 ), tmp133 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) del tmp133 tmp130 = einsum ( tmp107 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp128 = einsum ( tmp106 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp125 = einsum ( tmp13 , ( 0 , 1 , 2 ), tmp25 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp123 = einsum ( tmp25 , ( 0 , 1 , 2 ), tmp13 , ( 3 , 0 , 2 ), ( 3 , 1 )) tmp120 = einsum ( t1 , ( 0 , 1 ), tmp119 , ( 2 , 1 ), ( 0 , 2 )) del tmp119 tmp117 = einsum ( t1 , ( 0 , 1 ), tmp114 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp115 = einsum ( t1 , ( 0 , 1 ), tmp114 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp114 tmp111 = einsum ( tmp16 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp109 = einsum ( tmp14 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp103 = einsum ( tmp102 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp98 = einsum ( tmp33 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp95 = einsum ( t1 , ( 0 , 1 ), tmp36 , ( 2 , 0 ), ( 2 , 1 )) tmp93 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp28 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp91 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp28 , ( 4 , 5 , 1 , 2 ), ( 4 , 0 , 5 , 3 )) tmp88 = einsum ( tmp13 , ( 0 , 1 , 2 ), tmp35 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp86 = einsum ( tmp13 , ( 0 , 1 , 2 ), tmp32 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) del tmp13 tmp83 = einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp80 = einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp77 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp22 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp74 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp62 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp71 = einsum ( tmp22 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp68 = einsum ( tmp22 , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) tmp65 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp62 , ( 1 , 3 ), ( 0 , 2 )) tmp63 = einsum ( tmp62 , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) del tmp62 tmp59 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp58 , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) del tmp58 tmp55 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp52 = einsum ( tmp35 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp50 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp35 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp48 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp32 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp46 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp44 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 1 , 4 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) tmp41 = einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp38 = einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) tmp30 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp25 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp26 = einsum ( tmp25 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) del tmp25 tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t1 , ( 1 , 4 ), ( 3 , 0 , 2 , 4 )) tmp9 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp6 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp3 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) tmp2 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp101\" : tmp101 , f \"tmp102\" : tmp102 , f \"tmp103\" : tmp103 , f \"tmp106\" : tmp106 , f \"tmp107\" : tmp107 , f \"tmp109\" : tmp109 , f \"tmp111\" : tmp111 , f \"tmp115\" : tmp115 , f \"tmp117\" : tmp117 , f \"tmp120\" : tmp120 , f \"tmp123\" : tmp123 , f \"tmp125\" : tmp125 , f \"tmp128\" : tmp128 , f \"tmp130\" : tmp130 , f \"tmp134\" : tmp134 , f \"tmp139\" : tmp139 , f \"tmp14\" : tmp14 , f \"tmp141\" : tmp141 , f \"tmp142\" : tmp142 , f \"tmp16\" : tmp16 , f \"tmp161\" : tmp161 , f \"tmp163\" : tmp163 , f \"tmp18\" : tmp18 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp22\" : tmp22 , f \"tmp26\" : tmp26 , f \"tmp28\" : tmp28 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp35\" : tmp35 , f \"tmp36\" : tmp36 , f \"tmp38\" : tmp38 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp44\" : tmp44 , f \"tmp46\" : tmp46 , f \"tmp48\" : tmp48 , f \"tmp50\" : tmp50 , f \"tmp52\" : tmp52 , f \"tmp55\" : tmp55 , f \"tmp59\" : tmp59 , f \"tmp6\" : tmp6 , f \"tmp63\" : tmp63 , f \"tmp65\" : tmp65 , f \"tmp68\" : tmp68 , f \"tmp71\" : tmp71 , f \"tmp74\" : tmp74 , f \"tmp77\" : tmp77 , f \"tmp80\" : tmp80 , f \"tmp83\" : tmp83 , f \"tmp86\" : tmp86 , f \"tmp88\" : tmp88 , f \"tmp9\" : tmp9 , f \"tmp91\" : tmp91 , f \"tmp93\" : tmp93 , f \"tmp95\" : tmp95 , f \"tmp98\" : tmp98 }","title":"Returns"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.hbar_lmatvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T20:53:55.905303.","title":"hbar_lmatvec_ip"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.hbar_lmatvec_ip--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.hbar_lmatvec_ip--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RDFCC2.py 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:53:55.905303. 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\" ] tmp0 = np . copy ( r2 ) tmp0 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 0.5 tmp9 = np . copy ( ints . tmp35 ) * 2 del ints . tmp35 tmp9 += np . transpose ( v . xov , ( 1 , 2 , 0 )) tmp9 += ints . tmp32 * - 1 del ints . tmp32 tmp12 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp12 += t2 tmp10 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp9 , ( 0 , 2 , 3 ), ( 1 , 3 )) * 2 del tmp9 tmp8 = np . copy ( ints . tmp139 ) tmp8 += ints . tmp141 * - 1 tmp13 = einsum ( r2 , ( 0 , 1 , 2 ), tmp12 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) del tmp12 tmp14 = np . copy ( f . oo ) tmp14 += np . transpose ( ints . tmp0 , ( 1 , 0 )) tmp14 += ints . tmp36 * 2 tmp14 += ints . tmp33 * - 1 tmp7 = np . copy ( ints . tmp139 ) * 0.5 del ints . tmp139 tmp7 += ints . tmp142 tmp7 += ints . tmp141 * - 0.5 del ints . tmp141 tmp11 = np . copy ( ints . tmp163 ) * 2 del ints . tmp163 tmp11 += f . vv * - 1 tmp11 += ints . tmp161 * - 1 del ints . tmp161 tmp11 += einsum ( f . ov , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 2 , 1 )) tmp5 = np . copy ( r2 ) * 2 tmp5 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 1 tmp2 = np . copy ( r2 ) * - 1 tmp2 += np . transpose ( r2 , ( 1 , 0 , 2 )) * 2 tmp6 = np . copy ( f . oo ) tmp6 += np . transpose ( ints . tmp0 , ( 1 , 0 )) del ints . tmp0 tmp6 += ints . tmp107 * 2 del ints . tmp107 tmp6 += np . transpose ( ints . tmp16 , ( 1 , 0 )) * 2 del ints . tmp16 tmp6 += ints . tmp36 * 2 del ints . tmp36 tmp6 += ints . tmp106 * - 1 del ints . tmp106 tmp6 += ints . tmp14 * - 1 del ints . tmp14 tmp6 += ints . tmp33 * - 1 del ints . tmp33 tmp3 = np . copy ( ints . tmp117 ) del ints . tmp117 tmp3 += np . transpose ( ints . tmp46 , ( 0 , 2 , 1 , 3 )) del ints . tmp46 tmp3 += np . transpose ( ints . tmp48 , ( 0 , 2 , 1 , 3 )) del ints . tmp48 tmp3 += np . transpose ( ints . tmp74 , ( 0 , 2 , 1 , 3 )) del ints . tmp74 tmp3 += np . transpose ( ints . tmp91 , ( 0 , 2 , 1 , 3 )) del ints . tmp91 tmp3 += ints . tmp30 * - 1 del ints . tmp30 tmp3 += np . transpose ( ints . tmp50 , ( 0 , 2 , 1 , 3 )) * - 2 del ints . tmp50 tmp3 += np . transpose ( ints . tmp6 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp6 tmp3 += np . transpose ( ints . tmp77 , ( 0 , 2 , 1 , 3 )) * - 2 del ints . tmp77 tmp4 = np . copy ( ints . tmp111 ) * 2 del ints . tmp111 tmp4 += ints . tmp123 del ints . tmp123 tmp4 += ints . tmp130 * 2 del ints . tmp130 tmp4 += ints . tmp1 del ints . tmp1 tmp4 += ints . tmp26 del ints . tmp26 tmp4 += ints . tmp3 del ints . tmp3 tmp4 += ints . tmp41 * 2 del ints . tmp41 tmp4 += ints . tmp55 del ints . tmp55 tmp4 += ints . tmp65 * 2 del ints . tmp65 tmp4 += ints . tmp68 * 2 del ints . tmp68 tmp4 += ints . tmp80 * 2 del ints . tmp80 tmp4 += ints . tmp95 * 2 del ints . tmp95 tmp4 += ints . tmp9 del ints . tmp9 tmp4 += f . ov * - 1 tmp4 += ints . tmp109 * - 1 del ints . tmp109 tmp4 += ints . tmp120 * - 2 del ints . tmp120 tmp4 += ints . tmp128 * - 1 del ints . tmp128 tmp4 += ints . tmp22 * - 2 del ints . tmp22 tmp4 += ints . tmp2 * - 1 del ints . tmp2 tmp4 += ints . tmp38 * - 1 del ints . tmp38 tmp4 += ints . tmp4 * - 2 del ints . tmp4 tmp4 += ints . tmp52 * - 2 del ints . tmp52 tmp4 += ints . tmp63 * - 1 del ints . tmp63 tmp4 += ints . tmp71 * - 4 del ints . tmp71 tmp4 += ints . tmp83 * - 1 del ints . tmp83 tmp4 += ints . tmp98 * - 1 del ints . tmp98 tmp1 = np . copy ( ints . tmp103 ) del ints . tmp103 tmp1 += ints . tmp115 del ints . tmp115 tmp1 += ints . tmp134 del ints . tmp134 tmp1 += np . transpose ( ints . tmp19 , ( 0 , 2 , 1 , 3 )) del ints . tmp19 tmp1 += ints . tmp44 del ints . tmp44 tmp1 += ints . tmp86 del ints . tmp86 tmp1 += ints . tmp93 del ints . tmp93 tmp1 += np . transpose ( ints . tmp10 , ( 1 , 2 , 0 , 3 )) * - 1 tmp1 += ints . tmp125 * - 1 del ints . tmp125 tmp1 += ints . tmp28 * - 1 del ints . tmp28 tmp1 += ints . tmp59 * - 1 del ints . tmp59 tmp1 += ints . tmp88 * - 2 del ints . tmp88 r2new = einsum ( r1 , ( 0 ,), ints . tmp10 , ( 1 , 0 , 2 , 3 ), ( 2 , 1 , 3 )) del ints . tmp10 r2new += einsum ( ints . tmp18 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 ), ( 1 , 0 , 4 )) del ints . tmp18 r2new += einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp102 , ( 1 , 0 , 3 , 4 ), ( 4 , 3 , 2 )) del ints . tmp102 r2new += einsum ( r1 , ( 0 ,), f . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 r2new += einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp142 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) del ints . tmp142 r2new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) * - 2 del tmp7 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp8 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * - 1 del tmp8 r2new += einsum ( v . xov , ( 0 , 1 , 2 ), tmp10 , ( 3 , 0 ), ( 1 , 3 , 2 )) del tmp10 r2new += einsum ( tmp11 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp11 r2new += einsum ( ints . tmp101 , ( 0 , 1 , 2 , 3 ), tmp13 , ( 3 ,), ( 0 , 1 , 2 )) * - 2 del ints . tmp101 , tmp13 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp14 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new += einsum ( tmp14 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp14 r1new = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 1 , 0 , 3 ), ( 2 ,)) * - 2 del tmp0 , tmp1 r1new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 2 , 0 , 3 ), ( 1 ,)) * - 1 del tmp3 , tmp2 r1new += einsum ( tmp4 , ( 0 , 1 ), tmp5 , ( 0 , 2 , 1 ), ( 2 ,)) del tmp4 , tmp5 r1new += einsum ( tmp6 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) * - 1 del tmp6 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.hbar_lmatvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T20:54:43.896678.","title":"hbar_lmatvec_ea_intermediates"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.hbar_lmatvec_ea_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.hbar_lmatvec_ea_intermediates--returns","text":"tmp1 : array tmp10 : array tmp100 : array tmp102 : array tmp105 : array tmp107 : array tmp11 : array tmp111 : array tmp114 : array tmp12 : array tmp120 : array tmp123 : array tmp125 : array tmp127 : array tmp130 : array tmp133 : array tmp152 : array tmp16 : array tmp19 : array tmp2 : array tmp20 : array tmp23 : array tmp25 : array tmp29 : array tmp3 : array tmp31 : array tmp34 : array tmp35 : array tmp37 : array tmp38 : array tmp4 : array tmp40 : array tmp41 : array tmp44 : array tmp47 : array tmp50 : array tmp53 : array tmp56 : array tmp58 : array tmp61 : array tmp63 : array tmp66 : array tmp67 : array tmp69 : array tmp72 : array tmp75 : array tmp82 : array tmp83 : array tmp86 : array tmp89 : array tmp92 : array tmp93 : array tmp96 : array tmp97 : array Source code in ebcc/codegen/RDFCC2.py 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 def hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:54:43.896678. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp1 : array tmp10 : array tmp100 : array tmp102 : array tmp105 : array tmp107 : array tmp11 : array tmp111 : array tmp114 : array tmp12 : array tmp120 : array tmp123 : array tmp125 : array tmp127 : array tmp130 : array tmp133 : array tmp152 : array tmp16 : array tmp19 : array tmp2 : array tmp20 : array tmp23 : array tmp25 : array tmp29 : array tmp3 : array tmp31 : array tmp34 : array tmp35 : array tmp37 : array tmp38 : array tmp4 : array tmp40 : array tmp41 : array tmp44 : array tmp47 : array tmp50 : array tmp53 : array tmp56 : array tmp58 : array tmp61 : array tmp63 : array tmp66 : array tmp67 : array tmp69 : array tmp72 : array tmp75 : array tmp82 : array tmp83 : array tmp86 : array tmp89 : array tmp92 : array tmp93 : array tmp96 : array tmp97 : array \"\"\" tmp15 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 1 , 2 ), ( 0 ,)) tmp65 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 3 , 1 , 0 )) tmp20 = einsum ( tmp15 , ( 0 ,), v . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp66 = einsum ( tmp65 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp34 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 2 ), ( 0 , 3 , 4 )) tmp37 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 3 ), ( 0 , 2 , 4 )) tmp132 = einsum ( t1 , ( 0 , 1 ), tmp20 , ( 2 , 1 ), ( 0 , 2 )) tmp129 = einsum ( tmp66 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp18 = einsum ( t1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp16 = einsum ( tmp15 , ( 0 ,), v . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp113 = einsum ( tmp15 , ( 0 ,), v . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp15 tmp110 = einsum ( tmp65 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) tmp25 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp96 = einsum ( tmp34 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp92 = einsum ( tmp37 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp82 = einsum ( tmp65 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) tmp12 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp40 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp10 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 2 , 1 ), ( 2 , 0 )) tmp152 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp133 = einsum ( tmp132 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) del tmp132 tmp130 = einsum ( tmp129 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) del tmp129 tmp127 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp18 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp125 = einsum ( tmp65 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) tmp123 = einsum ( tmp18 , ( 0 , 1 , 2 ), tmp65 , ( 3 , 0 , 2 ), ( 3 , 1 )) del tmp65 tmp120 = einsum ( tmp16 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp114 = einsum ( tmp113 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) del tmp113 tmp111 = einsum ( tmp110 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) del tmp110 tmp107 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp25 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp105 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) tmp102 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp37 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) tmp100 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp34 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) tmp97 = einsum ( tmp96 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp93 = einsum ( tmp92 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp89 = einsum ( tmp82 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp86 = einsum ( tmp82 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp83 = einsum ( tmp82 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp75 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 1 , 3 ), ( 0 , 2 )) tmp72 = einsum ( tmp20 , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) tmp69 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp66 , ( 1 , 3 ), ( 0 , 2 )) tmp67 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp66 , ( 1 , 2 ), ( 0 , 3 )) tmp63 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 3 , 1 )) tmp61 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 5 , 3 , 1 )) tmp58 = einsum ( tmp37 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) tmp56 = einsum ( tmp34 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) tmp53 = einsum ( tmp34 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp50 = einsum ( tmp37 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp47 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp44 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp41 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) tmp38 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp37 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp35 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp34 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp31 = einsum ( tmp18 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp29 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp23 = einsum ( tmp18 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) tmp19 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp18 , ( 1 , 3 , 0 ), ( 2 , 3 )) del tmp18 tmp11 = einsum ( tmp10 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 3 ), ( 0 , 2 )) tmp3 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) tmp2 = einsum ( t1 , ( 0 , 1 ), f . vv , ( 2 , 1 ), ( 0 , 2 )) tmp1 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp102\" : tmp102 , f \"tmp105\" : tmp105 , f \"tmp107\" : tmp107 , f \"tmp11\" : tmp11 , f \"tmp111\" : tmp111 , f \"tmp114\" : tmp114 , f \"tmp12\" : tmp12 , f \"tmp120\" : tmp120 , f \"tmp123\" : tmp123 , f \"tmp125\" : tmp125 , f \"tmp127\" : tmp127 , f \"tmp130\" : tmp130 , f \"tmp133\" : tmp133 , f \"tmp152\" : tmp152 , f \"tmp16\" : tmp16 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp23\" : tmp23 , f \"tmp25\" : tmp25 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp31\" : tmp31 , f \"tmp34\" : tmp34 , f \"tmp35\" : tmp35 , f \"tmp37\" : tmp37 , f \"tmp38\" : tmp38 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp41\" : tmp41 , f \"tmp44\" : tmp44 , f \"tmp47\" : tmp47 , f \"tmp50\" : tmp50 , f \"tmp53\" : tmp53 , f \"tmp56\" : tmp56 , f \"tmp58\" : tmp58 , f \"tmp61\" : tmp61 , f \"tmp63\" : tmp63 , f \"tmp66\" : tmp66 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp72\" : tmp72 , f \"tmp75\" : tmp75 , f \"tmp82\" : tmp82 , f \"tmp83\" : tmp83 , f \"tmp86\" : tmp86 , f \"tmp89\" : tmp89 , f \"tmp92\" : tmp92 , f \"tmp93\" : tmp93 , f \"tmp96\" : tmp96 , f \"tmp97\" : tmp97 }","title":"Returns"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.hbar_lmatvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T20:54:43.926697.","title":"hbar_lmatvec_ea"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.hbar_lmatvec_ea--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/RDFCC2/#ebcc.codegen.RDFCC2.hbar_lmatvec_ea--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RDFCC2.py 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:54:43.926697. 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\" ] tmp11 = einsum ( t1 , ( 0 , 1 ), r2 , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp0 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp0 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 0.5 tmp22 = np . copy ( ints . tmp37 ) * 2 del ints . tmp37 tmp22 += np . transpose ( v . xov , ( 1 , 2 , 0 )) tmp22 += ints . tmp34 * - 1 del ints . tmp34 tmp27 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp27 += t2 * - 0.5 tmp24 = einsum ( t1 , ( 0 , 1 ), f . ov , ( 0 , 2 ), ( 2 , 1 )) tmp12 = einsum ( tmp11 , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 0 , 3 , 1 )) del tmp11 tmp6 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 0.5 tmp6 += np . transpose ( r2 , ( 2 , 1 , 0 )) tmp16 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp16 += t2 * - 1 tmp19 = einsum ( r2 , ( 0 , 1 , 2 ), t2 , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp21 = np . copy ( ints . tmp105 ) tmp21 += ints . tmp29 * - 1 tmp23 = einsum ( tmp22 , ( 0 , 1 , 2 ), tmp0 , ( 0 , 1 , 3 ), ( 3 , 2 )) * 2 del tmp22 tmp28 = einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 2 , 0 ), ( 1 ,)) del tmp27 tmp20 = np . copy ( ints . tmp107 ) tmp20 += ints . tmp29 * 0.5 tmp20 += ints . tmp105 * - 0.5 tmp26 = np . copy ( f . oo ) tmp26 += np . transpose ( ints . tmp10 , ( 1 , 0 )) del ints . tmp10 tmp26 += ints . tmp92 * 2 del ints . tmp92 tmp26 += ints . tmp96 * - 1 del ints . tmp96 tmp25 = np . copy ( ints . tmp38 ) * 2 tmp25 += f . vv * - 1 tmp25 += ints . tmp35 * - 1 tmp25 += np . transpose ( tmp24 , ( 1 , 0 )) del tmp24 tmp5 = np . copy ( np . transpose ( ints . tmp125 , ( 0 , 1 , 3 , 2 ))) del ints . tmp125 tmp5 += np . transpose ( ints . tmp29 , ( 0 , 1 , 3 , 2 )) del ints . tmp29 tmp5 += ints . tmp105 * - 1 del ints . tmp105 tmp2 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 1 tmp2 += np . transpose ( r2 , ( 2 , 1 , 0 )) * 2 tmp10 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * 2 tmp10 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 1 tmp8 = np . copy ( ints . tmp102 ) * 2 del ints . tmp102 tmp8 += np . transpose ( ints . tmp127 , ( 0 , 1 , 3 , 2 )) del ints . tmp127 tmp8 += ints . tmp25 tmp8 += ints . tmp100 * - 1 del ints . tmp100 tmp8 += ints . tmp107 * - 1 tmp13 = np . copy ( tmp12 ) * - 0.5 tmp13 += np . transpose ( tmp12 , ( 0 , 2 , 1 )) tmp14 = np . copy ( tmp12 ) * 2 tmp14 += np . transpose ( tmp12 , ( 0 , 2 , 1 )) * - 1 del tmp12 tmp9 = np . copy ( ints . tmp114 ) * 2 del ints . tmp114 tmp9 += ints . tmp11 del ints . tmp11 tmp9 += ints . tmp123 del ints . tmp123 tmp9 += ints . tmp133 * 2 del ints . tmp133 tmp9 += ints . tmp1 del ints . tmp1 tmp9 += ints . tmp23 del ints . tmp23 tmp9 += ints . tmp3 del ints . tmp3 tmp9 += ints . tmp44 * 2 del ints . tmp44 tmp9 += ints . tmp53 del ints . tmp53 tmp9 += ints . tmp69 * 2 del ints . tmp69 tmp9 += ints . tmp72 * 2 del ints . tmp72 tmp9 += ints . tmp83 * 2 del ints . tmp83 tmp9 += ints . tmp93 * 2 del ints . tmp93 tmp9 += f . ov * - 1 tmp9 += ints . tmp111 * - 1 del ints . tmp111 tmp9 += ints . tmp120 * - 2 del ints . tmp120 tmp9 += ints . tmp130 * - 1 del ints . tmp130 tmp9 += ints . tmp20 * - 2 tmp9 += ints . tmp2 * - 1 del ints . tmp2 tmp9 += ints . tmp41 * - 1 del ints . tmp41 tmp9 += ints . tmp4 * - 2 del ints . tmp4 tmp9 += ints . tmp50 * - 2 del ints . tmp50 tmp9 += ints . tmp67 * - 1 del ints . tmp67 tmp9 += ints . tmp75 * - 4 del ints . tmp75 tmp9 += ints . tmp86 * - 1 del ints . tmp86 tmp9 += ints . tmp97 * - 1 del ints . tmp97 tmp15 = np . copy ( f . vv ) tmp15 += np . transpose ( ints . tmp16 , ( 1 , 0 )) * 2 del ints . tmp16 tmp15 += ints . tmp35 del ints . tmp35 tmp15 += np . transpose ( ints . tmp19 , ( 1 , 0 )) * - 1 del ints . tmp19 tmp15 += ints . tmp38 * - 2 del ints . tmp38 tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 ), t1 , ( 3 , 1 ), ( 0 , 3 , 2 )) * 2 del tmp6 tmp3 = np . copy ( ints . tmp47 ) del ints . tmp47 tmp3 += ints . tmp58 * 2 del ints . tmp58 tmp3 += ints . tmp56 * - 1 del ints . tmp56 tmp3 += np . transpose ( ints . tmp63 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp63 tmp4 = einsum ( tmp0 , ( 0 , 1 , 2 ), t1 , ( 3 , 1 ), ( 0 , 3 , 2 )) tmp18 = np . copy ( f . ov ) tmp18 += ints . tmp20 * 2 del ints . tmp20 tmp18 += ints . tmp66 * - 1 del ints . tmp66 tmp17 = einsum ( r1 , ( 0 ,), t1 , ( 1 , 0 ), ( 1 ,)) * 0.5 tmp17 += einsum ( r2 , ( 0 , 1 , 2 ), tmp16 , ( 2 , 3 , 1 , 0 ), ( 3 ,)) * - 0.5 del tmp16 tmp1 = np . copy ( ints . tmp12 ) tmp1 += ints . tmp31 del ints . tmp31 tmp1 += np . transpose ( ints . tmp89 , ( 0 , 3 , 1 , 2 )) del ints . tmp89 tmp1 += np . transpose ( ints . tmp61 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp61 r2new = einsum ( r1 , ( 0 ,), ints . tmp12 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del ints . tmp12 r2new += einsum ( r1 , ( 0 ,), f . ov , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new += einsum ( ints . tmp152 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 ), ( 1 , 0 , 4 )) del ints . tmp152 r2new += einsum ( ints . tmp107 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 0 ), ( 3 , 4 , 1 )) del ints . tmp107 r2new += einsum ( tmp19 , ( 0 , 1 , 2 ), ints . tmp25 , ( 2 , 1 , 3 , 4 ), ( 4 , 3 , 0 )) del tmp19 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp20 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 , 3 )) * - 2 del tmp20 r2new += einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) del tmp21 r2new += einsum ( tmp23 , ( 0 , 1 ), v . xov , ( 1 , 2 , 3 ), ( 3 , 0 , 2 )) del tmp23 r2new += einsum ( tmp25 , ( 0 , 1 ), r2 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new += einsum ( tmp25 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp25 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp26 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp26 r2new += einsum ( ints . tmp25 , ( 0 , 1 , 2 , 3 ), tmp28 , ( 0 ,), ( 3 , 2 , 1 )) * - 2 del ints . tmp25 , tmp28 r1new = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp1 , ( 0 , 3 , 2 , 1 ), ( 3 ,)) * - 2 del tmp0 , tmp1 r1new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 2 , 1 ), ( 3 ,)) * - 1 del tmp3 , tmp2 r1new += einsum ( tmp4 , ( 0 , 1 , 2 ), tmp5 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * 2 del tmp4 , tmp5 r1new += einsum ( tmp7 , ( 0 , 1 , 2 ), tmp8 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) del tmp7 , tmp8 r1new += einsum ( tmp10 , ( 0 , 1 , 2 ), tmp9 , ( 0 , 1 ), ( 2 ,)) del tmp10 , tmp9 r1new += einsum ( ints . tmp82 , ( 0 , 1 , 2 , 3 ), tmp13 , ( 0 , 1 , 2 ), ( 3 ,)) * - 2 del ints . tmp82 , tmp13 r1new += einsum ( ints . tmp40 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 0 , 1 , 2 ), ( 3 ,)) * - 1 del ints . tmp40 , tmp14 r1new += einsum ( tmp15 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) del tmp15 r1new += einsum ( tmp17 , ( 0 ,), tmp18 , ( 0 , 1 ), ( 1 ,)) * - 2 del tmp17 , tmp18 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RDFCCD/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-17T20:50:55.777047 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.8.0-40-generic ebcc . codegen . RDFCCD . energy ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:50:56.138015. Parameters t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns e_cc : float Coupled cluster energy. Source code in ebcc/codegen/RDFCCD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:50:56.138015. Parameters ---------- t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- e_cc : float Coupled cluster energy. \"\"\" tmp0 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp0 += t2 * - 1 tmp1 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp0 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) * 0.5 del tmp0 e_cc = einsum ( v . xov , ( 0 , 1 , 2 ), tmp1 , ( 1 , 2 , 0 ), ()) * 2 del tmp1 return e_cc ebcc . codegen . RDFCCD . update_amps ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:50:59.543398. Parameters f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns t2new : array Updated T2 residuals. Source code in ebcc/codegen/RDFCCD.py 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 def update_amps ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:50:59.543398. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- t2new : array Updated T2 residuals. \"\"\" tmp3 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 2 , 4 ), ( 3 , 4 , 0 )) tmp12 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) tmp12 += tmp3 * - 1 tmp1 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp17 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp17 += t2 * - 1 tmp13 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp12 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) del tmp12 tmp4 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) tmp8 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp18 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp17 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) del tmp17 tmp14 = np . copy ( np . transpose ( tmp8 , ( 1 , 0 , 3 , 2 ))) tmp14 += tmp4 * - 1 tmp14 += np . transpose ( tmp13 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp13 tmp21 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp18 , ( 3 , 2 , 0 ), ( 1 , 3 )) tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 3 , 1 )) * 0.5 del tmp18 tmp11 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) tmp15 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp14 tmp9 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp8 tmp7 = einsum ( f . vv , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp22 = einsum ( tmp21 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 4 , 3 )) del tmp21 tmp20 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp19 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * 2 del tmp19 tmp24 = np . copy ( np . transpose ( tmp1 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp24 += np . transpose ( tmp1 , ( 1 , 0 , 3 , 2 )) * 2 tmp0 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp16 = np . copy ( tmp11 ) del tmp11 tmp16 += tmp15 del tmp15 tmp10 = np . copy ( tmp7 ) del tmp7 tmp10 += tmp9 * - 1 del tmp9 tmp23 = np . copy ( np . transpose ( tmp20 , ( 1 , 0 , 2 , 3 ))) del tmp20 tmp23 += np . transpose ( tmp22 , ( 0 , 1 , 3 , 2 )) del tmp22 tmp2 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp6 = einsum ( f . oo , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp25 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp24 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) del tmp24 tmp5 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 1 , 0 )) t2new = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 3 , 4 , 5 ), ( 2 , 0 , 4 , 5 )) del tmp0 t2new += np . transpose ( tmp1 , ( 1 , 0 , 3 , 2 )) del tmp1 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) del tmp2 t2new += einsum ( tmp3 , ( 0 , 1 , 2 ), tmp3 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) del tmp3 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) del tmp4 t2new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 5 ), ( 1 , 0 , 5 , 4 )) del tmp5 t2new += np . transpose ( tmp6 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp6 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp6 t2new += np . transpose ( tmp10 , ( 0 , 1 , 3 , 2 )) t2new += np . transpose ( tmp10 , ( 1 , 0 , 2 , 3 )) del tmp10 t2new += tmp16 * - 1 t2new += np . transpose ( tmp16 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp16 t2new += tmp23 * - 1 t2new += np . transpose ( tmp23 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp23 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp25 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp25 return { f \"t2new\" : t2new } ebcc . codegen . RDFCCD . update_lams ( f = None , l2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:51:04.804985. Parameters f : array Fock matrix. l2 : array L2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns l2new : array Updated L2 residuals. Source code in ebcc/codegen/RDFCCD.py 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 def update_lams ( f = None , l2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:04.804985. Parameters ---------- f : array Fock matrix. l2 : array L2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- l2new : array Updated L2 residuals. \"\"\" tmp18 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp18 += t2 * - 1 tmp25 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp25 += t2 tmp29 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp29 += t2 * - 0.5 tmp34 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp34 += t2 * - 1 tmp1 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp14 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp14 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp19 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp18 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) del tmp18 tmp26 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp25 , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) * 2 del tmp25 tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 0 , 1 ), ( 4 , 3 )) * 2 del tmp29 tmp35 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp34 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) del tmp34 tmp8 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp7 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 5 , 1 ), ( 5 , 0 , 4 , 3 )) tmp15 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) del tmp14 tmp21 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp21 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp20 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) tmp20 += tmp19 del tmp19 tmp27 = einsum ( tmp26 , ( 0 , 1 ), v . xov , ( 2 , 1 , 3 ), ( 0 , 3 , 2 )) * 0.5 del tmp26 tmp31 = einsum ( tmp30 , ( 0 , 1 ), v . xov , ( 2 , 3 , 1 ), ( 3 , 0 , 2 )) del tmp30 tmp38 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp35 , ( 3 , 2 , 0 ), ( 1 , 3 )) tmp36 = einsum ( tmp35 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 3 , 1 )) * 0.5 del tmp35 tmp9 = np . copy ( np . transpose ( tmp7 , ( 1 , 0 , 3 , 2 ))) * - 1 tmp9 += tmp8 del tmp8 tmp16 = np . copy ( tmp13 ) del tmp13 tmp16 += np . transpose ( tmp15 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp15 tmp22 = einsum ( tmp20 , ( 0 , 1 , 2 ), tmp21 , ( 0 , 3 , 4 , 1 ), ( 3 , 4 , 2 )) del tmp20 , tmp21 tmp28 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp27 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) * 2 del tmp27 tmp32 = einsum ( tmp31 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 4 , 1 )) del tmp31 tmp39 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp38 , ( 4 , 2 ), ( 4 , 3 , 0 , 1 )) del tmp38 tmp37 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp36 , ( 4 , 1 ), ( 3 , 2 , 0 , 4 )) * 2 del tmp36 tmp6 = einsum ( f . vv , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp10 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 0 , 5 ), ( 5 , 1 , 4 , 3 )) del tmp9 tmp17 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 0 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) del tmp16 tmp23 = einsum ( tmp22 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 4 , 1 )) del tmp22 tmp12 = einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) del tmp7 tmp0 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp33 = np . copy ( np . transpose ( tmp28 , ( 1 , 0 , 2 , 3 ))) del tmp28 tmp33 += np . transpose ( tmp32 , ( 0 , 1 , 3 , 2 )) del tmp32 tmp3 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp40 = np . copy ( np . transpose ( tmp37 , ( 1 , 0 , 2 , 3 ))) del tmp37 tmp40 += np . transpose ( tmp39 , ( 1 , 0 , 3 , 2 )) del tmp39 tmp4 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp2 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp11 = np . copy ( tmp6 ) del tmp6 tmp11 += tmp10 del tmp10 tmp24 = np . copy ( tmp12 ) del tmp12 tmp24 += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp17 tmp24 += np . transpose ( tmp23 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp23 tmp5 = einsum ( f . oo , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) l2new = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) del tmp0 l2new += np . transpose ( tmp1 , ( 3 , 2 , 1 , 0 )) l2new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 3 , 2 )) del tmp2 l2new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 3 , 2 , 4 , 5 ), ( 4 , 5 , 1 , 0 )) del tmp1 , tmp3 l2new += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp4 l2new += np . transpose ( tmp5 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp5 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp5 l2new += np . transpose ( tmp11 , ( 3 , 2 , 0 , 1 )) l2new += np . transpose ( tmp11 , ( 2 , 3 , 1 , 0 )) del tmp11 l2new += np . transpose ( tmp24 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp24 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp24 l2new += np . transpose ( tmp33 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp33 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp33 l2new += np . transpose ( tmp40 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp40 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp40 return { f \"l2new\" : l2new } ebcc . codegen . RDFCCD . make_rdm1_f ( l2 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:51:05.152915. Parameters l2 : array L2 amplitudes. t2 : array T2 amplitudes. Returns rdm1 : array One-particle reduced density matrix. Source code in ebcc/codegen/RDFCCD.py 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 def make_rdm1_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:05.152915. 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 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp0 += t2 * - 0.5 rdm1 . vv = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 0 , 1 ), ( 4 , 3 )) * 4 rdm1 . oo = np . copy ( delta . oo ) * 2 del delta rdm1 . oo += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 2 , 4 , 1 , 0 ), ( 4 , 3 )) * - 4 del tmp0 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 ebcc . codegen . RDFCCD . make_rdm2_f ( l2 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:51:17.247154. Parameters l2 : array L2 amplitudes. t2 : array T2 amplitudes. Returns rdm2 : array Two-particle reduced density matrix. Source code in ebcc/codegen/RDFCCD.py 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 def make_rdm2_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:17.247154. 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 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp3 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp6 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp6 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) tmp1 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp1 += t2 * - 0.5 tmp13 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp13 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp7 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 4 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) tmp2 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 0 , 4 ), ( 4 , 1 )) * 2 del tmp1 tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp13 , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) * 0.5 tmp26 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp26 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp22 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp22 += t2 tmp24 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp24 += t2 * 2 tmp28 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) tmp28 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp5 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp4 tmp8 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) del tmp7 tmp16 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 1 , 4 ), ( 0 , 4 , 3 , 2 )) tmp15 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 2 ), ( 0 , 1 , 3 , 4 )) * 2 tmp18 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 5 , 1 ), ( 5 , 0 , 4 , 3 )) tmp20 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 3 , 4 , 0 , 5 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 4 , 5 ), ( 5 , 4 , 0 , 1 )) tmp10 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 1 , 4 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) del tmp3 tmp32 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 1 , 0 ), ( 4 , 5 , 3 , 2 )) tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp26 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp26 tmp31 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 4 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) del tmp6 tmp30 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp13 , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) del tmp13 tmp23 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 0 , 5 ), ( 5 , 1 , 4 , 3 )) del tmp22 tmp25 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp24 , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) del tmp24 tmp29 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp28 , ( 1 , 4 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) del tmp28 tmp9 = np . copy ( tmp5 ) * 2 tmp9 += np . transpose ( tmp8 , ( 1 , 0 , 3 , 2 )) del tmp8 tmp17 = np . copy ( np . transpose ( tmp15 , ( 1 , 0 , 2 , 3 ))) del tmp15 tmp17 += np . transpose ( tmp16 , ( 0 , 1 , 3 , 2 )) del tmp16 tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) tmp21 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) tmp12 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 0 , 4 , 5 ), ( 3 , 2 , 4 , 5 )) tmp11 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp10 rdm2 . vvvv = np . copy ( np . transpose ( tmp32 , ( 1 , 0 , 2 , 3 ))) * - 2 rdm2 . vvvv += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * 4 del tmp32 rdm2 . vvoo = np . copy ( np . transpose ( l2 , ( 0 , 1 , 3 , 2 ))) * - 2 rdm2 . vvoo += l2 * 4 rdm2 . vovo = np . copy ( np . transpose ( tmp27 , ( 3 , 0 , 2 , 1 ))) * - 2 rdm2 . vovo += np . transpose ( tmp31 , ( 3 , 0 , 2 , 1 )) * - 2 del tmp31 rdm2 . vovo += einsum ( delta . oo , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * 4 rdm2 . vovo += np . transpose ( tmp20 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . voov = np . copy ( np . transpose ( tmp25 , ( 2 , 1 , 0 , 3 ))) * 2 rdm2 . voov += np . transpose ( tmp23 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . voov += einsum ( delta . oo , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * - 2 del tmp30 rdm2 . voov += np . transpose ( tmp18 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . voov += np . transpose ( tmp27 , ( 3 , 0 , 1 , 2 )) * 2 rdm2 . ovvo = np . copy ( np . transpose ( tmp27 , ( 0 , 3 , 2 , 1 ))) * 4 del tmp27 rdm2 . ovvo += np . transpose ( tmp29 , ( 0 , 3 , 2 , 1 )) * - 2 del tmp29 rdm2 . ovvo += einsum ( delta . oo , ( 0 , 1 ), tmp14 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * - 4 rdm2 . ovvo += np . transpose ( tmp18 , ( 1 , 2 , 3 , 0 )) * - 2 del tmp18 rdm2 . ovov = np . copy ( np . transpose ( tmp23 , ( 1 , 2 , 0 , 3 ))) * 2 del tmp23 rdm2 . ovov += np . transpose ( tmp25 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp25 rdm2 . ovov += einsum ( delta . oo , ( 0 , 1 ), tmp14 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * 8 del tmp14 rdm2 . ovov += np . transpose ( tmp20 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp20 rdm2 . oovv = np . copy ( tmp9 ) * 2 rdm2 . oovv += np . transpose ( tmp9 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp9 rdm2 . oovv += tmp11 * - 4 rdm2 . oovv += np . transpose ( tmp11 , ( 0 , 1 , 3 , 2 )) * 2 rdm2 . oovv += np . transpose ( tmp11 , ( 1 , 0 , 2 , 3 )) * 2 rdm2 . oovv += np . transpose ( tmp11 , ( 1 , 0 , 3 , 2 )) * - 4 del tmp11 rdm2 . oovv += tmp12 * 4 rdm2 . oovv += np . transpose ( tmp12 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp12 rdm2 . oovv += tmp17 * - 4 rdm2 . oovv += np . transpose ( tmp17 , ( 0 , 1 , 3 , 2 )) * 2 rdm2 . oovv += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * 2 rdm2 . oovv += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) * - 4 del tmp17 rdm2 . oovv += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . oovv += t2 * 4 rdm2 . oovv += tmp19 * 2 del tmp19 rdm2 . oovv += np . transpose ( tmp21 , ( 0 , 1 , 3 , 2 )) * 2 del tmp21 rdm2 . oovv += np . transpose ( tmp5 , ( 1 , 0 , 3 , 2 )) * 4 del tmp5 rdm2 . oooo = np . copy ( np . transpose ( tmp0 , ( 2 , 3 , 1 , 0 ))) * - 2 rdm2 . oooo += np . transpose ( tmp0 , ( 3 , 2 , 1 , 0 )) * 4 del tmp0 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 4 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 4 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * 2 rdm2 . oooo += einsum ( tmp2 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oooo += einsum ( tmp2 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 4 del tmp2 , delta 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 = np . transpose ( rdm2 , ( 0 , 2 , 1 , 3 )) return rdm2 ebcc . codegen . RDFCCD . hbar_matvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:51:25.930675. Parameters f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp13 : array tmp15 : array tmp16 : array tmp18 : array tmp23 : array tmp24 : array tmp25 : array tmp27 : array tmp28 : array tmp3 : array tmp30 : array tmp31 : array tmp32 : array tmp37 : array tmp38 : array tmp39 : array tmp4 : array tmp40 : array tmp41 : array tmp43 : array tmp49 : array tmp50 : array tmp6 : array tmp7 : array Source code in ebcc/codegen/RDFCCD.py 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 def hbar_matvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:25.930675. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp13 : array tmp15 : array tmp16 : array tmp18 : array tmp23 : array tmp24 : array tmp25 : array tmp27 : array tmp28 : array tmp3 : array tmp30 : array tmp31 : array tmp32 : array tmp37 : array tmp38 : array tmp39 : array tmp4 : array tmp40 : array tmp41 : array tmp43 : array tmp49 : array tmp50 : array tmp6 : array tmp7 : array \"\"\" tmp3 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 2 , 4 ), ( 3 , 4 , 0 )) tmp6 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp0 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp15 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp12 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp50 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp49 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp43 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp41 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp40 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) tmp39 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp38 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) tmp37 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp32 = einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp31 = einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) tmp30 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp28 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp25 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp24 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp23 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) tmp18 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp16 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp12 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 4 , 5 )) del tmp12 tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp4 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) return { f \"tmp0\" : tmp0 , f \"tmp13\" : tmp13 , f \"tmp15\" : tmp15 , f \"tmp16\" : tmp16 , f \"tmp18\" : tmp18 , f \"tmp23\" : tmp23 , f \"tmp24\" : tmp24 , f \"tmp25\" : tmp25 , f \"tmp27\" : tmp27 , f \"tmp28\" : tmp28 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp31\" : tmp31 , f \"tmp32\" : tmp32 , f \"tmp37\" : tmp37 , f \"tmp38\" : tmp38 , f \"tmp39\" : tmp39 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp41\" : tmp41 , f \"tmp43\" : tmp43 , f \"tmp49\" : tmp49 , f \"tmp50\" : tmp50 , f \"tmp6\" : tmp6 , f \"tmp7\" : tmp7 } ebcc . codegen . RDFCCD . hbar_matvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:51:25.944875. Parameters f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RDFCCD.py 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 def hbar_matvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:25.944875. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp0 = np . copy ( r2 ) * - 1 tmp0 += np . transpose ( r2 , ( 1 , 0 , 2 )) * 2 tmp8 = einsum ( tmp0 , ( 0 , 1 , 2 ), ints . tmp15 , ( 1 , 0 , 2 , 3 ), ( 3 ,)) * 0.5 del ints . tmp15 tmp3 = np . copy ( ints . tmp18 ) tmp3 += ints . tmp31 * - 1 tmp4 = np . copy ( ints . tmp16 ) del ints . tmp16 tmp4 += np . transpose ( ints . tmp25 , ( 2 , 0 , 1 , 3 )) del ints . tmp25 tmp10 = np . copy ( f . ov ) tmp10 += ints . tmp24 * 2 del ints . tmp24 tmp10 += ints . tmp38 del ints . tmp38 tmp10 += ints . tmp49 * 2 del ints . tmp49 tmp10 += ints . tmp23 * - 1 del ints . tmp23 tmp10 += ints . tmp39 * - 2 del ints . tmp39 tmp10 += ints . tmp50 * - 1 del ints . tmp50 tmp7 = np . copy ( f . vv ) tmp7 += np . transpose ( ints . tmp41 , ( 1 , 0 )) del ints . tmp41 tmp7 += np . transpose ( ints . tmp43 , ( 1 , 0 )) * - 2 del ints . tmp43 tmp2 = np . copy ( ints . tmp18 ) * 0.5 del ints . tmp18 tmp2 += ints . tmp32 tmp2 += ints . tmp31 * - 0.5 del ints . tmp31 tmp1 = np . copy ( f . oo ) tmp1 += np . transpose ( ints . tmp7 , ( 1 , 0 )) * 2 del ints . tmp7 tmp1 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * - 1 del ints . tmp4 tmp6 = np . copy ( ints . tmp6 ) * 2 del ints . tmp6 tmp6 += np . transpose ( v . xov , ( 1 , 2 , 0 )) tmp6 += ints . tmp3 * - 1 del ints . tmp3 tmp9 = np . copy ( ints . tmp0 ) tmp9 += np . transpose ( ints . tmp13 , ( 0 , 2 , 1 , 3 )) del ints . tmp13 tmp9 += np . transpose ( ints . tmp28 , ( 2 , 1 , 0 , 3 )) * 2 del ints . tmp28 tmp9 += np . transpose ( ints . tmp37 , ( 2 , 0 , 1 , 3 )) del ints . tmp37 tmp9 += np . transpose ( ints . tmp27 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp27 tmp9 += np . transpose ( ints . tmp30 , ( 2 , 1 , 0 , 3 )) * - 1 del ints . tmp30 tmp9 += np . transpose ( ints . tmp40 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp40 tmp5 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp0 , ( 3 , 1 , 2 ), ( 3 , 0 )) * 0.5 r2new = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp32 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) del ints . tmp32 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp2 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 2 del tmp2 r2new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 1 del tmp3 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp4 , ( 3 , 4 , 0 , 1 ), ( 3 , 4 , 2 )) del tmp4 r2new += einsum ( tmp5 , ( 0 , 1 ), tmp6 , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) * 2 del tmp5 , tmp6 r2new += einsum ( tmp7 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) del tmp7 r2new += einsum ( tmp8 , ( 0 ,), t2 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * - 2 del tmp8 r2new += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 ,), ( 2 , 0 , 3 )) del tmp9 r2new += einsum ( tmp1 , ( 0 , 1 ), r2 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new += einsum ( tmp1 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new += einsum ( r1 , ( 0 ,), tmp10 , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 del tmp10 r1new = einsum ( tmp0 , ( 0 , 1 , 2 ), ints . tmp0 , ( 3 , 0 , 1 , 2 ), ( 3 ,)) del ints . tmp0 r1new += einsum ( tmp0 , ( 0 , 1 , 2 ), f . ov , ( 1 , 2 ), ( 0 ,)) * - 1 del tmp0 r1new += einsum ( r1 , ( 0 ,), tmp1 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp1 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . RDFCCD . hbar_matvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:51:34.550320. Parameters f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp12 : array tmp15 : array tmp16 : array tmp18 : array tmp20 : array tmp28 : array tmp3 : array tmp30 : array tmp31 : array tmp32 : array tmp34 : array tmp36 : array tmp37 : array tmp38 : array tmp4 : array tmp40 : array tmp41 : array tmp44 : array tmp49 : array tmp50 : array tmp6 : array tmp7 : array Source code in ebcc/codegen/RDFCCD.py 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 def hbar_matvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:34.550320. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp12 : array tmp15 : array tmp16 : array tmp18 : array tmp20 : array tmp28 : array tmp3 : array tmp30 : array tmp31 : array tmp32 : array tmp34 : array tmp36 : array tmp37 : array tmp38 : array tmp4 : array tmp40 : array tmp41 : array tmp44 : array tmp49 : array tmp50 : array tmp6 : array tmp7 : array \"\"\" tmp19 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp15 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp3 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 2 , 4 ), ( 3 , 4 , 0 )) tmp0 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp6 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp50 = einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp49 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) tmp44 = einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp41 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp3 , ( 3 , 4 , 0 ), ( 3 , 4 , 1 , 2 )) tmp40 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 5 , 4 )) tmp38 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp6 , ( 3 , 4 , 0 ), ( 3 , 4 , 1 , 2 )) tmp37 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp36 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) tmp34 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp32 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp31 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp30 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp28 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp20 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) del tmp19 tmp18 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp16 = einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) tmp12 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 5 , 3 , 1 )) tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp4 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) return { f \"tmp0\" : tmp0 , f \"tmp12\" : tmp12 , f \"tmp15\" : tmp15 , f \"tmp16\" : tmp16 , f \"tmp18\" : tmp18 , f \"tmp20\" : tmp20 , f \"tmp28\" : tmp28 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp31\" : tmp31 , f \"tmp32\" : tmp32 , f \"tmp34\" : tmp34 , f \"tmp36\" : tmp36 , f \"tmp37\" : tmp37 , f \"tmp38\" : tmp38 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp41\" : tmp41 , f \"tmp44\" : tmp44 , f \"tmp49\" : tmp49 , f \"tmp50\" : tmp50 , f \"tmp6\" : tmp6 , f \"tmp7\" : tmp7 } ebcc . codegen . RDFCCD . hbar_matvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:51:34.563532. Parameters f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RDFCCD.py 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 def hbar_matvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:34.563532. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp9 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp9 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 0.5 tmp1 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 1 tmp1 += np . transpose ( r2 , ( 2 , 1 , 0 )) * 2 tmp8 = np . copy ( ints . tmp0 ) tmp8 += np . transpose ( ints . tmp20 , ( 0 , 2 , 3 , 1 )) del ints . tmp20 tmp8 += np . transpose ( ints . tmp38 , ( 0 , 3 , 2 , 1 )) * 2 del ints . tmp38 tmp8 += ints . tmp12 * - 1 del ints . tmp12 tmp8 += np . transpose ( ints . tmp40 , ( 0 , 3 , 2 , 1 )) * - 1 del ints . tmp40 tmp8 += np . transpose ( ints . tmp41 , ( 0 , 3 , 2 , 1 )) * - 1 del ints . tmp41 tmp3 = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp15 , ( 3 , 4 , 1 , 0 ), ( 3 , 4 , 2 )) tmp4 = np . copy ( ints . tmp18 ) * 0.5 tmp4 += ints . tmp44 tmp4 += ints . tmp16 * - 0.5 tmp10 = einsum ( r1 , ( 0 ,), f . ov , ( 1 , 0 ), ( 1 ,)) tmp10 += einsum ( ints . tmp15 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 0 , 2 , 3 ), ( 1 ,)) * - 2 del ints . tmp15 , tmp9 tmp7 = np . copy ( ints . tmp6 ) * 2 del ints . tmp6 tmp7 += np . transpose ( v . xov , ( 1 , 2 , 0 )) tmp7 += ints . tmp3 * - 1 del ints . tmp3 tmp2 = np . copy ( f . vv ) tmp2 += np . transpose ( ints . tmp4 , ( 1 , 0 )) del ints . tmp4 tmp2 += np . transpose ( ints . tmp7 , ( 1 , 0 )) * - 2 del ints . tmp7 tmp12 = np . copy ( f . ov ) tmp12 += ints . tmp30 * 2 del ints . tmp30 tmp12 += ints . tmp37 * 2 del ints . tmp37 tmp12 += ints . tmp49 del ints . tmp49 tmp12 += ints . tmp31 * - 1 del ints . tmp31 tmp12 += ints . tmp36 * - 1 del ints . tmp36 tmp12 += ints . tmp50 * - 2 del ints . tmp50 tmp6 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp1 , ( 1 , 3 , 2 ), ( 3 , 0 )) * 0.5 tmp11 = np . copy ( f . oo ) tmp11 += np . transpose ( ints . tmp34 , ( 1 , 0 )) * 2 del ints . tmp34 tmp11 += np . transpose ( ints . tmp32 , ( 1 , 0 )) * - 1 del ints . tmp32 tmp5 = np . copy ( ints . tmp16 ) del ints . tmp16 tmp5 += ints . tmp18 * - 1 del ints . tmp18 tmp0 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 0.5 tmp0 += np . transpose ( r2 , ( 2 , 1 , 0 )) r2new = einsum ( ints . tmp44 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 3 , 1 ), ( 2 , 4 , 0 )) del ints . tmp44 r2new += einsum ( tmp3 , ( 0 , 1 , 2 ), t2 , ( 1 , 0 , 3 , 4 ), ( 3 , 4 , 2 )) del tmp3 r2new += einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp28 , ( 3 , 0 , 4 , 1 ), ( 4 , 3 , 2 )) del ints . tmp28 r2new += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 4 , 1 ), ( 2 , 4 , 0 )) * - 2 del tmp4 r2new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) del tmp5 r2new += einsum ( tmp7 , ( 0 , 1 , 2 ), tmp6 , ( 3 , 2 ), ( 1 , 3 , 0 )) * 2 del tmp7 , tmp6 r2new += einsum ( r1 , ( 0 ,), tmp8 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del tmp8 r2new += einsum ( tmp2 , ( 0 , 1 ), r2 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp2 , ( 1 , 3 ), ( 0 , 3 , 2 )) r2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 1 ,), ( 2 , 3 , 0 )) del tmp10 r2new += einsum ( tmp11 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp11 r2new += einsum ( tmp12 , ( 0 , 1 ), r1 , ( 2 ,), ( 1 , 2 , 0 )) * - 1 del tmp12 r1new = einsum ( tmp0 , ( 0 , 1 , 2 ), ints . tmp0 , ( 0 , 3 , 1 , 2 ), ( 3 ,)) * - 2 del ints . tmp0 , tmp0 r1new += einsum ( f . ov , ( 0 , 1 ), tmp1 , ( 0 , 2 , 1 ), ( 2 ,)) * - 1 del tmp1 r1new += einsum ( tmp2 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) del tmp2 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . RDFCCD . hbar_lmatvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:51:47.677341. Parameters f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp1 : array tmp10 : array tmp12 : array tmp13 : array tmp15 : array tmp18 : array tmp21 : array tmp23 : array tmp25 : array tmp27 : array tmp29 : array tmp3 : array tmp32 : array tmp36 : array tmp41 : array tmp43 : array tmp44 : array tmp45 : array tmp59 : array tmp6 : array tmp63 : array tmp65 : array tmp67 : array tmp9 : array Source code in ebcc/codegen/RDFCCD.py 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 def hbar_lmatvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:47.677341. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp10 : array tmp12 : array tmp13 : array tmp15 : array tmp18 : array tmp21 : array tmp23 : array tmp25 : array tmp27 : array tmp29 : array tmp3 : array tmp32 : array tmp36 : array tmp41 : array tmp43 : array tmp44 : array tmp45 : array tmp59 : array tmp6 : array tmp63 : array tmp65 : array tmp67 : array tmp9 : array \"\"\" tmp12 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp9 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 2 , 4 ), ( 3 , 4 , 0 )) tmp43 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp35 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp6 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp67 = einsum ( tmp12 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp65 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp9 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp63 = einsum ( tmp43 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp59 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp45 = einsum ( tmp43 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) tmp44 = einsum ( tmp43 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp41 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp36 = einsum ( tmp35 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 0 , 1 )) del tmp35 tmp32 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp9 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp29 = einsum ( tmp12 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp27 = einsum ( tmp12 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp25 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp9 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp23 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp21 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) tmp18 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp15 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) tmp13 = einsum ( tmp12 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp10 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp9 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp3 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp1 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp0 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp12\" : tmp12 , f \"tmp13\" : tmp13 , f \"tmp15\" : tmp15 , f \"tmp18\" : tmp18 , f \"tmp21\" : tmp21 , f \"tmp23\" : tmp23 , f \"tmp25\" : tmp25 , f \"tmp27\" : tmp27 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp32\" : tmp32 , f \"tmp36\" : tmp36 , f \"tmp41\" : tmp41 , f \"tmp43\" : tmp43 , f \"tmp44\" : tmp44 , f \"tmp45\" : tmp45 , f \"tmp59\" : tmp59 , f \"tmp6\" : tmp6 , f \"tmp63\" : tmp63 , f \"tmp65\" : tmp65 , f \"tmp67\" : tmp67 , f \"tmp9\" : tmp9 } ebcc . codegen . RDFCCD . hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:51:47.691377. Parameters f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RDFCCD.py 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:47.691377. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp8 = np . copy ( ints . tmp12 ) del ints . tmp12 tmp8 += np . transpose ( v . xov , ( 1 , 2 , 0 )) * 0.5 tmp8 += ints . tmp9 * - 0.5 del ints . tmp9 tmp2 = np . copy ( r2 ) * - 1 tmp2 += np . transpose ( r2 , ( 1 , 0 , 2 )) * 2 tmp11 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp11 += t2 tmp9 = einsum ( tmp2 , ( 0 , 1 , 2 ), tmp8 , ( 1 , 2 , 3 ), ( 0 , 3 )) * 2 del tmp8 tmp10 = np . copy ( f . vv ) tmp10 += ints . tmp65 del ints . tmp65 tmp10 += ints . tmp67 * - 2 del ints . tmp67 tmp7 = np . copy ( ints . tmp41 ) tmp7 += np . transpose ( ints . tmp44 , ( 1 , 0 , 3 , 2 )) * - 1 tmp12 = einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 2 ), ( 3 ,)) del tmp11 tmp6 = np . copy ( ints . tmp41 ) * 0.5 del ints . tmp41 tmp6 += np . transpose ( ints . tmp45 , ( 1 , 0 , 3 , 2 )) tmp6 += np . transpose ( ints . tmp44 , ( 1 , 0 , 3 , 2 )) * - 0.5 del ints . tmp44 tmp5 = np . copy ( f . oo ) tmp5 += ints . tmp13 * 2 del ints . tmp13 tmp5 += ints . tmp10 * - 1 del ints . tmp10 tmp0 = np . copy ( r2 ) tmp0 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 0.5 tmp3 = np . copy ( ints . tmp27 ) * 2 del ints . tmp27 tmp3 += np . transpose ( ints . tmp3 , ( 1 , 2 , 0 , 3 )) del ints . tmp3 tmp3 += ints . tmp23 * - 1 del ints . tmp23 tmp3 += ints . tmp25 * - 1 del ints . tmp25 tmp4 = np . copy ( f . ov ) tmp4 += ints . tmp15 del ints . tmp15 tmp4 += ints . tmp1 * 2 del ints . tmp1 tmp4 += ints . tmp29 * 2 del ints . tmp29 tmp4 += ints . tmp0 * - 1 del ints . tmp0 tmp4 += ints . tmp18 * - 2 del ints . tmp18 tmp4 += ints . tmp32 * - 1 del ints . tmp32 tmp1 = np . copy ( ints . tmp36 ) del ints . tmp36 tmp1 += np . transpose ( ints . tmp6 , ( 1 , 2 , 0 , 3 )) tmp1 += ints . tmp21 * - 1 del ints . tmp21 r2new = einsum ( ints . tmp6 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 ,), ( 2 , 0 , 3 )) del ints . tmp6 r2new += einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp45 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) del ints . tmp45 r2new += einsum ( r1 , ( 0 ,), f . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 r2new += einsum ( ints . tmp59 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 3 , 4 ), ( 2 , 0 , 4 )) del ints . tmp59 r2new += einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp63 , ( 1 , 0 , 3 , 4 ), ( 4 , 3 , 2 )) del ints . tmp63 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp6 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 2 del tmp6 r2new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 1 del tmp7 r2new += einsum ( v . xov , ( 0 , 1 , 2 ), tmp9 , ( 3 , 0 ), ( 1 , 3 , 2 )) del tmp9 r2new += einsum ( tmp10 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) del tmp10 r2new += einsum ( ints . tmp43 , ( 0 , 1 , 2 , 3 ), tmp12 , ( 3 ,), ( 0 , 1 , 2 )) * - 2 del ints . tmp43 , tmp12 r2new += einsum ( tmp5 , ( 0 , 1 ), r2 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp5 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r1new = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp1 , ( 1 , 0 , 3 , 2 ), ( 3 ,)) * 2 del tmp0 , tmp1 r1new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 1 , 0 , 3 ), ( 2 ,)) del tmp3 r1new += einsum ( tmp4 , ( 0 , 1 ), tmp2 , ( 2 , 0 , 1 ), ( 2 ,)) * - 1 del tmp2 , tmp4 r1new += einsum ( r1 , ( 0 ,), tmp5 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp5 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . RDFCCD . hbar_lmatvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:52:01.162423. Parameters f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp1 : array tmp10 : array tmp11 : array tmp13 : array tmp14 : array tmp17 : array tmp20 : array tmp23 : array tmp26 : array tmp29 : array tmp32 : array tmp34 : array tmp37 : array tmp39 : array tmp43 : array tmp45 : array tmp47 : array tmp49 : array tmp50 : array tmp51 : array tmp61 : array tmp7 : array Source code in ebcc/codegen/RDFCCD.py 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 def hbar_lmatvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:52:01.162423. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp10 : array tmp11 : array tmp13 : array tmp14 : array tmp17 : array tmp20 : array tmp23 : array tmp26 : array tmp29 : array tmp32 : array tmp34 : array tmp37 : array tmp39 : array tmp43 : array tmp45 : array tmp47 : array tmp49 : array tmp50 : array tmp51 : array tmp61 : array tmp7 : array \"\"\" tmp49 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp13 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp10 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 2 , 4 ), ( 3 , 4 , 0 )) tmp7 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp16 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp61 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp51 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) tmp50 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp47 = einsum ( tmp13 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp45 = einsum ( tmp10 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp43 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp39 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 5 , 4 )) tmp37 = einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 5 ), ( 4 , 5 , 3 , 2 )) tmp34 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp13 , ( 3 , 4 , 0 ), ( 3 , 4 , 1 , 2 )) tmp32 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp10 , ( 3 , 4 , 0 ), ( 3 , 4 , 1 , 2 )) tmp29 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp10 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp26 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp13 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp23 = einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp20 = einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) del tmp16 tmp14 = einsum ( tmp13 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp11 = einsum ( tmp10 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp1 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp0 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp11\" : tmp11 , f \"tmp13\" : tmp13 , f \"tmp14\" : tmp14 , f \"tmp17\" : tmp17 , f \"tmp20\" : tmp20 , f \"tmp23\" : tmp23 , f \"tmp26\" : tmp26 , f \"tmp29\" : tmp29 , f \"tmp32\" : tmp32 , f \"tmp34\" : tmp34 , f \"tmp37\" : tmp37 , f \"tmp39\" : tmp39 , f \"tmp43\" : tmp43 , f \"tmp45\" : tmp45 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp50\" : tmp50 , f \"tmp51\" : tmp51 , f \"tmp61\" : tmp61 , f \"tmp7\" : tmp7 } ebcc . codegen . RDFCCD . hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:52:01.175852. Parameters f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RDFCCD.py 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:52:01.175852. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp5 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp5 += t2 tmp11 = np . copy ( ints . tmp13 ) * 2 del ints . tmp13 tmp11 += np . transpose ( v . xov , ( 1 , 2 , 0 )) tmp11 += ints . tmp10 * - 1 del ints . tmp10 tmp10 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp10 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 0.5 tmp14 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 0 ), ( 1 ,)) tmp8 = np . copy ( ints . tmp43 ) * 0.5 tmp8 += np . transpose ( ints . tmp51 , ( 1 , 0 , 3 , 2 )) tmp8 += np . transpose ( ints . tmp50 , ( 1 , 0 , 3 , 2 )) * - 0.5 tmp4 = np . copy ( f . vv ) tmp4 += ints . tmp11 del ints . tmp11 tmp4 += ints . tmp14 * - 2 del ints . tmp14 tmp7 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) tmp12 = einsum ( tmp11 , ( 0 , 1 , 2 ), tmp10 , ( 0 , 1 , 3 ), ( 3 , 2 )) * 2 del tmp11 , tmp10 tmp13 = np . copy ( f . oo ) tmp13 += ints . tmp47 * 2 del ints . tmp47 tmp13 += ints . tmp45 * - 1 del ints . tmp45 tmp9 = np . copy ( ints . tmp43 ) del ints . tmp43 tmp9 += np . transpose ( ints . tmp50 , ( 1 , 0 , 3 , 2 )) * - 1 del ints . tmp50 tmp0 = np . copy ( ints . tmp23 ) * 0.5 tmp0 += ints . tmp34 tmp0 += np . transpose ( ints . tmp37 , ( 0 , 1 , 3 , 2 )) tmp0 += ints . tmp32 * - 0.5 tmp0 += np . transpose ( ints . tmp39 , ( 0 , 1 , 3 , 2 )) * - 0.5 tmp0 += np . transpose ( ints . tmp7 , ( 0 , 2 , 3 , 1 )) * - 1 tmp3 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 1 tmp3 += np . transpose ( r2 , ( 2 , 1 , 0 )) * 2 tmp2 = np . copy ( f . ov ) tmp2 += ints . tmp17 del ints . tmp17 tmp2 += ints . tmp1 * 2 del ints . tmp1 tmp2 += ints . tmp26 * 2 del ints . tmp26 tmp2 += ints . tmp0 * - 1 del ints . tmp0 tmp2 += ints . tmp20 * - 2 del ints . tmp20 tmp2 += ints . tmp29 * - 1 del ints . tmp29 tmp1 = np . copy ( ints . tmp23 ) * 2 del ints . tmp23 tmp1 += ints . tmp34 * 4 del ints . tmp34 tmp1 += np . transpose ( ints . tmp37 , ( 0 , 1 , 3 , 2 )) del ints . tmp37 tmp1 += ints . tmp32 * - 2 del ints . tmp32 tmp1 += np . transpose ( ints . tmp39 , ( 0 , 1 , 3 , 2 )) * - 2 del ints . tmp39 tmp1 += np . transpose ( ints . tmp7 , ( 0 , 2 , 3 , 1 )) * - 1 tmp6 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 0 ), ( 1 ,)) * 2 del tmp5 r2new = einsum ( r1 , ( 0 ,), ints . tmp7 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del ints . tmp7 r2new += einsum ( r1 , ( 0 ,), f . ov , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new += einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp51 , ( 2 , 3 , 1 , 4 ), ( 4 , 0 , 3 )) del ints . tmp51 r2new += einsum ( ints . tmp49 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 4 , 1 , 0 ), ( 3 , 2 , 4 )) del tmp7 r2new += einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp61 , ( 3 , 0 , 4 , 1 ), ( 4 , 3 , 2 )) del ints . tmp61 r2new += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 4 , 1 ), ( 2 , 4 , 0 )) * - 2 del tmp8 r2new += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) * - 1 del tmp9 r2new += einsum ( tmp12 , ( 0 , 1 ), v . xov , ( 1 , 2 , 3 ), ( 3 , 0 , 2 )) del tmp12 r2new += einsum ( tmp4 , ( 0 , 1 ), r2 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp4 , ( 1 , 3 ), ( 0 , 3 , 2 )) r2new += einsum ( tmp13 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp13 r2new += einsum ( ints . tmp49 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 1 ,), ( 2 , 3 , 0 )) * - 2 del ints . tmp49 , tmp14 r1new = einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 2 , 1 , 0 , 3 ), ( 3 ,)) * 2 del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 2 , 0 ), ( 3 ,)) * - 1 del tmp1 r1new += einsum ( tmp2 , ( 0 , 1 ), tmp3 , ( 0 , 2 , 1 ), ( 2 ,)) * - 1 del tmp2 , tmp3 r1new += einsum ( tmp4 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) del tmp4 r1new += einsum ( tmp6 , ( 0 ,), f . ov , ( 0 , 1 ), ( 1 ,)) del tmp6 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"RDFCCD"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.energy","text":"Code generated by albert 0.0.0 on 2024-08-17T20:50:56.138015.","title":"energy"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.energy--parameters","text":"t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/RDFCCD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:50:56.138015. Parameters ---------- t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- e_cc : float Coupled cluster energy. \"\"\" tmp0 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp0 += t2 * - 1 tmp1 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp0 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) * 0.5 del tmp0 e_cc = einsum ( v . xov , ( 0 , 1 , 2 ), tmp1 , ( 1 , 2 , 0 ), ()) * 2 del tmp1 return e_cc","title":"Returns"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-17T20:50:59.543398.","title":"update_amps"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.update_amps--parameters","text":"f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.update_amps--returns","text":"t2new : array Updated T2 residuals. Source code in ebcc/codegen/RDFCCD.py 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 def update_amps ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:50:59.543398. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- t2new : array Updated T2 residuals. \"\"\" tmp3 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 2 , 4 ), ( 3 , 4 , 0 )) tmp12 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) tmp12 += tmp3 * - 1 tmp1 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp17 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp17 += t2 * - 1 tmp13 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp12 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) del tmp12 tmp4 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) tmp8 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp18 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp17 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) del tmp17 tmp14 = np . copy ( np . transpose ( tmp8 , ( 1 , 0 , 3 , 2 ))) tmp14 += tmp4 * - 1 tmp14 += np . transpose ( tmp13 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp13 tmp21 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp18 , ( 3 , 2 , 0 ), ( 1 , 3 )) tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 3 , 1 )) * 0.5 del tmp18 tmp11 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) tmp15 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp14 tmp9 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp8 tmp7 = einsum ( f . vv , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp22 = einsum ( tmp21 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 4 , 3 )) del tmp21 tmp20 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp19 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * 2 del tmp19 tmp24 = np . copy ( np . transpose ( tmp1 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp24 += np . transpose ( tmp1 , ( 1 , 0 , 3 , 2 )) * 2 tmp0 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp16 = np . copy ( tmp11 ) del tmp11 tmp16 += tmp15 del tmp15 tmp10 = np . copy ( tmp7 ) del tmp7 tmp10 += tmp9 * - 1 del tmp9 tmp23 = np . copy ( np . transpose ( tmp20 , ( 1 , 0 , 2 , 3 ))) del tmp20 tmp23 += np . transpose ( tmp22 , ( 0 , 1 , 3 , 2 )) del tmp22 tmp2 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp6 = einsum ( f . oo , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp25 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp24 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) del tmp24 tmp5 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 1 , 0 )) t2new = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 3 , 4 , 5 ), ( 2 , 0 , 4 , 5 )) del tmp0 t2new += np . transpose ( tmp1 , ( 1 , 0 , 3 , 2 )) del tmp1 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) del tmp2 t2new += einsum ( tmp3 , ( 0 , 1 , 2 ), tmp3 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) del tmp3 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) del tmp4 t2new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 5 ), ( 1 , 0 , 5 , 4 )) del tmp5 t2new += np . transpose ( tmp6 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp6 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp6 t2new += np . transpose ( tmp10 , ( 0 , 1 , 3 , 2 )) t2new += np . transpose ( tmp10 , ( 1 , 0 , 2 , 3 )) del tmp10 t2new += tmp16 * - 1 t2new += np . transpose ( tmp16 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp16 t2new += tmp23 * - 1 t2new += np . transpose ( tmp23 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp23 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp25 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp25 return { f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.update_lams","text":"Code generated by albert 0.0.0 on 2024-08-17T20:51:04.804985.","title":"update_lams"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.update_lams--parameters","text":"f : array Fock matrix. l2 : array L2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.update_lams--returns","text":"l2new : array Updated L2 residuals. Source code in ebcc/codegen/RDFCCD.py 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 def update_lams ( f = None , l2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:04.804985. Parameters ---------- f : array Fock matrix. l2 : array L2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- l2new : array Updated L2 residuals. \"\"\" tmp18 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp18 += t2 * - 1 tmp25 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp25 += t2 tmp29 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp29 += t2 * - 0.5 tmp34 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp34 += t2 * - 1 tmp1 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp14 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp14 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp19 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp18 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) del tmp18 tmp26 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp25 , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) * 2 del tmp25 tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 0 , 1 ), ( 4 , 3 )) * 2 del tmp29 tmp35 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp34 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) del tmp34 tmp8 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp7 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 5 , 1 ), ( 5 , 0 , 4 , 3 )) tmp15 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) del tmp14 tmp21 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp21 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp20 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) tmp20 += tmp19 del tmp19 tmp27 = einsum ( tmp26 , ( 0 , 1 ), v . xov , ( 2 , 1 , 3 ), ( 0 , 3 , 2 )) * 0.5 del tmp26 tmp31 = einsum ( tmp30 , ( 0 , 1 ), v . xov , ( 2 , 3 , 1 ), ( 3 , 0 , 2 )) del tmp30 tmp38 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp35 , ( 3 , 2 , 0 ), ( 1 , 3 )) tmp36 = einsum ( tmp35 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 3 , 1 )) * 0.5 del tmp35 tmp9 = np . copy ( np . transpose ( tmp7 , ( 1 , 0 , 3 , 2 ))) * - 1 tmp9 += tmp8 del tmp8 tmp16 = np . copy ( tmp13 ) del tmp13 tmp16 += np . transpose ( tmp15 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp15 tmp22 = einsum ( tmp20 , ( 0 , 1 , 2 ), tmp21 , ( 0 , 3 , 4 , 1 ), ( 3 , 4 , 2 )) del tmp20 , tmp21 tmp28 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp27 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) * 2 del tmp27 tmp32 = einsum ( tmp31 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 4 , 1 )) del tmp31 tmp39 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp38 , ( 4 , 2 ), ( 4 , 3 , 0 , 1 )) del tmp38 tmp37 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp36 , ( 4 , 1 ), ( 3 , 2 , 0 , 4 )) * 2 del tmp36 tmp6 = einsum ( f . vv , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp10 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 0 , 5 ), ( 5 , 1 , 4 , 3 )) del tmp9 tmp17 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 0 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) del tmp16 tmp23 = einsum ( tmp22 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 4 , 1 )) del tmp22 tmp12 = einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) del tmp7 tmp0 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp33 = np . copy ( np . transpose ( tmp28 , ( 1 , 0 , 2 , 3 ))) del tmp28 tmp33 += np . transpose ( tmp32 , ( 0 , 1 , 3 , 2 )) del tmp32 tmp3 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp40 = np . copy ( np . transpose ( tmp37 , ( 1 , 0 , 2 , 3 ))) del tmp37 tmp40 += np . transpose ( tmp39 , ( 1 , 0 , 3 , 2 )) del tmp39 tmp4 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp2 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp11 = np . copy ( tmp6 ) del tmp6 tmp11 += tmp10 del tmp10 tmp24 = np . copy ( tmp12 ) del tmp12 tmp24 += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp17 tmp24 += np . transpose ( tmp23 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp23 tmp5 = einsum ( f . oo , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) l2new = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) del tmp0 l2new += np . transpose ( tmp1 , ( 3 , 2 , 1 , 0 )) l2new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 3 , 2 )) del tmp2 l2new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 3 , 2 , 4 , 5 ), ( 4 , 5 , 1 , 0 )) del tmp1 , tmp3 l2new += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp4 l2new += np . transpose ( tmp5 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp5 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp5 l2new += np . transpose ( tmp11 , ( 3 , 2 , 0 , 1 )) l2new += np . transpose ( tmp11 , ( 2 , 3 , 1 , 0 )) del tmp11 l2new += np . transpose ( tmp24 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp24 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp24 l2new += np . transpose ( tmp33 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp33 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp33 l2new += np . transpose ( tmp40 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp40 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp40 return { f \"l2new\" : l2new }","title":"Returns"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.make_rdm1_f","text":"Code generated by albert 0.0.0 on 2024-08-17T20:51:05.152915.","title":"make_rdm1_f"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.make_rdm1_f--parameters","text":"l2 : array L2 amplitudes. t2 : array T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.make_rdm1_f--returns","text":"rdm1 : array One-particle reduced density matrix. Source code in ebcc/codegen/RDFCCD.py 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 def make_rdm1_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:05.152915. 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 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp0 += t2 * - 0.5 rdm1 . vv = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 0 , 1 ), ( 4 , 3 )) * 4 rdm1 . oo = np . copy ( delta . oo ) * 2 del delta rdm1 . oo += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 2 , 4 , 1 , 0 ), ( 4 , 3 )) * - 4 del tmp0 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","title":"Returns"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.make_rdm2_f","text":"Code generated by albert 0.0.0 on 2024-08-17T20:51:17.247154.","title":"make_rdm2_f"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.make_rdm2_f--parameters","text":"l2 : array L2 amplitudes. t2 : array T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.make_rdm2_f--returns","text":"rdm2 : array Two-particle reduced density matrix. Source code in ebcc/codegen/RDFCCD.py 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 def make_rdm2_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:17.247154. 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 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp3 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp6 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp6 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) tmp1 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp1 += t2 * - 0.5 tmp13 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp13 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp7 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 4 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) tmp2 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 0 , 4 ), ( 4 , 1 )) * 2 del tmp1 tmp14 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp13 , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) * 0.5 tmp26 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp26 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp22 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp22 += t2 tmp24 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp24 += t2 * 2 tmp28 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) tmp28 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp5 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp4 tmp8 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) del tmp7 tmp16 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 1 , 4 ), ( 0 , 4 , 3 , 2 )) tmp15 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 2 ), ( 0 , 1 , 3 , 4 )) * 2 tmp18 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 5 , 1 ), ( 5 , 0 , 4 , 3 )) tmp20 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 3 , 4 , 0 , 5 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 4 , 5 ), ( 5 , 4 , 0 , 1 )) tmp10 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 1 , 4 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) del tmp3 tmp32 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 1 , 0 ), ( 4 , 5 , 3 , 2 )) tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp26 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp26 tmp31 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 4 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) del tmp6 tmp30 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp13 , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) del tmp13 tmp23 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 0 , 5 ), ( 5 , 1 , 4 , 3 )) del tmp22 tmp25 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp24 , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) del tmp24 tmp29 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp28 , ( 1 , 4 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) del tmp28 tmp9 = np . copy ( tmp5 ) * 2 tmp9 += np . transpose ( tmp8 , ( 1 , 0 , 3 , 2 )) del tmp8 tmp17 = np . copy ( np . transpose ( tmp15 , ( 1 , 0 , 2 , 3 ))) del tmp15 tmp17 += np . transpose ( tmp16 , ( 0 , 1 , 3 , 2 )) del tmp16 tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) tmp21 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) tmp12 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 0 , 4 , 5 ), ( 3 , 2 , 4 , 5 )) tmp11 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp10 rdm2 . vvvv = np . copy ( np . transpose ( tmp32 , ( 1 , 0 , 2 , 3 ))) * - 2 rdm2 . vvvv += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * 4 del tmp32 rdm2 . vvoo = np . copy ( np . transpose ( l2 , ( 0 , 1 , 3 , 2 ))) * - 2 rdm2 . vvoo += l2 * 4 rdm2 . vovo = np . copy ( np . transpose ( tmp27 , ( 3 , 0 , 2 , 1 ))) * - 2 rdm2 . vovo += np . transpose ( tmp31 , ( 3 , 0 , 2 , 1 )) * - 2 del tmp31 rdm2 . vovo += einsum ( delta . oo , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * 4 rdm2 . vovo += np . transpose ( tmp20 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . voov = np . copy ( np . transpose ( tmp25 , ( 2 , 1 , 0 , 3 ))) * 2 rdm2 . voov += np . transpose ( tmp23 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . voov += einsum ( delta . oo , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * - 2 del tmp30 rdm2 . voov += np . transpose ( tmp18 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . voov += np . transpose ( tmp27 , ( 3 , 0 , 1 , 2 )) * 2 rdm2 . ovvo = np . copy ( np . transpose ( tmp27 , ( 0 , 3 , 2 , 1 ))) * 4 del tmp27 rdm2 . ovvo += np . transpose ( tmp29 , ( 0 , 3 , 2 , 1 )) * - 2 del tmp29 rdm2 . ovvo += einsum ( delta . oo , ( 0 , 1 ), tmp14 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * - 4 rdm2 . ovvo += np . transpose ( tmp18 , ( 1 , 2 , 3 , 0 )) * - 2 del tmp18 rdm2 . ovov = np . copy ( np . transpose ( tmp23 , ( 1 , 2 , 0 , 3 ))) * 2 del tmp23 rdm2 . ovov += np . transpose ( tmp25 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp25 rdm2 . ovov += einsum ( delta . oo , ( 0 , 1 ), tmp14 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * 8 del tmp14 rdm2 . ovov += np . transpose ( tmp20 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp20 rdm2 . oovv = np . copy ( tmp9 ) * 2 rdm2 . oovv += np . transpose ( tmp9 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp9 rdm2 . oovv += tmp11 * - 4 rdm2 . oovv += np . transpose ( tmp11 , ( 0 , 1 , 3 , 2 )) * 2 rdm2 . oovv += np . transpose ( tmp11 , ( 1 , 0 , 2 , 3 )) * 2 rdm2 . oovv += np . transpose ( tmp11 , ( 1 , 0 , 3 , 2 )) * - 4 del tmp11 rdm2 . oovv += tmp12 * 4 rdm2 . oovv += np . transpose ( tmp12 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp12 rdm2 . oovv += tmp17 * - 4 rdm2 . oovv += np . transpose ( tmp17 , ( 0 , 1 , 3 , 2 )) * 2 rdm2 . oovv += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * 2 rdm2 . oovv += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) * - 4 del tmp17 rdm2 . oovv += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . oovv += t2 * 4 rdm2 . oovv += tmp19 * 2 del tmp19 rdm2 . oovv += np . transpose ( tmp21 , ( 0 , 1 , 3 , 2 )) * 2 del tmp21 rdm2 . oovv += np . transpose ( tmp5 , ( 1 , 0 , 3 , 2 )) * 4 del tmp5 rdm2 . oooo = np . copy ( np . transpose ( tmp0 , ( 2 , 3 , 1 , 0 ))) * - 2 rdm2 . oooo += np . transpose ( tmp0 , ( 3 , 2 , 1 , 0 )) * 4 del tmp0 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 4 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 4 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * 2 rdm2 . oooo += einsum ( tmp2 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oooo += einsum ( tmp2 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 4 del tmp2 , delta 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 = np . transpose ( rdm2 , ( 0 , 2 , 1 , 3 )) return rdm2","title":"Returns"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.hbar_matvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T20:51:25.930675.","title":"hbar_matvec_ip_intermediates"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.hbar_matvec_ip_intermediates--parameters","text":"f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.hbar_matvec_ip_intermediates--returns","text":"tmp0 : array tmp13 : array tmp15 : array tmp16 : array tmp18 : array tmp23 : array tmp24 : array tmp25 : array tmp27 : array tmp28 : array tmp3 : array tmp30 : array tmp31 : array tmp32 : array tmp37 : array tmp38 : array tmp39 : array tmp4 : array tmp40 : array tmp41 : array tmp43 : array tmp49 : array tmp50 : array tmp6 : array tmp7 : array Source code in ebcc/codegen/RDFCCD.py 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 def hbar_matvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:25.930675. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp13 : array tmp15 : array tmp16 : array tmp18 : array tmp23 : array tmp24 : array tmp25 : array tmp27 : array tmp28 : array tmp3 : array tmp30 : array tmp31 : array tmp32 : array tmp37 : array tmp38 : array tmp39 : array tmp4 : array tmp40 : array tmp41 : array tmp43 : array tmp49 : array tmp50 : array tmp6 : array tmp7 : array \"\"\" tmp3 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 2 , 4 ), ( 3 , 4 , 0 )) tmp6 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp0 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp15 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp12 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp50 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp49 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp43 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp41 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp40 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) tmp39 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp38 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) tmp37 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp32 = einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp31 = einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) tmp30 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp28 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp27 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp25 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp24 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp23 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) tmp18 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp16 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) tmp13 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp12 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 4 , 5 )) del tmp12 tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp4 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) return { f \"tmp0\" : tmp0 , f \"tmp13\" : tmp13 , f \"tmp15\" : tmp15 , f \"tmp16\" : tmp16 , f \"tmp18\" : tmp18 , f \"tmp23\" : tmp23 , f \"tmp24\" : tmp24 , f \"tmp25\" : tmp25 , f \"tmp27\" : tmp27 , f \"tmp28\" : tmp28 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp31\" : tmp31 , f \"tmp32\" : tmp32 , f \"tmp37\" : tmp37 , f \"tmp38\" : tmp38 , f \"tmp39\" : tmp39 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp41\" : tmp41 , f \"tmp43\" : tmp43 , f \"tmp49\" : tmp49 , f \"tmp50\" : tmp50 , f \"tmp6\" : tmp6 , f \"tmp7\" : tmp7 }","title":"Returns"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.hbar_matvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T20:51:25.944875.","title":"hbar_matvec_ip"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.hbar_matvec_ip--parameters","text":"f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.hbar_matvec_ip--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RDFCCD.py 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 def hbar_matvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:25.944875. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp0 = np . copy ( r2 ) * - 1 tmp0 += np . transpose ( r2 , ( 1 , 0 , 2 )) * 2 tmp8 = einsum ( tmp0 , ( 0 , 1 , 2 ), ints . tmp15 , ( 1 , 0 , 2 , 3 ), ( 3 ,)) * 0.5 del ints . tmp15 tmp3 = np . copy ( ints . tmp18 ) tmp3 += ints . tmp31 * - 1 tmp4 = np . copy ( ints . tmp16 ) del ints . tmp16 tmp4 += np . transpose ( ints . tmp25 , ( 2 , 0 , 1 , 3 )) del ints . tmp25 tmp10 = np . copy ( f . ov ) tmp10 += ints . tmp24 * 2 del ints . tmp24 tmp10 += ints . tmp38 del ints . tmp38 tmp10 += ints . tmp49 * 2 del ints . tmp49 tmp10 += ints . tmp23 * - 1 del ints . tmp23 tmp10 += ints . tmp39 * - 2 del ints . tmp39 tmp10 += ints . tmp50 * - 1 del ints . tmp50 tmp7 = np . copy ( f . vv ) tmp7 += np . transpose ( ints . tmp41 , ( 1 , 0 )) del ints . tmp41 tmp7 += np . transpose ( ints . tmp43 , ( 1 , 0 )) * - 2 del ints . tmp43 tmp2 = np . copy ( ints . tmp18 ) * 0.5 del ints . tmp18 tmp2 += ints . tmp32 tmp2 += ints . tmp31 * - 0.5 del ints . tmp31 tmp1 = np . copy ( f . oo ) tmp1 += np . transpose ( ints . tmp7 , ( 1 , 0 )) * 2 del ints . tmp7 tmp1 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * - 1 del ints . tmp4 tmp6 = np . copy ( ints . tmp6 ) * 2 del ints . tmp6 tmp6 += np . transpose ( v . xov , ( 1 , 2 , 0 )) tmp6 += ints . tmp3 * - 1 del ints . tmp3 tmp9 = np . copy ( ints . tmp0 ) tmp9 += np . transpose ( ints . tmp13 , ( 0 , 2 , 1 , 3 )) del ints . tmp13 tmp9 += np . transpose ( ints . tmp28 , ( 2 , 1 , 0 , 3 )) * 2 del ints . tmp28 tmp9 += np . transpose ( ints . tmp37 , ( 2 , 0 , 1 , 3 )) del ints . tmp37 tmp9 += np . transpose ( ints . tmp27 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp27 tmp9 += np . transpose ( ints . tmp30 , ( 2 , 1 , 0 , 3 )) * - 1 del ints . tmp30 tmp9 += np . transpose ( ints . tmp40 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp40 tmp5 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp0 , ( 3 , 1 , 2 ), ( 3 , 0 )) * 0.5 r2new = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp32 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) del ints . tmp32 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp2 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 2 del tmp2 r2new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 1 del tmp3 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp4 , ( 3 , 4 , 0 , 1 ), ( 3 , 4 , 2 )) del tmp4 r2new += einsum ( tmp5 , ( 0 , 1 ), tmp6 , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) * 2 del tmp5 , tmp6 r2new += einsum ( tmp7 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) del tmp7 r2new += einsum ( tmp8 , ( 0 ,), t2 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * - 2 del tmp8 r2new += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 ,), ( 2 , 0 , 3 )) del tmp9 r2new += einsum ( tmp1 , ( 0 , 1 ), r2 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new += einsum ( tmp1 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new += einsum ( r1 , ( 0 ,), tmp10 , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 del tmp10 r1new = einsum ( tmp0 , ( 0 , 1 , 2 ), ints . tmp0 , ( 3 , 0 , 1 , 2 ), ( 3 ,)) del ints . tmp0 r1new += einsum ( tmp0 , ( 0 , 1 , 2 ), f . ov , ( 1 , 2 ), ( 0 ,)) * - 1 del tmp0 r1new += einsum ( r1 , ( 0 ,), tmp1 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp1 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.hbar_matvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T20:51:34.550320.","title":"hbar_matvec_ea_intermediates"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.hbar_matvec_ea_intermediates--parameters","text":"f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.hbar_matvec_ea_intermediates--returns","text":"tmp0 : array tmp12 : array tmp15 : array tmp16 : array tmp18 : array tmp20 : array tmp28 : array tmp3 : array tmp30 : array tmp31 : array tmp32 : array tmp34 : array tmp36 : array tmp37 : array tmp38 : array tmp4 : array tmp40 : array tmp41 : array tmp44 : array tmp49 : array tmp50 : array tmp6 : array tmp7 : array Source code in ebcc/codegen/RDFCCD.py 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 def hbar_matvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:34.550320. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp12 : array tmp15 : array tmp16 : array tmp18 : array tmp20 : array tmp28 : array tmp3 : array tmp30 : array tmp31 : array tmp32 : array tmp34 : array tmp36 : array tmp37 : array tmp38 : array tmp4 : array tmp40 : array tmp41 : array tmp44 : array tmp49 : array tmp50 : array tmp6 : array tmp7 : array \"\"\" tmp19 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp15 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp3 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 2 , 4 ), ( 3 , 4 , 0 )) tmp0 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp6 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp50 = einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp49 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) tmp44 = einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp41 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp3 , ( 3 , 4 , 0 ), ( 3 , 4 , 1 , 2 )) tmp40 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 5 , 4 )) tmp38 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp6 , ( 3 , 4 , 0 ), ( 3 , 4 , 1 , 2 )) tmp37 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp36 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) tmp34 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp32 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp31 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp30 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp28 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp20 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) del tmp19 tmp18 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp16 = einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) tmp12 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 5 , 3 , 1 )) tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp4 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) return { f \"tmp0\" : tmp0 , f \"tmp12\" : tmp12 , f \"tmp15\" : tmp15 , f \"tmp16\" : tmp16 , f \"tmp18\" : tmp18 , f \"tmp20\" : tmp20 , f \"tmp28\" : tmp28 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp31\" : tmp31 , f \"tmp32\" : tmp32 , f \"tmp34\" : tmp34 , f \"tmp36\" : tmp36 , f \"tmp37\" : tmp37 , f \"tmp38\" : tmp38 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp41\" : tmp41 , f \"tmp44\" : tmp44 , f \"tmp49\" : tmp49 , f \"tmp50\" : tmp50 , f \"tmp6\" : tmp6 , f \"tmp7\" : tmp7 }","title":"Returns"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.hbar_matvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T20:51:34.563532.","title":"hbar_matvec_ea"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.hbar_matvec_ea--parameters","text":"f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.hbar_matvec_ea--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RDFCCD.py 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 def hbar_matvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:34.563532. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp9 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp9 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 0.5 tmp1 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 1 tmp1 += np . transpose ( r2 , ( 2 , 1 , 0 )) * 2 tmp8 = np . copy ( ints . tmp0 ) tmp8 += np . transpose ( ints . tmp20 , ( 0 , 2 , 3 , 1 )) del ints . tmp20 tmp8 += np . transpose ( ints . tmp38 , ( 0 , 3 , 2 , 1 )) * 2 del ints . tmp38 tmp8 += ints . tmp12 * - 1 del ints . tmp12 tmp8 += np . transpose ( ints . tmp40 , ( 0 , 3 , 2 , 1 )) * - 1 del ints . tmp40 tmp8 += np . transpose ( ints . tmp41 , ( 0 , 3 , 2 , 1 )) * - 1 del ints . tmp41 tmp3 = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp15 , ( 3 , 4 , 1 , 0 ), ( 3 , 4 , 2 )) tmp4 = np . copy ( ints . tmp18 ) * 0.5 tmp4 += ints . tmp44 tmp4 += ints . tmp16 * - 0.5 tmp10 = einsum ( r1 , ( 0 ,), f . ov , ( 1 , 0 ), ( 1 ,)) tmp10 += einsum ( ints . tmp15 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 0 , 2 , 3 ), ( 1 ,)) * - 2 del ints . tmp15 , tmp9 tmp7 = np . copy ( ints . tmp6 ) * 2 del ints . tmp6 tmp7 += np . transpose ( v . xov , ( 1 , 2 , 0 )) tmp7 += ints . tmp3 * - 1 del ints . tmp3 tmp2 = np . copy ( f . vv ) tmp2 += np . transpose ( ints . tmp4 , ( 1 , 0 )) del ints . tmp4 tmp2 += np . transpose ( ints . tmp7 , ( 1 , 0 )) * - 2 del ints . tmp7 tmp12 = np . copy ( f . ov ) tmp12 += ints . tmp30 * 2 del ints . tmp30 tmp12 += ints . tmp37 * 2 del ints . tmp37 tmp12 += ints . tmp49 del ints . tmp49 tmp12 += ints . tmp31 * - 1 del ints . tmp31 tmp12 += ints . tmp36 * - 1 del ints . tmp36 tmp12 += ints . tmp50 * - 2 del ints . tmp50 tmp6 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp1 , ( 1 , 3 , 2 ), ( 3 , 0 )) * 0.5 tmp11 = np . copy ( f . oo ) tmp11 += np . transpose ( ints . tmp34 , ( 1 , 0 )) * 2 del ints . tmp34 tmp11 += np . transpose ( ints . tmp32 , ( 1 , 0 )) * - 1 del ints . tmp32 tmp5 = np . copy ( ints . tmp16 ) del ints . tmp16 tmp5 += ints . tmp18 * - 1 del ints . tmp18 tmp0 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 0.5 tmp0 += np . transpose ( r2 , ( 2 , 1 , 0 )) r2new = einsum ( ints . tmp44 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 3 , 1 ), ( 2 , 4 , 0 )) del ints . tmp44 r2new += einsum ( tmp3 , ( 0 , 1 , 2 ), t2 , ( 1 , 0 , 3 , 4 ), ( 3 , 4 , 2 )) del tmp3 r2new += einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp28 , ( 3 , 0 , 4 , 1 ), ( 4 , 3 , 2 )) del ints . tmp28 r2new += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 4 , 1 ), ( 2 , 4 , 0 )) * - 2 del tmp4 r2new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) del tmp5 r2new += einsum ( tmp7 , ( 0 , 1 , 2 ), tmp6 , ( 3 , 2 ), ( 1 , 3 , 0 )) * 2 del tmp7 , tmp6 r2new += einsum ( r1 , ( 0 ,), tmp8 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del tmp8 r2new += einsum ( tmp2 , ( 0 , 1 ), r2 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp2 , ( 1 , 3 ), ( 0 , 3 , 2 )) r2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 1 ,), ( 2 , 3 , 0 )) del tmp10 r2new += einsum ( tmp11 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp11 r2new += einsum ( tmp12 , ( 0 , 1 ), r1 , ( 2 ,), ( 1 , 2 , 0 )) * - 1 del tmp12 r1new = einsum ( tmp0 , ( 0 , 1 , 2 ), ints . tmp0 , ( 0 , 3 , 1 , 2 ), ( 3 ,)) * - 2 del ints . tmp0 , tmp0 r1new += einsum ( f . ov , ( 0 , 1 ), tmp1 , ( 0 , 2 , 1 ), ( 2 ,)) * - 1 del tmp1 r1new += einsum ( tmp2 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) del tmp2 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.hbar_lmatvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T20:51:47.677341.","title":"hbar_lmatvec_ip_intermediates"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.hbar_lmatvec_ip_intermediates--parameters","text":"f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.hbar_lmatvec_ip_intermediates--returns","text":"tmp0 : array tmp1 : array tmp10 : array tmp12 : array tmp13 : array tmp15 : array tmp18 : array tmp21 : array tmp23 : array tmp25 : array tmp27 : array tmp29 : array tmp3 : array tmp32 : array tmp36 : array tmp41 : array tmp43 : array tmp44 : array tmp45 : array tmp59 : array tmp6 : array tmp63 : array tmp65 : array tmp67 : array tmp9 : array Source code in ebcc/codegen/RDFCCD.py 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 def hbar_lmatvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:47.677341. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp10 : array tmp12 : array tmp13 : array tmp15 : array tmp18 : array tmp21 : array tmp23 : array tmp25 : array tmp27 : array tmp29 : array tmp3 : array tmp32 : array tmp36 : array tmp41 : array tmp43 : array tmp44 : array tmp45 : array tmp59 : array tmp6 : array tmp63 : array tmp65 : array tmp67 : array tmp9 : array \"\"\" tmp12 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp9 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 2 , 4 ), ( 3 , 4 , 0 )) tmp43 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp35 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp6 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp67 = einsum ( tmp12 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp65 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp9 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp63 = einsum ( tmp43 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) tmp59 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp45 = einsum ( tmp43 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) tmp44 = einsum ( tmp43 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp41 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp36 = einsum ( tmp35 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 0 , 1 )) del tmp35 tmp32 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp9 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp29 = einsum ( tmp12 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp27 = einsum ( tmp12 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp25 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp9 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp23 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp21 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) tmp18 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp15 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) tmp13 = einsum ( tmp12 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp10 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp9 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp3 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp1 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp0 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp12\" : tmp12 , f \"tmp13\" : tmp13 , f \"tmp15\" : tmp15 , f \"tmp18\" : tmp18 , f \"tmp21\" : tmp21 , f \"tmp23\" : tmp23 , f \"tmp25\" : tmp25 , f \"tmp27\" : tmp27 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp32\" : tmp32 , f \"tmp36\" : tmp36 , f \"tmp41\" : tmp41 , f \"tmp43\" : tmp43 , f \"tmp44\" : tmp44 , f \"tmp45\" : tmp45 , f \"tmp59\" : tmp59 , f \"tmp6\" : tmp6 , f \"tmp63\" : tmp63 , f \"tmp65\" : tmp65 , f \"tmp67\" : tmp67 , f \"tmp9\" : tmp9 }","title":"Returns"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.hbar_lmatvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T20:51:47.691377.","title":"hbar_lmatvec_ip"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.hbar_lmatvec_ip--parameters","text":"f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.hbar_lmatvec_ip--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RDFCCD.py 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:47.691377. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp8 = np . copy ( ints . tmp12 ) del ints . tmp12 tmp8 += np . transpose ( v . xov , ( 1 , 2 , 0 )) * 0.5 tmp8 += ints . tmp9 * - 0.5 del ints . tmp9 tmp2 = np . copy ( r2 ) * - 1 tmp2 += np . transpose ( r2 , ( 1 , 0 , 2 )) * 2 tmp11 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp11 += t2 tmp9 = einsum ( tmp2 , ( 0 , 1 , 2 ), tmp8 , ( 1 , 2 , 3 ), ( 0 , 3 )) * 2 del tmp8 tmp10 = np . copy ( f . vv ) tmp10 += ints . tmp65 del ints . tmp65 tmp10 += ints . tmp67 * - 2 del ints . tmp67 tmp7 = np . copy ( ints . tmp41 ) tmp7 += np . transpose ( ints . tmp44 , ( 1 , 0 , 3 , 2 )) * - 1 tmp12 = einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 2 ), ( 3 ,)) del tmp11 tmp6 = np . copy ( ints . tmp41 ) * 0.5 del ints . tmp41 tmp6 += np . transpose ( ints . tmp45 , ( 1 , 0 , 3 , 2 )) tmp6 += np . transpose ( ints . tmp44 , ( 1 , 0 , 3 , 2 )) * - 0.5 del ints . tmp44 tmp5 = np . copy ( f . oo ) tmp5 += ints . tmp13 * 2 del ints . tmp13 tmp5 += ints . tmp10 * - 1 del ints . tmp10 tmp0 = np . copy ( r2 ) tmp0 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 0.5 tmp3 = np . copy ( ints . tmp27 ) * 2 del ints . tmp27 tmp3 += np . transpose ( ints . tmp3 , ( 1 , 2 , 0 , 3 )) del ints . tmp3 tmp3 += ints . tmp23 * - 1 del ints . tmp23 tmp3 += ints . tmp25 * - 1 del ints . tmp25 tmp4 = np . copy ( f . ov ) tmp4 += ints . tmp15 del ints . tmp15 tmp4 += ints . tmp1 * 2 del ints . tmp1 tmp4 += ints . tmp29 * 2 del ints . tmp29 tmp4 += ints . tmp0 * - 1 del ints . tmp0 tmp4 += ints . tmp18 * - 2 del ints . tmp18 tmp4 += ints . tmp32 * - 1 del ints . tmp32 tmp1 = np . copy ( ints . tmp36 ) del ints . tmp36 tmp1 += np . transpose ( ints . tmp6 , ( 1 , 2 , 0 , 3 )) tmp1 += ints . tmp21 * - 1 del ints . tmp21 r2new = einsum ( ints . tmp6 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 ,), ( 2 , 0 , 3 )) del ints . tmp6 r2new += einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp45 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) del ints . tmp45 r2new += einsum ( r1 , ( 0 ,), f . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 r2new += einsum ( ints . tmp59 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 3 , 4 ), ( 2 , 0 , 4 )) del ints . tmp59 r2new += einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp63 , ( 1 , 0 , 3 , 4 ), ( 4 , 3 , 2 )) del ints . tmp63 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp6 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 2 del tmp6 r2new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 1 del tmp7 r2new += einsum ( v . xov , ( 0 , 1 , 2 ), tmp9 , ( 3 , 0 ), ( 1 , 3 , 2 )) del tmp9 r2new += einsum ( tmp10 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) del tmp10 r2new += einsum ( ints . tmp43 , ( 0 , 1 , 2 , 3 ), tmp12 , ( 3 ,), ( 0 , 1 , 2 )) * - 2 del ints . tmp43 , tmp12 r2new += einsum ( tmp5 , ( 0 , 1 ), r2 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp5 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r1new = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp1 , ( 1 , 0 , 3 , 2 ), ( 3 ,)) * 2 del tmp0 , tmp1 r1new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 1 , 0 , 3 ), ( 2 ,)) del tmp3 r1new += einsum ( tmp4 , ( 0 , 1 ), tmp2 , ( 2 , 0 , 1 ), ( 2 ,)) * - 1 del tmp2 , tmp4 r1new += einsum ( r1 , ( 0 ,), tmp5 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp5 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.hbar_lmatvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T20:52:01.162423.","title":"hbar_lmatvec_ea_intermediates"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.hbar_lmatvec_ea_intermediates--parameters","text":"f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.hbar_lmatvec_ea_intermediates--returns","text":"tmp0 : array tmp1 : array tmp10 : array tmp11 : array tmp13 : array tmp14 : array tmp17 : array tmp20 : array tmp23 : array tmp26 : array tmp29 : array tmp32 : array tmp34 : array tmp37 : array tmp39 : array tmp43 : array tmp45 : array tmp47 : array tmp49 : array tmp50 : array tmp51 : array tmp61 : array tmp7 : array Source code in ebcc/codegen/RDFCCD.py 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 def hbar_lmatvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:52:01.162423. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp10 : array tmp11 : array tmp13 : array tmp14 : array tmp17 : array tmp20 : array tmp23 : array tmp26 : array tmp29 : array tmp32 : array tmp34 : array tmp37 : array tmp39 : array tmp43 : array tmp45 : array tmp47 : array tmp49 : array tmp50 : array tmp51 : array tmp61 : array tmp7 : array \"\"\" tmp49 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp13 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp10 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 2 , 4 ), ( 3 , 4 , 0 )) tmp7 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp16 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp61 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp51 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) tmp50 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp47 = einsum ( tmp13 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp45 = einsum ( tmp10 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp43 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp39 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 5 , 4 )) tmp37 = einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 5 ), ( 4 , 5 , 3 , 2 )) tmp34 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp13 , ( 3 , 4 , 0 ), ( 3 , 4 , 1 , 2 )) tmp32 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp10 , ( 3 , 4 , 0 ), ( 3 , 4 , 1 , 2 )) tmp29 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp10 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp26 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp13 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp23 = einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp20 = einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) del tmp16 tmp14 = einsum ( tmp13 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp11 = einsum ( tmp10 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp1 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp0 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp11\" : tmp11 , f \"tmp13\" : tmp13 , f \"tmp14\" : tmp14 , f \"tmp17\" : tmp17 , f \"tmp20\" : tmp20 , f \"tmp23\" : tmp23 , f \"tmp26\" : tmp26 , f \"tmp29\" : tmp29 , f \"tmp32\" : tmp32 , f \"tmp34\" : tmp34 , f \"tmp37\" : tmp37 , f \"tmp39\" : tmp39 , f \"tmp43\" : tmp43 , f \"tmp45\" : tmp45 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp50\" : tmp50 , f \"tmp51\" : tmp51 , f \"tmp61\" : tmp61 , f \"tmp7\" : tmp7 }","title":"Returns"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.hbar_lmatvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T20:52:01.175852.","title":"hbar_lmatvec_ea"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.hbar_lmatvec_ea--parameters","text":"f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFCCD/#ebcc.codegen.RDFCCD.hbar_lmatvec_ea--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RDFCCD.py 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:52:01.175852. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp5 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp5 += t2 tmp11 = np . copy ( ints . tmp13 ) * 2 del ints . tmp13 tmp11 += np . transpose ( v . xov , ( 1 , 2 , 0 )) tmp11 += ints . tmp10 * - 1 del ints . tmp10 tmp10 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp10 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 0.5 tmp14 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 0 ), ( 1 ,)) tmp8 = np . copy ( ints . tmp43 ) * 0.5 tmp8 += np . transpose ( ints . tmp51 , ( 1 , 0 , 3 , 2 )) tmp8 += np . transpose ( ints . tmp50 , ( 1 , 0 , 3 , 2 )) * - 0.5 tmp4 = np . copy ( f . vv ) tmp4 += ints . tmp11 del ints . tmp11 tmp4 += ints . tmp14 * - 2 del ints . tmp14 tmp7 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) tmp12 = einsum ( tmp11 , ( 0 , 1 , 2 ), tmp10 , ( 0 , 1 , 3 ), ( 3 , 2 )) * 2 del tmp11 , tmp10 tmp13 = np . copy ( f . oo ) tmp13 += ints . tmp47 * 2 del ints . tmp47 tmp13 += ints . tmp45 * - 1 del ints . tmp45 tmp9 = np . copy ( ints . tmp43 ) del ints . tmp43 tmp9 += np . transpose ( ints . tmp50 , ( 1 , 0 , 3 , 2 )) * - 1 del ints . tmp50 tmp0 = np . copy ( ints . tmp23 ) * 0.5 tmp0 += ints . tmp34 tmp0 += np . transpose ( ints . tmp37 , ( 0 , 1 , 3 , 2 )) tmp0 += ints . tmp32 * - 0.5 tmp0 += np . transpose ( ints . tmp39 , ( 0 , 1 , 3 , 2 )) * - 0.5 tmp0 += np . transpose ( ints . tmp7 , ( 0 , 2 , 3 , 1 )) * - 1 tmp3 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 1 tmp3 += np . transpose ( r2 , ( 2 , 1 , 0 )) * 2 tmp2 = np . copy ( f . ov ) tmp2 += ints . tmp17 del ints . tmp17 tmp2 += ints . tmp1 * 2 del ints . tmp1 tmp2 += ints . tmp26 * 2 del ints . tmp26 tmp2 += ints . tmp0 * - 1 del ints . tmp0 tmp2 += ints . tmp20 * - 2 del ints . tmp20 tmp2 += ints . tmp29 * - 1 del ints . tmp29 tmp1 = np . copy ( ints . tmp23 ) * 2 del ints . tmp23 tmp1 += ints . tmp34 * 4 del ints . tmp34 tmp1 += np . transpose ( ints . tmp37 , ( 0 , 1 , 3 , 2 )) del ints . tmp37 tmp1 += ints . tmp32 * - 2 del ints . tmp32 tmp1 += np . transpose ( ints . tmp39 , ( 0 , 1 , 3 , 2 )) * - 2 del ints . tmp39 tmp1 += np . transpose ( ints . tmp7 , ( 0 , 2 , 3 , 1 )) * - 1 tmp6 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 0 ), ( 1 ,)) * 2 del tmp5 r2new = einsum ( r1 , ( 0 ,), ints . tmp7 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del ints . tmp7 r2new += einsum ( r1 , ( 0 ,), f . ov , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new += einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp51 , ( 2 , 3 , 1 , 4 ), ( 4 , 0 , 3 )) del ints . tmp51 r2new += einsum ( ints . tmp49 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 4 , 1 , 0 ), ( 3 , 2 , 4 )) del tmp7 r2new += einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp61 , ( 3 , 0 , 4 , 1 ), ( 4 , 3 , 2 )) del ints . tmp61 r2new += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 4 , 1 ), ( 2 , 4 , 0 )) * - 2 del tmp8 r2new += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) * - 1 del tmp9 r2new += einsum ( tmp12 , ( 0 , 1 ), v . xov , ( 1 , 2 , 3 ), ( 3 , 0 , 2 )) del tmp12 r2new += einsum ( tmp4 , ( 0 , 1 ), r2 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp4 , ( 1 , 3 ), ( 0 , 3 , 2 )) r2new += einsum ( tmp13 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp13 r2new += einsum ( ints . tmp49 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 1 ,), ( 2 , 3 , 0 )) * - 2 del ints . tmp49 , tmp14 r1new = einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 2 , 1 , 0 , 3 ), ( 3 ,)) * 2 del tmp0 r1new += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 2 , 0 ), ( 3 ,)) * - 1 del tmp1 r1new += einsum ( tmp2 , ( 0 , 1 ), tmp3 , ( 0 , 2 , 1 ), ( 2 ,)) * - 1 del tmp2 , tmp3 r1new += einsum ( tmp4 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) del tmp4 r1new += einsum ( tmp6 , ( 0 ,), f . ov , ( 0 , 1 ), ( 1 ,)) del tmp6 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RDFCCSD/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-17T20:38:58.563290 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.8.0-40-generic ebcc . codegen . RDFCCSD . energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:38:59.248126. 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. Source code in ebcc/codegen/RDFCCSD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:38:59.248126. 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 ( t1 , ( 0 , 1 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp0 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp1 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp1 += t2 * - 1 tmp4 = np . copy ( f . ov ) tmp4 += einsum ( tmp3 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) * - 0.5 del tmp3 tmp2 = einsum ( tmp0 , ( 0 ,), t1 , ( 1 , 2 ), ( 1 , 2 , 0 )) del tmp0 tmp2 += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 0 , 3 ), ( 1 , 2 , 4 )) * 0.5 del tmp1 e_cc = einsum ( tmp2 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 1 ), ()) * 2 del tmp2 e_cc += einsum ( t1 , ( 0 , 1 ), tmp4 , ( 0 , 1 ), ()) * 2 del tmp4 return e_cc ebcc . codegen . RDFCCSD . update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:39:22.426740. 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. Source code in ebcc/codegen/RDFCCSD.py 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:39:22.426740. 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 . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp0 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp37 = np . copy ( t2 ) tmp37 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp9 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp2 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp1 = einsum ( tmp0 , ( 0 ,), v . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp32 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp30 = einsum ( tmp2 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) tmp18 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 2 ), ( 0 , 3 , 4 )) tmp5 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp5 += t2 * - 1 tmp38 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 0 , 3 ), ( 1 , 2 , 4 )) del tmp37 tmp35 = np . copy ( tmp1 ) * 2 tmp35 += tmp9 * - 1 tmp33 = np . copy ( np . transpose ( tmp32 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp33 += np . transpose ( tmp32 , ( 2 , 1 , 0 , 3 )) * 2 tmp11 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp11 += t2 * - 1 tmp21 = einsum ( t1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp57 = np . copy ( tmp30 ) * 2 tmp57 += np . transpose ( tmp30 , ( 0 , 2 , 1 , 3 )) * - 1 tmp17 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp45 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) tmp45 += tmp18 * - 1 tmp72 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp13 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp5 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) tmp39 = einsum ( tmp38 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 3 , 4 , 0 , 1 )) tmp36 = einsum ( tmp35 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp31 = einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) del tmp30 tmp34 = einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) del tmp33 tmp27 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp11 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) tmp6 = einsum ( t1 , ( 0 , 1 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 , 2 )) tmp51 = einsum ( tmp0 , ( 0 ,), v . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp52 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp21 , ( 1 , 3 , 0 ), ( 2 , 3 )) tmp61 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp2 , ( 2 , 3 , 0 ), ( 1 , 3 )) tmp12 = einsum ( tmp0 , ( 0 ,), v . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp56 = einsum ( tmp2 , ( 0 , 1 , 2 ), tmp18 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp55 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp32 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) del tmp32 tmp58 = einsum ( tmp57 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) del tmp57 tmp19 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) tmp23 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp46 = einsum ( tmp45 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) del tmp45 tmp73 = einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 0 , 1 )) del tmp72 tmp75 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp13 , ( 1 , 3 , 0 ), ( 3 , 2 )) * 0.5 tmp77 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp13 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp40 = np . copy ( np . transpose ( tmp31 , ( 0 , 2 , 1 , 3 ))) del tmp31 tmp40 += np . transpose ( tmp34 , ( 2 , 1 , 0 , 3 )) * - 1 del tmp34 tmp40 += np . transpose ( tmp36 , ( 2 , 0 , 1 , 3 )) * - 1 del tmp36 tmp40 += np . transpose ( tmp39 , ( 2 , 1 , 0 , 3 )) del tmp39 tmp25 = einsum ( tmp2 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) tmp28 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) tmp28 += tmp6 * - 1 tmp28 += tmp27 del tmp27 tmp42 = einsum ( tmp35 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) del tmp35 tmp53 = np . copy ( np . transpose ( tmp51 , ( 1 , 0 ))) * 2 del tmp51 tmp53 += tmp52 * - 1 del tmp52 tmp62 = np . copy ( np . transpose ( tmp61 , ( 1 , 0 ))) * - 1 del tmp61 tmp62 += np . transpose ( tmp12 , ( 1 , 0 )) * 2 tmp49 = np . copy ( tmp6 ) tmp49 += tmp38 del tmp38 tmp59 = np . copy ( tmp55 ) del tmp55 tmp59 += tmp56 del tmp56 tmp59 += np . transpose ( tmp58 , ( 0 , 2 , 1 , 3 )) * - 1 del tmp58 tmp47 = np . copy ( np . transpose ( tmp23 , ( 1 , 0 , 3 , 2 ))) tmp47 += tmp19 * - 1 tmp47 += tmp46 * - 2 del tmp46 tmp82 = einsum ( tmp2 , ( 0 , 1 , 2 ), tmp21 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp67 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp65 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp69 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp2 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp74 = einsum ( tmp73 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp73 tmp76 = einsum ( tmp75 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 2 , 3 , 0 , 4 )) * 2 del tmp75 tmp78 = einsum ( tmp77 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp77 tmp87 = einsum ( t1 , ( 0 , 1 ), tmp17 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) tmp22 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp41 = einsum ( t1 , ( 0 , 1 ), tmp40 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp40 tmp24 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp23 tmp26 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp29 = einsum ( tmp21 , ( 0 , 1 , 2 ), tmp28 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) del tmp28 tmp43 = einsum ( tmp42 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp42 tmp54 = einsum ( tmp53 , ( 0 , 1 ), t2 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp53 tmp63 = einsum ( tmp62 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp62 tmp50 = einsum ( tmp49 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) del tmp49 tmp60 = einsum ( t1 , ( 0 , 1 ), tmp59 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp59 tmp48 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp47 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp47 tmp89 = np . copy ( np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 ))) * 2 tmp89 += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) * - 1 tmp83 = einsum ( tmp82 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp82 tmp81 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp25 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 3 , 5 )) del tmp25 tmp68 = einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp67 tmp66 = einsum ( tmp65 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp65 tmp70 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp69 tmp7 = einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 0.5 tmp7 += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 1 tmp7 += t2 * 0.5 tmp3 = np . copy ( np . transpose ( v . xoo , ( 1 , 2 , 0 ))) tmp3 += np . transpose ( tmp2 , ( 1 , 0 , 2 )) tmp14 = np . copy ( tmp6 ) * - 1 tmp14 += einsum ( tmp0 , ( 0 ,), t1 , ( 1 , 2 ), ( 1 , 2 , 0 )) * 2 tmp14 += tmp13 del tmp13 tmp15 = np . copy ( f . ov ) tmp15 += tmp9 * - 1 tmp86 = np . copy ( t2 ) tmp86 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp79 = np . copy ( tmp74 ) del tmp74 tmp79 += np . transpose ( tmp76 , ( 1 , 0 , 3 , 2 )) del tmp76 tmp79 += np . transpose ( tmp78 , ( 1 , 0 , 3 , 2 )) del tmp78 tmp88 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp88 += einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 3 , 4 , 2 , 1 )) del tmp87 tmp44 = np . copy ( tmp22 ) del tmp22 tmp44 += tmp24 * - 1 del tmp24 tmp44 += tmp26 * - 1 del tmp26 tmp44 += np . transpose ( tmp29 , ( 1 , 0 , 2 , 3 )) del tmp29 tmp44 += np . transpose ( tmp41 , ( 0 , 1 , 3 , 2 )) del tmp41 tmp44 += np . transpose ( tmp43 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp43 tmp64 = np . copy ( np . transpose ( tmp48 , ( 1 , 0 , 3 , 2 ))) del tmp48 tmp64 += tmp50 del tmp50 tmp64 += np . transpose ( tmp54 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp54 tmp64 += np . transpose ( tmp60 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp60 tmp64 += np . transpose ( tmp63 , ( 1 , 0 , 3 , 2 )) del tmp63 tmp90 = einsum ( tmp89 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp89 tmp85 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp85 += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp2 , ( 3 , 4 , 2 ), ( 4 , 0 , 1 , 3 )) del tmp2 tmp20 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 1 , 0 )) tmp80 = einsum ( f . oo , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp84 = np . copy ( tmp81 ) del tmp81 tmp84 += tmp83 del tmp83 tmp71 = np . copy ( tmp66 ) del tmp66 tmp71 += tmp68 del tmp68 tmp71 += tmp70 * - 1 del tmp70 tmp8 = np . copy ( tmp6 ) * 0.5 del tmp6 tmp8 += einsum ( tmp0 , ( 0 ,), t1 , ( 1 , 2 ), ( 1 , 2 , 0 )) * - 1 del tmp0 tmp8 += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 0 , 3 ), ( 1 , 2 , 4 )) del tmp7 tmp10 = np . copy ( f . ov ) tmp10 += tmp1 * 2 tmp10 += tmp9 * - 1 del tmp9 tmp4 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp3 , ( 3 , 4 , 0 ), ( 4 , 1 , 3 , 2 )) del tmp3 tmp16 = np . copy ( f . oo ) tmp16 += np . transpose ( tmp12 , ( 1 , 0 )) * 2 del tmp12 tmp16 += einsum ( v . xov , ( 0 , 1 , 2 ), tmp14 , ( 3 , 2 , 0 ), ( 1 , 3 )) del tmp14 tmp16 += einsum ( tmp15 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) del tmp15 t2new = np . copy ( np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 ))) del tmp17 t2new += einsum ( tmp18 , ( 0 , 1 , 2 ), tmp18 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) del tmp18 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) del tmp19 t2new += einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 5 ), ( 1 , 0 , 5 , 4 )) del tmp20 t2new += einsum ( tmp21 , ( 0 , 1 , 2 ), tmp21 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) del tmp21 t2new += np . transpose ( tmp44 , ( 0 , 1 , 3 , 2 )) t2new += np . transpose ( tmp44 , ( 1 , 0 , 2 , 3 )) del tmp44 t2new += tmp64 * - 1 t2new += np . transpose ( tmp64 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp64 t2new += np . transpose ( tmp71 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp71 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp71 t2new += tmp79 * - 1 t2new += np . transpose ( tmp79 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp79 t2new += np . transpose ( tmp80 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp80 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp80 t2new += tmp84 * - 1 t2new += np . transpose ( tmp84 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp84 t2new += einsum ( tmp86 , ( 0 , 1 , 2 , 3 ), tmp85 , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 3 , 2 )) del tmp86 , tmp85 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp88 , ( 3 , 4 , 2 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp88 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp90 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp90 t1new = np . copy ( f . ov ) t1new += einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) t1new += tmp1 * 2 del tmp1 t1new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 del tmp5 , tmp4 t1new += einsum ( v . xvv , ( 0 , 1 , 2 ), tmp8 , ( 3 , 2 , 0 ), ( 3 , 1 )) * - 2 del tmp8 t1new += einsum ( tmp10 , ( 0 , 1 ), tmp11 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) del tmp11 , tmp10 t1new += einsum ( tmp16 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp16 return { f \"t1new\" : t1new , f \"t2new\" : t2new } ebcc . codegen . RDFCCSD . 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-17T20:40:09.667316. 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. Source code in ebcc/codegen/RDFCCSD.py 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 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-17T20:40:09.667316. 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 . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp13 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp95 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp95 += t2 * - 1 tmp20 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp20 += t2 tmp21 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp21 += t2 * - 1 tmp15 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp5 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp14 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp13 , ( 0 ,), ( 1 , 2 )) tmp0 = einsum ( t1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp96 = einsum ( tmp95 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 0 , 3 ), ( 1 , 2 , 4 )) del tmp95 tmp32 = einsum ( t1 , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp7 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp35 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp35 += t2 * - 0.5 tmp51 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) tmp50 = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 1 , 2 )) tmp22 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 0 , 3 ), ( 1 , 2 , 4 )) tmp80 = np . copy ( np . transpose ( v . xoo , ( 1 , 2 , 0 ))) tmp80 += np . transpose ( tmp5 , ( 1 , 0 , 2 )) tmp91 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp91 += t2 * 2 tmp105 = np . copy ( tmp14 ) * 2 tmp105 += tmp15 * - 1 tmp98 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp98 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp97 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) tmp97 += tmp0 tmp97 += tmp96 del tmp96 tmp100 = np . copy ( tmp32 ) * 2 tmp100 += np . transpose ( tmp32 , ( 1 , 0 , 2 , 3 )) * - 1 tmp9 = einsum ( tmp5 , ( 0 , 1 , 2 ), tmp5 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) tmp8 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) tmp36 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp35 , ( 3 , 2 , 4 , 1 ), ( 0 , 4 )) * 2 tmp52 = np . copy ( tmp50 ) * 0.5 tmp52 += tmp51 del tmp51 tmp113 = einsum ( tmp22 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 3 , 0 )) * 0.5 tmp61 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp13 , ( 0 ,), ( 1 , 2 )) tmp79 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 4 , 1 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) tmp81 = einsum ( tmp80 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp80 tmp92 = einsum ( tmp91 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 4 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) del tmp91 tmp106 = einsum ( t1 , ( 0 , 1 ), tmp105 , ( 2 , 1 ), ( 0 , 2 )) tmp62 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp5 , ( 2 , 3 , 0 ), ( 1 , 3 )) tmp99 = einsum ( tmp97 , ( 0 , 1 , 2 ), tmp98 , ( 0 , 3 , 1 , 4 ), ( 3 , 4 , 2 )) del tmp97 , tmp98 tmp101 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp100 , ( 3 , 1 , 2 , 4 ), ( 3 , 4 , 0 )) tmp102 = einsum ( tmp100 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 1 , 2 , 4 ), ( 0 , 3 , 4 )) del tmp100 tmp10 = np . copy ( tmp8 ) tmp10 += tmp9 tmp3 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp37 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp36 , ( 3 , 2 ), ( 1 , 3 , 0 )) * 0.5 del tmp36 tmp118 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp52 , ( 3 , 1 ), ( 3 , 2 , 0 )) * 2 tmp77 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp5 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) tmp114 = np . copy ( np . transpose ( tmp61 , ( 1 , 0 ))) tmp114 += np . transpose ( tmp113 , ( 1 , 0 )) del tmp113 tmp111 = einsum ( tmp22 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 3 , 1 )) * 0.5 tmp75 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp123 = einsum ( tmp0 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 3 , 1 )) tmp69 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp82 = np . copy ( tmp79 ) * - 1 del tmp79 tmp82 += np . transpose ( tmp81 , ( 1 , 0 , 3 , 2 )) tmp72 = einsum ( l1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 0 ), ( 1 , 3 , 2 )) tmp25 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp5 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp93 = np . copy ( np . transpose ( tmp92 , ( 1 , 0 , 3 , 2 ))) del tmp92 tmp93 += np . transpose ( tmp81 , ( 1 , 0 , 3 , 2 )) del tmp81 tmp107 = np . copy ( tmp62 ) tmp107 += tmp106 * - 1 del tmp106 tmp88 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 1 , 5 ), ( 5 , 0 , 4 , 2 )) tmp65 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp13 , ( 0 ,), ( 1 , 2 )) del tmp13 tmp103 = np . copy ( tmp99 ) * - 1 del tmp99 tmp103 += tmp101 del tmp101 tmp103 += tmp102 del tmp102 tmp18 = np . copy ( np . transpose ( v . xoo , ( 1 , 2 , 0 ))) tmp18 += np . transpose ( tmp5 , ( 1 , 0 , 2 )) tmp16 = np . copy ( tmp14 ) * 2 tmp16 += tmp15 * - 1 tmp24 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp6 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp5 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) tmp11 = einsum ( t1 , ( 0 , 1 ), tmp10 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * 2 del tmp10 tmp4 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) tmp56 = np . copy ( tmp50 ) tmp56 += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) * 2 tmp40 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp40 += t2 * 2 tmp46 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp47 = einsum ( t1 , ( 0 , 1 ), tmp32 , ( 2 , 3 , 4 , 1 ), ( 3 , 2 , 4 , 0 )) tmp34 = np . copy ( tmp32 ) tmp34 += np . transpose ( tmp32 , ( 1 , 0 , 2 , 3 )) * - 0.5 tmp44 = np . copy ( tmp32 ) * - 1 tmp44 += np . transpose ( tmp32 , ( 1 , 0 , 2 , 3 )) * 2 tmp43 = einsum ( l1 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp120 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp37 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) * 2 tmp119 = einsum ( tmp118 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 4 , 1 )) del tmp118 tmp117 = einsum ( l1 , ( 0 , 1 ), tmp77 , ( 1 , 2 , 3 , 4 ), ( 2 , 3 , 0 , 4 )) tmp115 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp114 , ( 2 , 4 ), ( 3 , 4 , 0 , 1 )) * 2 del tmp114 tmp112 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp111 , ( 4 , 1 ), ( 3 , 2 , 0 , 4 )) * 2 del tmp111 tmp122 = einsum ( l1 , ( 0 , 1 ), tmp75 , ( 2 , 1 , 3 , 4 ), ( 2 , 3 , 0 , 4 )) tmp124 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp123 , ( 4 , 1 ), ( 2 , 3 , 0 , 4 )) del tmp123 tmp78 = einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), tmp32 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp76 = einsum ( tmp75 , ( 0 , 1 , 2 , 3 ), tmp32 , ( 1 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp70 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp69 , ( 4 , 3 ), ( 4 , 2 , 0 , 1 )) del tmp69 tmp83 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp82 , ( 2 , 4 , 1 , 5 ), ( 3 , 4 , 0 , 5 )) del tmp82 tmp73 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp72 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) del tmp72 tmp74 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp68 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp71 = einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), f . ov , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp94 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp93 , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) del tmp93 tmp108 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp107 , ( 2 , 4 ), ( 3 , 4 , 0 , 1 )) del tmp107 tmp87 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp32 , ( 4 , 5 , 0 , 2 ), ( 5 , 4 , 3 , 1 )) del tmp3 tmp109 = einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), tmp105 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp89 = einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), tmp88 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp88 tmp86 = einsum ( tmp65 , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 2 , 0 )) tmp104 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp103 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) del tmp103 tmp90 = einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), tmp32 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) del tmp77 tmp85 = einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), tmp75 , ( 4 , 1 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) del tmp75 tmp38 = np . copy ( np . transpose ( v . xoo , ( 1 , 2 , 0 ))) tmp38 += tmp5 tmp33 = np . copy ( tmp32 ) * 2 tmp33 += np . transpose ( tmp32 , ( 1 , 0 , 2 , 3 )) * - 1 tmp31 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 0.5 tmp31 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) tmp30 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) tmp30 += tmp0 tmp30 += tmp22 tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 1 , 4 )) tmp23 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) tmp23 += tmp22 tmp1 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp0 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp2 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 2 ), ( 0 , 1 , 4 , 3 )) del tmp16 tmp26 = np . copy ( np . transpose ( tmp24 , ( 3 , 2 , 1 , 0 ))) tmp26 += np . transpose ( tmp25 , ( 1 , 0 , 3 , 2 )) tmp26 += np . transpose ( tmp25 , ( 3 , 0 , 2 , 1 )) * - 0.5 tmp12 = np . copy ( tmp4 ) * 2 del tmp4 tmp12 += tmp6 * 2 del tmp6 tmp12 += tmp11 * - 1 del tmp11 tmp57 = np . copy ( np . transpose ( l1 , ( 1 , 0 ))) tmp57 += t1 tmp57 += einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), tmp32 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) * - 1 tmp57 += einsum ( l1 , ( 0 , 1 ), tmp20 , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) * 2 tmp57 += einsum ( tmp56 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp56 tmp58 = np . copy ( tmp50 ) del tmp50 tmp58 += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) tmp55 = einsum ( l1 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) * 0.5 tmp55 += einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 1 , 0 ), ( 3 , 4 )) * 0.5 tmp49 = np . copy ( np . transpose ( tmp46 , ( 1 , 0 , 2 , 3 ))) * 2 tmp49 += np . transpose ( tmp46 , ( 1 , 0 , 3 , 2 )) * - 1 tmp49 += tmp47 * - 1 tmp49 += np . transpose ( tmp47 , ( 0 , 1 , 3 , 2 )) * 2 tmp41 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 2 , 4 , 5 , 1 ), ( 3 , 4 , 0 , 5 )) del tmp40 tmp41 += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp35 , ( 3 , 4 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) * 2 del tmp35 tmp42 = np . copy ( tmp32 ) * - 0.5 tmp42 += np . transpose ( tmp32 , ( 1 , 0 , 2 , 3 )) tmp48 = np . copy ( np . transpose ( tmp46 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp48 += np . transpose ( tmp46 , ( 1 , 0 , 3 , 2 )) * 2 tmp48 += tmp47 * 2 tmp48 += np . transpose ( tmp47 , ( 0 , 1 , 3 , 2 )) * - 1 tmp53 = np . copy ( t1 ) * - 0.5 tmp53 += einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) del tmp32 tmp53 += einsum ( l1 , ( 0 , 1 ), tmp21 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 )) * - 0.5 del tmp21 tmp53 += einsum ( tmp52 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp45 = np . copy ( tmp43 ) * - 1 tmp45 += np . transpose ( tmp43 , ( 0 , 2 , 1 , 3 )) * 0.5 del tmp43 tmp45 += einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) * 0.5 del tmp44 tmp45 += einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp63 = np . copy ( f . ov ) tmp63 += tmp14 * 2 tmp63 += tmp15 * - 1 tmp28 = np . copy ( np . transpose ( tmp24 , ( 3 , 2 , 1 , 0 ))) * 0.5 tmp28 += np . transpose ( tmp25 , ( 1 , 0 , 3 , 2 )) * 0.5 tmp28 += np . transpose ( tmp25 , ( 3 , 0 , 2 , 1 )) * - 1 del tmp25 tmp121 = np . copy ( tmp117 ) del tmp117 tmp121 += np . transpose ( tmp119 , ( 1 , 0 , 2 , 3 )) del tmp119 tmp121 += np . transpose ( tmp120 , ( 0 , 1 , 3 , 2 )) del tmp120 tmp116 = np . copy ( np . transpose ( tmp112 , ( 1 , 0 , 2 , 3 ))) del tmp112 tmp116 += np . transpose ( tmp115 , ( 0 , 1 , 3 , 2 )) del tmp115 tmp67 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp128 = np . copy ( np . transpose ( tmp24 , ( 3 , 2 , 1 , 0 ))) del tmp24 tmp128 += np . transpose ( tmp9 , ( 0 , 3 , 1 , 2 )) del tmp9 tmp126 = einsum ( f . oo , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp125 = np . copy ( tmp122 ) del tmp122 tmp125 += tmp124 del tmp124 tmp127 = np . copy ( np . transpose ( tmp46 , ( 1 , 0 , 3 , 2 ))) del tmp46 tmp127 += tmp47 del tmp47 tmp84 = np . copy ( tmp68 ) del tmp68 tmp84 += tmp70 * - 1 del tmp70 tmp84 += tmp71 * - 1 del tmp71 tmp84 += tmp73 del tmp73 tmp84 += tmp74 del tmp74 tmp84 += tmp76 del tmp76 tmp84 += tmp78 del tmp78 tmp84 += tmp83 * - 1 del tmp83 tmp110 = einsum ( l1 , ( 0 , 1 ), f . ov , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) tmp110 += tmp85 del tmp85 tmp110 += tmp86 * 2 del tmp86 tmp110 += tmp87 * - 1 del tmp87 tmp110 += tmp89 del tmp89 tmp110 += tmp90 del tmp90 tmp110 += tmp94 * - 1 del tmp94 tmp110 += np . transpose ( tmp104 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp104 tmp110 += np . transpose ( tmp108 , ( 0 , 1 , 3 , 2 )) del tmp108 tmp110 += tmp109 * - 1 del tmp109 tmp110 += einsum ( tmp105 , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) del tmp105 tmp39 = einsum ( tmp31 , ( 0 , 1 , 2 , 3 ), tmp30 , ( 0 , 2 , 4 ), ( 1 , 3 , 4 )) * - 1 del tmp31 tmp39 += einsum ( v . xoo , ( 0 , 1 , 2 ), tmp33 , ( 3 , 1 , 2 , 4 ), ( 3 , 4 , 0 )) * 0.5 del tmp33 tmp39 += einsum ( tmp5 , ( 0 , 1 , 2 ), tmp34 , ( 3 , 0 , 1 , 4 ), ( 3 , 4 , 2 )) del tmp34 tmp39 += tmp37 del tmp37 tmp39 += einsum ( l1 , ( 0 , 1 ), tmp38 , ( 1 , 2 , 3 ), ( 2 , 0 , 3 )) * 0.5 del tmp38 tmp27 = np . copy ( np . transpose ( tmp1 , ( 0 , 2 , 1 , 3 ))) tmp27 += np . transpose ( tmp2 , ( 1 , 0 , 2 , 3 )) tmp27 += np . transpose ( tmp2 , ( 2 , 0 , 1 , 3 )) * - 2 del tmp2 tmp27 += np . transpose ( tmp12 , ( 0 , 2 , 1 , 3 )) * - 1 tmp27 += np . transpose ( tmp12 , ( 1 , 2 , 0 , 3 )) * 0.5 del tmp12 tmp27 += np . transpose ( tmp17 , ( 1 , 2 , 0 , 3 )) tmp27 += np . transpose ( tmp17 , ( 0 , 2 , 1 , 3 )) * - 2 del tmp17 tmp27 += einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 0 , 5 , 2 ), ( 5 , 4 , 1 , 3 )) * 2 tmp27 += einsum ( tmp23 , ( 0 , 1 , 2 ), tmp18 , ( 3 , 4 , 2 ), ( 4 , 3 , 0 , 1 )) * - 2 tmp27 += einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) * 2 del tmp26 tmp59 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp55 , ( 2 , 1 ), ( 0 ,)) * 2 del tmp55 tmp59 += einsum ( tmp57 , ( 0 , 1 ), v . xov , ( 2 , 0 , 1 ), ( 2 ,)) del tmp57 tmp59 += einsum ( tmp58 , ( 0 , 1 ), v . xoo , ( 2 , 1 , 0 ), ( 2 ,)) * - 1 del tmp58 tmp54 = einsum ( l1 , ( 0 , 1 ), tmp0 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp0 tmp54 += einsum ( v . xvv , ( 0 , 1 , 2 ), tmp41 , ( 3 , 4 , 1 , 2 ), ( 4 , 3 , 0 )) * - 1 del tmp41 tmp54 += einsum ( tmp42 , ( 0 , 1 , 2 , 3 ), tmp30 , ( 1 , 3 , 4 ), ( 2 , 0 , 4 )) * - 2 del tmp30 , tmp42 tmp54 += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 3 ), ( 2 , 0 , 4 )) * 2 del tmp45 tmp54 += einsum ( tmp5 , ( 0 , 1 , 2 ), tmp48 , ( 0 , 3 , 1 , 4 ), ( 4 , 3 , 2 )) del tmp5 , tmp48 tmp54 += einsum ( v . xoo , ( 0 , 1 , 2 ), tmp49 , ( 1 , 3 , 4 , 2 ), ( 4 , 3 , 0 )) del tmp49 tmp54 += einsum ( v . xov , ( 0 , 1 , 2 ), tmp53 , ( 3 , 2 ), ( 3 , 1 , 0 )) * 2 del tmp53 tmp54 += einsum ( v . xoo , ( 0 , 1 , 2 ), tmp52 , ( 2 , 3 ), ( 3 , 1 , 0 )) * 2 tmp64 = np . copy ( f . oo ) tmp64 += np . transpose ( tmp61 , ( 1 , 0 )) * 2 del tmp61 tmp64 += tmp62 * - 1 del tmp62 tmp64 += einsum ( v . xov , ( 0 , 1 , 2 ), tmp22 , ( 3 , 2 , 0 ), ( 3 , 1 )) del tmp22 tmp64 += einsum ( t1 , ( 0 , 1 ), tmp63 , ( 2 , 1 ), ( 0 , 2 )) del tmp63 tmp60 = np . copy ( f . ov ) * 0.5 tmp60 += tmp14 del tmp14 tmp60 += tmp15 * - 0.5 del tmp15 tmp29 = np . copy ( np . transpose ( tmp1 , ( 0 , 2 , 1 , 3 ))) * - 1 del tmp1 tmp29 += einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 0 , 5 , 3 ), ( 5 , 4 , 1 , 2 )) del tmp20 , tmp19 tmp29 += einsum ( tmp23 , ( 0 , 1 , 2 ), tmp18 , ( 3 , 4 , 2 ), ( 4 , 3 , 0 , 1 )) * 0.5 del tmp18 , tmp23 tmp29 += einsum ( t1 , ( 0 , 1 ), tmp28 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp28 tmp66 = np . copy ( f . vv ) tmp66 += np . transpose ( tmp65 , ( 1 , 0 )) * 2 del tmp65 l2new = np . copy ( np . transpose ( tmp7 , ( 3 , 2 , 1 , 0 ))) l2new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp8 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp8 l2new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp67 , ( 4 , 5 , 1 , 0 ), ( 4 , 5 , 2 , 3 )) del tmp67 l2new += np . transpose ( tmp84 , ( 3 , 2 , 0 , 1 )) l2new += np . transpose ( tmp84 , ( 2 , 3 , 1 , 0 )) del tmp84 l2new += np . transpose ( tmp110 , ( 2 , 3 , 0 , 1 )) l2new += np . transpose ( tmp110 , ( 3 , 2 , 1 , 0 )) del tmp110 l2new += np . transpose ( tmp116 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp116 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp116 l2new += np . transpose ( tmp121 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp121 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp121 l2new += np . transpose ( tmp125 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp125 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp125 l2new += np . transpose ( tmp126 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp126 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp126 l2new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), tmp127 , ( 4 , 5 , 0 , 1 ), ( 3 , 2 , 5 , 4 )) del tmp7 , tmp127 l2new += einsum ( tmp128 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 2 , 0 ), ( 4 , 5 , 1 , 3 )) del tmp128 l1new = np . copy ( np . transpose ( f . ov , ( 1 , 0 ))) l1new += einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 2 ), ( 4 , 1 )) del tmp27 l1new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 3 , 4 , 2 , 1 ), ( 0 , 4 )) * 2 del tmp29 l1new += einsum ( v . xvv , ( 0 , 1 , 2 ), tmp39 , ( 3 , 2 , 0 ), ( 1 , 3 )) * - 2 del tmp39 l1new += einsum ( v . xov , ( 0 , 1 , 2 ), tmp54 , ( 1 , 3 , 0 ), ( 2 , 3 )) del tmp54 l1new += einsum ( tmp59 , ( 0 ,), v . xov , ( 0 , 1 , 2 ), ( 2 , 1 )) * 2 del tmp59 l1new += einsum ( tmp52 , ( 0 , 1 ), tmp60 , ( 1 , 2 ), ( 2 , 0 )) * - 4 del tmp52 , tmp60 l1new += einsum ( l1 , ( 0 , 1 ), tmp64 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp64 l1new += einsum ( l1 , ( 0 , 1 ), tmp66 , ( 0 , 2 ), ( 2 , 1 )) del tmp66 return { f \"l1new\" : l1new , f \"l2new\" : l2new } ebcc . codegen . RDFCCSD . make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:40:10.659550. 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. Source code in ebcc/codegen/RDFCCSD.py 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 def make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:40:10.659550. 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 )) tmp0 = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 1 , 2 )) tmp5 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp5 += t2 tmp7 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp7 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp4 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp4 += t2 * - 1 tmp3 = np . copy ( tmp2 ) tmp3 += np . transpose ( tmp2 , ( 1 , 0 , 2 , 3 )) * - 0.5 del tmp2 tmp6 = np . copy ( tmp0 ) * 0.5 tmp6 += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) del tmp5 tmp1 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp1 += t2 * - 0.5 rdm1 . vv = einsum ( l1 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) * 2 rdm1 . vv += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 2 , 4 ), ( 3 , 4 )) * 2 del tmp7 rdm1 . vo = np . copy ( l1 ) * 2 rdm1 . ov = np . copy ( t1 ) * 2 rdm1 . ov += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) * - 4 del tmp3 rdm1 . ov += einsum ( l1 , ( 0 , 1 ), tmp4 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 )) * 2 del tmp4 rdm1 . ov += einsum ( tmp6 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 4 del tmp6 rdm1 . oo = np . copy ( np . transpose ( tmp0 , ( 1 , 0 ))) * - 2 del tmp0 rdm1 . oo += delta . oo * 2 del delta rdm1 . oo += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 2 , 4 , 1 , 0 ), ( 4 , 3 )) * - 4 del tmp1 rdm1 = np . block ([[ rdm1 . oo , rdm1 . ov ], [ rdm1 . vo , rdm1 . vv ]]) return rdm1 ebcc . codegen . RDFCCSD . make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:40:56.960489. 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. Source code in ebcc/codegen/RDFCCSD.py 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 def make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:40:56.960489. 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 ( t1 , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp9 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp9 += t2 * - 1 tmp78 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp78 += t2 * - 1 tmp1 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp1 += t2 tmp20 = np . copy ( tmp4 ) * - 1 tmp20 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) * 2 tmp18 = np . copy ( tmp4 ) * - 1 tmp18 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) tmp80 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 5 , 0 ), ( 1 , 5 , 2 , 4 )) tmp79 = einsum ( tmp78 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 5 ), ( 1 , 5 , 2 , 4 )) del tmp78 tmp91 = einsum ( t1 , ( 0 , 1 ), tmp4 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp45 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp45 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp62 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp62 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp103 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp103 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp12 = np . copy ( tmp4 ) * - 1 tmp12 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) * 2 tmp2 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) * 2 tmp5 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp54 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp54 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) tmp16 = einsum ( l1 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp26 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp21 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) del tmp20 tmp25 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 4 , 5 , 2 ), ( 4 , 5 , 0 , 3 )) tmp0 = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 1 , 2 )) tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp31 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) del tmp1 tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 4 , 5 ), ( 5 , 4 , 0 , 1 )) tmp113 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) tmp107 = np . copy ( tmp91 ) tmp107 += np . transpose ( tmp79 , ( 1 , 0 , 3 , 2 )) tmp107 += np . transpose ( tmp80 , ( 1 , 0 , 3 , 2 )) * - 1 tmp67 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 5 , 1 ), ( 5 , 0 , 4 , 3 )) tmp52 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp45 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) tmp83 = einsum ( l1 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp84 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp62 , ( 0 , 1 , 3 , 4 ), ( 4 , 2 )) tmp104 = einsum ( tmp103 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) del tmp103 tmp96 = np . copy ( np . transpose ( tmp80 , ( 1 , 0 , 3 , 2 ))) tmp96 += np . transpose ( tmp79 , ( 1 , 0 , 3 , 2 )) * - 1 tmp13 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) * 0.5 tmp14 = einsum ( tmp2 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * 0.5 tmp63 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp62 , ( 0 , 1 , 3 , 4 ), ( 4 , 2 )) * 0.5 del tmp62 tmp17 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) tmp55 = einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp74 = np . copy ( tmp16 ) tmp74 += tmp26 * - 1 tmp36 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp36 += t2 * 2 tmp71 = np . copy ( tmp25 ) tmp71 += tmp21 * - 1 tmp46 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp45 , ( 1 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) del tmp45 tmp59 = np . copy ( t2 ) tmp59 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp10 = einsum ( l1 , ( 0 , 1 ), tmp9 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 )) del tmp9 tmp8 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp48 = np . copy ( tmp16 ) tmp48 += tmp19 tmp48 += tmp21 * - 1 tmp32 = np . copy ( tmp0 ) * 0.5 tmp32 += tmp31 del tmp31 tmp6 = np . copy ( np . transpose ( tmp3 , ( 1 , 0 , 3 , 2 ))) tmp6 += tmp5 tmp29 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp29 += t2 * - 1 tmp115 = einsum ( t1 , ( 0 , 1 ), tmp113 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) tmp114 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 1 , 0 ), ( 4 , 5 , 3 , 2 )) tmp95 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l1 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp108 = einsum ( tmp107 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp107 tmp69 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 1 , 5 ), ( 5 , 0 , 4 , 3 )) tmp111 = np . copy ( tmp67 ) tmp111 += tmp91 tmp111 += tmp52 * - 1 tmp99 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) tmp85 = np . copy ( tmp83 ) tmp85 += tmp84 del tmp84 tmp105 = np . copy ( tmp67 ) tmp105 += tmp91 tmp105 += tmp104 * - 1 del tmp104 tmp97 = einsum ( tmp96 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp96 tmp87 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp87 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp81 = np . copy ( tmp4 ) tmp81 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) * - 1 tmp89 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) tmp89 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp15 = np . copy ( tmp13 ) tmp15 += tmp14 del tmp14 tmp64 = einsum ( tmp63 , ( 0 , 1 ), t2 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 tmp65 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 1 , 4 ), ( 0 , 4 , 3 , 2 )) tmp51 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) tmp53 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp52 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp52 tmp56 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp55 , ( 1 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) del tmp55 tmp44 = einsum ( tmp0 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp75 = einsum ( t1 , ( 0 , 1 ), tmp74 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp74 tmp37 = einsum ( l1 , ( 0 , 1 ), tmp36 , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) del tmp36 tmp72 = einsum ( t1 , ( 0 , 1 ), tmp71 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp71 tmp47 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp46 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp46 tmp60 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp59 , ( 0 , 1 , 4 , 5 ), ( 2 , 3 , 4 , 5 )) del tmp59 tmp58 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 5 ), ( 3 , 2 , 5 , 4 )) tmp11 = np . copy ( tmp8 ) tmp11 += tmp10 * - 1 del tmp10 tmp49 = einsum ( t1 , ( 0 , 1 ), tmp48 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp48 tmp33 = einsum ( tmp32 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * 2 tmp28 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) del tmp12 tmp27 = einsum ( t1 , ( 0 , 1 ), tmp6 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp42 = einsum ( tmp32 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) del tmp32 tmp41 = einsum ( l1 , ( 0 , 1 ), tmp29 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 )) * 0.5 tmp30 = einsum ( l1 , ( 0 , 1 ), tmp29 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 )) del tmp29 tmp23 = einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp116 = np . copy ( np . transpose ( tmp114 , ( 1 , 0 , 3 , 2 ))) tmp116 += np . transpose ( tmp115 , ( 1 , 0 , 3 , 2 )) tmp94 = np . copy ( tmp83 ) * 0.5 tmp94 += tmp63 tmp109 = np . copy ( tmp95 ) tmp109 += np . transpose ( tmp108 , ( 0 , 1 , 3 , 2 )) del tmp108 tmp102 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) tmp112 = einsum ( tmp111 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp111 tmp110 = np . copy ( tmp99 ) tmp110 += einsum ( t1 , ( 0 , 1 ), tmp85 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp106 = einsum ( tmp105 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp105 tmp98 = np . copy ( tmp95 ) tmp98 += einsum ( tmp83 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp83 tmp98 += np . transpose ( tmp97 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp97 tmp101 = einsum ( tmp91 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) tmp100 = np . copy ( tmp99 ) tmp100 += einsum ( tmp63 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 del tmp63 tmp86 = einsum ( t1 , ( 0 , 1 ), tmp4 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp88 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp87 , ( 1 , 4 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp87 tmp93 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp54 , ( 1 , 4 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) del tmp54 tmp92 = einsum ( t1 , ( 0 , 1 ), tmp18 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp18 tmp82 = einsum ( t1 , ( 0 , 1 ), tmp81 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp81 tmp90 = einsum ( tmp89 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 1 , 4 , 2 , 5 )) del tmp89 tmp77 = np . copy ( t1 ) tmp77 += tmp8 * - 1 tmp66 = np . copy ( np . transpose ( tmp64 , ( 1 , 0 , 3 , 2 ))) del tmp64 tmp66 += np . transpose ( tmp65 , ( 0 , 1 , 3 , 2 )) del tmp65 tmp66 += einsum ( t1 , ( 0 , 1 ), tmp15 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 tmp57 = np . copy ( tmp51 ) tmp57 += np . transpose ( tmp53 , ( 1 , 0 , 3 , 2 )) * 2 tmp57 += tmp56 del tmp56 tmp76 = np . copy ( tmp44 ) tmp76 += np . transpose ( tmp75 , ( 0 , 1 , 3 , 2 )) del tmp75 tmp70 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) tmp73 = np . copy ( np . transpose ( tmp47 , ( 1 , 0 , 3 , 2 ))) * - 1 tmp73 += np . transpose ( tmp72 , ( 0 , 1 , 3 , 2 )) del tmp72 tmp73 += einsum ( t1 , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp61 = np . copy ( tmp58 ) tmp61 += np . transpose ( tmp60 , ( 1 , 0 , 3 , 2 )) tmp50 = np . copy ( tmp44 ) del tmp44 tmp50 += np . transpose ( tmp47 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp47 tmp50 += np . transpose ( tmp49 , ( 0 , 1 , 3 , 2 )) del tmp49 tmp50 += einsum ( t1 , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 tmp68 = einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) tmp39 = einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp39 += tmp19 tmp39 += tmp21 * - 1 tmp38 = np . copy ( tmp28 ) tmp38 += tmp33 tmp40 = np . copy ( tmp16 ) tmp40 += np . transpose ( tmp27 , ( 0 , 2 , 1 , 3 )) tmp40 += einsum ( t1 , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp35 = np . copy ( tmp0 ) tmp35 += tmp2 tmp43 = np . copy ( t1 ) * - 0.5 tmp43 += tmp13 del tmp13 tmp43 += tmp41 * - 1 del tmp41 tmp43 += tmp42 del tmp42 tmp34 = np . copy ( t1 ) * - 1 tmp34 += tmp28 del tmp28 tmp34 += tmp30 * - 1 del tmp30 tmp34 += tmp33 del tmp33 tmp22 = np . copy ( tmp16 ) tmp22 += tmp17 del tmp17 tmp22 += tmp19 del tmp19 tmp22 += tmp21 * - 1 tmp24 = np . copy ( tmp23 ) del tmp23 tmp24 += einsum ( t1 , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp7 = np . copy ( delta . oo ) tmp7 += tmp0 * - 1 rdm2 . vvvv = np . copy ( np . transpose ( tmp116 , ( 0 , 1 , 3 , 2 ))) * - 2 rdm2 . vvvv += tmp116 * 2 del tmp116 rdm2 . vvvv += np . transpose ( tmp114 , ( 1 , 0 , 3 , 2 )) * 2 del tmp114 rdm2 . vvvv += np . transpose ( tmp115 , ( 1 , 0 , 3 , 2 )) * 2 del tmp115 rdm2 . vvvo = np . copy ( np . transpose ( tmp113 , ( 1 , 2 , 3 , 0 ))) * - 2 rdm2 . vvvo += np . transpose ( tmp113 , ( 2 , 1 , 3 , 0 )) * 4 rdm2 . vvov = np . copy ( np . transpose ( tmp113 , ( 1 , 2 , 0 , 3 ))) * 4 rdm2 . vvov += np . transpose ( tmp113 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp113 rdm2 . vovv = np . copy ( np . transpose ( tmp109 , ( 1 , 0 , 2 , 3 ))) * - 2 rdm2 . vovv += np . transpose ( tmp109 , ( 1 , 0 , 3 , 2 )) * 2 del tmp109 rdm2 . vovv += np . transpose ( tmp110 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . vovv += np . transpose ( tmp110 , ( 1 , 0 , 3 , 2 )) * 2 del tmp110 rdm2 . vovv += np . transpose ( tmp95 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . vovv += np . transpose ( tmp102 , ( 1 , 0 , 3 , 2 )) * - 2 rdm2 . vovv += np . transpose ( tmp99 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . vovv += np . transpose ( tmp112 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp112 rdm2 . vovv += einsum ( t1 , ( 0 , 1 ), tmp94 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 4 rdm2 . ovvv = np . copy ( tmp98 ) * 2 rdm2 . ovvv += np . transpose ( tmp98 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp98 rdm2 . ovvv += tmp100 * 2 rdm2 . ovvv += np . transpose ( tmp100 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp100 rdm2 . ovvv += tmp101 * 2 rdm2 . ovvv += np . transpose ( tmp101 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp101 rdm2 . ovvv += tmp95 * 2 del tmp95 rdm2 . ovvv += np . transpose ( tmp99 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp99 rdm2 . ovvv += tmp102 * - 2 del tmp102 rdm2 . ovvv += tmp106 * - 2 del tmp106 rdm2 . ovvv += einsum ( t1 , ( 0 , 1 ), tmp85 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . vvoo = np . copy ( np . transpose ( l2 , ( 0 , 1 , 3 , 2 ))) * - 2 rdm2 . vvoo += l2 * 4 rdm2 . vovo = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . vovo += np . transpose ( tmp88 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . vovo += np . transpose ( tmp93 , ( 2 , 1 , 3 , 0 )) * - 2 del tmp93 rdm2 . vovo += np . transpose ( tmp92 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . vovo += einsum ( delta . oo , ( 0 , 1 ), tmp94 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 8 del tmp94 rdm2 . vovo += np . transpose ( tmp69 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . vovo += np . transpose ( tmp86 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . voov = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 4 rdm2 . voov += np . transpose ( tmp80 , ( 3 , 0 , 1 , 2 )) * 2 rdm2 . voov += np . transpose ( tmp79 , ( 3 , 0 , 1 , 2 )) * - 2 rdm2 . voov += np . transpose ( tmp92 , ( 2 , 1 , 0 , 3 )) * 2 del tmp92 rdm2 . voov += einsum ( delta . oo , ( 0 , 1 ), tmp85 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . voov += np . transpose ( tmp67 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . voov += np . transpose ( tmp91 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . voov += np . transpose ( tmp88 , ( 2 , 1 , 0 , 3 )) * 2 rdm2 . ovvo = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 4 rdm2 . ovvo += np . transpose ( tmp88 , ( 1 , 2 , 3 , 0 )) * 4 del tmp88 rdm2 . ovvo += np . transpose ( tmp90 , ( 1 , 2 , 3 , 0 )) * - 2 del tmp90 rdm2 . ovvo += np . transpose ( tmp82 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . ovvo += einsum ( delta . oo , ( 0 , 1 ), tmp85 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . ovvo += np . transpose ( tmp67 , ( 1 , 2 , 3 , 0 )) * - 2 del tmp67 rdm2 . ovvo += np . transpose ( tmp91 , ( 1 , 2 , 3 , 0 )) * - 2 del tmp91 rdm2 . ovov = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . ovov += np . transpose ( tmp79 , ( 0 , 3 , 1 , 2 )) * 2 del tmp79 rdm2 . ovov += np . transpose ( tmp80 , ( 0 , 3 , 1 , 2 )) * - 2 del tmp80 rdm2 . ovov += np . transpose ( tmp82 , ( 1 , 2 , 0 , 3 )) * 2 del tmp82 rdm2 . ovov += einsum ( delta . oo , ( 0 , 1 ), tmp85 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 4 del tmp85 rdm2 . ovov += np . transpose ( tmp69 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp69 rdm2 . ovov += np . transpose ( tmp86 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp86 rdm2 . oovv = np . copy ( tmp50 ) * 2 rdm2 . oovv += np . transpose ( tmp50 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . oovv += np . transpose ( tmp50 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . oovv += np . transpose ( tmp50 , ( 1 , 0 , 3 , 2 )) * 2 del tmp50 rdm2 . oovv += tmp57 * 2 rdm2 . oovv += np . transpose ( tmp57 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp57 rdm2 . oovv += tmp61 * 2 rdm2 . oovv += np . transpose ( tmp61 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp61 rdm2 . oovv += tmp66 * - 4 rdm2 . oovv += np . transpose ( tmp66 , ( 0 , 1 , 3 , 2 )) * 2 rdm2 . oovv += np . transpose ( tmp66 , ( 1 , 0 , 2 , 3 )) * 2 rdm2 . oovv += np . transpose ( tmp66 , ( 1 , 0 , 3 , 2 )) * - 4 del tmp66 rdm2 . oovv += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . oovv += t2 * 4 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), tmp8 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 del tmp8 rdm2 . oovv += tmp68 * 2 del tmp68 rdm2 . oovv += np . transpose ( tmp70 , ( 0 , 1 , 3 , 2 )) * 2 del tmp70 rdm2 . oovv += tmp58 * 2 del tmp58 rdm2 . oovv += tmp51 * 2 del tmp51 rdm2 . oovv += tmp73 * 2 rdm2 . oovv += np . transpose ( tmp73 , ( 1 , 0 , 3 , 2 )) * 2 del tmp73 rdm2 . oovv += np . transpose ( tmp76 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . oovv += np . transpose ( tmp76 , ( 1 , 0 , 2 , 3 )) * - 2 del tmp76 rdm2 . oovv += tmp53 * 4 del tmp53 rdm2 . oovv += np . transpose ( tmp60 , ( 1 , 0 , 3 , 2 )) * 2 del tmp60 rdm2 . oovv += einsum ( tmp77 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 del tmp77 rdm2 . vooo = np . copy ( np . transpose ( tmp4 , ( 3 , 2 , 0 , 1 ))) * - 4 rdm2 . vooo += np . transpose ( tmp4 , ( 3 , 2 , 1 , 0 )) * 2 rdm2 . vooo += einsum ( l1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 4 rdm2 . vooo += einsum ( l1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . ovoo = np . copy ( np . transpose ( tmp4 , ( 2 , 3 , 0 , 1 ))) * 2 rdm2 . ovoo += np . transpose ( tmp4 , ( 2 , 3 , 1 , 0 )) * - 4 del tmp4 rdm2 . ovoo += einsum ( l1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . ovoo += einsum ( l1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 4 rdm2 . oovo = einsum ( delta . oo , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . oovo += einsum ( tmp37 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 del tmp37 rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), tmp38 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 rdm2 . oovo += einsum ( tmp38 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 del tmp38 rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . oovo += np . transpose ( tmp39 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . oovo += np . transpose ( tmp39 , ( 2 , 1 , 3 , 0 )) * 2 del tmp39 rdm2 . oovo += np . transpose ( tmp40 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . oovo += np . transpose ( tmp40 , ( 2 , 1 , 3 , 0 )) * 2 del tmp40 rdm2 . oovo += np . transpose ( tmp26 , ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oovo += np . transpose ( tmp25 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . oovo += np . transpose ( tmp16 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . oovo += np . transpose ( tmp21 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . oovo += np . transpose ( tmp27 , ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oovo += einsum ( tmp43 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 4 del tmp43 rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), tmp35 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 2 rdm2 . ooov = einsum ( tmp11 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 2 rdm2 . ooov += einsum ( tmp11 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 del tmp11 rdm2 . ooov += einsum ( tmp15 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 4 rdm2 . ooov += einsum ( tmp15 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 4 del tmp15 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . ooov += np . transpose ( tmp22 , ( 1 , 2 , 0 , 3 )) * 2 rdm2 . ooov += np . transpose ( tmp22 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp22 rdm2 . ooov += np . transpose ( tmp24 , ( 1 , 2 , 0 , 3 )) * 2 rdm2 . ooov += np . transpose ( tmp24 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp24 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * 2 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 2 rdm2 . ooov += np . transpose ( tmp25 , ( 1 , 2 , 0 , 3 )) * 2 del tmp25 rdm2 . ooov += np . transpose ( tmp26 , ( 2 , 1 , 0 , 3 )) * 2 del tmp26 rdm2 . ooov += np . transpose ( tmp16 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp16 rdm2 . ooov += np . transpose ( tmp21 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp21 rdm2 . ooov += np . transpose ( tmp27 , ( 2 , 1 , 0 , 3 )) * 2 del tmp27 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp34 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 del tmp34 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), tmp35 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 2 del tmp35 rdm2 . oooo = einsum ( delta . oo , ( 0 , 1 ), tmp0 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp0 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * 2 rdm2 . oooo += einsum ( tmp0 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oooo += einsum ( tmp0 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 4 del tmp0 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 4 rdm2 . oooo += einsum ( tmp2 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * 2 rdm2 . oooo += einsum ( tmp2 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oooo += einsum ( tmp2 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 4 del tmp2 rdm2 . oooo += np . transpose ( tmp6 , ( 3 , 2 , 0 , 1 )) * - 2 rdm2 . oooo += np . transpose ( tmp6 , ( 2 , 3 , 0 , 1 )) * 2 del tmp6 rdm2 . oooo += np . transpose ( tmp3 , ( 3 , 2 , 1 , 0 )) * 2 del tmp3 rdm2 . oooo += np . transpose ( tmp5 , ( 3 , 2 , 1 , 0 )) * 2 del tmp5 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp7 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * 2 del delta , tmp7 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 ebcc . codegen . RDFCCSD . hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:41:23.218309. Parameters f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp1 : array tmp103 : array tmp105 : array tmp106 : array tmp107 : array tmp108 : array tmp109 : array tmp11 : array tmp110 : array tmp112 : array tmp113 : array tmp114 : array tmp118 : array tmp119 : array tmp120 : array tmp121 : array tmp122 : array tmp123 : array tmp129 : array tmp130 : array tmp14 : array tmp17 : array tmp18 : array tmp20 : array tmp21 : array tmp23 : array tmp24 : array tmp29 : array tmp31 : array tmp32 : array tmp33 : array tmp35 : array tmp37 : array tmp38 : array tmp4 : array tmp40 : array tmp42 : array tmp43 : array tmp44 : array tmp48 : array tmp5 : array tmp50 : array tmp51 : array tmp52 : array tmp55 : array tmp56 : array tmp57 : array tmp59 : array tmp62 : array tmp63 : array tmp65 : array tmp66 : array tmp67 : array tmp7 : array tmp72 : array tmp73 : array tmp74 : array tmp75 : array tmp76 : array tmp78 : array tmp84 : array tmp85 : array tmp86 : array tmp87 : array tmp89 : array tmp9 : array tmp95 : array tmp96 : array tmp98 : array tmp99 : array Source code in ebcc/codegen/RDFCCSD.py 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 def hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:41:23.218309. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp103 : array tmp105 : array tmp106 : array tmp107 : array tmp108 : array tmp109 : array tmp11 : array tmp110 : array tmp112 : array tmp113 : array tmp114 : array tmp118 : array tmp119 : array tmp120 : array tmp121 : array tmp122 : array tmp123 : array tmp129 : array tmp130 : array tmp14 : array tmp17 : array tmp18 : array tmp20 : array tmp21 : array tmp23 : array tmp24 : array tmp29 : array tmp31 : array tmp32 : array tmp33 : array tmp35 : array tmp37 : array tmp38 : array tmp4 : array tmp40 : array tmp42 : array tmp43 : array tmp44 : array tmp48 : array tmp5 : array tmp50 : array tmp51 : array tmp52 : array tmp55 : array tmp56 : array tmp57 : array tmp59 : array tmp62 : array tmp63 : array tmp65 : array tmp66 : array tmp67 : array tmp7 : array tmp72 : array tmp73 : array tmp74 : array tmp75 : array tmp76 : array tmp78 : array tmp84 : array tmp85 : array tmp86 : array tmp87 : array tmp89 : array tmp9 : array tmp95 : array tmp96 : array tmp98 : array tmp99 : array \"\"\" tmp6 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp4 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp11 = einsum ( tmp6 , ( 0 ,), v . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp9 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 2 ), ( 0 , 3 , 4 )) tmp20 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp37 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp24 = einsum ( tmp11 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp23 = einsum ( tmp9 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp44 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp18 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp17 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp21 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp20 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp14 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp4 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) tmp31 = einsum ( t1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp0 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp110 = einsum ( tmp4 , ( 0 , 1 , 2 ), tmp4 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) tmp29 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp6 , ( 0 ,), ( 1 , 2 )) tmp7 = einsum ( tmp6 , ( 0 ,), v . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp6 tmp5 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) tmp1 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp57 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp38 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 1 , 0 )) tmp34 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp130 = einsum ( tmp24 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp129 = einsum ( tmp23 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp123 = einsum ( t1 , ( 0 , 1 ), tmp44 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp122 = einsum ( t1 , ( 0 , 1 ), tmp18 , ( 2 , 0 ), ( 2 , 1 )) tmp121 = einsum ( t1 , ( 0 , 1 ), tmp21 , ( 2 , 0 ), ( 2 , 1 )) tmp120 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) tmp119 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp118 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp114 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp31 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp113 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp112 = einsum ( t1 , ( 0 , 1 ), tmp110 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) tmp109 = einsum ( tmp31 , ( 0 , 1 , 2 ), tmp4 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) tmp108 = einsum ( tmp31 , ( 0 , 1 , 2 ), tmp4 , ( 3 , 0 , 2 ), ( 3 , 1 )) tmp107 = einsum ( t1 , ( 0 , 1 ), tmp29 , ( 2 , 1 ), ( 0 , 2 )) tmp106 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp105 = einsum ( tmp20 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp103 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp99 = einsum ( tmp7 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp98 = einsum ( tmp5 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp96 = einsum ( tmp11 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp95 = einsum ( tmp9 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp89 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp20 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp87 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp17 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp86 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) tmp85 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp84 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) tmp78 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp76 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp75 = einsum ( tmp11 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp74 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp11 , ( 1 , 2 ), ( 0 , 3 )) tmp73 = einsum ( tmp9 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp72 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 1 , 2 ), ( 0 , 3 )) tmp67 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp66 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) tmp65 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp17 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp63 = einsum ( tmp20 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp62 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp59 = einsum ( t1 , ( 0 , 1 ), tmp57 , ( 2 , 3 , 4 , 0 ), ( 3 , 4 , 2 , 1 )) tmp56 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp55 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp52 = einsum ( t1 , ( 0 , 1 ), tmp44 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp51 = einsum ( tmp17 , ( 0 , 1 , 2 ), tmp4 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) tmp50 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp48 = einsum ( tmp20 , ( 0 , 1 , 2 ), tmp4 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) tmp43 = einsum ( tmp31 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) tmp42 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp40 = einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp35 = einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 0 , 1 )) del tmp34 tmp33 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) tmp32 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp31 , ( 1 , 3 , 0 ), ( 2 , 3 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp103\" : tmp103 , f \"tmp105\" : tmp105 , f \"tmp106\" : tmp106 , f \"tmp107\" : tmp107 , f \"tmp108\" : tmp108 , f \"tmp109\" : tmp109 , f \"tmp11\" : tmp11 , f \"tmp110\" : tmp110 , f \"tmp112\" : tmp112 , f \"tmp113\" : tmp113 , f \"tmp114\" : tmp114 , f \"tmp118\" : tmp118 , f \"tmp119\" : tmp119 , f \"tmp120\" : tmp120 , f \"tmp121\" : tmp121 , f \"tmp122\" : tmp122 , f \"tmp123\" : tmp123 , f \"tmp129\" : tmp129 , f \"tmp130\" : tmp130 , f \"tmp14\" : tmp14 , f \"tmp17\" : tmp17 , f \"tmp18\" : tmp18 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp23\" : tmp23 , f \"tmp24\" : tmp24 , f \"tmp29\" : tmp29 , f \"tmp31\" : tmp31 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp35\" : tmp35 , f \"tmp37\" : tmp37 , f \"tmp38\" : tmp38 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp42\" : tmp42 , f \"tmp43\" : tmp43 , f \"tmp44\" : tmp44 , f \"tmp48\" : tmp48 , f \"tmp5\" : tmp5 , f \"tmp50\" : tmp50 , f \"tmp51\" : tmp51 , f \"tmp52\" : tmp52 , f \"tmp55\" : tmp55 , f \"tmp56\" : tmp56 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp62\" : tmp62 , f \"tmp63\" : tmp63 , f \"tmp65\" : tmp65 , f \"tmp66\" : tmp66 , f \"tmp67\" : tmp67 , f \"tmp7\" : tmp7 , f \"tmp72\" : tmp72 , f \"tmp73\" : tmp73 , f \"tmp74\" : tmp74 , f \"tmp75\" : tmp75 , f \"tmp76\" : tmp76 , f \"tmp78\" : tmp78 , f \"tmp84\" : tmp84 , f \"tmp85\" : tmp85 , f \"tmp86\" : tmp86 , f \"tmp87\" : tmp87 , f \"tmp89\" : tmp89 , f \"tmp9\" : tmp9 , f \"tmp95\" : tmp95 , f \"tmp96\" : tmp96 , f \"tmp98\" : tmp98 , f \"tmp99\" : tmp99 } ebcc . codegen . RDFCCSD . 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-17T20:41:23.251729. 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. Source code in ebcc/codegen/RDFCCSD.py 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 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-17T20:41:23.251729. 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\" ] tmp3 = np . copy ( r2 ) * - 1 tmp3 += np . transpose ( r2 , ( 1 , 0 , 2 )) * 2 tmp2 = np . copy ( f . ov ) * 0.5 tmp2 += ints . tmp11 tmp2 += ints . tmp9 * - 0.5 del ints . tmp9 tmp15 = np . copy ( ints . tmp4 ) del ints . tmp4 tmp15 += np . transpose ( v . xoo , ( 1 , 2 , 0 )) tmp9 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp3 , ( 3 , 1 , 2 ), ( 3 , 0 )) * 0.5 tmp14 = np . copy ( ints . tmp14 ) tmp14 += np . transpose ( ints . tmp1 , ( 0 , 2 , 1 , 3 )) tmp17 = einsum ( tmp3 , ( 0 , 1 , 2 ), ints . tmp37 , ( 1 , 0 , 2 , 3 ), ( 3 ,)) * 0.5 del ints . tmp37 tmp7 = np . copy ( ints . tmp38 ) del ints . tmp38 tmp7 += np . transpose ( ints . tmp44 , ( 2 , 0 , 1 , 3 )) tmp7 += np . transpose ( ints . tmp57 , ( 2 , 0 , 1 , 3 )) del ints . tmp57 tmp10 = np . copy ( ints . tmp20 ) * 2 del ints . tmp20 tmp10 += ints . tmp31 del ints . tmp31 tmp10 += np . transpose ( v . xov , ( 1 , 2 , 0 )) tmp10 += ints . tmp17 * - 1 del ints . tmp17 tmp13 = np . copy ( f . oo ) * 0.5 tmp13 += ints . tmp0 * 0.5 tmp13 += np . transpose ( ints . tmp21 , ( 1 , 0 )) tmp13 += np . transpose ( ints . tmp24 , ( 1 , 0 )) tmp13 += np . transpose ( ints . tmp7 , ( 1 , 0 )) tmp13 += np . transpose ( ints . tmp18 , ( 1 , 0 )) * - 0.5 tmp13 += np . transpose ( ints . tmp23 , ( 1 , 0 )) * - 0.5 tmp13 += np . transpose ( ints . tmp5 , ( 1 , 0 )) * - 0.5 tmp5 = np . copy ( ints . tmp33 ) * 0.5 tmp5 += ints . tmp42 * 0.5 tmp5 += ints . tmp67 tmp5 += ints . tmp66 * - 0.5 tmp8 = np . copy ( ints . tmp110 ) del ints . tmp110 tmp8 += np . transpose ( ints . tmp44 , ( 2 , 0 , 1 , 3 )) del ints . tmp44 tmp11 = np . copy ( ints . tmp32 ) del ints . tmp32 tmp11 += np . transpose ( ints . tmp89 , ( 1 , 0 )) * 2 del ints . tmp89 tmp11 += f . vv * - 1 tmp11 += np . transpose ( ints . tmp29 , ( 1 , 0 )) * - 2 del ints . tmp29 tmp11 += np . transpose ( ints . tmp87 , ( 1 , 0 )) * - 1 del ints . tmp87 tmp11 += einsum ( t1 , ( 0 , 1 ), tmp2 , ( 0 , 2 ), ( 2 , 1 )) * 2 tmp18 = np . copy ( ints . tmp106 ) del ints . tmp106 tmp18 += ints . tmp108 del ints . tmp108 tmp18 += ints . tmp113 del ints . tmp113 tmp18 += ints . tmp118 * 2 del ints . tmp118 tmp18 += ints . tmp121 * 2 del ints . tmp121 tmp18 += ints . tmp130 * 2 del ints . tmp130 tmp18 += ints . tmp43 del ints . tmp43 tmp18 += ints . tmp55 del ints . tmp55 tmp18 += ints . tmp73 * 2 del ints . tmp73 tmp18 += ints . tmp74 * 2 del ints . tmp74 tmp18 += ints . tmp76 del ints . tmp76 tmp18 += ints . tmp85 * 2 del ints . tmp85 tmp18 += ints . tmp99 * 2 del ints . tmp99 tmp18 += f . ov * - 1 tmp18 += ints . tmp103 * - 1 del ints . tmp103 tmp18 += ints . tmp105 * - 2 del ints . tmp105 tmp18 += ints . tmp107 * - 2 del ints . tmp107 tmp18 += ints . tmp119 * - 1 del ints . tmp119 tmp18 += ints . tmp11 * - 2 del ints . tmp11 tmp18 += ints . tmp122 * - 1 del ints . tmp122 tmp18 += ints . tmp129 * - 1 del ints . tmp129 tmp18 += ints . tmp56 * - 2 del ints . tmp56 tmp18 += ints . tmp72 * - 1 del ints . tmp72 tmp18 += ints . tmp75 * - 4 del ints . tmp75 tmp18 += ints . tmp84 * - 1 del ints . tmp84 tmp18 += ints . tmp98 * - 1 del ints . tmp98 tmp16 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 3 ), ( 0 , 1 , 4 )) * 0.5 tmp16 += einsum ( r2 , ( 0 , 1 , 2 ), tmp14 , ( 3 , 4 , 0 , 2 ), ( 1 , 4 , 3 )) * 0.5 del tmp14 tmp16 += einsum ( tmp9 , ( 0 , 1 ), tmp15 , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) * - 1 del tmp15 tmp6 = np . copy ( ints . tmp33 ) del ints . tmp33 tmp6 += ints . tmp42 del ints . tmp42 tmp6 += ints . tmp66 * - 1 del ints . tmp66 tmp12 = np . copy ( ints . tmp112 ) del ints . tmp112 tmp12 += np . transpose ( ints . tmp120 , ( 1 , 0 , 2 , 3 )) del ints . tmp120 tmp12 += np . transpose ( ints . tmp123 , ( 2 , 0 , 1 , 3 )) del ints . tmp123 tmp12 += ints . tmp40 del ints . tmp40 tmp12 += ints . tmp50 del ints . tmp50 tmp12 += ints . tmp51 del ints . tmp51 tmp12 += ints . tmp52 del ints . tmp52 tmp12 += np . transpose ( ints . tmp59 , ( 1 , 2 , 0 , 3 )) del ints . tmp59 tmp12 += np . transpose ( ints . tmp62 , ( 1 , 0 , 2 , 3 )) del ints . tmp62 tmp12 += np . transpose ( ints . tmp65 , ( 2 , 0 , 1 , 3 )) del ints . tmp65 tmp12 += ints . tmp86 del ints . tmp86 tmp12 += np . transpose ( ints . tmp95 , ( 1 , 0 , 2 , 3 )) del ints . tmp95 tmp12 += ints . tmp109 * - 1 del ints . tmp109 tmp12 += np . transpose ( ints . tmp114 , ( 2 , 0 , 1 , 3 )) * - 1 del ints . tmp114 tmp12 += ints . tmp14 * - 1 tmp12 += np . transpose ( ints . tmp1 , ( 0 , 2 , 1 , 3 )) * - 1 tmp12 += ints . tmp35 * - 1 del ints . tmp35 tmp12 += ints . tmp48 * - 2 del ints . tmp48 tmp12 += np . transpose ( ints . tmp63 , ( 2 , 0 , 1 , 3 )) * - 2 del ints . tmp63 tmp12 += np . transpose ( ints . tmp78 , ( 2 , 1 , 0 , 3 )) * - 1 del ints . tmp78 tmp12 += np . transpose ( ints . tmp96 , ( 1 , 0 , 2 , 3 )) * - 2 del ints . tmp96 tmp1 = np . copy ( r2 ) * - 0.5 tmp1 += np . transpose ( r2 , ( 1 , 0 , 2 )) tmp4 = np . copy ( f . oo ) tmp4 += ints . tmp0 del ints . tmp0 tmp4 += np . transpose ( ints . tmp21 , ( 1 , 0 )) * 2 del ints . tmp21 tmp4 += np . transpose ( ints . tmp24 , ( 1 , 0 )) * 2 del ints . tmp24 tmp4 += np . transpose ( ints . tmp7 , ( 1 , 0 )) * 2 del ints . tmp7 tmp4 += np . transpose ( ints . tmp18 , ( 1 , 0 )) * - 1 del ints . tmp18 tmp4 += np . transpose ( ints . tmp23 , ( 1 , 0 )) * - 1 del ints . tmp23 tmp4 += np . transpose ( ints . tmp5 , ( 1 , 0 )) * - 1 del ints . tmp5 tmp0 = np . copy ( r2 ) * 2 tmp0 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 1 r2new = einsum ( ints . tmp67 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 3 ), ( 0 , 4 , 2 )) del ints . tmp67 r2new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * - 2 del tmp5 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp6 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp6 r2new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) del tmp7 r2new += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 2 , 4 ), ( 1 , 0 , 4 )) del tmp8 r2new += einsum ( tmp9 , ( 0 , 1 ), tmp10 , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) * 2 del tmp9 , tmp10 r2new += einsum ( tmp11 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp11 r2new += einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), r1 , ( 2 ,), ( 1 , 0 , 3 )) * - 1 del tmp12 r2new += einsum ( tmp13 , ( 0 , 1 ), r2 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 2 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp13 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 2 del tmp13 r2new += einsum ( tmp16 , ( 0 , 1 , 2 ), t1 , ( 1 , 3 ), ( 2 , 0 , 3 )) * 2 del tmp16 r2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 3 ,), ( 0 , 1 , 2 )) * - 2 del tmp17 r2new += einsum ( r1 , ( 0 ,), tmp18 , ( 1 , 2 ), ( 1 , 0 , 2 )) del tmp18 r1new = einsum ( ints . tmp14 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 1 , 2 , 3 ), ( 0 ,)) del ints . tmp14 , tmp0 r1new += einsum ( tmp1 , ( 0 , 1 , 2 ), ints . tmp1 , ( 3 , 0 , 1 , 2 ), ( 3 ,)) * 2 del ints . tmp1 , tmp1 r1new += einsum ( tmp2 , ( 0 , 1 ), tmp3 , ( 2 , 0 , 1 ), ( 2 ,)) * - 2 del tmp3 , tmp2 r1new += einsum ( r1 , ( 0 ,), tmp4 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . RDFCCSD . hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:41:51.041773. Parameters f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp1 : array tmp10 : array tmp100 : array tmp101 : array tmp102 : array tmp108 : array tmp109 : array tmp110 : array tmp111 : array tmp113 : array tmp114 : array tmp117 : array tmp119 : array tmp12 : array tmp120 : array tmp123 : array tmp128 : array tmp129 : array tmp130 : array tmp131 : array tmp132 : array tmp136 : array tmp15 : array tmp20 : array tmp21 : array tmp23 : array tmp24 : array tmp36 : array tmp39 : array tmp44 : array tmp45 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp62 : array tmp63 : array tmp64 : array tmp66 : array tmp68 : array tmp7 : array tmp70 : array tmp71 : array tmp72 : array tmp74 : array tmp76 : array tmp77 : array tmp79 : array tmp8 : array tmp80 : array tmp81 : array tmp83 : array tmp84 : array tmp89 : array tmp9 : array tmp91 : array tmp92 : array tmp93 : array tmp94 : array Source code in ebcc/codegen/RDFCCSD.py 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 def hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:41:51.041773. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp1 : array tmp10 : array tmp100 : array tmp101 : array tmp102 : array tmp108 : array tmp109 : array tmp110 : array tmp111 : array tmp113 : array tmp114 : array tmp117 : array tmp119 : array tmp12 : array tmp120 : array tmp123 : array tmp128 : array tmp129 : array tmp130 : array tmp131 : array tmp132 : array tmp136 : array tmp15 : array tmp20 : array tmp21 : array tmp23 : array tmp24 : array tmp36 : array tmp39 : array tmp44 : array tmp45 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp62 : array tmp63 : array tmp64 : array tmp66 : array tmp68 : array tmp7 : array tmp70 : array tmp71 : array tmp72 : array tmp74 : array tmp76 : array tmp77 : array tmp79 : array tmp8 : array tmp80 : array tmp81 : array tmp83 : array tmp84 : array tmp89 : array tmp9 : array tmp91 : array tmp92 : array tmp93 : array tmp94 : array \"\"\" tmp4 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp9 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp12 = einsum ( tmp4 , ( 0 ,), v . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp10 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp9 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp20 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 2 ), ( 0 , 3 , 4 )) tmp23 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 3 ), ( 0 , 2 , 4 )) tmp15 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp1 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp47 = einsum ( tmp4 , ( 0 ,), v . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp46 = einsum ( tmp9 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) tmp49 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp84 = einsum ( t1 , ( 0 , 1 ), tmp12 , ( 2 , 1 ), ( 0 , 2 )) tmp83 = einsum ( t1 , ( 0 , 1 ), tmp10 , ( 2 , 1 ), ( 0 , 2 )) tmp72 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp20 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp74 = einsum ( tmp23 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp76 = einsum ( tmp9 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) tmp63 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp7 = einsum ( t1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp5 = einsum ( tmp4 , ( 0 ,), v . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp4 tmp136 = einsum ( tmp20 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) tmp132 = einsum ( tmp23 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) tmp131 = einsum ( tmp12 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp130 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp12 , ( 1 , 2 ), ( 0 , 3 )) tmp129 = einsum ( tmp10 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp128 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 1 , 2 ), ( 0 , 3 )) tmp123 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp120 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp20 , ( 3 , 4 , 0 ), ( 3 , 4 , 1 , 2 )) tmp119 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 3 , 1 )) tmp117 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp23 , ( 3 , 4 , 0 ), ( 3 , 4 , 1 , 2 )) tmp114 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp113 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp111 = einsum ( tmp47 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp110 = einsum ( t1 , ( 0 , 1 ), tmp46 , ( 2 , 0 ), ( 2 , 1 )) tmp109 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp49 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp108 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 )) tmp102 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp101 = einsum ( tmp84 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp100 = einsum ( tmp83 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp94 = einsum ( tmp72 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp93 = einsum ( t1 , ( 0 , 1 ), tmp74 , ( 2 , 0 ), ( 2 , 1 )) tmp92 = einsum ( tmp76 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp91 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp76 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp89 = einsum ( tmp63 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp81 = einsum ( tmp7 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp80 = einsum ( tmp7 , ( 0 , 1 , 2 ), tmp9 , ( 3 , 0 , 2 ), ( 3 , 1 )) tmp79 = einsum ( t1 , ( 0 , 1 ), tmp5 , ( 2 , 1 ), ( 0 , 2 )) tmp77 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp76 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp71 = einsum ( tmp20 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp70 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp23 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp68 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp9 , ( 3 , 4 , 0 ), ( 3 , 4 , 1 , 2 )) tmp66 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp7 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp64 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp62 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp51 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp49 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp45 = einsum ( tmp7 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) tmp44 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp39 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 1 , 4 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) tmp36 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 5 , 3 , 1 )) tmp24 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp23 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp21 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp20 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp8 = einsum ( tmp7 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 3 , 1 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp101\" : tmp101 , f \"tmp102\" : tmp102 , f \"tmp108\" : tmp108 , f \"tmp109\" : tmp109 , f \"tmp110\" : tmp110 , f \"tmp111\" : tmp111 , f \"tmp113\" : tmp113 , f \"tmp114\" : tmp114 , f \"tmp117\" : tmp117 , f \"tmp119\" : tmp119 , f \"tmp12\" : tmp12 , f \"tmp120\" : tmp120 , f \"tmp123\" : tmp123 , f \"tmp128\" : tmp128 , f \"tmp129\" : tmp129 , f \"tmp130\" : tmp130 , f \"tmp131\" : tmp131 , f \"tmp132\" : tmp132 , f \"tmp136\" : tmp136 , f \"tmp15\" : tmp15 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp23\" : tmp23 , f \"tmp24\" : tmp24 , f \"tmp36\" : tmp36 , f \"tmp39\" : tmp39 , f \"tmp44\" : tmp44 , f \"tmp45\" : tmp45 , f \"tmp46\" : tmp46 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp51\" : tmp51 , f \"tmp62\" : tmp62 , f \"tmp63\" : tmp63 , f \"tmp64\" : tmp64 , f \"tmp66\" : tmp66 , f \"tmp68\" : tmp68 , f \"tmp7\" : tmp7 , f \"tmp70\" : tmp70 , f \"tmp71\" : tmp71 , f \"tmp72\" : tmp72 , f \"tmp74\" : tmp74 , f \"tmp76\" : tmp76 , f \"tmp77\" : tmp77 , f \"tmp79\" : tmp79 , f \"tmp8\" : tmp8 , f \"tmp80\" : tmp80 , f \"tmp81\" : tmp81 , f \"tmp83\" : tmp83 , f \"tmp84\" : tmp84 , f \"tmp89\" : tmp89 , f \"tmp9\" : tmp9 , f \"tmp91\" : tmp91 , f \"tmp92\" : tmp92 , f \"tmp93\" : tmp93 , f \"tmp94\" : tmp94 } ebcc . codegen . RDFCCSD . 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-17T20:41:51.070740. 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. Source code in ebcc/codegen/RDFCCSD.py 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 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-17T20:41:51.070740. 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\" ] tmp15 = np . copy ( f . ov ) * 0.5 tmp15 += ints . tmp12 tmp15 += ints . tmp10 * - 0.5 tmp19 = np . copy ( ints . tmp132 ) del ints . tmp132 tmp19 += ints . tmp15 * 0.5 tmp19 += np . transpose ( ints . tmp81 , ( 0 , 1 , 3 , 2 )) * 0.5 del ints . tmp81 tmp19 += ints . tmp123 * - 0.5 tmp19 += ints . tmp136 * - 0.5 del ints . tmp136 tmp7 = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp15 , ( 3 , 4 , 1 , 0 ), ( 3 , 4 , 2 )) tmp10 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp10 += einsum ( t1 , ( 0 , 1 ), r1 , ( 2 ,), ( 0 , 1 , 2 )) * - 1 tmp8 = np . copy ( ints . tmp49 ) del ints . tmp49 tmp8 += np . transpose ( ints . tmp76 , ( 0 , 2 , 1 , 3 )) del ints . tmp76 tmp2 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 1 tmp2 += np . transpose ( r2 , ( 2 , 1 , 0 )) * 2 tmp13 = np . copy ( ints . tmp9 ) del ints . tmp9 tmp13 += np . transpose ( v . xoo , ( 1 , 2 , 0 )) tmp16 = einsum ( t1 , ( 0 , 1 ), tmp15 , ( 0 , 2 ), ( 1 , 2 )) * 2 del tmp15 tmp4 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp4 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 0.5 tmp1 = np . copy ( f . ov ) tmp1 += ints . tmp12 * 2 tmp1 += ints . tmp10 * - 1 del ints . tmp10 tmp23 = np . copy ( ints . tmp101 ) * 2 del ints . tmp101 tmp23 += ints . tmp102 del ints . tmp102 tmp23 += ints . tmp109 * 2 del ints . tmp109 tmp23 += ints . tmp111 * 2 del ints . tmp111 tmp23 += ints . tmp113 del ints . tmp113 tmp23 += ints . tmp129 * 2 del ints . tmp129 tmp23 += ints . tmp130 * 2 del ints . tmp130 tmp23 += ints . tmp45 del ints . tmp45 tmp23 += ints . tmp71 del ints . tmp71 tmp23 += ints . tmp80 del ints . tmp80 tmp23 += ints . tmp89 del ints . tmp89 tmp23 += ints . tmp91 * 2 del ints . tmp91 tmp23 += ints . tmp93 * 2 del ints . tmp93 tmp23 += f . ov * - 1 tmp23 += ints . tmp100 * - 1 del ints . tmp100 tmp23 += ints . tmp108 * - 1 del ints . tmp108 tmp23 += ints . tmp110 * - 1 del ints . tmp110 tmp23 += ints . tmp114 * - 2 del ints . tmp114 tmp23 += ints . tmp128 * - 1 del ints . tmp128 tmp23 += ints . tmp12 * - 2 del ints . tmp12 tmp23 += ints . tmp131 * - 4 del ints . tmp131 tmp23 += ints . tmp62 * - 1 del ints . tmp62 tmp23 += ints . tmp70 * - 2 del ints . tmp70 tmp23 += ints . tmp79 * - 2 del ints . tmp79 tmp23 += ints . tmp92 * - 1 del ints . tmp92 tmp23 += ints . tmp94 * - 1 del ints . tmp94 tmp21 = np . copy ( f . oo ) tmp21 += np . transpose ( ints . tmp47 , ( 1 , 0 )) * 2 del ints . tmp47 tmp21 += ints . tmp63 del ints . tmp63 tmp21 += np . transpose ( ints . tmp74 , ( 1 , 0 )) * 2 del ints . tmp74 tmp21 += np . transpose ( ints . tmp84 , ( 1 , 0 )) * 2 del ints . tmp84 tmp21 += np . transpose ( ints . tmp46 , ( 1 , 0 )) * - 1 del ints . tmp46 tmp21 += np . transpose ( ints . tmp72 , ( 1 , 0 )) * - 1 del ints . tmp72 tmp21 += np . transpose ( ints . tmp83 , ( 1 , 0 )) * - 1 del ints . tmp83 tmp20 = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp1 , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) * - 1 tmp20 += einsum ( tmp7 , ( 0 , 1 , 2 ), t1 , ( 1 , 3 ), ( 2 , 0 , 3 )) tmp20 += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 1 , 4 , 3 ), ( 0 , 2 , 4 )) tmp20 += einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), r1 , ( 3 ,), ( 0 , 1 , 2 )) * 2 del tmp19 tmp12 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp2 , ( 1 , 3 , 2 ), ( 3 , 0 )) * 0.5 tmp14 = np . copy ( ints . tmp23 ) * 2 del ints . tmp23 tmp14 += ints . tmp7 del ints . tmp7 tmp14 += np . transpose ( v . xov , ( 1 , 2 , 0 )) tmp14 += ints . tmp20 * - 1 del ints . tmp20 tmp14 += einsum ( t1 , ( 0 , 1 ), tmp13 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp13 tmp11 = np . copy ( ints . tmp44 ) tmp11 += ints . tmp68 tmp11 += ints . tmp39 * - 1 tmp9 = np . copy ( ints . tmp123 ) tmp9 += ints . tmp44 * 0.5 del ints . tmp44 tmp9 += ints . tmp68 * 0.5 del ints . tmp68 tmp9 += ints . tmp39 * - 0.5 del ints . tmp39 tmp9 += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 0.5 del tmp8 tmp6 = einsum ( ints . tmp1 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 2 , 4 ), ( 0 , 4 , 1 )) tmp18 = np . copy ( ints . tmp117 ) * 2 del ints . tmp117 tmp18 += np . transpose ( ints . tmp1 , ( 0 , 3 , 2 , 1 )) tmp18 += np . transpose ( ints . tmp51 , ( 0 , 1 , 3 , 2 )) del ints . tmp51 tmp18 += np . transpose ( ints . tmp66 , ( 0 , 3 , 1 , 2 )) del ints . tmp66 tmp18 += np . transpose ( ints . tmp77 , ( 0 , 2 , 3 , 1 )) del ints . tmp77 tmp18 += ints . tmp119 * - 1 del ints . tmp119 tmp18 += ints . tmp120 * - 1 del ints . tmp120 tmp18 += np . transpose ( ints . tmp36 , ( 0 , 3 , 2 , 1 )) * - 1 del ints . tmp36 tmp17 = np . copy ( np . transpose ( ints . tmp24 , ( 1 , 0 ))) * 2 tmp17 += ints . tmp8 tmp17 += f . vv * - 1 tmp17 += np . transpose ( ints . tmp21 , ( 1 , 0 )) * - 1 tmp17 += np . transpose ( ints . tmp5 , ( 1 , 0 )) * - 2 tmp17 += np . transpose ( tmp16 , ( 1 , 0 )) del tmp16 tmp22 = einsum ( ints . tmp15 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 2 , 3 ), ( 1 ,)) * - 2 tmp22 += einsum ( r1 , ( 0 ,), tmp1 , ( 1 , 0 ), ( 1 ,)) tmp5 = einsum ( ints . tmp15 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 2 , 3 ), ( 1 ,)) * - 1 del ints . tmp15 , tmp4 tmp5 += einsum ( r1 , ( 0 ,), tmp1 , ( 1 , 0 ), ( 1 ,)) * 0.5 tmp0 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 0.5 tmp0 += np . transpose ( r2 , ( 2 , 1 , 0 )) tmp3 = np . copy ( f . vv ) tmp3 += np . transpose ( ints . tmp21 , ( 1 , 0 )) del ints . tmp21 tmp3 += np . transpose ( ints . tmp5 , ( 1 , 0 )) * 2 del ints . tmp5 tmp3 += np . transpose ( ints . tmp24 , ( 1 , 0 )) * - 2 del ints . tmp24 tmp3 += ints . tmp8 * - 1 del ints . tmp8 r2new = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp64 , ( 3 , 0 , 4 , 1 ), ( 4 , 3 , 2 )) del ints . tmp64 r2new += einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp123 , ( 3 , 2 , 4 , 1 ), ( 4 , 0 , 3 )) del ints . tmp123 r2new += einsum ( tmp6 , ( 0 , 1 , 2 ), t1 , ( 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del tmp6 r2new += einsum ( tmp7 , ( 0 , 1 , 2 ), t2 , ( 0 , 1 , 3 , 4 ), ( 4 , 3 , 2 )) del tmp7 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp9 , ( 3 , 2 , 4 , 0 ), ( 4 , 1 , 3 )) * - 2 del tmp9 r2new += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 1 , 4 , 3 ), ( 4 , 2 , 0 )) * - 1 del tmp10 , tmp11 r2new += einsum ( tmp14 , ( 0 , 1 , 2 ), tmp12 , ( 3 , 2 ), ( 1 , 3 , 0 )) * 2 del tmp14 , tmp12 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp17 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new += einsum ( tmp17 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp17 r2new += einsum ( r1 , ( 0 ,), tmp18 , ( 1 , 2 , 0 , 3 ), ( 2 , 3 , 1 )) * - 1 del tmp18 r2new += einsum ( tmp20 , ( 0 , 1 , 2 ), t1 , ( 1 , 3 ), ( 2 , 3 , 0 )) del tmp20 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp21 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp21 r2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp22 , ( 1 ,), ( 2 , 3 , 0 )) del tmp22 r2new += einsum ( tmp23 , ( 0 , 1 ), r1 , ( 2 ,), ( 1 , 2 , 0 )) del tmp23 r1new = einsum ( ints . tmp1 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 0 , 2 , 3 ), ( 1 ,)) * - 2 del ints . tmp1 , tmp0 r1new += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp1 , ( 0 , 2 ), ( 1 ,)) * - 1 del tmp2 , tmp1 r1new += einsum ( tmp3 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) del tmp3 r1new += einsum ( t1 , ( 0 , 1 ), tmp5 , ( 0 ,), ( 1 ,)) * - 2 del tmp5 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . RDFCCSD . hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:42:40.849744. Parameters f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp0 : array tmp1 : array tmp10 : array tmp101 : array tmp102 : array tmp103 : array tmp106 : array tmp107 : array tmp109 : array tmp111 : array tmp114 : array tmp115 : array tmp117 : array tmp119 : array tmp120 : array tmp123 : array tmp125 : array tmp128 : array tmp13 : array tmp130 : array tmp133 : array tmp134 : array tmp139 : array tmp14 : array tmp145 : array tmp149 : array tmp150 : array tmp16 : array tmp177 : array tmp178 : array tmp18 : array tmp180 : array tmp19 : array tmp2 : array tmp22 : array tmp25 : array tmp26 : array tmp28 : array tmp3 : array tmp30 : array tmp32 : array tmp33 : array tmp35 : array tmp36 : array tmp38 : array tmp4 : array tmp41 : array tmp44 : array tmp46 : array tmp48 : array tmp50 : array tmp52 : array tmp55 : array tmp59 : array tmp6 : array tmp62 : array tmp63 : array tmp65 : array tmp68 : array tmp71 : array tmp74 : array tmp77 : array tmp80 : array tmp83 : array tmp86 : array tmp88 : array tmp9 : array tmp91 : array tmp93 : array tmp95 : array tmp98 : array Source code in ebcc/codegen/RDFCCSD.py 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 def hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:42:40.849744. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp10 : array tmp101 : array tmp102 : array tmp103 : array tmp106 : array tmp107 : array tmp109 : array tmp111 : array tmp114 : array tmp115 : array tmp117 : array tmp119 : array tmp120 : array tmp123 : array tmp125 : array tmp128 : array tmp13 : array tmp130 : array tmp133 : array tmp134 : array tmp139 : array tmp14 : array tmp145 : array tmp149 : array tmp150 : array tmp16 : array tmp177 : array tmp178 : array tmp18 : array tmp180 : array tmp19 : array tmp2 : array tmp22 : array tmp25 : array tmp26 : array tmp28 : array tmp3 : array tmp30 : array tmp32 : array tmp33 : array tmp35 : array tmp36 : array tmp38 : array tmp4 : array tmp41 : array tmp44 : array tmp46 : array tmp48 : array tmp50 : array tmp52 : array tmp55 : array tmp59 : array tmp6 : array tmp62 : array tmp63 : array tmp65 : array tmp68 : array tmp71 : array tmp74 : array tmp77 : array tmp80 : array tmp83 : array tmp86 : array tmp88 : array tmp9 : array tmp91 : array tmp93 : array tmp95 : array tmp98 : array \"\"\" tmp15 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp13 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp22 = einsum ( tmp15 , ( 0 ,), v . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp62 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp13 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp101 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp32 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 2 ), ( 0 , 3 , 4 )) tmp35 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 3 ), ( 0 , 2 , 4 )) tmp25 = einsum ( t1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp133 = einsum ( tmp13 , ( 0 , 1 , 2 ), tmp13 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp107 = einsum ( t1 , ( 0 , 1 ), tmp22 , ( 2 , 1 ), ( 0 , 2 )) tmp106 = einsum ( tmp62 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp119 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp15 , ( 0 ,), ( 1 , 2 )) tmp114 = einsum ( tmp13 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp16 = einsum ( tmp15 , ( 0 ,), v . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp15 tmp14 = einsum ( tmp13 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) tmp102 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp101 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) tmp33 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp32 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp36 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp35 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp28 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp13 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) tmp58 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp10 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp18 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp0 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp180 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp35 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp178 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp32 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp177 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp25 , ( 1 , 3 , 0 ), ( 2 , 3 )) tmp150 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp101 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp149 = einsum ( tmp101 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) tmp145 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp13 , ( 3 , 4 , 0 ), ( 3 , 4 , 1 , 2 )) tmp139 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp134 = einsum ( t1 , ( 0 , 1 ), tmp133 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp130 = einsum ( tmp107 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp128 = einsum ( t1 , ( 0 , 1 ), tmp106 , ( 2 , 0 ), ( 2 , 1 )) tmp125 = einsum ( tmp25 , ( 0 , 1 , 2 ), tmp13 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) tmp123 = einsum ( tmp25 , ( 0 , 1 , 2 ), tmp13 , ( 3 , 0 , 2 ), ( 3 , 1 )) tmp120 = einsum ( t1 , ( 0 , 1 ), tmp119 , ( 2 , 1 ), ( 0 , 2 )) tmp117 = einsum ( tmp114 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp115 = einsum ( t1 , ( 0 , 1 ), tmp114 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp111 = einsum ( tmp16 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp109 = einsum ( tmp14 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp103 = einsum ( t1 , ( 0 , 1 ), tmp102 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) tmp98 = einsum ( tmp33 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp95 = einsum ( t1 , ( 0 , 1 ), tmp36 , ( 2 , 0 ), ( 2 , 1 )) tmp93 = einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp91 = einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) tmp88 = einsum ( tmp35 , ( 0 , 1 , 2 ), tmp13 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) tmp86 = einsum ( tmp32 , ( 0 , 1 , 2 ), tmp13 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) tmp83 = einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp80 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp28 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp77 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp22 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp74 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp62 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp71 = einsum ( tmp22 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp68 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp22 , ( 1 , 2 ), ( 0 , 3 )) tmp65 = einsum ( tmp62 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp63 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp62 , ( 1 , 2 ), ( 0 , 3 )) tmp59 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp58 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 4 , 5 )) del tmp58 tmp55 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp52 = einsum ( tmp35 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp50 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp35 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp48 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp32 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp46 = einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp44 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) tmp41 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp38 = einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 )) tmp30 = einsum ( tmp25 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp26 = einsum ( tmp25 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) tmp19 = einsum ( t1 , ( 0 , 1 ), tmp18 , ( 2 , 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) tmp9 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp6 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp4 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp2 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp101\" : tmp101 , f \"tmp102\" : tmp102 , f \"tmp103\" : tmp103 , f \"tmp106\" : tmp106 , f \"tmp107\" : tmp107 , f \"tmp109\" : tmp109 , f \"tmp111\" : tmp111 , f \"tmp114\" : tmp114 , f \"tmp115\" : tmp115 , f \"tmp117\" : tmp117 , f \"tmp119\" : tmp119 , f \"tmp120\" : tmp120 , f \"tmp123\" : tmp123 , f \"tmp125\" : tmp125 , f \"tmp128\" : tmp128 , f \"tmp13\" : tmp13 , f \"tmp130\" : tmp130 , f \"tmp133\" : tmp133 , f \"tmp134\" : tmp134 , f \"tmp139\" : tmp139 , f \"tmp14\" : tmp14 , f \"tmp145\" : tmp145 , f \"tmp149\" : tmp149 , f \"tmp150\" : tmp150 , f \"tmp16\" : tmp16 , f \"tmp177\" : tmp177 , f \"tmp178\" : tmp178 , f \"tmp18\" : tmp18 , f \"tmp180\" : tmp180 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp22\" : tmp22 , f \"tmp25\" : tmp25 , f \"tmp26\" : tmp26 , f \"tmp28\" : tmp28 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp35\" : tmp35 , f \"tmp36\" : tmp36 , f \"tmp38\" : tmp38 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp44\" : tmp44 , f \"tmp46\" : tmp46 , f \"tmp48\" : tmp48 , f \"tmp50\" : tmp50 , f \"tmp52\" : tmp52 , f \"tmp55\" : tmp55 , f \"tmp59\" : tmp59 , f \"tmp6\" : tmp6 , f \"tmp62\" : tmp62 , f \"tmp63\" : tmp63 , f \"tmp65\" : tmp65 , f \"tmp68\" : tmp68 , f \"tmp71\" : tmp71 , f \"tmp74\" : tmp74 , f \"tmp77\" : tmp77 , f \"tmp80\" : tmp80 , f \"tmp83\" : tmp83 , f \"tmp86\" : tmp86 , f \"tmp88\" : tmp88 , f \"tmp9\" : tmp9 , f \"tmp91\" : tmp91 , f \"tmp93\" : tmp93 , f \"tmp95\" : tmp95 , f \"tmp98\" : tmp98 } ebcc . codegen . RDFCCSD . hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:42:40.883173. 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. Source code in ebcc/codegen/RDFCCSD.py 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:42:40.883173. 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\" ] tmp11 = einsum ( r2 , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 0 , 1 , 3 )) tmp20 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp20 += t2 tmp17 = np . copy ( f . ov ) tmp17 += ints . tmp22 * 2 tmp17 += ints . tmp62 * - 1 del ints . tmp62 tmp0 = np . copy ( r2 ) * - 0.5 tmp0 += np . transpose ( r2 , ( 1 , 0 , 2 )) tmp13 = np . copy ( ints . tmp25 ) del ints . tmp25 tmp13 += ints . tmp35 * 2 del ints . tmp35 tmp13 += np . transpose ( v . xov , ( 1 , 2 , 0 )) tmp13 += ints . tmp32 * - 1 del ints . tmp32 tmp15 = np . copy ( ints . tmp13 ) del ints . tmp13 tmp15 += np . transpose ( v . xoo , ( 1 , 2 , 0 )) tmp14 = np . copy ( tmp11 ) * - 1 tmp14 += np . transpose ( tmp11 , ( 1 , 0 , 2 )) * 2 tmp19 = np . copy ( f . oo ) * 0.5 tmp19 += np . transpose ( ints . tmp0 , ( 1 , 0 )) * 0.5 tmp19 += ints . tmp107 tmp19 += ints . tmp16 tmp19 += ints . tmp36 tmp19 += ints . tmp106 * - 0.5 tmp19 += ints . tmp14 * - 0.5 tmp19 += ints . tmp33 * - 0.5 tmp7 = np . copy ( ints . tmp139 ) * 0.5 tmp7 += ints . tmp145 * 0.5 tmp7 += ints . tmp150 tmp7 += ints . tmp149 * - 0.5 tmp22 = np . copy ( ints . tmp10 ) tmp22 += np . transpose ( ints . tmp28 , ( 2 , 0 , 1 , 3 )) tmp10 = np . copy ( ints . tmp102 ) del ints . tmp102 tmp10 += np . transpose ( ints . tmp114 , ( 0 , 1 , 3 , 2 )) tmp8 = np . copy ( ints . tmp139 ) del ints . tmp139 tmp8 += ints . tmp145 del ints . tmp145 tmp8 += ints . tmp149 * - 1 del ints . tmp149 tmp21 = einsum ( r2 , ( 0 , 1 , 2 ), tmp20 , ( 1 , 0 , 3 , 2 ), ( 3 ,)) del tmp20 tmp18 = np . copy ( np . transpose ( ints . tmp177 , ( 1 , 0 ))) del ints . tmp177 tmp18 += ints . tmp180 * 2 del ints . tmp180 tmp18 += f . vv * - 1 tmp18 += ints . tmp119 * - 2 del ints . tmp119 tmp18 += ints . tmp178 * - 1 del ints . tmp178 tmp18 += einsum ( t1 , ( 0 , 1 ), tmp17 , ( 0 , 2 ), ( 1 , 2 )) tmp16 = einsum ( tmp13 , ( 0 , 1 , 2 ), tmp0 , ( 3 , 0 , 1 ), ( 3 , 2 )) * - 1 del tmp13 tmp16 += einsum ( tmp15 , ( 0 , 1 , 2 ), tmp14 , ( 3 , 0 , 1 ), ( 3 , 2 )) * 0.5 del tmp15 , tmp14 tmp9 = np . copy ( ints . tmp114 ) del ints . tmp114 tmp9 += np . transpose ( ints . tmp133 , ( 0 , 1 , 3 , 2 )) del ints . tmp133 tmp9 += np . transpose ( ints . tmp18 , ( 2 , 3 , 0 , 1 )) del ints . tmp18 tmp12 = np . copy ( ints . tmp10 ) tmp12 += np . transpose ( ints . tmp28 , ( 0 , 2 , 1 , 3 )) tmp1 = np . copy ( ints . tmp103 ) del ints . tmp103 tmp1 += ints . tmp115 del ints . tmp115 tmp1 += ints . tmp134 del ints . tmp134 tmp1 += np . transpose ( ints . tmp19 , ( 0 , 2 , 1 , 3 )) del ints . tmp19 tmp1 += ints . tmp44 del ints . tmp44 tmp1 += ints . tmp86 del ints . tmp86 tmp1 += ints . tmp93 del ints . tmp93 tmp1 += np . transpose ( ints . tmp10 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp10 tmp1 += ints . tmp125 * - 1 del ints . tmp125 tmp1 += ints . tmp28 * - 1 del ints . tmp28 tmp1 += ints . tmp59 * - 1 del ints . tmp59 tmp1 += ints . tmp88 * - 2 del ints . tmp88 tmp2 = np . copy ( r2 ) * 2 tmp2 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 1 tmp5 = np . copy ( r2 ) * - 1 tmp5 += np . transpose ( r2 , ( 1 , 0 , 2 )) * 2 tmp4 = np . copy ( ints . tmp111 ) * 2 del ints . tmp111 tmp4 += ints . tmp123 del ints . tmp123 tmp4 += ints . tmp130 * 2 del ints . tmp130 tmp4 += ints . tmp1 del ints . tmp1 tmp4 += ints . tmp26 del ints . tmp26 tmp4 += ints . tmp3 del ints . tmp3 tmp4 += ints . tmp41 * 2 del ints . tmp41 tmp4 += ints . tmp55 del ints . tmp55 tmp4 += ints . tmp65 * 2 del ints . tmp65 tmp4 += ints . tmp68 * 2 del ints . tmp68 tmp4 += ints . tmp80 * 2 del ints . tmp80 tmp4 += ints . tmp95 * 2 del ints . tmp95 tmp4 += ints . tmp9 del ints . tmp9 tmp4 += f . ov * - 1 tmp4 += ints . tmp109 * - 1 del ints . tmp109 tmp4 += ints . tmp120 * - 2 del ints . tmp120 tmp4 += ints . tmp128 * - 1 del ints . tmp128 tmp4 += ints . tmp22 * - 2 del ints . tmp22 tmp4 += ints . tmp2 * - 1 del ints . tmp2 tmp4 += ints . tmp38 * - 1 del ints . tmp38 tmp4 += ints . tmp4 * - 2 del ints . tmp4 tmp4 += ints . tmp52 * - 2 del ints . tmp52 tmp4 += ints . tmp63 * - 1 del ints . tmp63 tmp4 += ints . tmp71 * - 4 del ints . tmp71 tmp4 += ints . tmp83 * - 1 del ints . tmp83 tmp4 += ints . tmp98 * - 1 del ints . tmp98 tmp3 = np . copy ( ints . tmp117 ) del ints . tmp117 tmp3 += np . transpose ( ints . tmp46 , ( 0 , 2 , 1 , 3 )) del ints . tmp46 tmp3 += np . transpose ( ints . tmp48 , ( 0 , 2 , 1 , 3 )) del ints . tmp48 tmp3 += np . transpose ( ints . tmp74 , ( 0 , 2 , 1 , 3 )) del ints . tmp74 tmp3 += np . transpose ( ints . tmp91 , ( 0 , 2 , 1 , 3 )) del ints . tmp91 tmp3 += ints . tmp30 * - 1 del ints . tmp30 tmp3 += np . transpose ( ints . tmp50 , ( 0 , 2 , 1 , 3 )) * - 2 del ints . tmp50 tmp3 += np . transpose ( ints . tmp6 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp6 tmp3 += np . transpose ( ints . tmp77 , ( 0 , 2 , 1 , 3 )) * - 2 del ints . tmp77 tmp6 = np . copy ( f . oo ) tmp6 += np . transpose ( ints . tmp0 , ( 1 , 0 )) del ints . tmp0 tmp6 += ints . tmp107 * 2 del ints . tmp107 tmp6 += np . transpose ( ints . tmp16 , ( 1 , 0 )) * 2 del ints . tmp16 tmp6 += ints . tmp36 * 2 del ints . tmp36 tmp6 += ints . tmp106 * - 1 del ints . tmp106 tmp6 += ints . tmp14 * - 1 del ints . tmp14 tmp6 += ints . tmp33 * - 1 del ints . tmp33 r2new = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp150 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) del ints . tmp150 r2new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) * - 2 del tmp7 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp8 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * - 1 del tmp8 r2new += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 4 ), ( 3 , 2 , 4 )) del tmp9 r2new += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 0 , 4 ), ( 3 , 2 , 4 )) del tmp10 r2new += einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), tmp11 , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) r2new += einsum ( tmp11 , ( 0 , 1 , 2 ), tmp12 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) del tmp11 , tmp12 r2new += einsum ( tmp16 , ( 0 , 1 ), v . xov , ( 1 , 2 , 3 ), ( 2 , 0 , 3 )) * - 2 del tmp16 r2new += einsum ( tmp18 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp18 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 2 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp19 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 2 del tmp19 r2new += einsum ( tmp21 , ( 0 ,), ints . tmp101 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * - 2 del tmp21 , ints . tmp101 r2new += einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 ,), ( 2 , 0 , 3 )) del tmp22 r2new += einsum ( r1 , ( 0 ,), tmp17 , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 del tmp17 r1new = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp1 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) * - 2 del tmp0 , tmp1 r1new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 2 , 3 ), ( 1 ,)) * - 1 del tmp3 , tmp2 r1new += einsum ( tmp5 , ( 0 , 1 , 2 ), tmp4 , ( 1 , 2 ), ( 0 ,)) del tmp5 , tmp4 r1new += einsum ( r1 , ( 0 ,), tmp6 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp6 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . RDFCCSD . hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:43:33.080354. Parameters f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp1 : array tmp10 : array tmp100 : array tmp102 : array tmp105 : array tmp107 : array tmp11 : array tmp110 : array tmp111 : array tmp113 : array tmp114 : array tmp12 : array tmp120 : array tmp123 : array tmp125 : array tmp127 : array tmp129 : array tmp130 : array tmp132 : array tmp133 : array tmp16 : array tmp163 : array tmp18 : array tmp19 : array tmp2 : array tmp20 : array tmp23 : array tmp25 : array tmp29 : array tmp3 : array tmp31 : array tmp34 : array tmp35 : array tmp37 : array tmp38 : array tmp4 : array tmp40 : array tmp41 : array tmp44 : array tmp47 : array tmp50 : array tmp53 : array tmp56 : array tmp58 : array tmp61 : array tmp63 : array tmp65 : array tmp66 : array tmp67 : array tmp69 : array tmp72 : array tmp75 : array tmp82 : array tmp83 : array tmp86 : array tmp89 : array tmp92 : array tmp93 : array tmp96 : array tmp97 : array Source code in ebcc/codegen/RDFCCSD.py 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 def hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:43:33.080354. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp1 : array tmp10 : array tmp100 : array tmp102 : array tmp105 : array tmp107 : array tmp11 : array tmp110 : array tmp111 : array tmp113 : array tmp114 : array tmp12 : array tmp120 : array tmp123 : array tmp125 : array tmp127 : array tmp129 : array tmp130 : array tmp132 : array tmp133 : array tmp16 : array tmp163 : array tmp18 : array tmp19 : array tmp2 : array tmp20 : array tmp23 : array tmp25 : array tmp29 : array tmp3 : array tmp31 : array tmp34 : array tmp35 : array tmp37 : array tmp38 : array tmp4 : array tmp40 : array tmp41 : array tmp44 : array tmp47 : array tmp50 : array tmp53 : array tmp56 : array tmp58 : array tmp61 : array tmp63 : array tmp65 : array tmp66 : array tmp67 : array tmp69 : array tmp72 : array tmp75 : array tmp82 : array tmp83 : array tmp86 : array tmp89 : array tmp92 : array tmp93 : array tmp96 : array tmp97 : array \"\"\" tmp15 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp65 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp20 = einsum ( tmp15 , ( 0 ,), v . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp66 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp65 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp34 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 2 ), ( 0 , 3 , 4 )) tmp37 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 3 ), ( 0 , 2 , 4 )) tmp132 = einsum ( t1 , ( 0 , 1 ), tmp20 , ( 2 , 1 ), ( 0 , 2 )) tmp129 = einsum ( t1 , ( 0 , 1 ), tmp66 , ( 2 , 1 ), ( 0 , 2 )) tmp18 = einsum ( v . xvv , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 3 , 1 , 0 )) tmp16 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp15 , ( 0 ,), ( 1 , 2 )) tmp113 = einsum ( tmp15 , ( 0 ,), v . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp15 tmp110 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp65 , ( 2 , 3 , 0 ), ( 1 , 3 )) tmp25 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp96 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp34 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp92 = einsum ( tmp37 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp82 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp65 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) tmp12 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp40 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp10 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp163 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp133 = einsum ( tmp132 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp130 = einsum ( tmp129 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp127 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp18 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp125 = einsum ( tmp65 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) tmp123 = einsum ( tmp65 , ( 0 , 1 , 2 ), tmp18 , ( 1 , 3 , 2 ), ( 0 , 3 )) tmp120 = einsum ( t1 , ( 0 , 1 ), tmp16 , ( 2 , 1 ), ( 0 , 2 )) tmp114 = einsum ( t1 , ( 0 , 1 ), tmp113 , ( 2 , 0 ), ( 2 , 1 )) tmp111 = einsum ( tmp110 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp107 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp25 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp105 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) tmp102 = einsum ( tmp37 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) tmp100 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp34 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) tmp97 = einsum ( tmp96 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp93 = einsum ( t1 , ( 0 , 1 ), tmp92 , ( 2 , 0 ), ( 2 , 1 )) tmp89 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp82 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp86 = einsum ( tmp82 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp83 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp82 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp75 = einsum ( tmp20 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp72 = einsum ( tmp20 , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) tmp69 = einsum ( tmp66 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp67 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp66 , ( 1 , 2 ), ( 0 , 3 )) tmp63 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 3 , 2 )) tmp61 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp12 , ( 1 , 2 , 4 , 5 ), ( 0 , 3 , 5 , 4 )) tmp58 = einsum ( tmp37 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) tmp56 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp34 , ( 3 , 4 , 0 ), ( 3 , 4 , 1 , 2 )) tmp53 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp34 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp50 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp37 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp47 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp44 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp41 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) tmp38 = einsum ( tmp37 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp35 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp34 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp31 = einsum ( tmp18 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp29 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp23 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp18 , ( 2 , 3 , 0 ), ( 1 , 3 )) tmp19 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp18 , ( 1 , 3 , 0 ), ( 2 , 3 )) tmp11 = einsum ( tmp10 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp4 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp2 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp102\" : tmp102 , f \"tmp105\" : tmp105 , f \"tmp107\" : tmp107 , f \"tmp11\" : tmp11 , f \"tmp110\" : tmp110 , f \"tmp111\" : tmp111 , f \"tmp113\" : tmp113 , f \"tmp114\" : tmp114 , f \"tmp12\" : tmp12 , f \"tmp120\" : tmp120 , f \"tmp123\" : tmp123 , f \"tmp125\" : tmp125 , f \"tmp127\" : tmp127 , f \"tmp129\" : tmp129 , f \"tmp130\" : tmp130 , f \"tmp132\" : tmp132 , f \"tmp133\" : tmp133 , f \"tmp16\" : tmp16 , f \"tmp163\" : tmp163 , f \"tmp18\" : tmp18 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp23\" : tmp23 , f \"tmp25\" : tmp25 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp31\" : tmp31 , f \"tmp34\" : tmp34 , f \"tmp35\" : tmp35 , f \"tmp37\" : tmp37 , f \"tmp38\" : tmp38 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp41\" : tmp41 , f \"tmp44\" : tmp44 , f \"tmp47\" : tmp47 , f \"tmp50\" : tmp50 , f \"tmp53\" : tmp53 , f \"tmp56\" : tmp56 , f \"tmp58\" : tmp58 , f \"tmp61\" : tmp61 , f \"tmp63\" : tmp63 , f \"tmp65\" : tmp65 , f \"tmp66\" : tmp66 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp72\" : tmp72 , f \"tmp75\" : tmp75 , f \"tmp82\" : tmp82 , f \"tmp83\" : tmp83 , f \"tmp86\" : tmp86 , f \"tmp89\" : tmp89 , f \"tmp92\" : tmp92 , f \"tmp93\" : tmp93 , f \"tmp96\" : tmp96 , f \"tmp97\" : tmp97 } ebcc . codegen . RDFCCSD . hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:43:33.109313. 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. Source code in ebcc/codegen/RDFCCSD.py 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:43:33.109313. 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\" ] tmp17 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp17 += t2 * - 1 tmp26 = np . copy ( ints . tmp65 ) del ints . tmp65 tmp26 += np . transpose ( v . xoo , ( 1 , 2 , 0 )) tmp11 = einsum ( r2 , ( 0 , 1 , 2 ), t1 , ( 3 , 1 ), ( 2 , 3 , 0 )) tmp20 = np . copy ( f . ov ) tmp20 += ints . tmp20 * 2 tmp20 += ints . tmp66 * - 1 del ints . tmp66 tmp16 = einsum ( r1 , ( 0 ,), t1 , ( 1 , 0 ), ( 1 ,)) tmp18 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 2 , 0 ), ( 1 ,)) del tmp17 tmp22 = np . copy ( ints . tmp40 ) tmp22 += np . transpose ( ints . tmp82 , ( 0 , 2 , 1 , 3 )) tmp0 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 0.5 tmp0 += np . transpose ( r2 , ( 2 , 1 , 0 )) tmp27 = np . copy ( ints . tmp18 ) del ints . tmp18 tmp27 += ints . tmp37 * 2 del ints . tmp37 tmp27 += np . transpose ( v . xov , ( 1 , 2 , 0 )) tmp27 += ints . tmp34 * - 1 del ints . tmp34 tmp27 += einsum ( tmp26 , ( 0 , 1 , 2 ), t1 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp26 tmp12 = einsum ( tmp11 , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp29 = einsum ( tmp20 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 2 , 1 )) tmp6 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp6 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 0.5 tmp19 = np . copy ( tmp16 ) del tmp16 tmp19 += tmp18 * - 1 del tmp18 tmp23 = np . copy ( ints . tmp107 ) tmp23 += ints . tmp125 * 0.5 tmp23 += ints . tmp29 * 0.5 tmp23 += ints . tmp105 * - 0.5 tmp23 += einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 0.5 tmp31 = np . copy ( f . oo ) tmp31 += np . transpose ( ints . tmp10 , ( 1 , 0 )) del ints . tmp10 tmp31 += ints . tmp113 * 2 del ints . tmp113 tmp31 += ints . tmp132 * 2 del ints . tmp132 tmp31 += ints . tmp92 * 2 del ints . tmp92 tmp31 += ints . tmp110 * - 1 del ints . tmp110 tmp31 += ints . tmp129 * - 1 del ints . tmp129 tmp31 += ints . tmp96 * - 1 del ints . tmp96 tmp28 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp0 , ( 0 , 3 , 1 ), ( 3 , 2 )) * - 1 del tmp27 tmp25 = einsum ( r2 , ( 0 , 1 , 2 ), t2 , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp25 += tmp12 tmp30 = np . copy ( np . transpose ( ints . tmp19 , ( 1 , 0 ))) tmp30 += ints . tmp38 * 2 tmp30 += f . vv * - 1 tmp30 += ints . tmp16 * - 2 tmp30 += ints . tmp35 * - 1 tmp30 += tmp29 del tmp29 tmp24 = np . copy ( ints . tmp105 ) tmp24 += ints . tmp125 * - 1 tmp24 += ints . tmp29 * - 1 tmp24 += einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp22 tmp21 = einsum ( r2 , ( 0 , 1 , 2 ), t1 , ( 3 , 0 ), ( 2 , 3 , 1 )) tmp14 = np . copy ( tmp12 ) * 2 tmp14 += np . transpose ( tmp12 , ( 0 , 2 , 1 )) * - 1 tmp1 = np . copy ( ints . tmp12 ) tmp1 += ints . tmp31 del ints . tmp31 tmp1 += np . transpose ( ints . tmp89 , ( 0 , 3 , 1 , 2 )) del ints . tmp89 tmp1 += np . transpose ( ints . tmp61 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp61 tmp8 = np . copy ( ints . tmp102 ) * 2 del ints . tmp102 tmp8 += np . transpose ( ints . tmp127 , ( 0 , 1 , 3 , 2 )) del ints . tmp127 tmp8 += ints . tmp25 tmp8 += ints . tmp100 * - 1 del ints . tmp100 tmp8 += ints . tmp107 * - 1 tmp2 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * 2 tmp2 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 1 tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 0 , 3 , 1 )) * 2 del tmp6 tmp13 = np . copy ( tmp12 ) * - 0.5 tmp13 += np . transpose ( tmp12 , ( 0 , 2 , 1 )) del tmp12 tmp5 = np . copy ( np . transpose ( ints . tmp125 , ( 0 , 1 , 3 , 2 ))) del ints . tmp125 tmp5 += np . transpose ( ints . tmp29 , ( 0 , 1 , 3 , 2 )) del ints . tmp29 tmp5 += ints . tmp105 * - 1 del ints . tmp105 tmp4 = einsum ( tmp0 , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp10 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 1 tmp10 += np . transpose ( r2 , ( 2 , 1 , 0 )) * 2 tmp15 = np . copy ( f . vv ) tmp15 += np . transpose ( ints . tmp16 , ( 1 , 0 )) * 2 del ints . tmp16 tmp15 += ints . tmp35 del ints . tmp35 tmp15 += np . transpose ( ints . tmp19 , ( 1 , 0 )) * - 1 del ints . tmp19 tmp15 += ints . tmp38 * - 2 del ints . tmp38 tmp9 = np . copy ( ints . tmp114 ) * 2 del ints . tmp114 tmp9 += ints . tmp11 del ints . tmp11 tmp9 += ints . tmp123 del ints . tmp123 tmp9 += ints . tmp133 * 2 del ints . tmp133 tmp9 += ints . tmp1 del ints . tmp1 tmp9 += ints . tmp23 del ints . tmp23 tmp9 += ints . tmp3 del ints . tmp3 tmp9 += ints . tmp44 * 2 del ints . tmp44 tmp9 += ints . tmp53 del ints . tmp53 tmp9 += ints . tmp69 * 2 del ints . tmp69 tmp9 += ints . tmp72 * 2 del ints . tmp72 tmp9 += ints . tmp83 * 2 del ints . tmp83 tmp9 += ints . tmp93 * 2 del ints . tmp93 tmp9 += f . ov * - 1 tmp9 += ints . tmp111 * - 1 del ints . tmp111 tmp9 += ints . tmp120 * - 2 del ints . tmp120 tmp9 += ints . tmp130 * - 1 del ints . tmp130 tmp9 += ints . tmp20 * - 2 del ints . tmp20 tmp9 += ints . tmp2 * - 1 del ints . tmp2 tmp9 += ints . tmp41 * - 1 del ints . tmp41 tmp9 += ints . tmp4 * - 2 del ints . tmp4 tmp9 += ints . tmp50 * - 2 del ints . tmp50 tmp9 += ints . tmp67 * - 1 del ints . tmp67 tmp9 += ints . tmp75 * - 4 del ints . tmp75 tmp9 += ints . tmp86 * - 1 del ints . tmp86 tmp9 += ints . tmp97 * - 1 del ints . tmp97 tmp3 = np . copy ( ints . tmp47 ) del ints . tmp47 tmp3 += ints . tmp58 * 2 del ints . tmp58 tmp3 += ints . tmp56 * - 1 del ints . tmp56 tmp3 += np . transpose ( ints . tmp63 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp63 r2new = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp163 , ( 3 , 4 , 0 , 1 ), ( 4 , 3 , 2 )) del ints . tmp163 r2new += einsum ( ints . tmp107 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 0 ), ( 3 , 4 , 1 )) del ints . tmp107 r2new += einsum ( tmp11 , ( 0 , 1 , 2 ), ints . tmp12 , ( 1 , 3 , 2 , 4 ), ( 3 , 4 , 0 )) * - 1 del tmp11 r2new += einsum ( tmp21 , ( 0 , 1 , 2 ), ints . tmp12 , ( 1 , 3 , 2 , 4 ), ( 4 , 3 , 0 )) * - 1 del tmp21 r2new += einsum ( r1 , ( 0 ,), ints . tmp12 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del ints . tmp12 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp23 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 , 3 )) * - 2 del tmp23 r2new += einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) del tmp24 r2new += einsum ( ints . tmp25 , ( 0 , 1 , 2 , 3 ), tmp25 , ( 4 , 1 , 0 ), ( 3 , 2 , 4 )) del tmp25 r2new += einsum ( tmp28 , ( 0 , 1 ), v . xov , ( 1 , 2 , 3 ), ( 3 , 0 , 2 )) * - 2 del tmp28 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp30 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new += einsum ( tmp30 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp30 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp31 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp31 r2new += einsum ( tmp19 , ( 0 ,), ints . tmp25 , ( 0 , 1 , 2 , 3 ), ( 3 , 2 , 1 )) del ints . tmp25 r2new += einsum ( r1 , ( 0 ,), tmp20 , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r1new = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp1 , ( 0 , 3 , 1 , 2 ), ( 3 ,)) * - 2 del tmp0 , tmp1 r1new += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp3 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * - 1 del tmp2 , tmp3 r1new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 1 , 2 ), ( 3 ,)) * 2 del tmp5 , tmp4 r1new += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 1 , 2 ), ( 3 ,)) del tmp8 , tmp7 r1new += einsum ( tmp9 , ( 0 , 1 ), tmp10 , ( 0 , 2 , 1 ), ( 2 ,)) del tmp9 , tmp10 r1new += einsum ( tmp13 , ( 0 , 1 , 2 ), ints . tmp82 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * - 2 del ints . tmp82 , tmp13 r1new += einsum ( tmp14 , ( 0 , 1 , 2 ), ints . tmp40 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * - 1 del ints . tmp40 , tmp14 r1new += einsum ( r1 , ( 0 ,), tmp15 , ( 0 , 1 ), ( 1 ,)) del tmp15 r1new += einsum ( tmp19 , ( 0 ,), tmp20 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp20 , tmp19 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"RDFCCSD"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.energy","text":"Code generated by albert 0.0.0 on 2024-08-17T20:38:59.248126.","title":"energy"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.energy--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/RDFCCSD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:38:59.248126. 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 ( t1 , ( 0 , 1 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp0 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp1 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp1 += t2 * - 1 tmp4 = np . copy ( f . ov ) tmp4 += einsum ( tmp3 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) * - 0.5 del tmp3 tmp2 = einsum ( tmp0 , ( 0 ,), t1 , ( 1 , 2 ), ( 1 , 2 , 0 )) del tmp0 tmp2 += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 0 , 3 ), ( 1 , 2 , 4 )) * 0.5 del tmp1 e_cc = einsum ( tmp2 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 1 ), ()) * 2 del tmp2 e_cc += einsum ( t1 , ( 0 , 1 ), tmp4 , ( 0 , 1 ), ()) * 2 del tmp4 return e_cc","title":"Returns"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-17T20:39:22.426740.","title":"update_amps"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.update_amps--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.update_amps--returns","text":"t1new : array Updated T1 residuals. t2new : array Updated T2 residuals. Source code in ebcc/codegen/RDFCCSD.py 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:39:22.426740. 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 . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp0 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp37 = np . copy ( t2 ) tmp37 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp9 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp2 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp1 = einsum ( tmp0 , ( 0 ,), v . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp32 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp30 = einsum ( tmp2 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) tmp18 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 2 ), ( 0 , 3 , 4 )) tmp5 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp5 += t2 * - 1 tmp38 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 0 , 3 ), ( 1 , 2 , 4 )) del tmp37 tmp35 = np . copy ( tmp1 ) * 2 tmp35 += tmp9 * - 1 tmp33 = np . copy ( np . transpose ( tmp32 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp33 += np . transpose ( tmp32 , ( 2 , 1 , 0 , 3 )) * 2 tmp11 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp11 += t2 * - 1 tmp21 = einsum ( t1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp57 = np . copy ( tmp30 ) * 2 tmp57 += np . transpose ( tmp30 , ( 0 , 2 , 1 , 3 )) * - 1 tmp17 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp45 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) tmp45 += tmp18 * - 1 tmp72 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp13 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp5 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) tmp39 = einsum ( tmp38 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 3 , 4 , 0 , 1 )) tmp36 = einsum ( tmp35 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp31 = einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) del tmp30 tmp34 = einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) del tmp33 tmp27 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp11 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) tmp6 = einsum ( t1 , ( 0 , 1 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 , 2 )) tmp51 = einsum ( tmp0 , ( 0 ,), v . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp52 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp21 , ( 1 , 3 , 0 ), ( 2 , 3 )) tmp61 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp2 , ( 2 , 3 , 0 ), ( 1 , 3 )) tmp12 = einsum ( tmp0 , ( 0 ,), v . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp56 = einsum ( tmp2 , ( 0 , 1 , 2 ), tmp18 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp55 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp32 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) del tmp32 tmp58 = einsum ( tmp57 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) del tmp57 tmp19 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) tmp23 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp46 = einsum ( tmp45 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) del tmp45 tmp73 = einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 0 , 1 )) del tmp72 tmp75 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp13 , ( 1 , 3 , 0 ), ( 3 , 2 )) * 0.5 tmp77 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp13 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp40 = np . copy ( np . transpose ( tmp31 , ( 0 , 2 , 1 , 3 ))) del tmp31 tmp40 += np . transpose ( tmp34 , ( 2 , 1 , 0 , 3 )) * - 1 del tmp34 tmp40 += np . transpose ( tmp36 , ( 2 , 0 , 1 , 3 )) * - 1 del tmp36 tmp40 += np . transpose ( tmp39 , ( 2 , 1 , 0 , 3 )) del tmp39 tmp25 = einsum ( tmp2 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) tmp28 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) tmp28 += tmp6 * - 1 tmp28 += tmp27 del tmp27 tmp42 = einsum ( tmp35 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) del tmp35 tmp53 = np . copy ( np . transpose ( tmp51 , ( 1 , 0 ))) * 2 del tmp51 tmp53 += tmp52 * - 1 del tmp52 tmp62 = np . copy ( np . transpose ( tmp61 , ( 1 , 0 ))) * - 1 del tmp61 tmp62 += np . transpose ( tmp12 , ( 1 , 0 )) * 2 tmp49 = np . copy ( tmp6 ) tmp49 += tmp38 del tmp38 tmp59 = np . copy ( tmp55 ) del tmp55 tmp59 += tmp56 del tmp56 tmp59 += np . transpose ( tmp58 , ( 0 , 2 , 1 , 3 )) * - 1 del tmp58 tmp47 = np . copy ( np . transpose ( tmp23 , ( 1 , 0 , 3 , 2 ))) tmp47 += tmp19 * - 1 tmp47 += tmp46 * - 2 del tmp46 tmp82 = einsum ( tmp2 , ( 0 , 1 , 2 ), tmp21 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp67 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp65 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp69 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp2 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp74 = einsum ( tmp73 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp73 tmp76 = einsum ( tmp75 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 2 , 3 , 0 , 4 )) * 2 del tmp75 tmp78 = einsum ( tmp77 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp77 tmp87 = einsum ( t1 , ( 0 , 1 ), tmp17 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) tmp22 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp41 = einsum ( t1 , ( 0 , 1 ), tmp40 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp40 tmp24 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp23 tmp26 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp29 = einsum ( tmp21 , ( 0 , 1 , 2 ), tmp28 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) del tmp28 tmp43 = einsum ( tmp42 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp42 tmp54 = einsum ( tmp53 , ( 0 , 1 ), t2 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp53 tmp63 = einsum ( tmp62 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp62 tmp50 = einsum ( tmp49 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) del tmp49 tmp60 = einsum ( t1 , ( 0 , 1 ), tmp59 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp59 tmp48 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp47 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp47 tmp89 = np . copy ( np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 ))) * 2 tmp89 += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) * - 1 tmp83 = einsum ( tmp82 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp82 tmp81 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp25 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 3 , 5 )) del tmp25 tmp68 = einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp67 tmp66 = einsum ( tmp65 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp65 tmp70 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp69 tmp7 = einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 0.5 tmp7 += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 1 tmp7 += t2 * 0.5 tmp3 = np . copy ( np . transpose ( v . xoo , ( 1 , 2 , 0 ))) tmp3 += np . transpose ( tmp2 , ( 1 , 0 , 2 )) tmp14 = np . copy ( tmp6 ) * - 1 tmp14 += einsum ( tmp0 , ( 0 ,), t1 , ( 1 , 2 ), ( 1 , 2 , 0 )) * 2 tmp14 += tmp13 del tmp13 tmp15 = np . copy ( f . ov ) tmp15 += tmp9 * - 1 tmp86 = np . copy ( t2 ) tmp86 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp79 = np . copy ( tmp74 ) del tmp74 tmp79 += np . transpose ( tmp76 , ( 1 , 0 , 3 , 2 )) del tmp76 tmp79 += np . transpose ( tmp78 , ( 1 , 0 , 3 , 2 )) del tmp78 tmp88 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp88 += einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 3 , 4 , 2 , 1 )) del tmp87 tmp44 = np . copy ( tmp22 ) del tmp22 tmp44 += tmp24 * - 1 del tmp24 tmp44 += tmp26 * - 1 del tmp26 tmp44 += np . transpose ( tmp29 , ( 1 , 0 , 2 , 3 )) del tmp29 tmp44 += np . transpose ( tmp41 , ( 0 , 1 , 3 , 2 )) del tmp41 tmp44 += np . transpose ( tmp43 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp43 tmp64 = np . copy ( np . transpose ( tmp48 , ( 1 , 0 , 3 , 2 ))) del tmp48 tmp64 += tmp50 del tmp50 tmp64 += np . transpose ( tmp54 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp54 tmp64 += np . transpose ( tmp60 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp60 tmp64 += np . transpose ( tmp63 , ( 1 , 0 , 3 , 2 )) del tmp63 tmp90 = einsum ( tmp89 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp89 tmp85 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp85 += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp2 , ( 3 , 4 , 2 ), ( 4 , 0 , 1 , 3 )) del tmp2 tmp20 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 1 , 0 )) tmp80 = einsum ( f . oo , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp84 = np . copy ( tmp81 ) del tmp81 tmp84 += tmp83 del tmp83 tmp71 = np . copy ( tmp66 ) del tmp66 tmp71 += tmp68 del tmp68 tmp71 += tmp70 * - 1 del tmp70 tmp8 = np . copy ( tmp6 ) * 0.5 del tmp6 tmp8 += einsum ( tmp0 , ( 0 ,), t1 , ( 1 , 2 ), ( 1 , 2 , 0 )) * - 1 del tmp0 tmp8 += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 0 , 3 ), ( 1 , 2 , 4 )) del tmp7 tmp10 = np . copy ( f . ov ) tmp10 += tmp1 * 2 tmp10 += tmp9 * - 1 del tmp9 tmp4 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp3 , ( 3 , 4 , 0 ), ( 4 , 1 , 3 , 2 )) del tmp3 tmp16 = np . copy ( f . oo ) tmp16 += np . transpose ( tmp12 , ( 1 , 0 )) * 2 del tmp12 tmp16 += einsum ( v . xov , ( 0 , 1 , 2 ), tmp14 , ( 3 , 2 , 0 ), ( 1 , 3 )) del tmp14 tmp16 += einsum ( tmp15 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) del tmp15 t2new = np . copy ( np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 ))) del tmp17 t2new += einsum ( tmp18 , ( 0 , 1 , 2 ), tmp18 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) del tmp18 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) del tmp19 t2new += einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 3 , 4 , 5 ), ( 1 , 0 , 5 , 4 )) del tmp20 t2new += einsum ( tmp21 , ( 0 , 1 , 2 ), tmp21 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) del tmp21 t2new += np . transpose ( tmp44 , ( 0 , 1 , 3 , 2 )) t2new += np . transpose ( tmp44 , ( 1 , 0 , 2 , 3 )) del tmp44 t2new += tmp64 * - 1 t2new += np . transpose ( tmp64 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp64 t2new += np . transpose ( tmp71 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp71 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp71 t2new += tmp79 * - 1 t2new += np . transpose ( tmp79 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp79 t2new += np . transpose ( tmp80 , ( 0 , 1 , 3 , 2 )) * - 1 t2new += np . transpose ( tmp80 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp80 t2new += tmp84 * - 1 t2new += np . transpose ( tmp84 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp84 t2new += einsum ( tmp86 , ( 0 , 1 , 2 , 3 ), tmp85 , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 3 , 2 )) del tmp86 , tmp85 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp88 , ( 3 , 4 , 2 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp88 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp90 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp90 t1new = np . copy ( f . ov ) t1new += einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) t1new += tmp1 * 2 del tmp1 t1new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 del tmp5 , tmp4 t1new += einsum ( v . xvv , ( 0 , 1 , 2 ), tmp8 , ( 3 , 2 , 0 ), ( 3 , 1 )) * - 2 del tmp8 t1new += einsum ( tmp10 , ( 0 , 1 ), tmp11 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) del tmp11 , tmp10 t1new += einsum ( tmp16 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp16 return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.update_lams","text":"Code generated by albert 0.0.0 on 2024-08-17T20:40:09.667316.","title":"update_lams"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.update_lams--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.update_lams--returns","text":"l1new : array Updated L1 residuals. l2new : array Updated L2 residuals. Source code in ebcc/codegen/RDFCCSD.py 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 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-17T20:40:09.667316. 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 . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp13 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp95 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp95 += t2 * - 1 tmp20 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp20 += t2 tmp21 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp21 += t2 * - 1 tmp15 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp5 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp14 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp13 , ( 0 ,), ( 1 , 2 )) tmp0 = einsum ( t1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp96 = einsum ( tmp95 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 0 , 3 ), ( 1 , 2 , 4 )) del tmp95 tmp32 = einsum ( t1 , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp7 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp35 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp35 += t2 * - 0.5 tmp51 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) tmp50 = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 1 , 2 )) tmp22 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 0 , 3 ), ( 1 , 2 , 4 )) tmp80 = np . copy ( np . transpose ( v . xoo , ( 1 , 2 , 0 ))) tmp80 += np . transpose ( tmp5 , ( 1 , 0 , 2 )) tmp91 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp91 += t2 * 2 tmp105 = np . copy ( tmp14 ) * 2 tmp105 += tmp15 * - 1 tmp98 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp98 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp97 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) tmp97 += tmp0 tmp97 += tmp96 del tmp96 tmp100 = np . copy ( tmp32 ) * 2 tmp100 += np . transpose ( tmp32 , ( 1 , 0 , 2 , 3 )) * - 1 tmp9 = einsum ( tmp5 , ( 0 , 1 , 2 ), tmp5 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) tmp8 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) tmp36 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp35 , ( 3 , 2 , 4 , 1 ), ( 0 , 4 )) * 2 tmp52 = np . copy ( tmp50 ) * 0.5 tmp52 += tmp51 del tmp51 tmp113 = einsum ( tmp22 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 3 , 0 )) * 0.5 tmp61 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp13 , ( 0 ,), ( 1 , 2 )) tmp79 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 4 , 1 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) tmp81 = einsum ( tmp80 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp80 tmp92 = einsum ( tmp91 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 4 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) del tmp91 tmp106 = einsum ( t1 , ( 0 , 1 ), tmp105 , ( 2 , 1 ), ( 0 , 2 )) tmp62 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp5 , ( 2 , 3 , 0 ), ( 1 , 3 )) tmp99 = einsum ( tmp97 , ( 0 , 1 , 2 ), tmp98 , ( 0 , 3 , 1 , 4 ), ( 3 , 4 , 2 )) del tmp97 , tmp98 tmp101 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp100 , ( 3 , 1 , 2 , 4 ), ( 3 , 4 , 0 )) tmp102 = einsum ( tmp100 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 1 , 2 , 4 ), ( 0 , 3 , 4 )) del tmp100 tmp10 = np . copy ( tmp8 ) tmp10 += tmp9 tmp3 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp37 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp36 , ( 3 , 2 ), ( 1 , 3 , 0 )) * 0.5 del tmp36 tmp118 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp52 , ( 3 , 1 ), ( 3 , 2 , 0 )) * 2 tmp77 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp5 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) tmp114 = np . copy ( np . transpose ( tmp61 , ( 1 , 0 ))) tmp114 += np . transpose ( tmp113 , ( 1 , 0 )) del tmp113 tmp111 = einsum ( tmp22 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 3 , 1 )) * 0.5 tmp75 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp123 = einsum ( tmp0 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 3 , 1 )) tmp69 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp82 = np . copy ( tmp79 ) * - 1 del tmp79 tmp82 += np . transpose ( tmp81 , ( 1 , 0 , 3 , 2 )) tmp72 = einsum ( l1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 0 ), ( 1 , 3 , 2 )) tmp25 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp5 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp93 = np . copy ( np . transpose ( tmp92 , ( 1 , 0 , 3 , 2 ))) del tmp92 tmp93 += np . transpose ( tmp81 , ( 1 , 0 , 3 , 2 )) del tmp81 tmp107 = np . copy ( tmp62 ) tmp107 += tmp106 * - 1 del tmp106 tmp88 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 1 , 5 ), ( 5 , 0 , 4 , 2 )) tmp65 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp13 , ( 0 ,), ( 1 , 2 )) del tmp13 tmp103 = np . copy ( tmp99 ) * - 1 del tmp99 tmp103 += tmp101 del tmp101 tmp103 += tmp102 del tmp102 tmp18 = np . copy ( np . transpose ( v . xoo , ( 1 , 2 , 0 ))) tmp18 += np . transpose ( tmp5 , ( 1 , 0 , 2 )) tmp16 = np . copy ( tmp14 ) * 2 tmp16 += tmp15 * - 1 tmp24 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp6 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp5 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) tmp11 = einsum ( t1 , ( 0 , 1 ), tmp10 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * 2 del tmp10 tmp4 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) tmp56 = np . copy ( tmp50 ) tmp56 += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) * 2 tmp40 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp40 += t2 * 2 tmp46 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp47 = einsum ( t1 , ( 0 , 1 ), tmp32 , ( 2 , 3 , 4 , 1 ), ( 3 , 2 , 4 , 0 )) tmp34 = np . copy ( tmp32 ) tmp34 += np . transpose ( tmp32 , ( 1 , 0 , 2 , 3 )) * - 0.5 tmp44 = np . copy ( tmp32 ) * - 1 tmp44 += np . transpose ( tmp32 , ( 1 , 0 , 2 , 3 )) * 2 tmp43 = einsum ( l1 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp120 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp37 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) * 2 tmp119 = einsum ( tmp118 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 4 , 1 )) del tmp118 tmp117 = einsum ( l1 , ( 0 , 1 ), tmp77 , ( 1 , 2 , 3 , 4 ), ( 2 , 3 , 0 , 4 )) tmp115 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp114 , ( 2 , 4 ), ( 3 , 4 , 0 , 1 )) * 2 del tmp114 tmp112 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp111 , ( 4 , 1 ), ( 3 , 2 , 0 , 4 )) * 2 del tmp111 tmp122 = einsum ( l1 , ( 0 , 1 ), tmp75 , ( 2 , 1 , 3 , 4 ), ( 2 , 3 , 0 , 4 )) tmp124 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp123 , ( 4 , 1 ), ( 2 , 3 , 0 , 4 )) del tmp123 tmp78 = einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), tmp32 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp76 = einsum ( tmp75 , ( 0 , 1 , 2 , 3 ), tmp32 , ( 1 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp70 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp69 , ( 4 , 3 ), ( 4 , 2 , 0 , 1 )) del tmp69 tmp83 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp82 , ( 2 , 4 , 1 , 5 ), ( 3 , 4 , 0 , 5 )) del tmp82 tmp73 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp72 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) del tmp72 tmp74 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp68 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp71 = einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), f . ov , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp94 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp93 , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) del tmp93 tmp108 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp107 , ( 2 , 4 ), ( 3 , 4 , 0 , 1 )) del tmp107 tmp87 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp32 , ( 4 , 5 , 0 , 2 ), ( 5 , 4 , 3 , 1 )) del tmp3 tmp109 = einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), tmp105 , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp89 = einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), tmp88 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp88 tmp86 = einsum ( tmp65 , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 2 , 0 )) tmp104 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp103 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) del tmp103 tmp90 = einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), tmp32 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) del tmp77 tmp85 = einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), tmp75 , ( 4 , 1 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) del tmp75 tmp38 = np . copy ( np . transpose ( v . xoo , ( 1 , 2 , 0 ))) tmp38 += tmp5 tmp33 = np . copy ( tmp32 ) * 2 tmp33 += np . transpose ( tmp32 , ( 1 , 0 , 2 , 3 )) * - 1 tmp31 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 0.5 tmp31 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) tmp30 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) tmp30 += tmp0 tmp30 += tmp22 tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 1 , 4 )) tmp23 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) tmp23 += tmp22 tmp1 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp0 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp2 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 2 ), ( 0 , 1 , 4 , 3 )) del tmp16 tmp26 = np . copy ( np . transpose ( tmp24 , ( 3 , 2 , 1 , 0 ))) tmp26 += np . transpose ( tmp25 , ( 1 , 0 , 3 , 2 )) tmp26 += np . transpose ( tmp25 , ( 3 , 0 , 2 , 1 )) * - 0.5 tmp12 = np . copy ( tmp4 ) * 2 del tmp4 tmp12 += tmp6 * 2 del tmp6 tmp12 += tmp11 * - 1 del tmp11 tmp57 = np . copy ( np . transpose ( l1 , ( 1 , 0 ))) tmp57 += t1 tmp57 += einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), tmp32 , ( 0 , 1 , 4 , 3 ), ( 4 , 2 )) * - 1 tmp57 += einsum ( l1 , ( 0 , 1 ), tmp20 , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) * 2 tmp57 += einsum ( tmp56 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp56 tmp58 = np . copy ( tmp50 ) del tmp50 tmp58 += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) tmp55 = einsum ( l1 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) * 0.5 tmp55 += einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 1 , 0 ), ( 3 , 4 )) * 0.5 tmp49 = np . copy ( np . transpose ( tmp46 , ( 1 , 0 , 2 , 3 ))) * 2 tmp49 += np . transpose ( tmp46 , ( 1 , 0 , 3 , 2 )) * - 1 tmp49 += tmp47 * - 1 tmp49 += np . transpose ( tmp47 , ( 0 , 1 , 3 , 2 )) * 2 tmp41 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 2 , 4 , 5 , 1 ), ( 3 , 4 , 0 , 5 )) del tmp40 tmp41 += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp35 , ( 3 , 4 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) * 2 del tmp35 tmp42 = np . copy ( tmp32 ) * - 0.5 tmp42 += np . transpose ( tmp32 , ( 1 , 0 , 2 , 3 )) tmp48 = np . copy ( np . transpose ( tmp46 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp48 += np . transpose ( tmp46 , ( 1 , 0 , 3 , 2 )) * 2 tmp48 += tmp47 * 2 tmp48 += np . transpose ( tmp47 , ( 0 , 1 , 3 , 2 )) * - 1 tmp53 = np . copy ( t1 ) * - 0.5 tmp53 += einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) del tmp32 tmp53 += einsum ( l1 , ( 0 , 1 ), tmp21 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 )) * - 0.5 del tmp21 tmp53 += einsum ( tmp52 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp45 = np . copy ( tmp43 ) * - 1 tmp45 += np . transpose ( tmp43 , ( 0 , 2 , 1 , 3 )) * 0.5 del tmp43 tmp45 += einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) * 0.5 del tmp44 tmp45 += einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp63 = np . copy ( f . ov ) tmp63 += tmp14 * 2 tmp63 += tmp15 * - 1 tmp28 = np . copy ( np . transpose ( tmp24 , ( 3 , 2 , 1 , 0 ))) * 0.5 tmp28 += np . transpose ( tmp25 , ( 1 , 0 , 3 , 2 )) * 0.5 tmp28 += np . transpose ( tmp25 , ( 3 , 0 , 2 , 1 )) * - 1 del tmp25 tmp121 = np . copy ( tmp117 ) del tmp117 tmp121 += np . transpose ( tmp119 , ( 1 , 0 , 2 , 3 )) del tmp119 tmp121 += np . transpose ( tmp120 , ( 0 , 1 , 3 , 2 )) del tmp120 tmp116 = np . copy ( np . transpose ( tmp112 , ( 1 , 0 , 2 , 3 ))) del tmp112 tmp116 += np . transpose ( tmp115 , ( 0 , 1 , 3 , 2 )) del tmp115 tmp67 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp128 = np . copy ( np . transpose ( tmp24 , ( 3 , 2 , 1 , 0 ))) del tmp24 tmp128 += np . transpose ( tmp9 , ( 0 , 3 , 1 , 2 )) del tmp9 tmp126 = einsum ( f . oo , ( 0 , 1 ), l2 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp125 = np . copy ( tmp122 ) del tmp122 tmp125 += tmp124 del tmp124 tmp127 = np . copy ( np . transpose ( tmp46 , ( 1 , 0 , 3 , 2 ))) del tmp46 tmp127 += tmp47 del tmp47 tmp84 = np . copy ( tmp68 ) del tmp68 tmp84 += tmp70 * - 1 del tmp70 tmp84 += tmp71 * - 1 del tmp71 tmp84 += tmp73 del tmp73 tmp84 += tmp74 del tmp74 tmp84 += tmp76 del tmp76 tmp84 += tmp78 del tmp78 tmp84 += tmp83 * - 1 del tmp83 tmp110 = einsum ( l1 , ( 0 , 1 ), f . ov , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) tmp110 += tmp85 del tmp85 tmp110 += tmp86 * 2 del tmp86 tmp110 += tmp87 * - 1 del tmp87 tmp110 += tmp89 del tmp89 tmp110 += tmp90 del tmp90 tmp110 += tmp94 * - 1 del tmp94 tmp110 += np . transpose ( tmp104 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp104 tmp110 += np . transpose ( tmp108 , ( 0 , 1 , 3 , 2 )) del tmp108 tmp110 += tmp109 * - 1 del tmp109 tmp110 += einsum ( tmp105 , ( 0 , 1 ), l1 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) del tmp105 tmp39 = einsum ( tmp31 , ( 0 , 1 , 2 , 3 ), tmp30 , ( 0 , 2 , 4 ), ( 1 , 3 , 4 )) * - 1 del tmp31 tmp39 += einsum ( v . xoo , ( 0 , 1 , 2 ), tmp33 , ( 3 , 1 , 2 , 4 ), ( 3 , 4 , 0 )) * 0.5 del tmp33 tmp39 += einsum ( tmp5 , ( 0 , 1 , 2 ), tmp34 , ( 3 , 0 , 1 , 4 ), ( 3 , 4 , 2 )) del tmp34 tmp39 += tmp37 del tmp37 tmp39 += einsum ( l1 , ( 0 , 1 ), tmp38 , ( 1 , 2 , 3 ), ( 2 , 0 , 3 )) * 0.5 del tmp38 tmp27 = np . copy ( np . transpose ( tmp1 , ( 0 , 2 , 1 , 3 ))) tmp27 += np . transpose ( tmp2 , ( 1 , 0 , 2 , 3 )) tmp27 += np . transpose ( tmp2 , ( 2 , 0 , 1 , 3 )) * - 2 del tmp2 tmp27 += np . transpose ( tmp12 , ( 0 , 2 , 1 , 3 )) * - 1 tmp27 += np . transpose ( tmp12 , ( 1 , 2 , 0 , 3 )) * 0.5 del tmp12 tmp27 += np . transpose ( tmp17 , ( 1 , 2 , 0 , 3 )) tmp27 += np . transpose ( tmp17 , ( 0 , 2 , 1 , 3 )) * - 2 del tmp17 tmp27 += einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 0 , 5 , 2 ), ( 5 , 4 , 1 , 3 )) * 2 tmp27 += einsum ( tmp23 , ( 0 , 1 , 2 ), tmp18 , ( 3 , 4 , 2 ), ( 4 , 3 , 0 , 1 )) * - 2 tmp27 += einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) * 2 del tmp26 tmp59 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp55 , ( 2 , 1 ), ( 0 ,)) * 2 del tmp55 tmp59 += einsum ( tmp57 , ( 0 , 1 ), v . xov , ( 2 , 0 , 1 ), ( 2 ,)) del tmp57 tmp59 += einsum ( tmp58 , ( 0 , 1 ), v . xoo , ( 2 , 1 , 0 ), ( 2 ,)) * - 1 del tmp58 tmp54 = einsum ( l1 , ( 0 , 1 ), tmp0 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp0 tmp54 += einsum ( v . xvv , ( 0 , 1 , 2 ), tmp41 , ( 3 , 4 , 1 , 2 ), ( 4 , 3 , 0 )) * - 1 del tmp41 tmp54 += einsum ( tmp42 , ( 0 , 1 , 2 , 3 ), tmp30 , ( 1 , 3 , 4 ), ( 2 , 0 , 4 )) * - 2 del tmp30 , tmp42 tmp54 += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 3 ), ( 2 , 0 , 4 )) * 2 del tmp45 tmp54 += einsum ( tmp5 , ( 0 , 1 , 2 ), tmp48 , ( 0 , 3 , 1 , 4 ), ( 4 , 3 , 2 )) del tmp5 , tmp48 tmp54 += einsum ( v . xoo , ( 0 , 1 , 2 ), tmp49 , ( 1 , 3 , 4 , 2 ), ( 4 , 3 , 0 )) del tmp49 tmp54 += einsum ( v . xov , ( 0 , 1 , 2 ), tmp53 , ( 3 , 2 ), ( 3 , 1 , 0 )) * 2 del tmp53 tmp54 += einsum ( v . xoo , ( 0 , 1 , 2 ), tmp52 , ( 2 , 3 ), ( 3 , 1 , 0 )) * 2 tmp64 = np . copy ( f . oo ) tmp64 += np . transpose ( tmp61 , ( 1 , 0 )) * 2 del tmp61 tmp64 += tmp62 * - 1 del tmp62 tmp64 += einsum ( v . xov , ( 0 , 1 , 2 ), tmp22 , ( 3 , 2 , 0 ), ( 3 , 1 )) del tmp22 tmp64 += einsum ( t1 , ( 0 , 1 ), tmp63 , ( 2 , 1 ), ( 0 , 2 )) del tmp63 tmp60 = np . copy ( f . ov ) * 0.5 tmp60 += tmp14 del tmp14 tmp60 += tmp15 * - 0.5 del tmp15 tmp29 = np . copy ( np . transpose ( tmp1 , ( 0 , 2 , 1 , 3 ))) * - 1 del tmp1 tmp29 += einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 0 , 5 , 3 ), ( 5 , 4 , 1 , 2 )) del tmp20 , tmp19 tmp29 += einsum ( tmp23 , ( 0 , 1 , 2 ), tmp18 , ( 3 , 4 , 2 ), ( 4 , 3 , 0 , 1 )) * 0.5 del tmp18 , tmp23 tmp29 += einsum ( t1 , ( 0 , 1 ), tmp28 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp28 tmp66 = np . copy ( f . vv ) tmp66 += np . transpose ( tmp65 , ( 1 , 0 )) * 2 del tmp65 l2new = np . copy ( np . transpose ( tmp7 , ( 3 , 2 , 1 , 0 ))) l2new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp8 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp8 l2new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp67 , ( 4 , 5 , 1 , 0 ), ( 4 , 5 , 2 , 3 )) del tmp67 l2new += np . transpose ( tmp84 , ( 3 , 2 , 0 , 1 )) l2new += np . transpose ( tmp84 , ( 2 , 3 , 1 , 0 )) del tmp84 l2new += np . transpose ( tmp110 , ( 2 , 3 , 0 , 1 )) l2new += np . transpose ( tmp110 , ( 3 , 2 , 1 , 0 )) del tmp110 l2new += np . transpose ( tmp116 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp116 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp116 l2new += np . transpose ( tmp121 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp121 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp121 l2new += np . transpose ( tmp125 , ( 2 , 3 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp125 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp125 l2new += np . transpose ( tmp126 , ( 3 , 2 , 0 , 1 )) * - 1 l2new += np . transpose ( tmp126 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp126 l2new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), tmp127 , ( 4 , 5 , 0 , 1 ), ( 3 , 2 , 5 , 4 )) del tmp7 , tmp127 l2new += einsum ( tmp128 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 2 , 0 ), ( 4 , 5 , 1 , 3 )) del tmp128 l1new = np . copy ( np . transpose ( f . ov , ( 1 , 0 ))) l1new += einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 2 ), ( 4 , 1 )) del tmp27 l1new += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 3 , 4 , 2 , 1 ), ( 0 , 4 )) * 2 del tmp29 l1new += einsum ( v . xvv , ( 0 , 1 , 2 ), tmp39 , ( 3 , 2 , 0 ), ( 1 , 3 )) * - 2 del tmp39 l1new += einsum ( v . xov , ( 0 , 1 , 2 ), tmp54 , ( 1 , 3 , 0 ), ( 2 , 3 )) del tmp54 l1new += einsum ( tmp59 , ( 0 ,), v . xov , ( 0 , 1 , 2 ), ( 2 , 1 )) * 2 del tmp59 l1new += einsum ( tmp52 , ( 0 , 1 ), tmp60 , ( 1 , 2 ), ( 2 , 0 )) * - 4 del tmp52 , tmp60 l1new += einsum ( l1 , ( 0 , 1 ), tmp64 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp64 l1new += einsum ( l1 , ( 0 , 1 ), tmp66 , ( 0 , 2 ), ( 2 , 1 )) del tmp66 return { f \"l1new\" : l1new , f \"l2new\" : l2new }","title":"Returns"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.make_rdm1_f","text":"Code generated by albert 0.0.0 on 2024-08-17T20:40:10.659550.","title":"make_rdm1_f"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.make_rdm1_f--parameters","text":"l1 : array L1 amplitudes. l2 : array L2 amplitudes. t1 : array T1 amplitudes. t2 : array T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.make_rdm1_f--returns","text":"rdm1 : array One-particle reduced density matrix. Source code in ebcc/codegen/RDFCCSD.py 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 def make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:40:10.659550. 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 )) tmp0 = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 1 , 2 )) tmp5 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp5 += t2 tmp7 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp7 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp4 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp4 += t2 * - 1 tmp3 = np . copy ( tmp2 ) tmp3 += np . transpose ( tmp2 , ( 1 , 0 , 2 , 3 )) * - 0.5 del tmp2 tmp6 = np . copy ( tmp0 ) * 0.5 tmp6 += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) del tmp5 tmp1 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp1 += t2 * - 0.5 rdm1 . vv = einsum ( l1 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) * 2 rdm1 . vv += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 2 , 4 ), ( 3 , 4 )) * 2 del tmp7 rdm1 . vo = np . copy ( l1 ) * 2 rdm1 . ov = np . copy ( t1 ) * 2 rdm1 . ov += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) * - 4 del tmp3 rdm1 . ov += einsum ( l1 , ( 0 , 1 ), tmp4 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 )) * 2 del tmp4 rdm1 . ov += einsum ( tmp6 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 4 del tmp6 rdm1 . oo = np . copy ( np . transpose ( tmp0 , ( 1 , 0 ))) * - 2 del tmp0 rdm1 . oo += delta . oo * 2 del delta rdm1 . oo += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 2 , 4 , 1 , 0 ), ( 4 , 3 )) * - 4 del tmp1 rdm1 = np . block ([[ rdm1 . oo , rdm1 . ov ], [ rdm1 . vo , rdm1 . vv ]]) return rdm1","title":"Returns"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.make_rdm2_f","text":"Code generated by albert 0.0.0 on 2024-08-17T20:40:56.960489.","title":"make_rdm2_f"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.make_rdm2_f--parameters","text":"l1 : array L1 amplitudes. l2 : array L2 amplitudes. t1 : array T1 amplitudes. t2 : array T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.make_rdm2_f--returns","text":"rdm2 : array Two-particle reduced density matrix. Source code in ebcc/codegen/RDFCCSD.py 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 def make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:40:56.960489. 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 ( t1 , ( 0 , 1 ), l2 , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp9 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp9 += t2 * - 1 tmp78 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp78 += t2 * - 1 tmp1 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp1 += t2 tmp20 = np . copy ( tmp4 ) * - 1 tmp20 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) * 2 tmp18 = np . copy ( tmp4 ) * - 1 tmp18 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) tmp80 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 5 , 0 ), ( 1 , 5 , 2 , 4 )) tmp79 = einsum ( tmp78 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 3 , 0 , 5 ), ( 1 , 5 , 2 , 4 )) del tmp78 tmp91 = einsum ( t1 , ( 0 , 1 ), tmp4 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp45 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp45 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp62 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp62 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp103 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp103 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * 2 tmp12 = np . copy ( tmp4 ) * - 1 tmp12 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) * 2 tmp2 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) * 2 tmp5 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp54 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp54 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) tmp16 = einsum ( l1 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp26 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp21 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) del tmp20 tmp25 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 4 , 5 , 2 ), ( 4 , 5 , 0 , 3 )) tmp0 = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 0 ), ( 1 , 2 )) tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp31 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) del tmp1 tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 3 , 2 , 4 , 5 ), ( 5 , 4 , 0 , 1 )) tmp113 = einsum ( l2 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) tmp107 = np . copy ( tmp91 ) tmp107 += np . transpose ( tmp79 , ( 1 , 0 , 3 , 2 )) tmp107 += np . transpose ( tmp80 , ( 1 , 0 , 3 , 2 )) * - 1 tmp67 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 5 , 1 ), ( 5 , 0 , 4 , 3 )) tmp52 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp45 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) tmp83 = einsum ( l1 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp84 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp62 , ( 0 , 1 , 3 , 4 ), ( 4 , 2 )) tmp104 = einsum ( tmp103 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) del tmp103 tmp96 = np . copy ( np . transpose ( tmp80 , ( 1 , 0 , 3 , 2 ))) tmp96 += np . transpose ( tmp79 , ( 1 , 0 , 3 , 2 )) * - 1 tmp13 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) * 0.5 tmp14 = einsum ( tmp2 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * 0.5 tmp63 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp62 , ( 0 , 1 , 3 , 4 ), ( 4 , 2 )) * 0.5 del tmp62 tmp17 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) tmp55 = einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp74 = np . copy ( tmp16 ) tmp74 += tmp26 * - 1 tmp36 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp36 += t2 * 2 tmp71 = np . copy ( tmp25 ) tmp71 += tmp21 * - 1 tmp46 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp45 , ( 1 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) del tmp45 tmp59 = np . copy ( t2 ) tmp59 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp10 = einsum ( l1 , ( 0 , 1 ), tmp9 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 )) del tmp9 tmp8 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp48 = np . copy ( tmp16 ) tmp48 += tmp19 tmp48 += tmp21 * - 1 tmp32 = np . copy ( tmp0 ) * 0.5 tmp32 += tmp31 del tmp31 tmp6 = np . copy ( np . transpose ( tmp3 , ( 1 , 0 , 3 , 2 ))) tmp6 += tmp5 tmp29 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp29 += t2 * - 1 tmp115 = einsum ( t1 , ( 0 , 1 ), tmp113 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) tmp114 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 5 , 1 , 0 ), ( 4 , 5 , 3 , 2 )) tmp95 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l1 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp108 = einsum ( tmp107 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp107 tmp69 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 1 , 5 ), ( 5 , 0 , 4 , 3 )) tmp111 = np . copy ( tmp67 ) tmp111 += tmp91 tmp111 += tmp52 * - 1 tmp99 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) tmp85 = np . copy ( tmp83 ) tmp85 += tmp84 del tmp84 tmp105 = np . copy ( tmp67 ) tmp105 += tmp91 tmp105 += tmp104 * - 1 del tmp104 tmp97 = einsum ( tmp96 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp96 tmp87 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) * 2 tmp87 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp81 = np . copy ( tmp4 ) tmp81 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) * - 1 tmp89 = np . copy ( np . transpose ( l2 , ( 3 , 2 , 0 , 1 ))) tmp89 += np . transpose ( l2 , ( 2 , 3 , 0 , 1 )) * - 1 tmp15 = np . copy ( tmp13 ) tmp15 += tmp14 del tmp14 tmp64 = einsum ( tmp63 , ( 0 , 1 ), t2 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 tmp65 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 1 , 4 ), ( 0 , 4 , 3 , 2 )) tmp51 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) tmp53 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp52 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp52 tmp56 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp55 , ( 1 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) del tmp55 tmp44 = einsum ( tmp0 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp75 = einsum ( t1 , ( 0 , 1 ), tmp74 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp74 tmp37 = einsum ( l1 , ( 0 , 1 ), tmp36 , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) del tmp36 tmp72 = einsum ( t1 , ( 0 , 1 ), tmp71 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp71 tmp47 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp46 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp46 tmp60 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp59 , ( 0 , 1 , 4 , 5 ), ( 2 , 3 , 4 , 5 )) del tmp59 tmp58 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 5 ), ( 3 , 2 , 5 , 4 )) tmp11 = np . copy ( tmp8 ) tmp11 += tmp10 * - 1 del tmp10 tmp49 = einsum ( t1 , ( 0 , 1 ), tmp48 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp48 tmp33 = einsum ( tmp32 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * 2 tmp28 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 4 , 3 ), ( 2 , 4 )) del tmp12 tmp27 = einsum ( t1 , ( 0 , 1 ), tmp6 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp42 = einsum ( tmp32 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) del tmp32 tmp41 = einsum ( l1 , ( 0 , 1 ), tmp29 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 )) * 0.5 tmp30 = einsum ( l1 , ( 0 , 1 ), tmp29 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 )) del tmp29 tmp23 = einsum ( t1 , ( 0 , 1 ), tmp3 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp116 = np . copy ( np . transpose ( tmp114 , ( 1 , 0 , 3 , 2 ))) tmp116 += np . transpose ( tmp115 , ( 1 , 0 , 3 , 2 )) tmp94 = np . copy ( tmp83 ) * 0.5 tmp94 += tmp63 tmp109 = np . copy ( tmp95 ) tmp109 += np . transpose ( tmp108 , ( 0 , 1 , 3 , 2 )) del tmp108 tmp102 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) tmp112 = einsum ( tmp111 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp111 tmp110 = np . copy ( tmp99 ) tmp110 += einsum ( t1 , ( 0 , 1 ), tmp85 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp106 = einsum ( tmp105 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp105 tmp98 = np . copy ( tmp95 ) tmp98 += einsum ( tmp83 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp83 tmp98 += np . transpose ( tmp97 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp97 tmp101 = einsum ( tmp91 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) tmp100 = np . copy ( tmp99 ) tmp100 += einsum ( tmp63 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 del tmp63 tmp86 = einsum ( t1 , ( 0 , 1 ), tmp4 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp88 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp87 , ( 1 , 4 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp87 tmp93 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp54 , ( 1 , 4 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) del tmp54 tmp92 = einsum ( t1 , ( 0 , 1 ), tmp18 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp18 tmp82 = einsum ( t1 , ( 0 , 1 ), tmp81 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp81 tmp90 = einsum ( tmp89 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 1 , 4 , 2 , 5 )) del tmp89 tmp77 = np . copy ( t1 ) tmp77 += tmp8 * - 1 tmp66 = np . copy ( np . transpose ( tmp64 , ( 1 , 0 , 3 , 2 ))) del tmp64 tmp66 += np . transpose ( tmp65 , ( 0 , 1 , 3 , 2 )) del tmp65 tmp66 += einsum ( t1 , ( 0 , 1 ), tmp15 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 tmp57 = np . copy ( tmp51 ) tmp57 += np . transpose ( tmp53 , ( 1 , 0 , 3 , 2 )) * 2 tmp57 += tmp56 del tmp56 tmp76 = np . copy ( tmp44 ) tmp76 += np . transpose ( tmp75 , ( 0 , 1 , 3 , 2 )) del tmp75 tmp70 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) tmp73 = np . copy ( np . transpose ( tmp47 , ( 1 , 0 , 3 , 2 ))) * - 1 tmp73 += np . transpose ( tmp72 , ( 0 , 1 , 3 , 2 )) del tmp72 tmp73 += einsum ( t1 , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp61 = np . copy ( tmp58 ) tmp61 += np . transpose ( tmp60 , ( 1 , 0 , 3 , 2 )) tmp50 = np . copy ( tmp44 ) del tmp44 tmp50 += np . transpose ( tmp47 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp47 tmp50 += np . transpose ( tmp49 , ( 0 , 1 , 3 , 2 )) del tmp49 tmp50 += einsum ( t1 , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 tmp68 = einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) tmp39 = einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp39 += tmp19 tmp39 += tmp21 * - 1 tmp38 = np . copy ( tmp28 ) tmp38 += tmp33 tmp40 = np . copy ( tmp16 ) tmp40 += np . transpose ( tmp27 , ( 0 , 2 , 1 , 3 )) tmp40 += einsum ( t1 , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp35 = np . copy ( tmp0 ) tmp35 += tmp2 tmp43 = np . copy ( t1 ) * - 0.5 tmp43 += tmp13 del tmp13 tmp43 += tmp41 * - 1 del tmp41 tmp43 += tmp42 del tmp42 tmp34 = np . copy ( t1 ) * - 1 tmp34 += tmp28 del tmp28 tmp34 += tmp30 * - 1 del tmp30 tmp34 += tmp33 del tmp33 tmp22 = np . copy ( tmp16 ) tmp22 += tmp17 del tmp17 tmp22 += tmp19 del tmp19 tmp22 += tmp21 * - 1 tmp24 = np . copy ( tmp23 ) del tmp23 tmp24 += einsum ( t1 , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp7 = np . copy ( delta . oo ) tmp7 += tmp0 * - 1 rdm2 . vvvv = np . copy ( np . transpose ( tmp116 , ( 0 , 1 , 3 , 2 ))) * - 2 rdm2 . vvvv += tmp116 * 2 del tmp116 rdm2 . vvvv += np . transpose ( tmp114 , ( 1 , 0 , 3 , 2 )) * 2 del tmp114 rdm2 . vvvv += np . transpose ( tmp115 , ( 1 , 0 , 3 , 2 )) * 2 del tmp115 rdm2 . vvvo = np . copy ( np . transpose ( tmp113 , ( 1 , 2 , 3 , 0 ))) * - 2 rdm2 . vvvo += np . transpose ( tmp113 , ( 2 , 1 , 3 , 0 )) * 4 rdm2 . vvov = np . copy ( np . transpose ( tmp113 , ( 1 , 2 , 0 , 3 ))) * 4 rdm2 . vvov += np . transpose ( tmp113 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp113 rdm2 . vovv = np . copy ( np . transpose ( tmp109 , ( 1 , 0 , 2 , 3 ))) * - 2 rdm2 . vovv += np . transpose ( tmp109 , ( 1 , 0 , 3 , 2 )) * 2 del tmp109 rdm2 . vovv += np . transpose ( tmp110 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . vovv += np . transpose ( tmp110 , ( 1 , 0 , 3 , 2 )) * 2 del tmp110 rdm2 . vovv += np . transpose ( tmp95 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . vovv += np . transpose ( tmp102 , ( 1 , 0 , 3 , 2 )) * - 2 rdm2 . vovv += np . transpose ( tmp99 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . vovv += np . transpose ( tmp112 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp112 rdm2 . vovv += einsum ( t1 , ( 0 , 1 ), tmp94 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 4 rdm2 . ovvv = np . copy ( tmp98 ) * 2 rdm2 . ovvv += np . transpose ( tmp98 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp98 rdm2 . ovvv += tmp100 * 2 rdm2 . ovvv += np . transpose ( tmp100 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp100 rdm2 . ovvv += tmp101 * 2 rdm2 . ovvv += np . transpose ( tmp101 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp101 rdm2 . ovvv += tmp95 * 2 del tmp95 rdm2 . ovvv += np . transpose ( tmp99 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp99 rdm2 . ovvv += tmp102 * - 2 del tmp102 rdm2 . ovvv += tmp106 * - 2 del tmp106 rdm2 . ovvv += einsum ( t1 , ( 0 , 1 ), tmp85 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . vvoo = np . copy ( np . transpose ( l2 , ( 0 , 1 , 3 , 2 ))) * - 2 rdm2 . vvoo += l2 * 4 rdm2 . vovo = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . vovo += np . transpose ( tmp88 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . vovo += np . transpose ( tmp93 , ( 2 , 1 , 3 , 0 )) * - 2 del tmp93 rdm2 . vovo += np . transpose ( tmp92 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . vovo += einsum ( delta . oo , ( 0 , 1 ), tmp94 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 8 del tmp94 rdm2 . vovo += np . transpose ( tmp69 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . vovo += np . transpose ( tmp86 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . voov = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 4 rdm2 . voov += np . transpose ( tmp80 , ( 3 , 0 , 1 , 2 )) * 2 rdm2 . voov += np . transpose ( tmp79 , ( 3 , 0 , 1 , 2 )) * - 2 rdm2 . voov += np . transpose ( tmp92 , ( 2 , 1 , 0 , 3 )) * 2 del tmp92 rdm2 . voov += einsum ( delta . oo , ( 0 , 1 ), tmp85 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . voov += np . transpose ( tmp67 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . voov += np . transpose ( tmp91 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . voov += np . transpose ( tmp88 , ( 2 , 1 , 0 , 3 )) * 2 rdm2 . ovvo = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 4 rdm2 . ovvo += np . transpose ( tmp88 , ( 1 , 2 , 3 , 0 )) * 4 del tmp88 rdm2 . ovvo += np . transpose ( tmp90 , ( 1 , 2 , 3 , 0 )) * - 2 del tmp90 rdm2 . ovvo += np . transpose ( tmp82 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . ovvo += einsum ( delta . oo , ( 0 , 1 ), tmp85 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . ovvo += np . transpose ( tmp67 , ( 1 , 2 , 3 , 0 )) * - 2 del tmp67 rdm2 . ovvo += np . transpose ( tmp91 , ( 1 , 2 , 3 , 0 )) * - 2 del tmp91 rdm2 . ovov = einsum ( l1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . ovov += np . transpose ( tmp79 , ( 0 , 3 , 1 , 2 )) * 2 del tmp79 rdm2 . ovov += np . transpose ( tmp80 , ( 0 , 3 , 1 , 2 )) * - 2 del tmp80 rdm2 . ovov += np . transpose ( tmp82 , ( 1 , 2 , 0 , 3 )) * 2 del tmp82 rdm2 . ovov += einsum ( delta . oo , ( 0 , 1 ), tmp85 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 4 del tmp85 rdm2 . ovov += np . transpose ( tmp69 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp69 rdm2 . ovov += np . transpose ( tmp86 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp86 rdm2 . oovv = np . copy ( tmp50 ) * 2 rdm2 . oovv += np . transpose ( tmp50 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . oovv += np . transpose ( tmp50 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . oovv += np . transpose ( tmp50 , ( 1 , 0 , 3 , 2 )) * 2 del tmp50 rdm2 . oovv += tmp57 * 2 rdm2 . oovv += np . transpose ( tmp57 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp57 rdm2 . oovv += tmp61 * 2 rdm2 . oovv += np . transpose ( tmp61 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp61 rdm2 . oovv += tmp66 * - 4 rdm2 . oovv += np . transpose ( tmp66 , ( 0 , 1 , 3 , 2 )) * 2 rdm2 . oovv += np . transpose ( tmp66 , ( 1 , 0 , 2 , 3 )) * 2 rdm2 . oovv += np . transpose ( tmp66 , ( 1 , 0 , 3 , 2 )) * - 4 del tmp66 rdm2 . oovv += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . oovv += t2 * 4 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . oovv += einsum ( t1 , ( 0 , 1 ), tmp8 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 del tmp8 rdm2 . oovv += tmp68 * 2 del tmp68 rdm2 . oovv += np . transpose ( tmp70 , ( 0 , 1 , 3 , 2 )) * 2 del tmp70 rdm2 . oovv += tmp58 * 2 del tmp58 rdm2 . oovv += tmp51 * 2 del tmp51 rdm2 . oovv += tmp73 * 2 rdm2 . oovv += np . transpose ( tmp73 , ( 1 , 0 , 3 , 2 )) * 2 del tmp73 rdm2 . oovv += np . transpose ( tmp76 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . oovv += np . transpose ( tmp76 , ( 1 , 0 , 2 , 3 )) * - 2 del tmp76 rdm2 . oovv += tmp53 * 4 del tmp53 rdm2 . oovv += np . transpose ( tmp60 , ( 1 , 0 , 3 , 2 )) * 2 del tmp60 rdm2 . oovv += einsum ( tmp77 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 del tmp77 rdm2 . vooo = np . copy ( np . transpose ( tmp4 , ( 3 , 2 , 0 , 1 ))) * - 4 rdm2 . vooo += np . transpose ( tmp4 , ( 3 , 2 , 1 , 0 )) * 2 rdm2 . vooo += einsum ( l1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 4 rdm2 . vooo += einsum ( l1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . ovoo = np . copy ( np . transpose ( tmp4 , ( 2 , 3 , 0 , 1 ))) * 2 rdm2 . ovoo += np . transpose ( tmp4 , ( 2 , 3 , 1 , 0 )) * - 4 del tmp4 rdm2 . ovoo += einsum ( l1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . ovoo += einsum ( l1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 4 rdm2 . oovo = einsum ( delta . oo , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . oovo += einsum ( tmp37 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 del tmp37 rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), tmp38 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 rdm2 . oovo += einsum ( tmp38 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 del tmp38 rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . oovo += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . oovo += np . transpose ( tmp39 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . oovo += np . transpose ( tmp39 , ( 2 , 1 , 3 , 0 )) * 2 del tmp39 rdm2 . oovo += np . transpose ( tmp40 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . oovo += np . transpose ( tmp40 , ( 2 , 1 , 3 , 0 )) * 2 del tmp40 rdm2 . oovo += np . transpose ( tmp26 , ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oovo += np . transpose ( tmp25 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . oovo += np . transpose ( tmp16 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . oovo += np . transpose ( tmp21 , ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . oovo += np . transpose ( tmp27 , ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oovo += einsum ( tmp43 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 4 del tmp43 rdm2 . oovo += einsum ( t1 , ( 0 , 1 ), tmp35 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 2 rdm2 . ooov = einsum ( tmp11 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 2 rdm2 . ooov += einsum ( tmp11 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 del tmp11 rdm2 . ooov += einsum ( tmp15 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 4 rdm2 . ooov += einsum ( tmp15 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 4 del tmp15 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . ooov += np . transpose ( tmp22 , ( 1 , 2 , 0 , 3 )) * 2 rdm2 . ooov += np . transpose ( tmp22 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp22 rdm2 . ooov += np . transpose ( tmp24 , ( 1 , 2 , 0 , 3 )) * 2 rdm2 . ooov += np . transpose ( tmp24 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp24 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * 2 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 2 rdm2 . ooov += np . transpose ( tmp25 , ( 1 , 2 , 0 , 3 )) * 2 del tmp25 rdm2 . ooov += np . transpose ( tmp26 , ( 2 , 1 , 0 , 3 )) * 2 del tmp26 rdm2 . ooov += np . transpose ( tmp16 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp16 rdm2 . ooov += np . transpose ( tmp21 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp21 rdm2 . ooov += np . transpose ( tmp27 , ( 2 , 1 , 0 , 3 )) * 2 del tmp27 rdm2 . ooov += einsum ( delta . oo , ( 0 , 1 ), tmp34 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 del tmp34 rdm2 . ooov += einsum ( t1 , ( 0 , 1 ), tmp35 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 2 del tmp35 rdm2 . oooo = einsum ( delta . oo , ( 0 , 1 ), tmp0 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp0 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * 2 rdm2 . oooo += einsum ( tmp0 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oooo += einsum ( tmp0 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 4 del tmp0 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 4 rdm2 . oooo += einsum ( tmp2 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * 2 rdm2 . oooo += einsum ( tmp2 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * 2 rdm2 . oooo += einsum ( tmp2 , ( 0 , 1 ), delta . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 4 del tmp2 rdm2 . oooo += np . transpose ( tmp6 , ( 3 , 2 , 0 , 1 )) * - 2 rdm2 . oooo += np . transpose ( tmp6 , ( 2 , 3 , 0 , 1 )) * 2 del tmp6 rdm2 . oooo += np . transpose ( tmp3 , ( 3 , 2 , 1 , 0 )) * 2 del tmp3 rdm2 . oooo += np . transpose ( tmp5 , ( 3 , 2 , 1 , 0 )) * 2 del tmp5 rdm2 . oooo += einsum ( delta . oo , ( 0 , 1 ), tmp7 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * 2 del delta , tmp7 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","title":"Returns"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.hbar_matvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T20:41:23.218309.","title":"hbar_matvec_ip_intermediates"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.hbar_matvec_ip_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.hbar_matvec_ip_intermediates--returns","text":"tmp0 : array tmp1 : array tmp103 : array tmp105 : array tmp106 : array tmp107 : array tmp108 : array tmp109 : array tmp11 : array tmp110 : array tmp112 : array tmp113 : array tmp114 : array tmp118 : array tmp119 : array tmp120 : array tmp121 : array tmp122 : array tmp123 : array tmp129 : array tmp130 : array tmp14 : array tmp17 : array tmp18 : array tmp20 : array tmp21 : array tmp23 : array tmp24 : array tmp29 : array tmp31 : array tmp32 : array tmp33 : array tmp35 : array tmp37 : array tmp38 : array tmp4 : array tmp40 : array tmp42 : array tmp43 : array tmp44 : array tmp48 : array tmp5 : array tmp50 : array tmp51 : array tmp52 : array tmp55 : array tmp56 : array tmp57 : array tmp59 : array tmp62 : array tmp63 : array tmp65 : array tmp66 : array tmp67 : array tmp7 : array tmp72 : array tmp73 : array tmp74 : array tmp75 : array tmp76 : array tmp78 : array tmp84 : array tmp85 : array tmp86 : array tmp87 : array tmp89 : array tmp9 : array tmp95 : array tmp96 : array tmp98 : array tmp99 : array Source code in ebcc/codegen/RDFCCSD.py 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 def hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:41:23.218309. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp103 : array tmp105 : array tmp106 : array tmp107 : array tmp108 : array tmp109 : array tmp11 : array tmp110 : array tmp112 : array tmp113 : array tmp114 : array tmp118 : array tmp119 : array tmp120 : array tmp121 : array tmp122 : array tmp123 : array tmp129 : array tmp130 : array tmp14 : array tmp17 : array tmp18 : array tmp20 : array tmp21 : array tmp23 : array tmp24 : array tmp29 : array tmp31 : array tmp32 : array tmp33 : array tmp35 : array tmp37 : array tmp38 : array tmp4 : array tmp40 : array tmp42 : array tmp43 : array tmp44 : array tmp48 : array tmp5 : array tmp50 : array tmp51 : array tmp52 : array tmp55 : array tmp56 : array tmp57 : array tmp59 : array tmp62 : array tmp63 : array tmp65 : array tmp66 : array tmp67 : array tmp7 : array tmp72 : array tmp73 : array tmp74 : array tmp75 : array tmp76 : array tmp78 : array tmp84 : array tmp85 : array tmp86 : array tmp87 : array tmp89 : array tmp9 : array tmp95 : array tmp96 : array tmp98 : array tmp99 : array \"\"\" tmp6 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp4 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp11 = einsum ( tmp6 , ( 0 ,), v . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp9 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 2 ), ( 0 , 3 , 4 )) tmp20 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp37 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp24 = einsum ( tmp11 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp23 = einsum ( tmp9 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp44 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp18 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp17 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp21 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp20 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp14 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp4 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) tmp31 = einsum ( t1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp0 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp110 = einsum ( tmp4 , ( 0 , 1 , 2 ), tmp4 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) tmp29 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp6 , ( 0 ,), ( 1 , 2 )) tmp7 = einsum ( tmp6 , ( 0 ,), v . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp6 tmp5 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) tmp1 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp57 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp38 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 1 , 0 )) tmp34 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp130 = einsum ( tmp24 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp129 = einsum ( tmp23 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp123 = einsum ( t1 , ( 0 , 1 ), tmp44 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp122 = einsum ( t1 , ( 0 , 1 ), tmp18 , ( 2 , 0 ), ( 2 , 1 )) tmp121 = einsum ( t1 , ( 0 , 1 ), tmp21 , ( 2 , 0 ), ( 2 , 1 )) tmp120 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) tmp119 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp118 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp114 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp31 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp113 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp112 = einsum ( t1 , ( 0 , 1 ), tmp110 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) tmp109 = einsum ( tmp31 , ( 0 , 1 , 2 ), tmp4 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) tmp108 = einsum ( tmp31 , ( 0 , 1 , 2 ), tmp4 , ( 3 , 0 , 2 ), ( 3 , 1 )) tmp107 = einsum ( t1 , ( 0 , 1 ), tmp29 , ( 2 , 1 ), ( 0 , 2 )) tmp106 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp105 = einsum ( tmp20 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp103 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp99 = einsum ( tmp7 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp98 = einsum ( tmp5 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp96 = einsum ( tmp11 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp95 = einsum ( tmp9 , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp89 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp20 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp87 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp17 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp86 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) tmp85 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp84 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) tmp78 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp76 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp75 = einsum ( tmp11 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp74 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp11 , ( 1 , 2 ), ( 0 , 3 )) tmp73 = einsum ( tmp9 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp72 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 1 , 2 ), ( 0 , 3 )) tmp67 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp66 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) tmp65 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp17 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp63 = einsum ( tmp20 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp62 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp59 = einsum ( t1 , ( 0 , 1 ), tmp57 , ( 2 , 3 , 4 , 0 ), ( 3 , 4 , 2 , 1 )) tmp56 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp55 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp52 = einsum ( t1 , ( 0 , 1 ), tmp44 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp51 = einsum ( tmp17 , ( 0 , 1 , 2 ), tmp4 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) tmp50 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp48 = einsum ( tmp20 , ( 0 , 1 , 2 ), tmp4 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) tmp43 = einsum ( tmp31 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) tmp42 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp40 = einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp35 = einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 0 , 1 )) del tmp34 tmp33 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) tmp32 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp31 , ( 1 , 3 , 0 ), ( 2 , 3 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp103\" : tmp103 , f \"tmp105\" : tmp105 , f \"tmp106\" : tmp106 , f \"tmp107\" : tmp107 , f \"tmp108\" : tmp108 , f \"tmp109\" : tmp109 , f \"tmp11\" : tmp11 , f \"tmp110\" : tmp110 , f \"tmp112\" : tmp112 , f \"tmp113\" : tmp113 , f \"tmp114\" : tmp114 , f \"tmp118\" : tmp118 , f \"tmp119\" : tmp119 , f \"tmp120\" : tmp120 , f \"tmp121\" : tmp121 , f \"tmp122\" : tmp122 , f \"tmp123\" : tmp123 , f \"tmp129\" : tmp129 , f \"tmp130\" : tmp130 , f \"tmp14\" : tmp14 , f \"tmp17\" : tmp17 , f \"tmp18\" : tmp18 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp23\" : tmp23 , f \"tmp24\" : tmp24 , f \"tmp29\" : tmp29 , f \"tmp31\" : tmp31 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp35\" : tmp35 , f \"tmp37\" : tmp37 , f \"tmp38\" : tmp38 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp42\" : tmp42 , f \"tmp43\" : tmp43 , f \"tmp44\" : tmp44 , f \"tmp48\" : tmp48 , f \"tmp5\" : tmp5 , f \"tmp50\" : tmp50 , f \"tmp51\" : tmp51 , f \"tmp52\" : tmp52 , f \"tmp55\" : tmp55 , f \"tmp56\" : tmp56 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp62\" : tmp62 , f \"tmp63\" : tmp63 , f \"tmp65\" : tmp65 , f \"tmp66\" : tmp66 , f \"tmp67\" : tmp67 , f \"tmp7\" : tmp7 , f \"tmp72\" : tmp72 , f \"tmp73\" : tmp73 , f \"tmp74\" : tmp74 , f \"tmp75\" : tmp75 , f \"tmp76\" : tmp76 , f \"tmp78\" : tmp78 , f \"tmp84\" : tmp84 , f \"tmp85\" : tmp85 , f \"tmp86\" : tmp86 , f \"tmp87\" : tmp87 , f \"tmp89\" : tmp89 , f \"tmp9\" : tmp9 , f \"tmp95\" : tmp95 , f \"tmp96\" : tmp96 , f \"tmp98\" : tmp98 , f \"tmp99\" : tmp99 }","title":"Returns"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.hbar_matvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T20:41:23.251729.","title":"hbar_matvec_ip"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.hbar_matvec_ip--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.hbar_matvec_ip--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RDFCCSD.py 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 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-17T20:41:23.251729. 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\" ] tmp3 = np . copy ( r2 ) * - 1 tmp3 += np . transpose ( r2 , ( 1 , 0 , 2 )) * 2 tmp2 = np . copy ( f . ov ) * 0.5 tmp2 += ints . tmp11 tmp2 += ints . tmp9 * - 0.5 del ints . tmp9 tmp15 = np . copy ( ints . tmp4 ) del ints . tmp4 tmp15 += np . transpose ( v . xoo , ( 1 , 2 , 0 )) tmp9 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp3 , ( 3 , 1 , 2 ), ( 3 , 0 )) * 0.5 tmp14 = np . copy ( ints . tmp14 ) tmp14 += np . transpose ( ints . tmp1 , ( 0 , 2 , 1 , 3 )) tmp17 = einsum ( tmp3 , ( 0 , 1 , 2 ), ints . tmp37 , ( 1 , 0 , 2 , 3 ), ( 3 ,)) * 0.5 del ints . tmp37 tmp7 = np . copy ( ints . tmp38 ) del ints . tmp38 tmp7 += np . transpose ( ints . tmp44 , ( 2 , 0 , 1 , 3 )) tmp7 += np . transpose ( ints . tmp57 , ( 2 , 0 , 1 , 3 )) del ints . tmp57 tmp10 = np . copy ( ints . tmp20 ) * 2 del ints . tmp20 tmp10 += ints . tmp31 del ints . tmp31 tmp10 += np . transpose ( v . xov , ( 1 , 2 , 0 )) tmp10 += ints . tmp17 * - 1 del ints . tmp17 tmp13 = np . copy ( f . oo ) * 0.5 tmp13 += ints . tmp0 * 0.5 tmp13 += np . transpose ( ints . tmp21 , ( 1 , 0 )) tmp13 += np . transpose ( ints . tmp24 , ( 1 , 0 )) tmp13 += np . transpose ( ints . tmp7 , ( 1 , 0 )) tmp13 += np . transpose ( ints . tmp18 , ( 1 , 0 )) * - 0.5 tmp13 += np . transpose ( ints . tmp23 , ( 1 , 0 )) * - 0.5 tmp13 += np . transpose ( ints . tmp5 , ( 1 , 0 )) * - 0.5 tmp5 = np . copy ( ints . tmp33 ) * 0.5 tmp5 += ints . tmp42 * 0.5 tmp5 += ints . tmp67 tmp5 += ints . tmp66 * - 0.5 tmp8 = np . copy ( ints . tmp110 ) del ints . tmp110 tmp8 += np . transpose ( ints . tmp44 , ( 2 , 0 , 1 , 3 )) del ints . tmp44 tmp11 = np . copy ( ints . tmp32 ) del ints . tmp32 tmp11 += np . transpose ( ints . tmp89 , ( 1 , 0 )) * 2 del ints . tmp89 tmp11 += f . vv * - 1 tmp11 += np . transpose ( ints . tmp29 , ( 1 , 0 )) * - 2 del ints . tmp29 tmp11 += np . transpose ( ints . tmp87 , ( 1 , 0 )) * - 1 del ints . tmp87 tmp11 += einsum ( t1 , ( 0 , 1 ), tmp2 , ( 0 , 2 ), ( 2 , 1 )) * 2 tmp18 = np . copy ( ints . tmp106 ) del ints . tmp106 tmp18 += ints . tmp108 del ints . tmp108 tmp18 += ints . tmp113 del ints . tmp113 tmp18 += ints . tmp118 * 2 del ints . tmp118 tmp18 += ints . tmp121 * 2 del ints . tmp121 tmp18 += ints . tmp130 * 2 del ints . tmp130 tmp18 += ints . tmp43 del ints . tmp43 tmp18 += ints . tmp55 del ints . tmp55 tmp18 += ints . tmp73 * 2 del ints . tmp73 tmp18 += ints . tmp74 * 2 del ints . tmp74 tmp18 += ints . tmp76 del ints . tmp76 tmp18 += ints . tmp85 * 2 del ints . tmp85 tmp18 += ints . tmp99 * 2 del ints . tmp99 tmp18 += f . ov * - 1 tmp18 += ints . tmp103 * - 1 del ints . tmp103 tmp18 += ints . tmp105 * - 2 del ints . tmp105 tmp18 += ints . tmp107 * - 2 del ints . tmp107 tmp18 += ints . tmp119 * - 1 del ints . tmp119 tmp18 += ints . tmp11 * - 2 del ints . tmp11 tmp18 += ints . tmp122 * - 1 del ints . tmp122 tmp18 += ints . tmp129 * - 1 del ints . tmp129 tmp18 += ints . tmp56 * - 2 del ints . tmp56 tmp18 += ints . tmp72 * - 1 del ints . tmp72 tmp18 += ints . tmp75 * - 4 del ints . tmp75 tmp18 += ints . tmp84 * - 1 del ints . tmp84 tmp18 += ints . tmp98 * - 1 del ints . tmp98 tmp16 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 3 ), ( 0 , 1 , 4 )) * 0.5 tmp16 += einsum ( r2 , ( 0 , 1 , 2 ), tmp14 , ( 3 , 4 , 0 , 2 ), ( 1 , 4 , 3 )) * 0.5 del tmp14 tmp16 += einsum ( tmp9 , ( 0 , 1 ), tmp15 , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) * - 1 del tmp15 tmp6 = np . copy ( ints . tmp33 ) del ints . tmp33 tmp6 += ints . tmp42 del ints . tmp42 tmp6 += ints . tmp66 * - 1 del ints . tmp66 tmp12 = np . copy ( ints . tmp112 ) del ints . tmp112 tmp12 += np . transpose ( ints . tmp120 , ( 1 , 0 , 2 , 3 )) del ints . tmp120 tmp12 += np . transpose ( ints . tmp123 , ( 2 , 0 , 1 , 3 )) del ints . tmp123 tmp12 += ints . tmp40 del ints . tmp40 tmp12 += ints . tmp50 del ints . tmp50 tmp12 += ints . tmp51 del ints . tmp51 tmp12 += ints . tmp52 del ints . tmp52 tmp12 += np . transpose ( ints . tmp59 , ( 1 , 2 , 0 , 3 )) del ints . tmp59 tmp12 += np . transpose ( ints . tmp62 , ( 1 , 0 , 2 , 3 )) del ints . tmp62 tmp12 += np . transpose ( ints . tmp65 , ( 2 , 0 , 1 , 3 )) del ints . tmp65 tmp12 += ints . tmp86 del ints . tmp86 tmp12 += np . transpose ( ints . tmp95 , ( 1 , 0 , 2 , 3 )) del ints . tmp95 tmp12 += ints . tmp109 * - 1 del ints . tmp109 tmp12 += np . transpose ( ints . tmp114 , ( 2 , 0 , 1 , 3 )) * - 1 del ints . tmp114 tmp12 += ints . tmp14 * - 1 tmp12 += np . transpose ( ints . tmp1 , ( 0 , 2 , 1 , 3 )) * - 1 tmp12 += ints . tmp35 * - 1 del ints . tmp35 tmp12 += ints . tmp48 * - 2 del ints . tmp48 tmp12 += np . transpose ( ints . tmp63 , ( 2 , 0 , 1 , 3 )) * - 2 del ints . tmp63 tmp12 += np . transpose ( ints . tmp78 , ( 2 , 1 , 0 , 3 )) * - 1 del ints . tmp78 tmp12 += np . transpose ( ints . tmp96 , ( 1 , 0 , 2 , 3 )) * - 2 del ints . tmp96 tmp1 = np . copy ( r2 ) * - 0.5 tmp1 += np . transpose ( r2 , ( 1 , 0 , 2 )) tmp4 = np . copy ( f . oo ) tmp4 += ints . tmp0 del ints . tmp0 tmp4 += np . transpose ( ints . tmp21 , ( 1 , 0 )) * 2 del ints . tmp21 tmp4 += np . transpose ( ints . tmp24 , ( 1 , 0 )) * 2 del ints . tmp24 tmp4 += np . transpose ( ints . tmp7 , ( 1 , 0 )) * 2 del ints . tmp7 tmp4 += np . transpose ( ints . tmp18 , ( 1 , 0 )) * - 1 del ints . tmp18 tmp4 += np . transpose ( ints . tmp23 , ( 1 , 0 )) * - 1 del ints . tmp23 tmp4 += np . transpose ( ints . tmp5 , ( 1 , 0 )) * - 1 del ints . tmp5 tmp0 = np . copy ( r2 ) * 2 tmp0 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 1 r2new = einsum ( ints . tmp67 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 1 , 3 ), ( 0 , 4 , 2 )) del ints . tmp67 r2new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * - 2 del tmp5 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp6 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp6 r2new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), r2 , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) del tmp7 r2new += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 2 , 4 ), ( 1 , 0 , 4 )) del tmp8 r2new += einsum ( tmp9 , ( 0 , 1 ), tmp10 , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) * 2 del tmp9 , tmp10 r2new += einsum ( tmp11 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp11 r2new += einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), r1 , ( 2 ,), ( 1 , 0 , 3 )) * - 1 del tmp12 r2new += einsum ( tmp13 , ( 0 , 1 ), r2 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 2 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp13 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 2 del tmp13 r2new += einsum ( tmp16 , ( 0 , 1 , 2 ), t1 , ( 1 , 3 ), ( 2 , 0 , 3 )) * 2 del tmp16 r2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 3 ,), ( 0 , 1 , 2 )) * - 2 del tmp17 r2new += einsum ( r1 , ( 0 ,), tmp18 , ( 1 , 2 ), ( 1 , 0 , 2 )) del tmp18 r1new = einsum ( ints . tmp14 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 1 , 2 , 3 ), ( 0 ,)) del ints . tmp14 , tmp0 r1new += einsum ( tmp1 , ( 0 , 1 , 2 ), ints . tmp1 , ( 3 , 0 , 1 , 2 ), ( 3 ,)) * 2 del ints . tmp1 , tmp1 r1new += einsum ( tmp2 , ( 0 , 1 ), tmp3 , ( 2 , 0 , 1 ), ( 2 ,)) * - 2 del tmp3 , tmp2 r1new += einsum ( r1 , ( 0 ,), tmp4 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.hbar_matvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T20:41:51.041773.","title":"hbar_matvec_ea_intermediates"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.hbar_matvec_ea_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.hbar_matvec_ea_intermediates--returns","text":"tmp1 : array tmp10 : array tmp100 : array tmp101 : array tmp102 : array tmp108 : array tmp109 : array tmp110 : array tmp111 : array tmp113 : array tmp114 : array tmp117 : array tmp119 : array tmp12 : array tmp120 : array tmp123 : array tmp128 : array tmp129 : array tmp130 : array tmp131 : array tmp132 : array tmp136 : array tmp15 : array tmp20 : array tmp21 : array tmp23 : array tmp24 : array tmp36 : array tmp39 : array tmp44 : array tmp45 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp62 : array tmp63 : array tmp64 : array tmp66 : array tmp68 : array tmp7 : array tmp70 : array tmp71 : array tmp72 : array tmp74 : array tmp76 : array tmp77 : array tmp79 : array tmp8 : array tmp80 : array tmp81 : array tmp83 : array tmp84 : array tmp89 : array tmp9 : array tmp91 : array tmp92 : array tmp93 : array tmp94 : array Source code in ebcc/codegen/RDFCCSD.py 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 def hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:41:51.041773. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp1 : array tmp10 : array tmp100 : array tmp101 : array tmp102 : array tmp108 : array tmp109 : array tmp110 : array tmp111 : array tmp113 : array tmp114 : array tmp117 : array tmp119 : array tmp12 : array tmp120 : array tmp123 : array tmp128 : array tmp129 : array tmp130 : array tmp131 : array tmp132 : array tmp136 : array tmp15 : array tmp20 : array tmp21 : array tmp23 : array tmp24 : array tmp36 : array tmp39 : array tmp44 : array tmp45 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp62 : array tmp63 : array tmp64 : array tmp66 : array tmp68 : array tmp7 : array tmp70 : array tmp71 : array tmp72 : array tmp74 : array tmp76 : array tmp77 : array tmp79 : array tmp8 : array tmp80 : array tmp81 : array tmp83 : array tmp84 : array tmp89 : array tmp9 : array tmp91 : array tmp92 : array tmp93 : array tmp94 : array \"\"\" tmp4 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp9 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp12 = einsum ( tmp4 , ( 0 ,), v . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp10 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp9 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp20 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 2 ), ( 0 , 3 , 4 )) tmp23 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 3 ), ( 0 , 2 , 4 )) tmp15 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp1 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp47 = einsum ( tmp4 , ( 0 ,), v . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp46 = einsum ( tmp9 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) tmp49 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp84 = einsum ( t1 , ( 0 , 1 ), tmp12 , ( 2 , 1 ), ( 0 , 2 )) tmp83 = einsum ( t1 , ( 0 , 1 ), tmp10 , ( 2 , 1 ), ( 0 , 2 )) tmp72 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp20 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp74 = einsum ( tmp23 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp76 = einsum ( tmp9 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) tmp63 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp7 = einsum ( t1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp5 = einsum ( tmp4 , ( 0 ,), v . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp4 tmp136 = einsum ( tmp20 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) tmp132 = einsum ( tmp23 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) tmp131 = einsum ( tmp12 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp130 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp12 , ( 1 , 2 ), ( 0 , 3 )) tmp129 = einsum ( tmp10 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp128 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 1 , 2 ), ( 0 , 3 )) tmp123 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp120 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp20 , ( 3 , 4 , 0 ), ( 3 , 4 , 1 , 2 )) tmp119 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 3 , 1 )) tmp117 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp23 , ( 3 , 4 , 0 ), ( 3 , 4 , 1 , 2 )) tmp114 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp113 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp111 = einsum ( tmp47 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp110 = einsum ( t1 , ( 0 , 1 ), tmp46 , ( 2 , 0 ), ( 2 , 1 )) tmp109 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp49 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp108 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 )) tmp102 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp101 = einsum ( tmp84 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp100 = einsum ( tmp83 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp94 = einsum ( tmp72 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp93 = einsum ( t1 , ( 0 , 1 ), tmp74 , ( 2 , 0 ), ( 2 , 1 )) tmp92 = einsum ( tmp76 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp91 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp76 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp89 = einsum ( tmp63 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp81 = einsum ( tmp7 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp80 = einsum ( tmp7 , ( 0 , 1 , 2 ), tmp9 , ( 3 , 0 , 2 ), ( 3 , 1 )) tmp79 = einsum ( t1 , ( 0 , 1 ), tmp5 , ( 2 , 1 ), ( 0 , 2 )) tmp77 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp76 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp71 = einsum ( tmp20 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp70 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp23 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp68 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp9 , ( 3 , 4 , 0 ), ( 3 , 4 , 1 , 2 )) tmp66 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp7 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp64 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp62 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp51 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp49 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp45 = einsum ( tmp7 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) tmp44 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp39 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 1 , 4 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) tmp36 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 5 ), ( 4 , 5 , 3 , 1 )) tmp24 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp23 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp21 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp20 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp8 = einsum ( tmp7 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 3 , 1 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp101\" : tmp101 , f \"tmp102\" : tmp102 , f \"tmp108\" : tmp108 , f \"tmp109\" : tmp109 , f \"tmp110\" : tmp110 , f \"tmp111\" : tmp111 , f \"tmp113\" : tmp113 , f \"tmp114\" : tmp114 , f \"tmp117\" : tmp117 , f \"tmp119\" : tmp119 , f \"tmp12\" : tmp12 , f \"tmp120\" : tmp120 , f \"tmp123\" : tmp123 , f \"tmp128\" : tmp128 , f \"tmp129\" : tmp129 , f \"tmp130\" : tmp130 , f \"tmp131\" : tmp131 , f \"tmp132\" : tmp132 , f \"tmp136\" : tmp136 , f \"tmp15\" : tmp15 , f \"tmp20\" : tmp20 , f \"tmp21\" : tmp21 , f \"tmp23\" : tmp23 , f \"tmp24\" : tmp24 , f \"tmp36\" : tmp36 , f \"tmp39\" : tmp39 , f \"tmp44\" : tmp44 , f \"tmp45\" : tmp45 , f \"tmp46\" : tmp46 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp51\" : tmp51 , f \"tmp62\" : tmp62 , f \"tmp63\" : tmp63 , f \"tmp64\" : tmp64 , f \"tmp66\" : tmp66 , f \"tmp68\" : tmp68 , f \"tmp7\" : tmp7 , f \"tmp70\" : tmp70 , f \"tmp71\" : tmp71 , f \"tmp72\" : tmp72 , f \"tmp74\" : tmp74 , f \"tmp76\" : tmp76 , f \"tmp77\" : tmp77 , f \"tmp79\" : tmp79 , f \"tmp8\" : tmp8 , f \"tmp80\" : tmp80 , f \"tmp81\" : tmp81 , f \"tmp83\" : tmp83 , f \"tmp84\" : tmp84 , f \"tmp89\" : tmp89 , f \"tmp9\" : tmp9 , f \"tmp91\" : tmp91 , f \"tmp92\" : tmp92 , f \"tmp93\" : tmp93 , f \"tmp94\" : tmp94 }","title":"Returns"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.hbar_matvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T20:41:51.070740.","title":"hbar_matvec_ea"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.hbar_matvec_ea--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.hbar_matvec_ea--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RDFCCSD.py 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 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-17T20:41:51.070740. 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\" ] tmp15 = np . copy ( f . ov ) * 0.5 tmp15 += ints . tmp12 tmp15 += ints . tmp10 * - 0.5 tmp19 = np . copy ( ints . tmp132 ) del ints . tmp132 tmp19 += ints . tmp15 * 0.5 tmp19 += np . transpose ( ints . tmp81 , ( 0 , 1 , 3 , 2 )) * 0.5 del ints . tmp81 tmp19 += ints . tmp123 * - 0.5 tmp19 += ints . tmp136 * - 0.5 del ints . tmp136 tmp7 = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp15 , ( 3 , 4 , 1 , 0 ), ( 3 , 4 , 2 )) tmp10 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp10 += einsum ( t1 , ( 0 , 1 ), r1 , ( 2 ,), ( 0 , 1 , 2 )) * - 1 tmp8 = np . copy ( ints . tmp49 ) del ints . tmp49 tmp8 += np . transpose ( ints . tmp76 , ( 0 , 2 , 1 , 3 )) del ints . tmp76 tmp2 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 1 tmp2 += np . transpose ( r2 , ( 2 , 1 , 0 )) * 2 tmp13 = np . copy ( ints . tmp9 ) del ints . tmp9 tmp13 += np . transpose ( v . xoo , ( 1 , 2 , 0 )) tmp16 = einsum ( t1 , ( 0 , 1 ), tmp15 , ( 0 , 2 ), ( 1 , 2 )) * 2 del tmp15 tmp4 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp4 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 0.5 tmp1 = np . copy ( f . ov ) tmp1 += ints . tmp12 * 2 tmp1 += ints . tmp10 * - 1 del ints . tmp10 tmp23 = np . copy ( ints . tmp101 ) * 2 del ints . tmp101 tmp23 += ints . tmp102 del ints . tmp102 tmp23 += ints . tmp109 * 2 del ints . tmp109 tmp23 += ints . tmp111 * 2 del ints . tmp111 tmp23 += ints . tmp113 del ints . tmp113 tmp23 += ints . tmp129 * 2 del ints . tmp129 tmp23 += ints . tmp130 * 2 del ints . tmp130 tmp23 += ints . tmp45 del ints . tmp45 tmp23 += ints . tmp71 del ints . tmp71 tmp23 += ints . tmp80 del ints . tmp80 tmp23 += ints . tmp89 del ints . tmp89 tmp23 += ints . tmp91 * 2 del ints . tmp91 tmp23 += ints . tmp93 * 2 del ints . tmp93 tmp23 += f . ov * - 1 tmp23 += ints . tmp100 * - 1 del ints . tmp100 tmp23 += ints . tmp108 * - 1 del ints . tmp108 tmp23 += ints . tmp110 * - 1 del ints . tmp110 tmp23 += ints . tmp114 * - 2 del ints . tmp114 tmp23 += ints . tmp128 * - 1 del ints . tmp128 tmp23 += ints . tmp12 * - 2 del ints . tmp12 tmp23 += ints . tmp131 * - 4 del ints . tmp131 tmp23 += ints . tmp62 * - 1 del ints . tmp62 tmp23 += ints . tmp70 * - 2 del ints . tmp70 tmp23 += ints . tmp79 * - 2 del ints . tmp79 tmp23 += ints . tmp92 * - 1 del ints . tmp92 tmp23 += ints . tmp94 * - 1 del ints . tmp94 tmp21 = np . copy ( f . oo ) tmp21 += np . transpose ( ints . tmp47 , ( 1 , 0 )) * 2 del ints . tmp47 tmp21 += ints . tmp63 del ints . tmp63 tmp21 += np . transpose ( ints . tmp74 , ( 1 , 0 )) * 2 del ints . tmp74 tmp21 += np . transpose ( ints . tmp84 , ( 1 , 0 )) * 2 del ints . tmp84 tmp21 += np . transpose ( ints . tmp46 , ( 1 , 0 )) * - 1 del ints . tmp46 tmp21 += np . transpose ( ints . tmp72 , ( 1 , 0 )) * - 1 del ints . tmp72 tmp21 += np . transpose ( ints . tmp83 , ( 1 , 0 )) * - 1 del ints . tmp83 tmp20 = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp1 , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) * - 1 tmp20 += einsum ( tmp7 , ( 0 , 1 , 2 ), t1 , ( 1 , 3 ), ( 2 , 0 , 3 )) tmp20 += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 1 , 4 , 3 ), ( 0 , 2 , 4 )) tmp20 += einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), r1 , ( 3 ,), ( 0 , 1 , 2 )) * 2 del tmp19 tmp12 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp2 , ( 1 , 3 , 2 ), ( 3 , 0 )) * 0.5 tmp14 = np . copy ( ints . tmp23 ) * 2 del ints . tmp23 tmp14 += ints . tmp7 del ints . tmp7 tmp14 += np . transpose ( v . xov , ( 1 , 2 , 0 )) tmp14 += ints . tmp20 * - 1 del ints . tmp20 tmp14 += einsum ( t1 , ( 0 , 1 ), tmp13 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp13 tmp11 = np . copy ( ints . tmp44 ) tmp11 += ints . tmp68 tmp11 += ints . tmp39 * - 1 tmp9 = np . copy ( ints . tmp123 ) tmp9 += ints . tmp44 * 0.5 del ints . tmp44 tmp9 += ints . tmp68 * 0.5 del ints . tmp68 tmp9 += ints . tmp39 * - 0.5 del ints . tmp39 tmp9 += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 0.5 del tmp8 tmp6 = einsum ( ints . tmp1 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 2 , 4 ), ( 0 , 4 , 1 )) tmp18 = np . copy ( ints . tmp117 ) * 2 del ints . tmp117 tmp18 += np . transpose ( ints . tmp1 , ( 0 , 3 , 2 , 1 )) tmp18 += np . transpose ( ints . tmp51 , ( 0 , 1 , 3 , 2 )) del ints . tmp51 tmp18 += np . transpose ( ints . tmp66 , ( 0 , 3 , 1 , 2 )) del ints . tmp66 tmp18 += np . transpose ( ints . tmp77 , ( 0 , 2 , 3 , 1 )) del ints . tmp77 tmp18 += ints . tmp119 * - 1 del ints . tmp119 tmp18 += ints . tmp120 * - 1 del ints . tmp120 tmp18 += np . transpose ( ints . tmp36 , ( 0 , 3 , 2 , 1 )) * - 1 del ints . tmp36 tmp17 = np . copy ( np . transpose ( ints . tmp24 , ( 1 , 0 ))) * 2 tmp17 += ints . tmp8 tmp17 += f . vv * - 1 tmp17 += np . transpose ( ints . tmp21 , ( 1 , 0 )) * - 1 tmp17 += np . transpose ( ints . tmp5 , ( 1 , 0 )) * - 2 tmp17 += np . transpose ( tmp16 , ( 1 , 0 )) del tmp16 tmp22 = einsum ( ints . tmp15 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 2 , 3 ), ( 1 ,)) * - 2 tmp22 += einsum ( r1 , ( 0 ,), tmp1 , ( 1 , 0 ), ( 1 ,)) tmp5 = einsum ( ints . tmp15 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 2 , 3 ), ( 1 ,)) * - 1 del ints . tmp15 , tmp4 tmp5 += einsum ( r1 , ( 0 ,), tmp1 , ( 1 , 0 ), ( 1 ,)) * 0.5 tmp0 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 0.5 tmp0 += np . transpose ( r2 , ( 2 , 1 , 0 )) tmp3 = np . copy ( f . vv ) tmp3 += np . transpose ( ints . tmp21 , ( 1 , 0 )) del ints . tmp21 tmp3 += np . transpose ( ints . tmp5 , ( 1 , 0 )) * 2 del ints . tmp5 tmp3 += np . transpose ( ints . tmp24 , ( 1 , 0 )) * - 2 del ints . tmp24 tmp3 += ints . tmp8 * - 1 del ints . tmp8 r2new = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp64 , ( 3 , 0 , 4 , 1 ), ( 4 , 3 , 2 )) del ints . tmp64 r2new += einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp123 , ( 3 , 2 , 4 , 1 ), ( 4 , 0 , 3 )) del ints . tmp123 r2new += einsum ( tmp6 , ( 0 , 1 , 2 ), t1 , ( 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del tmp6 r2new += einsum ( tmp7 , ( 0 , 1 , 2 ), t2 , ( 0 , 1 , 3 , 4 ), ( 4 , 3 , 2 )) del tmp7 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp9 , ( 3 , 2 , 4 , 0 ), ( 4 , 1 , 3 )) * - 2 del tmp9 r2new += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 1 , 4 , 3 ), ( 4 , 2 , 0 )) * - 1 del tmp10 , tmp11 r2new += einsum ( tmp14 , ( 0 , 1 , 2 ), tmp12 , ( 3 , 2 ), ( 1 , 3 , 0 )) * 2 del tmp14 , tmp12 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp17 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new += einsum ( tmp17 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp17 r2new += einsum ( r1 , ( 0 ,), tmp18 , ( 1 , 2 , 0 , 3 ), ( 2 , 3 , 1 )) * - 1 del tmp18 r2new += einsum ( tmp20 , ( 0 , 1 , 2 ), t1 , ( 1 , 3 ), ( 2 , 3 , 0 )) del tmp20 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp21 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp21 r2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp22 , ( 1 ,), ( 2 , 3 , 0 )) del tmp22 r2new += einsum ( tmp23 , ( 0 , 1 ), r1 , ( 2 ,), ( 1 , 2 , 0 )) del tmp23 r1new = einsum ( ints . tmp1 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 0 , 2 , 3 ), ( 1 ,)) * - 2 del ints . tmp1 , tmp0 r1new += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp1 , ( 0 , 2 ), ( 1 ,)) * - 1 del tmp2 , tmp1 r1new += einsum ( tmp3 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) del tmp3 r1new += einsum ( t1 , ( 0 , 1 ), tmp5 , ( 0 ,), ( 1 ,)) * - 2 del tmp5 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.hbar_lmatvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T20:42:40.849744.","title":"hbar_lmatvec_ip_intermediates"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.hbar_lmatvec_ip_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.hbar_lmatvec_ip_intermediates--returns","text":"tmp0 : array tmp1 : array tmp10 : array tmp101 : array tmp102 : array tmp103 : array tmp106 : array tmp107 : array tmp109 : array tmp111 : array tmp114 : array tmp115 : array tmp117 : array tmp119 : array tmp120 : array tmp123 : array tmp125 : array tmp128 : array tmp13 : array tmp130 : array tmp133 : array tmp134 : array tmp139 : array tmp14 : array tmp145 : array tmp149 : array tmp150 : array tmp16 : array tmp177 : array tmp178 : array tmp18 : array tmp180 : array tmp19 : array tmp2 : array tmp22 : array tmp25 : array tmp26 : array tmp28 : array tmp3 : array tmp30 : array tmp32 : array tmp33 : array tmp35 : array tmp36 : array tmp38 : array tmp4 : array tmp41 : array tmp44 : array tmp46 : array tmp48 : array tmp50 : array tmp52 : array tmp55 : array tmp59 : array tmp6 : array tmp62 : array tmp63 : array tmp65 : array tmp68 : array tmp71 : array tmp74 : array tmp77 : array tmp80 : array tmp83 : array tmp86 : array tmp88 : array tmp9 : array tmp91 : array tmp93 : array tmp95 : array tmp98 : array Source code in ebcc/codegen/RDFCCSD.py 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 def hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:42:40.849744. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp0 : array tmp1 : array tmp10 : array tmp101 : array tmp102 : array tmp103 : array tmp106 : array tmp107 : array tmp109 : array tmp111 : array tmp114 : array tmp115 : array tmp117 : array tmp119 : array tmp120 : array tmp123 : array tmp125 : array tmp128 : array tmp13 : array tmp130 : array tmp133 : array tmp134 : array tmp139 : array tmp14 : array tmp145 : array tmp149 : array tmp150 : array tmp16 : array tmp177 : array tmp178 : array tmp18 : array tmp180 : array tmp19 : array tmp2 : array tmp22 : array tmp25 : array tmp26 : array tmp28 : array tmp3 : array tmp30 : array tmp32 : array tmp33 : array tmp35 : array tmp36 : array tmp38 : array tmp4 : array tmp41 : array tmp44 : array tmp46 : array tmp48 : array tmp50 : array tmp52 : array tmp55 : array tmp59 : array tmp6 : array tmp62 : array tmp63 : array tmp65 : array tmp68 : array tmp71 : array tmp74 : array tmp77 : array tmp80 : array tmp83 : array tmp86 : array tmp88 : array tmp9 : array tmp91 : array tmp93 : array tmp95 : array tmp98 : array \"\"\" tmp15 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp13 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp22 = einsum ( tmp15 , ( 0 ,), v . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp62 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp13 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp101 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp32 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 2 ), ( 0 , 3 , 4 )) tmp35 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 3 ), ( 0 , 2 , 4 )) tmp25 = einsum ( t1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp133 = einsum ( tmp13 , ( 0 , 1 , 2 ), tmp13 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp107 = einsum ( t1 , ( 0 , 1 ), tmp22 , ( 2 , 1 ), ( 0 , 2 )) tmp106 = einsum ( tmp62 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp119 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp15 , ( 0 ,), ( 1 , 2 )) tmp114 = einsum ( tmp13 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp16 = einsum ( tmp15 , ( 0 ,), v . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp15 tmp14 = einsum ( tmp13 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) tmp102 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp101 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) tmp33 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp32 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp36 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp35 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp28 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp13 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) tmp58 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp10 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp18 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp0 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp180 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp35 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp178 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp32 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp177 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp25 , ( 1 , 3 , 0 ), ( 2 , 3 )) tmp150 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp101 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp149 = einsum ( tmp101 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) tmp145 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp13 , ( 3 , 4 , 0 ), ( 3 , 4 , 1 , 2 )) tmp139 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp134 = einsum ( t1 , ( 0 , 1 ), tmp133 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp130 = einsum ( tmp107 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp128 = einsum ( t1 , ( 0 , 1 ), tmp106 , ( 2 , 0 ), ( 2 , 1 )) tmp125 = einsum ( tmp25 , ( 0 , 1 , 2 ), tmp13 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) tmp123 = einsum ( tmp25 , ( 0 , 1 , 2 ), tmp13 , ( 3 , 0 , 2 ), ( 3 , 1 )) tmp120 = einsum ( t1 , ( 0 , 1 ), tmp119 , ( 2 , 1 ), ( 0 , 2 )) tmp117 = einsum ( tmp114 , ( 0 , 1 , 2 , 3 ), t1 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp115 = einsum ( t1 , ( 0 , 1 ), tmp114 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp111 = einsum ( tmp16 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp109 = einsum ( tmp14 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp103 = einsum ( t1 , ( 0 , 1 ), tmp102 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) tmp98 = einsum ( tmp33 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp95 = einsum ( t1 , ( 0 , 1 ), tmp36 , ( 2 , 0 ), ( 2 , 1 )) tmp93 = einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp91 = einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) tmp88 = einsum ( tmp35 , ( 0 , 1 , 2 ), tmp13 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) tmp86 = einsum ( tmp32 , ( 0 , 1 , 2 ), tmp13 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) tmp83 = einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp80 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp28 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp77 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp22 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp74 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp62 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp71 = einsum ( tmp22 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp68 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp22 , ( 1 , 2 ), ( 0 , 3 )) tmp65 = einsum ( tmp62 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp63 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp62 , ( 1 , 2 ), ( 0 , 3 )) tmp59 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp58 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 4 , 5 )) del tmp58 tmp55 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp52 = einsum ( tmp35 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp50 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp35 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp48 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp32 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp46 = einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp44 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) tmp41 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp38 = einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 )) tmp30 = einsum ( tmp25 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp26 = einsum ( tmp25 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) tmp19 = einsum ( t1 , ( 0 , 1 ), tmp18 , ( 2 , 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) tmp9 = einsum ( tmp0 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp6 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp4 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp2 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) return { f \"tmp0\" : tmp0 , f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp101\" : tmp101 , f \"tmp102\" : tmp102 , f \"tmp103\" : tmp103 , f \"tmp106\" : tmp106 , f \"tmp107\" : tmp107 , f \"tmp109\" : tmp109 , f \"tmp111\" : tmp111 , f \"tmp114\" : tmp114 , f \"tmp115\" : tmp115 , f \"tmp117\" : tmp117 , f \"tmp119\" : tmp119 , f \"tmp120\" : tmp120 , f \"tmp123\" : tmp123 , f \"tmp125\" : tmp125 , f \"tmp128\" : tmp128 , f \"tmp13\" : tmp13 , f \"tmp130\" : tmp130 , f \"tmp133\" : tmp133 , f \"tmp134\" : tmp134 , f \"tmp139\" : tmp139 , f \"tmp14\" : tmp14 , f \"tmp145\" : tmp145 , f \"tmp149\" : tmp149 , f \"tmp150\" : tmp150 , f \"tmp16\" : tmp16 , f \"tmp177\" : tmp177 , f \"tmp178\" : tmp178 , f \"tmp18\" : tmp18 , f \"tmp180\" : tmp180 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp22\" : tmp22 , f \"tmp25\" : tmp25 , f \"tmp26\" : tmp26 , f \"tmp28\" : tmp28 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp35\" : tmp35 , f \"tmp36\" : tmp36 , f \"tmp38\" : tmp38 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp44\" : tmp44 , f \"tmp46\" : tmp46 , f \"tmp48\" : tmp48 , f \"tmp50\" : tmp50 , f \"tmp52\" : tmp52 , f \"tmp55\" : tmp55 , f \"tmp59\" : tmp59 , f \"tmp6\" : tmp6 , f \"tmp62\" : tmp62 , f \"tmp63\" : tmp63 , f \"tmp65\" : tmp65 , f \"tmp68\" : tmp68 , f \"tmp71\" : tmp71 , f \"tmp74\" : tmp74 , f \"tmp77\" : tmp77 , f \"tmp80\" : tmp80 , f \"tmp83\" : tmp83 , f \"tmp86\" : tmp86 , f \"tmp88\" : tmp88 , f \"tmp9\" : tmp9 , f \"tmp91\" : tmp91 , f \"tmp93\" : tmp93 , f \"tmp95\" : tmp95 , f \"tmp98\" : tmp98 }","title":"Returns"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.hbar_lmatvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T20:42:40.883173.","title":"hbar_lmatvec_ip"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.hbar_lmatvec_ip--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.hbar_lmatvec_ip--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RDFCCSD.py 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:42:40.883173. 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\" ] tmp11 = einsum ( r2 , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 0 , 1 , 3 )) tmp20 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp20 += t2 tmp17 = np . copy ( f . ov ) tmp17 += ints . tmp22 * 2 tmp17 += ints . tmp62 * - 1 del ints . tmp62 tmp0 = np . copy ( r2 ) * - 0.5 tmp0 += np . transpose ( r2 , ( 1 , 0 , 2 )) tmp13 = np . copy ( ints . tmp25 ) del ints . tmp25 tmp13 += ints . tmp35 * 2 del ints . tmp35 tmp13 += np . transpose ( v . xov , ( 1 , 2 , 0 )) tmp13 += ints . tmp32 * - 1 del ints . tmp32 tmp15 = np . copy ( ints . tmp13 ) del ints . tmp13 tmp15 += np . transpose ( v . xoo , ( 1 , 2 , 0 )) tmp14 = np . copy ( tmp11 ) * - 1 tmp14 += np . transpose ( tmp11 , ( 1 , 0 , 2 )) * 2 tmp19 = np . copy ( f . oo ) * 0.5 tmp19 += np . transpose ( ints . tmp0 , ( 1 , 0 )) * 0.5 tmp19 += ints . tmp107 tmp19 += ints . tmp16 tmp19 += ints . tmp36 tmp19 += ints . tmp106 * - 0.5 tmp19 += ints . tmp14 * - 0.5 tmp19 += ints . tmp33 * - 0.5 tmp7 = np . copy ( ints . tmp139 ) * 0.5 tmp7 += ints . tmp145 * 0.5 tmp7 += ints . tmp150 tmp7 += ints . tmp149 * - 0.5 tmp22 = np . copy ( ints . tmp10 ) tmp22 += np . transpose ( ints . tmp28 , ( 2 , 0 , 1 , 3 )) tmp10 = np . copy ( ints . tmp102 ) del ints . tmp102 tmp10 += np . transpose ( ints . tmp114 , ( 0 , 1 , 3 , 2 )) tmp8 = np . copy ( ints . tmp139 ) del ints . tmp139 tmp8 += ints . tmp145 del ints . tmp145 tmp8 += ints . tmp149 * - 1 del ints . tmp149 tmp21 = einsum ( r2 , ( 0 , 1 , 2 ), tmp20 , ( 1 , 0 , 3 , 2 ), ( 3 ,)) del tmp20 tmp18 = np . copy ( np . transpose ( ints . tmp177 , ( 1 , 0 ))) del ints . tmp177 tmp18 += ints . tmp180 * 2 del ints . tmp180 tmp18 += f . vv * - 1 tmp18 += ints . tmp119 * - 2 del ints . tmp119 tmp18 += ints . tmp178 * - 1 del ints . tmp178 tmp18 += einsum ( t1 , ( 0 , 1 ), tmp17 , ( 0 , 2 ), ( 1 , 2 )) tmp16 = einsum ( tmp13 , ( 0 , 1 , 2 ), tmp0 , ( 3 , 0 , 1 ), ( 3 , 2 )) * - 1 del tmp13 tmp16 += einsum ( tmp15 , ( 0 , 1 , 2 ), tmp14 , ( 3 , 0 , 1 ), ( 3 , 2 )) * 0.5 del tmp15 , tmp14 tmp9 = np . copy ( ints . tmp114 ) del ints . tmp114 tmp9 += np . transpose ( ints . tmp133 , ( 0 , 1 , 3 , 2 )) del ints . tmp133 tmp9 += np . transpose ( ints . tmp18 , ( 2 , 3 , 0 , 1 )) del ints . tmp18 tmp12 = np . copy ( ints . tmp10 ) tmp12 += np . transpose ( ints . tmp28 , ( 0 , 2 , 1 , 3 )) tmp1 = np . copy ( ints . tmp103 ) del ints . tmp103 tmp1 += ints . tmp115 del ints . tmp115 tmp1 += ints . tmp134 del ints . tmp134 tmp1 += np . transpose ( ints . tmp19 , ( 0 , 2 , 1 , 3 )) del ints . tmp19 tmp1 += ints . tmp44 del ints . tmp44 tmp1 += ints . tmp86 del ints . tmp86 tmp1 += ints . tmp93 del ints . tmp93 tmp1 += np . transpose ( ints . tmp10 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp10 tmp1 += ints . tmp125 * - 1 del ints . tmp125 tmp1 += ints . tmp28 * - 1 del ints . tmp28 tmp1 += ints . tmp59 * - 1 del ints . tmp59 tmp1 += ints . tmp88 * - 2 del ints . tmp88 tmp2 = np . copy ( r2 ) * 2 tmp2 += np . transpose ( r2 , ( 1 , 0 , 2 )) * - 1 tmp5 = np . copy ( r2 ) * - 1 tmp5 += np . transpose ( r2 , ( 1 , 0 , 2 )) * 2 tmp4 = np . copy ( ints . tmp111 ) * 2 del ints . tmp111 tmp4 += ints . tmp123 del ints . tmp123 tmp4 += ints . tmp130 * 2 del ints . tmp130 tmp4 += ints . tmp1 del ints . tmp1 tmp4 += ints . tmp26 del ints . tmp26 tmp4 += ints . tmp3 del ints . tmp3 tmp4 += ints . tmp41 * 2 del ints . tmp41 tmp4 += ints . tmp55 del ints . tmp55 tmp4 += ints . tmp65 * 2 del ints . tmp65 tmp4 += ints . tmp68 * 2 del ints . tmp68 tmp4 += ints . tmp80 * 2 del ints . tmp80 tmp4 += ints . tmp95 * 2 del ints . tmp95 tmp4 += ints . tmp9 del ints . tmp9 tmp4 += f . ov * - 1 tmp4 += ints . tmp109 * - 1 del ints . tmp109 tmp4 += ints . tmp120 * - 2 del ints . tmp120 tmp4 += ints . tmp128 * - 1 del ints . tmp128 tmp4 += ints . tmp22 * - 2 del ints . tmp22 tmp4 += ints . tmp2 * - 1 del ints . tmp2 tmp4 += ints . tmp38 * - 1 del ints . tmp38 tmp4 += ints . tmp4 * - 2 del ints . tmp4 tmp4 += ints . tmp52 * - 2 del ints . tmp52 tmp4 += ints . tmp63 * - 1 del ints . tmp63 tmp4 += ints . tmp71 * - 4 del ints . tmp71 tmp4 += ints . tmp83 * - 1 del ints . tmp83 tmp4 += ints . tmp98 * - 1 del ints . tmp98 tmp3 = np . copy ( ints . tmp117 ) del ints . tmp117 tmp3 += np . transpose ( ints . tmp46 , ( 0 , 2 , 1 , 3 )) del ints . tmp46 tmp3 += np . transpose ( ints . tmp48 , ( 0 , 2 , 1 , 3 )) del ints . tmp48 tmp3 += np . transpose ( ints . tmp74 , ( 0 , 2 , 1 , 3 )) del ints . tmp74 tmp3 += np . transpose ( ints . tmp91 , ( 0 , 2 , 1 , 3 )) del ints . tmp91 tmp3 += ints . tmp30 * - 1 del ints . tmp30 tmp3 += np . transpose ( ints . tmp50 , ( 0 , 2 , 1 , 3 )) * - 2 del ints . tmp50 tmp3 += np . transpose ( ints . tmp6 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp6 tmp3 += np . transpose ( ints . tmp77 , ( 0 , 2 , 1 , 3 )) * - 2 del ints . tmp77 tmp6 = np . copy ( f . oo ) tmp6 += np . transpose ( ints . tmp0 , ( 1 , 0 )) del ints . tmp0 tmp6 += ints . tmp107 * 2 del ints . tmp107 tmp6 += np . transpose ( ints . tmp16 , ( 1 , 0 )) * 2 del ints . tmp16 tmp6 += ints . tmp36 * 2 del ints . tmp36 tmp6 += ints . tmp106 * - 1 del ints . tmp106 tmp6 += ints . tmp14 * - 1 del ints . tmp14 tmp6 += ints . tmp33 * - 1 del ints . tmp33 r2new = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp150 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) del ints . tmp150 r2new += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) * - 2 del tmp7 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp8 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * - 1 del tmp8 r2new += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), r2 , ( 0 , 1 , 4 ), ( 3 , 2 , 4 )) del tmp9 r2new += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), r2 , ( 1 , 0 , 4 ), ( 3 , 2 , 4 )) del tmp10 r2new += einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), tmp11 , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) r2new += einsum ( tmp11 , ( 0 , 1 , 2 ), tmp12 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) del tmp11 , tmp12 r2new += einsum ( tmp16 , ( 0 , 1 ), v . xov , ( 1 , 2 , 3 ), ( 2 , 0 , 3 )) * - 2 del tmp16 r2new += einsum ( tmp18 , ( 0 , 1 ), r2 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp18 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 2 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp19 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 2 del tmp19 r2new += einsum ( tmp21 , ( 0 ,), ints . tmp101 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * - 2 del tmp21 , ints . tmp101 r2new += einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), r1 , ( 1 ,), ( 2 , 0 , 3 )) del tmp22 r2new += einsum ( r1 , ( 0 ,), tmp17 , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 del tmp17 r1new = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp1 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) * - 2 del tmp0 , tmp1 r1new += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 2 , 3 ), ( 1 ,)) * - 1 del tmp3 , tmp2 r1new += einsum ( tmp5 , ( 0 , 1 , 2 ), tmp4 , ( 1 , 2 ), ( 0 ,)) del tmp5 , tmp4 r1new += einsum ( r1 , ( 0 ,), tmp6 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp6 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.hbar_lmatvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T20:43:33.080354.","title":"hbar_lmatvec_ea_intermediates"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.hbar_lmatvec_ea_intermediates--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.hbar_lmatvec_ea_intermediates--returns","text":"tmp1 : array tmp10 : array tmp100 : array tmp102 : array tmp105 : array tmp107 : array tmp11 : array tmp110 : array tmp111 : array tmp113 : array tmp114 : array tmp12 : array tmp120 : array tmp123 : array tmp125 : array tmp127 : array tmp129 : array tmp130 : array tmp132 : array tmp133 : array tmp16 : array tmp163 : array tmp18 : array tmp19 : array tmp2 : array tmp20 : array tmp23 : array tmp25 : array tmp29 : array tmp3 : array tmp31 : array tmp34 : array tmp35 : array tmp37 : array tmp38 : array tmp4 : array tmp40 : array tmp41 : array tmp44 : array tmp47 : array tmp50 : array tmp53 : array tmp56 : array tmp58 : array tmp61 : array tmp63 : array tmp65 : array tmp66 : array tmp67 : array tmp69 : array tmp72 : array tmp75 : array tmp82 : array tmp83 : array tmp86 : array tmp89 : array tmp92 : array tmp93 : array tmp96 : array tmp97 : array Source code in ebcc/codegen/RDFCCSD.py 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 def hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:43:33.080354. Parameters ---------- f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp1 : array tmp10 : array tmp100 : array tmp102 : array tmp105 : array tmp107 : array tmp11 : array tmp110 : array tmp111 : array tmp113 : array tmp114 : array tmp12 : array tmp120 : array tmp123 : array tmp125 : array tmp127 : array tmp129 : array tmp130 : array tmp132 : array tmp133 : array tmp16 : array tmp163 : array tmp18 : array tmp19 : array tmp2 : array tmp20 : array tmp23 : array tmp25 : array tmp29 : array tmp3 : array tmp31 : array tmp34 : array tmp35 : array tmp37 : array tmp38 : array tmp4 : array tmp40 : array tmp41 : array tmp44 : array tmp47 : array tmp50 : array tmp53 : array tmp56 : array tmp58 : array tmp61 : array tmp63 : array tmp65 : array tmp66 : array tmp67 : array tmp69 : array tmp72 : array tmp75 : array tmp82 : array tmp83 : array tmp86 : array tmp89 : array tmp92 : array tmp93 : array tmp96 : array tmp97 : array \"\"\" tmp15 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp65 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp20 = einsum ( tmp15 , ( 0 ,), v . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp66 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp65 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp34 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 2 ), ( 0 , 3 , 4 )) tmp37 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 3 ), ( 0 , 2 , 4 )) tmp132 = einsum ( t1 , ( 0 , 1 ), tmp20 , ( 2 , 1 ), ( 0 , 2 )) tmp129 = einsum ( t1 , ( 0 , 1 ), tmp66 , ( 2 , 1 ), ( 0 , 2 )) tmp18 = einsum ( v . xvv , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 3 , 1 , 0 )) tmp16 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp15 , ( 0 ,), ( 1 , 2 )) tmp113 = einsum ( tmp15 , ( 0 ,), v . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp15 tmp110 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp65 , ( 2 , 3 , 0 ), ( 1 , 3 )) tmp25 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp96 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp34 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp92 = einsum ( tmp37 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp82 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp65 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) tmp12 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp40 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp10 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp163 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp133 = einsum ( tmp132 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp130 = einsum ( tmp129 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp127 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp18 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp125 = einsum ( tmp65 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) tmp123 = einsum ( tmp65 , ( 0 , 1 , 2 ), tmp18 , ( 1 , 3 , 2 ), ( 0 , 3 )) tmp120 = einsum ( t1 , ( 0 , 1 ), tmp16 , ( 2 , 1 ), ( 0 , 2 )) tmp114 = einsum ( t1 , ( 0 , 1 ), tmp113 , ( 2 , 0 ), ( 2 , 1 )) tmp111 = einsum ( tmp110 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp107 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp25 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp105 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 5 , 2 )) tmp102 = einsum ( tmp37 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) tmp100 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp34 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) tmp97 = einsum ( tmp96 , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) tmp93 = einsum ( t1 , ( 0 , 1 ), tmp92 , ( 2 , 0 ), ( 2 , 1 )) tmp89 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp82 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp86 = einsum ( tmp82 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) tmp83 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp82 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp75 = einsum ( tmp20 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp72 = einsum ( tmp20 , ( 0 , 1 ), t2 , ( 2 , 0 , 1 , 3 ), ( 2 , 3 )) tmp69 = einsum ( tmp66 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp67 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp66 , ( 1 , 2 ), ( 0 , 3 )) tmp63 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 3 , 2 )) tmp61 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp12 , ( 1 , 2 , 4 , 5 ), ( 0 , 3 , 5 , 4 )) tmp58 = einsum ( tmp37 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) tmp56 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp34 , ( 3 , 4 , 0 ), ( 3 , 4 , 1 , 2 )) tmp53 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp34 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp50 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp37 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp47 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp44 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp41 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) tmp38 = einsum ( tmp37 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp35 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp34 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp31 = einsum ( tmp18 , ( 0 , 1 , 2 ), v . xvv , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp29 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp23 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp18 , ( 2 , 3 , 0 ), ( 1 , 3 )) tmp19 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp18 , ( 1 , 3 , 0 ), ( 2 , 3 )) tmp11 = einsum ( tmp10 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) tmp4 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . ov , ( 1 , 2 ), ( 0 , 3 )) tmp2 = einsum ( f . vv , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( f . oo , ( 0 , 1 ), t1 , ( 1 , 2 ), ( 0 , 2 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp102\" : tmp102 , f \"tmp105\" : tmp105 , f \"tmp107\" : tmp107 , f \"tmp11\" : tmp11 , f \"tmp110\" : tmp110 , f \"tmp111\" : tmp111 , f \"tmp113\" : tmp113 , f \"tmp114\" : tmp114 , f \"tmp12\" : tmp12 , f \"tmp120\" : tmp120 , f \"tmp123\" : tmp123 , f \"tmp125\" : tmp125 , f \"tmp127\" : tmp127 , f \"tmp129\" : tmp129 , f \"tmp130\" : tmp130 , f \"tmp132\" : tmp132 , f \"tmp133\" : tmp133 , f \"tmp16\" : tmp16 , f \"tmp163\" : tmp163 , f \"tmp18\" : tmp18 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp23\" : tmp23 , f \"tmp25\" : tmp25 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp31\" : tmp31 , f \"tmp34\" : tmp34 , f \"tmp35\" : tmp35 , f \"tmp37\" : tmp37 , f \"tmp38\" : tmp38 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp41\" : tmp41 , f \"tmp44\" : tmp44 , f \"tmp47\" : tmp47 , f \"tmp50\" : tmp50 , f \"tmp53\" : tmp53 , f \"tmp56\" : tmp56 , f \"tmp58\" : tmp58 , f \"tmp61\" : tmp61 , f \"tmp63\" : tmp63 , f \"tmp65\" : tmp65 , f \"tmp66\" : tmp66 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp72\" : tmp72 , f \"tmp75\" : tmp75 , f \"tmp82\" : tmp82 , f \"tmp83\" : tmp83 , f \"tmp86\" : tmp86 , f \"tmp89\" : tmp89 , f \"tmp92\" : tmp92 , f \"tmp93\" : tmp93 , f \"tmp96\" : tmp96 , f \"tmp97\" : tmp97 }","title":"Returns"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.hbar_lmatvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T20:43:33.109313.","title":"hbar_lmatvec_ea"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.hbar_lmatvec_ea--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/RDFCCSD/#ebcc.codegen.RDFCCSD.hbar_lmatvec_ea--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RDFCCSD.py 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:43:33.109313. 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\" ] tmp17 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp17 += t2 * - 1 tmp26 = np . copy ( ints . tmp65 ) del ints . tmp65 tmp26 += np . transpose ( v . xoo , ( 1 , 2 , 0 )) tmp11 = einsum ( r2 , ( 0 , 1 , 2 ), t1 , ( 3 , 1 ), ( 2 , 3 , 0 )) tmp20 = np . copy ( f . ov ) tmp20 += ints . tmp20 * 2 tmp20 += ints . tmp66 * - 1 del ints . tmp66 tmp16 = einsum ( r1 , ( 0 ,), t1 , ( 1 , 0 ), ( 1 ,)) tmp18 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), r2 , ( 3 , 2 , 0 ), ( 1 ,)) del tmp17 tmp22 = np . copy ( ints . tmp40 ) tmp22 += np . transpose ( ints . tmp82 , ( 0 , 2 , 1 , 3 )) tmp0 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 0.5 tmp0 += np . transpose ( r2 , ( 2 , 1 , 0 )) tmp27 = np . copy ( ints . tmp18 ) del ints . tmp18 tmp27 += ints . tmp37 * 2 del ints . tmp37 tmp27 += np . transpose ( v . xov , ( 1 , 2 , 0 )) tmp27 += ints . tmp34 * - 1 del ints . tmp34 tmp27 += einsum ( tmp26 , ( 0 , 1 , 2 ), t1 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp26 tmp12 = einsum ( tmp11 , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp29 = einsum ( tmp20 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 2 , 1 )) tmp6 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) tmp6 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 0.5 tmp19 = np . copy ( tmp16 ) del tmp16 tmp19 += tmp18 * - 1 del tmp18 tmp23 = np . copy ( ints . tmp107 ) tmp23 += ints . tmp125 * 0.5 tmp23 += ints . tmp29 * 0.5 tmp23 += ints . tmp105 * - 0.5 tmp23 += einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 0.5 tmp31 = np . copy ( f . oo ) tmp31 += np . transpose ( ints . tmp10 , ( 1 , 0 )) del ints . tmp10 tmp31 += ints . tmp113 * 2 del ints . tmp113 tmp31 += ints . tmp132 * 2 del ints . tmp132 tmp31 += ints . tmp92 * 2 del ints . tmp92 tmp31 += ints . tmp110 * - 1 del ints . tmp110 tmp31 += ints . tmp129 * - 1 del ints . tmp129 tmp31 += ints . tmp96 * - 1 del ints . tmp96 tmp28 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp0 , ( 0 , 3 , 1 ), ( 3 , 2 )) * - 1 del tmp27 tmp25 = einsum ( r2 , ( 0 , 1 , 2 ), t2 , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp25 += tmp12 tmp30 = np . copy ( np . transpose ( ints . tmp19 , ( 1 , 0 ))) tmp30 += ints . tmp38 * 2 tmp30 += f . vv * - 1 tmp30 += ints . tmp16 * - 2 tmp30 += ints . tmp35 * - 1 tmp30 += tmp29 del tmp29 tmp24 = np . copy ( ints . tmp105 ) tmp24 += ints . tmp125 * - 1 tmp24 += ints . tmp29 * - 1 tmp24 += einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t1 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp22 tmp21 = einsum ( r2 , ( 0 , 1 , 2 ), t1 , ( 3 , 0 ), ( 2 , 3 , 1 )) tmp14 = np . copy ( tmp12 ) * 2 tmp14 += np . transpose ( tmp12 , ( 0 , 2 , 1 )) * - 1 tmp1 = np . copy ( ints . tmp12 ) tmp1 += ints . tmp31 del ints . tmp31 tmp1 += np . transpose ( ints . tmp89 , ( 0 , 3 , 1 , 2 )) del ints . tmp89 tmp1 += np . transpose ( ints . tmp61 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp61 tmp8 = np . copy ( ints . tmp102 ) * 2 del ints . tmp102 tmp8 += np . transpose ( ints . tmp127 , ( 0 , 1 , 3 , 2 )) del ints . tmp127 tmp8 += ints . tmp25 tmp8 += ints . tmp100 * - 1 del ints . tmp100 tmp8 += ints . tmp107 * - 1 tmp2 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * 2 tmp2 += np . transpose ( r2 , ( 2 , 1 , 0 )) * - 1 tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 0 , 3 , 1 )) * 2 del tmp6 tmp13 = np . copy ( tmp12 ) * - 0.5 tmp13 += np . transpose ( tmp12 , ( 0 , 2 , 1 )) del tmp12 tmp5 = np . copy ( np . transpose ( ints . tmp125 , ( 0 , 1 , 3 , 2 ))) del ints . tmp125 tmp5 += np . transpose ( ints . tmp29 , ( 0 , 1 , 3 , 2 )) del ints . tmp29 tmp5 += ints . tmp105 * - 1 del ints . tmp105 tmp4 = einsum ( tmp0 , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp10 = np . copy ( np . transpose ( r2 , ( 2 , 0 , 1 ))) * - 1 tmp10 += np . transpose ( r2 , ( 2 , 1 , 0 )) * 2 tmp15 = np . copy ( f . vv ) tmp15 += np . transpose ( ints . tmp16 , ( 1 , 0 )) * 2 del ints . tmp16 tmp15 += ints . tmp35 del ints . tmp35 tmp15 += np . transpose ( ints . tmp19 , ( 1 , 0 )) * - 1 del ints . tmp19 tmp15 += ints . tmp38 * - 2 del ints . tmp38 tmp9 = np . copy ( ints . tmp114 ) * 2 del ints . tmp114 tmp9 += ints . tmp11 del ints . tmp11 tmp9 += ints . tmp123 del ints . tmp123 tmp9 += ints . tmp133 * 2 del ints . tmp133 tmp9 += ints . tmp1 del ints . tmp1 tmp9 += ints . tmp23 del ints . tmp23 tmp9 += ints . tmp3 del ints . tmp3 tmp9 += ints . tmp44 * 2 del ints . tmp44 tmp9 += ints . tmp53 del ints . tmp53 tmp9 += ints . tmp69 * 2 del ints . tmp69 tmp9 += ints . tmp72 * 2 del ints . tmp72 tmp9 += ints . tmp83 * 2 del ints . tmp83 tmp9 += ints . tmp93 * 2 del ints . tmp93 tmp9 += f . ov * - 1 tmp9 += ints . tmp111 * - 1 del ints . tmp111 tmp9 += ints . tmp120 * - 2 del ints . tmp120 tmp9 += ints . tmp130 * - 1 del ints . tmp130 tmp9 += ints . tmp20 * - 2 del ints . tmp20 tmp9 += ints . tmp2 * - 1 del ints . tmp2 tmp9 += ints . tmp41 * - 1 del ints . tmp41 tmp9 += ints . tmp4 * - 2 del ints . tmp4 tmp9 += ints . tmp50 * - 2 del ints . tmp50 tmp9 += ints . tmp67 * - 1 del ints . tmp67 tmp9 += ints . tmp75 * - 4 del ints . tmp75 tmp9 += ints . tmp86 * - 1 del ints . tmp86 tmp9 += ints . tmp97 * - 1 del ints . tmp97 tmp3 = np . copy ( ints . tmp47 ) del ints . tmp47 tmp3 += ints . tmp58 * 2 del ints . tmp58 tmp3 += ints . tmp56 * - 1 del ints . tmp56 tmp3 += np . transpose ( ints . tmp63 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp63 r2new = einsum ( r2 , ( 0 , 1 , 2 ), ints . tmp163 , ( 3 , 4 , 0 , 1 ), ( 4 , 3 , 2 )) del ints . tmp163 r2new += einsum ( ints . tmp107 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 0 ), ( 3 , 4 , 1 )) del ints . tmp107 r2new += einsum ( tmp11 , ( 0 , 1 , 2 ), ints . tmp12 , ( 1 , 3 , 2 , 4 ), ( 3 , 4 , 0 )) * - 1 del tmp11 r2new += einsum ( tmp21 , ( 0 , 1 , 2 ), ints . tmp12 , ( 1 , 3 , 2 , 4 ), ( 4 , 3 , 0 )) * - 1 del tmp21 r2new += einsum ( r1 , ( 0 ,), ints . tmp12 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del ints . tmp12 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp23 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 , 3 )) * - 2 del tmp23 r2new += einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), r2 , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) del tmp24 r2new += einsum ( ints . tmp25 , ( 0 , 1 , 2 , 3 ), tmp25 , ( 4 , 1 , 0 ), ( 3 , 2 , 4 )) del tmp25 r2new += einsum ( tmp28 , ( 0 , 1 ), v . xov , ( 1 , 2 , 3 ), ( 3 , 0 , 2 )) * - 2 del tmp28 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp30 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new += einsum ( tmp30 , ( 0 , 1 ), r2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp30 r2new += einsum ( r2 , ( 0 , 1 , 2 ), tmp31 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp31 r2new += einsum ( tmp19 , ( 0 ,), ints . tmp25 , ( 0 , 1 , 2 , 3 ), ( 3 , 2 , 1 )) del ints . tmp25 r2new += einsum ( r1 , ( 0 ,), tmp20 , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r1new = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp1 , ( 0 , 3 , 1 , 2 ), ( 3 ,)) * - 2 del tmp0 , tmp1 r1new += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp3 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * - 1 del tmp2 , tmp3 r1new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 1 , 2 ), ( 3 ,)) * 2 del tmp5 , tmp4 r1new += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 1 , 2 ), ( 3 ,)) del tmp8 , tmp7 r1new += einsum ( tmp9 , ( 0 , 1 ), tmp10 , ( 0 , 2 , 1 ), ( 2 ,)) del tmp9 , tmp10 r1new += einsum ( tmp13 , ( 0 , 1 , 2 ), ints . tmp82 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * - 2 del ints . tmp82 , tmp13 r1new += einsum ( tmp14 , ( 0 , 1 , 2 ), ints . tmp40 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * - 1 del ints . tmp40 , tmp14 r1new += einsum ( r1 , ( 0 ,), tmp15 , ( 0 , 1 ), ( 1 ,)) del tmp15 r1new += einsum ( tmp19 , ( 0 ,), tmp20 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp20 , tmp19 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RDFDCD/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-09T22:08:51.581015 python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0] albert version: 0.0.0 caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py node: fv-az1487-369 system: Linux processor: x86_64 release: 6.5.0-1025-azure ebcc . codegen . RDFDCD . energy ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T22:08:52.136786. Parameters t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns e_cc : float Coupled cluster energy. Source code in ebcc/codegen/RDFDCD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:08:52.136786. Parameters ---------- t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- e_cc : float Coupled cluster energy. \"\"\" tmp0 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp0 += t2 * - 1 tmp1 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp0 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) * 0.5 del tmp0 e_cc = einsum ( tmp1 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 1 ), ()) * 2 del tmp1 return e_cc ebcc . codegen . RDFDCD . update_amps ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T22:08:56.535754. Parameters f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns t2new : array Updated T2 residuals. Source code in ebcc/codegen/RDFDCD.py 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 def update_amps ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:08:56.535754. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- t2new : array Updated T2 residuals. \"\"\" tmp15 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp15 += t2 * - 1 tmp7 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp7 += t2 * - 1 tmp16 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp15 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) del tmp15 tmp5 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp8 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp7 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) del tmp7 tmp17 = einsum ( tmp16 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 3 , 1 )) * 0.5 tmp19 = einsum ( tmp16 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 3 , 0 )) del tmp16 tmp3 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) t2new = einsum ( tmp3 , ( 0 , 1 , 2 ), tmp3 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) * 4 tmp2 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 2 , 4 ), ( 3 , 4 , 0 )) t2new += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp2 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp6 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp9 = einsum ( tmp8 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 4 , 1 )) del tmp8 tmp12 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp5 tmp11 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp18 = einsum ( tmp17 , ( 0 , 1 ), t2 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp17 tmp20 = einsum ( tmp19 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 4 , 3 )) * 0.5 del tmp19 tmp14 = einsum ( tmp3 , ( 0 , 1 , 2 ), tmp2 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) del tmp3 , tmp2 tmp4 = einsum ( f . oo , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) t2new += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp4 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp4 tmp1 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) t2new += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) del tmp1 tmp10 = np . copy ( tmp6 ) del tmp6 tmp10 += np . transpose ( tmp9 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp9 t2new += np . transpose ( tmp10 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp10 * - 1 del tmp10 tmp0 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 0 , 5 , 1 ), ( 5 , 4 , 2 , 3 )) del tmp0 tmp13 = np . copy ( tmp11 ) del tmp11 tmp13 += tmp12 * - 1 del tmp12 t2new += np . transpose ( tmp13 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp13 , ( 0 , 1 , 3 , 2 )) del tmp13 tmp21 = np . copy ( tmp14 ) * 2 del tmp14 tmp21 += np . transpose ( tmp18 , ( 1 , 0 , 2 , 3 )) del tmp18 tmp21 += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) del tmp20 t2new += np . transpose ( tmp21 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp21 * - 1 del tmp21 t2new += einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) return { f \"t2new\" : t2new }","title":"RDFDCD"},{"location":"reference/codegen/RDFDCD/#ebcc.codegen.RDFDCD.energy","text":"Code generated by albert 0.0.0 on 2024-08-09T22:08:52.136786.","title":"energy"},{"location":"reference/codegen/RDFDCD/#ebcc.codegen.RDFDCD.energy--parameters","text":"t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFDCD/#ebcc.codegen.RDFDCD.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/RDFDCD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:08:52.136786. Parameters ---------- t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- e_cc : float Coupled cluster energy. \"\"\" tmp0 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp0 += t2 * - 1 tmp1 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp0 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) * 0.5 del tmp0 e_cc = einsum ( tmp1 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 1 ), ()) * 2 del tmp1 return e_cc","title":"Returns"},{"location":"reference/codegen/RDFDCD/#ebcc.codegen.RDFDCD.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-09T22:08:56.535754.","title":"update_amps"},{"location":"reference/codegen/RDFDCD/#ebcc.codegen.RDFDCD.update_amps--parameters","text":"f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFDCD/#ebcc.codegen.RDFDCD.update_amps--returns","text":"t2new : array Updated T2 residuals. Source code in ebcc/codegen/RDFDCD.py 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 def update_amps ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:08:56.535754. Parameters ---------- f : array Fock matrix. t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- t2new : array Updated T2 residuals. \"\"\" tmp15 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp15 += t2 * - 1 tmp7 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp7 += t2 * - 1 tmp16 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp15 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) del tmp15 tmp5 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp8 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp7 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) del tmp7 tmp17 = einsum ( tmp16 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 3 , 1 )) * 0.5 tmp19 = einsum ( tmp16 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 3 , 0 )) del tmp16 tmp3 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) t2new = einsum ( tmp3 , ( 0 , 1 , 2 ), tmp3 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) * 4 tmp2 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 2 , 4 ), ( 3 , 4 , 0 )) t2new += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp2 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp6 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp9 = einsum ( tmp8 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 4 , 1 )) del tmp8 tmp12 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp5 tmp11 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp18 = einsum ( tmp17 , ( 0 , 1 ), t2 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp17 tmp20 = einsum ( tmp19 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 4 , 3 )) * 0.5 del tmp19 tmp14 = einsum ( tmp3 , ( 0 , 1 , 2 ), tmp2 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) del tmp3 , tmp2 tmp4 = einsum ( f . oo , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) t2new += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp4 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp4 tmp1 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) t2new += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) del tmp1 tmp10 = np . copy ( tmp6 ) del tmp6 tmp10 += np . transpose ( tmp9 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp9 t2new += np . transpose ( tmp10 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp10 * - 1 del tmp10 tmp0 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 0 , 5 , 1 ), ( 5 , 4 , 2 , 3 )) del tmp0 tmp13 = np . copy ( tmp11 ) del tmp11 tmp13 += tmp12 * - 1 del tmp12 t2new += np . transpose ( tmp13 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp13 , ( 0 , 1 , 3 , 2 )) del tmp13 tmp21 = np . copy ( tmp14 ) * 2 del tmp14 tmp21 += np . transpose ( tmp18 , ( 1 , 0 , 2 , 3 )) del tmp18 tmp21 += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) del tmp20 t2new += np . transpose ( tmp21 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp21 * - 1 del tmp21 t2new += einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) return { f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/RDFDCSD/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-09T22:10:45.485014 python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0] albert version: 0.0.0 caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py node: fv-az1487-369 system: Linux processor: x86_64 release: 6.5.0-1025-azure ebcc . codegen . RDFDCSD . energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T22:10:46.620368. 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. Source code in ebcc/codegen/RDFDCSD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:10:46.620368. 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 ( t1 , ( 0 , 1 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp0 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp1 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp1 += t2 * - 1 tmp4 = np . copy ( f . ov ) * 2 tmp4 += einsum ( tmp3 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) * - 1 del tmp3 e_cc = einsum ( tmp4 , ( 0 , 1 ), t1 , ( 0 , 1 ), ()) del tmp4 tmp2 = einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 ,), ( 0 , 1 , 2 )) del tmp0 tmp2 += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 0 , 3 ), ( 1 , 2 , 4 )) * 0.5 del tmp1 e_cc += einsum ( v . xov , ( 0 , 1 , 2 ), tmp2 , ( 1 , 2 , 0 ), ()) * 2 del tmp2 return e_cc ebcc . codegen . RDFDCSD . update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T22:11:18.171443. 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. Source code in ebcc/codegen/RDFDCSD.py 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:11:18.171443. 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 . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp0 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp29 = einsum ( tmp2 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) tmp9 = einsum ( tmp2 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp1 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp0 , ( 0 ,), ( 1 , 2 )) t1new = np . copy ( tmp1 ) * 2 tmp31 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp36 = np . copy ( t2 ) tmp36 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp5 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp5 += t2 * - 1 tmp19 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 2 ), ( 0 , 3 , 4 )) t2new = einsum ( tmp19 , ( 0 , 1 , 2 ), tmp19 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp55 = np . copy ( tmp29 ) * 2 tmp55 += np . transpose ( tmp29 , ( 0 , 2 , 1 , 3 )) * - 1 tmp45 = einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp45 += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 2 tmp45 += t2 tmp18 = einsum ( v . xvv , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 3 , 1 , 0 )) t2new += einsum ( tmp18 , ( 0 , 1 , 2 ), tmp18 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) tmp34 = np . copy ( tmp1 ) * 2 tmp34 += tmp9 * - 1 tmp32 = np . copy ( np . transpose ( tmp31 , ( 1 , 0 , 2 , 3 ))) * 2 tmp32 += np . transpose ( tmp31 , ( 1 , 2 , 0 , 3 )) * - 1 tmp37 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp36 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) del tmp36 tmp11 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp11 += t2 * - 1 tmp13 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp5 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) tmp70 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp54 = einsum ( tmp2 , ( 0 , 1 , 2 ), tmp19 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp56 = einsum ( tmp55 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) del tmp55 tmp53 = einsum ( tmp31 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) del tmp31 tmp6 = einsum ( v . xoo , ( 0 , 1 , 2 ), t1 , ( 2 , 3 ), ( 1 , 3 , 0 )) tmp46 = einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 0 , 3 ), ( 1 , 2 , 4 )) del tmp45 tmp49 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp0 , ( 0 ,), ( 1 , 2 )) tmp50 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp18 , ( 1 , 3 , 0 ), ( 2 , 3 )) tmp59 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp2 , ( 2 , 3 , 0 ), ( 1 , 3 )) tmp12 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp0 , ( 0 ,), ( 1 , 2 )) tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) del tmp29 tmp35 = einsum ( tmp34 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp33 = einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) del tmp32 tmp38 = einsum ( tmp37 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) del tmp37 tmp26 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp11 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) tmp65 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp67 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp2 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp63 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp76 = einsum ( tmp13 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp20 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 3 ), ( 0 , 2 , 4 )) t2new += einsum ( tmp20 , ( 0 , 1 , 2 ), tmp20 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) * 4 tmp71 = einsum ( tmp70 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 0 , 1 )) del tmp70 tmp74 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp13 , ( 1 , 3 , 0 ), ( 3 , 2 )) * 0.5 tmp17 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) t2new += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) tmp80 = einsum ( tmp2 , ( 0 , 1 , 2 ), tmp18 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp24 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp2 , ( 3 , 4 , 0 ), ( 3 , 4 , 1 , 2 )) tmp22 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp57 = np . copy ( tmp53 ) del tmp53 tmp57 += tmp54 del tmp54 tmp57 += np . transpose ( tmp56 , ( 0 , 2 , 1 , 3 )) * - 1 del tmp56 tmp47 = np . copy ( tmp6 ) tmp47 += tmp46 del tmp46 tmp51 = np . copy ( np . transpose ( tmp49 , ( 1 , 0 ))) * 2 del tmp49 tmp51 += tmp50 * - 1 del tmp50 tmp60 = np . copy ( np . transpose ( tmp59 , ( 1 , 0 ))) * - 1 del tmp59 tmp60 += np . transpose ( tmp12 , ( 1 , 0 )) * 2 tmp41 = einsum ( tmp34 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) del tmp34 tmp39 = np . copy ( np . transpose ( tmp30 , ( 0 , 2 , 1 , 3 ))) del tmp30 tmp39 += np . transpose ( tmp33 , ( 2 , 1 , 0 , 3 )) * - 1 del tmp33 tmp39 += np . transpose ( tmp35 , ( 2 , 0 , 1 , 3 )) * - 1 del tmp35 tmp39 += np . transpose ( tmp38 , ( 0 , 2 , 1 , 3 )) del tmp38 tmp27 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) tmp27 += tmp6 * - 1 tmp27 += tmp26 del tmp26 tmp66 = einsum ( t1 , ( 0 , 1 ), tmp65 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp65 tmp68 = einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp67 tmp64 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp63 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) del tmp63 tmp77 = einsum ( tmp76 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 4 , 3 )) * 0.5 del tmp76 tmp73 = einsum ( tmp20 , ( 0 , 1 , 2 ), tmp19 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) del tmp19 , tmp20 tmp72 = einsum ( t1 , ( 0 , 1 ), tmp71 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp71 tmp75 = einsum ( tmp74 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 2 , 3 , 0 , 4 )) del tmp74 tmp86 = einsum ( t1 , ( 0 , 1 ), tmp17 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) del tmp17 tmp81 = einsum ( t1 , ( 0 , 1 ), tmp80 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp80 tmp79 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp24 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 3 , 5 )) tmp44 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp22 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp58 = einsum ( t1 , ( 0 , 1 ), tmp57 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp57 tmp48 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp47 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) del tmp47 tmp52 = einsum ( tmp51 , ( 0 , 1 ), t2 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp51 tmp61 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp60 , ( 1 , 4 ), ( 4 , 0 , 3 , 2 )) del tmp60 tmp42 = einsum ( tmp41 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp41 tmp40 = einsum ( t1 , ( 0 , 1 ), tmp39 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp39 tmp23 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp22 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) del tmp22 tmp21 = einsum ( f . vv , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp25 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp24 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) del tmp24 tmp28 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp18 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) del tmp18 , tmp27 tmp3 = np . copy ( np . transpose ( v . xoo , ( 1 , 2 , 0 ))) tmp3 += np . transpose ( tmp2 , ( 1 , 0 , 2 )) tmp7 = einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 0.5 tmp7 += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 1 tmp7 += t2 * 0.5 tmp14 = np . copy ( tmp6 ) * - 1 tmp14 += einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 ,), ( 0 , 1 , 2 )) * 2 tmp14 += tmp13 del tmp13 tmp15 = np . copy ( f . ov ) tmp15 += tmp9 * - 1 tmp69 = np . copy ( tmp64 ) del tmp64 tmp69 += tmp66 del tmp66 tmp69 += tmp68 * - 1 del tmp68 t2new += np . transpose ( tmp69 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp69 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp69 tmp84 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp84 += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp2 , ( 3 , 4 , 2 ), ( 1 , 3 , 4 , 0 )) del tmp2 tmp78 = np . copy ( tmp72 ) del tmp72 tmp78 += tmp73 * 2 del tmp73 tmp78 += np . transpose ( tmp75 , ( 1 , 0 , 3 , 2 )) del tmp75 tmp78 += np . transpose ( tmp77 , ( 1 , 0 , 3 , 2 )) del tmp77 t2new += np . transpose ( tmp78 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp78 * - 1 del tmp78 tmp87 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp87 += einsum ( tmp86 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 3 , 4 , 2 , 1 )) del tmp86 t2new += einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 0 ), ( 4 , 5 , 1 , 3 )) del tmp87 tmp85 = np . copy ( t2 ) tmp85 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) t2new += einsum ( tmp85 , ( 0 , 1 , 2 , 3 ), tmp84 , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 3 , 2 )) del tmp85 , tmp84 tmp82 = np . copy ( tmp79 ) del tmp79 tmp82 += tmp81 del tmp81 t2new += np . transpose ( tmp82 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp82 * - 1 del tmp82 tmp62 = np . copy ( tmp44 ) del tmp44 tmp62 += tmp48 del tmp48 tmp62 += np . transpose ( tmp52 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp52 tmp62 += np . transpose ( tmp58 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp58 tmp62 += np . transpose ( tmp61 , ( 1 , 0 , 3 , 2 )) del tmp61 t2new += np . transpose ( tmp62 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp62 * - 1 del tmp62 tmp43 = np . copy ( tmp21 ) del tmp21 tmp43 += tmp23 * - 1 del tmp23 tmp43 += tmp25 * - 1 del tmp25 tmp43 += np . transpose ( tmp28 , ( 0 , 1 , 3 , 2 )) del tmp28 tmp43 += np . transpose ( tmp40 , ( 0 , 1 , 3 , 2 )) del tmp40 tmp43 += np . transpose ( tmp42 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp42 t2new += np . transpose ( tmp43 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp43 , ( 0 , 1 , 3 , 2 )) del tmp43 tmp83 = einsum ( f . oo , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) t2new += np . transpose ( tmp83 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp83 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp83 tmp4 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 1 , 3 , 0 , 4 )) del tmp3 t1new += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 1 del tmp5 , tmp4 tmp10 = np . copy ( f . ov ) tmp10 += tmp1 * 2 del tmp1 tmp10 += tmp9 * - 1 del tmp9 t1new += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 0 , 3 ), ( 1 , 2 )) del tmp11 , tmp10 tmp8 = np . copy ( tmp6 ) del tmp6 tmp8 += einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 ,), ( 0 , 1 , 2 )) * - 2 del tmp0 tmp8 += einsum ( v . xov , ( 0 , 1 , 2 ), tmp7 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) * 2 del tmp7 t1new += einsum ( v . xvv , ( 0 , 1 , 2 ), tmp8 , ( 3 , 2 , 0 ), ( 3 , 1 )) * - 1 del tmp8 tmp16 = np . copy ( f . oo ) * 0.5 tmp16 += np . transpose ( tmp12 , ( 1 , 0 )) del tmp12 tmp16 += einsum ( tmp14 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 3 , 0 )) * 0.5 del tmp14 tmp16 += einsum ( tmp15 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) * 0.5 del tmp15 t1new += einsum ( tmp16 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 2 del tmp16 t1new += einsum ( t1 , ( 0 , 1 ), f . vv , ( 2 , 1 ), ( 0 , 2 )) t1new += f . ov return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"RDFDCSD"},{"location":"reference/codegen/RDFDCSD/#ebcc.codegen.RDFDCSD.energy","text":"Code generated by albert 0.0.0 on 2024-08-09T22:10:46.620368.","title":"energy"},{"location":"reference/codegen/RDFDCSD/#ebcc.codegen.RDFDCSD.energy--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFDCSD/#ebcc.codegen.RDFDCSD.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/RDFDCSD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:10:46.620368. 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 ( t1 , ( 0 , 1 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp0 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp1 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp1 += t2 * - 1 tmp4 = np . copy ( f . ov ) * 2 tmp4 += einsum ( tmp3 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) * - 1 del tmp3 e_cc = einsum ( tmp4 , ( 0 , 1 ), t1 , ( 0 , 1 ), ()) del tmp4 tmp2 = einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 ,), ( 0 , 1 , 2 )) del tmp0 tmp2 += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 0 , 3 ), ( 1 , 2 , 4 )) * 0.5 del tmp1 e_cc += einsum ( v . xov , ( 0 , 1 , 2 ), tmp2 , ( 1 , 2 , 0 ), ()) * 2 del tmp2 return e_cc","title":"Returns"},{"location":"reference/codegen/RDFDCSD/#ebcc.codegen.RDFDCSD.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-09T22:11:18.171443.","title":"update_amps"},{"location":"reference/codegen/RDFDCSD/#ebcc.codegen.RDFDCSD.update_amps--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFDCSD/#ebcc.codegen.RDFDCSD.update_amps--returns","text":"t1new : array Updated T1 residuals. t2new : array Updated T2 residuals. Source code in ebcc/codegen/RDFDCSD.py 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:11:18.171443. 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 . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp0 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp29 = einsum ( tmp2 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) tmp9 = einsum ( tmp2 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp1 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp0 , ( 0 ,), ( 1 , 2 )) t1new = np . copy ( tmp1 ) * 2 tmp31 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp36 = np . copy ( t2 ) tmp36 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp5 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp5 += t2 * - 1 tmp19 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 2 ), ( 0 , 3 , 4 )) t2new = einsum ( tmp19 , ( 0 , 1 , 2 ), tmp19 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp55 = np . copy ( tmp29 ) * 2 tmp55 += np . transpose ( tmp29 , ( 0 , 2 , 1 , 3 )) * - 1 tmp45 = einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp45 += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 2 tmp45 += t2 tmp18 = einsum ( v . xvv , ( 0 , 1 , 2 ), t1 , ( 3 , 2 ), ( 3 , 1 , 0 )) t2new += einsum ( tmp18 , ( 0 , 1 , 2 ), tmp18 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) tmp34 = np . copy ( tmp1 ) * 2 tmp34 += tmp9 * - 1 tmp32 = np . copy ( np . transpose ( tmp31 , ( 1 , 0 , 2 , 3 ))) * 2 tmp32 += np . transpose ( tmp31 , ( 1 , 2 , 0 , 3 )) * - 1 tmp37 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp36 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) del tmp36 tmp11 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp11 += t2 * - 1 tmp13 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp5 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) tmp70 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp54 = einsum ( tmp2 , ( 0 , 1 , 2 ), tmp19 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp56 = einsum ( tmp55 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) del tmp55 tmp53 = einsum ( tmp31 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) del tmp31 tmp6 = einsum ( v . xoo , ( 0 , 1 , 2 ), t1 , ( 2 , 3 ), ( 1 , 3 , 0 )) tmp46 = einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 0 , 3 ), ( 1 , 2 , 4 )) del tmp45 tmp49 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp0 , ( 0 ,), ( 1 , 2 )) tmp50 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp18 , ( 1 , 3 , 0 ), ( 2 , 3 )) tmp59 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp2 , ( 2 , 3 , 0 ), ( 1 , 3 )) tmp12 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp0 , ( 0 ,), ( 1 , 2 )) tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) del tmp29 tmp35 = einsum ( tmp34 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp33 = einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) del tmp32 tmp38 = einsum ( tmp37 , ( 0 , 1 , 2 ), v . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) del tmp37 tmp26 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp11 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) tmp65 = einsum ( f . ov , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp67 = einsum ( v . xoo , ( 0 , 1 , 2 ), tmp2 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp63 = einsum ( f . ov , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) tmp76 = einsum ( tmp13 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp20 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 1 , 3 ), ( 0 , 2 , 4 )) t2new += einsum ( tmp20 , ( 0 , 1 , 2 ), tmp20 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) * 4 tmp71 = einsum ( tmp70 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 0 , 1 )) del tmp70 tmp74 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp13 , ( 1 , 3 , 0 ), ( 3 , 2 )) * 0.5 tmp17 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) t2new += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) tmp80 = einsum ( tmp2 , ( 0 , 1 , 2 ), tmp18 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp24 = einsum ( v . xvv , ( 0 , 1 , 2 ), tmp2 , ( 3 , 4 , 0 ), ( 3 , 4 , 1 , 2 )) tmp22 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp57 = np . copy ( tmp53 ) del tmp53 tmp57 += tmp54 del tmp54 tmp57 += np . transpose ( tmp56 , ( 0 , 2 , 1 , 3 )) * - 1 del tmp56 tmp47 = np . copy ( tmp6 ) tmp47 += tmp46 del tmp46 tmp51 = np . copy ( np . transpose ( tmp49 , ( 1 , 0 ))) * 2 del tmp49 tmp51 += tmp50 * - 1 del tmp50 tmp60 = np . copy ( np . transpose ( tmp59 , ( 1 , 0 ))) * - 1 del tmp59 tmp60 += np . transpose ( tmp12 , ( 1 , 0 )) * 2 tmp41 = einsum ( tmp34 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) del tmp34 tmp39 = np . copy ( np . transpose ( tmp30 , ( 0 , 2 , 1 , 3 ))) del tmp30 tmp39 += np . transpose ( tmp33 , ( 2 , 1 , 0 , 3 )) * - 1 del tmp33 tmp39 += np . transpose ( tmp35 , ( 2 , 0 , 1 , 3 )) * - 1 del tmp35 tmp39 += np . transpose ( tmp38 , ( 0 , 2 , 1 , 3 )) del tmp38 tmp27 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) tmp27 += tmp6 * - 1 tmp27 += tmp26 del tmp26 tmp66 = einsum ( t1 , ( 0 , 1 ), tmp65 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp65 tmp68 = einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), t2 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp67 tmp64 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp63 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) del tmp63 tmp77 = einsum ( tmp76 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 4 , 3 )) * 0.5 del tmp76 tmp73 = einsum ( tmp20 , ( 0 , 1 , 2 ), tmp19 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) del tmp19 , tmp20 tmp72 = einsum ( t1 , ( 0 , 1 ), tmp71 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp71 tmp75 = einsum ( tmp74 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 2 , 3 , 0 , 4 )) del tmp74 tmp86 = einsum ( t1 , ( 0 , 1 ), tmp17 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) del tmp17 tmp81 = einsum ( t1 , ( 0 , 1 ), tmp80 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp80 tmp79 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp24 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 3 , 5 )) tmp44 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp22 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp58 = einsum ( t1 , ( 0 , 1 ), tmp57 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp57 tmp48 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp47 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) del tmp47 tmp52 = einsum ( tmp51 , ( 0 , 1 ), t2 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp51 tmp61 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp60 , ( 1 , 4 ), ( 4 , 0 , 3 , 2 )) del tmp60 tmp42 = einsum ( tmp41 , ( 0 , 1 ), t2 , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp41 tmp40 = einsum ( t1 , ( 0 , 1 ), tmp39 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp39 tmp23 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp22 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) del tmp22 tmp21 = einsum ( f . vv , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp25 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp24 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) del tmp24 tmp28 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp18 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) del tmp18 , tmp27 tmp3 = np . copy ( np . transpose ( v . xoo , ( 1 , 2 , 0 ))) tmp3 += np . transpose ( tmp2 , ( 1 , 0 , 2 )) tmp7 = einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 0.5 tmp7 += np . transpose ( t2 , ( 0 , 1 , 3 , 2 )) * - 1 tmp7 += t2 * 0.5 tmp14 = np . copy ( tmp6 ) * - 1 tmp14 += einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 ,), ( 0 , 1 , 2 )) * 2 tmp14 += tmp13 del tmp13 tmp15 = np . copy ( f . ov ) tmp15 += tmp9 * - 1 tmp69 = np . copy ( tmp64 ) del tmp64 tmp69 += tmp66 del tmp66 tmp69 += tmp68 * - 1 del tmp68 t2new += np . transpose ( tmp69 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp69 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp69 tmp84 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp84 += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp2 , ( 3 , 4 , 2 ), ( 1 , 3 , 4 , 0 )) del tmp2 tmp78 = np . copy ( tmp72 ) del tmp72 tmp78 += tmp73 * 2 del tmp73 tmp78 += np . transpose ( tmp75 , ( 1 , 0 , 3 , 2 )) del tmp75 tmp78 += np . transpose ( tmp77 , ( 1 , 0 , 3 , 2 )) del tmp77 t2new += np . transpose ( tmp78 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp78 * - 1 del tmp78 tmp87 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp87 += einsum ( tmp86 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 4 ), ( 3 , 4 , 2 , 1 )) del tmp86 t2new += einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 0 ), ( 4 , 5 , 1 , 3 )) del tmp87 tmp85 = np . copy ( t2 ) tmp85 += einsum ( t1 , ( 0 , 1 ), t1 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) t2new += einsum ( tmp85 , ( 0 , 1 , 2 , 3 ), tmp84 , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 3 , 2 )) del tmp85 , tmp84 tmp82 = np . copy ( tmp79 ) del tmp79 tmp82 += tmp81 del tmp81 t2new += np . transpose ( tmp82 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp82 * - 1 del tmp82 tmp62 = np . copy ( tmp44 ) del tmp44 tmp62 += tmp48 del tmp48 tmp62 += np . transpose ( tmp52 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp52 tmp62 += np . transpose ( tmp58 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp58 tmp62 += np . transpose ( tmp61 , ( 1 , 0 , 3 , 2 )) del tmp61 t2new += np . transpose ( tmp62 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp62 * - 1 del tmp62 tmp43 = np . copy ( tmp21 ) del tmp21 tmp43 += tmp23 * - 1 del tmp23 tmp43 += tmp25 * - 1 del tmp25 tmp43 += np . transpose ( tmp28 , ( 0 , 1 , 3 , 2 )) del tmp28 tmp43 += np . transpose ( tmp40 , ( 0 , 1 , 3 , 2 )) del tmp40 tmp43 += np . transpose ( tmp42 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp42 t2new += np . transpose ( tmp43 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp43 , ( 0 , 1 , 3 , 2 )) del tmp43 tmp83 = einsum ( f . oo , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) t2new += np . transpose ( tmp83 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp83 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp83 tmp4 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 4 ), ( 1 , 3 , 0 , 4 )) del tmp3 t1new += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 1 del tmp5 , tmp4 tmp10 = np . copy ( f . ov ) tmp10 += tmp1 * 2 del tmp1 tmp10 += tmp9 * - 1 del tmp9 t1new += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 0 , 3 ), ( 1 , 2 )) del tmp11 , tmp10 tmp8 = np . copy ( tmp6 ) del tmp6 tmp8 += einsum ( t1 , ( 0 , 1 ), tmp0 , ( 2 ,), ( 0 , 1 , 2 )) * - 2 del tmp0 tmp8 += einsum ( v . xov , ( 0 , 1 , 2 ), tmp7 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) * 2 del tmp7 t1new += einsum ( v . xvv , ( 0 , 1 , 2 ), tmp8 , ( 3 , 2 , 0 ), ( 3 , 1 )) * - 1 del tmp8 tmp16 = np . copy ( f . oo ) * 0.5 tmp16 += np . transpose ( tmp12 , ( 1 , 0 )) del tmp12 tmp16 += einsum ( tmp14 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 3 , 0 )) * 0.5 del tmp14 tmp16 += einsum ( tmp15 , ( 0 , 1 ), t1 , ( 2 , 1 ), ( 0 , 2 )) * 0.5 del tmp15 t1new += einsum ( tmp16 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 2 del tmp16 t1new += einsum ( t1 , ( 0 , 1 ), f . vv , ( 2 , 1 ), ( 0 , 2 )) t1new += f . ov return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/RDFQCISD/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-09T21:55:24.075107 python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0] albert version: 0.0.0 caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py node: fv-az1487-369 system: Linux processor: x86_64 release: 6.5.0-1025-azure ebcc . codegen . RDFQCISD . energy ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T21:55:24.637097. Parameters t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns e_cc : float Coupled cluster energy. Source code in ebcc/codegen/RDFQCISD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:55:24.637097. Parameters ---------- t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- e_cc : float Coupled cluster energy. \"\"\" tmp0 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp0 += t2 * - 1 tmp1 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 0 , 3 ), ( 1 , 2 , 4 )) * 0.5 del tmp0 e_cc = einsum ( v . xov , ( 0 , 1 , 2 ), tmp1 , ( 1 , 2 , 0 ), ()) * 2 del tmp1 return e_cc ebcc . codegen . RDFQCISD . update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T21:55:33.663301. 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. Source code in ebcc/codegen/RDFQCISD.py 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:55:33.663301. 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. \"\"\" tmp16 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 2 , 4 ), ( 3 , 4 , 0 )) t2new = einsum ( tmp16 , ( 0 , 1 , 2 ), tmp16 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp11 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp11 += t2 * - 1 tmp19 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) tmp19 += tmp16 * - 1 tmp15 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) t2new += np . transpose ( tmp15 , ( 1 , 0 , 3 , 2 )) tmp32 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp11 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) tmp18 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp20 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp19 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) del tmp19 tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 1 , 4 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 3 , 5 )) tmp6 = einsum ( v . xoo , ( 0 , 1 , 2 ), t1 , ( 2 , 3 ), ( 1 , 3 , 0 )) tmp28 = einsum ( t1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp35 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp33 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) * 0.5 del tmp32 tmp21 = np . copy ( np . transpose ( tmp18 , ( 1 , 0 , 3 , 2 ))) tmp21 += tmp17 * - 1 del tmp17 tmp21 += tmp20 * - 2 del tmp20 tmp23 = np . copy ( tmp6 ) tmp23 += tmp16 del tmp16 tmp2 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp0 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 1 , 2 ), ( 0 ,)) tmp27 = einsum ( f . vv , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp30 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) del tmp18 tmp29 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp28 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) del tmp28 tmp36 = einsum ( tmp35 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp35 tmp34 = einsum ( tmp33 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 2 , 3 , 0 , 4 )) * 2 del tmp33 tmp22 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp21 tmp24 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp23 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) del tmp23 tmp39 = np . copy ( np . transpose ( tmp15 , ( 1 , 0 , 2 , 3 ))) * 2 tmp39 += np . transpose ( tmp15 , ( 1 , 0 , 3 , 2 )) * - 1 tmp7 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp7 += t2 * - 0.5 tmp3 = np . copy ( np . transpose ( v . xoo , ( 1 , 2 , 0 ))) tmp3 += np . transpose ( tmp2 , ( 1 , 0 , 2 )) tmp1 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp0 , ( 0 ,), ( 1 , 2 )) del tmp0 t1new = np . copy ( tmp1 ) * 2 tmp12 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp11 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) * 0.5 del tmp11 tmp31 = np . copy ( tmp27 ) del tmp27 tmp31 += tmp29 del tmp29 tmp31 += tmp30 * - 1 del tmp30 t2new += np . transpose ( tmp31 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp31 , ( 0 , 1 , 3 , 2 )) del tmp31 tmp37 = np . copy ( np . transpose ( tmp34 , ( 1 , 0 , 3 , 2 ))) del tmp34 tmp37 += np . transpose ( tmp36 , ( 1 , 0 , 3 , 2 )) del tmp36 t2new += np . transpose ( tmp37 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp37 * - 1 del tmp37 tmp26 = einsum ( f . oo , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) t2new += np . transpose ( tmp26 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp26 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp26 tmp38 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp38 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 4 , 5 , 3 , 2 ), ( 4 , 0 , 5 , 1 )) del tmp15 t2new += einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 5 , 4 )) del tmp38 tmp14 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) t2new += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) del tmp14 tmp25 = np . copy ( np . transpose ( tmp22 , ( 1 , 0 , 3 , 2 ))) del tmp22 tmp25 += tmp24 del tmp24 t2new += np . transpose ( tmp25 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp25 * - 1 del tmp25 tmp40 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp39 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp40 tmp8 = np . copy ( tmp6 ) del tmp6 tmp8 += einsum ( v . xov , ( 0 , 1 , 2 ), tmp7 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) * - 2 del tmp7 t1new += einsum ( v . xvv , ( 0 , 1 , 2 ), tmp8 , ( 3 , 2 , 0 ), ( 3 , 1 )) * - 1 del tmp8 tmp4 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp3 , ( 3 , 4 , 0 ), ( 4 , 1 , 3 , 2 )) del tmp3 tmp9 = np . copy ( f . ov ) tmp9 += tmp1 * 2 del tmp1 tmp9 += einsum ( v . xov , ( 0 , 1 , 2 ), tmp2 , ( 1 , 3 , 0 ), ( 3 , 2 )) * - 1 del tmp2 tmp10 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp10 += t2 * - 1 t1new += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 0 , 3 ), ( 1 , 2 )) del tmp10 , tmp9 tmp13 = np . copy ( f . oo ) tmp13 += einsum ( tmp12 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 3 , 0 )) * 2 del tmp12 t1new += einsum ( tmp13 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp13 tmp5 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp5 += t2 * 2 t1new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) * - 1 del tmp5 , tmp4 t1new += einsum ( t1 , ( 0 , 1 ), f . vv , ( 2 , 1 ), ( 0 , 2 )) return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"RDFQCISD"},{"location":"reference/codegen/RDFQCISD/#ebcc.codegen.RDFQCISD.energy","text":"Code generated by albert 0.0.0 on 2024-08-09T21:55:24.637097.","title":"energy"},{"location":"reference/codegen/RDFQCISD/#ebcc.codegen.RDFQCISD.energy--parameters","text":"t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFQCISD/#ebcc.codegen.RDFQCISD.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/RDFQCISD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:55:24.637097. Parameters ---------- t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- e_cc : float Coupled cluster energy. \"\"\" tmp0 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp0 += t2 * - 1 tmp1 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), v . xov , ( 4 , 0 , 3 ), ( 1 , 2 , 4 )) * 0.5 del tmp0 e_cc = einsum ( v . xov , ( 0 , 1 , 2 ), tmp1 , ( 1 , 2 , 0 ), ()) * 2 del tmp1 return e_cc","title":"Returns"},{"location":"reference/codegen/RDFQCISD/#ebcc.codegen.RDFQCISD.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-09T21:55:33.663301.","title":"update_amps"},{"location":"reference/codegen/RDFQCISD/#ebcc.codegen.RDFQCISD.update_amps--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RDFQCISD/#ebcc.codegen.RDFQCISD.update_amps--returns","text":"t1new : array Updated T1 residuals. t2new : array Updated T2 residuals. Source code in ebcc/codegen/RDFQCISD.py 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:55:33.663301. 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. \"\"\" tmp16 = einsum ( v . xov , ( 0 , 1 , 2 ), t2 , ( 3 , 1 , 2 , 4 ), ( 3 , 4 , 0 )) t2new = einsum ( tmp16 , ( 0 , 1 , 2 ), tmp16 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp11 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp11 += t2 * - 1 tmp19 = np . copy ( np . transpose ( v . xov , ( 1 , 2 , 0 ))) tmp19 += tmp16 * - 1 tmp15 = einsum ( v . xov , ( 0 , 1 , 2 ), v . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) t2new += np . transpose ( tmp15 , ( 1 , 0 , 3 , 2 )) tmp32 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp11 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) tmp18 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp20 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp19 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) del tmp19 tmp17 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 1 , 4 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 3 , 5 )) tmp6 = einsum ( v . xoo , ( 0 , 1 , 2 ), t1 , ( 2 , 3 ), ( 1 , 3 , 0 )) tmp28 = einsum ( t1 , ( 0 , 1 ), v . xvv , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp35 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp33 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) * 0.5 del tmp32 tmp21 = np . copy ( np . transpose ( tmp18 , ( 1 , 0 , 3 , 2 ))) tmp21 += tmp17 * - 1 del tmp17 tmp21 += tmp20 * - 2 del tmp20 tmp23 = np . copy ( tmp6 ) tmp23 += tmp16 del tmp16 tmp2 = einsum ( t1 , ( 0 , 1 ), v . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp0 = einsum ( v . xov , ( 0 , 1 , 2 ), t1 , ( 1 , 2 ), ( 0 ,)) tmp27 = einsum ( f . vv , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp30 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) del tmp18 tmp29 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp28 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) del tmp28 tmp36 = einsum ( tmp35 , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp35 tmp34 = einsum ( tmp33 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 2 , 3 , 0 , 4 )) * 2 del tmp33 tmp22 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp21 tmp24 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp23 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) del tmp23 tmp39 = np . copy ( np . transpose ( tmp15 , ( 1 , 0 , 2 , 3 ))) * 2 tmp39 += np . transpose ( tmp15 , ( 1 , 0 , 3 , 2 )) * - 1 tmp7 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp7 += t2 * - 0.5 tmp3 = np . copy ( np . transpose ( v . xoo , ( 1 , 2 , 0 ))) tmp3 += np . transpose ( tmp2 , ( 1 , 0 , 2 )) tmp1 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp0 , ( 0 ,), ( 1 , 2 )) del tmp0 t1new = np . copy ( tmp1 ) * 2 tmp12 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp11 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) * 0.5 del tmp11 tmp31 = np . copy ( tmp27 ) del tmp27 tmp31 += tmp29 del tmp29 tmp31 += tmp30 * - 1 del tmp30 t2new += np . transpose ( tmp31 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp31 , ( 0 , 1 , 3 , 2 )) del tmp31 tmp37 = np . copy ( np . transpose ( tmp34 , ( 1 , 0 , 3 , 2 ))) del tmp34 tmp37 += np . transpose ( tmp36 , ( 1 , 0 , 3 , 2 )) del tmp36 t2new += np . transpose ( tmp37 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp37 * - 1 del tmp37 tmp26 = einsum ( f . oo , ( 0 , 1 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) t2new += np . transpose ( tmp26 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp26 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp26 tmp38 = einsum ( v . xoo , ( 0 , 1 , 2 ), v . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp38 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 4 , 5 , 3 , 2 ), ( 4 , 0 , 5 , 1 )) del tmp15 t2new += einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 5 , 4 )) del tmp38 tmp14 = einsum ( v . xvv , ( 0 , 1 , 2 ), v . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) t2new += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) del tmp14 tmp25 = np . copy ( np . transpose ( tmp22 , ( 1 , 0 , 3 , 2 ))) del tmp22 tmp25 += tmp24 del tmp24 t2new += np . transpose ( tmp25 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp25 * - 1 del tmp25 tmp40 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp39 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp40 tmp8 = np . copy ( tmp6 ) del tmp6 tmp8 += einsum ( v . xov , ( 0 , 1 , 2 ), tmp7 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) * - 2 del tmp7 t1new += einsum ( v . xvv , ( 0 , 1 , 2 ), tmp8 , ( 3 , 2 , 0 ), ( 3 , 1 )) * - 1 del tmp8 tmp4 = einsum ( v . xov , ( 0 , 1 , 2 ), tmp3 , ( 3 , 4 , 0 ), ( 4 , 1 , 3 , 2 )) del tmp3 tmp9 = np . copy ( f . ov ) tmp9 += tmp1 * 2 del tmp1 tmp9 += einsum ( v . xov , ( 0 , 1 , 2 ), tmp2 , ( 1 , 3 , 0 ), ( 3 , 2 )) * - 1 del tmp2 tmp10 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * 2 tmp10 += t2 * - 1 t1new += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 0 , 3 ), ( 1 , 2 )) del tmp10 , tmp9 tmp13 = np . copy ( f . oo ) tmp13 += einsum ( tmp12 , ( 0 , 1 , 2 ), v . xov , ( 2 , 3 , 1 ), ( 3 , 0 )) * 2 del tmp12 t1new += einsum ( tmp13 , ( 0 , 1 ), t1 , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp13 tmp5 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp5 += t2 * 2 t1new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) * - 1 del tmp5 , tmp4 t1new += einsum ( t1 , ( 0 , 1 ), f . vv , ( 2 , 1 ), ( 0 , 2 )) return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/RMP2/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-17T12:50:58.144612 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.8.0-40-generic ebcc . codegen . RMP2 . energy ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:50:58.281515. Parameters t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns e_mp : array Source code in ebcc/codegen/RMP2.py 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:58.281515. Parameters ---------- t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- e_mp : array \"\"\" e_mp = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 1 , 3 ), ()) * 2 e_mp += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 3 , 1 , 2 ), ()) * - 1 return e_mp ebcc . codegen . RMP2 . make_rdm1_f ( l2 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:50:58.578008. Parameters l2 : array L2 amplitudes. t2 : array T2 amplitudes. Returns rdm1 : array One-particle reduced density matrix. Source code in ebcc/codegen/RMP2.py 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 def make_rdm1_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:58.578008. 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 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp1 += t2 * - 0.5 tmp0 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp0 += t2 rdm1 . vv = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 0 , 1 ), ( 4 , 3 )) * 4 del tmp1 rdm1 . oo = np . copy ( delta . oo ) * 2 del delta rdm1 . oo += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) * - 4 del tmp0 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 ebcc . codegen . RMP2 . make_rdm2_f ( l2 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:50:58.678943. Parameters l2 : array L2 amplitudes. t2 : array T2 amplitudes. Returns rdm2 : array Two-particle reduced density matrix. Source code in ebcc/codegen/RMP2.py 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 def make_rdm2_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:58.678943. Parameters ---------- l2 : array L2 amplitudes. t2 : array T2 amplitudes. Returns ------- rdm2 : array Two-particle reduced density matrix. \"\"\" rdm2 = Namespace () rdm2 . vvoo = np . copy ( np . transpose ( l2 , ( 0 , 1 , 3 , 2 ))) * - 2 rdm2 . vvoo += l2 * 4 rdm2 . oovv = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 2 rdm2 . oovv += t2 * 4 rdm2 . oooo = np . zeros (( t2 . shape [ 0 ], t2 . shape [ 0 ], t2 . shape [ 0 ], t2 . shape [ 0 ])) 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 . ovov = np . zeros (( t2 . shape [ 0 ], t2 . shape [ - 1 ], t2 . shape [ 0 ], t2 . shape [ - 1 ])) rdm2 . ovvo = np . zeros (( t2 . shape [ 0 ], t2 . shape [ - 1 ], t2 . shape [ - 1 ], t2 . shape [ 0 ])) rdm2 . voov = np . zeros (( t2 . shape [ - 1 ], t2 . shape [ 0 ], t2 . shape [ 0 ], t2 . shape [ - 1 ])) rdm2 . vovo = np . zeros (( t2 . shape [ - 1 ], t2 . shape [ 0 ], t2 . shape [ - 1 ], 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 . vvvv = np . zeros (( t2 . shape [ - 1 ], t2 . shape [ - 1 ], t2 . shape [ - 1 ], t2 . shape [ - 1 ])) 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 )) rdm1 = make_rdm1_f ( t2 = t2 , l2 = l2 ) delta = np . diag ( np . concatenate ([ np . ones ( t2 . shape [ 0 ]), np . zeros ( t2 . shape [ - 1 ])])) rdm1 -= delta * 2 rdm2 += einsum ( delta , ( 0 , 1 ), rdm1 , ( 3 , 2 ), ( 0 , 1 , 2 , 3 )) * 2 rdm2 += einsum ( rdm1 , ( 1 , 0 ), delta , ( 2 , 3 ), ( 0 , 1 , 2 , 3 )) * 2 rdm2 -= einsum ( delta , ( 0 , 3 ), rdm1 , ( 2 , 1 ), ( 0 , 1 , 2 , 3 )) rdm2 -= einsum ( rdm1 , ( 0 , 3 ), delta , ( 1 , 2 ), ( 0 , 1 , 2 , 3 )) rdm2 += einsum ( delta , ( 0 , 1 ), delta , ( 2 , 3 ), ( 0 , 1 , 2 , 3 )) * 4 rdm2 -= einsum ( delta , ( 0 , 3 ), delta , ( 1 , 2 ), ( 0 , 1 , 2 , 3 )) * 2 return rdm2 ebcc . codegen . RMP2 . hbar_matvec_ip_intermediates ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:50:59.753743. Parameters t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp2 : array tmp4 : array Source code in ebcc/codegen/RMP2.py 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 def hbar_matvec_ip_intermediates ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:59.753743. Parameters ---------- t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp2 : array tmp4 : array \"\"\" tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp2 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) return { f \"tmp2\" : tmp2 , f \"tmp4\" : tmp4 } ebcc . codegen . RMP2 . hbar_matvec_ip ( f = None , r1 = None , r2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:50:59.755599. Parameters f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. v : array Electron repulsion integrals. Returns r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RMP2.py 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 def hbar_matvec_ip ( f = None , r1 = None , r2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:59.755599. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp1 = np . copy ( ints . tmp4 ) * 2 del ints . tmp4 tmp1 += ints . tmp2 * - 1 del ints . tmp2 tmp2 = np . copy ( f . oo ) * 2 tmp2 += tmp1 tmp2 += np . transpose ( tmp1 , ( 1 , 0 )) del tmp1 tmp0 = np . copy ( v . ooov ) * - 0.5 tmp0 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) r2new = einsum ( f . vv , ( 0 , 1 ), r2 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) r2new += einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), r1 , ( 3 ,), ( 0 , 2 , 1 )) r2new += einsum ( r2 , ( 0 , 1 , 2 ), f . oo , ( 3 , 0 ), ( 3 , 1 , 2 )) * - 1 r2new += einsum ( r2 , ( 0 , 1 , 2 ), f . oo , ( 3 , 1 ), ( 0 , 3 , 2 )) * - 1 r1new = einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 0 , 3 , 1 , 2 ), ( 3 ,)) * 2 del tmp0 r1new += einsum ( tmp2 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) * - 0.5 del tmp2 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . RMP2 . hbar_matvec_ea_intermediates ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:51:00.870587. Parameters t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns tmp2 : array tmp4 : array Source code in ebcc/codegen/RMP2.py 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 def hbar_matvec_ea_intermediates ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:51:00.870587. Parameters ---------- t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp2 : array tmp4 : array \"\"\" tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 2 , 1 , 4 ), ( 3 , 4 )) tmp2 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 2 ), ( 3 , 4 )) return { f \"tmp2\" : tmp2 , f \"tmp4\" : tmp4 } ebcc . codegen . RMP2 . hbar_matvec_ea ( f = None , r1 = None , r2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:51:00.872408. Parameters f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. v : array Electron repulsion integrals. Returns r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RMP2.py 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 def hbar_matvec_ea ( f = None , r1 = None , r2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:51:00.872408. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp1 = np . copy ( ints . tmp4 ) del ints . tmp4 tmp1 += ints . tmp2 * - 0.5 del ints . tmp2 tmp2 = np . copy ( f . vv ) tmp2 += tmp1 * - 1 tmp2 += np . transpose ( tmp1 , ( 1 , 0 )) * - 1 del tmp1 tmp0 = np . copy ( v . ovvv ) * 2 tmp0 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 r2new = einsum ( r2 , ( 0 , 1 , 2 ), f . vv , ( 3 , 0 ), ( 3 , 1 , 2 )) r2new += einsum ( r2 , ( 0 , 1 , 2 ), f . vv , ( 3 , 1 ), ( 0 , 3 , 2 )) r2new += einsum ( r1 , ( 0 ,), v . ovvv , ( 1 , 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new += einsum ( f . oo , ( 0 , 1 ), r2 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * - 1 r1new = einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 2 , 0 , 1 , 3 ), ( 3 ,)) * - 1 del tmp0 r1new += einsum ( r1 , ( 0 ,), tmp2 , ( 0 , 1 ), ( 1 ,)) del tmp2 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"RMP2"},{"location":"reference/codegen/RMP2/#ebcc.codegen.RMP2.energy","text":"Code generated by albert 0.0.0 on 2024-08-17T12:50:58.281515.","title":"energy"},{"location":"reference/codegen/RMP2/#ebcc.codegen.RMP2.energy--parameters","text":"t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RMP2/#ebcc.codegen.RMP2.energy--returns","text":"e_mp : array Source code in ebcc/codegen/RMP2.py 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:58.281515. Parameters ---------- t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- e_mp : array \"\"\" e_mp = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 1 , 3 ), ()) * 2 e_mp += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 3 , 1 , 2 ), ()) * - 1 return e_mp","title":"Returns"},{"location":"reference/codegen/RMP2/#ebcc.codegen.RMP2.make_rdm1_f","text":"Code generated by albert 0.0.0 on 2024-08-17T12:50:58.578008.","title":"make_rdm1_f"},{"location":"reference/codegen/RMP2/#ebcc.codegen.RMP2.make_rdm1_f--parameters","text":"l2 : array L2 amplitudes. t2 : array T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/RMP2/#ebcc.codegen.RMP2.make_rdm1_f--returns","text":"rdm1 : array One-particle reduced density matrix. Source code in ebcc/codegen/RMP2.py 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 def make_rdm1_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:58.578008. 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 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) tmp1 += t2 * - 0.5 tmp0 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.5 tmp0 += t2 rdm1 . vv = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), l2 , ( 4 , 2 , 0 , 1 ), ( 4 , 3 )) * 4 del tmp1 rdm1 . oo = np . copy ( delta . oo ) * 2 del delta rdm1 . oo += einsum ( l2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) * - 4 del tmp0 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","title":"Returns"},{"location":"reference/codegen/RMP2/#ebcc.codegen.RMP2.make_rdm2_f","text":"Code generated by albert 0.0.0 on 2024-08-17T12:50:58.678943.","title":"make_rdm2_f"},{"location":"reference/codegen/RMP2/#ebcc.codegen.RMP2.make_rdm2_f--parameters","text":"l2 : array L2 amplitudes. t2 : array T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/RMP2/#ebcc.codegen.RMP2.make_rdm2_f--returns","text":"rdm2 : array Two-particle reduced density matrix. Source code in ebcc/codegen/RMP2.py 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 def make_rdm2_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:58.678943. Parameters ---------- l2 : array L2 amplitudes. t2 : array T2 amplitudes. Returns ------- rdm2 : array Two-particle reduced density matrix. \"\"\" rdm2 = Namespace () rdm2 . vvoo = np . copy ( np . transpose ( l2 , ( 0 , 1 , 3 , 2 ))) * - 2 rdm2 . vvoo += l2 * 4 rdm2 . oovv = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 2 rdm2 . oovv += t2 * 4 rdm2 . oooo = np . zeros (( t2 . shape [ 0 ], t2 . shape [ 0 ], t2 . shape [ 0 ], t2 . shape [ 0 ])) 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 . ovov = np . zeros (( t2 . shape [ 0 ], t2 . shape [ - 1 ], t2 . shape [ 0 ], t2 . shape [ - 1 ])) rdm2 . ovvo = np . zeros (( t2 . shape [ 0 ], t2 . shape [ - 1 ], t2 . shape [ - 1 ], t2 . shape [ 0 ])) rdm2 . voov = np . zeros (( t2 . shape [ - 1 ], t2 . shape [ 0 ], t2 . shape [ 0 ], t2 . shape [ - 1 ])) rdm2 . vovo = np . zeros (( t2 . shape [ - 1 ], t2 . shape [ 0 ], t2 . shape [ - 1 ], 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 . vvvv = np . zeros (( t2 . shape [ - 1 ], t2 . shape [ - 1 ], t2 . shape [ - 1 ], t2 . shape [ - 1 ])) 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 )) rdm1 = make_rdm1_f ( t2 = t2 , l2 = l2 ) delta = np . diag ( np . concatenate ([ np . ones ( t2 . shape [ 0 ]), np . zeros ( t2 . shape [ - 1 ])])) rdm1 -= delta * 2 rdm2 += einsum ( delta , ( 0 , 1 ), rdm1 , ( 3 , 2 ), ( 0 , 1 , 2 , 3 )) * 2 rdm2 += einsum ( rdm1 , ( 1 , 0 ), delta , ( 2 , 3 ), ( 0 , 1 , 2 , 3 )) * 2 rdm2 -= einsum ( delta , ( 0 , 3 ), rdm1 , ( 2 , 1 ), ( 0 , 1 , 2 , 3 )) rdm2 -= einsum ( rdm1 , ( 0 , 3 ), delta , ( 1 , 2 ), ( 0 , 1 , 2 , 3 )) rdm2 += einsum ( delta , ( 0 , 1 ), delta , ( 2 , 3 ), ( 0 , 1 , 2 , 3 )) * 4 rdm2 -= einsum ( delta , ( 0 , 3 ), delta , ( 1 , 2 ), ( 0 , 1 , 2 , 3 )) * 2 return rdm2","title":"Returns"},{"location":"reference/codegen/RMP2/#ebcc.codegen.RMP2.hbar_matvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T12:50:59.753743.","title":"hbar_matvec_ip_intermediates"},{"location":"reference/codegen/RMP2/#ebcc.codegen.RMP2.hbar_matvec_ip_intermediates--parameters","text":"t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RMP2/#ebcc.codegen.RMP2.hbar_matvec_ip_intermediates--returns","text":"tmp2 : array tmp4 : array Source code in ebcc/codegen/RMP2.py 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 def hbar_matvec_ip_intermediates ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:59.753743. Parameters ---------- t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp2 : array tmp4 : array \"\"\" tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp2 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) return { f \"tmp2\" : tmp2 , f \"tmp4\" : tmp4 }","title":"Returns"},{"location":"reference/codegen/RMP2/#ebcc.codegen.RMP2.hbar_matvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T12:50:59.755599.","title":"hbar_matvec_ip"},{"location":"reference/codegen/RMP2/#ebcc.codegen.RMP2.hbar_matvec_ip--parameters","text":"f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RMP2/#ebcc.codegen.RMP2.hbar_matvec_ip--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RMP2.py 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 def hbar_matvec_ip ( f = None , r1 = None , r2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:59.755599. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp1 = np . copy ( ints . tmp4 ) * 2 del ints . tmp4 tmp1 += ints . tmp2 * - 1 del ints . tmp2 tmp2 = np . copy ( f . oo ) * 2 tmp2 += tmp1 tmp2 += np . transpose ( tmp1 , ( 1 , 0 )) del tmp1 tmp0 = np . copy ( v . ooov ) * - 0.5 tmp0 += np . transpose ( v . ovoo , ( 0 , 2 , 3 , 1 )) r2new = einsum ( f . vv , ( 0 , 1 ), r2 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) r2new += einsum ( v . ovoo , ( 0 , 1 , 2 , 3 ), r1 , ( 3 ,), ( 0 , 2 , 1 )) r2new += einsum ( r2 , ( 0 , 1 , 2 ), f . oo , ( 3 , 0 ), ( 3 , 1 , 2 )) * - 1 r2new += einsum ( r2 , ( 0 , 1 , 2 ), f . oo , ( 3 , 1 ), ( 0 , 3 , 2 )) * - 1 r1new = einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 0 , 3 , 1 , 2 ), ( 3 ,)) * 2 del tmp0 r1new += einsum ( tmp2 , ( 0 , 1 ), r1 , ( 0 ,), ( 1 ,)) * - 0.5 del tmp2 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RMP2/#ebcc.codegen.RMP2.hbar_matvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T12:51:00.870587.","title":"hbar_matvec_ea_intermediates"},{"location":"reference/codegen/RMP2/#ebcc.codegen.RMP2.hbar_matvec_ea_intermediates--parameters","text":"t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RMP2/#ebcc.codegen.RMP2.hbar_matvec_ea_intermediates--returns","text":"tmp2 : array tmp4 : array Source code in ebcc/codegen/RMP2.py 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 def hbar_matvec_ea_intermediates ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:51:00.870587. Parameters ---------- t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- tmp2 : array tmp4 : array \"\"\" tmp4 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 2 , 1 , 4 ), ( 3 , 4 )) tmp2 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 4 , 1 , 2 ), ( 3 , 4 )) return { f \"tmp2\" : tmp2 , f \"tmp4\" : tmp4 }","title":"Returns"},{"location":"reference/codegen/RMP2/#ebcc.codegen.RMP2.hbar_matvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T12:51:00.872408.","title":"hbar_matvec_ea"},{"location":"reference/codegen/RMP2/#ebcc.codegen.RMP2.hbar_matvec_ea--parameters","text":"f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RMP2/#ebcc.codegen.RMP2.hbar_matvec_ea--returns","text":"r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. Source code in ebcc/codegen/RMP2.py 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 def hbar_matvec_ea ( f = None , r1 = None , r2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:51:00.872408. Parameters ---------- f : array Fock matrix. r1 : array R1 amplitudes. r2 : array R2 amplitudes. v : array Electron repulsion integrals. Returns ------- r1new : array Updated R1 residuals. r2new : array Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] tmp1 = np . copy ( ints . tmp4 ) del ints . tmp4 tmp1 += ints . tmp2 * - 0.5 del ints . tmp2 tmp2 = np . copy ( f . vv ) tmp2 += tmp1 * - 1 tmp2 += np . transpose ( tmp1 , ( 1 , 0 )) * - 1 del tmp1 tmp0 = np . copy ( v . ovvv ) * 2 tmp0 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 r2new = einsum ( r2 , ( 0 , 1 , 2 ), f . vv , ( 3 , 0 ), ( 3 , 1 , 2 )) r2new += einsum ( r2 , ( 0 , 1 , 2 ), f . vv , ( 3 , 1 ), ( 0 , 3 , 2 )) r2new += einsum ( r1 , ( 0 ,), v . ovvv , ( 1 , 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new += einsum ( f . oo , ( 0 , 1 ), r2 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * - 1 r1new = einsum ( r2 , ( 0 , 1 , 2 ), tmp0 , ( 2 , 0 , 1 , 3 ), ( 3 ,)) * - 1 del tmp0 r1new += einsum ( r1 , ( 0 ,), tmp2 , ( 0 , 1 ), ( 1 ,)) del tmp2 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/RMP3/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-09T21:27:26.366216 python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0] albert version: 0.0.0 caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py node: fv-az1487-369 system: Linux processor: x86_64 release: 6.5.0-1025-azure ebcc . codegen . RMP3 . energy ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T21:27:30.414237. Parameters t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns e_mp : array Source code in ebcc/codegen/RMP3.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:27:30.414237. Parameters ---------- t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- e_mp : array \"\"\" tmp5 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 0 , 1 , 5 )) tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) e_mp = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 0 , 1 , 3 , 2 ), ()) * - 4 tmp1 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.25 tmp1 += t2 tmp6 = np . copy ( np . transpose ( tmp5 , ( 3 , 1 , 2 , 0 ))) * - 0.5 tmp6 += np . transpose ( tmp5 , ( 3 , 2 , 1 , 0 )) del tmp5 e_mp += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), v . oooo , ( 0 , 1 , 2 , 3 ), ()) * 2 del tmp6 tmp4 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) tmp4 += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * 4 tmp4 += np . transpose ( tmp0 , ( 0 , 1 , 3 , 2 )) * - 4 del tmp0 tmp4 += np . transpose ( tmp3 , ( 1 , 0 , 2 , 3 )) * - 2 tmp4 += np . transpose ( tmp3 , ( 1 , 0 , 3 , 2 )) del tmp3 e_mp += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 3 , 2 ), ()) * - 1 del tmp4 tmp2 = np . copy ( t2 ) tmp2 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 4 tmp2 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 1 , 4 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) * - 4 del tmp1 e_mp += einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 2 , 1 , 3 ), ()) * 2 del tmp2 return e_mp","title":"RMP3"},{"location":"reference/codegen/RMP3/#ebcc.codegen.RMP3.energy","text":"Code generated by albert 0.0.0 on 2024-08-09T21:27:30.414237.","title":"energy"},{"location":"reference/codegen/RMP3/#ebcc.codegen.RMP3.energy--parameters","text":"t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RMP3/#ebcc.codegen.RMP3.energy--returns","text":"e_mp : array Source code in ebcc/codegen/RMP3.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:27:30.414237. Parameters ---------- t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns ------- e_mp : array \"\"\" tmp5 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 5 , 2 , 3 ), ( 4 , 0 , 1 , 5 )) tmp3 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp0 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . oovv , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) e_mp = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 0 , 1 , 3 , 2 ), ()) * - 4 tmp1 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 0.25 tmp1 += t2 tmp6 = np . copy ( np . transpose ( tmp5 , ( 3 , 1 , 2 , 0 ))) * - 0.5 tmp6 += np . transpose ( tmp5 , ( 3 , 2 , 1 , 0 )) del tmp5 e_mp += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), v . oooo , ( 0 , 1 , 2 , 3 ), ()) * 2 del tmp6 tmp4 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) tmp4 += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * 4 tmp4 += np . transpose ( tmp0 , ( 0 , 1 , 3 , 2 )) * - 4 del tmp0 tmp4 += np . transpose ( tmp3 , ( 1 , 0 , 2 , 3 )) * - 2 tmp4 += np . transpose ( tmp3 , ( 1 , 0 , 3 , 2 )) del tmp3 e_mp += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 1 , 3 , 2 ), ()) * - 1 del tmp4 tmp2 = np . copy ( t2 ) tmp2 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 4 tmp2 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 1 , 4 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) * - 4 del tmp1 e_mp += einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 0 , 2 , 1 , 3 ), ()) * 2 del tmp2 return e_mp","title":"Returns"},{"location":"reference/codegen/RQCISD/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-09T21:54:52.369137 python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0] albert version: 0.0.0 caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py node: fv-az1487-369 system: Linux processor: x86_64 release: 6.5.0-1025-azure ebcc . codegen . RQCISD . energy ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T21:54:52.627478. Parameters t2 : array T2 amplitudes. v : array Electron repulsion integrals. Returns e_cc : float Coupled cluster energy. Source code in ebcc/codegen/RQCISD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:54:52.627478. 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 ), ()) * 2 e_cc += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 3 , 1 ), ()) * - 1 return e_cc ebcc . codegen . RQCISD . update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T21:54:58.365637. 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. Source code in ebcc/codegen/RQCISD.py 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:54:58.365637. 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 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) tmp18 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp14 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * 2 tmp14 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp21 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp18 , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) * 2 tmp19 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp18 , ( 0 , 1 , 4 , 2 ), ( 3 , 4 )) del tmp18 tmp15 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp14 tmp9 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) t2new = np . copy ( np . transpose ( tmp9 , ( 1 , 0 , 3 , 2 ))) * - 1 tmp22 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp21 , ( 4 , 1 ), ( 0 , 4 , 3 , 2 )) del tmp21 tmp20 = einsum ( tmp19 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 2 , 3 , 4 , 0 )) * 2 del tmp19 tmp16 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) tmp13 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp11 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp10 = einsum ( f . vv , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp1 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp3 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp3 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * 2 tmp7 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * 2 tmp7 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp27 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * - 1 tmp27 += tmp9 del tmp9 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp27 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) del tmp27 tmp25 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp25 += v . oovv * - 1 tmp25 += tmp15 * 2 del tmp15 t2new += einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp25 tmp23 = np . copy ( np . transpose ( tmp20 , ( 1 , 0 , 2 , 3 ))) del tmp20 tmp23 += np . transpose ( tmp22 , ( 0 , 1 , 3 , 2 )) del tmp22 t2new += np . transpose ( tmp23 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp23 * - 1 del tmp23 tmp17 = np . copy ( tmp13 ) del tmp13 tmp17 += np . transpose ( tmp16 , ( 1 , 0 , 3 , 2 )) del tmp16 t2new += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp17 * - 1 del tmp17 tmp26 = np . copy ( v . oooo ) tmp26 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) t2new += einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 4 , 5 )) del tmp26 tmp12 = np . copy ( tmp10 ) del tmp10 tmp12 += tmp11 del tmp11 t2new += np . transpose ( tmp12 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp12 , ( 0 , 1 , 3 , 2 )) del tmp12 tmp28 = np . copy ( v . oovv ) * - 1 tmp28 += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp28 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 3 , 5 )) del tmp28 tmp24 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) t2new += np . transpose ( tmp24 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp24 tmp6 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp6 += v . oovv * - 1 t1new = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 2 ), ( 1 , 3 )) del tmp6 tmp0 = np . copy ( v . ovvv ) * - 0.5 tmp0 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) t1new += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) * 2 del tmp0 tmp5 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp5 += t2 * 2 tmp2 = np . copy ( v . ooov ) tmp2 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp2 += tmp1 * - 0.5 tmp2 += np . transpose ( tmp1 , ( 0 , 2 , 1 , 3 )) del tmp1 t1new += einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) * - 2 del tmp2 tmp4 = np . copy ( f . ov ) tmp4 += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 2 ), ( 1 , 3 )) del tmp3 t1new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 2 ), ( 1 , 3 )) del tmp5 , tmp4 tmp8 = np . copy ( f . oo ) tmp8 += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 3 ), ( 1 , 4 )) del tmp7 t1new += einsum ( t1 , ( 0 , 1 ), tmp8 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp8 t1new += einsum ( t1 , ( 0 , 1 ), f . vv , ( 2 , 1 ), ( 0 , 2 )) t2new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * - 1 t2new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) * - 1 t2new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) * 2 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) t2new += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"RQCISD"},{"location":"reference/codegen/RQCISD/#ebcc.codegen.RQCISD.energy","text":"Code generated by albert 0.0.0 on 2024-08-09T21:54:52.627478.","title":"energy"},{"location":"reference/codegen/RQCISD/#ebcc.codegen.RQCISD.energy--parameters","text":"t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RQCISD/#ebcc.codegen.RQCISD.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/RQCISD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:54:52.627478. 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 ), ()) * 2 e_cc += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 3 , 1 ), ()) * - 1 return e_cc","title":"Returns"},{"location":"reference/codegen/RQCISD/#ebcc.codegen.RQCISD.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-09T21:54:58.365637.","title":"update_amps"},{"location":"reference/codegen/RQCISD/#ebcc.codegen.RQCISD.update_amps--parameters","text":"f : array Fock matrix. t1 : array T1 amplitudes. t2 : array T2 amplitudes. v : array Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/RQCISD/#ebcc.codegen.RQCISD.update_amps--returns","text":"t1new : array Updated T1 residuals. t2new : array Updated T2 residuals. Source code in ebcc/codegen/RQCISD.py 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:54:58.365637. 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 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) tmp18 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp14 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * 2 tmp14 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp21 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp18 , ( 1 , 4 , 2 , 3 ), ( 0 , 4 )) * 2 tmp19 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp18 , ( 0 , 1 , 4 , 2 ), ( 3 , 4 )) del tmp18 tmp15 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp14 tmp9 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 3 , 5 )) t2new = np . copy ( np . transpose ( tmp9 , ( 1 , 0 , 3 , 2 ))) * - 1 tmp22 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp21 , ( 4 , 1 ), ( 0 , 4 , 3 , 2 )) del tmp21 tmp20 = einsum ( tmp19 , ( 0 , 1 ), t2 , ( 2 , 3 , 1 , 4 ), ( 2 , 3 , 4 , 0 )) * 2 del tmp19 tmp16 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp15 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) tmp13 = einsum ( t1 , ( 0 , 1 ), v . ooov , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp11 = einsum ( v . ovvv , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp10 = einsum ( f . vv , ( 0 , 1 ), t2 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp1 = einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t1 , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp3 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp3 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * 2 tmp7 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 3 , 1 ))) * 2 tmp7 += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp27 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * - 1 tmp27 += tmp9 del tmp9 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp27 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) del tmp27 tmp25 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp25 += v . oovv * - 1 tmp25 += tmp15 * 2 del tmp15 t2new += einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp25 tmp23 = np . copy ( np . transpose ( tmp20 , ( 1 , 0 , 2 , 3 ))) del tmp20 tmp23 += np . transpose ( tmp22 , ( 0 , 1 , 3 , 2 )) del tmp22 t2new += np . transpose ( tmp23 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp23 * - 1 del tmp23 tmp17 = np . copy ( tmp13 ) del tmp13 tmp17 += np . transpose ( tmp16 , ( 1 , 0 , 3 , 2 )) del tmp16 t2new += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) * - 1 t2new += tmp17 * - 1 del tmp17 tmp26 = np . copy ( v . oooo ) tmp26 += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . ovov , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) t2new += einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t2 , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 4 , 5 )) del tmp26 tmp12 = np . copy ( tmp10 ) del tmp10 tmp12 += tmp11 del tmp11 t2new += np . transpose ( tmp12 , ( 1 , 0 , 2 , 3 )) t2new += np . transpose ( tmp12 , ( 0 , 1 , 3 , 2 )) del tmp12 tmp28 = np . copy ( v . oovv ) * - 1 tmp28 += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), tmp28 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 3 , 5 )) del tmp28 tmp24 = einsum ( t2 , ( 0 , 1 , 2 , 3 ), f . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) t2new += np . transpose ( tmp24 , ( 1 , 0 , 2 , 3 )) * - 1 t2new += np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp24 tmp6 = np . copy ( np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp6 += v . oovv * - 1 t1new = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 2 ), ( 1 , 3 )) del tmp6 tmp0 = np . copy ( v . ovvv ) * - 0.5 tmp0 += np . transpose ( v . ovvv , ( 0 , 2 , 1 , 3 )) t1new += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 1 , 2 ), ( 4 , 3 )) * 2 del tmp0 tmp5 = np . copy ( np . transpose ( t2 , ( 0 , 1 , 3 , 2 ))) * - 1 tmp5 += t2 * 2 tmp2 = np . copy ( v . ooov ) tmp2 += np . transpose ( v . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp2 += tmp1 * - 0.5 tmp2 += np . transpose ( tmp1 , ( 0 , 2 , 1 , 3 )) del tmp1 t1new += einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 )) * - 2 del tmp2 tmp4 = np . copy ( f . ov ) tmp4 += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t1 , ( 0 , 2 ), ( 1 , 3 )) del tmp3 t1new += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 2 ), ( 1 , 3 )) del tmp5 , tmp4 tmp8 = np . copy ( f . oo ) tmp8 += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 0 , 2 , 3 ), ( 1 , 4 )) del tmp7 t1new += einsum ( t1 , ( 0 , 1 ), tmp8 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp8 t1new += einsum ( t1 , ( 0 , 1 ), f . vv , ( 2 , 1 ), ( 0 , 2 )) t2new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * - 1 t2new += einsum ( v . oovv , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) * - 1 t2new += einsum ( v . ovov , ( 0 , 1 , 2 , 3 ), t2 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) * 2 t2new += einsum ( t2 , ( 0 , 1 , 2 , 3 ), v . vvvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) t2new += np . transpose ( v . ovov , ( 0 , 2 , 1 , 3 )) return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/UCC2/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-17T18:50:02.565209 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.8.0-40-generic ebcc . codegen . UCC2 . energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:50:03.323312. 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. Source code in ebcc/codegen/UCC2.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:03.323312. 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 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp2 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp0 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp0 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp3 = np . copy ( f . aa . ov ) * 2 tmp3 += einsum ( t1 . aa , ( 0 , 1 ), tmp2 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) * - 1 del tmp2 tmp1 = np . copy ( f . bb . ov ) * 2 tmp1 += einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) * 2 tmp1 += einsum ( t1 . bb , ( 0 , 1 ), tmp0 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * - 1 del tmp0 e_cc = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 3 , 1 ), ()) * - 1 e_cc += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ()) e_cc += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 3 , 1 ), ()) * - 1 e_cc += einsum ( t1 . bb , ( 0 , 1 ), tmp1 , ( 0 , 1 ), ()) * 0.5 del tmp1 e_cc += einsum ( t1 . aa , ( 0 , 1 ), tmp3 , ( 0 , 1 ), ()) * 0.5 del tmp3 return e_cc ebcc . codegen . UCC2 . update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:50:13.269602. 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. Source code in ebcc/codegen/UCC2.py 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:13.269602. 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 () tmp17 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp2 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp11 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp11 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp5 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp5 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp74 = einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp72 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp68 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp16 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp33 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp37 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp41 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp12 = einsum ( t1 . bb , ( 0 , 1 ), tmp11 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp11 tmp10 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp6 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 3 ), ( 1 , 2 )) del tmp5 tmp1 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp47 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp75 = einsum ( tmp74 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) del tmp74 tmp65 = einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp51 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 2 , 1 ), ( 2 , 0 )) tmp77 = einsum ( v . bbbb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp61 = einsum ( v . bbbb . oooo , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp79 = einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp69 = einsum ( t1 . bb , ( 0 , 1 ), tmp68 , ( 2 , 3 , 4 , 0 ), ( 2 , 4 , 3 , 1 )) del tmp68 tmp52 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp54 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp56 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp57 = einsum ( t1 . aa , ( 0 , 1 ), tmp16 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp49 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp26 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp34 = einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) del tmp33 tmp31 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp39 = einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp44 = einsum ( t1 . aa , ( 0 , 1 ), tmp37 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp42 = einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) del tmp41 tmp29 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . oovv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp23 = einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp13 = np . copy ( f . bb . ov ) tmp13 += tmp10 tmp13 += tmp12 * - 1 del tmp12 tmp21 = np . copy ( v . bbbb . ooov ) * - 1 tmp21 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) tmp14 = np . copy ( v . aaaa . ooov ) tmp14 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp7 = np . copy ( f . aa . ov ) tmp7 += tmp1 tmp7 += tmp6 * - 1 del tmp6 tmp48 = np . copy ( f . bb . vv ) tmp48 += tmp47 * - 1 tmp63 = einsum ( f . bb . oo , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp73 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp76 = einsum ( t1 . bb , ( 0 , 1 ), tmp75 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp75 tmp66 = einsum ( t1 . bb , ( 0 , 1 ), tmp65 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp65 tmp64 = np . copy ( f . bb . vv ) tmp64 += tmp47 * - 1 del tmp47 tmp67 = einsum ( tmp51 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp78 = einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) del tmp77 tmp62 = einsum ( t1 . bb , ( 0 , 1 ), tmp61 , ( 2 , 0 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp61 tmp71 = einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp80 = einsum ( t1 . bb , ( 0 , 1 ), tmp79 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp79 tmp70 = einsum ( t1 . bb , ( 0 , 1 ), tmp69 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp69 tmp53 = einsum ( v . aabb . vvoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 3 , 0 )) tmp53 += einsum ( t1 . aa , ( 0 , 1 ), tmp52 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp52 tmp59 = einsum ( v . aabb . oovv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp60 = einsum ( t1 . aa , ( 0 , 1 ), tmp54 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp58 = einsum ( t1 . aa , ( 0 , 1 ), tmp56 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) del tmp56 tmp58 += einsum ( tmp57 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 del tmp57 tmp46 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp50 = einsum ( t1 . bb , ( 0 , 1 ), tmp49 , ( 2 , 3 , 4 , 0 ), ( 3 , 2 , 4 , 1 )) del tmp49 tmp27 = np . copy ( f . aa . vv ) tmp27 += tmp26 * - 1 tmp0 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp55 = np . copy ( np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 ))) tmp55 += einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp35 = einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp34 tmp32 = einsum ( tmp31 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp36 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp25 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp40 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) del tmp39 tmp38 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) tmp45 = einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp44 tmp28 = np . copy ( f . aa . vv ) tmp28 += tmp26 * - 1 del tmp26 tmp43 = einsum ( tmp42 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp42 tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp29 tmp24 = einsum ( t1 . aa , ( 0 , 1 ), tmp23 , ( 2 , 0 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp23 tmp3 = np . copy ( t2 . abab ) tmp3 += einsum ( t1 . aa , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp19 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp19 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) * 2 tmp19 += einsum ( t1 . bb , ( 0 , 1 ), tmp13 , ( 2 , 1 ), ( 2 , 0 )) tmp22 = np . copy ( f . bb . oo ) tmp22 += einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp22 += einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 1 , 0 )) * - 1 del tmp21 tmp18 = np . copy ( t2 . bbbb ) * 2 tmp18 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp20 = np . copy ( f . bb . vv ) tmp20 += einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 1 ), ( 2 , 3 )) tmp15 = np . copy ( f . aa . oo ) tmp15 += einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ooov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp15 += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 3 ), ( 2 , 1 )) * - 1 del tmp14 tmp9 = np . copy ( f . aa . vv ) tmp9 += einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp8 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 2 ), ( 4 , 0 )) * - 1 tmp8 += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) * 0.5 tmp8 += einsum ( t1 . aa , ( 0 , 1 ), tmp7 , ( 2 , 1 ), ( 2 , 0 )) * 0.5 tmp4 = np . copy ( t2 . aaaa ) * 2 tmp4 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) t2new . bbbb = np . copy ( tmp62 ) t2new . bbbb += np . transpose ( tmp63 , ( 1 , 0 , 3 , 2 )) * 2 t2new . bbbb += np . transpose ( tmp62 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp62 t2new . bbbb += np . transpose ( tmp63 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp63 t2new . bbbb += einsum ( tmp64 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp64 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp48 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * 2 t2new . bbbb += np . transpose ( tmp66 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp67 , ( 1 , 0 , 3 , 2 )) * 2 t2new . bbbb += np . transpose ( tmp70 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += np . transpose ( tmp70 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp66 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp67 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp67 t2new . bbbb += np . transpose ( tmp66 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp70 * - 1 t2new . bbbb += np . transpose ( tmp70 , ( 0 , 1 , 3 , 2 )) del tmp70 t2new . bbbb += tmp66 del tmp66 t2new . bbbb += np . transpose ( tmp71 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) t2new . bbbb += np . transpose ( tmp72 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += np . transpose ( tmp71 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 )) * - 1 t2new . bbbb += tmp72 * - 1 t2new . bbbb += np . transpose ( tmp73 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp73 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += tmp73 * - 1 t2new . bbbb += np . transpose ( tmp73 , ( 1 , 0 , 2 , 3 )) del tmp73 t2new . bbbb += np . transpose ( tmp72 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += tmp76 t2new . bbbb += np . transpose ( tmp76 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp76 t2new . bbbb += tmp78 t2new . bbbb += np . transpose ( tmp78 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp78 t2new . bbbb += np . transpose ( tmp80 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp80 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp72 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp72 t2new . bbbb += tmp71 * - 1 t2new . bbbb += np . transpose ( tmp71 , ( 1 , 0 , 2 , 3 )) del tmp71 t2new . bbbb += tmp80 * - 1 t2new . bbbb += np . transpose ( tmp80 , ( 1 , 0 , 2 , 3 )) del tmp80 t2new . abab = einsum ( f . bb . oo , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 1 t2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp46 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp46 t2new . abab += einsum ( f . aa . oo , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) t2new . abab += einsum ( tmp48 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) del tmp48 t2new . abab += einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp50 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp51 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp51 t2new . abab += einsum ( tmp31 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp31 t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), tmp53 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp53 t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), tmp16 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 t2new . abab += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) t2new . abab += tmp54 del tmp54 t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovoo , ( 2 , 3 , 4 , 0 ), ( 2 , 4 , 3 , 1 )) * - 1 t2new . abab += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 t2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp55 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp55 t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), tmp58 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp58 t2new . abab += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 t2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp59 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp59 t2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp60 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp60 t2new . aaaa = np . copy ( tmp24 ) t2new . aaaa += np . transpose ( tmp25 , ( 1 , 0 , 3 , 2 )) * 2 t2new . aaaa += np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp24 t2new . aaaa += np . transpose ( tmp25 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp25 t2new . aaaa += einsum ( tmp27 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp27 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp28 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * 2 del tmp28 t2new . aaaa += np . transpose ( tmp30 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * 2 t2new . aaaa += np . transpose ( tmp35 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp30 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp32 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp32 t2new . aaaa += np . transpose ( tmp30 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp35 * - 1 t2new . aaaa += np . transpose ( tmp35 , ( 0 , 1 , 3 , 2 )) del tmp35 t2new . aaaa += tmp30 del tmp30 t2new . aaaa += np . transpose ( tmp36 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) t2new . aaaa += np . transpose ( tmp37 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += np . transpose ( tmp36 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 )) * - 1 t2new . aaaa += tmp37 * - 1 t2new . aaaa += np . transpose ( tmp38 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp38 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += tmp38 * - 1 t2new . aaaa += np . transpose ( tmp38 , ( 1 , 0 , 2 , 3 )) del tmp38 t2new . aaaa += np . transpose ( tmp37 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += tmp40 t2new . aaaa += np . transpose ( tmp40 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp40 t2new . aaaa += tmp43 t2new . aaaa += np . transpose ( tmp43 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp43 t2new . aaaa += np . transpose ( tmp45 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp45 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp37 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp37 t2new . aaaa += tmp36 * - 1 t2new . aaaa += np . transpose ( tmp36 , ( 1 , 0 , 2 , 3 )) del tmp36 t2new . aaaa += tmp45 * - 1 t2new . aaaa += np . transpose ( tmp45 , ( 1 , 0 , 2 , 3 )) del tmp45 t1new . bb = einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 del tmp16 t1new . bb += einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * 2 del tmp17 t1new . bb += f . bb . ov t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) t1new . bb += tmp10 del tmp10 t1new . bb += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) t1new . bb += einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), tmp18 , ( 0 , 4 , 3 , 1 ), ( 4 , 2 )) * - 1 del tmp18 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp19 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp19 t1new . bb += einsum ( tmp20 , ( 0 , 1 ), t1 . bb , ( 2 , 0 ), ( 2 , 1 )) del tmp20 t1new . bb += einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * 2 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * - 1 t1new . bb += einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 t1new . bb += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 2 ), ( 1 , 3 )) t1new . bb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp13 , ( 1 , 3 ), ( 0 , 2 )) * 2 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp22 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp22 t1new . aa = np . copy ( f . aa . ov ) t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 del tmp0 t1new . aa += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) t1new . aa += tmp1 del tmp1 t1new . aa += einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * 2 del tmp2 t1new . aa += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) del tmp3 t1new . aa += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 0 , 3 , 4 , 2 ), ( 1 , 4 )) * - 1 del tmp4 t1new . aa += einsum ( tmp8 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * - 2 del tmp8 t1new . aa += einsum ( tmp9 , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 2 , 1 )) del tmp9 t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 t1new . aa += einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 )) * - 1 t1new . aa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * 2 t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp13 , ( 1 , 3 ), ( 0 , 2 )) del tmp13 t1new . aa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp7 , ( 1 , 3 ), ( 0 , 2 )) * 2 del tmp7 t1new . aa += einsum ( t1 . aa , ( 0 , 1 ), tmp15 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp15 return { f \"t1new\" : t1new , f \"t2new\" : t2new } ebcc . codegen . UCC2 . 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-17T18:51:15.236533. 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. Source code in ebcc/codegen/UCC2.py 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 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-17T18:51:15.236533. 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 () tmp90 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp90 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp153 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp153 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp7 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp7 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp2 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp188 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp188 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp207 = np . copy ( v . bbbb . ovvv ) * - 1 tmp207 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) tmp176 = np . copy ( v . bbbb . ovvv ) tmp176 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 tmp89 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp91 = einsum ( t1 . bb , ( 0 , 1 ), tmp90 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp90 tmp154 = einsum ( t1 . aa , ( 0 , 1 ), tmp153 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) del tmp153 tmp6 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp145 = np . copy ( v . aaaa . ovvv ) * - 1 tmp145 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) tmp8 = einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 3 ), ( 1 , 2 )) del tmp7 tmp164 = np . copy ( v . aaaa . ovvv ) tmp164 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 tmp41 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) tmp42 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp40 = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 1 , 2 ), ( 2 , 0 )) tmp38 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp36 = einsum ( t1 . bb , ( 0 , 1 ), l2 . abab , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp87 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp14 = np . copy ( np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 ))) tmp14 += tmp2 tmp52 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp51 = einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 1 , 2 )) tmp53 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp0 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp47 = einsum ( t1 . aa , ( 0 , 1 ), l2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp189 = einsum ( t1 . bb , ( 0 , 1 ), tmp188 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp188 tmp208 = einsum ( t1 . bb , ( 0 , 1 ), tmp207 , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) del tmp207 tmp186 = einsum ( tmp176 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 2 ), ( 1 , 3 )) tmp130 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp109 = np . copy ( v . bbbb . ooov ) tmp109 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp92 = np . copy ( f . bb . ov ) tmp92 += tmp89 tmp92 += tmp91 * - 1 del tmp91 tmp118 = np . copy ( v . bbbb . ovvv ) tmp118 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 tmp178 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . vvov , ( 2 , 1 , 3 , 4 ), ( 0 , 3 , 2 , 4 )) tmp155 = np . copy ( f . aa . ov ) tmp155 += tmp6 tmp155 += tmp154 * - 1 del tmp154 tmp151 = np . copy ( v . aaaa . ooov ) tmp151 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp84 = np . copy ( v . aaaa . ovvv ) tmp84 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 tmp146 = einsum ( t1 . aa , ( 0 , 1 ), tmp145 , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) del tmp145 tmp10 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp59 = np . copy ( v . aaaa . ooov ) tmp59 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp9 = np . copy ( f . aa . ov ) tmp9 += tmp6 tmp9 += tmp8 * - 1 del tmp8 tmp165 = einsum ( tmp164 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 2 ), ( 1 , 3 )) del tmp164 tmp83 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp43 = np . copy ( tmp40 ) tmp43 += tmp41 del tmp41 tmp43 += tmp42 * 2 del tmp42 tmp115 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp116 = einsum ( t1 . bb , ( 0 , 1 ), tmp38 , ( 2 , 3 , 4 , 1 ), ( 3 , 2 , 4 , 0 )) tmp69 = einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp68 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 0 , 1 ), ( 2 , 4 , 3 , 5 )) tmp100 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp99 = einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp97 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp13 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp12 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp15 = einsum ( t1 . aa , ( 0 , 1 ), tmp14 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp93 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp4 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp54 = np . copy ( tmp51 ) * 0.5 tmp54 += tmp52 tmp54 += tmp53 * 0.5 tmp49 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 0 ), ( 2 , 4 , 3 , 1 )) tmp21 = einsum ( t1 . aa , ( 0 , 1 ), tmp0 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp22 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp65 = einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp64 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp190 = np . copy ( f . bb . ov ) tmp190 += tmp89 tmp190 += tmp189 * - 1 del tmp189 tmp108 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp212 = np . copy ( v . bbbb . ooov ) tmp212 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp209 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp209 += v . bbbb . oovv * - 1 tmp209 += np . transpose ( tmp208 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp208 tmp219 = np . copy ( f . bb . vv ) tmp219 += np . transpose ( tmp130 , ( 1 , 0 )) tmp219 += tmp186 * - 1 tmp203 = np . copy ( v . bbbb . ovvv ) * - 1 tmp203 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) tmp110 = einsum ( t1 . bb , ( 0 , 1 ), tmp109 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) del tmp109 tmp111 = einsum ( tmp92 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp131 = einsum ( tmp118 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 2 ), ( 1 , 3 )) tmp180 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp179 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp179 += tmp178 tmp196 = np . copy ( np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 ))) tmp196 += tmp87 tmp156 = einsum ( t1 . aa , ( 0 , 1 ), tmp155 , ( 2 , 1 ), ( 2 , 0 )) tmp152 = einsum ( tmp151 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 3 ), ( 1 , 2 )) del tmp151 tmp58 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp85 = einsum ( tmp84 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 2 ), ( 1 , 3 )) del tmp84 tmp143 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) tmp3 = np . copy ( np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 ))) tmp3 += np . transpose ( tmp2 , ( 0 , 2 , 1 , 3 )) tmp147 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp147 += v . aaaa . oovv * - 1 tmp147 += np . transpose ( tmp146 , ( 1 , 0 , 2 , 3 )) * - 1 tmp134 = np . copy ( np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 ))) tmp134 += tmp0 tmp149 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp149 += tmp10 tmp60 = einsum ( tmp59 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 3 ), ( 1 , 2 )) del tmp59 tmp61 = einsum ( t1 . aa , ( 0 , 1 ), tmp9 , ( 2 , 1 ), ( 0 , 2 )) tmp166 = np . copy ( f . aa . vv ) tmp166 += np . transpose ( tmp83 , ( 1 , 0 )) tmp166 += tmp165 * - 1 del tmp165 tmp29 = np . copy ( v . aaaa . ovvv ) * - 1 tmp29 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) tmp35 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) tmp39 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp38 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) tmp106 = einsum ( t1 . bb , ( 0 , 1 ), tmp43 , ( 0 , 2 ), ( 2 , 1 )) * 0.5 tmp37 = einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) tmp34 = einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) tmp123 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp36 , ( 0 , 4 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp125 = np . copy ( np . transpose ( tmp115 , ( 1 , 0 , 3 , 2 ))) tmp125 += np . transpose ( tmp116 , ( 0 , 1 , 3 , 2 )) * - 1 tmp124 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp38 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp70 = np . copy ( tmp68 ) tmp70 += tmp69 tmp96 = np . copy ( v . bbbb . ooov ) tmp96 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp96 += tmp87 * - 1 tmp96 += np . transpose ( tmp87 , ( 0 , 2 , 1 , 3 )) tmp101 = np . copy ( v . bbbb . oooo ) tmp101 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp101 += np . transpose ( tmp99 , ( 2 , 1 , 3 , 0 )) * - 1 tmp101 += np . transpose ( tmp100 , ( 2 , 0 , 3 , 1 )) * - 1 tmp101 += np . transpose ( tmp100 , ( 3 , 0 , 2 , 1 )) tmp98 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 ))) tmp98 += v . bbbb . oovv * - 1 tmp98 += np . transpose ( tmp97 , ( 0 , 1 , 3 , 2 )) tmp25 = einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp26 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp27 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp32 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp31 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 1 , 4 )) tmp30 = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 0 ), ( 2 , 1 )) tmp16 = np . copy ( v . aabb . oooo ) tmp16 += np . transpose ( tmp12 , ( 1 , 0 , 3 , 2 )) tmp16 += np . transpose ( tmp13 , ( 1 , 0 , 3 , 2 )) del tmp13 tmp16 += np . transpose ( tmp15 , ( 1 , 0 , 3 , 2 )) del tmp15 tmp94 = np . copy ( np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 ))) tmp94 += np . transpose ( tmp93 , ( 1 , 0 , 3 , 2 )) tmp5 = np . copy ( v . aabb . ooov ) tmp5 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) tmp88 = np . copy ( v . bbbb . ooov ) * - 1 tmp88 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) tmp88 += np . transpose ( tmp87 , ( 1 , 0 , 2 , 3 )) tmp88 += np . transpose ( tmp87 , ( 2 , 0 , 1 , 3 )) * - 1 tmp48 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp47 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) tmp55 = einsum ( tmp54 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * 2 tmp46 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) tmp45 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp50 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp49 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp77 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp76 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp47 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp23 = np . copy ( v . aaaa . oooo ) tmp23 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 5 , 2 ), ( 4 , 0 , 5 , 1 )) * - 1 tmp23 += np . transpose ( tmp21 , ( 3 , 1 , 2 , 0 )) tmp23 += np . transpose ( tmp22 , ( 2 , 1 , 3 , 0 )) tmp23 += np . transpose ( tmp22 , ( 3 , 2 , 1 , 0 )) * - 1 tmp18 = np . copy ( v . aaaa . ooov ) tmp18 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp18 += tmp0 * - 1 tmp18 += np . transpose ( tmp0 , ( 0 , 2 , 1 , 3 )) tmp20 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) tmp20 += v . aaaa . oovv * - 1 tmp20 += einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp19 = np . copy ( v . aabb . ooov ) tmp19 += tmp4 tmp11 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp11 += tmp10 del tmp10 tmp1 = np . copy ( v . aaaa . ooov ) * - 1 tmp1 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) tmp1 += np . transpose ( tmp0 , ( 1 , 0 , 2 , 3 )) tmp1 += np . transpose ( tmp0 , ( 2 , 0 , 1 , 3 )) * - 1 tmp78 = np . copy ( np . transpose ( tmp64 , ( 1 , 0 , 3 , 2 ))) tmp78 += np . transpose ( tmp65 , ( 0 , 1 , 3 , 2 )) * - 1 tmp218 = einsum ( tmp190 , ( 0 , 1 ), tmp38 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp213 = np . copy ( f . bb . oo ) tmp213 += np . transpose ( tmp108 , ( 1 , 0 )) tmp213 += einsum ( tmp212 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 )) * - 1 del tmp212 tmp213 += einsum ( t1 . bb , ( 0 , 1 ), tmp190 , ( 2 , 1 ), ( 0 , 2 )) tmp225 = einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), tmp87 , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 3 , 5 )) tmp210 = einsum ( tmp209 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 5 , 0 ), ( 1 , 5 , 2 , 4 )) del tmp209 tmp194 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp220 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp219 , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 1 del tmp219 tmp205 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp205 += tmp178 del tmp178 tmp204 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp204 += v . bbbb . oovv * - 1 tmp204 += einsum ( tmp203 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) * - 1 del tmp203 tmp199 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 1 , 0 , 4 , 5 ), ( 2 , 4 , 3 , 5 )) tmp198 = einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), v . bbbb . ovoo , ( 4 , 5 , 2 , 0 ), ( 1 , 4 , 3 , 5 )) * - 1 tmp183 = np . copy ( f . bb . oo ) tmp183 += np . transpose ( tmp108 , ( 1 , 0 )) tmp183 += tmp110 * - 1 tmp183 += tmp111 tmp217 = np . copy ( f . bb . vv ) tmp217 += np . transpose ( tmp130 , ( 1 , 0 )) tmp217 += tmp131 * - 1 tmp221 = einsum ( tmp100 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) del tmp100 tmp223 = np . copy ( v . bbbb . ooov ) tmp223 += np . transpose ( tmp87 , ( 0 , 2 , 1 , 3 )) tmp226 = einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 tmp201 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) tmp216 = einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 2 , 4 , 5 , 3 ), ( 1 , 0 , 4 , 5 )) tmp181 = np . copy ( f . bb . ov ) tmp181 += tmp89 tmp181 += tmp180 tmp200 = einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), tmp87 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 tmp215 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . vvvv , ( 4 , 0 , 5 , 1 ), ( 2 , 3 , 4 , 5 )) tmp214 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp116 , ( 4 , 5 , 2 , 0 ), ( 4 , 5 , 3 , 1 )) tmp202 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), tmp49 , ( 0 , 1 , 4 , 5 ), ( 4 , 2 , 5 , 3 )) tmp195 = np . copy ( v . bbbb . ooov ) tmp195 += np . transpose ( tmp87 , ( 0 , 2 , 1 , 3 )) tmp211 = einsum ( tmp179 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 5 ), ( 1 , 5 , 3 , 4 )) tmp224 = einsum ( tmp40 , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp206 = np . copy ( f . bb . ov ) tmp206 += tmp89 del tmp89 tmp206 += tmp180 del tmp180 tmp222 = np . copy ( v . bbbb . oooo ) tmp222 += np . transpose ( tmp99 , ( 0 , 2 , 3 , 1 )) del tmp99 tmp197 = einsum ( tmp196 , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 0 ), ( 1 , 2 , 3 , 4 )) del tmp196 tmp177 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 ))) tmp177 += v . bbbb . oovv * - 1 tmp177 += einsum ( tmp176 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 4 , 0 , 3 , 2 )) * - 1 del tmp176 tmp182 = np . copy ( np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 ))) tmp182 += np . transpose ( tmp93 , ( 0 , 1 , 3 , 2 )) del tmp93 tmp157 = np . copy ( f . aa . oo ) tmp157 += np . transpose ( tmp58 , ( 1 , 0 )) tmp157 += tmp152 * - 1 del tmp152 tmp157 += np . transpose ( tmp156 , ( 1 , 0 )) del tmp156 tmp86 = np . copy ( f . aa . vv ) tmp86 += np . transpose ( tmp83 , ( 1 , 0 )) tmp86 += np . transpose ( tmp85 , ( 1 , 0 )) * - 1 tmp185 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp171 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 1 ), ( 0 , 3 )) tmp193 = np . copy ( v . aabb . oovv ) tmp193 += einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp187 = np . copy ( f . bb . vv ) tmp187 += np . transpose ( tmp130 , ( 1 , 0 )) tmp187 += np . transpose ( tmp186 , ( 1 , 0 )) * - 1 del tmp186 tmp158 = np . copy ( f . aa . ov ) tmp158 += tmp143 tmp158 += tmp6 tmp184 = einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 1 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 2 )) tmp191 = np . copy ( v . aabb . ooov ) tmp191 += tmp4 tmp192 = np . copy ( v . aabb . oooo ) tmp192 += np . transpose ( tmp12 , ( 1 , 0 , 2 , 3 )) del tmp12 tmp192 += einsum ( t1 . aa , ( 0 , 1 ), tmp3 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp175 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) tmp175 += v . aaaa . oovv * - 1 tmp175 += np . transpose ( tmp146 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp146 tmp138 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), tmp36 , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp168 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) del tmp22 tmp148 = einsum ( tmp147 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 5 , 0 ), ( 1 , 5 , 2 , 4 )) del tmp147 tmp135 = einsum ( tmp134 , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 4 , 0 ), ( 1 , 2 , 3 , 4 )) del tmp134 tmp169 = np . copy ( v . aaaa . oooo ) tmp169 += np . transpose ( tmp21 , ( 0 , 3 , 1 , 2 )) * - 1 del tmp21 tmp136 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), tmp47 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) * - 1 tmp133 = np . copy ( v . aaaa . ooov ) tmp133 += np . transpose ( tmp0 , ( 0 , 2 , 1 , 3 )) tmp137 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) tmp144 = np . copy ( f . aa . ov ) tmp144 += tmp143 del tmp143 tmp144 += tmp6 del tmp6 tmp140 = einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovoo , ( 4 , 5 , 2 , 0 ), ( 1 , 4 , 3 , 5 )) * - 1 tmp170 = np . copy ( v . aaaa . ooov ) tmp170 += np . transpose ( tmp0 , ( 0 , 2 , 1 , 3 )) tmp174 = einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 tmp139 = einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 4 , 5 , 2 , 1 ), ( 0 , 4 , 3 , 5 )) tmp150 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp149 , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) tmp142 = np . copy ( f . aa . oo ) tmp142 += np . transpose ( tmp58 , ( 1 , 0 )) tmp142 += tmp60 * - 1 tmp142 += tmp61 tmp172 = einsum ( tmp51 , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp162 = np . copy ( f . aa . vv ) tmp162 += np . transpose ( tmp83 , ( 1 , 0 )) del tmp83 tmp162 += tmp85 * - 1 del tmp85 tmp160 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp65 , ( 4 , 5 , 2 , 0 ), ( 4 , 5 , 3 , 1 )) tmp159 = einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 3 , 1 , 4 , 5 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp173 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), tmp47 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp167 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp166 , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 1 del tmp166 tmp163 = einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), tmp155 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp161 = einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 2 , 4 , 5 , 3 ), ( 1 , 0 , 4 , 5 )) tmp141 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp141 += v . aaaa . oovv * - 1 tmp141 += einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) * - 1 tmp129 = np . copy ( t1 . bb ) * - 0.5 tmp129 += tmp34 * - 0.5 tmp129 += tmp35 * - 1 tmp129 += tmp37 * 0.5 tmp129 += tmp39 tmp129 += tmp106 tmp126 = np . copy ( np . transpose ( tmp38 , ( 1 , 0 , 2 , 3 ))) * - 2 tmp126 += np . transpose ( tmp123 , ( 2 , 0 , 1 , 3 )) tmp126 += np . transpose ( tmp124 , ( 2 , 0 , 1 , 3 )) * 4 tmp126 += einsum ( tmp125 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 3 , 1 , 2 , 4 )) * 2 del tmp125 tmp120 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 4 ), ( 0 , 4 , 1 , 2 )) * 0.5 tmp120 += tmp36 * 0.5 tmp120 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp36 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp120 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp49 , ( 0 , 4 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) * - 0.5 tmp120 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp38 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * - 1 tmp120 += einsum ( t1 . aa , ( 0 , 1 ), tmp70 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 0.5 tmp127 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) * 2 tmp127 += np . transpose ( tmp123 , ( 0 , 2 , 1 , 3 )) del tmp123 tmp127 += np . transpose ( tmp124 , ( 0 , 2 , 1 , 3 )) * 4 del tmp124 tmp132 = np . copy ( f . bb . vv ) tmp132 += np . transpose ( tmp130 , ( 1 , 0 )) del tmp130 tmp132 += np . transpose ( tmp131 , ( 1 , 0 )) * - 1 del tmp131 tmp102 = np . copy ( v . bbbb . ooov ) * - 1 tmp102 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 4 , 3 , 5 , 2 ), ( 4 , 0 , 1 , 5 )) tmp102 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp96 , ( 4 , 5 , 1 , 3 ), ( 5 , 0 , 4 , 2 )) * 2 del tmp96 tmp102 += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 3 , 5 ), ( 2 , 4 , 1 , 5 )) tmp102 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp92 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp102 += einsum ( tmp98 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 1 , 0 , 4 , 2 )) del tmp98 tmp102 += einsum ( t1 . bb , ( 0 , 1 ), tmp101 , ( 0 , 2 , 3 , 4 ), ( 3 , 4 , 2 , 1 )) del tmp101 tmp105 = np . copy ( tmp25 ) tmp105 += tmp26 * 2 tmp105 += tmp27 tmp121 = np . copy ( np . transpose ( l2 . bbbb , ( 2 , 3 , 0 , 1 ))) * - 1 tmp121 += einsum ( t1 . bb , ( 0 , 1 ), tmp38 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp117 = np . copy ( np . transpose ( l2 . abab , ( 2 , 3 , 0 , 1 ))) tmp117 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 3 , 4 , 1 , 5 ), ( 0 , 5 , 2 , 4 )) * 2 tmp117 += einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 1 tmp117 += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) * 2 tmp103 = np . copy ( tmp30 ) * 0.5 tmp103 += tmp31 * 0.5 tmp103 += tmp32 tmp95 = np . copy ( np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 ))) tmp95 += tmp2 tmp95 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) tmp95 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp88 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) del tmp88 tmp95 += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 2 , 1 , 5 )) * 2 tmp95 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp5 , ( 0 , 4 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) * - 1 tmp95 += einsum ( tmp92 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp95 += einsum ( t1 . aa , ( 0 , 1 ), tmp94 , ( 2 , 3 , 1 , 4 ), ( 0 , 3 , 2 , 4 )) del tmp94 tmp95 += einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) * - 1 tmp56 = np . copy ( np . transpose ( l1 . aa , ( 1 , 0 ))) * - 1 tmp56 += t1 . aa * - 1 tmp56 += tmp45 * - 2 tmp56 += tmp46 * - 1 tmp56 += tmp48 * 2 tmp56 += tmp50 tmp56 += tmp55 tmp113 = einsum ( v . bbbb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp112 = np . copy ( f . bb . oo ) tmp112 += np . transpose ( tmp108 , ( 1 , 0 )) del tmp108 tmp112 += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp112 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) * 2 tmp112 += tmp110 * - 1 del tmp110 tmp112 += tmp111 del tmp111 tmp119 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 5 ), ( 3 , 4 , 1 , 5 )) tmp119 += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) * 4 tmp114 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . vvvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp107 = np . copy ( np . transpose ( l1 . bb , ( 1 , 0 ))) * - 0.5 tmp107 += t1 . bb * - 0.5 tmp107 += tmp34 * - 0.5 tmp107 += tmp35 * - 1 tmp107 += tmp37 * 0.5 tmp107 += tmp39 tmp107 += tmp106 del tmp106 tmp104 = np . copy ( v . bbbb . ovvv ) tmp104 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 3 , 1 )) * - 1 tmp122 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 5 , 1 ), ( 3 , 4 , 0 , 5 )) tmp122 += einsum ( t1 . aa , ( 0 , 1 ), tmp36 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp128 = np . copy ( tmp68 ) tmp128 += np . transpose ( tmp69 , ( 1 , 0 , 2 , 3 )) tmp44 = np . copy ( np . transpose ( l1 . bb , ( 1 , 0 ))) * - 1 tmp44 += t1 . bb * - 1 tmp44 += tmp34 * - 1 del tmp34 tmp44 += tmp35 * - 2 del tmp35 tmp44 += tmp37 del tmp37 tmp44 += tmp39 * 2 del tmp39 tmp44 += einsum ( t1 . bb , ( 0 , 1 ), tmp43 , ( 0 , 2 ), ( 2 , 1 )) tmp63 = einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp73 = np . copy ( v . aaaa . ovvv ) tmp73 += einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) * - 1 tmp33 = np . copy ( tmp30 ) del tmp30 tmp33 += tmp31 del tmp31 tmp33 += tmp32 * 2 del tmp32 tmp67 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp67 += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) * 0.25 tmp28 = np . copy ( tmp25 ) * 0.5 del tmp25 tmp28 += tmp26 del tmp26 tmp28 += tmp27 * 0.5 del tmp27 tmp81 = np . copy ( tmp68 ) del tmp68 tmp81 += np . transpose ( tmp69 , ( 0 , 1 , 3 , 2 )) del tmp69 tmp80 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp80 += np . transpose ( tmp76 , ( 0 , 2 , 1 , 3 )) * 2 tmp80 += np . transpose ( tmp77 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp24 = np . copy ( np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 ))) * 0.5 tmp24 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) * - 0.5 tmp24 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 5 , 1 , 3 ), ( 5 , 0 , 4 , 2 )) del tmp18 tmp24 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 5 , 1 , 3 ), ( 5 , 0 , 4 , 2 )) * 0.5 del tmp19 tmp24 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp9 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) * 0.5 tmp24 += einsum ( t1 . aa , ( 0 , 1 ), tmp20 , ( 2 , 3 , 4 , 1 ), ( 3 , 2 , 0 , 4 )) * 0.5 del tmp20 tmp24 += einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) * - 0.5 del tmp23 tmp74 = einsum ( t1 . aa , ( 0 , 1 ), tmp47 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp66 = np . copy ( np . transpose ( l2 . abab , ( 2 , 3 , 0 , 1 ))) tmp66 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 5 , 1 , 4 , 3 )) * 2 tmp66 += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) * 2 tmp66 += einsum ( t1 . bb , ( 0 , 1 ), tmp36 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp82 = np . copy ( t1 . aa ) * - 1 tmp82 += tmp45 * - 2 del tmp45 tmp82 += tmp46 * - 1 del tmp46 tmp82 += tmp48 * 2 del tmp48 tmp82 += tmp50 del tmp50 tmp82 += tmp55 del tmp55 tmp57 = np . copy ( tmp51 ) tmp57 += tmp52 * 2 del tmp52 tmp57 += tmp53 del tmp53 tmp17 = np . copy ( v . aabb . ooov ) tmp17 += einsum ( v . aabb . oovv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp17 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp17 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp1 , ( 0 , 4 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) del tmp1 tmp17 += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) * - 1 del tmp3 tmp17 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp5 , ( 4 , 5 , 1 , 3 ), ( 5 , 4 , 0 , 2 )) * 2 del tmp5 tmp17 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp9 , ( 4 , 2 ), ( 0 , 4 , 1 , 3 )) tmp17 += einsum ( t1 . aa , ( 0 , 1 ), tmp11 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp17 += einsum ( t1 . bb , ( 0 , 1 ), tmp16 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 del tmp16 tmp79 = np . copy ( np . transpose ( tmp47 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp79 += np . transpose ( tmp76 , ( 2 , 0 , 1 , 3 )) * 2 del tmp76 tmp79 += np . transpose ( tmp77 , ( 2 , 0 , 1 , 3 )) * 0.5 del tmp77 tmp79 += einsum ( t1 . aa , ( 0 , 1 ), tmp78 , ( 0 , 2 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) del tmp78 tmp72 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 5 ), ( 2 , 4 , 1 , 5 )) tmp72 += einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp62 = np . copy ( f . aa . oo ) tmp62 += np . transpose ( tmp58 , ( 1 , 0 )) del tmp58 tmp62 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) * 2 tmp62 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp62 += tmp60 * - 1 del tmp60 tmp62 += tmp61 del tmp61 tmp75 = np . copy ( v . aaaa . ovvv ) * - 1 tmp75 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 3 , 1 )) tmp71 = einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 1 , 2 , 3 , 4 )) tmp71 += tmp49 tmp71 += einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) * - 2 tmp71 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp49 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) * 2 tmp71 += einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 tmp71 += einsum ( t1 . bb , ( 0 , 1 ), tmp70 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp70 l2new . bbbb = np . copy ( np . transpose ( v . bbbb . ovov , ( 1 , 3 , 0 , 2 ))) l2new . bbbb += einsum ( tmp195 , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 0 ), ( 3 , 4 , 2 , 1 )) * - 1 del tmp195 l2new . bbbb += np . transpose ( v . bbbb . ovov , ( 3 , 1 , 0 , 2 )) * - 1 l2new . bbbb += np . transpose ( tmp197 , ( 3 , 2 , 0 , 1 )) l2new . bbbb += np . transpose ( tmp198 , ( 3 , 2 , 0 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp199 , ( 3 , 2 , 0 , 1 )) l2new . bbbb += np . transpose ( tmp200 , ( 3 , 2 , 0 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp201 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp202 , ( 3 , 2 , 0 , 1 )) l2new . bbbb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp204 , ( 3 , 4 , 5 , 1 ), ( 5 , 0 , 2 , 4 )) * - 2 del tmp204 l2new . bbbb += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp205 , ( 2 , 4 , 0 , 5 ), ( 5 , 1 , 3 , 4 )) * - 1 del tmp205 l2new . bbbb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp183 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 l2new . bbbb += einsum ( tmp206 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * - 1 del tmp206 l2new . bbbb += np . transpose ( tmp198 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . bbbb += np . transpose ( tmp199 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp200 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . bbbb += np . transpose ( tmp201 , ( 2 , 3 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp202 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp210 , ( 2 , 3 , 0 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp211 , ( 2 , 3 , 0 , 1 )) l2new . bbbb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp213 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * 2 del tmp213 l2new . bbbb += einsum ( tmp181 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) l2new . bbbb += np . transpose ( tmp198 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp199 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp200 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp201 , ( 3 , 2 , 0 , 1 )) l2new . bbbb += np . transpose ( tmp202 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp210 , ( 3 , 2 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp211 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += einsum ( tmp181 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) l2new . bbbb += np . transpose ( tmp198 , ( 2 , 3 , 1 , 0 )) * 2 del tmp198 l2new . bbbb += np . transpose ( tmp199 , ( 2 , 3 , 1 , 0 )) del tmp199 l2new . bbbb += np . transpose ( tmp200 , ( 2 , 3 , 1 , 0 )) * 2 del tmp200 l2new . bbbb += np . transpose ( tmp201 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp201 l2new . bbbb += np . transpose ( tmp202 , ( 2 , 3 , 1 , 0 )) del tmp202 l2new . bbbb += np . transpose ( tmp210 , ( 3 , 2 , 0 , 1 )) * - 2 del tmp210 l2new . bbbb += np . transpose ( tmp211 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp211 l2new . bbbb += einsum ( tmp181 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * - 1 l2new . bbbb += np . transpose ( tmp214 , ( 3 , 2 , 1 , 0 )) * 2 del tmp214 l2new . bbbb += np . transpose ( tmp215 , ( 3 , 2 , 1 , 0 )) * 2 del tmp215 l2new . bbbb += np . transpose ( tmp216 , ( 2 , 3 , 1 , 0 )) * 2 l2new . bbbb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp217 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 1 del tmp217 l2new . bbbb += np . transpose ( tmp218 , ( 2 , 3 , 1 , 0 )) * - 2 l2new . bbbb += np . transpose ( tmp220 , ( 2 , 3 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp216 , ( 3 , 2 , 1 , 0 )) * - 2 del tmp216 l2new . bbbb += np . transpose ( tmp220 , ( 3 , 2 , 1 , 0 )) * 2 del tmp220 l2new . bbbb += np . transpose ( tmp218 , ( 3 , 2 , 1 , 0 )) * 2 del tmp218 l2new . bbbb += np . transpose ( tmp221 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp221 , ( 2 , 3 , 1 , 0 )) * 2 del tmp221 l2new . bbbb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp222 , ( 2 , 4 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) * - 2 del tmp222 l2new . bbbb += einsum ( tmp223 , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 0 ), ( 3 , 4 , 1 , 2 )) del tmp223 l2new . bbbb += np . transpose ( tmp197 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp197 l2new . bbbb += einsum ( tmp194 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) l2new . bbbb += np . transpose ( tmp224 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp225 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp226 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp224 , ( 2 , 3 , 0 , 1 )) l2new . bbbb += einsum ( tmp194 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp225 , ( 2 , 3 , 0 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp226 , ( 2 , 3 , 0 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp224 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += einsum ( tmp194 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 l2new . bbbb += np . transpose ( tmp225 , ( 3 , 2 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp226 , ( 3 , 2 , 1 , 0 )) * 2 l2new . bbbb += einsum ( tmp194 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) l2new . bbbb += np . transpose ( tmp224 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp224 l2new . bbbb += np . transpose ( tmp225 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp225 l2new . bbbb += np . transpose ( tmp226 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp226 l2new . abab = np . copy ( np . transpose ( v . aabb . ovov , ( 1 , 3 , 0 , 2 ))) l2new . abab += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 1 ), ( 3 , 4 , 0 , 2 )) * - 1 l2new . abab += einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 1 , 2 , 5 ), ( 5 , 3 , 4 , 0 )) * - 2 del tmp2 l2new . abab += einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 4 , 5 , 2 , 1 ), ( 5 , 3 , 4 , 0 )) * - 2 l2new . abab += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 4 ), ( 1 , 2 , 0 , 4 )) l2new . abab += einsum ( v . aaaa . ovoo , ( 0 , 1 , 2 , 3 ), tmp49 , ( 3 , 2 , 4 , 5 ), ( 1 , 5 , 0 , 4 )) * - 1 l2new . abab += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), tmp49 , ( 0 , 2 , 4 , 5 ), ( 3 , 5 , 1 , 4 )) * - 1 l2new . abab += einsum ( tmp175 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 5 ), ( 3 , 4 , 1 , 5 )) del tmp175 l2new . abab += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp149 , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) * 2 del tmp149 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp157 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 l2new . abab += einsum ( tmp158 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) l2new . abab += einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), tmp36 , ( 4 , 0 , 2 , 5 ), ( 5 , 3 , 4 , 1 )) * - 1 l2new . abab += einsum ( v . bbbb . ovoo , ( 0 , 1 , 2 , 3 ), tmp36 , ( 4 , 3 , 2 , 5 ), ( 5 , 1 , 4 , 0 )) * - 1 l2new . abab += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), tmp47 , ( 4 , 1 , 0 , 5 ), ( 5 , 3 , 4 , 2 )) * - 2 l2new . abab += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), tmp47 , ( 4 , 0 , 1 , 5 ), ( 5 , 3 , 4 , 2 )) * - 2 del tmp4 l2new . abab += einsum ( l1 . aa , ( 0 , 1 ), v . aabb . vvov , ( 2 , 0 , 3 , 4 ), ( 2 , 4 , 1 , 3 )) l2new . abab += einsum ( tmp177 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 2 , 5 , 0 ), ( 4 , 3 , 5 , 1 )) del tmp177 l2new . abab += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp179 , ( 3 , 4 , 1 , 5 ), ( 0 , 5 , 2 , 4 )) * 2 del tmp179 l2new . abab += einsum ( l1 . aa , ( 0 , 1 ), tmp181 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) del tmp181 l2new . abab += einsum ( tmp182 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 5 , 0 ), ( 3 , 4 , 5 , 1 )) * - 1 del tmp182 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp183 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 1 del tmp183 l2new . abab += einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 1 , 4 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 l2new . abab += np . transpose ( tmp184 , ( 2 , 3 , 0 , 1 )) del tmp184 l2new . abab += np . transpose ( tmp185 , ( 2 , 3 , 0 , 1 )) del tmp185 l2new . abab += einsum ( tmp86 , ( 0 , 1 ), l2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) l2new . abab += einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), tmp155 , ( 1 , 4 ), ( 4 , 3 , 0 , 2 )) * - 1 del tmp155 l2new . abab += einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 3 , 2 , 5 ), ( 4 , 5 , 0 , 1 )) * - 1 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp187 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) del tmp187 l2new . abab += einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), tmp190 , ( 2 , 4 ), ( 3 , 4 , 0 , 1 )) * - 1 del tmp190 l2new . abab += einsum ( l1 . aa , ( 0 , 1 ), tmp191 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 l2new . abab += einsum ( tmp192 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) del tmp192 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp193 , ( 2 , 4 , 1 , 5 ), ( 0 , 5 , 4 , 3 )) * - 1 del tmp193 l2new . abab += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp51 , ( 4 , 0 ), ( 1 , 3 , 4 , 2 )) * - 1 del tmp51 l2new . abab += einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 1 , 2 , 4 , 5 ), ( 5 , 3 , 0 , 4 )) del tmp14 l2new . abab += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp40 , ( 4 , 2 ), ( 1 , 3 , 0 , 4 )) * - 1 del tmp40 l2new . abab += einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), tmp191 , ( 0 , 4 , 2 , 5 ), ( 3 , 5 , 4 , 1 )) del tmp191 l2new . abab += einsum ( tmp171 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 l2new . abab += einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), tmp49 , ( 1 , 2 , 4 , 5 ), ( 3 , 5 , 0 , 4 )) l2new . abab += einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 0 , 1 , 4 , 5 ), ( 5 , 3 , 4 , 2 )) del tmp0 l2new . abab += einsum ( tmp194 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 del tmp194 l2new . abab += einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), tmp36 , ( 4 , 1 , 2 , 5 ), ( 5 , 3 , 4 , 0 )) l2new . abab += einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), tmp87 , ( 1 , 2 , 4 , 5 ), ( 3 , 5 , 0 , 4 )) del tmp87 l2new . aaaa = np . copy ( np . transpose ( v . aaaa . ovov , ( 1 , 3 , 0 , 2 ))) l2new . aaaa += einsum ( tmp133 , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 4 , 0 ), ( 3 , 4 , 2 , 1 )) * - 1 del tmp133 l2new . aaaa += np . transpose ( v . aaaa . ovov , ( 3 , 1 , 0 , 2 )) * - 1 l2new . aaaa += np . transpose ( tmp135 , ( 3 , 2 , 0 , 1 )) l2new . aaaa += np . transpose ( tmp136 , ( 3 , 2 , 0 , 1 )) * 2 l2new . aaaa += np . transpose ( tmp137 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp138 , ( 3 , 2 , 0 , 1 )) l2new . aaaa += np . transpose ( tmp139 , ( 3 , 2 , 0 , 1 )) l2new . aaaa += np . transpose ( tmp140 , ( 3 , 2 , 0 , 1 )) * 2 l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp141 , ( 3 , 4 , 5 , 1 ), ( 5 , 0 , 2 , 4 )) * - 2 del tmp141 l2new . aaaa += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 5 , 0 )) * - 1 del tmp11 l2new . aaaa += einsum ( tmp142 , ( 0 , 1 ), l2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp142 l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp144 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * - 1 del tmp144 l2new . aaaa += np . transpose ( tmp136 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . aaaa += np . transpose ( tmp137 , ( 2 , 3 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp138 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp139 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp140 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . aaaa += np . transpose ( tmp148 , ( 2 , 3 , 0 , 1 )) * 2 l2new . aaaa += np . transpose ( tmp150 , ( 2 , 3 , 0 , 1 )) l2new . aaaa += einsum ( tmp157 , ( 0 , 1 ), l2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp157 l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp158 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) l2new . aaaa += np . transpose ( tmp136 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp137 , ( 3 , 2 , 0 , 1 )) l2new . aaaa += np . transpose ( tmp138 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp139 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp140 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp148 , ( 3 , 2 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp150 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp158 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) l2new . aaaa += np . transpose ( tmp136 , ( 2 , 3 , 1 , 0 )) * 2 del tmp136 l2new . aaaa += np . transpose ( tmp137 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp137 l2new . aaaa += np . transpose ( tmp138 , ( 2 , 3 , 1 , 0 )) del tmp138 l2new . aaaa += np . transpose ( tmp139 , ( 2 , 3 , 1 , 0 )) del tmp139 l2new . aaaa += np . transpose ( tmp140 , ( 2 , 3 , 1 , 0 )) * 2 del tmp140 l2new . aaaa += np . transpose ( tmp148 , ( 3 , 2 , 0 , 1 )) * - 2 del tmp148 l2new . aaaa += np . transpose ( tmp150 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp150 l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp158 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * - 1 del tmp158 l2new . aaaa += np . transpose ( tmp159 , ( 3 , 2 , 1 , 0 )) * 2 del tmp159 l2new . aaaa += np . transpose ( tmp160 , ( 3 , 2 , 1 , 0 )) * 2 del tmp160 l2new . aaaa += np . transpose ( tmp161 , ( 2 , 3 , 1 , 0 )) * 2 l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp162 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 1 del tmp162 l2new . aaaa += np . transpose ( tmp163 , ( 2 , 3 , 1 , 0 )) * - 2 l2new . aaaa += np . transpose ( tmp167 , ( 2 , 3 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp161 , ( 3 , 2 , 1 , 0 )) * - 2 del tmp161 l2new . aaaa += np . transpose ( tmp167 , ( 3 , 2 , 1 , 0 )) * 2 del tmp167 l2new . aaaa += np . transpose ( tmp163 , ( 3 , 2 , 1 , 0 )) * 2 del tmp163 l2new . aaaa += np . transpose ( tmp168 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp168 , ( 2 , 3 , 1 , 0 )) * 2 del tmp168 l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp169 , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) * 2 del tmp169 l2new . aaaa += einsum ( tmp170 , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 4 , 0 ), ( 3 , 4 , 1 , 2 )) del tmp170 l2new . aaaa += np . transpose ( tmp135 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp135 l2new . aaaa += einsum ( tmp171 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) l2new . aaaa += np . transpose ( tmp172 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp173 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp174 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp172 , ( 2 , 3 , 0 , 1 )) l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp171 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 l2new . aaaa += np . transpose ( tmp173 , ( 2 , 3 , 0 , 1 )) * 2 l2new . aaaa += np . transpose ( tmp174 , ( 2 , 3 , 0 , 1 )) * 2 l2new . aaaa += np . transpose ( tmp172 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp171 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp173 , ( 3 , 2 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp174 , ( 3 , 2 , 1 , 0 )) * 2 l2new . aaaa += einsum ( tmp171 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) del tmp171 l2new . aaaa += np . transpose ( tmp172 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp172 l2new . aaaa += np . transpose ( tmp173 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp173 l2new . aaaa += np . transpose ( tmp174 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp174 l1new . bb = np . copy ( np . transpose ( f . bb . ov , ( 1 , 0 ))) l1new . bb += einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 2 , 0 )) * - 1 l1new . bb += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp95 , ( 2 , 3 , 4 , 0 ), ( 1 , 4 )) * - 1 del tmp95 l1new . bb += einsum ( tmp102 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 1 , 2 ), ( 4 , 0 )) * 2 del tmp102 l1new . bb += einsum ( tmp103 , ( 0 , 1 ), tmp104 , ( 2 , 1 , 0 , 3 ), ( 3 , 2 )) * - 2 del tmp103 , tmp104 l1new . bb += einsum ( tmp105 , ( 0 , 1 ), v . aabb . vvov , ( 1 , 0 , 2 , 3 ), ( 3 , 2 )) del tmp105 l1new . bb += einsum ( tmp56 , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 3 , 2 )) * - 1 l1new . bb += einsum ( tmp107 , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 3 , 2 )) * - 2 del tmp107 l1new . bb += einsum ( tmp54 , ( 0 , 1 ), v . aabb . ooov , ( 1 , 0 , 2 , 3 ), ( 3 , 2 )) * - 2 del tmp54 l1new . bb += einsum ( v . bbbb . ovoo , ( 0 , 1 , 2 , 3 ), tmp43 , ( 2 , 3 ), ( 1 , 0 )) * - 1 l1new . bb += einsum ( l1 . bb , ( 0 , 1 ), tmp112 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp112 l1new . bb += einsum ( v . aabb . oovv , ( 0 , 1 , 2 , 3 ), tmp49 , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) * - 1 del tmp49 l1new . bb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp113 , ( 3 , 4 , 0 , 1 ), ( 4 , 2 )) * 2 del tmp113 l1new . bb += einsum ( tmp97 , ( 0 , 1 , 2 , 3 ), tmp38 , ( 4 , 0 , 1 , 3 ), ( 2 , 4 )) * 2 del tmp97 l1new . bb += einsum ( tmp114 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 1 , 3 , 0 , 4 ), ( 2 , 4 )) del tmp114 l1new . bb += einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), tmp38 , ( 4 , 1 , 0 , 3 ), ( 2 , 4 )) * - 2 del tmp38 l1new . bb += einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), tmp115 , ( 4 , 0 , 2 , 1 ), ( 3 , 4 )) * 2 del tmp115 l1new . bb += einsum ( tmp116 , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 2 , 1 , 3 , 4 ), ( 4 , 0 )) * - 2 del tmp116 l1new . bb += einsum ( tmp117 , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) del tmp117 l1new . bb += einsum ( tmp118 , ( 0 , 1 , 2 , 3 ), tmp119 , ( 4 , 0 , 3 , 2 ), ( 1 , 4 )) * - 1 del tmp118 , tmp119 l1new . bb += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp120 , ( 0 , 4 , 2 , 1 ), ( 3 , 4 )) * - 2 del tmp120 l1new . bb += einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), tmp121 , ( 4 , 0 , 3 , 1 ), ( 2 , 4 )) * - 2 del tmp121 l1new . bb += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), tmp122 , ( 4 , 2 , 1 , 0 ), ( 3 , 4 )) * - 1 del tmp122 l1new . bb += einsum ( tmp126 , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 3 , 2 , 4 ), ( 4 , 1 )) * - 1 del tmp126 l1new . bb += einsum ( tmp127 , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 1 , 4 , 2 , 3 ), ( 4 , 0 )) del tmp127 l1new . bb += einsum ( tmp128 , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 0 , 1 , 3 , 4 ), ( 4 , 2 )) del tmp128 l1new . bb += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp129 , ( 2 , 1 ), ( 3 , 0 )) * 2 del tmp129 l1new . bb += einsum ( tmp43 , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 0 , 1 , 3 ), ( 3 , 2 )) l1new . bb += einsum ( tmp132 , ( 0 , 1 ), l1 . bb , ( 0 , 2 ), ( 1 , 2 )) del tmp132 l1new . bb += einsum ( tmp92 , ( 0 , 1 ), tmp43 , ( 2 , 0 ), ( 1 , 2 )) * - 1 del tmp92 l1new . aa = np . copy ( np . transpose ( f . aa . ov , ( 1 , 0 ))) l1new . aa += einsum ( l1 . aa , ( 0 , 1 ), v . aaaa . oovv , ( 2 , 1 , 3 , 0 ), ( 3 , 2 )) * - 1 l1new . aa += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp17 , ( 2 , 4 , 3 , 1 ), ( 0 , 4 )) * - 1 del tmp17 l1new . aa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp24 , ( 4 , 2 , 3 , 1 ), ( 0 , 4 )) * 4 del tmp24 l1new . aa += einsum ( tmp28 , ( 0 , 1 ), tmp29 , ( 2 , 3 , 1 , 0 ), ( 3 , 2 )) * - 2 del tmp28 l1new . aa += einsum ( tmp33 , ( 0 , 1 ), v . aabb . ovvv , ( 2 , 3 , 1 , 0 ), ( 3 , 2 )) del tmp33 l1new . aa += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp44 , ( 2 , 3 ), ( 1 , 0 )) * - 1 del tmp44 l1new . aa += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp56 , ( 2 , 3 ), ( 1 , 0 )) * - 1 del tmp56 l1new . aa += einsum ( tmp57 , ( 0 , 1 ), v . aaaa . ovoo , ( 2 , 3 , 1 , 0 ), ( 3 , 2 )) * - 1 l1new . aa += einsum ( tmp43 , ( 0 , 1 ), v . aabb . ovoo , ( 2 , 3 , 1 , 0 ), ( 3 , 2 )) * - 1 del tmp43 l1new . aa += einsum ( l1 . aa , ( 0 , 1 ), tmp62 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp62 l1new . aa += einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 0 ), ( 1 , 4 )) del tmp63 l1new . aa += einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), tmp64 , ( 4 , 0 , 2 , 1 ), ( 3 , 4 )) * 2 del tmp64 l1new . aa += einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), tmp65 , ( 4 , 1 , 0 , 2 ), ( 3 , 4 )) * - 2 del tmp65 l1new . aa += einsum ( v . aabb . vvoo , ( 0 , 1 , 2 , 3 ), tmp36 , ( 4 , 3 , 2 , 1 ), ( 0 , 4 )) * - 1 del tmp36 l1new . aa += einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), v . aaaa . oovv , ( 2 , 1 , 4 , 3 ), ( 4 , 0 )) * - 2 del tmp47 l1new . aa += einsum ( tmp66 , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) del tmp66 l1new . aa += einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), tmp67 , ( 4 , 0 , 3 , 2 ), ( 1 , 4 )) * 4 del tmp29 , tmp67 l1new . aa += einsum ( tmp71 , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 1 , 4 , 2 , 3 ), ( 4 , 0 )) * - 1 del tmp71 l1new . aa += einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 1 , 4 , 3 , 2 ), ( 4 , 0 )) * - 1 del tmp72 l1new . aa += einsum ( tmp73 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 1 , 2 , 4 , 0 ), ( 3 , 4 )) * - 2 del tmp73 l1new . aa += einsum ( tmp74 , ( 0 , 1 , 2 , 3 ), tmp75 , ( 1 , 4 , 2 , 3 ), ( 4 , 0 )) * - 2 del tmp74 , tmp75 l1new . aa += einsum ( tmp79 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 3 , 2 , 4 ), ( 4 , 1 )) * - 2 del tmp79 l1new . aa += einsum ( tmp80 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 1 , 4 , 2 , 3 ), ( 4 , 0 )) * 2 del tmp80 l1new . aa += einsum ( tmp81 , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 1 , 4 , 3 , 2 ), ( 4 , 0 )) del tmp81 l1new . aa += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp82 , ( 2 , 1 ), ( 3 , 0 )) del tmp82 l1new . aa += einsum ( tmp57 , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 0 , 1 , 3 ), ( 3 , 2 )) l1new . aa += einsum ( l1 . aa , ( 0 , 1 ), tmp86 , ( 0 , 2 ), ( 2 , 1 )) del tmp86 l1new . aa += einsum ( tmp57 , ( 0 , 1 ), tmp9 , ( 1 , 2 ), ( 2 , 0 )) * - 1 del tmp9 , tmp57 return { f \"l1new\" : l1new , f \"l2new\" : l2new } ebcc . codegen . UCC2 . make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:51:17.130250. 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. Source code in ebcc/codegen/UCC2.py 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 def make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:51:17.130250. 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 )) tmp4 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp3 = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 1 , 2 ), ( 2 , 0 )) tmp2 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp0 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp1 = einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 1 , 2 )) tmp9 = einsum ( t1 . bb , ( 0 , 1 ), l2 . abab , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp11 = np . copy ( tmp3 ) * 0.5 tmp11 += tmp5 * 0.5 tmp11 += tmp4 tmp10 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp6 = einsum ( t1 . aa , ( 0 , 1 ), l2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp7 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 0 ), ( 2 , 4 , 3 , 1 )) tmp8 = np . copy ( tmp1 ) tmp8 += tmp2 * 2 tmp8 += tmp0 rdm1 . bb . vv = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 0 ), ( 2 , 1 )) rdm1 . bb . vv += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 1 , 4 )) rdm1 . bb . vv += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * 2 rdm1 . aa . vv = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * 2 rdm1 . aa . vv += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) rdm1 . aa . vv += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) rdm1 . bb . vo = np . copy ( l1 . bb ) rdm1 . aa . vo = np . copy ( l1 . aa ) rdm1 . bb . ov = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) * 2 rdm1 . bb . ov += einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) rdm1 . bb . ov += t1 . bb rdm1 . bb . ov += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) * - 1 del tmp9 rdm1 . bb . ov += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) * - 2 del tmp10 rdm1 . bb . ov += einsum ( t1 . bb , ( 0 , 1 ), tmp11 , ( 0 , 2 ), ( 2 , 1 )) * - 2 del tmp11 rdm1 . aa . ov = np . copy ( t1 . aa ) rdm1 . aa . ov += einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) * 2 rdm1 . aa . ov += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) rdm1 . aa . ov += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) * - 2 del tmp6 rdm1 . aa . ov += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) * - 1 del tmp7 rdm1 . aa . ov += einsum ( tmp8 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp8 rdm1 . bb . oo = np . copy ( np . transpose ( tmp3 , ( 1 , 0 ))) * - 1 del tmp3 rdm1 . bb . oo += delta . bb . oo rdm1 . bb . oo += np . transpose ( tmp4 , ( 1 , 0 )) * - 2 del tmp4 rdm1 . bb . oo += np . transpose ( tmp5 , ( 1 , 0 )) * - 1 del tmp5 rdm1 . aa . oo = np . copy ( np . transpose ( tmp0 , ( 1 , 0 ))) * - 1 del tmp0 rdm1 . aa . oo += np . transpose ( tmp1 , ( 1 , 0 )) * - 1 del tmp1 rdm1 . aa . oo += delta . aa . oo del delta rdm1 . aa . oo += np . transpose ( tmp2 , ( 1 , 0 )) * - 2 del tmp2 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 ebcc . codegen . UCC2 . make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:51:54.110008. 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. Source code in ebcc/codegen/UCC2.py 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 def make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:51:54.110008. 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 ])), ) tmp9 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) tmp10 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp8 = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 1 , 2 ), ( 2 , 0 )) tmp17 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp13 = einsum ( t1 . bb , ( 0 , 1 ), l2 . abab , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp6 = einsum ( t1 . aa , ( 0 , 1 ), l2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp25 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 0 ), ( 2 , 4 , 3 , 1 )) tmp2 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp0 = einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 1 , 2 )) tmp1 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp94 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 5 ), ( 3 , 4 , 1 , 5 )) tmp90 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp66 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp83 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp40 = np . copy ( tmp8 ) tmp40 += tmp9 tmp40 += tmp10 * 2 tmp52 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp53 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp13 , ( 0 , 4 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp16 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp18 = einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp14 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp12 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 0 , 1 ), ( 2 , 4 , 3 , 5 )) tmp63 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp62 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp5 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp31 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp30 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) * - 1 tmp27 = np . copy ( tmp0 ) * 0.5 tmp27 += tmp1 tmp27 += tmp2 * 0.5 tmp109 = einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp80 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp107 = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 0 ), ( 2 , 1 )) tmp79 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 1 , 4 )) tmp123 = np . copy ( tmp94 ) tmp123 += tmp90 * 4 tmp104 = einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp92 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 5 , 1 , 4 , 3 )) tmp112 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp106 = einsum ( t1 . aa , ( 0 , 1 ), tmp6 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp84 = np . copy ( tmp66 ) * 4 tmp84 += tmp83 tmp70 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 3 , 4 , 1 , 5 ), ( 0 , 5 , 2 , 4 )) tmp68 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) tmp35 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) tmp34 = einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) tmp38 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) tmp39 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) tmp41 = einsum ( t1 . bb , ( 0 , 1 ), tmp40 , ( 0 , 2 ), ( 2 , 1 )) tmp50 = einsum ( t1 . bb , ( 0 , 1 ), tmp40 , ( 0 , 2 ), ( 2 , 1 )) * 0.5 tmp102 = np . copy ( tmp53 ) tmp102 += tmp52 * 4 tmp54 = np . copy ( np . transpose ( tmp16 , ( 1 , 0 , 3 , 2 ))) tmp54 += np . transpose ( tmp18 , ( 0 , 1 , 3 , 2 )) * - 1 tmp49 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) tmp26 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp25 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp24 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) tmp45 = np . copy ( tmp12 ) tmp45 += tmp14 tmp59 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) tmp58 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * - 1 tmp20 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) tmp19 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp44 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp25 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp43 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) * - 1 tmp64 = np . copy ( tmp62 ) * 2 tmp64 += tmp63 tmp32 = np . copy ( np . transpose ( tmp5 , ( 1 , 0 , 3 , 2 ))) tmp32 += np . transpose ( tmp7 , ( 0 , 1 , 3 , 2 )) * - 1 tmp23 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp77 = np . copy ( tmp30 ) * 4 tmp77 += tmp31 tmp28 = einsum ( tmp27 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * 2 tmp130 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) tmp132 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) tmp129 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) tmp131 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) tmp128 = einsum ( t1 . aa , ( 0 , 1 ), l2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 4 , 2 , 3 , 1 )) tmp126 = einsum ( tmp109 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 tmp120 = einsum ( l1 . bb , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) tmp108 = np . copy ( tmp107 ) tmp108 += tmp79 tmp108 += tmp80 * 2 tmp125 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 0 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) * - 1 tmp124 = einsum ( t1 . bb , ( 0 , 1 ), tmp123 , ( 0 , 2 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) del tmp123 tmp105 = np . copy ( tmp104 ) tmp105 += tmp62 * 2 tmp105 += tmp63 tmp114 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 5 , 1 ), ( 3 , 4 , 0 , 5 )) tmp127 = np . copy ( tmp92 ) tmp127 += tmp112 tmp113 = einsum ( t1 . bb , ( 0 , 1 ), tmp13 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp115 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) tmp119 = einsum ( t1 . aa , ( 0 , 1 ), tmp106 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp117 = einsum ( tmp84 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 4 , 2 , 3 )) tmp118 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 0 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) * - 1 tmp122 = np . copy ( tmp94 ) * 0.25 tmp122 += tmp90 tmp121 = np . copy ( tmp107 ) * 0.5 del tmp107 tmp121 += tmp79 * 0.5 tmp121 += tmp80 tmp111 = einsum ( t1 . aa , ( 0 , 1 ), tmp25 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp82 = np . copy ( tmp70 ) tmp82 += tmp68 tmp86 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 5 ), ( 2 , 4 , 1 , 5 )) tmp116 = np . copy ( tmp66 ) * 4 tmp116 += tmp83 tmp110 = np . copy ( tmp104 ) * 0.5 del tmp104 tmp110 += tmp62 tmp110 += tmp63 * 0.5 tmp93 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp92 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) tmp36 = np . copy ( t1 . bb ) tmp36 += tmp34 tmp36 += tmp35 * 2 tmp42 = np . copy ( tmp38 ) tmp42 += tmp39 * 2 tmp42 += tmp41 del tmp41 tmp95 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp94 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) tmp51 = np . copy ( tmp38 ) * 0.5 del tmp38 tmp51 += tmp39 del tmp39 tmp51 += tmp50 del tmp50 tmp103 = einsum ( t1 . bb , ( 0 , 1 ), tmp102 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp102 tmp100 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp54 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) tmp97 = einsum ( t1 . bb , ( 0 , 1 ), tmp49 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp61 = np . copy ( t1 . bb ) * 0.5 tmp61 += tmp34 * 0.5 tmp61 += tmp35 tmp91 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp90 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) tmp81 = np . copy ( tmp79 ) tmp81 += tmp80 * 2 tmp96 = np . copy ( tmp34 ) tmp96 += tmp35 * 2 tmp99 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp40 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 tmp98 = np . copy ( tmp79 ) * 0.5 del tmp79 tmp98 += tmp80 del tmp80 tmp101 = einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) tmp87 = np . copy ( tmp24 ) tmp87 += tmp26 * 0.5 tmp87 += einsum ( tmp27 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp15 = np . copy ( tmp8 ) * 0.5 tmp15 += tmp9 * 0.5 tmp15 += tmp10 tmp60 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp25 , ( 0 , 4 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp46 = einsum ( t1 . bb , ( 0 , 1 ), tmp45 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp4 = np . copy ( tmp0 ) tmp4 += tmp1 * 2 tmp4 += tmp2 tmp47 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp89 = np . copy ( tmp59 ) tmp89 += tmp58 tmp57 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 4 ), ( 0 , 4 , 1 , 2 )) tmp37 = einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 1 , 2 , 3 , 4 )) tmp72 = np . copy ( tmp19 ) * 2 tmp72 += tmp20 tmp85 = np . copy ( tmp62 ) del tmp62 tmp85 += tmp63 * 0.5 del tmp63 tmp88 = np . copy ( tmp43 ) tmp88 += tmp44 tmp65 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp64 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * - 2 del tmp64 tmp76 = einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) tmp73 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) tmp69 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp68 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp67 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp66 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp78 = einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp77 tmp74 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp27 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) * - 2 tmp56 = np . copy ( t1 . aa ) tmp56 += tmp19 * 2 tmp56 += tmp20 tmp75 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp32 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) tmp71 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp70 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp29 = np . copy ( tmp24 ) * 2 del tmp24 tmp29 += tmp26 del tmp26 tmp29 += tmp28 del tmp28 tmp22 = np . copy ( t1 . aa ) tmp22 += tmp19 * 2 tmp22 += tmp20 tmp55 = einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) * 2 del tmp54 tmp33 = einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) * 2 del tmp32 tmp48 = np . copy ( t1 . bb ) tmp48 += tmp34 del tmp34 tmp48 += tmp35 * 2 del tmp35 tmp21 = np . copy ( t1 . aa ) * 0.5 tmp21 += tmp19 del tmp19 tmp21 += tmp20 * 0.5 del tmp20 tmp11 = np . copy ( delta . bb . oo ) * - 1 tmp11 += tmp8 del tmp8 tmp11 += tmp9 del tmp9 tmp11 += tmp10 * 2 del tmp10 tmp3 = np . copy ( delta . aa . oo ) * - 0.5 tmp3 += tmp0 * 0.5 del tmp0 tmp3 += tmp1 del tmp1 tmp3 += tmp2 * 0.5 del tmp2 rdm2 . bbbb . vvvv = np . copy ( np . transpose ( tmp132 , ( 1 , 0 , 3 , 2 ))) * 2 del tmp132 rdm2 . bbbb . vvvv += einsum ( tmp130 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * 2 rdm2 . abab . vvvv = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) rdm2 . abab . vvvv += einsum ( t1 . aa , ( 0 , 1 ), tmp129 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) rdm2 . aaaa . vvvv = np . copy ( np . transpose ( tmp131 , ( 1 , 0 , 3 , 2 ))) * 2 del tmp131 rdm2 . aaaa . vvvv += einsum ( tmp128 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * 2 rdm2 . bbbb . vvvo = np . copy ( np . transpose ( tmp130 , ( 2 , 1 , 3 , 0 ))) * 2 rdm2 . abab . vvvo = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) rdm2 . aaaa . vvvo = np . copy ( np . transpose ( tmp128 , ( 2 , 1 , 3 , 0 ))) * 2 rdm2 . bbbb . vvov = np . copy ( np . transpose ( tmp130 , ( 2 , 1 , 0 , 3 ))) * - 2 del tmp130 rdm2 . abab . vvov = np . copy ( np . transpose ( tmp129 , ( 1 , 2 , 0 , 3 ))) del tmp129 rdm2 . aaaa . vvov = np . copy ( np . transpose ( tmp128 , ( 2 , 1 , 0 , 3 ))) * - 2 del tmp128 rdm2 . bbbb . vovv = np . copy ( np . transpose ( tmp120 , ( 1 , 0 , 3 , 2 ))) * 2 rdm2 . bbbb . vovv += einsum ( tmp108 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . vovv += einsum ( tmp108 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . vovv += np . transpose ( tmp124 , ( 2 , 0 , 1 , 3 )) rdm2 . bbbb . vovv += np . transpose ( tmp124 , ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . bbbb . vovv += np . transpose ( tmp125 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . bbbb . vovv += np . transpose ( tmp126 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . abab . vovv = einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) rdm2 . abab . vovv += einsum ( tmp105 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . vovv += einsum ( t1 . aa , ( 0 , 1 ), tmp127 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 1 , 4 )) * 2 del tmp127 rdm2 . abab . vovv += einsum ( t1 . bb , ( 0 , 1 ), tmp114 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 rdm2 . abab . vovv += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 4 , 5 ), ( 3 , 2 , 4 , 5 )) * - 1 rdm2 . abab . vovv += einsum ( tmp113 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 1 , 4 , 3 )) * - 1 rdm2 . aaaa . vovv = np . copy ( np . transpose ( tmp115 , ( 1 , 0 , 3 , 2 ))) * 2 rdm2 . aaaa . vovv += einsum ( t1 . aa , ( 0 , 1 ), tmp105 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . vovv += einsum ( tmp105 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . vovv += np . transpose ( tmp117 , ( 2 , 0 , 1 , 3 )) rdm2 . aaaa . vovv += np . transpose ( tmp117 , ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . vovv += np . transpose ( tmp118 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . aaaa . vovv += np . transpose ( tmp119 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . bbbb . ovvv = np . copy ( np . transpose ( tmp120 , ( 0 , 1 , 3 , 2 ))) * - 2 del tmp120 rdm2 . bbbb . ovvv += einsum ( tmp108 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . ovvv += einsum ( tmp121 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 del tmp121 rdm2 . bbbb . ovvv += einsum ( t1 . bb , ( 0 , 1 ), tmp122 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 4 del tmp122 rdm2 . bbbb . ovvv += np . transpose ( tmp124 , ( 0 , 2 , 3 , 1 )) del tmp124 rdm2 . bbbb . ovvv += np . transpose ( tmp125 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp125 rdm2 . bbbb . ovvv += np . transpose ( tmp126 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp126 rdm2 . abab . ovvv = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) rdm2 . abab . ovvv += einsum ( t1 . aa , ( 0 , 1 ), tmp108 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . ovvv += einsum ( tmp86 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 1 rdm2 . abab . ovvv += einsum ( tmp82 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 3 , 2 , 4 )) * 2 rdm2 . abab . ovvv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp25 , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) * - 1 rdm2 . abab . ovvv += einsum ( t1 . bb , ( 0 , 1 ), tmp111 , ( 2 , 0 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 1 rdm2 . aaaa . ovvv = np . copy ( np . transpose ( tmp115 , ( 0 , 1 , 3 , 2 ))) * - 2 del tmp115 rdm2 . aaaa . ovvv += einsum ( t1 . aa , ( 0 , 1 ), tmp105 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . ovvv += einsum ( tmp105 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . ovvv += einsum ( tmp116 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 1 del tmp116 rdm2 . aaaa . ovvv += np . transpose ( tmp117 , ( 0 , 2 , 3 , 1 )) del tmp117 rdm2 . aaaa . ovvv += np . transpose ( tmp118 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp118 rdm2 . aaaa . ovvv += np . transpose ( tmp119 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp119 rdm2 . bbbb . vvoo = np . copy ( l2 . bbbb ) * 2 rdm2 . abab . vvoo = np . copy ( l2 . abab ) rdm2 . aaaa . vvoo = np . copy ( l2 . aaaa ) * 2 rdm2 . bbbb . vovo = einsum ( tmp108 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . vovo += np . transpose ( tmp90 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . bbbb . vovo += np . transpose ( tmp94 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . vovo += einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . vovo += np . transpose ( tmp109 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . abab . vovo = einsum ( tmp105 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . vovo += np . transpose ( tmp114 , ( 2 , 1 , 3 , 0 )) * - 1 del tmp114 rdm2 . abab . vovo += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 rdm2 . aaaa . vovo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp110 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . aaaa . vovo += np . transpose ( tmp66 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . aaaa . vovo += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . vovo += np . transpose ( tmp83 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . aaaa . vovo += np . transpose ( tmp106 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . bbbb . voov = einsum ( tmp108 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . voov += np . transpose ( tmp90 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . bbbb . voov += np . transpose ( tmp94 , ( 2 , 1 , 0 , 3 )) rdm2 . bbbb . voov += einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . voov += np . transpose ( tmp109 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . abab . voov = np . copy ( np . transpose ( tmp112 , ( 2 , 1 , 0 , 3 ))) * 2 del tmp112 rdm2 . abab . voov += einsum ( l1 . aa , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . voov += np . transpose ( tmp92 , ( 2 , 1 , 0 , 3 )) * 2 del tmp92 rdm2 . abab . voov += np . transpose ( tmp113 , ( 2 , 1 , 0 , 3 )) * - 1 del tmp113 rdm2 . aaaa . voov = einsum ( tmp105 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . voov += np . transpose ( tmp66 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . aaaa . voov += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . voov += np . transpose ( tmp83 , ( 2 , 1 , 0 , 3 )) rdm2 . aaaa . voov += np . transpose ( tmp106 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . bbbb . ovvo = einsum ( tmp108 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . ovvo += np . transpose ( tmp90 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . bbbb . ovvo += np . transpose ( tmp94 , ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . ovvo += einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . ovvo += np . transpose ( tmp109 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . abab . ovvo = np . copy ( np . transpose ( tmp68 , ( 0 , 3 , 2 , 1 ))) * 2 del tmp68 rdm2 . abab . ovvo += einsum ( t1 . aa , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . ovvo += np . transpose ( tmp70 , ( 0 , 3 , 2 , 1 )) * 2 del tmp70 rdm2 . abab . ovvo += np . transpose ( tmp111 , ( 0 , 3 , 2 , 1 )) * - 1 del tmp111 rdm2 . aaaa . ovvo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp110 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 del tmp110 rdm2 . aaaa . ovvo += np . transpose ( tmp66 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . aaaa . ovvo += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . ovvo += np . transpose ( tmp83 , ( 1 , 2 , 3 , 0 )) rdm2 . aaaa . ovvo += np . transpose ( tmp106 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . bbbb . ovov = einsum ( tmp108 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . ovov += np . transpose ( tmp90 , ( 1 , 2 , 0 , 3 )) * - 4 del tmp90 rdm2 . bbbb . ovov += np . transpose ( tmp94 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp94 rdm2 . bbbb . ovov += einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . ovov += np . transpose ( tmp109 , ( 1 , 2 , 0 , 3 )) * 2 del tmp109 rdm2 . abab . ovov = einsum ( tmp108 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp108 rdm2 . abab . ovov += np . transpose ( tmp86 , ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . abab . ovov += einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 1 , 3 , 0 , 4 )) * - 1 rdm2 . aaaa . ovov = einsum ( tmp105 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp105 rdm2 . aaaa . ovov += np . transpose ( tmp66 , ( 1 , 2 , 0 , 3 )) * - 4 del tmp66 rdm2 . aaaa . ovov += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . ovov += np . transpose ( tmp83 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp83 rdm2 . aaaa . ovov += np . transpose ( tmp106 , ( 1 , 2 , 0 , 3 )) * 2 del tmp106 rdm2 . bbbb . oovv = np . copy ( t2 . bbbb ) * 2 rdm2 . bbbb . oovv += einsum ( tmp81 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp91 , ( 0 , 1 , 3 , 2 )) * - 8 rdm2 . bbbb . oovv += np . transpose ( tmp93 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp95 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp95 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp61 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . bbbb . oovv += tmp91 * 8 del tmp91 rdm2 . bbbb . oovv += np . transpose ( tmp93 , ( 1 , 0 , 3 , 2 )) * 2 del tmp93 rdm2 . bbbb . oovv += tmp95 * 2 rdm2 . bbbb . oovv += np . transpose ( tmp95 , ( 1 , 0 , 3 , 2 )) * 2 del tmp95 rdm2 . bbbb . oovv += einsum ( tmp36 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp96 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . oovv += einsum ( tmp96 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 del tmp96 rdm2 . bbbb . oovv += tmp97 * 2 rdm2 . bbbb . oovv += einsum ( tmp98 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * 4 del tmp98 rdm2 . bbbb . oovv += np . transpose ( tmp97 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp97 rdm2 . bbbb . oovv += np . transpose ( tmp99 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += einsum ( tmp42 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . bbbb . oovv += einsum ( tmp51 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 rdm2 . bbbb . oovv += np . transpose ( tmp99 , ( 1 , 0 , 3 , 2 )) * 2 del tmp99 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp51 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp100 , ( 1 , 0 , 3 , 2 )) * 2 del tmp100 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp101 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp101 rdm2 . bbbb . oovv += np . transpose ( tmp103 , ( 1 , 0 , 2 , 3 )) rdm2 . bbbb . oovv += tmp103 * - 1 rdm2 . bbbb . oovv += np . transpose ( tmp103 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . bbbb . oovv += np . transpose ( tmp103 , ( 0 , 1 , 3 , 2 )) del tmp103 rdm2 . abab . oovv = np . copy ( t2 . abab ) rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp81 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 1 del tmp81 rdm2 . abab . oovv += einsum ( tmp82 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 4 del tmp82 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp84 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp84 rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp36 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . oovv += einsum ( tmp72 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . oovv += einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 1 rdm2 . abab . oovv += einsum ( tmp85 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp85 rdm2 . abab . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp57 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp15 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 2 rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 rdm2 . abab . oovv += einsum ( tmp4 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 rdm2 . abab . oovv += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 4 , 5 )) rdm2 . abab . oovv += einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp86 , ( 0 , 4 , 3 , 5 ), ( 4 , 1 , 2 , 5 )) del tmp86 rdm2 . abab . oovv += einsum ( tmp87 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 del tmp87 rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp47 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp88 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp88 rdm2 . abab . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp89 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp89 rdm2 . abab . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp60 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) rdm2 . aaaa . oovv = np . copy ( t2 . aaaa ) * 2 rdm2 . aaaa . oovv += np . transpose ( tmp65 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . aaaa . oovv += np . transpose ( tmp67 , ( 0 , 1 , 3 , 2 )) * - 8 rdm2 . aaaa . oovv += np . transpose ( tmp69 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += np . transpose ( tmp71 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += np . transpose ( tmp71 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . aaaa . oovv += einsum ( tmp56 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . oovv += tmp67 * 8 del tmp67 rdm2 . aaaa . oovv += tmp69 * 2 del tmp69 rdm2 . aaaa . oovv += tmp71 * 2 rdm2 . aaaa . oovv += np . transpose ( tmp71 , ( 1 , 0 , 3 , 2 )) * 2 del tmp71 rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp22 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . oovv += einsum ( tmp72 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . oovv += einsum ( tmp72 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 del tmp72 rdm2 . aaaa . oovv += tmp73 * 2 rdm2 . aaaa . oovv += np . transpose ( tmp65 , ( 1 , 0 , 2 , 3 )) del tmp65 rdm2 . aaaa . oovv += np . transpose ( tmp73 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp73 rdm2 . aaaa . oovv += np . transpose ( tmp74 , ( 1 , 0 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp29 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp29 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) rdm2 . aaaa . oovv += np . transpose ( tmp74 , ( 0 , 1 , 3 , 2 )) * 2 del tmp74 rdm2 . aaaa . oovv += einsum ( tmp29 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp29 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . oovv += np . transpose ( tmp75 , ( 1 , 0 , 3 , 2 )) * 2 del tmp75 rdm2 . aaaa . oovv += einsum ( tmp76 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * 2 del tmp76 rdm2 . aaaa . oovv += np . transpose ( tmp78 , ( 1 , 0 , 2 , 3 )) rdm2 . aaaa . oovv += tmp78 * - 1 rdm2 . aaaa . oovv += np . transpose ( tmp78 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . aaaa . oovv += np . transpose ( tmp78 , ( 0 , 1 , 3 , 2 )) del tmp78 rdm2 . bbbb . vooo = einsum ( delta . bb . oo , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . vooo += einsum ( delta . bb . oo , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . vooo += np . transpose ( tmp17 , ( 3 , 2 , 1 , 0 )) * 2 rdm2 . abab . vooo = einsum ( l1 . aa , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . vooo += np . transpose ( tmp13 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp13 rdm2 . aaaa . vooo = einsum ( delta . aa . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . vooo += einsum ( delta . aa . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . vooo += np . transpose ( tmp6 , ( 3 , 2 , 1 , 0 )) * 2 rdm2 . bbbb . ovoo = einsum ( delta . bb . oo , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . ovoo += einsum ( delta . bb . oo , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . ovoo += np . transpose ( tmp17 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp17 rdm2 . abab . ovoo = einsum ( delta . aa . oo , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . ovoo += np . transpose ( tmp25 , ( 1 , 3 , 0 , 2 )) * - 1 del tmp25 rdm2 . aaaa . ovoo = einsum ( delta . aa . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . ovoo += einsum ( delta . aa . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . ovoo += np . transpose ( tmp6 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp6 rdm2 . bbbb . oovo = einsum ( tmp61 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 del tmp61 rdm2 . bbbb . oovo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp36 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . oovo += np . transpose ( tmp49 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . bbbb . oovo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . bbbb . oovo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp51 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 2 rdm2 . bbbb . oovo += np . transpose ( tmp52 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . bbbb . oovo += np . transpose ( tmp53 , ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . oovo += einsum ( t1 . bb , ( 0 , 1 ), tmp15 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * 2 rdm2 . bbbb . oovo += np . transpose ( tmp52 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . bbbb . oovo += np . transpose ( tmp53 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . oovo += einsum ( t1 . bb , ( 0 , 1 ), tmp15 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 2 rdm2 . bbbb . oovo += np . transpose ( tmp55 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . abab . oovo = einsum ( tmp56 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . oovo += np . transpose ( tmp57 , ( 0 , 2 , 3 , 1 )) * - 1 del tmp57 rdm2 . abab . oovo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp29 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . abab . oovo += np . transpose ( tmp58 , ( 0 , 2 , 3 , 1 )) * - 2 del tmp58 rdm2 . abab . oovo += np . transpose ( tmp59 , ( 0 , 2 , 3 , 1 )) * - 2 del tmp59 rdm2 . abab . oovo += einsum ( t1 . aa , ( 0 , 1 ), tmp40 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . abab . oovo += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 3 , 4 , 2 )) del tmp45 rdm2 . abab . oovo += np . transpose ( tmp60 , ( 0 , 2 , 3 , 1 )) del tmp60 rdm2 . aaaa . oovo = einsum ( tmp56 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) del tmp56 rdm2 . aaaa . oovo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp22 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . oovo += np . transpose ( tmp23 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . aaaa . oovo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp29 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . oovo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp29 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) rdm2 . aaaa . oovo += np . transpose ( tmp31 , ( 1 , 2 , 3 , 0 )) rdm2 . aaaa . oovo += np . transpose ( tmp30 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . aaaa . oovo += einsum ( tmp4 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) rdm2 . aaaa . oovo += np . transpose ( tmp30 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . aaaa . oovo += np . transpose ( tmp31 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . aaaa . oovo += einsum ( t1 . aa , ( 0 , 1 ), tmp27 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 2 del tmp27 rdm2 . aaaa . oovo += np . transpose ( tmp33 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . ooov = einsum ( delta . bb . oo , ( 0 , 1 ), tmp48 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 del tmp48 rdm2 . bbbb . ooov += einsum ( delta . bb . oo , ( 0 , 1 ), tmp36 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . ooov += np . transpose ( tmp49 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp49 rdm2 . bbbb . ooov += einsum ( delta . bb . oo , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . bbbb . ooov += einsum ( delta . bb . oo , ( 0 , 1 ), tmp51 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 del tmp51 rdm2 . bbbb . ooov += np . transpose ( tmp52 , ( 1 , 2 , 0 , 3 )) * - 4 rdm2 . bbbb . ooov += np . transpose ( tmp53 , ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . bbbb . ooov += einsum ( t1 . bb , ( 0 , 1 ), tmp40 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . bbbb . ooov += np . transpose ( tmp52 , ( 2 , 1 , 0 , 3 )) * 4 del tmp52 rdm2 . bbbb . ooov += np . transpose ( tmp53 , ( 2 , 1 , 0 , 3 )) del tmp53 rdm2 . bbbb . ooov += einsum ( t1 . bb , ( 0 , 1 ), tmp40 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) del tmp40 rdm2 . bbbb . ooov += np . transpose ( tmp55 , ( 2 , 1 , 0 , 3 )) del tmp55 rdm2 . abab . ooov = einsum ( delta . aa . oo , ( 0 , 1 ), tmp36 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) del tmp36 rdm2 . abab . ooov += np . transpose ( tmp37 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp37 rdm2 . abab . ooov += einsum ( tmp42 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 del tmp42 rdm2 . abab . ooov += np . transpose ( tmp43 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp43 rdm2 . abab . ooov += np . transpose ( tmp44 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp44 rdm2 . abab . ooov += einsum ( tmp4 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . abab . ooov += np . transpose ( tmp46 , ( 1 , 2 , 0 , 3 )) del tmp46 rdm2 . abab . ooov += np . transpose ( tmp47 , ( 1 , 2 , 0 , 3 )) del tmp47 rdm2 . aaaa . ooov = einsum ( delta . aa . oo , ( 0 , 1 ), tmp21 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 del tmp21 rdm2 . aaaa . ooov += einsum ( delta . aa . oo , ( 0 , 1 ), tmp22 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) del tmp22 rdm2 . aaaa . ooov += np . transpose ( tmp23 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp23 rdm2 . aaaa . ooov += einsum ( delta . aa . oo , ( 0 , 1 ), tmp29 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . aaaa . ooov += einsum ( delta . aa . oo , ( 0 , 1 ), tmp29 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 del tmp29 rdm2 . aaaa . ooov += np . transpose ( tmp30 , ( 1 , 2 , 0 , 3 )) * - 4 rdm2 . aaaa . ooov += np . transpose ( tmp31 , ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . aaaa . ooov += einsum ( tmp4 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . aaaa . ooov += np . transpose ( tmp31 , ( 2 , 1 , 0 , 3 )) del tmp31 rdm2 . aaaa . ooov += np . transpose ( tmp30 , ( 2 , 1 , 0 , 3 )) * 4 del tmp30 rdm2 . aaaa . ooov += einsum ( t1 . aa , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) rdm2 . aaaa . ooov += np . transpose ( tmp33 , ( 2 , 1 , 0 , 3 )) del tmp33 rdm2 . bbbb . oooo = einsum ( delta . bb . oo , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . bbbb . oooo += einsum ( tmp11 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . oooo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp15 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 2 rdm2 . bbbb . oooo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp15 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * 2 del tmp15 rdm2 . bbbb . oooo += np . transpose ( tmp16 , ( 3 , 2 , 1 , 0 )) * 2 del tmp16 rdm2 . bbbb . oooo += np . transpose ( tmp18 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp18 rdm2 . abab . oooo = einsum ( tmp11 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 del tmp11 rdm2 . abab . oooo += einsum ( tmp4 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . abab . oooo += np . transpose ( tmp12 , ( 1 , 3 , 0 , 2 )) del tmp12 rdm2 . abab . oooo += np . transpose ( tmp14 , ( 1 , 3 , 0 , 2 )) del tmp14 rdm2 . aaaa . oooo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 2 rdm2 . aaaa . oooo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * 2 del tmp3 rdm2 . aaaa . oooo += einsum ( tmp4 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . aaaa . oooo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) del delta , tmp4 rdm2 . aaaa . oooo += np . transpose ( tmp5 , ( 3 , 2 , 1 , 0 )) * 2 del tmp5 rdm2 . aaaa . oooo += np . transpose ( tmp7 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp7 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 ebcc . codegen . UCC2 . hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:52:35.145902. 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 tmp1 : array tmp102 : array tmp104 : array tmp107 : array tmp108 : array tmp109 : array tmp11 : array tmp117 : array tmp118 : array tmp12 : array tmp121 : array tmp13 : array tmp131 : array tmp134 : array tmp135 : array tmp137 : array tmp138 : array tmp139 : array tmp141 : array tmp143 : array tmp145 : array tmp147 : array tmp149 : array tmp15 : array tmp151 : array tmp152 : array tmp154 : array tmp155 : array tmp156 : array tmp157 : array tmp158 : array tmp16 : array tmp160 : array tmp162 : array tmp165 : array tmp166 : array tmp167 : array tmp170 : array tmp176 : array tmp178 : array tmp18 : array tmp184 : array tmp186 : array tmp188 : array tmp198 : array tmp20 : array tmp22 : array tmp24 : array tmp25 : array tmp26 : array tmp28 : array tmp31 : array tmp32 : array tmp33 : array tmp37 : array tmp39 : array tmp4 : array tmp41 : array tmp43 : array tmp45 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp52 : array tmp53 : array tmp54 : array tmp56 : array tmp59 : array tmp6 : array tmp62 : array tmp63 : array tmp65 : array tmp66 : array tmp67 : array tmp69 : array tmp7 : array tmp71 : array tmp73 : array tmp75 : array tmp77 : array tmp79 : array tmp81 : array tmp83 : array tmp85 : array tmp87 : array tmp89 : array tmp9 : array tmp96 : array Source code in ebcc/codegen/UCC2.py 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 def hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:52:35.145902. 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 ------- tmp1 : array tmp102 : array tmp104 : array tmp107 : array tmp108 : array tmp109 : array tmp11 : array tmp117 : array tmp118 : array tmp12 : array tmp121 : array tmp13 : array tmp131 : array tmp134 : array tmp135 : array tmp137 : array tmp138 : array tmp139 : array tmp141 : array tmp143 : array tmp145 : array tmp147 : array tmp149 : array tmp15 : array tmp151 : array tmp152 : array tmp154 : array tmp155 : array tmp156 : array tmp157 : array tmp158 : array tmp16 : array tmp160 : array tmp162 : array tmp165 : array tmp166 : array tmp167 : array tmp170 : array tmp176 : array tmp178 : array tmp18 : array tmp184 : array tmp186 : array tmp188 : array tmp198 : array tmp20 : array tmp22 : array tmp24 : array tmp25 : array tmp26 : array tmp28 : array tmp31 : array tmp32 : array tmp33 : array tmp37 : array tmp39 : array tmp4 : array tmp41 : array tmp43 : array tmp45 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp52 : array tmp53 : array tmp54 : array tmp56 : array tmp59 : array tmp6 : array tmp62 : array tmp63 : array tmp65 : array tmp66 : array tmp67 : array tmp69 : array tmp7 : array tmp71 : array tmp73 : array tmp75 : array tmp77 : array tmp79 : array tmp81 : array tmp83 : array tmp85 : array tmp87 : array tmp89 : array tmp9 : array tmp96 : array \"\"\" tmp28 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp15 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp12 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp11 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp13 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp9 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) tmp7 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 1 ), ( 0 , 3 )) tmp198 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp188 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp186 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp184 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp178 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp176 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp170 = einsum ( t1 . bb , ( 0 , 1 ), tmp28 , ( 0 , 2 ), ( 2 , 1 )) tmp167 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp166 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp165 = einsum ( f . bb . vv , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp162 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp160 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 1 , 4 ), ( 3 , 4 )) tmp158 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp157 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 4 , 2 , 5 , 1 ), ( 0 , 4 , 5 , 3 )) tmp156 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) tmp155 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 1 tmp154 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp152 = einsum ( f . bb . oo , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp151 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp149 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp147 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp145 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp143 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) tmp141 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp139 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp138 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) tmp137 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp135 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp134 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp131 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp121 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp118 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp117 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp109 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 3 , 5 )) tmp108 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp107 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp104 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp102 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) tmp96 = einsum ( t1 . aa , ( 0 , 1 ), tmp1 , ( 0 , 2 ), ( 2 , 1 )) tmp89 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp87 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp85 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp83 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp81 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp79 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp77 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp75 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp73 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp71 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp69 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp67 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp66 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp65 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp63 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp62 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 1 , 3 ), ( 0 , 2 )) tmp59 = einsum ( f . aa . oo , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp56 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp54 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp53 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp52 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp49 = einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp47 = einsum ( tmp15 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp46 = einsum ( tmp12 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp45 = einsum ( tmp11 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp43 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp41 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp39 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp37 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp33 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp32 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp31 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 3 ), ( 0 , 2 )) tmp26 = einsum ( t1 . aa , ( 0 , 1 ), tmp13 , ( 2 , 1 ), ( 0 , 2 )) tmp25 = einsum ( t1 . aa , ( 0 , 1 ), tmp9 , ( 2 , 1 ), ( 0 , 2 )) tmp24 = einsum ( t1 . aa , ( 0 , 1 ), tmp7 , ( 2 , 1 ), ( 0 , 2 )) tmp22 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp20 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) * - 1 tmp18 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp16 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp6 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp5 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) tmp4 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 )) return { f \"tmp1\" : tmp1 , f \"tmp102\" : tmp102 , f \"tmp104\" : tmp104 , f \"tmp107\" : tmp107 , f \"tmp108\" : tmp108 , f \"tmp109\" : tmp109 , f \"tmp11\" : tmp11 , f \"tmp117\" : tmp117 , f \"tmp118\" : tmp118 , f \"tmp12\" : tmp12 , f \"tmp121\" : tmp121 , f \"tmp13\" : tmp13 , f \"tmp131\" : tmp131 , f \"tmp134\" : tmp134 , f \"tmp135\" : tmp135 , f \"tmp137\" : tmp137 , f \"tmp138\" : tmp138 , f \"tmp139\" : tmp139 , f \"tmp141\" : tmp141 , f \"tmp143\" : tmp143 , f \"tmp145\" : tmp145 , f \"tmp147\" : tmp147 , f \"tmp149\" : tmp149 , f \"tmp15\" : tmp15 , f \"tmp151\" : tmp151 , f \"tmp152\" : tmp152 , f \"tmp154\" : tmp154 , f \"tmp155\" : tmp155 , f \"tmp156\" : tmp156 , f \"tmp157\" : tmp157 , f \"tmp158\" : tmp158 , f \"tmp16\" : tmp16 , f \"tmp160\" : tmp160 , f \"tmp162\" : tmp162 , f \"tmp165\" : tmp165 , f \"tmp166\" : tmp166 , f \"tmp167\" : tmp167 , f \"tmp170\" : tmp170 , f \"tmp176\" : tmp176 , f \"tmp178\" : tmp178 , f \"tmp18\" : tmp18 , f \"tmp184\" : tmp184 , f \"tmp186\" : tmp186 , f \"tmp188\" : tmp188 , f \"tmp198\" : tmp198 , f \"tmp20\" : tmp20 , f \"tmp22\" : tmp22 , f \"tmp24\" : tmp24 , f \"tmp25\" : tmp25 , f \"tmp26\" : tmp26 , f \"tmp28\" : tmp28 , f \"tmp31\" : tmp31 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp37\" : tmp37 , f \"tmp39\" : tmp39 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp43\" : tmp43 , f \"tmp45\" : tmp45 , f \"tmp46\" : tmp46 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp52\" : tmp52 , f \"tmp53\" : tmp53 , f \"tmp54\" : tmp54 , f \"tmp56\" : tmp56 , f \"tmp59\" : tmp59 , f \"tmp6\" : tmp6 , f \"tmp62\" : tmp62 , f \"tmp63\" : tmp63 , f \"tmp65\" : tmp65 , f \"tmp66\" : tmp66 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp7\" : tmp7 , f \"tmp71\" : tmp71 , f \"tmp73\" : tmp73 , f \"tmp75\" : tmp75 , f \"tmp77\" : tmp77 , f \"tmp79\" : tmp79 , f \"tmp81\" : tmp81 , f \"tmp83\" : tmp83 , f \"tmp85\" : tmp85 , f \"tmp87\" : tmp87 , f \"tmp89\" : tmp89 , f \"tmp9\" : tmp9 , f \"tmp96\" : tmp96 } ebcc . codegen . UCC2 . 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-17T18:52:35.199000. 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. Source code in ebcc/codegen/UCC2.py 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 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-17T18:52:35.199000. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp56 = np . copy ( ints . tmp147 ) tmp56 += ints . tmp151 * 0.5 tmp58 = np . copy ( ints . tmp41 ) * 2 tmp58 += ints . tmp43 tmp60 = np . copy ( ints . tmp184 ) del ints . tmp184 tmp60 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) * 0.5 tmp65 = np . copy ( ints . tmp143 ) tmp65 += ints . tmp149 * 2 tmp67 = np . copy ( f . bb . oo ) tmp67 += ints . tmp28 tmp69 = np . copy ( ints . tmp188 ) del ints . tmp188 tmp69 += ints . tmp186 * 2 del ints . tmp186 tmp22 = np . copy ( ints . tmp20 ) * 2 tmp22 += ints . tmp22 tmp24 = np . copy ( ints . tmp67 ) del ints . tmp67 tmp24 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) * 0.5 tmp20 = np . copy ( ints . tmp83 ) tmp20 += ints . tmp87 * 2 tmp18 = np . copy ( ints . tmp79 ) tmp18 += ints . tmp85 * 0.5 tmp12 = np . copy ( f . aa . oo ) tmp12 += ints . tmp1 tmp14 = np . copy ( ints . tmp71 ) del ints . tmp71 tmp14 += ints . tmp69 * 2 del ints . tmp69 tmp39 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 2 , 1 ), ( 3 ,)) tmp40 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . ovov , ( 0 , 3 , 1 , 2 ), ( 3 ,)) tmp57 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp56 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 4 del tmp56 tmp53 = einsum ( ints . tmp141 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) tmp59 = einsum ( tmp58 , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) * - 2 del tmp58 tmp55 = einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp61 = einsum ( r1 . b , ( 0 ,), tmp60 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) * 2 del tmp60 tmp54 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 4 , 1 ), ( 4 , 2 , 3 )) tmp63 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp145 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) tmp66 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp65 , ( 0 , 3 , 2 , 4 ), ( 1 , 3 , 4 )) del tmp65 tmp64 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 2 , 3 ), ( 4 , 0 , 1 )) tmp68 = einsum ( tmp67 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp67 tmp70 = einsum ( r1 . b , ( 0 ,), tmp69 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp69 tmp49 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp31 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 0 , 3 ), ( 1 ,)) * - 1 tmp30 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 0 , 2 , 3 ), ( 1 ,)) tmp28 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp17 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp23 = einsum ( tmp22 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) * - 2 del tmp22 tmp25 = einsum ( r1 . a , ( 0 ,), tmp24 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) * 2 del tmp24 tmp21 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp20 , ( 3 , 0 , 4 , 2 ), ( 1 , 3 , 4 )) * - 1 del tmp20 tmp19 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp18 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 4 del tmp18 tmp9 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 3 ), ( 4 , 0 , 1 )) tmp8 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp77 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) tmp13 = einsum ( tmp12 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp12 tmp15 = einsum ( r1 . a , ( 0 ,), tmp14 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp14 tmp11 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . ovov , ( 3 , 4 , 0 , 2 ), ( 1 , 3 , 4 )) * - 1 tmp10 = einsum ( ints . tmp81 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * - 1 tmp52 = np . copy ( ints . tmp152 ) del ints . tmp152 tmp52 += ints . tmp155 * 2 del ints . tmp155 tmp52 += ints . tmp156 del ints . tmp156 tmp52 += ints . tmp166 * 2 del ints . tmp166 tmp52 += ints . tmp170 del ints . tmp170 tmp52 += f . bb . ov * - 1 tmp52 += ints . tmp134 * - 1 del ints . tmp134 tmp52 += ints . tmp135 * - 2 del ints . tmp135 tmp52 += ints . tmp165 * - 1 del ints . tmp165 tmp52 += ints . tmp167 * - 1 del ints . tmp167 tmp73 = np . copy ( tmp39 ) * - 0.5 tmp73 += tmp40 tmp74 = np . copy ( ints . tmp176 ) del ints . tmp176 tmp74 += np . transpose ( ints . tmp198 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp198 tmp72 = np . copy ( ints . tmp178 ) del ints . tmp178 tmp72 += np . transpose ( v . bbbb . oooo , ( 0 , 2 , 1 , 3 )) tmp62 = np . copy ( tmp53 ) del tmp53 tmp62 += tmp54 del tmp54 tmp62 += tmp55 * 2 del tmp55 tmp62 += np . transpose ( tmp57 , ( 1 , 0 , 2 )) * - 1 del tmp57 tmp62 += np . transpose ( tmp59 , ( 1 , 0 , 2 )) del tmp59 tmp62 += tmp61 del tmp61 tmp71 = np . copy ( tmp63 ) * 4 del tmp63 tmp71 += tmp64 * 2 del tmp64 tmp71 += np . transpose ( tmp66 , ( 1 , 0 , 2 )) del tmp66 tmp71 += np . transpose ( tmp68 , ( 1 , 0 , 2 )) * - 2 del tmp68 tmp71 += tmp70 del tmp70 tmp50 = np . copy ( np . transpose ( ints . tmp158 , ( 1 , 0 ))) * 2 del ints . tmp158 tmp50 += np . transpose ( ints . tmp160 , ( 1 , 0 )) del ints . tmp160 tmp50 += f . bb . vv * - 1 tmp50 += tmp49 del tmp49 tmp44 = np . copy ( f . aa . oo ) tmp44 += ints . tmp1 tmp44 += np . transpose ( ints . tmp20 , ( 1 , 0 )) * 2 tmp44 += np . transpose ( ints . tmp22 , ( 1 , 0 )) tmp32 = np . copy ( tmp30 ) * 2 del tmp30 tmp32 += tmp31 del tmp31 tmp48 = np . copy ( ints . tmp104 ) tmp48 += v . aabb . oooo tmp47 = np . copy ( ints . tmp162 ) del ints . tmp162 tmp47 += v . aabb . oovv * - 1 tmp51 = np . copy ( ints . tmp131 ) del ints . tmp131 tmp51 += ints . tmp138 del ints . tmp138 tmp51 += ints . tmp139 * 2 del ints . tmp139 tmp51 += np . transpose ( ints . tmp154 , ( 1 , 0 , 2 , 3 )) del ints . tmp154 tmp51 += v . aabb . ooov tmp51 += ints . tmp137 * - 1 del ints . tmp137 tmp51 += ints . tmp157 * - 1 del ints . tmp157 tmp46 = np . copy ( ints . tmp143 ) del ints . tmp143 tmp46 += ints . tmp149 * 2 del ints . tmp149 tmp46 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp46 += ints . tmp141 * - 1 del ints . tmp141 tmp45 = np . copy ( ints . tmp147 ) * 2 del ints . tmp147 tmp45 += ints . tmp151 del ints . tmp151 tmp45 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp45 += ints . tmp145 * - 2 del ints . tmp145 tmp45 += v . bbbb . oovv * - 1 tmp43 = np . copy ( f . bb . oo ) tmp43 += ints . tmp28 tmp43 += np . transpose ( ints . tmp41 , ( 1 , 0 )) * 2 tmp43 += np . transpose ( ints . tmp43 , ( 1 , 0 )) tmp41 = np . copy ( tmp39 ) * - 1 del tmp39 tmp41 += tmp40 * 2 del tmp40 tmp36 = np . copy ( ints . tmp83 ) del ints . tmp83 tmp36 += ints . tmp87 * 2 del ints . tmp87 tmp36 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp36 += ints . tmp81 * - 1 del ints . tmp81 tmp35 = np . copy ( ints . tmp79 ) * 2 del ints . tmp79 tmp35 += ints . tmp85 del ints . tmp85 tmp35 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp35 += ints . tmp77 * - 2 del ints . tmp77 tmp35 += v . aaaa . oovv * - 1 tmp42 = np . copy ( ints . tmp102 ) del ints . tmp102 tmp42 += ints . tmp108 del ints . tmp108 tmp42 += ints . tmp109 * 2 del ints . tmp109 tmp42 += np . transpose ( ints . tmp117 , ( 0 , 2 , 1 , 3 )) del ints . tmp117 tmp42 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp42 += ints . tmp107 * - 1 del ints . tmp107 tmp42 += ints . tmp118 * - 1 del ints . tmp118 tmp37 = np . copy ( ints . tmp121 ) del ints . tmp121 tmp37 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) * - 1 tmp38 = np . copy ( ints . tmp104 ) del ints . tmp104 tmp38 += v . aabb . oooo tmp34 = np . copy ( ints . tmp52 ) * 2 del ints . tmp52 tmp34 += ints . tmp59 del ints . tmp59 tmp34 += ints . tmp65 * 2 del ints . tmp65 tmp34 += ints . tmp66 del ints . tmp66 tmp34 += ints . tmp96 del ints . tmp96 tmp34 += f . aa . ov * - 1 tmp34 += ints . tmp49 * - 1 del ints . tmp49 tmp34 += ints . tmp53 * - 1 del ints . tmp53 tmp34 += ints . tmp62 * - 2 del ints . tmp62 tmp34 += ints . tmp63 * - 1 del ints . tmp63 tmp29 = np . copy ( np . transpose ( ints . tmp73 , ( 1 , 0 ))) * 2 del ints . tmp73 tmp29 += np . transpose ( ints . tmp75 , ( 1 , 0 )) del ints . tmp75 tmp29 += f . aa . vv * - 1 tmp29 += tmp28 del tmp28 tmp26 = np . copy ( tmp17 ) * 2 del tmp17 tmp26 += np . transpose ( tmp19 , ( 1 , 0 , 2 )) * - 1 del tmp19 tmp26 += np . transpose ( tmp21 , ( 1 , 0 , 2 )) del tmp21 tmp26 += np . transpose ( tmp23 , ( 1 , 0 , 2 )) del tmp23 tmp26 += tmp25 del tmp25 tmp33 = np . copy ( ints . tmp54 ) del ints . tmp54 tmp33 += np . transpose ( ints . tmp89 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp89 tmp27 = np . copy ( ints . tmp56 ) del ints . tmp56 tmp27 += np . transpose ( v . aaaa . oooo , ( 0 , 2 , 1 , 3 )) tmp16 = np . copy ( tmp8 ) * 4 del tmp8 tmp16 += tmp9 * 2 del tmp9 tmp16 += tmp10 del tmp10 tmp16 += tmp11 del tmp11 tmp16 += np . transpose ( tmp13 , ( 1 , 0 , 2 )) * - 2 del tmp13 tmp16 += tmp15 del tmp15 tmp6 = np . copy ( ints . tmp37 ) del ints . tmp37 tmp6 += v . bbbb . ooov * - 1 tmp7 = np . copy ( f . bb . oo ) tmp7 += ints . tmp28 del ints . tmp28 tmp7 += np . transpose ( ints . tmp32 , ( 1 , 0 )) del ints . tmp32 tmp7 += np . transpose ( ints . tmp33 , ( 1 , 0 )) del ints . tmp33 tmp7 += np . transpose ( ints . tmp41 , ( 1 , 0 )) * 2 del ints . tmp41 tmp7 += np . transpose ( ints . tmp43 , ( 1 , 0 )) del ints . tmp43 tmp7 += np . transpose ( ints . tmp46 , ( 1 , 0 )) del ints . tmp46 tmp7 += np . transpose ( ints . tmp47 , ( 1 , 0 )) del ints . tmp47 tmp7 += np . transpose ( ints . tmp31 , ( 1 , 0 )) * - 1 del ints . tmp31 tmp7 += np . transpose ( ints . tmp45 , ( 1 , 0 )) * - 1 del ints . tmp45 tmp2 = np . copy ( f . bb . ov ) tmp2 += ints . tmp12 del ints . tmp12 tmp2 += ints . tmp15 del ints . tmp15 tmp2 += ints . tmp11 * - 1 del ints . tmp11 tmp5 = np . copy ( ints . tmp39 ) del ints . tmp39 tmp5 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp3 = np . copy ( f . aa . ov ) tmp3 += ints . tmp13 del ints . tmp13 tmp3 += ints . tmp9 del ints . tmp9 tmp3 += ints . tmp7 * - 1 del ints . tmp7 tmp4 = np . copy ( f . aa . oo ) tmp4 += ints . tmp1 del ints . tmp1 tmp4 += np . transpose ( ints . tmp20 , ( 1 , 0 )) * 2 del ints . tmp20 tmp4 += np . transpose ( ints . tmp22 , ( 1 , 0 )) del ints . tmp22 tmp4 += np . transpose ( ints . tmp25 , ( 1 , 0 )) del ints . tmp25 tmp4 += np . transpose ( ints . tmp26 , ( 1 , 0 )) del ints . tmp26 tmp4 += np . transpose ( ints . tmp5 , ( 1 , 0 )) del ints . tmp5 tmp4 += np . transpose ( ints . tmp6 , ( 1 , 0 )) del ints . tmp6 tmp4 += np . transpose ( ints . tmp24 , ( 1 , 0 )) * - 1 del ints . tmp24 tmp4 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * - 1 del ints . tmp4 tmp0 = np . copy ( ints . tmp18 ) del ints . tmp18 tmp0 += v . aabb . ooov tmp1 = np . copy ( ints . tmp16 ) del ints . tmp16 tmp1 += v . aaaa . ooov * - 1 r2new . bbb = np . copy ( tmp62 ) * - 1 r2new . bbb += np . transpose ( tmp62 , ( 1 , 0 , 2 )) del tmp62 r2new . bbb += tmp71 r2new . bbb += np . transpose ( tmp71 , ( 1 , 0 , 2 )) * - 1 del tmp71 r2new . bbb += einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 2 , 4 ), ( 0 , 1 , 4 )) * - 2 del tmp72 r2new . bbb += einsum ( tmp50 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp73 , ( 3 ,), ( 0 , 1 , 2 )) * 4 del tmp73 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp74 , ( 1 , 2 , 0 , 3 ), ( 2 , 1 , 3 )) * 2 del tmp74 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp52 , ( 1 , 2 ), ( 0 , 1 , 2 )) * - 1 r2new . bbb += einsum ( tmp52 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) r2new . bab = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp45 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) del tmp45 r2new . bab += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp46 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) * - 2 del tmp46 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp47 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) del tmp47 r2new . bab += einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 2 , 0 , 4 )) del tmp48 r2new . bab += einsum ( tmp50 , ( 0 , 1 ), r2 . bab , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp50 r2new . bab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp32 , ( 2 ,), ( 1 , 0 , 3 )) r2new . bab += einsum ( r1 . a , ( 0 ,), tmp51 , ( 1 , 0 , 2 , 3 ), ( 2 , 1 , 3 )) del tmp51 r2new . bab += einsum ( tmp43 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . bab += einsum ( tmp44 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . bab += einsum ( tmp52 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) del tmp52 r2new . aba = einsum ( tmp35 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) del tmp35 r2new . aba += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp36 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) * - 2 del tmp36 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp37 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) del tmp37 r2new . aba += einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) del tmp38 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp29 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( tmp41 , ( 0 ,), t2 . abab , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) del tmp41 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp42 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp42 r2new . aba += einsum ( tmp43 , ( 0 , 1 ), r2 . aba , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp43 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp44 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp44 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp34 , ( 1 , 2 ), ( 1 , 0 , 2 )) r2new . aaa = np . copy ( tmp16 ) r2new . aaa += np . transpose ( tmp16 , ( 1 , 0 , 2 )) * - 1 del tmp16 r2new . aaa += tmp26 * - 1 r2new . aaa += np . transpose ( tmp26 , ( 1 , 0 , 2 )) del tmp26 r2new . aaa += einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) * 2 del tmp27 r2new . aaa += einsum ( tmp29 , ( 0 , 1 ), r2 . aaa , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 del tmp29 r2new . aaa += einsum ( tmp32 , ( 0 ,), t2 . aaaa , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 2 del tmp32 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp33 , ( 1 , 2 , 0 , 3 ), ( 2 , 1 , 3 )) * 2 del tmp33 r2new . aaa += einsum ( tmp34 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 2 , 0 , 1 )) * - 1 r2new . aaa += einsum ( tmp34 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) del tmp34 r1new . b = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 ,)) del tmp5 r1new . b += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 1 , 2 , 3 ), ( 0 ,)) * 2 del tmp6 r1new . b += einsum ( tmp2 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 1 ), ( 2 ,)) * 2 r1new . b += einsum ( tmp3 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 1 ), ( 2 ,)) * - 1 r1new . b += einsum ( tmp7 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp7 r1new . a = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 1 , 3 ), ( 0 ,)) del tmp0 r1new . a += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 1 , 3 ), ( 0 ,)) * - 2 del tmp1 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp2 , ( 0 , 2 ), ( 1 ,)) * - 1 del tmp2 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp3 , ( 1 , 2 ), ( 0 ,)) * 2 del tmp3 r1new . a += einsum ( tmp4 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . UCC2 . hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:53:15.241280. 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 tmp101 : array tmp104 : array tmp105 : array tmp11 : array tmp115 : array tmp116 : array tmp117 : array tmp12 : array tmp128 : array tmp13 : array tmp131 : array tmp132 : array tmp138 : array tmp139 : array tmp141 : array tmp142 : array tmp143 : array tmp145 : array tmp147 : array tmp148 : array tmp149 : array tmp15 : array tmp150 : array tmp152 : array tmp153 : array tmp154 : array tmp155 : array tmp156 : array tmp160 : array tmp162 : array tmp164 : array tmp166 : array tmp168 : array tmp170 : array tmp176 : array tmp178 : array tmp180 : array tmp193 : array tmp20 : array tmp22 : array tmp31 : array tmp32 : array tmp33 : array tmp4 : array tmp41 : array tmp43 : array tmp5 : array tmp50 : array tmp51 : array tmp55 : array tmp57 : array tmp59 : array tmp6 : array tmp63 : array tmp65 : array tmp67 : array tmp69 : array tmp7 : array tmp71 : array tmp73 : array tmp76 : array tmp79 : array tmp80 : array tmp81 : array tmp88 : array tmp89 : array tmp9 : array tmp91 : array tmp93 : array tmp94 : array tmp95 : array tmp97 : array Source code in ebcc/codegen/UCC2.py 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 def hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:53:15.241280. 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 ------- tmp101 : array tmp104 : array tmp105 : array tmp11 : array tmp115 : array tmp116 : array tmp117 : array tmp12 : array tmp128 : array tmp13 : array tmp131 : array tmp132 : array tmp138 : array tmp139 : array tmp141 : array tmp142 : array tmp143 : array tmp145 : array tmp147 : array tmp148 : array tmp149 : array tmp15 : array tmp150 : array tmp152 : array tmp153 : array tmp154 : array tmp155 : array tmp156 : array tmp160 : array tmp162 : array tmp164 : array tmp166 : array tmp168 : array tmp170 : array tmp176 : array tmp178 : array tmp180 : array tmp193 : array tmp20 : array tmp22 : array tmp31 : array tmp32 : array tmp33 : array tmp4 : array tmp41 : array tmp43 : array tmp5 : array tmp50 : array tmp51 : array tmp55 : array tmp57 : array tmp59 : array tmp6 : array tmp63 : array tmp65 : array tmp67 : array tmp69 : array tmp7 : array tmp71 : array tmp73 : array tmp76 : array tmp79 : array tmp80 : array tmp81 : array tmp88 : array tmp89 : array tmp9 : array tmp91 : array tmp93 : array tmp94 : array tmp95 : array tmp97 : array \"\"\" tmp139 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 2 , 1 ), ( 2 , 0 )) tmp89 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp193 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 tmp180 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) tmp178 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp176 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp170 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp168 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp166 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp164 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp162 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) tmp160 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp156 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp155 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 3 , 5 ), ( 4 , 1 , 2 , 5 )) tmp154 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp153 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp152 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp150 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) tmp149 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 1 tmp148 = einsum ( f . bb . oo , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp147 = einsum ( t1 . bb , ( 0 , 1 ), tmp139 , ( 0 , 2 ), ( 2 , 1 )) tmp145 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp143 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp142 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp141 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp138 = einsum ( f . bb . vv , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp132 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 4 , 5 , 1 ), ( 5 , 2 , 4 , 3 )) tmp131 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp128 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp117 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp116 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp115 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp105 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp104 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp101 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp97 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp95 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp94 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp93 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp91 = einsum ( t1 . aa , ( 0 , 1 ), tmp89 , ( 0 , 2 ), ( 2 , 1 )) tmp88 = einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp81 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 tmp80 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp79 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 1 tmp76 = einsum ( f . aa . oo , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp73 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp71 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp69 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp67 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp65 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp63 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp59 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 5 , 1 , 3 ), ( 0 , 2 , 4 , 5 )) tmp57 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp55 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp51 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp50 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 1 , 3 ), ( 0 , 2 )) tmp43 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 1 , 4 ), ( 3 , 4 )) tmp41 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp33 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp32 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 )) tmp31 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 1 ), ( 2 , 3 )) tmp22 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp20 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp15 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp13 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp12 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp11 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp9 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) tmp7 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 1 ), ( 0 , 3 )) tmp6 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp5 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 3 ), ( 1 , 2 )) tmp4 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) return { f \"tmp101\" : tmp101 , f \"tmp104\" : tmp104 , f \"tmp105\" : tmp105 , f \"tmp11\" : tmp11 , f \"tmp115\" : tmp115 , f \"tmp116\" : tmp116 , f \"tmp117\" : tmp117 , f \"tmp12\" : tmp12 , f \"tmp128\" : tmp128 , f \"tmp13\" : tmp13 , f \"tmp131\" : tmp131 , f \"tmp132\" : tmp132 , f \"tmp138\" : tmp138 , f \"tmp139\" : tmp139 , f \"tmp141\" : tmp141 , f \"tmp142\" : tmp142 , f \"tmp143\" : tmp143 , f \"tmp145\" : tmp145 , f \"tmp147\" : tmp147 , f \"tmp148\" : tmp148 , f \"tmp149\" : tmp149 , f \"tmp15\" : tmp15 , f \"tmp150\" : tmp150 , f \"tmp152\" : tmp152 , f \"tmp153\" : tmp153 , f \"tmp154\" : tmp154 , f \"tmp155\" : tmp155 , f \"tmp156\" : tmp156 , f \"tmp160\" : tmp160 , f \"tmp162\" : tmp162 , f \"tmp164\" : tmp164 , f \"tmp166\" : tmp166 , f \"tmp168\" : tmp168 , f \"tmp170\" : tmp170 , f \"tmp176\" : tmp176 , f \"tmp178\" : tmp178 , f \"tmp180\" : tmp180 , f \"tmp193\" : tmp193 , f \"tmp20\" : tmp20 , f \"tmp22\" : tmp22 , f \"tmp31\" : tmp31 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp43\" : tmp43 , f \"tmp5\" : tmp5 , f \"tmp50\" : tmp50 , f \"tmp51\" : tmp51 , f \"tmp55\" : tmp55 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp6\" : tmp6 , f \"tmp63\" : tmp63 , f \"tmp65\" : tmp65 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp7\" : tmp7 , f \"tmp71\" : tmp71 , f \"tmp73\" : tmp73 , f \"tmp76\" : tmp76 , f \"tmp79\" : tmp79 , f \"tmp80\" : tmp80 , f \"tmp81\" : tmp81 , f \"tmp88\" : tmp88 , f \"tmp89\" : tmp89 , f \"tmp9\" : tmp9 , f \"tmp91\" : tmp91 , f \"tmp93\" : tmp93 , f \"tmp94\" : tmp94 , f \"tmp95\" : tmp95 , f \"tmp97\" : tmp97 } ebcc . codegen . UCC2 . 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-17T18:53:15.287398. 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. Source code in ebcc/codegen/UCC2.py 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 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-17T18:53:15.287398. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp56 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), f . bb . ov , ( 3 , 1 ), ( 3 , 2 , 0 )) tmp62 = np . copy ( ints . tmp176 ) del ints . tmp176 tmp62 += ints . tmp180 * 0.5 del ints . tmp180 tmp62 += v . bbbb . ovvv * 0.5 tmp58 = np . copy ( ints . tmp166 ) * 2 tmp58 += ints . tmp170 tmp60 = np . copy ( np . transpose ( ints . tmp41 , ( 1 , 0 ))) tmp60 += np . transpose ( ints . tmp43 , ( 1 , 0 )) * 0.5 tmp60 += f . bb . vv * - 0.5 tmp68 = np . copy ( ints . tmp162 ) tmp68 += ints . tmp168 * 2 tmp16 = np . copy ( ints . tmp69 ) * 0.5 tmp16 += ints . tmp73 tmp14 = np . copy ( ints . tmp65 ) * 2 tmp14 += ints . tmp71 tmp12 = einsum ( f . aa . ov , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 0 , 3 , 2 )) tmp20 = np . copy ( ints . tmp55 ) del ints . tmp55 tmp20 += ints . tmp59 * 0.5 del ints . tmp59 tmp20 += v . aaaa . ovvv * 0.5 tmp18 = np . copy ( np . transpose ( ints . tmp20 , ( 1 , 0 ))) tmp18 += np . transpose ( ints . tmp22 , ( 1 , 0 )) * 0.5 tmp18 += f . aa . vv * - 0.5 tmp57 = einsum ( t1 . bb , ( 0 , 1 ), tmp56 , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) del tmp56 tmp63 = einsum ( r1 . b , ( 0 ,), tmp62 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 2 del tmp62 tmp53 = einsum ( ints . tmp160 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 1 , 3 , 4 )) tmp59 = einsum ( tmp58 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 1 ), ( 0 , 4 , 2 )) * - 2 del tmp58 tmp55 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . oovv , ( 3 , 2 , 4 , 1 ), ( 3 , 0 , 4 )) tmp61 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp60 , ( 1 , 3 ), ( 2 , 0 , 3 )) * - 4 del tmp60 tmp54 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovov , ( 2 , 0 , 3 , 4 ), ( 3 , 1 , 4 )) tmp42 = einsum ( f . bb . ov , ( 0 , 1 ), r1 . b , ( 1 ,), ( 0 ,)) tmp7 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 0 ), ( 2 ,)) tmp8 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . ovov , ( 3 , 0 , 2 , 1 ), ( 3 ,)) tmp69 = einsum ( tmp68 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 1 , 4 , 3 )) del tmp68 tmp66 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp164 , ( 3 , 2 , 4 , 1 ), ( 3 , 4 , 0 )) tmp65 = einsum ( ints . tmp178 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 0 , 1 , 3 )) del ints . tmp178 tmp67 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . ovov , ( 3 , 4 , 2 , 1 ), ( 3 , 0 , 4 )) tmp40 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp4 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 2 ), ( 0 ,)) * - 1 tmp3 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovov , ( 3 , 1 , 2 , 0 ), ( 3 ,)) * - 1 tmp30 = einsum ( f . aa . ov , ( 0 , 1 ), r1 . a , ( 1 ,), ( 0 ,)) tmp38 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp26 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp67 , ( 3 , 2 , 4 , 0 ), ( 3 , 4 , 1 )) * - 1 tmp23 = einsum ( r1 . a , ( 0 ,), ints . tmp57 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del ints . tmp57 tmp25 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovov , ( 3 , 4 , 2 , 1 ), ( 3 , 0 , 4 )) tmp27 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 2 ), ( 0 , 4 , 1 )) * - 1 tmp24 = einsum ( ints . tmp63 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 3 , 1 ), ( 0 , 2 , 4 )) tmp17 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp16 , ( 3 , 2 , 4 , 0 ), ( 3 , 1 , 4 )) * - 2 del tmp16 tmp15 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp14 , ( 3 , 2 , 4 , 1 ), ( 3 , 0 , 4 )) * - 2 del tmp14 tmp13 = einsum ( tmp12 , ( 0 , 1 , 2 ), t1 . aa , ( 0 , 3 ), ( 1 , 2 , 3 )) del tmp12 tmp21 = einsum ( r1 . a , ( 0 ,), tmp20 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 2 del tmp20 tmp19 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp18 , ( 1 , 3 ), ( 2 , 0 , 3 )) * - 4 del tmp18 tmp11 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . oovv , ( 3 , 2 , 4 , 1 ), ( 3 , 0 , 4 )) tmp1 = np . copy ( f . bb . ov ) tmp1 += ints . tmp12 del ints . tmp12 tmp1 += ints . tmp15 del ints . tmp15 tmp1 += ints . tmp11 * - 1 del ints . tmp11 tmp0 = np . copy ( f . aa . ov ) tmp0 += ints . tmp13 del ints . tmp13 tmp0 += ints . tmp9 del ints . tmp9 tmp0 += ints . tmp7 * - 1 del ints . tmp7 tmp52 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . ovov , ( 3 , 1 , 4 , 0 ), ( 2 , 3 , 4 )) * - 1 tmp64 = np . copy ( tmp53 ) del tmp53 tmp64 += tmp54 del tmp54 tmp64 += tmp55 * 2 del tmp55 tmp64 += tmp57 * 2 del tmp57 tmp64 += np . transpose ( tmp59 , ( 0 , 2 , 1 )) * - 1 del tmp59 tmp64 += np . transpose ( tmp61 , ( 0 , 2 , 1 )) del tmp61 tmp64 += tmp63 del tmp63 tmp51 = np . copy ( ints . tmp141 ) * 2 del ints . tmp141 tmp51 += ints . tmp147 del ints . tmp147 tmp51 += ints . tmp148 del ints . tmp148 tmp51 += ints . tmp149 * 2 del ints . tmp149 tmp51 += ints . tmp150 del ints . tmp150 tmp51 += f . bb . ov * - 1 tmp51 += ints . tmp138 * - 1 del ints . tmp138 tmp51 += ints . tmp142 * - 1 del ints . tmp142 tmp51 += ints . tmp152 * - 1 del ints . tmp152 tmp51 += ints . tmp153 * - 2 del ints . tmp153 tmp71 = np . copy ( tmp42 ) tmp71 += tmp7 * - 1 tmp71 += tmp8 * 2 tmp70 = np . copy ( tmp65 ) * 2 del tmp65 tmp70 += tmp66 * 4 del tmp66 tmp70 += tmp67 * 2 del tmp67 tmp70 += np . transpose ( tmp69 , ( 0 , 2 , 1 )) del tmp69 tmp50 = np . copy ( f . bb . oo ) tmp50 += ints . tmp139 del ints . tmp139 tmp50 += np . transpose ( ints . tmp143 , ( 1 , 0 )) * 2 del ints . tmp143 tmp50 += np . transpose ( ints . tmp145 , ( 1 , 0 )) del ints . tmp145 tmp44 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 0 , 4 , 2 )) * - 1 tmp41 = np . copy ( np . transpose ( ints . tmp20 , ( 1 , 0 ))) * 2 tmp41 += np . transpose ( ints . tmp22 , ( 1 , 0 )) tmp41 += f . aa . vv * - 1 tmp41 += tmp40 del tmp40 tmp48 = np . copy ( ints . tmp132 ) del ints . tmp132 tmp48 += ints . tmp154 del ints . tmp154 tmp48 += ints . tmp156 * 2 del ints . tmp156 tmp48 += np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 )) tmp48 += ints . tmp128 * - 1 del ints . tmp128 tmp48 += np . transpose ( ints . tmp155 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp155 tmp31 = np . copy ( tmp30 ) * 0.5 del tmp30 tmp31 += tmp3 tmp31 += tmp4 * 0.5 tmp47 = np . copy ( ints . tmp131 ) del ints . tmp131 tmp47 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) * - 1 tmp49 = np . copy ( np . transpose ( ints . tmp41 , ( 1 , 0 ))) tmp49 += np . transpose ( ints . tmp43 , ( 1 , 0 )) * 0.5 tmp49 += f . bb . vv * - 0.5 tmp49 += tmp38 * 0.5 tmp46 = np . copy ( ints . tmp162 ) del ints . tmp162 tmp46 += ints . tmp168 * 2 del ints . tmp168 tmp46 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp46 += ints . tmp160 * - 1 del ints . tmp160 tmp45 = np . copy ( ints . tmp166 ) * 2 del ints . tmp166 tmp45 += ints . tmp170 del ints . tmp170 tmp45 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp45 += ints . tmp164 * - 2 del ints . tmp164 tmp45 += v . bbbb . oovv * - 1 tmp36 = np . copy ( ints . tmp104 ) del ints . tmp104 tmp36 += v . aabb . oovv * - 1 tmp35 = np . copy ( ints . tmp69 ) del ints . tmp69 tmp35 += ints . tmp73 * 2 del ints . tmp73 tmp35 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp35 += ints . tmp67 * - 1 del ints . tmp67 tmp37 = np . copy ( ints . tmp105 ) del ints . tmp105 tmp37 += ints . tmp115 del ints . tmp115 tmp37 += ints . tmp117 * 2 del ints . tmp117 tmp37 += v . aabb . ovvv tmp37 += ints . tmp101 * - 1 del ints . tmp101 tmp37 += np . transpose ( ints . tmp116 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp116 tmp33 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovov , ( 3 , 0 , 4 , 1 ), ( 2 , 3 , 4 )) tmp32 = np . copy ( ints . tmp76 ) del ints . tmp76 tmp32 += ints . tmp79 * 2 del ints . tmp79 tmp32 += ints . tmp80 del ints . tmp80 tmp32 += ints . tmp91 del ints . tmp91 tmp32 += ints . tmp93 * 2 del ints . tmp93 tmp32 += f . aa . ov * - 1 tmp32 += ints . tmp50 * - 2 del ints . tmp50 tmp32 += ints . tmp51 * - 1 del ints . tmp51 tmp32 += ints . tmp88 * - 1 del ints . tmp88 tmp32 += ints . tmp94 * - 1 del ints . tmp94 tmp34 = np . copy ( ints . tmp65 ) * 2 del ints . tmp65 tmp34 += ints . tmp71 del ints . tmp71 tmp34 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp34 += ints . tmp63 * - 2 del ints . tmp63 tmp34 += v . aaaa . oovv * - 1 tmp39 = np . copy ( np . transpose ( ints . tmp41 , ( 1 , 0 ))) * 2 tmp39 += np . transpose ( ints . tmp43 , ( 1 , 0 )) tmp39 += f . bb . vv * - 1 tmp39 += tmp38 del tmp38 tmp43 = np . copy ( tmp42 ) * 0.5 del tmp42 tmp43 += tmp7 * - 0.5 tmp43 += tmp8 tmp29 = np . copy ( f . aa . oo ) tmp29 += ints . tmp89 del ints . tmp89 tmp29 += np . transpose ( ints . tmp95 , ( 1 , 0 )) * 2 del ints . tmp95 tmp29 += np . transpose ( ints . tmp97 , ( 1 , 0 )) del ints . tmp97 tmp28 = np . copy ( tmp23 ) * 2 del tmp23 tmp28 += tmp24 * 4 del tmp24 tmp28 += tmp25 * 2 del tmp25 tmp28 += tmp26 del tmp26 tmp28 += tmp27 del tmp27 tmp22 = np . copy ( tmp11 ) * 2 del tmp11 tmp22 += tmp13 * 2 del tmp13 tmp22 += np . transpose ( tmp15 , ( 0 , 2 , 1 )) * - 1 del tmp15 tmp22 += np . transpose ( tmp17 , ( 0 , 2 , 1 )) del tmp17 tmp22 += np . transpose ( tmp19 , ( 0 , 2 , 1 )) del tmp19 tmp22 += tmp21 del tmp21 tmp10 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovov , ( 3 , 0 , 4 , 1 ), ( 2 , 3 , 4 )) tmp9 = np . copy ( tmp7 ) * - 1 del tmp7 tmp9 += tmp8 * 2 del tmp8 tmp9 += einsum ( tmp1 , ( 0 , 1 ), r1 . b , ( 1 ,), ( 0 ,)) tmp6 = np . copy ( ints . tmp32 ) del ints . tmp32 tmp6 += np . transpose ( ints . tmp41 , ( 1 , 0 )) * 2 del ints . tmp41 tmp6 += np . transpose ( ints . tmp43 , ( 1 , 0 )) del ints . tmp43 tmp6 += f . bb . vv * - 1 tmp6 += np . transpose ( ints . tmp31 , ( 1 , 0 )) * - 1 del ints . tmp31 tmp6 += np . transpose ( ints . tmp33 , ( 1 , 0 )) * - 1 del ints . tmp33 tmp2 = np . copy ( np . transpose ( ints . tmp20 , ( 1 , 0 ))) * 2 del ints . tmp20 tmp2 += np . transpose ( ints . tmp22 , ( 1 , 0 )) del ints . tmp22 tmp2 += ints . tmp5 del ints . tmp5 tmp2 += f . aa . vv * - 1 tmp2 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * - 1 del ints . tmp4 tmp2 += np . transpose ( ints . tmp6 , ( 1 , 0 )) * - 1 del ints . tmp6 tmp5 = np . copy ( tmp3 ) * 2 del tmp3 tmp5 += tmp4 del tmp4 tmp5 += einsum ( tmp0 , ( 0 , 1 ), r1 . a , ( 1 ,), ( 0 ,)) r2new . bbb = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp52 , ( 4 , 1 , 0 ), ( 2 , 3 , 4 )) * - 2 del tmp52 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . vvvv , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) * 2 r2new . bbb += einsum ( r1 . b , ( 0 ,), ints . tmp193 , ( 1 , 2 , 3 , 0 ), ( 3 , 2 , 1 )) * 2 del ints . tmp193 r2new . bbb += np . transpose ( tmp64 , ( 1 , 2 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp64 , ( 2 , 1 , 0 )) del tmp64 r2new . bbb += np . transpose ( tmp70 , ( 1 , 2 , 0 )) r2new . bbb += np . transpose ( tmp70 , ( 2 , 1 , 0 )) * - 1 del tmp70 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp50 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 r2new . bbb += einsum ( tmp71 , ( 0 ,), t2 . bbbb , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) * 2 del tmp71 r2new . bbb += einsum ( tmp51 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 2 , 1 , 0 )) * - 1 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp51 , ( 1 , 2 ), ( 2 , 0 , 1 )) r2new . bab = einsum ( tmp44 , ( 0 , 1 , 2 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 4 , 3 , 1 )) * - 1 del tmp44 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . vvvv , ( 3 , 1 , 4 , 0 ), ( 4 , 3 , 2 )) r2new . bab += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 2 , 4 , 0 )) del tmp45 r2new . bab += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp46 , ( 2 , 3 , 1 , 4 ), ( 4 , 0 , 3 )) * - 2 del tmp46 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp47 , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) del tmp47 r2new . bab += einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 3 , 1 , 0 )) * - 1 del tmp48 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp49 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 2 del tmp49 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp41 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp50 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp50 r2new . bab += einsum ( tmp31 , ( 0 ,), t2 . abab , ( 0 , 1 , 2 , 3 ), ( 3 , 2 , 1 )) * 2 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp51 , ( 1 , 2 ), ( 2 , 0 , 1 )) del tmp51 r2new . aba = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . vvvv , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) r2new . aba += einsum ( tmp33 , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 2 , 3 , 4 ), ( 3 , 4 , 0 )) del tmp33 r2new . aba += einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 3 , 4 , 1 ), ( 2 , 4 , 0 )) del tmp34 r2new . aba += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp35 , ( 3 , 2 , 4 , 1 ), ( 4 , 0 , 3 )) * - 2 del tmp35 r2new . aba += einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) del tmp36 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp37 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp37 r2new . aba += einsum ( tmp39 , ( 0 , 1 ), r2 . aba , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp39 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp41 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp41 r2new . aba += einsum ( tmp29 , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aba += einsum ( tmp43 , ( 0 ,), t2 . abab , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) * 2 del tmp43 r2new . aba += einsum ( tmp32 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 1 , 2 , 0 )) r2new . aaa = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . vvvv , ( 3 , 1 , 4 , 0 ), ( 3 , 4 , 2 )) * - 2 r2new . aaa += einsum ( r1 . a , ( 0 ,), ints . tmp81 , ( 1 , 2 , 3 , 0 ), ( 3 , 2 , 1 )) * 2 del ints . tmp81 r2new . aaa += einsum ( tmp10 , ( 0 , 1 , 2 ), t2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 )) * - 2 del tmp10 r2new . aaa += np . transpose ( tmp22 , ( 1 , 2 , 0 )) * - 1 r2new . aaa += np . transpose ( tmp22 , ( 2 , 1 , 0 )) del tmp22 r2new . aaa += np . transpose ( tmp28 , ( 1 , 2 , 0 )) r2new . aaa += np . transpose ( tmp28 , ( 2 , 1 , 0 )) * - 1 del tmp28 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp29 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp29 r2new . aaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp31 , ( 1 ,), ( 2 , 3 , 0 )) * 4 del tmp31 r2new . aaa += einsum ( tmp32 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 2 , 1 , 0 )) * - 1 r2new . aaa += einsum ( tmp32 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 1 , 2 , 0 )) del tmp32 r1new . b = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 1 , 0 ), ( 2 ,)) * 2 r1new . b += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 0 ), ( 2 ,)) * - 1 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp1 , ( 2 , 1 ), ( 0 ,)) * 2 r1new . b += einsum ( tmp0 , ( 0 , 1 ), r2 . aba , ( 1 , 2 , 0 ), ( 2 ,)) * - 1 r1new . b += einsum ( tmp6 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp6 r1new . b += einsum ( t1 . bb , ( 0 , 1 ), tmp9 , ( 0 ,), ( 1 ,)) * - 1 del tmp9 r1new . a = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . vvov , ( 3 , 1 , 2 , 0 ), ( 3 ,)) * - 1 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovvv , ( 2 , 0 , 3 , 1 ), ( 3 ,)) * - 2 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp0 , ( 2 , 1 ), ( 0 ,)) * 2 del tmp0 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp1 , ( 2 , 0 ), ( 1 ,)) * - 1 del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp2 r1new . a += einsum ( t1 . aa , ( 0 , 1 ), tmp5 , ( 0 ,), ( 1 ,)) * - 1 del tmp5 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . UCC2 . hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:54:43.767218. 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 tmp1 : array tmp10 : array tmp100 : array tmp101 : array tmp103 : array tmp105 : array tmp107 : array tmp109 : array tmp11 : array tmp111 : array tmp113 : array tmp115 : array tmp117 : array tmp119 : array tmp120 : array tmp122 : array tmp124 : array tmp125 : array tmp127 : array tmp129 : array tmp13 : array tmp130 : array tmp132 : array tmp133 : array tmp135 : array tmp137 : array tmp138 : array tmp140 : array tmp141 : array tmp143 : array tmp144 : array tmp146 : array tmp148 : array tmp149 : array tmp15 : array tmp151 : array tmp152 : array tmp154 : array tmp155 : array tmp156 : array tmp157 : array tmp159 : array tmp161 : array tmp162 : array tmp163 : array tmp164 : array tmp165 : array tmp167 : array tmp168 : array tmp17 : array tmp170 : array tmp172 : array tmp175 : array tmp177 : array tmp179 : array tmp182 : array tmp185 : array tmp187 : array tmp189 : array tmp19 : array tmp191 : array tmp194 : array tmp197 : array tmp199 : array tmp2 : array tmp201 : array tmp203 : array tmp204 : array tmp205 : array tmp206 : array tmp207 : array tmp209 : array tmp21 : array tmp210 : array tmp212 : array tmp215 : array tmp22 : array tmp223 : array tmp225 : array tmp230 : array tmp232 : array tmp238 : array tmp240 : array tmp247 : array tmp248 : array tmp25 : array tmp250 : array tmp251 : array tmp253 : array tmp254 : array tmp256 : array tmp26 : array tmp262 : array tmp264 : array tmp27 : array tmp275 : array tmp277 : array tmp279 : array tmp28 : array tmp281 : array tmp283 : array tmp285 : array tmp291 : array tmp292 : array tmp294 : array tmp295 : array tmp297 : array tmp299 : array tmp30 : array tmp301 : array tmp306 : array tmp307 : array tmp309 : array tmp315 : array tmp317 : array tmp319 : array tmp32 : array tmp320 : array tmp325 : array tmp328 : array tmp334 : array tmp336 : array tmp34 : array tmp341 : array tmp343 : array tmp345 : array tmp347 : array tmp349 : array tmp351 : array tmp36 : array tmp367 : array tmp369 : array tmp37 : array tmp38 : array tmp39 : array tmp390 : array tmp392 : array tmp394 : array tmp396 : array tmp398 : array tmp4 : array tmp400 : array tmp402 : array tmp41 : array tmp412 : array tmp414 : array tmp416 : array tmp43 : array tmp45 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp53 : array tmp55 : array tmp57 : array tmp59 : array tmp61 : array tmp62 : array tmp64 : array tmp65 : array tmp66 : array tmp68 : array tmp7 : array tmp70 : array tmp72 : array tmp74 : array tmp76 : array tmp78 : array tmp8 : array tmp80 : array tmp83 : array tmp85 : array tmp86 : array tmp88 : array tmp90 : array tmp92 : array tmp94 : array tmp96 : array tmp98 : array Source code in ebcc/codegen/UCC2.py 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 def hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:54:43.767218. 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 ------- tmp1 : array tmp10 : array tmp100 : array tmp101 : array tmp103 : array tmp105 : array tmp107 : array tmp109 : array tmp11 : array tmp111 : array tmp113 : array tmp115 : array tmp117 : array tmp119 : array tmp120 : array tmp122 : array tmp124 : array tmp125 : array tmp127 : array tmp129 : array tmp13 : array tmp130 : array tmp132 : array tmp133 : array tmp135 : array tmp137 : array tmp138 : array tmp140 : array tmp141 : array tmp143 : array tmp144 : array tmp146 : array tmp148 : array tmp149 : array tmp15 : array tmp151 : array tmp152 : array tmp154 : array tmp155 : array tmp156 : array tmp157 : array tmp159 : array tmp161 : array tmp162 : array tmp163 : array tmp164 : array tmp165 : array tmp167 : array tmp168 : array tmp17 : array tmp170 : array tmp172 : array tmp175 : array tmp177 : array tmp179 : array tmp182 : array tmp185 : array tmp187 : array tmp189 : array tmp19 : array tmp191 : array tmp194 : array tmp197 : array tmp199 : array tmp2 : array tmp201 : array tmp203 : array tmp204 : array tmp205 : array tmp206 : array tmp207 : array tmp209 : array tmp21 : array tmp210 : array tmp212 : array tmp215 : array tmp22 : array tmp223 : array tmp225 : array tmp230 : array tmp232 : array tmp238 : array tmp240 : array tmp247 : array tmp248 : array tmp25 : array tmp250 : array tmp251 : array tmp253 : array tmp254 : array tmp256 : array tmp26 : array tmp262 : array tmp264 : array tmp27 : array tmp275 : array tmp277 : array tmp279 : array tmp28 : array tmp281 : array tmp283 : array tmp285 : array tmp291 : array tmp292 : array tmp294 : array tmp295 : array tmp297 : array tmp299 : array tmp30 : array tmp301 : array tmp306 : array tmp307 : array tmp309 : array tmp315 : array tmp317 : array tmp319 : array tmp32 : array tmp320 : array tmp325 : array tmp328 : array tmp334 : array tmp336 : array tmp34 : array tmp341 : array tmp343 : array tmp345 : array tmp347 : array tmp349 : array tmp351 : array tmp36 : array tmp367 : array tmp369 : array tmp37 : array tmp38 : array tmp39 : array tmp390 : array tmp392 : array tmp394 : array tmp396 : array tmp398 : array tmp4 : array tmp400 : array tmp402 : array tmp41 : array tmp412 : array tmp414 : array tmp416 : array tmp43 : array tmp45 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp53 : array tmp55 : array tmp57 : array tmp59 : array tmp61 : array tmp62 : array tmp64 : array tmp65 : array tmp66 : array tmp68 : array tmp7 : array tmp70 : array tmp72 : array tmp74 : array tmp76 : array tmp78 : array tmp8 : array tmp80 : array tmp83 : array tmp85 : array tmp86 : array tmp88 : array tmp90 : array tmp92 : array tmp94 : array tmp96 : array tmp98 : array \"\"\" tmp45 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp119 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp41 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp38 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp39 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp36 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp89 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp32 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) tmp82 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 1 ), ( 0 , 3 )) tmp214 = einsum ( t1 . bb , ( 0 , 1 ), tmp45 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp333 = einsum ( tmp119 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp327 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp324 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp174 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp176 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp314 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp151 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp306 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp124 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp211 = einsum ( t1 . aa , ( 0 , 1 ), tmp41 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp209 = einsum ( tmp38 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp156 = einsum ( t1 . aa , ( 0 , 1 ), tmp39 , ( 2 , 1 ), ( 0 , 2 )) tmp205 = einsum ( t1 . bb , ( 0 , 1 ), tmp36 , ( 2 , 1 ), ( 0 , 2 )) tmp203 = einsum ( tmp89 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp155 = einsum ( t1 . aa , ( 0 , 1 ), tmp32 , ( 2 , 1 ), ( 0 , 2 )) tmp154 = einsum ( t1 . aa , ( 0 , 1 ), tmp82 , ( 2 , 1 ), ( 0 , 2 )) tmp196 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp193 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp190 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp188 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp186 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 )) tmp184 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 1 ), ( 2 , 3 )) tmp181 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp178 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp169 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp167 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp27 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp163 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp161 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp26 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) tmp25 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 )) tmp148 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp49 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp143 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp140 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp47 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp21 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp416 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp414 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 1 , 4 ), ( 3 , 4 )) tmp412 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp402 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp400 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 1 , 3 , 4 , 5 ), ( 0 , 4 , 2 , 5 )) tmp398 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp396 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp394 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp392 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp390 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp369 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp367 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp351 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp349 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp347 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) tmp345 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp343 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp341 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp336 = einsum ( tmp214 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp334 = einsum ( tmp333 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp333 tmp328 = einsum ( t1 . aa , ( 0 , 1 ), tmp327 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) del tmp327 tmp325 = einsum ( tmp324 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) del tmp324 tmp320 = einsum ( tmp174 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp319 = einsum ( t1 . aa , ( 0 , 1 ), tmp176 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp317 = einsum ( t1 . bb , ( 0 , 1 ), tmp314 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp315 = einsum ( t1 . bb , ( 0 , 1 ), tmp314 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp314 tmp309 = einsum ( tmp151 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp307 = einsum ( t1 . bb , ( 0 , 1 ), tmp306 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp301 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp45 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp299 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp124 , ( 0 , 4 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp297 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp124 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp295 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp119 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp294 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp119 , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp292 = einsum ( tmp119 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp291 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp119 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp285 = einsum ( tmp38 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp283 = einsum ( tmp38 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp281 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp36 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp279 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp36 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp277 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp89 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp275 = einsum ( tmp89 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp264 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) tmp262 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp256 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp254 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 3 , 5 )) tmp253 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp251 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp250 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp248 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp247 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp240 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . vvoo , ( 2 , 1 , 3 , 4 ), ( 0 , 3 , 4 , 2 )) tmp238 = einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp232 = einsum ( v . aabb . oooo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp230 = einsum ( v . bbbb . oooo , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp225 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp223 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp215 = einsum ( t1 . bb , ( 0 , 1 ), tmp214 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) del tmp214 tmp212 = einsum ( tmp211 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp211 tmp210 = einsum ( t1 . bb , ( 0 , 1 ), tmp209 , ( 2 , 0 ), ( 2 , 1 )) tmp207 = einsum ( t1 . aa , ( 0 , 1 ), tmp156 , ( 2 , 0 ), ( 2 , 1 )) tmp206 = einsum ( t1 . bb , ( 0 , 1 ), tmp205 , ( 2 , 0 ), ( 2 , 1 )) tmp204 = einsum ( t1 . bb , ( 0 , 1 ), tmp203 , ( 2 , 0 ), ( 2 , 1 )) tmp201 = einsum ( t1 . aa , ( 0 , 1 ), tmp155 , ( 2 , 0 ), ( 2 , 1 )) tmp199 = einsum ( t1 . aa , ( 0 , 1 ), tmp154 , ( 2 , 0 ), ( 2 , 1 )) tmp197 = einsum ( t1 . bb , ( 0 , 1 ), tmp196 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) del tmp196 tmp194 = einsum ( tmp193 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) del tmp193 tmp191 = einsum ( t1 . aa , ( 0 , 1 ), tmp190 , ( 2 , 1 ), ( 0 , 2 )) del tmp190 tmp189 = einsum ( tmp188 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) del tmp188 tmp187 = einsum ( tmp186 , ( 0 , 1 ), t1 . bb , ( 2 , 0 ), ( 2 , 1 )) del tmp186 tmp185 = einsum ( tmp184 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) del tmp184 tmp182 = einsum ( t1 . aa , ( 0 , 1 ), tmp181 , ( 1 , 2 ), ( 0 , 2 )) del tmp181 tmp179 = einsum ( tmp178 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) del tmp178 tmp177 = einsum ( t1 . bb , ( 0 , 1 ), tmp176 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) del tmp176 tmp175 = einsum ( t1 . bb , ( 0 , 1 ), tmp174 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) del tmp174 tmp172 = einsum ( tmp169 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp170 = einsum ( tmp169 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp169 tmp168 = einsum ( t1 . bb , ( 0 , 1 ), tmp167 , ( 2 , 0 ), ( 2 , 1 )) tmp165 = einsum ( t1 . aa , ( 0 , 1 ), tmp27 , ( 2 , 0 ), ( 2 , 1 )) tmp164 = einsum ( t1 . bb , ( 0 , 1 ), tmp163 , ( 2 , 0 ), ( 2 , 1 )) tmp162 = einsum ( t1 . bb , ( 0 , 1 ), tmp161 , ( 2 , 0 ), ( 2 , 1 )) tmp159 = einsum ( tmp26 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp157 = einsum ( tmp25 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp152 = einsum ( t1 . bb , ( 0 , 1 ), tmp151 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp149 = einsum ( tmp148 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp146 = einsum ( tmp49 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp144 = einsum ( t1 . bb , ( 0 , 1 ), tmp143 , ( 2 , 0 ), ( 2 , 1 )) tmp141 = einsum ( t1 . bb , ( 0 , 1 ), tmp140 , ( 2 , 0 ), ( 2 , 1 )) tmp138 = einsum ( t1 . aa , ( 0 , 1 ), tmp47 , ( 2 , 0 ), ( 2 , 1 )) tmp137 = einsum ( tmp124 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 1 , 5 )) tmp135 = einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp133 = einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp132 = einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) tmp130 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp129 = einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp127 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp125 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp124 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) tmp122 = einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp120 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp119 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 tmp117 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp115 = einsum ( tmp39 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp113 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp111 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp32 , ( 4 , 2 ), ( 0 , 4 , 1 , 3 )) tmp109 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp32 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp107 = einsum ( tmp82 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp105 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp82 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp103 = einsum ( tmp38 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp101 = einsum ( tmp38 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp100 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp39 , ( 0 , 2 ), ( 1 , 3 )) tmp98 = einsum ( tmp39 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp96 = einsum ( tmp36 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp94 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp36 , ( 1 , 3 ), ( 0 , 2 )) tmp92 = einsum ( tmp89 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp90 = einsum ( tmp89 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp89 tmp88 = einsum ( tmp32 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp86 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp32 , ( 1 , 3 ), ( 0 , 2 )) tmp85 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp82 , ( 0 , 2 ), ( 1 , 3 )) tmp83 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp82 , ( 1 , 3 ), ( 0 , 2 )) del tmp82 tmp80 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp78 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp76 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp74 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp72 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp70 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp68 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp66 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp65 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 1 , 5 ), ( 4 , 0 , 2 , 5 )) tmp64 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) tmp62 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp61 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp59 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp57 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp55 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) tmp53 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 1 tmp51 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp46 = einsum ( v . aabb . oovv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp43 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . oovv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp37 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp34 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 )) tmp30 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp28 = einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp22 = einsum ( t1 . bb , ( 0 , 1 ), tmp21 , ( 0 , 2 ), ( 2 , 1 )) tmp19 = einsum ( t1 . aa , ( 0 , 1 ), tmp1 , ( 0 , 2 ), ( 2 , 1 )) tmp17 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp15 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp13 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp11 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp10 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp8 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 1 , 3 ), ( 0 , 2 )) tmp7 = einsum ( f . bb . vv , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp5 = einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp4 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . oo , ( 2 , 0 ), ( 2 , 1 )) tmp2 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . oo , ( 2 , 0 ), ( 2 , 1 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp101\" : tmp101 , f \"tmp103\" : tmp103 , f \"tmp105\" : tmp105 , f \"tmp107\" : tmp107 , f \"tmp109\" : tmp109 , f \"tmp11\" : tmp11 , f \"tmp111\" : tmp111 , f \"tmp113\" : tmp113 , f \"tmp115\" : tmp115 , f \"tmp117\" : tmp117 , f \"tmp119\" : tmp119 , f \"tmp120\" : tmp120 , f \"tmp122\" : tmp122 , f \"tmp124\" : tmp124 , f \"tmp125\" : tmp125 , f \"tmp127\" : tmp127 , f \"tmp129\" : tmp129 , f \"tmp13\" : tmp13 , f \"tmp130\" : tmp130 , f \"tmp132\" : tmp132 , f \"tmp133\" : tmp133 , f \"tmp135\" : tmp135 , f \"tmp137\" : tmp137 , f \"tmp138\" : tmp138 , f \"tmp140\" : tmp140 , f \"tmp141\" : tmp141 , f \"tmp143\" : tmp143 , f \"tmp144\" : tmp144 , f \"tmp146\" : tmp146 , f \"tmp148\" : tmp148 , f \"tmp149\" : tmp149 , f \"tmp15\" : tmp15 , f \"tmp151\" : tmp151 , f \"tmp152\" : tmp152 , f \"tmp154\" : tmp154 , f \"tmp155\" : tmp155 , f \"tmp156\" : tmp156 , f \"tmp157\" : tmp157 , f \"tmp159\" : tmp159 , f \"tmp161\" : tmp161 , f \"tmp162\" : tmp162 , f \"tmp163\" : tmp163 , f \"tmp164\" : tmp164 , f \"tmp165\" : tmp165 , f \"tmp167\" : tmp167 , f \"tmp168\" : tmp168 , f \"tmp17\" : tmp17 , f \"tmp170\" : tmp170 , f \"tmp172\" : tmp172 , f \"tmp175\" : tmp175 , f \"tmp177\" : tmp177 , f \"tmp179\" : tmp179 , f \"tmp182\" : tmp182 , f \"tmp185\" : tmp185 , f \"tmp187\" : tmp187 , f \"tmp189\" : tmp189 , f \"tmp19\" : tmp19 , f \"tmp191\" : tmp191 , f \"tmp194\" : tmp194 , f \"tmp197\" : tmp197 , f \"tmp199\" : tmp199 , f \"tmp2\" : tmp2 , f \"tmp201\" : tmp201 , f \"tmp203\" : tmp203 , f \"tmp204\" : tmp204 , f \"tmp205\" : tmp205 , f \"tmp206\" : tmp206 , f \"tmp207\" : tmp207 , f \"tmp209\" : tmp209 , f \"tmp21\" : tmp21 , f \"tmp210\" : tmp210 , f \"tmp212\" : tmp212 , f \"tmp215\" : tmp215 , f \"tmp22\" : tmp22 , f \"tmp223\" : tmp223 , f \"tmp225\" : tmp225 , f \"tmp230\" : tmp230 , f \"tmp232\" : tmp232 , f \"tmp238\" : tmp238 , f \"tmp240\" : tmp240 , f \"tmp247\" : tmp247 , f \"tmp248\" : tmp248 , f \"tmp25\" : tmp25 , f \"tmp250\" : tmp250 , f \"tmp251\" : tmp251 , f \"tmp253\" : tmp253 , f \"tmp254\" : tmp254 , f \"tmp256\" : tmp256 , f \"tmp26\" : tmp26 , f \"tmp262\" : tmp262 , f \"tmp264\" : tmp264 , f \"tmp27\" : tmp27 , f \"tmp275\" : tmp275 , f \"tmp277\" : tmp277 , f \"tmp279\" : tmp279 , f \"tmp28\" : tmp28 , f \"tmp281\" : tmp281 , f \"tmp283\" : tmp283 , f \"tmp285\" : tmp285 , f \"tmp291\" : tmp291 , f \"tmp292\" : tmp292 , f \"tmp294\" : tmp294 , f \"tmp295\" : tmp295 , f \"tmp297\" : tmp297 , f \"tmp299\" : tmp299 , f \"tmp30\" : tmp30 , f \"tmp301\" : tmp301 , f \"tmp306\" : tmp306 , f \"tmp307\" : tmp307 , f \"tmp309\" : tmp309 , f \"tmp315\" : tmp315 , f \"tmp317\" : tmp317 , f \"tmp319\" : tmp319 , f \"tmp32\" : tmp32 , f \"tmp320\" : tmp320 , f \"tmp325\" : tmp325 , f \"tmp328\" : tmp328 , f \"tmp334\" : tmp334 , f \"tmp336\" : tmp336 , f \"tmp34\" : tmp34 , f \"tmp341\" : tmp341 , f \"tmp343\" : tmp343 , f \"tmp345\" : tmp345 , f \"tmp347\" : tmp347 , f \"tmp349\" : tmp349 , f \"tmp351\" : tmp351 , f \"tmp36\" : tmp36 , f \"tmp367\" : tmp367 , f \"tmp369\" : tmp369 , f \"tmp37\" : tmp37 , f \"tmp38\" : tmp38 , f \"tmp39\" : tmp39 , f \"tmp390\" : tmp390 , f \"tmp392\" : tmp392 , f \"tmp394\" : tmp394 , f \"tmp396\" : tmp396 , f \"tmp398\" : tmp398 , f \"tmp4\" : tmp4 , f \"tmp400\" : tmp400 , f \"tmp402\" : tmp402 , f \"tmp41\" : tmp41 , f \"tmp412\" : tmp412 , f \"tmp414\" : tmp414 , f \"tmp416\" : tmp416 , f \"tmp43\" : tmp43 , f \"tmp45\" : tmp45 , f \"tmp46\" : tmp46 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp51\" : tmp51 , f \"tmp53\" : tmp53 , f \"tmp55\" : tmp55 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp61\" : tmp61 , f \"tmp62\" : tmp62 , f \"tmp64\" : tmp64 , f \"tmp65\" : tmp65 , f \"tmp66\" : tmp66 , f \"tmp68\" : tmp68 , f \"tmp7\" : tmp7 , f \"tmp70\" : tmp70 , f \"tmp72\" : tmp72 , f \"tmp74\" : tmp74 , f \"tmp76\" : tmp76 , f \"tmp78\" : tmp78 , f \"tmp8\" : tmp8 , f \"tmp80\" : tmp80 , f \"tmp83\" : tmp83 , f \"tmp85\" : tmp85 , f \"tmp86\" : tmp86 , f \"tmp88\" : tmp88 , f \"tmp90\" : tmp90 , f \"tmp92\" : tmp92 , f \"tmp94\" : tmp94 , f \"tmp96\" : tmp96 , f \"tmp98\" : tmp98 } ebcc . codegen . UCC2 . hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:54:43.868676. 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. Source code in ebcc/codegen/UCC2.py 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:54:43.868676. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp35 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 1 , 2 ), ( 3 ,)) tmp36 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 0 , 1 , 3 ), ( 2 ,)) tmp51 = np . copy ( ints . tmp398 ) tmp51 += ints . tmp402 * 0.5 tmp55 = np . copy ( ints . tmp140 ) * 2 tmp55 += ints . tmp143 tmp53 = np . copy ( tmp35 ) * - 0.5 tmp53 += tmp36 tmp62 = np . copy ( f . bb . oo ) tmp62 += np . transpose ( ints . tmp21 , ( 1 , 0 )) tmp60 = np . copy ( ints . tmp396 ) tmp60 += ints . tmp400 * 2 tmp25 = np . copy ( f . aa . oo ) tmp25 += np . transpose ( ints . tmp1 , ( 1 , 0 )) tmp23 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 0 , 3 , 2 ), ( 3 ,)) * - 1 tmp16 = np . copy ( ints . tmp47 ) * 2 tmp16 += ints . tmp49 tmp12 = np . copy ( ints . tmp345 ) tmp12 += ints . tmp349 * 0.5 tmp14 = np . copy ( ints . tmp347 ) tmp14 += ints . tmp351 * 2 tmp10 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 0 , 1 , 3 ), ( 2 ,)) tmp48 = einsum ( ints . tmp392 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) tmp52 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp51 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * - 4 del tmp51 tmp47 = einsum ( r1 . b , ( 0 ,), v . bbbb . ooov , ( 1 , 0 , 2 , 3 ), ( 1 , 2 , 3 )) tmp49 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 4 , 1 ), ( 4 , 2 , 3 )) tmp56 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp55 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 2 del tmp55 tmp54 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp53 , ( 1 ,), ( 0 , 2 , 3 )) * 2 del tmp53 tmp50 = einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp63 = einsum ( tmp62 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp62 tmp59 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 2 , 3 ), ( 4 , 0 , 1 )) tmp61 = einsum ( tmp60 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 4 , 2 ), ( 4 , 1 , 3 )) del tmp60 tmp58 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp394 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) tmp44 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp29 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp26 = einsum ( tmp25 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp25 tmp20 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 3 ), ( 4 , 0 , 1 )) tmp21 = einsum ( ints . tmp343 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * - 1 tmp19 = einsum ( ints . tmp341 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 0 , 2 ), ( 1 , 4 , 3 )) tmp24 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp23 , ( 3 ,), ( 0 , 2 , 1 )) tmp22 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . ovov , ( 3 , 4 , 0 , 2 ), ( 1 , 3 , 4 )) * - 1 tmp9 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp17 = einsum ( tmp16 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 2 del tmp16 tmp8 = einsum ( r1 . a , ( 0 ,), v . aaaa . ooov , ( 1 , 0 , 2 , 3 ), ( 1 , 2 , 3 )) tmp13 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp12 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * - 4 del tmp12 tmp15 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 1 , 4 , 3 ), ( 4 , 0 , 2 )) * - 1 del tmp14 tmp11 = einsum ( tmp10 , ( 0 ,), v . aaaa . ovov , ( 1 , 2 , 3 , 0 ), ( 1 , 3 , 2 )) * - 1 tmp65 = np . copy ( ints . tmp306 ) del ints . tmp306 tmp65 += np . transpose ( v . bbbb . oooo , ( 0 , 2 , 1 , 3 )) tmp57 = einsum ( f . bb . ov , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) tmp57 += tmp47 del tmp47 tmp57 += tmp48 del tmp48 tmp57 += tmp49 del tmp49 tmp57 += tmp50 * 2 del tmp50 tmp57 += np . transpose ( tmp52 , ( 1 , 0 , 2 )) * - 1 del tmp52 tmp57 += np . transpose ( tmp54 , ( 1 , 0 , 2 )) * - 1 del tmp54 tmp57 += np . transpose ( tmp56 , ( 1 , 0 , 2 )) del tmp56 tmp64 = np . copy ( tmp58 ) * 4 del tmp58 tmp64 += tmp59 * 2 del tmp59 tmp64 += np . transpose ( tmp61 , ( 1 , 0 , 2 )) del tmp61 tmp64 += np . transpose ( tmp63 , ( 1 , 0 , 2 )) * - 2 del tmp63 tmp45 = np . copy ( ints . tmp412 ) * 2 del ints . tmp412 tmp45 += ints . tmp414 del ints . tmp414 tmp45 += f . bb . vv * - 1 tmp45 += np . transpose ( tmp44 , ( 1 , 0 )) del tmp44 tmp41 = np . copy ( ints . tmp396 ) del ints . tmp396 tmp41 += ints . tmp400 * 2 del ints . tmp400 tmp41 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp41 += ints . tmp392 * - 1 del ints . tmp392 tmp39 = np . copy ( f . aa . oo ) tmp39 += np . transpose ( ints . tmp1 , ( 1 , 0 )) tmp39 += ints . tmp47 * 2 tmp39 += ints . tmp49 tmp40 = np . copy ( ints . tmp398 ) * 2 del ints . tmp398 tmp40 += ints . tmp402 del ints . tmp402 tmp40 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp40 += ints . tmp394 * - 2 del ints . tmp394 tmp40 += v . bbbb . oovv * - 1 tmp42 = np . copy ( ints . tmp416 ) del ints . tmp416 tmp42 += v . aabb . oovv * - 1 tmp38 = np . copy ( f . bb . oo ) tmp38 += ints . tmp140 * 2 tmp38 += ints . tmp143 tmp38 += np . transpose ( ints . tmp21 , ( 1 , 0 )) tmp46 = np . copy ( tmp10 ) * 2 del tmp10 tmp46 += tmp23 del tmp23 tmp43 = np . copy ( ints . tmp151 ) tmp43 += v . aabb . oooo tmp32 = np . copy ( ints . tmp347 ) del ints . tmp347 tmp32 += ints . tmp351 * 2 del ints . tmp351 tmp32 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp32 += ints . tmp343 * - 1 del ints . tmp343 tmp31 = np . copy ( ints . tmp345 ) * 2 del ints . tmp345 tmp31 += ints . tmp349 del ints . tmp349 tmp31 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp31 += ints . tmp341 * - 2 del ints . tmp341 tmp31 += v . aaaa . oovv * - 1 tmp37 = np . copy ( tmp35 ) * - 1 del tmp35 tmp37 += tmp36 * 2 del tmp36 tmp33 = np . copy ( ints . tmp390 ) del ints . tmp390 tmp33 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) * - 1 tmp34 = np . copy ( ints . tmp151 ) del ints . tmp151 tmp34 += v . aabb . oooo tmp30 = np . copy ( ints . tmp367 ) * 2 del ints . tmp367 tmp30 += ints . tmp369 del ints . tmp369 tmp30 += f . aa . vv * - 1 tmp30 += np . transpose ( tmp29 , ( 1 , 0 )) del tmp29 tmp27 = np . copy ( tmp19 ) * 4 del tmp19 tmp27 += tmp20 * 2 del tmp20 tmp27 += tmp21 del tmp21 tmp27 += tmp22 del tmp22 tmp27 += tmp24 del tmp24 tmp27 += np . transpose ( tmp26 , ( 1 , 0 , 2 )) * - 2 del tmp26 tmp18 = einsum ( f . aa . ov , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) tmp18 += tmp8 del tmp8 tmp18 += tmp9 * 2 del tmp9 tmp18 += tmp11 * 2 del tmp11 tmp18 += np . transpose ( tmp13 , ( 1 , 0 , 2 )) * - 1 del tmp13 tmp18 += np . transpose ( tmp15 , ( 1 , 0 , 2 )) del tmp15 tmp18 += np . transpose ( tmp17 , ( 1 , 0 , 2 )) del tmp17 tmp28 = np . copy ( ints . tmp148 ) del ints . tmp148 tmp28 += np . transpose ( v . aaaa . oooo , ( 0 , 2 , 1 , 3 )) tmp6 = np . copy ( np . transpose ( ints . tmp225 , ( 1 , 2 , 0 , 3 ))) del ints . tmp225 tmp6 += np . transpose ( ints . tmp230 , ( 1 , 2 , 0 , 3 )) del ints . tmp230 tmp6 += np . transpose ( ints . tmp238 , ( 0 , 2 , 1 , 3 )) del ints . tmp238 tmp6 += np . transpose ( ints . tmp251 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp251 tmp6 += np . transpose ( ints . tmp256 , ( 0 , 2 , 1 , 3 )) del ints . tmp256 tmp6 += ints . tmp281 del ints . tmp281 tmp6 += ints . tmp285 del ints . tmp285 tmp6 += ints . tmp295 * 2 del ints . tmp295 tmp6 += ints . tmp307 del ints . tmp307 tmp6 += ints . tmp315 del ints . tmp315 tmp6 += ints . tmp334 del ints . tmp334 tmp6 += ints . tmp119 * - 1 del ints . tmp119 tmp6 += ints . tmp248 * - 2 del ints . tmp248 tmp6 += ints . tmp262 * - 1 del ints . tmp262 tmp6 += ints . tmp277 * - 1 del ints . tmp277 tmp6 += ints . tmp292 * - 2 del ints . tmp292 tmp6 += ints . tmp299 * - 1 del ints . tmp299 tmp6 += np . transpose ( ints . tmp317 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp317 tmp6 += ints . tmp325 * - 1 del ints . tmp325 tmp6 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp7 = np . copy ( f . bb . oo ) tmp7 += ints . tmp140 * 2 del ints . tmp140 tmp7 += ints . tmp143 del ints . tmp143 tmp7 += np . transpose ( ints . tmp163 , ( 1 , 0 )) del ints . tmp163 tmp7 += np . transpose ( ints . tmp167 , ( 1 , 0 )) del ints . tmp167 tmp7 += ints . tmp205 del ints . tmp205 tmp7 += ints . tmp209 del ints . tmp209 tmp7 += np . transpose ( ints . tmp21 , ( 1 , 0 )) del ints . tmp21 tmp7 += ints . tmp161 * - 1 del ints . tmp161 tmp7 += ints . tmp203 * - 1 del ints . tmp203 tmp2 = np . copy ( ints . tmp120 ) del ints . tmp120 tmp2 += ints . tmp125 * 0.5 del ints . tmp125 tmp2 += ints . tmp141 del ints . tmp141 tmp2 += ints . tmp144 * 0.5 del ints . tmp144 tmp2 += ints . tmp164 * 0.5 del ints . tmp164 tmp2 += ints . tmp168 * 0.5 del ints . tmp168 tmp2 += ints . tmp187 * 0.5 del ints . tmp187 tmp2 += ints . tmp206 * 0.5 del ints . tmp206 tmp2 += ints . tmp210 * 0.5 del ints . tmp210 tmp2 += ints . tmp22 * 0.5 del ints . tmp22 tmp2 += ints . tmp37 * 0.5 del ints . tmp37 tmp2 += ints . tmp4 * 0.5 del ints . tmp4 tmp2 += ints . tmp53 del ints . tmp53 tmp2 += ints . tmp55 * 0.5 del ints . tmp55 tmp2 += ints . tmp72 del ints . tmp72 tmp2 += ints . tmp85 * 0.5 del ints . tmp85 tmp2 += ints . tmp92 del ints . tmp92 tmp2 += f . bb . ov * - 0.5 tmp2 += ints . tmp100 * - 0.5 del ints . tmp100 tmp2 += ints . tmp103 * - 1 del ints . tmp103 tmp2 += ints . tmp10 * - 0.5 del ints . tmp10 tmp2 += ints . tmp13 * - 1 del ints . tmp13 tmp2 += ints . tmp162 * - 0.5 del ints . tmp162 tmp2 += ints . tmp185 * - 0.5 del ints . tmp185 tmp2 += ints . tmp189 * - 0.5 del ints . tmp189 tmp2 += ints . tmp204 * - 0.5 del ints . tmp204 tmp2 += ints . tmp36 * - 0.5 del ints . tmp36 tmp2 += ints . tmp38 * - 0.5 del ints . tmp38 tmp2 += ints . tmp74 * - 0.5 del ints . tmp74 tmp2 += ints . tmp7 * - 0.5 del ints . tmp7 tmp2 += ints . tmp88 * - 0.5 del ints . tmp88 tmp2 += ints . tmp96 * - 1 del ints . tmp96 tmp5 = np . copy ( ints . tmp124 ) del ints . tmp124 tmp5 += np . transpose ( ints . tmp223 , ( 0 , 2 , 1 , 3 )) del ints . tmp223 tmp5 += np . transpose ( ints . tmp240 , ( 0 , 2 , 1 , 3 )) del ints . tmp240 tmp5 += np . transpose ( ints . tmp250 , ( 0 , 2 , 1 , 3 )) del ints . tmp250 tmp5 += np . transpose ( ints . tmp254 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp254 tmp5 += ints . tmp264 del ints . tmp264 tmp5 += ints . tmp279 del ints . tmp279 tmp5 += ints . tmp283 del ints . tmp283 tmp5 += ints . tmp291 del ints . tmp291 tmp5 += ints . tmp297 * 2 del ints . tmp297 tmp5 += ints . tmp328 del ints . tmp328 tmp5 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp5 += np . transpose ( ints . tmp232 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp232 tmp5 += ints . tmp247 * - 1 del ints . tmp247 tmp5 += ints . tmp253 * - 1 del ints . tmp253 tmp5 += ints . tmp275 * - 1 del ints . tmp275 tmp5 += ints . tmp294 * - 1 del ints . tmp294 tmp5 += ints . tmp301 * - 1 del ints . tmp301 tmp5 += ints . tmp309 * - 1 del ints . tmp309 tmp5 += ints . tmp319 * - 1 del ints . tmp319 tmp5 += np . transpose ( ints . tmp320 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp320 tmp5 += ints . tmp336 * - 1 del ints . tmp336 tmp3 = np . copy ( ints . tmp117 ) del ints . tmp117 tmp3 += ints . tmp122 * 0.5 del ints . tmp122 tmp3 += ints . tmp138 del ints . tmp138 tmp3 += ints . tmp146 * 0.5 del ints . tmp146 tmp3 += ints . tmp159 * 0.5 del ints . tmp159 tmp3 += ints . tmp165 * 0.5 del ints . tmp165 tmp3 += ints . tmp182 * 0.5 del ints . tmp182 tmp3 += ints . tmp19 * 0.5 del ints . tmp19 tmp3 += ints . tmp201 * 0.5 del ints . tmp201 tmp3 += ints . tmp207 * 0.5 del ints . tmp207 tmp3 += ints . tmp2 * 0.5 del ints . tmp2 tmp3 += ints . tmp34 * 0.5 del ints . tmp34 tmp3 += ints . tmp51 del ints . tmp51 tmp3 += ints . tmp57 * 0.5 del ints . tmp57 tmp3 += ints . tmp70 del ints . tmp70 tmp3 += ints . tmp83 del ints . tmp83 tmp3 += ints . tmp90 * 0.5 del ints . tmp90 tmp3 += f . aa . ov * - 0.5 tmp3 += ints . tmp101 * - 0.5 del ints . tmp101 tmp3 += ints . tmp11 * - 0.5 del ints . tmp11 tmp3 += ints . tmp157 * - 0.5 del ints . tmp157 tmp3 += ints . tmp179 * - 0.5 del ints . tmp179 tmp3 += ints . tmp191 * - 0.5 del ints . tmp191 tmp3 += ints . tmp199 * - 0.5 del ints . tmp199 tmp3 += ints . tmp32 * - 0.5 del ints . tmp32 tmp3 += ints . tmp39 * - 0.5 del ints . tmp39 tmp3 += ints . tmp5 * - 0.5 del ints . tmp5 tmp3 += ints . tmp76 * - 0.5 del ints . tmp76 tmp3 += ints . tmp86 * - 1 del ints . tmp86 tmp3 += ints . tmp8 * - 1 del ints . tmp8 tmp3 += ints . tmp94 * - 0.5 del ints . tmp94 tmp3 += ints . tmp98 * - 1 del ints . tmp98 tmp4 = np . copy ( f . aa . oo ) tmp4 += ints . tmp155 del ints . tmp155 tmp4 += ints . tmp156 del ints . tmp156 tmp4 += np . transpose ( ints . tmp1 , ( 1 , 0 )) del ints . tmp1 tmp4 += np . transpose ( ints . tmp26 , ( 1 , 0 )) del ints . tmp26 tmp4 += np . transpose ( ints . tmp27 , ( 1 , 0 )) del ints . tmp27 tmp4 += ints . tmp47 * 2 del ints . tmp47 tmp4 += ints . tmp49 del ints . tmp49 tmp4 += ints . tmp154 * - 1 del ints . tmp154 tmp4 += ints . tmp25 * - 1 del ints . tmp25 tmp0 = np . copy ( ints . tmp111 ) del ints . tmp111 tmp0 += ints . tmp115 del ints . tmp115 tmp0 += ints . tmp129 del ints . tmp129 tmp0 += ints . tmp135 * 2 del ints . tmp135 tmp0 += np . transpose ( ints . tmp17 , ( 1 , 0 , 2 , 3 )) del ints . tmp17 tmp0 += ints . tmp197 del ints . tmp197 tmp0 += ints . tmp45 del ints . tmp45 tmp0 += np . transpose ( ints . tmp46 , ( 1 , 0 , 2 , 3 )) del ints . tmp46 tmp0 += np . transpose ( ints . tmp64 , ( 1 , 0 , 2 , 3 )) del ints . tmp64 tmp0 += np . transpose ( ints . tmp68 , ( 1 , 0 , 2 , 3 )) * 2 del ints . tmp68 tmp0 += ints . tmp80 del ints . tmp80 tmp0 += v . aabb . ooov tmp0 += ints . tmp107 * - 1 del ints . tmp107 tmp0 += ints . tmp132 * - 1 del ints . tmp132 tmp0 += ints . tmp137 * - 1 del ints . tmp137 tmp0 += ints . tmp152 * - 1 del ints . tmp152 tmp0 += ints . tmp175 * - 1 del ints . tmp175 tmp0 += np . transpose ( ints . tmp177 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp177 tmp0 += ints . tmp215 * - 1 del ints . tmp215 tmp0 += np . transpose ( ints . tmp30 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp30 tmp0 += ints . tmp61 * - 1 del ints . tmp61 tmp0 += ints . tmp65 * - 1 del ints . tmp65 tmp1 = np . copy ( ints . tmp109 ) del ints . tmp109 tmp1 += ints . tmp113 del ints . tmp113 tmp1 += ints . tmp130 * 2 del ints . tmp130 tmp1 += ints . tmp149 del ints . tmp149 tmp1 += np . transpose ( ints . tmp15 , ( 1 , 2 , 0 , 3 )) del ints . tmp15 tmp1 += ints . tmp170 del ints . tmp170 tmp1 += ints . tmp212 del ints . tmp212 tmp1 += np . transpose ( ints . tmp28 , ( 1 , 2 , 0 , 3 )) del ints . tmp28 tmp1 += np . transpose ( ints . tmp43 , ( 0 , 2 , 1 , 3 )) del ints . tmp43 tmp1 += np . transpose ( ints . tmp62 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp62 tmp1 += np . transpose ( ints . tmp66 , ( 0 , 2 , 1 , 3 )) del ints . tmp66 tmp1 += ints . tmp105 * - 1 del ints . tmp105 tmp1 += ints . tmp127 * - 2 del ints . tmp127 tmp1 += ints . tmp133 * - 1 del ints . tmp133 tmp1 += np . transpose ( ints . tmp172 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp172 tmp1 += ints . tmp194 * - 1 del ints . tmp194 tmp1 += ints . tmp41 * - 1 del ints . tmp41 tmp1 += ints . tmp59 * - 2 del ints . tmp59 tmp1 += ints . tmp78 * - 1 del ints . tmp78 tmp1 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) * - 1 r2new . bbb = np . copy ( tmp57 ) * - 1 r2new . bbb += np . transpose ( tmp57 , ( 1 , 0 , 2 )) del tmp57 r2new . bbb += tmp64 r2new . bbb += np . transpose ( tmp64 , ( 1 , 0 , 2 )) * - 1 del tmp64 r2new . bbb += einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 1 , 0 , 4 ), ( 2 , 3 , 4 )) * - 2 del tmp65 r2new . bbb += einsum ( tmp45 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bab = einsum ( f . bb . ov , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) * - 1 r2new . bab += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 2 , 0 , 3 )) r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp40 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) del tmp40 r2new . bab += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp41 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) * - 2 del tmp41 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp42 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) del tmp42 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp43 , ( 1 , 3 , 0 , 4 ), ( 4 , 3 , 2 )) del tmp43 r2new . bab += einsum ( tmp45 , ( 0 , 1 ), r2 . bab , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp45 r2new . bab += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp46 , ( 1 ,), ( 2 , 0 , 3 )) del tmp46 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp38 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new . bab += einsum ( tmp39 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . aba = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 0 , 2 , 1 )) r2new . aba += einsum ( r1 . b , ( 0 ,), f . aa . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp31 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) del tmp31 r2new . aba += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp32 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) * - 2 del tmp32 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp33 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) del tmp33 r2new . aba += einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 2 , 4 ), ( 1 , 3 , 4 )) del tmp34 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp30 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp37 , ( 3 ,), ( 0 , 2 , 1 )) del tmp37 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp38 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp38 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp39 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp39 r2new . aaa = np . copy ( tmp18 ) * - 1 r2new . aaa += np . transpose ( tmp18 , ( 1 , 0 , 2 )) del tmp18 r2new . aaa += tmp27 r2new . aaa += np . transpose ( tmp27 , ( 1 , 0 , 2 )) * - 1 del tmp27 r2new . aaa += einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 0 , 1 , 4 ), ( 2 , 3 , 4 )) * 2 del tmp28 r2new . aaa += einsum ( tmp30 , ( 0 , 1 ), r2 . aaa , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 del tmp30 r1new . b = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 1 , 3 ), ( 2 ,)) del tmp5 r1new . b += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 0 , 1 , 3 ), ( 2 ,)) * 2 del tmp6 r1new . b += einsum ( tmp2 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 1 ), ( 2 ,)) * - 4 r1new . b += einsum ( tmp3 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 1 ), ( 2 ,)) * 2 r1new . b += einsum ( tmp7 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp7 r1new . a = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 0 , 3 ), ( 1 ,)) del tmp0 r1new . a += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 1 , 0 , 3 ), ( 2 ,)) * - 2 del tmp1 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp2 , ( 0 , 2 ), ( 1 ,)) * 2 del tmp2 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp3 , ( 1 , 2 ), ( 0 ,)) * - 4 del tmp3 r1new . a += einsum ( tmp4 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . UCC2 . hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:56:17.551677. 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 tmp10 : array tmp100 : array tmp101 : array tmp103 : array tmp11 : array tmp111 : array tmp112 : array tmp114 : array tmp115 : array tmp117 : array tmp118 : array tmp120 : array tmp121 : array tmp123 : array tmp125 : array tmp127 : array tmp128 : array tmp13 : array tmp130 : array tmp131 : array tmp133 : array tmp134 : array tmp136 : array tmp137 : array tmp139 : array tmp141 : array tmp142 : array tmp144 : array tmp145 : array tmp147 : array tmp149 : array tmp151 : array tmp154 : array tmp157 : array tmp159 : array tmp161 : array tmp164 : array tmp169 : array tmp171 : array tmp173 : array tmp174 : array tmp175 : array tmp176 : array tmp177 : array tmp178 : array tmp179 : array tmp181 : array tmp183 : array tmp185 : array tmp186 : array tmp188 : array tmp19 : array tmp191 : array tmp194 : array tmp196 : array tmp198 : array tmp2 : array tmp20 : array tmp201 : array tmp22 : array tmp226 : array tmp228 : array tmp23 : array tmp230 : array tmp232 : array tmp238 : array tmp240 : array tmp246 : array tmp247 : array tmp249 : array tmp250 : array tmp252 : array tmp254 : array tmp256 : array tmp26 : array tmp27 : array tmp276 : array tmp278 : array tmp28 : array tmp284 : array tmp285 : array tmp287 : array tmp288 : array tmp29 : array tmp290 : array tmp292 : array tmp294 : array tmp305 : array tmp307 : array tmp309 : array tmp31 : array tmp310 : array tmp33 : array tmp34 : array tmp35 : array tmp36 : array tmp4 : array tmp43 : array tmp45 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp53 : array tmp55 : array tmp57 : array tmp59 : array tmp61 : array tmp63 : array tmp65 : array tmp67 : array tmp69 : array tmp7 : array tmp71 : array tmp73 : array tmp74 : array tmp76 : array tmp77 : array tmp79 : array tmp8 : array tmp81 : array tmp82 : array tmp83 : array tmp85 : array tmp86 : array tmp88 : array tmp89 : array tmp90 : array tmp92 : array tmp94 : array tmp96 : array tmp98 : array Source code in ebcc/codegen/UCC2.py 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 def hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:56:17.551677. 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 ------- tmp10 : array tmp100 : array tmp101 : array tmp103 : array tmp11 : array tmp111 : array tmp112 : array tmp114 : array tmp115 : array tmp117 : array tmp118 : array tmp120 : array tmp121 : array tmp123 : array tmp125 : array tmp127 : array tmp128 : array tmp13 : array tmp130 : array tmp131 : array tmp133 : array tmp134 : array tmp136 : array tmp137 : array tmp139 : array tmp141 : array tmp142 : array tmp144 : array tmp145 : array tmp147 : array tmp149 : array tmp151 : array tmp154 : array tmp157 : array tmp159 : array tmp161 : array tmp164 : array tmp169 : array tmp171 : array tmp173 : array tmp174 : array tmp175 : array tmp176 : array tmp177 : array tmp178 : array tmp179 : array tmp181 : array tmp183 : array tmp185 : array tmp186 : array tmp188 : array tmp19 : array tmp191 : array tmp194 : array tmp196 : array tmp198 : array tmp2 : array tmp20 : array tmp201 : array tmp22 : array tmp226 : array tmp228 : array tmp23 : array tmp230 : array tmp232 : array tmp238 : array tmp240 : array tmp246 : array tmp247 : array tmp249 : array tmp250 : array tmp252 : array tmp254 : array tmp256 : array tmp26 : array tmp27 : array tmp276 : array tmp278 : array tmp28 : array tmp284 : array tmp285 : array tmp287 : array tmp288 : array tmp29 : array tmp290 : array tmp292 : array tmp294 : array tmp305 : array tmp307 : array tmp309 : array tmp31 : array tmp310 : array tmp33 : array tmp34 : array tmp35 : array tmp36 : array tmp4 : array tmp43 : array tmp45 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp53 : array tmp55 : array tmp57 : array tmp59 : array tmp61 : array tmp63 : array tmp65 : array tmp67 : array tmp69 : array tmp7 : array tmp71 : array tmp73 : array tmp74 : array tmp76 : array tmp77 : array tmp79 : array tmp8 : array tmp81 : array tmp82 : array tmp83 : array tmp85 : array tmp86 : array tmp88 : array tmp89 : array tmp90 : array tmp92 : array tmp94 : array tmp96 : array tmp98 : array \"\"\" tmp35 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp36 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp33 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp89 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp29 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) tmp82 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 1 ), ( 0 , 3 )) tmp117 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp114 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp200 = einsum ( t1 . bb , ( 0 , 1 ), tmp35 , ( 2 , 1 ), ( 0 , 2 )) tmp197 = einsum ( t1 . aa , ( 0 , 1 ), tmp36 , ( 2 , 1 ), ( 0 , 2 )) tmp195 = einsum ( tmp33 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp193 = einsum ( tmp89 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp190 = einsum ( t1 . aa , ( 0 , 1 ), tmp29 , ( 2 , 1 ), ( 0 , 2 )) tmp187 = einsum ( t1 . aa , ( 0 , 1 ), tmp82 , ( 2 , 1 ), ( 0 , 2 )) tmp28 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp177 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp175 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 )) tmp173 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 1 ), ( 2 , 3 )) tmp27 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp26 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp163 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp160 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp158 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp156 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp153 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) tmp150 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 )) tmp136 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp133 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp130 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp127 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp120 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp111 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp22 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 2 , 1 ), ( 2 , 0 )) tmp19 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp310 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . vvov , ( 2 , 1 , 3 , 4 ), ( 0 , 3 , 2 , 4 )) tmp309 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp307 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp305 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp294 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp292 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp290 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 1 , 3 , 4 , 5 ), ( 0 , 4 , 2 , 5 )) tmp288 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp287 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp285 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp284 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp278 = einsum ( tmp117 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp276 = einsum ( tmp114 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 tmp256 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp254 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) tmp252 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp250 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp249 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp247 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp246 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp240 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp238 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 tmp232 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 1 , 4 ), ( 3 , 4 )) tmp230 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp228 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . vvvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp226 = einsum ( v . bbbb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp201 = einsum ( t1 . bb , ( 0 , 1 ), tmp200 , ( 2 , 0 ), ( 2 , 1 )) del tmp200 tmp198 = einsum ( tmp197 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) del tmp197 tmp196 = einsum ( t1 . bb , ( 0 , 1 ), tmp195 , ( 2 , 0 ), ( 2 , 1 )) del tmp195 tmp194 = einsum ( t1 . bb , ( 0 , 1 ), tmp193 , ( 2 , 0 ), ( 2 , 1 )) del tmp193 tmp191 = einsum ( t1 . aa , ( 0 , 1 ), tmp190 , ( 2 , 0 ), ( 2 , 1 )) del tmp190 tmp188 = einsum ( tmp187 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) del tmp187 tmp186 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp185 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp183 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp181 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp179 = einsum ( t1 . aa , ( 0 , 1 ), tmp28 , ( 2 , 1 ), ( 0 , 2 )) tmp178 = einsum ( tmp177 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp176 = einsum ( tmp175 , ( 0 , 1 ), t1 . bb , ( 2 , 0 ), ( 2 , 1 )) tmp174 = einsum ( tmp173 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp171 = einsum ( t1 . aa , ( 0 , 1 ), tmp27 , ( 1 , 2 ), ( 0 , 2 )) tmp169 = einsum ( tmp26 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp164 = einsum ( t1 . bb , ( 0 , 1 ), tmp163 , ( 2 , 0 ), ( 2 , 1 )) del tmp163 tmp161 = einsum ( t1 . aa , ( 0 , 1 ), tmp160 , ( 2 , 0 ), ( 2 , 1 )) del tmp160 tmp159 = einsum ( t1 . bb , ( 0 , 1 ), tmp158 , ( 2 , 0 ), ( 2 , 1 )) del tmp158 tmp157 = einsum ( t1 . bb , ( 0 , 1 ), tmp156 , ( 2 , 0 ), ( 2 , 1 )) del tmp156 tmp154 = einsum ( tmp153 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) del tmp153 tmp151 = einsum ( tmp150 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) del tmp150 tmp149 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp147 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp145 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp144 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp142 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp141 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) tmp139 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp137 = einsum ( tmp136 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp134 = einsum ( t1 . bb , ( 0 , 1 ), tmp133 , ( 2 , 0 ), ( 2 , 1 )) tmp131 = einsum ( t1 . bb , ( 0 , 1 ), tmp130 , ( 2 , 0 ), ( 2 , 1 )) tmp128 = einsum ( tmp127 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp125 = einsum ( tmp120 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp123 = einsum ( tmp111 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 tmp121 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp120 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) tmp118 = einsum ( tmp117 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp115 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp114 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 tmp112 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp111 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 tmp103 = einsum ( tmp35 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp101 = einsum ( tmp35 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp100 = einsum ( tmp36 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp98 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp36 , ( 1 , 3 ), ( 0 , 2 )) tmp96 = einsum ( tmp33 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp94 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp33 , ( 1 , 3 ), ( 0 , 2 )) tmp92 = einsum ( tmp89 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp90 = einsum ( tmp89 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp88 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp29 , ( 0 , 2 ), ( 1 , 3 )) tmp86 = einsum ( tmp29 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp85 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp82 , ( 0 , 2 ), ( 1 , 3 )) tmp83 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp82 , ( 1 , 3 ), ( 0 , 2 )) tmp81 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 4 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) tmp79 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp77 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 5 , 1 , 3 ), ( 0 , 2 , 4 , 5 )) tmp76 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 0 , 4 , 5 , 2 ), ( 1 , 4 , 5 , 3 )) tmp74 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp73 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp71 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp69 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp67 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp65 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp63 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp61 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 4 , 5 ), ( 2 , 4 , 1 , 5 )) tmp59 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 tmp57 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp55 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) tmp53 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 1 tmp51 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 1 tmp49 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp47 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp45 = einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp43 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp34 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp31 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 )) tmp23 = einsum ( t1 . bb , ( 0 , 1 ), tmp22 , ( 0 , 2 ), ( 2 , 1 )) tmp20 = einsum ( tmp19 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp13 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp11 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp10 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp8 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 1 , 3 ), ( 0 , 2 )) tmp7 = einsum ( f . bb . vv , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp5 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . vv , ( 2 , 1 ), ( 0 , 2 )) tmp4 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . oo , ( 2 , 0 ), ( 2 , 1 )) tmp2 = einsum ( f . aa . oo , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) return { f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp101\" : tmp101 , f \"tmp103\" : tmp103 , f \"tmp11\" : tmp11 , f \"tmp111\" : tmp111 , f \"tmp112\" : tmp112 , f \"tmp114\" : tmp114 , f \"tmp115\" : tmp115 , f \"tmp117\" : tmp117 , f \"tmp118\" : tmp118 , f \"tmp120\" : tmp120 , f \"tmp121\" : tmp121 , f \"tmp123\" : tmp123 , f \"tmp125\" : tmp125 , f \"tmp127\" : tmp127 , f \"tmp128\" : tmp128 , f \"tmp13\" : tmp13 , f \"tmp130\" : tmp130 , f \"tmp131\" : tmp131 , f \"tmp133\" : tmp133 , f \"tmp134\" : tmp134 , f \"tmp136\" : tmp136 , f \"tmp137\" : tmp137 , f \"tmp139\" : tmp139 , f \"tmp141\" : tmp141 , f \"tmp142\" : tmp142 , f \"tmp144\" : tmp144 , f \"tmp145\" : tmp145 , f \"tmp147\" : tmp147 , f \"tmp149\" : tmp149 , f \"tmp151\" : tmp151 , f \"tmp154\" : tmp154 , f \"tmp157\" : tmp157 , f \"tmp159\" : tmp159 , f \"tmp161\" : tmp161 , f \"tmp164\" : tmp164 , f \"tmp169\" : tmp169 , f \"tmp171\" : tmp171 , f \"tmp173\" : tmp173 , f \"tmp174\" : tmp174 , f \"tmp175\" : tmp175 , f \"tmp176\" : tmp176 , f \"tmp177\" : tmp177 , f \"tmp178\" : tmp178 , f \"tmp179\" : tmp179 , f \"tmp181\" : tmp181 , f \"tmp183\" : tmp183 , f \"tmp185\" : tmp185 , f \"tmp186\" : tmp186 , f \"tmp188\" : tmp188 , f \"tmp19\" : tmp19 , f \"tmp191\" : tmp191 , f \"tmp194\" : tmp194 , f \"tmp196\" : tmp196 , f \"tmp198\" : tmp198 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp201\" : tmp201 , f \"tmp22\" : tmp22 , f \"tmp226\" : tmp226 , f \"tmp228\" : tmp228 , f \"tmp23\" : tmp23 , f \"tmp230\" : tmp230 , f \"tmp232\" : tmp232 , f \"tmp238\" : tmp238 , f \"tmp240\" : tmp240 , f \"tmp246\" : tmp246 , f \"tmp247\" : tmp247 , f \"tmp249\" : tmp249 , f \"tmp250\" : tmp250 , f \"tmp252\" : tmp252 , f \"tmp254\" : tmp254 , f \"tmp256\" : tmp256 , f \"tmp26\" : tmp26 , f \"tmp27\" : tmp27 , f \"tmp276\" : tmp276 , f \"tmp278\" : tmp278 , f \"tmp28\" : tmp28 , f \"tmp284\" : tmp284 , f \"tmp285\" : tmp285 , f \"tmp287\" : tmp287 , f \"tmp288\" : tmp288 , f \"tmp29\" : tmp29 , f \"tmp290\" : tmp290 , f \"tmp292\" : tmp292 , f \"tmp294\" : tmp294 , f \"tmp305\" : tmp305 , f \"tmp307\" : tmp307 , f \"tmp309\" : tmp309 , f \"tmp31\" : tmp31 , f \"tmp310\" : tmp310 , f \"tmp33\" : tmp33 , f \"tmp34\" : tmp34 , f \"tmp35\" : tmp35 , f \"tmp36\" : tmp36 , f \"tmp4\" : tmp4 , f \"tmp43\" : tmp43 , f \"tmp45\" : tmp45 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp51\" : tmp51 , f \"tmp53\" : tmp53 , f \"tmp55\" : tmp55 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp61\" : tmp61 , f \"tmp63\" : tmp63 , f \"tmp65\" : tmp65 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp7\" : tmp7 , f \"tmp71\" : tmp71 , f \"tmp73\" : tmp73 , f \"tmp74\" : tmp74 , f \"tmp76\" : tmp76 , f \"tmp77\" : tmp77 , f \"tmp79\" : tmp79 , f \"tmp8\" : tmp8 , f \"tmp81\" : tmp81 , f \"tmp82\" : tmp82 , f \"tmp83\" : tmp83 , f \"tmp85\" : tmp85 , f \"tmp86\" : tmp86 , f \"tmp88\" : tmp88 , f \"tmp89\" : tmp89 , f \"tmp90\" : tmp90 , f \"tmp92\" : tmp92 , f \"tmp94\" : tmp94 , f \"tmp96\" : tmp96 , f \"tmp98\" : tmp98 } ebcc . codegen . UCC2 . hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:56:17.631079. 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. Source code in ebcc/codegen/UCC2.py 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:56:17.631079. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp32 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 3 , 0 ), ( 1 ,)) tmp33 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 2 , 0 , 1 ), ( 3 ,)) tmp76 = np . copy ( ints . tmp285 ) * 2 tmp76 += ints . tmp292 tmp78 = np . copy ( ints . tmp230 ) tmp78 += ints . tmp232 * 0.5 tmp78 += f . bb . vv * - 0.5 tmp80 = np . copy ( tmp32 ) * - 0.5 tmp80 += tmp33 tmp86 = np . copy ( ints . tmp284 ) tmp86 += ints . tmp290 * 2 tmp21 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), t1 . bb , ( 3 , 1 ), ( 2 , 3 , 0 )) tmp16 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 2 , 1 ), ( 0 ,)) * - 1 tmp2 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 1 ), ( 2 , 3 , 0 )) tmp40 = np . copy ( ints . tmp139 ) * 2 tmp40 += ints . tmp145 tmp15 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 2 , 0 , 1 ), ( 3 ,)) tmp44 = np . copy ( ints . tmp47 ) tmp44 += ints . tmp49 * 0.5 tmp44 += f . aa . vv * - 0.5 tmp42 = np . copy ( ints . tmp141 ) * 0.5 tmp42 += ints . tmp147 tmp77 = einsum ( tmp76 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 2 , 0 ), ( 1 , 4 , 3 )) * - 2 del tmp76 tmp74 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovov , ( 2 , 0 , 3 , 4 ), ( 3 , 1 , 4 )) tmp73 = einsum ( ints . tmp287 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 1 , 3 , 4 )) tmp79 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp78 , ( 1 , 3 ), ( 2 , 0 , 3 )) * - 4 del tmp78 tmp72 = einsum ( r1 . b , ( 0 ,), v . bbbb . ovvv , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) tmp81 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp80 , ( 2 ,), ( 0 , 3 , 1 )) * 2 del tmp80 tmp75 = einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 1 ), ( 0 , 4 , 2 )) tmp84 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 2 ), ( 0 , 4 , 1 )) tmp87 = einsum ( tmp86 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 1 , 4 , 3 )) del tmp86 tmp85 = einsum ( tmp21 , ( 0 , 1 , 2 ), f . bb . ov , ( 1 , 3 ), ( 0 , 3 , 2 )) tmp83 = einsum ( ints . tmp288 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 2 , 0 ), ( 1 , 3 , 4 )) tmp59 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp61 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp48 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 3 , 2 ), ( 0 , 4 , 1 )) tmp52 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp16 , ( 2 ,), ( 0 , 1 , 3 )) tmp47 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp142 , ( 2 , 3 , 1 , 4 ), ( 3 , 4 , 0 )) tmp49 = einsum ( f . aa . ov , ( 0 , 1 ), tmp2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) tmp51 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 2 ), ( 0 , 4 , 1 )) * - 1 tmp50 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp144 , ( 3 , 2 , 4 , 0 ), ( 3 , 4 , 1 )) * - 1 tmp41 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp40 , ( 2 , 3 , 1 , 4 ), ( 3 , 0 , 4 )) * - 2 del tmp40 tmp39 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp15 , ( 2 ,), ( 0 , 1 , 3 )) * - 1 tmp37 = einsum ( r1 . a , ( 0 ,), v . aaaa . ovvv , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) tmp38 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . oovv , ( 3 , 2 , 4 , 1 ), ( 3 , 0 , 4 )) tmp45 = einsum ( tmp44 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 4 del tmp44 tmp43 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp42 , ( 3 , 2 , 4 , 0 ), ( 3 , 1 , 4 )) * - 2 del tmp42 tmp25 = einsum ( t1 . aa , ( 0 , 1 ), r2 . aba , ( 1 , 2 , 3 ), ( 3 , 0 , 2 )) tmp6 = einsum ( t1 . bb , ( 0 , 1 ), r2 . bab , ( 1 , 2 , 3 ), ( 3 , 0 , 2 )) * - 1 tmp69 = np . copy ( f . bb . oo ) tmp69 += ints . tmp130 * 2 del ints . tmp130 tmp69 += ints . tmp133 del ints . tmp133 tmp69 += np . transpose ( ints . tmp22 , ( 1 , 0 )) del ints . tmp22 tmp82 = einsum ( r1 . b , ( 0 ,), f . bb . ov , ( 1 , 2 ), ( 1 , 2 , 0 )) tmp82 += tmp72 del tmp72 tmp82 += tmp73 del tmp73 tmp82 += tmp74 del tmp74 tmp82 += tmp75 * 2 del tmp75 tmp82 += np . transpose ( tmp77 , ( 0 , 2 , 1 )) * - 1 del tmp77 tmp82 += np . transpose ( tmp79 , ( 0 , 2 , 1 )) del tmp79 tmp82 += np . transpose ( tmp81 , ( 0 , 2 , 1 )) * - 1 del tmp81 tmp71 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) tmp88 = np . copy ( tmp83 ) * 4 del tmp83 tmp88 += tmp84 * 2 del tmp84 tmp88 += tmp85 * 2 del tmp85 tmp88 += np . transpose ( tmp87 , ( 0 , 2 , 1 )) del tmp87 tmp65 = np . copy ( ints . tmp285 ) * 2 tmp65 += ints . tmp292 tmp65 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp65 += ints . tmp288 * - 2 tmp65 += v . bbbb . oovv * - 1 tmp66 = np . copy ( ints . tmp284 ) tmp66 += ints . tmp290 * 2 tmp66 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp66 += ints . tmp287 * - 1 tmp64 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 2 , 4 ), ( 0 , 4 , 1 )) * - 1 tmp68 = np . copy ( ints . tmp230 ) tmp68 += ints . tmp232 * 0.5 tmp68 += f . bb . vv * - 0.5 tmp68 += np . transpose ( tmp59 , ( 1 , 0 )) * 0.5 tmp67 = np . copy ( ints . tmp149 ) tmp67 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) * - 1 tmp62 = np . copy ( ints . tmp47 ) * 2 tmp62 += ints . tmp49 tmp62 += f . aa . vv * - 1 tmp62 += np . transpose ( tmp61 , ( 1 , 0 )) del tmp61 tmp70 = np . copy ( tmp15 ) tmp70 += tmp16 * 0.5 tmp60 = np . copy ( ints . tmp230 ) * 2 tmp60 += ints . tmp232 tmp60 += f . bb . vv * - 1 tmp60 += np . transpose ( tmp59 , ( 1 , 0 )) del tmp59 tmp56 = np . copy ( ints . tmp139 ) * 2 tmp56 += ints . tmp145 tmp56 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp56 += ints . tmp142 * - 2 tmp56 += v . aaaa . oovv * - 1 tmp55 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) tmp57 = np . copy ( ints . tmp141 ) tmp57 += ints . tmp147 * 2 tmp57 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp57 += ints . tmp144 * - 1 tmp58 = np . copy ( ints . tmp294 ) tmp58 += v . aabb . oovv * - 1 tmp63 = np . copy ( tmp32 ) * - 1 tmp63 += tmp33 * 2 tmp54 = np . copy ( f . aa . oo ) tmp54 += ints . tmp127 * 2 del ints . tmp127 tmp54 += ints . tmp136 del ints . tmp136 tmp54 += np . transpose ( ints . tmp19 , ( 1 , 0 )) del ints . tmp19 tmp36 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp53 = np . copy ( tmp47 ) * 4 del tmp47 tmp53 += tmp48 * 2 del tmp48 tmp53 += tmp49 * 2 del tmp49 tmp53 += tmp50 del tmp50 tmp53 += tmp51 del tmp51 tmp53 += tmp52 del tmp52 tmp46 = einsum ( f . aa . ov , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 1 , 2 )) tmp46 += tmp37 del tmp37 tmp46 += tmp38 * 2 del tmp38 tmp46 += tmp39 * 2 del tmp39 tmp46 += np . transpose ( tmp41 , ( 0 , 2 , 1 )) * - 1 del tmp41 tmp46 += np . transpose ( tmp43 , ( 0 , 2 , 1 )) del tmp43 tmp46 += np . transpose ( tmp45 , ( 0 , 2 , 1 )) del tmp45 tmp28 = np . copy ( ints . tmp117 ) del ints . tmp117 tmp28 += v . aabb . ooov tmp29 = einsum ( t1 . bb , ( 0 , 1 ), tmp21 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * - 1 tmp19 = np . copy ( ints . tmp228 ) del ints . tmp228 tmp19 += np . transpose ( ints . tmp240 , ( 0 , 1 , 3 , 2 )) del ints . tmp240 tmp19 += ints . tmp246 del ints . tmp246 tmp19 += ints . tmp252 * 2 del ints . tmp252 tmp19 += np . transpose ( ints . tmp278 , ( 0 , 1 , 3 , 2 )) del ints . tmp278 tmp19 += v . aabb . ovvv tmp19 += ints . tmp249 * - 1 del ints . tmp249 tmp19 += np . transpose ( ints . tmp256 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp256 tmp35 = np . copy ( f . bb . ov ) tmp35 += ints . tmp33 tmp35 += ints . tmp35 tmp35 += ints . tmp89 * - 1 del ints . tmp89 tmp23 = einsum ( t1 . bb , ( 0 , 1 ), r2 . aba , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp34 = einsum ( t1 . bb , ( 0 , 1 ), r1 . b , ( 1 ,), ( 0 ,)) tmp34 += tmp32 * - 1 del tmp32 tmp34 += tmp33 * 2 del tmp33 tmp24 = np . copy ( ints . tmp284 ) del ints . tmp284 tmp24 += ints . tmp290 * 2 del ints . tmp290 tmp24 += ints . tmp310 del ints . tmp310 tmp24 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp24 += ints . tmp287 * - 1 del ints . tmp287 tmp22 = np . copy ( ints . tmp285 ) * 2 del ints . tmp285 tmp22 += ints . tmp292 del ints . tmp292 tmp22 += np . transpose ( ints . tmp307 , ( 0 , 1 , 3 , 2 )) del ints . tmp307 tmp22 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp22 += ints . tmp288 * - 2 del ints . tmp288 tmp22 += np . transpose ( ints . tmp305 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp305 tmp22 += v . bbbb . oovv * - 1 tmp9 = np . copy ( ints . tmp115 ) * 2 del ints . tmp115 tmp9 += ints . tmp121 del ints . tmp121 tmp9 += ints . tmp131 * 2 del ints . tmp131 tmp9 += ints . tmp134 del ints . tmp134 tmp9 += ints . tmp159 del ints . tmp159 tmp9 += ints . tmp164 del ints . tmp164 tmp9 += ints . tmp176 del ints . tmp176 tmp9 += ints . tmp196 del ints . tmp196 tmp9 += ints . tmp201 del ints . tmp201 tmp9 += ints . tmp23 del ints . tmp23 tmp9 += ints . tmp34 del ints . tmp34 tmp9 += ints . tmp4 del ints . tmp4 tmp9 += ints . tmp53 * 2 del ints . tmp53 tmp9 += ints . tmp55 del ints . tmp55 tmp9 += ints . tmp65 * 2 del ints . tmp65 tmp9 += ints . tmp85 del ints . tmp85 tmp9 += ints . tmp92 * 2 del ints . tmp92 tmp9 += f . bb . ov * - 1 tmp9 += ints . tmp100 * - 1 del ints . tmp100 tmp9 += ints . tmp103 * - 2 del ints . tmp103 tmp9 += ints . tmp10 * - 1 del ints . tmp10 tmp9 += ints . tmp13 * - 2 del ints . tmp13 tmp9 += ints . tmp157 * - 1 del ints . tmp157 tmp9 += ints . tmp174 * - 1 del ints . tmp174 tmp9 += ints . tmp178 * - 1 del ints . tmp178 tmp9 += ints . tmp194 * - 1 del ints . tmp194 tmp9 += ints . tmp33 * - 1 del ints . tmp33 tmp9 += ints . tmp35 * - 1 del ints . tmp35 tmp9 += ints . tmp67 * - 1 del ints . tmp67 tmp9 += ints . tmp7 * - 1 del ints . tmp7 tmp9 += ints . tmp88 * - 1 del ints . tmp88 tmp9 += ints . tmp96 * - 2 del ints . tmp96 tmp8 = np . copy ( ints . tmp112 ) * 2 del ints . tmp112 tmp8 += ints . tmp118 del ints . tmp118 tmp8 += ints . tmp128 * 2 del ints . tmp128 tmp8 += ints . tmp137 del ints . tmp137 tmp8 += ints . tmp154 del ints . tmp154 tmp8 += ints . tmp161 del ints . tmp161 tmp8 += ints . tmp171 del ints . tmp171 tmp8 += ints . tmp191 del ints . tmp191 tmp8 += ints . tmp198 del ints . tmp198 tmp8 += ints . tmp20 del ints . tmp20 tmp8 += ints . tmp2 del ints . tmp2 tmp8 += ints . tmp31 del ints . tmp31 tmp8 += ints . tmp51 * 2 del ints . tmp51 tmp8 += ints . tmp57 del ints . tmp57 tmp8 += ints . tmp63 * 2 del ints . tmp63 tmp8 += ints . tmp83 * 2 del ints . tmp83 tmp8 += ints . tmp90 del ints . tmp90 tmp8 += f . aa . ov * - 1 tmp8 += ints . tmp101 * - 1 del ints . tmp101 tmp8 += ints . tmp11 * - 1 del ints . tmp11 tmp8 += ints . tmp151 * - 1 del ints . tmp151 tmp8 += ints . tmp169 * - 1 del ints . tmp169 tmp8 += ints . tmp179 * - 1 del ints . tmp179 tmp8 += ints . tmp188 * - 1 del ints . tmp188 tmp8 += ints . tmp29 * - 1 tmp8 += ints . tmp36 * - 1 tmp8 += ints . tmp5 * - 1 del ints . tmp5 tmp8 += ints . tmp69 * - 1 del ints . tmp69 tmp8 += ints . tmp86 * - 2 del ints . tmp86 tmp8 += ints . tmp8 * - 2 del ints . tmp8 tmp8 += ints . tmp94 * - 1 del ints . tmp94 tmp8 += ints . tmp98 * - 2 del ints . tmp98 tmp27 = einsum ( t1 . bb , ( 0 , 1 ), tmp25 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) tmp26 = np . copy ( np . transpose ( ints . tmp309 , ( 0 , 1 , 3 , 2 ))) del ints . tmp309 tmp26 += v . aabb . oovv tmp26 += ints . tmp294 * - 1 del ints . tmp294 tmp31 = np . copy ( np . transpose ( ints . tmp175 , ( 1 , 0 ))) del ints . tmp175 tmp31 += ints . tmp230 * 2 del ints . tmp230 tmp31 += ints . tmp232 del ints . tmp232 tmp31 += f . bb . vv * - 1 tmp31 += np . transpose ( ints . tmp173 , ( 1 , 0 )) * - 1 del ints . tmp173 tmp31 += np . transpose ( ints . tmp177 , ( 1 , 0 )) * - 1 del ints . tmp177 tmp20 = np . copy ( np . transpose ( ints . tmp238 , ( 0 , 3 , 1 , 2 ))) * 0.5 del ints . tmp238 tmp20 += np . transpose ( ints . tmp247 , ( 0 , 2 , 1 , 3 )) del ints . tmp247 tmp20 += np . transpose ( ints . tmp254 , ( 0 , 2 , 1 , 3 )) * 0.5 del ints . tmp254 tmp20 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) * 0.5 tmp20 += ints . tmp226 * - 0.5 del ints . tmp226 tmp20 += np . transpose ( ints . tmp250 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp250 tmp20 += np . transpose ( ints . tmp276 , ( 0 , 3 , 1 , 2 )) * - 0.5 del ints . tmp276 tmp30 = np . copy ( ints . tmp114 ) del ints . tmp114 tmp30 += v . bbbb . ooov * - 1 tmp12 = einsum ( t1 . aa , ( 0 , 1 ), tmp6 , ( 2 , 3 , 1 ), ( 0 , 2 , 3 )) tmp3 = np . copy ( ints . tmp139 ) * 2 del ints . tmp139 tmp3 += ints . tmp145 del ints . tmp145 tmp3 += np . transpose ( ints . tmp183 , ( 0 , 1 , 3 , 2 )) del ints . tmp183 tmp3 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp3 += ints . tmp142 * - 2 del ints . tmp142 tmp3 += np . transpose ( ints . tmp181 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp181 tmp3 += v . aaaa . oovv * - 1 tmp11 = np . copy ( ints . tmp111 ) del ints . tmp111 tmp11 += v . aaaa . ooov * - 1 tmp4 = einsum ( t1 . aa , ( 0 , 1 ), r2 . bab , ( 2 , 1 , 3 ), ( 0 , 3 , 2 )) * - 1 tmp5 = np . copy ( ints . tmp141 ) del ints . tmp141 tmp5 += ints . tmp147 * 2 del ints . tmp147 tmp5 += ints . tmp186 del ints . tmp186 tmp5 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp5 += ints . tmp144 * - 1 del ints . tmp144 tmp10 = einsum ( tmp2 , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 1 , 3 )) * - 1 tmp1 = np . copy ( ints . tmp59 ) * 0.5 del ints . tmp59 tmp1 += np . transpose ( ints . tmp71 , ( 0 , 1 , 3 , 2 )) del ints . tmp71 tmp1 += np . transpose ( ints . tmp77 , ( 0 , 1 , 3 , 2 )) * 0.5 del ints . tmp77 tmp1 += v . aaaa . ovvv * 0.5 tmp1 += ints . tmp123 * - 0.5 del ints . tmp123 tmp1 += np . transpose ( ints . tmp43 , ( 0 , 2 , 3 , 1 )) * - 0.5 del ints . tmp43 tmp1 += np . transpose ( ints . tmp74 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp74 tmp17 = einsum ( t1 . aa , ( 0 , 1 ), r1 . a , ( 1 ,), ( 0 ,)) tmp17 += tmp15 * 2 del tmp15 tmp17 += tmp16 del tmp16 tmp7 = np . copy ( np . transpose ( ints . tmp185 , ( 0 , 1 , 3 , 2 ))) del ints . tmp185 tmp7 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) tmp7 += ints . tmp149 * - 1 del ints . tmp149 tmp14 = np . copy ( np . transpose ( ints . tmp27 , ( 1 , 0 ))) del ints . tmp27 tmp14 += ints . tmp47 * 2 del ints . tmp47 tmp14 += ints . tmp49 del ints . tmp49 tmp14 += f . aa . vv * - 1 tmp14 += np . transpose ( ints . tmp26 , ( 1 , 0 )) * - 1 del ints . tmp26 tmp14 += np . transpose ( ints . tmp28 , ( 1 , 0 )) * - 1 del ints . tmp28 tmp13 = np . copy ( ints . tmp120 ) del ints . tmp120 tmp13 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp18 = np . copy ( f . aa . ov ) tmp18 += ints . tmp29 del ints . tmp29 tmp18 += ints . tmp36 del ints . tmp36 tmp18 += ints . tmp82 * - 1 del ints . tmp82 tmp0 = np . copy ( ints . tmp125 ) del ints . tmp125 tmp0 += np . transpose ( ints . tmp45 , ( 0 , 2 , 1 , 3 )) del ints . tmp45 tmp0 += ints . tmp61 del ints . tmp61 tmp0 += np . transpose ( ints . tmp73 , ( 0 , 2 , 1 , 3 )) del ints . tmp73 tmp0 += np . transpose ( ints . tmp79 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp79 tmp0 += np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 )) tmp0 += np . transpose ( ints . tmp76 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp76 tmp0 += ints . tmp81 * - 1 del ints . tmp81 r2new . bbb = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp71 , ( 4 , 2 , 0 ), ( 1 , 3 , 4 )) * - 2 del tmp71 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . vvvv , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) * 2 r2new . bbb += np . transpose ( tmp82 , ( 1 , 2 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp82 , ( 2 , 1 , 0 )) del tmp82 r2new . bbb += np . transpose ( tmp88 , ( 1 , 2 , 0 )) r2new . bbb += np . transpose ( tmp88 , ( 2 , 1 , 0 )) * - 1 del tmp88 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp69 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 r2new . bab = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp64 , ( 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 1 del tmp64 r2new . bab += einsum ( f . bb . ov , ( 0 , 1 ), r1 . a , ( 2 ,), ( 1 , 2 , 0 )) * - 1 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . vvvv , ( 3 , 1 , 4 , 0 ), ( 4 , 3 , 2 )) r2new . bab += einsum ( r1 . a , ( 0 ,), v . aabb . vvov , ( 1 , 0 , 2 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new . bab += einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 4 , 0 ), ( 3 , 4 , 1 )) del tmp65 r2new . bab += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp66 , ( 2 , 3 , 1 , 4 ), ( 4 , 0 , 3 )) * - 2 del tmp66 r2new . bab += einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) del tmp67 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp68 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 2 del tmp68 r2new . bab += einsum ( tmp62 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp69 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp69 r2new . bab += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp70 , ( 0 ,), ( 3 , 1 , 2 )) * 2 del tmp70 r2new . aba = einsum ( f . aa . ov , ( 0 , 1 ), r1 . b , ( 2 ,), ( 1 , 2 , 0 )) * - 1 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . vvvv , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) r2new . aba += einsum ( r1 . b , ( 0 ,), v . aabb . ovvv , ( 1 , 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aba += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp55 , ( 4 , 0 , 2 ), ( 1 , 3 , 4 )) del tmp55 r2new . aba += einsum ( tmp56 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 3 , 4 , 1 )) del tmp56 r2new . aba += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp57 , ( 3 , 2 , 4 , 1 ), ( 4 , 0 , 3 )) * - 2 del tmp57 r2new . aba += einsum ( tmp58 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) del tmp58 r2new . aba += einsum ( tmp60 , ( 0 , 1 ), r2 . aba , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp60 r2new . aba += einsum ( tmp62 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 del tmp62 r2new . aba += einsum ( tmp54 , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aba += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp63 , ( 2 ,), ( 1 , 3 , 0 )) del tmp63 r2new . aaa = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . vvvv , ( 3 , 1 , 4 , 0 ), ( 3 , 4 , 2 )) * - 2 r2new . aaa += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp36 , ( 4 , 2 , 0 ), ( 1 , 3 , 4 )) * - 2 del tmp36 r2new . aaa += np . transpose ( tmp46 , ( 1 , 2 , 0 )) * - 1 r2new . aaa += np . transpose ( tmp46 , ( 2 , 1 , 0 )) del tmp46 r2new . aaa += np . transpose ( tmp53 , ( 1 , 2 , 0 )) r2new . aaa += np . transpose ( tmp53 , ( 2 , 1 , 0 )) * - 1 del tmp53 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp54 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp54 r1new . b = einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 0 ), ( 2 ,)) * - 1 del tmp19 r1new . b += einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 0 ), ( 1 ,)) * - 4 del tmp20 r1new . b += einsum ( tmp21 , ( 0 , 1 , 2 ), tmp22 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * 2 del tmp21 , tmp22 r1new . b += einsum ( tmp23 , ( 0 , 1 , 2 ), tmp24 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) del tmp23 , tmp24 r1new . b += einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), tmp25 , ( 0 , 1 , 2 ), ( 3 ,)) del tmp25 , tmp26 r1new . b += einsum ( tmp8 , ( 0 , 1 ), r2 . aba , ( 1 , 2 , 0 ), ( 2 ,)) r1new . b += einsum ( tmp9 , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 0 ), ( 2 ,)) * - 2 r1new . b += einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), tmp27 , ( 0 , 1 , 2 ), ( 3 ,)) * - 1 del tmp28 , tmp27 r1new . b += einsum ( tmp29 , ( 0 , 1 , 2 ), tmp30 , ( 0 , 2 , 1 , 3 ), ( 3 ,)) * - 2 del tmp29 , tmp30 r1new . b += einsum ( r1 . b , ( 0 ,), tmp31 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp31 r1new . b += einsum ( tmp34 , ( 0 ,), tmp35 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp34 , tmp35 r1new . a = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 0 ), ( 2 ,)) * - 1 del tmp0 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp1 , ( 2 , 1 , 0 , 3 ), ( 3 ,)) * 4 del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp3 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * 2 del tmp2 , tmp3 r1new . a += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 1 , 3 ), ( 2 ,)) * - 1 del tmp5 , tmp4 r1new . a += einsum ( tmp6 , ( 0 , 1 , 2 ), tmp7 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * - 1 del tmp6 , tmp7 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp8 , ( 2 , 1 ), ( 0 ,)) * - 2 del tmp8 r1new . a += einsum ( tmp9 , ( 0 , 1 ), r2 . bab , ( 1 , 2 , 0 ), ( 2 ,)) del tmp9 r1new . a += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 0 , 2 , 1 ), ( 3 ,)) * - 2 del tmp11 , tmp10 r1new . a += einsum ( tmp12 , ( 0 , 1 , 2 ), tmp13 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) del tmp12 , tmp13 r1new . a += einsum ( tmp14 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp14 r1new . a += einsum ( tmp18 , ( 0 , 1 ), tmp17 , ( 0 ,), ( 1 ,)) * - 1 del tmp18 , tmp17 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"UCC2"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.energy","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:03.323312.","title":"energy"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.energy--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/UCC2.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:03.323312. 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 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp2 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp0 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp0 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp3 = np . copy ( f . aa . ov ) * 2 tmp3 += einsum ( t1 . aa , ( 0 , 1 ), tmp2 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) * - 1 del tmp2 tmp1 = np . copy ( f . bb . ov ) * 2 tmp1 += einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) * 2 tmp1 += einsum ( t1 . bb , ( 0 , 1 ), tmp0 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * - 1 del tmp0 e_cc = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 3 , 1 ), ()) * - 1 e_cc += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ()) e_cc += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 3 , 1 ), ()) * - 1 e_cc += einsum ( t1 . bb , ( 0 , 1 ), tmp1 , ( 0 , 1 ), ()) * 0.5 del tmp1 e_cc += einsum ( t1 . aa , ( 0 , 1 ), tmp3 , ( 0 , 1 ), ()) * 0.5 del tmp3 return e_cc","title":"Returns"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:13.269602.","title":"update_amps"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.update_amps--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.update_amps--returns","text":"t1new : Namespace of arrays Updated T1 residuals. t2new : Namespace of arrays Updated T2 residuals. Source code in ebcc/codegen/UCC2.py 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:13.269602. 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 () tmp17 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp2 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp11 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp11 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp5 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp5 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp74 = einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp72 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp68 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp16 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp33 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp37 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp41 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp12 = einsum ( t1 . bb , ( 0 , 1 ), tmp11 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp11 tmp10 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp6 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 3 ), ( 1 , 2 )) del tmp5 tmp1 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp47 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp75 = einsum ( tmp74 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) del tmp74 tmp65 = einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp51 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 2 , 1 ), ( 2 , 0 )) tmp77 = einsum ( v . bbbb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp61 = einsum ( v . bbbb . oooo , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp79 = einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp69 = einsum ( t1 . bb , ( 0 , 1 ), tmp68 , ( 2 , 3 , 4 , 0 ), ( 2 , 4 , 3 , 1 )) del tmp68 tmp52 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp54 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp56 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp57 = einsum ( t1 . aa , ( 0 , 1 ), tmp16 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp49 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp26 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp34 = einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) del tmp33 tmp31 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp39 = einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp44 = einsum ( t1 . aa , ( 0 , 1 ), tmp37 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp42 = einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) del tmp41 tmp29 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . oovv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp23 = einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp13 = np . copy ( f . bb . ov ) tmp13 += tmp10 tmp13 += tmp12 * - 1 del tmp12 tmp21 = np . copy ( v . bbbb . ooov ) * - 1 tmp21 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) tmp14 = np . copy ( v . aaaa . ooov ) tmp14 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp7 = np . copy ( f . aa . ov ) tmp7 += tmp1 tmp7 += tmp6 * - 1 del tmp6 tmp48 = np . copy ( f . bb . vv ) tmp48 += tmp47 * - 1 tmp63 = einsum ( f . bb . oo , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp73 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp76 = einsum ( t1 . bb , ( 0 , 1 ), tmp75 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp75 tmp66 = einsum ( t1 . bb , ( 0 , 1 ), tmp65 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp65 tmp64 = np . copy ( f . bb . vv ) tmp64 += tmp47 * - 1 del tmp47 tmp67 = einsum ( tmp51 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp78 = einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) del tmp77 tmp62 = einsum ( t1 . bb , ( 0 , 1 ), tmp61 , ( 2 , 0 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp61 tmp71 = einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp80 = einsum ( t1 . bb , ( 0 , 1 ), tmp79 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp79 tmp70 = einsum ( t1 . bb , ( 0 , 1 ), tmp69 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp69 tmp53 = einsum ( v . aabb . vvoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 3 , 0 )) tmp53 += einsum ( t1 . aa , ( 0 , 1 ), tmp52 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp52 tmp59 = einsum ( v . aabb . oovv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp60 = einsum ( t1 . aa , ( 0 , 1 ), tmp54 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp58 = einsum ( t1 . aa , ( 0 , 1 ), tmp56 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) del tmp56 tmp58 += einsum ( tmp57 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 del tmp57 tmp46 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp50 = einsum ( t1 . bb , ( 0 , 1 ), tmp49 , ( 2 , 3 , 4 , 0 ), ( 3 , 2 , 4 , 1 )) del tmp49 tmp27 = np . copy ( f . aa . vv ) tmp27 += tmp26 * - 1 tmp0 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp55 = np . copy ( np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 ))) tmp55 += einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp35 = einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp34 tmp32 = einsum ( tmp31 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp36 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp25 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp40 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) del tmp39 tmp38 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) tmp45 = einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp44 tmp28 = np . copy ( f . aa . vv ) tmp28 += tmp26 * - 1 del tmp26 tmp43 = einsum ( tmp42 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp42 tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp29 tmp24 = einsum ( t1 . aa , ( 0 , 1 ), tmp23 , ( 2 , 0 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp23 tmp3 = np . copy ( t2 . abab ) tmp3 += einsum ( t1 . aa , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp19 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp19 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) * 2 tmp19 += einsum ( t1 . bb , ( 0 , 1 ), tmp13 , ( 2 , 1 ), ( 2 , 0 )) tmp22 = np . copy ( f . bb . oo ) tmp22 += einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp22 += einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 1 , 0 )) * - 1 del tmp21 tmp18 = np . copy ( t2 . bbbb ) * 2 tmp18 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp20 = np . copy ( f . bb . vv ) tmp20 += einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 1 ), ( 2 , 3 )) tmp15 = np . copy ( f . aa . oo ) tmp15 += einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ooov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp15 += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 3 ), ( 2 , 1 )) * - 1 del tmp14 tmp9 = np . copy ( f . aa . vv ) tmp9 += einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp8 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 2 ), ( 4 , 0 )) * - 1 tmp8 += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) * 0.5 tmp8 += einsum ( t1 . aa , ( 0 , 1 ), tmp7 , ( 2 , 1 ), ( 2 , 0 )) * 0.5 tmp4 = np . copy ( t2 . aaaa ) * 2 tmp4 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) t2new . bbbb = np . copy ( tmp62 ) t2new . bbbb += np . transpose ( tmp63 , ( 1 , 0 , 3 , 2 )) * 2 t2new . bbbb += np . transpose ( tmp62 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp62 t2new . bbbb += np . transpose ( tmp63 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp63 t2new . bbbb += einsum ( tmp64 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp64 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp48 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * 2 t2new . bbbb += np . transpose ( tmp66 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp67 , ( 1 , 0 , 3 , 2 )) * 2 t2new . bbbb += np . transpose ( tmp70 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += np . transpose ( tmp70 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp66 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp67 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp67 t2new . bbbb += np . transpose ( tmp66 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp70 * - 1 t2new . bbbb += np . transpose ( tmp70 , ( 0 , 1 , 3 , 2 )) del tmp70 t2new . bbbb += tmp66 del tmp66 t2new . bbbb += np . transpose ( tmp71 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) t2new . bbbb += np . transpose ( tmp72 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += np . transpose ( tmp71 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 )) * - 1 t2new . bbbb += tmp72 * - 1 t2new . bbbb += np . transpose ( tmp73 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp73 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += tmp73 * - 1 t2new . bbbb += np . transpose ( tmp73 , ( 1 , 0 , 2 , 3 )) del tmp73 t2new . bbbb += np . transpose ( tmp72 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += tmp76 t2new . bbbb += np . transpose ( tmp76 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp76 t2new . bbbb += tmp78 t2new . bbbb += np . transpose ( tmp78 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp78 t2new . bbbb += np . transpose ( tmp80 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp80 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp72 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp72 t2new . bbbb += tmp71 * - 1 t2new . bbbb += np . transpose ( tmp71 , ( 1 , 0 , 2 , 3 )) del tmp71 t2new . bbbb += tmp80 * - 1 t2new . bbbb += np . transpose ( tmp80 , ( 1 , 0 , 2 , 3 )) del tmp80 t2new . abab = einsum ( f . bb . oo , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 1 t2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp46 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp46 t2new . abab += einsum ( f . aa . oo , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) t2new . abab += einsum ( tmp48 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) del tmp48 t2new . abab += einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp50 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp51 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp51 t2new . abab += einsum ( tmp31 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp31 t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), tmp53 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp53 t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), tmp16 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 t2new . abab += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) t2new . abab += tmp54 del tmp54 t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovoo , ( 2 , 3 , 4 , 0 ), ( 2 , 4 , 3 , 1 )) * - 1 t2new . abab += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 t2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp55 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp55 t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), tmp58 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp58 t2new . abab += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 t2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp59 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp59 t2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp60 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp60 t2new . aaaa = np . copy ( tmp24 ) t2new . aaaa += np . transpose ( tmp25 , ( 1 , 0 , 3 , 2 )) * 2 t2new . aaaa += np . transpose ( tmp24 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp24 t2new . aaaa += np . transpose ( tmp25 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp25 t2new . aaaa += einsum ( tmp27 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp27 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp28 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * 2 del tmp28 t2new . aaaa += np . transpose ( tmp30 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * 2 t2new . aaaa += np . transpose ( tmp35 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp30 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp32 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp32 t2new . aaaa += np . transpose ( tmp30 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp35 * - 1 t2new . aaaa += np . transpose ( tmp35 , ( 0 , 1 , 3 , 2 )) del tmp35 t2new . aaaa += tmp30 del tmp30 t2new . aaaa += np . transpose ( tmp36 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) t2new . aaaa += np . transpose ( tmp37 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += np . transpose ( tmp36 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 )) * - 1 t2new . aaaa += tmp37 * - 1 t2new . aaaa += np . transpose ( tmp38 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp38 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += tmp38 * - 1 t2new . aaaa += np . transpose ( tmp38 , ( 1 , 0 , 2 , 3 )) del tmp38 t2new . aaaa += np . transpose ( tmp37 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += tmp40 t2new . aaaa += np . transpose ( tmp40 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp40 t2new . aaaa += tmp43 t2new . aaaa += np . transpose ( tmp43 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp43 t2new . aaaa += np . transpose ( tmp45 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp45 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp37 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp37 t2new . aaaa += tmp36 * - 1 t2new . aaaa += np . transpose ( tmp36 , ( 1 , 0 , 2 , 3 )) del tmp36 t2new . aaaa += tmp45 * - 1 t2new . aaaa += np . transpose ( tmp45 , ( 1 , 0 , 2 , 3 )) del tmp45 t1new . bb = einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 del tmp16 t1new . bb += einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * 2 del tmp17 t1new . bb += f . bb . ov t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) t1new . bb += tmp10 del tmp10 t1new . bb += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) t1new . bb += einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), tmp18 , ( 0 , 4 , 3 , 1 ), ( 4 , 2 )) * - 1 del tmp18 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp19 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp19 t1new . bb += einsum ( tmp20 , ( 0 , 1 ), t1 . bb , ( 2 , 0 ), ( 2 , 1 )) del tmp20 t1new . bb += einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * 2 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * - 1 t1new . bb += einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 t1new . bb += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 2 ), ( 1 , 3 )) t1new . bb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp13 , ( 1 , 3 ), ( 0 , 2 )) * 2 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp22 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp22 t1new . aa = np . copy ( f . aa . ov ) t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 del tmp0 t1new . aa += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) t1new . aa += tmp1 del tmp1 t1new . aa += einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * 2 del tmp2 t1new . aa += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) del tmp3 t1new . aa += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 0 , 3 , 4 , 2 ), ( 1 , 4 )) * - 1 del tmp4 t1new . aa += einsum ( tmp8 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * - 2 del tmp8 t1new . aa += einsum ( tmp9 , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 2 , 1 )) del tmp9 t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 t1new . aa += einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 )) * - 1 t1new . aa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * 2 t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp13 , ( 1 , 3 ), ( 0 , 2 )) del tmp13 t1new . aa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp7 , ( 1 , 3 ), ( 0 , 2 )) * 2 del tmp7 t1new . aa += einsum ( t1 . aa , ( 0 , 1 ), tmp15 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp15 return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.update_lams","text":"Code generated by albert 0.0.0 on 2024-08-17T18:51:15.236533.","title":"update_lams"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.update_lams--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.update_lams--returns","text":"l1new : Namespace of arrays Updated L1 residuals. l2new : Namespace of arrays Updated L2 residuals. Source code in ebcc/codegen/UCC2.py 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 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-17T18:51:15.236533. 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 () tmp90 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp90 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp153 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp153 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp7 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp7 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp2 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp188 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp188 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp207 = np . copy ( v . bbbb . ovvv ) * - 1 tmp207 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) tmp176 = np . copy ( v . bbbb . ovvv ) tmp176 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 tmp89 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp91 = einsum ( t1 . bb , ( 0 , 1 ), tmp90 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp90 tmp154 = einsum ( t1 . aa , ( 0 , 1 ), tmp153 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) del tmp153 tmp6 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp145 = np . copy ( v . aaaa . ovvv ) * - 1 tmp145 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) tmp8 = einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 3 ), ( 1 , 2 )) del tmp7 tmp164 = np . copy ( v . aaaa . ovvv ) tmp164 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 tmp41 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) tmp42 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp40 = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 1 , 2 ), ( 2 , 0 )) tmp38 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp36 = einsum ( t1 . bb , ( 0 , 1 ), l2 . abab , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp87 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp14 = np . copy ( np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 ))) tmp14 += tmp2 tmp52 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp51 = einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 1 , 2 )) tmp53 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp0 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp47 = einsum ( t1 . aa , ( 0 , 1 ), l2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp189 = einsum ( t1 . bb , ( 0 , 1 ), tmp188 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp188 tmp208 = einsum ( t1 . bb , ( 0 , 1 ), tmp207 , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) del tmp207 tmp186 = einsum ( tmp176 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 2 ), ( 1 , 3 )) tmp130 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp109 = np . copy ( v . bbbb . ooov ) tmp109 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp92 = np . copy ( f . bb . ov ) tmp92 += tmp89 tmp92 += tmp91 * - 1 del tmp91 tmp118 = np . copy ( v . bbbb . ovvv ) tmp118 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 tmp178 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . vvov , ( 2 , 1 , 3 , 4 ), ( 0 , 3 , 2 , 4 )) tmp155 = np . copy ( f . aa . ov ) tmp155 += tmp6 tmp155 += tmp154 * - 1 del tmp154 tmp151 = np . copy ( v . aaaa . ooov ) tmp151 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp84 = np . copy ( v . aaaa . ovvv ) tmp84 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 tmp146 = einsum ( t1 . aa , ( 0 , 1 ), tmp145 , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) del tmp145 tmp10 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp59 = np . copy ( v . aaaa . ooov ) tmp59 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp9 = np . copy ( f . aa . ov ) tmp9 += tmp6 tmp9 += tmp8 * - 1 del tmp8 tmp165 = einsum ( tmp164 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 2 ), ( 1 , 3 )) del tmp164 tmp83 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp43 = np . copy ( tmp40 ) tmp43 += tmp41 del tmp41 tmp43 += tmp42 * 2 del tmp42 tmp115 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp116 = einsum ( t1 . bb , ( 0 , 1 ), tmp38 , ( 2 , 3 , 4 , 1 ), ( 3 , 2 , 4 , 0 )) tmp69 = einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp68 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 0 , 1 ), ( 2 , 4 , 3 , 5 )) tmp100 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp99 = einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp97 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp13 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp12 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp15 = einsum ( t1 . aa , ( 0 , 1 ), tmp14 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp93 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp4 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp54 = np . copy ( tmp51 ) * 0.5 tmp54 += tmp52 tmp54 += tmp53 * 0.5 tmp49 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 0 ), ( 2 , 4 , 3 , 1 )) tmp21 = einsum ( t1 . aa , ( 0 , 1 ), tmp0 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp22 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp65 = einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp64 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp190 = np . copy ( f . bb . ov ) tmp190 += tmp89 tmp190 += tmp189 * - 1 del tmp189 tmp108 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp212 = np . copy ( v . bbbb . ooov ) tmp212 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp209 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp209 += v . bbbb . oovv * - 1 tmp209 += np . transpose ( tmp208 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp208 tmp219 = np . copy ( f . bb . vv ) tmp219 += np . transpose ( tmp130 , ( 1 , 0 )) tmp219 += tmp186 * - 1 tmp203 = np . copy ( v . bbbb . ovvv ) * - 1 tmp203 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) tmp110 = einsum ( t1 . bb , ( 0 , 1 ), tmp109 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) del tmp109 tmp111 = einsum ( tmp92 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp131 = einsum ( tmp118 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 2 ), ( 1 , 3 )) tmp180 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp179 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp179 += tmp178 tmp196 = np . copy ( np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 ))) tmp196 += tmp87 tmp156 = einsum ( t1 . aa , ( 0 , 1 ), tmp155 , ( 2 , 1 ), ( 2 , 0 )) tmp152 = einsum ( tmp151 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 3 ), ( 1 , 2 )) del tmp151 tmp58 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp85 = einsum ( tmp84 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 2 ), ( 1 , 3 )) del tmp84 tmp143 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) tmp3 = np . copy ( np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 ))) tmp3 += np . transpose ( tmp2 , ( 0 , 2 , 1 , 3 )) tmp147 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp147 += v . aaaa . oovv * - 1 tmp147 += np . transpose ( tmp146 , ( 1 , 0 , 2 , 3 )) * - 1 tmp134 = np . copy ( np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 ))) tmp134 += tmp0 tmp149 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp149 += tmp10 tmp60 = einsum ( tmp59 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 3 ), ( 1 , 2 )) del tmp59 tmp61 = einsum ( t1 . aa , ( 0 , 1 ), tmp9 , ( 2 , 1 ), ( 0 , 2 )) tmp166 = np . copy ( f . aa . vv ) tmp166 += np . transpose ( tmp83 , ( 1 , 0 )) tmp166 += tmp165 * - 1 del tmp165 tmp29 = np . copy ( v . aaaa . ovvv ) * - 1 tmp29 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) tmp35 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) tmp39 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp38 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) tmp106 = einsum ( t1 . bb , ( 0 , 1 ), tmp43 , ( 0 , 2 ), ( 2 , 1 )) * 0.5 tmp37 = einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) tmp34 = einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) tmp123 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp36 , ( 0 , 4 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp125 = np . copy ( np . transpose ( tmp115 , ( 1 , 0 , 3 , 2 ))) tmp125 += np . transpose ( tmp116 , ( 0 , 1 , 3 , 2 )) * - 1 tmp124 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp38 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp70 = np . copy ( tmp68 ) tmp70 += tmp69 tmp96 = np . copy ( v . bbbb . ooov ) tmp96 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp96 += tmp87 * - 1 tmp96 += np . transpose ( tmp87 , ( 0 , 2 , 1 , 3 )) tmp101 = np . copy ( v . bbbb . oooo ) tmp101 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp101 += np . transpose ( tmp99 , ( 2 , 1 , 3 , 0 )) * - 1 tmp101 += np . transpose ( tmp100 , ( 2 , 0 , 3 , 1 )) * - 1 tmp101 += np . transpose ( tmp100 , ( 3 , 0 , 2 , 1 )) tmp98 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 ))) tmp98 += v . bbbb . oovv * - 1 tmp98 += np . transpose ( tmp97 , ( 0 , 1 , 3 , 2 )) tmp25 = einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp26 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp27 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp32 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp31 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 1 , 4 )) tmp30 = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 0 ), ( 2 , 1 )) tmp16 = np . copy ( v . aabb . oooo ) tmp16 += np . transpose ( tmp12 , ( 1 , 0 , 3 , 2 )) tmp16 += np . transpose ( tmp13 , ( 1 , 0 , 3 , 2 )) del tmp13 tmp16 += np . transpose ( tmp15 , ( 1 , 0 , 3 , 2 )) del tmp15 tmp94 = np . copy ( np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 ))) tmp94 += np . transpose ( tmp93 , ( 1 , 0 , 3 , 2 )) tmp5 = np . copy ( v . aabb . ooov ) tmp5 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) tmp88 = np . copy ( v . bbbb . ooov ) * - 1 tmp88 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) tmp88 += np . transpose ( tmp87 , ( 1 , 0 , 2 , 3 )) tmp88 += np . transpose ( tmp87 , ( 2 , 0 , 1 , 3 )) * - 1 tmp48 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp47 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) tmp55 = einsum ( tmp54 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * 2 tmp46 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) tmp45 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp50 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp49 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp77 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp76 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp47 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp23 = np . copy ( v . aaaa . oooo ) tmp23 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 5 , 2 ), ( 4 , 0 , 5 , 1 )) * - 1 tmp23 += np . transpose ( tmp21 , ( 3 , 1 , 2 , 0 )) tmp23 += np . transpose ( tmp22 , ( 2 , 1 , 3 , 0 )) tmp23 += np . transpose ( tmp22 , ( 3 , 2 , 1 , 0 )) * - 1 tmp18 = np . copy ( v . aaaa . ooov ) tmp18 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp18 += tmp0 * - 1 tmp18 += np . transpose ( tmp0 , ( 0 , 2 , 1 , 3 )) tmp20 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) tmp20 += v . aaaa . oovv * - 1 tmp20 += einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp19 = np . copy ( v . aabb . ooov ) tmp19 += tmp4 tmp11 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp11 += tmp10 del tmp10 tmp1 = np . copy ( v . aaaa . ooov ) * - 1 tmp1 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) tmp1 += np . transpose ( tmp0 , ( 1 , 0 , 2 , 3 )) tmp1 += np . transpose ( tmp0 , ( 2 , 0 , 1 , 3 )) * - 1 tmp78 = np . copy ( np . transpose ( tmp64 , ( 1 , 0 , 3 , 2 ))) tmp78 += np . transpose ( tmp65 , ( 0 , 1 , 3 , 2 )) * - 1 tmp218 = einsum ( tmp190 , ( 0 , 1 ), tmp38 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp213 = np . copy ( f . bb . oo ) tmp213 += np . transpose ( tmp108 , ( 1 , 0 )) tmp213 += einsum ( tmp212 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 )) * - 1 del tmp212 tmp213 += einsum ( t1 . bb , ( 0 , 1 ), tmp190 , ( 2 , 1 ), ( 0 , 2 )) tmp225 = einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), tmp87 , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 3 , 5 )) tmp210 = einsum ( tmp209 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 5 , 0 ), ( 1 , 5 , 2 , 4 )) del tmp209 tmp194 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp220 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp219 , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 1 del tmp219 tmp205 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp205 += tmp178 del tmp178 tmp204 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp204 += v . bbbb . oovv * - 1 tmp204 += einsum ( tmp203 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) * - 1 del tmp203 tmp199 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 1 , 0 , 4 , 5 ), ( 2 , 4 , 3 , 5 )) tmp198 = einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), v . bbbb . ovoo , ( 4 , 5 , 2 , 0 ), ( 1 , 4 , 3 , 5 )) * - 1 tmp183 = np . copy ( f . bb . oo ) tmp183 += np . transpose ( tmp108 , ( 1 , 0 )) tmp183 += tmp110 * - 1 tmp183 += tmp111 tmp217 = np . copy ( f . bb . vv ) tmp217 += np . transpose ( tmp130 , ( 1 , 0 )) tmp217 += tmp131 * - 1 tmp221 = einsum ( tmp100 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) del tmp100 tmp223 = np . copy ( v . bbbb . ooov ) tmp223 += np . transpose ( tmp87 , ( 0 , 2 , 1 , 3 )) tmp226 = einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 tmp201 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) tmp216 = einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 2 , 4 , 5 , 3 ), ( 1 , 0 , 4 , 5 )) tmp181 = np . copy ( f . bb . ov ) tmp181 += tmp89 tmp181 += tmp180 tmp200 = einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), tmp87 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 tmp215 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . vvvv , ( 4 , 0 , 5 , 1 ), ( 2 , 3 , 4 , 5 )) tmp214 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp116 , ( 4 , 5 , 2 , 0 ), ( 4 , 5 , 3 , 1 )) tmp202 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), tmp49 , ( 0 , 1 , 4 , 5 ), ( 4 , 2 , 5 , 3 )) tmp195 = np . copy ( v . bbbb . ooov ) tmp195 += np . transpose ( tmp87 , ( 0 , 2 , 1 , 3 )) tmp211 = einsum ( tmp179 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 5 ), ( 1 , 5 , 3 , 4 )) tmp224 = einsum ( tmp40 , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp206 = np . copy ( f . bb . ov ) tmp206 += tmp89 del tmp89 tmp206 += tmp180 del tmp180 tmp222 = np . copy ( v . bbbb . oooo ) tmp222 += np . transpose ( tmp99 , ( 0 , 2 , 3 , 1 )) del tmp99 tmp197 = einsum ( tmp196 , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 0 ), ( 1 , 2 , 3 , 4 )) del tmp196 tmp177 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 ))) tmp177 += v . bbbb . oovv * - 1 tmp177 += einsum ( tmp176 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 4 , 0 , 3 , 2 )) * - 1 del tmp176 tmp182 = np . copy ( np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 ))) tmp182 += np . transpose ( tmp93 , ( 0 , 1 , 3 , 2 )) del tmp93 tmp157 = np . copy ( f . aa . oo ) tmp157 += np . transpose ( tmp58 , ( 1 , 0 )) tmp157 += tmp152 * - 1 del tmp152 tmp157 += np . transpose ( tmp156 , ( 1 , 0 )) del tmp156 tmp86 = np . copy ( f . aa . vv ) tmp86 += np . transpose ( tmp83 , ( 1 , 0 )) tmp86 += np . transpose ( tmp85 , ( 1 , 0 )) * - 1 tmp185 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp171 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 1 ), ( 0 , 3 )) tmp193 = np . copy ( v . aabb . oovv ) tmp193 += einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp187 = np . copy ( f . bb . vv ) tmp187 += np . transpose ( tmp130 , ( 1 , 0 )) tmp187 += np . transpose ( tmp186 , ( 1 , 0 )) * - 1 del tmp186 tmp158 = np . copy ( f . aa . ov ) tmp158 += tmp143 tmp158 += tmp6 tmp184 = einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 1 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 2 )) tmp191 = np . copy ( v . aabb . ooov ) tmp191 += tmp4 tmp192 = np . copy ( v . aabb . oooo ) tmp192 += np . transpose ( tmp12 , ( 1 , 0 , 2 , 3 )) del tmp12 tmp192 += einsum ( t1 . aa , ( 0 , 1 ), tmp3 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp175 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) tmp175 += v . aaaa . oovv * - 1 tmp175 += np . transpose ( tmp146 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp146 tmp138 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), tmp36 , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp168 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) del tmp22 tmp148 = einsum ( tmp147 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 5 , 0 ), ( 1 , 5 , 2 , 4 )) del tmp147 tmp135 = einsum ( tmp134 , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 4 , 0 ), ( 1 , 2 , 3 , 4 )) del tmp134 tmp169 = np . copy ( v . aaaa . oooo ) tmp169 += np . transpose ( tmp21 , ( 0 , 3 , 1 , 2 )) * - 1 del tmp21 tmp136 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), tmp47 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) * - 1 tmp133 = np . copy ( v . aaaa . ooov ) tmp133 += np . transpose ( tmp0 , ( 0 , 2 , 1 , 3 )) tmp137 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) tmp144 = np . copy ( f . aa . ov ) tmp144 += tmp143 del tmp143 tmp144 += tmp6 del tmp6 tmp140 = einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovoo , ( 4 , 5 , 2 , 0 ), ( 1 , 4 , 3 , 5 )) * - 1 tmp170 = np . copy ( v . aaaa . ooov ) tmp170 += np . transpose ( tmp0 , ( 0 , 2 , 1 , 3 )) tmp174 = einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 tmp139 = einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 4 , 5 , 2 , 1 ), ( 0 , 4 , 3 , 5 )) tmp150 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp149 , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) tmp142 = np . copy ( f . aa . oo ) tmp142 += np . transpose ( tmp58 , ( 1 , 0 )) tmp142 += tmp60 * - 1 tmp142 += tmp61 tmp172 = einsum ( tmp51 , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp162 = np . copy ( f . aa . vv ) tmp162 += np . transpose ( tmp83 , ( 1 , 0 )) del tmp83 tmp162 += tmp85 * - 1 del tmp85 tmp160 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp65 , ( 4 , 5 , 2 , 0 ), ( 4 , 5 , 3 , 1 )) tmp159 = einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 3 , 1 , 4 , 5 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp173 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), tmp47 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp167 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp166 , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 1 del tmp166 tmp163 = einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), tmp155 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp161 = einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 2 , 4 , 5 , 3 ), ( 1 , 0 , 4 , 5 )) tmp141 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp141 += v . aaaa . oovv * - 1 tmp141 += einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) * - 1 tmp129 = np . copy ( t1 . bb ) * - 0.5 tmp129 += tmp34 * - 0.5 tmp129 += tmp35 * - 1 tmp129 += tmp37 * 0.5 tmp129 += tmp39 tmp129 += tmp106 tmp126 = np . copy ( np . transpose ( tmp38 , ( 1 , 0 , 2 , 3 ))) * - 2 tmp126 += np . transpose ( tmp123 , ( 2 , 0 , 1 , 3 )) tmp126 += np . transpose ( tmp124 , ( 2 , 0 , 1 , 3 )) * 4 tmp126 += einsum ( tmp125 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 3 , 1 , 2 , 4 )) * 2 del tmp125 tmp120 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 4 ), ( 0 , 4 , 1 , 2 )) * 0.5 tmp120 += tmp36 * 0.5 tmp120 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp36 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp120 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp49 , ( 0 , 4 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) * - 0.5 tmp120 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp38 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * - 1 tmp120 += einsum ( t1 . aa , ( 0 , 1 ), tmp70 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 0.5 tmp127 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) * 2 tmp127 += np . transpose ( tmp123 , ( 0 , 2 , 1 , 3 )) del tmp123 tmp127 += np . transpose ( tmp124 , ( 0 , 2 , 1 , 3 )) * 4 del tmp124 tmp132 = np . copy ( f . bb . vv ) tmp132 += np . transpose ( tmp130 , ( 1 , 0 )) del tmp130 tmp132 += np . transpose ( tmp131 , ( 1 , 0 )) * - 1 del tmp131 tmp102 = np . copy ( v . bbbb . ooov ) * - 1 tmp102 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 4 , 3 , 5 , 2 ), ( 4 , 0 , 1 , 5 )) tmp102 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp96 , ( 4 , 5 , 1 , 3 ), ( 5 , 0 , 4 , 2 )) * 2 del tmp96 tmp102 += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 3 , 5 ), ( 2 , 4 , 1 , 5 )) tmp102 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp92 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp102 += einsum ( tmp98 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 1 , 0 , 4 , 2 )) del tmp98 tmp102 += einsum ( t1 . bb , ( 0 , 1 ), tmp101 , ( 0 , 2 , 3 , 4 ), ( 3 , 4 , 2 , 1 )) del tmp101 tmp105 = np . copy ( tmp25 ) tmp105 += tmp26 * 2 tmp105 += tmp27 tmp121 = np . copy ( np . transpose ( l2 . bbbb , ( 2 , 3 , 0 , 1 ))) * - 1 tmp121 += einsum ( t1 . bb , ( 0 , 1 ), tmp38 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp117 = np . copy ( np . transpose ( l2 . abab , ( 2 , 3 , 0 , 1 ))) tmp117 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 3 , 4 , 1 , 5 ), ( 0 , 5 , 2 , 4 )) * 2 tmp117 += einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 1 tmp117 += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) * 2 tmp103 = np . copy ( tmp30 ) * 0.5 tmp103 += tmp31 * 0.5 tmp103 += tmp32 tmp95 = np . copy ( np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 ))) tmp95 += tmp2 tmp95 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) tmp95 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp88 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) del tmp88 tmp95 += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 2 , 1 , 5 )) * 2 tmp95 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp5 , ( 0 , 4 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) * - 1 tmp95 += einsum ( tmp92 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp95 += einsum ( t1 . aa , ( 0 , 1 ), tmp94 , ( 2 , 3 , 1 , 4 ), ( 0 , 3 , 2 , 4 )) del tmp94 tmp95 += einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) * - 1 tmp56 = np . copy ( np . transpose ( l1 . aa , ( 1 , 0 ))) * - 1 tmp56 += t1 . aa * - 1 tmp56 += tmp45 * - 2 tmp56 += tmp46 * - 1 tmp56 += tmp48 * 2 tmp56 += tmp50 tmp56 += tmp55 tmp113 = einsum ( v . bbbb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp112 = np . copy ( f . bb . oo ) tmp112 += np . transpose ( tmp108 , ( 1 , 0 )) del tmp108 tmp112 += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp112 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) * 2 tmp112 += tmp110 * - 1 del tmp110 tmp112 += tmp111 del tmp111 tmp119 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 5 ), ( 3 , 4 , 1 , 5 )) tmp119 += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) * 4 tmp114 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . vvvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp107 = np . copy ( np . transpose ( l1 . bb , ( 1 , 0 ))) * - 0.5 tmp107 += t1 . bb * - 0.5 tmp107 += tmp34 * - 0.5 tmp107 += tmp35 * - 1 tmp107 += tmp37 * 0.5 tmp107 += tmp39 tmp107 += tmp106 del tmp106 tmp104 = np . copy ( v . bbbb . ovvv ) tmp104 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 3 , 1 )) * - 1 tmp122 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 5 , 1 ), ( 3 , 4 , 0 , 5 )) tmp122 += einsum ( t1 . aa , ( 0 , 1 ), tmp36 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp128 = np . copy ( tmp68 ) tmp128 += np . transpose ( tmp69 , ( 1 , 0 , 2 , 3 )) tmp44 = np . copy ( np . transpose ( l1 . bb , ( 1 , 0 ))) * - 1 tmp44 += t1 . bb * - 1 tmp44 += tmp34 * - 1 del tmp34 tmp44 += tmp35 * - 2 del tmp35 tmp44 += tmp37 del tmp37 tmp44 += tmp39 * 2 del tmp39 tmp44 += einsum ( t1 . bb , ( 0 , 1 ), tmp43 , ( 0 , 2 ), ( 2 , 1 )) tmp63 = einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp73 = np . copy ( v . aaaa . ovvv ) tmp73 += einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) * - 1 tmp33 = np . copy ( tmp30 ) del tmp30 tmp33 += tmp31 del tmp31 tmp33 += tmp32 * 2 del tmp32 tmp67 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp67 += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) * 0.25 tmp28 = np . copy ( tmp25 ) * 0.5 del tmp25 tmp28 += tmp26 del tmp26 tmp28 += tmp27 * 0.5 del tmp27 tmp81 = np . copy ( tmp68 ) del tmp68 tmp81 += np . transpose ( tmp69 , ( 0 , 1 , 3 , 2 )) del tmp69 tmp80 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp80 += np . transpose ( tmp76 , ( 0 , 2 , 1 , 3 )) * 2 tmp80 += np . transpose ( tmp77 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp24 = np . copy ( np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 ))) * 0.5 tmp24 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) * - 0.5 tmp24 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 5 , 1 , 3 ), ( 5 , 0 , 4 , 2 )) del tmp18 tmp24 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 5 , 1 , 3 ), ( 5 , 0 , 4 , 2 )) * 0.5 del tmp19 tmp24 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp9 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) * 0.5 tmp24 += einsum ( t1 . aa , ( 0 , 1 ), tmp20 , ( 2 , 3 , 4 , 1 ), ( 3 , 2 , 0 , 4 )) * 0.5 del tmp20 tmp24 += einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) * - 0.5 del tmp23 tmp74 = einsum ( t1 . aa , ( 0 , 1 ), tmp47 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp66 = np . copy ( np . transpose ( l2 . abab , ( 2 , 3 , 0 , 1 ))) tmp66 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 5 , 1 , 4 , 3 )) * 2 tmp66 += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) * 2 tmp66 += einsum ( t1 . bb , ( 0 , 1 ), tmp36 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp82 = np . copy ( t1 . aa ) * - 1 tmp82 += tmp45 * - 2 del tmp45 tmp82 += tmp46 * - 1 del tmp46 tmp82 += tmp48 * 2 del tmp48 tmp82 += tmp50 del tmp50 tmp82 += tmp55 del tmp55 tmp57 = np . copy ( tmp51 ) tmp57 += tmp52 * 2 del tmp52 tmp57 += tmp53 del tmp53 tmp17 = np . copy ( v . aabb . ooov ) tmp17 += einsum ( v . aabb . oovv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp17 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp17 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp1 , ( 0 , 4 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) del tmp1 tmp17 += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) * - 1 del tmp3 tmp17 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp5 , ( 4 , 5 , 1 , 3 ), ( 5 , 4 , 0 , 2 )) * 2 del tmp5 tmp17 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp9 , ( 4 , 2 ), ( 0 , 4 , 1 , 3 )) tmp17 += einsum ( t1 . aa , ( 0 , 1 ), tmp11 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp17 += einsum ( t1 . bb , ( 0 , 1 ), tmp16 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 del tmp16 tmp79 = np . copy ( np . transpose ( tmp47 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp79 += np . transpose ( tmp76 , ( 2 , 0 , 1 , 3 )) * 2 del tmp76 tmp79 += np . transpose ( tmp77 , ( 2 , 0 , 1 , 3 )) * 0.5 del tmp77 tmp79 += einsum ( t1 . aa , ( 0 , 1 ), tmp78 , ( 0 , 2 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) del tmp78 tmp72 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 5 ), ( 2 , 4 , 1 , 5 )) tmp72 += einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp62 = np . copy ( f . aa . oo ) tmp62 += np . transpose ( tmp58 , ( 1 , 0 )) del tmp58 tmp62 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) * 2 tmp62 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp62 += tmp60 * - 1 del tmp60 tmp62 += tmp61 del tmp61 tmp75 = np . copy ( v . aaaa . ovvv ) * - 1 tmp75 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 3 , 1 )) tmp71 = einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 1 , 2 , 3 , 4 )) tmp71 += tmp49 tmp71 += einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) * - 2 tmp71 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp49 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) * 2 tmp71 += einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 tmp71 += einsum ( t1 . bb , ( 0 , 1 ), tmp70 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp70 l2new . bbbb = np . copy ( np . transpose ( v . bbbb . ovov , ( 1 , 3 , 0 , 2 ))) l2new . bbbb += einsum ( tmp195 , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 0 ), ( 3 , 4 , 2 , 1 )) * - 1 del tmp195 l2new . bbbb += np . transpose ( v . bbbb . ovov , ( 3 , 1 , 0 , 2 )) * - 1 l2new . bbbb += np . transpose ( tmp197 , ( 3 , 2 , 0 , 1 )) l2new . bbbb += np . transpose ( tmp198 , ( 3 , 2 , 0 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp199 , ( 3 , 2 , 0 , 1 )) l2new . bbbb += np . transpose ( tmp200 , ( 3 , 2 , 0 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp201 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp202 , ( 3 , 2 , 0 , 1 )) l2new . bbbb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp204 , ( 3 , 4 , 5 , 1 ), ( 5 , 0 , 2 , 4 )) * - 2 del tmp204 l2new . bbbb += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp205 , ( 2 , 4 , 0 , 5 ), ( 5 , 1 , 3 , 4 )) * - 1 del tmp205 l2new . bbbb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp183 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 l2new . bbbb += einsum ( tmp206 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * - 1 del tmp206 l2new . bbbb += np . transpose ( tmp198 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . bbbb += np . transpose ( tmp199 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp200 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . bbbb += np . transpose ( tmp201 , ( 2 , 3 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp202 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp210 , ( 2 , 3 , 0 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp211 , ( 2 , 3 , 0 , 1 )) l2new . bbbb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp213 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * 2 del tmp213 l2new . bbbb += einsum ( tmp181 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) l2new . bbbb += np . transpose ( tmp198 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp199 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp200 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp201 , ( 3 , 2 , 0 , 1 )) l2new . bbbb += np . transpose ( tmp202 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp210 , ( 3 , 2 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp211 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += einsum ( tmp181 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) l2new . bbbb += np . transpose ( tmp198 , ( 2 , 3 , 1 , 0 )) * 2 del tmp198 l2new . bbbb += np . transpose ( tmp199 , ( 2 , 3 , 1 , 0 )) del tmp199 l2new . bbbb += np . transpose ( tmp200 , ( 2 , 3 , 1 , 0 )) * 2 del tmp200 l2new . bbbb += np . transpose ( tmp201 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp201 l2new . bbbb += np . transpose ( tmp202 , ( 2 , 3 , 1 , 0 )) del tmp202 l2new . bbbb += np . transpose ( tmp210 , ( 3 , 2 , 0 , 1 )) * - 2 del tmp210 l2new . bbbb += np . transpose ( tmp211 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp211 l2new . bbbb += einsum ( tmp181 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * - 1 l2new . bbbb += np . transpose ( tmp214 , ( 3 , 2 , 1 , 0 )) * 2 del tmp214 l2new . bbbb += np . transpose ( tmp215 , ( 3 , 2 , 1 , 0 )) * 2 del tmp215 l2new . bbbb += np . transpose ( tmp216 , ( 2 , 3 , 1 , 0 )) * 2 l2new . bbbb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp217 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 1 del tmp217 l2new . bbbb += np . transpose ( tmp218 , ( 2 , 3 , 1 , 0 )) * - 2 l2new . bbbb += np . transpose ( tmp220 , ( 2 , 3 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp216 , ( 3 , 2 , 1 , 0 )) * - 2 del tmp216 l2new . bbbb += np . transpose ( tmp220 , ( 3 , 2 , 1 , 0 )) * 2 del tmp220 l2new . bbbb += np . transpose ( tmp218 , ( 3 , 2 , 1 , 0 )) * 2 del tmp218 l2new . bbbb += np . transpose ( tmp221 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp221 , ( 2 , 3 , 1 , 0 )) * 2 del tmp221 l2new . bbbb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp222 , ( 2 , 4 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) * - 2 del tmp222 l2new . bbbb += einsum ( tmp223 , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 0 ), ( 3 , 4 , 1 , 2 )) del tmp223 l2new . bbbb += np . transpose ( tmp197 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp197 l2new . bbbb += einsum ( tmp194 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) l2new . bbbb += np . transpose ( tmp224 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp225 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp226 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp224 , ( 2 , 3 , 0 , 1 )) l2new . bbbb += einsum ( tmp194 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp225 , ( 2 , 3 , 0 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp226 , ( 2 , 3 , 0 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp224 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += einsum ( tmp194 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 l2new . bbbb += np . transpose ( tmp225 , ( 3 , 2 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp226 , ( 3 , 2 , 1 , 0 )) * 2 l2new . bbbb += einsum ( tmp194 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) l2new . bbbb += np . transpose ( tmp224 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp224 l2new . bbbb += np . transpose ( tmp225 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp225 l2new . bbbb += np . transpose ( tmp226 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp226 l2new . abab = np . copy ( np . transpose ( v . aabb . ovov , ( 1 , 3 , 0 , 2 ))) l2new . abab += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 1 ), ( 3 , 4 , 0 , 2 )) * - 1 l2new . abab += einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 1 , 2 , 5 ), ( 5 , 3 , 4 , 0 )) * - 2 del tmp2 l2new . abab += einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 4 , 5 , 2 , 1 ), ( 5 , 3 , 4 , 0 )) * - 2 l2new . abab += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 4 ), ( 1 , 2 , 0 , 4 )) l2new . abab += einsum ( v . aaaa . ovoo , ( 0 , 1 , 2 , 3 ), tmp49 , ( 3 , 2 , 4 , 5 ), ( 1 , 5 , 0 , 4 )) * - 1 l2new . abab += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), tmp49 , ( 0 , 2 , 4 , 5 ), ( 3 , 5 , 1 , 4 )) * - 1 l2new . abab += einsum ( tmp175 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 5 ), ( 3 , 4 , 1 , 5 )) del tmp175 l2new . abab += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp149 , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) * 2 del tmp149 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp157 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 l2new . abab += einsum ( tmp158 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) l2new . abab += einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), tmp36 , ( 4 , 0 , 2 , 5 ), ( 5 , 3 , 4 , 1 )) * - 1 l2new . abab += einsum ( v . bbbb . ovoo , ( 0 , 1 , 2 , 3 ), tmp36 , ( 4 , 3 , 2 , 5 ), ( 5 , 1 , 4 , 0 )) * - 1 l2new . abab += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), tmp47 , ( 4 , 1 , 0 , 5 ), ( 5 , 3 , 4 , 2 )) * - 2 l2new . abab += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), tmp47 , ( 4 , 0 , 1 , 5 ), ( 5 , 3 , 4 , 2 )) * - 2 del tmp4 l2new . abab += einsum ( l1 . aa , ( 0 , 1 ), v . aabb . vvov , ( 2 , 0 , 3 , 4 ), ( 2 , 4 , 1 , 3 )) l2new . abab += einsum ( tmp177 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 2 , 5 , 0 ), ( 4 , 3 , 5 , 1 )) del tmp177 l2new . abab += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp179 , ( 3 , 4 , 1 , 5 ), ( 0 , 5 , 2 , 4 )) * 2 del tmp179 l2new . abab += einsum ( l1 . aa , ( 0 , 1 ), tmp181 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) del tmp181 l2new . abab += einsum ( tmp182 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 5 , 0 ), ( 3 , 4 , 5 , 1 )) * - 1 del tmp182 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp183 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 1 del tmp183 l2new . abab += einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 1 , 4 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 l2new . abab += np . transpose ( tmp184 , ( 2 , 3 , 0 , 1 )) del tmp184 l2new . abab += np . transpose ( tmp185 , ( 2 , 3 , 0 , 1 )) del tmp185 l2new . abab += einsum ( tmp86 , ( 0 , 1 ), l2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) l2new . abab += einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), tmp155 , ( 1 , 4 ), ( 4 , 3 , 0 , 2 )) * - 1 del tmp155 l2new . abab += einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 3 , 2 , 5 ), ( 4 , 5 , 0 , 1 )) * - 1 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp187 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) del tmp187 l2new . abab += einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), tmp190 , ( 2 , 4 ), ( 3 , 4 , 0 , 1 )) * - 1 del tmp190 l2new . abab += einsum ( l1 . aa , ( 0 , 1 ), tmp191 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 l2new . abab += einsum ( tmp192 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) del tmp192 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp193 , ( 2 , 4 , 1 , 5 ), ( 0 , 5 , 4 , 3 )) * - 1 del tmp193 l2new . abab += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp51 , ( 4 , 0 ), ( 1 , 3 , 4 , 2 )) * - 1 del tmp51 l2new . abab += einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 1 , 2 , 4 , 5 ), ( 5 , 3 , 0 , 4 )) del tmp14 l2new . abab += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp40 , ( 4 , 2 ), ( 1 , 3 , 0 , 4 )) * - 1 del tmp40 l2new . abab += einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), tmp191 , ( 0 , 4 , 2 , 5 ), ( 3 , 5 , 4 , 1 )) del tmp191 l2new . abab += einsum ( tmp171 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 l2new . abab += einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), tmp49 , ( 1 , 2 , 4 , 5 ), ( 3 , 5 , 0 , 4 )) l2new . abab += einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 0 , 1 , 4 , 5 ), ( 5 , 3 , 4 , 2 )) del tmp0 l2new . abab += einsum ( tmp194 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 del tmp194 l2new . abab += einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), tmp36 , ( 4 , 1 , 2 , 5 ), ( 5 , 3 , 4 , 0 )) l2new . abab += einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), tmp87 , ( 1 , 2 , 4 , 5 ), ( 3 , 5 , 0 , 4 )) del tmp87 l2new . aaaa = np . copy ( np . transpose ( v . aaaa . ovov , ( 1 , 3 , 0 , 2 ))) l2new . aaaa += einsum ( tmp133 , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 4 , 0 ), ( 3 , 4 , 2 , 1 )) * - 1 del tmp133 l2new . aaaa += np . transpose ( v . aaaa . ovov , ( 3 , 1 , 0 , 2 )) * - 1 l2new . aaaa += np . transpose ( tmp135 , ( 3 , 2 , 0 , 1 )) l2new . aaaa += np . transpose ( tmp136 , ( 3 , 2 , 0 , 1 )) * 2 l2new . aaaa += np . transpose ( tmp137 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp138 , ( 3 , 2 , 0 , 1 )) l2new . aaaa += np . transpose ( tmp139 , ( 3 , 2 , 0 , 1 )) l2new . aaaa += np . transpose ( tmp140 , ( 3 , 2 , 0 , 1 )) * 2 l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp141 , ( 3 , 4 , 5 , 1 ), ( 5 , 0 , 2 , 4 )) * - 2 del tmp141 l2new . aaaa += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 5 , 0 )) * - 1 del tmp11 l2new . aaaa += einsum ( tmp142 , ( 0 , 1 ), l2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp142 l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp144 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * - 1 del tmp144 l2new . aaaa += np . transpose ( tmp136 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . aaaa += np . transpose ( tmp137 , ( 2 , 3 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp138 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp139 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp140 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . aaaa += np . transpose ( tmp148 , ( 2 , 3 , 0 , 1 )) * 2 l2new . aaaa += np . transpose ( tmp150 , ( 2 , 3 , 0 , 1 )) l2new . aaaa += einsum ( tmp157 , ( 0 , 1 ), l2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp157 l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp158 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) l2new . aaaa += np . transpose ( tmp136 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp137 , ( 3 , 2 , 0 , 1 )) l2new . aaaa += np . transpose ( tmp138 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp139 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp140 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp148 , ( 3 , 2 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp150 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp158 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) l2new . aaaa += np . transpose ( tmp136 , ( 2 , 3 , 1 , 0 )) * 2 del tmp136 l2new . aaaa += np . transpose ( tmp137 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp137 l2new . aaaa += np . transpose ( tmp138 , ( 2 , 3 , 1 , 0 )) del tmp138 l2new . aaaa += np . transpose ( tmp139 , ( 2 , 3 , 1 , 0 )) del tmp139 l2new . aaaa += np . transpose ( tmp140 , ( 2 , 3 , 1 , 0 )) * 2 del tmp140 l2new . aaaa += np . transpose ( tmp148 , ( 3 , 2 , 0 , 1 )) * - 2 del tmp148 l2new . aaaa += np . transpose ( tmp150 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp150 l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp158 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * - 1 del tmp158 l2new . aaaa += np . transpose ( tmp159 , ( 3 , 2 , 1 , 0 )) * 2 del tmp159 l2new . aaaa += np . transpose ( tmp160 , ( 3 , 2 , 1 , 0 )) * 2 del tmp160 l2new . aaaa += np . transpose ( tmp161 , ( 2 , 3 , 1 , 0 )) * 2 l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp162 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 1 del tmp162 l2new . aaaa += np . transpose ( tmp163 , ( 2 , 3 , 1 , 0 )) * - 2 l2new . aaaa += np . transpose ( tmp167 , ( 2 , 3 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp161 , ( 3 , 2 , 1 , 0 )) * - 2 del tmp161 l2new . aaaa += np . transpose ( tmp167 , ( 3 , 2 , 1 , 0 )) * 2 del tmp167 l2new . aaaa += np . transpose ( tmp163 , ( 3 , 2 , 1 , 0 )) * 2 del tmp163 l2new . aaaa += np . transpose ( tmp168 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp168 , ( 2 , 3 , 1 , 0 )) * 2 del tmp168 l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp169 , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) * 2 del tmp169 l2new . aaaa += einsum ( tmp170 , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 4 , 0 ), ( 3 , 4 , 1 , 2 )) del tmp170 l2new . aaaa += np . transpose ( tmp135 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp135 l2new . aaaa += einsum ( tmp171 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) l2new . aaaa += np . transpose ( tmp172 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp173 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp174 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp172 , ( 2 , 3 , 0 , 1 )) l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp171 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 l2new . aaaa += np . transpose ( tmp173 , ( 2 , 3 , 0 , 1 )) * 2 l2new . aaaa += np . transpose ( tmp174 , ( 2 , 3 , 0 , 1 )) * 2 l2new . aaaa += np . transpose ( tmp172 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp171 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp173 , ( 3 , 2 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp174 , ( 3 , 2 , 1 , 0 )) * 2 l2new . aaaa += einsum ( tmp171 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) del tmp171 l2new . aaaa += np . transpose ( tmp172 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp172 l2new . aaaa += np . transpose ( tmp173 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp173 l2new . aaaa += np . transpose ( tmp174 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp174 l1new . bb = np . copy ( np . transpose ( f . bb . ov , ( 1 , 0 ))) l1new . bb += einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 2 , 0 )) * - 1 l1new . bb += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp95 , ( 2 , 3 , 4 , 0 ), ( 1 , 4 )) * - 1 del tmp95 l1new . bb += einsum ( tmp102 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 1 , 2 ), ( 4 , 0 )) * 2 del tmp102 l1new . bb += einsum ( tmp103 , ( 0 , 1 ), tmp104 , ( 2 , 1 , 0 , 3 ), ( 3 , 2 )) * - 2 del tmp103 , tmp104 l1new . bb += einsum ( tmp105 , ( 0 , 1 ), v . aabb . vvov , ( 1 , 0 , 2 , 3 ), ( 3 , 2 )) del tmp105 l1new . bb += einsum ( tmp56 , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 3 , 2 )) * - 1 l1new . bb += einsum ( tmp107 , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 3 , 2 )) * - 2 del tmp107 l1new . bb += einsum ( tmp54 , ( 0 , 1 ), v . aabb . ooov , ( 1 , 0 , 2 , 3 ), ( 3 , 2 )) * - 2 del tmp54 l1new . bb += einsum ( v . bbbb . ovoo , ( 0 , 1 , 2 , 3 ), tmp43 , ( 2 , 3 ), ( 1 , 0 )) * - 1 l1new . bb += einsum ( l1 . bb , ( 0 , 1 ), tmp112 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp112 l1new . bb += einsum ( v . aabb . oovv , ( 0 , 1 , 2 , 3 ), tmp49 , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) * - 1 del tmp49 l1new . bb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp113 , ( 3 , 4 , 0 , 1 ), ( 4 , 2 )) * 2 del tmp113 l1new . bb += einsum ( tmp97 , ( 0 , 1 , 2 , 3 ), tmp38 , ( 4 , 0 , 1 , 3 ), ( 2 , 4 )) * 2 del tmp97 l1new . bb += einsum ( tmp114 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 1 , 3 , 0 , 4 ), ( 2 , 4 )) del tmp114 l1new . bb += einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), tmp38 , ( 4 , 1 , 0 , 3 ), ( 2 , 4 )) * - 2 del tmp38 l1new . bb += einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), tmp115 , ( 4 , 0 , 2 , 1 ), ( 3 , 4 )) * 2 del tmp115 l1new . bb += einsum ( tmp116 , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 2 , 1 , 3 , 4 ), ( 4 , 0 )) * - 2 del tmp116 l1new . bb += einsum ( tmp117 , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) del tmp117 l1new . bb += einsum ( tmp118 , ( 0 , 1 , 2 , 3 ), tmp119 , ( 4 , 0 , 3 , 2 ), ( 1 , 4 )) * - 1 del tmp118 , tmp119 l1new . bb += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp120 , ( 0 , 4 , 2 , 1 ), ( 3 , 4 )) * - 2 del tmp120 l1new . bb += einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), tmp121 , ( 4 , 0 , 3 , 1 ), ( 2 , 4 )) * - 2 del tmp121 l1new . bb += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), tmp122 , ( 4 , 2 , 1 , 0 ), ( 3 , 4 )) * - 1 del tmp122 l1new . bb += einsum ( tmp126 , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 3 , 2 , 4 ), ( 4 , 1 )) * - 1 del tmp126 l1new . bb += einsum ( tmp127 , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 1 , 4 , 2 , 3 ), ( 4 , 0 )) del tmp127 l1new . bb += einsum ( tmp128 , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 0 , 1 , 3 , 4 ), ( 4 , 2 )) del tmp128 l1new . bb += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp129 , ( 2 , 1 ), ( 3 , 0 )) * 2 del tmp129 l1new . bb += einsum ( tmp43 , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 0 , 1 , 3 ), ( 3 , 2 )) l1new . bb += einsum ( tmp132 , ( 0 , 1 ), l1 . bb , ( 0 , 2 ), ( 1 , 2 )) del tmp132 l1new . bb += einsum ( tmp92 , ( 0 , 1 ), tmp43 , ( 2 , 0 ), ( 1 , 2 )) * - 1 del tmp92 l1new . aa = np . copy ( np . transpose ( f . aa . ov , ( 1 , 0 ))) l1new . aa += einsum ( l1 . aa , ( 0 , 1 ), v . aaaa . oovv , ( 2 , 1 , 3 , 0 ), ( 3 , 2 )) * - 1 l1new . aa += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp17 , ( 2 , 4 , 3 , 1 ), ( 0 , 4 )) * - 1 del tmp17 l1new . aa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp24 , ( 4 , 2 , 3 , 1 ), ( 0 , 4 )) * 4 del tmp24 l1new . aa += einsum ( tmp28 , ( 0 , 1 ), tmp29 , ( 2 , 3 , 1 , 0 ), ( 3 , 2 )) * - 2 del tmp28 l1new . aa += einsum ( tmp33 , ( 0 , 1 ), v . aabb . ovvv , ( 2 , 3 , 1 , 0 ), ( 3 , 2 )) del tmp33 l1new . aa += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp44 , ( 2 , 3 ), ( 1 , 0 )) * - 1 del tmp44 l1new . aa += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp56 , ( 2 , 3 ), ( 1 , 0 )) * - 1 del tmp56 l1new . aa += einsum ( tmp57 , ( 0 , 1 ), v . aaaa . ovoo , ( 2 , 3 , 1 , 0 ), ( 3 , 2 )) * - 1 l1new . aa += einsum ( tmp43 , ( 0 , 1 ), v . aabb . ovoo , ( 2 , 3 , 1 , 0 ), ( 3 , 2 )) * - 1 del tmp43 l1new . aa += einsum ( l1 . aa , ( 0 , 1 ), tmp62 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp62 l1new . aa += einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 0 ), ( 1 , 4 )) del tmp63 l1new . aa += einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), tmp64 , ( 4 , 0 , 2 , 1 ), ( 3 , 4 )) * 2 del tmp64 l1new . aa += einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), tmp65 , ( 4 , 1 , 0 , 2 ), ( 3 , 4 )) * - 2 del tmp65 l1new . aa += einsum ( v . aabb . vvoo , ( 0 , 1 , 2 , 3 ), tmp36 , ( 4 , 3 , 2 , 1 ), ( 0 , 4 )) * - 1 del tmp36 l1new . aa += einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), v . aaaa . oovv , ( 2 , 1 , 4 , 3 ), ( 4 , 0 )) * - 2 del tmp47 l1new . aa += einsum ( tmp66 , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) del tmp66 l1new . aa += einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), tmp67 , ( 4 , 0 , 3 , 2 ), ( 1 , 4 )) * 4 del tmp29 , tmp67 l1new . aa += einsum ( tmp71 , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 1 , 4 , 2 , 3 ), ( 4 , 0 )) * - 1 del tmp71 l1new . aa += einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 1 , 4 , 3 , 2 ), ( 4 , 0 )) * - 1 del tmp72 l1new . aa += einsum ( tmp73 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 1 , 2 , 4 , 0 ), ( 3 , 4 )) * - 2 del tmp73 l1new . aa += einsum ( tmp74 , ( 0 , 1 , 2 , 3 ), tmp75 , ( 1 , 4 , 2 , 3 ), ( 4 , 0 )) * - 2 del tmp74 , tmp75 l1new . aa += einsum ( tmp79 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 3 , 2 , 4 ), ( 4 , 1 )) * - 2 del tmp79 l1new . aa += einsum ( tmp80 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 1 , 4 , 2 , 3 ), ( 4 , 0 )) * 2 del tmp80 l1new . aa += einsum ( tmp81 , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 1 , 4 , 3 , 2 ), ( 4 , 0 )) del tmp81 l1new . aa += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp82 , ( 2 , 1 ), ( 3 , 0 )) del tmp82 l1new . aa += einsum ( tmp57 , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 0 , 1 , 3 ), ( 3 , 2 )) l1new . aa += einsum ( l1 . aa , ( 0 , 1 ), tmp86 , ( 0 , 2 ), ( 2 , 1 )) del tmp86 l1new . aa += einsum ( tmp57 , ( 0 , 1 ), tmp9 , ( 1 , 2 ), ( 2 , 0 )) * - 1 del tmp9 , tmp57 return { f \"l1new\" : l1new , f \"l2new\" : l2new }","title":"Returns"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.make_rdm1_f","text":"Code generated by albert 0.0.0 on 2024-08-17T18:51:17.130250.","title":"make_rdm1_f"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.make_rdm1_f--parameters","text":"l1 : Namespace of arrays L1 amplitudes. l2 : Namespace of arrays L2 amplitudes. t1 : Namespace of arrays T1 amplitudes. t2 : Namespace of arrays T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.make_rdm1_f--returns","text":"rdm1 : Namespace of arrays One-particle reduced density matrix. Source code in ebcc/codegen/UCC2.py 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 def make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:51:17.130250. 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 )) tmp4 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp3 = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 1 , 2 ), ( 2 , 0 )) tmp2 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp0 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp1 = einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 1 , 2 )) tmp9 = einsum ( t1 . bb , ( 0 , 1 ), l2 . abab , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp11 = np . copy ( tmp3 ) * 0.5 tmp11 += tmp5 * 0.5 tmp11 += tmp4 tmp10 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp6 = einsum ( t1 . aa , ( 0 , 1 ), l2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp7 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 0 ), ( 2 , 4 , 3 , 1 )) tmp8 = np . copy ( tmp1 ) tmp8 += tmp2 * 2 tmp8 += tmp0 rdm1 . bb . vv = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 0 ), ( 2 , 1 )) rdm1 . bb . vv += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 1 , 4 )) rdm1 . bb . vv += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * 2 rdm1 . aa . vv = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * 2 rdm1 . aa . vv += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) rdm1 . aa . vv += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) rdm1 . bb . vo = np . copy ( l1 . bb ) rdm1 . aa . vo = np . copy ( l1 . aa ) rdm1 . bb . ov = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) * 2 rdm1 . bb . ov += einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) rdm1 . bb . ov += t1 . bb rdm1 . bb . ov += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) * - 1 del tmp9 rdm1 . bb . ov += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) * - 2 del tmp10 rdm1 . bb . ov += einsum ( t1 . bb , ( 0 , 1 ), tmp11 , ( 0 , 2 ), ( 2 , 1 )) * - 2 del tmp11 rdm1 . aa . ov = np . copy ( t1 . aa ) rdm1 . aa . ov += einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) * 2 rdm1 . aa . ov += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) rdm1 . aa . ov += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) * - 2 del tmp6 rdm1 . aa . ov += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) * - 1 del tmp7 rdm1 . aa . ov += einsum ( tmp8 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp8 rdm1 . bb . oo = np . copy ( np . transpose ( tmp3 , ( 1 , 0 ))) * - 1 del tmp3 rdm1 . bb . oo += delta . bb . oo rdm1 . bb . oo += np . transpose ( tmp4 , ( 1 , 0 )) * - 2 del tmp4 rdm1 . bb . oo += np . transpose ( tmp5 , ( 1 , 0 )) * - 1 del tmp5 rdm1 . aa . oo = np . copy ( np . transpose ( tmp0 , ( 1 , 0 ))) * - 1 del tmp0 rdm1 . aa . oo += np . transpose ( tmp1 , ( 1 , 0 )) * - 1 del tmp1 rdm1 . aa . oo += delta . aa . oo del delta rdm1 . aa . oo += np . transpose ( tmp2 , ( 1 , 0 )) * - 2 del tmp2 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","title":"Returns"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.make_rdm2_f","text":"Code generated by albert 0.0.0 on 2024-08-17T18:51:54.110008.","title":"make_rdm2_f"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.make_rdm2_f--parameters","text":"l1 : Namespace of arrays L1 amplitudes. l2 : Namespace of arrays L2 amplitudes. t1 : Namespace of arrays T1 amplitudes. t2 : Namespace of arrays T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.make_rdm2_f--returns","text":"rdm2 : Namespace of arrays Two-particle reduced density matrix. Source code in ebcc/codegen/UCC2.py 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 def make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:51:54.110008. 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 ])), ) tmp9 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) tmp10 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp8 = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 1 , 2 ), ( 2 , 0 )) tmp17 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp13 = einsum ( t1 . bb , ( 0 , 1 ), l2 . abab , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp6 = einsum ( t1 . aa , ( 0 , 1 ), l2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp25 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 0 ), ( 2 , 4 , 3 , 1 )) tmp2 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp0 = einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 1 , 2 )) tmp1 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp94 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 5 ), ( 3 , 4 , 1 , 5 )) tmp90 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp66 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp83 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp40 = np . copy ( tmp8 ) tmp40 += tmp9 tmp40 += tmp10 * 2 tmp52 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp53 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp13 , ( 0 , 4 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp16 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp18 = einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp14 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp12 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 0 , 1 ), ( 2 , 4 , 3 , 5 )) tmp63 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp62 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp5 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp31 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp30 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) * - 1 tmp27 = np . copy ( tmp0 ) * 0.5 tmp27 += tmp1 tmp27 += tmp2 * 0.5 tmp109 = einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp80 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp107 = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 0 ), ( 2 , 1 )) tmp79 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 1 , 4 )) tmp123 = np . copy ( tmp94 ) tmp123 += tmp90 * 4 tmp104 = einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp92 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 5 , 1 , 4 , 3 )) tmp112 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp106 = einsum ( t1 . aa , ( 0 , 1 ), tmp6 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp84 = np . copy ( tmp66 ) * 4 tmp84 += tmp83 tmp70 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 3 , 4 , 1 , 5 ), ( 0 , 5 , 2 , 4 )) tmp68 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) tmp35 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) tmp34 = einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) tmp38 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) tmp39 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) tmp41 = einsum ( t1 . bb , ( 0 , 1 ), tmp40 , ( 0 , 2 ), ( 2 , 1 )) tmp50 = einsum ( t1 . bb , ( 0 , 1 ), tmp40 , ( 0 , 2 ), ( 2 , 1 )) * 0.5 tmp102 = np . copy ( tmp53 ) tmp102 += tmp52 * 4 tmp54 = np . copy ( np . transpose ( tmp16 , ( 1 , 0 , 3 , 2 ))) tmp54 += np . transpose ( tmp18 , ( 0 , 1 , 3 , 2 )) * - 1 tmp49 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) tmp26 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp25 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp24 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) tmp45 = np . copy ( tmp12 ) tmp45 += tmp14 tmp59 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) tmp58 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * - 1 tmp20 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) tmp19 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp44 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp25 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp43 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) * - 1 tmp64 = np . copy ( tmp62 ) * 2 tmp64 += tmp63 tmp32 = np . copy ( np . transpose ( tmp5 , ( 1 , 0 , 3 , 2 ))) tmp32 += np . transpose ( tmp7 , ( 0 , 1 , 3 , 2 )) * - 1 tmp23 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp77 = np . copy ( tmp30 ) * 4 tmp77 += tmp31 tmp28 = einsum ( tmp27 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * 2 tmp130 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) tmp132 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) tmp129 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) tmp131 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) tmp128 = einsum ( t1 . aa , ( 0 , 1 ), l2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 4 , 2 , 3 , 1 )) tmp126 = einsum ( tmp109 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 tmp120 = einsum ( l1 . bb , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) tmp108 = np . copy ( tmp107 ) tmp108 += tmp79 tmp108 += tmp80 * 2 tmp125 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 0 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) * - 1 tmp124 = einsum ( t1 . bb , ( 0 , 1 ), tmp123 , ( 0 , 2 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) del tmp123 tmp105 = np . copy ( tmp104 ) tmp105 += tmp62 * 2 tmp105 += tmp63 tmp114 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 5 , 1 ), ( 3 , 4 , 0 , 5 )) tmp127 = np . copy ( tmp92 ) tmp127 += tmp112 tmp113 = einsum ( t1 . bb , ( 0 , 1 ), tmp13 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp115 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) tmp119 = einsum ( t1 . aa , ( 0 , 1 ), tmp106 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp117 = einsum ( tmp84 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 4 , 2 , 3 )) tmp118 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 0 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) * - 1 tmp122 = np . copy ( tmp94 ) * 0.25 tmp122 += tmp90 tmp121 = np . copy ( tmp107 ) * 0.5 del tmp107 tmp121 += tmp79 * 0.5 tmp121 += tmp80 tmp111 = einsum ( t1 . aa , ( 0 , 1 ), tmp25 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp82 = np . copy ( tmp70 ) tmp82 += tmp68 tmp86 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 5 ), ( 2 , 4 , 1 , 5 )) tmp116 = np . copy ( tmp66 ) * 4 tmp116 += tmp83 tmp110 = np . copy ( tmp104 ) * 0.5 del tmp104 tmp110 += tmp62 tmp110 += tmp63 * 0.5 tmp93 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp92 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) tmp36 = np . copy ( t1 . bb ) tmp36 += tmp34 tmp36 += tmp35 * 2 tmp42 = np . copy ( tmp38 ) tmp42 += tmp39 * 2 tmp42 += tmp41 del tmp41 tmp95 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp94 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) tmp51 = np . copy ( tmp38 ) * 0.5 del tmp38 tmp51 += tmp39 del tmp39 tmp51 += tmp50 del tmp50 tmp103 = einsum ( t1 . bb , ( 0 , 1 ), tmp102 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp102 tmp100 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp54 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) tmp97 = einsum ( t1 . bb , ( 0 , 1 ), tmp49 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp61 = np . copy ( t1 . bb ) * 0.5 tmp61 += tmp34 * 0.5 tmp61 += tmp35 tmp91 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp90 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) tmp81 = np . copy ( tmp79 ) tmp81 += tmp80 * 2 tmp96 = np . copy ( tmp34 ) tmp96 += tmp35 * 2 tmp99 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp40 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 tmp98 = np . copy ( tmp79 ) * 0.5 del tmp79 tmp98 += tmp80 del tmp80 tmp101 = einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) tmp87 = np . copy ( tmp24 ) tmp87 += tmp26 * 0.5 tmp87 += einsum ( tmp27 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp15 = np . copy ( tmp8 ) * 0.5 tmp15 += tmp9 * 0.5 tmp15 += tmp10 tmp60 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp25 , ( 0 , 4 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp46 = einsum ( t1 . bb , ( 0 , 1 ), tmp45 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp4 = np . copy ( tmp0 ) tmp4 += tmp1 * 2 tmp4 += tmp2 tmp47 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp89 = np . copy ( tmp59 ) tmp89 += tmp58 tmp57 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 4 ), ( 0 , 4 , 1 , 2 )) tmp37 = einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 1 , 2 , 3 , 4 )) tmp72 = np . copy ( tmp19 ) * 2 tmp72 += tmp20 tmp85 = np . copy ( tmp62 ) del tmp62 tmp85 += tmp63 * 0.5 del tmp63 tmp88 = np . copy ( tmp43 ) tmp88 += tmp44 tmp65 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp64 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * - 2 del tmp64 tmp76 = einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) tmp73 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) tmp69 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp68 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp67 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp66 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp78 = einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp77 tmp74 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp27 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) * - 2 tmp56 = np . copy ( t1 . aa ) tmp56 += tmp19 * 2 tmp56 += tmp20 tmp75 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp32 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) tmp71 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp70 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp29 = np . copy ( tmp24 ) * 2 del tmp24 tmp29 += tmp26 del tmp26 tmp29 += tmp28 del tmp28 tmp22 = np . copy ( t1 . aa ) tmp22 += tmp19 * 2 tmp22 += tmp20 tmp55 = einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) * 2 del tmp54 tmp33 = einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) * 2 del tmp32 tmp48 = np . copy ( t1 . bb ) tmp48 += tmp34 del tmp34 tmp48 += tmp35 * 2 del tmp35 tmp21 = np . copy ( t1 . aa ) * 0.5 tmp21 += tmp19 del tmp19 tmp21 += tmp20 * 0.5 del tmp20 tmp11 = np . copy ( delta . bb . oo ) * - 1 tmp11 += tmp8 del tmp8 tmp11 += tmp9 del tmp9 tmp11 += tmp10 * 2 del tmp10 tmp3 = np . copy ( delta . aa . oo ) * - 0.5 tmp3 += tmp0 * 0.5 del tmp0 tmp3 += tmp1 del tmp1 tmp3 += tmp2 * 0.5 del tmp2 rdm2 . bbbb . vvvv = np . copy ( np . transpose ( tmp132 , ( 1 , 0 , 3 , 2 ))) * 2 del tmp132 rdm2 . bbbb . vvvv += einsum ( tmp130 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * 2 rdm2 . abab . vvvv = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) rdm2 . abab . vvvv += einsum ( t1 . aa , ( 0 , 1 ), tmp129 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) rdm2 . aaaa . vvvv = np . copy ( np . transpose ( tmp131 , ( 1 , 0 , 3 , 2 ))) * 2 del tmp131 rdm2 . aaaa . vvvv += einsum ( tmp128 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * 2 rdm2 . bbbb . vvvo = np . copy ( np . transpose ( tmp130 , ( 2 , 1 , 3 , 0 ))) * 2 rdm2 . abab . vvvo = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) rdm2 . aaaa . vvvo = np . copy ( np . transpose ( tmp128 , ( 2 , 1 , 3 , 0 ))) * 2 rdm2 . bbbb . vvov = np . copy ( np . transpose ( tmp130 , ( 2 , 1 , 0 , 3 ))) * - 2 del tmp130 rdm2 . abab . vvov = np . copy ( np . transpose ( tmp129 , ( 1 , 2 , 0 , 3 ))) del tmp129 rdm2 . aaaa . vvov = np . copy ( np . transpose ( tmp128 , ( 2 , 1 , 0 , 3 ))) * - 2 del tmp128 rdm2 . bbbb . vovv = np . copy ( np . transpose ( tmp120 , ( 1 , 0 , 3 , 2 ))) * 2 rdm2 . bbbb . vovv += einsum ( tmp108 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . vovv += einsum ( tmp108 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . vovv += np . transpose ( tmp124 , ( 2 , 0 , 1 , 3 )) rdm2 . bbbb . vovv += np . transpose ( tmp124 , ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . bbbb . vovv += np . transpose ( tmp125 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . bbbb . vovv += np . transpose ( tmp126 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . abab . vovv = einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) rdm2 . abab . vovv += einsum ( tmp105 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . vovv += einsum ( t1 . aa , ( 0 , 1 ), tmp127 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 1 , 4 )) * 2 del tmp127 rdm2 . abab . vovv += einsum ( t1 . bb , ( 0 , 1 ), tmp114 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 rdm2 . abab . vovv += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 4 , 5 ), ( 3 , 2 , 4 , 5 )) * - 1 rdm2 . abab . vovv += einsum ( tmp113 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 1 , 4 , 3 )) * - 1 rdm2 . aaaa . vovv = np . copy ( np . transpose ( tmp115 , ( 1 , 0 , 3 , 2 ))) * 2 rdm2 . aaaa . vovv += einsum ( t1 . aa , ( 0 , 1 ), tmp105 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . vovv += einsum ( tmp105 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . vovv += np . transpose ( tmp117 , ( 2 , 0 , 1 , 3 )) rdm2 . aaaa . vovv += np . transpose ( tmp117 , ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . vovv += np . transpose ( tmp118 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . aaaa . vovv += np . transpose ( tmp119 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . bbbb . ovvv = np . copy ( np . transpose ( tmp120 , ( 0 , 1 , 3 , 2 ))) * - 2 del tmp120 rdm2 . bbbb . ovvv += einsum ( tmp108 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . ovvv += einsum ( tmp121 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 del tmp121 rdm2 . bbbb . ovvv += einsum ( t1 . bb , ( 0 , 1 ), tmp122 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 4 del tmp122 rdm2 . bbbb . ovvv += np . transpose ( tmp124 , ( 0 , 2 , 3 , 1 )) del tmp124 rdm2 . bbbb . ovvv += np . transpose ( tmp125 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp125 rdm2 . bbbb . ovvv += np . transpose ( tmp126 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp126 rdm2 . abab . ovvv = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) rdm2 . abab . ovvv += einsum ( t1 . aa , ( 0 , 1 ), tmp108 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . ovvv += einsum ( tmp86 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 1 rdm2 . abab . ovvv += einsum ( tmp82 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 3 , 2 , 4 )) * 2 rdm2 . abab . ovvv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp25 , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) * - 1 rdm2 . abab . ovvv += einsum ( t1 . bb , ( 0 , 1 ), tmp111 , ( 2 , 0 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 1 rdm2 . aaaa . ovvv = np . copy ( np . transpose ( tmp115 , ( 0 , 1 , 3 , 2 ))) * - 2 del tmp115 rdm2 . aaaa . ovvv += einsum ( t1 . aa , ( 0 , 1 ), tmp105 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . ovvv += einsum ( tmp105 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . ovvv += einsum ( tmp116 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 1 del tmp116 rdm2 . aaaa . ovvv += np . transpose ( tmp117 , ( 0 , 2 , 3 , 1 )) del tmp117 rdm2 . aaaa . ovvv += np . transpose ( tmp118 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp118 rdm2 . aaaa . ovvv += np . transpose ( tmp119 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp119 rdm2 . bbbb . vvoo = np . copy ( l2 . bbbb ) * 2 rdm2 . abab . vvoo = np . copy ( l2 . abab ) rdm2 . aaaa . vvoo = np . copy ( l2 . aaaa ) * 2 rdm2 . bbbb . vovo = einsum ( tmp108 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . vovo += np . transpose ( tmp90 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . bbbb . vovo += np . transpose ( tmp94 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . vovo += einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . vovo += np . transpose ( tmp109 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . abab . vovo = einsum ( tmp105 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . vovo += np . transpose ( tmp114 , ( 2 , 1 , 3 , 0 )) * - 1 del tmp114 rdm2 . abab . vovo += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 rdm2 . aaaa . vovo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp110 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . aaaa . vovo += np . transpose ( tmp66 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . aaaa . vovo += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . vovo += np . transpose ( tmp83 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . aaaa . vovo += np . transpose ( tmp106 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . bbbb . voov = einsum ( tmp108 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . voov += np . transpose ( tmp90 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . bbbb . voov += np . transpose ( tmp94 , ( 2 , 1 , 0 , 3 )) rdm2 . bbbb . voov += einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . voov += np . transpose ( tmp109 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . abab . voov = np . copy ( np . transpose ( tmp112 , ( 2 , 1 , 0 , 3 ))) * 2 del tmp112 rdm2 . abab . voov += einsum ( l1 . aa , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . voov += np . transpose ( tmp92 , ( 2 , 1 , 0 , 3 )) * 2 del tmp92 rdm2 . abab . voov += np . transpose ( tmp113 , ( 2 , 1 , 0 , 3 )) * - 1 del tmp113 rdm2 . aaaa . voov = einsum ( tmp105 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . voov += np . transpose ( tmp66 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . aaaa . voov += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . voov += np . transpose ( tmp83 , ( 2 , 1 , 0 , 3 )) rdm2 . aaaa . voov += np . transpose ( tmp106 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . bbbb . ovvo = einsum ( tmp108 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . ovvo += np . transpose ( tmp90 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . bbbb . ovvo += np . transpose ( tmp94 , ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . ovvo += einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . ovvo += np . transpose ( tmp109 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . abab . ovvo = np . copy ( np . transpose ( tmp68 , ( 0 , 3 , 2 , 1 ))) * 2 del tmp68 rdm2 . abab . ovvo += einsum ( t1 . aa , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . ovvo += np . transpose ( tmp70 , ( 0 , 3 , 2 , 1 )) * 2 del tmp70 rdm2 . abab . ovvo += np . transpose ( tmp111 , ( 0 , 3 , 2 , 1 )) * - 1 del tmp111 rdm2 . aaaa . ovvo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp110 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 del tmp110 rdm2 . aaaa . ovvo += np . transpose ( tmp66 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . aaaa . ovvo += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . ovvo += np . transpose ( tmp83 , ( 1 , 2 , 3 , 0 )) rdm2 . aaaa . ovvo += np . transpose ( tmp106 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . bbbb . ovov = einsum ( tmp108 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . ovov += np . transpose ( tmp90 , ( 1 , 2 , 0 , 3 )) * - 4 del tmp90 rdm2 . bbbb . ovov += np . transpose ( tmp94 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp94 rdm2 . bbbb . ovov += einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . ovov += np . transpose ( tmp109 , ( 1 , 2 , 0 , 3 )) * 2 del tmp109 rdm2 . abab . ovov = einsum ( tmp108 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp108 rdm2 . abab . ovov += np . transpose ( tmp86 , ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . abab . ovov += einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 1 , 3 , 0 , 4 )) * - 1 rdm2 . aaaa . ovov = einsum ( tmp105 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp105 rdm2 . aaaa . ovov += np . transpose ( tmp66 , ( 1 , 2 , 0 , 3 )) * - 4 del tmp66 rdm2 . aaaa . ovov += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . ovov += np . transpose ( tmp83 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp83 rdm2 . aaaa . ovov += np . transpose ( tmp106 , ( 1 , 2 , 0 , 3 )) * 2 del tmp106 rdm2 . bbbb . oovv = np . copy ( t2 . bbbb ) * 2 rdm2 . bbbb . oovv += einsum ( tmp81 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp91 , ( 0 , 1 , 3 , 2 )) * - 8 rdm2 . bbbb . oovv += np . transpose ( tmp93 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp95 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp95 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp61 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . bbbb . oovv += tmp91 * 8 del tmp91 rdm2 . bbbb . oovv += np . transpose ( tmp93 , ( 1 , 0 , 3 , 2 )) * 2 del tmp93 rdm2 . bbbb . oovv += tmp95 * 2 rdm2 . bbbb . oovv += np . transpose ( tmp95 , ( 1 , 0 , 3 , 2 )) * 2 del tmp95 rdm2 . bbbb . oovv += einsum ( tmp36 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp96 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . oovv += einsum ( tmp96 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 del tmp96 rdm2 . bbbb . oovv += tmp97 * 2 rdm2 . bbbb . oovv += einsum ( tmp98 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * 4 del tmp98 rdm2 . bbbb . oovv += np . transpose ( tmp97 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp97 rdm2 . bbbb . oovv += np . transpose ( tmp99 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += einsum ( tmp42 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . bbbb . oovv += einsum ( tmp51 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 rdm2 . bbbb . oovv += np . transpose ( tmp99 , ( 1 , 0 , 3 , 2 )) * 2 del tmp99 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp51 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp100 , ( 1 , 0 , 3 , 2 )) * 2 del tmp100 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp101 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp101 rdm2 . bbbb . oovv += np . transpose ( tmp103 , ( 1 , 0 , 2 , 3 )) rdm2 . bbbb . oovv += tmp103 * - 1 rdm2 . bbbb . oovv += np . transpose ( tmp103 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . bbbb . oovv += np . transpose ( tmp103 , ( 0 , 1 , 3 , 2 )) del tmp103 rdm2 . abab . oovv = np . copy ( t2 . abab ) rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp81 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 1 del tmp81 rdm2 . abab . oovv += einsum ( tmp82 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 4 del tmp82 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp84 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp84 rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp36 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . oovv += einsum ( tmp72 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . oovv += einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 1 rdm2 . abab . oovv += einsum ( tmp85 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp85 rdm2 . abab . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp57 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp15 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 2 rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 rdm2 . abab . oovv += einsum ( tmp4 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 rdm2 . abab . oovv += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 4 , 5 )) rdm2 . abab . oovv += einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp86 , ( 0 , 4 , 3 , 5 ), ( 4 , 1 , 2 , 5 )) del tmp86 rdm2 . abab . oovv += einsum ( tmp87 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 del tmp87 rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp47 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp88 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp88 rdm2 . abab . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp89 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp89 rdm2 . abab . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp60 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) rdm2 . aaaa . oovv = np . copy ( t2 . aaaa ) * 2 rdm2 . aaaa . oovv += np . transpose ( tmp65 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . aaaa . oovv += np . transpose ( tmp67 , ( 0 , 1 , 3 , 2 )) * - 8 rdm2 . aaaa . oovv += np . transpose ( tmp69 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += np . transpose ( tmp71 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += np . transpose ( tmp71 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . aaaa . oovv += einsum ( tmp56 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . oovv += tmp67 * 8 del tmp67 rdm2 . aaaa . oovv += tmp69 * 2 del tmp69 rdm2 . aaaa . oovv += tmp71 * 2 rdm2 . aaaa . oovv += np . transpose ( tmp71 , ( 1 , 0 , 3 , 2 )) * 2 del tmp71 rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp22 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . oovv += einsum ( tmp72 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . oovv += einsum ( tmp72 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 del tmp72 rdm2 . aaaa . oovv += tmp73 * 2 rdm2 . aaaa . oovv += np . transpose ( tmp65 , ( 1 , 0 , 2 , 3 )) del tmp65 rdm2 . aaaa . oovv += np . transpose ( tmp73 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp73 rdm2 . aaaa . oovv += np . transpose ( tmp74 , ( 1 , 0 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp29 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp29 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) rdm2 . aaaa . oovv += np . transpose ( tmp74 , ( 0 , 1 , 3 , 2 )) * 2 del tmp74 rdm2 . aaaa . oovv += einsum ( tmp29 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp29 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . oovv += np . transpose ( tmp75 , ( 1 , 0 , 3 , 2 )) * 2 del tmp75 rdm2 . aaaa . oovv += einsum ( tmp76 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * 2 del tmp76 rdm2 . aaaa . oovv += np . transpose ( tmp78 , ( 1 , 0 , 2 , 3 )) rdm2 . aaaa . oovv += tmp78 * - 1 rdm2 . aaaa . oovv += np . transpose ( tmp78 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . aaaa . oovv += np . transpose ( tmp78 , ( 0 , 1 , 3 , 2 )) del tmp78 rdm2 . bbbb . vooo = einsum ( delta . bb . oo , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . vooo += einsum ( delta . bb . oo , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . vooo += np . transpose ( tmp17 , ( 3 , 2 , 1 , 0 )) * 2 rdm2 . abab . vooo = einsum ( l1 . aa , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . vooo += np . transpose ( tmp13 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp13 rdm2 . aaaa . vooo = einsum ( delta . aa . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . vooo += einsum ( delta . aa . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . vooo += np . transpose ( tmp6 , ( 3 , 2 , 1 , 0 )) * 2 rdm2 . bbbb . ovoo = einsum ( delta . bb . oo , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . ovoo += einsum ( delta . bb . oo , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . ovoo += np . transpose ( tmp17 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp17 rdm2 . abab . ovoo = einsum ( delta . aa . oo , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . ovoo += np . transpose ( tmp25 , ( 1 , 3 , 0 , 2 )) * - 1 del tmp25 rdm2 . aaaa . ovoo = einsum ( delta . aa . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . ovoo += einsum ( delta . aa . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . ovoo += np . transpose ( tmp6 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp6 rdm2 . bbbb . oovo = einsum ( tmp61 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 del tmp61 rdm2 . bbbb . oovo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp36 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . oovo += np . transpose ( tmp49 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . bbbb . oovo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . bbbb . oovo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp51 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 2 rdm2 . bbbb . oovo += np . transpose ( tmp52 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . bbbb . oovo += np . transpose ( tmp53 , ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . oovo += einsum ( t1 . bb , ( 0 , 1 ), tmp15 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * 2 rdm2 . bbbb . oovo += np . transpose ( tmp52 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . bbbb . oovo += np . transpose ( tmp53 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . oovo += einsum ( t1 . bb , ( 0 , 1 ), tmp15 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 2 rdm2 . bbbb . oovo += np . transpose ( tmp55 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . abab . oovo = einsum ( tmp56 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . oovo += np . transpose ( tmp57 , ( 0 , 2 , 3 , 1 )) * - 1 del tmp57 rdm2 . abab . oovo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp29 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . abab . oovo += np . transpose ( tmp58 , ( 0 , 2 , 3 , 1 )) * - 2 del tmp58 rdm2 . abab . oovo += np . transpose ( tmp59 , ( 0 , 2 , 3 , 1 )) * - 2 del tmp59 rdm2 . abab . oovo += einsum ( t1 . aa , ( 0 , 1 ), tmp40 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . abab . oovo += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 3 , 4 , 2 )) del tmp45 rdm2 . abab . oovo += np . transpose ( tmp60 , ( 0 , 2 , 3 , 1 )) del tmp60 rdm2 . aaaa . oovo = einsum ( tmp56 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) del tmp56 rdm2 . aaaa . oovo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp22 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . oovo += np . transpose ( tmp23 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . aaaa . oovo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp29 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . oovo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp29 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) rdm2 . aaaa . oovo += np . transpose ( tmp31 , ( 1 , 2 , 3 , 0 )) rdm2 . aaaa . oovo += np . transpose ( tmp30 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . aaaa . oovo += einsum ( tmp4 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) rdm2 . aaaa . oovo += np . transpose ( tmp30 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . aaaa . oovo += np . transpose ( tmp31 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . aaaa . oovo += einsum ( t1 . aa , ( 0 , 1 ), tmp27 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 2 del tmp27 rdm2 . aaaa . oovo += np . transpose ( tmp33 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . ooov = einsum ( delta . bb . oo , ( 0 , 1 ), tmp48 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 del tmp48 rdm2 . bbbb . ooov += einsum ( delta . bb . oo , ( 0 , 1 ), tmp36 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . ooov += np . transpose ( tmp49 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp49 rdm2 . bbbb . ooov += einsum ( delta . bb . oo , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . bbbb . ooov += einsum ( delta . bb . oo , ( 0 , 1 ), tmp51 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 del tmp51 rdm2 . bbbb . ooov += np . transpose ( tmp52 , ( 1 , 2 , 0 , 3 )) * - 4 rdm2 . bbbb . ooov += np . transpose ( tmp53 , ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . bbbb . ooov += einsum ( t1 . bb , ( 0 , 1 ), tmp40 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . bbbb . ooov += np . transpose ( tmp52 , ( 2 , 1 , 0 , 3 )) * 4 del tmp52 rdm2 . bbbb . ooov += np . transpose ( tmp53 , ( 2 , 1 , 0 , 3 )) del tmp53 rdm2 . bbbb . ooov += einsum ( t1 . bb , ( 0 , 1 ), tmp40 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) del tmp40 rdm2 . bbbb . ooov += np . transpose ( tmp55 , ( 2 , 1 , 0 , 3 )) del tmp55 rdm2 . abab . ooov = einsum ( delta . aa . oo , ( 0 , 1 ), tmp36 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) del tmp36 rdm2 . abab . ooov += np . transpose ( tmp37 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp37 rdm2 . abab . ooov += einsum ( tmp42 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 del tmp42 rdm2 . abab . ooov += np . transpose ( tmp43 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp43 rdm2 . abab . ooov += np . transpose ( tmp44 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp44 rdm2 . abab . ooov += einsum ( tmp4 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . abab . ooov += np . transpose ( tmp46 , ( 1 , 2 , 0 , 3 )) del tmp46 rdm2 . abab . ooov += np . transpose ( tmp47 , ( 1 , 2 , 0 , 3 )) del tmp47 rdm2 . aaaa . ooov = einsum ( delta . aa . oo , ( 0 , 1 ), tmp21 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 del tmp21 rdm2 . aaaa . ooov += einsum ( delta . aa . oo , ( 0 , 1 ), tmp22 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) del tmp22 rdm2 . aaaa . ooov += np . transpose ( tmp23 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp23 rdm2 . aaaa . ooov += einsum ( delta . aa . oo , ( 0 , 1 ), tmp29 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . aaaa . ooov += einsum ( delta . aa . oo , ( 0 , 1 ), tmp29 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 del tmp29 rdm2 . aaaa . ooov += np . transpose ( tmp30 , ( 1 , 2 , 0 , 3 )) * - 4 rdm2 . aaaa . ooov += np . transpose ( tmp31 , ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . aaaa . ooov += einsum ( tmp4 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . aaaa . ooov += np . transpose ( tmp31 , ( 2 , 1 , 0 , 3 )) del tmp31 rdm2 . aaaa . ooov += np . transpose ( tmp30 , ( 2 , 1 , 0 , 3 )) * 4 del tmp30 rdm2 . aaaa . ooov += einsum ( t1 . aa , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) rdm2 . aaaa . ooov += np . transpose ( tmp33 , ( 2 , 1 , 0 , 3 )) del tmp33 rdm2 . bbbb . oooo = einsum ( delta . bb . oo , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . bbbb . oooo += einsum ( tmp11 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . oooo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp15 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 2 rdm2 . bbbb . oooo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp15 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * 2 del tmp15 rdm2 . bbbb . oooo += np . transpose ( tmp16 , ( 3 , 2 , 1 , 0 )) * 2 del tmp16 rdm2 . bbbb . oooo += np . transpose ( tmp18 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp18 rdm2 . abab . oooo = einsum ( tmp11 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 del tmp11 rdm2 . abab . oooo += einsum ( tmp4 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . abab . oooo += np . transpose ( tmp12 , ( 1 , 3 , 0 , 2 )) del tmp12 rdm2 . abab . oooo += np . transpose ( tmp14 , ( 1 , 3 , 0 , 2 )) del tmp14 rdm2 . aaaa . oooo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 2 rdm2 . aaaa . oooo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * 2 del tmp3 rdm2 . aaaa . oooo += einsum ( tmp4 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . aaaa . oooo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) del delta , tmp4 rdm2 . aaaa . oooo += np . transpose ( tmp5 , ( 3 , 2 , 1 , 0 )) * 2 del tmp5 rdm2 . aaaa . oooo += np . transpose ( tmp7 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp7 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","title":"Returns"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.hbar_matvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:52:35.145902.","title":"hbar_matvec_ip_intermediates"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.hbar_matvec_ip_intermediates--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.hbar_matvec_ip_intermediates--returns","text":"tmp1 : array tmp102 : array tmp104 : array tmp107 : array tmp108 : array tmp109 : array tmp11 : array tmp117 : array tmp118 : array tmp12 : array tmp121 : array tmp13 : array tmp131 : array tmp134 : array tmp135 : array tmp137 : array tmp138 : array tmp139 : array tmp141 : array tmp143 : array tmp145 : array tmp147 : array tmp149 : array tmp15 : array tmp151 : array tmp152 : array tmp154 : array tmp155 : array tmp156 : array tmp157 : array tmp158 : array tmp16 : array tmp160 : array tmp162 : array tmp165 : array tmp166 : array tmp167 : array tmp170 : array tmp176 : array tmp178 : array tmp18 : array tmp184 : array tmp186 : array tmp188 : array tmp198 : array tmp20 : array tmp22 : array tmp24 : array tmp25 : array tmp26 : array tmp28 : array tmp31 : array tmp32 : array tmp33 : array tmp37 : array tmp39 : array tmp4 : array tmp41 : array tmp43 : array tmp45 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp52 : array tmp53 : array tmp54 : array tmp56 : array tmp59 : array tmp6 : array tmp62 : array tmp63 : array tmp65 : array tmp66 : array tmp67 : array tmp69 : array tmp7 : array tmp71 : array tmp73 : array tmp75 : array tmp77 : array tmp79 : array tmp81 : array tmp83 : array tmp85 : array tmp87 : array tmp89 : array tmp9 : array tmp96 : array Source code in ebcc/codegen/UCC2.py 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 def hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:52:35.145902. 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 ------- tmp1 : array tmp102 : array tmp104 : array tmp107 : array tmp108 : array tmp109 : array tmp11 : array tmp117 : array tmp118 : array tmp12 : array tmp121 : array tmp13 : array tmp131 : array tmp134 : array tmp135 : array tmp137 : array tmp138 : array tmp139 : array tmp141 : array tmp143 : array tmp145 : array tmp147 : array tmp149 : array tmp15 : array tmp151 : array tmp152 : array tmp154 : array tmp155 : array tmp156 : array tmp157 : array tmp158 : array tmp16 : array tmp160 : array tmp162 : array tmp165 : array tmp166 : array tmp167 : array tmp170 : array tmp176 : array tmp178 : array tmp18 : array tmp184 : array tmp186 : array tmp188 : array tmp198 : array tmp20 : array tmp22 : array tmp24 : array tmp25 : array tmp26 : array tmp28 : array tmp31 : array tmp32 : array tmp33 : array tmp37 : array tmp39 : array tmp4 : array tmp41 : array tmp43 : array tmp45 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp52 : array tmp53 : array tmp54 : array tmp56 : array tmp59 : array tmp6 : array tmp62 : array tmp63 : array tmp65 : array tmp66 : array tmp67 : array tmp69 : array tmp7 : array tmp71 : array tmp73 : array tmp75 : array tmp77 : array tmp79 : array tmp81 : array tmp83 : array tmp85 : array tmp87 : array tmp89 : array tmp9 : array tmp96 : array \"\"\" tmp28 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp15 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp12 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp11 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp13 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp9 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) tmp7 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 1 ), ( 0 , 3 )) tmp198 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp188 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp186 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp184 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp178 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp176 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp170 = einsum ( t1 . bb , ( 0 , 1 ), tmp28 , ( 0 , 2 ), ( 2 , 1 )) tmp167 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp166 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp165 = einsum ( f . bb . vv , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp162 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp160 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 1 , 4 ), ( 3 , 4 )) tmp158 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp157 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 4 , 2 , 5 , 1 ), ( 0 , 4 , 5 , 3 )) tmp156 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) tmp155 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 1 tmp154 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp152 = einsum ( f . bb . oo , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp151 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp149 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp147 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp145 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp143 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) tmp141 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp139 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp138 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) tmp137 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp135 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp134 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp131 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp121 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp118 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp117 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp109 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 3 , 5 )) tmp108 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp107 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp104 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp102 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) tmp96 = einsum ( t1 . aa , ( 0 , 1 ), tmp1 , ( 0 , 2 ), ( 2 , 1 )) tmp89 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp87 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp85 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp83 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp81 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp79 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp77 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp75 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp73 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp71 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp69 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp67 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp66 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp65 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp63 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp62 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 1 , 3 ), ( 0 , 2 )) tmp59 = einsum ( f . aa . oo , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp56 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp54 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp53 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp52 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp49 = einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp47 = einsum ( tmp15 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp46 = einsum ( tmp12 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp45 = einsum ( tmp11 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp43 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp41 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp39 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp37 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp33 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp32 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp31 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 3 ), ( 0 , 2 )) tmp26 = einsum ( t1 . aa , ( 0 , 1 ), tmp13 , ( 2 , 1 ), ( 0 , 2 )) tmp25 = einsum ( t1 . aa , ( 0 , 1 ), tmp9 , ( 2 , 1 ), ( 0 , 2 )) tmp24 = einsum ( t1 . aa , ( 0 , 1 ), tmp7 , ( 2 , 1 ), ( 0 , 2 )) tmp22 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp20 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) * - 1 tmp18 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp16 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp6 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp5 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) tmp4 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 )) return { f \"tmp1\" : tmp1 , f \"tmp102\" : tmp102 , f \"tmp104\" : tmp104 , f \"tmp107\" : tmp107 , f \"tmp108\" : tmp108 , f \"tmp109\" : tmp109 , f \"tmp11\" : tmp11 , f \"tmp117\" : tmp117 , f \"tmp118\" : tmp118 , f \"tmp12\" : tmp12 , f \"tmp121\" : tmp121 , f \"tmp13\" : tmp13 , f \"tmp131\" : tmp131 , f \"tmp134\" : tmp134 , f \"tmp135\" : tmp135 , f \"tmp137\" : tmp137 , f \"tmp138\" : tmp138 , f \"tmp139\" : tmp139 , f \"tmp141\" : tmp141 , f \"tmp143\" : tmp143 , f \"tmp145\" : tmp145 , f \"tmp147\" : tmp147 , f \"tmp149\" : tmp149 , f \"tmp15\" : tmp15 , f \"tmp151\" : tmp151 , f \"tmp152\" : tmp152 , f \"tmp154\" : tmp154 , f \"tmp155\" : tmp155 , f \"tmp156\" : tmp156 , f \"tmp157\" : tmp157 , f \"tmp158\" : tmp158 , f \"tmp16\" : tmp16 , f \"tmp160\" : tmp160 , f \"tmp162\" : tmp162 , f \"tmp165\" : tmp165 , f \"tmp166\" : tmp166 , f \"tmp167\" : tmp167 , f \"tmp170\" : tmp170 , f \"tmp176\" : tmp176 , f \"tmp178\" : tmp178 , f \"tmp18\" : tmp18 , f \"tmp184\" : tmp184 , f \"tmp186\" : tmp186 , f \"tmp188\" : tmp188 , f \"tmp198\" : tmp198 , f \"tmp20\" : tmp20 , f \"tmp22\" : tmp22 , f \"tmp24\" : tmp24 , f \"tmp25\" : tmp25 , f \"tmp26\" : tmp26 , f \"tmp28\" : tmp28 , f \"tmp31\" : tmp31 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp37\" : tmp37 , f \"tmp39\" : tmp39 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp43\" : tmp43 , f \"tmp45\" : tmp45 , f \"tmp46\" : tmp46 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp52\" : tmp52 , f \"tmp53\" : tmp53 , f \"tmp54\" : tmp54 , f \"tmp56\" : tmp56 , f \"tmp59\" : tmp59 , f \"tmp6\" : tmp6 , f \"tmp62\" : tmp62 , f \"tmp63\" : tmp63 , f \"tmp65\" : tmp65 , f \"tmp66\" : tmp66 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp7\" : tmp7 , f \"tmp71\" : tmp71 , f \"tmp73\" : tmp73 , f \"tmp75\" : tmp75 , f \"tmp77\" : tmp77 , f \"tmp79\" : tmp79 , f \"tmp81\" : tmp81 , f \"tmp83\" : tmp83 , f \"tmp85\" : tmp85 , f \"tmp87\" : tmp87 , f \"tmp89\" : tmp89 , f \"tmp9\" : tmp9 , f \"tmp96\" : tmp96 }","title":"Returns"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.hbar_matvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T18:52:35.199000.","title":"hbar_matvec_ip"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.hbar_matvec_ip--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.hbar_matvec_ip--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UCC2.py 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 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-17T18:52:35.199000. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp56 = np . copy ( ints . tmp147 ) tmp56 += ints . tmp151 * 0.5 tmp58 = np . copy ( ints . tmp41 ) * 2 tmp58 += ints . tmp43 tmp60 = np . copy ( ints . tmp184 ) del ints . tmp184 tmp60 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) * 0.5 tmp65 = np . copy ( ints . tmp143 ) tmp65 += ints . tmp149 * 2 tmp67 = np . copy ( f . bb . oo ) tmp67 += ints . tmp28 tmp69 = np . copy ( ints . tmp188 ) del ints . tmp188 tmp69 += ints . tmp186 * 2 del ints . tmp186 tmp22 = np . copy ( ints . tmp20 ) * 2 tmp22 += ints . tmp22 tmp24 = np . copy ( ints . tmp67 ) del ints . tmp67 tmp24 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) * 0.5 tmp20 = np . copy ( ints . tmp83 ) tmp20 += ints . tmp87 * 2 tmp18 = np . copy ( ints . tmp79 ) tmp18 += ints . tmp85 * 0.5 tmp12 = np . copy ( f . aa . oo ) tmp12 += ints . tmp1 tmp14 = np . copy ( ints . tmp71 ) del ints . tmp71 tmp14 += ints . tmp69 * 2 del ints . tmp69 tmp39 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 2 , 1 ), ( 3 ,)) tmp40 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . ovov , ( 0 , 3 , 1 , 2 ), ( 3 ,)) tmp57 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp56 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 4 del tmp56 tmp53 = einsum ( ints . tmp141 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) tmp59 = einsum ( tmp58 , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) * - 2 del tmp58 tmp55 = einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp61 = einsum ( r1 . b , ( 0 ,), tmp60 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) * 2 del tmp60 tmp54 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 4 , 1 ), ( 4 , 2 , 3 )) tmp63 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp145 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) tmp66 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp65 , ( 0 , 3 , 2 , 4 ), ( 1 , 3 , 4 )) del tmp65 tmp64 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 2 , 3 ), ( 4 , 0 , 1 )) tmp68 = einsum ( tmp67 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp67 tmp70 = einsum ( r1 . b , ( 0 ,), tmp69 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp69 tmp49 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp31 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 0 , 3 ), ( 1 ,)) * - 1 tmp30 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 0 , 2 , 3 ), ( 1 ,)) tmp28 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp17 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp23 = einsum ( tmp22 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) * - 2 del tmp22 tmp25 = einsum ( r1 . a , ( 0 ,), tmp24 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) * 2 del tmp24 tmp21 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp20 , ( 3 , 0 , 4 , 2 ), ( 1 , 3 , 4 )) * - 1 del tmp20 tmp19 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp18 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 4 del tmp18 tmp9 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 3 ), ( 4 , 0 , 1 )) tmp8 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp77 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) tmp13 = einsum ( tmp12 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp12 tmp15 = einsum ( r1 . a , ( 0 ,), tmp14 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp14 tmp11 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . ovov , ( 3 , 4 , 0 , 2 ), ( 1 , 3 , 4 )) * - 1 tmp10 = einsum ( ints . tmp81 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * - 1 tmp52 = np . copy ( ints . tmp152 ) del ints . tmp152 tmp52 += ints . tmp155 * 2 del ints . tmp155 tmp52 += ints . tmp156 del ints . tmp156 tmp52 += ints . tmp166 * 2 del ints . tmp166 tmp52 += ints . tmp170 del ints . tmp170 tmp52 += f . bb . ov * - 1 tmp52 += ints . tmp134 * - 1 del ints . tmp134 tmp52 += ints . tmp135 * - 2 del ints . tmp135 tmp52 += ints . tmp165 * - 1 del ints . tmp165 tmp52 += ints . tmp167 * - 1 del ints . tmp167 tmp73 = np . copy ( tmp39 ) * - 0.5 tmp73 += tmp40 tmp74 = np . copy ( ints . tmp176 ) del ints . tmp176 tmp74 += np . transpose ( ints . tmp198 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp198 tmp72 = np . copy ( ints . tmp178 ) del ints . tmp178 tmp72 += np . transpose ( v . bbbb . oooo , ( 0 , 2 , 1 , 3 )) tmp62 = np . copy ( tmp53 ) del tmp53 tmp62 += tmp54 del tmp54 tmp62 += tmp55 * 2 del tmp55 tmp62 += np . transpose ( tmp57 , ( 1 , 0 , 2 )) * - 1 del tmp57 tmp62 += np . transpose ( tmp59 , ( 1 , 0 , 2 )) del tmp59 tmp62 += tmp61 del tmp61 tmp71 = np . copy ( tmp63 ) * 4 del tmp63 tmp71 += tmp64 * 2 del tmp64 tmp71 += np . transpose ( tmp66 , ( 1 , 0 , 2 )) del tmp66 tmp71 += np . transpose ( tmp68 , ( 1 , 0 , 2 )) * - 2 del tmp68 tmp71 += tmp70 del tmp70 tmp50 = np . copy ( np . transpose ( ints . tmp158 , ( 1 , 0 ))) * 2 del ints . tmp158 tmp50 += np . transpose ( ints . tmp160 , ( 1 , 0 )) del ints . tmp160 tmp50 += f . bb . vv * - 1 tmp50 += tmp49 del tmp49 tmp44 = np . copy ( f . aa . oo ) tmp44 += ints . tmp1 tmp44 += np . transpose ( ints . tmp20 , ( 1 , 0 )) * 2 tmp44 += np . transpose ( ints . tmp22 , ( 1 , 0 )) tmp32 = np . copy ( tmp30 ) * 2 del tmp30 tmp32 += tmp31 del tmp31 tmp48 = np . copy ( ints . tmp104 ) tmp48 += v . aabb . oooo tmp47 = np . copy ( ints . tmp162 ) del ints . tmp162 tmp47 += v . aabb . oovv * - 1 tmp51 = np . copy ( ints . tmp131 ) del ints . tmp131 tmp51 += ints . tmp138 del ints . tmp138 tmp51 += ints . tmp139 * 2 del ints . tmp139 tmp51 += np . transpose ( ints . tmp154 , ( 1 , 0 , 2 , 3 )) del ints . tmp154 tmp51 += v . aabb . ooov tmp51 += ints . tmp137 * - 1 del ints . tmp137 tmp51 += ints . tmp157 * - 1 del ints . tmp157 tmp46 = np . copy ( ints . tmp143 ) del ints . tmp143 tmp46 += ints . tmp149 * 2 del ints . tmp149 tmp46 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp46 += ints . tmp141 * - 1 del ints . tmp141 tmp45 = np . copy ( ints . tmp147 ) * 2 del ints . tmp147 tmp45 += ints . tmp151 del ints . tmp151 tmp45 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp45 += ints . tmp145 * - 2 del ints . tmp145 tmp45 += v . bbbb . oovv * - 1 tmp43 = np . copy ( f . bb . oo ) tmp43 += ints . tmp28 tmp43 += np . transpose ( ints . tmp41 , ( 1 , 0 )) * 2 tmp43 += np . transpose ( ints . tmp43 , ( 1 , 0 )) tmp41 = np . copy ( tmp39 ) * - 1 del tmp39 tmp41 += tmp40 * 2 del tmp40 tmp36 = np . copy ( ints . tmp83 ) del ints . tmp83 tmp36 += ints . tmp87 * 2 del ints . tmp87 tmp36 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp36 += ints . tmp81 * - 1 del ints . tmp81 tmp35 = np . copy ( ints . tmp79 ) * 2 del ints . tmp79 tmp35 += ints . tmp85 del ints . tmp85 tmp35 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp35 += ints . tmp77 * - 2 del ints . tmp77 tmp35 += v . aaaa . oovv * - 1 tmp42 = np . copy ( ints . tmp102 ) del ints . tmp102 tmp42 += ints . tmp108 del ints . tmp108 tmp42 += ints . tmp109 * 2 del ints . tmp109 tmp42 += np . transpose ( ints . tmp117 , ( 0 , 2 , 1 , 3 )) del ints . tmp117 tmp42 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp42 += ints . tmp107 * - 1 del ints . tmp107 tmp42 += ints . tmp118 * - 1 del ints . tmp118 tmp37 = np . copy ( ints . tmp121 ) del ints . tmp121 tmp37 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) * - 1 tmp38 = np . copy ( ints . tmp104 ) del ints . tmp104 tmp38 += v . aabb . oooo tmp34 = np . copy ( ints . tmp52 ) * 2 del ints . tmp52 tmp34 += ints . tmp59 del ints . tmp59 tmp34 += ints . tmp65 * 2 del ints . tmp65 tmp34 += ints . tmp66 del ints . tmp66 tmp34 += ints . tmp96 del ints . tmp96 tmp34 += f . aa . ov * - 1 tmp34 += ints . tmp49 * - 1 del ints . tmp49 tmp34 += ints . tmp53 * - 1 del ints . tmp53 tmp34 += ints . tmp62 * - 2 del ints . tmp62 tmp34 += ints . tmp63 * - 1 del ints . tmp63 tmp29 = np . copy ( np . transpose ( ints . tmp73 , ( 1 , 0 ))) * 2 del ints . tmp73 tmp29 += np . transpose ( ints . tmp75 , ( 1 , 0 )) del ints . tmp75 tmp29 += f . aa . vv * - 1 tmp29 += tmp28 del tmp28 tmp26 = np . copy ( tmp17 ) * 2 del tmp17 tmp26 += np . transpose ( tmp19 , ( 1 , 0 , 2 )) * - 1 del tmp19 tmp26 += np . transpose ( tmp21 , ( 1 , 0 , 2 )) del tmp21 tmp26 += np . transpose ( tmp23 , ( 1 , 0 , 2 )) del tmp23 tmp26 += tmp25 del tmp25 tmp33 = np . copy ( ints . tmp54 ) del ints . tmp54 tmp33 += np . transpose ( ints . tmp89 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp89 tmp27 = np . copy ( ints . tmp56 ) del ints . tmp56 tmp27 += np . transpose ( v . aaaa . oooo , ( 0 , 2 , 1 , 3 )) tmp16 = np . copy ( tmp8 ) * 4 del tmp8 tmp16 += tmp9 * 2 del tmp9 tmp16 += tmp10 del tmp10 tmp16 += tmp11 del tmp11 tmp16 += np . transpose ( tmp13 , ( 1 , 0 , 2 )) * - 2 del tmp13 tmp16 += tmp15 del tmp15 tmp6 = np . copy ( ints . tmp37 ) del ints . tmp37 tmp6 += v . bbbb . ooov * - 1 tmp7 = np . copy ( f . bb . oo ) tmp7 += ints . tmp28 del ints . tmp28 tmp7 += np . transpose ( ints . tmp32 , ( 1 , 0 )) del ints . tmp32 tmp7 += np . transpose ( ints . tmp33 , ( 1 , 0 )) del ints . tmp33 tmp7 += np . transpose ( ints . tmp41 , ( 1 , 0 )) * 2 del ints . tmp41 tmp7 += np . transpose ( ints . tmp43 , ( 1 , 0 )) del ints . tmp43 tmp7 += np . transpose ( ints . tmp46 , ( 1 , 0 )) del ints . tmp46 tmp7 += np . transpose ( ints . tmp47 , ( 1 , 0 )) del ints . tmp47 tmp7 += np . transpose ( ints . tmp31 , ( 1 , 0 )) * - 1 del ints . tmp31 tmp7 += np . transpose ( ints . tmp45 , ( 1 , 0 )) * - 1 del ints . tmp45 tmp2 = np . copy ( f . bb . ov ) tmp2 += ints . tmp12 del ints . tmp12 tmp2 += ints . tmp15 del ints . tmp15 tmp2 += ints . tmp11 * - 1 del ints . tmp11 tmp5 = np . copy ( ints . tmp39 ) del ints . tmp39 tmp5 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp3 = np . copy ( f . aa . ov ) tmp3 += ints . tmp13 del ints . tmp13 tmp3 += ints . tmp9 del ints . tmp9 tmp3 += ints . tmp7 * - 1 del ints . tmp7 tmp4 = np . copy ( f . aa . oo ) tmp4 += ints . tmp1 del ints . tmp1 tmp4 += np . transpose ( ints . tmp20 , ( 1 , 0 )) * 2 del ints . tmp20 tmp4 += np . transpose ( ints . tmp22 , ( 1 , 0 )) del ints . tmp22 tmp4 += np . transpose ( ints . tmp25 , ( 1 , 0 )) del ints . tmp25 tmp4 += np . transpose ( ints . tmp26 , ( 1 , 0 )) del ints . tmp26 tmp4 += np . transpose ( ints . tmp5 , ( 1 , 0 )) del ints . tmp5 tmp4 += np . transpose ( ints . tmp6 , ( 1 , 0 )) del ints . tmp6 tmp4 += np . transpose ( ints . tmp24 , ( 1 , 0 )) * - 1 del ints . tmp24 tmp4 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * - 1 del ints . tmp4 tmp0 = np . copy ( ints . tmp18 ) del ints . tmp18 tmp0 += v . aabb . ooov tmp1 = np . copy ( ints . tmp16 ) del ints . tmp16 tmp1 += v . aaaa . ooov * - 1 r2new . bbb = np . copy ( tmp62 ) * - 1 r2new . bbb += np . transpose ( tmp62 , ( 1 , 0 , 2 )) del tmp62 r2new . bbb += tmp71 r2new . bbb += np . transpose ( tmp71 , ( 1 , 0 , 2 )) * - 1 del tmp71 r2new . bbb += einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 2 , 4 ), ( 0 , 1 , 4 )) * - 2 del tmp72 r2new . bbb += einsum ( tmp50 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp73 , ( 3 ,), ( 0 , 1 , 2 )) * 4 del tmp73 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp74 , ( 1 , 2 , 0 , 3 ), ( 2 , 1 , 3 )) * 2 del tmp74 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp52 , ( 1 , 2 ), ( 0 , 1 , 2 )) * - 1 r2new . bbb += einsum ( tmp52 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) r2new . bab = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp45 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) del tmp45 r2new . bab += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp46 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) * - 2 del tmp46 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp47 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) del tmp47 r2new . bab += einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 2 , 0 , 4 )) del tmp48 r2new . bab += einsum ( tmp50 , ( 0 , 1 ), r2 . bab , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp50 r2new . bab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp32 , ( 2 ,), ( 1 , 0 , 3 )) r2new . bab += einsum ( r1 . a , ( 0 ,), tmp51 , ( 1 , 0 , 2 , 3 ), ( 2 , 1 , 3 )) del tmp51 r2new . bab += einsum ( tmp43 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . bab += einsum ( tmp44 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . bab += einsum ( tmp52 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) del tmp52 r2new . aba = einsum ( tmp35 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) del tmp35 r2new . aba += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp36 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) * - 2 del tmp36 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp37 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) del tmp37 r2new . aba += einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) del tmp38 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp29 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( tmp41 , ( 0 ,), t2 . abab , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) del tmp41 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp42 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp42 r2new . aba += einsum ( tmp43 , ( 0 , 1 ), r2 . aba , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp43 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp44 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp44 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp34 , ( 1 , 2 ), ( 1 , 0 , 2 )) r2new . aaa = np . copy ( tmp16 ) r2new . aaa += np . transpose ( tmp16 , ( 1 , 0 , 2 )) * - 1 del tmp16 r2new . aaa += tmp26 * - 1 r2new . aaa += np . transpose ( tmp26 , ( 1 , 0 , 2 )) del tmp26 r2new . aaa += einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) * 2 del tmp27 r2new . aaa += einsum ( tmp29 , ( 0 , 1 ), r2 . aaa , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 del tmp29 r2new . aaa += einsum ( tmp32 , ( 0 ,), t2 . aaaa , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 2 del tmp32 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp33 , ( 1 , 2 , 0 , 3 ), ( 2 , 1 , 3 )) * 2 del tmp33 r2new . aaa += einsum ( tmp34 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 2 , 0 , 1 )) * - 1 r2new . aaa += einsum ( tmp34 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) del tmp34 r1new . b = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 ,)) del tmp5 r1new . b += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 1 , 2 , 3 ), ( 0 ,)) * 2 del tmp6 r1new . b += einsum ( tmp2 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 1 ), ( 2 ,)) * 2 r1new . b += einsum ( tmp3 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 1 ), ( 2 ,)) * - 1 r1new . b += einsum ( tmp7 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp7 r1new . a = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 1 , 3 ), ( 0 ,)) del tmp0 r1new . a += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 1 , 3 ), ( 0 ,)) * - 2 del tmp1 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp2 , ( 0 , 2 ), ( 1 ,)) * - 1 del tmp2 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp3 , ( 1 , 2 ), ( 0 ,)) * 2 del tmp3 r1new . a += einsum ( tmp4 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.hbar_matvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:53:15.241280.","title":"hbar_matvec_ea_intermediates"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.hbar_matvec_ea_intermediates--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.hbar_matvec_ea_intermediates--returns","text":"tmp101 : array tmp104 : array tmp105 : array tmp11 : array tmp115 : array tmp116 : array tmp117 : array tmp12 : array tmp128 : array tmp13 : array tmp131 : array tmp132 : array tmp138 : array tmp139 : array tmp141 : array tmp142 : array tmp143 : array tmp145 : array tmp147 : array tmp148 : array tmp149 : array tmp15 : array tmp150 : array tmp152 : array tmp153 : array tmp154 : array tmp155 : array tmp156 : array tmp160 : array tmp162 : array tmp164 : array tmp166 : array tmp168 : array tmp170 : array tmp176 : array tmp178 : array tmp180 : array tmp193 : array tmp20 : array tmp22 : array tmp31 : array tmp32 : array tmp33 : array tmp4 : array tmp41 : array tmp43 : array tmp5 : array tmp50 : array tmp51 : array tmp55 : array tmp57 : array tmp59 : array tmp6 : array tmp63 : array tmp65 : array tmp67 : array tmp69 : array tmp7 : array tmp71 : array tmp73 : array tmp76 : array tmp79 : array tmp80 : array tmp81 : array tmp88 : array tmp89 : array tmp9 : array tmp91 : array tmp93 : array tmp94 : array tmp95 : array tmp97 : array Source code in ebcc/codegen/UCC2.py 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 def hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:53:15.241280. 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 ------- tmp101 : array tmp104 : array tmp105 : array tmp11 : array tmp115 : array tmp116 : array tmp117 : array tmp12 : array tmp128 : array tmp13 : array tmp131 : array tmp132 : array tmp138 : array tmp139 : array tmp141 : array tmp142 : array tmp143 : array tmp145 : array tmp147 : array tmp148 : array tmp149 : array tmp15 : array tmp150 : array tmp152 : array tmp153 : array tmp154 : array tmp155 : array tmp156 : array tmp160 : array tmp162 : array tmp164 : array tmp166 : array tmp168 : array tmp170 : array tmp176 : array tmp178 : array tmp180 : array tmp193 : array tmp20 : array tmp22 : array tmp31 : array tmp32 : array tmp33 : array tmp4 : array tmp41 : array tmp43 : array tmp5 : array tmp50 : array tmp51 : array tmp55 : array tmp57 : array tmp59 : array tmp6 : array tmp63 : array tmp65 : array tmp67 : array tmp69 : array tmp7 : array tmp71 : array tmp73 : array tmp76 : array tmp79 : array tmp80 : array tmp81 : array tmp88 : array tmp89 : array tmp9 : array tmp91 : array tmp93 : array tmp94 : array tmp95 : array tmp97 : array \"\"\" tmp139 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 2 , 1 ), ( 2 , 0 )) tmp89 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp193 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 tmp180 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) tmp178 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp176 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp170 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp168 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp166 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp164 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp162 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) tmp160 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp156 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp155 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 3 , 5 ), ( 4 , 1 , 2 , 5 )) tmp154 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp153 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp152 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp150 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) tmp149 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 1 tmp148 = einsum ( f . bb . oo , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp147 = einsum ( t1 . bb , ( 0 , 1 ), tmp139 , ( 0 , 2 ), ( 2 , 1 )) tmp145 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp143 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp142 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp141 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp138 = einsum ( f . bb . vv , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp132 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 4 , 5 , 1 ), ( 5 , 2 , 4 , 3 )) tmp131 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp128 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp117 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp116 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp115 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp105 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp104 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp101 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp97 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp95 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp94 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp93 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp91 = einsum ( t1 . aa , ( 0 , 1 ), tmp89 , ( 0 , 2 ), ( 2 , 1 )) tmp88 = einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp81 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 tmp80 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp79 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 1 tmp76 = einsum ( f . aa . oo , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp73 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp71 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp69 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp67 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp65 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp63 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp59 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 5 , 1 , 3 ), ( 0 , 2 , 4 , 5 )) tmp57 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp55 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp51 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp50 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 1 , 3 ), ( 0 , 2 )) tmp43 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 1 , 4 ), ( 3 , 4 )) tmp41 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp33 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp32 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 )) tmp31 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 1 ), ( 2 , 3 )) tmp22 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp20 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp15 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp13 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp12 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp11 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp9 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) tmp7 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 1 ), ( 0 , 3 )) tmp6 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp5 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 3 ), ( 1 , 2 )) tmp4 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) return { f \"tmp101\" : tmp101 , f \"tmp104\" : tmp104 , f \"tmp105\" : tmp105 , f \"tmp11\" : tmp11 , f \"tmp115\" : tmp115 , f \"tmp116\" : tmp116 , f \"tmp117\" : tmp117 , f \"tmp12\" : tmp12 , f \"tmp128\" : tmp128 , f \"tmp13\" : tmp13 , f \"tmp131\" : tmp131 , f \"tmp132\" : tmp132 , f \"tmp138\" : tmp138 , f \"tmp139\" : tmp139 , f \"tmp141\" : tmp141 , f \"tmp142\" : tmp142 , f \"tmp143\" : tmp143 , f \"tmp145\" : tmp145 , f \"tmp147\" : tmp147 , f \"tmp148\" : tmp148 , f \"tmp149\" : tmp149 , f \"tmp15\" : tmp15 , f \"tmp150\" : tmp150 , f \"tmp152\" : tmp152 , f \"tmp153\" : tmp153 , f \"tmp154\" : tmp154 , f \"tmp155\" : tmp155 , f \"tmp156\" : tmp156 , f \"tmp160\" : tmp160 , f \"tmp162\" : tmp162 , f \"tmp164\" : tmp164 , f \"tmp166\" : tmp166 , f \"tmp168\" : tmp168 , f \"tmp170\" : tmp170 , f \"tmp176\" : tmp176 , f \"tmp178\" : tmp178 , f \"tmp180\" : tmp180 , f \"tmp193\" : tmp193 , f \"tmp20\" : tmp20 , f \"tmp22\" : tmp22 , f \"tmp31\" : tmp31 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp43\" : tmp43 , f \"tmp5\" : tmp5 , f \"tmp50\" : tmp50 , f \"tmp51\" : tmp51 , f \"tmp55\" : tmp55 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp6\" : tmp6 , f \"tmp63\" : tmp63 , f \"tmp65\" : tmp65 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp7\" : tmp7 , f \"tmp71\" : tmp71 , f \"tmp73\" : tmp73 , f \"tmp76\" : tmp76 , f \"tmp79\" : tmp79 , f \"tmp80\" : tmp80 , f \"tmp81\" : tmp81 , f \"tmp88\" : tmp88 , f \"tmp89\" : tmp89 , f \"tmp9\" : tmp9 , f \"tmp91\" : tmp91 , f \"tmp93\" : tmp93 , f \"tmp94\" : tmp94 , f \"tmp95\" : tmp95 , f \"tmp97\" : tmp97 }","title":"Returns"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.hbar_matvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T18:53:15.287398.","title":"hbar_matvec_ea"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.hbar_matvec_ea--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.hbar_matvec_ea--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UCC2.py 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 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-17T18:53:15.287398. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp56 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), f . bb . ov , ( 3 , 1 ), ( 3 , 2 , 0 )) tmp62 = np . copy ( ints . tmp176 ) del ints . tmp176 tmp62 += ints . tmp180 * 0.5 del ints . tmp180 tmp62 += v . bbbb . ovvv * 0.5 tmp58 = np . copy ( ints . tmp166 ) * 2 tmp58 += ints . tmp170 tmp60 = np . copy ( np . transpose ( ints . tmp41 , ( 1 , 0 ))) tmp60 += np . transpose ( ints . tmp43 , ( 1 , 0 )) * 0.5 tmp60 += f . bb . vv * - 0.5 tmp68 = np . copy ( ints . tmp162 ) tmp68 += ints . tmp168 * 2 tmp16 = np . copy ( ints . tmp69 ) * 0.5 tmp16 += ints . tmp73 tmp14 = np . copy ( ints . tmp65 ) * 2 tmp14 += ints . tmp71 tmp12 = einsum ( f . aa . ov , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 0 , 3 , 2 )) tmp20 = np . copy ( ints . tmp55 ) del ints . tmp55 tmp20 += ints . tmp59 * 0.5 del ints . tmp59 tmp20 += v . aaaa . ovvv * 0.5 tmp18 = np . copy ( np . transpose ( ints . tmp20 , ( 1 , 0 ))) tmp18 += np . transpose ( ints . tmp22 , ( 1 , 0 )) * 0.5 tmp18 += f . aa . vv * - 0.5 tmp57 = einsum ( t1 . bb , ( 0 , 1 ), tmp56 , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) del tmp56 tmp63 = einsum ( r1 . b , ( 0 ,), tmp62 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 2 del tmp62 tmp53 = einsum ( ints . tmp160 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 1 , 3 , 4 )) tmp59 = einsum ( tmp58 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 1 ), ( 0 , 4 , 2 )) * - 2 del tmp58 tmp55 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . oovv , ( 3 , 2 , 4 , 1 ), ( 3 , 0 , 4 )) tmp61 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp60 , ( 1 , 3 ), ( 2 , 0 , 3 )) * - 4 del tmp60 tmp54 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovov , ( 2 , 0 , 3 , 4 ), ( 3 , 1 , 4 )) tmp42 = einsum ( f . bb . ov , ( 0 , 1 ), r1 . b , ( 1 ,), ( 0 ,)) tmp7 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 0 ), ( 2 ,)) tmp8 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . ovov , ( 3 , 0 , 2 , 1 ), ( 3 ,)) tmp69 = einsum ( tmp68 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 1 , 4 , 3 )) del tmp68 tmp66 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp164 , ( 3 , 2 , 4 , 1 ), ( 3 , 4 , 0 )) tmp65 = einsum ( ints . tmp178 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 0 , 1 , 3 )) del ints . tmp178 tmp67 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . ovov , ( 3 , 4 , 2 , 1 ), ( 3 , 0 , 4 )) tmp40 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp4 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 2 ), ( 0 ,)) * - 1 tmp3 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovov , ( 3 , 1 , 2 , 0 ), ( 3 ,)) * - 1 tmp30 = einsum ( f . aa . ov , ( 0 , 1 ), r1 . a , ( 1 ,), ( 0 ,)) tmp38 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp26 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp67 , ( 3 , 2 , 4 , 0 ), ( 3 , 4 , 1 )) * - 1 tmp23 = einsum ( r1 . a , ( 0 ,), ints . tmp57 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del ints . tmp57 tmp25 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovov , ( 3 , 4 , 2 , 1 ), ( 3 , 0 , 4 )) tmp27 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 2 ), ( 0 , 4 , 1 )) * - 1 tmp24 = einsum ( ints . tmp63 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 3 , 1 ), ( 0 , 2 , 4 )) tmp17 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp16 , ( 3 , 2 , 4 , 0 ), ( 3 , 1 , 4 )) * - 2 del tmp16 tmp15 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp14 , ( 3 , 2 , 4 , 1 ), ( 3 , 0 , 4 )) * - 2 del tmp14 tmp13 = einsum ( tmp12 , ( 0 , 1 , 2 ), t1 . aa , ( 0 , 3 ), ( 1 , 2 , 3 )) del tmp12 tmp21 = einsum ( r1 . a , ( 0 ,), tmp20 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 2 del tmp20 tmp19 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp18 , ( 1 , 3 ), ( 2 , 0 , 3 )) * - 4 del tmp18 tmp11 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . oovv , ( 3 , 2 , 4 , 1 ), ( 3 , 0 , 4 )) tmp1 = np . copy ( f . bb . ov ) tmp1 += ints . tmp12 del ints . tmp12 tmp1 += ints . tmp15 del ints . tmp15 tmp1 += ints . tmp11 * - 1 del ints . tmp11 tmp0 = np . copy ( f . aa . ov ) tmp0 += ints . tmp13 del ints . tmp13 tmp0 += ints . tmp9 del ints . tmp9 tmp0 += ints . tmp7 * - 1 del ints . tmp7 tmp52 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . ovov , ( 3 , 1 , 4 , 0 ), ( 2 , 3 , 4 )) * - 1 tmp64 = np . copy ( tmp53 ) del tmp53 tmp64 += tmp54 del tmp54 tmp64 += tmp55 * 2 del tmp55 tmp64 += tmp57 * 2 del tmp57 tmp64 += np . transpose ( tmp59 , ( 0 , 2 , 1 )) * - 1 del tmp59 tmp64 += np . transpose ( tmp61 , ( 0 , 2 , 1 )) del tmp61 tmp64 += tmp63 del tmp63 tmp51 = np . copy ( ints . tmp141 ) * 2 del ints . tmp141 tmp51 += ints . tmp147 del ints . tmp147 tmp51 += ints . tmp148 del ints . tmp148 tmp51 += ints . tmp149 * 2 del ints . tmp149 tmp51 += ints . tmp150 del ints . tmp150 tmp51 += f . bb . ov * - 1 tmp51 += ints . tmp138 * - 1 del ints . tmp138 tmp51 += ints . tmp142 * - 1 del ints . tmp142 tmp51 += ints . tmp152 * - 1 del ints . tmp152 tmp51 += ints . tmp153 * - 2 del ints . tmp153 tmp71 = np . copy ( tmp42 ) tmp71 += tmp7 * - 1 tmp71 += tmp8 * 2 tmp70 = np . copy ( tmp65 ) * 2 del tmp65 tmp70 += tmp66 * 4 del tmp66 tmp70 += tmp67 * 2 del tmp67 tmp70 += np . transpose ( tmp69 , ( 0 , 2 , 1 )) del tmp69 tmp50 = np . copy ( f . bb . oo ) tmp50 += ints . tmp139 del ints . tmp139 tmp50 += np . transpose ( ints . tmp143 , ( 1 , 0 )) * 2 del ints . tmp143 tmp50 += np . transpose ( ints . tmp145 , ( 1 , 0 )) del ints . tmp145 tmp44 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 0 , 4 , 2 )) * - 1 tmp41 = np . copy ( np . transpose ( ints . tmp20 , ( 1 , 0 ))) * 2 tmp41 += np . transpose ( ints . tmp22 , ( 1 , 0 )) tmp41 += f . aa . vv * - 1 tmp41 += tmp40 del tmp40 tmp48 = np . copy ( ints . tmp132 ) del ints . tmp132 tmp48 += ints . tmp154 del ints . tmp154 tmp48 += ints . tmp156 * 2 del ints . tmp156 tmp48 += np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 )) tmp48 += ints . tmp128 * - 1 del ints . tmp128 tmp48 += np . transpose ( ints . tmp155 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp155 tmp31 = np . copy ( tmp30 ) * 0.5 del tmp30 tmp31 += tmp3 tmp31 += tmp4 * 0.5 tmp47 = np . copy ( ints . tmp131 ) del ints . tmp131 tmp47 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) * - 1 tmp49 = np . copy ( np . transpose ( ints . tmp41 , ( 1 , 0 ))) tmp49 += np . transpose ( ints . tmp43 , ( 1 , 0 )) * 0.5 tmp49 += f . bb . vv * - 0.5 tmp49 += tmp38 * 0.5 tmp46 = np . copy ( ints . tmp162 ) del ints . tmp162 tmp46 += ints . tmp168 * 2 del ints . tmp168 tmp46 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp46 += ints . tmp160 * - 1 del ints . tmp160 tmp45 = np . copy ( ints . tmp166 ) * 2 del ints . tmp166 tmp45 += ints . tmp170 del ints . tmp170 tmp45 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp45 += ints . tmp164 * - 2 del ints . tmp164 tmp45 += v . bbbb . oovv * - 1 tmp36 = np . copy ( ints . tmp104 ) del ints . tmp104 tmp36 += v . aabb . oovv * - 1 tmp35 = np . copy ( ints . tmp69 ) del ints . tmp69 tmp35 += ints . tmp73 * 2 del ints . tmp73 tmp35 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp35 += ints . tmp67 * - 1 del ints . tmp67 tmp37 = np . copy ( ints . tmp105 ) del ints . tmp105 tmp37 += ints . tmp115 del ints . tmp115 tmp37 += ints . tmp117 * 2 del ints . tmp117 tmp37 += v . aabb . ovvv tmp37 += ints . tmp101 * - 1 del ints . tmp101 tmp37 += np . transpose ( ints . tmp116 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp116 tmp33 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovov , ( 3 , 0 , 4 , 1 ), ( 2 , 3 , 4 )) tmp32 = np . copy ( ints . tmp76 ) del ints . tmp76 tmp32 += ints . tmp79 * 2 del ints . tmp79 tmp32 += ints . tmp80 del ints . tmp80 tmp32 += ints . tmp91 del ints . tmp91 tmp32 += ints . tmp93 * 2 del ints . tmp93 tmp32 += f . aa . ov * - 1 tmp32 += ints . tmp50 * - 2 del ints . tmp50 tmp32 += ints . tmp51 * - 1 del ints . tmp51 tmp32 += ints . tmp88 * - 1 del ints . tmp88 tmp32 += ints . tmp94 * - 1 del ints . tmp94 tmp34 = np . copy ( ints . tmp65 ) * 2 del ints . tmp65 tmp34 += ints . tmp71 del ints . tmp71 tmp34 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp34 += ints . tmp63 * - 2 del ints . tmp63 tmp34 += v . aaaa . oovv * - 1 tmp39 = np . copy ( np . transpose ( ints . tmp41 , ( 1 , 0 ))) * 2 tmp39 += np . transpose ( ints . tmp43 , ( 1 , 0 )) tmp39 += f . bb . vv * - 1 tmp39 += tmp38 del tmp38 tmp43 = np . copy ( tmp42 ) * 0.5 del tmp42 tmp43 += tmp7 * - 0.5 tmp43 += tmp8 tmp29 = np . copy ( f . aa . oo ) tmp29 += ints . tmp89 del ints . tmp89 tmp29 += np . transpose ( ints . tmp95 , ( 1 , 0 )) * 2 del ints . tmp95 tmp29 += np . transpose ( ints . tmp97 , ( 1 , 0 )) del ints . tmp97 tmp28 = np . copy ( tmp23 ) * 2 del tmp23 tmp28 += tmp24 * 4 del tmp24 tmp28 += tmp25 * 2 del tmp25 tmp28 += tmp26 del tmp26 tmp28 += tmp27 del tmp27 tmp22 = np . copy ( tmp11 ) * 2 del tmp11 tmp22 += tmp13 * 2 del tmp13 tmp22 += np . transpose ( tmp15 , ( 0 , 2 , 1 )) * - 1 del tmp15 tmp22 += np . transpose ( tmp17 , ( 0 , 2 , 1 )) del tmp17 tmp22 += np . transpose ( tmp19 , ( 0 , 2 , 1 )) del tmp19 tmp22 += tmp21 del tmp21 tmp10 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovov , ( 3 , 0 , 4 , 1 ), ( 2 , 3 , 4 )) tmp9 = np . copy ( tmp7 ) * - 1 del tmp7 tmp9 += tmp8 * 2 del tmp8 tmp9 += einsum ( tmp1 , ( 0 , 1 ), r1 . b , ( 1 ,), ( 0 ,)) tmp6 = np . copy ( ints . tmp32 ) del ints . tmp32 tmp6 += np . transpose ( ints . tmp41 , ( 1 , 0 )) * 2 del ints . tmp41 tmp6 += np . transpose ( ints . tmp43 , ( 1 , 0 )) del ints . tmp43 tmp6 += f . bb . vv * - 1 tmp6 += np . transpose ( ints . tmp31 , ( 1 , 0 )) * - 1 del ints . tmp31 tmp6 += np . transpose ( ints . tmp33 , ( 1 , 0 )) * - 1 del ints . tmp33 tmp2 = np . copy ( np . transpose ( ints . tmp20 , ( 1 , 0 ))) * 2 del ints . tmp20 tmp2 += np . transpose ( ints . tmp22 , ( 1 , 0 )) del ints . tmp22 tmp2 += ints . tmp5 del ints . tmp5 tmp2 += f . aa . vv * - 1 tmp2 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * - 1 del ints . tmp4 tmp2 += np . transpose ( ints . tmp6 , ( 1 , 0 )) * - 1 del ints . tmp6 tmp5 = np . copy ( tmp3 ) * 2 del tmp3 tmp5 += tmp4 del tmp4 tmp5 += einsum ( tmp0 , ( 0 , 1 ), r1 . a , ( 1 ,), ( 0 ,)) r2new . bbb = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp52 , ( 4 , 1 , 0 ), ( 2 , 3 , 4 )) * - 2 del tmp52 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . vvvv , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) * 2 r2new . bbb += einsum ( r1 . b , ( 0 ,), ints . tmp193 , ( 1 , 2 , 3 , 0 ), ( 3 , 2 , 1 )) * 2 del ints . tmp193 r2new . bbb += np . transpose ( tmp64 , ( 1 , 2 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp64 , ( 2 , 1 , 0 )) del tmp64 r2new . bbb += np . transpose ( tmp70 , ( 1 , 2 , 0 )) r2new . bbb += np . transpose ( tmp70 , ( 2 , 1 , 0 )) * - 1 del tmp70 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp50 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 r2new . bbb += einsum ( tmp71 , ( 0 ,), t2 . bbbb , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) * 2 del tmp71 r2new . bbb += einsum ( tmp51 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 2 , 1 , 0 )) * - 1 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp51 , ( 1 , 2 ), ( 2 , 0 , 1 )) r2new . bab = einsum ( tmp44 , ( 0 , 1 , 2 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 4 , 3 , 1 )) * - 1 del tmp44 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . vvvv , ( 3 , 1 , 4 , 0 ), ( 4 , 3 , 2 )) r2new . bab += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 2 , 4 , 0 )) del tmp45 r2new . bab += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp46 , ( 2 , 3 , 1 , 4 ), ( 4 , 0 , 3 )) * - 2 del tmp46 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp47 , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) del tmp47 r2new . bab += einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 3 , 1 , 0 )) * - 1 del tmp48 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp49 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 2 del tmp49 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp41 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp50 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp50 r2new . bab += einsum ( tmp31 , ( 0 ,), t2 . abab , ( 0 , 1 , 2 , 3 ), ( 3 , 2 , 1 )) * 2 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp51 , ( 1 , 2 ), ( 2 , 0 , 1 )) del tmp51 r2new . aba = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . vvvv , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) r2new . aba += einsum ( tmp33 , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 2 , 3 , 4 ), ( 3 , 4 , 0 )) del tmp33 r2new . aba += einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 3 , 4 , 1 ), ( 2 , 4 , 0 )) del tmp34 r2new . aba += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp35 , ( 3 , 2 , 4 , 1 ), ( 4 , 0 , 3 )) * - 2 del tmp35 r2new . aba += einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) del tmp36 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp37 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp37 r2new . aba += einsum ( tmp39 , ( 0 , 1 ), r2 . aba , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp39 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp41 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp41 r2new . aba += einsum ( tmp29 , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aba += einsum ( tmp43 , ( 0 ,), t2 . abab , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) * 2 del tmp43 r2new . aba += einsum ( tmp32 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 1 , 2 , 0 )) r2new . aaa = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . vvvv , ( 3 , 1 , 4 , 0 ), ( 3 , 4 , 2 )) * - 2 r2new . aaa += einsum ( r1 . a , ( 0 ,), ints . tmp81 , ( 1 , 2 , 3 , 0 ), ( 3 , 2 , 1 )) * 2 del ints . tmp81 r2new . aaa += einsum ( tmp10 , ( 0 , 1 , 2 ), t2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 )) * - 2 del tmp10 r2new . aaa += np . transpose ( tmp22 , ( 1 , 2 , 0 )) * - 1 r2new . aaa += np . transpose ( tmp22 , ( 2 , 1 , 0 )) del tmp22 r2new . aaa += np . transpose ( tmp28 , ( 1 , 2 , 0 )) r2new . aaa += np . transpose ( tmp28 , ( 2 , 1 , 0 )) * - 1 del tmp28 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp29 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp29 r2new . aaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp31 , ( 1 ,), ( 2 , 3 , 0 )) * 4 del tmp31 r2new . aaa += einsum ( tmp32 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 2 , 1 , 0 )) * - 1 r2new . aaa += einsum ( tmp32 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 1 , 2 , 0 )) del tmp32 r1new . b = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 1 , 0 ), ( 2 ,)) * 2 r1new . b += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 0 ), ( 2 ,)) * - 1 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp1 , ( 2 , 1 ), ( 0 ,)) * 2 r1new . b += einsum ( tmp0 , ( 0 , 1 ), r2 . aba , ( 1 , 2 , 0 ), ( 2 ,)) * - 1 r1new . b += einsum ( tmp6 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp6 r1new . b += einsum ( t1 . bb , ( 0 , 1 ), tmp9 , ( 0 ,), ( 1 ,)) * - 1 del tmp9 r1new . a = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . vvov , ( 3 , 1 , 2 , 0 ), ( 3 ,)) * - 1 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovvv , ( 2 , 0 , 3 , 1 ), ( 3 ,)) * - 2 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp0 , ( 2 , 1 ), ( 0 ,)) * 2 del tmp0 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp1 , ( 2 , 0 ), ( 1 ,)) * - 1 del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp2 r1new . a += einsum ( t1 . aa , ( 0 , 1 ), tmp5 , ( 0 ,), ( 1 ,)) * - 1 del tmp5 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.hbar_lmatvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:54:43.767218.","title":"hbar_lmatvec_ip_intermediates"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.hbar_lmatvec_ip_intermediates--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.hbar_lmatvec_ip_intermediates--returns","text":"tmp1 : array tmp10 : array tmp100 : array tmp101 : array tmp103 : array tmp105 : array tmp107 : array tmp109 : array tmp11 : array tmp111 : array tmp113 : array tmp115 : array tmp117 : array tmp119 : array tmp120 : array tmp122 : array tmp124 : array tmp125 : array tmp127 : array tmp129 : array tmp13 : array tmp130 : array tmp132 : array tmp133 : array tmp135 : array tmp137 : array tmp138 : array tmp140 : array tmp141 : array tmp143 : array tmp144 : array tmp146 : array tmp148 : array tmp149 : array tmp15 : array tmp151 : array tmp152 : array tmp154 : array tmp155 : array tmp156 : array tmp157 : array tmp159 : array tmp161 : array tmp162 : array tmp163 : array tmp164 : array tmp165 : array tmp167 : array tmp168 : array tmp17 : array tmp170 : array tmp172 : array tmp175 : array tmp177 : array tmp179 : array tmp182 : array tmp185 : array tmp187 : array tmp189 : array tmp19 : array tmp191 : array tmp194 : array tmp197 : array tmp199 : array tmp2 : array tmp201 : array tmp203 : array tmp204 : array tmp205 : array tmp206 : array tmp207 : array tmp209 : array tmp21 : array tmp210 : array tmp212 : array tmp215 : array tmp22 : array tmp223 : array tmp225 : array tmp230 : array tmp232 : array tmp238 : array tmp240 : array tmp247 : array tmp248 : array tmp25 : array tmp250 : array tmp251 : array tmp253 : array tmp254 : array tmp256 : array tmp26 : array tmp262 : array tmp264 : array tmp27 : array tmp275 : array tmp277 : array tmp279 : array tmp28 : array tmp281 : array tmp283 : array tmp285 : array tmp291 : array tmp292 : array tmp294 : array tmp295 : array tmp297 : array tmp299 : array tmp30 : array tmp301 : array tmp306 : array tmp307 : array tmp309 : array tmp315 : array tmp317 : array tmp319 : array tmp32 : array tmp320 : array tmp325 : array tmp328 : array tmp334 : array tmp336 : array tmp34 : array tmp341 : array tmp343 : array tmp345 : array tmp347 : array tmp349 : array tmp351 : array tmp36 : array tmp367 : array tmp369 : array tmp37 : array tmp38 : array tmp39 : array tmp390 : array tmp392 : array tmp394 : array tmp396 : array tmp398 : array tmp4 : array tmp400 : array tmp402 : array tmp41 : array tmp412 : array tmp414 : array tmp416 : array tmp43 : array tmp45 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp53 : array tmp55 : array tmp57 : array tmp59 : array tmp61 : array tmp62 : array tmp64 : array tmp65 : array tmp66 : array tmp68 : array tmp7 : array tmp70 : array tmp72 : array tmp74 : array tmp76 : array tmp78 : array tmp8 : array tmp80 : array tmp83 : array tmp85 : array tmp86 : array tmp88 : array tmp90 : array tmp92 : array tmp94 : array tmp96 : array tmp98 : array Source code in ebcc/codegen/UCC2.py 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 def hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:54:43.767218. 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 ------- tmp1 : array tmp10 : array tmp100 : array tmp101 : array tmp103 : array tmp105 : array tmp107 : array tmp109 : array tmp11 : array tmp111 : array tmp113 : array tmp115 : array tmp117 : array tmp119 : array tmp120 : array tmp122 : array tmp124 : array tmp125 : array tmp127 : array tmp129 : array tmp13 : array tmp130 : array tmp132 : array tmp133 : array tmp135 : array tmp137 : array tmp138 : array tmp140 : array tmp141 : array tmp143 : array tmp144 : array tmp146 : array tmp148 : array tmp149 : array tmp15 : array tmp151 : array tmp152 : array tmp154 : array tmp155 : array tmp156 : array tmp157 : array tmp159 : array tmp161 : array tmp162 : array tmp163 : array tmp164 : array tmp165 : array tmp167 : array tmp168 : array tmp17 : array tmp170 : array tmp172 : array tmp175 : array tmp177 : array tmp179 : array tmp182 : array tmp185 : array tmp187 : array tmp189 : array tmp19 : array tmp191 : array tmp194 : array tmp197 : array tmp199 : array tmp2 : array tmp201 : array tmp203 : array tmp204 : array tmp205 : array tmp206 : array tmp207 : array tmp209 : array tmp21 : array tmp210 : array tmp212 : array tmp215 : array tmp22 : array tmp223 : array tmp225 : array tmp230 : array tmp232 : array tmp238 : array tmp240 : array tmp247 : array tmp248 : array tmp25 : array tmp250 : array tmp251 : array tmp253 : array tmp254 : array tmp256 : array tmp26 : array tmp262 : array tmp264 : array tmp27 : array tmp275 : array tmp277 : array tmp279 : array tmp28 : array tmp281 : array tmp283 : array tmp285 : array tmp291 : array tmp292 : array tmp294 : array tmp295 : array tmp297 : array tmp299 : array tmp30 : array tmp301 : array tmp306 : array tmp307 : array tmp309 : array tmp315 : array tmp317 : array tmp319 : array tmp32 : array tmp320 : array tmp325 : array tmp328 : array tmp334 : array tmp336 : array tmp34 : array tmp341 : array tmp343 : array tmp345 : array tmp347 : array tmp349 : array tmp351 : array tmp36 : array tmp367 : array tmp369 : array tmp37 : array tmp38 : array tmp39 : array tmp390 : array tmp392 : array tmp394 : array tmp396 : array tmp398 : array tmp4 : array tmp400 : array tmp402 : array tmp41 : array tmp412 : array tmp414 : array tmp416 : array tmp43 : array tmp45 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp53 : array tmp55 : array tmp57 : array tmp59 : array tmp61 : array tmp62 : array tmp64 : array tmp65 : array tmp66 : array tmp68 : array tmp7 : array tmp70 : array tmp72 : array tmp74 : array tmp76 : array tmp78 : array tmp8 : array tmp80 : array tmp83 : array tmp85 : array tmp86 : array tmp88 : array tmp90 : array tmp92 : array tmp94 : array tmp96 : array tmp98 : array \"\"\" tmp45 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp119 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp41 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp38 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp39 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp36 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp89 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp32 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) tmp82 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 1 ), ( 0 , 3 )) tmp214 = einsum ( t1 . bb , ( 0 , 1 ), tmp45 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp333 = einsum ( tmp119 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp327 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp324 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp174 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp176 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp314 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp151 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp306 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp124 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp211 = einsum ( t1 . aa , ( 0 , 1 ), tmp41 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp209 = einsum ( tmp38 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp156 = einsum ( t1 . aa , ( 0 , 1 ), tmp39 , ( 2 , 1 ), ( 0 , 2 )) tmp205 = einsum ( t1 . bb , ( 0 , 1 ), tmp36 , ( 2 , 1 ), ( 0 , 2 )) tmp203 = einsum ( tmp89 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp155 = einsum ( t1 . aa , ( 0 , 1 ), tmp32 , ( 2 , 1 ), ( 0 , 2 )) tmp154 = einsum ( t1 . aa , ( 0 , 1 ), tmp82 , ( 2 , 1 ), ( 0 , 2 )) tmp196 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp193 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp190 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp188 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp186 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 )) tmp184 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 1 ), ( 2 , 3 )) tmp181 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp178 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp169 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp167 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp27 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp163 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp161 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp26 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) tmp25 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 )) tmp148 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp49 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp143 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp140 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp47 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp21 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp416 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp414 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 1 , 4 ), ( 3 , 4 )) tmp412 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp402 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp400 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 1 , 3 , 4 , 5 ), ( 0 , 4 , 2 , 5 )) tmp398 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp396 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp394 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp392 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp390 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp369 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp367 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp351 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp349 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp347 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) tmp345 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp343 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp341 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp336 = einsum ( tmp214 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp334 = einsum ( tmp333 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp333 tmp328 = einsum ( t1 . aa , ( 0 , 1 ), tmp327 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) del tmp327 tmp325 = einsum ( tmp324 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) del tmp324 tmp320 = einsum ( tmp174 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp319 = einsum ( t1 . aa , ( 0 , 1 ), tmp176 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp317 = einsum ( t1 . bb , ( 0 , 1 ), tmp314 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp315 = einsum ( t1 . bb , ( 0 , 1 ), tmp314 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp314 tmp309 = einsum ( tmp151 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp307 = einsum ( t1 . bb , ( 0 , 1 ), tmp306 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp301 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp45 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp299 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp124 , ( 0 , 4 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp297 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp124 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp295 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp119 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp294 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp119 , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp292 = einsum ( tmp119 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp291 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp119 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp285 = einsum ( tmp38 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp283 = einsum ( tmp38 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp281 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp36 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp279 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp36 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp277 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp89 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp275 = einsum ( tmp89 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp264 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) tmp262 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp256 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp254 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 3 , 5 )) tmp253 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp251 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp250 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp248 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp247 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp240 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . vvoo , ( 2 , 1 , 3 , 4 ), ( 0 , 3 , 4 , 2 )) tmp238 = einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp232 = einsum ( v . aabb . oooo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp230 = einsum ( v . bbbb . oooo , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp225 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp223 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp215 = einsum ( t1 . bb , ( 0 , 1 ), tmp214 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) del tmp214 tmp212 = einsum ( tmp211 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp211 tmp210 = einsum ( t1 . bb , ( 0 , 1 ), tmp209 , ( 2 , 0 ), ( 2 , 1 )) tmp207 = einsum ( t1 . aa , ( 0 , 1 ), tmp156 , ( 2 , 0 ), ( 2 , 1 )) tmp206 = einsum ( t1 . bb , ( 0 , 1 ), tmp205 , ( 2 , 0 ), ( 2 , 1 )) tmp204 = einsum ( t1 . bb , ( 0 , 1 ), tmp203 , ( 2 , 0 ), ( 2 , 1 )) tmp201 = einsum ( t1 . aa , ( 0 , 1 ), tmp155 , ( 2 , 0 ), ( 2 , 1 )) tmp199 = einsum ( t1 . aa , ( 0 , 1 ), tmp154 , ( 2 , 0 ), ( 2 , 1 )) tmp197 = einsum ( t1 . bb , ( 0 , 1 ), tmp196 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) del tmp196 tmp194 = einsum ( tmp193 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) del tmp193 tmp191 = einsum ( t1 . aa , ( 0 , 1 ), tmp190 , ( 2 , 1 ), ( 0 , 2 )) del tmp190 tmp189 = einsum ( tmp188 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) del tmp188 tmp187 = einsum ( tmp186 , ( 0 , 1 ), t1 . bb , ( 2 , 0 ), ( 2 , 1 )) del tmp186 tmp185 = einsum ( tmp184 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) del tmp184 tmp182 = einsum ( t1 . aa , ( 0 , 1 ), tmp181 , ( 1 , 2 ), ( 0 , 2 )) del tmp181 tmp179 = einsum ( tmp178 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) del tmp178 tmp177 = einsum ( t1 . bb , ( 0 , 1 ), tmp176 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) del tmp176 tmp175 = einsum ( t1 . bb , ( 0 , 1 ), tmp174 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) del tmp174 tmp172 = einsum ( tmp169 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp170 = einsum ( tmp169 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp169 tmp168 = einsum ( t1 . bb , ( 0 , 1 ), tmp167 , ( 2 , 0 ), ( 2 , 1 )) tmp165 = einsum ( t1 . aa , ( 0 , 1 ), tmp27 , ( 2 , 0 ), ( 2 , 1 )) tmp164 = einsum ( t1 . bb , ( 0 , 1 ), tmp163 , ( 2 , 0 ), ( 2 , 1 )) tmp162 = einsum ( t1 . bb , ( 0 , 1 ), tmp161 , ( 2 , 0 ), ( 2 , 1 )) tmp159 = einsum ( tmp26 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp157 = einsum ( tmp25 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp152 = einsum ( t1 . bb , ( 0 , 1 ), tmp151 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp149 = einsum ( tmp148 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp146 = einsum ( tmp49 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp144 = einsum ( t1 . bb , ( 0 , 1 ), tmp143 , ( 2 , 0 ), ( 2 , 1 )) tmp141 = einsum ( t1 . bb , ( 0 , 1 ), tmp140 , ( 2 , 0 ), ( 2 , 1 )) tmp138 = einsum ( t1 . aa , ( 0 , 1 ), tmp47 , ( 2 , 0 ), ( 2 , 1 )) tmp137 = einsum ( tmp124 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 1 , 5 )) tmp135 = einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp133 = einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp132 = einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) tmp130 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp129 = einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp127 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp125 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp124 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) tmp122 = einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp120 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp119 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 tmp117 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp115 = einsum ( tmp39 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp113 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp111 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp32 , ( 4 , 2 ), ( 0 , 4 , 1 , 3 )) tmp109 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp32 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp107 = einsum ( tmp82 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp105 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp82 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp103 = einsum ( tmp38 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp101 = einsum ( tmp38 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp100 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp39 , ( 0 , 2 ), ( 1 , 3 )) tmp98 = einsum ( tmp39 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp96 = einsum ( tmp36 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp94 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp36 , ( 1 , 3 ), ( 0 , 2 )) tmp92 = einsum ( tmp89 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp90 = einsum ( tmp89 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp89 tmp88 = einsum ( tmp32 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp86 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp32 , ( 1 , 3 ), ( 0 , 2 )) tmp85 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp82 , ( 0 , 2 ), ( 1 , 3 )) tmp83 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp82 , ( 1 , 3 ), ( 0 , 2 )) del tmp82 tmp80 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp78 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp76 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp74 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp72 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp70 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp68 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp66 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp65 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 1 , 5 ), ( 4 , 0 , 2 , 5 )) tmp64 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) tmp62 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp61 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp59 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp57 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp55 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) tmp53 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 1 tmp51 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp46 = einsum ( v . aabb . oovv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp43 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . oovv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp37 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp34 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 )) tmp30 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp28 = einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp22 = einsum ( t1 . bb , ( 0 , 1 ), tmp21 , ( 0 , 2 ), ( 2 , 1 )) tmp19 = einsum ( t1 . aa , ( 0 , 1 ), tmp1 , ( 0 , 2 ), ( 2 , 1 )) tmp17 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp15 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp13 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp11 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp10 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp8 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 1 , 3 ), ( 0 , 2 )) tmp7 = einsum ( f . bb . vv , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp5 = einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp4 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . oo , ( 2 , 0 ), ( 2 , 1 )) tmp2 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . oo , ( 2 , 0 ), ( 2 , 1 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp101\" : tmp101 , f \"tmp103\" : tmp103 , f \"tmp105\" : tmp105 , f \"tmp107\" : tmp107 , f \"tmp109\" : tmp109 , f \"tmp11\" : tmp11 , f \"tmp111\" : tmp111 , f \"tmp113\" : tmp113 , f \"tmp115\" : tmp115 , f \"tmp117\" : tmp117 , f \"tmp119\" : tmp119 , f \"tmp120\" : tmp120 , f \"tmp122\" : tmp122 , f \"tmp124\" : tmp124 , f \"tmp125\" : tmp125 , f \"tmp127\" : tmp127 , f \"tmp129\" : tmp129 , f \"tmp13\" : tmp13 , f \"tmp130\" : tmp130 , f \"tmp132\" : tmp132 , f \"tmp133\" : tmp133 , f \"tmp135\" : tmp135 , f \"tmp137\" : tmp137 , f \"tmp138\" : tmp138 , f \"tmp140\" : tmp140 , f \"tmp141\" : tmp141 , f \"tmp143\" : tmp143 , f \"tmp144\" : tmp144 , f \"tmp146\" : tmp146 , f \"tmp148\" : tmp148 , f \"tmp149\" : tmp149 , f \"tmp15\" : tmp15 , f \"tmp151\" : tmp151 , f \"tmp152\" : tmp152 , f \"tmp154\" : tmp154 , f \"tmp155\" : tmp155 , f \"tmp156\" : tmp156 , f \"tmp157\" : tmp157 , f \"tmp159\" : tmp159 , f \"tmp161\" : tmp161 , f \"tmp162\" : tmp162 , f \"tmp163\" : tmp163 , f \"tmp164\" : tmp164 , f \"tmp165\" : tmp165 , f \"tmp167\" : tmp167 , f \"tmp168\" : tmp168 , f \"tmp17\" : tmp17 , f \"tmp170\" : tmp170 , f \"tmp172\" : tmp172 , f \"tmp175\" : tmp175 , f \"tmp177\" : tmp177 , f \"tmp179\" : tmp179 , f \"tmp182\" : tmp182 , f \"tmp185\" : tmp185 , f \"tmp187\" : tmp187 , f \"tmp189\" : tmp189 , f \"tmp19\" : tmp19 , f \"tmp191\" : tmp191 , f \"tmp194\" : tmp194 , f \"tmp197\" : tmp197 , f \"tmp199\" : tmp199 , f \"tmp2\" : tmp2 , f \"tmp201\" : tmp201 , f \"tmp203\" : tmp203 , f \"tmp204\" : tmp204 , f \"tmp205\" : tmp205 , f \"tmp206\" : tmp206 , f \"tmp207\" : tmp207 , f \"tmp209\" : tmp209 , f \"tmp21\" : tmp21 , f \"tmp210\" : tmp210 , f \"tmp212\" : tmp212 , f \"tmp215\" : tmp215 , f \"tmp22\" : tmp22 , f \"tmp223\" : tmp223 , f \"tmp225\" : tmp225 , f \"tmp230\" : tmp230 , f \"tmp232\" : tmp232 , f \"tmp238\" : tmp238 , f \"tmp240\" : tmp240 , f \"tmp247\" : tmp247 , f \"tmp248\" : tmp248 , f \"tmp25\" : tmp25 , f \"tmp250\" : tmp250 , f \"tmp251\" : tmp251 , f \"tmp253\" : tmp253 , f \"tmp254\" : tmp254 , f \"tmp256\" : tmp256 , f \"tmp26\" : tmp26 , f \"tmp262\" : tmp262 , f \"tmp264\" : tmp264 , f \"tmp27\" : tmp27 , f \"tmp275\" : tmp275 , f \"tmp277\" : tmp277 , f \"tmp279\" : tmp279 , f \"tmp28\" : tmp28 , f \"tmp281\" : tmp281 , f \"tmp283\" : tmp283 , f \"tmp285\" : tmp285 , f \"tmp291\" : tmp291 , f \"tmp292\" : tmp292 , f \"tmp294\" : tmp294 , f \"tmp295\" : tmp295 , f \"tmp297\" : tmp297 , f \"tmp299\" : tmp299 , f \"tmp30\" : tmp30 , f \"tmp301\" : tmp301 , f \"tmp306\" : tmp306 , f \"tmp307\" : tmp307 , f \"tmp309\" : tmp309 , f \"tmp315\" : tmp315 , f \"tmp317\" : tmp317 , f \"tmp319\" : tmp319 , f \"tmp32\" : tmp32 , f \"tmp320\" : tmp320 , f \"tmp325\" : tmp325 , f \"tmp328\" : tmp328 , f \"tmp334\" : tmp334 , f \"tmp336\" : tmp336 , f \"tmp34\" : tmp34 , f \"tmp341\" : tmp341 , f \"tmp343\" : tmp343 , f \"tmp345\" : tmp345 , f \"tmp347\" : tmp347 , f \"tmp349\" : tmp349 , f \"tmp351\" : tmp351 , f \"tmp36\" : tmp36 , f \"tmp367\" : tmp367 , f \"tmp369\" : tmp369 , f \"tmp37\" : tmp37 , f \"tmp38\" : tmp38 , f \"tmp39\" : tmp39 , f \"tmp390\" : tmp390 , f \"tmp392\" : tmp392 , f \"tmp394\" : tmp394 , f \"tmp396\" : tmp396 , f \"tmp398\" : tmp398 , f \"tmp4\" : tmp4 , f \"tmp400\" : tmp400 , f \"tmp402\" : tmp402 , f \"tmp41\" : tmp41 , f \"tmp412\" : tmp412 , f \"tmp414\" : tmp414 , f \"tmp416\" : tmp416 , f \"tmp43\" : tmp43 , f \"tmp45\" : tmp45 , f \"tmp46\" : tmp46 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp51\" : tmp51 , f \"tmp53\" : tmp53 , f \"tmp55\" : tmp55 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp61\" : tmp61 , f \"tmp62\" : tmp62 , f \"tmp64\" : tmp64 , f \"tmp65\" : tmp65 , f \"tmp66\" : tmp66 , f \"tmp68\" : tmp68 , f \"tmp7\" : tmp7 , f \"tmp70\" : tmp70 , f \"tmp72\" : tmp72 , f \"tmp74\" : tmp74 , f \"tmp76\" : tmp76 , f \"tmp78\" : tmp78 , f \"tmp8\" : tmp8 , f \"tmp80\" : tmp80 , f \"tmp83\" : tmp83 , f \"tmp85\" : tmp85 , f \"tmp86\" : tmp86 , f \"tmp88\" : tmp88 , f \"tmp90\" : tmp90 , f \"tmp92\" : tmp92 , f \"tmp94\" : tmp94 , f \"tmp96\" : tmp96 , f \"tmp98\" : tmp98 }","title":"Returns"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.hbar_lmatvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T18:54:43.868676.","title":"hbar_lmatvec_ip"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.hbar_lmatvec_ip--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.hbar_lmatvec_ip--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UCC2.py 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:54:43.868676. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp35 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 1 , 2 ), ( 3 ,)) tmp36 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 0 , 1 , 3 ), ( 2 ,)) tmp51 = np . copy ( ints . tmp398 ) tmp51 += ints . tmp402 * 0.5 tmp55 = np . copy ( ints . tmp140 ) * 2 tmp55 += ints . tmp143 tmp53 = np . copy ( tmp35 ) * - 0.5 tmp53 += tmp36 tmp62 = np . copy ( f . bb . oo ) tmp62 += np . transpose ( ints . tmp21 , ( 1 , 0 )) tmp60 = np . copy ( ints . tmp396 ) tmp60 += ints . tmp400 * 2 tmp25 = np . copy ( f . aa . oo ) tmp25 += np . transpose ( ints . tmp1 , ( 1 , 0 )) tmp23 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 0 , 3 , 2 ), ( 3 ,)) * - 1 tmp16 = np . copy ( ints . tmp47 ) * 2 tmp16 += ints . tmp49 tmp12 = np . copy ( ints . tmp345 ) tmp12 += ints . tmp349 * 0.5 tmp14 = np . copy ( ints . tmp347 ) tmp14 += ints . tmp351 * 2 tmp10 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 0 , 1 , 3 ), ( 2 ,)) tmp48 = einsum ( ints . tmp392 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) tmp52 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp51 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * - 4 del tmp51 tmp47 = einsum ( r1 . b , ( 0 ,), v . bbbb . ooov , ( 1 , 0 , 2 , 3 ), ( 1 , 2 , 3 )) tmp49 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 4 , 1 ), ( 4 , 2 , 3 )) tmp56 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp55 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 2 del tmp55 tmp54 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp53 , ( 1 ,), ( 0 , 2 , 3 )) * 2 del tmp53 tmp50 = einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp63 = einsum ( tmp62 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp62 tmp59 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 2 , 3 ), ( 4 , 0 , 1 )) tmp61 = einsum ( tmp60 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 4 , 2 ), ( 4 , 1 , 3 )) del tmp60 tmp58 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp394 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) tmp44 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp29 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp26 = einsum ( tmp25 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp25 tmp20 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 3 ), ( 4 , 0 , 1 )) tmp21 = einsum ( ints . tmp343 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * - 1 tmp19 = einsum ( ints . tmp341 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 0 , 2 ), ( 1 , 4 , 3 )) tmp24 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp23 , ( 3 ,), ( 0 , 2 , 1 )) tmp22 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . ovov , ( 3 , 4 , 0 , 2 ), ( 1 , 3 , 4 )) * - 1 tmp9 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp17 = einsum ( tmp16 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 2 del tmp16 tmp8 = einsum ( r1 . a , ( 0 ,), v . aaaa . ooov , ( 1 , 0 , 2 , 3 ), ( 1 , 2 , 3 )) tmp13 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp12 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * - 4 del tmp12 tmp15 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 1 , 4 , 3 ), ( 4 , 0 , 2 )) * - 1 del tmp14 tmp11 = einsum ( tmp10 , ( 0 ,), v . aaaa . ovov , ( 1 , 2 , 3 , 0 ), ( 1 , 3 , 2 )) * - 1 tmp65 = np . copy ( ints . tmp306 ) del ints . tmp306 tmp65 += np . transpose ( v . bbbb . oooo , ( 0 , 2 , 1 , 3 )) tmp57 = einsum ( f . bb . ov , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) tmp57 += tmp47 del tmp47 tmp57 += tmp48 del tmp48 tmp57 += tmp49 del tmp49 tmp57 += tmp50 * 2 del tmp50 tmp57 += np . transpose ( tmp52 , ( 1 , 0 , 2 )) * - 1 del tmp52 tmp57 += np . transpose ( tmp54 , ( 1 , 0 , 2 )) * - 1 del tmp54 tmp57 += np . transpose ( tmp56 , ( 1 , 0 , 2 )) del tmp56 tmp64 = np . copy ( tmp58 ) * 4 del tmp58 tmp64 += tmp59 * 2 del tmp59 tmp64 += np . transpose ( tmp61 , ( 1 , 0 , 2 )) del tmp61 tmp64 += np . transpose ( tmp63 , ( 1 , 0 , 2 )) * - 2 del tmp63 tmp45 = np . copy ( ints . tmp412 ) * 2 del ints . tmp412 tmp45 += ints . tmp414 del ints . tmp414 tmp45 += f . bb . vv * - 1 tmp45 += np . transpose ( tmp44 , ( 1 , 0 )) del tmp44 tmp41 = np . copy ( ints . tmp396 ) del ints . tmp396 tmp41 += ints . tmp400 * 2 del ints . tmp400 tmp41 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp41 += ints . tmp392 * - 1 del ints . tmp392 tmp39 = np . copy ( f . aa . oo ) tmp39 += np . transpose ( ints . tmp1 , ( 1 , 0 )) tmp39 += ints . tmp47 * 2 tmp39 += ints . tmp49 tmp40 = np . copy ( ints . tmp398 ) * 2 del ints . tmp398 tmp40 += ints . tmp402 del ints . tmp402 tmp40 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp40 += ints . tmp394 * - 2 del ints . tmp394 tmp40 += v . bbbb . oovv * - 1 tmp42 = np . copy ( ints . tmp416 ) del ints . tmp416 tmp42 += v . aabb . oovv * - 1 tmp38 = np . copy ( f . bb . oo ) tmp38 += ints . tmp140 * 2 tmp38 += ints . tmp143 tmp38 += np . transpose ( ints . tmp21 , ( 1 , 0 )) tmp46 = np . copy ( tmp10 ) * 2 del tmp10 tmp46 += tmp23 del tmp23 tmp43 = np . copy ( ints . tmp151 ) tmp43 += v . aabb . oooo tmp32 = np . copy ( ints . tmp347 ) del ints . tmp347 tmp32 += ints . tmp351 * 2 del ints . tmp351 tmp32 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp32 += ints . tmp343 * - 1 del ints . tmp343 tmp31 = np . copy ( ints . tmp345 ) * 2 del ints . tmp345 tmp31 += ints . tmp349 del ints . tmp349 tmp31 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp31 += ints . tmp341 * - 2 del ints . tmp341 tmp31 += v . aaaa . oovv * - 1 tmp37 = np . copy ( tmp35 ) * - 1 del tmp35 tmp37 += tmp36 * 2 del tmp36 tmp33 = np . copy ( ints . tmp390 ) del ints . tmp390 tmp33 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) * - 1 tmp34 = np . copy ( ints . tmp151 ) del ints . tmp151 tmp34 += v . aabb . oooo tmp30 = np . copy ( ints . tmp367 ) * 2 del ints . tmp367 tmp30 += ints . tmp369 del ints . tmp369 tmp30 += f . aa . vv * - 1 tmp30 += np . transpose ( tmp29 , ( 1 , 0 )) del tmp29 tmp27 = np . copy ( tmp19 ) * 4 del tmp19 tmp27 += tmp20 * 2 del tmp20 tmp27 += tmp21 del tmp21 tmp27 += tmp22 del tmp22 tmp27 += tmp24 del tmp24 tmp27 += np . transpose ( tmp26 , ( 1 , 0 , 2 )) * - 2 del tmp26 tmp18 = einsum ( f . aa . ov , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) tmp18 += tmp8 del tmp8 tmp18 += tmp9 * 2 del tmp9 tmp18 += tmp11 * 2 del tmp11 tmp18 += np . transpose ( tmp13 , ( 1 , 0 , 2 )) * - 1 del tmp13 tmp18 += np . transpose ( tmp15 , ( 1 , 0 , 2 )) del tmp15 tmp18 += np . transpose ( tmp17 , ( 1 , 0 , 2 )) del tmp17 tmp28 = np . copy ( ints . tmp148 ) del ints . tmp148 tmp28 += np . transpose ( v . aaaa . oooo , ( 0 , 2 , 1 , 3 )) tmp6 = np . copy ( np . transpose ( ints . tmp225 , ( 1 , 2 , 0 , 3 ))) del ints . tmp225 tmp6 += np . transpose ( ints . tmp230 , ( 1 , 2 , 0 , 3 )) del ints . tmp230 tmp6 += np . transpose ( ints . tmp238 , ( 0 , 2 , 1 , 3 )) del ints . tmp238 tmp6 += np . transpose ( ints . tmp251 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp251 tmp6 += np . transpose ( ints . tmp256 , ( 0 , 2 , 1 , 3 )) del ints . tmp256 tmp6 += ints . tmp281 del ints . tmp281 tmp6 += ints . tmp285 del ints . tmp285 tmp6 += ints . tmp295 * 2 del ints . tmp295 tmp6 += ints . tmp307 del ints . tmp307 tmp6 += ints . tmp315 del ints . tmp315 tmp6 += ints . tmp334 del ints . tmp334 tmp6 += ints . tmp119 * - 1 del ints . tmp119 tmp6 += ints . tmp248 * - 2 del ints . tmp248 tmp6 += ints . tmp262 * - 1 del ints . tmp262 tmp6 += ints . tmp277 * - 1 del ints . tmp277 tmp6 += ints . tmp292 * - 2 del ints . tmp292 tmp6 += ints . tmp299 * - 1 del ints . tmp299 tmp6 += np . transpose ( ints . tmp317 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp317 tmp6 += ints . tmp325 * - 1 del ints . tmp325 tmp6 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp7 = np . copy ( f . bb . oo ) tmp7 += ints . tmp140 * 2 del ints . tmp140 tmp7 += ints . tmp143 del ints . tmp143 tmp7 += np . transpose ( ints . tmp163 , ( 1 , 0 )) del ints . tmp163 tmp7 += np . transpose ( ints . tmp167 , ( 1 , 0 )) del ints . tmp167 tmp7 += ints . tmp205 del ints . tmp205 tmp7 += ints . tmp209 del ints . tmp209 tmp7 += np . transpose ( ints . tmp21 , ( 1 , 0 )) del ints . tmp21 tmp7 += ints . tmp161 * - 1 del ints . tmp161 tmp7 += ints . tmp203 * - 1 del ints . tmp203 tmp2 = np . copy ( ints . tmp120 ) del ints . tmp120 tmp2 += ints . tmp125 * 0.5 del ints . tmp125 tmp2 += ints . tmp141 del ints . tmp141 tmp2 += ints . tmp144 * 0.5 del ints . tmp144 tmp2 += ints . tmp164 * 0.5 del ints . tmp164 tmp2 += ints . tmp168 * 0.5 del ints . tmp168 tmp2 += ints . tmp187 * 0.5 del ints . tmp187 tmp2 += ints . tmp206 * 0.5 del ints . tmp206 tmp2 += ints . tmp210 * 0.5 del ints . tmp210 tmp2 += ints . tmp22 * 0.5 del ints . tmp22 tmp2 += ints . tmp37 * 0.5 del ints . tmp37 tmp2 += ints . tmp4 * 0.5 del ints . tmp4 tmp2 += ints . tmp53 del ints . tmp53 tmp2 += ints . tmp55 * 0.5 del ints . tmp55 tmp2 += ints . tmp72 del ints . tmp72 tmp2 += ints . tmp85 * 0.5 del ints . tmp85 tmp2 += ints . tmp92 del ints . tmp92 tmp2 += f . bb . ov * - 0.5 tmp2 += ints . tmp100 * - 0.5 del ints . tmp100 tmp2 += ints . tmp103 * - 1 del ints . tmp103 tmp2 += ints . tmp10 * - 0.5 del ints . tmp10 tmp2 += ints . tmp13 * - 1 del ints . tmp13 tmp2 += ints . tmp162 * - 0.5 del ints . tmp162 tmp2 += ints . tmp185 * - 0.5 del ints . tmp185 tmp2 += ints . tmp189 * - 0.5 del ints . tmp189 tmp2 += ints . tmp204 * - 0.5 del ints . tmp204 tmp2 += ints . tmp36 * - 0.5 del ints . tmp36 tmp2 += ints . tmp38 * - 0.5 del ints . tmp38 tmp2 += ints . tmp74 * - 0.5 del ints . tmp74 tmp2 += ints . tmp7 * - 0.5 del ints . tmp7 tmp2 += ints . tmp88 * - 0.5 del ints . tmp88 tmp2 += ints . tmp96 * - 1 del ints . tmp96 tmp5 = np . copy ( ints . tmp124 ) del ints . tmp124 tmp5 += np . transpose ( ints . tmp223 , ( 0 , 2 , 1 , 3 )) del ints . tmp223 tmp5 += np . transpose ( ints . tmp240 , ( 0 , 2 , 1 , 3 )) del ints . tmp240 tmp5 += np . transpose ( ints . tmp250 , ( 0 , 2 , 1 , 3 )) del ints . tmp250 tmp5 += np . transpose ( ints . tmp254 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp254 tmp5 += ints . tmp264 del ints . tmp264 tmp5 += ints . tmp279 del ints . tmp279 tmp5 += ints . tmp283 del ints . tmp283 tmp5 += ints . tmp291 del ints . tmp291 tmp5 += ints . tmp297 * 2 del ints . tmp297 tmp5 += ints . tmp328 del ints . tmp328 tmp5 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp5 += np . transpose ( ints . tmp232 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp232 tmp5 += ints . tmp247 * - 1 del ints . tmp247 tmp5 += ints . tmp253 * - 1 del ints . tmp253 tmp5 += ints . tmp275 * - 1 del ints . tmp275 tmp5 += ints . tmp294 * - 1 del ints . tmp294 tmp5 += ints . tmp301 * - 1 del ints . tmp301 tmp5 += ints . tmp309 * - 1 del ints . tmp309 tmp5 += ints . tmp319 * - 1 del ints . tmp319 tmp5 += np . transpose ( ints . tmp320 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp320 tmp5 += ints . tmp336 * - 1 del ints . tmp336 tmp3 = np . copy ( ints . tmp117 ) del ints . tmp117 tmp3 += ints . tmp122 * 0.5 del ints . tmp122 tmp3 += ints . tmp138 del ints . tmp138 tmp3 += ints . tmp146 * 0.5 del ints . tmp146 tmp3 += ints . tmp159 * 0.5 del ints . tmp159 tmp3 += ints . tmp165 * 0.5 del ints . tmp165 tmp3 += ints . tmp182 * 0.5 del ints . tmp182 tmp3 += ints . tmp19 * 0.5 del ints . tmp19 tmp3 += ints . tmp201 * 0.5 del ints . tmp201 tmp3 += ints . tmp207 * 0.5 del ints . tmp207 tmp3 += ints . tmp2 * 0.5 del ints . tmp2 tmp3 += ints . tmp34 * 0.5 del ints . tmp34 tmp3 += ints . tmp51 del ints . tmp51 tmp3 += ints . tmp57 * 0.5 del ints . tmp57 tmp3 += ints . tmp70 del ints . tmp70 tmp3 += ints . tmp83 del ints . tmp83 tmp3 += ints . tmp90 * 0.5 del ints . tmp90 tmp3 += f . aa . ov * - 0.5 tmp3 += ints . tmp101 * - 0.5 del ints . tmp101 tmp3 += ints . tmp11 * - 0.5 del ints . tmp11 tmp3 += ints . tmp157 * - 0.5 del ints . tmp157 tmp3 += ints . tmp179 * - 0.5 del ints . tmp179 tmp3 += ints . tmp191 * - 0.5 del ints . tmp191 tmp3 += ints . tmp199 * - 0.5 del ints . tmp199 tmp3 += ints . tmp32 * - 0.5 del ints . tmp32 tmp3 += ints . tmp39 * - 0.5 del ints . tmp39 tmp3 += ints . tmp5 * - 0.5 del ints . tmp5 tmp3 += ints . tmp76 * - 0.5 del ints . tmp76 tmp3 += ints . tmp86 * - 1 del ints . tmp86 tmp3 += ints . tmp8 * - 1 del ints . tmp8 tmp3 += ints . tmp94 * - 0.5 del ints . tmp94 tmp3 += ints . tmp98 * - 1 del ints . tmp98 tmp4 = np . copy ( f . aa . oo ) tmp4 += ints . tmp155 del ints . tmp155 tmp4 += ints . tmp156 del ints . tmp156 tmp4 += np . transpose ( ints . tmp1 , ( 1 , 0 )) del ints . tmp1 tmp4 += np . transpose ( ints . tmp26 , ( 1 , 0 )) del ints . tmp26 tmp4 += np . transpose ( ints . tmp27 , ( 1 , 0 )) del ints . tmp27 tmp4 += ints . tmp47 * 2 del ints . tmp47 tmp4 += ints . tmp49 del ints . tmp49 tmp4 += ints . tmp154 * - 1 del ints . tmp154 tmp4 += ints . tmp25 * - 1 del ints . tmp25 tmp0 = np . copy ( ints . tmp111 ) del ints . tmp111 tmp0 += ints . tmp115 del ints . tmp115 tmp0 += ints . tmp129 del ints . tmp129 tmp0 += ints . tmp135 * 2 del ints . tmp135 tmp0 += np . transpose ( ints . tmp17 , ( 1 , 0 , 2 , 3 )) del ints . tmp17 tmp0 += ints . tmp197 del ints . tmp197 tmp0 += ints . tmp45 del ints . tmp45 tmp0 += np . transpose ( ints . tmp46 , ( 1 , 0 , 2 , 3 )) del ints . tmp46 tmp0 += np . transpose ( ints . tmp64 , ( 1 , 0 , 2 , 3 )) del ints . tmp64 tmp0 += np . transpose ( ints . tmp68 , ( 1 , 0 , 2 , 3 )) * 2 del ints . tmp68 tmp0 += ints . tmp80 del ints . tmp80 tmp0 += v . aabb . ooov tmp0 += ints . tmp107 * - 1 del ints . tmp107 tmp0 += ints . tmp132 * - 1 del ints . tmp132 tmp0 += ints . tmp137 * - 1 del ints . tmp137 tmp0 += ints . tmp152 * - 1 del ints . tmp152 tmp0 += ints . tmp175 * - 1 del ints . tmp175 tmp0 += np . transpose ( ints . tmp177 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp177 tmp0 += ints . tmp215 * - 1 del ints . tmp215 tmp0 += np . transpose ( ints . tmp30 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp30 tmp0 += ints . tmp61 * - 1 del ints . tmp61 tmp0 += ints . tmp65 * - 1 del ints . tmp65 tmp1 = np . copy ( ints . tmp109 ) del ints . tmp109 tmp1 += ints . tmp113 del ints . tmp113 tmp1 += ints . tmp130 * 2 del ints . tmp130 tmp1 += ints . tmp149 del ints . tmp149 tmp1 += np . transpose ( ints . tmp15 , ( 1 , 2 , 0 , 3 )) del ints . tmp15 tmp1 += ints . tmp170 del ints . tmp170 tmp1 += ints . tmp212 del ints . tmp212 tmp1 += np . transpose ( ints . tmp28 , ( 1 , 2 , 0 , 3 )) del ints . tmp28 tmp1 += np . transpose ( ints . tmp43 , ( 0 , 2 , 1 , 3 )) del ints . tmp43 tmp1 += np . transpose ( ints . tmp62 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp62 tmp1 += np . transpose ( ints . tmp66 , ( 0 , 2 , 1 , 3 )) del ints . tmp66 tmp1 += ints . tmp105 * - 1 del ints . tmp105 tmp1 += ints . tmp127 * - 2 del ints . tmp127 tmp1 += ints . tmp133 * - 1 del ints . tmp133 tmp1 += np . transpose ( ints . tmp172 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp172 tmp1 += ints . tmp194 * - 1 del ints . tmp194 tmp1 += ints . tmp41 * - 1 del ints . tmp41 tmp1 += ints . tmp59 * - 2 del ints . tmp59 tmp1 += ints . tmp78 * - 1 del ints . tmp78 tmp1 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) * - 1 r2new . bbb = np . copy ( tmp57 ) * - 1 r2new . bbb += np . transpose ( tmp57 , ( 1 , 0 , 2 )) del tmp57 r2new . bbb += tmp64 r2new . bbb += np . transpose ( tmp64 , ( 1 , 0 , 2 )) * - 1 del tmp64 r2new . bbb += einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 1 , 0 , 4 ), ( 2 , 3 , 4 )) * - 2 del tmp65 r2new . bbb += einsum ( tmp45 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bab = einsum ( f . bb . ov , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) * - 1 r2new . bab += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 2 , 0 , 3 )) r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp40 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) del tmp40 r2new . bab += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp41 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) * - 2 del tmp41 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp42 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) del tmp42 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp43 , ( 1 , 3 , 0 , 4 ), ( 4 , 3 , 2 )) del tmp43 r2new . bab += einsum ( tmp45 , ( 0 , 1 ), r2 . bab , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp45 r2new . bab += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp46 , ( 1 ,), ( 2 , 0 , 3 )) del tmp46 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp38 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new . bab += einsum ( tmp39 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . aba = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 0 , 2 , 1 )) r2new . aba += einsum ( r1 . b , ( 0 ,), f . aa . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp31 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) del tmp31 r2new . aba += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp32 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) * - 2 del tmp32 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp33 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) del tmp33 r2new . aba += einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 2 , 4 ), ( 1 , 3 , 4 )) del tmp34 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp30 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp37 , ( 3 ,), ( 0 , 2 , 1 )) del tmp37 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp38 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp38 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp39 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp39 r2new . aaa = np . copy ( tmp18 ) * - 1 r2new . aaa += np . transpose ( tmp18 , ( 1 , 0 , 2 )) del tmp18 r2new . aaa += tmp27 r2new . aaa += np . transpose ( tmp27 , ( 1 , 0 , 2 )) * - 1 del tmp27 r2new . aaa += einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 0 , 1 , 4 ), ( 2 , 3 , 4 )) * 2 del tmp28 r2new . aaa += einsum ( tmp30 , ( 0 , 1 ), r2 . aaa , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 del tmp30 r1new . b = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 1 , 3 ), ( 2 ,)) del tmp5 r1new . b += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 0 , 1 , 3 ), ( 2 ,)) * 2 del tmp6 r1new . b += einsum ( tmp2 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 1 ), ( 2 ,)) * - 4 r1new . b += einsum ( tmp3 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 1 ), ( 2 ,)) * 2 r1new . b += einsum ( tmp7 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp7 r1new . a = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 0 , 3 ), ( 1 ,)) del tmp0 r1new . a += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 1 , 0 , 3 ), ( 2 ,)) * - 2 del tmp1 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp2 , ( 0 , 2 ), ( 1 ,)) * 2 del tmp2 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp3 , ( 1 , 2 ), ( 0 ,)) * - 4 del tmp3 r1new . a += einsum ( tmp4 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.hbar_lmatvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:56:17.551677.","title":"hbar_lmatvec_ea_intermediates"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.hbar_lmatvec_ea_intermediates--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.hbar_lmatvec_ea_intermediates--returns","text":"tmp10 : array tmp100 : array tmp101 : array tmp103 : array tmp11 : array tmp111 : array tmp112 : array tmp114 : array tmp115 : array tmp117 : array tmp118 : array tmp120 : array tmp121 : array tmp123 : array tmp125 : array tmp127 : array tmp128 : array tmp13 : array tmp130 : array tmp131 : array tmp133 : array tmp134 : array tmp136 : array tmp137 : array tmp139 : array tmp141 : array tmp142 : array tmp144 : array tmp145 : array tmp147 : array tmp149 : array tmp151 : array tmp154 : array tmp157 : array tmp159 : array tmp161 : array tmp164 : array tmp169 : array tmp171 : array tmp173 : array tmp174 : array tmp175 : array tmp176 : array tmp177 : array tmp178 : array tmp179 : array tmp181 : array tmp183 : array tmp185 : array tmp186 : array tmp188 : array tmp19 : array tmp191 : array tmp194 : array tmp196 : array tmp198 : array tmp2 : array tmp20 : array tmp201 : array tmp22 : array tmp226 : array tmp228 : array tmp23 : array tmp230 : array tmp232 : array tmp238 : array tmp240 : array tmp246 : array tmp247 : array tmp249 : array tmp250 : array tmp252 : array tmp254 : array tmp256 : array tmp26 : array tmp27 : array tmp276 : array tmp278 : array tmp28 : array tmp284 : array tmp285 : array tmp287 : array tmp288 : array tmp29 : array tmp290 : array tmp292 : array tmp294 : array tmp305 : array tmp307 : array tmp309 : array tmp31 : array tmp310 : array tmp33 : array tmp34 : array tmp35 : array tmp36 : array tmp4 : array tmp43 : array tmp45 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp53 : array tmp55 : array tmp57 : array tmp59 : array tmp61 : array tmp63 : array tmp65 : array tmp67 : array tmp69 : array tmp7 : array tmp71 : array tmp73 : array tmp74 : array tmp76 : array tmp77 : array tmp79 : array tmp8 : array tmp81 : array tmp82 : array tmp83 : array tmp85 : array tmp86 : array tmp88 : array tmp89 : array tmp90 : array tmp92 : array tmp94 : array tmp96 : array tmp98 : array Source code in ebcc/codegen/UCC2.py 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 def hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:56:17.551677. 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 ------- tmp10 : array tmp100 : array tmp101 : array tmp103 : array tmp11 : array tmp111 : array tmp112 : array tmp114 : array tmp115 : array tmp117 : array tmp118 : array tmp120 : array tmp121 : array tmp123 : array tmp125 : array tmp127 : array tmp128 : array tmp13 : array tmp130 : array tmp131 : array tmp133 : array tmp134 : array tmp136 : array tmp137 : array tmp139 : array tmp141 : array tmp142 : array tmp144 : array tmp145 : array tmp147 : array tmp149 : array tmp151 : array tmp154 : array tmp157 : array tmp159 : array tmp161 : array tmp164 : array tmp169 : array tmp171 : array tmp173 : array tmp174 : array tmp175 : array tmp176 : array tmp177 : array tmp178 : array tmp179 : array tmp181 : array tmp183 : array tmp185 : array tmp186 : array tmp188 : array tmp19 : array tmp191 : array tmp194 : array tmp196 : array tmp198 : array tmp2 : array tmp20 : array tmp201 : array tmp22 : array tmp226 : array tmp228 : array tmp23 : array tmp230 : array tmp232 : array tmp238 : array tmp240 : array tmp246 : array tmp247 : array tmp249 : array tmp250 : array tmp252 : array tmp254 : array tmp256 : array tmp26 : array tmp27 : array tmp276 : array tmp278 : array tmp28 : array tmp284 : array tmp285 : array tmp287 : array tmp288 : array tmp29 : array tmp290 : array tmp292 : array tmp294 : array tmp305 : array tmp307 : array tmp309 : array tmp31 : array tmp310 : array tmp33 : array tmp34 : array tmp35 : array tmp36 : array tmp4 : array tmp43 : array tmp45 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp53 : array tmp55 : array tmp57 : array tmp59 : array tmp61 : array tmp63 : array tmp65 : array tmp67 : array tmp69 : array tmp7 : array tmp71 : array tmp73 : array tmp74 : array tmp76 : array tmp77 : array tmp79 : array tmp8 : array tmp81 : array tmp82 : array tmp83 : array tmp85 : array tmp86 : array tmp88 : array tmp89 : array tmp90 : array tmp92 : array tmp94 : array tmp96 : array tmp98 : array \"\"\" tmp35 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp36 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp33 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp89 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp29 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) tmp82 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 1 ), ( 0 , 3 )) tmp117 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp114 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp200 = einsum ( t1 . bb , ( 0 , 1 ), tmp35 , ( 2 , 1 ), ( 0 , 2 )) tmp197 = einsum ( t1 . aa , ( 0 , 1 ), tmp36 , ( 2 , 1 ), ( 0 , 2 )) tmp195 = einsum ( tmp33 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp193 = einsum ( tmp89 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp190 = einsum ( t1 . aa , ( 0 , 1 ), tmp29 , ( 2 , 1 ), ( 0 , 2 )) tmp187 = einsum ( t1 . aa , ( 0 , 1 ), tmp82 , ( 2 , 1 ), ( 0 , 2 )) tmp28 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp177 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp175 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 )) tmp173 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 1 ), ( 2 , 3 )) tmp27 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp26 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp163 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp160 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp158 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp156 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp153 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) tmp150 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 )) tmp136 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp133 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp130 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp127 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp120 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp111 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp22 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 2 , 1 ), ( 2 , 0 )) tmp19 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp310 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . vvov , ( 2 , 1 , 3 , 4 ), ( 0 , 3 , 2 , 4 )) tmp309 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp307 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp305 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp294 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp292 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp290 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 1 , 3 , 4 , 5 ), ( 0 , 4 , 2 , 5 )) tmp288 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp287 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp285 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp284 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp278 = einsum ( tmp117 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp276 = einsum ( tmp114 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 tmp256 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp254 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) tmp252 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp250 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp249 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp247 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp246 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp240 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp238 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 tmp232 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 1 , 4 ), ( 3 , 4 )) tmp230 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp228 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . vvvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp226 = einsum ( v . bbbb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp201 = einsum ( t1 . bb , ( 0 , 1 ), tmp200 , ( 2 , 0 ), ( 2 , 1 )) del tmp200 tmp198 = einsum ( tmp197 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) del tmp197 tmp196 = einsum ( t1 . bb , ( 0 , 1 ), tmp195 , ( 2 , 0 ), ( 2 , 1 )) del tmp195 tmp194 = einsum ( t1 . bb , ( 0 , 1 ), tmp193 , ( 2 , 0 ), ( 2 , 1 )) del tmp193 tmp191 = einsum ( t1 . aa , ( 0 , 1 ), tmp190 , ( 2 , 0 ), ( 2 , 1 )) del tmp190 tmp188 = einsum ( tmp187 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) del tmp187 tmp186 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp185 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp183 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp181 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp179 = einsum ( t1 . aa , ( 0 , 1 ), tmp28 , ( 2 , 1 ), ( 0 , 2 )) tmp178 = einsum ( tmp177 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp176 = einsum ( tmp175 , ( 0 , 1 ), t1 . bb , ( 2 , 0 ), ( 2 , 1 )) tmp174 = einsum ( tmp173 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp171 = einsum ( t1 . aa , ( 0 , 1 ), tmp27 , ( 1 , 2 ), ( 0 , 2 )) tmp169 = einsum ( tmp26 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp164 = einsum ( t1 . bb , ( 0 , 1 ), tmp163 , ( 2 , 0 ), ( 2 , 1 )) del tmp163 tmp161 = einsum ( t1 . aa , ( 0 , 1 ), tmp160 , ( 2 , 0 ), ( 2 , 1 )) del tmp160 tmp159 = einsum ( t1 . bb , ( 0 , 1 ), tmp158 , ( 2 , 0 ), ( 2 , 1 )) del tmp158 tmp157 = einsum ( t1 . bb , ( 0 , 1 ), tmp156 , ( 2 , 0 ), ( 2 , 1 )) del tmp156 tmp154 = einsum ( tmp153 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) del tmp153 tmp151 = einsum ( tmp150 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) del tmp150 tmp149 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp147 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp145 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp144 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp142 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp141 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) tmp139 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp137 = einsum ( tmp136 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp134 = einsum ( t1 . bb , ( 0 , 1 ), tmp133 , ( 2 , 0 ), ( 2 , 1 )) tmp131 = einsum ( t1 . bb , ( 0 , 1 ), tmp130 , ( 2 , 0 ), ( 2 , 1 )) tmp128 = einsum ( tmp127 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp125 = einsum ( tmp120 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp123 = einsum ( tmp111 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 tmp121 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp120 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) tmp118 = einsum ( tmp117 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp115 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp114 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 tmp112 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp111 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 tmp103 = einsum ( tmp35 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp101 = einsum ( tmp35 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp100 = einsum ( tmp36 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp98 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp36 , ( 1 , 3 ), ( 0 , 2 )) tmp96 = einsum ( tmp33 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp94 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp33 , ( 1 , 3 ), ( 0 , 2 )) tmp92 = einsum ( tmp89 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp90 = einsum ( tmp89 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp88 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp29 , ( 0 , 2 ), ( 1 , 3 )) tmp86 = einsum ( tmp29 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp85 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp82 , ( 0 , 2 ), ( 1 , 3 )) tmp83 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp82 , ( 1 , 3 ), ( 0 , 2 )) tmp81 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 4 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) tmp79 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp77 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 5 , 1 , 3 ), ( 0 , 2 , 4 , 5 )) tmp76 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 0 , 4 , 5 , 2 ), ( 1 , 4 , 5 , 3 )) tmp74 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp73 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp71 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp69 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp67 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp65 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp63 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp61 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 4 , 5 ), ( 2 , 4 , 1 , 5 )) tmp59 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 tmp57 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp55 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) tmp53 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 1 tmp51 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 1 tmp49 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp47 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp45 = einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp43 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp34 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp31 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 )) tmp23 = einsum ( t1 . bb , ( 0 , 1 ), tmp22 , ( 0 , 2 ), ( 2 , 1 )) tmp20 = einsum ( tmp19 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp13 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp11 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp10 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp8 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 1 , 3 ), ( 0 , 2 )) tmp7 = einsum ( f . bb . vv , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp5 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . vv , ( 2 , 1 ), ( 0 , 2 )) tmp4 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . oo , ( 2 , 0 ), ( 2 , 1 )) tmp2 = einsum ( f . aa . oo , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) return { f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp101\" : tmp101 , f \"tmp103\" : tmp103 , f \"tmp11\" : tmp11 , f \"tmp111\" : tmp111 , f \"tmp112\" : tmp112 , f \"tmp114\" : tmp114 , f \"tmp115\" : tmp115 , f \"tmp117\" : tmp117 , f \"tmp118\" : tmp118 , f \"tmp120\" : tmp120 , f \"tmp121\" : tmp121 , f \"tmp123\" : tmp123 , f \"tmp125\" : tmp125 , f \"tmp127\" : tmp127 , f \"tmp128\" : tmp128 , f \"tmp13\" : tmp13 , f \"tmp130\" : tmp130 , f \"tmp131\" : tmp131 , f \"tmp133\" : tmp133 , f \"tmp134\" : tmp134 , f \"tmp136\" : tmp136 , f \"tmp137\" : tmp137 , f \"tmp139\" : tmp139 , f \"tmp141\" : tmp141 , f \"tmp142\" : tmp142 , f \"tmp144\" : tmp144 , f \"tmp145\" : tmp145 , f \"tmp147\" : tmp147 , f \"tmp149\" : tmp149 , f \"tmp151\" : tmp151 , f \"tmp154\" : tmp154 , f \"tmp157\" : tmp157 , f \"tmp159\" : tmp159 , f \"tmp161\" : tmp161 , f \"tmp164\" : tmp164 , f \"tmp169\" : tmp169 , f \"tmp171\" : tmp171 , f \"tmp173\" : tmp173 , f \"tmp174\" : tmp174 , f \"tmp175\" : tmp175 , f \"tmp176\" : tmp176 , f \"tmp177\" : tmp177 , f \"tmp178\" : tmp178 , f \"tmp179\" : tmp179 , f \"tmp181\" : tmp181 , f \"tmp183\" : tmp183 , f \"tmp185\" : tmp185 , f \"tmp186\" : tmp186 , f \"tmp188\" : tmp188 , f \"tmp19\" : tmp19 , f \"tmp191\" : tmp191 , f \"tmp194\" : tmp194 , f \"tmp196\" : tmp196 , f \"tmp198\" : tmp198 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp201\" : tmp201 , f \"tmp22\" : tmp22 , f \"tmp226\" : tmp226 , f \"tmp228\" : tmp228 , f \"tmp23\" : tmp23 , f \"tmp230\" : tmp230 , f \"tmp232\" : tmp232 , f \"tmp238\" : tmp238 , f \"tmp240\" : tmp240 , f \"tmp246\" : tmp246 , f \"tmp247\" : tmp247 , f \"tmp249\" : tmp249 , f \"tmp250\" : tmp250 , f \"tmp252\" : tmp252 , f \"tmp254\" : tmp254 , f \"tmp256\" : tmp256 , f \"tmp26\" : tmp26 , f \"tmp27\" : tmp27 , f \"tmp276\" : tmp276 , f \"tmp278\" : tmp278 , f \"tmp28\" : tmp28 , f \"tmp284\" : tmp284 , f \"tmp285\" : tmp285 , f \"tmp287\" : tmp287 , f \"tmp288\" : tmp288 , f \"tmp29\" : tmp29 , f \"tmp290\" : tmp290 , f \"tmp292\" : tmp292 , f \"tmp294\" : tmp294 , f \"tmp305\" : tmp305 , f \"tmp307\" : tmp307 , f \"tmp309\" : tmp309 , f \"tmp31\" : tmp31 , f \"tmp310\" : tmp310 , f \"tmp33\" : tmp33 , f \"tmp34\" : tmp34 , f \"tmp35\" : tmp35 , f \"tmp36\" : tmp36 , f \"tmp4\" : tmp4 , f \"tmp43\" : tmp43 , f \"tmp45\" : tmp45 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp51\" : tmp51 , f \"tmp53\" : tmp53 , f \"tmp55\" : tmp55 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp61\" : tmp61 , f \"tmp63\" : tmp63 , f \"tmp65\" : tmp65 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp7\" : tmp7 , f \"tmp71\" : tmp71 , f \"tmp73\" : tmp73 , f \"tmp74\" : tmp74 , f \"tmp76\" : tmp76 , f \"tmp77\" : tmp77 , f \"tmp79\" : tmp79 , f \"tmp8\" : tmp8 , f \"tmp81\" : tmp81 , f \"tmp82\" : tmp82 , f \"tmp83\" : tmp83 , f \"tmp85\" : tmp85 , f \"tmp86\" : tmp86 , f \"tmp88\" : tmp88 , f \"tmp89\" : tmp89 , f \"tmp90\" : tmp90 , f \"tmp92\" : tmp92 , f \"tmp94\" : tmp94 , f \"tmp96\" : tmp96 , f \"tmp98\" : tmp98 }","title":"Returns"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.hbar_lmatvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T18:56:17.631079.","title":"hbar_lmatvec_ea"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.hbar_lmatvec_ea--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCC2/#ebcc.codegen.UCC2.hbar_lmatvec_ea--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UCC2.py 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:56:17.631079. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp32 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 3 , 0 ), ( 1 ,)) tmp33 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 2 , 0 , 1 ), ( 3 ,)) tmp76 = np . copy ( ints . tmp285 ) * 2 tmp76 += ints . tmp292 tmp78 = np . copy ( ints . tmp230 ) tmp78 += ints . tmp232 * 0.5 tmp78 += f . bb . vv * - 0.5 tmp80 = np . copy ( tmp32 ) * - 0.5 tmp80 += tmp33 tmp86 = np . copy ( ints . tmp284 ) tmp86 += ints . tmp290 * 2 tmp21 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), t1 . bb , ( 3 , 1 ), ( 2 , 3 , 0 )) tmp16 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 2 , 1 ), ( 0 ,)) * - 1 tmp2 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 1 ), ( 2 , 3 , 0 )) tmp40 = np . copy ( ints . tmp139 ) * 2 tmp40 += ints . tmp145 tmp15 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 2 , 0 , 1 ), ( 3 ,)) tmp44 = np . copy ( ints . tmp47 ) tmp44 += ints . tmp49 * 0.5 tmp44 += f . aa . vv * - 0.5 tmp42 = np . copy ( ints . tmp141 ) * 0.5 tmp42 += ints . tmp147 tmp77 = einsum ( tmp76 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 2 , 0 ), ( 1 , 4 , 3 )) * - 2 del tmp76 tmp74 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovov , ( 2 , 0 , 3 , 4 ), ( 3 , 1 , 4 )) tmp73 = einsum ( ints . tmp287 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 1 , 3 , 4 )) tmp79 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp78 , ( 1 , 3 ), ( 2 , 0 , 3 )) * - 4 del tmp78 tmp72 = einsum ( r1 . b , ( 0 ,), v . bbbb . ovvv , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) tmp81 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp80 , ( 2 ,), ( 0 , 3 , 1 )) * 2 del tmp80 tmp75 = einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 1 ), ( 0 , 4 , 2 )) tmp84 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 2 ), ( 0 , 4 , 1 )) tmp87 = einsum ( tmp86 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 1 , 4 , 3 )) del tmp86 tmp85 = einsum ( tmp21 , ( 0 , 1 , 2 ), f . bb . ov , ( 1 , 3 ), ( 0 , 3 , 2 )) tmp83 = einsum ( ints . tmp288 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 2 , 0 ), ( 1 , 3 , 4 )) tmp59 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp61 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp48 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 3 , 2 ), ( 0 , 4 , 1 )) tmp52 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp16 , ( 2 ,), ( 0 , 1 , 3 )) tmp47 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp142 , ( 2 , 3 , 1 , 4 ), ( 3 , 4 , 0 )) tmp49 = einsum ( f . aa . ov , ( 0 , 1 ), tmp2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) tmp51 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 2 ), ( 0 , 4 , 1 )) * - 1 tmp50 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp144 , ( 3 , 2 , 4 , 0 ), ( 3 , 4 , 1 )) * - 1 tmp41 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp40 , ( 2 , 3 , 1 , 4 ), ( 3 , 0 , 4 )) * - 2 del tmp40 tmp39 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp15 , ( 2 ,), ( 0 , 1 , 3 )) * - 1 tmp37 = einsum ( r1 . a , ( 0 ,), v . aaaa . ovvv , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) tmp38 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . oovv , ( 3 , 2 , 4 , 1 ), ( 3 , 0 , 4 )) tmp45 = einsum ( tmp44 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 4 del tmp44 tmp43 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp42 , ( 3 , 2 , 4 , 0 ), ( 3 , 1 , 4 )) * - 2 del tmp42 tmp25 = einsum ( t1 . aa , ( 0 , 1 ), r2 . aba , ( 1 , 2 , 3 ), ( 3 , 0 , 2 )) tmp6 = einsum ( t1 . bb , ( 0 , 1 ), r2 . bab , ( 1 , 2 , 3 ), ( 3 , 0 , 2 )) * - 1 tmp69 = np . copy ( f . bb . oo ) tmp69 += ints . tmp130 * 2 del ints . tmp130 tmp69 += ints . tmp133 del ints . tmp133 tmp69 += np . transpose ( ints . tmp22 , ( 1 , 0 )) del ints . tmp22 tmp82 = einsum ( r1 . b , ( 0 ,), f . bb . ov , ( 1 , 2 ), ( 1 , 2 , 0 )) tmp82 += tmp72 del tmp72 tmp82 += tmp73 del tmp73 tmp82 += tmp74 del tmp74 tmp82 += tmp75 * 2 del tmp75 tmp82 += np . transpose ( tmp77 , ( 0 , 2 , 1 )) * - 1 del tmp77 tmp82 += np . transpose ( tmp79 , ( 0 , 2 , 1 )) del tmp79 tmp82 += np . transpose ( tmp81 , ( 0 , 2 , 1 )) * - 1 del tmp81 tmp71 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) tmp88 = np . copy ( tmp83 ) * 4 del tmp83 tmp88 += tmp84 * 2 del tmp84 tmp88 += tmp85 * 2 del tmp85 tmp88 += np . transpose ( tmp87 , ( 0 , 2 , 1 )) del tmp87 tmp65 = np . copy ( ints . tmp285 ) * 2 tmp65 += ints . tmp292 tmp65 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp65 += ints . tmp288 * - 2 tmp65 += v . bbbb . oovv * - 1 tmp66 = np . copy ( ints . tmp284 ) tmp66 += ints . tmp290 * 2 tmp66 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp66 += ints . tmp287 * - 1 tmp64 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 2 , 4 ), ( 0 , 4 , 1 )) * - 1 tmp68 = np . copy ( ints . tmp230 ) tmp68 += ints . tmp232 * 0.5 tmp68 += f . bb . vv * - 0.5 tmp68 += np . transpose ( tmp59 , ( 1 , 0 )) * 0.5 tmp67 = np . copy ( ints . tmp149 ) tmp67 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) * - 1 tmp62 = np . copy ( ints . tmp47 ) * 2 tmp62 += ints . tmp49 tmp62 += f . aa . vv * - 1 tmp62 += np . transpose ( tmp61 , ( 1 , 0 )) del tmp61 tmp70 = np . copy ( tmp15 ) tmp70 += tmp16 * 0.5 tmp60 = np . copy ( ints . tmp230 ) * 2 tmp60 += ints . tmp232 tmp60 += f . bb . vv * - 1 tmp60 += np . transpose ( tmp59 , ( 1 , 0 )) del tmp59 tmp56 = np . copy ( ints . tmp139 ) * 2 tmp56 += ints . tmp145 tmp56 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp56 += ints . tmp142 * - 2 tmp56 += v . aaaa . oovv * - 1 tmp55 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) tmp57 = np . copy ( ints . tmp141 ) tmp57 += ints . tmp147 * 2 tmp57 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp57 += ints . tmp144 * - 1 tmp58 = np . copy ( ints . tmp294 ) tmp58 += v . aabb . oovv * - 1 tmp63 = np . copy ( tmp32 ) * - 1 tmp63 += tmp33 * 2 tmp54 = np . copy ( f . aa . oo ) tmp54 += ints . tmp127 * 2 del ints . tmp127 tmp54 += ints . tmp136 del ints . tmp136 tmp54 += np . transpose ( ints . tmp19 , ( 1 , 0 )) del ints . tmp19 tmp36 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp53 = np . copy ( tmp47 ) * 4 del tmp47 tmp53 += tmp48 * 2 del tmp48 tmp53 += tmp49 * 2 del tmp49 tmp53 += tmp50 del tmp50 tmp53 += tmp51 del tmp51 tmp53 += tmp52 del tmp52 tmp46 = einsum ( f . aa . ov , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 1 , 2 )) tmp46 += tmp37 del tmp37 tmp46 += tmp38 * 2 del tmp38 tmp46 += tmp39 * 2 del tmp39 tmp46 += np . transpose ( tmp41 , ( 0 , 2 , 1 )) * - 1 del tmp41 tmp46 += np . transpose ( tmp43 , ( 0 , 2 , 1 )) del tmp43 tmp46 += np . transpose ( tmp45 , ( 0 , 2 , 1 )) del tmp45 tmp28 = np . copy ( ints . tmp117 ) del ints . tmp117 tmp28 += v . aabb . ooov tmp29 = einsum ( t1 . bb , ( 0 , 1 ), tmp21 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * - 1 tmp19 = np . copy ( ints . tmp228 ) del ints . tmp228 tmp19 += np . transpose ( ints . tmp240 , ( 0 , 1 , 3 , 2 )) del ints . tmp240 tmp19 += ints . tmp246 del ints . tmp246 tmp19 += ints . tmp252 * 2 del ints . tmp252 tmp19 += np . transpose ( ints . tmp278 , ( 0 , 1 , 3 , 2 )) del ints . tmp278 tmp19 += v . aabb . ovvv tmp19 += ints . tmp249 * - 1 del ints . tmp249 tmp19 += np . transpose ( ints . tmp256 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp256 tmp35 = np . copy ( f . bb . ov ) tmp35 += ints . tmp33 tmp35 += ints . tmp35 tmp35 += ints . tmp89 * - 1 del ints . tmp89 tmp23 = einsum ( t1 . bb , ( 0 , 1 ), r2 . aba , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp34 = einsum ( t1 . bb , ( 0 , 1 ), r1 . b , ( 1 ,), ( 0 ,)) tmp34 += tmp32 * - 1 del tmp32 tmp34 += tmp33 * 2 del tmp33 tmp24 = np . copy ( ints . tmp284 ) del ints . tmp284 tmp24 += ints . tmp290 * 2 del ints . tmp290 tmp24 += ints . tmp310 del ints . tmp310 tmp24 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp24 += ints . tmp287 * - 1 del ints . tmp287 tmp22 = np . copy ( ints . tmp285 ) * 2 del ints . tmp285 tmp22 += ints . tmp292 del ints . tmp292 tmp22 += np . transpose ( ints . tmp307 , ( 0 , 1 , 3 , 2 )) del ints . tmp307 tmp22 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp22 += ints . tmp288 * - 2 del ints . tmp288 tmp22 += np . transpose ( ints . tmp305 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp305 tmp22 += v . bbbb . oovv * - 1 tmp9 = np . copy ( ints . tmp115 ) * 2 del ints . tmp115 tmp9 += ints . tmp121 del ints . tmp121 tmp9 += ints . tmp131 * 2 del ints . tmp131 tmp9 += ints . tmp134 del ints . tmp134 tmp9 += ints . tmp159 del ints . tmp159 tmp9 += ints . tmp164 del ints . tmp164 tmp9 += ints . tmp176 del ints . tmp176 tmp9 += ints . tmp196 del ints . tmp196 tmp9 += ints . tmp201 del ints . tmp201 tmp9 += ints . tmp23 del ints . tmp23 tmp9 += ints . tmp34 del ints . tmp34 tmp9 += ints . tmp4 del ints . tmp4 tmp9 += ints . tmp53 * 2 del ints . tmp53 tmp9 += ints . tmp55 del ints . tmp55 tmp9 += ints . tmp65 * 2 del ints . tmp65 tmp9 += ints . tmp85 del ints . tmp85 tmp9 += ints . tmp92 * 2 del ints . tmp92 tmp9 += f . bb . ov * - 1 tmp9 += ints . tmp100 * - 1 del ints . tmp100 tmp9 += ints . tmp103 * - 2 del ints . tmp103 tmp9 += ints . tmp10 * - 1 del ints . tmp10 tmp9 += ints . tmp13 * - 2 del ints . tmp13 tmp9 += ints . tmp157 * - 1 del ints . tmp157 tmp9 += ints . tmp174 * - 1 del ints . tmp174 tmp9 += ints . tmp178 * - 1 del ints . tmp178 tmp9 += ints . tmp194 * - 1 del ints . tmp194 tmp9 += ints . tmp33 * - 1 del ints . tmp33 tmp9 += ints . tmp35 * - 1 del ints . tmp35 tmp9 += ints . tmp67 * - 1 del ints . tmp67 tmp9 += ints . tmp7 * - 1 del ints . tmp7 tmp9 += ints . tmp88 * - 1 del ints . tmp88 tmp9 += ints . tmp96 * - 2 del ints . tmp96 tmp8 = np . copy ( ints . tmp112 ) * 2 del ints . tmp112 tmp8 += ints . tmp118 del ints . tmp118 tmp8 += ints . tmp128 * 2 del ints . tmp128 tmp8 += ints . tmp137 del ints . tmp137 tmp8 += ints . tmp154 del ints . tmp154 tmp8 += ints . tmp161 del ints . tmp161 tmp8 += ints . tmp171 del ints . tmp171 tmp8 += ints . tmp191 del ints . tmp191 tmp8 += ints . tmp198 del ints . tmp198 tmp8 += ints . tmp20 del ints . tmp20 tmp8 += ints . tmp2 del ints . tmp2 tmp8 += ints . tmp31 del ints . tmp31 tmp8 += ints . tmp51 * 2 del ints . tmp51 tmp8 += ints . tmp57 del ints . tmp57 tmp8 += ints . tmp63 * 2 del ints . tmp63 tmp8 += ints . tmp83 * 2 del ints . tmp83 tmp8 += ints . tmp90 del ints . tmp90 tmp8 += f . aa . ov * - 1 tmp8 += ints . tmp101 * - 1 del ints . tmp101 tmp8 += ints . tmp11 * - 1 del ints . tmp11 tmp8 += ints . tmp151 * - 1 del ints . tmp151 tmp8 += ints . tmp169 * - 1 del ints . tmp169 tmp8 += ints . tmp179 * - 1 del ints . tmp179 tmp8 += ints . tmp188 * - 1 del ints . tmp188 tmp8 += ints . tmp29 * - 1 tmp8 += ints . tmp36 * - 1 tmp8 += ints . tmp5 * - 1 del ints . tmp5 tmp8 += ints . tmp69 * - 1 del ints . tmp69 tmp8 += ints . tmp86 * - 2 del ints . tmp86 tmp8 += ints . tmp8 * - 2 del ints . tmp8 tmp8 += ints . tmp94 * - 1 del ints . tmp94 tmp8 += ints . tmp98 * - 2 del ints . tmp98 tmp27 = einsum ( t1 . bb , ( 0 , 1 ), tmp25 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) tmp26 = np . copy ( np . transpose ( ints . tmp309 , ( 0 , 1 , 3 , 2 ))) del ints . tmp309 tmp26 += v . aabb . oovv tmp26 += ints . tmp294 * - 1 del ints . tmp294 tmp31 = np . copy ( np . transpose ( ints . tmp175 , ( 1 , 0 ))) del ints . tmp175 tmp31 += ints . tmp230 * 2 del ints . tmp230 tmp31 += ints . tmp232 del ints . tmp232 tmp31 += f . bb . vv * - 1 tmp31 += np . transpose ( ints . tmp173 , ( 1 , 0 )) * - 1 del ints . tmp173 tmp31 += np . transpose ( ints . tmp177 , ( 1 , 0 )) * - 1 del ints . tmp177 tmp20 = np . copy ( np . transpose ( ints . tmp238 , ( 0 , 3 , 1 , 2 ))) * 0.5 del ints . tmp238 tmp20 += np . transpose ( ints . tmp247 , ( 0 , 2 , 1 , 3 )) del ints . tmp247 tmp20 += np . transpose ( ints . tmp254 , ( 0 , 2 , 1 , 3 )) * 0.5 del ints . tmp254 tmp20 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) * 0.5 tmp20 += ints . tmp226 * - 0.5 del ints . tmp226 tmp20 += np . transpose ( ints . tmp250 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp250 tmp20 += np . transpose ( ints . tmp276 , ( 0 , 3 , 1 , 2 )) * - 0.5 del ints . tmp276 tmp30 = np . copy ( ints . tmp114 ) del ints . tmp114 tmp30 += v . bbbb . ooov * - 1 tmp12 = einsum ( t1 . aa , ( 0 , 1 ), tmp6 , ( 2 , 3 , 1 ), ( 0 , 2 , 3 )) tmp3 = np . copy ( ints . tmp139 ) * 2 del ints . tmp139 tmp3 += ints . tmp145 del ints . tmp145 tmp3 += np . transpose ( ints . tmp183 , ( 0 , 1 , 3 , 2 )) del ints . tmp183 tmp3 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp3 += ints . tmp142 * - 2 del ints . tmp142 tmp3 += np . transpose ( ints . tmp181 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp181 tmp3 += v . aaaa . oovv * - 1 tmp11 = np . copy ( ints . tmp111 ) del ints . tmp111 tmp11 += v . aaaa . ooov * - 1 tmp4 = einsum ( t1 . aa , ( 0 , 1 ), r2 . bab , ( 2 , 1 , 3 ), ( 0 , 3 , 2 )) * - 1 tmp5 = np . copy ( ints . tmp141 ) del ints . tmp141 tmp5 += ints . tmp147 * 2 del ints . tmp147 tmp5 += ints . tmp186 del ints . tmp186 tmp5 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp5 += ints . tmp144 * - 1 del ints . tmp144 tmp10 = einsum ( tmp2 , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 1 , 3 )) * - 1 tmp1 = np . copy ( ints . tmp59 ) * 0.5 del ints . tmp59 tmp1 += np . transpose ( ints . tmp71 , ( 0 , 1 , 3 , 2 )) del ints . tmp71 tmp1 += np . transpose ( ints . tmp77 , ( 0 , 1 , 3 , 2 )) * 0.5 del ints . tmp77 tmp1 += v . aaaa . ovvv * 0.5 tmp1 += ints . tmp123 * - 0.5 del ints . tmp123 tmp1 += np . transpose ( ints . tmp43 , ( 0 , 2 , 3 , 1 )) * - 0.5 del ints . tmp43 tmp1 += np . transpose ( ints . tmp74 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp74 tmp17 = einsum ( t1 . aa , ( 0 , 1 ), r1 . a , ( 1 ,), ( 0 ,)) tmp17 += tmp15 * 2 del tmp15 tmp17 += tmp16 del tmp16 tmp7 = np . copy ( np . transpose ( ints . tmp185 , ( 0 , 1 , 3 , 2 ))) del ints . tmp185 tmp7 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) tmp7 += ints . tmp149 * - 1 del ints . tmp149 tmp14 = np . copy ( np . transpose ( ints . tmp27 , ( 1 , 0 ))) del ints . tmp27 tmp14 += ints . tmp47 * 2 del ints . tmp47 tmp14 += ints . tmp49 del ints . tmp49 tmp14 += f . aa . vv * - 1 tmp14 += np . transpose ( ints . tmp26 , ( 1 , 0 )) * - 1 del ints . tmp26 tmp14 += np . transpose ( ints . tmp28 , ( 1 , 0 )) * - 1 del ints . tmp28 tmp13 = np . copy ( ints . tmp120 ) del ints . tmp120 tmp13 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp18 = np . copy ( f . aa . ov ) tmp18 += ints . tmp29 del ints . tmp29 tmp18 += ints . tmp36 del ints . tmp36 tmp18 += ints . tmp82 * - 1 del ints . tmp82 tmp0 = np . copy ( ints . tmp125 ) del ints . tmp125 tmp0 += np . transpose ( ints . tmp45 , ( 0 , 2 , 1 , 3 )) del ints . tmp45 tmp0 += ints . tmp61 del ints . tmp61 tmp0 += np . transpose ( ints . tmp73 , ( 0 , 2 , 1 , 3 )) del ints . tmp73 tmp0 += np . transpose ( ints . tmp79 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp79 tmp0 += np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 )) tmp0 += np . transpose ( ints . tmp76 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp76 tmp0 += ints . tmp81 * - 1 del ints . tmp81 r2new . bbb = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp71 , ( 4 , 2 , 0 ), ( 1 , 3 , 4 )) * - 2 del tmp71 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . vvvv , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) * 2 r2new . bbb += np . transpose ( tmp82 , ( 1 , 2 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp82 , ( 2 , 1 , 0 )) del tmp82 r2new . bbb += np . transpose ( tmp88 , ( 1 , 2 , 0 )) r2new . bbb += np . transpose ( tmp88 , ( 2 , 1 , 0 )) * - 1 del tmp88 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp69 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 r2new . bab = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp64 , ( 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 1 del tmp64 r2new . bab += einsum ( f . bb . ov , ( 0 , 1 ), r1 . a , ( 2 ,), ( 1 , 2 , 0 )) * - 1 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . vvvv , ( 3 , 1 , 4 , 0 ), ( 4 , 3 , 2 )) r2new . bab += einsum ( r1 . a , ( 0 ,), v . aabb . vvov , ( 1 , 0 , 2 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new . bab += einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 4 , 0 ), ( 3 , 4 , 1 )) del tmp65 r2new . bab += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp66 , ( 2 , 3 , 1 , 4 ), ( 4 , 0 , 3 )) * - 2 del tmp66 r2new . bab += einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) del tmp67 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp68 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 2 del tmp68 r2new . bab += einsum ( tmp62 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp69 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp69 r2new . bab += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp70 , ( 0 ,), ( 3 , 1 , 2 )) * 2 del tmp70 r2new . aba = einsum ( f . aa . ov , ( 0 , 1 ), r1 . b , ( 2 ,), ( 1 , 2 , 0 )) * - 1 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . vvvv , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) r2new . aba += einsum ( r1 . b , ( 0 ,), v . aabb . ovvv , ( 1 , 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aba += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp55 , ( 4 , 0 , 2 ), ( 1 , 3 , 4 )) del tmp55 r2new . aba += einsum ( tmp56 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 3 , 4 , 1 )) del tmp56 r2new . aba += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp57 , ( 3 , 2 , 4 , 1 ), ( 4 , 0 , 3 )) * - 2 del tmp57 r2new . aba += einsum ( tmp58 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) del tmp58 r2new . aba += einsum ( tmp60 , ( 0 , 1 ), r2 . aba , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp60 r2new . aba += einsum ( tmp62 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 del tmp62 r2new . aba += einsum ( tmp54 , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aba += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp63 , ( 2 ,), ( 1 , 3 , 0 )) del tmp63 r2new . aaa = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . vvvv , ( 3 , 1 , 4 , 0 ), ( 3 , 4 , 2 )) * - 2 r2new . aaa += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp36 , ( 4 , 2 , 0 ), ( 1 , 3 , 4 )) * - 2 del tmp36 r2new . aaa += np . transpose ( tmp46 , ( 1 , 2 , 0 )) * - 1 r2new . aaa += np . transpose ( tmp46 , ( 2 , 1 , 0 )) del tmp46 r2new . aaa += np . transpose ( tmp53 , ( 1 , 2 , 0 )) r2new . aaa += np . transpose ( tmp53 , ( 2 , 1 , 0 )) * - 1 del tmp53 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp54 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp54 r1new . b = einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 0 ), ( 2 ,)) * - 1 del tmp19 r1new . b += einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 0 ), ( 1 ,)) * - 4 del tmp20 r1new . b += einsum ( tmp21 , ( 0 , 1 , 2 ), tmp22 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * 2 del tmp21 , tmp22 r1new . b += einsum ( tmp23 , ( 0 , 1 , 2 ), tmp24 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) del tmp23 , tmp24 r1new . b += einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), tmp25 , ( 0 , 1 , 2 ), ( 3 ,)) del tmp25 , tmp26 r1new . b += einsum ( tmp8 , ( 0 , 1 ), r2 . aba , ( 1 , 2 , 0 ), ( 2 ,)) r1new . b += einsum ( tmp9 , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 0 ), ( 2 ,)) * - 2 r1new . b += einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), tmp27 , ( 0 , 1 , 2 ), ( 3 ,)) * - 1 del tmp28 , tmp27 r1new . b += einsum ( tmp29 , ( 0 , 1 , 2 ), tmp30 , ( 0 , 2 , 1 , 3 ), ( 3 ,)) * - 2 del tmp29 , tmp30 r1new . b += einsum ( r1 . b , ( 0 ,), tmp31 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp31 r1new . b += einsum ( tmp34 , ( 0 ,), tmp35 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp34 , tmp35 r1new . a = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 0 ), ( 2 ,)) * - 1 del tmp0 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp1 , ( 2 , 1 , 0 , 3 ), ( 3 ,)) * 4 del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp3 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * 2 del tmp2 , tmp3 r1new . a += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 1 , 3 ), ( 2 ,)) * - 1 del tmp5 , tmp4 r1new . a += einsum ( tmp6 , ( 0 , 1 , 2 ), tmp7 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * - 1 del tmp6 , tmp7 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp8 , ( 2 , 1 ), ( 0 ,)) * - 2 del tmp8 r1new . a += einsum ( tmp9 , ( 0 , 1 ), r2 . bab , ( 1 , 2 , 0 ), ( 2 ,)) del tmp9 r1new . a += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 0 , 2 , 1 ), ( 3 ,)) * - 2 del tmp11 , tmp10 r1new . a += einsum ( tmp12 , ( 0 , 1 , 2 ), tmp13 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) del tmp12 , tmp13 r1new . a += einsum ( tmp14 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp14 r1new . a += einsum ( tmp18 , ( 0 , 1 ), tmp17 , ( 0 ,), ( 1 ,)) * - 1 del tmp18 , tmp17 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UCC3/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-09T22:13:44.271935 python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0] albert version: 0.0.0 caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py node: fv-az1487-369 system: Linux processor: x86_64 release: 6.5.0-1025-azure ebcc . codegen . UCC3 . energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T22:13:45.536681. 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. Source code in ebcc/codegen/UCC3.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:13:45.536681. 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 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp0 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp2 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp2 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp1 = np . copy ( f . bb . ov ) * 2 tmp1 += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) * 2 tmp1 += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 )) * - 1 del tmp0 e_cc = einsum ( t1 . bb , ( 0 , 1 ), tmp1 , ( 0 , 1 ), ()) * 0.5 del tmp1 tmp3 = np . copy ( f . aa . ov ) * 2 tmp3 += einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 2 ), ( 1 , 3 )) * - 1 del tmp2 e_cc += einsum ( tmp3 , ( 0 , 1 ), t1 . aa , ( 0 , 1 ), ()) * 0.5 del tmp3 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 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 2 , 1 , 3 ), ()) return e_cc ebcc . codegen . UCC3 . update_amps ( f = None , t1 = None , t2 = None , t3 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T22:17:07.956122. 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. Source code in ebcc/codegen/UCC3.py 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 def update_amps ( f = None , t1 = None , t2 = None , t3 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:17:07.956122. 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 () tmp14 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp14 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp7 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp7 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp200 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp22 = 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 ), tmp22 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 2 tmp21 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) t2new . abab = einsum ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp21 , ( 2 , 6 , 1 , 5 ), ( 0 , 6 , 3 , 4 )) * - 2 t1new . bb += einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 tmp1 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) t1new . aa = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 1 tmp66 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp2 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) t2new . abab += einsum ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp2 , ( 6 , 2 , 0 , 5 ), ( 6 , 1 , 3 , 4 )) * - 2 t1new . aa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 2 tmp15 = einsum ( t1 . bb , ( 0 , 1 ), tmp14 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp13 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) t1new . bb += tmp13 tmp8 = einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 2 ), ( 1 , 3 )) tmp0 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) t1new . aa += tmp0 tmp456 = np . copy ( np . transpose ( tmp200 , ( 0 , 2 , 1 , 3 ))) * - 1 tmp456 += np . transpose ( tmp200 , ( 0 , 2 , 3 , 1 )) tmp558 = np . copy ( v . bbbb . ovvv ) tmp558 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 3 , 1 )) * - 1 tmp493 = np . copy ( np . transpose ( tmp200 , ( 0 , 2 , 1 , 3 ))) * - 1 tmp493 += np . transpose ( tmp200 , ( 0 , 3 , 2 , 1 )) tmp167 = np . copy ( v . bbbb . ovvv ) tmp167 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 3 , 1 )) * - 1 tmp211 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) t2new . bbbb = np . copy ( tmp211 ) * - 1 t2new . bbbb += np . transpose ( tmp211 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += np . transpose ( tmp211 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp211 , ( 1 , 0 , 3 , 2 )) * - 1 tmp143 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp154 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp140 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp142 = einsum ( t1 . bb , ( 0 , 1 ), tmp21 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) t2new . abab += tmp142 * - 1 tmp141 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovvv , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) t2new . abab += tmp141 tmp137 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp77 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 0 , 3 )) tmp78 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) t2new . abab += tmp78 * - 1 tmp288 = np . copy ( np . transpose ( tmp66 , ( 0 , 2 , 1 , 3 ))) tmp288 += np . transpose ( tmp66 , ( 0 , 3 , 2 , 1 )) * - 1 tmp73 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) t2new . aaaa = np . copy ( tmp73 ) * - 1 t2new . aaaa += np . transpose ( tmp73 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += np . transpose ( tmp73 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp73 , ( 1 , 0 , 3 , 2 )) * - 1 tmp164 = np . copy ( v . aaaa . ovvv ) tmp164 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 3 , 1 )) * - 1 tmp57 = np . copy ( v . aaaa . ovvv ) tmp57 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 3 , 1 )) * - 1 tmp216 = np . copy ( v . bbbb . ovvv ) * - 1 tmp216 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) tmp169 = np . copy ( tmp22 ) tmp169 += np . transpose ( tmp22 , ( 0 , 2 , 1 , 3 )) * - 1 tmp223 = np . copy ( v . bbbb . ooov ) * - 1 tmp223 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) tmp159 = np . copy ( v . bbbb . ooov ) tmp159 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp16 = np . copy ( f . bb . ov ) tmp16 += tmp13 tmp16 += tmp15 * - 1 del tmp15 t2new . abab += einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp16 , ( 2 , 5 ), ( 1 , 0 , 4 , 3 )) t2new . aaaa += einsum ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp16 , ( 1 , 4 ), ( 0 , 2 , 3 , 5 )) t1new . bb += einsum ( tmp16 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 2 t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp16 , ( 1 , 3 ), ( 0 , 2 )) tmp45 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp45 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp92 = np . copy ( v . aaaa . ooov ) * - 1 tmp92 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) tmp9 = np . copy ( f . aa . ov ) tmp9 += tmp0 tmp9 += tmp8 * - 1 del tmp8 t2new . bbbb += einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp9 , ( 1 , 4 ), ( 0 , 2 , 3 , 5 )) t2new . abab += einsum ( tmp9 , ( 0 , 1 ), t3 . abaaba , ( 2 , 3 , 0 , 4 , 5 , 1 ), ( 2 , 3 , 4 , 5 )) * 2 t1new . bb += einsum ( tmp9 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) t1new . aa += einsum ( tmp9 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 2 tmp83 = np . copy ( tmp2 ) * - 1 tmp83 += np . transpose ( tmp2 , ( 0 , 2 , 1 , 3 )) tmp81 = np . copy ( v . aaaa . ovvv ) * - 1 tmp81 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) tmp36 = np . copy ( v . aaaa . ooov ) tmp36 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp432 = einsum ( v . bbbb . oooo , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp433 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) t3new . babbab = einsum ( tmp433 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 6 ), ( 2 , 4 , 1 , 6 , 5 , 3 )) * - 2 tmp457 = einsum ( tmp456 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp456 tmp204 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp210 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) t2new . bbbb += np . transpose ( tmp210 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp210 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += tmp210 * - 1 t2new . bbbb += np . transpose ( tmp210 , ( 1 , 0 , 2 , 3 )) tmp129 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 4 ), ( 2 , 1 , 3 , 4 )) tmp512 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 1 , 2 , 6 )) tmp559 = einsum ( tmp558 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) del tmp558 tmp545 = einsum ( tmp493 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp526 = np . copy ( np . transpose ( tmp200 , ( 0 , 2 , 1 , 3 ))) tmp526 += np . transpose ( tmp200 , ( 0 , 3 , 2 , 1 )) * - 1 tmp234 = einsum ( t1 . bb , ( 0 , 1 ), tmp22 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp317 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 0 , 2 ), ( 2 , 1 )) tmp168 = einsum ( t1 . bb , ( 0 , 1 ), tmp167 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp167 tmp523 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp22 , ( 4 , 5 , 6 , 3 ), ( 4 , 0 , 1 , 6 , 5 , 2 )) tmp173 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp174 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp236 = einsum ( v . bbbb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp482 = einsum ( t1 . bb , ( 0 , 1 ), tmp211 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) del tmp211 tmp423 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp21 , ( 4 , 5 , 6 , 2 ), ( 0 , 4 , 5 , 1 , 6 , 3 )) tmp151 = einsum ( tmp143 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), tmp151 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp396 = einsum ( tmp154 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp149 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp139 = einsum ( v . aabb . vvoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 3 , 0 )) t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), tmp139 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp363 = einsum ( tmp140 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 3 , 2 , 4 )) t3new . abaaba = einsum ( tmp363 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 6 ), ( 4 , 2 , 0 , 5 , 6 , 3 )) tmp413 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 6 ), ( 4 , 0 , 5 , 2 , 3 , 6 )) tmp330 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp329 = einsum ( v . aabb . oooo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp172 = np . copy ( tmp141 ) tmp172 += tmp142 * - 1 t2new . abab += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp172 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * 2 tmp256 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp50 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 4 , 1 , 3 )) tmp463 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 5 , 6 , 2 )) tmp310 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 5 , 6 , 3 ), ( 0 , 4 , 5 , 1 , 6 , 2 )) tmp177 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oovv , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) t2new . abab += einsum ( tmp177 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 tmp355 = einsum ( tmp137 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 1 , 0 , 2 , 4 )) t3new . babbab += einsum ( tmp355 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 6 ), ( 4 , 1 , 2 , 6 , 5 , 3 )) tmp87 = np . copy ( tmp77 ) tmp87 += tmp78 * - 1 t2new . abab += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp87 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 tmp62 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp289 = einsum ( t1 . aa , ( 0 , 1 ), tmp288 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp288 tmp111 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp382 = einsum ( tmp73 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) del tmp73 tmp321 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 6 , 3 ), ( 0 , 4 , 1 , 5 , 2 , 6 )) tmp127 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp72 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) t2new . aaaa += np . transpose ( tmp72 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp72 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += tmp72 * - 1 t2new . aaaa += np . transpose ( tmp72 , ( 1 , 0 , 2 , 3 )) tmp360 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 5 , 6 , 2 ), ( 0 , 4 , 5 , 6 , 1 , 3 )) tmp335 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp332 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp400 = einsum ( t1 . bb , ( 0 , 1 ), tmp154 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp178 = einsum ( tmp141 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) t2new . abab += einsum ( tmp178 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 tmp107 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp165 = einsum ( t1 . aa , ( 0 , 1 ), tmp164 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp164 tmp144 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) tmp147 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp53 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 4 , 1 , 3 )) tmp306 = einsum ( tmp57 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp264 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 5 , 6 , 3 ), ( 4 , 0 , 1 , 6 , 5 , 2 )) tmp267 = np . copy ( np . transpose ( tmp66 , ( 0 , 2 , 1 , 3 ))) * - 1 tmp267 += np . transpose ( tmp66 , ( 0 , 3 , 2 , 1 )) tmp252 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . oooo , ( 4 , 5 , 6 , 1 ), ( 0 , 4 , 5 , 6 , 2 , 3 )) tmp253 = einsum ( t3 . aaaaaa , ( 0 , 1 , 2 , 3 , 4 , 5 ), f . aa . ov , ( 6 , 5 ), ( 6 , 0 , 1 , 2 , 3 , 4 )) tmp249 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 5 , 6 , 2 )) tmp271 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) t3new . abaaba += einsum ( tmp271 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 6 ), ( 2 , 4 , 1 , 5 , 6 , 3 )) * - 2 tmp247 = einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp217 = einsum ( tmp216 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) del tmp216 tmp170 = einsum ( tmp169 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp169 tmp224 = einsum ( t1 . bb , ( 0 , 1 ), tmp223 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp223 tmp29 = np . copy ( v . bbbb . ooov ) tmp29 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp195 = np . copy ( v . bbbb . ovvv ) * - 1 tmp195 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) tmp183 = einsum ( t1 . bb , ( 0 , 1 ), tmp159 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp28 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp135 = einsum ( tmp16 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp25 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) * - 1 tmp24 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp46 = einsum ( t1 . bb , ( 0 , 1 ), tmp45 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp93 = einsum ( tmp92 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp92 tmp5 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp6 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp10 = einsum ( tmp9 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) * 0.5 tmp84 = einsum ( tmp83 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp83 tmp82 = einsum ( t1 . aa , ( 0 , 1 ), tmp81 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp81 tmp18 = np . copy ( v . aaaa . ooov ) tmp18 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp37 = einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 3 ), ( 1 , 2 )) tmp17 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp434 = np . copy ( np . transpose ( tmp432 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp434 += np . transpose ( tmp433 , ( 0 , 2 , 1 , 3 )) * 2 t3new . babbab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp434 , ( 1 , 4 , 5 , 6 ), ( 4 , 0 , 5 , 6 , 2 , 3 )) tmp554 = np . copy ( np . transpose ( tmp200 , ( 0 , 2 , 1 , 3 ))) tmp554 += np . transpose ( tmp200 , ( 0 , 3 , 2 , 1 )) * - 1 tmp458 = np . copy ( np . transpose ( tmp204 , ( 0 , 2 , 1 , 3 ))) tmp458 += np . transpose ( tmp457 , ( 0 , 2 , 1 , 3 )) del tmp457 tmp530 = np . copy ( np . transpose ( tmp432 , ( 1 , 0 , 2 , 3 ))) * - 0.5 tmp530 += np . transpose ( tmp433 , ( 0 , 2 , 1 , 3 )) tmp516 = einsum ( t3 . bbbbbb , ( 0 , 1 , 2 , 3 , 4 , 5 ), f . bb . ov , ( 6 , 5 ), ( 6 , 0 , 1 , 2 , 3 , 4 )) tmp515 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . oooo , ( 4 , 5 , 6 , 1 ), ( 0 , 4 , 5 , 6 , 2 , 3 )) tmp238 = einsum ( t1 . bb , ( 0 , 1 ), tmp210 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp210 tmp538 = np . copy ( v . bbbb . ovvv ) tmp538 += np . transpose ( tmp129 , ( 0 , 2 , 3 , 1 )) * - 1 tmp534 = einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 1 , 6 , 2 )) tmp324 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 2 , 1 ), ( 2 , 0 )) tmp513 = einsum ( t1 . bb , ( 0 , 1 ), tmp512 , ( 2 , 3 , 4 , 5 , 0 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) del tmp512 tmp560 = einsum ( tmp559 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 3 ), ( 1 , 0 , 4 , 5 , 2 , 6 )) del tmp559 tmp447 = np . copy ( np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 ))) * - 1 tmp447 += tmp129 t3new . babbab += einsum ( tmp447 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 6 , 3 ), ( 5 , 4 , 0 , 2 , 6 , 1 )) tmp546 = np . copy ( np . transpose ( tmp204 , ( 0 , 2 , 1 , 3 ))) tmp546 += np . transpose ( tmp545 , ( 0 , 2 , 1 , 3 )) del tmp545 tmp527 = einsum ( tmp526 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp526 tmp240 = einsum ( tmp234 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp318 = np . copy ( f . bb . vv ) tmp318 += tmp317 * - 1 t3new . babbab += einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp318 , ( 5 , 6 ), ( 0 , 1 , 2 , 6 , 4 , 3 )) * - 1 tmp420 = np . copy ( f . bb . vv ) tmp420 += tmp317 * - 1 del tmp317 t3new . babbab += einsum ( tmp420 , ( 0 , 1 ), t3 . babbab , ( 2 , 3 , 4 , 5 , 6 , 0 ), ( 2 , 3 , 4 , 1 , 6 , 5 )) * - 1 tmp552 = einsum ( tmp168 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 5 , 2 , 6 )) tmp425 = np . copy ( np . transpose ( tmp200 , ( 0 , 2 , 1 , 3 ))) * - 1 tmp425 += np . transpose ( tmp200 , ( 0 , 3 , 2 , 1 )) tmp494 = einsum ( tmp493 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp493 t3new . babbab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp494 , ( 4 , 5 , 1 , 6 ), ( 4 , 0 , 5 , 3 , 2 , 6 )) * - 1 tmp548 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 2 , 6 , 1 )) tmp524 = einsum ( t1 . bb , ( 0 , 1 ), tmp523 , ( 2 , 3 , 4 , 5 , 0 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) del tmp523 tmp448 = np . copy ( v . bbbb . ovvv ) tmp448 += np . transpose ( tmp129 , ( 0 , 2 , 3 , 1 )) * - 1 t3new . babbab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp448 , ( 4 , 5 , 3 , 6 ), ( 4 , 0 , 1 , 5 , 2 , 6 )) tmp480 = np . copy ( np . transpose ( tmp173 , ( 0 , 1 , 3 , 2 ))) tmp480 += tmp174 * - 1 tmp377 = einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp483 = np . copy ( np . transpose ( tmp236 , ( 0 , 2 , 1 , 3 ))) tmp483 += np . transpose ( tmp482 , ( 0 , 3 , 1 , 2 )) del tmp482 tmp424 = einsum ( tmp423 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 1 , 6 ), ( 0 , 2 , 3 , 4 , 6 , 5 )) del tmp423 tmp428 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 5 , 2 , 6 )) tmp499 = np . copy ( tmp151 ) tmp499 += tmp396 * - 1 tmp150 = np . copy ( v . aabb . oovv ) tmp150 += np . transpose ( tmp149 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp149 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp150 , ( 0 , 4 , 3 , 5 ), ( 4 , 1 , 2 , 5 )) * - 1 tmp365 = np . copy ( np . transpose ( tmp139 , ( 0 , 2 , 1 , 3 ))) tmp365 += np . transpose ( tmp363 , ( 0 , 2 , 1 , 3 )) * - 1 t3new . abaaba += einsum ( tmp365 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 6 ), ( 0 , 2 , 4 , 3 , 6 , 5 )) * - 1 tmp506 = einsum ( tmp141 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 2 , 6 ), ( 4 , 0 , 1 , 5 , 6 , 3 )) tmp502 = einsum ( tmp143 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 3 , 6 ), ( 4 , 0 , 5 , 1 , 2 , 6 )) tmp152 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp488 = einsum ( t1 . bb , ( 0 , 1 ), tmp143 , ( 2 , 0 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) tmp414 = einsum ( tmp413 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 1 , 6 ), ( 0 , 2 , 4 , 3 , 6 , 5 )) tmp392 = einsum ( t1 . aa , ( 0 , 1 ), tmp137 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp461 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . oovv , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 5 , 2 , 6 )) tmp262 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp439 = einsum ( tmp413 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . bb , ( 4 , 6 ), ( 0 , 1 , 2 , 3 , 6 , 5 )) del tmp413 tmp394 = einsum ( t1 . bb , ( 0 , 1 ), tmp140 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp437 = np . copy ( np . transpose ( tmp329 , ( 0 , 2 , 1 , 3 ))) tmp437 += tmp330 * - 1 tmp478 = einsum ( tmp172 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 4 , 2 , 3 )) tmp472 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 2 , 6 , 1 )) tmp259 = np . copy ( f . aa . vv ) tmp259 += tmp256 * - 1 t3new . abaaba += einsum ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp259 , ( 5 , 6 ), ( 0 , 1 , 2 , 6 , 4 , 3 )) * - 1 tmp51 = np . copy ( np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 ))) tmp51 += np . transpose ( tmp50 , ( 0 , 2 , 1 , 3 )) * - 1 t2new . abab += einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp51 , ( 2 , 4 , 6 , 5 ), ( 1 , 0 , 6 , 3 )) * 2 tmp464 = einsum ( tmp463 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . bb , ( 4 , 6 ), ( 0 , 1 , 2 , 3 , 5 , 6 )) del tmp463 tmp417 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 5 , 2 , 6 )) tmp485 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp168 , ( 4 , 5 , 6 , 3 ), ( 0 , 4 , 5 , 1 , 2 , 6 )) * - 1 tmp474 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 5 , 6 ), ( 0 , 4 , 1 , 5 , 3 , 6 )) tmp468 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvoo , ( 4 , 2 , 5 , 6 ), ( 0 , 1 , 5 , 6 , 4 , 3 )) tmp367 = einsum ( v . aabb . oovv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 6 , 3 ), ( 4 , 0 , 1 , 5 , 6 , 2 )) tmp358 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 3 , 6 ), ( 4 , 0 , 1 , 5 , 2 , 6 )) tmp311 = einsum ( tmp310 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . bb , ( 4 , 6 ), ( 0 , 2 , 1 , 3 , 5 , 6 )) tmp356 = np . copy ( np . transpose ( tmp177 , ( 1 , 0 , 2 , 3 ))) tmp356 += tmp355 * - 1 t3new . babbab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp356 , ( 0 , 4 , 5 , 6 ), ( 5 , 4 , 1 , 6 , 2 , 3 )) * - 1 tmp378 = einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) tmp290 = np . copy ( np . transpose ( tmp62 , ( 0 , 2 , 1 , 3 ))) tmp290 += np . transpose ( tmp289 , ( 0 , 2 , 1 , 3 )) tmp383 = np . copy ( np . transpose ( tmp111 , ( 0 , 2 , 1 , 3 ))) tmp383 += np . transpose ( tmp382 , ( 0 , 3 , 1 , 2 )) del tmp382 tmp322 = einsum ( t1 . bb , ( 0 , 1 ), tmp321 , ( 2 , 3 , 4 , 5 , 0 , 6 ), ( 2 , 3 , 4 , 5 , 6 , 1 )) del tmp321 tmp292 = np . copy ( np . transpose ( tmp66 , ( 0 , 2 , 1 , 3 ))) tmp292 += np . transpose ( tmp66 , ( 0 , 3 , 2 , 1 )) * - 1 tmp128 = np . copy ( v . aabb . ovvv ) tmp128 += np . transpose ( tmp127 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . abab += einsum ( tmp128 , ( 0 , 1 , 2 , 3 ), t3 . abaaba , ( 4 , 5 , 0 , 6 , 2 , 1 ), ( 4 , 5 , 6 , 3 )) * 2 tmp371 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 3 , 6 ), ( 4 , 0 , 2 , 5 , 1 , 6 )) tmp113 = einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) del tmp72 tmp326 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 1 , 2 , 6 )) tmp361 = einsum ( tmp360 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 3 , 6 ), ( 0 , 1 , 2 , 4 , 6 , 5 )) del tmp360 tmp336 = np . copy ( np . transpose ( tmp335 , ( 1 , 0 , 2 , 3 ))) tmp336 += tmp332 * - 1 tmp408 = einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 6 , 3 ), ( 0 , 4 , 5 , 1 , 6 , 2 )) tmp404 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp173 , ( 4 , 5 , 6 , 3 ), ( 4 , 0 , 5 , 1 , 2 , 6 )) tmp314 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 6 , 1 ), ( 4 , 5 , 0 , 2 , 3 , 6 )) tmp401 = np . copy ( tmp178 ) tmp401 += tmp400 * - 1 tmp109 = einsum ( t1 . aa , ( 0 , 1 ), tmp107 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) tmp385 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp165 , ( 4 , 5 , 6 , 2 ), ( 4 , 5 , 0 , 1 , 6 , 3 )) * - 1 tmp388 = einsum ( tmp173 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 4 , 3 , 2 )) tmp338 = einsum ( tmp310 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 2 , 6 ), ( 0 , 1 , 3 , 4 , 6 , 5 )) del tmp310 tmp380 = np . copy ( np . transpose ( tmp143 , ( 0 , 1 , 3 , 2 ))) tmp380 += tmp144 * - 1 tmp340 = np . copy ( np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 ))) tmp340 += np . transpose ( tmp147 , ( 1 , 0 , 3 , 2 )) * - 1 tmp373 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 6 , 3 ), ( 4 , 0 , 5 , 2 , 6 , 1 )) tmp302 = np . copy ( np . transpose ( tmp66 , ( 0 , 2 , 1 , 3 ))) * - 1 tmp302 += np . transpose ( tmp66 , ( 0 , 3 , 2 , 1 )) tmp283 = np . copy ( np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 ))) * - 1 tmp283 += tmp53 t3new . abaaba += einsum ( tmp283 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 3 , 6 ), ( 4 , 5 , 0 , 2 , 6 , 1 )) tmp281 = np . copy ( v . aaaa . ovvv ) tmp281 += np . transpose ( tmp53 , ( 0 , 2 , 3 , 1 )) * - 1 tmp307 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp306 , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 1 , 6 , 2 )) del tmp306 tmp296 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 6 , 2 , 5 )) tmp265 = einsum ( t1 . aa , ( 0 , 1 ), tmp264 , ( 2 , 3 , 4 , 5 , 0 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) del tmp264 tmp277 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 1 , 6 , 2 )) tmp268 = einsum ( tmp267 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp267 t3new . abaaba += einsum ( tmp268 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 5 , 6 ), ( 0 , 4 , 1 , 5 , 6 , 3 )) * - 1 tmp300 = einsum ( tmp165 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 5 , 2 , 6 )) tmp254 = np . copy ( np . transpose ( tmp252 , ( 0 , 2 , 1 , 3 , 5 , 4 ))) del tmp252 tmp254 += np . transpose ( tmp253 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * 3 del tmp253 tmp294 = np . copy ( np . transpose ( tmp62 , ( 0 , 2 , 1 , 3 ))) tmp294 += tmp289 del tmp289 tmp257 = np . copy ( f . aa . vv ) tmp257 += tmp256 * - 1 del tmp256 t3new . abaaba += einsum ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp257 , ( 5 , 6 ), ( 0 , 1 , 2 , 6 , 4 , 3 )) * - 1 tmp250 = einsum ( t1 . aa , ( 0 , 1 ), tmp249 , ( 2 , 3 , 4 , 5 , 0 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) del tmp249 tmp274 = np . copy ( np . transpose ( tmp247 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp274 += np . transpose ( tmp271 , ( 0 , 2 , 1 , 3 )) * 2 t3new . abaaba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp274 , ( 0 , 4 , 5 , 6 ), ( 4 , 1 , 5 , 6 , 3 , 2 )) tmp272 = np . copy ( np . transpose ( tmp247 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp272 += np . transpose ( tmp271 , ( 0 , 2 , 1 , 3 )) * 2 tmp285 = np . copy ( v . aaaa . ovvv ) tmp285 += np . transpose ( tmp53 , ( 0 , 2 , 3 , 1 )) * - 1 t3new . abaaba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp285 , ( 4 , 5 , 2 , 6 ), ( 4 , 1 , 0 , 5 , 3 , 6 )) tmp242 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp123 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp122 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 1 , 4 ), ( 3 , 4 )) tmp218 = np . copy ( np . transpose ( tmp217 , ( 1 , 0 , 3 , 2 ))) * - 1 del tmp217 tmp218 += tmp170 * - 1 tmp232 = np . copy ( v . bbbb . oovv ) tmp232 += np . transpose ( tmp224 , ( 1 , 0 , 3 , 2 )) * - 1 tmp188 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp188 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp214 = np . copy ( tmp141 ) * - 1 tmp214 += tmp142 del tmp142 tmp206 = einsum ( tmp200 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) tmp30 = einsum ( t1 . bb , ( 0 , 1 ), tmp29 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) del tmp29 tmp131 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp196 = einsum ( t1 . bb , ( 0 , 1 ), tmp195 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp197 = einsum ( t1 . bb , ( 0 , 1 ), tmp16 , ( 0 , 2 ), ( 1 , 2 )) tmp184 = np . copy ( f . bb . oo ) tmp184 += np . transpose ( tmp28 , ( 1 , 0 )) tmp184 += np . transpose ( tmp183 , ( 1 , 0 )) * - 1 del tmp183 tmp146 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovoo , ( 2 , 3 , 4 , 0 ), ( 2 , 4 , 3 , 1 )) t2new . abab += tmp146 * - 1 tmp208 = np . copy ( tmp24 ) tmp208 += tmp25 * 2 tmp208 += tmp135 tmp230 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp227 = np . copy ( v . bbbb . ooov ) * - 1 tmp227 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) tmp192 = np . copy ( v . bbbb . ovvv ) tmp192 += np . transpose ( tmp129 , ( 0 , 3 , 2 , 1 )) tmp125 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) t2new . abab += tmp125 * 2 tmp212 = np . copy ( tmp22 ) tmp212 += np . transpose ( tmp22 , ( 0 , 2 , 1 , 3 )) * - 1 tmp162 = np . copy ( np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 ))) tmp162 += tmp50 * - 1 tmp56 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp58 = einsum ( t1 . aa , ( 0 , 1 ), tmp57 , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) del tmp57 tmp59 = einsum ( tmp9 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 2 , 1 )) tmp42 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp41 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp156 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 1 , 3 , 4 , 5 ), ( 0 , 4 , 2 , 5 )) t2new . abab += tmp156 * 2 tmp95 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) t2new . abab += tmp95 * - 1 tmp91 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp91 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp49 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) t2new . aaaa += tmp49 t2new . aaaa += np . transpose ( tmp49 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp49 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp49 , ( 1 , 0 , 3 , 2 )) tmp132 = np . copy ( v . bbbb . ovvv ) * - 1 tmp132 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 3 , 1 )) tmp47 = np . copy ( f . bb . ov ) tmp47 += tmp13 del tmp13 tmp47 += tmp46 * - 1 del tmp46 t2new . abab += einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp47 , ( 2 , 5 ), ( 1 , 0 , 4 , 3 )) t2new . aaaa += einsum ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp47 , ( 1 , 4 ), ( 0 , 2 , 3 , 5 )) tmp54 = np . copy ( v . aaaa . ovvv ) tmp54 += np . transpose ( tmp53 , ( 0 , 3 , 2 , 1 )) tmp101 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp101 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp115 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp105 = np . copy ( v . aaaa . oovv ) tmp105 += np . transpose ( tmp93 , ( 1 , 0 , 2 , 3 )) * - 1 tmp68 = einsum ( tmp66 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) tmp70 = np . copy ( tmp5 ) tmp70 += tmp6 * 0.5 tmp70 += tmp10 tmp85 = np . copy ( np . transpose ( tmp82 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp82 tmp85 += tmp84 * - 1 tmp96 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp96 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 3 ), ( 1 , 2 )) del tmp18 tmp38 = np . copy ( f . aa . oo ) tmp38 += np . transpose ( tmp17 , ( 1 , 0 )) tmp38 += np . transpose ( tmp37 , ( 1 , 0 )) * - 1 del tmp37 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp38 , ( 0 , 4 ), ( 4 , 1 , 2 , 3 )) * - 1 tmp79 = np . copy ( tmp77 ) * - 1 tmp79 += tmp78 del tmp78 tmp99 = np . copy ( v . aaaa . ooov ) * - 1 tmp99 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) tmp98 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp98 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp103 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp74 = np . copy ( v . aaaa . ovvv ) * - 1 tmp74 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) tmp75 = np . copy ( tmp2 ) * - 1 tmp75 += np . transpose ( tmp2 , ( 0 , 2 , 1 , 3 )) tmp532 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp434 , ( 1 , 4 , 5 , 6 ), ( 4 , 5 , 0 , 6 , 2 , 3 )) * - 1 del tmp434 t3new . bbbbbb = np . copy ( np . transpose ( tmp532 , ( 0 , 1 , 2 , 5 , 3 , 4 ))) t3new . bbbbbb += np . transpose ( tmp532 , ( 0 , 1 , 2 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp532 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp532 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp532 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp532 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp532 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp532 , ( 0 , 2 , 1 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp532 , ( 0 , 2 , 1 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp532 , ( 2 , 0 , 1 , 3 , 5 , 4 )) * - 1 del tmp532 tmp542 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 6 ), ( 0 , 4 , 1 , 5 , 6 , 3 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 2 , 1 , 0 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 2 , 1 , 0 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 0 , 2 , 1 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 0 , 2 , 1 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 1 , 0 , 2 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 1 , 0 , 2 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 2 , 0 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 2 , 0 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 2 , 1 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 2 , 1 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 2 , 0 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 2 , 0 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 2 , 1 , 0 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 2 , 1 , 0 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 0 , 2 , 1 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 0 , 2 , 1 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 1 , 2 , 0 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 1 , 2 , 0 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 0 , 1 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 0 , 1 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 1 , 0 , 2 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 1 , 0 , 2 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 1 , 0 , 2 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 1 , 0 , 2 , 5 , 4 , 3 )) del tmp542 tmp511 = einsum ( f . bb . oo , ( 0 , 1 ), t3 . bbbbbb , ( 2 , 3 , 1 , 4 , 5 , 6 ), ( 0 , 2 , 3 , 4 , 5 , 6 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp511 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp511 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp511 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp511 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp511 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 del tmp511 tmp555 = einsum ( tmp554 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) del tmp554 t3new . bbbbbb += einsum ( tmp555 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 6 ), ( 4 , 1 , 0 , 5 , 6 , 3 )) del tmp555 tmp543 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp458 , ( 4 , 1 , 5 , 6 ), ( 4 , 5 , 0 , 6 , 2 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp543 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp543 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp543 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp543 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp543 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp543 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp543 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp543 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp543 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp543 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp543 , ( 2 , 0 , 1 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp543 , ( 2 , 0 , 1 , 3 , 5 , 4 )) del tmp543 tmp531 = einsum ( tmp530 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 6 ), ( 1 , 2 , 4 , 3 , 5 , 6 )) * - 2 del tmp530 t3new . bbbbbb += np . transpose ( tmp531 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp531 , ( 2 , 0 , 1 , 3 , 5 , 4 )) * - 1 del tmp531 tmp536 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 5 , 6 ), ( 0 , 4 , 5 , 2 , 3 , 6 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 0 , 1 , 2 , 5 , 4 , 3 )) del tmp536 tmp517 = np . copy ( np . transpose ( tmp515 , ( 0 , 2 , 1 , 3 , 5 , 4 ))) tmp517 += np . transpose ( tmp516 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * 3 t3new . bbbbbb += einsum ( t1 . bb , ( 0 , 1 ), tmp517 , ( 2 , 0 , 3 , 4 , 5 , 6 ), ( 4 , 3 , 2 , 6 , 5 , 1 )) del tmp517 tmp556 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp238 , ( 4 , 5 , 1 , 6 ), ( 4 , 5 , 0 , 2 , 3 , 6 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 2 , 0 , 1 , 5 , 4 , 3 )) del tmp556 tmp539 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp538 , ( 4 , 5 , 3 , 6 ), ( 4 , 0 , 1 , 5 , 6 , 2 )) * - 2 del tmp538 t3new . bbbbbb += np . transpose ( tmp539 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp539 , ( 2 , 1 , 0 , 3 , 4 , 5 )) * - 1 del tmp539 tmp535 = einsum ( tmp534 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . bb , ( 2 , 6 ), ( 0 , 1 , 3 , 6 , 4 , 5 )) del tmp534 t3new . bbbbbb += np . transpose ( tmp535 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 2 , 1 , 0 , 3 , 4 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * 2 t3new . bbbbbb += tmp535 * - 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 2 , 1 , 0 , 4 , 5 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 2 , 1 , 0 , 5 , 3 , 4 )) * 2 del tmp535 tmp522 = einsum ( t3 . bbbbbb , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp324 , ( 2 , 6 ), ( 6 , 0 , 1 , 3 , 4 , 5 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp522 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp522 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp522 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp522 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp522 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 del tmp522 tmp514 = einsum ( tmp513 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . bb , ( 2 , 6 ), ( 0 , 1 , 3 , 6 , 4 , 5 )) del tmp513 t3new . bbbbbb += np . transpose ( tmp514 , ( 2 , 1 , 0 , 4 , 5 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * 2 t3new . bbbbbb += tmp514 * - 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 2 , 1 , 0 , 3 , 4 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 2 , 1 , 0 , 5 , 3 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 2 del tmp514 tmp561 = einsum ( t1 . bb , ( 0 , 1 ), tmp560 , ( 2 , 0 , 3 , 4 , 5 , 6 ), ( 2 , 4 , 3 , 6 , 5 , 1 )) * - 2 del tmp560 t3new . bbbbbb += np . transpose ( tmp561 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp561 , ( 1 , 2 , 0 , 5 , 4 , 3 )) del tmp561 tmp533 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp433 , ( 1 , 4 , 5 , 6 ), ( 5 , 4 , 0 , 6 , 2 , 3 )) * - 1 del tmp433 t3new . bbbbbb += np . transpose ( tmp533 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp533 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp533 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp533 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp533 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp533 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * 2 del tmp533 tmp540 = einsum ( tmp447 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 3 ), ( 0 , 4 , 5 , 1 , 2 , 6 )) * - 1 del tmp447 t3new . bbbbbb += np . transpose ( tmp540 , ( 2 , 0 , 1 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp540 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp540 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 2 del tmp540 tmp547 = einsum ( tmp546 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 6 ), ( 0 , 1 , 4 , 3 , 5 , 6 )) * - 1 del tmp546 t3new . bbbbbb += np . transpose ( tmp547 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp547 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp547 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp547 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp547 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp547 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp547 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp547 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp547 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp547 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp547 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 del tmp547 tmp528 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp527 , ( 4 , 1 , 5 , 6 ), ( 4 , 5 , 0 , 6 , 2 , 3 )) * - 1 del tmp527 t3new . bbbbbb += np . transpose ( tmp528 , ( 2 , 1 , 0 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp528 , ( 1 , 0 , 2 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp528 , ( 1 , 0 , 2 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp528 , ( 1 , 2 , 0 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp528 , ( 1 , 2 , 0 , 5 , 4 , 3 )) * - 1 del tmp528 tmp518 = np . copy ( np . transpose ( tmp515 , ( 0 , 2 , 1 , 3 , 5 , 4 ))) * 0.3333333333333333 del tmp515 tmp518 += np . transpose ( tmp516 , ( 1 , 0 , 2 , 3 , 5 , 4 )) del tmp516 t3new . bbbbbb += einsum ( t1 . bb , ( 0 , 1 ), tmp518 , ( 2 , 0 , 3 , 4 , 5 , 6 ), ( 4 , 3 , 2 , 6 , 5 , 1 )) * 3 del tmp518 tmp557 = einsum ( tmp240 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 6 ), ( 1 , 0 , 4 , 3 , 5 , 6 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 2 , 0 , 1 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 2 , 0 , 1 , 3 , 5 , 4 )) del tmp557 tmp551 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp236 , ( 4 , 5 , 3 , 6 ), ( 4 , 0 , 1 , 2 , 6 , 5 )) t3new . bbbbbb += np . transpose ( tmp551 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 1 , 0 , 2 , 3 , 4 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 1 , 2 , 0 , 3 , 4 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 1 , 0 , 2 , 4 , 5 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 1 , 2 , 0 , 5 , 4 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 2 del tmp551 tmp537 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 2 , 5 , 6 )) t3new . bbbbbb += np . transpose ( tmp537 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp537 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp537 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp537 , ( 2 , 1 , 0 , 5 , 3 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp537 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp537 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp537 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp537 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp537 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * 2 del tmp537 tmp520 = einsum ( tmp318 , ( 0 , 1 ), t3 . bbbbbb , ( 2 , 3 , 4 , 5 , 6 , 0 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) t3new . bbbbbb += np . transpose ( tmp520 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * - 3 t3new . bbbbbb += np . transpose ( tmp520 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * - 3 del tmp520 tmp519 = einsum ( t3 . bbbbbb , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp420 , ( 5 , 6 ), ( 0 , 1 , 2 , 6 , 3 , 4 )) * 3 del tmp420 t3new . bbbbbb += np . transpose ( tmp519 , ( 1 , 2 , 0 , 3 , 4 , 5 )) t3new . bbbbbb += np . transpose ( tmp519 , ( 1 , 2 , 0 , 3 , 4 , 5 )) del tmp519 tmp553 = einsum ( t1 . bb , ( 0 , 1 ), tmp552 , ( 2 , 0 , 3 , 4 , 5 , 6 ), ( 2 , 4 , 3 , 6 , 5 , 1 )) * - 1 del tmp552 t3new . bbbbbb += np . transpose ( tmp553 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 1 , 0 , 2 , 3 , 4 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 1 , 2 , 0 , 3 , 4 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 1 , 0 , 2 , 4 , 5 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 2 del tmp553 tmp550 = einsum ( tmp204 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 6 ), ( 0 , 4 , 1 , 5 , 6 , 3 )) t3new . bbbbbb += np . transpose ( tmp550 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp550 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp550 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp550 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp550 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp550 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp550 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp550 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp550 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp550 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp550 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp550 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 del tmp550 tmp544 = np . copy ( np . transpose ( tmp204 , ( 0 , 2 , 1 , 3 ))) tmp544 += einsum ( tmp425 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) t3new . bbbbbb += einsum ( tmp544 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 6 ), ( 4 , 1 , 0 , 3 , 5 , 6 )) * - 1 del tmp544 tmp510 = einsum ( tmp432 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 6 ), ( 4 , 2 , 0 , 3 , 5 , 6 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp510 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp510 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp510 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp510 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp510 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp510 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp510 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp510 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp510 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 del tmp510 tmp529 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp494 , ( 4 , 5 , 1 , 6 ), ( 4 , 5 , 0 , 6 , 2 , 3 )) * - 1 del tmp494 t3new . bbbbbb += np . transpose ( tmp529 , ( 0 , 2 , 1 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp529 , ( 0 , 2 , 1 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp529 , ( 2 , 0 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp529 , ( 2 , 0 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp529 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp529 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 1 del tmp529 tmp549 = einsum ( t1 . bb , ( 0 , 1 ), tmp548 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp548 t3new . bbbbbb += np . transpose ( tmp549 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp549 , ( 2 , 1 , 0 , 3 , 4 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp549 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp549 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp549 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * - 2 t3new . bbbbbb += tmp549 * 2 t3new . bbbbbb += np . transpose ( tmp549 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp549 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp549 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * - 2 del tmp549 tmp521 = einsum ( f . bb . vv , ( 0 , 1 ), t3 . bbbbbb , ( 2 , 3 , 4 , 5 , 6 , 1 ), ( 2 , 3 , 4 , 0 , 5 , 6 )) t3new . bbbbbb += np . transpose ( tmp521 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 3 t3new . bbbbbb += np . transpose ( tmp521 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 3 del tmp521 tmp525 = einsum ( tmp524 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . bb , ( 3 , 6 ), ( 0 , 1 , 2 , 6 , 4 , 5 )) del tmp524 t3new . bbbbbb += np . transpose ( tmp525 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 1 , 0 , 2 , 4 , 5 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 1 , 0 , 2 , 3 , 4 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 1 , 2 , 0 , 3 , 4 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 1 , 2 , 0 , 5 , 4 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 2 del tmp525 tmp541 = einsum ( tmp448 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 2 ), ( 0 , 4 , 5 , 1 , 3 , 6 )) * - 1 del tmp448 t3new . bbbbbb += np . transpose ( tmp541 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp541 , ( 2 , 1 , 0 , 5 , 3 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp541 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp541 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * 2 del tmp541 tmp449 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 6 ), ( 4 , 5 , 2 , 0 , 6 , 3 )) t3new . babbab += np . transpose ( tmp449 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp449 , ( 1 , 0 , 2 , 4 , 3 , 5 )) del tmp449 tmp481 = np . copy ( np . transpose ( tmp377 , ( 0 , 1 , 3 , 2 ))) tmp481 += einsum ( t1 . aa , ( 0 , 1 ), tmp480 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 4 , 3 )) * - 1 del tmp480 t3new . babbab += einsum ( tmp481 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 2 ), ( 4 , 0 , 5 , 3 , 1 , 6 )) * - 2 del tmp481 tmp484 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp483 , ( 4 , 3 , 5 , 6 ), ( 0 , 4 , 1 , 2 , 5 , 6 )) del tmp483 t3new . babbab += np . transpose ( tmp484 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp484 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp484 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp484 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 del tmp484 tmp443 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 6 ), ( 4 , 0 , 2 , 5 , 6 , 3 )) t3new . babbab += np . transpose ( tmp443 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp443 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp443 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp443 , ( 1 , 0 , 2 , 5 , 3 , 4 )) del tmp443 tmp426 = np . copy ( tmp424 ) tmp426 += einsum ( tmp425 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 6 ), ( 4 , 0 , 2 , 1 , 5 , 6 )) del tmp425 t3new . babbab += einsum ( t1 . bb , ( 0 , 1 ), tmp426 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 4 , 2 , 3 , 6 , 5 , 1 )) del tmp426 tmp490 = np . copy ( np . transpose ( tmp377 , ( 0 , 1 , 3 , 2 ))) tmp490 += einsum ( t1 . bb , ( 0 , 1 ), tmp77 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 t3new . babbab += einsum ( tmp490 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 2 ), ( 4 , 0 , 5 , 6 , 1 , 3 )) * 2 del tmp490 tmp429 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp140 , ( 4 , 0 , 5 , 6 ), ( 4 , 1 , 5 , 6 , 2 , 3 )) * - 1 tmp429 += einsum ( tmp428 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 1 , 6 ), ( 0 , 3 , 2 , 4 , 6 , 5 )) * 2 del tmp428 t3new . babbab += einsum ( t1 . bb , ( 0 , 1 ), tmp429 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 4 , 2 , 3 , 6 , 5 , 1 )) del tmp429 tmp444 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 5 , 6 ), ( 0 , 4 , 2 , 1 , 5 , 6 )) t3new . babbab += np . transpose ( tmp444 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp444 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp444 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp444 , ( 1 , 0 , 2 , 5 , 3 , 4 )) del tmp444 tmp500 = einsum ( tmp499 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 6 ), ( 0 , 1 , 4 , 3 , 5 , 6 )) * - 1 del tmp499 t3new . babbab += np . transpose ( tmp500 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp500 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp500 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp500 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 del tmp500 tmp477 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp177 , ( 4 , 0 , 5 , 6 ), ( 4 , 5 , 1 , 2 , 3 , 6 )) t3new . babbab += np . transpose ( tmp477 , ( 1 , 0 , 2 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp477 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 del tmp477 tmp471 = einsum ( tmp204 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 6 ), ( 4 , 0 , 1 , 5 , 6 , 3 )) t3new . babbab += np . transpose ( tmp471 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp471 , ( 1 , 0 , 2 , 4 , 3 , 5 )) del tmp471 tmp441 = einsum ( tmp150 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 2 ), ( 1 , 0 , 4 , 5 , 6 , 3 )) del tmp150 t3new . babbab += einsum ( tmp441 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 0 , 6 ), ( 2 , 1 , 3 , 5 , 6 , 4 )) * 2 del tmp441 tmp453 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp335 , ( 4 , 0 , 5 , 6 ), ( 4 , 1 , 5 , 2 , 6 , 3 )) t3new . babbab += np . transpose ( tmp453 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp453 , ( 1 , 0 , 2 , 5 , 3 , 4 )) del tmp453 tmp460 = einsum ( tmp365 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 6 ), ( 0 , 2 , 4 , 3 , 5 , 6 )) * - 1 del tmp365 t3new . babbab += np . transpose ( tmp460 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp460 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp460 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp460 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 del tmp460 tmp507 = einsum ( t1 . aa , ( 0 , 1 ), tmp506 , ( 2 , 0 , 3 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp506 t3new . babbab += np . transpose ( tmp507 , ( 1 , 0 , 2 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp507 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 del tmp507 tmp476 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . oovv , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 1 , 2 , 6 )) t3new . babbab += einsum ( tmp476 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 0 , 6 ), ( 2 , 1 , 3 , 4 , 6 , 5 )) * - 2 del tmp476 tmp431 = np . copy ( np . transpose ( tmp335 , ( 1 , 0 , 2 , 3 ))) tmp431 += tmp332 * - 1 t3new . babbab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp431 , ( 0 , 4 , 5 , 6 ), ( 1 , 4 , 5 , 6 , 2 , 3 )) * - 1 del tmp431 tmp497 = einsum ( tmp238 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 6 ), ( 4 , 0 , 1 , 5 , 6 , 3 )) t3new . babbab += np . transpose ( tmp497 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp497 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp497 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp497 , ( 1 , 0 , 2 , 5 , 3 , 4 )) del tmp497 tmp496 = np . copy ( tmp178 ) * - 1 tmp496 += tmp400 t3new . babbab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp496 , ( 4 , 0 , 5 , 6 ), ( 1 , 4 , 5 , 6 , 2 , 3 )) * - 1 del tmp496 tmp503 = einsum ( tmp502 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . bb , ( 3 , 6 ), ( 0 , 1 , 2 , 4 , 6 , 5 )) del tmp502 t3new . babbab += np . transpose ( tmp503 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp503 , ( 2 , 0 , 1 , 4 , 3 , 5 )) del tmp503 tmp454 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 6 ), ( 0 , 4 , 2 , 5 , 6 , 3 )) t3new . babbab += np . transpose ( tmp454 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp454 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp454 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp454 , ( 1 , 0 , 2 , 5 , 3 , 4 )) del tmp454 tmp467 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp21 , ( 4 , 5 , 1 , 6 ), ( 4 , 5 , 0 , 6 , 2 , 3 )) t3new . babbab += np . transpose ( tmp467 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp467 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp467 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp467 , ( 2 , 0 , 1 , 5 , 3 , 4 )) del tmp467 tmp489 = np . copy ( np . transpose ( tmp152 , ( 0 , 2 , 1 , 3 ))) * - 1 tmp489 += np . transpose ( tmp488 , ( 0 , 2 , 1 , 3 )) t3new . babbab += einsum ( tmp489 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 6 ), ( 5 , 4 , 0 , 6 , 2 , 3 )) * - 1 del tmp489 tmp419 = einsum ( f . bb . ov , ( 0 , 1 ), t3 . babbab , ( 2 , 3 , 4 , 5 , 6 , 1 ), ( 3 , 0 , 2 , 4 , 6 , 5 )) tmp419 += np . transpose ( tmp414 , ( 0 , 3 , 2 , 1 , 4 , 5 )) * 0.5 t3new . babbab += einsum ( t1 . bb , ( 0 , 1 ), tmp419 , ( 2 , 0 , 3 , 4 , 5 , 6 ), ( 3 , 2 , 4 , 6 , 5 , 1 )) * - 2 del tmp419 tmp505 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp178 , ( 4 , 0 , 5 , 6 ), ( 4 , 5 , 1 , 2 , 3 , 6 )) t3new . babbab += np . transpose ( tmp505 , ( 1 , 0 , 2 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp505 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 del tmp505 tmp495 = einsum ( tmp392 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 6 ), ( 0 , 1 , 4 , 3 , 5 , 6 )) t3new . babbab += np . transpose ( tmp495 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp495 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp495 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp495 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 del tmp495 tmp462 = einsum ( t1 . bb , ( 0 , 1 ), tmp461 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) del tmp461 t3new . babbab += np . transpose ( tmp462 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp462 , ( 1 , 0 , 2 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp462 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp462 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 del tmp462 tmp455 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 6 ), ( 4 , 0 , 1 , 5 , 6 , 3 )) t3new . babbab += np . transpose ( tmp455 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp455 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp455 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp455 , ( 1 , 0 , 2 , 5 , 3 , 4 )) del tmp455 tmp498 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp240 , ( 4 , 5 , 1 , 6 ), ( 0 , 5 , 4 , 2 , 6 , 3 )) t3new . babbab += np . transpose ( tmp498 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp498 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp498 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp498 , ( 1 , 0 , 2 , 4 , 3 , 5 )) del tmp498 tmp415 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . oooo , ( 4 , 5 , 6 , 1 ), ( 0 , 4 , 5 , 6 , 2 , 3 )) tmp415 += np . transpose ( tmp414 , ( 0 , 1 , 3 , 2 , 4 , 5 )) * - 1 del tmp414 t3new . babbab += einsum ( t1 . bb , ( 0 , 1 ), tmp415 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 3 , 2 , 4 , 6 , 5 , 1 )) * - 1 del tmp415 tmp501 = np . copy ( tmp178 ) del tmp178 tmp501 += tmp400 * - 1 t3new . babbab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp501 , ( 4 , 0 , 5 , 6 ), ( 5 , 4 , 1 , 6 , 2 , 3 )) * - 1 del tmp501 tmp427 = einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp262 , ( 1 , 6 ), ( 6 , 0 , 2 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp427 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp427 , ( 1 , 0 , 2 , 5 , 3 , 4 )) del tmp427 tmp440 = einsum ( tmp439 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 1 , 6 ), ( 0 , 2 , 3 , 6 , 4 , 5 )) del tmp439 t3new . babbab += np . transpose ( tmp440 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp440 , ( 2 , 0 , 1 , 4 , 3 , 5 )) del tmp440 tmp492 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp394 , ( 4 , 0 , 5 , 6 ), ( 4 , 1 , 5 , 2 , 6 , 3 )) t3new . babbab += np . transpose ( tmp492 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp492 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp492 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 del tmp492 tmp446 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 6 , 1 , 2 )) t3new . babbab += np . transpose ( tmp446 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp446 , ( 1 , 0 , 2 , 5 , 3 , 4 )) del tmp446 tmp450 = np . copy ( v . aabb . ovvv ) tmp450 += np . transpose ( tmp127 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp127 t3new . babbab += einsum ( tmp450 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 2 ), ( 4 , 0 , 5 , 6 , 1 , 3 )) * 2 del tmp450 tmp438 = einsum ( tmp437 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 6 ), ( 0 , 2 , 4 , 3 , 5 , 6 )) * - 1 del tmp437 t3new . babbab += np . transpose ( tmp438 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp438 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 del tmp438 tmp416 = einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), f . aa . oo , ( 6 , 1 ), ( 6 , 0 , 2 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp416 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp416 , ( 1 , 0 , 2 , 5 , 3 , 4 )) del tmp416 tmp479 = np . copy ( np . transpose ( tmp152 , ( 0 , 2 , 1 , 3 ))) tmp479 += tmp478 * - 1 t3new . babbab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp479 , ( 4 , 5 , 2 , 6 ), ( 1 , 0 , 4 , 6 , 5 , 3 )) * - 1 del tmp479 tmp459 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp458 , ( 4 , 1 , 5 , 6 ), ( 0 , 4 , 5 , 2 , 6 , 3 )) del tmp458 t3new . babbab += np . transpose ( tmp459 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp459 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 del tmp459 tmp466 = np . copy ( np . transpose ( tmp177 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp177 tmp466 += tmp355 del tmp355 t3new . babbab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp466 , ( 4 , 0 , 5 , 6 ), ( 1 , 4 , 5 , 6 , 2 , 3 )) * - 1 del tmp466 tmp470 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 6 , 3 ), ( 4 , 0 , 1 , 6 , 5 , 2 )) t3new . babbab += einsum ( t1 . bb , ( 0 , 1 ), tmp470 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 3 , 2 , 4 , 1 , 5 , 6 )) * 2 del tmp470 tmp504 = einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 3 ), ( 0 , 4 , 5 , 1 , 2 , 6 )) del tmp77 t3new . babbab += einsum ( tmp504 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . bb , ( 3 , 6 ), ( 1 , 0 , 2 , 6 , 4 , 5 )) * 2 del tmp504 tmp436 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp332 , ( 0 , 4 , 5 , 6 ), ( 4 , 5 , 1 , 2 , 6 , 3 )) t3new . babbab += np . transpose ( tmp436 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp436 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp436 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 del tmp436 tmp430 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp137 , ( 4 , 0 , 5 , 6 ), ( 4 , 5 , 1 , 6 , 2 , 3 )) tmp430 += tmp424 del tmp424 t3new . babbab += einsum ( t1 . bb , ( 0 , 1 ), tmp430 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 3 , 2 , 4 , 6 , 5 , 1 )) * - 1 del tmp430 tmp508 = einsum ( tmp173 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 5 , 6 , 2 )) t3new . babbab += einsum ( tmp508 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 1 , 6 ), ( 2 , 0 , 3 , 4 , 6 , 5 )) * - 2 del tmp508 tmp473 = einsum ( t1 . bb , ( 0 , 1 ), tmp472 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) del tmp472 t3new . babbab += np . transpose ( tmp473 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp473 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 del tmp473 tmp412 = einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), f . bb . oo , ( 6 , 2 ), ( 1 , 6 , 0 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp412 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp412 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp412 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp412 , ( 2 , 0 , 1 , 5 , 3 , 4 )) del tmp412 tmp451 = einsum ( tmp432 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 6 ), ( 4 , 2 , 0 , 5 , 3 , 6 )) del tmp432 t3new . babbab += np . transpose ( tmp451 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp451 , ( 1 , 0 , 2 , 4 , 3 , 5 )) del tmp451 tmp509 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp400 , ( 4 , 0 , 5 , 6 ), ( 4 , 5 , 1 , 2 , 6 , 3 )) del tmp400 t3new . babbab += np . transpose ( tmp509 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp509 , ( 2 , 0 , 1 , 5 , 3 , 4 )) del tmp509 tmp421 = einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp259 , ( 4 , 6 ), ( 1 , 0 , 2 , 6 , 3 , 5 )) t3new . babbab += np . transpose ( tmp421 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp421 , ( 2 , 0 , 1 , 5 , 3 , 4 )) del tmp421 tmp442 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 6 ), ( 0 , 4 , 2 , 5 , 6 , 3 )) t3new . babbab += np . transpose ( tmp442 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp442 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp442 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp442 , ( 1 , 0 , 2 , 5 , 3 , 4 )) del tmp442 tmp435 = einsum ( tmp330 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 6 ), ( 0 , 4 , 2 , 3 , 5 , 6 )) t3new . babbab += np . transpose ( tmp435 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp435 , ( 1 , 0 , 2 , 5 , 3 , 4 )) del tmp435 tmp445 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp51 , ( 4 , 2 , 5 , 6 ), ( 0 , 1 , 4 , 5 , 3 , 6 )) t3new . babbab += np . transpose ( tmp445 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp445 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 del tmp445 tmp465 = einsum ( tmp464 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . bb , ( 2 , 6 ), ( 0 , 1 , 3 , 4 , 6 , 5 )) del tmp464 t3new . babbab += np . transpose ( tmp465 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp465 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp465 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp465 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 del tmp465 tmp418 = einsum ( v . aabb . oooo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 6 ), ( 0 , 4 , 2 , 3 , 5 , 6 )) * - 1 tmp418 += einsum ( tmp417 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 0 , 6 ), ( 1 , 3 , 2 , 4 , 6 , 5 )) * 2 del tmp417 t3new . babbab += einsum ( t1 . bb , ( 0 , 1 ), tmp418 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 4 , 2 , 3 , 6 , 5 , 1 )) del tmp418 tmp452 = einsum ( tmp329 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 6 ), ( 0 , 4 , 1 , 3 , 5 , 6 )) t3new . babbab += np . transpose ( tmp452 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp452 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 del tmp452 tmp486 = einsum ( t1 . bb , ( 0 , 1 ), tmp485 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 6 , 1 )) * - 1 del tmp485 t3new . babbab += np . transpose ( tmp486 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp486 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp486 , ( 1 , 0 , 2 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp486 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 del tmp486 tmp475 = einsum ( tmp474 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 1 , 6 ), ( 0 , 2 , 3 , 6 , 4 , 5 )) del tmp474 t3new . babbab += np . transpose ( tmp475 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp475 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 del tmp475 tmp487 = np . copy ( np . transpose ( tmp152 , ( 0 , 2 , 1 , 3 ))) tmp487 += np . transpose ( tmp478 , ( 0 , 2 , 1 , 3 )) * - 1 del tmp478 t3new . babbab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp487 , ( 4 , 2 , 5 , 6 ), ( 4 , 0 , 1 , 6 , 5 , 3 )) del tmp487 tmp422 = einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp324 , ( 2 , 6 ), ( 1 , 6 , 0 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp422 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp422 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp422 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp422 , ( 2 , 0 , 1 , 5 , 3 , 4 )) del tmp422 tmp491 = np . copy ( np . transpose ( tmp152 , ( 0 , 2 , 1 , 3 ))) tmp491 += np . transpose ( tmp488 , ( 0 , 2 , 1 , 3 )) * - 1 del tmp488 t3new . babbab += einsum ( tmp491 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 6 ), ( 0 , 4 , 5 , 6 , 2 , 3 )) * - 1 del tmp491 tmp469 = einsum ( t1 . bb , ( 0 , 1 ), tmp468 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) del tmp468 t3new . babbab += np . transpose ( tmp469 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp469 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp469 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp469 , ( 1 , 0 , 2 , 4 , 3 , 5 )) del tmp469 tmp364 = np . copy ( np . transpose ( tmp139 , ( 0 , 2 , 1 , 3 ))) * - 1 tmp364 += np . transpose ( tmp363 , ( 0 , 2 , 1 , 3 )) del tmp363 t3new . abaaba += einsum ( tmp364 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 6 ), ( 4 , 1 , 0 , 3 , 6 , 5 )) * - 1 del tmp364 tmp349 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp247 , ( 4 , 0 , 5 , 6 ), ( 5 , 4 , 1 , 6 , 2 , 3 )) t3new . abaaba += np . transpose ( tmp349 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp349 , ( 0 , 2 , 1 , 3 , 5 , 4 )) del tmp349 tmp325 = einsum ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp324 , ( 1 , 6 ), ( 0 , 2 , 6 , 3 , 5 , 4 )) del tmp324 t3new . abaaba += np . transpose ( tmp325 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp325 , ( 0 , 2 , 1 , 4 , 5 , 3 )) del tmp325 tmp368 = einsum ( t1 . aa , ( 0 , 1 ), tmp367 , ( 2 , 0 , 3 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp367 t3new . abaaba += np . transpose ( tmp368 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp368 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp368 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp368 , ( 0 , 2 , 1 , 3 , 5 , 4 )) del tmp368 tmp406 = einsum ( tmp141 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 6 , 2 ), ( 4 , 5 , 0 , 1 , 6 , 3 )) t3new . abaaba += einsum ( tmp406 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 2 , 6 ), ( 0 , 3 , 1 , 6 , 5 , 4 )) * 2 del tmp406 tmp319 = einsum ( tmp318 , ( 0 , 1 ), t3 . abaaba , ( 2 , 3 , 4 , 5 , 0 , 6 ), ( 2 , 4 , 3 , 5 , 6 , 1 )) del tmp318 t3new . abaaba += np . transpose ( tmp319 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp319 , ( 1 , 2 , 0 , 4 , 5 , 3 )) del tmp319 tmp410 = einsum ( tmp143 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 1 , 6 , 2 )) t3new . abaaba += einsum ( tmp410 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . bb , ( 3 , 6 ), ( 0 , 2 , 1 , 4 , 6 , 5 )) * - 2 del tmp410 tmp342 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 6 ), ( 4 , 0 , 2 , 5 , 1 , 6 )) t3new . abaaba += np . transpose ( tmp342 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp342 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp342 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp342 , ( 0 , 2 , 1 , 4 , 5 , 3 )) del tmp342 tmp320 = einsum ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp262 , ( 2 , 6 ), ( 6 , 0 , 1 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp320 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp320 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp320 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp320 , ( 1 , 2 , 0 , 4 , 5 , 3 )) del tmp320 tmp359 = einsum ( tmp358 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 1 , 6 ), ( 0 , 2 , 3 , 6 , 4 , 5 )) del tmp358 t3new . abaaba += np . transpose ( tmp359 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp359 , ( 0 , 2 , 1 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp359 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp359 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 del tmp359 tmp333 = einsum ( tmp332 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 6 ), ( 4 , 1 , 2 , 5 , 6 , 3 )) del tmp332 t3new . abaaba += np . transpose ( tmp333 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp333 , ( 0 , 2 , 1 , 4 , 5 , 3 )) del tmp333 tmp316 = einsum ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), f . aa . ov , ( 6 , 5 ), ( 6 , 0 , 2 , 1 , 3 , 4 )) * 2 tmp316 += np . transpose ( tmp311 , ( 1 , 2 , 0 , 3 , 4 , 5 )) t3new . abaaba += einsum ( tmp316 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 0 , 6 ), ( 1 , 3 , 2 , 4 , 5 , 6 )) * - 1 del tmp316 tmp344 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 6 ), ( 4 , 0 , 2 , 5 , 6 , 3 )) t3new . abaaba += np . transpose ( tmp344 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp344 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp344 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp344 , ( 0 , 2 , 1 , 4 , 5 , 3 )) del tmp344 tmp370 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 5 , 6 ), ( 0 , 1 , 4 , 5 , 3 , 6 )) t3new . abaaba += np . transpose ( tmp370 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp370 , ( 0 , 2 , 1 , 3 , 5 , 4 )) del tmp370 tmp393 = einsum ( tmp392 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 6 ), ( 4 , 0 , 1 , 3 , 5 , 6 )) del tmp392 t3new . abaaba += np . transpose ( tmp393 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp393 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp393 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 del tmp393 tmp357 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp356 , ( 1 , 4 , 5 , 6 ), ( 4 , 0 , 5 , 2 , 3 , 6 )) * - 1 del tmp356 t3new . abaaba += np . transpose ( tmp357 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp357 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp357 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp357 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 del tmp357 tmp387 = np . copy ( np . transpose ( tmp377 , ( 0 , 1 , 3 , 2 ))) tmp387 += np . transpose ( tmp378 , ( 0 , 1 , 3 , 2 )) * - 1 t3new . abaaba += einsum ( tmp387 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 6 , 2 ), ( 0 , 5 , 4 , 1 , 3 , 6 )) del tmp387 tmp354 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp290 , ( 4 , 0 , 5 , 6 ), ( 4 , 5 , 1 , 6 , 2 , 3 )) t3new . abaaba += np . transpose ( tmp354 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp354 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 del tmp354 tmp379 = np . copy ( np . transpose ( tmp377 , ( 0 , 1 , 3 , 2 ))) tmp379 += tmp378 * - 1 del tmp378 t3new . abaaba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp379 , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 5 , 6 , 2 )) * - 1 del tmp379 tmp384 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp383 , ( 4 , 2 , 5 , 6 ), ( 4 , 0 , 1 , 5 , 6 , 3 )) del tmp383 t3new . abaaba += np . transpose ( tmp384 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp384 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp384 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp384 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 del tmp384 tmp375 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aabb . vvoo , ( 4 , 3 , 5 , 6 ), ( 0 , 1 , 5 , 6 , 2 , 4 )) t3new . abaaba += einsum ( t1 . bb , ( 0 , 1 ), tmp375 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 4 , 3 , 5 , 1 , 6 )) * - 2 del tmp375 tmp323 = np . copy ( tmp322 ) tmp323 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp292 , ( 4 , 0 , 5 , 6 ), ( 4 , 5 , 6 , 1 , 2 , 3 )) t3new . abaaba += einsum ( tmp323 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 2 , 6 ), ( 1 , 3 , 0 , 4 , 5 , 6 )) del tmp323 tmp351 = einsum ( tmp329 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 6 ), ( 4 , 0 , 1 , 3 , 5 , 6 )) t3new . abaaba += np . transpose ( tmp351 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp351 , ( 0 , 2 , 1 , 4 , 5 , 3 )) del tmp351 tmp345 = einsum ( tmp128 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 6 , 2 ), ( 4 , 0 , 5 , 6 , 1 , 3 )) t3new . abaaba += np . transpose ( tmp345 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp345 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 del tmp345 tmp407 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp151 , ( 4 , 5 , 1 , 6 ), ( 4 , 0 , 5 , 2 , 6 , 3 )) t3new . abaaba += np . transpose ( tmp407 , ( 0 , 2 , 1 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp407 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * - 1 del tmp407 tmp366 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 6 ), ( 0 , 4 , 2 , 5 , 6 , 3 )) t3new . abaaba += np . transpose ( tmp366 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp366 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp366 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp366 , ( 1 , 2 , 0 , 4 , 5 , 3 )) del tmp366 tmp372 = einsum ( t1 . aa , ( 0 , 1 ), tmp371 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp371 t3new . abaaba += np . transpose ( tmp372 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp372 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 del tmp372 tmp399 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp113 , ( 4 , 5 , 0 , 6 ), ( 4 , 5 , 1 , 2 , 6 , 3 )) t3new . abaaba += np . transpose ( tmp399 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp399 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp399 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp399 , ( 0 , 2 , 1 , 4 , 5 , 3 )) del tmp399 tmp327 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp137 , ( 4 , 5 , 6 , 1 ), ( 0 , 4 , 5 , 6 , 2 , 3 )) * - 1 tmp327 += einsum ( t1 . bb , ( 0 , 1 ), tmp326 , ( 2 , 3 , 4 , 5 , 0 , 6 ), ( 2 , 3 , 4 , 5 , 6 , 1 )) * - 2 del tmp326 t3new . abaaba += einsum ( tmp327 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 2 , 6 ), ( 1 , 3 , 0 , 4 , 5 , 6 )) del tmp327 tmp362 = einsum ( tmp361 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 1 , 6 ), ( 0 , 2 , 3 , 6 , 4 , 5 )) del tmp361 t3new . abaaba += np . transpose ( tmp362 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp362 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp362 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp362 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 del tmp362 tmp397 = np . copy ( tmp151 ) * - 1 tmp397 += tmp396 t3new . abaaba += einsum ( tmp397 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 6 ), ( 4 , 1 , 0 , 3 , 6 , 5 )) * - 1 del tmp397 tmp337 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp336 , ( 1 , 4 , 5 , 6 ), ( 4 , 0 , 5 , 2 , 3 , 6 )) * - 1 del tmp336 t3new . abaaba += np . transpose ( tmp337 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp337 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 del tmp337 tmp343 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 0 , 5 , 6 ), ( 4 , 5 , 1 , 2 , 6 , 3 )) t3new . abaaba += np . transpose ( tmp343 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp343 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp343 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp343 , ( 0 , 2 , 1 , 4 , 5 , 3 )) del tmp343 tmp409 = einsum ( t1 . bb , ( 0 , 1 ), tmp408 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 6 , 1 )) del tmp408 t3new . abaaba += np . transpose ( tmp409 , ( 0 , 2 , 1 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp409 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * - 1 del tmp409 tmp309 = einsum ( f . aa . oo , ( 0 , 1 ), t3 . abaaba , ( 2 , 3 , 1 , 4 , 5 , 6 ), ( 0 , 2 , 3 , 4 , 6 , 5 )) t3new . abaaba += np . transpose ( tmp309 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp309 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp309 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp309 , ( 1 , 2 , 0 , 4 , 5 , 3 )) del tmp309 tmp353 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 5 , 0 , 6 ), ( 4 , 5 , 1 , 2 , 6 , 3 )) t3new . abaaba += np . transpose ( tmp353 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp353 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp353 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp353 , ( 0 , 2 , 1 , 4 , 5 , 3 )) del tmp353 tmp328 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp140 , ( 4 , 5 , 6 , 1 ), ( 4 , 0 , 5 , 6 , 2 , 3 )) tmp328 += tmp322 del tmp322 t3new . abaaba += einsum ( t1 . aa , ( 0 , 1 ), tmp328 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 4 , 3 , 5 , 6 , 1 )) * - 1 del tmp328 tmp411 = einsum ( tmp396 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 6 ), ( 0 , 4 , 1 , 3 , 5 , 6 )) t3new . abaaba += np . transpose ( tmp411 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp411 , ( 1 , 2 , 0 , 4 , 5 , 3 )) del tmp411 tmp376 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp139 , ( 4 , 5 , 1 , 6 ), ( 4 , 0 , 5 , 2 , 6 , 3 )) del tmp139 t3new . abaaba += np . transpose ( tmp376 , ( 0 , 2 , 1 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp376 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * - 1 del tmp376 tmp405 = einsum ( t1 . aa , ( 0 , 1 ), tmp404 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp404 t3new . abaaba += np . transpose ( tmp405 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp405 , ( 1 , 2 , 0 , 3 , 5 , 4 )) del tmp405 tmp315 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . oooo , ( 4 , 5 , 6 , 1 ), ( 0 , 4 , 5 , 6 , 2 , 3 )) * - 1 tmp315 += einsum ( t1 . bb , ( 0 , 1 ), tmp314 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 6 , 1 )) * - 2 del tmp314 t3new . abaaba += einsum ( tmp315 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 2 , 6 ), ( 1 , 3 , 0 , 4 , 5 , 6 )) del tmp315 tmp348 = np . copy ( np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 ))) tmp348 += np . transpose ( tmp50 , ( 0 , 2 , 1 , 3 )) * - 1 del tmp50 t3new . abaaba += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp348 , ( 4 , 3 , 5 , 6 ), ( 0 , 4 , 1 , 2 , 6 , 5 )) * 2 del tmp348 tmp312 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . oooo , ( 4 , 5 , 6 , 0 ), ( 4 , 5 , 6 , 1 , 2 , 3 )) tmp312 += np . transpose ( tmp311 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * - 1 del tmp311 t3new . abaaba += einsum ( t1 . aa , ( 0 , 1 ), tmp312 , ( 2 , 0 , 3 , 4 , 5 , 6 ), ( 2 , 4 , 3 , 5 , 6 , 1 )) * - 1 del tmp312 tmp395 = einsum ( tmp394 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 6 ), ( 0 , 4 , 2 , 5 , 6 , 3 )) del tmp394 t3new . abaaba += np . transpose ( tmp395 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp395 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp395 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp395 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 del tmp395 tmp390 = np . copy ( np . transpose ( tmp152 , ( 0 , 2 , 1 , 3 ))) tmp390 += einsum ( tmp141 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 1 del tmp141 t3new . abaaba += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp390 , ( 4 , 3 , 5 , 6 ), ( 0 , 4 , 1 , 2 , 6 , 5 )) * 2 del tmp390 tmp352 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 6 ), ( 4 , 0 , 1 , 5 , 3 , 6 )) t3new . abaaba += np . transpose ( tmp352 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp352 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp352 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp352 , ( 0 , 2 , 1 , 4 , 5 , 3 )) del tmp352 tmp334 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp330 , ( 4 , 1 , 5 , 6 ), ( 4 , 0 , 5 , 6 , 2 , 3 )) t3new . abaaba += np . transpose ( tmp334 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp334 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp334 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 del tmp334 tmp403 = np . copy ( tmp151 ) del tmp151 tmp403 += tmp396 * - 1 del tmp396 t3new . abaaba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp403 , ( 4 , 5 , 1 , 6 ), ( 4 , 5 , 0 , 6 , 3 , 2 )) * - 1 del tmp403 tmp346 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 3 , 6 ), ( 4 , 0 , 5 , 1 , 2 , 6 )) t3new . abaaba += np . transpose ( tmp346 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp346 , ( 0 , 2 , 1 , 4 , 5 , 3 )) del tmp346 tmp402 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp401 , ( 4 , 1 , 5 , 6 ), ( 4 , 0 , 5 , 2 , 3 , 6 )) * - 1 del tmp401 t3new . abaaba += np . transpose ( tmp402 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp402 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp402 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp402 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 del tmp402 tmp398 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp109 , ( 4 , 5 , 0 , 6 ), ( 5 , 4 , 1 , 6 , 2 , 3 )) t3new . abaaba += np . transpose ( tmp398 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp398 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp398 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp398 , ( 0 , 2 , 1 , 3 , 5 , 4 )) del tmp398 tmp386 = einsum ( t1 . aa , ( 0 , 1 ), tmp385 , ( 2 , 0 , 3 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) * - 1 del tmp385 t3new . abaaba += np . transpose ( tmp386 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp386 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp386 , ( 0 , 2 , 1 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp386 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * - 1 del tmp386 tmp369 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 6 , 1 ), ( 4 , 5 , 0 , 2 , 6 , 3 )) t3new . abaaba += einsum ( t1 . aa , ( 0 , 1 ), tmp369 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 4 , 3 , 1 , 6 , 5 )) * 2 del tmp369 tmp313 = einsum ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), f . bb . oo , ( 6 , 1 ), ( 0 , 2 , 6 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp313 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp313 , ( 0 , 2 , 1 , 4 , 5 , 3 )) del tmp313 tmp347 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 6 , 3 ), ( 4 , 0 , 5 , 6 , 1 , 2 )) t3new . abaaba += np . transpose ( tmp347 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp347 , ( 0 , 2 , 1 , 3 , 5 , 4 )) del tmp347 tmp331 = np . copy ( np . transpose ( tmp329 , ( 0 , 2 , 1 , 3 ))) del tmp329 tmp331 += tmp330 * - 1 del tmp330 t3new . abaaba += einsum ( tmp331 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 6 ), ( 4 , 2 , 0 , 3 , 6 , 5 )) * - 1 del tmp331 tmp391 = np . copy ( np . transpose ( tmp377 , ( 0 , 1 , 3 , 2 ))) tmp391 += np . transpose ( tmp388 , ( 0 , 1 , 3 , 2 )) * - 1 t3new . abaaba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp391 , ( 4 , 5 , 3 , 6 ), ( 4 , 1 , 0 , 2 , 6 , 5 )) * - 1 del tmp391 tmp350 = einsum ( tmp335 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 6 ), ( 4 , 0 , 2 , 5 , 6 , 3 )) del tmp335 t3new . abaaba += np . transpose ( tmp350 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp350 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 del tmp350 tmp339 = einsum ( t1 . bb , ( 0 , 1 ), tmp338 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 6 , 1 )) del tmp338 t3new . abaaba += np . transpose ( tmp339 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp339 , ( 1 , 2 , 0 , 3 , 5 , 4 )) del tmp339 tmp389 = np . copy ( np . transpose ( tmp377 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp377 tmp389 += np . transpose ( tmp388 , ( 0 , 1 , 3 , 2 )) del tmp388 t3new . abaaba += einsum ( tmp389 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 6 , 2 ), ( 4 , 5 , 0 , 6 , 3 , 1 )) * - 1 del tmp389 tmp381 = np . copy ( np . transpose ( tmp152 , ( 0 , 2 , 1 , 3 ))) tmp381 += einsum ( t1 . bb , ( 0 , 1 ), tmp380 , ( 2 , 0 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 1 del tmp380 t3new . abaaba += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp381 , ( 4 , 3 , 5 , 6 ), ( 0 , 4 , 1 , 5 , 6 , 2 )) * - 2 del tmp381 tmp341 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp340 , ( 4 , 5 , 3 , 6 ), ( 0 , 1 , 5 , 4 , 2 , 6 )) del tmp340 t3new . abaaba += einsum ( t1 . bb , ( 0 , 1 ), tmp341 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 4 , 3 , 6 , 1 , 5 )) * 2 del tmp341 tmp374 = einsum ( t1 . bb , ( 0 , 1 ), tmp373 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 6 , 1 )) del tmp373 t3new . abaaba += np . transpose ( tmp374 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp374 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 del tmp374 tmp299 = einsum ( tmp111 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 6 , 2 ), ( 0 , 4 , 5 , 6 , 3 , 1 )) t3new . aaaaaa = np . copy ( np . transpose ( tmp299 , ( 0 , 2 , 1 , 3 , 5 , 4 ))) * - 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 1 , 0 , 2 , 3 , 4 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 1 , 2 , 0 , 3 , 4 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 1 , 0 , 2 , 4 , 5 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 1 , 2 , 0 , 5 , 4 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 2 del tmp299 tmp261 = einsum ( f . aa . vv , ( 0 , 1 ), t3 . aaaaaa , ( 2 , 3 , 4 , 5 , 6 , 1 ), ( 2 , 3 , 4 , 0 , 5 , 6 )) t3new . aaaaaa += np . transpose ( tmp261 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 3 t3new . aaaaaa += np . transpose ( tmp261 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 3 del tmp261 tmp303 = einsum ( tmp302 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp302 t3new . aaaaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp303 , ( 4 , 5 , 1 , 6 ), ( 0 , 5 , 4 , 2 , 3 , 6 )) del tmp303 tmp287 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 5 , 1 , 6 ), ( 4 , 0 , 5 , 2 , 3 , 6 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 2 , 1 , 0 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 2 , 1 , 0 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 0 , 2 , 1 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 0 , 2 , 1 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 1 , 0 , 2 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 1 , 0 , 2 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 2 , 0 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 2 , 0 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 2 , 1 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 2 , 1 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 2 , 0 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 2 , 0 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 2 , 1 , 0 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 2 , 1 , 0 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 0 , 2 , 1 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 0 , 2 , 1 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 1 , 2 , 0 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 1 , 2 , 0 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 0 , 1 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 0 , 1 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 1 , 0 , 2 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 1 , 0 , 2 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 1 , 0 , 2 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 1 , 0 , 2 , 5 , 4 , 3 )) del tmp287 tmp284 = einsum ( tmp283 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 6 , 3 ), ( 0 , 4 , 5 , 1 , 2 , 6 )) * - 1 del tmp283 t3new . aaaaaa += np . transpose ( tmp284 , ( 2 , 0 , 1 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp284 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp284 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 2 del tmp284 tmp291 = einsum ( tmp290 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 6 ), ( 0 , 2 , 4 , 3 , 5 , 6 )) * - 1 del tmp290 t3new . aaaaaa += np . transpose ( tmp291 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp291 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp291 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp291 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp291 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp291 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp291 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp291 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp291 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp291 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp291 , ( 2 , 0 , 1 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp291 , ( 2 , 0 , 1 , 3 , 5 , 4 )) del tmp291 tmp293 = np . copy ( np . transpose ( tmp62 , ( 0 , 2 , 1 , 3 ))) tmp293 += einsum ( tmp292 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp292 t3new . aaaaaa += einsum ( tmp293 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 6 ), ( 4 , 1 , 0 , 3 , 5 , 6 )) * - 1 del tmp293 tmp282 = einsum ( tmp281 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 6 , 2 ), ( 0 , 4 , 5 , 1 , 3 , 6 )) * - 2 del tmp281 t3new . aaaaaa += np . transpose ( tmp282 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp282 , ( 2 , 1 , 0 , 3 , 4 , 5 )) * - 1 del tmp282 tmp308 = einsum ( tmp307 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 1 , 6 ), ( 0 , 3 , 2 , 5 , 4 , 6 )) * - 2 del tmp307 t3new . aaaaaa += np . transpose ( tmp308 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp308 , ( 1 , 2 , 0 , 5 , 4 , 3 )) del tmp308 tmp304 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp109 , ( 4 , 5 , 1 , 6 ), ( 5 , 4 , 0 , 6 , 2 , 3 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 2 , 0 , 1 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 2 , 0 , 1 , 3 , 5 , 4 )) del tmp304 tmp297 = einsum ( tmp296 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 3 , 6 ), ( 0 , 1 , 2 , 6 , 4 , 5 )) del tmp296 t3new . aaaaaa += np . transpose ( tmp297 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp297 , ( 2 , 1 , 0 , 3 , 4 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp297 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp297 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp297 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * - 2 t3new . aaaaaa += tmp297 * 2 t3new . aaaaaa += np . transpose ( tmp297 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp297 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp297 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * - 2 del tmp297 tmp266 = einsum ( tmp265 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 3 , 6 ), ( 0 , 1 , 2 , 6 , 4 , 5 )) del tmp265 t3new . aaaaaa += np . transpose ( tmp266 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 1 , 0 , 2 , 4 , 5 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 1 , 0 , 2 , 3 , 4 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 1 , 2 , 0 , 3 , 4 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 1 , 2 , 0 , 5 , 4 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 2 del tmp266 tmp279 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 6 ), ( 4 , 0 , 2 , 5 , 6 , 3 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 0 , 1 , 2 , 5 , 4 , 3 )) del tmp279 tmp260 = einsum ( tmp259 , ( 0 , 1 ), t3 . aaaaaa , ( 2 , 3 , 4 , 5 , 6 , 0 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp259 t3new . aaaaaa += np . transpose ( tmp260 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * - 3 t3new . aaaaaa += np . transpose ( tmp260 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * - 3 del tmp260 tmp278 = einsum ( t1 . aa , ( 0 , 1 ), tmp277 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp277 t3new . aaaaaa += np . transpose ( tmp278 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 2 , 1 , 0 , 3 , 4 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * 2 t3new . aaaaaa += tmp278 * - 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 2 , 1 , 0 , 4 , 5 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 2 , 1 , 0 , 5 , 3 , 4 )) * 2 del tmp278 tmp270 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp268 , ( 4 , 5 , 1 , 6 ), ( 4 , 5 , 0 , 6 , 2 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp270 , ( 0 , 2 , 1 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp270 , ( 0 , 2 , 1 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp270 , ( 2 , 0 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp270 , ( 2 , 0 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp270 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp270 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 1 del tmp270 tmp263 = einsum ( tmp262 , ( 0 , 1 ), t3 . aaaaaa , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 1 , 2 , 3 , 4 , 5 , 6 )) del tmp262 t3new . aaaaaa += np . transpose ( tmp263 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp263 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp263 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp263 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp263 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp263 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp263 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp263 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp263 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp263 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp263 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp263 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp263 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp263 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp263 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp263 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp263 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp263 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 del tmp263 tmp298 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp62 , ( 4 , 5 , 1 , 6 ), ( 4 , 0 , 5 , 2 , 3 , 6 )) t3new . aaaaaa += np . transpose ( tmp298 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp298 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp298 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp298 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp298 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp298 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp298 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp298 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp298 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp298 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp298 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp298 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 del tmp298 tmp269 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp268 , ( 4 , 5 , 1 , 6 ), ( 4 , 5 , 0 , 6 , 2 , 3 )) * - 1 del tmp268 t3new . aaaaaa += np . transpose ( tmp269 , ( 2 , 1 , 0 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp269 , ( 1 , 0 , 2 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp269 , ( 1 , 0 , 2 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp269 , ( 1 , 2 , 0 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp269 , ( 1 , 2 , 0 , 5 , 4 , 3 )) * - 1 del tmp269 tmp276 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp271 , ( 1 , 4 , 5 , 6 ), ( 5 , 4 , 0 , 6 , 2 , 3 )) * - 1 del tmp271 t3new . aaaaaa += np . transpose ( tmp276 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp276 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp276 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp276 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp276 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp276 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * 2 del tmp276 tmp301 = einsum ( t1 . aa , ( 0 , 1 ), tmp300 , ( 2 , 0 , 3 , 4 , 5 , 6 ), ( 2 , 4 , 3 , 6 , 5 , 1 )) * - 1 del tmp300 t3new . aaaaaa += np . transpose ( tmp301 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 1 , 0 , 2 , 3 , 4 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 1 , 2 , 0 , 3 , 4 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 1 , 0 , 2 , 4 , 5 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 2 del tmp301 tmp255 = einsum ( t1 . aa , ( 0 , 1 ), tmp254 , ( 2 , 0 , 3 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 6 , 1 )) del tmp254 t3new . aaaaaa += np . transpose ( tmp255 , ( 2 , 1 , 0 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp255 , ( 2 , 1 , 0 , 4 , 3 , 5 )) del tmp255 tmp295 = einsum ( tmp294 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 6 ), ( 0 , 1 , 4 , 3 , 5 , 6 )) * - 1 del tmp294 t3new . aaaaaa += np . transpose ( tmp295 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp295 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp295 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp295 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp295 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp295 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp295 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp295 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp295 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp295 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp295 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 del tmp295 tmp248 = einsum ( tmp247 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 6 ), ( 4 , 2 , 0 , 3 , 5 , 6 )) del tmp247 t3new . aaaaaa += np . transpose ( tmp248 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp248 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp248 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp248 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp248 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp248 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp248 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp248 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp248 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp248 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp248 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp248 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp248 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp248 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp248 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp248 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp248 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp248 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp248 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp248 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp248 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp248 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 del tmp248 tmp258 = einsum ( tmp257 , ( 0 , 1 ), t3 . aaaaaa , ( 2 , 3 , 4 , 5 , 6 , 0 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) * 3 del tmp257 t3new . aaaaaa += np . transpose ( tmp258 , ( 1 , 2 , 0 , 3 , 4 , 5 )) t3new . aaaaaa += np . transpose ( tmp258 , ( 1 , 2 , 0 , 3 , 4 , 5 )) del tmp258 tmp280 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 6 , 1 , 2 )) t3new . aaaaaa += np . transpose ( tmp280 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp280 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp280 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp280 , ( 2 , 1 , 0 , 5 , 3 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp280 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp280 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp280 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp280 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp280 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * 2 del tmp280 tmp251 = einsum ( tmp250 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 2 , 6 ), ( 0 , 1 , 3 , 6 , 4 , 5 )) del tmp250 t3new . aaaaaa += np . transpose ( tmp251 , ( 2 , 1 , 0 , 4 , 5 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * 2 t3new . aaaaaa += tmp251 * - 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 2 , 1 , 0 , 3 , 4 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 2 , 1 , 0 , 5 , 3 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 2 del tmp251 tmp275 = einsum ( tmp274 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 6 ), ( 1 , 2 , 4 , 3 , 5 , 6 )) * - 1 del tmp274 t3new . aaaaaa += np . transpose ( tmp275 , ( 0 , 1 , 2 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp275 , ( 0 , 1 , 2 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp275 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp275 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp275 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp275 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp275 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp275 , ( 0 , 2 , 1 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp275 , ( 0 , 2 , 1 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp275 , ( 2 , 0 , 1 , 3 , 5 , 4 )) * - 1 del tmp275 tmp273 = einsum ( tmp272 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 6 ), ( 1 , 2 , 4 , 3 , 5 , 6 )) * - 1 del tmp272 t3new . aaaaaa += np . transpose ( tmp273 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp273 , ( 2 , 0 , 1 , 3 , 5 , 4 )) * - 1 del tmp273 tmp246 = einsum ( f . aa . oo , ( 0 , 1 ), t3 . aaaaaa , ( 2 , 3 , 1 , 4 , 5 , 6 ), ( 0 , 2 , 3 , 4 , 5 , 6 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp246 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp246 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp246 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp246 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp246 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 del tmp246 tmp305 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp113 , ( 4 , 5 , 1 , 6 ), ( 4 , 5 , 0 , 2 , 3 , 6 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 2 , 0 , 1 , 5 , 4 , 3 )) del tmp305 tmp286 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp285 , ( 4 , 5 , 3 , 6 ), ( 4 , 0 , 1 , 5 , 6 , 2 )) * - 1 del tmp285 t3new . aaaaaa += np . transpose ( tmp286 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp286 , ( 2 , 1 , 0 , 5 , 3 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp286 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp286 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * 2 del tmp286 tmp221 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) t2new . bbbb += np . transpose ( tmp221 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += tmp221 * - 1 t2new . bbbb += np . transpose ( tmp221 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp221 , ( 0 , 1 , 3 , 2 )) del tmp221 tmp243 = einsum ( tmp242 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 3 , 2 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) del tmp242 t2new . bbbb += np . transpose ( tmp243 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp243 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp243 tmp235 = einsum ( tmp234 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) * - 1 del tmp234 t2new . bbbb += np . transpose ( tmp235 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp235 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp235 tmp239 = einsum ( tmp238 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp238 t2new . bbbb += np . transpose ( tmp239 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += tmp239 * - 1 t2new . bbbb += np . transpose ( tmp239 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp239 , ( 0 , 1 , 3 , 2 )) del tmp239 tmp191 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) t2new . bbbb += tmp191 * 2 t2new . bbbb += np . transpose ( tmp191 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp191 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . bbbb += np . transpose ( tmp191 , ( 1 , 0 , 3 , 2 )) * 2 del tmp191 tmp186 = einsum ( tmp16 , ( 0 , 1 ), t3 . bbbbbb , ( 2 , 3 , 0 , 4 , 5 , 1 ), ( 2 , 3 , 4 , 5 )) * 3 t2new . bbbb += tmp186 t2new . bbbb += tmp186 del tmp186 tmp237 = einsum ( t1 . bb , ( 0 , 1 ), tmp236 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp236 t2new . bbbb += np . transpose ( tmp237 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp237 del tmp237 tmp220 = einsum ( tmp172 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp172 t2new . bbbb += np . transpose ( tmp220 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp220 , ( 1 , 0 , 3 , 2 )) del tmp220 tmp124 = np . copy ( tmp122 ) tmp124 += tmp123 * 2 t2new . bbbb += einsum ( tmp124 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 2 t2new . abab += einsum ( tmp124 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 1 del tmp124 tmp219 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp218 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp218 t2new . bbbb += np . transpose ( tmp219 , ( 0 , 1 , 3 , 2 )) * 2 t2new . bbbb += np . transpose ( tmp219 , ( 1 , 0 , 3 , 2 )) * - 2 t2new . bbbb += tmp219 * - 2 del tmp219 tmp233 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp232 , ( 1 , 4 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp232 t2new . bbbb += np . transpose ( tmp233 , ( 1 , 0 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp233 , ( 0 , 1 , 3 , 2 )) * 2 del tmp233 tmp201 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp200 , ( 4 , 5 , 1 , 0 ), ( 4 , 5 , 2 , 3 )) * - 1 del tmp200 t2new . bbbb += np . transpose ( tmp201 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp201 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp201 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp201 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp201 tmp179 = einsum ( t3 . bbbbbb , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . bbbb . ooov , ( 6 , 2 , 1 , 5 ), ( 0 , 6 , 3 , 4 )) * - 1 t2new . bbbb += np . transpose ( tmp179 , ( 1 , 0 , 3 , 2 )) * - 3 t2new . bbbb += np . transpose ( tmp179 , ( 1 , 0 , 3 , 2 )) * - 3 t2new . bbbb += np . transpose ( tmp179 , ( 0 , 1 , 3 , 2 )) * 3 t2new . bbbb += np . transpose ( tmp179 , ( 0 , 1 , 3 , 2 )) * 3 del tmp179 tmp189 = np . copy ( f . aa . ov ) tmp189 += tmp0 del tmp0 tmp189 += einsum ( tmp188 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 2 ), ( 1 , 3 )) * - 1 t2new . bbbb += einsum ( tmp189 , ( 0 , 1 ), t3 . babbab , ( 2 , 0 , 3 , 4 , 1 , 5 ), ( 2 , 3 , 4 , 5 )) del tmp189 tmp205 = einsum ( t1 . bb , ( 0 , 1 ), tmp204 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp204 t2new . bbbb += tmp205 t2new . bbbb += np . transpose ( tmp205 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp205 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp205 , ( 1 , 0 , 3 , 2 )) del tmp205 tmp181 = einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 2 tmp181 += t2 . bbbb * - 1 t2new . bbbb += einsum ( tmp181 , ( 0 , 1 , 2 , 3 ), v . bbbb . oooo , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 3 , 2 )) * 0.5 del tmp181 tmp215 = einsum ( tmp214 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp214 t2new . bbbb += np . transpose ( tmp215 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp215 , ( 1 , 0 , 2 , 3 )) del tmp215 tmp207 = einsum ( tmp206 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp206 t2new . bbbb += np . transpose ( tmp207 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += tmp207 * - 1 t2new . bbbb += np . transpose ( tmp207 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp207 , ( 1 , 0 , 2 , 3 )) del tmp207 tmp202 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t3 . babbab , ( 4 , 0 , 2 , 5 , 3 , 6 ), ( 1 , 4 , 5 , 6 )) del tmp21 t2new . bbbb += np . transpose ( tmp202 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp202 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp202 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp202 , ( 1 , 0 , 3 , 2 )) del tmp202 tmp187 = np . copy ( t2 . bbbb ) tmp187 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 t2new . bbbb += einsum ( tmp187 , ( 0 , 1 , 2 , 3 ), v . bbbb . oooo , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 3 , 2 )) * - 0.5 del tmp187 tmp31 = np . copy ( f . bb . oo ) tmp31 += np . transpose ( tmp28 , ( 1 , 0 )) del tmp28 tmp31 += np . transpose ( tmp30 , ( 1 , 0 )) * - 1 del tmp30 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp31 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp31 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp31 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp31 tmp198 = np . copy ( f . bb . vv ) * - 1 tmp198 += np . transpose ( tmp131 , ( 1 , 0 )) * - 1 tmp198 += np . transpose ( tmp122 , ( 1 , 0 )) del tmp122 tmp198 += np . transpose ( tmp123 , ( 1 , 0 )) * 2 del tmp123 tmp198 += tmp196 * - 1 tmp198 += np . transpose ( tmp197 , ( 1 , 0 )) t2new . bbbb += einsum ( tmp198 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp198 tmp185 = einsum ( tmp184 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 del tmp184 t2new . bbbb += np . transpose ( tmp185 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp185 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp185 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp185 tmp229 = np . copy ( tmp146 ) tmp229 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp7 t2new . bbbb += einsum ( tmp229 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 3 , 5 )) del tmp229 tmp226 = np . copy ( tmp146 ) del tmp146 tmp226 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp188 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp188 t2new . bbbb += einsum ( tmp226 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 del tmp226 tmp209 = einsum ( tmp208 , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 del tmp208 t2new . bbbb += np . transpose ( tmp209 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp209 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp209 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp209 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp209 tmp231 = einsum ( t1 . bb , ( 0 , 1 ), tmp230 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp230 t2new . bbbb += np . transpose ( tmp231 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp231 , ( 1 , 0 , 3 , 2 )) del tmp231 tmp199 = np . copy ( f . bb . vv ) * - 1 tmp199 += np . transpose ( tmp131 , ( 1 , 0 )) * - 1 tmp199 += tmp196 * - 1 del tmp196 tmp199 += np . transpose ( tmp197 , ( 1 , 0 )) del tmp197 t2new . bbbb += einsum ( tmp199 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp199 tmp194 = einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp128 , ( 1 , 4 , 5 , 6 ), ( 0 , 2 , 3 , 6 )) * - 2 del tmp128 t2new . bbbb += np . transpose ( tmp194 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += np . transpose ( tmp194 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp194 tmp241 = einsum ( tmp240 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp240 t2new . bbbb += np . transpose ( tmp241 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp241 del tmp241 tmp228 = np . copy ( v . bbbb . oovv ) * 0.5 tmp228 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp14 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 del tmp14 tmp228 += einsum ( tmp227 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 0.5 del tmp227 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp228 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * 4 del tmp228 tmp193 = einsum ( t3 . bbbbbb , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp192 , ( 2 , 4 , 5 , 6 ), ( 0 , 1 , 6 , 3 )) * - 6 t2new . bbbb += np . transpose ( tmp193 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += tmp193 * - 1 del tmp193 tmp180 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t3 . babbab , ( 4 , 0 , 3 , 5 , 1 , 6 ), ( 4 , 2 , 5 , 6 )) t2new . bbbb += np . transpose ( tmp180 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp180 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp180 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp180 , ( 0 , 1 , 3 , 2 )) del tmp180 tmp182 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . oooo , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) t2new . bbbb += np . transpose ( tmp182 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . bbbb += np . transpose ( tmp182 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp182 tmp244 = np . copy ( v . bbbb . vvvv ) tmp244 += einsum ( tmp192 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) del tmp192 t2new . bbbb += einsum ( tmp244 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) * 2 del tmp244 tmp222 = einsum ( tmp125 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp125 t2new . bbbb += np . transpose ( tmp222 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . bbbb += np . transpose ( tmp222 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp222 , ( 1 , 0 , 3 , 2 )) * 2 t2new . bbbb += tmp222 * 2 del tmp222 tmp245 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) * - 1 t2new . bbbb += einsum ( tmp245 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 2 del tmp245 tmp190 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) t2new . bbbb += tmp190 t2new . bbbb += np . transpose ( tmp190 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp190 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp190 , ( 1 , 0 , 3 , 2 )) del tmp190 tmp203 = einsum ( t3 . bbbbbb , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp22 , ( 6 , 1 , 2 , 5 ), ( 6 , 0 , 3 , 4 )) * - 1 t2new . bbbb += np . transpose ( tmp203 , ( 0 , 1 , 3 , 2 )) * - 3 t2new . bbbb += np . transpose ( tmp203 , ( 0 , 1 , 3 , 2 )) * - 3 t2new . bbbb += np . transpose ( tmp203 , ( 1 , 0 , 3 , 2 )) * 3 t2new . bbbb += np . transpose ( tmp203 , ( 1 , 0 , 3 , 2 )) * 3 del tmp203 tmp225 = np . copy ( v . bbbb . oovv ) tmp225 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp45 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 2 tmp225 += np . transpose ( tmp224 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp224 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp225 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 2 del tmp225 tmp213 = einsum ( tmp195 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 4 , 0 , 3 , 2 )) * - 1 del tmp195 tmp213 += einsum ( tmp212 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp212 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp213 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * 2 del tmp213 tmp163 = np . copy ( v . aabb . vvvv ) tmp163 += einsum ( t1 . bb , ( 0 , 1 ), tmp162 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 del tmp162 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp163 , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp163 tmp126 = np . copy ( np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 3 , 1 ))) tmp126 += tmp53 del tmp53 t2new . abab += einsum ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp126 , ( 2 , 6 , 3 , 5 ), ( 0 , 1 , 6 , 4 )) * 2 del tmp126 tmp160 = np . copy ( v . bbbb . oovv ) tmp160 += einsum ( t1 . bb , ( 0 , 1 ), tmp159 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp159 t2new . abab += einsum ( tmp160 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * - 1 del tmp160 tmp60 = np . copy ( f . aa . vv ) * - 1 tmp60 += np . transpose ( tmp56 , ( 1 , 0 )) * - 1 tmp60 += np . transpose ( tmp41 , ( 1 , 0 )) * 2 tmp60 += np . transpose ( tmp42 , ( 1 , 0 )) tmp60 += np . transpose ( tmp58 , ( 1 , 0 )) * - 1 tmp60 += np . transpose ( tmp59 , ( 1 , 0 )) t2new . abab += einsum ( tmp60 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp60 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * 2 del tmp60 tmp120 = np . copy ( t2 . abab ) tmp120 += einsum ( t1 . bb , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 t2new . abab += einsum ( v . aabb . oooo , ( 0 , 1 , 2 , 3 ), tmp120 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) * 0.5 del tmp120 tmp145 = np . copy ( np . transpose ( tmp143 , ( 0 , 1 , 3 , 2 ))) del tmp143 tmp145 += np . transpose ( tmp144 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp144 t2new . abab += einsum ( tmp145 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 3 , 5 )) * - 1 del tmp145 tmp136 = np . copy ( np . transpose ( tmp24 , ( 1 , 0 ))) tmp136 += np . transpose ( tmp25 , ( 1 , 0 )) * 2 tmp136 += np . transpose ( tmp135 , ( 1 , 0 )) del tmp135 t2new . abab += einsum ( tmp136 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 del tmp136 tmp130 = np . copy ( np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 3 , 1 ))) tmp130 += tmp129 del tmp129 t2new . abab += einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp130 , ( 2 , 6 , 5 , 3 ), ( 1 , 0 , 4 , 6 )) * - 2 del tmp130 tmp148 = np . copy ( np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 ))) * - 1 tmp148 += np . transpose ( tmp147 , ( 1 , 0 , 3 , 2 )) del tmp147 tmp148 += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 2 , 4 , 1 , 5 )) t2new . abab += einsum ( tmp148 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 3 , 5 )) del tmp148 tmp161 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp161 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp161 tmp157 = np . copy ( tmp95 ) * - 1 tmp157 += tmp156 * 2 del tmp156 tmp157 += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) * - 1 del tmp45 t2new . abab += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp157 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp157 tmp134 = einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp22 , ( 6 , 2 , 0 , 5 ), ( 1 , 6 , 4 , 3 )) del tmp22 t2new . abab += tmp134 * - 1 t2new . abab += tmp134 * - 1 del tmp134 tmp175 = np . copy ( np . transpose ( tmp173 , ( 0 , 1 , 3 , 2 ))) del tmp173 tmp175 += np . transpose ( tmp174 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp174 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp175 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 2 , 5 )) * - 1 del tmp175 tmp3 = np . copy ( t2 . abab ) tmp3 += einsum ( t1 . bb , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) t2new . abab += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp154 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp154 t2new . abab += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp140 , ( 4 , 0 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) del tmp140 t2new . abab += einsum ( tmp137 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 0 , 3 , 4 , 5 ), ( 1 , 2 , 4 , 5 )) del tmp137 t1new . bb += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) t1new . aa += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) del tmp3 tmp166 = np . copy ( np . transpose ( tmp165 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp165 tmp166 += np . transpose ( tmp84 , ( 0 , 1 , 3 , 2 )) del tmp84 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp166 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp166 tmp176 = 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 ), tmp176 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp176 tmp171 = np . copy ( np . transpose ( tmp168 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp168 tmp171 += np . transpose ( tmp170 , ( 0 , 1 , 3 , 2 )) del tmp170 t2new . abab += einsum ( tmp171 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) del tmp171 tmp158 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 3 , 5 )) t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), tmp158 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp158 tmp121 = einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . aabb . ooov , ( 6 , 1 , 2 , 5 ), ( 6 , 0 , 4 , 3 )) t2new . abab += tmp121 * - 1 t2new . abab += tmp121 * - 1 del tmp121 tmp11 = np . copy ( np . transpose ( tmp5 , ( 1 , 0 ))) del tmp5 tmp11 += np . transpose ( tmp6 , ( 1 , 0 )) * 0.5 del tmp6 tmp11 += np . transpose ( tmp10 , ( 1 , 0 )) del tmp10 t2new . abab += einsum ( tmp11 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 2 t1new . aa += einsum ( tmp11 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * - 2 del tmp11 tmp155 = np . copy ( v . aaaa . oovv ) tmp155 += np . transpose ( tmp49 , ( 1 , 0 , 3 , 2 )) * - 1 tmp155 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp91 , ( 1 , 4 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 tmp155 += einsum ( t1 . aa , ( 0 , 1 ), tmp36 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp36 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp155 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) * - 1 del tmp155 tmp153 = np . copy ( np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 ))) tmp153 += np . transpose ( tmp152 , ( 0 , 2 , 1 , 3 )) del tmp152 t2new . abab += einsum ( tmp153 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) del tmp153 tmp133 = np . copy ( f . bb . vv ) tmp133 += np . transpose ( tmp131 , ( 1 , 0 )) del tmp131 tmp133 += einsum ( t1 . bb , ( 0 , 1 ), tmp132 , ( 0 , 1 , 2 , 3 ), ( 3 , 2 )) * - 1 del tmp132 tmp133 += einsum ( t1 . bb , ( 0 , 1 ), tmp47 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp47 t2new . abab += einsum ( tmp133 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) del tmp133 tmp138 = einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp1 , ( 6 , 1 , 2 , 5 ), ( 6 , 0 , 4 , 3 )) t2new . abab += tmp138 * - 1 t2new . abab += tmp138 * - 1 del tmp138 tmp119 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t3 . babbab , ( 1 , 4 , 2 , 5 , 6 , 3 ), ( 4 , 0 , 6 , 5 )) t2new . abab += tmp119 * - 1 t2new . abab += tmp119 * - 1 del tmp119 tmp55 = einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), t3 . aaaaaa , ( 4 , 5 , 0 , 6 , 1 , 2 ), ( 4 , 5 , 6 , 3 )) * - 6 t2new . aaaa += tmp55 t2new . aaaa += np . transpose ( tmp55 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp55 tmp102 = np . copy ( tmp95 ) tmp102 += einsum ( tmp101 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) * - 1 del tmp101 t2new . aaaa += einsum ( tmp102 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) del tmp102 tmp65 = einsum ( t3 . aaaaaa , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp2 , ( 6 , 1 , 2 , 5 ), ( 6 , 0 , 3 , 4 )) * - 1 del tmp2 t2new . aaaa += np . transpose ( tmp65 , ( 0 , 1 , 3 , 2 )) * - 3 t2new . aaaa += np . transpose ( tmp65 , ( 0 , 1 , 3 , 2 )) * - 3 t2new . aaaa += np . transpose ( tmp65 , ( 1 , 0 , 3 , 2 )) * 3 t2new . aaaa += np . transpose ( tmp65 , ( 1 , 0 , 3 , 2 )) * 3 del tmp65 tmp64 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t3 . abaaba , ( 4 , 2 , 1 , 5 , 3 , 6 ), ( 0 , 4 , 5 , 6 )) del tmp1 t2new . aaaa += np . transpose ( tmp64 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp64 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp64 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp64 , ( 1 , 0 , 3 , 2 )) del tmp64 tmp63 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp62 t2new . aaaa += tmp63 t2new . aaaa += np . transpose ( tmp63 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp63 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp63 , ( 1 , 0 , 3 , 2 )) del tmp63 tmp112 = einsum ( tmp111 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) del tmp111 t2new . aaaa += np . transpose ( tmp112 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp112 del tmp112 tmp116 = einsum ( tmp115 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 3 , 2 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) del tmp115 t2new . aaaa += np . transpose ( tmp116 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp116 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp116 tmp52 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), t3 . abaaba , ( 4 , 0 , 5 , 6 , 3 , 1 ), ( 4 , 5 , 6 , 2 )) * - 2 del tmp51 t2new . aaaa += np . transpose ( tmp52 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += np . transpose ( tmp52 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp52 tmp67 = einsum ( tmp66 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 3 , 2 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) * - 1 del tmp66 t2new . aaaa += np . transpose ( tmp67 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp67 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp67 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp67 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp67 tmp89 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) t2new . aaaa += np . transpose ( tmp89 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += tmp89 * - 1 t2new . aaaa += np . transpose ( tmp89 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp89 , ( 0 , 1 , 3 , 2 )) del tmp89 tmp44 = np . copy ( t2 . aaaa ) tmp44 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 t2new . aaaa += einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), tmp44 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 5 , 4 )) * - 0.5 del tmp44 tmp108 = einsum ( tmp107 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) * - 1 del tmp107 t2new . aaaa += np . transpose ( tmp108 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp108 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp108 tmp110 = einsum ( tmp109 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp109 t2new . aaaa += np . transpose ( tmp110 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp110 del tmp110 tmp33 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t3 . abaaba , ( 4 , 2 , 1 , 5 , 3 , 6 ), ( 4 , 0 , 5 , 6 )) t2new . aaaa += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp33 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp33 , ( 0 , 1 , 3 , 2 )) del tmp33 tmp106 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp105 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp105 t2new . aaaa += tmp106 * - 2 t2new . aaaa += np . transpose ( tmp106 , ( 1 , 0 , 2 , 3 )) * 2 del tmp106 tmp32 = einsum ( t3 . aaaaaa , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . aaaa . ooov , ( 6 , 2 , 1 , 5 ), ( 0 , 6 , 3 , 4 )) * - 1 t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * - 3 t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * - 3 t2new . aaaa += np . transpose ( tmp32 , ( 0 , 1 , 3 , 2 )) * 3 t2new . aaaa += np . transpose ( tmp32 , ( 0 , 1 , 3 , 2 )) * 3 del tmp32 tmp69 = einsum ( tmp68 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp68 t2new . aaaa += np . transpose ( tmp69 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += tmp69 * - 1 t2new . aaaa += np . transpose ( tmp69 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp69 , ( 1 , 0 , 2 , 3 )) del tmp69 tmp61 = np . copy ( f . aa . vv ) * - 1 tmp61 += np . transpose ( tmp56 , ( 1 , 0 )) * - 1 del tmp56 tmp61 += np . transpose ( tmp58 , ( 1 , 0 )) * - 1 del tmp58 tmp61 += np . transpose ( tmp59 , ( 1 , 0 )) del tmp59 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp61 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp61 tmp118 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * - 1 t2new . aaaa += einsum ( t1 . aa , ( 0 , 1 ), tmp118 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp118 tmp88 = einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp87 t2new . aaaa += np . transpose ( tmp88 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp88 , ( 1 , 0 , 3 , 2 )) del tmp88 tmp48 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) t2new . aaaa += tmp48 * 2 t2new . aaaa += np . transpose ( tmp48 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp48 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . aaaa += np . transpose ( tmp48 , ( 1 , 0 , 3 , 2 )) * 2 del tmp48 tmp71 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp70 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 2 del tmp70 t2new . aaaa += np . transpose ( tmp71 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp71 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp71 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp71 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp71 tmp86 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp85 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp85 t2new . aaaa += np . transpose ( tmp86 , ( 1 , 0 , 2 , 3 )) * 2 t2new . aaaa += tmp86 * - 2 t2new . aaaa += np . transpose ( tmp86 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp86 tmp97 = np . copy ( tmp95 ) del tmp95 tmp97 += einsum ( tmp96 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) * - 1 del tmp96 t2new . aaaa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp97 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 del tmp97 tmp20 = np . copy ( f . aa . oo ) tmp20 += np . transpose ( tmp17 , ( 1 , 0 )) del tmp17 tmp20 += np . transpose ( tmp19 , ( 1 , 0 )) * - 1 del tmp19 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp20 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 t1new . aa += einsum ( t1 . aa , ( 0 , 1 ), tmp20 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp20 tmp114 = einsum ( tmp113 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp113 t2new . aaaa += np . transpose ( tmp114 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += tmp114 * - 1 t2new . aaaa += np . transpose ( tmp114 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp114 , ( 0 , 1 , 3 , 2 )) del tmp114 tmp94 = np . copy ( v . aaaa . oovv ) tmp94 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp91 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 2 del tmp91 tmp94 += tmp93 * - 1 del tmp93 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp94 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 2 del tmp94 tmp90 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp49 t2new . aaaa += np . transpose ( tmp90 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . aaaa += np . transpose ( tmp90 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp90 , ( 1 , 0 , 3 , 2 )) * 2 t2new . aaaa += tmp90 * 2 del tmp90 tmp34 = einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 tmp34 += t2 . aaaa * - 1 t2new . aaaa += einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), tmp34 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 5 , 4 )) * 0.5 del tmp34 tmp40 = einsum ( t3 . aaaaaa , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp9 , ( 2 , 5 ), ( 0 , 1 , 3 , 4 )) * 3 del tmp9 t2new . aaaa += tmp40 t2new . aaaa += tmp40 del tmp40 tmp39 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp38 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp38 t2new . aaaa += np . transpose ( tmp39 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp39 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp39 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp39 tmp80 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp79 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp79 t2new . aaaa += tmp80 * - 1 t2new . aaaa += np . transpose ( tmp80 , ( 0 , 1 , 3 , 2 )) del tmp80 tmp100 = np . copy ( v . aaaa . oovv ) * 0.5 tmp100 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp98 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 del tmp98 tmp100 += einsum ( tmp99 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 0.5 del tmp99 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp100 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * 4 del tmp100 tmp35 = einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) t2new . aaaa += np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . aaaa += np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp35 tmp43 = np . copy ( tmp41 ) del tmp41 tmp43 += tmp42 * 0.5 del tmp42 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp43 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 4 del tmp43 tmp104 = einsum ( tmp103 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp103 t2new . aaaa += np . transpose ( tmp104 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp104 , ( 1 , 0 , 3 , 2 )) del tmp104 tmp76 = einsum ( tmp74 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 3 , 2 )) * - 1 del tmp74 tmp76 += einsum ( tmp75 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 del tmp75 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp76 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * 2 del tmp76 tmp117 = np . copy ( v . aaaa . vvvv ) tmp117 += einsum ( t1 . aa , ( 0 , 1 ), tmp54 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) del tmp54 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp117 , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) * 2 del tmp117 tmp26 = np . copy ( np . transpose ( tmp24 , ( 1 , 0 ))) * 0.5 del tmp24 tmp26 += np . transpose ( tmp25 , ( 1 , 0 )) del tmp25 tmp26 += einsum ( t1 . bb , ( 0 , 1 ), tmp16 , ( 2 , 1 ), ( 2 , 0 )) * 0.5 del tmp16 t1new . bb += einsum ( tmp26 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) * - 2 del tmp26 tmp23 = np . copy ( t2 . bbbb ) * 2 tmp23 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) t1new . bb += einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), tmp23 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) del tmp23 tmp27 = np . copy ( f . bb . vv ) tmp27 += einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 )) * - 1 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp27 , ( 1 , 2 ), ( 0 , 2 )) del tmp27 tmp4 = np . copy ( t2 . aaaa ) * 2 tmp4 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) t1new . aa += einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 4 , 3 , 1 ), ( 4 , 2 )) * - 1 del tmp4 tmp12 = np . copy ( f . aa . vv ) tmp12 += einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) t1new . aa += einsum ( tmp12 , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 2 , 1 )) del tmp12 t1new . aa += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) t1new . aa += f . aa . ov t1new . aa += einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . bbbb . ovov , ( 0 , 3 , 2 , 5 ), ( 1 , 4 )) t1new . aa += einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 )) * - 1 t1new . aa += einsum ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . aabb . ovov , ( 2 , 5 , 1 , 4 ), ( 0 , 3 )) * 2 t1new . aa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 2 t1new . aa += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t3 . aaaaaa , ( 4 , 0 , 2 , 5 , 1 , 3 ), ( 4 , 5 )) * 3 t1new . aa += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 1 t1new . bb += f . bb . ov t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) t1new . bb += einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 t1new . bb += einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 2 t1new . bb += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t3 . babbab , ( 4 , 0 , 2 , 5 , 1 , 3 ), ( 4 , 5 )) * 2 t1new . bb += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t3 . abaaba , ( 0 , 4 , 2 , 1 , 5 , 3 ), ( 4 , 5 )) t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * - 1 t1new . bb += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t3 . bbbbbb , ( 4 , 0 , 2 , 5 , 3 , 1 ), ( 4 , 5 )) * - 3 t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 )) * - 1 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 ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . aaaa . ooov , ( 6 , 0 , 2 , 5 ), ( 6 , 1 , 3 , 4 )) * - 2 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . oooo , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) * 0.5 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) t2new . abab += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) t2new . abab += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 )) * - 1 t3new . abaaba += einsum ( f . aa . vv , ( 0 , 1 ), t3 . abaaba , ( 2 , 3 , 4 , 5 , 6 , 1 ), ( 2 , 3 , 4 , 5 , 6 , 0 )) * 2 t3new . abaaba += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 6 , 1 ), ( 4 , 2 , 5 , 0 , 3 , 6 )) * - 2 t3new . babbab += einsum ( f . bb . vv , ( 0 , 1 ), t3 . babbab , ( 2 , 3 , 4 , 5 , 6 , 1 ), ( 2 , 3 , 4 , 5 , 6 , 0 )) * 2 t3new . babbab += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 4 , 5 , 6 , 3 ), ( 0 , 4 , 1 , 6 , 5 , 2 )) * - 2 return { f \"t1new\" : t1new , f \"t2new\" : t2new , f \"t3new\" : t3new }","title":"UCC3"},{"location":"reference/codegen/UCC3/#ebcc.codegen.UCC3.energy","text":"Code generated by albert 0.0.0 on 2024-08-09T22:13:45.536681.","title":"energy"},{"location":"reference/codegen/UCC3/#ebcc.codegen.UCC3.energy--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCC3/#ebcc.codegen.UCC3.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/UCC3.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:13:45.536681. 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 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp0 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp2 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp2 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp1 = np . copy ( f . bb . ov ) * 2 tmp1 += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) * 2 tmp1 += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 )) * - 1 del tmp0 e_cc = einsum ( t1 . bb , ( 0 , 1 ), tmp1 , ( 0 , 1 ), ()) * 0.5 del tmp1 tmp3 = np . copy ( f . aa . ov ) * 2 tmp3 += einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 2 ), ( 1 , 3 )) * - 1 del tmp2 e_cc += einsum ( tmp3 , ( 0 , 1 ), t1 . aa , ( 0 , 1 ), ()) * 0.5 del tmp3 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 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 2 , 1 , 3 ), ()) return e_cc","title":"Returns"},{"location":"reference/codegen/UCC3/#ebcc.codegen.UCC3.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-09T22:17:07.956122.","title":"update_amps"},{"location":"reference/codegen/UCC3/#ebcc.codegen.UCC3.update_amps--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCC3/#ebcc.codegen.UCC3.update_amps--returns","text":"t1new : Namespace of arrays Updated T1 residuals. t2new : Namespace of arrays Updated T2 residuals. t3new : Namespace of arrays Updated T3 residuals. Source code in ebcc/codegen/UCC3.py 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 def update_amps ( f = None , t1 = None , t2 = None , t3 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:17:07.956122. 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 () tmp14 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp14 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp7 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp7 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp200 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp22 = 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 ), tmp22 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 2 tmp21 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) t2new . abab = einsum ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp21 , ( 2 , 6 , 1 , 5 ), ( 0 , 6 , 3 , 4 )) * - 2 t1new . bb += einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 tmp1 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) t1new . aa = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 1 tmp66 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp2 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) t2new . abab += einsum ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp2 , ( 6 , 2 , 0 , 5 ), ( 6 , 1 , 3 , 4 )) * - 2 t1new . aa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 2 tmp15 = einsum ( t1 . bb , ( 0 , 1 ), tmp14 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp13 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) t1new . bb += tmp13 tmp8 = einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 2 ), ( 1 , 3 )) tmp0 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) t1new . aa += tmp0 tmp456 = np . copy ( np . transpose ( tmp200 , ( 0 , 2 , 1 , 3 ))) * - 1 tmp456 += np . transpose ( tmp200 , ( 0 , 2 , 3 , 1 )) tmp558 = np . copy ( v . bbbb . ovvv ) tmp558 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 3 , 1 )) * - 1 tmp493 = np . copy ( np . transpose ( tmp200 , ( 0 , 2 , 1 , 3 ))) * - 1 tmp493 += np . transpose ( tmp200 , ( 0 , 3 , 2 , 1 )) tmp167 = np . copy ( v . bbbb . ovvv ) tmp167 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 3 , 1 )) * - 1 tmp211 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) t2new . bbbb = np . copy ( tmp211 ) * - 1 t2new . bbbb += np . transpose ( tmp211 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += np . transpose ( tmp211 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp211 , ( 1 , 0 , 3 , 2 )) * - 1 tmp143 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp154 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp140 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp142 = einsum ( t1 . bb , ( 0 , 1 ), tmp21 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) t2new . abab += tmp142 * - 1 tmp141 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovvv , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) t2new . abab += tmp141 tmp137 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp77 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 0 , 3 )) tmp78 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) t2new . abab += tmp78 * - 1 tmp288 = np . copy ( np . transpose ( tmp66 , ( 0 , 2 , 1 , 3 ))) tmp288 += np . transpose ( tmp66 , ( 0 , 3 , 2 , 1 )) * - 1 tmp73 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) t2new . aaaa = np . copy ( tmp73 ) * - 1 t2new . aaaa += np . transpose ( tmp73 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += np . transpose ( tmp73 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp73 , ( 1 , 0 , 3 , 2 )) * - 1 tmp164 = np . copy ( v . aaaa . ovvv ) tmp164 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 3 , 1 )) * - 1 tmp57 = np . copy ( v . aaaa . ovvv ) tmp57 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 3 , 1 )) * - 1 tmp216 = np . copy ( v . bbbb . ovvv ) * - 1 tmp216 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) tmp169 = np . copy ( tmp22 ) tmp169 += np . transpose ( tmp22 , ( 0 , 2 , 1 , 3 )) * - 1 tmp223 = np . copy ( v . bbbb . ooov ) * - 1 tmp223 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) tmp159 = np . copy ( v . bbbb . ooov ) tmp159 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp16 = np . copy ( f . bb . ov ) tmp16 += tmp13 tmp16 += tmp15 * - 1 del tmp15 t2new . abab += einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp16 , ( 2 , 5 ), ( 1 , 0 , 4 , 3 )) t2new . aaaa += einsum ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp16 , ( 1 , 4 ), ( 0 , 2 , 3 , 5 )) t1new . bb += einsum ( tmp16 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 2 t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp16 , ( 1 , 3 ), ( 0 , 2 )) tmp45 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp45 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp92 = np . copy ( v . aaaa . ooov ) * - 1 tmp92 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) tmp9 = np . copy ( f . aa . ov ) tmp9 += tmp0 tmp9 += tmp8 * - 1 del tmp8 t2new . bbbb += einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp9 , ( 1 , 4 ), ( 0 , 2 , 3 , 5 )) t2new . abab += einsum ( tmp9 , ( 0 , 1 ), t3 . abaaba , ( 2 , 3 , 0 , 4 , 5 , 1 ), ( 2 , 3 , 4 , 5 )) * 2 t1new . bb += einsum ( tmp9 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) t1new . aa += einsum ( tmp9 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 2 tmp83 = np . copy ( tmp2 ) * - 1 tmp83 += np . transpose ( tmp2 , ( 0 , 2 , 1 , 3 )) tmp81 = np . copy ( v . aaaa . ovvv ) * - 1 tmp81 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) tmp36 = np . copy ( v . aaaa . ooov ) tmp36 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp432 = einsum ( v . bbbb . oooo , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp433 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) t3new . babbab = einsum ( tmp433 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 6 ), ( 2 , 4 , 1 , 6 , 5 , 3 )) * - 2 tmp457 = einsum ( tmp456 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp456 tmp204 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp210 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) t2new . bbbb += np . transpose ( tmp210 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp210 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += tmp210 * - 1 t2new . bbbb += np . transpose ( tmp210 , ( 1 , 0 , 2 , 3 )) tmp129 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 4 ), ( 2 , 1 , 3 , 4 )) tmp512 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 1 , 2 , 6 )) tmp559 = einsum ( tmp558 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) del tmp558 tmp545 = einsum ( tmp493 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp526 = np . copy ( np . transpose ( tmp200 , ( 0 , 2 , 1 , 3 ))) tmp526 += np . transpose ( tmp200 , ( 0 , 3 , 2 , 1 )) * - 1 tmp234 = einsum ( t1 . bb , ( 0 , 1 ), tmp22 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp317 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 0 , 2 ), ( 2 , 1 )) tmp168 = einsum ( t1 . bb , ( 0 , 1 ), tmp167 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp167 tmp523 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp22 , ( 4 , 5 , 6 , 3 ), ( 4 , 0 , 1 , 6 , 5 , 2 )) tmp173 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp174 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp236 = einsum ( v . bbbb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp482 = einsum ( t1 . bb , ( 0 , 1 ), tmp211 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) del tmp211 tmp423 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp21 , ( 4 , 5 , 6 , 2 ), ( 0 , 4 , 5 , 1 , 6 , 3 )) tmp151 = einsum ( tmp143 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), tmp151 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp396 = einsum ( tmp154 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp149 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp139 = einsum ( v . aabb . vvoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 3 , 0 )) t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), tmp139 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp363 = einsum ( tmp140 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 3 , 2 , 4 )) t3new . abaaba = einsum ( tmp363 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 6 ), ( 4 , 2 , 0 , 5 , 6 , 3 )) tmp413 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 6 ), ( 4 , 0 , 5 , 2 , 3 , 6 )) tmp330 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp329 = einsum ( v . aabb . oooo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp172 = np . copy ( tmp141 ) tmp172 += tmp142 * - 1 t2new . abab += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp172 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * 2 tmp256 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp50 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 4 , 1 , 3 )) tmp463 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 5 , 6 , 2 )) tmp310 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 5 , 6 , 3 ), ( 0 , 4 , 5 , 1 , 6 , 2 )) tmp177 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oovv , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) t2new . abab += einsum ( tmp177 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 tmp355 = einsum ( tmp137 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 1 , 0 , 2 , 4 )) t3new . babbab += einsum ( tmp355 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 6 ), ( 4 , 1 , 2 , 6 , 5 , 3 )) tmp87 = np . copy ( tmp77 ) tmp87 += tmp78 * - 1 t2new . abab += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp87 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 tmp62 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp289 = einsum ( t1 . aa , ( 0 , 1 ), tmp288 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp288 tmp111 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp382 = einsum ( tmp73 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) del tmp73 tmp321 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 6 , 3 ), ( 0 , 4 , 1 , 5 , 2 , 6 )) tmp127 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp72 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) t2new . aaaa += np . transpose ( tmp72 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp72 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += tmp72 * - 1 t2new . aaaa += np . transpose ( tmp72 , ( 1 , 0 , 2 , 3 )) tmp360 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 5 , 6 , 2 ), ( 0 , 4 , 5 , 6 , 1 , 3 )) tmp335 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp332 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp400 = einsum ( t1 . bb , ( 0 , 1 ), tmp154 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp178 = einsum ( tmp141 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) t2new . abab += einsum ( tmp178 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 tmp107 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp165 = einsum ( t1 . aa , ( 0 , 1 ), tmp164 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp164 tmp144 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) tmp147 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp53 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 4 , 1 , 3 )) tmp306 = einsum ( tmp57 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp264 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 5 , 6 , 3 ), ( 4 , 0 , 1 , 6 , 5 , 2 )) tmp267 = np . copy ( np . transpose ( tmp66 , ( 0 , 2 , 1 , 3 ))) * - 1 tmp267 += np . transpose ( tmp66 , ( 0 , 3 , 2 , 1 )) tmp252 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . oooo , ( 4 , 5 , 6 , 1 ), ( 0 , 4 , 5 , 6 , 2 , 3 )) tmp253 = einsum ( t3 . aaaaaa , ( 0 , 1 , 2 , 3 , 4 , 5 ), f . aa . ov , ( 6 , 5 ), ( 6 , 0 , 1 , 2 , 3 , 4 )) tmp249 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 5 , 6 , 2 )) tmp271 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) t3new . abaaba += einsum ( tmp271 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 6 ), ( 2 , 4 , 1 , 5 , 6 , 3 )) * - 2 tmp247 = einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp217 = einsum ( tmp216 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) del tmp216 tmp170 = einsum ( tmp169 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp169 tmp224 = einsum ( t1 . bb , ( 0 , 1 ), tmp223 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp223 tmp29 = np . copy ( v . bbbb . ooov ) tmp29 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp195 = np . copy ( v . bbbb . ovvv ) * - 1 tmp195 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) tmp183 = einsum ( t1 . bb , ( 0 , 1 ), tmp159 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp28 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp135 = einsum ( tmp16 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp25 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) * - 1 tmp24 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp46 = einsum ( t1 . bb , ( 0 , 1 ), tmp45 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp93 = einsum ( tmp92 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp92 tmp5 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp6 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp10 = einsum ( tmp9 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) * 0.5 tmp84 = einsum ( tmp83 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp83 tmp82 = einsum ( t1 . aa , ( 0 , 1 ), tmp81 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp81 tmp18 = np . copy ( v . aaaa . ooov ) tmp18 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp37 = einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 3 ), ( 1 , 2 )) tmp17 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp434 = np . copy ( np . transpose ( tmp432 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp434 += np . transpose ( tmp433 , ( 0 , 2 , 1 , 3 )) * 2 t3new . babbab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp434 , ( 1 , 4 , 5 , 6 ), ( 4 , 0 , 5 , 6 , 2 , 3 )) tmp554 = np . copy ( np . transpose ( tmp200 , ( 0 , 2 , 1 , 3 ))) tmp554 += np . transpose ( tmp200 , ( 0 , 3 , 2 , 1 )) * - 1 tmp458 = np . copy ( np . transpose ( tmp204 , ( 0 , 2 , 1 , 3 ))) tmp458 += np . transpose ( tmp457 , ( 0 , 2 , 1 , 3 )) del tmp457 tmp530 = np . copy ( np . transpose ( tmp432 , ( 1 , 0 , 2 , 3 ))) * - 0.5 tmp530 += np . transpose ( tmp433 , ( 0 , 2 , 1 , 3 )) tmp516 = einsum ( t3 . bbbbbb , ( 0 , 1 , 2 , 3 , 4 , 5 ), f . bb . ov , ( 6 , 5 ), ( 6 , 0 , 1 , 2 , 3 , 4 )) tmp515 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . oooo , ( 4 , 5 , 6 , 1 ), ( 0 , 4 , 5 , 6 , 2 , 3 )) tmp238 = einsum ( t1 . bb , ( 0 , 1 ), tmp210 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp210 tmp538 = np . copy ( v . bbbb . ovvv ) tmp538 += np . transpose ( tmp129 , ( 0 , 2 , 3 , 1 )) * - 1 tmp534 = einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 1 , 6 , 2 )) tmp324 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 2 , 1 ), ( 2 , 0 )) tmp513 = einsum ( t1 . bb , ( 0 , 1 ), tmp512 , ( 2 , 3 , 4 , 5 , 0 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) del tmp512 tmp560 = einsum ( tmp559 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 3 ), ( 1 , 0 , 4 , 5 , 2 , 6 )) del tmp559 tmp447 = np . copy ( np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 ))) * - 1 tmp447 += tmp129 t3new . babbab += einsum ( tmp447 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 6 , 3 ), ( 5 , 4 , 0 , 2 , 6 , 1 )) tmp546 = np . copy ( np . transpose ( tmp204 , ( 0 , 2 , 1 , 3 ))) tmp546 += np . transpose ( tmp545 , ( 0 , 2 , 1 , 3 )) del tmp545 tmp527 = einsum ( tmp526 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp526 tmp240 = einsum ( tmp234 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp318 = np . copy ( f . bb . vv ) tmp318 += tmp317 * - 1 t3new . babbab += einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp318 , ( 5 , 6 ), ( 0 , 1 , 2 , 6 , 4 , 3 )) * - 1 tmp420 = np . copy ( f . bb . vv ) tmp420 += tmp317 * - 1 del tmp317 t3new . babbab += einsum ( tmp420 , ( 0 , 1 ), t3 . babbab , ( 2 , 3 , 4 , 5 , 6 , 0 ), ( 2 , 3 , 4 , 1 , 6 , 5 )) * - 1 tmp552 = einsum ( tmp168 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 5 , 2 , 6 )) tmp425 = np . copy ( np . transpose ( tmp200 , ( 0 , 2 , 1 , 3 ))) * - 1 tmp425 += np . transpose ( tmp200 , ( 0 , 3 , 2 , 1 )) tmp494 = einsum ( tmp493 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp493 t3new . babbab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp494 , ( 4 , 5 , 1 , 6 ), ( 4 , 0 , 5 , 3 , 2 , 6 )) * - 1 tmp548 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 2 , 6 , 1 )) tmp524 = einsum ( t1 . bb , ( 0 , 1 ), tmp523 , ( 2 , 3 , 4 , 5 , 0 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) del tmp523 tmp448 = np . copy ( v . bbbb . ovvv ) tmp448 += np . transpose ( tmp129 , ( 0 , 2 , 3 , 1 )) * - 1 t3new . babbab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp448 , ( 4 , 5 , 3 , 6 ), ( 4 , 0 , 1 , 5 , 2 , 6 )) tmp480 = np . copy ( np . transpose ( tmp173 , ( 0 , 1 , 3 , 2 ))) tmp480 += tmp174 * - 1 tmp377 = einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp483 = np . copy ( np . transpose ( tmp236 , ( 0 , 2 , 1 , 3 ))) tmp483 += np . transpose ( tmp482 , ( 0 , 3 , 1 , 2 )) del tmp482 tmp424 = einsum ( tmp423 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 1 , 6 ), ( 0 , 2 , 3 , 4 , 6 , 5 )) del tmp423 tmp428 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 5 , 2 , 6 )) tmp499 = np . copy ( tmp151 ) tmp499 += tmp396 * - 1 tmp150 = np . copy ( v . aabb . oovv ) tmp150 += np . transpose ( tmp149 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp149 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp150 , ( 0 , 4 , 3 , 5 ), ( 4 , 1 , 2 , 5 )) * - 1 tmp365 = np . copy ( np . transpose ( tmp139 , ( 0 , 2 , 1 , 3 ))) tmp365 += np . transpose ( tmp363 , ( 0 , 2 , 1 , 3 )) * - 1 t3new . abaaba += einsum ( tmp365 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 6 ), ( 0 , 2 , 4 , 3 , 6 , 5 )) * - 1 tmp506 = einsum ( tmp141 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 2 , 6 ), ( 4 , 0 , 1 , 5 , 6 , 3 )) tmp502 = einsum ( tmp143 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 3 , 6 ), ( 4 , 0 , 5 , 1 , 2 , 6 )) tmp152 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp488 = einsum ( t1 . bb , ( 0 , 1 ), tmp143 , ( 2 , 0 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) tmp414 = einsum ( tmp413 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 1 , 6 ), ( 0 , 2 , 4 , 3 , 6 , 5 )) tmp392 = einsum ( t1 . aa , ( 0 , 1 ), tmp137 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp461 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . oovv , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 5 , 2 , 6 )) tmp262 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp439 = einsum ( tmp413 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . bb , ( 4 , 6 ), ( 0 , 1 , 2 , 3 , 6 , 5 )) del tmp413 tmp394 = einsum ( t1 . bb , ( 0 , 1 ), tmp140 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp437 = np . copy ( np . transpose ( tmp329 , ( 0 , 2 , 1 , 3 ))) tmp437 += tmp330 * - 1 tmp478 = einsum ( tmp172 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 4 , 2 , 3 )) tmp472 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 2 , 6 , 1 )) tmp259 = np . copy ( f . aa . vv ) tmp259 += tmp256 * - 1 t3new . abaaba += einsum ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp259 , ( 5 , 6 ), ( 0 , 1 , 2 , 6 , 4 , 3 )) * - 1 tmp51 = np . copy ( np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 ))) tmp51 += np . transpose ( tmp50 , ( 0 , 2 , 1 , 3 )) * - 1 t2new . abab += einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp51 , ( 2 , 4 , 6 , 5 ), ( 1 , 0 , 6 , 3 )) * 2 tmp464 = einsum ( tmp463 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . bb , ( 4 , 6 ), ( 0 , 1 , 2 , 3 , 5 , 6 )) del tmp463 tmp417 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 5 , 2 , 6 )) tmp485 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp168 , ( 4 , 5 , 6 , 3 ), ( 0 , 4 , 5 , 1 , 2 , 6 )) * - 1 tmp474 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 5 , 6 ), ( 0 , 4 , 1 , 5 , 3 , 6 )) tmp468 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvoo , ( 4 , 2 , 5 , 6 ), ( 0 , 1 , 5 , 6 , 4 , 3 )) tmp367 = einsum ( v . aabb . oovv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 6 , 3 ), ( 4 , 0 , 1 , 5 , 6 , 2 )) tmp358 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 3 , 6 ), ( 4 , 0 , 1 , 5 , 2 , 6 )) tmp311 = einsum ( tmp310 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . bb , ( 4 , 6 ), ( 0 , 2 , 1 , 3 , 5 , 6 )) tmp356 = np . copy ( np . transpose ( tmp177 , ( 1 , 0 , 2 , 3 ))) tmp356 += tmp355 * - 1 t3new . babbab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp356 , ( 0 , 4 , 5 , 6 ), ( 5 , 4 , 1 , 6 , 2 , 3 )) * - 1 tmp378 = einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) tmp290 = np . copy ( np . transpose ( tmp62 , ( 0 , 2 , 1 , 3 ))) tmp290 += np . transpose ( tmp289 , ( 0 , 2 , 1 , 3 )) tmp383 = np . copy ( np . transpose ( tmp111 , ( 0 , 2 , 1 , 3 ))) tmp383 += np . transpose ( tmp382 , ( 0 , 3 , 1 , 2 )) del tmp382 tmp322 = einsum ( t1 . bb , ( 0 , 1 ), tmp321 , ( 2 , 3 , 4 , 5 , 0 , 6 ), ( 2 , 3 , 4 , 5 , 6 , 1 )) del tmp321 tmp292 = np . copy ( np . transpose ( tmp66 , ( 0 , 2 , 1 , 3 ))) tmp292 += np . transpose ( tmp66 , ( 0 , 3 , 2 , 1 )) * - 1 tmp128 = np . copy ( v . aabb . ovvv ) tmp128 += np . transpose ( tmp127 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . abab += einsum ( tmp128 , ( 0 , 1 , 2 , 3 ), t3 . abaaba , ( 4 , 5 , 0 , 6 , 2 , 1 ), ( 4 , 5 , 6 , 3 )) * 2 tmp371 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 3 , 6 ), ( 4 , 0 , 2 , 5 , 1 , 6 )) tmp113 = einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) del tmp72 tmp326 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 1 , 2 , 6 )) tmp361 = einsum ( tmp360 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 3 , 6 ), ( 0 , 1 , 2 , 4 , 6 , 5 )) del tmp360 tmp336 = np . copy ( np . transpose ( tmp335 , ( 1 , 0 , 2 , 3 ))) tmp336 += tmp332 * - 1 tmp408 = einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 6 , 3 ), ( 0 , 4 , 5 , 1 , 6 , 2 )) tmp404 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp173 , ( 4 , 5 , 6 , 3 ), ( 4 , 0 , 5 , 1 , 2 , 6 )) tmp314 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 6 , 1 ), ( 4 , 5 , 0 , 2 , 3 , 6 )) tmp401 = np . copy ( tmp178 ) tmp401 += tmp400 * - 1 tmp109 = einsum ( t1 . aa , ( 0 , 1 ), tmp107 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) tmp385 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp165 , ( 4 , 5 , 6 , 2 ), ( 4 , 5 , 0 , 1 , 6 , 3 )) * - 1 tmp388 = einsum ( tmp173 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 4 , 3 , 2 )) tmp338 = einsum ( tmp310 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 2 , 6 ), ( 0 , 1 , 3 , 4 , 6 , 5 )) del tmp310 tmp380 = np . copy ( np . transpose ( tmp143 , ( 0 , 1 , 3 , 2 ))) tmp380 += tmp144 * - 1 tmp340 = np . copy ( np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 ))) tmp340 += np . transpose ( tmp147 , ( 1 , 0 , 3 , 2 )) * - 1 tmp373 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 6 , 3 ), ( 4 , 0 , 5 , 2 , 6 , 1 )) tmp302 = np . copy ( np . transpose ( tmp66 , ( 0 , 2 , 1 , 3 ))) * - 1 tmp302 += np . transpose ( tmp66 , ( 0 , 3 , 2 , 1 )) tmp283 = np . copy ( np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 ))) * - 1 tmp283 += tmp53 t3new . abaaba += einsum ( tmp283 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 3 , 6 ), ( 4 , 5 , 0 , 2 , 6 , 1 )) tmp281 = np . copy ( v . aaaa . ovvv ) tmp281 += np . transpose ( tmp53 , ( 0 , 2 , 3 , 1 )) * - 1 tmp307 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp306 , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 1 , 6 , 2 )) del tmp306 tmp296 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 6 , 2 , 5 )) tmp265 = einsum ( t1 . aa , ( 0 , 1 ), tmp264 , ( 2 , 3 , 4 , 5 , 0 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) del tmp264 tmp277 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 1 , 6 , 2 )) tmp268 = einsum ( tmp267 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp267 t3new . abaaba += einsum ( tmp268 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 5 , 6 ), ( 0 , 4 , 1 , 5 , 6 , 3 )) * - 1 tmp300 = einsum ( tmp165 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 5 , 2 , 6 )) tmp254 = np . copy ( np . transpose ( tmp252 , ( 0 , 2 , 1 , 3 , 5 , 4 ))) del tmp252 tmp254 += np . transpose ( tmp253 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * 3 del tmp253 tmp294 = np . copy ( np . transpose ( tmp62 , ( 0 , 2 , 1 , 3 ))) tmp294 += tmp289 del tmp289 tmp257 = np . copy ( f . aa . vv ) tmp257 += tmp256 * - 1 del tmp256 t3new . abaaba += einsum ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp257 , ( 5 , 6 ), ( 0 , 1 , 2 , 6 , 4 , 3 )) * - 1 tmp250 = einsum ( t1 . aa , ( 0 , 1 ), tmp249 , ( 2 , 3 , 4 , 5 , 0 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) del tmp249 tmp274 = np . copy ( np . transpose ( tmp247 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp274 += np . transpose ( tmp271 , ( 0 , 2 , 1 , 3 )) * 2 t3new . abaaba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp274 , ( 0 , 4 , 5 , 6 ), ( 4 , 1 , 5 , 6 , 3 , 2 )) tmp272 = np . copy ( np . transpose ( tmp247 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp272 += np . transpose ( tmp271 , ( 0 , 2 , 1 , 3 )) * 2 tmp285 = np . copy ( v . aaaa . ovvv ) tmp285 += np . transpose ( tmp53 , ( 0 , 2 , 3 , 1 )) * - 1 t3new . abaaba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp285 , ( 4 , 5 , 2 , 6 ), ( 4 , 1 , 0 , 5 , 3 , 6 )) tmp242 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp123 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp122 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 1 , 4 ), ( 3 , 4 )) tmp218 = np . copy ( np . transpose ( tmp217 , ( 1 , 0 , 3 , 2 ))) * - 1 del tmp217 tmp218 += tmp170 * - 1 tmp232 = np . copy ( v . bbbb . oovv ) tmp232 += np . transpose ( tmp224 , ( 1 , 0 , 3 , 2 )) * - 1 tmp188 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp188 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp214 = np . copy ( tmp141 ) * - 1 tmp214 += tmp142 del tmp142 tmp206 = einsum ( tmp200 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) tmp30 = einsum ( t1 . bb , ( 0 , 1 ), tmp29 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) del tmp29 tmp131 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp196 = einsum ( t1 . bb , ( 0 , 1 ), tmp195 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp197 = einsum ( t1 . bb , ( 0 , 1 ), tmp16 , ( 0 , 2 ), ( 1 , 2 )) tmp184 = np . copy ( f . bb . oo ) tmp184 += np . transpose ( tmp28 , ( 1 , 0 )) tmp184 += np . transpose ( tmp183 , ( 1 , 0 )) * - 1 del tmp183 tmp146 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovoo , ( 2 , 3 , 4 , 0 ), ( 2 , 4 , 3 , 1 )) t2new . abab += tmp146 * - 1 tmp208 = np . copy ( tmp24 ) tmp208 += tmp25 * 2 tmp208 += tmp135 tmp230 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp227 = np . copy ( v . bbbb . ooov ) * - 1 tmp227 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) tmp192 = np . copy ( v . bbbb . ovvv ) tmp192 += np . transpose ( tmp129 , ( 0 , 3 , 2 , 1 )) tmp125 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) t2new . abab += tmp125 * 2 tmp212 = np . copy ( tmp22 ) tmp212 += np . transpose ( tmp22 , ( 0 , 2 , 1 , 3 )) * - 1 tmp162 = np . copy ( np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 ))) tmp162 += tmp50 * - 1 tmp56 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp58 = einsum ( t1 . aa , ( 0 , 1 ), tmp57 , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) del tmp57 tmp59 = einsum ( tmp9 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 2 , 1 )) tmp42 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp41 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp156 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 1 , 3 , 4 , 5 ), ( 0 , 4 , 2 , 5 )) t2new . abab += tmp156 * 2 tmp95 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) t2new . abab += tmp95 * - 1 tmp91 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp91 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp49 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) t2new . aaaa += tmp49 t2new . aaaa += np . transpose ( tmp49 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp49 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp49 , ( 1 , 0 , 3 , 2 )) tmp132 = np . copy ( v . bbbb . ovvv ) * - 1 tmp132 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 3 , 1 )) tmp47 = np . copy ( f . bb . ov ) tmp47 += tmp13 del tmp13 tmp47 += tmp46 * - 1 del tmp46 t2new . abab += einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp47 , ( 2 , 5 ), ( 1 , 0 , 4 , 3 )) t2new . aaaa += einsum ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp47 , ( 1 , 4 ), ( 0 , 2 , 3 , 5 )) tmp54 = np . copy ( v . aaaa . ovvv ) tmp54 += np . transpose ( tmp53 , ( 0 , 3 , 2 , 1 )) tmp101 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp101 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp115 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp105 = np . copy ( v . aaaa . oovv ) tmp105 += np . transpose ( tmp93 , ( 1 , 0 , 2 , 3 )) * - 1 tmp68 = einsum ( tmp66 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) tmp70 = np . copy ( tmp5 ) tmp70 += tmp6 * 0.5 tmp70 += tmp10 tmp85 = np . copy ( np . transpose ( tmp82 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp82 tmp85 += tmp84 * - 1 tmp96 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp96 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 3 ), ( 1 , 2 )) del tmp18 tmp38 = np . copy ( f . aa . oo ) tmp38 += np . transpose ( tmp17 , ( 1 , 0 )) tmp38 += np . transpose ( tmp37 , ( 1 , 0 )) * - 1 del tmp37 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp38 , ( 0 , 4 ), ( 4 , 1 , 2 , 3 )) * - 1 tmp79 = np . copy ( tmp77 ) * - 1 tmp79 += tmp78 del tmp78 tmp99 = np . copy ( v . aaaa . ooov ) * - 1 tmp99 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) tmp98 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp98 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp103 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp74 = np . copy ( v . aaaa . ovvv ) * - 1 tmp74 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) tmp75 = np . copy ( tmp2 ) * - 1 tmp75 += np . transpose ( tmp2 , ( 0 , 2 , 1 , 3 )) tmp532 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp434 , ( 1 , 4 , 5 , 6 ), ( 4 , 5 , 0 , 6 , 2 , 3 )) * - 1 del tmp434 t3new . bbbbbb = np . copy ( np . transpose ( tmp532 , ( 0 , 1 , 2 , 5 , 3 , 4 ))) t3new . bbbbbb += np . transpose ( tmp532 , ( 0 , 1 , 2 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp532 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp532 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp532 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp532 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp532 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp532 , ( 0 , 2 , 1 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp532 , ( 0 , 2 , 1 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp532 , ( 2 , 0 , 1 , 3 , 5 , 4 )) * - 1 del tmp532 tmp542 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 6 ), ( 0 , 4 , 1 , 5 , 6 , 3 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 2 , 1 , 0 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 2 , 1 , 0 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 0 , 2 , 1 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 0 , 2 , 1 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 1 , 0 , 2 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 1 , 0 , 2 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 2 , 0 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 2 , 0 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 2 , 1 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 2 , 1 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 2 , 0 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 2 , 0 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 2 , 1 , 0 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 2 , 1 , 0 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 0 , 2 , 1 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 0 , 2 , 1 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 1 , 2 , 0 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 1 , 2 , 0 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 0 , 1 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 0 , 1 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 1 , 0 , 2 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 1 , 0 , 2 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp542 , ( 1 , 0 , 2 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp542 , ( 1 , 0 , 2 , 5 , 4 , 3 )) del tmp542 tmp511 = einsum ( f . bb . oo , ( 0 , 1 ), t3 . bbbbbb , ( 2 , 3 , 1 , 4 , 5 , 6 ), ( 0 , 2 , 3 , 4 , 5 , 6 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp511 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp511 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp511 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp511 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp511 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp511 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 del tmp511 tmp555 = einsum ( tmp554 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) del tmp554 t3new . bbbbbb += einsum ( tmp555 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 6 ), ( 4 , 1 , 0 , 5 , 6 , 3 )) del tmp555 tmp543 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp458 , ( 4 , 1 , 5 , 6 ), ( 4 , 5 , 0 , 6 , 2 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp543 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp543 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp543 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp543 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp543 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp543 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp543 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp543 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp543 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp543 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp543 , ( 2 , 0 , 1 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp543 , ( 2 , 0 , 1 , 3 , 5 , 4 )) del tmp543 tmp531 = einsum ( tmp530 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 6 ), ( 1 , 2 , 4 , 3 , 5 , 6 )) * - 2 del tmp530 t3new . bbbbbb += np . transpose ( tmp531 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp531 , ( 2 , 0 , 1 , 3 , 5 , 4 )) * - 1 del tmp531 tmp536 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 5 , 6 ), ( 0 , 4 , 5 , 2 , 3 , 6 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp536 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp536 , ( 0 , 1 , 2 , 5 , 4 , 3 )) del tmp536 tmp517 = np . copy ( np . transpose ( tmp515 , ( 0 , 2 , 1 , 3 , 5 , 4 ))) tmp517 += np . transpose ( tmp516 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * 3 t3new . bbbbbb += einsum ( t1 . bb , ( 0 , 1 ), tmp517 , ( 2 , 0 , 3 , 4 , 5 , 6 ), ( 4 , 3 , 2 , 6 , 5 , 1 )) del tmp517 tmp556 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp238 , ( 4 , 5 , 1 , 6 ), ( 4 , 5 , 0 , 2 , 3 , 6 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp556 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp556 , ( 2 , 0 , 1 , 5 , 4 , 3 )) del tmp556 tmp539 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp538 , ( 4 , 5 , 3 , 6 ), ( 4 , 0 , 1 , 5 , 6 , 2 )) * - 2 del tmp538 t3new . bbbbbb += np . transpose ( tmp539 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp539 , ( 2 , 1 , 0 , 3 , 4 , 5 )) * - 1 del tmp539 tmp535 = einsum ( tmp534 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . bb , ( 2 , 6 ), ( 0 , 1 , 3 , 6 , 4 , 5 )) del tmp534 t3new . bbbbbb += np . transpose ( tmp535 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 2 , 1 , 0 , 3 , 4 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * 2 t3new . bbbbbb += tmp535 * - 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 2 , 1 , 0 , 4 , 5 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp535 , ( 2 , 1 , 0 , 5 , 3 , 4 )) * 2 del tmp535 tmp522 = einsum ( t3 . bbbbbb , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp324 , ( 2 , 6 ), ( 6 , 0 , 1 , 3 , 4 , 5 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . bbbbbb += np . transpose ( tmp522 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp522 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp522 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp522 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp522 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp522 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 del tmp522 tmp514 = einsum ( tmp513 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . bb , ( 2 , 6 ), ( 0 , 1 , 3 , 6 , 4 , 5 )) del tmp513 t3new . bbbbbb += np . transpose ( tmp514 , ( 2 , 1 , 0 , 4 , 5 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * 2 t3new . bbbbbb += tmp514 * - 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 2 , 1 , 0 , 3 , 4 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 2 , 1 , 0 , 5 , 3 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp514 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 2 del tmp514 tmp561 = einsum ( t1 . bb , ( 0 , 1 ), tmp560 , ( 2 , 0 , 3 , 4 , 5 , 6 ), ( 2 , 4 , 3 , 6 , 5 , 1 )) * - 2 del tmp560 t3new . bbbbbb += np . transpose ( tmp561 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp561 , ( 1 , 2 , 0 , 5 , 4 , 3 )) del tmp561 tmp533 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp433 , ( 1 , 4 , 5 , 6 ), ( 5 , 4 , 0 , 6 , 2 , 3 )) * - 1 del tmp433 t3new . bbbbbb += np . transpose ( tmp533 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp533 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp533 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp533 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp533 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp533 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * 2 del tmp533 tmp540 = einsum ( tmp447 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 3 ), ( 0 , 4 , 5 , 1 , 2 , 6 )) * - 1 del tmp447 t3new . bbbbbb += np . transpose ( tmp540 , ( 2 , 0 , 1 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp540 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp540 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 2 del tmp540 tmp547 = einsum ( tmp546 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 6 ), ( 0 , 1 , 4 , 3 , 5 , 6 )) * - 1 del tmp546 t3new . bbbbbb += np . transpose ( tmp547 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp547 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp547 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp547 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp547 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp547 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp547 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp547 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp547 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp547 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp547 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 del tmp547 tmp528 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp527 , ( 4 , 1 , 5 , 6 ), ( 4 , 5 , 0 , 6 , 2 , 3 )) * - 1 del tmp527 t3new . bbbbbb += np . transpose ( tmp528 , ( 2 , 1 , 0 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp528 , ( 1 , 0 , 2 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp528 , ( 1 , 0 , 2 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp528 , ( 1 , 2 , 0 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp528 , ( 1 , 2 , 0 , 5 , 4 , 3 )) * - 1 del tmp528 tmp518 = np . copy ( np . transpose ( tmp515 , ( 0 , 2 , 1 , 3 , 5 , 4 ))) * 0.3333333333333333 del tmp515 tmp518 += np . transpose ( tmp516 , ( 1 , 0 , 2 , 3 , 5 , 4 )) del tmp516 t3new . bbbbbb += einsum ( t1 . bb , ( 0 , 1 ), tmp518 , ( 2 , 0 , 3 , 4 , 5 , 6 ), ( 4 , 3 , 2 , 6 , 5 , 1 )) * 3 del tmp518 tmp557 = einsum ( tmp240 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 6 ), ( 1 , 0 , 4 , 3 , 5 , 6 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 2 , 0 , 1 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp557 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp557 , ( 2 , 0 , 1 , 3 , 5 , 4 )) del tmp557 tmp551 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp236 , ( 4 , 5 , 3 , 6 ), ( 4 , 0 , 1 , 2 , 6 , 5 )) t3new . bbbbbb += np . transpose ( tmp551 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 1 , 0 , 2 , 3 , 4 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 1 , 2 , 0 , 3 , 4 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 1 , 0 , 2 , 4 , 5 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 1 , 2 , 0 , 5 , 4 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp551 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 2 del tmp551 tmp537 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 2 , 5 , 6 )) t3new . bbbbbb += np . transpose ( tmp537 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp537 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp537 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp537 , ( 2 , 1 , 0 , 5 , 3 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp537 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp537 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp537 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp537 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp537 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * 2 del tmp537 tmp520 = einsum ( tmp318 , ( 0 , 1 ), t3 . bbbbbb , ( 2 , 3 , 4 , 5 , 6 , 0 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) t3new . bbbbbb += np . transpose ( tmp520 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * - 3 t3new . bbbbbb += np . transpose ( tmp520 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * - 3 del tmp520 tmp519 = einsum ( t3 . bbbbbb , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp420 , ( 5 , 6 ), ( 0 , 1 , 2 , 6 , 3 , 4 )) * 3 del tmp420 t3new . bbbbbb += np . transpose ( tmp519 , ( 1 , 2 , 0 , 3 , 4 , 5 )) t3new . bbbbbb += np . transpose ( tmp519 , ( 1 , 2 , 0 , 3 , 4 , 5 )) del tmp519 tmp553 = einsum ( t1 . bb , ( 0 , 1 ), tmp552 , ( 2 , 0 , 3 , 4 , 5 , 6 ), ( 2 , 4 , 3 , 6 , 5 , 1 )) * - 1 del tmp552 t3new . bbbbbb += np . transpose ( tmp553 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 1 , 0 , 2 , 3 , 4 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 1 , 2 , 0 , 3 , 4 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 1 , 0 , 2 , 4 , 5 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp553 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 2 del tmp553 tmp550 = einsum ( tmp204 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 6 ), ( 0 , 4 , 1 , 5 , 6 , 3 )) t3new . bbbbbb += np . transpose ( tmp550 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp550 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp550 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp550 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp550 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp550 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp550 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp550 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp550 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp550 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new . bbbbbb += np . transpose ( tmp550 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . bbbbbb += np . transpose ( tmp550 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 del tmp550 tmp544 = np . copy ( np . transpose ( tmp204 , ( 0 , 2 , 1 , 3 ))) tmp544 += einsum ( tmp425 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) t3new . bbbbbb += einsum ( tmp544 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 6 ), ( 4 , 1 , 0 , 3 , 5 , 6 )) * - 1 del tmp544 tmp510 = einsum ( tmp432 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 6 ), ( 4 , 2 , 0 , 3 , 5 , 6 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp510 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp510 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp510 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp510 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp510 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp510 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp510 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new . bbbbbb += np . transpose ( tmp510 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp510 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp510 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 del tmp510 tmp529 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp494 , ( 4 , 5 , 1 , 6 ), ( 4 , 5 , 0 , 6 , 2 , 3 )) * - 1 del tmp494 t3new . bbbbbb += np . transpose ( tmp529 , ( 0 , 2 , 1 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp529 , ( 0 , 2 , 1 , 5 , 4 , 3 )) t3new . bbbbbb += np . transpose ( tmp529 , ( 2 , 0 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp529 , ( 2 , 0 , 1 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp529 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 1 t3new . bbbbbb += np . transpose ( tmp529 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 1 del tmp529 tmp549 = einsum ( t1 . bb , ( 0 , 1 ), tmp548 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp548 t3new . bbbbbb += np . transpose ( tmp549 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp549 , ( 2 , 1 , 0 , 3 , 4 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp549 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp549 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp549 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * - 2 t3new . bbbbbb += tmp549 * 2 t3new . bbbbbb += np . transpose ( tmp549 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp549 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp549 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * - 2 del tmp549 tmp521 = einsum ( f . bb . vv , ( 0 , 1 ), t3 . bbbbbb , ( 2 , 3 , 4 , 5 , 6 , 1 ), ( 2 , 3 , 4 , 0 , 5 , 6 )) t3new . bbbbbb += np . transpose ( tmp521 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 3 t3new . bbbbbb += np . transpose ( tmp521 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 3 del tmp521 tmp525 = einsum ( tmp524 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . bb , ( 3 , 6 ), ( 0 , 1 , 2 , 6 , 4 , 5 )) del tmp524 t3new . bbbbbb += np . transpose ( tmp525 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 1 , 0 , 2 , 4 , 5 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 1 , 0 , 2 , 3 , 4 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 1 , 2 , 0 , 3 , 4 , 5 )) * - 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 1 , 2 , 0 , 5 , 4 , 3 )) * 2 t3new . bbbbbb += np . transpose ( tmp525 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 2 del tmp525 tmp541 = einsum ( tmp448 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 2 ), ( 0 , 4 , 5 , 1 , 3 , 6 )) * - 1 del tmp448 t3new . bbbbbb += np . transpose ( tmp541 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp541 , ( 2 , 1 , 0 , 5 , 3 , 4 )) * - 2 t3new . bbbbbb += np . transpose ( tmp541 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * 2 t3new . bbbbbb += np . transpose ( tmp541 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * 2 del tmp541 tmp449 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 6 ), ( 4 , 5 , 2 , 0 , 6 , 3 )) t3new . babbab += np . transpose ( tmp449 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp449 , ( 1 , 0 , 2 , 4 , 3 , 5 )) del tmp449 tmp481 = np . copy ( np . transpose ( tmp377 , ( 0 , 1 , 3 , 2 ))) tmp481 += einsum ( t1 . aa , ( 0 , 1 ), tmp480 , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 4 , 3 )) * - 1 del tmp480 t3new . babbab += einsum ( tmp481 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 2 ), ( 4 , 0 , 5 , 3 , 1 , 6 )) * - 2 del tmp481 tmp484 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp483 , ( 4 , 3 , 5 , 6 ), ( 0 , 4 , 1 , 2 , 5 , 6 )) del tmp483 t3new . babbab += np . transpose ( tmp484 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp484 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp484 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp484 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 del tmp484 tmp443 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 6 ), ( 4 , 0 , 2 , 5 , 6 , 3 )) t3new . babbab += np . transpose ( tmp443 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp443 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp443 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp443 , ( 1 , 0 , 2 , 5 , 3 , 4 )) del tmp443 tmp426 = np . copy ( tmp424 ) tmp426 += einsum ( tmp425 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 6 ), ( 4 , 0 , 2 , 1 , 5 , 6 )) del tmp425 t3new . babbab += einsum ( t1 . bb , ( 0 , 1 ), tmp426 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 4 , 2 , 3 , 6 , 5 , 1 )) del tmp426 tmp490 = np . copy ( np . transpose ( tmp377 , ( 0 , 1 , 3 , 2 ))) tmp490 += einsum ( t1 . bb , ( 0 , 1 ), tmp77 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 t3new . babbab += einsum ( tmp490 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 2 ), ( 4 , 0 , 5 , 6 , 1 , 3 )) * 2 del tmp490 tmp429 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp140 , ( 4 , 0 , 5 , 6 ), ( 4 , 1 , 5 , 6 , 2 , 3 )) * - 1 tmp429 += einsum ( tmp428 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 1 , 6 ), ( 0 , 3 , 2 , 4 , 6 , 5 )) * 2 del tmp428 t3new . babbab += einsum ( t1 . bb , ( 0 , 1 ), tmp429 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 4 , 2 , 3 , 6 , 5 , 1 )) del tmp429 tmp444 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 5 , 6 ), ( 0 , 4 , 2 , 1 , 5 , 6 )) t3new . babbab += np . transpose ( tmp444 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp444 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp444 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp444 , ( 1 , 0 , 2 , 5 , 3 , 4 )) del tmp444 tmp500 = einsum ( tmp499 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 6 ), ( 0 , 1 , 4 , 3 , 5 , 6 )) * - 1 del tmp499 t3new . babbab += np . transpose ( tmp500 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp500 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp500 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp500 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 del tmp500 tmp477 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp177 , ( 4 , 0 , 5 , 6 ), ( 4 , 5 , 1 , 2 , 3 , 6 )) t3new . babbab += np . transpose ( tmp477 , ( 1 , 0 , 2 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp477 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 del tmp477 tmp471 = einsum ( tmp204 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 6 ), ( 4 , 0 , 1 , 5 , 6 , 3 )) t3new . babbab += np . transpose ( tmp471 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp471 , ( 1 , 0 , 2 , 4 , 3 , 5 )) del tmp471 tmp441 = einsum ( tmp150 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 2 ), ( 1 , 0 , 4 , 5 , 6 , 3 )) del tmp150 t3new . babbab += einsum ( tmp441 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 0 , 6 ), ( 2 , 1 , 3 , 5 , 6 , 4 )) * 2 del tmp441 tmp453 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp335 , ( 4 , 0 , 5 , 6 ), ( 4 , 1 , 5 , 2 , 6 , 3 )) t3new . babbab += np . transpose ( tmp453 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp453 , ( 1 , 0 , 2 , 5 , 3 , 4 )) del tmp453 tmp460 = einsum ( tmp365 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 6 ), ( 0 , 2 , 4 , 3 , 5 , 6 )) * - 1 del tmp365 t3new . babbab += np . transpose ( tmp460 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp460 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp460 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp460 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 del tmp460 tmp507 = einsum ( t1 . aa , ( 0 , 1 ), tmp506 , ( 2 , 0 , 3 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp506 t3new . babbab += np . transpose ( tmp507 , ( 1 , 0 , 2 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp507 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 del tmp507 tmp476 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . oovv , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 1 , 2 , 6 )) t3new . babbab += einsum ( tmp476 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 0 , 6 ), ( 2 , 1 , 3 , 4 , 6 , 5 )) * - 2 del tmp476 tmp431 = np . copy ( np . transpose ( tmp335 , ( 1 , 0 , 2 , 3 ))) tmp431 += tmp332 * - 1 t3new . babbab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp431 , ( 0 , 4 , 5 , 6 ), ( 1 , 4 , 5 , 6 , 2 , 3 )) * - 1 del tmp431 tmp497 = einsum ( tmp238 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 6 ), ( 4 , 0 , 1 , 5 , 6 , 3 )) t3new . babbab += np . transpose ( tmp497 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp497 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp497 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp497 , ( 1 , 0 , 2 , 5 , 3 , 4 )) del tmp497 tmp496 = np . copy ( tmp178 ) * - 1 tmp496 += tmp400 t3new . babbab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp496 , ( 4 , 0 , 5 , 6 ), ( 1 , 4 , 5 , 6 , 2 , 3 )) * - 1 del tmp496 tmp503 = einsum ( tmp502 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . bb , ( 3 , 6 ), ( 0 , 1 , 2 , 4 , 6 , 5 )) del tmp502 t3new . babbab += np . transpose ( tmp503 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp503 , ( 2 , 0 , 1 , 4 , 3 , 5 )) del tmp503 tmp454 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 6 ), ( 0 , 4 , 2 , 5 , 6 , 3 )) t3new . babbab += np . transpose ( tmp454 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp454 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp454 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp454 , ( 1 , 0 , 2 , 5 , 3 , 4 )) del tmp454 tmp467 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp21 , ( 4 , 5 , 1 , 6 ), ( 4 , 5 , 0 , 6 , 2 , 3 )) t3new . babbab += np . transpose ( tmp467 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp467 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp467 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp467 , ( 2 , 0 , 1 , 5 , 3 , 4 )) del tmp467 tmp489 = np . copy ( np . transpose ( tmp152 , ( 0 , 2 , 1 , 3 ))) * - 1 tmp489 += np . transpose ( tmp488 , ( 0 , 2 , 1 , 3 )) t3new . babbab += einsum ( tmp489 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 6 ), ( 5 , 4 , 0 , 6 , 2 , 3 )) * - 1 del tmp489 tmp419 = einsum ( f . bb . ov , ( 0 , 1 ), t3 . babbab , ( 2 , 3 , 4 , 5 , 6 , 1 ), ( 3 , 0 , 2 , 4 , 6 , 5 )) tmp419 += np . transpose ( tmp414 , ( 0 , 3 , 2 , 1 , 4 , 5 )) * 0.5 t3new . babbab += einsum ( t1 . bb , ( 0 , 1 ), tmp419 , ( 2 , 0 , 3 , 4 , 5 , 6 ), ( 3 , 2 , 4 , 6 , 5 , 1 )) * - 2 del tmp419 tmp505 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp178 , ( 4 , 0 , 5 , 6 ), ( 4 , 5 , 1 , 2 , 3 , 6 )) t3new . babbab += np . transpose ( tmp505 , ( 1 , 0 , 2 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp505 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 del tmp505 tmp495 = einsum ( tmp392 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 6 ), ( 0 , 1 , 4 , 3 , 5 , 6 )) t3new . babbab += np . transpose ( tmp495 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp495 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp495 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp495 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 del tmp495 tmp462 = einsum ( t1 . bb , ( 0 , 1 ), tmp461 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) del tmp461 t3new . babbab += np . transpose ( tmp462 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp462 , ( 1 , 0 , 2 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp462 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp462 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 del tmp462 tmp455 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 6 ), ( 4 , 0 , 1 , 5 , 6 , 3 )) t3new . babbab += np . transpose ( tmp455 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp455 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp455 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp455 , ( 1 , 0 , 2 , 5 , 3 , 4 )) del tmp455 tmp498 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp240 , ( 4 , 5 , 1 , 6 ), ( 0 , 5 , 4 , 2 , 6 , 3 )) t3new . babbab += np . transpose ( tmp498 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp498 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp498 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp498 , ( 1 , 0 , 2 , 4 , 3 , 5 )) del tmp498 tmp415 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . oooo , ( 4 , 5 , 6 , 1 ), ( 0 , 4 , 5 , 6 , 2 , 3 )) tmp415 += np . transpose ( tmp414 , ( 0 , 1 , 3 , 2 , 4 , 5 )) * - 1 del tmp414 t3new . babbab += einsum ( t1 . bb , ( 0 , 1 ), tmp415 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 3 , 2 , 4 , 6 , 5 , 1 )) * - 1 del tmp415 tmp501 = np . copy ( tmp178 ) del tmp178 tmp501 += tmp400 * - 1 t3new . babbab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp501 , ( 4 , 0 , 5 , 6 ), ( 5 , 4 , 1 , 6 , 2 , 3 )) * - 1 del tmp501 tmp427 = einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp262 , ( 1 , 6 ), ( 6 , 0 , 2 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp427 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp427 , ( 1 , 0 , 2 , 5 , 3 , 4 )) del tmp427 tmp440 = einsum ( tmp439 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 1 , 6 ), ( 0 , 2 , 3 , 6 , 4 , 5 )) del tmp439 t3new . babbab += np . transpose ( tmp440 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp440 , ( 2 , 0 , 1 , 4 , 3 , 5 )) del tmp440 tmp492 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp394 , ( 4 , 0 , 5 , 6 ), ( 4 , 1 , 5 , 2 , 6 , 3 )) t3new . babbab += np . transpose ( tmp492 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp492 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp492 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 del tmp492 tmp446 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 6 , 1 , 2 )) t3new . babbab += np . transpose ( tmp446 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp446 , ( 1 , 0 , 2 , 5 , 3 , 4 )) del tmp446 tmp450 = np . copy ( v . aabb . ovvv ) tmp450 += np . transpose ( tmp127 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp127 t3new . babbab += einsum ( tmp450 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 2 ), ( 4 , 0 , 5 , 6 , 1 , 3 )) * 2 del tmp450 tmp438 = einsum ( tmp437 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 6 ), ( 0 , 2 , 4 , 3 , 5 , 6 )) * - 1 del tmp437 t3new . babbab += np . transpose ( tmp438 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp438 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 del tmp438 tmp416 = einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), f . aa . oo , ( 6 , 1 ), ( 6 , 0 , 2 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp416 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp416 , ( 1 , 0 , 2 , 5 , 3 , 4 )) del tmp416 tmp479 = np . copy ( np . transpose ( tmp152 , ( 0 , 2 , 1 , 3 ))) tmp479 += tmp478 * - 1 t3new . babbab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp479 , ( 4 , 5 , 2 , 6 ), ( 1 , 0 , 4 , 6 , 5 , 3 )) * - 1 del tmp479 tmp459 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp458 , ( 4 , 1 , 5 , 6 ), ( 0 , 4 , 5 , 2 , 6 , 3 )) del tmp458 t3new . babbab += np . transpose ( tmp459 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp459 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 del tmp459 tmp466 = np . copy ( np . transpose ( tmp177 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp177 tmp466 += tmp355 del tmp355 t3new . babbab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp466 , ( 4 , 0 , 5 , 6 ), ( 1 , 4 , 5 , 6 , 2 , 3 )) * - 1 del tmp466 tmp470 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 6 , 3 ), ( 4 , 0 , 1 , 6 , 5 , 2 )) t3new . babbab += einsum ( t1 . bb , ( 0 , 1 ), tmp470 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 3 , 2 , 4 , 1 , 5 , 6 )) * 2 del tmp470 tmp504 = einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 3 ), ( 0 , 4 , 5 , 1 , 2 , 6 )) del tmp77 t3new . babbab += einsum ( tmp504 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . bb , ( 3 , 6 ), ( 1 , 0 , 2 , 6 , 4 , 5 )) * 2 del tmp504 tmp436 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp332 , ( 0 , 4 , 5 , 6 ), ( 4 , 5 , 1 , 2 , 6 , 3 )) t3new . babbab += np . transpose ( tmp436 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp436 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp436 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 del tmp436 tmp430 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp137 , ( 4 , 0 , 5 , 6 ), ( 4 , 5 , 1 , 6 , 2 , 3 )) tmp430 += tmp424 del tmp424 t3new . babbab += einsum ( t1 . bb , ( 0 , 1 ), tmp430 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 3 , 2 , 4 , 6 , 5 , 1 )) * - 1 del tmp430 tmp508 = einsum ( tmp173 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 5 , 6 , 2 )) t3new . babbab += einsum ( tmp508 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 1 , 6 ), ( 2 , 0 , 3 , 4 , 6 , 5 )) * - 2 del tmp508 tmp473 = einsum ( t1 . bb , ( 0 , 1 ), tmp472 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) del tmp472 t3new . babbab += np . transpose ( tmp473 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp473 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 del tmp473 tmp412 = einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), f . bb . oo , ( 6 , 2 ), ( 1 , 6 , 0 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp412 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp412 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp412 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp412 , ( 2 , 0 , 1 , 5 , 3 , 4 )) del tmp412 tmp451 = einsum ( tmp432 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 6 ), ( 4 , 2 , 0 , 5 , 3 , 6 )) del tmp432 t3new . babbab += np . transpose ( tmp451 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp451 , ( 1 , 0 , 2 , 4 , 3 , 5 )) del tmp451 tmp509 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp400 , ( 4 , 0 , 5 , 6 ), ( 4 , 5 , 1 , 2 , 6 , 3 )) del tmp400 t3new . babbab += np . transpose ( tmp509 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp509 , ( 2 , 0 , 1 , 5 , 3 , 4 )) del tmp509 tmp421 = einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp259 , ( 4 , 6 ), ( 1 , 0 , 2 , 6 , 3 , 5 )) t3new . babbab += np . transpose ( tmp421 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp421 , ( 2 , 0 , 1 , 5 , 3 , 4 )) del tmp421 tmp442 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 6 ), ( 0 , 4 , 2 , 5 , 6 , 3 )) t3new . babbab += np . transpose ( tmp442 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp442 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp442 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp442 , ( 1 , 0 , 2 , 5 , 3 , 4 )) del tmp442 tmp435 = einsum ( tmp330 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 6 ), ( 0 , 4 , 2 , 3 , 5 , 6 )) t3new . babbab += np . transpose ( tmp435 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp435 , ( 1 , 0 , 2 , 5 , 3 , 4 )) del tmp435 tmp445 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp51 , ( 4 , 2 , 5 , 6 ), ( 0 , 1 , 4 , 5 , 3 , 6 )) t3new . babbab += np . transpose ( tmp445 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp445 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 del tmp445 tmp465 = einsum ( tmp464 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . bb , ( 2 , 6 ), ( 0 , 1 , 3 , 4 , 6 , 5 )) del tmp464 t3new . babbab += np . transpose ( tmp465 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp465 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp465 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp465 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 del tmp465 tmp418 = einsum ( v . aabb . oooo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 6 ), ( 0 , 4 , 2 , 3 , 5 , 6 )) * - 1 tmp418 += einsum ( tmp417 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 0 , 6 ), ( 1 , 3 , 2 , 4 , 6 , 5 )) * 2 del tmp417 t3new . babbab += einsum ( t1 . bb , ( 0 , 1 ), tmp418 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 4 , 2 , 3 , 6 , 5 , 1 )) del tmp418 tmp452 = einsum ( tmp329 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 6 ), ( 0 , 4 , 1 , 3 , 5 , 6 )) t3new . babbab += np . transpose ( tmp452 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp452 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 del tmp452 tmp486 = einsum ( t1 . bb , ( 0 , 1 ), tmp485 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 6 , 1 )) * - 1 del tmp485 t3new . babbab += np . transpose ( tmp486 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp486 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp486 , ( 1 , 0 , 2 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp486 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 del tmp486 tmp475 = einsum ( tmp474 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 1 , 6 ), ( 0 , 2 , 3 , 6 , 4 , 5 )) del tmp474 t3new . babbab += np . transpose ( tmp475 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp475 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 del tmp475 tmp487 = np . copy ( np . transpose ( tmp152 , ( 0 , 2 , 1 , 3 ))) tmp487 += np . transpose ( tmp478 , ( 0 , 2 , 1 , 3 )) * - 1 del tmp478 t3new . babbab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp487 , ( 4 , 2 , 5 , 6 ), ( 4 , 0 , 1 , 6 , 5 , 3 )) del tmp487 tmp422 = einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp324 , ( 2 , 6 ), ( 1 , 6 , 0 , 4 , 3 , 5 )) t3new . babbab += np . transpose ( tmp422 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp422 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp422 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp422 , ( 2 , 0 , 1 , 5 , 3 , 4 )) del tmp422 tmp491 = np . copy ( np . transpose ( tmp152 , ( 0 , 2 , 1 , 3 ))) tmp491 += np . transpose ( tmp488 , ( 0 , 2 , 1 , 3 )) * - 1 del tmp488 t3new . babbab += einsum ( tmp491 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 6 ), ( 0 , 4 , 5 , 6 , 2 , 3 )) * - 1 del tmp491 tmp469 = einsum ( t1 . bb , ( 0 , 1 ), tmp468 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) del tmp468 t3new . babbab += np . transpose ( tmp469 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . babbab += np . transpose ( tmp469 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 t3new . babbab += np . transpose ( tmp469 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * - 1 t3new . babbab += np . transpose ( tmp469 , ( 1 , 0 , 2 , 4 , 3 , 5 )) del tmp469 tmp364 = np . copy ( np . transpose ( tmp139 , ( 0 , 2 , 1 , 3 ))) * - 1 tmp364 += np . transpose ( tmp363 , ( 0 , 2 , 1 , 3 )) del tmp363 t3new . abaaba += einsum ( tmp364 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 6 ), ( 4 , 1 , 0 , 3 , 6 , 5 )) * - 1 del tmp364 tmp349 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp247 , ( 4 , 0 , 5 , 6 ), ( 5 , 4 , 1 , 6 , 2 , 3 )) t3new . abaaba += np . transpose ( tmp349 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp349 , ( 0 , 2 , 1 , 3 , 5 , 4 )) del tmp349 tmp325 = einsum ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp324 , ( 1 , 6 ), ( 0 , 2 , 6 , 3 , 5 , 4 )) del tmp324 t3new . abaaba += np . transpose ( tmp325 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp325 , ( 0 , 2 , 1 , 4 , 5 , 3 )) del tmp325 tmp368 = einsum ( t1 . aa , ( 0 , 1 ), tmp367 , ( 2 , 0 , 3 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp367 t3new . abaaba += np . transpose ( tmp368 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp368 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp368 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp368 , ( 0 , 2 , 1 , 3 , 5 , 4 )) del tmp368 tmp406 = einsum ( tmp141 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 6 , 2 ), ( 4 , 5 , 0 , 1 , 6 , 3 )) t3new . abaaba += einsum ( tmp406 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 2 , 6 ), ( 0 , 3 , 1 , 6 , 5 , 4 )) * 2 del tmp406 tmp319 = einsum ( tmp318 , ( 0 , 1 ), t3 . abaaba , ( 2 , 3 , 4 , 5 , 0 , 6 ), ( 2 , 4 , 3 , 5 , 6 , 1 )) del tmp318 t3new . abaaba += np . transpose ( tmp319 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp319 , ( 1 , 2 , 0 , 4 , 5 , 3 )) del tmp319 tmp410 = einsum ( tmp143 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 1 , 6 , 2 )) t3new . abaaba += einsum ( tmp410 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . bb , ( 3 , 6 ), ( 0 , 2 , 1 , 4 , 6 , 5 )) * - 2 del tmp410 tmp342 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 6 ), ( 4 , 0 , 2 , 5 , 1 , 6 )) t3new . abaaba += np . transpose ( tmp342 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp342 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp342 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp342 , ( 0 , 2 , 1 , 4 , 5 , 3 )) del tmp342 tmp320 = einsum ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp262 , ( 2 , 6 ), ( 6 , 0 , 1 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp320 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp320 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp320 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp320 , ( 1 , 2 , 0 , 4 , 5 , 3 )) del tmp320 tmp359 = einsum ( tmp358 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 1 , 6 ), ( 0 , 2 , 3 , 6 , 4 , 5 )) del tmp358 t3new . abaaba += np . transpose ( tmp359 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp359 , ( 0 , 2 , 1 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp359 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp359 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 del tmp359 tmp333 = einsum ( tmp332 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 6 ), ( 4 , 1 , 2 , 5 , 6 , 3 )) del tmp332 t3new . abaaba += np . transpose ( tmp333 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp333 , ( 0 , 2 , 1 , 4 , 5 , 3 )) del tmp333 tmp316 = einsum ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), f . aa . ov , ( 6 , 5 ), ( 6 , 0 , 2 , 1 , 3 , 4 )) * 2 tmp316 += np . transpose ( tmp311 , ( 1 , 2 , 0 , 3 , 4 , 5 )) t3new . abaaba += einsum ( tmp316 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 0 , 6 ), ( 1 , 3 , 2 , 4 , 5 , 6 )) * - 1 del tmp316 tmp344 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 6 ), ( 4 , 0 , 2 , 5 , 6 , 3 )) t3new . abaaba += np . transpose ( tmp344 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp344 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp344 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp344 , ( 0 , 2 , 1 , 4 , 5 , 3 )) del tmp344 tmp370 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 5 , 6 ), ( 0 , 1 , 4 , 5 , 3 , 6 )) t3new . abaaba += np . transpose ( tmp370 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp370 , ( 0 , 2 , 1 , 3 , 5 , 4 )) del tmp370 tmp393 = einsum ( tmp392 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 6 ), ( 4 , 0 , 1 , 3 , 5 , 6 )) del tmp392 t3new . abaaba += np . transpose ( tmp393 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp393 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp393 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 del tmp393 tmp357 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp356 , ( 1 , 4 , 5 , 6 ), ( 4 , 0 , 5 , 2 , 3 , 6 )) * - 1 del tmp356 t3new . abaaba += np . transpose ( tmp357 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp357 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp357 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp357 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 del tmp357 tmp387 = np . copy ( np . transpose ( tmp377 , ( 0 , 1 , 3 , 2 ))) tmp387 += np . transpose ( tmp378 , ( 0 , 1 , 3 , 2 )) * - 1 t3new . abaaba += einsum ( tmp387 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 6 , 2 ), ( 0 , 5 , 4 , 1 , 3 , 6 )) del tmp387 tmp354 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp290 , ( 4 , 0 , 5 , 6 ), ( 4 , 5 , 1 , 6 , 2 , 3 )) t3new . abaaba += np . transpose ( tmp354 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp354 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 del tmp354 tmp379 = np . copy ( np . transpose ( tmp377 , ( 0 , 1 , 3 , 2 ))) tmp379 += tmp378 * - 1 del tmp378 t3new . abaaba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp379 , ( 4 , 5 , 6 , 3 ), ( 0 , 1 , 4 , 5 , 6 , 2 )) * - 1 del tmp379 tmp384 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp383 , ( 4 , 2 , 5 , 6 ), ( 4 , 0 , 1 , 5 , 6 , 3 )) del tmp383 t3new . abaaba += np . transpose ( tmp384 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp384 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp384 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp384 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 del tmp384 tmp375 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aabb . vvoo , ( 4 , 3 , 5 , 6 ), ( 0 , 1 , 5 , 6 , 2 , 4 )) t3new . abaaba += einsum ( t1 . bb , ( 0 , 1 ), tmp375 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 4 , 3 , 5 , 1 , 6 )) * - 2 del tmp375 tmp323 = np . copy ( tmp322 ) tmp323 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp292 , ( 4 , 0 , 5 , 6 ), ( 4 , 5 , 6 , 1 , 2 , 3 )) t3new . abaaba += einsum ( tmp323 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 2 , 6 ), ( 1 , 3 , 0 , 4 , 5 , 6 )) del tmp323 tmp351 = einsum ( tmp329 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 6 ), ( 4 , 0 , 1 , 3 , 5 , 6 )) t3new . abaaba += np . transpose ( tmp351 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp351 , ( 0 , 2 , 1 , 4 , 5 , 3 )) del tmp351 tmp345 = einsum ( tmp128 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 6 , 2 ), ( 4 , 0 , 5 , 6 , 1 , 3 )) t3new . abaaba += np . transpose ( tmp345 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp345 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 del tmp345 tmp407 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp151 , ( 4 , 5 , 1 , 6 ), ( 4 , 0 , 5 , 2 , 6 , 3 )) t3new . abaaba += np . transpose ( tmp407 , ( 0 , 2 , 1 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp407 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * - 1 del tmp407 tmp366 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 6 ), ( 0 , 4 , 2 , 5 , 6 , 3 )) t3new . abaaba += np . transpose ( tmp366 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp366 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp366 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp366 , ( 1 , 2 , 0 , 4 , 5 , 3 )) del tmp366 tmp372 = einsum ( t1 . aa , ( 0 , 1 ), tmp371 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp371 t3new . abaaba += np . transpose ( tmp372 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp372 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 del tmp372 tmp399 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp113 , ( 4 , 5 , 0 , 6 ), ( 4 , 5 , 1 , 2 , 6 , 3 )) t3new . abaaba += np . transpose ( tmp399 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp399 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp399 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp399 , ( 0 , 2 , 1 , 4 , 5 , 3 )) del tmp399 tmp327 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp137 , ( 4 , 5 , 6 , 1 ), ( 0 , 4 , 5 , 6 , 2 , 3 )) * - 1 tmp327 += einsum ( t1 . bb , ( 0 , 1 ), tmp326 , ( 2 , 3 , 4 , 5 , 0 , 6 ), ( 2 , 3 , 4 , 5 , 6 , 1 )) * - 2 del tmp326 t3new . abaaba += einsum ( tmp327 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 2 , 6 ), ( 1 , 3 , 0 , 4 , 5 , 6 )) del tmp327 tmp362 = einsum ( tmp361 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 1 , 6 ), ( 0 , 2 , 3 , 6 , 4 , 5 )) del tmp361 t3new . abaaba += np . transpose ( tmp362 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp362 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp362 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp362 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 del tmp362 tmp397 = np . copy ( tmp151 ) * - 1 tmp397 += tmp396 t3new . abaaba += einsum ( tmp397 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 6 ), ( 4 , 1 , 0 , 3 , 6 , 5 )) * - 1 del tmp397 tmp337 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp336 , ( 1 , 4 , 5 , 6 ), ( 4 , 0 , 5 , 2 , 3 , 6 )) * - 1 del tmp336 t3new . abaaba += np . transpose ( tmp337 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp337 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 del tmp337 tmp343 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 0 , 5 , 6 ), ( 4 , 5 , 1 , 2 , 6 , 3 )) t3new . abaaba += np . transpose ( tmp343 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp343 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp343 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp343 , ( 0 , 2 , 1 , 4 , 5 , 3 )) del tmp343 tmp409 = einsum ( t1 . bb , ( 0 , 1 ), tmp408 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 6 , 1 )) del tmp408 t3new . abaaba += np . transpose ( tmp409 , ( 0 , 2 , 1 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp409 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * - 1 del tmp409 tmp309 = einsum ( f . aa . oo , ( 0 , 1 ), t3 . abaaba , ( 2 , 3 , 1 , 4 , 5 , 6 ), ( 0 , 2 , 3 , 4 , 6 , 5 )) t3new . abaaba += np . transpose ( tmp309 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp309 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp309 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp309 , ( 1 , 2 , 0 , 4 , 5 , 3 )) del tmp309 tmp353 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 5 , 0 , 6 ), ( 4 , 5 , 1 , 2 , 6 , 3 )) t3new . abaaba += np . transpose ( tmp353 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp353 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp353 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp353 , ( 0 , 2 , 1 , 4 , 5 , 3 )) del tmp353 tmp328 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp140 , ( 4 , 5 , 6 , 1 ), ( 4 , 0 , 5 , 6 , 2 , 3 )) tmp328 += tmp322 del tmp322 t3new . abaaba += einsum ( t1 . aa , ( 0 , 1 ), tmp328 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 4 , 3 , 5 , 6 , 1 )) * - 1 del tmp328 tmp411 = einsum ( tmp396 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 6 ), ( 0 , 4 , 1 , 3 , 5 , 6 )) t3new . abaaba += np . transpose ( tmp411 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp411 , ( 1 , 2 , 0 , 4 , 5 , 3 )) del tmp411 tmp376 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp139 , ( 4 , 5 , 1 , 6 ), ( 4 , 0 , 5 , 2 , 6 , 3 )) del tmp139 t3new . abaaba += np . transpose ( tmp376 , ( 0 , 2 , 1 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp376 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * - 1 del tmp376 tmp405 = einsum ( t1 . aa , ( 0 , 1 ), tmp404 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp404 t3new . abaaba += np . transpose ( tmp405 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp405 , ( 1 , 2 , 0 , 3 , 5 , 4 )) del tmp405 tmp315 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . oooo , ( 4 , 5 , 6 , 1 ), ( 0 , 4 , 5 , 6 , 2 , 3 )) * - 1 tmp315 += einsum ( t1 . bb , ( 0 , 1 ), tmp314 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 6 , 1 )) * - 2 del tmp314 t3new . abaaba += einsum ( tmp315 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 2 , 6 ), ( 1 , 3 , 0 , 4 , 5 , 6 )) del tmp315 tmp348 = np . copy ( np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 ))) tmp348 += np . transpose ( tmp50 , ( 0 , 2 , 1 , 3 )) * - 1 del tmp50 t3new . abaaba += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp348 , ( 4 , 3 , 5 , 6 ), ( 0 , 4 , 1 , 2 , 6 , 5 )) * 2 del tmp348 tmp312 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . oooo , ( 4 , 5 , 6 , 0 ), ( 4 , 5 , 6 , 1 , 2 , 3 )) tmp312 += np . transpose ( tmp311 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * - 1 del tmp311 t3new . abaaba += einsum ( t1 . aa , ( 0 , 1 ), tmp312 , ( 2 , 0 , 3 , 4 , 5 , 6 ), ( 2 , 4 , 3 , 5 , 6 , 1 )) * - 1 del tmp312 tmp395 = einsum ( tmp394 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 6 ), ( 0 , 4 , 2 , 5 , 6 , 3 )) del tmp394 t3new . abaaba += np . transpose ( tmp395 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp395 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp395 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp395 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 del tmp395 tmp390 = np . copy ( np . transpose ( tmp152 , ( 0 , 2 , 1 , 3 ))) tmp390 += einsum ( tmp141 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 1 del tmp141 t3new . abaaba += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp390 , ( 4 , 3 , 5 , 6 ), ( 0 , 4 , 1 , 2 , 6 , 5 )) * 2 del tmp390 tmp352 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 6 ), ( 4 , 0 , 1 , 5 , 3 , 6 )) t3new . abaaba += np . transpose ( tmp352 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp352 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp352 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp352 , ( 0 , 2 , 1 , 4 , 5 , 3 )) del tmp352 tmp334 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp330 , ( 4 , 1 , 5 , 6 ), ( 4 , 0 , 5 , 6 , 2 , 3 )) t3new . abaaba += np . transpose ( tmp334 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp334 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp334 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 del tmp334 tmp403 = np . copy ( tmp151 ) del tmp151 tmp403 += tmp396 * - 1 del tmp396 t3new . abaaba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp403 , ( 4 , 5 , 1 , 6 ), ( 4 , 5 , 0 , 6 , 3 , 2 )) * - 1 del tmp403 tmp346 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 3 , 6 ), ( 4 , 0 , 5 , 1 , 2 , 6 )) t3new . abaaba += np . transpose ( tmp346 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp346 , ( 0 , 2 , 1 , 4 , 5 , 3 )) del tmp346 tmp402 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp401 , ( 4 , 1 , 5 , 6 ), ( 4 , 0 , 5 , 2 , 3 , 6 )) * - 1 del tmp401 t3new . abaaba += np . transpose ( tmp402 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp402 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp402 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp402 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 del tmp402 tmp398 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp109 , ( 4 , 5 , 0 , 6 ), ( 5 , 4 , 1 , 6 , 2 , 3 )) t3new . abaaba += np . transpose ( tmp398 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp398 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp398 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp398 , ( 0 , 2 , 1 , 3 , 5 , 4 )) del tmp398 tmp386 = einsum ( t1 . aa , ( 0 , 1 ), tmp385 , ( 2 , 0 , 3 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 1 , 6 )) * - 1 del tmp385 t3new . abaaba += np . transpose ( tmp386 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp386 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp386 , ( 0 , 2 , 1 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp386 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * - 1 del tmp386 tmp369 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 6 , 1 ), ( 4 , 5 , 0 , 2 , 6 , 3 )) t3new . abaaba += einsum ( t1 . aa , ( 0 , 1 ), tmp369 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 4 , 3 , 1 , 6 , 5 )) * 2 del tmp369 tmp313 = einsum ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), f . bb . oo , ( 6 , 1 ), ( 0 , 2 , 6 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp313 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . abaaba += np . transpose ( tmp313 , ( 0 , 2 , 1 , 4 , 5 , 3 )) del tmp313 tmp347 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 6 , 3 ), ( 4 , 0 , 5 , 6 , 1 , 2 )) t3new . abaaba += np . transpose ( tmp347 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp347 , ( 0 , 2 , 1 , 3 , 5 , 4 )) del tmp347 tmp331 = np . copy ( np . transpose ( tmp329 , ( 0 , 2 , 1 , 3 ))) del tmp329 tmp331 += tmp330 * - 1 del tmp330 t3new . abaaba += einsum ( tmp331 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 6 ), ( 4 , 2 , 0 , 3 , 6 , 5 )) * - 1 del tmp331 tmp391 = np . copy ( np . transpose ( tmp377 , ( 0 , 1 , 3 , 2 ))) tmp391 += np . transpose ( tmp388 , ( 0 , 1 , 3 , 2 )) * - 1 t3new . abaaba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp391 , ( 4 , 5 , 3 , 6 ), ( 4 , 1 , 0 , 2 , 6 , 5 )) * - 1 del tmp391 tmp350 = einsum ( tmp335 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 6 ), ( 4 , 0 , 2 , 5 , 6 , 3 )) del tmp335 t3new . abaaba += np . transpose ( tmp350 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . abaaba += np . transpose ( tmp350 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 del tmp350 tmp339 = einsum ( t1 . bb , ( 0 , 1 ), tmp338 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 6 , 1 )) del tmp338 t3new . abaaba += np . transpose ( tmp339 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . abaaba += np . transpose ( tmp339 , ( 1 , 2 , 0 , 3 , 5 , 4 )) del tmp339 tmp389 = np . copy ( np . transpose ( tmp377 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp377 tmp389 += np . transpose ( tmp388 , ( 0 , 1 , 3 , 2 )) del tmp388 t3new . abaaba += einsum ( tmp389 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 6 , 2 ), ( 4 , 5 , 0 , 6 , 3 , 1 )) * - 1 del tmp389 tmp381 = np . copy ( np . transpose ( tmp152 , ( 0 , 2 , 1 , 3 ))) tmp381 += einsum ( t1 . bb , ( 0 , 1 ), tmp380 , ( 2 , 0 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 1 del tmp380 t3new . abaaba += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp381 , ( 4 , 3 , 5 , 6 ), ( 0 , 4 , 1 , 5 , 6 , 2 )) * - 2 del tmp381 tmp341 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp340 , ( 4 , 5 , 3 , 6 ), ( 0 , 1 , 5 , 4 , 2 , 6 )) del tmp340 t3new . abaaba += einsum ( t1 . bb , ( 0 , 1 ), tmp341 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 4 , 3 , 6 , 1 , 5 )) * 2 del tmp341 tmp374 = einsum ( t1 . bb , ( 0 , 1 ), tmp373 , ( 2 , 3 , 4 , 0 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 6 , 1 )) del tmp373 t3new . abaaba += np . transpose ( tmp374 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . abaaba += np . transpose ( tmp374 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 del tmp374 tmp299 = einsum ( tmp111 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 6 , 2 ), ( 0 , 4 , 5 , 6 , 3 , 1 )) t3new . aaaaaa = np . copy ( np . transpose ( tmp299 , ( 0 , 2 , 1 , 3 , 5 , 4 ))) * - 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 1 , 0 , 2 , 3 , 4 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 1 , 2 , 0 , 3 , 4 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 1 , 0 , 2 , 4 , 5 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 1 , 2 , 0 , 5 , 4 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp299 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 2 del tmp299 tmp261 = einsum ( f . aa . vv , ( 0 , 1 ), t3 . aaaaaa , ( 2 , 3 , 4 , 5 , 6 , 1 ), ( 2 , 3 , 4 , 0 , 5 , 6 )) t3new . aaaaaa += np . transpose ( tmp261 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 3 t3new . aaaaaa += np . transpose ( tmp261 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 3 del tmp261 tmp303 = einsum ( tmp302 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp302 t3new . aaaaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp303 , ( 4 , 5 , 1 , 6 ), ( 0 , 5 , 4 , 2 , 3 , 6 )) del tmp303 tmp287 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 5 , 1 , 6 ), ( 4 , 0 , 5 , 2 , 3 , 6 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 2 , 1 , 0 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 2 , 1 , 0 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 0 , 2 , 1 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 0 , 2 , 1 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 1 , 0 , 2 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 1 , 0 , 2 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 2 , 0 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 2 , 0 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 2 , 1 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 2 , 1 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 2 , 0 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 2 , 0 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 2 , 1 , 0 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 2 , 1 , 0 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 1 , 2 , 0 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 0 , 2 , 1 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 0 , 2 , 1 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 1 , 2 , 0 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 1 , 2 , 0 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 0 , 1 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 0 , 1 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 1 , 0 , 2 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 1 , 0 , 2 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp287 , ( 1 , 0 , 2 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp287 , ( 1 , 0 , 2 , 5 , 4 , 3 )) del tmp287 tmp284 = einsum ( tmp283 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 6 , 3 ), ( 0 , 4 , 5 , 1 , 2 , 6 )) * - 1 del tmp283 t3new . aaaaaa += np . transpose ( tmp284 , ( 2 , 0 , 1 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp284 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp284 , ( 2 , 0 , 1 , 4 , 3 , 5 )) * - 2 del tmp284 tmp291 = einsum ( tmp290 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 6 ), ( 0 , 2 , 4 , 3 , 5 , 6 )) * - 1 del tmp290 t3new . aaaaaa += np . transpose ( tmp291 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp291 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp291 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp291 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp291 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp291 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp291 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp291 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp291 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp291 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp291 , ( 2 , 0 , 1 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp291 , ( 2 , 0 , 1 , 3 , 5 , 4 )) del tmp291 tmp293 = np . copy ( np . transpose ( tmp62 , ( 0 , 2 , 1 , 3 ))) tmp293 += einsum ( tmp292 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp292 t3new . aaaaaa += einsum ( tmp293 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 6 ), ( 4 , 1 , 0 , 3 , 5 , 6 )) * - 1 del tmp293 tmp282 = einsum ( tmp281 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 6 , 2 ), ( 0 , 4 , 5 , 1 , 3 , 6 )) * - 2 del tmp281 t3new . aaaaaa += np . transpose ( tmp282 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp282 , ( 2 , 1 , 0 , 3 , 4 , 5 )) * - 1 del tmp282 tmp308 = einsum ( tmp307 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 1 , 6 ), ( 0 , 3 , 2 , 5 , 4 , 6 )) * - 2 del tmp307 t3new . aaaaaa += np . transpose ( tmp308 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp308 , ( 1 , 2 , 0 , 5 , 4 , 3 )) del tmp308 tmp304 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp109 , ( 4 , 5 , 1 , 6 ), ( 5 , 4 , 0 , 6 , 2 , 3 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 0 , 2 , 1 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 2 , 0 , 1 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 2 , 0 , 1 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp304 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp304 , ( 2 , 0 , 1 , 3 , 5 , 4 )) del tmp304 tmp297 = einsum ( tmp296 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 3 , 6 ), ( 0 , 1 , 2 , 6 , 4 , 5 )) del tmp296 t3new . aaaaaa += np . transpose ( tmp297 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp297 , ( 2 , 1 , 0 , 3 , 4 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp297 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp297 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp297 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * - 2 t3new . aaaaaa += tmp297 * 2 t3new . aaaaaa += np . transpose ( tmp297 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp297 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp297 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * - 2 del tmp297 tmp266 = einsum ( tmp265 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 3 , 6 ), ( 0 , 1 , 2 , 6 , 4 , 5 )) del tmp265 t3new . aaaaaa += np . transpose ( tmp266 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 1 , 0 , 2 , 4 , 5 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 1 , 0 , 2 , 3 , 4 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 1 , 2 , 0 , 3 , 4 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 1 , 2 , 0 , 5 , 4 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp266 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 2 del tmp266 tmp279 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 6 ), ( 4 , 0 , 2 , 5 , 6 , 3 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp279 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp279 , ( 0 , 1 , 2 , 5 , 4 , 3 )) del tmp279 tmp260 = einsum ( tmp259 , ( 0 , 1 ), t3 . aaaaaa , ( 2 , 3 , 4 , 5 , 6 , 0 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp259 t3new . aaaaaa += np . transpose ( tmp260 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * - 3 t3new . aaaaaa += np . transpose ( tmp260 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * - 3 del tmp260 tmp278 = einsum ( t1 . aa , ( 0 , 1 ), tmp277 , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) del tmp277 t3new . aaaaaa += np . transpose ( tmp278 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 2 , 1 , 0 , 3 , 4 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * 2 t3new . aaaaaa += tmp278 * - 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 2 , 1 , 0 , 4 , 5 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp278 , ( 2 , 1 , 0 , 5 , 3 , 4 )) * 2 del tmp278 tmp270 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp268 , ( 4 , 5 , 1 , 6 ), ( 4 , 5 , 0 , 6 , 2 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp270 , ( 0 , 2 , 1 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp270 , ( 0 , 2 , 1 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp270 , ( 2 , 0 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp270 , ( 2 , 0 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp270 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp270 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 1 del tmp270 tmp263 = einsum ( tmp262 , ( 0 , 1 ), t3 . aaaaaa , ( 2 , 3 , 0 , 4 , 5 , 6 ), ( 1 , 2 , 3 , 4 , 5 , 6 )) del tmp262 t3new . aaaaaa += np . transpose ( tmp263 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp263 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp263 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp263 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp263 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp263 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp263 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp263 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp263 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp263 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp263 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp263 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp263 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp263 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp263 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp263 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp263 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp263 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 del tmp263 tmp298 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp62 , ( 4 , 5 , 1 , 6 ), ( 4 , 0 , 5 , 2 , 3 , 6 )) t3new . aaaaaa += np . transpose ( tmp298 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp298 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp298 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp298 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp298 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp298 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp298 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp298 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp298 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp298 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp298 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp298 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 del tmp298 tmp269 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp268 , ( 4 , 5 , 1 , 6 ), ( 4 , 5 , 0 , 6 , 2 , 3 )) * - 1 del tmp268 t3new . aaaaaa += np . transpose ( tmp269 , ( 2 , 1 , 0 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp269 , ( 1 , 0 , 2 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp269 , ( 1 , 0 , 2 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp269 , ( 1 , 2 , 0 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp269 , ( 1 , 2 , 0 , 5 , 4 , 3 )) * - 1 del tmp269 tmp276 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp271 , ( 1 , 4 , 5 , 6 ), ( 5 , 4 , 0 , 6 , 2 , 3 )) * - 1 del tmp271 t3new . aaaaaa += np . transpose ( tmp276 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp276 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp276 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp276 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp276 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp276 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * 2 del tmp276 tmp301 = einsum ( t1 . aa , ( 0 , 1 ), tmp300 , ( 2 , 0 , 3 , 4 , 5 , 6 ), ( 2 , 4 , 3 , 6 , 5 , 1 )) * - 1 del tmp300 t3new . aaaaaa += np . transpose ( tmp301 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 1 , 2 , 0 , 3 , 5 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 1 , 0 , 2 , 5 , 3 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 1 , 0 , 2 , 3 , 4 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 1 , 2 , 0 , 3 , 4 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 1 , 2 , 0 , 4 , 3 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 1 , 0 , 2 , 4 , 5 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp301 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 2 del tmp301 tmp255 = einsum ( t1 . aa , ( 0 , 1 ), tmp254 , ( 2 , 0 , 3 , 4 , 5 , 6 ), ( 2 , 3 , 4 , 5 , 6 , 1 )) del tmp254 t3new . aaaaaa += np . transpose ( tmp255 , ( 2 , 1 , 0 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp255 , ( 2 , 1 , 0 , 4 , 3 , 5 )) del tmp255 tmp295 = einsum ( tmp294 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 6 ), ( 0 , 1 , 4 , 3 , 5 , 6 )) * - 1 del tmp294 t3new . aaaaaa += np . transpose ( tmp295 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp295 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp295 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp295 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp295 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp295 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp295 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp295 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp295 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp295 , ( 2 , 1 , 0 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp295 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 1 del tmp295 tmp248 = einsum ( tmp247 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 6 ), ( 4 , 2 , 0 , 3 , 5 , 6 )) del tmp247 t3new . aaaaaa += np . transpose ( tmp248 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp248 , ( 1 , 2 , 0 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp248 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp248 , ( 1 , 2 , 0 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp248 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp248 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp248 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp248 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp248 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp248 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp248 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp248 , ( 1 , 0 , 2 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp248 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp248 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp248 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp248 , ( 1 , 0 , 2 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp248 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp248 , ( 0 , 1 , 2 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp248 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp248 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp248 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp248 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 del tmp248 tmp258 = einsum ( tmp257 , ( 0 , 1 ), t3 . aaaaaa , ( 2 , 3 , 4 , 5 , 6 , 0 ), ( 2 , 3 , 4 , 1 , 5 , 6 )) * 3 del tmp257 t3new . aaaaaa += np . transpose ( tmp258 , ( 1 , 2 , 0 , 3 , 4 , 5 )) t3new . aaaaaa += np . transpose ( tmp258 , ( 1 , 2 , 0 , 3 , 4 , 5 )) del tmp258 tmp280 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 6 , 3 ), ( 4 , 5 , 0 , 6 , 1 , 2 )) t3new . aaaaaa += np . transpose ( tmp280 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp280 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp280 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp280 , ( 2 , 1 , 0 , 5 , 3 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp280 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp280 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp280 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp280 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp280 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * 2 del tmp280 tmp251 = einsum ( tmp250 , ( 0 , 1 , 2 , 3 , 4 , 5 ), t1 . aa , ( 2 , 6 ), ( 0 , 1 , 3 , 6 , 4 , 5 )) del tmp250 t3new . aaaaaa += np . transpose ( tmp251 , ( 2 , 1 , 0 , 4 , 5 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 0 , 2 , 1 , 4 , 5 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 0 , 1 , 2 , 4 , 3 , 5 )) * 2 t3new . aaaaaa += tmp251 * - 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 0 , 2 , 1 , 3 , 4 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 2 , 1 , 0 , 3 , 4 , 5 )) * 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 2 , 1 , 0 , 5 , 3 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 0 , 1 , 2 , 5 , 4 , 3 )) * 2 t3new . aaaaaa += np . transpose ( tmp251 , ( 0 , 1 , 2 , 5 , 3 , 4 )) * - 2 del tmp251 tmp275 = einsum ( tmp274 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 6 ), ( 1 , 2 , 4 , 3 , 5 , 6 )) * - 1 del tmp274 t3new . aaaaaa += np . transpose ( tmp275 , ( 0 , 1 , 2 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp275 , ( 0 , 1 , 2 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp275 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp275 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp275 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp275 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp275 , ( 2 , 0 , 1 , 5 , 3 , 4 )) t3new . aaaaaa += np . transpose ( tmp275 , ( 0 , 2 , 1 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp275 , ( 0 , 2 , 1 , 3 , 5 , 4 )) t3new . aaaaaa += np . transpose ( tmp275 , ( 2 , 0 , 1 , 3 , 5 , 4 )) * - 1 del tmp275 tmp273 = einsum ( tmp272 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 6 ), ( 1 , 2 , 4 , 3 , 5 , 6 )) * - 1 del tmp272 t3new . aaaaaa += np . transpose ( tmp273 , ( 0 , 1 , 2 , 3 , 5 , 4 )) * - 1 t3new . aaaaaa += np . transpose ( tmp273 , ( 2 , 0 , 1 , 3 , 5 , 4 )) * - 1 del tmp273 tmp246 = einsum ( f . aa . oo , ( 0 , 1 ), t3 . aaaaaa , ( 2 , 3 , 1 , 4 , 5 , 6 ), ( 0 , 2 , 3 , 4 , 5 , 6 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp246 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp246 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp246 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp246 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp246 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp246 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 del tmp246 tmp305 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp113 , ( 4 , 5 , 1 , 6 ), ( 4 , 5 , 0 , 2 , 3 , 6 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 1 , 0 , 2 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 0 , 1 , 2 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 1 , 2 , 0 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 0 , 2 , 1 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 2 , 1 , 0 , 4 , 3 , 5 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 2 , 0 , 1 , 4 , 3 , 5 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 1 , 0 , 2 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 0 , 1 , 2 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 1 , 0 , 2 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 0 , 1 , 2 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 1 , 2 , 0 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 0 , 2 , 1 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 2 , 1 , 0 , 4 , 5 , 3 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 2 , 0 , 1 , 4 , 5 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 1 , 2 , 0 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 0 , 2 , 1 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 2 , 0 , 1 , 5 , 4 , 3 )) t3new . aaaaaa += np . transpose ( tmp305 , ( 2 , 1 , 0 , 5 , 4 , 3 )) * - 1 t3new . aaaaaa += np . transpose ( tmp305 , ( 2 , 0 , 1 , 5 , 4 , 3 )) del tmp305 tmp286 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp285 , ( 4 , 5 , 3 , 6 ), ( 4 , 0 , 1 , 5 , 6 , 2 )) * - 1 del tmp285 t3new . aaaaaa += np . transpose ( tmp286 , ( 0 , 2 , 1 , 5 , 3 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp286 , ( 2 , 1 , 0 , 5 , 3 , 4 )) * - 2 t3new . aaaaaa += np . transpose ( tmp286 , ( 0 , 2 , 1 , 3 , 5 , 4 )) * 2 t3new . aaaaaa += np . transpose ( tmp286 , ( 2 , 1 , 0 , 3 , 5 , 4 )) * 2 del tmp286 tmp221 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) t2new . bbbb += np . transpose ( tmp221 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += tmp221 * - 1 t2new . bbbb += np . transpose ( tmp221 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp221 , ( 0 , 1 , 3 , 2 )) del tmp221 tmp243 = einsum ( tmp242 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 3 , 2 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) del tmp242 t2new . bbbb += np . transpose ( tmp243 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp243 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp243 tmp235 = einsum ( tmp234 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) * - 1 del tmp234 t2new . bbbb += np . transpose ( tmp235 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp235 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp235 tmp239 = einsum ( tmp238 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp238 t2new . bbbb += np . transpose ( tmp239 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += tmp239 * - 1 t2new . bbbb += np . transpose ( tmp239 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp239 , ( 0 , 1 , 3 , 2 )) del tmp239 tmp191 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) t2new . bbbb += tmp191 * 2 t2new . bbbb += np . transpose ( tmp191 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp191 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . bbbb += np . transpose ( tmp191 , ( 1 , 0 , 3 , 2 )) * 2 del tmp191 tmp186 = einsum ( tmp16 , ( 0 , 1 ), t3 . bbbbbb , ( 2 , 3 , 0 , 4 , 5 , 1 ), ( 2 , 3 , 4 , 5 )) * 3 t2new . bbbb += tmp186 t2new . bbbb += tmp186 del tmp186 tmp237 = einsum ( t1 . bb , ( 0 , 1 ), tmp236 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp236 t2new . bbbb += np . transpose ( tmp237 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp237 del tmp237 tmp220 = einsum ( tmp172 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp172 t2new . bbbb += np . transpose ( tmp220 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp220 , ( 1 , 0 , 3 , 2 )) del tmp220 tmp124 = np . copy ( tmp122 ) tmp124 += tmp123 * 2 t2new . bbbb += einsum ( tmp124 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 2 t2new . abab += einsum ( tmp124 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 1 del tmp124 tmp219 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp218 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp218 t2new . bbbb += np . transpose ( tmp219 , ( 0 , 1 , 3 , 2 )) * 2 t2new . bbbb += np . transpose ( tmp219 , ( 1 , 0 , 3 , 2 )) * - 2 t2new . bbbb += tmp219 * - 2 del tmp219 tmp233 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp232 , ( 1 , 4 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp232 t2new . bbbb += np . transpose ( tmp233 , ( 1 , 0 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp233 , ( 0 , 1 , 3 , 2 )) * 2 del tmp233 tmp201 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp200 , ( 4 , 5 , 1 , 0 ), ( 4 , 5 , 2 , 3 )) * - 1 del tmp200 t2new . bbbb += np . transpose ( tmp201 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp201 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp201 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp201 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp201 tmp179 = einsum ( t3 . bbbbbb , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . bbbb . ooov , ( 6 , 2 , 1 , 5 ), ( 0 , 6 , 3 , 4 )) * - 1 t2new . bbbb += np . transpose ( tmp179 , ( 1 , 0 , 3 , 2 )) * - 3 t2new . bbbb += np . transpose ( tmp179 , ( 1 , 0 , 3 , 2 )) * - 3 t2new . bbbb += np . transpose ( tmp179 , ( 0 , 1 , 3 , 2 )) * 3 t2new . bbbb += np . transpose ( tmp179 , ( 0 , 1 , 3 , 2 )) * 3 del tmp179 tmp189 = np . copy ( f . aa . ov ) tmp189 += tmp0 del tmp0 tmp189 += einsum ( tmp188 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 2 ), ( 1 , 3 )) * - 1 t2new . bbbb += einsum ( tmp189 , ( 0 , 1 ), t3 . babbab , ( 2 , 0 , 3 , 4 , 1 , 5 ), ( 2 , 3 , 4 , 5 )) del tmp189 tmp205 = einsum ( t1 . bb , ( 0 , 1 ), tmp204 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp204 t2new . bbbb += tmp205 t2new . bbbb += np . transpose ( tmp205 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp205 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp205 , ( 1 , 0 , 3 , 2 )) del tmp205 tmp181 = einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 2 tmp181 += t2 . bbbb * - 1 t2new . bbbb += einsum ( tmp181 , ( 0 , 1 , 2 , 3 ), v . bbbb . oooo , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 3 , 2 )) * 0.5 del tmp181 tmp215 = einsum ( tmp214 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp214 t2new . bbbb += np . transpose ( tmp215 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp215 , ( 1 , 0 , 2 , 3 )) del tmp215 tmp207 = einsum ( tmp206 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp206 t2new . bbbb += np . transpose ( tmp207 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += tmp207 * - 1 t2new . bbbb += np . transpose ( tmp207 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp207 , ( 1 , 0 , 2 , 3 )) del tmp207 tmp202 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t3 . babbab , ( 4 , 0 , 2 , 5 , 3 , 6 ), ( 1 , 4 , 5 , 6 )) del tmp21 t2new . bbbb += np . transpose ( tmp202 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp202 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp202 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp202 , ( 1 , 0 , 3 , 2 )) del tmp202 tmp187 = np . copy ( t2 . bbbb ) tmp187 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 t2new . bbbb += einsum ( tmp187 , ( 0 , 1 , 2 , 3 ), v . bbbb . oooo , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 3 , 2 )) * - 0.5 del tmp187 tmp31 = np . copy ( f . bb . oo ) tmp31 += np . transpose ( tmp28 , ( 1 , 0 )) del tmp28 tmp31 += np . transpose ( tmp30 , ( 1 , 0 )) * - 1 del tmp30 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp31 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp31 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp31 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp31 tmp198 = np . copy ( f . bb . vv ) * - 1 tmp198 += np . transpose ( tmp131 , ( 1 , 0 )) * - 1 tmp198 += np . transpose ( tmp122 , ( 1 , 0 )) del tmp122 tmp198 += np . transpose ( tmp123 , ( 1 , 0 )) * 2 del tmp123 tmp198 += tmp196 * - 1 tmp198 += np . transpose ( tmp197 , ( 1 , 0 )) t2new . bbbb += einsum ( tmp198 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp198 tmp185 = einsum ( tmp184 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 del tmp184 t2new . bbbb += np . transpose ( tmp185 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp185 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp185 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp185 tmp229 = np . copy ( tmp146 ) tmp229 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp7 t2new . bbbb += einsum ( tmp229 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 3 , 5 )) del tmp229 tmp226 = np . copy ( tmp146 ) del tmp146 tmp226 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp188 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp188 t2new . bbbb += einsum ( tmp226 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 del tmp226 tmp209 = einsum ( tmp208 , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 del tmp208 t2new . bbbb += np . transpose ( tmp209 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp209 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp209 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp209 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp209 tmp231 = einsum ( t1 . bb , ( 0 , 1 ), tmp230 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp230 t2new . bbbb += np . transpose ( tmp231 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp231 , ( 1 , 0 , 3 , 2 )) del tmp231 tmp199 = np . copy ( f . bb . vv ) * - 1 tmp199 += np . transpose ( tmp131 , ( 1 , 0 )) * - 1 tmp199 += tmp196 * - 1 del tmp196 tmp199 += np . transpose ( tmp197 , ( 1 , 0 )) del tmp197 t2new . bbbb += einsum ( tmp199 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp199 tmp194 = einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp128 , ( 1 , 4 , 5 , 6 ), ( 0 , 2 , 3 , 6 )) * - 2 del tmp128 t2new . bbbb += np . transpose ( tmp194 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += np . transpose ( tmp194 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp194 tmp241 = einsum ( tmp240 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp240 t2new . bbbb += np . transpose ( tmp241 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp241 del tmp241 tmp228 = np . copy ( v . bbbb . oovv ) * 0.5 tmp228 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp14 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 del tmp14 tmp228 += einsum ( tmp227 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 0.5 del tmp227 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp228 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * 4 del tmp228 tmp193 = einsum ( t3 . bbbbbb , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp192 , ( 2 , 4 , 5 , 6 ), ( 0 , 1 , 6 , 3 )) * - 6 t2new . bbbb += np . transpose ( tmp193 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += tmp193 * - 1 del tmp193 tmp180 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t3 . babbab , ( 4 , 0 , 3 , 5 , 1 , 6 ), ( 4 , 2 , 5 , 6 )) t2new . bbbb += np . transpose ( tmp180 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp180 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp180 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp180 , ( 0 , 1 , 3 , 2 )) del tmp180 tmp182 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . oooo , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) t2new . bbbb += np . transpose ( tmp182 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . bbbb += np . transpose ( tmp182 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp182 tmp244 = np . copy ( v . bbbb . vvvv ) tmp244 += einsum ( tmp192 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) del tmp192 t2new . bbbb += einsum ( tmp244 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) * 2 del tmp244 tmp222 = einsum ( tmp125 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp125 t2new . bbbb += np . transpose ( tmp222 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . bbbb += np . transpose ( tmp222 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp222 , ( 1 , 0 , 3 , 2 )) * 2 t2new . bbbb += tmp222 * 2 del tmp222 tmp245 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) * - 1 t2new . bbbb += einsum ( tmp245 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 2 del tmp245 tmp190 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) t2new . bbbb += tmp190 t2new . bbbb += np . transpose ( tmp190 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp190 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp190 , ( 1 , 0 , 3 , 2 )) del tmp190 tmp203 = einsum ( t3 . bbbbbb , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp22 , ( 6 , 1 , 2 , 5 ), ( 6 , 0 , 3 , 4 )) * - 1 t2new . bbbb += np . transpose ( tmp203 , ( 0 , 1 , 3 , 2 )) * - 3 t2new . bbbb += np . transpose ( tmp203 , ( 0 , 1 , 3 , 2 )) * - 3 t2new . bbbb += np . transpose ( tmp203 , ( 1 , 0 , 3 , 2 )) * 3 t2new . bbbb += np . transpose ( tmp203 , ( 1 , 0 , 3 , 2 )) * 3 del tmp203 tmp225 = np . copy ( v . bbbb . oovv ) tmp225 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp45 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 2 tmp225 += np . transpose ( tmp224 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp224 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp225 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 2 del tmp225 tmp213 = einsum ( tmp195 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 4 , 0 , 3 , 2 )) * - 1 del tmp195 tmp213 += einsum ( tmp212 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp212 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp213 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * 2 del tmp213 tmp163 = np . copy ( v . aabb . vvvv ) tmp163 += einsum ( t1 . bb , ( 0 , 1 ), tmp162 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 del tmp162 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp163 , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp163 tmp126 = np . copy ( np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 3 , 1 ))) tmp126 += tmp53 del tmp53 t2new . abab += einsum ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp126 , ( 2 , 6 , 3 , 5 ), ( 0 , 1 , 6 , 4 )) * 2 del tmp126 tmp160 = np . copy ( v . bbbb . oovv ) tmp160 += einsum ( t1 . bb , ( 0 , 1 ), tmp159 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp159 t2new . abab += einsum ( tmp160 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * - 1 del tmp160 tmp60 = np . copy ( f . aa . vv ) * - 1 tmp60 += np . transpose ( tmp56 , ( 1 , 0 )) * - 1 tmp60 += np . transpose ( tmp41 , ( 1 , 0 )) * 2 tmp60 += np . transpose ( tmp42 , ( 1 , 0 )) tmp60 += np . transpose ( tmp58 , ( 1 , 0 )) * - 1 tmp60 += np . transpose ( tmp59 , ( 1 , 0 )) t2new . abab += einsum ( tmp60 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp60 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * 2 del tmp60 tmp120 = np . copy ( t2 . abab ) tmp120 += einsum ( t1 . bb , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 t2new . abab += einsum ( v . aabb . oooo , ( 0 , 1 , 2 , 3 ), tmp120 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) * 0.5 del tmp120 tmp145 = np . copy ( np . transpose ( tmp143 , ( 0 , 1 , 3 , 2 ))) del tmp143 tmp145 += np . transpose ( tmp144 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp144 t2new . abab += einsum ( tmp145 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 3 , 5 )) * - 1 del tmp145 tmp136 = np . copy ( np . transpose ( tmp24 , ( 1 , 0 ))) tmp136 += np . transpose ( tmp25 , ( 1 , 0 )) * 2 tmp136 += np . transpose ( tmp135 , ( 1 , 0 )) del tmp135 t2new . abab += einsum ( tmp136 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 del tmp136 tmp130 = np . copy ( np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 3 , 1 ))) tmp130 += tmp129 del tmp129 t2new . abab += einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp130 , ( 2 , 6 , 5 , 3 ), ( 1 , 0 , 4 , 6 )) * - 2 del tmp130 tmp148 = np . copy ( np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 ))) * - 1 tmp148 += np . transpose ( tmp147 , ( 1 , 0 , 3 , 2 )) del tmp147 tmp148 += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 2 , 4 , 1 , 5 )) t2new . abab += einsum ( tmp148 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 3 , 5 )) del tmp148 tmp161 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp161 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp161 tmp157 = np . copy ( tmp95 ) * - 1 tmp157 += tmp156 * 2 del tmp156 tmp157 += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) * - 1 del tmp45 t2new . abab += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp157 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp157 tmp134 = einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp22 , ( 6 , 2 , 0 , 5 ), ( 1 , 6 , 4 , 3 )) del tmp22 t2new . abab += tmp134 * - 1 t2new . abab += tmp134 * - 1 del tmp134 tmp175 = np . copy ( np . transpose ( tmp173 , ( 0 , 1 , 3 , 2 ))) del tmp173 tmp175 += np . transpose ( tmp174 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp174 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp175 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 2 , 5 )) * - 1 del tmp175 tmp3 = np . copy ( t2 . abab ) tmp3 += einsum ( t1 . bb , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) t2new . abab += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp154 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp154 t2new . abab += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp140 , ( 4 , 0 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) del tmp140 t2new . abab += einsum ( tmp137 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 0 , 3 , 4 , 5 ), ( 1 , 2 , 4 , 5 )) del tmp137 t1new . bb += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) t1new . aa += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) del tmp3 tmp166 = np . copy ( np . transpose ( tmp165 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp165 tmp166 += np . transpose ( tmp84 , ( 0 , 1 , 3 , 2 )) del tmp84 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp166 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp166 tmp176 = 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 ), tmp176 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp176 tmp171 = np . copy ( np . transpose ( tmp168 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp168 tmp171 += np . transpose ( tmp170 , ( 0 , 1 , 3 , 2 )) del tmp170 t2new . abab += einsum ( tmp171 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) del tmp171 tmp158 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 3 , 5 )) t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), tmp158 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp158 tmp121 = einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . aabb . ooov , ( 6 , 1 , 2 , 5 ), ( 6 , 0 , 4 , 3 )) t2new . abab += tmp121 * - 1 t2new . abab += tmp121 * - 1 del tmp121 tmp11 = np . copy ( np . transpose ( tmp5 , ( 1 , 0 ))) del tmp5 tmp11 += np . transpose ( tmp6 , ( 1 , 0 )) * 0.5 del tmp6 tmp11 += np . transpose ( tmp10 , ( 1 , 0 )) del tmp10 t2new . abab += einsum ( tmp11 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 2 t1new . aa += einsum ( tmp11 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * - 2 del tmp11 tmp155 = np . copy ( v . aaaa . oovv ) tmp155 += np . transpose ( tmp49 , ( 1 , 0 , 3 , 2 )) * - 1 tmp155 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp91 , ( 1 , 4 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 tmp155 += einsum ( t1 . aa , ( 0 , 1 ), tmp36 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp36 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp155 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) * - 1 del tmp155 tmp153 = np . copy ( np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 ))) tmp153 += np . transpose ( tmp152 , ( 0 , 2 , 1 , 3 )) del tmp152 t2new . abab += einsum ( tmp153 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) del tmp153 tmp133 = np . copy ( f . bb . vv ) tmp133 += np . transpose ( tmp131 , ( 1 , 0 )) del tmp131 tmp133 += einsum ( t1 . bb , ( 0 , 1 ), tmp132 , ( 0 , 1 , 2 , 3 ), ( 3 , 2 )) * - 1 del tmp132 tmp133 += einsum ( t1 . bb , ( 0 , 1 ), tmp47 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp47 t2new . abab += einsum ( tmp133 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) del tmp133 tmp138 = einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp1 , ( 6 , 1 , 2 , 5 ), ( 6 , 0 , 4 , 3 )) t2new . abab += tmp138 * - 1 t2new . abab += tmp138 * - 1 del tmp138 tmp119 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t3 . babbab , ( 1 , 4 , 2 , 5 , 6 , 3 ), ( 4 , 0 , 6 , 5 )) t2new . abab += tmp119 * - 1 t2new . abab += tmp119 * - 1 del tmp119 tmp55 = einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), t3 . aaaaaa , ( 4 , 5 , 0 , 6 , 1 , 2 ), ( 4 , 5 , 6 , 3 )) * - 6 t2new . aaaa += tmp55 t2new . aaaa += np . transpose ( tmp55 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp55 tmp102 = np . copy ( tmp95 ) tmp102 += einsum ( tmp101 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) * - 1 del tmp101 t2new . aaaa += einsum ( tmp102 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) del tmp102 tmp65 = einsum ( t3 . aaaaaa , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp2 , ( 6 , 1 , 2 , 5 ), ( 6 , 0 , 3 , 4 )) * - 1 del tmp2 t2new . aaaa += np . transpose ( tmp65 , ( 0 , 1 , 3 , 2 )) * - 3 t2new . aaaa += np . transpose ( tmp65 , ( 0 , 1 , 3 , 2 )) * - 3 t2new . aaaa += np . transpose ( tmp65 , ( 1 , 0 , 3 , 2 )) * 3 t2new . aaaa += np . transpose ( tmp65 , ( 1 , 0 , 3 , 2 )) * 3 del tmp65 tmp64 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t3 . abaaba , ( 4 , 2 , 1 , 5 , 3 , 6 ), ( 0 , 4 , 5 , 6 )) del tmp1 t2new . aaaa += np . transpose ( tmp64 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp64 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp64 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp64 , ( 1 , 0 , 3 , 2 )) del tmp64 tmp63 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp62 t2new . aaaa += tmp63 t2new . aaaa += np . transpose ( tmp63 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp63 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp63 , ( 1 , 0 , 3 , 2 )) del tmp63 tmp112 = einsum ( tmp111 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) del tmp111 t2new . aaaa += np . transpose ( tmp112 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp112 del tmp112 tmp116 = einsum ( tmp115 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 3 , 2 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) del tmp115 t2new . aaaa += np . transpose ( tmp116 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp116 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp116 tmp52 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), t3 . abaaba , ( 4 , 0 , 5 , 6 , 3 , 1 ), ( 4 , 5 , 6 , 2 )) * - 2 del tmp51 t2new . aaaa += np . transpose ( tmp52 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += np . transpose ( tmp52 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp52 tmp67 = einsum ( tmp66 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 3 , 2 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) * - 1 del tmp66 t2new . aaaa += np . transpose ( tmp67 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp67 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp67 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp67 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp67 tmp89 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) t2new . aaaa += np . transpose ( tmp89 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += tmp89 * - 1 t2new . aaaa += np . transpose ( tmp89 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp89 , ( 0 , 1 , 3 , 2 )) del tmp89 tmp44 = np . copy ( t2 . aaaa ) tmp44 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 t2new . aaaa += einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), tmp44 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 5 , 4 )) * - 0.5 del tmp44 tmp108 = einsum ( tmp107 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) * - 1 del tmp107 t2new . aaaa += np . transpose ( tmp108 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp108 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp108 tmp110 = einsum ( tmp109 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp109 t2new . aaaa += np . transpose ( tmp110 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp110 del tmp110 tmp33 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t3 . abaaba , ( 4 , 2 , 1 , 5 , 3 , 6 ), ( 4 , 0 , 5 , 6 )) t2new . aaaa += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp33 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp33 , ( 0 , 1 , 3 , 2 )) del tmp33 tmp106 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp105 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp105 t2new . aaaa += tmp106 * - 2 t2new . aaaa += np . transpose ( tmp106 , ( 1 , 0 , 2 , 3 )) * 2 del tmp106 tmp32 = einsum ( t3 . aaaaaa , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . aaaa . ooov , ( 6 , 2 , 1 , 5 ), ( 0 , 6 , 3 , 4 )) * - 1 t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * - 3 t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * - 3 t2new . aaaa += np . transpose ( tmp32 , ( 0 , 1 , 3 , 2 )) * 3 t2new . aaaa += np . transpose ( tmp32 , ( 0 , 1 , 3 , 2 )) * 3 del tmp32 tmp69 = einsum ( tmp68 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp68 t2new . aaaa += np . transpose ( tmp69 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += tmp69 * - 1 t2new . aaaa += np . transpose ( tmp69 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp69 , ( 1 , 0 , 2 , 3 )) del tmp69 tmp61 = np . copy ( f . aa . vv ) * - 1 tmp61 += np . transpose ( tmp56 , ( 1 , 0 )) * - 1 del tmp56 tmp61 += np . transpose ( tmp58 , ( 1 , 0 )) * - 1 del tmp58 tmp61 += np . transpose ( tmp59 , ( 1 , 0 )) del tmp59 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp61 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp61 tmp118 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * - 1 t2new . aaaa += einsum ( t1 . aa , ( 0 , 1 ), tmp118 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp118 tmp88 = einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp87 t2new . aaaa += np . transpose ( tmp88 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp88 , ( 1 , 0 , 3 , 2 )) del tmp88 tmp48 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) t2new . aaaa += tmp48 * 2 t2new . aaaa += np . transpose ( tmp48 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp48 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . aaaa += np . transpose ( tmp48 , ( 1 , 0 , 3 , 2 )) * 2 del tmp48 tmp71 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp70 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 2 del tmp70 t2new . aaaa += np . transpose ( tmp71 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp71 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp71 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp71 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp71 tmp86 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp85 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp85 t2new . aaaa += np . transpose ( tmp86 , ( 1 , 0 , 2 , 3 )) * 2 t2new . aaaa += tmp86 * - 2 t2new . aaaa += np . transpose ( tmp86 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp86 tmp97 = np . copy ( tmp95 ) del tmp95 tmp97 += einsum ( tmp96 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) * - 1 del tmp96 t2new . aaaa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp97 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 del tmp97 tmp20 = np . copy ( f . aa . oo ) tmp20 += np . transpose ( tmp17 , ( 1 , 0 )) del tmp17 tmp20 += np . transpose ( tmp19 , ( 1 , 0 )) * - 1 del tmp19 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp20 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 t1new . aa += einsum ( t1 . aa , ( 0 , 1 ), tmp20 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp20 tmp114 = einsum ( tmp113 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp113 t2new . aaaa += np . transpose ( tmp114 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += tmp114 * - 1 t2new . aaaa += np . transpose ( tmp114 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp114 , ( 0 , 1 , 3 , 2 )) del tmp114 tmp94 = np . copy ( v . aaaa . oovv ) tmp94 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp91 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 2 del tmp91 tmp94 += tmp93 * - 1 del tmp93 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp94 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 2 del tmp94 tmp90 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp49 t2new . aaaa += np . transpose ( tmp90 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . aaaa += np . transpose ( tmp90 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp90 , ( 1 , 0 , 3 , 2 )) * 2 t2new . aaaa += tmp90 * 2 del tmp90 tmp34 = einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 tmp34 += t2 . aaaa * - 1 t2new . aaaa += einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), tmp34 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 5 , 4 )) * 0.5 del tmp34 tmp40 = einsum ( t3 . aaaaaa , ( 0 , 1 , 2 , 3 , 4 , 5 ), tmp9 , ( 2 , 5 ), ( 0 , 1 , 3 , 4 )) * 3 del tmp9 t2new . aaaa += tmp40 t2new . aaaa += tmp40 del tmp40 tmp39 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp38 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp38 t2new . aaaa += np . transpose ( tmp39 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp39 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp39 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp39 tmp80 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp79 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp79 t2new . aaaa += tmp80 * - 1 t2new . aaaa += np . transpose ( tmp80 , ( 0 , 1 , 3 , 2 )) del tmp80 tmp100 = np . copy ( v . aaaa . oovv ) * 0.5 tmp100 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp98 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 del tmp98 tmp100 += einsum ( tmp99 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 0.5 del tmp99 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp100 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * 4 del tmp100 tmp35 = einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) t2new . aaaa += np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . aaaa += np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp35 tmp43 = np . copy ( tmp41 ) del tmp41 tmp43 += tmp42 * 0.5 del tmp42 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp43 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 4 del tmp43 tmp104 = einsum ( tmp103 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp103 t2new . aaaa += np . transpose ( tmp104 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp104 , ( 1 , 0 , 3 , 2 )) del tmp104 tmp76 = einsum ( tmp74 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 3 , 2 )) * - 1 del tmp74 tmp76 += einsum ( tmp75 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 del tmp75 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp76 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * 2 del tmp76 tmp117 = np . copy ( v . aaaa . vvvv ) tmp117 += einsum ( t1 . aa , ( 0 , 1 ), tmp54 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) del tmp54 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp117 , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) * 2 del tmp117 tmp26 = np . copy ( np . transpose ( tmp24 , ( 1 , 0 ))) * 0.5 del tmp24 tmp26 += np . transpose ( tmp25 , ( 1 , 0 )) del tmp25 tmp26 += einsum ( t1 . bb , ( 0 , 1 ), tmp16 , ( 2 , 1 ), ( 2 , 0 )) * 0.5 del tmp16 t1new . bb += einsum ( tmp26 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) * - 2 del tmp26 tmp23 = np . copy ( t2 . bbbb ) * 2 tmp23 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) t1new . bb += einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), tmp23 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) del tmp23 tmp27 = np . copy ( f . bb . vv ) tmp27 += einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 )) * - 1 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp27 , ( 1 , 2 ), ( 0 , 2 )) del tmp27 tmp4 = np . copy ( t2 . aaaa ) * 2 tmp4 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) t1new . aa += einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 4 , 3 , 1 ), ( 4 , 2 )) * - 1 del tmp4 tmp12 = np . copy ( f . aa . vv ) tmp12 += einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) t1new . aa += einsum ( tmp12 , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 2 , 1 )) del tmp12 t1new . aa += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) t1new . aa += f . aa . ov t1new . aa += einsum ( t3 . babbab , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . bbbb . ovov , ( 0 , 3 , 2 , 5 ), ( 1 , 4 )) t1new . aa += einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 )) * - 1 t1new . aa += einsum ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . aabb . ovov , ( 2 , 5 , 1 , 4 ), ( 0 , 3 )) * 2 t1new . aa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 2 t1new . aa += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t3 . aaaaaa , ( 4 , 0 , 2 , 5 , 1 , 3 ), ( 4 , 5 )) * 3 t1new . aa += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 1 t1new . bb += f . bb . ov t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) t1new . bb += einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 t1new . bb += einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 2 t1new . bb += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t3 . babbab , ( 4 , 0 , 2 , 5 , 1 , 3 ), ( 4 , 5 )) * 2 t1new . bb += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t3 . abaaba , ( 0 , 4 , 2 , 1 , 5 , 3 ), ( 4 , 5 )) t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * - 1 t1new . bb += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t3 . bbbbbb , ( 4 , 0 , 2 , 5 , 3 , 1 ), ( 4 , 5 )) * - 3 t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 )) * - 1 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 ( t3 . abaaba , ( 0 , 1 , 2 , 3 , 4 , 5 ), v . aaaa . ooov , ( 6 , 0 , 2 , 5 ), ( 6 , 1 , 3 , 4 )) * - 2 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . oooo , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) * 0.5 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) t2new . abab += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) t2new . abab += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 )) * - 1 t3new . abaaba += einsum ( f . aa . vv , ( 0 , 1 ), t3 . abaaba , ( 2 , 3 , 4 , 5 , 6 , 1 ), ( 2 , 3 , 4 , 5 , 6 , 0 )) * 2 t3new . abaaba += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 6 , 1 ), ( 4 , 2 , 5 , 0 , 3 , 6 )) * - 2 t3new . babbab += einsum ( f . bb . vv , ( 0 , 1 ), t3 . babbab , ( 2 , 3 , 4 , 5 , 6 , 1 ), ( 2 , 3 , 4 , 5 , 6 , 0 )) * 2 t3new . babbab += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 4 , 5 , 6 , 3 ), ( 0 , 4 , 1 , 6 , 5 , 2 )) * - 2 return { f \"t1new\" : t1new , f \"t2new\" : t2new , f \"t3new\" : t3new }","title":"Returns"},{"location":"reference/codegen/UCCD/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-17T18:47:58.834507 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.8.0-40-generic ebcc . codegen . UCCD . energy ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:47:59.153664. Parameters t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns e_cc : float Coupled cluster energy. Source code in ebcc/codegen/UCCD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:47:59.153664. Parameters ---------- t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- e_cc : float Coupled cluster energy. \"\"\" e_cc = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 2 , 1 , 3 ), ()) e_cc += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 1 , 3 ), ()) e_cc += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ()) return e_cc ebcc . codegen . UCCD . update_amps ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:06.946362. 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. Source code in ebcc/codegen/UCCD.py 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 def update_amps ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:06.946362. 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 () tmp13 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp13 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp9 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp9 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp35 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp36 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp45 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp13 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp20 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp19 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp10 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp9 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp24 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp25 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp27 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp48 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp9 tmp51 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp37 = np . copy ( tmp35 ) del tmp35 tmp37 += tmp36 * 2 del tmp36 tmp46 = np . copy ( v . bbbb . oovv ) tmp46 += tmp45 * - 2 del tmp45 tmp32 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp14 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp13 tmp30 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp30 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp6 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp3 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp2 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp21 = np . copy ( tmp19 ) tmp21 += tmp20 * 0.5 tmp17 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) * - 1 tmp11 = np . copy ( v . aaaa . oovv ) tmp11 += tmp10 * - 2 del tmp10 tmp43 = np . copy ( f . bb . vv ) * - 1 tmp43 += tmp24 tmp43 += tmp25 * 2 tmp50 = einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp39 = einsum ( v . bbbb . oooo , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 3 , 1 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) * - 1 tmp41 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp42 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp44 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp49 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp48 tmp52 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 3 , 2 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) del tmp51 tmp53 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 tmp47 = einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp46 tmp40 = einsum ( f . bb . oo , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp26 = np . copy ( tmp24 ) * 0.5 del tmp24 tmp26 += tmp25 del tmp25 tmp33 = np . copy ( tmp32 ) * 2 tmp33 += tmp14 * - 1 tmp31 = np . copy ( v . aaaa . oovv ) tmp31 += np . transpose ( tmp6 , ( 1 , 0 , 3 , 2 )) * - 1 tmp31 += einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) * 2 del tmp30 tmp29 = np . copy ( np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 ))) tmp29 += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 2 , 4 , 1 , 5 )) * - 1 tmp34 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp23 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . oooo , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp28 = np . copy ( f . aa . vv ) * - 1 tmp28 += np . transpose ( tmp2 , ( 1 , 0 )) * 2 tmp28 += np . transpose ( tmp3 , ( 1 , 0 )) tmp38 = np . copy ( tmp19 ) * 2 del tmp19 tmp38 += tmp20 del tmp20 tmp8 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp15 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 del tmp14 tmp22 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp21 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 2 del tmp21 tmp18 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 3 , 2 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) del tmp17 tmp1 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . oooo , ( 4 , 1 , 5 , 0 ), ( 4 , 5 , 2 , 3 )) * - 1 tmp0 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp7 = np . copy ( f . aa . vv ) * - 1 tmp7 += tmp2 * 2 tmp7 += tmp3 tmp4 = np . copy ( tmp2 ) del tmp2 tmp4 += tmp3 * 0.5 del tmp3 tmp5 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp16 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp12 = einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp11 t2new . bbbb = np . copy ( np . transpose ( tmp39 , ( 1 , 0 , 3 , 2 ))) * 2 del tmp39 t2new . bbbb += np . transpose ( tmp40 , ( 1 , 0 , 3 , 2 )) * 2 t2new . bbbb += np . transpose ( tmp40 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp40 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp26 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 4 t2new . bbbb += np . transpose ( tmp41 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp42 , ( 1 , 0 , 3 , 2 )) * 2 t2new . bbbb += einsum ( tmp43 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * 2 del tmp43 t2new . bbbb += np . transpose ( tmp41 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp42 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . bbbb += einsum ( f . bb . vv , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * 2 t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 )) * - 1 t2new . bbbb += np . transpose ( tmp41 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp42 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp44 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp44 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . bbbb += np . transpose ( tmp47 , ( 0 , 1 , 3 , 2 )) * 2 t2new . bbbb += np . transpose ( tmp49 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += tmp44 * 2 t2new . bbbb += np . transpose ( tmp44 , ( 1 , 0 , 3 , 2 )) * 2 del tmp44 t2new . bbbb += np . transpose ( tmp47 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp47 t2new . bbbb += tmp49 del tmp49 t2new . bbbb += tmp41 del tmp41 t2new . bbbb += tmp42 * 2 del tmp42 t2new . bbbb += tmp50 * - 2 t2new . bbbb += np . transpose ( tmp50 , ( 1 , 0 , 2 , 3 )) * 2 del tmp50 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 ( tmp52 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp52 t2new . bbbb += np . transpose ( tmp53 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp53 , ( 1 , 0 , 3 , 2 )) * 2 del tmp53 t2new . abab = np . copy ( tmp23 ) del tmp23 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . oo , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . oo , ( 4 , 0 ), ( 4 , 1 , 2 , 3 )) * - 1 t2new . abab += einsum ( tmp26 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 2 del tmp26 t2new . abab += tmp27 * 2 del tmp27 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) t2new . abab += einsum ( tmp28 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp28 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . vv , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) t2new . abab += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) t2new . abab += einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 3 , 5 )) * - 1 del tmp29 t2new . abab += einsum ( tmp31 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 del tmp31 t2new . abab += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp33 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp33 t2new . abab += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) t2new . abab += tmp32 * 2 del tmp32 t2new . abab += einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . oovv , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) * - 1 t2new . abab += einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp34 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp34 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp37 t2new . abab += einsum ( tmp38 , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 del tmp38 t2new . aaaa = np . copy ( np . transpose ( tmp0 , ( 1 , 0 , 3 , 2 ))) * 2 t2new . aaaa += np . transpose ( tmp1 , ( 1 , 0 , 3 , 2 )) * 2 del tmp1 t2new . aaaa += np . transpose ( tmp0 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp0 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 4 del tmp4 t2new . aaaa += np . transpose ( tmp5 , ( 1 , 0 , 3 , 2 )) * 2 t2new . aaaa += np . transpose ( tmp6 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += einsum ( tmp7 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * 2 del tmp7 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . vv , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * 2 t2new . aaaa += np . transpose ( tmp5 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . aaaa += np . transpose ( tmp6 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 )) * - 1 t2new . aaaa += np . transpose ( tmp5 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp6 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp8 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp8 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . aaaa += np . transpose ( tmp12 , ( 0 , 1 , 3 , 2 )) * 2 t2new . aaaa += np . transpose ( tmp15 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += tmp8 * 2 t2new . aaaa += np . transpose ( tmp8 , ( 1 , 0 , 3 , 2 )) * 2 del tmp8 t2new . aaaa += np . transpose ( tmp12 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp12 t2new . aaaa += np . transpose ( tmp15 , ( 1 , 0 , 3 , 2 )) del tmp15 t2new . aaaa += tmp5 * 2 del tmp5 t2new . aaaa += tmp6 del tmp6 t2new . aaaa += tmp16 * - 2 t2new . aaaa += np . transpose ( tmp16 , ( 1 , 0 , 2 , 3 )) * 2 del tmp16 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . vvvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) * 2 t2new . aaaa += np . transpose ( tmp18 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp18 t2new . aaaa += np . transpose ( tmp22 , ( 1 , 0 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp22 , ( 0 , 1 , 3 , 2 )) * 2 del tmp22 return { f \"t2new\" : t2new } ebcc . codegen . UCCD . update_lams ( f = None , l2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:21.203218. 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. Source code in ebcc/codegen/UCCD.py 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 def update_lams ( f = None , l2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:21.203218. 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 () tmp37 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) tmp38 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp51 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp52 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp40 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp41 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp54 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp55 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp48 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp47 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp59 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 0 , 4 ), ( 4 , 1 )) tmp60 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp78 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 5 ), ( 3 , 4 , 1 , 5 )) tmp79 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp1 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp0 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp7 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) tmp8 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp32 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp31 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp20 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp19 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 tmp27 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp28 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp4 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp5 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp39 = np . copy ( tmp37 ) del tmp37 tmp39 += tmp38 * 2 del tmp38 tmp53 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 ))) tmp53 += v . bbbb . oovv * - 1 tmp53 += tmp51 tmp53 += tmp52 * 2 tmp66 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 ))) tmp66 += v . bbbb . oovv * - 1 tmp66 += tmp51 del tmp51 tmp66 += tmp52 * 2 del tmp52 tmp69 = np . copy ( f . bb . oo ) tmp69 += tmp40 tmp69 += tmp41 * 2 tmp56 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp56 += tmp54 * 2 del tmp54 tmp56 += tmp55 del tmp55 tmp72 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp49 = np . copy ( f . bb . vv ) * - 1 tmp49 += tmp47 del tmp47 tmp49 += tmp48 * 2 del tmp48 tmp61 = np . copy ( tmp59 ) * 0.5 tmp61 += tmp60 tmp80 = np . copy ( tmp78 ) del tmp78 tmp80 += tmp79 * 4 del tmp79 tmp82 = np . copy ( tmp59 ) del tmp59 tmp82 += tmp60 * 2 del tmp60 tmp43 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 5 ), ( 4 , 0 , 5 , 1 )) tmp11 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp12 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp2 = np . copy ( tmp0 ) tmp2 += tmp1 * 0.5 tmp9 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp9 += tmp7 del tmp7 tmp9 += tmp8 * 2 del tmp8 tmp35 = np . copy ( tmp31 ) * 2 tmp35 += tmp32 tmp17 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp21 = np . copy ( f . aa . vv ) * - 1 tmp21 += tmp19 * 2 tmp21 += tmp20 tmp29 = np . copy ( tmp27 ) * 4 del tmp27 tmp29 += tmp28 del tmp28 tmp33 = np . copy ( tmp31 ) del tmp31 tmp33 += tmp32 * 0.5 del tmp32 tmp25 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) tmp25 += v . aaaa . oovv * - 1 tmp25 += tmp4 * 2 tmp25 += tmp5 tmp76 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 3 ), ( 0 , 2 , 4 , 1 )) tmp75 = np . copy ( v . bbbb . oooo ) tmp75 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 5 , 2 ), ( 0 , 4 , 5 , 1 )) * - 1 tmp77 = einsum ( tmp53 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 2 , 5 , 0 ), ( 5 , 1 , 4 , 3 )) tmp67 = einsum ( tmp66 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 2 , 5 , 0 ), ( 5 , 1 , 4 , 3 )) * 2 del tmp66 tmp70 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp69 , ( 3 , 4 ), ( 2 , 4 , 0 , 1 )) * - 2 del tmp69 tmp68 = einsum ( tmp56 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 5 ), ( 1 , 5 , 3 , 4 )) tmp73 = einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 3 , 4 , 2 , 5 ), ( 1 , 0 , 5 , 4 )) * - 1 del tmp72 tmp74 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp49 , ( 1 , 4 ), ( 2 , 3 , 0 , 4 )) * - 1 tmp65 = einsum ( tmp39 , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 3 , 4 ), ( 2 , 3 , 0 , 4 )) tmp84 = einsum ( tmp61 , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 4 , 3 )) * 2 tmp81 = einsum ( tmp80 , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) del tmp80 tmp71 = einsum ( v . bbbb . vvvv , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 1 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 2 )) tmp83 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp82 , ( 4 , 2 ), ( 4 , 0 , 3 , 1 )) del tmp82 tmp57 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp44 = einsum ( tmp43 , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp43 tmp46 = np . copy ( f . aa . vv ) * - 0.5 tmp46 += tmp19 del tmp19 tmp46 += tmp20 * 0.5 del tmp20 tmp13 = np . copy ( f . aa . oo ) * 0.5 tmp13 += tmp11 tmp13 += tmp12 * 0.5 tmp14 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) tmp14 += v . aaaa . oovv * - 1 tmp14 += tmp4 * 2 tmp14 += tmp5 tmp50 = np . copy ( v . aabb . oooo ) tmp50 += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp63 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 4 , 3 , 5 , 1 )) tmp63 += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) tmp42 = np . copy ( f . bb . oo ) * 0.5 tmp42 += tmp40 * 0.5 del tmp40 tmp42 += tmp41 del tmp41 tmp64 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) tmp64 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp62 = np . copy ( tmp0 ) * 2 del tmp0 tmp62 += tmp1 del tmp1 tmp45 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvvv , ( 4 , 0 , 5 , 1 ), ( 2 , 3 , 4 , 5 )) tmp58 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp24 = einsum ( tmp2 , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 4 , 1 ), ( 2 , 4 , 3 , 0 )) * 2 tmp10 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp9 , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) tmp15 = np . copy ( f . aa . oo ) tmp15 += tmp11 * 2 del tmp11 tmp15 += tmp12 del tmp12 tmp36 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp35 , ( 4 , 2 ), ( 0 , 4 , 3 , 1 )) tmp18 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 3 , 4 , 2 , 5 ), ( 1 , 0 , 5 , 4 )) * - 1 del tmp17 tmp22 = einsum ( tmp21 , ( 0 , 1 ), l2 . aaaa , ( 2 , 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) * - 1 del tmp21 tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp29 tmp6 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) * 0.5 tmp6 += v . aaaa . oovv * - 0.5 tmp6 += tmp4 del tmp4 tmp6 += tmp5 * 0.5 del tmp5 tmp34 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp33 , ( 4 , 2 ), ( 0 , 4 , 3 , 1 )) * 2 del tmp33 tmp3 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 1 ), ( 0 , 2 , 3 , 4 )) * 2 del tmp2 tmp16 = einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 3 , 1 , 4 , 5 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp26 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp25 , ( 3 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 0 )) del tmp25 tmp23 = np . copy ( v . aaaa . oooo ) tmp23 += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 2 , 5 )) l2new . bbbb = np . copy ( np . transpose ( v . bbbb . ovov , ( 1 , 3 , 0 , 2 ))) l2new . bbbb += np . transpose ( tmp65 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( v . bbbb . ovov , ( 3 , 1 , 0 , 2 )) * - 1 l2new . bbbb += np . transpose ( tmp65 , ( 2 , 3 , 1 , 0 )) del tmp65 l2new . bbbb += np . transpose ( tmp67 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp68 , ( 2 , 3 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp70 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp67 , ( 3 , 2 , 1 , 0 )) del tmp67 l2new . bbbb += np . transpose ( tmp68 , ( 2 , 3 , 0 , 1 )) l2new . bbbb += np . transpose ( tmp70 , ( 3 , 2 , 1 , 0 )) del tmp70 l2new . bbbb += np . transpose ( tmp71 , ( 3 , 2 , 1 , 0 )) * 2 del tmp71 l2new . bbbb += np . transpose ( tmp73 , ( 3 , 2 , 1 , 0 )) * 2 del tmp73 l2new . bbbb += np . transpose ( tmp74 , ( 3 , 2 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp74 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp74 l2new . bbbb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp75 , ( 2 , 4 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) * - 2 del tmp75 l2new . bbbb += np . transpose ( tmp76 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp77 , ( 2 , 3 , 0 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp68 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp77 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp77 l2new . bbbb += np . transpose ( tmp68 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp68 l2new . bbbb += np . transpose ( tmp81 , ( 3 , 2 , 0 , 1 )) l2new . bbbb += np . transpose ( tmp83 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp81 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp83 , ( 3 , 2 , 0 , 1 )) del tmp83 l2new . bbbb += np . transpose ( tmp81 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp84 , ( 2 , 3 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp81 , ( 2 , 3 , 1 , 0 )) del tmp81 l2new . bbbb += np . transpose ( tmp84 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp84 l2new . bbbb += np . transpose ( tmp76 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp76 l2new . abab = np . copy ( np . transpose ( v . aabb . ovov , ( 1 , 3 , 0 , 2 ))) l2new . abab += einsum ( tmp39 , ( 0 , 1 ), v . aabb . ovov , ( 2 , 3 , 4 , 1 ), ( 3 , 0 , 2 , 4 )) * - 1 del tmp39 l2new . abab += einsum ( v . aabb . vvoo , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * - 1 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp42 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp42 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 2 , 4 , 0 , 5 ), ( 5 , 1 , 4 , 3 )) l2new . abab += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp9 , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) * 2 del tmp9 l2new . abab += einsum ( tmp13 , ( 0 , 1 ), l2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 l2new . abab += np . transpose ( tmp44 , ( 2 , 3 , 0 , 1 )) del tmp44 l2new . abab += np . transpose ( tmp45 , ( 2 , 3 , 0 , 1 )) del tmp45 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp46 , ( 0 , 4 ), ( 4 , 1 , 2 , 3 )) * - 2 del tmp46 l2new . abab += einsum ( tmp49 , ( 0 , 1 ), l2 . abab , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 del tmp49 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp50 , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp50 l2new . abab += einsum ( tmp53 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 2 , 5 , 0 ), ( 4 , 3 , 5 , 1 )) del tmp53 l2new . abab += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp56 , ( 3 , 4 , 1 , 5 ), ( 0 , 5 , 2 , 4 )) * 2 del tmp56 l2new . abab += einsum ( v . aabb . oovv , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 1 , 5 ), ( 4 , 2 , 0 , 5 )) * - 1 l2new . abab += einsum ( tmp57 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 5 , 0 ), ( 3 , 4 , 5 , 1 )) del tmp57 l2new . abab += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp35 , ( 4 , 0 ), ( 1 , 3 , 4 , 2 )) * - 1 del tmp35 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp58 , ( 2 , 4 , 1 , 5 ), ( 0 , 5 , 4 , 3 )) del tmp58 l2new . abab += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp61 , ( 4 , 2 ), ( 1 , 3 , 0 , 4 )) * - 2 del tmp61 l2new . abab += einsum ( tmp62 , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp62 l2new . abab += einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 0 , 5 ), ( 5 , 3 , 4 , 1 )) * - 2 del tmp63 l2new . abab += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp64 , ( 4 , 2 , 5 , 1 ), ( 5 , 3 , 4 , 0 )) * - 2 del tmp64 l2new . aaaa = np . copy ( np . transpose ( v . aaaa . ovov , ( 1 , 3 , 0 , 2 ))) l2new . aaaa += np . transpose ( tmp3 , ( 2 , 3 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( v . aaaa . ovov , ( 3 , 1 , 0 , 2 )) * - 1 l2new . aaaa += np . transpose ( tmp3 , ( 3 , 2 , 1 , 0 )) del tmp3 l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp6 , ( 3 , 4 , 1 , 5 ), ( 5 , 0 , 2 , 4 )) * - 4 del tmp6 l2new . aaaa += np . transpose ( tmp10 , ( 2 , 3 , 1 , 0 )) * - 1 l2new . aaaa += einsum ( tmp13 , ( 0 , 1 ), l2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 4 del tmp13 l2new . aaaa += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 3 , 4 , 1 , 5 )) * 2 del tmp14 l2new . aaaa += np . transpose ( tmp10 , ( 2 , 3 , 0 , 1 )) l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp15 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * 2 del tmp15 l2new . aaaa += np . transpose ( tmp16 , ( 3 , 2 , 1 , 0 )) * 2 del tmp16 l2new . aaaa += np . transpose ( tmp18 , ( 3 , 2 , 1 , 0 )) * 2 del tmp18 l2new . aaaa += np . transpose ( tmp22 , ( 2 , 3 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp22 , ( 3 , 2 , 1 , 0 )) * - 2 del tmp22 l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp23 , ( 2 , 4 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) * - 2 del tmp23 l2new . aaaa += np . transpose ( tmp24 , ( 2 , 3 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp26 , ( 3 , 2 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp10 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp26 , ( 3 , 2 , 0 , 1 )) * - 2 del tmp26 l2new . aaaa += np . transpose ( tmp10 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp10 l2new . aaaa += np . transpose ( tmp30 , ( 2 , 3 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp34 , ( 2 , 3 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp30 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp34 , ( 3 , 2 , 1 , 0 )) del tmp34 l2new . aaaa += np . transpose ( tmp30 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp36 , ( 2 , 3 , 0 , 1 )) l2new . aaaa += np . transpose ( tmp30 , ( 3 , 2 , 0 , 1 )) del tmp30 l2new . aaaa += np . transpose ( tmp36 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp36 l2new . aaaa += np . transpose ( tmp24 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp24 return { f \"l2new\" : l2new } ebcc . codegen . UCCD . make_rdm1_f ( l2 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:21.779690. Parameters l2 : Namespace of arrays L2 amplitudes. t2 : Namespace of arrays T2 amplitudes. Returns rdm1 : Namespace of arrays One-particle reduced density matrix. Source code in ebcc/codegen/UCCD.py 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 def make_rdm1_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:21.779690. 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 ( t2 . aaaa . shape [ - 1 ])), bb = Namespace ( oo = np . eye ( t2 . bbbb . shape [ 0 ]), vv = np . eye ( t2 . bbbb . shape [ - 1 ])), ) rdm1 . bb . vv = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) * 2 rdm1 . bb . vv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) rdm1 . aa . vv = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) rdm1 . aa . vv += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * 2 rdm1 . bb . oo = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * - 2 rdm1 . bb . oo += delta . bb . oo rdm1 . bb . oo += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) * - 1 rdm1 . aa . oo = np . copy ( delta . aa . oo ) del delta rdm1 . aa . oo += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) * - 1 rdm1 . aa . oo += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * - 2 rdm1 . aa . ov = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . aaaa . shape [ - 1 ])) rdm1 . aa . vo = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . aaaa . shape [ 0 ])) rdm1 . bb . ov = np . zeros (( t2 . bbbb . shape [ 0 ], t2 . bbbb . shape [ - 1 ])) rdm1 . bb . vo = np . zeros (( t2 . bbbb . shape [ - 1 ], t2 . bbbb . shape [ 0 ])) 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 ebcc . codegen . UCCD . make_rdm2_f ( l2 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:48:30.836169. Parameters l2 : Namespace of arrays L2 amplitudes. t2 : Namespace of arrays T2 amplitudes. Returns rdm2 : Namespace of arrays Two-particle reduced density matrix. Source code in ebcc/codegen/UCCD.py 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 def make_rdm2_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:30.836169. 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 ( 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 )) tmp6 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp1 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp0 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp24 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) tmp25 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp12 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp13 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp36 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp38 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 5 ), ( 3 , 4 , 1 , 5 )) tmp34 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) tmp10 = np . copy ( tmp5 ) tmp10 += tmp6 * 2 tmp11 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp21 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp19 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp29 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 4 , 3 , 5 , 1 )) tmp17 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) tmp3 = np . copy ( tmp0 ) tmp3 += tmp1 * 0.5 tmp4 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp42 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) tmp41 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) tmp40 = np . copy ( tmp24 ) tmp40 += tmp25 * 2 tmp23 = np . copy ( tmp12 ) tmp23 += tmp13 * 0.5 tmp26 = np . copy ( tmp24 ) * 0.5 del tmp24 tmp26 += tmp25 del tmp25 tmp14 = np . copy ( tmp12 ) * 2 del tmp12 tmp14 += tmp13 del tmp13 tmp28 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 5 , 1 ), ( 5 , 0 , 4 , 3 )) tmp37 = einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp39 = einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) tmp35 = einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp32 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp10 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 tmp33 = einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 0 , 4 , 5 ), ( 3 , 2 , 4 , 5 )) tmp8 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 5 ), ( 4 , 0 , 5 , 1 )) tmp31 = np . copy ( tmp19 ) * 4 tmp31 += tmp21 tmp30 = np . copy ( tmp29 ) tmp30 += tmp17 tmp27 = np . copy ( tmp0 ) * 2 tmp27 += tmp1 tmp20 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp19 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) tmp15 = einsum ( tmp3 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 2 tmp18 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp22 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp16 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 0 , 4 , 5 ), ( 5 , 4 , 2 , 3 )) tmp9 = np . copy ( delta . bb . oo ) * - 0.5 tmp9 += tmp5 * 0.5 tmp9 += tmp6 tmp7 = np . copy ( delta . bb . oo ) * - 1 tmp7 += tmp5 del tmp5 tmp7 += tmp6 * 2 del tmp6 tmp2 = np . copy ( delta . aa . oo ) * - 1 tmp2 += tmp0 * 2 del tmp0 tmp2 += tmp1 del tmp1 rdm2 . bbbb . vvvv = np . copy ( np . transpose ( tmp42 , ( 1 , 0 , 3 , 2 ))) * 2 del tmp42 rdm2 . abab . vvvv = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) rdm2 . aaaa . vvvv = np . copy ( np . transpose ( tmp41 , ( 1 , 0 , 3 , 2 ))) * 2 del tmp41 rdm2 . bbbb . vvoo = np . copy ( l2 . bbbb ) * 2 rdm2 . abab . vvoo = np . copy ( l2 . abab ) rdm2 . aaaa . vvoo = np . copy ( l2 . aaaa ) * 2 rdm2 . bbbb . vovo = einsum ( delta . bb . oo , ( 0 , 1 ), tmp40 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . vovo += np . transpose ( tmp38 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . vovo += np . transpose ( tmp36 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . abab . vovo = einsum ( tmp23 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . abab . vovo += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 5 , 1 ), ( 0 , 4 , 5 , 3 )) * - 1 rdm2 . aaaa . vovo = einsum ( tmp23 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . aaaa . vovo += np . transpose ( tmp19 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . aaaa . vovo += np . transpose ( tmp21 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . voov = einsum ( tmp26 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . bbbb . voov += np . transpose ( tmp38 , ( 2 , 1 , 0 , 3 )) rdm2 . bbbb . voov += np . transpose ( tmp36 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . abab . voov = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 4 , 0 , 5 , 2 )) * 2 rdm2 . abab . voov += np . transpose ( tmp34 , ( 2 , 1 , 0 , 3 )) * 2 del tmp34 rdm2 . aaaa . voov = einsum ( tmp14 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . voov += np . transpose ( tmp19 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . aaaa . voov += np . transpose ( tmp21 , ( 2 , 1 , 0 , 3 )) rdm2 . bbbb . ovvo = einsum ( delta . bb . oo , ( 0 , 1 ), tmp40 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . ovvo += np . transpose ( tmp38 , ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . ovvo += np . transpose ( tmp36 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . abab . ovvo = np . copy ( np . transpose ( tmp17 , ( 0 , 3 , 2 , 1 ))) * 2 del tmp17 rdm2 . abab . ovvo += np . transpose ( tmp29 , ( 0 , 3 , 2 , 1 )) * 2 del tmp29 rdm2 . aaaa . ovvo = einsum ( tmp23 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . aaaa . ovvo += np . transpose ( tmp19 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . aaaa . ovvo += np . transpose ( tmp21 , ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . ovov = einsum ( tmp26 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . bbbb . ovov += np . transpose ( tmp38 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp38 rdm2 . bbbb . ovov += np . transpose ( tmp36 , ( 1 , 2 , 0 , 3 )) * - 4 del tmp36 rdm2 . abab . ovov = einsum ( tmp40 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . ovov += np . transpose ( tmp28 , ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . aaaa . ovov = einsum ( tmp14 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . ovov += np . transpose ( tmp19 , ( 1 , 2 , 0 , 3 )) * - 4 del tmp19 rdm2 . aaaa . ovov += np . transpose ( tmp21 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp21 rdm2 . bbbb . oovv = np . copy ( t2 . bbbb ) * 2 rdm2 . bbbb . oovv += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp26 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 4 rdm2 . bbbb . oovv += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . bbbb . oovv += np . transpose ( tmp32 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp32 rdm2 . bbbb . oovv += np . transpose ( tmp33 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp33 rdm2 . bbbb . oovv += np . transpose ( tmp35 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp37 , ( 0 , 1 , 3 , 2 )) * - 8 rdm2 . bbbb . oovv += np . transpose ( tmp39 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp39 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 )) * 2 del tmp35 rdm2 . bbbb . oovv += tmp37 * 8 del tmp37 rdm2 . bbbb . oovv += tmp39 * 2 rdm2 . bbbb . oovv += np . transpose ( tmp39 , ( 1 , 0 , 3 , 2 )) * 2 del tmp39 rdm2 . bbbb . oovv += einsum ( tmp40 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp40 rdm2 . abab . oovv = np . copy ( t2 . abab ) rdm2 . abab . oovv += einsum ( tmp26 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp26 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 0 , 4 ), ( 4 , 1 , 2 , 3 )) * - 1 del tmp27 rdm2 . abab . oovv += einsum ( tmp10 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp8 , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp28 , ( 0 , 4 , 3 , 5 ), ( 4 , 1 , 2 , 5 )) del tmp28 rdm2 . abab . oovv += einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 4 del tmp30 rdm2 . abab . oovv += einsum ( tmp31 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp31 rdm2 . abab . oovv += einsum ( tmp14 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 rdm2 . aaaa . oovv = np . copy ( t2 . aaaa ) * 2 rdm2 . aaaa . oovv += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp14 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp14 rdm2 . aaaa . oovv += np . transpose ( tmp15 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . aaaa . oovv += np . transpose ( tmp15 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp15 rdm2 . aaaa . oovv += np . transpose ( tmp16 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp16 rdm2 . aaaa . oovv += np . transpose ( tmp18 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) * - 8 rdm2 . aaaa . oovv += np . transpose ( tmp22 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += np . transpose ( tmp22 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . aaaa . oovv += tmp18 * 2 del tmp18 rdm2 . aaaa . oovv += tmp20 * 8 del tmp20 rdm2 . aaaa . oovv += tmp22 * 2 rdm2 . aaaa . oovv += np . transpose ( tmp22 , ( 1 , 0 , 3 , 2 )) * 2 del tmp22 rdm2 . aaaa . oovv += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp23 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * 4 del tmp23 rdm2 . bbbb . oooo = einsum ( tmp9 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . bbbb . oooo += einsum ( tmp9 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * 2 del tmp9 rdm2 . bbbb . oooo += einsum ( tmp10 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . bbbb . oooo += einsum ( tmp10 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) del tmp10 rdm2 . bbbb . oooo += np . transpose ( tmp11 , ( 3 , 2 , 1 , 0 )) * 2 del tmp11 rdm2 . abab . oooo = einsum ( tmp7 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 del tmp7 rdm2 . abab . oooo += einsum ( tmp3 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 2 rdm2 . abab . oooo += np . transpose ( tmp8 , ( 1 , 3 , 0 , 2 )) del tmp8 rdm2 . aaaa . oooo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . aaaa . oooo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) del tmp2 rdm2 . aaaa . oooo += einsum ( tmp3 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 2 rdm2 . aaaa . oooo += einsum ( tmp3 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * 2 del tmp3 , delta rdm2 . aaaa . oooo += np . transpose ( tmp4 , ( 3 , 2 , 1 , 0 )) * 2 del tmp4 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 . abab . ooov = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ 0 ], t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ - 1 ])) rdm2 . abab . oovo = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ 0 ], t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ 0 ])) rdm2 . abab . ovoo = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ - 1 ], t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ 0 ])) rdm2 . abab . vooo = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ 0 ], t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ 0 ])) rdm2 . abab . ovvv = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ - 1 ], t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ - 1 ])) rdm2 . abab . vovv = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ 0 ], t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ - 1 ])) rdm2 . abab . vvov = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ - 1 ], t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ - 1 ])) rdm2 . abab . vvvo = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ - 1 ], t2 . aaaa . shape [ - 1 ], t2 . bbbb . 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 = 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 ebcc . codegen . UCCD . hbar_matvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:49:02.648103. Parameters f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns tmp10 : array tmp100 : array tmp102 : array tmp104 : array tmp106 : array tmp108 : array tmp110 : array tmp111 : array tmp112 : array tmp113 : array tmp114 : array tmp115 : array tmp117 : array tmp119 : array tmp12 : array tmp126 : array tmp127 : array tmp131 : array tmp133 : array tmp137 : array tmp139 : array tmp141 : array tmp151 : array tmp17 : array tmp18 : array tmp19 : array tmp21 : array tmp24 : array tmp25 : array tmp27 : array tmp28 : array tmp29 : array tmp3 : array tmp31 : array tmp33 : array tmp35 : array tmp37 : array tmp39 : array tmp41 : array tmp43 : array tmp45 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp62 : array tmp64 : array tmp67 : array tmp68 : array tmp69 : array tmp76 : array tmp77 : array tmp80 : array tmp90 : array tmp93 : array tmp94 : array tmp96 : array tmp97 : array tmp98 : array Source code in ebcc/codegen/UCCD.py 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 def hbar_matvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:49:02.648103. Parameters ---------- f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- tmp10 : array tmp100 : array tmp102 : array tmp104 : array tmp106 : array tmp108 : array tmp110 : array tmp111 : array tmp112 : array tmp113 : array tmp114 : array tmp115 : array tmp117 : array tmp119 : array tmp12 : array tmp126 : array tmp127 : array tmp131 : array tmp133 : array tmp137 : array tmp139 : array tmp141 : array tmp151 : array tmp17 : array tmp18 : array tmp19 : array tmp21 : array tmp24 : array tmp25 : array tmp27 : array tmp28 : array tmp29 : array tmp3 : array tmp31 : array tmp33 : array tmp35 : array tmp37 : array tmp39 : array tmp41 : array tmp43 : array tmp45 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp62 : array tmp64 : array tmp67 : array tmp68 : array tmp69 : array tmp76 : array tmp77 : array tmp80 : array tmp90 : array tmp93 : array tmp94 : array tmp96 : array tmp97 : array tmp98 : array \"\"\" tmp151 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp141 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp139 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp137 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp133 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp131 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp127 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp126 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp119 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp117 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp115 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp114 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 4 , 2 , 5 , 1 ), ( 0 , 4 , 5 , 3 )) tmp113 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) tmp112 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp111 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp110 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp108 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp106 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp104 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp102 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) tmp100 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 0 , 5 ), ( 4 , 1 , 5 , 3 )) tmp98 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp97 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) tmp96 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp94 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp93 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp90 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp80 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp77 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp76 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp69 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 3 , 5 )) tmp68 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp67 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp64 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp62 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 2 , 0 )) tmp51 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp49 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp47 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp45 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp43 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp41 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp39 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp37 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp35 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 tmp33 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp31 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp29 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp28 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp27 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 1 tmp25 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp24 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp21 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp19 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp18 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp17 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp12 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp10 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp5 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp3 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) * - 1 return { f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp102\" : tmp102 , f \"tmp104\" : tmp104 , f \"tmp106\" : tmp106 , f \"tmp108\" : tmp108 , f \"tmp110\" : tmp110 , f \"tmp111\" : tmp111 , f \"tmp112\" : tmp112 , f \"tmp113\" : tmp113 , f \"tmp114\" : tmp114 , f \"tmp115\" : tmp115 , f \"tmp117\" : tmp117 , f \"tmp119\" : tmp119 , f \"tmp12\" : tmp12 , f \"tmp126\" : tmp126 , f \"tmp127\" : tmp127 , f \"tmp131\" : tmp131 , f \"tmp133\" : tmp133 , f \"tmp137\" : tmp137 , f \"tmp139\" : tmp139 , f \"tmp141\" : tmp141 , f \"tmp151\" : tmp151 , f \"tmp17\" : tmp17 , f \"tmp18\" : tmp18 , f \"tmp19\" : tmp19 , f \"tmp21\" : tmp21 , f \"tmp24\" : tmp24 , f \"tmp25\" : tmp25 , f \"tmp27\" : tmp27 , f \"tmp28\" : tmp28 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp31\" : tmp31 , f \"tmp33\" : tmp33 , f \"tmp35\" : tmp35 , f \"tmp37\" : tmp37 , f \"tmp39\" : tmp39 , f \"tmp41\" : tmp41 , f \"tmp43\" : tmp43 , f \"tmp45\" : tmp45 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp51\" : tmp51 , f \"tmp62\" : tmp62 , f \"tmp64\" : tmp64 , f \"tmp67\" : tmp67 , f \"tmp68\" : tmp68 , f \"tmp69\" : tmp69 , f \"tmp76\" : tmp76 , f \"tmp77\" : tmp77 , f \"tmp80\" : tmp80 , f \"tmp90\" : tmp90 , f \"tmp93\" : tmp93 , f \"tmp94\" : tmp94 , f \"tmp96\" : tmp96 , f \"tmp97\" : tmp97 , f \"tmp98\" : tmp98 } ebcc . codegen . UCCD . hbar_matvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:49:02.687282. Parameters f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. Source code in ebcc/codegen/UCCD.py 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 def hbar_matvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:49:02.687282. Parameters ---------- f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp49 = np . copy ( ints . tmp137 ) del ints . tmp137 tmp49 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) * 0.5 tmp45 = np . copy ( ints . tmp106 ) tmp45 += ints . tmp110 * 0.5 tmp47 = np . copy ( ints . tmp10 ) * 2 tmp47 += ints . tmp12 tmp55 = np . copy ( ints . tmp102 ) tmp55 += ints . tmp108 * 2 tmp57 = np . copy ( ints . tmp141 ) del ints . tmp141 tmp57 += ints . tmp139 * 2 del ints . tmp139 tmp9 = np . copy ( ints . tmp29 ) del ints . tmp29 tmp9 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) * 0.5 tmp7 = np . copy ( ints . tmp3 ) * 2 tmp7 += ints . tmp5 tmp5 = np . copy ( ints . tmp45 ) tmp5 += ints . tmp49 * 2 tmp3 = np . copy ( ints . tmp41 ) tmp3 += ints . tmp47 * 0.5 tmp17 = np . copy ( ints . tmp33 ) del ints . tmp33 tmp17 += ints . tmp31 * 2 del ints . tmp31 tmp43 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovov , ( 0 , 2 , 3 , 4 ), ( 1 , 3 , 4 )) tmp50 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 0 , 1 , 3 )) * 2 del tmp49 tmp42 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp100 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) tmp44 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . oovv , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp46 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp45 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 4 del tmp45 tmp48 = einsum ( tmp47 , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) * - 2 del tmp47 tmp56 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp55 , ( 0 , 3 , 2 , 4 ), ( 1 , 3 , 4 )) del tmp55 tmp52 = einsum ( f . bb . oo , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 0 , 2 , 3 )) tmp53 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp104 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) tmp54 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . ovov , ( 3 , 4 , 1 , 2 ), ( 0 , 3 , 4 )) tmp58 = einsum ( tmp57 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 0 , 1 , 3 )) del tmp57 tmp32 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 0 , 2 , 1 ), ( 3 ,)) * - 1 tmp31 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovov , ( 0 , 2 , 1 , 3 ), ( 3 ,)) tmp22 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovov , ( 0 , 3 , 1 , 2 ), ( 3 ,)) tmp23 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . ovov , ( 1 , 3 , 0 , 2 ), ( 3 ,)) * - 1 tmp10 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 0 , 1 , 3 )) * 2 del tmp9 tmp2 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp8 = einsum ( tmp7 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) * - 2 del tmp7 tmp6 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp5 , ( 3 , 0 , 4 , 2 ), ( 1 , 3 , 4 )) * - 1 del tmp5 tmp4 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp3 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 4 del tmp3 tmp15 = einsum ( ints . tmp43 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * - 1 tmp18 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 0 , 1 , 3 )) del tmp17 tmp13 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp39 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) tmp14 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 3 ), ( 4 , 0 , 1 )) tmp16 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . ovov , ( 3 , 4 , 0 , 2 ), ( 1 , 3 , 4 )) * - 1 tmp12 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), f . aa . oo , ( 3 , 1 ), ( 3 , 0 , 2 )) tmp51 = np . copy ( tmp42 ) del tmp42 tmp51 += tmp43 del tmp43 tmp51 += tmp44 * 2 del tmp44 tmp51 += np . transpose ( tmp46 , ( 1 , 0 , 2 )) * - 1 del tmp46 tmp51 += np . transpose ( tmp48 , ( 1 , 0 , 2 )) del tmp48 tmp51 += tmp50 del tmp50 tmp39 = np . copy ( np . transpose ( ints . tmp115 , ( 1 , 0 ))) * 2 del ints . tmp115 tmp39 += np . transpose ( ints . tmp117 , ( 1 , 0 )) del ints . tmp117 tmp39 += f . bb . vv * - 1 tmp41 = np . copy ( f . bb . ov ) tmp41 += ints . tmp127 del ints . tmp127 tmp41 += ints . tmp93 del ints . tmp93 tmp41 += ints . tmp94 * 2 del ints . tmp94 tmp41 += ints . tmp112 * - 2 del ints . tmp112 tmp41 += ints . tmp113 * - 1 del ints . tmp113 tmp41 += ints . tmp126 * - 2 del ints . tmp126 tmp60 = np . copy ( ints . tmp133 ) del ints . tmp133 tmp60 += np . transpose ( v . bbbb . oooo , ( 0 , 2 , 3 , 1 )) * - 1 tmp59 = np . copy ( tmp52 ) * 2 del tmp52 tmp59 += tmp53 * 4 del tmp53 tmp59 += tmp54 * 2 del tmp54 tmp59 += np . transpose ( tmp56 , ( 1 , 0 , 2 )) del tmp56 tmp59 += tmp58 del tmp58 tmp61 = np . copy ( ints . tmp131 ) del ints . tmp131 tmp61 += np . transpose ( ints . tmp151 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp151 tmp33 = np . copy ( tmp31 ) * - 1 del tmp31 tmp33 += tmp32 * 2 del tmp32 tmp24 = np . copy ( tmp22 ) * 2 del tmp22 tmp24 += tmp23 del tmp23 tmp37 = np . copy ( ints . tmp119 ) del ints . tmp119 tmp37 += v . aabb . oovv * - 1 tmp38 = np . copy ( ints . tmp64 ) tmp38 += v . aabb . oooo tmp36 = np . copy ( ints . tmp102 ) del ints . tmp102 tmp36 += ints . tmp108 * 2 del ints . tmp108 tmp36 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp36 += ints . tmp100 * - 1 del ints . tmp100 tmp0 = np . copy ( f . aa . oo ) tmp0 += np . transpose ( ints . tmp3 , ( 1 , 0 )) * 2 del ints . tmp3 tmp0 += np . transpose ( ints . tmp5 , ( 1 , 0 )) del ints . tmp5 tmp1 = np . copy ( f . bb . oo ) tmp1 += np . transpose ( ints . tmp10 , ( 1 , 0 )) * 2 del ints . tmp10 tmp1 += np . transpose ( ints . tmp12 , ( 1 , 0 )) del ints . tmp12 tmp40 = np . copy ( ints . tmp111 ) del ints . tmp111 tmp40 += np . transpose ( ints . tmp90 , ( 1 , 0 , 2 , 3 )) del ints . tmp90 tmp40 += np . transpose ( ints . tmp97 , ( 1 , 0 , 2 , 3 )) del ints . tmp97 tmp40 += np . transpose ( ints . tmp98 , ( 1 , 0 , 2 , 3 )) * 2 del ints . tmp98 tmp40 += v . aabb . ooov tmp40 += np . transpose ( ints . tmp114 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp114 tmp40 += np . transpose ( ints . tmp96 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp96 tmp35 = np . copy ( ints . tmp106 ) * 2 del ints . tmp106 tmp35 += ints . tmp110 del ints . tmp110 tmp35 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp35 += ints . tmp104 * - 2 del ints . tmp104 tmp35 += v . bbbb . oovv * - 1 tmp30 = np . copy ( ints . tmp64 ) del ints . tmp64 tmp30 += v . aabb . oooo tmp27 = np . copy ( ints . tmp41 ) * 2 del ints . tmp41 tmp27 += ints . tmp47 del ints . tmp47 tmp27 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp27 += ints . tmp39 * - 2 del ints . tmp39 tmp27 += v . aaaa . oovv * - 1 tmp29 = np . copy ( ints . tmp80 ) del ints . tmp80 tmp29 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) * - 1 tmp21 = np . copy ( np . transpose ( ints . tmp35 , ( 1 , 0 ))) * 2 del ints . tmp35 tmp21 += np . transpose ( ints . tmp37 , ( 1 , 0 )) del ints . tmp37 tmp21 += f . aa . vv * - 1 tmp34 = np . copy ( ints . tmp62 ) del ints . tmp62 tmp34 += ints . tmp68 del ints . tmp68 tmp34 += ints . tmp69 * 2 del ints . tmp69 tmp34 += np . transpose ( ints . tmp76 , ( 0 , 2 , 1 , 3 )) del ints . tmp76 tmp34 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp34 += ints . tmp67 * - 1 del ints . tmp67 tmp34 += ints . tmp77 * - 1 del ints . tmp77 tmp26 = np . copy ( f . aa . ov ) tmp26 += ints . tmp18 del ints . tmp18 tmp26 += ints . tmp24 * 2 del ints . tmp24 tmp26 += ints . tmp25 del ints . tmp25 tmp26 += ints . tmp17 * - 2 del ints . tmp17 tmp26 += ints . tmp27 * - 2 del ints . tmp27 tmp26 += ints . tmp28 * - 1 del ints . tmp28 tmp28 = np . copy ( ints . tmp45 ) del ints . tmp45 tmp28 += ints . tmp49 * 2 del ints . tmp49 tmp28 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp28 += ints . tmp43 * - 1 del ints . tmp43 tmp20 = np . copy ( ints . tmp21 ) del ints . tmp21 tmp20 += np . transpose ( v . aaaa . oooo , ( 0 , 2 , 3 , 1 )) * - 1 tmp11 = np . copy ( tmp2 ) * 2 del tmp2 tmp11 += np . transpose ( tmp4 , ( 1 , 0 , 2 )) * - 1 del tmp4 tmp11 += np . transpose ( tmp6 , ( 1 , 0 , 2 )) del tmp6 tmp11 += np . transpose ( tmp8 , ( 1 , 0 , 2 )) del tmp8 tmp11 += tmp10 del tmp10 tmp25 = np . copy ( ints . tmp19 ) del ints . tmp19 tmp25 += np . transpose ( ints . tmp51 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp51 tmp19 = np . copy ( tmp12 ) * 2 del tmp12 tmp19 += tmp13 * 4 del tmp13 tmp19 += tmp14 * 2 del tmp14 tmp19 += tmp15 del tmp15 tmp19 += tmp16 del tmp16 tmp19 += tmp18 del tmp18 r2new . bbb = np . copy ( tmp51 ) * - 1 r2new . bbb += np . transpose ( tmp51 , ( 1 , 0 , 2 )) del tmp51 r2new . bbb += tmp59 r2new . bbb += np . transpose ( tmp59 , ( 1 , 0 , 2 )) * - 1 del tmp59 r2new . bbb += einsum ( tmp60 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) * 2 del tmp60 r2new . bbb += einsum ( tmp39 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bbb += einsum ( tmp33 , ( 0 ,), t2 . bbbb , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 2 r2new . bbb += einsum ( tmp61 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 1 , 0 , 3 )) * 2 del tmp61 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp41 , ( 1 , 2 ), ( 0 , 1 , 2 )) r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp41 , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 r2new . bab = einsum ( tmp35 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) del tmp35 r2new . bab += einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 0 , 2 ), ( 1 , 4 , 3 )) * - 2 del tmp36 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp37 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) del tmp37 r2new . bab += einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 2 , 0 , 4 )) del tmp38 r2new . bab += einsum ( tmp39 , ( 0 , 1 ), r2 . bab , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp39 r2new . bab += einsum ( tmp24 , ( 0 ,), t2 . abab , ( 1 , 2 , 0 , 3 ), ( 2 , 1 , 3 )) r2new . bab += einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 0 ,), ( 2 , 1 , 3 )) del tmp40 r2new . bab += einsum ( tmp1 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . bab += einsum ( tmp0 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . bab += einsum ( tmp41 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) * - 1 del tmp41 r2new . aba = einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) del tmp27 r2new . aba += einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 1 , 3 ), ( 0 , 4 , 2 )) * - 2 del tmp28 r2new . aba += einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) del tmp29 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp30 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) del tmp30 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp21 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( tmp33 , ( 0 ,), t2 . abab , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) del tmp33 r2new . aba += einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 0 , 1 , 3 )) del tmp34 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp1 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . aba += einsum ( tmp0 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp26 , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 r2new . aaa = np . copy ( tmp11 ) * - 1 r2new . aaa += np . transpose ( tmp11 , ( 1 , 0 , 2 )) del tmp11 r2new . aaa += tmp19 r2new . aaa += np . transpose ( tmp19 , ( 1 , 0 , 2 )) * - 1 del tmp19 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp20 , ( 3 , 4 , 0 , 1 ), ( 3 , 4 , 2 )) * 2 del tmp20 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp21 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp21 r2new . aaa += einsum ( tmp24 , ( 0 ,), t2 . aaaa , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 2 del tmp24 r2new . aaa += einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 1 , 0 , 3 )) * 2 del tmp25 r2new . aaa += einsum ( tmp26 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 2 , 0 , 1 )) r2new . aaa += einsum ( tmp26 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) * - 1 del tmp26 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), f . aa . ov , ( 0 , 2 ), ( 1 ,)) * - 1 r1new . b += einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 1 , 2 , 3 ), ( 0 ,)) * - 2 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), f . bb . ov , ( 1 , 2 ), ( 0 ,)) * 2 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovoo , ( 0 , 2 , 3 , 1 ), ( 3 ,)) r1new . b += einsum ( r1 . b , ( 0 ,), tmp1 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp1 r1new . a = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 1 , 3 ), ( 0 ,)) r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), f . aa . ov , ( 1 , 2 ), ( 0 ,)) * 2 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ooov , ( 3 , 1 , 0 , 2 ), ( 3 ,)) * 2 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), f . bb . ov , ( 0 , 2 ), ( 1 ,)) * - 1 r1new . a += einsum ( tmp0 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp0 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . UCCD . hbar_matvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:49:33.602862. Parameters f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns tmp10 : array tmp101 : array tmp102 : array tmp103 : array tmp105 : array tmp107 : array tmp108 : array tmp109 : array tmp110 : array tmp111 : array tmp115 : array tmp117 : array tmp119 : array tmp12 : array tmp121 : array tmp123 : array tmp125 : array tmp126 : array tmp127 : array tmp131 : array tmp133 : array tmp135 : array tmp14 : array tmp148 : array tmp15 : array tmp19 : array tmp21 : array tmp23 : array tmp27 : array tmp29 : array tmp3 : array tmp31 : array tmp33 : array tmp35 : array tmp37 : array tmp43 : array tmp44 : array tmp45 : array tmp5 : array tmp55 : array tmp56 : array tmp57 : array tmp59 : array tmp62 : array tmp65 : array tmp67 : array tmp78 : array tmp79 : array tmp80 : array tmp90 : array tmp93 : array tmp94 : array Source code in ebcc/codegen/UCCD.py 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 def hbar_matvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:49:33.602862. Parameters ---------- f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- tmp10 : array tmp101 : array tmp102 : array tmp103 : array tmp105 : array tmp107 : array tmp108 : array tmp109 : array tmp110 : array tmp111 : array tmp115 : array tmp117 : array tmp119 : array tmp12 : array tmp121 : array tmp123 : array tmp125 : array tmp126 : array tmp127 : array tmp131 : array tmp133 : array tmp135 : array tmp14 : array tmp148 : array tmp15 : array tmp19 : array tmp21 : array tmp23 : array tmp27 : array tmp29 : array tmp3 : array tmp31 : array tmp33 : array tmp35 : array tmp37 : array tmp43 : array tmp44 : array tmp45 : array tmp5 : array tmp55 : array tmp56 : array tmp57 : array tmp59 : array tmp62 : array tmp65 : array tmp67 : array tmp78 : array tmp79 : array tmp80 : array tmp90 : array tmp93 : array tmp94 : array \"\"\" tmp148 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp135 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) tmp133 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp131 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp127 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) tmp126 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp125 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp123 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp121 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp119 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp117 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) tmp115 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 0 , 5 ), ( 4 , 1 , 5 , 3 )) tmp111 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp110 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 0 , 4 , 5 , 2 ), ( 1 , 4 , 5 , 3 )) tmp109 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 5 , 3 )) tmp108 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp107 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp105 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp103 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp102 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp101 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp94 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 4 , 5 , 1 ), ( 5 , 2 , 4 , 3 )) tmp93 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp90 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 4 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) tmp80 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp79 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp78 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp67 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp65 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp62 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp59 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp57 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) * - 1 tmp56 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp55 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 4 )) * - 1 tmp45 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 0 , 5 ), ( 4 , 2 , 3 , 5 )) * - 1 tmp44 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp43 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 1 tmp37 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp35 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp33 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp31 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp29 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp27 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp23 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 5 , 0 , 1 )) tmp21 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp19 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp15 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp14 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp12 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp10 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp5 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp3 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 return { f \"tmp10\" : tmp10 , f \"tmp101\" : tmp101 , f \"tmp102\" : tmp102 , f \"tmp103\" : tmp103 , f \"tmp105\" : tmp105 , f \"tmp107\" : tmp107 , f \"tmp108\" : tmp108 , f \"tmp109\" : tmp109 , f \"tmp110\" : tmp110 , f \"tmp111\" : tmp111 , f \"tmp115\" : tmp115 , f \"tmp117\" : tmp117 , f \"tmp119\" : tmp119 , f \"tmp12\" : tmp12 , f \"tmp121\" : tmp121 , f \"tmp123\" : tmp123 , f \"tmp125\" : tmp125 , f \"tmp126\" : tmp126 , f \"tmp127\" : tmp127 , f \"tmp131\" : tmp131 , f \"tmp133\" : tmp133 , f \"tmp135\" : tmp135 , f \"tmp14\" : tmp14 , f \"tmp148\" : tmp148 , f \"tmp15\" : tmp15 , f \"tmp19\" : tmp19 , f \"tmp21\" : tmp21 , f \"tmp23\" : tmp23 , f \"tmp27\" : tmp27 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp31\" : tmp31 , f \"tmp33\" : tmp33 , f \"tmp35\" : tmp35 , f \"tmp37\" : tmp37 , f \"tmp43\" : tmp43 , f \"tmp44\" : tmp44 , f \"tmp45\" : tmp45 , f \"tmp5\" : tmp5 , f \"tmp55\" : tmp55 , f \"tmp56\" : tmp56 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp62\" : tmp62 , f \"tmp65\" : tmp65 , f \"tmp67\" : tmp67 , f \"tmp78\" : tmp78 , f \"tmp79\" : tmp79 , f \"tmp80\" : tmp80 , f \"tmp90\" : tmp90 , f \"tmp93\" : tmp93 , f \"tmp94\" : tmp94 } ebcc . codegen . UCCD . hbar_matvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:49:33.643752. Parameters f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. Source code in ebcc/codegen/UCCD.py 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 def hbar_matvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:49:33.643752. Parameters ---------- f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp50 = np . copy ( ints . tmp131 ) del ints . tmp131 tmp50 += ints . tmp135 * 0.5 del ints . tmp135 tmp50 += v . bbbb . ovvv * 0.5 tmp39 = np . copy ( np . transpose ( ints . tmp10 , ( 1 , 0 ))) tmp39 += np . transpose ( ints . tmp12 , ( 1 , 0 )) * 0.5 tmp39 += f . bb . vv * - 0.5 tmp47 = np . copy ( ints . tmp121 ) * 2 tmp47 += ints . tmp125 tmp56 = np . copy ( ints . tmp117 ) tmp56 += ints . tmp123 * 2 tmp10 = np . copy ( ints . tmp19 ) del ints . tmp19 tmp10 += ints . tmp23 * 0.5 del ints . tmp23 tmp10 += v . aaaa . ovvv * 0.5 tmp8 = np . copy ( np . transpose ( ints . tmp3 , ( 1 , 0 ))) tmp8 += np . transpose ( ints . tmp5 , ( 1 , 0 )) * 0.5 tmp8 += f . aa . vv * - 0.5 tmp4 = np . copy ( ints . tmp29 ) * 2 tmp4 += ints . tmp35 tmp6 = np . copy ( ints . tmp33 ) * 0.5 tmp6 += ints . tmp37 tmp51 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 0 , 1 , 2 )) * 2 del tmp50 tmp44 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp115 , ( 2 , 3 , 0 , 4 ), ( 3 , 4 , 1 )) tmp49 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp39 , ( 1 , 3 ), ( 2 , 0 , 3 )) * - 4 tmp46 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . oovv , ( 3 , 2 , 4 , 1 ), ( 3 , 0 , 4 )) tmp48 = einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 1 ), ( 0 , 4 , 2 )) * - 2 del tmp47 tmp45 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 4 , 0 ), ( 2 , 4 , 3 )) tmp32 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . ovov , ( 3 , 0 , 2 , 1 ), ( 3 ,)) tmp30 = einsum ( r1 . b , ( 0 ,), f . bb . ov , ( 1 , 0 ), ( 1 ,)) tmp31 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 0 ), ( 2 ,)) tmp54 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp119 , ( 3 , 2 , 4 , 1 ), ( 3 , 4 , 0 )) tmp57 = einsum ( tmp56 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 1 , 4 , 3 )) del tmp56 tmp55 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . ovov , ( 3 , 4 , 2 , 1 ), ( 3 , 0 , 4 )) tmp53 = einsum ( r1 . b , ( 0 ,), ints . tmp133 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del ints . tmp133 tmp20 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovov , ( 3 , 1 , 2 , 0 ), ( 3 ,)) * - 1 tmp21 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 2 ), ( 0 ,)) * - 1 tmp19 = einsum ( f . aa . ov , ( 0 , 1 ), r1 . a , ( 1 ,), ( 0 ,)) tmp15 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovov , ( 3 , 4 , 2 , 1 ), ( 3 , 0 , 4 )) tmp13 = einsum ( r1 . a , ( 0 ,), ints . tmp21 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del ints . tmp21 tmp14 = einsum ( ints . tmp27 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 3 , 1 ), ( 0 , 2 , 4 )) tmp16 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp31 , ( 3 , 2 , 4 , 0 ), ( 3 , 4 , 1 )) * - 1 tmp17 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 2 ), ( 0 , 4 , 1 )) * - 1 tmp11 = einsum ( r1 . a , ( 0 ,), tmp10 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 2 del tmp10 tmp9 = einsum ( tmp8 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 4 del tmp8 tmp5 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 3 , 1 ), ( 0 , 4 , 2 )) * - 2 del tmp4 tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 0 , 4 , 2 )) * - 2 del tmp6 tmp3 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 3 , 1 ), ( 0 , 4 , 2 )) tmp41 = np . copy ( f . bb . oo ) tmp41 += np . transpose ( ints . tmp103 , ( 1 , 0 )) * 2 del ints . tmp103 tmp41 += np . transpose ( ints . tmp105 , ( 1 , 0 )) del ints . tmp105 tmp42 = np . copy ( f . bb . ov ) tmp42 += ints . tmp102 del ints . tmp102 tmp42 += ints . tmp107 del ints . tmp107 tmp42 += ints . tmp108 * 2 del ints . tmp108 tmp42 += ints . tmp101 * - 2 del ints . tmp101 tmp42 += ints . tmp126 * - 2 del ints . tmp126 tmp42 += ints . tmp127 * - 1 del ints . tmp127 tmp52 = np . copy ( tmp44 ) del tmp44 tmp52 += tmp45 del tmp45 tmp52 += tmp46 * 2 del tmp46 tmp52 += np . transpose ( tmp48 , ( 0 , 2 , 1 )) * - 1 del tmp48 tmp52 += np . transpose ( tmp49 , ( 0 , 2 , 1 )) del tmp49 tmp52 += tmp51 del tmp51 tmp43 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 1 , 4 ), ( 4 , 0 , 2 )) * - 1 tmp59 = np . copy ( tmp30 ) * 0.5 tmp59 += tmp31 * - 0.5 tmp59 += tmp32 tmp58 = np . copy ( tmp53 ) * 2 del tmp53 tmp58 += tmp54 * 4 del tmp54 tmp58 += tmp55 * 2 del tmp55 tmp58 += np . transpose ( tmp57 , ( 0 , 2 , 1 )) del tmp57 tmp37 = np . copy ( ints . tmp93 ) del ints . tmp93 tmp37 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) * - 1 tmp38 = np . copy ( ints . tmp109 ) del ints . tmp109 tmp38 += ints . tmp111 * 2 del ints . tmp111 tmp38 += ints . tmp94 del ints . tmp94 tmp38 += np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 )) tmp38 += np . transpose ( ints . tmp110 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp110 tmp38 += ints . tmp90 * - 1 del ints . tmp90 tmp36 = np . copy ( ints . tmp117 ) del ints . tmp117 tmp36 += ints . tmp123 * 2 del ints . tmp123 tmp36 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp36 += ints . tmp115 * - 1 del ints . tmp115 tmp0 = np . copy ( np . transpose ( ints . tmp3 , ( 1 , 0 ))) * 2 del ints . tmp3 tmp0 += np . transpose ( ints . tmp5 , ( 1 , 0 )) del ints . tmp5 tmp0 += f . aa . vv * - 1 tmp40 = np . copy ( tmp19 ) tmp40 += tmp20 * 2 tmp40 += tmp21 tmp35 = np . copy ( ints . tmp121 ) * 2 del ints . tmp121 tmp35 += ints . tmp125 del ints . tmp125 tmp35 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp35 += ints . tmp119 * - 2 del ints . tmp119 tmp35 += v . bbbb . oovv * - 1 tmp34 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 0 , 4 , 2 )) * - 1 tmp24 = np . copy ( f . aa . ov ) tmp24 += ints . tmp14 * 2 del ints . tmp14 tmp24 += ints . tmp15 del ints . tmp15 tmp24 += ints . tmp56 del ints . tmp56 tmp24 += ints . tmp43 * - 2 del ints . tmp43 tmp24 += ints . tmp44 * - 1 del ints . tmp44 tmp24 += ints . tmp55 * - 2 del ints . tmp55 tmp1 = np . copy ( np . transpose ( ints . tmp10 , ( 1 , 0 ))) * 2 del ints . tmp10 tmp1 += np . transpose ( ints . tmp12 , ( 1 , 0 )) del ints . tmp12 tmp1 += f . bb . vv * - 1 tmp27 = np . copy ( ints . tmp33 ) del ints . tmp33 tmp27 += ints . tmp37 * 2 del ints . tmp37 tmp27 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp27 += ints . tmp31 * - 1 del ints . tmp31 tmp25 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 4 ), ( 4 , 0 , 2 )) tmp29 = np . copy ( ints . tmp67 ) del ints . tmp67 tmp29 += ints . tmp78 del ints . tmp78 tmp29 += ints . tmp80 * 2 del ints . tmp80 tmp29 += v . aabb . ovvv tmp29 += ints . tmp62 * - 1 del ints . tmp62 tmp29 += np . transpose ( ints . tmp79 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp79 tmp23 = np . copy ( f . aa . oo ) tmp23 += np . transpose ( ints . tmp57 , ( 1 , 0 )) * 2 del ints . tmp57 tmp23 += np . transpose ( ints . tmp59 , ( 1 , 0 )) del ints . tmp59 tmp33 = np . copy ( tmp30 ) del tmp30 tmp33 += tmp31 * - 1 del tmp31 tmp33 += tmp32 * 2 del tmp32 tmp28 = np . copy ( ints . tmp65 ) del ints . tmp65 tmp28 += v . aabb . oovv * - 1 tmp26 = np . copy ( ints . tmp29 ) * 2 del ints . tmp29 tmp26 += ints . tmp35 del ints . tmp35 tmp26 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp26 += ints . tmp27 * - 2 del ints . tmp27 tmp26 += v . aaaa . oovv * - 1 tmp2 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 1 , 3 , 4 ), ( 4 , 0 , 2 )) tmp22 = np . copy ( tmp19 ) * 0.5 del tmp19 tmp22 += tmp20 del tmp20 tmp22 += tmp21 * 0.5 del tmp21 tmp18 = np . copy ( tmp13 ) * 2 del tmp13 tmp18 += tmp14 * 4 del tmp14 tmp18 += tmp15 * 2 del tmp15 tmp18 += tmp16 del tmp16 tmp18 += tmp17 del tmp17 tmp12 = np . copy ( tmp3 ) * 2 del tmp3 tmp12 += np . transpose ( tmp5 , ( 0 , 2 , 1 )) * - 1 del tmp5 tmp12 += np . transpose ( tmp7 , ( 0 , 2 , 1 )) del tmp7 tmp12 += np . transpose ( tmp9 , ( 0 , 2 , 1 )) del tmp9 tmp12 += tmp11 del tmp11 r2new . bbb = einsum ( r1 . b , ( 0 ,), ints . tmp148 , ( 1 , 2 , 3 , 0 ), ( 3 , 2 , 1 )) * 2 del ints . tmp148 r2new . bbb += einsum ( tmp43 , ( 0 , 1 , 2 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 )) * - 2 del tmp43 r2new . bbb += einsum ( v . bbbb . vvvv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 1 , 4 ), ( 0 , 2 , 4 )) * - 2 r2new . bbb += np . transpose ( tmp52 , ( 1 , 2 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp52 , ( 2 , 1 , 0 )) del tmp52 r2new . bbb += np . transpose ( tmp58 , ( 1 , 2 , 0 )) r2new . bbb += np . transpose ( tmp58 , ( 2 , 1 , 0 )) * - 1 del tmp58 r2new . bbb += einsum ( tmp59 , ( 0 ,), t2 . bbbb , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) * 4 del tmp59 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp41 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 r2new . bbb += einsum ( tmp42 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 2 , 1 , 0 )) r2new . bbb += einsum ( tmp42 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 1 , 2 , 0 )) * - 1 r2new . bab = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp34 , ( 0 , 4 , 1 ), ( 3 , 2 , 4 )) * - 1 del tmp34 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . vvvv , ( 3 , 1 , 4 , 0 ), ( 4 , 3 , 2 )) r2new . bab += einsum ( tmp35 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 2 , 4 , 0 )) del tmp35 r2new . bab += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp36 , ( 2 , 3 , 1 , 4 ), ( 4 , 0 , 3 )) * - 2 del tmp36 r2new . bab += einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) del tmp37 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp38 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del tmp38 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp0 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . bab += einsum ( tmp39 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 2 del tmp39 r2new . bab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp40 , ( 0 ,), ( 3 , 2 , 1 )) del tmp40 r2new . bab += einsum ( tmp41 , ( 0 , 1 ), r2 . bab , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp41 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp42 , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 del tmp42 r2new . aba = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp25 , ( 4 , 0 , 1 ), ( 2 , 3 , 4 )) del tmp25 r2new . aba += einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) r2new . aba += einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 3 , 4 , 1 ), ( 2 , 4 , 0 )) del tmp26 r2new . aba += einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 1 ), ( 2 , 4 , 0 )) * - 2 del tmp27 r2new . aba += einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) del tmp28 r2new . aba += einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 1 , 2 , 0 )) * - 1 del tmp29 r2new . aba += einsum ( tmp0 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp1 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . aba += einsum ( tmp33 , ( 0 ,), t2 . abab , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) del tmp33 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp23 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( tmp24 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 1 , 2 , 0 )) * - 1 r2new . aaa = einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 3 , 1 , 4 ), ( 0 , 2 , 4 )) * - 2 r2new . aaa += einsum ( r1 . a , ( 0 ,), ints . tmp45 , ( 1 , 2 , 3 , 0 ), ( 3 , 2 , 1 )) * 2 del ints . tmp45 r2new . aaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 1 , 0 ), ( 2 , 3 , 4 )) * - 2 del tmp2 r2new . aaa += np . transpose ( tmp12 , ( 1 , 2 , 0 )) * - 1 r2new . aaa += np . transpose ( tmp12 , ( 2 , 1 , 0 )) del tmp12 r2new . aaa += np . transpose ( tmp18 , ( 1 , 2 , 0 )) r2new . aaa += np . transpose ( tmp18 , ( 2 , 1 , 0 )) * - 1 del tmp18 r2new . aaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp22 , ( 1 ,), ( 2 , 3 , 0 )) * 4 del tmp22 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp23 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp23 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp24 , ( 1 , 2 ), ( 0 , 2 , 1 )) r2new . aaa += einsum ( tmp24 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 1 , 2 , 0 )) * - 1 del tmp24 r1new . b = einsum ( f . bb . ov , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 0 ), ( 2 ,)) * 2 r1new . b += einsum ( f . aa . ov , ( 0 , 1 ), r2 . aba , ( 1 , 2 , 0 ), ( 2 ,)) * - 1 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovvv , ( 2 , 0 , 3 , 1 ), ( 3 ,)) * - 1 r1new . b += einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 1 , 0 ), ( 2 ,)) * 2 r1new . b += einsum ( tmp1 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp1 r1new . a = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . vvov , ( 3 , 1 , 2 , 0 ), ( 3 ,)) * - 1 r1new . a += einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 3 , 1 , 0 ), ( 2 ,)) * 2 r1new . a += einsum ( f . aa . ov , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 0 ), ( 2 ,)) * 2 r1new . a += einsum ( f . bb . ov , ( 0 , 1 ), r2 . bab , ( 1 , 2 , 0 ), ( 2 ,)) * - 1 r1new . a += einsum ( r1 . a , ( 0 ,), tmp0 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp0 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . UCCD . hbar_lmatvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:50:05.800089. Parameters f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns tmp1 : array tmp10 : array tmp110 : array tmp113 : array tmp115 : array tmp132 : array tmp136 : array tmp138 : array tmp14 : array tmp140 : array tmp142 : array tmp144 : array tmp146 : array tmp148 : array tmp157 : array tmp159 : array tmp16 : array tmp161 : array tmp178 : array tmp18 : array tmp20 : array tmp22 : array tmp24 : array tmp26 : array tmp28 : array tmp29 : array tmp3 : array tmp31 : array tmp32 : array tmp33 : array tmp35 : array tmp37 : array tmp39 : array tmp4 : array tmp41 : array tmp43 : array tmp45 : array tmp47 : array tmp53 : array tmp55 : array tmp59 : array tmp6 : array tmp61 : array tmp67 : array tmp68 : array tmp70 : array tmp71 : array tmp73 : array tmp74 : array tmp76 : array tmp8 : array tmp82 : array tmp84 : array tmp89 : array tmp91 : array tmp93 : array tmp95 : array tmp97 : array tmp99 : array Source code in ebcc/codegen/UCCD.py 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 def hbar_lmatvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:05.800089. Parameters ---------- f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- tmp1 : array tmp10 : array tmp110 : array tmp113 : array tmp115 : array tmp132 : array tmp136 : array tmp138 : array tmp14 : array tmp140 : array tmp142 : array tmp144 : array tmp146 : array tmp148 : array tmp157 : array tmp159 : array tmp16 : array tmp161 : array tmp178 : array tmp18 : array tmp20 : array tmp22 : array tmp24 : array tmp26 : array tmp28 : array tmp29 : array tmp3 : array tmp31 : array tmp32 : array tmp33 : array tmp35 : array tmp37 : array tmp39 : array tmp4 : array tmp41 : array tmp43 : array tmp45 : array tmp47 : array tmp53 : array tmp55 : array tmp59 : array tmp6 : array tmp61 : array tmp67 : array tmp68 : array tmp70 : array tmp71 : array tmp73 : array tmp74 : array tmp76 : array tmp8 : array tmp82 : array tmp84 : array tmp89 : array tmp91 : array tmp93 : array tmp95 : array tmp97 : array tmp99 : array \"\"\" tmp178 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp161 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp159 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp157 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp148 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp146 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp144 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp142 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp140 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp138 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp136 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp132 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp115 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp113 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 tmp110 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp99 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp97 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp95 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) tmp93 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp91 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 0 , 5 ), ( 4 , 1 , 5 , 3 )) tmp89 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp84 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 2 , 0 )) tmp82 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp76 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp74 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 3 , 5 )) tmp73 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp71 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp70 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp68 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp67 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp61 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp59 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) * - 1 tmp55 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp53 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp47 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp45 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp43 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp41 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp39 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp37 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp35 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp33 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp32 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 1 , 5 ), ( 4 , 0 , 2 , 5 )) tmp31 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) tmp29 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp28 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp26 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp24 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp22 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) tmp20 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp18 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 1 tmp16 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp14 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp10 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp8 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp6 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp4 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp3 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp1 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp110\" : tmp110 , f \"tmp113\" : tmp113 , f \"tmp115\" : tmp115 , f \"tmp132\" : tmp132 , f \"tmp136\" : tmp136 , f \"tmp138\" : tmp138 , f \"tmp14\" : tmp14 , f \"tmp140\" : tmp140 , f \"tmp142\" : tmp142 , f \"tmp144\" : tmp144 , f \"tmp146\" : tmp146 , f \"tmp148\" : tmp148 , f \"tmp157\" : tmp157 , f \"tmp159\" : tmp159 , f \"tmp16\" : tmp16 , f \"tmp161\" : tmp161 , f \"tmp178\" : tmp178 , f \"tmp18\" : tmp18 , f \"tmp20\" : tmp20 , f \"tmp22\" : tmp22 , f \"tmp24\" : tmp24 , f \"tmp26\" : tmp26 , f \"tmp28\" : tmp28 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp31\" : tmp31 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp35\" : tmp35 , f \"tmp37\" : tmp37 , f \"tmp39\" : tmp39 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp43\" : tmp43 , f \"tmp45\" : tmp45 , f \"tmp47\" : tmp47 , f \"tmp53\" : tmp53 , f \"tmp55\" : tmp55 , f \"tmp59\" : tmp59 , f \"tmp6\" : tmp6 , f \"tmp61\" : tmp61 , f \"tmp67\" : tmp67 , f \"tmp68\" : tmp68 , f \"tmp70\" : tmp70 , f \"tmp71\" : tmp71 , f \"tmp73\" : tmp73 , f \"tmp74\" : tmp74 , f \"tmp76\" : tmp76 , f \"tmp8\" : tmp8 , f \"tmp82\" : tmp82 , f \"tmp84\" : tmp84 , f \"tmp89\" : tmp89 , f \"tmp91\" : tmp91 , f \"tmp93\" : tmp93 , f \"tmp95\" : tmp95 , f \"tmp97\" : tmp97 , f \"tmp99\" : tmp99 } ebcc . codegen . UCCD . hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:50:05.843530. Parameters f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. Source code in ebcc/codegen/UCCD.py 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:05.843530. Parameters ---------- f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp35 = einsum ( r2 . aba , ( 0 , 1 , 2 ), t2 . abab , ( 0 , 1 , 2 , 3 ), ( 3 ,)) tmp36 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 0 , 1 , 3 ), ( 2 ,)) tmp58 = np . copy ( ints . tmp142 ) tmp58 += ints . tmp146 * 2 tmp50 = np . copy ( tmp35 ) * - 0.5 tmp50 += tmp36 tmp48 = np . copy ( ints . tmp144 ) tmp48 += ints . tmp148 * 0.5 tmp52 = np . copy ( ints . tmp59 ) * 2 tmp52 += ints . tmp61 tmp14 = np . copy ( ints . tmp93 ) tmp14 += ints . tmp97 * 0.5 tmp18 = np . copy ( ints . tmp14 ) * 2 tmp18 += ints . tmp16 tmp12 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), t2 . aaaa , ( 0 , 1 , 3 , 2 ), ( 3 ,)) tmp16 = np . copy ( ints . tmp95 ) tmp16 += ints . tmp99 * 2 tmp26 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 0 , 3 , 2 ), ( 3 ,)) * - 1 tmp59 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp58 , ( 0 , 3 , 2 , 4 ), ( 1 , 3 , 4 )) del tmp58 tmp56 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp140 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) tmp55 = einsum ( f . bb . oo , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 0 , 2 , 3 )) tmp57 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . ovov , ( 3 , 4 , 1 , 2 ), ( 0 , 3 , 4 )) tmp51 = einsum ( tmp50 , ( 0 ,), v . bbbb . ovov , ( 1 , 0 , 2 , 3 ), ( 1 , 2 , 3 )) * 2 del tmp50 tmp47 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . oovv , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp49 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp48 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * - 4 del tmp48 tmp44 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), r1 . b , ( 1 ,), ( 0 , 2 , 3 )) tmp46 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovov , ( 0 , 2 , 3 , 4 ), ( 1 , 3 , 4 )) tmp53 = einsum ( tmp52 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 2 del tmp52 tmp45 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp138 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) tmp11 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp15 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp14 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * - 4 del tmp14 tmp10 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 0 , 2 , 3 )) tmp19 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp18 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 2 del tmp18 tmp13 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp12 , ( 3 ,), ( 0 , 2 , 1 )) * - 1 tmp17 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp16 , ( 3 , 0 , 4 , 2 ), ( 1 , 3 , 4 )) * - 1 del tmp16 tmp24 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp91 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 1 tmp22 = einsum ( ints . tmp89 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 0 , 2 ), ( 1 , 4 , 3 )) tmp27 = einsum ( tmp26 , ( 0 ,), v . aaaa . ovov , ( 1 , 2 , 3 , 0 ), ( 1 , 3 , 2 )) tmp25 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . ovov , ( 3 , 4 , 0 , 2 ), ( 1 , 3 , 4 )) * - 1 tmp21 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), f . aa . oo , ( 3 , 1 ), ( 3 , 0 , 2 )) tmp23 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 3 ), ( 4 , 0 , 1 )) tmp42 = np . copy ( ints . tmp157 ) * 2 del ints . tmp157 tmp42 += ints . tmp159 del ints . tmp159 tmp42 += f . bb . vv * - 1 tmp60 = np . copy ( tmp55 ) * 2 del tmp55 tmp60 += tmp56 * 4 del tmp56 tmp60 += tmp57 * 2 del tmp57 tmp60 += np . transpose ( tmp59 , ( 1 , 0 , 2 )) del tmp59 tmp54 = einsum ( f . bb . ov , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) tmp54 += tmp44 del tmp44 tmp54 += tmp45 del tmp45 tmp54 += tmp46 del tmp46 tmp54 += tmp47 * 2 del tmp47 tmp54 += np . transpose ( tmp49 , ( 1 , 0 , 2 )) * - 1 del tmp49 tmp54 += np . transpose ( tmp51 , ( 1 , 0 , 2 )) * - 1 del tmp51 tmp54 += np . transpose ( tmp53 , ( 1 , 0 , 2 )) del tmp53 tmp61 = np . copy ( ints . tmp178 ) del ints . tmp178 tmp61 += np . transpose ( v . bbbb . oooo , ( 0 , 2 , 3 , 1 )) * - 1 tmp43 = np . copy ( tmp12 ) * 2 del tmp12 tmp43 += tmp26 del tmp26 tmp38 = np . copy ( ints . tmp144 ) * 2 del ints . tmp144 tmp38 += ints . tmp148 del ints . tmp148 tmp38 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp38 += ints . tmp140 * - 2 del ints . tmp140 tmp38 += v . bbbb . oovv * - 1 tmp39 = np . copy ( ints . tmp142 ) del ints . tmp142 tmp39 += ints . tmp146 * 2 del ints . tmp146 tmp39 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp39 += ints . tmp138 * - 1 del ints . tmp138 tmp41 = np . copy ( ints . tmp132 ) tmp41 += v . aabb . oooo tmp40 = np . copy ( ints . tmp161 ) del ints . tmp161 tmp40 += v . aabb . oovv * - 1 tmp9 = np . copy ( f . bb . oo ) tmp9 += ints . tmp59 * 2 del ints . tmp59 tmp9 += ints . tmp61 del ints . tmp61 tmp4 = np . copy ( f . aa . oo ) tmp4 += ints . tmp14 * 2 del ints . tmp14 tmp4 += ints . tmp16 del ints . tmp16 tmp37 = np . copy ( tmp35 ) * - 1 del tmp35 tmp37 += tmp36 * 2 del tmp36 tmp31 = np . copy ( ints . tmp93 ) * 2 del ints . tmp93 tmp31 += ints . tmp97 del ints . tmp97 tmp31 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp31 += ints . tmp89 * - 2 del ints . tmp89 tmp31 += v . aaaa . oovv * - 1 tmp30 = np . copy ( ints . tmp113 ) * 2 del ints . tmp113 tmp30 += ints . tmp115 del ints . tmp115 tmp30 += f . aa . vv * - 1 tmp34 = np . copy ( ints . tmp132 ) del ints . tmp132 tmp34 += v . aabb . oooo tmp32 = np . copy ( ints . tmp95 ) del ints . tmp95 tmp32 += ints . tmp99 * 2 del ints . tmp99 tmp32 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp32 += ints . tmp91 * - 1 del ints . tmp91 tmp33 = np . copy ( ints . tmp136 ) del ints . tmp136 tmp33 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) * - 1 tmp20 = einsum ( f . aa . ov , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) tmp20 += tmp10 del tmp10 tmp20 += tmp11 * 2 del tmp11 tmp20 += tmp13 * 2 del tmp13 tmp20 += np . transpose ( tmp15 , ( 1 , 0 , 2 )) * - 1 del tmp15 tmp20 += np . transpose ( tmp17 , ( 1 , 0 , 2 )) del tmp17 tmp20 += np . transpose ( tmp19 , ( 1 , 0 , 2 )) del tmp19 tmp29 = np . copy ( ints . tmp110 ) del ints . tmp110 tmp29 += np . transpose ( v . aaaa . oooo , ( 0 , 2 , 3 , 1 )) * - 1 tmp28 = np . copy ( tmp21 ) * 2 del tmp21 tmp28 += tmp22 * 4 del tmp22 tmp28 += tmp23 * 2 del tmp23 tmp28 += tmp24 del tmp24 tmp28 += tmp25 del tmp25 tmp28 += tmp27 del tmp27 tmp8 = np . copy ( f . bb . ov ) tmp8 += ints . tmp3 tmp8 += ints . tmp41 tmp8 += ints . tmp6 * 2 tmp8 += ints . tmp20 * - 2 tmp8 += ints . tmp22 * - 1 tmp8 += ints . tmp39 * - 2 tmp6 = np . copy ( ints . tmp55 ) del ints . tmp55 tmp6 += np . transpose ( ints . tmp71 , ( 1 , 0 , 2 , 3 )) * 2 del ints . tmp71 tmp6 += np . transpose ( ints . tmp76 , ( 1 , 0 , 2 , 3 )) del ints . tmp76 tmp6 += np . transpose ( ints . tmp68 , ( 2 , 0 , 1 , 3 )) * - 2 del ints . tmp68 tmp6 += np . transpose ( ints . tmp82 , ( 2 , 0 , 1 , 3 )) * - 1 del ints . tmp82 tmp6 += v . bbbb . ooov * - 1 tmp5 = np . copy ( ints . tmp53 ) del ints . tmp53 tmp5 += ints . tmp70 del ints . tmp70 tmp5 += ints . tmp74 * 2 del ints . tmp74 tmp5 += np . transpose ( ints . tmp84 , ( 0 , 2 , 1 , 3 )) del ints . tmp84 tmp5 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp5 += np . transpose ( ints . tmp67 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp67 tmp5 += np . transpose ( ints . tmp73 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp73 tmp7 = np . copy ( f . aa . ov ) * 0.5 tmp7 += ints . tmp1 tmp7 += ints . tmp43 * 0.5 tmp7 += ints . tmp4 * 0.5 tmp7 += ints . tmp18 * - 1 tmp7 += ints . tmp24 * - 0.5 tmp7 += ints . tmp37 * - 1 tmp2 = np . copy ( f . aa . ov ) tmp2 += ints . tmp1 * 2 del ints . tmp1 tmp2 += ints . tmp43 del ints . tmp43 tmp2 += ints . tmp4 del ints . tmp4 tmp2 += ints . tmp18 * - 2 del ints . tmp18 tmp2 += ints . tmp24 * - 1 del ints . tmp24 tmp2 += ints . tmp37 * - 2 del ints . tmp37 tmp1 = np . copy ( ints . tmp26 ) * 2 del ints . tmp26 tmp1 += ints . tmp45 del ints . tmp45 tmp1 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) tmp1 += np . transpose ( ints . tmp29 , ( 0 , 2 , 1 , 3 )) * - 2 del ints . tmp29 tmp1 += np . transpose ( ints . tmp33 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp33 tmp1 += np . transpose ( ints . tmp8 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp8 tmp0 = np . copy ( ints . tmp10 ) del ints . tmp10 tmp0 += ints . tmp31 del ints . tmp31 tmp0 += ints . tmp35 * 2 del ints . tmp35 tmp0 += np . transpose ( ints . tmp47 , ( 1 , 0 , 2 , 3 )) del ints . tmp47 tmp0 += v . aabb . ooov tmp0 += np . transpose ( ints . tmp28 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp28 tmp0 += np . transpose ( ints . tmp32 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp32 tmp3 = np . copy ( f . bb . ov ) * 0.5 tmp3 += ints . tmp3 * 0.5 del ints . tmp3 tmp3 += ints . tmp41 * 0.5 del ints . tmp41 tmp3 += ints . tmp6 del ints . tmp6 tmp3 += ints . tmp20 * - 1 del ints . tmp20 tmp3 += ints . tmp22 * - 0.5 del ints . tmp22 tmp3 += ints . tmp39 * - 1 del ints . tmp39 r2new . bbb = np . copy ( tmp54 ) * - 1 r2new . bbb += np . transpose ( tmp54 , ( 1 , 0 , 2 )) del tmp54 r2new . bbb += tmp60 r2new . bbb += np . transpose ( tmp60 , ( 1 , 0 , 2 )) * - 1 del tmp60 r2new . bbb += einsum ( tmp61 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 0 , 1 , 4 ), ( 2 , 3 , 4 )) * 2 del tmp61 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp42 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 r2new . bab = einsum ( f . bb . ov , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) * - 1 r2new . bab += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 2 , 0 , 3 )) r2new . bab += einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) del tmp38 r2new . bab += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp39 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) * - 2 del tmp39 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp40 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) del tmp40 r2new . bab += einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 0 , 4 ), ( 3 , 1 , 4 )) del tmp41 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp42 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp42 r2new . bab += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp43 , ( 1 ,), ( 2 , 0 , 3 )) del tmp43 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp9 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new . bab += einsum ( tmp4 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . aba = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 0 , 2 , 1 )) r2new . aba += einsum ( r1 . b , ( 0 ,), f . aa . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 r2new . aba += einsum ( tmp31 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) del tmp31 r2new . aba += einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 1 , 3 ), ( 0 , 4 , 2 )) * - 2 del tmp32 r2new . aba += einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 4 , 0 , 2 ), ( 4 , 1 , 3 )) del tmp33 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp34 , ( 0 , 3 , 1 , 4 ), ( 3 , 4 , 2 )) del tmp34 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp30 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( tmp37 , ( 0 ,), v . aabb . ovov , ( 1 , 2 , 3 , 0 ), ( 1 , 3 , 2 )) del tmp37 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp9 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . aba += einsum ( tmp4 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . aaa = np . copy ( tmp20 ) * - 1 r2new . aaa += np . transpose ( tmp20 , ( 1 , 0 , 2 )) del tmp20 r2new . aaa += tmp28 r2new . aaa += np . transpose ( tmp28 , ( 1 , 0 , 2 )) * - 1 del tmp28 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp29 , ( 0 , 1 , 3 , 4 ), ( 3 , 4 , 2 )) * 2 del tmp29 r2new . aaa += einsum ( tmp30 , ( 0 , 1 ), r2 . aaa , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 del tmp30 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp5 , ( 0 , 3 , 1 , 2 ), ( 3 ,)) del tmp5 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp6 , ( 3 , 1 , 0 , 2 ), ( 3 ,)) * - 2 del tmp6 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp7 , ( 0 , 2 ), ( 1 ,)) * - 2 del tmp7 r1new . b += einsum ( tmp8 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 1 ), ( 2 ,)) * 2 del tmp8 r1new . b += einsum ( r1 . b , ( 0 ,), tmp9 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp9 r1new . a = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 1 , 3 ), ( 0 ,)) del tmp0 r1new . a += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 0 , 1 , 3 ), ( 2 ,)) * - 2 del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 1 ), ( 2 ,)) * 2 del tmp2 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp3 , ( 0 , 2 ), ( 1 ,)) * - 2 del tmp3 r1new . a += einsum ( tmp4 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . UCCD . hbar_lmatvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:50:40.583933. Parameters f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns tmp1 : array tmp101 : array tmp103 : array tmp105 : array tmp132 : array tmp134 : array tmp136 : array tmp138 : array tmp14 : array tmp140 : array tmp142 : array tmp144 : array tmp146 : array tmp148 : array tmp158 : array tmp16 : array tmp18 : array tmp20 : array tmp22 : array tmp24 : array tmp26 : array tmp28 : array tmp3 : array tmp30 : array tmp32 : array tmp34 : array tmp36 : array tmp38 : array tmp4 : array tmp40 : array tmp41 : array tmp43 : array tmp44 : array tmp46 : array tmp48 : array tmp59 : array tmp6 : array tmp61 : array tmp67 : array tmp69 : array tmp75 : array tmp76 : array tmp78 : array tmp79 : array tmp81 : array tmp83 : array tmp85 : array tmp91 : array tmp93 : array tmp95 : array tmp97 : array tmp99 : array Source code in ebcc/codegen/UCCD.py 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 def hbar_lmatvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:40.583933. Parameters ---------- f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- tmp1 : array tmp101 : array tmp103 : array tmp105 : array tmp132 : array tmp134 : array tmp136 : array tmp138 : array tmp14 : array tmp140 : array tmp142 : array tmp144 : array tmp146 : array tmp148 : array tmp158 : array tmp16 : array tmp18 : array tmp20 : array tmp22 : array tmp24 : array tmp26 : array tmp28 : array tmp3 : array tmp30 : array tmp32 : array tmp34 : array tmp36 : array tmp38 : array tmp4 : array tmp40 : array tmp41 : array tmp43 : array tmp44 : array tmp46 : array tmp48 : array tmp59 : array tmp6 : array tmp61 : array tmp67 : array tmp69 : array tmp75 : array tmp76 : array tmp78 : array tmp79 : array tmp81 : array tmp83 : array tmp85 : array tmp91 : array tmp93 : array tmp95 : array tmp97 : array tmp99 : array \"\"\" tmp158 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp148 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp146 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp144 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp142 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp140 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp138 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp136 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp134 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp132 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp105 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp103 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp101 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) tmp99 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp97 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 0 , 5 ), ( 4 , 1 , 5 , 3 )) tmp95 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp93 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp91 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp85 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp83 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) tmp81 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp79 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp78 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp76 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp75 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp69 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp67 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp61 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp59 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp48 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp46 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp44 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 5 , 0 , 1 )) tmp43 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 0 , 4 , 5 , 2 ), ( 1 , 4 , 5 , 3 )) tmp41 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp40 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 5 , 3 )) tmp38 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp36 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp34 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp32 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp30 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 4 )) * - 1 tmp28 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 4 , 5 , 1 ), ( 5 , 2 , 4 , 3 )) tmp26 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 0 , 5 ), ( 4 , 2 , 3 , 5 )) * - 1 tmp24 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp22 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) tmp20 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp18 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 1 tmp16 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp14 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 tmp6 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp4 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp3 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp1 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) return { f \"tmp1\" : tmp1 , f \"tmp101\" : tmp101 , f \"tmp103\" : tmp103 , f \"tmp105\" : tmp105 , f \"tmp132\" : tmp132 , f \"tmp134\" : tmp134 , f \"tmp136\" : tmp136 , f \"tmp138\" : tmp138 , f \"tmp14\" : tmp14 , f \"tmp140\" : tmp140 , f \"tmp142\" : tmp142 , f \"tmp144\" : tmp144 , f \"tmp146\" : tmp146 , f \"tmp148\" : tmp148 , f \"tmp158\" : tmp158 , f \"tmp16\" : tmp16 , f \"tmp18\" : tmp18 , f \"tmp20\" : tmp20 , f \"tmp22\" : tmp22 , f \"tmp24\" : tmp24 , f \"tmp26\" : tmp26 , f \"tmp28\" : tmp28 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp32\" : tmp32 , f \"tmp34\" : tmp34 , f \"tmp36\" : tmp36 , f \"tmp38\" : tmp38 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp41\" : tmp41 , f \"tmp43\" : tmp43 , f \"tmp44\" : tmp44 , f \"tmp46\" : tmp46 , f \"tmp48\" : tmp48 , f \"tmp59\" : tmp59 , f \"tmp6\" : tmp6 , f \"tmp61\" : tmp61 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp75\" : tmp75 , f \"tmp76\" : tmp76 , f \"tmp78\" : tmp78 , f \"tmp79\" : tmp79 , f \"tmp81\" : tmp81 , f \"tmp83\" : tmp83 , f \"tmp85\" : tmp85 , f \"tmp91\" : tmp91 , f \"tmp93\" : tmp93 , f \"tmp95\" : tmp95 , f \"tmp97\" : tmp97 , f \"tmp99\" : tmp99 } ebcc . codegen . UCCD . hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T18:50:40.624510. Parameters f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. Source code in ebcc/codegen/UCCD.py 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:40.624510. Parameters ---------- f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp11 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 3 , 0 ), ( 1 ,)) tmp12 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 2 , 0 , 1 ), ( 3 ,)) tmp55 = np . copy ( ints . tmp142 ) tmp55 += ints . tmp146 * 2 tmp41 = np . copy ( ints . tmp59 ) tmp41 += ints . tmp61 * 0.5 tmp41 += f . bb . vv * - 0.5 tmp36 = np . copy ( tmp11 ) * - 0.5 tmp36 += tmp12 tmp48 = np . copy ( ints . tmp144 ) * 2 tmp48 += ints . tmp148 tmp6 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 2 , 1 ), ( 0 ,)) * - 1 tmp26 = np . copy ( ints . tmp101 ) * 0.5 tmp26 += ints . tmp105 tmp24 = np . copy ( ints . tmp103 ) * 0.5 tmp24 += ints . tmp99 tmp28 = np . copy ( ints . tmp14 ) tmp28 += ints . tmp16 * 0.5 tmp28 += f . aa . vv * - 0.5 tmp5 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 2 , 0 , 1 ), ( 3 ,)) tmp54 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . ovov , ( 3 , 4 , 2 , 1 ), ( 3 , 0 , 4 )) tmp56 = einsum ( tmp55 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 1 , 4 , 3 )) del tmp55 tmp53 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp140 , ( 2 , 3 , 1 , 4 ), ( 3 , 4 , 0 )) tmp50 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp41 , ( 1 , 3 ), ( 2 , 0 , 3 )) * - 4 tmp51 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp36 , ( 2 ,), ( 0 , 3 , 1 )) * 2 tmp47 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . oovv , ( 3 , 2 , 4 , 1 ), ( 3 , 0 , 4 )) tmp49 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp48 , ( 2 , 3 , 1 , 4 ), ( 3 , 0 , 4 )) * - 2 del tmp48 tmp44 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 0 , 1 , 2 )) tmp46 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 4 , 0 ), ( 2 , 4 , 3 )) tmp45 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp138 , ( 2 , 3 , 0 , 4 ), ( 3 , 4 , 1 )) tmp15 = einsum ( ints . tmp95 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 0 ), ( 1 , 3 , 4 )) tmp18 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 2 ), ( 0 , 4 , 1 )) * - 1 tmp19 = einsum ( tmp6 , ( 0 ,), v . aaaa . ovov , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) tmp16 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovov , ( 3 , 4 , 2 , 1 ), ( 3 , 0 , 4 )) tmp17 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp97 , ( 3 , 2 , 4 , 0 ), ( 3 , 4 , 1 )) * - 1 tmp22 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 3 , 1 ), ( 0 , 4 , 2 )) tmp27 = einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 0 , 4 , 2 )) * - 2 del tmp26 tmp25 = einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 0 ), ( 1 , 4 , 3 )) * - 4 del tmp24 tmp29 = einsum ( tmp28 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 4 del tmp28 tmp21 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), r1 . a , ( 3 ,), ( 0 , 1 , 2 )) tmp23 = einsum ( tmp5 , ( 0 ,), v . aaaa . ovov , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) * - 1 tmp42 = np . copy ( f . bb . oo ) tmp42 += ints . tmp134 * 2 del ints . tmp134 tmp42 += ints . tmp136 del ints . tmp136 tmp57 = np . copy ( tmp53 ) * 4 del tmp53 tmp57 += tmp54 * 2 del tmp54 tmp57 += np . transpose ( tmp56 , ( 0 , 2 , 1 )) del tmp56 tmp43 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) tmp52 = einsum ( f . bb . ov , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 1 , 2 )) tmp52 += tmp44 del tmp44 tmp52 += tmp45 del tmp45 tmp52 += tmp46 del tmp46 tmp52 += tmp47 * 2 del tmp47 tmp52 += np . transpose ( tmp49 , ( 0 , 2 , 1 )) * - 1 del tmp49 tmp52 += np . transpose ( tmp50 , ( 0 , 2 , 1 )) del tmp50 tmp52 += np . transpose ( tmp51 , ( 0 , 2 , 1 )) * - 1 del tmp51 tmp37 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 2 , 4 ), ( 0 , 4 , 1 )) * - 1 tmp38 = np . copy ( ints . tmp144 ) * 2 del ints . tmp144 tmp38 += ints . tmp148 del ints . tmp148 tmp38 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp38 += ints . tmp140 * - 2 del ints . tmp140 tmp38 += v . bbbb . oovv * - 1 tmp39 = np . copy ( ints . tmp142 ) del ints . tmp142 tmp39 += ints . tmp146 * 2 del ints . tmp146 tmp39 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp39 += ints . tmp138 * - 1 del ints . tmp138 tmp40 = np . copy ( ints . tmp158 ) del ints . tmp158 tmp40 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) * - 1 tmp7 = np . copy ( tmp5 ) * 2 del tmp5 tmp7 += tmp6 del tmp6 tmp4 = np . copy ( ints . tmp14 ) * 2 del ints . tmp14 tmp4 += ints . tmp16 del ints . tmp16 tmp4 += f . aa . vv * - 1 tmp10 = np . copy ( ints . tmp59 ) * 2 del ints . tmp59 tmp10 += ints . tmp61 del ints . tmp61 tmp10 += f . bb . vv * - 1 tmp31 = np . copy ( f . aa . oo ) tmp31 += ints . tmp91 * 2 del ints . tmp91 tmp31 += ints . tmp93 del ints . tmp93 tmp35 = np . copy ( ints . tmp132 ) del ints . tmp132 tmp35 += v . aabb . oovv * - 1 tmp34 = np . copy ( ints . tmp101 ) del ints . tmp101 tmp34 += ints . tmp105 * 2 del ints . tmp105 tmp34 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp34 += ints . tmp97 * - 1 del ints . tmp97 tmp32 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) tmp33 = np . copy ( ints . tmp103 ) del ints . tmp103 tmp33 += ints . tmp99 * 2 del ints . tmp99 tmp33 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp33 += ints . tmp95 * - 2 del ints . tmp95 tmp33 += v . aaaa . oovv * - 1 tmp20 = np . copy ( tmp15 ) * 4 del tmp15 tmp20 += tmp16 * 2 del tmp16 tmp20 += tmp17 del tmp17 tmp20 += tmp18 del tmp18 tmp20 += tmp19 del tmp19 tmp30 = einsum ( r1 . a , ( 0 ,), f . aa . ov , ( 1 , 2 ), ( 1 , 2 , 0 )) tmp30 += tmp21 del tmp21 tmp30 += tmp22 * 2 del tmp22 tmp30 += tmp23 * 2 del tmp23 tmp30 += np . transpose ( tmp25 , ( 0 , 2 , 1 )) * - 1 del tmp25 tmp30 += np . transpose ( tmp27 , ( 0 , 2 , 1 )) del tmp27 tmp30 += np . transpose ( tmp29 , ( 0 , 2 , 1 )) del tmp29 tmp14 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) tmp8 = np . copy ( ints . tmp69 ) del ints . tmp69 tmp8 += np . transpose ( ints . tmp75 , ( 0 , 1 , 3 , 2 )) del ints . tmp75 tmp8 += np . transpose ( ints . tmp81 , ( 0 , 1 , 3 , 2 )) * 2 del ints . tmp81 tmp8 += v . aabb . ovvv tmp8 += np . transpose ( ints . tmp78 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp78 tmp8 += ints . tmp85 * - 1 del ints . tmp85 tmp2 = np . copy ( f . aa . ov ) * 0.5 tmp2 += ints . tmp1 del ints . tmp1 tmp2 += ints . tmp36 * 0.5 del ints . tmp36 tmp2 += ints . tmp4 * 0.5 del ints . tmp4 tmp2 += ints . tmp18 * - 1 del ints . tmp18 tmp2 += ints . tmp24 * - 0.5 del ints . tmp24 tmp2 += ints . tmp30 * - 1 del ints . tmp30 tmp13 = np . copy ( tmp11 ) * - 1 del tmp11 tmp13 += tmp12 * 2 del tmp12 tmp9 = np . copy ( ints . tmp67 ) * 0.5 del ints . tmp67 tmp9 += np . transpose ( ints . tmp76 , ( 0 , 1 , 3 , 2 )) del ints . tmp76 tmp9 += np . transpose ( ints . tmp83 , ( 0 , 1 , 3 , 2 )) * 0.5 del ints . tmp83 tmp9 += v . bbbb . ovvv * 0.5 tmp9 += np . transpose ( ints . tmp79 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp79 tmp3 = np . copy ( f . bb . ov ) * 0.5 tmp3 += ints . tmp34 * 0.5 del ints . tmp34 tmp3 += ints . tmp3 * 0.5 del ints . tmp3 tmp3 += ints . tmp6 del ints . tmp6 tmp3 += ints . tmp20 * - 1 del ints . tmp20 tmp3 += ints . tmp22 * - 0.5 del ints . tmp22 tmp3 += ints . tmp32 * - 1 del ints . tmp32 tmp1 = np . copy ( ints . tmp26 ) * 0.5 del ints . tmp26 tmp1 += np . transpose ( ints . tmp38 , ( 0 , 1 , 3 , 2 )) del ints . tmp38 tmp1 += np . transpose ( ints . tmp44 , ( 0 , 1 , 3 , 2 )) * 0.5 del ints . tmp44 tmp1 += v . aaaa . ovvv * 0.5 tmp1 += np . transpose ( ints . tmp41 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp41 tmp0 = np . copy ( ints . tmp28 ) del ints . tmp28 tmp0 += np . transpose ( ints . tmp40 , ( 0 , 2 , 1 , 3 )) del ints . tmp40 tmp0 += np . transpose ( ints . tmp46 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp46 tmp0 += np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 )) tmp0 += np . transpose ( ints . tmp43 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp43 tmp0 += ints . tmp48 * - 1 del ints . tmp48 r2new . bbb = einsum ( tmp43 , ( 0 , 1 , 2 ), v . bbbb . ovov , ( 2 , 3 , 1 , 4 ), ( 3 , 4 , 0 )) * - 2 del tmp43 r2new . bbb += einsum ( v . bbbb . vvvv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 1 , 4 ), ( 0 , 2 , 4 )) * - 2 r2new . bbb += np . transpose ( tmp52 , ( 1 , 2 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp52 , ( 2 , 1 , 0 )) del tmp52 r2new . bbb += np . transpose ( tmp57 , ( 1 , 2 , 0 )) r2new . bbb += np . transpose ( tmp57 , ( 2 , 1 , 0 )) * - 1 del tmp57 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp42 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 r2new . bab = einsum ( r1 . a , ( 0 ,), v . aabb . vvov , ( 1 , 0 , 2 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new . bab += einsum ( f . bb . ov , ( 0 , 1 ), r1 . a , ( 2 ,), ( 1 , 2 , 0 )) * - 1 r2new . bab += einsum ( tmp37 , ( 0 , 1 , 2 ), v . aabb . ovov , ( 0 , 3 , 2 , 4 ), ( 4 , 3 , 1 )) * - 1 del tmp37 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . vvvv , ( 3 , 1 , 4 , 0 ), ( 4 , 3 , 2 )) r2new . bab += einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 4 , 0 ), ( 3 , 4 , 1 )) del tmp38 r2new . bab += einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 0 ), ( 3 , 4 , 1 )) * - 2 del tmp39 r2new . bab += einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) del tmp40 r2new . bab += einsum ( tmp4 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . bab += einsum ( tmp41 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 2 del tmp41 r2new . bab += einsum ( tmp42 , ( 0 , 1 ), r2 . bab , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp42 r2new . bab += einsum ( tmp7 , ( 0 ,), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 3 , 1 , 2 )) r2new . aba = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp32 , ( 4 , 0 , 2 ), ( 1 , 3 , 4 )) del tmp32 r2new . aba += einsum ( r1 . b , ( 0 ,), f . aa . ov , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new . aba += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 1 , 2 , 0 )) * - 1 r2new . aba += einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) r2new . aba += einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 3 , 4 , 1 )) del tmp33 r2new . aba += einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 1 ), ( 2 , 4 , 0 )) * - 2 del tmp34 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp35 , ( 2 , 3 , 1 , 4 ), ( 0 , 4 , 3 )) del tmp35 r2new . aba += einsum ( tmp4 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp10 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . aba += einsum ( tmp31 , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aba += einsum ( tmp36 , ( 0 ,), v . aabb . ovov , ( 1 , 2 , 0 , 3 ), ( 2 , 3 , 1 )) * 2 del tmp36 r2new . aaa = einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 3 , 1 , 4 ), ( 0 , 2 , 4 )) * - 2 r2new . aaa += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 2 , 0 ), ( 1 , 3 , 4 )) * - 2 del tmp14 r2new . aaa += np . transpose ( tmp20 , ( 1 , 2 , 0 )) r2new . aaa += np . transpose ( tmp20 , ( 2 , 1 , 0 )) * - 1 del tmp20 r2new . aaa += np . transpose ( tmp30 , ( 1 , 2 , 0 )) * - 1 r2new . aaa += np . transpose ( tmp30 , ( 2 , 1 , 0 )) del tmp30 r2new . aaa += einsum ( tmp31 , ( 0 , 1 ), r2 . aaa , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 del tmp31 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp8 , ( 2 , 0 , 1 , 3 ), ( 3 ,)) * - 1 del tmp8 r1new . b += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 1 , 2 , 0 ), ( 3 ,)) * - 4 del tmp9 r1new . b += einsum ( tmp3 , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 0 ), ( 2 ,)) * 4 r1new . b += einsum ( tmp2 , ( 0 , 1 ), r2 . aba , ( 1 , 2 , 0 ), ( 2 ,)) * - 2 r1new . b += einsum ( tmp10 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp10 r1new . b += einsum ( f . bb . ov , ( 0 , 1 ), tmp13 , ( 0 ,), ( 1 ,)) * - 1 del tmp13 r1new . a = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp0 , ( 2 , 1 , 3 , 0 ), ( 3 ,)) * - 1 del tmp0 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp1 , ( 2 , 0 , 1 , 3 ), ( 3 ,)) * - 4 del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 0 ), ( 2 ,)) * 4 del tmp2 r1new . a += einsum ( tmp3 , ( 0 , 1 ), r2 . bab , ( 1 , 2 , 0 ), ( 2 ,)) * - 2 del tmp3 r1new . a += einsum ( tmp4 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp4 r1new . a += einsum ( tmp7 , ( 0 ,), f . aa . ov , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp7 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"UCCD"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.energy","text":"Code generated by albert 0.0.0 on 2024-08-17T18:47:59.153664.","title":"energy"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.energy--parameters","text":"t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/UCCD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:47:59.153664. Parameters ---------- t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- e_cc : float Coupled cluster energy. \"\"\" e_cc = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 2 , 1 , 3 ), ()) e_cc += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 1 , 3 ), ()) e_cc += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ()) return e_cc","title":"Returns"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:06.946362.","title":"update_amps"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.update_amps--parameters","text":"f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.update_amps--returns","text":"t2new : Namespace of arrays Updated T2 residuals. Source code in ebcc/codegen/UCCD.py 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 def update_amps ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:06.946362. 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 () tmp13 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp13 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp9 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp9 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp35 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp36 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp45 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp13 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp20 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp19 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp10 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp9 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp24 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp25 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp27 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp48 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp9 tmp51 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp37 = np . copy ( tmp35 ) del tmp35 tmp37 += tmp36 * 2 del tmp36 tmp46 = np . copy ( v . bbbb . oovv ) tmp46 += tmp45 * - 2 del tmp45 tmp32 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp14 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp13 tmp30 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp30 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp6 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp3 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp2 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp21 = np . copy ( tmp19 ) tmp21 += tmp20 * 0.5 tmp17 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) * - 1 tmp11 = np . copy ( v . aaaa . oovv ) tmp11 += tmp10 * - 2 del tmp10 tmp43 = np . copy ( f . bb . vv ) * - 1 tmp43 += tmp24 tmp43 += tmp25 * 2 tmp50 = einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp39 = einsum ( v . bbbb . oooo , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 3 , 1 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) * - 1 tmp41 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp42 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp44 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp49 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp48 tmp52 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 3 , 2 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) del tmp51 tmp53 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 tmp47 = einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp46 tmp40 = einsum ( f . bb . oo , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp26 = np . copy ( tmp24 ) * 0.5 del tmp24 tmp26 += tmp25 del tmp25 tmp33 = np . copy ( tmp32 ) * 2 tmp33 += tmp14 * - 1 tmp31 = np . copy ( v . aaaa . oovv ) tmp31 += np . transpose ( tmp6 , ( 1 , 0 , 3 , 2 )) * - 1 tmp31 += einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) * 2 del tmp30 tmp29 = np . copy ( np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 ))) tmp29 += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 2 , 4 , 1 , 5 )) * - 1 tmp34 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp23 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . oooo , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp28 = np . copy ( f . aa . vv ) * - 1 tmp28 += np . transpose ( tmp2 , ( 1 , 0 )) * 2 tmp28 += np . transpose ( tmp3 , ( 1 , 0 )) tmp38 = np . copy ( tmp19 ) * 2 del tmp19 tmp38 += tmp20 del tmp20 tmp8 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp15 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 del tmp14 tmp22 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp21 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 2 del tmp21 tmp18 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 3 , 2 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) del tmp17 tmp1 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . oooo , ( 4 , 1 , 5 , 0 ), ( 4 , 5 , 2 , 3 )) * - 1 tmp0 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp7 = np . copy ( f . aa . vv ) * - 1 tmp7 += tmp2 * 2 tmp7 += tmp3 tmp4 = np . copy ( tmp2 ) del tmp2 tmp4 += tmp3 * 0.5 del tmp3 tmp5 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp16 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp12 = einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp11 t2new . bbbb = np . copy ( np . transpose ( tmp39 , ( 1 , 0 , 3 , 2 ))) * 2 del tmp39 t2new . bbbb += np . transpose ( tmp40 , ( 1 , 0 , 3 , 2 )) * 2 t2new . bbbb += np . transpose ( tmp40 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp40 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp26 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 4 t2new . bbbb += np . transpose ( tmp41 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp42 , ( 1 , 0 , 3 , 2 )) * 2 t2new . bbbb += einsum ( tmp43 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * 2 del tmp43 t2new . bbbb += np . transpose ( tmp41 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp42 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . bbbb += einsum ( f . bb . vv , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * 2 t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 )) * - 1 t2new . bbbb += np . transpose ( tmp41 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp42 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp44 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp44 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . bbbb += np . transpose ( tmp47 , ( 0 , 1 , 3 , 2 )) * 2 t2new . bbbb += np . transpose ( tmp49 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += tmp44 * 2 t2new . bbbb += np . transpose ( tmp44 , ( 1 , 0 , 3 , 2 )) * 2 del tmp44 t2new . bbbb += np . transpose ( tmp47 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp47 t2new . bbbb += tmp49 del tmp49 t2new . bbbb += tmp41 del tmp41 t2new . bbbb += tmp42 * 2 del tmp42 t2new . bbbb += tmp50 * - 2 t2new . bbbb += np . transpose ( tmp50 , ( 1 , 0 , 2 , 3 )) * 2 del tmp50 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 ( tmp52 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp52 t2new . bbbb += np . transpose ( tmp53 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp53 , ( 1 , 0 , 3 , 2 )) * 2 del tmp53 t2new . abab = np . copy ( tmp23 ) del tmp23 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . oo , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . oo , ( 4 , 0 ), ( 4 , 1 , 2 , 3 )) * - 1 t2new . abab += einsum ( tmp26 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 2 del tmp26 t2new . abab += tmp27 * 2 del tmp27 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) t2new . abab += einsum ( tmp28 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp28 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . vv , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) t2new . abab += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) t2new . abab += einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 3 , 5 )) * - 1 del tmp29 t2new . abab += einsum ( tmp31 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 del tmp31 t2new . abab += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp33 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp33 t2new . abab += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) t2new . abab += tmp32 * 2 del tmp32 t2new . abab += einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . oovv , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) * - 1 t2new . abab += einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp34 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp34 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp37 t2new . abab += einsum ( tmp38 , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 del tmp38 t2new . aaaa = np . copy ( np . transpose ( tmp0 , ( 1 , 0 , 3 , 2 ))) * 2 t2new . aaaa += np . transpose ( tmp1 , ( 1 , 0 , 3 , 2 )) * 2 del tmp1 t2new . aaaa += np . transpose ( tmp0 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp0 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 4 del tmp4 t2new . aaaa += np . transpose ( tmp5 , ( 1 , 0 , 3 , 2 )) * 2 t2new . aaaa += np . transpose ( tmp6 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += einsum ( tmp7 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * 2 del tmp7 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . vv , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * 2 t2new . aaaa += np . transpose ( tmp5 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . aaaa += np . transpose ( tmp6 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 )) * - 1 t2new . aaaa += np . transpose ( tmp5 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp6 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp8 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp8 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . aaaa += np . transpose ( tmp12 , ( 0 , 1 , 3 , 2 )) * 2 t2new . aaaa += np . transpose ( tmp15 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += tmp8 * 2 t2new . aaaa += np . transpose ( tmp8 , ( 1 , 0 , 3 , 2 )) * 2 del tmp8 t2new . aaaa += np . transpose ( tmp12 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp12 t2new . aaaa += np . transpose ( tmp15 , ( 1 , 0 , 3 , 2 )) del tmp15 t2new . aaaa += tmp5 * 2 del tmp5 t2new . aaaa += tmp6 del tmp6 t2new . aaaa += tmp16 * - 2 t2new . aaaa += np . transpose ( tmp16 , ( 1 , 0 , 2 , 3 )) * 2 del tmp16 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . vvvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) * 2 t2new . aaaa += np . transpose ( tmp18 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp18 t2new . aaaa += np . transpose ( tmp22 , ( 1 , 0 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp22 , ( 0 , 1 , 3 , 2 )) * 2 del tmp22 return { f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.update_lams","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:21.203218.","title":"update_lams"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.update_lams--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.update_lams--returns","text":"l2new : Namespace of arrays Updated L2 residuals. Source code in ebcc/codegen/UCCD.py 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 def update_lams ( f = None , l2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:21.203218. 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 () tmp37 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) tmp38 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp51 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp52 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp40 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp41 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp54 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp55 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp48 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp47 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp59 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 0 , 4 ), ( 4 , 1 )) tmp60 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp78 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 5 ), ( 3 , 4 , 1 , 5 )) tmp79 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp1 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp0 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp7 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) tmp8 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp32 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp31 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp20 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp19 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 tmp27 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp28 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp4 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp5 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp39 = np . copy ( tmp37 ) del tmp37 tmp39 += tmp38 * 2 del tmp38 tmp53 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 ))) tmp53 += v . bbbb . oovv * - 1 tmp53 += tmp51 tmp53 += tmp52 * 2 tmp66 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 ))) tmp66 += v . bbbb . oovv * - 1 tmp66 += tmp51 del tmp51 tmp66 += tmp52 * 2 del tmp52 tmp69 = np . copy ( f . bb . oo ) tmp69 += tmp40 tmp69 += tmp41 * 2 tmp56 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp56 += tmp54 * 2 del tmp54 tmp56 += tmp55 del tmp55 tmp72 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp49 = np . copy ( f . bb . vv ) * - 1 tmp49 += tmp47 del tmp47 tmp49 += tmp48 * 2 del tmp48 tmp61 = np . copy ( tmp59 ) * 0.5 tmp61 += tmp60 tmp80 = np . copy ( tmp78 ) del tmp78 tmp80 += tmp79 * 4 del tmp79 tmp82 = np . copy ( tmp59 ) del tmp59 tmp82 += tmp60 * 2 del tmp60 tmp43 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 5 ), ( 4 , 0 , 5 , 1 )) tmp11 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp12 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp2 = np . copy ( tmp0 ) tmp2 += tmp1 * 0.5 tmp9 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp9 += tmp7 del tmp7 tmp9 += tmp8 * 2 del tmp8 tmp35 = np . copy ( tmp31 ) * 2 tmp35 += tmp32 tmp17 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp21 = np . copy ( f . aa . vv ) * - 1 tmp21 += tmp19 * 2 tmp21 += tmp20 tmp29 = np . copy ( tmp27 ) * 4 del tmp27 tmp29 += tmp28 del tmp28 tmp33 = np . copy ( tmp31 ) del tmp31 tmp33 += tmp32 * 0.5 del tmp32 tmp25 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) tmp25 += v . aaaa . oovv * - 1 tmp25 += tmp4 * 2 tmp25 += tmp5 tmp76 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 3 ), ( 0 , 2 , 4 , 1 )) tmp75 = np . copy ( v . bbbb . oooo ) tmp75 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 5 , 2 ), ( 0 , 4 , 5 , 1 )) * - 1 tmp77 = einsum ( tmp53 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 2 , 5 , 0 ), ( 5 , 1 , 4 , 3 )) tmp67 = einsum ( tmp66 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 2 , 5 , 0 ), ( 5 , 1 , 4 , 3 )) * 2 del tmp66 tmp70 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp69 , ( 3 , 4 ), ( 2 , 4 , 0 , 1 )) * - 2 del tmp69 tmp68 = einsum ( tmp56 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 5 ), ( 1 , 5 , 3 , 4 )) tmp73 = einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 3 , 4 , 2 , 5 ), ( 1 , 0 , 5 , 4 )) * - 1 del tmp72 tmp74 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp49 , ( 1 , 4 ), ( 2 , 3 , 0 , 4 )) * - 1 tmp65 = einsum ( tmp39 , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 3 , 4 ), ( 2 , 3 , 0 , 4 )) tmp84 = einsum ( tmp61 , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 4 , 3 )) * 2 tmp81 = einsum ( tmp80 , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) del tmp80 tmp71 = einsum ( v . bbbb . vvvv , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 1 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 2 )) tmp83 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp82 , ( 4 , 2 ), ( 4 , 0 , 3 , 1 )) del tmp82 tmp57 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp44 = einsum ( tmp43 , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp43 tmp46 = np . copy ( f . aa . vv ) * - 0.5 tmp46 += tmp19 del tmp19 tmp46 += tmp20 * 0.5 del tmp20 tmp13 = np . copy ( f . aa . oo ) * 0.5 tmp13 += tmp11 tmp13 += tmp12 * 0.5 tmp14 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) tmp14 += v . aaaa . oovv * - 1 tmp14 += tmp4 * 2 tmp14 += tmp5 tmp50 = np . copy ( v . aabb . oooo ) tmp50 += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp63 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 4 , 3 , 5 , 1 )) tmp63 += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) tmp42 = np . copy ( f . bb . oo ) * 0.5 tmp42 += tmp40 * 0.5 del tmp40 tmp42 += tmp41 del tmp41 tmp64 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) tmp64 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp62 = np . copy ( tmp0 ) * 2 del tmp0 tmp62 += tmp1 del tmp1 tmp45 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvvv , ( 4 , 0 , 5 , 1 ), ( 2 , 3 , 4 , 5 )) tmp58 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp24 = einsum ( tmp2 , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 4 , 1 ), ( 2 , 4 , 3 , 0 )) * 2 tmp10 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp9 , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) tmp15 = np . copy ( f . aa . oo ) tmp15 += tmp11 * 2 del tmp11 tmp15 += tmp12 del tmp12 tmp36 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp35 , ( 4 , 2 ), ( 0 , 4 , 3 , 1 )) tmp18 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 3 , 4 , 2 , 5 ), ( 1 , 0 , 5 , 4 )) * - 1 del tmp17 tmp22 = einsum ( tmp21 , ( 0 , 1 ), l2 . aaaa , ( 2 , 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) * - 1 del tmp21 tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 5 ), ( 4 , 0 , 5 , 2 )) del tmp29 tmp6 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) * 0.5 tmp6 += v . aaaa . oovv * - 0.5 tmp6 += tmp4 del tmp4 tmp6 += tmp5 * 0.5 del tmp5 tmp34 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp33 , ( 4 , 2 ), ( 0 , 4 , 3 , 1 )) * 2 del tmp33 tmp3 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 1 ), ( 0 , 2 , 3 , 4 )) * 2 del tmp2 tmp16 = einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 3 , 1 , 4 , 5 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp26 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp25 , ( 3 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 0 )) del tmp25 tmp23 = np . copy ( v . aaaa . oooo ) tmp23 += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 2 , 5 )) l2new . bbbb = np . copy ( np . transpose ( v . bbbb . ovov , ( 1 , 3 , 0 , 2 ))) l2new . bbbb += np . transpose ( tmp65 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( v . bbbb . ovov , ( 3 , 1 , 0 , 2 )) * - 1 l2new . bbbb += np . transpose ( tmp65 , ( 2 , 3 , 1 , 0 )) del tmp65 l2new . bbbb += np . transpose ( tmp67 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp68 , ( 2 , 3 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp70 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp67 , ( 3 , 2 , 1 , 0 )) del tmp67 l2new . bbbb += np . transpose ( tmp68 , ( 2 , 3 , 0 , 1 )) l2new . bbbb += np . transpose ( tmp70 , ( 3 , 2 , 1 , 0 )) del tmp70 l2new . bbbb += np . transpose ( tmp71 , ( 3 , 2 , 1 , 0 )) * 2 del tmp71 l2new . bbbb += np . transpose ( tmp73 , ( 3 , 2 , 1 , 0 )) * 2 del tmp73 l2new . bbbb += np . transpose ( tmp74 , ( 3 , 2 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp74 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp74 l2new . bbbb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp75 , ( 2 , 4 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) * - 2 del tmp75 l2new . bbbb += np . transpose ( tmp76 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp77 , ( 2 , 3 , 0 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp68 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp77 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp77 l2new . bbbb += np . transpose ( tmp68 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp68 l2new . bbbb += np . transpose ( tmp81 , ( 3 , 2 , 0 , 1 )) l2new . bbbb += np . transpose ( tmp83 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp81 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp83 , ( 3 , 2 , 0 , 1 )) del tmp83 l2new . bbbb += np . transpose ( tmp81 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp84 , ( 2 , 3 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp81 , ( 2 , 3 , 1 , 0 )) del tmp81 l2new . bbbb += np . transpose ( tmp84 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp84 l2new . bbbb += np . transpose ( tmp76 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp76 l2new . abab = np . copy ( np . transpose ( v . aabb . ovov , ( 1 , 3 , 0 , 2 ))) l2new . abab += einsum ( tmp39 , ( 0 , 1 ), v . aabb . ovov , ( 2 , 3 , 4 , 1 ), ( 3 , 0 , 2 , 4 )) * - 1 del tmp39 l2new . abab += einsum ( v . aabb . vvoo , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * - 1 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp42 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp42 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 2 , 4 , 0 , 5 ), ( 5 , 1 , 4 , 3 )) l2new . abab += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp9 , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) * 2 del tmp9 l2new . abab += einsum ( tmp13 , ( 0 , 1 ), l2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 l2new . abab += np . transpose ( tmp44 , ( 2 , 3 , 0 , 1 )) del tmp44 l2new . abab += np . transpose ( tmp45 , ( 2 , 3 , 0 , 1 )) del tmp45 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp46 , ( 0 , 4 ), ( 4 , 1 , 2 , 3 )) * - 2 del tmp46 l2new . abab += einsum ( tmp49 , ( 0 , 1 ), l2 . abab , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 del tmp49 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp50 , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp50 l2new . abab += einsum ( tmp53 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 2 , 5 , 0 ), ( 4 , 3 , 5 , 1 )) del tmp53 l2new . abab += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp56 , ( 3 , 4 , 1 , 5 ), ( 0 , 5 , 2 , 4 )) * 2 del tmp56 l2new . abab += einsum ( v . aabb . oovv , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 1 , 5 ), ( 4 , 2 , 0 , 5 )) * - 1 l2new . abab += einsum ( tmp57 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 5 , 0 ), ( 3 , 4 , 5 , 1 )) del tmp57 l2new . abab += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp35 , ( 4 , 0 ), ( 1 , 3 , 4 , 2 )) * - 1 del tmp35 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp58 , ( 2 , 4 , 1 , 5 ), ( 0 , 5 , 4 , 3 )) del tmp58 l2new . abab += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp61 , ( 4 , 2 ), ( 1 , 3 , 0 , 4 )) * - 2 del tmp61 l2new . abab += einsum ( tmp62 , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp62 l2new . abab += einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 0 , 5 ), ( 5 , 3 , 4 , 1 )) * - 2 del tmp63 l2new . abab += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp64 , ( 4 , 2 , 5 , 1 ), ( 5 , 3 , 4 , 0 )) * - 2 del tmp64 l2new . aaaa = np . copy ( np . transpose ( v . aaaa . ovov , ( 1 , 3 , 0 , 2 ))) l2new . aaaa += np . transpose ( tmp3 , ( 2 , 3 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( v . aaaa . ovov , ( 3 , 1 , 0 , 2 )) * - 1 l2new . aaaa += np . transpose ( tmp3 , ( 3 , 2 , 1 , 0 )) del tmp3 l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp6 , ( 3 , 4 , 1 , 5 ), ( 5 , 0 , 2 , 4 )) * - 4 del tmp6 l2new . aaaa += np . transpose ( tmp10 , ( 2 , 3 , 1 , 0 )) * - 1 l2new . aaaa += einsum ( tmp13 , ( 0 , 1 ), l2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 4 del tmp13 l2new . aaaa += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 3 , 4 , 1 , 5 )) * 2 del tmp14 l2new . aaaa += np . transpose ( tmp10 , ( 2 , 3 , 0 , 1 )) l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp15 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * 2 del tmp15 l2new . aaaa += np . transpose ( tmp16 , ( 3 , 2 , 1 , 0 )) * 2 del tmp16 l2new . aaaa += np . transpose ( tmp18 , ( 3 , 2 , 1 , 0 )) * 2 del tmp18 l2new . aaaa += np . transpose ( tmp22 , ( 2 , 3 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp22 , ( 3 , 2 , 1 , 0 )) * - 2 del tmp22 l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp23 , ( 2 , 4 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) * - 2 del tmp23 l2new . aaaa += np . transpose ( tmp24 , ( 2 , 3 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp26 , ( 3 , 2 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp10 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp26 , ( 3 , 2 , 0 , 1 )) * - 2 del tmp26 l2new . aaaa += np . transpose ( tmp10 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp10 l2new . aaaa += np . transpose ( tmp30 , ( 2 , 3 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp34 , ( 2 , 3 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp30 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp34 , ( 3 , 2 , 1 , 0 )) del tmp34 l2new . aaaa += np . transpose ( tmp30 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp36 , ( 2 , 3 , 0 , 1 )) l2new . aaaa += np . transpose ( tmp30 , ( 3 , 2 , 0 , 1 )) del tmp30 l2new . aaaa += np . transpose ( tmp36 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp36 l2new . aaaa += np . transpose ( tmp24 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp24 return { f \"l2new\" : l2new }","title":"Returns"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.make_rdm1_f","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:21.779690.","title":"make_rdm1_f"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.make_rdm1_f--parameters","text":"l2 : Namespace of arrays L2 amplitudes. t2 : Namespace of arrays T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.make_rdm1_f--returns","text":"rdm1 : Namespace of arrays One-particle reduced density matrix. Source code in ebcc/codegen/UCCD.py 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 def make_rdm1_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:21.779690. 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 ( t2 . aaaa . shape [ - 1 ])), bb = Namespace ( oo = np . eye ( t2 . bbbb . shape [ 0 ]), vv = np . eye ( t2 . bbbb . shape [ - 1 ])), ) rdm1 . bb . vv = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) * 2 rdm1 . bb . vv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) rdm1 . aa . vv = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) rdm1 . aa . vv += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * 2 rdm1 . bb . oo = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * - 2 rdm1 . bb . oo += delta . bb . oo rdm1 . bb . oo += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) * - 1 rdm1 . aa . oo = np . copy ( delta . aa . oo ) del delta rdm1 . aa . oo += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) * - 1 rdm1 . aa . oo += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * - 2 rdm1 . aa . ov = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . aaaa . shape [ - 1 ])) rdm1 . aa . vo = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . aaaa . shape [ 0 ])) rdm1 . bb . ov = np . zeros (( t2 . bbbb . shape [ 0 ], t2 . bbbb . shape [ - 1 ])) rdm1 . bb . vo = np . zeros (( t2 . bbbb . shape [ - 1 ], t2 . bbbb . shape [ 0 ])) 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","title":"Returns"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.make_rdm2_f","text":"Code generated by albert 0.0.0 on 2024-08-17T18:48:30.836169.","title":"make_rdm2_f"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.make_rdm2_f--parameters","text":"l2 : Namespace of arrays L2 amplitudes. t2 : Namespace of arrays T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.make_rdm2_f--returns","text":"rdm2 : Namespace of arrays Two-particle reduced density matrix. Source code in ebcc/codegen/UCCD.py 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 def make_rdm2_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:48:30.836169. 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 ( 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 )) tmp6 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp1 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp0 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp24 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) tmp25 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp12 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp13 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp36 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp38 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 5 ), ( 3 , 4 , 1 , 5 )) tmp34 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) tmp10 = np . copy ( tmp5 ) tmp10 += tmp6 * 2 tmp11 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp21 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp19 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp29 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 4 , 3 , 5 , 1 )) tmp17 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) tmp3 = np . copy ( tmp0 ) tmp3 += tmp1 * 0.5 tmp4 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp42 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) tmp41 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) tmp40 = np . copy ( tmp24 ) tmp40 += tmp25 * 2 tmp23 = np . copy ( tmp12 ) tmp23 += tmp13 * 0.5 tmp26 = np . copy ( tmp24 ) * 0.5 del tmp24 tmp26 += tmp25 del tmp25 tmp14 = np . copy ( tmp12 ) * 2 del tmp12 tmp14 += tmp13 del tmp13 tmp28 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 5 , 1 ), ( 5 , 0 , 4 , 3 )) tmp37 = einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp39 = einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) tmp35 = einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp32 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp10 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 tmp33 = einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 0 , 4 , 5 ), ( 3 , 2 , 4 , 5 )) tmp8 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 5 ), ( 4 , 0 , 5 , 1 )) tmp31 = np . copy ( tmp19 ) * 4 tmp31 += tmp21 tmp30 = np . copy ( tmp29 ) tmp30 += tmp17 tmp27 = np . copy ( tmp0 ) * 2 tmp27 += tmp1 tmp20 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp19 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) tmp15 = einsum ( tmp3 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 2 tmp18 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp22 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp16 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 0 , 4 , 5 ), ( 5 , 4 , 2 , 3 )) tmp9 = np . copy ( delta . bb . oo ) * - 0.5 tmp9 += tmp5 * 0.5 tmp9 += tmp6 tmp7 = np . copy ( delta . bb . oo ) * - 1 tmp7 += tmp5 del tmp5 tmp7 += tmp6 * 2 del tmp6 tmp2 = np . copy ( delta . aa . oo ) * - 1 tmp2 += tmp0 * 2 del tmp0 tmp2 += tmp1 del tmp1 rdm2 . bbbb . vvvv = np . copy ( np . transpose ( tmp42 , ( 1 , 0 , 3 , 2 ))) * 2 del tmp42 rdm2 . abab . vvvv = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) rdm2 . aaaa . vvvv = np . copy ( np . transpose ( tmp41 , ( 1 , 0 , 3 , 2 ))) * 2 del tmp41 rdm2 . bbbb . vvoo = np . copy ( l2 . bbbb ) * 2 rdm2 . abab . vvoo = np . copy ( l2 . abab ) rdm2 . aaaa . vvoo = np . copy ( l2 . aaaa ) * 2 rdm2 . bbbb . vovo = einsum ( delta . bb . oo , ( 0 , 1 ), tmp40 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . vovo += np . transpose ( tmp38 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . vovo += np . transpose ( tmp36 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . abab . vovo = einsum ( tmp23 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . abab . vovo += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 5 , 1 ), ( 0 , 4 , 5 , 3 )) * - 1 rdm2 . aaaa . vovo = einsum ( tmp23 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . aaaa . vovo += np . transpose ( tmp19 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . aaaa . vovo += np . transpose ( tmp21 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . voov = einsum ( tmp26 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . bbbb . voov += np . transpose ( tmp38 , ( 2 , 1 , 0 , 3 )) rdm2 . bbbb . voov += np . transpose ( tmp36 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . abab . voov = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 4 , 0 , 5 , 2 )) * 2 rdm2 . abab . voov += np . transpose ( tmp34 , ( 2 , 1 , 0 , 3 )) * 2 del tmp34 rdm2 . aaaa . voov = einsum ( tmp14 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . voov += np . transpose ( tmp19 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . aaaa . voov += np . transpose ( tmp21 , ( 2 , 1 , 0 , 3 )) rdm2 . bbbb . ovvo = einsum ( delta . bb . oo , ( 0 , 1 ), tmp40 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . ovvo += np . transpose ( tmp38 , ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . ovvo += np . transpose ( tmp36 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . abab . ovvo = np . copy ( np . transpose ( tmp17 , ( 0 , 3 , 2 , 1 ))) * 2 del tmp17 rdm2 . abab . ovvo += np . transpose ( tmp29 , ( 0 , 3 , 2 , 1 )) * 2 del tmp29 rdm2 . aaaa . ovvo = einsum ( tmp23 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . aaaa . ovvo += np . transpose ( tmp19 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . aaaa . ovvo += np . transpose ( tmp21 , ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . ovov = einsum ( tmp26 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . bbbb . ovov += np . transpose ( tmp38 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp38 rdm2 . bbbb . ovov += np . transpose ( tmp36 , ( 1 , 2 , 0 , 3 )) * - 4 del tmp36 rdm2 . abab . ovov = einsum ( tmp40 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . ovov += np . transpose ( tmp28 , ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . aaaa . ovov = einsum ( tmp14 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . ovov += np . transpose ( tmp19 , ( 1 , 2 , 0 , 3 )) * - 4 del tmp19 rdm2 . aaaa . ovov += np . transpose ( tmp21 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp21 rdm2 . bbbb . oovv = np . copy ( t2 . bbbb ) * 2 rdm2 . bbbb . oovv += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp26 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 4 rdm2 . bbbb . oovv += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . bbbb . oovv += np . transpose ( tmp32 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp32 rdm2 . bbbb . oovv += np . transpose ( tmp33 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp33 rdm2 . bbbb . oovv += np . transpose ( tmp35 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp37 , ( 0 , 1 , 3 , 2 )) * - 8 rdm2 . bbbb . oovv += np . transpose ( tmp39 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp39 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 )) * 2 del tmp35 rdm2 . bbbb . oovv += tmp37 * 8 del tmp37 rdm2 . bbbb . oovv += tmp39 * 2 rdm2 . bbbb . oovv += np . transpose ( tmp39 , ( 1 , 0 , 3 , 2 )) * 2 del tmp39 rdm2 . bbbb . oovv += einsum ( tmp40 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp40 rdm2 . abab . oovv = np . copy ( t2 . abab ) rdm2 . abab . oovv += einsum ( tmp26 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp26 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 0 , 4 ), ( 4 , 1 , 2 , 3 )) * - 1 del tmp27 rdm2 . abab . oovv += einsum ( tmp10 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp8 , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp28 , ( 0 , 4 , 3 , 5 ), ( 4 , 1 , 2 , 5 )) del tmp28 rdm2 . abab . oovv += einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 4 del tmp30 rdm2 . abab . oovv += einsum ( tmp31 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp31 rdm2 . abab . oovv += einsum ( tmp14 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 rdm2 . aaaa . oovv = np . copy ( t2 . aaaa ) * 2 rdm2 . aaaa . oovv += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp14 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp14 rdm2 . aaaa . oovv += np . transpose ( tmp15 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . aaaa . oovv += np . transpose ( tmp15 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp15 rdm2 . aaaa . oovv += np . transpose ( tmp16 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp16 rdm2 . aaaa . oovv += np . transpose ( tmp18 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) * - 8 rdm2 . aaaa . oovv += np . transpose ( tmp22 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += np . transpose ( tmp22 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . aaaa . oovv += tmp18 * 2 del tmp18 rdm2 . aaaa . oovv += tmp20 * 8 del tmp20 rdm2 . aaaa . oovv += tmp22 * 2 rdm2 . aaaa . oovv += np . transpose ( tmp22 , ( 1 , 0 , 3 , 2 )) * 2 del tmp22 rdm2 . aaaa . oovv += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp23 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * 4 del tmp23 rdm2 . bbbb . oooo = einsum ( tmp9 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . bbbb . oooo += einsum ( tmp9 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * 2 del tmp9 rdm2 . bbbb . oooo += einsum ( tmp10 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . bbbb . oooo += einsum ( tmp10 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) del tmp10 rdm2 . bbbb . oooo += np . transpose ( tmp11 , ( 3 , 2 , 1 , 0 )) * 2 del tmp11 rdm2 . abab . oooo = einsum ( tmp7 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 del tmp7 rdm2 . abab . oooo += einsum ( tmp3 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 2 rdm2 . abab . oooo += np . transpose ( tmp8 , ( 1 , 3 , 0 , 2 )) del tmp8 rdm2 . aaaa . oooo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . aaaa . oooo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) del tmp2 rdm2 . aaaa . oooo += einsum ( tmp3 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 2 rdm2 . aaaa . oooo += einsum ( tmp3 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * 2 del tmp3 , delta rdm2 . aaaa . oooo += np . transpose ( tmp4 , ( 3 , 2 , 1 , 0 )) * 2 del tmp4 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 . abab . ooov = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ 0 ], t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ - 1 ])) rdm2 . abab . oovo = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ 0 ], t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ 0 ])) rdm2 . abab . ovoo = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ - 1 ], t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ 0 ])) rdm2 . abab . vooo = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ 0 ], t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ 0 ])) rdm2 . abab . ovvv = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ - 1 ], t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ - 1 ])) rdm2 . abab . vovv = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ 0 ], t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ - 1 ])) rdm2 . abab . vvov = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ - 1 ], t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ - 1 ])) rdm2 . abab . vvvo = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ - 1 ], t2 . aaaa . shape [ - 1 ], t2 . bbbb . 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 = 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","title":"Returns"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.hbar_matvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:49:02.648103.","title":"hbar_matvec_ip_intermediates"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.hbar_matvec_ip_intermediates--parameters","text":"f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.hbar_matvec_ip_intermediates--returns","text":"tmp10 : array tmp100 : array tmp102 : array tmp104 : array tmp106 : array tmp108 : array tmp110 : array tmp111 : array tmp112 : array tmp113 : array tmp114 : array tmp115 : array tmp117 : array tmp119 : array tmp12 : array tmp126 : array tmp127 : array tmp131 : array tmp133 : array tmp137 : array tmp139 : array tmp141 : array tmp151 : array tmp17 : array tmp18 : array tmp19 : array tmp21 : array tmp24 : array tmp25 : array tmp27 : array tmp28 : array tmp29 : array tmp3 : array tmp31 : array tmp33 : array tmp35 : array tmp37 : array tmp39 : array tmp41 : array tmp43 : array tmp45 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp62 : array tmp64 : array tmp67 : array tmp68 : array tmp69 : array tmp76 : array tmp77 : array tmp80 : array tmp90 : array tmp93 : array tmp94 : array tmp96 : array tmp97 : array tmp98 : array Source code in ebcc/codegen/UCCD.py 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 def hbar_matvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:49:02.648103. Parameters ---------- f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- tmp10 : array tmp100 : array tmp102 : array tmp104 : array tmp106 : array tmp108 : array tmp110 : array tmp111 : array tmp112 : array tmp113 : array tmp114 : array tmp115 : array tmp117 : array tmp119 : array tmp12 : array tmp126 : array tmp127 : array tmp131 : array tmp133 : array tmp137 : array tmp139 : array tmp141 : array tmp151 : array tmp17 : array tmp18 : array tmp19 : array tmp21 : array tmp24 : array tmp25 : array tmp27 : array tmp28 : array tmp29 : array tmp3 : array tmp31 : array tmp33 : array tmp35 : array tmp37 : array tmp39 : array tmp41 : array tmp43 : array tmp45 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp62 : array tmp64 : array tmp67 : array tmp68 : array tmp69 : array tmp76 : array tmp77 : array tmp80 : array tmp90 : array tmp93 : array tmp94 : array tmp96 : array tmp97 : array tmp98 : array \"\"\" tmp151 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp141 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp139 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp137 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp133 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp131 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp127 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp126 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp119 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp117 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp115 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp114 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 4 , 2 , 5 , 1 ), ( 0 , 4 , 5 , 3 )) tmp113 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) tmp112 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp111 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp110 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp108 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp106 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp104 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp102 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) tmp100 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 0 , 5 ), ( 4 , 1 , 5 , 3 )) tmp98 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp97 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) tmp96 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp94 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp93 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp90 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp80 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp77 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp76 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp69 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 3 , 5 )) tmp68 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp67 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp64 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp62 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 2 , 0 )) tmp51 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp49 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp47 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp45 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp43 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp41 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp39 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp37 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp35 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 tmp33 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp31 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp29 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp28 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp27 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 1 tmp25 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp24 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp21 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp19 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp18 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp17 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp12 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp10 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp5 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp3 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) * - 1 return { f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp102\" : tmp102 , f \"tmp104\" : tmp104 , f \"tmp106\" : tmp106 , f \"tmp108\" : tmp108 , f \"tmp110\" : tmp110 , f \"tmp111\" : tmp111 , f \"tmp112\" : tmp112 , f \"tmp113\" : tmp113 , f \"tmp114\" : tmp114 , f \"tmp115\" : tmp115 , f \"tmp117\" : tmp117 , f \"tmp119\" : tmp119 , f \"tmp12\" : tmp12 , f \"tmp126\" : tmp126 , f \"tmp127\" : tmp127 , f \"tmp131\" : tmp131 , f \"tmp133\" : tmp133 , f \"tmp137\" : tmp137 , f \"tmp139\" : tmp139 , f \"tmp141\" : tmp141 , f \"tmp151\" : tmp151 , f \"tmp17\" : tmp17 , f \"tmp18\" : tmp18 , f \"tmp19\" : tmp19 , f \"tmp21\" : tmp21 , f \"tmp24\" : tmp24 , f \"tmp25\" : tmp25 , f \"tmp27\" : tmp27 , f \"tmp28\" : tmp28 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp31\" : tmp31 , f \"tmp33\" : tmp33 , f \"tmp35\" : tmp35 , f \"tmp37\" : tmp37 , f \"tmp39\" : tmp39 , f \"tmp41\" : tmp41 , f \"tmp43\" : tmp43 , f \"tmp45\" : tmp45 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp51\" : tmp51 , f \"tmp62\" : tmp62 , f \"tmp64\" : tmp64 , f \"tmp67\" : tmp67 , f \"tmp68\" : tmp68 , f \"tmp69\" : tmp69 , f \"tmp76\" : tmp76 , f \"tmp77\" : tmp77 , f \"tmp80\" : tmp80 , f \"tmp90\" : tmp90 , f \"tmp93\" : tmp93 , f \"tmp94\" : tmp94 , f \"tmp96\" : tmp96 , f \"tmp97\" : tmp97 , f \"tmp98\" : tmp98 }","title":"Returns"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.hbar_matvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T18:49:02.687282.","title":"hbar_matvec_ip"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.hbar_matvec_ip--parameters","text":"f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 amplitudes. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.hbar_matvec_ip--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UCCD.py 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 def hbar_matvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:49:02.687282. Parameters ---------- f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp49 = np . copy ( ints . tmp137 ) del ints . tmp137 tmp49 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) * 0.5 tmp45 = np . copy ( ints . tmp106 ) tmp45 += ints . tmp110 * 0.5 tmp47 = np . copy ( ints . tmp10 ) * 2 tmp47 += ints . tmp12 tmp55 = np . copy ( ints . tmp102 ) tmp55 += ints . tmp108 * 2 tmp57 = np . copy ( ints . tmp141 ) del ints . tmp141 tmp57 += ints . tmp139 * 2 del ints . tmp139 tmp9 = np . copy ( ints . tmp29 ) del ints . tmp29 tmp9 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) * 0.5 tmp7 = np . copy ( ints . tmp3 ) * 2 tmp7 += ints . tmp5 tmp5 = np . copy ( ints . tmp45 ) tmp5 += ints . tmp49 * 2 tmp3 = np . copy ( ints . tmp41 ) tmp3 += ints . tmp47 * 0.5 tmp17 = np . copy ( ints . tmp33 ) del ints . tmp33 tmp17 += ints . tmp31 * 2 del ints . tmp31 tmp43 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovov , ( 0 , 2 , 3 , 4 ), ( 1 , 3 , 4 )) tmp50 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 0 , 1 , 3 )) * 2 del tmp49 tmp42 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp100 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) tmp44 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . oovv , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp46 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp45 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 4 del tmp45 tmp48 = einsum ( tmp47 , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) * - 2 del tmp47 tmp56 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp55 , ( 0 , 3 , 2 , 4 ), ( 1 , 3 , 4 )) del tmp55 tmp52 = einsum ( f . bb . oo , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 0 , 2 , 3 )) tmp53 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp104 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) tmp54 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . ovov , ( 3 , 4 , 1 , 2 ), ( 0 , 3 , 4 )) tmp58 = einsum ( tmp57 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 0 , 1 , 3 )) del tmp57 tmp32 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 0 , 2 , 1 ), ( 3 ,)) * - 1 tmp31 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovov , ( 0 , 2 , 1 , 3 ), ( 3 ,)) tmp22 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovov , ( 0 , 3 , 1 , 2 ), ( 3 ,)) tmp23 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . ovov , ( 1 , 3 , 0 , 2 ), ( 3 ,)) * - 1 tmp10 = einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 0 , 1 , 3 )) * 2 del tmp9 tmp2 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp8 = einsum ( tmp7 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) * - 2 del tmp7 tmp6 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp5 , ( 3 , 0 , 4 , 2 ), ( 1 , 3 , 4 )) * - 1 del tmp5 tmp4 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp3 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 4 del tmp3 tmp15 = einsum ( ints . tmp43 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * - 1 tmp18 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 0 , 1 , 3 )) del tmp17 tmp13 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp39 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) tmp14 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 3 ), ( 4 , 0 , 1 )) tmp16 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . ovov , ( 3 , 4 , 0 , 2 ), ( 1 , 3 , 4 )) * - 1 tmp12 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), f . aa . oo , ( 3 , 1 ), ( 3 , 0 , 2 )) tmp51 = np . copy ( tmp42 ) del tmp42 tmp51 += tmp43 del tmp43 tmp51 += tmp44 * 2 del tmp44 tmp51 += np . transpose ( tmp46 , ( 1 , 0 , 2 )) * - 1 del tmp46 tmp51 += np . transpose ( tmp48 , ( 1 , 0 , 2 )) del tmp48 tmp51 += tmp50 del tmp50 tmp39 = np . copy ( np . transpose ( ints . tmp115 , ( 1 , 0 ))) * 2 del ints . tmp115 tmp39 += np . transpose ( ints . tmp117 , ( 1 , 0 )) del ints . tmp117 tmp39 += f . bb . vv * - 1 tmp41 = np . copy ( f . bb . ov ) tmp41 += ints . tmp127 del ints . tmp127 tmp41 += ints . tmp93 del ints . tmp93 tmp41 += ints . tmp94 * 2 del ints . tmp94 tmp41 += ints . tmp112 * - 2 del ints . tmp112 tmp41 += ints . tmp113 * - 1 del ints . tmp113 tmp41 += ints . tmp126 * - 2 del ints . tmp126 tmp60 = np . copy ( ints . tmp133 ) del ints . tmp133 tmp60 += np . transpose ( v . bbbb . oooo , ( 0 , 2 , 3 , 1 )) * - 1 tmp59 = np . copy ( tmp52 ) * 2 del tmp52 tmp59 += tmp53 * 4 del tmp53 tmp59 += tmp54 * 2 del tmp54 tmp59 += np . transpose ( tmp56 , ( 1 , 0 , 2 )) del tmp56 tmp59 += tmp58 del tmp58 tmp61 = np . copy ( ints . tmp131 ) del ints . tmp131 tmp61 += np . transpose ( ints . tmp151 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp151 tmp33 = np . copy ( tmp31 ) * - 1 del tmp31 tmp33 += tmp32 * 2 del tmp32 tmp24 = np . copy ( tmp22 ) * 2 del tmp22 tmp24 += tmp23 del tmp23 tmp37 = np . copy ( ints . tmp119 ) del ints . tmp119 tmp37 += v . aabb . oovv * - 1 tmp38 = np . copy ( ints . tmp64 ) tmp38 += v . aabb . oooo tmp36 = np . copy ( ints . tmp102 ) del ints . tmp102 tmp36 += ints . tmp108 * 2 del ints . tmp108 tmp36 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp36 += ints . tmp100 * - 1 del ints . tmp100 tmp0 = np . copy ( f . aa . oo ) tmp0 += np . transpose ( ints . tmp3 , ( 1 , 0 )) * 2 del ints . tmp3 tmp0 += np . transpose ( ints . tmp5 , ( 1 , 0 )) del ints . tmp5 tmp1 = np . copy ( f . bb . oo ) tmp1 += np . transpose ( ints . tmp10 , ( 1 , 0 )) * 2 del ints . tmp10 tmp1 += np . transpose ( ints . tmp12 , ( 1 , 0 )) del ints . tmp12 tmp40 = np . copy ( ints . tmp111 ) del ints . tmp111 tmp40 += np . transpose ( ints . tmp90 , ( 1 , 0 , 2 , 3 )) del ints . tmp90 tmp40 += np . transpose ( ints . tmp97 , ( 1 , 0 , 2 , 3 )) del ints . tmp97 tmp40 += np . transpose ( ints . tmp98 , ( 1 , 0 , 2 , 3 )) * 2 del ints . tmp98 tmp40 += v . aabb . ooov tmp40 += np . transpose ( ints . tmp114 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp114 tmp40 += np . transpose ( ints . tmp96 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp96 tmp35 = np . copy ( ints . tmp106 ) * 2 del ints . tmp106 tmp35 += ints . tmp110 del ints . tmp110 tmp35 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp35 += ints . tmp104 * - 2 del ints . tmp104 tmp35 += v . bbbb . oovv * - 1 tmp30 = np . copy ( ints . tmp64 ) del ints . tmp64 tmp30 += v . aabb . oooo tmp27 = np . copy ( ints . tmp41 ) * 2 del ints . tmp41 tmp27 += ints . tmp47 del ints . tmp47 tmp27 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp27 += ints . tmp39 * - 2 del ints . tmp39 tmp27 += v . aaaa . oovv * - 1 tmp29 = np . copy ( ints . tmp80 ) del ints . tmp80 tmp29 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) * - 1 tmp21 = np . copy ( np . transpose ( ints . tmp35 , ( 1 , 0 ))) * 2 del ints . tmp35 tmp21 += np . transpose ( ints . tmp37 , ( 1 , 0 )) del ints . tmp37 tmp21 += f . aa . vv * - 1 tmp34 = np . copy ( ints . tmp62 ) del ints . tmp62 tmp34 += ints . tmp68 del ints . tmp68 tmp34 += ints . tmp69 * 2 del ints . tmp69 tmp34 += np . transpose ( ints . tmp76 , ( 0 , 2 , 1 , 3 )) del ints . tmp76 tmp34 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp34 += ints . tmp67 * - 1 del ints . tmp67 tmp34 += ints . tmp77 * - 1 del ints . tmp77 tmp26 = np . copy ( f . aa . ov ) tmp26 += ints . tmp18 del ints . tmp18 tmp26 += ints . tmp24 * 2 del ints . tmp24 tmp26 += ints . tmp25 del ints . tmp25 tmp26 += ints . tmp17 * - 2 del ints . tmp17 tmp26 += ints . tmp27 * - 2 del ints . tmp27 tmp26 += ints . tmp28 * - 1 del ints . tmp28 tmp28 = np . copy ( ints . tmp45 ) del ints . tmp45 tmp28 += ints . tmp49 * 2 del ints . tmp49 tmp28 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp28 += ints . tmp43 * - 1 del ints . tmp43 tmp20 = np . copy ( ints . tmp21 ) del ints . tmp21 tmp20 += np . transpose ( v . aaaa . oooo , ( 0 , 2 , 3 , 1 )) * - 1 tmp11 = np . copy ( tmp2 ) * 2 del tmp2 tmp11 += np . transpose ( tmp4 , ( 1 , 0 , 2 )) * - 1 del tmp4 tmp11 += np . transpose ( tmp6 , ( 1 , 0 , 2 )) del tmp6 tmp11 += np . transpose ( tmp8 , ( 1 , 0 , 2 )) del tmp8 tmp11 += tmp10 del tmp10 tmp25 = np . copy ( ints . tmp19 ) del ints . tmp19 tmp25 += np . transpose ( ints . tmp51 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp51 tmp19 = np . copy ( tmp12 ) * 2 del tmp12 tmp19 += tmp13 * 4 del tmp13 tmp19 += tmp14 * 2 del tmp14 tmp19 += tmp15 del tmp15 tmp19 += tmp16 del tmp16 tmp19 += tmp18 del tmp18 r2new . bbb = np . copy ( tmp51 ) * - 1 r2new . bbb += np . transpose ( tmp51 , ( 1 , 0 , 2 )) del tmp51 r2new . bbb += tmp59 r2new . bbb += np . transpose ( tmp59 , ( 1 , 0 , 2 )) * - 1 del tmp59 r2new . bbb += einsum ( tmp60 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) * 2 del tmp60 r2new . bbb += einsum ( tmp39 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bbb += einsum ( tmp33 , ( 0 ,), t2 . bbbb , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 2 r2new . bbb += einsum ( tmp61 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 1 , 0 , 3 )) * 2 del tmp61 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp41 , ( 1 , 2 ), ( 0 , 1 , 2 )) r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp41 , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 r2new . bab = einsum ( tmp35 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) del tmp35 r2new . bab += einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 0 , 2 ), ( 1 , 4 , 3 )) * - 2 del tmp36 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp37 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) del tmp37 r2new . bab += einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 2 , 0 , 4 )) del tmp38 r2new . bab += einsum ( tmp39 , ( 0 , 1 ), r2 . bab , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp39 r2new . bab += einsum ( tmp24 , ( 0 ,), t2 . abab , ( 1 , 2 , 0 , 3 ), ( 2 , 1 , 3 )) r2new . bab += einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 0 ,), ( 2 , 1 , 3 )) del tmp40 r2new . bab += einsum ( tmp1 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . bab += einsum ( tmp0 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . bab += einsum ( tmp41 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) * - 1 del tmp41 r2new . aba = einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) del tmp27 r2new . aba += einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 1 , 3 ), ( 0 , 4 , 2 )) * - 2 del tmp28 r2new . aba += einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) del tmp29 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp30 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) del tmp30 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp21 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( tmp33 , ( 0 ,), t2 . abab , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) del tmp33 r2new . aba += einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 0 , 1 , 3 )) del tmp34 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp1 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . aba += einsum ( tmp0 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp26 , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 r2new . aaa = np . copy ( tmp11 ) * - 1 r2new . aaa += np . transpose ( tmp11 , ( 1 , 0 , 2 )) del tmp11 r2new . aaa += tmp19 r2new . aaa += np . transpose ( tmp19 , ( 1 , 0 , 2 )) * - 1 del tmp19 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp20 , ( 3 , 4 , 0 , 1 ), ( 3 , 4 , 2 )) * 2 del tmp20 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp21 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp21 r2new . aaa += einsum ( tmp24 , ( 0 ,), t2 . aaaa , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 2 del tmp24 r2new . aaa += einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 1 , 0 , 3 )) * 2 del tmp25 r2new . aaa += einsum ( tmp26 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 2 , 0 , 1 )) r2new . aaa += einsum ( tmp26 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) * - 1 del tmp26 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), f . aa . ov , ( 0 , 2 ), ( 1 ,)) * - 1 r1new . b += einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 1 , 2 , 3 ), ( 0 ,)) * - 2 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), f . bb . ov , ( 1 , 2 ), ( 0 ,)) * 2 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovoo , ( 0 , 2 , 3 , 1 ), ( 3 ,)) r1new . b += einsum ( r1 . b , ( 0 ,), tmp1 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp1 r1new . a = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 1 , 3 ), ( 0 ,)) r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), f . aa . ov , ( 1 , 2 ), ( 0 ,)) * 2 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ooov , ( 3 , 1 , 0 , 2 ), ( 3 ,)) * 2 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), f . bb . ov , ( 0 , 2 ), ( 1 ,)) * - 1 r1new . a += einsum ( tmp0 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp0 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.hbar_matvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:49:33.602862.","title":"hbar_matvec_ea_intermediates"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.hbar_matvec_ea_intermediates--parameters","text":"f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.hbar_matvec_ea_intermediates--returns","text":"tmp10 : array tmp101 : array tmp102 : array tmp103 : array tmp105 : array tmp107 : array tmp108 : array tmp109 : array tmp110 : array tmp111 : array tmp115 : array tmp117 : array tmp119 : array tmp12 : array tmp121 : array tmp123 : array tmp125 : array tmp126 : array tmp127 : array tmp131 : array tmp133 : array tmp135 : array tmp14 : array tmp148 : array tmp15 : array tmp19 : array tmp21 : array tmp23 : array tmp27 : array tmp29 : array tmp3 : array tmp31 : array tmp33 : array tmp35 : array tmp37 : array tmp43 : array tmp44 : array tmp45 : array tmp5 : array tmp55 : array tmp56 : array tmp57 : array tmp59 : array tmp62 : array tmp65 : array tmp67 : array tmp78 : array tmp79 : array tmp80 : array tmp90 : array tmp93 : array tmp94 : array Source code in ebcc/codegen/UCCD.py 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 def hbar_matvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:49:33.602862. Parameters ---------- f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- tmp10 : array tmp101 : array tmp102 : array tmp103 : array tmp105 : array tmp107 : array tmp108 : array tmp109 : array tmp110 : array tmp111 : array tmp115 : array tmp117 : array tmp119 : array tmp12 : array tmp121 : array tmp123 : array tmp125 : array tmp126 : array tmp127 : array tmp131 : array tmp133 : array tmp135 : array tmp14 : array tmp148 : array tmp15 : array tmp19 : array tmp21 : array tmp23 : array tmp27 : array tmp29 : array tmp3 : array tmp31 : array tmp33 : array tmp35 : array tmp37 : array tmp43 : array tmp44 : array tmp45 : array tmp5 : array tmp55 : array tmp56 : array tmp57 : array tmp59 : array tmp62 : array tmp65 : array tmp67 : array tmp78 : array tmp79 : array tmp80 : array tmp90 : array tmp93 : array tmp94 : array \"\"\" tmp148 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp135 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) tmp133 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp131 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp127 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) tmp126 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp125 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp123 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp121 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp119 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp117 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) tmp115 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 0 , 5 ), ( 4 , 1 , 5 , 3 )) tmp111 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp110 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 0 , 4 , 5 , 2 ), ( 1 , 4 , 5 , 3 )) tmp109 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 5 , 3 )) tmp108 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp107 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp105 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp103 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp102 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp101 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp94 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 4 , 5 , 1 ), ( 5 , 2 , 4 , 3 )) tmp93 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp90 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 4 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) tmp80 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp79 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp78 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp67 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp65 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp62 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp59 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp57 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) * - 1 tmp56 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp55 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 4 )) * - 1 tmp45 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 0 , 5 ), ( 4 , 2 , 3 , 5 )) * - 1 tmp44 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp43 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 1 tmp37 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp35 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp33 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp31 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp29 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp27 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp23 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 5 , 0 , 1 )) tmp21 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp19 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp15 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp14 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp12 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp10 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp5 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp3 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 return { f \"tmp10\" : tmp10 , f \"tmp101\" : tmp101 , f \"tmp102\" : tmp102 , f \"tmp103\" : tmp103 , f \"tmp105\" : tmp105 , f \"tmp107\" : tmp107 , f \"tmp108\" : tmp108 , f \"tmp109\" : tmp109 , f \"tmp110\" : tmp110 , f \"tmp111\" : tmp111 , f \"tmp115\" : tmp115 , f \"tmp117\" : tmp117 , f \"tmp119\" : tmp119 , f \"tmp12\" : tmp12 , f \"tmp121\" : tmp121 , f \"tmp123\" : tmp123 , f \"tmp125\" : tmp125 , f \"tmp126\" : tmp126 , f \"tmp127\" : tmp127 , f \"tmp131\" : tmp131 , f \"tmp133\" : tmp133 , f \"tmp135\" : tmp135 , f \"tmp14\" : tmp14 , f \"tmp148\" : tmp148 , f \"tmp15\" : tmp15 , f \"tmp19\" : tmp19 , f \"tmp21\" : tmp21 , f \"tmp23\" : tmp23 , f \"tmp27\" : tmp27 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp31\" : tmp31 , f \"tmp33\" : tmp33 , f \"tmp35\" : tmp35 , f \"tmp37\" : tmp37 , f \"tmp43\" : tmp43 , f \"tmp44\" : tmp44 , f \"tmp45\" : tmp45 , f \"tmp5\" : tmp5 , f \"tmp55\" : tmp55 , f \"tmp56\" : tmp56 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp62\" : tmp62 , f \"tmp65\" : tmp65 , f \"tmp67\" : tmp67 , f \"tmp78\" : tmp78 , f \"tmp79\" : tmp79 , f \"tmp80\" : tmp80 , f \"tmp90\" : tmp90 , f \"tmp93\" : tmp93 , f \"tmp94\" : tmp94 }","title":"Returns"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.hbar_matvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T18:49:33.643752.","title":"hbar_matvec_ea"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.hbar_matvec_ea--parameters","text":"f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 amplitudes. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.hbar_matvec_ea--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UCCD.py 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 def hbar_matvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:49:33.643752. Parameters ---------- f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp50 = np . copy ( ints . tmp131 ) del ints . tmp131 tmp50 += ints . tmp135 * 0.5 del ints . tmp135 tmp50 += v . bbbb . ovvv * 0.5 tmp39 = np . copy ( np . transpose ( ints . tmp10 , ( 1 , 0 ))) tmp39 += np . transpose ( ints . tmp12 , ( 1 , 0 )) * 0.5 tmp39 += f . bb . vv * - 0.5 tmp47 = np . copy ( ints . tmp121 ) * 2 tmp47 += ints . tmp125 tmp56 = np . copy ( ints . tmp117 ) tmp56 += ints . tmp123 * 2 tmp10 = np . copy ( ints . tmp19 ) del ints . tmp19 tmp10 += ints . tmp23 * 0.5 del ints . tmp23 tmp10 += v . aaaa . ovvv * 0.5 tmp8 = np . copy ( np . transpose ( ints . tmp3 , ( 1 , 0 ))) tmp8 += np . transpose ( ints . tmp5 , ( 1 , 0 )) * 0.5 tmp8 += f . aa . vv * - 0.5 tmp4 = np . copy ( ints . tmp29 ) * 2 tmp4 += ints . tmp35 tmp6 = np . copy ( ints . tmp33 ) * 0.5 tmp6 += ints . tmp37 tmp51 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 0 , 1 , 2 )) * 2 del tmp50 tmp44 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp115 , ( 2 , 3 , 0 , 4 ), ( 3 , 4 , 1 )) tmp49 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp39 , ( 1 , 3 ), ( 2 , 0 , 3 )) * - 4 tmp46 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . oovv , ( 3 , 2 , 4 , 1 ), ( 3 , 0 , 4 )) tmp48 = einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 1 ), ( 0 , 4 , 2 )) * - 2 del tmp47 tmp45 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 4 , 0 ), ( 2 , 4 , 3 )) tmp32 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . ovov , ( 3 , 0 , 2 , 1 ), ( 3 ,)) tmp30 = einsum ( r1 . b , ( 0 ,), f . bb . ov , ( 1 , 0 ), ( 1 ,)) tmp31 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 0 ), ( 2 ,)) tmp54 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp119 , ( 3 , 2 , 4 , 1 ), ( 3 , 4 , 0 )) tmp57 = einsum ( tmp56 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 1 , 4 , 3 )) del tmp56 tmp55 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . ovov , ( 3 , 4 , 2 , 1 ), ( 3 , 0 , 4 )) tmp53 = einsum ( r1 . b , ( 0 ,), ints . tmp133 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del ints . tmp133 tmp20 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovov , ( 3 , 1 , 2 , 0 ), ( 3 ,)) * - 1 tmp21 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 2 ), ( 0 ,)) * - 1 tmp19 = einsum ( f . aa . ov , ( 0 , 1 ), r1 . a , ( 1 ,), ( 0 ,)) tmp15 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovov , ( 3 , 4 , 2 , 1 ), ( 3 , 0 , 4 )) tmp13 = einsum ( r1 . a , ( 0 ,), ints . tmp21 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del ints . tmp21 tmp14 = einsum ( ints . tmp27 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 3 , 1 ), ( 0 , 2 , 4 )) tmp16 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp31 , ( 3 , 2 , 4 , 0 ), ( 3 , 4 , 1 )) * - 1 tmp17 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 2 ), ( 0 , 4 , 1 )) * - 1 tmp11 = einsum ( r1 . a , ( 0 ,), tmp10 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 2 del tmp10 tmp9 = einsum ( tmp8 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 4 del tmp8 tmp5 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 3 , 1 ), ( 0 , 4 , 2 )) * - 2 del tmp4 tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 0 , 4 , 2 )) * - 2 del tmp6 tmp3 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 3 , 1 ), ( 0 , 4 , 2 )) tmp41 = np . copy ( f . bb . oo ) tmp41 += np . transpose ( ints . tmp103 , ( 1 , 0 )) * 2 del ints . tmp103 tmp41 += np . transpose ( ints . tmp105 , ( 1 , 0 )) del ints . tmp105 tmp42 = np . copy ( f . bb . ov ) tmp42 += ints . tmp102 del ints . tmp102 tmp42 += ints . tmp107 del ints . tmp107 tmp42 += ints . tmp108 * 2 del ints . tmp108 tmp42 += ints . tmp101 * - 2 del ints . tmp101 tmp42 += ints . tmp126 * - 2 del ints . tmp126 tmp42 += ints . tmp127 * - 1 del ints . tmp127 tmp52 = np . copy ( tmp44 ) del tmp44 tmp52 += tmp45 del tmp45 tmp52 += tmp46 * 2 del tmp46 tmp52 += np . transpose ( tmp48 , ( 0 , 2 , 1 )) * - 1 del tmp48 tmp52 += np . transpose ( tmp49 , ( 0 , 2 , 1 )) del tmp49 tmp52 += tmp51 del tmp51 tmp43 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 1 , 4 ), ( 4 , 0 , 2 )) * - 1 tmp59 = np . copy ( tmp30 ) * 0.5 tmp59 += tmp31 * - 0.5 tmp59 += tmp32 tmp58 = np . copy ( tmp53 ) * 2 del tmp53 tmp58 += tmp54 * 4 del tmp54 tmp58 += tmp55 * 2 del tmp55 tmp58 += np . transpose ( tmp57 , ( 0 , 2 , 1 )) del tmp57 tmp37 = np . copy ( ints . tmp93 ) del ints . tmp93 tmp37 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) * - 1 tmp38 = np . copy ( ints . tmp109 ) del ints . tmp109 tmp38 += ints . tmp111 * 2 del ints . tmp111 tmp38 += ints . tmp94 del ints . tmp94 tmp38 += np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 )) tmp38 += np . transpose ( ints . tmp110 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp110 tmp38 += ints . tmp90 * - 1 del ints . tmp90 tmp36 = np . copy ( ints . tmp117 ) del ints . tmp117 tmp36 += ints . tmp123 * 2 del ints . tmp123 tmp36 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp36 += ints . tmp115 * - 1 del ints . tmp115 tmp0 = np . copy ( np . transpose ( ints . tmp3 , ( 1 , 0 ))) * 2 del ints . tmp3 tmp0 += np . transpose ( ints . tmp5 , ( 1 , 0 )) del ints . tmp5 tmp0 += f . aa . vv * - 1 tmp40 = np . copy ( tmp19 ) tmp40 += tmp20 * 2 tmp40 += tmp21 tmp35 = np . copy ( ints . tmp121 ) * 2 del ints . tmp121 tmp35 += ints . tmp125 del ints . tmp125 tmp35 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp35 += ints . tmp119 * - 2 del ints . tmp119 tmp35 += v . bbbb . oovv * - 1 tmp34 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 0 , 4 , 2 )) * - 1 tmp24 = np . copy ( f . aa . ov ) tmp24 += ints . tmp14 * 2 del ints . tmp14 tmp24 += ints . tmp15 del ints . tmp15 tmp24 += ints . tmp56 del ints . tmp56 tmp24 += ints . tmp43 * - 2 del ints . tmp43 tmp24 += ints . tmp44 * - 1 del ints . tmp44 tmp24 += ints . tmp55 * - 2 del ints . tmp55 tmp1 = np . copy ( np . transpose ( ints . tmp10 , ( 1 , 0 ))) * 2 del ints . tmp10 tmp1 += np . transpose ( ints . tmp12 , ( 1 , 0 )) del ints . tmp12 tmp1 += f . bb . vv * - 1 tmp27 = np . copy ( ints . tmp33 ) del ints . tmp33 tmp27 += ints . tmp37 * 2 del ints . tmp37 tmp27 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp27 += ints . tmp31 * - 1 del ints . tmp31 tmp25 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 4 ), ( 4 , 0 , 2 )) tmp29 = np . copy ( ints . tmp67 ) del ints . tmp67 tmp29 += ints . tmp78 del ints . tmp78 tmp29 += ints . tmp80 * 2 del ints . tmp80 tmp29 += v . aabb . ovvv tmp29 += ints . tmp62 * - 1 del ints . tmp62 tmp29 += np . transpose ( ints . tmp79 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp79 tmp23 = np . copy ( f . aa . oo ) tmp23 += np . transpose ( ints . tmp57 , ( 1 , 0 )) * 2 del ints . tmp57 tmp23 += np . transpose ( ints . tmp59 , ( 1 , 0 )) del ints . tmp59 tmp33 = np . copy ( tmp30 ) del tmp30 tmp33 += tmp31 * - 1 del tmp31 tmp33 += tmp32 * 2 del tmp32 tmp28 = np . copy ( ints . tmp65 ) del ints . tmp65 tmp28 += v . aabb . oovv * - 1 tmp26 = np . copy ( ints . tmp29 ) * 2 del ints . tmp29 tmp26 += ints . tmp35 del ints . tmp35 tmp26 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp26 += ints . tmp27 * - 2 del ints . tmp27 tmp26 += v . aaaa . oovv * - 1 tmp2 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 1 , 3 , 4 ), ( 4 , 0 , 2 )) tmp22 = np . copy ( tmp19 ) * 0.5 del tmp19 tmp22 += tmp20 del tmp20 tmp22 += tmp21 * 0.5 del tmp21 tmp18 = np . copy ( tmp13 ) * 2 del tmp13 tmp18 += tmp14 * 4 del tmp14 tmp18 += tmp15 * 2 del tmp15 tmp18 += tmp16 del tmp16 tmp18 += tmp17 del tmp17 tmp12 = np . copy ( tmp3 ) * 2 del tmp3 tmp12 += np . transpose ( tmp5 , ( 0 , 2 , 1 )) * - 1 del tmp5 tmp12 += np . transpose ( tmp7 , ( 0 , 2 , 1 )) del tmp7 tmp12 += np . transpose ( tmp9 , ( 0 , 2 , 1 )) del tmp9 tmp12 += tmp11 del tmp11 r2new . bbb = einsum ( r1 . b , ( 0 ,), ints . tmp148 , ( 1 , 2 , 3 , 0 ), ( 3 , 2 , 1 )) * 2 del ints . tmp148 r2new . bbb += einsum ( tmp43 , ( 0 , 1 , 2 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 )) * - 2 del tmp43 r2new . bbb += einsum ( v . bbbb . vvvv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 1 , 4 ), ( 0 , 2 , 4 )) * - 2 r2new . bbb += np . transpose ( tmp52 , ( 1 , 2 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp52 , ( 2 , 1 , 0 )) del tmp52 r2new . bbb += np . transpose ( tmp58 , ( 1 , 2 , 0 )) r2new . bbb += np . transpose ( tmp58 , ( 2 , 1 , 0 )) * - 1 del tmp58 r2new . bbb += einsum ( tmp59 , ( 0 ,), t2 . bbbb , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) * 4 del tmp59 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp41 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 r2new . bbb += einsum ( tmp42 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 2 , 1 , 0 )) r2new . bbb += einsum ( tmp42 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 1 , 2 , 0 )) * - 1 r2new . bab = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp34 , ( 0 , 4 , 1 ), ( 3 , 2 , 4 )) * - 1 del tmp34 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . vvvv , ( 3 , 1 , 4 , 0 ), ( 4 , 3 , 2 )) r2new . bab += einsum ( tmp35 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 2 , 4 , 0 )) del tmp35 r2new . bab += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp36 , ( 2 , 3 , 1 , 4 ), ( 4 , 0 , 3 )) * - 2 del tmp36 r2new . bab += einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) del tmp37 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp38 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del tmp38 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp0 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . bab += einsum ( tmp39 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 2 del tmp39 r2new . bab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp40 , ( 0 ,), ( 3 , 2 , 1 )) del tmp40 r2new . bab += einsum ( tmp41 , ( 0 , 1 ), r2 . bab , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp41 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp42 , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 del tmp42 r2new . aba = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp25 , ( 4 , 0 , 1 ), ( 2 , 3 , 4 )) del tmp25 r2new . aba += einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) r2new . aba += einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 3 , 4 , 1 ), ( 2 , 4 , 0 )) del tmp26 r2new . aba += einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 1 ), ( 2 , 4 , 0 )) * - 2 del tmp27 r2new . aba += einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) del tmp28 r2new . aba += einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 1 , 2 , 0 )) * - 1 del tmp29 r2new . aba += einsum ( tmp0 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp1 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . aba += einsum ( tmp33 , ( 0 ,), t2 . abab , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) del tmp33 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp23 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( tmp24 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 1 , 2 , 0 )) * - 1 r2new . aaa = einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 3 , 1 , 4 ), ( 0 , 2 , 4 )) * - 2 r2new . aaa += einsum ( r1 . a , ( 0 ,), ints . tmp45 , ( 1 , 2 , 3 , 0 ), ( 3 , 2 , 1 )) * 2 del ints . tmp45 r2new . aaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 1 , 0 ), ( 2 , 3 , 4 )) * - 2 del tmp2 r2new . aaa += np . transpose ( tmp12 , ( 1 , 2 , 0 )) * - 1 r2new . aaa += np . transpose ( tmp12 , ( 2 , 1 , 0 )) del tmp12 r2new . aaa += np . transpose ( tmp18 , ( 1 , 2 , 0 )) r2new . aaa += np . transpose ( tmp18 , ( 2 , 1 , 0 )) * - 1 del tmp18 r2new . aaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp22 , ( 1 ,), ( 2 , 3 , 0 )) * 4 del tmp22 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp23 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp23 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp24 , ( 1 , 2 ), ( 0 , 2 , 1 )) r2new . aaa += einsum ( tmp24 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 1 , 2 , 0 )) * - 1 del tmp24 r1new . b = einsum ( f . bb . ov , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 0 ), ( 2 ,)) * 2 r1new . b += einsum ( f . aa . ov , ( 0 , 1 ), r2 . aba , ( 1 , 2 , 0 ), ( 2 ,)) * - 1 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovvv , ( 2 , 0 , 3 , 1 ), ( 3 ,)) * - 1 r1new . b += einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 1 , 0 ), ( 2 ,)) * 2 r1new . b += einsum ( tmp1 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp1 r1new . a = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . vvov , ( 3 , 1 , 2 , 0 ), ( 3 ,)) * - 1 r1new . a += einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 3 , 1 , 0 ), ( 2 ,)) * 2 r1new . a += einsum ( f . aa . ov , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 0 ), ( 2 ,)) * 2 r1new . a += einsum ( f . bb . ov , ( 0 , 1 ), r2 . bab , ( 1 , 2 , 0 ), ( 2 ,)) * - 1 r1new . a += einsum ( r1 . a , ( 0 ,), tmp0 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp0 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.hbar_lmatvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:05.800089.","title":"hbar_lmatvec_ip_intermediates"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.hbar_lmatvec_ip_intermediates--parameters","text":"f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.hbar_lmatvec_ip_intermediates--returns","text":"tmp1 : array tmp10 : array tmp110 : array tmp113 : array tmp115 : array tmp132 : array tmp136 : array tmp138 : array tmp14 : array tmp140 : array tmp142 : array tmp144 : array tmp146 : array tmp148 : array tmp157 : array tmp159 : array tmp16 : array tmp161 : array tmp178 : array tmp18 : array tmp20 : array tmp22 : array tmp24 : array tmp26 : array tmp28 : array tmp29 : array tmp3 : array tmp31 : array tmp32 : array tmp33 : array tmp35 : array tmp37 : array tmp39 : array tmp4 : array tmp41 : array tmp43 : array tmp45 : array tmp47 : array tmp53 : array tmp55 : array tmp59 : array tmp6 : array tmp61 : array tmp67 : array tmp68 : array tmp70 : array tmp71 : array tmp73 : array tmp74 : array tmp76 : array tmp8 : array tmp82 : array tmp84 : array tmp89 : array tmp91 : array tmp93 : array tmp95 : array tmp97 : array tmp99 : array Source code in ebcc/codegen/UCCD.py 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 def hbar_lmatvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:05.800089. Parameters ---------- f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- tmp1 : array tmp10 : array tmp110 : array tmp113 : array tmp115 : array tmp132 : array tmp136 : array tmp138 : array tmp14 : array tmp140 : array tmp142 : array tmp144 : array tmp146 : array tmp148 : array tmp157 : array tmp159 : array tmp16 : array tmp161 : array tmp178 : array tmp18 : array tmp20 : array tmp22 : array tmp24 : array tmp26 : array tmp28 : array tmp29 : array tmp3 : array tmp31 : array tmp32 : array tmp33 : array tmp35 : array tmp37 : array tmp39 : array tmp4 : array tmp41 : array tmp43 : array tmp45 : array tmp47 : array tmp53 : array tmp55 : array tmp59 : array tmp6 : array tmp61 : array tmp67 : array tmp68 : array tmp70 : array tmp71 : array tmp73 : array tmp74 : array tmp76 : array tmp8 : array tmp82 : array tmp84 : array tmp89 : array tmp91 : array tmp93 : array tmp95 : array tmp97 : array tmp99 : array \"\"\" tmp178 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp161 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp159 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp157 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp148 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp146 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp144 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp142 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp140 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp138 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp136 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp132 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp115 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp113 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 tmp110 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp99 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp97 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp95 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) tmp93 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp91 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 0 , 5 ), ( 4 , 1 , 5 , 3 )) tmp89 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp84 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 2 , 0 )) tmp82 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp76 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp74 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 3 , 5 )) tmp73 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp71 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp70 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp68 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp67 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp61 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp59 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) * - 1 tmp55 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp53 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp47 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp45 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp43 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp41 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp39 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp37 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp35 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp33 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp32 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 1 , 5 ), ( 4 , 0 , 2 , 5 )) tmp31 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) tmp29 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp28 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp26 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp24 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp22 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) tmp20 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp18 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 1 tmp16 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp14 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp10 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp8 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp6 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp4 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp3 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp1 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp110\" : tmp110 , f \"tmp113\" : tmp113 , f \"tmp115\" : tmp115 , f \"tmp132\" : tmp132 , f \"tmp136\" : tmp136 , f \"tmp138\" : tmp138 , f \"tmp14\" : tmp14 , f \"tmp140\" : tmp140 , f \"tmp142\" : tmp142 , f \"tmp144\" : tmp144 , f \"tmp146\" : tmp146 , f \"tmp148\" : tmp148 , f \"tmp157\" : tmp157 , f \"tmp159\" : tmp159 , f \"tmp16\" : tmp16 , f \"tmp161\" : tmp161 , f \"tmp178\" : tmp178 , f \"tmp18\" : tmp18 , f \"tmp20\" : tmp20 , f \"tmp22\" : tmp22 , f \"tmp24\" : tmp24 , f \"tmp26\" : tmp26 , f \"tmp28\" : tmp28 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp31\" : tmp31 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp35\" : tmp35 , f \"tmp37\" : tmp37 , f \"tmp39\" : tmp39 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp43\" : tmp43 , f \"tmp45\" : tmp45 , f \"tmp47\" : tmp47 , f \"tmp53\" : tmp53 , f \"tmp55\" : tmp55 , f \"tmp59\" : tmp59 , f \"tmp6\" : tmp6 , f \"tmp61\" : tmp61 , f \"tmp67\" : tmp67 , f \"tmp68\" : tmp68 , f \"tmp70\" : tmp70 , f \"tmp71\" : tmp71 , f \"tmp73\" : tmp73 , f \"tmp74\" : tmp74 , f \"tmp76\" : tmp76 , f \"tmp8\" : tmp8 , f \"tmp82\" : tmp82 , f \"tmp84\" : tmp84 , f \"tmp89\" : tmp89 , f \"tmp91\" : tmp91 , f \"tmp93\" : tmp93 , f \"tmp95\" : tmp95 , f \"tmp97\" : tmp97 , f \"tmp99\" : tmp99 }","title":"Returns"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.hbar_lmatvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:05.843530.","title":"hbar_lmatvec_ip"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.hbar_lmatvec_ip--parameters","text":"f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 amplitudes. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.hbar_lmatvec_ip--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UCCD.py 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:05.843530. Parameters ---------- f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp35 = einsum ( r2 . aba , ( 0 , 1 , 2 ), t2 . abab , ( 0 , 1 , 2 , 3 ), ( 3 ,)) tmp36 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 0 , 1 , 3 ), ( 2 ,)) tmp58 = np . copy ( ints . tmp142 ) tmp58 += ints . tmp146 * 2 tmp50 = np . copy ( tmp35 ) * - 0.5 tmp50 += tmp36 tmp48 = np . copy ( ints . tmp144 ) tmp48 += ints . tmp148 * 0.5 tmp52 = np . copy ( ints . tmp59 ) * 2 tmp52 += ints . tmp61 tmp14 = np . copy ( ints . tmp93 ) tmp14 += ints . tmp97 * 0.5 tmp18 = np . copy ( ints . tmp14 ) * 2 tmp18 += ints . tmp16 tmp12 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), t2 . aaaa , ( 0 , 1 , 3 , 2 ), ( 3 ,)) tmp16 = np . copy ( ints . tmp95 ) tmp16 += ints . tmp99 * 2 tmp26 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 0 , 3 , 2 ), ( 3 ,)) * - 1 tmp59 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp58 , ( 0 , 3 , 2 , 4 ), ( 1 , 3 , 4 )) del tmp58 tmp56 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp140 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) tmp55 = einsum ( f . bb . oo , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 0 , 2 , 3 )) tmp57 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . ovov , ( 3 , 4 , 1 , 2 ), ( 0 , 3 , 4 )) tmp51 = einsum ( tmp50 , ( 0 ,), v . bbbb . ovov , ( 1 , 0 , 2 , 3 ), ( 1 , 2 , 3 )) * 2 del tmp50 tmp47 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . oovv , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp49 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp48 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * - 4 del tmp48 tmp44 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), r1 . b , ( 1 ,), ( 0 , 2 , 3 )) tmp46 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovov , ( 0 , 2 , 3 , 4 ), ( 1 , 3 , 4 )) tmp53 = einsum ( tmp52 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 2 del tmp52 tmp45 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp138 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) tmp11 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp15 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp14 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * - 4 del tmp14 tmp10 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 0 , 2 , 3 )) tmp19 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp18 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 2 del tmp18 tmp13 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp12 , ( 3 ,), ( 0 , 2 , 1 )) * - 1 tmp17 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp16 , ( 3 , 0 , 4 , 2 ), ( 1 , 3 , 4 )) * - 1 del tmp16 tmp24 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp91 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 1 tmp22 = einsum ( ints . tmp89 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 0 , 2 ), ( 1 , 4 , 3 )) tmp27 = einsum ( tmp26 , ( 0 ,), v . aaaa . ovov , ( 1 , 2 , 3 , 0 ), ( 1 , 3 , 2 )) tmp25 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . ovov , ( 3 , 4 , 0 , 2 ), ( 1 , 3 , 4 )) * - 1 tmp21 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), f . aa . oo , ( 3 , 1 ), ( 3 , 0 , 2 )) tmp23 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 3 ), ( 4 , 0 , 1 )) tmp42 = np . copy ( ints . tmp157 ) * 2 del ints . tmp157 tmp42 += ints . tmp159 del ints . tmp159 tmp42 += f . bb . vv * - 1 tmp60 = np . copy ( tmp55 ) * 2 del tmp55 tmp60 += tmp56 * 4 del tmp56 tmp60 += tmp57 * 2 del tmp57 tmp60 += np . transpose ( tmp59 , ( 1 , 0 , 2 )) del tmp59 tmp54 = einsum ( f . bb . ov , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) tmp54 += tmp44 del tmp44 tmp54 += tmp45 del tmp45 tmp54 += tmp46 del tmp46 tmp54 += tmp47 * 2 del tmp47 tmp54 += np . transpose ( tmp49 , ( 1 , 0 , 2 )) * - 1 del tmp49 tmp54 += np . transpose ( tmp51 , ( 1 , 0 , 2 )) * - 1 del tmp51 tmp54 += np . transpose ( tmp53 , ( 1 , 0 , 2 )) del tmp53 tmp61 = np . copy ( ints . tmp178 ) del ints . tmp178 tmp61 += np . transpose ( v . bbbb . oooo , ( 0 , 2 , 3 , 1 )) * - 1 tmp43 = np . copy ( tmp12 ) * 2 del tmp12 tmp43 += tmp26 del tmp26 tmp38 = np . copy ( ints . tmp144 ) * 2 del ints . tmp144 tmp38 += ints . tmp148 del ints . tmp148 tmp38 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp38 += ints . tmp140 * - 2 del ints . tmp140 tmp38 += v . bbbb . oovv * - 1 tmp39 = np . copy ( ints . tmp142 ) del ints . tmp142 tmp39 += ints . tmp146 * 2 del ints . tmp146 tmp39 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp39 += ints . tmp138 * - 1 del ints . tmp138 tmp41 = np . copy ( ints . tmp132 ) tmp41 += v . aabb . oooo tmp40 = np . copy ( ints . tmp161 ) del ints . tmp161 tmp40 += v . aabb . oovv * - 1 tmp9 = np . copy ( f . bb . oo ) tmp9 += ints . tmp59 * 2 del ints . tmp59 tmp9 += ints . tmp61 del ints . tmp61 tmp4 = np . copy ( f . aa . oo ) tmp4 += ints . tmp14 * 2 del ints . tmp14 tmp4 += ints . tmp16 del ints . tmp16 tmp37 = np . copy ( tmp35 ) * - 1 del tmp35 tmp37 += tmp36 * 2 del tmp36 tmp31 = np . copy ( ints . tmp93 ) * 2 del ints . tmp93 tmp31 += ints . tmp97 del ints . tmp97 tmp31 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp31 += ints . tmp89 * - 2 del ints . tmp89 tmp31 += v . aaaa . oovv * - 1 tmp30 = np . copy ( ints . tmp113 ) * 2 del ints . tmp113 tmp30 += ints . tmp115 del ints . tmp115 tmp30 += f . aa . vv * - 1 tmp34 = np . copy ( ints . tmp132 ) del ints . tmp132 tmp34 += v . aabb . oooo tmp32 = np . copy ( ints . tmp95 ) del ints . tmp95 tmp32 += ints . tmp99 * 2 del ints . tmp99 tmp32 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp32 += ints . tmp91 * - 1 del ints . tmp91 tmp33 = np . copy ( ints . tmp136 ) del ints . tmp136 tmp33 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) * - 1 tmp20 = einsum ( f . aa . ov , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) tmp20 += tmp10 del tmp10 tmp20 += tmp11 * 2 del tmp11 tmp20 += tmp13 * 2 del tmp13 tmp20 += np . transpose ( tmp15 , ( 1 , 0 , 2 )) * - 1 del tmp15 tmp20 += np . transpose ( tmp17 , ( 1 , 0 , 2 )) del tmp17 tmp20 += np . transpose ( tmp19 , ( 1 , 0 , 2 )) del tmp19 tmp29 = np . copy ( ints . tmp110 ) del ints . tmp110 tmp29 += np . transpose ( v . aaaa . oooo , ( 0 , 2 , 3 , 1 )) * - 1 tmp28 = np . copy ( tmp21 ) * 2 del tmp21 tmp28 += tmp22 * 4 del tmp22 tmp28 += tmp23 * 2 del tmp23 tmp28 += tmp24 del tmp24 tmp28 += tmp25 del tmp25 tmp28 += tmp27 del tmp27 tmp8 = np . copy ( f . bb . ov ) tmp8 += ints . tmp3 tmp8 += ints . tmp41 tmp8 += ints . tmp6 * 2 tmp8 += ints . tmp20 * - 2 tmp8 += ints . tmp22 * - 1 tmp8 += ints . tmp39 * - 2 tmp6 = np . copy ( ints . tmp55 ) del ints . tmp55 tmp6 += np . transpose ( ints . tmp71 , ( 1 , 0 , 2 , 3 )) * 2 del ints . tmp71 tmp6 += np . transpose ( ints . tmp76 , ( 1 , 0 , 2 , 3 )) del ints . tmp76 tmp6 += np . transpose ( ints . tmp68 , ( 2 , 0 , 1 , 3 )) * - 2 del ints . tmp68 tmp6 += np . transpose ( ints . tmp82 , ( 2 , 0 , 1 , 3 )) * - 1 del ints . tmp82 tmp6 += v . bbbb . ooov * - 1 tmp5 = np . copy ( ints . tmp53 ) del ints . tmp53 tmp5 += ints . tmp70 del ints . tmp70 tmp5 += ints . tmp74 * 2 del ints . tmp74 tmp5 += np . transpose ( ints . tmp84 , ( 0 , 2 , 1 , 3 )) del ints . tmp84 tmp5 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp5 += np . transpose ( ints . tmp67 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp67 tmp5 += np . transpose ( ints . tmp73 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp73 tmp7 = np . copy ( f . aa . ov ) * 0.5 tmp7 += ints . tmp1 tmp7 += ints . tmp43 * 0.5 tmp7 += ints . tmp4 * 0.5 tmp7 += ints . tmp18 * - 1 tmp7 += ints . tmp24 * - 0.5 tmp7 += ints . tmp37 * - 1 tmp2 = np . copy ( f . aa . ov ) tmp2 += ints . tmp1 * 2 del ints . tmp1 tmp2 += ints . tmp43 del ints . tmp43 tmp2 += ints . tmp4 del ints . tmp4 tmp2 += ints . tmp18 * - 2 del ints . tmp18 tmp2 += ints . tmp24 * - 1 del ints . tmp24 tmp2 += ints . tmp37 * - 2 del ints . tmp37 tmp1 = np . copy ( ints . tmp26 ) * 2 del ints . tmp26 tmp1 += ints . tmp45 del ints . tmp45 tmp1 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) tmp1 += np . transpose ( ints . tmp29 , ( 0 , 2 , 1 , 3 )) * - 2 del ints . tmp29 tmp1 += np . transpose ( ints . tmp33 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp33 tmp1 += np . transpose ( ints . tmp8 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp8 tmp0 = np . copy ( ints . tmp10 ) del ints . tmp10 tmp0 += ints . tmp31 del ints . tmp31 tmp0 += ints . tmp35 * 2 del ints . tmp35 tmp0 += np . transpose ( ints . tmp47 , ( 1 , 0 , 2 , 3 )) del ints . tmp47 tmp0 += v . aabb . ooov tmp0 += np . transpose ( ints . tmp28 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp28 tmp0 += np . transpose ( ints . tmp32 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp32 tmp3 = np . copy ( f . bb . ov ) * 0.5 tmp3 += ints . tmp3 * 0.5 del ints . tmp3 tmp3 += ints . tmp41 * 0.5 del ints . tmp41 tmp3 += ints . tmp6 del ints . tmp6 tmp3 += ints . tmp20 * - 1 del ints . tmp20 tmp3 += ints . tmp22 * - 0.5 del ints . tmp22 tmp3 += ints . tmp39 * - 1 del ints . tmp39 r2new . bbb = np . copy ( tmp54 ) * - 1 r2new . bbb += np . transpose ( tmp54 , ( 1 , 0 , 2 )) del tmp54 r2new . bbb += tmp60 r2new . bbb += np . transpose ( tmp60 , ( 1 , 0 , 2 )) * - 1 del tmp60 r2new . bbb += einsum ( tmp61 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 0 , 1 , 4 ), ( 2 , 3 , 4 )) * 2 del tmp61 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp42 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 r2new . bab = einsum ( f . bb . ov , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) * - 1 r2new . bab += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 2 , 0 , 3 )) r2new . bab += einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) del tmp38 r2new . bab += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp39 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) * - 2 del tmp39 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp40 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) del tmp40 r2new . bab += einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 0 , 4 ), ( 3 , 1 , 4 )) del tmp41 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp42 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp42 r2new . bab += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp43 , ( 1 ,), ( 2 , 0 , 3 )) del tmp43 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp9 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new . bab += einsum ( tmp4 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . aba = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 0 , 2 , 1 )) r2new . aba += einsum ( r1 . b , ( 0 ,), f . aa . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 r2new . aba += einsum ( tmp31 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) del tmp31 r2new . aba += einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 1 , 3 ), ( 0 , 4 , 2 )) * - 2 del tmp32 r2new . aba += einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 4 , 0 , 2 ), ( 4 , 1 , 3 )) del tmp33 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp34 , ( 0 , 3 , 1 , 4 ), ( 3 , 4 , 2 )) del tmp34 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp30 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( tmp37 , ( 0 ,), v . aabb . ovov , ( 1 , 2 , 3 , 0 ), ( 1 , 3 , 2 )) del tmp37 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp9 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . aba += einsum ( tmp4 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . aaa = np . copy ( tmp20 ) * - 1 r2new . aaa += np . transpose ( tmp20 , ( 1 , 0 , 2 )) del tmp20 r2new . aaa += tmp28 r2new . aaa += np . transpose ( tmp28 , ( 1 , 0 , 2 )) * - 1 del tmp28 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp29 , ( 0 , 1 , 3 , 4 ), ( 3 , 4 , 2 )) * 2 del tmp29 r2new . aaa += einsum ( tmp30 , ( 0 , 1 ), r2 . aaa , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 del tmp30 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp5 , ( 0 , 3 , 1 , 2 ), ( 3 ,)) del tmp5 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp6 , ( 3 , 1 , 0 , 2 ), ( 3 ,)) * - 2 del tmp6 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp7 , ( 0 , 2 ), ( 1 ,)) * - 2 del tmp7 r1new . b += einsum ( tmp8 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 1 ), ( 2 ,)) * 2 del tmp8 r1new . b += einsum ( r1 . b , ( 0 ,), tmp9 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp9 r1new . a = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 1 , 3 ), ( 0 ,)) del tmp0 r1new . a += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 0 , 1 , 3 ), ( 2 ,)) * - 2 del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 1 ), ( 2 ,)) * 2 del tmp2 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp3 , ( 0 , 2 ), ( 1 ,)) * - 2 del tmp3 r1new . a += einsum ( tmp4 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.hbar_lmatvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:40.583933.","title":"hbar_lmatvec_ea_intermediates"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.hbar_lmatvec_ea_intermediates--parameters","text":"f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.hbar_lmatvec_ea_intermediates--returns","text":"tmp1 : array tmp101 : array tmp103 : array tmp105 : array tmp132 : array tmp134 : array tmp136 : array tmp138 : array tmp14 : array tmp140 : array tmp142 : array tmp144 : array tmp146 : array tmp148 : array tmp158 : array tmp16 : array tmp18 : array tmp20 : array tmp22 : array tmp24 : array tmp26 : array tmp28 : array tmp3 : array tmp30 : array tmp32 : array tmp34 : array tmp36 : array tmp38 : array tmp4 : array tmp40 : array tmp41 : array tmp43 : array tmp44 : array tmp46 : array tmp48 : array tmp59 : array tmp6 : array tmp61 : array tmp67 : array tmp69 : array tmp75 : array tmp76 : array tmp78 : array tmp79 : array tmp81 : array tmp83 : array tmp85 : array tmp91 : array tmp93 : array tmp95 : array tmp97 : array tmp99 : array Source code in ebcc/codegen/UCCD.py 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 def hbar_lmatvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:40.583933. Parameters ---------- f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- tmp1 : array tmp101 : array tmp103 : array tmp105 : array tmp132 : array tmp134 : array tmp136 : array tmp138 : array tmp14 : array tmp140 : array tmp142 : array tmp144 : array tmp146 : array tmp148 : array tmp158 : array tmp16 : array tmp18 : array tmp20 : array tmp22 : array tmp24 : array tmp26 : array tmp28 : array tmp3 : array tmp30 : array tmp32 : array tmp34 : array tmp36 : array tmp38 : array tmp4 : array tmp40 : array tmp41 : array tmp43 : array tmp44 : array tmp46 : array tmp48 : array tmp59 : array tmp6 : array tmp61 : array tmp67 : array tmp69 : array tmp75 : array tmp76 : array tmp78 : array tmp79 : array tmp81 : array tmp83 : array tmp85 : array tmp91 : array tmp93 : array tmp95 : array tmp97 : array tmp99 : array \"\"\" tmp158 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp148 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp146 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp144 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp142 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp140 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp138 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp136 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp134 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp132 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp105 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp103 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp101 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) tmp99 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp97 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 0 , 5 ), ( 4 , 1 , 5 , 3 )) tmp95 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp93 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp91 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp85 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp83 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) tmp81 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp79 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp78 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp76 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp75 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp69 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp67 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp61 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp59 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp48 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp46 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp44 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 5 , 0 , 1 )) tmp43 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 0 , 4 , 5 , 2 ), ( 1 , 4 , 5 , 3 )) tmp41 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp40 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 5 , 3 )) tmp38 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp36 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp34 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp32 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp30 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 4 )) * - 1 tmp28 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 4 , 5 , 1 ), ( 5 , 2 , 4 , 3 )) tmp26 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 0 , 5 ), ( 4 , 2 , 3 , 5 )) * - 1 tmp24 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp22 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) tmp20 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp18 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 1 tmp16 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp14 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 tmp6 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp4 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp3 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp1 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) return { f \"tmp1\" : tmp1 , f \"tmp101\" : tmp101 , f \"tmp103\" : tmp103 , f \"tmp105\" : tmp105 , f \"tmp132\" : tmp132 , f \"tmp134\" : tmp134 , f \"tmp136\" : tmp136 , f \"tmp138\" : tmp138 , f \"tmp14\" : tmp14 , f \"tmp140\" : tmp140 , f \"tmp142\" : tmp142 , f \"tmp144\" : tmp144 , f \"tmp146\" : tmp146 , f \"tmp148\" : tmp148 , f \"tmp158\" : tmp158 , f \"tmp16\" : tmp16 , f \"tmp18\" : tmp18 , f \"tmp20\" : tmp20 , f \"tmp22\" : tmp22 , f \"tmp24\" : tmp24 , f \"tmp26\" : tmp26 , f \"tmp28\" : tmp28 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp32\" : tmp32 , f \"tmp34\" : tmp34 , f \"tmp36\" : tmp36 , f \"tmp38\" : tmp38 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp41\" : tmp41 , f \"tmp43\" : tmp43 , f \"tmp44\" : tmp44 , f \"tmp46\" : tmp46 , f \"tmp48\" : tmp48 , f \"tmp59\" : tmp59 , f \"tmp6\" : tmp6 , f \"tmp61\" : tmp61 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp75\" : tmp75 , f \"tmp76\" : tmp76 , f \"tmp78\" : tmp78 , f \"tmp79\" : tmp79 , f \"tmp81\" : tmp81 , f \"tmp83\" : tmp83 , f \"tmp85\" : tmp85 , f \"tmp91\" : tmp91 , f \"tmp93\" : tmp93 , f \"tmp95\" : tmp95 , f \"tmp97\" : tmp97 , f \"tmp99\" : tmp99 }","title":"Returns"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.hbar_lmatvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T18:50:40.624510.","title":"hbar_lmatvec_ea"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.hbar_lmatvec_ea--parameters","text":"f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 amplitudes. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UCCD/#ebcc.codegen.UCCD.hbar_lmatvec_ea--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UCCD.py 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T18:50:40.624510. Parameters ---------- f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp11 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 3 , 0 ), ( 1 ,)) tmp12 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 2 , 0 , 1 ), ( 3 ,)) tmp55 = np . copy ( ints . tmp142 ) tmp55 += ints . tmp146 * 2 tmp41 = np . copy ( ints . tmp59 ) tmp41 += ints . tmp61 * 0.5 tmp41 += f . bb . vv * - 0.5 tmp36 = np . copy ( tmp11 ) * - 0.5 tmp36 += tmp12 tmp48 = np . copy ( ints . tmp144 ) * 2 tmp48 += ints . tmp148 tmp6 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 2 , 1 ), ( 0 ,)) * - 1 tmp26 = np . copy ( ints . tmp101 ) * 0.5 tmp26 += ints . tmp105 tmp24 = np . copy ( ints . tmp103 ) * 0.5 tmp24 += ints . tmp99 tmp28 = np . copy ( ints . tmp14 ) tmp28 += ints . tmp16 * 0.5 tmp28 += f . aa . vv * - 0.5 tmp5 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 2 , 0 , 1 ), ( 3 ,)) tmp54 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . ovov , ( 3 , 4 , 2 , 1 ), ( 3 , 0 , 4 )) tmp56 = einsum ( tmp55 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 1 , 4 , 3 )) del tmp55 tmp53 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp140 , ( 2 , 3 , 1 , 4 ), ( 3 , 4 , 0 )) tmp50 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp41 , ( 1 , 3 ), ( 2 , 0 , 3 )) * - 4 tmp51 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp36 , ( 2 ,), ( 0 , 3 , 1 )) * 2 tmp47 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . oovv , ( 3 , 2 , 4 , 1 ), ( 3 , 0 , 4 )) tmp49 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp48 , ( 2 , 3 , 1 , 4 ), ( 3 , 0 , 4 )) * - 2 del tmp48 tmp44 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 0 , 1 , 2 )) tmp46 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 4 , 0 ), ( 2 , 4 , 3 )) tmp45 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp138 , ( 2 , 3 , 0 , 4 ), ( 3 , 4 , 1 )) tmp15 = einsum ( ints . tmp95 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 0 ), ( 1 , 3 , 4 )) tmp18 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 2 ), ( 0 , 4 , 1 )) * - 1 tmp19 = einsum ( tmp6 , ( 0 ,), v . aaaa . ovov , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) tmp16 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovov , ( 3 , 4 , 2 , 1 ), ( 3 , 0 , 4 )) tmp17 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp97 , ( 3 , 2 , 4 , 0 ), ( 3 , 4 , 1 )) * - 1 tmp22 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 3 , 1 ), ( 0 , 4 , 2 )) tmp27 = einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 0 , 4 , 2 )) * - 2 del tmp26 tmp25 = einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 0 ), ( 1 , 4 , 3 )) * - 4 del tmp24 tmp29 = einsum ( tmp28 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 4 del tmp28 tmp21 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), r1 . a , ( 3 ,), ( 0 , 1 , 2 )) tmp23 = einsum ( tmp5 , ( 0 ,), v . aaaa . ovov , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) * - 1 tmp42 = np . copy ( f . bb . oo ) tmp42 += ints . tmp134 * 2 del ints . tmp134 tmp42 += ints . tmp136 del ints . tmp136 tmp57 = np . copy ( tmp53 ) * 4 del tmp53 tmp57 += tmp54 * 2 del tmp54 tmp57 += np . transpose ( tmp56 , ( 0 , 2 , 1 )) del tmp56 tmp43 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) tmp52 = einsum ( f . bb . ov , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 1 , 2 )) tmp52 += tmp44 del tmp44 tmp52 += tmp45 del tmp45 tmp52 += tmp46 del tmp46 tmp52 += tmp47 * 2 del tmp47 tmp52 += np . transpose ( tmp49 , ( 0 , 2 , 1 )) * - 1 del tmp49 tmp52 += np . transpose ( tmp50 , ( 0 , 2 , 1 )) del tmp50 tmp52 += np . transpose ( tmp51 , ( 0 , 2 , 1 )) * - 1 del tmp51 tmp37 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 2 , 4 ), ( 0 , 4 , 1 )) * - 1 tmp38 = np . copy ( ints . tmp144 ) * 2 del ints . tmp144 tmp38 += ints . tmp148 del ints . tmp148 tmp38 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp38 += ints . tmp140 * - 2 del ints . tmp140 tmp38 += v . bbbb . oovv * - 1 tmp39 = np . copy ( ints . tmp142 ) del ints . tmp142 tmp39 += ints . tmp146 * 2 del ints . tmp146 tmp39 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp39 += ints . tmp138 * - 1 del ints . tmp138 tmp40 = np . copy ( ints . tmp158 ) del ints . tmp158 tmp40 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) * - 1 tmp7 = np . copy ( tmp5 ) * 2 del tmp5 tmp7 += tmp6 del tmp6 tmp4 = np . copy ( ints . tmp14 ) * 2 del ints . tmp14 tmp4 += ints . tmp16 del ints . tmp16 tmp4 += f . aa . vv * - 1 tmp10 = np . copy ( ints . tmp59 ) * 2 del ints . tmp59 tmp10 += ints . tmp61 del ints . tmp61 tmp10 += f . bb . vv * - 1 tmp31 = np . copy ( f . aa . oo ) tmp31 += ints . tmp91 * 2 del ints . tmp91 tmp31 += ints . tmp93 del ints . tmp93 tmp35 = np . copy ( ints . tmp132 ) del ints . tmp132 tmp35 += v . aabb . oovv * - 1 tmp34 = np . copy ( ints . tmp101 ) del ints . tmp101 tmp34 += ints . tmp105 * 2 del ints . tmp105 tmp34 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp34 += ints . tmp97 * - 1 del ints . tmp97 tmp32 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) tmp33 = np . copy ( ints . tmp103 ) del ints . tmp103 tmp33 += ints . tmp99 * 2 del ints . tmp99 tmp33 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp33 += ints . tmp95 * - 2 del ints . tmp95 tmp33 += v . aaaa . oovv * - 1 tmp20 = np . copy ( tmp15 ) * 4 del tmp15 tmp20 += tmp16 * 2 del tmp16 tmp20 += tmp17 del tmp17 tmp20 += tmp18 del tmp18 tmp20 += tmp19 del tmp19 tmp30 = einsum ( r1 . a , ( 0 ,), f . aa . ov , ( 1 , 2 ), ( 1 , 2 , 0 )) tmp30 += tmp21 del tmp21 tmp30 += tmp22 * 2 del tmp22 tmp30 += tmp23 * 2 del tmp23 tmp30 += np . transpose ( tmp25 , ( 0 , 2 , 1 )) * - 1 del tmp25 tmp30 += np . transpose ( tmp27 , ( 0 , 2 , 1 )) del tmp27 tmp30 += np . transpose ( tmp29 , ( 0 , 2 , 1 )) del tmp29 tmp14 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) tmp8 = np . copy ( ints . tmp69 ) del ints . tmp69 tmp8 += np . transpose ( ints . tmp75 , ( 0 , 1 , 3 , 2 )) del ints . tmp75 tmp8 += np . transpose ( ints . tmp81 , ( 0 , 1 , 3 , 2 )) * 2 del ints . tmp81 tmp8 += v . aabb . ovvv tmp8 += np . transpose ( ints . tmp78 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp78 tmp8 += ints . tmp85 * - 1 del ints . tmp85 tmp2 = np . copy ( f . aa . ov ) * 0.5 tmp2 += ints . tmp1 del ints . tmp1 tmp2 += ints . tmp36 * 0.5 del ints . tmp36 tmp2 += ints . tmp4 * 0.5 del ints . tmp4 tmp2 += ints . tmp18 * - 1 del ints . tmp18 tmp2 += ints . tmp24 * - 0.5 del ints . tmp24 tmp2 += ints . tmp30 * - 1 del ints . tmp30 tmp13 = np . copy ( tmp11 ) * - 1 del tmp11 tmp13 += tmp12 * 2 del tmp12 tmp9 = np . copy ( ints . tmp67 ) * 0.5 del ints . tmp67 tmp9 += np . transpose ( ints . tmp76 , ( 0 , 1 , 3 , 2 )) del ints . tmp76 tmp9 += np . transpose ( ints . tmp83 , ( 0 , 1 , 3 , 2 )) * 0.5 del ints . tmp83 tmp9 += v . bbbb . ovvv * 0.5 tmp9 += np . transpose ( ints . tmp79 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp79 tmp3 = np . copy ( f . bb . ov ) * 0.5 tmp3 += ints . tmp34 * 0.5 del ints . tmp34 tmp3 += ints . tmp3 * 0.5 del ints . tmp3 tmp3 += ints . tmp6 del ints . tmp6 tmp3 += ints . tmp20 * - 1 del ints . tmp20 tmp3 += ints . tmp22 * - 0.5 del ints . tmp22 tmp3 += ints . tmp32 * - 1 del ints . tmp32 tmp1 = np . copy ( ints . tmp26 ) * 0.5 del ints . tmp26 tmp1 += np . transpose ( ints . tmp38 , ( 0 , 1 , 3 , 2 )) del ints . tmp38 tmp1 += np . transpose ( ints . tmp44 , ( 0 , 1 , 3 , 2 )) * 0.5 del ints . tmp44 tmp1 += v . aaaa . ovvv * 0.5 tmp1 += np . transpose ( ints . tmp41 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp41 tmp0 = np . copy ( ints . tmp28 ) del ints . tmp28 tmp0 += np . transpose ( ints . tmp40 , ( 0 , 2 , 1 , 3 )) del ints . tmp40 tmp0 += np . transpose ( ints . tmp46 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp46 tmp0 += np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 )) tmp0 += np . transpose ( ints . tmp43 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp43 tmp0 += ints . tmp48 * - 1 del ints . tmp48 r2new . bbb = einsum ( tmp43 , ( 0 , 1 , 2 ), v . bbbb . ovov , ( 2 , 3 , 1 , 4 ), ( 3 , 4 , 0 )) * - 2 del tmp43 r2new . bbb += einsum ( v . bbbb . vvvv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 1 , 4 ), ( 0 , 2 , 4 )) * - 2 r2new . bbb += np . transpose ( tmp52 , ( 1 , 2 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp52 , ( 2 , 1 , 0 )) del tmp52 r2new . bbb += np . transpose ( tmp57 , ( 1 , 2 , 0 )) r2new . bbb += np . transpose ( tmp57 , ( 2 , 1 , 0 )) * - 1 del tmp57 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp42 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 r2new . bab = einsum ( r1 . a , ( 0 ,), v . aabb . vvov , ( 1 , 0 , 2 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new . bab += einsum ( f . bb . ov , ( 0 , 1 ), r1 . a , ( 2 ,), ( 1 , 2 , 0 )) * - 1 r2new . bab += einsum ( tmp37 , ( 0 , 1 , 2 ), v . aabb . ovov , ( 0 , 3 , 2 , 4 ), ( 4 , 3 , 1 )) * - 1 del tmp37 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . vvvv , ( 3 , 1 , 4 , 0 ), ( 4 , 3 , 2 )) r2new . bab += einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 4 , 0 ), ( 3 , 4 , 1 )) del tmp38 r2new . bab += einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 0 ), ( 3 , 4 , 1 )) * - 2 del tmp39 r2new . bab += einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) del tmp40 r2new . bab += einsum ( tmp4 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . bab += einsum ( tmp41 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 2 del tmp41 r2new . bab += einsum ( tmp42 , ( 0 , 1 ), r2 . bab , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp42 r2new . bab += einsum ( tmp7 , ( 0 ,), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 3 , 1 , 2 )) r2new . aba = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp32 , ( 4 , 0 , 2 ), ( 1 , 3 , 4 )) del tmp32 r2new . aba += einsum ( r1 . b , ( 0 ,), f . aa . ov , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new . aba += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 1 , 2 , 0 )) * - 1 r2new . aba += einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) r2new . aba += einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 3 , 4 , 1 )) del tmp33 r2new . aba += einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 1 ), ( 2 , 4 , 0 )) * - 2 del tmp34 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp35 , ( 2 , 3 , 1 , 4 ), ( 0 , 4 , 3 )) del tmp35 r2new . aba += einsum ( tmp4 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp10 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . aba += einsum ( tmp31 , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aba += einsum ( tmp36 , ( 0 ,), v . aabb . ovov , ( 1 , 2 , 0 , 3 ), ( 2 , 3 , 1 )) * 2 del tmp36 r2new . aaa = einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 3 , 1 , 4 ), ( 0 , 2 , 4 )) * - 2 r2new . aaa += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 2 , 0 ), ( 1 , 3 , 4 )) * - 2 del tmp14 r2new . aaa += np . transpose ( tmp20 , ( 1 , 2 , 0 )) r2new . aaa += np . transpose ( tmp20 , ( 2 , 1 , 0 )) * - 1 del tmp20 r2new . aaa += np . transpose ( tmp30 , ( 1 , 2 , 0 )) * - 1 r2new . aaa += np . transpose ( tmp30 , ( 2 , 1 , 0 )) del tmp30 r2new . aaa += einsum ( tmp31 , ( 0 , 1 ), r2 . aaa , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 del tmp31 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp8 , ( 2 , 0 , 1 , 3 ), ( 3 ,)) * - 1 del tmp8 r1new . b += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 1 , 2 , 0 ), ( 3 ,)) * - 4 del tmp9 r1new . b += einsum ( tmp3 , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 0 ), ( 2 ,)) * 4 r1new . b += einsum ( tmp2 , ( 0 , 1 ), r2 . aba , ( 1 , 2 , 0 ), ( 2 ,)) * - 2 r1new . b += einsum ( tmp10 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp10 r1new . b += einsum ( f . bb . ov , ( 0 , 1 ), tmp13 , ( 0 ,), ( 1 ,)) * - 1 del tmp13 r1new . a = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp0 , ( 2 , 1 , 3 , 0 ), ( 3 ,)) * - 1 del tmp0 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp1 , ( 2 , 0 , 1 , 3 ), ( 3 ,)) * - 4 del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 0 ), ( 2 ,)) * 4 del tmp2 r1new . a += einsum ( tmp3 , ( 0 , 1 ), r2 . bab , ( 1 , 2 , 0 ), ( 2 ,)) * - 2 del tmp3 r1new . a += einsum ( tmp4 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp4 r1new . a += einsum ( tmp7 , ( 0 ,), f . aa . ov , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp7 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UCCSD/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-12T21:47:25.107426 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 ebcc . codegen . UCCSD . energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-12T21:47:25.839925. 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. Source code in ebcc/codegen/UCCSD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-12T21:47:25.839925. 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 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp0 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp2 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp2 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp1 = np . copy ( f . bb . ov ) * 2 tmp1 += einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) * 2 tmp1 += einsum ( t1 . bb , ( 0 , 1 ), tmp0 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * - 1 del tmp0 e_cc = einsum ( t1 . bb , ( 0 , 1 ), tmp1 , ( 0 , 1 ), ()) * 0.5 del tmp1 tmp3 = np . copy ( f . aa . ov ) tmp3 += einsum ( t1 . aa , ( 0 , 1 ), tmp2 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * - 0.5 del tmp2 e_cc += einsum ( tmp3 , ( 0 , 1 ), t1 . aa , ( 0 , 1 ), ()) del tmp3 e_cc += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 3 , 1 ), ()) * - 1 e_cc += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ()) e_cc += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 2 , 1 , 3 ), ()) return e_cc ebcc . codegen . UCCSD . update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-12T21:48:00.365181. 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. Source code in ebcc/codegen/UCCSD.py 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-12T21:48:00.365181. 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 () tmp13 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp13 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp7 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp7 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp114 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp114 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp12 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) t1new . bb = np . copy ( tmp12 ) tmp14 = einsum ( t1 . bb , ( 0 , 1 ), tmp13 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp13 tmp20 = 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 ), tmp20 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * 2 tmp8 = einsum ( t1 . aa , ( 0 , 1 ), tmp7 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp0 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) t1new . aa = np . copy ( tmp0 ) tmp2 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) t1new . aa += einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * 2 tmp115 = einsum ( t1 . bb , ( 0 , 1 ), tmp114 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp137 = np . copy ( v . bbbb . ooov ) tmp137 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp194 = np . copy ( v . bbbb . ooov ) tmp194 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp21 = 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 ), tmp21 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) * - 1 tmp15 = np . copy ( f . bb . ov ) tmp15 += tmp12 tmp15 += tmp14 * - 1 del tmp14 t1new . bb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp15 , ( 1 , 3 ), ( 0 , 2 )) * 2 t1new . aa += einsum ( tmp15 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp145 = np . copy ( tmp20 ) * - 1 tmp145 += np . transpose ( tmp20 , ( 0 , 2 , 1 , 3 )) tmp113 = np . copy ( v . bbbb . ovvv ) tmp113 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 tmp9 = np . copy ( f . aa . ov ) tmp9 += tmp0 tmp9 += tmp8 * - 1 del tmp8 t1new . bb += einsum ( tmp9 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) t1new . aa += einsum ( tmp9 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 2 tmp79 = np . copy ( v . aaaa . ooov ) * - 1 tmp79 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) tmp35 = np . copy ( v . aaaa . ooov ) tmp35 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp71 = np . copy ( tmp2 ) * - 1 tmp71 += np . transpose ( tmp2 , ( 0 , 2 , 1 , 3 )) tmp69 = np . copy ( v . aaaa . ovvv ) tmp69 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 tmp1 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 tmp116 = np . copy ( f . bb . ov ) tmp116 += tmp12 del tmp12 tmp116 += tmp115 * - 1 del tmp115 tmp29 = np . copy ( v . bbbb . ooov ) tmp29 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp28 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp156 = einsum ( tmp137 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 )) tmp195 = einsum ( tmp194 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp194 tmp173 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) t2new . bbbb = np . copy ( np . transpose ( tmp173 , ( 1 , 0 , 3 , 2 ))) * - 1 t2new . bbbb += np . transpose ( tmp173 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += tmp173 * - 1 t2new . bbbb += np . transpose ( tmp173 , ( 1 , 0 , 2 , 3 )) tmp124 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) t2new . abab = np . copy ( tmp124 ) tmp123 = einsum ( t1 . bb , ( 0 , 1 ), tmp21 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) t2new . abab += tmp123 * - 1 tmp198 = einsum ( t1 . bb , ( 0 , 1 ), tmp20 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp25 = einsum ( t1 . bb , ( 0 , 1 ), tmp15 , ( 2 , 1 ), ( 0 , 2 )) tmp24 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp23 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp146 = einsum ( tmp145 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp145 tmp180 = einsum ( tmp113 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp165 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp93 = einsum ( t1 . aa , ( 0 , 1 ), tmp2 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp6 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp57 = einsum ( t1 . aa , ( 0 , 1 ), tmp9 , ( 2 , 1 ), ( 0 , 2 )) tmp5 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp51 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp17 = np . copy ( v . aaaa . ooov ) tmp17 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp61 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) t2new . aaaa = np . copy ( np . transpose ( tmp61 , ( 1 , 0 , 3 , 2 ))) * - 1 t2new . aaaa += np . transpose ( tmp61 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += tmp61 * - 1 t2new . aaaa += np . transpose ( tmp61 , ( 1 , 0 , 2 , 3 )) tmp80 = einsum ( t1 . aa , ( 0 , 1 ), tmp79 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp79 tmp48 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp48 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp16 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp36 = einsum ( tmp35 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 3 ), ( 1 , 2 )) tmp72 = einsum ( tmp71 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp71 tmp70 = einsum ( t1 . aa , ( 0 , 1 ), tmp69 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp69 tmp65 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 0 , 3 )) tmp66 = einsum ( t1 . aa , ( 0 , 1 ), tmp1 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) t2new . abab += tmp66 * - 1 tmp117 = einsum ( t1 . bb , ( 0 , 1 ), tmp116 , ( 0 , 2 ), ( 1 , 2 )) del tmp116 tmp144 = np . copy ( v . bbbb . ovvv ) * - 1 tmp144 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) tmp112 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp202 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp192 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 5 , 3 )) tmp162 = np . copy ( v . bbbb . ovvv ) * - 1 tmp162 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) tmp107 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp108 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 tmp154 = einsum ( v . bbbb . oooo , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 )) del tmp29 tmp186 = np . copy ( v . bbbb . ooov ) * - 1 tmp186 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) tmp83 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp83 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp167 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp157 = np . copy ( f . bb . oo ) tmp157 += np . transpose ( tmp28 , ( 1 , 0 )) tmp157 += np . transpose ( tmp156 , ( 1 , 0 )) * - 1 del tmp156 tmp110 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) t2new . abab += tmp110 * 2 tmp127 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) t2new . abab += tmp127 * - 1 tmp196 = np . copy ( v . bbbb . oovv ) tmp196 += np . transpose ( tmp195 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp195 tmp208 = np . copy ( v . bbbb . ovvv ) tmp208 += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 3 , 4 , 1 )) tmp204 = einsum ( t1 . bb , ( 0 , 1 ), tmp173 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp173 tmp178 = np . copy ( tmp124 ) * - 1 tmp178 += tmp123 tmp200 = einsum ( tmp198 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp176 = np . copy ( tmp20 ) * - 1 tmp176 += np . transpose ( tmp20 , ( 0 , 2 , 1 , 3 )) tmp175 = np . copy ( v . bbbb . ovvv ) tmp175 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 tmp148 = np . copy ( tmp124 ) tmp148 += tmp123 * - 1 del tmp123 t2new . abab += einsum ( tmp148 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * 2 tmp206 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp171 = np . copy ( tmp23 ) tmp171 += tmp24 * 2 tmp171 += tmp25 tmp181 = np . copy ( np . transpose ( tmp180 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp180 tmp181 += tmp146 * - 1 tmp169 = einsum ( tmp165 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) tmp189 = np . copy ( v . bbbb . ooov ) * - 1 tmp189 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) tmp87 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp87 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp125 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp42 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) t2new . aaaa += tmp42 t2new . aaaa += np . transpose ( tmp42 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp42 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp42 , ( 1 , 0 , 3 , 2 )) tmp44 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp45 = np . copy ( v . aaaa . ovvv ) * - 1 tmp45 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) tmp39 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp40 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp47 = np . copy ( v . aaaa . ovvv ) * - 1 tmp47 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) tmp142 = np . copy ( tmp2 ) tmp142 += np . transpose ( tmp2 , ( 0 , 2 , 1 , 3 )) * - 1 tmp82 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) t2new . abab += tmp82 * - 1 tmp134 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) t2new . abab += tmp134 * 2 tmp140 = np . copy ( np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 ))) tmp140 += einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 2 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) * - 1 tmp99 = einsum ( tmp93 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp62 = np . copy ( v . aaaa . ovvv ) tmp62 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 tmp63 = np . copy ( tmp2 ) * - 1 tmp63 += np . transpose ( tmp2 , ( 0 , 2 , 1 , 3 )) tmp53 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp58 = np . copy ( tmp5 ) * 2 tmp58 += tmp6 tmp58 += tmp57 tmp55 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) tmp18 = einsum ( t1 . aa , ( 0 , 1 ), tmp17 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) del tmp17 tmp95 = einsum ( tmp61 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) del tmp61 tmp101 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) * - 1 tmp91 = np . copy ( v . aaaa . oovv ) tmp91 += np . transpose ( tmp80 , ( 1 , 0 , 2 , 3 )) * - 1 tmp33 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp103 = np . copy ( v . aaaa . ovvv ) tmp103 += einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 0 , 4 ), ( 2 , 4 , 1 , 3 )) tmp85 = np . copy ( v . aaaa . ooov ) * - 1 tmp85 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) tmp97 = einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp49 = np . copy ( f . aa . ov ) tmp49 += tmp0 del tmp0 tmp49 += einsum ( t1 . aa , ( 0 , 1 ), tmp48 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * - 1 tmp37 = np . copy ( f . aa . oo ) tmp37 += np . transpose ( tmp16 , ( 1 , 0 )) tmp37 += np . transpose ( tmp36 , ( 1 , 0 )) * - 1 del tmp36 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp37 , ( 0 , 4 ), ( 4 , 1 , 2 , 3 )) * - 1 tmp73 = np . copy ( np . transpose ( tmp70 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp70 tmp73 += tmp72 * - 1 del tmp72 tmp75 = np . copy ( tmp65 ) tmp75 += tmp66 * - 1 t2new . abab += einsum ( tmp75 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 2 tmp89 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp67 = np . copy ( tmp65 ) * - 1 del tmp65 tmp67 += tmp66 del tmp66 tmp164 = np . copy ( f . bb . vv ) * - 1 tmp164 += np . transpose ( tmp112 , ( 1 , 0 )) * - 1 tmp164 += einsum ( t1 . bb , ( 0 , 1 ), tmp144 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * - 1 tmp164 += np . transpose ( tmp117 , ( 1 , 0 )) t2new . bbbb += einsum ( tmp164 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp164 tmp203 = einsum ( t1 . bb , ( 0 , 1 ), tmp202 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp202 t2new . bbbb += np . transpose ( tmp203 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp203 del tmp203 tmp193 = einsum ( tmp192 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp192 t2new . bbbb += np . transpose ( tmp193 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp193 , ( 1 , 0 , 3 , 2 )) del tmp193 tmp163 = np . copy ( f . bb . vv ) * - 1 tmp163 += np . transpose ( tmp112 , ( 1 , 0 )) * - 1 tmp163 += np . transpose ( tmp107 , ( 1 , 0 )) tmp163 += np . transpose ( tmp108 , ( 1 , 0 )) * 2 tmp163 += einsum ( t1 . bb , ( 0 , 1 ), tmp162 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * - 1 del tmp162 tmp163 += einsum ( t1 . bb , ( 0 , 1 ), tmp15 , ( 0 , 2 ), ( 2 , 1 )) del tmp15 t2new . bbbb += einsum ( tmp163 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp163 tmp153 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . oooo , ( 4 , 1 , 5 , 0 ), ( 4 , 5 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp153 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . bbbb += np . transpose ( tmp153 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . bbbb += np . transpose ( tmp153 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . bbbb += np . transpose ( tmp153 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp153 tmp161 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) t2new . bbbb += tmp161 t2new . bbbb += np . transpose ( tmp161 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp161 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp161 , ( 1 , 0 , 3 , 2 )) del tmp161 tmp155 = einsum ( tmp154 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 2 , 0 , 3 , 4 )) del tmp154 t2new . bbbb += np . transpose ( tmp155 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp155 del tmp155 tmp31 = np . copy ( f . bb . oo ) tmp31 += np . transpose ( tmp28 , ( 1 , 0 )) del tmp28 tmp31 += np . transpose ( tmp30 , ( 1 , 0 )) * - 1 del tmp30 t2new . bbbb += einsum ( tmp31 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp31 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp31 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp31 tmp184 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) t2new . bbbb += np . transpose ( tmp184 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += tmp184 * - 1 t2new . bbbb += np . transpose ( tmp184 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp184 , ( 0 , 1 , 3 , 2 )) del tmp184 tmp187 = np . copy ( v . bbbb . oovv ) tmp187 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp83 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 2 tmp187 += einsum ( tmp186 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 1 del tmp186 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp187 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 2 del tmp187 tmp168 = einsum ( t1 . bb , ( 0 , 1 ), tmp167 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp167 t2new . bbbb += tmp168 t2new . bbbb += np . transpose ( tmp168 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp168 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp168 , ( 1 , 0 , 3 , 2 )) del tmp168 tmp158 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp157 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp157 t2new . bbbb += np . transpose ( tmp158 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp158 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp158 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp158 tmp185 = einsum ( tmp110 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp110 t2new . bbbb += np . transpose ( tmp185 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . bbbb += np . transpose ( tmp185 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp185 , ( 1 , 0 , 3 , 2 )) * 2 t2new . bbbb += tmp185 * 2 del tmp185 tmp174 = einsum ( t1 . bb , ( 0 , 1 ), tmp20 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp20 t2new . bbbb += tmp174 * - 1 t2new . bbbb += np . transpose ( tmp174 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += np . transpose ( tmp174 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp174 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp174 tmp191 = np . copy ( tmp127 ) tmp191 += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) t2new . bbbb += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp191 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 5 , 3 )) del tmp191 tmp197 = einsum ( tmp196 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp196 t2new . bbbb += tmp197 * - 2 t2new . bbbb += np . transpose ( tmp197 , ( 1 , 0 , 2 , 3 )) * 2 del tmp197 tmp209 = np . copy ( v . bbbb . vvvv ) * - 1 tmp209 += einsum ( tmp208 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 3 , 2 , 1 , 4 )) del tmp208 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp209 , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) * - 2 del tmp209 tmp205 = einsum ( tmp204 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp204 t2new . bbbb += np . transpose ( tmp205 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += tmp205 * - 1 t2new . bbbb += np . transpose ( tmp205 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp205 , ( 0 , 1 , 3 , 2 )) del tmp205 tmp179 = einsum ( tmp178 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp178 t2new . bbbb += tmp179 * - 1 t2new . bbbb += np . transpose ( tmp179 , ( 0 , 1 , 3 , 2 )) del tmp179 tmp166 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp165 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp165 t2new . bbbb += np . transpose ( tmp166 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp166 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp166 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp166 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp166 tmp201 = einsum ( t1 . bb , ( 0 , 1 ), tmp200 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp200 t2new . bbbb += np . transpose ( tmp201 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp201 del tmp201 tmp177 = einsum ( t1 . bb , ( 0 , 1 ), tmp175 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp175 tmp177 += einsum ( t1 . bb , ( 0 , 1 ), tmp176 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp176 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp177 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * 2 del tmp177 tmp183 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp148 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp148 t2new . bbbb += np . transpose ( tmp183 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp183 , ( 1 , 0 , 3 , 2 )) del tmp183 tmp188 = np . copy ( tmp127 ) del tmp127 tmp188 += einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) t2new . bbbb += einsum ( tmp188 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 del tmp188 tmp160 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) t2new . bbbb += tmp160 * 2 t2new . bbbb += np . transpose ( tmp160 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp160 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . bbbb += np . transpose ( tmp160 , ( 1 , 0 , 3 , 2 )) * 2 del tmp160 tmp207 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp206 , ( 4 , 5 , 1 , 0 ), ( 5 , 4 , 2 , 3 )) del tmp206 t2new . bbbb += np . transpose ( tmp207 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp207 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp207 tmp172 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp171 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp171 t2new . bbbb += np . transpose ( tmp172 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp172 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp172 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp172 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp172 tmp199 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp198 , ( 4 , 5 , 1 , 0 ), ( 5 , 4 , 2 , 3 )) del tmp198 t2new . bbbb += np . transpose ( tmp199 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp199 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp199 tmp182 = einsum ( tmp181 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp181 t2new . bbbb += np . transpose ( tmp182 , ( 1 , 0 , 2 , 3 )) * 2 t2new . bbbb += tmp182 * - 2 t2new . bbbb += np . transpose ( tmp182 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp182 tmp210 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) t2new . bbbb += einsum ( t1 . bb , ( 0 , 1 ), tmp210 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp210 tmp159 = np . copy ( tmp107 ) * 0.5 tmp159 += tmp108 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp159 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 4 del tmp159 tmp170 = einsum ( tmp169 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp169 t2new . bbbb += np . transpose ( tmp170 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += tmp170 * - 1 t2new . bbbb += np . transpose ( tmp170 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp170 , ( 1 , 0 , 2 , 3 )) del tmp170 tmp190 = np . copy ( v . bbbb . oovv ) * 0.5 tmp190 += einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * - 1 tmp190 += einsum ( tmp189 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 0.5 del tmp189 t2new . bbbb += einsum ( tmp190 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) * 4 del tmp190 tmp131 = np . copy ( np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 ))) tmp131 += einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) t2new . abab += einsum ( tmp131 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) del tmp131 tmp126 = np . copy ( np . transpose ( tmp125 , ( 0 , 1 , 3 , 2 ))) tmp126 += einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp126 , ( 4 , 1 , 2 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 del tmp126 tmp109 = np . copy ( tmp107 ) del tmp107 tmp109 += tmp108 * 2 del tmp108 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp109 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 1 del tmp109 tmp118 = np . copy ( f . bb . vv ) tmp118 += np . transpose ( tmp112 , ( 1 , 0 )) del tmp112 tmp118 += einsum ( tmp113 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 2 ), ( 1 , 3 )) * - 1 del tmp113 tmp118 += np . transpose ( tmp117 , ( 1 , 0 )) * - 1 del tmp117 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp118 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp118 tmp149 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp149 += einsum ( t1 . bb , ( 0 , 1 ), tmp1 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp149 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 2 , 5 )) * - 1 del tmp149 tmp130 = einsum ( tmp125 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) del tmp125 t2new . abab += einsum ( tmp130 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 1 del tmp130 tmp122 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp133 = np . copy ( v . aaaa . oovv ) tmp133 += np . transpose ( tmp42 , ( 1 , 0 , 3 , 2 )) * - 1 tmp133 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp48 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) * 2 tmp133 += einsum ( tmp35 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) del tmp35 t2new . abab += einsum ( tmp133 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 del tmp133 tmp138 = np . copy ( v . bbbb . oovv ) tmp138 += einsum ( t1 . bb , ( 0 , 1 ), tmp137 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp137 t2new . abab += einsum ( tmp138 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * - 1 del tmp138 tmp128 = np . copy ( np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 ))) * - 1 tmp128 += einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp128 += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 2 , 4 , 1 , 5 )) t2new . abab += einsum ( tmp128 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 3 , 5 )) del tmp128 tmp152 = einsum ( t1 . aa , ( 0 , 1 ), tmp124 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp124 t2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp152 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp152 tmp106 = np . copy ( t2 . abab ) tmp106 += einsum ( t1 . aa , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 t2new . abab += einsum ( v . aabb . oooo , ( 0 , 1 , 2 , 3 ), tmp106 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) * 0.5 del tmp106 tmp111 = np . copy ( f . aa . vv ) * - 1 tmp111 += np . transpose ( tmp44 , ( 1 , 0 )) * - 1 tmp111 += np . transpose ( tmp39 , ( 1 , 0 )) * 2 tmp111 += np . transpose ( tmp40 , ( 1 , 0 )) tmp111 += einsum ( t1 . aa , ( 0 , 1 ), tmp45 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * - 1 tmp111 += einsum ( tmp9 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp111 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 del tmp111 tmp143 = einsum ( t1 . aa , ( 0 , 1 ), tmp47 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 tmp143 += einsum ( t1 . aa , ( 0 , 1 ), tmp142 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp142 t2new . abab += einsum ( tmp143 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) del tmp143 tmp150 = 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 ), tmp150 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp150 tmp135 = np . copy ( tmp82 ) * - 1 tmp135 += tmp134 * 2 del tmp134 tmp135 += einsum ( tmp114 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * - 1 del tmp114 t2new . abab += einsum ( tmp135 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 2 del tmp135 tmp121 = np . copy ( np . transpose ( tmp5 , ( 1 , 0 ))) * 2 tmp121 += np . transpose ( tmp6 , ( 1 , 0 )) tmp121 += np . transpose ( tmp57 , ( 1 , 0 )) del tmp57 t2new . abab += einsum ( tmp121 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp121 tmp147 = einsum ( t1 . bb , ( 0 , 1 ), tmp144 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 del tmp144 tmp147 += np . transpose ( tmp146 , ( 0 , 1 , 3 , 2 )) del tmp146 t2new . abab += einsum ( tmp147 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) del tmp147 tmp129 = np . copy ( v . aabb . oovv ) tmp129 += einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ooov , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp129 , ( 0 , 4 , 3 , 5 ), ( 4 , 1 , 2 , 5 )) * - 1 del tmp129 tmp119 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp120 = einsum ( v . aabb . vvoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 3 , 0 )) t2new . abab += einsum ( tmp120 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 1 del tmp120 tmp132 = einsum ( t1 . aa , ( 0 , 1 ), tmp21 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) del tmp21 tmp141 = np . copy ( v . aabb . vvvv ) tmp141 += einsum ( t1 . bb , ( 0 , 1 ), tmp140 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 del tmp140 t2new . abab += einsum ( tmp141 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) del tmp141 tmp136 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 3 , 5 )) t2new . abab += einsum ( tmp136 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 2 del tmp136 tmp26 = np . copy ( np . transpose ( tmp23 , ( 1 , 0 ))) del tmp23 tmp26 += np . transpose ( tmp24 , ( 1 , 0 )) * 2 del tmp24 tmp26 += np . transpose ( tmp25 , ( 1 , 0 )) del tmp25 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp26 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp26 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp26 tmp139 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) t2new . abab += einsum ( tmp139 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp139 tmp151 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oovv , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) t2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp151 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp151 tmp3 = np . copy ( t2 . abab ) tmp3 += einsum ( t1 . aa , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) t2new . abab += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp132 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp132 t2new . abab += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp122 , ( 4 , 0 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) del tmp122 t2new . abab += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp119 , ( 0 , 4 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp119 t1new . bb += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) t1new . aa += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), tmp3 , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) del tmp3 tmp100 = einsum ( t1 . aa , ( 0 , 1 ), tmp99 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp99 t2new . aaaa += np . transpose ( tmp100 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp100 del tmp100 tmp64 = einsum ( t1 . aa , ( 0 , 1 ), tmp62 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp62 tmp64 += einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 del tmp63 t2new . aaaa += einsum ( tmp64 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) * 2 del tmp64 tmp46 = np . copy ( f . aa . vv ) * - 0.5 tmp46 += np . transpose ( tmp44 , ( 1 , 0 )) * - 0.5 tmp46 += np . transpose ( tmp39 , ( 1 , 0 )) tmp46 += np . transpose ( tmp40 , ( 1 , 0 )) * 0.5 tmp46 += einsum ( t1 . aa , ( 0 , 1 ), tmp45 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * - 0.5 del tmp45 tmp46 += einsum ( tmp9 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * 0.5 t2new . aaaa += einsum ( tmp46 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * 4 del tmp46 tmp54 = einsum ( tmp53 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp53 t2new . aaaa += tmp54 t2new . aaaa += np . transpose ( tmp54 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp54 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp54 , ( 1 , 0 , 3 , 2 )) del tmp54 tmp41 = np . copy ( tmp39 ) * 2 del tmp39 tmp41 += tmp40 del tmp40 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp41 tmp84 = np . copy ( tmp82 ) tmp84 += einsum ( tmp83 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * - 1 del tmp83 t2new . aaaa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp84 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 del tmp84 tmp32 = einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 3 , 1 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) * - 1 t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp32 tmp77 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) t2new . aaaa += np . transpose ( tmp77 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += tmp77 * - 1 t2new . aaaa += np . transpose ( tmp77 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp77 , ( 0 , 1 , 3 , 2 )) del tmp77 tmp59 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp58 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp58 t2new . aaaa += np . transpose ( tmp59 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp59 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp59 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp59 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp59 tmp56 = einsum ( tmp55 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp55 t2new . aaaa += np . transpose ( tmp56 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += tmp56 * - 1 t2new . aaaa += np . transpose ( tmp56 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp56 , ( 1 , 0 , 2 , 3 )) del tmp56 tmp19 = np . copy ( f . aa . oo ) tmp19 += np . transpose ( tmp16 , ( 1 , 0 )) del tmp16 tmp19 += np . transpose ( tmp18 , ( 1 , 0 )) * - 1 del tmp18 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp19 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 t1new . aa += einsum ( tmp19 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp19 tmp105 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) t2new . aaaa += einsum ( t1 . aa , ( 0 , 1 ), tmp105 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp105 tmp96 = einsum ( tmp95 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp95 t2new . aaaa += np . transpose ( tmp96 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += tmp96 * - 1 t2new . aaaa += np . transpose ( tmp96 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp96 , ( 0 , 1 , 3 , 2 )) del tmp96 tmp88 = np . copy ( tmp82 ) del tmp82 tmp88 += einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * - 1 del tmp87 t2new . aaaa += einsum ( tmp88 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) del tmp88 tmp102 = einsum ( tmp101 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 3 , 2 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) del tmp101 t2new . aaaa += np . transpose ( tmp102 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp102 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp102 tmp92 = einsum ( tmp91 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp91 t2new . aaaa += tmp92 * - 2 t2new . aaaa += np . transpose ( tmp92 , ( 1 , 0 , 2 , 3 )) * 2 del tmp92 tmp34 = einsum ( t1 . aa , ( 0 , 1 ), tmp33 , ( 2 , 0 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp33 t2new . aaaa += np . transpose ( tmp34 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp34 del tmp34 tmp52 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp51 t2new . aaaa += np . transpose ( tmp52 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp52 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp52 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp52 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp52 tmp43 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) t2new . aaaa += tmp43 * 2 t2new . aaaa += np . transpose ( tmp43 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp43 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . aaaa += np . transpose ( tmp43 , ( 1 , 0 , 3 , 2 )) * 2 del tmp43 tmp104 = np . copy ( v . aaaa . vvvv ) tmp104 += einsum ( tmp103 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 3 , 4 , 2 , 1 )) del tmp103 t2new . aaaa += einsum ( tmp104 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 0 , 3 ), ( 4 , 5 , 2 , 1 )) * - 2 del tmp104 tmp86 = np . copy ( v . aaaa . oovv ) * 0.5 tmp86 += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) * - 1 del tmp7 tmp86 += einsum ( t1 . aa , ( 0 , 1 ), tmp85 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 0.5 del tmp85 t2new . aaaa += einsum ( tmp86 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) * 4 del tmp86 tmp98 = einsum ( t1 . aa , ( 0 , 1 ), tmp97 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp97 t2new . aaaa += np . transpose ( tmp98 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp98 del tmp98 tmp50 = np . copy ( f . aa . vv ) * - 1 tmp50 += np . transpose ( tmp44 , ( 1 , 0 )) * - 1 del tmp44 tmp50 += einsum ( t1 . aa , ( 0 , 1 ), tmp47 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * - 1 del tmp47 tmp50 += einsum ( tmp49 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) del tmp49 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp50 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp50 tmp38 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp37 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp37 t2new . aaaa += np . transpose ( tmp38 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp38 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp38 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp38 tmp81 = np . copy ( v . aaaa . oovv ) tmp81 += einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) * - 2 del tmp48 tmp81 += tmp80 * - 1 del tmp80 t2new . aaaa += einsum ( tmp81 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * - 2 del tmp81 tmp74 = einsum ( tmp73 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp73 t2new . aaaa += np . transpose ( tmp74 , ( 1 , 0 , 2 , 3 )) * 2 t2new . aaaa += tmp74 * - 2 t2new . aaaa += np . transpose ( tmp74 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp74 tmp76 = einsum ( tmp75 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp75 t2new . aaaa += np . transpose ( tmp76 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp76 , ( 1 , 0 , 3 , 2 )) del tmp76 tmp78 = einsum ( tmp42 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp42 t2new . aaaa += np . transpose ( tmp78 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . aaaa += np . transpose ( tmp78 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp78 , ( 1 , 0 , 3 , 2 )) * 2 t2new . aaaa += tmp78 * 2 del tmp78 tmp94 = einsum ( tmp93 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 3 , 2 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) del tmp93 t2new . aaaa += np . transpose ( tmp94 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp94 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp94 tmp90 = einsum ( t1 . aa , ( 0 , 1 ), tmp89 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp89 t2new . aaaa += np . transpose ( tmp90 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp90 , ( 1 , 0 , 3 , 2 )) del tmp90 tmp60 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp2 t2new . aaaa += tmp60 * - 1 t2new . aaaa += np . transpose ( tmp60 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += np . transpose ( tmp60 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp60 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp60 tmp68 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp67 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp67 t2new . aaaa += tmp68 * - 1 t2new . aaaa += np . transpose ( tmp68 , ( 0 , 1 , 3 , 2 )) del tmp68 tmp27 = np . copy ( f . bb . vv ) tmp27 += einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp27 , ( 1 , 2 ), ( 0 , 2 )) del tmp27 tmp22 = np . copy ( t2 . bbbb ) * 2 tmp22 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) t1new . bb += einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), tmp22 , ( 0 , 4 , 3 , 1 ), ( 4 , 2 )) * - 1 del tmp22 tmp11 = np . copy ( f . aa . vv ) tmp11 += einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) * - 1 t1new . aa += einsum ( tmp11 , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 2 , 1 )) del tmp11 tmp4 = np . copy ( t2 . aaaa ) * 2 tmp4 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) t1new . aa += einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) del tmp4 tmp10 = np . copy ( np . transpose ( tmp5 , ( 1 , 0 ))) del tmp5 tmp10 += np . transpose ( tmp6 , ( 1 , 0 )) * 0.5 del tmp6 tmp10 += einsum ( tmp9 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) * 0.5 del tmp9 t1new . aa += einsum ( t1 . aa , ( 0 , 1 ), tmp10 , ( 0 , 2 ), ( 2 , 1 )) * - 2 del tmp10 t1new . aa += einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) t1new . aa += f . aa . ov t1new . aa += einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * - 1 t1new . aa += einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * 2 t1new . aa += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 1 t1new . bb += f . bb . ov t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) t1new . bb += einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 t1new . bb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * 2 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 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 )) * 0.5 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) t2new . abab += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) t2new . abab += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 )) * - 1 return { f \"t1new\" : t1new , f \"t2new\" : t2new } ebcc . codegen . UCCSD . 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:49:15.264316. 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. Source code in ebcc/codegen/UCCSD.py 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 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:49:15.264316. 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 () tmp98 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp98 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp7 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp7 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp97 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp99 = einsum ( t1 . bb , ( 0 , 1 ), tmp98 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp98 tmp6 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp8 = einsum ( t1 . aa , ( 0 , 1 ), tmp7 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp7 tmp2 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp112 = np . copy ( v . bbbb . ovvv ) * - 1 tmp112 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) tmp213 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp213 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp196 = np . copy ( v . bbbb . ovvv ) * - 1 tmp196 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) tmp39 = einsum ( t1 . bb , ( 0 , 1 ), l2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) l2new . abab = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 1 , 2 , 5 ), ( 3 , 5 , 0 , 4 )) * - 2 l2new . abab += einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 3 , 2 , 5 ), ( 1 , 5 , 0 , 4 )) * - 2 l1new . bb = einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 1 , 0 , 3 ), ( 2 , 4 )) * - 2 tmp118 = np . copy ( v . bbbb . ooov ) tmp118 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp100 = np . copy ( f . bb . ov ) tmp100 += tmp97 tmp100 += tmp99 * - 1 del tmp99 tmp37 = einsum ( t1 . bb , ( 0 , 1 ), l2 . abab , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) l2new . abab += einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 1 , 2 , 5 ), ( 5 , 3 , 4 , 0 )) l2new . abab += einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 3 , 2 , 5 ), ( 4 , 5 , 0 , 1 )) * - 1 l2new . abab += einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), v . bbbb . ovoo , ( 4 , 5 , 2 , 1 ), ( 3 , 5 , 0 , 4 )) * - 1 l1new . aa = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), v . aabb . vvoo , ( 4 , 3 , 2 , 1 ), ( 4 , 0 )) * - 1 tmp64 = np . copy ( v . aaaa . ooov ) tmp64 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp9 = np . copy ( f . aa . ov ) tmp9 += tmp6 tmp9 += tmp8 * - 1 del tmp8 tmp178 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp178 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp30 = np . copy ( v . aaaa . ovvv ) * - 1 tmp30 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) tmp93 = np . copy ( v . aaaa . ovvv ) * - 1 tmp93 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) tmp49 = einsum ( t1 . aa , ( 0 , 1 ), l2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) l2new . abab += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), tmp49 , ( 4 , 1 , 0 , 5 ), ( 5 , 3 , 4 , 2 )) * - 2 l1new . aa += einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), v . aaaa . oovv , ( 2 , 1 , 4 , 3 ), ( 4 , 0 )) * - 2 tmp42 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 0 , 4 ), ( 4 , 1 )) tmp41 = einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 0 ), ( 1 , 2 )) tmp43 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp95 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) l2new . abab += einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), tmp95 , ( 1 , 2 , 4 , 5 ), ( 3 , 5 , 0 , 4 )) l2new . abab += einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), tmp95 , ( 1 , 4 , 2 , 5 ), ( 3 , 5 , 0 , 4 )) * - 1 tmp14 = np . copy ( np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 ))) tmp14 += tmp2 l2new . abab += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 1 ), ( 3 , 4 , 0 , 2 )) * - 1 tmp53 = einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 1 , 2 )) tmp54 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp55 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp0 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp201 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp199 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 0 , 3 )) tmp200 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp143 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp243 = einsum ( t1 . bb , ( 0 , 1 ), tmp112 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp210 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp211 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 tmp214 = einsum ( t1 . bb , ( 0 , 1 ), tmp213 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp213 tmp131 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp130 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 5 ), ( 3 , 4 , 1 , 5 )) tmp197 = einsum ( t1 . bb , ( 0 , 1 ), tmp196 , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) del tmp196 tmp195 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp194 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp124 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) l1new . bb += einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), tmp124 , ( 4 , 0 , 2 , 1 ), ( 3 , 4 )) * 2 tmp125 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) l1new . bb += einsum ( tmp125 , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 2 , 1 , 3 , 4 ), ( 4 , 0 )) * - 2 tmp117 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp115 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp116 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp119 = einsum ( t1 . bb , ( 0 , 1 ), tmp118 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) del tmp118 tmp120 = einsum ( t1 . bb , ( 0 , 1 ), tmp100 , ( 2 , 1 ), ( 0 , 2 )) tmp32 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) tmp33 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp80 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 0 , 1 ), ( 2 , 4 , 3 , 5 )) tmp81 = einsum ( t1 . aa , ( 0 , 1 ), tmp37 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp61 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp62 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp65 = einsum ( t1 . aa , ( 0 , 1 ), tmp64 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) del tmp64 tmp66 = einsum ( t1 . aa , ( 0 , 1 ), tmp9 , ( 2 , 1 ), ( 0 , 2 )) tmp63 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp10 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovvv , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp159 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp158 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) tmp179 = einsum ( t1 . aa , ( 0 , 1 ), tmp178 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp178 tmp27 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp28 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp156 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp164 = einsum ( t1 . aa , ( 0 , 1 ), tmp30 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp155 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp175 = einsum ( t1 . aa , ( 0 , 1 ), tmp93 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp173 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp174 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp92 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp71 = einsum ( t1 . aa , ( 0 , 1 ), tmp49 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) l1new . aa += einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), tmp71 , ( 4 , 1 , 0 , 2 ), ( 3 , 4 )) * - 2 tmp70 = 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 ), tmp70 , ( 4 , 0 , 2 , 1 ), ( 3 , 4 )) * 2 tmp76 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp77 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp44 = np . copy ( tmp41 ) tmp44 += tmp42 tmp44 += tmp43 * 2 l1new . bb += einsum ( tmp100 , ( 0 , 1 ), tmp44 , ( 2 , 0 ), ( 1 , 2 )) * - 1 tmp109 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp107 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp108 = einsum ( t1 . bb , ( 0 , 1 ), tmp95 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp105 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) l1new . bb += einsum ( tmp105 , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 0 , 1 , 3 ), ( 2 , 4 )) * 2 tmp4 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) l2new . abab += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), tmp49 , ( 4 , 0 , 1 , 5 ), ( 5 , 3 , 4 , 2 )) * - 2 tmp15 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp12 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp13 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp101 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp51 = einsum ( t1 . aa , ( 0 , 1 ), l2 . abab , ( 1 , 2 , 3 , 4 ), ( 3 , 0 , 4 , 2 )) l2new . abab += einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 0 , 1 , 4 , 5 ), ( 5 , 3 , 4 , 2 )) l2new . abab += einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), tmp51 , ( 1 , 2 , 4 , 5 ), ( 3 , 5 , 0 , 4 )) l2new . abab += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), tmp51 , ( 4 , 0 , 1 , 5 ), ( 3 , 5 , 4 , 2 )) l2new . abab += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), tmp51 , ( 4 , 0 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) * - 1 l2new . abab += einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 0 , 4 , 1 , 5 ), ( 5 , 3 , 4 , 2 )) * - 1 l2new . abab += einsum ( v . aaaa . ovoo , ( 0 , 1 , 2 , 3 ), tmp51 , ( 3 , 2 , 4 , 5 ), ( 1 , 5 , 0 , 4 )) * - 1 l1new . bb += einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), v . aabb . oovv , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) * - 1 tmp56 = np . copy ( tmp53 ) * 0.5 tmp56 += tmp54 tmp56 += tmp55 * 0.5 tmp22 = einsum ( t1 . aa , ( 0 , 1 ), tmp0 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp21 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp23 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp203 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp202 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp202 += tmp199 tmp202 += tmp200 * 2 tmp202 += tmp201 l2new . abab += einsum ( tmp202 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 4 , 3 , 5 , 1 )) * 2 tmp244 = np . copy ( f . bb . vv ) * - 1 tmp244 += np . transpose ( tmp143 , ( 1 , 0 )) * - 1 tmp244 += np . transpose ( tmp210 , ( 1 , 0 )) tmp244 += np . transpose ( tmp211 , ( 1 , 0 )) * 2 tmp244 += tmp243 * - 1 del tmp243 tmp215 = np . copy ( f . bb . ov ) tmp215 += tmp97 tmp215 += tmp214 * - 1 del tmp214 l2new . abab += einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), tmp215 , ( 2 , 4 ), ( 3 , 4 , 0 , 1 )) * - 1 tmp132 = np . copy ( tmp130 ) del tmp130 tmp132 += tmp131 * 4 del tmp131 tmp198 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 ))) tmp198 += v . bbbb . oovv * - 1 tmp198 += tmp194 tmp198 += tmp195 * 2 tmp198 += np . transpose ( tmp197 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp197 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp198 , ( 3 , 4 , 1 , 5 ), ( 0 , 5 , 2 , 4 )) tmp138 = np . copy ( np . transpose ( tmp124 , ( 1 , 0 , 3 , 2 ))) del tmp124 tmp138 += np . transpose ( tmp125 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp125 tmp121 = np . copy ( f . bb . oo ) tmp121 += np . transpose ( tmp115 , ( 1 , 0 )) del tmp115 tmp121 += tmp116 del tmp116 tmp121 += tmp117 * 2 del tmp117 tmp121 += tmp119 * - 1 del tmp119 tmp121 += tmp120 del tmp120 l2new . abab += einsum ( tmp121 , ( 0 , 1 ), l2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 1 l1new . bb += einsum ( tmp121 , ( 0 , 1 ), l1 . bb , ( 2 , 0 ), ( 2 , 1 )) * - 1 tmp227 = np . copy ( np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 ))) tmp227 += tmp95 tmp59 = np . copy ( tmp41 ) * 0.5 del tmp41 tmp59 += tmp42 * 0.5 del tmp42 tmp59 += tmp43 del tmp43 l2new . abab += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp59 , ( 4 , 2 ), ( 1 , 3 , 0 , 4 )) * - 2 l1new . bb += einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), tmp59 , ( 1 , 2 ), ( 3 , 0 )) * 2 l1new . bb += einsum ( tmp59 , ( 0 , 1 ), v . bbbb . ovoo , ( 2 , 3 , 0 , 1 ), ( 3 , 2 )) * - 2 l1new . aa += einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), tmp59 , ( 3 , 2 ), ( 1 , 0 )) * - 2 tmp224 = np . copy ( tmp32 ) tmp224 += tmp33 * 2 l2new . bbbb = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp224 , ( 4 , 1 ), ( 3 , 4 , 0 , 2 )) tmp162 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp126 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 4 , 3 , 5 , 1 )) tmp127 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) tmp208 = np . copy ( v . aaaa . ovvv ) tmp208 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 tmp74 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp73 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 5 , 1 , 4 , 3 )) tmp82 = np . copy ( tmp80 ) tmp82 += tmp81 tmp3 = np . copy ( np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 ))) tmp3 += np . transpose ( tmp2 , ( 0 , 2 , 1 , 3 )) tmp129 = np . copy ( v . bbbb . ovvv ) tmp129 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 l1new . bb += einsum ( tmp129 , ( 0 , 1 , 2 , 3 ), tmp132 , ( 4 , 0 , 3 , 2 ), ( 1 , 4 )) * - 1 tmp67 = np . copy ( f . aa . oo ) tmp67 += np . transpose ( tmp61 , ( 1 , 0 )) del tmp61 tmp67 += tmp62 * 2 del tmp62 tmp67 += tmp63 del tmp63 tmp67 += tmp65 * - 1 del tmp65 tmp67 += tmp66 del tmp66 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp67 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 l1new . aa += einsum ( tmp67 , ( 0 , 1 ), l1 . aa , ( 2 , 0 ), ( 2 , 1 )) * - 1 tmp148 = np . copy ( np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 ))) tmp148 += tmp0 tmp167 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp167 += tmp10 tmp167 += tmp158 tmp167 += tmp159 * 2 l2new . abab += einsum ( tmp167 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) * 2 tmp180 = np . copy ( f . aa . ov ) tmp180 += tmp6 tmp180 += tmp179 * - 1 del tmp179 l2new . abab += einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), tmp180 , ( 1 , 4 ), ( 4 , 3 , 0 , 2 )) * - 1 tmp60 = np . copy ( tmp53 ) del tmp53 tmp60 += tmp54 * 2 del tmp54 tmp60 += tmp55 del tmp55 l2new . abab += einsum ( tmp60 , ( 0 , 1 ), v . aabb . ovov , ( 1 , 2 , 3 , 4 ), ( 2 , 4 , 0 , 3 )) * - 1 l1new . bb += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), tmp60 , ( 1 , 0 ), ( 3 , 2 )) * - 1 l1new . aa += einsum ( tmp60 , ( 0 , 1 ), tmp9 , ( 1 , 2 ), ( 2 , 0 )) * - 1 l1new . aa += einsum ( tmp60 , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 0 , 1 , 3 ), ( 3 , 2 )) l1new . aa += einsum ( v . aaaa . ovoo , ( 0 , 1 , 2 , 3 ), tmp60 , ( 3 , 2 ), ( 1 , 0 )) * - 1 tmp145 = np . copy ( tmp27 ) tmp145 += tmp28 * 0.5 l2new . aaaa = einsum ( tmp145 , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 1 , 3 , 4 ), ( 4 , 0 , 2 , 3 )) * 2 tmp165 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) tmp165 += v . aaaa . oovv * - 1 tmp165 += tmp155 * 2 tmp165 += tmp156 tmp165 += np . transpose ( tmp164 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp164 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp165 , ( 2 , 4 , 0 , 5 ), ( 5 , 1 , 4 , 3 )) tmp176 = np . copy ( f . aa . vv ) * - 1 tmp176 += np . transpose ( tmp92 , ( 1 , 0 )) * - 1 tmp176 += np . transpose ( tmp173 , ( 1 , 0 )) * 2 tmp176 += np . transpose ( tmp174 , ( 1 , 0 )) tmp176 += tmp175 * - 1 del tmp175 tmp87 = np . copy ( np . transpose ( tmp70 , ( 1 , 0 , 3 , 2 ))) del tmp70 tmp87 += np . transpose ( tmp71 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp71 tmp189 = np . copy ( tmp76 ) * 4 tmp189 += tmp77 tmp40 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) tmp38 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp37 , ( 0 , 1 , 4 , 2 ), ( 4 , 3 )) tmp36 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) tmp35 = einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) tmp26 = einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp45 = einsum ( tmp44 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp104 = np . copy ( v . bbbb . ooov ) * - 1 tmp104 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) tmp104 += tmp95 tmp104 += np . transpose ( tmp95 , ( 0 , 2 , 1 , 3 )) * - 1 tmp110 = np . copy ( v . bbbb . oooo ) tmp110 += np . transpose ( tmp107 , ( 3 , 1 , 2 , 0 )) tmp110 += np . transpose ( tmp108 , ( 2 , 1 , 3 , 0 )) * - 1 tmp110 += np . transpose ( tmp109 , ( 2 , 0 , 3 , 1 )) * - 1 tmp110 += np . transpose ( tmp109 , ( 3 , 0 , 2 , 1 )) tmp106 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 ))) tmp106 += v . bbbb . oovv * - 1 tmp106 += np . transpose ( tmp105 , ( 0 , 1 , 3 , 2 )) del tmp105 tmp31 = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 0 ), ( 2 , 1 )) tmp5 = np . copy ( v . aabb . ooov ) tmp5 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) tmp16 = np . copy ( v . aabb . oooo ) tmp16 += np . transpose ( tmp12 , ( 1 , 0 , 3 , 2 )) tmp16 += np . transpose ( tmp13 , ( 1 , 0 , 3 , 2 )) tmp16 += np . transpose ( tmp15 , ( 1 , 0 , 3 , 2 )) del tmp15 tmp96 = np . copy ( v . bbbb . ooov ) * - 1 tmp96 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) tmp96 += np . transpose ( tmp95 , ( 1 , 0 , 2 , 3 )) tmp96 += np . transpose ( tmp95 , ( 2 , 0 , 1 , 3 )) * - 1 tmp102 = np . copy ( np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 ))) tmp102 += np . transpose ( tmp101 , ( 1 , 0 , 3 , 2 )) tmp137 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp136 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp37 , ( 0 , 4 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp52 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp51 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp57 = einsum ( t1 . aa , ( 0 , 1 ), tmp56 , ( 0 , 2 ), ( 2 , 1 )) * 2 tmp48 = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp50 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) tmp47 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp18 = np . copy ( v . aaaa . ooov ) tmp18 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp18 += tmp0 * - 1 tmp18 += np . transpose ( tmp0 , ( 0 , 2 , 1 , 3 )) tmp19 = np . copy ( v . aabb . ooov ) tmp19 += tmp4 tmp20 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) tmp20 += v . aaaa . oovv * - 1 tmp20 += einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp24 = np . copy ( v . aaaa . oooo ) tmp24 += np . transpose ( tmp21 , ( 3 , 1 , 2 , 0 )) tmp24 += np . transpose ( tmp22 , ( 2 , 1 , 3 , 0 )) * - 1 tmp24 += np . transpose ( tmp23 , ( 2 , 0 , 3 , 1 )) * - 1 tmp24 += np . transpose ( tmp23 , ( 3 , 0 , 2 , 1 )) tmp11 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp11 += tmp10 tmp1 = np . copy ( v . aaaa . ooov ) * - 1 tmp1 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) tmp1 += np . transpose ( tmp0 , ( 1 , 0 , 2 , 3 )) tmp1 += np . transpose ( tmp0 , ( 2 , 0 , 1 , 3 )) * - 1 tmp85 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp49 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp86 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp51 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp237 = np . copy ( f . bb . ov ) tmp237 += tmp97 tmp237 += tmp203 l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp237 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * - 1 del tmp237 tmp239 = einsum ( tmp202 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 5 ), ( 1 , 5 , 3 , 4 )) del tmp202 l2new . bbbb += np . transpose ( tmp239 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp239 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp239 , ( 2 , 3 , 0 , 1 )) del tmp239 tmp193 = np . copy ( tmp32 ) * 0.5 tmp193 += tmp33 l2new . bbbb += einsum ( tmp193 , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 4 , 2 , 3 )) * - 2 l2new . abab += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp193 , ( 4 , 3 ), ( 1 , 4 , 0 , 2 )) * - 2 del tmp193 tmp245 = einsum ( tmp244 , ( 0 , 1 ), l2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) * - 1 del tmp244 l2new . bbbb += np . transpose ( tmp245 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp245 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp245 , ( 2 , 3 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp245 , ( 2 , 3 , 1 , 0 )) del tmp245 tmp231 = einsum ( v . bbbb . ovoo , ( 0 , 1 , 2 , 3 ), tmp39 , ( 3 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp231 , ( 2 , 3 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp231 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp231 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . bbbb += np . transpose ( tmp231 , ( 3 , 2 , 0 , 1 )) * 2 del tmp231 tmp230 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 1 , 0 , 4 , 5 ), ( 2 , 4 , 3 , 5 )) l2new . bbbb += np . transpose ( tmp230 , ( 2 , 3 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp230 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp230 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp230 , ( 3 , 2 , 0 , 1 )) del tmp230 tmp246 = einsum ( tmp215 , ( 0 , 1 ), tmp39 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp215 l2new . bbbb += np . transpose ( tmp246 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp246 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp246 , ( 2 , 3 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp246 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp246 tmp229 = einsum ( l1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) l2new . bbbb += np . transpose ( tmp229 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp229 , ( 3 , 2 , 0 , 1 )) l2new . bbbb += np . transpose ( tmp229 , ( 2 , 3 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp229 , ( 2 , 3 , 0 , 1 )) * - 1 del tmp229 tmp240 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . vvvv , ( 4 , 0 , 5 , 1 ), ( 2 , 3 , 4 , 5 )) l2new . bbbb += np . transpose ( tmp240 , ( 3 , 2 , 1 , 0 )) * 0.5 l2new . bbbb += np . transpose ( tmp240 , ( 3 , 2 , 1 , 0 )) * 0.5 l2new . bbbb += np . transpose ( tmp240 , ( 3 , 2 , 1 , 0 )) * 0.5 l2new . bbbb += np . transpose ( tmp240 , ( 3 , 2 , 1 , 0 )) * 0.5 del tmp240 tmp249 = np . copy ( v . bbbb . ooov ) tmp249 += np . transpose ( tmp95 , ( 0 , 2 , 1 , 3 )) l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp249 , ( 1 , 2 , 3 , 4 ), ( 4 , 0 , 2 , 3 )) del tmp249 tmp241 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 5 , 0 , 3 ), ( 5 , 4 , 1 , 2 )) l2new . bbbb += np . transpose ( tmp241 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp241 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp241 , ( 2 , 3 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp241 , ( 2 , 3 , 1 , 0 )) del tmp241 tmp253 = einsum ( tmp44 , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 4 , 3 )) l2new . bbbb += np . transpose ( tmp253 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp253 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp253 tmp251 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), tmp39 , ( 1 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) * - 1 l2new . bbbb += np . transpose ( tmp251 , ( 2 , 3 , 1 , 0 )) * - 2 l2new . bbbb += np . transpose ( tmp251 , ( 3 , 2 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp251 , ( 2 , 3 , 0 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp251 , ( 3 , 2 , 0 , 1 )) * - 2 del tmp251 tmp252 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp132 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) del tmp132 l2new . bbbb += np . transpose ( tmp252 , ( 2 , 3 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp252 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp252 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp252 , ( 3 , 2 , 0 , 1 )) del tmp252 tmp204 = np . copy ( f . bb . ov ) tmp204 += tmp97 del tmp97 tmp204 += tmp203 del tmp203 l2new . bbbb += einsum ( tmp204 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * - 1 l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp204 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) l2new . bbbb += einsum ( tmp204 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) l2new . abab += einsum ( tmp204 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) del tmp204 tmp238 = einsum ( tmp198 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 2 , 5 , 0 ), ( 1 , 5 , 3 , 4 )) del tmp198 l2new . bbbb += np . transpose ( tmp238 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp238 , ( 3 , 2 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp238 , ( 2 , 3 , 0 , 1 )) * 2 del tmp238 tmp234 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 ))) tmp234 += v . bbbb . oovv * - 1 tmp234 += tmp194 del tmp194 tmp234 += tmp195 * 2 del tmp195 tmp234 += einsum ( t1 . bb , ( 0 , 1 ), tmp112 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 l2new . bbbb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp234 , ( 3 , 4 , 1 , 5 ), ( 5 , 0 , 2 , 4 )) * - 2 del tmp234 tmp222 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) l2new . bbbb += einsum ( tmp222 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) l2new . bbbb += einsum ( tmp222 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp222 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 l2new . bbbb += einsum ( tmp222 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) l2new . abab += einsum ( tmp222 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 del tmp222 tmp242 = einsum ( tmp138 , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) * 0.5 l2new . bbbb += np . transpose ( tmp242 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp242 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp242 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp242 , ( 3 , 2 , 1 , 0 )) del tmp242 tmp236 = einsum ( tmp121 , ( 0 , 1 ), l2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 4 , 1 , 2 , 3 )) * - 2 del tmp121 l2new . bbbb += np . transpose ( tmp236 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp236 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp236 tmp250 = einsum ( tmp95 , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) l2new . bbbb += np . transpose ( tmp250 , ( 2 , 3 , 1 , 0 )) * - 2 l2new . bbbb += np . transpose ( tmp250 , ( 3 , 2 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp250 , ( 2 , 3 , 0 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp250 , ( 3 , 2 , 0 , 1 )) * - 2 del tmp250 tmp233 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 1 , 4 , 5 ), ( 2 , 4 , 3 , 5 )) l2new . bbbb += np . transpose ( tmp233 , ( 2 , 3 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp233 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp233 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp233 , ( 3 , 2 , 0 , 1 )) del tmp233 tmp248 = np . copy ( v . bbbb . oooo ) tmp248 += np . transpose ( tmp107 , ( 1 , 3 , 2 , 0 )) del tmp107 tmp248 += np . transpose ( tmp108 , ( 0 , 2 , 3 , 1 )) del tmp108 l2new . bbbb += einsum ( tmp248 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 5 , 0 , 3 ), ( 4 , 5 , 2 , 1 )) * - 2 del tmp248 tmp228 = einsum ( tmp227 , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 0 ), ( 1 , 2 , 3 , 4 )) del tmp227 l2new . bbbb += np . transpose ( tmp228 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp228 , ( 3 , 2 , 0 , 1 )) del tmp228 tmp226 = np . copy ( v . bbbb . ooov ) tmp226 += np . transpose ( tmp95 , ( 0 , 2 , 1 , 3 )) l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp226 , ( 1 , 2 , 3 , 4 ), ( 4 , 0 , 3 , 2 )) * - 1 del tmp226 tmp254 = einsum ( tmp59 , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 4 , 3 )) * 2 del tmp59 l2new . bbbb += np . transpose ( tmp254 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp254 , ( 2 , 3 , 0 , 1 )) del tmp254 tmp232 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), tmp95 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 del tmp95 l2new . bbbb += np . transpose ( tmp232 , ( 2 , 3 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp232 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp232 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . bbbb += np . transpose ( tmp232 , ( 3 , 2 , 0 , 1 )) * 2 del tmp232 tmp225 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp224 , ( 4 , 1 ), ( 0 , 2 , 4 , 3 )) del tmp224 l2new . bbbb += np . transpose ( tmp225 , ( 2 , 3 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp225 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp225 tmp235 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp235 += tmp199 del tmp199 tmp235 += tmp200 * 2 del tmp200 tmp235 += tmp201 del tmp201 l2new . bbbb += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp235 , ( 2 , 4 , 0 , 5 ), ( 5 , 1 , 3 , 4 )) * - 1 del tmp235 tmp247 = einsum ( tmp109 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) del tmp109 l2new . bbbb += np . transpose ( tmp247 , ( 2 , 3 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp247 , ( 2 , 3 , 0 , 1 )) * - 2 del tmp247 tmp169 = np . copy ( f . aa . ov ) tmp169 += tmp162 tmp169 += tmp6 l2new . abab += einsum ( tmp169 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) l2new . aaaa += einsum ( tmp169 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * - 1 l2new . aaaa += einsum ( tmp169 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) l2new . aaaa += einsum ( tmp169 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) del tmp169 tmp185 = np . copy ( tmp27 ) * 2 tmp185 += tmp28 l2new . abab += einsum ( tmp185 , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 l2new . aaaa += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp185 , ( 4 , 1 ), ( 4 , 3 , 0 , 2 )) * - 1 del tmp185 tmp221 = np . copy ( tmp126 ) tmp221 += tmp127 l2new . abab += einsum ( tmp221 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 0 , 5 ), ( 5 , 3 , 4 , 1 )) * - 2 del tmp221 tmp220 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) l2new . abab += einsum ( tmp220 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 2 , 0 , 5 ), ( 4 , 3 , 1 , 5 )) del tmp220 tmp209 = np . copy ( f . aa . vv ) * - 1 tmp209 += np . transpose ( tmp92 , ( 1 , 0 )) * - 1 tmp209 += tmp173 * 2 del tmp173 tmp209 += tmp174 del tmp174 tmp209 += einsum ( t1 . aa , ( 0 , 1 ), tmp208 , ( 0 , 1 , 2 , 3 ), ( 3 , 2 )) * - 1 del tmp208 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp209 , ( 0 , 4 ), ( 4 , 1 , 2 , 3 )) * - 1 del tmp209 tmp205 = np . copy ( np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 ))) tmp205 += np . transpose ( tmp101 , ( 0 , 1 , 3 , 2 )) del tmp101 l2new . abab += einsum ( tmp205 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 5 , 0 ), ( 3 , 4 , 5 , 1 )) * - 1 del tmp205 tmp223 = np . copy ( tmp73 ) tmp223 += tmp74 l2new . abab += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp223 , ( 4 , 2 , 5 , 1 ), ( 5 , 3 , 4 , 0 )) * - 2 del tmp223 tmp219 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp219 , ( 3 , 4 , 0 , 5 ), ( 5 , 1 , 2 , 4 )) del tmp219 tmp218 = np . copy ( v . aabb . oovv ) tmp218 += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) l2new . abab += einsum ( tmp218 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 2 , 0 , 5 ), ( 4 , 3 , 1 , 5 )) * - 1 del tmp218 tmp216 = np . copy ( v . aabb . ooov ) tmp216 += tmp4 del tmp4 l2new . abab += einsum ( tmp216 , ( 0 , 1 , 2 , 3 ), tmp37 , ( 0 , 4 , 2 , 5 ), ( 5 , 3 , 1 , 4 )) l2new . abab += einsum ( l1 . aa , ( 0 , 1 ), tmp216 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp216 tmp188 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) l2new . abab += einsum ( l1 . bb , ( 0 , 1 ), tmp188 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 l2new . aaaa += einsum ( tmp188 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) l2new . aaaa += einsum ( tmp188 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp188 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 l2new . aaaa += einsum ( tmp188 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) del tmp188 tmp207 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp82 , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) * 0.5 l2new . abab += np . transpose ( tmp207 , ( 2 , 3 , 0 , 1 )) l2new . abab += np . transpose ( tmp207 , ( 2 , 3 , 0 , 1 )) del tmp207 tmp217 = np . copy ( v . aabb . oooo ) tmp217 += np . transpose ( tmp12 , ( 1 , 0 , 2 , 3 )) del tmp12 tmp217 += tmp13 del tmp13 tmp217 += einsum ( t1 . aa , ( 0 , 1 ), tmp3 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp217 , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp217 tmp206 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvvv , ( 4 , 0 , 5 , 1 ), ( 2 , 3 , 4 , 5 )) l2new . abab += np . transpose ( tmp206 , ( 2 , 3 , 0 , 1 )) * 0.5 l2new . abab += np . transpose ( tmp206 , ( 2 , 3 , 0 , 1 )) * 0.5 del tmp206 tmp212 = np . copy ( f . bb . vv ) * - 1 tmp212 += np . transpose ( tmp143 , ( 1 , 0 )) * - 1 tmp212 += tmp210 del tmp210 tmp212 += tmp211 * 2 del tmp211 tmp212 += einsum ( t1 . bb , ( 0 , 1 ), tmp129 , ( 0 , 1 , 2 , 3 ), ( 3 , 2 )) * - 1 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp212 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp212 tmp153 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovoo , ( 4 , 5 , 2 , 0 ), ( 1 , 4 , 3 , 5 )) * - 1 l2new . aaaa += np . transpose ( tmp153 , ( 2 , 3 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp153 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp153 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . aaaa += np . transpose ( tmp153 , ( 3 , 2 , 0 , 1 )) * 2 del tmp153 tmp163 = np . copy ( f . aa . ov ) tmp163 += tmp162 del tmp162 tmp163 += tmp6 del tmp6 l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp163 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * - 1 del tmp163 tmp161 = einsum ( tmp67 , ( 0 , 1 ), l2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 4 , 1 , 2 , 3 )) * - 2 del tmp67 l2new . aaaa += np . transpose ( tmp161 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp161 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp161 tmp184 = np . copy ( v . aaaa . ooov ) tmp184 += np . transpose ( tmp0 , ( 0 , 2 , 1 , 3 )) l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp184 , ( 1 , 2 , 3 , 4 ), ( 4 , 0 , 2 , 3 )) del tmp184 tmp157 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) tmp157 += v . aaaa . oovv * - 1 tmp157 += tmp155 * 2 del tmp155 tmp157 += tmp156 del tmp156 tmp157 += einsum ( t1 . aa , ( 0 , 1 ), tmp93 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 l2new . aaaa += einsum ( tmp157 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 3 , 4 , 5 , 1 )) * - 2 del tmp157 tmp187 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), tmp49 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) l2new . aaaa += np . transpose ( tmp187 , ( 2 , 3 , 1 , 0 )) * - 2 l2new . aaaa += np . transpose ( tmp187 , ( 3 , 2 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp187 , ( 2 , 3 , 0 , 1 )) * 2 l2new . aaaa += np . transpose ( tmp187 , ( 3 , 2 , 0 , 1 )) * - 2 del tmp187 tmp149 = einsum ( l1 . aa , ( 0 , 1 ), tmp148 , ( 1 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 0 )) del tmp148 l2new . aaaa += np . transpose ( tmp149 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp149 , ( 3 , 2 , 0 , 1 )) del tmp149 tmp168 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp167 , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) del tmp167 l2new . aaaa += np . transpose ( tmp168 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp168 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp168 , ( 2 , 3 , 0 , 1 )) del tmp168 tmp181 = einsum ( tmp180 , ( 0 , 1 ), tmp49 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp180 l2new . aaaa += np . transpose ( tmp181 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp181 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp181 , ( 2 , 3 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp181 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp181 tmp191 = einsum ( tmp60 , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 4 , 3 )) del tmp60 l2new . aaaa += np . transpose ( tmp191 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp191 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp191 tmp152 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 l2new . aaaa += np . transpose ( tmp152 , ( 2 , 3 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp152 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp152 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . aaaa += np . transpose ( tmp152 , ( 3 , 2 , 0 , 1 )) * 2 del tmp152 tmp146 = einsum ( tmp145 , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 1 , 3 , 4 ), ( 2 , 3 , 0 , 4 )) * 2 del tmp145 l2new . aaaa += np . transpose ( tmp146 , ( 2 , 3 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp146 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp146 tmp186 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 l2new . aaaa += np . transpose ( tmp186 , ( 2 , 3 , 1 , 0 )) * - 2 l2new . aaaa += np . transpose ( tmp186 , ( 3 , 2 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp186 , ( 2 , 3 , 0 , 1 )) * 2 l2new . aaaa += np . transpose ( tmp186 , ( 3 , 2 , 0 , 1 )) * - 2 del tmp186 tmp166 = einsum ( tmp165 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 1 , 5 , 3 , 4 )) del tmp165 l2new . aaaa += np . transpose ( tmp166 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp166 , ( 3 , 2 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp166 , ( 2 , 3 , 0 , 1 )) * 2 del tmp166 tmp192 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp56 , ( 4 , 2 ), ( 0 , 4 , 3 , 1 )) * 2 l2new . aaaa += np . transpose ( tmp192 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp192 , ( 2 , 3 , 0 , 1 )) del tmp192 tmp177 = einsum ( tmp176 , ( 0 , 1 ), l2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) * - 1 del tmp176 l2new . aaaa += np . transpose ( tmp177 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp177 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp177 , ( 2 , 3 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp177 , ( 2 , 3 , 1 , 0 )) del tmp177 tmp154 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) l2new . aaaa += np . transpose ( tmp154 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp154 , ( 3 , 2 , 0 , 1 )) l2new . aaaa += np . transpose ( tmp154 , ( 2 , 3 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp154 , ( 2 , 3 , 0 , 1 )) * - 1 del tmp154 tmp183 = np . copy ( v . aaaa . oooo ) tmp183 += np . transpose ( tmp21 , ( 1 , 3 , 2 , 0 )) del tmp21 tmp183 += np . transpose ( tmp22 , ( 0 , 2 , 3 , 1 )) del tmp22 l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp183 , ( 2 , 4 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) * - 2 del tmp183 tmp150 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 4 , 5 , 2 , 1 ), ( 0 , 4 , 3 , 5 )) l2new . aaaa += np . transpose ( tmp150 , ( 2 , 3 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp150 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp150 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp150 , ( 3 , 2 , 0 , 1 )) del tmp150 tmp147 = np . copy ( v . aaaa . ooov ) tmp147 += np . transpose ( tmp0 , ( 0 , 2 , 1 , 3 )) del tmp0 l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp147 , ( 1 , 2 , 3 , 4 ), ( 4 , 0 , 3 , 2 )) * - 1 del tmp147 tmp160 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) * 0.5 tmp160 += tmp10 * 0.5 del tmp10 tmp160 += tmp158 * 0.5 del tmp158 tmp160 += tmp159 del tmp159 l2new . aaaa += einsum ( tmp160 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 5 , 0 )) * - 2 del tmp160 tmp172 = einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) * 0.5 l2new . aaaa += np . transpose ( tmp172 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp172 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp172 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp172 , ( 3 , 2 , 1 , 0 )) del tmp172 tmp171 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 2 , 4 , 5 , 3 ), ( 1 , 0 , 4 , 5 )) l2new . aaaa += np . transpose ( tmp171 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp171 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp171 , ( 2 , 3 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp171 , ( 2 , 3 , 1 , 0 )) del tmp171 tmp182 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) del tmp23 l2new . aaaa += np . transpose ( tmp182 , ( 2 , 3 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp182 , ( 2 , 3 , 0 , 1 )) * - 2 del tmp182 tmp170 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . vvvv , ( 4 , 1 , 5 , 0 ), ( 2 , 3 , 4 , 5 )) * - 1 l2new . aaaa += np . transpose ( tmp170 , ( 3 , 2 , 1 , 0 )) * 0.5 l2new . aaaa += np . transpose ( tmp170 , ( 3 , 2 , 1 , 0 )) * 0.5 l2new . aaaa += np . transpose ( tmp170 , ( 3 , 2 , 1 , 0 )) * 0.5 l2new . aaaa += np . transpose ( tmp170 , ( 3 , 2 , 1 , 0 )) * 0.5 del tmp170 tmp190 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp189 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) del tmp189 l2new . aaaa += np . transpose ( tmp190 , ( 2 , 3 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp190 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp190 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp190 , ( 3 , 2 , 0 , 1 )) del tmp190 tmp151 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) l2new . aaaa += np . transpose ( tmp151 , ( 2 , 3 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp151 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp151 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp151 , ( 3 , 2 , 0 , 1 )) del tmp151 tmp123 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) l1new . bb += einsum ( tmp123 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 1 , 4 )) * 2 del tmp123 tmp114 = np . copy ( np . transpose ( l1 . bb , ( 1 , 0 ))) * - 0.5 tmp114 += t1 . bb * - 0.5 tmp114 += tmp35 * - 0.5 tmp114 += tmp36 * - 1 tmp114 += tmp38 * 0.5 tmp114 += tmp40 tmp114 += einsum ( tmp44 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) * 0.5 del tmp44 l1new . bb += einsum ( tmp114 , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 3 , 2 )) * - 2 del tmp114 tmp122 = einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) l1new . bb += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp122 , ( 2 , 0 , 4 , 1 ), ( 4 , 3 )) del tmp122 tmp113 = np . copy ( tmp26 ) * 0.5 tmp113 += tmp27 tmp113 += tmp28 * 0.5 l1new . bb += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), tmp113 , ( 1 , 0 ), ( 3 , 2 )) * 2 del tmp113 tmp133 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 4 ), ( 0 , 4 , 1 , 2 )) tmp133 += tmp37 tmp133 += einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) * 2 tmp133 += einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) * - 1 tmp133 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * - 2 tmp133 += einsum ( t1 . aa , ( 0 , 1 ), tmp82 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 l1new . bb += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp133 , ( 0 , 4 , 2 , 1 ), ( 3 , 4 )) * - 1 del tmp133 tmp142 = np . copy ( t1 . bb ) * - 1 tmp142 += tmp35 * - 1 tmp142 += tmp36 * - 2 tmp142 += tmp38 tmp142 += tmp40 * 2 tmp142 += tmp45 l1new . bb += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp142 , ( 2 , 1 ), ( 3 , 0 )) del tmp142 tmp128 = np . copy ( np . transpose ( l2 . abab , ( 2 , 3 , 0 , 1 ))) tmp128 += tmp126 * 2 del tmp126 tmp128 += einsum ( t1 . aa , ( 0 , 1 ), tmp51 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 tmp128 += tmp127 * 2 del tmp127 l1new . bb += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), tmp128 , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) del tmp128 tmp111 = np . copy ( v . bbbb . ooov ) * - 1 tmp111 += einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) * - 1 tmp111 += einsum ( tmp104 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 2 , 4 , 0 , 5 )) * 2 del tmp104 tmp111 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 0 , 4 , 5 , 2 ), ( 5 , 1 , 4 , 3 )) del tmp14 tmp111 += einsum ( tmp100 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp111 += einsum ( tmp106 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 1 , 0 , 4 , 2 )) del tmp106 tmp111 += einsum ( tmp110 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp110 l1new . bb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp111 , ( 4 , 2 , 3 , 1 ), ( 0 , 4 )) * 2 del tmp111 tmp34 = np . copy ( tmp31 ) del tmp31 tmp34 += tmp32 del tmp32 tmp34 += tmp33 * 2 del tmp33 l1new . bb += einsum ( tmp34 , ( 0 , 1 ), tmp112 , ( 2 , 3 , 1 , 0 ), ( 3 , 2 )) * - 1 del tmp112 l1new . aa += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), tmp34 , ( 3 , 2 ), ( 1 , 0 )) del tmp34 tmp134 = np . copy ( np . transpose ( l2 . bbbb , ( 2 , 3 , 0 , 1 ))) * - 1 tmp134 += einsum ( t1 . bb , ( 0 , 1 ), tmp39 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) l1new . bb += einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), tmp134 , ( 4 , 0 , 3 , 1 ), ( 2 , 4 )) * - 2 del tmp134 tmp103 = np . copy ( np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 ))) tmp103 += tmp2 del tmp2 tmp103 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) tmp103 += einsum ( tmp96 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) del tmp96 tmp103 += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 2 , 1 , 5 )) * 2 tmp103 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp5 , ( 0 , 4 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) * - 1 tmp103 += einsum ( tmp100 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) del tmp100 tmp103 += einsum ( tmp102 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 2 ), ( 4 , 1 , 0 , 3 )) del tmp102 tmp103 += einsum ( t1 . aa , ( 0 , 1 ), tmp16 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 1 l1new . bb += einsum ( tmp103 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 3 , 4 , 0 , 1 ), ( 4 , 2 )) * - 1 del tmp103 tmp144 = np . copy ( f . bb . vv ) tmp144 += np . transpose ( tmp143 , ( 1 , 0 )) del tmp143 tmp144 += einsum ( t1 . bb , ( 0 , 1 ), tmp129 , ( 0 , 2 , 1 , 3 ), ( 3 , 2 )) * - 1 del tmp129 l1new . bb += einsum ( l1 . bb , ( 0 , 1 ), tmp144 , ( 0 , 2 ), ( 2 , 1 )) del tmp144 tmp135 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 5 , 1 ), ( 3 , 4 , 0 , 5 )) tmp135 += einsum ( t1 . aa , ( 0 , 1 ), tmp37 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) l1new . bb += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), tmp135 , ( 4 , 2 , 0 , 1 ), ( 3 , 4 )) * - 1 del tmp135 tmp140 = einsum ( l1 . bb , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp140 += np . transpose ( tmp136 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp140 += np . transpose ( tmp137 , ( 0 , 2 , 1 , 3 )) * 2 l1new . bb += einsum ( tmp140 , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 1 , 4 , 2 , 3 ), ( 4 , 0 )) * 2 del tmp140 tmp58 = np . copy ( np . transpose ( l1 . aa , ( 1 , 0 ))) * - 1 tmp58 += t1 . aa * - 1 tmp58 += tmp47 * - 2 tmp58 += tmp48 * - 1 tmp58 += tmp50 * 2 tmp58 += tmp52 tmp58 += tmp57 del tmp57 l1new . bb += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp58 , ( 0 , 1 ), ( 3 , 2 )) * - 1 l1new . aa += einsum ( tmp58 , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 0 , 1 ), ( 3 , 2 )) * - 1 del tmp58 tmp141 = np . copy ( tmp80 ) tmp141 += np . transpose ( tmp81 , ( 1 , 0 , 2 , 3 )) l1new . bb += einsum ( tmp141 , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 0 , 1 , 3 , 4 ), ( 4 , 2 )) del tmp141 tmp139 = np . copy ( np . transpose ( tmp39 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp39 tmp139 += np . transpose ( tmp136 , ( 2 , 0 , 1 , 3 )) * 0.5 del tmp136 tmp139 += np . transpose ( tmp137 , ( 2 , 0 , 1 , 3 )) * 2 del tmp137 tmp139 += einsum ( tmp138 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 3 , 1 , 2 , 4 )) del tmp138 l1new . bb += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp139 , ( 0 , 4 , 2 , 1 ), ( 3 , 4 )) * - 2 del tmp139 tmp46 = np . copy ( np . transpose ( l1 . bb , ( 1 , 0 ))) * - 1 tmp46 += t1 . bb * - 1 tmp46 += tmp35 * - 1 del tmp35 tmp46 += tmp36 * - 2 del tmp36 tmp46 += tmp38 del tmp38 tmp46 += tmp40 * 2 del tmp40 tmp46 += tmp45 del tmp45 l1new . aa += einsum ( tmp46 , ( 0 , 1 ), v . aabb . ovov , ( 2 , 3 , 0 , 1 ), ( 3 , 2 )) * - 1 del tmp46 tmp25 = np . copy ( v . aaaa . ooov ) * - 0.5 tmp25 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) * - 0.5 tmp25 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 5 , 1 , 3 ), ( 5 , 0 , 4 , 2 )) del tmp18 tmp25 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 5 , 1 , 3 ), ( 5 , 0 , 4 , 2 )) * 0.5 del tmp19 tmp25 += einsum ( tmp9 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) * 0.5 tmp25 += einsum ( t1 . aa , ( 0 , 1 ), tmp20 , ( 2 , 3 , 4 , 1 ), ( 3 , 2 , 0 , 4 )) * 0.5 del tmp20 tmp25 += einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 3 , 1 , 4 )) * 0.5 del tmp24 l1new . aa += einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 1 , 2 ), ( 4 , 0 )) * 4 del tmp25 tmp84 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 5 , 1 ), ( 5 , 0 , 4 , 3 )) tmp84 += einsum ( t1 . bb , ( 0 , 1 ), tmp51 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) l1new . aa += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), tmp84 , ( 4 , 0 , 3 , 2 ), ( 1 , 4 )) * - 1 del tmp84 tmp17 = np . copy ( v . aabb . ooov ) tmp17 += einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oovv , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp17 += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp17 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp1 , ( 0 , 4 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) del tmp1 tmp17 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp3 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) * - 1 del tmp3 tmp17 += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 1 , 0 , 4 , 5 )) * 2 del tmp5 tmp17 += einsum ( tmp9 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) del tmp9 tmp17 += einsum ( t1 . aa , ( 0 , 1 ), tmp11 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp11 tmp17 += einsum ( t1 . bb , ( 0 , 1 ), tmp16 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 del tmp16 l1new . aa += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp17 , ( 2 , 4 , 3 , 1 ), ( 0 , 4 )) * - 1 del tmp17 tmp69 = einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) l1new . aa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp69 , ( 3 , 4 , 1 , 0 ), ( 4 , 2 )) * - 2 del tmp69 tmp79 = np . copy ( tmp76 ) tmp79 += einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 0.5 tmp79 += tmp77 * 0.25 l1new . aa += einsum ( tmp79 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 4 , 3 , 2 ), ( 4 , 0 )) * - 4 del tmp79 tmp91 = np . copy ( t1 . aa ) * - 0.5 tmp91 += tmp47 * - 1 del tmp47 tmp91 += tmp48 * - 0.5 del tmp48 tmp91 += tmp50 del tmp50 tmp91 += tmp52 * 0.5 del tmp52 tmp91 += einsum ( t1 . aa , ( 0 , 1 ), tmp56 , ( 0 , 2 ), ( 2 , 1 )) del tmp56 l1new . aa += einsum ( tmp91 , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 1 , 0 , 3 ), ( 3 , 2 )) * 2 del tmp91 tmp88 = np . copy ( np . transpose ( tmp49 , ( 1 , 0 , 2 , 3 ))) * - 0.5 tmp88 += np . transpose ( tmp85 , ( 2 , 0 , 1 , 3 )) tmp88 += np . transpose ( tmp86 , ( 2 , 0 , 1 , 3 )) * 0.25 tmp88 += einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 3 , 1 , 2 , 4 )) * 0.5 del tmp87 l1new . aa += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp88 , ( 0 , 4 , 2 , 1 ), ( 3 , 4 )) * - 4 del tmp88 tmp75 = np . copy ( np . transpose ( l2 . abab , ( 2 , 3 , 0 , 1 ))) tmp75 += tmp73 * 2 del tmp73 tmp75 += tmp74 * 2 del tmp74 tmp75 += einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 l1new . aa += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), tmp75 , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) del tmp75 tmp72 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) l1new . aa += einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), tmp49 , ( 4 , 0 , 1 , 3 ), ( 2 , 4 )) * - 2 del tmp72 tmp29 = np . copy ( tmp26 ) del tmp26 tmp29 += tmp27 * 2 del tmp27 tmp29 += tmp28 del tmp28 l1new . aa += einsum ( tmp29 , ( 0 , 1 ), tmp30 , ( 2 , 3 , 1 , 0 ), ( 3 , 2 )) * - 1 del tmp30 , tmp29 tmp89 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) * 0.5 tmp89 += np . transpose ( tmp85 , ( 0 , 2 , 1 , 3 )) del tmp85 tmp89 += np . transpose ( tmp86 , ( 0 , 2 , 1 , 3 )) * 0.25 del tmp86 l1new . aa += einsum ( tmp89 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 1 , 4 , 2 , 3 ), ( 4 , 0 )) * 4 del tmp89 tmp78 = np . copy ( np . transpose ( l2 . aaaa , ( 2 , 3 , 0 , 1 ))) tmp78 += tmp76 * 2 del tmp76 tmp78 += tmp77 * 0.5 del tmp77 l1new . aa += einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), tmp78 , ( 4 , 0 , 3 , 1 ), ( 2 , 4 )) * 2 del tmp78 tmp94 = np . copy ( f . aa . vv ) tmp94 += np . transpose ( tmp92 , ( 1 , 0 )) del tmp92 tmp94 += einsum ( t1 . aa , ( 0 , 1 ), tmp93 , ( 0 , 1 , 2 , 3 ), ( 3 , 2 )) * - 1 del tmp93 l1new . aa += einsum ( l1 . aa , ( 0 , 1 ), tmp94 , ( 0 , 2 ), ( 2 , 1 )) del tmp94 tmp90 = np . copy ( tmp80 ) del tmp80 tmp90 += np . transpose ( tmp81 , ( 0 , 1 , 3 , 2 )) del tmp81 l1new . aa += einsum ( tmp90 , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 1 , 4 , 3 , 2 ), ( 4 , 0 )) del tmp90 tmp68 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) l1new . aa += einsum ( tmp68 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 0 ), ( 1 , 4 )) del tmp68 tmp83 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 2 , 4 ), ( 4 , 0 , 1 , 3 )) tmp83 += tmp51 tmp83 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp49 , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) * - 2 del tmp49 tmp83 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp51 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) * 2 del tmp51 tmp83 += einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 del tmp37 tmp83 += einsum ( tmp82 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 1 del tmp82 l1new . aa += einsum ( tmp83 , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 1 , 4 , 2 , 3 ), ( 4 , 0 )) * - 1 del tmp83 l1new . aa += einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 3 , 1 ), ( 2 , 0 )) * - 1 l1new . aa += np . transpose ( f . aa . ov , ( 1 , 0 )) l1new . bb += einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 2 , 0 )) * - 1 l1new . bb += np . transpose ( f . bb . ov , ( 1 , 0 )) l2new . aaaa += np . transpose ( v . aaaa . ovov , ( 1 , 3 , 0 , 2 )) l2new . aaaa += np . transpose ( v . aaaa . ovov , ( 3 , 1 , 0 , 2 )) * - 1 l2new . abab += np . transpose ( v . aabb . ovov , ( 1 , 3 , 0 , 2 )) l2new . abab += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 4 ), ( 1 , 2 , 0 , 4 )) l2new . abab += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 1 , 4 ), ( 0 , 3 , 4 , 2 )) l2new . bbbb += np . transpose ( v . bbbb . ovov , ( 1 , 3 , 0 , 2 )) l2new . bbbb += np . transpose ( v . bbbb . ovov , ( 3 , 1 , 0 , 2 )) * - 1 return { f \"l1new\" : l1new , f \"l2new\" : l2new } ebcc . codegen . UCCSD . make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-12T21:49:17.273031. 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. Source code in ebcc/codegen/UCCSD.py 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 def make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-12T21:49:17.273031. 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 ])), ) tmp4 = einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 0 ), ( 1 , 2 )) rdm1 . bb . oo = np . copy ( np . transpose ( tmp4 , ( 1 , 0 ))) * - 1 tmp5 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) rdm1 . bb . oo += np . transpose ( tmp5 , ( 1 , 0 )) * - 2 tmp3 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 0 , 4 ), ( 4 , 1 )) rdm1 . bb . oo += np . transpose ( tmp3 , ( 1 , 0 )) * - 1 tmp2 = einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 1 , 2 )) rdm1 . aa . oo = np . copy ( np . transpose ( tmp2 , ( 1 , 0 ))) * - 1 tmp1 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) rdm1 . aa . oo += np . transpose ( tmp1 , ( 1 , 0 )) * - 2 tmp0 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) rdm1 . aa . oo += np . transpose ( tmp0 , ( 1 , 0 )) * - 1 tmp11 = np . copy ( tmp4 ) del tmp4 tmp11 += tmp3 del tmp3 tmp11 += tmp5 * 2 del tmp5 rdm1 . bb . ov = einsum ( tmp11 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp11 tmp9 = einsum ( t1 . bb , ( 0 , 1 ), l2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) rdm1 . bb . ov += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp9 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) * - 2 del tmp9 tmp10 = einsum ( t1 . bb , ( 0 , 1 ), l2 . abab , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) rdm1 . bb . ov += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) * - 1 del tmp10 tmp7 = einsum ( t1 . aa , ( 0 , 1 ), l2 . abab , ( 1 , 2 , 3 , 4 ), ( 3 , 0 , 4 , 2 )) rdm1 . aa . ov = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) * - 1 del tmp7 tmp6 = einsum ( t1 . aa , ( 0 , 1 ), l2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) rdm1 . aa . ov += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) * - 2 del tmp6 tmp8 = np . copy ( tmp2 ) del tmp2 tmp8 += tmp1 * 2 del tmp1 tmp8 += tmp0 del tmp0 rdm1 . aa . ov += einsum ( t1 . aa , ( 0 , 1 ), tmp8 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp8 rdm1 . aa . oo += delta . aa . oo rdm1 . bb . oo += delta . bb . oo del delta rdm1 . aa . ov += einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) rdm1 . aa . ov += einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) * 2 rdm1 . aa . ov += t1 . aa rdm1 . bb . ov += einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) rdm1 . bb . ov += t1 . bb rdm1 . bb . ov += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) * 2 rdm1 . aa . vo = np . copy ( l1 . aa ) rdm1 . bb . vo = np . copy ( l1 . bb ) rdm1 . aa . vv = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) rdm1 . aa . vv += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) rdm1 . aa . vv += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) * 2 rdm1 . bb . vv = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 0 ), ( 2 , 1 )) rdm1 . bb . vv += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) * 2 rdm1 . bb . vv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) 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 ebcc . codegen . UCCSD . make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-12T21:49:53.439642. 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. Source code in ebcc/codegen/UCCSD.py 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 def make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-12T21:49:53.439642. 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 ])), ) tmp10 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp9 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 0 , 4 ), ( 4 , 1 )) tmp8 = einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 0 ), ( 1 , 2 )) tmp19 = einsum ( t1 . bb , ( 0 , 1 ), l2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) rdm2 . bbbb . vooo = np . copy ( np . transpose ( tmp19 , ( 3 , 2 , 1 , 0 ))) rdm2 . bbbb . vooo += np . transpose ( tmp19 , ( 3 , 2 , 1 , 0 )) rdm2 . bbbb . ovoo = np . copy ( np . transpose ( tmp19 , ( 2 , 3 , 1 , 0 ))) * - 1 rdm2 . bbbb . ovoo += np . transpose ( tmp19 , ( 2 , 3 , 1 , 0 )) * - 1 tmp14 = einsum ( t1 . bb , ( 0 , 1 ), l2 . abab , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) rdm2 . abab . vovv = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 4 , 5 ), ( 3 , 2 , 4 , 5 )) * - 1 rdm2 . abab . vovo = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 rdm2 . abab . vooo = np . copy ( np . transpose ( tmp14 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp2 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp1 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp0 = einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 1 , 2 )) tmp6 = einsum ( t1 . aa , ( 0 , 1 ), l2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) rdm2 . aaaa . vooo = np . copy ( np . transpose ( tmp6 , ( 3 , 2 , 1 , 0 ))) rdm2 . aaaa . vooo += np . transpose ( tmp6 , ( 3 , 2 , 1 , 0 )) rdm2 . aaaa . ovoo = np . copy ( np . transpose ( tmp6 , ( 2 , 3 , 1 , 0 ))) * - 1 rdm2 . aaaa . ovoo += np . transpose ( tmp6 , ( 2 , 3 , 1 , 0 )) * - 1 tmp27 = einsum ( t1 . aa , ( 0 , 1 ), l2 . abab , ( 1 , 2 , 3 , 4 ), ( 3 , 0 , 4 , 2 )) rdm2 . abab . ovvv = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) * - 1 rdm2 . abab . ovov = einsum ( t1 . bb , ( 0 , 1 ), tmp27 , ( 2 , 3 , 0 , 4 ), ( 3 , 4 , 2 , 1 )) * - 1 rdm2 . abab . ovoo = np . copy ( np . transpose ( tmp27 , ( 1 , 3 , 0 , 2 ))) * - 1 tmp88 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) rdm2 . bbbb . vovo = np . copy ( np . transpose ( tmp88 , ( 2 , 1 , 3 , 0 ))) * - 4 rdm2 . bbbb . voov = np . copy ( np . transpose ( tmp88 , ( 2 , 1 , 0 , 3 ))) * 4 rdm2 . bbbb . ovvo = np . copy ( np . transpose ( tmp88 , ( 1 , 2 , 3 , 0 ))) * 4 rdm2 . bbbb . ovov = np . copy ( np . transpose ( tmp88 , ( 1 , 2 , 0 , 3 ))) * - 4 tmp107 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 5 ), ( 3 , 4 , 1 , 5 )) rdm2 . bbbb . vovo += np . transpose ( tmp107 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . voov += np . transpose ( tmp107 , ( 2 , 1 , 0 , 3 )) rdm2 . bbbb . ovvo += np . transpose ( tmp107 , ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . ovov += np . transpose ( tmp107 , ( 1 , 2 , 0 , 3 )) * - 1 tmp69 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) rdm2 . aaaa . vovo = np . copy ( np . transpose ( tmp69 , ( 2 , 1 , 3 , 0 ))) * - 1 rdm2 . aaaa . voov = np . copy ( np . transpose ( tmp69 , ( 2 , 1 , 0 , 3 ))) rdm2 . aaaa . ovvo = np . copy ( np . transpose ( tmp69 , ( 1 , 2 , 3 , 0 ))) rdm2 . aaaa . ovov = np . copy ( np . transpose ( tmp69 , ( 1 , 2 , 0 , 3 ))) * - 1 tmp67 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) rdm2 . aaaa . vovo += np . transpose ( tmp67 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . aaaa . voov += np . transpose ( tmp67 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . aaaa . ovvo += np . transpose ( tmp67 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . aaaa . ovov += np . transpose ( tmp67 , ( 1 , 2 , 0 , 3 )) * - 4 tmp17 = np . copy ( tmp8 ) tmp17 += tmp9 tmp17 += tmp10 * 2 rdm2 . abab . oovv = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 rdm2 . bbbb . oovo = einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . bbbb . oovo += einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) rdm2 . abab . oovo = einsum ( t1 . aa , ( 0 , 1 ), tmp17 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . bbbb . ooov = einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) rdm2 . bbbb . ooov += einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . bbbb . oooo = einsum ( delta . bb . oo , ( 0 , 1 ), tmp17 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) tmp51 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 rdm2 . bbbb . oovo += np . transpose ( tmp51 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . bbbb . oovo += np . transpose ( tmp51 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . bbbb . ooov += np . transpose ( tmp51 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . bbbb . ooov += np . transpose ( tmp51 , ( 1 , 2 , 0 , 3 )) * - 4 tmp50 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 0 , 4 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) rdm2 . bbbb . oovo += np . transpose ( tmp50 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . oovo += np . transpose ( tmp50 , ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . ooov += np . transpose ( tmp50 , ( 2 , 1 , 0 , 3 )) rdm2 . bbbb . ooov += np . transpose ( tmp50 , ( 1 , 2 , 0 , 3 )) * - 1 tmp18 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) rdm2 . bbbb . oooo += np . transpose ( tmp18 , ( 3 , 2 , 1 , 0 )) rdm2 . bbbb . oooo += np . transpose ( tmp18 , ( 3 , 2 , 1 , 0 )) tmp20 = einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) rdm2 . bbbb . oooo += np . transpose ( tmp20 , ( 2 , 3 , 1 , 0 )) * - 1 rdm2 . bbbb . oooo += np . transpose ( tmp20 , ( 2 , 3 , 1 , 0 )) * - 1 tmp15 = einsum ( t1 . aa , ( 0 , 1 ), tmp14 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) rdm2 . abab . oooo = np . copy ( np . transpose ( tmp15 , ( 1 , 3 , 0 , 2 ))) tmp13 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 0 , 1 ), ( 2 , 4 , 3 , 5 )) rdm2 . abab . oooo += np . transpose ( tmp13 , ( 1 , 3 , 0 , 2 )) tmp4 = np . copy ( tmp0 ) * 0.5 tmp4 += tmp1 tmp4 += tmp2 * 0.5 rdm2 . aaaa . oooo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * 2 rdm2 . aaaa . oooo += einsum ( tmp4 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 2 tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) rdm2 . aaaa . oooo += np . transpose ( tmp7 , ( 2 , 3 , 1 , 0 )) * - 1 rdm2 . aaaa . oooo += np . transpose ( tmp7 , ( 2 , 3 , 1 , 0 )) * - 1 tmp5 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) rdm2 . aaaa . oooo += np . transpose ( tmp5 , ( 3 , 2 , 1 , 0 )) rdm2 . aaaa . oooo += np . transpose ( tmp5 , ( 3 , 2 , 1 , 0 )) tmp31 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) rdm2 . aaaa . oovo = np . copy ( np . transpose ( tmp31 , ( 2 , 1 , 3 , 0 ))) * - 1 rdm2 . aaaa . oovo += np . transpose ( tmp31 , ( 1 , 2 , 3 , 0 )) rdm2 . aaaa . ooov = np . copy ( np . transpose ( tmp31 , ( 2 , 1 , 0 , 3 ))) rdm2 . aaaa . ooov += np . transpose ( tmp31 , ( 1 , 2 , 0 , 3 )) * - 1 tmp32 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) * - 1 rdm2 . aaaa . oovo += np . transpose ( tmp32 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . aaaa . oovo += np . transpose ( tmp32 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . aaaa . ooov += np . transpose ( tmp32 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . aaaa . ooov += np . transpose ( tmp32 , ( 1 , 2 , 0 , 3 )) * - 4 tmp108 = einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) rdm2 . bbbb . vovo += np . transpose ( tmp108 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . bbbb . voov += np . transpose ( tmp108 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . bbbb . ovvo += np . transpose ( tmp108 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . bbbb . ovov += np . transpose ( tmp108 , ( 1 , 2 , 0 , 3 )) * 2 tmp121 = np . copy ( tmp107 ) tmp121 += tmp88 * 4 tmp80 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp79 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) tmp105 = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 0 ), ( 2 , 1 )) tmp62 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp102 = einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp63 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp90 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) rdm2 . abab . voov = np . copy ( np . transpose ( tmp90 , ( 2 , 1 , 0 , 3 ))) * 2 tmp92 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) rdm2 . abab . voov += np . transpose ( tmp92 , ( 2 , 1 , 0 , 3 )) * 2 tmp104 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) rdm2 . aaaa . vovo += np . transpose ( tmp104 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . aaaa . voov += np . transpose ( tmp104 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . aaaa . ovvo += np . transpose ( tmp104 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . aaaa . ovov += np . transpose ( tmp104 , ( 1 , 2 , 0 , 3 )) * 2 tmp84 = np . copy ( tmp67 ) * 4 tmp84 += tmp69 rdm2 . abab . oovv += einsum ( tmp84 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp65 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) rdm2 . abab . ovvo = np . copy ( np . transpose ( tmp65 , ( 0 , 3 , 2 , 1 ))) * 2 tmp82 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 4 , 3 , 5 , 1 )) rdm2 . abab . ovvo += np . transpose ( tmp82 , ( 0 , 3 , 2 , 1 )) * 2 tmp39 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) tmp40 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp19 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) tmp60 = einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 0 , 2 ), ( 2 , 1 )) * 0.5 tmp36 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) tmp35 = einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) tmp49 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) rdm2 . bbbb . oovo += np . transpose ( tmp49 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . bbbb . ooov += np . transpose ( tmp49 , ( 2 , 1 , 0 , 3 )) * - 2 tmp100 = np . copy ( tmp50 ) del tmp50 tmp100 += tmp51 * 4 del tmp51 tmp41 = einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 0 , 2 ), ( 2 , 1 )) tmp52 = np . copy ( np . transpose ( tmp18 , ( 1 , 0 , 3 , 2 ))) del tmp18 tmp52 += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp20 tmp45 = np . copy ( tmp13 ) del tmp13 tmp45 += tmp15 del tmp15 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp45 , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) rdm2 . abab . oovo += einsum ( t1 . aa , ( 0 , 1 ), tmp45 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 1 , 3 )) tmp21 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp22 = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp43 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) * - 1 rdm2 . abab . ooov = np . copy ( np . transpose ( tmp43 , ( 1 , 2 , 0 , 3 ))) * - 2 tmp44 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp27 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) rdm2 . abab . ooov += np . transpose ( tmp44 , ( 1 , 2 , 0 , 3 )) * - 2 tmp28 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp26 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) tmp29 = einsum ( tmp4 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * 2 tmp58 = einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) * - 1 rdm2 . abab . oovo += np . transpose ( tmp58 , ( 0 , 2 , 3 , 1 )) * - 2 tmp57 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) rdm2 . abab . oovo += np . transpose ( tmp57 , ( 0 , 2 , 3 , 1 )) * - 2 tmp12 = np . copy ( tmp0 ) tmp12 += tmp1 * 2 tmp12 += tmp2 rdm2 . abab . oovv += einsum ( tmp12 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 rdm2 . aaaa . oovo += einsum ( t1 . aa , ( 0 , 1 ), tmp12 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . aaaa . oovo += einsum ( tmp12 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) rdm2 . abab . ooov += einsum ( tmp12 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . aaaa . ooov += einsum ( t1 . aa , ( 0 , 1 ), tmp12 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) rdm2 . aaaa . ooov += einsum ( tmp12 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . abab . oooo += einsum ( tmp12 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 tmp33 = np . copy ( np . transpose ( tmp5 , ( 1 , 0 , 3 , 2 ))) del tmp5 tmp33 += np . transpose ( tmp7 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp7 tmp77 = np . copy ( tmp32 ) * 4 del tmp32 tmp77 += tmp31 del tmp31 tmp25 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) rdm2 . aaaa . oovo += np . transpose ( tmp25 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . aaaa . ooov += np . transpose ( tmp25 , ( 2 , 1 , 0 , 3 )) * - 2 tmp54 = einsum ( tmp4 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) del tmp4 tmp130 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) rdm2 . bbbb . vvvv = np . copy ( np . transpose ( tmp130 , ( 1 , 0 , 3 , 2 ))) rdm2 . bbbb . vvvv += np . transpose ( tmp130 , ( 1 , 0 , 3 , 2 )) del tmp130 tmp128 = einsum ( t1 . bb , ( 0 , 1 ), l2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 4 , 2 , 3 , 1 )) rdm2 . bbbb . vvvv += einsum ( t1 . bb , ( 0 , 1 ), tmp128 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 rdm2 . bbbb . vvvo = np . copy ( np . transpose ( tmp128 , ( 2 , 1 , 3 , 0 ))) * 2 rdm2 . bbbb . vvov = np . copy ( np . transpose ( tmp128 , ( 2 , 1 , 0 , 3 ))) * - 2 del tmp128 tmp127 = einsum ( t1 . bb , ( 0 , 1 ), l2 . abab , ( 2 , 3 , 4 , 0 ), ( 4 , 2 , 3 , 1 )) rdm2 . abab . vvvv = einsum ( tmp127 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) rdm2 . abab . vvov = np . copy ( np . transpose ( tmp127 , ( 1 , 2 , 0 , 3 ))) del tmp127 tmp126 = einsum ( t1 . aa , ( 0 , 1 ), l2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 4 , 2 , 3 , 1 )) rdm2 . aaaa . vvvv = einsum ( t1 . aa , ( 0 , 1 ), tmp126 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 rdm2 . aaaa . vvvo = np . copy ( np . transpose ( tmp126 , ( 2 , 1 , 3 , 0 ))) * 2 rdm2 . aaaa . vvov = np . copy ( np . transpose ( tmp126 , ( 2 , 1 , 0 , 3 ))) * - 2 del tmp126 tmp129 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) rdm2 . aaaa . vvvv += np . transpose ( tmp129 , ( 1 , 0 , 3 , 2 )) rdm2 . aaaa . vvvv += np . transpose ( tmp129 , ( 1 , 0 , 3 , 2 )) del tmp129 tmp124 = einsum ( t1 . bb , ( 0 , 1 ), tmp108 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp108 rdm2 . bbbb . vovv = np . copy ( np . transpose ( tmp124 , ( 1 , 0 , 3 , 2 ))) * 2 rdm2 . bbbb . ovvv = np . copy ( np . transpose ( tmp124 , ( 0 , 1 , 3 , 2 ))) * - 2 del tmp124 tmp122 = einsum ( t1 . bb , ( 0 , 1 ), tmp121 , ( 0 , 2 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) del tmp121 rdm2 . bbbb . vovv += np . transpose ( tmp122 , ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . bbbb . vovv += np . transpose ( tmp122 , ( 2 , 0 , 1 , 3 )) rdm2 . bbbb . ovvv += np . transpose ( tmp122 , ( 0 , 2 , 3 , 1 )) del tmp122 tmp118 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) rdm2 . bbbb . vovv += np . transpose ( tmp118 , ( 1 , 0 , 3 , 2 )) rdm2 . bbbb . vovv += np . transpose ( tmp118 , ( 1 , 0 , 3 , 2 )) rdm2 . bbbb . ovvv += np . transpose ( tmp118 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . bbbb . ovvv += np . transpose ( tmp118 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp118 tmp106 = np . copy ( tmp105 ) tmp106 += tmp79 tmp106 += tmp80 * 2 rdm2 . bbbb . vovv += einsum ( tmp106 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . ovvv += einsum ( tmp106 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . ovvv += einsum ( t1 . aa , ( 0 , 1 ), tmp106 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . vovo += einsum ( tmp106 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . voov += einsum ( tmp106 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . ovvo += einsum ( tmp106 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . ovov += einsum ( tmp106 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . ovov += einsum ( tmp106 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp106 tmp119 = np . copy ( tmp105 ) * 0.5 del tmp105 tmp119 += tmp79 * 0.5 tmp119 += tmp80 rdm2 . bbbb . vovv += einsum ( t1 . bb , ( 0 , 1 ), tmp119 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . bbbb . ovvv += einsum ( t1 . bb , ( 0 , 1 ), tmp119 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 del tmp119 tmp123 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp19 , ( 1 , 0 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) * - 1 del tmp19 rdm2 . bbbb . vovv += np . transpose ( tmp123 , ( 1 , 0 , 3 , 2 )) rdm2 . bbbb . vovv += np . transpose ( tmp123 , ( 1 , 0 , 3 , 2 )) rdm2 . bbbb . ovvv += np . transpose ( tmp123 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . bbbb . ovvv += np . transpose ( tmp123 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp123 tmp103 = np . copy ( tmp102 ) tmp103 += tmp62 * 2 tmp103 += tmp63 rdm2 . abab . vovv += einsum ( t1 . bb , ( 0 , 1 ), tmp103 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . vovv = einsum ( tmp103 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . ovvv = einsum ( tmp103 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . vovo += einsum ( tmp103 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . voov += einsum ( tmp103 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . ovov += einsum ( tmp103 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp103 tmp125 = np . copy ( tmp90 ) tmp125 += tmp92 rdm2 . abab . vovv += einsum ( tmp125 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 1 , 4 , 3 )) * 2 del tmp125 tmp112 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 5 , 1 ), ( 3 , 4 , 0 , 5 )) rdm2 . abab . vovv += einsum ( t1 . bb , ( 0 , 1 ), tmp112 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 rdm2 . abab . vovo += np . transpose ( tmp112 , ( 2 , 1 , 3 , 0 )) * - 1 del tmp112 tmp111 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) rdm2 . abab . vovv += einsum ( tmp111 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 1 , 4 , 3 )) * - 1 rdm2 . abab . voov += np . transpose ( tmp111 , ( 2 , 1 , 0 , 3 )) * - 1 del tmp111 tmp109 = np . copy ( tmp102 ) * 0.5 del tmp102 tmp109 += tmp62 tmp109 += tmp63 * 0.5 rdm2 . aaaa . vovv += einsum ( t1 . aa , ( 0 , 1 ), tmp109 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . aaaa . ovvv += einsum ( t1 . aa , ( 0 , 1 ), tmp109 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . aaaa . vovo += einsum ( tmp109 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . aaaa . ovvo += einsum ( tmp109 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 del tmp109 tmp113 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) rdm2 . aaaa . vovv += np . transpose ( tmp113 , ( 1 , 0 , 3 , 2 )) rdm2 . aaaa . vovv += np . transpose ( tmp113 , ( 1 , 0 , 3 , 2 )) rdm2 . aaaa . ovvv += np . transpose ( tmp113 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . aaaa . ovvv += np . transpose ( tmp113 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp113 tmp117 = einsum ( t1 . aa , ( 0 , 1 ), tmp104 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp104 rdm2 . aaaa . vovv += np . transpose ( tmp117 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . aaaa . ovvv += np . transpose ( tmp117 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp117 tmp115 = einsum ( tmp84 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 4 , 2 , 3 )) del tmp84 rdm2 . aaaa . vovv += np . transpose ( tmp115 , ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . vovv += np . transpose ( tmp115 , ( 2 , 0 , 1 , 3 )) rdm2 . aaaa . ovvv += np . transpose ( tmp115 , ( 0 , 2 , 3 , 1 )) del tmp115 tmp116 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 0 , 4 , 5 ), ( 2 , 3 , 4 , 5 )) * - 1 del tmp6 rdm2 . aaaa . vovv += np . transpose ( tmp116 , ( 1 , 0 , 3 , 2 )) rdm2 . aaaa . vovv += np . transpose ( tmp116 , ( 1 , 0 , 3 , 2 )) rdm2 . aaaa . ovvv += np . transpose ( tmp116 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . aaaa . ovvv += np . transpose ( tmp116 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp116 tmp120 = np . copy ( tmp107 ) del tmp107 tmp120 += tmp88 * 4 rdm2 . bbbb . ovvv += einsum ( t1 . bb , ( 0 , 1 ), tmp120 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp120 tmp85 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 5 , 1 ), ( 5 , 0 , 4 , 3 )) rdm2 . abab . ovvv += einsum ( tmp85 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 1 rdm2 . abab . ovov += np . transpose ( tmp85 , ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp85 , ( 0 , 4 , 3 , 5 ), ( 4 , 1 , 2 , 5 )) del tmp85 tmp110 = einsum ( t1 . aa , ( 0 , 1 ), tmp27 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) rdm2 . abab . ovvv += einsum ( t1 . bb , ( 0 , 1 ), tmp110 , ( 2 , 0 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 1 rdm2 . abab . ovvo += np . transpose ( tmp110 , ( 0 , 3 , 2 , 1 )) * - 1 del tmp110 tmp83 = np . copy ( tmp82 ) del tmp82 tmp83 += tmp65 rdm2 . abab . ovvv += einsum ( t1 . bb , ( 0 , 1 ), tmp83 , ( 2 , 0 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * 2 rdm2 . abab . oovv += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp83 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 4 del tmp83 tmp114 = np . copy ( tmp67 ) tmp114 += tmp69 * 0.25 rdm2 . aaaa . ovvv += einsum ( t1 . aa , ( 0 , 1 ), tmp114 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 4 del tmp114 tmp61 = np . copy ( tmp39 ) * 0.5 tmp61 += tmp40 tmp61 += tmp60 del tmp60 rdm2 . bbbb . oovv = einsum ( t1 . bb , ( 0 , 1 ), tmp61 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp61 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp61 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 rdm2 . bbbb . oovo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp61 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 del tmp61 tmp37 = np . copy ( t1 . bb ) tmp37 += tmp35 tmp37 += tmp36 * 2 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . oovo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . ooov += einsum ( delta . bb . oo , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . ooov += einsum ( delta . aa . oo , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) del tmp37 tmp81 = np . copy ( tmp79 ) * 0.5 tmp81 += tmp80 rdm2 . bbbb . oovv += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp81 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 4 rdm2 . abab . oovv += einsum ( tmp81 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp81 tmp95 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp49 rdm2 . bbbb . oovv += np . transpose ( tmp95 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += tmp95 * 2 del tmp95 tmp101 = einsum ( tmp100 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp100 rdm2 . bbbb . oovv += np . transpose ( tmp101 , ( 0 , 1 , 3 , 2 )) rdm2 . bbbb . oovv += np . transpose ( tmp101 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . bbbb . oovv += tmp101 * - 1 rdm2 . bbbb . oovv += np . transpose ( tmp101 , ( 1 , 0 , 2 , 3 )) del tmp101 tmp94 = np . copy ( tmp35 ) tmp94 += tmp36 * 2 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp94 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp94 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp94 tmp42 = np . copy ( tmp39 ) del tmp39 tmp42 += tmp40 * 2 del tmp40 tmp42 += tmp41 del tmp41 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) rdm2 . bbbb . oovo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) rdm2 . bbbb . ooov += einsum ( delta . bb . oo , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 rdm2 . bbbb . ooov += einsum ( tmp42 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) rdm2 . abab . ooov += einsum ( tmp42 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 del tmp42 tmp98 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp52 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) rdm2 . bbbb . oovv += np . transpose ( tmp98 , ( 1 , 0 , 3 , 2 )) rdm2 . bbbb . oovv += np . transpose ( tmp98 , ( 1 , 0 , 3 , 2 )) del tmp98 tmp48 = np . copy ( t1 . bb ) tmp48 += tmp35 del tmp35 tmp48 += tmp36 * 2 del tmp36 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp48 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . oovo += einsum ( tmp48 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . ooov += einsum ( tmp48 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 del tmp48 tmp96 = np . copy ( tmp79 ) del tmp79 tmp96 += tmp80 * 2 del tmp80 rdm2 . bbbb . oovv += einsum ( tmp96 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp96 tmp89 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp88 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) del tmp88 rdm2 . bbbb . oovv += tmp89 * 8 rdm2 . bbbb . oovv += np . transpose ( tmp89 , ( 0 , 1 , 3 , 2 )) * - 8 del tmp89 tmp97 = einsum ( tmp17 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 del tmp17 rdm2 . bbbb . oovv += np . transpose ( tmp97 , ( 1 , 0 , 3 , 2 )) rdm2 . bbbb . oovv += np . transpose ( tmp97 , ( 1 , 0 , 3 , 2 )) rdm2 . bbbb . oovv += np . transpose ( tmp97 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . bbbb . oovv += np . transpose ( tmp97 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp97 tmp91 = einsum ( tmp90 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp90 rdm2 . bbbb . oovv += np . transpose ( tmp91 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . bbbb . oovv += np . transpose ( tmp91 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp91 tmp93 = einsum ( tmp92 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp92 rdm2 . bbbb . oovv += np . transpose ( tmp93 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . bbbb . oovv += tmp93 * 2 rdm2 . bbbb . oovv += np . transpose ( tmp93 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp93 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp93 tmp99 = einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp99 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp99 tmp46 = einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp45 rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp46 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) rdm2 . abab . ooov += np . transpose ( tmp46 , ( 1 , 2 , 0 , 3 )) del tmp46 tmp47 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) del tmp14 rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp47 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) rdm2 . abab . ooov += np . transpose ( tmp47 , ( 1 , 2 , 0 , 3 )) del tmp47 tmp59 = einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) del tmp27 rdm2 . abab . oovv += einsum ( tmp59 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) rdm2 . abab . oovo += np . transpose ( tmp59 , ( 0 , 2 , 3 , 1 )) del tmp59 tmp56 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 4 ), ( 0 , 4 , 1 , 2 )) rdm2 . abab . oovv += einsum ( tmp56 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 rdm2 . abab . oovo += np . transpose ( tmp56 , ( 0 , 2 , 3 , 1 )) * - 1 del tmp56 tmp71 = np . copy ( tmp21 ) * 2 tmp71 += tmp22 rdm2 . abab . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp71 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . oovv = einsum ( tmp71 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp71 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp71 tmp86 = np . copy ( tmp43 ) del tmp43 tmp86 += tmp44 del tmp44 rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp86 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp86 tmp73 = np . copy ( tmp62 ) * 2 tmp73 += tmp63 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp73 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 rdm2 . aaaa . oovv += einsum ( tmp73 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp73 tmp30 = np . copy ( tmp26 ) * 2 tmp30 += tmp28 tmp30 += tmp29 del tmp29 rdm2 . abab . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . oovv += einsum ( tmp30 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . abab . oovo += einsum ( tmp30 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 rdm2 . aaaa . ooov += einsum ( tmp30 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . ooov += einsum ( delta . aa . oo , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) del tmp30 tmp38 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 2 , 4 ), ( 4 , 0 , 1 , 3 )) rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp38 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 rdm2 . abab . ooov += np . transpose ( tmp38 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp38 tmp87 = np . copy ( tmp57 ) del tmp57 tmp87 += tmp58 del tmp58 rdm2 . abab . oovv += einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) * - 2 del tmp87 tmp64 = np . copy ( tmp62 ) del tmp62 tmp64 += tmp63 * 0.5 del tmp63 rdm2 . aaaa . oovv += einsum ( tmp64 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 4 del tmp64 tmp70 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp69 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) del tmp69 rdm2 . aaaa . oovv += np . transpose ( tmp70 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . aaaa . oovv += tmp70 * 2 rdm2 . aaaa . oovv += np . transpose ( tmp70 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . aaaa . oovv += np . transpose ( tmp70 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp70 tmp66 = einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp65 rdm2 . aaaa . oovv += tmp66 * 2 rdm2 . aaaa . oovv += np . transpose ( tmp66 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp66 tmp74 = einsum ( tmp12 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp12 rdm2 . aaaa . oovv += np . transpose ( tmp74 , ( 0 , 1 , 3 , 2 )) rdm2 . aaaa . oovv += np . transpose ( tmp74 , ( 0 , 1 , 3 , 2 )) rdm2 . aaaa . oovv += np . transpose ( tmp74 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . aaaa . oovv += np . transpose ( tmp74 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp74 tmp76 = einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) rdm2 . aaaa . oovv += einsum ( tmp76 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * 2 del tmp76 tmp78 = einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp77 rdm2 . aaaa . oovv += np . transpose ( tmp78 , ( 0 , 1 , 3 , 2 )) rdm2 . aaaa . oovv += np . transpose ( tmp78 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . aaaa . oovv += tmp78 * - 1 rdm2 . aaaa . oovv += np . transpose ( tmp78 , ( 1 , 0 , 2 , 3 )) del tmp78 tmp24 = np . copy ( t1 . aa ) tmp24 += tmp21 * 2 tmp24 += tmp22 rdm2 . aaaa . oovv += einsum ( tmp24 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . oovo += einsum ( tmp24 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . ooov += einsum ( tmp24 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp24 tmp68 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp67 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) del tmp67 rdm2 . aaaa . oovv += tmp68 * 8 rdm2 . aaaa . oovv += np . transpose ( tmp68 , ( 0 , 1 , 3 , 2 )) * - 8 del tmp68 tmp23 = np . copy ( t1 . aa ) tmp23 += tmp21 * 2 del tmp21 tmp23 += tmp22 del tmp22 rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp23 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . abab . oovo += einsum ( tmp23 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . oovo += einsum ( tmp23 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . ooov += einsum ( tmp23 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 del tmp23 tmp75 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp33 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) rdm2 . aaaa . oovv += np . transpose ( tmp75 , ( 1 , 0 , 3 , 2 )) rdm2 . aaaa . oovv += np . transpose ( tmp75 , ( 1 , 0 , 3 , 2 )) del tmp75 tmp72 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp25 rdm2 . aaaa . oovv += np . transpose ( tmp72 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += tmp72 * 2 del tmp72 tmp55 = np . copy ( tmp26 ) del tmp26 tmp55 += tmp28 * 0.5 del tmp28 tmp55 += tmp54 del tmp54 rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp55 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 rdm2 . aaaa . oovv += einsum ( tmp55 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 rdm2 . aaaa . oovo += einsum ( tmp55 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 rdm2 . aaaa . oovo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp55 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 del tmp55 tmp53 = einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) * 2 del tmp52 rdm2 . bbbb . oovo += np . transpose ( tmp53 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . ooov += np . transpose ( tmp53 , ( 2 , 1 , 0 , 3 )) del tmp53 tmp34 = einsum ( t1 . aa , ( 0 , 1 ), tmp33 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * 2 del tmp33 rdm2 . aaaa . oovo += np . transpose ( tmp34 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . aaaa . ooov += np . transpose ( tmp34 , ( 2 , 1 , 0 , 3 )) del tmp34 tmp16 = np . copy ( tmp8 ) * 0.5 tmp16 += tmp9 * 0.5 tmp16 += tmp10 rdm2 . bbbb . oooo += einsum ( tmp16 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 2 del tmp16 tmp11 = np . copy ( delta . bb . oo ) * - 1 tmp11 += tmp8 del tmp8 tmp11 += tmp9 del tmp9 tmp11 += tmp10 * 2 del tmp10 rdm2 . bbbb . oooo += einsum ( tmp11 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . oooo += einsum ( tmp11 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . abab . oooo += einsum ( tmp11 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 del tmp11 tmp3 = np . copy ( delta . aa . oo ) * - 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 , 0 , 1 , 2 )) rdm2 . aaaa . oooo += einsum ( tmp3 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 del tmp3 rdm2 . aaaa . ovoo += einsum ( l1 . aa , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . ovoo += einsum ( l1 . aa , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . ovoo += einsum ( l1 . bb , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . ovoo += einsum ( delta . bb . oo , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . ovoo += einsum ( l1 . bb , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . vooo += einsum ( l1 . aa , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . vooo += einsum ( l1 . aa , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . abab . vooo += einsum ( l1 . aa , ( 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 , 3 , 1 )) rdm2 . bbbb . vooo += einsum ( l1 . bb , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 del delta rdm2 . aaaa . oovv += t2 . aaaa rdm2 . aaaa . oovv += t2 . aaaa rdm2 . abab . oovv += t2 . abab rdm2 . bbbb . oovv += t2 . bbbb rdm2 . bbbb . oovv += t2 . bbbb rdm2 . aaaa . ovov += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . ovov += einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . ovvo += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . ovvo += einsum ( l1 . bb , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . ovvo += einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . voov += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . voov += einsum ( l1 . aa , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . voov += einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . vovo += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . vovo += einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . vvoo = np . copy ( l2 . aaaa ) rdm2 . aaaa . vvoo += l2 . aaaa rdm2 . abab . vvoo = np . copy ( l2 . abab ) rdm2 . bbbb . vvoo = np . copy ( l2 . bbbb ) rdm2 . bbbb . vvoo += l2 . bbbb rdm2 . abab . ovvv += einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) rdm2 . abab . vovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 4 , 0 ), ( 4 , 1 , 2 , 3 )) rdm2 . abab . vvvo = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) rdm2 . abab . vvvv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) 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 ebcc . codegen . UCCSD . hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-12T21:52:03.669123. 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 tmp1 : array tmp100 : array tmp101 : array tmp102 : array tmp104 : array tmp106 : array tmp108 : array tmp11 : array tmp110 : array tmp112 : array tmp114 : array tmp116 : array tmp118 : array tmp12 : array tmp120 : array tmp122 : array tmp124 : array tmp125 : array tmp126 : array tmp127 : array tmp128 : array tmp129 : array tmp13 : array tmp130 : array tmp131 : array tmp132 : array tmp139 : array tmp145 : array tmp147 : array tmp149 : array tmp15 : array tmp152 : array tmp155 : array tmp156 : array tmp158 : array tmp16 : array tmp162 : array tmp163 : array tmp164 : array tmp166 : array tmp168 : array tmp170 : array tmp171 : array tmp172 : array tmp174 : array tmp18 : array tmp185 : array tmp186 : array tmp187 : array tmp189 : array tmp190 : array tmp192 : array tmp194 : array tmp197 : array tmp199 : array tmp20 : array tmp200 : array tmp201 : array tmp209 : array tmp214 : array tmp217 : array tmp22 : array tmp222 : array tmp223 : array tmp224 : array tmp229 : array tmp230 : array tmp232 : array tmp233 : array tmp237 : array tmp238 : array tmp239 : array tmp24 : array tmp241 : array tmp243 : array tmp244 : array tmp248 : array tmp249 : array tmp25 : array tmp255 : array tmp256 : array tmp257 : array tmp258 : array tmp259 : array tmp26 : array tmp262 : array tmp264 : array tmp265 : array tmp267 : array tmp269 : array tmp270 : array tmp271 : array tmp273 : array tmp275 : array tmp277 : array tmp279 : array tmp28 : array tmp281 : array tmp283 : array tmp284 : array tmp285 : array tmp286 : array tmp287 : array tmp288 : array tmp289 : array tmp290 : array tmp292 : array tmp297 : array tmp298 : array tmp299 : array tmp300 : array tmp302 : array tmp304 : array tmp307 : array tmp308 : array tmp309 : array tmp31 : array tmp310 : array tmp311 : array tmp312 : array tmp316 : array tmp317 : array tmp318 : array tmp319 : array tmp32 : array tmp321 : array tmp322 : array tmp323 : array tmp324 : array tmp325 : array tmp326 : array tmp328 : array tmp329 : array tmp33 : array tmp333 : array tmp334 : array tmp335 : array tmp337 : array tmp339 : array tmp340 : array tmp344 : array tmp345 : array tmp346 : array tmp347 : array tmp348 : array tmp349 : array tmp354 : array tmp355 : array tmp356 : array tmp367 : array tmp369 : array tmp37 : array tmp371 : array tmp373 : array tmp375 : array tmp377 : array tmp383 : array tmp39 : array tmp394 : array tmp396 : array tmp398 : array tmp4 : array tmp41 : array tmp414 : array tmp418 : array tmp420 : array tmp422 : array tmp427 : array tmp429 : array tmp43 : array tmp433 : array tmp435 : array tmp437 : array tmp439 : array tmp441 : array tmp45 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp53 : array tmp55 : array tmp57 : array tmp59 : array tmp6 : array tmp61 : array tmp63 : array tmp65 : array tmp66 : array tmp67 : array tmp68 : array tmp69 : array tmp7 : array tmp70 : array tmp72 : array tmp74 : array tmp76 : array tmp78 : array tmp80 : array tmp83 : array tmp86 : array tmp87 : array tmp89 : array tmp9 : array Source code in ebcc/codegen/UCCSD.py 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 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:52:03.669123. 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 ------- tmp1 : array tmp100 : array tmp101 : array tmp102 : array tmp104 : array tmp106 : array tmp108 : array tmp11 : array tmp110 : array tmp112 : array tmp114 : array tmp116 : array tmp118 : array tmp12 : array tmp120 : array tmp122 : array tmp124 : array tmp125 : array tmp126 : array tmp127 : array tmp128 : array tmp129 : array tmp13 : array tmp130 : array tmp131 : array tmp132 : array tmp139 : array tmp145 : array tmp147 : array tmp149 : array tmp15 : array tmp152 : array tmp155 : array tmp156 : array tmp158 : array tmp16 : array tmp162 : array tmp163 : array tmp164 : array tmp166 : array tmp168 : array tmp170 : array tmp171 : array tmp172 : array tmp174 : array tmp18 : array tmp185 : array tmp186 : array tmp187 : array tmp189 : array tmp190 : array tmp192 : array tmp194 : array tmp197 : array tmp199 : array tmp20 : array tmp200 : array tmp201 : array tmp209 : array tmp214 : array tmp217 : array tmp22 : array tmp222 : array tmp223 : array tmp224 : array tmp229 : array tmp230 : array tmp232 : array tmp233 : array tmp237 : array tmp238 : array tmp239 : array tmp24 : array tmp241 : array tmp243 : array tmp244 : array tmp248 : array tmp249 : array tmp25 : array tmp255 : array tmp256 : array tmp257 : array tmp258 : array tmp259 : array tmp26 : array tmp262 : array tmp264 : array tmp265 : array tmp267 : array tmp269 : array tmp270 : array tmp271 : array tmp273 : array tmp275 : array tmp277 : array tmp279 : array tmp28 : array tmp281 : array tmp283 : array tmp284 : array tmp285 : array tmp286 : array tmp287 : array tmp288 : array tmp289 : array tmp290 : array tmp292 : array tmp297 : array tmp298 : array tmp299 : array tmp300 : array tmp302 : array tmp304 : array tmp307 : array tmp308 : array tmp309 : array tmp31 : array tmp310 : array tmp311 : array tmp312 : array tmp316 : array tmp317 : array tmp318 : array tmp319 : array tmp32 : array tmp321 : array tmp322 : array tmp323 : array tmp324 : array tmp325 : array tmp326 : array tmp328 : array tmp329 : array tmp33 : array tmp333 : array tmp334 : array tmp335 : array tmp337 : array tmp339 : array tmp340 : array tmp344 : array tmp345 : array tmp346 : array tmp347 : array tmp348 : array tmp349 : array tmp354 : array tmp355 : array tmp356 : array tmp367 : array tmp369 : array tmp37 : array tmp371 : array tmp373 : array tmp375 : array tmp377 : array tmp383 : array tmp39 : array tmp394 : array tmp396 : array tmp398 : array tmp4 : array tmp41 : array tmp414 : array tmp418 : array tmp420 : array tmp422 : array tmp427 : array tmp429 : array tmp43 : array tmp433 : array tmp435 : array tmp437 : array tmp439 : array tmp441 : array tmp45 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp53 : array tmp55 : array tmp57 : array tmp59 : array tmp6 : array tmp61 : array tmp63 : array tmp65 : array tmp66 : array tmp67 : array tmp68 : array tmp69 : array tmp7 : array tmp70 : array tmp72 : array tmp74 : array tmp76 : array tmp78 : array tmp80 : array tmp83 : array tmp86 : array tmp87 : array tmp89 : array tmp9 : array \"\"\" tmp1 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 2 , 1 ), ( 2 , 0 )) tmp152 = einsum ( t1 . aa , ( 0 , 1 ), tmp1 , ( 0 , 2 ), ( 2 , 1 )) tmp4 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 )) tmp130 = einsum ( t1 . aa , ( 0 , 1 ), tmp4 , ( 2 , 0 ), ( 2 , 1 )) tmp5 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) tmp131 = einsum ( t1 . aa , ( 0 , 1 ), tmp5 , ( 2 , 0 ), ( 2 , 1 )) tmp6 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp132 = einsum ( t1 . aa , ( 0 , 1 ), tmp6 , ( 2 , 0 ), ( 2 , 1 )) tmp7 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp307 = einsum ( tmp7 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp284 = einsum ( tmp7 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp145 = einsum ( tmp7 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp124 = einsum ( tmp7 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp24 = einsum ( t1 . aa , ( 0 , 1 ), tmp7 , ( 2 , 1 ), ( 0 , 2 )) tmp185 = einsum ( t1 . aa , ( 0 , 1 ), tmp24 , ( 2 , 0 ), ( 2 , 1 )) tmp9 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp308 = einsum ( tmp9 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp285 = einsum ( tmp9 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp147 = einsum ( tmp9 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp125 = einsum ( tmp9 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp25 = einsum ( t1 . aa , ( 0 , 1 ), tmp9 , ( 2 , 1 ), ( 0 , 2 )) tmp186 = einsum ( t1 . aa , ( 0 , 1 ), tmp25 , ( 2 , 0 ), ( 2 , 1 )) tmp11 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp418 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp11 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp286 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp11 , ( 1 , 3 ), ( 0 , 2 )) tmp222 = einsum ( tmp11 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp126 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp11 , ( 1 , 3 ), ( 0 , 2 )) tmp45 = einsum ( t1 . bb , ( 0 , 1 ), tmp11 , ( 2 , 1 ), ( 0 , 2 )) tmp354 = einsum ( t1 . bb , ( 0 , 1 ), tmp45 , ( 2 , 0 ), ( 2 , 1 )) tmp12 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp420 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp12 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp287 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp12 , ( 1 , 3 ), ( 0 , 2 )) tmp223 = einsum ( tmp12 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp127 = einsum ( tmp12 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp46 = einsum ( t1 . bb , ( 0 , 1 ), tmp12 , ( 2 , 1 ), ( 0 , 2 )) tmp355 = einsum ( t1 . bb , ( 0 , 1 ), tmp46 , ( 2 , 0 ), ( 2 , 1 )) tmp13 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp309 = einsum ( tmp13 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp288 = einsum ( tmp13 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp149 = einsum ( tmp13 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp128 = einsum ( tmp13 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp26 = einsum ( t1 . aa , ( 0 , 1 ), tmp13 , ( 2 , 1 ), ( 0 , 2 )) tmp187 = einsum ( t1 . aa , ( 0 , 1 ), tmp26 , ( 2 , 0 ), ( 2 , 1 )) tmp15 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp422 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp15 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp289 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp15 , ( 1 , 3 ), ( 0 , 2 )) tmp224 = einsum ( tmp15 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp129 = einsum ( tmp15 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp47 = einsum ( t1 . bb , ( 0 , 1 ), tmp15 , ( 2 , 1 ), ( 0 , 2 )) tmp356 = einsum ( tmp47 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp16 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp334 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) tmp333 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp166 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp164 = einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp162 = einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp72 = einsum ( t1 . aa , ( 0 , 1 ), tmp16 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp74 = einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp18 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp335 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp248 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp168 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp163 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp20 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp170 = einsum ( t1 . aa , ( 0 , 1 ), tmp20 , ( 2 , 0 ), ( 2 , 1 )) tmp22 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp171 = einsum ( tmp22 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp28 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 0 , 2 )) tmp339 = einsum ( t1 . bb , ( 0 , 1 ), tmp28 , ( 0 , 2 ), ( 2 , 1 )) tmp31 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 3 ), ( 0 , 2 )) tmp310 = einsum ( tmp31 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp32 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp311 = einsum ( tmp32 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp33 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp312 = einsum ( tmp33 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp37 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp435 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp433 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp369 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp371 = einsum ( tmp369 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp344 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 tmp238 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp237 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp39 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp437 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp39 , ( 0 , 4 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp346 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 1 , 5 )) tmp345 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp39 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) tmp239 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) tmp230 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp328 = einsum ( tmp230 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp232 = einsum ( tmp230 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp41 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp347 = einsum ( t1 . bb , ( 0 , 1 ), tmp41 , ( 2 , 0 ), ( 2 , 1 )) tmp43 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp348 = einsum ( tmp43 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp49 = einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp53 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp67 = einsum ( tmp53 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp55 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp68 = einsum ( tmp55 , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 2 , 1 )) tmp57 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp69 = einsum ( tmp57 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp59 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp61 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp70 = einsum ( tmp61 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp63 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 0 , 3 )) tmp65 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 4 )) * - 1 tmp66 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp76 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) * - 1 tmp78 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp80 = einsum ( t1 . aa , ( 0 , 1 ), tmp78 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp83 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . oo , ( 2 , 0 ), ( 2 , 1 )) tmp86 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp87 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp89 = einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp100 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp101 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp102 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp104 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp106 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp108 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp110 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp112 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp114 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp116 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp118 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp120 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp122 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp139 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp155 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp156 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp158 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp174 = einsum ( tmp158 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) tmp172 = einsum ( tmp158 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp189 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp229 = einsum ( tmp189 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp190 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) tmp192 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp262 = einsum ( t1 . bb , ( 0 , 1 ), tmp192 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp194 = einsum ( t1 . aa , ( 0 , 1 ), tmp192 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp197 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . oooo , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp199 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp200 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp201 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 3 , 5 )) tmp209 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp214 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp217 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp233 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp349 = einsum ( tmp233 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 1 , 0 , 2 , 4 )) tmp241 = einsum ( t1 . aa , ( 0 , 1 ), tmp233 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp243 = einsum ( v . aabb . vvoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 3 , 0 )) tmp244 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp337 = einsum ( t1 . bb , ( 0 , 1 ), tmp244 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp249 = einsum ( t1 . aa , ( 0 , 1 ), tmp244 , ( 2 , 0 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) tmp255 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp323 = einsum ( t1 . bb , ( 0 , 1 ), tmp255 , ( 2 , 1 ), ( 0 , 2 )) tmp256 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp324 = einsum ( t1 . bb , ( 0 , 1 ), tmp256 , ( 1 , 2 ), ( 0 , 2 )) tmp257 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp325 = einsum ( t1 . bb , ( 0 , 1 ), tmp257 , ( 2 , 1 ), ( 0 , 2 )) tmp258 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp259 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp264 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp265 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp267 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp269 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp270 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) tmp271 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp273 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp275 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) tmp277 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp279 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp281 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp283 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp290 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . oo , ( 2 , 0 ), ( 2 , 1 )) tmp292 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp297 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 1 tmp298 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) tmp299 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 4 , 2 , 5 , 1 ), ( 0 , 4 , 5 , 3 )) tmp300 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 tmp302 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp304 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp316 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . vv , ( 2 , 1 ), ( 0 , 2 )) tmp317 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp318 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp367 = einsum ( t1 . bb , ( 0 , 1 ), tmp318 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp319 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp326 = einsum ( tmp319 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp321 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp322 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp329 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp340 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oovv , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp373 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp375 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp377 = einsum ( tmp375 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 1 tmp383 = einsum ( v . bbbb . oooo , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp394 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp396 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp398 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 5 , 3 )) tmp414 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp427 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp429 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp441 = einsum ( tmp429 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) tmp439 = einsum ( tmp429 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) return { f \"tmp1\" : tmp1 , f \"tmp100\" : tmp100 , f \"tmp101\" : tmp101 , f \"tmp102\" : tmp102 , f \"tmp104\" : tmp104 , f \"tmp106\" : tmp106 , f \"tmp108\" : tmp108 , f \"tmp11\" : tmp11 , f \"tmp110\" : tmp110 , f \"tmp112\" : tmp112 , f \"tmp114\" : tmp114 , f \"tmp116\" : tmp116 , f \"tmp118\" : tmp118 , f \"tmp12\" : tmp12 , f \"tmp120\" : tmp120 , f \"tmp122\" : tmp122 , f \"tmp124\" : tmp124 , f \"tmp125\" : tmp125 , f \"tmp126\" : tmp126 , f \"tmp127\" : tmp127 , f \"tmp128\" : tmp128 , f \"tmp129\" : tmp129 , f \"tmp13\" : tmp13 , f \"tmp130\" : tmp130 , f \"tmp131\" : tmp131 , f \"tmp132\" : tmp132 , f \"tmp139\" : tmp139 , f \"tmp145\" : tmp145 , f \"tmp147\" : tmp147 , f \"tmp149\" : tmp149 , f \"tmp15\" : tmp15 , f \"tmp152\" : tmp152 , f \"tmp155\" : tmp155 , f \"tmp156\" : tmp156 , f \"tmp158\" : tmp158 , f \"tmp16\" : tmp16 , f \"tmp162\" : tmp162 , f \"tmp163\" : tmp163 , f \"tmp164\" : tmp164 , f \"tmp166\" : tmp166 , f \"tmp168\" : tmp168 , f \"tmp170\" : tmp170 , f \"tmp171\" : tmp171 , f \"tmp172\" : tmp172 , f \"tmp174\" : tmp174 , f \"tmp18\" : tmp18 , f \"tmp185\" : tmp185 , f \"tmp186\" : tmp186 , f \"tmp187\" : tmp187 , f \"tmp189\" : tmp189 , f \"tmp190\" : tmp190 , f \"tmp192\" : tmp192 , f \"tmp194\" : tmp194 , f \"tmp197\" : tmp197 , f \"tmp199\" : tmp199 , f \"tmp20\" : tmp20 , f \"tmp200\" : tmp200 , f \"tmp201\" : tmp201 , f \"tmp209\" : tmp209 , f \"tmp214\" : tmp214 , f \"tmp217\" : tmp217 , f \"tmp22\" : tmp22 , f \"tmp222\" : tmp222 , f \"tmp223\" : tmp223 , f \"tmp224\" : tmp224 , f \"tmp229\" : tmp229 , f \"tmp230\" : tmp230 , f \"tmp232\" : tmp232 , f \"tmp233\" : tmp233 , f \"tmp237\" : tmp237 , f \"tmp238\" : tmp238 , f \"tmp239\" : tmp239 , f \"tmp24\" : tmp24 , f \"tmp241\" : tmp241 , f \"tmp243\" : tmp243 , f \"tmp244\" : tmp244 , f \"tmp248\" : tmp248 , f \"tmp249\" : tmp249 , f \"tmp25\" : tmp25 , f \"tmp255\" : tmp255 , f \"tmp256\" : tmp256 , f \"tmp257\" : tmp257 , f \"tmp258\" : tmp258 , f \"tmp259\" : tmp259 , f \"tmp26\" : tmp26 , f \"tmp262\" : tmp262 , f \"tmp264\" : tmp264 , f \"tmp265\" : tmp265 , f \"tmp267\" : tmp267 , f \"tmp269\" : tmp269 , f \"tmp270\" : tmp270 , f \"tmp271\" : tmp271 , f \"tmp273\" : tmp273 , f \"tmp275\" : tmp275 , f \"tmp277\" : tmp277 , f \"tmp279\" : tmp279 , f \"tmp28\" : tmp28 , f \"tmp281\" : tmp281 , f \"tmp283\" : tmp283 , f \"tmp284\" : tmp284 , f \"tmp285\" : tmp285 , f \"tmp286\" : tmp286 , f \"tmp287\" : tmp287 , f \"tmp288\" : tmp288 , f \"tmp289\" : tmp289 , f \"tmp290\" : tmp290 , f \"tmp292\" : tmp292 , f \"tmp297\" : tmp297 , f \"tmp298\" : tmp298 , f \"tmp299\" : tmp299 , f \"tmp300\" : tmp300 , f \"tmp302\" : tmp302 , f \"tmp304\" : tmp304 , f \"tmp307\" : tmp307 , f \"tmp308\" : tmp308 , f \"tmp309\" : tmp309 , f \"tmp31\" : tmp31 , f \"tmp310\" : tmp310 , f \"tmp311\" : tmp311 , f \"tmp312\" : tmp312 , f \"tmp316\" : tmp316 , f \"tmp317\" : tmp317 , f \"tmp318\" : tmp318 , f \"tmp319\" : tmp319 , f \"tmp32\" : tmp32 , f \"tmp321\" : tmp321 , f \"tmp322\" : tmp322 , f \"tmp323\" : tmp323 , f \"tmp324\" : tmp324 , f \"tmp325\" : tmp325 , f \"tmp326\" : tmp326 , f \"tmp328\" : tmp328 , f \"tmp329\" : tmp329 , f \"tmp33\" : tmp33 , f \"tmp333\" : tmp333 , f \"tmp334\" : tmp334 , f \"tmp335\" : tmp335 , f \"tmp337\" : tmp337 , f \"tmp339\" : tmp339 , f \"tmp340\" : tmp340 , f \"tmp344\" : tmp344 , f \"tmp345\" : tmp345 , f \"tmp346\" : tmp346 , f \"tmp347\" : tmp347 , f \"tmp348\" : tmp348 , f \"tmp349\" : tmp349 , f \"tmp354\" : tmp354 , f \"tmp355\" : tmp355 , f \"tmp356\" : tmp356 , f \"tmp367\" : tmp367 , f \"tmp369\" : tmp369 , f \"tmp37\" : tmp37 , f \"tmp371\" : tmp371 , f \"tmp373\" : tmp373 , f \"tmp375\" : tmp375 , f \"tmp377\" : tmp377 , f \"tmp383\" : tmp383 , f \"tmp39\" : tmp39 , f \"tmp394\" : tmp394 , f \"tmp396\" : tmp396 , f \"tmp398\" : tmp398 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp414\" : tmp414 , f \"tmp418\" : tmp418 , f \"tmp420\" : tmp420 , f \"tmp422\" : tmp422 , f \"tmp427\" : tmp427 , f \"tmp429\" : tmp429 , f \"tmp43\" : tmp43 , f \"tmp433\" : tmp433 , f \"tmp435\" : tmp435 , f \"tmp437\" : tmp437 , f \"tmp439\" : tmp439 , f \"tmp441\" : tmp441 , f \"tmp45\" : tmp45 , f \"tmp46\" : tmp46 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp53\" : tmp53 , f \"tmp55\" : tmp55 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp6\" : tmp6 , f \"tmp61\" : tmp61 , f \"tmp63\" : tmp63 , f \"tmp65\" : tmp65 , f \"tmp66\" : tmp66 , f \"tmp67\" : tmp67 , f \"tmp68\" : tmp68 , f \"tmp69\" : tmp69 , f \"tmp7\" : tmp7 , f \"tmp70\" : tmp70 , f \"tmp72\" : tmp72 , f \"tmp74\" : tmp74 , f \"tmp76\" : tmp76 , f \"tmp78\" : tmp78 , f \"tmp80\" : tmp80 , f \"tmp83\" : tmp83 , f \"tmp86\" : tmp86 , f \"tmp87\" : tmp87 , f \"tmp89\" : tmp89 , f \"tmp9\" : tmp9 } ebcc . codegen . UCCSD . 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:52:03.805808. 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. Source code in ebcc/codegen/UCCSD.py 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 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:52:03.805808. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp75 = np . copy ( ints . tmp37 ) * - 1 tmp75 += np . transpose ( ints . tmp37 , ( 0 , 2 , 1 , 3 )) tmp77 = np . copy ( v . bbbb . ooov ) * - 1 tmp77 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) tmp16 = np . copy ( ints . tmp16 ) tmp16 += np . transpose ( ints . tmp16 , ( 0 , 2 , 1 , 3 )) * - 1 tmp18 = np . copy ( v . aaaa . ooov ) tmp18 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp74 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 4 , 1 ), ( 4 , 2 , 3 )) tmp76 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp75 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp75 tmp73 = einsum ( ints . tmp39 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 4 , 3 ), ( 1 , 2 , 4 )) tmp78 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp77 , ( 3 , 4 , 1 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp77 tmp17 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp16 , ( 3 , 4 , 1 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp16 tmp15 = einsum ( ints . tmp18 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 4 , 3 ), ( 0 , 1 , 4 )) * - 1 tmp19 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp18 , ( 1 , 3 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp18 tmp14 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 4 , 3 ), ( 4 , 0 , 1 )) * - 1 tmp2 = np . copy ( f . bb . ov ) tmp2 += ints . tmp12 tmp2 += ints . tmp15 tmp2 += ints . tmp11 * - 1 r1new . b = einsum ( tmp2 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 1 ), ( 2 ,)) * 2 r1new . a = einsum ( tmp2 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 1 ), ( 2 ,)) * - 1 tmp71 = np . copy ( ints . tmp279 ) tmp71 += ints . tmp283 * 0.5 tmp71 += np . transpose ( ints . tmp318 , ( 0 , 1 , 3 , 2 )) * 0.5 tmp81 = np . copy ( ints . tmp367 ) tmp81 += ints . tmp37 tmp81 += ints . tmp394 * 2 tmp81 += ints . tmp433 * 2 tmp81 += ints . tmp437 tmp81 += np . transpose ( ints . tmp441 , ( 0 , 2 , 1 , 3 )) tmp81 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) tmp83 = np . copy ( ints . tmp41 ) * 2 tmp83 += ints . tmp43 tmp83 += ints . tmp31 * - 1 tmp83 += ints . tmp45 * - 1 tmp79 = np . copy ( tmp73 ) * 0.5 del tmp73 tmp79 += np . transpose ( tmp74 , ( 0 , 2 , 1 )) * - 0.5 del tmp74 tmp79 += np . transpose ( tmp76 , ( 1 , 2 , 0 )) * - 1 del tmp76 tmp79 += np . transpose ( tmp78 , ( 0 , 2 , 1 )) del tmp78 tmp89 = np . copy ( ints . tmp317 ) tmp89 += ints . tmp277 * 2 tmp93 = np . copy ( ints . tmp371 ) tmp93 += np . transpose ( ints . tmp383 , ( 0 , 2 , 1 , 3 )) tmp93 += ints . tmp398 tmp93 += ints . tmp427 tmp93 += ints . tmp439 tmp93 += ints . tmp396 * 2 tmp93 += ints . tmp435 * 2 tmp87 = np . copy ( ints . tmp275 ) tmp87 += ints . tmp319 tmp87 += ints . tmp281 * 2 tmp91 = np . copy ( f . bb . oo ) tmp91 += ints . tmp28 tmp91 += np . transpose ( ints . tmp32 , ( 1 , 0 )) tmp91 += np . transpose ( ints . tmp33 , ( 1 , 0 )) tmp91 += np . transpose ( ints . tmp46 , ( 1 , 0 )) tmp91 += np . transpose ( ints . tmp47 , ( 1 , 0 )) tmp3 = np . copy ( f . aa . ov ) tmp3 += ints . tmp13 tmp3 += ints . tmp9 tmp3 += ints . tmp7 * - 1 r1new . b += einsum ( tmp3 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 1 ), ( 2 ,)) * - 1 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp3 , ( 1 , 2 ), ( 0 ,)) * 2 tmp32 = np . copy ( f . aa . oo ) tmp32 += ints . tmp1 tmp32 += np . transpose ( ints . tmp25 , ( 1 , 0 )) tmp32 += np . transpose ( ints . tmp26 , ( 1 , 0 )) tmp32 += np . transpose ( ints . tmp5 , ( 1 , 0 )) tmp32 += np . transpose ( ints . tmp6 , ( 1 , 0 )) tmp30 = np . copy ( ints . tmp59 ) tmp30 += ints . tmp112 * 2 tmp34 = np . copy ( ints . tmp106 ) tmp34 += ints . tmp156 tmp34 += ints . tmp172 tmp34 += ints . tmp74 tmp34 += np . transpose ( ints . tmp89 , ( 0 , 2 , 1 , 3 )) tmp34 += ints . tmp104 * 2 tmp34 += ints . tmp166 * 2 tmp10 = np . copy ( ints . tmp114 ) tmp10 += ints . tmp120 * 0.5 tmp10 += np . transpose ( ints . tmp61 , ( 0 , 1 , 3 , 2 )) * 0.5 tmp24 = np . copy ( ints . tmp20 ) * 2 tmp24 += ints . tmp22 tmp24 += ints . tmp24 * - 1 tmp24 += ints . tmp4 * - 1 tmp20 = np . copy ( np . transpose ( tmp14 , ( 0 , 2 , 1 ))) * 0.5 del tmp14 tmp20 += tmp15 * - 0.5 del tmp15 tmp20 += np . transpose ( tmp17 , ( 1 , 2 , 0 )) * - 1 del tmp17 tmp20 += np . transpose ( tmp19 , ( 0 , 2 , 1 )) del tmp19 tmp12 = np . copy ( ints . tmp118 ) tmp12 += ints . tmp122 * 2 tmp12 += ints . tmp63 tmp22 = np . copy ( ints . tmp102 ) tmp22 += ints . tmp164 tmp22 += ints . tmp168 * 0.5 tmp22 += ints . tmp16 * 0.5 tmp22 += np . transpose ( ints . tmp174 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp22 += ints . tmp70 * 0.5 tmp22 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) * 0.5 tmp60 = einsum ( t1 . bb , ( 0 , 1 ), tmp2 , ( 0 , 2 ), ( 2 , 1 )) del tmp2 tmp72 = einsum ( tmp71 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 4 del tmp71 tmp70 = einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp69 = einsum ( ints . tmp429 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) tmp82 = einsum ( r1 . b , ( 0 ,), tmp81 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp81 tmp84 = einsum ( tmp83 , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) * - 2 del tmp83 tmp68 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 4 , 1 ), ( 4 , 2 , 3 )) tmp67 = einsum ( ints . tmp273 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) tmp80 = einsum ( t1 . bb , ( 0 , 1 ), tmp79 , ( 2 , 0 , 3 ), ( 2 , 3 , 1 )) * 2 del tmp79 tmp90 = einsum ( tmp89 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 1 del tmp89 tmp86 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 2 , 3 ), ( 4 , 0 , 1 )) tmp94 = einsum ( r1 . b , ( 0 ,), tmp93 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp93 tmp88 = einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 4 , 2 ), ( 4 , 1 , 3 )) del tmp87 tmp92 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp91 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp91 tmp53 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 2 , 1 ), ( 3 ,)) tmp54 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 0 , 2 , 3 ), ( 1 ,)) tmp51 = np . copy ( ints . tmp39 ) tmp51 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp1 = np . copy ( ints . tmp18 ) tmp1 += v . aabb . ooov r1new . a += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 1 , 3 ), ( 0 ,)) tmp63 = np . copy ( ints . tmp37 ) tmp63 += np . transpose ( ints . tmp37 , ( 0 , 2 , 1 , 3 )) * - 1 tmp63 += v . bbbb . ooov * - 1 tmp63 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) tmp40 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 0 , 2 , 1 ), ( 3 ,)) * - 1 tmp41 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 0 , 3 ), ( 1 ,)) * - 1 tmp50 = np . copy ( ints . tmp16 ) tmp50 += np . transpose ( ints . tmp16 , ( 0 , 2 , 1 , 3 )) * - 1 tmp50 += v . aaaa . ooov * - 1 tmp50 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) tmp38 = einsum ( tmp3 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) del tmp3 tmp28 = einsum ( ints . tmp116 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * - 1 tmp33 = einsum ( tmp32 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp32 tmp29 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . ovov , ( 3 , 4 , 0 , 2 ), ( 1 , 3 , 4 )) * - 1 tmp27 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovov , ( 3 , 4 , 1 , 2 ), ( 0 , 3 , 4 )) tmp31 = einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 1 del tmp30 tmp35 = einsum ( r1 . a , ( 0 ,), tmp34 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp34 tmp11 = einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 4 del tmp10 tmp9 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . oovv , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp25 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp24 , ( 3 , 1 ), ( 0 , 3 , 2 )) * - 2 del tmp24 tmp8 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp158 , ( 3 , 4 , 0 , 1 ), ( 3 , 4 , 2 )) tmp21 = einsum ( t1 . aa , ( 0 , 1 ), tmp20 , ( 2 , 0 , 3 ), ( 2 , 3 , 1 )) * 2 del tmp20 tmp13 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp12 , ( 3 , 0 , 4 , 2 ), ( 1 , 3 , 4 )) * - 1 del tmp12 tmp23 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 0 , 1 , 3 )) * 2 del tmp22 tmp61 = np . copy ( ints . tmp256 ) tmp61 += np . transpose ( ints . tmp300 , ( 1 , 0 )) * 2 tmp61 += np . transpose ( ints . tmp302 , ( 1 , 0 )) tmp61 += f . bb . vv * - 1 tmp61 += np . transpose ( ints . tmp255 , ( 1 , 0 )) * - 1 tmp61 += np . transpose ( ints . tmp257 , ( 1 , 0 )) * - 1 tmp61 += tmp60 del tmp60 r2new . bbb = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp61 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 r2new . bab = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp61 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp61 tmp97 = np . copy ( ints . tmp377 ) tmp97 += np . transpose ( ints . tmp414 , ( 1 , 2 , 0 , 3 )) tmp97 += ints . tmp420 tmp97 += ints . tmp422 tmp97 += ints . tmp373 * - 1 tmp97 += ints . tmp418 * - 1 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp97 , ( 1 , 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 2 del tmp97 tmp66 = np . copy ( ints . tmp284 ) tmp66 += ints . tmp286 * 2 tmp66 += ints . tmp290 tmp66 += ints . tmp297 * 2 tmp66 += ints . tmp298 tmp66 += ints . tmp311 tmp66 += ints . tmp312 tmp66 += ints . tmp321 * 2 tmp66 += ints . tmp324 tmp66 += ints . tmp329 tmp66 += ints . tmp339 tmp66 += ints . tmp344 * 2 tmp66 += ints . tmp345 tmp66 += ints . tmp347 * 2 tmp66 += ints . tmp348 tmp66 += ints . tmp355 tmp66 += ints . tmp356 tmp66 += f . bb . ov * - 1 tmp66 += ints . tmp12 * - 1 tmp66 += ints . tmp15 * - 1 tmp66 += ints . tmp264 * - 1 tmp66 += ints . tmp265 * - 2 tmp66 += ints . tmp285 * - 1 tmp66 += ints . tmp287 * - 2 tmp66 += ints . tmp288 * - 1 tmp66 += ints . tmp289 * - 2 tmp66 += ints . tmp310 * - 1 tmp66 += ints . tmp316 * - 1 tmp66 += ints . tmp322 * - 1 tmp66 += ints . tmp323 * - 1 tmp66 += ints . tmp325 * - 1 tmp66 += ints . tmp354 * - 1 r2new . bbb += einsum ( tmp66 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) r2new . bbb += einsum ( tmp66 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 2 , 0 , 1 )) * - 1 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp66 , ( 1 , 2 ), ( 1 , 0 , 2 )) del tmp66 tmp85 = np . copy ( tmp67 ) del tmp67 tmp85 += tmp68 del tmp68 tmp85 += tmp69 * 2 del tmp69 tmp85 += tmp70 * 2 del tmp70 tmp85 += np . transpose ( tmp72 , ( 1 , 0 , 2 )) * - 1 del tmp72 tmp85 += tmp80 del tmp80 tmp85 += tmp82 del tmp82 tmp85 += np . transpose ( tmp84 , ( 1 , 0 , 2 )) del tmp84 r2new . bbb += np . transpose ( tmp85 , ( 1 , 0 , 2 )) r2new . bbb += tmp85 * - 1 del tmp85 tmp95 = np . copy ( tmp86 ) * 2 del tmp86 tmp95 += np . transpose ( tmp88 , ( 1 , 0 , 2 )) del tmp88 tmp95 += np . transpose ( tmp90 , ( 1 , 0 , 2 )) * - 2 del tmp90 tmp95 += np . transpose ( tmp92 , ( 1 , 0 , 2 )) * - 2 del tmp92 tmp95 += tmp94 del tmp94 r2new . bbb += np . transpose ( tmp95 , ( 1 , 0 , 2 )) * - 1 r2new . bbb += tmp95 del tmp95 tmp96 = np . copy ( ints . tmp369 ) tmp96 += ints . tmp375 tmp96 += np . transpose ( v . bbbb . oooo , ( 0 , 2 , 1 , 3 )) r2new . bbb += einsum ( tmp96 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 2 , 4 ), ( 0 , 1 , 4 )) * - 2 del tmp96 tmp55 = np . copy ( tmp53 ) * - 0.5 del tmp53 tmp55 += tmp54 del tmp54 r2new . bbb += einsum ( tmp55 , ( 0 ,), t2 . bbbb , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 4 r2new . aba = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp55 , ( 3 ,), ( 0 , 1 , 2 )) * 2 del tmp55 tmp62 = np . copy ( ints . tmp18 ) tmp62 += ints . tmp259 tmp62 += ints . tmp270 tmp62 += ints . tmp271 * 2 tmp62 += np . transpose ( ints . tmp292 , ( 1 , 0 , 2 , 3 )) tmp62 += ints . tmp308 tmp62 += ints . tmp309 tmp62 += ints . tmp326 tmp62 += ints . tmp333 tmp62 += ints . tmp335 * 2 tmp62 += ints . tmp340 tmp62 += v . aabb . ooov tmp62 += ints . tmp262 * - 1 tmp62 += ints . tmp267 * - 1 tmp62 += ints . tmp269 * - 1 tmp62 += ints . tmp299 * - 1 tmp62 += ints . tmp307 * - 1 tmp62 += ints . tmp328 * - 1 tmp62 += ints . tmp334 * - 1 tmp62 += ints . tmp337 * - 1 tmp62 += ints . tmp346 * - 1 tmp62 += np . transpose ( ints . tmp349 , ( 1 , 0 , 2 , 3 )) * - 1 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp62 , ( 1 , 0 , 2 , 3 ), ( 2 , 1 , 3 )) del tmp62 tmp7 = np . copy ( f . bb . oo ) tmp7 += ints . tmp28 tmp7 += np . transpose ( ints . tmp32 , ( 1 , 0 )) tmp7 += np . transpose ( ints . tmp33 , ( 1 , 0 )) tmp7 += np . transpose ( ints . tmp41 , ( 1 , 0 )) * 2 tmp7 += np . transpose ( ints . tmp43 , ( 1 , 0 )) tmp7 += np . transpose ( ints . tmp46 , ( 1 , 0 )) tmp7 += np . transpose ( ints . tmp47 , ( 1 , 0 )) tmp7 += np . transpose ( ints . tmp31 , ( 1 , 0 )) * - 1 tmp7 += np . transpose ( ints . tmp45 , ( 1 , 0 )) * - 1 r2new . bab += einsum ( tmp7 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . aba += einsum ( tmp7 , ( 0 , 1 ), r2 . aba , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r1new . b += einsum ( tmp7 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp7 tmp4 = np . copy ( f . aa . oo ) tmp4 += ints . tmp1 tmp4 += np . transpose ( ints . tmp20 , ( 1 , 0 )) * 2 tmp4 += np . transpose ( ints . tmp22 , ( 1 , 0 )) tmp4 += np . transpose ( ints . tmp25 , ( 1 , 0 )) tmp4 += np . transpose ( ints . tmp26 , ( 1 , 0 )) tmp4 += np . transpose ( ints . tmp5 , ( 1 , 0 )) tmp4 += np . transpose ( ints . tmp6 , ( 1 , 0 )) tmp4 += np . transpose ( ints . tmp24 , ( 1 , 0 )) * - 1 tmp4 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * - 1 r2new . bab += einsum ( tmp4 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp4 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r1new . a += einsum ( tmp4 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp4 tmp57 = np . copy ( ints . tmp275 ) tmp57 += ints . tmp281 * 2 tmp57 += ints . tmp319 tmp57 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp57 += ints . tmp273 * - 1 r2new . bab += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp57 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) * - 2 del tmp57 tmp58 = np . copy ( ints . tmp258 ) tmp58 += v . aabb . oovv tmp58 += ints . tmp304 * - 1 r2new . bab += einsum ( tmp58 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 1 del tmp58 tmp64 = einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 4 , 3 ), ( 4 , 0 , 1 )) del tmp63 tmp64 += einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 0 , 3 ), ( 4 , 1 , 2 )) * 2 tmp64 += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 4 , 1 , 3 ), ( 0 , 4 , 2 )) r2new . bab += einsum ( t1 . bb , ( 0 , 1 ), tmp64 , ( 2 , 3 , 0 ), ( 3 , 2 , 1 )) del tmp64 tmp65 = np . copy ( tmp40 ) * 2 tmp65 += tmp41 r2new . bab += einsum ( tmp65 , ( 0 ,), t2 . abab , ( 1 , 2 , 0 , 3 ), ( 2 , 1 , 3 )) del tmp65 tmp59 = np . copy ( ints . tmp192 ) tmp59 += ints . tmp230 tmp59 += ints . tmp233 tmp59 += ints . tmp244 tmp59 += v . aabb . oooo r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp59 , ( 3 , 1 , 4 , 0 ), ( 4 , 3 , 2 )) del tmp59 tmp56 = np . copy ( ints . tmp279 ) * 2 tmp56 += ints . tmp283 tmp56 += np . transpose ( ints . tmp318 , ( 0 , 1 , 3 , 2 )) tmp56 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp56 += ints . tmp277 * - 2 tmp56 += ints . tmp317 * - 1 tmp56 += v . bbbb . oovv * - 1 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp56 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) del tmp56 tmp52 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 4 , 3 ), ( 0 , 2 , 4 )) * - 1 del tmp50 tmp52 += einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 4 , 2 , 3 ), ( 4 , 0 , 1 )) del tmp51 tmp52 += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 2 , 3 ), ( 0 , 1 , 4 )) * 2 del tmp1 r2new . aba += einsum ( t1 . aa , ( 0 , 1 ), tmp52 , ( 2 , 0 , 3 ), ( 2 , 3 , 1 )) del tmp52 tmp46 = np . copy ( ints . tmp118 ) tmp46 += ints . tmp122 * 2 tmp46 += ints . tmp63 tmp46 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp46 += ints . tmp116 * - 1 r2new . aba += einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 1 , 3 ), ( 0 , 4 , 2 )) * - 2 del tmp46 tmp44 = np . copy ( ints . tmp100 ) * 2 tmp44 += ints . tmp101 tmp44 += ints . tmp124 * 2 tmp44 += ints . tmp126 tmp44 += ints . tmp131 tmp44 += ints . tmp132 tmp44 += ints . tmp152 tmp44 += ints . tmp155 tmp44 += ints . tmp162 * 2 tmp44 += ints . tmp163 tmp44 += ints . tmp170 * 2 tmp44 += ints . tmp171 tmp44 += ints . tmp186 tmp44 += ints . tmp187 tmp44 += ints . tmp65 * 2 tmp44 += ints . tmp68 tmp44 += ints . tmp83 tmp44 += f . aa . ov * - 1 tmp44 += ints . tmp125 * - 2 tmp44 += ints . tmp127 * - 1 tmp44 += ints . tmp128 * - 2 tmp44 += ints . tmp129 * - 1 tmp44 += ints . tmp130 * - 1 tmp44 += ints . tmp13 * - 1 tmp44 += ints . tmp185 * - 1 tmp44 += ints . tmp49 * - 1 tmp44 += ints . tmp66 * - 1 tmp44 += ints . tmp67 * - 1 tmp44 += ints . tmp69 * - 1 tmp44 += ints . tmp86 * - 2 tmp44 += ints . tmp87 * - 1 tmp44 += ints . tmp9 * - 1 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp44 , ( 1 , 2 ), ( 1 , 0 , 2 )) r2new . aaa = einsum ( r1 . a , ( 0 ,), tmp44 , ( 1 , 2 ), ( 1 , 0 , 2 )) r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp44 , ( 1 , 2 ), ( 0 , 1 , 2 )) * - 1 del tmp44 tmp49 = np . copy ( ints . tmp190 ) tmp49 += ints . tmp200 tmp49 += ints . tmp201 * 2 tmp49 += np . transpose ( ints . tmp209 , ( 0 , 2 , 1 , 3 )) tmp49 += ints . tmp223 tmp49 += ints . tmp224 tmp49 += ints . tmp229 tmp49 += ints . tmp237 tmp49 += ints . tmp239 * 2 tmp49 += ints . tmp243 tmp49 += ints . tmp39 tmp49 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp49 += ints . tmp194 * - 1 tmp49 += ints . tmp197 * - 1 tmp49 += ints . tmp199 * - 1 tmp49 += ints . tmp214 * - 1 tmp49 += ints . tmp222 * - 1 tmp49 += ints . tmp232 * - 1 tmp49 += ints . tmp238 * - 1 tmp49 += ints . tmp241 * - 1 tmp49 += ints . tmp248 * - 1 tmp49 += np . transpose ( ints . tmp249 , ( 0 , 2 , 1 , 3 )) * - 1 r2new . aba += einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 0 , 1 , 3 )) del tmp49 tmp45 = np . copy ( ints . tmp114 ) * 2 tmp45 += ints . tmp120 tmp45 += np . transpose ( ints . tmp61 , ( 0 , 1 , 3 , 2 )) tmp45 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp45 += ints . tmp112 * - 2 tmp45 += ints . tmp59 * - 1 tmp45 += v . aaaa . oovv * - 1 r2new . aba += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) del tmp45 tmp48 = np . copy ( ints . tmp192 ) tmp48 += ints . tmp230 tmp48 += ints . tmp233 tmp48 += ints . tmp244 tmp48 += v . aabb . oooo r2new . aba += einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) del tmp48 tmp39 = np . copy ( np . transpose ( ints . tmp108 , ( 1 , 0 ))) * 2 tmp39 += np . transpose ( ints . tmp110 , ( 1 , 0 )) tmp39 += ints . tmp55 tmp39 += f . aa . vv * - 1 tmp39 += np . transpose ( ints . tmp53 , ( 1 , 0 )) * - 1 tmp39 += np . transpose ( ints . tmp57 , ( 1 , 0 )) * - 1 tmp39 += tmp38 del tmp38 r2new . aba += einsum ( tmp39 , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aaa += einsum ( tmp39 , ( 0 , 1 ), r2 . aaa , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 del tmp39 tmp47 = np . copy ( ints . tmp189 ) tmp47 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) tmp47 += ints . tmp217 * - 1 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp47 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp47 tmp37 = np . copy ( ints . tmp72 ) tmp37 += ints . tmp78 tmp37 += np . transpose ( v . aaaa . oooo , ( 0 , 2 , 1 , 3 )) r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp37 , ( 3 , 4 , 1 , 0 ), ( 3 , 4 , 2 )) * - 2 del tmp37 tmp43 = np . copy ( ints . tmp139 ) tmp43 += np . transpose ( ints . tmp147 , ( 2 , 0 , 1 , 3 )) tmp43 += np . transpose ( ints . tmp149 , ( 2 , 0 , 1 , 3 )) tmp43 += np . transpose ( ints . tmp80 , ( 2 , 0 , 1 , 3 )) tmp43 += np . transpose ( ints . tmp145 , ( 2 , 0 , 1 , 3 )) * - 1 tmp43 += np . transpose ( ints . tmp76 , ( 2 , 0 , 1 , 3 )) * - 1 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp43 , ( 0 , 1 , 2 , 3 ), ( 2 , 1 , 3 )) * - 2 del tmp43 tmp42 = np . copy ( tmp40 ) del tmp40 tmp42 += tmp41 * 0.5 del tmp41 r2new . aaa += einsum ( tmp42 , ( 0 ,), t2 . aaaa , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 4 del tmp42 tmp36 = np . copy ( tmp27 ) * 2 del tmp27 tmp36 += tmp28 del tmp28 tmp36 += tmp29 del tmp29 tmp36 += np . transpose ( tmp31 , ( 1 , 0 , 2 )) * - 2 del tmp31 tmp36 += np . transpose ( tmp33 , ( 1 , 0 , 2 )) * - 2 del tmp33 tmp36 += tmp35 del tmp35 r2new . aaa += np . transpose ( tmp36 , ( 1 , 0 , 2 )) * - 1 r2new . aaa += tmp36 del tmp36 tmp26 = np . copy ( tmp8 ) * 2 del tmp8 tmp26 += tmp9 * 2 del tmp9 tmp26 += np . transpose ( tmp11 , ( 1 , 0 , 2 )) * - 1 del tmp11 tmp26 += np . transpose ( tmp13 , ( 1 , 0 , 2 )) del tmp13 tmp26 += tmp21 del tmp21 tmp26 += tmp23 del tmp23 tmp26 += np . transpose ( tmp25 , ( 1 , 0 , 2 )) del tmp25 r2new . aaa += np . transpose ( tmp26 , ( 1 , 0 , 2 )) r2new . aaa += tmp26 * - 1 del tmp26 tmp5 = np . copy ( ints . tmp37 ) tmp5 += v . bbbb . ooov * - 1 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp5 , ( 3 , 0 , 1 , 2 ), ( 3 ,)) * 2 del tmp5 tmp6 = np . copy ( ints . tmp39 ) tmp6 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) r1new . b += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 ,)) del tmp6 tmp0 = np . copy ( ints . tmp16 ) tmp0 += v . aaaa . ooov * - 1 r1new . a += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 1 , 2 , 3 ), ( 0 ,)) * 2 del tmp0 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . UCCSD . hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-12T21:54:32.277830. 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 tmp101 : array tmp104 : array tmp106 : array tmp108 : array tmp11 : array tmp116 : array tmp117 : array tmp118 : array tmp12 : array tmp127 : array tmp128 : array tmp129 : array tmp13 : array tmp136 : array tmp137 : array tmp139 : array tmp141 : array tmp146 : array tmp148 : array tmp15 : array tmp150 : array tmp152 : array tmp153 : array tmp154 : array tmp156 : array tmp158 : array tmp159 : array tmp160 : array tmp161 : array tmp162 : array tmp164 : array tmp165 : array tmp166 : array tmp167 : array tmp168 : array tmp173 : array tmp175 : array tmp177 : array tmp185 : array tmp186 : array tmp187 : array tmp196 : array tmp199 : array tmp20 : array tmp205 : array tmp216 : array tmp22 : array tmp220 : array tmp226 : array tmp240 : array tmp241 : array tmp242 : array tmp263 : array tmp266 : array tmp271 : array tmp272 : array tmp273 : array tmp274 : array tmp276 : array tmp286 : array tmp287 : array tmp289 : array tmp290 : array tmp291 : array tmp292 : array tmp294 : array tmp295 : array tmp296 : array tmp298 : array tmp300 : array tmp301 : array tmp303 : array tmp304 : array tmp305 : array tmp307 : array tmp308 : array tmp309 : array tmp31 : array tmp313 : array tmp314 : array tmp315 : array tmp316 : array tmp317 : array tmp318 : array tmp319 : array tmp32 : array tmp325 : array tmp326 : array tmp327 : array tmp328 : array tmp33 : array tmp334 : array tmp335 : array tmp336 : array tmp337 : array tmp338 : array tmp340 : array tmp341 : array tmp344 : array tmp345 : array tmp346 : array tmp350 : array tmp352 : array tmp354 : array tmp356 : array tmp358 : array tmp360 : array tmp361 : array tmp362 : array tmp363 : array tmp364 : array tmp365 : array tmp366 : array tmp383 : array tmp385 : array tmp387 : array tmp4 : array tmp41 : array tmp423 : array tmp43 : array tmp440 : array tmp450 : array tmp5 : array tmp50 : array tmp51 : array tmp59 : array tmp6 : array tmp61 : array tmp63 : array tmp67 : array tmp69 : array tmp7 : array tmp71 : array tmp73 : array tmp75 : array tmp77 : array tmp79 : array tmp80 : array tmp81 : array tmp82 : array tmp83 : array tmp84 : array tmp9 : array tmp98 : array Source code in ebcc/codegen/UCCSD.py 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 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:54:32.277830. 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 ------- tmp101 : array tmp104 : array tmp106 : array tmp108 : array tmp11 : array tmp116 : array tmp117 : array tmp118 : array tmp12 : array tmp127 : array tmp128 : array tmp129 : array tmp13 : array tmp136 : array tmp137 : array tmp139 : array tmp141 : array tmp146 : array tmp148 : array tmp15 : array tmp150 : array tmp152 : array tmp153 : array tmp154 : array tmp156 : array tmp158 : array tmp159 : array tmp160 : array tmp161 : array tmp162 : array tmp164 : array tmp165 : array tmp166 : array tmp167 : array tmp168 : array tmp173 : array tmp175 : array tmp177 : array tmp185 : array tmp186 : array tmp187 : array tmp196 : array tmp199 : array tmp20 : array tmp205 : array tmp216 : array tmp22 : array tmp220 : array tmp226 : array tmp240 : array tmp241 : array tmp242 : array tmp263 : array tmp266 : array tmp271 : array tmp272 : array tmp273 : array tmp274 : array tmp276 : array tmp286 : array tmp287 : array tmp289 : array tmp290 : array tmp291 : array tmp292 : array tmp294 : array tmp295 : array tmp296 : array tmp298 : array tmp300 : array tmp301 : array tmp303 : array tmp304 : array tmp305 : array tmp307 : array tmp308 : array tmp309 : array tmp31 : array tmp313 : array tmp314 : array tmp315 : array tmp316 : array tmp317 : array tmp318 : array tmp319 : array tmp32 : array tmp325 : array tmp326 : array tmp327 : array tmp328 : array tmp33 : array tmp334 : array tmp335 : array tmp336 : array tmp337 : array tmp338 : array tmp340 : array tmp341 : array tmp344 : array tmp345 : array tmp346 : array tmp350 : array tmp352 : array tmp354 : array tmp356 : array tmp358 : array tmp360 : array tmp361 : array tmp362 : array tmp363 : array tmp364 : array tmp365 : array tmp366 : array tmp383 : array tmp385 : array tmp387 : array tmp4 : array tmp41 : array tmp423 : array tmp43 : array tmp440 : array tmp450 : array tmp5 : array tmp50 : array tmp51 : array tmp59 : array tmp6 : array tmp61 : array tmp63 : array tmp67 : array tmp69 : array tmp7 : array tmp71 : array tmp73 : array tmp75 : array tmp77 : array tmp79 : array tmp80 : array tmp81 : array tmp82 : array tmp83 : array tmp84 : array tmp9 : array tmp98 : array \"\"\" tmp4 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp166 = einsum ( tmp4 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp5 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp167 = einsum ( tmp5 , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 2 , 1 )) tmp6 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp168 = einsum ( tmp6 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp7 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp361 = einsum ( tmp7 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp173 = einsum ( t1 . aa , ( 0 , 1 ), tmp7 , ( 2 , 1 ), ( 0 , 2 )) tmp185 = einsum ( tmp173 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp79 = einsum ( tmp7 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp9 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp362 = einsum ( tmp9 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp175 = einsum ( t1 . aa , ( 0 , 1 ), tmp9 , ( 2 , 1 ), ( 0 , 2 )) tmp186 = einsum ( tmp175 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp80 = einsum ( tmp9 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp11 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp363 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp11 , ( 1 , 3 ), ( 0 , 2 )) tmp307 = einsum ( t1 . bb , ( 0 , 1 ), tmp11 , ( 2 , 1 ), ( 0 , 2 )) tmp325 = einsum ( t1 . bb , ( 0 , 1 ), tmp307 , ( 2 , 0 ), ( 2 , 1 )) tmp81 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp11 , ( 1 , 3 ), ( 0 , 2 )) tmp12 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp364 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp12 , ( 1 , 3 ), ( 0 , 2 )) tmp308 = einsum ( t1 . bb , ( 0 , 1 ), tmp12 , ( 2 , 1 ), ( 0 , 2 )) tmp326 = einsum ( t1 . bb , ( 0 , 1 ), tmp308 , ( 2 , 0 ), ( 2 , 1 )) tmp82 = einsum ( tmp12 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp13 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp365 = einsum ( tmp13 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp177 = einsum ( t1 . aa , ( 0 , 1 ), tmp13 , ( 2 , 1 ), ( 0 , 2 )) tmp187 = einsum ( t1 . aa , ( 0 , 1 ), tmp177 , ( 2 , 0 ), ( 2 , 1 )) tmp83 = einsum ( tmp13 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp15 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp366 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp15 , ( 1 , 3 ), ( 0 , 2 )) tmp309 = einsum ( t1 . bb , ( 0 , 1 ), tmp15 , ( 2 , 1 ), ( 0 , 2 )) tmp327 = einsum ( t1 . bb , ( 0 , 1 ), tmp309 , ( 2 , 0 ), ( 2 , 1 )) tmp84 = einsum ( tmp15 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp20 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp22 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp31 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp303 = einsum ( tmp31 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp32 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp304 = einsum ( t1 . bb , ( 0 , 1 ), tmp32 , ( 1 , 2 ), ( 0 , 2 )) tmp33 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp305 = einsum ( t1 . bb , ( 0 , 1 ), tmp33 , ( 2 , 1 ), ( 0 , 2 )) tmp41 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp43 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp50 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp51 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp59 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp61 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp63 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 5 , 1 , 3 ), ( 0 , 2 , 4 , 5 )) tmp67 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp69 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp71 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp73 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp75 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp77 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp98 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . oo , ( 2 , 0 ), ( 2 , 1 )) tmp101 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp104 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 )) tmp127 = einsum ( tmp104 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp106 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) tmp128 = einsum ( t1 . aa , ( 0 , 1 ), tmp106 , ( 2 , 0 ), ( 2 , 1 )) tmp108 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp129 = einsum ( t1 . aa , ( 0 , 1 ), tmp108 , ( 2 , 0 ), ( 2 , 1 )) tmp116 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 1 tmp117 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp118 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 tmp136 = einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp137 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 2 , 1 ), ( 2 , 0 )) tmp139 = einsum ( t1 . aa , ( 0 , 1 ), tmp137 , ( 0 , 2 ), ( 2 , 1 )) tmp141 = einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp146 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp148 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp150 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 0 , 3 )) tmp152 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp153 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp154 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp164 = einsum ( t1 . aa , ( 0 , 1 ), tmp154 , ( 2 , 0 ), ( 2 , 1 )) tmp156 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp165 = einsum ( t1 . aa , ( 0 , 1 ), tmp156 , ( 2 , 0 ), ( 2 , 1 )) tmp158 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp162 = einsum ( tmp158 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 tmp159 = einsum ( tmp158 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 1 tmp160 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp220 = einsum ( tmp160 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp161 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp160 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp196 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp199 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp205 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp216 = einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp226 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp240 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp241 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp242 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp263 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 4 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) tmp266 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp271 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp272 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 3 ), ( 0 , 2 )) tmp336 = einsum ( tmp272 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp273 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp337 = einsum ( tmp273 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp274 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp338 = einsum ( t1 . bb , ( 0 , 1 ), tmp274 , ( 2 , 0 ), ( 2 , 1 )) tmp276 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 4 , 5 ), ( 2 , 4 , 1 , 5 )) tmp286 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . vv , ( 2 , 1 ), ( 0 , 2 )) tmp287 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 0 , 2 )) tmp313 = einsum ( t1 . bb , ( 0 , 1 ), tmp287 , ( 0 , 2 ), ( 2 , 1 )) tmp289 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp290 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp291 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp292 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp294 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp295 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp296 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp318 = einsum ( t1 . bb , ( 0 , 1 ), tmp296 , ( 2 , 0 ), ( 2 , 1 )) tmp298 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp319 = einsum ( t1 . bb , ( 0 , 1 ), tmp298 , ( 2 , 0 ), ( 2 , 1 )) tmp300 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp317 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp300 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) tmp301 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp300 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp314 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp315 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp450 = einsum ( tmp315 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 tmp316 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp315 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 tmp328 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . oo , ( 2 , 0 ), ( 2 , 1 )) tmp334 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 1 tmp335 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) tmp340 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp341 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp344 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 5 , 3 )) tmp345 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 0 , 4 , 5 , 2 ), ( 1 , 4 , 5 , 3 )) tmp346 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp350 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp352 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) tmp354 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp356 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp358 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp360 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp383 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp385 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp387 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) tmp423 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 0 , 5 ), ( 4 , 2 , 3 , 5 )) * - 1 tmp440 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) return { f \"tmp101\" : tmp101 , f \"tmp104\" : tmp104 , f \"tmp106\" : tmp106 , f \"tmp108\" : tmp108 , f \"tmp11\" : tmp11 , f \"tmp116\" : tmp116 , f \"tmp117\" : tmp117 , f \"tmp118\" : tmp118 , f \"tmp12\" : tmp12 , f \"tmp127\" : tmp127 , f \"tmp128\" : tmp128 , f \"tmp129\" : tmp129 , f \"tmp13\" : tmp13 , f \"tmp136\" : tmp136 , f \"tmp137\" : tmp137 , f \"tmp139\" : tmp139 , f \"tmp141\" : tmp141 , f \"tmp146\" : tmp146 , f \"tmp148\" : tmp148 , f \"tmp15\" : tmp15 , f \"tmp150\" : tmp150 , f \"tmp152\" : tmp152 , f \"tmp153\" : tmp153 , f \"tmp154\" : tmp154 , f \"tmp156\" : tmp156 , f \"tmp158\" : tmp158 , f \"tmp159\" : tmp159 , f \"tmp160\" : tmp160 , f \"tmp161\" : tmp161 , f \"tmp162\" : tmp162 , f \"tmp164\" : tmp164 , f \"tmp165\" : tmp165 , f \"tmp166\" : tmp166 , f \"tmp167\" : tmp167 , f \"tmp168\" : tmp168 , f \"tmp173\" : tmp173 , f \"tmp175\" : tmp175 , f \"tmp177\" : tmp177 , f \"tmp185\" : tmp185 , f \"tmp186\" : tmp186 , f \"tmp187\" : tmp187 , f \"tmp196\" : tmp196 , f \"tmp199\" : tmp199 , f \"tmp20\" : tmp20 , f \"tmp205\" : tmp205 , f \"tmp216\" : tmp216 , f \"tmp22\" : tmp22 , f \"tmp220\" : tmp220 , f \"tmp226\" : tmp226 , f \"tmp240\" : tmp240 , f \"tmp241\" : tmp241 , f \"tmp242\" : tmp242 , f \"tmp263\" : tmp263 , f \"tmp266\" : tmp266 , f \"tmp271\" : tmp271 , f \"tmp272\" : tmp272 , f \"tmp273\" : tmp273 , f \"tmp274\" : tmp274 , f \"tmp276\" : tmp276 , f \"tmp286\" : tmp286 , f \"tmp287\" : tmp287 , f \"tmp289\" : tmp289 , f \"tmp290\" : tmp290 , f \"tmp291\" : tmp291 , f \"tmp292\" : tmp292 , f \"tmp294\" : tmp294 , f \"tmp295\" : tmp295 , f \"tmp296\" : tmp296 , f \"tmp298\" : tmp298 , f \"tmp300\" : tmp300 , f \"tmp301\" : tmp301 , f \"tmp303\" : tmp303 , f \"tmp304\" : tmp304 , f \"tmp305\" : tmp305 , f \"tmp307\" : tmp307 , f \"tmp308\" : tmp308 , f \"tmp309\" : tmp309 , f \"tmp31\" : tmp31 , f \"tmp313\" : tmp313 , f \"tmp314\" : tmp314 , f \"tmp315\" : tmp315 , f \"tmp316\" : tmp316 , f \"tmp317\" : tmp317 , f \"tmp318\" : tmp318 , f \"tmp319\" : tmp319 , f \"tmp32\" : tmp32 , f \"tmp325\" : tmp325 , f \"tmp326\" : tmp326 , f \"tmp327\" : tmp327 , f \"tmp328\" : tmp328 , f \"tmp33\" : tmp33 , f \"tmp334\" : tmp334 , f \"tmp335\" : tmp335 , f \"tmp336\" : tmp336 , f \"tmp337\" : tmp337 , f \"tmp338\" : tmp338 , f \"tmp340\" : tmp340 , f \"tmp341\" : tmp341 , f \"tmp344\" : tmp344 , f \"tmp345\" : tmp345 , f \"tmp346\" : tmp346 , f \"tmp350\" : tmp350 , f \"tmp352\" : tmp352 , f \"tmp354\" : tmp354 , f \"tmp356\" : tmp356 , f \"tmp358\" : tmp358 , f \"tmp360\" : tmp360 , f \"tmp361\" : tmp361 , f \"tmp362\" : tmp362 , f \"tmp363\" : tmp363 , f \"tmp364\" : tmp364 , f \"tmp365\" : tmp365 , f \"tmp366\" : tmp366 , f \"tmp383\" : tmp383 , f \"tmp385\" : tmp385 , f \"tmp387\" : tmp387 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp423\" : tmp423 , f \"tmp43\" : tmp43 , f \"tmp440\" : tmp440 , f \"tmp450\" : tmp450 , f \"tmp5\" : tmp5 , f \"tmp50\" : tmp50 , f \"tmp51\" : tmp51 , f \"tmp59\" : tmp59 , f \"tmp6\" : tmp6 , f \"tmp61\" : tmp61 , f \"tmp63\" : tmp63 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp7\" : tmp7 , f \"tmp71\" : tmp71 , f \"tmp73\" : tmp73 , f \"tmp75\" : tmp75 , f \"tmp77\" : tmp77 , f \"tmp79\" : tmp79 , f \"tmp80\" : tmp80 , f \"tmp81\" : tmp81 , f \"tmp82\" : tmp82 , f \"tmp83\" : tmp83 , f \"tmp84\" : tmp84 , f \"tmp9\" : tmp9 , f \"tmp98\" : tmp98 } ebcc . codegen . UCCSD . 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:54:32.391517. 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. Source code in ebcc/codegen/UCCSD.py 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 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:54:32.391517. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp130 = np . copy ( ints . tmp291 ) tmp130 += np . transpose ( ints . tmp360 , ( 0 , 1 , 3 , 2 )) tmp130 += np . transpose ( ints . tmp356 , ( 0 , 1 , 3 , 2 )) * 2 tmp126 = einsum ( r1 . b , ( 0 ,), ints . tmp315 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) tmp128 = np . copy ( ints . tmp315 ) tmp128 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) tmp99 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 0 , 1 , 2 )) tmp102 = np . copy ( ints . tmp315 ) tmp102 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) tmp88 = np . copy ( ints . tmp300 ) tmp88 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp104 = np . copy ( f . bb . ov ) tmp104 += ints . tmp12 tmp104 += ints . tmp15 tmp106 = np . copy ( ints . tmp290 ) tmp106 += ints . tmp354 * 2 tmp27 = np . copy ( ints . tmp146 ) tmp27 += ints . tmp67 * 2 tmp19 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), r1 . a , ( 3 ,), ( 0 , 1 , 2 )) tmp25 = np . copy ( f . aa . ov ) tmp25 += ints . tmp13 tmp25 += ints . tmp9 tmp23 = np . copy ( ints . tmp160 ) tmp23 += v . aabb . ooov tmp21 = np . copy ( ints . tmp158 ) tmp21 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) tmp51 = np . copy ( ints . tmp148 ) tmp51 += np . transpose ( ints . tmp75 , ( 0 , 1 , 3 , 2 )) tmp51 += np . transpose ( ints . tmp69 , ( 0 , 1 , 3 , 2 )) * 2 tmp47 = einsum ( ints . tmp158 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 3 ,), ( 0 , 1 , 2 )) tmp49 = np . copy ( ints . tmp158 ) tmp49 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) tmp131 = einsum ( r1 . b , ( 0 ,), tmp130 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp130 tmp127 = einsum ( tmp126 , ( 0 , 1 , 2 ), t1 . bb , ( 1 , 3 ), ( 0 , 2 , 3 )) del tmp126 tmp129 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp128 , ( 3 , 4 , 2 , 1 ), ( 3 , 4 , 0 )) * - 1 del tmp128 tmp125 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp11 , ( 3 , 1 ), ( 3 , 2 , 0 )) tmp100 = einsum ( t1 . bb , ( 0 , 1 ), tmp99 , ( 2 , 0 , 3 ), ( 2 , 3 , 1 )) del tmp99 tmp103 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp102 , ( 3 , 2 , 4 , 1 ), ( 3 , 4 , 0 )) * - 2 del tmp102 tmp101 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp88 , ( 2 , 3 , 4 , 0 ), ( 3 , 4 , 1 )) tmp105 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp104 , ( 3 , 1 ), ( 3 , 2 , 0 )) * - 2 del tmp104 tmp107 = einsum ( r1 . b , ( 0 ,), tmp106 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) del tmp106 tmp113 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 1 , 4 ), ( 4 , 0 , 2 )) * - 1 tmp112 = einsum ( r1 . b , ( 0 ,), v . bbbb . ovov , ( 1 , 2 , 3 , 0 ), ( 1 , 3 , 2 )) tmp34 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 1 , 3 , 4 ), ( 4 , 0 , 2 )) tmp33 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), r1 . a , ( 3 ,), ( 0 , 2 , 1 )) tmp28 = einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 3 ,), ( 0 , 1 , 2 )) * 0.5 del tmp27 tmp20 = einsum ( tmp19 , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 , 3 )) del tmp19 tmp26 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp25 , ( 3 , 1 ), ( 2 , 3 , 0 )) * - 1 del tmp25 tmp24 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp23 , ( 3 , 4 , 2 , 0 ), ( 3 , 4 , 1 )) * - 0.5 tmp22 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp21 , ( 3 , 2 , 4 , 1 ), ( 3 , 4 , 0 )) * - 1 del tmp21 tmp52 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 0 , 1 , 3 )) del tmp51 tmp46 = einsum ( ints . tmp7 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 0 , 3 , 2 )) tmp48 = einsum ( tmp47 , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 , 3 )) del tmp47 tmp50 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp49 , ( 3 , 4 , 2 , 1 ), ( 3 , 4 , 0 )) * - 1 del tmp49 tmp0 = np . copy ( f . bb . ov ) tmp0 += ints . tmp12 tmp0 += ints . tmp15 tmp0 += ints . tmp11 * - 1 r1new . b = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp0 , ( 2 , 1 ), ( 0 ,)) * 2 r1new . a = einsum ( tmp0 , ( 0 , 1 ), r2 . bab , ( 1 , 2 , 0 ), ( 2 ,)) * - 1 tmp123 = np . copy ( ints . tmp290 ) tmp123 += ints . tmp354 * 2 tmp121 = np . copy ( ints . tmp292 ) tmp121 += ints . tmp352 tmp121 += ints . tmp358 * 2 tmp132 = np . copy ( tmp125 ) * 2 del tmp125 tmp132 += np . transpose ( tmp127 , ( 1 , 0 , 2 )) del tmp127 tmp132 += np . transpose ( tmp129 , ( 1 , 0 , 2 )) * - 2 del tmp129 tmp132 += np . transpose ( tmp131 , ( 1 , 0 , 2 )) del tmp131 tmp134 = np . copy ( ints . tmp440 ) tmp134 += ints . tmp385 * 2 tmp119 = einsum ( r1 . b , ( 0 ,), v . bbbb . oovv , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) tmp108 = np . copy ( np . transpose ( tmp100 , ( 1 , 0 , 2 ))) del tmp100 tmp108 += np . transpose ( tmp101 , ( 1 , 0 , 2 )) * - 1 del tmp101 tmp108 += np . transpose ( tmp103 , ( 1 , 0 , 2 )) * - 1 del tmp103 tmp108 += tmp105 * - 1 del tmp105 tmp108 += np . transpose ( tmp107 , ( 1 , 0 , 2 )) del tmp107 tmp114 = np . copy ( tmp112 ) del tmp112 tmp114 += tmp113 * 2 del tmp113 tmp97 = np . copy ( f . bb . vv ) * 0.5 tmp97 += np . transpose ( ints . tmp31 , ( 1 , 0 )) * 0.5 tmp97 += np . transpose ( ints . tmp33 , ( 1 , 0 )) * 0.5 tmp97 += np . transpose ( ints . tmp41 , ( 1 , 0 )) * - 1 tmp97 += np . transpose ( ints . tmp43 , ( 1 , 0 )) * - 0.5 tmp95 = np . copy ( ints . tmp291 ) tmp95 += np . transpose ( ints . tmp356 , ( 0 , 1 , 3 , 2 )) * 2 tmp95 += np . transpose ( ints . tmp360 , ( 0 , 1 , 3 , 2 )) tmp110 = np . copy ( ints . tmp383 ) tmp110 += ints . tmp387 * 0.5 tmp110 += v . bbbb . ovvv * 0.5 tmp1 = np . copy ( f . aa . ov ) tmp1 += ints . tmp13 tmp1 += ints . tmp9 tmp1 += ints . tmp7 * - 1 r1new . b += einsum ( tmp1 , ( 0 , 1 ), r2 . aba , ( 1 , 2 , 0 ), ( 2 ,)) * - 1 r1new . a += einsum ( tmp1 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 0 ), ( 2 ,)) * 2 tmp17 = np . copy ( f . aa . vv ) * 0.5 tmp17 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * 0.5 tmp17 += np . transpose ( ints . tmp6 , ( 1 , 0 )) * 0.5 tmp17 += np . transpose ( ints . tmp20 , ( 1 , 0 )) * - 1 tmp17 += np . transpose ( ints . tmp22 , ( 1 , 0 )) * - 0.5 tmp15 = np . copy ( ints . tmp150 ) tmp15 += ints . tmp73 tmp15 += ints . tmp77 * 2 tmp35 = np . copy ( tmp33 ) del tmp33 tmp35 += tmp34 * 2 del tmp34 tmp31 = np . copy ( ints . tmp59 ) tmp31 += ints . tmp63 * 0.5 tmp31 += v . aaaa . ovvv * 0.5 tmp13 = np . copy ( ints . tmp148 ) tmp13 += np . transpose ( ints . tmp69 , ( 0 , 1 , 3 , 2 )) * 2 tmp13 += np . transpose ( ints . tmp75 , ( 0 , 1 , 3 , 2 )) tmp29 = np . copy ( np . transpose ( tmp20 , ( 1 , 0 , 2 ))) * 0.5 del tmp20 tmp29 += np . transpose ( tmp22 , ( 1 , 0 , 2 )) * - 1 del tmp22 tmp29 += np . transpose ( tmp24 , ( 1 , 0 , 2 )) del tmp24 tmp29 += np . transpose ( tmp26 , ( 1 , 0 , 2 )) * - 1 del tmp26 tmp29 += np . transpose ( tmp28 , ( 1 , 0 , 2 )) del tmp28 tmp44 = np . copy ( ints . tmp146 ) tmp44 += ints . tmp67 * 2 tmp53 = np . copy ( np . transpose ( tmp46 , ( 1 , 0 , 2 ))) * 2 del tmp46 tmp53 += tmp48 del tmp48 tmp53 += tmp50 * - 2 del tmp50 tmp53 += tmp52 del tmp52 tmp40 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), r1 . a , ( 3 ,), ( 0 , 1 , 2 )) tmp55 = np . copy ( ints . tmp141 ) tmp55 += ints . tmp61 * 2 tmp10 = einsum ( r1 . b , ( 0 ,), tmp0 , ( 1 , 0 ), ( 1 ,)) tmp9 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 1 , 2 ), ( 0 ,)) * - 1 tmp8 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovov , ( 2 , 0 , 3 , 1 ), ( 3 ,)) tmp124 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp123 , ( 3 , 2 , 4 , 1 ), ( 3 , 4 , 0 )) * - 1 del tmp123 tmp122 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp121 , ( 2 , 3 , 0 , 4 ), ( 3 , 4 , 1 )) del tmp121 tmp133 = einsum ( tmp132 , ( 0 , 1 , 2 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 , 3 )) del tmp132 tmp117 = einsum ( ints . tmp32 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 3 ), ( 3 , 1 , 2 )) tmp135 = einsum ( tmp134 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 0 , 1 , 3 )) del tmp134 tmp118 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 2 ), ( 0 , 4 , 1 )) tmp120 = einsum ( tmp119 , ( 0 , 1 , 2 ), t1 . bb , ( 1 , 3 ), ( 0 , 3 , 2 )) del tmp119 tmp109 = einsum ( t1 . bb , ( 0 , 1 ), tmp108 , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) del tmp108 tmp115 = einsum ( t1 . bb , ( 0 , 1 ), tmp114 , ( 2 , 0 , 3 ), ( 2 , 3 , 1 )) del tmp114 tmp94 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . oovv , ( 3 , 2 , 4 , 1 ), ( 3 , 0 , 4 )) tmp98 = einsum ( tmp97 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 3 ), ( 3 , 1 , 2 )) * - 4 del tmp97 tmp96 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp95 , ( 3 , 2 , 1 , 4 ), ( 3 , 4 , 0 )) * - 2 del tmp95 tmp111 = einsum ( r1 . b , ( 0 ,), tmp110 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 2 del tmp110 tmp93 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovov , ( 2 , 0 , 3 , 4 ), ( 3 , 1 , 4 )) tmp92 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp350 , ( 2 , 3 , 0 , 4 ), ( 3 , 4 , 1 )) tmp4 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 2 ), ( 0 ,)) * - 1 tmp5 = einsum ( tmp1 , ( 0 , 1 ), r1 . a , ( 1 ,), ( 0 ,)) tmp3 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovov , ( 3 , 0 , 2 , 1 ), ( 3 ,)) tmp78 = np . copy ( ints . tmp315 ) tmp78 += np . transpose ( ints . tmp315 , ( 0 , 2 , 1 , 3 )) * - 1 tmp78 += v . bbbb . ooov * - 1 tmp78 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) tmp70 = einsum ( tmp1 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 2 , 1 )) del tmp1 tmp87 = np . copy ( np . transpose ( r2 . aaa , ( 2 , 0 , 1 ))) tmp87 += einsum ( r1 . a , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 1 , 0 , 2 )) * 0.5 tmp77 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 0 , 4 , 2 )) * - 1 r2new . bab = einsum ( tmp77 , ( 0 , 1 , 2 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 4 , 3 , 1 )) * - 1 tmp74 = np . copy ( np . transpose ( r2 . bbb , ( 2 , 0 , 1 ))) tmp74 += einsum ( t1 . bb , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) * 0.5 tmp63 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovov , ( 3 , 0 , 4 , 1 ), ( 2 , 3 , 4 )) r2new . aba = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp63 , ( 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp64 = np . copy ( ints . tmp158 ) tmp64 += np . transpose ( ints . tmp158 , ( 0 , 2 , 1 , 3 )) * - 1 tmp64 += v . aaaa . ooov * - 1 tmp64 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) tmp18 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp17 , ( 1 , 3 ), ( 2 , 0 , 3 )) * - 4 del tmp17 tmp12 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . oovv , ( 3 , 2 , 4 , 1 ), ( 3 , 0 , 4 )) tmp16 = einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 0 , 4 , 2 )) * - 1 del tmp15 tmp36 = einsum ( tmp35 , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 3 ), ( 0 , 3 , 2 )) del tmp35 tmp32 = einsum ( r1 . a , ( 0 ,), tmp31 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 2 del tmp31 tmp14 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp13 , ( 3 , 2 , 1 , 4 ), ( 3 , 0 , 4 )) * - 2 del tmp13 tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 ), t1 . aa , ( 0 , 3 ), ( 1 , 3 , 2 )) * 2 del tmp29 tmp45 = einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 3 , 1 ), ( 0 , 4 , 2 )) * - 1 del tmp44 tmp43 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . ovov , ( 3 , 4 , 2 , 0 ), ( 3 , 1 , 4 )) * - 1 tmp38 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp5 , ( 1 , 3 ), ( 2 , 3 , 0 )) tmp54 = einsum ( tmp53 , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 3 ), ( 0 , 3 , 2 )) del tmp53 tmp42 = einsum ( ints . tmp71 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 0 , 2 , 4 )) * - 1 tmp41 = einsum ( t1 . aa , ( 0 , 1 ), tmp40 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) del tmp40 tmp39 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovov , ( 3 , 4 , 2 , 1 ), ( 3 , 0 , 4 )) tmp56 = einsum ( r1 . a , ( 0 ,), tmp55 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp55 tmp11 = np . copy ( tmp8 ) * - 1 del tmp8 tmp11 += tmp9 * 2 del tmp9 tmp11 += tmp10 del tmp10 r2new . bbb = einsum ( tmp11 , ( 0 ,), t2 . bbbb , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) * 2 r2new . aba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp11 , ( 1 ,), ( 2 , 3 , 0 )) r1new . b += einsum ( t1 . bb , ( 0 , 1 ), tmp11 , ( 0 ,), ( 1 ,)) * - 1 del tmp11 tmp138 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 1 , 4 ), ( 4 , 0 , 2 )) * - 1 tmp137 = np . copy ( ints . tmp423 ) tmp137 += ints . tmp450 * - 1 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp137 , ( 1 , 2 , 3 , 0 ), ( 3 , 2 , 1 )) * 2 del tmp137 tmp86 = np . copy ( f . bb . oo ) tmp86 += np . transpose ( ints . tmp273 , ( 1 , 0 )) tmp86 += np . transpose ( ints . tmp274 , ( 1 , 0 )) tmp86 += ints . tmp287 tmp86 += np . transpose ( ints . tmp296 , ( 1 , 0 )) * 2 tmp86 += np . transpose ( ints . tmp298 , ( 1 , 0 )) tmp86 += np . transpose ( ints . tmp308 , ( 1 , 0 )) tmp86 += np . transpose ( ints . tmp309 , ( 1 , 0 )) tmp86 += np . transpose ( ints . tmp272 , ( 1 , 0 )) * - 1 tmp86 += np . transpose ( ints . tmp307 , ( 1 , 0 )) * - 1 r2new . bbb += einsum ( tmp86 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp86 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp86 tmp136 = np . copy ( tmp117 ) * 2 del tmp117 tmp136 += tmp118 * 2 del tmp118 tmp136 += tmp120 del tmp120 tmp136 += tmp122 del tmp122 tmp136 += tmp124 * - 2 del tmp124 tmp136 += tmp133 del tmp133 tmp136 += tmp135 del tmp135 r2new . bbb += np . transpose ( tmp136 , ( 2 , 1 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp136 , ( 1 , 2 , 0 )) del tmp136 tmp116 = np . copy ( tmp92 ) del tmp92 tmp116 += tmp93 del tmp93 tmp116 += tmp94 * 2 del tmp94 tmp116 += tmp96 * - 1 del tmp96 tmp116 += tmp98 * - 1 del tmp98 tmp116 += tmp109 del tmp109 tmp116 += tmp111 del tmp111 tmp116 += np . transpose ( tmp115 , ( 0 , 2 , 1 )) del tmp115 r2new . bbb += np . transpose ( tmp116 , ( 2 , 1 , 0 )) r2new . bbb += np . transpose ( tmp116 , ( 1 , 2 , 0 )) * - 1 del tmp116 tmp139 = np . copy ( t2 . bbbb ) tmp139 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) r2new . bbb += einsum ( tmp138 , ( 0 , 1 , 2 ), tmp139 , ( 1 , 2 , 3 , 4 ), ( 4 , 3 , 0 )) * - 2 del tmp138 , tmp139 tmp91 = np . copy ( ints . tmp271 ) tmp91 += ints . tmp294 * 2 tmp91 += ints . tmp304 tmp91 += ints . tmp313 tmp91 += ints . tmp316 * 2 tmp91 += ints . tmp317 tmp91 += ints . tmp318 * 2 tmp91 += ints . tmp319 tmp91 += ints . tmp326 tmp91 += ints . tmp327 tmp91 += ints . tmp328 tmp91 += ints . tmp334 * 2 tmp91 += ints . tmp335 tmp91 += ints . tmp337 tmp91 += ints . tmp338 tmp91 += ints . tmp361 tmp91 += ints . tmp363 * 2 tmp91 += f . bb . ov * - 1 tmp91 += ints . tmp12 * - 1 tmp91 += ints . tmp15 * - 1 tmp91 += ints . tmp286 * - 1 tmp91 += ints . tmp295 * - 1 tmp91 += ints . tmp303 * - 1 tmp91 += ints . tmp305 * - 1 tmp91 += ints . tmp325 * - 1 tmp91 += ints . tmp336 * - 1 tmp91 += ints . tmp340 * - 1 tmp91 += ints . tmp341 * - 2 tmp91 += ints . tmp362 * - 1 tmp91 += ints . tmp364 * - 2 tmp91 += ints . tmp365 * - 1 tmp91 += ints . tmp366 * - 2 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp91 , ( 1 , 2 ), ( 2 , 0 , 1 )) r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp91 , ( 1 , 2 ), ( 0 , 2 , 1 )) * - 1 r2new . bab += einsum ( tmp91 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 1 , 2 , 0 )) del tmp91 tmp90 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 0 , 4 , 2 )) tmp90 += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp88 , ( 3 , 4 , 2 , 1 ), ( 3 , 4 , 0 )) * - 1 r2new . bab += einsum ( t1 . aa , ( 0 , 1 ), tmp90 , ( 0 , 2 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp90 tmp6 = np . copy ( tmp3 ) * 2 del tmp3 tmp6 += tmp4 del tmp4 tmp6 += tmp5 del tmp5 r2new . bab += einsum ( tmp6 , ( 0 ,), t2 . abab , ( 0 , 1 , 2 , 3 ), ( 3 , 2 , 1 )) r2new . aaa = einsum ( tmp6 , ( 0 ,), t2 . aaaa , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) * 2 r1new . a += einsum ( tmp6 , ( 0 ,), t1 . aa , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp6 tmp84 = np . copy ( ints . tmp32 ) * 0.5 tmp84 += np . transpose ( ints . tmp41 , ( 1 , 0 )) tmp84 += np . transpose ( ints . tmp43 , ( 1 , 0 )) * 0.5 tmp84 += f . bb . vv * - 0.5 tmp84 += np . transpose ( ints . tmp31 , ( 1 , 0 )) * - 0.5 tmp84 += np . transpose ( ints . tmp33 , ( 1 , 0 )) * - 0.5 tmp84 += einsum ( t1 . bb , ( 0 , 1 ), tmp0 , ( 0 , 2 ), ( 2 , 1 )) * 0.5 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp84 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 2 del tmp84 tmp79 = np . copy ( np . transpose ( ints . tmp291 , ( 0 , 1 , 3 , 2 ))) tmp79 += ints . tmp356 * 2 tmp79 += ints . tmp360 tmp79 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp79 += ints . tmp290 * - 1 tmp79 += ints . tmp354 * - 2 tmp79 += v . bbbb . oovv * - 1 tmp79 += einsum ( tmp78 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 del tmp78 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp79 , ( 3 , 2 , 4 , 0 ), ( 4 , 1 , 3 )) del tmp79 tmp71 = np . copy ( np . transpose ( ints . tmp20 , ( 1 , 0 ))) * 2 tmp71 += np . transpose ( ints . tmp22 , ( 1 , 0 )) tmp71 += ints . tmp5 tmp71 += f . aa . vv * - 1 tmp71 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * - 1 tmp71 += np . transpose ( ints . tmp6 , ( 1 , 0 )) * - 1 tmp71 += np . transpose ( tmp70 , ( 1 , 0 )) del tmp70 r2new . bab += einsum ( tmp71 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . aba += einsum ( tmp71 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 del tmp71 tmp85 = np . copy ( ints . tmp276 ) tmp85 += ints . tmp289 tmp85 += ints . tmp301 tmp85 += ints . tmp344 tmp85 += ints . tmp346 * 2 tmp85 += np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 )) tmp85 += ints . tmp263 * - 1 tmp85 += np . transpose ( ints . tmp345 , ( 0 , 2 , 1 , 3 )) * - 1 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp85 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del tmp85 tmp80 = np . copy ( np . transpose ( r2 . aaa , ( 2 , 0 , 1 ))) * 2 tmp80 += einsum ( r1 . a , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 1 , 0 , 2 )) tmp81 = np . copy ( ints . tmp292 ) tmp81 += ints . tmp352 tmp81 += ints . tmp358 * 2 tmp81 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp81 += ints . tmp350 * - 1 r2new . bab += einsum ( tmp80 , ( 0 , 1 , 2 ), tmp81 , ( 0 , 3 , 1 , 4 ), ( 4 , 2 , 3 )) del tmp80 , tmp81 tmp89 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . vvov , ( 3 , 1 , 4 , 0 ), ( 2 , 4 , 3 )) * - 1 tmp89 += einsum ( tmp77 , ( 0 , 1 , 2 ), t1 . aa , ( 0 , 3 ), ( 1 , 2 , 3 )) * - 1 del tmp77 tmp89 += einsum ( tmp87 , ( 0 , 1 , 2 ), tmp88 , ( 0 , 3 , 4 , 1 ), ( 3 , 4 , 2 )) * - 2 del tmp88 , tmp87 r2new . bab += einsum ( tmp89 , ( 0 , 1 , 2 ), t1 . bb , ( 1 , 3 ), ( 3 , 2 , 0 )) del tmp89 tmp82 = np . copy ( np . transpose ( r2 . bab , ( 2 , 1 , 0 ))) * - 1 tmp82 += einsum ( t1 . bb , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) tmp83 = np . copy ( ints . tmp314 ) tmp83 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) tmp83 += ints . tmp266 * - 1 r2new . bab += einsum ( tmp82 , ( 0 , 1 , 2 ), tmp83 , ( 3 , 0 , 4 , 1 ), ( 2 , 4 , 3 )) del tmp82 , tmp83 tmp67 = np . copy ( ints . tmp150 ) tmp67 += ints . tmp73 tmp67 += ints . tmp77 * 2 tmp67 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp67 += ints . tmp71 * - 1 tmp62 = np . copy ( ints . tmp101 ) tmp62 += ints . tmp116 * 2 tmp62 += ints . tmp117 tmp62 += ints . tmp128 tmp62 += ints . tmp129 tmp62 += ints . tmp139 tmp62 += ints . tmp152 * 2 tmp62 += ints . tmp159 * 2 tmp62 += ints . tmp161 tmp62 += ints . tmp164 * 2 tmp62 += ints . tmp165 tmp62 += ints . tmp167 tmp62 += ints . tmp186 tmp62 += ints . tmp187 tmp62 += ints . tmp79 * 2 tmp62 += ints . tmp81 tmp62 += ints . tmp98 tmp62 += f . aa . ov * - 1 tmp62 += ints . tmp127 * - 1 tmp62 += ints . tmp136 * - 1 tmp62 += ints . tmp13 * - 1 tmp62 += ints . tmp153 * - 1 tmp62 += ints . tmp166 * - 1 tmp62 += ints . tmp168 * - 1 tmp62 += ints . tmp185 * - 1 tmp62 += ints . tmp50 * - 2 tmp62 += ints . tmp51 * - 1 tmp62 += ints . tmp80 * - 2 tmp62 += ints . tmp82 * - 1 tmp62 += ints . tmp83 * - 2 tmp62 += ints . tmp84 * - 1 tmp62 += ints . tmp9 * - 1 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp62 , ( 1 , 2 ), ( 2 , 0 , 1 )) r2new . aaa += einsum ( tmp62 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 1 , 2 , 0 )) r2new . aaa += einsum ( tmp62 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 2 , 1 , 0 )) * - 1 del tmp62 tmp69 = np . copy ( ints . tmp226 ) tmp69 += v . aabb . oovv tmp69 += ints . tmp199 * - 1 tmp75 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 4 ), ( 4 , 0 , 2 )) * - 1 tmp75 += einsum ( t1 . bb , ( 0 , 1 ), tmp63 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) del tmp63 tmp75 += einsum ( tmp74 , ( 0 , 1 , 2 ), tmp23 , ( 3 , 4 , 0 , 1 ), ( 3 , 4 , 2 )) * - 2 del tmp74 r2new . aba += einsum ( t1 . aa , ( 0 , 1 ), tmp75 , ( 2 , 0 , 3 ), ( 1 , 3 , 2 )) del tmp75 tmp72 = np . copy ( ints . tmp32 ) tmp72 += np . transpose ( ints . tmp41 , ( 1 , 0 )) * 2 tmp72 += np . transpose ( ints . tmp43 , ( 1 , 0 )) tmp72 += f . bb . vv * - 1 tmp72 += np . transpose ( ints . tmp31 , ( 1 , 0 )) * - 1 tmp72 += np . transpose ( ints . tmp33 , ( 1 , 0 )) * - 1 tmp72 += einsum ( t1 . bb , ( 0 , 1 ), tmp0 , ( 0 , 2 ), ( 2 , 1 )) del tmp0 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp72 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp72 tmp66 = np . copy ( np . transpose ( r2 . bbb , ( 2 , 0 , 1 ))) * 2 tmp66 += einsum ( t1 . bb , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) r2new . aba += einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), tmp66 , ( 1 , 3 , 4 ), ( 2 , 4 , 0 )) del tmp67 , tmp66 tmp73 = np . copy ( ints . tmp205 ) tmp73 += ints . tmp216 tmp73 += ints . tmp220 tmp73 += ints . tmp240 tmp73 += ints . tmp242 * 2 tmp73 += v . aabb . ovvv tmp73 += ints . tmp196 * - 1 tmp73 += np . transpose ( ints . tmp241 , ( 0 , 1 , 3 , 2 )) * - 1 r2new . aba += einsum ( tmp73 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 1 , 2 , 0 )) * - 1 del tmp73 tmp65 = np . copy ( np . transpose ( ints . tmp148 , ( 0 , 1 , 3 , 2 ))) tmp65 += ints . tmp69 * 2 tmp65 += ints . tmp75 tmp65 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp65 += ints . tmp146 * - 1 tmp65 += ints . tmp67 * - 2 tmp65 += v . aaaa . oovv * - 1 tmp65 += einsum ( tmp64 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 del tmp64 r2new . aba += einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 3 , 4 , 1 ), ( 2 , 4 , 0 )) del tmp65 tmp58 = np . copy ( f . aa . oo ) tmp58 += np . transpose ( ints . tmp106 , ( 1 , 0 )) tmp58 += np . transpose ( ints . tmp108 , ( 1 , 0 )) tmp58 += ints . tmp137 tmp58 += np . transpose ( ints . tmp154 , ( 1 , 0 )) * 2 tmp58 += np . transpose ( ints . tmp156 , ( 1 , 0 )) tmp58 += np . transpose ( ints . tmp175 , ( 1 , 0 )) tmp58 += np . transpose ( ints . tmp177 , ( 1 , 0 )) tmp58 += np . transpose ( ints . tmp104 , ( 1 , 0 )) * - 1 tmp58 += np . transpose ( ints . tmp173 , ( 1 , 0 )) * - 1 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp58 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp58 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp58 tmp76 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . vvov , ( 3 , 0 , 4 , 1 ), ( 2 , 4 , 3 )) * - 1 tmp76 += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp23 , ( 3 , 2 , 4 , 1 ), ( 3 , 4 , 0 )) del tmp23 r2new . aba += einsum ( t1 . bb , ( 0 , 1 ), tmp76 , ( 2 , 0 , 3 ), ( 3 , 1 , 2 )) del tmp76 tmp68 = np . copy ( np . transpose ( r2 . aba , ( 2 , 0 , 1 ))) tmp68 += einsum ( r1 . b , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 1 , 2 , 0 )) * - 1 r2new . aba += einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), tmp68 , ( 1 , 4 , 3 ), ( 4 , 2 , 0 )) * - 1 del tmp69 , tmp68 tmp61 = np . copy ( t2 . aaaa ) tmp61 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp37 = np . copy ( tmp12 ) * 2 del tmp12 tmp37 += np . transpose ( tmp14 , ( 0 , 2 , 1 )) * - 1 del tmp14 tmp37 += np . transpose ( tmp16 , ( 0 , 2 , 1 )) del tmp16 tmp37 += np . transpose ( tmp18 , ( 0 , 2 , 1 )) * - 1 del tmp18 tmp37 += np . transpose ( tmp30 , ( 0 , 2 , 1 )) del tmp30 tmp37 += tmp32 del tmp32 tmp37 += tmp36 del tmp36 r2new . aaa += np . transpose ( tmp37 , ( 2 , 1 , 0 )) r2new . aaa += np . transpose ( tmp37 , ( 1 , 2 , 0 )) * - 1 del tmp37 tmp57 = np . copy ( tmp38 ) * 2 del tmp38 tmp57 += tmp39 * 2 del tmp39 tmp57 += tmp41 del tmp41 tmp57 += tmp42 del tmp42 tmp57 += tmp43 del tmp43 tmp57 += np . transpose ( tmp45 , ( 0 , 2 , 1 )) * - 2 del tmp45 tmp57 += np . transpose ( tmp54 , ( 0 , 2 , 1 )) del tmp54 tmp57 += tmp56 del tmp56 r2new . aaa += np . transpose ( tmp57 , ( 2 , 1 , 0 )) * - 1 r2new . aaa += np . transpose ( tmp57 , ( 1 , 2 , 0 )) del tmp57 tmp60 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovov , ( 3 , 0 , 4 , 1 ), ( 2 , 3 , 4 )) r2new . aaa += einsum ( tmp60 , ( 0 , 1 , 2 ), tmp61 , ( 1 , 2 , 3 , 4 ), ( 4 , 3 , 0 )) * - 2 del tmp60 , tmp61 tmp59 = np . copy ( ints . tmp118 ) tmp59 += ints . tmp162 * - 1 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp59 , ( 1 , 2 , 3 , 0 ), ( 3 , 2 , 1 )) * 2 del tmp59 tmp7 = np . copy ( ints . tmp32 ) tmp7 += np . transpose ( ints . tmp41 , ( 1 , 0 )) * 2 tmp7 += np . transpose ( ints . tmp43 , ( 1 , 0 )) tmp7 += f . bb . vv * - 1 tmp7 += np . transpose ( ints . tmp31 , ( 1 , 0 )) * - 1 tmp7 += np . transpose ( ints . tmp33 , ( 1 , 0 )) * - 1 r1new . b += einsum ( r1 . b , ( 0 ,), tmp7 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp7 tmp2 = np . copy ( np . transpose ( ints . tmp20 , ( 1 , 0 ))) * 2 tmp2 += np . transpose ( ints . tmp22 , ( 1 , 0 )) tmp2 += ints . tmp5 tmp2 += f . aa . vv * - 1 tmp2 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * - 1 tmp2 += np . transpose ( ints . tmp6 , ( 1 , 0 )) * - 1 r1new . a += einsum ( tmp2 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp2 r1new . a += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 2 ), ( 0 ,)) * - 1 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovvv , ( 2 , 1 , 3 , 0 ), ( 3 ,)) * 2 r1new . b += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 0 ), ( 2 ,)) * - 1 r1new . b += einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 1 , 3 , 0 ), ( 2 ,)) * - 2 r2new . aaa += einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) * 2 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . vvvv , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . vvvv , ( 3 , 1 , 4 , 0 ), ( 4 , 3 , 2 )) r2new . bbb += einsum ( v . bbbb . vvvv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) * 2 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . UCCSD . hbar_matvec_ee_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-12T22:00:12.606077. 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 tmp10 : array tmp100 : array tmp102 : array tmp104 : array tmp106 : array tmp107 : array tmp108 : array tmp116 : array tmp118 : array tmp12 : array tmp120 : array tmp123 : array tmp14 : array tmp140 : array tmp142 : array tmp144 : array tmp15 : array tmp153 : array tmp156 : array tmp16 : array tmp167 : array tmp168 : array tmp169 : array tmp179 : array tmp18 : array tmp180 : array tmp181 : array tmp199 : array tmp205 : array tmp206 : array tmp207 : array tmp209 : array tmp211 : array tmp213 : array tmp214 : array tmp215 : array tmp221 : array tmp222 : array tmp224 : array tmp228 : array tmp229 : array tmp23 : array tmp230 : array tmp235 : array tmp236 : array tmp237 : array tmp239 : array tmp25 : array tmp250 : array tmp251 : array tmp252 : array tmp256 : array tmp257 : array tmp260 : array tmp263 : array tmp265 : array tmp267 : array tmp269 : array tmp271 : array tmp273 : array tmp275 : array tmp277 : array tmp279 : array tmp281 : array tmp282 : array tmp283 : array tmp284 : array tmp285 : array tmp286 : array tmp293 : array tmp295 : array tmp297 : array tmp299 : array tmp302 : array tmp304 : array tmp306 : array tmp308 : array tmp313 : array tmp314 : array tmp315 : array tmp319 : array tmp320 : array tmp321 : array tmp327 : array tmp328 : array tmp329 : array tmp331 : array tmp337 : array tmp338 : array tmp339 : array tmp343 : array tmp344 : array tmp345 : array tmp349 : array tmp351 : array tmp366 : array tmp369 : array tmp377 : array tmp378 : array tmp379 : array tmp39 : array tmp394 : array tmp395 : array tmp396 : array tmp399 : array tmp4 : array tmp401 : array tmp402 : array tmp403 : array tmp404 : array tmp405 : array tmp407 : array tmp408 : array tmp409 : array tmp411 : array tmp412 : array tmp416 : array tmp417 : array tmp418 : array tmp42 : array tmp420 : array tmp421 : array tmp422 : array tmp427 : array tmp428 : array tmp429 : array tmp43 : array tmp432 : array tmp433 : array tmp437 : array tmp439 : array tmp44 : array tmp443 : array tmp444 : array tmp445 : array tmp446 : array tmp45 : array tmp457 : array tmp458 : array tmp459 : array tmp46 : array tmp460 : array tmp461 : array tmp463 : array tmp465 : array tmp467 : array tmp469 : array tmp47 : array tmp471 : array tmp473 : array tmp474 : array tmp475 : array tmp476 : array tmp477 : array tmp478 : array tmp479 : array tmp48 : array tmp484 : array tmp490 : array tmp491 : array tmp494 : array tmp495 : array tmp497 : array tmp498 : array tmp499 : array tmp5 : array tmp50 : array tmp500 : array tmp502 : array tmp503 : array tmp506 : array tmp507 : array tmp509 : array tmp511 : array tmp513 : array tmp515 : array tmp516 : array tmp518 : array tmp519 : array tmp52 : array tmp521 : array tmp523 : array tmp525 : array tmp526 : array tmp527 : array tmp532 : array tmp534 : array tmp536 : array tmp539 : array tmp54 : array tmp551 : array tmp553 : array tmp555 : array tmp56 : array tmp566 : array tmp57 : array tmp577 : array tmp58 : array tmp6 : array tmp609 : array tmp611 : array tmp613 : array tmp620 : array tmp622 : array tmp626 : array tmp631 : array tmp633 : array tmp651 : array tmp653 : array tmp655 : array tmp66 : array tmp669 : array tmp67 : array tmp671 : array tmp673 : array tmp675 : array tmp678 : array tmp68 : array tmp680 : array tmp682 : array tmp79 : array tmp81 : array tmp89 : array tmp92 : array tmp93 : array tmp94 : array tmp95 : array tmp96 : array tmp97 : array tmp98 : array Source code in ebcc/codegen/UCCSD.py 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 def hbar_matvec_ee_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-12T22:00:12.606077. 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 ------- tmp10 : array tmp100 : array tmp102 : array tmp104 : array tmp106 : array tmp107 : array tmp108 : array tmp116 : array tmp118 : array tmp12 : array tmp120 : array tmp123 : array tmp14 : array tmp140 : array tmp142 : array tmp144 : array tmp15 : array tmp153 : array tmp156 : array tmp16 : array tmp167 : array tmp168 : array tmp169 : array tmp179 : array tmp18 : array tmp180 : array tmp181 : array tmp199 : array tmp205 : array tmp206 : array tmp207 : array tmp209 : array tmp211 : array tmp213 : array tmp214 : array tmp215 : array tmp221 : array tmp222 : array tmp224 : array tmp228 : array tmp229 : array tmp23 : array tmp230 : array tmp235 : array tmp236 : array tmp237 : array tmp239 : array tmp25 : array tmp250 : array tmp251 : array tmp252 : array tmp256 : array tmp257 : array tmp260 : array tmp263 : array tmp265 : array tmp267 : array tmp269 : array tmp271 : array tmp273 : array tmp275 : array tmp277 : array tmp279 : array tmp281 : array tmp282 : array tmp283 : array tmp284 : array tmp285 : array tmp286 : array tmp293 : array tmp295 : array tmp297 : array tmp299 : array tmp302 : array tmp304 : array tmp306 : array tmp308 : array tmp313 : array tmp314 : array tmp315 : array tmp319 : array tmp320 : array tmp321 : array tmp327 : array tmp328 : array tmp329 : array tmp331 : array tmp337 : array tmp338 : array tmp339 : array tmp343 : array tmp344 : array tmp345 : array tmp349 : array tmp351 : array tmp366 : array tmp369 : array tmp377 : array tmp378 : array tmp379 : array tmp39 : array tmp394 : array tmp395 : array tmp396 : array tmp399 : array tmp4 : array tmp401 : array tmp402 : array tmp403 : array tmp404 : array tmp405 : array tmp407 : array tmp408 : array tmp409 : array tmp411 : array tmp412 : array tmp416 : array tmp417 : array tmp418 : array tmp42 : array tmp420 : array tmp421 : array tmp422 : array tmp427 : array tmp428 : array tmp429 : array tmp43 : array tmp432 : array tmp433 : array tmp437 : array tmp439 : array tmp44 : array tmp443 : array tmp444 : array tmp445 : array tmp446 : array tmp45 : array tmp457 : array tmp458 : array tmp459 : array tmp46 : array tmp460 : array tmp461 : array tmp463 : array tmp465 : array tmp467 : array tmp469 : array tmp47 : array tmp471 : array tmp473 : array tmp474 : array tmp475 : array tmp476 : array tmp477 : array tmp478 : array tmp479 : array tmp48 : array tmp484 : array tmp490 : array tmp491 : array tmp494 : array tmp495 : array tmp497 : array tmp498 : array tmp499 : array tmp5 : array tmp50 : array tmp500 : array tmp502 : array tmp503 : array tmp506 : array tmp507 : array tmp509 : array tmp511 : array tmp513 : array tmp515 : array tmp516 : array tmp518 : array tmp519 : array tmp52 : array tmp521 : array tmp523 : array tmp525 : array tmp526 : array tmp527 : array tmp532 : array tmp534 : array tmp536 : array tmp539 : array tmp54 : array tmp551 : array tmp553 : array tmp555 : array tmp56 : array tmp566 : array tmp57 : array tmp577 : array tmp58 : array tmp6 : array tmp609 : array tmp611 : array tmp613 : array tmp620 : array tmp622 : array tmp626 : array tmp631 : array tmp633 : array tmp651 : array tmp653 : array tmp655 : array tmp66 : array tmp669 : array tmp67 : array tmp671 : array tmp673 : array tmp675 : array tmp678 : array tmp68 : array tmp680 : array tmp682 : array tmp79 : array tmp81 : array tmp89 : array tmp92 : array tmp93 : array tmp94 : array tmp95 : array tmp96 : array tmp97 : array tmp98 : array \"\"\" tmp4 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 )) tmp179 = einsum ( t1 . aa , ( 0 , 1 ), tmp4 , ( 2 , 0 ), ( 2 , 1 )) tmp5 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) tmp180 = einsum ( t1 . aa , ( 0 , 1 ), tmp5 , ( 2 , 0 ), ( 2 , 1 )) tmp6 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp181 = einsum ( t1 . aa , ( 0 , 1 ), tmp6 , ( 2 , 0 ), ( 2 , 1 )) tmp10 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp474 = einsum ( tmp10 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp319 = einsum ( tmp10 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp281 = einsum ( tmp10 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp140 = einsum ( tmp10 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp56 = einsum ( tmp10 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp250 = einsum ( t1 . aa , ( 0 , 1 ), tmp56 , ( 2 , 0 ), ( 2 , 1 )) tmp12 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp475 = einsum ( tmp12 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp320 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp12 , ( 4 , 2 ), ( 0 , 4 , 1 , 3 )) tmp282 = einsum ( tmp12 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp142 = einsum ( tmp12 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp57 = einsum ( t1 . aa , ( 0 , 1 ), tmp12 , ( 2 , 1 ), ( 0 , 2 )) tmp251 = einsum ( t1 . aa , ( 0 , 1 ), tmp57 , ( 2 , 0 ), ( 2 , 1 )) tmp14 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp551 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp476 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp14 , ( 1 , 3 ), ( 0 , 2 )) tmp377 = einsum ( tmp14 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp283 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 1 , 3 ), ( 0 , 2 )) tmp106 = einsum ( tmp14 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp427 = einsum ( t1 . bb , ( 0 , 1 ), tmp106 , ( 2 , 0 ), ( 2 , 1 )) tmp15 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp553 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp15 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp477 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp15 , ( 1 , 3 ), ( 0 , 2 )) tmp378 = einsum ( tmp15 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp284 = einsum ( tmp15 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp107 = einsum ( t1 . bb , ( 0 , 1 ), tmp15 , ( 2 , 1 ), ( 0 , 2 )) tmp428 = einsum ( t1 . bb , ( 0 , 1 ), tmp107 , ( 2 , 0 ), ( 2 , 1 )) tmp16 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp478 = einsum ( tmp16 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp321 = einsum ( tmp16 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp285 = einsum ( tmp16 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp144 = einsum ( tmp16 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp58 = einsum ( tmp16 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp252 = einsum ( t1 . aa , ( 0 , 1 ), tmp58 , ( 2 , 0 ), ( 2 , 1 )) tmp18 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp555 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp479 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp18 , ( 1 , 3 ), ( 0 , 2 )) tmp379 = einsum ( tmp18 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp286 = einsum ( tmp18 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp108 = einsum ( t1 . bb , ( 0 , 1 ), tmp18 , ( 2 , 1 ), ( 0 , 2 )) tmp429 = einsum ( tmp108 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp23 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp25 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp39 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 2 , 1 ), ( 2 , 0 )) tmp221 = einsum ( t1 . aa , ( 0 , 1 ), tmp39 , ( 0 , 2 ), ( 2 , 1 )) tmp42 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp213 = einsum ( tmp42 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp43 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp214 = einsum ( tmp43 , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 2 , 1 )) tmp44 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp215 = einsum ( tmp44 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp45 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp46 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp295 = einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp47 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 0 , 3 )) tmp48 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp395 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp48 , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) tmp394 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp48 , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp297 = einsum ( t1 . aa , ( 0 , 1 ), tmp48 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp299 = einsum ( tmp297 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp230 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp228 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp209 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp207 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp50 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp516 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp50 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp437 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp50 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp396 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp50 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp229 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp50 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp211 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp50 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp52 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp235 = einsum ( t1 . aa , ( 0 , 1 ), tmp52 , ( 2 , 0 ), ( 2 , 1 )) tmp54 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp236 = einsum ( t1 . aa , ( 0 , 1 ), tmp54 , ( 2 , 0 ), ( 2 , 1 )) tmp66 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 3 ), ( 0 , 2 )) tmp343 = einsum ( t1 . bb , ( 0 , 1 ), tmp66 , ( 2 , 0 ), ( 2 , 1 )) tmp67 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp344 = einsum ( t1 . bb , ( 0 , 1 ), tmp67 , ( 2 , 0 ), ( 2 , 1 )) tmp68 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp345 = einsum ( t1 . bb , ( 0 , 1 ), tmp68 , ( 2 , 0 ), ( 2 , 1 )) tmp79 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 tmp81 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp89 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 0 , 2 )) tmp411 = einsum ( t1 . bb , ( 0 , 1 ), tmp89 , ( 0 , 2 ), ( 2 , 1 )) tmp92 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp407 = einsum ( t1 . bb , ( 0 , 1 ), tmp92 , ( 2 , 1 ), ( 0 , 2 )) tmp93 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp408 = einsum ( t1 . bb , ( 0 , 1 ), tmp93 , ( 1 , 2 ), ( 0 , 2 )) tmp94 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp409 = einsum ( t1 . bb , ( 0 , 1 ), tmp94 , ( 2 , 1 ), ( 0 , 2 )) tmp95 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp96 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp671 = einsum ( t1 . bb , ( 0 , 1 ), tmp96 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp97 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp526 = einsum ( t1 . aa , ( 0 , 1 ), tmp97 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp98 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp673 = einsum ( t1 . bb , ( 0 , 1 ), tmp98 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp675 = einsum ( tmp673 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp626 = einsum ( tmp98 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp611 = einsum ( tmp98 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp609 = einsum ( tmp98 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp416 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp98 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 tmp404 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp98 , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp403 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp98 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp100 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp613 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp100 , ( 0 , 4 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp503 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp100 , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 5 , 3 )) tmp500 = einsum ( t1 . aa , ( 0 , 1 ), tmp100 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp527 = einsum ( t1 . aa , ( 0 , 1 ), tmp500 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp502 = einsum ( t1 . bb , ( 0 , 1 ), tmp500 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp418 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp100 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp417 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp100 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) tmp405 = einsum ( tmp100 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) tmp102 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp420 = einsum ( tmp102 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp104 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp421 = einsum ( t1 . bb , ( 0 , 1 ), tmp104 , ( 2 , 0 ), ( 2 , 1 )) tmp116 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp118 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp120 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 5 , 1 , 3 ), ( 0 , 2 , 4 , 5 )) tmp123 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp153 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . oo , ( 2 , 0 ), ( 2 , 1 )) tmp156 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp167 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp168 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp169 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp199 = einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp205 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp206 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp222 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp224 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp239 = einsum ( tmp224 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) tmp237 = einsum ( tmp224 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp256 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp257 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp260 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp263 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp265 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp267 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp269 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp271 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp273 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp275 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp277 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp279 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp293 = einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp302 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp304 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) * - 1 tmp306 = einsum ( tmp304 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp308 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp313 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 5 , 3 )) tmp314 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 0 , 4 , 5 , 2 ), ( 1 , 4 , 5 , 3 )) tmp315 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp327 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp328 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp329 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp331 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . oo , ( 2 , 0 ), ( 2 , 1 )) tmp337 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 1 tmp338 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) tmp339 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 4 , 5 ), ( 2 , 4 , 1 , 5 )) tmp349 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp351 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp366 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp369 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 4 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) tmp399 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . vv , ( 2 , 1 ), ( 0 , 2 )) tmp401 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp402 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp412 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp519 = einsum ( tmp412 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp422 = einsum ( t1 . bb , ( 0 , 1 ), tmp412 , ( 2 , 3 , 4 , 0 ), ( 3 , 2 , 4 , 1 )) tmp432 = einsum ( v . aabb . vvoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 3 , 0 )) tmp433 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp484 = einsum ( tmp433 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 3 , 2 , 4 )) tmp439 = einsum ( t1 . bb , ( 0 , 1 ), tmp433 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp443 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp444 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp445 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp446 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 3 , 5 )) tmp457 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp458 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp459 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp460 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) tmp461 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp463 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp465 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) tmp467 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp469 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp471 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp473 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp490 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 4 , 2 , 5 , 1 ), ( 0 , 4 , 5 , 3 )) tmp491 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp494 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp495 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp497 = einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp498 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp499 = einsum ( tmp498 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp506 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp507 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) tmp509 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp523 = einsum ( tmp509 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp511 = einsum ( tmp509 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp513 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . oooo , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp515 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp518 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oovv , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp521 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp525 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp532 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp534 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp536 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) tmp539 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp566 = einsum ( v . bbbb . oooo , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp577 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp620 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp622 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp633 = einsum ( tmp622 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) tmp631 = einsum ( tmp622 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp651 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp653 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp655 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 5 , 3 )) tmp669 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp678 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp680 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp682 = einsum ( tmp680 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) return { f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp102\" : tmp102 , f \"tmp104\" : tmp104 , f \"tmp106\" : tmp106 , f \"tmp107\" : tmp107 , f \"tmp108\" : tmp108 , f \"tmp116\" : tmp116 , f \"tmp118\" : tmp118 , f \"tmp12\" : tmp12 , f \"tmp120\" : tmp120 , f \"tmp123\" : tmp123 , f \"tmp14\" : tmp14 , f \"tmp140\" : tmp140 , f \"tmp142\" : tmp142 , f \"tmp144\" : tmp144 , f \"tmp15\" : tmp15 , f \"tmp153\" : tmp153 , f \"tmp156\" : tmp156 , f \"tmp16\" : tmp16 , f \"tmp167\" : tmp167 , f \"tmp168\" : tmp168 , f \"tmp169\" : tmp169 , f \"tmp179\" : tmp179 , f \"tmp18\" : tmp18 , f \"tmp180\" : tmp180 , f \"tmp181\" : tmp181 , f \"tmp199\" : tmp199 , f \"tmp205\" : tmp205 , f \"tmp206\" : tmp206 , f \"tmp207\" : tmp207 , f \"tmp209\" : tmp209 , f \"tmp211\" : tmp211 , f \"tmp213\" : tmp213 , f \"tmp214\" : tmp214 , f \"tmp215\" : tmp215 , f \"tmp221\" : tmp221 , f \"tmp222\" : tmp222 , f \"tmp224\" : tmp224 , f \"tmp228\" : tmp228 , f \"tmp229\" : tmp229 , f \"tmp23\" : tmp23 , f \"tmp230\" : tmp230 , f \"tmp235\" : tmp235 , f \"tmp236\" : tmp236 , f \"tmp237\" : tmp237 , f \"tmp239\" : tmp239 , f \"tmp25\" : tmp25 , f \"tmp250\" : tmp250 , f \"tmp251\" : tmp251 , f \"tmp252\" : tmp252 , f \"tmp256\" : tmp256 , f \"tmp257\" : tmp257 , f \"tmp260\" : tmp260 , f \"tmp263\" : tmp263 , f \"tmp265\" : tmp265 , f \"tmp267\" : tmp267 , f \"tmp269\" : tmp269 , f \"tmp271\" : tmp271 , f \"tmp273\" : tmp273 , f \"tmp275\" : tmp275 , f \"tmp277\" : tmp277 , f \"tmp279\" : tmp279 , f \"tmp281\" : tmp281 , f \"tmp282\" : tmp282 , f \"tmp283\" : tmp283 , f \"tmp284\" : tmp284 , f \"tmp285\" : tmp285 , f \"tmp286\" : tmp286 , f \"tmp293\" : tmp293 , f \"tmp295\" : tmp295 , f \"tmp297\" : tmp297 , f \"tmp299\" : tmp299 , f \"tmp302\" : tmp302 , f \"tmp304\" : tmp304 , f \"tmp306\" : tmp306 , f \"tmp308\" : tmp308 , f \"tmp313\" : tmp313 , f \"tmp314\" : tmp314 , f \"tmp315\" : tmp315 , f \"tmp319\" : tmp319 , f \"tmp320\" : tmp320 , f \"tmp321\" : tmp321 , f \"tmp327\" : tmp327 , f \"tmp328\" : tmp328 , f \"tmp329\" : tmp329 , f \"tmp331\" : tmp331 , f \"tmp337\" : tmp337 , f \"tmp338\" : tmp338 , f \"tmp339\" : tmp339 , f \"tmp343\" : tmp343 , f \"tmp344\" : tmp344 , f \"tmp345\" : tmp345 , f \"tmp349\" : tmp349 , f \"tmp351\" : tmp351 , f \"tmp366\" : tmp366 , f \"tmp369\" : tmp369 , f \"tmp377\" : tmp377 , f \"tmp378\" : tmp378 , f \"tmp379\" : tmp379 , f \"tmp39\" : tmp39 , f \"tmp394\" : tmp394 , f \"tmp395\" : tmp395 , f \"tmp396\" : tmp396 , f \"tmp399\" : tmp399 , f \"tmp4\" : tmp4 , f \"tmp401\" : tmp401 , f \"tmp402\" : tmp402 , f \"tmp403\" : tmp403 , f \"tmp404\" : tmp404 , f \"tmp405\" : tmp405 , f \"tmp407\" : tmp407 , f \"tmp408\" : tmp408 , f \"tmp409\" : tmp409 , f \"tmp411\" : tmp411 , f \"tmp412\" : tmp412 , f \"tmp416\" : tmp416 , f \"tmp417\" : tmp417 , f \"tmp418\" : tmp418 , f \"tmp42\" : tmp42 , f \"tmp420\" : tmp420 , f \"tmp421\" : tmp421 , f \"tmp422\" : tmp422 , f \"tmp427\" : tmp427 , f \"tmp428\" : tmp428 , f \"tmp429\" : tmp429 , f \"tmp43\" : tmp43 , f \"tmp432\" : tmp432 , f \"tmp433\" : tmp433 , f \"tmp437\" : tmp437 , f \"tmp439\" : tmp439 , f \"tmp44\" : tmp44 , f \"tmp443\" : tmp443 , f \"tmp444\" : tmp444 , f \"tmp445\" : tmp445 , f \"tmp446\" : tmp446 , f \"tmp45\" : tmp45 , f \"tmp457\" : tmp457 , f \"tmp458\" : tmp458 , f \"tmp459\" : tmp459 , f \"tmp46\" : tmp46 , f \"tmp460\" : tmp460 , f \"tmp461\" : tmp461 , f \"tmp463\" : tmp463 , f \"tmp465\" : tmp465 , f \"tmp467\" : tmp467 , f \"tmp469\" : tmp469 , f \"tmp47\" : tmp47 , f \"tmp471\" : tmp471 , f \"tmp473\" : tmp473 , f \"tmp474\" : tmp474 , f \"tmp475\" : tmp475 , f \"tmp476\" : tmp476 , f \"tmp477\" : tmp477 , f \"tmp478\" : tmp478 , f \"tmp479\" : tmp479 , f \"tmp48\" : tmp48 , f \"tmp484\" : tmp484 , f \"tmp490\" : tmp490 , f \"tmp491\" : tmp491 , f \"tmp494\" : tmp494 , f \"tmp495\" : tmp495 , f \"tmp497\" : tmp497 , f \"tmp498\" : tmp498 , f \"tmp499\" : tmp499 , f \"tmp5\" : tmp5 , f \"tmp50\" : tmp50 , f \"tmp500\" : tmp500 , f \"tmp502\" : tmp502 , f \"tmp503\" : tmp503 , f \"tmp506\" : tmp506 , f \"tmp507\" : tmp507 , f \"tmp509\" : tmp509 , f \"tmp511\" : tmp511 , f \"tmp513\" : tmp513 , f \"tmp515\" : tmp515 , f \"tmp516\" : tmp516 , f \"tmp518\" : tmp518 , f \"tmp519\" : tmp519 , f \"tmp52\" : tmp52 , f \"tmp521\" : tmp521 , f \"tmp523\" : tmp523 , f \"tmp525\" : tmp525 , f \"tmp526\" : tmp526 , f \"tmp527\" : tmp527 , f \"tmp532\" : tmp532 , f \"tmp534\" : tmp534 , f \"tmp536\" : tmp536 , f \"tmp539\" : tmp539 , f \"tmp54\" : tmp54 , f \"tmp551\" : tmp551 , f \"tmp553\" : tmp553 , f \"tmp555\" : tmp555 , f \"tmp56\" : tmp56 , f \"tmp566\" : tmp566 , f \"tmp57\" : tmp57 , f \"tmp577\" : tmp577 , f \"tmp58\" : tmp58 , f \"tmp6\" : tmp6 , f \"tmp609\" : tmp609 , f \"tmp611\" : tmp611 , f \"tmp613\" : tmp613 , f \"tmp620\" : tmp620 , f \"tmp622\" : tmp622 , f \"tmp626\" : tmp626 , f \"tmp631\" : tmp631 , f \"tmp633\" : tmp633 , f \"tmp651\" : tmp651 , f \"tmp653\" : tmp653 , f \"tmp655\" : tmp655 , f \"tmp66\" : tmp66 , f \"tmp669\" : tmp669 , f \"tmp67\" : tmp67 , f \"tmp671\" : tmp671 , f \"tmp673\" : tmp673 , f \"tmp675\" : tmp675 , f \"tmp678\" : tmp678 , f \"tmp68\" : tmp68 , f \"tmp680\" : tmp680 , f \"tmp682\" : tmp682 , f \"tmp79\" : tmp79 , f \"tmp81\" : tmp81 , f \"tmp89\" : tmp89 , f \"tmp92\" : tmp92 , f \"tmp93\" : tmp93 , f \"tmp94\" : tmp94 , f \"tmp95\" : tmp95 , f \"tmp96\" : tmp96 , f \"tmp97\" : tmp97 , f \"tmp98\" : tmp98 } ebcc . codegen . UCCSD . 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-12T22:00:12.834848. 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. Source code in ebcc/codegen/UCCSD.py 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 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-12T22:00:12.834848. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp246 = einsum ( r1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp8 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp203 = einsum ( r1 . bb , ( 0 , 1 ), ints . tmp98 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp204 = einsum ( r1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp82 = einsum ( r1 . aa , ( 0 , 1 ), ints . tmp48 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp83 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp4 = einsum ( r1 . bb , ( 0 , 1 ), v . aabb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp50 = einsum ( r1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp239 = np . copy ( v . bbbb . ovvv ) tmp239 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 tmp247 = np . copy ( tmp8 ) tmp247 += tmp246 del tmp246 tmp185 = np . copy ( ints . tmp95 ) tmp185 += ints . tmp467 * 2 tmp230 = np . copy ( f . bb . ov ) tmp230 += ints . tmp15 tmp230 += ints . tmp18 tmp205 = np . copy ( tmp203 ) del tmp203 tmp205 += np . transpose ( tmp204 , ( 0 , 2 , 3 , 1 )) del tmp204 tmp201 = np . copy ( ints . tmp469 ) tmp201 += ints . tmp473 * 0.5 tmp201 += np . transpose ( ints . tmp96 , ( 0 , 1 , 3 , 2 )) * 0.5 tmp108 = np . copy ( ints . tmp45 ) tmp108 += ints . tmp269 * 2 tmp62 = np . copy ( f . aa . ov ) tmp62 += ints . tmp12 tmp62 += ints . tmp16 tmp80 = np . copy ( ints . tmp271 ) tmp80 += ints . tmp277 * 0.5 tmp80 += np . transpose ( ints . tmp46 , ( 0 , 1 , 3 , 2 )) * 0.5 tmp84 = np . copy ( tmp82 ) del tmp82 tmp84 += np . transpose ( tmp83 , ( 0 , 2 , 3 , 1 )) del tmp83 tmp51 = np . copy ( tmp50 ) del tmp50 tmp51 += tmp4 tmp39 = np . copy ( v . aaaa . ovvv ) * - 1 tmp39 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 3 , 1 )) tmp165 = einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp164 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp163 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp240 = einsum ( tmp239 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 0 , 2 ), ( 1 , 3 )) del tmp239 tmp248 = einsum ( tmp247 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) * - 1 del tmp247 tmp245 = einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp184 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), r2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp186 = einsum ( tmp185 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) del tmp185 tmp182 = einsum ( ints . tmp100 , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 0 , 4 , 3 , 5 ), ( 1 , 2 , 4 , 5 )) tmp183 = einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), ints . tmp98 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) tmp229 = einsum ( ints . tmp98 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 1 , 3 ), ( 0 , 2 )) tmp228 = einsum ( ints . tmp100 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 0 , 3 ), ( 1 , 2 )) tmp29 = einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp28 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp231 = einsum ( tmp230 , ( 0 , 1 ), r1 . bb , ( 2 , 1 ), ( 0 , 2 )) * 0.5 del tmp230 tmp199 = einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), ints . tmp98 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp198 = einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 5 , 3 )) tmp206 = einsum ( tmp205 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp205 tmp202 = einsum ( tmp201 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) * 2 del tmp201 tmp200 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), r2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp266 = np . copy ( f . bb . ov ) tmp266 += ints . tmp15 tmp266 += ints . tmp18 tmp263 = einsum ( r1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp258 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp259 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp254 = einsum ( r1 . bb , ( 0 , 1 ), ints . tmp14 , ( 2 , 1 ), ( 2 , 0 )) tmp255 = einsum ( ints . tmp98 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp5 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp5 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp9 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp9 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp109 = einsum ( tmp108 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) del tmp108 tmp106 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), r2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp107 = einsum ( ints . tmp50 , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp105 = einsum ( ints . tmp48 , ( 0 , 1 , 2 , 3 ), r2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp125 = einsum ( r1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp128 = np . copy ( f . aa . ov ) tmp128 += ints . tmp12 tmp128 += ints . tmp16 tmp61 = einsum ( r1 . bb , ( 0 , 1 ), ints . tmp50 , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp15 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), r2 . aaaa , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp16 = einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp60 = einsum ( ints . tmp48 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 1 , 3 ), ( 0 , 2 )) tmp63 = einsum ( tmp62 , ( 0 , 1 ), r1 . aa , ( 2 , 1 ), ( 2 , 0 )) del tmp62 tmp119 = einsum ( r1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp120 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp116 = einsum ( r1 . aa , ( 0 , 1 ), ints . tmp48 , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp115 = einsum ( r1 . aa , ( 0 , 1 ), ints . tmp10 , ( 2 , 1 ), ( 2 , 0 )) tmp81 = einsum ( tmp80 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) * 2 del tmp80 tmp85 = einsum ( tmp84 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp84 tmp79 = einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp78 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), r2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp77 = einsum ( ints . tmp48 , ( 0 , 1 , 2 , 3 ), r2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp43 = einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp44 = einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp52 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp51 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) * - 1 del tmp51 tmp49 = einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp40 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 0 , 1 ), ( 2 , 3 )) del tmp39 tmp38 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp221 = np . copy ( ints . tmp551 ) tmp221 += ints . tmp678 tmp221 += ints . tmp682 * - 1 tmp219 = np . copy ( ints . tmp79 ) * 2 tmp219 += ints . tmp81 tmp219 += np . transpose ( ints . tmp93 , ( 1 , 0 )) tmp243 = np . copy ( tmp164 ) * 0.5 tmp243 += tmp165 tmp237 = einsum ( ints . tmp14 , ( 0 , 1 ), r2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp241 = np . copy ( np . transpose ( tmp163 , ( 1 , 0 ))) tmp241 += tmp240 * - 1 del tmp240 tmp249 = np . copy ( np . transpose ( tmp245 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp245 tmp249 += np . transpose ( tmp248 , ( 2 , 1 , 0 , 3 )) * - 1 del tmp248 tmp216 = np . copy ( ints . tmp539 ) tmp216 += np . transpose ( ints . tmp553 , ( 2 , 0 , 1 , 3 )) tmp216 += np . transpose ( ints . tmp555 , ( 2 , 0 , 1 , 3 )) tmp214 = np . copy ( f . bb . vv ) tmp214 += np . transpose ( ints . tmp92 , ( 1 , 0 )) tmp214 += np . transpose ( ints . tmp94 , ( 1 , 0 )) tmp180 = np . copy ( ints . tmp536 ) tmp180 += ints . tmp532 * 2 tmp176 = np . copy ( ints . tmp473 ) tmp176 += np . transpose ( ints . tmp96 , ( 0 , 1 , 3 , 2 )) tmp176 += ints . tmp469 * 2 tmp174 = np . copy ( ints . tmp465 ) tmp174 += ints . tmp97 tmp174 += ints . tmp471 * 2 tmp172 = einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp187 = np . copy ( tmp182 ) del tmp182 tmp187 += tmp183 * 2 del tmp183 tmp187 += np . transpose ( tmp184 , ( 0 , 2 , 1 , 3 )) * 2 del tmp184 tmp187 += tmp186 del tmp186 tmp178 = np . copy ( ints . tmp613 ) tmp178 += np . transpose ( ints . tmp633 , ( 0 , 2 , 1 , 3 )) tmp178 += ints . tmp671 tmp178 += ints . tmp98 tmp178 += ints . tmp609 * 2 tmp178 += ints . tmp651 * 2 tmp232 = np . copy ( tmp228 ) * 0.5 del tmp228 tmp232 += tmp229 * 0.5 del tmp229 tmp232 += tmp28 * 0.5 tmp232 += tmp29 tmp232 += np . transpose ( tmp231 , ( 1 , 0 )) del tmp231 tmp226 = np . copy ( f . bb . oo ) tmp226 += np . transpose ( ints . tmp102 , ( 1 , 0 )) * 2 tmp226 += np . transpose ( ints . tmp104 , ( 1 , 0 )) tmp226 += np . transpose ( ints . tmp107 , ( 1 , 0 )) tmp226 += np . transpose ( ints . tmp108 , ( 1 , 0 )) tmp226 += np . transpose ( ints . tmp67 , ( 1 , 0 )) tmp226 += np . transpose ( ints . tmp68 , ( 1 , 0 )) tmp226 += ints . tmp89 tmp234 = np . copy ( ints . tmp577 ) tmp234 += ints . tmp626 * - 1 tmp224 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 1 , 3 ), ( 0 , 2 )) tmp196 = np . copy ( ints . tmp467 ) * 2 tmp196 += ints . tmp95 tmp209 = np . copy ( ints . tmp566 ) tmp209 += np . transpose ( ints . tmp611 , ( 0 , 2 , 1 , 3 )) * 2 tmp209 += np . transpose ( ints . tmp620 , ( 0 , 2 , 1 , 3 )) tmp209 += np . transpose ( ints . tmp631 , ( 0 , 2 , 1 , 3 )) tmp209 += np . transpose ( ints . tmp653 , ( 0 , 2 , 1 , 3 )) * 2 tmp209 += np . transpose ( ints . tmp655 , ( 0 , 2 , 1 , 3 )) tmp209 += np . transpose ( ints . tmp675 , ( 0 , 2 , 1 , 3 )) tmp211 = np . copy ( ints . tmp534 ) tmp211 += ints . tmp669 * 0.5 tmp194 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp207 = np . copy ( np . transpose ( tmp198 , ( 0 , 2 , 1 , 3 ))) del tmp198 tmp207 += tmp199 * 2 del tmp199 tmp207 += np . transpose ( tmp200 , ( 0 , 2 , 1 , 3 )) * 2 del tmp200 tmp207 += tmp202 del tmp202 tmp207 += tmp206 del tmp206 tmp267 = einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp266 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) * - 1 del tmp266 tmp264 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp263 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) del tmp263 tmp252 = np . copy ( ints . tmp106 ) tmp252 += ints . tmp66 tmp260 = np . copy ( np . transpose ( tmp258 , ( 1 , 0 ))) del tmp258 tmp260 += np . transpose ( tmp259 , ( 1 , 0 )) del tmp259 tmp256 = np . copy ( np . transpose ( tmp254 , ( 1 , 0 ))) del tmp254 tmp256 += tmp255 del tmp255 tmp6 = einsum ( r1 . aa , ( 0 , 1 ), tmp5 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp5 tmp10 = einsum ( r1 . bb , ( 0 , 1 ), tmp9 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp9 tmp143 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) r2new . abab = einsum ( tmp143 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp1 = np . copy ( ints . tmp50 ) tmp1 += v . aabb . ooov r1new . aa = einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 tmp24 = np . copy ( ints . tmp100 ) tmp24 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) r1new . bb = einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 tmp3 = np . copy ( f . bb . ov ) tmp3 += ints . tmp15 tmp3 += ints . tmp18 tmp3 += ints . tmp14 * - 1 r1new . bb += einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp3 , ( 1 , 3 ), ( 0 , 2 )) * 2 r1new . aa += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp3 , ( 1 , 3 ), ( 0 , 2 )) tmp30 = np . copy ( ints . tmp98 ) * - 1 tmp30 += np . transpose ( ints . tmp98 , ( 0 , 2 , 1 , 3 )) tmp30 += v . bbbb . ooov tmp30 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp17 = np . copy ( ints . tmp48 ) tmp17 += np . transpose ( ints . tmp48 , ( 0 , 2 , 1 , 3 )) * - 1 tmp17 += v . aaaa . ooov * - 1 tmp17 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) tmp2 = np . copy ( f . aa . ov ) tmp2 += ints . tmp12 tmp2 += ints . tmp16 tmp2 += ints . tmp10 * - 1 r1new . bb += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 2 ), ( 1 , 3 )) r1new . aa += einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp2 , ( 1 , 3 ), ( 0 , 2 )) * 2 tmp132 = np . copy ( ints . tmp23 ) * 2 tmp132 += ints . tmp25 tmp132 += np . transpose ( ints . tmp43 , ( 1 , 0 )) tmp134 = np . copy ( ints . tmp302 ) tmp134 += ints . tmp306 * - 1 tmp99 = np . copy ( ints . tmp275 ) tmp99 += ints . tmp47 tmp99 += ints . tmp279 * 2 tmp103 = np . copy ( ints . tmp120 ) tmp103 += ints . tmp116 * 2 tmp94 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp97 = np . copy ( ints . tmp277 ) tmp97 += np . transpose ( ints . tmp46 , ( 0 , 1 , 3 , 2 )) tmp97 += ints . tmp271 * 2 tmp110 = np . copy ( tmp105 ) * 2 del tmp105 tmp110 += np . transpose ( tmp106 , ( 0 , 2 , 1 , 3 )) * 2 del tmp106 tmp110 += tmp107 del tmp107 tmp110 += np . transpose ( tmp109 , ( 1 , 2 , 0 , 3 )) del tmp109 tmp101 = np . copy ( ints . tmp211 ) tmp101 += np . transpose ( ints . tmp239 , ( 0 , 2 , 1 , 3 )) tmp101 += ints . tmp295 tmp101 += ints . tmp48 tmp101 += ints . tmp207 * 2 tmp101 += ints . tmp263 * 2 tmp126 = einsum ( tmp125 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) del tmp125 tmp129 = einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp128 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) * - 1 del tmp128 tmp64 = np . copy ( tmp60 ) del tmp60 tmp64 += tmp61 del tmp61 tmp64 += tmp15 * 2 tmp64 += tmp16 tmp64 += tmp63 del tmp63 tmp66 = np . copy ( ints . tmp169 ) tmp66 += ints . tmp230 * - 1 tmp58 = np . copy ( f . aa . oo ) tmp58 += ints . tmp39 tmp58 += np . transpose ( ints . tmp52 , ( 1 , 0 )) * 2 tmp58 += np . transpose ( ints . tmp54 , ( 1 , 0 )) tmp58 += np . transpose ( ints . tmp57 , ( 1 , 0 )) tmp58 += np . transpose ( ints . tmp58 , ( 1 , 0 )) tmp58 += np . transpose ( ints . tmp5 , ( 1 , 0 )) tmp58 += np . transpose ( ints . tmp6 , ( 1 , 0 )) tmp56 = einsum ( r1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp113 = np . copy ( ints . tmp4 ) tmp113 += ints . tmp56 tmp121 = np . copy ( np . transpose ( tmp119 , ( 1 , 0 ))) del tmp119 tmp121 += np . transpose ( tmp120 , ( 1 , 0 )) del tmp120 tmp117 = np . copy ( np . transpose ( tmp115 , ( 1 , 0 ))) del tmp115 tmp117 += tmp116 del tmp116 tmp88 = np . copy ( ints . tmp156 ) tmp88 += np . transpose ( ints . tmp209 , ( 0 , 2 , 1 , 3 )) * 2 tmp88 += np . transpose ( ints . tmp222 , ( 0 , 2 , 1 , 3 )) tmp88 += np . transpose ( ints . tmp237 , ( 0 , 2 , 1 , 3 )) tmp88 += np . transpose ( ints . tmp265 , ( 0 , 2 , 1 , 3 )) * 2 tmp88 += np . transpose ( ints . tmp267 , ( 0 , 2 , 1 , 3 )) tmp88 += np . transpose ( ints . tmp299 , ( 0 , 2 , 1 , 3 )) tmp75 = np . copy ( ints . tmp269 ) * 2 tmp75 += ints . tmp45 tmp86 = np . copy ( tmp77 ) * 2 del tmp77 tmp86 += np . transpose ( tmp78 , ( 0 , 2 , 1 , 3 )) * 2 del tmp78 tmp86 += np . transpose ( tmp79 , ( 0 , 2 , 1 , 3 )) del tmp79 tmp86 += np . transpose ( tmp81 , ( 1 , 2 , 0 , 3 )) del tmp81 tmp86 += tmp85 del tmp85 tmp90 = np . copy ( ints . tmp118 ) tmp90 += ints . tmp293 * 0.5 tmp72 = einsum ( r1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp45 = np . copy ( tmp43 ) * 2 tmp45 += tmp44 tmp36 = einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), ints . tmp10 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp53 = np . copy ( np . transpose ( tmp49 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp49 tmp53 += np . transpose ( tmp52 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp52 tmp41 = np . copy ( np . transpose ( tmp38 , ( 1 , 0 ))) tmp41 += np . transpose ( tmp40 , ( 1 , 0 )) * - 1 del tmp40 tmp47 = np . copy ( ints . tmp123 ) tmp47 += np . transpose ( ints . tmp142 , ( 2 , 0 , 1 , 3 )) tmp47 += np . transpose ( ints . tmp144 , ( 2 , 0 , 1 , 3 )) tmp222 = einsum ( tmp221 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * 2 del tmp221 tmp220 = einsum ( tmp219 , ( 0 , 1 ), r2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 2 del tmp219 tmp244 = einsum ( tmp243 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 4 del tmp243 tmp238 = einsum ( tmp237 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp237 tmp242 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp241 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * - 2 del tmp241 tmp250 = einsum ( t1 . bb , ( 0 , 1 ), tmp249 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * 2 del tmp249 tmp217 = einsum ( tmp216 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp216 tmp215 = einsum ( tmp214 , ( 0 , 1 ), r2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp214 tmp181 = einsum ( tmp180 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) del tmp180 tmp177 = einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp176 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp176 tmp175 = einsum ( tmp174 , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp174 tmp173 = einsum ( t1 . bb , ( 0 , 1 ), tmp172 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp172 tmp188 = einsum ( t1 . bb , ( 0 , 1 ), tmp187 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp187 tmp179 = einsum ( tmp178 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp178 tmp170 = einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp171 = einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp233 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp232 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 4 del tmp232 tmp227 = einsum ( tmp226 , ( 0 , 1 ), r2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 2 del tmp226 tmp235 = einsum ( r1 . bb , ( 0 , 1 ), tmp234 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) * 2 del tmp234 tmp225 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp224 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) del tmp224 tmp191 = einsum ( r1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp192 = einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), ints . tmp463 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) tmp197 = einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp196 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp196 tmp193 = einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp210 = einsum ( r1 . bb , ( 0 , 1 ), tmp209 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp209 tmp212 = einsum ( tmp211 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 4 , 2 ), ( 0 , 4 , 1 , 3 )) * 2 del tmp211 tmp195 = einsum ( tmp194 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp194 tmp208 = einsum ( tmp207 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp207 tmp190 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) tmp268 = einsum ( tmp267 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) del tmp267 tmp265 = einsum ( tmp264 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp264 tmp253 = einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp252 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 1 del tmp252 tmp261 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp260 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) * - 1 del tmp260 tmp257 = einsum ( tmp256 , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 del tmp256 tmp7 = np . copy ( tmp4 ) del tmp4 tmp7 += tmp6 * - 1 del tmp6 r1new . bb += einsum ( tmp7 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) r1new . aa += einsum ( tmp7 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 2 tmp157 = np . copy ( ints . tmp465 ) tmp157 += ints . tmp471 * 2 tmp157 += ints . tmp97 tmp157 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp157 += ints . tmp463 * - 1 tmp148 = np . copy ( ints . tmp515 ) tmp148 += v . aabb . oovv tmp148 += ints . tmp491 * - 1 r2new . abab += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp148 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) * - 1 tmp11 = np . copy ( tmp8 ) del tmp8 tmp11 += tmp10 * - 1 del tmp10 r1new . bb += einsum ( tmp11 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 2 r1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp11 , ( 1 , 3 ), ( 0 , 2 )) tmp154 = np . copy ( ints . tmp275 ) tmp154 += ints . tmp279 * 2 tmp154 += ints . tmp47 tmp154 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp154 += ints . tmp273 * - 1 tmp153 = np . copy ( ints . tmp98 ) tmp153 += np . transpose ( ints . tmp98 , ( 0 , 2 , 1 , 3 )) * - 1 tmp153 += v . bbbb . ooov * - 1 tmp153 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) tmp155 = np . copy ( np . transpose ( tmp143 , ( 1 , 0 , 2 , 3 ))) del tmp143 tmp155 += einsum ( r1 . aa , ( 0 , 1 ), tmp24 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp155 += einsum ( r1 . bb , ( 0 , 1 ), tmp1 , ( 2 , 3 , 4 , 1 ), ( 3 , 2 , 0 , 4 )) tmp149 = np . copy ( ints . tmp498 ) tmp149 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) tmp149 += ints . tmp495 * - 1 r2new . abab += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp149 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) * - 1 tmp33 = einsum ( r1 . bb , ( 0 , 1 ), tmp3 , ( 2 , 1 ), ( 0 , 2 )) tmp31 = einsum ( r1 . bb , ( 0 , 1 ), tmp30 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp30 tmp32 = einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 0 , 3 ), ( 1 , 2 )) tmp166 = np . copy ( v . bbbb . ovvv ) * - 1 tmp166 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) tmp18 = einsum ( r1 . aa , ( 0 , 1 ), tmp17 , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp19 = einsum ( r1 . bb , ( 0 , 1 ), tmp1 , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp20 = einsum ( tmp2 , ( 0 , 1 ), r1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp161 = np . copy ( v . aaaa . ovvv ) * - 1 tmp161 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) tmp137 = np . copy ( f . aa . vv ) tmp137 += np . transpose ( ints . tmp42 , ( 1 , 0 )) tmp137 += np . transpose ( ints . tmp44 , ( 1 , 0 )) tmp133 = einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp132 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp132 tmp135 = einsum ( r1 . aa , ( 0 , 1 ), tmp134 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp134 tmp100 = einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp99 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp99 tmp104 = einsum ( r1 . aa , ( 0 , 1 ), tmp103 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) del tmp103 tmp95 = einsum ( t1 . aa , ( 0 , 1 ), tmp94 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp94 tmp98 = einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp97 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp97 tmp96 = einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp111 = einsum ( t1 . aa , ( 0 , 1 ), tmp110 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp110 tmp102 = einsum ( tmp101 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp101 tmp93 = einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp124 = einsum ( r1 . aa , ( 0 , 1 ), ints . tmp140 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp127 = einsum ( tmp126 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp126 tmp130 = einsum ( tmp129 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 1 , 0 , 4 , 3 )) del tmp129 tmp65 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp64 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 2 del tmp64 tmp67 = einsum ( tmp66 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) * 2 del tmp66 tmp59 = einsum ( tmp58 , ( 0 , 1 ), r2 . aaaa , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 2 del tmp58 tmp57 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp56 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) del tmp56 tmp114 = einsum ( tmp113 , ( 0 , 1 ), r2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 1 del tmp113 tmp122 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp121 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp121 tmp118 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp117 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp117 tmp70 = einsum ( r1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp69 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) tmp89 = einsum ( r1 . aa , ( 0 , 1 ), tmp88 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp88 tmp74 = einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), ints . tmp273 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp76 = einsum ( tmp75 , ( 0 , 1 , 2 , 3 ), r2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp75 tmp87 = einsum ( tmp86 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp86 tmp71 = einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp91 = einsum ( tmp90 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) * 2 del tmp90 tmp73 = einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp72 tmp46 = einsum ( tmp45 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 2 del tmp45 tmp37 = einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp36 tmp54 = einsum ( tmp53 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * 2 del tmp53 tmp42 = einsum ( tmp41 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp41 tmp48 = einsum ( r1 . aa , ( 0 , 1 ), tmp47 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp47 tmp223 = np . copy ( np . transpose ( tmp220 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp220 tmp223 += tmp222 * - 1 del tmp222 r2new . bbbb = np . copy ( np . transpose ( tmp223 , ( 1 , 0 , 3 , 2 ))) * - 1 r2new . bbbb += np . transpose ( tmp223 , ( 1 , 0 , 2 , 3 )) del tmp223 tmp271 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bbbb , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp251 = np . copy ( tmp238 ) * 2 del tmp238 tmp251 += np . transpose ( tmp242 , ( 1 , 0 , 3 , 2 )) del tmp242 tmp251 += np . transpose ( tmp244 , ( 1 , 0 , 2 , 3 )) del tmp244 tmp251 += np . transpose ( tmp250 , ( 1 , 0 , 3 , 2 )) del tmp250 r2new . bbbb += np . transpose ( tmp251 , ( 0 , 1 , 3 , 2 )) * - 1 r2new . bbbb += tmp251 del tmp251 tmp218 = np . copy ( np . transpose ( tmp215 , ( 1 , 0 , 2 , 3 ))) del tmp215 tmp218 += tmp217 del tmp217 r2new . bbbb += np . transpose ( tmp218 , ( 1 , 0 , 3 , 2 )) * - 2 r2new . bbbb += np . transpose ( tmp218 , ( 1 , 0 , 2 , 3 )) * 2 del tmp218 tmp189 = np . copy ( tmp170 ) del tmp170 tmp189 += tmp171 * 2 del tmp171 tmp189 += tmp173 del tmp173 tmp189 += tmp175 del tmp175 tmp189 += tmp177 * 2 del tmp177 tmp189 += tmp179 del tmp179 tmp189 += tmp181 del tmp181 tmp189 += tmp188 del tmp188 r2new . bbbb += np . transpose ( tmp189 , ( 1 , 0 , 3 , 2 )) r2new . bbbb += np . transpose ( tmp189 , ( 1 , 0 , 2 , 3 )) * - 1 r2new . bbbb += np . transpose ( tmp189 , ( 0 , 1 , 3 , 2 )) * - 1 r2new . bbbb += tmp189 del tmp189 tmp236 = np . copy ( np . transpose ( tmp225 , ( 0 , 1 , 3 , 2 ))) * - 2 del tmp225 tmp236 += np . transpose ( tmp227 , ( 0 , 1 , 3 , 2 )) del tmp227 tmp236 += np . transpose ( tmp233 , ( 0 , 1 , 3 , 2 )) del tmp233 tmp236 += np . transpose ( tmp235 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp235 r2new . bbbb += np . transpose ( tmp236 , ( 1 , 0 , 2 , 3 )) * - 1 r2new . bbbb += tmp236 del tmp236 tmp272 = np . copy ( t2 . bbbb ) tmp272 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) r2new . bbbb += einsum ( tmp271 , ( 0 , 1 , 2 , 3 ), tmp272 , ( 2 , 3 , 4 , 5 ), ( 1 , 0 , 5 , 4 )) * 2 del tmp271 , tmp272 tmp169 = np . copy ( ints . tmp331 ) tmp169 += ints . tmp337 * 2 tmp169 += ints . tmp338 tmp169 += ints . tmp344 tmp169 += ints . tmp345 tmp169 += ints . tmp401 * 2 tmp169 += ints . tmp408 tmp169 += ints . tmp411 tmp169 += ints . tmp416 * 2 tmp169 += ints . tmp417 tmp169 += ints . tmp420 * 2 tmp169 += ints . tmp421 tmp169 += ints . tmp428 tmp169 += ints . tmp429 tmp169 += ints . tmp443 tmp169 += ints . tmp474 tmp169 += ints . tmp476 * 2 tmp169 += f . bb . ov * - 1 tmp169 += ints . tmp15 * - 1 tmp169 += ints . tmp18 * - 1 tmp169 += ints . tmp343 * - 1 tmp169 += ints . tmp399 * - 1 tmp169 += ints . tmp402 * - 1 tmp169 += ints . tmp407 * - 1 tmp169 += ints . tmp409 * - 1 tmp169 += ints . tmp427 * - 1 tmp169 += ints . tmp457 * - 1 tmp169 += ints . tmp458 * - 2 tmp169 += ints . tmp475 * - 1 tmp169 += ints . tmp477 * - 2 tmp169 += ints . tmp478 * - 1 tmp169 += ints . tmp479 * - 2 r2new . bbbb += einsum ( r1 . bb , ( 0 , 1 ), tmp169 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) r2new . bbbb += einsum ( tmp169 , ( 0 , 1 ), r1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) r2new . bbbb += einsum ( r1 . bb , ( 0 , 1 ), tmp169 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 r2new . bbbb += einsum ( r1 . bb , ( 0 , 1 ), tmp169 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 r2new . abab += einsum ( tmp169 , ( 0 , 1 ), r1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 del tmp169 tmp270 = np . copy ( ints . tmp673 ) tmp270 += ints . tmp680 tmp270 += np . transpose ( v . bbbb . oooo , ( 0 , 2 , 1 , 3 )) tmp270 += ints . tmp622 * - 1 tmp270 += np . transpose ( ints . tmp622 , ( 1 , 0 , 2 , 3 )) r2new . bbbb += einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp270 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) * 2 del tmp270 tmp213 = np . copy ( tmp190 ) del tmp190 tmp213 += tmp191 del tmp191 tmp213 += tmp192 del tmp192 tmp213 += tmp193 * 2 del tmp193 tmp213 += tmp195 del tmp195 tmp213 += tmp197 del tmp197 tmp213 += tmp208 del tmp208 tmp213 += tmp210 del tmp210 tmp213 += tmp212 del tmp212 r2new . bbbb += np . transpose ( tmp213 , ( 1 , 0 , 3 , 2 )) * - 1 r2new . bbbb += np . transpose ( tmp213 , ( 1 , 0 , 2 , 3 )) r2new . bbbb += np . transpose ( tmp213 , ( 0 , 1 , 3 , 2 )) r2new . bbbb += tmp213 * - 1 del tmp213 tmp269 = np . copy ( tmp265 ) del tmp265 tmp269 += np . transpose ( tmp268 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp268 r2new . bbbb += np . transpose ( tmp269 , ( 0 , 1 , 3 , 2 )) * 2 r2new . bbbb += tmp269 * - 2 del tmp269 tmp262 = np . copy ( np . transpose ( tmp253 , ( 0 , 1 , 3 , 2 ))) del tmp253 tmp262 += np . transpose ( tmp257 , ( 0 , 1 , 3 , 2 )) del tmp257 tmp262 += np . transpose ( tmp261 , ( 1 , 0 , 3 , 2 )) del tmp261 r2new . bbbb += np . transpose ( tmp262 , ( 1 , 0 , 2 , 3 )) * 2 r2new . bbbb += tmp262 * - 2 del tmp262 tmp27 = np . copy ( np . transpose ( ints . tmp79 , ( 1 , 0 ))) * 2 tmp27 += np . transpose ( ints . tmp81 , ( 1 , 0 )) tmp27 += ints . tmp93 tmp27 += f . bb . vv * - 1 tmp27 += np . transpose ( ints . tmp92 , ( 1 , 0 )) * - 1 tmp27 += np . transpose ( ints . tmp94 , ( 1 , 0 )) * - 1 r2new . abab += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 1 r1new . bb += einsum ( tmp27 , ( 0 , 1 ), r1 . bb , ( 2 , 0 ), ( 2 , 1 )) * - 1 del tmp27 tmp168 = np . copy ( f . bb . oo ) tmp168 += np . transpose ( ints . tmp102 , ( 1 , 0 )) * 2 tmp168 += np . transpose ( ints . tmp104 , ( 1 , 0 )) tmp168 += np . transpose ( ints . tmp107 , ( 1 , 0 )) tmp168 += np . transpose ( ints . tmp108 , ( 1 , 0 )) tmp168 += np . transpose ( ints . tmp67 , ( 1 , 0 )) tmp168 += np . transpose ( ints . tmp68 , ( 1 , 0 )) tmp168 += ints . tmp89 tmp168 += np . transpose ( ints . tmp106 , ( 1 , 0 )) * - 1 tmp168 += np . transpose ( ints . tmp66 , ( 1 , 0 )) * - 1 r2new . abab += einsum ( tmp168 , ( 0 , 1 ), r2 . abab , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 del tmp168 tmp158 = einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) * 0.5 tmp158 += einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 2 , 4 , 3 , 5 ), ( 1 , 0 , 4 , 5 )) * - 0.5 del tmp17 tmp158 += einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 4 , 2 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) * - 0.5 tmp158 += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 1 , 0 , 4 , 5 )) tmp158 += einsum ( r1 . aa , ( 0 , 1 ), tmp157 , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) * 0.5 del tmp157 tmp158 += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) * 0.5 del tmp2 tmp158 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp7 , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) * 0.5 del tmp7 tmp158 += einsum ( tmp148 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 4 , 3 ), ( 1 , 0 , 4 , 2 )) * 0.5 del tmp148 r2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp158 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp158 tmp145 = np . copy ( ints . tmp469 ) * 2 tmp145 += ints . tmp473 tmp145 += np . transpose ( ints . tmp96 , ( 0 , 1 , 3 , 2 )) tmp145 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp145 += ints . tmp467 * - 2 tmp145 += ints . tmp95 * - 1 tmp145 += v . bbbb . oovv * - 1 r2new . abab += einsum ( tmp145 , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp145 tmp156 = einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) tmp156 += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp153 , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) * - 1 del tmp153 tmp156 += einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp24 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * 2 del tmp24 tmp156 += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) * - 1 del tmp1 tmp156 += einsum ( r1 . bb , ( 0 , 1 ), tmp154 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) del tmp154 tmp156 += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp3 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) del tmp3 tmp156 += einsum ( tmp11 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) del tmp11 tmp156 += einsum ( tmp149 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) del tmp149 tmp156 += einsum ( t1 . aa , ( 0 , 1 ), tmp155 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp155 r2new . abab += einsum ( tmp156 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 1 del tmp156 tmp142 = np . copy ( ints . tmp153 ) tmp142 += ints . tmp167 * 2 tmp142 += ints . tmp168 tmp142 += ints . tmp180 tmp142 += ints . tmp181 tmp142 += ints . tmp205 * 2 tmp142 += ints . tmp214 tmp142 += ints . tmp221 tmp142 += ints . tmp228 * 2 tmp142 += ints . tmp229 tmp142 += ints . tmp235 * 2 tmp142 += ints . tmp236 tmp142 += ints . tmp251 tmp142 += ints . tmp252 tmp142 += ints . tmp260 tmp142 += ints . tmp281 * 2 tmp142 += ints . tmp283 tmp142 += f . aa . ov * - 1 tmp142 += ints . tmp12 * - 1 tmp142 += ints . tmp16 * - 1 tmp142 += ints . tmp179 * - 1 tmp142 += ints . tmp199 * - 1 tmp142 += ints . tmp206 * - 1 tmp142 += ints . tmp213 * - 1 tmp142 += ints . tmp215 * - 1 tmp142 += ints . tmp250 * - 1 tmp142 += ints . tmp256 * - 2 tmp142 += ints . tmp257 * - 1 tmp142 += ints . tmp282 * - 2 tmp142 += ints . tmp284 * - 1 tmp142 += ints . tmp285 * - 2 tmp142 += ints . tmp286 * - 1 r2new . abab += einsum ( r1 . bb , ( 0 , 1 ), tmp142 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 r2new . aaaa = einsum ( r1 . aa , ( 0 , 1 ), tmp142 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) r2new . aaaa += einsum ( tmp142 , ( 0 , 1 ), r1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) r2new . aaaa += einsum ( tmp142 , ( 0 , 1 ), r1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 r2new . aaaa += einsum ( r1 . aa , ( 0 , 1 ), tmp142 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 del tmp142 tmp152 = np . copy ( ints . tmp327 ) tmp152 += ints . tmp329 * 2 tmp152 += ints . tmp351 tmp152 += ints . tmp437 tmp152 += ints . tmp497 tmp152 += v . aabb . ovvv tmp152 += np . transpose ( ints . tmp328 , ( 0 , 1 , 3 , 2 )) * - 1 tmp152 += ints . tmp525 * - 1 r2new . abab += einsum ( tmp152 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) del tmp152 tmp146 = np . copy ( ints . tmp465 ) * 0.5 tmp146 += ints . tmp471 tmp146 += ints . tmp97 * 0.5 tmp146 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) * 0.5 tmp146 += ints . tmp463 * - 0.5 r2new . abab += einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp146 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * 4 del tmp146 tmp14 = np . copy ( np . transpose ( ints . tmp23 , ( 1 , 0 ))) * 2 tmp14 += np . transpose ( ints . tmp25 , ( 1 , 0 )) tmp14 += ints . tmp43 tmp14 += f . aa . vv * - 1 tmp14 += np . transpose ( ints . tmp42 , ( 1 , 0 )) * - 1 tmp14 += np . transpose ( ints . tmp44 , ( 1 , 0 )) * - 1 r2new . abab += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 r1new . aa += einsum ( tmp14 , ( 0 , 1 ), r1 . aa , ( 2 , 0 ), ( 2 , 1 )) * - 1 del tmp14 tmp34 = np . copy ( np . transpose ( tmp28 , ( 1 , 0 ))) del tmp28 tmp34 += np . transpose ( tmp29 , ( 1 , 0 )) * 2 del tmp29 tmp34 += np . transpose ( tmp31 , ( 1 , 0 )) * - 1 del tmp31 tmp34 += np . transpose ( tmp32 , ( 1 , 0 )) del tmp32 tmp34 += np . transpose ( tmp33 , ( 1 , 0 )) del tmp33 r2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp34 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 r1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp34 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp34 tmp167 = np . copy ( np . transpose ( tmp163 , ( 1 , 0 ))) * - 0.5 del tmp163 tmp167 += np . transpose ( tmp164 , ( 1 , 0 )) * 0.5 del tmp164 tmp167 += np . transpose ( tmp165 , ( 1 , 0 )) del tmp165 tmp167 += einsum ( tmp166 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 0 , 2 ), ( 1 , 3 )) * - 0.5 del tmp166 r2new . abab += einsum ( tmp167 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp167 tmp144 = np . copy ( ints . tmp271 ) * 2 tmp144 += ints . tmp277 tmp144 += np . transpose ( ints . tmp46 , ( 0 , 1 , 3 , 2 )) tmp144 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp144 += ints . tmp269 * - 2 tmp144 += ints . tmp45 * - 1 tmp144 += v . aaaa . oovv * - 1 r2new . abab += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp144 , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) del tmp144 tmp150 = np . copy ( ints . tmp412 ) tmp150 += ints . tmp433 tmp150 += ints . tmp500 tmp150 += ints . tmp509 tmp150 += v . aabb . oooo r2new . abab += einsum ( tmp150 , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp150 tmp21 = np . copy ( np . transpose ( tmp15 , ( 1 , 0 ))) * 2 del tmp15 tmp21 += np . transpose ( tmp16 , ( 1 , 0 )) del tmp16 tmp21 += np . transpose ( tmp18 , ( 1 , 0 )) * - 1 del tmp18 tmp21 += np . transpose ( tmp19 , ( 1 , 0 )) del tmp19 tmp21 += np . transpose ( tmp20 , ( 1 , 0 )) del tmp20 r2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp21 , ( 0 , 4 ), ( 4 , 1 , 2 , 3 )) * - 1 r1new . aa += einsum ( t1 . aa , ( 0 , 1 ), tmp21 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp21 tmp147 = np . copy ( ints . tmp275 ) * 0.5 tmp147 += ints . tmp279 tmp147 += ints . tmp47 * 0.5 tmp147 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) * 0.5 tmp147 += ints . tmp273 * - 0.5 r2new . abab += einsum ( tmp147 , ( 0 , 1 , 2 , 3 ), r2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 4 del tmp147 tmp160 = np . copy ( ints . tmp308 ) tmp160 += np . transpose ( ints . tmp320 , ( 1 , 0 , 2 , 3 )) tmp160 += np . transpose ( ints . tmp321 , ( 1 , 0 , 2 , 3 )) tmp160 += np . transpose ( ints . tmp394 , ( 1 , 0 , 2 , 3 )) tmp160 += np . transpose ( ints . tmp396 , ( 1 , 0 , 2 , 3 )) * 2 tmp160 += np . transpose ( ints . tmp460 , ( 1 , 0 , 2 , 3 )) tmp160 += np . transpose ( ints . tmp461 , ( 1 , 0 , 2 , 3 )) * 2 tmp160 += np . transpose ( ints . tmp50 , ( 1 , 0 , 2 , 3 )) tmp160 += np . transpose ( ints . tmp518 , ( 1 , 0 , 2 , 3 )) tmp160 += np . transpose ( ints . tmp521 , ( 1 , 0 , 2 , 3 )) tmp160 += np . transpose ( ints . tmp526 , ( 1 , 0 , 2 , 3 )) tmp160 += v . aabb . ooov tmp160 += np . transpose ( ints . tmp319 , ( 1 , 0 , 2 , 3 )) * - 1 tmp160 += np . transpose ( ints . tmp349 , ( 1 , 0 , 2 , 3 )) * - 1 tmp160 += np . transpose ( ints . tmp395 , ( 1 , 0 , 2 , 3 )) * - 1 tmp160 += ints . tmp422 * - 1 tmp160 += np . transpose ( ints . tmp439 , ( 1 , 0 , 2 , 3 )) * - 1 tmp160 += np . transpose ( ints . tmp459 , ( 1 , 0 , 2 , 3 )) * - 1 tmp160 += np . transpose ( ints . tmp490 , ( 1 , 0 , 2 , 3 )) * - 1 tmp160 += np . transpose ( ints . tmp502 , ( 1 , 0 , 2 , 3 )) * - 1 tmp160 += np . transpose ( ints . tmp503 , ( 1 , 0 , 2 , 3 )) * - 1 tmp160 += np . transpose ( ints . tmp511 , ( 1 , 0 , 2 , 3 )) * - 1 r2new . abab += einsum ( r1 . aa , ( 0 , 1 ), tmp160 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp160 tmp162 = np . copy ( np . transpose ( tmp38 , ( 1 , 0 ))) * - 1 del tmp38 tmp162 += np . transpose ( tmp43 , ( 1 , 0 )) * 2 del tmp43 tmp162 += np . transpose ( tmp44 , ( 1 , 0 )) del tmp44 tmp162 += einsum ( tmp161 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 0 , 2 ), ( 1 , 3 )) * - 1 del tmp161 r2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp162 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 del tmp162 tmp159 = np . copy ( ints . tmp100 ) tmp159 += np . transpose ( ints . tmp366 , ( 0 , 2 , 1 , 3 )) tmp159 += ints . tmp378 tmp159 += ints . tmp379 tmp159 += ints . tmp403 tmp159 += ints . tmp405 * 2 tmp159 += ints . tmp432 tmp159 += ints . tmp445 tmp159 += ints . tmp446 * 2 tmp159 += ints . tmp499 tmp159 += ints . tmp507 tmp159 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp159 += ints . tmp377 * - 1 tmp159 += ints . tmp404 * - 1 tmp159 += ints . tmp444 * - 1 tmp159 += np . transpose ( ints . tmp484 , ( 0 , 2 , 1 , 3 )) * - 1 tmp159 += ints . tmp494 * - 1 tmp159 += ints . tmp513 * - 1 tmp159 += ints . tmp516 * - 1 tmp159 += ints . tmp519 * - 1 tmp159 += ints . tmp523 * - 1 tmp159 += ints . tmp527 * - 1 r2new . abab += einsum ( r1 . bb , ( 0 , 1 ), tmp159 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp159 tmp151 = np . copy ( ints . tmp313 ) tmp151 += ints . tmp315 * 2 tmp151 += ints . tmp339 tmp151 += ints . tmp418 tmp151 += ints . tmp506 tmp151 += np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 )) tmp151 += np . transpose ( ints . tmp314 , ( 0 , 2 , 1 , 3 )) * - 1 tmp151 += ints . tmp369 * - 1 r2new . abab += einsum ( tmp151 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) del tmp151 tmp22 = np . copy ( f . aa . oo ) tmp22 += ints . tmp39 tmp22 += np . transpose ( ints . tmp52 , ( 1 , 0 )) * 2 tmp22 += np . transpose ( ints . tmp54 , ( 1 , 0 )) tmp22 += np . transpose ( ints . tmp57 , ( 1 , 0 )) tmp22 += np . transpose ( ints . tmp58 , ( 1 , 0 )) tmp22 += np . transpose ( ints . tmp5 , ( 1 , 0 )) tmp22 += np . transpose ( ints . tmp6 , ( 1 , 0 )) tmp22 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * - 1 tmp22 += np . transpose ( ints . tmp56 , ( 1 , 0 )) * - 1 r2new . abab += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp22 , ( 0 , 4 ), ( 4 , 1 , 2 , 3 )) * - 1 r1new . aa += einsum ( r1 . aa , ( 0 , 1 ), tmp22 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp22 tmp140 = einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) * - 1 tmp141 = np . copy ( t2 . aaaa ) tmp141 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) r2new . aaaa += einsum ( tmp141 , ( 0 , 1 , 2 , 3 ), tmp140 , ( 4 , 5 , 0 , 1 ), ( 5 , 4 , 3 , 2 )) * 2 del tmp141 , tmp140 tmp138 = einsum ( tmp137 , ( 0 , 1 ), r2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp137 r2new . aaaa += np . transpose ( tmp138 , ( 1 , 0 , 2 , 3 )) * 2 r2new . aaaa += np . transpose ( tmp138 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp138 tmp136 = np . copy ( np . transpose ( tmp133 , ( 1 , 0 , 3 , 2 ))) * - 1 del tmp133 tmp136 += np . transpose ( tmp135 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp135 r2new . aaaa += np . transpose ( tmp136 , ( 1 , 0 , 3 , 2 )) * - 1 r2new . aaaa += np . transpose ( tmp136 , ( 1 , 0 , 2 , 3 )) del tmp136 tmp112 = np . copy ( tmp93 ) * 2 del tmp93 tmp112 += tmp95 del tmp95 tmp112 += tmp96 del tmp96 tmp112 += np . transpose ( tmp98 , ( 1 , 0 , 3 , 2 )) * 2 del tmp98 tmp112 += np . transpose ( tmp100 , ( 1 , 0 , 3 , 2 )) del tmp100 tmp112 += np . transpose ( tmp102 , ( 0 , 1 , 3 , 2 )) del tmp102 tmp112 += np . transpose ( tmp104 , ( 1 , 0 , 2 , 3 )) del tmp104 tmp112 += np . transpose ( tmp111 , ( 0 , 1 , 3 , 2 )) del tmp111 r2new . aaaa += np . transpose ( tmp112 , ( 1 , 0 , 3 , 2 )) r2new . aaaa += np . transpose ( tmp112 , ( 1 , 0 , 2 , 3 )) * - 1 r2new . aaaa += np . transpose ( tmp112 , ( 0 , 1 , 3 , 2 )) * - 1 r2new . aaaa += tmp112 del tmp112 tmp131 = np . copy ( tmp124 ) * - 1 del tmp124 tmp131 += tmp127 del tmp127 tmp131 += np . transpose ( tmp130 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp130 r2new . aaaa += np . transpose ( tmp131 , ( 0 , 1 , 3 , 2 )) * 2 r2new . aaaa += tmp131 * - 2 del tmp131 tmp68 = np . copy ( np . transpose ( tmp57 , ( 0 , 1 , 3 , 2 ))) * - 2 del tmp57 tmp68 += np . transpose ( tmp59 , ( 1 , 0 , 3 , 2 )) del tmp59 tmp68 += np . transpose ( tmp65 , ( 1 , 0 , 3 , 2 )) del tmp65 tmp68 += np . transpose ( tmp67 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp67 r2new . aaaa += np . transpose ( tmp68 , ( 1 , 0 , 2 , 3 )) * - 1 r2new . aaaa += tmp68 del tmp68 tmp139 = np . copy ( ints . tmp297 ) tmp139 += ints . tmp304 tmp139 += np . transpose ( v . aaaa . oooo , ( 0 , 2 , 1 , 3 )) tmp139 += ints . tmp224 * - 1 tmp139 += np . transpose ( ints . tmp224 , ( 1 , 0 , 2 , 3 )) r2new . aaaa += einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp139 , ( 4 , 5 , 1 , 0 ), ( 4 , 5 , 2 , 3 )) * - 2 del tmp139 tmp123 = np . copy ( np . transpose ( tmp114 , ( 1 , 0 , 3 , 2 ))) del tmp114 tmp123 += np . transpose ( tmp118 , ( 1 , 0 , 3 , 2 )) del tmp118 tmp123 += np . transpose ( tmp122 , ( 0 , 1 , 3 , 2 )) del tmp122 r2new . aaaa += np . transpose ( tmp123 , ( 1 , 0 , 2 , 3 )) * 2 r2new . aaaa += tmp123 * - 2 del tmp123 tmp92 = np . copy ( tmp69 ) del tmp69 tmp92 += tmp70 del tmp70 tmp92 += tmp71 * 2 del tmp71 tmp92 += tmp73 del tmp73 tmp92 += tmp74 del tmp74 tmp92 += np . transpose ( tmp76 , ( 1 , 0 , 3 , 2 )) del tmp76 tmp92 += np . transpose ( tmp87 , ( 0 , 1 , 3 , 2 )) del tmp87 tmp92 += np . transpose ( tmp89 , ( 0 , 1 , 3 , 2 )) del tmp89 tmp92 += np . transpose ( tmp91 , ( 1 , 0 , 2 , 3 )) del tmp91 r2new . aaaa += np . transpose ( tmp92 , ( 1 , 0 , 3 , 2 )) * - 1 r2new . aaaa += np . transpose ( tmp92 , ( 1 , 0 , 2 , 3 )) r2new . aaaa += np . transpose ( tmp92 , ( 0 , 1 , 3 , 2 )) r2new . aaaa += tmp92 * - 1 del tmp92 tmp55 = np . copy ( tmp37 ) * - 2 del tmp37 tmp55 += np . transpose ( tmp42 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp42 tmp55 += np . transpose ( tmp46 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp46 tmp55 += np . transpose ( tmp48 , ( 0 , 1 , 3 , 2 )) del tmp48 tmp55 += np . transpose ( tmp54 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp54 r2new . aaaa += np . transpose ( tmp55 , ( 0 , 1 , 3 , 2 )) r2new . aaaa += tmp55 * - 1 del tmp55 tmp25 = np . copy ( ints . tmp95 ) tmp25 += v . bbbb . oovv tmp25 += np . transpose ( ints . tmp96 , ( 0 , 1 , 3 , 2 )) * - 1 tmp25 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 r1new . bb += einsum ( r1 . bb , ( 0 , 1 ), tmp25 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * - 1 del tmp25 tmp23 = np . copy ( ints . tmp98 ) tmp23 += v . bbbb . ooov * - 1 r1new . bb += einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp23 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * 2 del tmp23 tmp35 = np . copy ( f . bb . oo ) * 0.5 tmp35 += np . transpose ( ints . tmp102 , ( 1 , 0 )) tmp35 += np . transpose ( ints . tmp104 , ( 1 , 0 )) * 0.5 tmp35 += np . transpose ( ints . tmp107 , ( 1 , 0 )) * 0.5 tmp35 += np . transpose ( ints . tmp108 , ( 1 , 0 )) * 0.5 tmp35 += np . transpose ( ints . tmp67 , ( 1 , 0 )) * 0.5 tmp35 += np . transpose ( ints . tmp68 , ( 1 , 0 )) * 0.5 tmp35 += ints . tmp89 * 0.5 tmp35 += np . transpose ( ints . tmp106 , ( 1 , 0 )) * - 0.5 tmp35 += np . transpose ( ints . tmp66 , ( 1 , 0 )) * - 0.5 r1new . bb += einsum ( r1 . bb , ( 0 , 1 ), tmp35 , ( 0 , 2 ), ( 2 , 1 )) * - 2 del tmp35 tmp26 = np . copy ( ints . tmp97 ) tmp26 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) r1new . bb += einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 0 , 2 ), ( 1 , 3 )) del tmp26 tmp12 = np . copy ( ints . tmp45 ) tmp12 += v . aaaa . oovv tmp12 += np . transpose ( ints . tmp46 , ( 0 , 1 , 3 , 2 )) * - 1 tmp12 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) * - 1 r1new . aa += einsum ( r1 . aa , ( 0 , 1 ), tmp12 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * - 1 del tmp12 tmp0 = np . copy ( ints . tmp48 ) tmp0 += v . aaaa . ooov * - 1 r1new . aa += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * 2 del tmp0 tmp13 = np . copy ( ints . tmp47 ) tmp13 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) r1new . aa += einsum ( r1 . bb , ( 0 , 1 ), tmp13 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp13 r1new . aa += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) r1new . aa += einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 4 )) * 2 r1new . bb += einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 2 r1new . bb += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) r2new . aaaa += einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), r2 . aaaa , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) * 2 r2new . abab += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) r2new . bbbb += einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . vvvv , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) * - 2 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . UCCSD . hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-13T22:23:01.202553. 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 tmp1 : array tmp10 : array tmp100 : array tmp101 : array tmp103 : array tmp105 : array tmp107 : array tmp109 : array tmp11 : array tmp111 : array tmp113 : array tmp115 : array tmp117 : array tmp119 : array tmp120 : array tmp122 : array tmp124 : array tmp125 : array tmp127 : array tmp129 : array tmp13 : array tmp130 : array tmp132 : array tmp133 : array tmp135 : array tmp137 : array tmp138 : array tmp140 : array tmp141 : array tmp143 : array tmp144 : array tmp146 : array tmp148 : array tmp149 : array tmp15 : array tmp151 : array tmp152 : array tmp154 : array tmp155 : array tmp156 : array tmp157 : array tmp159 : array tmp161 : array tmp162 : array tmp163 : array tmp164 : array tmp165 : array tmp167 : array tmp168 : array tmp169 : array tmp17 : array tmp170 : array tmp172 : array tmp174 : array tmp175 : array tmp176 : array tmp177 : array tmp178 : array tmp179 : array tmp181 : array tmp182 : array tmp184 : array tmp185 : array tmp186 : array tmp187 : array tmp188 : array tmp189 : array tmp19 : array tmp190 : array tmp191 : array tmp193 : array tmp194 : array tmp196 : array tmp197 : array tmp199 : array tmp2 : array tmp201 : array tmp203 : array tmp204 : array tmp205 : array tmp206 : array tmp207 : array tmp209 : array tmp21 : array tmp210 : array tmp211 : array tmp212 : array tmp214 : array tmp215 : array tmp22 : array tmp223 : array tmp225 : array tmp230 : array tmp232 : array tmp238 : array tmp240 : array tmp247 : array tmp248 : array tmp25 : array tmp250 : array tmp251 : array tmp253 : array tmp254 : array tmp256 : array tmp26 : array tmp262 : array tmp264 : array tmp27 : array tmp275 : array tmp277 : array tmp279 : array tmp28 : array tmp281 : array tmp283 : array tmp285 : array tmp291 : array tmp292 : array tmp294 : array tmp295 : array tmp297 : array tmp299 : array tmp30 : array tmp301 : array tmp306 : array tmp307 : array tmp309 : array tmp314 : array tmp315 : array tmp317 : array tmp319 : array tmp32 : array tmp320 : array tmp324 : array tmp325 : array tmp327 : array tmp328 : array tmp333 : array tmp334 : array tmp336 : array tmp34 : array tmp346 : array tmp349 : array tmp351 : array tmp353 : array tmp355 : array tmp357 : array tmp359 : array tmp36 : array tmp361 : array tmp37 : array tmp38 : array tmp39 : array tmp391 : array tmp393 : array tmp4 : array tmp41 : array tmp422 : array tmp425 : array tmp426 : array tmp428 : array tmp43 : array tmp430 : array tmp432 : array tmp434 : array tmp436 : array tmp438 : array tmp449 : array tmp45 : array tmp451 : array tmp453 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp53 : array tmp55 : array tmp57 : array tmp59 : array tmp61 : array tmp62 : array tmp64 : array tmp65 : array tmp66 : array tmp68 : array tmp7 : array tmp70 : array tmp72 : array tmp74 : array tmp76 : array tmp78 : array tmp8 : array tmp80 : array tmp82 : array tmp83 : array tmp85 : array tmp86 : array tmp88 : array tmp89 : array tmp90 : array tmp92 : array tmp94 : array tmp96 : array tmp98 : array Source code in ebcc/codegen/UCCSD.py 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451 6452 6453 6454 6455 6456 6457 6458 6459 6460 6461 6462 6463 6464 6465 6466 6467 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477 6478 6479 6480 6481 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654 6655 6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 def hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:23:01.202553. 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 ------- tmp1 : array tmp10 : array tmp100 : array tmp101 : array tmp103 : array tmp105 : array tmp107 : array tmp109 : array tmp11 : array tmp111 : array tmp113 : array tmp115 : array tmp117 : array tmp119 : array tmp120 : array tmp122 : array tmp124 : array tmp125 : array tmp127 : array tmp129 : array tmp13 : array tmp130 : array tmp132 : array tmp133 : array tmp135 : array tmp137 : array tmp138 : array tmp140 : array tmp141 : array tmp143 : array tmp144 : array tmp146 : array tmp148 : array tmp149 : array tmp15 : array tmp151 : array tmp152 : array tmp154 : array tmp155 : array tmp156 : array tmp157 : array tmp159 : array tmp161 : array tmp162 : array tmp163 : array tmp164 : array tmp165 : array tmp167 : array tmp168 : array tmp169 : array tmp17 : array tmp170 : array tmp172 : array tmp174 : array tmp175 : array tmp176 : array tmp177 : array tmp178 : array tmp179 : array tmp181 : array tmp182 : array tmp184 : array tmp185 : array tmp186 : array tmp187 : array tmp188 : array tmp189 : array tmp19 : array tmp190 : array tmp191 : array tmp193 : array tmp194 : array tmp196 : array tmp197 : array tmp199 : array tmp2 : array tmp201 : array tmp203 : array tmp204 : array tmp205 : array tmp206 : array tmp207 : array tmp209 : array tmp21 : array tmp210 : array tmp211 : array tmp212 : array tmp214 : array tmp215 : array tmp22 : array tmp223 : array tmp225 : array tmp230 : array tmp232 : array tmp238 : array tmp240 : array tmp247 : array tmp248 : array tmp25 : array tmp250 : array tmp251 : array tmp253 : array tmp254 : array tmp256 : array tmp26 : array tmp262 : array tmp264 : array tmp27 : array tmp275 : array tmp277 : array tmp279 : array tmp28 : array tmp281 : array tmp283 : array tmp285 : array tmp291 : array tmp292 : array tmp294 : array tmp295 : array tmp297 : array tmp299 : array tmp30 : array tmp301 : array tmp306 : array tmp307 : array tmp309 : array tmp314 : array tmp315 : array tmp317 : array tmp319 : array tmp32 : array tmp320 : array tmp324 : array tmp325 : array tmp327 : array tmp328 : array tmp333 : array tmp334 : array tmp336 : array tmp34 : array tmp346 : array tmp349 : array tmp351 : array tmp353 : array tmp355 : array tmp357 : array tmp359 : array tmp36 : array tmp361 : array tmp37 : array tmp38 : array tmp39 : array tmp391 : array tmp393 : array tmp4 : array tmp41 : array tmp422 : array tmp425 : array tmp426 : array tmp428 : array tmp43 : array tmp430 : array tmp432 : array tmp434 : array tmp436 : array tmp438 : array tmp449 : array tmp45 : array tmp451 : array tmp453 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp53 : array tmp55 : array tmp57 : array tmp59 : array tmp61 : array tmp62 : array tmp64 : array tmp65 : array tmp66 : array tmp68 : array tmp7 : array tmp70 : array tmp72 : array tmp74 : array tmp76 : array tmp78 : array tmp8 : array tmp80 : array tmp82 : array tmp83 : array tmp85 : array tmp86 : array tmp88 : array tmp89 : array tmp90 : array tmp92 : array tmp94 : array tmp96 : array tmp98 : array \"\"\" tmp45 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp119 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp41 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp38 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp39 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp36 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp89 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp32 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp82 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp214 = einsum ( t1 . bb , ( 0 , 1 ), tmp45 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp333 = einsum ( t1 . bb , ( 0 , 1 ), tmp119 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp327 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 2 , 0 , 1 )) tmp324 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp174 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp176 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp314 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp151 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp306 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp124 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp211 = einsum ( t1 . aa , ( 0 , 1 ), tmp41 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp209 = einsum ( t1 . bb , ( 0 , 1 ), tmp38 , ( 2 , 1 ), ( 0 , 2 )) tmp156 = einsum ( t1 . aa , ( 0 , 1 ), tmp39 , ( 2 , 1 ), ( 0 , 2 )) tmp205 = einsum ( tmp36 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp203 = einsum ( tmp89 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp155 = einsum ( t1 . aa , ( 0 , 1 ), tmp32 , ( 2 , 1 ), ( 0 , 2 )) tmp154 = einsum ( tmp82 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp196 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp193 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp190 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp188 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp186 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 )) tmp184 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 1 ), ( 2 , 3 )) tmp181 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp178 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp169 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp167 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp27 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ooov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp163 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp161 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 3 ), ( 0 , 2 )) tmp26 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp25 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp148 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) * - 1 tmp49 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp143 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp140 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp47 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp21 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp453 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp451 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp449 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp438 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp436 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp434 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp432 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp430 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp428 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp426 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 0 , 3 )) tmp425 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp422 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp393 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp391 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp361 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp359 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp357 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) tmp355 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp353 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp351 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp349 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp346 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp336 = einsum ( tmp214 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp334 = einsum ( t1 . bb , ( 0 , 1 ), tmp333 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp328 = einsum ( t1 . aa , ( 0 , 1 ), tmp327 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp325 = einsum ( tmp324 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp320 = einsum ( tmp174 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp319 = einsum ( tmp176 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp317 = einsum ( t1 . bb , ( 0 , 1 ), tmp314 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp315 = einsum ( t1 . bb , ( 0 , 1 ), tmp314 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp309 = einsum ( tmp151 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp307 = einsum ( t1 . bb , ( 0 , 1 ), tmp306 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp301 = einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp299 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp124 , ( 0 , 4 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp297 = einsum ( tmp124 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) tmp295 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp119 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp294 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp119 , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp292 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp119 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp291 = einsum ( tmp119 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp285 = einsum ( tmp38 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp283 = einsum ( tmp38 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp281 = einsum ( tmp36 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp279 = einsum ( tmp36 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp277 = einsum ( tmp89 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp275 = einsum ( tmp89 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp264 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) tmp262 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp256 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp254 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 3 , 5 )) tmp253 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp251 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp250 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp248 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp247 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp240 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . vvoo , ( 2 , 1 , 3 , 4 ), ( 0 , 3 , 4 , 2 )) tmp238 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp232 = einsum ( v . aabb . oooo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp230 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp225 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp223 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp215 = einsum ( t1 . bb , ( 0 , 1 ), tmp214 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp212 = einsum ( t1 . aa , ( 0 , 1 ), tmp211 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp210 = einsum ( t1 . bb , ( 0 , 1 ), tmp209 , ( 2 , 0 ), ( 2 , 1 )) tmp207 = einsum ( tmp156 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp206 = einsum ( t1 . bb , ( 0 , 1 ), tmp205 , ( 2 , 0 ), ( 2 , 1 )) tmp204 = einsum ( tmp203 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp201 = einsum ( tmp155 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp199 = einsum ( tmp154 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp197 = einsum ( tmp196 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp194 = einsum ( tmp193 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp191 = einsum ( tmp190 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp189 = einsum ( t1 . bb , ( 0 , 1 ), tmp188 , ( 2 , 1 ), ( 0 , 2 )) tmp187 = einsum ( tmp186 , ( 0 , 1 ), t1 . bb , ( 2 , 0 ), ( 2 , 1 )) tmp185 = einsum ( tmp184 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp182 = einsum ( tmp181 , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 2 , 1 )) tmp179 = einsum ( tmp178 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp177 = einsum ( t1 . bb , ( 0 , 1 ), tmp176 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp175 = einsum ( t1 . bb , ( 0 , 1 ), tmp174 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp172 = einsum ( t1 . aa , ( 0 , 1 ), tmp169 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp170 = einsum ( t1 . aa , ( 0 , 1 ), tmp169 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp168 = einsum ( tmp167 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp165 = einsum ( tmp27 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp164 = einsum ( t1 . bb , ( 0 , 1 ), tmp163 , ( 2 , 0 ), ( 2 , 1 )) tmp162 = einsum ( tmp161 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp159 = einsum ( tmp26 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp157 = einsum ( tmp25 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp152 = einsum ( t1 . bb , ( 0 , 1 ), tmp151 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp149 = einsum ( tmp148 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp146 = einsum ( tmp49 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp144 = einsum ( t1 . bb , ( 0 , 1 ), tmp143 , ( 2 , 0 ), ( 2 , 1 )) tmp141 = einsum ( tmp140 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp138 = einsum ( tmp47 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp137 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp124 , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 5 , 3 )) tmp135 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp45 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp133 = einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp132 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) tmp130 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp129 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp127 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp125 = einsum ( tmp124 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) tmp122 = einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp120 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp119 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp117 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 tmp115 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 2 ), ( 0 , 4 , 1 , 3 )) tmp113 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp111 = einsum ( tmp32 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp109 = einsum ( tmp32 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp107 = einsum ( tmp82 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp105 = einsum ( tmp82 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp103 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp38 , ( 1 , 3 ), ( 0 , 2 )) tmp101 = einsum ( tmp38 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp100 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp39 , ( 0 , 2 ), ( 1 , 3 )) tmp98 = einsum ( tmp39 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp96 = einsum ( tmp36 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp94 = einsum ( tmp36 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp92 = einsum ( tmp89 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp90 = einsum ( tmp89 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp88 = einsum ( tmp32 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp86 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp32 , ( 1 , 3 ), ( 0 , 2 )) tmp85 = einsum ( tmp82 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp83 = einsum ( tmp82 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp80 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp78 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp76 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp74 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp72 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp70 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 4 )) * - 1 tmp68 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp66 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp65 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 4 , 2 , 5 , 1 ), ( 0 , 4 , 5 , 3 )) tmp64 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) tmp62 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp61 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp59 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp57 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp55 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) tmp53 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp51 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 1 tmp46 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oovv , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp43 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . oovv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp37 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp34 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp30 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp28 = einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp22 = einsum ( t1 . bb , ( 0 , 1 ), tmp21 , ( 0 , 2 ), ( 2 , 1 )) tmp19 = einsum ( tmp1 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp17 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp15 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp13 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp11 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp10 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp8 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp7 = einsum ( f . bb . vv , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp5 = einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp4 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . oo , ( 2 , 0 ), ( 2 , 1 )) tmp2 = einsum ( f . aa . oo , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp101\" : tmp101 , f \"tmp103\" : tmp103 , f \"tmp105\" : tmp105 , f \"tmp107\" : tmp107 , f \"tmp109\" : tmp109 , f \"tmp11\" : tmp11 , f \"tmp111\" : tmp111 , f \"tmp113\" : tmp113 , f \"tmp115\" : tmp115 , f \"tmp117\" : tmp117 , f \"tmp119\" : tmp119 , f \"tmp120\" : tmp120 , f \"tmp122\" : tmp122 , f \"tmp124\" : tmp124 , f \"tmp125\" : tmp125 , f \"tmp127\" : tmp127 , f \"tmp129\" : tmp129 , f \"tmp13\" : tmp13 , f \"tmp130\" : tmp130 , f \"tmp132\" : tmp132 , f \"tmp133\" : tmp133 , f \"tmp135\" : tmp135 , f \"tmp137\" : tmp137 , f \"tmp138\" : tmp138 , f \"tmp140\" : tmp140 , f \"tmp141\" : tmp141 , f \"tmp143\" : tmp143 , f \"tmp144\" : tmp144 , f \"tmp146\" : tmp146 , f \"tmp148\" : tmp148 , f \"tmp149\" : tmp149 , f \"tmp15\" : tmp15 , f \"tmp151\" : tmp151 , f \"tmp152\" : tmp152 , f \"tmp154\" : tmp154 , f \"tmp155\" : tmp155 , f \"tmp156\" : tmp156 , f \"tmp157\" : tmp157 , f \"tmp159\" : tmp159 , f \"tmp161\" : tmp161 , f \"tmp162\" : tmp162 , f \"tmp163\" : tmp163 , f \"tmp164\" : tmp164 , f \"tmp165\" : tmp165 , f \"tmp167\" : tmp167 , f \"tmp168\" : tmp168 , f \"tmp169\" : tmp169 , f \"tmp17\" : tmp17 , f \"tmp170\" : tmp170 , f \"tmp172\" : tmp172 , f \"tmp174\" : tmp174 , f \"tmp175\" : tmp175 , f \"tmp176\" : tmp176 , f \"tmp177\" : tmp177 , f \"tmp178\" : tmp178 , f \"tmp179\" : tmp179 , f \"tmp181\" : tmp181 , f \"tmp182\" : tmp182 , f \"tmp184\" : tmp184 , f \"tmp185\" : tmp185 , f \"tmp186\" : tmp186 , f \"tmp187\" : tmp187 , f \"tmp188\" : tmp188 , f \"tmp189\" : tmp189 , f \"tmp19\" : tmp19 , f \"tmp190\" : tmp190 , f \"tmp191\" : tmp191 , f \"tmp193\" : tmp193 , f \"tmp194\" : tmp194 , f \"tmp196\" : tmp196 , f \"tmp197\" : tmp197 , f \"tmp199\" : tmp199 , f \"tmp2\" : tmp2 , f \"tmp201\" : tmp201 , f \"tmp203\" : tmp203 , f \"tmp204\" : tmp204 , f \"tmp205\" : tmp205 , f \"tmp206\" : tmp206 , f \"tmp207\" : tmp207 , f \"tmp209\" : tmp209 , f \"tmp21\" : tmp21 , f \"tmp210\" : tmp210 , f \"tmp211\" : tmp211 , f \"tmp212\" : tmp212 , f \"tmp214\" : tmp214 , f \"tmp215\" : tmp215 , f \"tmp22\" : tmp22 , f \"tmp223\" : tmp223 , f \"tmp225\" : tmp225 , f \"tmp230\" : tmp230 , f \"tmp232\" : tmp232 , f \"tmp238\" : tmp238 , f \"tmp240\" : tmp240 , f \"tmp247\" : tmp247 , f \"tmp248\" : tmp248 , f \"tmp25\" : tmp25 , f \"tmp250\" : tmp250 , f \"tmp251\" : tmp251 , f \"tmp253\" : tmp253 , f \"tmp254\" : tmp254 , f \"tmp256\" : tmp256 , f \"tmp26\" : tmp26 , f \"tmp262\" : tmp262 , f \"tmp264\" : tmp264 , f \"tmp27\" : tmp27 , f \"tmp275\" : tmp275 , f \"tmp277\" : tmp277 , f \"tmp279\" : tmp279 , f \"tmp28\" : tmp28 , f \"tmp281\" : tmp281 , f \"tmp283\" : tmp283 , f \"tmp285\" : tmp285 , f \"tmp291\" : tmp291 , f \"tmp292\" : tmp292 , f \"tmp294\" : tmp294 , f \"tmp295\" : tmp295 , f \"tmp297\" : tmp297 , f \"tmp299\" : tmp299 , f \"tmp30\" : tmp30 , f \"tmp301\" : tmp301 , f \"tmp306\" : tmp306 , f \"tmp307\" : tmp307 , f \"tmp309\" : tmp309 , f \"tmp314\" : tmp314 , f \"tmp315\" : tmp315 , f \"tmp317\" : tmp317 , f \"tmp319\" : tmp319 , f \"tmp32\" : tmp32 , f \"tmp320\" : tmp320 , f \"tmp324\" : tmp324 , f \"tmp325\" : tmp325 , f \"tmp327\" : tmp327 , f \"tmp328\" : tmp328 , f \"tmp333\" : tmp333 , f \"tmp334\" : tmp334 , f \"tmp336\" : tmp336 , f \"tmp34\" : tmp34 , f \"tmp346\" : tmp346 , f \"tmp349\" : tmp349 , f \"tmp351\" : tmp351 , f \"tmp353\" : tmp353 , f \"tmp355\" : tmp355 , f \"tmp357\" : tmp357 , f \"tmp359\" : tmp359 , f \"tmp36\" : tmp36 , f \"tmp361\" : tmp361 , f \"tmp37\" : tmp37 , f \"tmp38\" : tmp38 , f \"tmp39\" : tmp39 , f \"tmp391\" : tmp391 , f \"tmp393\" : tmp393 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp422\" : tmp422 , f \"tmp425\" : tmp425 , f \"tmp426\" : tmp426 , f \"tmp428\" : tmp428 , f \"tmp43\" : tmp43 , f \"tmp430\" : tmp430 , f \"tmp432\" : tmp432 , f \"tmp434\" : tmp434 , f \"tmp436\" : tmp436 , f \"tmp438\" : tmp438 , f \"tmp449\" : tmp449 , f \"tmp45\" : tmp45 , f \"tmp451\" : tmp451 , f \"tmp453\" : tmp453 , f \"tmp46\" : tmp46 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp51\" : tmp51 , f \"tmp53\" : tmp53 , f \"tmp55\" : tmp55 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp61\" : tmp61 , f \"tmp62\" : tmp62 , f \"tmp64\" : tmp64 , f \"tmp65\" : tmp65 , f \"tmp66\" : tmp66 , f \"tmp68\" : tmp68 , f \"tmp7\" : tmp7 , f \"tmp70\" : tmp70 , f \"tmp72\" : tmp72 , f \"tmp74\" : tmp74 , f \"tmp76\" : tmp76 , f \"tmp78\" : tmp78 , f \"tmp8\" : tmp8 , f \"tmp80\" : tmp80 , f \"tmp82\" : tmp82 , f \"tmp83\" : tmp83 , f \"tmp85\" : tmp85 , f \"tmp86\" : tmp86 , f \"tmp88\" : tmp88 , f \"tmp89\" : tmp89 , f \"tmp90\" : tmp90 , f \"tmp92\" : tmp92 , f \"tmp94\" : tmp94 , f \"tmp96\" : tmp96 , f \"tmp98\" : tmp98 } ebcc . codegen . UCCSD . hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-13T22:23:01.304389. 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. Source code in ebcc/codegen/UCCSD.py 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 6840 6841 6842 6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:23:01.304389. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp53 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 0 , 1 , 3 ), ( 2 ,)) tmp52 = einsum ( r2 . aba , ( 0 , 1 , 2 ), t2 . abab , ( 0 , 1 , 2 , 3 ), ( 3 ,)) tmp87 = np . copy ( ints . tmp426 ) tmp87 += ints . tmp432 tmp87 += ints . tmp436 * 2 tmp91 = np . copy ( f . bb . oo ) tmp91 += ints . tmp163 tmp91 += ints . tmp167 tmp91 += ints . tmp205 tmp91 += ints . tmp209 tmp91 += np . transpose ( ints . tmp21 , ( 1 , 0 )) tmp89 = np . copy ( ints . tmp425 ) tmp89 += np . transpose ( ints . tmp430 , ( 0 , 1 , 3 , 2 )) * 2 tmp62 = np . copy ( f . bb . ov ) tmp62 += ints . tmp36 tmp62 += ints . tmp38 tmp62 += ints . tmp89 * - 1 tmp74 = np . copy ( ints . tmp324 ) tmp74 += np . transpose ( ints . tmp434 , ( 0 , 1 , 3 , 2 )) * 2 tmp74 += np . transpose ( ints . tmp438 , ( 0 , 1 , 3 , 2 )) tmp47 = einsum ( r2 . aba , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp82 = np . copy ( ints . tmp140 ) * 2 tmp82 += ints . tmp143 tmp82 += ints . tmp161 * - 1 tmp82 += ints . tmp203 * - 1 tmp49 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), t1 . bb , ( 3 , 2 ), ( 0 , 1 , 3 )) tmp78 = np . copy ( v . bbbb . ooov ) tmp78 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp76 = np . copy ( ints . tmp119 ) * - 1 tmp76 += np . transpose ( ints . tmp119 , ( 0 , 2 , 1 , 3 )) tmp80 = np . copy ( tmp52 ) * - 0.5 tmp80 += tmp53 tmp40 = np . copy ( f . aa . ov ) tmp40 += ints . tmp32 tmp40 += ints . tmp39 tmp40 += ints . tmp82 * - 1 tmp11 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t1 . bb , ( 3 , 2 ), ( 1 , 0 , 3 )) * - 1 tmp25 = np . copy ( ints . tmp47 ) * 2 tmp25 += ints . tmp49 tmp25 += ints . tmp154 * - 1 tmp25 += ints . tmp25 * - 1 tmp20 = einsum ( t1 . aa , ( 0 , 1 ), r2 . aaa , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) tmp23 = np . copy ( v . aaaa . ooov ) * - 1 tmp23 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) tmp21 = np . copy ( ints . tmp41 ) * - 1 tmp21 += np . transpose ( ints . tmp41 , ( 0 , 2 , 1 , 3 )) tmp18 = np . copy ( ints . tmp349 ) tmp18 += ints . tmp357 tmp18 += ints . tmp361 * 2 tmp14 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 0 , 1 , 3 ), ( 2 ,)) tmp16 = np . copy ( ints . tmp193 ) tmp16 += np . transpose ( ints . tmp355 , ( 0 , 1 , 3 , 2 )) * 2 tmp16 += np . transpose ( ints . tmp359 , ( 0 , 1 , 3 , 2 )) tmp36 = np . copy ( f . aa . oo ) tmp36 += ints . tmp155 tmp36 += ints . tmp156 tmp36 += np . transpose ( ints . tmp1 , ( 1 , 0 )) tmp36 += ints . tmp26 tmp36 += ints . tmp27 tmp32 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 0 , 3 , 2 ), ( 3 ,)) * - 1 tmp34 = np . copy ( ints . tmp346 ) tmp34 += np . transpose ( ints . tmp351 , ( 0 , 1 , 3 , 2 )) * 2 tmp88 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp87 , ( 0 , 3 , 2 , 4 ), ( 1 , 3 , 4 )) del tmp87 tmp92 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp91 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp91 tmp85 = einsum ( ints . tmp119 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 0 ,), ( 1 , 2 , 3 )) tmp90 = einsum ( tmp89 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 0 , 3 ), ( 4 , 1 , 2 )) * - 1 del tmp89 tmp86 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . ovov , ( 3 , 4 , 1 , 2 ), ( 0 , 3 , 4 )) tmp63 = einsum ( t1 . bb , ( 0 , 1 ), tmp62 , ( 0 , 2 ), ( 1 , 2 )) tmp75 = einsum ( tmp74 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 0 , 3 ), ( 4 , 1 , 2 )) * - 2 del tmp74 tmp70 = einsum ( ints . tmp314 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 0 , 1 , 4 ), ( 2 , 3 , 4 )) tmp71 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . oovv , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp73 = einsum ( tmp47 , ( 0 , 1 , 2 ), v . aabb . ooov , ( 1 , 0 , 3 , 4 ), ( 2 , 3 , 4 )) tmp83 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp82 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 2 del tmp82 tmp79 = einsum ( tmp78 , ( 0 , 1 , 2 , 3 ), tmp49 , ( 0 , 4 , 2 ), ( 4 , 1 , 3 )) * 2 del tmp78 tmp77 = einsum ( tmp76 , ( 0 , 1 , 2 , 3 ), tmp49 , ( 0 , 4 , 1 ), ( 4 , 2 , 3 )) * 2 del tmp76 tmp68 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp428 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) tmp67 = einsum ( r1 . b , ( 0 ,), v . bbbb . ooov , ( 1 , 0 , 2 , 3 ), ( 1 , 2 , 3 )) tmp72 = einsum ( tmp47 , ( 0 , 1 , 2 ), ints . tmp45 , ( 0 , 1 , 3 , 4 ), ( 3 , 2 , 4 )) tmp81 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp80 , ( 1 ,), ( 0 , 2 , 3 )) * 2 del tmp80 tmp69 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovov , ( 0 , 2 , 3 , 4 ), ( 1 , 3 , 4 )) tmp41 = einsum ( t1 . aa , ( 0 , 1 ), tmp40 , ( 0 , 2 ), ( 1 , 2 )) tmp12 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), tmp11 , ( 4 , 3 , 2 ), ( 4 , 0 , 1 )) tmp10 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp26 = einsum ( tmp25 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 2 del tmp25 tmp24 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 0 , 4 , 1 ), ( 4 , 2 , 3 )) * 2 del tmp23 tmp22 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 0 , 4 , 1 ), ( 4 , 2 , 3 )) * 2 del tmp21 tmp19 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp18 , ( 3 , 0 , 4 , 2 ), ( 1 , 3 , 4 )) * - 1 del tmp18 tmp15 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp14 , ( 3 ,), ( 0 , 2 , 1 )) * - 1 tmp13 = einsum ( tmp11 , ( 0 , 1 , 2 ), ints . tmp124 , ( 3 , 1 , 2 , 4 ), ( 3 , 0 , 4 )) tmp17 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp16 , ( 1 , 3 , 4 , 2 ), ( 0 , 3 , 4 )) * - 2 del tmp16 tmp8 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 0 , 2 , 3 )) tmp9 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp169 , ( 1 , 0 , 3 , 4 ), ( 3 , 4 , 2 )) * - 1 tmp31 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . ovov , ( 3 , 4 , 0 , 2 ), ( 1 , 3 , 4 )) * - 1 tmp30 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp353 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 1 tmp29 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 3 ), ( 4 , 0 , 1 )) tmp37 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp36 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp36 tmp33 = einsum ( tmp32 , ( 0 ,), v . aaaa . ovov , ( 1 , 2 , 3 , 0 ), ( 1 , 3 , 2 )) tmp35 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp34 , ( 1 , 3 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp34 tmp28 = einsum ( r1 . a , ( 0 ,), ints . tmp41 , ( 0 , 1 , 2 , 3 ), ( 1 , 2 , 3 )) tmp93 = np . copy ( tmp85 ) del tmp85 tmp93 += tmp86 * 2 del tmp86 tmp93 += np . transpose ( tmp88 , ( 1 , 0 , 2 )) del tmp88 tmp93 += np . transpose ( tmp90 , ( 1 , 0 , 2 )) * - 2 del tmp90 tmp93 += np . transpose ( tmp92 , ( 1 , 0 , 2 )) * - 2 del tmp92 tmp64 = np . copy ( np . transpose ( ints . tmp186 , ( 1 , 0 ))) tmp64 += ints . tmp449 * 2 tmp64 += ints . tmp451 tmp64 += f . bb . vv * - 1 tmp64 += ints . tmp184 * - 1 tmp64 += ints . tmp188 * - 1 tmp64 += tmp63 del tmp63 tmp94 = np . copy ( ints . tmp306 ) tmp94 += ints . tmp333 tmp94 += np . transpose ( v . bbbb . oooo , ( 0 , 2 , 3 , 1 )) * - 1 tmp84 = np . copy ( tmp67 ) del tmp67 tmp84 += tmp68 del tmp68 tmp84 += tmp69 del tmp69 tmp84 += tmp70 * 2 del tmp70 tmp84 += tmp71 * 2 del tmp71 tmp84 += tmp72 del tmp72 tmp84 += tmp73 * - 1 del tmp73 tmp84 += np . transpose ( tmp75 , ( 1 , 0 , 2 )) * - 1 del tmp75 tmp84 += np . transpose ( tmp77 , ( 1 , 0 , 2 )) del tmp77 tmp84 += tmp79 del tmp79 tmp84 += np . transpose ( tmp81 , ( 1 , 0 , 2 )) * - 1 del tmp81 tmp84 += np . transpose ( tmp83 , ( 1 , 0 , 2 )) del tmp83 tmp56 = np . copy ( ints . tmp426 ) tmp56 += ints . tmp432 tmp56 += ints . tmp436 * 2 tmp56 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp56 += ints . tmp428 * - 1 tmp60 = np . copy ( ints . tmp45 ) tmp60 += v . aabb . ooov tmp66 = np . copy ( tmp14 ) del tmp14 tmp66 += tmp32 * 0.5 del tmp32 tmp61 = np . copy ( ints . tmp45 ) tmp61 += v . aabb . ooov tmp58 = np . copy ( ints . tmp151 ) tmp58 += ints . tmp174 tmp58 += np . transpose ( ints . tmp176 , ( 1 , 0 , 2 , 3 )) tmp58 += ints . tmp214 tmp58 += v . aabb . oooo tmp55 = np . copy ( ints . tmp324 ) tmp55 += np . transpose ( ints . tmp434 , ( 0 , 1 , 3 , 2 )) * 2 tmp55 += np . transpose ( ints . tmp438 , ( 0 , 1 , 3 , 2 )) tmp55 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 )) tmp55 += ints . tmp425 * - 1 tmp55 += np . transpose ( ints . tmp430 , ( 0 , 1 , 3 , 2 )) * - 2 tmp55 += v . bbbb . oovv * - 1 tmp65 = np . copy ( f . bb . oo ) tmp65 += ints . tmp140 * 2 tmp65 += ints . tmp143 tmp65 += ints . tmp163 tmp65 += ints . tmp167 tmp65 += ints . tmp205 tmp65 += ints . tmp209 tmp65 += np . transpose ( ints . tmp21 , ( 1 , 0 )) tmp65 += ints . tmp161 * - 1 tmp65 += ints . tmp203 * - 1 tmp57 = np . copy ( ints . tmp196 ) tmp57 += v . aabb . oovv tmp57 += ints . tmp453 * - 1 tmp59 = np . copy ( ints . tmp119 ) * - 1 tmp59 += np . transpose ( ints . tmp119 , ( 0 , 2 , 1 , 3 )) tmp59 += v . bbbb . ooov tmp59 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp4 = np . copy ( f . aa . oo ) tmp4 += ints . tmp155 tmp4 += ints . tmp156 tmp4 += np . transpose ( ints . tmp1 , ( 1 , 0 )) tmp4 += np . transpose ( ints . tmp26 , ( 1 , 0 )) tmp4 += np . transpose ( ints . tmp27 , ( 1 , 0 )) tmp4 += ints . tmp47 * 2 tmp4 += ints . tmp49 tmp4 += ints . tmp154 * - 1 tmp4 += ints . tmp25 * - 1 tmp45 = np . copy ( ints . tmp327 ) tmp45 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) tmp45 += ints . tmp422 * - 1 tmp50 = np . copy ( ints . tmp124 ) tmp50 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp51 = np . copy ( f . aa . oo ) tmp51 += ints . tmp155 tmp51 += ints . tmp156 tmp51 += np . transpose ( ints . tmp1 , ( 1 , 0 )) tmp51 += ints . tmp26 tmp51 += ints . tmp27 tmp51 += ints . tmp47 * 2 tmp51 += ints . tmp49 tmp51 += ints . tmp154 * - 1 tmp51 += ints . tmp25 * - 1 tmp7 = np . copy ( f . bb . oo ) tmp7 += ints . tmp140 * 2 tmp7 += ints . tmp143 tmp7 += np . transpose ( ints . tmp163 , ( 1 , 0 )) tmp7 += np . transpose ( ints . tmp167 , ( 1 , 0 )) tmp7 += ints . tmp205 tmp7 += ints . tmp209 tmp7 += np . transpose ( ints . tmp21 , ( 1 , 0 )) tmp7 += ints . tmp161 * - 1 tmp7 += ints . tmp203 * - 1 tmp48 = np . copy ( ints . tmp41 ) * - 1 tmp48 += np . transpose ( ints . tmp41 , ( 0 , 2 , 1 , 3 )) tmp48 += v . aaaa . ooov tmp48 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp44 = np . copy ( ints . tmp349 ) tmp44 += ints . tmp357 tmp44 += ints . tmp361 * 2 tmp44 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp44 += ints . tmp353 * - 1 tmp42 = np . copy ( np . transpose ( ints . tmp181 , ( 1 , 0 ))) tmp42 += ints . tmp391 * 2 tmp42 += ints . tmp393 tmp42 += f . aa . vv * - 1 tmp42 += ints . tmp178 * - 1 tmp42 += ints . tmp190 * - 1 tmp42 += tmp41 del tmp41 tmp46 = np . copy ( ints . tmp151 ) tmp46 += np . transpose ( ints . tmp174 , ( 0 , 1 , 3 , 2 )) tmp46 += ints . tmp176 tmp46 += ints . tmp214 tmp46 += v . aabb . oooo tmp43 = np . copy ( ints . tmp193 ) tmp43 += np . transpose ( ints . tmp355 , ( 0 , 1 , 3 , 2 )) * 2 tmp43 += np . transpose ( ints . tmp359 , ( 0 , 1 , 3 , 2 )) tmp43 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 )) tmp43 += ints . tmp346 * - 1 tmp43 += np . transpose ( ints . tmp351 , ( 0 , 1 , 3 , 2 )) * - 2 tmp43 += v . aaaa . oovv * - 1 tmp54 = np . copy ( tmp52 ) * - 1 del tmp52 tmp54 += tmp53 * 2 del tmp53 tmp27 = np . copy ( tmp8 ) del tmp8 tmp27 += tmp9 * 2 del tmp9 tmp27 += tmp10 * 2 del tmp10 tmp27 += tmp12 del tmp12 tmp27 += tmp13 * - 1 del tmp13 tmp27 += tmp15 * 2 del tmp15 tmp27 += np . transpose ( tmp17 , ( 1 , 0 , 2 )) * - 1 del tmp17 tmp27 += np . transpose ( tmp19 , ( 1 , 0 , 2 )) del tmp19 tmp27 += np . transpose ( tmp22 , ( 1 , 0 , 2 )) del tmp22 tmp27 += tmp24 del tmp24 tmp27 += np . transpose ( tmp26 , ( 1 , 0 , 2 )) del tmp26 tmp38 = np . copy ( tmp28 ) del tmp28 tmp38 += tmp29 * 2 del tmp29 tmp38 += tmp30 del tmp30 tmp38 += tmp31 del tmp31 tmp38 += tmp33 del tmp33 tmp38 += np . transpose ( tmp35 , ( 1 , 0 , 2 )) * - 2 del tmp35 tmp38 += np . transpose ( tmp37 , ( 1 , 0 , 2 )) * - 2 del tmp37 tmp39 = np . copy ( ints . tmp148 ) tmp39 += ints . tmp211 tmp39 += np . transpose ( v . aaaa . oooo , ( 0 , 2 , 3 , 1 )) * - 1 tmp6 = np . copy ( np . transpose ( ints . tmp225 , ( 1 , 2 , 0 , 3 ))) * 0.5 tmp6 += np . transpose ( ints . tmp230 , ( 1 , 2 , 0 , 3 )) * 0.5 tmp6 += np . transpose ( ints . tmp238 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp6 += np . transpose ( ints . tmp251 , ( 0 , 2 , 1 , 3 )) tmp6 += np . transpose ( ints . tmp256 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp6 += ints . tmp281 * 0.5 tmp6 += ints . tmp285 * 0.5 tmp6 += ints . tmp295 tmp6 += ints . tmp307 * 0.5 tmp6 += ints . tmp315 * 0.5 tmp6 += ints . tmp334 * 0.5 tmp6 += ints . tmp119 * - 0.5 tmp6 += ints . tmp248 * - 1 tmp6 += ints . tmp262 * - 0.5 tmp6 += ints . tmp277 * - 0.5 tmp6 += ints . tmp292 * - 1 tmp6 += ints . tmp299 * - 0.5 tmp6 += np . transpose ( ints . tmp317 , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp6 += ints . tmp325 * - 0.5 tmp6 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp3 = np . copy ( ints . tmp117 ) tmp3 += ints . tmp122 * 0.5 tmp3 += ints . tmp138 tmp3 += ints . tmp146 * 0.5 tmp3 += ints . tmp159 * 0.5 tmp3 += ints . tmp165 * 0.5 tmp3 += ints . tmp182 * 0.5 tmp3 += ints . tmp19 * 0.5 tmp3 += ints . tmp201 * 0.5 tmp3 += ints . tmp207 * 0.5 tmp3 += ints . tmp2 * 0.5 tmp3 += ints . tmp34 * 0.5 tmp3 += ints . tmp51 tmp3 += ints . tmp57 * 0.5 tmp3 += ints . tmp70 tmp3 += ints . tmp83 tmp3 += ints . tmp90 * 0.5 tmp3 += f . aa . ov * - 0.5 tmp3 += ints . tmp101 * - 0.5 tmp3 += ints . tmp11 * - 0.5 tmp3 += ints . tmp157 * - 0.5 tmp3 += ints . tmp179 * - 0.5 tmp3 += ints . tmp191 * - 0.5 tmp3 += ints . tmp199 * - 0.5 tmp3 += ints . tmp32 * - 0.5 tmp3 += ints . tmp39 * - 0.5 tmp3 += ints . tmp5 * - 0.5 tmp3 += ints . tmp76 * - 0.5 tmp3 += ints . tmp86 * - 1 tmp3 += ints . tmp8 * - 1 tmp3 += ints . tmp94 * - 0.5 tmp3 += ints . tmp98 * - 1 tmp5 = np . copy ( ints . tmp124 ) tmp5 += np . transpose ( ints . tmp223 , ( 0 , 2 , 1 , 3 )) tmp5 += np . transpose ( ints . tmp240 , ( 0 , 2 , 1 , 3 )) tmp5 += np . transpose ( ints . tmp250 , ( 0 , 2 , 1 , 3 )) tmp5 += np . transpose ( ints . tmp254 , ( 0 , 2 , 1 , 3 )) * 2 tmp5 += ints . tmp264 tmp5 += ints . tmp279 tmp5 += ints . tmp283 tmp5 += ints . tmp291 tmp5 += ints . tmp297 * 2 tmp5 += ints . tmp328 tmp5 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp5 += np . transpose ( ints . tmp232 , ( 0 , 2 , 1 , 3 )) * - 1 tmp5 += ints . tmp247 * - 1 tmp5 += ints . tmp253 * - 1 tmp5 += ints . tmp275 * - 1 tmp5 += ints . tmp294 * - 1 tmp5 += ints . tmp301 * - 1 tmp5 += ints . tmp309 * - 1 tmp5 += ints . tmp319 * - 1 tmp5 += np . transpose ( ints . tmp320 , ( 0 , 2 , 1 , 3 )) * - 1 tmp5 += ints . tmp336 * - 1 tmp2 = np . copy ( ints . tmp120 ) tmp2 += ints . tmp125 * 0.5 tmp2 += ints . tmp141 tmp2 += ints . tmp144 * 0.5 tmp2 += ints . tmp164 * 0.5 tmp2 += ints . tmp168 * 0.5 tmp2 += ints . tmp187 * 0.5 tmp2 += ints . tmp206 * 0.5 tmp2 += ints . tmp210 * 0.5 tmp2 += ints . tmp22 * 0.5 tmp2 += ints . tmp37 * 0.5 tmp2 += ints . tmp4 * 0.5 tmp2 += ints . tmp53 tmp2 += ints . tmp55 * 0.5 tmp2 += ints . tmp72 tmp2 += ints . tmp85 * 0.5 tmp2 += ints . tmp92 tmp2 += f . bb . ov * - 0.5 tmp2 += ints . tmp100 * - 0.5 tmp2 += ints . tmp103 * - 1 tmp2 += ints . tmp10 * - 0.5 tmp2 += ints . tmp13 * - 1 tmp2 += ints . tmp162 * - 0.5 tmp2 += ints . tmp185 * - 0.5 tmp2 += ints . tmp189 * - 0.5 tmp2 += ints . tmp204 * - 0.5 tmp2 += ints . tmp36 * - 0.5 tmp2 += ints . tmp38 * - 0.5 tmp2 += ints . tmp74 * - 0.5 tmp2 += ints . tmp7 * - 0.5 tmp2 += ints . tmp88 * - 0.5 tmp2 += ints . tmp96 * - 1 tmp1 = np . copy ( ints . tmp109 ) * 0.5 tmp1 += ints . tmp113 * 0.5 tmp1 += ints . tmp130 tmp1 += ints . tmp149 * 0.5 tmp1 += np . transpose ( ints . tmp15 , ( 1 , 2 , 0 , 3 )) * 0.5 tmp1 += ints . tmp170 * 0.5 tmp1 += ints . tmp212 * 0.5 tmp1 += np . transpose ( ints . tmp28 , ( 1 , 2 , 0 , 3 )) * 0.5 tmp1 += np . transpose ( ints . tmp43 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp1 += np . transpose ( ints . tmp62 , ( 0 , 2 , 1 , 3 )) tmp1 += np . transpose ( ints . tmp66 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp1 += ints . tmp105 * - 0.5 tmp1 += ints . tmp127 * - 1 tmp1 += ints . tmp133 * - 0.5 tmp1 += np . transpose ( ints . tmp172 , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp1 += ints . tmp194 * - 0.5 tmp1 += ints . tmp41 * - 0.5 tmp1 += ints . tmp59 * - 1 tmp1 += ints . tmp78 * - 0.5 tmp1 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp0 = np . copy ( ints . tmp111 ) tmp0 += ints . tmp115 tmp0 += ints . tmp129 tmp0 += ints . tmp135 * 2 tmp0 += np . transpose ( ints . tmp17 , ( 1 , 0 , 2 , 3 )) tmp0 += ints . tmp197 tmp0 += ints . tmp45 tmp0 += np . transpose ( ints . tmp46 , ( 1 , 0 , 2 , 3 )) tmp0 += np . transpose ( ints . tmp64 , ( 1 , 0 , 2 , 3 )) tmp0 += np . transpose ( ints . tmp68 , ( 1 , 0 , 2 , 3 )) * 2 tmp0 += ints . tmp80 tmp0 += v . aabb . ooov tmp0 += ints . tmp107 * - 1 tmp0 += ints . tmp132 * - 1 tmp0 += ints . tmp137 * - 1 tmp0 += ints . tmp152 * - 1 tmp0 += ints . tmp175 * - 1 tmp0 += np . transpose ( ints . tmp177 , ( 1 , 0 , 2 , 3 )) * - 1 tmp0 += ints . tmp215 * - 1 tmp0 += np . transpose ( ints . tmp30 , ( 1 , 0 , 2 , 3 )) * - 1 tmp0 += ints . tmp61 * - 1 tmp0 += ints . tmp65 * - 1 r2new . bbb = np . copy ( tmp84 ) * - 1 r2new . bbb += np . transpose ( tmp84 , ( 1 , 0 , 2 )) del tmp84 r2new . bbb += tmp93 r2new . bbb += np . transpose ( tmp93 , ( 1 , 0 , 2 )) * - 1 del tmp93 r2new . bbb += einsum ( tmp94 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 1 , 0 , 4 ), ( 2 , 3 , 4 )) * - 2 del tmp94 r2new . bbb += einsum ( tmp64 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp62 , ( 1 , 2 ), ( 0 , 1 , 2 )) r2new . bbb += einsum ( tmp62 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) * - 1 r2new . bab = einsum ( tmp55 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 0 , 4 , 3 ), ( 1 , 4 , 2 )) del tmp55 r2new . bab += einsum ( tmp56 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 0 , 2 ), ( 1 , 4 , 3 )) * - 2 del tmp56 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp57 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * - 1 del tmp57 r2new . bab += einsum ( tmp58 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 0 , 4 ), ( 3 , 1 , 4 )) del tmp58 r2new . bab += einsum ( tmp59 , ( 0 , 1 , 2 , 3 ), tmp11 , ( 4 , 0 , 1 ), ( 2 , 4 , 3 )) del tmp59 r2new . bab += einsum ( tmp11 , ( 0 , 1 , 2 ), tmp60 , ( 0 , 3 , 2 , 4 ), ( 1 , 3 , 4 )) * - 1 del tmp11 , tmp60 r2new . bab += einsum ( tmp61 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 0 , 4 , 1 ), ( 2 , 4 , 3 )) * - 2 del tmp20 r2new . bab += einsum ( tmp64 , ( 0 , 1 ), r2 . bab , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp64 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp65 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp65 r2new . bab += einsum ( tmp4 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . bab += einsum ( tmp66 , ( 0 ,), v . aabb . ovov , ( 1 , 0 , 2 , 3 ), ( 2 , 1 , 3 )) * 2 del tmp66 r2new . bab += einsum ( tmp61 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 0 ,), ( 2 , 1 , 3 )) del tmp61 r2new . bab += einsum ( tmp62 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) * - 1 del tmp62 r2new . aba = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp43 , ( 0 , 3 , 4 , 2 ), ( 3 , 1 , 4 )) del tmp43 r2new . aba += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp44 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) * - 2 del tmp44 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp45 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * - 1 del tmp45 r2new . aba += einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 2 , 4 ), ( 1 , 3 , 4 )) del tmp46 r2new . aba += einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), tmp47 , ( 0 , 1 , 4 ), ( 2 , 4 , 3 )) * - 1 del tmp48 r2new . aba += einsum ( tmp49 , ( 0 , 1 , 2 ), tmp50 , ( 3 , 0 , 2 , 4 ), ( 3 , 1 , 4 )) * - 2 del tmp49 r2new . aba += einsum ( tmp47 , ( 0 , 1 , 2 ), tmp50 , ( 1 , 2 , 3 , 4 ), ( 0 , 3 , 4 )) del tmp47 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp42 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( tmp7 , ( 0 , 1 ), r2 . aba , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . aba += einsum ( tmp51 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 del tmp51 r2new . aba += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp54 , ( 3 ,), ( 0 , 2 , 1 )) del tmp54 r2new . aba += einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 1 ,), ( 0 , 2 , 3 )) del tmp50 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp40 , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 r2new . aaa = np . copy ( tmp27 ) * - 1 r2new . aaa += np . transpose ( tmp27 , ( 1 , 0 , 2 )) del tmp27 r2new . aaa += tmp38 r2new . aaa += np . transpose ( tmp38 , ( 1 , 0 , 2 )) * - 1 del tmp38 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp39 , ( 0 , 1 , 3 , 4 ), ( 3 , 4 , 2 )) * 2 del tmp39 r2new . aaa += einsum ( tmp42 , ( 0 , 1 ), r2 . aaa , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 del tmp42 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp40 , ( 1 , 2 ), ( 0 , 1 , 2 )) r2new . aaa += einsum ( tmp40 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) * - 1 del tmp40 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp5 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) del tmp5 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp6 , ( 1 , 0 , 3 , 2 ), ( 3 ,)) * - 4 del tmp6 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp2 , ( 1 , 2 ), ( 0 ,)) * - 4 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp3 , ( 0 , 2 ), ( 1 ,)) * 2 r1new . b += einsum ( tmp7 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp7 r1new . a = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp0 , ( 1 , 3 , 0 , 2 ), ( 3 ,)) del tmp0 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp1 , ( 1 , 0 , 3 , 2 ), ( 3 ,)) * - 4 del tmp1 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp2 , ( 0 , 2 ), ( 1 ,)) * 2 del tmp2 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp3 , ( 1 , 2 ), ( 0 ,)) * - 4 del tmp3 r1new . a += einsum ( tmp4 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . UCCSD . hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-13T22:25:19.852199. 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 tmp10 : array tmp100 : array tmp101 : array tmp103 : array tmp11 : array tmp111 : array tmp112 : array tmp114 : array tmp115 : array tmp117 : array tmp118 : array tmp120 : array tmp121 : array tmp123 : array tmp125 : array tmp127 : array tmp128 : array tmp13 : array tmp130 : array tmp131 : array tmp133 : array tmp134 : array tmp136 : array tmp137 : array tmp139 : array tmp141 : array tmp142 : array tmp144 : array tmp145 : array tmp147 : array tmp149 : array tmp150 : array tmp151 : array tmp153 : array tmp154 : array tmp156 : array tmp157 : array tmp158 : array tmp159 : array tmp160 : array tmp161 : array tmp163 : array tmp164 : array tmp169 : array tmp171 : array tmp173 : array tmp174 : array tmp175 : array tmp176 : array tmp177 : array tmp178 : array tmp179 : array tmp181 : array tmp183 : array tmp185 : array tmp186 : array tmp187 : array tmp188 : array tmp19 : array tmp190 : array tmp191 : array tmp193 : array tmp194 : array tmp195 : array tmp196 : array tmp197 : array tmp198 : array tmp2 : array tmp20 : array tmp200 : array tmp201 : array tmp22 : array tmp226 : array tmp228 : array tmp23 : array tmp230 : array tmp232 : array tmp238 : array tmp240 : array tmp246 : array tmp247 : array tmp249 : array tmp250 : array tmp252 : array tmp254 : array tmp256 : array tmp26 : array tmp27 : array tmp276 : array tmp278 : array tmp28 : array tmp284 : array tmp285 : array tmp287 : array tmp288 : array tmp29 : array tmp290 : array tmp292 : array tmp294 : array tmp305 : array tmp307 : array tmp309 : array tmp31 : array tmp310 : array tmp33 : array tmp34 : array tmp35 : array tmp36 : array tmp4 : array tmp43 : array tmp45 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp53 : array tmp55 : array tmp57 : array tmp59 : array tmp61 : array tmp63 : array tmp65 : array tmp67 : array tmp69 : array tmp7 : array tmp71 : array tmp73 : array tmp74 : array tmp76 : array tmp77 : array tmp79 : array tmp8 : array tmp81 : array tmp82 : array tmp83 : array tmp85 : array tmp86 : array tmp88 : array tmp89 : array tmp90 : array tmp92 : array tmp94 : array tmp96 : array tmp98 : array Source code in ebcc/codegen/UCCSD.py 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 7394 7395 7396 7397 7398 7399 7400 7401 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7496 7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 7512 7513 7514 7515 7516 7517 7518 7519 7520 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530 7531 7532 7533 7534 7535 7536 7537 7538 7539 7540 7541 7542 7543 7544 7545 7546 7547 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561 7562 7563 7564 7565 7566 7567 7568 7569 7570 7571 7572 7573 7574 def hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:25:19.852199. 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 ------- tmp10 : array tmp100 : array tmp101 : array tmp103 : array tmp11 : array tmp111 : array tmp112 : array tmp114 : array tmp115 : array tmp117 : array tmp118 : array tmp120 : array tmp121 : array tmp123 : array tmp125 : array tmp127 : array tmp128 : array tmp13 : array tmp130 : array tmp131 : array tmp133 : array tmp134 : array tmp136 : array tmp137 : array tmp139 : array tmp141 : array tmp142 : array tmp144 : array tmp145 : array tmp147 : array tmp149 : array tmp150 : array tmp151 : array tmp153 : array tmp154 : array tmp156 : array tmp157 : array tmp158 : array tmp159 : array tmp160 : array tmp161 : array tmp163 : array tmp164 : array tmp169 : array tmp171 : array tmp173 : array tmp174 : array tmp175 : array tmp176 : array tmp177 : array tmp178 : array tmp179 : array tmp181 : array tmp183 : array tmp185 : array tmp186 : array tmp187 : array tmp188 : array tmp19 : array tmp190 : array tmp191 : array tmp193 : array tmp194 : array tmp195 : array tmp196 : array tmp197 : array tmp198 : array tmp2 : array tmp20 : array tmp200 : array tmp201 : array tmp22 : array tmp226 : array tmp228 : array tmp23 : array tmp230 : array tmp232 : array tmp238 : array tmp240 : array tmp246 : array tmp247 : array tmp249 : array tmp250 : array tmp252 : array tmp254 : array tmp256 : array tmp26 : array tmp27 : array tmp276 : array tmp278 : array tmp28 : array tmp284 : array tmp285 : array tmp287 : array tmp288 : array tmp29 : array tmp290 : array tmp292 : array tmp294 : array tmp305 : array tmp307 : array tmp309 : array tmp31 : array tmp310 : array tmp33 : array tmp34 : array tmp35 : array tmp36 : array tmp4 : array tmp43 : array tmp45 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp53 : array tmp55 : array tmp57 : array tmp59 : array tmp61 : array tmp63 : array tmp65 : array tmp67 : array tmp69 : array tmp7 : array tmp71 : array tmp73 : array tmp74 : array tmp76 : array tmp77 : array tmp79 : array tmp8 : array tmp81 : array tmp82 : array tmp83 : array tmp85 : array tmp86 : array tmp88 : array tmp89 : array tmp90 : array tmp92 : array tmp94 : array tmp96 : array tmp98 : array \"\"\" tmp35 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp36 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp33 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp89 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp29 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp82 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp117 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp114 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp200 = einsum ( t1 . bb , ( 0 , 1 ), tmp35 , ( 2 , 1 ), ( 0 , 2 )) tmp197 = einsum ( t1 . aa , ( 0 , 1 ), tmp36 , ( 2 , 1 ), ( 0 , 2 )) tmp195 = einsum ( t1 . bb , ( 0 , 1 ), tmp33 , ( 2 , 1 ), ( 0 , 2 )) tmp193 = einsum ( tmp89 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp190 = einsum ( t1 . aa , ( 0 , 1 ), tmp29 , ( 2 , 1 ), ( 0 , 2 )) tmp187 = einsum ( tmp82 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp28 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp177 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp175 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 )) tmp173 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 1 ), ( 2 , 3 )) tmp27 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp26 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp163 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp160 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ooov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp158 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp156 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 3 ), ( 0 , 2 )) tmp153 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp150 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp136 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp133 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp130 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp127 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp120 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp111 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp22 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 2 , 1 ), ( 2 , 0 )) tmp19 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp310 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 0 , 3 )) tmp309 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp307 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp305 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp294 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp292 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp290 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp288 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp287 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp285 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp284 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp278 = einsum ( tmp117 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp276 = einsum ( tmp114 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp256 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp254 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) tmp252 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp250 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp249 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp247 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp246 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp240 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp238 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp232 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp230 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp228 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . vvvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp226 = einsum ( v . bbbb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp201 = einsum ( t1 . bb , ( 0 , 1 ), tmp200 , ( 2 , 0 ), ( 2 , 1 )) tmp198 = einsum ( tmp197 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp196 = einsum ( t1 . bb , ( 0 , 1 ), tmp195 , ( 2 , 0 ), ( 2 , 1 )) tmp194 = einsum ( t1 . bb , ( 0 , 1 ), tmp193 , ( 2 , 0 ), ( 2 , 1 )) tmp191 = einsum ( tmp190 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp188 = einsum ( tmp187 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp186 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp185 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 2 , 0 , 1 )) tmp183 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp181 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp179 = einsum ( t1 . aa , ( 0 , 1 ), tmp28 , ( 2 , 1 ), ( 0 , 2 )) tmp178 = einsum ( tmp177 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp176 = einsum ( t1 . bb , ( 0 , 1 ), tmp175 , ( 1 , 2 ), ( 0 , 2 )) tmp174 = einsum ( t1 . bb , ( 0 , 1 ), tmp173 , ( 2 , 1 ), ( 0 , 2 )) tmp171 = einsum ( tmp27 , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 2 , 1 )) tmp169 = einsum ( t1 . aa , ( 0 , 1 ), tmp26 , ( 2 , 1 ), ( 0 , 2 )) tmp164 = einsum ( t1 . bb , ( 0 , 1 ), tmp163 , ( 2 , 0 ), ( 2 , 1 )) tmp161 = einsum ( tmp160 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp159 = einsum ( t1 . bb , ( 0 , 1 ), tmp158 , ( 2 , 0 ), ( 2 , 1 )) tmp157 = einsum ( tmp156 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp154 = einsum ( tmp153 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp151 = einsum ( tmp150 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp149 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp147 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp145 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp144 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp142 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp141 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) tmp139 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp137 = einsum ( tmp136 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp134 = einsum ( t1 . bb , ( 0 , 1 ), tmp133 , ( 2 , 0 ), ( 2 , 1 )) tmp131 = einsum ( t1 . bb , ( 0 , 1 ), tmp130 , ( 2 , 0 ), ( 2 , 1 )) tmp128 = einsum ( tmp127 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp125 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp120 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp123 = einsum ( tmp111 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 tmp121 = einsum ( tmp120 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) tmp118 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp117 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp115 = einsum ( tmp114 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp112 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp111 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 tmp103 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp35 , ( 1 , 3 ), ( 0 , 2 )) tmp101 = einsum ( tmp35 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp100 = einsum ( tmp36 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp98 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp36 , ( 1 , 3 ), ( 0 , 2 )) tmp96 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp33 , ( 1 , 3 ), ( 0 , 2 )) tmp94 = einsum ( tmp33 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp92 = einsum ( tmp89 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp90 = einsum ( tmp89 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp88 = einsum ( tmp29 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp86 = einsum ( tmp29 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp85 = einsum ( tmp82 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp83 = einsum ( tmp82 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp81 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp79 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp77 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 5 , 0 , 1 )) tmp76 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 0 , 4 , 5 , 2 ), ( 1 , 4 , 5 , 3 )) tmp74 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp73 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp71 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp69 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp67 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp65 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp63 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 4 )) * - 1 tmp61 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 4 , 5 , 1 ), ( 5 , 2 , 4 , 3 )) tmp59 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 0 , 5 ), ( 4 , 2 , 3 , 5 )) * - 1 tmp57 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp55 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) tmp53 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp51 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 1 tmp49 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp47 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp45 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp43 = einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp34 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp31 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp23 = einsum ( t1 . bb , ( 0 , 1 ), tmp22 , ( 0 , 2 ), ( 2 , 1 )) tmp20 = einsum ( tmp19 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp13 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp11 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp10 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp8 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp7 = einsum ( f . bb . vv , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp5 = einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp4 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . oo , ( 2 , 0 ), ( 2 , 1 )) tmp2 = einsum ( f . aa . oo , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) return { f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp101\" : tmp101 , f \"tmp103\" : tmp103 , f \"tmp11\" : tmp11 , f \"tmp111\" : tmp111 , f \"tmp112\" : tmp112 , f \"tmp114\" : tmp114 , f \"tmp115\" : tmp115 , f \"tmp117\" : tmp117 , f \"tmp118\" : tmp118 , f \"tmp120\" : tmp120 , f \"tmp121\" : tmp121 , f \"tmp123\" : tmp123 , f \"tmp125\" : tmp125 , f \"tmp127\" : tmp127 , f \"tmp128\" : tmp128 , f \"tmp13\" : tmp13 , f \"tmp130\" : tmp130 , f \"tmp131\" : tmp131 , f \"tmp133\" : tmp133 , f \"tmp134\" : tmp134 , f \"tmp136\" : tmp136 , f \"tmp137\" : tmp137 , f \"tmp139\" : tmp139 , f \"tmp141\" : tmp141 , f \"tmp142\" : tmp142 , f \"tmp144\" : tmp144 , f \"tmp145\" : tmp145 , f \"tmp147\" : tmp147 , f \"tmp149\" : tmp149 , f \"tmp150\" : tmp150 , f \"tmp151\" : tmp151 , f \"tmp153\" : tmp153 , f \"tmp154\" : tmp154 , f \"tmp156\" : tmp156 , f \"tmp157\" : tmp157 , f \"tmp158\" : tmp158 , f \"tmp159\" : tmp159 , f \"tmp160\" : tmp160 , f \"tmp161\" : tmp161 , f \"tmp163\" : tmp163 , f \"tmp164\" : tmp164 , f \"tmp169\" : tmp169 , f \"tmp171\" : tmp171 , f \"tmp173\" : tmp173 , f \"tmp174\" : tmp174 , f \"tmp175\" : tmp175 , f \"tmp176\" : tmp176 , f \"tmp177\" : tmp177 , f \"tmp178\" : tmp178 , f \"tmp179\" : tmp179 , f \"tmp181\" : tmp181 , f \"tmp183\" : tmp183 , f \"tmp185\" : tmp185 , f \"tmp186\" : tmp186 , f \"tmp187\" : tmp187 , f \"tmp188\" : tmp188 , f \"tmp19\" : tmp19 , f \"tmp190\" : tmp190 , f \"tmp191\" : tmp191 , f \"tmp193\" : tmp193 , f \"tmp194\" : tmp194 , f \"tmp195\" : tmp195 , f \"tmp196\" : tmp196 , f \"tmp197\" : tmp197 , f \"tmp198\" : tmp198 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp200\" : tmp200 , f \"tmp201\" : tmp201 , f \"tmp22\" : tmp22 , f \"tmp226\" : tmp226 , f \"tmp228\" : tmp228 , f \"tmp23\" : tmp23 , f \"tmp230\" : tmp230 , f \"tmp232\" : tmp232 , f \"tmp238\" : tmp238 , f \"tmp240\" : tmp240 , f \"tmp246\" : tmp246 , f \"tmp247\" : tmp247 , f \"tmp249\" : tmp249 , f \"tmp250\" : tmp250 , f \"tmp252\" : tmp252 , f \"tmp254\" : tmp254 , f \"tmp256\" : tmp256 , f \"tmp26\" : tmp26 , f \"tmp27\" : tmp27 , f \"tmp276\" : tmp276 , f \"tmp278\" : tmp278 , f \"tmp28\" : tmp28 , f \"tmp284\" : tmp284 , f \"tmp285\" : tmp285 , f \"tmp287\" : tmp287 , f \"tmp288\" : tmp288 , f \"tmp29\" : tmp29 , f \"tmp290\" : tmp290 , f \"tmp292\" : tmp292 , f \"tmp294\" : tmp294 , f \"tmp305\" : tmp305 , f \"tmp307\" : tmp307 , f \"tmp309\" : tmp309 , f \"tmp31\" : tmp31 , f \"tmp310\" : tmp310 , f \"tmp33\" : tmp33 , f \"tmp34\" : tmp34 , f \"tmp35\" : tmp35 , f \"tmp36\" : tmp36 , f \"tmp4\" : tmp4 , f \"tmp43\" : tmp43 , f \"tmp45\" : tmp45 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp51\" : tmp51 , f \"tmp53\" : tmp53 , f \"tmp55\" : tmp55 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp61\" : tmp61 , f \"tmp63\" : tmp63 , f \"tmp65\" : tmp65 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp7\" : tmp7 , f \"tmp71\" : tmp71 , f \"tmp73\" : tmp73 , f \"tmp74\" : tmp74 , f \"tmp76\" : tmp76 , f \"tmp77\" : tmp77 , f \"tmp79\" : tmp79 , f \"tmp8\" : tmp8 , f \"tmp81\" : tmp81 , f \"tmp82\" : tmp82 , f \"tmp83\" : tmp83 , f \"tmp85\" : tmp85 , f \"tmp86\" : tmp86 , f \"tmp88\" : tmp88 , f \"tmp89\" : tmp89 , f \"tmp90\" : tmp90 , f \"tmp92\" : tmp92 , f \"tmp94\" : tmp94 , f \"tmp96\" : tmp96 , f \"tmp98\" : tmp98 } ebcc . codegen . UCCSD . hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-13T22:25:19.936973. 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. Source code in ebcc/codegen/UCCSD.py 7576 7577 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 7588 7589 7590 7591 7592 7593 7594 7595 7596 7597 7598 7599 7600 7601 7602 7603 7604 7605 7606 7607 7608 7609 7610 7611 7612 7613 7614 7615 7616 7617 7618 7619 7620 7621 7622 7623 7624 7625 7626 7627 7628 7629 7630 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 7643 7644 7645 7646 7647 7648 7649 7650 7651 7652 7653 7654 7655 7656 7657 7658 7659 7660 7661 7662 7663 7664 7665 7666 7667 7668 7669 7670 7671 7672 7673 7674 7675 7676 7677 7678 7679 7680 7681 7682 7683 7684 7685 7686 7687 7688 7689 7690 7691 7692 7693 7694 7695 7696 7697 7698 7699 7700 7701 7702 7703 7704 7705 7706 7707 7708 7709 7710 7711 7712 7713 7714 7715 7716 7717 7718 7719 7720 7721 7722 7723 7724 7725 7726 7727 7728 7729 7730 7731 7732 7733 7734 7735 7736 7737 7738 7739 7740 7741 7742 7743 7744 7745 7746 7747 7748 7749 7750 7751 7752 7753 7754 7755 7756 7757 7758 7759 7760 7761 7762 7763 7764 7765 7766 7767 7768 7769 7770 7771 7772 7773 7774 7775 7776 7777 7778 7779 7780 7781 7782 7783 7784 7785 7786 7787 7788 7789 7790 7791 7792 7793 7794 7795 7796 7797 7798 7799 7800 7801 7802 7803 7804 7805 7806 7807 7808 7809 7810 7811 7812 7813 7814 7815 7816 7817 7818 7819 7820 7821 7822 7823 7824 7825 7826 7827 7828 7829 7830 7831 7832 7833 7834 7835 7836 7837 7838 7839 7840 7841 7842 7843 7844 7845 7846 7847 7848 7849 7850 7851 7852 7853 7854 7855 7856 7857 7858 7859 7860 7861 7862 7863 7864 7865 7866 7867 7868 7869 7870 7871 7872 7873 7874 7875 7876 7877 7878 7879 7880 7881 7882 7883 7884 7885 7886 7887 7888 7889 7890 7891 7892 7893 7894 7895 7896 7897 7898 7899 7900 7901 7902 7903 7904 7905 7906 7907 7908 7909 7910 7911 7912 7913 7914 7915 7916 7917 7918 7919 7920 7921 7922 7923 7924 7925 7926 7927 7928 7929 7930 7931 7932 7933 7934 7935 7936 7937 7938 7939 7940 7941 7942 7943 7944 7945 7946 7947 7948 7949 7950 7951 7952 7953 7954 7955 7956 7957 7958 7959 7960 7961 7962 7963 7964 7965 7966 7967 7968 7969 7970 7971 7972 7973 7974 7975 7976 7977 7978 7979 7980 7981 7982 7983 7984 7985 7986 7987 7988 7989 7990 7991 7992 7993 7994 7995 7996 7997 7998 7999 8000 8001 8002 8003 8004 8005 8006 8007 8008 8009 8010 8011 8012 8013 8014 8015 8016 8017 8018 8019 8020 8021 8022 8023 8024 8025 8026 8027 8028 8029 8030 8031 8032 8033 8034 8035 8036 8037 8038 8039 8040 8041 8042 8043 8044 8045 8046 8047 8048 8049 8050 8051 8052 8053 8054 8055 8056 8057 8058 8059 8060 8061 8062 8063 8064 8065 8066 8067 8068 8069 8070 8071 8072 8073 8074 8075 8076 8077 8078 8079 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8091 8092 8093 8094 8095 8096 8097 8098 8099 8100 8101 8102 8103 8104 8105 8106 8107 8108 8109 8110 8111 8112 8113 8114 8115 8116 8117 8118 8119 8120 8121 8122 8123 8124 8125 8126 8127 8128 8129 8130 8131 8132 8133 8134 8135 8136 8137 8138 8139 8140 8141 8142 8143 8144 8145 8146 8147 8148 8149 8150 8151 8152 8153 8154 8155 8156 8157 8158 8159 8160 8161 8162 8163 8164 8165 8166 8167 8168 8169 8170 8171 8172 8173 8174 8175 8176 8177 8178 8179 8180 8181 8182 8183 8184 8185 8186 8187 8188 8189 8190 8191 8192 8193 8194 8195 8196 8197 8198 8199 8200 8201 8202 8203 8204 8205 8206 8207 8208 8209 8210 8211 8212 8213 8214 8215 8216 8217 8218 8219 8220 8221 8222 8223 8224 8225 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:25:19.936973. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp119 = np . copy ( f . bb . ov ) tmp119 += ints . tmp33 tmp119 += ints . tmp35 tmp95 = np . copy ( ints . tmp114 ) * - 1 tmp95 += np . transpose ( ints . tmp114 , ( 0 , 2 , 1 , 3 )) tmp44 = np . copy ( ints . tmp111 ) * - 1 tmp44 += np . transpose ( ints . tmp111 , ( 0 , 2 , 1 , 3 )) tmp62 = np . copy ( f . aa . ov ) tmp62 += ints . tmp29 tmp62 += ints . tmp36 tmp120 = einsum ( t1 . bb , ( 0 , 1 ), tmp119 , ( 0 , 2 ), ( 1 , 2 )) del tmp119 tmp101 = einsum ( ints . tmp89 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp109 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) tmp36 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 1 ), ( 0 ,)) tmp35 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 3 , 0 ), ( 1 ,)) tmp96 = einsum ( tmp95 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp95 tmp106 = einsum ( ints . tmp117 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) tmp48 = einsum ( ints . tmp120 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp53 = einsum ( t1 . aa , ( 0 , 1 ), ints . tmp82 , ( 0 , 2 ), ( 2 , 1 )) tmp45 = einsum ( t1 . aa , ( 0 , 1 ), tmp44 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp44 tmp63 = einsum ( t1 . aa , ( 0 , 1 ), tmp62 , ( 0 , 2 ), ( 1 , 2 )) del tmp62 tmp15 = einsum ( r1 . a , ( 0 ,), t1 . aa , ( 1 , 0 ), ( 1 ,)) tmp17 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 2 , 1 , 0 ), ( 3 ,)) * - 1 tmp115 = np . copy ( ints . tmp284 ) tmp115 += ints . tmp310 tmp115 += ints . tmp290 * 2 tmp121 = np . copy ( ints . tmp175 ) tmp121 += np . transpose ( tmp120 , ( 1 , 0 )) del tmp120 tmp34 = einsum ( r1 . b , ( 0 ,), t1 . bb , ( 1 , 0 ), ( 1 ,)) tmp117 = np . copy ( np . transpose ( ints . tmp305 , ( 0 , 1 , 3 , 2 ))) tmp117 += ints . tmp288 * 2 tmp102 = np . copy ( f . bb . vv ) * 0.5 tmp102 += ints . tmp173 * 0.5 tmp102 += ints . tmp177 * 0.5 tmp102 += ints . tmp230 * - 1 tmp102 += ints . tmp232 * - 0.5 tmp102 += np . transpose ( tmp101 , ( 1 , 0 )) * 0.5 del tmp101 tmp110 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp110 += tmp109 * - 1 del tmp109 tmp104 = np . copy ( tmp35 ) * - 0.5 tmp104 += tmp36 tmp97 = np . copy ( ints . tmp285 ) * 2 tmp97 += ints . tmp292 tmp97 += np . transpose ( ints . tmp307 , ( 0 , 1 , 3 , 2 )) tmp97 += tmp96 * - 1 del tmp96 tmp22 = einsum ( t1 . bb , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp99 = np . copy ( v . bbbb . ooov ) * - 1 tmp99 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) tmp107 = np . copy ( ints . tmp287 ) tmp107 += tmp106 del tmp106 tmp38 = np . copy ( f . bb . ov ) tmp38 += ints . tmp33 tmp38 += ints . tmp35 tmp38 += ints . tmp89 * - 1 tmp19 = np . copy ( f . aa . ov ) tmp19 += ints . tmp29 tmp19 += ints . tmp36 tmp19 += ints . tmp82 * - 1 tmp49 = np . copy ( ints . tmp141 ) * 0.5 tmp49 += ints . tmp147 tmp49 += ints . tmp186 * 0.5 tmp49 += tmp48 * - 0.5 del tmp48 tmp2 = einsum ( t1 . aa , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp51 = np . copy ( v . aaaa . ooov ) * - 1 tmp51 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) tmp54 = np . copy ( f . aa . vv ) * 0.5 tmp54 += ints . tmp26 * 0.5 tmp54 += ints . tmp28 * 0.5 tmp54 += ints . tmp47 * - 1 tmp54 += ints . tmp49 * - 0.5 tmp54 += np . transpose ( tmp53 , ( 1 , 0 )) * 0.5 del tmp53 tmp6 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t1 . bb , ( 3 , 0 ), ( 2 , 3 , 1 )) * - 1 tmp46 = np . copy ( ints . tmp139 ) * 2 tmp46 += ints . tmp145 tmp46 += np . transpose ( ints . tmp183 , ( 0 , 1 , 3 , 2 )) tmp46 += tmp45 * - 1 del tmp45 tmp16 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 2 , 0 , 1 ), ( 3 ,)) tmp60 = np . copy ( np . transpose ( ints . tmp181 , ( 0 , 1 , 3 , 2 ))) tmp60 += ints . tmp142 * 2 tmp64 = np . copy ( ints . tmp27 ) tmp64 += np . transpose ( tmp63 , ( 1 , 0 )) del tmp63 tmp66 = np . copy ( tmp15 ) tmp66 += tmp17 tmp124 = np . copy ( t2 . bbbb ) tmp124 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp116 = einsum ( tmp115 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 1 , 4 , 3 )) del tmp115 tmp113 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 2 ), ( 0 , 4 , 1 )) tmp122 = einsum ( tmp121 , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 3 , 2 , 0 )) * - 1 del tmp121 tmp114 = einsum ( tmp34 , ( 0 ,), v . bbbb . ovov , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) tmp118 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp117 , ( 2 , 3 , 1 , 4 ), ( 3 , 0 , 4 )) * - 1 del tmp117 tmp103 = einsum ( tmp102 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 4 del tmp102 tmp111 = einsum ( tmp110 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 1 , 4 , 3 )) del tmp110 tmp93 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . oovv , ( 3 , 2 , 4 , 1 ), ( 3 , 0 , 4 )) tmp92 = einsum ( r1 . b , ( 0 ,), v . bbbb . ovvv , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) tmp105 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp104 , ( 2 ,), ( 0 , 3 , 1 )) * 2 del tmp104 tmp98 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp97 , ( 2 , 3 , 1 , 4 ), ( 3 , 0 , 4 )) * - 2 del tmp97 tmp94 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), tmp22 , ( 4 , 0 , 3 ), ( 4 , 1 , 2 )) * - 1 tmp100 = einsum ( tmp99 , ( 0 , 1 , 2 , 3 ), tmp22 , ( 0 , 1 , 4 ), ( 2 , 4 , 3 )) * 2 del tmp99 tmp108 = einsum ( tmp107 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 1 , 4 , 3 )) del tmp107 tmp81 = einsum ( t1 . bb , ( 0 , 1 ), tmp38 , ( 0 , 2 ), ( 1 , 2 )) tmp87 = np . copy ( t2 . abab ) tmp87 += einsum ( t1 . aa , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp30 = np . copy ( ints . tmp117 ) tmp30 += v . aabb . ooov tmp79 = einsum ( t1 . aa , ( 0 , 1 ), tmp19 , ( 0 , 2 ), ( 1 , 2 )) tmp74 = np . copy ( ints . tmp120 ) tmp74 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp83 = np . copy ( ints . tmp114 ) * - 1 tmp83 += np . transpose ( ints . tmp114 , ( 0 , 2 , 1 , 3 )) tmp83 += v . bbbb . ooov tmp83 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp72 = np . copy ( ints . tmp111 ) * - 1 tmp72 += np . transpose ( ints . tmp111 , ( 0 , 2 , 1 , 3 )) tmp72 += v . aaaa . ooov tmp72 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp77 = np . copy ( t2 . abab ) tmp77 += einsum ( t1 . aa , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp50 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp49 , ( 3 , 2 , 4 , 0 ), ( 3 , 1 , 4 )) * - 2 del tmp49 tmp41 = einsum ( tmp2 , ( 0 , 1 , 2 ), v . aaaa . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 tmp52 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 1 , 4 ), ( 2 , 4 , 3 )) * 2 del tmp51 tmp40 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 3 , 1 ), ( 0 , 4 , 2 )) tmp55 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp54 , ( 1 , 3 ), ( 2 , 0 , 3 )) * - 4 del tmp54 tmp42 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . aabb . ovoo , ( 3 , 4 , 1 , 0 ), ( 3 , 2 , 4 )) tmp47 = einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 0 ), ( 1 , 4 , 3 )) * - 2 del tmp46 tmp43 = einsum ( tmp16 , ( 0 ,), v . aaaa . ovov , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) * - 1 tmp39 = einsum ( r1 . a , ( 0 ,), v . aaaa . ovvv , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) tmp69 = np . copy ( t2 . aaaa ) tmp69 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp59 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . ovov , ( 3 , 4 , 2 , 0 ), ( 3 , 1 , 4 )) * - 1 tmp61 = einsum ( tmp60 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 0 ), ( 1 , 4 , 3 )) * - 1 del tmp60 tmp58 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp144 , ( 3 , 2 , 4 , 0 ), ( 3 , 4 , 1 )) * - 1 tmp65 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp64 , ( 3 , 1 ), ( 2 , 0 , 3 )) * - 1 del tmp64 tmp67 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp66 , ( 2 ,), ( 0 , 3 , 1 )) del tmp66 tmp57 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 3 , 2 ), ( 0 , 4 , 1 )) tmp26 = einsum ( r2 . aba , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 0 ), ( 2 , 3 , 1 )) tmp125 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp124 , ( 3 , 4 , 0 , 1 ), ( 2 , 4 , 3 )) * - 1 del tmp124 tmp123 = np . copy ( tmp113 ) * 2 del tmp113 tmp123 += tmp114 del tmp114 tmp123 += np . transpose ( tmp116 , ( 0 , 2 , 1 )) del tmp116 tmp123 += np . transpose ( tmp118 , ( 0 , 2 , 1 )) * - 2 del tmp118 tmp123 += np . transpose ( tmp122 , ( 0 , 2 , 1 )) * - 2 del tmp122 tmp112 = np . copy ( tmp92 ) del tmp92 tmp112 += tmp93 * 2 del tmp93 tmp112 += tmp94 * 2 del tmp94 tmp112 += np . transpose ( tmp98 , ( 0 , 2 , 1 )) * - 1 del tmp98 tmp112 += tmp100 * - 1 del tmp100 tmp112 += np . transpose ( tmp103 , ( 0 , 2 , 1 )) * - 1 del tmp103 tmp112 += np . transpose ( tmp105 , ( 0 , 2 , 1 )) * - 1 del tmp105 tmp112 += np . transpose ( tmp108 , ( 0 , 2 , 1 )) del tmp108 tmp112 += tmp111 del tmp111 tmp91 = np . copy ( f . bb . oo ) tmp91 += ints . tmp130 * 2 tmp91 += ints . tmp133 tmp91 += ints . tmp158 tmp91 += ints . tmp163 tmp91 += ints . tmp195 tmp91 += ints . tmp200 tmp91 += np . transpose ( ints . tmp22 , ( 1 , 0 )) tmp91 += ints . tmp156 * - 1 tmp91 += ints . tmp193 * - 1 tmp4 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 1 ), ( 3 , 2 , 0 )) * - 1 tmp89 = np . copy ( np . transpose ( ints . tmp175 , ( 1 , 0 ))) tmp89 += ints . tmp230 * 2 tmp89 += ints . tmp232 tmp89 += f . bb . vv * - 1 tmp89 += ints . tmp173 * - 1 tmp89 += ints . tmp177 * - 1 tmp89 += tmp81 tmp88 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp87 , ( 3 , 4 , 1 , 0 ), ( 3 , 2 , 4 )) * - 1 del tmp87 tmp85 = np . copy ( ints . tmp284 ) tmp85 += ints . tmp290 * 2 tmp85 += ints . tmp310 tmp85 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp85 += ints . tmp287 * - 1 tmp85 += einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 tmp18 = np . copy ( tmp15 ) del tmp15 tmp18 += tmp16 * 2 del tmp16 tmp18 += tmp17 del tmp17 tmp90 = np . copy ( np . transpose ( ints . tmp27 , ( 1 , 0 ))) tmp90 += ints . tmp47 * 2 tmp90 += ints . tmp49 tmp90 += f . aa . vv * - 1 tmp90 += np . transpose ( ints . tmp26 , ( 1 , 0 )) * - 1 tmp90 += np . transpose ( ints . tmp28 , ( 1 , 0 )) * - 1 tmp90 += tmp79 tmp86 = np . copy ( ints . tmp149 ) tmp86 += np . transpose ( ints . tmp185 , ( 0 , 1 , 3 , 2 )) * - 1 tmp86 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) * - 1 tmp86 += einsum ( t1 . aa , ( 0 , 1 ), tmp74 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp84 = np . copy ( ints . tmp285 ) * 2 tmp84 += ints . tmp292 tmp84 += np . transpose ( ints . tmp307 , ( 0 , 1 , 3 , 2 )) tmp84 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp84 += ints . tmp288 * - 2 tmp84 += np . transpose ( ints . tmp305 , ( 0 , 1 , 3 , 2 )) * - 1 tmp84 += v . bbbb . oovv * - 1 tmp84 += einsum ( tmp83 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp83 tmp80 = np . copy ( np . transpose ( ints . tmp27 , ( 1 , 0 ))) tmp80 += ints . tmp47 * 2 tmp80 += ints . tmp49 tmp80 += f . aa . vv * - 1 tmp80 += ints . tmp26 * - 1 tmp80 += ints . tmp28 * - 1 tmp80 += tmp79 del tmp79 tmp75 = np . copy ( ints . tmp141 ) tmp75 += ints . tmp147 * 2 tmp75 += ints . tmp186 tmp75 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp75 += ints . tmp144 * - 1 tmp75 += einsum ( t1 . bb , ( 0 , 1 ), tmp74 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp74 tmp71 = np . copy ( f . aa . oo ) tmp71 += ints . tmp127 * 2 tmp71 += ints . tmp136 tmp71 += ints . tmp153 tmp71 += ints . tmp160 tmp71 += ints . tmp190 tmp71 += ints . tmp197 tmp71 += np . transpose ( ints . tmp19 , ( 1 , 0 )) tmp71 += ints . tmp150 * - 1 tmp71 += ints . tmp187 * - 1 tmp73 = np . copy ( ints . tmp139 ) * 2 tmp73 += ints . tmp145 tmp73 += np . transpose ( ints . tmp183 , ( 0 , 1 , 3 , 2 )) tmp73 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp73 += ints . tmp142 * - 2 tmp73 += np . transpose ( ints . tmp181 , ( 0 , 1 , 3 , 2 )) * - 1 tmp73 += v . aaaa . oovv * - 1 tmp73 += einsum ( t1 . aa , ( 0 , 1 ), tmp72 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp72 tmp24 = einsum ( t1 . bb , ( 0 , 1 ), r2 . aba , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp76 = np . copy ( ints . tmp294 ) tmp76 += np . transpose ( ints . tmp309 , ( 0 , 1 , 3 , 2 )) * - 1 tmp76 += v . aabb . oovv * - 1 tmp76 += einsum ( t1 . bb , ( 0 , 1 ), tmp30 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp82 = np . copy ( np . transpose ( ints . tmp175 , ( 1 , 0 ))) tmp82 += ints . tmp230 * 2 tmp82 += ints . tmp232 tmp82 += f . bb . vv * - 1 tmp82 += np . transpose ( ints . tmp173 , ( 1 , 0 )) * - 1 tmp82 += np . transpose ( ints . tmp177 , ( 1 , 0 )) * - 1 tmp82 += tmp81 del tmp81 tmp78 = einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) del tmp77 tmp37 = np . copy ( tmp34 ) del tmp34 tmp37 += tmp35 * - 1 del tmp35 tmp37 += tmp36 * 2 del tmp36 tmp56 = np . copy ( tmp39 ) del tmp39 tmp56 += tmp40 * 2 del tmp40 tmp56 += tmp41 * 2 del tmp41 tmp56 += tmp42 del tmp42 tmp56 += tmp43 * 2 del tmp43 tmp56 += np . transpose ( tmp47 , ( 0 , 2 , 1 )) * - 1 del tmp47 tmp56 += np . transpose ( tmp50 , ( 0 , 2 , 1 )) del tmp50 tmp56 += tmp52 * - 1 del tmp52 tmp56 += np . transpose ( tmp55 , ( 0 , 2 , 1 )) * - 1 del tmp55 tmp70 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 3 , 4 ), ( 4 , 1 , 0 )) * - 1 del tmp69 tmp68 = np . copy ( tmp57 ) * 2 del tmp57 tmp68 += tmp58 del tmp58 tmp68 += tmp59 del tmp59 tmp68 += np . transpose ( tmp61 , ( 0 , 2 , 1 )) * - 2 del tmp61 tmp68 += np . transpose ( tmp65 , ( 0 , 2 , 1 )) * - 2 del tmp65 tmp68 += np . transpose ( tmp67 , ( 0 , 2 , 1 )) del tmp67 tmp31 = einsum ( t1 . bb , ( 0 , 1 ), tmp22 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * - 1 tmp32 = np . copy ( ints . tmp114 ) tmp32 += v . bbbb . ooov * - 1 tmp21 = np . copy ( np . transpose ( ints . tmp238 , ( 0 , 3 , 1 , 2 ))) * 0.5 tmp21 += np . transpose ( ints . tmp247 , ( 0 , 2 , 1 , 3 )) tmp21 += np . transpose ( ints . tmp254 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp21 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) * 0.5 tmp21 += ints . tmp226 * - 0.5 tmp21 += np . transpose ( ints . tmp250 , ( 0 , 2 , 1 , 3 )) * - 1 tmp21 += np . transpose ( ints . tmp276 , ( 0 , 3 , 1 , 2 )) * - 0.5 tmp27 = np . copy ( np . transpose ( ints . tmp309 , ( 0 , 1 , 3 , 2 ))) tmp27 += v . aabb . oovv tmp27 += ints . tmp294 * - 1 tmp29 = einsum ( t1 . bb , ( 0 , 1 ), tmp26 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) tmp33 = np . copy ( np . transpose ( ints . tmp175 , ( 1 , 0 ))) tmp33 += ints . tmp230 * 2 tmp33 += ints . tmp232 tmp33 += f . bb . vv * - 1 tmp33 += np . transpose ( ints . tmp173 , ( 1 , 0 )) * - 1 tmp33 += np . transpose ( ints . tmp177 , ( 1 , 0 )) * - 1 tmp28 = np . copy ( ints . tmp112 ) * 2 tmp28 += ints . tmp118 tmp28 += ints . tmp128 * 2 tmp28 += ints . tmp137 tmp28 += ints . tmp154 tmp28 += ints . tmp161 tmp28 += ints . tmp171 tmp28 += ints . tmp191 tmp28 += ints . tmp198 tmp28 += ints . tmp20 tmp28 += ints . tmp2 tmp28 += ints . tmp31 tmp28 += ints . tmp51 * 2 tmp28 += ints . tmp57 tmp28 += ints . tmp63 * 2 tmp28 += ints . tmp83 * 2 tmp28 += ints . tmp90 tmp28 += f . aa . ov * - 1 tmp28 += ints . tmp101 * - 1 tmp28 += ints . tmp11 * - 1 tmp28 += ints . tmp151 * - 1 tmp28 += ints . tmp169 * - 1 tmp28 += ints . tmp179 * - 1 tmp28 += ints . tmp188 * - 1 tmp28 += ints . tmp29 * - 1 tmp28 += ints . tmp36 * - 1 tmp28 += ints . tmp5 * - 1 tmp28 += ints . tmp69 * - 1 tmp28 += ints . tmp86 * - 2 tmp28 += ints . tmp8 * - 2 tmp28 += ints . tmp94 * - 1 tmp28 += ints . tmp98 * - 2 tmp23 = np . copy ( ints . tmp285 ) * 2 tmp23 += ints . tmp292 tmp23 += np . transpose ( ints . tmp307 , ( 0 , 1 , 3 , 2 )) tmp23 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp23 += ints . tmp288 * - 2 tmp23 += np . transpose ( ints . tmp305 , ( 0 , 1 , 3 , 2 )) * - 1 tmp23 += v . bbbb . oovv * - 1 tmp20 = np . copy ( ints . tmp228 ) tmp20 += np . transpose ( ints . tmp240 , ( 0 , 1 , 3 , 2 )) tmp20 += ints . tmp246 tmp20 += ints . tmp252 * 2 tmp20 += np . transpose ( ints . tmp278 , ( 0 , 1 , 3 , 2 )) tmp20 += v . aabb . ovvv tmp20 += ints . tmp249 * - 1 tmp20 += np . transpose ( ints . tmp256 , ( 0 , 1 , 3 , 2 )) * - 1 tmp25 = np . copy ( ints . tmp284 ) tmp25 += ints . tmp290 * 2 tmp25 += ints . tmp310 tmp25 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp25 += ints . tmp287 * - 1 tmp9 = np . copy ( ints . tmp115 ) * 2 tmp9 += ints . tmp121 tmp9 += ints . tmp131 * 2 tmp9 += ints . tmp134 tmp9 += ints . tmp159 tmp9 += ints . tmp164 tmp9 += ints . tmp176 tmp9 += ints . tmp196 tmp9 += ints . tmp201 tmp9 += ints . tmp23 tmp9 += ints . tmp34 tmp9 += ints . tmp4 tmp9 += ints . tmp53 * 2 tmp9 += ints . tmp55 tmp9 += ints . tmp65 * 2 tmp9 += ints . tmp85 tmp9 += ints . tmp92 * 2 tmp9 += f . bb . ov * - 1 tmp9 += ints . tmp100 * - 1 tmp9 += ints . tmp103 * - 2 tmp9 += ints . tmp10 * - 1 tmp9 += ints . tmp13 * - 2 tmp9 += ints . tmp157 * - 1 tmp9 += ints . tmp174 * - 1 tmp9 += ints . tmp178 * - 1 tmp9 += ints . tmp194 * - 1 tmp9 += ints . tmp33 * - 1 tmp9 += ints . tmp35 * - 1 tmp9 += ints . tmp67 * - 1 tmp9 += ints . tmp7 * - 1 tmp9 += ints . tmp88 * - 1 tmp9 += ints . tmp96 * - 2 tmp10 = einsum ( tmp6 , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 3 , 0 , 1 )) tmp5 = np . copy ( ints . tmp141 ) tmp5 += ints . tmp147 * 2 tmp5 += ints . tmp186 tmp5 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp5 += ints . tmp144 * - 1 tmp0 = np . copy ( ints . tmp125 ) tmp0 += np . transpose ( ints . tmp45 , ( 0 , 2 , 1 , 3 )) tmp0 += ints . tmp61 tmp0 += np . transpose ( ints . tmp73 , ( 0 , 2 , 1 , 3 )) tmp0 += np . transpose ( ints . tmp79 , ( 0 , 2 , 1 , 3 )) * 2 tmp0 += np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 )) tmp0 += np . transpose ( ints . tmp76 , ( 0 , 2 , 1 , 3 )) * - 1 tmp0 += ints . tmp81 * - 1 tmp11 = np . copy ( ints . tmp120 ) tmp11 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp7 = np . copy ( np . transpose ( ints . tmp185 , ( 0 , 1 , 3 , 2 ))) tmp7 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) tmp7 += ints . tmp149 * - 1 tmp8 = np . copy ( ints . tmp112 ) tmp8 += ints . tmp118 * 0.5 tmp8 += ints . tmp128 tmp8 += ints . tmp137 * 0.5 tmp8 += ints . tmp154 * 0.5 tmp8 += ints . tmp161 * 0.5 tmp8 += ints . tmp171 * 0.5 tmp8 += ints . tmp191 * 0.5 tmp8 += ints . tmp198 * 0.5 tmp8 += ints . tmp20 * 0.5 tmp8 += ints . tmp2 * 0.5 tmp8 += ints . tmp31 * 0.5 tmp8 += ints . tmp51 tmp8 += ints . tmp57 * 0.5 tmp8 += ints . tmp63 tmp8 += ints . tmp83 tmp8 += ints . tmp90 * 0.5 tmp8 += f . aa . ov * - 0.5 tmp8 += ints . tmp101 * - 0.5 tmp8 += ints . tmp11 * - 0.5 tmp8 += ints . tmp151 * - 0.5 tmp8 += ints . tmp169 * - 0.5 tmp8 += ints . tmp179 * - 0.5 tmp8 += ints . tmp188 * - 0.5 tmp8 += ints . tmp29 * - 0.5 tmp8 += ints . tmp36 * - 0.5 tmp8 += ints . tmp5 * - 0.5 tmp8 += ints . tmp69 * - 0.5 tmp8 += ints . tmp86 * - 1 tmp8 += ints . tmp8 * - 1 tmp8 += ints . tmp94 * - 0.5 tmp8 += ints . tmp98 * - 1 tmp14 = np . copy ( np . transpose ( ints . tmp27 , ( 1 , 0 ))) tmp14 += ints . tmp47 * 2 tmp14 += ints . tmp49 tmp14 += f . aa . vv * - 1 tmp14 += np . transpose ( ints . tmp26 , ( 1 , 0 )) * - 1 tmp14 += np . transpose ( ints . tmp28 , ( 1 , 0 )) * - 1 tmp3 = np . copy ( ints . tmp139 ) * 2 tmp3 += ints . tmp145 tmp3 += np . transpose ( ints . tmp183 , ( 0 , 1 , 3 , 2 )) tmp3 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp3 += ints . tmp142 * - 2 tmp3 += np . transpose ( ints . tmp181 , ( 0 , 1 , 3 , 2 )) * - 1 tmp3 += v . aaaa . oovv * - 1 tmp13 = np . copy ( ints . tmp111 ) tmp13 += v . aaaa . ooov * - 1 tmp1 = np . copy ( ints . tmp59 ) * 0.5 tmp1 += np . transpose ( ints . tmp71 , ( 0 , 1 , 3 , 2 )) tmp1 += np . transpose ( ints . tmp77 , ( 0 , 1 , 3 , 2 )) * 0.5 tmp1 += v . aaaa . ovvv * 0.5 tmp1 += ints . tmp123 * - 0.5 tmp1 += np . transpose ( ints . tmp43 , ( 0 , 2 , 3 , 1 )) * - 0.5 tmp1 += np . transpose ( ints . tmp74 , ( 0 , 1 , 3 , 2 )) * - 1 tmp12 = einsum ( t1 . aa , ( 0 , 1 ), tmp2 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * - 1 r2new . bbb = einsum ( v . bbbb . vvvv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) * 2 r2new . bbb += np . transpose ( tmp112 , ( 1 , 2 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp112 , ( 2 , 1 , 0 )) del tmp112 r2new . bbb += np . transpose ( tmp123 , ( 1 , 2 , 0 )) r2new . bbb += np . transpose ( tmp123 , ( 2 , 1 , 0 )) * - 1 del tmp123 r2new . bbb += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp125 , ( 4 , 0 , 2 ), ( 3 , 1 , 4 )) * - 2 del tmp125 r2new . bbb += einsum ( tmp91 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp38 , ( 1 , 2 ), ( 0 , 2 , 1 )) r2new . bbb += einsum ( tmp38 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 1 , 2 , 0 )) * - 1 r2new . bab = einsum ( tmp4 , ( 0 , 1 , 2 ), v . aabb . ovvv , ( 0 , 3 , 4 , 2 ), ( 4 , 3 , 1 )) r2new . bab += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 2 , 1 ), ( 3 , 0 , 4 )) r2new . bab += einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 2 , 0 , 4 )) r2new . bab += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 3 , 0 , 2 )) * - 1 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp84 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 , 3 )) del tmp84 r2new . bab += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp85 , ( 2 , 3 , 1 , 4 ), ( 4 , 0 , 3 )) * - 2 del tmp85 r2new . bab += einsum ( tmp86 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) del tmp86 r2new . bab += einsum ( tmp88 , ( 0 , 1 , 2 ), v . aabb . ovov , ( 0 , 3 , 2 , 4 ), ( 4 , 3 , 1 )) * - 1 del tmp88 r2new . bab += einsum ( tmp89 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 del tmp89 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp90 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp90 r2new . bab += einsum ( tmp91 , ( 0 , 1 ), r2 . bab , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp91 r2new . bab += einsum ( tmp18 , ( 0 ,), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 3 , 1 , 2 )) r2new . bab += einsum ( r1 . a , ( 0 ,), tmp38 , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new . aba = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), tmp24 , ( 4 , 2 , 1 ), ( 0 , 3 , 4 )) * - 1 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . vvvv , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) r2new . aba += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 1 , 2 , 0 )) * - 1 r2new . aba += einsum ( tmp26 , ( 0 , 1 , 2 ), v . aabb . ovvv , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) * - 1 r2new . aba += einsum ( tmp73 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 3 , 4 , 1 )) del tmp73 r2new . aba += einsum ( tmp75 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 1 ), ( 2 , 4 , 0 )) * - 2 del tmp75 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp76 , ( 2 , 3 , 1 , 4 ), ( 0 , 4 , 3 )) del tmp76 r2new . aba += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp78 , ( 4 , 0 , 2 ), ( 1 , 3 , 4 )) del tmp78 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp80 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp80 r2new . aba += einsum ( tmp82 , ( 0 , 1 ), r2 . aba , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp82 r2new . aba += einsum ( tmp71 , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aba += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp37 , ( 2 ,), ( 1 , 3 , 0 )) r2new . aba += einsum ( r1 . b , ( 0 ,), tmp19 , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new . aaa = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . vvvv , ( 3 , 1 , 4 , 0 ), ( 3 , 4 , 2 )) * - 2 r2new . aaa += np . transpose ( tmp56 , ( 1 , 2 , 0 )) * - 1 r2new . aaa += np . transpose ( tmp56 , ( 2 , 1 , 0 )) del tmp56 r2new . aaa += np . transpose ( tmp68 , ( 1 , 2 , 0 )) r2new . aaa += np . transpose ( tmp68 , ( 2 , 1 , 0 )) * - 1 del tmp68 r2new . aaa += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp70 , ( 4 , 0 , 2 ), ( 3 , 1 , 4 )) * - 2 del tmp70 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp71 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp71 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp19 , ( 1 , 2 ), ( 0 , 2 , 1 )) r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp19 , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp20 , ( 2 , 0 , 3 , 1 ), ( 3 ,)) * - 1 del tmp20 r1new . b += einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 0 ), ( 1 ,)) * - 4 del tmp21 r1new . b += einsum ( tmp22 , ( 0 , 1 , 2 ), tmp23 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * 2 del tmp22 , tmp23 r1new . b += einsum ( tmp24 , ( 0 , 1 , 2 ), tmp25 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) del tmp24 , tmp25 r1new . b += einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), tmp26 , ( 0 , 1 , 2 ), ( 3 ,)) del tmp26 , tmp27 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp9 , ( 2 , 1 ), ( 0 ,)) * - 2 r1new . b += einsum ( tmp28 , ( 0 , 1 ), r2 . aba , ( 1 , 2 , 0 ), ( 2 ,)) del tmp28 r1new . b += einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 0 , 1 , 2 ), ( 3 ,)) * - 1 del tmp30 , tmp29 r1new . b += einsum ( tmp31 , ( 0 , 1 , 2 ), tmp32 , ( 0 , 2 , 1 , 3 ), ( 3 ,)) * - 2 del tmp31 , tmp32 r1new . b += einsum ( r1 . b , ( 0 ,), tmp33 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp33 r1new . b += einsum ( tmp38 , ( 0 , 1 ), tmp37 , ( 0 ,), ( 1 ,)) * - 1 del tmp38 , tmp37 r1new . a = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp0 , ( 2 , 1 , 3 , 0 ), ( 3 ,)) * - 1 del tmp0 r1new . a += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 1 , 0 ), ( 3 ,)) * 4 del tmp1 r1new . a += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 1 , 2 ), ( 3 ,)) * 2 del tmp2 , tmp3 r1new . a += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 1 , 3 ), ( 2 ,)) * - 1 del tmp4 , tmp5 r1new . a += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 0 , 1 , 2 ), ( 3 ,)) * - 1 del tmp6 , tmp7 r1new . a += einsum ( tmp8 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 0 ), ( 2 ,)) * - 4 del tmp8 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp9 , ( 2 , 0 ), ( 1 ,)) del tmp9 r1new . a += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 0 , 1 , 2 ), ( 3 ,)) del tmp11 , tmp10 r1new . a += einsum ( tmp12 , ( 0 , 1 , 2 ), tmp13 , ( 0 , 2 , 1 , 3 ), ( 3 ,)) * - 2 del tmp12 , tmp13 r1new . a += einsum ( r1 . a , ( 0 ,), tmp14 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp14 r1new . a += einsum ( tmp18 , ( 0 ,), tmp19 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp19 , tmp18 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"UCCSD"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.energy","text":"Code generated by albert 0.0.0 on 2024-08-12T21:47:25.839925.","title":"energy"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.energy--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/UCCSD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-12T21:47:25.839925. 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 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp0 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp2 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp2 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp1 = np . copy ( f . bb . ov ) * 2 tmp1 += einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) * 2 tmp1 += einsum ( t1 . bb , ( 0 , 1 ), tmp0 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * - 1 del tmp0 e_cc = einsum ( t1 . bb , ( 0 , 1 ), tmp1 , ( 0 , 1 ), ()) * 0.5 del tmp1 tmp3 = np . copy ( f . aa . ov ) tmp3 += einsum ( t1 . aa , ( 0 , 1 ), tmp2 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * - 0.5 del tmp2 e_cc += einsum ( tmp3 , ( 0 , 1 ), t1 . aa , ( 0 , 1 ), ()) del tmp3 e_cc += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 3 , 1 ), ()) * - 1 e_cc += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ()) e_cc += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 2 , 1 , 3 ), ()) return e_cc","title":"Returns"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-12T21:48:00.365181.","title":"update_amps"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.update_amps--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.update_amps--returns","text":"t1new : Namespace of arrays Updated T1 residuals. t2new : Namespace of arrays Updated T2 residuals. Source code in ebcc/codegen/UCCSD.py 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-12T21:48:00.365181. 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 () tmp13 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp13 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp7 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp7 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp114 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp114 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp12 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) t1new . bb = np . copy ( tmp12 ) tmp14 = einsum ( t1 . bb , ( 0 , 1 ), tmp13 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp13 tmp20 = 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 ), tmp20 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * 2 tmp8 = einsum ( t1 . aa , ( 0 , 1 ), tmp7 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp0 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) t1new . aa = np . copy ( tmp0 ) tmp2 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) t1new . aa += einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * 2 tmp115 = einsum ( t1 . bb , ( 0 , 1 ), tmp114 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp137 = np . copy ( v . bbbb . ooov ) tmp137 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp194 = np . copy ( v . bbbb . ooov ) tmp194 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp21 = 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 ), tmp21 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) * - 1 tmp15 = np . copy ( f . bb . ov ) tmp15 += tmp12 tmp15 += tmp14 * - 1 del tmp14 t1new . bb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp15 , ( 1 , 3 ), ( 0 , 2 )) * 2 t1new . aa += einsum ( tmp15 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp145 = np . copy ( tmp20 ) * - 1 tmp145 += np . transpose ( tmp20 , ( 0 , 2 , 1 , 3 )) tmp113 = np . copy ( v . bbbb . ovvv ) tmp113 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 tmp9 = np . copy ( f . aa . ov ) tmp9 += tmp0 tmp9 += tmp8 * - 1 del tmp8 t1new . bb += einsum ( tmp9 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) t1new . aa += einsum ( tmp9 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 2 tmp79 = np . copy ( v . aaaa . ooov ) * - 1 tmp79 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) tmp35 = np . copy ( v . aaaa . ooov ) tmp35 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp71 = np . copy ( tmp2 ) * - 1 tmp71 += np . transpose ( tmp2 , ( 0 , 2 , 1 , 3 )) tmp69 = np . copy ( v . aaaa . ovvv ) tmp69 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 tmp1 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 tmp116 = np . copy ( f . bb . ov ) tmp116 += tmp12 del tmp12 tmp116 += tmp115 * - 1 del tmp115 tmp29 = np . copy ( v . bbbb . ooov ) tmp29 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp28 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp156 = einsum ( tmp137 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 )) tmp195 = einsum ( tmp194 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp194 tmp173 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) t2new . bbbb = np . copy ( np . transpose ( tmp173 , ( 1 , 0 , 3 , 2 ))) * - 1 t2new . bbbb += np . transpose ( tmp173 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += tmp173 * - 1 t2new . bbbb += np . transpose ( tmp173 , ( 1 , 0 , 2 , 3 )) tmp124 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) t2new . abab = np . copy ( tmp124 ) tmp123 = einsum ( t1 . bb , ( 0 , 1 ), tmp21 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) t2new . abab += tmp123 * - 1 tmp198 = einsum ( t1 . bb , ( 0 , 1 ), tmp20 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp25 = einsum ( t1 . bb , ( 0 , 1 ), tmp15 , ( 2 , 1 ), ( 0 , 2 )) tmp24 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp23 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp146 = einsum ( tmp145 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp145 tmp180 = einsum ( tmp113 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp165 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp93 = einsum ( t1 . aa , ( 0 , 1 ), tmp2 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp6 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp57 = einsum ( t1 . aa , ( 0 , 1 ), tmp9 , ( 2 , 1 ), ( 0 , 2 )) tmp5 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp51 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp17 = np . copy ( v . aaaa . ooov ) tmp17 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp61 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) t2new . aaaa = np . copy ( np . transpose ( tmp61 , ( 1 , 0 , 3 , 2 ))) * - 1 t2new . aaaa += np . transpose ( tmp61 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += tmp61 * - 1 t2new . aaaa += np . transpose ( tmp61 , ( 1 , 0 , 2 , 3 )) tmp80 = einsum ( t1 . aa , ( 0 , 1 ), tmp79 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp79 tmp48 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp48 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp16 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp36 = einsum ( tmp35 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 3 ), ( 1 , 2 )) tmp72 = einsum ( tmp71 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp71 tmp70 = einsum ( t1 . aa , ( 0 , 1 ), tmp69 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp69 tmp65 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 0 , 3 )) tmp66 = einsum ( t1 . aa , ( 0 , 1 ), tmp1 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) t2new . abab += tmp66 * - 1 tmp117 = einsum ( t1 . bb , ( 0 , 1 ), tmp116 , ( 0 , 2 ), ( 1 , 2 )) del tmp116 tmp144 = np . copy ( v . bbbb . ovvv ) * - 1 tmp144 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) tmp112 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp202 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp192 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 5 , 3 )) tmp162 = np . copy ( v . bbbb . ovvv ) * - 1 tmp162 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) tmp107 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp108 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 tmp154 = einsum ( v . bbbb . oooo , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 )) del tmp29 tmp186 = np . copy ( v . bbbb . ooov ) * - 1 tmp186 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) tmp83 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp83 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp167 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp157 = np . copy ( f . bb . oo ) tmp157 += np . transpose ( tmp28 , ( 1 , 0 )) tmp157 += np . transpose ( tmp156 , ( 1 , 0 )) * - 1 del tmp156 tmp110 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) t2new . abab += tmp110 * 2 tmp127 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) t2new . abab += tmp127 * - 1 tmp196 = np . copy ( v . bbbb . oovv ) tmp196 += np . transpose ( tmp195 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp195 tmp208 = np . copy ( v . bbbb . ovvv ) tmp208 += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 3 , 4 , 1 )) tmp204 = einsum ( t1 . bb , ( 0 , 1 ), tmp173 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp173 tmp178 = np . copy ( tmp124 ) * - 1 tmp178 += tmp123 tmp200 = einsum ( tmp198 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp176 = np . copy ( tmp20 ) * - 1 tmp176 += np . transpose ( tmp20 , ( 0 , 2 , 1 , 3 )) tmp175 = np . copy ( v . bbbb . ovvv ) tmp175 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 tmp148 = np . copy ( tmp124 ) tmp148 += tmp123 * - 1 del tmp123 t2new . abab += einsum ( tmp148 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * 2 tmp206 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp171 = np . copy ( tmp23 ) tmp171 += tmp24 * 2 tmp171 += tmp25 tmp181 = np . copy ( np . transpose ( tmp180 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp180 tmp181 += tmp146 * - 1 tmp169 = einsum ( tmp165 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) tmp189 = np . copy ( v . bbbb . ooov ) * - 1 tmp189 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) tmp87 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp87 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp125 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp42 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) t2new . aaaa += tmp42 t2new . aaaa += np . transpose ( tmp42 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp42 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp42 , ( 1 , 0 , 3 , 2 )) tmp44 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp45 = np . copy ( v . aaaa . ovvv ) * - 1 tmp45 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) tmp39 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp40 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp47 = np . copy ( v . aaaa . ovvv ) * - 1 tmp47 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) tmp142 = np . copy ( tmp2 ) tmp142 += np . transpose ( tmp2 , ( 0 , 2 , 1 , 3 )) * - 1 tmp82 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) t2new . abab += tmp82 * - 1 tmp134 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) t2new . abab += tmp134 * 2 tmp140 = np . copy ( np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 ))) tmp140 += einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 2 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) * - 1 tmp99 = einsum ( tmp93 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp62 = np . copy ( v . aaaa . ovvv ) tmp62 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 tmp63 = np . copy ( tmp2 ) * - 1 tmp63 += np . transpose ( tmp2 , ( 0 , 2 , 1 , 3 )) tmp53 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp58 = np . copy ( tmp5 ) * 2 tmp58 += tmp6 tmp58 += tmp57 tmp55 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) tmp18 = einsum ( t1 . aa , ( 0 , 1 ), tmp17 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) del tmp17 tmp95 = einsum ( tmp61 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) del tmp61 tmp101 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) * - 1 tmp91 = np . copy ( v . aaaa . oovv ) tmp91 += np . transpose ( tmp80 , ( 1 , 0 , 2 , 3 )) * - 1 tmp33 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp103 = np . copy ( v . aaaa . ovvv ) tmp103 += einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 0 , 4 ), ( 2 , 4 , 1 , 3 )) tmp85 = np . copy ( v . aaaa . ooov ) * - 1 tmp85 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) tmp97 = einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp49 = np . copy ( f . aa . ov ) tmp49 += tmp0 del tmp0 tmp49 += einsum ( t1 . aa , ( 0 , 1 ), tmp48 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * - 1 tmp37 = np . copy ( f . aa . oo ) tmp37 += np . transpose ( tmp16 , ( 1 , 0 )) tmp37 += np . transpose ( tmp36 , ( 1 , 0 )) * - 1 del tmp36 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp37 , ( 0 , 4 ), ( 4 , 1 , 2 , 3 )) * - 1 tmp73 = np . copy ( np . transpose ( tmp70 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp70 tmp73 += tmp72 * - 1 del tmp72 tmp75 = np . copy ( tmp65 ) tmp75 += tmp66 * - 1 t2new . abab += einsum ( tmp75 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 2 tmp89 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp67 = np . copy ( tmp65 ) * - 1 del tmp65 tmp67 += tmp66 del tmp66 tmp164 = np . copy ( f . bb . vv ) * - 1 tmp164 += np . transpose ( tmp112 , ( 1 , 0 )) * - 1 tmp164 += einsum ( t1 . bb , ( 0 , 1 ), tmp144 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * - 1 tmp164 += np . transpose ( tmp117 , ( 1 , 0 )) t2new . bbbb += einsum ( tmp164 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp164 tmp203 = einsum ( t1 . bb , ( 0 , 1 ), tmp202 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp202 t2new . bbbb += np . transpose ( tmp203 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp203 del tmp203 tmp193 = einsum ( tmp192 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp192 t2new . bbbb += np . transpose ( tmp193 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp193 , ( 1 , 0 , 3 , 2 )) del tmp193 tmp163 = np . copy ( f . bb . vv ) * - 1 tmp163 += np . transpose ( tmp112 , ( 1 , 0 )) * - 1 tmp163 += np . transpose ( tmp107 , ( 1 , 0 )) tmp163 += np . transpose ( tmp108 , ( 1 , 0 )) * 2 tmp163 += einsum ( t1 . bb , ( 0 , 1 ), tmp162 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * - 1 del tmp162 tmp163 += einsum ( t1 . bb , ( 0 , 1 ), tmp15 , ( 0 , 2 ), ( 2 , 1 )) del tmp15 t2new . bbbb += einsum ( tmp163 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp163 tmp153 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . oooo , ( 4 , 1 , 5 , 0 ), ( 4 , 5 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp153 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . bbbb += np . transpose ( tmp153 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . bbbb += np . transpose ( tmp153 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . bbbb += np . transpose ( tmp153 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp153 tmp161 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) t2new . bbbb += tmp161 t2new . bbbb += np . transpose ( tmp161 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp161 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp161 , ( 1 , 0 , 3 , 2 )) del tmp161 tmp155 = einsum ( tmp154 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 2 , 0 , 3 , 4 )) del tmp154 t2new . bbbb += np . transpose ( tmp155 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp155 del tmp155 tmp31 = np . copy ( f . bb . oo ) tmp31 += np . transpose ( tmp28 , ( 1 , 0 )) del tmp28 tmp31 += np . transpose ( tmp30 , ( 1 , 0 )) * - 1 del tmp30 t2new . bbbb += einsum ( tmp31 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp31 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp31 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp31 tmp184 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) t2new . bbbb += np . transpose ( tmp184 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += tmp184 * - 1 t2new . bbbb += np . transpose ( tmp184 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp184 , ( 0 , 1 , 3 , 2 )) del tmp184 tmp187 = np . copy ( v . bbbb . oovv ) tmp187 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp83 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 2 tmp187 += einsum ( tmp186 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 1 del tmp186 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp187 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 2 del tmp187 tmp168 = einsum ( t1 . bb , ( 0 , 1 ), tmp167 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp167 t2new . bbbb += tmp168 t2new . bbbb += np . transpose ( tmp168 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp168 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp168 , ( 1 , 0 , 3 , 2 )) del tmp168 tmp158 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp157 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp157 t2new . bbbb += np . transpose ( tmp158 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp158 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp158 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp158 tmp185 = einsum ( tmp110 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp110 t2new . bbbb += np . transpose ( tmp185 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . bbbb += np . transpose ( tmp185 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp185 , ( 1 , 0 , 3 , 2 )) * 2 t2new . bbbb += tmp185 * 2 del tmp185 tmp174 = einsum ( t1 . bb , ( 0 , 1 ), tmp20 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp20 t2new . bbbb += tmp174 * - 1 t2new . bbbb += np . transpose ( tmp174 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += np . transpose ( tmp174 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp174 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp174 tmp191 = np . copy ( tmp127 ) tmp191 += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) t2new . bbbb += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp191 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 5 , 3 )) del tmp191 tmp197 = einsum ( tmp196 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp196 t2new . bbbb += tmp197 * - 2 t2new . bbbb += np . transpose ( tmp197 , ( 1 , 0 , 2 , 3 )) * 2 del tmp197 tmp209 = np . copy ( v . bbbb . vvvv ) * - 1 tmp209 += einsum ( tmp208 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 3 , 2 , 1 , 4 )) del tmp208 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp209 , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) * - 2 del tmp209 tmp205 = einsum ( tmp204 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp204 t2new . bbbb += np . transpose ( tmp205 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += tmp205 * - 1 t2new . bbbb += np . transpose ( tmp205 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp205 , ( 0 , 1 , 3 , 2 )) del tmp205 tmp179 = einsum ( tmp178 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp178 t2new . bbbb += tmp179 * - 1 t2new . bbbb += np . transpose ( tmp179 , ( 0 , 1 , 3 , 2 )) del tmp179 tmp166 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp165 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp165 t2new . bbbb += np . transpose ( tmp166 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp166 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp166 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp166 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp166 tmp201 = einsum ( t1 . bb , ( 0 , 1 ), tmp200 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp200 t2new . bbbb += np . transpose ( tmp201 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp201 del tmp201 tmp177 = einsum ( t1 . bb , ( 0 , 1 ), tmp175 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp175 tmp177 += einsum ( t1 . bb , ( 0 , 1 ), tmp176 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp176 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp177 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * 2 del tmp177 tmp183 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp148 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp148 t2new . bbbb += np . transpose ( tmp183 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp183 , ( 1 , 0 , 3 , 2 )) del tmp183 tmp188 = np . copy ( tmp127 ) del tmp127 tmp188 += einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) t2new . bbbb += einsum ( tmp188 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 del tmp188 tmp160 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) t2new . bbbb += tmp160 * 2 t2new . bbbb += np . transpose ( tmp160 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp160 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . bbbb += np . transpose ( tmp160 , ( 1 , 0 , 3 , 2 )) * 2 del tmp160 tmp207 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp206 , ( 4 , 5 , 1 , 0 ), ( 5 , 4 , 2 , 3 )) del tmp206 t2new . bbbb += np . transpose ( tmp207 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp207 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp207 tmp172 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp171 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp171 t2new . bbbb += np . transpose ( tmp172 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp172 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp172 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp172 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp172 tmp199 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp198 , ( 4 , 5 , 1 , 0 ), ( 5 , 4 , 2 , 3 )) del tmp198 t2new . bbbb += np . transpose ( tmp199 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp199 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp199 tmp182 = einsum ( tmp181 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp181 t2new . bbbb += np . transpose ( tmp182 , ( 1 , 0 , 2 , 3 )) * 2 t2new . bbbb += tmp182 * - 2 t2new . bbbb += np . transpose ( tmp182 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp182 tmp210 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) t2new . bbbb += einsum ( t1 . bb , ( 0 , 1 ), tmp210 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp210 tmp159 = np . copy ( tmp107 ) * 0.5 tmp159 += tmp108 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp159 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 4 del tmp159 tmp170 = einsum ( tmp169 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp169 t2new . bbbb += np . transpose ( tmp170 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += tmp170 * - 1 t2new . bbbb += np . transpose ( tmp170 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp170 , ( 1 , 0 , 2 , 3 )) del tmp170 tmp190 = np . copy ( v . bbbb . oovv ) * 0.5 tmp190 += einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * - 1 tmp190 += einsum ( tmp189 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 0.5 del tmp189 t2new . bbbb += einsum ( tmp190 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) * 4 del tmp190 tmp131 = np . copy ( np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 ))) tmp131 += einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) t2new . abab += einsum ( tmp131 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) del tmp131 tmp126 = np . copy ( np . transpose ( tmp125 , ( 0 , 1 , 3 , 2 ))) tmp126 += einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp126 , ( 4 , 1 , 2 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 del tmp126 tmp109 = np . copy ( tmp107 ) del tmp107 tmp109 += tmp108 * 2 del tmp108 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp109 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 1 del tmp109 tmp118 = np . copy ( f . bb . vv ) tmp118 += np . transpose ( tmp112 , ( 1 , 0 )) del tmp112 tmp118 += einsum ( tmp113 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 2 ), ( 1 , 3 )) * - 1 del tmp113 tmp118 += np . transpose ( tmp117 , ( 1 , 0 )) * - 1 del tmp117 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp118 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp118 tmp149 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp149 += einsum ( t1 . bb , ( 0 , 1 ), tmp1 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp149 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 2 , 5 )) * - 1 del tmp149 tmp130 = einsum ( tmp125 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) del tmp125 t2new . abab += einsum ( tmp130 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 1 del tmp130 tmp122 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp133 = np . copy ( v . aaaa . oovv ) tmp133 += np . transpose ( tmp42 , ( 1 , 0 , 3 , 2 )) * - 1 tmp133 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp48 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) * 2 tmp133 += einsum ( tmp35 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) del tmp35 t2new . abab += einsum ( tmp133 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 del tmp133 tmp138 = np . copy ( v . bbbb . oovv ) tmp138 += einsum ( t1 . bb , ( 0 , 1 ), tmp137 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp137 t2new . abab += einsum ( tmp138 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * - 1 del tmp138 tmp128 = np . copy ( np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 ))) * - 1 tmp128 += einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp128 += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 2 , 4 , 1 , 5 )) t2new . abab += einsum ( tmp128 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 3 , 5 )) del tmp128 tmp152 = einsum ( t1 . aa , ( 0 , 1 ), tmp124 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp124 t2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp152 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp152 tmp106 = np . copy ( t2 . abab ) tmp106 += einsum ( t1 . aa , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 t2new . abab += einsum ( v . aabb . oooo , ( 0 , 1 , 2 , 3 ), tmp106 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) * 0.5 del tmp106 tmp111 = np . copy ( f . aa . vv ) * - 1 tmp111 += np . transpose ( tmp44 , ( 1 , 0 )) * - 1 tmp111 += np . transpose ( tmp39 , ( 1 , 0 )) * 2 tmp111 += np . transpose ( tmp40 , ( 1 , 0 )) tmp111 += einsum ( t1 . aa , ( 0 , 1 ), tmp45 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * - 1 tmp111 += einsum ( tmp9 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp111 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 del tmp111 tmp143 = einsum ( t1 . aa , ( 0 , 1 ), tmp47 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 tmp143 += einsum ( t1 . aa , ( 0 , 1 ), tmp142 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp142 t2new . abab += einsum ( tmp143 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) del tmp143 tmp150 = 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 ), tmp150 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp150 tmp135 = np . copy ( tmp82 ) * - 1 tmp135 += tmp134 * 2 del tmp134 tmp135 += einsum ( tmp114 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * - 1 del tmp114 t2new . abab += einsum ( tmp135 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 2 del tmp135 tmp121 = np . copy ( np . transpose ( tmp5 , ( 1 , 0 ))) * 2 tmp121 += np . transpose ( tmp6 , ( 1 , 0 )) tmp121 += np . transpose ( tmp57 , ( 1 , 0 )) del tmp57 t2new . abab += einsum ( tmp121 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp121 tmp147 = einsum ( t1 . bb , ( 0 , 1 ), tmp144 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 del tmp144 tmp147 += np . transpose ( tmp146 , ( 0 , 1 , 3 , 2 )) del tmp146 t2new . abab += einsum ( tmp147 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) del tmp147 tmp129 = np . copy ( v . aabb . oovv ) tmp129 += einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ooov , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp129 , ( 0 , 4 , 3 , 5 ), ( 4 , 1 , 2 , 5 )) * - 1 del tmp129 tmp119 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp120 = einsum ( v . aabb . vvoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 3 , 0 )) t2new . abab += einsum ( tmp120 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 1 del tmp120 tmp132 = einsum ( t1 . aa , ( 0 , 1 ), tmp21 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) del tmp21 tmp141 = np . copy ( v . aabb . vvvv ) tmp141 += einsum ( t1 . bb , ( 0 , 1 ), tmp140 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 del tmp140 t2new . abab += einsum ( tmp141 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) del tmp141 tmp136 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 3 , 5 )) t2new . abab += einsum ( tmp136 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 2 del tmp136 tmp26 = np . copy ( np . transpose ( tmp23 , ( 1 , 0 ))) del tmp23 tmp26 += np . transpose ( tmp24 , ( 1 , 0 )) * 2 del tmp24 tmp26 += np . transpose ( tmp25 , ( 1 , 0 )) del tmp25 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp26 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp26 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp26 tmp139 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) t2new . abab += einsum ( tmp139 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp139 tmp151 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oovv , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) t2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp151 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp151 tmp3 = np . copy ( t2 . abab ) tmp3 += einsum ( t1 . aa , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) t2new . abab += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp132 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp132 t2new . abab += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp122 , ( 4 , 0 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) del tmp122 t2new . abab += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp119 , ( 0 , 4 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp119 t1new . bb += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) t1new . aa += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), tmp3 , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) del tmp3 tmp100 = einsum ( t1 . aa , ( 0 , 1 ), tmp99 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp99 t2new . aaaa += np . transpose ( tmp100 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp100 del tmp100 tmp64 = einsum ( t1 . aa , ( 0 , 1 ), tmp62 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp62 tmp64 += einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 del tmp63 t2new . aaaa += einsum ( tmp64 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) * 2 del tmp64 tmp46 = np . copy ( f . aa . vv ) * - 0.5 tmp46 += np . transpose ( tmp44 , ( 1 , 0 )) * - 0.5 tmp46 += np . transpose ( tmp39 , ( 1 , 0 )) tmp46 += np . transpose ( tmp40 , ( 1 , 0 )) * 0.5 tmp46 += einsum ( t1 . aa , ( 0 , 1 ), tmp45 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * - 0.5 del tmp45 tmp46 += einsum ( tmp9 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * 0.5 t2new . aaaa += einsum ( tmp46 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * 4 del tmp46 tmp54 = einsum ( tmp53 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp53 t2new . aaaa += tmp54 t2new . aaaa += np . transpose ( tmp54 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp54 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp54 , ( 1 , 0 , 3 , 2 )) del tmp54 tmp41 = np . copy ( tmp39 ) * 2 del tmp39 tmp41 += tmp40 del tmp40 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp41 tmp84 = np . copy ( tmp82 ) tmp84 += einsum ( tmp83 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * - 1 del tmp83 t2new . aaaa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp84 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 del tmp84 tmp32 = einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 3 , 1 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) * - 1 t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp32 tmp77 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) t2new . aaaa += np . transpose ( tmp77 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += tmp77 * - 1 t2new . aaaa += np . transpose ( tmp77 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp77 , ( 0 , 1 , 3 , 2 )) del tmp77 tmp59 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp58 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp58 t2new . aaaa += np . transpose ( tmp59 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp59 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp59 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp59 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp59 tmp56 = einsum ( tmp55 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp55 t2new . aaaa += np . transpose ( tmp56 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += tmp56 * - 1 t2new . aaaa += np . transpose ( tmp56 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp56 , ( 1 , 0 , 2 , 3 )) del tmp56 tmp19 = np . copy ( f . aa . oo ) tmp19 += np . transpose ( tmp16 , ( 1 , 0 )) del tmp16 tmp19 += np . transpose ( tmp18 , ( 1 , 0 )) * - 1 del tmp18 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp19 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 t1new . aa += einsum ( tmp19 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp19 tmp105 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) t2new . aaaa += einsum ( t1 . aa , ( 0 , 1 ), tmp105 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp105 tmp96 = einsum ( tmp95 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp95 t2new . aaaa += np . transpose ( tmp96 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += tmp96 * - 1 t2new . aaaa += np . transpose ( tmp96 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp96 , ( 0 , 1 , 3 , 2 )) del tmp96 tmp88 = np . copy ( tmp82 ) del tmp82 tmp88 += einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * - 1 del tmp87 t2new . aaaa += einsum ( tmp88 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) del tmp88 tmp102 = einsum ( tmp101 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 3 , 2 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) del tmp101 t2new . aaaa += np . transpose ( tmp102 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp102 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp102 tmp92 = einsum ( tmp91 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp91 t2new . aaaa += tmp92 * - 2 t2new . aaaa += np . transpose ( tmp92 , ( 1 , 0 , 2 , 3 )) * 2 del tmp92 tmp34 = einsum ( t1 . aa , ( 0 , 1 ), tmp33 , ( 2 , 0 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp33 t2new . aaaa += np . transpose ( tmp34 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp34 del tmp34 tmp52 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp51 t2new . aaaa += np . transpose ( tmp52 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp52 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp52 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp52 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp52 tmp43 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) t2new . aaaa += tmp43 * 2 t2new . aaaa += np . transpose ( tmp43 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp43 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . aaaa += np . transpose ( tmp43 , ( 1 , 0 , 3 , 2 )) * 2 del tmp43 tmp104 = np . copy ( v . aaaa . vvvv ) tmp104 += einsum ( tmp103 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 3 , 4 , 2 , 1 )) del tmp103 t2new . aaaa += einsum ( tmp104 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 0 , 3 ), ( 4 , 5 , 2 , 1 )) * - 2 del tmp104 tmp86 = np . copy ( v . aaaa . oovv ) * 0.5 tmp86 += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) * - 1 del tmp7 tmp86 += einsum ( t1 . aa , ( 0 , 1 ), tmp85 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 0.5 del tmp85 t2new . aaaa += einsum ( tmp86 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) * 4 del tmp86 tmp98 = einsum ( t1 . aa , ( 0 , 1 ), tmp97 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp97 t2new . aaaa += np . transpose ( tmp98 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp98 del tmp98 tmp50 = np . copy ( f . aa . vv ) * - 1 tmp50 += np . transpose ( tmp44 , ( 1 , 0 )) * - 1 del tmp44 tmp50 += einsum ( t1 . aa , ( 0 , 1 ), tmp47 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * - 1 del tmp47 tmp50 += einsum ( tmp49 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) del tmp49 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp50 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp50 tmp38 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp37 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp37 t2new . aaaa += np . transpose ( tmp38 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp38 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp38 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp38 tmp81 = np . copy ( v . aaaa . oovv ) tmp81 += einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) * - 2 del tmp48 tmp81 += tmp80 * - 1 del tmp80 t2new . aaaa += einsum ( tmp81 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * - 2 del tmp81 tmp74 = einsum ( tmp73 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp73 t2new . aaaa += np . transpose ( tmp74 , ( 1 , 0 , 2 , 3 )) * 2 t2new . aaaa += tmp74 * - 2 t2new . aaaa += np . transpose ( tmp74 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp74 tmp76 = einsum ( tmp75 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp75 t2new . aaaa += np . transpose ( tmp76 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp76 , ( 1 , 0 , 3 , 2 )) del tmp76 tmp78 = einsum ( tmp42 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp42 t2new . aaaa += np . transpose ( tmp78 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . aaaa += np . transpose ( tmp78 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp78 , ( 1 , 0 , 3 , 2 )) * 2 t2new . aaaa += tmp78 * 2 del tmp78 tmp94 = einsum ( tmp93 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 3 , 2 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) del tmp93 t2new . aaaa += np . transpose ( tmp94 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp94 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp94 tmp90 = einsum ( t1 . aa , ( 0 , 1 ), tmp89 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp89 t2new . aaaa += np . transpose ( tmp90 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp90 , ( 1 , 0 , 3 , 2 )) del tmp90 tmp60 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp2 t2new . aaaa += tmp60 * - 1 t2new . aaaa += np . transpose ( tmp60 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += np . transpose ( tmp60 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp60 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp60 tmp68 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp67 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp67 t2new . aaaa += tmp68 * - 1 t2new . aaaa += np . transpose ( tmp68 , ( 0 , 1 , 3 , 2 )) del tmp68 tmp27 = np . copy ( f . bb . vv ) tmp27 += einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp27 , ( 1 , 2 ), ( 0 , 2 )) del tmp27 tmp22 = np . copy ( t2 . bbbb ) * 2 tmp22 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) t1new . bb += einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), tmp22 , ( 0 , 4 , 3 , 1 ), ( 4 , 2 )) * - 1 del tmp22 tmp11 = np . copy ( f . aa . vv ) tmp11 += einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) * - 1 t1new . aa += einsum ( tmp11 , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 2 , 1 )) del tmp11 tmp4 = np . copy ( t2 . aaaa ) * 2 tmp4 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) t1new . aa += einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) del tmp4 tmp10 = np . copy ( np . transpose ( tmp5 , ( 1 , 0 ))) del tmp5 tmp10 += np . transpose ( tmp6 , ( 1 , 0 )) * 0.5 del tmp6 tmp10 += einsum ( tmp9 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) * 0.5 del tmp9 t1new . aa += einsum ( t1 . aa , ( 0 , 1 ), tmp10 , ( 0 , 2 ), ( 2 , 1 )) * - 2 del tmp10 t1new . aa += einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) t1new . aa += f . aa . ov t1new . aa += einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * - 1 t1new . aa += einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * 2 t1new . aa += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 1 t1new . bb += f . bb . ov t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) t1new . bb += einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 t1new . bb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * 2 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 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 )) * 0.5 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) t2new . abab += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) t2new . abab += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 )) * - 1 return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.update_lams","text":"Code generated by albert 0.0.0 on 2024-08-12T21:49:15.264316.","title":"update_lams"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.update_lams--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.update_lams--returns","text":"l1new : Namespace of arrays Updated L1 residuals. l2new : Namespace of arrays Updated L2 residuals. Source code in ebcc/codegen/UCCSD.py 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 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:49:15.264316. 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 () tmp98 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp98 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp7 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp7 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp97 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp99 = einsum ( t1 . bb , ( 0 , 1 ), tmp98 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp98 tmp6 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp8 = einsum ( t1 . aa , ( 0 , 1 ), tmp7 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp7 tmp2 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp112 = np . copy ( v . bbbb . ovvv ) * - 1 tmp112 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) tmp213 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp213 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp196 = np . copy ( v . bbbb . ovvv ) * - 1 tmp196 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) tmp39 = einsum ( t1 . bb , ( 0 , 1 ), l2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) l2new . abab = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 1 , 2 , 5 ), ( 3 , 5 , 0 , 4 )) * - 2 l2new . abab += einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 3 , 2 , 5 ), ( 1 , 5 , 0 , 4 )) * - 2 l1new . bb = einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 1 , 0 , 3 ), ( 2 , 4 )) * - 2 tmp118 = np . copy ( v . bbbb . ooov ) tmp118 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp100 = np . copy ( f . bb . ov ) tmp100 += tmp97 tmp100 += tmp99 * - 1 del tmp99 tmp37 = einsum ( t1 . bb , ( 0 , 1 ), l2 . abab , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) l2new . abab += einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 1 , 2 , 5 ), ( 5 , 3 , 4 , 0 )) l2new . abab += einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 3 , 2 , 5 ), ( 4 , 5 , 0 , 1 )) * - 1 l2new . abab += einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), v . bbbb . ovoo , ( 4 , 5 , 2 , 1 ), ( 3 , 5 , 0 , 4 )) * - 1 l1new . aa = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), v . aabb . vvoo , ( 4 , 3 , 2 , 1 ), ( 4 , 0 )) * - 1 tmp64 = np . copy ( v . aaaa . ooov ) tmp64 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp9 = np . copy ( f . aa . ov ) tmp9 += tmp6 tmp9 += tmp8 * - 1 del tmp8 tmp178 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp178 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp30 = np . copy ( v . aaaa . ovvv ) * - 1 tmp30 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) tmp93 = np . copy ( v . aaaa . ovvv ) * - 1 tmp93 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) tmp49 = einsum ( t1 . aa , ( 0 , 1 ), l2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) l2new . abab += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), tmp49 , ( 4 , 1 , 0 , 5 ), ( 5 , 3 , 4 , 2 )) * - 2 l1new . aa += einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), v . aaaa . oovv , ( 2 , 1 , 4 , 3 ), ( 4 , 0 )) * - 2 tmp42 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 0 , 4 ), ( 4 , 1 )) tmp41 = einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 0 ), ( 1 , 2 )) tmp43 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp95 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) l2new . abab += einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), tmp95 , ( 1 , 2 , 4 , 5 ), ( 3 , 5 , 0 , 4 )) l2new . abab += einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), tmp95 , ( 1 , 4 , 2 , 5 ), ( 3 , 5 , 0 , 4 )) * - 1 tmp14 = np . copy ( np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 ))) tmp14 += tmp2 l2new . abab += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 1 ), ( 3 , 4 , 0 , 2 )) * - 1 tmp53 = einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 1 , 2 )) tmp54 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp55 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp0 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp201 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp199 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 0 , 3 )) tmp200 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp143 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp243 = einsum ( t1 . bb , ( 0 , 1 ), tmp112 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp210 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp211 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 tmp214 = einsum ( t1 . bb , ( 0 , 1 ), tmp213 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp213 tmp131 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp130 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 5 ), ( 3 , 4 , 1 , 5 )) tmp197 = einsum ( t1 . bb , ( 0 , 1 ), tmp196 , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) del tmp196 tmp195 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp194 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp124 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) l1new . bb += einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), tmp124 , ( 4 , 0 , 2 , 1 ), ( 3 , 4 )) * 2 tmp125 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) l1new . bb += einsum ( tmp125 , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 2 , 1 , 3 , 4 ), ( 4 , 0 )) * - 2 tmp117 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp115 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp116 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp119 = einsum ( t1 . bb , ( 0 , 1 ), tmp118 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) del tmp118 tmp120 = einsum ( t1 . bb , ( 0 , 1 ), tmp100 , ( 2 , 1 ), ( 0 , 2 )) tmp32 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) tmp33 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp80 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 0 , 1 ), ( 2 , 4 , 3 , 5 )) tmp81 = einsum ( t1 . aa , ( 0 , 1 ), tmp37 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp61 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp62 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp65 = einsum ( t1 . aa , ( 0 , 1 ), tmp64 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) del tmp64 tmp66 = einsum ( t1 . aa , ( 0 , 1 ), tmp9 , ( 2 , 1 ), ( 0 , 2 )) tmp63 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp10 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovvv , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp159 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp158 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) tmp179 = einsum ( t1 . aa , ( 0 , 1 ), tmp178 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp178 tmp27 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp28 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp156 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp164 = einsum ( t1 . aa , ( 0 , 1 ), tmp30 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp155 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp175 = einsum ( t1 . aa , ( 0 , 1 ), tmp93 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp173 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp174 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp92 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp71 = einsum ( t1 . aa , ( 0 , 1 ), tmp49 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) l1new . aa += einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), tmp71 , ( 4 , 1 , 0 , 2 ), ( 3 , 4 )) * - 2 tmp70 = 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 ), tmp70 , ( 4 , 0 , 2 , 1 ), ( 3 , 4 )) * 2 tmp76 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp77 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp44 = np . copy ( tmp41 ) tmp44 += tmp42 tmp44 += tmp43 * 2 l1new . bb += einsum ( tmp100 , ( 0 , 1 ), tmp44 , ( 2 , 0 ), ( 1 , 2 )) * - 1 tmp109 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp107 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp108 = einsum ( t1 . bb , ( 0 , 1 ), tmp95 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp105 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) l1new . bb += einsum ( tmp105 , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 0 , 1 , 3 ), ( 2 , 4 )) * 2 tmp4 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) l2new . abab += einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), tmp49 , ( 4 , 0 , 1 , 5 ), ( 5 , 3 , 4 , 2 )) * - 2 tmp15 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp12 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp13 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp101 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp51 = einsum ( t1 . aa , ( 0 , 1 ), l2 . abab , ( 1 , 2 , 3 , 4 ), ( 3 , 0 , 4 , 2 )) l2new . abab += einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 0 , 1 , 4 , 5 ), ( 5 , 3 , 4 , 2 )) l2new . abab += einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), tmp51 , ( 1 , 2 , 4 , 5 ), ( 3 , 5 , 0 , 4 )) l2new . abab += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), tmp51 , ( 4 , 0 , 1 , 5 ), ( 3 , 5 , 4 , 2 )) l2new . abab += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), tmp51 , ( 4 , 0 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) * - 1 l2new . abab += einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 0 , 4 , 1 , 5 ), ( 5 , 3 , 4 , 2 )) * - 1 l2new . abab += einsum ( v . aaaa . ovoo , ( 0 , 1 , 2 , 3 ), tmp51 , ( 3 , 2 , 4 , 5 ), ( 1 , 5 , 0 , 4 )) * - 1 l1new . bb += einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), v . aabb . oovv , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) * - 1 tmp56 = np . copy ( tmp53 ) * 0.5 tmp56 += tmp54 tmp56 += tmp55 * 0.5 tmp22 = einsum ( t1 . aa , ( 0 , 1 ), tmp0 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp21 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp23 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp203 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp202 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp202 += tmp199 tmp202 += tmp200 * 2 tmp202 += tmp201 l2new . abab += einsum ( tmp202 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 4 , 3 , 5 , 1 )) * 2 tmp244 = np . copy ( f . bb . vv ) * - 1 tmp244 += np . transpose ( tmp143 , ( 1 , 0 )) * - 1 tmp244 += np . transpose ( tmp210 , ( 1 , 0 )) tmp244 += np . transpose ( tmp211 , ( 1 , 0 )) * 2 tmp244 += tmp243 * - 1 del tmp243 tmp215 = np . copy ( f . bb . ov ) tmp215 += tmp97 tmp215 += tmp214 * - 1 del tmp214 l2new . abab += einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), tmp215 , ( 2 , 4 ), ( 3 , 4 , 0 , 1 )) * - 1 tmp132 = np . copy ( tmp130 ) del tmp130 tmp132 += tmp131 * 4 del tmp131 tmp198 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 ))) tmp198 += v . bbbb . oovv * - 1 tmp198 += tmp194 tmp198 += tmp195 * 2 tmp198 += np . transpose ( tmp197 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp197 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp198 , ( 3 , 4 , 1 , 5 ), ( 0 , 5 , 2 , 4 )) tmp138 = np . copy ( np . transpose ( tmp124 , ( 1 , 0 , 3 , 2 ))) del tmp124 tmp138 += np . transpose ( tmp125 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp125 tmp121 = np . copy ( f . bb . oo ) tmp121 += np . transpose ( tmp115 , ( 1 , 0 )) del tmp115 tmp121 += tmp116 del tmp116 tmp121 += tmp117 * 2 del tmp117 tmp121 += tmp119 * - 1 del tmp119 tmp121 += tmp120 del tmp120 l2new . abab += einsum ( tmp121 , ( 0 , 1 ), l2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 1 l1new . bb += einsum ( tmp121 , ( 0 , 1 ), l1 . bb , ( 2 , 0 ), ( 2 , 1 )) * - 1 tmp227 = np . copy ( np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 ))) tmp227 += tmp95 tmp59 = np . copy ( tmp41 ) * 0.5 del tmp41 tmp59 += tmp42 * 0.5 del tmp42 tmp59 += tmp43 del tmp43 l2new . abab += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp59 , ( 4 , 2 ), ( 1 , 3 , 0 , 4 )) * - 2 l1new . bb += einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), tmp59 , ( 1 , 2 ), ( 3 , 0 )) * 2 l1new . bb += einsum ( tmp59 , ( 0 , 1 ), v . bbbb . ovoo , ( 2 , 3 , 0 , 1 ), ( 3 , 2 )) * - 2 l1new . aa += einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), tmp59 , ( 3 , 2 ), ( 1 , 0 )) * - 2 tmp224 = np . copy ( tmp32 ) tmp224 += tmp33 * 2 l2new . bbbb = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp224 , ( 4 , 1 ), ( 3 , 4 , 0 , 2 )) tmp162 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp126 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 4 , 3 , 5 , 1 )) tmp127 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) tmp208 = np . copy ( v . aaaa . ovvv ) tmp208 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 tmp74 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp73 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 5 , 1 , 4 , 3 )) tmp82 = np . copy ( tmp80 ) tmp82 += tmp81 tmp3 = np . copy ( np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 ))) tmp3 += np . transpose ( tmp2 , ( 0 , 2 , 1 , 3 )) tmp129 = np . copy ( v . bbbb . ovvv ) tmp129 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 l1new . bb += einsum ( tmp129 , ( 0 , 1 , 2 , 3 ), tmp132 , ( 4 , 0 , 3 , 2 ), ( 1 , 4 )) * - 1 tmp67 = np . copy ( f . aa . oo ) tmp67 += np . transpose ( tmp61 , ( 1 , 0 )) del tmp61 tmp67 += tmp62 * 2 del tmp62 tmp67 += tmp63 del tmp63 tmp67 += tmp65 * - 1 del tmp65 tmp67 += tmp66 del tmp66 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp67 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 l1new . aa += einsum ( tmp67 , ( 0 , 1 ), l1 . aa , ( 2 , 0 ), ( 2 , 1 )) * - 1 tmp148 = np . copy ( np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 ))) tmp148 += tmp0 tmp167 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp167 += tmp10 tmp167 += tmp158 tmp167 += tmp159 * 2 l2new . abab += einsum ( tmp167 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) * 2 tmp180 = np . copy ( f . aa . ov ) tmp180 += tmp6 tmp180 += tmp179 * - 1 del tmp179 l2new . abab += einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), tmp180 , ( 1 , 4 ), ( 4 , 3 , 0 , 2 )) * - 1 tmp60 = np . copy ( tmp53 ) del tmp53 tmp60 += tmp54 * 2 del tmp54 tmp60 += tmp55 del tmp55 l2new . abab += einsum ( tmp60 , ( 0 , 1 ), v . aabb . ovov , ( 1 , 2 , 3 , 4 ), ( 2 , 4 , 0 , 3 )) * - 1 l1new . bb += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), tmp60 , ( 1 , 0 ), ( 3 , 2 )) * - 1 l1new . aa += einsum ( tmp60 , ( 0 , 1 ), tmp9 , ( 1 , 2 ), ( 2 , 0 )) * - 1 l1new . aa += einsum ( tmp60 , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 0 , 1 , 3 ), ( 3 , 2 )) l1new . aa += einsum ( v . aaaa . ovoo , ( 0 , 1 , 2 , 3 ), tmp60 , ( 3 , 2 ), ( 1 , 0 )) * - 1 tmp145 = np . copy ( tmp27 ) tmp145 += tmp28 * 0.5 l2new . aaaa = einsum ( tmp145 , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 1 , 3 , 4 ), ( 4 , 0 , 2 , 3 )) * 2 tmp165 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) tmp165 += v . aaaa . oovv * - 1 tmp165 += tmp155 * 2 tmp165 += tmp156 tmp165 += np . transpose ( tmp164 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp164 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp165 , ( 2 , 4 , 0 , 5 ), ( 5 , 1 , 4 , 3 )) tmp176 = np . copy ( f . aa . vv ) * - 1 tmp176 += np . transpose ( tmp92 , ( 1 , 0 )) * - 1 tmp176 += np . transpose ( tmp173 , ( 1 , 0 )) * 2 tmp176 += np . transpose ( tmp174 , ( 1 , 0 )) tmp176 += tmp175 * - 1 del tmp175 tmp87 = np . copy ( np . transpose ( tmp70 , ( 1 , 0 , 3 , 2 ))) del tmp70 tmp87 += np . transpose ( tmp71 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp71 tmp189 = np . copy ( tmp76 ) * 4 tmp189 += tmp77 tmp40 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) tmp38 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp37 , ( 0 , 1 , 4 , 2 ), ( 4 , 3 )) tmp36 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) tmp35 = einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) tmp26 = einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp45 = einsum ( tmp44 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp104 = np . copy ( v . bbbb . ooov ) * - 1 tmp104 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) tmp104 += tmp95 tmp104 += np . transpose ( tmp95 , ( 0 , 2 , 1 , 3 )) * - 1 tmp110 = np . copy ( v . bbbb . oooo ) tmp110 += np . transpose ( tmp107 , ( 3 , 1 , 2 , 0 )) tmp110 += np . transpose ( tmp108 , ( 2 , 1 , 3 , 0 )) * - 1 tmp110 += np . transpose ( tmp109 , ( 2 , 0 , 3 , 1 )) * - 1 tmp110 += np . transpose ( tmp109 , ( 3 , 0 , 2 , 1 )) tmp106 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 ))) tmp106 += v . bbbb . oovv * - 1 tmp106 += np . transpose ( tmp105 , ( 0 , 1 , 3 , 2 )) del tmp105 tmp31 = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 0 ), ( 2 , 1 )) tmp5 = np . copy ( v . aabb . ooov ) tmp5 += np . transpose ( tmp4 , ( 1 , 0 , 2 , 3 )) tmp16 = np . copy ( v . aabb . oooo ) tmp16 += np . transpose ( tmp12 , ( 1 , 0 , 3 , 2 )) tmp16 += np . transpose ( tmp13 , ( 1 , 0 , 3 , 2 )) tmp16 += np . transpose ( tmp15 , ( 1 , 0 , 3 , 2 )) del tmp15 tmp96 = np . copy ( v . bbbb . ooov ) * - 1 tmp96 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) tmp96 += np . transpose ( tmp95 , ( 1 , 0 , 2 , 3 )) tmp96 += np . transpose ( tmp95 , ( 2 , 0 , 1 , 3 )) * - 1 tmp102 = np . copy ( np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 ))) tmp102 += np . transpose ( tmp101 , ( 1 , 0 , 3 , 2 )) tmp137 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp136 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp37 , ( 0 , 4 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp52 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp51 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp57 = einsum ( t1 . aa , ( 0 , 1 ), tmp56 , ( 0 , 2 ), ( 2 , 1 )) * 2 tmp48 = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp50 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) tmp47 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp18 = np . copy ( v . aaaa . ooov ) tmp18 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp18 += tmp0 * - 1 tmp18 += np . transpose ( tmp0 , ( 0 , 2 , 1 , 3 )) tmp19 = np . copy ( v . aabb . ooov ) tmp19 += tmp4 tmp20 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) tmp20 += v . aaaa . oovv * - 1 tmp20 += einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp24 = np . copy ( v . aaaa . oooo ) tmp24 += np . transpose ( tmp21 , ( 3 , 1 , 2 , 0 )) tmp24 += np . transpose ( tmp22 , ( 2 , 1 , 3 , 0 )) * - 1 tmp24 += np . transpose ( tmp23 , ( 2 , 0 , 3 , 1 )) * - 1 tmp24 += np . transpose ( tmp23 , ( 3 , 0 , 2 , 1 )) tmp11 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp11 += tmp10 tmp1 = np . copy ( v . aaaa . ooov ) * - 1 tmp1 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) tmp1 += np . transpose ( tmp0 , ( 1 , 0 , 2 , 3 )) tmp1 += np . transpose ( tmp0 , ( 2 , 0 , 1 , 3 )) * - 1 tmp85 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp49 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp86 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp51 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp237 = np . copy ( f . bb . ov ) tmp237 += tmp97 tmp237 += tmp203 l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp237 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * - 1 del tmp237 tmp239 = einsum ( tmp202 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 5 ), ( 1 , 5 , 3 , 4 )) del tmp202 l2new . bbbb += np . transpose ( tmp239 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp239 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp239 , ( 2 , 3 , 0 , 1 )) del tmp239 tmp193 = np . copy ( tmp32 ) * 0.5 tmp193 += tmp33 l2new . bbbb += einsum ( tmp193 , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 4 , 2 , 3 )) * - 2 l2new . abab += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp193 , ( 4 , 3 ), ( 1 , 4 , 0 , 2 )) * - 2 del tmp193 tmp245 = einsum ( tmp244 , ( 0 , 1 ), l2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) * - 1 del tmp244 l2new . bbbb += np . transpose ( tmp245 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp245 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp245 , ( 2 , 3 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp245 , ( 2 , 3 , 1 , 0 )) del tmp245 tmp231 = einsum ( v . bbbb . ovoo , ( 0 , 1 , 2 , 3 ), tmp39 , ( 3 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp231 , ( 2 , 3 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp231 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp231 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . bbbb += np . transpose ( tmp231 , ( 3 , 2 , 0 , 1 )) * 2 del tmp231 tmp230 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 1 , 0 , 4 , 5 ), ( 2 , 4 , 3 , 5 )) l2new . bbbb += np . transpose ( tmp230 , ( 2 , 3 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp230 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp230 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp230 , ( 3 , 2 , 0 , 1 )) del tmp230 tmp246 = einsum ( tmp215 , ( 0 , 1 ), tmp39 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp215 l2new . bbbb += np . transpose ( tmp246 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp246 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp246 , ( 2 , 3 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp246 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp246 tmp229 = einsum ( l1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) l2new . bbbb += np . transpose ( tmp229 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp229 , ( 3 , 2 , 0 , 1 )) l2new . bbbb += np . transpose ( tmp229 , ( 2 , 3 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp229 , ( 2 , 3 , 0 , 1 )) * - 1 del tmp229 tmp240 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . vvvv , ( 4 , 0 , 5 , 1 ), ( 2 , 3 , 4 , 5 )) l2new . bbbb += np . transpose ( tmp240 , ( 3 , 2 , 1 , 0 )) * 0.5 l2new . bbbb += np . transpose ( tmp240 , ( 3 , 2 , 1 , 0 )) * 0.5 l2new . bbbb += np . transpose ( tmp240 , ( 3 , 2 , 1 , 0 )) * 0.5 l2new . bbbb += np . transpose ( tmp240 , ( 3 , 2 , 1 , 0 )) * 0.5 del tmp240 tmp249 = np . copy ( v . bbbb . ooov ) tmp249 += np . transpose ( tmp95 , ( 0 , 2 , 1 , 3 )) l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp249 , ( 1 , 2 , 3 , 4 ), ( 4 , 0 , 2 , 3 )) del tmp249 tmp241 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 5 , 0 , 3 ), ( 5 , 4 , 1 , 2 )) l2new . bbbb += np . transpose ( tmp241 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp241 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp241 , ( 2 , 3 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp241 , ( 2 , 3 , 1 , 0 )) del tmp241 tmp253 = einsum ( tmp44 , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 4 , 3 )) l2new . bbbb += np . transpose ( tmp253 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp253 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp253 tmp251 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), tmp39 , ( 1 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) * - 1 l2new . bbbb += np . transpose ( tmp251 , ( 2 , 3 , 1 , 0 )) * - 2 l2new . bbbb += np . transpose ( tmp251 , ( 3 , 2 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp251 , ( 2 , 3 , 0 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp251 , ( 3 , 2 , 0 , 1 )) * - 2 del tmp251 tmp252 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp132 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) del tmp132 l2new . bbbb += np . transpose ( tmp252 , ( 2 , 3 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp252 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp252 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp252 , ( 3 , 2 , 0 , 1 )) del tmp252 tmp204 = np . copy ( f . bb . ov ) tmp204 += tmp97 del tmp97 tmp204 += tmp203 del tmp203 l2new . bbbb += einsum ( tmp204 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * - 1 l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp204 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) l2new . bbbb += einsum ( tmp204 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) l2new . abab += einsum ( tmp204 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) del tmp204 tmp238 = einsum ( tmp198 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 2 , 5 , 0 ), ( 1 , 5 , 3 , 4 )) del tmp198 l2new . bbbb += np . transpose ( tmp238 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp238 , ( 3 , 2 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp238 , ( 2 , 3 , 0 , 1 )) * 2 del tmp238 tmp234 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 ))) tmp234 += v . bbbb . oovv * - 1 tmp234 += tmp194 del tmp194 tmp234 += tmp195 * 2 del tmp195 tmp234 += einsum ( t1 . bb , ( 0 , 1 ), tmp112 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 l2new . bbbb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp234 , ( 3 , 4 , 1 , 5 ), ( 5 , 0 , 2 , 4 )) * - 2 del tmp234 tmp222 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) l2new . bbbb += einsum ( tmp222 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) l2new . bbbb += einsum ( tmp222 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp222 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 l2new . bbbb += einsum ( tmp222 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) l2new . abab += einsum ( tmp222 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 del tmp222 tmp242 = einsum ( tmp138 , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) * 0.5 l2new . bbbb += np . transpose ( tmp242 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp242 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp242 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp242 , ( 3 , 2 , 1 , 0 )) del tmp242 tmp236 = einsum ( tmp121 , ( 0 , 1 ), l2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 4 , 1 , 2 , 3 )) * - 2 del tmp121 l2new . bbbb += np . transpose ( tmp236 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp236 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp236 tmp250 = einsum ( tmp95 , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) l2new . bbbb += np . transpose ( tmp250 , ( 2 , 3 , 1 , 0 )) * - 2 l2new . bbbb += np . transpose ( tmp250 , ( 3 , 2 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp250 , ( 2 , 3 , 0 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp250 , ( 3 , 2 , 0 , 1 )) * - 2 del tmp250 tmp233 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 1 , 4 , 5 ), ( 2 , 4 , 3 , 5 )) l2new . bbbb += np . transpose ( tmp233 , ( 2 , 3 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp233 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp233 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp233 , ( 3 , 2 , 0 , 1 )) del tmp233 tmp248 = np . copy ( v . bbbb . oooo ) tmp248 += np . transpose ( tmp107 , ( 1 , 3 , 2 , 0 )) del tmp107 tmp248 += np . transpose ( tmp108 , ( 0 , 2 , 3 , 1 )) del tmp108 l2new . bbbb += einsum ( tmp248 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 5 , 0 , 3 ), ( 4 , 5 , 2 , 1 )) * - 2 del tmp248 tmp228 = einsum ( tmp227 , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 0 ), ( 1 , 2 , 3 , 4 )) del tmp227 l2new . bbbb += np . transpose ( tmp228 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp228 , ( 3 , 2 , 0 , 1 )) del tmp228 tmp226 = np . copy ( v . bbbb . ooov ) tmp226 += np . transpose ( tmp95 , ( 0 , 2 , 1 , 3 )) l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp226 , ( 1 , 2 , 3 , 4 ), ( 4 , 0 , 3 , 2 )) * - 1 del tmp226 tmp254 = einsum ( tmp59 , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 4 , 3 )) * 2 del tmp59 l2new . bbbb += np . transpose ( tmp254 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp254 , ( 2 , 3 , 0 , 1 )) del tmp254 tmp232 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), tmp95 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 del tmp95 l2new . bbbb += np . transpose ( tmp232 , ( 2 , 3 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp232 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp232 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . bbbb += np . transpose ( tmp232 , ( 3 , 2 , 0 , 1 )) * 2 del tmp232 tmp225 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp224 , ( 4 , 1 ), ( 0 , 2 , 4 , 3 )) del tmp224 l2new . bbbb += np . transpose ( tmp225 , ( 2 , 3 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp225 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp225 tmp235 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp235 += tmp199 del tmp199 tmp235 += tmp200 * 2 del tmp200 tmp235 += tmp201 del tmp201 l2new . bbbb += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp235 , ( 2 , 4 , 0 , 5 ), ( 5 , 1 , 3 , 4 )) * - 1 del tmp235 tmp247 = einsum ( tmp109 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) del tmp109 l2new . bbbb += np . transpose ( tmp247 , ( 2 , 3 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp247 , ( 2 , 3 , 0 , 1 )) * - 2 del tmp247 tmp169 = np . copy ( f . aa . ov ) tmp169 += tmp162 tmp169 += tmp6 l2new . abab += einsum ( tmp169 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) l2new . aaaa += einsum ( tmp169 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * - 1 l2new . aaaa += einsum ( tmp169 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) l2new . aaaa += einsum ( tmp169 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) del tmp169 tmp185 = np . copy ( tmp27 ) * 2 tmp185 += tmp28 l2new . abab += einsum ( tmp185 , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 l2new . aaaa += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp185 , ( 4 , 1 ), ( 4 , 3 , 0 , 2 )) * - 1 del tmp185 tmp221 = np . copy ( tmp126 ) tmp221 += tmp127 l2new . abab += einsum ( tmp221 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 0 , 5 ), ( 5 , 3 , 4 , 1 )) * - 2 del tmp221 tmp220 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) l2new . abab += einsum ( tmp220 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 2 , 0 , 5 ), ( 4 , 3 , 1 , 5 )) del tmp220 tmp209 = np . copy ( f . aa . vv ) * - 1 tmp209 += np . transpose ( tmp92 , ( 1 , 0 )) * - 1 tmp209 += tmp173 * 2 del tmp173 tmp209 += tmp174 del tmp174 tmp209 += einsum ( t1 . aa , ( 0 , 1 ), tmp208 , ( 0 , 1 , 2 , 3 ), ( 3 , 2 )) * - 1 del tmp208 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp209 , ( 0 , 4 ), ( 4 , 1 , 2 , 3 )) * - 1 del tmp209 tmp205 = np . copy ( np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 ))) tmp205 += np . transpose ( tmp101 , ( 0 , 1 , 3 , 2 )) del tmp101 l2new . abab += einsum ( tmp205 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 5 , 0 ), ( 3 , 4 , 5 , 1 )) * - 1 del tmp205 tmp223 = np . copy ( tmp73 ) tmp223 += tmp74 l2new . abab += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp223 , ( 4 , 2 , 5 , 1 ), ( 5 , 3 , 4 , 0 )) * - 2 del tmp223 tmp219 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp219 , ( 3 , 4 , 0 , 5 ), ( 5 , 1 , 2 , 4 )) del tmp219 tmp218 = np . copy ( v . aabb . oovv ) tmp218 += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) l2new . abab += einsum ( tmp218 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 2 , 0 , 5 ), ( 4 , 3 , 1 , 5 )) * - 1 del tmp218 tmp216 = np . copy ( v . aabb . ooov ) tmp216 += tmp4 del tmp4 l2new . abab += einsum ( tmp216 , ( 0 , 1 , 2 , 3 ), tmp37 , ( 0 , 4 , 2 , 5 ), ( 5 , 3 , 1 , 4 )) l2new . abab += einsum ( l1 . aa , ( 0 , 1 ), tmp216 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp216 tmp188 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) l2new . abab += einsum ( l1 . bb , ( 0 , 1 ), tmp188 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 l2new . aaaa += einsum ( tmp188 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) l2new . aaaa += einsum ( tmp188 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp188 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 l2new . aaaa += einsum ( tmp188 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) del tmp188 tmp207 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp82 , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) * 0.5 l2new . abab += np . transpose ( tmp207 , ( 2 , 3 , 0 , 1 )) l2new . abab += np . transpose ( tmp207 , ( 2 , 3 , 0 , 1 )) del tmp207 tmp217 = np . copy ( v . aabb . oooo ) tmp217 += np . transpose ( tmp12 , ( 1 , 0 , 2 , 3 )) del tmp12 tmp217 += tmp13 del tmp13 tmp217 += einsum ( t1 . aa , ( 0 , 1 ), tmp3 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp217 , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp217 tmp206 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvvv , ( 4 , 0 , 5 , 1 ), ( 2 , 3 , 4 , 5 )) l2new . abab += np . transpose ( tmp206 , ( 2 , 3 , 0 , 1 )) * 0.5 l2new . abab += np . transpose ( tmp206 , ( 2 , 3 , 0 , 1 )) * 0.5 del tmp206 tmp212 = np . copy ( f . bb . vv ) * - 1 tmp212 += np . transpose ( tmp143 , ( 1 , 0 )) * - 1 tmp212 += tmp210 del tmp210 tmp212 += tmp211 * 2 del tmp211 tmp212 += einsum ( t1 . bb , ( 0 , 1 ), tmp129 , ( 0 , 1 , 2 , 3 ), ( 3 , 2 )) * - 1 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp212 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp212 tmp153 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovoo , ( 4 , 5 , 2 , 0 ), ( 1 , 4 , 3 , 5 )) * - 1 l2new . aaaa += np . transpose ( tmp153 , ( 2 , 3 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp153 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp153 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . aaaa += np . transpose ( tmp153 , ( 3 , 2 , 0 , 1 )) * 2 del tmp153 tmp163 = np . copy ( f . aa . ov ) tmp163 += tmp162 del tmp162 tmp163 += tmp6 del tmp6 l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp163 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * - 1 del tmp163 tmp161 = einsum ( tmp67 , ( 0 , 1 ), l2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 4 , 1 , 2 , 3 )) * - 2 del tmp67 l2new . aaaa += np . transpose ( tmp161 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp161 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp161 tmp184 = np . copy ( v . aaaa . ooov ) tmp184 += np . transpose ( tmp0 , ( 0 , 2 , 1 , 3 )) l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp184 , ( 1 , 2 , 3 , 4 ), ( 4 , 0 , 2 , 3 )) del tmp184 tmp157 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) tmp157 += v . aaaa . oovv * - 1 tmp157 += tmp155 * 2 del tmp155 tmp157 += tmp156 del tmp156 tmp157 += einsum ( t1 . aa , ( 0 , 1 ), tmp93 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 l2new . aaaa += einsum ( tmp157 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 3 , 4 , 5 , 1 )) * - 2 del tmp157 tmp187 = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), tmp49 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) l2new . aaaa += np . transpose ( tmp187 , ( 2 , 3 , 1 , 0 )) * - 2 l2new . aaaa += np . transpose ( tmp187 , ( 3 , 2 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp187 , ( 2 , 3 , 0 , 1 )) * 2 l2new . aaaa += np . transpose ( tmp187 , ( 3 , 2 , 0 , 1 )) * - 2 del tmp187 tmp149 = einsum ( l1 . aa , ( 0 , 1 ), tmp148 , ( 1 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 0 )) del tmp148 l2new . aaaa += np . transpose ( tmp149 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp149 , ( 3 , 2 , 0 , 1 )) del tmp149 tmp168 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp167 , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) del tmp167 l2new . aaaa += np . transpose ( tmp168 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp168 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp168 , ( 2 , 3 , 0 , 1 )) del tmp168 tmp181 = einsum ( tmp180 , ( 0 , 1 ), tmp49 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp180 l2new . aaaa += np . transpose ( tmp181 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp181 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp181 , ( 2 , 3 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp181 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp181 tmp191 = einsum ( tmp60 , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 4 , 3 )) del tmp60 l2new . aaaa += np . transpose ( tmp191 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp191 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp191 tmp152 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), tmp0 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 l2new . aaaa += np . transpose ( tmp152 , ( 2 , 3 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp152 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp152 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . aaaa += np . transpose ( tmp152 , ( 3 , 2 , 0 , 1 )) * 2 del tmp152 tmp146 = einsum ( tmp145 , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 1 , 3 , 4 ), ( 2 , 3 , 0 , 4 )) * 2 del tmp145 l2new . aaaa += np . transpose ( tmp146 , ( 2 , 3 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp146 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp146 tmp186 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 l2new . aaaa += np . transpose ( tmp186 , ( 2 , 3 , 1 , 0 )) * - 2 l2new . aaaa += np . transpose ( tmp186 , ( 3 , 2 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp186 , ( 2 , 3 , 0 , 1 )) * 2 l2new . aaaa += np . transpose ( tmp186 , ( 3 , 2 , 0 , 1 )) * - 2 del tmp186 tmp166 = einsum ( tmp165 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 1 , 5 , 3 , 4 )) del tmp165 l2new . aaaa += np . transpose ( tmp166 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp166 , ( 3 , 2 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp166 , ( 2 , 3 , 0 , 1 )) * 2 del tmp166 tmp192 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp56 , ( 4 , 2 ), ( 0 , 4 , 3 , 1 )) * 2 l2new . aaaa += np . transpose ( tmp192 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp192 , ( 2 , 3 , 0 , 1 )) del tmp192 tmp177 = einsum ( tmp176 , ( 0 , 1 ), l2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) * - 1 del tmp176 l2new . aaaa += np . transpose ( tmp177 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp177 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp177 , ( 2 , 3 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp177 , ( 2 , 3 , 1 , 0 )) del tmp177 tmp154 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) l2new . aaaa += np . transpose ( tmp154 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp154 , ( 3 , 2 , 0 , 1 )) l2new . aaaa += np . transpose ( tmp154 , ( 2 , 3 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp154 , ( 2 , 3 , 0 , 1 )) * - 1 del tmp154 tmp183 = np . copy ( v . aaaa . oooo ) tmp183 += np . transpose ( tmp21 , ( 1 , 3 , 2 , 0 )) del tmp21 tmp183 += np . transpose ( tmp22 , ( 0 , 2 , 3 , 1 )) del tmp22 l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp183 , ( 2 , 4 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) * - 2 del tmp183 tmp150 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 4 , 5 , 2 , 1 ), ( 0 , 4 , 3 , 5 )) l2new . aaaa += np . transpose ( tmp150 , ( 2 , 3 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp150 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp150 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp150 , ( 3 , 2 , 0 , 1 )) del tmp150 tmp147 = np . copy ( v . aaaa . ooov ) tmp147 += np . transpose ( tmp0 , ( 0 , 2 , 1 , 3 )) del tmp0 l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp147 , ( 1 , 2 , 3 , 4 ), ( 4 , 0 , 3 , 2 )) * - 1 del tmp147 tmp160 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) * 0.5 tmp160 += tmp10 * 0.5 del tmp10 tmp160 += tmp158 * 0.5 del tmp158 tmp160 += tmp159 del tmp159 l2new . aaaa += einsum ( tmp160 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 5 , 0 )) * - 2 del tmp160 tmp172 = einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) * 0.5 l2new . aaaa += np . transpose ( tmp172 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp172 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp172 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp172 , ( 3 , 2 , 1 , 0 )) del tmp172 tmp171 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 2 , 4 , 5 , 3 ), ( 1 , 0 , 4 , 5 )) l2new . aaaa += np . transpose ( tmp171 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp171 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp171 , ( 2 , 3 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp171 , ( 2 , 3 , 1 , 0 )) del tmp171 tmp182 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) del tmp23 l2new . aaaa += np . transpose ( tmp182 , ( 2 , 3 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp182 , ( 2 , 3 , 0 , 1 )) * - 2 del tmp182 tmp170 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . vvvv , ( 4 , 1 , 5 , 0 ), ( 2 , 3 , 4 , 5 )) * - 1 l2new . aaaa += np . transpose ( tmp170 , ( 3 , 2 , 1 , 0 )) * 0.5 l2new . aaaa += np . transpose ( tmp170 , ( 3 , 2 , 1 , 0 )) * 0.5 l2new . aaaa += np . transpose ( tmp170 , ( 3 , 2 , 1 , 0 )) * 0.5 l2new . aaaa += np . transpose ( tmp170 , ( 3 , 2 , 1 , 0 )) * 0.5 del tmp170 tmp190 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp189 , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) del tmp189 l2new . aaaa += np . transpose ( tmp190 , ( 2 , 3 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp190 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp190 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp190 , ( 3 , 2 , 0 , 1 )) del tmp190 tmp151 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) l2new . aaaa += np . transpose ( tmp151 , ( 2 , 3 , 1 , 0 )) l2new . aaaa += np . transpose ( tmp151 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp151 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp151 , ( 3 , 2 , 0 , 1 )) del tmp151 tmp123 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) l1new . bb += einsum ( tmp123 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 1 , 4 )) * 2 del tmp123 tmp114 = np . copy ( np . transpose ( l1 . bb , ( 1 , 0 ))) * - 0.5 tmp114 += t1 . bb * - 0.5 tmp114 += tmp35 * - 0.5 tmp114 += tmp36 * - 1 tmp114 += tmp38 * 0.5 tmp114 += tmp40 tmp114 += einsum ( tmp44 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) * 0.5 del tmp44 l1new . bb += einsum ( tmp114 , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 3 , 2 )) * - 2 del tmp114 tmp122 = einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) l1new . bb += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp122 , ( 2 , 0 , 4 , 1 ), ( 4 , 3 )) del tmp122 tmp113 = np . copy ( tmp26 ) * 0.5 tmp113 += tmp27 tmp113 += tmp28 * 0.5 l1new . bb += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), tmp113 , ( 1 , 0 ), ( 3 , 2 )) * 2 del tmp113 tmp133 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 4 ), ( 0 , 4 , 1 , 2 )) tmp133 += tmp37 tmp133 += einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) * 2 tmp133 += einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) * - 1 tmp133 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * - 2 tmp133 += einsum ( t1 . aa , ( 0 , 1 ), tmp82 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 l1new . bb += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp133 , ( 0 , 4 , 2 , 1 ), ( 3 , 4 )) * - 1 del tmp133 tmp142 = np . copy ( t1 . bb ) * - 1 tmp142 += tmp35 * - 1 tmp142 += tmp36 * - 2 tmp142 += tmp38 tmp142 += tmp40 * 2 tmp142 += tmp45 l1new . bb += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp142 , ( 2 , 1 ), ( 3 , 0 )) del tmp142 tmp128 = np . copy ( np . transpose ( l2 . abab , ( 2 , 3 , 0 , 1 ))) tmp128 += tmp126 * 2 del tmp126 tmp128 += einsum ( t1 . aa , ( 0 , 1 ), tmp51 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 tmp128 += tmp127 * 2 del tmp127 l1new . bb += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), tmp128 , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) del tmp128 tmp111 = np . copy ( v . bbbb . ooov ) * - 1 tmp111 += einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) * - 1 tmp111 += einsum ( tmp104 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 2 , 4 , 0 , 5 )) * 2 del tmp104 tmp111 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 0 , 4 , 5 , 2 ), ( 5 , 1 , 4 , 3 )) del tmp14 tmp111 += einsum ( tmp100 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp111 += einsum ( tmp106 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 1 , 0 , 4 , 2 )) del tmp106 tmp111 += einsum ( tmp110 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp110 l1new . bb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp111 , ( 4 , 2 , 3 , 1 ), ( 0 , 4 )) * 2 del tmp111 tmp34 = np . copy ( tmp31 ) del tmp31 tmp34 += tmp32 del tmp32 tmp34 += tmp33 * 2 del tmp33 l1new . bb += einsum ( tmp34 , ( 0 , 1 ), tmp112 , ( 2 , 3 , 1 , 0 ), ( 3 , 2 )) * - 1 del tmp112 l1new . aa += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), tmp34 , ( 3 , 2 ), ( 1 , 0 )) del tmp34 tmp134 = np . copy ( np . transpose ( l2 . bbbb , ( 2 , 3 , 0 , 1 ))) * - 1 tmp134 += einsum ( t1 . bb , ( 0 , 1 ), tmp39 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) l1new . bb += einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), tmp134 , ( 4 , 0 , 3 , 1 ), ( 2 , 4 )) * - 2 del tmp134 tmp103 = np . copy ( np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 ))) tmp103 += tmp2 del tmp2 tmp103 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) tmp103 += einsum ( tmp96 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) del tmp96 tmp103 += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 2 , 1 , 5 )) * 2 tmp103 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp5 , ( 0 , 4 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) * - 1 tmp103 += einsum ( tmp100 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) del tmp100 tmp103 += einsum ( tmp102 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 2 ), ( 4 , 1 , 0 , 3 )) del tmp102 tmp103 += einsum ( t1 . aa , ( 0 , 1 ), tmp16 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 1 l1new . bb += einsum ( tmp103 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 3 , 4 , 0 , 1 ), ( 4 , 2 )) * - 1 del tmp103 tmp144 = np . copy ( f . bb . vv ) tmp144 += np . transpose ( tmp143 , ( 1 , 0 )) del tmp143 tmp144 += einsum ( t1 . bb , ( 0 , 1 ), tmp129 , ( 0 , 2 , 1 , 3 ), ( 3 , 2 )) * - 1 del tmp129 l1new . bb += einsum ( l1 . bb , ( 0 , 1 ), tmp144 , ( 0 , 2 ), ( 2 , 1 )) del tmp144 tmp135 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 5 , 1 ), ( 3 , 4 , 0 , 5 )) tmp135 += einsum ( t1 . aa , ( 0 , 1 ), tmp37 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) l1new . bb += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), tmp135 , ( 4 , 2 , 0 , 1 ), ( 3 , 4 )) * - 1 del tmp135 tmp140 = einsum ( l1 . bb , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp140 += np . transpose ( tmp136 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp140 += np . transpose ( tmp137 , ( 0 , 2 , 1 , 3 )) * 2 l1new . bb += einsum ( tmp140 , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 1 , 4 , 2 , 3 ), ( 4 , 0 )) * 2 del tmp140 tmp58 = np . copy ( np . transpose ( l1 . aa , ( 1 , 0 ))) * - 1 tmp58 += t1 . aa * - 1 tmp58 += tmp47 * - 2 tmp58 += tmp48 * - 1 tmp58 += tmp50 * 2 tmp58 += tmp52 tmp58 += tmp57 del tmp57 l1new . bb += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp58 , ( 0 , 1 ), ( 3 , 2 )) * - 1 l1new . aa += einsum ( tmp58 , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 0 , 1 ), ( 3 , 2 )) * - 1 del tmp58 tmp141 = np . copy ( tmp80 ) tmp141 += np . transpose ( tmp81 , ( 1 , 0 , 2 , 3 )) l1new . bb += einsum ( tmp141 , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 0 , 1 , 3 , 4 ), ( 4 , 2 )) del tmp141 tmp139 = np . copy ( np . transpose ( tmp39 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp39 tmp139 += np . transpose ( tmp136 , ( 2 , 0 , 1 , 3 )) * 0.5 del tmp136 tmp139 += np . transpose ( tmp137 , ( 2 , 0 , 1 , 3 )) * 2 del tmp137 tmp139 += einsum ( tmp138 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 3 , 1 , 2 , 4 )) del tmp138 l1new . bb += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp139 , ( 0 , 4 , 2 , 1 ), ( 3 , 4 )) * - 2 del tmp139 tmp46 = np . copy ( np . transpose ( l1 . bb , ( 1 , 0 ))) * - 1 tmp46 += t1 . bb * - 1 tmp46 += tmp35 * - 1 del tmp35 tmp46 += tmp36 * - 2 del tmp36 tmp46 += tmp38 del tmp38 tmp46 += tmp40 * 2 del tmp40 tmp46 += tmp45 del tmp45 l1new . aa += einsum ( tmp46 , ( 0 , 1 ), v . aabb . ovov , ( 2 , 3 , 0 , 1 ), ( 3 , 2 )) * - 1 del tmp46 tmp25 = np . copy ( v . aaaa . ooov ) * - 0.5 tmp25 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) * - 0.5 tmp25 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 5 , 1 , 3 ), ( 5 , 0 , 4 , 2 )) del tmp18 tmp25 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 5 , 1 , 3 ), ( 5 , 0 , 4 , 2 )) * 0.5 del tmp19 tmp25 += einsum ( tmp9 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) * 0.5 tmp25 += einsum ( t1 . aa , ( 0 , 1 ), tmp20 , ( 2 , 3 , 4 , 1 ), ( 3 , 2 , 0 , 4 )) * 0.5 del tmp20 tmp25 += einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 3 , 1 , 4 )) * 0.5 del tmp24 l1new . aa += einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 1 , 2 ), ( 4 , 0 )) * 4 del tmp25 tmp84 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 5 , 1 ), ( 5 , 0 , 4 , 3 )) tmp84 += einsum ( t1 . bb , ( 0 , 1 ), tmp51 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) l1new . aa += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), tmp84 , ( 4 , 0 , 3 , 2 ), ( 1 , 4 )) * - 1 del tmp84 tmp17 = np . copy ( v . aabb . ooov ) tmp17 += einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oovv , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp17 += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp17 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp1 , ( 0 , 4 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) del tmp1 tmp17 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp3 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) * - 1 del tmp3 tmp17 += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 1 , 0 , 4 , 5 )) * 2 del tmp5 tmp17 += einsum ( tmp9 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) del tmp9 tmp17 += einsum ( t1 . aa , ( 0 , 1 ), tmp11 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp11 tmp17 += einsum ( t1 . bb , ( 0 , 1 ), tmp16 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 del tmp16 l1new . aa += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp17 , ( 2 , 4 , 3 , 1 ), ( 0 , 4 )) * - 1 del tmp17 tmp69 = einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) l1new . aa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp69 , ( 3 , 4 , 1 , 0 ), ( 4 , 2 )) * - 2 del tmp69 tmp79 = np . copy ( tmp76 ) tmp79 += einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 0.5 tmp79 += tmp77 * 0.25 l1new . aa += einsum ( tmp79 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 4 , 3 , 2 ), ( 4 , 0 )) * - 4 del tmp79 tmp91 = np . copy ( t1 . aa ) * - 0.5 tmp91 += tmp47 * - 1 del tmp47 tmp91 += tmp48 * - 0.5 del tmp48 tmp91 += tmp50 del tmp50 tmp91 += tmp52 * 0.5 del tmp52 tmp91 += einsum ( t1 . aa , ( 0 , 1 ), tmp56 , ( 0 , 2 ), ( 2 , 1 )) del tmp56 l1new . aa += einsum ( tmp91 , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 1 , 0 , 3 ), ( 3 , 2 )) * 2 del tmp91 tmp88 = np . copy ( np . transpose ( tmp49 , ( 1 , 0 , 2 , 3 ))) * - 0.5 tmp88 += np . transpose ( tmp85 , ( 2 , 0 , 1 , 3 )) tmp88 += np . transpose ( tmp86 , ( 2 , 0 , 1 , 3 )) * 0.25 tmp88 += einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 3 , 1 , 2 , 4 )) * 0.5 del tmp87 l1new . aa += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp88 , ( 0 , 4 , 2 , 1 ), ( 3 , 4 )) * - 4 del tmp88 tmp75 = np . copy ( np . transpose ( l2 . abab , ( 2 , 3 , 0 , 1 ))) tmp75 += tmp73 * 2 del tmp73 tmp75 += tmp74 * 2 del tmp74 tmp75 += einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 l1new . aa += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), tmp75 , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) del tmp75 tmp72 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) l1new . aa += einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), tmp49 , ( 4 , 0 , 1 , 3 ), ( 2 , 4 )) * - 2 del tmp72 tmp29 = np . copy ( tmp26 ) del tmp26 tmp29 += tmp27 * 2 del tmp27 tmp29 += tmp28 del tmp28 l1new . aa += einsum ( tmp29 , ( 0 , 1 ), tmp30 , ( 2 , 3 , 1 , 0 ), ( 3 , 2 )) * - 1 del tmp30 , tmp29 tmp89 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) * 0.5 tmp89 += np . transpose ( tmp85 , ( 0 , 2 , 1 , 3 )) del tmp85 tmp89 += np . transpose ( tmp86 , ( 0 , 2 , 1 , 3 )) * 0.25 del tmp86 l1new . aa += einsum ( tmp89 , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 1 , 4 , 2 , 3 ), ( 4 , 0 )) * 4 del tmp89 tmp78 = np . copy ( np . transpose ( l2 . aaaa , ( 2 , 3 , 0 , 1 ))) tmp78 += tmp76 * 2 del tmp76 tmp78 += tmp77 * 0.5 del tmp77 l1new . aa += einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), tmp78 , ( 4 , 0 , 3 , 1 ), ( 2 , 4 )) * 2 del tmp78 tmp94 = np . copy ( f . aa . vv ) tmp94 += np . transpose ( tmp92 , ( 1 , 0 )) del tmp92 tmp94 += einsum ( t1 . aa , ( 0 , 1 ), tmp93 , ( 0 , 1 , 2 , 3 ), ( 3 , 2 )) * - 1 del tmp93 l1new . aa += einsum ( l1 . aa , ( 0 , 1 ), tmp94 , ( 0 , 2 ), ( 2 , 1 )) del tmp94 tmp90 = np . copy ( tmp80 ) del tmp80 tmp90 += np . transpose ( tmp81 , ( 0 , 1 , 3 , 2 )) del tmp81 l1new . aa += einsum ( tmp90 , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 1 , 4 , 3 , 2 ), ( 4 , 0 )) del tmp90 tmp68 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) l1new . aa += einsum ( tmp68 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 0 ), ( 1 , 4 )) del tmp68 tmp83 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 2 , 4 ), ( 4 , 0 , 1 , 3 )) tmp83 += tmp51 tmp83 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp49 , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) * - 2 del tmp49 tmp83 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp51 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) * 2 del tmp51 tmp83 += einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 del tmp37 tmp83 += einsum ( tmp82 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 1 del tmp82 l1new . aa += einsum ( tmp83 , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 1 , 4 , 2 , 3 ), ( 4 , 0 )) * - 1 del tmp83 l1new . aa += einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 3 , 1 ), ( 2 , 0 )) * - 1 l1new . aa += np . transpose ( f . aa . ov , ( 1 , 0 )) l1new . bb += einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 2 , 0 )) * - 1 l1new . bb += np . transpose ( f . bb . ov , ( 1 , 0 )) l2new . aaaa += np . transpose ( v . aaaa . ovov , ( 1 , 3 , 0 , 2 )) l2new . aaaa += np . transpose ( v . aaaa . ovov , ( 3 , 1 , 0 , 2 )) * - 1 l2new . abab += np . transpose ( v . aabb . ovov , ( 1 , 3 , 0 , 2 )) l2new . abab += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 4 ), ( 1 , 2 , 0 , 4 )) l2new . abab += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 1 , 4 ), ( 0 , 3 , 4 , 2 )) l2new . bbbb += np . transpose ( v . bbbb . ovov , ( 1 , 3 , 0 , 2 )) l2new . bbbb += np . transpose ( v . bbbb . ovov , ( 3 , 1 , 0 , 2 )) * - 1 return { f \"l1new\" : l1new , f \"l2new\" : l2new }","title":"Returns"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.make_rdm1_f","text":"Code generated by albert 0.0.0 on 2024-08-12T21:49:17.273031.","title":"make_rdm1_f"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.make_rdm1_f--parameters","text":"l1 : Namespace of arrays L1 amplitudes. l2 : Namespace of arrays L2 amplitudes. t1 : Namespace of arrays T1 amplitudes. t2 : Namespace of arrays T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.make_rdm1_f--returns","text":"rdm1 : Namespace of arrays One-particle reduced density matrix. Source code in ebcc/codegen/UCCSD.py 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 def make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-12T21:49:17.273031. 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 ])), ) tmp4 = einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 0 ), ( 1 , 2 )) rdm1 . bb . oo = np . copy ( np . transpose ( tmp4 , ( 1 , 0 ))) * - 1 tmp5 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) rdm1 . bb . oo += np . transpose ( tmp5 , ( 1 , 0 )) * - 2 tmp3 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 0 , 4 ), ( 4 , 1 )) rdm1 . bb . oo += np . transpose ( tmp3 , ( 1 , 0 )) * - 1 tmp2 = einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 1 , 2 )) rdm1 . aa . oo = np . copy ( np . transpose ( tmp2 , ( 1 , 0 ))) * - 1 tmp1 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) rdm1 . aa . oo += np . transpose ( tmp1 , ( 1 , 0 )) * - 2 tmp0 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) rdm1 . aa . oo += np . transpose ( tmp0 , ( 1 , 0 )) * - 1 tmp11 = np . copy ( tmp4 ) del tmp4 tmp11 += tmp3 del tmp3 tmp11 += tmp5 * 2 del tmp5 rdm1 . bb . ov = einsum ( tmp11 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp11 tmp9 = einsum ( t1 . bb , ( 0 , 1 ), l2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) rdm1 . bb . ov += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp9 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) * - 2 del tmp9 tmp10 = einsum ( t1 . bb , ( 0 , 1 ), l2 . abab , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) rdm1 . bb . ov += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) * - 1 del tmp10 tmp7 = einsum ( t1 . aa , ( 0 , 1 ), l2 . abab , ( 1 , 2 , 3 , 4 ), ( 3 , 0 , 4 , 2 )) rdm1 . aa . ov = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) * - 1 del tmp7 tmp6 = einsum ( t1 . aa , ( 0 , 1 ), l2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) rdm1 . aa . ov += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) * - 2 del tmp6 tmp8 = np . copy ( tmp2 ) del tmp2 tmp8 += tmp1 * 2 del tmp1 tmp8 += tmp0 del tmp0 rdm1 . aa . ov += einsum ( t1 . aa , ( 0 , 1 ), tmp8 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp8 rdm1 . aa . oo += delta . aa . oo rdm1 . bb . oo += delta . bb . oo del delta rdm1 . aa . ov += einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) rdm1 . aa . ov += einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) * 2 rdm1 . aa . ov += t1 . aa rdm1 . bb . ov += einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) rdm1 . bb . ov += t1 . bb rdm1 . bb . ov += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) * 2 rdm1 . aa . vo = np . copy ( l1 . aa ) rdm1 . bb . vo = np . copy ( l1 . bb ) rdm1 . aa . vv = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) rdm1 . aa . vv += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) rdm1 . aa . vv += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) * 2 rdm1 . bb . vv = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 0 ), ( 2 , 1 )) rdm1 . bb . vv += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) * 2 rdm1 . bb . vv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) 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","title":"Returns"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.make_rdm2_f","text":"Code generated by albert 0.0.0 on 2024-08-12T21:49:53.439642.","title":"make_rdm2_f"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.make_rdm2_f--parameters","text":"l1 : Namespace of arrays L1 amplitudes. l2 : Namespace of arrays L2 amplitudes. t1 : Namespace of arrays T1 amplitudes. t2 : Namespace of arrays T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.make_rdm2_f--returns","text":"rdm2 : Namespace of arrays Two-particle reduced density matrix. Source code in ebcc/codegen/UCCSD.py 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 def make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-12T21:49:53.439642. 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 ])), ) tmp10 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp9 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 0 , 4 ), ( 4 , 1 )) tmp8 = einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 0 ), ( 1 , 2 )) tmp19 = einsum ( t1 . bb , ( 0 , 1 ), l2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) rdm2 . bbbb . vooo = np . copy ( np . transpose ( tmp19 , ( 3 , 2 , 1 , 0 ))) rdm2 . bbbb . vooo += np . transpose ( tmp19 , ( 3 , 2 , 1 , 0 )) rdm2 . bbbb . ovoo = np . copy ( np . transpose ( tmp19 , ( 2 , 3 , 1 , 0 ))) * - 1 rdm2 . bbbb . ovoo += np . transpose ( tmp19 , ( 2 , 3 , 1 , 0 )) * - 1 tmp14 = einsum ( t1 . bb , ( 0 , 1 ), l2 . abab , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) rdm2 . abab . vovv = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 4 , 5 ), ( 3 , 2 , 4 , 5 )) * - 1 rdm2 . abab . vovo = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 rdm2 . abab . vooo = np . copy ( np . transpose ( tmp14 , ( 3 , 2 , 0 , 1 ))) * - 1 tmp2 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp1 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp0 = einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 1 , 2 )) tmp6 = einsum ( t1 . aa , ( 0 , 1 ), l2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) rdm2 . aaaa . vooo = np . copy ( np . transpose ( tmp6 , ( 3 , 2 , 1 , 0 ))) rdm2 . aaaa . vooo += np . transpose ( tmp6 , ( 3 , 2 , 1 , 0 )) rdm2 . aaaa . ovoo = np . copy ( np . transpose ( tmp6 , ( 2 , 3 , 1 , 0 ))) * - 1 rdm2 . aaaa . ovoo += np . transpose ( tmp6 , ( 2 , 3 , 1 , 0 )) * - 1 tmp27 = einsum ( t1 . aa , ( 0 , 1 ), l2 . abab , ( 1 , 2 , 3 , 4 ), ( 3 , 0 , 4 , 2 )) rdm2 . abab . ovvv = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) * - 1 rdm2 . abab . ovov = einsum ( t1 . bb , ( 0 , 1 ), tmp27 , ( 2 , 3 , 0 , 4 ), ( 3 , 4 , 2 , 1 )) * - 1 rdm2 . abab . ovoo = np . copy ( np . transpose ( tmp27 , ( 1 , 3 , 0 , 2 ))) * - 1 tmp88 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) rdm2 . bbbb . vovo = np . copy ( np . transpose ( tmp88 , ( 2 , 1 , 3 , 0 ))) * - 4 rdm2 . bbbb . voov = np . copy ( np . transpose ( tmp88 , ( 2 , 1 , 0 , 3 ))) * 4 rdm2 . bbbb . ovvo = np . copy ( np . transpose ( tmp88 , ( 1 , 2 , 3 , 0 ))) * 4 rdm2 . bbbb . ovov = np . copy ( np . transpose ( tmp88 , ( 1 , 2 , 0 , 3 ))) * - 4 tmp107 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 5 ), ( 3 , 4 , 1 , 5 )) rdm2 . bbbb . vovo += np . transpose ( tmp107 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . voov += np . transpose ( tmp107 , ( 2 , 1 , 0 , 3 )) rdm2 . bbbb . ovvo += np . transpose ( tmp107 , ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . ovov += np . transpose ( tmp107 , ( 1 , 2 , 0 , 3 )) * - 1 tmp69 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) rdm2 . aaaa . vovo = np . copy ( np . transpose ( tmp69 , ( 2 , 1 , 3 , 0 ))) * - 1 rdm2 . aaaa . voov = np . copy ( np . transpose ( tmp69 , ( 2 , 1 , 0 , 3 ))) rdm2 . aaaa . ovvo = np . copy ( np . transpose ( tmp69 , ( 1 , 2 , 3 , 0 ))) rdm2 . aaaa . ovov = np . copy ( np . transpose ( tmp69 , ( 1 , 2 , 0 , 3 ))) * - 1 tmp67 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) rdm2 . aaaa . vovo += np . transpose ( tmp67 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . aaaa . voov += np . transpose ( tmp67 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . aaaa . ovvo += np . transpose ( tmp67 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . aaaa . ovov += np . transpose ( tmp67 , ( 1 , 2 , 0 , 3 )) * - 4 tmp17 = np . copy ( tmp8 ) tmp17 += tmp9 tmp17 += tmp10 * 2 rdm2 . abab . oovv = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 rdm2 . bbbb . oovo = einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . bbbb . oovo += einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) rdm2 . abab . oovo = einsum ( t1 . aa , ( 0 , 1 ), tmp17 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . bbbb . ooov = einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) rdm2 . bbbb . ooov += einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . bbbb . oooo = einsum ( delta . bb . oo , ( 0 , 1 ), tmp17 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) tmp51 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 rdm2 . bbbb . oovo += np . transpose ( tmp51 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . bbbb . oovo += np . transpose ( tmp51 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . bbbb . ooov += np . transpose ( tmp51 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . bbbb . ooov += np . transpose ( tmp51 , ( 1 , 2 , 0 , 3 )) * - 4 tmp50 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 0 , 4 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) rdm2 . bbbb . oovo += np . transpose ( tmp50 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . oovo += np . transpose ( tmp50 , ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . ooov += np . transpose ( tmp50 , ( 2 , 1 , 0 , 3 )) rdm2 . bbbb . ooov += np . transpose ( tmp50 , ( 1 , 2 , 0 , 3 )) * - 1 tmp18 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) rdm2 . bbbb . oooo += np . transpose ( tmp18 , ( 3 , 2 , 1 , 0 )) rdm2 . bbbb . oooo += np . transpose ( tmp18 , ( 3 , 2 , 1 , 0 )) tmp20 = einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) rdm2 . bbbb . oooo += np . transpose ( tmp20 , ( 2 , 3 , 1 , 0 )) * - 1 rdm2 . bbbb . oooo += np . transpose ( tmp20 , ( 2 , 3 , 1 , 0 )) * - 1 tmp15 = einsum ( t1 . aa , ( 0 , 1 ), tmp14 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) rdm2 . abab . oooo = np . copy ( np . transpose ( tmp15 , ( 1 , 3 , 0 , 2 ))) tmp13 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 0 , 1 ), ( 2 , 4 , 3 , 5 )) rdm2 . abab . oooo += np . transpose ( tmp13 , ( 1 , 3 , 0 , 2 )) tmp4 = np . copy ( tmp0 ) * 0.5 tmp4 += tmp1 tmp4 += tmp2 * 0.5 rdm2 . aaaa . oooo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * 2 rdm2 . aaaa . oooo += einsum ( tmp4 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 2 tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) rdm2 . aaaa . oooo += np . transpose ( tmp7 , ( 2 , 3 , 1 , 0 )) * - 1 rdm2 . aaaa . oooo += np . transpose ( tmp7 , ( 2 , 3 , 1 , 0 )) * - 1 tmp5 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) rdm2 . aaaa . oooo += np . transpose ( tmp5 , ( 3 , 2 , 1 , 0 )) rdm2 . aaaa . oooo += np . transpose ( tmp5 , ( 3 , 2 , 1 , 0 )) tmp31 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) rdm2 . aaaa . oovo = np . copy ( np . transpose ( tmp31 , ( 2 , 1 , 3 , 0 ))) * - 1 rdm2 . aaaa . oovo += np . transpose ( tmp31 , ( 1 , 2 , 3 , 0 )) rdm2 . aaaa . ooov = np . copy ( np . transpose ( tmp31 , ( 2 , 1 , 0 , 3 ))) rdm2 . aaaa . ooov += np . transpose ( tmp31 , ( 1 , 2 , 0 , 3 )) * - 1 tmp32 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) * - 1 rdm2 . aaaa . oovo += np . transpose ( tmp32 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . aaaa . oovo += np . transpose ( tmp32 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . aaaa . ooov += np . transpose ( tmp32 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . aaaa . ooov += np . transpose ( tmp32 , ( 1 , 2 , 0 , 3 )) * - 4 tmp108 = einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) rdm2 . bbbb . vovo += np . transpose ( tmp108 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . bbbb . voov += np . transpose ( tmp108 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . bbbb . ovvo += np . transpose ( tmp108 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . bbbb . ovov += np . transpose ( tmp108 , ( 1 , 2 , 0 , 3 )) * 2 tmp121 = np . copy ( tmp107 ) tmp121 += tmp88 * 4 tmp80 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp79 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) tmp105 = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 0 ), ( 2 , 1 )) tmp62 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp102 = einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp63 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp90 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) rdm2 . abab . voov = np . copy ( np . transpose ( tmp90 , ( 2 , 1 , 0 , 3 ))) * 2 tmp92 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) rdm2 . abab . voov += np . transpose ( tmp92 , ( 2 , 1 , 0 , 3 )) * 2 tmp104 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) rdm2 . aaaa . vovo += np . transpose ( tmp104 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . aaaa . voov += np . transpose ( tmp104 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . aaaa . ovvo += np . transpose ( tmp104 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . aaaa . ovov += np . transpose ( tmp104 , ( 1 , 2 , 0 , 3 )) * 2 tmp84 = np . copy ( tmp67 ) * 4 tmp84 += tmp69 rdm2 . abab . oovv += einsum ( tmp84 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp65 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) rdm2 . abab . ovvo = np . copy ( np . transpose ( tmp65 , ( 0 , 3 , 2 , 1 ))) * 2 tmp82 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 4 , 3 , 5 , 1 )) rdm2 . abab . ovvo += np . transpose ( tmp82 , ( 0 , 3 , 2 , 1 )) * 2 tmp39 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) tmp40 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp19 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) tmp60 = einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 0 , 2 ), ( 2 , 1 )) * 0.5 tmp36 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) tmp35 = einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) tmp49 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) rdm2 . bbbb . oovo += np . transpose ( tmp49 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . bbbb . ooov += np . transpose ( tmp49 , ( 2 , 1 , 0 , 3 )) * - 2 tmp100 = np . copy ( tmp50 ) del tmp50 tmp100 += tmp51 * 4 del tmp51 tmp41 = einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 0 , 2 ), ( 2 , 1 )) tmp52 = np . copy ( np . transpose ( tmp18 , ( 1 , 0 , 3 , 2 ))) del tmp18 tmp52 += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp20 tmp45 = np . copy ( tmp13 ) del tmp13 tmp45 += tmp15 del tmp15 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp45 , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) rdm2 . abab . oovo += einsum ( t1 . aa , ( 0 , 1 ), tmp45 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 1 , 3 )) tmp21 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp22 = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp43 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) * - 1 rdm2 . abab . ooov = np . copy ( np . transpose ( tmp43 , ( 1 , 2 , 0 , 3 ))) * - 2 tmp44 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp27 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) rdm2 . abab . ooov += np . transpose ( tmp44 , ( 1 , 2 , 0 , 3 )) * - 2 tmp28 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp26 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) tmp29 = einsum ( tmp4 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * 2 tmp58 = einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) * - 1 rdm2 . abab . oovo += np . transpose ( tmp58 , ( 0 , 2 , 3 , 1 )) * - 2 tmp57 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) rdm2 . abab . oovo += np . transpose ( tmp57 , ( 0 , 2 , 3 , 1 )) * - 2 tmp12 = np . copy ( tmp0 ) tmp12 += tmp1 * 2 tmp12 += tmp2 rdm2 . abab . oovv += einsum ( tmp12 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 rdm2 . aaaa . oovo += einsum ( t1 . aa , ( 0 , 1 ), tmp12 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . aaaa . oovo += einsum ( tmp12 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) rdm2 . abab . ooov += einsum ( tmp12 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . aaaa . ooov += einsum ( t1 . aa , ( 0 , 1 ), tmp12 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) rdm2 . aaaa . ooov += einsum ( tmp12 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . abab . oooo += einsum ( tmp12 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 tmp33 = np . copy ( np . transpose ( tmp5 , ( 1 , 0 , 3 , 2 ))) del tmp5 tmp33 += np . transpose ( tmp7 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp7 tmp77 = np . copy ( tmp32 ) * 4 del tmp32 tmp77 += tmp31 del tmp31 tmp25 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) rdm2 . aaaa . oovo += np . transpose ( tmp25 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . aaaa . ooov += np . transpose ( tmp25 , ( 2 , 1 , 0 , 3 )) * - 2 tmp54 = einsum ( tmp4 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) del tmp4 tmp130 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) rdm2 . bbbb . vvvv = np . copy ( np . transpose ( tmp130 , ( 1 , 0 , 3 , 2 ))) rdm2 . bbbb . vvvv += np . transpose ( tmp130 , ( 1 , 0 , 3 , 2 )) del tmp130 tmp128 = einsum ( t1 . bb , ( 0 , 1 ), l2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 4 , 2 , 3 , 1 )) rdm2 . bbbb . vvvv += einsum ( t1 . bb , ( 0 , 1 ), tmp128 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 rdm2 . bbbb . vvvo = np . copy ( np . transpose ( tmp128 , ( 2 , 1 , 3 , 0 ))) * 2 rdm2 . bbbb . vvov = np . copy ( np . transpose ( tmp128 , ( 2 , 1 , 0 , 3 ))) * - 2 del tmp128 tmp127 = einsum ( t1 . bb , ( 0 , 1 ), l2 . abab , ( 2 , 3 , 4 , 0 ), ( 4 , 2 , 3 , 1 )) rdm2 . abab . vvvv = einsum ( tmp127 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) rdm2 . abab . vvov = np . copy ( np . transpose ( tmp127 , ( 1 , 2 , 0 , 3 ))) del tmp127 tmp126 = einsum ( t1 . aa , ( 0 , 1 ), l2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 4 , 2 , 3 , 1 )) rdm2 . aaaa . vvvv = einsum ( t1 . aa , ( 0 , 1 ), tmp126 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 rdm2 . aaaa . vvvo = np . copy ( np . transpose ( tmp126 , ( 2 , 1 , 3 , 0 ))) * 2 rdm2 . aaaa . vvov = np . copy ( np . transpose ( tmp126 , ( 2 , 1 , 0 , 3 ))) * - 2 del tmp126 tmp129 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) rdm2 . aaaa . vvvv += np . transpose ( tmp129 , ( 1 , 0 , 3 , 2 )) rdm2 . aaaa . vvvv += np . transpose ( tmp129 , ( 1 , 0 , 3 , 2 )) del tmp129 tmp124 = einsum ( t1 . bb , ( 0 , 1 ), tmp108 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp108 rdm2 . bbbb . vovv = np . copy ( np . transpose ( tmp124 , ( 1 , 0 , 3 , 2 ))) * 2 rdm2 . bbbb . ovvv = np . copy ( np . transpose ( tmp124 , ( 0 , 1 , 3 , 2 ))) * - 2 del tmp124 tmp122 = einsum ( t1 . bb , ( 0 , 1 ), tmp121 , ( 0 , 2 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) del tmp121 rdm2 . bbbb . vovv += np . transpose ( tmp122 , ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . bbbb . vovv += np . transpose ( tmp122 , ( 2 , 0 , 1 , 3 )) rdm2 . bbbb . ovvv += np . transpose ( tmp122 , ( 0 , 2 , 3 , 1 )) del tmp122 tmp118 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) rdm2 . bbbb . vovv += np . transpose ( tmp118 , ( 1 , 0 , 3 , 2 )) rdm2 . bbbb . vovv += np . transpose ( tmp118 , ( 1 , 0 , 3 , 2 )) rdm2 . bbbb . ovvv += np . transpose ( tmp118 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . bbbb . ovvv += np . transpose ( tmp118 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp118 tmp106 = np . copy ( tmp105 ) tmp106 += tmp79 tmp106 += tmp80 * 2 rdm2 . bbbb . vovv += einsum ( tmp106 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . ovvv += einsum ( tmp106 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . ovvv += einsum ( t1 . aa , ( 0 , 1 ), tmp106 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . vovo += einsum ( tmp106 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . voov += einsum ( tmp106 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . ovvo += einsum ( tmp106 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . ovov += einsum ( tmp106 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . ovov += einsum ( tmp106 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp106 tmp119 = np . copy ( tmp105 ) * 0.5 del tmp105 tmp119 += tmp79 * 0.5 tmp119 += tmp80 rdm2 . bbbb . vovv += einsum ( t1 . bb , ( 0 , 1 ), tmp119 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . bbbb . ovvv += einsum ( t1 . bb , ( 0 , 1 ), tmp119 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 del tmp119 tmp123 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp19 , ( 1 , 0 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) * - 1 del tmp19 rdm2 . bbbb . vovv += np . transpose ( tmp123 , ( 1 , 0 , 3 , 2 )) rdm2 . bbbb . vovv += np . transpose ( tmp123 , ( 1 , 0 , 3 , 2 )) rdm2 . bbbb . ovvv += np . transpose ( tmp123 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . bbbb . ovvv += np . transpose ( tmp123 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp123 tmp103 = np . copy ( tmp102 ) tmp103 += tmp62 * 2 tmp103 += tmp63 rdm2 . abab . vovv += einsum ( t1 . bb , ( 0 , 1 ), tmp103 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . vovv = einsum ( tmp103 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . ovvv = einsum ( tmp103 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . vovo += einsum ( tmp103 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . voov += einsum ( tmp103 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . ovov += einsum ( tmp103 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp103 tmp125 = np . copy ( tmp90 ) tmp125 += tmp92 rdm2 . abab . vovv += einsum ( tmp125 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 1 , 4 , 3 )) * 2 del tmp125 tmp112 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 5 , 1 ), ( 3 , 4 , 0 , 5 )) rdm2 . abab . vovv += einsum ( t1 . bb , ( 0 , 1 ), tmp112 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 rdm2 . abab . vovo += np . transpose ( tmp112 , ( 2 , 1 , 3 , 0 )) * - 1 del tmp112 tmp111 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) rdm2 . abab . vovv += einsum ( tmp111 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 1 , 4 , 3 )) * - 1 rdm2 . abab . voov += np . transpose ( tmp111 , ( 2 , 1 , 0 , 3 )) * - 1 del tmp111 tmp109 = np . copy ( tmp102 ) * 0.5 del tmp102 tmp109 += tmp62 tmp109 += tmp63 * 0.5 rdm2 . aaaa . vovv += einsum ( t1 . aa , ( 0 , 1 ), tmp109 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . aaaa . ovvv += einsum ( t1 . aa , ( 0 , 1 ), tmp109 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . aaaa . vovo += einsum ( tmp109 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . aaaa . ovvo += einsum ( tmp109 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 del tmp109 tmp113 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) rdm2 . aaaa . vovv += np . transpose ( tmp113 , ( 1 , 0 , 3 , 2 )) rdm2 . aaaa . vovv += np . transpose ( tmp113 , ( 1 , 0 , 3 , 2 )) rdm2 . aaaa . ovvv += np . transpose ( tmp113 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . aaaa . ovvv += np . transpose ( tmp113 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp113 tmp117 = einsum ( t1 . aa , ( 0 , 1 ), tmp104 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp104 rdm2 . aaaa . vovv += np . transpose ( tmp117 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . aaaa . ovvv += np . transpose ( tmp117 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp117 tmp115 = einsum ( tmp84 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 4 , 2 , 3 )) del tmp84 rdm2 . aaaa . vovv += np . transpose ( tmp115 , ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . vovv += np . transpose ( tmp115 , ( 2 , 0 , 1 , 3 )) rdm2 . aaaa . ovvv += np . transpose ( tmp115 , ( 0 , 2 , 3 , 1 )) del tmp115 tmp116 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 0 , 4 , 5 ), ( 2 , 3 , 4 , 5 )) * - 1 del tmp6 rdm2 . aaaa . vovv += np . transpose ( tmp116 , ( 1 , 0 , 3 , 2 )) rdm2 . aaaa . vovv += np . transpose ( tmp116 , ( 1 , 0 , 3 , 2 )) rdm2 . aaaa . ovvv += np . transpose ( tmp116 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . aaaa . ovvv += np . transpose ( tmp116 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp116 tmp120 = np . copy ( tmp107 ) del tmp107 tmp120 += tmp88 * 4 rdm2 . bbbb . ovvv += einsum ( t1 . bb , ( 0 , 1 ), tmp120 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp120 tmp85 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 5 , 1 ), ( 5 , 0 , 4 , 3 )) rdm2 . abab . ovvv += einsum ( tmp85 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 1 rdm2 . abab . ovov += np . transpose ( tmp85 , ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp85 , ( 0 , 4 , 3 , 5 ), ( 4 , 1 , 2 , 5 )) del tmp85 tmp110 = einsum ( t1 . aa , ( 0 , 1 ), tmp27 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) rdm2 . abab . ovvv += einsum ( t1 . bb , ( 0 , 1 ), tmp110 , ( 2 , 0 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 1 rdm2 . abab . ovvo += np . transpose ( tmp110 , ( 0 , 3 , 2 , 1 )) * - 1 del tmp110 tmp83 = np . copy ( tmp82 ) del tmp82 tmp83 += tmp65 rdm2 . abab . ovvv += einsum ( t1 . bb , ( 0 , 1 ), tmp83 , ( 2 , 0 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * 2 rdm2 . abab . oovv += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp83 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 4 del tmp83 tmp114 = np . copy ( tmp67 ) tmp114 += tmp69 * 0.25 rdm2 . aaaa . ovvv += einsum ( t1 . aa , ( 0 , 1 ), tmp114 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 4 del tmp114 tmp61 = np . copy ( tmp39 ) * 0.5 tmp61 += tmp40 tmp61 += tmp60 del tmp60 rdm2 . bbbb . oovv = einsum ( t1 . bb , ( 0 , 1 ), tmp61 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp61 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp61 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 rdm2 . bbbb . oovo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp61 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 del tmp61 tmp37 = np . copy ( t1 . bb ) tmp37 += tmp35 tmp37 += tmp36 * 2 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . oovo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . ooov += einsum ( delta . bb . oo , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . ooov += einsum ( delta . aa . oo , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) del tmp37 tmp81 = np . copy ( tmp79 ) * 0.5 tmp81 += tmp80 rdm2 . bbbb . oovv += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp81 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 4 rdm2 . abab . oovv += einsum ( tmp81 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp81 tmp95 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp49 rdm2 . bbbb . oovv += np . transpose ( tmp95 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += tmp95 * 2 del tmp95 tmp101 = einsum ( tmp100 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp100 rdm2 . bbbb . oovv += np . transpose ( tmp101 , ( 0 , 1 , 3 , 2 )) rdm2 . bbbb . oovv += np . transpose ( tmp101 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . bbbb . oovv += tmp101 * - 1 rdm2 . bbbb . oovv += np . transpose ( tmp101 , ( 1 , 0 , 2 , 3 )) del tmp101 tmp94 = np . copy ( tmp35 ) tmp94 += tmp36 * 2 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp94 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp94 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp94 tmp42 = np . copy ( tmp39 ) del tmp39 tmp42 += tmp40 * 2 del tmp40 tmp42 += tmp41 del tmp41 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) rdm2 . bbbb . oovo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) rdm2 . bbbb . ooov += einsum ( delta . bb . oo , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 rdm2 . bbbb . ooov += einsum ( tmp42 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) rdm2 . abab . ooov += einsum ( tmp42 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 del tmp42 tmp98 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp52 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) rdm2 . bbbb . oovv += np . transpose ( tmp98 , ( 1 , 0 , 3 , 2 )) rdm2 . bbbb . oovv += np . transpose ( tmp98 , ( 1 , 0 , 3 , 2 )) del tmp98 tmp48 = np . copy ( t1 . bb ) tmp48 += tmp35 del tmp35 tmp48 += tmp36 * 2 del tmp36 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp48 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . oovo += einsum ( tmp48 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . ooov += einsum ( tmp48 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 del tmp48 tmp96 = np . copy ( tmp79 ) del tmp79 tmp96 += tmp80 * 2 del tmp80 rdm2 . bbbb . oovv += einsum ( tmp96 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp96 tmp89 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp88 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) del tmp88 rdm2 . bbbb . oovv += tmp89 * 8 rdm2 . bbbb . oovv += np . transpose ( tmp89 , ( 0 , 1 , 3 , 2 )) * - 8 del tmp89 tmp97 = einsum ( tmp17 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 del tmp17 rdm2 . bbbb . oovv += np . transpose ( tmp97 , ( 1 , 0 , 3 , 2 )) rdm2 . bbbb . oovv += np . transpose ( tmp97 , ( 1 , 0 , 3 , 2 )) rdm2 . bbbb . oovv += np . transpose ( tmp97 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . bbbb . oovv += np . transpose ( tmp97 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp97 tmp91 = einsum ( tmp90 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp90 rdm2 . bbbb . oovv += np . transpose ( tmp91 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . bbbb . oovv += np . transpose ( tmp91 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp91 tmp93 = einsum ( tmp92 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp92 rdm2 . bbbb . oovv += np . transpose ( tmp93 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . bbbb . oovv += tmp93 * 2 rdm2 . bbbb . oovv += np . transpose ( tmp93 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp93 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp93 tmp99 = einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp99 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp99 tmp46 = einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp45 rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp46 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) rdm2 . abab . ooov += np . transpose ( tmp46 , ( 1 , 2 , 0 , 3 )) del tmp46 tmp47 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) del tmp14 rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp47 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) rdm2 . abab . ooov += np . transpose ( tmp47 , ( 1 , 2 , 0 , 3 )) del tmp47 tmp59 = einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) del tmp27 rdm2 . abab . oovv += einsum ( tmp59 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) rdm2 . abab . oovo += np . transpose ( tmp59 , ( 0 , 2 , 3 , 1 )) del tmp59 tmp56 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 4 ), ( 0 , 4 , 1 , 2 )) rdm2 . abab . oovv += einsum ( tmp56 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 rdm2 . abab . oovo += np . transpose ( tmp56 , ( 0 , 2 , 3 , 1 )) * - 1 del tmp56 tmp71 = np . copy ( tmp21 ) * 2 tmp71 += tmp22 rdm2 . abab . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp71 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . oovv = einsum ( tmp71 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp71 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp71 tmp86 = np . copy ( tmp43 ) del tmp43 tmp86 += tmp44 del tmp44 rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp86 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp86 tmp73 = np . copy ( tmp62 ) * 2 tmp73 += tmp63 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp73 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 rdm2 . aaaa . oovv += einsum ( tmp73 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp73 tmp30 = np . copy ( tmp26 ) * 2 tmp30 += tmp28 tmp30 += tmp29 del tmp29 rdm2 . abab . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . oovv += einsum ( tmp30 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . abab . oovo += einsum ( tmp30 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 rdm2 . aaaa . ooov += einsum ( tmp30 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . ooov += einsum ( delta . aa . oo , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) del tmp30 tmp38 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 2 , 4 ), ( 4 , 0 , 1 , 3 )) rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp38 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 rdm2 . abab . ooov += np . transpose ( tmp38 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp38 tmp87 = np . copy ( tmp57 ) del tmp57 tmp87 += tmp58 del tmp58 rdm2 . abab . oovv += einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) * - 2 del tmp87 tmp64 = np . copy ( tmp62 ) del tmp62 tmp64 += tmp63 * 0.5 del tmp63 rdm2 . aaaa . oovv += einsum ( tmp64 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 4 del tmp64 tmp70 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp69 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) del tmp69 rdm2 . aaaa . oovv += np . transpose ( tmp70 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . aaaa . oovv += tmp70 * 2 rdm2 . aaaa . oovv += np . transpose ( tmp70 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . aaaa . oovv += np . transpose ( tmp70 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp70 tmp66 = einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp65 rdm2 . aaaa . oovv += tmp66 * 2 rdm2 . aaaa . oovv += np . transpose ( tmp66 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp66 tmp74 = einsum ( tmp12 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp12 rdm2 . aaaa . oovv += np . transpose ( tmp74 , ( 0 , 1 , 3 , 2 )) rdm2 . aaaa . oovv += np . transpose ( tmp74 , ( 0 , 1 , 3 , 2 )) rdm2 . aaaa . oovv += np . transpose ( tmp74 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . aaaa . oovv += np . transpose ( tmp74 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp74 tmp76 = einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) rdm2 . aaaa . oovv += einsum ( tmp76 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * 2 del tmp76 tmp78 = einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp77 rdm2 . aaaa . oovv += np . transpose ( tmp78 , ( 0 , 1 , 3 , 2 )) rdm2 . aaaa . oovv += np . transpose ( tmp78 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . aaaa . oovv += tmp78 * - 1 rdm2 . aaaa . oovv += np . transpose ( tmp78 , ( 1 , 0 , 2 , 3 )) del tmp78 tmp24 = np . copy ( t1 . aa ) tmp24 += tmp21 * 2 tmp24 += tmp22 rdm2 . aaaa . oovv += einsum ( tmp24 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . oovo += einsum ( tmp24 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . ooov += einsum ( tmp24 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp24 tmp68 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp67 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) del tmp67 rdm2 . aaaa . oovv += tmp68 * 8 rdm2 . aaaa . oovv += np . transpose ( tmp68 , ( 0 , 1 , 3 , 2 )) * - 8 del tmp68 tmp23 = np . copy ( t1 . aa ) tmp23 += tmp21 * 2 del tmp21 tmp23 += tmp22 del tmp22 rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp23 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . abab . oovo += einsum ( tmp23 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . oovo += einsum ( tmp23 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . ooov += einsum ( tmp23 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 del tmp23 tmp75 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp33 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) rdm2 . aaaa . oovv += np . transpose ( tmp75 , ( 1 , 0 , 3 , 2 )) rdm2 . aaaa . oovv += np . transpose ( tmp75 , ( 1 , 0 , 3 , 2 )) del tmp75 tmp72 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp25 rdm2 . aaaa . oovv += np . transpose ( tmp72 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += tmp72 * 2 del tmp72 tmp55 = np . copy ( tmp26 ) del tmp26 tmp55 += tmp28 * 0.5 del tmp28 tmp55 += tmp54 del tmp54 rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp55 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 rdm2 . aaaa . oovv += einsum ( tmp55 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 rdm2 . aaaa . oovo += einsum ( tmp55 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 rdm2 . aaaa . oovo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp55 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 del tmp55 tmp53 = einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) * 2 del tmp52 rdm2 . bbbb . oovo += np . transpose ( tmp53 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . ooov += np . transpose ( tmp53 , ( 2 , 1 , 0 , 3 )) del tmp53 tmp34 = einsum ( t1 . aa , ( 0 , 1 ), tmp33 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * 2 del tmp33 rdm2 . aaaa . oovo += np . transpose ( tmp34 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . aaaa . ooov += np . transpose ( tmp34 , ( 2 , 1 , 0 , 3 )) del tmp34 tmp16 = np . copy ( tmp8 ) * 0.5 tmp16 += tmp9 * 0.5 tmp16 += tmp10 rdm2 . bbbb . oooo += einsum ( tmp16 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 2 del tmp16 tmp11 = np . copy ( delta . bb . oo ) * - 1 tmp11 += tmp8 del tmp8 tmp11 += tmp9 del tmp9 tmp11 += tmp10 * 2 del tmp10 rdm2 . bbbb . oooo += einsum ( tmp11 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . oooo += einsum ( tmp11 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . abab . oooo += einsum ( tmp11 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 del tmp11 tmp3 = np . copy ( delta . aa . oo ) * - 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 , 0 , 1 , 2 )) rdm2 . aaaa . oooo += einsum ( tmp3 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 del tmp3 rdm2 . aaaa . ovoo += einsum ( l1 . aa , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . ovoo += einsum ( l1 . aa , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . ovoo += einsum ( l1 . bb , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . ovoo += einsum ( delta . bb . oo , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . ovoo += einsum ( l1 . bb , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . vooo += einsum ( l1 . aa , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . vooo += einsum ( l1 . aa , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . abab . vooo += einsum ( l1 . aa , ( 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 , 3 , 1 )) rdm2 . bbbb . vooo += einsum ( l1 . bb , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 del delta rdm2 . aaaa . oovv += t2 . aaaa rdm2 . aaaa . oovv += t2 . aaaa rdm2 . abab . oovv += t2 . abab rdm2 . bbbb . oovv += t2 . bbbb rdm2 . bbbb . oovv += t2 . bbbb rdm2 . aaaa . ovov += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . ovov += einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . ovvo += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . ovvo += einsum ( l1 . bb , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . ovvo += einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . voov += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . voov += einsum ( l1 . aa , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . voov += einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . vovo += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . vovo += einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . vvoo = np . copy ( l2 . aaaa ) rdm2 . aaaa . vvoo += l2 . aaaa rdm2 . abab . vvoo = np . copy ( l2 . abab ) rdm2 . bbbb . vvoo = np . copy ( l2 . bbbb ) rdm2 . bbbb . vvoo += l2 . bbbb rdm2 . abab . ovvv += einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) rdm2 . abab . vovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 4 , 0 ), ( 4 , 1 , 2 , 3 )) rdm2 . abab . vvvo = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) rdm2 . abab . vvvv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) 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","title":"Returns"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_matvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-12T21:52:03.669123.","title":"hbar_matvec_ip_intermediates"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_matvec_ip_intermediates--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_matvec_ip_intermediates--returns","text":"tmp1 : array tmp100 : array tmp101 : array tmp102 : array tmp104 : array tmp106 : array tmp108 : array tmp11 : array tmp110 : array tmp112 : array tmp114 : array tmp116 : array tmp118 : array tmp12 : array tmp120 : array tmp122 : array tmp124 : array tmp125 : array tmp126 : array tmp127 : array tmp128 : array tmp129 : array tmp13 : array tmp130 : array tmp131 : array tmp132 : array tmp139 : array tmp145 : array tmp147 : array tmp149 : array tmp15 : array tmp152 : array tmp155 : array tmp156 : array tmp158 : array tmp16 : array tmp162 : array tmp163 : array tmp164 : array tmp166 : array tmp168 : array tmp170 : array tmp171 : array tmp172 : array tmp174 : array tmp18 : array tmp185 : array tmp186 : array tmp187 : array tmp189 : array tmp190 : array tmp192 : array tmp194 : array tmp197 : array tmp199 : array tmp20 : array tmp200 : array tmp201 : array tmp209 : array tmp214 : array tmp217 : array tmp22 : array tmp222 : array tmp223 : array tmp224 : array tmp229 : array tmp230 : array tmp232 : array tmp233 : array tmp237 : array tmp238 : array tmp239 : array tmp24 : array tmp241 : array tmp243 : array tmp244 : array tmp248 : array tmp249 : array tmp25 : array tmp255 : array tmp256 : array tmp257 : array tmp258 : array tmp259 : array tmp26 : array tmp262 : array tmp264 : array tmp265 : array tmp267 : array tmp269 : array tmp270 : array tmp271 : array tmp273 : array tmp275 : array tmp277 : array tmp279 : array tmp28 : array tmp281 : array tmp283 : array tmp284 : array tmp285 : array tmp286 : array tmp287 : array tmp288 : array tmp289 : array tmp290 : array tmp292 : array tmp297 : array tmp298 : array tmp299 : array tmp300 : array tmp302 : array tmp304 : array tmp307 : array tmp308 : array tmp309 : array tmp31 : array tmp310 : array tmp311 : array tmp312 : array tmp316 : array tmp317 : array tmp318 : array tmp319 : array tmp32 : array tmp321 : array tmp322 : array tmp323 : array tmp324 : array tmp325 : array tmp326 : array tmp328 : array tmp329 : array tmp33 : array tmp333 : array tmp334 : array tmp335 : array tmp337 : array tmp339 : array tmp340 : array tmp344 : array tmp345 : array tmp346 : array tmp347 : array tmp348 : array tmp349 : array tmp354 : array tmp355 : array tmp356 : array tmp367 : array tmp369 : array tmp37 : array tmp371 : array tmp373 : array tmp375 : array tmp377 : array tmp383 : array tmp39 : array tmp394 : array tmp396 : array tmp398 : array tmp4 : array tmp41 : array tmp414 : array tmp418 : array tmp420 : array tmp422 : array tmp427 : array tmp429 : array tmp43 : array tmp433 : array tmp435 : array tmp437 : array tmp439 : array tmp441 : array tmp45 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp53 : array tmp55 : array tmp57 : array tmp59 : array tmp6 : array tmp61 : array tmp63 : array tmp65 : array tmp66 : array tmp67 : array tmp68 : array tmp69 : array tmp7 : array tmp70 : array tmp72 : array tmp74 : array tmp76 : array tmp78 : array tmp80 : array tmp83 : array tmp86 : array tmp87 : array tmp89 : array tmp9 : array Source code in ebcc/codegen/UCCSD.py 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 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:52:03.669123. 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 ------- tmp1 : array tmp100 : array tmp101 : array tmp102 : array tmp104 : array tmp106 : array tmp108 : array tmp11 : array tmp110 : array tmp112 : array tmp114 : array tmp116 : array tmp118 : array tmp12 : array tmp120 : array tmp122 : array tmp124 : array tmp125 : array tmp126 : array tmp127 : array tmp128 : array tmp129 : array tmp13 : array tmp130 : array tmp131 : array tmp132 : array tmp139 : array tmp145 : array tmp147 : array tmp149 : array tmp15 : array tmp152 : array tmp155 : array tmp156 : array tmp158 : array tmp16 : array tmp162 : array tmp163 : array tmp164 : array tmp166 : array tmp168 : array tmp170 : array tmp171 : array tmp172 : array tmp174 : array tmp18 : array tmp185 : array tmp186 : array tmp187 : array tmp189 : array tmp190 : array tmp192 : array tmp194 : array tmp197 : array tmp199 : array tmp20 : array tmp200 : array tmp201 : array tmp209 : array tmp214 : array tmp217 : array tmp22 : array tmp222 : array tmp223 : array tmp224 : array tmp229 : array tmp230 : array tmp232 : array tmp233 : array tmp237 : array tmp238 : array tmp239 : array tmp24 : array tmp241 : array tmp243 : array tmp244 : array tmp248 : array tmp249 : array tmp25 : array tmp255 : array tmp256 : array tmp257 : array tmp258 : array tmp259 : array tmp26 : array tmp262 : array tmp264 : array tmp265 : array tmp267 : array tmp269 : array tmp270 : array tmp271 : array tmp273 : array tmp275 : array tmp277 : array tmp279 : array tmp28 : array tmp281 : array tmp283 : array tmp284 : array tmp285 : array tmp286 : array tmp287 : array tmp288 : array tmp289 : array tmp290 : array tmp292 : array tmp297 : array tmp298 : array tmp299 : array tmp300 : array tmp302 : array tmp304 : array tmp307 : array tmp308 : array tmp309 : array tmp31 : array tmp310 : array tmp311 : array tmp312 : array tmp316 : array tmp317 : array tmp318 : array tmp319 : array tmp32 : array tmp321 : array tmp322 : array tmp323 : array tmp324 : array tmp325 : array tmp326 : array tmp328 : array tmp329 : array tmp33 : array tmp333 : array tmp334 : array tmp335 : array tmp337 : array tmp339 : array tmp340 : array tmp344 : array tmp345 : array tmp346 : array tmp347 : array tmp348 : array tmp349 : array tmp354 : array tmp355 : array tmp356 : array tmp367 : array tmp369 : array tmp37 : array tmp371 : array tmp373 : array tmp375 : array tmp377 : array tmp383 : array tmp39 : array tmp394 : array tmp396 : array tmp398 : array tmp4 : array tmp41 : array tmp414 : array tmp418 : array tmp420 : array tmp422 : array tmp427 : array tmp429 : array tmp43 : array tmp433 : array tmp435 : array tmp437 : array tmp439 : array tmp441 : array tmp45 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp53 : array tmp55 : array tmp57 : array tmp59 : array tmp6 : array tmp61 : array tmp63 : array tmp65 : array tmp66 : array tmp67 : array tmp68 : array tmp69 : array tmp7 : array tmp70 : array tmp72 : array tmp74 : array tmp76 : array tmp78 : array tmp80 : array tmp83 : array tmp86 : array tmp87 : array tmp89 : array tmp9 : array \"\"\" tmp1 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 2 , 1 ), ( 2 , 0 )) tmp152 = einsum ( t1 . aa , ( 0 , 1 ), tmp1 , ( 0 , 2 ), ( 2 , 1 )) tmp4 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 )) tmp130 = einsum ( t1 . aa , ( 0 , 1 ), tmp4 , ( 2 , 0 ), ( 2 , 1 )) tmp5 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) tmp131 = einsum ( t1 . aa , ( 0 , 1 ), tmp5 , ( 2 , 0 ), ( 2 , 1 )) tmp6 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp132 = einsum ( t1 . aa , ( 0 , 1 ), tmp6 , ( 2 , 0 ), ( 2 , 1 )) tmp7 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp307 = einsum ( tmp7 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp284 = einsum ( tmp7 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp145 = einsum ( tmp7 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp124 = einsum ( tmp7 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp24 = einsum ( t1 . aa , ( 0 , 1 ), tmp7 , ( 2 , 1 ), ( 0 , 2 )) tmp185 = einsum ( t1 . aa , ( 0 , 1 ), tmp24 , ( 2 , 0 ), ( 2 , 1 )) tmp9 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp308 = einsum ( tmp9 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp285 = einsum ( tmp9 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp147 = einsum ( tmp9 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp125 = einsum ( tmp9 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp25 = einsum ( t1 . aa , ( 0 , 1 ), tmp9 , ( 2 , 1 ), ( 0 , 2 )) tmp186 = einsum ( t1 . aa , ( 0 , 1 ), tmp25 , ( 2 , 0 ), ( 2 , 1 )) tmp11 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp418 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp11 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp286 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp11 , ( 1 , 3 ), ( 0 , 2 )) tmp222 = einsum ( tmp11 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp126 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp11 , ( 1 , 3 ), ( 0 , 2 )) tmp45 = einsum ( t1 . bb , ( 0 , 1 ), tmp11 , ( 2 , 1 ), ( 0 , 2 )) tmp354 = einsum ( t1 . bb , ( 0 , 1 ), tmp45 , ( 2 , 0 ), ( 2 , 1 )) tmp12 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp420 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp12 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp287 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp12 , ( 1 , 3 ), ( 0 , 2 )) tmp223 = einsum ( tmp12 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp127 = einsum ( tmp12 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp46 = einsum ( t1 . bb , ( 0 , 1 ), tmp12 , ( 2 , 1 ), ( 0 , 2 )) tmp355 = einsum ( t1 . bb , ( 0 , 1 ), tmp46 , ( 2 , 0 ), ( 2 , 1 )) tmp13 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp309 = einsum ( tmp13 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp288 = einsum ( tmp13 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp149 = einsum ( tmp13 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp128 = einsum ( tmp13 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp26 = einsum ( t1 . aa , ( 0 , 1 ), tmp13 , ( 2 , 1 ), ( 0 , 2 )) tmp187 = einsum ( t1 . aa , ( 0 , 1 ), tmp26 , ( 2 , 0 ), ( 2 , 1 )) tmp15 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp422 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp15 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp289 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp15 , ( 1 , 3 ), ( 0 , 2 )) tmp224 = einsum ( tmp15 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp129 = einsum ( tmp15 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp47 = einsum ( t1 . bb , ( 0 , 1 ), tmp15 , ( 2 , 1 ), ( 0 , 2 )) tmp356 = einsum ( tmp47 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp16 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp334 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) tmp333 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp166 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp164 = einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp162 = einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp72 = einsum ( t1 . aa , ( 0 , 1 ), tmp16 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp74 = einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp18 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp335 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp248 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp168 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp163 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp20 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp170 = einsum ( t1 . aa , ( 0 , 1 ), tmp20 , ( 2 , 0 ), ( 2 , 1 )) tmp22 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp171 = einsum ( tmp22 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp28 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 0 , 2 )) tmp339 = einsum ( t1 . bb , ( 0 , 1 ), tmp28 , ( 0 , 2 ), ( 2 , 1 )) tmp31 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 3 ), ( 0 , 2 )) tmp310 = einsum ( tmp31 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp32 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp311 = einsum ( tmp32 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp33 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp312 = einsum ( tmp33 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp37 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp435 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp433 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp369 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp371 = einsum ( tmp369 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp344 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 tmp238 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp237 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp39 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp437 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp39 , ( 0 , 4 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp346 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 1 , 5 )) tmp345 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp39 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) tmp239 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) tmp230 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp328 = einsum ( tmp230 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp232 = einsum ( tmp230 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp41 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp347 = einsum ( t1 . bb , ( 0 , 1 ), tmp41 , ( 2 , 0 ), ( 2 , 1 )) tmp43 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp348 = einsum ( tmp43 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp49 = einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp53 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp67 = einsum ( tmp53 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp55 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp68 = einsum ( tmp55 , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 2 , 1 )) tmp57 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp69 = einsum ( tmp57 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp59 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp61 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp70 = einsum ( tmp61 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp63 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 0 , 3 )) tmp65 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 4 )) * - 1 tmp66 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp76 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) * - 1 tmp78 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp80 = einsum ( t1 . aa , ( 0 , 1 ), tmp78 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp83 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . oo , ( 2 , 0 ), ( 2 , 1 )) tmp86 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp87 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp89 = einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp100 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp101 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp102 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp104 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp106 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp108 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp110 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp112 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp114 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp116 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp118 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp120 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp122 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp139 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp155 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp156 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp158 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp174 = einsum ( tmp158 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) tmp172 = einsum ( tmp158 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp189 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp229 = einsum ( tmp189 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp190 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) tmp192 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp262 = einsum ( t1 . bb , ( 0 , 1 ), tmp192 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp194 = einsum ( t1 . aa , ( 0 , 1 ), tmp192 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp197 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . oooo , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp199 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp200 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp201 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 3 , 5 )) tmp209 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp214 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp217 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp233 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp349 = einsum ( tmp233 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 1 , 0 , 2 , 4 )) tmp241 = einsum ( t1 . aa , ( 0 , 1 ), tmp233 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp243 = einsum ( v . aabb . vvoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 3 , 0 )) tmp244 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp337 = einsum ( t1 . bb , ( 0 , 1 ), tmp244 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp249 = einsum ( t1 . aa , ( 0 , 1 ), tmp244 , ( 2 , 0 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) tmp255 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp323 = einsum ( t1 . bb , ( 0 , 1 ), tmp255 , ( 2 , 1 ), ( 0 , 2 )) tmp256 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp324 = einsum ( t1 . bb , ( 0 , 1 ), tmp256 , ( 1 , 2 ), ( 0 , 2 )) tmp257 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp325 = einsum ( t1 . bb , ( 0 , 1 ), tmp257 , ( 2 , 1 ), ( 0 , 2 )) tmp258 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp259 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp264 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp265 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp267 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp269 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp270 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) tmp271 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp273 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp275 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) tmp277 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp279 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp281 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp283 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp290 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . oo , ( 2 , 0 ), ( 2 , 1 )) tmp292 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp297 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 1 tmp298 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) tmp299 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 4 , 2 , 5 , 1 ), ( 0 , 4 , 5 , 3 )) tmp300 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 tmp302 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp304 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp316 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . vv , ( 2 , 1 ), ( 0 , 2 )) tmp317 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp318 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp367 = einsum ( t1 . bb , ( 0 , 1 ), tmp318 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp319 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp326 = einsum ( tmp319 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp321 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp322 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp329 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp340 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oovv , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp373 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp375 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp377 = einsum ( tmp375 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 1 tmp383 = einsum ( v . bbbb . oooo , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp394 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp396 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp398 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 5 , 3 )) tmp414 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp427 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp429 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp441 = einsum ( tmp429 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) tmp439 = einsum ( tmp429 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) return { f \"tmp1\" : tmp1 , f \"tmp100\" : tmp100 , f \"tmp101\" : tmp101 , f \"tmp102\" : tmp102 , f \"tmp104\" : tmp104 , f \"tmp106\" : tmp106 , f \"tmp108\" : tmp108 , f \"tmp11\" : tmp11 , f \"tmp110\" : tmp110 , f \"tmp112\" : tmp112 , f \"tmp114\" : tmp114 , f \"tmp116\" : tmp116 , f \"tmp118\" : tmp118 , f \"tmp12\" : tmp12 , f \"tmp120\" : tmp120 , f \"tmp122\" : tmp122 , f \"tmp124\" : tmp124 , f \"tmp125\" : tmp125 , f \"tmp126\" : tmp126 , f \"tmp127\" : tmp127 , f \"tmp128\" : tmp128 , f \"tmp129\" : tmp129 , f \"tmp13\" : tmp13 , f \"tmp130\" : tmp130 , f \"tmp131\" : tmp131 , f \"tmp132\" : tmp132 , f \"tmp139\" : tmp139 , f \"tmp145\" : tmp145 , f \"tmp147\" : tmp147 , f \"tmp149\" : tmp149 , f \"tmp15\" : tmp15 , f \"tmp152\" : tmp152 , f \"tmp155\" : tmp155 , f \"tmp156\" : tmp156 , f \"tmp158\" : tmp158 , f \"tmp16\" : tmp16 , f \"tmp162\" : tmp162 , f \"tmp163\" : tmp163 , f \"tmp164\" : tmp164 , f \"tmp166\" : tmp166 , f \"tmp168\" : tmp168 , f \"tmp170\" : tmp170 , f \"tmp171\" : tmp171 , f \"tmp172\" : tmp172 , f \"tmp174\" : tmp174 , f \"tmp18\" : tmp18 , f \"tmp185\" : tmp185 , f \"tmp186\" : tmp186 , f \"tmp187\" : tmp187 , f \"tmp189\" : tmp189 , f \"tmp190\" : tmp190 , f \"tmp192\" : tmp192 , f \"tmp194\" : tmp194 , f \"tmp197\" : tmp197 , f \"tmp199\" : tmp199 , f \"tmp20\" : tmp20 , f \"tmp200\" : tmp200 , f \"tmp201\" : tmp201 , f \"tmp209\" : tmp209 , f \"tmp214\" : tmp214 , f \"tmp217\" : tmp217 , f \"tmp22\" : tmp22 , f \"tmp222\" : tmp222 , f \"tmp223\" : tmp223 , f \"tmp224\" : tmp224 , f \"tmp229\" : tmp229 , f \"tmp230\" : tmp230 , f \"tmp232\" : tmp232 , f \"tmp233\" : tmp233 , f \"tmp237\" : tmp237 , f \"tmp238\" : tmp238 , f \"tmp239\" : tmp239 , f \"tmp24\" : tmp24 , f \"tmp241\" : tmp241 , f \"tmp243\" : tmp243 , f \"tmp244\" : tmp244 , f \"tmp248\" : tmp248 , f \"tmp249\" : tmp249 , f \"tmp25\" : tmp25 , f \"tmp255\" : tmp255 , f \"tmp256\" : tmp256 , f \"tmp257\" : tmp257 , f \"tmp258\" : tmp258 , f \"tmp259\" : tmp259 , f \"tmp26\" : tmp26 , f \"tmp262\" : tmp262 , f \"tmp264\" : tmp264 , f \"tmp265\" : tmp265 , f \"tmp267\" : tmp267 , f \"tmp269\" : tmp269 , f \"tmp270\" : tmp270 , f \"tmp271\" : tmp271 , f \"tmp273\" : tmp273 , f \"tmp275\" : tmp275 , f \"tmp277\" : tmp277 , f \"tmp279\" : tmp279 , f \"tmp28\" : tmp28 , f \"tmp281\" : tmp281 , f \"tmp283\" : tmp283 , f \"tmp284\" : tmp284 , f \"tmp285\" : tmp285 , f \"tmp286\" : tmp286 , f \"tmp287\" : tmp287 , f \"tmp288\" : tmp288 , f \"tmp289\" : tmp289 , f \"tmp290\" : tmp290 , f \"tmp292\" : tmp292 , f \"tmp297\" : tmp297 , f \"tmp298\" : tmp298 , f \"tmp299\" : tmp299 , f \"tmp300\" : tmp300 , f \"tmp302\" : tmp302 , f \"tmp304\" : tmp304 , f \"tmp307\" : tmp307 , f \"tmp308\" : tmp308 , f \"tmp309\" : tmp309 , f \"tmp31\" : tmp31 , f \"tmp310\" : tmp310 , f \"tmp311\" : tmp311 , f \"tmp312\" : tmp312 , f \"tmp316\" : tmp316 , f \"tmp317\" : tmp317 , f \"tmp318\" : tmp318 , f \"tmp319\" : tmp319 , f \"tmp32\" : tmp32 , f \"tmp321\" : tmp321 , f \"tmp322\" : tmp322 , f \"tmp323\" : tmp323 , f \"tmp324\" : tmp324 , f \"tmp325\" : tmp325 , f \"tmp326\" : tmp326 , f \"tmp328\" : tmp328 , f \"tmp329\" : tmp329 , f \"tmp33\" : tmp33 , f \"tmp333\" : tmp333 , f \"tmp334\" : tmp334 , f \"tmp335\" : tmp335 , f \"tmp337\" : tmp337 , f \"tmp339\" : tmp339 , f \"tmp340\" : tmp340 , f \"tmp344\" : tmp344 , f \"tmp345\" : tmp345 , f \"tmp346\" : tmp346 , f \"tmp347\" : tmp347 , f \"tmp348\" : tmp348 , f \"tmp349\" : tmp349 , f \"tmp354\" : tmp354 , f \"tmp355\" : tmp355 , f \"tmp356\" : tmp356 , f \"tmp367\" : tmp367 , f \"tmp369\" : tmp369 , f \"tmp37\" : tmp37 , f \"tmp371\" : tmp371 , f \"tmp373\" : tmp373 , f \"tmp375\" : tmp375 , f \"tmp377\" : tmp377 , f \"tmp383\" : tmp383 , f \"tmp39\" : tmp39 , f \"tmp394\" : tmp394 , f \"tmp396\" : tmp396 , f \"tmp398\" : tmp398 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp414\" : tmp414 , f \"tmp418\" : tmp418 , f \"tmp420\" : tmp420 , f \"tmp422\" : tmp422 , f \"tmp427\" : tmp427 , f \"tmp429\" : tmp429 , f \"tmp43\" : tmp43 , f \"tmp433\" : tmp433 , f \"tmp435\" : tmp435 , f \"tmp437\" : tmp437 , f \"tmp439\" : tmp439 , f \"tmp441\" : tmp441 , f \"tmp45\" : tmp45 , f \"tmp46\" : tmp46 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp53\" : tmp53 , f \"tmp55\" : tmp55 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp6\" : tmp6 , f \"tmp61\" : tmp61 , f \"tmp63\" : tmp63 , f \"tmp65\" : tmp65 , f \"tmp66\" : tmp66 , f \"tmp67\" : tmp67 , f \"tmp68\" : tmp68 , f \"tmp69\" : tmp69 , f \"tmp7\" : tmp7 , f \"tmp70\" : tmp70 , f \"tmp72\" : tmp72 , f \"tmp74\" : tmp74 , f \"tmp76\" : tmp76 , f \"tmp78\" : tmp78 , f \"tmp80\" : tmp80 , f \"tmp83\" : tmp83 , f \"tmp86\" : tmp86 , f \"tmp87\" : tmp87 , f \"tmp89\" : tmp89 , f \"tmp9\" : tmp9 }","title":"Returns"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_matvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-12T21:52:03.805808.","title":"hbar_matvec_ip"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_matvec_ip--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_matvec_ip--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UCCSD.py 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 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:52:03.805808. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp75 = np . copy ( ints . tmp37 ) * - 1 tmp75 += np . transpose ( ints . tmp37 , ( 0 , 2 , 1 , 3 )) tmp77 = np . copy ( v . bbbb . ooov ) * - 1 tmp77 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) tmp16 = np . copy ( ints . tmp16 ) tmp16 += np . transpose ( ints . tmp16 , ( 0 , 2 , 1 , 3 )) * - 1 tmp18 = np . copy ( v . aaaa . ooov ) tmp18 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp74 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 4 , 1 ), ( 4 , 2 , 3 )) tmp76 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp75 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp75 tmp73 = einsum ( ints . tmp39 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 4 , 3 ), ( 1 , 2 , 4 )) tmp78 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp77 , ( 3 , 4 , 1 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp77 tmp17 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp16 , ( 3 , 4 , 1 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp16 tmp15 = einsum ( ints . tmp18 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 4 , 3 ), ( 0 , 1 , 4 )) * - 1 tmp19 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp18 , ( 1 , 3 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp18 tmp14 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 4 , 3 ), ( 4 , 0 , 1 )) * - 1 tmp2 = np . copy ( f . bb . ov ) tmp2 += ints . tmp12 tmp2 += ints . tmp15 tmp2 += ints . tmp11 * - 1 r1new . b = einsum ( tmp2 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 1 ), ( 2 ,)) * 2 r1new . a = einsum ( tmp2 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 1 ), ( 2 ,)) * - 1 tmp71 = np . copy ( ints . tmp279 ) tmp71 += ints . tmp283 * 0.5 tmp71 += np . transpose ( ints . tmp318 , ( 0 , 1 , 3 , 2 )) * 0.5 tmp81 = np . copy ( ints . tmp367 ) tmp81 += ints . tmp37 tmp81 += ints . tmp394 * 2 tmp81 += ints . tmp433 * 2 tmp81 += ints . tmp437 tmp81 += np . transpose ( ints . tmp441 , ( 0 , 2 , 1 , 3 )) tmp81 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) tmp83 = np . copy ( ints . tmp41 ) * 2 tmp83 += ints . tmp43 tmp83 += ints . tmp31 * - 1 tmp83 += ints . tmp45 * - 1 tmp79 = np . copy ( tmp73 ) * 0.5 del tmp73 tmp79 += np . transpose ( tmp74 , ( 0 , 2 , 1 )) * - 0.5 del tmp74 tmp79 += np . transpose ( tmp76 , ( 1 , 2 , 0 )) * - 1 del tmp76 tmp79 += np . transpose ( tmp78 , ( 0 , 2 , 1 )) del tmp78 tmp89 = np . copy ( ints . tmp317 ) tmp89 += ints . tmp277 * 2 tmp93 = np . copy ( ints . tmp371 ) tmp93 += np . transpose ( ints . tmp383 , ( 0 , 2 , 1 , 3 )) tmp93 += ints . tmp398 tmp93 += ints . tmp427 tmp93 += ints . tmp439 tmp93 += ints . tmp396 * 2 tmp93 += ints . tmp435 * 2 tmp87 = np . copy ( ints . tmp275 ) tmp87 += ints . tmp319 tmp87 += ints . tmp281 * 2 tmp91 = np . copy ( f . bb . oo ) tmp91 += ints . tmp28 tmp91 += np . transpose ( ints . tmp32 , ( 1 , 0 )) tmp91 += np . transpose ( ints . tmp33 , ( 1 , 0 )) tmp91 += np . transpose ( ints . tmp46 , ( 1 , 0 )) tmp91 += np . transpose ( ints . tmp47 , ( 1 , 0 )) tmp3 = np . copy ( f . aa . ov ) tmp3 += ints . tmp13 tmp3 += ints . tmp9 tmp3 += ints . tmp7 * - 1 r1new . b += einsum ( tmp3 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 1 ), ( 2 ,)) * - 1 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp3 , ( 1 , 2 ), ( 0 ,)) * 2 tmp32 = np . copy ( f . aa . oo ) tmp32 += ints . tmp1 tmp32 += np . transpose ( ints . tmp25 , ( 1 , 0 )) tmp32 += np . transpose ( ints . tmp26 , ( 1 , 0 )) tmp32 += np . transpose ( ints . tmp5 , ( 1 , 0 )) tmp32 += np . transpose ( ints . tmp6 , ( 1 , 0 )) tmp30 = np . copy ( ints . tmp59 ) tmp30 += ints . tmp112 * 2 tmp34 = np . copy ( ints . tmp106 ) tmp34 += ints . tmp156 tmp34 += ints . tmp172 tmp34 += ints . tmp74 tmp34 += np . transpose ( ints . tmp89 , ( 0 , 2 , 1 , 3 )) tmp34 += ints . tmp104 * 2 tmp34 += ints . tmp166 * 2 tmp10 = np . copy ( ints . tmp114 ) tmp10 += ints . tmp120 * 0.5 tmp10 += np . transpose ( ints . tmp61 , ( 0 , 1 , 3 , 2 )) * 0.5 tmp24 = np . copy ( ints . tmp20 ) * 2 tmp24 += ints . tmp22 tmp24 += ints . tmp24 * - 1 tmp24 += ints . tmp4 * - 1 tmp20 = np . copy ( np . transpose ( tmp14 , ( 0 , 2 , 1 ))) * 0.5 del tmp14 tmp20 += tmp15 * - 0.5 del tmp15 tmp20 += np . transpose ( tmp17 , ( 1 , 2 , 0 )) * - 1 del tmp17 tmp20 += np . transpose ( tmp19 , ( 0 , 2 , 1 )) del tmp19 tmp12 = np . copy ( ints . tmp118 ) tmp12 += ints . tmp122 * 2 tmp12 += ints . tmp63 tmp22 = np . copy ( ints . tmp102 ) tmp22 += ints . tmp164 tmp22 += ints . tmp168 * 0.5 tmp22 += ints . tmp16 * 0.5 tmp22 += np . transpose ( ints . tmp174 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp22 += ints . tmp70 * 0.5 tmp22 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) * 0.5 tmp60 = einsum ( t1 . bb , ( 0 , 1 ), tmp2 , ( 0 , 2 ), ( 2 , 1 )) del tmp2 tmp72 = einsum ( tmp71 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 4 del tmp71 tmp70 = einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp69 = einsum ( ints . tmp429 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) tmp82 = einsum ( r1 . b , ( 0 ,), tmp81 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp81 tmp84 = einsum ( tmp83 , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) * - 2 del tmp83 tmp68 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 4 , 1 ), ( 4 , 2 , 3 )) tmp67 = einsum ( ints . tmp273 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) tmp80 = einsum ( t1 . bb , ( 0 , 1 ), tmp79 , ( 2 , 0 , 3 ), ( 2 , 3 , 1 )) * 2 del tmp79 tmp90 = einsum ( tmp89 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 1 del tmp89 tmp86 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 2 , 3 ), ( 4 , 0 , 1 )) tmp94 = einsum ( r1 . b , ( 0 ,), tmp93 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp93 tmp88 = einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 4 , 2 ), ( 4 , 1 , 3 )) del tmp87 tmp92 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp91 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp91 tmp53 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 2 , 1 ), ( 3 ,)) tmp54 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 0 , 2 , 3 ), ( 1 ,)) tmp51 = np . copy ( ints . tmp39 ) tmp51 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp1 = np . copy ( ints . tmp18 ) tmp1 += v . aabb . ooov r1new . a += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 1 , 3 ), ( 0 ,)) tmp63 = np . copy ( ints . tmp37 ) tmp63 += np . transpose ( ints . tmp37 , ( 0 , 2 , 1 , 3 )) * - 1 tmp63 += v . bbbb . ooov * - 1 tmp63 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) tmp40 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 0 , 2 , 1 ), ( 3 ,)) * - 1 tmp41 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 0 , 3 ), ( 1 ,)) * - 1 tmp50 = np . copy ( ints . tmp16 ) tmp50 += np . transpose ( ints . tmp16 , ( 0 , 2 , 1 , 3 )) * - 1 tmp50 += v . aaaa . ooov * - 1 tmp50 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) tmp38 = einsum ( tmp3 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) del tmp3 tmp28 = einsum ( ints . tmp116 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * - 1 tmp33 = einsum ( tmp32 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp32 tmp29 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . ovov , ( 3 , 4 , 0 , 2 ), ( 1 , 3 , 4 )) * - 1 tmp27 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovov , ( 3 , 4 , 1 , 2 ), ( 0 , 3 , 4 )) tmp31 = einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 1 del tmp30 tmp35 = einsum ( r1 . a , ( 0 ,), tmp34 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp34 tmp11 = einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 4 del tmp10 tmp9 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . oovv , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp25 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp24 , ( 3 , 1 ), ( 0 , 3 , 2 )) * - 2 del tmp24 tmp8 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp158 , ( 3 , 4 , 0 , 1 ), ( 3 , 4 , 2 )) tmp21 = einsum ( t1 . aa , ( 0 , 1 ), tmp20 , ( 2 , 0 , 3 ), ( 2 , 3 , 1 )) * 2 del tmp20 tmp13 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp12 , ( 3 , 0 , 4 , 2 ), ( 1 , 3 , 4 )) * - 1 del tmp12 tmp23 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 0 , 1 , 3 )) * 2 del tmp22 tmp61 = np . copy ( ints . tmp256 ) tmp61 += np . transpose ( ints . tmp300 , ( 1 , 0 )) * 2 tmp61 += np . transpose ( ints . tmp302 , ( 1 , 0 )) tmp61 += f . bb . vv * - 1 tmp61 += np . transpose ( ints . tmp255 , ( 1 , 0 )) * - 1 tmp61 += np . transpose ( ints . tmp257 , ( 1 , 0 )) * - 1 tmp61 += tmp60 del tmp60 r2new . bbb = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp61 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 r2new . bab = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp61 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp61 tmp97 = np . copy ( ints . tmp377 ) tmp97 += np . transpose ( ints . tmp414 , ( 1 , 2 , 0 , 3 )) tmp97 += ints . tmp420 tmp97 += ints . tmp422 tmp97 += ints . tmp373 * - 1 tmp97 += ints . tmp418 * - 1 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp97 , ( 1 , 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 2 del tmp97 tmp66 = np . copy ( ints . tmp284 ) tmp66 += ints . tmp286 * 2 tmp66 += ints . tmp290 tmp66 += ints . tmp297 * 2 tmp66 += ints . tmp298 tmp66 += ints . tmp311 tmp66 += ints . tmp312 tmp66 += ints . tmp321 * 2 tmp66 += ints . tmp324 tmp66 += ints . tmp329 tmp66 += ints . tmp339 tmp66 += ints . tmp344 * 2 tmp66 += ints . tmp345 tmp66 += ints . tmp347 * 2 tmp66 += ints . tmp348 tmp66 += ints . tmp355 tmp66 += ints . tmp356 tmp66 += f . bb . ov * - 1 tmp66 += ints . tmp12 * - 1 tmp66 += ints . tmp15 * - 1 tmp66 += ints . tmp264 * - 1 tmp66 += ints . tmp265 * - 2 tmp66 += ints . tmp285 * - 1 tmp66 += ints . tmp287 * - 2 tmp66 += ints . tmp288 * - 1 tmp66 += ints . tmp289 * - 2 tmp66 += ints . tmp310 * - 1 tmp66 += ints . tmp316 * - 1 tmp66 += ints . tmp322 * - 1 tmp66 += ints . tmp323 * - 1 tmp66 += ints . tmp325 * - 1 tmp66 += ints . tmp354 * - 1 r2new . bbb += einsum ( tmp66 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) r2new . bbb += einsum ( tmp66 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 2 , 0 , 1 )) * - 1 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp66 , ( 1 , 2 ), ( 1 , 0 , 2 )) del tmp66 tmp85 = np . copy ( tmp67 ) del tmp67 tmp85 += tmp68 del tmp68 tmp85 += tmp69 * 2 del tmp69 tmp85 += tmp70 * 2 del tmp70 tmp85 += np . transpose ( tmp72 , ( 1 , 0 , 2 )) * - 1 del tmp72 tmp85 += tmp80 del tmp80 tmp85 += tmp82 del tmp82 tmp85 += np . transpose ( tmp84 , ( 1 , 0 , 2 )) del tmp84 r2new . bbb += np . transpose ( tmp85 , ( 1 , 0 , 2 )) r2new . bbb += tmp85 * - 1 del tmp85 tmp95 = np . copy ( tmp86 ) * 2 del tmp86 tmp95 += np . transpose ( tmp88 , ( 1 , 0 , 2 )) del tmp88 tmp95 += np . transpose ( tmp90 , ( 1 , 0 , 2 )) * - 2 del tmp90 tmp95 += np . transpose ( tmp92 , ( 1 , 0 , 2 )) * - 2 del tmp92 tmp95 += tmp94 del tmp94 r2new . bbb += np . transpose ( tmp95 , ( 1 , 0 , 2 )) * - 1 r2new . bbb += tmp95 del tmp95 tmp96 = np . copy ( ints . tmp369 ) tmp96 += ints . tmp375 tmp96 += np . transpose ( v . bbbb . oooo , ( 0 , 2 , 1 , 3 )) r2new . bbb += einsum ( tmp96 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 2 , 4 ), ( 0 , 1 , 4 )) * - 2 del tmp96 tmp55 = np . copy ( tmp53 ) * - 0.5 del tmp53 tmp55 += tmp54 del tmp54 r2new . bbb += einsum ( tmp55 , ( 0 ,), t2 . bbbb , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 4 r2new . aba = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp55 , ( 3 ,), ( 0 , 1 , 2 )) * 2 del tmp55 tmp62 = np . copy ( ints . tmp18 ) tmp62 += ints . tmp259 tmp62 += ints . tmp270 tmp62 += ints . tmp271 * 2 tmp62 += np . transpose ( ints . tmp292 , ( 1 , 0 , 2 , 3 )) tmp62 += ints . tmp308 tmp62 += ints . tmp309 tmp62 += ints . tmp326 tmp62 += ints . tmp333 tmp62 += ints . tmp335 * 2 tmp62 += ints . tmp340 tmp62 += v . aabb . ooov tmp62 += ints . tmp262 * - 1 tmp62 += ints . tmp267 * - 1 tmp62 += ints . tmp269 * - 1 tmp62 += ints . tmp299 * - 1 tmp62 += ints . tmp307 * - 1 tmp62 += ints . tmp328 * - 1 tmp62 += ints . tmp334 * - 1 tmp62 += ints . tmp337 * - 1 tmp62 += ints . tmp346 * - 1 tmp62 += np . transpose ( ints . tmp349 , ( 1 , 0 , 2 , 3 )) * - 1 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp62 , ( 1 , 0 , 2 , 3 ), ( 2 , 1 , 3 )) del tmp62 tmp7 = np . copy ( f . bb . oo ) tmp7 += ints . tmp28 tmp7 += np . transpose ( ints . tmp32 , ( 1 , 0 )) tmp7 += np . transpose ( ints . tmp33 , ( 1 , 0 )) tmp7 += np . transpose ( ints . tmp41 , ( 1 , 0 )) * 2 tmp7 += np . transpose ( ints . tmp43 , ( 1 , 0 )) tmp7 += np . transpose ( ints . tmp46 , ( 1 , 0 )) tmp7 += np . transpose ( ints . tmp47 , ( 1 , 0 )) tmp7 += np . transpose ( ints . tmp31 , ( 1 , 0 )) * - 1 tmp7 += np . transpose ( ints . tmp45 , ( 1 , 0 )) * - 1 r2new . bab += einsum ( tmp7 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . aba += einsum ( tmp7 , ( 0 , 1 ), r2 . aba , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r1new . b += einsum ( tmp7 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp7 tmp4 = np . copy ( f . aa . oo ) tmp4 += ints . tmp1 tmp4 += np . transpose ( ints . tmp20 , ( 1 , 0 )) * 2 tmp4 += np . transpose ( ints . tmp22 , ( 1 , 0 )) tmp4 += np . transpose ( ints . tmp25 , ( 1 , 0 )) tmp4 += np . transpose ( ints . tmp26 , ( 1 , 0 )) tmp4 += np . transpose ( ints . tmp5 , ( 1 , 0 )) tmp4 += np . transpose ( ints . tmp6 , ( 1 , 0 )) tmp4 += np . transpose ( ints . tmp24 , ( 1 , 0 )) * - 1 tmp4 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * - 1 r2new . bab += einsum ( tmp4 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp4 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r1new . a += einsum ( tmp4 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp4 tmp57 = np . copy ( ints . tmp275 ) tmp57 += ints . tmp281 * 2 tmp57 += ints . tmp319 tmp57 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp57 += ints . tmp273 * - 1 r2new . bab += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp57 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) * - 2 del tmp57 tmp58 = np . copy ( ints . tmp258 ) tmp58 += v . aabb . oovv tmp58 += ints . tmp304 * - 1 r2new . bab += einsum ( tmp58 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 1 del tmp58 tmp64 = einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 4 , 3 ), ( 4 , 0 , 1 )) del tmp63 tmp64 += einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 0 , 3 ), ( 4 , 1 , 2 )) * 2 tmp64 += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 4 , 1 , 3 ), ( 0 , 4 , 2 )) r2new . bab += einsum ( t1 . bb , ( 0 , 1 ), tmp64 , ( 2 , 3 , 0 ), ( 3 , 2 , 1 )) del tmp64 tmp65 = np . copy ( tmp40 ) * 2 tmp65 += tmp41 r2new . bab += einsum ( tmp65 , ( 0 ,), t2 . abab , ( 1 , 2 , 0 , 3 ), ( 2 , 1 , 3 )) del tmp65 tmp59 = np . copy ( ints . tmp192 ) tmp59 += ints . tmp230 tmp59 += ints . tmp233 tmp59 += ints . tmp244 tmp59 += v . aabb . oooo r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp59 , ( 3 , 1 , 4 , 0 ), ( 4 , 3 , 2 )) del tmp59 tmp56 = np . copy ( ints . tmp279 ) * 2 tmp56 += ints . tmp283 tmp56 += np . transpose ( ints . tmp318 , ( 0 , 1 , 3 , 2 )) tmp56 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp56 += ints . tmp277 * - 2 tmp56 += ints . tmp317 * - 1 tmp56 += v . bbbb . oovv * - 1 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp56 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) del tmp56 tmp52 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 4 , 3 ), ( 0 , 2 , 4 )) * - 1 del tmp50 tmp52 += einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 4 , 2 , 3 ), ( 4 , 0 , 1 )) del tmp51 tmp52 += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 2 , 3 ), ( 0 , 1 , 4 )) * 2 del tmp1 r2new . aba += einsum ( t1 . aa , ( 0 , 1 ), tmp52 , ( 2 , 0 , 3 ), ( 2 , 3 , 1 )) del tmp52 tmp46 = np . copy ( ints . tmp118 ) tmp46 += ints . tmp122 * 2 tmp46 += ints . tmp63 tmp46 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp46 += ints . tmp116 * - 1 r2new . aba += einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 1 , 3 ), ( 0 , 4 , 2 )) * - 2 del tmp46 tmp44 = np . copy ( ints . tmp100 ) * 2 tmp44 += ints . tmp101 tmp44 += ints . tmp124 * 2 tmp44 += ints . tmp126 tmp44 += ints . tmp131 tmp44 += ints . tmp132 tmp44 += ints . tmp152 tmp44 += ints . tmp155 tmp44 += ints . tmp162 * 2 tmp44 += ints . tmp163 tmp44 += ints . tmp170 * 2 tmp44 += ints . tmp171 tmp44 += ints . tmp186 tmp44 += ints . tmp187 tmp44 += ints . tmp65 * 2 tmp44 += ints . tmp68 tmp44 += ints . tmp83 tmp44 += f . aa . ov * - 1 tmp44 += ints . tmp125 * - 2 tmp44 += ints . tmp127 * - 1 tmp44 += ints . tmp128 * - 2 tmp44 += ints . tmp129 * - 1 tmp44 += ints . tmp130 * - 1 tmp44 += ints . tmp13 * - 1 tmp44 += ints . tmp185 * - 1 tmp44 += ints . tmp49 * - 1 tmp44 += ints . tmp66 * - 1 tmp44 += ints . tmp67 * - 1 tmp44 += ints . tmp69 * - 1 tmp44 += ints . tmp86 * - 2 tmp44 += ints . tmp87 * - 1 tmp44 += ints . tmp9 * - 1 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp44 , ( 1 , 2 ), ( 1 , 0 , 2 )) r2new . aaa = einsum ( r1 . a , ( 0 ,), tmp44 , ( 1 , 2 ), ( 1 , 0 , 2 )) r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp44 , ( 1 , 2 ), ( 0 , 1 , 2 )) * - 1 del tmp44 tmp49 = np . copy ( ints . tmp190 ) tmp49 += ints . tmp200 tmp49 += ints . tmp201 * 2 tmp49 += np . transpose ( ints . tmp209 , ( 0 , 2 , 1 , 3 )) tmp49 += ints . tmp223 tmp49 += ints . tmp224 tmp49 += ints . tmp229 tmp49 += ints . tmp237 tmp49 += ints . tmp239 * 2 tmp49 += ints . tmp243 tmp49 += ints . tmp39 tmp49 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp49 += ints . tmp194 * - 1 tmp49 += ints . tmp197 * - 1 tmp49 += ints . tmp199 * - 1 tmp49 += ints . tmp214 * - 1 tmp49 += ints . tmp222 * - 1 tmp49 += ints . tmp232 * - 1 tmp49 += ints . tmp238 * - 1 tmp49 += ints . tmp241 * - 1 tmp49 += ints . tmp248 * - 1 tmp49 += np . transpose ( ints . tmp249 , ( 0 , 2 , 1 , 3 )) * - 1 r2new . aba += einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 0 , 1 , 3 )) del tmp49 tmp45 = np . copy ( ints . tmp114 ) * 2 tmp45 += ints . tmp120 tmp45 += np . transpose ( ints . tmp61 , ( 0 , 1 , 3 , 2 )) tmp45 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp45 += ints . tmp112 * - 2 tmp45 += ints . tmp59 * - 1 tmp45 += v . aaaa . oovv * - 1 r2new . aba += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) del tmp45 tmp48 = np . copy ( ints . tmp192 ) tmp48 += ints . tmp230 tmp48 += ints . tmp233 tmp48 += ints . tmp244 tmp48 += v . aabb . oooo r2new . aba += einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) del tmp48 tmp39 = np . copy ( np . transpose ( ints . tmp108 , ( 1 , 0 ))) * 2 tmp39 += np . transpose ( ints . tmp110 , ( 1 , 0 )) tmp39 += ints . tmp55 tmp39 += f . aa . vv * - 1 tmp39 += np . transpose ( ints . tmp53 , ( 1 , 0 )) * - 1 tmp39 += np . transpose ( ints . tmp57 , ( 1 , 0 )) * - 1 tmp39 += tmp38 del tmp38 r2new . aba += einsum ( tmp39 , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aaa += einsum ( tmp39 , ( 0 , 1 ), r2 . aaa , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 del tmp39 tmp47 = np . copy ( ints . tmp189 ) tmp47 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) tmp47 += ints . tmp217 * - 1 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp47 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp47 tmp37 = np . copy ( ints . tmp72 ) tmp37 += ints . tmp78 tmp37 += np . transpose ( v . aaaa . oooo , ( 0 , 2 , 1 , 3 )) r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp37 , ( 3 , 4 , 1 , 0 ), ( 3 , 4 , 2 )) * - 2 del tmp37 tmp43 = np . copy ( ints . tmp139 ) tmp43 += np . transpose ( ints . tmp147 , ( 2 , 0 , 1 , 3 )) tmp43 += np . transpose ( ints . tmp149 , ( 2 , 0 , 1 , 3 )) tmp43 += np . transpose ( ints . tmp80 , ( 2 , 0 , 1 , 3 )) tmp43 += np . transpose ( ints . tmp145 , ( 2 , 0 , 1 , 3 )) * - 1 tmp43 += np . transpose ( ints . tmp76 , ( 2 , 0 , 1 , 3 )) * - 1 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp43 , ( 0 , 1 , 2 , 3 ), ( 2 , 1 , 3 )) * - 2 del tmp43 tmp42 = np . copy ( tmp40 ) del tmp40 tmp42 += tmp41 * 0.5 del tmp41 r2new . aaa += einsum ( tmp42 , ( 0 ,), t2 . aaaa , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 4 del tmp42 tmp36 = np . copy ( tmp27 ) * 2 del tmp27 tmp36 += tmp28 del tmp28 tmp36 += tmp29 del tmp29 tmp36 += np . transpose ( tmp31 , ( 1 , 0 , 2 )) * - 2 del tmp31 tmp36 += np . transpose ( tmp33 , ( 1 , 0 , 2 )) * - 2 del tmp33 tmp36 += tmp35 del tmp35 r2new . aaa += np . transpose ( tmp36 , ( 1 , 0 , 2 )) * - 1 r2new . aaa += tmp36 del tmp36 tmp26 = np . copy ( tmp8 ) * 2 del tmp8 tmp26 += tmp9 * 2 del tmp9 tmp26 += np . transpose ( tmp11 , ( 1 , 0 , 2 )) * - 1 del tmp11 tmp26 += np . transpose ( tmp13 , ( 1 , 0 , 2 )) del tmp13 tmp26 += tmp21 del tmp21 tmp26 += tmp23 del tmp23 tmp26 += np . transpose ( tmp25 , ( 1 , 0 , 2 )) del tmp25 r2new . aaa += np . transpose ( tmp26 , ( 1 , 0 , 2 )) r2new . aaa += tmp26 * - 1 del tmp26 tmp5 = np . copy ( ints . tmp37 ) tmp5 += v . bbbb . ooov * - 1 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp5 , ( 3 , 0 , 1 , 2 ), ( 3 ,)) * 2 del tmp5 tmp6 = np . copy ( ints . tmp39 ) tmp6 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) r1new . b += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 ,)) del tmp6 tmp0 = np . copy ( ints . tmp16 ) tmp0 += v . aaaa . ooov * - 1 r1new . a += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 1 , 2 , 3 ), ( 0 ,)) * 2 del tmp0 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_matvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-12T21:54:32.277830.","title":"hbar_matvec_ea_intermediates"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_matvec_ea_intermediates--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_matvec_ea_intermediates--returns","text":"tmp101 : array tmp104 : array tmp106 : array tmp108 : array tmp11 : array tmp116 : array tmp117 : array tmp118 : array tmp12 : array tmp127 : array tmp128 : array tmp129 : array tmp13 : array tmp136 : array tmp137 : array tmp139 : array tmp141 : array tmp146 : array tmp148 : array tmp15 : array tmp150 : array tmp152 : array tmp153 : array tmp154 : array tmp156 : array tmp158 : array tmp159 : array tmp160 : array tmp161 : array tmp162 : array tmp164 : array tmp165 : array tmp166 : array tmp167 : array tmp168 : array tmp173 : array tmp175 : array tmp177 : array tmp185 : array tmp186 : array tmp187 : array tmp196 : array tmp199 : array tmp20 : array tmp205 : array tmp216 : array tmp22 : array tmp220 : array tmp226 : array tmp240 : array tmp241 : array tmp242 : array tmp263 : array tmp266 : array tmp271 : array tmp272 : array tmp273 : array tmp274 : array tmp276 : array tmp286 : array tmp287 : array tmp289 : array tmp290 : array tmp291 : array tmp292 : array tmp294 : array tmp295 : array tmp296 : array tmp298 : array tmp300 : array tmp301 : array tmp303 : array tmp304 : array tmp305 : array tmp307 : array tmp308 : array tmp309 : array tmp31 : array tmp313 : array tmp314 : array tmp315 : array tmp316 : array tmp317 : array tmp318 : array tmp319 : array tmp32 : array tmp325 : array tmp326 : array tmp327 : array tmp328 : array tmp33 : array tmp334 : array tmp335 : array tmp336 : array tmp337 : array tmp338 : array tmp340 : array tmp341 : array tmp344 : array tmp345 : array tmp346 : array tmp350 : array tmp352 : array tmp354 : array tmp356 : array tmp358 : array tmp360 : array tmp361 : array tmp362 : array tmp363 : array tmp364 : array tmp365 : array tmp366 : array tmp383 : array tmp385 : array tmp387 : array tmp4 : array tmp41 : array tmp423 : array tmp43 : array tmp440 : array tmp450 : array tmp5 : array tmp50 : array tmp51 : array tmp59 : array tmp6 : array tmp61 : array tmp63 : array tmp67 : array tmp69 : array tmp7 : array tmp71 : array tmp73 : array tmp75 : array tmp77 : array tmp79 : array tmp80 : array tmp81 : array tmp82 : array tmp83 : array tmp84 : array tmp9 : array tmp98 : array Source code in ebcc/codegen/UCCSD.py 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 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:54:32.277830. 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 ------- tmp101 : array tmp104 : array tmp106 : array tmp108 : array tmp11 : array tmp116 : array tmp117 : array tmp118 : array tmp12 : array tmp127 : array tmp128 : array tmp129 : array tmp13 : array tmp136 : array tmp137 : array tmp139 : array tmp141 : array tmp146 : array tmp148 : array tmp15 : array tmp150 : array tmp152 : array tmp153 : array tmp154 : array tmp156 : array tmp158 : array tmp159 : array tmp160 : array tmp161 : array tmp162 : array tmp164 : array tmp165 : array tmp166 : array tmp167 : array tmp168 : array tmp173 : array tmp175 : array tmp177 : array tmp185 : array tmp186 : array tmp187 : array tmp196 : array tmp199 : array tmp20 : array tmp205 : array tmp216 : array tmp22 : array tmp220 : array tmp226 : array tmp240 : array tmp241 : array tmp242 : array tmp263 : array tmp266 : array tmp271 : array tmp272 : array tmp273 : array tmp274 : array tmp276 : array tmp286 : array tmp287 : array tmp289 : array tmp290 : array tmp291 : array tmp292 : array tmp294 : array tmp295 : array tmp296 : array tmp298 : array tmp300 : array tmp301 : array tmp303 : array tmp304 : array tmp305 : array tmp307 : array tmp308 : array tmp309 : array tmp31 : array tmp313 : array tmp314 : array tmp315 : array tmp316 : array tmp317 : array tmp318 : array tmp319 : array tmp32 : array tmp325 : array tmp326 : array tmp327 : array tmp328 : array tmp33 : array tmp334 : array tmp335 : array tmp336 : array tmp337 : array tmp338 : array tmp340 : array tmp341 : array tmp344 : array tmp345 : array tmp346 : array tmp350 : array tmp352 : array tmp354 : array tmp356 : array tmp358 : array tmp360 : array tmp361 : array tmp362 : array tmp363 : array tmp364 : array tmp365 : array tmp366 : array tmp383 : array tmp385 : array tmp387 : array tmp4 : array tmp41 : array tmp423 : array tmp43 : array tmp440 : array tmp450 : array tmp5 : array tmp50 : array tmp51 : array tmp59 : array tmp6 : array tmp61 : array tmp63 : array tmp67 : array tmp69 : array tmp7 : array tmp71 : array tmp73 : array tmp75 : array tmp77 : array tmp79 : array tmp80 : array tmp81 : array tmp82 : array tmp83 : array tmp84 : array tmp9 : array tmp98 : array \"\"\" tmp4 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp166 = einsum ( tmp4 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp5 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp167 = einsum ( tmp5 , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 2 , 1 )) tmp6 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp168 = einsum ( tmp6 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp7 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp361 = einsum ( tmp7 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp173 = einsum ( t1 . aa , ( 0 , 1 ), tmp7 , ( 2 , 1 ), ( 0 , 2 )) tmp185 = einsum ( tmp173 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp79 = einsum ( tmp7 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp9 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp362 = einsum ( tmp9 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp175 = einsum ( t1 . aa , ( 0 , 1 ), tmp9 , ( 2 , 1 ), ( 0 , 2 )) tmp186 = einsum ( tmp175 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp80 = einsum ( tmp9 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp11 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp363 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp11 , ( 1 , 3 ), ( 0 , 2 )) tmp307 = einsum ( t1 . bb , ( 0 , 1 ), tmp11 , ( 2 , 1 ), ( 0 , 2 )) tmp325 = einsum ( t1 . bb , ( 0 , 1 ), tmp307 , ( 2 , 0 ), ( 2 , 1 )) tmp81 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp11 , ( 1 , 3 ), ( 0 , 2 )) tmp12 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp364 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp12 , ( 1 , 3 ), ( 0 , 2 )) tmp308 = einsum ( t1 . bb , ( 0 , 1 ), tmp12 , ( 2 , 1 ), ( 0 , 2 )) tmp326 = einsum ( t1 . bb , ( 0 , 1 ), tmp308 , ( 2 , 0 ), ( 2 , 1 )) tmp82 = einsum ( tmp12 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp13 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp365 = einsum ( tmp13 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp177 = einsum ( t1 . aa , ( 0 , 1 ), tmp13 , ( 2 , 1 ), ( 0 , 2 )) tmp187 = einsum ( t1 . aa , ( 0 , 1 ), tmp177 , ( 2 , 0 ), ( 2 , 1 )) tmp83 = einsum ( tmp13 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp15 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp366 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp15 , ( 1 , 3 ), ( 0 , 2 )) tmp309 = einsum ( t1 . bb , ( 0 , 1 ), tmp15 , ( 2 , 1 ), ( 0 , 2 )) tmp327 = einsum ( t1 . bb , ( 0 , 1 ), tmp309 , ( 2 , 0 ), ( 2 , 1 )) tmp84 = einsum ( tmp15 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp20 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp22 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp31 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp303 = einsum ( tmp31 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp32 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp304 = einsum ( t1 . bb , ( 0 , 1 ), tmp32 , ( 1 , 2 ), ( 0 , 2 )) tmp33 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp305 = einsum ( t1 . bb , ( 0 , 1 ), tmp33 , ( 2 , 1 ), ( 0 , 2 )) tmp41 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp43 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp50 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp51 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp59 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp61 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp63 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 5 , 1 , 3 ), ( 0 , 2 , 4 , 5 )) tmp67 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp69 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp71 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp73 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp75 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp77 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp98 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . oo , ( 2 , 0 ), ( 2 , 1 )) tmp101 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp104 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 )) tmp127 = einsum ( tmp104 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp106 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) tmp128 = einsum ( t1 . aa , ( 0 , 1 ), tmp106 , ( 2 , 0 ), ( 2 , 1 )) tmp108 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp129 = einsum ( t1 . aa , ( 0 , 1 ), tmp108 , ( 2 , 0 ), ( 2 , 1 )) tmp116 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 1 tmp117 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp118 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 tmp136 = einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp137 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 2 , 1 ), ( 2 , 0 )) tmp139 = einsum ( t1 . aa , ( 0 , 1 ), tmp137 , ( 0 , 2 ), ( 2 , 1 )) tmp141 = einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp146 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp148 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp150 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 0 , 3 )) tmp152 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp153 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp154 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp164 = einsum ( t1 . aa , ( 0 , 1 ), tmp154 , ( 2 , 0 ), ( 2 , 1 )) tmp156 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp165 = einsum ( t1 . aa , ( 0 , 1 ), tmp156 , ( 2 , 0 ), ( 2 , 1 )) tmp158 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp162 = einsum ( tmp158 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 tmp159 = einsum ( tmp158 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 1 tmp160 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp220 = einsum ( tmp160 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp161 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp160 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp196 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp199 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp205 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp216 = einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp226 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp240 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp241 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp242 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp263 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 4 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) tmp266 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp271 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp272 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 3 ), ( 0 , 2 )) tmp336 = einsum ( tmp272 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp273 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp337 = einsum ( tmp273 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp274 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp338 = einsum ( t1 . bb , ( 0 , 1 ), tmp274 , ( 2 , 0 ), ( 2 , 1 )) tmp276 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 4 , 5 ), ( 2 , 4 , 1 , 5 )) tmp286 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . vv , ( 2 , 1 ), ( 0 , 2 )) tmp287 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 0 , 2 )) tmp313 = einsum ( t1 . bb , ( 0 , 1 ), tmp287 , ( 0 , 2 ), ( 2 , 1 )) tmp289 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp290 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp291 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp292 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp294 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp295 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp296 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp318 = einsum ( t1 . bb , ( 0 , 1 ), tmp296 , ( 2 , 0 ), ( 2 , 1 )) tmp298 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp319 = einsum ( t1 . bb , ( 0 , 1 ), tmp298 , ( 2 , 0 ), ( 2 , 1 )) tmp300 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp317 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp300 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) tmp301 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp300 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp314 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp315 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp450 = einsum ( tmp315 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 tmp316 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp315 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 tmp328 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . oo , ( 2 , 0 ), ( 2 , 1 )) tmp334 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 1 tmp335 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) tmp340 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp341 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp344 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 5 , 3 )) tmp345 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 0 , 4 , 5 , 2 ), ( 1 , 4 , 5 , 3 )) tmp346 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp350 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp352 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) tmp354 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp356 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp358 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp360 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp383 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp385 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp387 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) tmp423 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 0 , 5 ), ( 4 , 2 , 3 , 5 )) * - 1 tmp440 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) return { f \"tmp101\" : tmp101 , f \"tmp104\" : tmp104 , f \"tmp106\" : tmp106 , f \"tmp108\" : tmp108 , f \"tmp11\" : tmp11 , f \"tmp116\" : tmp116 , f \"tmp117\" : tmp117 , f \"tmp118\" : tmp118 , f \"tmp12\" : tmp12 , f \"tmp127\" : tmp127 , f \"tmp128\" : tmp128 , f \"tmp129\" : tmp129 , f \"tmp13\" : tmp13 , f \"tmp136\" : tmp136 , f \"tmp137\" : tmp137 , f \"tmp139\" : tmp139 , f \"tmp141\" : tmp141 , f \"tmp146\" : tmp146 , f \"tmp148\" : tmp148 , f \"tmp15\" : tmp15 , f \"tmp150\" : tmp150 , f \"tmp152\" : tmp152 , f \"tmp153\" : tmp153 , f \"tmp154\" : tmp154 , f \"tmp156\" : tmp156 , f \"tmp158\" : tmp158 , f \"tmp159\" : tmp159 , f \"tmp160\" : tmp160 , f \"tmp161\" : tmp161 , f \"tmp162\" : tmp162 , f \"tmp164\" : tmp164 , f \"tmp165\" : tmp165 , f \"tmp166\" : tmp166 , f \"tmp167\" : tmp167 , f \"tmp168\" : tmp168 , f \"tmp173\" : tmp173 , f \"tmp175\" : tmp175 , f \"tmp177\" : tmp177 , f \"tmp185\" : tmp185 , f \"tmp186\" : tmp186 , f \"tmp187\" : tmp187 , f \"tmp196\" : tmp196 , f \"tmp199\" : tmp199 , f \"tmp20\" : tmp20 , f \"tmp205\" : tmp205 , f \"tmp216\" : tmp216 , f \"tmp22\" : tmp22 , f \"tmp220\" : tmp220 , f \"tmp226\" : tmp226 , f \"tmp240\" : tmp240 , f \"tmp241\" : tmp241 , f \"tmp242\" : tmp242 , f \"tmp263\" : tmp263 , f \"tmp266\" : tmp266 , f \"tmp271\" : tmp271 , f \"tmp272\" : tmp272 , f \"tmp273\" : tmp273 , f \"tmp274\" : tmp274 , f \"tmp276\" : tmp276 , f \"tmp286\" : tmp286 , f \"tmp287\" : tmp287 , f \"tmp289\" : tmp289 , f \"tmp290\" : tmp290 , f \"tmp291\" : tmp291 , f \"tmp292\" : tmp292 , f \"tmp294\" : tmp294 , f \"tmp295\" : tmp295 , f \"tmp296\" : tmp296 , f \"tmp298\" : tmp298 , f \"tmp300\" : tmp300 , f \"tmp301\" : tmp301 , f \"tmp303\" : tmp303 , f \"tmp304\" : tmp304 , f \"tmp305\" : tmp305 , f \"tmp307\" : tmp307 , f \"tmp308\" : tmp308 , f \"tmp309\" : tmp309 , f \"tmp31\" : tmp31 , f \"tmp313\" : tmp313 , f \"tmp314\" : tmp314 , f \"tmp315\" : tmp315 , f \"tmp316\" : tmp316 , f \"tmp317\" : tmp317 , f \"tmp318\" : tmp318 , f \"tmp319\" : tmp319 , f \"tmp32\" : tmp32 , f \"tmp325\" : tmp325 , f \"tmp326\" : tmp326 , f \"tmp327\" : tmp327 , f \"tmp328\" : tmp328 , f \"tmp33\" : tmp33 , f \"tmp334\" : tmp334 , f \"tmp335\" : tmp335 , f \"tmp336\" : tmp336 , f \"tmp337\" : tmp337 , f \"tmp338\" : tmp338 , f \"tmp340\" : tmp340 , f \"tmp341\" : tmp341 , f \"tmp344\" : tmp344 , f \"tmp345\" : tmp345 , f \"tmp346\" : tmp346 , f \"tmp350\" : tmp350 , f \"tmp352\" : tmp352 , f \"tmp354\" : tmp354 , f \"tmp356\" : tmp356 , f \"tmp358\" : tmp358 , f \"tmp360\" : tmp360 , f \"tmp361\" : tmp361 , f \"tmp362\" : tmp362 , f \"tmp363\" : tmp363 , f \"tmp364\" : tmp364 , f \"tmp365\" : tmp365 , f \"tmp366\" : tmp366 , f \"tmp383\" : tmp383 , f \"tmp385\" : tmp385 , f \"tmp387\" : tmp387 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp423\" : tmp423 , f \"tmp43\" : tmp43 , f \"tmp440\" : tmp440 , f \"tmp450\" : tmp450 , f \"tmp5\" : tmp5 , f \"tmp50\" : tmp50 , f \"tmp51\" : tmp51 , f \"tmp59\" : tmp59 , f \"tmp6\" : tmp6 , f \"tmp61\" : tmp61 , f \"tmp63\" : tmp63 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp7\" : tmp7 , f \"tmp71\" : tmp71 , f \"tmp73\" : tmp73 , f \"tmp75\" : tmp75 , f \"tmp77\" : tmp77 , f \"tmp79\" : tmp79 , f \"tmp80\" : tmp80 , f \"tmp81\" : tmp81 , f \"tmp82\" : tmp82 , f \"tmp83\" : tmp83 , f \"tmp84\" : tmp84 , f \"tmp9\" : tmp9 , f \"tmp98\" : tmp98 }","title":"Returns"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_matvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-12T21:54:32.391517.","title":"hbar_matvec_ea"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_matvec_ea--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_matvec_ea--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UCCSD.py 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 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:54:32.391517. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp130 = np . copy ( ints . tmp291 ) tmp130 += np . transpose ( ints . tmp360 , ( 0 , 1 , 3 , 2 )) tmp130 += np . transpose ( ints . tmp356 , ( 0 , 1 , 3 , 2 )) * 2 tmp126 = einsum ( r1 . b , ( 0 ,), ints . tmp315 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) tmp128 = np . copy ( ints . tmp315 ) tmp128 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) tmp99 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 0 , 1 , 2 )) tmp102 = np . copy ( ints . tmp315 ) tmp102 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) tmp88 = np . copy ( ints . tmp300 ) tmp88 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp104 = np . copy ( f . bb . ov ) tmp104 += ints . tmp12 tmp104 += ints . tmp15 tmp106 = np . copy ( ints . tmp290 ) tmp106 += ints . tmp354 * 2 tmp27 = np . copy ( ints . tmp146 ) tmp27 += ints . tmp67 * 2 tmp19 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), r1 . a , ( 3 ,), ( 0 , 1 , 2 )) tmp25 = np . copy ( f . aa . ov ) tmp25 += ints . tmp13 tmp25 += ints . tmp9 tmp23 = np . copy ( ints . tmp160 ) tmp23 += v . aabb . ooov tmp21 = np . copy ( ints . tmp158 ) tmp21 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) tmp51 = np . copy ( ints . tmp148 ) tmp51 += np . transpose ( ints . tmp75 , ( 0 , 1 , 3 , 2 )) tmp51 += np . transpose ( ints . tmp69 , ( 0 , 1 , 3 , 2 )) * 2 tmp47 = einsum ( ints . tmp158 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 3 ,), ( 0 , 1 , 2 )) tmp49 = np . copy ( ints . tmp158 ) tmp49 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) tmp131 = einsum ( r1 . b , ( 0 ,), tmp130 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp130 tmp127 = einsum ( tmp126 , ( 0 , 1 , 2 ), t1 . bb , ( 1 , 3 ), ( 0 , 2 , 3 )) del tmp126 tmp129 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp128 , ( 3 , 4 , 2 , 1 ), ( 3 , 4 , 0 )) * - 1 del tmp128 tmp125 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp11 , ( 3 , 1 ), ( 3 , 2 , 0 )) tmp100 = einsum ( t1 . bb , ( 0 , 1 ), tmp99 , ( 2 , 0 , 3 ), ( 2 , 3 , 1 )) del tmp99 tmp103 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp102 , ( 3 , 2 , 4 , 1 ), ( 3 , 4 , 0 )) * - 2 del tmp102 tmp101 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp88 , ( 2 , 3 , 4 , 0 ), ( 3 , 4 , 1 )) tmp105 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp104 , ( 3 , 1 ), ( 3 , 2 , 0 )) * - 2 del tmp104 tmp107 = einsum ( r1 . b , ( 0 ,), tmp106 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) del tmp106 tmp113 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 1 , 4 ), ( 4 , 0 , 2 )) * - 1 tmp112 = einsum ( r1 . b , ( 0 ,), v . bbbb . ovov , ( 1 , 2 , 3 , 0 ), ( 1 , 3 , 2 )) tmp34 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 1 , 3 , 4 ), ( 4 , 0 , 2 )) tmp33 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), r1 . a , ( 3 ,), ( 0 , 2 , 1 )) tmp28 = einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 3 ,), ( 0 , 1 , 2 )) * 0.5 del tmp27 tmp20 = einsum ( tmp19 , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 , 3 )) del tmp19 tmp26 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp25 , ( 3 , 1 ), ( 2 , 3 , 0 )) * - 1 del tmp25 tmp24 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp23 , ( 3 , 4 , 2 , 0 ), ( 3 , 4 , 1 )) * - 0.5 tmp22 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp21 , ( 3 , 2 , 4 , 1 ), ( 3 , 4 , 0 )) * - 1 del tmp21 tmp52 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 0 , 1 , 3 )) del tmp51 tmp46 = einsum ( ints . tmp7 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 0 , 3 , 2 )) tmp48 = einsum ( tmp47 , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 , 3 )) del tmp47 tmp50 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp49 , ( 3 , 4 , 2 , 1 ), ( 3 , 4 , 0 )) * - 1 del tmp49 tmp0 = np . copy ( f . bb . ov ) tmp0 += ints . tmp12 tmp0 += ints . tmp15 tmp0 += ints . tmp11 * - 1 r1new . b = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp0 , ( 2 , 1 ), ( 0 ,)) * 2 r1new . a = einsum ( tmp0 , ( 0 , 1 ), r2 . bab , ( 1 , 2 , 0 ), ( 2 ,)) * - 1 tmp123 = np . copy ( ints . tmp290 ) tmp123 += ints . tmp354 * 2 tmp121 = np . copy ( ints . tmp292 ) tmp121 += ints . tmp352 tmp121 += ints . tmp358 * 2 tmp132 = np . copy ( tmp125 ) * 2 del tmp125 tmp132 += np . transpose ( tmp127 , ( 1 , 0 , 2 )) del tmp127 tmp132 += np . transpose ( tmp129 , ( 1 , 0 , 2 )) * - 2 del tmp129 tmp132 += np . transpose ( tmp131 , ( 1 , 0 , 2 )) del tmp131 tmp134 = np . copy ( ints . tmp440 ) tmp134 += ints . tmp385 * 2 tmp119 = einsum ( r1 . b , ( 0 ,), v . bbbb . oovv , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) tmp108 = np . copy ( np . transpose ( tmp100 , ( 1 , 0 , 2 ))) del tmp100 tmp108 += np . transpose ( tmp101 , ( 1 , 0 , 2 )) * - 1 del tmp101 tmp108 += np . transpose ( tmp103 , ( 1 , 0 , 2 )) * - 1 del tmp103 tmp108 += tmp105 * - 1 del tmp105 tmp108 += np . transpose ( tmp107 , ( 1 , 0 , 2 )) del tmp107 tmp114 = np . copy ( tmp112 ) del tmp112 tmp114 += tmp113 * 2 del tmp113 tmp97 = np . copy ( f . bb . vv ) * 0.5 tmp97 += np . transpose ( ints . tmp31 , ( 1 , 0 )) * 0.5 tmp97 += np . transpose ( ints . tmp33 , ( 1 , 0 )) * 0.5 tmp97 += np . transpose ( ints . tmp41 , ( 1 , 0 )) * - 1 tmp97 += np . transpose ( ints . tmp43 , ( 1 , 0 )) * - 0.5 tmp95 = np . copy ( ints . tmp291 ) tmp95 += np . transpose ( ints . tmp356 , ( 0 , 1 , 3 , 2 )) * 2 tmp95 += np . transpose ( ints . tmp360 , ( 0 , 1 , 3 , 2 )) tmp110 = np . copy ( ints . tmp383 ) tmp110 += ints . tmp387 * 0.5 tmp110 += v . bbbb . ovvv * 0.5 tmp1 = np . copy ( f . aa . ov ) tmp1 += ints . tmp13 tmp1 += ints . tmp9 tmp1 += ints . tmp7 * - 1 r1new . b += einsum ( tmp1 , ( 0 , 1 ), r2 . aba , ( 1 , 2 , 0 ), ( 2 ,)) * - 1 r1new . a += einsum ( tmp1 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 0 ), ( 2 ,)) * 2 tmp17 = np . copy ( f . aa . vv ) * 0.5 tmp17 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * 0.5 tmp17 += np . transpose ( ints . tmp6 , ( 1 , 0 )) * 0.5 tmp17 += np . transpose ( ints . tmp20 , ( 1 , 0 )) * - 1 tmp17 += np . transpose ( ints . tmp22 , ( 1 , 0 )) * - 0.5 tmp15 = np . copy ( ints . tmp150 ) tmp15 += ints . tmp73 tmp15 += ints . tmp77 * 2 tmp35 = np . copy ( tmp33 ) del tmp33 tmp35 += tmp34 * 2 del tmp34 tmp31 = np . copy ( ints . tmp59 ) tmp31 += ints . tmp63 * 0.5 tmp31 += v . aaaa . ovvv * 0.5 tmp13 = np . copy ( ints . tmp148 ) tmp13 += np . transpose ( ints . tmp69 , ( 0 , 1 , 3 , 2 )) * 2 tmp13 += np . transpose ( ints . tmp75 , ( 0 , 1 , 3 , 2 )) tmp29 = np . copy ( np . transpose ( tmp20 , ( 1 , 0 , 2 ))) * 0.5 del tmp20 tmp29 += np . transpose ( tmp22 , ( 1 , 0 , 2 )) * - 1 del tmp22 tmp29 += np . transpose ( tmp24 , ( 1 , 0 , 2 )) del tmp24 tmp29 += np . transpose ( tmp26 , ( 1 , 0 , 2 )) * - 1 del tmp26 tmp29 += np . transpose ( tmp28 , ( 1 , 0 , 2 )) del tmp28 tmp44 = np . copy ( ints . tmp146 ) tmp44 += ints . tmp67 * 2 tmp53 = np . copy ( np . transpose ( tmp46 , ( 1 , 0 , 2 ))) * 2 del tmp46 tmp53 += tmp48 del tmp48 tmp53 += tmp50 * - 2 del tmp50 tmp53 += tmp52 del tmp52 tmp40 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), r1 . a , ( 3 ,), ( 0 , 1 , 2 )) tmp55 = np . copy ( ints . tmp141 ) tmp55 += ints . tmp61 * 2 tmp10 = einsum ( r1 . b , ( 0 ,), tmp0 , ( 1 , 0 ), ( 1 ,)) tmp9 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 1 , 2 ), ( 0 ,)) * - 1 tmp8 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovov , ( 2 , 0 , 3 , 1 ), ( 3 ,)) tmp124 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp123 , ( 3 , 2 , 4 , 1 ), ( 3 , 4 , 0 )) * - 1 del tmp123 tmp122 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp121 , ( 2 , 3 , 0 , 4 ), ( 3 , 4 , 1 )) del tmp121 tmp133 = einsum ( tmp132 , ( 0 , 1 , 2 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 , 3 )) del tmp132 tmp117 = einsum ( ints . tmp32 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 3 ), ( 3 , 1 , 2 )) tmp135 = einsum ( tmp134 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 0 , 1 , 3 )) del tmp134 tmp118 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 2 ), ( 0 , 4 , 1 )) tmp120 = einsum ( tmp119 , ( 0 , 1 , 2 ), t1 . bb , ( 1 , 3 ), ( 0 , 3 , 2 )) del tmp119 tmp109 = einsum ( t1 . bb , ( 0 , 1 ), tmp108 , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) del tmp108 tmp115 = einsum ( t1 . bb , ( 0 , 1 ), tmp114 , ( 2 , 0 , 3 ), ( 2 , 3 , 1 )) del tmp114 tmp94 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . oovv , ( 3 , 2 , 4 , 1 ), ( 3 , 0 , 4 )) tmp98 = einsum ( tmp97 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 3 ), ( 3 , 1 , 2 )) * - 4 del tmp97 tmp96 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp95 , ( 3 , 2 , 1 , 4 ), ( 3 , 4 , 0 )) * - 2 del tmp95 tmp111 = einsum ( r1 . b , ( 0 ,), tmp110 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 2 del tmp110 tmp93 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovov , ( 2 , 0 , 3 , 4 ), ( 3 , 1 , 4 )) tmp92 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp350 , ( 2 , 3 , 0 , 4 ), ( 3 , 4 , 1 )) tmp4 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 2 ), ( 0 ,)) * - 1 tmp5 = einsum ( tmp1 , ( 0 , 1 ), r1 . a , ( 1 ,), ( 0 ,)) tmp3 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovov , ( 3 , 0 , 2 , 1 ), ( 3 ,)) tmp78 = np . copy ( ints . tmp315 ) tmp78 += np . transpose ( ints . tmp315 , ( 0 , 2 , 1 , 3 )) * - 1 tmp78 += v . bbbb . ooov * - 1 tmp78 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) tmp70 = einsum ( tmp1 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 2 , 1 )) del tmp1 tmp87 = np . copy ( np . transpose ( r2 . aaa , ( 2 , 0 , 1 ))) tmp87 += einsum ( r1 . a , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 1 , 0 , 2 )) * 0.5 tmp77 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 0 , 4 , 2 )) * - 1 r2new . bab = einsum ( tmp77 , ( 0 , 1 , 2 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 4 , 3 , 1 )) * - 1 tmp74 = np . copy ( np . transpose ( r2 . bbb , ( 2 , 0 , 1 ))) tmp74 += einsum ( t1 . bb , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) * 0.5 tmp63 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovov , ( 3 , 0 , 4 , 1 ), ( 2 , 3 , 4 )) r2new . aba = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp63 , ( 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp64 = np . copy ( ints . tmp158 ) tmp64 += np . transpose ( ints . tmp158 , ( 0 , 2 , 1 , 3 )) * - 1 tmp64 += v . aaaa . ooov * - 1 tmp64 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) tmp18 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp17 , ( 1 , 3 ), ( 2 , 0 , 3 )) * - 4 del tmp17 tmp12 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . oovv , ( 3 , 2 , 4 , 1 ), ( 3 , 0 , 4 )) tmp16 = einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 0 , 4 , 2 )) * - 1 del tmp15 tmp36 = einsum ( tmp35 , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 3 ), ( 0 , 3 , 2 )) del tmp35 tmp32 = einsum ( r1 . a , ( 0 ,), tmp31 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 2 del tmp31 tmp14 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp13 , ( 3 , 2 , 1 , 4 ), ( 3 , 0 , 4 )) * - 2 del tmp13 tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 ), t1 . aa , ( 0 , 3 ), ( 1 , 3 , 2 )) * 2 del tmp29 tmp45 = einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 3 , 1 ), ( 0 , 4 , 2 )) * - 1 del tmp44 tmp43 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . ovov , ( 3 , 4 , 2 , 0 ), ( 3 , 1 , 4 )) * - 1 tmp38 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp5 , ( 1 , 3 ), ( 2 , 3 , 0 )) tmp54 = einsum ( tmp53 , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 3 ), ( 0 , 3 , 2 )) del tmp53 tmp42 = einsum ( ints . tmp71 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 0 , 2 , 4 )) * - 1 tmp41 = einsum ( t1 . aa , ( 0 , 1 ), tmp40 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) del tmp40 tmp39 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovov , ( 3 , 4 , 2 , 1 ), ( 3 , 0 , 4 )) tmp56 = einsum ( r1 . a , ( 0 ,), tmp55 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp55 tmp11 = np . copy ( tmp8 ) * - 1 del tmp8 tmp11 += tmp9 * 2 del tmp9 tmp11 += tmp10 del tmp10 r2new . bbb = einsum ( tmp11 , ( 0 ,), t2 . bbbb , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) * 2 r2new . aba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp11 , ( 1 ,), ( 2 , 3 , 0 )) r1new . b += einsum ( t1 . bb , ( 0 , 1 ), tmp11 , ( 0 ,), ( 1 ,)) * - 1 del tmp11 tmp138 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 1 , 4 ), ( 4 , 0 , 2 )) * - 1 tmp137 = np . copy ( ints . tmp423 ) tmp137 += ints . tmp450 * - 1 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp137 , ( 1 , 2 , 3 , 0 ), ( 3 , 2 , 1 )) * 2 del tmp137 tmp86 = np . copy ( f . bb . oo ) tmp86 += np . transpose ( ints . tmp273 , ( 1 , 0 )) tmp86 += np . transpose ( ints . tmp274 , ( 1 , 0 )) tmp86 += ints . tmp287 tmp86 += np . transpose ( ints . tmp296 , ( 1 , 0 )) * 2 tmp86 += np . transpose ( ints . tmp298 , ( 1 , 0 )) tmp86 += np . transpose ( ints . tmp308 , ( 1 , 0 )) tmp86 += np . transpose ( ints . tmp309 , ( 1 , 0 )) tmp86 += np . transpose ( ints . tmp272 , ( 1 , 0 )) * - 1 tmp86 += np . transpose ( ints . tmp307 , ( 1 , 0 )) * - 1 r2new . bbb += einsum ( tmp86 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp86 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp86 tmp136 = np . copy ( tmp117 ) * 2 del tmp117 tmp136 += tmp118 * 2 del tmp118 tmp136 += tmp120 del tmp120 tmp136 += tmp122 del tmp122 tmp136 += tmp124 * - 2 del tmp124 tmp136 += tmp133 del tmp133 tmp136 += tmp135 del tmp135 r2new . bbb += np . transpose ( tmp136 , ( 2 , 1 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp136 , ( 1 , 2 , 0 )) del tmp136 tmp116 = np . copy ( tmp92 ) del tmp92 tmp116 += tmp93 del tmp93 tmp116 += tmp94 * 2 del tmp94 tmp116 += tmp96 * - 1 del tmp96 tmp116 += tmp98 * - 1 del tmp98 tmp116 += tmp109 del tmp109 tmp116 += tmp111 del tmp111 tmp116 += np . transpose ( tmp115 , ( 0 , 2 , 1 )) del tmp115 r2new . bbb += np . transpose ( tmp116 , ( 2 , 1 , 0 )) r2new . bbb += np . transpose ( tmp116 , ( 1 , 2 , 0 )) * - 1 del tmp116 tmp139 = np . copy ( t2 . bbbb ) tmp139 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) r2new . bbb += einsum ( tmp138 , ( 0 , 1 , 2 ), tmp139 , ( 1 , 2 , 3 , 4 ), ( 4 , 3 , 0 )) * - 2 del tmp138 , tmp139 tmp91 = np . copy ( ints . tmp271 ) tmp91 += ints . tmp294 * 2 tmp91 += ints . tmp304 tmp91 += ints . tmp313 tmp91 += ints . tmp316 * 2 tmp91 += ints . tmp317 tmp91 += ints . tmp318 * 2 tmp91 += ints . tmp319 tmp91 += ints . tmp326 tmp91 += ints . tmp327 tmp91 += ints . tmp328 tmp91 += ints . tmp334 * 2 tmp91 += ints . tmp335 tmp91 += ints . tmp337 tmp91 += ints . tmp338 tmp91 += ints . tmp361 tmp91 += ints . tmp363 * 2 tmp91 += f . bb . ov * - 1 tmp91 += ints . tmp12 * - 1 tmp91 += ints . tmp15 * - 1 tmp91 += ints . tmp286 * - 1 tmp91 += ints . tmp295 * - 1 tmp91 += ints . tmp303 * - 1 tmp91 += ints . tmp305 * - 1 tmp91 += ints . tmp325 * - 1 tmp91 += ints . tmp336 * - 1 tmp91 += ints . tmp340 * - 1 tmp91 += ints . tmp341 * - 2 tmp91 += ints . tmp362 * - 1 tmp91 += ints . tmp364 * - 2 tmp91 += ints . tmp365 * - 1 tmp91 += ints . tmp366 * - 2 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp91 , ( 1 , 2 ), ( 2 , 0 , 1 )) r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp91 , ( 1 , 2 ), ( 0 , 2 , 1 )) * - 1 r2new . bab += einsum ( tmp91 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 1 , 2 , 0 )) del tmp91 tmp90 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 0 , 4 , 2 )) tmp90 += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp88 , ( 3 , 4 , 2 , 1 ), ( 3 , 4 , 0 )) * - 1 r2new . bab += einsum ( t1 . aa , ( 0 , 1 ), tmp90 , ( 0 , 2 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp90 tmp6 = np . copy ( tmp3 ) * 2 del tmp3 tmp6 += tmp4 del tmp4 tmp6 += tmp5 del tmp5 r2new . bab += einsum ( tmp6 , ( 0 ,), t2 . abab , ( 0 , 1 , 2 , 3 ), ( 3 , 2 , 1 )) r2new . aaa = einsum ( tmp6 , ( 0 ,), t2 . aaaa , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) * 2 r1new . a += einsum ( tmp6 , ( 0 ,), t1 . aa , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp6 tmp84 = np . copy ( ints . tmp32 ) * 0.5 tmp84 += np . transpose ( ints . tmp41 , ( 1 , 0 )) tmp84 += np . transpose ( ints . tmp43 , ( 1 , 0 )) * 0.5 tmp84 += f . bb . vv * - 0.5 tmp84 += np . transpose ( ints . tmp31 , ( 1 , 0 )) * - 0.5 tmp84 += np . transpose ( ints . tmp33 , ( 1 , 0 )) * - 0.5 tmp84 += einsum ( t1 . bb , ( 0 , 1 ), tmp0 , ( 0 , 2 ), ( 2 , 1 )) * 0.5 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp84 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 2 del tmp84 tmp79 = np . copy ( np . transpose ( ints . tmp291 , ( 0 , 1 , 3 , 2 ))) tmp79 += ints . tmp356 * 2 tmp79 += ints . tmp360 tmp79 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp79 += ints . tmp290 * - 1 tmp79 += ints . tmp354 * - 2 tmp79 += v . bbbb . oovv * - 1 tmp79 += einsum ( tmp78 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 del tmp78 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp79 , ( 3 , 2 , 4 , 0 ), ( 4 , 1 , 3 )) del tmp79 tmp71 = np . copy ( np . transpose ( ints . tmp20 , ( 1 , 0 ))) * 2 tmp71 += np . transpose ( ints . tmp22 , ( 1 , 0 )) tmp71 += ints . tmp5 tmp71 += f . aa . vv * - 1 tmp71 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * - 1 tmp71 += np . transpose ( ints . tmp6 , ( 1 , 0 )) * - 1 tmp71 += np . transpose ( tmp70 , ( 1 , 0 )) del tmp70 r2new . bab += einsum ( tmp71 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . aba += einsum ( tmp71 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 del tmp71 tmp85 = np . copy ( ints . tmp276 ) tmp85 += ints . tmp289 tmp85 += ints . tmp301 tmp85 += ints . tmp344 tmp85 += ints . tmp346 * 2 tmp85 += np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 )) tmp85 += ints . tmp263 * - 1 tmp85 += np . transpose ( ints . tmp345 , ( 0 , 2 , 1 , 3 )) * - 1 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp85 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del tmp85 tmp80 = np . copy ( np . transpose ( r2 . aaa , ( 2 , 0 , 1 ))) * 2 tmp80 += einsum ( r1 . a , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 1 , 0 , 2 )) tmp81 = np . copy ( ints . tmp292 ) tmp81 += ints . tmp352 tmp81 += ints . tmp358 * 2 tmp81 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp81 += ints . tmp350 * - 1 r2new . bab += einsum ( tmp80 , ( 0 , 1 , 2 ), tmp81 , ( 0 , 3 , 1 , 4 ), ( 4 , 2 , 3 )) del tmp80 , tmp81 tmp89 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . vvov , ( 3 , 1 , 4 , 0 ), ( 2 , 4 , 3 )) * - 1 tmp89 += einsum ( tmp77 , ( 0 , 1 , 2 ), t1 . aa , ( 0 , 3 ), ( 1 , 2 , 3 )) * - 1 del tmp77 tmp89 += einsum ( tmp87 , ( 0 , 1 , 2 ), tmp88 , ( 0 , 3 , 4 , 1 ), ( 3 , 4 , 2 )) * - 2 del tmp88 , tmp87 r2new . bab += einsum ( tmp89 , ( 0 , 1 , 2 ), t1 . bb , ( 1 , 3 ), ( 3 , 2 , 0 )) del tmp89 tmp82 = np . copy ( np . transpose ( r2 . bab , ( 2 , 1 , 0 ))) * - 1 tmp82 += einsum ( t1 . bb , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) tmp83 = np . copy ( ints . tmp314 ) tmp83 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) tmp83 += ints . tmp266 * - 1 r2new . bab += einsum ( tmp82 , ( 0 , 1 , 2 ), tmp83 , ( 3 , 0 , 4 , 1 ), ( 2 , 4 , 3 )) del tmp82 , tmp83 tmp67 = np . copy ( ints . tmp150 ) tmp67 += ints . tmp73 tmp67 += ints . tmp77 * 2 tmp67 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp67 += ints . tmp71 * - 1 tmp62 = np . copy ( ints . tmp101 ) tmp62 += ints . tmp116 * 2 tmp62 += ints . tmp117 tmp62 += ints . tmp128 tmp62 += ints . tmp129 tmp62 += ints . tmp139 tmp62 += ints . tmp152 * 2 tmp62 += ints . tmp159 * 2 tmp62 += ints . tmp161 tmp62 += ints . tmp164 * 2 tmp62 += ints . tmp165 tmp62 += ints . tmp167 tmp62 += ints . tmp186 tmp62 += ints . tmp187 tmp62 += ints . tmp79 * 2 tmp62 += ints . tmp81 tmp62 += ints . tmp98 tmp62 += f . aa . ov * - 1 tmp62 += ints . tmp127 * - 1 tmp62 += ints . tmp136 * - 1 tmp62 += ints . tmp13 * - 1 tmp62 += ints . tmp153 * - 1 tmp62 += ints . tmp166 * - 1 tmp62 += ints . tmp168 * - 1 tmp62 += ints . tmp185 * - 1 tmp62 += ints . tmp50 * - 2 tmp62 += ints . tmp51 * - 1 tmp62 += ints . tmp80 * - 2 tmp62 += ints . tmp82 * - 1 tmp62 += ints . tmp83 * - 2 tmp62 += ints . tmp84 * - 1 tmp62 += ints . tmp9 * - 1 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp62 , ( 1 , 2 ), ( 2 , 0 , 1 )) r2new . aaa += einsum ( tmp62 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 1 , 2 , 0 )) r2new . aaa += einsum ( tmp62 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 2 , 1 , 0 )) * - 1 del tmp62 tmp69 = np . copy ( ints . tmp226 ) tmp69 += v . aabb . oovv tmp69 += ints . tmp199 * - 1 tmp75 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 4 ), ( 4 , 0 , 2 )) * - 1 tmp75 += einsum ( t1 . bb , ( 0 , 1 ), tmp63 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) del tmp63 tmp75 += einsum ( tmp74 , ( 0 , 1 , 2 ), tmp23 , ( 3 , 4 , 0 , 1 ), ( 3 , 4 , 2 )) * - 2 del tmp74 r2new . aba += einsum ( t1 . aa , ( 0 , 1 ), tmp75 , ( 2 , 0 , 3 ), ( 1 , 3 , 2 )) del tmp75 tmp72 = np . copy ( ints . tmp32 ) tmp72 += np . transpose ( ints . tmp41 , ( 1 , 0 )) * 2 tmp72 += np . transpose ( ints . tmp43 , ( 1 , 0 )) tmp72 += f . bb . vv * - 1 tmp72 += np . transpose ( ints . tmp31 , ( 1 , 0 )) * - 1 tmp72 += np . transpose ( ints . tmp33 , ( 1 , 0 )) * - 1 tmp72 += einsum ( t1 . bb , ( 0 , 1 ), tmp0 , ( 0 , 2 ), ( 2 , 1 )) del tmp0 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp72 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp72 tmp66 = np . copy ( np . transpose ( r2 . bbb , ( 2 , 0 , 1 ))) * 2 tmp66 += einsum ( t1 . bb , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) r2new . aba += einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), tmp66 , ( 1 , 3 , 4 ), ( 2 , 4 , 0 )) del tmp67 , tmp66 tmp73 = np . copy ( ints . tmp205 ) tmp73 += ints . tmp216 tmp73 += ints . tmp220 tmp73 += ints . tmp240 tmp73 += ints . tmp242 * 2 tmp73 += v . aabb . ovvv tmp73 += ints . tmp196 * - 1 tmp73 += np . transpose ( ints . tmp241 , ( 0 , 1 , 3 , 2 )) * - 1 r2new . aba += einsum ( tmp73 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 1 , 2 , 0 )) * - 1 del tmp73 tmp65 = np . copy ( np . transpose ( ints . tmp148 , ( 0 , 1 , 3 , 2 ))) tmp65 += ints . tmp69 * 2 tmp65 += ints . tmp75 tmp65 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp65 += ints . tmp146 * - 1 tmp65 += ints . tmp67 * - 2 tmp65 += v . aaaa . oovv * - 1 tmp65 += einsum ( tmp64 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 del tmp64 r2new . aba += einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 3 , 4 , 1 ), ( 2 , 4 , 0 )) del tmp65 tmp58 = np . copy ( f . aa . oo ) tmp58 += np . transpose ( ints . tmp106 , ( 1 , 0 )) tmp58 += np . transpose ( ints . tmp108 , ( 1 , 0 )) tmp58 += ints . tmp137 tmp58 += np . transpose ( ints . tmp154 , ( 1 , 0 )) * 2 tmp58 += np . transpose ( ints . tmp156 , ( 1 , 0 )) tmp58 += np . transpose ( ints . tmp175 , ( 1 , 0 )) tmp58 += np . transpose ( ints . tmp177 , ( 1 , 0 )) tmp58 += np . transpose ( ints . tmp104 , ( 1 , 0 )) * - 1 tmp58 += np . transpose ( ints . tmp173 , ( 1 , 0 )) * - 1 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp58 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp58 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp58 tmp76 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . vvov , ( 3 , 0 , 4 , 1 ), ( 2 , 4 , 3 )) * - 1 tmp76 += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp23 , ( 3 , 2 , 4 , 1 ), ( 3 , 4 , 0 )) del tmp23 r2new . aba += einsum ( t1 . bb , ( 0 , 1 ), tmp76 , ( 2 , 0 , 3 ), ( 3 , 1 , 2 )) del tmp76 tmp68 = np . copy ( np . transpose ( r2 . aba , ( 2 , 0 , 1 ))) tmp68 += einsum ( r1 . b , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 1 , 2 , 0 )) * - 1 r2new . aba += einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), tmp68 , ( 1 , 4 , 3 ), ( 4 , 2 , 0 )) * - 1 del tmp69 , tmp68 tmp61 = np . copy ( t2 . aaaa ) tmp61 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp37 = np . copy ( tmp12 ) * 2 del tmp12 tmp37 += np . transpose ( tmp14 , ( 0 , 2 , 1 )) * - 1 del tmp14 tmp37 += np . transpose ( tmp16 , ( 0 , 2 , 1 )) del tmp16 tmp37 += np . transpose ( tmp18 , ( 0 , 2 , 1 )) * - 1 del tmp18 tmp37 += np . transpose ( tmp30 , ( 0 , 2 , 1 )) del tmp30 tmp37 += tmp32 del tmp32 tmp37 += tmp36 del tmp36 r2new . aaa += np . transpose ( tmp37 , ( 2 , 1 , 0 )) r2new . aaa += np . transpose ( tmp37 , ( 1 , 2 , 0 )) * - 1 del tmp37 tmp57 = np . copy ( tmp38 ) * 2 del tmp38 tmp57 += tmp39 * 2 del tmp39 tmp57 += tmp41 del tmp41 tmp57 += tmp42 del tmp42 tmp57 += tmp43 del tmp43 tmp57 += np . transpose ( tmp45 , ( 0 , 2 , 1 )) * - 2 del tmp45 tmp57 += np . transpose ( tmp54 , ( 0 , 2 , 1 )) del tmp54 tmp57 += tmp56 del tmp56 r2new . aaa += np . transpose ( tmp57 , ( 2 , 1 , 0 )) * - 1 r2new . aaa += np . transpose ( tmp57 , ( 1 , 2 , 0 )) del tmp57 tmp60 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovov , ( 3 , 0 , 4 , 1 ), ( 2 , 3 , 4 )) r2new . aaa += einsum ( tmp60 , ( 0 , 1 , 2 ), tmp61 , ( 1 , 2 , 3 , 4 ), ( 4 , 3 , 0 )) * - 2 del tmp60 , tmp61 tmp59 = np . copy ( ints . tmp118 ) tmp59 += ints . tmp162 * - 1 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp59 , ( 1 , 2 , 3 , 0 ), ( 3 , 2 , 1 )) * 2 del tmp59 tmp7 = np . copy ( ints . tmp32 ) tmp7 += np . transpose ( ints . tmp41 , ( 1 , 0 )) * 2 tmp7 += np . transpose ( ints . tmp43 , ( 1 , 0 )) tmp7 += f . bb . vv * - 1 tmp7 += np . transpose ( ints . tmp31 , ( 1 , 0 )) * - 1 tmp7 += np . transpose ( ints . tmp33 , ( 1 , 0 )) * - 1 r1new . b += einsum ( r1 . b , ( 0 ,), tmp7 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp7 tmp2 = np . copy ( np . transpose ( ints . tmp20 , ( 1 , 0 ))) * 2 tmp2 += np . transpose ( ints . tmp22 , ( 1 , 0 )) tmp2 += ints . tmp5 tmp2 += f . aa . vv * - 1 tmp2 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * - 1 tmp2 += np . transpose ( ints . tmp6 , ( 1 , 0 )) * - 1 r1new . a += einsum ( tmp2 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp2 r1new . a += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 2 ), ( 0 ,)) * - 1 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . ovvv , ( 2 , 1 , 3 , 0 ), ( 3 ,)) * 2 r1new . b += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 0 ), ( 2 ,)) * - 1 r1new . b += einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 1 , 3 , 0 ), ( 2 ,)) * - 2 r2new . aaa += einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) * 2 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . vvvv , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . vvvv , ( 3 , 1 , 4 , 0 ), ( 4 , 3 , 2 )) r2new . bbb += einsum ( v . bbbb . vvvv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) * 2 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_matvec_ee_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-12T22:00:12.606077.","title":"hbar_matvec_ee_intermediates"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_matvec_ee_intermediates--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_matvec_ee_intermediates--returns","text":"tmp10 : array tmp100 : array tmp102 : array tmp104 : array tmp106 : array tmp107 : array tmp108 : array tmp116 : array tmp118 : array tmp12 : array tmp120 : array tmp123 : array tmp14 : array tmp140 : array tmp142 : array tmp144 : array tmp15 : array tmp153 : array tmp156 : array tmp16 : array tmp167 : array tmp168 : array tmp169 : array tmp179 : array tmp18 : array tmp180 : array tmp181 : array tmp199 : array tmp205 : array tmp206 : array tmp207 : array tmp209 : array tmp211 : array tmp213 : array tmp214 : array tmp215 : array tmp221 : array tmp222 : array tmp224 : array tmp228 : array tmp229 : array tmp23 : array tmp230 : array tmp235 : array tmp236 : array tmp237 : array tmp239 : array tmp25 : array tmp250 : array tmp251 : array tmp252 : array tmp256 : array tmp257 : array tmp260 : array tmp263 : array tmp265 : array tmp267 : array tmp269 : array tmp271 : array tmp273 : array tmp275 : array tmp277 : array tmp279 : array tmp281 : array tmp282 : array tmp283 : array tmp284 : array tmp285 : array tmp286 : array tmp293 : array tmp295 : array tmp297 : array tmp299 : array tmp302 : array tmp304 : array tmp306 : array tmp308 : array tmp313 : array tmp314 : array tmp315 : array tmp319 : array tmp320 : array tmp321 : array tmp327 : array tmp328 : array tmp329 : array tmp331 : array tmp337 : array tmp338 : array tmp339 : array tmp343 : array tmp344 : array tmp345 : array tmp349 : array tmp351 : array tmp366 : array tmp369 : array tmp377 : array tmp378 : array tmp379 : array tmp39 : array tmp394 : array tmp395 : array tmp396 : array tmp399 : array tmp4 : array tmp401 : array tmp402 : array tmp403 : array tmp404 : array tmp405 : array tmp407 : array tmp408 : array tmp409 : array tmp411 : array tmp412 : array tmp416 : array tmp417 : array tmp418 : array tmp42 : array tmp420 : array tmp421 : array tmp422 : array tmp427 : array tmp428 : array tmp429 : array tmp43 : array tmp432 : array tmp433 : array tmp437 : array tmp439 : array tmp44 : array tmp443 : array tmp444 : array tmp445 : array tmp446 : array tmp45 : array tmp457 : array tmp458 : array tmp459 : array tmp46 : array tmp460 : array tmp461 : array tmp463 : array tmp465 : array tmp467 : array tmp469 : array tmp47 : array tmp471 : array tmp473 : array tmp474 : array tmp475 : array tmp476 : array tmp477 : array tmp478 : array tmp479 : array tmp48 : array tmp484 : array tmp490 : array tmp491 : array tmp494 : array tmp495 : array tmp497 : array tmp498 : array tmp499 : array tmp5 : array tmp50 : array tmp500 : array tmp502 : array tmp503 : array tmp506 : array tmp507 : array tmp509 : array tmp511 : array tmp513 : array tmp515 : array tmp516 : array tmp518 : array tmp519 : array tmp52 : array tmp521 : array tmp523 : array tmp525 : array tmp526 : array tmp527 : array tmp532 : array tmp534 : array tmp536 : array tmp539 : array tmp54 : array tmp551 : array tmp553 : array tmp555 : array tmp56 : array tmp566 : array tmp57 : array tmp577 : array tmp58 : array tmp6 : array tmp609 : array tmp611 : array tmp613 : array tmp620 : array tmp622 : array tmp626 : array tmp631 : array tmp633 : array tmp651 : array tmp653 : array tmp655 : array tmp66 : array tmp669 : array tmp67 : array tmp671 : array tmp673 : array tmp675 : array tmp678 : array tmp68 : array tmp680 : array tmp682 : array tmp79 : array tmp81 : array tmp89 : array tmp92 : array tmp93 : array tmp94 : array tmp95 : array tmp96 : array tmp97 : array tmp98 : array Source code in ebcc/codegen/UCCSD.py 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 def hbar_matvec_ee_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-12T22:00:12.606077. 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 ------- tmp10 : array tmp100 : array tmp102 : array tmp104 : array tmp106 : array tmp107 : array tmp108 : array tmp116 : array tmp118 : array tmp12 : array tmp120 : array tmp123 : array tmp14 : array tmp140 : array tmp142 : array tmp144 : array tmp15 : array tmp153 : array tmp156 : array tmp16 : array tmp167 : array tmp168 : array tmp169 : array tmp179 : array tmp18 : array tmp180 : array tmp181 : array tmp199 : array tmp205 : array tmp206 : array tmp207 : array tmp209 : array tmp211 : array tmp213 : array tmp214 : array tmp215 : array tmp221 : array tmp222 : array tmp224 : array tmp228 : array tmp229 : array tmp23 : array tmp230 : array tmp235 : array tmp236 : array tmp237 : array tmp239 : array tmp25 : array tmp250 : array tmp251 : array tmp252 : array tmp256 : array tmp257 : array tmp260 : array tmp263 : array tmp265 : array tmp267 : array tmp269 : array tmp271 : array tmp273 : array tmp275 : array tmp277 : array tmp279 : array tmp281 : array tmp282 : array tmp283 : array tmp284 : array tmp285 : array tmp286 : array tmp293 : array tmp295 : array tmp297 : array tmp299 : array tmp302 : array tmp304 : array tmp306 : array tmp308 : array tmp313 : array tmp314 : array tmp315 : array tmp319 : array tmp320 : array tmp321 : array tmp327 : array tmp328 : array tmp329 : array tmp331 : array tmp337 : array tmp338 : array tmp339 : array tmp343 : array tmp344 : array tmp345 : array tmp349 : array tmp351 : array tmp366 : array tmp369 : array tmp377 : array tmp378 : array tmp379 : array tmp39 : array tmp394 : array tmp395 : array tmp396 : array tmp399 : array tmp4 : array tmp401 : array tmp402 : array tmp403 : array tmp404 : array tmp405 : array tmp407 : array tmp408 : array tmp409 : array tmp411 : array tmp412 : array tmp416 : array tmp417 : array tmp418 : array tmp42 : array tmp420 : array tmp421 : array tmp422 : array tmp427 : array tmp428 : array tmp429 : array tmp43 : array tmp432 : array tmp433 : array tmp437 : array tmp439 : array tmp44 : array tmp443 : array tmp444 : array tmp445 : array tmp446 : array tmp45 : array tmp457 : array tmp458 : array tmp459 : array tmp46 : array tmp460 : array tmp461 : array tmp463 : array tmp465 : array tmp467 : array tmp469 : array tmp47 : array tmp471 : array tmp473 : array tmp474 : array tmp475 : array tmp476 : array tmp477 : array tmp478 : array tmp479 : array tmp48 : array tmp484 : array tmp490 : array tmp491 : array tmp494 : array tmp495 : array tmp497 : array tmp498 : array tmp499 : array tmp5 : array tmp50 : array tmp500 : array tmp502 : array tmp503 : array tmp506 : array tmp507 : array tmp509 : array tmp511 : array tmp513 : array tmp515 : array tmp516 : array tmp518 : array tmp519 : array tmp52 : array tmp521 : array tmp523 : array tmp525 : array tmp526 : array tmp527 : array tmp532 : array tmp534 : array tmp536 : array tmp539 : array tmp54 : array tmp551 : array tmp553 : array tmp555 : array tmp56 : array tmp566 : array tmp57 : array tmp577 : array tmp58 : array tmp6 : array tmp609 : array tmp611 : array tmp613 : array tmp620 : array tmp622 : array tmp626 : array tmp631 : array tmp633 : array tmp651 : array tmp653 : array tmp655 : array tmp66 : array tmp669 : array tmp67 : array tmp671 : array tmp673 : array tmp675 : array tmp678 : array tmp68 : array tmp680 : array tmp682 : array tmp79 : array tmp81 : array tmp89 : array tmp92 : array tmp93 : array tmp94 : array tmp95 : array tmp96 : array tmp97 : array tmp98 : array \"\"\" tmp4 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 )) tmp179 = einsum ( t1 . aa , ( 0 , 1 ), tmp4 , ( 2 , 0 ), ( 2 , 1 )) tmp5 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) tmp180 = einsum ( t1 . aa , ( 0 , 1 ), tmp5 , ( 2 , 0 ), ( 2 , 1 )) tmp6 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp181 = einsum ( t1 . aa , ( 0 , 1 ), tmp6 , ( 2 , 0 ), ( 2 , 1 )) tmp10 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp474 = einsum ( tmp10 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp319 = einsum ( tmp10 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp281 = einsum ( tmp10 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp140 = einsum ( tmp10 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp56 = einsum ( tmp10 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp250 = einsum ( t1 . aa , ( 0 , 1 ), tmp56 , ( 2 , 0 ), ( 2 , 1 )) tmp12 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp475 = einsum ( tmp12 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp320 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp12 , ( 4 , 2 ), ( 0 , 4 , 1 , 3 )) tmp282 = einsum ( tmp12 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp142 = einsum ( tmp12 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp57 = einsum ( t1 . aa , ( 0 , 1 ), tmp12 , ( 2 , 1 ), ( 0 , 2 )) tmp251 = einsum ( t1 . aa , ( 0 , 1 ), tmp57 , ( 2 , 0 ), ( 2 , 1 )) tmp14 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp551 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp476 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp14 , ( 1 , 3 ), ( 0 , 2 )) tmp377 = einsum ( tmp14 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp283 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 1 , 3 ), ( 0 , 2 )) tmp106 = einsum ( tmp14 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp427 = einsum ( t1 . bb , ( 0 , 1 ), tmp106 , ( 2 , 0 ), ( 2 , 1 )) tmp15 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp553 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp15 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp477 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp15 , ( 1 , 3 ), ( 0 , 2 )) tmp378 = einsum ( tmp15 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp284 = einsum ( tmp15 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp107 = einsum ( t1 . bb , ( 0 , 1 ), tmp15 , ( 2 , 1 ), ( 0 , 2 )) tmp428 = einsum ( t1 . bb , ( 0 , 1 ), tmp107 , ( 2 , 0 ), ( 2 , 1 )) tmp16 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp478 = einsum ( tmp16 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp321 = einsum ( tmp16 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp285 = einsum ( tmp16 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp144 = einsum ( tmp16 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp58 = einsum ( tmp16 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp252 = einsum ( t1 . aa , ( 0 , 1 ), tmp58 , ( 2 , 0 ), ( 2 , 1 )) tmp18 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp555 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp479 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp18 , ( 1 , 3 ), ( 0 , 2 )) tmp379 = einsum ( tmp18 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp286 = einsum ( tmp18 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp108 = einsum ( t1 . bb , ( 0 , 1 ), tmp18 , ( 2 , 1 ), ( 0 , 2 )) tmp429 = einsum ( tmp108 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp23 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp25 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp39 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 2 , 1 ), ( 2 , 0 )) tmp221 = einsum ( t1 . aa , ( 0 , 1 ), tmp39 , ( 0 , 2 ), ( 2 , 1 )) tmp42 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp213 = einsum ( tmp42 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp43 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp214 = einsum ( tmp43 , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 2 , 1 )) tmp44 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp215 = einsum ( tmp44 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp45 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp46 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp295 = einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp47 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 0 , 3 )) tmp48 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp395 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp48 , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) tmp394 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp48 , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp297 = einsum ( t1 . aa , ( 0 , 1 ), tmp48 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp299 = einsum ( tmp297 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp230 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp228 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp209 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp207 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp50 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp516 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp50 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp437 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp50 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp396 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp50 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp229 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp50 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp211 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp50 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp52 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp235 = einsum ( t1 . aa , ( 0 , 1 ), tmp52 , ( 2 , 0 ), ( 2 , 1 )) tmp54 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp236 = einsum ( t1 . aa , ( 0 , 1 ), tmp54 , ( 2 , 0 ), ( 2 , 1 )) tmp66 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 3 ), ( 0 , 2 )) tmp343 = einsum ( t1 . bb , ( 0 , 1 ), tmp66 , ( 2 , 0 ), ( 2 , 1 )) tmp67 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp344 = einsum ( t1 . bb , ( 0 , 1 ), tmp67 , ( 2 , 0 ), ( 2 , 1 )) tmp68 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp345 = einsum ( t1 . bb , ( 0 , 1 ), tmp68 , ( 2 , 0 ), ( 2 , 1 )) tmp79 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 tmp81 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp89 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 0 , 2 )) tmp411 = einsum ( t1 . bb , ( 0 , 1 ), tmp89 , ( 0 , 2 ), ( 2 , 1 )) tmp92 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp407 = einsum ( t1 . bb , ( 0 , 1 ), tmp92 , ( 2 , 1 ), ( 0 , 2 )) tmp93 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp408 = einsum ( t1 . bb , ( 0 , 1 ), tmp93 , ( 1 , 2 ), ( 0 , 2 )) tmp94 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp409 = einsum ( t1 . bb , ( 0 , 1 ), tmp94 , ( 2 , 1 ), ( 0 , 2 )) tmp95 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp96 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp671 = einsum ( t1 . bb , ( 0 , 1 ), tmp96 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp97 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp526 = einsum ( t1 . aa , ( 0 , 1 ), tmp97 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp98 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp673 = einsum ( t1 . bb , ( 0 , 1 ), tmp98 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp675 = einsum ( tmp673 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp626 = einsum ( tmp98 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp611 = einsum ( tmp98 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp609 = einsum ( tmp98 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp416 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp98 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 tmp404 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp98 , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp403 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp98 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp100 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp613 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp100 , ( 0 , 4 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp503 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp100 , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 5 , 3 )) tmp500 = einsum ( t1 . aa , ( 0 , 1 ), tmp100 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp527 = einsum ( t1 . aa , ( 0 , 1 ), tmp500 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp502 = einsum ( t1 . bb , ( 0 , 1 ), tmp500 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp418 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp100 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp417 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp100 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) tmp405 = einsum ( tmp100 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) tmp102 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp420 = einsum ( tmp102 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp104 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp421 = einsum ( t1 . bb , ( 0 , 1 ), tmp104 , ( 2 , 0 ), ( 2 , 1 )) tmp116 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp118 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp120 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 5 , 1 , 3 ), ( 0 , 2 , 4 , 5 )) tmp123 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp153 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . oo , ( 2 , 0 ), ( 2 , 1 )) tmp156 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp167 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp168 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp169 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp199 = einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp205 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp206 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp222 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp224 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp239 = einsum ( tmp224 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) tmp237 = einsum ( tmp224 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp256 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp257 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp260 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp263 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp265 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp267 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp269 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp271 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp273 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp275 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp277 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp279 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp293 = einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp302 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp304 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) * - 1 tmp306 = einsum ( tmp304 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp308 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp313 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 5 , 3 )) tmp314 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 0 , 4 , 5 , 2 ), ( 1 , 4 , 5 , 3 )) tmp315 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp327 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp328 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp329 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp331 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . oo , ( 2 , 0 ), ( 2 , 1 )) tmp337 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 1 tmp338 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) tmp339 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 4 , 5 ), ( 2 , 4 , 1 , 5 )) tmp349 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp351 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp366 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp369 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 4 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) tmp399 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . vv , ( 2 , 1 ), ( 0 , 2 )) tmp401 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp402 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp412 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp519 = einsum ( tmp412 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp422 = einsum ( t1 . bb , ( 0 , 1 ), tmp412 , ( 2 , 3 , 4 , 0 ), ( 3 , 2 , 4 , 1 )) tmp432 = einsum ( v . aabb . vvoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 3 , 0 )) tmp433 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp484 = einsum ( tmp433 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 3 , 2 , 4 )) tmp439 = einsum ( t1 . bb , ( 0 , 1 ), tmp433 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp443 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp444 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp445 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp446 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 3 , 5 )) tmp457 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp458 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp459 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp460 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) tmp461 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp463 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp465 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) tmp467 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp469 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp471 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp473 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp490 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 4 , 2 , 5 , 1 ), ( 0 , 4 , 5 , 3 )) tmp491 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp494 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp495 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp497 = einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp498 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp499 = einsum ( tmp498 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp506 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp507 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) tmp509 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp523 = einsum ( tmp509 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp511 = einsum ( tmp509 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp513 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . oooo , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp515 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp518 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oovv , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp521 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp525 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp532 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp534 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp536 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) tmp539 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp566 = einsum ( v . bbbb . oooo , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp577 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp620 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp622 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp633 = einsum ( tmp622 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) tmp631 = einsum ( tmp622 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp651 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp653 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp655 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 5 , 3 )) tmp669 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp678 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp680 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp682 = einsum ( tmp680 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) return { f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp102\" : tmp102 , f \"tmp104\" : tmp104 , f \"tmp106\" : tmp106 , f \"tmp107\" : tmp107 , f \"tmp108\" : tmp108 , f \"tmp116\" : tmp116 , f \"tmp118\" : tmp118 , f \"tmp12\" : tmp12 , f \"tmp120\" : tmp120 , f \"tmp123\" : tmp123 , f \"tmp14\" : tmp14 , f \"tmp140\" : tmp140 , f \"tmp142\" : tmp142 , f \"tmp144\" : tmp144 , f \"tmp15\" : tmp15 , f \"tmp153\" : tmp153 , f \"tmp156\" : tmp156 , f \"tmp16\" : tmp16 , f \"tmp167\" : tmp167 , f \"tmp168\" : tmp168 , f \"tmp169\" : tmp169 , f \"tmp179\" : tmp179 , f \"tmp18\" : tmp18 , f \"tmp180\" : tmp180 , f \"tmp181\" : tmp181 , f \"tmp199\" : tmp199 , f \"tmp205\" : tmp205 , f \"tmp206\" : tmp206 , f \"tmp207\" : tmp207 , f \"tmp209\" : tmp209 , f \"tmp211\" : tmp211 , f \"tmp213\" : tmp213 , f \"tmp214\" : tmp214 , f \"tmp215\" : tmp215 , f \"tmp221\" : tmp221 , f \"tmp222\" : tmp222 , f \"tmp224\" : tmp224 , f \"tmp228\" : tmp228 , f \"tmp229\" : tmp229 , f \"tmp23\" : tmp23 , f \"tmp230\" : tmp230 , f \"tmp235\" : tmp235 , f \"tmp236\" : tmp236 , f \"tmp237\" : tmp237 , f \"tmp239\" : tmp239 , f \"tmp25\" : tmp25 , f \"tmp250\" : tmp250 , f \"tmp251\" : tmp251 , f \"tmp252\" : tmp252 , f \"tmp256\" : tmp256 , f \"tmp257\" : tmp257 , f \"tmp260\" : tmp260 , f \"tmp263\" : tmp263 , f \"tmp265\" : tmp265 , f \"tmp267\" : tmp267 , f \"tmp269\" : tmp269 , f \"tmp271\" : tmp271 , f \"tmp273\" : tmp273 , f \"tmp275\" : tmp275 , f \"tmp277\" : tmp277 , f \"tmp279\" : tmp279 , f \"tmp281\" : tmp281 , f \"tmp282\" : tmp282 , f \"tmp283\" : tmp283 , f \"tmp284\" : tmp284 , f \"tmp285\" : tmp285 , f \"tmp286\" : tmp286 , f \"tmp293\" : tmp293 , f \"tmp295\" : tmp295 , f \"tmp297\" : tmp297 , f \"tmp299\" : tmp299 , f \"tmp302\" : tmp302 , f \"tmp304\" : tmp304 , f \"tmp306\" : tmp306 , f \"tmp308\" : tmp308 , f \"tmp313\" : tmp313 , f \"tmp314\" : tmp314 , f \"tmp315\" : tmp315 , f \"tmp319\" : tmp319 , f \"tmp320\" : tmp320 , f \"tmp321\" : tmp321 , f \"tmp327\" : tmp327 , f \"tmp328\" : tmp328 , f \"tmp329\" : tmp329 , f \"tmp331\" : tmp331 , f \"tmp337\" : tmp337 , f \"tmp338\" : tmp338 , f \"tmp339\" : tmp339 , f \"tmp343\" : tmp343 , f \"tmp344\" : tmp344 , f \"tmp345\" : tmp345 , f \"tmp349\" : tmp349 , f \"tmp351\" : tmp351 , f \"tmp366\" : tmp366 , f \"tmp369\" : tmp369 , f \"tmp377\" : tmp377 , f \"tmp378\" : tmp378 , f \"tmp379\" : tmp379 , f \"tmp39\" : tmp39 , f \"tmp394\" : tmp394 , f \"tmp395\" : tmp395 , f \"tmp396\" : tmp396 , f \"tmp399\" : tmp399 , f \"tmp4\" : tmp4 , f \"tmp401\" : tmp401 , f \"tmp402\" : tmp402 , f \"tmp403\" : tmp403 , f \"tmp404\" : tmp404 , f \"tmp405\" : tmp405 , f \"tmp407\" : tmp407 , f \"tmp408\" : tmp408 , f \"tmp409\" : tmp409 , f \"tmp411\" : tmp411 , f \"tmp412\" : tmp412 , f \"tmp416\" : tmp416 , f \"tmp417\" : tmp417 , f \"tmp418\" : tmp418 , f \"tmp42\" : tmp42 , f \"tmp420\" : tmp420 , f \"tmp421\" : tmp421 , f \"tmp422\" : tmp422 , f \"tmp427\" : tmp427 , f \"tmp428\" : tmp428 , f \"tmp429\" : tmp429 , f \"tmp43\" : tmp43 , f \"tmp432\" : tmp432 , f \"tmp433\" : tmp433 , f \"tmp437\" : tmp437 , f \"tmp439\" : tmp439 , f \"tmp44\" : tmp44 , f \"tmp443\" : tmp443 , f \"tmp444\" : tmp444 , f \"tmp445\" : tmp445 , f \"tmp446\" : tmp446 , f \"tmp45\" : tmp45 , f \"tmp457\" : tmp457 , f \"tmp458\" : tmp458 , f \"tmp459\" : tmp459 , f \"tmp46\" : tmp46 , f \"tmp460\" : tmp460 , f \"tmp461\" : tmp461 , f \"tmp463\" : tmp463 , f \"tmp465\" : tmp465 , f \"tmp467\" : tmp467 , f \"tmp469\" : tmp469 , f \"tmp47\" : tmp47 , f \"tmp471\" : tmp471 , f \"tmp473\" : tmp473 , f \"tmp474\" : tmp474 , f \"tmp475\" : tmp475 , f \"tmp476\" : tmp476 , f \"tmp477\" : tmp477 , f \"tmp478\" : tmp478 , f \"tmp479\" : tmp479 , f \"tmp48\" : tmp48 , f \"tmp484\" : tmp484 , f \"tmp490\" : tmp490 , f \"tmp491\" : tmp491 , f \"tmp494\" : tmp494 , f \"tmp495\" : tmp495 , f \"tmp497\" : tmp497 , f \"tmp498\" : tmp498 , f \"tmp499\" : tmp499 , f \"tmp5\" : tmp5 , f \"tmp50\" : tmp50 , f \"tmp500\" : tmp500 , f \"tmp502\" : tmp502 , f \"tmp503\" : tmp503 , f \"tmp506\" : tmp506 , f \"tmp507\" : tmp507 , f \"tmp509\" : tmp509 , f \"tmp511\" : tmp511 , f \"tmp513\" : tmp513 , f \"tmp515\" : tmp515 , f \"tmp516\" : tmp516 , f \"tmp518\" : tmp518 , f \"tmp519\" : tmp519 , f \"tmp52\" : tmp52 , f \"tmp521\" : tmp521 , f \"tmp523\" : tmp523 , f \"tmp525\" : tmp525 , f \"tmp526\" : tmp526 , f \"tmp527\" : tmp527 , f \"tmp532\" : tmp532 , f \"tmp534\" : tmp534 , f \"tmp536\" : tmp536 , f \"tmp539\" : tmp539 , f \"tmp54\" : tmp54 , f \"tmp551\" : tmp551 , f \"tmp553\" : tmp553 , f \"tmp555\" : tmp555 , f \"tmp56\" : tmp56 , f \"tmp566\" : tmp566 , f \"tmp57\" : tmp57 , f \"tmp577\" : tmp577 , f \"tmp58\" : tmp58 , f \"tmp6\" : tmp6 , f \"tmp609\" : tmp609 , f \"tmp611\" : tmp611 , f \"tmp613\" : tmp613 , f \"tmp620\" : tmp620 , f \"tmp622\" : tmp622 , f \"tmp626\" : tmp626 , f \"tmp631\" : tmp631 , f \"tmp633\" : tmp633 , f \"tmp651\" : tmp651 , f \"tmp653\" : tmp653 , f \"tmp655\" : tmp655 , f \"tmp66\" : tmp66 , f \"tmp669\" : tmp669 , f \"tmp67\" : tmp67 , f \"tmp671\" : tmp671 , f \"tmp673\" : tmp673 , f \"tmp675\" : tmp675 , f \"tmp678\" : tmp678 , f \"tmp68\" : tmp68 , f \"tmp680\" : tmp680 , f \"tmp682\" : tmp682 , f \"tmp79\" : tmp79 , f \"tmp81\" : tmp81 , f \"tmp89\" : tmp89 , f \"tmp92\" : tmp92 , f \"tmp93\" : tmp93 , f \"tmp94\" : tmp94 , f \"tmp95\" : tmp95 , f \"tmp96\" : tmp96 , f \"tmp97\" : tmp97 , f \"tmp98\" : tmp98 }","title":"Returns"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_matvec_ee","text":"Code generated by albert 0.0.0 on 2024-08-12T22:00:12.834848.","title":"hbar_matvec_ee"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_matvec_ee--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_matvec_ee--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UCCSD.py 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 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-12T22:00:12.834848. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp246 = einsum ( r1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp8 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp203 = einsum ( r1 . bb , ( 0 , 1 ), ints . tmp98 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp204 = einsum ( r1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp82 = einsum ( r1 . aa , ( 0 , 1 ), ints . tmp48 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp83 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp4 = einsum ( r1 . bb , ( 0 , 1 ), v . aabb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp50 = einsum ( r1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp239 = np . copy ( v . bbbb . ovvv ) tmp239 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) * - 1 tmp247 = np . copy ( tmp8 ) tmp247 += tmp246 del tmp246 tmp185 = np . copy ( ints . tmp95 ) tmp185 += ints . tmp467 * 2 tmp230 = np . copy ( f . bb . ov ) tmp230 += ints . tmp15 tmp230 += ints . tmp18 tmp205 = np . copy ( tmp203 ) del tmp203 tmp205 += np . transpose ( tmp204 , ( 0 , 2 , 3 , 1 )) del tmp204 tmp201 = np . copy ( ints . tmp469 ) tmp201 += ints . tmp473 * 0.5 tmp201 += np . transpose ( ints . tmp96 , ( 0 , 1 , 3 , 2 )) * 0.5 tmp108 = np . copy ( ints . tmp45 ) tmp108 += ints . tmp269 * 2 tmp62 = np . copy ( f . aa . ov ) tmp62 += ints . tmp12 tmp62 += ints . tmp16 tmp80 = np . copy ( ints . tmp271 ) tmp80 += ints . tmp277 * 0.5 tmp80 += np . transpose ( ints . tmp46 , ( 0 , 1 , 3 , 2 )) * 0.5 tmp84 = np . copy ( tmp82 ) del tmp82 tmp84 += np . transpose ( tmp83 , ( 0 , 2 , 3 , 1 )) del tmp83 tmp51 = np . copy ( tmp50 ) del tmp50 tmp51 += tmp4 tmp39 = np . copy ( v . aaaa . ovvv ) * - 1 tmp39 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 3 , 1 )) tmp165 = einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp164 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp163 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp240 = einsum ( tmp239 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 0 , 2 ), ( 1 , 3 )) del tmp239 tmp248 = einsum ( tmp247 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) * - 1 del tmp247 tmp245 = einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp184 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), r2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp186 = einsum ( tmp185 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) del tmp185 tmp182 = einsum ( ints . tmp100 , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 0 , 4 , 3 , 5 ), ( 1 , 2 , 4 , 5 )) tmp183 = einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), ints . tmp98 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) tmp229 = einsum ( ints . tmp98 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 1 , 3 ), ( 0 , 2 )) tmp228 = einsum ( ints . tmp100 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 0 , 3 ), ( 1 , 2 )) tmp29 = einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp28 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp231 = einsum ( tmp230 , ( 0 , 1 ), r1 . bb , ( 2 , 1 ), ( 0 , 2 )) * 0.5 del tmp230 tmp199 = einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), ints . tmp98 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp198 = einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 5 , 3 )) tmp206 = einsum ( tmp205 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp205 tmp202 = einsum ( tmp201 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) * 2 del tmp201 tmp200 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), r2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp266 = np . copy ( f . bb . ov ) tmp266 += ints . tmp15 tmp266 += ints . tmp18 tmp263 = einsum ( r1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp258 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp259 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp254 = einsum ( r1 . bb , ( 0 , 1 ), ints . tmp14 , ( 2 , 1 ), ( 2 , 0 )) tmp255 = einsum ( ints . tmp98 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp5 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp5 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp9 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp9 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp109 = einsum ( tmp108 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) del tmp108 tmp106 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), r2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp107 = einsum ( ints . tmp50 , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp105 = einsum ( ints . tmp48 , ( 0 , 1 , 2 , 3 ), r2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp125 = einsum ( r1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp128 = np . copy ( f . aa . ov ) tmp128 += ints . tmp12 tmp128 += ints . tmp16 tmp61 = einsum ( r1 . bb , ( 0 , 1 ), ints . tmp50 , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp15 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), r2 . aaaa , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp16 = einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp60 = einsum ( ints . tmp48 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 1 , 3 ), ( 0 , 2 )) tmp63 = einsum ( tmp62 , ( 0 , 1 ), r1 . aa , ( 2 , 1 ), ( 2 , 0 )) del tmp62 tmp119 = einsum ( r1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp120 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp116 = einsum ( r1 . aa , ( 0 , 1 ), ints . tmp48 , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp115 = einsum ( r1 . aa , ( 0 , 1 ), ints . tmp10 , ( 2 , 1 ), ( 2 , 0 )) tmp81 = einsum ( tmp80 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) * 2 del tmp80 tmp85 = einsum ( tmp84 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp84 tmp79 = einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp78 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), r2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp77 = einsum ( ints . tmp48 , ( 0 , 1 , 2 , 3 ), r2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp43 = einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp44 = einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp52 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp51 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) * - 1 del tmp51 tmp49 = einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp40 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 0 , 1 ), ( 2 , 3 )) del tmp39 tmp38 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp221 = np . copy ( ints . tmp551 ) tmp221 += ints . tmp678 tmp221 += ints . tmp682 * - 1 tmp219 = np . copy ( ints . tmp79 ) * 2 tmp219 += ints . tmp81 tmp219 += np . transpose ( ints . tmp93 , ( 1 , 0 )) tmp243 = np . copy ( tmp164 ) * 0.5 tmp243 += tmp165 tmp237 = einsum ( ints . tmp14 , ( 0 , 1 ), r2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp241 = np . copy ( np . transpose ( tmp163 , ( 1 , 0 ))) tmp241 += tmp240 * - 1 del tmp240 tmp249 = np . copy ( np . transpose ( tmp245 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp245 tmp249 += np . transpose ( tmp248 , ( 2 , 1 , 0 , 3 )) * - 1 del tmp248 tmp216 = np . copy ( ints . tmp539 ) tmp216 += np . transpose ( ints . tmp553 , ( 2 , 0 , 1 , 3 )) tmp216 += np . transpose ( ints . tmp555 , ( 2 , 0 , 1 , 3 )) tmp214 = np . copy ( f . bb . vv ) tmp214 += np . transpose ( ints . tmp92 , ( 1 , 0 )) tmp214 += np . transpose ( ints . tmp94 , ( 1 , 0 )) tmp180 = np . copy ( ints . tmp536 ) tmp180 += ints . tmp532 * 2 tmp176 = np . copy ( ints . tmp473 ) tmp176 += np . transpose ( ints . tmp96 , ( 0 , 1 , 3 , 2 )) tmp176 += ints . tmp469 * 2 tmp174 = np . copy ( ints . tmp465 ) tmp174 += ints . tmp97 tmp174 += ints . tmp471 * 2 tmp172 = einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp187 = np . copy ( tmp182 ) del tmp182 tmp187 += tmp183 * 2 del tmp183 tmp187 += np . transpose ( tmp184 , ( 0 , 2 , 1 , 3 )) * 2 del tmp184 tmp187 += tmp186 del tmp186 tmp178 = np . copy ( ints . tmp613 ) tmp178 += np . transpose ( ints . tmp633 , ( 0 , 2 , 1 , 3 )) tmp178 += ints . tmp671 tmp178 += ints . tmp98 tmp178 += ints . tmp609 * 2 tmp178 += ints . tmp651 * 2 tmp232 = np . copy ( tmp228 ) * 0.5 del tmp228 tmp232 += tmp229 * 0.5 del tmp229 tmp232 += tmp28 * 0.5 tmp232 += tmp29 tmp232 += np . transpose ( tmp231 , ( 1 , 0 )) del tmp231 tmp226 = np . copy ( f . bb . oo ) tmp226 += np . transpose ( ints . tmp102 , ( 1 , 0 )) * 2 tmp226 += np . transpose ( ints . tmp104 , ( 1 , 0 )) tmp226 += np . transpose ( ints . tmp107 , ( 1 , 0 )) tmp226 += np . transpose ( ints . tmp108 , ( 1 , 0 )) tmp226 += np . transpose ( ints . tmp67 , ( 1 , 0 )) tmp226 += np . transpose ( ints . tmp68 , ( 1 , 0 )) tmp226 += ints . tmp89 tmp234 = np . copy ( ints . tmp577 ) tmp234 += ints . tmp626 * - 1 tmp224 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 1 , 3 ), ( 0 , 2 )) tmp196 = np . copy ( ints . tmp467 ) * 2 tmp196 += ints . tmp95 tmp209 = np . copy ( ints . tmp566 ) tmp209 += np . transpose ( ints . tmp611 , ( 0 , 2 , 1 , 3 )) * 2 tmp209 += np . transpose ( ints . tmp620 , ( 0 , 2 , 1 , 3 )) tmp209 += np . transpose ( ints . tmp631 , ( 0 , 2 , 1 , 3 )) tmp209 += np . transpose ( ints . tmp653 , ( 0 , 2 , 1 , 3 )) * 2 tmp209 += np . transpose ( ints . tmp655 , ( 0 , 2 , 1 , 3 )) tmp209 += np . transpose ( ints . tmp675 , ( 0 , 2 , 1 , 3 )) tmp211 = np . copy ( ints . tmp534 ) tmp211 += ints . tmp669 * 0.5 tmp194 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp207 = np . copy ( np . transpose ( tmp198 , ( 0 , 2 , 1 , 3 ))) del tmp198 tmp207 += tmp199 * 2 del tmp199 tmp207 += np . transpose ( tmp200 , ( 0 , 2 , 1 , 3 )) * 2 del tmp200 tmp207 += tmp202 del tmp202 tmp207 += tmp206 del tmp206 tmp267 = einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp266 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) * - 1 del tmp266 tmp264 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp263 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) del tmp263 tmp252 = np . copy ( ints . tmp106 ) tmp252 += ints . tmp66 tmp260 = np . copy ( np . transpose ( tmp258 , ( 1 , 0 ))) del tmp258 tmp260 += np . transpose ( tmp259 , ( 1 , 0 )) del tmp259 tmp256 = np . copy ( np . transpose ( tmp254 , ( 1 , 0 ))) del tmp254 tmp256 += tmp255 del tmp255 tmp6 = einsum ( r1 . aa , ( 0 , 1 ), tmp5 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp5 tmp10 = einsum ( r1 . bb , ( 0 , 1 ), tmp9 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp9 tmp143 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) r2new . abab = einsum ( tmp143 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp1 = np . copy ( ints . tmp50 ) tmp1 += v . aabb . ooov r1new . aa = einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 tmp24 = np . copy ( ints . tmp100 ) tmp24 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) r1new . bb = einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 tmp3 = np . copy ( f . bb . ov ) tmp3 += ints . tmp15 tmp3 += ints . tmp18 tmp3 += ints . tmp14 * - 1 r1new . bb += einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp3 , ( 1 , 3 ), ( 0 , 2 )) * 2 r1new . aa += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp3 , ( 1 , 3 ), ( 0 , 2 )) tmp30 = np . copy ( ints . tmp98 ) * - 1 tmp30 += np . transpose ( ints . tmp98 , ( 0 , 2 , 1 , 3 )) tmp30 += v . bbbb . ooov tmp30 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp17 = np . copy ( ints . tmp48 ) tmp17 += np . transpose ( ints . tmp48 , ( 0 , 2 , 1 , 3 )) * - 1 tmp17 += v . aaaa . ooov * - 1 tmp17 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) tmp2 = np . copy ( f . aa . ov ) tmp2 += ints . tmp12 tmp2 += ints . tmp16 tmp2 += ints . tmp10 * - 1 r1new . bb += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 2 ), ( 1 , 3 )) r1new . aa += einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp2 , ( 1 , 3 ), ( 0 , 2 )) * 2 tmp132 = np . copy ( ints . tmp23 ) * 2 tmp132 += ints . tmp25 tmp132 += np . transpose ( ints . tmp43 , ( 1 , 0 )) tmp134 = np . copy ( ints . tmp302 ) tmp134 += ints . tmp306 * - 1 tmp99 = np . copy ( ints . tmp275 ) tmp99 += ints . tmp47 tmp99 += ints . tmp279 * 2 tmp103 = np . copy ( ints . tmp120 ) tmp103 += ints . tmp116 * 2 tmp94 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp97 = np . copy ( ints . tmp277 ) tmp97 += np . transpose ( ints . tmp46 , ( 0 , 1 , 3 , 2 )) tmp97 += ints . tmp271 * 2 tmp110 = np . copy ( tmp105 ) * 2 del tmp105 tmp110 += np . transpose ( tmp106 , ( 0 , 2 , 1 , 3 )) * 2 del tmp106 tmp110 += tmp107 del tmp107 tmp110 += np . transpose ( tmp109 , ( 1 , 2 , 0 , 3 )) del tmp109 tmp101 = np . copy ( ints . tmp211 ) tmp101 += np . transpose ( ints . tmp239 , ( 0 , 2 , 1 , 3 )) tmp101 += ints . tmp295 tmp101 += ints . tmp48 tmp101 += ints . tmp207 * 2 tmp101 += ints . tmp263 * 2 tmp126 = einsum ( tmp125 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) del tmp125 tmp129 = einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp128 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) * - 1 del tmp128 tmp64 = np . copy ( tmp60 ) del tmp60 tmp64 += tmp61 del tmp61 tmp64 += tmp15 * 2 tmp64 += tmp16 tmp64 += tmp63 del tmp63 tmp66 = np . copy ( ints . tmp169 ) tmp66 += ints . tmp230 * - 1 tmp58 = np . copy ( f . aa . oo ) tmp58 += ints . tmp39 tmp58 += np . transpose ( ints . tmp52 , ( 1 , 0 )) * 2 tmp58 += np . transpose ( ints . tmp54 , ( 1 , 0 )) tmp58 += np . transpose ( ints . tmp57 , ( 1 , 0 )) tmp58 += np . transpose ( ints . tmp58 , ( 1 , 0 )) tmp58 += np . transpose ( ints . tmp5 , ( 1 , 0 )) tmp58 += np . transpose ( ints . tmp6 , ( 1 , 0 )) tmp56 = einsum ( r1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp113 = np . copy ( ints . tmp4 ) tmp113 += ints . tmp56 tmp121 = np . copy ( np . transpose ( tmp119 , ( 1 , 0 ))) del tmp119 tmp121 += np . transpose ( tmp120 , ( 1 , 0 )) del tmp120 tmp117 = np . copy ( np . transpose ( tmp115 , ( 1 , 0 ))) del tmp115 tmp117 += tmp116 del tmp116 tmp88 = np . copy ( ints . tmp156 ) tmp88 += np . transpose ( ints . tmp209 , ( 0 , 2 , 1 , 3 )) * 2 tmp88 += np . transpose ( ints . tmp222 , ( 0 , 2 , 1 , 3 )) tmp88 += np . transpose ( ints . tmp237 , ( 0 , 2 , 1 , 3 )) tmp88 += np . transpose ( ints . tmp265 , ( 0 , 2 , 1 , 3 )) * 2 tmp88 += np . transpose ( ints . tmp267 , ( 0 , 2 , 1 , 3 )) tmp88 += np . transpose ( ints . tmp299 , ( 0 , 2 , 1 , 3 )) tmp75 = np . copy ( ints . tmp269 ) * 2 tmp75 += ints . tmp45 tmp86 = np . copy ( tmp77 ) * 2 del tmp77 tmp86 += np . transpose ( tmp78 , ( 0 , 2 , 1 , 3 )) * 2 del tmp78 tmp86 += np . transpose ( tmp79 , ( 0 , 2 , 1 , 3 )) del tmp79 tmp86 += np . transpose ( tmp81 , ( 1 , 2 , 0 , 3 )) del tmp81 tmp86 += tmp85 del tmp85 tmp90 = np . copy ( ints . tmp118 ) tmp90 += ints . tmp293 * 0.5 tmp72 = einsum ( r1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp45 = np . copy ( tmp43 ) * 2 tmp45 += tmp44 tmp36 = einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), ints . tmp10 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp53 = np . copy ( np . transpose ( tmp49 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp49 tmp53 += np . transpose ( tmp52 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp52 tmp41 = np . copy ( np . transpose ( tmp38 , ( 1 , 0 ))) tmp41 += np . transpose ( tmp40 , ( 1 , 0 )) * - 1 del tmp40 tmp47 = np . copy ( ints . tmp123 ) tmp47 += np . transpose ( ints . tmp142 , ( 2 , 0 , 1 , 3 )) tmp47 += np . transpose ( ints . tmp144 , ( 2 , 0 , 1 , 3 )) tmp222 = einsum ( tmp221 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * 2 del tmp221 tmp220 = einsum ( tmp219 , ( 0 , 1 ), r2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 2 del tmp219 tmp244 = einsum ( tmp243 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 4 del tmp243 tmp238 = einsum ( tmp237 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp237 tmp242 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp241 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * - 2 del tmp241 tmp250 = einsum ( t1 . bb , ( 0 , 1 ), tmp249 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * 2 del tmp249 tmp217 = einsum ( tmp216 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp216 tmp215 = einsum ( tmp214 , ( 0 , 1 ), r2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp214 tmp181 = einsum ( tmp180 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) del tmp180 tmp177 = einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp176 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp176 tmp175 = einsum ( tmp174 , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp174 tmp173 = einsum ( t1 . bb , ( 0 , 1 ), tmp172 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp172 tmp188 = einsum ( t1 . bb , ( 0 , 1 ), tmp187 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp187 tmp179 = einsum ( tmp178 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp178 tmp170 = einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp171 = einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp233 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp232 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 4 del tmp232 tmp227 = einsum ( tmp226 , ( 0 , 1 ), r2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 2 del tmp226 tmp235 = einsum ( r1 . bb , ( 0 , 1 ), tmp234 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) * 2 del tmp234 tmp225 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp224 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) del tmp224 tmp191 = einsum ( r1 . bb , ( 0 , 1 ), v . bbbb . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp192 = einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), ints . tmp463 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) tmp197 = einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp196 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp196 tmp193 = einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp210 = einsum ( r1 . bb , ( 0 , 1 ), tmp209 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp209 tmp212 = einsum ( tmp211 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 4 , 2 ), ( 0 , 4 , 1 , 3 )) * 2 del tmp211 tmp195 = einsum ( tmp194 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp194 tmp208 = einsum ( tmp207 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp207 tmp190 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) tmp268 = einsum ( tmp267 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) del tmp267 tmp265 = einsum ( tmp264 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp264 tmp253 = einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp252 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 1 del tmp252 tmp261 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp260 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) * - 1 del tmp260 tmp257 = einsum ( tmp256 , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 del tmp256 tmp7 = np . copy ( tmp4 ) del tmp4 tmp7 += tmp6 * - 1 del tmp6 r1new . bb += einsum ( tmp7 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) r1new . aa += einsum ( tmp7 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 2 tmp157 = np . copy ( ints . tmp465 ) tmp157 += ints . tmp471 * 2 tmp157 += ints . tmp97 tmp157 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp157 += ints . tmp463 * - 1 tmp148 = np . copy ( ints . tmp515 ) tmp148 += v . aabb . oovv tmp148 += ints . tmp491 * - 1 r2new . abab += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp148 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) * - 1 tmp11 = np . copy ( tmp8 ) del tmp8 tmp11 += tmp10 * - 1 del tmp10 r1new . bb += einsum ( tmp11 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 2 r1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp11 , ( 1 , 3 ), ( 0 , 2 )) tmp154 = np . copy ( ints . tmp275 ) tmp154 += ints . tmp279 * 2 tmp154 += ints . tmp47 tmp154 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp154 += ints . tmp273 * - 1 tmp153 = np . copy ( ints . tmp98 ) tmp153 += np . transpose ( ints . tmp98 , ( 0 , 2 , 1 , 3 )) * - 1 tmp153 += v . bbbb . ooov * - 1 tmp153 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) tmp155 = np . copy ( np . transpose ( tmp143 , ( 1 , 0 , 2 , 3 ))) del tmp143 tmp155 += einsum ( r1 . aa , ( 0 , 1 ), tmp24 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp155 += einsum ( r1 . bb , ( 0 , 1 ), tmp1 , ( 2 , 3 , 4 , 1 ), ( 3 , 2 , 0 , 4 )) tmp149 = np . copy ( ints . tmp498 ) tmp149 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) tmp149 += ints . tmp495 * - 1 r2new . abab += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp149 , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) * - 1 tmp33 = einsum ( r1 . bb , ( 0 , 1 ), tmp3 , ( 2 , 1 ), ( 0 , 2 )) tmp31 = einsum ( r1 . bb , ( 0 , 1 ), tmp30 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp30 tmp32 = einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 0 , 3 ), ( 1 , 2 )) tmp166 = np . copy ( v . bbbb . ovvv ) * - 1 tmp166 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) tmp18 = einsum ( r1 . aa , ( 0 , 1 ), tmp17 , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp19 = einsum ( r1 . bb , ( 0 , 1 ), tmp1 , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp20 = einsum ( tmp2 , ( 0 , 1 ), r1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp161 = np . copy ( v . aaaa . ovvv ) * - 1 tmp161 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) tmp137 = np . copy ( f . aa . vv ) tmp137 += np . transpose ( ints . tmp42 , ( 1 , 0 )) tmp137 += np . transpose ( ints . tmp44 , ( 1 , 0 )) tmp133 = einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp132 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp132 tmp135 = einsum ( r1 . aa , ( 0 , 1 ), tmp134 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp134 tmp100 = einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp99 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp99 tmp104 = einsum ( r1 . aa , ( 0 , 1 ), tmp103 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) del tmp103 tmp95 = einsum ( t1 . aa , ( 0 , 1 ), tmp94 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp94 tmp98 = einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp97 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp97 tmp96 = einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp111 = einsum ( t1 . aa , ( 0 , 1 ), tmp110 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp110 tmp102 = einsum ( tmp101 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp101 tmp93 = einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp124 = einsum ( r1 . aa , ( 0 , 1 ), ints . tmp140 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp127 = einsum ( tmp126 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp126 tmp130 = einsum ( tmp129 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 1 , 0 , 4 , 3 )) del tmp129 tmp65 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp64 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 2 del tmp64 tmp67 = einsum ( tmp66 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) * 2 del tmp66 tmp59 = einsum ( tmp58 , ( 0 , 1 ), r2 . aaaa , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 2 del tmp58 tmp57 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp56 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) del tmp56 tmp114 = einsum ( tmp113 , ( 0 , 1 ), r2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 1 del tmp113 tmp122 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp121 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp121 tmp118 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp117 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp117 tmp70 = einsum ( r1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp69 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) tmp89 = einsum ( r1 . aa , ( 0 , 1 ), tmp88 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp88 tmp74 = einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), ints . tmp273 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp76 = einsum ( tmp75 , ( 0 , 1 , 2 , 3 ), r2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp75 tmp87 = einsum ( tmp86 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp86 tmp71 = einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp91 = einsum ( tmp90 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) * 2 del tmp90 tmp73 = einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp72 tmp46 = einsum ( tmp45 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 2 del tmp45 tmp37 = einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp36 tmp54 = einsum ( tmp53 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * 2 del tmp53 tmp42 = einsum ( tmp41 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp41 tmp48 = einsum ( r1 . aa , ( 0 , 1 ), tmp47 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp47 tmp223 = np . copy ( np . transpose ( tmp220 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp220 tmp223 += tmp222 * - 1 del tmp222 r2new . bbbb = np . copy ( np . transpose ( tmp223 , ( 1 , 0 , 3 , 2 ))) * - 1 r2new . bbbb += np . transpose ( tmp223 , ( 1 , 0 , 2 , 3 )) del tmp223 tmp271 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bbbb , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp251 = np . copy ( tmp238 ) * 2 del tmp238 tmp251 += np . transpose ( tmp242 , ( 1 , 0 , 3 , 2 )) del tmp242 tmp251 += np . transpose ( tmp244 , ( 1 , 0 , 2 , 3 )) del tmp244 tmp251 += np . transpose ( tmp250 , ( 1 , 0 , 3 , 2 )) del tmp250 r2new . bbbb += np . transpose ( tmp251 , ( 0 , 1 , 3 , 2 )) * - 1 r2new . bbbb += tmp251 del tmp251 tmp218 = np . copy ( np . transpose ( tmp215 , ( 1 , 0 , 2 , 3 ))) del tmp215 tmp218 += tmp217 del tmp217 r2new . bbbb += np . transpose ( tmp218 , ( 1 , 0 , 3 , 2 )) * - 2 r2new . bbbb += np . transpose ( tmp218 , ( 1 , 0 , 2 , 3 )) * 2 del tmp218 tmp189 = np . copy ( tmp170 ) del tmp170 tmp189 += tmp171 * 2 del tmp171 tmp189 += tmp173 del tmp173 tmp189 += tmp175 del tmp175 tmp189 += tmp177 * 2 del tmp177 tmp189 += tmp179 del tmp179 tmp189 += tmp181 del tmp181 tmp189 += tmp188 del tmp188 r2new . bbbb += np . transpose ( tmp189 , ( 1 , 0 , 3 , 2 )) r2new . bbbb += np . transpose ( tmp189 , ( 1 , 0 , 2 , 3 )) * - 1 r2new . bbbb += np . transpose ( tmp189 , ( 0 , 1 , 3 , 2 )) * - 1 r2new . bbbb += tmp189 del tmp189 tmp236 = np . copy ( np . transpose ( tmp225 , ( 0 , 1 , 3 , 2 ))) * - 2 del tmp225 tmp236 += np . transpose ( tmp227 , ( 0 , 1 , 3 , 2 )) del tmp227 tmp236 += np . transpose ( tmp233 , ( 0 , 1 , 3 , 2 )) del tmp233 tmp236 += np . transpose ( tmp235 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp235 r2new . bbbb += np . transpose ( tmp236 , ( 1 , 0 , 2 , 3 )) * - 1 r2new . bbbb += tmp236 del tmp236 tmp272 = np . copy ( t2 . bbbb ) tmp272 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) r2new . bbbb += einsum ( tmp271 , ( 0 , 1 , 2 , 3 ), tmp272 , ( 2 , 3 , 4 , 5 ), ( 1 , 0 , 5 , 4 )) * 2 del tmp271 , tmp272 tmp169 = np . copy ( ints . tmp331 ) tmp169 += ints . tmp337 * 2 tmp169 += ints . tmp338 tmp169 += ints . tmp344 tmp169 += ints . tmp345 tmp169 += ints . tmp401 * 2 tmp169 += ints . tmp408 tmp169 += ints . tmp411 tmp169 += ints . tmp416 * 2 tmp169 += ints . tmp417 tmp169 += ints . tmp420 * 2 tmp169 += ints . tmp421 tmp169 += ints . tmp428 tmp169 += ints . tmp429 tmp169 += ints . tmp443 tmp169 += ints . tmp474 tmp169 += ints . tmp476 * 2 tmp169 += f . bb . ov * - 1 tmp169 += ints . tmp15 * - 1 tmp169 += ints . tmp18 * - 1 tmp169 += ints . tmp343 * - 1 tmp169 += ints . tmp399 * - 1 tmp169 += ints . tmp402 * - 1 tmp169 += ints . tmp407 * - 1 tmp169 += ints . tmp409 * - 1 tmp169 += ints . tmp427 * - 1 tmp169 += ints . tmp457 * - 1 tmp169 += ints . tmp458 * - 2 tmp169 += ints . tmp475 * - 1 tmp169 += ints . tmp477 * - 2 tmp169 += ints . tmp478 * - 1 tmp169 += ints . tmp479 * - 2 r2new . bbbb += einsum ( r1 . bb , ( 0 , 1 ), tmp169 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) r2new . bbbb += einsum ( tmp169 , ( 0 , 1 ), r1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) r2new . bbbb += einsum ( r1 . bb , ( 0 , 1 ), tmp169 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 r2new . bbbb += einsum ( r1 . bb , ( 0 , 1 ), tmp169 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 r2new . abab += einsum ( tmp169 , ( 0 , 1 ), r1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 del tmp169 tmp270 = np . copy ( ints . tmp673 ) tmp270 += ints . tmp680 tmp270 += np . transpose ( v . bbbb . oooo , ( 0 , 2 , 1 , 3 )) tmp270 += ints . tmp622 * - 1 tmp270 += np . transpose ( ints . tmp622 , ( 1 , 0 , 2 , 3 )) r2new . bbbb += einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp270 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) * 2 del tmp270 tmp213 = np . copy ( tmp190 ) del tmp190 tmp213 += tmp191 del tmp191 tmp213 += tmp192 del tmp192 tmp213 += tmp193 * 2 del tmp193 tmp213 += tmp195 del tmp195 tmp213 += tmp197 del tmp197 tmp213 += tmp208 del tmp208 tmp213 += tmp210 del tmp210 tmp213 += tmp212 del tmp212 r2new . bbbb += np . transpose ( tmp213 , ( 1 , 0 , 3 , 2 )) * - 1 r2new . bbbb += np . transpose ( tmp213 , ( 1 , 0 , 2 , 3 )) r2new . bbbb += np . transpose ( tmp213 , ( 0 , 1 , 3 , 2 )) r2new . bbbb += tmp213 * - 1 del tmp213 tmp269 = np . copy ( tmp265 ) del tmp265 tmp269 += np . transpose ( tmp268 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp268 r2new . bbbb += np . transpose ( tmp269 , ( 0 , 1 , 3 , 2 )) * 2 r2new . bbbb += tmp269 * - 2 del tmp269 tmp262 = np . copy ( np . transpose ( tmp253 , ( 0 , 1 , 3 , 2 ))) del tmp253 tmp262 += np . transpose ( tmp257 , ( 0 , 1 , 3 , 2 )) del tmp257 tmp262 += np . transpose ( tmp261 , ( 1 , 0 , 3 , 2 )) del tmp261 r2new . bbbb += np . transpose ( tmp262 , ( 1 , 0 , 2 , 3 )) * 2 r2new . bbbb += tmp262 * - 2 del tmp262 tmp27 = np . copy ( np . transpose ( ints . tmp79 , ( 1 , 0 ))) * 2 tmp27 += np . transpose ( ints . tmp81 , ( 1 , 0 )) tmp27 += ints . tmp93 tmp27 += f . bb . vv * - 1 tmp27 += np . transpose ( ints . tmp92 , ( 1 , 0 )) * - 1 tmp27 += np . transpose ( ints . tmp94 , ( 1 , 0 )) * - 1 r2new . abab += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 1 r1new . bb += einsum ( tmp27 , ( 0 , 1 ), r1 . bb , ( 2 , 0 ), ( 2 , 1 )) * - 1 del tmp27 tmp168 = np . copy ( f . bb . oo ) tmp168 += np . transpose ( ints . tmp102 , ( 1 , 0 )) * 2 tmp168 += np . transpose ( ints . tmp104 , ( 1 , 0 )) tmp168 += np . transpose ( ints . tmp107 , ( 1 , 0 )) tmp168 += np . transpose ( ints . tmp108 , ( 1 , 0 )) tmp168 += np . transpose ( ints . tmp67 , ( 1 , 0 )) tmp168 += np . transpose ( ints . tmp68 , ( 1 , 0 )) tmp168 += ints . tmp89 tmp168 += np . transpose ( ints . tmp106 , ( 1 , 0 )) * - 1 tmp168 += np . transpose ( ints . tmp66 , ( 1 , 0 )) * - 1 r2new . abab += einsum ( tmp168 , ( 0 , 1 ), r2 . abab , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 del tmp168 tmp158 = einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) * 0.5 tmp158 += einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 2 , 4 , 3 , 5 ), ( 1 , 0 , 4 , 5 )) * - 0.5 del tmp17 tmp158 += einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 4 , 2 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) * - 0.5 tmp158 += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 1 , 0 , 4 , 5 )) tmp158 += einsum ( r1 . aa , ( 0 , 1 ), tmp157 , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) * 0.5 del tmp157 tmp158 += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) * 0.5 del tmp2 tmp158 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp7 , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) * 0.5 del tmp7 tmp158 += einsum ( tmp148 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 4 , 3 ), ( 1 , 0 , 4 , 2 )) * 0.5 del tmp148 r2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp158 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp158 tmp145 = np . copy ( ints . tmp469 ) * 2 tmp145 += ints . tmp473 tmp145 += np . transpose ( ints . tmp96 , ( 0 , 1 , 3 , 2 )) tmp145 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp145 += ints . tmp467 * - 2 tmp145 += ints . tmp95 * - 1 tmp145 += v . bbbb . oovv * - 1 r2new . abab += einsum ( tmp145 , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp145 tmp156 = einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) tmp156 += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp153 , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) * - 1 del tmp153 tmp156 += einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp24 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * 2 del tmp24 tmp156 += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) * - 1 del tmp1 tmp156 += einsum ( r1 . bb , ( 0 , 1 ), tmp154 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) del tmp154 tmp156 += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp3 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) del tmp3 tmp156 += einsum ( tmp11 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) del tmp11 tmp156 += einsum ( tmp149 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) del tmp149 tmp156 += einsum ( t1 . aa , ( 0 , 1 ), tmp155 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp155 r2new . abab += einsum ( tmp156 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 1 del tmp156 tmp142 = np . copy ( ints . tmp153 ) tmp142 += ints . tmp167 * 2 tmp142 += ints . tmp168 tmp142 += ints . tmp180 tmp142 += ints . tmp181 tmp142 += ints . tmp205 * 2 tmp142 += ints . tmp214 tmp142 += ints . tmp221 tmp142 += ints . tmp228 * 2 tmp142 += ints . tmp229 tmp142 += ints . tmp235 * 2 tmp142 += ints . tmp236 tmp142 += ints . tmp251 tmp142 += ints . tmp252 tmp142 += ints . tmp260 tmp142 += ints . tmp281 * 2 tmp142 += ints . tmp283 tmp142 += f . aa . ov * - 1 tmp142 += ints . tmp12 * - 1 tmp142 += ints . tmp16 * - 1 tmp142 += ints . tmp179 * - 1 tmp142 += ints . tmp199 * - 1 tmp142 += ints . tmp206 * - 1 tmp142 += ints . tmp213 * - 1 tmp142 += ints . tmp215 * - 1 tmp142 += ints . tmp250 * - 1 tmp142 += ints . tmp256 * - 2 tmp142 += ints . tmp257 * - 1 tmp142 += ints . tmp282 * - 2 tmp142 += ints . tmp284 * - 1 tmp142 += ints . tmp285 * - 2 tmp142 += ints . tmp286 * - 1 r2new . abab += einsum ( r1 . bb , ( 0 , 1 ), tmp142 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 r2new . aaaa = einsum ( r1 . aa , ( 0 , 1 ), tmp142 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) r2new . aaaa += einsum ( tmp142 , ( 0 , 1 ), r1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) r2new . aaaa += einsum ( tmp142 , ( 0 , 1 ), r1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 r2new . aaaa += einsum ( r1 . aa , ( 0 , 1 ), tmp142 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 del tmp142 tmp152 = np . copy ( ints . tmp327 ) tmp152 += ints . tmp329 * 2 tmp152 += ints . tmp351 tmp152 += ints . tmp437 tmp152 += ints . tmp497 tmp152 += v . aabb . ovvv tmp152 += np . transpose ( ints . tmp328 , ( 0 , 1 , 3 , 2 )) * - 1 tmp152 += ints . tmp525 * - 1 r2new . abab += einsum ( tmp152 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) del tmp152 tmp146 = np . copy ( ints . tmp465 ) * 0.5 tmp146 += ints . tmp471 tmp146 += ints . tmp97 * 0.5 tmp146 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) * 0.5 tmp146 += ints . tmp463 * - 0.5 r2new . abab += einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp146 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * 4 del tmp146 tmp14 = np . copy ( np . transpose ( ints . tmp23 , ( 1 , 0 ))) * 2 tmp14 += np . transpose ( ints . tmp25 , ( 1 , 0 )) tmp14 += ints . tmp43 tmp14 += f . aa . vv * - 1 tmp14 += np . transpose ( ints . tmp42 , ( 1 , 0 )) * - 1 tmp14 += np . transpose ( ints . tmp44 , ( 1 , 0 )) * - 1 r2new . abab += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 r1new . aa += einsum ( tmp14 , ( 0 , 1 ), r1 . aa , ( 2 , 0 ), ( 2 , 1 )) * - 1 del tmp14 tmp34 = np . copy ( np . transpose ( tmp28 , ( 1 , 0 ))) del tmp28 tmp34 += np . transpose ( tmp29 , ( 1 , 0 )) * 2 del tmp29 tmp34 += np . transpose ( tmp31 , ( 1 , 0 )) * - 1 del tmp31 tmp34 += np . transpose ( tmp32 , ( 1 , 0 )) del tmp32 tmp34 += np . transpose ( tmp33 , ( 1 , 0 )) del tmp33 r2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp34 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 r1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp34 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp34 tmp167 = np . copy ( np . transpose ( tmp163 , ( 1 , 0 ))) * - 0.5 del tmp163 tmp167 += np . transpose ( tmp164 , ( 1 , 0 )) * 0.5 del tmp164 tmp167 += np . transpose ( tmp165 , ( 1 , 0 )) del tmp165 tmp167 += einsum ( tmp166 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 0 , 2 ), ( 1 , 3 )) * - 0.5 del tmp166 r2new . abab += einsum ( tmp167 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp167 tmp144 = np . copy ( ints . tmp271 ) * 2 tmp144 += ints . tmp277 tmp144 += np . transpose ( ints . tmp46 , ( 0 , 1 , 3 , 2 )) tmp144 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp144 += ints . tmp269 * - 2 tmp144 += ints . tmp45 * - 1 tmp144 += v . aaaa . oovv * - 1 r2new . abab += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp144 , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) del tmp144 tmp150 = np . copy ( ints . tmp412 ) tmp150 += ints . tmp433 tmp150 += ints . tmp500 tmp150 += ints . tmp509 tmp150 += v . aabb . oooo r2new . abab += einsum ( tmp150 , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp150 tmp21 = np . copy ( np . transpose ( tmp15 , ( 1 , 0 ))) * 2 del tmp15 tmp21 += np . transpose ( tmp16 , ( 1 , 0 )) del tmp16 tmp21 += np . transpose ( tmp18 , ( 1 , 0 )) * - 1 del tmp18 tmp21 += np . transpose ( tmp19 , ( 1 , 0 )) del tmp19 tmp21 += np . transpose ( tmp20 , ( 1 , 0 )) del tmp20 r2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp21 , ( 0 , 4 ), ( 4 , 1 , 2 , 3 )) * - 1 r1new . aa += einsum ( t1 . aa , ( 0 , 1 ), tmp21 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp21 tmp147 = np . copy ( ints . tmp275 ) * 0.5 tmp147 += ints . tmp279 tmp147 += ints . tmp47 * 0.5 tmp147 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) * 0.5 tmp147 += ints . tmp273 * - 0.5 r2new . abab += einsum ( tmp147 , ( 0 , 1 , 2 , 3 ), r2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 4 del tmp147 tmp160 = np . copy ( ints . tmp308 ) tmp160 += np . transpose ( ints . tmp320 , ( 1 , 0 , 2 , 3 )) tmp160 += np . transpose ( ints . tmp321 , ( 1 , 0 , 2 , 3 )) tmp160 += np . transpose ( ints . tmp394 , ( 1 , 0 , 2 , 3 )) tmp160 += np . transpose ( ints . tmp396 , ( 1 , 0 , 2 , 3 )) * 2 tmp160 += np . transpose ( ints . tmp460 , ( 1 , 0 , 2 , 3 )) tmp160 += np . transpose ( ints . tmp461 , ( 1 , 0 , 2 , 3 )) * 2 tmp160 += np . transpose ( ints . tmp50 , ( 1 , 0 , 2 , 3 )) tmp160 += np . transpose ( ints . tmp518 , ( 1 , 0 , 2 , 3 )) tmp160 += np . transpose ( ints . tmp521 , ( 1 , 0 , 2 , 3 )) tmp160 += np . transpose ( ints . tmp526 , ( 1 , 0 , 2 , 3 )) tmp160 += v . aabb . ooov tmp160 += np . transpose ( ints . tmp319 , ( 1 , 0 , 2 , 3 )) * - 1 tmp160 += np . transpose ( ints . tmp349 , ( 1 , 0 , 2 , 3 )) * - 1 tmp160 += np . transpose ( ints . tmp395 , ( 1 , 0 , 2 , 3 )) * - 1 tmp160 += ints . tmp422 * - 1 tmp160 += np . transpose ( ints . tmp439 , ( 1 , 0 , 2 , 3 )) * - 1 tmp160 += np . transpose ( ints . tmp459 , ( 1 , 0 , 2 , 3 )) * - 1 tmp160 += np . transpose ( ints . tmp490 , ( 1 , 0 , 2 , 3 )) * - 1 tmp160 += np . transpose ( ints . tmp502 , ( 1 , 0 , 2 , 3 )) * - 1 tmp160 += np . transpose ( ints . tmp503 , ( 1 , 0 , 2 , 3 )) * - 1 tmp160 += np . transpose ( ints . tmp511 , ( 1 , 0 , 2 , 3 )) * - 1 r2new . abab += einsum ( r1 . aa , ( 0 , 1 ), tmp160 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp160 tmp162 = np . copy ( np . transpose ( tmp38 , ( 1 , 0 ))) * - 1 del tmp38 tmp162 += np . transpose ( tmp43 , ( 1 , 0 )) * 2 del tmp43 tmp162 += np . transpose ( tmp44 , ( 1 , 0 )) del tmp44 tmp162 += einsum ( tmp161 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 0 , 2 ), ( 1 , 3 )) * - 1 del tmp161 r2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp162 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 del tmp162 tmp159 = np . copy ( ints . tmp100 ) tmp159 += np . transpose ( ints . tmp366 , ( 0 , 2 , 1 , 3 )) tmp159 += ints . tmp378 tmp159 += ints . tmp379 tmp159 += ints . tmp403 tmp159 += ints . tmp405 * 2 tmp159 += ints . tmp432 tmp159 += ints . tmp445 tmp159 += ints . tmp446 * 2 tmp159 += ints . tmp499 tmp159 += ints . tmp507 tmp159 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp159 += ints . tmp377 * - 1 tmp159 += ints . tmp404 * - 1 tmp159 += ints . tmp444 * - 1 tmp159 += np . transpose ( ints . tmp484 , ( 0 , 2 , 1 , 3 )) * - 1 tmp159 += ints . tmp494 * - 1 tmp159 += ints . tmp513 * - 1 tmp159 += ints . tmp516 * - 1 tmp159 += ints . tmp519 * - 1 tmp159 += ints . tmp523 * - 1 tmp159 += ints . tmp527 * - 1 r2new . abab += einsum ( r1 . bb , ( 0 , 1 ), tmp159 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp159 tmp151 = np . copy ( ints . tmp313 ) tmp151 += ints . tmp315 * 2 tmp151 += ints . tmp339 tmp151 += ints . tmp418 tmp151 += ints . tmp506 tmp151 += np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 )) tmp151 += np . transpose ( ints . tmp314 , ( 0 , 2 , 1 , 3 )) * - 1 tmp151 += ints . tmp369 * - 1 r2new . abab += einsum ( tmp151 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) del tmp151 tmp22 = np . copy ( f . aa . oo ) tmp22 += ints . tmp39 tmp22 += np . transpose ( ints . tmp52 , ( 1 , 0 )) * 2 tmp22 += np . transpose ( ints . tmp54 , ( 1 , 0 )) tmp22 += np . transpose ( ints . tmp57 , ( 1 , 0 )) tmp22 += np . transpose ( ints . tmp58 , ( 1 , 0 )) tmp22 += np . transpose ( ints . tmp5 , ( 1 , 0 )) tmp22 += np . transpose ( ints . tmp6 , ( 1 , 0 )) tmp22 += np . transpose ( ints . tmp4 , ( 1 , 0 )) * - 1 tmp22 += np . transpose ( ints . tmp56 , ( 1 , 0 )) * - 1 r2new . abab += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), tmp22 , ( 0 , 4 ), ( 4 , 1 , 2 , 3 )) * - 1 r1new . aa += einsum ( r1 . aa , ( 0 , 1 ), tmp22 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp22 tmp140 = einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) * - 1 tmp141 = np . copy ( t2 . aaaa ) tmp141 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) r2new . aaaa += einsum ( tmp141 , ( 0 , 1 , 2 , 3 ), tmp140 , ( 4 , 5 , 0 , 1 ), ( 5 , 4 , 3 , 2 )) * 2 del tmp141 , tmp140 tmp138 = einsum ( tmp137 , ( 0 , 1 ), r2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp137 r2new . aaaa += np . transpose ( tmp138 , ( 1 , 0 , 2 , 3 )) * 2 r2new . aaaa += np . transpose ( tmp138 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp138 tmp136 = np . copy ( np . transpose ( tmp133 , ( 1 , 0 , 3 , 2 ))) * - 1 del tmp133 tmp136 += np . transpose ( tmp135 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp135 r2new . aaaa += np . transpose ( tmp136 , ( 1 , 0 , 3 , 2 )) * - 1 r2new . aaaa += np . transpose ( tmp136 , ( 1 , 0 , 2 , 3 )) del tmp136 tmp112 = np . copy ( tmp93 ) * 2 del tmp93 tmp112 += tmp95 del tmp95 tmp112 += tmp96 del tmp96 tmp112 += np . transpose ( tmp98 , ( 1 , 0 , 3 , 2 )) * 2 del tmp98 tmp112 += np . transpose ( tmp100 , ( 1 , 0 , 3 , 2 )) del tmp100 tmp112 += np . transpose ( tmp102 , ( 0 , 1 , 3 , 2 )) del tmp102 tmp112 += np . transpose ( tmp104 , ( 1 , 0 , 2 , 3 )) del tmp104 tmp112 += np . transpose ( tmp111 , ( 0 , 1 , 3 , 2 )) del tmp111 r2new . aaaa += np . transpose ( tmp112 , ( 1 , 0 , 3 , 2 )) r2new . aaaa += np . transpose ( tmp112 , ( 1 , 0 , 2 , 3 )) * - 1 r2new . aaaa += np . transpose ( tmp112 , ( 0 , 1 , 3 , 2 )) * - 1 r2new . aaaa += tmp112 del tmp112 tmp131 = np . copy ( tmp124 ) * - 1 del tmp124 tmp131 += tmp127 del tmp127 tmp131 += np . transpose ( tmp130 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp130 r2new . aaaa += np . transpose ( tmp131 , ( 0 , 1 , 3 , 2 )) * 2 r2new . aaaa += tmp131 * - 2 del tmp131 tmp68 = np . copy ( np . transpose ( tmp57 , ( 0 , 1 , 3 , 2 ))) * - 2 del tmp57 tmp68 += np . transpose ( tmp59 , ( 1 , 0 , 3 , 2 )) del tmp59 tmp68 += np . transpose ( tmp65 , ( 1 , 0 , 3 , 2 )) del tmp65 tmp68 += np . transpose ( tmp67 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp67 r2new . aaaa += np . transpose ( tmp68 , ( 1 , 0 , 2 , 3 )) * - 1 r2new . aaaa += tmp68 del tmp68 tmp139 = np . copy ( ints . tmp297 ) tmp139 += ints . tmp304 tmp139 += np . transpose ( v . aaaa . oooo , ( 0 , 2 , 1 , 3 )) tmp139 += ints . tmp224 * - 1 tmp139 += np . transpose ( ints . tmp224 , ( 1 , 0 , 2 , 3 )) r2new . aaaa += einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp139 , ( 4 , 5 , 1 , 0 ), ( 4 , 5 , 2 , 3 )) * - 2 del tmp139 tmp123 = np . copy ( np . transpose ( tmp114 , ( 1 , 0 , 3 , 2 ))) del tmp114 tmp123 += np . transpose ( tmp118 , ( 1 , 0 , 3 , 2 )) del tmp118 tmp123 += np . transpose ( tmp122 , ( 0 , 1 , 3 , 2 )) del tmp122 r2new . aaaa += np . transpose ( tmp123 , ( 1 , 0 , 2 , 3 )) * 2 r2new . aaaa += tmp123 * - 2 del tmp123 tmp92 = np . copy ( tmp69 ) del tmp69 tmp92 += tmp70 del tmp70 tmp92 += tmp71 * 2 del tmp71 tmp92 += tmp73 del tmp73 tmp92 += tmp74 del tmp74 tmp92 += np . transpose ( tmp76 , ( 1 , 0 , 3 , 2 )) del tmp76 tmp92 += np . transpose ( tmp87 , ( 0 , 1 , 3 , 2 )) del tmp87 tmp92 += np . transpose ( tmp89 , ( 0 , 1 , 3 , 2 )) del tmp89 tmp92 += np . transpose ( tmp91 , ( 1 , 0 , 2 , 3 )) del tmp91 r2new . aaaa += np . transpose ( tmp92 , ( 1 , 0 , 3 , 2 )) * - 1 r2new . aaaa += np . transpose ( tmp92 , ( 1 , 0 , 2 , 3 )) r2new . aaaa += np . transpose ( tmp92 , ( 0 , 1 , 3 , 2 )) r2new . aaaa += tmp92 * - 1 del tmp92 tmp55 = np . copy ( tmp37 ) * - 2 del tmp37 tmp55 += np . transpose ( tmp42 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp42 tmp55 += np . transpose ( tmp46 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp46 tmp55 += np . transpose ( tmp48 , ( 0 , 1 , 3 , 2 )) del tmp48 tmp55 += np . transpose ( tmp54 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp54 r2new . aaaa += np . transpose ( tmp55 , ( 0 , 1 , 3 , 2 )) r2new . aaaa += tmp55 * - 1 del tmp55 tmp25 = np . copy ( ints . tmp95 ) tmp25 += v . bbbb . oovv tmp25 += np . transpose ( ints . tmp96 , ( 0 , 1 , 3 , 2 )) * - 1 tmp25 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 r1new . bb += einsum ( r1 . bb , ( 0 , 1 ), tmp25 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * - 1 del tmp25 tmp23 = np . copy ( ints . tmp98 ) tmp23 += v . bbbb . ooov * - 1 r1new . bb += einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp23 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * 2 del tmp23 tmp35 = np . copy ( f . bb . oo ) * 0.5 tmp35 += np . transpose ( ints . tmp102 , ( 1 , 0 )) tmp35 += np . transpose ( ints . tmp104 , ( 1 , 0 )) * 0.5 tmp35 += np . transpose ( ints . tmp107 , ( 1 , 0 )) * 0.5 tmp35 += np . transpose ( ints . tmp108 , ( 1 , 0 )) * 0.5 tmp35 += np . transpose ( ints . tmp67 , ( 1 , 0 )) * 0.5 tmp35 += np . transpose ( ints . tmp68 , ( 1 , 0 )) * 0.5 tmp35 += ints . tmp89 * 0.5 tmp35 += np . transpose ( ints . tmp106 , ( 1 , 0 )) * - 0.5 tmp35 += np . transpose ( ints . tmp66 , ( 1 , 0 )) * - 0.5 r1new . bb += einsum ( r1 . bb , ( 0 , 1 ), tmp35 , ( 0 , 2 ), ( 2 , 1 )) * - 2 del tmp35 tmp26 = np . copy ( ints . tmp97 ) tmp26 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) r1new . bb += einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 0 , 2 ), ( 1 , 3 )) del tmp26 tmp12 = np . copy ( ints . tmp45 ) tmp12 += v . aaaa . oovv tmp12 += np . transpose ( ints . tmp46 , ( 0 , 1 , 3 , 2 )) * - 1 tmp12 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) * - 1 r1new . aa += einsum ( r1 . aa , ( 0 , 1 ), tmp12 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * - 1 del tmp12 tmp0 = np . copy ( ints . tmp48 ) tmp0 += v . aaaa . ooov * - 1 r1new . aa += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * 2 del tmp0 tmp13 = np . copy ( ints . tmp47 ) tmp13 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) r1new . aa += einsum ( r1 . bb , ( 0 , 1 ), tmp13 , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp13 r1new . aa += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) r1new . aa += einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 4 )) * 2 r1new . bb += einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 2 r1new . bb += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) r2new . aaaa += einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), r2 . aaaa , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) * 2 r2new . abab += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) r2new . bbbb += einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . vvvv , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) * - 2 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_lmatvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-13T22:23:01.202553.","title":"hbar_lmatvec_ip_intermediates"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_lmatvec_ip_intermediates--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_lmatvec_ip_intermediates--returns","text":"tmp1 : array tmp10 : array tmp100 : array tmp101 : array tmp103 : array tmp105 : array tmp107 : array tmp109 : array tmp11 : array tmp111 : array tmp113 : array tmp115 : array tmp117 : array tmp119 : array tmp120 : array tmp122 : array tmp124 : array tmp125 : array tmp127 : array tmp129 : array tmp13 : array tmp130 : array tmp132 : array tmp133 : array tmp135 : array tmp137 : array tmp138 : array tmp140 : array tmp141 : array tmp143 : array tmp144 : array tmp146 : array tmp148 : array tmp149 : array tmp15 : array tmp151 : array tmp152 : array tmp154 : array tmp155 : array tmp156 : array tmp157 : array tmp159 : array tmp161 : array tmp162 : array tmp163 : array tmp164 : array tmp165 : array tmp167 : array tmp168 : array tmp169 : array tmp17 : array tmp170 : array tmp172 : array tmp174 : array tmp175 : array tmp176 : array tmp177 : array tmp178 : array tmp179 : array tmp181 : array tmp182 : array tmp184 : array tmp185 : array tmp186 : array tmp187 : array tmp188 : array tmp189 : array tmp19 : array tmp190 : array tmp191 : array tmp193 : array tmp194 : array tmp196 : array tmp197 : array tmp199 : array tmp2 : array tmp201 : array tmp203 : array tmp204 : array tmp205 : array tmp206 : array tmp207 : array tmp209 : array tmp21 : array tmp210 : array tmp211 : array tmp212 : array tmp214 : array tmp215 : array tmp22 : array tmp223 : array tmp225 : array tmp230 : array tmp232 : array tmp238 : array tmp240 : array tmp247 : array tmp248 : array tmp25 : array tmp250 : array tmp251 : array tmp253 : array tmp254 : array tmp256 : array tmp26 : array tmp262 : array tmp264 : array tmp27 : array tmp275 : array tmp277 : array tmp279 : array tmp28 : array tmp281 : array tmp283 : array tmp285 : array tmp291 : array tmp292 : array tmp294 : array tmp295 : array tmp297 : array tmp299 : array tmp30 : array tmp301 : array tmp306 : array tmp307 : array tmp309 : array tmp314 : array tmp315 : array tmp317 : array tmp319 : array tmp32 : array tmp320 : array tmp324 : array tmp325 : array tmp327 : array tmp328 : array tmp333 : array tmp334 : array tmp336 : array tmp34 : array tmp346 : array tmp349 : array tmp351 : array tmp353 : array tmp355 : array tmp357 : array tmp359 : array tmp36 : array tmp361 : array tmp37 : array tmp38 : array tmp39 : array tmp391 : array tmp393 : array tmp4 : array tmp41 : array tmp422 : array tmp425 : array tmp426 : array tmp428 : array tmp43 : array tmp430 : array tmp432 : array tmp434 : array tmp436 : array tmp438 : array tmp449 : array tmp45 : array tmp451 : array tmp453 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp53 : array tmp55 : array tmp57 : array tmp59 : array tmp61 : array tmp62 : array tmp64 : array tmp65 : array tmp66 : array tmp68 : array tmp7 : array tmp70 : array tmp72 : array tmp74 : array tmp76 : array tmp78 : array tmp8 : array tmp80 : array tmp82 : array tmp83 : array tmp85 : array tmp86 : array tmp88 : array tmp89 : array tmp90 : array tmp92 : array tmp94 : array tmp96 : array tmp98 : array Source code in ebcc/codegen/UCCSD.py 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451 6452 6453 6454 6455 6456 6457 6458 6459 6460 6461 6462 6463 6464 6465 6466 6467 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477 6478 6479 6480 6481 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654 6655 6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 def hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:23:01.202553. 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 ------- tmp1 : array tmp10 : array tmp100 : array tmp101 : array tmp103 : array tmp105 : array tmp107 : array tmp109 : array tmp11 : array tmp111 : array tmp113 : array tmp115 : array tmp117 : array tmp119 : array tmp120 : array tmp122 : array tmp124 : array tmp125 : array tmp127 : array tmp129 : array tmp13 : array tmp130 : array tmp132 : array tmp133 : array tmp135 : array tmp137 : array tmp138 : array tmp140 : array tmp141 : array tmp143 : array tmp144 : array tmp146 : array tmp148 : array tmp149 : array tmp15 : array tmp151 : array tmp152 : array tmp154 : array tmp155 : array tmp156 : array tmp157 : array tmp159 : array tmp161 : array tmp162 : array tmp163 : array tmp164 : array tmp165 : array tmp167 : array tmp168 : array tmp169 : array tmp17 : array tmp170 : array tmp172 : array tmp174 : array tmp175 : array tmp176 : array tmp177 : array tmp178 : array tmp179 : array tmp181 : array tmp182 : array tmp184 : array tmp185 : array tmp186 : array tmp187 : array tmp188 : array tmp189 : array tmp19 : array tmp190 : array tmp191 : array tmp193 : array tmp194 : array tmp196 : array tmp197 : array tmp199 : array tmp2 : array tmp201 : array tmp203 : array tmp204 : array tmp205 : array tmp206 : array tmp207 : array tmp209 : array tmp21 : array tmp210 : array tmp211 : array tmp212 : array tmp214 : array tmp215 : array tmp22 : array tmp223 : array tmp225 : array tmp230 : array tmp232 : array tmp238 : array tmp240 : array tmp247 : array tmp248 : array tmp25 : array tmp250 : array tmp251 : array tmp253 : array tmp254 : array tmp256 : array tmp26 : array tmp262 : array tmp264 : array tmp27 : array tmp275 : array tmp277 : array tmp279 : array tmp28 : array tmp281 : array tmp283 : array tmp285 : array tmp291 : array tmp292 : array tmp294 : array tmp295 : array tmp297 : array tmp299 : array tmp30 : array tmp301 : array tmp306 : array tmp307 : array tmp309 : array tmp314 : array tmp315 : array tmp317 : array tmp319 : array tmp32 : array tmp320 : array tmp324 : array tmp325 : array tmp327 : array tmp328 : array tmp333 : array tmp334 : array tmp336 : array tmp34 : array tmp346 : array tmp349 : array tmp351 : array tmp353 : array tmp355 : array tmp357 : array tmp359 : array tmp36 : array tmp361 : array tmp37 : array tmp38 : array tmp39 : array tmp391 : array tmp393 : array tmp4 : array tmp41 : array tmp422 : array tmp425 : array tmp426 : array tmp428 : array tmp43 : array tmp430 : array tmp432 : array tmp434 : array tmp436 : array tmp438 : array tmp449 : array tmp45 : array tmp451 : array tmp453 : array tmp46 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp53 : array tmp55 : array tmp57 : array tmp59 : array tmp61 : array tmp62 : array tmp64 : array tmp65 : array tmp66 : array tmp68 : array tmp7 : array tmp70 : array tmp72 : array tmp74 : array tmp76 : array tmp78 : array tmp8 : array tmp80 : array tmp82 : array tmp83 : array tmp85 : array tmp86 : array tmp88 : array tmp89 : array tmp90 : array tmp92 : array tmp94 : array tmp96 : array tmp98 : array \"\"\" tmp45 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp119 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp41 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp38 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp39 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp36 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp89 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp32 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp82 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp214 = einsum ( t1 . bb , ( 0 , 1 ), tmp45 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp333 = einsum ( t1 . bb , ( 0 , 1 ), tmp119 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp327 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 2 , 0 , 1 )) tmp324 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp174 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp176 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp314 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp151 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp306 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp124 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp211 = einsum ( t1 . aa , ( 0 , 1 ), tmp41 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp209 = einsum ( t1 . bb , ( 0 , 1 ), tmp38 , ( 2 , 1 ), ( 0 , 2 )) tmp156 = einsum ( t1 . aa , ( 0 , 1 ), tmp39 , ( 2 , 1 ), ( 0 , 2 )) tmp205 = einsum ( tmp36 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp203 = einsum ( tmp89 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp155 = einsum ( t1 . aa , ( 0 , 1 ), tmp32 , ( 2 , 1 ), ( 0 , 2 )) tmp154 = einsum ( tmp82 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp196 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp193 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp190 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp188 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp186 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 )) tmp184 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 1 ), ( 2 , 3 )) tmp181 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp178 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp169 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp167 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp27 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ooov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp163 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp161 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 3 ), ( 0 , 2 )) tmp26 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp25 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp148 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) * - 1 tmp49 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp143 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp140 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp47 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp21 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp453 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp451 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp449 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp438 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp436 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp434 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp432 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp430 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp428 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp426 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 0 , 3 )) tmp425 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp422 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp393 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp391 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp361 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp359 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp357 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) tmp355 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp353 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp351 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp349 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp346 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp336 = einsum ( tmp214 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp334 = einsum ( t1 . bb , ( 0 , 1 ), tmp333 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp328 = einsum ( t1 . aa , ( 0 , 1 ), tmp327 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp325 = einsum ( tmp324 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp320 = einsum ( tmp174 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp319 = einsum ( tmp176 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp317 = einsum ( t1 . bb , ( 0 , 1 ), tmp314 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp315 = einsum ( t1 . bb , ( 0 , 1 ), tmp314 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp309 = einsum ( tmp151 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp307 = einsum ( t1 . bb , ( 0 , 1 ), tmp306 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp301 = einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp299 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp124 , ( 0 , 4 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp297 = einsum ( tmp124 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) tmp295 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp119 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp294 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp119 , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp292 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp119 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp291 = einsum ( tmp119 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp285 = einsum ( tmp38 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp283 = einsum ( tmp38 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp281 = einsum ( tmp36 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp279 = einsum ( tmp36 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp277 = einsum ( tmp89 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp275 = einsum ( tmp89 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp264 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) tmp262 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp256 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp254 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 3 , 5 )) tmp253 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp251 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp250 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp248 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp247 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp240 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . vvoo , ( 2 , 1 , 3 , 4 ), ( 0 , 3 , 4 , 2 )) tmp238 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp232 = einsum ( v . aabb . oooo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp230 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp225 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp223 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp215 = einsum ( t1 . bb , ( 0 , 1 ), tmp214 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp212 = einsum ( t1 . aa , ( 0 , 1 ), tmp211 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp210 = einsum ( t1 . bb , ( 0 , 1 ), tmp209 , ( 2 , 0 ), ( 2 , 1 )) tmp207 = einsum ( tmp156 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp206 = einsum ( t1 . bb , ( 0 , 1 ), tmp205 , ( 2 , 0 ), ( 2 , 1 )) tmp204 = einsum ( tmp203 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp201 = einsum ( tmp155 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp199 = einsum ( tmp154 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp197 = einsum ( tmp196 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp194 = einsum ( tmp193 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp191 = einsum ( tmp190 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp189 = einsum ( t1 . bb , ( 0 , 1 ), tmp188 , ( 2 , 1 ), ( 0 , 2 )) tmp187 = einsum ( tmp186 , ( 0 , 1 ), t1 . bb , ( 2 , 0 ), ( 2 , 1 )) tmp185 = einsum ( tmp184 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp182 = einsum ( tmp181 , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 2 , 1 )) tmp179 = einsum ( tmp178 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp177 = einsum ( t1 . bb , ( 0 , 1 ), tmp176 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp175 = einsum ( t1 . bb , ( 0 , 1 ), tmp174 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp172 = einsum ( t1 . aa , ( 0 , 1 ), tmp169 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp170 = einsum ( t1 . aa , ( 0 , 1 ), tmp169 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp168 = einsum ( tmp167 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp165 = einsum ( tmp27 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp164 = einsum ( t1 . bb , ( 0 , 1 ), tmp163 , ( 2 , 0 ), ( 2 , 1 )) tmp162 = einsum ( tmp161 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp159 = einsum ( tmp26 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp157 = einsum ( tmp25 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp152 = einsum ( t1 . bb , ( 0 , 1 ), tmp151 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp149 = einsum ( tmp148 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp146 = einsum ( tmp49 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp144 = einsum ( t1 . bb , ( 0 , 1 ), tmp143 , ( 2 , 0 ), ( 2 , 1 )) tmp141 = einsum ( tmp140 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp138 = einsum ( tmp47 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp137 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp124 , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 5 , 3 )) tmp135 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp45 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp133 = einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp132 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) tmp130 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp129 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp127 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp125 = einsum ( tmp124 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) tmp122 = einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp120 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp119 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp117 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 tmp115 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 2 ), ( 0 , 4 , 1 , 3 )) tmp113 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp111 = einsum ( tmp32 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp109 = einsum ( tmp32 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp107 = einsum ( tmp82 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp105 = einsum ( tmp82 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp103 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp38 , ( 1 , 3 ), ( 0 , 2 )) tmp101 = einsum ( tmp38 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp100 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp39 , ( 0 , 2 ), ( 1 , 3 )) tmp98 = einsum ( tmp39 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp96 = einsum ( tmp36 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp94 = einsum ( tmp36 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp92 = einsum ( tmp89 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp90 = einsum ( tmp89 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp88 = einsum ( tmp32 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp86 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp32 , ( 1 , 3 ), ( 0 , 2 )) tmp85 = einsum ( tmp82 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp83 = einsum ( tmp82 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp80 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp78 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp76 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp74 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp72 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp70 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 4 )) * - 1 tmp68 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp66 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp65 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 4 , 2 , 5 , 1 ), ( 0 , 4 , 5 , 3 )) tmp64 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) tmp62 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp61 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp59 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp57 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp55 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) tmp53 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp51 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 1 tmp46 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oovv , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp43 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . oovv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp37 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp34 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp30 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp28 = einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp22 = einsum ( t1 . bb , ( 0 , 1 ), tmp21 , ( 0 , 2 ), ( 2 , 1 )) tmp19 = einsum ( tmp1 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp17 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp15 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp13 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp11 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp10 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp8 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp7 = einsum ( f . bb . vv , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp5 = einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp4 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . oo , ( 2 , 0 ), ( 2 , 1 )) tmp2 = einsum ( f . aa . oo , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp101\" : tmp101 , f \"tmp103\" : tmp103 , f \"tmp105\" : tmp105 , f \"tmp107\" : tmp107 , f \"tmp109\" : tmp109 , f \"tmp11\" : tmp11 , f \"tmp111\" : tmp111 , f \"tmp113\" : tmp113 , f \"tmp115\" : tmp115 , f \"tmp117\" : tmp117 , f \"tmp119\" : tmp119 , f \"tmp120\" : tmp120 , f \"tmp122\" : tmp122 , f \"tmp124\" : tmp124 , f \"tmp125\" : tmp125 , f \"tmp127\" : tmp127 , f \"tmp129\" : tmp129 , f \"tmp13\" : tmp13 , f \"tmp130\" : tmp130 , f \"tmp132\" : tmp132 , f \"tmp133\" : tmp133 , f \"tmp135\" : tmp135 , f \"tmp137\" : tmp137 , f \"tmp138\" : tmp138 , f \"tmp140\" : tmp140 , f \"tmp141\" : tmp141 , f \"tmp143\" : tmp143 , f \"tmp144\" : tmp144 , f \"tmp146\" : tmp146 , f \"tmp148\" : tmp148 , f \"tmp149\" : tmp149 , f \"tmp15\" : tmp15 , f \"tmp151\" : tmp151 , f \"tmp152\" : tmp152 , f \"tmp154\" : tmp154 , f \"tmp155\" : tmp155 , f \"tmp156\" : tmp156 , f \"tmp157\" : tmp157 , f \"tmp159\" : tmp159 , f \"tmp161\" : tmp161 , f \"tmp162\" : tmp162 , f \"tmp163\" : tmp163 , f \"tmp164\" : tmp164 , f \"tmp165\" : tmp165 , f \"tmp167\" : tmp167 , f \"tmp168\" : tmp168 , f \"tmp169\" : tmp169 , f \"tmp17\" : tmp17 , f \"tmp170\" : tmp170 , f \"tmp172\" : tmp172 , f \"tmp174\" : tmp174 , f \"tmp175\" : tmp175 , f \"tmp176\" : tmp176 , f \"tmp177\" : tmp177 , f \"tmp178\" : tmp178 , f \"tmp179\" : tmp179 , f \"tmp181\" : tmp181 , f \"tmp182\" : tmp182 , f \"tmp184\" : tmp184 , f \"tmp185\" : tmp185 , f \"tmp186\" : tmp186 , f \"tmp187\" : tmp187 , f \"tmp188\" : tmp188 , f \"tmp189\" : tmp189 , f \"tmp19\" : tmp19 , f \"tmp190\" : tmp190 , f \"tmp191\" : tmp191 , f \"tmp193\" : tmp193 , f \"tmp194\" : tmp194 , f \"tmp196\" : tmp196 , f \"tmp197\" : tmp197 , f \"tmp199\" : tmp199 , f \"tmp2\" : tmp2 , f \"tmp201\" : tmp201 , f \"tmp203\" : tmp203 , f \"tmp204\" : tmp204 , f \"tmp205\" : tmp205 , f \"tmp206\" : tmp206 , f \"tmp207\" : tmp207 , f \"tmp209\" : tmp209 , f \"tmp21\" : tmp21 , f \"tmp210\" : tmp210 , f \"tmp211\" : tmp211 , f \"tmp212\" : tmp212 , f \"tmp214\" : tmp214 , f \"tmp215\" : tmp215 , f \"tmp22\" : tmp22 , f \"tmp223\" : tmp223 , f \"tmp225\" : tmp225 , f \"tmp230\" : tmp230 , f \"tmp232\" : tmp232 , f \"tmp238\" : tmp238 , f \"tmp240\" : tmp240 , f \"tmp247\" : tmp247 , f \"tmp248\" : tmp248 , f \"tmp25\" : tmp25 , f \"tmp250\" : tmp250 , f \"tmp251\" : tmp251 , f \"tmp253\" : tmp253 , f \"tmp254\" : tmp254 , f \"tmp256\" : tmp256 , f \"tmp26\" : tmp26 , f \"tmp262\" : tmp262 , f \"tmp264\" : tmp264 , f \"tmp27\" : tmp27 , f \"tmp275\" : tmp275 , f \"tmp277\" : tmp277 , f \"tmp279\" : tmp279 , f \"tmp28\" : tmp28 , f \"tmp281\" : tmp281 , f \"tmp283\" : tmp283 , f \"tmp285\" : tmp285 , f \"tmp291\" : tmp291 , f \"tmp292\" : tmp292 , f \"tmp294\" : tmp294 , f \"tmp295\" : tmp295 , f \"tmp297\" : tmp297 , f \"tmp299\" : tmp299 , f \"tmp30\" : tmp30 , f \"tmp301\" : tmp301 , f \"tmp306\" : tmp306 , f \"tmp307\" : tmp307 , f \"tmp309\" : tmp309 , f \"tmp314\" : tmp314 , f \"tmp315\" : tmp315 , f \"tmp317\" : tmp317 , f \"tmp319\" : tmp319 , f \"tmp32\" : tmp32 , f \"tmp320\" : tmp320 , f \"tmp324\" : tmp324 , f \"tmp325\" : tmp325 , f \"tmp327\" : tmp327 , f \"tmp328\" : tmp328 , f \"tmp333\" : tmp333 , f \"tmp334\" : tmp334 , f \"tmp336\" : tmp336 , f \"tmp34\" : tmp34 , f \"tmp346\" : tmp346 , f \"tmp349\" : tmp349 , f \"tmp351\" : tmp351 , f \"tmp353\" : tmp353 , f \"tmp355\" : tmp355 , f \"tmp357\" : tmp357 , f \"tmp359\" : tmp359 , f \"tmp36\" : tmp36 , f \"tmp361\" : tmp361 , f \"tmp37\" : tmp37 , f \"tmp38\" : tmp38 , f \"tmp39\" : tmp39 , f \"tmp391\" : tmp391 , f \"tmp393\" : tmp393 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp422\" : tmp422 , f \"tmp425\" : tmp425 , f \"tmp426\" : tmp426 , f \"tmp428\" : tmp428 , f \"tmp43\" : tmp43 , f \"tmp430\" : tmp430 , f \"tmp432\" : tmp432 , f \"tmp434\" : tmp434 , f \"tmp436\" : tmp436 , f \"tmp438\" : tmp438 , f \"tmp449\" : tmp449 , f \"tmp45\" : tmp45 , f \"tmp451\" : tmp451 , f \"tmp453\" : tmp453 , f \"tmp46\" : tmp46 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp51\" : tmp51 , f \"tmp53\" : tmp53 , f \"tmp55\" : tmp55 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp61\" : tmp61 , f \"tmp62\" : tmp62 , f \"tmp64\" : tmp64 , f \"tmp65\" : tmp65 , f \"tmp66\" : tmp66 , f \"tmp68\" : tmp68 , f \"tmp7\" : tmp7 , f \"tmp70\" : tmp70 , f \"tmp72\" : tmp72 , f \"tmp74\" : tmp74 , f \"tmp76\" : tmp76 , f \"tmp78\" : tmp78 , f \"tmp8\" : tmp8 , f \"tmp80\" : tmp80 , f \"tmp82\" : tmp82 , f \"tmp83\" : tmp83 , f \"tmp85\" : tmp85 , f \"tmp86\" : tmp86 , f \"tmp88\" : tmp88 , f \"tmp89\" : tmp89 , f \"tmp90\" : tmp90 , f \"tmp92\" : tmp92 , f \"tmp94\" : tmp94 , f \"tmp96\" : tmp96 , f \"tmp98\" : tmp98 }","title":"Returns"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_lmatvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-13T22:23:01.304389.","title":"hbar_lmatvec_ip"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_lmatvec_ip--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_lmatvec_ip--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UCCSD.py 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 6840 6841 6842 6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:23:01.304389. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp53 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 0 , 1 , 3 ), ( 2 ,)) tmp52 = einsum ( r2 . aba , ( 0 , 1 , 2 ), t2 . abab , ( 0 , 1 , 2 , 3 ), ( 3 ,)) tmp87 = np . copy ( ints . tmp426 ) tmp87 += ints . tmp432 tmp87 += ints . tmp436 * 2 tmp91 = np . copy ( f . bb . oo ) tmp91 += ints . tmp163 tmp91 += ints . tmp167 tmp91 += ints . tmp205 tmp91 += ints . tmp209 tmp91 += np . transpose ( ints . tmp21 , ( 1 , 0 )) tmp89 = np . copy ( ints . tmp425 ) tmp89 += np . transpose ( ints . tmp430 , ( 0 , 1 , 3 , 2 )) * 2 tmp62 = np . copy ( f . bb . ov ) tmp62 += ints . tmp36 tmp62 += ints . tmp38 tmp62 += ints . tmp89 * - 1 tmp74 = np . copy ( ints . tmp324 ) tmp74 += np . transpose ( ints . tmp434 , ( 0 , 1 , 3 , 2 )) * 2 tmp74 += np . transpose ( ints . tmp438 , ( 0 , 1 , 3 , 2 )) tmp47 = einsum ( r2 . aba , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp82 = np . copy ( ints . tmp140 ) * 2 tmp82 += ints . tmp143 tmp82 += ints . tmp161 * - 1 tmp82 += ints . tmp203 * - 1 tmp49 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), t1 . bb , ( 3 , 2 ), ( 0 , 1 , 3 )) tmp78 = np . copy ( v . bbbb . ooov ) tmp78 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp76 = np . copy ( ints . tmp119 ) * - 1 tmp76 += np . transpose ( ints . tmp119 , ( 0 , 2 , 1 , 3 )) tmp80 = np . copy ( tmp52 ) * - 0.5 tmp80 += tmp53 tmp40 = np . copy ( f . aa . ov ) tmp40 += ints . tmp32 tmp40 += ints . tmp39 tmp40 += ints . tmp82 * - 1 tmp11 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t1 . bb , ( 3 , 2 ), ( 1 , 0 , 3 )) * - 1 tmp25 = np . copy ( ints . tmp47 ) * 2 tmp25 += ints . tmp49 tmp25 += ints . tmp154 * - 1 tmp25 += ints . tmp25 * - 1 tmp20 = einsum ( t1 . aa , ( 0 , 1 ), r2 . aaa , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) tmp23 = np . copy ( v . aaaa . ooov ) * - 1 tmp23 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) tmp21 = np . copy ( ints . tmp41 ) * - 1 tmp21 += np . transpose ( ints . tmp41 , ( 0 , 2 , 1 , 3 )) tmp18 = np . copy ( ints . tmp349 ) tmp18 += ints . tmp357 tmp18 += ints . tmp361 * 2 tmp14 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 0 , 1 , 3 ), ( 2 ,)) tmp16 = np . copy ( ints . tmp193 ) tmp16 += np . transpose ( ints . tmp355 , ( 0 , 1 , 3 , 2 )) * 2 tmp16 += np . transpose ( ints . tmp359 , ( 0 , 1 , 3 , 2 )) tmp36 = np . copy ( f . aa . oo ) tmp36 += ints . tmp155 tmp36 += ints . tmp156 tmp36 += np . transpose ( ints . tmp1 , ( 1 , 0 )) tmp36 += ints . tmp26 tmp36 += ints . tmp27 tmp32 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 0 , 3 , 2 ), ( 3 ,)) * - 1 tmp34 = np . copy ( ints . tmp346 ) tmp34 += np . transpose ( ints . tmp351 , ( 0 , 1 , 3 , 2 )) * 2 tmp88 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp87 , ( 0 , 3 , 2 , 4 ), ( 1 , 3 , 4 )) del tmp87 tmp92 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp91 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp91 tmp85 = einsum ( ints . tmp119 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 0 ,), ( 1 , 2 , 3 )) tmp90 = einsum ( tmp89 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 0 , 3 ), ( 4 , 1 , 2 )) * - 1 del tmp89 tmp86 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . ovov , ( 3 , 4 , 1 , 2 ), ( 0 , 3 , 4 )) tmp63 = einsum ( t1 . bb , ( 0 , 1 ), tmp62 , ( 0 , 2 ), ( 1 , 2 )) tmp75 = einsum ( tmp74 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 0 , 3 ), ( 4 , 1 , 2 )) * - 2 del tmp74 tmp70 = einsum ( ints . tmp314 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 0 , 1 , 4 ), ( 2 , 3 , 4 )) tmp71 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . oovv , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp73 = einsum ( tmp47 , ( 0 , 1 , 2 ), v . aabb . ooov , ( 1 , 0 , 3 , 4 ), ( 2 , 3 , 4 )) tmp83 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp82 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 2 del tmp82 tmp79 = einsum ( tmp78 , ( 0 , 1 , 2 , 3 ), tmp49 , ( 0 , 4 , 2 ), ( 4 , 1 , 3 )) * 2 del tmp78 tmp77 = einsum ( tmp76 , ( 0 , 1 , 2 , 3 ), tmp49 , ( 0 , 4 , 1 ), ( 4 , 2 , 3 )) * 2 del tmp76 tmp68 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp428 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) tmp67 = einsum ( r1 . b , ( 0 ,), v . bbbb . ooov , ( 1 , 0 , 2 , 3 ), ( 1 , 2 , 3 )) tmp72 = einsum ( tmp47 , ( 0 , 1 , 2 ), ints . tmp45 , ( 0 , 1 , 3 , 4 ), ( 3 , 2 , 4 )) tmp81 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp80 , ( 1 ,), ( 0 , 2 , 3 )) * 2 del tmp80 tmp69 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovov , ( 0 , 2 , 3 , 4 ), ( 1 , 3 , 4 )) tmp41 = einsum ( t1 . aa , ( 0 , 1 ), tmp40 , ( 0 , 2 ), ( 1 , 2 )) tmp12 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), tmp11 , ( 4 , 3 , 2 ), ( 4 , 0 , 1 )) tmp10 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp26 = einsum ( tmp25 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 2 del tmp25 tmp24 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 0 , 4 , 1 ), ( 4 , 2 , 3 )) * 2 del tmp23 tmp22 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 0 , 4 , 1 ), ( 4 , 2 , 3 )) * 2 del tmp21 tmp19 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp18 , ( 3 , 0 , 4 , 2 ), ( 1 , 3 , 4 )) * - 1 del tmp18 tmp15 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp14 , ( 3 ,), ( 0 , 2 , 1 )) * - 1 tmp13 = einsum ( tmp11 , ( 0 , 1 , 2 ), ints . tmp124 , ( 3 , 1 , 2 , 4 ), ( 3 , 0 , 4 )) tmp17 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp16 , ( 1 , 3 , 4 , 2 ), ( 0 , 3 , 4 )) * - 2 del tmp16 tmp8 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 0 , 2 , 3 )) tmp9 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp169 , ( 1 , 0 , 3 , 4 ), ( 3 , 4 , 2 )) * - 1 tmp31 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . ovov , ( 3 , 4 , 0 , 2 ), ( 1 , 3 , 4 )) * - 1 tmp30 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp353 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 1 tmp29 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 3 ), ( 4 , 0 , 1 )) tmp37 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp36 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp36 tmp33 = einsum ( tmp32 , ( 0 ,), v . aaaa . ovov , ( 1 , 2 , 3 , 0 ), ( 1 , 3 , 2 )) tmp35 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp34 , ( 1 , 3 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp34 tmp28 = einsum ( r1 . a , ( 0 ,), ints . tmp41 , ( 0 , 1 , 2 , 3 ), ( 1 , 2 , 3 )) tmp93 = np . copy ( tmp85 ) del tmp85 tmp93 += tmp86 * 2 del tmp86 tmp93 += np . transpose ( tmp88 , ( 1 , 0 , 2 )) del tmp88 tmp93 += np . transpose ( tmp90 , ( 1 , 0 , 2 )) * - 2 del tmp90 tmp93 += np . transpose ( tmp92 , ( 1 , 0 , 2 )) * - 2 del tmp92 tmp64 = np . copy ( np . transpose ( ints . tmp186 , ( 1 , 0 ))) tmp64 += ints . tmp449 * 2 tmp64 += ints . tmp451 tmp64 += f . bb . vv * - 1 tmp64 += ints . tmp184 * - 1 tmp64 += ints . tmp188 * - 1 tmp64 += tmp63 del tmp63 tmp94 = np . copy ( ints . tmp306 ) tmp94 += ints . tmp333 tmp94 += np . transpose ( v . bbbb . oooo , ( 0 , 2 , 3 , 1 )) * - 1 tmp84 = np . copy ( tmp67 ) del tmp67 tmp84 += tmp68 del tmp68 tmp84 += tmp69 del tmp69 tmp84 += tmp70 * 2 del tmp70 tmp84 += tmp71 * 2 del tmp71 tmp84 += tmp72 del tmp72 tmp84 += tmp73 * - 1 del tmp73 tmp84 += np . transpose ( tmp75 , ( 1 , 0 , 2 )) * - 1 del tmp75 tmp84 += np . transpose ( tmp77 , ( 1 , 0 , 2 )) del tmp77 tmp84 += tmp79 del tmp79 tmp84 += np . transpose ( tmp81 , ( 1 , 0 , 2 )) * - 1 del tmp81 tmp84 += np . transpose ( tmp83 , ( 1 , 0 , 2 )) del tmp83 tmp56 = np . copy ( ints . tmp426 ) tmp56 += ints . tmp432 tmp56 += ints . tmp436 * 2 tmp56 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp56 += ints . tmp428 * - 1 tmp60 = np . copy ( ints . tmp45 ) tmp60 += v . aabb . ooov tmp66 = np . copy ( tmp14 ) del tmp14 tmp66 += tmp32 * 0.5 del tmp32 tmp61 = np . copy ( ints . tmp45 ) tmp61 += v . aabb . ooov tmp58 = np . copy ( ints . tmp151 ) tmp58 += ints . tmp174 tmp58 += np . transpose ( ints . tmp176 , ( 1 , 0 , 2 , 3 )) tmp58 += ints . tmp214 tmp58 += v . aabb . oooo tmp55 = np . copy ( ints . tmp324 ) tmp55 += np . transpose ( ints . tmp434 , ( 0 , 1 , 3 , 2 )) * 2 tmp55 += np . transpose ( ints . tmp438 , ( 0 , 1 , 3 , 2 )) tmp55 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 )) tmp55 += ints . tmp425 * - 1 tmp55 += np . transpose ( ints . tmp430 , ( 0 , 1 , 3 , 2 )) * - 2 tmp55 += v . bbbb . oovv * - 1 tmp65 = np . copy ( f . bb . oo ) tmp65 += ints . tmp140 * 2 tmp65 += ints . tmp143 tmp65 += ints . tmp163 tmp65 += ints . tmp167 tmp65 += ints . tmp205 tmp65 += ints . tmp209 tmp65 += np . transpose ( ints . tmp21 , ( 1 , 0 )) tmp65 += ints . tmp161 * - 1 tmp65 += ints . tmp203 * - 1 tmp57 = np . copy ( ints . tmp196 ) tmp57 += v . aabb . oovv tmp57 += ints . tmp453 * - 1 tmp59 = np . copy ( ints . tmp119 ) * - 1 tmp59 += np . transpose ( ints . tmp119 , ( 0 , 2 , 1 , 3 )) tmp59 += v . bbbb . ooov tmp59 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp4 = np . copy ( f . aa . oo ) tmp4 += ints . tmp155 tmp4 += ints . tmp156 tmp4 += np . transpose ( ints . tmp1 , ( 1 , 0 )) tmp4 += np . transpose ( ints . tmp26 , ( 1 , 0 )) tmp4 += np . transpose ( ints . tmp27 , ( 1 , 0 )) tmp4 += ints . tmp47 * 2 tmp4 += ints . tmp49 tmp4 += ints . tmp154 * - 1 tmp4 += ints . tmp25 * - 1 tmp45 = np . copy ( ints . tmp327 ) tmp45 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) tmp45 += ints . tmp422 * - 1 tmp50 = np . copy ( ints . tmp124 ) tmp50 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp51 = np . copy ( f . aa . oo ) tmp51 += ints . tmp155 tmp51 += ints . tmp156 tmp51 += np . transpose ( ints . tmp1 , ( 1 , 0 )) tmp51 += ints . tmp26 tmp51 += ints . tmp27 tmp51 += ints . tmp47 * 2 tmp51 += ints . tmp49 tmp51 += ints . tmp154 * - 1 tmp51 += ints . tmp25 * - 1 tmp7 = np . copy ( f . bb . oo ) tmp7 += ints . tmp140 * 2 tmp7 += ints . tmp143 tmp7 += np . transpose ( ints . tmp163 , ( 1 , 0 )) tmp7 += np . transpose ( ints . tmp167 , ( 1 , 0 )) tmp7 += ints . tmp205 tmp7 += ints . tmp209 tmp7 += np . transpose ( ints . tmp21 , ( 1 , 0 )) tmp7 += ints . tmp161 * - 1 tmp7 += ints . tmp203 * - 1 tmp48 = np . copy ( ints . tmp41 ) * - 1 tmp48 += np . transpose ( ints . tmp41 , ( 0 , 2 , 1 , 3 )) tmp48 += v . aaaa . ooov tmp48 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp44 = np . copy ( ints . tmp349 ) tmp44 += ints . tmp357 tmp44 += ints . tmp361 * 2 tmp44 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp44 += ints . tmp353 * - 1 tmp42 = np . copy ( np . transpose ( ints . tmp181 , ( 1 , 0 ))) tmp42 += ints . tmp391 * 2 tmp42 += ints . tmp393 tmp42 += f . aa . vv * - 1 tmp42 += ints . tmp178 * - 1 tmp42 += ints . tmp190 * - 1 tmp42 += tmp41 del tmp41 tmp46 = np . copy ( ints . tmp151 ) tmp46 += np . transpose ( ints . tmp174 , ( 0 , 1 , 3 , 2 )) tmp46 += ints . tmp176 tmp46 += ints . tmp214 tmp46 += v . aabb . oooo tmp43 = np . copy ( ints . tmp193 ) tmp43 += np . transpose ( ints . tmp355 , ( 0 , 1 , 3 , 2 )) * 2 tmp43 += np . transpose ( ints . tmp359 , ( 0 , 1 , 3 , 2 )) tmp43 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 )) tmp43 += ints . tmp346 * - 1 tmp43 += np . transpose ( ints . tmp351 , ( 0 , 1 , 3 , 2 )) * - 2 tmp43 += v . aaaa . oovv * - 1 tmp54 = np . copy ( tmp52 ) * - 1 del tmp52 tmp54 += tmp53 * 2 del tmp53 tmp27 = np . copy ( tmp8 ) del tmp8 tmp27 += tmp9 * 2 del tmp9 tmp27 += tmp10 * 2 del tmp10 tmp27 += tmp12 del tmp12 tmp27 += tmp13 * - 1 del tmp13 tmp27 += tmp15 * 2 del tmp15 tmp27 += np . transpose ( tmp17 , ( 1 , 0 , 2 )) * - 1 del tmp17 tmp27 += np . transpose ( tmp19 , ( 1 , 0 , 2 )) del tmp19 tmp27 += np . transpose ( tmp22 , ( 1 , 0 , 2 )) del tmp22 tmp27 += tmp24 del tmp24 tmp27 += np . transpose ( tmp26 , ( 1 , 0 , 2 )) del tmp26 tmp38 = np . copy ( tmp28 ) del tmp28 tmp38 += tmp29 * 2 del tmp29 tmp38 += tmp30 del tmp30 tmp38 += tmp31 del tmp31 tmp38 += tmp33 del tmp33 tmp38 += np . transpose ( tmp35 , ( 1 , 0 , 2 )) * - 2 del tmp35 tmp38 += np . transpose ( tmp37 , ( 1 , 0 , 2 )) * - 2 del tmp37 tmp39 = np . copy ( ints . tmp148 ) tmp39 += ints . tmp211 tmp39 += np . transpose ( v . aaaa . oooo , ( 0 , 2 , 3 , 1 )) * - 1 tmp6 = np . copy ( np . transpose ( ints . tmp225 , ( 1 , 2 , 0 , 3 ))) * 0.5 tmp6 += np . transpose ( ints . tmp230 , ( 1 , 2 , 0 , 3 )) * 0.5 tmp6 += np . transpose ( ints . tmp238 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp6 += np . transpose ( ints . tmp251 , ( 0 , 2 , 1 , 3 )) tmp6 += np . transpose ( ints . tmp256 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp6 += ints . tmp281 * 0.5 tmp6 += ints . tmp285 * 0.5 tmp6 += ints . tmp295 tmp6 += ints . tmp307 * 0.5 tmp6 += ints . tmp315 * 0.5 tmp6 += ints . tmp334 * 0.5 tmp6 += ints . tmp119 * - 0.5 tmp6 += ints . tmp248 * - 1 tmp6 += ints . tmp262 * - 0.5 tmp6 += ints . tmp277 * - 0.5 tmp6 += ints . tmp292 * - 1 tmp6 += ints . tmp299 * - 0.5 tmp6 += np . transpose ( ints . tmp317 , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp6 += ints . tmp325 * - 0.5 tmp6 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp3 = np . copy ( ints . tmp117 ) tmp3 += ints . tmp122 * 0.5 tmp3 += ints . tmp138 tmp3 += ints . tmp146 * 0.5 tmp3 += ints . tmp159 * 0.5 tmp3 += ints . tmp165 * 0.5 tmp3 += ints . tmp182 * 0.5 tmp3 += ints . tmp19 * 0.5 tmp3 += ints . tmp201 * 0.5 tmp3 += ints . tmp207 * 0.5 tmp3 += ints . tmp2 * 0.5 tmp3 += ints . tmp34 * 0.5 tmp3 += ints . tmp51 tmp3 += ints . tmp57 * 0.5 tmp3 += ints . tmp70 tmp3 += ints . tmp83 tmp3 += ints . tmp90 * 0.5 tmp3 += f . aa . ov * - 0.5 tmp3 += ints . tmp101 * - 0.5 tmp3 += ints . tmp11 * - 0.5 tmp3 += ints . tmp157 * - 0.5 tmp3 += ints . tmp179 * - 0.5 tmp3 += ints . tmp191 * - 0.5 tmp3 += ints . tmp199 * - 0.5 tmp3 += ints . tmp32 * - 0.5 tmp3 += ints . tmp39 * - 0.5 tmp3 += ints . tmp5 * - 0.5 tmp3 += ints . tmp76 * - 0.5 tmp3 += ints . tmp86 * - 1 tmp3 += ints . tmp8 * - 1 tmp3 += ints . tmp94 * - 0.5 tmp3 += ints . tmp98 * - 1 tmp5 = np . copy ( ints . tmp124 ) tmp5 += np . transpose ( ints . tmp223 , ( 0 , 2 , 1 , 3 )) tmp5 += np . transpose ( ints . tmp240 , ( 0 , 2 , 1 , 3 )) tmp5 += np . transpose ( ints . tmp250 , ( 0 , 2 , 1 , 3 )) tmp5 += np . transpose ( ints . tmp254 , ( 0 , 2 , 1 , 3 )) * 2 tmp5 += ints . tmp264 tmp5 += ints . tmp279 tmp5 += ints . tmp283 tmp5 += ints . tmp291 tmp5 += ints . tmp297 * 2 tmp5 += ints . tmp328 tmp5 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp5 += np . transpose ( ints . tmp232 , ( 0 , 2 , 1 , 3 )) * - 1 tmp5 += ints . tmp247 * - 1 tmp5 += ints . tmp253 * - 1 tmp5 += ints . tmp275 * - 1 tmp5 += ints . tmp294 * - 1 tmp5 += ints . tmp301 * - 1 tmp5 += ints . tmp309 * - 1 tmp5 += ints . tmp319 * - 1 tmp5 += np . transpose ( ints . tmp320 , ( 0 , 2 , 1 , 3 )) * - 1 tmp5 += ints . tmp336 * - 1 tmp2 = np . copy ( ints . tmp120 ) tmp2 += ints . tmp125 * 0.5 tmp2 += ints . tmp141 tmp2 += ints . tmp144 * 0.5 tmp2 += ints . tmp164 * 0.5 tmp2 += ints . tmp168 * 0.5 tmp2 += ints . tmp187 * 0.5 tmp2 += ints . tmp206 * 0.5 tmp2 += ints . tmp210 * 0.5 tmp2 += ints . tmp22 * 0.5 tmp2 += ints . tmp37 * 0.5 tmp2 += ints . tmp4 * 0.5 tmp2 += ints . tmp53 tmp2 += ints . tmp55 * 0.5 tmp2 += ints . tmp72 tmp2 += ints . tmp85 * 0.5 tmp2 += ints . tmp92 tmp2 += f . bb . ov * - 0.5 tmp2 += ints . tmp100 * - 0.5 tmp2 += ints . tmp103 * - 1 tmp2 += ints . tmp10 * - 0.5 tmp2 += ints . tmp13 * - 1 tmp2 += ints . tmp162 * - 0.5 tmp2 += ints . tmp185 * - 0.5 tmp2 += ints . tmp189 * - 0.5 tmp2 += ints . tmp204 * - 0.5 tmp2 += ints . tmp36 * - 0.5 tmp2 += ints . tmp38 * - 0.5 tmp2 += ints . tmp74 * - 0.5 tmp2 += ints . tmp7 * - 0.5 tmp2 += ints . tmp88 * - 0.5 tmp2 += ints . tmp96 * - 1 tmp1 = np . copy ( ints . tmp109 ) * 0.5 tmp1 += ints . tmp113 * 0.5 tmp1 += ints . tmp130 tmp1 += ints . tmp149 * 0.5 tmp1 += np . transpose ( ints . tmp15 , ( 1 , 2 , 0 , 3 )) * 0.5 tmp1 += ints . tmp170 * 0.5 tmp1 += ints . tmp212 * 0.5 tmp1 += np . transpose ( ints . tmp28 , ( 1 , 2 , 0 , 3 )) * 0.5 tmp1 += np . transpose ( ints . tmp43 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp1 += np . transpose ( ints . tmp62 , ( 0 , 2 , 1 , 3 )) tmp1 += np . transpose ( ints . tmp66 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp1 += ints . tmp105 * - 0.5 tmp1 += ints . tmp127 * - 1 tmp1 += ints . tmp133 * - 0.5 tmp1 += np . transpose ( ints . tmp172 , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp1 += ints . tmp194 * - 0.5 tmp1 += ints . tmp41 * - 0.5 tmp1 += ints . tmp59 * - 1 tmp1 += ints . tmp78 * - 0.5 tmp1 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) * - 0.5 tmp0 = np . copy ( ints . tmp111 ) tmp0 += ints . tmp115 tmp0 += ints . tmp129 tmp0 += ints . tmp135 * 2 tmp0 += np . transpose ( ints . tmp17 , ( 1 , 0 , 2 , 3 )) tmp0 += ints . tmp197 tmp0 += ints . tmp45 tmp0 += np . transpose ( ints . tmp46 , ( 1 , 0 , 2 , 3 )) tmp0 += np . transpose ( ints . tmp64 , ( 1 , 0 , 2 , 3 )) tmp0 += np . transpose ( ints . tmp68 , ( 1 , 0 , 2 , 3 )) * 2 tmp0 += ints . tmp80 tmp0 += v . aabb . ooov tmp0 += ints . tmp107 * - 1 tmp0 += ints . tmp132 * - 1 tmp0 += ints . tmp137 * - 1 tmp0 += ints . tmp152 * - 1 tmp0 += ints . tmp175 * - 1 tmp0 += np . transpose ( ints . tmp177 , ( 1 , 0 , 2 , 3 )) * - 1 tmp0 += ints . tmp215 * - 1 tmp0 += np . transpose ( ints . tmp30 , ( 1 , 0 , 2 , 3 )) * - 1 tmp0 += ints . tmp61 * - 1 tmp0 += ints . tmp65 * - 1 r2new . bbb = np . copy ( tmp84 ) * - 1 r2new . bbb += np . transpose ( tmp84 , ( 1 , 0 , 2 )) del tmp84 r2new . bbb += tmp93 r2new . bbb += np . transpose ( tmp93 , ( 1 , 0 , 2 )) * - 1 del tmp93 r2new . bbb += einsum ( tmp94 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 1 , 0 , 4 ), ( 2 , 3 , 4 )) * - 2 del tmp94 r2new . bbb += einsum ( tmp64 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp62 , ( 1 , 2 ), ( 0 , 1 , 2 )) r2new . bbb += einsum ( tmp62 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) * - 1 r2new . bab = einsum ( tmp55 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 0 , 4 , 3 ), ( 1 , 4 , 2 )) del tmp55 r2new . bab += einsum ( tmp56 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 0 , 2 ), ( 1 , 4 , 3 )) * - 2 del tmp56 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp57 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * - 1 del tmp57 r2new . bab += einsum ( tmp58 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 0 , 4 ), ( 3 , 1 , 4 )) del tmp58 r2new . bab += einsum ( tmp59 , ( 0 , 1 , 2 , 3 ), tmp11 , ( 4 , 0 , 1 ), ( 2 , 4 , 3 )) del tmp59 r2new . bab += einsum ( tmp11 , ( 0 , 1 , 2 ), tmp60 , ( 0 , 3 , 2 , 4 ), ( 1 , 3 , 4 )) * - 1 del tmp11 , tmp60 r2new . bab += einsum ( tmp61 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 0 , 4 , 1 ), ( 2 , 4 , 3 )) * - 2 del tmp20 r2new . bab += einsum ( tmp64 , ( 0 , 1 ), r2 . bab , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp64 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp65 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp65 r2new . bab += einsum ( tmp4 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . bab += einsum ( tmp66 , ( 0 ,), v . aabb . ovov , ( 1 , 0 , 2 , 3 ), ( 2 , 1 , 3 )) * 2 del tmp66 r2new . bab += einsum ( tmp61 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 0 ,), ( 2 , 1 , 3 )) del tmp61 r2new . bab += einsum ( tmp62 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) * - 1 del tmp62 r2new . aba = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp43 , ( 0 , 3 , 4 , 2 ), ( 3 , 1 , 4 )) del tmp43 r2new . aba += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp44 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) * - 2 del tmp44 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp45 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * - 1 del tmp45 r2new . aba += einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 2 , 4 ), ( 1 , 3 , 4 )) del tmp46 r2new . aba += einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), tmp47 , ( 0 , 1 , 4 ), ( 2 , 4 , 3 )) * - 1 del tmp48 r2new . aba += einsum ( tmp49 , ( 0 , 1 , 2 ), tmp50 , ( 3 , 0 , 2 , 4 ), ( 3 , 1 , 4 )) * - 2 del tmp49 r2new . aba += einsum ( tmp47 , ( 0 , 1 , 2 ), tmp50 , ( 1 , 2 , 3 , 4 ), ( 0 , 3 , 4 )) del tmp47 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp42 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( tmp7 , ( 0 , 1 ), r2 . aba , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . aba += einsum ( tmp51 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 del tmp51 r2new . aba += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp54 , ( 3 ,), ( 0 , 2 , 1 )) del tmp54 r2new . aba += einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 1 ,), ( 0 , 2 , 3 )) del tmp50 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp40 , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 r2new . aaa = np . copy ( tmp27 ) * - 1 r2new . aaa += np . transpose ( tmp27 , ( 1 , 0 , 2 )) del tmp27 r2new . aaa += tmp38 r2new . aaa += np . transpose ( tmp38 , ( 1 , 0 , 2 )) * - 1 del tmp38 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp39 , ( 0 , 1 , 3 , 4 ), ( 3 , 4 , 2 )) * 2 del tmp39 r2new . aaa += einsum ( tmp42 , ( 0 , 1 ), r2 . aaa , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 del tmp42 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp40 , ( 1 , 2 ), ( 0 , 1 , 2 )) r2new . aaa += einsum ( tmp40 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) * - 1 del tmp40 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp5 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) del tmp5 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp6 , ( 1 , 0 , 3 , 2 ), ( 3 ,)) * - 4 del tmp6 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp2 , ( 1 , 2 ), ( 0 ,)) * - 4 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp3 , ( 0 , 2 ), ( 1 ,)) * 2 r1new . b += einsum ( tmp7 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp7 r1new . a = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp0 , ( 1 , 3 , 0 , 2 ), ( 3 ,)) del tmp0 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp1 , ( 1 , 0 , 3 , 2 ), ( 3 ,)) * - 4 del tmp1 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp2 , ( 0 , 2 ), ( 1 ,)) * 2 del tmp2 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp3 , ( 1 , 2 ), ( 0 ,)) * - 4 del tmp3 r1new . a += einsum ( tmp4 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_lmatvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-13T22:25:19.852199.","title":"hbar_lmatvec_ea_intermediates"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_lmatvec_ea_intermediates--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_lmatvec_ea_intermediates--returns","text":"tmp10 : array tmp100 : array tmp101 : array tmp103 : array tmp11 : array tmp111 : array tmp112 : array tmp114 : array tmp115 : array tmp117 : array tmp118 : array tmp120 : array tmp121 : array tmp123 : array tmp125 : array tmp127 : array tmp128 : array tmp13 : array tmp130 : array tmp131 : array tmp133 : array tmp134 : array tmp136 : array tmp137 : array tmp139 : array tmp141 : array tmp142 : array tmp144 : array tmp145 : array tmp147 : array tmp149 : array tmp150 : array tmp151 : array tmp153 : array tmp154 : array tmp156 : array tmp157 : array tmp158 : array tmp159 : array tmp160 : array tmp161 : array tmp163 : array tmp164 : array tmp169 : array tmp171 : array tmp173 : array tmp174 : array tmp175 : array tmp176 : array tmp177 : array tmp178 : array tmp179 : array tmp181 : array tmp183 : array tmp185 : array tmp186 : array tmp187 : array tmp188 : array tmp19 : array tmp190 : array tmp191 : array tmp193 : array tmp194 : array tmp195 : array tmp196 : array tmp197 : array tmp198 : array tmp2 : array tmp20 : array tmp200 : array tmp201 : array tmp22 : array tmp226 : array tmp228 : array tmp23 : array tmp230 : array tmp232 : array tmp238 : array tmp240 : array tmp246 : array tmp247 : array tmp249 : array tmp250 : array tmp252 : array tmp254 : array tmp256 : array tmp26 : array tmp27 : array tmp276 : array tmp278 : array tmp28 : array tmp284 : array tmp285 : array tmp287 : array tmp288 : array tmp29 : array tmp290 : array tmp292 : array tmp294 : array tmp305 : array tmp307 : array tmp309 : array tmp31 : array tmp310 : array tmp33 : array tmp34 : array tmp35 : array tmp36 : array tmp4 : array tmp43 : array tmp45 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp53 : array tmp55 : array tmp57 : array tmp59 : array tmp61 : array tmp63 : array tmp65 : array tmp67 : array tmp69 : array tmp7 : array tmp71 : array tmp73 : array tmp74 : array tmp76 : array tmp77 : array tmp79 : array tmp8 : array tmp81 : array tmp82 : array tmp83 : array tmp85 : array tmp86 : array tmp88 : array tmp89 : array tmp90 : array tmp92 : array tmp94 : array tmp96 : array tmp98 : array Source code in ebcc/codegen/UCCSD.py 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 7394 7395 7396 7397 7398 7399 7400 7401 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7496 7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 7512 7513 7514 7515 7516 7517 7518 7519 7520 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530 7531 7532 7533 7534 7535 7536 7537 7538 7539 7540 7541 7542 7543 7544 7545 7546 7547 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561 7562 7563 7564 7565 7566 7567 7568 7569 7570 7571 7572 7573 7574 def hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:25:19.852199. 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 ------- tmp10 : array tmp100 : array tmp101 : array tmp103 : array tmp11 : array tmp111 : array tmp112 : array tmp114 : array tmp115 : array tmp117 : array tmp118 : array tmp120 : array tmp121 : array tmp123 : array tmp125 : array tmp127 : array tmp128 : array tmp13 : array tmp130 : array tmp131 : array tmp133 : array tmp134 : array tmp136 : array tmp137 : array tmp139 : array tmp141 : array tmp142 : array tmp144 : array tmp145 : array tmp147 : array tmp149 : array tmp150 : array tmp151 : array tmp153 : array tmp154 : array tmp156 : array tmp157 : array tmp158 : array tmp159 : array tmp160 : array tmp161 : array tmp163 : array tmp164 : array tmp169 : array tmp171 : array tmp173 : array tmp174 : array tmp175 : array tmp176 : array tmp177 : array tmp178 : array tmp179 : array tmp181 : array tmp183 : array tmp185 : array tmp186 : array tmp187 : array tmp188 : array tmp19 : array tmp190 : array tmp191 : array tmp193 : array tmp194 : array tmp195 : array tmp196 : array tmp197 : array tmp198 : array tmp2 : array tmp20 : array tmp200 : array tmp201 : array tmp22 : array tmp226 : array tmp228 : array tmp23 : array tmp230 : array tmp232 : array tmp238 : array tmp240 : array tmp246 : array tmp247 : array tmp249 : array tmp250 : array tmp252 : array tmp254 : array tmp256 : array tmp26 : array tmp27 : array tmp276 : array tmp278 : array tmp28 : array tmp284 : array tmp285 : array tmp287 : array tmp288 : array tmp29 : array tmp290 : array tmp292 : array tmp294 : array tmp305 : array tmp307 : array tmp309 : array tmp31 : array tmp310 : array tmp33 : array tmp34 : array tmp35 : array tmp36 : array tmp4 : array tmp43 : array tmp45 : array tmp47 : array tmp49 : array tmp5 : array tmp51 : array tmp53 : array tmp55 : array tmp57 : array tmp59 : array tmp61 : array tmp63 : array tmp65 : array tmp67 : array tmp69 : array tmp7 : array tmp71 : array tmp73 : array tmp74 : array tmp76 : array tmp77 : array tmp79 : array tmp8 : array tmp81 : array tmp82 : array tmp83 : array tmp85 : array tmp86 : array tmp88 : array tmp89 : array tmp90 : array tmp92 : array tmp94 : array tmp96 : array tmp98 : array \"\"\" tmp35 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp36 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp33 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp89 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp29 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp82 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 1 , 0 , 3 ), ( 2 , 3 )) tmp117 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp114 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) tmp200 = einsum ( t1 . bb , ( 0 , 1 ), tmp35 , ( 2 , 1 ), ( 0 , 2 )) tmp197 = einsum ( t1 . aa , ( 0 , 1 ), tmp36 , ( 2 , 1 ), ( 0 , 2 )) tmp195 = einsum ( t1 . bb , ( 0 , 1 ), tmp33 , ( 2 , 1 ), ( 0 , 2 )) tmp193 = einsum ( tmp89 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp190 = einsum ( t1 . aa , ( 0 , 1 ), tmp29 , ( 2 , 1 ), ( 0 , 2 )) tmp187 = einsum ( tmp82 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp28 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp177 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp175 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 )) tmp173 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 1 ), ( 2 , 3 )) tmp27 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) tmp26 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp163 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp160 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ooov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp158 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp156 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 3 ), ( 0 , 2 )) tmp153 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp150 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp136 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp133 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp130 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp127 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp120 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) tmp111 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) tmp22 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 2 , 1 ), ( 2 , 0 )) tmp19 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp310 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 2 , 0 , 3 )) tmp309 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp307 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp305 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp294 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 5 ), ( 4 , 0 , 5 , 3 )) tmp292 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp290 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp288 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 5 ), ( 0 , 4 , 2 , 5 )) tmp287 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp285 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp284 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp278 = einsum ( tmp117 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp276 = einsum ( tmp114 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp256 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp254 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) tmp252 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp250 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp249 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp247 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) tmp246 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp240 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp238 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp232 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp230 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp228 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . vvvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp226 = einsum ( v . bbbb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp201 = einsum ( t1 . bb , ( 0 , 1 ), tmp200 , ( 2 , 0 ), ( 2 , 1 )) tmp198 = einsum ( tmp197 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp196 = einsum ( t1 . bb , ( 0 , 1 ), tmp195 , ( 2 , 0 ), ( 2 , 1 )) tmp194 = einsum ( t1 . bb , ( 0 , 1 ), tmp193 , ( 2 , 0 ), ( 2 , 1 )) tmp191 = einsum ( tmp190 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp188 = einsum ( tmp187 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp186 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp185 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 2 , 0 , 1 )) tmp183 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp181 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp179 = einsum ( t1 . aa , ( 0 , 1 ), tmp28 , ( 2 , 1 ), ( 0 , 2 )) tmp178 = einsum ( tmp177 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp176 = einsum ( t1 . bb , ( 0 , 1 ), tmp175 , ( 1 , 2 ), ( 0 , 2 )) tmp174 = einsum ( t1 . bb , ( 0 , 1 ), tmp173 , ( 2 , 1 ), ( 0 , 2 )) tmp171 = einsum ( tmp27 , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 2 , 1 )) tmp169 = einsum ( t1 . aa , ( 0 , 1 ), tmp26 , ( 2 , 1 ), ( 0 , 2 )) tmp164 = einsum ( t1 . bb , ( 0 , 1 ), tmp163 , ( 2 , 0 ), ( 2 , 1 )) tmp161 = einsum ( tmp160 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp159 = einsum ( t1 . bb , ( 0 , 1 ), tmp158 , ( 2 , 0 ), ( 2 , 1 )) tmp157 = einsum ( tmp156 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp154 = einsum ( tmp153 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp151 = einsum ( tmp150 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp149 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 1 , 5 , 2 , 4 )) tmp147 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp145 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp144 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 1 , 5 ), ( 0 , 4 , 3 , 5 )) tmp142 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 1 ), ( 4 , 0 , 5 , 3 )) tmp141 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) tmp139 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp137 = einsum ( tmp136 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp134 = einsum ( t1 . bb , ( 0 , 1 ), tmp133 , ( 2 , 0 ), ( 2 , 1 )) tmp131 = einsum ( t1 . bb , ( 0 , 1 ), tmp130 , ( 2 , 0 ), ( 2 , 1 )) tmp128 = einsum ( tmp127 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp125 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp120 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp123 = einsum ( tmp111 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 tmp121 = einsum ( tmp120 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) tmp118 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp117 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp115 = einsum ( tmp114 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp112 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp111 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 tmp103 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp35 , ( 1 , 3 ), ( 0 , 2 )) tmp101 = einsum ( tmp35 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp100 = einsum ( tmp36 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp98 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp36 , ( 1 , 3 ), ( 0 , 2 )) tmp96 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp33 , ( 1 , 3 ), ( 0 , 2 )) tmp94 = einsum ( tmp33 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp92 = einsum ( tmp89 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp90 = einsum ( tmp89 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp88 = einsum ( tmp29 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp86 = einsum ( tmp29 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp85 = einsum ( tmp82 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp83 = einsum ( tmp82 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp81 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp79 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp77 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 5 , 0 , 1 )) tmp76 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 0 , 4 , 5 , 2 ), ( 1 , 4 , 5 , 3 )) tmp74 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 4 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) tmp73 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp71 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp69 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp67 = einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp65 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp63 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 4 )) * - 1 tmp61 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovoo , ( 0 , 4 , 5 , 1 ), ( 5 , 2 , 4 , 3 )) tmp59 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ooov , ( 4 , 1 , 0 , 5 ), ( 4 , 2 , 3 , 5 )) * - 1 tmp57 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp55 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) tmp53 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp51 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 1 tmp49 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp47 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp45 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp43 = einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp34 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp31 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp23 = einsum ( t1 . bb , ( 0 , 1 ), tmp22 , ( 0 , 2 ), ( 2 , 1 )) tmp20 = einsum ( tmp19 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp13 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp11 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp10 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp8 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp7 = einsum ( f . bb . vv , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp5 = einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp4 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . oo , ( 2 , 0 ), ( 2 , 1 )) tmp2 = einsum ( f . aa . oo , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) return { f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp101\" : tmp101 , f \"tmp103\" : tmp103 , f \"tmp11\" : tmp11 , f \"tmp111\" : tmp111 , f \"tmp112\" : tmp112 , f \"tmp114\" : tmp114 , f \"tmp115\" : tmp115 , f \"tmp117\" : tmp117 , f \"tmp118\" : tmp118 , f \"tmp120\" : tmp120 , f \"tmp121\" : tmp121 , f \"tmp123\" : tmp123 , f \"tmp125\" : tmp125 , f \"tmp127\" : tmp127 , f \"tmp128\" : tmp128 , f \"tmp13\" : tmp13 , f \"tmp130\" : tmp130 , f \"tmp131\" : tmp131 , f \"tmp133\" : tmp133 , f \"tmp134\" : tmp134 , f \"tmp136\" : tmp136 , f \"tmp137\" : tmp137 , f \"tmp139\" : tmp139 , f \"tmp141\" : tmp141 , f \"tmp142\" : tmp142 , f \"tmp144\" : tmp144 , f \"tmp145\" : tmp145 , f \"tmp147\" : tmp147 , f \"tmp149\" : tmp149 , f \"tmp150\" : tmp150 , f \"tmp151\" : tmp151 , f \"tmp153\" : tmp153 , f \"tmp154\" : tmp154 , f \"tmp156\" : tmp156 , f \"tmp157\" : tmp157 , f \"tmp158\" : tmp158 , f \"tmp159\" : tmp159 , f \"tmp160\" : tmp160 , f \"tmp161\" : tmp161 , f \"tmp163\" : tmp163 , f \"tmp164\" : tmp164 , f \"tmp169\" : tmp169 , f \"tmp171\" : tmp171 , f \"tmp173\" : tmp173 , f \"tmp174\" : tmp174 , f \"tmp175\" : tmp175 , f \"tmp176\" : tmp176 , f \"tmp177\" : tmp177 , f \"tmp178\" : tmp178 , f \"tmp179\" : tmp179 , f \"tmp181\" : tmp181 , f \"tmp183\" : tmp183 , f \"tmp185\" : tmp185 , f \"tmp186\" : tmp186 , f \"tmp187\" : tmp187 , f \"tmp188\" : tmp188 , f \"tmp19\" : tmp19 , f \"tmp190\" : tmp190 , f \"tmp191\" : tmp191 , f \"tmp193\" : tmp193 , f \"tmp194\" : tmp194 , f \"tmp195\" : tmp195 , f \"tmp196\" : tmp196 , f \"tmp197\" : tmp197 , f \"tmp198\" : tmp198 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp200\" : tmp200 , f \"tmp201\" : tmp201 , f \"tmp22\" : tmp22 , f \"tmp226\" : tmp226 , f \"tmp228\" : tmp228 , f \"tmp23\" : tmp23 , f \"tmp230\" : tmp230 , f \"tmp232\" : tmp232 , f \"tmp238\" : tmp238 , f \"tmp240\" : tmp240 , f \"tmp246\" : tmp246 , f \"tmp247\" : tmp247 , f \"tmp249\" : tmp249 , f \"tmp250\" : tmp250 , f \"tmp252\" : tmp252 , f \"tmp254\" : tmp254 , f \"tmp256\" : tmp256 , f \"tmp26\" : tmp26 , f \"tmp27\" : tmp27 , f \"tmp276\" : tmp276 , f \"tmp278\" : tmp278 , f \"tmp28\" : tmp28 , f \"tmp284\" : tmp284 , f \"tmp285\" : tmp285 , f \"tmp287\" : tmp287 , f \"tmp288\" : tmp288 , f \"tmp29\" : tmp29 , f \"tmp290\" : tmp290 , f \"tmp292\" : tmp292 , f \"tmp294\" : tmp294 , f \"tmp305\" : tmp305 , f \"tmp307\" : tmp307 , f \"tmp309\" : tmp309 , f \"tmp31\" : tmp31 , f \"tmp310\" : tmp310 , f \"tmp33\" : tmp33 , f \"tmp34\" : tmp34 , f \"tmp35\" : tmp35 , f \"tmp36\" : tmp36 , f \"tmp4\" : tmp4 , f \"tmp43\" : tmp43 , f \"tmp45\" : tmp45 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp51\" : tmp51 , f \"tmp53\" : tmp53 , f \"tmp55\" : tmp55 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp61\" : tmp61 , f \"tmp63\" : tmp63 , f \"tmp65\" : tmp65 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp7\" : tmp7 , f \"tmp71\" : tmp71 , f \"tmp73\" : tmp73 , f \"tmp74\" : tmp74 , f \"tmp76\" : tmp76 , f \"tmp77\" : tmp77 , f \"tmp79\" : tmp79 , f \"tmp8\" : tmp8 , f \"tmp81\" : tmp81 , f \"tmp82\" : tmp82 , f \"tmp83\" : tmp83 , f \"tmp85\" : tmp85 , f \"tmp86\" : tmp86 , f \"tmp88\" : tmp88 , f \"tmp89\" : tmp89 , f \"tmp90\" : tmp90 , f \"tmp92\" : tmp92 , f \"tmp94\" : tmp94 , f \"tmp96\" : tmp96 , f \"tmp98\" : tmp98 }","title":"Returns"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_lmatvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-13T22:25:19.936973.","title":"hbar_lmatvec_ea"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_lmatvec_ea--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UCCSD/#ebcc.codegen.UCCSD.hbar_lmatvec_ea--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UCCSD.py 7576 7577 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 7588 7589 7590 7591 7592 7593 7594 7595 7596 7597 7598 7599 7600 7601 7602 7603 7604 7605 7606 7607 7608 7609 7610 7611 7612 7613 7614 7615 7616 7617 7618 7619 7620 7621 7622 7623 7624 7625 7626 7627 7628 7629 7630 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 7643 7644 7645 7646 7647 7648 7649 7650 7651 7652 7653 7654 7655 7656 7657 7658 7659 7660 7661 7662 7663 7664 7665 7666 7667 7668 7669 7670 7671 7672 7673 7674 7675 7676 7677 7678 7679 7680 7681 7682 7683 7684 7685 7686 7687 7688 7689 7690 7691 7692 7693 7694 7695 7696 7697 7698 7699 7700 7701 7702 7703 7704 7705 7706 7707 7708 7709 7710 7711 7712 7713 7714 7715 7716 7717 7718 7719 7720 7721 7722 7723 7724 7725 7726 7727 7728 7729 7730 7731 7732 7733 7734 7735 7736 7737 7738 7739 7740 7741 7742 7743 7744 7745 7746 7747 7748 7749 7750 7751 7752 7753 7754 7755 7756 7757 7758 7759 7760 7761 7762 7763 7764 7765 7766 7767 7768 7769 7770 7771 7772 7773 7774 7775 7776 7777 7778 7779 7780 7781 7782 7783 7784 7785 7786 7787 7788 7789 7790 7791 7792 7793 7794 7795 7796 7797 7798 7799 7800 7801 7802 7803 7804 7805 7806 7807 7808 7809 7810 7811 7812 7813 7814 7815 7816 7817 7818 7819 7820 7821 7822 7823 7824 7825 7826 7827 7828 7829 7830 7831 7832 7833 7834 7835 7836 7837 7838 7839 7840 7841 7842 7843 7844 7845 7846 7847 7848 7849 7850 7851 7852 7853 7854 7855 7856 7857 7858 7859 7860 7861 7862 7863 7864 7865 7866 7867 7868 7869 7870 7871 7872 7873 7874 7875 7876 7877 7878 7879 7880 7881 7882 7883 7884 7885 7886 7887 7888 7889 7890 7891 7892 7893 7894 7895 7896 7897 7898 7899 7900 7901 7902 7903 7904 7905 7906 7907 7908 7909 7910 7911 7912 7913 7914 7915 7916 7917 7918 7919 7920 7921 7922 7923 7924 7925 7926 7927 7928 7929 7930 7931 7932 7933 7934 7935 7936 7937 7938 7939 7940 7941 7942 7943 7944 7945 7946 7947 7948 7949 7950 7951 7952 7953 7954 7955 7956 7957 7958 7959 7960 7961 7962 7963 7964 7965 7966 7967 7968 7969 7970 7971 7972 7973 7974 7975 7976 7977 7978 7979 7980 7981 7982 7983 7984 7985 7986 7987 7988 7989 7990 7991 7992 7993 7994 7995 7996 7997 7998 7999 8000 8001 8002 8003 8004 8005 8006 8007 8008 8009 8010 8011 8012 8013 8014 8015 8016 8017 8018 8019 8020 8021 8022 8023 8024 8025 8026 8027 8028 8029 8030 8031 8032 8033 8034 8035 8036 8037 8038 8039 8040 8041 8042 8043 8044 8045 8046 8047 8048 8049 8050 8051 8052 8053 8054 8055 8056 8057 8058 8059 8060 8061 8062 8063 8064 8065 8066 8067 8068 8069 8070 8071 8072 8073 8074 8075 8076 8077 8078 8079 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8091 8092 8093 8094 8095 8096 8097 8098 8099 8100 8101 8102 8103 8104 8105 8106 8107 8108 8109 8110 8111 8112 8113 8114 8115 8116 8117 8118 8119 8120 8121 8122 8123 8124 8125 8126 8127 8128 8129 8130 8131 8132 8133 8134 8135 8136 8137 8138 8139 8140 8141 8142 8143 8144 8145 8146 8147 8148 8149 8150 8151 8152 8153 8154 8155 8156 8157 8158 8159 8160 8161 8162 8163 8164 8165 8166 8167 8168 8169 8170 8171 8172 8173 8174 8175 8176 8177 8178 8179 8180 8181 8182 8183 8184 8185 8186 8187 8188 8189 8190 8191 8192 8193 8194 8195 8196 8197 8198 8199 8200 8201 8202 8203 8204 8205 8206 8207 8208 8209 8210 8211 8212 8213 8214 8215 8216 8217 8218 8219 8220 8221 8222 8223 8224 8225 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-13T22:25:19.936973. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp119 = np . copy ( f . bb . ov ) tmp119 += ints . tmp33 tmp119 += ints . tmp35 tmp95 = np . copy ( ints . tmp114 ) * - 1 tmp95 += np . transpose ( ints . tmp114 , ( 0 , 2 , 1 , 3 )) tmp44 = np . copy ( ints . tmp111 ) * - 1 tmp44 += np . transpose ( ints . tmp111 , ( 0 , 2 , 1 , 3 )) tmp62 = np . copy ( f . aa . ov ) tmp62 += ints . tmp29 tmp62 += ints . tmp36 tmp120 = einsum ( t1 . bb , ( 0 , 1 ), tmp119 , ( 0 , 2 ), ( 1 , 2 )) del tmp119 tmp101 = einsum ( ints . tmp89 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp109 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) tmp36 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 1 ), ( 0 ,)) tmp35 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 3 , 0 ), ( 1 ,)) tmp96 = einsum ( tmp95 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp95 tmp106 = einsum ( ints . tmp117 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) tmp48 = einsum ( ints . tmp120 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp53 = einsum ( t1 . aa , ( 0 , 1 ), ints . tmp82 , ( 0 , 2 ), ( 2 , 1 )) tmp45 = einsum ( t1 . aa , ( 0 , 1 ), tmp44 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp44 tmp63 = einsum ( t1 . aa , ( 0 , 1 ), tmp62 , ( 0 , 2 ), ( 1 , 2 )) del tmp62 tmp15 = einsum ( r1 . a , ( 0 ,), t1 . aa , ( 1 , 0 ), ( 1 ,)) tmp17 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 2 , 1 , 0 ), ( 3 ,)) * - 1 tmp115 = np . copy ( ints . tmp284 ) tmp115 += ints . tmp310 tmp115 += ints . tmp290 * 2 tmp121 = np . copy ( ints . tmp175 ) tmp121 += np . transpose ( tmp120 , ( 1 , 0 )) del tmp120 tmp34 = einsum ( r1 . b , ( 0 ,), t1 . bb , ( 1 , 0 ), ( 1 ,)) tmp117 = np . copy ( np . transpose ( ints . tmp305 , ( 0 , 1 , 3 , 2 ))) tmp117 += ints . tmp288 * 2 tmp102 = np . copy ( f . bb . vv ) * 0.5 tmp102 += ints . tmp173 * 0.5 tmp102 += ints . tmp177 * 0.5 tmp102 += ints . tmp230 * - 1 tmp102 += ints . tmp232 * - 0.5 tmp102 += np . transpose ( tmp101 , ( 1 , 0 )) * 0.5 del tmp101 tmp110 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp110 += tmp109 * - 1 del tmp109 tmp104 = np . copy ( tmp35 ) * - 0.5 tmp104 += tmp36 tmp97 = np . copy ( ints . tmp285 ) * 2 tmp97 += ints . tmp292 tmp97 += np . transpose ( ints . tmp307 , ( 0 , 1 , 3 , 2 )) tmp97 += tmp96 * - 1 del tmp96 tmp22 = einsum ( t1 . bb , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp99 = np . copy ( v . bbbb . ooov ) * - 1 tmp99 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) tmp107 = np . copy ( ints . tmp287 ) tmp107 += tmp106 del tmp106 tmp38 = np . copy ( f . bb . ov ) tmp38 += ints . tmp33 tmp38 += ints . tmp35 tmp38 += ints . tmp89 * - 1 tmp19 = np . copy ( f . aa . ov ) tmp19 += ints . tmp29 tmp19 += ints . tmp36 tmp19 += ints . tmp82 * - 1 tmp49 = np . copy ( ints . tmp141 ) * 0.5 tmp49 += ints . tmp147 tmp49 += ints . tmp186 * 0.5 tmp49 += tmp48 * - 0.5 del tmp48 tmp2 = einsum ( t1 . aa , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp51 = np . copy ( v . aaaa . ooov ) * - 1 tmp51 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) tmp54 = np . copy ( f . aa . vv ) * 0.5 tmp54 += ints . tmp26 * 0.5 tmp54 += ints . tmp28 * 0.5 tmp54 += ints . tmp47 * - 1 tmp54 += ints . tmp49 * - 0.5 tmp54 += np . transpose ( tmp53 , ( 1 , 0 )) * 0.5 del tmp53 tmp6 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t1 . bb , ( 3 , 0 ), ( 2 , 3 , 1 )) * - 1 tmp46 = np . copy ( ints . tmp139 ) * 2 tmp46 += ints . tmp145 tmp46 += np . transpose ( ints . tmp183 , ( 0 , 1 , 3 , 2 )) tmp46 += tmp45 * - 1 del tmp45 tmp16 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 2 , 0 , 1 ), ( 3 ,)) tmp60 = np . copy ( np . transpose ( ints . tmp181 , ( 0 , 1 , 3 , 2 ))) tmp60 += ints . tmp142 * 2 tmp64 = np . copy ( ints . tmp27 ) tmp64 += np . transpose ( tmp63 , ( 1 , 0 )) del tmp63 tmp66 = np . copy ( tmp15 ) tmp66 += tmp17 tmp124 = np . copy ( t2 . bbbb ) tmp124 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp116 = einsum ( tmp115 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 1 , 4 , 3 )) del tmp115 tmp113 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 2 ), ( 0 , 4 , 1 )) tmp122 = einsum ( tmp121 , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 3 , 2 , 0 )) * - 1 del tmp121 tmp114 = einsum ( tmp34 , ( 0 ,), v . bbbb . ovov , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) tmp118 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp117 , ( 2 , 3 , 1 , 4 ), ( 3 , 0 , 4 )) * - 1 del tmp117 tmp103 = einsum ( tmp102 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 4 del tmp102 tmp111 = einsum ( tmp110 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 1 , 4 , 3 )) del tmp110 tmp93 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbbb . oovv , ( 3 , 2 , 4 , 1 ), ( 3 , 0 , 4 )) tmp92 = einsum ( r1 . b , ( 0 ,), v . bbbb . ovvv , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) tmp105 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp104 , ( 2 ,), ( 0 , 3 , 1 )) * 2 del tmp104 tmp98 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp97 , ( 2 , 3 , 1 , 4 ), ( 3 , 0 , 4 )) * - 2 del tmp97 tmp94 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), tmp22 , ( 4 , 0 , 3 ), ( 4 , 1 , 2 )) * - 1 tmp100 = einsum ( tmp99 , ( 0 , 1 , 2 , 3 ), tmp22 , ( 0 , 1 , 4 ), ( 2 , 4 , 3 )) * 2 del tmp99 tmp108 = einsum ( tmp107 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 1 , 4 , 3 )) del tmp107 tmp81 = einsum ( t1 . bb , ( 0 , 1 ), tmp38 , ( 0 , 2 ), ( 1 , 2 )) tmp87 = np . copy ( t2 . abab ) tmp87 += einsum ( t1 . aa , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp30 = np . copy ( ints . tmp117 ) tmp30 += v . aabb . ooov tmp79 = einsum ( t1 . aa , ( 0 , 1 ), tmp19 , ( 0 , 2 ), ( 1 , 2 )) tmp74 = np . copy ( ints . tmp120 ) tmp74 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp83 = np . copy ( ints . tmp114 ) * - 1 tmp83 += np . transpose ( ints . tmp114 , ( 0 , 2 , 1 , 3 )) tmp83 += v . bbbb . ooov tmp83 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp72 = np . copy ( ints . tmp111 ) * - 1 tmp72 += np . transpose ( ints . tmp111 , ( 0 , 2 , 1 , 3 )) tmp72 += v . aaaa . ooov tmp72 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp77 = np . copy ( t2 . abab ) tmp77 += einsum ( t1 . aa , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) tmp50 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp49 , ( 3 , 2 , 4 , 0 ), ( 3 , 1 , 4 )) * - 2 del tmp49 tmp41 = einsum ( tmp2 , ( 0 , 1 , 2 ), v . aaaa . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 tmp52 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 1 , 4 ), ( 2 , 4 , 3 )) * 2 del tmp51 tmp40 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 3 , 1 ), ( 0 , 4 , 2 )) tmp55 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp54 , ( 1 , 3 ), ( 2 , 0 , 3 )) * - 4 del tmp54 tmp42 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . aabb . ovoo , ( 3 , 4 , 1 , 0 ), ( 3 , 2 , 4 )) tmp47 = einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 0 ), ( 1 , 4 , 3 )) * - 2 del tmp46 tmp43 = einsum ( tmp16 , ( 0 ,), v . aaaa . ovov , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) * - 1 tmp39 = einsum ( r1 . a , ( 0 ,), v . aaaa . ovvv , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) tmp69 = np . copy ( t2 . aaaa ) tmp69 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp59 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . ovov , ( 3 , 4 , 2 , 0 ), ( 3 , 1 , 4 )) * - 1 tmp61 = einsum ( tmp60 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 0 ), ( 1 , 4 , 3 )) * - 1 del tmp60 tmp58 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp144 , ( 3 , 2 , 4 , 0 ), ( 3 , 4 , 1 )) * - 1 tmp65 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp64 , ( 3 , 1 ), ( 2 , 0 , 3 )) * - 1 del tmp64 tmp67 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp66 , ( 2 ,), ( 0 , 3 , 1 )) del tmp66 tmp57 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 3 , 2 ), ( 0 , 4 , 1 )) tmp26 = einsum ( r2 . aba , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 0 ), ( 2 , 3 , 1 )) tmp125 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp124 , ( 3 , 4 , 0 , 1 ), ( 2 , 4 , 3 )) * - 1 del tmp124 tmp123 = np . copy ( tmp113 ) * 2 del tmp113 tmp123 += tmp114 del tmp114 tmp123 += np . transpose ( tmp116 , ( 0 , 2 , 1 )) del tmp116 tmp123 += np . transpose ( tmp118 , ( 0 , 2 , 1 )) * - 2 del tmp118 tmp123 += np . transpose ( tmp122 , ( 0 , 2 , 1 )) * - 2 del tmp122 tmp112 = np . copy ( tmp92 ) del tmp92 tmp112 += tmp93 * 2 del tmp93 tmp112 += tmp94 * 2 del tmp94 tmp112 += np . transpose ( tmp98 , ( 0 , 2 , 1 )) * - 1 del tmp98 tmp112 += tmp100 * - 1 del tmp100 tmp112 += np . transpose ( tmp103 , ( 0 , 2 , 1 )) * - 1 del tmp103 tmp112 += np . transpose ( tmp105 , ( 0 , 2 , 1 )) * - 1 del tmp105 tmp112 += np . transpose ( tmp108 , ( 0 , 2 , 1 )) del tmp108 tmp112 += tmp111 del tmp111 tmp91 = np . copy ( f . bb . oo ) tmp91 += ints . tmp130 * 2 tmp91 += ints . tmp133 tmp91 += ints . tmp158 tmp91 += ints . tmp163 tmp91 += ints . tmp195 tmp91 += ints . tmp200 tmp91 += np . transpose ( ints . tmp22 , ( 1 , 0 )) tmp91 += ints . tmp156 * - 1 tmp91 += ints . tmp193 * - 1 tmp4 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 1 ), ( 3 , 2 , 0 )) * - 1 tmp89 = np . copy ( np . transpose ( ints . tmp175 , ( 1 , 0 ))) tmp89 += ints . tmp230 * 2 tmp89 += ints . tmp232 tmp89 += f . bb . vv * - 1 tmp89 += ints . tmp173 * - 1 tmp89 += ints . tmp177 * - 1 tmp89 += tmp81 tmp88 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp87 , ( 3 , 4 , 1 , 0 ), ( 3 , 2 , 4 )) * - 1 del tmp87 tmp85 = np . copy ( ints . tmp284 ) tmp85 += ints . tmp290 * 2 tmp85 += ints . tmp310 tmp85 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp85 += ints . tmp287 * - 1 tmp85 += einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 tmp18 = np . copy ( tmp15 ) del tmp15 tmp18 += tmp16 * 2 del tmp16 tmp18 += tmp17 del tmp17 tmp90 = np . copy ( np . transpose ( ints . tmp27 , ( 1 , 0 ))) tmp90 += ints . tmp47 * 2 tmp90 += ints . tmp49 tmp90 += f . aa . vv * - 1 tmp90 += np . transpose ( ints . tmp26 , ( 1 , 0 )) * - 1 tmp90 += np . transpose ( ints . tmp28 , ( 1 , 0 )) * - 1 tmp90 += tmp79 tmp86 = np . copy ( ints . tmp149 ) tmp86 += np . transpose ( ints . tmp185 , ( 0 , 1 , 3 , 2 )) * - 1 tmp86 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) * - 1 tmp86 += einsum ( t1 . aa , ( 0 , 1 ), tmp74 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp84 = np . copy ( ints . tmp285 ) * 2 tmp84 += ints . tmp292 tmp84 += np . transpose ( ints . tmp307 , ( 0 , 1 , 3 , 2 )) tmp84 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp84 += ints . tmp288 * - 2 tmp84 += np . transpose ( ints . tmp305 , ( 0 , 1 , 3 , 2 )) * - 1 tmp84 += v . bbbb . oovv * - 1 tmp84 += einsum ( tmp83 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp83 tmp80 = np . copy ( np . transpose ( ints . tmp27 , ( 1 , 0 ))) tmp80 += ints . tmp47 * 2 tmp80 += ints . tmp49 tmp80 += f . aa . vv * - 1 tmp80 += ints . tmp26 * - 1 tmp80 += ints . tmp28 * - 1 tmp80 += tmp79 del tmp79 tmp75 = np . copy ( ints . tmp141 ) tmp75 += ints . tmp147 * 2 tmp75 += ints . tmp186 tmp75 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp75 += ints . tmp144 * - 1 tmp75 += einsum ( t1 . bb , ( 0 , 1 ), tmp74 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp74 tmp71 = np . copy ( f . aa . oo ) tmp71 += ints . tmp127 * 2 tmp71 += ints . tmp136 tmp71 += ints . tmp153 tmp71 += ints . tmp160 tmp71 += ints . tmp190 tmp71 += ints . tmp197 tmp71 += np . transpose ( ints . tmp19 , ( 1 , 0 )) tmp71 += ints . tmp150 * - 1 tmp71 += ints . tmp187 * - 1 tmp73 = np . copy ( ints . tmp139 ) * 2 tmp73 += ints . tmp145 tmp73 += np . transpose ( ints . tmp183 , ( 0 , 1 , 3 , 2 )) tmp73 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp73 += ints . tmp142 * - 2 tmp73 += np . transpose ( ints . tmp181 , ( 0 , 1 , 3 , 2 )) * - 1 tmp73 += v . aaaa . oovv * - 1 tmp73 += einsum ( t1 . aa , ( 0 , 1 ), tmp72 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp72 tmp24 = einsum ( t1 . bb , ( 0 , 1 ), r2 . aba , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp76 = np . copy ( ints . tmp294 ) tmp76 += np . transpose ( ints . tmp309 , ( 0 , 1 , 3 , 2 )) * - 1 tmp76 += v . aabb . oovv * - 1 tmp76 += einsum ( t1 . bb , ( 0 , 1 ), tmp30 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp82 = np . copy ( np . transpose ( ints . tmp175 , ( 1 , 0 ))) tmp82 += ints . tmp230 * 2 tmp82 += ints . tmp232 tmp82 += f . bb . vv * - 1 tmp82 += np . transpose ( ints . tmp173 , ( 1 , 0 )) * - 1 tmp82 += np . transpose ( ints . tmp177 , ( 1 , 0 )) * - 1 tmp82 += tmp81 del tmp81 tmp78 = einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) del tmp77 tmp37 = np . copy ( tmp34 ) del tmp34 tmp37 += tmp35 * - 1 del tmp35 tmp37 += tmp36 * 2 del tmp36 tmp56 = np . copy ( tmp39 ) del tmp39 tmp56 += tmp40 * 2 del tmp40 tmp56 += tmp41 * 2 del tmp41 tmp56 += tmp42 del tmp42 tmp56 += tmp43 * 2 del tmp43 tmp56 += np . transpose ( tmp47 , ( 0 , 2 , 1 )) * - 1 del tmp47 tmp56 += np . transpose ( tmp50 , ( 0 , 2 , 1 )) del tmp50 tmp56 += tmp52 * - 1 del tmp52 tmp56 += np . transpose ( tmp55 , ( 0 , 2 , 1 )) * - 1 del tmp55 tmp70 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 3 , 4 ), ( 4 , 1 , 0 )) * - 1 del tmp69 tmp68 = np . copy ( tmp57 ) * 2 del tmp57 tmp68 += tmp58 del tmp58 tmp68 += tmp59 del tmp59 tmp68 += np . transpose ( tmp61 , ( 0 , 2 , 1 )) * - 2 del tmp61 tmp68 += np . transpose ( tmp65 , ( 0 , 2 , 1 )) * - 2 del tmp65 tmp68 += np . transpose ( tmp67 , ( 0 , 2 , 1 )) del tmp67 tmp31 = einsum ( t1 . bb , ( 0 , 1 ), tmp22 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * - 1 tmp32 = np . copy ( ints . tmp114 ) tmp32 += v . bbbb . ooov * - 1 tmp21 = np . copy ( np . transpose ( ints . tmp238 , ( 0 , 3 , 1 , 2 ))) * 0.5 tmp21 += np . transpose ( ints . tmp247 , ( 0 , 2 , 1 , 3 )) tmp21 += np . transpose ( ints . tmp254 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp21 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) * 0.5 tmp21 += ints . tmp226 * - 0.5 tmp21 += np . transpose ( ints . tmp250 , ( 0 , 2 , 1 , 3 )) * - 1 tmp21 += np . transpose ( ints . tmp276 , ( 0 , 3 , 1 , 2 )) * - 0.5 tmp27 = np . copy ( np . transpose ( ints . tmp309 , ( 0 , 1 , 3 , 2 ))) tmp27 += v . aabb . oovv tmp27 += ints . tmp294 * - 1 tmp29 = einsum ( t1 . bb , ( 0 , 1 ), tmp26 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) tmp33 = np . copy ( np . transpose ( ints . tmp175 , ( 1 , 0 ))) tmp33 += ints . tmp230 * 2 tmp33 += ints . tmp232 tmp33 += f . bb . vv * - 1 tmp33 += np . transpose ( ints . tmp173 , ( 1 , 0 )) * - 1 tmp33 += np . transpose ( ints . tmp177 , ( 1 , 0 )) * - 1 tmp28 = np . copy ( ints . tmp112 ) * 2 tmp28 += ints . tmp118 tmp28 += ints . tmp128 * 2 tmp28 += ints . tmp137 tmp28 += ints . tmp154 tmp28 += ints . tmp161 tmp28 += ints . tmp171 tmp28 += ints . tmp191 tmp28 += ints . tmp198 tmp28 += ints . tmp20 tmp28 += ints . tmp2 tmp28 += ints . tmp31 tmp28 += ints . tmp51 * 2 tmp28 += ints . tmp57 tmp28 += ints . tmp63 * 2 tmp28 += ints . tmp83 * 2 tmp28 += ints . tmp90 tmp28 += f . aa . ov * - 1 tmp28 += ints . tmp101 * - 1 tmp28 += ints . tmp11 * - 1 tmp28 += ints . tmp151 * - 1 tmp28 += ints . tmp169 * - 1 tmp28 += ints . tmp179 * - 1 tmp28 += ints . tmp188 * - 1 tmp28 += ints . tmp29 * - 1 tmp28 += ints . tmp36 * - 1 tmp28 += ints . tmp5 * - 1 tmp28 += ints . tmp69 * - 1 tmp28 += ints . tmp86 * - 2 tmp28 += ints . tmp8 * - 2 tmp28 += ints . tmp94 * - 1 tmp28 += ints . tmp98 * - 2 tmp23 = np . copy ( ints . tmp285 ) * 2 tmp23 += ints . tmp292 tmp23 += np . transpose ( ints . tmp307 , ( 0 , 1 , 3 , 2 )) tmp23 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp23 += ints . tmp288 * - 2 tmp23 += np . transpose ( ints . tmp305 , ( 0 , 1 , 3 , 2 )) * - 1 tmp23 += v . bbbb . oovv * - 1 tmp20 = np . copy ( ints . tmp228 ) tmp20 += np . transpose ( ints . tmp240 , ( 0 , 1 , 3 , 2 )) tmp20 += ints . tmp246 tmp20 += ints . tmp252 * 2 tmp20 += np . transpose ( ints . tmp278 , ( 0 , 1 , 3 , 2 )) tmp20 += v . aabb . ovvv tmp20 += ints . tmp249 * - 1 tmp20 += np . transpose ( ints . tmp256 , ( 0 , 1 , 3 , 2 )) * - 1 tmp25 = np . copy ( ints . tmp284 ) tmp25 += ints . tmp290 * 2 tmp25 += ints . tmp310 tmp25 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp25 += ints . tmp287 * - 1 tmp9 = np . copy ( ints . tmp115 ) * 2 tmp9 += ints . tmp121 tmp9 += ints . tmp131 * 2 tmp9 += ints . tmp134 tmp9 += ints . tmp159 tmp9 += ints . tmp164 tmp9 += ints . tmp176 tmp9 += ints . tmp196 tmp9 += ints . tmp201 tmp9 += ints . tmp23 tmp9 += ints . tmp34 tmp9 += ints . tmp4 tmp9 += ints . tmp53 * 2 tmp9 += ints . tmp55 tmp9 += ints . tmp65 * 2 tmp9 += ints . tmp85 tmp9 += ints . tmp92 * 2 tmp9 += f . bb . ov * - 1 tmp9 += ints . tmp100 * - 1 tmp9 += ints . tmp103 * - 2 tmp9 += ints . tmp10 * - 1 tmp9 += ints . tmp13 * - 2 tmp9 += ints . tmp157 * - 1 tmp9 += ints . tmp174 * - 1 tmp9 += ints . tmp178 * - 1 tmp9 += ints . tmp194 * - 1 tmp9 += ints . tmp33 * - 1 tmp9 += ints . tmp35 * - 1 tmp9 += ints . tmp67 * - 1 tmp9 += ints . tmp7 * - 1 tmp9 += ints . tmp88 * - 1 tmp9 += ints . tmp96 * - 2 tmp10 = einsum ( tmp6 , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 3 , 0 , 1 )) tmp5 = np . copy ( ints . tmp141 ) tmp5 += ints . tmp147 * 2 tmp5 += ints . tmp186 tmp5 += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) tmp5 += ints . tmp144 * - 1 tmp0 = np . copy ( ints . tmp125 ) tmp0 += np . transpose ( ints . tmp45 , ( 0 , 2 , 1 , 3 )) tmp0 += ints . tmp61 tmp0 += np . transpose ( ints . tmp73 , ( 0 , 2 , 1 , 3 )) tmp0 += np . transpose ( ints . tmp79 , ( 0 , 2 , 1 , 3 )) * 2 tmp0 += np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 )) tmp0 += np . transpose ( ints . tmp76 , ( 0 , 2 , 1 , 3 )) * - 1 tmp0 += ints . tmp81 * - 1 tmp11 = np . copy ( ints . tmp120 ) tmp11 += np . transpose ( v . aabb . ovoo , ( 0 , 2 , 3 , 1 )) tmp7 = np . copy ( np . transpose ( ints . tmp185 , ( 0 , 1 , 3 , 2 ))) tmp7 += np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 )) tmp7 += ints . tmp149 * - 1 tmp8 = np . copy ( ints . tmp112 ) tmp8 += ints . tmp118 * 0.5 tmp8 += ints . tmp128 tmp8 += ints . tmp137 * 0.5 tmp8 += ints . tmp154 * 0.5 tmp8 += ints . tmp161 * 0.5 tmp8 += ints . tmp171 * 0.5 tmp8 += ints . tmp191 * 0.5 tmp8 += ints . tmp198 * 0.5 tmp8 += ints . tmp20 * 0.5 tmp8 += ints . tmp2 * 0.5 tmp8 += ints . tmp31 * 0.5 tmp8 += ints . tmp51 tmp8 += ints . tmp57 * 0.5 tmp8 += ints . tmp63 tmp8 += ints . tmp83 tmp8 += ints . tmp90 * 0.5 tmp8 += f . aa . ov * - 0.5 tmp8 += ints . tmp101 * - 0.5 tmp8 += ints . tmp11 * - 0.5 tmp8 += ints . tmp151 * - 0.5 tmp8 += ints . tmp169 * - 0.5 tmp8 += ints . tmp179 * - 0.5 tmp8 += ints . tmp188 * - 0.5 tmp8 += ints . tmp29 * - 0.5 tmp8 += ints . tmp36 * - 0.5 tmp8 += ints . tmp5 * - 0.5 tmp8 += ints . tmp69 * - 0.5 tmp8 += ints . tmp86 * - 1 tmp8 += ints . tmp8 * - 1 tmp8 += ints . tmp94 * - 0.5 tmp8 += ints . tmp98 * - 1 tmp14 = np . copy ( np . transpose ( ints . tmp27 , ( 1 , 0 ))) tmp14 += ints . tmp47 * 2 tmp14 += ints . tmp49 tmp14 += f . aa . vv * - 1 tmp14 += np . transpose ( ints . tmp26 , ( 1 , 0 )) * - 1 tmp14 += np . transpose ( ints . tmp28 , ( 1 , 0 )) * - 1 tmp3 = np . copy ( ints . tmp139 ) * 2 tmp3 += ints . tmp145 tmp3 += np . transpose ( ints . tmp183 , ( 0 , 1 , 3 , 2 )) tmp3 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp3 += ints . tmp142 * - 2 tmp3 += np . transpose ( ints . tmp181 , ( 0 , 1 , 3 , 2 )) * - 1 tmp3 += v . aaaa . oovv * - 1 tmp13 = np . copy ( ints . tmp111 ) tmp13 += v . aaaa . ooov * - 1 tmp1 = np . copy ( ints . tmp59 ) * 0.5 tmp1 += np . transpose ( ints . tmp71 , ( 0 , 1 , 3 , 2 )) tmp1 += np . transpose ( ints . tmp77 , ( 0 , 1 , 3 , 2 )) * 0.5 tmp1 += v . aaaa . ovvv * 0.5 tmp1 += ints . tmp123 * - 0.5 tmp1 += np . transpose ( ints . tmp43 , ( 0 , 2 , 3 , 1 )) * - 0.5 tmp1 += np . transpose ( ints . tmp74 , ( 0 , 1 , 3 , 2 )) * - 1 tmp12 = einsum ( t1 . aa , ( 0 , 1 ), tmp2 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * - 1 r2new . bbb = einsum ( v . bbbb . vvvv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) * 2 r2new . bbb += np . transpose ( tmp112 , ( 1 , 2 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp112 , ( 2 , 1 , 0 )) del tmp112 r2new . bbb += np . transpose ( tmp123 , ( 1 , 2 , 0 )) r2new . bbb += np . transpose ( tmp123 , ( 2 , 1 , 0 )) * - 1 del tmp123 r2new . bbb += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), tmp125 , ( 4 , 0 , 2 ), ( 3 , 1 , 4 )) * - 2 del tmp125 r2new . bbb += einsum ( tmp91 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp38 , ( 1 , 2 ), ( 0 , 2 , 1 )) r2new . bbb += einsum ( tmp38 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 1 , 2 , 0 )) * - 1 r2new . bab = einsum ( tmp4 , ( 0 , 1 , 2 ), v . aabb . ovvv , ( 0 , 3 , 4 , 2 ), ( 4 , 3 , 1 )) r2new . bab += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 2 , 1 ), ( 3 , 0 , 4 )) r2new . bab += einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 2 , 0 , 4 )) r2new . bab += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 3 , 0 , 2 )) * - 1 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp84 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 , 3 )) del tmp84 r2new . bab += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp85 , ( 2 , 3 , 1 , 4 ), ( 4 , 0 , 3 )) * - 2 del tmp85 r2new . bab += einsum ( tmp86 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) del tmp86 r2new . bab += einsum ( tmp88 , ( 0 , 1 , 2 ), v . aabb . ovov , ( 0 , 3 , 2 , 4 ), ( 4 , 3 , 1 )) * - 1 del tmp88 r2new . bab += einsum ( tmp89 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 del tmp89 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp90 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp90 r2new . bab += einsum ( tmp91 , ( 0 , 1 ), r2 . bab , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp91 r2new . bab += einsum ( tmp18 , ( 0 ,), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 3 , 1 , 2 )) r2new . bab += einsum ( r1 . a , ( 0 ,), tmp38 , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new . aba = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), tmp24 , ( 4 , 2 , 1 ), ( 0 , 3 , 4 )) * - 1 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . vvvv , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) r2new . aba += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 1 , 2 , 0 )) * - 1 r2new . aba += einsum ( tmp26 , ( 0 , 1 , 2 ), v . aabb . ovvv , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) * - 1 r2new . aba += einsum ( tmp73 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 3 , 4 , 1 )) del tmp73 r2new . aba += einsum ( tmp75 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 1 ), ( 2 , 4 , 0 )) * - 2 del tmp75 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp76 , ( 2 , 3 , 1 , 4 ), ( 0 , 4 , 3 )) del tmp76 r2new . aba += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp78 , ( 4 , 0 , 2 ), ( 1 , 3 , 4 )) del tmp78 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp80 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp80 r2new . aba += einsum ( tmp82 , ( 0 , 1 ), r2 . aba , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp82 r2new . aba += einsum ( tmp71 , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aba += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), tmp37 , ( 2 ,), ( 1 , 3 , 0 )) r2new . aba += einsum ( r1 . b , ( 0 ,), tmp19 , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new . aaa = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . aaaa . vvvv , ( 3 , 1 , 4 , 0 ), ( 3 , 4 , 2 )) * - 2 r2new . aaa += np . transpose ( tmp56 , ( 1 , 2 , 0 )) * - 1 r2new . aaa += np . transpose ( tmp56 , ( 2 , 1 , 0 )) del tmp56 r2new . aaa += np . transpose ( tmp68 , ( 1 , 2 , 0 )) r2new . aaa += np . transpose ( tmp68 , ( 2 , 1 , 0 )) * - 1 del tmp68 r2new . aaa += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), tmp70 , ( 4 , 0 , 2 ), ( 3 , 1 , 4 )) * - 2 del tmp70 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp71 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp71 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp19 , ( 1 , 2 ), ( 0 , 2 , 1 )) r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp19 , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp20 , ( 2 , 0 , 3 , 1 ), ( 3 ,)) * - 1 del tmp20 r1new . b += einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 0 ), ( 1 ,)) * - 4 del tmp21 r1new . b += einsum ( tmp22 , ( 0 , 1 , 2 ), tmp23 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * 2 del tmp22 , tmp23 r1new . b += einsum ( tmp24 , ( 0 , 1 , 2 ), tmp25 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) del tmp24 , tmp25 r1new . b += einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), tmp26 , ( 0 , 1 , 2 ), ( 3 ,)) del tmp26 , tmp27 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp9 , ( 2 , 1 ), ( 0 ,)) * - 2 r1new . b += einsum ( tmp28 , ( 0 , 1 ), r2 . aba , ( 1 , 2 , 0 ), ( 2 ,)) del tmp28 r1new . b += einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 0 , 1 , 2 ), ( 3 ,)) * - 1 del tmp30 , tmp29 r1new . b += einsum ( tmp31 , ( 0 , 1 , 2 ), tmp32 , ( 0 , 2 , 1 , 3 ), ( 3 ,)) * - 2 del tmp31 , tmp32 r1new . b += einsum ( r1 . b , ( 0 ,), tmp33 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp33 r1new . b += einsum ( tmp38 , ( 0 , 1 ), tmp37 , ( 0 ,), ( 1 ,)) * - 1 del tmp38 , tmp37 r1new . a = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp0 , ( 2 , 1 , 3 , 0 ), ( 3 ,)) * - 1 del tmp0 r1new . a += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 1 , 0 ), ( 3 ,)) * 4 del tmp1 r1new . a += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 1 , 2 ), ( 3 ,)) * 2 del tmp2 , tmp3 r1new . a += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 1 , 3 ), ( 2 ,)) * - 1 del tmp4 , tmp5 r1new . a += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 0 , 1 , 2 ), ( 3 ,)) * - 1 del tmp6 , tmp7 r1new . a += einsum ( tmp8 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 0 ), ( 2 ,)) * - 4 del tmp8 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp9 , ( 2 , 0 ), ( 1 ,)) del tmp9 r1new . a += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 0 , 1 , 2 ), ( 3 ,)) del tmp11 , tmp10 r1new . a += einsum ( tmp12 , ( 0 , 1 , 2 ), tmp13 , ( 0 , 2 , 1 , 3 ), ( 3 ,)) * - 2 del tmp12 , tmp13 r1new . a += einsum ( r1 . a , ( 0 ,), tmp14 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp14 r1new . a += einsum ( tmp18 , ( 0 ,), tmp19 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp19 , tmp18 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UCCSDT/","text":"","title":"UCCSDT"},{"location":"reference/codegen/UCCSD_SD_1_1/","text":"","title":"UCCSD SD 1 1"},{"location":"reference/codegen/UCCSD_SD_1_2/","text":"","title":"UCCSD SD 1 2"},{"location":"reference/codegen/UCCSD_S_1_1/","text":"","title":"UCCSD S 1 1"},{"location":"reference/codegen/UCCSDwtwp/","text":"","title":"UCCSDwtwp"},{"location":"reference/codegen/UCCSDxTx/","text":"","title":"UCCSDxTx"},{"location":"reference/codegen/UDCD/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-09T22:08:33.610088 python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0] albert version: 0.0.0 caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py node: fv-az1487-369 system: Linux processor: x86_64 release: 6.5.0-1025-azure ebcc . codegen . UDCD . energy ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T22:08:34.143354. Parameters t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns e_cc : float Coupled cluster energy. Source code in ebcc/codegen/UDCD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:08:34.143354. 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 , 3 , 1 ), ()) * - 1 e_cc += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ()) e_cc += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 1 , 3 ), ()) return e_cc ebcc . codegen . UDCD . update_amps ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T22:08:47.247920. 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. Source code in ebcc/codegen/UDCD.py 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 def update_amps ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:08:47.247920. 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 () tmp22 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) * - 1 tmp21 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp26 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 1 , 4 ), ( 3 , 4 )) tmp27 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 tmp32 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp34 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) tmp1 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp0 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp15 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp12 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp35 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp37 = np . copy ( f . bb . oo ) tmp37 += tmp21 * 0.5 tmp37 += tmp22 tmp41 = np . copy ( f . bb . vv ) * - 1 tmp41 += tmp26 * 0.5 tmp41 += tmp27 tmp46 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 ))) tmp46 += tmp32 tmp44 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp44 += tmp34 tmp48 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp48 += tmp34 * 0.5 tmp7 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp6 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp10 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp2 = np . copy ( f . aa . oo ) tmp2 += tmp0 tmp2 += tmp1 * 0.5 tmp18 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp18 += tmp15 * 0.5 tmp13 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) tmp13 += tmp12 tmp16 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp16 += tmp15 tmp43 = einsum ( tmp35 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) t2new . bbbb = np . copy ( np . transpose ( tmp43 , ( 1 , 0 , 2 , 3 ))) * - 1 t2new . bbbb += np . transpose ( tmp43 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp43 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += tmp43 t2new . bbbb += np . transpose ( tmp43 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp43 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp43 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += tmp43 del tmp43 tmp38 = einsum ( tmp37 , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 del tmp37 t2new . bbbb += np . transpose ( tmp38 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp38 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp38 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp38 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp38 tmp40 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) t2new . bbbb += np . transpose ( tmp40 , ( 0 , 1 , 3 , 2 )) * 2 t2new . bbbb += tmp40 * - 2 t2new . bbbb += np . transpose ( tmp40 , ( 1 , 0 , 2 , 3 )) * 2 t2new . bbbb += np . transpose ( tmp40 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp40 tmp42 = einsum ( tmp41 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 2 del tmp41 t2new . bbbb += np . transpose ( tmp42 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp42 , ( 1 , 0 , 2 , 3 )) del tmp42 tmp47 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp46 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp46 t2new . bbbb += np . transpose ( tmp47 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp47 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp47 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp47 del tmp47 tmp39 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . oooo , ( 4 , 1 , 5 , 0 ), ( 4 , 5 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp39 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp39 , ( 1 , 0 , 3 , 2 )) del tmp39 tmp45 = einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * 0.5 del tmp44 t2new . bbbb += np . transpose ( tmp45 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += tmp45 del tmp45 tmp50 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . vvvv , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) * - 1 t2new . bbbb += np . transpose ( tmp50 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp50 , ( 1 , 0 , 3 , 2 )) del tmp50 tmp49 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp48 t2new . bbbb += np . transpose ( tmp49 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp49 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp49 tmp25 = np . copy ( f . aa . vv ) * - 1 tmp25 += np . transpose ( tmp6 , ( 1 , 0 )) tmp25 += np . transpose ( tmp7 , ( 1 , 0 )) * 0.5 t2new . abab = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp25 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 del tmp25 tmp24 = np . copy ( f . aa . oo ) tmp24 += np . transpose ( tmp0 , ( 1 , 0 )) del tmp0 tmp24 += np . transpose ( tmp1 , ( 1 , 0 )) * 0.5 del tmp1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp24 , ( 0 , 4 ), ( 4 , 1 , 2 , 3 )) * - 1 del tmp24 tmp36 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp36 += tmp34 * 0.5 del tmp34 tmp36 += tmp35 del tmp35 t2new . abab += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp36 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * 2 del tmp36 tmp23 = np . copy ( f . bb . oo ) tmp23 += np . transpose ( tmp21 , ( 1 , 0 )) * 0.5 del tmp21 tmp23 += np . transpose ( tmp22 , ( 1 , 0 )) del tmp22 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp23 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp23 tmp28 = np . copy ( f . bb . vv ) * - 1 tmp28 += np . transpose ( tmp26 , ( 1 , 0 )) * 0.5 del tmp26 tmp28 += np . transpose ( tmp27 , ( 1 , 0 )) del tmp27 t2new . abab += einsum ( tmp28 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp28 tmp31 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) t2new . abab += tmp31 * 0.5 t2new . abab += tmp31 * 0.5 del tmp31 tmp30 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) tmp30 += np . transpose ( tmp12 , ( 1 , 0 , 3 , 2 )) del tmp12 tmp30 += np . transpose ( tmp10 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . abab += einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp30 tmp33 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp33 += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 2 , 4 , 3 , 5 )) tmp33 += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * 2 del tmp32 t2new . abab += einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * 0.5 del tmp33 tmp29 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp29 += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp29 += tmp15 * 0.5 del tmp15 t2new . abab += einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 2 del tmp29 tmp4 = einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 3 , 1 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) * - 1 t2new . aaaa = np . copy ( np . transpose ( tmp4 , ( 1 , 0 , 3 , 2 ))) t2new . aaaa += np . transpose ( tmp4 , ( 1 , 0 , 3 , 2 )) del tmp4 tmp11 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp10 t2new . aaaa += np . transpose ( tmp11 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp11 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp11 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += tmp11 t2new . aaaa += np . transpose ( tmp11 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp11 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp11 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += tmp11 del tmp11 tmp3 = einsum ( tmp2 , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 1 del tmp2 t2new . aaaa += np . transpose ( tmp3 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp3 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp3 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp3 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp3 tmp20 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . vvvv , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) * - 1 t2new . aaaa += np . transpose ( tmp20 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp20 , ( 1 , 0 , 3 , 2 )) del tmp20 tmp5 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) t2new . aaaa += np . transpose ( tmp5 , ( 0 , 1 , 3 , 2 )) * 2 t2new . aaaa += tmp5 * - 2 t2new . aaaa += np . transpose ( tmp5 , ( 1 , 0 , 2 , 3 )) * 2 t2new . aaaa += np . transpose ( tmp5 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp5 tmp19 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp18 t2new . aaaa += tmp19 t2new . aaaa += np . transpose ( tmp19 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp19 tmp14 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp13 t2new . aaaa += np . transpose ( tmp14 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp14 t2new . aaaa += np . transpose ( tmp14 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp14 , ( 1 , 0 , 3 , 2 )) del tmp14 tmp9 = np . copy ( f . aa . vv ) * - 2 tmp9 += tmp6 * 2 tmp9 += tmp7 t2new . aaaa += einsum ( tmp9 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 1 del tmp9 tmp8 = np . copy ( f . aa . vv ) * - 1 tmp8 += tmp6 del tmp6 tmp8 += tmp7 * 0.5 del tmp7 t2new . aaaa += einsum ( tmp8 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * 2 del tmp8 tmp17 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 0.5 del tmp16 t2new . aaaa += np . transpose ( tmp17 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) del tmp17 t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . oooo , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) t2new . abab += einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 t2new . abab += einsum ( v . aabb . oovv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * - 1 t2new . abab += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) t2new . abab += einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvoo , ( 4 , 2 , 5 , 1 ), ( 0 , 5 , 4 , 3 )) * - 1 t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 )) * - 1 return { f \"t2new\" : t2new }","title":"UDCD"},{"location":"reference/codegen/UDCD/#ebcc.codegen.UDCD.energy","text":"Code generated by albert 0.0.0 on 2024-08-09T22:08:34.143354.","title":"energy"},{"location":"reference/codegen/UDCD/#ebcc.codegen.UDCD.energy--parameters","text":"t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UDCD/#ebcc.codegen.UDCD.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/UDCD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:08:34.143354. 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 , 3 , 1 ), ()) * - 1 e_cc += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ()) e_cc += einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 1 , 3 ), ()) return e_cc","title":"Returns"},{"location":"reference/codegen/UDCD/#ebcc.codegen.UDCD.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-09T22:08:47.247920.","title":"update_amps"},{"location":"reference/codegen/UDCD/#ebcc.codegen.UDCD.update_amps--parameters","text":"f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UDCD/#ebcc.codegen.UDCD.update_amps--returns","text":"t2new : Namespace of arrays Updated T2 residuals. Source code in ebcc/codegen/UDCD.py 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 def update_amps ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:08:47.247920. 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 () tmp22 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) * - 1 tmp21 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp26 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 1 , 4 ), ( 3 , 4 )) tmp27 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 tmp32 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp34 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) tmp1 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp0 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp15 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp12 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) tmp35 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp37 = np . copy ( f . bb . oo ) tmp37 += tmp21 * 0.5 tmp37 += tmp22 tmp41 = np . copy ( f . bb . vv ) * - 1 tmp41 += tmp26 * 0.5 tmp41 += tmp27 tmp46 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 ))) tmp46 += tmp32 tmp44 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp44 += tmp34 tmp48 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp48 += tmp34 * 0.5 tmp7 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp6 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp10 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) tmp2 = np . copy ( f . aa . oo ) tmp2 += tmp0 tmp2 += tmp1 * 0.5 tmp18 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp18 += tmp15 * 0.5 tmp13 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) tmp13 += tmp12 tmp16 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp16 += tmp15 tmp43 = einsum ( tmp35 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) t2new . bbbb = np . copy ( np . transpose ( tmp43 , ( 1 , 0 , 2 , 3 ))) * - 1 t2new . bbbb += np . transpose ( tmp43 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp43 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += tmp43 t2new . bbbb += np . transpose ( tmp43 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp43 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp43 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += tmp43 del tmp43 tmp38 = einsum ( tmp37 , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 del tmp37 t2new . bbbb += np . transpose ( tmp38 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp38 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp38 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp38 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp38 tmp40 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) t2new . bbbb += np . transpose ( tmp40 , ( 0 , 1 , 3 , 2 )) * 2 t2new . bbbb += tmp40 * - 2 t2new . bbbb += np . transpose ( tmp40 , ( 1 , 0 , 2 , 3 )) * 2 t2new . bbbb += np . transpose ( tmp40 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp40 tmp42 = einsum ( tmp41 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * - 2 del tmp41 t2new . bbbb += np . transpose ( tmp42 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp42 , ( 1 , 0 , 2 , 3 )) del tmp42 tmp47 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp46 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp46 t2new . bbbb += np . transpose ( tmp47 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp47 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp47 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp47 del tmp47 tmp39 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . oooo , ( 4 , 1 , 5 , 0 ), ( 4 , 5 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp39 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp39 , ( 1 , 0 , 3 , 2 )) del tmp39 tmp45 = einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * 0.5 del tmp44 t2new . bbbb += np . transpose ( tmp45 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += tmp45 del tmp45 tmp50 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . vvvv , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) * - 1 t2new . bbbb += np . transpose ( tmp50 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp50 , ( 1 , 0 , 3 , 2 )) del tmp50 tmp49 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp48 t2new . bbbb += np . transpose ( tmp49 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp49 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp49 tmp25 = np . copy ( f . aa . vv ) * - 1 tmp25 += np . transpose ( tmp6 , ( 1 , 0 )) tmp25 += np . transpose ( tmp7 , ( 1 , 0 )) * 0.5 t2new . abab = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp25 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 del tmp25 tmp24 = np . copy ( f . aa . oo ) tmp24 += np . transpose ( tmp0 , ( 1 , 0 )) del tmp0 tmp24 += np . transpose ( tmp1 , ( 1 , 0 )) * 0.5 del tmp1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp24 , ( 0 , 4 ), ( 4 , 1 , 2 , 3 )) * - 1 del tmp24 tmp36 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp36 += tmp34 * 0.5 del tmp34 tmp36 += tmp35 del tmp35 t2new . abab += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp36 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * 2 del tmp36 tmp23 = np . copy ( f . bb . oo ) tmp23 += np . transpose ( tmp21 , ( 1 , 0 )) * 0.5 del tmp21 tmp23 += np . transpose ( tmp22 , ( 1 , 0 )) del tmp22 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp23 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp23 tmp28 = np . copy ( f . bb . vv ) * - 1 tmp28 += np . transpose ( tmp26 , ( 1 , 0 )) * 0.5 del tmp26 tmp28 += np . transpose ( tmp27 , ( 1 , 0 )) del tmp27 t2new . abab += einsum ( tmp28 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp28 tmp31 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvvv , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) t2new . abab += tmp31 * 0.5 t2new . abab += tmp31 * 0.5 del tmp31 tmp30 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) tmp30 += np . transpose ( tmp12 , ( 1 , 0 , 3 , 2 )) del tmp12 tmp30 += np . transpose ( tmp10 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . abab += einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp30 tmp33 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 ))) * 2 tmp33 += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 2 , 4 , 3 , 5 )) tmp33 += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * 2 del tmp32 t2new . abab += einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * 0.5 del tmp33 tmp29 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp29 += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 1 ), ( 4 , 2 , 5 , 3 )) tmp29 += tmp15 * 0.5 del tmp15 t2new . abab += einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 2 del tmp29 tmp4 = einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 3 , 1 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) * - 1 t2new . aaaa = np . copy ( np . transpose ( tmp4 , ( 1 , 0 , 3 , 2 ))) t2new . aaaa += np . transpose ( tmp4 , ( 1 , 0 , 3 , 2 )) del tmp4 tmp11 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp10 t2new . aaaa += np . transpose ( tmp11 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp11 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp11 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += tmp11 t2new . aaaa += np . transpose ( tmp11 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp11 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp11 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += tmp11 del tmp11 tmp3 = einsum ( tmp2 , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 1 del tmp2 t2new . aaaa += np . transpose ( tmp3 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp3 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp3 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp3 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp3 tmp20 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . vvvv , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) * - 1 t2new . aaaa += np . transpose ( tmp20 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp20 , ( 1 , 0 , 3 , 2 )) del tmp20 tmp5 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . oovv , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) t2new . aaaa += np . transpose ( tmp5 , ( 0 , 1 , 3 , 2 )) * 2 t2new . aaaa += tmp5 * - 2 t2new . aaaa += np . transpose ( tmp5 , ( 1 , 0 , 2 , 3 )) * 2 t2new . aaaa += np . transpose ( tmp5 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp5 tmp19 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp18 t2new . aaaa += tmp19 t2new . aaaa += np . transpose ( tmp19 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp19 tmp14 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp13 t2new . aaaa += np . transpose ( tmp14 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp14 t2new . aaaa += np . transpose ( tmp14 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp14 , ( 1 , 0 , 3 , 2 )) del tmp14 tmp9 = np . copy ( f . aa . vv ) * - 2 tmp9 += tmp6 * 2 tmp9 += tmp7 t2new . aaaa += einsum ( tmp9 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 1 del tmp9 tmp8 = np . copy ( f . aa . vv ) * - 1 tmp8 += tmp6 del tmp6 tmp8 += tmp7 * 0.5 del tmp7 t2new . aaaa += einsum ( tmp8 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * 2 del tmp8 tmp17 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 0.5 del tmp16 t2new . aaaa += np . transpose ( tmp17 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) del tmp17 t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . oooo , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) t2new . abab += einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 t2new . abab += einsum ( v . aabb . oovv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * - 1 t2new . abab += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) t2new . abab += einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvoo , ( 4 , 2 , 5 , 1 ), ( 0 , 5 , 4 , 3 )) * - 1 t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 )) * - 1 return { f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/UDCSD/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-09T22:09:36.737630 python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0] albert version: 0.0.0 caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py node: fv-az1487-369 system: Linux processor: x86_64 release: 6.5.0-1025-azure ebcc . codegen . UDCSD . energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T22:09:38.011127. 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. Source code in ebcc/codegen/UDCSD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:09:38.011127. 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 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp0 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp2 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp2 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp1 = np . copy ( f . bb . ov ) * 2 tmp1 += einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) * 2 tmp1 += einsum ( t1 . bb , ( 0 , 1 ), tmp0 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * - 1 del tmp0 e_cc = einsum ( tmp1 , ( 0 , 1 ), t1 . bb , ( 0 , 1 ), ()) * 0.5 del tmp1 tmp3 = np . copy ( f . aa . ov ) * 2 tmp3 += einsum ( t1 . aa , ( 0 , 1 ), tmp2 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) * - 1 del tmp2 e_cc += einsum ( t1 . aa , ( 0 , 1 ), tmp3 , ( 0 , 1 ), ()) * 0.5 del tmp3 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 e_cc += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 1 , 3 ), ()) return e_cc ebcc . codegen . UDCSD . update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T22:10:33.687348. 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. Source code in ebcc/codegen/UDCSD.py 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:10:33.687348. 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 () tmp14 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp14 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp7 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp7 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp21 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) t1new . bb = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * 2 tmp15 = einsum ( t1 . bb , ( 0 , 1 ), tmp14 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp14 tmp13 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) t1new . bb += tmp13 tmp154 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp154 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp0 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) t1new . aa = np . copy ( tmp0 ) tmp8 = einsum ( t1 . aa , ( 0 , 1 ), tmp7 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) del tmp7 tmp54 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp54 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp1 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) t1new . aa += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * 2 tmp22 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) t1new . bb += einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 tmp165 = np . copy ( v . bbbb . ovvv ) * - 1 tmp165 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) tmp167 = np . copy ( tmp21 ) * - 1 tmp167 += np . transpose ( tmp21 , ( 0 , 2 , 1 , 3 )) tmp30 = np . copy ( v . bbbb . ooov ) tmp30 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp174 = np . copy ( v . bbbb . ooov ) * - 1 tmp174 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) tmp16 = np . copy ( f . bb . ov ) tmp16 += tmp13 tmp16 += tmp15 * - 1 del tmp15 t1new . bb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp16 , ( 1 , 3 ), ( 0 , 2 )) * 2 t1new . aa += einsum ( tmp16 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp105 = np . copy ( v . bbbb . ovvv ) * - 1 tmp105 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) tmp155 = einsum ( t1 . bb , ( 0 , 1 ), tmp154 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp154 tmp18 = np . copy ( v . aaaa . ooov ) * - 1 tmp18 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) tmp9 = np . copy ( f . aa . ov ) tmp9 += tmp0 tmp9 += tmp8 * - 1 del tmp8 t1new . bb += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp9 , ( 0 , 2 ), ( 1 , 3 )) t1new . aa += einsum ( tmp9 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 2 tmp43 = np . copy ( v . aaaa . ovvv ) tmp43 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 3 , 1 )) * - 1 tmp55 = einsum ( t1 . aa , ( 0 , 1 ), tmp54 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) del tmp54 tmp2 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 tmp78 = np . copy ( v . aaaa . ooov ) * - 1 tmp78 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) tmp70 = np . copy ( tmp1 ) * - 1 tmp70 += np . transpose ( tmp1 , ( 0 , 2 , 1 , 3 )) tmp68 = np . copy ( v . aaaa . ovvv ) * - 1 tmp68 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) tmp113 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) t2new . abab = np . copy ( tmp113 ) * - 1 tmp112 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovvv , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) t2new . abab += tmp112 tmp166 = einsum ( tmp165 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) del tmp165 tmp168 = einsum ( t1 . bb , ( 0 , 1 ), tmp167 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp167 tmp150 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp159 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) t2new . bbbb = np . copy ( np . transpose ( tmp159 , ( 1 , 0 , 3 , 2 ))) * - 1 t2new . bbbb += np . transpose ( tmp159 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += tmp159 * - 1 t2new . bbbb += np . transpose ( tmp159 , ( 1 , 0 , 2 , 3 )) tmp25 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) * - 1 tmp24 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp29 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp31 = einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 )) del tmp30 tmp175 = einsum ( tmp174 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp174 tmp127 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) t2new . bbbb += tmp127 * 2 t2new . bbbb += np . transpose ( tmp127 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp127 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . bbbb += np . transpose ( tmp127 , ( 1 , 0 , 3 , 2 )) * 2 tmp180 = einsum ( t1 . bb , ( 0 , 1 ), tmp21 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp107 = einsum ( t1 . bb , ( 0 , 1 ), tmp16 , ( 0 , 2 ), ( 1 , 2 )) tmp104 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 tmp103 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp102 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp106 = einsum ( tmp105 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 2 ), ( 1 , 3 )) tmp116 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovoo , ( 2 , 3 , 4 , 0 ), ( 2 , 4 , 3 , 1 )) t2new . abab += tmp116 * - 1 tmp100 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) t2new . abab += tmp100 tmp156 = np . copy ( f . bb . ov ) tmp156 += tmp13 del tmp13 tmp156 += tmp155 * - 1 del tmp155 tmp17 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp5 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp6 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) del tmp18 tmp45 = einsum ( tmp9 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 2 , 1 )) tmp40 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp42 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp41 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp44 = einsum ( t1 . aa , ( 0 , 1 ), tmp43 , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) del tmp43 tmp56 = np . copy ( f . aa . ov ) tmp56 += tmp0 del tmp0 tmp56 += tmp55 * - 1 del tmp55 tmp64 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . vvov , ( 2 , 1 , 3 , 4 ), ( 0 , 3 , 2 , 4 )) tmp65 = einsum ( t1 . aa , ( 0 , 1 ), tmp2 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) t2new . abab += tmp65 * - 1 tmp48 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp39 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) t2new . aaaa = np . copy ( tmp39 ) * 2 t2new . aaaa += np . transpose ( tmp39 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp39 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . aaaa += np . transpose ( tmp39 , ( 1 , 0 , 3 , 2 )) * 2 tmp79 = einsum ( t1 . aa , ( 0 , 1 ), tmp78 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp78 tmp71 = einsum ( t1 . aa , ( 0 , 1 ), tmp70 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp70 tmp69 = einsum ( t1 . aa , ( 0 , 1 ), tmp68 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp68 tmp87 = einsum ( t1 . aa , ( 0 , 1 ), tmp1 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp83 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) t2new . abab += tmp83 tmp82 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ooov , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) t2new . abab += tmp82 * - 1 tmp60 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) t2new . aaaa += np . transpose ( tmp60 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp60 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += tmp60 * - 1 t2new . aaaa += np . transpose ( tmp60 , ( 1 , 0 , 2 , 3 )) tmp138 = np . copy ( tmp112 ) tmp138 += tmp113 * - 1 t2new . abab += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp138 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * 2 tmp144 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp101 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) t2new . abab += tmp101 * 2 tmp169 = np . copy ( np . transpose ( tmp166 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp166 tmp169 += tmp168 * - 1 del tmp168 tmp152 = einsum ( t1 . bb , ( 0 , 1 ), tmp150 , ( 2 , 3 , 4 , 0 ), ( 2 , 4 , 3 , 1 )) tmp148 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp184 = einsum ( t1 . bb , ( 0 , 1 ), tmp159 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp159 tmp98 = np . copy ( f . bb . oo ) tmp98 += np . transpose ( tmp29 , ( 1 , 0 )) tmp98 += np . transpose ( tmp24 , ( 1 , 0 )) * 0.5 tmp98 += np . transpose ( tmp25 , ( 1 , 0 )) tmp98 += np . transpose ( tmp31 , ( 1 , 0 )) * - 1 t2new . abab += einsum ( tmp98 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 tmp176 = np . copy ( v . bbbb . oovv ) * - 1 tmp176 += tmp127 tmp176 += np . transpose ( tmp175 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp175 tmp186 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp188 = np . copy ( v . bbbb . ovvv ) tmp188 += einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 4 ), ( 2 , 4 , 1 , 3 )) tmp163 = np . copy ( tmp112 ) * - 1 tmp163 += tmp113 del tmp113 tmp182 = einsum ( t1 . bb , ( 0 , 1 ), tmp180 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) tmp108 = np . copy ( f . bb . vv ) * - 1 tmp108 += np . transpose ( tmp102 , ( 1 , 0 )) * - 1 del tmp102 tmp108 += np . transpose ( tmp103 , ( 1 , 0 )) * 0.5 del tmp103 tmp108 += np . transpose ( tmp104 , ( 1 , 0 )) del tmp104 tmp108 += tmp106 * - 1 del tmp106 tmp108 += np . transpose ( tmp107 , ( 1 , 0 )) del tmp107 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp108 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 1 tmp178 = np . copy ( tmp116 ) * 2 tmp178 += tmp100 * - 1 tmp161 = np . copy ( tmp21 ) * - 1 tmp161 += np . transpose ( tmp21 , ( 0 , 2 , 1 , 3 )) tmp157 = einsum ( tmp156 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) del tmp156 tmp135 = np . copy ( v . bbbb . ovvv ) tmp135 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 3 , 1 )) * - 1 tmp136 = np . copy ( tmp21 ) tmp136 += np . transpose ( tmp21 , ( 0 , 2 , 1 , 3 )) * - 1 tmp122 = np . copy ( v . aaaa . ooov ) tmp122 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp38 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) t2new . aaaa += tmp38 t2new . aaaa += np . transpose ( tmp38 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp38 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp38 , ( 1 , 0 , 3 , 2 )) tmp131 = np . copy ( np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 ))) tmp131 += einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 2 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) * - 1 tmp124 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 1 , 3 , 4 , 5 ), ( 0 , 4 , 2 , 5 )) t2new . abab += tmp124 * 2 tmp126 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) t2new . bbbb += tmp126 t2new . bbbb += np . transpose ( tmp126 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp126 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp126 , ( 1 , 0 , 3 , 2 )) tmp128 = np . copy ( v . bbbb . ooov ) tmp128 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp114 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 2 , 0 , 1 )) tmp133 = np . copy ( v . aaaa . ovvv ) tmp133 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 3 , 1 )) * - 1 tmp91 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp36 = np . copy ( f . aa . oo ) tmp36 += np . transpose ( tmp17 , ( 1 , 0 )) tmp36 += np . transpose ( tmp5 , ( 1 , 0 )) tmp36 += np . transpose ( tmp6 , ( 1 , 0 )) * 0.5 tmp36 += np . transpose ( tmp19 , ( 1 , 0 )) * - 1 t2new . abab += einsum ( tmp36 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 tmp46 = np . copy ( f . aa . vv ) * - 1 tmp46 += np . transpose ( tmp40 , ( 1 , 0 )) * - 1 del tmp40 tmp46 += np . transpose ( tmp41 , ( 1 , 0 )) del tmp41 tmp46 += np . transpose ( tmp42 , ( 1 , 0 )) * 0.5 del tmp42 tmp46 += np . transpose ( tmp44 , ( 1 , 0 )) * - 1 del tmp44 tmp46 += np . transpose ( tmp45 , ( 1 , 0 )) del tmp45 t2new . abab += einsum ( tmp46 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 tmp57 = einsum ( t1 . aa , ( 0 , 1 ), tmp56 , ( 2 , 1 ), ( 0 , 2 )) del tmp56 t2new . abab += einsum ( tmp57 , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 tmp74 = np . copy ( tmp64 ) tmp74 += tmp65 * - 1 t2new . abab += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp74 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 tmp50 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp95 = np . copy ( v . aaaa . ovvv ) tmp95 += einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 0 , 4 ), ( 2 , 4 , 3 , 1 )) tmp52 = einsum ( t1 . aa , ( 0 , 1 ), tmp48 , ( 2 , 3 , 4 , 0 ), ( 2 , 4 , 3 , 1 )) tmp66 = np . copy ( tmp64 ) * - 1 del tmp64 tmp66 += tmp65 del tmp65 tmp80 = np . copy ( v . aaaa . oovv ) * - 1 tmp80 += tmp39 tmp80 += np . transpose ( tmp79 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp79 tmp72 = np . copy ( np . transpose ( tmp69 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp69 tmp72 += tmp71 * - 1 tmp34 = einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp89 = einsum ( t1 . aa , ( 0 , 1 ), tmp87 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) tmp85 = np . copy ( tmp82 ) * 2 tmp85 += tmp83 * - 1 tmp61 = np . copy ( v . aaaa . ovvv ) * - 1 tmp61 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) tmp62 = np . copy ( tmp1 ) * - 1 tmp62 += np . transpose ( tmp1 , ( 0 , 2 , 1 , 3 )) tmp93 = einsum ( t1 . aa , ( 0 , 1 ), tmp60 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp60 tmp26 = einsum ( tmp16 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) del tmp16 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp26 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 t2new . abab += einsum ( tmp26 , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 1 tmp10 = einsum ( t1 . aa , ( 0 , 1 ), tmp9 , ( 2 , 1 ), ( 0 , 2 )) del tmp9 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 tmp143 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . oooo , ( 4 , 1 , 5 , 0 ), ( 4 , 5 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp143 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . bbbb += np . transpose ( tmp143 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . bbbb += np . transpose ( tmp143 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . bbbb += np . transpose ( tmp143 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp143 tmp171 = einsum ( tmp138 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp138 t2new . bbbb += np . transpose ( tmp171 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp171 , ( 1 , 0 , 3 , 2 )) del tmp171 tmp160 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp21 t2new . bbbb += tmp160 * - 1 t2new . bbbb += np . transpose ( tmp160 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += np . transpose ( tmp160 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp160 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp160 tmp145 = einsum ( t1 . bb , ( 0 , 1 ), tmp144 , ( 2 , 0 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp144 t2new . bbbb += np . transpose ( tmp145 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp145 del tmp145 tmp172 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) t2new . bbbb += np . transpose ( tmp172 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += tmp172 * - 1 t2new . bbbb += np . transpose ( tmp172 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp172 , ( 0 , 1 , 3 , 2 )) del tmp172 tmp181 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp180 , ( 4 , 5 , 1 , 0 ), ( 5 , 4 , 2 , 3 )) del tmp180 t2new . bbbb += np . transpose ( tmp181 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp181 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp181 tmp173 = einsum ( tmp101 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) t2new . bbbb += np . transpose ( tmp173 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += tmp173 t2new . bbbb += np . transpose ( tmp173 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp173 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp173 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp173 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp173 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += tmp173 del tmp173 tmp170 = einsum ( tmp169 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp169 t2new . bbbb += np . transpose ( tmp170 , ( 1 , 0 , 2 , 3 )) * 2 t2new . bbbb += tmp170 * - 2 t2new . bbbb += np . transpose ( tmp170 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp170 tmp153 = einsum ( tmp152 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp152 t2new . bbbb += np . transpose ( tmp153 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += tmp153 * - 1 t2new . bbbb += np . transpose ( tmp153 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp153 , ( 1 , 0 , 2 , 3 )) del tmp153 tmp149 = einsum ( t1 . bb , ( 0 , 1 ), tmp148 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp148 t2new . bbbb += tmp149 t2new . bbbb += np . transpose ( tmp149 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp149 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp149 , ( 1 , 0 , 3 , 2 )) del tmp149 tmp185 = einsum ( tmp184 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp184 t2new . bbbb += np . transpose ( tmp185 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += tmp185 * - 1 t2new . bbbb += np . transpose ( tmp185 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp185 , ( 0 , 1 , 3 , 2 )) del tmp185 tmp146 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp98 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp98 t2new . bbbb += np . transpose ( tmp146 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp146 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp146 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp146 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp146 tmp177 = einsum ( tmp176 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp176 t2new . bbbb += tmp177 t2new . bbbb += np . transpose ( tmp177 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp177 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp177 , ( 1 , 0 , 3 , 2 )) del tmp177 tmp190 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) t2new . bbbb += einsum ( tmp190 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 2 del tmp190 tmp187 = einsum ( tmp186 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) del tmp186 t2new . bbbb += np . transpose ( tmp187 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp187 del tmp187 tmp189 = np . copy ( v . bbbb . vvvv ) tmp189 += einsum ( tmp188 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 3 , 4 , 2 , 1 )) del tmp188 t2new . bbbb += einsum ( tmp189 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 0 , 3 ), ( 4 , 5 , 2 , 1 )) * - 2 del tmp189 tmp164 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp163 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp163 t2new . bbbb += tmp164 * - 1 t2new . bbbb += np . transpose ( tmp164 , ( 0 , 1 , 3 , 2 )) del tmp164 tmp183 = einsum ( tmp182 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp182 t2new . bbbb += np . transpose ( tmp183 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp183 del tmp183 tmp147 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp108 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp108 t2new . bbbb += np . transpose ( tmp147 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp147 , ( 1 , 0 , 3 , 2 )) del tmp147 tmp179 = einsum ( tmp178 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) * 0.5 del tmp178 t2new . bbbb += tmp179 * - 1 t2new . bbbb += np . transpose ( tmp179 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += np . transpose ( tmp179 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp179 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp179 tmp162 = einsum ( tmp105 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 4 , 0 , 3 , 2 )) * - 1 del tmp105 tmp162 += einsum ( tmp161 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 del tmp161 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp162 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * 2 del tmp162 tmp158 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp157 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp157 t2new . bbbb += np . transpose ( tmp158 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp158 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp158 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp158 tmp151 = einsum ( tmp150 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp150 t2new . bbbb += np . transpose ( tmp151 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp151 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp151 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp151 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp151 tmp139 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp139 += einsum ( t1 . bb , ( 0 , 1 ), tmp2 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp2 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp139 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 2 , 5 )) * - 1 del tmp139 tmp137 = einsum ( tmp135 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 4 , 0 , 3 , 2 )) * - 1 del tmp135 tmp137 += einsum ( t1 . bb , ( 0 , 1 ), tmp136 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp136 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp137 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) del tmp137 tmp111 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp123 = np . copy ( v . aaaa . oovv ) * - 2 tmp123 += np . transpose ( tmp39 , ( 1 , 0 , 3 , 2 )) * 2 del tmp39 tmp123 += np . transpose ( tmp38 , ( 1 , 0 , 3 , 2 )) tmp123 += einsum ( t1 . aa , ( 0 , 1 ), tmp122 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) * 2 del tmp122 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp123 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) * 0.5 del tmp123 tmp132 = np . copy ( v . aabb . vvvv ) tmp132 += einsum ( t1 . bb , ( 0 , 1 ), tmp131 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 del tmp131 t2new . abab += einsum ( tmp132 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) del tmp132 tmp125 = np . copy ( tmp82 ) * - 2 tmp125 += tmp124 * 2 del tmp124 tmp125 += tmp83 t2new . abab += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp125 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp125 tmp120 = np . copy ( np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 ))) tmp120 += einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) t2new . abab += einsum ( tmp120 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) del tmp120 tmp142 = einsum ( t1 . aa , ( 0 , 1 ), tmp112 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp112 t2new . abab += einsum ( tmp142 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp142 tmp140 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) t2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp140 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp140 tmp141 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oovv , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) t2new . abab += einsum ( tmp141 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp141 tmp110 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . vvoo , ( 2 , 1 , 3 , 4 ), ( 0 , 3 , 4 , 2 )) t2new . abab += einsum ( tmp110 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 1 del tmp110 tmp3 = np . copy ( t2 . abab ) tmp3 += einsum ( t1 . aa , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) t2new . abab += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp111 , ( 4 , 0 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) del tmp111 t1new . bb += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) t1new . aa += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp121 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) t2new . abab += einsum ( tmp121 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp121 tmp109 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) t2new . abab += einsum ( tmp109 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 0 , 3 , 4 , 5 ), ( 1 , 2 , 4 , 5 )) del tmp3 , tmp109 tmp129 = np . copy ( v . bbbb . oovv ) * - 1 tmp129 += np . transpose ( tmp126 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp126 tmp129 += np . transpose ( tmp127 , ( 1 , 0 , 3 , 2 )) del tmp127 tmp129 += einsum ( t1 . bb , ( 0 , 1 ), tmp128 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp128 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp129 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) del tmp129 tmp99 = np . copy ( t2 . abab ) tmp99 += einsum ( t1 . aa , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 t2new . abab += einsum ( tmp99 , ( 0 , 1 , 2 , 3 ), v . aabb . oooo , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) * 0.5 del tmp99 tmp130 = np . copy ( tmp116 ) * - 1 del tmp116 tmp130 += tmp100 * 0.5 del tmp100 tmp130 += tmp101 del tmp101 t2new . abab += einsum ( tmp130 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * 2 del tmp130 tmp115 = np . copy ( np . transpose ( tmp114 , ( 0 , 1 , 3 , 2 ))) tmp115 += einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp22 t2new . abab += einsum ( tmp115 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 3 , 5 )) * - 1 del tmp115 tmp117 = np . copy ( np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 ))) tmp117 += einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 t2new . abab += einsum ( tmp117 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 3 , 5 )) * - 1 del tmp117 tmp118 = np . copy ( v . aabb . oovv ) tmp118 += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp118 , ( 0 , 4 , 3 , 5 ), ( 4 , 1 , 2 , 5 )) * - 1 del tmp118 tmp119 = einsum ( t1 . aa , ( 0 , 1 ), tmp114 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) del tmp114 t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), tmp119 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp119 tmp134 = einsum ( t1 . aa , ( 0 , 1 ), tmp133 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp133 tmp134 += np . transpose ( tmp71 , ( 0 , 1 , 3 , 2 )) del tmp71 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp134 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp134 tmp92 = einsum ( t1 . aa , ( 0 , 1 ), tmp91 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp91 t2new . aaaa += np . transpose ( tmp92 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp92 del tmp92 tmp37 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp36 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp36 t2new . aaaa += np . transpose ( tmp37 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp37 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp37 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp37 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp37 tmp77 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp38 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp38 t2new . aaaa += np . transpose ( tmp77 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += tmp77 t2new . aaaa += np . transpose ( tmp77 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp77 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp77 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp77 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp77 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += tmp77 del tmp77 tmp47 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp46 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp46 t2new . aaaa += np . transpose ( tmp47 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp47 , ( 1 , 0 , 3 , 2 )) del tmp47 tmp58 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp57 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp57 t2new . aaaa += np . transpose ( tmp58 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp58 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp58 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp58 tmp75 = einsum ( tmp74 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp74 t2new . aaaa += np . transpose ( tmp75 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp75 , ( 1 , 0 , 3 , 2 )) del tmp75 tmp76 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) t2new . aaaa += np . transpose ( tmp76 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += tmp76 * - 1 t2new . aaaa += np . transpose ( tmp76 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp76 , ( 0 , 1 , 3 , 2 )) del tmp76 tmp88 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp87 , ( 4 , 5 , 1 , 0 ), ( 5 , 4 , 2 , 3 )) del tmp87 t2new . aaaa += np . transpose ( tmp88 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp88 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp88 tmp51 = einsum ( t1 . aa , ( 0 , 1 ), tmp50 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp50 t2new . aaaa += tmp51 t2new . aaaa += np . transpose ( tmp51 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp51 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp51 , ( 1 , 0 , 3 , 2 )) del tmp51 tmp96 = np . copy ( v . aaaa . vvvv ) * - 1 tmp96 += einsum ( tmp95 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 4 , 3 , 2 )) del tmp95 t2new . aaaa += einsum ( tmp96 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 0 , 3 ), ( 4 , 5 , 2 , 1 )) * 2 del tmp96 tmp53 = einsum ( t1 . aa , ( 0 , 1 ), tmp52 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp52 t2new . aaaa += np . transpose ( tmp53 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += tmp53 * - 1 t2new . aaaa += np . transpose ( tmp53 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp53 , ( 1 , 0 , 2 , 3 )) del tmp53 tmp67 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp66 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp66 t2new . aaaa += tmp67 * - 1 t2new . aaaa += np . transpose ( tmp67 , ( 0 , 1 , 3 , 2 )) del tmp67 tmp49 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp48 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp48 t2new . aaaa += np . transpose ( tmp49 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp49 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp49 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp49 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp49 tmp81 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp80 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 2 del tmp80 t2new . aaaa += tmp81 t2new . aaaa += np . transpose ( tmp81 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp81 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp81 , ( 1 , 0 , 3 , 2 )) del tmp81 tmp73 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp72 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp72 t2new . aaaa += np . transpose ( tmp73 , ( 1 , 0 , 2 , 3 )) * 2 t2new . aaaa += tmp73 * - 2 t2new . aaaa += np . transpose ( tmp73 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp73 tmp35 = einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 2 , 0 , 3 , 4 )) del tmp34 t2new . aaaa += np . transpose ( tmp35 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp35 del tmp35 tmp33 = einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 3 , 1 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) * - 1 t2new . aaaa += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . aaaa += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . aaaa += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . aaaa += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp33 tmp97 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * - 1 t2new . aaaa += einsum ( t1 . aa , ( 0 , 1 ), tmp97 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp97 tmp84 = np . copy ( tmp82 ) del tmp82 tmp84 += tmp83 * - 0.5 del tmp83 t2new . aaaa += einsum ( tmp84 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * - 1 del tmp84 tmp90 = einsum ( tmp89 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp89 t2new . aaaa += np . transpose ( tmp90 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp90 del tmp90 tmp86 = einsum ( tmp85 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 0.5 del tmp85 t2new . aaaa += tmp86 * - 1 t2new . aaaa += np . transpose ( tmp86 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += np . transpose ( tmp86 , ( 0 , 1 , 3 , 2 )) del tmp86 tmp59 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp1 t2new . aaaa += tmp59 * - 1 t2new . aaaa += np . transpose ( tmp59 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += np . transpose ( tmp59 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp59 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp59 tmp63 = einsum ( t1 . aa , ( 0 , 1 ), tmp61 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp61 tmp63 += einsum ( t1 . aa , ( 0 , 1 ), tmp62 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp62 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp63 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * 2 del tmp63 tmp94 = einsum ( t1 . aa , ( 0 , 1 ), tmp93 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp93 t2new . aaaa += np . transpose ( tmp94 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += tmp94 * - 1 t2new . aaaa += np . transpose ( tmp94 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp94 , ( 0 , 1 , 3 , 2 )) del tmp94 tmp23 = np . copy ( t2 . bbbb ) * 2 tmp23 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) t1new . bb += einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) del tmp23 tmp27 = np . copy ( np . transpose ( tmp24 , ( 1 , 0 ))) del tmp24 tmp27 += np . transpose ( tmp25 , ( 1 , 0 )) * 2 del tmp25 tmp27 += np . transpose ( tmp26 , ( 1 , 0 )) del tmp26 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp27 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp27 tmp32 = np . copy ( f . bb . oo ) tmp32 += np . transpose ( tmp29 , ( 1 , 0 )) del tmp29 tmp32 += np . transpose ( tmp31 , ( 1 , 0 )) * - 1 del tmp31 t1new . bb += einsum ( tmp32 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp32 tmp28 = np . copy ( f . bb . vv ) tmp28 += einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 )) * - 1 t1new . bb += einsum ( tmp28 , ( 0 , 1 ), t1 . bb , ( 2 , 0 ), ( 2 , 1 )) del tmp28 tmp12 = np . copy ( f . aa . vv ) tmp12 += einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) t1new . aa += einsum ( tmp12 , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 2 , 1 )) del tmp12 tmp20 = np . copy ( f . aa . oo ) tmp20 += np . transpose ( tmp17 , ( 1 , 0 )) del tmp17 tmp20 += np . transpose ( tmp19 , ( 1 , 0 )) * - 1 del tmp19 t1new . aa += einsum ( t1 . aa , ( 0 , 1 ), tmp20 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp20 tmp4 = np . copy ( t2 . aaaa ) * 2 tmp4 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) t1new . aa += einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 4 , 3 , 1 ), ( 4 , 2 )) * - 1 del tmp4 tmp11 = np . copy ( np . transpose ( tmp5 , ( 1 , 0 ))) * 2 del tmp5 tmp11 += np . transpose ( tmp6 , ( 1 , 0 )) del tmp6 tmp11 += np . transpose ( tmp10 , ( 1 , 0 )) del tmp10 t1new . aa += einsum ( tmp11 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp11 t1new . aa += einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) t1new . aa += f . aa . ov t1new . aa += einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * - 1 t1new . aa += einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * 2 t1new . aa += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 1 t1new . bb += f . bb . ov t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) t1new . bb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * 2 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * - 1 t1new . bb += einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . oooo , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) * 0.5 t2new . abab += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 )) * - 1 return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"UDCSD"},{"location":"reference/codegen/UDCSD/#ebcc.codegen.UDCSD.energy","text":"Code generated by albert 0.0.0 on 2024-08-09T22:09:38.011127.","title":"energy"},{"location":"reference/codegen/UDCSD/#ebcc.codegen.UDCSD.energy--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDCSD/#ebcc.codegen.UDCSD.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/UDCSD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:09:38.011127. 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 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp0 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp2 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp2 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp1 = np . copy ( f . bb . ov ) * 2 tmp1 += einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) * 2 tmp1 += einsum ( t1 . bb , ( 0 , 1 ), tmp0 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) * - 1 del tmp0 e_cc = einsum ( tmp1 , ( 0 , 1 ), t1 . bb , ( 0 , 1 ), ()) * 0.5 del tmp1 tmp3 = np . copy ( f . aa . ov ) * 2 tmp3 += einsum ( t1 . aa , ( 0 , 1 ), tmp2 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) * - 1 del tmp2 e_cc += einsum ( t1 . aa , ( 0 , 1 ), tmp3 , ( 0 , 1 ), ()) * 0.5 del tmp3 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 e_cc += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 1 , 3 ), ()) return e_cc","title":"Returns"},{"location":"reference/codegen/UDCSD/#ebcc.codegen.UDCSD.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-09T22:10:33.687348.","title":"update_amps"},{"location":"reference/codegen/UDCSD/#ebcc.codegen.UDCSD.update_amps--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDCSD/#ebcc.codegen.UDCSD.update_amps--returns","text":"t1new : Namespace of arrays Updated T1 residuals. t2new : Namespace of arrays Updated T2 residuals. Source code in ebcc/codegen/UDCSD.py 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:10:33.687348. 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 () tmp14 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp14 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp7 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp7 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp21 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) t1new . bb = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * 2 tmp15 = einsum ( t1 . bb , ( 0 , 1 ), tmp14 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp14 tmp13 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) t1new . bb += tmp13 tmp154 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp154 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp0 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) t1new . aa = np . copy ( tmp0 ) tmp8 = einsum ( t1 . aa , ( 0 , 1 ), tmp7 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) del tmp7 tmp54 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp54 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp1 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) t1new . aa += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * 2 tmp22 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 2 , 1 )) t1new . bb += einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 tmp165 = np . copy ( v . bbbb . ovvv ) * - 1 tmp165 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) tmp167 = np . copy ( tmp21 ) * - 1 tmp167 += np . transpose ( tmp21 , ( 0 , 2 , 1 , 3 )) tmp30 = np . copy ( v . bbbb . ooov ) tmp30 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) * - 1 tmp174 = np . copy ( v . bbbb . ooov ) * - 1 tmp174 += np . transpose ( v . bbbb . ovoo , ( 0 , 2 , 3 , 1 )) tmp16 = np . copy ( f . bb . ov ) tmp16 += tmp13 tmp16 += tmp15 * - 1 del tmp15 t1new . bb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp16 , ( 1 , 3 ), ( 0 , 2 )) * 2 t1new . aa += einsum ( tmp16 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp105 = np . copy ( v . bbbb . ovvv ) * - 1 tmp105 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 1 , 3 )) tmp155 = einsum ( t1 . bb , ( 0 , 1 ), tmp154 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp154 tmp18 = np . copy ( v . aaaa . ooov ) * - 1 tmp18 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) tmp9 = np . copy ( f . aa . ov ) tmp9 += tmp0 tmp9 += tmp8 * - 1 del tmp8 t1new . bb += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp9 , ( 0 , 2 ), ( 1 , 3 )) t1new . aa += einsum ( tmp9 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 2 tmp43 = np . copy ( v . aaaa . ovvv ) tmp43 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 3 , 1 )) * - 1 tmp55 = einsum ( t1 . aa , ( 0 , 1 ), tmp54 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) del tmp54 tmp2 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 tmp78 = np . copy ( v . aaaa . ooov ) * - 1 tmp78 += np . transpose ( v . aaaa . ovoo , ( 0 , 2 , 3 , 1 )) tmp70 = np . copy ( tmp1 ) * - 1 tmp70 += np . transpose ( tmp1 , ( 0 , 2 , 1 , 3 )) tmp68 = np . copy ( v . aaaa . ovvv ) * - 1 tmp68 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) tmp113 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) t2new . abab = np . copy ( tmp113 ) * - 1 tmp112 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovvv , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) t2new . abab += tmp112 tmp166 = einsum ( tmp165 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) del tmp165 tmp168 = einsum ( t1 . bb , ( 0 , 1 ), tmp167 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp167 tmp150 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp159 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) t2new . bbbb = np . copy ( np . transpose ( tmp159 , ( 1 , 0 , 3 , 2 ))) * - 1 t2new . bbbb += np . transpose ( tmp159 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += tmp159 * - 1 t2new . bbbb += np . transpose ( tmp159 , ( 1 , 0 , 2 , 3 )) tmp25 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) * - 1 tmp24 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp29 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp31 = einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 )) del tmp30 tmp175 = einsum ( tmp174 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp174 tmp127 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) t2new . bbbb += tmp127 * 2 t2new . bbbb += np . transpose ( tmp127 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp127 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . bbbb += np . transpose ( tmp127 , ( 1 , 0 , 3 , 2 )) * 2 tmp180 = einsum ( t1 . bb , ( 0 , 1 ), tmp21 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp107 = einsum ( t1 . bb , ( 0 , 1 ), tmp16 , ( 0 , 2 ), ( 1 , 2 )) tmp104 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 tmp103 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp102 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) tmp106 = einsum ( tmp105 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 2 ), ( 1 , 3 )) tmp116 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovoo , ( 2 , 3 , 4 , 0 ), ( 2 , 4 , 3 , 1 )) t2new . abab += tmp116 * - 1 tmp100 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) t2new . abab += tmp100 tmp156 = np . copy ( f . bb . ov ) tmp156 += tmp13 del tmp13 tmp156 += tmp155 * - 1 del tmp155 tmp17 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) tmp5 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp6 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) del tmp18 tmp45 = einsum ( tmp9 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 2 , 1 )) tmp40 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . vvov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp42 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp41 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp44 = einsum ( t1 . aa , ( 0 , 1 ), tmp43 , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) del tmp43 tmp56 = np . copy ( f . aa . ov ) tmp56 += tmp0 del tmp0 tmp56 += tmp55 * - 1 del tmp55 tmp64 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . vvov , ( 2 , 1 , 3 , 4 ), ( 0 , 3 , 2 , 4 )) tmp65 = einsum ( t1 . aa , ( 0 , 1 ), tmp2 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) t2new . abab += tmp65 * - 1 tmp48 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp39 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) t2new . aaaa = np . copy ( tmp39 ) * 2 t2new . aaaa += np . transpose ( tmp39 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp39 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . aaaa += np . transpose ( tmp39 , ( 1 , 0 , 3 , 2 )) * 2 tmp79 = einsum ( t1 . aa , ( 0 , 1 ), tmp78 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp78 tmp71 = einsum ( t1 . aa , ( 0 , 1 ), tmp70 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp70 tmp69 = einsum ( t1 . aa , ( 0 , 1 ), tmp68 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp68 tmp87 = einsum ( t1 . aa , ( 0 , 1 ), tmp1 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 4 , 3 )) tmp83 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) t2new . abab += tmp83 tmp82 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ooov , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) t2new . abab += tmp82 * - 1 tmp60 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) t2new . aaaa += np . transpose ( tmp60 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp60 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += tmp60 * - 1 t2new . aaaa += np . transpose ( tmp60 , ( 1 , 0 , 2 , 3 )) tmp138 = np . copy ( tmp112 ) tmp138 += tmp113 * - 1 t2new . abab += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp138 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * 2 tmp144 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oooo , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp101 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) t2new . abab += tmp101 * 2 tmp169 = np . copy ( np . transpose ( tmp166 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp166 tmp169 += tmp168 * - 1 del tmp168 tmp152 = einsum ( t1 . bb , ( 0 , 1 ), tmp150 , ( 2 , 3 , 4 , 0 ), ( 2 , 4 , 3 , 1 )) tmp148 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp184 = einsum ( t1 . bb , ( 0 , 1 ), tmp159 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp159 tmp98 = np . copy ( f . bb . oo ) tmp98 += np . transpose ( tmp29 , ( 1 , 0 )) tmp98 += np . transpose ( tmp24 , ( 1 , 0 )) * 0.5 tmp98 += np . transpose ( tmp25 , ( 1 , 0 )) tmp98 += np . transpose ( tmp31 , ( 1 , 0 )) * - 1 t2new . abab += einsum ( tmp98 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 tmp176 = np . copy ( v . bbbb . oovv ) * - 1 tmp176 += tmp127 tmp176 += np . transpose ( tmp175 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp175 tmp186 = einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp188 = np . copy ( v . bbbb . ovvv ) tmp188 += einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 4 ), ( 2 , 4 , 1 , 3 )) tmp163 = np . copy ( tmp112 ) * - 1 tmp163 += tmp113 del tmp113 tmp182 = einsum ( t1 . bb , ( 0 , 1 ), tmp180 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) tmp108 = np . copy ( f . bb . vv ) * - 1 tmp108 += np . transpose ( tmp102 , ( 1 , 0 )) * - 1 del tmp102 tmp108 += np . transpose ( tmp103 , ( 1 , 0 )) * 0.5 del tmp103 tmp108 += np . transpose ( tmp104 , ( 1 , 0 )) del tmp104 tmp108 += tmp106 * - 1 del tmp106 tmp108 += np . transpose ( tmp107 , ( 1 , 0 )) del tmp107 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp108 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 1 tmp178 = np . copy ( tmp116 ) * 2 tmp178 += tmp100 * - 1 tmp161 = np . copy ( tmp21 ) * - 1 tmp161 += np . transpose ( tmp21 , ( 0 , 2 , 1 , 3 )) tmp157 = einsum ( tmp156 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) del tmp156 tmp135 = np . copy ( v . bbbb . ovvv ) tmp135 += np . transpose ( v . bbbb . ovvv , ( 0 , 2 , 3 , 1 )) * - 1 tmp136 = np . copy ( tmp21 ) tmp136 += np . transpose ( tmp21 , ( 0 , 2 , 1 , 3 )) * - 1 tmp122 = np . copy ( v . aaaa . ooov ) tmp122 += np . transpose ( v . aaaa . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp38 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) t2new . aaaa += tmp38 t2new . aaaa += np . transpose ( tmp38 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp38 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp38 , ( 1 , 0 , 3 , 2 )) tmp131 = np . copy ( np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 ))) tmp131 += einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovov , ( 0 , 2 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) * - 1 tmp124 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 1 , 3 , 4 , 5 ), ( 0 , 4 , 2 , 5 )) t2new . abab += tmp124 * 2 tmp126 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) t2new . bbbb += tmp126 t2new . bbbb += np . transpose ( tmp126 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp126 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp126 , ( 1 , 0 , 3 , 2 )) tmp128 = np . copy ( v . bbbb . ooov ) tmp128 += np . transpose ( v . bbbb . ooov , ( 0 , 2 , 1 , 3 )) * - 1 tmp114 = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 2 , 0 , 1 )) tmp133 = np . copy ( v . aaaa . ovvv ) tmp133 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 3 , 1 )) * - 1 tmp91 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . vvvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp36 = np . copy ( f . aa . oo ) tmp36 += np . transpose ( tmp17 , ( 1 , 0 )) tmp36 += np . transpose ( tmp5 , ( 1 , 0 )) tmp36 += np . transpose ( tmp6 , ( 1 , 0 )) * 0.5 tmp36 += np . transpose ( tmp19 , ( 1 , 0 )) * - 1 t2new . abab += einsum ( tmp36 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 tmp46 = np . copy ( f . aa . vv ) * - 1 tmp46 += np . transpose ( tmp40 , ( 1 , 0 )) * - 1 del tmp40 tmp46 += np . transpose ( tmp41 , ( 1 , 0 )) del tmp41 tmp46 += np . transpose ( tmp42 , ( 1 , 0 )) * 0.5 del tmp42 tmp46 += np . transpose ( tmp44 , ( 1 , 0 )) * - 1 del tmp44 tmp46 += np . transpose ( tmp45 , ( 1 , 0 )) del tmp45 t2new . abab += einsum ( tmp46 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 tmp57 = einsum ( t1 . aa , ( 0 , 1 ), tmp56 , ( 2 , 1 ), ( 0 , 2 )) del tmp56 t2new . abab += einsum ( tmp57 , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 tmp74 = np . copy ( tmp64 ) tmp74 += tmp65 * - 1 t2new . abab += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp74 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 tmp50 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp95 = np . copy ( v . aaaa . ovvv ) tmp95 += einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 0 , 4 ), ( 2 , 4 , 3 , 1 )) tmp52 = einsum ( t1 . aa , ( 0 , 1 ), tmp48 , ( 2 , 3 , 4 , 0 ), ( 2 , 4 , 3 , 1 )) tmp66 = np . copy ( tmp64 ) * - 1 del tmp64 tmp66 += tmp65 del tmp65 tmp80 = np . copy ( v . aaaa . oovv ) * - 1 tmp80 += tmp39 tmp80 += np . transpose ( tmp79 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp79 tmp72 = np . copy ( np . transpose ( tmp69 , ( 0 , 1 , 3 , 2 ))) * - 1 del tmp69 tmp72 += tmp71 * - 1 tmp34 = einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp89 = einsum ( t1 . aa , ( 0 , 1 ), tmp87 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) tmp85 = np . copy ( tmp82 ) * 2 tmp85 += tmp83 * - 1 tmp61 = np . copy ( v . aaaa . ovvv ) * - 1 tmp61 += np . transpose ( v . aaaa . ovvv , ( 0 , 2 , 1 , 3 )) tmp62 = np . copy ( tmp1 ) * - 1 tmp62 += np . transpose ( tmp1 , ( 0 , 2 , 1 , 3 )) tmp93 = einsum ( t1 . aa , ( 0 , 1 ), tmp60 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp60 tmp26 = einsum ( tmp16 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) del tmp16 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp26 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 t2new . abab += einsum ( tmp26 , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 1 tmp10 = einsum ( t1 . aa , ( 0 , 1 ), tmp9 , ( 2 , 1 ), ( 0 , 2 )) del tmp9 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 tmp143 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . oooo , ( 4 , 1 , 5 , 0 ), ( 4 , 5 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp143 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . bbbb += np . transpose ( tmp143 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . bbbb += np . transpose ( tmp143 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . bbbb += np . transpose ( tmp143 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp143 tmp171 = einsum ( tmp138 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp138 t2new . bbbb += np . transpose ( tmp171 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp171 , ( 1 , 0 , 3 , 2 )) del tmp171 tmp160 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp21 t2new . bbbb += tmp160 * - 1 t2new . bbbb += np . transpose ( tmp160 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += np . transpose ( tmp160 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp160 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp160 tmp145 = einsum ( t1 . bb , ( 0 , 1 ), tmp144 , ( 2 , 0 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp144 t2new . bbbb += np . transpose ( tmp145 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp145 del tmp145 tmp172 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) t2new . bbbb += np . transpose ( tmp172 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += tmp172 * - 1 t2new . bbbb += np . transpose ( tmp172 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp172 , ( 0 , 1 , 3 , 2 )) del tmp172 tmp181 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp180 , ( 4 , 5 , 1 , 0 ), ( 5 , 4 , 2 , 3 )) del tmp180 t2new . bbbb += np . transpose ( tmp181 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp181 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp181 tmp173 = einsum ( tmp101 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) t2new . bbbb += np . transpose ( tmp173 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += tmp173 t2new . bbbb += np . transpose ( tmp173 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp173 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp173 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp173 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp173 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += tmp173 del tmp173 tmp170 = einsum ( tmp169 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp169 t2new . bbbb += np . transpose ( tmp170 , ( 1 , 0 , 2 , 3 )) * 2 t2new . bbbb += tmp170 * - 2 t2new . bbbb += np . transpose ( tmp170 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp170 tmp153 = einsum ( tmp152 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp152 t2new . bbbb += np . transpose ( tmp153 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += tmp153 * - 1 t2new . bbbb += np . transpose ( tmp153 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp153 , ( 1 , 0 , 2 , 3 )) del tmp153 tmp149 = einsum ( t1 . bb , ( 0 , 1 ), tmp148 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp148 t2new . bbbb += tmp149 t2new . bbbb += np . transpose ( tmp149 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp149 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp149 , ( 1 , 0 , 3 , 2 )) del tmp149 tmp185 = einsum ( tmp184 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp184 t2new . bbbb += np . transpose ( tmp185 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += tmp185 * - 1 t2new . bbbb += np . transpose ( tmp185 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp185 , ( 0 , 1 , 3 , 2 )) del tmp185 tmp146 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp98 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp98 t2new . bbbb += np . transpose ( tmp146 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp146 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp146 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp146 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp146 tmp177 = einsum ( tmp176 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp176 t2new . bbbb += tmp177 t2new . bbbb += np . transpose ( tmp177 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp177 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp177 , ( 1 , 0 , 3 , 2 )) del tmp177 tmp190 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) t2new . bbbb += einsum ( tmp190 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 2 del tmp190 tmp187 = einsum ( tmp186 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) del tmp186 t2new . bbbb += np . transpose ( tmp187 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp187 del tmp187 tmp189 = np . copy ( v . bbbb . vvvv ) tmp189 += einsum ( tmp188 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 3 , 4 , 2 , 1 )) del tmp188 t2new . bbbb += einsum ( tmp189 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 0 , 3 ), ( 4 , 5 , 2 , 1 )) * - 2 del tmp189 tmp164 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp163 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp163 t2new . bbbb += tmp164 * - 1 t2new . bbbb += np . transpose ( tmp164 , ( 0 , 1 , 3 , 2 )) del tmp164 tmp183 = einsum ( tmp182 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp182 t2new . bbbb += np . transpose ( tmp183 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp183 del tmp183 tmp147 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp108 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp108 t2new . bbbb += np . transpose ( tmp147 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp147 , ( 1 , 0 , 3 , 2 )) del tmp147 tmp179 = einsum ( tmp178 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) * 0.5 del tmp178 t2new . bbbb += tmp179 * - 1 t2new . bbbb += np . transpose ( tmp179 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += np . transpose ( tmp179 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp179 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp179 tmp162 = einsum ( tmp105 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 4 , 0 , 3 , 2 )) * - 1 del tmp105 tmp162 += einsum ( tmp161 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 del tmp161 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp162 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * 2 del tmp162 tmp158 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp157 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp157 t2new . bbbb += np . transpose ( tmp158 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp158 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp158 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp158 tmp151 = einsum ( tmp150 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp150 t2new . bbbb += np . transpose ( tmp151 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp151 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp151 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp151 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp151 tmp139 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . ovvv , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp139 += einsum ( t1 . bb , ( 0 , 1 ), tmp2 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp2 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp139 , ( 4 , 0 , 3 , 5 ), ( 4 , 1 , 2 , 5 )) * - 1 del tmp139 tmp137 = einsum ( tmp135 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 4 , 0 , 3 , 2 )) * - 1 del tmp135 tmp137 += einsum ( t1 . bb , ( 0 , 1 ), tmp136 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp136 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp137 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) del tmp137 tmp111 = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp123 = np . copy ( v . aaaa . oovv ) * - 2 tmp123 += np . transpose ( tmp39 , ( 1 , 0 , 3 , 2 )) * 2 del tmp39 tmp123 += np . transpose ( tmp38 , ( 1 , 0 , 3 , 2 )) tmp123 += einsum ( t1 . aa , ( 0 , 1 ), tmp122 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) * 2 del tmp122 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp123 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) * 0.5 del tmp123 tmp132 = np . copy ( v . aabb . vvvv ) tmp132 += einsum ( t1 . bb , ( 0 , 1 ), tmp131 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 del tmp131 t2new . abab += einsum ( tmp132 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) del tmp132 tmp125 = np . copy ( tmp82 ) * - 2 tmp125 += tmp124 * 2 del tmp124 tmp125 += tmp83 t2new . abab += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp125 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp125 tmp120 = np . copy ( np . transpose ( v . aabb . vvov , ( 2 , 0 , 1 , 3 ))) tmp120 += einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) t2new . abab += einsum ( tmp120 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) del tmp120 tmp142 = einsum ( t1 . aa , ( 0 , 1 ), tmp112 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp112 t2new . abab += einsum ( tmp142 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp142 tmp140 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) t2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp140 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp140 tmp141 = einsum ( t1 . bb , ( 0 , 1 ), v . aabb . oovv , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) t2new . abab += einsum ( tmp141 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp141 tmp110 = einsum ( t1 . aa , ( 0 , 1 ), v . aabb . vvoo , ( 2 , 1 , 3 , 4 ), ( 0 , 3 , 4 , 2 )) t2new . abab += einsum ( tmp110 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 1 del tmp110 tmp3 = np . copy ( t2 . abab ) tmp3 += einsum ( t1 . aa , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) t2new . abab += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), tmp111 , ( 4 , 0 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) del tmp111 t1new . bb += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) t1new . aa += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp121 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) t2new . abab += einsum ( tmp121 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp121 tmp109 = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) t2new . abab += einsum ( tmp109 , ( 0 , 1 , 2 , 3 ), tmp3 , ( 0 , 3 , 4 , 5 ), ( 1 , 2 , 4 , 5 )) del tmp3 , tmp109 tmp129 = np . copy ( v . bbbb . oovv ) * - 1 tmp129 += np . transpose ( tmp126 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp126 tmp129 += np . transpose ( tmp127 , ( 1 , 0 , 3 , 2 )) del tmp127 tmp129 += einsum ( t1 . bb , ( 0 , 1 ), tmp128 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp128 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp129 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) del tmp129 tmp99 = np . copy ( t2 . abab ) tmp99 += einsum ( t1 . aa , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 t2new . abab += einsum ( tmp99 , ( 0 , 1 , 2 , 3 ), v . aabb . oooo , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) * 0.5 del tmp99 tmp130 = np . copy ( tmp116 ) * - 1 del tmp116 tmp130 += tmp100 * 0.5 del tmp100 tmp130 += tmp101 del tmp101 t2new . abab += einsum ( tmp130 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * 2 del tmp130 tmp115 = np . copy ( np . transpose ( tmp114 , ( 0 , 1 , 3 , 2 ))) tmp115 += einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp22 t2new . abab += einsum ( tmp115 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 3 , 5 )) * - 1 del tmp115 tmp117 = np . copy ( np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 ))) tmp117 += einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 t2new . abab += einsum ( tmp117 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 3 , 5 )) * - 1 del tmp117 tmp118 = np . copy ( v . aabb . oovv ) tmp118 += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp118 , ( 0 , 4 , 3 , 5 ), ( 4 , 1 , 2 , 5 )) * - 1 del tmp118 tmp119 = einsum ( t1 . aa , ( 0 , 1 ), tmp114 , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) del tmp114 t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), tmp119 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp119 tmp134 = einsum ( t1 . aa , ( 0 , 1 ), tmp133 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp133 tmp134 += np . transpose ( tmp71 , ( 0 , 1 , 3 , 2 )) del tmp71 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp134 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp134 tmp92 = einsum ( t1 . aa , ( 0 , 1 ), tmp91 , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) del tmp91 t2new . aaaa += np . transpose ( tmp92 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp92 del tmp92 tmp37 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp36 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp36 t2new . aaaa += np . transpose ( tmp37 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp37 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp37 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp37 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp37 tmp77 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp38 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp38 t2new . aaaa += np . transpose ( tmp77 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += tmp77 t2new . aaaa += np . transpose ( tmp77 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp77 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp77 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp77 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp77 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += tmp77 del tmp77 tmp47 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp46 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp46 t2new . aaaa += np . transpose ( tmp47 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp47 , ( 1 , 0 , 3 , 2 )) del tmp47 tmp58 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp57 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp57 t2new . aaaa += np . transpose ( tmp58 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp58 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp58 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp58 tmp75 = einsum ( tmp74 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp74 t2new . aaaa += np . transpose ( tmp75 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp75 , ( 1 , 0 , 3 , 2 )) del tmp75 tmp76 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) t2new . aaaa += np . transpose ( tmp76 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += tmp76 * - 1 t2new . aaaa += np . transpose ( tmp76 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp76 , ( 0 , 1 , 3 , 2 )) del tmp76 tmp88 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp87 , ( 4 , 5 , 1 , 0 ), ( 5 , 4 , 2 , 3 )) del tmp87 t2new . aaaa += np . transpose ( tmp88 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp88 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp88 tmp51 = einsum ( t1 . aa , ( 0 , 1 ), tmp50 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp50 t2new . aaaa += tmp51 t2new . aaaa += np . transpose ( tmp51 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp51 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp51 , ( 1 , 0 , 3 , 2 )) del tmp51 tmp96 = np . copy ( v . aaaa . vvvv ) * - 1 tmp96 += einsum ( tmp95 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 4 , 3 , 2 )) del tmp95 t2new . aaaa += einsum ( tmp96 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 0 , 3 ), ( 4 , 5 , 2 , 1 )) * 2 del tmp96 tmp53 = einsum ( t1 . aa , ( 0 , 1 ), tmp52 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp52 t2new . aaaa += np . transpose ( tmp53 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += tmp53 * - 1 t2new . aaaa += np . transpose ( tmp53 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp53 , ( 1 , 0 , 2 , 3 )) del tmp53 tmp67 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp66 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp66 t2new . aaaa += tmp67 * - 1 t2new . aaaa += np . transpose ( tmp67 , ( 0 , 1 , 3 , 2 )) del tmp67 tmp49 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp48 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp48 t2new . aaaa += np . transpose ( tmp49 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp49 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp49 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp49 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp49 tmp81 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp80 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 2 del tmp80 t2new . aaaa += tmp81 t2new . aaaa += np . transpose ( tmp81 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp81 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp81 , ( 1 , 0 , 3 , 2 )) del tmp81 tmp73 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp72 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp72 t2new . aaaa += np . transpose ( tmp73 , ( 1 , 0 , 2 , 3 )) * 2 t2new . aaaa += tmp73 * - 2 t2new . aaaa += np . transpose ( tmp73 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp73 tmp35 = einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 2 , 0 , 3 , 4 )) del tmp34 t2new . aaaa += np . transpose ( tmp35 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp35 del tmp35 tmp33 = einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 3 , 1 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) * - 1 t2new . aaaa += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . aaaa += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . aaaa += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . aaaa += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp33 tmp97 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * - 1 t2new . aaaa += einsum ( t1 . aa , ( 0 , 1 ), tmp97 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp97 tmp84 = np . copy ( tmp82 ) del tmp82 tmp84 += tmp83 * - 0.5 del tmp83 t2new . aaaa += einsum ( tmp84 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * - 1 del tmp84 tmp90 = einsum ( tmp89 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp89 t2new . aaaa += np . transpose ( tmp90 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp90 del tmp90 tmp86 = einsum ( tmp85 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 0.5 del tmp85 t2new . aaaa += tmp86 * - 1 t2new . aaaa += np . transpose ( tmp86 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += np . transpose ( tmp86 , ( 0 , 1 , 3 , 2 )) del tmp86 tmp59 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp1 t2new . aaaa += tmp59 * - 1 t2new . aaaa += np . transpose ( tmp59 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += np . transpose ( tmp59 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp59 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp59 tmp63 = einsum ( t1 . aa , ( 0 , 1 ), tmp61 , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp61 tmp63 += einsum ( t1 . aa , ( 0 , 1 ), tmp62 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp62 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp63 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * 2 del tmp63 tmp94 = einsum ( t1 . aa , ( 0 , 1 ), tmp93 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp93 t2new . aaaa += np . transpose ( tmp94 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += tmp94 * - 1 t2new . aaaa += np . transpose ( tmp94 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp94 , ( 0 , 1 , 3 , 2 )) del tmp94 tmp23 = np . copy ( t2 . bbbb ) * 2 tmp23 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) t1new . bb += einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) del tmp23 tmp27 = np . copy ( np . transpose ( tmp24 , ( 1 , 0 ))) del tmp24 tmp27 += np . transpose ( tmp25 , ( 1 , 0 )) * 2 del tmp25 tmp27 += np . transpose ( tmp26 , ( 1 , 0 )) del tmp26 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp27 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp27 tmp32 = np . copy ( f . bb . oo ) tmp32 += np . transpose ( tmp29 , ( 1 , 0 )) del tmp29 tmp32 += np . transpose ( tmp31 , ( 1 , 0 )) * - 1 del tmp31 t1new . bb += einsum ( tmp32 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp32 tmp28 = np . copy ( f . bb . vv ) tmp28 += einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 )) * - 1 t1new . bb += einsum ( tmp28 , ( 0 , 1 ), t1 . bb , ( 2 , 0 ), ( 2 , 1 )) del tmp28 tmp12 = np . copy ( f . aa . vv ) tmp12 += einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), ( 2 , 3 )) t1new . aa += einsum ( tmp12 , ( 0 , 1 ), t1 . aa , ( 2 , 0 ), ( 2 , 1 )) del tmp12 tmp20 = np . copy ( f . aa . oo ) tmp20 += np . transpose ( tmp17 , ( 1 , 0 )) del tmp17 tmp20 += np . transpose ( tmp19 , ( 1 , 0 )) * - 1 del tmp19 t1new . aa += einsum ( t1 . aa , ( 0 , 1 ), tmp20 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp20 tmp4 = np . copy ( t2 . aaaa ) * 2 tmp4 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) t1new . aa += einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 4 , 3 , 1 ), ( 4 , 2 )) * - 1 del tmp4 tmp11 = np . copy ( np . transpose ( tmp5 , ( 1 , 0 ))) * 2 del tmp5 tmp11 += np . transpose ( tmp6 , ( 1 , 0 )) del tmp6 tmp11 += np . transpose ( tmp10 , ( 1 , 0 )) del tmp10 t1new . aa += einsum ( tmp11 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp11 t1new . aa += einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) t1new . aa += f . aa . ov t1new . aa += einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * - 1 t1new . aa += einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * 2 t1new . aa += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 1 t1new . bb += f . bb . ov t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) t1new . bb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ooov , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * 2 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * - 1 t1new . bb += einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . oooo , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) * 0.5 t2new . abab += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 )) * - 1 return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/UDFCC2/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-17T20:51:02.785733 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.8.0-40-generic ebcc . codegen . UDFCC2 . energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:51:04.002416. 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. Source code in ebcc/codegen/UDFCC2.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:04.002416. 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 ,)) tmp3 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp1 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) * 0.5 tmp1 += tmp0 tmp5 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp4 = np . copy ( f . aa . ov ) tmp4 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp3 , ( 0 , 1 , 3 ), ( 3 , 2 )) * - 0.5 del tmp3 tmp7 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp7 += einsum ( t1 . bb , ( 0 , 1 ), tmp0 , ( 2 ,), ( 2 , 0 , 1 )) * 0.5 del tmp0 tmp2 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp2 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp2 += einsum ( tmp1 , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 0 , 1 , 2 )) del tmp1 tmp6 = np . copy ( f . bb . ov ) tmp6 += einsum ( tmp5 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) * - 0.5 del tmp5 e_cc = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp2 , ( 0 , 1 , 2 ), ()) del tmp2 e_cc += einsum ( tmp4 , ( 0 , 1 ), t1 . aa , ( 0 , 1 ), ()) del tmp4 e_cc += einsum ( t1 . bb , ( 0 , 1 ), tmp6 , ( 0 , 1 ), ()) del tmp6 e_cc += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp7 , ( 0 , 1 , 2 ), ()) del tmp7 return e_cc ebcc . codegen . UDFCC2 . update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:51:20.984944. 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. Source code in ebcc/codegen/UDFCC2.py 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:20.984944. 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 () tmp17 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp0 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp6 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t1 . bb , ( 1 , 2 ), ( 0 ,)) tmp5 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp86 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp94 = einsum ( tmp17 , ( 0 , 1 , 2 ), tmp17 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp78 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp32 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp71 = einsum ( tmp17 , ( 0 , 1 , 2 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 , 3 )) tmp50 = einsum ( t1 . aa , ( 0 , 1 ), tmp0 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) tmp15 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp37 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp47 = einsum ( tmp0 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp56 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp0 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp18 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp17 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp26 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp7 = np . copy ( tmp5 ) tmp7 += tmp6 tmp11 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp0 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp3 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp87 = einsum ( tmp86 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp86 tmp95 = einsum ( tmp94 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) del tmp94 tmp64 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 0 , 2 ), ( 2 , 1 )) tmp79 = einsum ( tmp78 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 1 , 2 , 0 , 4 )) del tmp78 tmp24 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp17 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp84 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp92 = einsum ( tmp32 , ( 0 , 1 , 2 ), tmp17 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp33 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp66 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 0 , 2 )) tmp72 = np . copy ( v . bbb . xov ) tmp72 += tmp32 tmp72 += tmp71 * - 1 tmp73 = einsum ( tmp17 , ( 0 , 1 , 2 ), tmp0 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp40 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 0 , 2 ), ( 2 , 1 )) tmp69 = np . copy ( tmp15 ) tmp69 += tmp50 * - 1 tmp62 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp67 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp43 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp0 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp16 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp45 = einsum ( tmp15 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp59 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp15 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp38 = einsum ( t1 . aa , ( 0 , 1 ), tmp37 , ( 2 , 3 , 4 , 0 ), ( 3 , 4 , 2 , 1 )) del tmp37 tmp51 = np . copy ( v . baa . xov ) tmp51 += tmp15 tmp51 += tmp50 * - 1 del tmp50 tmp48 = einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp47 tmp57 = einsum ( t1 . aa , ( 0 , 1 ), tmp56 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp56 tmp30 = np . copy ( f . bb . ov ) tmp30 += tmp18 * - 1 tmp29 = np . copy ( tmp26 ) tmp29 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * 2 tmp29 += einsum ( tmp7 , ( 0 ,), t1 . bb , ( 1 , 2 ), ( 0 , 1 , 2 )) tmp19 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp7 , ( 0 ,), ( 1 , 2 )) tmp21 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp7 , ( 0 ,), ( 1 , 2 )) tmp27 = np . copy ( t2 . bbbb ) tmp27 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 0.5 tmp4 = np . copy ( t2 . aaaa ) tmp4 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 0.5 tmp12 = np . copy ( f . aa . ov ) tmp12 += tmp11 * - 1 tmp10 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp10 += tmp3 * 0.5 tmp10 += einsum ( tmp7 , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 0 , 1 , 2 )) * 0.5 tmp88 = einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp87 tmp96 = einsum ( tmp95 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp95 tmp82 = np . copy ( f . bb . vv ) tmp82 += tmp64 * - 1 tmp97 = einsum ( tmp32 , ( 0 , 1 , 2 ), tmp32 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp80 = einsum ( tmp79 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp79 tmp98 = einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp81 = einsum ( f . bb . oo , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp85 = einsum ( tmp84 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp84 tmp93 = einsum ( tmp92 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp92 tmp91 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp32 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp90 = einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) tmp65 = np . copy ( f . bb . vv ) tmp65 += tmp64 * - 1 del tmp64 tmp83 = einsum ( tmp66 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp89 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp72 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp74 = einsum ( tmp73 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp73 tmp14 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp77 = einsum ( tmp32 , ( 0 , 1 , 2 ), tmp0 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp34 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp76 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp41 = np . copy ( f . aa . vv ) tmp41 += tmp40 * - 1 tmp75 = np . copy ( v . bbb . xov ) tmp75 += tmp32 tmp75 += tmp71 * - 1 del tmp71 tmp70 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp69 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) del tmp69 tmp63 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 1 , 0 , 2 , 4 )) del tmp62 tmp68 = einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp67 tmp2 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp0 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp54 = einsum ( tmp15 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp44 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp43 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) tmp61 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp53 = einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) tmp46 = einsum ( t1 . aa , ( 0 , 1 ), tmp45 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp45 tmp60 = einsum ( tmp59 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp59 tmp39 = einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp38 tmp55 = einsum ( tmp15 , ( 0 , 1 , 2 ), tmp15 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp52 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp51 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) del tmp51 tmp49 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp48 tmp58 = einsum ( tmp57 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp57 tmp36 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp42 = np . copy ( f . aa . vv ) tmp42 += tmp40 * - 1 del tmp40 tmp9 = np . copy ( tmp5 ) del tmp5 tmp9 += tmp6 del tmp6 tmp31 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp29 , ( 0 , 3 , 2 ), ( 1 , 3 )) del tmp29 tmp31 += einsum ( tmp30 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 0 , 2 )) del tmp30 tmp20 = np . copy ( f . bb . ov ) tmp20 += tmp18 * - 1 del tmp18 tmp20 += tmp19 del tmp19 tmp22 = np . copy ( f . aa . ov ) tmp22 += tmp11 * - 1 del tmp11 tmp22 += tmp21 del tmp21 tmp25 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp17 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp35 = np . copy ( f . bb . oo ) tmp35 += einsum ( tmp17 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 1 ), ( 2 , 3 )) * - 1 del tmp17 tmp35 += einsum ( tmp7 , ( 0 ,), v . bbb . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp28 = np . copy ( tmp26 ) del tmp26 tmp28 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp27 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * 2 del tmp27 tmp28 += einsum ( tmp7 , ( 0 ,), t1 . bb , ( 1 , 2 ), ( 0 , 1 , 2 )) tmp8 = np . copy ( tmp3 ) del tmp3 tmp8 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp4 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * 2 del tmp4 tmp8 += einsum ( tmp7 , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 0 , 1 , 2 )) tmp23 = np . copy ( f . aa . oo ) tmp23 += einsum ( tmp0 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 1 ), ( 2 , 3 )) * - 1 del tmp0 tmp23 += einsum ( tmp7 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp7 tmp13 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp10 , ( 0 , 3 , 2 ), ( 1 , 3 )) * 2 del tmp10 tmp13 += einsum ( tmp12 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) del tmp12 t2new . bbbb = np . copy ( tmp80 ) t2new . bbbb += np . transpose ( tmp81 , ( 1 , 0 , 3 , 2 )) * 2 t2new . bbbb += np . transpose ( tmp80 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp80 t2new . bbbb += np . transpose ( tmp81 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp81 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp82 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * - 2 del tmp82 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp65 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * 2 t2new . bbbb += np . transpose ( tmp83 , ( 1 , 0 , 3 , 2 )) * 2 t2new . bbbb += np . transpose ( tmp85 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp88 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += np . transpose ( tmp88 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp85 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp83 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp83 t2new . bbbb += np . transpose ( tmp85 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp88 * - 1 t2new . bbbb += np . transpose ( tmp88 , ( 0 , 1 , 3 , 2 )) del tmp88 t2new . bbbb += tmp85 del tmp85 t2new . bbbb += tmp89 t2new . bbbb += np . transpose ( tmp89 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp89 t2new . bbbb += np . transpose ( tmp90 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp90 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += tmp90 * - 1 t2new . bbbb += np . transpose ( tmp90 , ( 1 , 0 , 2 , 3 )) del tmp90 t2new . bbbb += np . transpose ( tmp91 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp93 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp93 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += tmp96 t2new . bbbb += np . transpose ( tmp96 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp96 t2new . bbbb += tmp97 t2new . bbbb += np . transpose ( tmp97 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp97 t2new . bbbb += np . transpose ( tmp91 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp91 t2new . bbbb += tmp98 * - 1 t2new . bbbb += np . transpose ( tmp98 , ( 1 , 0 , 2 , 3 )) del tmp98 t2new . bbbb += tmp93 * - 1 t2new . bbbb += np . transpose ( tmp93 , ( 1 , 0 , 2 , 3 )) del tmp93 t2new . abab = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . oo , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 t2new . abab += einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp63 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . oo , ( 4 , 0 ), ( 4 , 1 , 2 , 3 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp41 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp65 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp65 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp66 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp66 t2new . abab += einsum ( tmp68 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp68 t2new . abab += einsum ( tmp43 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp43 t2new . abab += einsum ( tmp70 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 del tmp70 t2new . abab += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp72 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) del tmp72 t2new . abab += einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 1 t2new . abab += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 t2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp74 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp74 t2new . abab += einsum ( tmp75 , ( 0 , 1 , 2 ), tmp15 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) del tmp75 t2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp2 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 t2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp76 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp76 t2new . abab += einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp77 t2new . aaaa = np . copy ( np . transpose ( tmp36 , ( 1 , 0 , 3 , 2 ))) * 2 t2new . aaaa += tmp39 t2new . aaaa += np . transpose ( tmp36 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp36 t2new . aaaa += np . transpose ( tmp39 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp39 t2new . aaaa += einsum ( tmp41 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp41 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp42 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * 2 del tmp42 t2new . aaaa += np . transpose ( tmp44 , ( 1 , 0 , 3 , 2 )) * 2 t2new . aaaa += np . transpose ( tmp46 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp49 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += np . transpose ( tmp49 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp46 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp44 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp44 t2new . aaaa += np . transpose ( tmp46 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp49 * - 1 t2new . aaaa += np . transpose ( tmp49 , ( 0 , 1 , 3 , 2 )) del tmp49 t2new . aaaa += tmp46 del tmp46 t2new . aaaa += tmp52 t2new . aaaa += np . transpose ( tmp52 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp52 t2new . aaaa += np . transpose ( tmp53 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp53 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += tmp53 * - 1 t2new . aaaa += np . transpose ( tmp53 , ( 1 , 0 , 2 , 3 )) del tmp53 t2new . aaaa += np . transpose ( tmp54 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += tmp55 t2new . aaaa += np . transpose ( tmp55 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp55 t2new . aaaa += tmp58 t2new . aaaa += np . transpose ( tmp58 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp58 t2new . aaaa += np . transpose ( tmp60 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp60 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp54 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp54 t2new . aaaa += tmp61 * - 1 t2new . aaaa += np . transpose ( tmp61 , ( 1 , 0 , 2 , 3 )) del tmp61 t2new . aaaa += tmp60 * - 1 t2new . aaaa += np . transpose ( tmp60 , ( 1 , 0 , 2 , 3 )) del tmp60 t1new . bb = np . copy ( f . bb . ov ) t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), f . bb . vv , ( 2 , 1 ), ( 0 , 2 )) t1new . bb += einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 2 del tmp24 t1new . bb += einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 del tmp25 t1new . bb += einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp28 , ( 0 , 3 , 2 ), ( 3 , 1 )) del tmp28 t1new . bb += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp9 , ( 0 ,), ( 1 , 2 )) t1new . bb += einsum ( tmp31 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp31 t1new . bb += einsum ( tmp32 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) * - 1 del tmp32 t1new . bb += einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 2 del tmp33 t1new . bb += einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 del tmp34 t1new . bb += einsum ( tmp22 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) t1new . bb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp20 , ( 1 , 3 ), ( 0 , 2 )) * 2 t1new . bb += einsum ( tmp35 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp35 t1new . aa = einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) t1new . aa += f . aa . ov t1new . aa += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 2 del tmp1 t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 del tmp2 t1new . aa += einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp8 , ( 0 , 3 , 2 ), ( 3 , 1 )) del tmp8 t1new . aa += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp9 , ( 0 ,), ( 1 , 2 )) del tmp9 t1new . aa += einsum ( tmp13 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp13 t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 del tmp14 t1new . aa += einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp15 , ( 0 , 2 , 3 ), ( 1 , 3 )) * - 1 del tmp15 t1new . aa += einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 2 del tmp16 t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp20 , ( 1 , 3 ), ( 0 , 2 )) del tmp20 t1new . aa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp22 , ( 1 , 3 ), ( 0 , 2 )) * 2 del tmp22 t1new . aa += einsum ( t1 . aa , ( 0 , 1 ), tmp23 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp23 return { f \"t1new\" : t1new , f \"t2new\" : t2new } ebcc . codegen . UDFCC2 . 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-17T20:52:47.456322. 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. Source code in ebcc/codegen/UDFCC2.py 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 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-17T20:52:47.456322. 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 () tmp13 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t1 . bb , ( 1 , 2 ), ( 0 ,)) tmp12 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp54 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp53 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp52 = einsum ( t1 . aa , ( 0 , 1 ), l1 . aa , ( 1 , 2 ), ( 2 , 0 )) tmp66 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) tmp65 = einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 0 ), ( 1 , 2 )) tmp67 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp27 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp7 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp4 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp14 = np . copy ( tmp12 ) tmp14 += tmp13 tmp101 = np . copy ( tmp12 ) del tmp12 tmp101 += tmp13 del tmp13 tmp1 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp48 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp55 = np . copy ( tmp52 ) * 0.5 tmp55 += tmp53 tmp55 += tmp54 * 0.5 tmp50 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 0 ), ( 2 , 4 , 3 , 1 )) tmp63 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp61 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp68 = np . copy ( tmp65 ) tmp68 += tmp66 tmp68 += tmp67 * 2 tmp156 = np . copy ( v . baa . xov ) tmp156 += tmp27 tmp158 = np . copy ( v . bbb . xov ) tmp158 += tmp7 tmp107 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp4 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp108 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp14 , ( 0 ,), ( 1 , 2 )) tmp163 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp101 , ( 0 ,), ( 1 , 2 )) tmp11 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp1 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp15 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp14 , ( 0 ,), ( 1 , 2 )) tmp17 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp43 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp41 = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 0 ), ( 2 , 1 )) tmp42 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 1 , 4 )) tmp46 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp49 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) tmp47 = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp56 = einsum ( t1 . aa , ( 0 , 1 ), tmp55 , ( 0 , 2 ), ( 2 , 1 )) tmp51 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp50 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp34 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp35 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp38 = einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp60 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) tmp64 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp63 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) tmp62 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp61 , ( 0 , 1 , 4 , 2 ), ( 4 , 3 )) tmp59 = einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) tmp69 = einsum ( tmp68 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp128 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp50 , ( 2 , 1 , 3 , 4 ), ( 0 , 3 , 4 )) tmp131 = einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 1 , 2 ), ( 4 , 0 , 3 )) tmp188 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp156 , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) tmp130 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 1 ), ( 4 , 2 , 3 )) tmp189 = einsum ( tmp158 , ( 0 , 1 , 2 ), l2 . bbbb , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) tmp129 = einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), v . bbb . xoo , ( 4 , 2 , 0 ), ( 4 , 1 , 3 )) * - 1 tmp187 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), l1 . bb , ( 2 , 3 ), ( 0 , 3 , 1 )) tmp193 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp101 , ( 0 ,), ( 1 , 2 )) tmp191 = np . copy ( v . bbb . xoo ) tmp191 += np . transpose ( tmp4 , ( 0 , 2 , 1 )) tmp109 = np . copy ( f . bb . ov ) tmp109 += tmp107 * - 1 tmp109 += tmp108 tmp200 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp7 , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp142 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp101 , ( 0 ,), ( 1 , 2 )) tmp164 = np . copy ( f . aa . ov ) tmp164 += tmp11 * - 1 tmp164 += tmp163 tmp144 = np . copy ( v . baa . xoo ) tmp144 += np . transpose ( tmp1 , ( 0 , 2 , 1 )) tmp102 = einsum ( tmp101 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp172 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp27 , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp16 = np . copy ( f . aa . ov ) tmp16 += tmp11 * - 1 tmp16 += tmp15 tmp157 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp156 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) del tmp156 tmp148 = einsum ( l1 . aa , ( 0 , 1 ), v . baa . xvv , ( 2 , 3 , 0 ), ( 2 , 1 , 3 )) tmp82 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), v . baa . xoo , ( 4 , 2 , 0 ), ( 4 , 1 , 3 )) * - 1 tmp84 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 1 , 2 ), ( 4 , 0 , 3 )) tmp85 = einsum ( tmp4 , ( 0 , 1 , 2 ), tmp61 , ( 3 , 1 , 2 , 4 ), ( 0 , 3 , 4 )) tmp159 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp158 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) del tmp158 tmp83 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp61 , ( 3 , 2 , 1 , 4 ), ( 0 , 3 , 4 )) tmp8 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp9 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp25 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp24 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp93 = np . copy ( v . bbb . xoo ) tmp93 += np . transpose ( tmp4 , ( 0 , 2 , 1 )) tmp117 = einsum ( tmp4 , ( 0 , 1 , 2 ), tmp4 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp118 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp4 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp115 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp116 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp18 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 2 , 3 ), ( 4 , 0 , 5 , 1 )) tmp2 = np . copy ( v . baa . xoo ) tmp2 += tmp1 tmp5 = np . copy ( v . bbb . xoo ) tmp5 += tmp4 tmp137 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp138 = einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp44 = np . copy ( tmp41 ) del tmp41 tmp44 += tmp42 tmp44 += tmp43 * 2 tmp74 = np . copy ( tmp65 ) tmp74 += tmp66 del tmp66 tmp74 += np . transpose ( tmp67 , ( 1 , 0 )) * 2 del tmp67 tmp72 = np . copy ( tmp52 ) * 0.5 tmp72 += tmp53 tmp72 += np . transpose ( tmp54 , ( 1 , 0 )) * 0.5 tmp57 = np . copy ( np . transpose ( l1 . aa , ( 1 , 0 ))) * - 0.5 tmp57 += t1 . aa * - 0.5 tmp57 += tmp46 * - 1 tmp57 += tmp47 * - 0.5 tmp57 += tmp49 tmp57 += tmp51 * 0.5 tmp57 += tmp56 tmp39 = np . copy ( tmp38 ) * 0.5 del tmp38 tmp39 += tmp34 tmp39 += np . transpose ( tmp35 , ( 1 , 0 )) * 0.5 tmp70 = np . copy ( np . transpose ( l1 . bb , ( 1 , 0 ))) * - 1 tmp70 += t1 . bb * - 1 tmp70 += tmp59 * - 1 tmp70 += tmp60 * - 2 tmp70 += tmp62 tmp70 += tmp64 * 2 tmp70 += tmp69 tmp19 = np . copy ( v . baa . xoo ) tmp19 += np . transpose ( tmp1 , ( 0 , 2 , 1 )) tmp30 = einsum ( tmp1 , ( 0 , 1 , 2 ), tmp1 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp29 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp28 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp31 = einsum ( tmp1 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp96 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp95 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp112 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp149 = np . copy ( v . baa . xov ) tmp149 += tmp27 tmp150 = np . copy ( v . bbb . xov ) tmp150 += tmp7 tmp190 = np . copy ( tmp187 ) tmp190 += tmp128 * - 1 tmp190 += tmp129 * - 2 tmp190 += tmp130 * - 1 tmp190 += tmp131 * - 2 tmp190 += tmp188 del tmp188 tmp190 += tmp189 * 2 del tmp189 tmp123 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp202 = np . copy ( f . bb . ov ) tmp202 += tmp107 * - 1 tmp202 += tmp193 tmp192 = einsum ( tmp191 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp125 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp14 , ( 0 ,), ( 1 , 2 )) tmp126 = einsum ( tmp109 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 0 , 2 )) tmp209 = einsum ( tmp191 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp219 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp206 = einsum ( tmp65 , ( 0 , 1 ), v . bbb . xov , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) del tmp65 tmp208 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp207 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp201 = np . copy ( f . bb . vv ) tmp201 += np . transpose ( tmp200 , ( 1 , 0 )) * - 1 tmp201 += np . transpose ( tmp142 , ( 1 , 0 )) tmp198 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp88 = einsum ( tmp61 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp77 = einsum ( tmp1 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp162 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp101 , ( 0 ,), ( 1 , 2 )) tmp165 = einsum ( tmp164 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp173 = einsum ( tmp14 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp182 = einsum ( tmp52 , ( 0 , 1 ), v . baa . xov , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) tmp184 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp1 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp145 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp144 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp180 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp176 = np . copy ( f . aa . vv ) tmp176 += np . transpose ( tmp172 , ( 1 , 0 )) * - 1 tmp176 += np . transpose ( tmp102 , ( 1 , 0 )) tmp80 = einsum ( tmp16 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp79 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp14 , ( 0 ,), ( 1 , 2 )) tmp22 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp160 = np . copy ( tmp148 ) tmp160 += tmp82 * - 2 tmp160 += tmp83 * - 1 tmp160 += tmp84 * - 2 tmp160 += tmp85 * - 1 tmp160 += tmp157 * 2 del tmp157 tmp160 += tmp159 del tmp159 tmp154 = einsum ( tmp144 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp169 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp10 = np . copy ( v . bbb . xov ) tmp10 += tmp7 tmp10 += tmp8 tmp10 += tmp9 * 2 tmp86 = np . copy ( v . baa . xov ) tmp86 += tmp27 tmp86 += tmp24 * 2 tmp86 += tmp25 tmp124 = np . copy ( tmp8 ) * 0.5 tmp124 += tmp9 tmp113 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp93 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp119 = np . copy ( np . transpose ( tmp115 , ( 3 , 2 , 1 , 0 ))) tmp119 += einsum ( tmp116 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 2 , 3 ), ( 1 , 0 , 4 , 5 )) tmp119 += np . transpose ( tmp117 , ( 2 , 3 , 1 , 0 )) tmp119 += np . transpose ( tmp118 , ( 1 , 3 , 0 , 2 )) tmp119 += np . transpose ( tmp118 , ( 3 , 2 , 0 , 1 )) * - 1 tmp114 = np . copy ( v . bbb . xov ) tmp114 += tmp8 del tmp8 tmp114 += tmp9 * 2 del tmp9 tmp104 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp110 = np . copy ( np . transpose ( tmp18 , ( 1 , 0 , 2 , 3 ))) tmp110 += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp93 , ( 0 , 3 , 4 ), ( 2 , 1 , 4 , 3 )) tmp105 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp2 , ( 0 , 3 , 4 ), ( 4 , 3 , 1 , 2 )) tmp106 = einsum ( tmp5 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) tmp133 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 5 , 1 ), ( 3 , 4 , 0 , 5 )) tmp94 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 0 , 1 ), ( 2 , 4 , 3 , 5 )) tmp136 = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 1 , 3 , 4 )) tmp136 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp50 , ( 0 , 4 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) * - 1 tmp140 = np . copy ( t1 . bb ) * - 1 tmp140 += tmp59 * - 1 del tmp59 tmp140 += tmp60 * - 2 del tmp60 tmp140 += tmp62 del tmp62 tmp140 += tmp64 * 2 del tmp64 tmp140 += tmp69 del tmp69 tmp135 = einsum ( l1 . bb , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) * - 1 tmp135 += einsum ( tmp61 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 3 , 5 ), ( 1 , 2 , 4 , 5 )) * 0.5 tmp135 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp63 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 2 tmp134 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 5 ), ( 3 , 4 , 1 , 5 )) tmp134 += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 5 , 0 )) * 4 tmp139 = np . copy ( np . transpose ( tmp137 , ( 1 , 0 , 3 , 2 ))) del tmp137 tmp139 += np . transpose ( tmp138 , ( 0 , 1 , 3 , 2 )) * - 1 tmp45 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp44 , ( 2 , 1 ), ( 0 ,)) del tmp44 tmp75 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp74 , ( 2 , 1 ), ( 0 ,)) del tmp74 tmp73 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp72 , ( 2 , 1 ), ( 0 ,)) * 2 del tmp72 tmp58 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp57 , ( 1 , 2 ), ( 0 ,)) * 2 del tmp57 tmp40 = einsum ( tmp39 , ( 0 , 1 ), v . baa . xvv , ( 2 , 1 , 0 ), ( 2 ,)) * 2 del tmp39 tmp71 = einsum ( tmp70 , ( 0 , 1 ), v . bbb . xov , ( 2 , 0 , 1 ), ( 2 ,)) del tmp70 tmp121 = np . copy ( tmp42 ) del tmp42 tmp121 += tmp43 * 2 del tmp43 tmp26 = np . copy ( v . baa . xov ) tmp26 += tmp24 * 2 tmp26 += tmp25 tmp23 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp32 = np . copy ( np . transpose ( tmp28 , ( 3 , 2 , 1 , 0 ))) tmp32 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp29 , ( 4 , 5 , 2 , 3 ), ( 5 , 4 , 0 , 1 )) tmp32 += np . transpose ( tmp30 , ( 2 , 3 , 1 , 0 )) tmp32 += np . transpose ( tmp31 , ( 1 , 3 , 0 , 2 )) tmp32 += np . transpose ( tmp31 , ( 3 , 2 , 0 , 1 )) * - 1 tmp20 = np . copy ( np . transpose ( tmp18 , ( 0 , 1 , 3 , 2 ))) del tmp18 tmp20 += einsum ( tmp5 , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 4 , 3 , 2 , 1 )) tmp0 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp3 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp2 , ( 0 , 3 , 4 ), ( 4 , 3 , 1 , 2 )) tmp6 = einsum ( tmp5 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 2 , 1 , 4 )) tmp36 = np . copy ( tmp34 ) del tmp34 tmp36 += tmp35 * 0.5 del tmp35 tmp78 = np . copy ( tmp24 ) * 2 del tmp24 tmp78 += tmp25 del tmp25 tmp98 = np . copy ( t1 . aa ) * - 0.5 tmp98 += tmp46 * - 1 del tmp46 tmp98 += tmp47 * - 0.5 del tmp47 tmp98 += tmp49 del tmp49 tmp98 += tmp51 * 0.5 del tmp51 tmp98 += tmp56 del tmp56 tmp91 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) * - 1 tmp91 += einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) * - 2 tmp91 += einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) * 0.5 tmp97 = np . copy ( np . transpose ( tmp95 , ( 1 , 0 , 3 , 2 ))) del tmp95 tmp97 += np . transpose ( tmp96 , ( 0 , 1 , 3 , 2 )) * - 1 tmp89 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 5 ), ( 2 , 4 , 1 , 5 )) tmp92 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 2 , 4 ), ( 4 , 0 , 1 , 3 )) tmp92 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp61 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) * - 1 tmp90 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp90 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 2 , 4 )) * 0.25 tmp217 = einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), tmp112 , ( 2 , 4 , 3 , 5 ), ( 1 , 0 , 5 , 4 )) tmp224 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp118 , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) del tmp118 tmp212 = np . copy ( tmp187 ) * 0.5 del tmp187 tmp212 += tmp128 * - 0.5 tmp212 += tmp129 * - 1 tmp212 += tmp130 * - 0.5 tmp212 += tmp131 * - 1 tmp212 += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp149 , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) * 0.5 tmp212 += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp150 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) tmp211 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp93 , ( 0 , 3 , 4 ), ( 4 , 3 , 1 , 2 )) tmp215 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp190 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp216 = np . copy ( f . bb . oo ) tmp216 += tmp123 * - 1 tmp216 += einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp101 , ( 0 ,), ( 1 , 2 )) del tmp101 tmp216 += einsum ( t1 . bb , ( 0 , 1 ), tmp202 , ( 2 , 1 ), ( 0 , 2 )) tmp214 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp192 , ( 4 , 3 , 1 , 5 ), ( 4 , 2 , 5 , 0 )) tmp222 = einsum ( tmp202 , ( 0 , 1 ), tmp63 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp196 = np . copy ( f . bb . oo ) tmp196 += tmp123 * - 1 tmp196 += np . transpose ( tmp125 , ( 1 , 0 )) tmp196 += np . transpose ( tmp126 , ( 1 , 0 )) tmp194 = np . copy ( f . bb . ov ) tmp194 += tmp193 del tmp193 tmp210 = einsum ( tmp209 , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp220 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp219 , ( 4 , 5 , 1 , 0 ), ( 2 , 3 , 4 , 5 )) del tmp219 tmp227 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp206 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp228 = einsum ( tmp208 , ( 0 , 1 , 2 , 3 ), tmp63 , ( 1 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) * - 1 tmp218 = einsum ( tmp138 , ( 0 , 1 , 2 , 3 ), tmp116 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp138 tmp225 = np . copy ( np . transpose ( tmp115 , ( 3 , 2 , 1 , 0 ))) del tmp115 tmp225 += np . transpose ( tmp117 , ( 0 , 3 , 1 , 2 )) del tmp117 tmp226 = einsum ( tmp207 , ( 0 , 1 , 2 , 3 ), tmp63 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp223 = einsum ( tmp201 , ( 0 , 1 ), l2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) * - 1 tmp213 = np . copy ( f . bb . ov ) tmp213 += tmp108 del tmp108 tmp221 = np . copy ( f . bb . vv ) tmp221 += np . transpose ( tmp200 , ( 1 , 0 )) * - 1 del tmp200 tmp221 += einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp14 , ( 0 ,), ( 1 , 2 )) del tmp14 tmp205 = einsum ( tmp144 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) tmp203 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp144 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) del tmp144 tmp199 = einsum ( tmp198 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 1 , 2 , 4 , 5 ), ( 4 , 5 , 0 , 3 )) del tmp198 tmp195 = einsum ( tmp191 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) del tmp191 tmp197 = einsum ( tmp88 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp166 = np . copy ( f . aa . oo ) tmp166 += tmp77 * - 1 tmp166 += np . transpose ( tmp162 , ( 1 , 0 )) del tmp162 tmp166 += np . transpose ( tmp165 , ( 1 , 0 )) del tmp165 tmp186 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp93 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp204 = einsum ( tmp19 , ( 0 , 1 , 2 ), tmp93 , ( 0 , 3 , 4 ), ( 2 , 1 , 4 , 3 )) tmp174 = np . copy ( f . aa . vv ) tmp174 += np . transpose ( tmp172 , ( 1 , 0 )) * - 1 del tmp172 tmp174 += np . transpose ( tmp173 , ( 1 , 0 )) del tmp173 tmp167 = np . copy ( f . aa . ov ) tmp167 += tmp163 del tmp163 tmp151 = np . copy ( tmp148 ) * 0.5 del tmp148 tmp151 += tmp82 * - 1 tmp151 += tmp83 * - 0.5 tmp151 += tmp84 * - 1 tmp151 += tmp85 * - 0.5 tmp151 += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp149 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) del tmp149 tmp151 += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp150 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) * 0.5 del tmp150 tmp171 = einsum ( tmp96 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp96 tmp183 = einsum ( tmp182 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp185 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), tmp184 , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 3 , 5 )) tmp146 = einsum ( l1 . aa , ( 0 , 1 ), tmp145 , ( 2 , 1 , 3 , 4 ), ( 3 , 2 , 4 , 0 )) tmp178 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp31 , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) del tmp31 tmp153 = np . copy ( f . aa . ov ) tmp153 += tmp15 del tmp15 tmp181 = einsum ( tmp180 , ( 0 , 1 , 2 , 3 ), tmp48 , ( 1 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) * - 1 tmp177 = einsum ( tmp176 , ( 0 , 1 ), l2 . aaaa , ( 2 , 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) * - 1 del tmp176 tmp152 = np . copy ( f . aa . oo ) tmp152 += tmp77 * - 1 tmp152 += np . transpose ( tmp79 , ( 1 , 0 )) tmp152 += tmp80 tmp168 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), tmp48 , ( 4 , 5 , 0 , 2 ), ( 5 , 4 , 3 , 1 )) tmp179 = np . copy ( np . transpose ( tmp28 , ( 3 , 2 , 1 , 0 ))) del tmp28 tmp179 += np . transpose ( tmp30 , ( 0 , 3 , 1 , 2 )) del tmp30 tmp161 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp160 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp155 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp154 , ( 4 , 3 , 1 , 5 ), ( 4 , 2 , 5 , 0 )) tmp175 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), tmp164 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp147 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 4 , 3 , 1 , 2 )) tmp170 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp169 , ( 4 , 5 , 1 , 0 ), ( 2 , 3 , 4 , 5 )) del tmp169 tmp132 = np . copy ( tmp128 ) * - 1 del tmp128 tmp132 += tmp129 * - 2 del tmp129 tmp132 += tmp130 * - 1 del tmp130 tmp132 += tmp131 * - 2 del tmp131 tmp132 += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp86 , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) tmp132 += einsum ( tmp10 , ( 0 , 1 , 2 ), l2 . bbbb , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) * 2 tmp143 = np . copy ( f . bb . vv ) tmp143 += np . transpose ( tmp142 , ( 1 , 0 )) del tmp142 tmp127 = np . copy ( f . bb . oo ) tmp127 += tmp123 * - 1 del tmp123 tmp127 += einsum ( tmp124 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) * 2 del tmp124 tmp127 += np . transpose ( tmp125 , ( 1 , 0 )) del tmp125 tmp127 += np . transpose ( tmp126 , ( 1 , 0 )) del tmp126 tmp120 = einsum ( tmp112 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) * 0.5 del tmp112 tmp120 += einsum ( tmp113 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * - 1 tmp120 += einsum ( tmp5 , ( 0 , 1 , 2 ), tmp114 , ( 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * 0.5 del tmp114 tmp120 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp109 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) * 0.5 tmp120 += einsum ( tmp5 , ( 0 , 1 , 2 ), tmp7 , ( 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 0.5 tmp120 += einsum ( tmp119 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) * - 0.5 del tmp119 tmp111 = einsum ( tmp104 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp111 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp105 , ( 0 , 4 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) * - 1 del tmp105 tmp111 += einsum ( tmp106 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 2 , 1 , 5 )) * - 1 del tmp106 tmp111 += einsum ( tmp5 , ( 0 , 1 , 2 ), tmp86 , ( 0 , 3 , 4 ), ( 3 , 2 , 1 , 4 )) tmp111 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp109 , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp111 += einsum ( t1 . aa , ( 0 , 1 ), tmp110 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 1 del tmp110 tmp141 = einsum ( l1 . bb , ( 0 , 1 ), tmp7 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * 0.5 del tmp7 tmp141 += einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp88 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 , 3 )) * - 0.5 tmp141 += einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp133 , ( 3 , 4 , 1 , 2 ), ( 0 , 4 , 3 )) * 0.5 del tmp133 tmp141 += einsum ( tmp88 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 1 ), ( 4 , 3 , 2 )) * - 0.5 tmp141 += einsum ( tmp134 , ( 0 , 1 , 2 , 3 ), v . bbb . xvv , ( 4 , 2 , 3 ), ( 4 , 1 , 0 )) * 0.5 del tmp134 tmp141 += einsum ( tmp86 , ( 0 , 1 , 2 ), tmp61 , ( 1 , 3 , 4 , 2 ), ( 0 , 4 , 3 )) * 0.5 tmp141 += einsum ( tmp10 , ( 0 , 1 , 2 ), tmp63 , ( 1 , 3 , 4 , 2 ), ( 0 , 4 , 3 )) del tmp63 tmp141 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp135 , ( 3 , 1 , 4 , 2 ), ( 0 , 4 , 3 )) * - 1 del tmp135 tmp141 += einsum ( tmp136 , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 0 , 3 ), ( 4 , 2 , 1 )) * 0.5 del tmp136 tmp141 += einsum ( tmp94 , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 1 , 0 ), ( 4 , 3 , 2 )) * - 0.5 del tmp19 tmp141 += einsum ( tmp139 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 0 , 2 ), ( 4 , 3 , 1 )) * - 1 tmp141 += einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp139 , ( 1 , 3 , 2 , 4 ), ( 0 , 4 , 3 )) * - 1 del tmp139 tmp141 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp140 , ( 3 , 2 ), ( 0 , 3 , 1 )) * - 0.5 del tmp140 tmp141 += einsum ( tmp68 , ( 0 , 1 ), v . bbb . xoo , ( 2 , 3 , 0 ), ( 2 , 1 , 3 )) * - 0.5 tmp76 = np . copy ( tmp40 ) del tmp40 tmp76 += tmp45 del tmp45 tmp76 += tmp58 * - 1 del tmp58 tmp76 += tmp71 * - 1 del tmp71 tmp76 += tmp73 * - 1 del tmp73 tmp76 += tmp75 * - 1 del tmp75 tmp122 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp121 , ( 3 , 2 ), ( 0 , 1 , 3 )) del tmp121 tmp122 += einsum ( tmp5 , ( 0 , 1 , 2 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 , 3 )) del tmp5 tmp33 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp22 , ( 4 , 5 , 2 , 3 ), ( 4 , 0 , 1 , 5 )) del tmp22 tmp33 += einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * - 2 tmp33 += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp26 , ( 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp26 tmp33 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp33 += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 tmp33 += einsum ( t1 . aa , ( 0 , 1 ), tmp32 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 1 del tmp32 tmp87 = np . copy ( tmp82 ) * - 1 del tmp82 tmp87 += tmp83 * - 0.5 del tmp83 tmp87 += tmp84 * - 1 del tmp84 tmp87 += tmp85 * - 0.5 del tmp85 tmp87 += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp86 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) tmp87 += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) * 0.5 tmp103 = np . copy ( f . aa . vv ) tmp103 += np . transpose ( tmp102 , ( 1 , 0 )) del tmp102 tmp21 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 1 , 5 )) * 0.5 tmp21 += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 3 , 5 ), ( 2 , 1 , 4 , 5 )) * - 0.5 del tmp3 tmp21 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) * - 0.5 del tmp6 tmp21 += einsum ( tmp10 , ( 0 , 1 , 2 ), tmp2 , ( 0 , 3 , 4 ), ( 4 , 3 , 1 , 2 )) * 0.5 tmp21 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) * 0.5 tmp21 += einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) * - 0.5 del tmp20 tmp37 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp36 , ( 3 , 2 ), ( 0 , 1 , 3 )) * 2 del tmp36 tmp37 += einsum ( tmp2 , ( 0 , 1 , 2 ), l1 . aa , ( 3 , 1 ), ( 0 , 2 , 3 )) del tmp2 tmp81 = np . copy ( f . aa . oo ) tmp81 += tmp77 * - 1 del tmp77 tmp81 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp78 , ( 0 , 3 , 2 ), ( 3 , 1 )) del tmp78 tmp81 += np . transpose ( tmp79 , ( 1 , 0 )) del tmp79 tmp81 += tmp80 del tmp80 tmp100 = np . copy ( tmp52 ) del tmp52 tmp100 += tmp53 * 2 del tmp53 tmp100 += tmp54 del tmp54 tmp99 = einsum ( tmp27 , ( 0 , 1 , 2 ), l1 . aa , ( 2 , 3 ), ( 0 , 1 , 3 )) del tmp27 tmp99 += einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp88 , ( 3 , 4 , 2 , 1 ), ( 0 , 4 , 3 )) * - 1 tmp99 += einsum ( tmp89 , ( 0 , 1 , 2 , 3 ), v . bbb . xvv , ( 4 , 2 , 3 ), ( 4 , 1 , 0 )) del tmp89 tmp99 += einsum ( tmp4 , ( 0 , 1 , 2 ), tmp88 , ( 3 , 4 , 1 , 2 ), ( 0 , 4 , 3 )) * - 1 del tmp4 , tmp88 tmp99 += einsum ( tmp90 , ( 0 , 1 , 2 , 3 ), v . baa . xvv , ( 4 , 3 , 2 ), ( 4 , 1 , 0 )) * 4 del tmp90 tmp99 += einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), tmp86 , ( 4 , 0 , 3 ), ( 4 , 2 , 1 )) * 2 del tmp48 , tmp86 tmp99 += einsum ( tmp10 , ( 0 , 1 , 2 ), tmp50 , ( 3 , 4 , 1 , 2 ), ( 0 , 4 , 3 )) del tmp10 tmp99 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp91 , ( 3 , 1 , 4 , 2 ), ( 0 , 4 , 3 )) * - 2 del tmp91 tmp99 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp92 , ( 3 , 4 , 1 , 2 ), ( 0 , 4 , 3 )) del tmp92 tmp99 += einsum ( tmp94 , ( 0 , 1 , 2 , 3 ), tmp93 , ( 4 , 3 , 2 ), ( 4 , 1 , 0 )) * - 1 del tmp93 , tmp94 tmp99 += einsum ( tmp1 , ( 0 , 1 , 2 ), tmp97 , ( 1 , 3 , 2 , 4 ), ( 0 , 4 , 3 )) * - 2 del tmp1 tmp99 += einsum ( tmp97 , ( 0 , 1 , 2 , 3 ), v . baa . xoo , ( 4 , 0 , 2 ), ( 4 , 3 , 1 )) * - 2 del tmp97 tmp99 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp98 , ( 3 , 2 ), ( 0 , 3 , 1 )) * - 2 del tmp98 tmp99 += einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp55 , ( 2 , 3 ), ( 0 , 3 , 1 )) * - 2 del tmp55 l2new . bbbb = np . copy ( np . transpose ( tmp116 , ( 3 , 2 , 1 , 0 ))) l2new . bbbb += einsum ( tmp113 , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 2 ), ( 3 , 4 , 0 , 1 )) * - 1 del tmp113 l2new . bbbb += np . transpose ( tmp116 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp116 l2new . bbbb += np . transpose ( tmp210 , ( 3 , 2 , 0 , 1 )) l2new . bbbb += einsum ( tmp211 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 5 , 0 ), ( 2 , 4 , 5 , 1 )) * 2 del tmp211 l2new . bbbb += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp212 , ( 0 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 2 del tmp212 l2new . bbbb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp196 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp213 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * - 1 del tmp213 l2new . bbbb += np . transpose ( tmp214 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp215 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += einsum ( tmp216 , ( 0 , 1 ), l2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp216 l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp194 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) l2new . bbbb += np . transpose ( tmp214 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . bbbb += np . transpose ( tmp215 , ( 2 , 3 , 0 , 1 )) l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp194 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) l2new . bbbb += np . transpose ( tmp214 , ( 3 , 2 , 0 , 1 )) * 2 del tmp214 l2new . bbbb += np . transpose ( tmp215 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp215 l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp194 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp217 , ( 2 , 3 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp218 , ( 3 , 2 , 1 , 0 )) * 2 del tmp218 l2new . bbbb += np . transpose ( tmp220 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp220 l2new . bbbb += einsum ( tmp221 , ( 0 , 1 ), l2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp221 l2new . bbbb += np . transpose ( tmp222 , ( 2 , 3 , 1 , 0 )) * - 2 l2new . bbbb += np . transpose ( tmp223 , ( 2 , 3 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp217 , ( 3 , 2 , 1 , 0 )) * - 2 del tmp217 l2new . bbbb += np . transpose ( tmp223 , ( 3 , 2 , 1 , 0 )) * 2 del tmp223 l2new . bbbb += np . transpose ( tmp222 , ( 3 , 2 , 1 , 0 )) * 2 del tmp222 l2new . bbbb += np . transpose ( tmp224 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp224 , ( 2 , 3 , 1 , 0 )) * 2 del tmp224 l2new . bbbb += einsum ( tmp225 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) * - 2 del tmp225 l2new . bbbb += einsum ( tmp209 , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 1 ), ( 3 , 4 , 0 , 2 )) del tmp209 l2new . bbbb += np . transpose ( tmp210 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp210 l2new . bbbb += np . transpose ( tmp226 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . bbbb += einsum ( tmp107 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) l2new . bbbb += np . transpose ( tmp227 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp228 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp226 , ( 2 , 3 , 0 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp227 , ( 2 , 3 , 0 , 1 )) l2new . bbbb += einsum ( tmp107 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp228 , ( 2 , 3 , 0 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp226 , ( 3 , 2 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp227 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp107 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp228 , ( 3 , 2 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp226 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp226 l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp107 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) l2new . bbbb += np . transpose ( tmp227 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp227 l2new . bbbb += np . transpose ( tmp228 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp228 l2new . abab = np . copy ( np . transpose ( tmp17 , ( 2 , 3 , 0 , 1 ))) del tmp17 l2new . abab += einsum ( tmp186 , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 2 ), ( 3 , 4 , 0 , 1 )) * - 1 l2new . abab += einsum ( tmp154 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) * - 1 del tmp154 l2new . abab += einsum ( tmp190 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) del tmp190 l2new . abab += einsum ( tmp166 , ( 0 , 1 ), l2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 l2new . abab += einsum ( tmp167 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) l2new . abab += einsum ( tmp192 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) * - 1 del tmp192 l2new . abab += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp160 , ( 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) del tmp160 l2new . abab += einsum ( l1 . aa , ( 0 , 1 ), tmp194 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) del tmp194 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp195 , ( 3 , 4 , 0 , 5 ), ( 5 , 1 , 2 , 4 )) * - 1 del tmp195 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp196 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 1 del tmp196 l2new . abab += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), tmp50 , ( 4 , 0 , 5 , 2 ), ( 1 , 3 , 4 , 5 )) * - 1 del tmp0 l2new . abab += np . transpose ( tmp197 , ( 2 , 3 , 0 , 1 )) del tmp197 l2new . abab += np . transpose ( tmp199 , ( 2 , 3 , 0 , 1 )) del tmp199 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp174 , ( 0 , 4 ), ( 4 , 1 , 2 , 3 )) l2new . abab += einsum ( tmp164 , ( 0 , 1 ), tmp50 , ( 2 , 0 , 3 , 4 ), ( 1 , 4 , 2 , 3 )) * - 1 del tmp164 l2new . abab += einsum ( tmp104 , ( 0 , 1 , 2 , 3 ), tmp61 , ( 4 , 5 , 0 , 2 ), ( 1 , 3 , 4 , 5 )) * - 1 del tmp104 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp201 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) del tmp201 l2new . abab += einsum ( tmp61 , ( 0 , 1 , 2 , 3 ), tmp202 , ( 2 , 4 ), ( 3 , 4 , 0 , 1 )) * - 1 del tmp202 l2new . abab += einsum ( tmp203 , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 4 , 1 ), ( 4 , 3 , 0 , 2 )) * - 1 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp204 , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp204 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp205 , ( 2 , 4 , 1 , 5 ), ( 0 , 5 , 4 , 3 )) * - 1 del tmp205 l2new . abab += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp182 , ( 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) * - 1 del tmp182 l2new . abab += einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), tmp186 , ( 1 , 4 , 2 , 5 ), ( 5 , 3 , 0 , 4 )) del tmp186 l2new . abab += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp206 , ( 0 , 3 , 4 ), ( 2 , 4 , 1 , 3 )) * - 1 del tmp206 l2new . abab += einsum ( tmp203 , ( 0 , 1 , 2 , 3 ), tmp61 , ( 1 , 4 , 2 , 5 ), ( 5 , 3 , 0 , 4 )) del tmp203 l2new . abab += einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), tmp184 , ( 0 , 1 , 4 , 5 ), ( 5 , 3 , 4 , 2 )) del tmp184 l2new . abab += einsum ( tmp180 , ( 0 , 1 , 2 , 3 ), tmp50 , ( 1 , 2 , 4 , 5 ), ( 3 , 5 , 0 , 4 )) del tmp50 , tmp180 l2new . abab += einsum ( tmp11 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 l2new . abab += einsum ( tmp107 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 del tmp107 l2new . abab += einsum ( tmp61 , ( 0 , 1 , 2 , 3 ), tmp207 , ( 1 , 2 , 4 , 5 ), ( 3 , 5 , 0 , 4 )) del tmp207 l2new . abab += einsum ( tmp61 , ( 0 , 1 , 2 , 3 ), tmp208 , ( 4 , 1 , 2 , 5 ), ( 3 , 5 , 0 , 4 )) del tmp61 , tmp208 l2new . aaaa = np . copy ( np . transpose ( tmp29 , ( 3 , 2 , 1 , 0 ))) l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp23 , ( 2 , 3 , 1 , 4 ), ( 4 , 0 , 2 , 3 )) * - 1 del tmp23 l2new . aaaa += np . transpose ( tmp29 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp29 l2new . aaaa += np . transpose ( tmp146 , ( 3 , 2 , 0 , 1 )) l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp147 , ( 3 , 4 , 5 , 1 ), ( 5 , 0 , 2 , 4 )) * 2 del tmp147 l2new . aaaa += einsum ( tmp151 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 4 , 2 , 1 , 3 )) * - 2 del tmp151 l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp152 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp152 l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp153 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * - 1 del tmp153 l2new . aaaa += np . transpose ( tmp155 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp161 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp166 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * 2 del tmp166 l2new . aaaa += einsum ( tmp167 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) l2new . aaaa += np . transpose ( tmp155 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . aaaa += np . transpose ( tmp161 , ( 2 , 3 , 0 , 1 )) l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp167 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) l2new . aaaa += np . transpose ( tmp155 , ( 3 , 2 , 0 , 1 )) * 2 del tmp155 l2new . aaaa += np . transpose ( tmp161 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp161 l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp167 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * - 1 del tmp167 l2new . aaaa += np . transpose ( tmp168 , ( 2 , 3 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp170 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp170 l2new . aaaa += np . transpose ( tmp171 , ( 3 , 2 , 1 , 0 )) * 2 del tmp171 l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp174 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) * - 1 del tmp174 l2new . aaaa += np . transpose ( tmp175 , ( 2 , 3 , 1 , 0 )) * - 2 l2new . aaaa += np . transpose ( tmp177 , ( 2 , 3 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp168 , ( 3 , 2 , 1 , 0 )) * - 2 del tmp168 l2new . aaaa += np . transpose ( tmp177 , ( 3 , 2 , 1 , 0 )) * 2 del tmp177 l2new . aaaa += np . transpose ( tmp175 , ( 3 , 2 , 1 , 0 )) * 2 del tmp175 l2new . aaaa += np . transpose ( tmp178 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp178 , ( 2 , 3 , 1 , 0 )) * 2 del tmp178 l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp179 , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) * - 2 del tmp179 l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp145 , ( 2 , 1 , 3 , 4 ), ( 4 , 0 , 2 , 3 )) del tmp145 l2new . aaaa += np . transpose ( tmp146 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp146 l2new . aaaa += np . transpose ( tmp181 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) l2new . aaaa += np . transpose ( tmp183 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp185 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp181 , ( 2 , 3 , 0 , 1 )) * 2 l2new . aaaa += np . transpose ( tmp183 , ( 2 , 3 , 0 , 1 )) l2new . aaaa += einsum ( tmp11 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp185 , ( 2 , 3 , 0 , 1 )) * 2 l2new . aaaa += np . transpose ( tmp181 , ( 3 , 2 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp183 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp185 , ( 3 , 2 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp181 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp181 l2new . aaaa += einsum ( tmp11 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) del tmp11 l2new . aaaa += np . transpose ( tmp183 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp183 l2new . aaaa += np . transpose ( tmp185 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp185 l1new . bb = np . copy ( np . transpose ( f . bb . ov , ( 1 , 0 ))) l1new . bb += einsum ( tmp111 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 3 , 4 , 0 , 2 ), ( 4 , 1 )) * - 1 del tmp111 l1new . bb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp120 , ( 4 , 2 , 3 , 1 ), ( 0 , 4 )) * 4 del tmp120 l1new . bb += einsum ( tmp122 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 del tmp122 l1new . bb += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp76 , ( 0 ,), ( 2 , 1 )) l1new . bb += einsum ( l1 . bb , ( 0 , 1 ), tmp127 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp127 l1new . bb += einsum ( tmp132 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 3 , 1 )) del tmp132 l1new . bb += einsum ( tmp141 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) * - 2 del tmp141 l1new . bb += einsum ( tmp68 , ( 0 , 1 ), tmp109 , ( 1 , 2 ), ( 2 , 0 )) * - 1 del tmp68 , tmp109 l1new . bb += einsum ( tmp143 , ( 0 , 1 ), l1 . bb , ( 0 , 2 ), ( 1 , 2 )) del tmp143 l1new . aa = np . copy ( np . transpose ( f . aa . ov , ( 1 , 0 ))) l1new . aa += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp21 , ( 4 , 2 , 3 , 1 ), ( 0 , 4 )) * - 2 del tmp21 l1new . aa += einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 1 , 2 ), ( 4 , 0 )) * 2 del tmp33 l1new . aa += einsum ( tmp37 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 del tmp37 l1new . aa += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp76 , ( 0 ,), ( 2 , 1 )) del tmp76 l1new . aa += einsum ( tmp81 , ( 0 , 1 ), l1 . aa , ( 2 , 0 ), ( 2 , 1 )) * - 1 del tmp81 l1new . aa += einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp87 , ( 0 , 3 , 2 ), ( 1 , 3 )) * 2 del tmp87 l1new . aa += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp99 , ( 0 , 1 , 3 ), ( 2 , 3 )) * - 1 del tmp99 l1new . aa += einsum ( tmp16 , ( 0 , 1 ), tmp100 , ( 2 , 0 ), ( 1 , 2 )) * - 1 del tmp16 , tmp100 l1new . aa += einsum ( l1 . aa , ( 0 , 1 ), tmp103 , ( 0 , 2 ), ( 2 , 1 )) del tmp103 return { f \"l1new\" : l1new , f \"l2new\" : l2new } ebcc . codegen . UDFCC2 . make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:52:49.895187. 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. Source code in ebcc/codegen/UDFCC2.py 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 def make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:52:49.895187. 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 ])), ) tmp4 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) tmp3 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp5 = einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 0 ), ( 1 , 2 )) tmp0 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp2 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp1 = einsum ( t1 . aa , ( 0 , 1 ), l1 . aa , ( 1 , 2 ), ( 2 , 0 )) tmp10 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp9 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp11 = np . copy ( tmp5 ) tmp11 += tmp4 tmp11 += tmp3 * 2 tmp8 = np . copy ( tmp1 ) tmp8 += tmp0 * 2 tmp8 += tmp2 tmp7 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 0 ), ( 2 , 4 , 3 , 1 )) tmp6 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) 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 ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 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 ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) rdm1 . aa . vv += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) rdm1 . bb . vo = np . copy ( l1 . bb ) rdm1 . aa . vo = np . copy ( l1 . aa ) rdm1 . bb . ov = np . copy ( t1 . bb ) rdm1 . bb . ov += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) * 2 rdm1 . bb . ov += einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) rdm1 . bb . ov += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) * - 1 del tmp9 rdm1 . bb . ov += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) * - 2 del tmp10 rdm1 . bb . ov += einsum ( tmp11 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp11 rdm1 . aa . ov = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) * 2 rdm1 . aa . ov += t1 . aa rdm1 . aa . ov += einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) rdm1 . aa . ov += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) * - 2 del tmp6 rdm1 . aa . ov += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) * - 1 del tmp7 rdm1 . aa . ov += einsum ( t1 . aa , ( 0 , 1 ), tmp8 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp8 rdm1 . bb . oo = np . copy ( np . transpose ( tmp3 , ( 1 , 0 ))) * - 2 del tmp3 rdm1 . bb . oo += np . transpose ( tmp4 , ( 1 , 0 )) * - 1 del tmp4 rdm1 . bb . oo += delta . bb . oo rdm1 . bb . oo += np . transpose ( tmp5 , ( 1 , 0 )) * - 1 del tmp5 rdm1 . aa . oo = np . copy ( np . transpose ( tmp0 , ( 1 , 0 ))) * - 2 del tmp0 rdm1 . aa . oo += delta . aa . oo del delta rdm1 . aa . oo += np . transpose ( tmp1 , ( 1 , 0 )) * - 1 del tmp1 rdm1 . aa . oo += np . transpose ( tmp2 , ( 1 , 0 )) * - 1 del tmp2 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 ebcc . codegen . UDFCC2 . make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:53:33.628639. 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. Source code in ebcc/codegen/UDFCC2.py 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 def make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:53:33.628639. 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 ])), ) tmp19 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp14 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp8 = einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 0 ), ( 1 , 2 )) tmp9 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) tmp10 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp0 = einsum ( t1 . aa , ( 0 , 1 ), l1 . aa , ( 1 , 2 ), ( 2 , 0 )) tmp2 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp1 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp6 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp27 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 0 ), ( 2 , 4 , 3 , 1 )) tmp84 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp83 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 5 ), ( 3 , 4 , 1 , 5 )) tmp66 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp106 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp50 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp51 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 0 , 4 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp18 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp20 = einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp17 = np . copy ( tmp8 ) tmp17 += tmp9 tmp17 += tmp10 * 2 tmp13 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 0 , 1 ), ( 2 , 4 , 3 , 5 )) tmp15 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp12 = np . copy ( tmp0 ) * 0.5 tmp12 += tmp1 tmp12 += tmp2 * 0.5 tmp7 = einsum ( t1 . aa , ( 0 , 1 ), tmp6 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp5 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp32 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp31 = einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp81 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp80 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 1 , 4 )) tmp108 = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 0 ), ( 2 , 1 )) tmp112 = einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp85 = np . copy ( tmp83 ) tmp85 += tmp84 * 4 tmp86 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) tmp87 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp64 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp63 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp104 = einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp118 = np . copy ( tmp66 ) * 4 tmp118 += tmp106 tmp107 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp70 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 3 , 4 , 1 , 5 ), ( 0 , 5 , 2 , 4 )) tmp68 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 0 , 5 , 2 , 4 )) tmp36 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) tmp35 = einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) tmp102 = np . copy ( tmp51 ) tmp102 += tmp50 * 4 tmp49 = einsum ( l1 . bb , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp52 = np . copy ( np . transpose ( tmp18 , ( 1 , 0 , 3 , 2 ))) tmp52 += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) * - 1 tmp61 = einsum ( tmp17 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) * 0.5 tmp39 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 0 , 1 , 4 , 2 ), ( 4 , 3 )) tmp40 = einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) tmp58 = np . copy ( tmp8 ) * 0.5 tmp58 += tmp9 * 0.5 tmp58 += tmp10 tmp41 = einsum ( tmp17 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp56 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * - 1 tmp57 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp14 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp22 = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp21 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp45 = np . copy ( tmp13 ) tmp45 += tmp15 tmp26 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) tmp28 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp29 = einsum ( tmp12 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * 2 tmp44 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) * - 1 tmp43 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp27 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp25 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) tmp33 = np . copy ( np . transpose ( tmp5 , ( 1 , 0 , 3 , 2 ))) tmp33 += np . transpose ( tmp7 , ( 0 , 1 , 3 , 2 )) * - 1 tmp78 = np . copy ( tmp32 ) * 4 tmp78 += tmp31 tmp130 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) tmp132 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) tmp129 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) tmp128 = einsum ( t1 . aa , ( 0 , 1 ), l2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 4 , 2 , 3 , 1 )) tmp131 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) tmp109 = np . copy ( tmp108 ) tmp109 += tmp80 tmp109 += tmp81 * 2 tmp127 = einsum ( t1 . bb , ( 0 , 1 ), tmp112 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp125 = einsum ( tmp85 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 4 , 2 , 3 )) tmp123 = einsum ( l1 . bb , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) tmp126 = einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 0 , 4 , 5 ), ( 2 , 3 , 4 , 5 )) * - 1 tmp88 = np . copy ( tmp86 ) tmp88 += tmp87 tmp89 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 5 , 1 ), ( 3 , 4 , 0 , 5 )) tmp115 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp105 = np . copy ( tmp104 ) * 0.5 tmp105 += tmp63 tmp105 += tmp64 * 0.5 tmp113 = np . copy ( tmp104 ) del tmp104 tmp113 += tmp63 * 2 tmp113 += tmp64 tmp119 = einsum ( tmp118 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 4 , 2 , 3 )) del tmp118 tmp120 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 0 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) * - 1 tmp121 = einsum ( t1 . aa , ( 0 , 1 ), tmp107 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp116 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp124 = np . copy ( tmp83 ) * 0.25 tmp124 += tmp84 tmp111 = np . copy ( tmp108 ) * 0.5 del tmp108 tmp111 += tmp80 * 0.5 tmp111 += tmp81 tmp114 = einsum ( t1 . aa , ( 0 , 1 ), tmp27 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp110 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 5 ), ( 2 , 4 , 1 , 5 )) tmp122 = np . copy ( tmp70 ) tmp122 += tmp68 tmp117 = np . copy ( tmp66 ) tmp117 += tmp106 * 0.25 tmp96 = np . copy ( tmp35 ) tmp96 += tmp36 * 2 tmp94 = einsum ( tmp84 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp82 = np . copy ( tmp80 ) * 0.5 tmp82 += tmp81 tmp103 = einsum ( tmp102 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp102 tmp97 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) tmp101 = einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) tmp98 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 tmp62 = np . copy ( tmp39 ) * 0.5 tmp62 += tmp40 tmp62 += tmp61 del tmp61 tmp37 = np . copy ( t1 . bb ) tmp37 += tmp35 tmp37 += tmp36 * 2 tmp100 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp52 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) tmp92 = np . copy ( tmp80 ) del tmp80 tmp92 += tmp81 * 2 del tmp81 tmp93 = einsum ( tmp86 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp48 = np . copy ( t1 . bb ) tmp48 += tmp35 tmp48 += tmp36 * 2 tmp99 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp58 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 2 tmp42 = np . copy ( tmp39 ) del tmp39 tmp42 += tmp40 * 2 del tmp40 tmp42 += tmp41 del tmp41 tmp95 = einsum ( tmp83 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) tmp91 = np . copy ( tmp57 ) tmp91 += tmp56 tmp72 = np . copy ( tmp21 ) * 2 tmp72 += tmp22 tmp74 = np . copy ( tmp63 ) * 2 tmp74 += tmp64 tmp55 = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 1 , 3 , 4 )) tmp47 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) tmp46 = einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp30 = np . copy ( tmp26 ) * 2 del tmp26 tmp30 += tmp28 del tmp28 tmp30 += tmp29 del tmp29 tmp90 = np . copy ( tmp44 ) tmp90 += tmp43 tmp59 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 0 , 4 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp38 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 2 , 4 ), ( 4 , 0 , 1 , 3 )) tmp54 = np . copy ( t1 . aa ) tmp54 += tmp21 * 2 tmp54 += tmp22 tmp75 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp12 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) * - 2 tmp24 = np . copy ( t1 . aa ) tmp24 += tmp21 * 2 tmp24 += tmp22 tmp73 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) tmp71 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp70 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp77 = einsum ( t1 . aa , ( 0 , 1 ), tmp33 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) tmp76 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp33 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) tmp65 = np . copy ( tmp63 ) del tmp63 tmp65 += tmp64 * 0.5 del tmp64 tmp79 = einsum ( tmp78 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp78 tmp69 = einsum ( tmp68 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp67 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp66 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) tmp60 = np . copy ( t1 . bb ) * 0.5 tmp60 += tmp35 * 0.5 del tmp35 tmp60 += tmp36 del tmp36 tmp53 = einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) * 2 del tmp52 tmp23 = np . copy ( t1 . aa ) * 0.5 tmp23 += tmp21 del tmp21 tmp23 += tmp22 * 0.5 del tmp22 tmp4 = np . copy ( tmp0 ) tmp4 += tmp1 * 2 tmp4 += tmp2 tmp34 = einsum ( t1 . aa , ( 0 , 1 ), tmp33 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * 2 del tmp33 tmp16 = np . copy ( delta . bb . oo ) * - 1 tmp16 += tmp8 tmp16 += tmp9 tmp16 += tmp10 * 2 tmp11 = np . copy ( delta . bb . oo ) * - 0.5 tmp11 += tmp8 * 0.5 del tmp8 tmp11 += tmp9 * 0.5 del tmp9 tmp11 += tmp10 del tmp10 tmp3 = np . copy ( delta . aa . oo ) * - 1 tmp3 += tmp0 del tmp0 tmp3 += tmp1 * 2 del tmp1 tmp3 += tmp2 del tmp2 rdm2 . bbbb . vvvv = np . copy ( np . transpose ( tmp132 , ( 1 , 0 , 3 , 2 ))) * 2 del tmp132 rdm2 . bbbb . vvvv += einsum ( t1 . bb , ( 0 , 1 ), tmp130 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 rdm2 . abab . vvvv = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) rdm2 . abab . vvvv += einsum ( tmp129 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) rdm2 . aaaa . vvvv = np . copy ( np . transpose ( tmp131 , ( 1 , 0 , 3 , 2 ))) * 2 del tmp131 rdm2 . aaaa . vvvv += einsum ( tmp128 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * 2 rdm2 . bbbb . vvvo = np . copy ( np . transpose ( tmp130 , ( 2 , 1 , 3 , 0 ))) * 2 rdm2 . abab . vvvo = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) rdm2 . aaaa . vvvo = np . copy ( np . transpose ( tmp128 , ( 2 , 1 , 3 , 0 ))) * 2 rdm2 . bbbb . vvov = np . copy ( np . transpose ( tmp130 , ( 2 , 1 , 0 , 3 ))) * - 2 del tmp130 rdm2 . abab . vvov = np . copy ( np . transpose ( tmp129 , ( 1 , 2 , 0 , 3 ))) del tmp129 rdm2 . aaaa . vvov = np . copy ( np . transpose ( tmp128 , ( 2 , 1 , 0 , 3 ))) * - 2 del tmp128 rdm2 . bbbb . vovv = np . copy ( np . transpose ( tmp123 , ( 1 , 0 , 3 , 2 ))) * 2 rdm2 . bbbb . vovv += einsum ( t1 . bb , ( 0 , 1 ), tmp109 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . vovv += einsum ( t1 . bb , ( 0 , 1 ), tmp109 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . vovv += np . transpose ( tmp125 , ( 2 , 0 , 1 , 3 )) rdm2 . bbbb . vovv += np . transpose ( tmp125 , ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . bbbb . vovv += np . transpose ( tmp126 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . bbbb . vovv += np . transpose ( tmp127 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . abab . vovv = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 4 , 0 ), ( 4 , 1 , 2 , 3 )) rdm2 . abab . vovv += einsum ( t1 . bb , ( 0 , 1 ), tmp105 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . abab . vovv += einsum ( tmp88 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 1 , 4 , 3 )) * 2 rdm2 . abab . vovv += einsum ( tmp89 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 rdm2 . abab . vovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 0 , 1 , 4 , 5 ), ( 5 , 4 , 2 , 3 )) * - 1 rdm2 . abab . vovv += einsum ( tmp115 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 1 , 4 , 3 )) * - 1 rdm2 . aaaa . vovv = np . copy ( np . transpose ( tmp116 , ( 1 , 0 , 3 , 2 ))) * 2 rdm2 . aaaa . vovv += einsum ( tmp113 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . vovv += einsum ( tmp105 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . aaaa . vovv += np . transpose ( tmp119 , ( 2 , 0 , 1 , 3 )) rdm2 . aaaa . vovv += np . transpose ( tmp119 , ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . vovv += np . transpose ( tmp120 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . aaaa . vovv += np . transpose ( tmp121 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . bbbb . ovvv = np . copy ( np . transpose ( tmp123 , ( 0 , 1 , 3 , 2 ))) * - 2 del tmp123 rdm2 . bbbb . ovvv += einsum ( t1 . bb , ( 0 , 1 ), tmp109 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . ovvv += einsum ( t1 . bb , ( 0 , 1 ), tmp111 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . bbbb . ovvv += einsum ( tmp124 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 4 del tmp124 rdm2 . bbbb . ovvv += np . transpose ( tmp125 , ( 0 , 2 , 3 , 1 )) del tmp125 rdm2 . bbbb . ovvv += np . transpose ( tmp126 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp126 rdm2 . bbbb . ovvv += np . transpose ( tmp127 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp127 rdm2 . abab . ovvv = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) rdm2 . abab . ovvv += einsum ( tmp111 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . abab . ovvv += einsum ( t1 . aa , ( 0 , 1 ), tmp110 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 rdm2 . abab . ovvv += einsum ( tmp122 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 3 , 2 , 4 )) * 2 del tmp122 rdm2 . abab . ovvv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) * - 1 rdm2 . abab . ovvv += einsum ( t1 . bb , ( 0 , 1 ), tmp114 , ( 2 , 0 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 1 rdm2 . aaaa . ovvv = np . copy ( np . transpose ( tmp116 , ( 0 , 1 , 3 , 2 ))) * - 2 del tmp116 rdm2 . aaaa . ovvv += einsum ( tmp113 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . ovvv += einsum ( tmp105 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . aaaa . ovvv += einsum ( t1 . aa , ( 0 , 1 ), tmp117 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 4 del tmp117 rdm2 . aaaa . ovvv += np . transpose ( tmp119 , ( 0 , 2 , 3 , 1 )) del tmp119 rdm2 . aaaa . ovvv += np . transpose ( tmp120 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp120 rdm2 . aaaa . ovvv += np . transpose ( tmp121 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp121 rdm2 . bbbb . vvoo = np . copy ( l2 . bbbb ) * 2 rdm2 . abab . vvoo = np . copy ( l2 . abab ) rdm2 . aaaa . vvoo = np . copy ( l2 . aaaa ) * 2 rdm2 . bbbb . vovo = einsum ( delta . bb . oo , ( 0 , 1 ), tmp109 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . vovo += np . transpose ( tmp84 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . bbbb . vovo += einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . vovo += np . transpose ( tmp83 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . vovo += np . transpose ( tmp112 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . abab . vovo = einsum ( delta . bb . oo , ( 0 , 1 ), tmp105 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . abab . vovo += np . transpose ( tmp89 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . abab . vovo += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 rdm2 . aaaa . vovo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp113 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . vovo += np . transpose ( tmp66 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . aaaa . vovo += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . vovo += np . transpose ( tmp106 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . aaaa . vovo += np . transpose ( tmp107 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . bbbb . voov = einsum ( delta . bb . oo , ( 0 , 1 ), tmp111 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . bbbb . voov += np . transpose ( tmp84 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . bbbb . voov += einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . voov += np . transpose ( tmp83 , ( 2 , 1 , 0 , 3 )) rdm2 . bbbb . voov += np . transpose ( tmp112 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . abab . voov = np . copy ( np . transpose ( tmp86 , ( 2 , 1 , 0 , 3 ))) * 2 del tmp86 rdm2 . abab . voov += np . transpose ( tmp87 , ( 2 , 1 , 0 , 3 )) * 2 del tmp87 rdm2 . abab . voov += einsum ( t1 . bb , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . voov += np . transpose ( tmp115 , ( 2 , 1 , 0 , 3 )) * - 1 del tmp115 rdm2 . aaaa . voov = einsum ( delta . aa . oo , ( 0 , 1 ), tmp105 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . aaaa . voov += np . transpose ( tmp66 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . aaaa . voov += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . voov += np . transpose ( tmp106 , ( 2 , 1 , 0 , 3 )) rdm2 . aaaa . voov += np . transpose ( tmp107 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . bbbb . ovvo = einsum ( delta . bb . oo , ( 0 , 1 ), tmp109 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . ovvo += np . transpose ( tmp84 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . bbbb . ovvo += einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . ovvo += np . transpose ( tmp83 , ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . ovvo += np . transpose ( tmp112 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . abab . ovvo = np . copy ( np . transpose ( tmp70 , ( 0 , 3 , 2 , 1 ))) * 2 del tmp70 rdm2 . abab . ovvo += einsum ( l1 . bb , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . ovvo += np . transpose ( tmp68 , ( 0 , 3 , 2 , 1 )) * 2 del tmp68 rdm2 . abab . ovvo += np . transpose ( tmp114 , ( 0 , 3 , 2 , 1 )) * - 1 del tmp114 rdm2 . aaaa . ovvo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp113 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 del tmp113 rdm2 . aaaa . ovvo += np . transpose ( tmp66 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . aaaa . ovvo += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . ovvo += np . transpose ( tmp106 , ( 1 , 2 , 3 , 0 )) rdm2 . aaaa . ovvo += np . transpose ( tmp107 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . bbbb . ovov = einsum ( delta . bb . oo , ( 0 , 1 ), tmp111 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 del tmp111 rdm2 . bbbb . ovov += np . transpose ( tmp84 , ( 1 , 2 , 0 , 3 )) * - 4 del tmp84 rdm2 . bbbb . ovov += einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . ovov += np . transpose ( tmp83 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp83 rdm2 . bbbb . ovov += np . transpose ( tmp112 , ( 1 , 2 , 0 , 3 )) * 2 del tmp112 rdm2 . abab . ovov = einsum ( delta . aa . oo , ( 0 , 1 ), tmp109 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) del tmp109 rdm2 . abab . ovov += np . transpose ( tmp110 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp110 rdm2 . abab . ovov += einsum ( t1 . bb , ( 0 , 1 ), tmp27 , ( 2 , 3 , 0 , 4 ), ( 3 , 4 , 2 , 1 )) * - 1 rdm2 . aaaa . ovov = einsum ( delta . aa . oo , ( 0 , 1 ), tmp105 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 del tmp105 rdm2 . aaaa . ovov += np . transpose ( tmp66 , ( 1 , 2 , 0 , 3 )) * - 4 del tmp66 rdm2 . aaaa . ovov += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . ovov += np . transpose ( tmp106 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp106 rdm2 . aaaa . ovov += np . transpose ( tmp107 , ( 1 , 2 , 0 , 3 )) * 2 del tmp107 rdm2 . bbbb . oovv = np . copy ( t2 . bbbb ) * 2 rdm2 . bbbb . oovv += einsum ( tmp92 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp92 rdm2 . bbbb . oovv += np . transpose ( tmp93 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp94 , ( 0 , 1 , 3 , 2 )) * - 8 rdm2 . bbbb . oovv += np . transpose ( tmp95 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp95 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . bbbb . oovv += einsum ( tmp48 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . oovv += np . transpose ( tmp93 , ( 1 , 0 , 3 , 2 )) * 2 del tmp93 rdm2 . bbbb . oovv += tmp94 * 8 del tmp94 rdm2 . bbbb . oovv += tmp95 * 2 rdm2 . bbbb . oovv += np . transpose ( tmp95 , ( 1 , 0 , 3 , 2 )) * 2 del tmp95 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . oovv += einsum ( tmp96 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp96 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 del tmp96 rdm2 . bbbb . oovv += tmp97 * 2 rdm2 . bbbb . oovv += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp82 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * 4 rdm2 . bbbb . oovv += np . transpose ( tmp97 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp97 rdm2 . bbbb . oovv += np . transpose ( tmp98 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 rdm2 . bbbb . oovv += np . transpose ( tmp99 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) rdm2 . bbbb . oovv += np . transpose ( tmp99 , ( 1 , 0 , 3 , 2 )) del tmp99 rdm2 . bbbb . oovv += einsum ( tmp42 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) rdm2 . bbbb . oovv += np . transpose ( tmp98 , ( 1 , 0 , 3 , 2 )) del tmp98 rdm2 . bbbb . oovv += einsum ( tmp62 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp100 , ( 1 , 0 , 3 , 2 )) * 2 del tmp100 rdm2 . bbbb . oovv += einsum ( tmp101 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * 2 del tmp101 rdm2 . bbbb . oovv += np . transpose ( tmp103 , ( 1 , 0 , 2 , 3 )) rdm2 . bbbb . oovv += tmp103 * - 1 rdm2 . bbbb . oovv += np . transpose ( tmp103 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . bbbb . oovv += np . transpose ( tmp103 , ( 0 , 1 , 3 , 2 )) del tmp103 rdm2 . abab . oovv = np . copy ( t2 . abab ) rdm2 . abab . oovv += einsum ( tmp82 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp82 rdm2 . abab . oovv += einsum ( tmp85 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) del tmp85 rdm2 . abab . oovv += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp88 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * 4 del tmp88 rdm2 . abab . oovv += einsum ( tmp37 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp72 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . oovv += einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 1 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp74 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 rdm2 . abab . oovv += einsum ( tmp55 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp58 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 2 rdm2 . abab . oovv += einsum ( tmp42 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . abab . oovv += einsum ( tmp12 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 2 rdm2 . abab . oovv += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 4 , 5 )) rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp46 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) rdm2 . abab . oovv += einsum ( tmp89 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 3 , 5 )) del tmp89 rdm2 . abab . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . abab . oovv += einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp90 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp90 rdm2 . abab . oovv += einsum ( tmp91 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) * - 2 del tmp91 rdm2 . abab . oovv += einsum ( tmp59 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) rdm2 . aaaa . oovv = np . copy ( t2 . aaaa ) * 2 rdm2 . aaaa . oovv += einsum ( tmp65 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 4 del tmp65 rdm2 . aaaa . oovv += np . transpose ( tmp67 , ( 0 , 1 , 3 , 2 )) * - 8 rdm2 . aaaa . oovv += np . transpose ( tmp69 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += np . transpose ( tmp71 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += np . transpose ( tmp71 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp54 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . oovv += tmp67 * 8 del tmp67 rdm2 . aaaa . oovv += tmp69 * 2 del tmp69 rdm2 . aaaa . oovv += tmp71 * 2 rdm2 . aaaa . oovv += np . transpose ( tmp71 , ( 1 , 0 , 3 , 2 )) * 2 del tmp71 rdm2 . aaaa . oovv += einsum ( tmp24 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp72 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . oovv += einsum ( tmp72 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 del tmp72 rdm2 . aaaa . oovv += tmp73 * 2 rdm2 . aaaa . oovv += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp74 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * 2 del tmp74 rdm2 . aaaa . oovv += np . transpose ( tmp73 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp73 rdm2 . aaaa . oovv += np . transpose ( tmp75 , ( 1 , 0 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += einsum ( tmp30 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . oovv += einsum ( tmp30 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . aaaa . oovv += np . transpose ( tmp75 , ( 0 , 1 , 3 , 2 )) * 2 del tmp75 rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . oovv += np . transpose ( tmp76 , ( 1 , 0 , 3 , 2 )) * 2 del tmp76 rdm2 . aaaa . oovv += einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * 2 del tmp77 rdm2 . aaaa . oovv += np . transpose ( tmp79 , ( 1 , 0 , 2 , 3 )) rdm2 . aaaa . oovv += tmp79 * - 1 rdm2 . aaaa . oovv += np . transpose ( tmp79 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . aaaa . oovv += np . transpose ( tmp79 , ( 0 , 1 , 3 , 2 )) del tmp79 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 ( tmp19 , ( 3 , 2 , 1 , 0 )) * 2 rdm2 . abab . vooo = einsum ( delta . bb . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . vooo += np . transpose ( tmp14 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp14 rdm2 . aaaa . vooo = einsum ( delta . aa . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . vooo += einsum ( delta . aa . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . vooo += np . transpose ( tmp6 , ( 3 , 2 , 1 , 0 )) * 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 )) rdm2 . bbbb . ovoo += np . transpose ( tmp19 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp19 rdm2 . abab . ovoo = einsum ( delta . aa . oo , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . ovoo += np . transpose ( tmp27 , ( 1 , 3 , 0 , 2 )) * - 1 del tmp27 rdm2 . aaaa . ovoo = einsum ( delta . aa . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . ovoo += einsum ( delta . aa . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . ovoo += np . transpose ( tmp6 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp6 rdm2 . bbbb . oovo = einsum ( tmp60 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 del tmp60 rdm2 . bbbb . oovo += einsum ( tmp37 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . oovo += np . transpose ( tmp49 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . bbbb . oovo += einsum ( tmp62 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 rdm2 . bbbb . oovo += einsum ( tmp62 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 del tmp62 rdm2 . bbbb . oovo += np . transpose ( tmp50 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . bbbb . oovo += np . transpose ( tmp51 , ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . oovo += einsum ( tmp58 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * 2 rdm2 . bbbb . oovo += np . transpose ( tmp50 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . bbbb . oovo += np . transpose ( tmp51 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . oovo += einsum ( tmp58 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . bbbb . oovo += np . transpose ( tmp53 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . abab . oovo = einsum ( delta . bb . oo , ( 0 , 1 ), tmp23 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . abab . oovo += np . transpose ( tmp55 , ( 0 , 2 , 3 , 1 )) * - 1 del tmp55 rdm2 . abab . oovo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . abab . oovo += np . transpose ( tmp56 , ( 0 , 2 , 3 , 1 )) * - 2 del tmp56 rdm2 . abab . oovo += np . transpose ( tmp57 , ( 0 , 2 , 3 , 1 )) * - 2 del tmp57 rdm2 . abab . oovo += einsum ( tmp58 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 2 del tmp58 rdm2 . abab . oovo += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 3 , 4 , 2 )) del tmp45 rdm2 . abab . oovo += np . transpose ( tmp59 , ( 0 , 2 , 3 , 1 )) del tmp59 rdm2 . aaaa . oovo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp54 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp54 rdm2 . aaaa . oovo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp24 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . oovo += np . transpose ( tmp25 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . aaaa . oovo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . oovo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) rdm2 . aaaa . oovo += np . transpose ( tmp31 , ( 1 , 2 , 3 , 0 )) rdm2 . aaaa . oovo += np . transpose ( tmp32 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . aaaa . oovo += einsum ( t1 . aa , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) rdm2 . aaaa . oovo += np . transpose ( tmp31 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . aaaa . oovo += np . transpose ( tmp32 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . aaaa . oovo += einsum ( tmp4 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . aaaa . oovo += np . transpose ( tmp34 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . ooov = einsum ( tmp48 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 del tmp48 rdm2 . bbbb . ooov += einsum ( tmp37 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . ooov += np . transpose ( tmp49 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp49 rdm2 . bbbb . ooov += einsum ( tmp42 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) rdm2 . bbbb . ooov += einsum ( tmp42 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . bbbb . ooov += np . transpose ( tmp50 , ( 1 , 2 , 0 , 3 )) * - 4 rdm2 . bbbb . ooov += np . transpose ( tmp51 , ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . bbbb . ooov += einsum ( tmp17 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . bbbb . ooov += np . transpose ( tmp50 , ( 2 , 1 , 0 , 3 )) * 4 del tmp50 rdm2 . bbbb . ooov += np . transpose ( tmp51 , ( 2 , 1 , 0 , 3 )) del tmp51 rdm2 . bbbb . ooov += einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) rdm2 . bbbb . ooov += np . transpose ( tmp53 , ( 2 , 1 , 0 , 3 )) del tmp53 rdm2 . abab . ooov = einsum ( delta . aa . oo , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) del tmp37 rdm2 . abab . ooov += np . transpose ( tmp38 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp38 rdm2 . abab . ooov += einsum ( delta . aa . oo , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 del tmp42 rdm2 . abab . ooov += np . transpose ( tmp43 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp43 rdm2 . abab . ooov += np . transpose ( tmp44 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp44 rdm2 . abab . ooov += einsum ( t1 . bb , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . abab . ooov += np . transpose ( tmp46 , ( 1 , 2 , 0 , 3 )) del tmp46 rdm2 . abab . ooov += np . transpose ( tmp47 , ( 1 , 2 , 0 , 3 )) del tmp47 rdm2 . aaaa . ooov = einsum ( delta . aa . oo , ( 0 , 1 ), tmp23 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 del tmp23 rdm2 . aaaa . ooov += einsum ( delta . aa . oo , ( 0 , 1 ), tmp24 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) del tmp24 rdm2 . aaaa . ooov += np . transpose ( tmp25 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp25 rdm2 . aaaa . ooov += einsum ( delta . aa . oo , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . aaaa . ooov += einsum ( delta . aa . oo , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 del tmp30 rdm2 . aaaa . ooov += np . transpose ( tmp31 , ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . aaaa . ooov += np . transpose ( tmp32 , ( 1 , 2 , 0 , 3 )) * - 4 rdm2 . aaaa . ooov += einsum ( t1 . aa , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . aaaa . ooov += np . transpose ( tmp31 , ( 2 , 1 , 0 , 3 )) del tmp31 rdm2 . aaaa . ooov += np . transpose ( tmp32 , ( 2 , 1 , 0 , 3 )) * 4 del tmp32 rdm2 . aaaa . ooov += einsum ( tmp4 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) rdm2 . aaaa . ooov += np . transpose ( tmp34 , ( 2 , 1 , 0 , 3 )) del tmp34 rdm2 . bbbb . oooo = einsum ( delta . bb . oo , ( 0 , 1 ), tmp16 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . bbbb . oooo += einsum ( tmp16 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) del tmp16 rdm2 . bbbb . oooo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp17 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . bbbb . oooo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp17 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) del tmp17 rdm2 . bbbb . oooo += np . transpose ( tmp18 , ( 3 , 2 , 1 , 0 )) * 2 del tmp18 rdm2 . bbbb . oooo += np . transpose ( tmp20 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp20 rdm2 . abab . oooo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 2 del tmp11 rdm2 . abab . oooo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp12 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 2 del tmp12 rdm2 . abab . oooo += np . transpose ( tmp13 , ( 1 , 3 , 0 , 2 )) del tmp13 rdm2 . abab . oooo += np . transpose ( tmp15 , ( 1 , 3 , 0 , 2 )) del tmp15 rdm2 . aaaa . oooo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . aaaa . oooo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) del tmp3 rdm2 . aaaa . oooo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . aaaa . oooo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) del delta , tmp4 rdm2 . aaaa . oooo += np . transpose ( tmp5 , ( 3 , 2 , 1 , 0 )) * 2 del tmp5 rdm2 . aaaa . oooo += np . transpose ( tmp7 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp7 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 ebcc . codegen . UDFCC2 . hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:54:31.138023. 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 tmp1 : array tmp103 : array tmp107 : array tmp11 : array tmp111 : array tmp113 : array tmp12 : array tmp121 : array tmp123 : array tmp125 : array tmp127 : array tmp128 : array tmp129 : array tmp137 : array tmp138 : array tmp14 : array tmp141 : array tmp148 : array tmp153 : array tmp156 : array tmp157 : array tmp159 : array tmp160 : array tmp161 : array tmp163 : array tmp166 : array tmp17 : array tmp170 : array tmp172 : array tmp173 : array tmp174 : array tmp175 : array tmp176 : array tmp178 : array tmp18 : array tmp180 : array tmp183 : array tmp184 : array tmp185 : array tmp186 : array tmp189 : array tmp19 : array tmp190 : array tmp197 : array tmp199 : array tmp2 : array tmp204 : array tmp206 : array tmp208 : array tmp21 : array tmp210 : array tmp22 : array tmp220 : array tmp24 : array tmp26 : array tmp27 : array tmp29 : array tmp30 : array tmp32 : array tmp33 : array tmp34 : array tmp36 : array tmp37 : array tmp39 : array tmp4 : array tmp41 : array tmp42 : array tmp43 : array tmp47 : array tmp49 : array tmp51 : array tmp52 : array tmp54 : array tmp55 : array tmp57 : array tmp58 : array tmp59 : array tmp61 : array tmp66 : array tmp67 : array tmp69 : array tmp7 : array tmp71 : array tmp72 : array tmp75 : array tmp78 : array tmp79 : array tmp80 : array tmp82 : array tmp83 : array tmp84 : array tmp86 : array tmp88 : array tmp9 : array tmp90 : array tmp92 : array tmp94 : array tmp97 : array tmp98 : array Source code in ebcc/codegen/UDFCC2.py 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 def hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:54:31.138023. 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 ------- tmp1 : array tmp103 : array tmp107 : array tmp11 : array tmp111 : array tmp113 : array tmp12 : array tmp121 : array tmp123 : array tmp125 : array tmp127 : array tmp128 : array tmp129 : array tmp137 : array tmp138 : array tmp14 : array tmp141 : array tmp148 : array tmp153 : array tmp156 : array tmp157 : array tmp159 : array tmp160 : array tmp161 : array tmp163 : array tmp166 : array tmp17 : array tmp170 : array tmp172 : array tmp173 : array tmp174 : array tmp175 : array tmp176 : array tmp178 : array tmp18 : array tmp180 : array tmp183 : array tmp184 : array tmp185 : array tmp186 : array tmp189 : array tmp19 : array tmp190 : array tmp197 : array tmp199 : array tmp2 : array tmp204 : array tmp206 : array tmp208 : array tmp21 : array tmp210 : array tmp22 : array tmp220 : array tmp24 : array tmp26 : array tmp27 : array tmp29 : array tmp30 : array tmp32 : array tmp33 : array tmp34 : array tmp36 : array tmp37 : array tmp39 : array tmp4 : array tmp41 : array tmp42 : array tmp43 : array tmp47 : array tmp49 : array tmp51 : array tmp52 : array tmp54 : array tmp55 : array tmp57 : array tmp58 : array tmp59 : array tmp61 : array tmp66 : array tmp67 : array tmp69 : array tmp7 : array tmp71 : array tmp72 : array tmp75 : array tmp78 : array tmp79 : array tmp80 : array tmp82 : array tmp83 : array tmp84 : array tmp86 : array tmp88 : array tmp9 : array tmp90 : array tmp92 : array tmp94 : array tmp97 : array tmp98 : array \"\"\" tmp8 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp10 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t1 . bb , ( 1 , 2 ), ( 0 ,)) tmp16 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp6 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp54 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp51 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp37 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp97 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp196 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp36 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 0 , 2 )) tmp107 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp39 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp71 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp2 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp152 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp4 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp26 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp29 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp120 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp1 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 2 , 1 ), ( 2 , 0 )) tmp68 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp21 = einsum ( tmp8 , ( 0 ,), v . bbb . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp18 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp17 = einsum ( tmp16 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp19 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp14 = einsum ( tmp8 , ( 0 ,), v . baa . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp12 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp220 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp210 = einsum ( tmp54 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp208 = einsum ( tmp51 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp206 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp204 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp199 = einsum ( tmp97 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 1 , 0 )) tmp197 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp196 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) * - 1 del tmp196 tmp190 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp189 = einsum ( tmp36 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp186 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp185 = einsum ( tmp54 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp184 = einsum ( tmp51 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * - 1 tmp183 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . vv , ( 2 , 1 ), ( 0 , 2 )) tmp180 = einsum ( tmp107 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp178 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp54 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp176 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp51 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp175 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 1 , 5 )) tmp174 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp39 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) tmp173 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp172 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp170 = einsum ( f . bb . oo , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp166 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp97 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp163 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp71 , ( 0 , 4 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp161 = einsum ( tmp51 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp160 = einsum ( tmp54 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp159 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp157 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp156 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 0 , 2 ), ( 1 , 3 )) tmp153 = einsum ( tmp152 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp152 tmp148 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp141 = einsum ( tmp107 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp138 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp137 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp129 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp26 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp128 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp127 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp125 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp123 = einsum ( tmp107 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 2 , 3 ), ( 4 , 0 , 5 , 1 )) tmp121 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp120 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) del tmp120 tmp113 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp111 = einsum ( tmp1 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp103 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp98 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp97 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp94 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp71 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp92 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp90 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp26 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp88 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp86 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp26 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp84 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp83 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp82 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp80 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp79 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp78 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp75 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . oo , ( 2 , 0 ), ( 2 , 1 )) tmp72 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp71 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) tmp69 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp68 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) * - 1 del tmp68 tmp67 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp66 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp26 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp61 = einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp59 = einsum ( t1 . bb , ( 0 , 1 ), tmp21 , ( 2 , 1 ), ( 0 , 2 )) tmp58 = einsum ( tmp18 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp57 = einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 2 , 1 ), ( 0 , 2 )) tmp55 = einsum ( tmp54 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp52 = einsum ( tmp51 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp49 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp47 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp43 = einsum ( tmp8 , ( 0 ,), v . bbb . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp42 = einsum ( tmp10 , ( 0 ,), v . bbb . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp41 = einsum ( tmp16 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) del tmp16 tmp34 = einsum ( tmp19 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp33 = einsum ( tmp14 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp32 = einsum ( tmp12 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp27 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp26 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp24 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp6 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp22 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp6 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp11 = einsum ( tmp10 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp10 tmp9 = einsum ( tmp8 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp8 tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) del tmp6 return { f \"tmp1\" : tmp1 , f \"tmp103\" : tmp103 , f \"tmp107\" : tmp107 , f \"tmp11\" : tmp11 , f \"tmp111\" : tmp111 , f \"tmp113\" : tmp113 , f \"tmp12\" : tmp12 , f \"tmp121\" : tmp121 , f \"tmp123\" : tmp123 , f \"tmp125\" : tmp125 , f \"tmp127\" : tmp127 , f \"tmp128\" : tmp128 , f \"tmp129\" : tmp129 , f \"tmp137\" : tmp137 , f \"tmp138\" : tmp138 , f \"tmp14\" : tmp14 , f \"tmp141\" : tmp141 , f \"tmp148\" : tmp148 , f \"tmp153\" : tmp153 , f \"tmp156\" : tmp156 , f \"tmp157\" : tmp157 , f \"tmp159\" : tmp159 , f \"tmp160\" : tmp160 , f \"tmp161\" : tmp161 , f \"tmp163\" : tmp163 , f \"tmp166\" : tmp166 , f \"tmp17\" : tmp17 , f \"tmp170\" : tmp170 , f \"tmp172\" : tmp172 , f \"tmp173\" : tmp173 , f \"tmp174\" : tmp174 , f \"tmp175\" : tmp175 , f \"tmp176\" : tmp176 , f \"tmp178\" : tmp178 , f \"tmp18\" : tmp18 , f \"tmp180\" : tmp180 , f \"tmp183\" : tmp183 , f \"tmp184\" : tmp184 , f \"tmp185\" : tmp185 , f \"tmp186\" : tmp186 , f \"tmp189\" : tmp189 , f \"tmp19\" : tmp19 , f \"tmp190\" : tmp190 , f \"tmp197\" : tmp197 , f \"tmp199\" : tmp199 , f \"tmp2\" : tmp2 , f \"tmp204\" : tmp204 , f \"tmp206\" : tmp206 , f \"tmp208\" : tmp208 , f \"tmp21\" : tmp21 , f \"tmp210\" : tmp210 , f \"tmp22\" : tmp22 , f \"tmp220\" : tmp220 , f \"tmp24\" : tmp24 , f \"tmp26\" : tmp26 , f \"tmp27\" : tmp27 , f \"tmp29\" : tmp29 , f \"tmp30\" : tmp30 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp34\" : tmp34 , f \"tmp36\" : tmp36 , f \"tmp37\" : tmp37 , f \"tmp39\" : tmp39 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp42\" : tmp42 , f \"tmp43\" : tmp43 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp51\" : tmp51 , f \"tmp52\" : tmp52 , f \"tmp54\" : tmp54 , f \"tmp55\" : tmp55 , f \"tmp57\" : tmp57 , f \"tmp58\" : tmp58 , f \"tmp59\" : tmp59 , f \"tmp61\" : tmp61 , f \"tmp66\" : tmp66 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp7\" : tmp7 , f \"tmp71\" : tmp71 , f \"tmp72\" : tmp72 , f \"tmp75\" : tmp75 , f \"tmp78\" : tmp78 , f \"tmp79\" : tmp79 , f \"tmp80\" : tmp80 , f \"tmp82\" : tmp82 , f \"tmp83\" : tmp83 , f \"tmp84\" : tmp84 , f \"tmp86\" : tmp86 , f \"tmp88\" : tmp88 , f \"tmp9\" : tmp9 , f \"tmp90\" : tmp90 , f \"tmp92\" : tmp92 , f \"tmp94\" : tmp94 , f \"tmp97\" : tmp97 , f \"tmp98\" : tmp98 } ebcc . codegen . UDFCC2 . 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-17T20:54:31.202161. 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. Source code in ebcc/codegen/UDFCC2.py 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 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-17T20:54:31.202161. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp8 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 1 , 2 ), ( 0 , 3 )) tmp9 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), r2 . bab , ( 1 , 3 , 2 ), ( 0 , 3 )) * - 1 tmp74 = np . copy ( ints . tmp206 ) del ints . tmp206 tmp74 += np . transpose ( ints . tmp37 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp72 = np . copy ( ints . tmp52 ) * 2 tmp72 += ints . tmp55 tmp70 = np . copy ( ints . tmp51 ) tmp70 += ints . tmp54 * 0.5 tmp40 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbb . xov , ( 3 , 1 , 2 ), ( 3 , 0 )) tmp39 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . baa . xov , ( 3 , 0 , 2 ), ( 3 , 1 )) tmp49 = np . copy ( ints . tmp186 ) del ints . tmp186 tmp49 += ints . tmp166 * 2 del ints . tmp166 tmp63 = np . copy ( f . bb . oo ) tmp63 += ints . tmp36 tmp61 = np . copy ( ints . tmp54 ) tmp61 += ints . tmp51 * 2 tmp65 = np . copy ( ints . tmp210 ) del ints . tmp210 tmp65 += ints . tmp208 * 2 del ints . tmp208 tmp10 = np . copy ( tmp8 ) * 2 tmp10 += tmp9 tmp11 = np . copy ( ints . tmp26 ) tmp11 += ints . tmp29 * 0.5 tmp15 = np . copy ( ints . tmp2 ) tmp15 += np . transpose ( ints . tmp84 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp84 tmp13 = np . copy ( ints . tmp27 ) * 2 tmp13 += ints . tmp30 tmp19 = np . copy ( ints . tmp113 ) tmp19 += ints . tmp94 * 2 tmp25 = np . copy ( ints . tmp88 ) del ints . tmp88 tmp25 += ints . tmp86 * 2 del ints . tmp86 tmp23 = np . copy ( f . aa . oo ) tmp23 += ints . tmp1 tmp21 = np . copy ( tmp8 ) * 2 tmp21 += tmp9 tmp44 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp97 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) del ints . tmp97 tmp43 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp107 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) tmp54 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 0 , 2 ), ( 2 , 1 )) tmp75 = einsum ( tmp74 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 0 , 1 , 3 )) * 2 del tmp74 tmp73 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp72 , ( 3 , 1 ), ( 0 , 3 , 2 )) * - 2 del tmp72 tmp68 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp163 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) tmp71 = einsum ( tmp40 , ( 0 , 1 ), tmp70 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * 4 del tmp70 tmp69 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp39 , ( 0 , 3 ), ( 3 , 1 , 2 )) tmp60 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp49 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 tmp64 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp63 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp63 tmp62 = einsum ( tmp39 , ( 0 , 1 ), tmp61 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) del tmp61 tmp66 = einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 1 ,), ( 0 , 2 , 3 )) del tmp65 tmp59 = einsum ( tmp40 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) tmp32 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp107 , ( 1 , 0 , 3 , 2 ), ( 3 ,)) * - 1 del ints . tmp107 tmp31 = einsum ( ints . tmp71 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 0 , 1 , 2 ), ( 3 ,)) del ints . tmp71 tmp29 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 0 , 2 ), ( 2 , 1 )) tmp12 = einsum ( tmp10 , ( 0 , 1 ), tmp11 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * 2 del tmp10 , tmp11 tmp16 = einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 0 , 2 , 3 )) del tmp15 tmp14 = einsum ( tmp13 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) * - 2 del tmp13 tmp20 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp19 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp19 tmp26 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 0 , 2 , 3 )) del tmp25 tmp24 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp23 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp23 tmp18 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp98 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 1 tmp22 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp21 , ( 0 , 3 ), ( 1 , 3 , 2 )) del tmp21 tmp45 = np . copy ( tmp43 ) del tmp43 tmp45 += tmp44 * 2 del tmp44 tmp78 = np . copy ( ints . tmp197 ) del ints . tmp197 tmp78 += np . transpose ( ints . tmp220 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp220 tmp55 = np . copy ( np . transpose ( ints . tmp176 , ( 1 , 0 ))) * 2 del ints . tmp176 tmp55 += np . transpose ( ints . tmp178 , ( 1 , 0 )) del ints . tmp178 tmp55 += f . bb . vv * - 1 tmp55 += tmp54 del tmp54 tmp58 = np . copy ( ints . tmp170 ) del ints . tmp170 tmp58 += ints . tmp173 * 2 del ints . tmp173 tmp58 += ints . tmp174 del ints . tmp174 tmp58 += ints . tmp184 * 2 del ints . tmp184 tmp58 += ints . tmp189 del ints . tmp189 tmp58 += f . bb . ov * - 1 tmp58 += ints . tmp156 * - 1 del ints . tmp156 tmp58 += ints . tmp157 * - 2 del ints . tmp157 tmp58 += ints . tmp183 * - 1 del ints . tmp183 tmp58 += ints . tmp185 * - 1 del ints . tmp185 tmp77 = np . copy ( ints . tmp199 ) del ints . tmp199 tmp77 += np . transpose ( ints . tmp204 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp204 tmp76 = np . copy ( tmp68 ) del tmp68 tmp76 += tmp69 del tmp69 tmp76 += np . transpose ( tmp71 , ( 1 , 0 , 2 )) del tmp71 tmp76 += np . transpose ( tmp73 , ( 1 , 0 , 2 )) del tmp73 tmp76 += tmp75 del tmp75 tmp67 = np . copy ( tmp59 ) * 2 del tmp59 tmp67 += np . transpose ( tmp60 , ( 1 , 0 , 2 )) * - 2 del tmp60 tmp67 += np . transpose ( tmp62 , ( 1 , 0 , 2 )) del tmp62 tmp67 += np . transpose ( tmp64 , ( 1 , 0 , 2 )) * - 2 del tmp64 tmp67 += tmp66 del tmp66 tmp53 = np . copy ( ints . tmp51 ) * 2 del ints . tmp51 tmp53 += ints . tmp54 del ints . tmp54 tmp53 += v . bbb . xov tmp57 = np . copy ( ints . tmp153 ) del ints . tmp153 tmp57 += np . transpose ( ints . tmp160 , ( 1 , 0 , 2 , 3 )) del ints . tmp160 tmp57 += np . transpose ( ints . tmp161 , ( 1 , 0 , 2 , 3 )) * 2 del ints . tmp161 tmp57 += np . transpose ( ints . tmp172 , ( 1 , 0 , 2 , 3 )) del ints . tmp172 tmp57 += ints . tmp4 tmp57 += ints . tmp159 * - 1 del ints . tmp159 tmp57 += ints . tmp175 * - 1 del ints . tmp175 tmp52 = np . copy ( tmp8 ) del tmp8 tmp52 += tmp9 * 0.5 del tmp9 tmp48 = np . copy ( f . bb . oo ) tmp48 += ints . tmp36 tmp48 += np . transpose ( ints . tmp52 , ( 1 , 0 )) * 2 tmp48 += np . transpose ( ints . tmp55 , ( 1 , 0 )) tmp47 = np . copy ( f . aa . oo ) tmp47 += ints . tmp1 tmp47 += np . transpose ( ints . tmp27 , ( 1 , 0 )) * 2 tmp47 += np . transpose ( ints . tmp30 , ( 1 , 0 )) tmp50 = np . copy ( ints . tmp180 ) del ints . tmp180 tmp50 += ints . tmp190 * - 1 del ints . tmp190 tmp56 = np . copy ( tmp31 ) * 2 tmp56 += tmp32 * - 1 tmp51 = np . copy ( ints . tmp123 ) tmp51 += ints . tmp125 tmp30 = np . copy ( np . transpose ( ints . tmp90 , ( 1 , 0 ))) * 2 del ints . tmp90 tmp30 += np . transpose ( ints . tmp92 , ( 1 , 0 )) del ints . tmp92 tmp30 += f . aa . vv * - 1 tmp30 += tmp29 del tmp29 tmp35 = np . copy ( ints . tmp111 ) del ints . tmp111 tmp35 += ints . tmp66 * 2 del ints . tmp66 tmp35 += ints . tmp75 del ints . tmp75 tmp35 += ints . tmp82 * 2 del ints . tmp82 tmp35 += ints . tmp83 del ints . tmp83 tmp35 += f . aa . ov * - 1 tmp35 += ints . tmp61 * - 1 del ints . tmp61 tmp35 += ints . tmp67 * - 1 del ints . tmp67 tmp35 += ints . tmp78 * - 2 del ints . tmp78 tmp35 += ints . tmp79 * - 1 del ints . tmp79 tmp46 = np . copy ( ints . tmp121 ) del ints . tmp121 tmp46 += np . transpose ( ints . tmp128 , ( 0 , 2 , 1 , 3 )) del ints . tmp128 tmp46 += np . transpose ( ints . tmp129 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp129 tmp46 += np . transpose ( ints . tmp137 , ( 0 , 2 , 1 , 3 )) del ints . tmp137 tmp46 += ints . tmp39 tmp46 += ints . tmp127 * - 1 del ints . tmp127 tmp46 += ints . tmp138 * - 1 del ints . tmp138 tmp37 = np . copy ( ints . tmp113 ) del ints . tmp113 tmp37 += ints . tmp94 * 2 del ints . tmp94 tmp36 = np . copy ( ints . tmp141 ) del ints . tmp141 tmp36 += ints . tmp148 * - 1 del ints . tmp148 tmp41 = np . copy ( tmp39 ) * - 1 del tmp39 tmp41 += tmp40 * 2 del tmp40 tmp42 = np . copy ( ints . tmp29 ) del ints . tmp29 tmp42 += v . baa . xov tmp42 += ints . tmp26 * 2 del ints . tmp26 tmp38 = np . copy ( ints . tmp123 ) del ints . tmp123 tmp38 += ints . tmp125 del ints . tmp125 tmp33 = np . copy ( tmp31 ) del tmp31 tmp33 += tmp32 * - 0.5 del tmp32 tmp17 = np . copy ( np . transpose ( tmp12 , ( 1 , 0 , 2 ))) del tmp12 tmp17 += np . transpose ( tmp14 , ( 1 , 0 , 2 )) del tmp14 tmp17 += tmp16 del tmp16 tmp27 = np . copy ( tmp18 ) del tmp18 tmp27 += np . transpose ( tmp20 , ( 1 , 0 , 2 )) * - 2 del tmp20 tmp27 += np . transpose ( tmp22 , ( 1 , 0 , 2 )) del tmp22 tmp27 += np . transpose ( tmp24 , ( 1 , 0 , 2 )) * - 2 del tmp24 tmp27 += tmp26 del tmp26 tmp34 = np . copy ( ints . tmp103 ) del ints . tmp103 tmp34 += np . transpose ( ints . tmp69 , ( 2 , 0 , 1 , 3 )) * - 1 del ints . tmp69 tmp28 = np . copy ( ints . tmp72 ) del ints . tmp72 tmp28 += np . transpose ( ints . tmp80 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp80 tmp7 = np . copy ( f . bb . oo ) tmp7 += ints . tmp36 del ints . tmp36 tmp7 += np . transpose ( ints . tmp42 , ( 1 , 0 )) del ints . tmp42 tmp7 += np . transpose ( ints . tmp43 , ( 1 , 0 )) del ints . tmp43 tmp7 += np . transpose ( ints . tmp52 , ( 1 , 0 )) * 2 del ints . tmp52 tmp7 += np . transpose ( ints . tmp55 , ( 1 , 0 )) del ints . tmp55 tmp7 += np . transpose ( ints . tmp58 , ( 1 , 0 )) del ints . tmp58 tmp7 += np . transpose ( ints . tmp59 , ( 1 , 0 )) del ints . tmp59 tmp7 += np . transpose ( ints . tmp41 , ( 1 , 0 )) * - 1 del ints . tmp41 tmp7 += np . transpose ( ints . tmp57 , ( 1 , 0 )) * - 1 del ints . tmp57 tmp3 = np . copy ( f . aa . ov ) tmp3 += ints . tmp14 del ints . tmp14 tmp3 += ints . tmp19 del ints . tmp19 tmp3 += ints . tmp12 * - 1 del ints . tmp12 tmp5 = np . copy ( ints . tmp37 ) del ints . tmp37 tmp5 += ints . tmp47 * - 1 del ints . tmp47 tmp2 = np . copy ( f . bb . ov ) tmp2 += ints . tmp18 del ints . tmp18 tmp2 += ints . tmp21 del ints . tmp21 tmp2 += ints . tmp17 * - 1 del ints . tmp17 tmp6 = np . copy ( ints . tmp39 ) del ints . tmp39 tmp6 += ints . tmp49 del ints . tmp49 tmp4 = np . copy ( f . aa . oo ) tmp4 += np . transpose ( ints . tmp11 , ( 1 , 0 )) del ints . tmp11 tmp4 += ints . tmp1 del ints . tmp1 tmp4 += np . transpose ( ints . tmp27 , ( 1 , 0 )) * 2 del ints . tmp27 tmp4 += np . transpose ( ints . tmp30 , ( 1 , 0 )) del ints . tmp30 tmp4 += np . transpose ( ints . tmp33 , ( 1 , 0 )) del ints . tmp33 tmp4 += np . transpose ( ints . tmp34 , ( 1 , 0 )) del ints . tmp34 tmp4 += np . transpose ( ints . tmp9 , ( 1 , 0 )) del ints . tmp9 tmp4 += np . transpose ( ints . tmp32 , ( 1 , 0 )) * - 1 del ints . tmp32 tmp4 += np . transpose ( ints . tmp7 , ( 1 , 0 )) * - 1 del ints . tmp7 tmp0 = np . copy ( ints . tmp24 ) del ints . tmp24 tmp0 += ints . tmp4 del ints . tmp4 tmp1 = np . copy ( ints . tmp22 ) del ints . tmp22 tmp1 += ints . tmp2 * - 1 del ints . tmp2 r2new . bbb = np . copy ( tmp67 ) r2new . bbb += np . transpose ( tmp67 , ( 1 , 0 , 2 )) * - 1 del tmp67 r2new . bbb += tmp76 * - 1 r2new . bbb += np . transpose ( tmp76 , ( 1 , 0 , 2 )) del tmp76 r2new . bbb += einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 2 , 4 ), ( 0 , 1 , 4 )) * - 2 del tmp77 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp55 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 r2new . bbb += einsum ( tmp45 , ( 0 ,), t2 . bbbb , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * - 2 r2new . bbb += einsum ( tmp78 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 1 , 0 , 3 )) * 2 del tmp78 r2new . bbb += einsum ( tmp58 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 2 , 0 , 1 )) * - 1 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp58 , ( 1 , 2 ), ( 1 , 0 , 2 )) r2new . bab = einsum ( ints . tmp163 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 0 , 2 ), ( 1 , 4 , 3 )) * 2 del ints . tmp163 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp49 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 1 del tmp49 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp50 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) del tmp50 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp51 , ( 3 , 1 , 4 , 0 ), ( 4 , 3 , 2 )) del tmp51 r2new . bab += einsum ( tmp52 , ( 0 , 1 ), tmp53 , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) * - 2 del tmp52 , tmp53 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp55 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp55 r2new . bab += einsum ( tmp56 , ( 0 ,), t2 . abab , ( 1 , 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp56 r2new . bab += einsum ( tmp57 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 2 , 0 , 3 )) del tmp57 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp47 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . bab += einsum ( tmp48 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp58 , ( 1 , 2 ), ( 1 , 0 , 2 )) del tmp58 r2new . aba = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp98 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) * 2 del ints . tmp98 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp36 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) del tmp36 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp37 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 1 del tmp37 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp38 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) del tmp38 r2new . aba += einsum ( tmp42 , ( 0 , 1 , 2 ), tmp41 , ( 0 , 3 ), ( 1 , 3 , 2 )) * - 1 del tmp42 , tmp41 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp30 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( tmp45 , ( 0 ,), t2 . abab , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * - 1 del tmp45 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp46 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp46 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp47 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp47 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp48 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp48 r2new . aba += einsum ( tmp35 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) r2new . aaa = np . copy ( tmp17 ) * - 1 r2new . aaa += np . transpose ( tmp17 , ( 1 , 0 , 2 )) del tmp17 r2new . aaa += tmp27 r2new . aaa += np . transpose ( tmp27 , ( 1 , 0 , 2 )) * - 1 del tmp27 r2new . aaa += einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 3 , 2 , 4 ), ( 0 , 1 , 4 )) * - 2 del tmp28 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp30 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp30 r2new . aaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp33 , ( 3 ,), ( 0 , 1 , 2 )) * - 4 del tmp33 r2new . aaa += einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 0 ,), ( 2 , 1 , 3 )) * - 2 del tmp34 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp35 , ( 1 , 2 ), ( 0 , 1 , 2 )) * - 1 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp35 , ( 1 , 2 ), ( 1 , 0 , 2 )) del tmp35 r1new . b = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 1 , 3 ), ( 0 ,)) * 2 del tmp5 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp6 , ( 0 , 3 , 1 , 2 ), ( 3 ,)) del tmp6 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp3 , ( 0 , 2 ), ( 1 ,)) * - 1 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp2 , ( 1 , 2 ), ( 0 ,)) * 2 r1new . b += einsum ( r1 . b , ( 0 ,), tmp7 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp7 r1new . a = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 1 , 3 ), ( 0 ,)) del tmp0 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp1 , ( 3 , 1 , 0 , 2 ), ( 3 ,)) * - 2 del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 1 ), ( 2 ,)) * - 1 del tmp2 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp3 , ( 1 , 2 ), ( 0 ,)) * 2 del tmp3 r1new . a += einsum ( tmp4 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . UDFCC2 . hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:55:26.164457. 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 tmp106 : array tmp107 : array tmp109 : array tmp11 : array tmp110 : array tmp112 : array tmp113 : array tmp114 : array tmp116 : array tmp122 : array tmp125 : array tmp126 : array tmp13 : array tmp132 : array tmp136 : array tmp138 : array tmp139 : array tmp140 : array tmp15 : array tmp151 : array tmp154 : array tmp155 : array tmp157 : array tmp163 : array tmp164 : array tmp166 : array tmp167 : array tmp168 : array tmp170 : array tmp172 : array tmp173 : array tmp174 : array tmp176 : array tmp177 : array tmp179 : array tmp18 : array tmp180 : array tmp181 : array tmp182 : array tmp183 : array tmp187 : array tmp19 : array tmp190 : array tmp199 : array tmp2 : array tmp20 : array tmp201 : array tmp203 : array tmp216 : array tmp22 : array tmp224 : array tmp23 : array tmp26 : array tmp29 : array tmp30 : array tmp32 : array tmp33 : array tmp4 : array tmp40 : array tmp42 : array tmp44 : array tmp46 : array tmp47 : array tmp51 : array tmp56 : array tmp57 : array tmp59 : array tmp60 : array tmp67 : array tmp68 : array tmp7 : array tmp74 : array tmp76 : array tmp78 : array tmp82 : array tmp85 : array tmp9 : array tmp91 : array tmp93 : array tmp96 : array tmp98 : array tmp99 : array Source code in ebcc/codegen/UDFCC2.py 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 def hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:55:26.164457. 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 ------- tmp106 : array tmp107 : array tmp109 : array tmp11 : array tmp110 : array tmp112 : array tmp113 : array tmp114 : array tmp116 : array tmp122 : array tmp125 : array tmp126 : array tmp13 : array tmp132 : array tmp136 : array tmp138 : array tmp139 : array tmp140 : array tmp15 : array tmp151 : array tmp154 : array tmp155 : array tmp157 : array tmp163 : array tmp164 : array tmp166 : array tmp167 : array tmp168 : array tmp170 : array tmp172 : array tmp173 : array tmp174 : array tmp176 : array tmp177 : array tmp179 : array tmp18 : array tmp180 : array tmp181 : array tmp182 : array tmp183 : array tmp187 : array tmp19 : array tmp190 : array tmp199 : array tmp2 : array tmp20 : array tmp201 : array tmp203 : array tmp216 : array tmp22 : array tmp224 : array tmp23 : array tmp26 : array tmp29 : array tmp30 : array tmp32 : array tmp33 : array tmp4 : array tmp40 : array tmp42 : array tmp44 : array tmp46 : array tmp47 : array tmp51 : array tmp56 : array tmp57 : array tmp59 : array tmp60 : array tmp67 : array tmp68 : array tmp7 : array tmp74 : array tmp76 : array tmp78 : array tmp82 : array tmp85 : array tmp9 : array tmp91 : array tmp93 : array tmp96 : array tmp98 : array tmp99 : array \"\"\" tmp175 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp59 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp40 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp56 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp51 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp23 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp2 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp156 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp164 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 0 , 2 )) tmp26 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp42 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp29 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp32 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp97 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp4 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp107 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 2 , 1 ), ( 2 , 0 )) tmp95 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp6 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp45 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp10 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t1 . bb , ( 1 , 2 ), ( 0 ,)) tmp17 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp12 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp8 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp224 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp216 = einsum ( tmp175 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp203 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp201 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp40 , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 5 , 4 )) tmp199 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp56 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp190 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp51 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp187 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp23 , ( 0 , 4 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp183 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp56 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp182 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 4 , 2 , 5 ), ( 1 , 5 , 4 , 3 )) tmp181 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp180 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp179 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 0 , 2 ), ( 1 , 3 )) tmp177 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp156 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) tmp176 = einsum ( tmp175 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) del tmp175 tmp174 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp173 = einsum ( f . bb . oo , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp172 = einsum ( tmp164 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp170 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp168 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp56 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp167 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp166 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp56 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp163 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . vv , ( 2 , 1 ), ( 0 , 2 )) tmp157 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp156 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) del tmp156 tmp155 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp154 = einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp151 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp42 , ( 0 , 4 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) tmp140 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp139 = einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 3 , 1 )) tmp138 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp136 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp132 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp126 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp97 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp125 = einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp122 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 4 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) tmp116 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp114 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp113 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp112 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * - 1 tmp110 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp109 = einsum ( tmp107 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp106 = einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp99 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp95 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp98 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp97 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) del tmp97 tmp96 = einsum ( tmp95 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) del tmp95 tmp93 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp91 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . oo , ( 2 , 0 ), ( 2 , 1 )) tmp85 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp51 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp82 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp78 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp76 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp2 , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 5 , 4 )) tmp74 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp68 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp67 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp60 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp57 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp56 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp47 = einsum ( tmp6 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp46 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp45 , ( 0 , 1 , 3 ), ( 2 , 3 )) del tmp45 tmp44 = einsum ( tmp10 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp33 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp22 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp6 , ( 0 ,), ( 1 , 2 )) tmp20 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp19 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp18 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp17 , ( 0 , 1 , 3 ), ( 3 , 2 )) del tmp17 tmp15 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp6 , ( 0 ,), ( 1 , 2 )) tmp13 = einsum ( tmp12 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) del tmp12 tmp11 = einsum ( tmp10 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp10 tmp9 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp8 , ( 0 , 1 , 3 ), ( 2 , 3 )) del tmp8 tmp7 = einsum ( tmp6 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp6 return { f \"tmp106\" : tmp106 , f \"tmp107\" : tmp107 , f \"tmp109\" : tmp109 , f \"tmp11\" : tmp11 , f \"tmp110\" : tmp110 , f \"tmp112\" : tmp112 , f \"tmp113\" : tmp113 , f \"tmp114\" : tmp114 , f \"tmp116\" : tmp116 , f \"tmp122\" : tmp122 , f \"tmp125\" : tmp125 , f \"tmp126\" : tmp126 , f \"tmp13\" : tmp13 , f \"tmp132\" : tmp132 , f \"tmp136\" : tmp136 , f \"tmp138\" : tmp138 , f \"tmp139\" : tmp139 , f \"tmp140\" : tmp140 , f \"tmp15\" : tmp15 , f \"tmp151\" : tmp151 , f \"tmp154\" : tmp154 , f \"tmp155\" : tmp155 , f \"tmp157\" : tmp157 , f \"tmp163\" : tmp163 , f \"tmp164\" : tmp164 , f \"tmp166\" : tmp166 , f \"tmp167\" : tmp167 , f \"tmp168\" : tmp168 , f \"tmp170\" : tmp170 , f \"tmp172\" : tmp172 , f \"tmp173\" : tmp173 , f \"tmp174\" : tmp174 , f \"tmp176\" : tmp176 , f \"tmp177\" : tmp177 , f \"tmp179\" : tmp179 , f \"tmp18\" : tmp18 , f \"tmp180\" : tmp180 , f \"tmp181\" : tmp181 , f \"tmp182\" : tmp182 , f \"tmp183\" : tmp183 , f \"tmp187\" : tmp187 , f \"tmp19\" : tmp19 , f \"tmp190\" : tmp190 , f \"tmp199\" : tmp199 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp201\" : tmp201 , f \"tmp203\" : tmp203 , f \"tmp216\" : tmp216 , f \"tmp22\" : tmp22 , f \"tmp224\" : tmp224 , f \"tmp23\" : tmp23 , f \"tmp26\" : tmp26 , f \"tmp29\" : tmp29 , f \"tmp30\" : tmp30 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp42\" : tmp42 , f \"tmp44\" : tmp44 , f \"tmp46\" : tmp46 , f \"tmp47\" : tmp47 , f \"tmp51\" : tmp51 , f \"tmp56\" : tmp56 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp60\" : tmp60 , f \"tmp67\" : tmp67 , f \"tmp68\" : tmp68 , f \"tmp7\" : tmp7 , f \"tmp74\" : tmp74 , f \"tmp76\" : tmp76 , f \"tmp78\" : tmp78 , f \"tmp82\" : tmp82 , f \"tmp85\" : tmp85 , f \"tmp9\" : tmp9 , f \"tmp91\" : tmp91 , f \"tmp93\" : tmp93 , f \"tmp96\" : tmp96 , f \"tmp98\" : tmp98 , f \"tmp99\" : tmp99 } ebcc . codegen . UDFCC2 . 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-17T20:55:26.225309. 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. Source code in ebcc/codegen/UDFCC2.py 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 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-17T20:55:26.225309. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp13 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 2 , 1 ), ( 0 , 3 )) tmp14 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), r2 . bab , ( 2 , 3 , 1 ), ( 0 , 3 )) * - 1 tmp71 = np . copy ( ints . tmp59 ) tmp71 += ints . tmp56 * 2 tmp38 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . baa . xov , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp73 = np . copy ( ints . tmp40 ) tmp73 += ints . tmp201 * 2 del ints . tmp201 tmp51 = np . copy ( ints . tmp155 ) del ints . tmp155 tmp51 += ints . tmp190 * 2 del ints . tmp190 tmp39 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), r2 . bbb , ( 3 , 2 , 1 ), ( 0 , 3 )) tmp59 = einsum ( f . bb . ov , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 0 , 3 , 2 )) tmp62 = np . copy ( ints . tmp56 ) * 2 tmp62 += ints . tmp59 tmp64 = np . copy ( np . transpose ( ints . tmp57 , ( 1 , 0 ))) tmp64 += np . transpose ( ints . tmp60 , ( 1 , 0 )) * 0.5 tmp64 += f . bb . vv * - 0.5 tmp66 = np . copy ( ints . tmp199 ) del ints . tmp199 tmp66 += ints . tmp203 * 0.5 del ints . tmp203 tmp24 = np . copy ( ints . tmp93 ) tmp24 += ints . tmp82 * 2 tmp26 = np . copy ( tmp13 ) * 2 tmp26 += tmp14 tmp28 = np . copy ( ints . tmp2 ) tmp28 += ints . tmp76 * 2 del ints . tmp76 tmp18 = np . copy ( np . transpose ( ints . tmp30 , ( 1 , 0 ))) tmp18 += np . transpose ( ints . tmp33 , ( 1 , 0 )) * 0.5 tmp18 += f . aa . vv * - 0.5 tmp11 = einsum ( f . aa . ov , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 0 , 3 , 2 )) tmp16 = np . copy ( ints . tmp29 ) * 2 tmp16 += ints . tmp32 tmp15 = np . copy ( tmp13 ) del tmp13 tmp15 += tmp14 * 0.5 del tmp14 tmp20 = np . copy ( ints . tmp74 ) del ints . tmp74 tmp20 += ints . tmp78 * 0.5 del ints . tmp78 tmp72 = einsum ( tmp71 , ( 0 , 1 , 2 ), tmp38 , ( 0 , 3 ), ( 1 , 3 , 2 )) del tmp71 tmp74 = einsum ( r1 . b , ( 0 ,), tmp73 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp73 tmp70 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 1 ), ( 0 , 4 , 2 )) * - 1 tmp69 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp39 , ( 0 , 3 ), ( 1 , 3 , 2 )) tmp60 = einsum ( t1 . bb , ( 0 , 1 ), tmp59 , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) del tmp59 tmp61 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp38 , ( 0 , 3 ), ( 1 , 3 , 2 )) tmp63 = einsum ( tmp39 , ( 0 , 1 ), tmp62 , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) * 2 del tmp62 tmp58 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp187 , ( 2 , 3 , 0 , 4 ), ( 3 , 4 , 1 )) tmp65 = einsum ( tmp64 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 4 del tmp64 tmp67 = einsum ( r1 . b , ( 0 ,), tmp66 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) * 2 del tmp66 tmp8 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp51 , ( 2 , 3 , 0 , 1 ), ( 3 ,)) tmp7 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp26 , ( 2 , 3 , 0 , 1 ), ( 3 ,)) tmp47 = einsum ( f . bb . ov , ( 0 , 1 ), r1 . b , ( 1 ,), ( 0 ,)) tmp43 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 0 , 2 ), ( 2 , 1 )) tmp4 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp26 , ( 3 , 2 , 1 , 0 ), ( 3 ,)) * - 1 tmp32 = einsum ( r1 . a , ( 0 ,), f . aa . ov , ( 1 , 0 ), ( 1 ,)) tmp3 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp23 , ( 2 , 3 , 1 , 0 ), ( 3 ,)) * - 1 tmp45 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 0 , 2 ), ( 2 , 1 )) tmp25 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp24 , ( 3 , 2 , 4 , 1 ), ( 3 , 0 , 4 )) * - 1 del tmp24 tmp27 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp26 , ( 0 , 3 ), ( 1 , 2 , 3 )) del tmp26 tmp29 = einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 0 , 1 , 3 )) del tmp28 tmp23 = einsum ( ints . tmp85 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 0 , 2 , 4 )) * - 1 tmp19 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp18 , ( 1 , 3 ), ( 2 , 0 , 3 )) * - 4 del tmp18 tmp12 = einsum ( t1 . aa , ( 0 , 1 ), tmp11 , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) del tmp11 tmp17 = einsum ( tmp15 , ( 0 , 1 ), tmp16 , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) * 2 del tmp16 tmp21 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 0 , 1 , 3 )) * 2 del tmp20 tmp1 = np . copy ( f . bb . ov ) tmp1 += ints . tmp19 del ints . tmp19 tmp1 += ints . tmp22 del ints . tmp22 tmp1 += ints . tmp18 * - 1 del ints . tmp18 tmp0 = np . copy ( f . aa . ov ) tmp0 += ints . tmp15 del ints . tmp15 tmp0 += ints . tmp20 del ints . tmp20 tmp0 += ints . tmp13 * - 1 del ints . tmp13 tmp54 = np . copy ( f . bb . oo ) tmp54 += ints . tmp164 del ints . tmp164 tmp54 += np . transpose ( ints . tmp168 , ( 1 , 0 )) * 2 del ints . tmp168 tmp54 += np . transpose ( ints . tmp170 , ( 1 , 0 )) del ints . tmp170 tmp75 = np . copy ( tmp69 ) * 2 del tmp69 tmp75 += np . transpose ( tmp70 , ( 0 , 2 , 1 )) * - 2 del tmp70 tmp75 += np . transpose ( tmp72 , ( 0 , 2 , 1 )) del tmp72 tmp75 += tmp74 del tmp74 tmp57 = einsum ( ints . tmp51 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 2 , 4 ), ( 0 , 1 , 4 )) * - 1 del ints . tmp51 tmp68 = np . copy ( tmp58 ) del tmp58 tmp68 += tmp60 * 2 del tmp60 tmp68 += tmp61 del tmp61 tmp68 += np . transpose ( tmp63 , ( 0 , 2 , 1 )) del tmp63 tmp68 += np . transpose ( tmp65 , ( 0 , 2 , 1 )) del tmp65 tmp68 += tmp67 del tmp67 tmp76 = np . copy ( tmp47 ) * - 1 tmp76 += tmp7 tmp76 += tmp8 * 2 tmp56 = np . copy ( ints . tmp166 ) * 2 del ints . tmp166 tmp56 += ints . tmp172 del ints . tmp172 tmp56 += ints . tmp173 del ints . tmp173 tmp56 += ints . tmp176 * 2 del ints . tmp176 tmp56 += ints . tmp177 del ints . tmp177 tmp56 += f . bb . ov * - 1 tmp56 += ints . tmp163 * - 1 del ints . tmp163 tmp56 += ints . tmp167 * - 1 del ints . tmp167 tmp56 += ints . tmp179 * - 1 del ints . tmp179 tmp56 += ints . tmp180 * - 2 del ints . tmp180 tmp44 = np . copy ( np . transpose ( ints . tmp57 , ( 1 , 0 ))) * 2 tmp44 += np . transpose ( ints . tmp60 , ( 1 , 0 )) tmp44 += f . bb . vv * - 1 tmp44 += tmp43 del tmp43 tmp55 = np . copy ( tmp32 ) * 0.5 tmp55 += tmp3 * - 1 tmp55 += tmp4 * 0.5 tmp53 = np . copy ( ints . tmp157 ) del ints . tmp157 tmp53 += np . transpose ( ints . tmp181 , ( 0 , 2 , 1 , 3 )) del ints . tmp181 tmp53 += np . transpose ( ints . tmp183 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp183 tmp53 += ints . tmp4 tmp53 += ints . tmp151 * - 1 del ints . tmp151 tmp53 += np . transpose ( ints . tmp182 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp182 tmp46 = np . copy ( np . transpose ( ints . tmp30 , ( 1 , 0 ))) * 2 tmp46 += np . transpose ( ints . tmp33 , ( 1 , 0 )) tmp46 += f . aa . vv * - 1 tmp46 += tmp45 del tmp45 tmp52 = np . copy ( ints . tmp56 ) * 2 del ints . tmp56 tmp52 += ints . tmp59 del ints . tmp59 tmp52 += v . bbb . xov tmp49 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp26 , ( 3 , 4 , 1 , 0 ), ( 3 , 4 , 2 )) * - 1 tmp50 = np . copy ( ints . tmp154 ) del ints . tmp154 tmp50 += ints . tmp174 * - 1 del ints . tmp174 tmp35 = einsum ( ints . tmp26 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 3 , 4 ), ( 0 , 4 , 1 )) del ints . tmp26 tmp34 = np . copy ( ints . tmp109 ) del ints . tmp109 tmp34 += ints . tmp112 * 2 del ints . tmp112 tmp34 += ints . tmp91 del ints . tmp91 tmp34 += ints . tmp96 * 2 del ints . tmp96 tmp34 += ints . tmp98 del ints . tmp98 tmp34 += f . aa . ov * - 1 tmp34 += ints . tmp106 * - 1 del ints . tmp106 tmp34 += ints . tmp113 * - 1 del ints . tmp113 tmp34 += ints . tmp67 * - 2 del ints . tmp67 tmp34 += ints . tmp68 * - 1 del ints . tmp68 tmp37 = np . copy ( ints . tmp82 ) * 2 del ints . tmp82 tmp37 += ints . tmp93 del ints . tmp93 tmp40 = np . copy ( tmp38 ) * - 1 del tmp38 tmp40 += tmp39 * 2 del tmp39 tmp48 = np . copy ( tmp47 ) * - 0.5 del tmp47 tmp48 += tmp7 * 0.5 tmp48 += tmp8 tmp36 = np . copy ( ints . tmp125 ) del ints . tmp125 tmp36 += ints . tmp136 * - 1 del ints . tmp136 tmp31 = np . copy ( f . aa . oo ) tmp31 += ints . tmp107 del ints . tmp107 tmp31 += np . transpose ( ints . tmp114 , ( 1 , 0 )) * 2 del ints . tmp114 tmp31 += np . transpose ( ints . tmp116 , ( 1 , 0 )) del ints . tmp116 tmp41 = np . copy ( ints . tmp32 ) del ints . tmp32 tmp41 += v . baa . xov tmp41 += ints . tmp29 * 2 del ints . tmp29 tmp42 = np . copy ( ints . tmp126 ) del ints . tmp126 tmp42 += np . transpose ( ints . tmp138 , ( 0 , 1 , 3 , 2 )) del ints . tmp138 tmp42 += np . transpose ( ints . tmp140 , ( 0 , 1 , 3 , 2 )) * 2 del ints . tmp140 tmp42 += ints . tmp42 tmp42 += ints . tmp122 * - 1 del ints . tmp122 tmp42 += np . transpose ( ints . tmp139 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp139 tmp33 = np . copy ( tmp32 ) del tmp32 tmp33 += tmp3 * - 2 tmp33 += tmp4 tmp30 = np . copy ( tmp23 ) del tmp23 tmp30 += np . transpose ( tmp25 , ( 0 , 2 , 1 )) * - 2 del tmp25 tmp30 += np . transpose ( tmp27 , ( 0 , 2 , 1 )) del tmp27 tmp30 += tmp29 del tmp29 tmp10 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp23 , ( 3 , 4 , 0 , 1 ), ( 3 , 4 , 2 )) del ints . tmp23 tmp22 = np . copy ( tmp12 ) * 2 del tmp12 tmp22 += tmp17 del tmp17 tmp22 += np . transpose ( tmp19 , ( 0 , 2 , 1 )) del tmp19 tmp22 += tmp21 del tmp21 tmp9 = np . copy ( tmp7 ) del tmp7 tmp9 += tmp8 * 2 del tmp8 tmp9 += einsum ( r1 . b , ( 0 ,), tmp1 , ( 1 , 0 ), ( 1 ,)) * - 1 tmp6 = np . copy ( ints . tmp46 ) del ints . tmp46 tmp6 += np . transpose ( ints . tmp57 , ( 1 , 0 )) * 2 del ints . tmp57 tmp6 += np . transpose ( ints . tmp60 , ( 1 , 0 )) del ints . tmp60 tmp6 += f . bb . vv * - 1 tmp6 += np . transpose ( ints . tmp44 , ( 1 , 0 )) * - 1 del ints . tmp44 tmp6 += np . transpose ( ints . tmp47 , ( 1 , 0 )) * - 1 del ints . tmp47 tmp5 = np . copy ( tmp3 ) * - 2 del tmp3 tmp5 += tmp4 del tmp4 tmp5 += einsum ( r1 . a , ( 0 ,), tmp0 , ( 1 , 0 ), ( 1 ,)) tmp2 = np . copy ( np . transpose ( ints . tmp30 , ( 1 , 0 ))) * 2 del ints . tmp30 tmp2 += np . transpose ( ints . tmp33 , ( 1 , 0 )) del ints . tmp33 tmp2 += ints . tmp9 del ints . tmp9 tmp2 += f . aa . vv * - 1 tmp2 += np . transpose ( ints . tmp11 , ( 1 , 0 )) * - 1 del ints . tmp11 tmp2 += np . transpose ( ints . tmp7 , ( 1 , 0 )) * - 1 del ints . tmp7 r2new . bbb = einsum ( r1 . b , ( 0 ,), ints . tmp216 , ( 1 , 2 , 3 , 0 ), ( 3 , 2 , 1 )) * 2 del ints . tmp216 r2new . bbb += einsum ( tmp57 , ( 0 , 1 , 2 ), t2 . bbbb , ( 1 , 0 , 3 , 4 ), ( 3 , 4 , 2 )) * - 2 del tmp57 r2new . bbb += einsum ( ints . tmp224 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 1 , 4 ), ( 0 , 2 , 4 )) * 2 del ints . tmp224 r2new . bbb += np . transpose ( tmp68 , ( 1 , 2 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp68 , ( 2 , 1 , 0 )) del tmp68 r2new . bbb += np . transpose ( tmp75 , ( 1 , 2 , 0 )) r2new . bbb += np . transpose ( tmp75 , ( 2 , 1 , 0 )) * - 1 del tmp75 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp54 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 r2new . bbb += einsum ( tmp76 , ( 0 ,), t2 . bbbb , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) * - 2 del tmp76 r2new . bbb += einsum ( tmp56 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 2 , 1 , 0 )) * - 1 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp56 , ( 1 , 2 ), ( 2 , 0 , 1 )) r2new . bab = einsum ( ints . tmp187 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 0 ), ( 3 , 4 , 1 )) * 2 del ints . tmp187 r2new . bab += einsum ( ints . tmp132 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 2 , 0 , 4 )) r2new . bab += einsum ( tmp49 , ( 0 , 1 , 2 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 4 , 3 , 2 )) * - 1 del tmp49 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp50 , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) del tmp50 r2new . bab += einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 2 , 4 , 0 )) * - 1 del tmp51 r2new . bab += einsum ( tmp52 , ( 0 , 1 , 2 ), tmp15 , ( 0 , 3 ), ( 2 , 3 , 1 )) * - 2 del tmp15 , tmp52 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp53 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del tmp53 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp46 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . bab += einsum ( tmp44 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp54 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp54 r2new . bab += einsum ( tmp55 , ( 0 ,), t2 . abab , ( 0 , 1 , 2 , 3 ), ( 3 , 2 , 1 )) * 2 del tmp55 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp56 , ( 1 , 2 ), ( 2 , 0 , 1 )) del tmp56 r2new . aba = einsum ( ints . tmp132 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) del ints . tmp132 r2new . aba += einsum ( ints . tmp85 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 1 ), ( 2 , 4 , 0 )) * 2 del ints . tmp85 r2new . aba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp35 , ( 0 , 4 , 1 ), ( 2 , 3 , 4 )) del tmp35 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp36 , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) del tmp36 r2new . aba += einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 3 , 4 , 1 ), ( 2 , 4 , 0 )) * - 1 del tmp37 r2new . aba += einsum ( tmp41 , ( 0 , 1 , 2 ), tmp40 , ( 0 , 3 ), ( 2 , 3 , 1 )) * - 1 del tmp41 , tmp40 r2new . aba += einsum ( tmp42 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 1 , 2 , 0 )) * - 1 del tmp42 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp44 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp44 r2new . aba += einsum ( tmp46 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 del tmp46 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp31 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp48 , ( 1 ,), ( 2 , 3 , 0 )) * - 2 del tmp48 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp34 , ( 1 , 2 ), ( 2 , 0 , 1 )) r2new . aaa = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp110 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) * - 2 del ints . tmp110 r2new . aaa += einsum ( ints . tmp99 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 3 ,), ( 2 , 1 , 0 )) * 2 del ints . tmp99 r2new . aaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp10 , ( 0 , 1 , 4 ), ( 2 , 3 , 4 )) * 2 del tmp10 r2new . aaa += np . transpose ( tmp22 , ( 1 , 2 , 0 )) * - 1 r2new . aaa += np . transpose ( tmp22 , ( 2 , 1 , 0 )) del tmp22 r2new . aaa += np . transpose ( tmp30 , ( 1 , 2 , 0 )) r2new . aaa += np . transpose ( tmp30 , ( 2 , 1 , 0 )) * - 1 del tmp30 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp31 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp31 r2new . aaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp33 , ( 1 ,), ( 2 , 3 , 0 )) * 2 del tmp33 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp34 , ( 1 , 2 ), ( 0 , 2 , 1 )) * - 1 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp34 , ( 1 , 2 ), ( 2 , 0 , 1 )) del tmp34 r1new . b = einsum ( ints . tmp40 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 0 ), ( 1 ,)) * 2 del ints . tmp40 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp42 , ( 2 , 0 , 3 , 1 ), ( 3 ,)) * - 1 del ints . tmp42 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp1 , ( 2 , 1 ), ( 0 ,)) * 2 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp0 , ( 2 , 0 ), ( 1 ,)) * - 1 r1new . b += einsum ( tmp6 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp6 r1new . b += einsum ( t1 . bb , ( 0 , 1 ), tmp9 , ( 0 ,), ( 1 ,)) del tmp9 r1new . a = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp4 , ( 2 , 3 , 1 , 0 ), ( 3 ,)) * - 1 del ints . tmp4 r1new . a += einsum ( ints . tmp2 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 3 , 2 , 0 ), ( 1 ,)) * - 2 del ints . tmp2 r1new . a += einsum ( tmp0 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 0 ), ( 2 ,)) * 2 del tmp0 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp1 , ( 2 , 0 ), ( 1 ,)) * - 1 del tmp1 r1new . a += einsum ( r1 . a , ( 0 ,), tmp2 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp2 r1new . a += einsum ( t1 . aa , ( 0 , 1 ), tmp5 , ( 0 ,), ( 1 ,)) * - 1 del tmp5 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . UDFCC2 . hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:57:33.199568. 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 tmp1 : array tmp10 : array tmp100 : array tmp102 : array tmp103 : array tmp105 : array tmp108 : array tmp11 : array tmp110 : array tmp112 : array tmp114 : array tmp116 : array tmp118 : array tmp119 : array tmp121 : array tmp123 : array tmp125 : array tmp127 : array tmp129 : array tmp13 : array tmp131 : array tmp133 : array tmp135 : array tmp137 : array tmp138 : array tmp140 : array tmp142 : array tmp143 : array tmp145 : array tmp147 : array tmp148 : array tmp15 : array tmp150 : array tmp151 : array tmp153 : array tmp155 : array tmp156 : array tmp158 : array tmp159 : array tmp161 : array tmp162 : array tmp164 : array tmp166 : array tmp167 : array tmp168 : array tmp17 : array tmp170 : array tmp171 : array tmp172 : array tmp174 : array tmp175 : array tmp176 : array tmp177 : array tmp179 : array tmp181 : array tmp182 : array tmp183 : array tmp184 : array tmp185 : array tmp187 : array tmp188 : array tmp19 : array tmp190 : array tmp192 : array tmp195 : array tmp197 : array tmp199 : array tmp2 : array tmp201 : array tmp204 : array tmp205 : array tmp207 : array tmp209 : array tmp21 : array tmp211 : array tmp213 : array tmp215 : array tmp217 : array tmp219 : array tmp22 : array tmp220 : array tmp221 : array tmp222 : array tmp223 : array tmp225 : array tmp226 : array tmp228 : array tmp23 : array tmp231 : array tmp239 : array tmp241 : array tmp246 : array tmp247 : array tmp249 : array tmp25 : array tmp255 : array tmp257 : array tmp264 : array tmp265 : array tmp267 : array tmp268 : array tmp270 : array tmp271 : array tmp273 : array tmp28 : array tmp280 : array tmp283 : array tmp294 : array tmp296 : array tmp298 : array tmp30 : array tmp300 : array tmp302 : array tmp304 : array tmp310 : array tmp311 : array tmp313 : array tmp314 : array tmp316 : array tmp318 : array tmp32 : array tmp320 : array tmp325 : array tmp326 : array tmp327 : array tmp329 : array tmp33 : array tmp335 : array tmp337 : array tmp339 : array tmp34 : array tmp340 : array tmp344 : array tmp346 : array tmp352 : array tmp354 : array tmp358 : array tmp36 : array tmp362 : array tmp364 : array tmp37 : array tmp388 : array tmp39 : array tmp390 : array tmp4 : array tmp417 : array tmp418 : array tmp419 : array tmp42 : array tmp421 : array tmp423 : array tmp437 : array tmp439 : array tmp44 : array tmp441 : array tmp442 : array tmp46 : array tmp47 : array tmp48 : array tmp5 : array tmp50 : array tmp52 : array tmp54 : array tmp55 : array tmp56 : array tmp57 : array tmp59 : array tmp60 : array tmp62 : array tmp64 : array tmp65 : array tmp67 : array tmp68 : array tmp7 : array tmp70 : array tmp72 : array tmp74 : array tmp75 : array tmp77 : array tmp78 : array tmp79 : array tmp8 : array tmp80 : array tmp82 : array tmp83 : array tmp85 : array tmp87 : array tmp89 : array tmp91 : array tmp94 : array tmp97 : array Source code in ebcc/codegen/UDFCC2.py 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 def hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:57:33.199568. 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 ------- tmp1 : array tmp10 : array tmp100 : array tmp102 : array tmp103 : array tmp105 : array tmp108 : array tmp11 : array tmp110 : array tmp112 : array tmp114 : array tmp116 : array tmp118 : array tmp119 : array tmp121 : array tmp123 : array tmp125 : array tmp127 : array tmp129 : array tmp13 : array tmp131 : array tmp133 : array tmp135 : array tmp137 : array tmp138 : array tmp140 : array tmp142 : array tmp143 : array tmp145 : array tmp147 : array tmp148 : array tmp15 : array tmp150 : array tmp151 : array tmp153 : array tmp155 : array tmp156 : array tmp158 : array tmp159 : array tmp161 : array tmp162 : array tmp164 : array tmp166 : array tmp167 : array tmp168 : array tmp17 : array tmp170 : array tmp171 : array tmp172 : array tmp174 : array tmp175 : array tmp176 : array tmp177 : array tmp179 : array tmp181 : array tmp182 : array tmp183 : array tmp184 : array tmp185 : array tmp187 : array tmp188 : array tmp19 : array tmp190 : array tmp192 : array tmp195 : array tmp197 : array tmp199 : array tmp2 : array tmp201 : array tmp204 : array tmp205 : array tmp207 : array tmp209 : array tmp21 : array tmp211 : array tmp213 : array tmp215 : array tmp217 : array tmp219 : array tmp22 : array tmp220 : array tmp221 : array tmp222 : array tmp223 : array tmp225 : array tmp226 : array tmp228 : array tmp23 : array tmp231 : array tmp239 : array tmp241 : array tmp246 : array tmp247 : array tmp249 : array tmp25 : array tmp255 : array tmp257 : array tmp264 : array tmp265 : array tmp267 : array tmp268 : array tmp270 : array tmp271 : array tmp273 : array tmp28 : array tmp280 : array tmp283 : array tmp294 : array tmp296 : array tmp298 : array tmp30 : array tmp300 : array tmp302 : array tmp304 : array tmp310 : array tmp311 : array tmp313 : array tmp314 : array tmp316 : array tmp318 : array tmp32 : array tmp320 : array tmp325 : array tmp326 : array tmp327 : array tmp329 : array tmp33 : array tmp335 : array tmp337 : array tmp339 : array tmp34 : array tmp340 : array tmp344 : array tmp346 : array tmp352 : array tmp354 : array tmp358 : array tmp36 : array tmp362 : array tmp364 : array tmp37 : array tmp388 : array tmp39 : array tmp390 : array tmp4 : array tmp417 : array tmp418 : array tmp419 : array tmp42 : array tmp421 : array tmp423 : array tmp437 : array tmp439 : array tmp44 : array tmp441 : array tmp442 : array tmp46 : array tmp47 : array tmp48 : array tmp5 : array tmp50 : array tmp52 : array tmp54 : array tmp55 : array tmp56 : array tmp57 : array tmp59 : array tmp60 : array tmp62 : array tmp64 : array tmp65 : array tmp67 : array tmp68 : array tmp7 : array tmp70 : array tmp72 : array tmp74 : array tmp75 : array tmp77 : array tmp78 : array tmp79 : array tmp8 : array tmp80 : array tmp82 : array tmp83 : array tmp85 : array tmp87 : array tmp89 : array tmp91 : array tmp94 : array tmp97 : array \"\"\" tmp29 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp31 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t1 . bb , ( 1 , 2 ), ( 0 ,)) tmp106 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp27 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp170 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp325 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp47 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp29 , ( 0 ,), ( 1 , 2 )) tmp48 = einsum ( tmp31 , ( 0 ,), v . baa . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp44 = einsum ( tmp31 , ( 0 ,), v . bbb . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp107 = einsum ( tmp106 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp39 = einsum ( tmp29 , ( 0 ,), v . baa . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp99 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp27 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp166 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp59 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp77 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp82 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp56 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp230 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp106 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp351 = einsum ( tmp106 , ( 0 , 1 , 2 ), tmp106 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp41 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp45 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp194 = einsum ( tmp27 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp196 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp106 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp334 = einsum ( tmp106 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp171 = einsum ( tmp170 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 2 , 3 ), ( 4 , 0 , 5 , 1 )) tmp326 = einsum ( tmp325 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 1 , 0 )) * - 1 tmp54 = einsum ( tmp27 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp137 = einsum ( tmp106 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp282 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp279 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp25 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp64 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp36 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp246 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp227 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp225 = einsum ( t1 . bb , ( 0 , 1 ), tmp47 , ( 2 , 1 ), ( 0 , 2 )) tmp176 = einsum ( tmp48 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp221 = einsum ( tmp44 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp219 = einsum ( tmp107 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp175 = einsum ( tmp39 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp174 = einsum ( tmp99 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp208 = einsum ( tmp31 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp206 = einsum ( tmp29 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp203 = einsum ( tmp31 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp198 = einsum ( tmp29 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp189 = einsum ( tmp27 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp187 = einsum ( tmp29 , ( 0 ,), v . bbb . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp32 = einsum ( tmp31 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp183 = einsum ( tmp31 , ( 0 ,), v . bbb . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp31 tmp181 = einsum ( tmp106 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp30 = einsum ( tmp29 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp29 tmp28 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp27 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp167 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp166 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 5 , 4 )) * - 1 tmp60 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp161 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp77 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp158 = einsum ( tmp82 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp57 = einsum ( tmp56 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp142 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp106 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp50 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp96 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp93 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp67 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp23 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp33 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp21 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 0 , 2 )) tmp1 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 2 , 1 ), ( 2 , 0 )) tmp442 = einsum ( tmp170 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp441 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp439 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp77 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp437 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp82 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp423 = einsum ( tmp325 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp421 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp325 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp419 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp418 = einsum ( tmp170 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp417 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp390 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp388 = einsum ( tmp56 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp364 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp166 , ( 0 , 4 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp362 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp166 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp358 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp354 = einsum ( tmp230 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp352 = einsum ( tmp351 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp351 tmp346 = einsum ( tmp41 , ( 0 , 1 , 2 ), tmp106 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp344 = einsum ( tmp106 , ( 0 , 1 , 2 ), tmp45 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp340 = einsum ( tmp194 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp339 = einsum ( tmp196 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) tmp337 = einsum ( tmp334 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp335 = einsum ( tmp334 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp334 tmp329 = einsum ( tmp171 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp327 = einsum ( tmp326 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 1 tmp320 = einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp318 = einsum ( tmp106 , ( 0 , 1 , 2 ), tmp77 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp316 = einsum ( tmp56 , ( 0 , 1 , 2 ), tmp106 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp314 = einsum ( tmp137 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp313 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp137 , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp311 = einsum ( tmp106 , ( 0 , 1 , 2 ), tmp82 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp310 = einsum ( tmp59 , ( 0 , 1 , 2 ), tmp106 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp304 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp47 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp302 = einsum ( tmp47 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp300 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp44 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp298 = einsum ( tmp44 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp296 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp107 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp294 = einsum ( tmp107 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp283 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp282 , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) del tmp282 tmp280 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp279 , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) * - 1 del tmp279 tmp273 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp77 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp271 = einsum ( tmp56 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp270 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp25 , ( 0 , 4 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp268 = einsum ( tmp82 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp267 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp265 = einsum ( tmp64 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) tmp264 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp64 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp257 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp41 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp255 = einsum ( tmp45 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp249 = einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp247 = einsum ( tmp246 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 3 , 0 , 2 , 4 )) tmp241 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp239 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp231 = einsum ( tmp230 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp230 tmp228 = einsum ( t1 . aa , ( 0 , 1 ), tmp227 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) del tmp227 tmp226 = einsum ( tmp225 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp223 = einsum ( tmp176 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp222 = einsum ( tmp221 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp220 = einsum ( tmp219 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp217 = einsum ( tmp175 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp215 = einsum ( tmp174 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp213 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp45 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp211 = einsum ( tmp41 , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp209 = einsum ( tmp208 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) del tmp208 tmp207 = einsum ( t1 . bb , ( 0 , 1 ), tmp206 , ( 2 , 1 ), ( 0 , 2 )) del tmp206 tmp205 = einsum ( tmp45 , ( 0 , 1 , 2 ), tmp106 , ( 0 , 3 , 1 ), ( 3 , 2 )) del tmp106 tmp204 = einsum ( t1 . bb , ( 0 , 1 ), tmp203 , ( 2 , 1 ), ( 0 , 2 )) del tmp203 tmp201 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp41 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp199 = einsum ( tmp198 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) del tmp198 tmp197 = einsum ( tmp196 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp196 tmp195 = einsum ( tmp194 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp194 tmp192 = einsum ( t1 . aa , ( 0 , 1 ), tmp189 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp190 = einsum ( t1 . aa , ( 0 , 1 ), tmp189 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp189 tmp188 = einsum ( tmp187 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp185 = einsum ( tmp32 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp184 = einsum ( tmp183 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp182 = einsum ( tmp181 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp179 = einsum ( tmp30 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp177 = einsum ( tmp28 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp172 = einsum ( tmp171 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp168 = einsum ( t1 . aa , ( 0 , 1 ), tmp167 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp164 = einsum ( t1 . aa , ( 0 , 1 ), tmp60 , ( 2 , 0 ), ( 2 , 1 )) tmp162 = einsum ( tmp161 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp159 = einsum ( tmp158 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp156 = einsum ( tmp57 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp155 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp142 , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 5 , 3 )) tmp153 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp82 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp151 = einsum ( tmp59 , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp150 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) tmp148 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp147 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp77 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp145 = einsum ( tmp56 , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) del tmp27 tmp143 = einsum ( tmp142 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) tmp140 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp54 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp138 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp137 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp135 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp133 = einsum ( tmp48 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp131 = einsum ( tmp48 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp129 = einsum ( tmp39 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp127 = einsum ( tmp39 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp125 = einsum ( tmp99 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp123 = einsum ( tmp99 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp121 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp47 , ( 1 , 3 ), ( 0 , 2 )) tmp119 = einsum ( tmp47 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp118 = einsum ( tmp48 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp116 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp48 , ( 1 , 3 ), ( 0 , 2 )) tmp114 = einsum ( tmp44 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp112 = einsum ( tmp44 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp110 = einsum ( tmp107 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp108 = einsum ( tmp107 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp107 tmp105 = einsum ( tmp39 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp103 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp39 , ( 1 , 3 ), ( 0 , 2 )) tmp102 = einsum ( tmp99 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp100 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp99 , ( 1 , 3 ), ( 0 , 2 )) del tmp99 tmp97 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp96 , ( 4 , 2 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) del tmp96 tmp94 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp93 , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) * - 1 del tmp93 tmp91 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp59 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp89 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp77 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp87 = einsum ( tmp82 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * - 1 tmp85 = einsum ( tmp56 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * - 1 tmp83 = einsum ( tmp82 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp80 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp79 = einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) tmp78 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp77 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp75 = einsum ( tmp56 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp74 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp72 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) tmp70 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp68 = einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) tmp65 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp64 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp62 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp55 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp45 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp52 = einsum ( tmp41 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp46 = einsum ( tmp45 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) del tmp45 tmp42 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp41 , ( 0 , 2 , 3 ), ( 1 , 3 )) del tmp41 tmp37 = einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 1 , 0 , 2 , 4 )) tmp34 = einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 3 , 0 , 2 , 4 )) tmp22 = einsum ( tmp21 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp19 = einsum ( tmp1 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp17 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp15 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp13 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp11 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp10 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 0 , 2 ), ( 1 , 3 )) tmp8 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp7 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . vv , ( 2 , 1 ), ( 0 , 2 )) tmp5 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . vv , ( 2 , 1 ), ( 0 , 2 )) tmp4 = einsum ( f . bb . oo , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp2 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . oo , ( 2 , 0 ), ( 2 , 1 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp102\" : tmp102 , f \"tmp103\" : tmp103 , f \"tmp105\" : tmp105 , f \"tmp108\" : tmp108 , f \"tmp11\" : tmp11 , f \"tmp110\" : tmp110 , f \"tmp112\" : tmp112 , f \"tmp114\" : tmp114 , f \"tmp116\" : tmp116 , f \"tmp118\" : tmp118 , f \"tmp119\" : tmp119 , f \"tmp121\" : tmp121 , f \"tmp123\" : tmp123 , f \"tmp125\" : tmp125 , f \"tmp127\" : tmp127 , f \"tmp129\" : tmp129 , f \"tmp13\" : tmp13 , f \"tmp131\" : tmp131 , f \"tmp133\" : tmp133 , f \"tmp135\" : tmp135 , f \"tmp137\" : tmp137 , f \"tmp138\" : tmp138 , f \"tmp140\" : tmp140 , f \"tmp142\" : tmp142 , f \"tmp143\" : tmp143 , f \"tmp145\" : tmp145 , f \"tmp147\" : tmp147 , f \"tmp148\" : tmp148 , f \"tmp15\" : tmp15 , f \"tmp150\" : tmp150 , f \"tmp151\" : tmp151 , f \"tmp153\" : tmp153 , f \"tmp155\" : tmp155 , f \"tmp156\" : tmp156 , f \"tmp158\" : tmp158 , f \"tmp159\" : tmp159 , f \"tmp161\" : tmp161 , f \"tmp162\" : tmp162 , f \"tmp164\" : tmp164 , f \"tmp166\" : tmp166 , f \"tmp167\" : tmp167 , f \"tmp168\" : tmp168 , f \"tmp17\" : tmp17 , f \"tmp170\" : tmp170 , f \"tmp171\" : tmp171 , f \"tmp172\" : tmp172 , f \"tmp174\" : tmp174 , f \"tmp175\" : tmp175 , f \"tmp176\" : tmp176 , f \"tmp177\" : tmp177 , f \"tmp179\" : tmp179 , f \"tmp181\" : tmp181 , f \"tmp182\" : tmp182 , f \"tmp183\" : tmp183 , f \"tmp184\" : tmp184 , f \"tmp185\" : tmp185 , f \"tmp187\" : tmp187 , f \"tmp188\" : tmp188 , f \"tmp19\" : tmp19 , f \"tmp190\" : tmp190 , f \"tmp192\" : tmp192 , f \"tmp195\" : tmp195 , f \"tmp197\" : tmp197 , f \"tmp199\" : tmp199 , f \"tmp2\" : tmp2 , f \"tmp201\" : tmp201 , f \"tmp204\" : tmp204 , f \"tmp205\" : tmp205 , f \"tmp207\" : tmp207 , f \"tmp209\" : tmp209 , f \"tmp21\" : tmp21 , f \"tmp211\" : tmp211 , f \"tmp213\" : tmp213 , f \"tmp215\" : tmp215 , f \"tmp217\" : tmp217 , f \"tmp219\" : tmp219 , f \"tmp22\" : tmp22 , f \"tmp220\" : tmp220 , f \"tmp221\" : tmp221 , f \"tmp222\" : tmp222 , f \"tmp223\" : tmp223 , f \"tmp225\" : tmp225 , f \"tmp226\" : tmp226 , f \"tmp228\" : tmp228 , f \"tmp23\" : tmp23 , f \"tmp231\" : tmp231 , f \"tmp239\" : tmp239 , f \"tmp241\" : tmp241 , f \"tmp246\" : tmp246 , f \"tmp247\" : tmp247 , f \"tmp249\" : tmp249 , f \"tmp25\" : tmp25 , f \"tmp255\" : tmp255 , f \"tmp257\" : tmp257 , f \"tmp264\" : tmp264 , f \"tmp265\" : tmp265 , f \"tmp267\" : tmp267 , f \"tmp268\" : tmp268 , f \"tmp270\" : tmp270 , f \"tmp271\" : tmp271 , f \"tmp273\" : tmp273 , f \"tmp28\" : tmp28 , f \"tmp280\" : tmp280 , f \"tmp283\" : tmp283 , f \"tmp294\" : tmp294 , f \"tmp296\" : tmp296 , f \"tmp298\" : tmp298 , f \"tmp30\" : tmp30 , f \"tmp300\" : tmp300 , f \"tmp302\" : tmp302 , f \"tmp304\" : tmp304 , f \"tmp310\" : tmp310 , f \"tmp311\" : tmp311 , f \"tmp313\" : tmp313 , f \"tmp314\" : tmp314 , f \"tmp316\" : tmp316 , f \"tmp318\" : tmp318 , f \"tmp32\" : tmp32 , f \"tmp320\" : tmp320 , f \"tmp325\" : tmp325 , f \"tmp326\" : tmp326 , f \"tmp327\" : tmp327 , f \"tmp329\" : tmp329 , f \"tmp33\" : tmp33 , f \"tmp335\" : tmp335 , f \"tmp337\" : tmp337 , f \"tmp339\" : tmp339 , f \"tmp34\" : tmp34 , f \"tmp340\" : tmp340 , f \"tmp344\" : tmp344 , f \"tmp346\" : tmp346 , f \"tmp352\" : tmp352 , f \"tmp354\" : tmp354 , f \"tmp358\" : tmp358 , f \"tmp36\" : tmp36 , f \"tmp362\" : tmp362 , f \"tmp364\" : tmp364 , f \"tmp37\" : tmp37 , f \"tmp388\" : tmp388 , f \"tmp39\" : tmp39 , f \"tmp390\" : tmp390 , f \"tmp4\" : tmp4 , f \"tmp417\" : tmp417 , f \"tmp418\" : tmp418 , f \"tmp419\" : tmp419 , f \"tmp42\" : tmp42 , f \"tmp421\" : tmp421 , f \"tmp423\" : tmp423 , f \"tmp437\" : tmp437 , f \"tmp439\" : tmp439 , f \"tmp44\" : tmp44 , f \"tmp441\" : tmp441 , f \"tmp442\" : tmp442 , f \"tmp46\" : tmp46 , f \"tmp47\" : tmp47 , f \"tmp48\" : tmp48 , f \"tmp5\" : tmp5 , f \"tmp50\" : tmp50 , f \"tmp52\" : tmp52 , f \"tmp54\" : tmp54 , f \"tmp55\" : tmp55 , f \"tmp56\" : tmp56 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp60\" : tmp60 , f \"tmp62\" : tmp62 , f \"tmp64\" : tmp64 , f \"tmp65\" : tmp65 , f \"tmp67\" : tmp67 , f \"tmp68\" : tmp68 , f \"tmp7\" : tmp7 , f \"tmp70\" : tmp70 , f \"tmp72\" : tmp72 , f \"tmp74\" : tmp74 , f \"tmp75\" : tmp75 , f \"tmp77\" : tmp77 , f \"tmp78\" : tmp78 , f \"tmp79\" : tmp79 , f \"tmp8\" : tmp8 , f \"tmp80\" : tmp80 , f \"tmp82\" : tmp82 , f \"tmp83\" : tmp83 , f \"tmp85\" : tmp85 , f \"tmp87\" : tmp87 , f \"tmp89\" : tmp89 , f \"tmp91\" : tmp91 , f \"tmp94\" : tmp94 , f \"tmp97\" : tmp97 } ebcc . codegen . UDFCC2 . hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:57:33.309403. 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. Source code in ebcc/codegen/UDFCC2.py 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:57:33.309403. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp15 = np . copy ( ints . tmp77 ) tmp15 += v . bbb . xov tmp15 += ints . tmp82 * 2 tmp13 = np . copy ( ints . tmp59 ) tmp13 += v . baa . xov tmp13 += ints . tmp56 * 2 tmp39 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), t2 . bbbb , ( 0 , 1 , 3 , 2 ), ( 3 ,)) tmp38 = einsum ( r2 . aba , ( 0 , 1 , 2 ), t2 . abab , ( 0 , 1 , 2 , 3 ), ( 3 ,)) tmp34 = np . copy ( ints . tmp56 ) * 2 del ints . tmp56 tmp34 += ints . tmp59 del ints . tmp59 tmp34 += v . baa . xov tmp16 = einsum ( tmp15 , ( 0 , 1 , 2 ), r2 . bab , ( 1 , 3 , 2 ), ( 0 , 3 )) * - 1 tmp14 = einsum ( tmp13 , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 1 , 2 ), ( 0 , 3 )) * - 1 del tmp13 tmp53 = np . copy ( f . bb . oo ) tmp53 += np . transpose ( ints . tmp21 , ( 1 , 0 )) tmp43 = np . copy ( ints . tmp419 ) del ints . tmp419 tmp43 += ints . tmp423 * 2 del ints . tmp423 tmp51 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp15 , ( 3 , 1 , 2 ), ( 3 , 0 )) * - 1 del tmp15 tmp59 = np . copy ( tmp38 ) * - 0.5 tmp59 += tmp39 tmp61 = np . copy ( ints . tmp158 ) * 2 tmp61 += ints . tmp161 tmp35 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp34 , ( 3 , 0 , 2 ), ( 3 , 1 )) tmp25 = np . copy ( ints . tmp57 ) * 2 tmp25 += ints . tmp60 tmp23 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 0 , 1 , 3 ), ( 2 ,)) tmp19 = np . copy ( f . aa . oo ) tmp19 += np . transpose ( ints . tmp1 , ( 1 , 0 )) tmp17 = np . copy ( tmp14 ) * - 2 del tmp14 tmp17 += tmp16 del tmp16 tmp11 = np . copy ( ints . tmp358 ) tmp11 += ints . tmp362 * 2 tmp9 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 0 , 3 , 2 ), ( 3 ,)) * - 1 tmp54 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp53 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp53 tmp50 = einsum ( tmp43 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 0 , 2 ), ( 4 , 1 , 3 )) * - 1 tmp52 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp51 , ( 0 , 3 ), ( 1 , 3 , 2 )) * - 1 del tmp51 tmp60 = einsum ( ints . tmp325 , ( 0 , 1 , 2 , 3 ), tmp59 , ( 3 ,), ( 0 , 1 , 2 )) * 2 del ints . tmp325 , tmp59 tmp62 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp61 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 2 del tmp61 tmp58 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp35 , ( 0 , 3 ), ( 1 , 3 , 2 )) tmp57 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp421 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) tmp56 = einsum ( ints . tmp64 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 1 ,), ( 0 , 2 , 3 )) tmp47 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 0 , 2 ), ( 2 , 1 )) tmp36 = np . copy ( ints . tmp77 ) * 0.5 del ints . tmp77 tmp36 += ints . tmp82 del ints . tmp82 tmp36 += v . bbb . xov * 0.5 tmp29 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 0 , 2 ), ( 2 , 1 )) tmp26 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp25 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 2 del tmp25 tmp24 = einsum ( tmp23 , ( 0 ,), ints . tmp166 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) tmp22 = einsum ( ints . tmp23 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 0 , 2 , 3 )) tmp20 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp19 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp19 tmp18 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp17 , ( 0 , 3 ), ( 1 , 3 , 2 )) del tmp17 tmp12 = einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 0 , 2 ), ( 4 , 1 , 3 )) * - 1 del tmp11 tmp10 = einsum ( ints . tmp166 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 3 ,), ( 0 , 1 , 2 )) del ints . tmp166 tmp8 = einsum ( ints . tmp364 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * - 1 tmp64 = np . copy ( ints . tmp246 ) del ints . tmp246 tmp64 += np . transpose ( ints . tmp326 , ( 2 , 3 , 0 , 1 )) * - 1 del ints . tmp326 tmp55 = np . copy ( np . transpose ( tmp50 , ( 1 , 0 , 2 ))) * - 1 del tmp50 tmp55 += np . transpose ( tmp52 , ( 1 , 0 , 2 )) del tmp52 tmp55 += np . transpose ( tmp54 , ( 1 , 0 , 2 )) * - 1 del tmp54 tmp63 = einsum ( r1 . b , ( 0 ,), f . bb . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) tmp63 += tmp56 del tmp56 tmp63 += tmp57 del tmp57 tmp63 += np . transpose ( tmp58 , ( 1 , 0 , 2 )) del tmp58 tmp63 += tmp60 * - 1 del tmp60 tmp63 += np . transpose ( tmp62 , ( 1 , 0 , 2 )) del tmp62 tmp48 = np . copy ( ints . tmp437 ) * 2 del ints . tmp437 tmp48 += ints . tmp439 del ints . tmp439 tmp48 += f . bb . vv * - 1 tmp48 += np . transpose ( tmp47 , ( 1 , 0 )) del tmp47 tmp44 = np . copy ( ints . tmp441 ) del ints . tmp441 tmp44 += np . transpose ( ints . tmp442 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp442 tmp46 = einsum ( tmp34 , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 1 , 2 ), ( 0 , 3 )) del tmp34 tmp46 += einsum ( tmp36 , ( 0 , 1 , 2 ), r2 . bab , ( 1 , 3 , 2 ), ( 0 , 3 )) * - 1 tmp45 = np . copy ( ints . tmp171 ) tmp45 += np . transpose ( ints . tmp36 , ( 1 , 0 , 2 , 3 )) tmp49 = np . copy ( tmp23 ) * 2 del tmp23 tmp49 += tmp9 del tmp9 tmp42 = np . copy ( f . bb . oo ) tmp42 += ints . tmp158 * 2 tmp42 += ints . tmp161 tmp42 += np . transpose ( ints . tmp21 , ( 1 , 0 )) tmp41 = np . copy ( f . aa . oo ) tmp41 += np . transpose ( ints . tmp1 , ( 1 , 0 )) tmp41 += ints . tmp57 * 2 tmp41 += ints . tmp60 tmp30 = np . copy ( ints . tmp388 ) * 2 del ints . tmp388 tmp30 += ints . tmp390 del ints . tmp390 tmp30 += f . aa . vv * - 1 tmp30 += np . transpose ( tmp29 , ( 1 , 0 )) del tmp29 tmp37 = np . copy ( tmp35 ) * - 1 del tmp35 tmp37 += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp36 , ( 3 , 1 , 2 ), ( 3 , 0 )) * 4 del tmp36 tmp32 = np . copy ( ints . tmp358 ) del ints . tmp358 tmp32 += ints . tmp362 * 2 del ints . tmp362 tmp40 = np . copy ( tmp38 ) * - 1 del tmp38 tmp40 += tmp39 * 2 del tmp39 tmp33 = np . copy ( ints . tmp171 ) del ints . tmp171 tmp33 += np . transpose ( ints . tmp36 , ( 0 , 1 , 3 , 2 )) del ints . tmp36 tmp31 = np . copy ( ints . tmp417 ) del ints . tmp417 tmp31 += np . transpose ( ints . tmp418 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp418 tmp27 = einsum ( r1 . a , ( 0 ,), f . aa . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 tmp27 += tmp22 * - 1 del tmp22 tmp27 += tmp24 * 2 del tmp24 tmp27 += np . transpose ( tmp26 , ( 1 , 0 , 2 )) * - 1 del tmp26 tmp21 = np . copy ( tmp8 ) del tmp8 tmp21 += tmp10 del tmp10 tmp21 += np . transpose ( tmp12 , ( 1 , 0 , 2 )) * - 2 del tmp12 tmp21 += np . transpose ( tmp18 , ( 1 , 0 , 2 )) del tmp18 tmp21 += np . transpose ( tmp20 , ( 1 , 0 , 2 )) * - 2 del tmp20 tmp28 = np . copy ( ints . tmp167 ) del ints . tmp167 tmp28 += np . transpose ( ints . tmp33 , ( 2 , 3 , 0 , 1 )) * - 1 del ints . tmp33 tmp7 = np . copy ( f . bb . oo ) tmp7 += ints . tmp158 * 2 del ints . tmp158 tmp7 += ints . tmp161 del ints . tmp161 tmp7 += np . transpose ( ints . tmp183 , ( 1 , 0 )) del ints . tmp183 tmp7 += np . transpose ( ints . tmp187 , ( 1 , 0 )) del ints . tmp187 tmp7 += np . transpose ( ints . tmp21 , ( 1 , 0 )) del ints . tmp21 tmp7 += ints . tmp221 del ints . tmp221 tmp7 += ints . tmp225 del ints . tmp225 tmp7 += ints . tmp181 * - 1 del ints . tmp181 tmp7 += ints . tmp219 * - 1 del ints . tmp219 tmp3 = np . copy ( ints . tmp100 ) del ints . tmp100 tmp3 += ints . tmp108 * 0.5 del ints . tmp108 tmp3 += ints . tmp135 del ints . tmp135 tmp3 += ints . tmp140 * 0.5 del ints . tmp140 tmp3 += ints . tmp156 del ints . tmp156 tmp3 += ints . tmp164 * 0.5 del ints . tmp164 tmp3 += ints . tmp179 * 0.5 del ints . tmp179 tmp3 += ints . tmp185 * 0.5 del ints . tmp185 tmp3 += ints . tmp19 * 0.5 del ints . tmp19 tmp3 += ints . tmp201 * 0.5 del ints . tmp201 tmp3 += ints . tmp217 * 0.5 del ints . tmp217 tmp3 += ints . tmp223 * 0.5 del ints . tmp223 tmp3 += ints . tmp2 * 0.5 del ints . tmp2 tmp3 += ints . tmp42 * 0.5 del ints . tmp42 tmp3 += ints . tmp62 del ints . tmp62 tmp3 += ints . tmp70 * 0.5 del ints . tmp70 tmp3 += ints . tmp85 del ints . tmp85 tmp3 += f . aa . ov * - 0.5 tmp3 += ints . tmp103 * - 1 del ints . tmp103 tmp3 += ints . tmp112 * - 0.5 del ints . tmp112 tmp3 += ints . tmp116 * - 1 del ints . tmp116 tmp3 += ints . tmp119 * - 0.5 del ints . tmp119 tmp3 += ints . tmp11 * - 0.5 del ints . tmp11 tmp3 += ints . tmp177 * - 0.5 del ints . tmp177 tmp3 += ints . tmp199 * - 0.5 del ints . tmp199 tmp3 += ints . tmp209 * - 0.5 del ints . tmp209 tmp3 += ints . tmp215 * - 0.5 del ints . tmp215 tmp3 += ints . tmp39 * - 0.5 del ints . tmp39 tmp3 += ints . tmp48 * - 0.5 del ints . tmp48 tmp3 += ints . tmp5 * - 0.5 del ints . tmp5 tmp3 += ints . tmp8 * - 1 del ints . tmp8 tmp3 += ints . tmp91 * - 0.5 del ints . tmp91 tmp5 = np . copy ( ints . tmp142 ) del ints . tmp142 tmp5 += np . transpose ( ints . tmp239 , ( 0 , 2 , 1 , 3 )) del ints . tmp239 tmp5 += np . transpose ( ints . tmp257 , ( 0 , 2 , 1 , 3 )) del ints . tmp257 tmp5 += ints . tmp267 del ints . tmp267 tmp5 += ints . tmp271 * 2 del ints . tmp271 tmp5 += ints . tmp283 del ints . tmp283 tmp5 += ints . tmp298 del ints . tmp298 tmp5 += ints . tmp302 del ints . tmp302 tmp5 += ints . tmp310 del ints . tmp310 tmp5 += ints . tmp316 * 2 del ints . tmp316 tmp5 += ints . tmp346 del ints . tmp346 tmp5 += np . transpose ( ints . tmp67 , ( 0 , 2 , 1 , 3 )) tmp5 += np . transpose ( ints . tmp249 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp249 tmp5 += ints . tmp264 * - 1 del ints . tmp264 tmp5 += ints . tmp270 * - 1 del ints . tmp270 tmp5 += ints . tmp294 * - 1 del ints . tmp294 tmp5 += ints . tmp313 * - 1 del ints . tmp313 tmp5 += ints . tmp320 * - 1 del ints . tmp320 tmp5 += ints . tmp329 * - 1 del ints . tmp329 tmp5 += ints . tmp339 * - 1 del ints . tmp339 tmp5 += np . transpose ( ints . tmp340 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp340 tmp5 += ints . tmp354 * - 1 del ints . tmp354 tmp2 = np . copy ( ints . tmp102 ) * 0.5 del ints . tmp102 tmp2 += ints . tmp110 del ints . tmp110 tmp2 += ints . tmp138 del ints . tmp138 tmp2 += ints . tmp143 * 0.5 del ints . tmp143 tmp2 += ints . tmp159 del ints . tmp159 tmp2 += ints . tmp162 * 0.5 del ints . tmp162 tmp2 += ints . tmp184 * 0.5 del ints . tmp184 tmp2 += ints . tmp188 * 0.5 del ints . tmp188 tmp2 += ints . tmp205 * 0.5 del ints . tmp205 tmp2 += ints . tmp222 * 0.5 del ints . tmp222 tmp2 += ints . tmp226 * 0.5 del ints . tmp226 tmp2 += ints . tmp22 * 0.5 del ints . tmp22 tmp2 += ints . tmp46 * 0.5 del ints . tmp46 tmp2 += ints . tmp4 * 0.5 del ints . tmp4 tmp2 += ints . tmp65 del ints . tmp65 tmp2 += ints . tmp68 * 0.5 del ints . tmp68 tmp2 += ints . tmp87 del ints . tmp87 tmp2 += f . bb . ov * - 0.5 tmp2 += ints . tmp105 * - 0.5 del ints . tmp105 tmp2 += ints . tmp10 * - 0.5 del ints . tmp10 tmp2 += ints . tmp114 * - 1 del ints . tmp114 tmp2 += ints . tmp118 * - 0.5 del ints . tmp118 tmp2 += ints . tmp121 * - 1 del ints . tmp121 tmp2 += ints . tmp13 * - 1 del ints . tmp13 tmp2 += ints . tmp182 * - 0.5 del ints . tmp182 tmp2 += ints . tmp204 * - 0.5 del ints . tmp204 tmp2 += ints . tmp207 * - 0.5 del ints . tmp207 tmp2 += ints . tmp220 * - 0.5 del ints . tmp220 tmp2 += ints . tmp44 * - 0.5 del ints . tmp44 tmp2 += ints . tmp47 * - 0.5 del ints . tmp47 tmp2 += ints . tmp7 * - 0.5 del ints . tmp7 tmp2 += ints . tmp89 * - 0.5 del ints . tmp89 tmp6 = np . copy ( np . transpose ( ints . tmp241 , ( 1 , 2 , 0 , 3 ))) del ints . tmp241 tmp6 += np . transpose ( ints . tmp247 , ( 0 , 2 , 1 , 3 )) del ints . tmp247 tmp6 += np . transpose ( ints . tmp255 , ( 0 , 2 , 1 , 3 )) del ints . tmp255 tmp6 += ints . tmp268 * 2 del ints . tmp268 tmp6 += ints . tmp273 del ints . tmp273 tmp6 += ints . tmp300 del ints . tmp300 tmp6 += ints . tmp304 del ints . tmp304 tmp6 += ints . tmp314 * 2 del ints . tmp314 tmp6 += ints . tmp327 del ints . tmp327 tmp6 += ints . tmp335 del ints . tmp335 tmp6 += ints . tmp352 del ints . tmp352 tmp6 += ints . tmp137 * - 1 del ints . tmp137 tmp6 += ints . tmp265 * - 2 del ints . tmp265 tmp6 += ints . tmp280 * - 1 del ints . tmp280 tmp6 += ints . tmp296 * - 1 del ints . tmp296 tmp6 += ints . tmp311 * - 2 del ints . tmp311 tmp6 += ints . tmp318 * - 1 del ints . tmp318 tmp6 += np . transpose ( ints . tmp337 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp337 tmp6 += ints . tmp344 * - 1 del ints . tmp344 tmp6 += np . transpose ( ints . tmp64 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp64 tmp4 = np . copy ( f . aa . oo ) tmp4 += ints . tmp175 del ints . tmp175 tmp4 += ints . tmp176 del ints . tmp176 tmp4 += np . transpose ( ints . tmp1 , ( 1 , 0 )) del ints . tmp1 tmp4 += np . transpose ( ints . tmp30 , ( 1 , 0 )) del ints . tmp30 tmp4 += np . transpose ( ints . tmp32 , ( 1 , 0 )) del ints . tmp32 tmp4 += ints . tmp57 * 2 del ints . tmp57 tmp4 += ints . tmp60 del ints . tmp60 tmp4 += ints . tmp174 * - 1 del ints . tmp174 tmp4 += ints . tmp28 * - 1 del ints . tmp28 tmp0 = np . copy ( ints . tmp129 ) del ints . tmp129 tmp0 += ints . tmp133 del ints . tmp133 tmp0 += ints . tmp147 del ints . tmp147 tmp0 += ints . tmp153 * 2 del ints . tmp153 tmp0 += np . transpose ( ints . tmp17 , ( 1 , 0 , 2 , 3 )) del ints . tmp17 tmp0 += ints . tmp213 del ints . tmp213 tmp0 += np . transpose ( ints . tmp25 , ( 1 , 0 , 2 , 3 )) tmp0 += ints . tmp54 del ints . tmp54 tmp0 += np . transpose ( ints . tmp55 , ( 1 , 0 , 2 , 3 )) del ints . tmp55 tmp0 += ints . tmp78 del ints . tmp78 tmp0 += ints . tmp83 * 2 del ints . tmp83 tmp0 += ints . tmp97 del ints . tmp97 tmp0 += ints . tmp125 * - 1 del ints . tmp125 tmp0 += ints . tmp150 * - 1 del ints . tmp150 tmp0 += ints . tmp155 * - 1 del ints . tmp155 tmp0 += ints . tmp172 * - 1 del ints . tmp172 tmp0 += ints . tmp195 * - 1 del ints . tmp195 tmp0 += np . transpose ( ints . tmp197 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp197 tmp0 += ints . tmp231 * - 1 del ints . tmp231 tmp0 += ints . tmp37 * - 1 del ints . tmp37 tmp0 += ints . tmp74 * - 1 del ints . tmp74 tmp0 += ints . tmp79 * - 1 del ints . tmp79 tmp1 = np . copy ( ints . tmp127 ) del ints . tmp127 tmp1 += ints . tmp131 del ints . tmp131 tmp1 += ints . tmp148 * 2 del ints . tmp148 tmp1 += np . transpose ( ints . tmp15 , ( 1 , 2 , 0 , 3 )) del ints . tmp15 tmp1 += ints . tmp168 del ints . tmp168 tmp1 += ints . tmp190 del ints . tmp190 tmp1 += ints . tmp228 del ints . tmp228 tmp1 += np . transpose ( ints . tmp34 , ( 0 , 2 , 1 , 3 )) del ints . tmp34 tmp1 += np . transpose ( ints . tmp52 , ( 0 , 2 , 1 , 3 )) del ints . tmp52 tmp1 += ints . tmp75 * 2 del ints . tmp75 tmp1 += ints . tmp80 del ints . tmp80 tmp1 += ints . tmp123 * - 1 del ints . tmp123 tmp1 += ints . tmp145 * - 2 del ints . tmp145 tmp1 += ints . tmp151 * - 1 del ints . tmp151 tmp1 += np . transpose ( ints . tmp192 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp192 tmp1 += ints . tmp211 * - 1 del ints . tmp211 tmp1 += np . transpose ( ints . tmp23 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp23 tmp1 += ints . tmp50 * - 1 del ints . tmp50 tmp1 += ints . tmp72 * - 2 del ints . tmp72 tmp1 += ints . tmp94 * - 1 del ints . tmp94 r2new . bbb = np . copy ( tmp55 ) * 2 r2new . bbb += np . transpose ( tmp55 , ( 1 , 0 , 2 )) * - 2 del tmp55 r2new . bbb += tmp63 * - 1 r2new . bbb += np . transpose ( tmp63 , ( 1 , 0 , 2 )) del tmp63 r2new . bbb += einsum ( tmp64 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 2 , 4 ), ( 0 , 1 , 4 )) * 2 del tmp64 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp48 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 r2new . bab = einsum ( ints . tmp25 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 2 , 0 , 3 )) del ints . tmp25 r2new . bab += einsum ( ints . tmp421 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 0 , 2 ), ( 1 , 4 , 3 )) * 2 del ints . tmp421 r2new . bab += einsum ( r1 . a , ( 0 ,), f . bb . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp43 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) * - 1 del tmp43 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp44 , ( 3 , 1 , 2 , 4 ), ( 0 , 3 , 4 )) * - 1 del tmp44 r2new . bab += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 0 , 4 ), ( 3 , 1 , 4 )) del tmp45 r2new . bab += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp46 , ( 0 , 3 ), ( 1 , 3 , 2 )) * - 2 del tmp46 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp48 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp48 r2new . bab += einsum ( ints . tmp170 , ( 0 , 1 , 2 , 3 ), tmp49 , ( 2 ,), ( 1 , 0 , 3 )) del tmp49 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp41 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp42 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new . aba = einsum ( r1 . b , ( 0 ,), ints . tmp67 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del ints . tmp67 r2new . aba += einsum ( f . aa . ov , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) * - 1 r2new . aba += einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp364 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) * 2 del ints . tmp364 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp31 , ( 3 , 1 , 2 , 4 ), ( 0 , 3 , 4 )) * - 1 del tmp31 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp32 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) * - 1 del tmp32 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp33 , ( 0 , 3 , 1 , 4 ), ( 3 , 4 , 2 )) del tmp33 r2new . aba += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp37 , ( 0 , 3 ), ( 1 , 3 , 2 )) * - 1 del tmp37 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp30 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( ints . tmp170 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 3 ,), ( 0 , 1 , 2 )) del ints . tmp170 , tmp40 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp41 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp41 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp42 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp42 r2new . aaa = np . copy ( tmp21 ) r2new . aaa += np . transpose ( tmp21 , ( 1 , 0 , 2 )) * - 1 del tmp21 r2new . aaa += tmp27 r2new . aaa += np . transpose ( tmp27 , ( 1 , 0 , 2 )) * - 1 del tmp27 r2new . aaa += einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 1 , 0 , 4 ), ( 2 , 3 , 4 )) * - 2 del tmp28 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp30 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp30 r1new . b = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 1 , 3 ), ( 2 ,)) del tmp5 r1new . b += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 1 , 0 , 3 ), ( 2 ,)) * - 2 del tmp6 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp3 , ( 0 , 2 ), ( 1 ,)) * 2 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp2 , ( 1 , 2 ), ( 0 ,)) * - 4 r1new . b += einsum ( r1 . b , ( 0 ,), tmp7 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp7 r1new . a = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 0 , 3 ), ( 1 ,)) del tmp0 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp1 , ( 1 , 0 , 3 , 2 ), ( 3 ,)) * - 2 del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 1 ), ( 2 ,)) * 2 del tmp2 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp3 , ( 1 , 2 ), ( 0 ,)) * - 4 del tmp3 r1new . a += einsum ( tmp4 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . UDFCC2 . hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:59:44.055032. 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 tmp10 : array tmp100 : array tmp102 : array tmp103 : array tmp105 : array tmp106 : array tmp108 : array tmp11 : array tmp110 : array tmp111 : array tmp113 : array tmp115 : array tmp117 : array tmp119 : array tmp121 : array tmp122 : array tmp124 : array tmp13 : array tmp132 : array tmp133 : array tmp135 : array tmp136 : array tmp138 : array tmp139 : array tmp141 : array tmp142 : array tmp144 : array tmp146 : array tmp148 : array tmp149 : array tmp151 : array tmp152 : array tmp154 : array tmp155 : array tmp157 : array tmp158 : array tmp160 : array tmp162 : array tmp163 : array tmp165 : array tmp166 : array tmp168 : array tmp170 : array tmp172 : array tmp175 : array tmp178 : array tmp180 : array tmp182 : array tmp185 : array tmp19 : array tmp190 : array tmp192 : array tmp194 : array tmp195 : array tmp196 : array tmp197 : array tmp198 : array tmp199 : array tmp2 : array tmp20 : array tmp201 : array tmp203 : array tmp205 : array tmp206 : array tmp208 : array tmp211 : array tmp214 : array tmp216 : array tmp218 : array tmp22 : array tmp221 : array tmp23 : array tmp236 : array tmp239 : array tmp24 : array tmp243 : array tmp246 : array tmp250 : array tmp251 : array tmp253 : array tmp255 : array tmp257 : array tmp26 : array tmp263 : array tmp265 : array tmp271 : array tmp272 : array tmp274 : array tmp275 : array tmp277 : array tmp279 : array tmp281 : array tmp29 : array tmp301 : array tmp303 : array tmp309 : array tmp31 : array tmp310 : array tmp312 : array tmp313 : array tmp315 : array tmp317 : array tmp319 : array tmp33 : array tmp330 : array tmp332 : array tmp334 : array tmp335 : array tmp34 : array tmp36 : array tmp365 : array tmp38 : array tmp387 : array tmp4 : array tmp40 : array tmp41 : array tmp42 : array tmp430 : array tmp44 : array tmp47 : array tmp49 : array tmp5 : array tmp52 : array tmp53 : array tmp55 : array tmp57 : array tmp58 : array tmp60 : array tmp61 : array tmp63 : array tmp64 : array tmp66 : array tmp67 : array tmp69 : array tmp7 : array tmp70 : array tmp72 : array tmp73 : array tmp75 : array tmp77 : array tmp79 : array tmp8 : array tmp81 : array tmp82 : array tmp84 : array tmp85 : array tmp87 : array tmp89 : array tmp91 : array tmp92 : array tmp94 : array tmp95 : array tmp97 : array tmp99 : array Source code in ebcc/codegen/UDFCC2.py 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 def hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:59:44.055032. 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 ------- tmp10 : array tmp100 : array tmp102 : array tmp103 : array tmp105 : array tmp106 : array tmp108 : array tmp11 : array tmp110 : array tmp111 : array tmp113 : array tmp115 : array tmp117 : array tmp119 : array tmp121 : array tmp122 : array tmp124 : array tmp13 : array tmp132 : array tmp133 : array tmp135 : array tmp136 : array tmp138 : array tmp139 : array tmp141 : array tmp142 : array tmp144 : array tmp146 : array tmp148 : array tmp149 : array tmp151 : array tmp152 : array tmp154 : array tmp155 : array tmp157 : array tmp158 : array tmp160 : array tmp162 : array tmp163 : array tmp165 : array tmp166 : array tmp168 : array tmp170 : array tmp172 : array tmp175 : array tmp178 : array tmp180 : array tmp182 : array tmp185 : array tmp19 : array tmp190 : array tmp192 : array tmp194 : array tmp195 : array tmp196 : array tmp197 : array tmp198 : array tmp199 : array tmp2 : array tmp20 : array tmp201 : array tmp203 : array tmp205 : array tmp206 : array tmp208 : array tmp211 : array tmp214 : array tmp216 : array tmp218 : array tmp22 : array tmp221 : array tmp23 : array tmp236 : array tmp239 : array tmp24 : array tmp243 : array tmp246 : array tmp250 : array tmp251 : array tmp253 : array tmp255 : array tmp257 : array tmp26 : array tmp263 : array tmp265 : array tmp271 : array tmp272 : array tmp274 : array tmp275 : array tmp277 : array tmp279 : array tmp281 : array tmp29 : array tmp301 : array tmp303 : array tmp309 : array tmp31 : array tmp310 : array tmp312 : array tmp313 : array tmp315 : array tmp317 : array tmp319 : array tmp33 : array tmp330 : array tmp332 : array tmp334 : array tmp335 : array tmp34 : array tmp36 : array tmp365 : array tmp38 : array tmp387 : array tmp4 : array tmp40 : array tmp41 : array tmp42 : array tmp430 : array tmp44 : array tmp47 : array tmp49 : array tmp5 : array tmp52 : array tmp53 : array tmp55 : array tmp57 : array tmp58 : array tmp60 : array tmp61 : array tmp63 : array tmp64 : array tmp66 : array tmp67 : array tmp69 : array tmp7 : array tmp70 : array tmp72 : array tmp73 : array tmp75 : array tmp77 : array tmp79 : array tmp8 : array tmp81 : array tmp82 : array tmp84 : array tmp85 : array tmp87 : array tmp89 : array tmp91 : array tmp92 : array tmp94 : array tmp95 : array tmp97 : array tmp99 : array \"\"\" tmp28 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp32 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t1 . bb , ( 1 , 2 ), ( 0 ,)) tmp109 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp101 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp41 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp28 , ( 0 ,), ( 1 , 2 )) tmp42 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp32 , ( 0 ,), ( 1 , 2 )) tmp38 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp32 , ( 0 ,), ( 1 , 2 )) tmp110 = einsum ( tmp109 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp34 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp28 , ( 0 ,), ( 1 , 2 )) tmp102 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp101 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp60 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp84 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp81 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp57 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp30 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp39 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp49 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp243 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp138 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp101 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp135 = einsum ( tmp109 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp26 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp236 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp72 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp66 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp220 = einsum ( t1 . bb , ( 0 , 1 ), tmp41 , ( 2 , 1 ), ( 0 , 2 )) tmp217 = einsum ( tmp42 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp215 = einsum ( t1 . bb , ( 0 , 1 ), tmp38 , ( 2 , 1 ), ( 0 , 2 )) tmp213 = einsum ( tmp110 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp210 = einsum ( tmp34 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp207 = einsum ( tmp102 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp33 = einsum ( tmp32 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp197 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp28 , ( 0 ,), ( 1 , 2 )) tmp194 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp32 , ( 0 ,), ( 1 , 2 )) tmp29 = einsum ( tmp28 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp184 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp28 , ( 0 ,), ( 1 , 2 )) tmp181 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp32 , ( 0 ,), ( 1 , 2 )) tmp179 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp32 , ( 0 ,), ( 1 , 2 )) del tmp32 tmp177 = einsum ( tmp109 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp174 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp28 , ( 0 ,), ( 1 , 2 )) del tmp28 tmp171 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp101 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp44 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp157 = einsum ( tmp60 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp154 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp84 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp151 = einsum ( tmp81 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp148 = einsum ( tmp57 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp141 = einsum ( tmp109 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp132 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp101 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp99 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp24 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp69 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp63 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp22 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 0 , 2 )) tmp19 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 2 , 1 ), ( 2 , 0 )) tmp430 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp387 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp365 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp335 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp30 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp334 = einsum ( tmp101 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp332 = einsum ( tmp39 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp330 = einsum ( tmp109 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp319 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp317 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp84 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp315 = einsum ( tmp57 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp313 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp243 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp312 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp243 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp310 = einsum ( tmp81 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp309 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp60 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp303 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp138 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp301 = einsum ( tmp135 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp281 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp26 , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 3 , 5 )) tmp279 = einsum ( tmp84 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp277 = einsum ( tmp57 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp275 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp236 , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 5 , 4 )) tmp274 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp236 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 5 , 4 )) tmp272 = einsum ( tmp81 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp271 = einsum ( tmp60 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp265 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp72 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp263 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp66 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp257 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp84 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp255 = einsum ( tmp81 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp253 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp30 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp251 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp39 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp250 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp246 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp239 = einsum ( tmp39 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp221 = einsum ( tmp220 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) del tmp220 tmp218 = einsum ( t1 . aa , ( 0 , 1 ), tmp217 , ( 2 , 0 ), ( 2 , 1 )) del tmp217 tmp216 = einsum ( tmp215 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) del tmp215 tmp214 = einsum ( tmp213 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) del tmp213 tmp211 = einsum ( tmp210 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) del tmp210 tmp208 = einsum ( t1 . aa , ( 0 , 1 ), tmp207 , ( 2 , 0 ), ( 2 , 1 )) del tmp207 tmp206 = einsum ( tmp39 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp205 = einsum ( tmp109 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp203 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp30 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp201 = einsum ( tmp101 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp199 = einsum ( tmp33 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp198 = einsum ( tmp197 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp196 = einsum ( tmp109 , ( 0 , 1 , 2 ), tmp39 , ( 0 , 2 , 3 ), ( 1 , 3 )) del tmp109 tmp195 = einsum ( t1 . bb , ( 0 , 1 ), tmp194 , ( 2 , 1 ), ( 0 , 2 )) tmp192 = einsum ( tmp101 , ( 0 , 1 , 2 ), tmp30 , ( 0 , 2 , 3 ), ( 1 , 3 )) del tmp101 tmp190 = einsum ( tmp29 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp185 = einsum ( tmp184 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) del tmp184 tmp182 = einsum ( tmp181 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) del tmp181 tmp180 = einsum ( tmp179 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) del tmp179 tmp178 = einsum ( tmp177 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) del tmp177 tmp175 = einsum ( tmp174 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) del tmp174 tmp172 = einsum ( t1 . aa , ( 0 , 1 ), tmp171 , ( 2 , 0 ), ( 2 , 1 )) del tmp171 tmp170 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp168 = einsum ( tmp81 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp166 = einsum ( tmp60 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp165 = einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 3 , 5 ), ( 1 , 4 , 2 , 5 )) tmp163 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp44 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp162 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp84 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp160 = einsum ( tmp57 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp158 = einsum ( t1 . aa , ( 0 , 1 ), tmp157 , ( 2 , 0 ), ( 2 , 1 )) tmp155 = einsum ( tmp154 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp152 = einsum ( tmp151 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp149 = einsum ( tmp148 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp146 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp141 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp144 = einsum ( tmp132 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp142 = einsum ( tmp141 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) tmp139 = einsum ( tmp138 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp136 = einsum ( tmp135 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp133 = einsum ( tmp132 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp124 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp41 , ( 1 , 3 ), ( 0 , 2 )) tmp122 = einsum ( tmp41 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp121 = einsum ( tmp42 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp119 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp42 , ( 1 , 3 ), ( 0 , 2 )) tmp117 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp38 , ( 1 , 3 ), ( 0 , 2 )) tmp115 = einsum ( tmp38 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp113 = einsum ( tmp110 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp111 = einsum ( tmp110 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp108 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp34 , ( 0 , 2 ), ( 1 , 3 )) tmp106 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp34 , ( 1 , 3 ), ( 0 , 2 )) tmp105 = einsum ( tmp102 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp103 = einsum ( tmp102 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp100 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp99 , ( 0 , 4 , 3 , 5 ), ( 1 , 2 , 4 , 5 )) tmp97 = einsum ( tmp81 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp95 = einsum ( tmp60 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp94 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp24 , ( 0 , 4 , 2 , 5 ), ( 1 , 5 , 4 , 3 )) tmp92 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp24 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 5 , 4 )) tmp91 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp84 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp89 = einsum ( tmp57 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp87 = einsum ( tmp60 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp85 = einsum ( tmp84 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp82 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp81 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp79 = einsum ( tmp57 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * - 1 tmp77 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp69 , ( 0 , 1 , 4 , 5 ), ( 4 , 2 , 5 , 3 )) tmp75 = einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 5 , 3 )) tmp73 = einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp70 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp69 , ( 0 , 1 , 4 , 2 ), ( 4 , 3 )) tmp67 = einsum ( tmp66 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp64 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp63 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp61 = einsum ( tmp60 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp58 = einsum ( tmp57 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp55 = einsum ( tmp39 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp53 = einsum ( tmp30 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp52 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp47 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp40 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp39 , ( 0 , 2 , 3 ), ( 1 , 3 )) del tmp39 tmp36 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp30 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp31 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp30 , ( 0 , 1 , 3 ), ( 2 , 3 )) del tmp30 tmp23 = einsum ( tmp22 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp20 = einsum ( t1 . aa , ( 0 , 1 ), tmp19 , ( 0 , 2 ), ( 2 , 1 )) tmp13 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp11 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp10 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 0 , 2 ), ( 1 , 3 )) tmp8 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp7 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . vv , ( 2 , 1 ), ( 0 , 2 )) tmp5 = einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp4 = einsum ( f . bb . oo , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp2 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . oo , ( 2 , 0 ), ( 2 , 1 )) return { f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp102\" : tmp102 , f \"tmp103\" : tmp103 , f \"tmp105\" : tmp105 , f \"tmp106\" : tmp106 , f \"tmp108\" : tmp108 , f \"tmp11\" : tmp11 , f \"tmp110\" : tmp110 , f \"tmp111\" : tmp111 , f \"tmp113\" : tmp113 , f \"tmp115\" : tmp115 , f \"tmp117\" : tmp117 , f \"tmp119\" : tmp119 , f \"tmp121\" : tmp121 , f \"tmp122\" : tmp122 , f \"tmp124\" : tmp124 , f \"tmp13\" : tmp13 , f \"tmp132\" : tmp132 , f \"tmp133\" : tmp133 , f \"tmp135\" : tmp135 , f \"tmp136\" : tmp136 , f \"tmp138\" : tmp138 , f \"tmp139\" : tmp139 , f \"tmp141\" : tmp141 , f \"tmp142\" : tmp142 , f \"tmp144\" : tmp144 , f \"tmp146\" : tmp146 , f \"tmp148\" : tmp148 , f \"tmp149\" : tmp149 , f \"tmp151\" : tmp151 , f \"tmp152\" : tmp152 , f \"tmp154\" : tmp154 , f \"tmp155\" : tmp155 , f \"tmp157\" : tmp157 , f \"tmp158\" : tmp158 , f \"tmp160\" : tmp160 , f \"tmp162\" : tmp162 , f \"tmp163\" : tmp163 , f \"tmp165\" : tmp165 , f \"tmp166\" : tmp166 , f \"tmp168\" : tmp168 , f \"tmp170\" : tmp170 , f \"tmp172\" : tmp172 , f \"tmp175\" : tmp175 , f \"tmp178\" : tmp178 , f \"tmp180\" : tmp180 , f \"tmp182\" : tmp182 , f \"tmp185\" : tmp185 , f \"tmp19\" : tmp19 , f \"tmp190\" : tmp190 , f \"tmp192\" : tmp192 , f \"tmp194\" : tmp194 , f \"tmp195\" : tmp195 , f \"tmp196\" : tmp196 , f \"tmp197\" : tmp197 , f \"tmp198\" : tmp198 , f \"tmp199\" : tmp199 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp201\" : tmp201 , f \"tmp203\" : tmp203 , f \"tmp205\" : tmp205 , f \"tmp206\" : tmp206 , f \"tmp208\" : tmp208 , f \"tmp211\" : tmp211 , f \"tmp214\" : tmp214 , f \"tmp216\" : tmp216 , f \"tmp218\" : tmp218 , f \"tmp22\" : tmp22 , f \"tmp221\" : tmp221 , f \"tmp23\" : tmp23 , f \"tmp236\" : tmp236 , f \"tmp239\" : tmp239 , f \"tmp24\" : tmp24 , f \"tmp243\" : tmp243 , f \"tmp246\" : tmp246 , f \"tmp250\" : tmp250 , f \"tmp251\" : tmp251 , f \"tmp253\" : tmp253 , f \"tmp255\" : tmp255 , f \"tmp257\" : tmp257 , f \"tmp26\" : tmp26 , f \"tmp263\" : tmp263 , f \"tmp265\" : tmp265 , f \"tmp271\" : tmp271 , f \"tmp272\" : tmp272 , f \"tmp274\" : tmp274 , f \"tmp275\" : tmp275 , f \"tmp277\" : tmp277 , f \"tmp279\" : tmp279 , f \"tmp281\" : tmp281 , f \"tmp29\" : tmp29 , f \"tmp301\" : tmp301 , f \"tmp303\" : tmp303 , f \"tmp309\" : tmp309 , f \"tmp31\" : tmp31 , f \"tmp310\" : tmp310 , f \"tmp312\" : tmp312 , f \"tmp313\" : tmp313 , f \"tmp315\" : tmp315 , f \"tmp317\" : tmp317 , f \"tmp319\" : tmp319 , f \"tmp33\" : tmp33 , f \"tmp330\" : tmp330 , f \"tmp332\" : tmp332 , f \"tmp334\" : tmp334 , f \"tmp335\" : tmp335 , f \"tmp34\" : tmp34 , f \"tmp36\" : tmp36 , f \"tmp365\" : tmp365 , f \"tmp38\" : tmp38 , f \"tmp387\" : tmp387 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp41\" : tmp41 , f \"tmp42\" : tmp42 , f \"tmp430\" : tmp430 , f \"tmp44\" : tmp44 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp52\" : tmp52 , f \"tmp53\" : tmp53 , f \"tmp55\" : tmp55 , f \"tmp57\" : tmp57 , f \"tmp58\" : tmp58 , f \"tmp60\" : tmp60 , f \"tmp61\" : tmp61 , f \"tmp63\" : tmp63 , f \"tmp64\" : tmp64 , f \"tmp66\" : tmp66 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp7\" : tmp7 , f \"tmp70\" : tmp70 , f \"tmp72\" : tmp72 , f \"tmp73\" : tmp73 , f \"tmp75\" : tmp75 , f \"tmp77\" : tmp77 , f \"tmp79\" : tmp79 , f \"tmp8\" : tmp8 , f \"tmp81\" : tmp81 , f \"tmp82\" : tmp82 , f \"tmp84\" : tmp84 , f \"tmp85\" : tmp85 , f \"tmp87\" : tmp87 , f \"tmp89\" : tmp89 , f \"tmp91\" : tmp91 , f \"tmp92\" : tmp92 , f \"tmp94\" : tmp94 , f \"tmp95\" : tmp95 , f \"tmp97\" : tmp97 , f \"tmp99\" : tmp99 } ebcc . codegen . UDFCC2 . hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:59:44.148685. 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. Source code in ebcc/codegen/UDFCC2.py 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:59:44.148685. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp43 = np . copy ( ints . tmp60 ) tmp43 += v . baa . xov tmp43 += ints . tmp57 * 2 tmp45 = np . copy ( ints . tmp84 ) tmp45 += v . bbb . xov tmp45 += ints . tmp81 * 2 tmp59 = np . copy ( ints . tmp57 ) * 2 del ints . tmp57 tmp59 += ints . tmp60 del ints . tmp60 tmp59 += v . baa . xov tmp16 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 2 , 1 , 0 ), ( 3 ,)) * - 1 tmp15 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 2 , 0 , 1 ), ( 3 ,)) tmp44 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp43 , ( 3 , 2 , 1 ), ( 3 , 0 )) * - 1 del tmp43 tmp46 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp45 , ( 3 , 2 , 0 ), ( 3 , 1 )) * - 1 tmp21 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), t1 . bb , ( 3 , 1 ), ( 2 , 3 , 0 )) tmp70 = np . copy ( ints . tmp246 ) tmp70 += ints . tmp313 * 2 tmp33 = einsum ( r2 . aba , ( 0 , 1 , 2 ), t2 . abab , ( 2 , 3 , 0 , 1 ), ( 3 ,)) tmp78 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp45 , ( 3 , 2 , 1 ), ( 3 , 0 )) * - 1 del tmp45 tmp84 = np . copy ( ints . tmp255 ) tmp84 += ints . tmp257 * 0.5 tmp84 += f . bb . vv * - 0.5 tmp34 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 2 , 0 , 1 ), ( 3 ,)) tmp60 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp59 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp52 = np . copy ( tmp15 ) * 2 tmp52 += tmp16 tmp50 = np . copy ( ints . tmp58 ) tmp50 += ints . tmp61 * 0.5 tmp50 += f . aa . vv * - 0.5 tmp2 = einsum ( t1 . aa , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp47 = np . copy ( tmp44 ) * - 2 del tmp44 tmp47 += tmp46 del tmp46 tmp41 = np . copy ( ints . tmp47 ) tmp41 += ints . tmp163 * 2 tmp74 = einsum ( r1 . b , ( 0 ,), ints . tmp236 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) tmp75 = einsum ( f . bb . ov , ( 0 , 1 ), tmp21 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) tmp77 = einsum ( tmp70 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 2 , 0 ), ( 1 , 4 , 3 )) * - 1 tmp76 = einsum ( tmp33 , ( 0 ,), ints . tmp243 , ( 0 , 1 , 2 , 3 ), ( 1 , 2 , 3 )) tmp79 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp78 , ( 0 , 3 ), ( 1 , 2 , 3 )) * - 1 del tmp78 tmp81 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp312 , ( 2 , 3 , 0 , 4 ), ( 3 , 4 , 1 )) tmp85 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp84 , ( 1 , 3 ), ( 2 , 0 , 3 )) * - 4 del tmp84 tmp82 = einsum ( tmp34 , ( 0 ,), ints . tmp243 , ( 0 , 1 , 2 , 3 ), ( 1 , 2 , 3 )) tmp83 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp60 , ( 0 , 3 ), ( 1 , 2 , 3 )) tmp63 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 0 , 2 ), ( 2 , 1 )) tmp65 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 0 , 2 ), ( 2 , 1 )) tmp61 = np . copy ( ints . tmp81 ) * 2 del ints . tmp81 tmp61 += ints . tmp84 del ints . tmp84 tmp61 += v . bbb . xov tmp53 = einsum ( ints . tmp44 , ( 0 , 1 , 2 , 3 ), tmp52 , ( 0 ,), ( 1 , 2 , 3 )) tmp51 = einsum ( tmp50 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 4 del tmp50 tmp39 = einsum ( f . aa . ov , ( 0 , 1 ), tmp2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) tmp40 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp165 , ( 3 , 2 , 4 , 0 ), ( 3 , 4 , 1 )) * - 1 tmp48 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp47 , ( 0 , 3 ), ( 1 , 2 , 3 )) del tmp47 tmp42 = einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 0 ), ( 1 , 4 , 3 )) * - 1 del tmp41 tmp38 = einsum ( ints . tmp24 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 0 , 1 , 3 )) tmp25 = einsum ( r2 . aba , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 0 ), ( 2 , 3 , 1 )) tmp6 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t1 . bb , ( 3 , 0 ), ( 2 , 3 , 1 )) * - 1 tmp72 = np . copy ( f . bb . oo ) tmp72 += ints . tmp151 * 2 del ints . tmp151 tmp72 += ints . tmp154 del ints . tmp154 tmp72 += np . transpose ( ints . tmp22 , ( 1 , 0 )) del ints . tmp22 tmp80 = np . copy ( tmp74 ) del tmp74 tmp80 += tmp75 * 2 del tmp75 tmp80 += tmp76 del tmp76 tmp80 += np . transpose ( tmp77 , ( 0 , 2 , 1 )) * - 2 del tmp77 tmp80 += np . transpose ( tmp79 , ( 0 , 2 , 1 )) * 2 del tmp79 tmp73 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp86 = einsum ( f . bb . ov , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 1 , 2 )) tmp86 += tmp81 del tmp81 tmp86 += tmp82 * 2 del tmp82 tmp86 += np . transpose ( tmp83 , ( 0 , 2 , 1 )) del tmp83 tmp86 += np . transpose ( tmp85 , ( 0 , 2 , 1 )) del tmp85 tmp64 = np . copy ( ints . tmp255 ) * 2 tmp64 += ints . tmp257 tmp64 += f . bb . vv * - 1 tmp64 += np . transpose ( tmp63 , ( 1 , 0 )) del tmp63 tmp66 = np . copy ( ints . tmp58 ) * 2 tmp66 += ints . tmp61 tmp66 += f . aa . vv * - 1 tmp66 += np . transpose ( tmp65 , ( 1 , 0 )) del tmp65 tmp68 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 4 , 1 , 0 ), ( 3 , 2 , 4 )) * - 1 tmp71 = einsum ( tmp59 , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 2 , 1 ), ( 0 , 3 )) del tmp59 tmp71 += einsum ( tmp61 , ( 0 , 1 , 2 ), r2 . bab , ( 2 , 3 , 1 ), ( 0 , 3 )) * - 0.5 tmp69 = np . copy ( ints . tmp170 ) tmp69 += np . transpose ( ints . tmp52 , ( 0 , 1 , 3 , 2 )) * - 1 tmp57 = np . copy ( ints . tmp250 ) tmp57 += np . transpose ( ints . tmp319 , ( 0 , 1 , 3 , 2 )) * - 1 tmp55 = np . copy ( f . aa . oo ) tmp55 += ints . tmp148 * 2 del ints . tmp148 tmp55 += ints . tmp157 del ints . tmp157 tmp55 += np . transpose ( ints . tmp19 , ( 1 , 0 )) del ints . tmp19 tmp62 = np . copy ( tmp60 ) * - 1 del tmp60 tmp62 += einsum ( tmp61 , ( 0 , 1 , 2 ), r2 . bbb , ( 3 , 2 , 1 ), ( 0 , 3 )) * 2 del tmp61 tmp58 = np . copy ( ints . tmp163 ) * 2 tmp58 += ints . tmp47 tmp56 = einsum ( r2 . aba , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp67 = np . copy ( tmp33 ) * - 1 tmp67 += tmp34 * 2 tmp54 = einsum ( r1 . a , ( 0 ,), f . aa . ov , ( 1 , 2 ), ( 1 , 2 , 0 )) tmp54 += np . transpose ( tmp51 , ( 0 , 2 , 1 )) del tmp51 tmp54 += tmp53 del tmp53 tmp49 = np . copy ( tmp38 ) del tmp38 tmp49 += tmp39 * 2 del tmp39 tmp49 += tmp40 del tmp40 tmp49 += np . transpose ( tmp42 , ( 0 , 2 , 1 )) * - 2 del tmp42 tmp49 += np . transpose ( tmp48 , ( 0 , 2 , 1 )) del tmp48 tmp37 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) tmp9 = np . copy ( ints . tmp103 ) del ints . tmp103 tmp9 += ints . tmp111 * 0.5 del ints . tmp111 tmp9 += ints . tmp133 del ints . tmp133 tmp9 += ints . tmp139 * 0.5 del ints . tmp139 tmp9 += ints . tmp149 del ints . tmp149 tmp9 += ints . tmp158 * 0.5 del ints . tmp158 tmp9 += ints . tmp175 * 0.5 del ints . tmp175 tmp9 += ints . tmp182 * 0.5 del ints . tmp182 tmp9 += ints . tmp192 * 0.5 del ints . tmp192 tmp9 += ints . tmp20 * 0.5 del ints . tmp20 tmp9 += ints . tmp211 * 0.5 del ints . tmp211 tmp9 += ints . tmp218 * 0.5 del ints . tmp218 tmp9 += ints . tmp2 * 0.5 del ints . tmp2 tmp9 += ints . tmp36 * 0.5 del ints . tmp36 tmp9 += ints . tmp64 del ints . tmp64 tmp9 += ints . tmp73 * 0.5 del ints . tmp73 tmp9 += ints . tmp79 del ints . tmp79 tmp9 += f . aa . ov * - 0.5 tmp9 += ints . tmp106 * - 1 del ints . tmp106 tmp9 += ints . tmp115 * - 0.5 del ints . tmp115 tmp9 += ints . tmp119 * - 1 del ints . tmp119 tmp9 += ints . tmp11 * - 0.5 del ints . tmp11 tmp9 += ints . tmp122 * - 0.5 del ints . tmp122 tmp9 += ints . tmp172 * - 0.5 del ints . tmp172 tmp9 += ints . tmp190 * - 0.5 del ints . tmp190 tmp9 += ints . tmp199 * - 0.5 del ints . tmp199 tmp9 += ints . tmp208 * - 0.5 del ints . tmp208 tmp9 += ints . tmp34 * - 0.5 tmp9 += ints . tmp42 * - 0.5 tmp9 += ints . tmp5 * - 0.5 del ints . tmp5 tmp9 += ints . tmp87 * - 0.5 del ints . tmp87 tmp9 += ints . tmp8 * - 1 del ints . tmp8 tmp27 = np . copy ( ints . tmp105 ) * 0.5 tmp27 += ints . tmp113 tmp27 += ints . tmp136 tmp27 += ints . tmp142 * 0.5 tmp27 += ints . tmp152 tmp27 += ints . tmp155 * 0.5 tmp27 += ints . tmp180 * 0.5 tmp27 += ints . tmp185 * 0.5 tmp27 += ints . tmp196 * 0.5 tmp27 += ints . tmp216 * 0.5 tmp27 += ints . tmp221 * 0.5 tmp27 += ints . tmp23 * 0.5 tmp27 += ints . tmp40 * 0.5 tmp27 += ints . tmp4 * 0.5 tmp27 += ints . tmp67 tmp27 += ints . tmp70 * 0.5 tmp27 += ints . tmp82 tmp27 += f . bb . ov * - 0.5 tmp27 += ints . tmp108 * - 0.5 tmp27 += ints . tmp10 * - 0.5 tmp27 += ints . tmp117 * - 1 tmp27 += ints . tmp121 * - 0.5 tmp27 += ints . tmp124 * - 1 tmp27 += ints . tmp13 * - 1 tmp27 += ints . tmp178 * - 0.5 tmp27 += ints . tmp195 * - 0.5 tmp27 += ints . tmp198 * - 0.5 tmp27 += ints . tmp214 * - 0.5 tmp27 += ints . tmp38 * - 0.5 tmp27 += ints . tmp41 * - 0.5 tmp27 += ints . tmp7 * - 0.5 tmp27 += ints . tmp85 * - 0.5 tmp31 = np . copy ( ints . tmp138 ) del ints . tmp138 tmp31 += ints . tmp72 del ints . tmp72 tmp23 = einsum ( r2 . aba , ( 0 , 1 , 2 ), t1 . bb , ( 3 , 1 ), ( 2 , 3 , 0 )) tmp20 = np . copy ( ints . tmp236 ) * 0.5 del ints . tmp236 tmp20 += ints . tmp251 * 0.5 del ints . tmp251 tmp20 += np . transpose ( ints . tmp275 , ( 0 , 2 , 1 , 3 )) del ints . tmp275 tmp20 += np . transpose ( ints . tmp301 , ( 0 , 3 , 1 , 2 )) * 0.5 del ints . tmp301 tmp20 += np . transpose ( ints . tmp263 , ( 0 , 3 , 1 , 2 )) * - 0.5 del ints . tmp263 tmp20 += np . transpose ( ints . tmp272 , ( 0 , 3 , 1 , 2 )) * - 1 del ints . tmp272 tmp20 += np . transpose ( ints . tmp279 , ( 0 , 3 , 1 , 2 )) * - 0.5 del ints . tmp279 tmp26 = np . copy ( ints . tmp250 ) del ints . tmp250 tmp26 += ints . tmp334 del ints . tmp334 tmp26 += np . transpose ( ints . tmp319 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp319 tmp24 = np . copy ( ints . tmp309 ) del ints . tmp309 tmp24 += ints . tmp315 * 2 del ints . tmp315 tmp24 += ints . tmp335 del ints . tmp335 tmp24 += ints . tmp49 tmp24 += ints . tmp312 * - 1 tmp19 = np . copy ( ints . tmp253 ) del ints . tmp253 tmp19 += np . transpose ( ints . tmp265 , ( 0 , 1 , 3 , 2 )) del ints . tmp265 tmp19 += np . transpose ( ints . tmp271 , ( 0 , 1 , 3 , 2 )) del ints . tmp271 tmp19 += np . transpose ( ints . tmp277 , ( 0 , 1 , 3 , 2 )) * 2 del ints . tmp277 tmp19 += np . transpose ( ints . tmp303 , ( 0 , 1 , 3 , 2 )) del ints . tmp303 tmp19 += ints . tmp99 tmp19 += ints . tmp274 * - 1 del ints . tmp274 tmp19 += np . transpose ( ints . tmp281 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp281 tmp22 = np . copy ( ints . tmp243 ) tmp22 += ints . tmp310 * 2 del ints . tmp310 tmp22 += ints . tmp317 del ints . tmp317 tmp22 += np . transpose ( ints . tmp332 , ( 0 , 1 , 3 , 2 )) del ints . tmp332 tmp22 += np . transpose ( ints . tmp246 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp246 tmp22 += ints . tmp313 * - 2 del ints . tmp313 tmp22 += np . transpose ( ints . tmp330 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp330 tmp32 = np . copy ( np . transpose ( ints . tmp239 , ( 1 , 0 ))) del ints . tmp239 tmp32 += ints . tmp255 * 2 del ints . tmp255 tmp32 += ints . tmp257 del ints . tmp257 tmp32 += f . bb . vv * - 1 tmp32 += np . transpose ( ints . tmp194 , ( 1 , 0 )) * - 1 del ints . tmp194 tmp32 += np . transpose ( ints . tmp197 , ( 1 , 0 )) * - 1 del ints . tmp197 tmp36 = np . copy ( f . bb . ov ) tmp36 += ints . tmp38 tmp36 += ints . tmp41 tmp36 += ints . tmp110 * - 1 del ints . tmp110 tmp30 = einsum ( t1 . bb , ( 0 , 1 ), tmp25 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) tmp35 = einsum ( t1 . bb , ( 0 , 1 ), r1 . b , ( 1 ,), ( 0 ,)) tmp35 += tmp33 * - 1 del tmp33 tmp35 += tmp34 * 2 del tmp34 tmp29 = np . copy ( ints . tmp135 ) del ints . tmp135 tmp29 += ints . tmp66 * - 1 del ints . tmp66 tmp28 = einsum ( tmp21 , ( 0 , 1 , 2 ), t1 . bb , ( 3 , 2 ), ( 0 , 1 , 3 )) * - 1 tmp18 = np . copy ( f . aa . ov ) tmp18 += ints . tmp34 del ints . tmp34 tmp18 += ints . tmp42 del ints . tmp42 tmp18 += ints . tmp102 * - 1 del ints . tmp102 tmp8 = np . copy ( ints . tmp105 ) del ints . tmp105 tmp8 += ints . tmp113 * 2 del ints . tmp113 tmp8 += ints . tmp136 * 2 del ints . tmp136 tmp8 += ints . tmp142 del ints . tmp142 tmp8 += ints . tmp152 * 2 del ints . tmp152 tmp8 += ints . tmp155 del ints . tmp155 tmp8 += ints . tmp180 del ints . tmp180 tmp8 += ints . tmp185 del ints . tmp185 tmp8 += ints . tmp196 del ints . tmp196 tmp8 += ints . tmp216 del ints . tmp216 tmp8 += ints . tmp221 del ints . tmp221 tmp8 += ints . tmp23 del ints . tmp23 tmp8 += ints . tmp40 del ints . tmp40 tmp8 += ints . tmp4 del ints . tmp4 tmp8 += ints . tmp67 * 2 del ints . tmp67 tmp8 += ints . tmp70 del ints . tmp70 tmp8 += ints . tmp82 * 2 del ints . tmp82 tmp8 += f . bb . ov * - 1 tmp8 += ints . tmp108 * - 1 del ints . tmp108 tmp8 += ints . tmp10 * - 1 del ints . tmp10 tmp8 += ints . tmp117 * - 2 del ints . tmp117 tmp8 += ints . tmp121 * - 1 del ints . tmp121 tmp8 += ints . tmp124 * - 2 del ints . tmp124 tmp8 += ints . tmp13 * - 2 del ints . tmp13 tmp8 += ints . tmp178 * - 1 del ints . tmp178 tmp8 += ints . tmp195 * - 1 del ints . tmp195 tmp8 += ints . tmp198 * - 1 del ints . tmp198 tmp8 += ints . tmp214 * - 1 del ints . tmp214 tmp8 += ints . tmp38 * - 1 del ints . tmp38 tmp8 += ints . tmp41 * - 1 del ints . tmp41 tmp8 += ints . tmp7 * - 1 del ints . tmp7 tmp8 += ints . tmp85 * - 1 del ints . tmp85 tmp3 = np . copy ( ints . tmp160 ) * 2 del ints . tmp160 tmp3 += ints . tmp166 del ints . tmp166 tmp3 += np . transpose ( ints . tmp203 , ( 0 , 1 , 3 , 2 )) del ints . tmp203 tmp3 += ints . tmp44 tmp3 += ints . tmp163 * - 2 del ints . tmp163 tmp3 += np . transpose ( ints . tmp201 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp201 tmp3 += np . transpose ( ints . tmp47 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp47 tmp1 = np . copy ( ints . tmp144 ) * 0.5 del ints . tmp144 tmp1 += np . transpose ( ints . tmp24 , ( 0 , 2 , 3 , 1 )) * 0.5 del ints . tmp24 tmp1 += np . transpose ( ints . tmp53 , ( 0 , 2 , 3 , 1 )) * 0.5 del ints . tmp53 tmp1 += np . transpose ( ints . tmp92 , ( 0 , 1 , 3 , 2 )) del ints . tmp92 tmp1 += ints . tmp75 * - 0.5 del ints . tmp75 tmp1 += ints . tmp89 * - 1 del ints . tmp89 tmp1 += ints . tmp95 * - 0.5 del ints . tmp95 tmp11 = np . copy ( ints . tmp141 ) del ints . tmp141 tmp11 += ints . tmp69 del ints . tmp69 tmp12 = einsum ( tmp2 , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 1 , 3 )) * - 1 tmp14 = np . copy ( np . transpose ( ints . tmp31 , ( 1 , 0 ))) del ints . tmp31 tmp14 += ints . tmp58 * 2 del ints . tmp58 tmp14 += ints . tmp61 del ints . tmp61 tmp14 += f . aa . vv * - 1 tmp14 += np . transpose ( ints . tmp29 , ( 1 , 0 )) * - 1 del ints . tmp29 tmp14 += np . transpose ( ints . tmp33 , ( 1 , 0 )) * - 1 del ints . tmp33 tmp13 = np . copy ( ints . tmp132 ) del ints . tmp132 tmp13 += ints . tmp63 * - 1 del ints . tmp63 tmp7 = np . copy ( np . transpose ( ints . tmp205 , ( 0 , 1 , 3 , 2 ))) del ints . tmp205 tmp7 += np . transpose ( ints . tmp52 , ( 0 , 1 , 3 , 2 )) del ints . tmp52 tmp7 += ints . tmp170 * - 1 del ints . tmp170 tmp17 = einsum ( r1 . a , ( 0 ,), t1 . aa , ( 1 , 0 ), ( 1 ,)) tmp17 += tmp15 * 2 del tmp15 tmp17 += tmp16 del tmp16 tmp5 = np . copy ( ints . tmp162 ) del ints . tmp162 tmp5 += ints . tmp168 * 2 del ints . tmp168 tmp5 += ints . tmp206 del ints . tmp206 tmp5 += ints . tmp49 tmp5 += ints . tmp165 * - 1 tmp4 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 1 ), ( 3 , 2 , 0 )) * - 1 tmp10 = einsum ( tmp6 , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 3 , 0 , 1 )) tmp0 = np . copy ( ints . tmp146 ) del ints . tmp146 tmp0 += np . transpose ( ints . tmp26 , ( 0 , 2 , 1 , 3 )) tmp0 += np . transpose ( ints . tmp55 , ( 0 , 2 , 1 , 3 )) del ints . tmp55 tmp0 += ints . tmp77 del ints . tmp77 tmp0 += ints . tmp91 del ints . tmp91 tmp0 += ints . tmp97 * 2 del ints . tmp97 tmp0 += ints . tmp100 * - 1 del ints . tmp100 tmp0 += np . transpose ( ints . tmp94 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp94 r2new . bbb = einsum ( tmp73 , ( 0 , 1 , 2 ), ints . tmp243 , ( 1 , 2 , 3 , 4 ), ( 4 , 3 , 0 )) * - 2 del ints . tmp243 , tmp73 r2new . bbb += einsum ( ints . tmp430 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 2 , 4 ), ( 1 , 0 , 4 )) * - 2 del ints . tmp430 r2new . bbb += np . transpose ( tmp80 , ( 1 , 2 , 0 )) r2new . bbb += np . transpose ( tmp80 , ( 2 , 1 , 0 )) * - 1 del tmp80 r2new . bbb += np . transpose ( tmp86 , ( 1 , 2 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp86 , ( 2 , 1 , 0 )) del tmp86 r2new . bbb += einsum ( tmp72 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bab = einsum ( ints . tmp312 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 0 ), ( 3 , 4 , 1 )) * 2 del ints . tmp312 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp387 , ( 3 , 1 , 0 , 4 ), ( 4 , 3 , 2 )) r2new . bab += einsum ( r1 . a , ( 0 ,), ints . tmp26 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del ints . tmp26 r2new . bab += einsum ( r1 . a , ( 0 ,), f . bb . ov , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new . bab += einsum ( tmp68 , ( 0 , 1 , 2 ), ints . tmp49 , ( 0 , 2 , 3 , 4 ), ( 4 , 3 , 1 )) * - 1 del tmp68 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp69 , ( 2 , 3 , 1 , 4 ), ( 0 , 4 , 3 )) del tmp69 r2new . bab += einsum ( tmp70 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 4 , 0 ), ( 3 , 4 , 1 )) * - 1 del tmp70 r2new . bab += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp71 , ( 0 , 3 ), ( 2 , 3 , 1 )) * - 2 del tmp71 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp66 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . bab += einsum ( tmp64 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . bab += einsum ( tmp72 , ( 0 , 1 ), r2 . bab , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp72 r2new . bab += einsum ( tmp52 , ( 0 ,), ints . tmp49 , ( 0 , 1 , 2 , 3 ), ( 3 , 2 , 1 )) del tmp52 r2new . aba = einsum ( ints . tmp387 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 3 , 4 ), ( 1 , 2 , 4 )) del ints . tmp387 r2new . aba += einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp165 , ( 3 , 2 , 4 , 1 ), ( 4 , 0 , 3 )) * 2 del ints . tmp165 r2new . aba += einsum ( r1 . b , ( 0 ,), f . aa . ov , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new . aba += einsum ( ints . tmp99 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 1 , 2 , 0 )) * - 1 del ints . tmp99 r2new . aba += einsum ( tmp56 , ( 0 , 1 , 2 ), ints . tmp49 , ( 1 , 2 , 3 , 4 ), ( 3 , 4 , 0 )) del tmp56 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp57 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 3 )) * - 1 del tmp57 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp58 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 , 3 )) * - 1 del tmp58 r2new . aba += einsum ( tmp62 , ( 0 , 1 ), v . baa . xov , ( 0 , 2 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp62 r2new . aba += einsum ( tmp64 , ( 0 , 1 ), r2 . aba , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp64 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp66 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp66 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp55 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( tmp67 , ( 0 ,), ints . tmp49 , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) del ints . tmp49 , tmp67 r2new . aaa = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp365 , ( 3 , 4 , 0 , 1 ), ( 4 , 3 , 2 )) * 2 del ints . tmp365 r2new . aaa += einsum ( tmp37 , ( 0 , 1 , 2 ), ints . tmp44 , ( 2 , 1 , 3 , 4 ), ( 4 , 3 , 0 )) * 2 del ints . tmp44 , tmp37 r2new . aaa += np . transpose ( tmp49 , ( 1 , 2 , 0 )) r2new . aaa += np . transpose ( tmp49 , ( 2 , 1 , 0 )) * - 1 del tmp49 r2new . aaa += np . transpose ( tmp54 , ( 1 , 2 , 0 )) * - 1 r2new . aaa += np . transpose ( tmp54 , ( 2 , 1 , 0 )) del tmp54 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp55 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp55 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp19 , ( 2 , 0 , 3 , 1 ), ( 3 ,)) * - 1 del tmp19 r1new . b += einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 2 , 0 ), ( 1 ,)) * - 4 del tmp20 r1new . b += einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), tmp21 , ( 0 , 1 , 2 ), ( 3 ,)) * 2 del tmp21 , tmp22 r1new . b += einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), tmp23 , ( 0 , 1 , 2 ), ( 3 ,)) del tmp24 , tmp23 r1new . b += einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), tmp25 , ( 0 , 1 , 3 ), ( 2 ,)) del tmp25 , tmp26 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp27 , ( 2 , 1 ), ( 0 ,)) * - 4 del tmp27 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp9 , ( 2 , 0 ), ( 1 ,)) * 2 r1new . b += einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), tmp28 , ( 0 , 2 , 1 ), ( 3 ,)) * - 2 del tmp29 , tmp28 r1new . b += einsum ( tmp31 , ( 0 , 1 , 2 , 3 ), tmp30 , ( 0 , 1 , 2 ), ( 3 ,)) * - 1 del tmp31 , tmp30 r1new . b += einsum ( r1 . b , ( 0 ,), tmp32 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp32 r1new . b += einsum ( tmp35 , ( 0 ,), tmp36 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp35 , tmp36 r1new . a = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp0 , ( 2 , 1 , 3 , 0 ), ( 3 ,)) * - 1 del tmp0 r1new . a += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 1 , 2 , 0 ), ( 3 ,)) * 4 del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp3 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * 2 del tmp2 , tmp3 r1new . a += einsum ( tmp4 , ( 0 , 1 , 2 ), tmp5 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) * - 1 del tmp4 , tmp5 r1new . a += einsum ( tmp6 , ( 0 , 1 , 2 ), tmp7 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * - 1 del tmp6 , tmp7 r1new . a += einsum ( tmp8 , ( 0 , 1 ), r2 . bab , ( 1 , 2 , 0 ), ( 2 ,)) del tmp8 r1new . a += einsum ( tmp9 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 0 ), ( 2 ,)) * - 4 del tmp9 r1new . a += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 0 , 1 , 2 ), ( 3 ,)) del tmp11 , tmp10 r1new . a += einsum ( tmp12 , ( 0 , 1 , 2 ), tmp13 , ( 0 , 2 , 1 , 3 ), ( 3 ,)) * - 2 del tmp12 , tmp13 r1new . a += einsum ( r1 . a , ( 0 ,), tmp14 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp14 r1new . a += einsum ( tmp18 , ( 0 , 1 ), tmp17 , ( 0 ,), ( 1 ,)) * - 1 del tmp18 , tmp17 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"UDFCC2"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.energy","text":"Code generated by albert 0.0.0 on 2024-08-17T20:51:04.002416.","title":"energy"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.energy--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/UDFCC2.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:04.002416. 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 ,)) tmp3 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp1 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) * 0.5 tmp1 += tmp0 tmp5 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp4 = np . copy ( f . aa . ov ) tmp4 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp3 , ( 0 , 1 , 3 ), ( 3 , 2 )) * - 0.5 del tmp3 tmp7 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp7 += einsum ( t1 . bb , ( 0 , 1 ), tmp0 , ( 2 ,), ( 2 , 0 , 1 )) * 0.5 del tmp0 tmp2 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp2 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp2 += einsum ( tmp1 , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 0 , 1 , 2 )) del tmp1 tmp6 = np . copy ( f . bb . ov ) tmp6 += einsum ( tmp5 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) * - 0.5 del tmp5 e_cc = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp2 , ( 0 , 1 , 2 ), ()) del tmp2 e_cc += einsum ( tmp4 , ( 0 , 1 ), t1 . aa , ( 0 , 1 ), ()) del tmp4 e_cc += einsum ( t1 . bb , ( 0 , 1 ), tmp6 , ( 0 , 1 ), ()) del tmp6 e_cc += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp7 , ( 0 , 1 , 2 ), ()) del tmp7 return e_cc","title":"Returns"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-17T20:51:20.984944.","title":"update_amps"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.update_amps--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.update_amps--returns","text":"t1new : Namespace of arrays Updated T1 residuals. t2new : Namespace of arrays Updated T2 residuals. Source code in ebcc/codegen/UDFCC2.py 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:20.984944. 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 () tmp17 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp0 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp6 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t1 . bb , ( 1 , 2 ), ( 0 ,)) tmp5 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp86 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp94 = einsum ( tmp17 , ( 0 , 1 , 2 ), tmp17 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp78 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp32 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp71 = einsum ( tmp17 , ( 0 , 1 , 2 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 , 3 )) tmp50 = einsum ( t1 . aa , ( 0 , 1 ), tmp0 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) tmp15 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp37 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp47 = einsum ( tmp0 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp56 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp0 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp18 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp17 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp26 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp7 = np . copy ( tmp5 ) tmp7 += tmp6 tmp11 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp0 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp3 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp87 = einsum ( tmp86 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp86 tmp95 = einsum ( tmp94 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) del tmp94 tmp64 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 0 , 2 ), ( 2 , 1 )) tmp79 = einsum ( tmp78 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 1 , 2 , 0 , 4 )) del tmp78 tmp24 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp17 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp84 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp92 = einsum ( tmp32 , ( 0 , 1 , 2 ), tmp17 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp33 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp66 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 0 , 2 )) tmp72 = np . copy ( v . bbb . xov ) tmp72 += tmp32 tmp72 += tmp71 * - 1 tmp73 = einsum ( tmp17 , ( 0 , 1 , 2 ), tmp0 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp40 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 0 , 2 ), ( 2 , 1 )) tmp69 = np . copy ( tmp15 ) tmp69 += tmp50 * - 1 tmp62 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp67 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp43 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp0 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp16 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp45 = einsum ( tmp15 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp59 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp15 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp38 = einsum ( t1 . aa , ( 0 , 1 ), tmp37 , ( 2 , 3 , 4 , 0 ), ( 3 , 4 , 2 , 1 )) del tmp37 tmp51 = np . copy ( v . baa . xov ) tmp51 += tmp15 tmp51 += tmp50 * - 1 del tmp50 tmp48 = einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp47 tmp57 = einsum ( t1 . aa , ( 0 , 1 ), tmp56 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp56 tmp30 = np . copy ( f . bb . ov ) tmp30 += tmp18 * - 1 tmp29 = np . copy ( tmp26 ) tmp29 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * 2 tmp29 += einsum ( tmp7 , ( 0 ,), t1 . bb , ( 1 , 2 ), ( 0 , 1 , 2 )) tmp19 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp7 , ( 0 ,), ( 1 , 2 )) tmp21 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp7 , ( 0 ,), ( 1 , 2 )) tmp27 = np . copy ( t2 . bbbb ) tmp27 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 0.5 tmp4 = np . copy ( t2 . aaaa ) tmp4 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 0.5 tmp12 = np . copy ( f . aa . ov ) tmp12 += tmp11 * - 1 tmp10 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp10 += tmp3 * 0.5 tmp10 += einsum ( tmp7 , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 0 , 1 , 2 )) * 0.5 tmp88 = einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp87 tmp96 = einsum ( tmp95 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp95 tmp82 = np . copy ( f . bb . vv ) tmp82 += tmp64 * - 1 tmp97 = einsum ( tmp32 , ( 0 , 1 , 2 ), tmp32 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp80 = einsum ( tmp79 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp79 tmp98 = einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp81 = einsum ( f . bb . oo , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp85 = einsum ( tmp84 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp84 tmp93 = einsum ( tmp92 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp92 tmp91 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp32 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp90 = einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) tmp65 = np . copy ( f . bb . vv ) tmp65 += tmp64 * - 1 del tmp64 tmp83 = einsum ( tmp66 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp89 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp72 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp74 = einsum ( tmp73 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp73 tmp14 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp77 = einsum ( tmp32 , ( 0 , 1 , 2 ), tmp0 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp34 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp76 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp41 = np . copy ( f . aa . vv ) tmp41 += tmp40 * - 1 tmp75 = np . copy ( v . bbb . xov ) tmp75 += tmp32 tmp75 += tmp71 * - 1 del tmp71 tmp70 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp69 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) del tmp69 tmp63 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 1 , 0 , 2 , 4 )) del tmp62 tmp68 = einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp67 tmp2 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp0 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp54 = einsum ( tmp15 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp44 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp43 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) tmp61 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp53 = einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) tmp46 = einsum ( t1 . aa , ( 0 , 1 ), tmp45 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp45 tmp60 = einsum ( tmp59 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp59 tmp39 = einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp38 tmp55 = einsum ( tmp15 , ( 0 , 1 , 2 ), tmp15 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp52 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp51 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) del tmp51 tmp49 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp48 tmp58 = einsum ( tmp57 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp57 tmp36 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp42 = np . copy ( f . aa . vv ) tmp42 += tmp40 * - 1 del tmp40 tmp9 = np . copy ( tmp5 ) del tmp5 tmp9 += tmp6 del tmp6 tmp31 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp29 , ( 0 , 3 , 2 ), ( 1 , 3 )) del tmp29 tmp31 += einsum ( tmp30 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 0 , 2 )) del tmp30 tmp20 = np . copy ( f . bb . ov ) tmp20 += tmp18 * - 1 del tmp18 tmp20 += tmp19 del tmp19 tmp22 = np . copy ( f . aa . ov ) tmp22 += tmp11 * - 1 del tmp11 tmp22 += tmp21 del tmp21 tmp25 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp17 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp35 = np . copy ( f . bb . oo ) tmp35 += einsum ( tmp17 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 1 ), ( 2 , 3 )) * - 1 del tmp17 tmp35 += einsum ( tmp7 , ( 0 ,), v . bbb . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp28 = np . copy ( tmp26 ) del tmp26 tmp28 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp27 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * 2 del tmp27 tmp28 += einsum ( tmp7 , ( 0 ,), t1 . bb , ( 1 , 2 ), ( 0 , 1 , 2 )) tmp8 = np . copy ( tmp3 ) del tmp3 tmp8 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp4 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * 2 del tmp4 tmp8 += einsum ( tmp7 , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 0 , 1 , 2 )) tmp23 = np . copy ( f . aa . oo ) tmp23 += einsum ( tmp0 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 1 ), ( 2 , 3 )) * - 1 del tmp0 tmp23 += einsum ( tmp7 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp7 tmp13 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp10 , ( 0 , 3 , 2 ), ( 1 , 3 )) * 2 del tmp10 tmp13 += einsum ( tmp12 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) del tmp12 t2new . bbbb = np . copy ( tmp80 ) t2new . bbbb += np . transpose ( tmp81 , ( 1 , 0 , 3 , 2 )) * 2 t2new . bbbb += np . transpose ( tmp80 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp80 t2new . bbbb += np . transpose ( tmp81 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp81 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp82 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * - 2 del tmp82 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp65 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * 2 t2new . bbbb += np . transpose ( tmp83 , ( 1 , 0 , 3 , 2 )) * 2 t2new . bbbb += np . transpose ( tmp85 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp88 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += np . transpose ( tmp88 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp85 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp83 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp83 t2new . bbbb += np . transpose ( tmp85 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp88 * - 1 t2new . bbbb += np . transpose ( tmp88 , ( 0 , 1 , 3 , 2 )) del tmp88 t2new . bbbb += tmp85 del tmp85 t2new . bbbb += tmp89 t2new . bbbb += np . transpose ( tmp89 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp89 t2new . bbbb += np . transpose ( tmp90 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp90 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += tmp90 * - 1 t2new . bbbb += np . transpose ( tmp90 , ( 1 , 0 , 2 , 3 )) del tmp90 t2new . bbbb += np . transpose ( tmp91 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp93 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp93 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += tmp96 t2new . bbbb += np . transpose ( tmp96 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp96 t2new . bbbb += tmp97 t2new . bbbb += np . transpose ( tmp97 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp97 t2new . bbbb += np . transpose ( tmp91 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp91 t2new . bbbb += tmp98 * - 1 t2new . bbbb += np . transpose ( tmp98 , ( 1 , 0 , 2 , 3 )) del tmp98 t2new . bbbb += tmp93 * - 1 t2new . bbbb += np . transpose ( tmp93 , ( 1 , 0 , 2 , 3 )) del tmp93 t2new . abab = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . oo , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 t2new . abab += einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp63 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . oo , ( 4 , 0 ), ( 4 , 1 , 2 , 3 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp41 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp65 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp65 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp66 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp66 t2new . abab += einsum ( tmp68 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp68 t2new . abab += einsum ( tmp43 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp43 t2new . abab += einsum ( tmp70 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 del tmp70 t2new . abab += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp72 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) del tmp72 t2new . abab += einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 1 t2new . abab += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 t2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp74 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp74 t2new . abab += einsum ( tmp75 , ( 0 , 1 , 2 ), tmp15 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) del tmp75 t2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp2 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 t2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp76 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp76 t2new . abab += einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp77 t2new . aaaa = np . copy ( np . transpose ( tmp36 , ( 1 , 0 , 3 , 2 ))) * 2 t2new . aaaa += tmp39 t2new . aaaa += np . transpose ( tmp36 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp36 t2new . aaaa += np . transpose ( tmp39 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp39 t2new . aaaa += einsum ( tmp41 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp41 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp42 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * 2 del tmp42 t2new . aaaa += np . transpose ( tmp44 , ( 1 , 0 , 3 , 2 )) * 2 t2new . aaaa += np . transpose ( tmp46 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp49 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += np . transpose ( tmp49 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp46 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp44 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp44 t2new . aaaa += np . transpose ( tmp46 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp49 * - 1 t2new . aaaa += np . transpose ( tmp49 , ( 0 , 1 , 3 , 2 )) del tmp49 t2new . aaaa += tmp46 del tmp46 t2new . aaaa += tmp52 t2new . aaaa += np . transpose ( tmp52 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp52 t2new . aaaa += np . transpose ( tmp53 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp53 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += tmp53 * - 1 t2new . aaaa += np . transpose ( tmp53 , ( 1 , 0 , 2 , 3 )) del tmp53 t2new . aaaa += np . transpose ( tmp54 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += tmp55 t2new . aaaa += np . transpose ( tmp55 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp55 t2new . aaaa += tmp58 t2new . aaaa += np . transpose ( tmp58 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp58 t2new . aaaa += np . transpose ( tmp60 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp60 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp54 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp54 t2new . aaaa += tmp61 * - 1 t2new . aaaa += np . transpose ( tmp61 , ( 1 , 0 , 2 , 3 )) del tmp61 t2new . aaaa += tmp60 * - 1 t2new . aaaa += np . transpose ( tmp60 , ( 1 , 0 , 2 , 3 )) del tmp60 t1new . bb = np . copy ( f . bb . ov ) t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), f . bb . vv , ( 2 , 1 ), ( 0 , 2 )) t1new . bb += einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 2 del tmp24 t1new . bb += einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 del tmp25 t1new . bb += einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp28 , ( 0 , 3 , 2 ), ( 3 , 1 )) del tmp28 t1new . bb += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp9 , ( 0 ,), ( 1 , 2 )) t1new . bb += einsum ( tmp31 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp31 t1new . bb += einsum ( tmp32 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) * - 1 del tmp32 t1new . bb += einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 2 del tmp33 t1new . bb += einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 del tmp34 t1new . bb += einsum ( tmp22 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) t1new . bb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp20 , ( 1 , 3 ), ( 0 , 2 )) * 2 t1new . bb += einsum ( tmp35 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp35 t1new . aa = einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) t1new . aa += f . aa . ov t1new . aa += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 2 del tmp1 t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 del tmp2 t1new . aa += einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp8 , ( 0 , 3 , 2 ), ( 3 , 1 )) del tmp8 t1new . aa += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp9 , ( 0 ,), ( 1 , 2 )) del tmp9 t1new . aa += einsum ( tmp13 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp13 t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 del tmp14 t1new . aa += einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp15 , ( 0 , 2 , 3 ), ( 1 , 3 )) * - 1 del tmp15 t1new . aa += einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 2 del tmp16 t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp20 , ( 1 , 3 ), ( 0 , 2 )) del tmp20 t1new . aa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp22 , ( 1 , 3 ), ( 0 , 2 )) * 2 del tmp22 t1new . aa += einsum ( t1 . aa , ( 0 , 1 ), tmp23 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp23 return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.update_lams","text":"Code generated by albert 0.0.0 on 2024-08-17T20:52:47.456322.","title":"update_lams"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.update_lams--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.update_lams--returns","text":"l1new : Namespace of arrays Updated L1 residuals. l2new : Namespace of arrays Updated L2 residuals. Source code in ebcc/codegen/UDFCC2.py 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 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-17T20:52:47.456322. 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 () tmp13 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t1 . bb , ( 1 , 2 ), ( 0 ,)) tmp12 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp54 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp53 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp52 = einsum ( t1 . aa , ( 0 , 1 ), l1 . aa , ( 1 , 2 ), ( 2 , 0 )) tmp66 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) tmp65 = einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 0 ), ( 1 , 2 )) tmp67 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp27 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp7 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp4 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp14 = np . copy ( tmp12 ) tmp14 += tmp13 tmp101 = np . copy ( tmp12 ) del tmp12 tmp101 += tmp13 del tmp13 tmp1 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp48 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp55 = np . copy ( tmp52 ) * 0.5 tmp55 += tmp53 tmp55 += tmp54 * 0.5 tmp50 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 0 ), ( 2 , 4 , 3 , 1 )) tmp63 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp61 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp68 = np . copy ( tmp65 ) tmp68 += tmp66 tmp68 += tmp67 * 2 tmp156 = np . copy ( v . baa . xov ) tmp156 += tmp27 tmp158 = np . copy ( v . bbb . xov ) tmp158 += tmp7 tmp107 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp4 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp108 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp14 , ( 0 ,), ( 1 , 2 )) tmp163 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp101 , ( 0 ,), ( 1 , 2 )) tmp11 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp1 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp15 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp14 , ( 0 ,), ( 1 , 2 )) tmp17 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp43 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp41 = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 0 ), ( 2 , 1 )) tmp42 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 1 , 4 )) tmp46 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp49 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) tmp47 = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp56 = einsum ( t1 . aa , ( 0 , 1 ), tmp55 , ( 0 , 2 ), ( 2 , 1 )) tmp51 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp50 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp34 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp35 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp38 = einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp60 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) tmp64 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp63 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) tmp62 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp61 , ( 0 , 1 , 4 , 2 ), ( 4 , 3 )) tmp59 = einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) tmp69 = einsum ( tmp68 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp128 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp50 , ( 2 , 1 , 3 , 4 ), ( 0 , 3 , 4 )) tmp131 = einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 1 , 2 ), ( 4 , 0 , 3 )) tmp188 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp156 , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) tmp130 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 1 ), ( 4 , 2 , 3 )) tmp189 = einsum ( tmp158 , ( 0 , 1 , 2 ), l2 . bbbb , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) tmp129 = einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), v . bbb . xoo , ( 4 , 2 , 0 ), ( 4 , 1 , 3 )) * - 1 tmp187 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), l1 . bb , ( 2 , 3 ), ( 0 , 3 , 1 )) tmp193 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp101 , ( 0 ,), ( 1 , 2 )) tmp191 = np . copy ( v . bbb . xoo ) tmp191 += np . transpose ( tmp4 , ( 0 , 2 , 1 )) tmp109 = np . copy ( f . bb . ov ) tmp109 += tmp107 * - 1 tmp109 += tmp108 tmp200 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp7 , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp142 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp101 , ( 0 ,), ( 1 , 2 )) tmp164 = np . copy ( f . aa . ov ) tmp164 += tmp11 * - 1 tmp164 += tmp163 tmp144 = np . copy ( v . baa . xoo ) tmp144 += np . transpose ( tmp1 , ( 0 , 2 , 1 )) tmp102 = einsum ( tmp101 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp172 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp27 , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp16 = np . copy ( f . aa . ov ) tmp16 += tmp11 * - 1 tmp16 += tmp15 tmp157 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp156 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) del tmp156 tmp148 = einsum ( l1 . aa , ( 0 , 1 ), v . baa . xvv , ( 2 , 3 , 0 ), ( 2 , 1 , 3 )) tmp82 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), v . baa . xoo , ( 4 , 2 , 0 ), ( 4 , 1 , 3 )) * - 1 tmp84 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 1 , 2 ), ( 4 , 0 , 3 )) tmp85 = einsum ( tmp4 , ( 0 , 1 , 2 ), tmp61 , ( 3 , 1 , 2 , 4 ), ( 0 , 3 , 4 )) tmp159 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp158 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) del tmp158 tmp83 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp61 , ( 3 , 2 , 1 , 4 ), ( 0 , 3 , 4 )) tmp8 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp9 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp25 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp24 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp93 = np . copy ( v . bbb . xoo ) tmp93 += np . transpose ( tmp4 , ( 0 , 2 , 1 )) tmp117 = einsum ( tmp4 , ( 0 , 1 , 2 ), tmp4 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp118 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp4 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp115 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp116 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp18 = einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 2 , 3 ), ( 4 , 0 , 5 , 1 )) tmp2 = np . copy ( v . baa . xoo ) tmp2 += tmp1 tmp5 = np . copy ( v . bbb . xoo ) tmp5 += tmp4 tmp137 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp138 = einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp44 = np . copy ( tmp41 ) del tmp41 tmp44 += tmp42 tmp44 += tmp43 * 2 tmp74 = np . copy ( tmp65 ) tmp74 += tmp66 del tmp66 tmp74 += np . transpose ( tmp67 , ( 1 , 0 )) * 2 del tmp67 tmp72 = np . copy ( tmp52 ) * 0.5 tmp72 += tmp53 tmp72 += np . transpose ( tmp54 , ( 1 , 0 )) * 0.5 tmp57 = np . copy ( np . transpose ( l1 . aa , ( 1 , 0 ))) * - 0.5 tmp57 += t1 . aa * - 0.5 tmp57 += tmp46 * - 1 tmp57 += tmp47 * - 0.5 tmp57 += tmp49 tmp57 += tmp51 * 0.5 tmp57 += tmp56 tmp39 = np . copy ( tmp38 ) * 0.5 del tmp38 tmp39 += tmp34 tmp39 += np . transpose ( tmp35 , ( 1 , 0 )) * 0.5 tmp70 = np . copy ( np . transpose ( l1 . bb , ( 1 , 0 ))) * - 1 tmp70 += t1 . bb * - 1 tmp70 += tmp59 * - 1 tmp70 += tmp60 * - 2 tmp70 += tmp62 tmp70 += tmp64 * 2 tmp70 += tmp69 tmp19 = np . copy ( v . baa . xoo ) tmp19 += np . transpose ( tmp1 , ( 0 , 2 , 1 )) tmp30 = einsum ( tmp1 , ( 0 , 1 , 2 ), tmp1 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp29 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp28 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp31 = einsum ( tmp1 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp96 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp95 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp112 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp149 = np . copy ( v . baa . xov ) tmp149 += tmp27 tmp150 = np . copy ( v . bbb . xov ) tmp150 += tmp7 tmp190 = np . copy ( tmp187 ) tmp190 += tmp128 * - 1 tmp190 += tmp129 * - 2 tmp190 += tmp130 * - 1 tmp190 += tmp131 * - 2 tmp190 += tmp188 del tmp188 tmp190 += tmp189 * 2 del tmp189 tmp123 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp202 = np . copy ( f . bb . ov ) tmp202 += tmp107 * - 1 tmp202 += tmp193 tmp192 = einsum ( tmp191 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp125 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp14 , ( 0 ,), ( 1 , 2 )) tmp126 = einsum ( tmp109 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 0 , 2 )) tmp209 = einsum ( tmp191 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp219 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp206 = einsum ( tmp65 , ( 0 , 1 ), v . bbb . xov , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) del tmp65 tmp208 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp207 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp201 = np . copy ( f . bb . vv ) tmp201 += np . transpose ( tmp200 , ( 1 , 0 )) * - 1 tmp201 += np . transpose ( tmp142 , ( 1 , 0 )) tmp198 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp88 = einsum ( tmp61 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp77 = einsum ( tmp1 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp162 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp101 , ( 0 ,), ( 1 , 2 )) tmp165 = einsum ( tmp164 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp173 = einsum ( tmp14 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp182 = einsum ( tmp52 , ( 0 , 1 ), v . baa . xov , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) tmp184 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp1 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp145 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp144 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp180 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp176 = np . copy ( f . aa . vv ) tmp176 += np . transpose ( tmp172 , ( 1 , 0 )) * - 1 tmp176 += np . transpose ( tmp102 , ( 1 , 0 )) tmp80 = einsum ( tmp16 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp79 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp14 , ( 0 ,), ( 1 , 2 )) tmp22 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp160 = np . copy ( tmp148 ) tmp160 += tmp82 * - 2 tmp160 += tmp83 * - 1 tmp160 += tmp84 * - 2 tmp160 += tmp85 * - 1 tmp160 += tmp157 * 2 del tmp157 tmp160 += tmp159 del tmp159 tmp154 = einsum ( tmp144 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp169 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp10 = np . copy ( v . bbb . xov ) tmp10 += tmp7 tmp10 += tmp8 tmp10 += tmp9 * 2 tmp86 = np . copy ( v . baa . xov ) tmp86 += tmp27 tmp86 += tmp24 * 2 tmp86 += tmp25 tmp124 = np . copy ( tmp8 ) * 0.5 tmp124 += tmp9 tmp113 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp93 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp119 = np . copy ( np . transpose ( tmp115 , ( 3 , 2 , 1 , 0 ))) tmp119 += einsum ( tmp116 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 2 , 3 ), ( 1 , 0 , 4 , 5 )) tmp119 += np . transpose ( tmp117 , ( 2 , 3 , 1 , 0 )) tmp119 += np . transpose ( tmp118 , ( 1 , 3 , 0 , 2 )) tmp119 += np . transpose ( tmp118 , ( 3 , 2 , 0 , 1 )) * - 1 tmp114 = np . copy ( v . bbb . xov ) tmp114 += tmp8 del tmp8 tmp114 += tmp9 * 2 del tmp9 tmp104 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp110 = np . copy ( np . transpose ( tmp18 , ( 1 , 0 , 2 , 3 ))) tmp110 += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp93 , ( 0 , 3 , 4 ), ( 2 , 1 , 4 , 3 )) tmp105 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp2 , ( 0 , 3 , 4 ), ( 4 , 3 , 1 , 2 )) tmp106 = einsum ( tmp5 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) tmp133 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 5 , 1 ), ( 3 , 4 , 0 , 5 )) tmp94 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 0 , 1 ), ( 2 , 4 , 3 , 5 )) tmp136 = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 1 , 3 , 4 )) tmp136 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp50 , ( 0 , 4 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) * - 1 tmp140 = np . copy ( t1 . bb ) * - 1 tmp140 += tmp59 * - 1 del tmp59 tmp140 += tmp60 * - 2 del tmp60 tmp140 += tmp62 del tmp62 tmp140 += tmp64 * 2 del tmp64 tmp140 += tmp69 del tmp69 tmp135 = einsum ( l1 . bb , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) * - 1 tmp135 += einsum ( tmp61 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 3 , 5 ), ( 1 , 2 , 4 , 5 )) * 0.5 tmp135 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp63 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 2 tmp134 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 5 ), ( 3 , 4 , 1 , 5 )) tmp134 += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 5 , 0 )) * 4 tmp139 = np . copy ( np . transpose ( tmp137 , ( 1 , 0 , 3 , 2 ))) del tmp137 tmp139 += np . transpose ( tmp138 , ( 0 , 1 , 3 , 2 )) * - 1 tmp45 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp44 , ( 2 , 1 ), ( 0 ,)) del tmp44 tmp75 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp74 , ( 2 , 1 ), ( 0 ,)) del tmp74 tmp73 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp72 , ( 2 , 1 ), ( 0 ,)) * 2 del tmp72 tmp58 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp57 , ( 1 , 2 ), ( 0 ,)) * 2 del tmp57 tmp40 = einsum ( tmp39 , ( 0 , 1 ), v . baa . xvv , ( 2 , 1 , 0 ), ( 2 ,)) * 2 del tmp39 tmp71 = einsum ( tmp70 , ( 0 , 1 ), v . bbb . xov , ( 2 , 0 , 1 ), ( 2 ,)) del tmp70 tmp121 = np . copy ( tmp42 ) del tmp42 tmp121 += tmp43 * 2 del tmp43 tmp26 = np . copy ( v . baa . xov ) tmp26 += tmp24 * 2 tmp26 += tmp25 tmp23 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp32 = np . copy ( np . transpose ( tmp28 , ( 3 , 2 , 1 , 0 ))) tmp32 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp29 , ( 4 , 5 , 2 , 3 ), ( 5 , 4 , 0 , 1 )) tmp32 += np . transpose ( tmp30 , ( 2 , 3 , 1 , 0 )) tmp32 += np . transpose ( tmp31 , ( 1 , 3 , 0 , 2 )) tmp32 += np . transpose ( tmp31 , ( 3 , 2 , 0 , 1 )) * - 1 tmp20 = np . copy ( np . transpose ( tmp18 , ( 0 , 1 , 3 , 2 ))) del tmp18 tmp20 += einsum ( tmp5 , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 4 , 3 , 2 , 1 )) tmp0 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp3 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp2 , ( 0 , 3 , 4 ), ( 4 , 3 , 1 , 2 )) tmp6 = einsum ( tmp5 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 2 , 1 , 4 )) tmp36 = np . copy ( tmp34 ) del tmp34 tmp36 += tmp35 * 0.5 del tmp35 tmp78 = np . copy ( tmp24 ) * 2 del tmp24 tmp78 += tmp25 del tmp25 tmp98 = np . copy ( t1 . aa ) * - 0.5 tmp98 += tmp46 * - 1 del tmp46 tmp98 += tmp47 * - 0.5 del tmp47 tmp98 += tmp49 del tmp49 tmp98 += tmp51 * 0.5 del tmp51 tmp98 += tmp56 del tmp56 tmp91 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) * - 1 tmp91 += einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) * - 2 tmp91 += einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) * 0.5 tmp97 = np . copy ( np . transpose ( tmp95 , ( 1 , 0 , 3 , 2 ))) del tmp95 tmp97 += np . transpose ( tmp96 , ( 0 , 1 , 3 , 2 )) * - 1 tmp89 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 5 ), ( 2 , 4 , 1 , 5 )) tmp92 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 2 , 4 ), ( 4 , 0 , 1 , 3 )) tmp92 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp61 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) * - 1 tmp90 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp90 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 2 , 4 )) * 0.25 tmp217 = einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), tmp112 , ( 2 , 4 , 3 , 5 ), ( 1 , 0 , 5 , 4 )) tmp224 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp118 , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) del tmp118 tmp212 = np . copy ( tmp187 ) * 0.5 del tmp187 tmp212 += tmp128 * - 0.5 tmp212 += tmp129 * - 1 tmp212 += tmp130 * - 0.5 tmp212 += tmp131 * - 1 tmp212 += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp149 , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) * 0.5 tmp212 += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp150 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) tmp211 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp93 , ( 0 , 3 , 4 ), ( 4 , 3 , 1 , 2 )) tmp215 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp190 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp216 = np . copy ( f . bb . oo ) tmp216 += tmp123 * - 1 tmp216 += einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp101 , ( 0 ,), ( 1 , 2 )) del tmp101 tmp216 += einsum ( t1 . bb , ( 0 , 1 ), tmp202 , ( 2 , 1 ), ( 0 , 2 )) tmp214 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp192 , ( 4 , 3 , 1 , 5 ), ( 4 , 2 , 5 , 0 )) tmp222 = einsum ( tmp202 , ( 0 , 1 ), tmp63 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp196 = np . copy ( f . bb . oo ) tmp196 += tmp123 * - 1 tmp196 += np . transpose ( tmp125 , ( 1 , 0 )) tmp196 += np . transpose ( tmp126 , ( 1 , 0 )) tmp194 = np . copy ( f . bb . ov ) tmp194 += tmp193 del tmp193 tmp210 = einsum ( tmp209 , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp220 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp219 , ( 4 , 5 , 1 , 0 ), ( 2 , 3 , 4 , 5 )) del tmp219 tmp227 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp206 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp228 = einsum ( tmp208 , ( 0 , 1 , 2 , 3 ), tmp63 , ( 1 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) * - 1 tmp218 = einsum ( tmp138 , ( 0 , 1 , 2 , 3 ), tmp116 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp138 tmp225 = np . copy ( np . transpose ( tmp115 , ( 3 , 2 , 1 , 0 ))) del tmp115 tmp225 += np . transpose ( tmp117 , ( 0 , 3 , 1 , 2 )) del tmp117 tmp226 = einsum ( tmp207 , ( 0 , 1 , 2 , 3 ), tmp63 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp223 = einsum ( tmp201 , ( 0 , 1 ), l2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) * - 1 tmp213 = np . copy ( f . bb . ov ) tmp213 += tmp108 del tmp108 tmp221 = np . copy ( f . bb . vv ) tmp221 += np . transpose ( tmp200 , ( 1 , 0 )) * - 1 del tmp200 tmp221 += einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp14 , ( 0 ,), ( 1 , 2 )) del tmp14 tmp205 = einsum ( tmp144 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) tmp203 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp144 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) del tmp144 tmp199 = einsum ( tmp198 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 1 , 2 , 4 , 5 ), ( 4 , 5 , 0 , 3 )) del tmp198 tmp195 = einsum ( tmp191 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) del tmp191 tmp197 = einsum ( tmp88 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) tmp166 = np . copy ( f . aa . oo ) tmp166 += tmp77 * - 1 tmp166 += np . transpose ( tmp162 , ( 1 , 0 )) del tmp162 tmp166 += np . transpose ( tmp165 , ( 1 , 0 )) del tmp165 tmp186 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp93 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp204 = einsum ( tmp19 , ( 0 , 1 , 2 ), tmp93 , ( 0 , 3 , 4 ), ( 2 , 1 , 4 , 3 )) tmp174 = np . copy ( f . aa . vv ) tmp174 += np . transpose ( tmp172 , ( 1 , 0 )) * - 1 del tmp172 tmp174 += np . transpose ( tmp173 , ( 1 , 0 )) del tmp173 tmp167 = np . copy ( f . aa . ov ) tmp167 += tmp163 del tmp163 tmp151 = np . copy ( tmp148 ) * 0.5 del tmp148 tmp151 += tmp82 * - 1 tmp151 += tmp83 * - 0.5 tmp151 += tmp84 * - 1 tmp151 += tmp85 * - 0.5 tmp151 += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp149 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) del tmp149 tmp151 += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp150 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) * 0.5 del tmp150 tmp171 = einsum ( tmp96 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp96 tmp183 = einsum ( tmp182 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp185 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), tmp184 , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 3 , 5 )) tmp146 = einsum ( l1 . aa , ( 0 , 1 ), tmp145 , ( 2 , 1 , 3 , 4 ), ( 3 , 2 , 4 , 0 )) tmp178 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp31 , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) del tmp31 tmp153 = np . copy ( f . aa . ov ) tmp153 += tmp15 del tmp15 tmp181 = einsum ( tmp180 , ( 0 , 1 , 2 , 3 ), tmp48 , ( 1 , 4 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) * - 1 tmp177 = einsum ( tmp176 , ( 0 , 1 ), l2 . aaaa , ( 2 , 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) * - 1 del tmp176 tmp152 = np . copy ( f . aa . oo ) tmp152 += tmp77 * - 1 tmp152 += np . transpose ( tmp79 , ( 1 , 0 )) tmp152 += tmp80 tmp168 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), tmp48 , ( 4 , 5 , 0 , 2 ), ( 5 , 4 , 3 , 1 )) tmp179 = np . copy ( np . transpose ( tmp28 , ( 3 , 2 , 1 , 0 ))) del tmp28 tmp179 += np . transpose ( tmp30 , ( 0 , 3 , 1 , 2 )) del tmp30 tmp161 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp160 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp155 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp154 , ( 4 , 3 , 1 , 5 ), ( 4 , 2 , 5 , 0 )) tmp175 = einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), tmp164 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp147 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 4 , 3 , 1 , 2 )) tmp170 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp169 , ( 4 , 5 , 1 , 0 ), ( 2 , 3 , 4 , 5 )) del tmp169 tmp132 = np . copy ( tmp128 ) * - 1 del tmp128 tmp132 += tmp129 * - 2 del tmp129 tmp132 += tmp130 * - 1 del tmp130 tmp132 += tmp131 * - 2 del tmp131 tmp132 += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp86 , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) tmp132 += einsum ( tmp10 , ( 0 , 1 , 2 ), l2 . bbbb , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) * 2 tmp143 = np . copy ( f . bb . vv ) tmp143 += np . transpose ( tmp142 , ( 1 , 0 )) del tmp142 tmp127 = np . copy ( f . bb . oo ) tmp127 += tmp123 * - 1 del tmp123 tmp127 += einsum ( tmp124 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) * 2 del tmp124 tmp127 += np . transpose ( tmp125 , ( 1 , 0 )) del tmp125 tmp127 += np . transpose ( tmp126 , ( 1 , 0 )) del tmp126 tmp120 = einsum ( tmp112 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) * 0.5 del tmp112 tmp120 += einsum ( tmp113 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * - 1 tmp120 += einsum ( tmp5 , ( 0 , 1 , 2 ), tmp114 , ( 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * 0.5 del tmp114 tmp120 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp109 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) * 0.5 tmp120 += einsum ( tmp5 , ( 0 , 1 , 2 ), tmp7 , ( 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 0.5 tmp120 += einsum ( tmp119 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) * - 0.5 del tmp119 tmp111 = einsum ( tmp104 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp111 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp105 , ( 0 , 4 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) * - 1 del tmp105 tmp111 += einsum ( tmp106 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 2 , 1 , 5 )) * - 1 del tmp106 tmp111 += einsum ( tmp5 , ( 0 , 1 , 2 ), tmp86 , ( 0 , 3 , 4 ), ( 3 , 2 , 1 , 4 )) tmp111 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp109 , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp111 += einsum ( t1 . aa , ( 0 , 1 ), tmp110 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 1 del tmp110 tmp141 = einsum ( l1 . bb , ( 0 , 1 ), tmp7 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * 0.5 del tmp7 tmp141 += einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp88 , ( 2 , 1 , 3 , 4 ), ( 0 , 4 , 3 )) * - 0.5 tmp141 += einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp133 , ( 3 , 4 , 1 , 2 ), ( 0 , 4 , 3 )) * 0.5 del tmp133 tmp141 += einsum ( tmp88 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 1 ), ( 4 , 3 , 2 )) * - 0.5 tmp141 += einsum ( tmp134 , ( 0 , 1 , 2 , 3 ), v . bbb . xvv , ( 4 , 2 , 3 ), ( 4 , 1 , 0 )) * 0.5 del tmp134 tmp141 += einsum ( tmp86 , ( 0 , 1 , 2 ), tmp61 , ( 1 , 3 , 4 , 2 ), ( 0 , 4 , 3 )) * 0.5 tmp141 += einsum ( tmp10 , ( 0 , 1 , 2 ), tmp63 , ( 1 , 3 , 4 , 2 ), ( 0 , 4 , 3 )) del tmp63 tmp141 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp135 , ( 3 , 1 , 4 , 2 ), ( 0 , 4 , 3 )) * - 1 del tmp135 tmp141 += einsum ( tmp136 , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 0 , 3 ), ( 4 , 2 , 1 )) * 0.5 del tmp136 tmp141 += einsum ( tmp94 , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 1 , 0 ), ( 4 , 3 , 2 )) * - 0.5 del tmp19 tmp141 += einsum ( tmp139 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 0 , 2 ), ( 4 , 3 , 1 )) * - 1 tmp141 += einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp139 , ( 1 , 3 , 2 , 4 ), ( 0 , 4 , 3 )) * - 1 del tmp139 tmp141 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp140 , ( 3 , 2 ), ( 0 , 3 , 1 )) * - 0.5 del tmp140 tmp141 += einsum ( tmp68 , ( 0 , 1 ), v . bbb . xoo , ( 2 , 3 , 0 ), ( 2 , 1 , 3 )) * - 0.5 tmp76 = np . copy ( tmp40 ) del tmp40 tmp76 += tmp45 del tmp45 tmp76 += tmp58 * - 1 del tmp58 tmp76 += tmp71 * - 1 del tmp71 tmp76 += tmp73 * - 1 del tmp73 tmp76 += tmp75 * - 1 del tmp75 tmp122 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp121 , ( 3 , 2 ), ( 0 , 1 , 3 )) del tmp121 tmp122 += einsum ( tmp5 , ( 0 , 1 , 2 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 , 3 )) del tmp5 tmp33 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp22 , ( 4 , 5 , 2 , 3 ), ( 4 , 0 , 1 , 5 )) del tmp22 tmp33 += einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * - 2 tmp33 += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp26 , ( 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp26 tmp33 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp33 += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 tmp33 += einsum ( t1 . aa , ( 0 , 1 ), tmp32 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 1 del tmp32 tmp87 = np . copy ( tmp82 ) * - 1 del tmp82 tmp87 += tmp83 * - 0.5 del tmp83 tmp87 += tmp84 * - 1 del tmp84 tmp87 += tmp85 * - 0.5 del tmp85 tmp87 += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp86 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) tmp87 += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) * 0.5 tmp103 = np . copy ( f . aa . vv ) tmp103 += np . transpose ( tmp102 , ( 1 , 0 )) del tmp102 tmp21 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 1 , 5 )) * 0.5 tmp21 += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 3 , 5 ), ( 2 , 1 , 4 , 5 )) * - 0.5 del tmp3 tmp21 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) * - 0.5 del tmp6 tmp21 += einsum ( tmp10 , ( 0 , 1 , 2 ), tmp2 , ( 0 , 3 , 4 ), ( 4 , 3 , 1 , 2 )) * 0.5 tmp21 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) * 0.5 tmp21 += einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) * - 0.5 del tmp20 tmp37 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp36 , ( 3 , 2 ), ( 0 , 1 , 3 )) * 2 del tmp36 tmp37 += einsum ( tmp2 , ( 0 , 1 , 2 ), l1 . aa , ( 3 , 1 ), ( 0 , 2 , 3 )) del tmp2 tmp81 = np . copy ( f . aa . oo ) tmp81 += tmp77 * - 1 del tmp77 tmp81 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp78 , ( 0 , 3 , 2 ), ( 3 , 1 )) del tmp78 tmp81 += np . transpose ( tmp79 , ( 1 , 0 )) del tmp79 tmp81 += tmp80 del tmp80 tmp100 = np . copy ( tmp52 ) del tmp52 tmp100 += tmp53 * 2 del tmp53 tmp100 += tmp54 del tmp54 tmp99 = einsum ( tmp27 , ( 0 , 1 , 2 ), l1 . aa , ( 2 , 3 ), ( 0 , 1 , 3 )) del tmp27 tmp99 += einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp88 , ( 3 , 4 , 2 , 1 ), ( 0 , 4 , 3 )) * - 1 tmp99 += einsum ( tmp89 , ( 0 , 1 , 2 , 3 ), v . bbb . xvv , ( 4 , 2 , 3 ), ( 4 , 1 , 0 )) del tmp89 tmp99 += einsum ( tmp4 , ( 0 , 1 , 2 ), tmp88 , ( 3 , 4 , 1 , 2 ), ( 0 , 4 , 3 )) * - 1 del tmp4 , tmp88 tmp99 += einsum ( tmp90 , ( 0 , 1 , 2 , 3 ), v . baa . xvv , ( 4 , 3 , 2 ), ( 4 , 1 , 0 )) * 4 del tmp90 tmp99 += einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), tmp86 , ( 4 , 0 , 3 ), ( 4 , 2 , 1 )) * 2 del tmp48 , tmp86 tmp99 += einsum ( tmp10 , ( 0 , 1 , 2 ), tmp50 , ( 3 , 4 , 1 , 2 ), ( 0 , 4 , 3 )) del tmp10 tmp99 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp91 , ( 3 , 1 , 4 , 2 ), ( 0 , 4 , 3 )) * - 2 del tmp91 tmp99 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp92 , ( 3 , 4 , 1 , 2 ), ( 0 , 4 , 3 )) del tmp92 tmp99 += einsum ( tmp94 , ( 0 , 1 , 2 , 3 ), tmp93 , ( 4 , 3 , 2 ), ( 4 , 1 , 0 )) * - 1 del tmp93 , tmp94 tmp99 += einsum ( tmp1 , ( 0 , 1 , 2 ), tmp97 , ( 1 , 3 , 2 , 4 ), ( 0 , 4 , 3 )) * - 2 del tmp1 tmp99 += einsum ( tmp97 , ( 0 , 1 , 2 , 3 ), v . baa . xoo , ( 4 , 0 , 2 ), ( 4 , 3 , 1 )) * - 2 del tmp97 tmp99 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp98 , ( 3 , 2 ), ( 0 , 3 , 1 )) * - 2 del tmp98 tmp99 += einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp55 , ( 2 , 3 ), ( 0 , 3 , 1 )) * - 2 del tmp55 l2new . bbbb = np . copy ( np . transpose ( tmp116 , ( 3 , 2 , 1 , 0 ))) l2new . bbbb += einsum ( tmp113 , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 2 ), ( 3 , 4 , 0 , 1 )) * - 1 del tmp113 l2new . bbbb += np . transpose ( tmp116 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp116 l2new . bbbb += np . transpose ( tmp210 , ( 3 , 2 , 0 , 1 )) l2new . bbbb += einsum ( tmp211 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 5 , 0 ), ( 2 , 4 , 5 , 1 )) * 2 del tmp211 l2new . bbbb += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp212 , ( 0 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 2 del tmp212 l2new . bbbb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp196 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp213 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * - 1 del tmp213 l2new . bbbb += np . transpose ( tmp214 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp215 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += einsum ( tmp216 , ( 0 , 1 ), l2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp216 l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp194 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) l2new . bbbb += np . transpose ( tmp214 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . bbbb += np . transpose ( tmp215 , ( 2 , 3 , 0 , 1 )) l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp194 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) l2new . bbbb += np . transpose ( tmp214 , ( 3 , 2 , 0 , 1 )) * 2 del tmp214 l2new . bbbb += np . transpose ( tmp215 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp215 l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp194 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp217 , ( 2 , 3 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp218 , ( 3 , 2 , 1 , 0 )) * 2 del tmp218 l2new . bbbb += np . transpose ( tmp220 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp220 l2new . bbbb += einsum ( tmp221 , ( 0 , 1 ), l2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp221 l2new . bbbb += np . transpose ( tmp222 , ( 2 , 3 , 1 , 0 )) * - 2 l2new . bbbb += np . transpose ( tmp223 , ( 2 , 3 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp217 , ( 3 , 2 , 1 , 0 )) * - 2 del tmp217 l2new . bbbb += np . transpose ( tmp223 , ( 3 , 2 , 1 , 0 )) * 2 del tmp223 l2new . bbbb += np . transpose ( tmp222 , ( 3 , 2 , 1 , 0 )) * 2 del tmp222 l2new . bbbb += np . transpose ( tmp224 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp224 , ( 2 , 3 , 1 , 0 )) * 2 del tmp224 l2new . bbbb += einsum ( tmp225 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) * - 2 del tmp225 l2new . bbbb += einsum ( tmp209 , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 1 ), ( 3 , 4 , 0 , 2 )) del tmp209 l2new . bbbb += np . transpose ( tmp210 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp210 l2new . bbbb += np . transpose ( tmp226 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . bbbb += einsum ( tmp107 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) l2new . bbbb += np . transpose ( tmp227 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp228 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp226 , ( 2 , 3 , 0 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp227 , ( 2 , 3 , 0 , 1 )) l2new . bbbb += einsum ( tmp107 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp228 , ( 2 , 3 , 0 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp226 , ( 3 , 2 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp227 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp107 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp228 , ( 3 , 2 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp226 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp226 l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp107 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) l2new . bbbb += np . transpose ( tmp227 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp227 l2new . bbbb += np . transpose ( tmp228 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp228 l2new . abab = np . copy ( np . transpose ( tmp17 , ( 2 , 3 , 0 , 1 ))) del tmp17 l2new . abab += einsum ( tmp186 , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 2 ), ( 3 , 4 , 0 , 1 )) * - 1 l2new . abab += einsum ( tmp154 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) * - 1 del tmp154 l2new . abab += einsum ( tmp190 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) del tmp190 l2new . abab += einsum ( tmp166 , ( 0 , 1 ), l2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 l2new . abab += einsum ( tmp167 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) l2new . abab += einsum ( tmp192 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) * - 1 del tmp192 l2new . abab += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp160 , ( 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) del tmp160 l2new . abab += einsum ( l1 . aa , ( 0 , 1 ), tmp194 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) del tmp194 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp195 , ( 3 , 4 , 0 , 5 ), ( 5 , 1 , 2 , 4 )) * - 1 del tmp195 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp196 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 1 del tmp196 l2new . abab += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), tmp50 , ( 4 , 0 , 5 , 2 ), ( 1 , 3 , 4 , 5 )) * - 1 del tmp0 l2new . abab += np . transpose ( tmp197 , ( 2 , 3 , 0 , 1 )) del tmp197 l2new . abab += np . transpose ( tmp199 , ( 2 , 3 , 0 , 1 )) del tmp199 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp174 , ( 0 , 4 ), ( 4 , 1 , 2 , 3 )) l2new . abab += einsum ( tmp164 , ( 0 , 1 ), tmp50 , ( 2 , 0 , 3 , 4 ), ( 1 , 4 , 2 , 3 )) * - 1 del tmp164 l2new . abab += einsum ( tmp104 , ( 0 , 1 , 2 , 3 ), tmp61 , ( 4 , 5 , 0 , 2 ), ( 1 , 3 , 4 , 5 )) * - 1 del tmp104 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp201 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) del tmp201 l2new . abab += einsum ( tmp61 , ( 0 , 1 , 2 , 3 ), tmp202 , ( 2 , 4 ), ( 3 , 4 , 0 , 1 )) * - 1 del tmp202 l2new . abab += einsum ( tmp203 , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 4 , 1 ), ( 4 , 3 , 0 , 2 )) * - 1 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp204 , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp204 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp205 , ( 2 , 4 , 1 , 5 ), ( 0 , 5 , 4 , 3 )) * - 1 del tmp205 l2new . abab += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp182 , ( 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) * - 1 del tmp182 l2new . abab += einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), tmp186 , ( 1 , 4 , 2 , 5 ), ( 5 , 3 , 0 , 4 )) del tmp186 l2new . abab += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp206 , ( 0 , 3 , 4 ), ( 2 , 4 , 1 , 3 )) * - 1 del tmp206 l2new . abab += einsum ( tmp203 , ( 0 , 1 , 2 , 3 ), tmp61 , ( 1 , 4 , 2 , 5 ), ( 5 , 3 , 0 , 4 )) del tmp203 l2new . abab += einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), tmp184 , ( 0 , 1 , 4 , 5 ), ( 5 , 3 , 4 , 2 )) del tmp184 l2new . abab += einsum ( tmp180 , ( 0 , 1 , 2 , 3 ), tmp50 , ( 1 , 2 , 4 , 5 ), ( 3 , 5 , 0 , 4 )) del tmp50 , tmp180 l2new . abab += einsum ( tmp11 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 l2new . abab += einsum ( tmp107 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 del tmp107 l2new . abab += einsum ( tmp61 , ( 0 , 1 , 2 , 3 ), tmp207 , ( 1 , 2 , 4 , 5 ), ( 3 , 5 , 0 , 4 )) del tmp207 l2new . abab += einsum ( tmp61 , ( 0 , 1 , 2 , 3 ), tmp208 , ( 4 , 1 , 2 , 5 ), ( 3 , 5 , 0 , 4 )) del tmp61 , tmp208 l2new . aaaa = np . copy ( np . transpose ( tmp29 , ( 3 , 2 , 1 , 0 ))) l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp23 , ( 2 , 3 , 1 , 4 ), ( 4 , 0 , 2 , 3 )) * - 1 del tmp23 l2new . aaaa += np . transpose ( tmp29 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp29 l2new . aaaa += np . transpose ( tmp146 , ( 3 , 2 , 0 , 1 )) l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp147 , ( 3 , 4 , 5 , 1 ), ( 5 , 0 , 2 , 4 )) * 2 del tmp147 l2new . aaaa += einsum ( tmp151 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 4 , 2 , 1 , 3 )) * - 2 del tmp151 l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp152 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp152 l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp153 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * - 1 del tmp153 l2new . aaaa += np . transpose ( tmp155 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp161 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp166 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * 2 del tmp166 l2new . aaaa += einsum ( tmp167 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) l2new . aaaa += np . transpose ( tmp155 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . aaaa += np . transpose ( tmp161 , ( 2 , 3 , 0 , 1 )) l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp167 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) l2new . aaaa += np . transpose ( tmp155 , ( 3 , 2 , 0 , 1 )) * 2 del tmp155 l2new . aaaa += np . transpose ( tmp161 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp161 l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp167 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) * - 1 del tmp167 l2new . aaaa += np . transpose ( tmp168 , ( 2 , 3 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp170 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp170 l2new . aaaa += np . transpose ( tmp171 , ( 3 , 2 , 1 , 0 )) * 2 del tmp171 l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp174 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) * - 1 del tmp174 l2new . aaaa += np . transpose ( tmp175 , ( 2 , 3 , 1 , 0 )) * - 2 l2new . aaaa += np . transpose ( tmp177 , ( 2 , 3 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp168 , ( 3 , 2 , 1 , 0 )) * - 2 del tmp168 l2new . aaaa += np . transpose ( tmp177 , ( 3 , 2 , 1 , 0 )) * 2 del tmp177 l2new . aaaa += np . transpose ( tmp175 , ( 3 , 2 , 1 , 0 )) * 2 del tmp175 l2new . aaaa += np . transpose ( tmp178 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp178 , ( 2 , 3 , 1 , 0 )) * 2 del tmp178 l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp179 , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) * - 2 del tmp179 l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp145 , ( 2 , 1 , 3 , 4 ), ( 4 , 0 , 2 , 3 )) del tmp145 l2new . aaaa += np . transpose ( tmp146 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp146 l2new . aaaa += np . transpose ( tmp181 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) l2new . aaaa += np . transpose ( tmp183 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp185 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp181 , ( 2 , 3 , 0 , 1 )) * 2 l2new . aaaa += np . transpose ( tmp183 , ( 2 , 3 , 0 , 1 )) l2new . aaaa += einsum ( tmp11 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp185 , ( 2 , 3 , 0 , 1 )) * 2 l2new . aaaa += np . transpose ( tmp181 , ( 3 , 2 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp183 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp185 , ( 3 , 2 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp181 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp181 l2new . aaaa += einsum ( tmp11 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) del tmp11 l2new . aaaa += np . transpose ( tmp183 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp183 l2new . aaaa += np . transpose ( tmp185 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp185 l1new . bb = np . copy ( np . transpose ( f . bb . ov , ( 1 , 0 ))) l1new . bb += einsum ( tmp111 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 3 , 4 , 0 , 2 ), ( 4 , 1 )) * - 1 del tmp111 l1new . bb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp120 , ( 4 , 2 , 3 , 1 ), ( 0 , 4 )) * 4 del tmp120 l1new . bb += einsum ( tmp122 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 del tmp122 l1new . bb += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp76 , ( 0 ,), ( 2 , 1 )) l1new . bb += einsum ( l1 . bb , ( 0 , 1 ), tmp127 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp127 l1new . bb += einsum ( tmp132 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 3 , 1 )) del tmp132 l1new . bb += einsum ( tmp141 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) * - 2 del tmp141 l1new . bb += einsum ( tmp68 , ( 0 , 1 ), tmp109 , ( 1 , 2 ), ( 2 , 0 )) * - 1 del tmp68 , tmp109 l1new . bb += einsum ( tmp143 , ( 0 , 1 ), l1 . bb , ( 0 , 2 ), ( 1 , 2 )) del tmp143 l1new . aa = np . copy ( np . transpose ( f . aa . ov , ( 1 , 0 ))) l1new . aa += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp21 , ( 4 , 2 , 3 , 1 ), ( 0 , 4 )) * - 2 del tmp21 l1new . aa += einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 1 , 2 ), ( 4 , 0 )) * 2 del tmp33 l1new . aa += einsum ( tmp37 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 del tmp37 l1new . aa += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp76 , ( 0 ,), ( 2 , 1 )) del tmp76 l1new . aa += einsum ( tmp81 , ( 0 , 1 ), l1 . aa , ( 2 , 0 ), ( 2 , 1 )) * - 1 del tmp81 l1new . aa += einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp87 , ( 0 , 3 , 2 ), ( 1 , 3 )) * 2 del tmp87 l1new . aa += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp99 , ( 0 , 1 , 3 ), ( 2 , 3 )) * - 1 del tmp99 l1new . aa += einsum ( tmp16 , ( 0 , 1 ), tmp100 , ( 2 , 0 ), ( 1 , 2 )) * - 1 del tmp16 , tmp100 l1new . aa += einsum ( l1 . aa , ( 0 , 1 ), tmp103 , ( 0 , 2 ), ( 2 , 1 )) del tmp103 return { f \"l1new\" : l1new , f \"l2new\" : l2new }","title":"Returns"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.make_rdm1_f","text":"Code generated by albert 0.0.0 on 2024-08-17T20:52:49.895187.","title":"make_rdm1_f"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.make_rdm1_f--parameters","text":"l1 : Namespace of arrays L1 amplitudes. l2 : Namespace of arrays L2 amplitudes. t1 : Namespace of arrays T1 amplitudes. t2 : Namespace of arrays T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.make_rdm1_f--returns","text":"rdm1 : Namespace of arrays One-particle reduced density matrix. Source code in ebcc/codegen/UDFCC2.py 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 def make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:52:49.895187. 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 ])), ) tmp4 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) tmp3 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp5 = einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 0 ), ( 1 , 2 )) tmp0 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp2 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp1 = einsum ( t1 . aa , ( 0 , 1 ), l1 . aa , ( 1 , 2 ), ( 2 , 0 )) tmp10 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp9 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp11 = np . copy ( tmp5 ) tmp11 += tmp4 tmp11 += tmp3 * 2 tmp8 = np . copy ( tmp1 ) tmp8 += tmp0 * 2 tmp8 += tmp2 tmp7 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 0 ), ( 2 , 4 , 3 , 1 )) tmp6 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) 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 ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 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 ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) rdm1 . aa . vv += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) rdm1 . bb . vo = np . copy ( l1 . bb ) rdm1 . aa . vo = np . copy ( l1 . aa ) rdm1 . bb . ov = np . copy ( t1 . bb ) rdm1 . bb . ov += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) * 2 rdm1 . bb . ov += einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) rdm1 . bb . ov += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) * - 1 del tmp9 rdm1 . bb . ov += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) * - 2 del tmp10 rdm1 . bb . ov += einsum ( tmp11 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp11 rdm1 . aa . ov = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) * 2 rdm1 . aa . ov += t1 . aa rdm1 . aa . ov += einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) rdm1 . aa . ov += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) * - 2 del tmp6 rdm1 . aa . ov += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) * - 1 del tmp7 rdm1 . aa . ov += einsum ( t1 . aa , ( 0 , 1 ), tmp8 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp8 rdm1 . bb . oo = np . copy ( np . transpose ( tmp3 , ( 1 , 0 ))) * - 2 del tmp3 rdm1 . bb . oo += np . transpose ( tmp4 , ( 1 , 0 )) * - 1 del tmp4 rdm1 . bb . oo += delta . bb . oo rdm1 . bb . oo += np . transpose ( tmp5 , ( 1 , 0 )) * - 1 del tmp5 rdm1 . aa . oo = np . copy ( np . transpose ( tmp0 , ( 1 , 0 ))) * - 2 del tmp0 rdm1 . aa . oo += delta . aa . oo del delta rdm1 . aa . oo += np . transpose ( tmp1 , ( 1 , 0 )) * - 1 del tmp1 rdm1 . aa . oo += np . transpose ( tmp2 , ( 1 , 0 )) * - 1 del tmp2 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","title":"Returns"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.make_rdm2_f","text":"Code generated by albert 0.0.0 on 2024-08-17T20:53:33.628639.","title":"make_rdm2_f"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.make_rdm2_f--parameters","text":"l1 : Namespace of arrays L1 amplitudes. l2 : Namespace of arrays L2 amplitudes. t1 : Namespace of arrays T1 amplitudes. t2 : Namespace of arrays T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.make_rdm2_f--returns","text":"rdm2 : Namespace of arrays Two-particle reduced density matrix. Source code in ebcc/codegen/UDFCC2.py 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 def make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:53:33.628639. 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 ])), ) tmp19 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp14 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp8 = einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 0 ), ( 1 , 2 )) tmp9 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) tmp10 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp0 = einsum ( t1 . aa , ( 0 , 1 ), l1 . aa , ( 1 , 2 ), ( 2 , 0 )) tmp2 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp1 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp6 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp27 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 0 ), ( 2 , 4 , 3 , 1 )) tmp84 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp83 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 5 ), ( 3 , 4 , 1 , 5 )) tmp66 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp106 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp50 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp51 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 0 , 4 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp18 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp20 = einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp17 = np . copy ( tmp8 ) tmp17 += tmp9 tmp17 += tmp10 * 2 tmp13 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 0 , 1 ), ( 2 , 4 , 3 , 5 )) tmp15 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp12 = np . copy ( tmp0 ) * 0.5 tmp12 += tmp1 tmp12 += tmp2 * 0.5 tmp7 = einsum ( t1 . aa , ( 0 , 1 ), tmp6 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp5 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp32 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp31 = einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp81 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp80 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 1 , 4 )) tmp108 = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 0 ), ( 2 , 1 )) tmp112 = einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp85 = np . copy ( tmp83 ) tmp85 += tmp84 * 4 tmp86 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) tmp87 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp64 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp63 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp104 = einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp118 = np . copy ( tmp66 ) * 4 tmp118 += tmp106 tmp107 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp70 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 3 , 4 , 1 , 5 ), ( 0 , 5 , 2 , 4 )) tmp68 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 0 , 5 , 2 , 4 )) tmp36 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) tmp35 = einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 0 , 3 ), ( 2 , 3 )) tmp102 = np . copy ( tmp51 ) tmp102 += tmp50 * 4 tmp49 = einsum ( l1 . bb , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp52 = np . copy ( np . transpose ( tmp18 , ( 1 , 0 , 3 , 2 ))) tmp52 += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) * - 1 tmp61 = einsum ( tmp17 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) * 0.5 tmp39 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 0 , 1 , 4 , 2 ), ( 4 , 3 )) tmp40 = einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) tmp58 = np . copy ( tmp8 ) * 0.5 tmp58 += tmp9 * 0.5 tmp58 += tmp10 tmp41 = einsum ( tmp17 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp56 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * - 1 tmp57 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp14 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp22 = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp21 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp45 = np . copy ( tmp13 ) tmp45 += tmp15 tmp26 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) tmp28 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp29 = einsum ( tmp12 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * 2 tmp44 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) * - 1 tmp43 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp27 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp25 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) tmp33 = np . copy ( np . transpose ( tmp5 , ( 1 , 0 , 3 , 2 ))) tmp33 += np . transpose ( tmp7 , ( 0 , 1 , 3 , 2 )) * - 1 tmp78 = np . copy ( tmp32 ) * 4 tmp78 += tmp31 tmp130 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) tmp132 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) tmp129 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) tmp128 = einsum ( t1 . aa , ( 0 , 1 ), l2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 4 , 2 , 3 , 1 )) tmp131 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) tmp109 = np . copy ( tmp108 ) tmp109 += tmp80 tmp109 += tmp81 * 2 tmp127 = einsum ( t1 . bb , ( 0 , 1 ), tmp112 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp125 = einsum ( tmp85 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 4 , 2 , 3 )) tmp123 = einsum ( l1 . bb , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) tmp126 = einsum ( tmp19 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 0 , 4 , 5 ), ( 2 , 3 , 4 , 5 )) * - 1 tmp88 = np . copy ( tmp86 ) tmp88 += tmp87 tmp89 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 5 , 1 ), ( 3 , 4 , 0 , 5 )) tmp115 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp105 = np . copy ( tmp104 ) * 0.5 tmp105 += tmp63 tmp105 += tmp64 * 0.5 tmp113 = np . copy ( tmp104 ) del tmp104 tmp113 += tmp63 * 2 tmp113 += tmp64 tmp119 = einsum ( tmp118 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 4 , 2 , 3 )) del tmp118 tmp120 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 0 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) * - 1 tmp121 = einsum ( t1 . aa , ( 0 , 1 ), tmp107 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp116 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp124 = np . copy ( tmp83 ) * 0.25 tmp124 += tmp84 tmp111 = np . copy ( tmp108 ) * 0.5 del tmp108 tmp111 += tmp80 * 0.5 tmp111 += tmp81 tmp114 = einsum ( t1 . aa , ( 0 , 1 ), tmp27 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp110 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 5 ), ( 2 , 4 , 1 , 5 )) tmp122 = np . copy ( tmp70 ) tmp122 += tmp68 tmp117 = np . copy ( tmp66 ) tmp117 += tmp106 * 0.25 tmp96 = np . copy ( tmp35 ) tmp96 += tmp36 * 2 tmp94 = einsum ( tmp84 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp82 = np . copy ( tmp80 ) * 0.5 tmp82 += tmp81 tmp103 = einsum ( tmp102 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp102 tmp97 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) tmp101 = einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) tmp98 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 tmp62 = np . copy ( tmp39 ) * 0.5 tmp62 += tmp40 tmp62 += tmp61 del tmp61 tmp37 = np . copy ( t1 . bb ) tmp37 += tmp35 tmp37 += tmp36 * 2 tmp100 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp52 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) tmp92 = np . copy ( tmp80 ) del tmp80 tmp92 += tmp81 * 2 del tmp81 tmp93 = einsum ( tmp86 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp48 = np . copy ( t1 . bb ) tmp48 += tmp35 tmp48 += tmp36 * 2 tmp99 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp58 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 2 tmp42 = np . copy ( tmp39 ) del tmp39 tmp42 += tmp40 * 2 del tmp40 tmp42 += tmp41 del tmp41 tmp95 = einsum ( tmp83 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) tmp91 = np . copy ( tmp57 ) tmp91 += tmp56 tmp72 = np . copy ( tmp21 ) * 2 tmp72 += tmp22 tmp74 = np . copy ( tmp63 ) * 2 tmp74 += tmp64 tmp55 = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 1 , 3 , 4 )) tmp47 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) tmp46 = einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp30 = np . copy ( tmp26 ) * 2 del tmp26 tmp30 += tmp28 del tmp28 tmp30 += tmp29 del tmp29 tmp90 = np . copy ( tmp44 ) tmp90 += tmp43 tmp59 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 0 , 4 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp38 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 2 , 4 ), ( 4 , 0 , 1 , 3 )) tmp54 = np . copy ( t1 . aa ) tmp54 += tmp21 * 2 tmp54 += tmp22 tmp75 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp12 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) * - 2 tmp24 = np . copy ( t1 . aa ) tmp24 += tmp21 * 2 tmp24 += tmp22 tmp73 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) tmp71 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp70 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp77 = einsum ( t1 . aa , ( 0 , 1 ), tmp33 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) tmp76 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp33 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) tmp65 = np . copy ( tmp63 ) del tmp63 tmp65 += tmp64 * 0.5 del tmp64 tmp79 = einsum ( tmp78 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp78 tmp69 = einsum ( tmp68 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp67 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp66 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) tmp60 = np . copy ( t1 . bb ) * 0.5 tmp60 += tmp35 * 0.5 del tmp35 tmp60 += tmp36 del tmp36 tmp53 = einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) * 2 del tmp52 tmp23 = np . copy ( t1 . aa ) * 0.5 tmp23 += tmp21 del tmp21 tmp23 += tmp22 * 0.5 del tmp22 tmp4 = np . copy ( tmp0 ) tmp4 += tmp1 * 2 tmp4 += tmp2 tmp34 = einsum ( t1 . aa , ( 0 , 1 ), tmp33 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * 2 del tmp33 tmp16 = np . copy ( delta . bb . oo ) * - 1 tmp16 += tmp8 tmp16 += tmp9 tmp16 += tmp10 * 2 tmp11 = np . copy ( delta . bb . oo ) * - 0.5 tmp11 += tmp8 * 0.5 del tmp8 tmp11 += tmp9 * 0.5 del tmp9 tmp11 += tmp10 del tmp10 tmp3 = np . copy ( delta . aa . oo ) * - 1 tmp3 += tmp0 del tmp0 tmp3 += tmp1 * 2 del tmp1 tmp3 += tmp2 del tmp2 rdm2 . bbbb . vvvv = np . copy ( np . transpose ( tmp132 , ( 1 , 0 , 3 , 2 ))) * 2 del tmp132 rdm2 . bbbb . vvvv += einsum ( t1 . bb , ( 0 , 1 ), tmp130 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 rdm2 . abab . vvvv = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) rdm2 . abab . vvvv += einsum ( tmp129 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) rdm2 . aaaa . vvvv = np . copy ( np . transpose ( tmp131 , ( 1 , 0 , 3 , 2 ))) * 2 del tmp131 rdm2 . aaaa . vvvv += einsum ( tmp128 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * 2 rdm2 . bbbb . vvvo = np . copy ( np . transpose ( tmp130 , ( 2 , 1 , 3 , 0 ))) * 2 rdm2 . abab . vvvo = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) rdm2 . aaaa . vvvo = np . copy ( np . transpose ( tmp128 , ( 2 , 1 , 3 , 0 ))) * 2 rdm2 . bbbb . vvov = np . copy ( np . transpose ( tmp130 , ( 2 , 1 , 0 , 3 ))) * - 2 del tmp130 rdm2 . abab . vvov = np . copy ( np . transpose ( tmp129 , ( 1 , 2 , 0 , 3 ))) del tmp129 rdm2 . aaaa . vvov = np . copy ( np . transpose ( tmp128 , ( 2 , 1 , 0 , 3 ))) * - 2 del tmp128 rdm2 . bbbb . vovv = np . copy ( np . transpose ( tmp123 , ( 1 , 0 , 3 , 2 ))) * 2 rdm2 . bbbb . vovv += einsum ( t1 . bb , ( 0 , 1 ), tmp109 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . vovv += einsum ( t1 . bb , ( 0 , 1 ), tmp109 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . vovv += np . transpose ( tmp125 , ( 2 , 0 , 1 , 3 )) rdm2 . bbbb . vovv += np . transpose ( tmp125 , ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . bbbb . vovv += np . transpose ( tmp126 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . bbbb . vovv += np . transpose ( tmp127 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . abab . vovv = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 4 , 0 ), ( 4 , 1 , 2 , 3 )) rdm2 . abab . vovv += einsum ( t1 . bb , ( 0 , 1 ), tmp105 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . abab . vovv += einsum ( tmp88 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 1 , 4 , 3 )) * 2 rdm2 . abab . vovv += einsum ( tmp89 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 rdm2 . abab . vovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 0 , 1 , 4 , 5 ), ( 5 , 4 , 2 , 3 )) * - 1 rdm2 . abab . vovv += einsum ( tmp115 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 1 , 4 , 3 )) * - 1 rdm2 . aaaa . vovv = np . copy ( np . transpose ( tmp116 , ( 1 , 0 , 3 , 2 ))) * 2 rdm2 . aaaa . vovv += einsum ( tmp113 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . vovv += einsum ( tmp105 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . aaaa . vovv += np . transpose ( tmp119 , ( 2 , 0 , 1 , 3 )) rdm2 . aaaa . vovv += np . transpose ( tmp119 , ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . vovv += np . transpose ( tmp120 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . aaaa . vovv += np . transpose ( tmp121 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . bbbb . ovvv = np . copy ( np . transpose ( tmp123 , ( 0 , 1 , 3 , 2 ))) * - 2 del tmp123 rdm2 . bbbb . ovvv += einsum ( t1 . bb , ( 0 , 1 ), tmp109 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . ovvv += einsum ( t1 . bb , ( 0 , 1 ), tmp111 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . bbbb . ovvv += einsum ( tmp124 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 4 del tmp124 rdm2 . bbbb . ovvv += np . transpose ( tmp125 , ( 0 , 2 , 3 , 1 )) del tmp125 rdm2 . bbbb . ovvv += np . transpose ( tmp126 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp126 rdm2 . bbbb . ovvv += np . transpose ( tmp127 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp127 rdm2 . abab . ovvv = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) rdm2 . abab . ovvv += einsum ( tmp111 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . abab . ovvv += einsum ( t1 . aa , ( 0 , 1 ), tmp110 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 rdm2 . abab . ovvv += einsum ( tmp122 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 3 , 2 , 4 )) * 2 del tmp122 rdm2 . abab . ovvv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) * - 1 rdm2 . abab . ovvv += einsum ( t1 . bb , ( 0 , 1 ), tmp114 , ( 2 , 0 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 1 rdm2 . aaaa . ovvv = np . copy ( np . transpose ( tmp116 , ( 0 , 1 , 3 , 2 ))) * - 2 del tmp116 rdm2 . aaaa . ovvv += einsum ( tmp113 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . ovvv += einsum ( tmp105 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . aaaa . ovvv += einsum ( t1 . aa , ( 0 , 1 ), tmp117 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 4 del tmp117 rdm2 . aaaa . ovvv += np . transpose ( tmp119 , ( 0 , 2 , 3 , 1 )) del tmp119 rdm2 . aaaa . ovvv += np . transpose ( tmp120 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp120 rdm2 . aaaa . ovvv += np . transpose ( tmp121 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp121 rdm2 . bbbb . vvoo = np . copy ( l2 . bbbb ) * 2 rdm2 . abab . vvoo = np . copy ( l2 . abab ) rdm2 . aaaa . vvoo = np . copy ( l2 . aaaa ) * 2 rdm2 . bbbb . vovo = einsum ( delta . bb . oo , ( 0 , 1 ), tmp109 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . vovo += np . transpose ( tmp84 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . bbbb . vovo += einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . vovo += np . transpose ( tmp83 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . vovo += np . transpose ( tmp112 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . abab . vovo = einsum ( delta . bb . oo , ( 0 , 1 ), tmp105 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . abab . vovo += np . transpose ( tmp89 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . abab . vovo += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 rdm2 . aaaa . vovo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp113 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . vovo += np . transpose ( tmp66 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . aaaa . vovo += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . vovo += np . transpose ( tmp106 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . aaaa . vovo += np . transpose ( tmp107 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . bbbb . voov = einsum ( delta . bb . oo , ( 0 , 1 ), tmp111 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . bbbb . voov += np . transpose ( tmp84 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . bbbb . voov += einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . voov += np . transpose ( tmp83 , ( 2 , 1 , 0 , 3 )) rdm2 . bbbb . voov += np . transpose ( tmp112 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . abab . voov = np . copy ( np . transpose ( tmp86 , ( 2 , 1 , 0 , 3 ))) * 2 del tmp86 rdm2 . abab . voov += np . transpose ( tmp87 , ( 2 , 1 , 0 , 3 )) * 2 del tmp87 rdm2 . abab . voov += einsum ( t1 . bb , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . voov += np . transpose ( tmp115 , ( 2 , 1 , 0 , 3 )) * - 1 del tmp115 rdm2 . aaaa . voov = einsum ( delta . aa . oo , ( 0 , 1 ), tmp105 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 rdm2 . aaaa . voov += np . transpose ( tmp66 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . aaaa . voov += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . voov += np . transpose ( tmp106 , ( 2 , 1 , 0 , 3 )) rdm2 . aaaa . voov += np . transpose ( tmp107 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . bbbb . ovvo = einsum ( delta . bb . oo , ( 0 , 1 ), tmp109 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . ovvo += np . transpose ( tmp84 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . bbbb . ovvo += einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . ovvo += np . transpose ( tmp83 , ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . ovvo += np . transpose ( tmp112 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . abab . ovvo = np . copy ( np . transpose ( tmp70 , ( 0 , 3 , 2 , 1 ))) * 2 del tmp70 rdm2 . abab . ovvo += einsum ( l1 . bb , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . ovvo += np . transpose ( tmp68 , ( 0 , 3 , 2 , 1 )) * 2 del tmp68 rdm2 . abab . ovvo += np . transpose ( tmp114 , ( 0 , 3 , 2 , 1 )) * - 1 del tmp114 rdm2 . aaaa . ovvo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp113 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 del tmp113 rdm2 . aaaa . ovvo += np . transpose ( tmp66 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . aaaa . ovvo += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . ovvo += np . transpose ( tmp106 , ( 1 , 2 , 3 , 0 )) rdm2 . aaaa . ovvo += np . transpose ( tmp107 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . bbbb . ovov = einsum ( delta . bb . oo , ( 0 , 1 ), tmp111 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 del tmp111 rdm2 . bbbb . ovov += np . transpose ( tmp84 , ( 1 , 2 , 0 , 3 )) * - 4 del tmp84 rdm2 . bbbb . ovov += einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . ovov += np . transpose ( tmp83 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp83 rdm2 . bbbb . ovov += np . transpose ( tmp112 , ( 1 , 2 , 0 , 3 )) * 2 del tmp112 rdm2 . abab . ovov = einsum ( delta . aa . oo , ( 0 , 1 ), tmp109 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) del tmp109 rdm2 . abab . ovov += np . transpose ( tmp110 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp110 rdm2 . abab . ovov += einsum ( t1 . bb , ( 0 , 1 ), tmp27 , ( 2 , 3 , 0 , 4 ), ( 3 , 4 , 2 , 1 )) * - 1 rdm2 . aaaa . ovov = einsum ( delta . aa . oo , ( 0 , 1 ), tmp105 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 del tmp105 rdm2 . aaaa . ovov += np . transpose ( tmp66 , ( 1 , 2 , 0 , 3 )) * - 4 del tmp66 rdm2 . aaaa . ovov += einsum ( l1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . ovov += np . transpose ( tmp106 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp106 rdm2 . aaaa . ovov += np . transpose ( tmp107 , ( 1 , 2 , 0 , 3 )) * 2 del tmp107 rdm2 . bbbb . oovv = np . copy ( t2 . bbbb ) * 2 rdm2 . bbbb . oovv += einsum ( tmp92 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp92 rdm2 . bbbb . oovv += np . transpose ( tmp93 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp94 , ( 0 , 1 , 3 , 2 )) * - 8 rdm2 . bbbb . oovv += np . transpose ( tmp95 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp95 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . bbbb . oovv += einsum ( tmp48 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . oovv += np . transpose ( tmp93 , ( 1 , 0 , 3 , 2 )) * 2 del tmp93 rdm2 . bbbb . oovv += tmp94 * 8 del tmp94 rdm2 . bbbb . oovv += tmp95 * 2 rdm2 . bbbb . oovv += np . transpose ( tmp95 , ( 1 , 0 , 3 , 2 )) * 2 del tmp95 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . oovv += einsum ( tmp96 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp96 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 del tmp96 rdm2 . bbbb . oovv += tmp97 * 2 rdm2 . bbbb . oovv += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp82 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * 4 rdm2 . bbbb . oovv += np . transpose ( tmp97 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp97 rdm2 . bbbb . oovv += np . transpose ( tmp98 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 rdm2 . bbbb . oovv += np . transpose ( tmp99 , ( 0 , 1 , 3 , 2 )) * - 1 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) rdm2 . bbbb . oovv += np . transpose ( tmp99 , ( 1 , 0 , 3 , 2 )) del tmp99 rdm2 . bbbb . oovv += einsum ( tmp42 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) rdm2 . bbbb . oovv += np . transpose ( tmp98 , ( 1 , 0 , 3 , 2 )) del tmp98 rdm2 . bbbb . oovv += einsum ( tmp62 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp100 , ( 1 , 0 , 3 , 2 )) * 2 del tmp100 rdm2 . bbbb . oovv += einsum ( tmp101 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * 2 del tmp101 rdm2 . bbbb . oovv += np . transpose ( tmp103 , ( 1 , 0 , 2 , 3 )) rdm2 . bbbb . oovv += tmp103 * - 1 rdm2 . bbbb . oovv += np . transpose ( tmp103 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . bbbb . oovv += np . transpose ( tmp103 , ( 0 , 1 , 3 , 2 )) del tmp103 rdm2 . abab . oovv = np . copy ( t2 . abab ) rdm2 . abab . oovv += einsum ( tmp82 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp82 rdm2 . abab . oovv += einsum ( tmp85 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) del tmp85 rdm2 . abab . oovv += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp88 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * 4 del tmp88 rdm2 . abab . oovv += einsum ( tmp37 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp72 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . oovv += einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 1 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp74 , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 rdm2 . abab . oovv += einsum ( tmp55 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp58 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 2 rdm2 . abab . oovv += einsum ( tmp42 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . abab . oovv += einsum ( tmp12 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 2 rdm2 . abab . oovv += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 4 , 5 )) rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp46 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) rdm2 . abab . oovv += einsum ( tmp89 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 3 , 5 )) del tmp89 rdm2 . abab . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . abab . oovv += einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp90 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp90 rdm2 . abab . oovv += einsum ( tmp91 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) * - 2 del tmp91 rdm2 . abab . oovv += einsum ( tmp59 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) rdm2 . aaaa . oovv = np . copy ( t2 . aaaa ) * 2 rdm2 . aaaa . oovv += einsum ( tmp65 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 4 del tmp65 rdm2 . aaaa . oovv += np . transpose ( tmp67 , ( 0 , 1 , 3 , 2 )) * - 8 rdm2 . aaaa . oovv += np . transpose ( tmp69 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += np . transpose ( tmp71 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += np . transpose ( tmp71 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp54 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . oovv += tmp67 * 8 del tmp67 rdm2 . aaaa . oovv += tmp69 * 2 del tmp69 rdm2 . aaaa . oovv += tmp71 * 2 rdm2 . aaaa . oovv += np . transpose ( tmp71 , ( 1 , 0 , 3 , 2 )) * 2 del tmp71 rdm2 . aaaa . oovv += einsum ( tmp24 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp72 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . oovv += einsum ( tmp72 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 del tmp72 rdm2 . aaaa . oovv += tmp73 * 2 rdm2 . aaaa . oovv += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp74 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * 2 del tmp74 rdm2 . aaaa . oovv += np . transpose ( tmp73 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp73 rdm2 . aaaa . oovv += np . transpose ( tmp75 , ( 1 , 0 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += einsum ( tmp30 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . oovv += einsum ( tmp30 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . aaaa . oovv += np . transpose ( tmp75 , ( 0 , 1 , 3 , 2 )) * 2 del tmp75 rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . oovv += np . transpose ( tmp76 , ( 1 , 0 , 3 , 2 )) * 2 del tmp76 rdm2 . aaaa . oovv += einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * 2 del tmp77 rdm2 . aaaa . oovv += np . transpose ( tmp79 , ( 1 , 0 , 2 , 3 )) rdm2 . aaaa . oovv += tmp79 * - 1 rdm2 . aaaa . oovv += np . transpose ( tmp79 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . aaaa . oovv += np . transpose ( tmp79 , ( 0 , 1 , 3 , 2 )) del tmp79 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 ( tmp19 , ( 3 , 2 , 1 , 0 )) * 2 rdm2 . abab . vooo = einsum ( delta . bb . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . vooo += np . transpose ( tmp14 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp14 rdm2 . aaaa . vooo = einsum ( delta . aa . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . vooo += einsum ( delta . aa . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . vooo += np . transpose ( tmp6 , ( 3 , 2 , 1 , 0 )) * 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 )) rdm2 . bbbb . ovoo += np . transpose ( tmp19 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp19 rdm2 . abab . ovoo = einsum ( delta . aa . oo , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . ovoo += np . transpose ( tmp27 , ( 1 , 3 , 0 , 2 )) * - 1 del tmp27 rdm2 . aaaa . ovoo = einsum ( delta . aa . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . ovoo += einsum ( delta . aa . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . ovoo += np . transpose ( tmp6 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp6 rdm2 . bbbb . oovo = einsum ( tmp60 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 del tmp60 rdm2 . bbbb . oovo += einsum ( tmp37 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . oovo += np . transpose ( tmp49 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . bbbb . oovo += einsum ( tmp62 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 rdm2 . bbbb . oovo += einsum ( tmp62 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 del tmp62 rdm2 . bbbb . oovo += np . transpose ( tmp50 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . bbbb . oovo += np . transpose ( tmp51 , ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . oovo += einsum ( tmp58 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * 2 rdm2 . bbbb . oovo += np . transpose ( tmp50 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . bbbb . oovo += np . transpose ( tmp51 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . oovo += einsum ( tmp58 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . bbbb . oovo += np . transpose ( tmp53 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . abab . oovo = einsum ( delta . bb . oo , ( 0 , 1 ), tmp23 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . abab . oovo += np . transpose ( tmp55 , ( 0 , 2 , 3 , 1 )) * - 1 del tmp55 rdm2 . abab . oovo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . abab . oovo += np . transpose ( tmp56 , ( 0 , 2 , 3 , 1 )) * - 2 del tmp56 rdm2 . abab . oovo += np . transpose ( tmp57 , ( 0 , 2 , 3 , 1 )) * - 2 del tmp57 rdm2 . abab . oovo += einsum ( tmp58 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 2 del tmp58 rdm2 . abab . oovo += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 3 , 4 , 2 )) del tmp45 rdm2 . abab . oovo += np . transpose ( tmp59 , ( 0 , 2 , 3 , 1 )) del tmp59 rdm2 . aaaa . oovo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp54 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp54 rdm2 . aaaa . oovo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp24 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . oovo += np . transpose ( tmp25 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . aaaa . oovo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . oovo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) rdm2 . aaaa . oovo += np . transpose ( tmp31 , ( 1 , 2 , 3 , 0 )) rdm2 . aaaa . oovo += np . transpose ( tmp32 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . aaaa . oovo += einsum ( t1 . aa , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) rdm2 . aaaa . oovo += np . transpose ( tmp31 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . aaaa . oovo += np . transpose ( tmp32 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . aaaa . oovo += einsum ( tmp4 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . aaaa . oovo += np . transpose ( tmp34 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . ooov = einsum ( tmp48 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 del tmp48 rdm2 . bbbb . ooov += einsum ( tmp37 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . ooov += np . transpose ( tmp49 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp49 rdm2 . bbbb . ooov += einsum ( tmp42 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) rdm2 . bbbb . ooov += einsum ( tmp42 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . bbbb . ooov += np . transpose ( tmp50 , ( 1 , 2 , 0 , 3 )) * - 4 rdm2 . bbbb . ooov += np . transpose ( tmp51 , ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . bbbb . ooov += einsum ( tmp17 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . bbbb . ooov += np . transpose ( tmp50 , ( 2 , 1 , 0 , 3 )) * 4 del tmp50 rdm2 . bbbb . ooov += np . transpose ( tmp51 , ( 2 , 1 , 0 , 3 )) del tmp51 rdm2 . bbbb . ooov += einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) rdm2 . bbbb . ooov += np . transpose ( tmp53 , ( 2 , 1 , 0 , 3 )) del tmp53 rdm2 . abab . ooov = einsum ( delta . aa . oo , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) del tmp37 rdm2 . abab . ooov += np . transpose ( tmp38 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp38 rdm2 . abab . ooov += einsum ( delta . aa . oo , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 del tmp42 rdm2 . abab . ooov += np . transpose ( tmp43 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp43 rdm2 . abab . ooov += np . transpose ( tmp44 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp44 rdm2 . abab . ooov += einsum ( t1 . bb , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . abab . ooov += np . transpose ( tmp46 , ( 1 , 2 , 0 , 3 )) del tmp46 rdm2 . abab . ooov += np . transpose ( tmp47 , ( 1 , 2 , 0 , 3 )) del tmp47 rdm2 . aaaa . ooov = einsum ( delta . aa . oo , ( 0 , 1 ), tmp23 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 del tmp23 rdm2 . aaaa . ooov += einsum ( delta . aa . oo , ( 0 , 1 ), tmp24 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) del tmp24 rdm2 . aaaa . ooov += np . transpose ( tmp25 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp25 rdm2 . aaaa . ooov += einsum ( delta . aa . oo , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . aaaa . ooov += einsum ( delta . aa . oo , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 del tmp30 rdm2 . aaaa . ooov += np . transpose ( tmp31 , ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . aaaa . ooov += np . transpose ( tmp32 , ( 1 , 2 , 0 , 3 )) * - 4 rdm2 . aaaa . ooov += einsum ( t1 . aa , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . aaaa . ooov += np . transpose ( tmp31 , ( 2 , 1 , 0 , 3 )) del tmp31 rdm2 . aaaa . ooov += np . transpose ( tmp32 , ( 2 , 1 , 0 , 3 )) * 4 del tmp32 rdm2 . aaaa . ooov += einsum ( tmp4 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) rdm2 . aaaa . ooov += np . transpose ( tmp34 , ( 2 , 1 , 0 , 3 )) del tmp34 rdm2 . bbbb . oooo = einsum ( delta . bb . oo , ( 0 , 1 ), tmp16 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . bbbb . oooo += einsum ( tmp16 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) del tmp16 rdm2 . bbbb . oooo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp17 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . bbbb . oooo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp17 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) del tmp17 rdm2 . bbbb . oooo += np . transpose ( tmp18 , ( 3 , 2 , 1 , 0 )) * 2 del tmp18 rdm2 . bbbb . oooo += np . transpose ( tmp20 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp20 rdm2 . abab . oooo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 2 del tmp11 rdm2 . abab . oooo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp12 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 2 del tmp12 rdm2 . abab . oooo += np . transpose ( tmp13 , ( 1 , 3 , 0 , 2 )) del tmp13 rdm2 . abab . oooo += np . transpose ( tmp15 , ( 1 , 3 , 0 , 2 )) del tmp15 rdm2 . aaaa . oooo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . aaaa . oooo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) del tmp3 rdm2 . aaaa . oooo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . aaaa . oooo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) del delta , tmp4 rdm2 . aaaa . oooo += np . transpose ( tmp5 , ( 3 , 2 , 1 , 0 )) * 2 del tmp5 rdm2 . aaaa . oooo += np . transpose ( tmp7 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp7 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","title":"Returns"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.hbar_matvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T20:54:31.138023.","title":"hbar_matvec_ip_intermediates"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.hbar_matvec_ip_intermediates--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.hbar_matvec_ip_intermediates--returns","text":"tmp1 : array tmp103 : array tmp107 : array tmp11 : array tmp111 : array tmp113 : array tmp12 : array tmp121 : array tmp123 : array tmp125 : array tmp127 : array tmp128 : array tmp129 : array tmp137 : array tmp138 : array tmp14 : array tmp141 : array tmp148 : array tmp153 : array tmp156 : array tmp157 : array tmp159 : array tmp160 : array tmp161 : array tmp163 : array tmp166 : array tmp17 : array tmp170 : array tmp172 : array tmp173 : array tmp174 : array tmp175 : array tmp176 : array tmp178 : array tmp18 : array tmp180 : array tmp183 : array tmp184 : array tmp185 : array tmp186 : array tmp189 : array tmp19 : array tmp190 : array tmp197 : array tmp199 : array tmp2 : array tmp204 : array tmp206 : array tmp208 : array tmp21 : array tmp210 : array tmp22 : array tmp220 : array tmp24 : array tmp26 : array tmp27 : array tmp29 : array tmp30 : array tmp32 : array tmp33 : array tmp34 : array tmp36 : array tmp37 : array tmp39 : array tmp4 : array tmp41 : array tmp42 : array tmp43 : array tmp47 : array tmp49 : array tmp51 : array tmp52 : array tmp54 : array tmp55 : array tmp57 : array tmp58 : array tmp59 : array tmp61 : array tmp66 : array tmp67 : array tmp69 : array tmp7 : array tmp71 : array tmp72 : array tmp75 : array tmp78 : array tmp79 : array tmp80 : array tmp82 : array tmp83 : array tmp84 : array tmp86 : array tmp88 : array tmp9 : array tmp90 : array tmp92 : array tmp94 : array tmp97 : array tmp98 : array Source code in ebcc/codegen/UDFCC2.py 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 def hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:54:31.138023. 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 ------- tmp1 : array tmp103 : array tmp107 : array tmp11 : array tmp111 : array tmp113 : array tmp12 : array tmp121 : array tmp123 : array tmp125 : array tmp127 : array tmp128 : array tmp129 : array tmp137 : array tmp138 : array tmp14 : array tmp141 : array tmp148 : array tmp153 : array tmp156 : array tmp157 : array tmp159 : array tmp160 : array tmp161 : array tmp163 : array tmp166 : array tmp17 : array tmp170 : array tmp172 : array tmp173 : array tmp174 : array tmp175 : array tmp176 : array tmp178 : array tmp18 : array tmp180 : array tmp183 : array tmp184 : array tmp185 : array tmp186 : array tmp189 : array tmp19 : array tmp190 : array tmp197 : array tmp199 : array tmp2 : array tmp204 : array tmp206 : array tmp208 : array tmp21 : array tmp210 : array tmp22 : array tmp220 : array tmp24 : array tmp26 : array tmp27 : array tmp29 : array tmp30 : array tmp32 : array tmp33 : array tmp34 : array tmp36 : array tmp37 : array tmp39 : array tmp4 : array tmp41 : array tmp42 : array tmp43 : array tmp47 : array tmp49 : array tmp51 : array tmp52 : array tmp54 : array tmp55 : array tmp57 : array tmp58 : array tmp59 : array tmp61 : array tmp66 : array tmp67 : array tmp69 : array tmp7 : array tmp71 : array tmp72 : array tmp75 : array tmp78 : array tmp79 : array tmp80 : array tmp82 : array tmp83 : array tmp84 : array tmp86 : array tmp88 : array tmp9 : array tmp90 : array tmp92 : array tmp94 : array tmp97 : array tmp98 : array \"\"\" tmp8 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp10 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t1 . bb , ( 1 , 2 ), ( 0 ,)) tmp16 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp6 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp54 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp51 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp37 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp97 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp196 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp36 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 0 , 2 )) tmp107 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp39 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp71 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp2 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp152 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp4 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp26 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp29 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp120 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp1 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 2 , 1 ), ( 2 , 0 )) tmp68 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp21 = einsum ( tmp8 , ( 0 ,), v . bbb . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp18 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp17 = einsum ( tmp16 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp19 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp14 = einsum ( tmp8 , ( 0 ,), v . baa . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp12 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp220 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp210 = einsum ( tmp54 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp208 = einsum ( tmp51 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp206 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp204 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp199 = einsum ( tmp97 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 1 , 0 )) tmp197 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp196 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) * - 1 del tmp196 tmp190 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp189 = einsum ( tmp36 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp186 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp185 = einsum ( tmp54 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp184 = einsum ( tmp51 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * - 1 tmp183 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . vv , ( 2 , 1 ), ( 0 , 2 )) tmp180 = einsum ( tmp107 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp178 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp54 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp176 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp51 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp175 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 1 , 5 )) tmp174 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp39 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) tmp173 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp172 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp170 = einsum ( f . bb . oo , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp166 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp97 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp163 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp71 , ( 0 , 4 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp161 = einsum ( tmp51 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp160 = einsum ( tmp54 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp159 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp157 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp156 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 0 , 2 ), ( 1 , 3 )) tmp153 = einsum ( tmp152 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp152 tmp148 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp141 = einsum ( tmp107 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp138 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp137 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp129 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp26 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp128 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp127 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp125 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp123 = einsum ( tmp107 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 2 , 3 ), ( 4 , 0 , 5 , 1 )) tmp121 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp120 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) del tmp120 tmp113 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp111 = einsum ( tmp1 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp103 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp98 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp97 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp94 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp71 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp92 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp90 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp26 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp88 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp86 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp26 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp84 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp83 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp82 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp80 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp79 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp78 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp75 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . oo , ( 2 , 0 ), ( 2 , 1 )) tmp72 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp71 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) tmp69 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp68 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) * - 1 del tmp68 tmp67 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp66 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp26 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp61 = einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp59 = einsum ( t1 . bb , ( 0 , 1 ), tmp21 , ( 2 , 1 ), ( 0 , 2 )) tmp58 = einsum ( tmp18 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp57 = einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 2 , 1 ), ( 0 , 2 )) tmp55 = einsum ( tmp54 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp52 = einsum ( tmp51 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp49 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp47 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp43 = einsum ( tmp8 , ( 0 ,), v . bbb . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp42 = einsum ( tmp10 , ( 0 ,), v . bbb . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp41 = einsum ( tmp16 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) del tmp16 tmp34 = einsum ( tmp19 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp33 = einsum ( tmp14 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp32 = einsum ( tmp12 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp27 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp26 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp24 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp6 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp22 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp6 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp11 = einsum ( tmp10 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp10 tmp9 = einsum ( tmp8 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp8 tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) del tmp6 return { f \"tmp1\" : tmp1 , f \"tmp103\" : tmp103 , f \"tmp107\" : tmp107 , f \"tmp11\" : tmp11 , f \"tmp111\" : tmp111 , f \"tmp113\" : tmp113 , f \"tmp12\" : tmp12 , f \"tmp121\" : tmp121 , f \"tmp123\" : tmp123 , f \"tmp125\" : tmp125 , f \"tmp127\" : tmp127 , f \"tmp128\" : tmp128 , f \"tmp129\" : tmp129 , f \"tmp137\" : tmp137 , f \"tmp138\" : tmp138 , f \"tmp14\" : tmp14 , f \"tmp141\" : tmp141 , f \"tmp148\" : tmp148 , f \"tmp153\" : tmp153 , f \"tmp156\" : tmp156 , f \"tmp157\" : tmp157 , f \"tmp159\" : tmp159 , f \"tmp160\" : tmp160 , f \"tmp161\" : tmp161 , f \"tmp163\" : tmp163 , f \"tmp166\" : tmp166 , f \"tmp17\" : tmp17 , f \"tmp170\" : tmp170 , f \"tmp172\" : tmp172 , f \"tmp173\" : tmp173 , f \"tmp174\" : tmp174 , f \"tmp175\" : tmp175 , f \"tmp176\" : tmp176 , f \"tmp178\" : tmp178 , f \"tmp18\" : tmp18 , f \"tmp180\" : tmp180 , f \"tmp183\" : tmp183 , f \"tmp184\" : tmp184 , f \"tmp185\" : tmp185 , f \"tmp186\" : tmp186 , f \"tmp189\" : tmp189 , f \"tmp19\" : tmp19 , f \"tmp190\" : tmp190 , f \"tmp197\" : tmp197 , f \"tmp199\" : tmp199 , f \"tmp2\" : tmp2 , f \"tmp204\" : tmp204 , f \"tmp206\" : tmp206 , f \"tmp208\" : tmp208 , f \"tmp21\" : tmp21 , f \"tmp210\" : tmp210 , f \"tmp22\" : tmp22 , f \"tmp220\" : tmp220 , f \"tmp24\" : tmp24 , f \"tmp26\" : tmp26 , f \"tmp27\" : tmp27 , f \"tmp29\" : tmp29 , f \"tmp30\" : tmp30 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp34\" : tmp34 , f \"tmp36\" : tmp36 , f \"tmp37\" : tmp37 , f \"tmp39\" : tmp39 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp42\" : tmp42 , f \"tmp43\" : tmp43 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp51\" : tmp51 , f \"tmp52\" : tmp52 , f \"tmp54\" : tmp54 , f \"tmp55\" : tmp55 , f \"tmp57\" : tmp57 , f \"tmp58\" : tmp58 , f \"tmp59\" : tmp59 , f \"tmp61\" : tmp61 , f \"tmp66\" : tmp66 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp7\" : tmp7 , f \"tmp71\" : tmp71 , f \"tmp72\" : tmp72 , f \"tmp75\" : tmp75 , f \"tmp78\" : tmp78 , f \"tmp79\" : tmp79 , f \"tmp80\" : tmp80 , f \"tmp82\" : tmp82 , f \"tmp83\" : tmp83 , f \"tmp84\" : tmp84 , f \"tmp86\" : tmp86 , f \"tmp88\" : tmp88 , f \"tmp9\" : tmp9 , f \"tmp90\" : tmp90 , f \"tmp92\" : tmp92 , f \"tmp94\" : tmp94 , f \"tmp97\" : tmp97 , f \"tmp98\" : tmp98 }","title":"Returns"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.hbar_matvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T20:54:31.202161.","title":"hbar_matvec_ip"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.hbar_matvec_ip--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.hbar_matvec_ip--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UDFCC2.py 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 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-17T20:54:31.202161. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp8 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 1 , 2 ), ( 0 , 3 )) tmp9 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), r2 . bab , ( 1 , 3 , 2 ), ( 0 , 3 )) * - 1 tmp74 = np . copy ( ints . tmp206 ) del ints . tmp206 tmp74 += np . transpose ( ints . tmp37 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp72 = np . copy ( ints . tmp52 ) * 2 tmp72 += ints . tmp55 tmp70 = np . copy ( ints . tmp51 ) tmp70 += ints . tmp54 * 0.5 tmp40 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbb . xov , ( 3 , 1 , 2 ), ( 3 , 0 )) tmp39 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . baa . xov , ( 3 , 0 , 2 ), ( 3 , 1 )) tmp49 = np . copy ( ints . tmp186 ) del ints . tmp186 tmp49 += ints . tmp166 * 2 del ints . tmp166 tmp63 = np . copy ( f . bb . oo ) tmp63 += ints . tmp36 tmp61 = np . copy ( ints . tmp54 ) tmp61 += ints . tmp51 * 2 tmp65 = np . copy ( ints . tmp210 ) del ints . tmp210 tmp65 += ints . tmp208 * 2 del ints . tmp208 tmp10 = np . copy ( tmp8 ) * 2 tmp10 += tmp9 tmp11 = np . copy ( ints . tmp26 ) tmp11 += ints . tmp29 * 0.5 tmp15 = np . copy ( ints . tmp2 ) tmp15 += np . transpose ( ints . tmp84 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp84 tmp13 = np . copy ( ints . tmp27 ) * 2 tmp13 += ints . tmp30 tmp19 = np . copy ( ints . tmp113 ) tmp19 += ints . tmp94 * 2 tmp25 = np . copy ( ints . tmp88 ) del ints . tmp88 tmp25 += ints . tmp86 * 2 del ints . tmp86 tmp23 = np . copy ( f . aa . oo ) tmp23 += ints . tmp1 tmp21 = np . copy ( tmp8 ) * 2 tmp21 += tmp9 tmp44 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp97 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) del ints . tmp97 tmp43 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp107 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) tmp54 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 0 , 2 ), ( 2 , 1 )) tmp75 = einsum ( tmp74 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 0 , 1 , 3 )) * 2 del tmp74 tmp73 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp72 , ( 3 , 1 ), ( 0 , 3 , 2 )) * - 2 del tmp72 tmp68 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp163 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) tmp71 = einsum ( tmp40 , ( 0 , 1 ), tmp70 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * 4 del tmp70 tmp69 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp39 , ( 0 , 3 ), ( 3 , 1 , 2 )) tmp60 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp49 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 tmp64 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp63 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp63 tmp62 = einsum ( tmp39 , ( 0 , 1 ), tmp61 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) del tmp61 tmp66 = einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 1 ,), ( 0 , 2 , 3 )) del tmp65 tmp59 = einsum ( tmp40 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) tmp32 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp107 , ( 1 , 0 , 3 , 2 ), ( 3 ,)) * - 1 del ints . tmp107 tmp31 = einsum ( ints . tmp71 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 0 , 1 , 2 ), ( 3 ,)) del ints . tmp71 tmp29 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 0 , 2 ), ( 2 , 1 )) tmp12 = einsum ( tmp10 , ( 0 , 1 ), tmp11 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * 2 del tmp10 , tmp11 tmp16 = einsum ( tmp15 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 0 , 2 , 3 )) del tmp15 tmp14 = einsum ( tmp13 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) * - 2 del tmp13 tmp20 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp19 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp19 tmp26 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 0 , 2 , 3 )) del tmp25 tmp24 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp23 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp23 tmp18 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp98 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 1 tmp22 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp21 , ( 0 , 3 ), ( 1 , 3 , 2 )) del tmp21 tmp45 = np . copy ( tmp43 ) del tmp43 tmp45 += tmp44 * 2 del tmp44 tmp78 = np . copy ( ints . tmp197 ) del ints . tmp197 tmp78 += np . transpose ( ints . tmp220 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp220 tmp55 = np . copy ( np . transpose ( ints . tmp176 , ( 1 , 0 ))) * 2 del ints . tmp176 tmp55 += np . transpose ( ints . tmp178 , ( 1 , 0 )) del ints . tmp178 tmp55 += f . bb . vv * - 1 tmp55 += tmp54 del tmp54 tmp58 = np . copy ( ints . tmp170 ) del ints . tmp170 tmp58 += ints . tmp173 * 2 del ints . tmp173 tmp58 += ints . tmp174 del ints . tmp174 tmp58 += ints . tmp184 * 2 del ints . tmp184 tmp58 += ints . tmp189 del ints . tmp189 tmp58 += f . bb . ov * - 1 tmp58 += ints . tmp156 * - 1 del ints . tmp156 tmp58 += ints . tmp157 * - 2 del ints . tmp157 tmp58 += ints . tmp183 * - 1 del ints . tmp183 tmp58 += ints . tmp185 * - 1 del ints . tmp185 tmp77 = np . copy ( ints . tmp199 ) del ints . tmp199 tmp77 += np . transpose ( ints . tmp204 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp204 tmp76 = np . copy ( tmp68 ) del tmp68 tmp76 += tmp69 del tmp69 tmp76 += np . transpose ( tmp71 , ( 1 , 0 , 2 )) del tmp71 tmp76 += np . transpose ( tmp73 , ( 1 , 0 , 2 )) del tmp73 tmp76 += tmp75 del tmp75 tmp67 = np . copy ( tmp59 ) * 2 del tmp59 tmp67 += np . transpose ( tmp60 , ( 1 , 0 , 2 )) * - 2 del tmp60 tmp67 += np . transpose ( tmp62 , ( 1 , 0 , 2 )) del tmp62 tmp67 += np . transpose ( tmp64 , ( 1 , 0 , 2 )) * - 2 del tmp64 tmp67 += tmp66 del tmp66 tmp53 = np . copy ( ints . tmp51 ) * 2 del ints . tmp51 tmp53 += ints . tmp54 del ints . tmp54 tmp53 += v . bbb . xov tmp57 = np . copy ( ints . tmp153 ) del ints . tmp153 tmp57 += np . transpose ( ints . tmp160 , ( 1 , 0 , 2 , 3 )) del ints . tmp160 tmp57 += np . transpose ( ints . tmp161 , ( 1 , 0 , 2 , 3 )) * 2 del ints . tmp161 tmp57 += np . transpose ( ints . tmp172 , ( 1 , 0 , 2 , 3 )) del ints . tmp172 tmp57 += ints . tmp4 tmp57 += ints . tmp159 * - 1 del ints . tmp159 tmp57 += ints . tmp175 * - 1 del ints . tmp175 tmp52 = np . copy ( tmp8 ) del tmp8 tmp52 += tmp9 * 0.5 del tmp9 tmp48 = np . copy ( f . bb . oo ) tmp48 += ints . tmp36 tmp48 += np . transpose ( ints . tmp52 , ( 1 , 0 )) * 2 tmp48 += np . transpose ( ints . tmp55 , ( 1 , 0 )) tmp47 = np . copy ( f . aa . oo ) tmp47 += ints . tmp1 tmp47 += np . transpose ( ints . tmp27 , ( 1 , 0 )) * 2 tmp47 += np . transpose ( ints . tmp30 , ( 1 , 0 )) tmp50 = np . copy ( ints . tmp180 ) del ints . tmp180 tmp50 += ints . tmp190 * - 1 del ints . tmp190 tmp56 = np . copy ( tmp31 ) * 2 tmp56 += tmp32 * - 1 tmp51 = np . copy ( ints . tmp123 ) tmp51 += ints . tmp125 tmp30 = np . copy ( np . transpose ( ints . tmp90 , ( 1 , 0 ))) * 2 del ints . tmp90 tmp30 += np . transpose ( ints . tmp92 , ( 1 , 0 )) del ints . tmp92 tmp30 += f . aa . vv * - 1 tmp30 += tmp29 del tmp29 tmp35 = np . copy ( ints . tmp111 ) del ints . tmp111 tmp35 += ints . tmp66 * 2 del ints . tmp66 tmp35 += ints . tmp75 del ints . tmp75 tmp35 += ints . tmp82 * 2 del ints . tmp82 tmp35 += ints . tmp83 del ints . tmp83 tmp35 += f . aa . ov * - 1 tmp35 += ints . tmp61 * - 1 del ints . tmp61 tmp35 += ints . tmp67 * - 1 del ints . tmp67 tmp35 += ints . tmp78 * - 2 del ints . tmp78 tmp35 += ints . tmp79 * - 1 del ints . tmp79 tmp46 = np . copy ( ints . tmp121 ) del ints . tmp121 tmp46 += np . transpose ( ints . tmp128 , ( 0 , 2 , 1 , 3 )) del ints . tmp128 tmp46 += np . transpose ( ints . tmp129 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp129 tmp46 += np . transpose ( ints . tmp137 , ( 0 , 2 , 1 , 3 )) del ints . tmp137 tmp46 += ints . tmp39 tmp46 += ints . tmp127 * - 1 del ints . tmp127 tmp46 += ints . tmp138 * - 1 del ints . tmp138 tmp37 = np . copy ( ints . tmp113 ) del ints . tmp113 tmp37 += ints . tmp94 * 2 del ints . tmp94 tmp36 = np . copy ( ints . tmp141 ) del ints . tmp141 tmp36 += ints . tmp148 * - 1 del ints . tmp148 tmp41 = np . copy ( tmp39 ) * - 1 del tmp39 tmp41 += tmp40 * 2 del tmp40 tmp42 = np . copy ( ints . tmp29 ) del ints . tmp29 tmp42 += v . baa . xov tmp42 += ints . tmp26 * 2 del ints . tmp26 tmp38 = np . copy ( ints . tmp123 ) del ints . tmp123 tmp38 += ints . tmp125 del ints . tmp125 tmp33 = np . copy ( tmp31 ) del tmp31 tmp33 += tmp32 * - 0.5 del tmp32 tmp17 = np . copy ( np . transpose ( tmp12 , ( 1 , 0 , 2 ))) del tmp12 tmp17 += np . transpose ( tmp14 , ( 1 , 0 , 2 )) del tmp14 tmp17 += tmp16 del tmp16 tmp27 = np . copy ( tmp18 ) del tmp18 tmp27 += np . transpose ( tmp20 , ( 1 , 0 , 2 )) * - 2 del tmp20 tmp27 += np . transpose ( tmp22 , ( 1 , 0 , 2 )) del tmp22 tmp27 += np . transpose ( tmp24 , ( 1 , 0 , 2 )) * - 2 del tmp24 tmp27 += tmp26 del tmp26 tmp34 = np . copy ( ints . tmp103 ) del ints . tmp103 tmp34 += np . transpose ( ints . tmp69 , ( 2 , 0 , 1 , 3 )) * - 1 del ints . tmp69 tmp28 = np . copy ( ints . tmp72 ) del ints . tmp72 tmp28 += np . transpose ( ints . tmp80 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp80 tmp7 = np . copy ( f . bb . oo ) tmp7 += ints . tmp36 del ints . tmp36 tmp7 += np . transpose ( ints . tmp42 , ( 1 , 0 )) del ints . tmp42 tmp7 += np . transpose ( ints . tmp43 , ( 1 , 0 )) del ints . tmp43 tmp7 += np . transpose ( ints . tmp52 , ( 1 , 0 )) * 2 del ints . tmp52 tmp7 += np . transpose ( ints . tmp55 , ( 1 , 0 )) del ints . tmp55 tmp7 += np . transpose ( ints . tmp58 , ( 1 , 0 )) del ints . tmp58 tmp7 += np . transpose ( ints . tmp59 , ( 1 , 0 )) del ints . tmp59 tmp7 += np . transpose ( ints . tmp41 , ( 1 , 0 )) * - 1 del ints . tmp41 tmp7 += np . transpose ( ints . tmp57 , ( 1 , 0 )) * - 1 del ints . tmp57 tmp3 = np . copy ( f . aa . ov ) tmp3 += ints . tmp14 del ints . tmp14 tmp3 += ints . tmp19 del ints . tmp19 tmp3 += ints . tmp12 * - 1 del ints . tmp12 tmp5 = np . copy ( ints . tmp37 ) del ints . tmp37 tmp5 += ints . tmp47 * - 1 del ints . tmp47 tmp2 = np . copy ( f . bb . ov ) tmp2 += ints . tmp18 del ints . tmp18 tmp2 += ints . tmp21 del ints . tmp21 tmp2 += ints . tmp17 * - 1 del ints . tmp17 tmp6 = np . copy ( ints . tmp39 ) del ints . tmp39 tmp6 += ints . tmp49 del ints . tmp49 tmp4 = np . copy ( f . aa . oo ) tmp4 += np . transpose ( ints . tmp11 , ( 1 , 0 )) del ints . tmp11 tmp4 += ints . tmp1 del ints . tmp1 tmp4 += np . transpose ( ints . tmp27 , ( 1 , 0 )) * 2 del ints . tmp27 tmp4 += np . transpose ( ints . tmp30 , ( 1 , 0 )) del ints . tmp30 tmp4 += np . transpose ( ints . tmp33 , ( 1 , 0 )) del ints . tmp33 tmp4 += np . transpose ( ints . tmp34 , ( 1 , 0 )) del ints . tmp34 tmp4 += np . transpose ( ints . tmp9 , ( 1 , 0 )) del ints . tmp9 tmp4 += np . transpose ( ints . tmp32 , ( 1 , 0 )) * - 1 del ints . tmp32 tmp4 += np . transpose ( ints . tmp7 , ( 1 , 0 )) * - 1 del ints . tmp7 tmp0 = np . copy ( ints . tmp24 ) del ints . tmp24 tmp0 += ints . tmp4 del ints . tmp4 tmp1 = np . copy ( ints . tmp22 ) del ints . tmp22 tmp1 += ints . tmp2 * - 1 del ints . tmp2 r2new . bbb = np . copy ( tmp67 ) r2new . bbb += np . transpose ( tmp67 , ( 1 , 0 , 2 )) * - 1 del tmp67 r2new . bbb += tmp76 * - 1 r2new . bbb += np . transpose ( tmp76 , ( 1 , 0 , 2 )) del tmp76 r2new . bbb += einsum ( tmp77 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 2 , 4 ), ( 0 , 1 , 4 )) * - 2 del tmp77 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp55 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 r2new . bbb += einsum ( tmp45 , ( 0 ,), t2 . bbbb , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * - 2 r2new . bbb += einsum ( tmp78 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 1 , 0 , 3 )) * 2 del tmp78 r2new . bbb += einsum ( tmp58 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 2 , 0 , 1 )) * - 1 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp58 , ( 1 , 2 ), ( 1 , 0 , 2 )) r2new . bab = einsum ( ints . tmp163 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 0 , 2 ), ( 1 , 4 , 3 )) * 2 del ints . tmp163 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp49 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 1 del tmp49 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp50 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) del tmp50 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp51 , ( 3 , 1 , 4 , 0 ), ( 4 , 3 , 2 )) del tmp51 r2new . bab += einsum ( tmp52 , ( 0 , 1 ), tmp53 , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) * - 2 del tmp52 , tmp53 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp55 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp55 r2new . bab += einsum ( tmp56 , ( 0 ,), t2 . abab , ( 1 , 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp56 r2new . bab += einsum ( tmp57 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 2 , 0 , 3 )) del tmp57 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp47 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . bab += einsum ( tmp48 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp58 , ( 1 , 2 ), ( 1 , 0 , 2 )) del tmp58 r2new . aba = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp98 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) * 2 del ints . tmp98 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp36 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) del tmp36 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp37 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 1 del tmp37 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp38 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) del tmp38 r2new . aba += einsum ( tmp42 , ( 0 , 1 , 2 ), tmp41 , ( 0 , 3 ), ( 1 , 3 , 2 )) * - 1 del tmp42 , tmp41 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp30 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( tmp45 , ( 0 ,), t2 . abab , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * - 1 del tmp45 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp46 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp46 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp47 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp47 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp48 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp48 r2new . aba += einsum ( tmp35 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) r2new . aaa = np . copy ( tmp17 ) * - 1 r2new . aaa += np . transpose ( tmp17 , ( 1 , 0 , 2 )) del tmp17 r2new . aaa += tmp27 r2new . aaa += np . transpose ( tmp27 , ( 1 , 0 , 2 )) * - 1 del tmp27 r2new . aaa += einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 3 , 2 , 4 ), ( 0 , 1 , 4 )) * - 2 del tmp28 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp30 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp30 r2new . aaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp33 , ( 3 ,), ( 0 , 1 , 2 )) * - 4 del tmp33 r2new . aaa += einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 0 ,), ( 2 , 1 , 3 )) * - 2 del tmp34 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp35 , ( 1 , 2 ), ( 0 , 1 , 2 )) * - 1 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp35 , ( 1 , 2 ), ( 1 , 0 , 2 )) del tmp35 r1new . b = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 1 , 3 ), ( 0 ,)) * 2 del tmp5 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp6 , ( 0 , 3 , 1 , 2 ), ( 3 ,)) del tmp6 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp3 , ( 0 , 2 ), ( 1 ,)) * - 1 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp2 , ( 1 , 2 ), ( 0 ,)) * 2 r1new . b += einsum ( r1 . b , ( 0 ,), tmp7 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp7 r1new . a = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 1 , 3 ), ( 0 ,)) del tmp0 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp1 , ( 3 , 1 , 0 , 2 ), ( 3 ,)) * - 2 del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 1 ), ( 2 ,)) * - 1 del tmp2 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp3 , ( 1 , 2 ), ( 0 ,)) * 2 del tmp3 r1new . a += einsum ( tmp4 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.hbar_matvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T20:55:26.164457.","title":"hbar_matvec_ea_intermediates"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.hbar_matvec_ea_intermediates--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.hbar_matvec_ea_intermediates--returns","text":"tmp106 : array tmp107 : array tmp109 : array tmp11 : array tmp110 : array tmp112 : array tmp113 : array tmp114 : array tmp116 : array tmp122 : array tmp125 : array tmp126 : array tmp13 : array tmp132 : array tmp136 : array tmp138 : array tmp139 : array tmp140 : array tmp15 : array tmp151 : array tmp154 : array tmp155 : array tmp157 : array tmp163 : array tmp164 : array tmp166 : array tmp167 : array tmp168 : array tmp170 : array tmp172 : array tmp173 : array tmp174 : array tmp176 : array tmp177 : array tmp179 : array tmp18 : array tmp180 : array tmp181 : array tmp182 : array tmp183 : array tmp187 : array tmp19 : array tmp190 : array tmp199 : array tmp2 : array tmp20 : array tmp201 : array tmp203 : array tmp216 : array tmp22 : array tmp224 : array tmp23 : array tmp26 : array tmp29 : array tmp30 : array tmp32 : array tmp33 : array tmp4 : array tmp40 : array tmp42 : array tmp44 : array tmp46 : array tmp47 : array tmp51 : array tmp56 : array tmp57 : array tmp59 : array tmp60 : array tmp67 : array tmp68 : array tmp7 : array tmp74 : array tmp76 : array tmp78 : array tmp82 : array tmp85 : array tmp9 : array tmp91 : array tmp93 : array tmp96 : array tmp98 : array tmp99 : array Source code in ebcc/codegen/UDFCC2.py 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 def hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:55:26.164457. 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 ------- tmp106 : array tmp107 : array tmp109 : array tmp11 : array tmp110 : array tmp112 : array tmp113 : array tmp114 : array tmp116 : array tmp122 : array tmp125 : array tmp126 : array tmp13 : array tmp132 : array tmp136 : array tmp138 : array tmp139 : array tmp140 : array tmp15 : array tmp151 : array tmp154 : array tmp155 : array tmp157 : array tmp163 : array tmp164 : array tmp166 : array tmp167 : array tmp168 : array tmp170 : array tmp172 : array tmp173 : array tmp174 : array tmp176 : array tmp177 : array tmp179 : array tmp18 : array tmp180 : array tmp181 : array tmp182 : array tmp183 : array tmp187 : array tmp19 : array tmp190 : array tmp199 : array tmp2 : array tmp20 : array tmp201 : array tmp203 : array tmp216 : array tmp22 : array tmp224 : array tmp23 : array tmp26 : array tmp29 : array tmp30 : array tmp32 : array tmp33 : array tmp4 : array tmp40 : array tmp42 : array tmp44 : array tmp46 : array tmp47 : array tmp51 : array tmp56 : array tmp57 : array tmp59 : array tmp60 : array tmp67 : array tmp68 : array tmp7 : array tmp74 : array tmp76 : array tmp78 : array tmp82 : array tmp85 : array tmp9 : array tmp91 : array tmp93 : array tmp96 : array tmp98 : array tmp99 : array \"\"\" tmp175 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp59 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp40 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp56 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp51 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp23 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp2 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp156 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp164 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 0 , 2 )) tmp26 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp42 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp29 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp32 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp97 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp4 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp107 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 2 , 1 ), ( 2 , 0 )) tmp95 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp6 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp45 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp10 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t1 . bb , ( 1 , 2 ), ( 0 ,)) tmp17 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp12 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp8 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp224 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp216 = einsum ( tmp175 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp203 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp201 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp40 , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 5 , 4 )) tmp199 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp56 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp190 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp51 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp187 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp23 , ( 0 , 4 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp183 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp56 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp182 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 4 , 2 , 5 ), ( 1 , 5 , 4 , 3 )) tmp181 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp180 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp179 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 0 , 2 ), ( 1 , 3 )) tmp177 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp156 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) tmp176 = einsum ( tmp175 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) del tmp175 tmp174 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp173 = einsum ( f . bb . oo , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp172 = einsum ( tmp164 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp170 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp168 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp56 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp167 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp166 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp56 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp163 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . vv , ( 2 , 1 ), ( 0 , 2 )) tmp157 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp156 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) del tmp156 tmp155 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp154 = einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp151 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp42 , ( 0 , 4 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) tmp140 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp139 = einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 3 , 1 )) tmp138 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp136 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp132 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp126 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp97 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp125 = einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp122 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 4 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) tmp116 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp114 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp113 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp112 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * - 1 tmp110 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp109 = einsum ( tmp107 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp106 = einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp99 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp95 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp98 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp97 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) del tmp97 tmp96 = einsum ( tmp95 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) del tmp95 tmp93 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp91 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . oo , ( 2 , 0 ), ( 2 , 1 )) tmp85 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp51 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp82 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp78 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp76 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp2 , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 5 , 4 )) tmp74 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp68 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp67 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp60 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp57 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp56 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp47 = einsum ( tmp6 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp46 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp45 , ( 0 , 1 , 3 ), ( 2 , 3 )) del tmp45 tmp44 = einsum ( tmp10 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp33 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp22 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp6 , ( 0 ,), ( 1 , 2 )) tmp20 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp19 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp18 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp17 , ( 0 , 1 , 3 ), ( 3 , 2 )) del tmp17 tmp15 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp6 , ( 0 ,), ( 1 , 2 )) tmp13 = einsum ( tmp12 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) del tmp12 tmp11 = einsum ( tmp10 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp10 tmp9 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp8 , ( 0 , 1 , 3 ), ( 2 , 3 )) del tmp8 tmp7 = einsum ( tmp6 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp6 return { f \"tmp106\" : tmp106 , f \"tmp107\" : tmp107 , f \"tmp109\" : tmp109 , f \"tmp11\" : tmp11 , f \"tmp110\" : tmp110 , f \"tmp112\" : tmp112 , f \"tmp113\" : tmp113 , f \"tmp114\" : tmp114 , f \"tmp116\" : tmp116 , f \"tmp122\" : tmp122 , f \"tmp125\" : tmp125 , f \"tmp126\" : tmp126 , f \"tmp13\" : tmp13 , f \"tmp132\" : tmp132 , f \"tmp136\" : tmp136 , f \"tmp138\" : tmp138 , f \"tmp139\" : tmp139 , f \"tmp140\" : tmp140 , f \"tmp15\" : tmp15 , f \"tmp151\" : tmp151 , f \"tmp154\" : tmp154 , f \"tmp155\" : tmp155 , f \"tmp157\" : tmp157 , f \"tmp163\" : tmp163 , f \"tmp164\" : tmp164 , f \"tmp166\" : tmp166 , f \"tmp167\" : tmp167 , f \"tmp168\" : tmp168 , f \"tmp170\" : tmp170 , f \"tmp172\" : tmp172 , f \"tmp173\" : tmp173 , f \"tmp174\" : tmp174 , f \"tmp176\" : tmp176 , f \"tmp177\" : tmp177 , f \"tmp179\" : tmp179 , f \"tmp18\" : tmp18 , f \"tmp180\" : tmp180 , f \"tmp181\" : tmp181 , f \"tmp182\" : tmp182 , f \"tmp183\" : tmp183 , f \"tmp187\" : tmp187 , f \"tmp19\" : tmp19 , f \"tmp190\" : tmp190 , f \"tmp199\" : tmp199 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp201\" : tmp201 , f \"tmp203\" : tmp203 , f \"tmp216\" : tmp216 , f \"tmp22\" : tmp22 , f \"tmp224\" : tmp224 , f \"tmp23\" : tmp23 , f \"tmp26\" : tmp26 , f \"tmp29\" : tmp29 , f \"tmp30\" : tmp30 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp42\" : tmp42 , f \"tmp44\" : tmp44 , f \"tmp46\" : tmp46 , f \"tmp47\" : tmp47 , f \"tmp51\" : tmp51 , f \"tmp56\" : tmp56 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp60\" : tmp60 , f \"tmp67\" : tmp67 , f \"tmp68\" : tmp68 , f \"tmp7\" : tmp7 , f \"tmp74\" : tmp74 , f \"tmp76\" : tmp76 , f \"tmp78\" : tmp78 , f \"tmp82\" : tmp82 , f \"tmp85\" : tmp85 , f \"tmp9\" : tmp9 , f \"tmp91\" : tmp91 , f \"tmp93\" : tmp93 , f \"tmp96\" : tmp96 , f \"tmp98\" : tmp98 , f \"tmp99\" : tmp99 }","title":"Returns"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.hbar_matvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T20:55:26.225309.","title":"hbar_matvec_ea"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.hbar_matvec_ea--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.hbar_matvec_ea--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UDFCC2.py 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 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-17T20:55:26.225309. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp13 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 2 , 1 ), ( 0 , 3 )) tmp14 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), r2 . bab , ( 2 , 3 , 1 ), ( 0 , 3 )) * - 1 tmp71 = np . copy ( ints . tmp59 ) tmp71 += ints . tmp56 * 2 tmp38 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . baa . xov , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp73 = np . copy ( ints . tmp40 ) tmp73 += ints . tmp201 * 2 del ints . tmp201 tmp51 = np . copy ( ints . tmp155 ) del ints . tmp155 tmp51 += ints . tmp190 * 2 del ints . tmp190 tmp39 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), r2 . bbb , ( 3 , 2 , 1 ), ( 0 , 3 )) tmp59 = einsum ( f . bb . ov , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 0 , 3 , 2 )) tmp62 = np . copy ( ints . tmp56 ) * 2 tmp62 += ints . tmp59 tmp64 = np . copy ( np . transpose ( ints . tmp57 , ( 1 , 0 ))) tmp64 += np . transpose ( ints . tmp60 , ( 1 , 0 )) * 0.5 tmp64 += f . bb . vv * - 0.5 tmp66 = np . copy ( ints . tmp199 ) del ints . tmp199 tmp66 += ints . tmp203 * 0.5 del ints . tmp203 tmp24 = np . copy ( ints . tmp93 ) tmp24 += ints . tmp82 * 2 tmp26 = np . copy ( tmp13 ) * 2 tmp26 += tmp14 tmp28 = np . copy ( ints . tmp2 ) tmp28 += ints . tmp76 * 2 del ints . tmp76 tmp18 = np . copy ( np . transpose ( ints . tmp30 , ( 1 , 0 ))) tmp18 += np . transpose ( ints . tmp33 , ( 1 , 0 )) * 0.5 tmp18 += f . aa . vv * - 0.5 tmp11 = einsum ( f . aa . ov , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 0 , 3 , 2 )) tmp16 = np . copy ( ints . tmp29 ) * 2 tmp16 += ints . tmp32 tmp15 = np . copy ( tmp13 ) del tmp13 tmp15 += tmp14 * 0.5 del tmp14 tmp20 = np . copy ( ints . tmp74 ) del ints . tmp74 tmp20 += ints . tmp78 * 0.5 del ints . tmp78 tmp72 = einsum ( tmp71 , ( 0 , 1 , 2 ), tmp38 , ( 0 , 3 ), ( 1 , 3 , 2 )) del tmp71 tmp74 = einsum ( r1 . b , ( 0 ,), tmp73 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp73 tmp70 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 1 ), ( 0 , 4 , 2 )) * - 1 tmp69 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp39 , ( 0 , 3 ), ( 1 , 3 , 2 )) tmp60 = einsum ( t1 . bb , ( 0 , 1 ), tmp59 , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) del tmp59 tmp61 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp38 , ( 0 , 3 ), ( 1 , 3 , 2 )) tmp63 = einsum ( tmp39 , ( 0 , 1 ), tmp62 , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) * 2 del tmp62 tmp58 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp187 , ( 2 , 3 , 0 , 4 ), ( 3 , 4 , 1 )) tmp65 = einsum ( tmp64 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 4 del tmp64 tmp67 = einsum ( r1 . b , ( 0 ,), tmp66 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) * 2 del tmp66 tmp8 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp51 , ( 2 , 3 , 0 , 1 ), ( 3 ,)) tmp7 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp26 , ( 2 , 3 , 0 , 1 ), ( 3 ,)) tmp47 = einsum ( f . bb . ov , ( 0 , 1 ), r1 . b , ( 1 ,), ( 0 ,)) tmp43 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 0 , 2 ), ( 2 , 1 )) tmp4 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp26 , ( 3 , 2 , 1 , 0 ), ( 3 ,)) * - 1 tmp32 = einsum ( r1 . a , ( 0 ,), f . aa . ov , ( 1 , 0 ), ( 1 ,)) tmp3 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp23 , ( 2 , 3 , 1 , 0 ), ( 3 ,)) * - 1 tmp45 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 0 , 2 ), ( 2 , 1 )) tmp25 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp24 , ( 3 , 2 , 4 , 1 ), ( 3 , 0 , 4 )) * - 1 del tmp24 tmp27 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp26 , ( 0 , 3 ), ( 1 , 2 , 3 )) del tmp26 tmp29 = einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 0 , 1 , 3 )) del tmp28 tmp23 = einsum ( ints . tmp85 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 0 , 2 , 4 )) * - 1 tmp19 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp18 , ( 1 , 3 ), ( 2 , 0 , 3 )) * - 4 del tmp18 tmp12 = einsum ( t1 . aa , ( 0 , 1 ), tmp11 , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) del tmp11 tmp17 = einsum ( tmp15 , ( 0 , 1 ), tmp16 , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) * 2 del tmp16 tmp21 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 0 , 1 , 3 )) * 2 del tmp20 tmp1 = np . copy ( f . bb . ov ) tmp1 += ints . tmp19 del ints . tmp19 tmp1 += ints . tmp22 del ints . tmp22 tmp1 += ints . tmp18 * - 1 del ints . tmp18 tmp0 = np . copy ( f . aa . ov ) tmp0 += ints . tmp15 del ints . tmp15 tmp0 += ints . tmp20 del ints . tmp20 tmp0 += ints . tmp13 * - 1 del ints . tmp13 tmp54 = np . copy ( f . bb . oo ) tmp54 += ints . tmp164 del ints . tmp164 tmp54 += np . transpose ( ints . tmp168 , ( 1 , 0 )) * 2 del ints . tmp168 tmp54 += np . transpose ( ints . tmp170 , ( 1 , 0 )) del ints . tmp170 tmp75 = np . copy ( tmp69 ) * 2 del tmp69 tmp75 += np . transpose ( tmp70 , ( 0 , 2 , 1 )) * - 2 del tmp70 tmp75 += np . transpose ( tmp72 , ( 0 , 2 , 1 )) del tmp72 tmp75 += tmp74 del tmp74 tmp57 = einsum ( ints . tmp51 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 2 , 4 ), ( 0 , 1 , 4 )) * - 1 del ints . tmp51 tmp68 = np . copy ( tmp58 ) del tmp58 tmp68 += tmp60 * 2 del tmp60 tmp68 += tmp61 del tmp61 tmp68 += np . transpose ( tmp63 , ( 0 , 2 , 1 )) del tmp63 tmp68 += np . transpose ( tmp65 , ( 0 , 2 , 1 )) del tmp65 tmp68 += tmp67 del tmp67 tmp76 = np . copy ( tmp47 ) * - 1 tmp76 += tmp7 tmp76 += tmp8 * 2 tmp56 = np . copy ( ints . tmp166 ) * 2 del ints . tmp166 tmp56 += ints . tmp172 del ints . tmp172 tmp56 += ints . tmp173 del ints . tmp173 tmp56 += ints . tmp176 * 2 del ints . tmp176 tmp56 += ints . tmp177 del ints . tmp177 tmp56 += f . bb . ov * - 1 tmp56 += ints . tmp163 * - 1 del ints . tmp163 tmp56 += ints . tmp167 * - 1 del ints . tmp167 tmp56 += ints . tmp179 * - 1 del ints . tmp179 tmp56 += ints . tmp180 * - 2 del ints . tmp180 tmp44 = np . copy ( np . transpose ( ints . tmp57 , ( 1 , 0 ))) * 2 tmp44 += np . transpose ( ints . tmp60 , ( 1 , 0 )) tmp44 += f . bb . vv * - 1 tmp44 += tmp43 del tmp43 tmp55 = np . copy ( tmp32 ) * 0.5 tmp55 += tmp3 * - 1 tmp55 += tmp4 * 0.5 tmp53 = np . copy ( ints . tmp157 ) del ints . tmp157 tmp53 += np . transpose ( ints . tmp181 , ( 0 , 2 , 1 , 3 )) del ints . tmp181 tmp53 += np . transpose ( ints . tmp183 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp183 tmp53 += ints . tmp4 tmp53 += ints . tmp151 * - 1 del ints . tmp151 tmp53 += np . transpose ( ints . tmp182 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp182 tmp46 = np . copy ( np . transpose ( ints . tmp30 , ( 1 , 0 ))) * 2 tmp46 += np . transpose ( ints . tmp33 , ( 1 , 0 )) tmp46 += f . aa . vv * - 1 tmp46 += tmp45 del tmp45 tmp52 = np . copy ( ints . tmp56 ) * 2 del ints . tmp56 tmp52 += ints . tmp59 del ints . tmp59 tmp52 += v . bbb . xov tmp49 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp26 , ( 3 , 4 , 1 , 0 ), ( 3 , 4 , 2 )) * - 1 tmp50 = np . copy ( ints . tmp154 ) del ints . tmp154 tmp50 += ints . tmp174 * - 1 del ints . tmp174 tmp35 = einsum ( ints . tmp26 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 3 , 4 ), ( 0 , 4 , 1 )) del ints . tmp26 tmp34 = np . copy ( ints . tmp109 ) del ints . tmp109 tmp34 += ints . tmp112 * 2 del ints . tmp112 tmp34 += ints . tmp91 del ints . tmp91 tmp34 += ints . tmp96 * 2 del ints . tmp96 tmp34 += ints . tmp98 del ints . tmp98 tmp34 += f . aa . ov * - 1 tmp34 += ints . tmp106 * - 1 del ints . tmp106 tmp34 += ints . tmp113 * - 1 del ints . tmp113 tmp34 += ints . tmp67 * - 2 del ints . tmp67 tmp34 += ints . tmp68 * - 1 del ints . tmp68 tmp37 = np . copy ( ints . tmp82 ) * 2 del ints . tmp82 tmp37 += ints . tmp93 del ints . tmp93 tmp40 = np . copy ( tmp38 ) * - 1 del tmp38 tmp40 += tmp39 * 2 del tmp39 tmp48 = np . copy ( tmp47 ) * - 0.5 del tmp47 tmp48 += tmp7 * 0.5 tmp48 += tmp8 tmp36 = np . copy ( ints . tmp125 ) del ints . tmp125 tmp36 += ints . tmp136 * - 1 del ints . tmp136 tmp31 = np . copy ( f . aa . oo ) tmp31 += ints . tmp107 del ints . tmp107 tmp31 += np . transpose ( ints . tmp114 , ( 1 , 0 )) * 2 del ints . tmp114 tmp31 += np . transpose ( ints . tmp116 , ( 1 , 0 )) del ints . tmp116 tmp41 = np . copy ( ints . tmp32 ) del ints . tmp32 tmp41 += v . baa . xov tmp41 += ints . tmp29 * 2 del ints . tmp29 tmp42 = np . copy ( ints . tmp126 ) del ints . tmp126 tmp42 += np . transpose ( ints . tmp138 , ( 0 , 1 , 3 , 2 )) del ints . tmp138 tmp42 += np . transpose ( ints . tmp140 , ( 0 , 1 , 3 , 2 )) * 2 del ints . tmp140 tmp42 += ints . tmp42 tmp42 += ints . tmp122 * - 1 del ints . tmp122 tmp42 += np . transpose ( ints . tmp139 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp139 tmp33 = np . copy ( tmp32 ) del tmp32 tmp33 += tmp3 * - 2 tmp33 += tmp4 tmp30 = np . copy ( tmp23 ) del tmp23 tmp30 += np . transpose ( tmp25 , ( 0 , 2 , 1 )) * - 2 del tmp25 tmp30 += np . transpose ( tmp27 , ( 0 , 2 , 1 )) del tmp27 tmp30 += tmp29 del tmp29 tmp10 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp23 , ( 3 , 4 , 0 , 1 ), ( 3 , 4 , 2 )) del ints . tmp23 tmp22 = np . copy ( tmp12 ) * 2 del tmp12 tmp22 += tmp17 del tmp17 tmp22 += np . transpose ( tmp19 , ( 0 , 2 , 1 )) del tmp19 tmp22 += tmp21 del tmp21 tmp9 = np . copy ( tmp7 ) del tmp7 tmp9 += tmp8 * 2 del tmp8 tmp9 += einsum ( r1 . b , ( 0 ,), tmp1 , ( 1 , 0 ), ( 1 ,)) * - 1 tmp6 = np . copy ( ints . tmp46 ) del ints . tmp46 tmp6 += np . transpose ( ints . tmp57 , ( 1 , 0 )) * 2 del ints . tmp57 tmp6 += np . transpose ( ints . tmp60 , ( 1 , 0 )) del ints . tmp60 tmp6 += f . bb . vv * - 1 tmp6 += np . transpose ( ints . tmp44 , ( 1 , 0 )) * - 1 del ints . tmp44 tmp6 += np . transpose ( ints . tmp47 , ( 1 , 0 )) * - 1 del ints . tmp47 tmp5 = np . copy ( tmp3 ) * - 2 del tmp3 tmp5 += tmp4 del tmp4 tmp5 += einsum ( r1 . a , ( 0 ,), tmp0 , ( 1 , 0 ), ( 1 ,)) tmp2 = np . copy ( np . transpose ( ints . tmp30 , ( 1 , 0 ))) * 2 del ints . tmp30 tmp2 += np . transpose ( ints . tmp33 , ( 1 , 0 )) del ints . tmp33 tmp2 += ints . tmp9 del ints . tmp9 tmp2 += f . aa . vv * - 1 tmp2 += np . transpose ( ints . tmp11 , ( 1 , 0 )) * - 1 del ints . tmp11 tmp2 += np . transpose ( ints . tmp7 , ( 1 , 0 )) * - 1 del ints . tmp7 r2new . bbb = einsum ( r1 . b , ( 0 ,), ints . tmp216 , ( 1 , 2 , 3 , 0 ), ( 3 , 2 , 1 )) * 2 del ints . tmp216 r2new . bbb += einsum ( tmp57 , ( 0 , 1 , 2 ), t2 . bbbb , ( 1 , 0 , 3 , 4 ), ( 3 , 4 , 2 )) * - 2 del tmp57 r2new . bbb += einsum ( ints . tmp224 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 1 , 4 ), ( 0 , 2 , 4 )) * 2 del ints . tmp224 r2new . bbb += np . transpose ( tmp68 , ( 1 , 2 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp68 , ( 2 , 1 , 0 )) del tmp68 r2new . bbb += np . transpose ( tmp75 , ( 1 , 2 , 0 )) r2new . bbb += np . transpose ( tmp75 , ( 2 , 1 , 0 )) * - 1 del tmp75 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp54 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 r2new . bbb += einsum ( tmp76 , ( 0 ,), t2 . bbbb , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) * - 2 del tmp76 r2new . bbb += einsum ( tmp56 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 2 , 1 , 0 )) * - 1 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp56 , ( 1 , 2 ), ( 2 , 0 , 1 )) r2new . bab = einsum ( ints . tmp187 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 0 ), ( 3 , 4 , 1 )) * 2 del ints . tmp187 r2new . bab += einsum ( ints . tmp132 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 2 , 0 , 4 )) r2new . bab += einsum ( tmp49 , ( 0 , 1 , 2 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 4 , 3 , 2 )) * - 1 del tmp49 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp50 , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) del tmp50 r2new . bab += einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 2 , 4 , 0 )) * - 1 del tmp51 r2new . bab += einsum ( tmp52 , ( 0 , 1 , 2 ), tmp15 , ( 0 , 3 ), ( 2 , 3 , 1 )) * - 2 del tmp15 , tmp52 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp53 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del tmp53 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp46 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . bab += einsum ( tmp44 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp54 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp54 r2new . bab += einsum ( tmp55 , ( 0 ,), t2 . abab , ( 0 , 1 , 2 , 3 ), ( 3 , 2 , 1 )) * 2 del tmp55 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp56 , ( 1 , 2 ), ( 2 , 0 , 1 )) del tmp56 r2new . aba = einsum ( ints . tmp132 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) del ints . tmp132 r2new . aba += einsum ( ints . tmp85 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 1 ), ( 2 , 4 , 0 )) * 2 del ints . tmp85 r2new . aba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp35 , ( 0 , 4 , 1 ), ( 2 , 3 , 4 )) del tmp35 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp36 , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) del tmp36 r2new . aba += einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 3 , 4 , 1 ), ( 2 , 4 , 0 )) * - 1 del tmp37 r2new . aba += einsum ( tmp41 , ( 0 , 1 , 2 ), tmp40 , ( 0 , 3 ), ( 2 , 3 , 1 )) * - 1 del tmp41 , tmp40 r2new . aba += einsum ( tmp42 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 1 , 2 , 0 )) * - 1 del tmp42 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp44 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp44 r2new . aba += einsum ( tmp46 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 del tmp46 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp31 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp48 , ( 1 ,), ( 2 , 3 , 0 )) * - 2 del tmp48 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp34 , ( 1 , 2 ), ( 2 , 0 , 1 )) r2new . aaa = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp110 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) * - 2 del ints . tmp110 r2new . aaa += einsum ( ints . tmp99 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 3 ,), ( 2 , 1 , 0 )) * 2 del ints . tmp99 r2new . aaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp10 , ( 0 , 1 , 4 ), ( 2 , 3 , 4 )) * 2 del tmp10 r2new . aaa += np . transpose ( tmp22 , ( 1 , 2 , 0 )) * - 1 r2new . aaa += np . transpose ( tmp22 , ( 2 , 1 , 0 )) del tmp22 r2new . aaa += np . transpose ( tmp30 , ( 1 , 2 , 0 )) r2new . aaa += np . transpose ( tmp30 , ( 2 , 1 , 0 )) * - 1 del tmp30 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp31 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp31 r2new . aaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp33 , ( 1 ,), ( 2 , 3 , 0 )) * 2 del tmp33 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp34 , ( 1 , 2 ), ( 0 , 2 , 1 )) * - 1 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp34 , ( 1 , 2 ), ( 2 , 0 , 1 )) del tmp34 r1new . b = einsum ( ints . tmp40 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 0 ), ( 1 ,)) * 2 del ints . tmp40 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp42 , ( 2 , 0 , 3 , 1 ), ( 3 ,)) * - 1 del ints . tmp42 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp1 , ( 2 , 1 ), ( 0 ,)) * 2 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp0 , ( 2 , 0 ), ( 1 ,)) * - 1 r1new . b += einsum ( tmp6 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp6 r1new . b += einsum ( t1 . bb , ( 0 , 1 ), tmp9 , ( 0 ,), ( 1 ,)) del tmp9 r1new . a = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp4 , ( 2 , 3 , 1 , 0 ), ( 3 ,)) * - 1 del ints . tmp4 r1new . a += einsum ( ints . tmp2 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 3 , 2 , 0 ), ( 1 ,)) * - 2 del ints . tmp2 r1new . a += einsum ( tmp0 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 0 ), ( 2 ,)) * 2 del tmp0 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp1 , ( 2 , 0 ), ( 1 ,)) * - 1 del tmp1 r1new . a += einsum ( r1 . a , ( 0 ,), tmp2 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp2 r1new . a += einsum ( t1 . aa , ( 0 , 1 ), tmp5 , ( 0 ,), ( 1 ,)) * - 1 del tmp5 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.hbar_lmatvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T20:57:33.199568.","title":"hbar_lmatvec_ip_intermediates"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.hbar_lmatvec_ip_intermediates--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.hbar_lmatvec_ip_intermediates--returns","text":"tmp1 : array tmp10 : array tmp100 : array tmp102 : array tmp103 : array tmp105 : array tmp108 : array tmp11 : array tmp110 : array tmp112 : array tmp114 : array tmp116 : array tmp118 : array tmp119 : array tmp121 : array tmp123 : array tmp125 : array tmp127 : array tmp129 : array tmp13 : array tmp131 : array tmp133 : array tmp135 : array tmp137 : array tmp138 : array tmp140 : array tmp142 : array tmp143 : array tmp145 : array tmp147 : array tmp148 : array tmp15 : array tmp150 : array tmp151 : array tmp153 : array tmp155 : array tmp156 : array tmp158 : array tmp159 : array tmp161 : array tmp162 : array tmp164 : array tmp166 : array tmp167 : array tmp168 : array tmp17 : array tmp170 : array tmp171 : array tmp172 : array tmp174 : array tmp175 : array tmp176 : array tmp177 : array tmp179 : array tmp181 : array tmp182 : array tmp183 : array tmp184 : array tmp185 : array tmp187 : array tmp188 : array tmp19 : array tmp190 : array tmp192 : array tmp195 : array tmp197 : array tmp199 : array tmp2 : array tmp201 : array tmp204 : array tmp205 : array tmp207 : array tmp209 : array tmp21 : array tmp211 : array tmp213 : array tmp215 : array tmp217 : array tmp219 : array tmp22 : array tmp220 : array tmp221 : array tmp222 : array tmp223 : array tmp225 : array tmp226 : array tmp228 : array tmp23 : array tmp231 : array tmp239 : array tmp241 : array tmp246 : array tmp247 : array tmp249 : array tmp25 : array tmp255 : array tmp257 : array tmp264 : array tmp265 : array tmp267 : array tmp268 : array tmp270 : array tmp271 : array tmp273 : array tmp28 : array tmp280 : array tmp283 : array tmp294 : array tmp296 : array tmp298 : array tmp30 : array tmp300 : array tmp302 : array tmp304 : array tmp310 : array tmp311 : array tmp313 : array tmp314 : array tmp316 : array tmp318 : array tmp32 : array tmp320 : array tmp325 : array tmp326 : array tmp327 : array tmp329 : array tmp33 : array tmp335 : array tmp337 : array tmp339 : array tmp34 : array tmp340 : array tmp344 : array tmp346 : array tmp352 : array tmp354 : array tmp358 : array tmp36 : array tmp362 : array tmp364 : array tmp37 : array tmp388 : array tmp39 : array tmp390 : array tmp4 : array tmp417 : array tmp418 : array tmp419 : array tmp42 : array tmp421 : array tmp423 : array tmp437 : array tmp439 : array tmp44 : array tmp441 : array tmp442 : array tmp46 : array tmp47 : array tmp48 : array tmp5 : array tmp50 : array tmp52 : array tmp54 : array tmp55 : array tmp56 : array tmp57 : array tmp59 : array tmp60 : array tmp62 : array tmp64 : array tmp65 : array tmp67 : array tmp68 : array tmp7 : array tmp70 : array tmp72 : array tmp74 : array tmp75 : array tmp77 : array tmp78 : array tmp79 : array tmp8 : array tmp80 : array tmp82 : array tmp83 : array tmp85 : array tmp87 : array tmp89 : array tmp91 : array tmp94 : array tmp97 : array Source code in ebcc/codegen/UDFCC2.py 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 def hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:57:33.199568. 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 ------- tmp1 : array tmp10 : array tmp100 : array tmp102 : array tmp103 : array tmp105 : array tmp108 : array tmp11 : array tmp110 : array tmp112 : array tmp114 : array tmp116 : array tmp118 : array tmp119 : array tmp121 : array tmp123 : array tmp125 : array tmp127 : array tmp129 : array tmp13 : array tmp131 : array tmp133 : array tmp135 : array tmp137 : array tmp138 : array tmp140 : array tmp142 : array tmp143 : array tmp145 : array tmp147 : array tmp148 : array tmp15 : array tmp150 : array tmp151 : array tmp153 : array tmp155 : array tmp156 : array tmp158 : array tmp159 : array tmp161 : array tmp162 : array tmp164 : array tmp166 : array tmp167 : array tmp168 : array tmp17 : array tmp170 : array tmp171 : array tmp172 : array tmp174 : array tmp175 : array tmp176 : array tmp177 : array tmp179 : array tmp181 : array tmp182 : array tmp183 : array tmp184 : array tmp185 : array tmp187 : array tmp188 : array tmp19 : array tmp190 : array tmp192 : array tmp195 : array tmp197 : array tmp199 : array tmp2 : array tmp201 : array tmp204 : array tmp205 : array tmp207 : array tmp209 : array tmp21 : array tmp211 : array tmp213 : array tmp215 : array tmp217 : array tmp219 : array tmp22 : array tmp220 : array tmp221 : array tmp222 : array tmp223 : array tmp225 : array tmp226 : array tmp228 : array tmp23 : array tmp231 : array tmp239 : array tmp241 : array tmp246 : array tmp247 : array tmp249 : array tmp25 : array tmp255 : array tmp257 : array tmp264 : array tmp265 : array tmp267 : array tmp268 : array tmp270 : array tmp271 : array tmp273 : array tmp28 : array tmp280 : array tmp283 : array tmp294 : array tmp296 : array tmp298 : array tmp30 : array tmp300 : array tmp302 : array tmp304 : array tmp310 : array tmp311 : array tmp313 : array tmp314 : array tmp316 : array tmp318 : array tmp32 : array tmp320 : array tmp325 : array tmp326 : array tmp327 : array tmp329 : array tmp33 : array tmp335 : array tmp337 : array tmp339 : array tmp34 : array tmp340 : array tmp344 : array tmp346 : array tmp352 : array tmp354 : array tmp358 : array tmp36 : array tmp362 : array tmp364 : array tmp37 : array tmp388 : array tmp39 : array tmp390 : array tmp4 : array tmp417 : array tmp418 : array tmp419 : array tmp42 : array tmp421 : array tmp423 : array tmp437 : array tmp439 : array tmp44 : array tmp441 : array tmp442 : array tmp46 : array tmp47 : array tmp48 : array tmp5 : array tmp50 : array tmp52 : array tmp54 : array tmp55 : array tmp56 : array tmp57 : array tmp59 : array tmp60 : array tmp62 : array tmp64 : array tmp65 : array tmp67 : array tmp68 : array tmp7 : array tmp70 : array tmp72 : array tmp74 : array tmp75 : array tmp77 : array tmp78 : array tmp79 : array tmp8 : array tmp80 : array tmp82 : array tmp83 : array tmp85 : array tmp87 : array tmp89 : array tmp91 : array tmp94 : array tmp97 : array \"\"\" tmp29 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp31 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t1 . bb , ( 1 , 2 ), ( 0 ,)) tmp106 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp27 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp170 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp325 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp47 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp29 , ( 0 ,), ( 1 , 2 )) tmp48 = einsum ( tmp31 , ( 0 ,), v . baa . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp44 = einsum ( tmp31 , ( 0 ,), v . bbb . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp107 = einsum ( tmp106 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp39 = einsum ( tmp29 , ( 0 ,), v . baa . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp99 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp27 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp166 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp59 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp77 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp82 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp56 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp230 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp106 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp351 = einsum ( tmp106 , ( 0 , 1 , 2 ), tmp106 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp41 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp45 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp194 = einsum ( tmp27 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp196 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp106 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp334 = einsum ( tmp106 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp171 = einsum ( tmp170 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 2 , 3 ), ( 4 , 0 , 5 , 1 )) tmp326 = einsum ( tmp325 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 1 , 0 )) * - 1 tmp54 = einsum ( tmp27 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp137 = einsum ( tmp106 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp282 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp279 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp25 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp64 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp36 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp246 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp227 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp225 = einsum ( t1 . bb , ( 0 , 1 ), tmp47 , ( 2 , 1 ), ( 0 , 2 )) tmp176 = einsum ( tmp48 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp221 = einsum ( tmp44 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp219 = einsum ( tmp107 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp175 = einsum ( tmp39 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp174 = einsum ( tmp99 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp208 = einsum ( tmp31 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp206 = einsum ( tmp29 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp203 = einsum ( tmp31 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp198 = einsum ( tmp29 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp189 = einsum ( tmp27 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp187 = einsum ( tmp29 , ( 0 ,), v . bbb . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp32 = einsum ( tmp31 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp183 = einsum ( tmp31 , ( 0 ,), v . bbb . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp31 tmp181 = einsum ( tmp106 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp30 = einsum ( tmp29 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp29 tmp28 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp27 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp167 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp166 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 5 , 4 )) * - 1 tmp60 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp161 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp77 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp158 = einsum ( tmp82 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp57 = einsum ( tmp56 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp142 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp106 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp50 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp96 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp93 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp67 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp23 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp33 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp21 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 0 , 2 )) tmp1 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 2 , 1 ), ( 2 , 0 )) tmp442 = einsum ( tmp170 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp441 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp439 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp77 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp437 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp82 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp423 = einsum ( tmp325 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp421 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp325 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp419 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp418 = einsum ( tmp170 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp417 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp390 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp388 = einsum ( tmp56 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp364 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp166 , ( 0 , 4 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp362 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp166 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp358 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp354 = einsum ( tmp230 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp352 = einsum ( tmp351 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp351 tmp346 = einsum ( tmp41 , ( 0 , 1 , 2 ), tmp106 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp344 = einsum ( tmp106 , ( 0 , 1 , 2 ), tmp45 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp340 = einsum ( tmp194 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp339 = einsum ( tmp196 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) tmp337 = einsum ( tmp334 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp335 = einsum ( tmp334 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp334 tmp329 = einsum ( tmp171 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp327 = einsum ( tmp326 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 1 tmp320 = einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp318 = einsum ( tmp106 , ( 0 , 1 , 2 ), tmp77 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp316 = einsum ( tmp56 , ( 0 , 1 , 2 ), tmp106 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp314 = einsum ( tmp137 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp313 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp137 , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 5 , 2 )) tmp311 = einsum ( tmp106 , ( 0 , 1 , 2 ), tmp82 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp310 = einsum ( tmp59 , ( 0 , 1 , 2 ), tmp106 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp304 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp47 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp302 = einsum ( tmp47 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp300 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp44 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp298 = einsum ( tmp44 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp296 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp107 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp294 = einsum ( tmp107 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp283 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp282 , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) del tmp282 tmp280 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp279 , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) * - 1 del tmp279 tmp273 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp77 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp271 = einsum ( tmp56 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp270 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp25 , ( 0 , 4 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp268 = einsum ( tmp82 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp267 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp265 = einsum ( tmp64 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) tmp264 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp64 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp257 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp41 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp255 = einsum ( tmp45 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp249 = einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp247 = einsum ( tmp246 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 3 , 0 , 2 , 4 )) tmp241 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp239 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp231 = einsum ( tmp230 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp230 tmp228 = einsum ( t1 . aa , ( 0 , 1 ), tmp227 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) del tmp227 tmp226 = einsum ( tmp225 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp223 = einsum ( tmp176 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp222 = einsum ( tmp221 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp220 = einsum ( tmp219 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp217 = einsum ( tmp175 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp215 = einsum ( tmp174 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp213 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp45 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp211 = einsum ( tmp41 , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp209 = einsum ( tmp208 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) del tmp208 tmp207 = einsum ( t1 . bb , ( 0 , 1 ), tmp206 , ( 2 , 1 ), ( 0 , 2 )) del tmp206 tmp205 = einsum ( tmp45 , ( 0 , 1 , 2 ), tmp106 , ( 0 , 3 , 1 ), ( 3 , 2 )) del tmp106 tmp204 = einsum ( t1 . bb , ( 0 , 1 ), tmp203 , ( 2 , 1 ), ( 0 , 2 )) del tmp203 tmp201 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp41 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp199 = einsum ( tmp198 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) del tmp198 tmp197 = einsum ( tmp196 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp196 tmp195 = einsum ( tmp194 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) del tmp194 tmp192 = einsum ( t1 . aa , ( 0 , 1 ), tmp189 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp190 = einsum ( t1 . aa , ( 0 , 1 ), tmp189 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) del tmp189 tmp188 = einsum ( tmp187 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp185 = einsum ( tmp32 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp184 = einsum ( tmp183 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp182 = einsum ( tmp181 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp179 = einsum ( tmp30 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp177 = einsum ( tmp28 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp172 = einsum ( tmp171 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp168 = einsum ( t1 . aa , ( 0 , 1 ), tmp167 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp164 = einsum ( t1 . aa , ( 0 , 1 ), tmp60 , ( 2 , 0 ), ( 2 , 1 )) tmp162 = einsum ( tmp161 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp159 = einsum ( tmp158 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp156 = einsum ( tmp57 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp155 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp142 , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 5 , 3 )) tmp153 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp82 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp151 = einsum ( tmp59 , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp150 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) tmp148 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp147 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp77 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp145 = einsum ( tmp56 , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) del tmp27 tmp143 = einsum ( tmp142 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) tmp140 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp54 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp138 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp137 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp135 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp133 = einsum ( tmp48 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp131 = einsum ( tmp48 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp129 = einsum ( tmp39 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp127 = einsum ( tmp39 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp125 = einsum ( tmp99 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp123 = einsum ( tmp99 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp121 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp47 , ( 1 , 3 ), ( 0 , 2 )) tmp119 = einsum ( tmp47 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp118 = einsum ( tmp48 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp116 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp48 , ( 1 , 3 ), ( 0 , 2 )) tmp114 = einsum ( tmp44 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp112 = einsum ( tmp44 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp110 = einsum ( tmp107 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp108 = einsum ( tmp107 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp107 tmp105 = einsum ( tmp39 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp103 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp39 , ( 1 , 3 ), ( 0 , 2 )) tmp102 = einsum ( tmp99 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp100 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp99 , ( 1 , 3 ), ( 0 , 2 )) del tmp99 tmp97 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp96 , ( 4 , 2 , 3 , 5 ), ( 0 , 4 , 1 , 5 )) del tmp96 tmp94 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp93 , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) * - 1 del tmp93 tmp91 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp59 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp89 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp77 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp87 = einsum ( tmp82 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * - 1 tmp85 = einsum ( tmp56 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * - 1 tmp83 = einsum ( tmp82 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp80 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp79 = einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) tmp78 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp77 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp75 = einsum ( tmp56 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp74 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp72 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) tmp70 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp68 = einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) tmp65 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp64 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp62 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp55 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp45 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp52 = einsum ( tmp41 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp46 = einsum ( tmp45 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) del tmp45 tmp42 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp41 , ( 0 , 2 , 3 ), ( 1 , 3 )) del tmp41 tmp37 = einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 1 , 0 , 2 , 4 )) tmp34 = einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 3 , 0 , 2 , 4 )) tmp22 = einsum ( tmp21 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp19 = einsum ( tmp1 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp17 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp15 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp13 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp11 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp10 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 0 , 2 ), ( 1 , 3 )) tmp8 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp7 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . vv , ( 2 , 1 ), ( 0 , 2 )) tmp5 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . vv , ( 2 , 1 ), ( 0 , 2 )) tmp4 = einsum ( f . bb . oo , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp2 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . oo , ( 2 , 0 ), ( 2 , 1 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp102\" : tmp102 , f \"tmp103\" : tmp103 , f \"tmp105\" : tmp105 , f \"tmp108\" : tmp108 , f \"tmp11\" : tmp11 , f \"tmp110\" : tmp110 , f \"tmp112\" : tmp112 , f \"tmp114\" : tmp114 , f \"tmp116\" : tmp116 , f \"tmp118\" : tmp118 , f \"tmp119\" : tmp119 , f \"tmp121\" : tmp121 , f \"tmp123\" : tmp123 , f \"tmp125\" : tmp125 , f \"tmp127\" : tmp127 , f \"tmp129\" : tmp129 , f \"tmp13\" : tmp13 , f \"tmp131\" : tmp131 , f \"tmp133\" : tmp133 , f \"tmp135\" : tmp135 , f \"tmp137\" : tmp137 , f \"tmp138\" : tmp138 , f \"tmp140\" : tmp140 , f \"tmp142\" : tmp142 , f \"tmp143\" : tmp143 , f \"tmp145\" : tmp145 , f \"tmp147\" : tmp147 , f \"tmp148\" : tmp148 , f \"tmp15\" : tmp15 , f \"tmp150\" : tmp150 , f \"tmp151\" : tmp151 , f \"tmp153\" : tmp153 , f \"tmp155\" : tmp155 , f \"tmp156\" : tmp156 , f \"tmp158\" : tmp158 , f \"tmp159\" : tmp159 , f \"tmp161\" : tmp161 , f \"tmp162\" : tmp162 , f \"tmp164\" : tmp164 , f \"tmp166\" : tmp166 , f \"tmp167\" : tmp167 , f \"tmp168\" : tmp168 , f \"tmp17\" : tmp17 , f \"tmp170\" : tmp170 , f \"tmp171\" : tmp171 , f \"tmp172\" : tmp172 , f \"tmp174\" : tmp174 , f \"tmp175\" : tmp175 , f \"tmp176\" : tmp176 , f \"tmp177\" : tmp177 , f \"tmp179\" : tmp179 , f \"tmp181\" : tmp181 , f \"tmp182\" : tmp182 , f \"tmp183\" : tmp183 , f \"tmp184\" : tmp184 , f \"tmp185\" : tmp185 , f \"tmp187\" : tmp187 , f \"tmp188\" : tmp188 , f \"tmp19\" : tmp19 , f \"tmp190\" : tmp190 , f \"tmp192\" : tmp192 , f \"tmp195\" : tmp195 , f \"tmp197\" : tmp197 , f \"tmp199\" : tmp199 , f \"tmp2\" : tmp2 , f \"tmp201\" : tmp201 , f \"tmp204\" : tmp204 , f \"tmp205\" : tmp205 , f \"tmp207\" : tmp207 , f \"tmp209\" : tmp209 , f \"tmp21\" : tmp21 , f \"tmp211\" : tmp211 , f \"tmp213\" : tmp213 , f \"tmp215\" : tmp215 , f \"tmp217\" : tmp217 , f \"tmp219\" : tmp219 , f \"tmp22\" : tmp22 , f \"tmp220\" : tmp220 , f \"tmp221\" : tmp221 , f \"tmp222\" : tmp222 , f \"tmp223\" : tmp223 , f \"tmp225\" : tmp225 , f \"tmp226\" : tmp226 , f \"tmp228\" : tmp228 , f \"tmp23\" : tmp23 , f \"tmp231\" : tmp231 , f \"tmp239\" : tmp239 , f \"tmp241\" : tmp241 , f \"tmp246\" : tmp246 , f \"tmp247\" : tmp247 , f \"tmp249\" : tmp249 , f \"tmp25\" : tmp25 , f \"tmp255\" : tmp255 , f \"tmp257\" : tmp257 , f \"tmp264\" : tmp264 , f \"tmp265\" : tmp265 , f \"tmp267\" : tmp267 , f \"tmp268\" : tmp268 , f \"tmp270\" : tmp270 , f \"tmp271\" : tmp271 , f \"tmp273\" : tmp273 , f \"tmp28\" : tmp28 , f \"tmp280\" : tmp280 , f \"tmp283\" : tmp283 , f \"tmp294\" : tmp294 , f \"tmp296\" : tmp296 , f \"tmp298\" : tmp298 , f \"tmp30\" : tmp30 , f \"tmp300\" : tmp300 , f \"tmp302\" : tmp302 , f \"tmp304\" : tmp304 , f \"tmp310\" : tmp310 , f \"tmp311\" : tmp311 , f \"tmp313\" : tmp313 , f \"tmp314\" : tmp314 , f \"tmp316\" : tmp316 , f \"tmp318\" : tmp318 , f \"tmp32\" : tmp32 , f \"tmp320\" : tmp320 , f \"tmp325\" : tmp325 , f \"tmp326\" : tmp326 , f \"tmp327\" : tmp327 , f \"tmp329\" : tmp329 , f \"tmp33\" : tmp33 , f \"tmp335\" : tmp335 , f \"tmp337\" : tmp337 , f \"tmp339\" : tmp339 , f \"tmp34\" : tmp34 , f \"tmp340\" : tmp340 , f \"tmp344\" : tmp344 , f \"tmp346\" : tmp346 , f \"tmp352\" : tmp352 , f \"tmp354\" : tmp354 , f \"tmp358\" : tmp358 , f \"tmp36\" : tmp36 , f \"tmp362\" : tmp362 , f \"tmp364\" : tmp364 , f \"tmp37\" : tmp37 , f \"tmp388\" : tmp388 , f \"tmp39\" : tmp39 , f \"tmp390\" : tmp390 , f \"tmp4\" : tmp4 , f \"tmp417\" : tmp417 , f \"tmp418\" : tmp418 , f \"tmp419\" : tmp419 , f \"tmp42\" : tmp42 , f \"tmp421\" : tmp421 , f \"tmp423\" : tmp423 , f \"tmp437\" : tmp437 , f \"tmp439\" : tmp439 , f \"tmp44\" : tmp44 , f \"tmp441\" : tmp441 , f \"tmp442\" : tmp442 , f \"tmp46\" : tmp46 , f \"tmp47\" : tmp47 , f \"tmp48\" : tmp48 , f \"tmp5\" : tmp5 , f \"tmp50\" : tmp50 , f \"tmp52\" : tmp52 , f \"tmp54\" : tmp54 , f \"tmp55\" : tmp55 , f \"tmp56\" : tmp56 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp60\" : tmp60 , f \"tmp62\" : tmp62 , f \"tmp64\" : tmp64 , f \"tmp65\" : tmp65 , f \"tmp67\" : tmp67 , f \"tmp68\" : tmp68 , f \"tmp7\" : tmp7 , f \"tmp70\" : tmp70 , f \"tmp72\" : tmp72 , f \"tmp74\" : tmp74 , f \"tmp75\" : tmp75 , f \"tmp77\" : tmp77 , f \"tmp78\" : tmp78 , f \"tmp79\" : tmp79 , f \"tmp8\" : tmp8 , f \"tmp80\" : tmp80 , f \"tmp82\" : tmp82 , f \"tmp83\" : tmp83 , f \"tmp85\" : tmp85 , f \"tmp87\" : tmp87 , f \"tmp89\" : tmp89 , f \"tmp91\" : tmp91 , f \"tmp94\" : tmp94 , f \"tmp97\" : tmp97 }","title":"Returns"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.hbar_lmatvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T20:57:33.309403.","title":"hbar_lmatvec_ip"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.hbar_lmatvec_ip--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.hbar_lmatvec_ip--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UDFCC2.py 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:57:33.309403. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp15 = np . copy ( ints . tmp77 ) tmp15 += v . bbb . xov tmp15 += ints . tmp82 * 2 tmp13 = np . copy ( ints . tmp59 ) tmp13 += v . baa . xov tmp13 += ints . tmp56 * 2 tmp39 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), t2 . bbbb , ( 0 , 1 , 3 , 2 ), ( 3 ,)) tmp38 = einsum ( r2 . aba , ( 0 , 1 , 2 ), t2 . abab , ( 0 , 1 , 2 , 3 ), ( 3 ,)) tmp34 = np . copy ( ints . tmp56 ) * 2 del ints . tmp56 tmp34 += ints . tmp59 del ints . tmp59 tmp34 += v . baa . xov tmp16 = einsum ( tmp15 , ( 0 , 1 , 2 ), r2 . bab , ( 1 , 3 , 2 ), ( 0 , 3 )) * - 1 tmp14 = einsum ( tmp13 , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 1 , 2 ), ( 0 , 3 )) * - 1 del tmp13 tmp53 = np . copy ( f . bb . oo ) tmp53 += np . transpose ( ints . tmp21 , ( 1 , 0 )) tmp43 = np . copy ( ints . tmp419 ) del ints . tmp419 tmp43 += ints . tmp423 * 2 del ints . tmp423 tmp51 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp15 , ( 3 , 1 , 2 ), ( 3 , 0 )) * - 1 del tmp15 tmp59 = np . copy ( tmp38 ) * - 0.5 tmp59 += tmp39 tmp61 = np . copy ( ints . tmp158 ) * 2 tmp61 += ints . tmp161 tmp35 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp34 , ( 3 , 0 , 2 ), ( 3 , 1 )) tmp25 = np . copy ( ints . tmp57 ) * 2 tmp25 += ints . tmp60 tmp23 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 0 , 1 , 3 ), ( 2 ,)) tmp19 = np . copy ( f . aa . oo ) tmp19 += np . transpose ( ints . tmp1 , ( 1 , 0 )) tmp17 = np . copy ( tmp14 ) * - 2 del tmp14 tmp17 += tmp16 del tmp16 tmp11 = np . copy ( ints . tmp358 ) tmp11 += ints . tmp362 * 2 tmp9 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 0 , 3 , 2 ), ( 3 ,)) * - 1 tmp54 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp53 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp53 tmp50 = einsum ( tmp43 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 0 , 2 ), ( 4 , 1 , 3 )) * - 1 tmp52 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp51 , ( 0 , 3 ), ( 1 , 3 , 2 )) * - 1 del tmp51 tmp60 = einsum ( ints . tmp325 , ( 0 , 1 , 2 , 3 ), tmp59 , ( 3 ,), ( 0 , 1 , 2 )) * 2 del ints . tmp325 , tmp59 tmp62 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp61 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 2 del tmp61 tmp58 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp35 , ( 0 , 3 ), ( 1 , 3 , 2 )) tmp57 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp421 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) tmp56 = einsum ( ints . tmp64 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 1 ,), ( 0 , 2 , 3 )) tmp47 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 0 , 2 ), ( 2 , 1 )) tmp36 = np . copy ( ints . tmp77 ) * 0.5 del ints . tmp77 tmp36 += ints . tmp82 del ints . tmp82 tmp36 += v . bbb . xov * 0.5 tmp29 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 0 , 2 ), ( 2 , 1 )) tmp26 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp25 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 2 del tmp25 tmp24 = einsum ( tmp23 , ( 0 ,), ints . tmp166 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) tmp22 = einsum ( ints . tmp23 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 0 , 2 , 3 )) tmp20 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp19 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp19 tmp18 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp17 , ( 0 , 3 ), ( 1 , 3 , 2 )) del tmp17 tmp12 = einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 0 , 2 ), ( 4 , 1 , 3 )) * - 1 del tmp11 tmp10 = einsum ( ints . tmp166 , ( 0 , 1 , 2 , 3 ), tmp9 , ( 3 ,), ( 0 , 1 , 2 )) del ints . tmp166 tmp8 = einsum ( ints . tmp364 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * - 1 tmp64 = np . copy ( ints . tmp246 ) del ints . tmp246 tmp64 += np . transpose ( ints . tmp326 , ( 2 , 3 , 0 , 1 )) * - 1 del ints . tmp326 tmp55 = np . copy ( np . transpose ( tmp50 , ( 1 , 0 , 2 ))) * - 1 del tmp50 tmp55 += np . transpose ( tmp52 , ( 1 , 0 , 2 )) del tmp52 tmp55 += np . transpose ( tmp54 , ( 1 , 0 , 2 )) * - 1 del tmp54 tmp63 = einsum ( r1 . b , ( 0 ,), f . bb . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) tmp63 += tmp56 del tmp56 tmp63 += tmp57 del tmp57 tmp63 += np . transpose ( tmp58 , ( 1 , 0 , 2 )) del tmp58 tmp63 += tmp60 * - 1 del tmp60 tmp63 += np . transpose ( tmp62 , ( 1 , 0 , 2 )) del tmp62 tmp48 = np . copy ( ints . tmp437 ) * 2 del ints . tmp437 tmp48 += ints . tmp439 del ints . tmp439 tmp48 += f . bb . vv * - 1 tmp48 += np . transpose ( tmp47 , ( 1 , 0 )) del tmp47 tmp44 = np . copy ( ints . tmp441 ) del ints . tmp441 tmp44 += np . transpose ( ints . tmp442 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp442 tmp46 = einsum ( tmp34 , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 1 , 2 ), ( 0 , 3 )) del tmp34 tmp46 += einsum ( tmp36 , ( 0 , 1 , 2 ), r2 . bab , ( 1 , 3 , 2 ), ( 0 , 3 )) * - 1 tmp45 = np . copy ( ints . tmp171 ) tmp45 += np . transpose ( ints . tmp36 , ( 1 , 0 , 2 , 3 )) tmp49 = np . copy ( tmp23 ) * 2 del tmp23 tmp49 += tmp9 del tmp9 tmp42 = np . copy ( f . bb . oo ) tmp42 += ints . tmp158 * 2 tmp42 += ints . tmp161 tmp42 += np . transpose ( ints . tmp21 , ( 1 , 0 )) tmp41 = np . copy ( f . aa . oo ) tmp41 += np . transpose ( ints . tmp1 , ( 1 , 0 )) tmp41 += ints . tmp57 * 2 tmp41 += ints . tmp60 tmp30 = np . copy ( ints . tmp388 ) * 2 del ints . tmp388 tmp30 += ints . tmp390 del ints . tmp390 tmp30 += f . aa . vv * - 1 tmp30 += np . transpose ( tmp29 , ( 1 , 0 )) del tmp29 tmp37 = np . copy ( tmp35 ) * - 1 del tmp35 tmp37 += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp36 , ( 3 , 1 , 2 ), ( 3 , 0 )) * 4 del tmp36 tmp32 = np . copy ( ints . tmp358 ) del ints . tmp358 tmp32 += ints . tmp362 * 2 del ints . tmp362 tmp40 = np . copy ( tmp38 ) * - 1 del tmp38 tmp40 += tmp39 * 2 del tmp39 tmp33 = np . copy ( ints . tmp171 ) del ints . tmp171 tmp33 += np . transpose ( ints . tmp36 , ( 0 , 1 , 3 , 2 )) del ints . tmp36 tmp31 = np . copy ( ints . tmp417 ) del ints . tmp417 tmp31 += np . transpose ( ints . tmp418 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp418 tmp27 = einsum ( r1 . a , ( 0 ,), f . aa . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 tmp27 += tmp22 * - 1 del tmp22 tmp27 += tmp24 * 2 del tmp24 tmp27 += np . transpose ( tmp26 , ( 1 , 0 , 2 )) * - 1 del tmp26 tmp21 = np . copy ( tmp8 ) del tmp8 tmp21 += tmp10 del tmp10 tmp21 += np . transpose ( tmp12 , ( 1 , 0 , 2 )) * - 2 del tmp12 tmp21 += np . transpose ( tmp18 , ( 1 , 0 , 2 )) del tmp18 tmp21 += np . transpose ( tmp20 , ( 1 , 0 , 2 )) * - 2 del tmp20 tmp28 = np . copy ( ints . tmp167 ) del ints . tmp167 tmp28 += np . transpose ( ints . tmp33 , ( 2 , 3 , 0 , 1 )) * - 1 del ints . tmp33 tmp7 = np . copy ( f . bb . oo ) tmp7 += ints . tmp158 * 2 del ints . tmp158 tmp7 += ints . tmp161 del ints . tmp161 tmp7 += np . transpose ( ints . tmp183 , ( 1 , 0 )) del ints . tmp183 tmp7 += np . transpose ( ints . tmp187 , ( 1 , 0 )) del ints . tmp187 tmp7 += np . transpose ( ints . tmp21 , ( 1 , 0 )) del ints . tmp21 tmp7 += ints . tmp221 del ints . tmp221 tmp7 += ints . tmp225 del ints . tmp225 tmp7 += ints . tmp181 * - 1 del ints . tmp181 tmp7 += ints . tmp219 * - 1 del ints . tmp219 tmp3 = np . copy ( ints . tmp100 ) del ints . tmp100 tmp3 += ints . tmp108 * 0.5 del ints . tmp108 tmp3 += ints . tmp135 del ints . tmp135 tmp3 += ints . tmp140 * 0.5 del ints . tmp140 tmp3 += ints . tmp156 del ints . tmp156 tmp3 += ints . tmp164 * 0.5 del ints . tmp164 tmp3 += ints . tmp179 * 0.5 del ints . tmp179 tmp3 += ints . tmp185 * 0.5 del ints . tmp185 tmp3 += ints . tmp19 * 0.5 del ints . tmp19 tmp3 += ints . tmp201 * 0.5 del ints . tmp201 tmp3 += ints . tmp217 * 0.5 del ints . tmp217 tmp3 += ints . tmp223 * 0.5 del ints . tmp223 tmp3 += ints . tmp2 * 0.5 del ints . tmp2 tmp3 += ints . tmp42 * 0.5 del ints . tmp42 tmp3 += ints . tmp62 del ints . tmp62 tmp3 += ints . tmp70 * 0.5 del ints . tmp70 tmp3 += ints . tmp85 del ints . tmp85 tmp3 += f . aa . ov * - 0.5 tmp3 += ints . tmp103 * - 1 del ints . tmp103 tmp3 += ints . tmp112 * - 0.5 del ints . tmp112 tmp3 += ints . tmp116 * - 1 del ints . tmp116 tmp3 += ints . tmp119 * - 0.5 del ints . tmp119 tmp3 += ints . tmp11 * - 0.5 del ints . tmp11 tmp3 += ints . tmp177 * - 0.5 del ints . tmp177 tmp3 += ints . tmp199 * - 0.5 del ints . tmp199 tmp3 += ints . tmp209 * - 0.5 del ints . tmp209 tmp3 += ints . tmp215 * - 0.5 del ints . tmp215 tmp3 += ints . tmp39 * - 0.5 del ints . tmp39 tmp3 += ints . tmp48 * - 0.5 del ints . tmp48 tmp3 += ints . tmp5 * - 0.5 del ints . tmp5 tmp3 += ints . tmp8 * - 1 del ints . tmp8 tmp3 += ints . tmp91 * - 0.5 del ints . tmp91 tmp5 = np . copy ( ints . tmp142 ) del ints . tmp142 tmp5 += np . transpose ( ints . tmp239 , ( 0 , 2 , 1 , 3 )) del ints . tmp239 tmp5 += np . transpose ( ints . tmp257 , ( 0 , 2 , 1 , 3 )) del ints . tmp257 tmp5 += ints . tmp267 del ints . tmp267 tmp5 += ints . tmp271 * 2 del ints . tmp271 tmp5 += ints . tmp283 del ints . tmp283 tmp5 += ints . tmp298 del ints . tmp298 tmp5 += ints . tmp302 del ints . tmp302 tmp5 += ints . tmp310 del ints . tmp310 tmp5 += ints . tmp316 * 2 del ints . tmp316 tmp5 += ints . tmp346 del ints . tmp346 tmp5 += np . transpose ( ints . tmp67 , ( 0 , 2 , 1 , 3 )) tmp5 += np . transpose ( ints . tmp249 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp249 tmp5 += ints . tmp264 * - 1 del ints . tmp264 tmp5 += ints . tmp270 * - 1 del ints . tmp270 tmp5 += ints . tmp294 * - 1 del ints . tmp294 tmp5 += ints . tmp313 * - 1 del ints . tmp313 tmp5 += ints . tmp320 * - 1 del ints . tmp320 tmp5 += ints . tmp329 * - 1 del ints . tmp329 tmp5 += ints . tmp339 * - 1 del ints . tmp339 tmp5 += np . transpose ( ints . tmp340 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp340 tmp5 += ints . tmp354 * - 1 del ints . tmp354 tmp2 = np . copy ( ints . tmp102 ) * 0.5 del ints . tmp102 tmp2 += ints . tmp110 del ints . tmp110 tmp2 += ints . tmp138 del ints . tmp138 tmp2 += ints . tmp143 * 0.5 del ints . tmp143 tmp2 += ints . tmp159 del ints . tmp159 tmp2 += ints . tmp162 * 0.5 del ints . tmp162 tmp2 += ints . tmp184 * 0.5 del ints . tmp184 tmp2 += ints . tmp188 * 0.5 del ints . tmp188 tmp2 += ints . tmp205 * 0.5 del ints . tmp205 tmp2 += ints . tmp222 * 0.5 del ints . tmp222 tmp2 += ints . tmp226 * 0.5 del ints . tmp226 tmp2 += ints . tmp22 * 0.5 del ints . tmp22 tmp2 += ints . tmp46 * 0.5 del ints . tmp46 tmp2 += ints . tmp4 * 0.5 del ints . tmp4 tmp2 += ints . tmp65 del ints . tmp65 tmp2 += ints . tmp68 * 0.5 del ints . tmp68 tmp2 += ints . tmp87 del ints . tmp87 tmp2 += f . bb . ov * - 0.5 tmp2 += ints . tmp105 * - 0.5 del ints . tmp105 tmp2 += ints . tmp10 * - 0.5 del ints . tmp10 tmp2 += ints . tmp114 * - 1 del ints . tmp114 tmp2 += ints . tmp118 * - 0.5 del ints . tmp118 tmp2 += ints . tmp121 * - 1 del ints . tmp121 tmp2 += ints . tmp13 * - 1 del ints . tmp13 tmp2 += ints . tmp182 * - 0.5 del ints . tmp182 tmp2 += ints . tmp204 * - 0.5 del ints . tmp204 tmp2 += ints . tmp207 * - 0.5 del ints . tmp207 tmp2 += ints . tmp220 * - 0.5 del ints . tmp220 tmp2 += ints . tmp44 * - 0.5 del ints . tmp44 tmp2 += ints . tmp47 * - 0.5 del ints . tmp47 tmp2 += ints . tmp7 * - 0.5 del ints . tmp7 tmp2 += ints . tmp89 * - 0.5 del ints . tmp89 tmp6 = np . copy ( np . transpose ( ints . tmp241 , ( 1 , 2 , 0 , 3 ))) del ints . tmp241 tmp6 += np . transpose ( ints . tmp247 , ( 0 , 2 , 1 , 3 )) del ints . tmp247 tmp6 += np . transpose ( ints . tmp255 , ( 0 , 2 , 1 , 3 )) del ints . tmp255 tmp6 += ints . tmp268 * 2 del ints . tmp268 tmp6 += ints . tmp273 del ints . tmp273 tmp6 += ints . tmp300 del ints . tmp300 tmp6 += ints . tmp304 del ints . tmp304 tmp6 += ints . tmp314 * 2 del ints . tmp314 tmp6 += ints . tmp327 del ints . tmp327 tmp6 += ints . tmp335 del ints . tmp335 tmp6 += ints . tmp352 del ints . tmp352 tmp6 += ints . tmp137 * - 1 del ints . tmp137 tmp6 += ints . tmp265 * - 2 del ints . tmp265 tmp6 += ints . tmp280 * - 1 del ints . tmp280 tmp6 += ints . tmp296 * - 1 del ints . tmp296 tmp6 += ints . tmp311 * - 2 del ints . tmp311 tmp6 += ints . tmp318 * - 1 del ints . tmp318 tmp6 += np . transpose ( ints . tmp337 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp337 tmp6 += ints . tmp344 * - 1 del ints . tmp344 tmp6 += np . transpose ( ints . tmp64 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp64 tmp4 = np . copy ( f . aa . oo ) tmp4 += ints . tmp175 del ints . tmp175 tmp4 += ints . tmp176 del ints . tmp176 tmp4 += np . transpose ( ints . tmp1 , ( 1 , 0 )) del ints . tmp1 tmp4 += np . transpose ( ints . tmp30 , ( 1 , 0 )) del ints . tmp30 tmp4 += np . transpose ( ints . tmp32 , ( 1 , 0 )) del ints . tmp32 tmp4 += ints . tmp57 * 2 del ints . tmp57 tmp4 += ints . tmp60 del ints . tmp60 tmp4 += ints . tmp174 * - 1 del ints . tmp174 tmp4 += ints . tmp28 * - 1 del ints . tmp28 tmp0 = np . copy ( ints . tmp129 ) del ints . tmp129 tmp0 += ints . tmp133 del ints . tmp133 tmp0 += ints . tmp147 del ints . tmp147 tmp0 += ints . tmp153 * 2 del ints . tmp153 tmp0 += np . transpose ( ints . tmp17 , ( 1 , 0 , 2 , 3 )) del ints . tmp17 tmp0 += ints . tmp213 del ints . tmp213 tmp0 += np . transpose ( ints . tmp25 , ( 1 , 0 , 2 , 3 )) tmp0 += ints . tmp54 del ints . tmp54 tmp0 += np . transpose ( ints . tmp55 , ( 1 , 0 , 2 , 3 )) del ints . tmp55 tmp0 += ints . tmp78 del ints . tmp78 tmp0 += ints . tmp83 * 2 del ints . tmp83 tmp0 += ints . tmp97 del ints . tmp97 tmp0 += ints . tmp125 * - 1 del ints . tmp125 tmp0 += ints . tmp150 * - 1 del ints . tmp150 tmp0 += ints . tmp155 * - 1 del ints . tmp155 tmp0 += ints . tmp172 * - 1 del ints . tmp172 tmp0 += ints . tmp195 * - 1 del ints . tmp195 tmp0 += np . transpose ( ints . tmp197 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp197 tmp0 += ints . tmp231 * - 1 del ints . tmp231 tmp0 += ints . tmp37 * - 1 del ints . tmp37 tmp0 += ints . tmp74 * - 1 del ints . tmp74 tmp0 += ints . tmp79 * - 1 del ints . tmp79 tmp1 = np . copy ( ints . tmp127 ) del ints . tmp127 tmp1 += ints . tmp131 del ints . tmp131 tmp1 += ints . tmp148 * 2 del ints . tmp148 tmp1 += np . transpose ( ints . tmp15 , ( 1 , 2 , 0 , 3 )) del ints . tmp15 tmp1 += ints . tmp168 del ints . tmp168 tmp1 += ints . tmp190 del ints . tmp190 tmp1 += ints . tmp228 del ints . tmp228 tmp1 += np . transpose ( ints . tmp34 , ( 0 , 2 , 1 , 3 )) del ints . tmp34 tmp1 += np . transpose ( ints . tmp52 , ( 0 , 2 , 1 , 3 )) del ints . tmp52 tmp1 += ints . tmp75 * 2 del ints . tmp75 tmp1 += ints . tmp80 del ints . tmp80 tmp1 += ints . tmp123 * - 1 del ints . tmp123 tmp1 += ints . tmp145 * - 2 del ints . tmp145 tmp1 += ints . tmp151 * - 1 del ints . tmp151 tmp1 += np . transpose ( ints . tmp192 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp192 tmp1 += ints . tmp211 * - 1 del ints . tmp211 tmp1 += np . transpose ( ints . tmp23 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp23 tmp1 += ints . tmp50 * - 1 del ints . tmp50 tmp1 += ints . tmp72 * - 2 del ints . tmp72 tmp1 += ints . tmp94 * - 1 del ints . tmp94 r2new . bbb = np . copy ( tmp55 ) * 2 r2new . bbb += np . transpose ( tmp55 , ( 1 , 0 , 2 )) * - 2 del tmp55 r2new . bbb += tmp63 * - 1 r2new . bbb += np . transpose ( tmp63 , ( 1 , 0 , 2 )) del tmp63 r2new . bbb += einsum ( tmp64 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 2 , 4 ), ( 0 , 1 , 4 )) * 2 del tmp64 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp48 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 r2new . bab = einsum ( ints . tmp25 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 2 , 0 , 3 )) del ints . tmp25 r2new . bab += einsum ( ints . tmp421 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 0 , 2 ), ( 1 , 4 , 3 )) * 2 del ints . tmp421 r2new . bab += einsum ( r1 . a , ( 0 ,), f . bb . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp43 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) * - 1 del tmp43 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp44 , ( 3 , 1 , 2 , 4 ), ( 0 , 3 , 4 )) * - 1 del tmp44 r2new . bab += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 0 , 4 ), ( 3 , 1 , 4 )) del tmp45 r2new . bab += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp46 , ( 0 , 3 ), ( 1 , 3 , 2 )) * - 2 del tmp46 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp48 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp48 r2new . bab += einsum ( ints . tmp170 , ( 0 , 1 , 2 , 3 ), tmp49 , ( 2 ,), ( 1 , 0 , 3 )) del tmp49 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp41 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp42 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new . aba = einsum ( r1 . b , ( 0 ,), ints . tmp67 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del ints . tmp67 r2new . aba += einsum ( f . aa . ov , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) * - 1 r2new . aba += einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp364 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) * 2 del ints . tmp364 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp31 , ( 3 , 1 , 2 , 4 ), ( 0 , 3 , 4 )) * - 1 del tmp31 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp32 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) * - 1 del tmp32 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp33 , ( 0 , 3 , 1 , 4 ), ( 3 , 4 , 2 )) del tmp33 r2new . aba += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp37 , ( 0 , 3 ), ( 1 , 3 , 2 )) * - 1 del tmp37 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp30 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( ints . tmp170 , ( 0 , 1 , 2 , 3 ), tmp40 , ( 3 ,), ( 0 , 1 , 2 )) del ints . tmp170 , tmp40 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp41 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp41 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp42 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp42 r2new . aaa = np . copy ( tmp21 ) r2new . aaa += np . transpose ( tmp21 , ( 1 , 0 , 2 )) * - 1 del tmp21 r2new . aaa += tmp27 r2new . aaa += np . transpose ( tmp27 , ( 1 , 0 , 2 )) * - 1 del tmp27 r2new . aaa += einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 1 , 0 , 4 ), ( 2 , 3 , 4 )) * - 2 del tmp28 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp30 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp30 r1new . b = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 1 , 3 ), ( 2 ,)) del tmp5 r1new . b += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 1 , 0 , 3 ), ( 2 ,)) * - 2 del tmp6 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp3 , ( 0 , 2 ), ( 1 ,)) * 2 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp2 , ( 1 , 2 ), ( 0 ,)) * - 4 r1new . b += einsum ( r1 . b , ( 0 ,), tmp7 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp7 r1new . a = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 0 , 3 ), ( 1 ,)) del tmp0 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp1 , ( 1 , 0 , 3 , 2 ), ( 3 ,)) * - 2 del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 1 ), ( 2 ,)) * 2 del tmp2 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp3 , ( 1 , 2 ), ( 0 ,)) * - 4 del tmp3 r1new . a += einsum ( tmp4 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.hbar_lmatvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T20:59:44.055032.","title":"hbar_lmatvec_ea_intermediates"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.hbar_lmatvec_ea_intermediates--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.hbar_lmatvec_ea_intermediates--returns","text":"tmp10 : array tmp100 : array tmp102 : array tmp103 : array tmp105 : array tmp106 : array tmp108 : array tmp11 : array tmp110 : array tmp111 : array tmp113 : array tmp115 : array tmp117 : array tmp119 : array tmp121 : array tmp122 : array tmp124 : array tmp13 : array tmp132 : array tmp133 : array tmp135 : array tmp136 : array tmp138 : array tmp139 : array tmp141 : array tmp142 : array tmp144 : array tmp146 : array tmp148 : array tmp149 : array tmp151 : array tmp152 : array tmp154 : array tmp155 : array tmp157 : array tmp158 : array tmp160 : array tmp162 : array tmp163 : array tmp165 : array tmp166 : array tmp168 : array tmp170 : array tmp172 : array tmp175 : array tmp178 : array tmp180 : array tmp182 : array tmp185 : array tmp19 : array tmp190 : array tmp192 : array tmp194 : array tmp195 : array tmp196 : array tmp197 : array tmp198 : array tmp199 : array tmp2 : array tmp20 : array tmp201 : array tmp203 : array tmp205 : array tmp206 : array tmp208 : array tmp211 : array tmp214 : array tmp216 : array tmp218 : array tmp22 : array tmp221 : array tmp23 : array tmp236 : array tmp239 : array tmp24 : array tmp243 : array tmp246 : array tmp250 : array tmp251 : array tmp253 : array tmp255 : array tmp257 : array tmp26 : array tmp263 : array tmp265 : array tmp271 : array tmp272 : array tmp274 : array tmp275 : array tmp277 : array tmp279 : array tmp281 : array tmp29 : array tmp301 : array tmp303 : array tmp309 : array tmp31 : array tmp310 : array tmp312 : array tmp313 : array tmp315 : array tmp317 : array tmp319 : array tmp33 : array tmp330 : array tmp332 : array tmp334 : array tmp335 : array tmp34 : array tmp36 : array tmp365 : array tmp38 : array tmp387 : array tmp4 : array tmp40 : array tmp41 : array tmp42 : array tmp430 : array tmp44 : array tmp47 : array tmp49 : array tmp5 : array tmp52 : array tmp53 : array tmp55 : array tmp57 : array tmp58 : array tmp60 : array tmp61 : array tmp63 : array tmp64 : array tmp66 : array tmp67 : array tmp69 : array tmp7 : array tmp70 : array tmp72 : array tmp73 : array tmp75 : array tmp77 : array tmp79 : array tmp8 : array tmp81 : array tmp82 : array tmp84 : array tmp85 : array tmp87 : array tmp89 : array tmp91 : array tmp92 : array tmp94 : array tmp95 : array tmp97 : array tmp99 : array Source code in ebcc/codegen/UDFCC2.py 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 def hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:59:44.055032. 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 ------- tmp10 : array tmp100 : array tmp102 : array tmp103 : array tmp105 : array tmp106 : array tmp108 : array tmp11 : array tmp110 : array tmp111 : array tmp113 : array tmp115 : array tmp117 : array tmp119 : array tmp121 : array tmp122 : array tmp124 : array tmp13 : array tmp132 : array tmp133 : array tmp135 : array tmp136 : array tmp138 : array tmp139 : array tmp141 : array tmp142 : array tmp144 : array tmp146 : array tmp148 : array tmp149 : array tmp151 : array tmp152 : array tmp154 : array tmp155 : array tmp157 : array tmp158 : array tmp160 : array tmp162 : array tmp163 : array tmp165 : array tmp166 : array tmp168 : array tmp170 : array tmp172 : array tmp175 : array tmp178 : array tmp180 : array tmp182 : array tmp185 : array tmp19 : array tmp190 : array tmp192 : array tmp194 : array tmp195 : array tmp196 : array tmp197 : array tmp198 : array tmp199 : array tmp2 : array tmp20 : array tmp201 : array tmp203 : array tmp205 : array tmp206 : array tmp208 : array tmp211 : array tmp214 : array tmp216 : array tmp218 : array tmp22 : array tmp221 : array tmp23 : array tmp236 : array tmp239 : array tmp24 : array tmp243 : array tmp246 : array tmp250 : array tmp251 : array tmp253 : array tmp255 : array tmp257 : array tmp26 : array tmp263 : array tmp265 : array tmp271 : array tmp272 : array tmp274 : array tmp275 : array tmp277 : array tmp279 : array tmp281 : array tmp29 : array tmp301 : array tmp303 : array tmp309 : array tmp31 : array tmp310 : array tmp312 : array tmp313 : array tmp315 : array tmp317 : array tmp319 : array tmp33 : array tmp330 : array tmp332 : array tmp334 : array tmp335 : array tmp34 : array tmp36 : array tmp365 : array tmp38 : array tmp387 : array tmp4 : array tmp40 : array tmp41 : array tmp42 : array tmp430 : array tmp44 : array tmp47 : array tmp49 : array tmp5 : array tmp52 : array tmp53 : array tmp55 : array tmp57 : array tmp58 : array tmp60 : array tmp61 : array tmp63 : array tmp64 : array tmp66 : array tmp67 : array tmp69 : array tmp7 : array tmp70 : array tmp72 : array tmp73 : array tmp75 : array tmp77 : array tmp79 : array tmp8 : array tmp81 : array tmp82 : array tmp84 : array tmp85 : array tmp87 : array tmp89 : array tmp91 : array tmp92 : array tmp94 : array tmp95 : array tmp97 : array tmp99 : array \"\"\" tmp28 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp32 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t1 . bb , ( 1 , 2 ), ( 0 ,)) tmp109 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp101 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp41 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp28 , ( 0 ,), ( 1 , 2 )) tmp42 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp32 , ( 0 ,), ( 1 , 2 )) tmp38 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp32 , ( 0 ,), ( 1 , 2 )) tmp110 = einsum ( tmp109 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp34 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp28 , ( 0 ,), ( 1 , 2 )) tmp102 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp101 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp60 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp84 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp81 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp57 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp30 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp39 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp49 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp243 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp138 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp101 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp135 = einsum ( tmp109 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp26 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp236 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp72 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp66 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp220 = einsum ( t1 . bb , ( 0 , 1 ), tmp41 , ( 2 , 1 ), ( 0 , 2 )) tmp217 = einsum ( tmp42 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp215 = einsum ( t1 . bb , ( 0 , 1 ), tmp38 , ( 2 , 1 ), ( 0 , 2 )) tmp213 = einsum ( tmp110 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp210 = einsum ( tmp34 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp207 = einsum ( tmp102 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp33 = einsum ( tmp32 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp197 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp28 , ( 0 ,), ( 1 , 2 )) tmp194 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp32 , ( 0 ,), ( 1 , 2 )) tmp29 = einsum ( tmp28 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp184 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp28 , ( 0 ,), ( 1 , 2 )) tmp181 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp32 , ( 0 ,), ( 1 , 2 )) tmp179 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp32 , ( 0 ,), ( 1 , 2 )) del tmp32 tmp177 = einsum ( tmp109 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp174 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp28 , ( 0 ,), ( 1 , 2 )) del tmp28 tmp171 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp101 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp44 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp157 = einsum ( tmp60 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp154 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp84 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp151 = einsum ( tmp81 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp148 = einsum ( tmp57 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp141 = einsum ( tmp109 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp132 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp101 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp99 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp24 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp69 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp63 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp22 = einsum ( f . bb . ov , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 0 , 2 )) tmp19 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 2 , 1 ), ( 2 , 0 )) tmp430 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp387 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp365 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp335 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp30 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp334 = einsum ( tmp101 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp332 = einsum ( tmp39 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp330 = einsum ( tmp109 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp319 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp317 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp84 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp315 = einsum ( tmp57 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp313 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp243 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp312 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp243 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp310 = einsum ( tmp81 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp309 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp60 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp303 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp138 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp301 = einsum ( tmp135 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp281 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp26 , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 3 , 5 )) tmp279 = einsum ( tmp84 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp277 = einsum ( tmp57 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp275 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp236 , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 5 , 4 )) tmp274 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp236 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 5 , 4 )) tmp272 = einsum ( tmp81 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp271 = einsum ( tmp60 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp265 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp72 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp263 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp66 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp257 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp84 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp255 = einsum ( tmp81 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp253 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp30 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp251 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp39 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp250 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp246 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp239 = einsum ( tmp39 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp221 = einsum ( tmp220 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) del tmp220 tmp218 = einsum ( t1 . aa , ( 0 , 1 ), tmp217 , ( 2 , 0 ), ( 2 , 1 )) del tmp217 tmp216 = einsum ( tmp215 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) del tmp215 tmp214 = einsum ( tmp213 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) del tmp213 tmp211 = einsum ( tmp210 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) del tmp210 tmp208 = einsum ( t1 . aa , ( 0 , 1 ), tmp207 , ( 2 , 0 ), ( 2 , 1 )) del tmp207 tmp206 = einsum ( tmp39 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp205 = einsum ( tmp109 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp203 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp30 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp201 = einsum ( tmp101 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp199 = einsum ( tmp33 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp198 = einsum ( tmp197 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp196 = einsum ( tmp109 , ( 0 , 1 , 2 ), tmp39 , ( 0 , 2 , 3 ), ( 1 , 3 )) del tmp109 tmp195 = einsum ( t1 . bb , ( 0 , 1 ), tmp194 , ( 2 , 1 ), ( 0 , 2 )) tmp192 = einsum ( tmp101 , ( 0 , 1 , 2 ), tmp30 , ( 0 , 2 , 3 ), ( 1 , 3 )) del tmp101 tmp190 = einsum ( tmp29 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp185 = einsum ( tmp184 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) del tmp184 tmp182 = einsum ( tmp181 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) del tmp181 tmp180 = einsum ( tmp179 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) del tmp179 tmp178 = einsum ( tmp177 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) del tmp177 tmp175 = einsum ( tmp174 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) del tmp174 tmp172 = einsum ( t1 . aa , ( 0 , 1 ), tmp171 , ( 2 , 0 ), ( 2 , 1 )) del tmp171 tmp170 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp168 = einsum ( tmp81 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp166 = einsum ( tmp60 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp165 = einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 3 , 5 ), ( 1 , 4 , 2 , 5 )) tmp163 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp44 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp162 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp84 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp160 = einsum ( tmp57 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp158 = einsum ( t1 . aa , ( 0 , 1 ), tmp157 , ( 2 , 0 ), ( 2 , 1 )) tmp155 = einsum ( tmp154 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp152 = einsum ( tmp151 , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp149 = einsum ( tmp148 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp146 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp141 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp144 = einsum ( tmp132 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp142 = einsum ( tmp141 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) tmp139 = einsum ( tmp138 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp136 = einsum ( tmp135 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp133 = einsum ( tmp132 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp124 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp41 , ( 1 , 3 ), ( 0 , 2 )) tmp122 = einsum ( tmp41 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp121 = einsum ( tmp42 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp119 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp42 , ( 1 , 3 ), ( 0 , 2 )) tmp117 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp38 , ( 1 , 3 ), ( 0 , 2 )) tmp115 = einsum ( tmp38 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp113 = einsum ( tmp110 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp111 = einsum ( tmp110 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp108 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp34 , ( 0 , 2 ), ( 1 , 3 )) tmp106 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp34 , ( 1 , 3 ), ( 0 , 2 )) tmp105 = einsum ( tmp102 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp103 = einsum ( tmp102 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp100 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp99 , ( 0 , 4 , 3 , 5 ), ( 1 , 2 , 4 , 5 )) tmp97 = einsum ( tmp81 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp95 = einsum ( tmp60 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp94 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp24 , ( 0 , 4 , 2 , 5 ), ( 1 , 5 , 4 , 3 )) tmp92 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp24 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 5 , 4 )) tmp91 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp84 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp89 = einsum ( tmp57 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp87 = einsum ( tmp60 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp85 = einsum ( tmp84 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp82 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp81 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp79 = einsum ( tmp57 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * - 1 tmp77 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp69 , ( 0 , 1 , 4 , 5 ), ( 4 , 2 , 5 , 3 )) tmp75 = einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 5 , 3 )) tmp73 = einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp70 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp69 , ( 0 , 1 , 4 , 2 ), ( 4 , 3 )) tmp67 = einsum ( tmp66 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp64 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp63 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp61 = einsum ( tmp60 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp58 = einsum ( tmp57 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp55 = einsum ( tmp39 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp53 = einsum ( tmp30 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp52 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp47 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp40 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp39 , ( 0 , 2 , 3 ), ( 1 , 3 )) del tmp39 tmp36 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp30 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp31 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp30 , ( 0 , 1 , 3 ), ( 2 , 3 )) del tmp30 tmp23 = einsum ( tmp22 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp20 = einsum ( t1 . aa , ( 0 , 1 ), tmp19 , ( 0 , 2 ), ( 2 , 1 )) tmp13 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp11 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp10 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 0 , 2 ), ( 1 , 3 )) tmp8 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp7 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . vv , ( 2 , 1 ), ( 0 , 2 )) tmp5 = einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp4 = einsum ( f . bb . oo , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp2 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . oo , ( 2 , 0 ), ( 2 , 1 )) return { f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp102\" : tmp102 , f \"tmp103\" : tmp103 , f \"tmp105\" : tmp105 , f \"tmp106\" : tmp106 , f \"tmp108\" : tmp108 , f \"tmp11\" : tmp11 , f \"tmp110\" : tmp110 , f \"tmp111\" : tmp111 , f \"tmp113\" : tmp113 , f \"tmp115\" : tmp115 , f \"tmp117\" : tmp117 , f \"tmp119\" : tmp119 , f \"tmp121\" : tmp121 , f \"tmp122\" : tmp122 , f \"tmp124\" : tmp124 , f \"tmp13\" : tmp13 , f \"tmp132\" : tmp132 , f \"tmp133\" : tmp133 , f \"tmp135\" : tmp135 , f \"tmp136\" : tmp136 , f \"tmp138\" : tmp138 , f \"tmp139\" : tmp139 , f \"tmp141\" : tmp141 , f \"tmp142\" : tmp142 , f \"tmp144\" : tmp144 , f \"tmp146\" : tmp146 , f \"tmp148\" : tmp148 , f \"tmp149\" : tmp149 , f \"tmp151\" : tmp151 , f \"tmp152\" : tmp152 , f \"tmp154\" : tmp154 , f \"tmp155\" : tmp155 , f \"tmp157\" : tmp157 , f \"tmp158\" : tmp158 , f \"tmp160\" : tmp160 , f \"tmp162\" : tmp162 , f \"tmp163\" : tmp163 , f \"tmp165\" : tmp165 , f \"tmp166\" : tmp166 , f \"tmp168\" : tmp168 , f \"tmp170\" : tmp170 , f \"tmp172\" : tmp172 , f \"tmp175\" : tmp175 , f \"tmp178\" : tmp178 , f \"tmp180\" : tmp180 , f \"tmp182\" : tmp182 , f \"tmp185\" : tmp185 , f \"tmp19\" : tmp19 , f \"tmp190\" : tmp190 , f \"tmp192\" : tmp192 , f \"tmp194\" : tmp194 , f \"tmp195\" : tmp195 , f \"tmp196\" : tmp196 , f \"tmp197\" : tmp197 , f \"tmp198\" : tmp198 , f \"tmp199\" : tmp199 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp201\" : tmp201 , f \"tmp203\" : tmp203 , f \"tmp205\" : tmp205 , f \"tmp206\" : tmp206 , f \"tmp208\" : tmp208 , f \"tmp211\" : tmp211 , f \"tmp214\" : tmp214 , f \"tmp216\" : tmp216 , f \"tmp218\" : tmp218 , f \"tmp22\" : tmp22 , f \"tmp221\" : tmp221 , f \"tmp23\" : tmp23 , f \"tmp236\" : tmp236 , f \"tmp239\" : tmp239 , f \"tmp24\" : tmp24 , f \"tmp243\" : tmp243 , f \"tmp246\" : tmp246 , f \"tmp250\" : tmp250 , f \"tmp251\" : tmp251 , f \"tmp253\" : tmp253 , f \"tmp255\" : tmp255 , f \"tmp257\" : tmp257 , f \"tmp26\" : tmp26 , f \"tmp263\" : tmp263 , f \"tmp265\" : tmp265 , f \"tmp271\" : tmp271 , f \"tmp272\" : tmp272 , f \"tmp274\" : tmp274 , f \"tmp275\" : tmp275 , f \"tmp277\" : tmp277 , f \"tmp279\" : tmp279 , f \"tmp281\" : tmp281 , f \"tmp29\" : tmp29 , f \"tmp301\" : tmp301 , f \"tmp303\" : tmp303 , f \"tmp309\" : tmp309 , f \"tmp31\" : tmp31 , f \"tmp310\" : tmp310 , f \"tmp312\" : tmp312 , f \"tmp313\" : tmp313 , f \"tmp315\" : tmp315 , f \"tmp317\" : tmp317 , f \"tmp319\" : tmp319 , f \"tmp33\" : tmp33 , f \"tmp330\" : tmp330 , f \"tmp332\" : tmp332 , f \"tmp334\" : tmp334 , f \"tmp335\" : tmp335 , f \"tmp34\" : tmp34 , f \"tmp36\" : tmp36 , f \"tmp365\" : tmp365 , f \"tmp38\" : tmp38 , f \"tmp387\" : tmp387 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp41\" : tmp41 , f \"tmp42\" : tmp42 , f \"tmp430\" : tmp430 , f \"tmp44\" : tmp44 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp5\" : tmp5 , f \"tmp52\" : tmp52 , f \"tmp53\" : tmp53 , f \"tmp55\" : tmp55 , f \"tmp57\" : tmp57 , f \"tmp58\" : tmp58 , f \"tmp60\" : tmp60 , f \"tmp61\" : tmp61 , f \"tmp63\" : tmp63 , f \"tmp64\" : tmp64 , f \"tmp66\" : tmp66 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp7\" : tmp7 , f \"tmp70\" : tmp70 , f \"tmp72\" : tmp72 , f \"tmp73\" : tmp73 , f \"tmp75\" : tmp75 , f \"tmp77\" : tmp77 , f \"tmp79\" : tmp79 , f \"tmp8\" : tmp8 , f \"tmp81\" : tmp81 , f \"tmp82\" : tmp82 , f \"tmp84\" : tmp84 , f \"tmp85\" : tmp85 , f \"tmp87\" : tmp87 , f \"tmp89\" : tmp89 , f \"tmp91\" : tmp91 , f \"tmp92\" : tmp92 , f \"tmp94\" : tmp94 , f \"tmp95\" : tmp95 , f \"tmp97\" : tmp97 , f \"tmp99\" : tmp99 }","title":"Returns"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.hbar_lmatvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T20:59:44.148685.","title":"hbar_lmatvec_ea"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.hbar_lmatvec_ea--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFCC2/#ebcc.codegen.UDFCC2.hbar_lmatvec_ea--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UDFCC2.py 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:59:44.148685. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp43 = np . copy ( ints . tmp60 ) tmp43 += v . baa . xov tmp43 += ints . tmp57 * 2 tmp45 = np . copy ( ints . tmp84 ) tmp45 += v . bbb . xov tmp45 += ints . tmp81 * 2 tmp59 = np . copy ( ints . tmp57 ) * 2 del ints . tmp57 tmp59 += ints . tmp60 del ints . tmp60 tmp59 += v . baa . xov tmp16 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 2 , 1 , 0 ), ( 3 ,)) * - 1 tmp15 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 2 , 0 , 1 ), ( 3 ,)) tmp44 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp43 , ( 3 , 2 , 1 ), ( 3 , 0 )) * - 1 del tmp43 tmp46 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp45 , ( 3 , 2 , 0 ), ( 3 , 1 )) * - 1 tmp21 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), t1 . bb , ( 3 , 1 ), ( 2 , 3 , 0 )) tmp70 = np . copy ( ints . tmp246 ) tmp70 += ints . tmp313 * 2 tmp33 = einsum ( r2 . aba , ( 0 , 1 , 2 ), t2 . abab , ( 2 , 3 , 0 , 1 ), ( 3 ,)) tmp78 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp45 , ( 3 , 2 , 1 ), ( 3 , 0 )) * - 1 del tmp45 tmp84 = np . copy ( ints . tmp255 ) tmp84 += ints . tmp257 * 0.5 tmp84 += f . bb . vv * - 0.5 tmp34 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 2 , 0 , 1 ), ( 3 ,)) tmp60 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp59 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp52 = np . copy ( tmp15 ) * 2 tmp52 += tmp16 tmp50 = np . copy ( ints . tmp58 ) tmp50 += ints . tmp61 * 0.5 tmp50 += f . aa . vv * - 0.5 tmp2 = einsum ( t1 . aa , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp47 = np . copy ( tmp44 ) * - 2 del tmp44 tmp47 += tmp46 del tmp46 tmp41 = np . copy ( ints . tmp47 ) tmp41 += ints . tmp163 * 2 tmp74 = einsum ( r1 . b , ( 0 ,), ints . tmp236 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) tmp75 = einsum ( f . bb . ov , ( 0 , 1 ), tmp21 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) tmp77 = einsum ( tmp70 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 2 , 0 ), ( 1 , 4 , 3 )) * - 1 tmp76 = einsum ( tmp33 , ( 0 ,), ints . tmp243 , ( 0 , 1 , 2 , 3 ), ( 1 , 2 , 3 )) tmp79 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp78 , ( 0 , 3 ), ( 1 , 2 , 3 )) * - 1 del tmp78 tmp81 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp312 , ( 2 , 3 , 0 , 4 ), ( 3 , 4 , 1 )) tmp85 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp84 , ( 1 , 3 ), ( 2 , 0 , 3 )) * - 4 del tmp84 tmp82 = einsum ( tmp34 , ( 0 ,), ints . tmp243 , ( 0 , 1 , 2 , 3 ), ( 1 , 2 , 3 )) tmp83 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp60 , ( 0 , 3 ), ( 1 , 2 , 3 )) tmp63 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 0 , 2 ), ( 2 , 1 )) tmp65 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . ov , ( 0 , 2 ), ( 2 , 1 )) tmp61 = np . copy ( ints . tmp81 ) * 2 del ints . tmp81 tmp61 += ints . tmp84 del ints . tmp84 tmp61 += v . bbb . xov tmp53 = einsum ( ints . tmp44 , ( 0 , 1 , 2 , 3 ), tmp52 , ( 0 ,), ( 1 , 2 , 3 )) tmp51 = einsum ( tmp50 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 4 del tmp50 tmp39 = einsum ( f . aa . ov , ( 0 , 1 ), tmp2 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) tmp40 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp165 , ( 3 , 2 , 4 , 0 ), ( 3 , 4 , 1 )) * - 1 tmp48 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp47 , ( 0 , 3 ), ( 1 , 2 , 3 )) del tmp47 tmp42 = einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 0 ), ( 1 , 4 , 3 )) * - 1 del tmp41 tmp38 = einsum ( ints . tmp24 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 0 , 1 , 3 )) tmp25 = einsum ( r2 . aba , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 0 ), ( 2 , 3 , 1 )) tmp6 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t1 . bb , ( 3 , 0 ), ( 2 , 3 , 1 )) * - 1 tmp72 = np . copy ( f . bb . oo ) tmp72 += ints . tmp151 * 2 del ints . tmp151 tmp72 += ints . tmp154 del ints . tmp154 tmp72 += np . transpose ( ints . tmp22 , ( 1 , 0 )) del ints . tmp22 tmp80 = np . copy ( tmp74 ) del tmp74 tmp80 += tmp75 * 2 del tmp75 tmp80 += tmp76 del tmp76 tmp80 += np . transpose ( tmp77 , ( 0 , 2 , 1 )) * - 2 del tmp77 tmp80 += np . transpose ( tmp79 , ( 0 , 2 , 1 )) * 2 del tmp79 tmp73 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp86 = einsum ( f . bb . ov , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 1 , 2 )) tmp86 += tmp81 del tmp81 tmp86 += tmp82 * 2 del tmp82 tmp86 += np . transpose ( tmp83 , ( 0 , 2 , 1 )) del tmp83 tmp86 += np . transpose ( tmp85 , ( 0 , 2 , 1 )) del tmp85 tmp64 = np . copy ( ints . tmp255 ) * 2 tmp64 += ints . tmp257 tmp64 += f . bb . vv * - 1 tmp64 += np . transpose ( tmp63 , ( 1 , 0 )) del tmp63 tmp66 = np . copy ( ints . tmp58 ) * 2 tmp66 += ints . tmp61 tmp66 += f . aa . vv * - 1 tmp66 += np . transpose ( tmp65 , ( 1 , 0 )) del tmp65 tmp68 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 4 , 1 , 0 ), ( 3 , 2 , 4 )) * - 1 tmp71 = einsum ( tmp59 , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 2 , 1 ), ( 0 , 3 )) del tmp59 tmp71 += einsum ( tmp61 , ( 0 , 1 , 2 ), r2 . bab , ( 2 , 3 , 1 ), ( 0 , 3 )) * - 0.5 tmp69 = np . copy ( ints . tmp170 ) tmp69 += np . transpose ( ints . tmp52 , ( 0 , 1 , 3 , 2 )) * - 1 tmp57 = np . copy ( ints . tmp250 ) tmp57 += np . transpose ( ints . tmp319 , ( 0 , 1 , 3 , 2 )) * - 1 tmp55 = np . copy ( f . aa . oo ) tmp55 += ints . tmp148 * 2 del ints . tmp148 tmp55 += ints . tmp157 del ints . tmp157 tmp55 += np . transpose ( ints . tmp19 , ( 1 , 0 )) del ints . tmp19 tmp62 = np . copy ( tmp60 ) * - 1 del tmp60 tmp62 += einsum ( tmp61 , ( 0 , 1 , 2 ), r2 . bbb , ( 3 , 2 , 1 ), ( 0 , 3 )) * 2 del tmp61 tmp58 = np . copy ( ints . tmp163 ) * 2 tmp58 += ints . tmp47 tmp56 = einsum ( r2 . aba , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp67 = np . copy ( tmp33 ) * - 1 tmp67 += tmp34 * 2 tmp54 = einsum ( r1 . a , ( 0 ,), f . aa . ov , ( 1 , 2 ), ( 1 , 2 , 0 )) tmp54 += np . transpose ( tmp51 , ( 0 , 2 , 1 )) del tmp51 tmp54 += tmp53 del tmp53 tmp49 = np . copy ( tmp38 ) del tmp38 tmp49 += tmp39 * 2 del tmp39 tmp49 += tmp40 del tmp40 tmp49 += np . transpose ( tmp42 , ( 0 , 2 , 1 )) * - 2 del tmp42 tmp49 += np . transpose ( tmp48 , ( 0 , 2 , 1 )) del tmp48 tmp37 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) tmp9 = np . copy ( ints . tmp103 ) del ints . tmp103 tmp9 += ints . tmp111 * 0.5 del ints . tmp111 tmp9 += ints . tmp133 del ints . tmp133 tmp9 += ints . tmp139 * 0.5 del ints . tmp139 tmp9 += ints . tmp149 del ints . tmp149 tmp9 += ints . tmp158 * 0.5 del ints . tmp158 tmp9 += ints . tmp175 * 0.5 del ints . tmp175 tmp9 += ints . tmp182 * 0.5 del ints . tmp182 tmp9 += ints . tmp192 * 0.5 del ints . tmp192 tmp9 += ints . tmp20 * 0.5 del ints . tmp20 tmp9 += ints . tmp211 * 0.5 del ints . tmp211 tmp9 += ints . tmp218 * 0.5 del ints . tmp218 tmp9 += ints . tmp2 * 0.5 del ints . tmp2 tmp9 += ints . tmp36 * 0.5 del ints . tmp36 tmp9 += ints . tmp64 del ints . tmp64 tmp9 += ints . tmp73 * 0.5 del ints . tmp73 tmp9 += ints . tmp79 del ints . tmp79 tmp9 += f . aa . ov * - 0.5 tmp9 += ints . tmp106 * - 1 del ints . tmp106 tmp9 += ints . tmp115 * - 0.5 del ints . tmp115 tmp9 += ints . tmp119 * - 1 del ints . tmp119 tmp9 += ints . tmp11 * - 0.5 del ints . tmp11 tmp9 += ints . tmp122 * - 0.5 del ints . tmp122 tmp9 += ints . tmp172 * - 0.5 del ints . tmp172 tmp9 += ints . tmp190 * - 0.5 del ints . tmp190 tmp9 += ints . tmp199 * - 0.5 del ints . tmp199 tmp9 += ints . tmp208 * - 0.5 del ints . tmp208 tmp9 += ints . tmp34 * - 0.5 tmp9 += ints . tmp42 * - 0.5 tmp9 += ints . tmp5 * - 0.5 del ints . tmp5 tmp9 += ints . tmp87 * - 0.5 del ints . tmp87 tmp9 += ints . tmp8 * - 1 del ints . tmp8 tmp27 = np . copy ( ints . tmp105 ) * 0.5 tmp27 += ints . tmp113 tmp27 += ints . tmp136 tmp27 += ints . tmp142 * 0.5 tmp27 += ints . tmp152 tmp27 += ints . tmp155 * 0.5 tmp27 += ints . tmp180 * 0.5 tmp27 += ints . tmp185 * 0.5 tmp27 += ints . tmp196 * 0.5 tmp27 += ints . tmp216 * 0.5 tmp27 += ints . tmp221 * 0.5 tmp27 += ints . tmp23 * 0.5 tmp27 += ints . tmp40 * 0.5 tmp27 += ints . tmp4 * 0.5 tmp27 += ints . tmp67 tmp27 += ints . tmp70 * 0.5 tmp27 += ints . tmp82 tmp27 += f . bb . ov * - 0.5 tmp27 += ints . tmp108 * - 0.5 tmp27 += ints . tmp10 * - 0.5 tmp27 += ints . tmp117 * - 1 tmp27 += ints . tmp121 * - 0.5 tmp27 += ints . tmp124 * - 1 tmp27 += ints . tmp13 * - 1 tmp27 += ints . tmp178 * - 0.5 tmp27 += ints . tmp195 * - 0.5 tmp27 += ints . tmp198 * - 0.5 tmp27 += ints . tmp214 * - 0.5 tmp27 += ints . tmp38 * - 0.5 tmp27 += ints . tmp41 * - 0.5 tmp27 += ints . tmp7 * - 0.5 tmp27 += ints . tmp85 * - 0.5 tmp31 = np . copy ( ints . tmp138 ) del ints . tmp138 tmp31 += ints . tmp72 del ints . tmp72 tmp23 = einsum ( r2 . aba , ( 0 , 1 , 2 ), t1 . bb , ( 3 , 1 ), ( 2 , 3 , 0 )) tmp20 = np . copy ( ints . tmp236 ) * 0.5 del ints . tmp236 tmp20 += ints . tmp251 * 0.5 del ints . tmp251 tmp20 += np . transpose ( ints . tmp275 , ( 0 , 2 , 1 , 3 )) del ints . tmp275 tmp20 += np . transpose ( ints . tmp301 , ( 0 , 3 , 1 , 2 )) * 0.5 del ints . tmp301 tmp20 += np . transpose ( ints . tmp263 , ( 0 , 3 , 1 , 2 )) * - 0.5 del ints . tmp263 tmp20 += np . transpose ( ints . tmp272 , ( 0 , 3 , 1 , 2 )) * - 1 del ints . tmp272 tmp20 += np . transpose ( ints . tmp279 , ( 0 , 3 , 1 , 2 )) * - 0.5 del ints . tmp279 tmp26 = np . copy ( ints . tmp250 ) del ints . tmp250 tmp26 += ints . tmp334 del ints . tmp334 tmp26 += np . transpose ( ints . tmp319 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp319 tmp24 = np . copy ( ints . tmp309 ) del ints . tmp309 tmp24 += ints . tmp315 * 2 del ints . tmp315 tmp24 += ints . tmp335 del ints . tmp335 tmp24 += ints . tmp49 tmp24 += ints . tmp312 * - 1 tmp19 = np . copy ( ints . tmp253 ) del ints . tmp253 tmp19 += np . transpose ( ints . tmp265 , ( 0 , 1 , 3 , 2 )) del ints . tmp265 tmp19 += np . transpose ( ints . tmp271 , ( 0 , 1 , 3 , 2 )) del ints . tmp271 tmp19 += np . transpose ( ints . tmp277 , ( 0 , 1 , 3 , 2 )) * 2 del ints . tmp277 tmp19 += np . transpose ( ints . tmp303 , ( 0 , 1 , 3 , 2 )) del ints . tmp303 tmp19 += ints . tmp99 tmp19 += ints . tmp274 * - 1 del ints . tmp274 tmp19 += np . transpose ( ints . tmp281 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp281 tmp22 = np . copy ( ints . tmp243 ) tmp22 += ints . tmp310 * 2 del ints . tmp310 tmp22 += ints . tmp317 del ints . tmp317 tmp22 += np . transpose ( ints . tmp332 , ( 0 , 1 , 3 , 2 )) del ints . tmp332 tmp22 += np . transpose ( ints . tmp246 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp246 tmp22 += ints . tmp313 * - 2 del ints . tmp313 tmp22 += np . transpose ( ints . tmp330 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp330 tmp32 = np . copy ( np . transpose ( ints . tmp239 , ( 1 , 0 ))) del ints . tmp239 tmp32 += ints . tmp255 * 2 del ints . tmp255 tmp32 += ints . tmp257 del ints . tmp257 tmp32 += f . bb . vv * - 1 tmp32 += np . transpose ( ints . tmp194 , ( 1 , 0 )) * - 1 del ints . tmp194 tmp32 += np . transpose ( ints . tmp197 , ( 1 , 0 )) * - 1 del ints . tmp197 tmp36 = np . copy ( f . bb . ov ) tmp36 += ints . tmp38 tmp36 += ints . tmp41 tmp36 += ints . tmp110 * - 1 del ints . tmp110 tmp30 = einsum ( t1 . bb , ( 0 , 1 ), tmp25 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) tmp35 = einsum ( t1 . bb , ( 0 , 1 ), r1 . b , ( 1 ,), ( 0 ,)) tmp35 += tmp33 * - 1 del tmp33 tmp35 += tmp34 * 2 del tmp34 tmp29 = np . copy ( ints . tmp135 ) del ints . tmp135 tmp29 += ints . tmp66 * - 1 del ints . tmp66 tmp28 = einsum ( tmp21 , ( 0 , 1 , 2 ), t1 . bb , ( 3 , 2 ), ( 0 , 1 , 3 )) * - 1 tmp18 = np . copy ( f . aa . ov ) tmp18 += ints . tmp34 del ints . tmp34 tmp18 += ints . tmp42 del ints . tmp42 tmp18 += ints . tmp102 * - 1 del ints . tmp102 tmp8 = np . copy ( ints . tmp105 ) del ints . tmp105 tmp8 += ints . tmp113 * 2 del ints . tmp113 tmp8 += ints . tmp136 * 2 del ints . tmp136 tmp8 += ints . tmp142 del ints . tmp142 tmp8 += ints . tmp152 * 2 del ints . tmp152 tmp8 += ints . tmp155 del ints . tmp155 tmp8 += ints . tmp180 del ints . tmp180 tmp8 += ints . tmp185 del ints . tmp185 tmp8 += ints . tmp196 del ints . tmp196 tmp8 += ints . tmp216 del ints . tmp216 tmp8 += ints . tmp221 del ints . tmp221 tmp8 += ints . tmp23 del ints . tmp23 tmp8 += ints . tmp40 del ints . tmp40 tmp8 += ints . tmp4 del ints . tmp4 tmp8 += ints . tmp67 * 2 del ints . tmp67 tmp8 += ints . tmp70 del ints . tmp70 tmp8 += ints . tmp82 * 2 del ints . tmp82 tmp8 += f . bb . ov * - 1 tmp8 += ints . tmp108 * - 1 del ints . tmp108 tmp8 += ints . tmp10 * - 1 del ints . tmp10 tmp8 += ints . tmp117 * - 2 del ints . tmp117 tmp8 += ints . tmp121 * - 1 del ints . tmp121 tmp8 += ints . tmp124 * - 2 del ints . tmp124 tmp8 += ints . tmp13 * - 2 del ints . tmp13 tmp8 += ints . tmp178 * - 1 del ints . tmp178 tmp8 += ints . tmp195 * - 1 del ints . tmp195 tmp8 += ints . tmp198 * - 1 del ints . tmp198 tmp8 += ints . tmp214 * - 1 del ints . tmp214 tmp8 += ints . tmp38 * - 1 del ints . tmp38 tmp8 += ints . tmp41 * - 1 del ints . tmp41 tmp8 += ints . tmp7 * - 1 del ints . tmp7 tmp8 += ints . tmp85 * - 1 del ints . tmp85 tmp3 = np . copy ( ints . tmp160 ) * 2 del ints . tmp160 tmp3 += ints . tmp166 del ints . tmp166 tmp3 += np . transpose ( ints . tmp203 , ( 0 , 1 , 3 , 2 )) del ints . tmp203 tmp3 += ints . tmp44 tmp3 += ints . tmp163 * - 2 del ints . tmp163 tmp3 += np . transpose ( ints . tmp201 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp201 tmp3 += np . transpose ( ints . tmp47 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp47 tmp1 = np . copy ( ints . tmp144 ) * 0.5 del ints . tmp144 tmp1 += np . transpose ( ints . tmp24 , ( 0 , 2 , 3 , 1 )) * 0.5 del ints . tmp24 tmp1 += np . transpose ( ints . tmp53 , ( 0 , 2 , 3 , 1 )) * 0.5 del ints . tmp53 tmp1 += np . transpose ( ints . tmp92 , ( 0 , 1 , 3 , 2 )) del ints . tmp92 tmp1 += ints . tmp75 * - 0.5 del ints . tmp75 tmp1 += ints . tmp89 * - 1 del ints . tmp89 tmp1 += ints . tmp95 * - 0.5 del ints . tmp95 tmp11 = np . copy ( ints . tmp141 ) del ints . tmp141 tmp11 += ints . tmp69 del ints . tmp69 tmp12 = einsum ( tmp2 , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 1 , 3 )) * - 1 tmp14 = np . copy ( np . transpose ( ints . tmp31 , ( 1 , 0 ))) del ints . tmp31 tmp14 += ints . tmp58 * 2 del ints . tmp58 tmp14 += ints . tmp61 del ints . tmp61 tmp14 += f . aa . vv * - 1 tmp14 += np . transpose ( ints . tmp29 , ( 1 , 0 )) * - 1 del ints . tmp29 tmp14 += np . transpose ( ints . tmp33 , ( 1 , 0 )) * - 1 del ints . tmp33 tmp13 = np . copy ( ints . tmp132 ) del ints . tmp132 tmp13 += ints . tmp63 * - 1 del ints . tmp63 tmp7 = np . copy ( np . transpose ( ints . tmp205 , ( 0 , 1 , 3 , 2 ))) del ints . tmp205 tmp7 += np . transpose ( ints . tmp52 , ( 0 , 1 , 3 , 2 )) del ints . tmp52 tmp7 += ints . tmp170 * - 1 del ints . tmp170 tmp17 = einsum ( r1 . a , ( 0 ,), t1 . aa , ( 1 , 0 ), ( 1 ,)) tmp17 += tmp15 * 2 del tmp15 tmp17 += tmp16 del tmp16 tmp5 = np . copy ( ints . tmp162 ) del ints . tmp162 tmp5 += ints . tmp168 * 2 del ints . tmp168 tmp5 += ints . tmp206 del ints . tmp206 tmp5 += ints . tmp49 tmp5 += ints . tmp165 * - 1 tmp4 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 1 ), ( 3 , 2 , 0 )) * - 1 tmp10 = einsum ( tmp6 , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 3 , 0 , 1 )) tmp0 = np . copy ( ints . tmp146 ) del ints . tmp146 tmp0 += np . transpose ( ints . tmp26 , ( 0 , 2 , 1 , 3 )) tmp0 += np . transpose ( ints . tmp55 , ( 0 , 2 , 1 , 3 )) del ints . tmp55 tmp0 += ints . tmp77 del ints . tmp77 tmp0 += ints . tmp91 del ints . tmp91 tmp0 += ints . tmp97 * 2 del ints . tmp97 tmp0 += ints . tmp100 * - 1 del ints . tmp100 tmp0 += np . transpose ( ints . tmp94 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp94 r2new . bbb = einsum ( tmp73 , ( 0 , 1 , 2 ), ints . tmp243 , ( 1 , 2 , 3 , 4 ), ( 4 , 3 , 0 )) * - 2 del ints . tmp243 , tmp73 r2new . bbb += einsum ( ints . tmp430 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 2 , 4 ), ( 1 , 0 , 4 )) * - 2 del ints . tmp430 r2new . bbb += np . transpose ( tmp80 , ( 1 , 2 , 0 )) r2new . bbb += np . transpose ( tmp80 , ( 2 , 1 , 0 )) * - 1 del tmp80 r2new . bbb += np . transpose ( tmp86 , ( 1 , 2 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp86 , ( 2 , 1 , 0 )) del tmp86 r2new . bbb += einsum ( tmp72 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bab = einsum ( ints . tmp312 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 0 ), ( 3 , 4 , 1 )) * 2 del ints . tmp312 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp387 , ( 3 , 1 , 0 , 4 ), ( 4 , 3 , 2 )) r2new . bab += einsum ( r1 . a , ( 0 ,), ints . tmp26 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del ints . tmp26 r2new . bab += einsum ( r1 . a , ( 0 ,), f . bb . ov , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new . bab += einsum ( tmp68 , ( 0 , 1 , 2 ), ints . tmp49 , ( 0 , 2 , 3 , 4 ), ( 4 , 3 , 1 )) * - 1 del tmp68 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp69 , ( 2 , 3 , 1 , 4 ), ( 0 , 4 , 3 )) del tmp69 r2new . bab += einsum ( tmp70 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 4 , 0 ), ( 3 , 4 , 1 )) * - 1 del tmp70 r2new . bab += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp71 , ( 0 , 3 ), ( 2 , 3 , 1 )) * - 2 del tmp71 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp66 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . bab += einsum ( tmp64 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . bab += einsum ( tmp72 , ( 0 , 1 ), r2 . bab , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp72 r2new . bab += einsum ( tmp52 , ( 0 ,), ints . tmp49 , ( 0 , 1 , 2 , 3 ), ( 3 , 2 , 1 )) del tmp52 r2new . aba = einsum ( ints . tmp387 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 3 , 4 ), ( 1 , 2 , 4 )) del ints . tmp387 r2new . aba += einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp165 , ( 3 , 2 , 4 , 1 ), ( 4 , 0 , 3 )) * 2 del ints . tmp165 r2new . aba += einsum ( r1 . b , ( 0 ,), f . aa . ov , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new . aba += einsum ( ints . tmp99 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 1 , 2 , 0 )) * - 1 del ints . tmp99 r2new . aba += einsum ( tmp56 , ( 0 , 1 , 2 ), ints . tmp49 , ( 1 , 2 , 3 , 4 ), ( 3 , 4 , 0 )) del tmp56 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp57 , ( 2 , 3 , 4 , 1 ), ( 0 , 4 , 3 )) * - 1 del tmp57 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp58 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 , 3 )) * - 1 del tmp58 r2new . aba += einsum ( tmp62 , ( 0 , 1 ), v . baa . xov , ( 0 , 2 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp62 r2new . aba += einsum ( tmp64 , ( 0 , 1 ), r2 . aba , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp64 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp66 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp66 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp55 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( tmp67 , ( 0 ,), ints . tmp49 , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) del ints . tmp49 , tmp67 r2new . aaa = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp365 , ( 3 , 4 , 0 , 1 ), ( 4 , 3 , 2 )) * 2 del ints . tmp365 r2new . aaa += einsum ( tmp37 , ( 0 , 1 , 2 ), ints . tmp44 , ( 2 , 1 , 3 , 4 ), ( 4 , 3 , 0 )) * 2 del ints . tmp44 , tmp37 r2new . aaa += np . transpose ( tmp49 , ( 1 , 2 , 0 )) r2new . aaa += np . transpose ( tmp49 , ( 2 , 1 , 0 )) * - 1 del tmp49 r2new . aaa += np . transpose ( tmp54 , ( 1 , 2 , 0 )) * - 1 r2new . aaa += np . transpose ( tmp54 , ( 2 , 1 , 0 )) del tmp54 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp55 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp55 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp19 , ( 2 , 0 , 3 , 1 ), ( 3 ,)) * - 1 del tmp19 r1new . b += einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 2 , 0 ), ( 1 ,)) * - 4 del tmp20 r1new . b += einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), tmp21 , ( 0 , 1 , 2 ), ( 3 ,)) * 2 del tmp21 , tmp22 r1new . b += einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), tmp23 , ( 0 , 1 , 2 ), ( 3 ,)) del tmp24 , tmp23 r1new . b += einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), tmp25 , ( 0 , 1 , 3 ), ( 2 ,)) del tmp25 , tmp26 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp27 , ( 2 , 1 ), ( 0 ,)) * - 4 del tmp27 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp9 , ( 2 , 0 ), ( 1 ,)) * 2 r1new . b += einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), tmp28 , ( 0 , 2 , 1 ), ( 3 ,)) * - 2 del tmp29 , tmp28 r1new . b += einsum ( tmp31 , ( 0 , 1 , 2 , 3 ), tmp30 , ( 0 , 1 , 2 ), ( 3 ,)) * - 1 del tmp31 , tmp30 r1new . b += einsum ( r1 . b , ( 0 ,), tmp32 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp32 r1new . b += einsum ( tmp35 , ( 0 ,), tmp36 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp35 , tmp36 r1new . a = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp0 , ( 2 , 1 , 3 , 0 ), ( 3 ,)) * - 1 del tmp0 r1new . a += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 1 , 2 , 0 ), ( 3 ,)) * 4 del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp3 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * 2 del tmp2 , tmp3 r1new . a += einsum ( tmp4 , ( 0 , 1 , 2 ), tmp5 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) * - 1 del tmp4 , tmp5 r1new . a += einsum ( tmp6 , ( 0 , 1 , 2 ), tmp7 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * - 1 del tmp6 , tmp7 r1new . a += einsum ( tmp8 , ( 0 , 1 ), r2 . bab , ( 1 , 2 , 0 ), ( 2 ,)) del tmp8 r1new . a += einsum ( tmp9 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 0 ), ( 2 ,)) * - 4 del tmp9 r1new . a += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 0 , 1 , 2 ), ( 3 ,)) del tmp11 , tmp10 r1new . a += einsum ( tmp12 , ( 0 , 1 , 2 ), tmp13 , ( 0 , 2 , 1 , 3 ), ( 3 ,)) * - 2 del tmp12 , tmp13 r1new . a += einsum ( r1 . a , ( 0 ,), tmp14 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp14 r1new . a += einsum ( tmp18 , ( 0 , 1 ), tmp17 , ( 0 ,), ( 1 ,)) * - 1 del tmp18 , tmp17 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UDFCCD/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-17T20:50:54.162296 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.8.0-40-generic ebcc . codegen . UDFCCD . energy ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:50:54.618350. Parameters t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns e_cc : float Coupled cluster energy. Source code in ebcc/codegen/UDFCCD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:50:54.618350. Parameters ---------- t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- e_cc : float Coupled cluster energy. \"\"\" tmp0 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp1 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp1 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) e_cc = einsum ( tmp0 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 2 ), ()) del tmp0 e_cc += einsum ( tmp1 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 2 ), ()) del tmp1 return e_cc ebcc . codegen . UDFCCD . update_amps ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:51:07.068241. 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. Source code in ebcc/codegen/UDFCCD.py 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 def update_amps ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:07.068241. 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 () tmp17 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp10 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp18 = np . copy ( np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp18 += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) tmp30 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp29 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 0 , 2 ), ( 4 , 1 , 3 )) tmp3 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp4 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp13 = np . copy ( np . transpose ( tmp10 , ( 1 , 0 , 2 , 3 ))) tmp13 += np . transpose ( tmp10 , ( 1 , 0 , 3 , 2 )) * - 1 tmp52 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) tmp41 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp31 = np . copy ( tmp29 ) * 0.5 tmp31 += tmp30 tmp7 = np . copy ( tmp3 ) * 2 tmp7 += tmp4 tmp5 = np . copy ( tmp3 ) * 2 tmp5 += tmp4 tmp14 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp13 , ( 1 , 4 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp12 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp47 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp59 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) tmp53 = np . copy ( np . transpose ( tmp41 , ( 1 , 0 , 3 , 2 ))) tmp53 += np . transpose ( tmp52 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp52 tmp45 = einsum ( tmp31 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp33 = np . copy ( tmp29 ) tmp33 += tmp30 * 2 tmp55 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 3 , 5 ), ( 1 , 4 , 2 , 5 )) del tmp13 tmp34 = np . copy ( tmp3 ) tmp34 += tmp4 * 0.5 tmp27 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp8 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp7 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp36 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp39 = einsum ( tmp7 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) del tmp7 tmp19 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp18 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp18 tmp25 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp5 , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp15 = np . copy ( np . transpose ( tmp12 , ( 1 , 0 , 3 , 2 ))) tmp15 += np . transpose ( tmp14 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp14 tmp6 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp5 , ( 0 , 1 , 3 ), ( 2 , 3 )) * 0.5 del tmp5 tmp23 = einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 1 , 0 )) tmp0 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp57 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp50 = np . copy ( f . bb . vv ) * - 0.5 tmp50 += einsum ( tmp31 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp48 = einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 3 , 4 , 5 ), ( 2 , 0 , 4 , 5 )) del tmp47 tmp60 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp59 , ( 4 , 5 , 0 , 1 ), ( 5 , 4 , 2 , 3 )) * - 1 del tmp59 tmp51 = einsum ( tmp30 , ( 0 , 1 , 2 ), tmp29 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) del tmp29 , tmp30 tmp46 = einsum ( f . bb . oo , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp54 = einsum ( tmp53 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp53 tmp61 = einsum ( tmp45 , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 2 tmp49 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp33 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp32 = einsum ( tmp31 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) * 2 del tmp31 tmp58 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp56 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp55 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp55 tmp35 = np . copy ( f . aa . vv ) * - 0.5 tmp35 += einsum ( tmp34 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) del tmp34 tmp28 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp27 tmp38 = np . copy ( np . transpose ( tmp12 , ( 1 , 0 , 3 , 2 ))) tmp38 += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) * 2 tmp38 += tmp8 * - 1 tmp37 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp37 += einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) * - 1 tmp42 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp40 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 tmp40 += tmp39 tmp44 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp43 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp36 , ( 4 , 5 , 2 , 3 ), ( 0 , 4 , 1 , 5 )) tmp20 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 del tmp19 tmp26 = einsum ( tmp25 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 tmp2 = einsum ( f . aa . oo , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp11 = einsum ( tmp4 , ( 0 , 1 , 2 ), tmp3 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) del tmp3 , tmp4 tmp22 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp16 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp15 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp15 tmp9 = np . copy ( f . aa . vv ) * - 0.5 tmp9 += np . transpose ( tmp6 , ( 1 , 0 )) tmp24 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp23 , ( 4 , 5 , 0 , 1 ), ( 5 , 4 , 2 , 3 )) * - 1 del tmp23 tmp21 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp12 tmp1 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 0 , 5 , 1 ), ( 5 , 4 , 2 , 3 )) del tmp0 t2new . bbbb = np . copy ( np . transpose ( tmp46 , ( 1 , 0 , 3 , 2 ))) * 2 t2new . bbbb += np . transpose ( tmp48 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp48 t2new . bbbb += np . transpose ( tmp46 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp46 t2new . bbbb += einsum ( tmp32 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 2 t2new . bbbb += np . transpose ( tmp49 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += einsum ( tmp50 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * 4 del tmp50 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . vv , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * 2 t2new . bbbb += np . transpose ( tmp49 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp17 t2new . bbbb += np . transpose ( tmp49 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp51 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp51 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . bbbb += np . transpose ( tmp54 , ( 0 , 1 , 3 , 2 )) * 2 t2new . bbbb += np . transpose ( tmp56 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += tmp51 * 2 t2new . bbbb += np . transpose ( tmp51 , ( 1 , 0 , 3 , 2 )) * 2 del tmp51 t2new . bbbb += np . transpose ( tmp54 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp54 t2new . bbbb += tmp56 del tmp56 t2new . bbbb += tmp49 del tmp49 t2new . bbbb += tmp57 * - 2 t2new . bbbb += np . transpose ( tmp57 , ( 1 , 0 , 2 , 3 )) * 2 del tmp57 t2new . bbbb += einsum ( tmp58 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) * - 2 del tmp58 t2new . bbbb += tmp60 * 2 del tmp60 t2new . bbbb += np . transpose ( tmp61 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp61 , ( 1 , 0 , 3 , 2 )) * 2 del tmp61 t2new . abab = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . oo , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 t2new . abab += tmp28 del tmp28 t2new . abab += einsum ( f . aa . oo , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp32 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 1 del tmp32 t2new . abab += einsum ( tmp33 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) del tmp33 t2new . abab += einsum ( tmp35 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp35 t2new . abab += einsum ( f . bb . vv , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) t2new . abab += tmp36 del tmp36 t2new . abab += einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 3 , 5 )) * - 1 del tmp37 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp38 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) * - 1 del tmp38 t2new . abab += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp40 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp40 t2new . abab += tmp39 del tmp39 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * - 1 del tmp41 t2new . abab += einsum ( tmp42 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * - 1 del tmp42 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp43 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp43 t2new . abab += einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) del tmp44 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp45 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 2 del tmp45 t2new . abab += einsum ( tmp25 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp25 t2new . aaaa = np . copy ( np . transpose ( tmp1 , ( 0 , 1 , 3 , 2 ))) * - 2 del tmp1 t2new . aaaa += np . transpose ( tmp2 , ( 1 , 0 , 3 , 2 )) * 2 t2new . aaaa += np . transpose ( tmp2 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp2 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp6 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 4 del tmp6 t2new . aaaa += tmp8 t2new . aaaa += einsum ( tmp9 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * 4 del tmp9 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . vv , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * 2 t2new . aaaa += np . transpose ( tmp8 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp10 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp10 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp10 t2new . aaaa += np . transpose ( tmp8 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp11 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp11 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . aaaa += np . transpose ( tmp16 , ( 1 , 0 , 2 , 3 )) * 2 t2new . aaaa += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp11 * 2 t2new . aaaa += np . transpose ( tmp11 , ( 1 , 0 , 3 , 2 )) * 2 del tmp11 t2new . aaaa += tmp16 * - 2 del tmp16 t2new . aaaa += tmp20 del tmp20 t2new . aaaa += np . transpose ( tmp8 , ( 1 , 0 , 3 , 2 )) del tmp8 t2new . aaaa += tmp21 * - 2 t2new . aaaa += np . transpose ( tmp21 , ( 1 , 0 , 2 , 3 )) * 2 del tmp21 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp22 , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) * - 2 del tmp22 t2new . aaaa += tmp24 * 2 del tmp24 t2new . aaaa += np . transpose ( tmp26 , ( 1 , 0 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp26 , ( 0 , 1 , 3 , 2 )) * 2 del tmp26 return { f \"t2new\" : t2new } ebcc . codegen . UDFCCD . update_lams ( f = None , l2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:51:26.739943. 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. Source code in ebcc/codegen/UDFCCD.py 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 def update_lams ( f = None , l2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:26.739943. 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 () tmp11 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 0 , 2 ), ( 4 , 1 , 3 )) tmp12 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp48 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 1 , 4 )) tmp49 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp9 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp8 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp0 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp1 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp74 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp73 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 0 , 4 ), ( 4 , 1 )) tmp54 = np . copy ( tmp11 ) * 0.5 tmp54 += tmp12 tmp50 = np . copy ( tmp48 ) del tmp48 tmp50 += tmp49 * 2 del tmp49 tmp33 = np . copy ( v . bbb . xov ) tmp33 += tmp11 tmp33 += tmp12 * 2 tmp31 = np . copy ( v . baa . xov ) tmp31 += tmp8 * 2 tmp31 += tmp9 tmp42 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp41 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp2 = np . copy ( tmp0 ) del tmp0 tmp2 += tmp1 * 0.5 del tmp1 tmp15 = np . copy ( tmp8 ) * 2 tmp15 += tmp9 tmp75 = np . copy ( tmp73 ) * 0.5 del tmp73 tmp75 += tmp74 del tmp74 tmp55 = einsum ( tmp54 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 3 , 1 )) * 2 tmp66 = einsum ( tmp54 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) * 2 del tmp54 tmp96 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 5 ), ( 5 , 1 , 4 , 3 )) tmp97 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp10 = np . copy ( v . baa . xov ) * 0.5 tmp10 += tmp8 del tmp8 tmp10 += tmp9 * 0.5 del tmp9 tmp13 = np . copy ( v . bbb . xov ) tmp13 += tmp11 del tmp11 tmp13 += tmp12 * 2 del tmp12 tmp51 = einsum ( tmp50 , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) tmp93 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp33 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) tmp92 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp31 , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) tmp43 = np . copy ( tmp41 ) * 2 del tmp41 tmp43 += tmp42 del tmp42 tmp3 = einsum ( tmp2 , ( 0 , 1 ), v . baa . xov , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) tmp32 = einsum ( tmp31 , ( 0 , 1 , 2 ), l2 . aaaa , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) del tmp31 tmp34 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp33 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) del tmp33 tmp38 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp37 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp25 = einsum ( tmp15 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) * 0.5 tmp100 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp75 , ( 3 , 1 ), ( 0 , 3 , 2 )) tmp86 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp79 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp56 = np . copy ( f . bb . oo ) tmp56 += np . transpose ( tmp55 , ( 1 , 0 )) del tmp55 tmp90 = einsum ( tmp50 , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * 0.5 del tmp50 tmp67 = np . copy ( f . bb . vv ) * - 1 tmp67 += np . transpose ( tmp66 , ( 1 , 0 )) del tmp66 tmp98 = np . copy ( tmp96 ) del tmp96 tmp98 += tmp97 * 4 del tmp97 tmp84 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp57 = einsum ( tmp10 , ( 0 , 1 , 2 ), l2 . abab , ( 2 , 3 , 1 , 4 ), ( 0 , 4 , 3 )) tmp58 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp13 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) tmp69 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp52 = np . copy ( v . bbb . xov ) tmp52 += tmp51 * - 1 del tmp51 tmp94 = np . copy ( tmp92 ) del tmp92 tmp94 += tmp93 * 2 del tmp93 tmp76 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp75 , ( 3 , 1 ), ( 0 , 3 , 2 )) * 2 del tmp75 tmp16 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp15 , ( 0 , 3 , 2 ), ( 3 , 1 )) * 0.5 tmp60 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp61 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 5 ), ( 4 , 0 , 5 , 1 )) tmp63 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp29 = einsum ( tmp2 , ( 0 , 1 ), v . baa . xov , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * 2 del tmp2 tmp44 = einsum ( tmp43 , ( 0 , 1 ), v . baa . xov , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) tmp6 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp20 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp21 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp4 = np . copy ( v . baa . xov ) * 0.5 tmp4 += tmp3 * - 1 del tmp3 tmp46 = einsum ( tmp43 , ( 0 , 1 ), v . baa . xov , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) * 0.5 del tmp43 tmp35 = np . copy ( tmp32 ) * 2 del tmp32 tmp35 += tmp34 del tmp34 tmp39 = np . copy ( tmp37 ) * 4 del tmp37 tmp39 += tmp38 del tmp38 tmp23 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp26 = np . copy ( f . aa . vv ) * - 0.5 tmp26 += tmp25 del tmp25 tmp101 = einsum ( tmp100 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) * - 2 del tmp100 tmp87 = einsum ( tmp79 , ( 0 , 1 , 2 , 3 ), tmp86 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp86 tmp83 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp56 , ( 3 , 4 ), ( 2 , 4 , 0 , 1 )) * - 2 tmp91 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp90 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) * - 2 del tmp90 tmp89 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp89 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp79 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) * - 1 tmp82 = einsum ( tmp10 , ( 0 , 1 , 2 ), l2 . abab , ( 2 , 3 , 1 , 4 ), ( 0 , 4 , 3 )) * 2 tmp82 += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp13 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) * 2 tmp88 = einsum ( tmp67 , ( 0 , 1 ), l2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 3 , 4 , 2 , 1 )) * - 1 tmp99 = einsum ( tmp98 , ( 0 , 1 , 2 , 3 ), tmp79 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp98 tmp85 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp84 , ( 4 , 0 , 5 , 1 ), ( 2 , 3 , 5 , 4 )) del tmp84 tmp59 = np . copy ( tmp57 ) del tmp57 tmp59 += tmp58 del tmp58 tmp81 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp69 , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp80 = einsum ( tmp52 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp95 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp94 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) del tmp94 tmp102 = einsum ( tmp76 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) * - 1 tmp53 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp70 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp17 = np . copy ( f . aa . oo ) * 0.5 tmp17 += tmp16 del tmp16 tmp77 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 3 , 4 , 1 , 5 ), ( 0 , 5 , 2 , 4 )) tmp77 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 0 , 5 , 2 , 4 )) tmp72 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 5 , 1 ), ( 3 , 4 , 0 , 5 )) tmp62 = einsum ( tmp61 , ( 0 , 1 , 2 , 3 ), tmp60 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp61 tmp65 = np . copy ( f . aa . vv ) * - 1 tmp65 += einsum ( tmp15 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp71 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 5 ), ( 2 , 4 , 1 , 5 )) tmp68 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp68 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp60 , ( 4 , 5 , 2 , 3 ), ( 0 , 4 , 1 , 5 )) tmp64 = einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 1 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 2 )) del tmp63 tmp78 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 5 , 1 , 4 , 3 )) tmp78 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) * - 1 tmp45 = einsum ( tmp44 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) * - 1 tmp18 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) * 4 tmp18 += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp13 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp19 = np . copy ( f . aa . oo ) tmp19 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp15 , ( 0 , 3 , 2 ), ( 3 , 1 )) del tmp15 tmp22 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp21 tmp28 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp28 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp20 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) * - 1 tmp5 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) * 2 del tmp4 tmp47 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp46 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) * - 2 del tmp46 tmp36 = einsum ( tmp35 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp40 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp39 tmp24 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 1 , 3 , 4 , 5 ), ( 4 , 5 , 2 , 0 )) del tmp23 tmp14 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) * 2 del tmp10 tmp14 += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp13 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) * 0.5 del tmp13 tmp27 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp26 , ( 1 , 4 ), ( 2 , 3 , 4 , 0 )) * - 2 del tmp26 l2new . bbbb = np . copy ( np . transpose ( tmp80 , ( 2 , 3 , 0 , 1 ))) l2new . bbbb += np . transpose ( tmp80 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp80 l2new . bbbb += np . transpose ( tmp81 , ( 3 , 2 , 0 , 1 )) * 2 l2new . bbbb += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp82 , ( 0 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 1 del tmp82 l2new . bbbb += np . transpose ( tmp83 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp81 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . bbbb += einsum ( tmp59 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp83 , ( 3 , 2 , 1 , 0 )) del tmp83 l2new . bbbb += np . transpose ( tmp85 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp85 l2new . bbbb += np . transpose ( tmp87 , ( 3 , 2 , 1 , 0 )) * 2 del tmp87 l2new . bbbb += np . transpose ( tmp88 , ( 3 , 2 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp88 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp88 l2new . bbbb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp89 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 5 , 4 )) * 2 del tmp89 l2new . bbbb += np . transpose ( tmp91 , ( 2 , 3 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp81 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp95 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp81 , ( 2 , 3 , 1 , 0 )) * 2 del tmp81 l2new . bbbb += np . transpose ( tmp95 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp95 l2new . bbbb += np . transpose ( tmp99 , ( 3 , 2 , 0 , 1 )) l2new . bbbb += np . transpose ( tmp101 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp99 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp101 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp101 l2new . bbbb += np . transpose ( tmp99 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp102 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp99 , ( 2 , 3 , 1 , 0 )) del tmp99 l2new . bbbb += np . transpose ( tmp102 , ( 2 , 3 , 0 , 1 )) del tmp102 l2new . bbbb += np . transpose ( tmp91 , ( 3 , 2 , 1 , 0 )) del tmp91 l2new . abab = einsum ( tmp52 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) del tmp52 l2new . abab += einsum ( tmp53 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 3 , 4 , 5 , 1 ), ( 2 , 4 , 5 , 0 )) * - 1 del tmp53 l2new . abab += einsum ( tmp56 , ( 0 , 1 ), l2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp56 l2new . abab += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) * - 1 del tmp6 l2new . abab += einsum ( tmp59 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) * 2 del tmp59 l2new . abab += einsum ( tmp17 , ( 0 , 1 ), l2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 l2new . abab += np . transpose ( tmp62 , ( 2 , 3 , 0 , 1 )) del tmp62 l2new . abab += np . transpose ( tmp64 , ( 2 , 3 , 0 , 1 )) del tmp64 l2new . abab += einsum ( tmp65 , ( 0 , 1 ), l2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp65 l2new . abab += einsum ( tmp67 , ( 0 , 1 ), l2 . abab , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 del tmp67 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp68 , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp68 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp69 , ( 4 , 3 , 5 , 1 ), ( 0 , 5 , 2 , 4 )) * - 1 del tmp69 l2new . abab += einsum ( tmp35 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 2 , 4 , 1 , 3 )) del tmp35 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp70 , ( 4 , 2 , 5 , 1 ), ( 0 , 5 , 4 , 3 )) * - 1 del tmp70 l2new . abab += einsum ( tmp71 , ( 0 , 1 , 2 , 3 ), tmp60 , ( 1 , 4 , 5 , 3 ), ( 5 , 2 , 0 , 4 )) del tmp71 l2new . abab += einsum ( tmp44 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 2 , 4 , 1 , 3 )) * - 1 del tmp44 l2new . abab += einsum ( tmp60 , ( 0 , 1 , 2 , 3 ), tmp72 , ( 4 , 1 , 5 , 2 ), ( 5 , 3 , 0 , 4 )) del tmp60 , tmp72 l2new . abab += einsum ( tmp76 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) * - 1 del tmp76 l2new . abab += einsum ( tmp29 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 2 , 4 , 1 , 3 )) * - 1 del tmp29 l2new . abab += einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), tmp77 , ( 0 , 4 , 3 , 5 ), ( 2 , 5 , 1 , 4 )) * - 2 del tmp20 , tmp77 l2new . abab += einsum ( tmp78 , ( 0 , 1 , 2 , 3 ), tmp79 , ( 1 , 4 , 5 , 3 ), ( 2 , 5 , 0 , 4 )) * - 2 del tmp79 , tmp78 l2new . aaaa = np . copy ( np . transpose ( tmp5 , ( 3 , 2 , 1 , 0 ))) l2new . aaaa += np . transpose ( tmp5 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp5 l2new . aaaa += np . transpose ( tmp7 , ( 3 , 2 , 0 , 1 )) * 2 l2new . aaaa += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp14 , ( 0 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 2 del tmp14 l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp17 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 4 del tmp17 l2new . aaaa += np . transpose ( tmp7 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . aaaa += einsum ( tmp18 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) del tmp18 l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp19 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * 2 del tmp19 l2new . aaaa += np . transpose ( tmp22 , ( 3 , 2 , 1 , 0 )) * 2 del tmp22 l2new . aaaa += np . transpose ( tmp24 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp24 l2new . aaaa += np . transpose ( tmp27 , ( 2 , 3 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp27 , ( 3 , 2 , 1 , 0 )) * - 2 del tmp27 l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp28 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 5 , 4 )) * 2 del tmp28 l2new . aaaa += np . transpose ( tmp30 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp7 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp36 , ( 2 , 3 , 0 , 1 )) l2new . aaaa += np . transpose ( tmp7 , ( 2 , 3 , 1 , 0 )) * 2 del tmp7 l2new . aaaa += np . transpose ( tmp36 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp36 l2new . aaaa += np . transpose ( tmp40 , ( 3 , 2 , 0 , 1 )) l2new . aaaa += np . transpose ( tmp45 , ( 2 , 3 , 0 , 1 )) l2new . aaaa += np . transpose ( tmp40 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp45 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp45 l2new . aaaa += np . transpose ( tmp40 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp47 , ( 2 , 3 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp40 , ( 2 , 3 , 1 , 0 )) del tmp40 l2new . aaaa += np . transpose ( tmp47 , ( 3 , 2 , 1 , 0 )) del tmp47 l2new . aaaa += np . transpose ( tmp30 , ( 2 , 3 , 0 , 1 )) del tmp30 return { f \"l2new\" : l2new } ebcc . codegen . UDFCCD . make_rdm1_f ( l2 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:51:27.499231. Parameters l2 : Namespace of arrays L2 amplitudes. t2 : Namespace of arrays T2 amplitudes. Returns rdm1 : Namespace of arrays One-particle reduced density matrix. Source code in ebcc/codegen/UDFCCD.py 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 def make_rdm1_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:27.499231. 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 ( t2 . aaaa . shape [ - 1 ])), bb = Namespace ( oo = np . eye ( t2 . bbbb . shape [ 0 ]), vv = np . eye ( t2 . bbbb . shape [ - 1 ])), ) rdm1 . bb . vv = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 1 , 4 )) rdm1 . bb . vv += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * 2 rdm1 . aa . vv = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) rdm1 . aa . vv += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * 2 rdm1 . bb . oo = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * - 2 rdm1 . bb . oo += delta . bb . oo rdm1 . bb . oo += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 0 , 4 ), ( 1 , 4 )) * - 1 rdm1 . aa . oo = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) * - 1 rdm1 . aa . oo += delta . aa . oo del delta rdm1 . aa . oo += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) * - 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 ebcc . codegen . UDFCCD . make_rdm2_f ( l2 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:51:37.934715. Parameters l2 : Namespace of arrays L2 amplitudes. t2 : Namespace of arrays T2 amplitudes. Returns rdm2 : Namespace of arrays Two-particle reduced density matrix. Source code in ebcc/codegen/UDFCCD.py 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 def make_rdm2_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:37.934715. 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 ( 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 )) tmp6 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp0 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp1 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp24 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 1 , 4 )) tmp25 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp12 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp13 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp32 = np . copy ( tmp5 ) * 0.5 tmp32 += tmp6 tmp35 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 5 , 1 , 4 , 3 )) tmp39 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp37 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp11 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp17 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp29 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp21 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 3 , 4 , 1 , 5 ), ( 0 , 5 , 2 , 4 )) tmp19 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 0 , 5 , 2 , 4 )) tmp8 = np . copy ( tmp0 ) tmp8 += tmp1 * 0.5 tmp4 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp43 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) tmp42 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) tmp31 = np . copy ( tmp24 ) tmp31 += tmp25 * 2 tmp41 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 5 ), ( 5 , 1 , 4 , 3 )) tmp23 = np . copy ( tmp12 ) tmp23 += tmp13 * 0.5 tmp27 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 5 , 1 ), ( 3 , 4 , 0 , 5 )) tmp14 = np . copy ( tmp12 ) * 2 del tmp12 tmp14 += tmp13 del tmp13 tmp26 = np . copy ( tmp24 ) * 0.5 del tmp24 tmp26 += tmp25 del tmp25 tmp33 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp32 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) * - 2 del tmp32 tmp36 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp35 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) tmp40 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp39 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp38 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) tmp34 = einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 0 , 4 , 5 ), ( 3 , 2 , 4 , 5 )) tmp30 = np . copy ( tmp17 ) * 4 tmp30 += tmp29 tmp10 = np . copy ( tmp5 ) tmp10 += tmp6 * 2 tmp28 = np . copy ( tmp21 ) tmp28 += tmp19 tmp9 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 5 ), ( 4 , 0 , 5 , 1 )) tmp3 = np . copy ( tmp0 ) * 2 tmp3 += tmp1 tmp18 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp15 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp8 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 2 tmp20 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp22 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp16 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 0 , 4 , 5 ), ( 5 , 4 , 2 , 3 )) tmp7 = np . copy ( delta . bb . oo ) * - 1 tmp7 += tmp5 del tmp5 tmp7 += tmp6 * 2 del tmp6 tmp2 = np . copy ( delta . aa . oo ) * - 0.5 tmp2 += tmp0 del tmp0 tmp2 += tmp1 * 0.5 del tmp1 rdm2 . bbbb . vvvv = np . copy ( np . transpose ( tmp43 , ( 1 , 0 , 3 , 2 ))) * 2 del tmp43 rdm2 . abab . vvvv = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) rdm2 . aaaa . vvvv = np . copy ( np . transpose ( tmp42 , ( 1 , 0 , 3 , 2 ))) * 2 del tmp42 rdm2 . bbbb . vvoo = np . copy ( l2 . bbbb ) * 2 rdm2 . abab . vvoo = np . copy ( l2 . abab ) rdm2 . aaaa . vvoo = np . copy ( l2 . aaaa ) * 2 rdm2 . bbbb . vovo = einsum ( tmp31 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . vovo += np . transpose ( tmp37 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . bbbb . vovo += np . transpose ( tmp41 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . abab . vovo = einsum ( tmp23 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . abab . vovo += np . transpose ( tmp27 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . aaaa . vovo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp14 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . vovo += np . transpose ( tmp17 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . aaaa . vovo += np . transpose ( tmp29 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . voov = einsum ( tmp26 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . bbbb . voov += np . transpose ( tmp41 , ( 2 , 1 , 0 , 3 )) rdm2 . bbbb . voov += np . transpose ( tmp37 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . abab . voov = np . copy ( np . transpose ( tmp39 , ( 2 , 1 , 0 , 3 ))) * 2 del tmp39 rdm2 . abab . voov += np . transpose ( tmp35 , ( 2 , 1 , 0 , 3 )) * 2 del tmp35 rdm2 . aaaa . voov = einsum ( tmp23 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . aaaa . voov += np . transpose ( tmp17 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . aaaa . voov += np . transpose ( tmp29 , ( 2 , 1 , 0 , 3 )) rdm2 . bbbb . ovvo = einsum ( tmp31 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . ovvo += np . transpose ( tmp41 , ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . ovvo += np . transpose ( tmp37 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . abab . ovvo = np . copy ( np . transpose ( tmp19 , ( 0 , 3 , 2 , 1 ))) * 2 del tmp19 rdm2 . abab . ovvo += np . transpose ( tmp21 , ( 0 , 3 , 2 , 1 )) * 2 del tmp21 rdm2 . aaaa . ovvo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp14 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . ovvo += np . transpose ( tmp17 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . aaaa . ovvo += np . transpose ( tmp29 , ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . ovov = einsum ( tmp26 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . bbbb . ovov += np . transpose ( tmp37 , ( 1 , 2 , 0 , 3 )) * - 4 del tmp37 rdm2 . bbbb . ovov += np . transpose ( tmp41 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp41 rdm2 . abab . ovov = einsum ( delta . aa . oo , ( 0 , 1 ), tmp26 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . abab . ovov += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 5 , 1 ), ( 0 , 4 , 5 , 3 )) * - 1 rdm2 . aaaa . ovov = einsum ( tmp23 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . aaaa . ovov += np . transpose ( tmp17 , ( 1 , 2 , 0 , 3 )) * - 4 del tmp17 rdm2 . aaaa . ovov += np . transpose ( tmp29 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp29 rdm2 . bbbb . oovv = np . copy ( t2 . bbbb ) * 2 rdm2 . bbbb . oovv += einsum ( tmp31 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp31 rdm2 . bbbb . oovv += np . transpose ( tmp33 , ( 0 , 1 , 3 , 2 )) * 2 rdm2 . bbbb . oovv += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp33 rdm2 . bbbb . oovv += np . transpose ( tmp34 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp34 rdm2 . bbbb . oovv += np . transpose ( tmp36 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp38 , ( 0 , 1 , 3 , 2 )) * - 8 rdm2 . bbbb . oovv += np . transpose ( tmp40 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp40 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp36 , ( 1 , 0 , 3 , 2 )) * 2 del tmp36 rdm2 . bbbb . oovv += tmp38 * 8 del tmp38 rdm2 . bbbb . oovv += tmp40 * 2 rdm2 . bbbb . oovv += np . transpose ( tmp40 , ( 1 , 0 , 3 , 2 )) * 2 del tmp40 rdm2 . bbbb . oovv += einsum ( tmp26 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * 4 rdm2 . abab . oovv = np . copy ( t2 . abab ) rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp26 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp26 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp3 , ( 0 , 4 ), ( 4 , 1 , 2 , 3 )) * - 1 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp10 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp9 , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) rdm2 . abab . oovv += einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 3 , 5 )) del tmp27 rdm2 . abab . oovv += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp28 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 4 del tmp28 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp30 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp30 rdm2 . abab . oovv += einsum ( tmp14 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 rdm2 . aaaa . oovv = np . copy ( t2 . aaaa ) * 2 rdm2 . aaaa . oovv += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp14 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp14 rdm2 . aaaa . oovv += np . transpose ( tmp15 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . aaaa . oovv += np . transpose ( tmp15 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp15 rdm2 . aaaa . oovv += np . transpose ( tmp16 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp16 rdm2 . aaaa . oovv += np . transpose ( tmp18 , ( 0 , 1 , 3 , 2 )) * - 8 rdm2 . aaaa . oovv += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += np . transpose ( tmp22 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += np . transpose ( tmp22 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . aaaa . oovv += tmp18 * 8 del tmp18 rdm2 . aaaa . oovv += tmp20 * 2 del tmp20 rdm2 . aaaa . oovv += tmp22 * 2 rdm2 . aaaa . oovv += np . transpose ( tmp22 , ( 1 , 0 , 3 , 2 )) * 2 del tmp22 rdm2 . aaaa . oovv += einsum ( tmp23 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * 4 del tmp23 rdm2 . bbbb . oooo = einsum ( tmp7 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . oooo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp7 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) rdm2 . bbbb . oooo += einsum ( tmp10 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . bbbb . oooo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp10 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) del tmp10 rdm2 . bbbb . oooo += np . transpose ( tmp11 , ( 3 , 2 , 1 , 0 )) * 2 del tmp11 rdm2 . abab . oooo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp7 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 del tmp7 rdm2 . abab . oooo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp8 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 2 del tmp8 rdm2 . abab . oooo += np . transpose ( tmp9 , ( 1 , 3 , 0 , 2 )) del tmp9 rdm2 . aaaa . oooo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 2 rdm2 . aaaa . oooo += einsum ( tmp2 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * 2 del tmp2 rdm2 . aaaa . oooo += einsum ( tmp3 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . aaaa . oooo += einsum ( tmp3 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) del delta , tmp3 rdm2 . aaaa . oooo += np . transpose ( tmp4 , ( 3 , 2 , 1 , 0 )) * 2 del tmp4 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 = 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 ebcc . codegen . UDFCCD . hbar_matvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:52:23.155184. Parameters f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns tmp1 : array tmp101 : array tmp108 : array tmp111 : array tmp112 : array tmp114 : array tmp115 : array tmp116 : array tmp118 : array tmp12 : array tmp121 : array tmp125 : array tmp126 : array tmp127 : array tmp128 : array tmp129 : array tmp131 : array tmp133 : array tmp136 : array tmp139 : array tmp14 : array tmp142 : array tmp143 : array tmp148 : array tmp150 : array tmp153 : array tmp155 : array tmp157 : array tmp159 : array tmp16 : array tmp169 : array tmp17 : array tmp19 : array tmp20 : array tmp27 : array tmp28 : array tmp3 : array tmp30 : array tmp32 : array tmp33 : array tmp36 : array tmp37 : array tmp38 : array tmp40 : array tmp41 : array tmp42 : array tmp44 : array tmp46 : array tmp48 : array tmp5 : array tmp50 : array tmp52 : array tmp55 : array tmp56 : array tmp6 : array tmp61 : array tmp65 : array tmp69 : array tmp77 : array tmp79 : array tmp8 : array tmp81 : array tmp83 : array tmp84 : array tmp85 : array tmp9 : array tmp92 : array tmp93 : array tmp96 : array Source code in ebcc/codegen/UDFCCD.py 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 def hbar_matvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:52:23.155184. Parameters ---------- f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- tmp1 : array tmp101 : array tmp108 : array tmp111 : array tmp112 : array tmp114 : array tmp115 : array tmp116 : array tmp118 : array tmp12 : array tmp121 : array tmp125 : array tmp126 : array tmp127 : array tmp128 : array tmp129 : array tmp131 : array tmp133 : array tmp136 : array tmp139 : array tmp14 : array tmp142 : array tmp143 : array tmp148 : array tmp150 : array tmp153 : array tmp155 : array tmp157 : array tmp159 : array tmp16 : array tmp169 : array tmp17 : array tmp19 : array tmp20 : array tmp27 : array tmp28 : array tmp3 : array tmp30 : array tmp32 : array tmp33 : array tmp36 : array tmp37 : array tmp38 : array tmp40 : array tmp41 : array tmp42 : array tmp44 : array tmp46 : array tmp48 : array tmp5 : array tmp50 : array tmp52 : array tmp55 : array tmp56 : array tmp6 : array tmp61 : array tmp65 : array tmp69 : array tmp77 : array tmp79 : array tmp8 : array tmp81 : array tmp83 : array tmp84 : array tmp85 : array tmp9 : array tmp92 : array tmp93 : array tmp96 : array \"\"\" tmp19 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 0 , 2 ), ( 4 , 1 , 3 )) tmp16 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp12 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp55 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp147 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp65 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp14 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp32 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp1 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp107 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp3 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp5 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp8 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp76 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp29 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp169 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp159 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp157 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp155 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp153 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp150 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp55 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) tmp148 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp147 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) * - 1 del tmp147 tmp143 = einsum ( tmp19 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp142 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp139 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp136 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp133 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp65 , ( 4 , 1 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) tmp131 = einsum ( tmp19 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp129 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp16 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp128 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 5 , 3 )) tmp127 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) tmp126 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp12 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp125 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp121 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp55 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp118 = einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 3 , 5 ), ( 1 , 4 , 2 , 5 )) tmp116 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp115 = einsum ( tmp19 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp114 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp112 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp111 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 0 , 2 ), ( 1 , 3 )) tmp108 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp107 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) del tmp107 tmp101 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp96 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp65 , ( 0 , 4 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) tmp93 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp3 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp92 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp85 = einsum ( tmp5 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp84 = einsum ( tmp8 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp83 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp81 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp79 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp65 , ( 4 , 5 , 2 , 3 ), ( 0 , 4 , 1 , 5 )) tmp77 = einsum ( tmp76 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) del tmp76 tmp69 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp61 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp56 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp55 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp52 = einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp50 = einsum ( tmp8 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp48 = einsum ( tmp5 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp46 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp8 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp44 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp5 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp42 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp41 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp40 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp38 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp37 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp36 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp33 = einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 1 , 0 )) tmp30 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp29 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) * - 1 del tmp29 tmp28 = einsum ( tmp8 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp27 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp5 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp20 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp17 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp9 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp8 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp6 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp5 , ( 0 , 3 , 2 ), ( 3 , 1 )) return { f \"tmp1\" : tmp1 , f \"tmp101\" : tmp101 , f \"tmp108\" : tmp108 , f \"tmp111\" : tmp111 , f \"tmp112\" : tmp112 , f \"tmp114\" : tmp114 , f \"tmp115\" : tmp115 , f \"tmp116\" : tmp116 , f \"tmp118\" : tmp118 , f \"tmp12\" : tmp12 , f \"tmp121\" : tmp121 , f \"tmp125\" : tmp125 , f \"tmp126\" : tmp126 , f \"tmp127\" : tmp127 , f \"tmp128\" : tmp128 , f \"tmp129\" : tmp129 , f \"tmp131\" : tmp131 , f \"tmp133\" : tmp133 , f \"tmp136\" : tmp136 , f \"tmp139\" : tmp139 , f \"tmp14\" : tmp14 , f \"tmp142\" : tmp142 , f \"tmp143\" : tmp143 , f \"tmp148\" : tmp148 , f \"tmp150\" : tmp150 , f \"tmp153\" : tmp153 , f \"tmp155\" : tmp155 , f \"tmp157\" : tmp157 , f \"tmp159\" : tmp159 , f \"tmp16\" : tmp16 , f \"tmp169\" : tmp169 , f \"tmp17\" : tmp17 , f \"tmp19\" : tmp19 , f \"tmp20\" : tmp20 , f \"tmp27\" : tmp27 , f \"tmp28\" : tmp28 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp36\" : tmp36 , f \"tmp37\" : tmp37 , f \"tmp38\" : tmp38 , f \"tmp40\" : tmp40 , f \"tmp41\" : tmp41 , f \"tmp42\" : tmp42 , f \"tmp44\" : tmp44 , f \"tmp46\" : tmp46 , f \"tmp48\" : tmp48 , f \"tmp5\" : tmp5 , f \"tmp50\" : tmp50 , f \"tmp52\" : tmp52 , f \"tmp55\" : tmp55 , f \"tmp56\" : tmp56 , f \"tmp6\" : tmp6 , f \"tmp61\" : tmp61 , f \"tmp65\" : tmp65 , f \"tmp69\" : tmp69 , f \"tmp77\" : tmp77 , f \"tmp79\" : tmp79 , f \"tmp8\" : tmp8 , f \"tmp81\" : tmp81 , f \"tmp83\" : tmp83 , f \"tmp84\" : tmp84 , f \"tmp85\" : tmp85 , f \"tmp9\" : tmp9 , f \"tmp92\" : tmp92 , f \"tmp93\" : tmp93 , f \"tmp96\" : tmp96 } ebcc . codegen . UDFCCD . hbar_matvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:52:23.203364. Parameters f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. Source code in ebcc/codegen/UDFCCD.py 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 def hbar_matvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:52:23.203364. Parameters ---------- f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp7 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . bbb . xov , ( 3 , 0 , 2 ), ( 3 , 1 )) * - 1 tmp6 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . baa . xov , ( 3 , 1 , 2 ), ( 3 , 0 )) tmp31 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), r2 . aba , ( 1 , 3 , 2 ), ( 0 , 3 )) tmp60 = np . copy ( ints . tmp19 ) tmp60 += ints . tmp16 * 2 tmp39 = np . copy ( ints . tmp139 ) del ints . tmp139 tmp39 += ints . tmp121 * 2 del ints . tmp121 tmp62 = np . copy ( ints . tmp159 ) del ints . tmp159 tmp62 += ints . tmp157 * 2 del ints . tmp157 tmp32 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), r2 . bbb , ( 3 , 1 , 2 ), ( 0 , 3 )) tmp54 = np . copy ( ints . tmp12 ) tmp54 += np . transpose ( ints . tmp155 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp155 tmp52 = np . copy ( ints . tmp17 ) * 2 tmp52 += ints . tmp20 tmp50 = np . copy ( ints . tmp16 ) tmp50 += ints . tmp19 * 0.5 tmp16 = np . copy ( ints . tmp6 ) * 2 tmp16 += ints . tmp9 tmp14 = np . copy ( ints . tmp5 ) tmp14 += ints . tmp8 * 0.5 tmp13 = np . copy ( tmp6 ) * 2 tmp13 += tmp7 tmp18 = np . copy ( ints . tmp1 ) tmp18 += np . transpose ( ints . tmp42 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp42 tmp10 = np . copy ( ints . tmp46 ) del ints . tmp46 tmp10 += ints . tmp44 * 2 del ints . tmp44 tmp4 = np . copy ( ints . tmp69 ) tmp4 += ints . tmp52 * 2 tmp8 = np . copy ( tmp6 ) * 2 tmp8 += tmp7 tmp35 = einsum ( ints . tmp65 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 1 , 2 ), ( 3 ,)) tmp36 = einsum ( ints . tmp55 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 0 , 1 , 2 ), ( 3 ,)) del ints . tmp55 tmp57 = einsum ( f . bb . oo , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 0 , 2 , 3 )) tmp61 = einsum ( tmp60 , ( 0 , 1 , 2 ), tmp31 , ( 0 , 3 ), ( 3 , 1 , 2 )) del tmp60 tmp59 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp39 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 tmp63 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 1 ,), ( 0 , 2 , 3 )) del tmp62 tmp58 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp32 , ( 0 , 3 ), ( 3 , 1 , 2 )) tmp55 = einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 1 ,), ( 0 , 2 , 3 )) del tmp54 tmp53 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp52 , ( 3 , 1 ), ( 0 , 3 , 2 )) * - 2 del tmp52 tmp48 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp118 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) tmp51 = einsum ( tmp50 , ( 0 , 1 , 2 ), tmp32 , ( 0 , 3 ), ( 3 , 1 , 2 )) * 4 del tmp50 tmp49 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp31 , ( 0 , 3 ), ( 3 , 1 , 2 )) tmp24 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp65 , ( 1 , 0 , 3 , 2 ), ( 3 ,)) * - 1 del ints . tmp65 tmp23 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp32 , ( 1 , 0 , 2 , 3 ), ( 3 ,)) * - 1 del ints . tmp32 tmp17 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp16 , ( 3 , 1 ), ( 0 , 3 , 2 )) * - 2 del tmp16 tmp15 = einsum ( tmp14 , ( 0 , 1 , 2 ), tmp13 , ( 0 , 3 ), ( 3 , 1 , 2 )) * 2 del tmp14 , tmp13 tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 0 , 2 , 3 )) del tmp18 tmp2 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), f . aa . oo , ( 3 , 1 ), ( 3 , 0 , 2 )) tmp11 = einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 0 , 2 , 3 )) del tmp10 tmp5 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp4 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp4 tmp9 = einsum ( tmp8 , ( 0 , 1 ), v . baa . xov , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) del tmp8 tmp3 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp56 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 1 tmp44 = np . copy ( np . transpose ( ints . tmp129 , ( 1 , 0 ))) * 2 del ints . tmp129 tmp44 += np . transpose ( ints . tmp131 , ( 1 , 0 )) del ints . tmp131 tmp44 += f . bb . vv * - 1 tmp66 = np . copy ( ints . tmp148 ) del ints . tmp148 tmp66 += np . transpose ( ints . tmp169 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp169 tmp47 = np . copy ( f . bb . ov ) tmp47 += ints . tmp111 del ints . tmp111 tmp47 += ints . tmp112 * 2 del ints . tmp112 tmp47 += ints . tmp143 del ints . tmp143 tmp47 += ints . tmp126 * - 2 del ints . tmp126 tmp47 += ints . tmp127 * - 1 del ints . tmp127 tmp47 += ints . tmp142 * - 2 del ints . tmp142 tmp37 = np . copy ( tmp35 ) * 0.5 del tmp35 tmp37 += tmp36 del tmp36 tmp65 = np . copy ( ints . tmp150 ) del ints . tmp150 tmp65 += np . transpose ( ints . tmp153 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp153 tmp64 = np . copy ( tmp57 ) * 2 del tmp57 tmp64 += tmp58 * 2 del tmp58 tmp64 += np . transpose ( tmp59 , ( 1 , 0 , 2 )) * - 2 del tmp59 tmp64 += np . transpose ( tmp61 , ( 1 , 0 , 2 )) del tmp61 tmp64 += tmp63 del tmp63 tmp56 = np . copy ( tmp48 ) del tmp48 tmp56 += tmp49 del tmp49 tmp56 += np . transpose ( tmp51 , ( 1 , 0 , 2 )) del tmp51 tmp56 += np . transpose ( tmp53 , ( 1 , 0 , 2 )) del tmp53 tmp56 += tmp55 del tmp55 tmp46 = np . copy ( ints . tmp108 ) del ints . tmp108 tmp46 += np . transpose ( ints . tmp115 , ( 1 , 0 , 2 , 3 )) del ints . tmp115 tmp46 += np . transpose ( ints . tmp116 , ( 1 , 0 , 2 , 3 )) * 2 del ints . tmp116 tmp46 += np . transpose ( ints . tmp125 , ( 1 , 0 , 2 , 3 )) del ints . tmp125 tmp46 += ints . tmp3 tmp46 += ints . tmp114 * - 1 del ints . tmp114 tmp46 += ints . tmp128 * - 1 del ints . tmp128 tmp42 = np . copy ( tmp6 ) del tmp6 tmp42 += tmp7 * 0.5 del tmp7 tmp40 = np . copy ( ints . tmp133 ) del ints . tmp133 tmp40 += ints . tmp136 * - 1 del ints . tmp136 tmp0 = np . copy ( f . aa . oo ) tmp0 += np . transpose ( ints . tmp6 , ( 1 , 0 )) * 2 del ints . tmp6 tmp0 += np . transpose ( ints . tmp9 , ( 1 , 0 )) del ints . tmp9 tmp1 = np . copy ( f . bb . oo ) tmp1 += np . transpose ( ints . tmp17 , ( 1 , 0 )) * 2 del ints . tmp17 tmp1 += np . transpose ( ints . tmp20 , ( 1 , 0 )) del ints . tmp20 tmp45 = np . copy ( tmp23 ) * 2 tmp45 += tmp24 * - 1 tmp41 = np . copy ( ints . tmp79 ) tmp41 += ints . tmp81 tmp43 = np . copy ( ints . tmp16 ) * 2 del ints . tmp16 tmp43 += ints . tmp19 del ints . tmp19 tmp43 += v . bbb . xov tmp22 = np . copy ( np . transpose ( ints . tmp48 , ( 1 , 0 ))) * 2 del ints . tmp48 tmp22 += np . transpose ( ints . tmp50 , ( 1 , 0 )) del ints . tmp50 tmp22 += f . aa . vv * - 1 tmp30 = np . copy ( ints . tmp79 ) del ints . tmp79 tmp30 += ints . tmp81 del ints . tmp81 tmp29 = np . copy ( ints . tmp52 ) * 2 del ints . tmp52 tmp29 += ints . tmp69 del ints . tmp69 tmp33 = np . copy ( tmp31 ) * - 0.5 del tmp31 tmp33 += tmp32 del tmp32 tmp28 = np . copy ( ints . tmp101 ) del ints . tmp101 tmp28 += ints . tmp96 * - 1 del ints . tmp96 tmp38 = np . copy ( ints . tmp14 ) tmp38 += ints . tmp77 del ints . tmp77 tmp38 += np . transpose ( ints . tmp84 , ( 0 , 2 , 1 , 3 )) del ints . tmp84 tmp38 += np . transpose ( ints . tmp85 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp85 tmp38 += np . transpose ( ints . tmp92 , ( 0 , 2 , 1 , 3 )) del ints . tmp92 tmp38 += ints . tmp83 * - 1 del ints . tmp83 tmp38 += ints . tmp93 * - 1 del ints . tmp93 tmp34 = np . copy ( ints . tmp5 ) * 2 del ints . tmp5 tmp34 += ints . tmp8 del ints . tmp8 tmp34 += v . baa . xov tmp27 = np . copy ( f . aa . ov ) tmp27 += ints . tmp28 del ints . tmp28 tmp27 += ints . tmp36 * 2 del ints . tmp36 tmp27 += ints . tmp37 del ints . tmp37 tmp27 += ints . tmp27 * - 2 del ints . tmp27 tmp27 += ints . tmp40 * - 2 del ints . tmp40 tmp27 += ints . tmp41 * - 1 del ints . tmp41 tmp26 = np . copy ( ints . tmp30 ) del ints . tmp30 tmp26 += np . transpose ( ints . tmp61 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp61 tmp20 = np . copy ( np . transpose ( tmp15 , ( 1 , 0 , 2 ))) del tmp15 tmp20 += np . transpose ( tmp17 , ( 1 , 0 , 2 )) del tmp17 tmp20 += tmp19 del tmp19 tmp12 = np . copy ( tmp2 ) * 2 del tmp2 tmp12 += tmp3 del tmp3 tmp12 += np . transpose ( tmp5 , ( 1 , 0 , 2 )) * - 2 del tmp5 tmp12 += np . transpose ( tmp9 , ( 1 , 0 , 2 )) del tmp9 tmp12 += tmp11 del tmp11 tmp21 = np . copy ( ints . tmp33 ) del ints . tmp33 tmp21 += np . transpose ( ints . tmp38 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp38 tmp25 = np . copy ( tmp23 ) del tmp23 tmp25 += tmp24 * - 0.5 del tmp24 r2new . bbb = np . copy ( tmp56 ) * - 1 r2new . bbb += np . transpose ( tmp56 , ( 1 , 0 , 2 )) del tmp56 r2new . bbb += tmp64 r2new . bbb += np . transpose ( tmp64 , ( 1 , 0 , 2 )) * - 1 del tmp64 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp65 , ( 3 , 4 , 1 , 0 ), ( 3 , 4 , 2 )) * - 2 del tmp65 r2new . bbb += einsum ( tmp44 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp37 , ( 3 ,), ( 0 , 1 , 2 )) * - 4 r2new . bbb += einsum ( tmp66 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 1 , 0 , 3 )) * 2 del tmp66 r2new . bbb += einsum ( tmp47 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 2 , 0 , 1 )) r2new . bbb += einsum ( tmp47 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) * - 1 r2new . bab = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp118 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) * 2 del ints . tmp118 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp39 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 1 del tmp39 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp40 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) del tmp40 r2new . bab += einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 2 , 0 , 4 )) del tmp41 r2new . bab += einsum ( tmp43 , ( 0 , 1 , 2 ), tmp42 , ( 0 , 3 ), ( 1 , 3 , 2 )) * - 2 del tmp43 , tmp42 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp44 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp44 r2new . bab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp45 , ( 2 ,), ( 1 , 0 , 3 )) * - 1 del tmp45 r2new . bab += einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 2 , 0 , 3 )) del tmp46 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp1 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp0 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . bab += einsum ( tmp47 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) * - 1 del tmp47 r2new . aba = einsum ( ints . tmp56 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 1 , 3 ), ( 0 , 4 , 2 )) * 2 del ints . tmp56 r2new . aba += einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 1 del tmp28 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp29 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 1 del tmp29 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp30 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) del tmp30 r2new . aba += einsum ( tmp33 , ( 0 , 1 ), tmp34 , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) * - 2 del tmp33 , tmp34 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp22 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp37 , ( 3 ,), ( 0 , 1 , 2 )) * - 2 del tmp37 r2new . aba += einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 0 , 1 , 3 )) del tmp38 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp1 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . aba += einsum ( tmp0 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . aba += einsum ( tmp27 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) * - 1 r2new . aaa = np . copy ( tmp12 ) r2new . aaa += np . transpose ( tmp12 , ( 1 , 0 , 2 )) * - 1 del tmp12 r2new . aaa += tmp20 * - 1 r2new . aaa += np . transpose ( tmp20 , ( 1 , 0 , 2 )) del tmp20 r2new . aaa += einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) * 2 del tmp21 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp22 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp22 r2new . aaa += einsum ( tmp25 , ( 0 ,), t2 . aaaa , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * - 4 del tmp25 r2new . aaa += einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 1 , 0 , 3 )) * 2 del tmp26 r2new . aaa += einsum ( tmp27 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 2 , 0 , 1 )) r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp27 , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 del tmp27 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), f . aa . ov , ( 0 , 2 ), ( 1 ,)) * - 1 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp14 , ( 0 , 3 , 1 , 2 ), ( 3 ,)) del ints . tmp14 r1new . b += einsum ( ints . tmp12 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 1 , 2 , 3 ), ( 0 ,)) * - 2 del ints . tmp12 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), f . bb . ov , ( 1 , 2 ), ( 0 ,)) * 2 r1new . b += einsum ( r1 . b , ( 0 ,), tmp1 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp1 r1new . a = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp3 , ( 3 , 1 , 0 , 2 ), ( 3 ,)) del ints . tmp3 r1new . a += einsum ( ints . tmp1 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 1 , 2 , 3 ), ( 0 ,)) * - 2 del ints . tmp1 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), f . aa . ov , ( 1 , 2 ), ( 0 ,)) * 2 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), f . bb . ov , ( 0 , 2 ), ( 1 ,)) * - 1 r1new . a += einsum ( r1 . a , ( 0 ,), tmp0 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp0 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . UDFCCD . hbar_matvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:53:09.014339. Parameters f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns tmp1 : array tmp105 : array tmp107 : array tmp110 : array tmp111 : array tmp113 : array tmp12 : array tmp120 : array tmp121 : array tmp122 : array tmp124 : array tmp126 : array tmp127 : array tmp128 : array tmp129 : array tmp130 : array tmp134 : array tmp137 : array tmp14 : array tmp141 : array tmp143 : array tmp144 : array tmp148 : array tmp150 : array tmp152 : array tmp16 : array tmp165 : array tmp17 : array tmp172 : array tmp19 : array tmp20 : array tmp22 : array tmp23 : array tmp29 : array tmp3 : array tmp31 : array tmp33 : array tmp37 : array tmp38 : array tmp41 : array tmp42 : array tmp5 : array tmp50 : array tmp53 : array tmp55 : array tmp56 : array tmp6 : array tmp62 : array tmp66 : array tmp68 : array tmp69 : array tmp70 : array tmp72 : array tmp77 : array tmp8 : array tmp80 : array tmp82 : array tmp9 : array tmp90 : array tmp94 : array tmp95 : array tmp96 : array Source code in ebcc/codegen/UDFCCD.py 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 def hbar_matvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:53:09.014339. Parameters ---------- f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- tmp1 : array tmp105 : array tmp107 : array tmp110 : array tmp111 : array tmp113 : array tmp12 : array tmp120 : array tmp121 : array tmp122 : array tmp124 : array tmp126 : array tmp127 : array tmp128 : array tmp129 : array tmp130 : array tmp134 : array tmp137 : array tmp14 : array tmp141 : array tmp143 : array tmp144 : array tmp148 : array tmp150 : array tmp152 : array tmp16 : array tmp165 : array tmp17 : array tmp172 : array tmp19 : array tmp20 : array tmp22 : array tmp23 : array tmp29 : array tmp3 : array tmp31 : array tmp33 : array tmp37 : array tmp38 : array tmp41 : array tmp42 : array tmp5 : array tmp50 : array tmp53 : array tmp55 : array tmp56 : array tmp6 : array tmp62 : array tmp66 : array tmp68 : array tmp69 : array tmp70 : array tmp72 : array tmp77 : array tmp8 : array tmp80 : array tmp82 : array tmp9 : array tmp90 : array tmp94 : array tmp95 : array tmp96 : array \"\"\" tmp142 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp19 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 0 , 2 ), ( 4 , 1 , 3 )) tmp12 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp16 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp112 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp41 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp37 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp1 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp62 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp14 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp5 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp8 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp54 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp3 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp52 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp172 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp165 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp142 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp152 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp150 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 3 , 1 )) tmp148 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp144 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp112 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) tmp143 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp142 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) del tmp142 tmp141 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp137 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp41 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp134 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp37 , ( 0 , 4 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp130 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp129 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 3 , 1 , 5 )) tmp128 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp127 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp126 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 0 , 2 ), ( 1 , 3 )) tmp124 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp122 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp121 = einsum ( tmp19 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp120 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp113 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp112 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) del tmp112 tmp111 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp110 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp62 , ( 0 , 4 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) tmp107 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 0 , 4 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) tmp105 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp96 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp5 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp95 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 3 , 1 )) tmp94 = einsum ( tmp8 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp90 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp82 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp54 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp80 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp62 , ( 4 , 1 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) tmp77 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) tmp72 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp8 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp70 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp5 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp69 = einsum ( tmp8 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp68 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp5 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp66 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp56 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp52 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp55 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp54 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) del tmp54 tmp53 = einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) del tmp52 tmp50 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp42 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp41 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp38 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp33 = einsum ( tmp8 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp31 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp1 , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 5 , 4 )) tmp29 = einsum ( tmp5 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp23 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp22 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp20 = einsum ( tmp19 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp17 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp16 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp9 = einsum ( tmp8 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp6 = einsum ( tmp5 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) return { f \"tmp1\" : tmp1 , f \"tmp105\" : tmp105 , f \"tmp107\" : tmp107 , f \"tmp110\" : tmp110 , f \"tmp111\" : tmp111 , f \"tmp113\" : tmp113 , f \"tmp12\" : tmp12 , f \"tmp120\" : tmp120 , f \"tmp121\" : tmp121 , f \"tmp122\" : tmp122 , f \"tmp124\" : tmp124 , f \"tmp126\" : tmp126 , f \"tmp127\" : tmp127 , f \"tmp128\" : tmp128 , f \"tmp129\" : tmp129 , f \"tmp130\" : tmp130 , f \"tmp134\" : tmp134 , f \"tmp137\" : tmp137 , f \"tmp14\" : tmp14 , f \"tmp141\" : tmp141 , f \"tmp143\" : tmp143 , f \"tmp144\" : tmp144 , f \"tmp148\" : tmp148 , f \"tmp150\" : tmp150 , f \"tmp152\" : tmp152 , f \"tmp16\" : tmp16 , f \"tmp165\" : tmp165 , f \"tmp17\" : tmp17 , f \"tmp172\" : tmp172 , f \"tmp19\" : tmp19 , f \"tmp20\" : tmp20 , f \"tmp22\" : tmp22 , f \"tmp23\" : tmp23 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp31\" : tmp31 , f \"tmp33\" : tmp33 , f \"tmp37\" : tmp37 , f \"tmp38\" : tmp38 , f \"tmp41\" : tmp41 , f \"tmp42\" : tmp42 , f \"tmp5\" : tmp5 , f \"tmp50\" : tmp50 , f \"tmp53\" : tmp53 , f \"tmp55\" : tmp55 , f \"tmp56\" : tmp56 , f \"tmp6\" : tmp6 , f \"tmp62\" : tmp62 , f \"tmp66\" : tmp66 , f \"tmp68\" : tmp68 , f \"tmp69\" : tmp69 , f \"tmp70\" : tmp70 , f \"tmp72\" : tmp72 , f \"tmp77\" : tmp77 , f \"tmp8\" : tmp8 , f \"tmp80\" : tmp80 , f \"tmp82\" : tmp82 , f \"tmp9\" : tmp9 , f \"tmp90\" : tmp90 , f \"tmp94\" : tmp94 , f \"tmp95\" : tmp95 , f \"tmp96\" : tmp96 } ebcc . codegen . UDFCCD . hbar_matvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:53:09.065296. Parameters f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. Source code in ebcc/codegen/UDFCCD.py 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 def hbar_matvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:53:09.065296. Parameters ---------- f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp7 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . bbb . xov , ( 3 , 2 , 0 ), ( 3 , 1 )) * - 1 tmp6 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . baa . xov , ( 3 , 2 , 1 ), ( 3 , 0 )) tmp30 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . baa . xov , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp59 = np . copy ( ints . tmp19 ) tmp59 += ints . tmp16 * 2 tmp31 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbb . xov , ( 3 , 2 , 1 ), ( 3 , 0 )) tmp40 = np . copy ( ints . tmp111 ) del ints . tmp111 tmp40 += ints . tmp137 * 2 del ints . tmp137 tmp61 = np . copy ( ints . tmp12 ) tmp61 += ints . tmp150 * 2 del ints . tmp150 tmp54 = np . copy ( ints . tmp148 ) del ints . tmp148 tmp54 += ints . tmp152 * 0.5 del ints . tmp152 tmp44 = np . copy ( np . transpose ( ints . tmp17 , ( 1 , 0 ))) tmp44 += np . transpose ( ints . tmp20 , ( 1 , 0 )) * 0.5 tmp44 += f . bb . vv * - 0.5 tmp51 = np . copy ( ints . tmp16 ) * 2 tmp51 += ints . tmp19 tmp16 = np . copy ( np . transpose ( ints . tmp6 , ( 1 , 0 ))) tmp16 += np . transpose ( ints . tmp9 , ( 1 , 0 )) * 0.5 tmp16 += f . aa . vv * - 0.5 tmp14 = np . copy ( ints . tmp5 ) * 2 tmp14 += ints . tmp8 tmp13 = np . copy ( tmp6 ) tmp13 += tmp7 * 0.5 tmp18 = np . copy ( ints . tmp29 ) del ints . tmp29 tmp18 += ints . tmp33 * 0.5 del ints . tmp33 tmp4 = np . copy ( ints . tmp50 ) tmp4 += ints . tmp38 * 2 tmp8 = np . copy ( tmp6 ) * 2 del tmp6 tmp8 += tmp7 del tmp7 tmp10 = np . copy ( ints . tmp1 ) tmp10 += ints . tmp31 * 2 del ints . tmp31 tmp35 = einsum ( r1 . b , ( 0 ,), f . bb . ov , ( 1 , 0 ), ( 1 ,)) tmp37 = einsum ( ints . tmp41 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 2 , 0 ), ( 1 ,)) * - 1 tmp36 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp62 , ( 2 , 3 , 0 , 1 ), ( 3 ,)) tmp60 = einsum ( tmp30 , ( 0 , 1 ), tmp59 , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) del tmp59 tmp57 = einsum ( tmp31 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) tmp58 = einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 1 ), ( 0 , 4 , 2 )) * - 1 tmp62 = einsum ( r1 . b , ( 0 ,), tmp61 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp61 tmp55 = einsum ( r1 . b , ( 0 ,), tmp54 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) * 2 del tmp54 tmp50 = einsum ( tmp30 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) tmp53 = einsum ( tmp44 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 4 tmp49 = einsum ( ints . tmp134 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 1 , 3 , 4 )) tmp52 = einsum ( tmp31 , ( 0 , 1 ), tmp51 , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) * 2 del tmp51 tmp22 = einsum ( ints . tmp37 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 3 , 2 , 0 ), ( 1 ,)) * - 1 tmp23 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp62 , ( 3 , 2 , 1 , 0 ), ( 3 ,)) * - 1 tmp21 = einsum ( r1 . a , ( 0 ,), f . aa . ov , ( 1 , 0 ), ( 1 ,)) tmp17 = einsum ( tmp16 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 4 del tmp16 tmp15 = einsum ( tmp14 , ( 0 , 1 , 2 ), tmp13 , ( 0 , 3 ), ( 1 , 2 , 3 )) * 2 del tmp14 tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 0 , 1 , 3 )) * 2 del tmp18 tmp3 = einsum ( ints . tmp42 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 0 , 2 , 4 )) * - 1 tmp5 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 3 , 1 ), ( 0 , 4 , 2 )) * - 1 del tmp4 tmp9 = einsum ( tmp8 , ( 0 , 1 ), v . baa . xov , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) del tmp8 tmp11 = einsum ( r1 . a , ( 0 ,), tmp10 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp10 tmp48 = einsum ( ints . tmp41 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) del ints . tmp41 tmp46 = np . copy ( f . bb . oo ) tmp46 += np . transpose ( ints . tmp122 , ( 1 , 0 )) * 2 del ints . tmp122 tmp46 += np . transpose ( ints . tmp124 , ( 1 , 0 )) del ints . tmp124 tmp47 = np . copy ( f . bb . ov ) tmp47 += ints . tmp121 del ints . tmp121 tmp47 += ints . tmp126 del ints . tmp126 tmp47 += ints . tmp127 * 2 del ints . tmp127 tmp47 += ints . tmp120 * - 2 del ints . tmp120 tmp47 += ints . tmp143 * - 2 del ints . tmp143 tmp47 += ints . tmp144 * - 1 del ints . tmp144 tmp38 = np . copy ( tmp35 ) * - 1 del tmp35 tmp38 += tmp36 del tmp36 tmp38 += tmp37 * 2 del tmp37 tmp63 = np . copy ( tmp57 ) * 2 del tmp57 tmp63 += np . transpose ( tmp58 , ( 0 , 2 , 1 )) * - 2 del tmp58 tmp63 += np . transpose ( tmp60 , ( 0 , 2 , 1 )) del tmp60 tmp63 += tmp62 del tmp62 tmp56 = np . copy ( tmp49 ) del tmp49 tmp56 += tmp50 del tmp50 tmp56 += np . transpose ( tmp52 , ( 0 , 2 , 1 )) del tmp52 tmp56 += np . transpose ( tmp53 , ( 0 , 2 , 1 )) del tmp53 tmp56 += tmp55 del tmp55 tmp42 = np . copy ( ints . tmp16 ) * 2 del ints . tmp16 tmp42 += ints . tmp19 del ints . tmp19 tmp42 += v . bbb . xov tmp39 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp62 , ( 3 , 4 , 1 , 0 ), ( 3 , 4 , 2 )) * - 1 tmp0 = np . copy ( np . transpose ( ints . tmp6 , ( 1 , 0 ))) * 2 del ints . tmp6 tmp0 += np . transpose ( ints . tmp9 , ( 1 , 0 )) del ints . tmp9 tmp0 += f . aa . vv * - 1 tmp45 = np . copy ( tmp21 ) * 0.5 tmp45 += tmp22 * - 1 tmp45 += tmp23 * 0.5 tmp41 = np . copy ( ints . tmp110 ) del ints . tmp110 tmp41 += ints . tmp141 * - 1 del ints . tmp141 tmp43 = np . copy ( ints . tmp113 ) del ints . tmp113 tmp43 += np . transpose ( ints . tmp128 , ( 0 , 2 , 1 , 3 )) del ints . tmp128 tmp43 += np . transpose ( ints . tmp130 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp130 tmp43 += ints . tmp3 tmp43 += ints . tmp107 * - 1 del ints . tmp107 tmp43 += np . transpose ( ints . tmp129 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp129 tmp26 = np . copy ( f . aa . ov ) tmp26 += ints . tmp22 * 2 del ints . tmp22 tmp26 += ints . tmp23 del ints . tmp23 tmp26 += ints . tmp69 del ints . tmp69 tmp26 += ints . tmp53 * - 2 del ints . tmp53 tmp26 += ints . tmp55 * - 1 del ints . tmp55 tmp26 += ints . tmp68 * - 2 del ints . tmp68 tmp29 = np . copy ( ints . tmp38 ) * 2 del ints . tmp38 tmp29 += ints . tmp50 del ints . tmp50 tmp33 = np . copy ( ints . tmp8 ) del ints . tmp8 tmp33 += v . baa . xov tmp33 += ints . tmp5 * 2 del ints . tmp5 tmp28 = np . copy ( ints . tmp105 ) del ints . tmp105 tmp28 += ints . tmp80 * - 1 del ints . tmp80 tmp32 = np . copy ( tmp30 ) * - 1 del tmp30 tmp32 += tmp31 * 2 del tmp31 tmp34 = np . copy ( ints . tmp14 ) tmp34 += ints . tmp82 del ints . tmp82 tmp34 += np . transpose ( ints . tmp94 , ( 0 , 1 , 3 , 2 )) del ints . tmp94 tmp34 += np . transpose ( ints . tmp96 , ( 0 , 1 , 3 , 2 )) * 2 del ints . tmp96 tmp34 += ints . tmp77 * - 1 del ints . tmp77 tmp34 += np . transpose ( ints . tmp95 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp95 tmp1 = np . copy ( np . transpose ( ints . tmp17 , ( 1 , 0 ))) * 2 del ints . tmp17 tmp1 += np . transpose ( ints . tmp20 , ( 1 , 0 )) del ints . tmp20 tmp1 += f . bb . vv * - 1 tmp25 = np . copy ( f . aa . oo ) tmp25 += np . transpose ( ints . tmp70 , ( 1 , 0 )) * 2 del ints . tmp70 tmp25 += np . transpose ( ints . tmp72 , ( 1 , 0 )) del ints . tmp72 tmp27 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp62 , ( 3 , 4 , 0 , 1 ), ( 3 , 2 , 4 )) del ints . tmp62 tmp20 = np . copy ( tmp15 ) del tmp15 tmp20 += np . transpose ( tmp17 , ( 0 , 2 , 1 )) del tmp17 tmp20 += tmp19 del tmp19 tmp2 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp37 , ( 3 , 4 , 1 , 0 ), ( 3 , 4 , 2 )) * - 1 del ints . tmp37 tmp12 = np . copy ( tmp3 ) del tmp3 tmp12 += np . transpose ( tmp5 , ( 0 , 2 , 1 )) * - 2 del tmp5 tmp12 += np . transpose ( tmp9 , ( 0 , 2 , 1 )) del tmp9 tmp12 += tmp11 del tmp11 tmp24 = np . copy ( tmp21 ) del tmp21 tmp24 += tmp22 * - 2 del tmp22 tmp24 += tmp23 del tmp23 r2new . bbb = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp48 , ( 0 , 1 , 4 ), ( 2 , 3 , 4 )) * 2 del tmp48 r2new . bbb += einsum ( r1 . b , ( 0 ,), ints . tmp165 , ( 1 , 2 , 3 , 0 ), ( 3 , 2 , 1 )) * 2 del ints . tmp165 r2new . bbb += einsum ( ints . tmp172 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) * - 2 del ints . tmp172 r2new . bbb += np . transpose ( tmp56 , ( 1 , 2 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp56 , ( 2 , 1 , 0 )) del tmp56 r2new . bbb += np . transpose ( tmp63 , ( 1 , 2 , 0 )) r2new . bbb += np . transpose ( tmp63 , ( 2 , 1 , 0 )) * - 1 del tmp63 r2new . bbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp38 , ( 1 ,), ( 2 , 3 , 0 )) * - 2 r2new . bbb += einsum ( tmp46 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp47 , ( 1 , 2 ), ( 0 , 2 , 1 )) r2new . bbb += einsum ( tmp47 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 1 , 2 , 0 )) * - 1 r2new . bab = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp39 , ( 0 , 1 , 4 ), ( 3 , 2 , 4 )) * - 1 del tmp39 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp90 , ( 3 , 1 , 4 , 0 ), ( 4 , 3 , 2 )) r2new . bab += einsum ( ints . tmp134 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 0 ), ( 3 , 4 , 1 )) * 2 del ints . tmp134 r2new . bab += einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 2 , 4 , 0 )) * - 1 del tmp40 r2new . bab += einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) del tmp41 r2new . bab += einsum ( tmp13 , ( 0 , 1 ), tmp42 , ( 0 , 2 , 3 ), ( 3 , 1 , 2 )) * - 2 del tmp13 , tmp42 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp43 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del tmp43 r2new . bab += einsum ( tmp0 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . bab += einsum ( tmp44 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 2 del tmp44 r2new . bab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp45 , ( 0 ,), ( 3 , 2 , 1 )) * 2 del tmp45 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp46 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp46 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp47 , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 del tmp47 r2new . aba = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp90 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) del ints . tmp90 r2new . aba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 0 , 4 , 1 ), ( 2 , 3 , 4 )) del tmp27 r2new . aba += einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp42 , ( 3 , 2 , 4 , 1 ), ( 4 , 0 , 3 )) * 2 del ints . tmp42 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp28 , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) * - 1 del tmp28 r2new . aba += einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 3 , 4 , 1 ), ( 2 , 4 , 0 )) * - 1 del tmp29 r2new . aba += einsum ( tmp33 , ( 0 , 1 , 2 ), tmp32 , ( 0 , 3 ), ( 2 , 3 , 1 )) * - 1 del tmp33 , tmp32 r2new . aba += einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 1 , 2 , 0 )) * - 1 del tmp34 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp0 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp1 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . aba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp38 , ( 1 ,), ( 2 , 3 , 0 )) * - 1 del tmp38 r2new . aba += einsum ( tmp25 , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp26 , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new . aaa = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 1 , 4 ), ( 2 , 3 , 4 )) * 2 del tmp2 r2new . aaa += einsum ( ints . tmp56 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 3 ,), ( 2 , 1 , 0 )) * 2 del ints . tmp56 r2new . aaa += einsum ( ints . tmp66 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 3 , 1 , 4 ), ( 0 , 2 , 4 )) * 2 del ints . tmp66 r2new . aaa += np . transpose ( tmp12 , ( 1 , 2 , 0 )) r2new . aaa += np . transpose ( tmp12 , ( 2 , 1 , 0 )) * - 1 del tmp12 r2new . aaa += np . transpose ( tmp20 , ( 1 , 2 , 0 )) * - 1 r2new . aaa += np . transpose ( tmp20 , ( 2 , 1 , 0 )) del tmp20 r2new . aaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp24 , ( 1 ,), ( 2 , 3 , 0 )) * 2 del tmp24 r2new . aaa += einsum ( tmp25 , ( 0 , 1 ), r2 . aaa , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 del tmp25 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp26 , ( 1 , 2 ), ( 0 , 2 , 1 )) r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp26 , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 del tmp26 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), f . aa . ov , ( 2 , 0 ), ( 1 ,)) * - 1 r1new . b += einsum ( ints . tmp12 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 2 , 0 ), ( 1 ,)) * - 2 del ints . tmp12 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), f . bb . ov , ( 2 , 1 ), ( 0 ,)) * 2 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp14 , ( 2 , 0 , 3 , 1 ), ( 3 ,)) * - 1 del ints . tmp14 r1new . b += einsum ( r1 . b , ( 0 ,), tmp1 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp1 r1new . a = einsum ( ints . tmp1 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 3 , 0 ), ( 1 ,)) * 2 del ints . tmp1 r1new . a += einsum ( f . bb . ov , ( 0 , 1 ), r2 . bab , ( 1 , 2 , 0 ), ( 2 ,)) * - 1 r1new . a += einsum ( ints . tmp3 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 2 , 0 ), ( 1 ,)) * - 1 del ints . tmp3 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), f . aa . ov , ( 2 , 1 ), ( 0 ,)) * 2 r1new . a += einsum ( r1 . a , ( 0 ,), tmp0 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp0 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . UDFCCD . hbar_lmatvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:53:56.142043. Parameters f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns tmp1 : array tmp10 : array tmp100 : array tmp104 : array tmp105 : array tmp107 : array tmp12 : array tmp125 : array tmp127 : array tmp130 : array tmp132 : array tmp14 : array tmp146 : array tmp153 : array tmp157 : array tmp16 : array tmp161 : array tmp162 : array tmp163 : array tmp165 : array tmp166 : array tmp168 : array tmp17 : array tmp181 : array tmp183 : array tmp185 : array tmp186 : array tmp19 : array tmp20 : array tmp202 : array tmp204 : array tmp22 : array tmp24 : array tmp25 : array tmp27 : array tmp28 : array tmp3 : array tmp30 : array tmp32 : array tmp34 : array tmp35 : array tmp37 : array tmp38 : array tmp39 : array tmp4 : array tmp40 : array tmp42 : array tmp43 : array tmp45 : array tmp47 : array tmp49 : array tmp51 : array tmp54 : array tmp57 : array tmp6 : array tmp63 : array tmp65 : array tmp69 : array tmp71 : array tmp77 : array tmp78 : array tmp8 : array tmp80 : array tmp81 : array tmp83 : array tmp84 : array tmp86 : array tmp93 : array tmp96 : array Source code in ebcc/codegen/UDFCCD.py 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 def hbar_lmatvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:53:56.142043. Parameters ---------- f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- tmp1 : array tmp10 : array tmp100 : array tmp104 : array tmp105 : array tmp107 : array tmp12 : array tmp125 : array tmp127 : array tmp130 : array tmp132 : array tmp14 : array tmp146 : array tmp153 : array tmp157 : array tmp16 : array tmp161 : array tmp162 : array tmp163 : array tmp165 : array tmp166 : array tmp168 : array tmp17 : array tmp181 : array tmp183 : array tmp185 : array tmp186 : array tmp19 : array tmp20 : array tmp202 : array tmp204 : array tmp22 : array tmp24 : array tmp25 : array tmp27 : array tmp28 : array tmp3 : array tmp30 : array tmp32 : array tmp34 : array tmp35 : array tmp37 : array tmp38 : array tmp39 : array tmp4 : array tmp40 : array tmp42 : array tmp43 : array tmp45 : array tmp47 : array tmp49 : array tmp51 : array tmp54 : array tmp57 : array tmp6 : array tmp63 : array tmp65 : array tmp69 : array tmp71 : array tmp77 : array tmp78 : array tmp8 : array tmp80 : array tmp81 : array tmp83 : array tmp84 : array tmp86 : array tmp93 : array tmp96 : array \"\"\" tmp165 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp146 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp37 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 0 , 2 ), ( 4 , 1 , 3 )) tmp42 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp19 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp16 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp104 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp95 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp92 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp14 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp24 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp56 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp53 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp27 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp12 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp204 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp165 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 4 , 5 )) * - 1 tmp202 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp186 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp146 , ( 4 , 1 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) tmp185 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp183 = einsum ( tmp37 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp181 = einsum ( tmp42 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp168 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp165 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp166 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp165 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp163 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp162 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp146 , ( 0 , 4 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) tmp161 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp157 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp146 , ( 4 , 5 , 2 , 3 ), ( 0 , 4 , 1 , 5 )) tmp153 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp132 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp19 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp130 = einsum ( tmp16 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp127 = einsum ( tmp104 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 0 , 1 )) * - 1 tmp125 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp107 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp104 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) tmp105 = einsum ( tmp104 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) tmp100 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp96 = einsum ( tmp95 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) del tmp95 tmp93 = einsum ( tmp92 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 del tmp92 tmp86 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp37 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp84 = einsum ( tmp16 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp83 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) tmp81 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp42 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp80 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp78 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp24 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp77 = einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) tmp71 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp37 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp69 = einsum ( tmp42 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp65 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp63 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp57 = einsum ( tmp56 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 2 ), ( 4 , 0 , 5 , 3 )) del tmp56 tmp54 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp53 , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) * - 1 del tmp53 tmp51 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp49 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp37 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp47 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp42 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp45 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp43 = einsum ( tmp42 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp40 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp39 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 5 , 3 )) tmp38 = einsum ( tmp37 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp35 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp34 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp12 , ( 0 , 4 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp32 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp12 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp30 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp28 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) tmp25 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp24 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp22 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp12 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp20 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp17 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp10 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp8 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp6 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp4 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp3 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 0 , 2 ), ( 1 , 3 )) tmp1 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp104\" : tmp104 , f \"tmp105\" : tmp105 , f \"tmp107\" : tmp107 , f \"tmp12\" : tmp12 , f \"tmp125\" : tmp125 , f \"tmp127\" : tmp127 , f \"tmp130\" : tmp130 , f \"tmp132\" : tmp132 , f \"tmp14\" : tmp14 , f \"tmp146\" : tmp146 , f \"tmp153\" : tmp153 , f \"tmp157\" : tmp157 , f \"tmp16\" : tmp16 , f \"tmp161\" : tmp161 , f \"tmp162\" : tmp162 , f \"tmp163\" : tmp163 , f \"tmp165\" : tmp165 , f \"tmp166\" : tmp166 , f \"tmp168\" : tmp168 , f \"tmp17\" : tmp17 , f \"tmp181\" : tmp181 , f \"tmp183\" : tmp183 , f \"tmp185\" : tmp185 , f \"tmp186\" : tmp186 , f \"tmp19\" : tmp19 , f \"tmp20\" : tmp20 , f \"tmp202\" : tmp202 , f \"tmp204\" : tmp204 , f \"tmp22\" : tmp22 , f \"tmp24\" : tmp24 , f \"tmp25\" : tmp25 , f \"tmp27\" : tmp27 , f \"tmp28\" : tmp28 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp32\" : tmp32 , f \"tmp34\" : tmp34 , f \"tmp35\" : tmp35 , f \"tmp37\" : tmp37 , f \"tmp38\" : tmp38 , f \"tmp39\" : tmp39 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp42\" : tmp42 , f \"tmp43\" : tmp43 , f \"tmp45\" : tmp45 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp51\" : tmp51 , f \"tmp54\" : tmp54 , f \"tmp57\" : tmp57 , f \"tmp6\" : tmp6 , f \"tmp63\" : tmp63 , f \"tmp65\" : tmp65 , f \"tmp69\" : tmp69 , f \"tmp71\" : tmp71 , f \"tmp77\" : tmp77 , f \"tmp78\" : tmp78 , f \"tmp8\" : tmp8 , f \"tmp80\" : tmp80 , f \"tmp81\" : tmp81 , f \"tmp83\" : tmp83 , f \"tmp84\" : tmp84 , f \"tmp86\" : tmp86 , f \"tmp93\" : tmp93 , f \"tmp96\" : tmp96 } ebcc . codegen . UDFCCD . hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:53:56.196783. Parameters f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. Source code in ebcc/codegen/UDFCCD.py 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:53:56.196783. Parameters ---------- f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp16 = np . copy ( ints . tmp19 ) tmp16 += v . baa . xov tmp16 += ints . tmp16 * 2 tmp18 = np . copy ( ints . tmp37 ) tmp18 += v . bbb . xov tmp18 += ints . tmp42 * 2 tmp38 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 0 , 1 , 3 ), ( 2 ,)) tmp37 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 1 , 2 ), ( 3 ,)) tmp34 = np . copy ( ints . tmp16 ) * 2 del ints . tmp16 tmp34 += ints . tmp19 del ints . tmp19 tmp34 += v . baa . xov tmp17 = einsum ( tmp16 , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 1 , 2 ), ( 0 , 3 )) * - 1 del tmp16 tmp19 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp18 , ( 3 , 0 , 2 ), ( 3 , 1 )) * - 1 tmp39 = np . copy ( tmp37 ) * - 0.5 del tmp37 tmp39 += tmp38 del tmp38 tmp48 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp34 , ( 3 , 0 , 2 ), ( 3 , 1 )) tmp51 = np . copy ( ints . tmp69 ) * 2 tmp51 += ints . tmp71 tmp40 = np . copy ( ints . tmp163 ) del ints . tmp163 tmp40 += np . transpose ( ints . tmp168 , ( 1 , 0 , 3 , 2 )) * 2 del ints . tmp168 tmp56 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp18 , ( 3 , 1 , 2 ), ( 3 , 0 )) * - 1 del tmp18 tmp14 = np . copy ( ints . tmp100 ) tmp14 += np . transpose ( ints . tmp105 , ( 1 , 0 , 3 , 2 )) * 2 tmp12 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 0 , 3 , 2 ), ( 3 ,)) * - 1 tmp20 = np . copy ( tmp17 ) * - 2 del tmp17 tmp20 += tmp19 del tmp19 tmp26 = np . copy ( ints . tmp17 ) * 2 tmp26 += ints . tmp20 tmp24 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 0 , 1 , 3 ), ( 2 ,)) tmp50 = einsum ( ints . tmp165 , ( 0 , 1 , 2 , 3 ), tmp39 , ( 3 ,), ( 0 , 1 , 2 )) * 2 del ints . tmp165 tmp46 = einsum ( ints . tmp24 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 1 ,), ( 0 , 2 , 3 )) tmp47 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp166 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) tmp49 = einsum ( tmp48 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) del tmp48 tmp52 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp51 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 2 del tmp51 tmp54 = einsum ( f . bb . oo , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 0 , 2 , 3 )) tmp55 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp40 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 tmp57 = einsum ( tmp56 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp56 tmp35 = np . copy ( ints . tmp37 ) * 0.5 del ints . tmp37 tmp35 += ints . tmp42 del ints . tmp42 tmp35 += v . bbb . xov * 0.5 tmp15 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 1 del tmp14 tmp10 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), f . aa . oo , ( 3 , 1 ), ( 3 , 0 , 2 )) tmp11 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp107 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 1 tmp13 = einsum ( tmp12 , ( 0 ,), ints . tmp104 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) tmp21 = einsum ( tmp20 , ( 0 , 1 ), v . baa . xov , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) del tmp20 tmp23 = einsum ( r1 . a , ( 0 ,), ints . tmp12 , ( 1 , 0 , 2 , 3 ), ( 1 , 2 , 3 )) tmp27 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp26 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 2 del tmp26 tmp25 = einsum ( tmp24 , ( 0 ,), ints . tmp104 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) del ints . tmp104 tmp44 = np . copy ( ints . tmp181 ) * 2 del ints . tmp181 tmp44 += ints . tmp183 del ints . tmp183 tmp44 += f . bb . vv * - 1 tmp53 = einsum ( r1 . b , ( 0 ,), f . bb . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) tmp53 += tmp46 del tmp46 tmp53 += tmp47 del tmp47 tmp53 += np . transpose ( tmp49 , ( 1 , 0 , 2 )) del tmp49 tmp53 += tmp50 * - 1 del tmp50 tmp53 += np . transpose ( tmp52 , ( 1 , 0 , 2 )) del tmp52 tmp59 = np . copy ( ints . tmp202 ) del ints . tmp202 tmp59 += np . transpose ( ints . tmp204 , ( 2 , 0 , 3 , 1 )) * - 1 del ints . tmp204 tmp58 = np . copy ( tmp54 ) del tmp54 tmp58 += np . transpose ( tmp55 , ( 1 , 0 , 2 )) * - 1 del tmp55 tmp58 += np . transpose ( tmp57 , ( 1 , 0 , 2 )) del tmp57 tmp4 = np . copy ( f . aa . oo ) tmp4 += ints . tmp17 * 2 del ints . tmp17 tmp4 += ints . tmp20 del ints . tmp20 tmp42 = np . copy ( ints . tmp153 ) tmp42 += np . transpose ( ints . tmp157 , ( 1 , 0 , 3 , 2 )) tmp9 = np . copy ( f . bb . oo ) tmp9 += ints . tmp69 * 2 del ints . tmp69 tmp9 += ints . tmp71 del ints . tmp71 tmp45 = np . copy ( tmp24 ) * 2 del tmp24 tmp45 += tmp12 del tmp12 tmp41 = np . copy ( ints . tmp185 ) del ints . tmp185 tmp41 += np . transpose ( ints . tmp186 , ( 1 , 0 , 3 , 2 )) * - 1 del ints . tmp186 tmp43 = einsum ( tmp34 , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 1 , 2 ), ( 0 , 3 )) tmp43 += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp35 , ( 3 , 0 , 2 ), ( 3 , 1 )) * - 1 tmp30 = np . copy ( ints . tmp130 ) * 2 del ints . tmp130 tmp30 += ints . tmp132 del ints . tmp132 tmp30 += f . aa . vv * - 1 tmp33 = np . copy ( ints . tmp153 ) del ints . tmp153 tmp33 += np . transpose ( ints . tmp157 , ( 1 , 0 , 3 , 2 )) del ints . tmp157 tmp36 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp34 , ( 3 , 0 , 2 ), ( 3 , 1 )) * - 0.5 del tmp34 tmp36 += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp35 , ( 3 , 1 , 2 ), ( 3 , 0 )) * 2 del tmp35 tmp32 = np . copy ( ints . tmp100 ) del ints . tmp100 tmp32 += np . transpose ( ints . tmp105 , ( 1 , 0 , 3 , 2 )) * 2 del ints . tmp105 tmp31 = np . copy ( ints . tmp161 ) del ints . tmp161 tmp31 += np . transpose ( ints . tmp162 , ( 1 , 0 , 3 , 2 )) * - 1 del ints . tmp162 tmp22 = np . copy ( tmp10 ) * 2 del tmp10 tmp22 += tmp11 del tmp11 tmp22 += tmp13 del tmp13 tmp22 += np . transpose ( tmp15 , ( 1 , 0 , 2 )) * - 2 del tmp15 tmp22 += np . transpose ( tmp21 , ( 1 , 0 , 2 )) del tmp21 tmp29 = np . copy ( ints . tmp125 ) del ints . tmp125 tmp29 += np . transpose ( ints . tmp127 , ( 2 , 0 , 3 , 1 )) * - 1 del ints . tmp127 tmp28 = einsum ( r1 . a , ( 0 ,), f . aa . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 tmp28 += tmp23 * - 1 del tmp23 tmp28 += tmp25 * 2 del tmp25 tmp28 += np . transpose ( tmp27 , ( 1 , 0 , 2 )) * - 1 del tmp27 tmp7 = np . copy ( f . aa . ov ) * 0.5 tmp7 += ints . tmp1 tmp7 += ints . tmp4 * 0.5 tmp7 += ints . tmp51 * 0.5 tmp7 += ints . tmp22 * - 1 tmp7 += ints . tmp30 * - 0.5 tmp7 += ints . tmp45 * - 1 tmp8 = np . copy ( f . bb . ov ) tmp8 += ints . tmp3 tmp8 += ints . tmp49 tmp8 += ints . tmp6 * 2 tmp8 += ints . tmp25 * - 2 tmp8 += ints . tmp28 * - 1 tmp8 += ints . tmp47 * - 2 tmp5 = np . copy ( ints . tmp27 ) tmp5 += ints . tmp63 del ints . tmp63 tmp5 += np . transpose ( ints . tmp80 , ( 0 , 2 , 1 , 3 )) del ints . tmp80 tmp5 += np . transpose ( ints . tmp84 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp84 tmp5 += np . transpose ( ints . tmp96 , ( 0 , 2 , 1 , 3 )) del ints . tmp96 tmp5 += np . transpose ( ints . tmp77 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp77 tmp5 += np . transpose ( ints . tmp83 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp83 tmp6 = np . copy ( ints . tmp24 ) del ints . tmp24 tmp6 += np . transpose ( ints . tmp78 , ( 2 , 0 , 1 , 3 )) * 2 del ints . tmp78 tmp6 += np . transpose ( ints . tmp93 , ( 2 , 0 , 1 , 3 )) del ints . tmp93 tmp6 += ints . tmp65 * - 1 del ints . tmp65 tmp6 += np . transpose ( ints . tmp81 , ( 2 , 0 , 1 , 3 )) * - 2 del ints . tmp81 tmp6 += np . transpose ( ints . tmp86 , ( 2 , 0 , 1 , 3 )) * - 1 del ints . tmp86 tmp2 = np . copy ( f . aa . ov ) tmp2 += ints . tmp1 * 2 del ints . tmp1 tmp2 += ints . tmp4 del ints . tmp4 tmp2 += ints . tmp51 del ints . tmp51 tmp2 += ints . tmp22 * - 2 del ints . tmp22 tmp2 += ints . tmp30 * - 1 del ints . tmp30 tmp2 += ints . tmp45 * - 2 del ints . tmp45 tmp3 = np . copy ( f . bb . ov ) * 0.5 tmp3 += ints . tmp3 * 0.5 del ints . tmp3 tmp3 += ints . tmp49 * 0.5 del ints . tmp49 tmp3 += ints . tmp6 del ints . tmp6 tmp3 += ints . tmp25 * - 1 del ints . tmp25 tmp3 += ints . tmp28 * - 0.5 del ints . tmp28 tmp3 += ints . tmp47 * - 1 del ints . tmp47 tmp0 = np . copy ( ints . tmp10 ) del ints . tmp10 tmp0 += ints . tmp14 tmp0 += np . transpose ( ints . tmp38 , ( 1 , 0 , 2 , 3 )) del ints . tmp38 tmp0 += np . transpose ( ints . tmp43 , ( 1 , 0 , 2 , 3 )) * 2 del ints . tmp43 tmp0 += np . transpose ( ints . tmp57 , ( 1 , 0 , 2 , 3 )) del ints . tmp57 tmp0 += np . transpose ( ints . tmp34 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp34 tmp0 += np . transpose ( ints . tmp39 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp39 tmp1 = np . copy ( ints . tmp12 ) del ints . tmp12 tmp1 += np . transpose ( ints . tmp32 , ( 2 , 0 , 1 , 3 )) * 2 del ints . tmp32 tmp1 += np . transpose ( ints . tmp54 , ( 2 , 0 , 1 , 3 )) del ints . tmp54 tmp1 += np . transpose ( ints . tmp35 , ( 2 , 0 , 1 , 3 )) * - 2 del ints . tmp35 tmp1 += np . transpose ( ints . tmp40 , ( 2 , 0 , 1 , 3 )) * - 1 del ints . tmp40 tmp1 += ints . tmp8 * - 1 del ints . tmp8 r2new . bbb = np . copy ( tmp53 ) * - 1 r2new . bbb += np . transpose ( tmp53 , ( 1 , 0 , 2 )) del tmp53 r2new . bbb += tmp58 * 2 r2new . bbb += np . transpose ( tmp58 , ( 1 , 0 , 2 )) * - 2 del tmp58 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp59 , ( 3 , 1 , 4 , 0 ), ( 3 , 4 , 2 )) * 2 del tmp59 r2new . bbb += einsum ( tmp44 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bab = einsum ( r1 . a , ( 0 ,), ints . tmp14 , ( 1 , 0 , 2 , 3 ), ( 2 , 1 , 3 )) del ints . tmp14 r2new . bab += einsum ( f . bb . ov , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) * - 1 r2new . bab += einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp166 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) * 2 del ints . tmp166 r2new . bab += einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * - 1 del tmp40 r2new . bab += einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 1 del tmp41 r2new . bab += einsum ( tmp42 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 2 , 0 , 4 )) del tmp42 r2new . bab += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp43 , ( 0 , 3 ), ( 1 , 3 , 2 )) * - 2 del tmp43 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp44 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp44 r2new . bab += einsum ( tmp45 , ( 0 ,), ints . tmp146 , ( 1 , 2 , 0 , 3 ), ( 2 , 1 , 3 )) del tmp45 r2new . bab += einsum ( tmp9 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . bab += einsum ( tmp4 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . aba = einsum ( r1 . b , ( 0 ,), ints . tmp27 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del ints . tmp27 r2new . aba += einsum ( r1 . b , ( 0 ,), f . aa . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 r2new . aba += einsum ( ints . tmp107 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 1 , 3 ), ( 0 , 4 , 2 )) * 2 del ints . tmp107 r2new . aba += einsum ( tmp31 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 1 del tmp31 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp32 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 1 del tmp32 r2new . aba += einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) del tmp33 r2new . aba += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp36 , ( 0 , 3 ), ( 1 , 3 , 2 )) * - 2 del tmp36 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp30 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( ints . tmp146 , ( 0 , 1 , 2 , 3 ), tmp39 , ( 3 ,), ( 0 , 1 , 2 )) * 2 del tmp39 , ints . tmp146 r2new . aba += einsum ( tmp9 , ( 0 , 1 ), r2 . aba , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . aba += einsum ( tmp4 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . aaa = np . copy ( tmp22 ) r2new . aaa += np . transpose ( tmp22 , ( 1 , 0 , 2 )) * - 1 del tmp22 r2new . aaa += tmp28 r2new . aaa += np . transpose ( tmp28 , ( 1 , 0 , 2 )) * - 1 del tmp28 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp29 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) * - 2 del tmp29 r2new . aaa += einsum ( tmp30 , ( 0 , 1 ), r2 . aaa , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 del tmp30 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp5 , ( 0 , 3 , 1 , 2 ), ( 3 ,)) del tmp5 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp6 , ( 3 , 1 , 0 , 2 ), ( 3 ,)) * 2 del tmp6 r1new . b += einsum ( tmp7 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 1 ), ( 2 ,)) * - 2 del tmp7 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp8 , ( 1 , 2 ), ( 0 ,)) * 2 del tmp8 r1new . b += einsum ( tmp9 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp9 r1new . a = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 1 , 3 ), ( 0 ,)) del tmp0 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp1 , ( 3 , 1 , 0 , 2 ), ( 3 ,)) * 2 del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 1 ), ( 2 ,)) * 2 del tmp2 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp3 , ( 0 , 2 ), ( 1 ,)) * - 2 del tmp3 r1new . a += einsum ( tmp4 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . UDFCCD . hbar_lmatvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:54:42.422777. Parameters f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns tmp1 : array tmp102 : array tmp106 : array tmp108 : array tmp110 : array tmp111 : array tmp113 : array tmp12 : array tmp126 : array tmp14 : array tmp146 : array tmp149 : array tmp157 : array tmp158 : array tmp159 : array tmp16 : array tmp161 : array tmp163 : array tmp165 : array tmp166 : array tmp168 : array tmp17 : array tmp182 : array tmp183 : array tmp19 : array tmp20 : array tmp200 : array tmp23 : array tmp26 : array tmp29 : array tmp3 : array tmp32 : array tmp34 : array tmp36 : array tmp38 : array tmp4 : array tmp40 : array tmp41 : array tmp43 : array tmp44 : array tmp46 : array tmp48 : array tmp50 : array tmp51 : array tmp53 : array tmp54 : array tmp56 : array tmp58 : array tmp59 : array tmp6 : array tmp68 : array tmp71 : array tmp73 : array tmp79 : array tmp81 : array tmp87 : array tmp88 : array tmp90 : array tmp91 : array tmp93 : array tmp95 : array tmp97 : array Source code in ebcc/codegen/UDFCCD.py 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 def hbar_lmatvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:54:42.422777. Parameters ---------- f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- tmp1 : array tmp102 : array tmp106 : array tmp108 : array tmp110 : array tmp111 : array tmp113 : array tmp12 : array tmp126 : array tmp14 : array tmp146 : array tmp149 : array tmp157 : array tmp158 : array tmp159 : array tmp16 : array tmp161 : array tmp163 : array tmp165 : array tmp166 : array tmp168 : array tmp17 : array tmp182 : array tmp183 : array tmp19 : array tmp20 : array tmp200 : array tmp23 : array tmp26 : array tmp29 : array tmp3 : array tmp32 : array tmp34 : array tmp36 : array tmp38 : array tmp4 : array tmp40 : array tmp41 : array tmp43 : array tmp44 : array tmp46 : array tmp48 : array tmp50 : array tmp51 : array tmp53 : array tmp54 : array tmp56 : array tmp58 : array tmp59 : array tmp6 : array tmp68 : array tmp71 : array tmp73 : array tmp79 : array tmp81 : array tmp87 : array tmp88 : array tmp90 : array tmp91 : array tmp93 : array tmp95 : array tmp97 : array \"\"\" tmp146 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp165 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp43 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 0 , 2 ), ( 4 , 1 , 3 )) tmp40 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp110 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp19 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp16 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp14 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp68 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp31 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp25 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp58 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp12 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp28 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp22 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp200 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp183 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp146 , ( 0 , 4 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) tmp182 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp168 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp165 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp166 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp165 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp163 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp43 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp161 = einsum ( tmp40 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp159 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp158 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp146 , ( 4 , 1 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) tmp157 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp149 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp126 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp113 = einsum ( tmp110 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) tmp111 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp110 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp108 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp106 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp102 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp97 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp95 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp43 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp93 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp91 = einsum ( tmp68 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 3 , 1 )) tmp90 = einsum ( tmp68 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 3 , 1 )) tmp88 = einsum ( tmp40 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp87 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp81 = einsum ( tmp31 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 5 , 3 )) tmp79 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp25 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp73 = einsum ( tmp43 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp71 = einsum ( tmp40 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp59 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp58 , ( 0 , 4 , 3 , 5 ), ( 1 , 2 , 4 , 5 )) tmp56 = einsum ( tmp40 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp54 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp53 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp12 , ( 0 , 2 , 4 , 5 ), ( 1 , 5 , 4 , 3 )) tmp51 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp12 , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 5 , 4 )) tmp50 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp43 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp48 = einsum ( tmp16 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp46 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp44 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp43 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp41 = einsum ( tmp40 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * - 1 tmp38 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp36 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp28 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp34 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 5 , 3 )) tmp32 = einsum ( tmp31 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) del tmp31 tmp29 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp28 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) del tmp28 tmp26 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp25 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) del tmp25 tmp23 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) del tmp22 tmp20 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp19 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp17 = einsum ( tmp16 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp6 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp4 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp3 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 0 , 2 ), ( 1 , 3 )) tmp1 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) return { f \"tmp1\" : tmp1 , f \"tmp102\" : tmp102 , f \"tmp106\" : tmp106 , f \"tmp108\" : tmp108 , f \"tmp110\" : tmp110 , f \"tmp111\" : tmp111 , f \"tmp113\" : tmp113 , f \"tmp12\" : tmp12 , f \"tmp126\" : tmp126 , f \"tmp14\" : tmp14 , f \"tmp146\" : tmp146 , f \"tmp149\" : tmp149 , f \"tmp157\" : tmp157 , f \"tmp158\" : tmp158 , f \"tmp159\" : tmp159 , f \"tmp16\" : tmp16 , f \"tmp161\" : tmp161 , f \"tmp163\" : tmp163 , f \"tmp165\" : tmp165 , f \"tmp166\" : tmp166 , f \"tmp168\" : tmp168 , f \"tmp17\" : tmp17 , f \"tmp182\" : tmp182 , f \"tmp183\" : tmp183 , f \"tmp19\" : tmp19 , f \"tmp20\" : tmp20 , f \"tmp200\" : tmp200 , f \"tmp23\" : tmp23 , f \"tmp26\" : tmp26 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp32\" : tmp32 , f \"tmp34\" : tmp34 , f \"tmp36\" : tmp36 , f \"tmp38\" : tmp38 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp41\" : tmp41 , f \"tmp43\" : tmp43 , f \"tmp44\" : tmp44 , f \"tmp46\" : tmp46 , f \"tmp48\" : tmp48 , f \"tmp50\" : tmp50 , f \"tmp51\" : tmp51 , f \"tmp53\" : tmp53 , f \"tmp54\" : tmp54 , f \"tmp56\" : tmp56 , f \"tmp58\" : tmp58 , f \"tmp59\" : tmp59 , f \"tmp6\" : tmp6 , f \"tmp68\" : tmp68 , f \"tmp71\" : tmp71 , f \"tmp73\" : tmp73 , f \"tmp79\" : tmp79 , f \"tmp81\" : tmp81 , f \"tmp87\" : tmp87 , f \"tmp88\" : tmp88 , f \"tmp90\" : tmp90 , f \"tmp91\" : tmp91 , f \"tmp93\" : tmp93 , f \"tmp95\" : tmp95 , f \"tmp97\" : tmp97 } ebcc . codegen . UDFCCD . hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:54:42.475767. Parameters f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. Source code in ebcc/codegen/UDFCCD.py 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:54:42.475767. Parameters ---------- f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp23 = np . copy ( ints . tmp19 ) tmp23 += v . baa . xov tmp23 += ints . tmp16 * 2 tmp25 = np . copy ( ints . tmp43 ) tmp25 += v . bbb . xov tmp25 += ints . tmp40 * 2 tmp34 = np . copy ( ints . tmp16 ) * 2 del ints . tmp16 tmp34 += ints . tmp19 del ints . tmp19 tmp34 += v . baa . xov tmp11 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 3 , 0 ), ( 1 ,)) tmp12 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 1 ), ( 0 ,)) tmp24 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp23 , ( 3 , 2 , 1 ), ( 3 , 0 )) * - 1 del tmp23 tmp26 = einsum ( tmp25 , ( 0 , 1 , 2 ), r2 . bab , ( 2 , 3 , 1 ), ( 0 , 3 )) * - 1 tmp53 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp25 , ( 3 , 2 , 1 ), ( 3 , 0 )) * - 1 del tmp25 tmp39 = np . copy ( ints . tmp159 ) del ints . tmp159 tmp39 += np . transpose ( ints . tmp168 , ( 1 , 0 , 3 , 2 )) * 2 del ints . tmp168 tmp35 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp34 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp42 = np . copy ( ints . tmp71 ) tmp42 += ints . tmp73 * 0.5 tmp42 += f . bb . vv * - 0.5 tmp48 = np . copy ( tmp11 ) * - 0.5 tmp48 += tmp12 tmp4 = np . copy ( ints . tmp17 ) * 2 del ints . tmp17 tmp4 += ints . tmp20 del ints . tmp20 tmp4 += f . aa . vv * - 1 tmp5 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 3 , 1 ), ( 0 ,)) tmp21 = np . copy ( ints . tmp102 ) tmp21 += np . transpose ( ints . tmp111 , ( 1 , 0 , 3 , 2 )) * 2 tmp6 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 2 , 1 ), ( 0 ,)) * - 1 tmp27 = np . copy ( tmp24 ) * - 2 del tmp24 tmp27 += tmp26 del tmp26 tmp54 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp53 , ( 0 , 3 ), ( 1 , 2 , 3 )) * - 1 del tmp53 tmp52 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp39 , ( 3 , 2 , 4 , 1 ), ( 3 , 0 , 4 )) * - 1 tmp51 = einsum ( r1 . b , ( 0 ,), ints . tmp68 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) tmp45 = einsum ( ints . tmp166 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 1 , 3 , 4 )) tmp46 = einsum ( tmp35 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) tmp47 = einsum ( tmp42 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 4 tmp49 = einsum ( ints . tmp165 , ( 0 , 1 , 2 , 3 ), tmp48 , ( 1 ,), ( 0 , 2 , 3 )) * 2 del tmp48 tmp36 = np . copy ( ints . tmp40 ) * 2 del ints . tmp40 tmp36 += ints . tmp43 del ints . tmp43 tmp36 += v . bbb . xov tmp16 = einsum ( tmp4 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 2 tmp15 = einsum ( ints . tmp110 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 1 ,), ( 0 , 2 , 3 )) tmp22 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 3 , 1 ), ( 0 , 4 , 2 )) * - 1 del tmp21 tmp18 = einsum ( ints . tmp12 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 0 , 1 , 3 )) tmp20 = einsum ( ints . tmp110 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 ,), ( 0 , 2 , 3 )) tmp19 = einsum ( ints . tmp113 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 0 , 2 , 4 )) * - 1 tmp28 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 ), ( 1 , 2 , 3 )) del tmp27 tmp55 = np . copy ( tmp51 ) del tmp51 tmp55 += np . transpose ( tmp52 , ( 0 , 2 , 1 )) * - 2 del tmp52 tmp55 += np . transpose ( tmp54 , ( 0 , 2 , 1 )) * 2 del tmp54 tmp44 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) tmp50 = einsum ( f . bb . ov , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 1 , 2 )) tmp50 += tmp45 del tmp45 tmp50 += np . transpose ( tmp46 , ( 0 , 2 , 1 )) del tmp46 tmp50 += np . transpose ( tmp47 , ( 0 , 2 , 1 )) del tmp47 tmp50 += tmp49 * - 1 del tmp49 tmp43 = np . copy ( f . bb . oo ) tmp43 += ints . tmp161 * 2 del ints . tmp161 tmp43 += ints . tmp163 del ints . tmp163 tmp7 = np . copy ( tmp5 ) del tmp5 tmp7 += tmp6 * 0.5 del tmp6 tmp40 = np . copy ( ints . tmp182 ) del ints . tmp182 tmp40 += np . transpose ( ints . tmp183 , ( 1 , 0 , 3 , 2 )) * - 1 del ints . tmp183 tmp38 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 2 , 4 ), ( 0 , 4 , 1 )) * - 1 tmp41 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp34 , ( 3 , 2 , 1 ), ( 3 , 0 )) del tmp34 tmp41 += einsum ( tmp36 , ( 0 , 1 , 2 ), r2 . bab , ( 2 , 3 , 1 ), ( 0 , 3 )) * - 0.5 tmp30 = np . copy ( f . aa . oo ) tmp30 += ints . tmp106 * 2 del ints . tmp106 tmp30 += ints . tmp108 del ints . tmp108 tmp10 = np . copy ( ints . tmp71 ) * 2 del ints . tmp71 tmp10 += ints . tmp73 del ints . tmp73 tmp10 += f . bb . vv * - 1 tmp33 = np . copy ( ints . tmp102 ) del ints . tmp102 tmp33 += np . transpose ( ints . tmp111 , ( 1 , 0 , 3 , 2 )) * 2 del ints . tmp111 tmp13 = np . copy ( tmp11 ) * - 1 del tmp11 tmp13 += tmp12 * 2 del tmp12 tmp32 = np . copy ( ints . tmp157 ) del ints . tmp157 tmp32 += np . transpose ( ints . tmp158 , ( 1 , 0 , 3 , 2 )) * - 1 del ints . tmp158 tmp31 = einsum ( r2 . aba , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp37 = np . copy ( tmp35 ) * - 1 del tmp35 tmp37 += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp36 , ( 3 , 2 , 1 ), ( 3 , 0 )) * 2 del tmp36 tmp17 = einsum ( r1 . a , ( 0 ,), f . aa . ov , ( 1 , 2 ), ( 1 , 2 , 0 )) * - 1 tmp17 += tmp15 * 2 del tmp15 tmp17 += np . transpose ( tmp16 , ( 0 , 2 , 1 )) * - 1 del tmp16 tmp29 = np . copy ( tmp18 ) del tmp18 tmp29 += tmp19 del tmp19 tmp29 += tmp20 del tmp20 tmp29 += np . transpose ( tmp22 , ( 0 , 2 , 1 )) * - 2 del tmp22 tmp29 += np . transpose ( tmp28 , ( 0 , 2 , 1 )) del tmp28 tmp14 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp2 = np . copy ( f . bb . ov ) * 0.5 tmp2 += ints . tmp3 * 0.5 del ints . tmp3 tmp2 += ints . tmp44 * 0.5 del ints . tmp44 tmp2 += ints . tmp6 del ints . tmp6 tmp2 += ints . tmp26 * - 1 del ints . tmp26 tmp2 += ints . tmp29 * - 0.5 del ints . tmp29 tmp2 += ints . tmp41 * - 1 del ints . tmp41 tmp8 = np . copy ( ints . tmp58 ) tmp8 += np . transpose ( ints . tmp81 , ( 0 , 1 , 3 , 2 )) del ints . tmp81 tmp8 += np . transpose ( ints . tmp87 , ( 0 , 1 , 3 , 2 )) del ints . tmp87 tmp8 += np . transpose ( ints . tmp93 , ( 0 , 1 , 3 , 2 )) * 2 del ints . tmp93 tmp8 += ints . tmp90 * - 1 del ints . tmp90 tmp8 += np . transpose ( ints . tmp97 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp97 tmp9 = np . copy ( np . transpose ( ints . tmp79 , ( 0 , 3 , 1 , 2 ))) * 0.5 del ints . tmp79 tmp9 += np . transpose ( ints . tmp88 , ( 0 , 3 , 1 , 2 )) del ints . tmp88 tmp9 += np . transpose ( ints . tmp95 , ( 0 , 3 , 1 , 2 )) * 0.5 del ints . tmp95 tmp9 += ints . tmp68 * - 0.5 del ints . tmp68 tmp9 += np . transpose ( ints . tmp91 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp91 tmp3 = np . copy ( f . aa . ov ) * 0.5 tmp3 += ints . tmp1 del ints . tmp1 tmp3 += ints . tmp46 * 0.5 del ints . tmp46 tmp3 += ints . tmp4 * 0.5 del ints . tmp4 tmp3 += ints . tmp23 * - 1 del ints . tmp23 tmp3 += ints . tmp32 * - 0.5 del ints . tmp32 tmp3 += ints . tmp38 * - 1 del ints . tmp38 tmp0 = np . copy ( ints . tmp14 ) tmp0 += np . transpose ( ints . tmp36 , ( 0 , 2 , 1 , 3 )) del ints . tmp36 tmp0 += np . transpose ( ints . tmp50 , ( 0 , 2 , 1 , 3 )) del ints . tmp50 tmp0 += np . transpose ( ints . tmp56 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp56 tmp0 += ints . tmp53 * - 1 del ints . tmp53 tmp0 += np . transpose ( ints . tmp59 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp59 tmp1 = np . copy ( np . transpose ( ints . tmp34 , ( 0 , 3 , 1 , 2 ))) * 0.5 del ints . tmp34 tmp1 += np . transpose ( ints . tmp48 , ( 0 , 3 , 1 , 2 )) del ints . tmp48 tmp1 += np . transpose ( ints . tmp54 , ( 0 , 3 , 1 , 2 )) * 0.5 del ints . tmp54 tmp1 += ints . tmp12 * - 0.5 del ints . tmp12 tmp1 += np . transpose ( ints . tmp51 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp51 r2new . bbb = einsum ( ints . tmp165 , ( 0 , 1 , 2 , 3 ), tmp44 , ( 4 , 1 , 0 ), ( 3 , 2 , 4 )) * 2 del ints . tmp165 , tmp44 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp200 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) * - 2 del ints . tmp200 r2new . bbb += np . transpose ( tmp50 , ( 1 , 2 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp50 , ( 2 , 1 , 0 )) del tmp50 r2new . bbb += np . transpose ( tmp55 , ( 1 , 2 , 0 )) r2new . bbb += np . transpose ( tmp55 , ( 2 , 1 , 0 )) * - 1 del tmp55 r2new . bbb += einsum ( tmp43 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bab = einsum ( ints . tmp146 , ( 0 , 1 , 2 , 3 ), tmp38 , ( 0 , 4 , 1 ), ( 3 , 2 , 4 )) * - 1 del tmp38 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp149 , ( 3 , 1 , 4 , 0 ), ( 4 , 3 , 2 )) r2new . bab += einsum ( r1 . a , ( 0 ,), ints . tmp14 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del ints . tmp14 r2new . bab += einsum ( r1 . a , ( 0 ,), f . bb . ov , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new . bab += einsum ( ints . tmp166 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 0 ), ( 3 , 4 , 1 )) * 2 del ints . tmp166 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp39 , ( 3 , 2 , 4 , 0 ), ( 4 , 1 , 3 )) * - 1 del tmp39 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp40 , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) * - 1 del tmp40 r2new . bab += einsum ( tmp41 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 3 , 1 , 2 )) * - 2 del tmp41 r2new . bab += einsum ( tmp4 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp42 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 2 del tmp42 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp43 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp43 r2new . bab += einsum ( tmp7 , ( 0 ,), ints . tmp146 , ( 0 , 1 , 2 , 3 ), ( 3 , 2 , 1 )) * 2 r2new . aba = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp149 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) del ints . tmp149 r2new . aba += einsum ( r1 . b , ( 0 ,), ints . tmp58 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del ints . tmp58 r2new . aba += einsum ( r1 . b , ( 0 ,), f . aa . ov , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new . aba += einsum ( ints . tmp146 , ( 0 , 1 , 2 , 3 ), tmp31 , ( 4 , 0 , 1 ), ( 2 , 3 , 4 )) del tmp31 r2new . aba += einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp113 , ( 3 , 2 , 4 , 1 ), ( 4 , 0 , 3 )) * 2 del ints . tmp113 r2new . aba += einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) * - 1 del tmp32 r2new . aba += einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 3 , 4 , 1 ), ( 2 , 4 , 0 )) * - 1 del tmp33 r2new . aba += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp37 , ( 0 , 3 ), ( 2 , 3 , 1 )) * - 1 del tmp37 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp4 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp10 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . aba += einsum ( tmp30 , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aba += einsum ( tmp13 , ( 0 ,), ints . tmp146 , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) del ints . tmp146 r2new . aaa = einsum ( ints . tmp110 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 1 , 0 ), ( 3 , 2 , 4 )) * 2 del ints . tmp110 , tmp14 r2new . aaa += einsum ( ints . tmp126 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 3 , 1 , 4 ), ( 0 , 2 , 4 )) * 2 del ints . tmp126 r2new . aaa += np . transpose ( tmp17 , ( 1 , 2 , 0 )) r2new . aaa += np . transpose ( tmp17 , ( 2 , 1 , 0 )) * - 1 del tmp17 r2new . aaa += np . transpose ( tmp29 , ( 1 , 2 , 0 )) r2new . aaa += np . transpose ( tmp29 , ( 2 , 1 , 0 )) * - 1 del tmp29 r2new . aaa += einsum ( tmp30 , ( 0 , 1 ), r2 . aaa , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 del tmp30 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp8 , ( 2 , 0 , 3 , 1 ), ( 3 ,)) * - 1 del tmp8 r1new . b += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 0 ), ( 1 ,)) * - 4 del tmp9 r1new . b += einsum ( tmp3 , ( 0 , 1 ), r2 . aba , ( 1 , 2 , 0 ), ( 2 ,)) * - 2 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp2 , ( 2 , 1 ), ( 0 ,)) * 4 r1new . b += einsum ( r1 . b , ( 0 ,), tmp10 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp10 r1new . b += einsum ( f . bb . ov , ( 0 , 1 ), tmp13 , ( 0 ,), ( 1 ,)) * - 1 del tmp13 r1new . a = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 2 , 0 ), ( 1 ,)) * - 1 del tmp0 r1new . a += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 3 , 2 , 0 ), ( 1 ,)) * 4 del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 ), r2 . bab , ( 1 , 2 , 0 ), ( 2 ,)) * - 2 del tmp2 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp3 , ( 2 , 1 ), ( 0 ,)) * 4 del tmp3 r1new . a += einsum ( r1 . a , ( 0 ,), tmp4 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp4 r1new . a += einsum ( tmp7 , ( 0 ,), f . aa . ov , ( 0 , 1 ), ( 1 ,)) * - 2 del tmp7 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"UDFCCD"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.energy","text":"Code generated by albert 0.0.0 on 2024-08-17T20:50:54.618350.","title":"energy"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.energy--parameters","text":"t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/UDFCCD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:50:54.618350. Parameters ---------- t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- e_cc : float Coupled cluster energy. \"\"\" tmp0 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp1 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp1 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) e_cc = einsum ( tmp0 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 2 ), ()) del tmp0 e_cc += einsum ( tmp1 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 2 ), ()) del tmp1 return e_cc","title":"Returns"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-17T20:51:07.068241.","title":"update_amps"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.update_amps--parameters","text":"f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.update_amps--returns","text":"t2new : Namespace of arrays Updated T2 residuals. Source code in ebcc/codegen/UDFCCD.py 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 def update_amps ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:07.068241. 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 () tmp17 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp10 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp18 = np . copy ( np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp18 += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) tmp30 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp29 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 0 , 2 ), ( 4 , 1 , 3 )) tmp3 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp4 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp13 = np . copy ( np . transpose ( tmp10 , ( 1 , 0 , 2 , 3 ))) tmp13 += np . transpose ( tmp10 , ( 1 , 0 , 3 , 2 )) * - 1 tmp52 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) tmp41 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp31 = np . copy ( tmp29 ) * 0.5 tmp31 += tmp30 tmp7 = np . copy ( tmp3 ) * 2 tmp7 += tmp4 tmp5 = np . copy ( tmp3 ) * 2 tmp5 += tmp4 tmp14 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp13 , ( 1 , 4 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp12 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp47 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp59 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) tmp53 = np . copy ( np . transpose ( tmp41 , ( 1 , 0 , 3 , 2 ))) tmp53 += np . transpose ( tmp52 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp52 tmp45 = einsum ( tmp31 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp33 = np . copy ( tmp29 ) tmp33 += tmp30 * 2 tmp55 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 3 , 5 ), ( 1 , 4 , 2 , 5 )) del tmp13 tmp34 = np . copy ( tmp3 ) tmp34 += tmp4 * 0.5 tmp27 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp8 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp7 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp36 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp39 = einsum ( tmp7 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) del tmp7 tmp19 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp18 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp18 tmp25 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp5 , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp15 = np . copy ( np . transpose ( tmp12 , ( 1 , 0 , 3 , 2 ))) tmp15 += np . transpose ( tmp14 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp14 tmp6 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp5 , ( 0 , 1 , 3 ), ( 2 , 3 )) * 0.5 del tmp5 tmp23 = einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 1 , 0 )) tmp0 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp57 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp50 = np . copy ( f . bb . vv ) * - 0.5 tmp50 += einsum ( tmp31 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp48 = einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 3 , 4 , 5 ), ( 2 , 0 , 4 , 5 )) del tmp47 tmp60 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp59 , ( 4 , 5 , 0 , 1 ), ( 5 , 4 , 2 , 3 )) * - 1 del tmp59 tmp51 = einsum ( tmp30 , ( 0 , 1 , 2 ), tmp29 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) del tmp29 , tmp30 tmp46 = einsum ( f . bb . oo , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp54 = einsum ( tmp53 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp53 tmp61 = einsum ( tmp45 , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 2 tmp49 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp33 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp32 = einsum ( tmp31 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) * 2 del tmp31 tmp58 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp56 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp55 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp55 tmp35 = np . copy ( f . aa . vv ) * - 0.5 tmp35 += einsum ( tmp34 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) del tmp34 tmp28 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp27 tmp38 = np . copy ( np . transpose ( tmp12 , ( 1 , 0 , 3 , 2 ))) tmp38 += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 2 ), ( 0 , 4 , 3 , 5 )) * 2 tmp38 += tmp8 * - 1 tmp37 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp37 += einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) * - 1 tmp42 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp40 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 tmp40 += tmp39 tmp44 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp43 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp36 , ( 4 , 5 , 2 , 3 ), ( 0 , 4 , 1 , 5 )) tmp20 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 del tmp19 tmp26 = einsum ( tmp25 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 tmp2 = einsum ( f . aa . oo , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp11 = einsum ( tmp4 , ( 0 , 1 , 2 ), tmp3 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) del tmp3 , tmp4 tmp22 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp16 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp15 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp15 tmp9 = np . copy ( f . aa . vv ) * - 0.5 tmp9 += np . transpose ( tmp6 , ( 1 , 0 )) tmp24 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp23 , ( 4 , 5 , 0 , 1 ), ( 5 , 4 , 2 , 3 )) * - 1 del tmp23 tmp21 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp12 tmp1 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 0 , 5 , 1 ), ( 5 , 4 , 2 , 3 )) del tmp0 t2new . bbbb = np . copy ( np . transpose ( tmp46 , ( 1 , 0 , 3 , 2 ))) * 2 t2new . bbbb += np . transpose ( tmp48 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp48 t2new . bbbb += np . transpose ( tmp46 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp46 t2new . bbbb += einsum ( tmp32 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 2 t2new . bbbb += np . transpose ( tmp49 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += einsum ( tmp50 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * 4 del tmp50 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . vv , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * 2 t2new . bbbb += np . transpose ( tmp49 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp17 t2new . bbbb += np . transpose ( tmp49 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp51 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp51 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . bbbb += np . transpose ( tmp54 , ( 0 , 1 , 3 , 2 )) * 2 t2new . bbbb += np . transpose ( tmp56 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += tmp51 * 2 t2new . bbbb += np . transpose ( tmp51 , ( 1 , 0 , 3 , 2 )) * 2 del tmp51 t2new . bbbb += np . transpose ( tmp54 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp54 t2new . bbbb += tmp56 del tmp56 t2new . bbbb += tmp49 del tmp49 t2new . bbbb += tmp57 * - 2 t2new . bbbb += np . transpose ( tmp57 , ( 1 , 0 , 2 , 3 )) * 2 del tmp57 t2new . bbbb += einsum ( tmp58 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) * - 2 del tmp58 t2new . bbbb += tmp60 * 2 del tmp60 t2new . bbbb += np . transpose ( tmp61 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp61 , ( 1 , 0 , 3 , 2 )) * 2 del tmp61 t2new . abab = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . oo , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 t2new . abab += tmp28 del tmp28 t2new . abab += einsum ( f . aa . oo , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp32 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 1 del tmp32 t2new . abab += einsum ( tmp33 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) del tmp33 t2new . abab += einsum ( tmp35 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp35 t2new . abab += einsum ( f . bb . vv , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) t2new . abab += tmp36 del tmp36 t2new . abab += einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 3 , 5 )) * - 1 del tmp37 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp38 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) * - 1 del tmp38 t2new . abab += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp40 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp40 t2new . abab += tmp39 del tmp39 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp41 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * - 1 del tmp41 t2new . abab += einsum ( tmp42 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * - 1 del tmp42 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp43 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp43 t2new . abab += einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) del tmp44 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp45 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 2 del tmp45 t2new . abab += einsum ( tmp25 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp25 t2new . aaaa = np . copy ( np . transpose ( tmp1 , ( 0 , 1 , 3 , 2 ))) * - 2 del tmp1 t2new . aaaa += np . transpose ( tmp2 , ( 1 , 0 , 3 , 2 )) * 2 t2new . aaaa += np . transpose ( tmp2 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp2 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp6 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 4 del tmp6 t2new . aaaa += tmp8 t2new . aaaa += einsum ( tmp9 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * 4 del tmp9 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . vv , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * 2 t2new . aaaa += np . transpose ( tmp8 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp10 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp10 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp10 t2new . aaaa += np . transpose ( tmp8 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp11 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp11 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . aaaa += np . transpose ( tmp16 , ( 1 , 0 , 2 , 3 )) * 2 t2new . aaaa += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp11 * 2 t2new . aaaa += np . transpose ( tmp11 , ( 1 , 0 , 3 , 2 )) * 2 del tmp11 t2new . aaaa += tmp16 * - 2 del tmp16 t2new . aaaa += tmp20 del tmp20 t2new . aaaa += np . transpose ( tmp8 , ( 1 , 0 , 3 , 2 )) del tmp8 t2new . aaaa += tmp21 * - 2 t2new . aaaa += np . transpose ( tmp21 , ( 1 , 0 , 2 , 3 )) * 2 del tmp21 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp22 , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) * - 2 del tmp22 t2new . aaaa += tmp24 * 2 del tmp24 t2new . aaaa += np . transpose ( tmp26 , ( 1 , 0 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp26 , ( 0 , 1 , 3 , 2 )) * 2 del tmp26 return { f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.update_lams","text":"Code generated by albert 0.0.0 on 2024-08-17T20:51:26.739943.","title":"update_lams"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.update_lams--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.update_lams--returns","text":"l2new : Namespace of arrays Updated L2 residuals. Source code in ebcc/codegen/UDFCCD.py 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 def update_lams ( f = None , l2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:26.739943. 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 () tmp11 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 0 , 2 ), ( 4 , 1 , 3 )) tmp12 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp48 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 1 , 4 )) tmp49 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp9 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp8 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp0 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp1 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp74 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp73 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 0 , 4 ), ( 4 , 1 )) tmp54 = np . copy ( tmp11 ) * 0.5 tmp54 += tmp12 tmp50 = np . copy ( tmp48 ) del tmp48 tmp50 += tmp49 * 2 del tmp49 tmp33 = np . copy ( v . bbb . xov ) tmp33 += tmp11 tmp33 += tmp12 * 2 tmp31 = np . copy ( v . baa . xov ) tmp31 += tmp8 * 2 tmp31 += tmp9 tmp42 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp41 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp2 = np . copy ( tmp0 ) del tmp0 tmp2 += tmp1 * 0.5 del tmp1 tmp15 = np . copy ( tmp8 ) * 2 tmp15 += tmp9 tmp75 = np . copy ( tmp73 ) * 0.5 del tmp73 tmp75 += tmp74 del tmp74 tmp55 = einsum ( tmp54 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 3 , 1 )) * 2 tmp66 = einsum ( tmp54 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) * 2 del tmp54 tmp96 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 5 ), ( 5 , 1 , 4 , 3 )) tmp97 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp10 = np . copy ( v . baa . xov ) * 0.5 tmp10 += tmp8 del tmp8 tmp10 += tmp9 * 0.5 del tmp9 tmp13 = np . copy ( v . bbb . xov ) tmp13 += tmp11 del tmp11 tmp13 += tmp12 * 2 del tmp12 tmp51 = einsum ( tmp50 , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) tmp93 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp33 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) tmp92 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp31 , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) tmp43 = np . copy ( tmp41 ) * 2 del tmp41 tmp43 += tmp42 del tmp42 tmp3 = einsum ( tmp2 , ( 0 , 1 ), v . baa . xov , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) tmp32 = einsum ( tmp31 , ( 0 , 1 , 2 ), l2 . aaaa , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) del tmp31 tmp34 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp33 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) del tmp33 tmp38 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp37 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp25 = einsum ( tmp15 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) * 0.5 tmp100 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp75 , ( 3 , 1 ), ( 0 , 3 , 2 )) tmp86 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp79 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp56 = np . copy ( f . bb . oo ) tmp56 += np . transpose ( tmp55 , ( 1 , 0 )) del tmp55 tmp90 = einsum ( tmp50 , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * 0.5 del tmp50 tmp67 = np . copy ( f . bb . vv ) * - 1 tmp67 += np . transpose ( tmp66 , ( 1 , 0 )) del tmp66 tmp98 = np . copy ( tmp96 ) del tmp96 tmp98 += tmp97 * 4 del tmp97 tmp84 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp57 = einsum ( tmp10 , ( 0 , 1 , 2 ), l2 . abab , ( 2 , 3 , 1 , 4 ), ( 0 , 4 , 3 )) tmp58 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp13 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) tmp69 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp52 = np . copy ( v . bbb . xov ) tmp52 += tmp51 * - 1 del tmp51 tmp94 = np . copy ( tmp92 ) del tmp92 tmp94 += tmp93 * 2 del tmp93 tmp76 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp75 , ( 3 , 1 ), ( 0 , 3 , 2 )) * 2 del tmp75 tmp16 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp15 , ( 0 , 3 , 2 ), ( 3 , 1 )) * 0.5 tmp60 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp61 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 5 ), ( 4 , 0 , 5 , 1 )) tmp63 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp29 = einsum ( tmp2 , ( 0 , 1 ), v . baa . xov , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * 2 del tmp2 tmp44 = einsum ( tmp43 , ( 0 , 1 ), v . baa . xov , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) tmp6 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp20 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp21 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp4 = np . copy ( v . baa . xov ) * 0.5 tmp4 += tmp3 * - 1 del tmp3 tmp46 = einsum ( tmp43 , ( 0 , 1 ), v . baa . xov , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) * 0.5 del tmp43 tmp35 = np . copy ( tmp32 ) * 2 del tmp32 tmp35 += tmp34 del tmp34 tmp39 = np . copy ( tmp37 ) * 4 del tmp37 tmp39 += tmp38 del tmp38 tmp23 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp26 = np . copy ( f . aa . vv ) * - 0.5 tmp26 += tmp25 del tmp25 tmp101 = einsum ( tmp100 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) * - 2 del tmp100 tmp87 = einsum ( tmp79 , ( 0 , 1 , 2 , 3 ), tmp86 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp86 tmp83 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp56 , ( 3 , 4 ), ( 2 , 4 , 0 , 1 )) * - 2 tmp91 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp90 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) * - 2 del tmp90 tmp89 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp89 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp79 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) * - 1 tmp82 = einsum ( tmp10 , ( 0 , 1 , 2 ), l2 . abab , ( 2 , 3 , 1 , 4 ), ( 0 , 4 , 3 )) * 2 tmp82 += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp13 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) * 2 tmp88 = einsum ( tmp67 , ( 0 , 1 ), l2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 3 , 4 , 2 , 1 )) * - 1 tmp99 = einsum ( tmp98 , ( 0 , 1 , 2 , 3 ), tmp79 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp98 tmp85 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp84 , ( 4 , 0 , 5 , 1 ), ( 2 , 3 , 5 , 4 )) del tmp84 tmp59 = np . copy ( tmp57 ) del tmp57 tmp59 += tmp58 del tmp58 tmp81 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp69 , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp80 = einsum ( tmp52 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp95 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp94 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) del tmp94 tmp102 = einsum ( tmp76 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) * - 1 tmp53 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp70 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp17 = np . copy ( f . aa . oo ) * 0.5 tmp17 += tmp16 del tmp16 tmp77 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 3 , 4 , 1 , 5 ), ( 0 , 5 , 2 , 4 )) tmp77 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 0 , 5 , 2 , 4 )) tmp72 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 5 , 1 ), ( 3 , 4 , 0 , 5 )) tmp62 = einsum ( tmp61 , ( 0 , 1 , 2 , 3 ), tmp60 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp61 tmp65 = np . copy ( f . aa . vv ) * - 1 tmp65 += einsum ( tmp15 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp71 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 5 ), ( 2 , 4 , 1 , 5 )) tmp68 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp68 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp60 , ( 4 , 5 , 2 , 3 ), ( 0 , 4 , 1 , 5 )) tmp64 = einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 1 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 2 )) del tmp63 tmp78 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 5 , 1 , 4 , 3 )) tmp78 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) * - 1 tmp45 = einsum ( tmp44 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) * - 1 tmp18 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) * 4 tmp18 += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp13 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp19 = np . copy ( f . aa . oo ) tmp19 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp15 , ( 0 , 3 , 2 ), ( 3 , 1 )) del tmp15 tmp22 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), tmp20 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp21 tmp28 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp28 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp20 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) * - 1 tmp5 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) * 2 del tmp4 tmp47 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp46 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) * - 2 del tmp46 tmp36 = einsum ( tmp35 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp40 = einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp39 tmp24 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 1 , 3 , 4 , 5 ), ( 4 , 5 , 2 , 0 )) del tmp23 tmp14 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) * 2 del tmp10 tmp14 += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp13 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) * 0.5 del tmp13 tmp27 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp26 , ( 1 , 4 ), ( 2 , 3 , 4 , 0 )) * - 2 del tmp26 l2new . bbbb = np . copy ( np . transpose ( tmp80 , ( 2 , 3 , 0 , 1 ))) l2new . bbbb += np . transpose ( tmp80 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp80 l2new . bbbb += np . transpose ( tmp81 , ( 3 , 2 , 0 , 1 )) * 2 l2new . bbbb += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp82 , ( 0 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 1 del tmp82 l2new . bbbb += np . transpose ( tmp83 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp81 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . bbbb += einsum ( tmp59 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp83 , ( 3 , 2 , 1 , 0 )) del tmp83 l2new . bbbb += np . transpose ( tmp85 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp85 l2new . bbbb += np . transpose ( tmp87 , ( 3 , 2 , 1 , 0 )) * 2 del tmp87 l2new . bbbb += np . transpose ( tmp88 , ( 3 , 2 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp88 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp88 l2new . bbbb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp89 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 5 , 4 )) * 2 del tmp89 l2new . bbbb += np . transpose ( tmp91 , ( 2 , 3 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp81 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp95 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp81 , ( 2 , 3 , 1 , 0 )) * 2 del tmp81 l2new . bbbb += np . transpose ( tmp95 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp95 l2new . bbbb += np . transpose ( tmp99 , ( 3 , 2 , 0 , 1 )) l2new . bbbb += np . transpose ( tmp101 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp99 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp101 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp101 l2new . bbbb += np . transpose ( tmp99 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp102 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp99 , ( 2 , 3 , 1 , 0 )) del tmp99 l2new . bbbb += np . transpose ( tmp102 , ( 2 , 3 , 0 , 1 )) del tmp102 l2new . bbbb += np . transpose ( tmp91 , ( 3 , 2 , 1 , 0 )) del tmp91 l2new . abab = einsum ( tmp52 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) del tmp52 l2new . abab += einsum ( tmp53 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 3 , 4 , 5 , 1 ), ( 2 , 4 , 5 , 0 )) * - 1 del tmp53 l2new . abab += einsum ( tmp56 , ( 0 , 1 ), l2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp56 l2new . abab += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) * - 1 del tmp6 l2new . abab += einsum ( tmp59 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) * 2 del tmp59 l2new . abab += einsum ( tmp17 , ( 0 , 1 ), l2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 l2new . abab += np . transpose ( tmp62 , ( 2 , 3 , 0 , 1 )) del tmp62 l2new . abab += np . transpose ( tmp64 , ( 2 , 3 , 0 , 1 )) del tmp64 l2new . abab += einsum ( tmp65 , ( 0 , 1 ), l2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp65 l2new . abab += einsum ( tmp67 , ( 0 , 1 ), l2 . abab , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 del tmp67 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp68 , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp68 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp69 , ( 4 , 3 , 5 , 1 ), ( 0 , 5 , 2 , 4 )) * - 1 del tmp69 l2new . abab += einsum ( tmp35 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 2 , 4 , 1 , 3 )) del tmp35 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp70 , ( 4 , 2 , 5 , 1 ), ( 0 , 5 , 4 , 3 )) * - 1 del tmp70 l2new . abab += einsum ( tmp71 , ( 0 , 1 , 2 , 3 ), tmp60 , ( 1 , 4 , 5 , 3 ), ( 5 , 2 , 0 , 4 )) del tmp71 l2new . abab += einsum ( tmp44 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 2 , 4 , 1 , 3 )) * - 1 del tmp44 l2new . abab += einsum ( tmp60 , ( 0 , 1 , 2 , 3 ), tmp72 , ( 4 , 1 , 5 , 2 ), ( 5 , 3 , 0 , 4 )) del tmp60 , tmp72 l2new . abab += einsum ( tmp76 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) * - 1 del tmp76 l2new . abab += einsum ( tmp29 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 2 , 4 , 1 , 3 )) * - 1 del tmp29 l2new . abab += einsum ( tmp20 , ( 0 , 1 , 2 , 3 ), tmp77 , ( 0 , 4 , 3 , 5 ), ( 2 , 5 , 1 , 4 )) * - 2 del tmp20 , tmp77 l2new . abab += einsum ( tmp78 , ( 0 , 1 , 2 , 3 ), tmp79 , ( 1 , 4 , 5 , 3 ), ( 2 , 5 , 0 , 4 )) * - 2 del tmp79 , tmp78 l2new . aaaa = np . copy ( np . transpose ( tmp5 , ( 3 , 2 , 1 , 0 ))) l2new . aaaa += np . transpose ( tmp5 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp5 l2new . aaaa += np . transpose ( tmp7 , ( 3 , 2 , 0 , 1 )) * 2 l2new . aaaa += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp14 , ( 0 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 2 del tmp14 l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp17 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 4 del tmp17 l2new . aaaa += np . transpose ( tmp7 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . aaaa += einsum ( tmp18 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) del tmp18 l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp19 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * 2 del tmp19 l2new . aaaa += np . transpose ( tmp22 , ( 3 , 2 , 1 , 0 )) * 2 del tmp22 l2new . aaaa += np . transpose ( tmp24 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp24 l2new . aaaa += np . transpose ( tmp27 , ( 2 , 3 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp27 , ( 3 , 2 , 1 , 0 )) * - 2 del tmp27 l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp28 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 5 , 4 )) * 2 del tmp28 l2new . aaaa += np . transpose ( tmp30 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp7 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp36 , ( 2 , 3 , 0 , 1 )) l2new . aaaa += np . transpose ( tmp7 , ( 2 , 3 , 1 , 0 )) * 2 del tmp7 l2new . aaaa += np . transpose ( tmp36 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp36 l2new . aaaa += np . transpose ( tmp40 , ( 3 , 2 , 0 , 1 )) l2new . aaaa += np . transpose ( tmp45 , ( 2 , 3 , 0 , 1 )) l2new . aaaa += np . transpose ( tmp40 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp45 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp45 l2new . aaaa += np . transpose ( tmp40 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp47 , ( 2 , 3 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp40 , ( 2 , 3 , 1 , 0 )) del tmp40 l2new . aaaa += np . transpose ( tmp47 , ( 3 , 2 , 1 , 0 )) del tmp47 l2new . aaaa += np . transpose ( tmp30 , ( 2 , 3 , 0 , 1 )) del tmp30 return { f \"l2new\" : l2new }","title":"Returns"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.make_rdm1_f","text":"Code generated by albert 0.0.0 on 2024-08-17T20:51:27.499231.","title":"make_rdm1_f"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.make_rdm1_f--parameters","text":"l2 : Namespace of arrays L2 amplitudes. t2 : Namespace of arrays T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.make_rdm1_f--returns","text":"rdm1 : Namespace of arrays One-particle reduced density matrix. Source code in ebcc/codegen/UDFCCD.py 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 def make_rdm1_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:27.499231. 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 ( t2 . aaaa . shape [ - 1 ])), bb = Namespace ( oo = np . eye ( t2 . bbbb . shape [ 0 ]), vv = np . eye ( t2 . bbbb . shape [ - 1 ])), ) rdm1 . bb . vv = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 1 , 4 )) rdm1 . bb . vv += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * 2 rdm1 . aa . vv = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) rdm1 . aa . vv += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * 2 rdm1 . bb . oo = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * - 2 rdm1 . bb . oo += delta . bb . oo rdm1 . bb . oo += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 0 , 4 ), ( 1 , 4 )) * - 1 rdm1 . aa . oo = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) * - 1 rdm1 . aa . oo += delta . aa . oo del delta rdm1 . aa . oo += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) * - 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","title":"Returns"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.make_rdm2_f","text":"Code generated by albert 0.0.0 on 2024-08-17T20:51:37.934715.","title":"make_rdm2_f"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.make_rdm2_f--parameters","text":"l2 : Namespace of arrays L2 amplitudes. t2 : Namespace of arrays T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.make_rdm2_f--returns","text":"rdm2 : Namespace of arrays Two-particle reduced density matrix. Source code in ebcc/codegen/UDFCCD.py 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 def make_rdm2_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:51:37.934715. 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 ( 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 )) tmp6 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp0 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp1 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp24 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 1 , 4 )) tmp25 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp12 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp13 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp32 = np . copy ( tmp5 ) * 0.5 tmp32 += tmp6 tmp35 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 2 , 5 , 0 ), ( 5 , 1 , 4 , 3 )) tmp39 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp37 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp11 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp17 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp29 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp21 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 3 , 4 , 1 , 5 ), ( 0 , 5 , 2 , 4 )) tmp19 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 0 , 5 , 2 , 4 )) tmp8 = np . copy ( tmp0 ) tmp8 += tmp1 * 0.5 tmp4 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp43 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) tmp42 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) tmp31 = np . copy ( tmp24 ) tmp31 += tmp25 * 2 tmp41 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 5 ), ( 5 , 1 , 4 , 3 )) tmp23 = np . copy ( tmp12 ) tmp23 += tmp13 * 0.5 tmp27 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 5 , 1 ), ( 3 , 4 , 0 , 5 )) tmp14 = np . copy ( tmp12 ) * 2 del tmp12 tmp14 += tmp13 del tmp13 tmp26 = np . copy ( tmp24 ) * 0.5 del tmp24 tmp26 += tmp25 del tmp25 tmp33 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp32 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) * - 2 del tmp32 tmp36 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp35 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) tmp40 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp39 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp38 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) tmp34 = einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 0 , 4 , 5 ), ( 3 , 2 , 4 , 5 )) tmp30 = np . copy ( tmp17 ) * 4 tmp30 += tmp29 tmp10 = np . copy ( tmp5 ) tmp10 += tmp6 * 2 tmp28 = np . copy ( tmp21 ) tmp28 += tmp19 tmp9 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 5 ), ( 4 , 0 , 5 , 1 )) tmp3 = np . copy ( tmp0 ) * 2 tmp3 += tmp1 tmp18 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp15 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp8 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 2 tmp20 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp22 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp16 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp4 , ( 1 , 0 , 4 , 5 ), ( 5 , 4 , 2 , 3 )) tmp7 = np . copy ( delta . bb . oo ) * - 1 tmp7 += tmp5 del tmp5 tmp7 += tmp6 * 2 del tmp6 tmp2 = np . copy ( delta . aa . oo ) * - 0.5 tmp2 += tmp0 del tmp0 tmp2 += tmp1 * 0.5 del tmp1 rdm2 . bbbb . vvvv = np . copy ( np . transpose ( tmp43 , ( 1 , 0 , 3 , 2 ))) * 2 del tmp43 rdm2 . abab . vvvv = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) rdm2 . aaaa . vvvv = np . copy ( np . transpose ( tmp42 , ( 1 , 0 , 3 , 2 ))) * 2 del tmp42 rdm2 . bbbb . vvoo = np . copy ( l2 . bbbb ) * 2 rdm2 . abab . vvoo = np . copy ( l2 . abab ) rdm2 . aaaa . vvoo = np . copy ( l2 . aaaa ) * 2 rdm2 . bbbb . vovo = einsum ( tmp31 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . vovo += np . transpose ( tmp37 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . bbbb . vovo += np . transpose ( tmp41 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . abab . vovo = einsum ( tmp23 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . abab . vovo += np . transpose ( tmp27 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . aaaa . vovo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp14 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . vovo += np . transpose ( tmp17 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . aaaa . vovo += np . transpose ( tmp29 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . voov = einsum ( tmp26 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . bbbb . voov += np . transpose ( tmp41 , ( 2 , 1 , 0 , 3 )) rdm2 . bbbb . voov += np . transpose ( tmp37 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . abab . voov = np . copy ( np . transpose ( tmp39 , ( 2 , 1 , 0 , 3 ))) * 2 del tmp39 rdm2 . abab . voov += np . transpose ( tmp35 , ( 2 , 1 , 0 , 3 )) * 2 del tmp35 rdm2 . aaaa . voov = einsum ( tmp23 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . aaaa . voov += np . transpose ( tmp17 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . aaaa . voov += np . transpose ( tmp29 , ( 2 , 1 , 0 , 3 )) rdm2 . bbbb . ovvo = einsum ( tmp31 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . ovvo += np . transpose ( tmp41 , ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . ovvo += np . transpose ( tmp37 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . abab . ovvo = np . copy ( np . transpose ( tmp19 , ( 0 , 3 , 2 , 1 ))) * 2 del tmp19 rdm2 . abab . ovvo += np . transpose ( tmp21 , ( 0 , 3 , 2 , 1 )) * 2 del tmp21 rdm2 . aaaa . ovvo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp14 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . ovvo += np . transpose ( tmp17 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . aaaa . ovvo += np . transpose ( tmp29 , ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . ovov = einsum ( tmp26 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . bbbb . ovov += np . transpose ( tmp37 , ( 1 , 2 , 0 , 3 )) * - 4 del tmp37 rdm2 . bbbb . ovov += np . transpose ( tmp41 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp41 rdm2 . abab . ovov = einsum ( delta . aa . oo , ( 0 , 1 ), tmp26 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . abab . ovov += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 5 , 1 ), ( 0 , 4 , 5 , 3 )) * - 1 rdm2 . aaaa . ovov = einsum ( tmp23 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 rdm2 . aaaa . ovov += np . transpose ( tmp17 , ( 1 , 2 , 0 , 3 )) * - 4 del tmp17 rdm2 . aaaa . ovov += np . transpose ( tmp29 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp29 rdm2 . bbbb . oovv = np . copy ( t2 . bbbb ) * 2 rdm2 . bbbb . oovv += einsum ( tmp31 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp31 rdm2 . bbbb . oovv += np . transpose ( tmp33 , ( 0 , 1 , 3 , 2 )) * 2 rdm2 . bbbb . oovv += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp33 rdm2 . bbbb . oovv += np . transpose ( tmp34 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp34 rdm2 . bbbb . oovv += np . transpose ( tmp36 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp38 , ( 0 , 1 , 3 , 2 )) * - 8 rdm2 . bbbb . oovv += np . transpose ( tmp40 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp40 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp36 , ( 1 , 0 , 3 , 2 )) * 2 del tmp36 rdm2 . bbbb . oovv += tmp38 * 8 del tmp38 rdm2 . bbbb . oovv += tmp40 * 2 rdm2 . bbbb . oovv += np . transpose ( tmp40 , ( 1 , 0 , 3 , 2 )) * 2 del tmp40 rdm2 . bbbb . oovv += einsum ( tmp26 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * 4 rdm2 . abab . oovv = np . copy ( t2 . abab ) rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp26 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp26 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp3 , ( 0 , 4 ), ( 4 , 1 , 2 , 3 )) * - 1 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp10 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp9 , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) rdm2 . abab . oovv += einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 3 , 5 )) del tmp27 rdm2 . abab . oovv += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp28 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 4 del tmp28 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp30 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp30 rdm2 . abab . oovv += einsum ( tmp14 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 rdm2 . aaaa . oovv = np . copy ( t2 . aaaa ) * 2 rdm2 . aaaa . oovv += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp14 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp14 rdm2 . aaaa . oovv += np . transpose ( tmp15 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . aaaa . oovv += np . transpose ( tmp15 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp15 rdm2 . aaaa . oovv += np . transpose ( tmp16 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp16 rdm2 . aaaa . oovv += np . transpose ( tmp18 , ( 0 , 1 , 3 , 2 )) * - 8 rdm2 . aaaa . oovv += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += np . transpose ( tmp22 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += np . transpose ( tmp22 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . aaaa . oovv += tmp18 * 8 del tmp18 rdm2 . aaaa . oovv += tmp20 * 2 del tmp20 rdm2 . aaaa . oovv += tmp22 * 2 rdm2 . aaaa . oovv += np . transpose ( tmp22 , ( 1 , 0 , 3 , 2 )) * 2 del tmp22 rdm2 . aaaa . oovv += einsum ( tmp23 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * 4 del tmp23 rdm2 . bbbb . oooo = einsum ( tmp7 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . oooo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp7 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) rdm2 . bbbb . oooo += einsum ( tmp10 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . bbbb . oooo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp10 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) del tmp10 rdm2 . bbbb . oooo += np . transpose ( tmp11 , ( 3 , 2 , 1 , 0 )) * 2 del tmp11 rdm2 . abab . oooo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp7 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 del tmp7 rdm2 . abab . oooo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp8 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 2 del tmp8 rdm2 . abab . oooo += np . transpose ( tmp9 , ( 1 , 3 , 0 , 2 )) del tmp9 rdm2 . aaaa . oooo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp2 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 2 rdm2 . aaaa . oooo += einsum ( tmp2 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * 2 del tmp2 rdm2 . aaaa . oooo += einsum ( tmp3 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . aaaa . oooo += einsum ( tmp3 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) del delta , tmp3 rdm2 . aaaa . oooo += np . transpose ( tmp4 , ( 3 , 2 , 1 , 0 )) * 2 del tmp4 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 = 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","title":"Returns"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.hbar_matvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T20:52:23.155184.","title":"hbar_matvec_ip_intermediates"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.hbar_matvec_ip_intermediates--parameters","text":"f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.hbar_matvec_ip_intermediates--returns","text":"tmp1 : array tmp101 : array tmp108 : array tmp111 : array tmp112 : array tmp114 : array tmp115 : array tmp116 : array tmp118 : array tmp12 : array tmp121 : array tmp125 : array tmp126 : array tmp127 : array tmp128 : array tmp129 : array tmp131 : array tmp133 : array tmp136 : array tmp139 : array tmp14 : array tmp142 : array tmp143 : array tmp148 : array tmp150 : array tmp153 : array tmp155 : array tmp157 : array tmp159 : array tmp16 : array tmp169 : array tmp17 : array tmp19 : array tmp20 : array tmp27 : array tmp28 : array tmp3 : array tmp30 : array tmp32 : array tmp33 : array tmp36 : array tmp37 : array tmp38 : array tmp40 : array tmp41 : array tmp42 : array tmp44 : array tmp46 : array tmp48 : array tmp5 : array tmp50 : array tmp52 : array tmp55 : array tmp56 : array tmp6 : array tmp61 : array tmp65 : array tmp69 : array tmp77 : array tmp79 : array tmp8 : array tmp81 : array tmp83 : array tmp84 : array tmp85 : array tmp9 : array tmp92 : array tmp93 : array tmp96 : array Source code in ebcc/codegen/UDFCCD.py 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 def hbar_matvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:52:23.155184. Parameters ---------- f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- tmp1 : array tmp101 : array tmp108 : array tmp111 : array tmp112 : array tmp114 : array tmp115 : array tmp116 : array tmp118 : array tmp12 : array tmp121 : array tmp125 : array tmp126 : array tmp127 : array tmp128 : array tmp129 : array tmp131 : array tmp133 : array tmp136 : array tmp139 : array tmp14 : array tmp142 : array tmp143 : array tmp148 : array tmp150 : array tmp153 : array tmp155 : array tmp157 : array tmp159 : array tmp16 : array tmp169 : array tmp17 : array tmp19 : array tmp20 : array tmp27 : array tmp28 : array tmp3 : array tmp30 : array tmp32 : array tmp33 : array tmp36 : array tmp37 : array tmp38 : array tmp40 : array tmp41 : array tmp42 : array tmp44 : array tmp46 : array tmp48 : array tmp5 : array tmp50 : array tmp52 : array tmp55 : array tmp56 : array tmp6 : array tmp61 : array tmp65 : array tmp69 : array tmp77 : array tmp79 : array tmp8 : array tmp81 : array tmp83 : array tmp84 : array tmp85 : array tmp9 : array tmp92 : array tmp93 : array tmp96 : array \"\"\" tmp19 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 0 , 2 ), ( 4 , 1 , 3 )) tmp16 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp12 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp55 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp147 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp65 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp14 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp32 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp1 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp107 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp3 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp5 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp8 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp76 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp29 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp169 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp159 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp157 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp155 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp153 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp150 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp55 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) tmp148 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp147 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) * - 1 del tmp147 tmp143 = einsum ( tmp19 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp142 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp139 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp136 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp133 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp65 , ( 4 , 1 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) tmp131 = einsum ( tmp19 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp129 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp16 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp128 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 5 , 3 )) tmp127 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) tmp126 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp12 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp125 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp121 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp55 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp118 = einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 3 , 5 ), ( 1 , 4 , 2 , 5 )) tmp116 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp115 = einsum ( tmp19 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp114 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp112 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp111 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 0 , 2 ), ( 1 , 3 )) tmp108 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp107 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) del tmp107 tmp101 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp96 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp65 , ( 0 , 4 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) tmp93 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp3 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp92 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp85 = einsum ( tmp5 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp84 = einsum ( tmp8 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp83 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp81 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp79 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp65 , ( 4 , 5 , 2 , 3 ), ( 0 , 4 , 1 , 5 )) tmp77 = einsum ( tmp76 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) del tmp76 tmp69 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp61 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp56 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp55 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp52 = einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp50 = einsum ( tmp8 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp48 = einsum ( tmp5 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp46 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp8 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp44 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp5 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp42 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp41 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp40 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp38 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp37 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp36 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp33 = einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 1 , 0 )) tmp30 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp29 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) * - 1 del tmp29 tmp28 = einsum ( tmp8 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp27 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp5 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp20 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp17 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp9 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp8 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp6 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp5 , ( 0 , 3 , 2 ), ( 3 , 1 )) return { f \"tmp1\" : tmp1 , f \"tmp101\" : tmp101 , f \"tmp108\" : tmp108 , f \"tmp111\" : tmp111 , f \"tmp112\" : tmp112 , f \"tmp114\" : tmp114 , f \"tmp115\" : tmp115 , f \"tmp116\" : tmp116 , f \"tmp118\" : tmp118 , f \"tmp12\" : tmp12 , f \"tmp121\" : tmp121 , f \"tmp125\" : tmp125 , f \"tmp126\" : tmp126 , f \"tmp127\" : tmp127 , f \"tmp128\" : tmp128 , f \"tmp129\" : tmp129 , f \"tmp131\" : tmp131 , f \"tmp133\" : tmp133 , f \"tmp136\" : tmp136 , f \"tmp139\" : tmp139 , f \"tmp14\" : tmp14 , f \"tmp142\" : tmp142 , f \"tmp143\" : tmp143 , f \"tmp148\" : tmp148 , f \"tmp150\" : tmp150 , f \"tmp153\" : tmp153 , f \"tmp155\" : tmp155 , f \"tmp157\" : tmp157 , f \"tmp159\" : tmp159 , f \"tmp16\" : tmp16 , f \"tmp169\" : tmp169 , f \"tmp17\" : tmp17 , f \"tmp19\" : tmp19 , f \"tmp20\" : tmp20 , f \"tmp27\" : tmp27 , f \"tmp28\" : tmp28 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp32\" : tmp32 , f \"tmp33\" : tmp33 , f \"tmp36\" : tmp36 , f \"tmp37\" : tmp37 , f \"tmp38\" : tmp38 , f \"tmp40\" : tmp40 , f \"tmp41\" : tmp41 , f \"tmp42\" : tmp42 , f \"tmp44\" : tmp44 , f \"tmp46\" : tmp46 , f \"tmp48\" : tmp48 , f \"tmp5\" : tmp5 , f \"tmp50\" : tmp50 , f \"tmp52\" : tmp52 , f \"tmp55\" : tmp55 , f \"tmp56\" : tmp56 , f \"tmp6\" : tmp6 , f \"tmp61\" : tmp61 , f \"tmp65\" : tmp65 , f \"tmp69\" : tmp69 , f \"tmp77\" : tmp77 , f \"tmp79\" : tmp79 , f \"tmp8\" : tmp8 , f \"tmp81\" : tmp81 , f \"tmp83\" : tmp83 , f \"tmp84\" : tmp84 , f \"tmp85\" : tmp85 , f \"tmp9\" : tmp9 , f \"tmp92\" : tmp92 , f \"tmp93\" : tmp93 , f \"tmp96\" : tmp96 }","title":"Returns"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.hbar_matvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T20:52:23.203364.","title":"hbar_matvec_ip"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.hbar_matvec_ip--parameters","text":"f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 amplitudes. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.hbar_matvec_ip--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UDFCCD.py 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 def hbar_matvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:52:23.203364. Parameters ---------- f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp7 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . bbb . xov , ( 3 , 0 , 2 ), ( 3 , 1 )) * - 1 tmp6 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . baa . xov , ( 3 , 1 , 2 ), ( 3 , 0 )) tmp31 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), r2 . aba , ( 1 , 3 , 2 ), ( 0 , 3 )) tmp60 = np . copy ( ints . tmp19 ) tmp60 += ints . tmp16 * 2 tmp39 = np . copy ( ints . tmp139 ) del ints . tmp139 tmp39 += ints . tmp121 * 2 del ints . tmp121 tmp62 = np . copy ( ints . tmp159 ) del ints . tmp159 tmp62 += ints . tmp157 * 2 del ints . tmp157 tmp32 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), r2 . bbb , ( 3 , 1 , 2 ), ( 0 , 3 )) tmp54 = np . copy ( ints . tmp12 ) tmp54 += np . transpose ( ints . tmp155 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp155 tmp52 = np . copy ( ints . tmp17 ) * 2 tmp52 += ints . tmp20 tmp50 = np . copy ( ints . tmp16 ) tmp50 += ints . tmp19 * 0.5 tmp16 = np . copy ( ints . tmp6 ) * 2 tmp16 += ints . tmp9 tmp14 = np . copy ( ints . tmp5 ) tmp14 += ints . tmp8 * 0.5 tmp13 = np . copy ( tmp6 ) * 2 tmp13 += tmp7 tmp18 = np . copy ( ints . tmp1 ) tmp18 += np . transpose ( ints . tmp42 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp42 tmp10 = np . copy ( ints . tmp46 ) del ints . tmp46 tmp10 += ints . tmp44 * 2 del ints . tmp44 tmp4 = np . copy ( ints . tmp69 ) tmp4 += ints . tmp52 * 2 tmp8 = np . copy ( tmp6 ) * 2 tmp8 += tmp7 tmp35 = einsum ( ints . tmp65 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 1 , 2 ), ( 3 ,)) tmp36 = einsum ( ints . tmp55 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 0 , 1 , 2 ), ( 3 ,)) del ints . tmp55 tmp57 = einsum ( f . bb . oo , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 0 , 2 , 3 )) tmp61 = einsum ( tmp60 , ( 0 , 1 , 2 ), tmp31 , ( 0 , 3 ), ( 3 , 1 , 2 )) del tmp60 tmp59 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp39 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 tmp63 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 1 ,), ( 0 , 2 , 3 )) del tmp62 tmp58 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp32 , ( 0 , 3 ), ( 3 , 1 , 2 )) tmp55 = einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 1 ,), ( 0 , 2 , 3 )) del tmp54 tmp53 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp52 , ( 3 , 1 ), ( 0 , 3 , 2 )) * - 2 del tmp52 tmp48 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp118 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) tmp51 = einsum ( tmp50 , ( 0 , 1 , 2 ), tmp32 , ( 0 , 3 ), ( 3 , 1 , 2 )) * 4 del tmp50 tmp49 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp31 , ( 0 , 3 ), ( 3 , 1 , 2 )) tmp24 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp65 , ( 1 , 0 , 3 , 2 ), ( 3 ,)) * - 1 del ints . tmp65 tmp23 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp32 , ( 1 , 0 , 2 , 3 ), ( 3 ,)) * - 1 del ints . tmp32 tmp17 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp16 , ( 3 , 1 ), ( 0 , 3 , 2 )) * - 2 del tmp16 tmp15 = einsum ( tmp14 , ( 0 , 1 , 2 ), tmp13 , ( 0 , 3 ), ( 3 , 1 , 2 )) * 2 del tmp14 , tmp13 tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 0 , 2 , 3 )) del tmp18 tmp2 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), f . aa . oo , ( 3 , 1 ), ( 3 , 0 , 2 )) tmp11 = einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 0 , 2 , 3 )) del tmp10 tmp5 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp4 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp4 tmp9 = einsum ( tmp8 , ( 0 , 1 ), v . baa . xov , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) del tmp8 tmp3 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp56 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 1 tmp44 = np . copy ( np . transpose ( ints . tmp129 , ( 1 , 0 ))) * 2 del ints . tmp129 tmp44 += np . transpose ( ints . tmp131 , ( 1 , 0 )) del ints . tmp131 tmp44 += f . bb . vv * - 1 tmp66 = np . copy ( ints . tmp148 ) del ints . tmp148 tmp66 += np . transpose ( ints . tmp169 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp169 tmp47 = np . copy ( f . bb . ov ) tmp47 += ints . tmp111 del ints . tmp111 tmp47 += ints . tmp112 * 2 del ints . tmp112 tmp47 += ints . tmp143 del ints . tmp143 tmp47 += ints . tmp126 * - 2 del ints . tmp126 tmp47 += ints . tmp127 * - 1 del ints . tmp127 tmp47 += ints . tmp142 * - 2 del ints . tmp142 tmp37 = np . copy ( tmp35 ) * 0.5 del tmp35 tmp37 += tmp36 del tmp36 tmp65 = np . copy ( ints . tmp150 ) del ints . tmp150 tmp65 += np . transpose ( ints . tmp153 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp153 tmp64 = np . copy ( tmp57 ) * 2 del tmp57 tmp64 += tmp58 * 2 del tmp58 tmp64 += np . transpose ( tmp59 , ( 1 , 0 , 2 )) * - 2 del tmp59 tmp64 += np . transpose ( tmp61 , ( 1 , 0 , 2 )) del tmp61 tmp64 += tmp63 del tmp63 tmp56 = np . copy ( tmp48 ) del tmp48 tmp56 += tmp49 del tmp49 tmp56 += np . transpose ( tmp51 , ( 1 , 0 , 2 )) del tmp51 tmp56 += np . transpose ( tmp53 , ( 1 , 0 , 2 )) del tmp53 tmp56 += tmp55 del tmp55 tmp46 = np . copy ( ints . tmp108 ) del ints . tmp108 tmp46 += np . transpose ( ints . tmp115 , ( 1 , 0 , 2 , 3 )) del ints . tmp115 tmp46 += np . transpose ( ints . tmp116 , ( 1 , 0 , 2 , 3 )) * 2 del ints . tmp116 tmp46 += np . transpose ( ints . tmp125 , ( 1 , 0 , 2 , 3 )) del ints . tmp125 tmp46 += ints . tmp3 tmp46 += ints . tmp114 * - 1 del ints . tmp114 tmp46 += ints . tmp128 * - 1 del ints . tmp128 tmp42 = np . copy ( tmp6 ) del tmp6 tmp42 += tmp7 * 0.5 del tmp7 tmp40 = np . copy ( ints . tmp133 ) del ints . tmp133 tmp40 += ints . tmp136 * - 1 del ints . tmp136 tmp0 = np . copy ( f . aa . oo ) tmp0 += np . transpose ( ints . tmp6 , ( 1 , 0 )) * 2 del ints . tmp6 tmp0 += np . transpose ( ints . tmp9 , ( 1 , 0 )) del ints . tmp9 tmp1 = np . copy ( f . bb . oo ) tmp1 += np . transpose ( ints . tmp17 , ( 1 , 0 )) * 2 del ints . tmp17 tmp1 += np . transpose ( ints . tmp20 , ( 1 , 0 )) del ints . tmp20 tmp45 = np . copy ( tmp23 ) * 2 tmp45 += tmp24 * - 1 tmp41 = np . copy ( ints . tmp79 ) tmp41 += ints . tmp81 tmp43 = np . copy ( ints . tmp16 ) * 2 del ints . tmp16 tmp43 += ints . tmp19 del ints . tmp19 tmp43 += v . bbb . xov tmp22 = np . copy ( np . transpose ( ints . tmp48 , ( 1 , 0 ))) * 2 del ints . tmp48 tmp22 += np . transpose ( ints . tmp50 , ( 1 , 0 )) del ints . tmp50 tmp22 += f . aa . vv * - 1 tmp30 = np . copy ( ints . tmp79 ) del ints . tmp79 tmp30 += ints . tmp81 del ints . tmp81 tmp29 = np . copy ( ints . tmp52 ) * 2 del ints . tmp52 tmp29 += ints . tmp69 del ints . tmp69 tmp33 = np . copy ( tmp31 ) * - 0.5 del tmp31 tmp33 += tmp32 del tmp32 tmp28 = np . copy ( ints . tmp101 ) del ints . tmp101 tmp28 += ints . tmp96 * - 1 del ints . tmp96 tmp38 = np . copy ( ints . tmp14 ) tmp38 += ints . tmp77 del ints . tmp77 tmp38 += np . transpose ( ints . tmp84 , ( 0 , 2 , 1 , 3 )) del ints . tmp84 tmp38 += np . transpose ( ints . tmp85 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp85 tmp38 += np . transpose ( ints . tmp92 , ( 0 , 2 , 1 , 3 )) del ints . tmp92 tmp38 += ints . tmp83 * - 1 del ints . tmp83 tmp38 += ints . tmp93 * - 1 del ints . tmp93 tmp34 = np . copy ( ints . tmp5 ) * 2 del ints . tmp5 tmp34 += ints . tmp8 del ints . tmp8 tmp34 += v . baa . xov tmp27 = np . copy ( f . aa . ov ) tmp27 += ints . tmp28 del ints . tmp28 tmp27 += ints . tmp36 * 2 del ints . tmp36 tmp27 += ints . tmp37 del ints . tmp37 tmp27 += ints . tmp27 * - 2 del ints . tmp27 tmp27 += ints . tmp40 * - 2 del ints . tmp40 tmp27 += ints . tmp41 * - 1 del ints . tmp41 tmp26 = np . copy ( ints . tmp30 ) del ints . tmp30 tmp26 += np . transpose ( ints . tmp61 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp61 tmp20 = np . copy ( np . transpose ( tmp15 , ( 1 , 0 , 2 ))) del tmp15 tmp20 += np . transpose ( tmp17 , ( 1 , 0 , 2 )) del tmp17 tmp20 += tmp19 del tmp19 tmp12 = np . copy ( tmp2 ) * 2 del tmp2 tmp12 += tmp3 del tmp3 tmp12 += np . transpose ( tmp5 , ( 1 , 0 , 2 )) * - 2 del tmp5 tmp12 += np . transpose ( tmp9 , ( 1 , 0 , 2 )) del tmp9 tmp12 += tmp11 del tmp11 tmp21 = np . copy ( ints . tmp33 ) del ints . tmp33 tmp21 += np . transpose ( ints . tmp38 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp38 tmp25 = np . copy ( tmp23 ) del tmp23 tmp25 += tmp24 * - 0.5 del tmp24 r2new . bbb = np . copy ( tmp56 ) * - 1 r2new . bbb += np . transpose ( tmp56 , ( 1 , 0 , 2 )) del tmp56 r2new . bbb += tmp64 r2new . bbb += np . transpose ( tmp64 , ( 1 , 0 , 2 )) * - 1 del tmp64 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp65 , ( 3 , 4 , 1 , 0 ), ( 3 , 4 , 2 )) * - 2 del tmp65 r2new . bbb += einsum ( tmp44 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp37 , ( 3 ,), ( 0 , 1 , 2 )) * - 4 r2new . bbb += einsum ( tmp66 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 1 , 0 , 3 )) * 2 del tmp66 r2new . bbb += einsum ( tmp47 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 2 , 0 , 1 )) r2new . bbb += einsum ( tmp47 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) * - 1 r2new . bab = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp118 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) * 2 del ints . tmp118 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp39 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 1 del tmp39 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp40 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) del tmp40 r2new . bab += einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 2 , 0 , 4 )) del tmp41 r2new . bab += einsum ( tmp43 , ( 0 , 1 , 2 ), tmp42 , ( 0 , 3 ), ( 1 , 3 , 2 )) * - 2 del tmp43 , tmp42 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp44 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp44 r2new . bab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp45 , ( 2 ,), ( 1 , 0 , 3 )) * - 1 del tmp45 r2new . bab += einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 2 , 0 , 3 )) del tmp46 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp1 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp0 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . bab += einsum ( tmp47 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) * - 1 del tmp47 r2new . aba = einsum ( ints . tmp56 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 1 , 3 ), ( 0 , 4 , 2 )) * 2 del ints . tmp56 r2new . aba += einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 1 del tmp28 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp29 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 1 del tmp29 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp30 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) del tmp30 r2new . aba += einsum ( tmp33 , ( 0 , 1 ), tmp34 , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) * - 2 del tmp33 , tmp34 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp22 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp37 , ( 3 ,), ( 0 , 1 , 2 )) * - 2 del tmp37 r2new . aba += einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 0 , 1 , 3 )) del tmp38 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp1 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . aba += einsum ( tmp0 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . aba += einsum ( tmp27 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) * - 1 r2new . aaa = np . copy ( tmp12 ) r2new . aaa += np . transpose ( tmp12 , ( 1 , 0 , 2 )) * - 1 del tmp12 r2new . aaa += tmp20 * - 1 r2new . aaa += np . transpose ( tmp20 , ( 1 , 0 , 2 )) del tmp20 r2new . aaa += einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) * 2 del tmp21 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp22 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp22 r2new . aaa += einsum ( tmp25 , ( 0 ,), t2 . aaaa , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * - 4 del tmp25 r2new . aaa += einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 1 , 0 , 3 )) * 2 del tmp26 r2new . aaa += einsum ( tmp27 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 2 , 0 , 1 )) r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp27 , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 del tmp27 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), f . aa . ov , ( 0 , 2 ), ( 1 ,)) * - 1 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp14 , ( 0 , 3 , 1 , 2 ), ( 3 ,)) del ints . tmp14 r1new . b += einsum ( ints . tmp12 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 1 , 2 , 3 ), ( 0 ,)) * - 2 del ints . tmp12 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), f . bb . ov , ( 1 , 2 ), ( 0 ,)) * 2 r1new . b += einsum ( r1 . b , ( 0 ,), tmp1 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp1 r1new . a = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp3 , ( 3 , 1 , 0 , 2 ), ( 3 ,)) del ints . tmp3 r1new . a += einsum ( ints . tmp1 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 1 , 2 , 3 ), ( 0 ,)) * - 2 del ints . tmp1 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), f . aa . ov , ( 1 , 2 ), ( 0 ,)) * 2 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), f . bb . ov , ( 0 , 2 ), ( 1 ,)) * - 1 r1new . a += einsum ( r1 . a , ( 0 ,), tmp0 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp0 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.hbar_matvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T20:53:09.014339.","title":"hbar_matvec_ea_intermediates"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.hbar_matvec_ea_intermediates--parameters","text":"f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.hbar_matvec_ea_intermediates--returns","text":"tmp1 : array tmp105 : array tmp107 : array tmp110 : array tmp111 : array tmp113 : array tmp12 : array tmp120 : array tmp121 : array tmp122 : array tmp124 : array tmp126 : array tmp127 : array tmp128 : array tmp129 : array tmp130 : array tmp134 : array tmp137 : array tmp14 : array tmp141 : array tmp143 : array tmp144 : array tmp148 : array tmp150 : array tmp152 : array tmp16 : array tmp165 : array tmp17 : array tmp172 : array tmp19 : array tmp20 : array tmp22 : array tmp23 : array tmp29 : array tmp3 : array tmp31 : array tmp33 : array tmp37 : array tmp38 : array tmp41 : array tmp42 : array tmp5 : array tmp50 : array tmp53 : array tmp55 : array tmp56 : array tmp6 : array tmp62 : array tmp66 : array tmp68 : array tmp69 : array tmp70 : array tmp72 : array tmp77 : array tmp8 : array tmp80 : array tmp82 : array tmp9 : array tmp90 : array tmp94 : array tmp95 : array tmp96 : array Source code in ebcc/codegen/UDFCCD.py 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 def hbar_matvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:53:09.014339. Parameters ---------- f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- tmp1 : array tmp105 : array tmp107 : array tmp110 : array tmp111 : array tmp113 : array tmp12 : array tmp120 : array tmp121 : array tmp122 : array tmp124 : array tmp126 : array tmp127 : array tmp128 : array tmp129 : array tmp130 : array tmp134 : array tmp137 : array tmp14 : array tmp141 : array tmp143 : array tmp144 : array tmp148 : array tmp150 : array tmp152 : array tmp16 : array tmp165 : array tmp17 : array tmp172 : array tmp19 : array tmp20 : array tmp22 : array tmp23 : array tmp29 : array tmp3 : array tmp31 : array tmp33 : array tmp37 : array tmp38 : array tmp41 : array tmp42 : array tmp5 : array tmp50 : array tmp53 : array tmp55 : array tmp56 : array tmp6 : array tmp62 : array tmp66 : array tmp68 : array tmp69 : array tmp70 : array tmp72 : array tmp77 : array tmp8 : array tmp80 : array tmp82 : array tmp9 : array tmp90 : array tmp94 : array tmp95 : array tmp96 : array \"\"\" tmp142 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp19 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 0 , 2 ), ( 4 , 1 , 3 )) tmp12 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp16 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp112 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp41 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp37 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp1 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp62 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp14 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp5 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp8 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp54 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp3 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp52 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp172 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp165 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp142 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp152 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp150 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 3 , 1 )) tmp148 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp144 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp112 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) tmp143 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp142 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) del tmp142 tmp141 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp137 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp41 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp134 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp37 , ( 0 , 4 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp130 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp129 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 3 , 1 , 5 )) tmp128 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp127 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp126 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 0 , 2 ), ( 1 , 3 )) tmp124 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp122 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp121 = einsum ( tmp19 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp120 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp113 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp112 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) del tmp112 tmp111 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp110 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp62 , ( 0 , 4 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) tmp107 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 0 , 4 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) tmp105 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp96 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp5 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp95 = einsum ( tmp12 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 3 , 1 )) tmp94 = einsum ( tmp8 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp90 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp82 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp54 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp80 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp62 , ( 4 , 1 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) tmp77 = einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) tmp72 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp8 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp70 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp5 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp69 = einsum ( tmp8 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp68 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp5 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp66 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp56 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp52 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp55 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp54 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) del tmp54 tmp53 = einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) del tmp52 tmp50 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp42 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp41 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp38 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp33 = einsum ( tmp8 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp31 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp1 , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 5 , 4 )) tmp29 = einsum ( tmp5 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp23 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp22 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp20 = einsum ( tmp19 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp17 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp16 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp9 = einsum ( tmp8 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp6 = einsum ( tmp5 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) return { f \"tmp1\" : tmp1 , f \"tmp105\" : tmp105 , f \"tmp107\" : tmp107 , f \"tmp110\" : tmp110 , f \"tmp111\" : tmp111 , f \"tmp113\" : tmp113 , f \"tmp12\" : tmp12 , f \"tmp120\" : tmp120 , f \"tmp121\" : tmp121 , f \"tmp122\" : tmp122 , f \"tmp124\" : tmp124 , f \"tmp126\" : tmp126 , f \"tmp127\" : tmp127 , f \"tmp128\" : tmp128 , f \"tmp129\" : tmp129 , f \"tmp130\" : tmp130 , f \"tmp134\" : tmp134 , f \"tmp137\" : tmp137 , f \"tmp14\" : tmp14 , f \"tmp141\" : tmp141 , f \"tmp143\" : tmp143 , f \"tmp144\" : tmp144 , f \"tmp148\" : tmp148 , f \"tmp150\" : tmp150 , f \"tmp152\" : tmp152 , f \"tmp16\" : tmp16 , f \"tmp165\" : tmp165 , f \"tmp17\" : tmp17 , f \"tmp172\" : tmp172 , f \"tmp19\" : tmp19 , f \"tmp20\" : tmp20 , f \"tmp22\" : tmp22 , f \"tmp23\" : tmp23 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp31\" : tmp31 , f \"tmp33\" : tmp33 , f \"tmp37\" : tmp37 , f \"tmp38\" : tmp38 , f \"tmp41\" : tmp41 , f \"tmp42\" : tmp42 , f \"tmp5\" : tmp5 , f \"tmp50\" : tmp50 , f \"tmp53\" : tmp53 , f \"tmp55\" : tmp55 , f \"tmp56\" : tmp56 , f \"tmp6\" : tmp6 , f \"tmp62\" : tmp62 , f \"tmp66\" : tmp66 , f \"tmp68\" : tmp68 , f \"tmp69\" : tmp69 , f \"tmp70\" : tmp70 , f \"tmp72\" : tmp72 , f \"tmp77\" : tmp77 , f \"tmp8\" : tmp8 , f \"tmp80\" : tmp80 , f \"tmp82\" : tmp82 , f \"tmp9\" : tmp9 , f \"tmp90\" : tmp90 , f \"tmp94\" : tmp94 , f \"tmp95\" : tmp95 , f \"tmp96\" : tmp96 }","title":"Returns"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.hbar_matvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T20:53:09.065296.","title":"hbar_matvec_ea"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.hbar_matvec_ea--parameters","text":"f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 amplitudes. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.hbar_matvec_ea--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UDFCCD.py 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 def hbar_matvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:53:09.065296. Parameters ---------- f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp7 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . bbb . xov , ( 3 , 2 , 0 ), ( 3 , 1 )) * - 1 tmp6 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), v . baa . xov , ( 3 , 2 , 1 ), ( 3 , 0 )) tmp30 = einsum ( r2 . aba , ( 0 , 1 , 2 ), v . baa . xov , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp59 = np . copy ( ints . tmp19 ) tmp59 += ints . tmp16 * 2 tmp31 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbb . xov , ( 3 , 2 , 1 ), ( 3 , 0 )) tmp40 = np . copy ( ints . tmp111 ) del ints . tmp111 tmp40 += ints . tmp137 * 2 del ints . tmp137 tmp61 = np . copy ( ints . tmp12 ) tmp61 += ints . tmp150 * 2 del ints . tmp150 tmp54 = np . copy ( ints . tmp148 ) del ints . tmp148 tmp54 += ints . tmp152 * 0.5 del ints . tmp152 tmp44 = np . copy ( np . transpose ( ints . tmp17 , ( 1 , 0 ))) tmp44 += np . transpose ( ints . tmp20 , ( 1 , 0 )) * 0.5 tmp44 += f . bb . vv * - 0.5 tmp51 = np . copy ( ints . tmp16 ) * 2 tmp51 += ints . tmp19 tmp16 = np . copy ( np . transpose ( ints . tmp6 , ( 1 , 0 ))) tmp16 += np . transpose ( ints . tmp9 , ( 1 , 0 )) * 0.5 tmp16 += f . aa . vv * - 0.5 tmp14 = np . copy ( ints . tmp5 ) * 2 tmp14 += ints . tmp8 tmp13 = np . copy ( tmp6 ) tmp13 += tmp7 * 0.5 tmp18 = np . copy ( ints . tmp29 ) del ints . tmp29 tmp18 += ints . tmp33 * 0.5 del ints . tmp33 tmp4 = np . copy ( ints . tmp50 ) tmp4 += ints . tmp38 * 2 tmp8 = np . copy ( tmp6 ) * 2 del tmp6 tmp8 += tmp7 del tmp7 tmp10 = np . copy ( ints . tmp1 ) tmp10 += ints . tmp31 * 2 del ints . tmp31 tmp35 = einsum ( r1 . b , ( 0 ,), f . bb . ov , ( 1 , 0 ), ( 1 ,)) tmp37 = einsum ( ints . tmp41 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 2 , 0 ), ( 1 ,)) * - 1 tmp36 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp62 , ( 2 , 3 , 0 , 1 ), ( 3 ,)) tmp60 = einsum ( tmp30 , ( 0 , 1 ), tmp59 , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) del tmp59 tmp57 = einsum ( tmp31 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) tmp58 = einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 1 ), ( 0 , 4 , 2 )) * - 1 tmp62 = einsum ( r1 . b , ( 0 ,), tmp61 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp61 tmp55 = einsum ( r1 . b , ( 0 ,), tmp54 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) * 2 del tmp54 tmp50 = einsum ( tmp30 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) tmp53 = einsum ( tmp44 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 4 tmp49 = einsum ( ints . tmp134 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 1 , 3 , 4 )) tmp52 = einsum ( tmp31 , ( 0 , 1 ), tmp51 , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) * 2 del tmp51 tmp22 = einsum ( ints . tmp37 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 3 , 2 , 0 ), ( 1 ,)) * - 1 tmp23 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp62 , ( 3 , 2 , 1 , 0 ), ( 3 ,)) * - 1 tmp21 = einsum ( r1 . a , ( 0 ,), f . aa . ov , ( 1 , 0 ), ( 1 ,)) tmp17 = einsum ( tmp16 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 4 del tmp16 tmp15 = einsum ( tmp14 , ( 0 , 1 , 2 ), tmp13 , ( 0 , 3 ), ( 1 , 2 , 3 )) * 2 del tmp14 tmp19 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 0 , 1 , 3 )) * 2 del tmp18 tmp3 = einsum ( ints . tmp42 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 0 , 2 , 4 )) * - 1 tmp5 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 3 , 1 ), ( 0 , 4 , 2 )) * - 1 del tmp4 tmp9 = einsum ( tmp8 , ( 0 , 1 ), v . baa . xov , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) del tmp8 tmp11 = einsum ( r1 . a , ( 0 ,), tmp10 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp10 tmp48 = einsum ( ints . tmp41 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) del ints . tmp41 tmp46 = np . copy ( f . bb . oo ) tmp46 += np . transpose ( ints . tmp122 , ( 1 , 0 )) * 2 del ints . tmp122 tmp46 += np . transpose ( ints . tmp124 , ( 1 , 0 )) del ints . tmp124 tmp47 = np . copy ( f . bb . ov ) tmp47 += ints . tmp121 del ints . tmp121 tmp47 += ints . tmp126 del ints . tmp126 tmp47 += ints . tmp127 * 2 del ints . tmp127 tmp47 += ints . tmp120 * - 2 del ints . tmp120 tmp47 += ints . tmp143 * - 2 del ints . tmp143 tmp47 += ints . tmp144 * - 1 del ints . tmp144 tmp38 = np . copy ( tmp35 ) * - 1 del tmp35 tmp38 += tmp36 del tmp36 tmp38 += tmp37 * 2 del tmp37 tmp63 = np . copy ( tmp57 ) * 2 del tmp57 tmp63 += np . transpose ( tmp58 , ( 0 , 2 , 1 )) * - 2 del tmp58 tmp63 += np . transpose ( tmp60 , ( 0 , 2 , 1 )) del tmp60 tmp63 += tmp62 del tmp62 tmp56 = np . copy ( tmp49 ) del tmp49 tmp56 += tmp50 del tmp50 tmp56 += np . transpose ( tmp52 , ( 0 , 2 , 1 )) del tmp52 tmp56 += np . transpose ( tmp53 , ( 0 , 2 , 1 )) del tmp53 tmp56 += tmp55 del tmp55 tmp42 = np . copy ( ints . tmp16 ) * 2 del ints . tmp16 tmp42 += ints . tmp19 del ints . tmp19 tmp42 += v . bbb . xov tmp39 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp62 , ( 3 , 4 , 1 , 0 ), ( 3 , 4 , 2 )) * - 1 tmp0 = np . copy ( np . transpose ( ints . tmp6 , ( 1 , 0 ))) * 2 del ints . tmp6 tmp0 += np . transpose ( ints . tmp9 , ( 1 , 0 )) del ints . tmp9 tmp0 += f . aa . vv * - 1 tmp45 = np . copy ( tmp21 ) * 0.5 tmp45 += tmp22 * - 1 tmp45 += tmp23 * 0.5 tmp41 = np . copy ( ints . tmp110 ) del ints . tmp110 tmp41 += ints . tmp141 * - 1 del ints . tmp141 tmp43 = np . copy ( ints . tmp113 ) del ints . tmp113 tmp43 += np . transpose ( ints . tmp128 , ( 0 , 2 , 1 , 3 )) del ints . tmp128 tmp43 += np . transpose ( ints . tmp130 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp130 tmp43 += ints . tmp3 tmp43 += ints . tmp107 * - 1 del ints . tmp107 tmp43 += np . transpose ( ints . tmp129 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp129 tmp26 = np . copy ( f . aa . ov ) tmp26 += ints . tmp22 * 2 del ints . tmp22 tmp26 += ints . tmp23 del ints . tmp23 tmp26 += ints . tmp69 del ints . tmp69 tmp26 += ints . tmp53 * - 2 del ints . tmp53 tmp26 += ints . tmp55 * - 1 del ints . tmp55 tmp26 += ints . tmp68 * - 2 del ints . tmp68 tmp29 = np . copy ( ints . tmp38 ) * 2 del ints . tmp38 tmp29 += ints . tmp50 del ints . tmp50 tmp33 = np . copy ( ints . tmp8 ) del ints . tmp8 tmp33 += v . baa . xov tmp33 += ints . tmp5 * 2 del ints . tmp5 tmp28 = np . copy ( ints . tmp105 ) del ints . tmp105 tmp28 += ints . tmp80 * - 1 del ints . tmp80 tmp32 = np . copy ( tmp30 ) * - 1 del tmp30 tmp32 += tmp31 * 2 del tmp31 tmp34 = np . copy ( ints . tmp14 ) tmp34 += ints . tmp82 del ints . tmp82 tmp34 += np . transpose ( ints . tmp94 , ( 0 , 1 , 3 , 2 )) del ints . tmp94 tmp34 += np . transpose ( ints . tmp96 , ( 0 , 1 , 3 , 2 )) * 2 del ints . tmp96 tmp34 += ints . tmp77 * - 1 del ints . tmp77 tmp34 += np . transpose ( ints . tmp95 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp95 tmp1 = np . copy ( np . transpose ( ints . tmp17 , ( 1 , 0 ))) * 2 del ints . tmp17 tmp1 += np . transpose ( ints . tmp20 , ( 1 , 0 )) del ints . tmp20 tmp1 += f . bb . vv * - 1 tmp25 = np . copy ( f . aa . oo ) tmp25 += np . transpose ( ints . tmp70 , ( 1 , 0 )) * 2 del ints . tmp70 tmp25 += np . transpose ( ints . tmp72 , ( 1 , 0 )) del ints . tmp72 tmp27 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp62 , ( 3 , 4 , 0 , 1 ), ( 3 , 2 , 4 )) del ints . tmp62 tmp20 = np . copy ( tmp15 ) del tmp15 tmp20 += np . transpose ( tmp17 , ( 0 , 2 , 1 )) del tmp17 tmp20 += tmp19 del tmp19 tmp2 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp37 , ( 3 , 4 , 1 , 0 ), ( 3 , 4 , 2 )) * - 1 del ints . tmp37 tmp12 = np . copy ( tmp3 ) del tmp3 tmp12 += np . transpose ( tmp5 , ( 0 , 2 , 1 )) * - 2 del tmp5 tmp12 += np . transpose ( tmp9 , ( 0 , 2 , 1 )) del tmp9 tmp12 += tmp11 del tmp11 tmp24 = np . copy ( tmp21 ) del tmp21 tmp24 += tmp22 * - 2 del tmp22 tmp24 += tmp23 del tmp23 r2new . bbb = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp48 , ( 0 , 1 , 4 ), ( 2 , 3 , 4 )) * 2 del tmp48 r2new . bbb += einsum ( r1 . b , ( 0 ,), ints . tmp165 , ( 1 , 2 , 3 , 0 ), ( 3 , 2 , 1 )) * 2 del ints . tmp165 r2new . bbb += einsum ( ints . tmp172 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) * - 2 del ints . tmp172 r2new . bbb += np . transpose ( tmp56 , ( 1 , 2 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp56 , ( 2 , 1 , 0 )) del tmp56 r2new . bbb += np . transpose ( tmp63 , ( 1 , 2 , 0 )) r2new . bbb += np . transpose ( tmp63 , ( 2 , 1 , 0 )) * - 1 del tmp63 r2new . bbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp38 , ( 1 ,), ( 2 , 3 , 0 )) * - 2 r2new . bbb += einsum ( tmp46 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp47 , ( 1 , 2 ), ( 0 , 2 , 1 )) r2new . bbb += einsum ( tmp47 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 1 , 2 , 0 )) * - 1 r2new . bab = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp39 , ( 0 , 1 , 4 ), ( 3 , 2 , 4 )) * - 1 del tmp39 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp90 , ( 3 , 1 , 4 , 0 ), ( 4 , 3 , 2 )) r2new . bab += einsum ( ints . tmp134 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 0 ), ( 3 , 4 , 1 )) * 2 del ints . tmp134 r2new . bab += einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 2 , 4 , 0 )) * - 1 del tmp40 r2new . bab += einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) del tmp41 r2new . bab += einsum ( tmp13 , ( 0 , 1 ), tmp42 , ( 0 , 2 , 3 ), ( 3 , 1 , 2 )) * - 2 del tmp13 , tmp42 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp43 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del tmp43 r2new . bab += einsum ( tmp0 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . bab += einsum ( tmp44 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 2 del tmp44 r2new . bab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp45 , ( 0 ,), ( 3 , 2 , 1 )) * 2 del tmp45 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp46 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp46 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp47 , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 del tmp47 r2new . aba = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp90 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) del ints . tmp90 r2new . aba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 0 , 4 , 1 ), ( 2 , 3 , 4 )) del tmp27 r2new . aba += einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp42 , ( 3 , 2 , 4 , 1 ), ( 4 , 0 , 3 )) * 2 del ints . tmp42 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp28 , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) * - 1 del tmp28 r2new . aba += einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 3 , 4 , 1 ), ( 2 , 4 , 0 )) * - 1 del tmp29 r2new . aba += einsum ( tmp33 , ( 0 , 1 , 2 ), tmp32 , ( 0 , 3 ), ( 2 , 3 , 1 )) * - 1 del tmp33 , tmp32 r2new . aba += einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 1 , 2 , 0 )) * - 1 del tmp34 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp0 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp1 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . aba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp38 , ( 1 ,), ( 2 , 3 , 0 )) * - 1 del tmp38 r2new . aba += einsum ( tmp25 , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp26 , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new . aaa = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 1 , 4 ), ( 2 , 3 , 4 )) * 2 del tmp2 r2new . aaa += einsum ( ints . tmp56 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 3 ,), ( 2 , 1 , 0 )) * 2 del ints . tmp56 r2new . aaa += einsum ( ints . tmp66 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 3 , 1 , 4 ), ( 0 , 2 , 4 )) * 2 del ints . tmp66 r2new . aaa += np . transpose ( tmp12 , ( 1 , 2 , 0 )) r2new . aaa += np . transpose ( tmp12 , ( 2 , 1 , 0 )) * - 1 del tmp12 r2new . aaa += np . transpose ( tmp20 , ( 1 , 2 , 0 )) * - 1 r2new . aaa += np . transpose ( tmp20 , ( 2 , 1 , 0 )) del tmp20 r2new . aaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp24 , ( 1 ,), ( 2 , 3 , 0 )) * 2 del tmp24 r2new . aaa += einsum ( tmp25 , ( 0 , 1 ), r2 . aaa , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 del tmp25 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp26 , ( 1 , 2 ), ( 0 , 2 , 1 )) r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp26 , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 del tmp26 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), f . aa . ov , ( 2 , 0 ), ( 1 ,)) * - 1 r1new . b += einsum ( ints . tmp12 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 2 , 0 ), ( 1 ,)) * - 2 del ints . tmp12 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), f . bb . ov , ( 2 , 1 ), ( 0 ,)) * 2 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp14 , ( 2 , 0 , 3 , 1 ), ( 3 ,)) * - 1 del ints . tmp14 r1new . b += einsum ( r1 . b , ( 0 ,), tmp1 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp1 r1new . a = einsum ( ints . tmp1 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 3 , 0 ), ( 1 ,)) * 2 del ints . tmp1 r1new . a += einsum ( f . bb . ov , ( 0 , 1 ), r2 . bab , ( 1 , 2 , 0 ), ( 2 ,)) * - 1 r1new . a += einsum ( ints . tmp3 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 2 , 0 ), ( 1 ,)) * - 1 del ints . tmp3 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), f . aa . ov , ( 2 , 1 ), ( 0 ,)) * 2 r1new . a += einsum ( r1 . a , ( 0 ,), tmp0 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp0 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.hbar_lmatvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T20:53:56.142043.","title":"hbar_lmatvec_ip_intermediates"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.hbar_lmatvec_ip_intermediates--parameters","text":"f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.hbar_lmatvec_ip_intermediates--returns","text":"tmp1 : array tmp10 : array tmp100 : array tmp104 : array tmp105 : array tmp107 : array tmp12 : array tmp125 : array tmp127 : array tmp130 : array tmp132 : array tmp14 : array tmp146 : array tmp153 : array tmp157 : array tmp16 : array tmp161 : array tmp162 : array tmp163 : array tmp165 : array tmp166 : array tmp168 : array tmp17 : array tmp181 : array tmp183 : array tmp185 : array tmp186 : array tmp19 : array tmp20 : array tmp202 : array tmp204 : array tmp22 : array tmp24 : array tmp25 : array tmp27 : array tmp28 : array tmp3 : array tmp30 : array tmp32 : array tmp34 : array tmp35 : array tmp37 : array tmp38 : array tmp39 : array tmp4 : array tmp40 : array tmp42 : array tmp43 : array tmp45 : array tmp47 : array tmp49 : array tmp51 : array tmp54 : array tmp57 : array tmp6 : array tmp63 : array tmp65 : array tmp69 : array tmp71 : array tmp77 : array tmp78 : array tmp8 : array tmp80 : array tmp81 : array tmp83 : array tmp84 : array tmp86 : array tmp93 : array tmp96 : array Source code in ebcc/codegen/UDFCCD.py 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 def hbar_lmatvec_ip_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:53:56.142043. Parameters ---------- f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- tmp1 : array tmp10 : array tmp100 : array tmp104 : array tmp105 : array tmp107 : array tmp12 : array tmp125 : array tmp127 : array tmp130 : array tmp132 : array tmp14 : array tmp146 : array tmp153 : array tmp157 : array tmp16 : array tmp161 : array tmp162 : array tmp163 : array tmp165 : array tmp166 : array tmp168 : array tmp17 : array tmp181 : array tmp183 : array tmp185 : array tmp186 : array tmp19 : array tmp20 : array tmp202 : array tmp204 : array tmp22 : array tmp24 : array tmp25 : array tmp27 : array tmp28 : array tmp3 : array tmp30 : array tmp32 : array tmp34 : array tmp35 : array tmp37 : array tmp38 : array tmp39 : array tmp4 : array tmp40 : array tmp42 : array tmp43 : array tmp45 : array tmp47 : array tmp49 : array tmp51 : array tmp54 : array tmp57 : array tmp6 : array tmp63 : array tmp65 : array tmp69 : array tmp71 : array tmp77 : array tmp78 : array tmp8 : array tmp80 : array tmp81 : array tmp83 : array tmp84 : array tmp86 : array tmp93 : array tmp96 : array \"\"\" tmp165 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp146 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp37 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 0 , 2 ), ( 4 , 1 , 3 )) tmp42 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp19 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp16 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp104 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp95 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp92 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp14 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp24 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp56 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp53 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp27 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp12 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp204 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp165 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 4 , 5 )) * - 1 tmp202 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp186 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp146 , ( 4 , 1 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) tmp185 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp183 = einsum ( tmp37 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp181 = einsum ( tmp42 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp168 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp165 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp166 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp165 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp163 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp162 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp146 , ( 0 , 4 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) tmp161 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp157 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp146 , ( 4 , 5 , 2 , 3 ), ( 0 , 4 , 1 , 5 )) tmp153 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp132 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp19 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp130 = einsum ( tmp16 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp127 = einsum ( tmp104 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 0 , 1 )) * - 1 tmp125 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp107 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp104 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) tmp105 = einsum ( tmp104 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) tmp100 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp96 = einsum ( tmp95 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) del tmp95 tmp93 = einsum ( tmp92 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 del tmp92 tmp86 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp37 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp84 = einsum ( tmp16 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp83 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) tmp81 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp42 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp80 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp78 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp24 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp77 = einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) tmp71 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp37 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp69 = einsum ( tmp42 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp65 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp63 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) tmp57 = einsum ( tmp56 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 2 ), ( 4 , 0 , 5 , 3 )) del tmp56 tmp54 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp53 , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) * - 1 del tmp53 tmp51 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp49 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp37 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp47 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp42 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp45 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp43 = einsum ( tmp42 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp40 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp39 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 4 , 5 , 1 , 2 ), ( 0 , 4 , 5 , 3 )) tmp38 = einsum ( tmp37 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp35 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp34 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp12 , ( 0 , 4 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp32 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp12 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp30 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp28 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) tmp25 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp24 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp22 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp12 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp20 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp17 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp10 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp8 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp6 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp4 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp3 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 0 , 2 ), ( 1 , 3 )) tmp1 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp104\" : tmp104 , f \"tmp105\" : tmp105 , f \"tmp107\" : tmp107 , f \"tmp12\" : tmp12 , f \"tmp125\" : tmp125 , f \"tmp127\" : tmp127 , f \"tmp130\" : tmp130 , f \"tmp132\" : tmp132 , f \"tmp14\" : tmp14 , f \"tmp146\" : tmp146 , f \"tmp153\" : tmp153 , f \"tmp157\" : tmp157 , f \"tmp16\" : tmp16 , f \"tmp161\" : tmp161 , f \"tmp162\" : tmp162 , f \"tmp163\" : tmp163 , f \"tmp165\" : tmp165 , f \"tmp166\" : tmp166 , f \"tmp168\" : tmp168 , f \"tmp17\" : tmp17 , f \"tmp181\" : tmp181 , f \"tmp183\" : tmp183 , f \"tmp185\" : tmp185 , f \"tmp186\" : tmp186 , f \"tmp19\" : tmp19 , f \"tmp20\" : tmp20 , f \"tmp202\" : tmp202 , f \"tmp204\" : tmp204 , f \"tmp22\" : tmp22 , f \"tmp24\" : tmp24 , f \"tmp25\" : tmp25 , f \"tmp27\" : tmp27 , f \"tmp28\" : tmp28 , f \"tmp3\" : tmp3 , f \"tmp30\" : tmp30 , f \"tmp32\" : tmp32 , f \"tmp34\" : tmp34 , f \"tmp35\" : tmp35 , f \"tmp37\" : tmp37 , f \"tmp38\" : tmp38 , f \"tmp39\" : tmp39 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp42\" : tmp42 , f \"tmp43\" : tmp43 , f \"tmp45\" : tmp45 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp51\" : tmp51 , f \"tmp54\" : tmp54 , f \"tmp57\" : tmp57 , f \"tmp6\" : tmp6 , f \"tmp63\" : tmp63 , f \"tmp65\" : tmp65 , f \"tmp69\" : tmp69 , f \"tmp71\" : tmp71 , f \"tmp77\" : tmp77 , f \"tmp78\" : tmp78 , f \"tmp8\" : tmp8 , f \"tmp80\" : tmp80 , f \"tmp81\" : tmp81 , f \"tmp83\" : tmp83 , f \"tmp84\" : tmp84 , f \"tmp86\" : tmp86 , f \"tmp93\" : tmp93 , f \"tmp96\" : tmp96 }","title":"Returns"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.hbar_lmatvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T20:53:56.196783.","title":"hbar_lmatvec_ip"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.hbar_lmatvec_ip--parameters","text":"f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 amplitudes. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.hbar_lmatvec_ip--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UDFCCD.py 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:53:56.196783. Parameters ---------- f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp16 = np . copy ( ints . tmp19 ) tmp16 += v . baa . xov tmp16 += ints . tmp16 * 2 tmp18 = np . copy ( ints . tmp37 ) tmp18 += v . bbb . xov tmp18 += ints . tmp42 * 2 tmp38 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 0 , 1 , 3 ), ( 2 ,)) tmp37 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 1 , 2 ), ( 3 ,)) tmp34 = np . copy ( ints . tmp16 ) * 2 del ints . tmp16 tmp34 += ints . tmp19 del ints . tmp19 tmp34 += v . baa . xov tmp17 = einsum ( tmp16 , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 1 , 2 ), ( 0 , 3 )) * - 1 del tmp16 tmp19 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp18 , ( 3 , 0 , 2 ), ( 3 , 1 )) * - 1 tmp39 = np . copy ( tmp37 ) * - 0.5 del tmp37 tmp39 += tmp38 del tmp38 tmp48 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp34 , ( 3 , 0 , 2 ), ( 3 , 1 )) tmp51 = np . copy ( ints . tmp69 ) * 2 tmp51 += ints . tmp71 tmp40 = np . copy ( ints . tmp163 ) del ints . tmp163 tmp40 += np . transpose ( ints . tmp168 , ( 1 , 0 , 3 , 2 )) * 2 del ints . tmp168 tmp56 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp18 , ( 3 , 1 , 2 ), ( 3 , 0 )) * - 1 del tmp18 tmp14 = np . copy ( ints . tmp100 ) tmp14 += np . transpose ( ints . tmp105 , ( 1 , 0 , 3 , 2 )) * 2 tmp12 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 0 , 3 , 2 ), ( 3 ,)) * - 1 tmp20 = np . copy ( tmp17 ) * - 2 del tmp17 tmp20 += tmp19 del tmp19 tmp26 = np . copy ( ints . tmp17 ) * 2 tmp26 += ints . tmp20 tmp24 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 0 , 1 , 3 ), ( 2 ,)) tmp50 = einsum ( ints . tmp165 , ( 0 , 1 , 2 , 3 ), tmp39 , ( 3 ,), ( 0 , 1 , 2 )) * 2 del ints . tmp165 tmp46 = einsum ( ints . tmp24 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 1 ,), ( 0 , 2 , 3 )) tmp47 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp166 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) tmp49 = einsum ( tmp48 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) del tmp48 tmp52 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp51 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 2 del tmp51 tmp54 = einsum ( f . bb . oo , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 0 , 2 , 3 )) tmp55 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp40 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 tmp57 = einsum ( tmp56 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp56 tmp35 = np . copy ( ints . tmp37 ) * 0.5 del ints . tmp37 tmp35 += ints . tmp42 del ints . tmp42 tmp35 += v . bbb . xov * 0.5 tmp15 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 1 del tmp14 tmp10 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), f . aa . oo , ( 3 , 1 ), ( 3 , 0 , 2 )) tmp11 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp107 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 1 tmp13 = einsum ( tmp12 , ( 0 ,), ints . tmp104 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) tmp21 = einsum ( tmp20 , ( 0 , 1 ), v . baa . xov , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) del tmp20 tmp23 = einsum ( r1 . a , ( 0 ,), ints . tmp12 , ( 1 , 0 , 2 , 3 ), ( 1 , 2 , 3 )) tmp27 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp26 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 2 del tmp26 tmp25 = einsum ( tmp24 , ( 0 ,), ints . tmp104 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) del ints . tmp104 tmp44 = np . copy ( ints . tmp181 ) * 2 del ints . tmp181 tmp44 += ints . tmp183 del ints . tmp183 tmp44 += f . bb . vv * - 1 tmp53 = einsum ( r1 . b , ( 0 ,), f . bb . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) tmp53 += tmp46 del tmp46 tmp53 += tmp47 del tmp47 tmp53 += np . transpose ( tmp49 , ( 1 , 0 , 2 )) del tmp49 tmp53 += tmp50 * - 1 del tmp50 tmp53 += np . transpose ( tmp52 , ( 1 , 0 , 2 )) del tmp52 tmp59 = np . copy ( ints . tmp202 ) del ints . tmp202 tmp59 += np . transpose ( ints . tmp204 , ( 2 , 0 , 3 , 1 )) * - 1 del ints . tmp204 tmp58 = np . copy ( tmp54 ) del tmp54 tmp58 += np . transpose ( tmp55 , ( 1 , 0 , 2 )) * - 1 del tmp55 tmp58 += np . transpose ( tmp57 , ( 1 , 0 , 2 )) del tmp57 tmp4 = np . copy ( f . aa . oo ) tmp4 += ints . tmp17 * 2 del ints . tmp17 tmp4 += ints . tmp20 del ints . tmp20 tmp42 = np . copy ( ints . tmp153 ) tmp42 += np . transpose ( ints . tmp157 , ( 1 , 0 , 3 , 2 )) tmp9 = np . copy ( f . bb . oo ) tmp9 += ints . tmp69 * 2 del ints . tmp69 tmp9 += ints . tmp71 del ints . tmp71 tmp45 = np . copy ( tmp24 ) * 2 del tmp24 tmp45 += tmp12 del tmp12 tmp41 = np . copy ( ints . tmp185 ) del ints . tmp185 tmp41 += np . transpose ( ints . tmp186 , ( 1 , 0 , 3 , 2 )) * - 1 del ints . tmp186 tmp43 = einsum ( tmp34 , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 1 , 2 ), ( 0 , 3 )) tmp43 += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp35 , ( 3 , 0 , 2 ), ( 3 , 1 )) * - 1 tmp30 = np . copy ( ints . tmp130 ) * 2 del ints . tmp130 tmp30 += ints . tmp132 del ints . tmp132 tmp30 += f . aa . vv * - 1 tmp33 = np . copy ( ints . tmp153 ) del ints . tmp153 tmp33 += np . transpose ( ints . tmp157 , ( 1 , 0 , 3 , 2 )) del ints . tmp157 tmp36 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp34 , ( 3 , 0 , 2 ), ( 3 , 1 )) * - 0.5 del tmp34 tmp36 += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp35 , ( 3 , 1 , 2 ), ( 3 , 0 )) * 2 del tmp35 tmp32 = np . copy ( ints . tmp100 ) del ints . tmp100 tmp32 += np . transpose ( ints . tmp105 , ( 1 , 0 , 3 , 2 )) * 2 del ints . tmp105 tmp31 = np . copy ( ints . tmp161 ) del ints . tmp161 tmp31 += np . transpose ( ints . tmp162 , ( 1 , 0 , 3 , 2 )) * - 1 del ints . tmp162 tmp22 = np . copy ( tmp10 ) * 2 del tmp10 tmp22 += tmp11 del tmp11 tmp22 += tmp13 del tmp13 tmp22 += np . transpose ( tmp15 , ( 1 , 0 , 2 )) * - 2 del tmp15 tmp22 += np . transpose ( tmp21 , ( 1 , 0 , 2 )) del tmp21 tmp29 = np . copy ( ints . tmp125 ) del ints . tmp125 tmp29 += np . transpose ( ints . tmp127 , ( 2 , 0 , 3 , 1 )) * - 1 del ints . tmp127 tmp28 = einsum ( r1 . a , ( 0 ,), f . aa . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 tmp28 += tmp23 * - 1 del tmp23 tmp28 += tmp25 * 2 del tmp25 tmp28 += np . transpose ( tmp27 , ( 1 , 0 , 2 )) * - 1 del tmp27 tmp7 = np . copy ( f . aa . ov ) * 0.5 tmp7 += ints . tmp1 tmp7 += ints . tmp4 * 0.5 tmp7 += ints . tmp51 * 0.5 tmp7 += ints . tmp22 * - 1 tmp7 += ints . tmp30 * - 0.5 tmp7 += ints . tmp45 * - 1 tmp8 = np . copy ( f . bb . ov ) tmp8 += ints . tmp3 tmp8 += ints . tmp49 tmp8 += ints . tmp6 * 2 tmp8 += ints . tmp25 * - 2 tmp8 += ints . tmp28 * - 1 tmp8 += ints . tmp47 * - 2 tmp5 = np . copy ( ints . tmp27 ) tmp5 += ints . tmp63 del ints . tmp63 tmp5 += np . transpose ( ints . tmp80 , ( 0 , 2 , 1 , 3 )) del ints . tmp80 tmp5 += np . transpose ( ints . tmp84 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp84 tmp5 += np . transpose ( ints . tmp96 , ( 0 , 2 , 1 , 3 )) del ints . tmp96 tmp5 += np . transpose ( ints . tmp77 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp77 tmp5 += np . transpose ( ints . tmp83 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp83 tmp6 = np . copy ( ints . tmp24 ) del ints . tmp24 tmp6 += np . transpose ( ints . tmp78 , ( 2 , 0 , 1 , 3 )) * 2 del ints . tmp78 tmp6 += np . transpose ( ints . tmp93 , ( 2 , 0 , 1 , 3 )) del ints . tmp93 tmp6 += ints . tmp65 * - 1 del ints . tmp65 tmp6 += np . transpose ( ints . tmp81 , ( 2 , 0 , 1 , 3 )) * - 2 del ints . tmp81 tmp6 += np . transpose ( ints . tmp86 , ( 2 , 0 , 1 , 3 )) * - 1 del ints . tmp86 tmp2 = np . copy ( f . aa . ov ) tmp2 += ints . tmp1 * 2 del ints . tmp1 tmp2 += ints . tmp4 del ints . tmp4 tmp2 += ints . tmp51 del ints . tmp51 tmp2 += ints . tmp22 * - 2 del ints . tmp22 tmp2 += ints . tmp30 * - 1 del ints . tmp30 tmp2 += ints . tmp45 * - 2 del ints . tmp45 tmp3 = np . copy ( f . bb . ov ) * 0.5 tmp3 += ints . tmp3 * 0.5 del ints . tmp3 tmp3 += ints . tmp49 * 0.5 del ints . tmp49 tmp3 += ints . tmp6 del ints . tmp6 tmp3 += ints . tmp25 * - 1 del ints . tmp25 tmp3 += ints . tmp28 * - 0.5 del ints . tmp28 tmp3 += ints . tmp47 * - 1 del ints . tmp47 tmp0 = np . copy ( ints . tmp10 ) del ints . tmp10 tmp0 += ints . tmp14 tmp0 += np . transpose ( ints . tmp38 , ( 1 , 0 , 2 , 3 )) del ints . tmp38 tmp0 += np . transpose ( ints . tmp43 , ( 1 , 0 , 2 , 3 )) * 2 del ints . tmp43 tmp0 += np . transpose ( ints . tmp57 , ( 1 , 0 , 2 , 3 )) del ints . tmp57 tmp0 += np . transpose ( ints . tmp34 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp34 tmp0 += np . transpose ( ints . tmp39 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp39 tmp1 = np . copy ( ints . tmp12 ) del ints . tmp12 tmp1 += np . transpose ( ints . tmp32 , ( 2 , 0 , 1 , 3 )) * 2 del ints . tmp32 tmp1 += np . transpose ( ints . tmp54 , ( 2 , 0 , 1 , 3 )) del ints . tmp54 tmp1 += np . transpose ( ints . tmp35 , ( 2 , 0 , 1 , 3 )) * - 2 del ints . tmp35 tmp1 += np . transpose ( ints . tmp40 , ( 2 , 0 , 1 , 3 )) * - 1 del ints . tmp40 tmp1 += ints . tmp8 * - 1 del ints . tmp8 r2new . bbb = np . copy ( tmp53 ) * - 1 r2new . bbb += np . transpose ( tmp53 , ( 1 , 0 , 2 )) del tmp53 r2new . bbb += tmp58 * 2 r2new . bbb += np . transpose ( tmp58 , ( 1 , 0 , 2 )) * - 2 del tmp58 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp59 , ( 3 , 1 , 4 , 0 ), ( 3 , 4 , 2 )) * 2 del tmp59 r2new . bbb += einsum ( tmp44 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bab = einsum ( r1 . a , ( 0 ,), ints . tmp14 , ( 1 , 0 , 2 , 3 ), ( 2 , 1 , 3 )) del ints . tmp14 r2new . bab += einsum ( f . bb . ov , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) * - 1 r2new . bab += einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp166 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) * 2 del ints . tmp166 r2new . bab += einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * - 1 del tmp40 r2new . bab += einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 1 del tmp41 r2new . bab += einsum ( tmp42 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 2 , 0 , 4 )) del tmp42 r2new . bab += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp43 , ( 0 , 3 ), ( 1 , 3 , 2 )) * - 2 del tmp43 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp44 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp44 r2new . bab += einsum ( tmp45 , ( 0 ,), ints . tmp146 , ( 1 , 2 , 0 , 3 ), ( 2 , 1 , 3 )) del tmp45 r2new . bab += einsum ( tmp9 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . bab += einsum ( tmp4 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . aba = einsum ( r1 . b , ( 0 ,), ints . tmp27 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del ints . tmp27 r2new . aba += einsum ( r1 . b , ( 0 ,), f . aa . ov , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 r2new . aba += einsum ( ints . tmp107 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 1 , 3 ), ( 0 , 4 , 2 )) * 2 del ints . tmp107 r2new . aba += einsum ( tmp31 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 1 del tmp31 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp32 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 1 del tmp32 r2new . aba += einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) del tmp33 r2new . aba += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp36 , ( 0 , 3 ), ( 1 , 3 , 2 )) * - 2 del tmp36 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp30 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( ints . tmp146 , ( 0 , 1 , 2 , 3 ), tmp39 , ( 3 ,), ( 0 , 1 , 2 )) * 2 del tmp39 , ints . tmp146 r2new . aba += einsum ( tmp9 , ( 0 , 1 ), r2 . aba , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . aba += einsum ( tmp4 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . aaa = np . copy ( tmp22 ) r2new . aaa += np . transpose ( tmp22 , ( 1 , 0 , 2 )) * - 1 del tmp22 r2new . aaa += tmp28 r2new . aaa += np . transpose ( tmp28 , ( 1 , 0 , 2 )) * - 1 del tmp28 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp29 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) * - 2 del tmp29 r2new . aaa += einsum ( tmp30 , ( 0 , 1 ), r2 . aaa , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 del tmp30 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp5 , ( 0 , 3 , 1 , 2 ), ( 3 ,)) del tmp5 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp6 , ( 3 , 1 , 0 , 2 ), ( 3 ,)) * 2 del tmp6 r1new . b += einsum ( tmp7 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 1 ), ( 2 ,)) * - 2 del tmp7 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp8 , ( 1 , 2 ), ( 0 ,)) * 2 del tmp8 r1new . b += einsum ( tmp9 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp9 r1new . a = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 1 , 3 ), ( 0 ,)) del tmp0 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp1 , ( 3 , 1 , 0 , 2 ), ( 3 ,)) * 2 del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 1 ), ( 2 ,)) * 2 del tmp2 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp3 , ( 0 , 2 ), ( 1 ,)) * - 2 del tmp3 r1new . a += einsum ( tmp4 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.hbar_lmatvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T20:54:42.422777.","title":"hbar_lmatvec_ea_intermediates"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.hbar_lmatvec_ea_intermediates--parameters","text":"f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.hbar_lmatvec_ea_intermediates--returns","text":"tmp1 : array tmp102 : array tmp106 : array tmp108 : array tmp110 : array tmp111 : array tmp113 : array tmp12 : array tmp126 : array tmp14 : array tmp146 : array tmp149 : array tmp157 : array tmp158 : array tmp159 : array tmp16 : array tmp161 : array tmp163 : array tmp165 : array tmp166 : array tmp168 : array tmp17 : array tmp182 : array tmp183 : array tmp19 : array tmp20 : array tmp200 : array tmp23 : array tmp26 : array tmp29 : array tmp3 : array tmp32 : array tmp34 : array tmp36 : array tmp38 : array tmp4 : array tmp40 : array tmp41 : array tmp43 : array tmp44 : array tmp46 : array tmp48 : array tmp50 : array tmp51 : array tmp53 : array tmp54 : array tmp56 : array tmp58 : array tmp59 : array tmp6 : array tmp68 : array tmp71 : array tmp73 : array tmp79 : array tmp81 : array tmp87 : array tmp88 : array tmp90 : array tmp91 : array tmp93 : array tmp95 : array tmp97 : array Source code in ebcc/codegen/UDFCCD.py 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 def hbar_lmatvec_ea_intermediates ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:54:42.422777. Parameters ---------- f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- tmp1 : array tmp102 : array tmp106 : array tmp108 : array tmp110 : array tmp111 : array tmp113 : array tmp12 : array tmp126 : array tmp14 : array tmp146 : array tmp149 : array tmp157 : array tmp158 : array tmp159 : array tmp16 : array tmp161 : array tmp163 : array tmp165 : array tmp166 : array tmp168 : array tmp17 : array tmp182 : array tmp183 : array tmp19 : array tmp20 : array tmp200 : array tmp23 : array tmp26 : array tmp29 : array tmp3 : array tmp32 : array tmp34 : array tmp36 : array tmp38 : array tmp4 : array tmp40 : array tmp41 : array tmp43 : array tmp44 : array tmp46 : array tmp48 : array tmp50 : array tmp51 : array tmp53 : array tmp54 : array tmp56 : array tmp58 : array tmp59 : array tmp6 : array tmp68 : array tmp71 : array tmp73 : array tmp79 : array tmp81 : array tmp87 : array tmp88 : array tmp90 : array tmp91 : array tmp93 : array tmp95 : array tmp97 : array \"\"\" tmp146 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp165 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp43 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 0 , 2 ), ( 4 , 1 , 3 )) tmp40 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp110 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp19 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp16 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp14 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp68 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp31 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp25 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp58 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp12 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp28 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp22 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp200 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp183 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp146 , ( 0 , 4 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) tmp182 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp168 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp165 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp166 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp165 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp163 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp43 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp161 = einsum ( tmp40 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp159 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp158 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp146 , ( 4 , 1 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) tmp157 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp149 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp126 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp113 = einsum ( tmp110 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) tmp111 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp110 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp108 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp106 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp102 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp97 = einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp95 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp43 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp93 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp91 = einsum ( tmp68 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 3 , 1 )) tmp90 = einsum ( tmp68 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 3 , 1 )) tmp88 = einsum ( tmp40 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp87 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp81 = einsum ( tmp31 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 5 , 3 )) tmp79 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp25 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp73 = einsum ( tmp43 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp71 = einsum ( tmp40 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp59 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp58 , ( 0 , 4 , 3 , 5 ), ( 1 , 2 , 4 , 5 )) tmp56 = einsum ( tmp40 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp54 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp53 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp12 , ( 0 , 2 , 4 , 5 ), ( 1 , 5 , 4 , 3 )) tmp51 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp12 , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 5 , 4 )) tmp50 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp43 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp48 = einsum ( tmp16 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp46 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp44 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp43 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp41 = einsum ( tmp40 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * - 1 tmp38 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp36 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp28 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp34 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 5 , 3 )) tmp32 = einsum ( tmp31 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) del tmp31 tmp29 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp28 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) del tmp28 tmp26 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp25 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) del tmp25 tmp23 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) del tmp22 tmp20 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp19 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp17 = einsum ( tmp16 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp6 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp4 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp3 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 0 , 2 ), ( 1 , 3 )) tmp1 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) return { f \"tmp1\" : tmp1 , f \"tmp102\" : tmp102 , f \"tmp106\" : tmp106 , f \"tmp108\" : tmp108 , f \"tmp110\" : tmp110 , f \"tmp111\" : tmp111 , f \"tmp113\" : tmp113 , f \"tmp12\" : tmp12 , f \"tmp126\" : tmp126 , f \"tmp14\" : tmp14 , f \"tmp146\" : tmp146 , f \"tmp149\" : tmp149 , f \"tmp157\" : tmp157 , f \"tmp158\" : tmp158 , f \"tmp159\" : tmp159 , f \"tmp16\" : tmp16 , f \"tmp161\" : tmp161 , f \"tmp163\" : tmp163 , f \"tmp165\" : tmp165 , f \"tmp166\" : tmp166 , f \"tmp168\" : tmp168 , f \"tmp17\" : tmp17 , f \"tmp182\" : tmp182 , f \"tmp183\" : tmp183 , f \"tmp19\" : tmp19 , f \"tmp20\" : tmp20 , f \"tmp200\" : tmp200 , f \"tmp23\" : tmp23 , f \"tmp26\" : tmp26 , f \"tmp29\" : tmp29 , f \"tmp3\" : tmp3 , f \"tmp32\" : tmp32 , f \"tmp34\" : tmp34 , f \"tmp36\" : tmp36 , f \"tmp38\" : tmp38 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp41\" : tmp41 , f \"tmp43\" : tmp43 , f \"tmp44\" : tmp44 , f \"tmp46\" : tmp46 , f \"tmp48\" : tmp48 , f \"tmp50\" : tmp50 , f \"tmp51\" : tmp51 , f \"tmp53\" : tmp53 , f \"tmp54\" : tmp54 , f \"tmp56\" : tmp56 , f \"tmp58\" : tmp58 , f \"tmp59\" : tmp59 , f \"tmp6\" : tmp6 , f \"tmp68\" : tmp68 , f \"tmp71\" : tmp71 , f \"tmp73\" : tmp73 , f \"tmp79\" : tmp79 , f \"tmp81\" : tmp81 , f \"tmp87\" : tmp87 , f \"tmp88\" : tmp88 , f \"tmp90\" : tmp90 , f \"tmp91\" : tmp91 , f \"tmp93\" : tmp93 , f \"tmp95\" : tmp95 , f \"tmp97\" : tmp97 }","title":"Returns"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.hbar_lmatvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T20:54:42.475767.","title":"hbar_lmatvec_ea"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.hbar_lmatvec_ea--parameters","text":"f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 amplitudes. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UDFCCD/#ebcc.codegen.UDFCCD.hbar_lmatvec_ea--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UDFCCD.py 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:54:42.475767. Parameters ---------- f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp23 = np . copy ( ints . tmp19 ) tmp23 += v . baa . xov tmp23 += ints . tmp16 * 2 tmp25 = np . copy ( ints . tmp43 ) tmp25 += v . bbb . xov tmp25 += ints . tmp40 * 2 tmp34 = np . copy ( ints . tmp16 ) * 2 del ints . tmp16 tmp34 += ints . tmp19 del ints . tmp19 tmp34 += v . baa . xov tmp11 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 3 , 0 ), ( 1 ,)) tmp12 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 1 ), ( 0 ,)) tmp24 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp23 , ( 3 , 2 , 1 ), ( 3 , 0 )) * - 1 del tmp23 tmp26 = einsum ( tmp25 , ( 0 , 1 , 2 ), r2 . bab , ( 2 , 3 , 1 ), ( 0 , 3 )) * - 1 tmp53 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp25 , ( 3 , 2 , 1 ), ( 3 , 0 )) * - 1 del tmp25 tmp39 = np . copy ( ints . tmp159 ) del ints . tmp159 tmp39 += np . transpose ( ints . tmp168 , ( 1 , 0 , 3 , 2 )) * 2 del ints . tmp168 tmp35 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp34 , ( 3 , 2 , 0 ), ( 3 , 1 )) tmp42 = np . copy ( ints . tmp71 ) tmp42 += ints . tmp73 * 0.5 tmp42 += f . bb . vv * - 0.5 tmp48 = np . copy ( tmp11 ) * - 0.5 tmp48 += tmp12 tmp4 = np . copy ( ints . tmp17 ) * 2 del ints . tmp17 tmp4 += ints . tmp20 del ints . tmp20 tmp4 += f . aa . vv * - 1 tmp5 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 3 , 1 ), ( 0 ,)) tmp21 = np . copy ( ints . tmp102 ) tmp21 += np . transpose ( ints . tmp111 , ( 1 , 0 , 3 , 2 )) * 2 tmp6 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 2 , 1 ), ( 0 ,)) * - 1 tmp27 = np . copy ( tmp24 ) * - 2 del tmp24 tmp27 += tmp26 del tmp26 tmp54 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp53 , ( 0 , 3 ), ( 1 , 2 , 3 )) * - 1 del tmp53 tmp52 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp39 , ( 3 , 2 , 4 , 1 ), ( 3 , 0 , 4 )) * - 1 tmp51 = einsum ( r1 . b , ( 0 ,), ints . tmp68 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) tmp45 = einsum ( ints . tmp166 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 4 , 0 ), ( 1 , 3 , 4 )) tmp46 = einsum ( tmp35 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) tmp47 = einsum ( tmp42 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 4 tmp49 = einsum ( ints . tmp165 , ( 0 , 1 , 2 , 3 ), tmp48 , ( 1 ,), ( 0 , 2 , 3 )) * 2 del tmp48 tmp36 = np . copy ( ints . tmp40 ) * 2 del ints . tmp40 tmp36 += ints . tmp43 del ints . tmp43 tmp36 += v . bbb . xov tmp16 = einsum ( tmp4 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 2 tmp15 = einsum ( ints . tmp110 , ( 0 , 1 , 2 , 3 ), tmp5 , ( 1 ,), ( 0 , 2 , 3 )) tmp22 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 3 , 1 ), ( 0 , 4 , 2 )) * - 1 del tmp21 tmp18 = einsum ( ints . tmp12 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 0 , 1 , 3 )) tmp20 = einsum ( ints . tmp110 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 ,), ( 0 , 2 , 3 )) tmp19 = einsum ( ints . tmp113 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 0 , 2 , 4 )) * - 1 tmp28 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 ), ( 1 , 2 , 3 )) del tmp27 tmp55 = np . copy ( tmp51 ) del tmp51 tmp55 += np . transpose ( tmp52 , ( 0 , 2 , 1 )) * - 2 del tmp52 tmp55 += np . transpose ( tmp54 , ( 0 , 2 , 1 )) * 2 del tmp54 tmp44 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) tmp50 = einsum ( f . bb . ov , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 1 , 2 )) tmp50 += tmp45 del tmp45 tmp50 += np . transpose ( tmp46 , ( 0 , 2 , 1 )) del tmp46 tmp50 += np . transpose ( tmp47 , ( 0 , 2 , 1 )) del tmp47 tmp50 += tmp49 * - 1 del tmp49 tmp43 = np . copy ( f . bb . oo ) tmp43 += ints . tmp161 * 2 del ints . tmp161 tmp43 += ints . tmp163 del ints . tmp163 tmp7 = np . copy ( tmp5 ) del tmp5 tmp7 += tmp6 * 0.5 del tmp6 tmp40 = np . copy ( ints . tmp182 ) del ints . tmp182 tmp40 += np . transpose ( ints . tmp183 , ( 1 , 0 , 3 , 2 )) * - 1 del ints . tmp183 tmp38 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 2 , 4 ), ( 0 , 4 , 1 )) * - 1 tmp41 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp34 , ( 3 , 2 , 1 ), ( 3 , 0 )) del tmp34 tmp41 += einsum ( tmp36 , ( 0 , 1 , 2 ), r2 . bab , ( 2 , 3 , 1 ), ( 0 , 3 )) * - 0.5 tmp30 = np . copy ( f . aa . oo ) tmp30 += ints . tmp106 * 2 del ints . tmp106 tmp30 += ints . tmp108 del ints . tmp108 tmp10 = np . copy ( ints . tmp71 ) * 2 del ints . tmp71 tmp10 += ints . tmp73 del ints . tmp73 tmp10 += f . bb . vv * - 1 tmp33 = np . copy ( ints . tmp102 ) del ints . tmp102 tmp33 += np . transpose ( ints . tmp111 , ( 1 , 0 , 3 , 2 )) * 2 del ints . tmp111 tmp13 = np . copy ( tmp11 ) * - 1 del tmp11 tmp13 += tmp12 * 2 del tmp12 tmp32 = np . copy ( ints . tmp157 ) del ints . tmp157 tmp32 += np . transpose ( ints . tmp158 , ( 1 , 0 , 3 , 2 )) * - 1 del ints . tmp158 tmp31 = einsum ( r2 . aba , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp37 = np . copy ( tmp35 ) * - 1 del tmp35 tmp37 += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp36 , ( 3 , 2 , 1 ), ( 3 , 0 )) * 2 del tmp36 tmp17 = einsum ( r1 . a , ( 0 ,), f . aa . ov , ( 1 , 2 ), ( 1 , 2 , 0 )) * - 1 tmp17 += tmp15 * 2 del tmp15 tmp17 += np . transpose ( tmp16 , ( 0 , 2 , 1 )) * - 1 del tmp16 tmp29 = np . copy ( tmp18 ) del tmp18 tmp29 += tmp19 del tmp19 tmp29 += tmp20 del tmp20 tmp29 += np . transpose ( tmp22 , ( 0 , 2 , 1 )) * - 2 del tmp22 tmp29 += np . transpose ( tmp28 , ( 0 , 2 , 1 )) del tmp28 tmp14 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) tmp2 = np . copy ( f . bb . ov ) * 0.5 tmp2 += ints . tmp3 * 0.5 del ints . tmp3 tmp2 += ints . tmp44 * 0.5 del ints . tmp44 tmp2 += ints . tmp6 del ints . tmp6 tmp2 += ints . tmp26 * - 1 del ints . tmp26 tmp2 += ints . tmp29 * - 0.5 del ints . tmp29 tmp2 += ints . tmp41 * - 1 del ints . tmp41 tmp8 = np . copy ( ints . tmp58 ) tmp8 += np . transpose ( ints . tmp81 , ( 0 , 1 , 3 , 2 )) del ints . tmp81 tmp8 += np . transpose ( ints . tmp87 , ( 0 , 1 , 3 , 2 )) del ints . tmp87 tmp8 += np . transpose ( ints . tmp93 , ( 0 , 1 , 3 , 2 )) * 2 del ints . tmp93 tmp8 += ints . tmp90 * - 1 del ints . tmp90 tmp8 += np . transpose ( ints . tmp97 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp97 tmp9 = np . copy ( np . transpose ( ints . tmp79 , ( 0 , 3 , 1 , 2 ))) * 0.5 del ints . tmp79 tmp9 += np . transpose ( ints . tmp88 , ( 0 , 3 , 1 , 2 )) del ints . tmp88 tmp9 += np . transpose ( ints . tmp95 , ( 0 , 3 , 1 , 2 )) * 0.5 del ints . tmp95 tmp9 += ints . tmp68 * - 0.5 del ints . tmp68 tmp9 += np . transpose ( ints . tmp91 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp91 tmp3 = np . copy ( f . aa . ov ) * 0.5 tmp3 += ints . tmp1 del ints . tmp1 tmp3 += ints . tmp46 * 0.5 del ints . tmp46 tmp3 += ints . tmp4 * 0.5 del ints . tmp4 tmp3 += ints . tmp23 * - 1 del ints . tmp23 tmp3 += ints . tmp32 * - 0.5 del ints . tmp32 tmp3 += ints . tmp38 * - 1 del ints . tmp38 tmp0 = np . copy ( ints . tmp14 ) tmp0 += np . transpose ( ints . tmp36 , ( 0 , 2 , 1 , 3 )) del ints . tmp36 tmp0 += np . transpose ( ints . tmp50 , ( 0 , 2 , 1 , 3 )) del ints . tmp50 tmp0 += np . transpose ( ints . tmp56 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp56 tmp0 += ints . tmp53 * - 1 del ints . tmp53 tmp0 += np . transpose ( ints . tmp59 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp59 tmp1 = np . copy ( np . transpose ( ints . tmp34 , ( 0 , 3 , 1 , 2 ))) * 0.5 del ints . tmp34 tmp1 += np . transpose ( ints . tmp48 , ( 0 , 3 , 1 , 2 )) del ints . tmp48 tmp1 += np . transpose ( ints . tmp54 , ( 0 , 3 , 1 , 2 )) * 0.5 del ints . tmp54 tmp1 += ints . tmp12 * - 0.5 del ints . tmp12 tmp1 += np . transpose ( ints . tmp51 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp51 r2new . bbb = einsum ( ints . tmp165 , ( 0 , 1 , 2 , 3 ), tmp44 , ( 4 , 1 , 0 ), ( 3 , 2 , 4 )) * 2 del ints . tmp165 , tmp44 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp200 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) * - 2 del ints . tmp200 r2new . bbb += np . transpose ( tmp50 , ( 1 , 2 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp50 , ( 2 , 1 , 0 )) del tmp50 r2new . bbb += np . transpose ( tmp55 , ( 1 , 2 , 0 )) r2new . bbb += np . transpose ( tmp55 , ( 2 , 1 , 0 )) * - 1 del tmp55 r2new . bbb += einsum ( tmp43 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bab = einsum ( ints . tmp146 , ( 0 , 1 , 2 , 3 ), tmp38 , ( 0 , 4 , 1 ), ( 3 , 2 , 4 )) * - 1 del tmp38 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp149 , ( 3 , 1 , 4 , 0 ), ( 4 , 3 , 2 )) r2new . bab += einsum ( r1 . a , ( 0 ,), ints . tmp14 , ( 1 , 2 , 0 , 3 ), ( 3 , 2 , 1 )) * - 1 del ints . tmp14 r2new . bab += einsum ( r1 . a , ( 0 ,), f . bb . ov , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new . bab += einsum ( ints . tmp166 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 0 ), ( 3 , 4 , 1 )) * 2 del ints . tmp166 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp39 , ( 3 , 2 , 4 , 0 ), ( 4 , 1 , 3 )) * - 1 del tmp39 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp40 , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) * - 1 del tmp40 r2new . bab += einsum ( tmp41 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 3 , 1 , 2 )) * - 2 del tmp41 r2new . bab += einsum ( tmp4 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp42 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 2 del tmp42 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp43 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp43 r2new . bab += einsum ( tmp7 , ( 0 ,), ints . tmp146 , ( 0 , 1 , 2 , 3 ), ( 3 , 2 , 1 )) * 2 r2new . aba = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp149 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) del ints . tmp149 r2new . aba += einsum ( r1 . b , ( 0 ,), ints . tmp58 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del ints . tmp58 r2new . aba += einsum ( r1 . b , ( 0 ,), f . aa . ov , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new . aba += einsum ( ints . tmp146 , ( 0 , 1 , 2 , 3 ), tmp31 , ( 4 , 0 , 1 ), ( 2 , 3 , 4 )) del tmp31 r2new . aba += einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp113 , ( 3 , 2 , 4 , 1 ), ( 4 , 0 , 3 )) * 2 del ints . tmp113 r2new . aba += einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) * - 1 del tmp32 r2new . aba += einsum ( tmp33 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 3 , 4 , 1 ), ( 2 , 4 , 0 )) * - 1 del tmp33 r2new . aba += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp37 , ( 0 , 3 ), ( 2 , 3 , 1 )) * - 1 del tmp37 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp4 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp10 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . aba += einsum ( tmp30 , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aba += einsum ( tmp13 , ( 0 ,), ints . tmp146 , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) del ints . tmp146 r2new . aaa = einsum ( ints . tmp110 , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 1 , 0 ), ( 3 , 2 , 4 )) * 2 del ints . tmp110 , tmp14 r2new . aaa += einsum ( ints . tmp126 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 3 , 1 , 4 ), ( 0 , 2 , 4 )) * 2 del ints . tmp126 r2new . aaa += np . transpose ( tmp17 , ( 1 , 2 , 0 )) r2new . aaa += np . transpose ( tmp17 , ( 2 , 1 , 0 )) * - 1 del tmp17 r2new . aaa += np . transpose ( tmp29 , ( 1 , 2 , 0 )) r2new . aaa += np . transpose ( tmp29 , ( 2 , 1 , 0 )) * - 1 del tmp29 r2new . aaa += einsum ( tmp30 , ( 0 , 1 ), r2 . aaa , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 del tmp30 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp8 , ( 2 , 0 , 3 , 1 ), ( 3 ,)) * - 1 del tmp8 r1new . b += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 0 ), ( 1 ,)) * - 4 del tmp9 r1new . b += einsum ( tmp3 , ( 0 , 1 ), r2 . aba , ( 1 , 2 , 0 ), ( 2 ,)) * - 2 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp2 , ( 2 , 1 ), ( 0 ,)) * 4 r1new . b += einsum ( r1 . b , ( 0 ,), tmp10 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp10 r1new . b += einsum ( f . bb . ov , ( 0 , 1 ), tmp13 , ( 0 ,), ( 1 ,)) * - 1 del tmp13 r1new . a = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 2 , 0 ), ( 1 ,)) * - 1 del tmp0 r1new . a += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 3 , 2 , 0 ), ( 1 ,)) * 4 del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 ), r2 . bab , ( 1 , 2 , 0 ), ( 2 ,)) * - 2 del tmp2 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp3 , ( 2 , 1 ), ( 0 ,)) * 4 del tmp3 r1new . a += einsum ( r1 . a , ( 0 ,), tmp4 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp4 r1new . a += einsum ( tmp7 , ( 0 ,), f . aa . ov , ( 0 , 1 ), ( 1 ,)) * - 2 del tmp7 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UDFCCSD/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-17T20:39:00.501891 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.8.0-40-generic ebcc . codegen . UDFCCSD . energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:39:01.620927. 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. Source code in ebcc/codegen/UDFCCSD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:39:01.620927. 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 ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp3 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp5 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp1 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) * 0.5 tmp1 += tmp0 tmp4 = np . copy ( f . bb . ov ) tmp4 += einsum ( tmp3 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) * - 0.5 del tmp3 tmp7 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp7 += einsum ( t1 . bb , ( 0 , 1 ), tmp0 , ( 2 ,), ( 2 , 0 , 1 )) * 0.5 del tmp0 tmp6 = np . copy ( f . aa . ov ) * 2 tmp6 += einsum ( tmp5 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) * - 1 del tmp5 tmp2 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp2 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp2 += einsum ( tmp1 , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 0 , 1 , 2 )) del tmp1 e_cc = einsum ( tmp2 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 2 ), ()) del tmp2 e_cc += einsum ( t1 . bb , ( 0 , 1 ), tmp4 , ( 0 , 1 ), ()) del tmp4 e_cc += einsum ( tmp6 , ( 0 , 1 ), t1 . aa , ( 0 , 1 ), ()) * 0.5 del tmp6 e_cc += einsum ( tmp7 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 2 ), ()) del tmp7 return e_cc ebcc . codegen . UDFCCSD . update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:39:57.454477. 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. Source code in ebcc/codegen/UDFCCSD.py 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:39:57.454477. 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 () tmp6 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp5 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp19 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp0 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp7 = np . copy ( tmp5 ) tmp7 += tmp6 tmp30 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp34 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp20 = einsum ( tmp19 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp148 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) tmp142 = einsum ( t1 . bb , ( 0 , 1 ), tmp19 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) tmp40 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp9 = np . copy ( tmp5 ) del tmp5 tmp9 += tmp6 del tmp6 tmp17 = einsum ( t1 . aa , ( 0 , 1 ), v . baa . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp76 = einsum ( tmp0 , ( 0 , 1 , 2 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 , 3 )) tmp78 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 3 ), ( 0 , 3 , 2 )) tmp13 = einsum ( tmp0 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp3 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp11 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp35 = np . copy ( tmp30 ) tmp35 += tmp34 * 2 tmp35 += einsum ( t1 . bb , ( 0 , 1 ), tmp7 , ( 2 ,), ( 2 , 0 , 1 )) tmp189 = np . copy ( f . bb . ov ) * - 1 tmp189 += tmp20 tmp199 = np . copy ( v . bbb . xvv ) tmp199 += np . transpose ( tmp148 , ( 0 , 2 , 1 )) * - 1 tmp165 = np . copy ( tmp40 ) tmp165 += tmp142 * - 1 tmp33 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp9 , ( 0 ,), ( 1 , 2 )) tmp42 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp85 = np . copy ( tmp17 ) tmp85 += tmp76 * - 1 tmp87 = np . copy ( v . baa . xvv ) tmp87 += np . transpose ( tmp78 , ( 0 , 2 , 1 )) * - 1 tmp18 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp72 = np . copy ( f . aa . ov ) * - 1 tmp72 += tmp13 tmp70 = np . copy ( tmp11 ) * 2 tmp70 += tmp3 tmp70 += einsum ( tmp7 , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 0 , 1 , 2 )) tmp99 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp36 = einsum ( tmp35 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 3 , 1 )) del tmp35 tmp190 = einsum ( t1 . bb , ( 0 , 1 ), tmp189 , ( 2 , 1 ), ( 2 , 0 )) del tmp189 tmp43 = einsum ( tmp19 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp176 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp9 , ( 0 ,), ( 1 , 2 )) tmp200 = einsum ( tmp19 , ( 0 , 1 , 2 ), tmp199 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp166 = einsum ( tmp165 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp41 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp94 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp217 = einsum ( tmp19 , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp132 = np . copy ( f . bb . ov ) tmp132 += tmp20 * - 1 tmp132 += tmp33 tmp185 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp194 = np . copy ( v . bbb . xvv ) tmp194 += np . transpose ( tmp148 , ( 0 , 2 , 1 )) * - 1 tmp158 = einsum ( t1 . bb , ( 0 , 1 ), tmp42 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp205 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp199 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp199 tmp153 = einsum ( t1 . aa , ( 0 , 1 ), v . baa . xoo , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) tmp145 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp37 = np . copy ( f . bb . ov ) tmp37 += tmp20 * - 1 tmp55 = np . copy ( tmp17 ) tmp55 += tmp11 * 2 tmp55 += tmp3 tmp55 += einsum ( tmp7 , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 0 , 1 , 2 )) tmp14 = np . copy ( f . aa . ov ) tmp14 += tmp13 * - 1 tmp64 = einsum ( tmp0 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp25 = einsum ( tmp0 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp49 = einsum ( tmp9 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp79 = np . copy ( v . baa . xvv ) tmp79 += np . transpose ( tmp78 , ( 0 , 2 , 1 )) * - 1 tmp16 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp86 = einsum ( tmp85 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp88 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp87 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp10 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp9 , ( 0 ,), ( 1 , 2 )) tmp96 = einsum ( tmp87 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) del tmp87 tmp92 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) tmp73 = einsum ( tmp72 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) * 0.5 del tmp72 tmp71 = einsum ( tmp70 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 3 , 1 )) * 0.5 del tmp70 tmp111 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp0 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp224 = einsum ( tmp99 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 1 , 0 )) tmp220 = einsum ( tmp40 , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp197 = np . copy ( tmp40 ) * - 1 tmp197 += tmp142 tmp191 = np . copy ( np . transpose ( tmp36 , ( 1 , 0 ))) tmp191 += np . transpose ( tmp190 , ( 1 , 0 )) * - 1 del tmp190 tmp183 = einsum ( tmp40 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp180 = np . copy ( tmp40 ) tmp180 += tmp30 tmp180 += tmp34 * 2 tmp180 += einsum ( t1 . bb , ( 0 , 1 ), tmp7 , ( 2 ,), ( 2 , 0 , 1 )) tmp177 = np . copy ( f . bb . oo ) tmp177 += np . transpose ( tmp43 , ( 1 , 0 )) * - 1 tmp177 += np . transpose ( tmp176 , ( 1 , 0 )) del tmp176 tmp229 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp201 = np . copy ( np . transpose ( tmp166 , ( 1 , 0 , 3 , 2 ))) * - 1 tmp201 += np . transpose ( tmp200 , ( 0 , 1 , 3 , 2 )) del tmp200 tmp129 = np . copy ( tmp30 ) tmp129 += tmp34 * 2 tmp44 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp7 , ( 0 ,), ( 1 , 2 )) tmp104 = np . copy ( np . transpose ( tmp99 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp104 += np . transpose ( tmp99 , ( 1 , 0 , 3 , 2 )) tmp127 = np . copy ( tmp30 ) * 0.5 tmp127 += tmp34 tmp144 = einsum ( t1 . bb , ( 0 , 1 ), tmp41 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp210 = np . copy ( np . transpose ( tmp94 , ( 1 , 0 , 2 , 3 ))) tmp210 += np . transpose ( tmp94 , ( 1 , 0 , 3 , 2 )) * - 1 tmp28 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp143 = np . copy ( v . bbb . xov ) tmp143 += tmp40 tmp143 += tmp142 * - 1 tmp207 = np . copy ( np . transpose ( tmp94 , ( 1 , 0 , 2 , 3 ))) tmp207 += np . transpose ( tmp94 , ( 1 , 0 , 3 , 2 )) * - 1 tmp222 = einsum ( tmp217 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp131 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp9 , ( 0 ,), ( 1 , 2 )) tmp130 = einsum ( tmp40 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp133 = einsum ( t1 . bb , ( 0 , 1 ), tmp132 , ( 0 , 2 ), ( 1 , 2 )) del tmp132 tmp187 = einsum ( tmp185 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp212 = einsum ( tmp30 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp174 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp193 = np . copy ( tmp40 ) tmp193 += tmp142 * - 1 tmp226 = einsum ( tmp194 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 2 , 1 , 4 )) tmp214 = np . copy ( tmp158 ) tmp214 += np . transpose ( tmp205 , ( 1 , 0 , 3 , 2 )) tmp100 = np . copy ( np . transpose ( tmp99 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp100 += np . transpose ( tmp99 , ( 1 , 0 , 3 , 2 )) tmp154 = np . copy ( tmp153 ) * - 1 del tmp153 tmp154 += tmp11 * 2 tmp154 += tmp3 tmp12 = np . copy ( tmp11 ) tmp12 += tmp3 * 0.5 tmp12 += einsum ( tmp7 , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 0 , 1 , 2 )) * 0.5 tmp169 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp149 = np . copy ( v . bbb . xvv ) tmp149 += tmp148 * - 1 tmp146 = np . copy ( v . baa . xvv ) tmp146 += tmp78 * - 1 tmp140 = np . copy ( v . baa . xvv ) tmp140 += tmp78 * - 1 del tmp78 tmp162 = np . copy ( v . bbb . xvv ) tmp162 += tmp148 * - 1 del tmp148 tmp161 = einsum ( t1 . bb , ( 0 , 1 ), tmp145 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp38 = einsum ( t1 . bb , ( 0 , 1 ), tmp37 , ( 2 , 1 ), ( 0 , 2 )) tmp56 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp55 , ( 0 , 1 , 3 ), ( 2 , 3 )) del tmp55 tmp57 = einsum ( tmp7 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp58 = einsum ( tmp14 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 2 , 1 )) tmp77 = np . copy ( tmp17 ) tmp77 += tmp76 * - 1 tmp102 = np . copy ( np . transpose ( tmp94 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp102 += np . transpose ( tmp94 , ( 1 , 0 , 3 , 2 )) tmp52 = np . copy ( tmp11 ) * 2 tmp52 += tmp3 tmp68 = einsum ( t1 . aa , ( 0 , 1 ), tmp64 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp83 = np . copy ( tmp17 ) * - 1 tmp83 += tmp76 tmp50 = np . copy ( f . aa . oo ) tmp50 += np . transpose ( tmp25 , ( 1 , 0 )) * - 1 tmp50 += np . transpose ( tmp49 , ( 1 , 0 )) del tmp49 tmp120 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp79 , ( 0 , 3 , 4 ), ( 1 , 4 , 3 , 2 )) tmp106 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp66 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp98 = einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) tmp46 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp95 = np . copy ( np . transpose ( tmp94 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp95 += np . transpose ( tmp94 , ( 1 , 0 , 3 , 2 )) tmp89 = np . copy ( np . transpose ( tmp86 , ( 1 , 0 , 3 , 2 ))) * - 1 tmp89 += np . transpose ( tmp88 , ( 0 , 1 , 3 , 2 )) del tmp88 tmp62 = np . copy ( f . aa . ov ) tmp62 += tmp13 * - 1 tmp62 += tmp10 tmp81 = np . copy ( v . baa . xov ) tmp81 += tmp17 tmp81 += tmp76 * - 1 del tmp76 tmp26 = einsum ( tmp7 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp60 = np . copy ( tmp11 ) * 2 tmp60 += tmp3 tmp1 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp0 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp108 = np . copy ( tmp92 ) tmp108 += np . transpose ( tmp96 , ( 1 , 0 , 3 , 2 )) tmp118 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp94 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) tmp123 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp74 = np . copy ( np . transpose ( tmp71 , ( 1 , 0 ))) del tmp71 tmp74 += tmp73 * - 1 del tmp73 tmp114 = einsum ( tmp17 , ( 0 , 1 , 2 ), tmp0 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp116 = einsum ( t1 . aa , ( 0 , 1 ), tmp111 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) tmp31 = np . copy ( t2 . bbbb ) tmp31 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 0.5 tmp23 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp7 , ( 0 ,), ( 1 , 2 )) tmp21 = einsum ( tmp7 , ( 0 ,), v . bbb . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp4 = np . copy ( t2 . aaaa ) tmp4 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 0.5 tmp219 = einsum ( tmp40 , ( 0 , 1 , 2 ), tmp40 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp225 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp224 , ( 4 , 5 , 0 , 1 ), ( 5 , 4 , 2 , 3 )) * - 1 del tmp224 tmp221 = einsum ( t1 . bb , ( 0 , 1 ), tmp220 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp220 tmp173 = np . copy ( t2 . bbbb ) tmp173 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 tmp198 = einsum ( tmp197 , ( 0 , 1 , 2 ), tmp30 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) del tmp197 tmp192 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp191 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 1 del tmp191 tmp184 = einsum ( t1 . bb , ( 0 , 1 ), tmp183 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp183 tmp181 = np . copy ( f . bb . vv ) * - 1 tmp181 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp180 , ( 0 , 1 , 3 ), ( 2 , 3 )) del tmp180 tmp181 += einsum ( tmp7 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) * - 1 tmp181 += einsum ( tmp37 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) del tmp37 tmp178 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp177 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) * - 1 del tmp177 tmp203 = einsum ( tmp165 , ( 0 , 1 , 2 ), tmp30 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp230 = einsum ( tmp229 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) * - 1 del tmp229 tmp202 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp201 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp201 tmp182 = einsum ( tmp129 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp45 = np . copy ( f . bb . oo ) tmp45 += np . transpose ( tmp43 , ( 1 , 0 )) * - 1 del tmp43 tmp45 += np . transpose ( tmp44 , ( 1 , 0 )) del tmp44 tmp218 = einsum ( tmp217 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 3 , 2 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) del tmp217 tmp209 = np . copy ( tmp158 ) * 0.5 tmp209 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp104 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 tmp209 += einsum ( tmp194 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 2 , 1 )) * 0.5 tmp204 = einsum ( tmp34 , ( 0 , 1 , 2 ), tmp30 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp128 = einsum ( tmp127 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) del tmp127 tmp211 = np . copy ( tmp144 ) tmp211 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp210 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp210 tmp228 = einsum ( t1 . bb , ( 0 , 1 ), tmp28 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp186 = einsum ( tmp185 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp185 tmp196 = einsum ( tmp143 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp208 = np . copy ( tmp144 ) tmp208 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp207 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp207 tmp223 = einsum ( t1 . bb , ( 0 , 1 ), tmp222 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp222 tmp134 = np . copy ( f . bb . vv ) tmp134 += tmp130 * - 1 del tmp130 tmp134 += np . transpose ( tmp131 , ( 1 , 0 )) del tmp131 tmp134 += np . transpose ( tmp133 , ( 1 , 0 )) * - 1 del tmp133 tmp188 = einsum ( t1 . bb , ( 0 , 1 ), tmp187 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp187 tmp213 = einsum ( t1 . bb , ( 0 , 1 ), tmp212 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp212 tmp175 = einsum ( tmp174 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 3 , 4 , 5 ), ( 2 , 0 , 4 , 5 )) tmp216 = einsum ( tmp40 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp179 = einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 tmp179 += t2 . bbbb * - 1 tmp195 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp193 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) * - 1 del tmp193 tmp195 += einsum ( tmp194 , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 4 , 2 , 1 )) del tmp194 tmp227 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp227 += einsum ( t1 . bb , ( 0 , 1 ), tmp226 , ( 0 , 2 , 3 , 4 ), ( 4 , 3 , 1 , 2 )) del tmp226 tmp215 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp214 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp214 tmp206 = np . copy ( tmp158 ) tmp206 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp100 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 2 tmp206 += np . transpose ( tmp205 , ( 1 , 0 , 3 , 2 )) del tmp205 tmp156 = einsum ( tmp99 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) * - 1 del tmp99 tmp156 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp154 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp152 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp171 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp40 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp126 = np . copy ( t2 . abab ) tmp126 += einsum ( t1 . bb , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 tmp137 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp138 = einsum ( tmp12 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp138 += einsum ( t1 . aa , ( 0 , 1 ), tmp14 , ( 2 , 1 ), ( 2 , 0 )) * 0.5 tmp172 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp40 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp157 = einsum ( tmp11 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp160 = einsum ( tmp145 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 2 , 3 ), ( 4 , 0 , 5 , 1 )) tmp170 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp169 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) del tmp169 tmp136 = np . copy ( t2 . abab ) tmp136 += einsum ( t1 . bb , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp167 = np . copy ( np . transpose ( tmp166 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp166 tmp167 += einsum ( tmp19 , ( 0 , 1 , 2 ), tmp149 , ( 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) tmp147 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp145 , ( 0 , 4 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp145 tmp147 += einsum ( tmp146 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 2 , 1 )) * - 1 tmp159 = np . copy ( np . transpose ( tmp158 , ( 1 , 0 , 3 , 2 ))) tmp159 += einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp149 , ( 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) tmp141 = einsum ( tmp140 , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 4 , 2 , 1 )) del tmp140 tmp139 = einsum ( tmp0 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp163 = einsum ( tmp161 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 4 , 3 , 2 )) del tmp161 tmp163 += einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp162 , ( 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp162 tmp164 = np . copy ( np . transpose ( tmp86 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp86 tmp164 += einsum ( tmp0 , ( 0 , 1 , 2 ), tmp146 , ( 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) tmp39 = np . copy ( tmp36 ) del tmp36 tmp39 += np . transpose ( tmp38 , ( 1 , 0 )) del tmp38 tmp125 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp151 = np . copy ( v . bbb . xov ) tmp151 += tmp40 tmp151 += tmp142 * - 1 del tmp142 tmp2 = einsum ( tmp0 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp135 = einsum ( tmp19 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp59 = np . copy ( f . aa . vv ) * - 1 tmp59 += tmp56 del tmp56 tmp59 += np . transpose ( tmp57 , ( 1 , 0 )) * - 1 del tmp57 tmp59 += np . transpose ( tmp58 , ( 1 , 0 )) del tmp58 tmp168 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp149 , ( 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) tmp155 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp94 , ( 1 , 4 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp94 tmp155 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp154 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) * - 1 del tmp154 tmp155 += einsum ( tmp146 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 2 , 1 )) del tmp146 tmp150 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp149 , ( 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp149 tmp80 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp77 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) * - 1 del tmp77 tmp80 += einsum ( tmp0 , ( 0 , 1 , 2 ), tmp79 , ( 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp0 tmp91 = einsum ( tmp3 , ( 0 , 1 , 2 ), tmp85 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp103 = np . copy ( tmp92 ) tmp103 += einsum ( tmp102 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * - 2 del tmp102 tmp103 += einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp79 , ( 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp79 tmp53 = einsum ( tmp52 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) del tmp52 tmp69 = einsum ( tmp68 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp68 tmp84 = einsum ( tmp3 , ( 0 , 1 , 2 ), tmp83 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) del tmp83 tmp51 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp50 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 tmp121 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp121 += einsum ( tmp120 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp120 tmp107 = einsum ( tmp106 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp106 tmp67 = einsum ( tmp66 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp66 tmp65 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp64 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp64 tmp105 = np . copy ( tmp98 ) tmp105 += einsum ( tmp104 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * - 1 del tmp104 tmp93 = einsum ( tmp3 , ( 0 , 1 , 2 ), tmp11 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp54 = einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 2 tmp54 += t2 . aaaa * - 1 tmp47 = np . copy ( t2 . aaaa ) tmp47 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 tmp48 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp46 , ( 4 , 0 , 5 , 1 ), ( 5 , 4 , 2 , 3 )) tmp97 = np . copy ( tmp92 ) tmp97 += einsum ( tmp95 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * - 2 del tmp95 tmp97 += np . transpose ( tmp96 , ( 1 , 0 , 3 , 2 )) del tmp96 tmp90 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp89 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp89 tmp112 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp111 , ( 4 , 5 , 1 , 0 ), ( 5 , 4 , 2 , 3 )) del tmp111 tmp63 = np . copy ( f . aa . vv ) tmp63 += einsum ( tmp17 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) * - 1 tmp63 += einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp9 , ( 0 ,), ( 1 , 2 )) del tmp9 tmp63 += einsum ( t1 . aa , ( 0 , 1 ), tmp62 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp62 tmp82 = einsum ( tmp81 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) del tmp81 tmp27 = np . copy ( f . aa . oo ) tmp27 += np . transpose ( tmp25 , ( 1 , 0 )) * - 1 del tmp25 tmp27 += np . transpose ( tmp26 , ( 1 , 0 )) del tmp26 tmp61 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp60 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp122 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp109 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp108 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp108 tmp119 = einsum ( tmp118 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) * - 1 del tmp118 tmp124 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp123 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) * - 1 del tmp123 tmp101 = np . copy ( tmp98 ) tmp101 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp100 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 del tmp100 tmp110 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp75 = einsum ( tmp74 , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 2 del tmp74 tmp113 = einsum ( tmp17 , ( 0 , 1 , 2 ), tmp17 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp115 = einsum ( tmp114 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp114 tmp117 = einsum ( tmp116 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp116 tmp32 = np . copy ( tmp30 ) * 0.5 del tmp30 tmp32 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp31 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) del tmp31 tmp32 += einsum ( t1 . bb , ( 0 , 1 ), tmp7 , ( 2 ,), ( 2 , 0 , 1 )) * 0.5 tmp24 = np . copy ( f . aa . ov ) tmp24 += tmp13 * - 1 del tmp13 tmp24 += tmp23 del tmp23 tmp29 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) del tmp19 tmp22 = np . copy ( f . bb . ov ) tmp22 += tmp20 * - 1 del tmp20 tmp22 += tmp21 del tmp21 tmp8 = np . copy ( tmp3 ) * 0.5 del tmp3 tmp8 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp4 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) del tmp4 tmp8 += einsum ( tmp7 , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 0 , 1 , 2 )) * 0.5 del tmp7 tmp15 = einsum ( tmp12 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 3 , 1 )) * 2 del tmp12 tmp15 += einsum ( t1 . aa , ( 0 , 1 ), tmp14 , ( 2 , 1 ), ( 2 , 0 )) del tmp14 t2new . bbbb = einsum ( tmp45 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 t2new . bbbb += einsum ( tmp174 , ( 0 , 1 , 2 , 3 ), tmp173 , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 5 , 4 )) * 0.5 del tmp173 t2new . bbbb += np . transpose ( tmp175 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp175 t2new . bbbb += np . transpose ( tmp178 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp128 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 4 t2new . bbbb += np . transpose ( tmp178 , ( 0 , 1 , 3 , 2 )) * 2 del tmp178 t2new . bbbb += einsum ( tmp174 , ( 0 , 1 , 2 , 3 ), tmp179 , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 5 , 4 )) * - 0.5 del tmp174 , tmp179 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp181 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * 2 del tmp181 t2new . bbbb += tmp182 t2new . bbbb += einsum ( tmp134 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * 2 t2new . bbbb += np . transpose ( tmp182 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp184 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp186 , ( 1 , 0 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp188 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += np . transpose ( tmp188 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp192 , ( 1 , 0 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp184 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp184 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp186 , ( 0 , 1 , 3 , 2 )) * 2 del tmp186 t2new . bbbb += tmp188 * - 1 t2new . bbbb += np . transpose ( tmp188 , ( 0 , 1 , 3 , 2 )) del tmp188 t2new . bbbb += np . transpose ( tmp192 , ( 0 , 1 , 3 , 2 )) * 2 del tmp192 t2new . bbbb += tmp184 del tmp184 t2new . bbbb += einsum ( tmp195 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) * 2 del tmp195 t2new . bbbb += tmp196 t2new . bbbb += np . transpose ( tmp198 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += tmp202 * - 2 t2new . bbbb += np . transpose ( tmp196 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp196 t2new . bbbb += np . transpose ( tmp203 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp158 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += tmp204 * 2 t2new . bbbb += np . transpose ( tmp204 , ( 1 , 0 , 3 , 2 )) * 2 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp206 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 2 del tmp206 t2new . bbbb += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp208 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) * - 1 del tmp208 t2new . bbbb += np . transpose ( tmp158 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp204 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp204 , ( 1 , 0 , 2 , 3 )) * - 2 del tmp204 t2new . bbbb += einsum ( tmp209 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) * 4 del tmp209 t2new . bbbb += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp211 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 5 , 3 )) del tmp211 t2new . bbbb += tmp158 * - 1 t2new . bbbb += np . transpose ( tmp213 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp215 , ( 0 , 1 , 3 , 2 )) * 2 t2new . bbbb += np . transpose ( tmp158 , ( 1 , 0 , 2 , 3 )) del tmp158 t2new . bbbb += np . transpose ( tmp213 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp213 t2new . bbbb += np . transpose ( tmp215 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp215 t2new . bbbb += np . transpose ( tmp216 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp218 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp218 t2new . bbbb += tmp219 t2new . bbbb += np . transpose ( tmp219 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp219 t2new . bbbb += np . transpose ( tmp221 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp221 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += tmp223 t2new . bbbb += np . transpose ( tmp223 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp223 t2new . bbbb += np . transpose ( tmp216 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp216 t2new . bbbb += tmp225 * 2 del tmp225 t2new . bbbb += einsum ( tmp227 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 3 , 2 )) * 2 del tmp227 t2new . bbbb += np . transpose ( tmp182 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp182 , ( 1 , 0 , 3 , 2 )) del tmp182 t2new . bbbb += np . transpose ( tmp228 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += np . transpose ( tmp202 , ( 1 , 0 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp198 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp198 t2new . bbbb += tmp228 * - 1 del tmp228 t2new . bbbb += np . transpose ( tmp202 , ( 0 , 1 , 3 , 2 )) * 2 del tmp202 t2new . bbbb += np . transpose ( tmp203 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp203 t2new . bbbb += einsum ( t1 . bb , ( 0 , 1 ), tmp230 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp230 t2new . bbbb += tmp221 * - 1 t2new . bbbb += np . transpose ( tmp221 , ( 1 , 0 , 2 , 3 )) del tmp221 t2new . abab = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp45 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 t2new . abab += einsum ( tmp126 , ( 0 , 1 , 2 , 3 ), tmp125 , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) * 0.5 del tmp126 t2new . abab += einsum ( tmp125 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) * 0.5 del tmp125 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp128 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp128 t2new . abab += einsum ( tmp50 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp50 t2new . abab += einsum ( tmp59 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 t2new . abab += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp129 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) del tmp129 t2new . abab += einsum ( tmp134 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) del tmp134 t2new . abab += einsum ( tmp39 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 t2new . abab += einsum ( tmp135 , ( 0 , 1 , 2 , 3 ), tmp136 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp135 t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), tmp137 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp137 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp138 , ( 0 , 4 ), ( 4 , 1 , 2 , 3 )) * - 2 del tmp138 t2new . abab += einsum ( tmp139 , ( 0 , 1 , 2 , 3 ), tmp136 , ( 1 , 2 , 4 , 5 ), ( 0 , 3 , 4 , 5 )) del tmp139 t2new . abab += einsum ( tmp141 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 3 , 5 )) * - 1 del tmp141 t2new . abab += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp143 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) del tmp143 t2new . abab += tmp144 * - 1 del tmp144 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp147 , ( 1 , 4 , 2 , 5 ), ( 0 , 4 , 5 , 3 )) del tmp147 t2new . abab += tmp98 * - 1 del tmp98 t2new . abab += einsum ( tmp150 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 2 ), ( 1 , 4 , 5 , 3 )) * - 1 del tmp150 t2new . abab += einsum ( tmp17 , ( 0 , 1 , 2 ), tmp151 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) del tmp151 t2new . abab += einsum ( tmp152 , ( 0 , 1 , 2 , 3 ), tmp136 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp136 , tmp152 t2new . abab += einsum ( tmp155 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 del tmp155 t2new . abab += einsum ( tmp156 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 2 del tmp156 t2new . abab += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp60 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) del tmp60 t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), tmp157 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp157 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp159 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 del tmp159 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp160 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp160 t2new . abab += einsum ( tmp163 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) del tmp163 t2new . abab += einsum ( tmp164 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) * - 1 del tmp164 t2new . abab += einsum ( tmp34 , ( 0 , 1 , 2 ), tmp85 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) * 2 del tmp34 , tmp85 t2new . abab += einsum ( tmp167 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) * - 1 del tmp167 t2new . abab += einsum ( tmp11 , ( 0 , 1 , 2 ), tmp165 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) * 2 del tmp11 , tmp165 t2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp2 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 t2new . abab += einsum ( tmp168 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) * - 1 del tmp168 t2new . abab += einsum ( tmp170 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp170 t2new . abab += einsum ( tmp171 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 1 del tmp171 t2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp172 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp172 t2new . aaaa = einsum ( tmp27 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 t2new . aaaa += einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), tmp46 , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 3 , 2 )) * 0.5 del tmp47 t2new . aaaa += np . transpose ( tmp48 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp48 t2new . aaaa += np . transpose ( tmp51 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += einsum ( tmp53 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 2 del tmp53 t2new . aaaa += np . transpose ( tmp51 , ( 1 , 0 , 3 , 2 )) * 2 del tmp51 t2new . aaaa += einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), tmp46 , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 3 , 2 )) * - 0.5 del tmp46 , tmp54 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp59 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * 2 del tmp59 t2new . aaaa += tmp61 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp63 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * 2 del tmp63 t2new . aaaa += np . transpose ( tmp61 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp65 , ( 1 , 0 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp67 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp69 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += np . transpose ( tmp69 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp75 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp67 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp65 , ( 0 , 1 , 3 , 2 )) * 2 del tmp65 t2new . aaaa += np . transpose ( tmp67 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp69 * - 1 t2new . aaaa += np . transpose ( tmp69 , ( 0 , 1 , 3 , 2 )) del tmp69 t2new . aaaa += np . transpose ( tmp75 , ( 1 , 0 , 3 , 2 )) * 2 del tmp75 t2new . aaaa += tmp67 del tmp67 t2new . aaaa += einsum ( tmp80 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) * 2 del tmp80 t2new . aaaa += tmp82 t2new . aaaa += np . transpose ( tmp84 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp90 , ( 1 , 0 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp82 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp82 t2new . aaaa += np . transpose ( tmp91 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp92 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += tmp93 * 2 t2new . aaaa += np . transpose ( tmp93 , ( 1 , 0 , 3 , 2 )) * 2 t2new . aaaa += einsum ( tmp97 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * - 2 del tmp97 t2new . aaaa += einsum ( tmp101 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * - 1 del tmp101 t2new . aaaa += np . transpose ( tmp92 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp93 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp93 , ( 1 , 0 , 2 , 3 )) * - 2 del tmp93 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp103 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * 2 del tmp103 t2new . aaaa += einsum ( tmp105 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) del tmp105 t2new . aaaa += tmp92 * - 1 t2new . aaaa += np . transpose ( tmp107 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp109 , ( 1 , 0 , 2 , 3 )) * 2 t2new . aaaa += np . transpose ( tmp92 , ( 1 , 0 , 2 , 3 )) del tmp92 t2new . aaaa += np . transpose ( tmp107 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp107 t2new . aaaa += tmp109 * - 2 del tmp109 t2new . aaaa += np . transpose ( tmp110 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp112 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp112 t2new . aaaa += tmp113 t2new . aaaa += np . transpose ( tmp113 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp113 t2new . aaaa += np . transpose ( tmp115 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp115 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += tmp117 t2new . aaaa += np . transpose ( tmp117 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp117 t2new . aaaa += np . transpose ( tmp110 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp110 t2new . aaaa += tmp119 * 2 del tmp119 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp121 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 5 , 4 )) * 2 del tmp121 t2new . aaaa += np . transpose ( tmp61 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp61 , ( 1 , 0 , 3 , 2 )) del tmp61 t2new . aaaa += np . transpose ( tmp122 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += tmp90 * - 2 t2new . aaaa += tmp84 * - 1 del tmp84 t2new . aaaa += tmp122 * - 1 del tmp122 t2new . aaaa += np . transpose ( tmp90 , ( 1 , 0 , 2 , 3 )) * 2 del tmp90 t2new . aaaa += np . transpose ( tmp91 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp91 t2new . aaaa += einsum ( tmp124 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 2 del tmp124 t2new . aaaa += tmp115 * - 1 t2new . aaaa += np . transpose ( tmp115 , ( 1 , 0 , 2 , 3 )) del tmp115 t1new . bb = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp28 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 2 del tmp28 t1new . bb += f . bb . ov t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), f . bb . vv , ( 2 , 1 ), ( 0 , 2 )) t1new . bb += einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 del tmp29 t1new . bb += einsum ( tmp32 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * 2 del tmp32 t1new . bb += tmp33 del tmp33 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp39 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp39 t1new . bb += einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp40 , ( 0 , 2 , 3 ), ( 1 , 3 )) * - 1 del tmp40 t1new . bb += einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 del tmp41 t1new . bb += einsum ( tmp42 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 2 del tmp42 t1new . bb += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp24 , ( 0 , 2 ), ( 1 , 3 )) t1new . bb += einsum ( tmp22 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 2 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp45 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp45 t1new . aa = np . copy ( f . aa . ov ) t1new . aa += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 2 del tmp1 t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 del tmp2 t1new . aa += einsum ( t1 . aa , ( 0 , 1 ), f . aa . vv , ( 2 , 1 ), ( 0 , 2 )) t1new . aa += einsum ( tmp8 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * 2 del tmp8 t1new . aa += tmp10 del tmp10 t1new . aa += einsum ( t1 . aa , ( 0 , 1 ), tmp15 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp15 t1new . aa += einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 1 del tmp16 t1new . aa += einsum ( tmp17 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) * - 1 del tmp17 t1new . aa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 2 del tmp18 t1new . aa += einsum ( tmp22 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp22 t1new . aa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp24 , ( 1 , 3 ), ( 0 , 2 )) * 2 del tmp24 t1new . aa += einsum ( tmp27 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp27 return { f \"t1new\" : t1new , f \"t2new\" : t2new } ebcc . codegen . UDFCCSD . 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-17T20:41:35.618687. 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. Source code in ebcc/codegen/UDFCCSD.py 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 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-17T20:41:35.618687. 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 ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp13 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp14 = np . copy ( tmp12 ) tmp14 += tmp13 tmp4 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp68 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) tmp69 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp67 = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 1 , 2 ), ( 2 , 0 )) tmp54 = einsum ( t1 . aa , ( 0 , 1 ), l1 . aa , ( 1 , 2 ), ( 2 , 0 )) tmp56 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp55 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp7 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp9 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp8 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp111 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp14 , ( 0 ,), ( 1 , 2 )) tmp110 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp4 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp25 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp27 = einsum ( t1 . aa , ( 0 , 1 ), v . baa . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp24 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp44 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) tmp45 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp1 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp36 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp35 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp63 = einsum ( t1 . bb , ( 0 , 1 ), l2 . abab , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp70 = np . copy ( tmp67 ) tmp70 += tmp68 tmp70 += tmp69 * 2 tmp65 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp52 = einsum ( t1 . aa , ( 0 , 1 ), l2 . abab , ( 1 , 2 , 3 , 4 ), ( 3 , 0 , 4 , 2 )) tmp57 = np . copy ( tmp54 ) * 0.5 tmp57 += tmp55 tmp57 += tmp56 * 0.5 tmp50 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp213 = np . copy ( tmp7 ) tmp213 += tmp8 tmp213 += tmp9 * 2 tmp112 = np . copy ( f . bb . ov ) tmp112 += tmp110 * - 1 tmp112 += tmp111 tmp129 = np . copy ( tmp8 ) * 0.5 tmp129 += tmp9 tmp168 = np . copy ( v . bbb . xov ) tmp168 += tmp7 tmp168 += tmp8 tmp168 += tmp9 * 2 tmp166 = np . copy ( v . baa . xov ) tmp166 += tmp27 tmp166 += tmp24 * 2 tmp166 += tmp25 tmp105 = np . copy ( tmp12 ) del tmp12 tmp105 += tmp13 del tmp13 tmp125 = np . copy ( tmp44 ) tmp125 += tmp45 * 2 tmp15 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp14 , ( 0 ,), ( 1 , 2 )) tmp11 = einsum ( tmp1 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp37 = np . copy ( tmp35 ) tmp37 += tmp36 * 0.5 tmp179 = np . copy ( tmp27 ) * 0.5 tmp179 += tmp24 tmp179 += tmp25 * 0.5 tmp119 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp17 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp40 = einsum ( t1 . aa , ( 0 , 1 ), l1 . aa , ( 2 , 0 ), ( 2 , 1 )) tmp64 = einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) tmp71 = einsum ( t1 . bb , ( 0 , 1 ), tmp70 , ( 0 , 2 ), ( 2 , 1 )) tmp61 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 2 , 0 ), ( 1 , 3 )) tmp62 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) tmp66 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp65 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) tmp43 = einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp49 = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp53 = einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp58 = einsum ( tmp57 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp48 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp51 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp50 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) tmp29 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp214 = einsum ( tmp213 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) del tmp213 tmp215 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp14 , ( 0 ,), ( 1 , 2 )) tmp132 = einsum ( t1 . bb , ( 0 , 1 ), tmp112 , ( 2 , 1 ), ( 2 , 0 )) tmp130 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp129 , ( 0 , 3 , 2 ), ( 3 , 1 )) * 2 del tmp129 tmp128 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp4 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp131 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp14 , ( 0 ,), ( 1 , 2 )) tmp204 = np . copy ( v . bbb . xoo ) tmp204 += np . transpose ( tmp4 , ( 0 , 2 , 1 )) tmp89 = np . copy ( v . baa . xov ) tmp89 += tmp27 tmp89 += tmp24 * 2 tmp89 += tmp25 tmp10 = np . copy ( v . bbb . xov ) tmp10 += tmp7 tmp10 += tmp8 tmp10 += tmp9 * 2 tmp134 = einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), v . baa . xoo , ( 4 , 1 , 0 ), ( 4 , 2 , 3 )) tmp137 = einsum ( tmp4 , ( 0 , 1 , 2 ), tmp65 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * - 1 tmp202 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp168 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) tmp201 = einsum ( tmp166 , ( 0 , 1 , 2 ), l2 . abab , ( 2 , 3 , 1 , 4 ), ( 0 , 4 , 3 )) tmp136 = einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 1 ), ( 4 , 2 , 3 )) tmp135 = einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), v . bbb . xoo , ( 4 , 2 , 0 ), ( 4 , 1 , 3 )) * - 1 tmp200 = einsum ( l1 . bb , ( 0 , 1 ), v . bbb . xvv , ( 2 , 3 , 0 ), ( 2 , 1 , 3 )) tmp206 = einsum ( tmp105 , ( 0 ,), v . bbb . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp148 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp149 = einsum ( t1 . bb , ( 0 , 1 ), tmp65 , ( 2 , 3 , 4 , 1 ), ( 3 , 2 , 4 , 0 )) tmp143 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp142 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 5 ), ( 5 , 1 , 4 , 3 )) tmp197 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp125 , ( 3 , 2 ), ( 0 , 1 , 3 )) * 0.5 tmp80 = np . copy ( tmp24 ) * 2 tmp80 += tmp25 tmp16 = np . copy ( f . aa . ov ) tmp16 += tmp11 * - 1 tmp16 += tmp15 tmp99 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 5 ), ( 4 , 0 , 5 , 1 )) tmp91 = einsum ( t1 . aa , ( 0 , 1 ), tmp63 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp154 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp37 , ( 3 , 2 ), ( 0 , 1 , 3 )) * 2 tmp88 = einsum ( tmp4 , ( 0 , 1 , 2 ), tmp63 , ( 3 , 1 , 2 , 4 ), ( 0 , 3 , 4 )) tmp169 = einsum ( tmp168 , ( 0 , 1 , 2 ), l2 . abab , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) del tmp168 tmp167 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp166 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) del tmp166 tmp85 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), v . baa . xoo , ( 4 , 2 , 0 ), ( 4 , 1 , 3 )) * - 1 tmp87 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 2 ), ( 4 , 1 , 3 )) * - 1 tmp86 = einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), v . bbb . xoo , ( 4 , 2 , 1 ), ( 4 , 0 , 3 )) tmp161 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), l1 . aa , ( 2 , 3 ), ( 0 , 3 , 1 )) tmp173 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp105 , ( 0 ,), ( 1 , 2 )) tmp100 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp101 = einsum ( t1 . aa , ( 0 , 1 ), tmp50 , ( 2 , 3 , 4 , 1 ), ( 3 , 2 , 4 , 0 )) tmp180 = einsum ( tmp179 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) * 2 tmp181 = einsum ( tmp14 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp157 = np . copy ( v . baa . xoo ) tmp157 += np . transpose ( tmp1 , ( 0 , 2 , 1 )) tmp93 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp94 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp98 = np . copy ( v . bbb . xoo ) tmp98 += np . transpose ( tmp4 , ( 0 , 2 , 1 )) tmp118 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp120 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp119 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 5 , 4 )) * - 1 tmp121 = einsum ( tmp4 , ( 0 , 1 , 2 ), tmp4 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp122 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp5 = np . copy ( v . bbb . xoo ) tmp5 += tmp4 tmp2 = np . copy ( v . baa . xoo ) tmp2 += tmp1 tmp18 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 5 , 2 , 3 ), ( 0 , 4 , 1 , 5 )) tmp41 = np . copy ( tmp40 ) * 0.5 del tmp40 tmp41 += tmp35 del tmp35 tmp41 += np . transpose ( tmp36 , ( 1 , 0 )) * 0.5 del tmp36 tmp72 = np . copy ( np . transpose ( l1 . bb , ( 1 , 0 ))) * - 1 tmp72 += t1 . bb * - 1 tmp72 += tmp61 * - 1 tmp72 += tmp62 * - 2 tmp72 += tmp64 tmp72 += tmp66 * 2 tmp72 += tmp71 tmp46 = np . copy ( tmp43 ) del tmp43 tmp46 += np . transpose ( tmp44 , ( 1 , 0 )) del tmp44 tmp46 += np . transpose ( tmp45 , ( 1 , 0 )) * 2 del tmp45 tmp74 = np . copy ( tmp54 ) * 0.5 del tmp54 tmp74 += tmp55 del tmp55 tmp74 += np . transpose ( tmp56 , ( 1 , 0 )) * 0.5 del tmp56 tmp76 = np . copy ( tmp67 ) del tmp67 tmp76 += tmp68 del tmp68 tmp76 += np . transpose ( tmp69 , ( 1 , 0 )) * 2 del tmp69 tmp59 = np . copy ( np . transpose ( l1 . aa , ( 1 , 0 ))) * - 0.5 tmp59 += t1 . aa * - 0.5 tmp59 += tmp48 * - 1 tmp59 += tmp49 * - 0.5 tmp59 += tmp51 tmp59 += tmp53 * 0.5 tmp59 += tmp58 tmp19 = np . copy ( v . baa . xoo ) tmp19 += np . transpose ( tmp1 , ( 0 , 2 , 1 )) tmp30 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp29 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 5 , 4 )) * - 1 tmp32 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp1 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp28 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp31 = einsum ( tmp1 , ( 0 , 1 , 2 ), tmp1 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp115 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp216 = np . copy ( f . bb . vv ) * - 1 tmp216 += tmp214 del tmp214 tmp216 += np . transpose ( tmp215 , ( 1 , 0 )) * - 1 del tmp215 tmp224 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp133 = np . copy ( f . bb . oo ) tmp133 += tmp128 * - 1 del tmp128 tmp133 += tmp130 del tmp130 tmp133 += np . transpose ( tmp131 , ( 1 , 0 )) del tmp131 tmp133 += np . transpose ( tmp132 , ( 1 , 0 )) del tmp132 tmp235 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp205 = einsum ( tmp204 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp138 = einsum ( tmp89 , ( 0 , 1 , 2 ), l2 . abab , ( 2 , 3 , 1 , 4 ), ( 0 , 4 , 3 )) tmp139 = einsum ( tmp10 , ( 0 , 1 , 2 ), l2 . bbbb , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) * 2 tmp203 = np . copy ( tmp200 ) tmp203 += tmp134 * - 1 tmp203 += tmp135 * - 2 tmp203 += tmp136 * - 1 tmp203 += tmp137 * - 2 tmp203 += tmp201 del tmp201 tmp203 += tmp202 * 2 del tmp202 tmp221 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp70 , ( 3 , 1 ), ( 0 , 3 , 2 )) tmp223 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp4 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp227 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp204 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp217 = np . copy ( f . bb . ov ) tmp217 += tmp110 * - 1 tmp217 += tmp206 tmp150 = np . copy ( np . transpose ( tmp148 , ( 1 , 0 , 3 , 2 ))) del tmp148 tmp150 += np . transpose ( tmp149 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp149 tmp245 = np . copy ( tmp142 ) tmp245 += tmp143 * 4 tmp198 = np . copy ( v . bbb . xov ) * 0.5 tmp198 += tmp197 * - 1 tmp81 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp80 , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp79 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp1 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp82 = einsum ( tmp14 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp83 = einsum ( tmp16 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp147 = np . copy ( tmp99 ) tmp147 += tmp91 tmp209 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp155 = np . copy ( v . baa . xov ) tmp155 += tmp154 * - 1 tmp191 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp170 = np . copy ( tmp161 ) tmp170 += tmp85 * - 2 tmp170 += tmp86 * - 1 tmp170 += tmp87 * - 2 tmp170 += tmp88 * - 1 tmp170 += tmp167 * 2 del tmp167 tmp170 += tmp169 del tmp169 tmp184 = np . copy ( f . aa . ov ) tmp184 += tmp11 * - 1 tmp184 += tmp173 tmp102 = np . copy ( np . transpose ( tmp100 , ( 1 , 0 , 3 , 2 ))) del tmp100 tmp102 += np . transpose ( tmp101 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp101 tmp182 = np . copy ( f . aa . vv ) * - 1 tmp182 += tmp180 del tmp180 tmp182 += np . transpose ( tmp181 , ( 1 , 0 )) * - 1 del tmp181 tmp189 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp1 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp195 = einsum ( tmp57 , ( 0 , 1 ), v . baa . xov , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) * 2 tmp158 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp157 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp193 = np . copy ( tmp93 ) * 4 tmp193 += tmp94 tmp38 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp37 , ( 3 , 2 ), ( 0 , 1 , 3 )) del tmp37 tmp164 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp157 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp176 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp22 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp126 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp125 , ( 3 , 2 ), ( 0 , 1 , 3 )) del tmp125 tmp145 = einsum ( l1 . bb , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) * - 1 tmp145 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp63 , ( 0 , 4 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) * 0.5 tmp145 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp65 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 2 tmp144 = np . copy ( tmp142 ) del tmp142 tmp144 += np . transpose ( tmp143 , ( 0 , 1 , 3 , 2 )) * 4 del tmp143 tmp141 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 0 , 5 ), ( 5 , 1 , 4 , 2 )) tmp146 = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 1 , 3 , 4 )) tmp146 += einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) * - 1 tmp151 = np . copy ( t1 . bb ) * - 1 tmp151 += tmp61 * - 1 del tmp61 tmp151 += tmp62 * - 2 del tmp62 tmp151 += tmp64 del tmp64 tmp151 += tmp66 * 2 del tmp66 tmp151 += tmp71 del tmp71 tmp116 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp98 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp123 = np . copy ( np . transpose ( tmp118 , ( 3 , 2 , 1 , 0 ))) tmp123 += np . transpose ( tmp120 , ( 2 , 3 , 1 , 0 )) tmp123 += np . transpose ( tmp121 , ( 2 , 3 , 1 , 0 )) tmp123 += np . transpose ( tmp122 , ( 1 , 3 , 0 , 2 )) tmp123 += np . transpose ( tmp122 , ( 3 , 2 , 0 , 1 )) * - 1 tmp117 = np . copy ( v . bbb . xov ) tmp117 += tmp8 del tmp8 tmp117 += tmp9 * 2 del tmp9 tmp109 = einsum ( tmp5 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) tmp108 = einsum ( tmp2 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) tmp107 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp113 = np . copy ( np . transpose ( tmp18 , ( 1 , 0 , 2 , 3 ))) tmp113 += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp98 , ( 0 , 3 , 4 ), ( 2 , 1 , 4 , 3 )) tmp42 = einsum ( tmp41 , ( 0 , 1 ), v . baa . xvv , ( 2 , 1 , 0 ), ( 2 ,)) * 2 del tmp41 tmp73 = einsum ( tmp72 , ( 0 , 1 ), v . bbb . xov , ( 2 , 0 , 1 ), ( 2 ,)) del tmp72 tmp47 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp46 , ( 2 , 1 ), ( 0 ,)) del tmp46 tmp75 = einsum ( tmp74 , ( 0 , 1 ), v . baa . xoo , ( 2 , 1 , 0 ), ( 2 ,)) * 2 del tmp74 tmp77 = einsum ( tmp76 , ( 0 , 1 ), v . bbb . xoo , ( 2 , 1 , 0 ), ( 2 ,)) del tmp76 tmp60 = einsum ( tmp59 , ( 0 , 1 ), v . baa . xov , ( 2 , 0 , 1 ), ( 2 ,)) * 2 del tmp59 tmp3 = einsum ( tmp2 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) tmp0 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp20 = np . copy ( np . transpose ( tmp18 , ( 0 , 1 , 3 , 2 ))) tmp20 += einsum ( tmp5 , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 4 , 3 , 2 , 1 )) tmp6 = einsum ( tmp5 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 2 , 1 , 4 )) tmp33 = np . copy ( np . transpose ( tmp28 , ( 3 , 2 , 1 , 0 ))) tmp33 += np . transpose ( tmp30 , ( 2 , 3 , 1 , 0 )) tmp33 += np . transpose ( tmp31 , ( 2 , 3 , 1 , 0 )) tmp33 += np . transpose ( tmp32 , ( 1 , 3 , 0 , 2 )) tmp33 += np . transpose ( tmp32 , ( 3 , 2 , 0 , 1 )) * - 1 tmp23 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp26 = np . copy ( v . baa . xov ) tmp26 += tmp24 * 2 del tmp24 tmp26 += tmp25 del tmp25 tmp103 = np . copy ( t1 . aa ) * - 0.5 tmp103 += tmp48 * - 1 del tmp48 tmp103 += tmp49 * - 0.5 del tmp49 tmp103 += tmp51 del tmp51 tmp103 += tmp53 * 0.5 del tmp53 tmp103 += tmp58 del tmp58 tmp95 = np . copy ( tmp93 ) del tmp93 tmp95 += np . transpose ( tmp94 , ( 0 , 1 , 3 , 2 )) * 0.25 del tmp94 tmp97 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 2 , 4 ), ( 4 , 0 , 1 , 3 )) tmp97 += einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 tmp92 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 5 ), ( 2 , 4 , 1 , 5 )) tmp96 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) * - 1 tmp96 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp50 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 2 tmp96 += einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) * 0.5 tmp237 = einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), tmp115 , ( 2 , 4 , 3 , 5 ), ( 1 , 0 , 5 , 4 )) tmp229 = einsum ( tmp98 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) tmp239 = einsum ( tmp216 , ( 0 , 1 ), l2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) * - 1 tmp243 = einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), tmp224 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 tmp241 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp122 , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) del tmp122 tmp231 = einsum ( tmp133 , ( 0 , 1 ), l2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 1 , 4 , 2 , 3 )) * - 2 tmp236 = einsum ( tmp235 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 3 , 2 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) del tmp235 tmp233 = einsum ( tmp205 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 2 , 5 , 1 ), ( 0 , 5 , 3 , 4 )) tmp230 = np . copy ( tmp200 ) del tmp200 tmp230 += tmp134 * - 1 tmp230 += tmp135 * - 2 tmp230 += tmp136 * - 1 tmp230 += tmp137 * - 2 tmp230 += tmp138 tmp230 += tmp139 tmp234 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp203 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp247 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp221 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp244 = einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), tmp223 , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 3 , 5 )) tmp242 = np . copy ( np . transpose ( tmp118 , ( 3 , 2 , 1 , 0 ))) del tmp118 tmp242 += np . transpose ( tmp120 , ( 0 , 3 , 1 , 2 )) del tmp120 tmp242 += np . transpose ( tmp121 , ( 0 , 3 , 1 , 2 )) del tmp121 tmp228 = einsum ( l1 . bb , ( 0 , 1 ), tmp227 , ( 2 , 1 , 3 , 4 ), ( 3 , 2 , 4 , 0 )) tmp240 = einsum ( tmp217 , ( 0 , 1 ), tmp65 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp238 = einsum ( tmp119 , ( 0 , 1 , 2 , 3 ), tmp150 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) * 0.5 tmp246 = einsum ( tmp119 , ( 0 , 1 , 2 , 3 ), tmp245 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp245 tmp207 = np . copy ( f . bb . ov ) tmp207 += tmp206 del tmp206 tmp226 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp198 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) * 2 tmp232 = np . copy ( f . bb . ov ) tmp232 += tmp111 del tmp111 tmp219 = np . copy ( tmp18 ) del tmp18 tmp219 += einsum ( tmp98 , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 4 , 3 , 2 , 1 )) tmp225 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) tmp225 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp222 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 3 , 4 , 1 , 5 ), ( 0 , 5 , 2 , 4 )) tmp222 += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) tmp174 = np . copy ( f . aa . ov ) tmp174 += tmp173 del tmp173 tmp84 = np . copy ( f . aa . oo ) tmp84 += tmp79 * - 1 tmp84 += np . transpose ( tmp81 , ( 1 , 0 )) del tmp81 tmp84 += np . transpose ( tmp82 , ( 1 , 0 )) del tmp82 tmp84 += tmp83 del tmp83 tmp218 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp157 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp212 = np . copy ( f . aa . vv ) * - 0.5 tmp212 += einsum ( tmp179 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) del tmp179 tmp212 += einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp14 , ( 0 ,), ( 1 , 2 )) * - 0.5 tmp199 = einsum ( tmp98 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp211 = einsum ( tmp147 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) * 0.5 tmp210 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp209 , ( 4 , 0 , 1 , 5 ), ( 2 , 3 , 4 , 5 )) del tmp209 tmp208 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp204 , ( 0 , 3 , 4 ), ( 4 , 3 , 1 , 2 )) del tmp204 tmp220 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp157 , ( 0 , 3 , 4 ), ( 4 , 3 , 1 , 2 )) del tmp157 tmp156 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp155 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) del tmp155 tmp187 = np . copy ( np . transpose ( tmp28 , ( 3 , 2 , 1 , 0 ))) del tmp28 tmp187 += np . transpose ( tmp30 , ( 0 , 3 , 1 , 2 )) del tmp30 tmp187 += np . transpose ( tmp31 , ( 0 , 3 , 1 , 2 )) del tmp31 tmp192 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), tmp191 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 tmp171 = einsum ( tmp170 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp185 = einsum ( tmp184 , ( 0 , 1 ), tmp50 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp178 = einsum ( tmp102 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) * 0.5 tmp160 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 4 , 3 , 1 , 2 )) del tmp19 tmp172 = np . copy ( f . aa . oo ) * 0.5 tmp172 += tmp79 * - 0.5 del tmp79 tmp172 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp80 , ( 0 , 3 , 2 ), ( 3 , 1 )) * 0.5 del tmp80 tmp172 += einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp14 , ( 0 ,), ( 1 , 2 )) * 0.5 del tmp14 tmp172 += einsum ( tmp16 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) * 0.5 tmp183 = einsum ( tmp182 , ( 0 , 1 ), l2 . aaaa , ( 2 , 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) * - 1 del tmp182 tmp190 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), tmp189 , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 3 , 5 )) tmp162 = np . copy ( tmp161 ) del tmp161 tmp162 += tmp85 * - 2 tmp162 += tmp86 * - 1 tmp162 += tmp87 * - 2 tmp162 += tmp88 * - 1 tmp162 += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp89 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) * 2 tmp162 += einsum ( tmp10 , ( 0 , 1 , 2 ), l2 . abab , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) tmp186 = einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) del tmp32 tmp196 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp195 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp159 = einsum ( tmp158 , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp194 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), tmp193 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp193 tmp163 = np . copy ( f . aa . ov ) tmp163 += tmp15 del tmp15 tmp188 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp38 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) * - 2 tmp165 = einsum ( tmp164 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 2 , 5 , 1 ), ( 0 , 5 , 3 , 4 )) tmp177 = einsum ( tmp176 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 3 , 2 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) del tmp176 tmp175 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), tmp22 , ( 2 , 4 , 3 , 5 ), ( 1 , 0 , 5 , 4 )) tmp127 = np . copy ( tmp126 ) tmp127 += einsum ( tmp5 , ( 0 , 1 , 2 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 , 3 )) tmp152 = einsum ( tmp7 , ( 0 , 1 , 2 ), l1 . bb , ( 2 , 3 ), ( 0 , 1 , 3 )) tmp152 += einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp141 , ( 3 , 4 , 1 , 2 ), ( 0 , 4 , 3 )) tmp152 += einsum ( tmp144 , ( 0 , 1 , 2 , 3 ), v . bbb . xvv , ( 4 , 2 , 3 ), ( 4 , 1 , 0 )) del tmp144 tmp152 += einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), tmp89 , ( 4 , 0 , 3 ), ( 4 , 2 , 1 )) tmp152 += einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 0 , 3 ), ( 4 , 2 , 1 )) * 2 del tmp65 tmp152 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp145 , ( 3 , 1 , 4 , 2 ), ( 0 , 4 , 3 )) * - 2 del tmp145 tmp152 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp146 , ( 1 , 3 , 4 , 2 ), ( 0 , 4 , 3 )) del tmp146 tmp152 += einsum ( tmp1 , ( 0 , 1 , 2 ), tmp147 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 , 3 )) * - 1 tmp152 += einsum ( tmp147 , ( 0 , 1 , 2 , 3 ), v . baa . xoo , ( 4 , 0 , 1 ), ( 4 , 3 , 2 )) * - 1 del tmp147 tmp152 += einsum ( tmp150 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 0 , 2 ), ( 4 , 3 , 1 )) * - 2 tmp152 += einsum ( tmp150 , ( 0 , 1 , 2 , 3 ), v . bbb . xoo , ( 4 , 0 , 2 ), ( 4 , 3 , 1 )) * - 2 del tmp150 tmp152 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp151 , ( 3 , 2 ), ( 0 , 3 , 1 )) * - 1 del tmp151 tmp152 += einsum ( tmp70 , ( 0 , 1 ), v . bbb . xoo , ( 2 , 3 , 0 ), ( 2 , 1 , 3 )) * - 1 tmp140 = np . copy ( tmp134 ) * - 1 del tmp134 tmp140 += tmp135 * - 2 del tmp135 tmp140 += tmp136 * - 1 del tmp136 tmp140 += tmp137 * - 2 del tmp137 tmp140 += tmp138 del tmp138 tmp140 += tmp139 del tmp139 tmp124 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp115 , ( 4 , 5 , 2 , 3 ), ( 4 , 0 , 1 , 5 )) * 0.5 del tmp115 tmp124 += einsum ( tmp116 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 3 ), ( 2 , 4 , 1 , 5 )) * - 1 tmp124 += einsum ( tmp5 , ( 0 , 1 , 2 ), tmp117 , ( 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * 0.5 del tmp117 tmp124 += einsum ( tmp112 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) * 0.5 tmp124 += einsum ( tmp5 , ( 0 , 1 , 2 ), tmp7 , ( 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 0.5 del tmp7 tmp124 += einsum ( tmp123 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) * - 0.5 del tmp123 tmp153 = np . copy ( f . bb . vv ) tmp153 += einsum ( tmp105 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp114 = einsum ( tmp107 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp114 += einsum ( tmp108 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) * - 1 del tmp108 tmp114 += einsum ( tmp109 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 2 , 1 , 5 )) * - 1 del tmp109 tmp114 += einsum ( tmp5 , ( 0 , 1 , 2 ), tmp89 , ( 0 , 3 , 4 ), ( 3 , 2 , 1 , 4 )) del tmp5 tmp114 += einsum ( tmp112 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp114 += einsum ( t1 . aa , ( 0 , 1 ), tmp113 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 1 del tmp113 tmp78 = np . copy ( tmp42 ) del tmp42 tmp78 += tmp47 del tmp47 tmp78 += tmp60 * - 1 del tmp60 tmp78 += tmp73 * - 1 del tmp73 tmp78 += tmp75 * - 1 del tmp75 tmp78 += tmp77 * - 1 del tmp77 tmp21 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp21 += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 3 , 5 ), ( 2 , 1 , 4 , 5 )) * - 1 del tmp3 tmp21 += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 del tmp6 tmp21 += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp10 , ( 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) tmp21 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp21 += einsum ( t1 . bb , ( 0 , 1 ), tmp20 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 del tmp20 tmp39 = np . copy ( tmp38 ) del tmp38 tmp39 += einsum ( tmp2 , ( 0 , 1 , 2 ), l1 . aa , ( 3 , 1 ), ( 0 , 2 , 3 )) * 0.5 tmp90 = np . copy ( tmp85 ) * - 0.5 del tmp85 tmp90 += tmp86 * - 0.25 del tmp86 tmp90 += tmp87 * - 0.5 del tmp87 tmp90 += tmp88 * - 0.25 del tmp88 tmp90 += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp89 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) * 0.5 tmp90 += einsum ( tmp10 , ( 0 , 1 , 2 ), l2 . abab , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) * 0.25 tmp34 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp22 , ( 4 , 5 , 2 , 3 ), ( 4 , 0 , 1 , 5 )) del tmp22 tmp34 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp23 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 2 tmp34 += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp26 , ( 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp26 tmp34 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp34 += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 del tmp2 tmp34 += einsum ( t1 . aa , ( 0 , 1 ), tmp33 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 1 del tmp33 tmp106 = np . copy ( f . aa . vv ) tmp106 += einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp105 , ( 0 ,), ( 1 , 2 )) del tmp105 tmp104 = einsum ( tmp27 , ( 0 , 1 , 2 ), l1 . aa , ( 2 , 3 ), ( 0 , 1 , 3 )) * 0.25 del tmp27 tmp104 += einsum ( tmp91 , ( 0 , 1 , 2 , 3 ), v . bbb . xoo , ( 4 , 3 , 2 ), ( 4 , 1 , 0 )) * - 0.25 tmp104 += einsum ( tmp92 , ( 0 , 1 , 2 , 3 ), v . bbb . xvv , ( 4 , 3 , 2 ), ( 4 , 1 , 0 )) * 0.25 tmp104 += einsum ( tmp4 , ( 0 , 1 , 2 ), tmp91 , ( 3 , 4 , 1 , 2 ), ( 0 , 4 , 3 )) * - 0.25 del tmp4 , tmp91 tmp104 += einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp95 , ( 3 , 4 , 1 , 2 ), ( 0 , 4 , 3 )) del tmp95 tmp104 += einsum ( tmp89 , ( 0 , 1 , 2 ), tmp50 , ( 1 , 3 , 4 , 2 ), ( 0 , 4 , 3 )) * 0.5 del tmp50 , tmp89 tmp104 += einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 2 , 3 ), ( 4 , 1 , 0 )) * 0.25 del tmp10 tmp104 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp96 , ( 3 , 1 , 4 , 2 ), ( 0 , 4 , 3 )) * - 0.5 del tmp96 tmp104 += einsum ( tmp97 , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 2 , 3 ), ( 4 , 1 , 0 )) * 0.25 del tmp97 tmp104 += einsum ( tmp98 , ( 0 , 1 , 2 ), tmp99 , ( 3 , 4 , 2 , 1 ), ( 0 , 4 , 3 )) * - 0.25 del tmp99 , tmp98 tmp104 += einsum ( tmp1 , ( 0 , 1 , 2 ), tmp102 , ( 1 , 3 , 2 , 4 ), ( 0 , 4 , 3 )) * - 0.5 del tmp1 tmp104 += einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp102 , ( 1 , 3 , 2 , 4 ), ( 0 , 4 , 3 )) * - 0.5 del tmp102 tmp104 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp103 , ( 3 , 2 ), ( 0 , 3 , 1 )) * - 0.5 del tmp103 tmp104 += einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp57 , ( 2 , 3 ), ( 0 , 3 , 1 )) * - 0.5 l2new . bbbb = np . copy ( np . transpose ( tmp226 , ( 3 , 2 , 1 , 0 ))) l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp116 , ( 2 , 1 , 3 , 4 ), ( 4 , 0 , 3 , 2 )) * - 1 del tmp116 l2new . bbbb += np . transpose ( tmp226 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp226 l2new . bbbb += np . transpose ( tmp228 , ( 3 , 2 , 0 , 1 )) l2new . bbbb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp229 , ( 3 , 4 , 5 , 1 ), ( 5 , 0 , 2 , 4 )) * 2 del tmp229 l2new . bbbb += einsum ( tmp230 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 4 , 2 , 1 , 3 )) * - 1 del tmp230 l2new . bbbb += np . transpose ( tmp231 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp232 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * - 1 del tmp232 l2new . bbbb += np . transpose ( tmp233 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp234 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp231 , ( 3 , 2 , 0 , 1 )) del tmp231 l2new . bbbb += einsum ( tmp207 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) l2new . bbbb += np . transpose ( tmp233 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . bbbb += np . transpose ( tmp234 , ( 2 , 3 , 0 , 1 )) l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp207 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) l2new . bbbb += np . transpose ( tmp233 , ( 3 , 2 , 0 , 1 )) * 2 del tmp233 l2new . bbbb += np . transpose ( tmp234 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp234 l2new . bbbb += einsum ( tmp207 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * - 1 l2new . bbbb += np . transpose ( tmp236 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp236 l2new . bbbb += np . transpose ( tmp237 , ( 2 , 3 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp238 , ( 3 , 2 , 1 , 0 )) * 4 del tmp238 l2new . bbbb += np . transpose ( tmp239 , ( 2 , 3 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp240 , ( 2 , 3 , 1 , 0 )) * - 2 l2new . bbbb += np . transpose ( tmp237 , ( 3 , 2 , 1 , 0 )) * - 2 del tmp237 l2new . bbbb += np . transpose ( tmp239 , ( 3 , 2 , 1 , 0 )) * - 2 del tmp239 l2new . bbbb += np . transpose ( tmp240 , ( 3 , 2 , 1 , 0 )) * 2 del tmp240 l2new . bbbb += np . transpose ( tmp241 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp241 , ( 2 , 3 , 1 , 0 )) * 2 del tmp241 l2new . bbbb += einsum ( tmp242 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) * - 2 del tmp242 l2new . bbbb += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp126 , ( 0 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) del tmp126 l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp227 , ( 2 , 1 , 3 , 4 ), ( 4 , 0 , 2 , 3 )) del tmp227 l2new . bbbb += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp197 , ( 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) * - 2 del tmp197 l2new . bbbb += np . transpose ( tmp228 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp228 l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp110 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) l2new . bbbb += np . transpose ( tmp243 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp244 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp246 , ( 3 , 2 , 0 , 1 )) l2new . bbbb += np . transpose ( tmp247 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp110 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 l2new . bbbb += np . transpose ( tmp243 , ( 2 , 3 , 0 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp244 , ( 2 , 3 , 0 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp246 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp247 , ( 3 , 2 , 0 , 1 )) l2new . bbbb += einsum ( tmp110 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 l2new . bbbb += np . transpose ( tmp243 , ( 3 , 2 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp244 , ( 3 , 2 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp246 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp247 , ( 2 , 3 , 1 , 0 )) l2new . bbbb += einsum ( tmp110 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) l2new . bbbb += np . transpose ( tmp243 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp243 l2new . bbbb += np . transpose ( tmp244 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp244 l2new . bbbb += np . transpose ( tmp246 , ( 2 , 3 , 1 , 0 )) del tmp246 l2new . bbbb += np . transpose ( tmp247 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp247 l2new . abab = einsum ( tmp198 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) * 2 del tmp198 l2new . abab += einsum ( tmp199 , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 2 ), ( 3 , 4 , 0 , 1 )) * - 1 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp164 , ( 4 , 2 , 5 , 0 ), ( 5 , 1 , 4 , 3 )) * - 1 del tmp164 l2new . abab += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp203 , ( 0 , 3 , 4 ), ( 2 , 4 , 1 , 3 )) del tmp203 l2new . abab += einsum ( tmp84 , ( 0 , 1 ), l2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 l2new . abab += einsum ( l1 . bb , ( 0 , 1 ), tmp174 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) l2new . abab += einsum ( tmp205 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) * - 1 del tmp205 l2new . abab += einsum ( tmp170 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 2 , 4 , 1 , 3 )) del tmp170 l2new . abab += einsum ( l1 . aa , ( 0 , 1 ), tmp207 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) del tmp207 l2new . abab += einsum ( tmp208 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 5 , 0 ), ( 3 , 4 , 5 , 1 )) * - 1 del tmp208 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp133 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 1 l2new . abab += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), tmp52 , ( 4 , 0 , 5 , 2 ), ( 1 , 3 , 4 , 5 )) * - 1 del tmp0 l2new . abab += np . transpose ( tmp210 , ( 2 , 3 , 0 , 1 )) del tmp210 l2new . abab += np . transpose ( tmp211 , ( 2 , 3 , 0 , 1 )) * 2 del tmp211 l2new . abab += einsum ( tmp212 , ( 0 , 1 ), l2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 2 del tmp212 l2new . abab += einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), tmp184 , ( 1 , 4 ), ( 4 , 3 , 0 , 2 )) * - 1 del tmp184 l2new . abab += einsum ( tmp107 , ( 0 , 1 , 2 , 3 ), tmp63 , ( 4 , 5 , 0 , 2 ), ( 1 , 3 , 4 , 5 )) * - 1 del tmp107 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp216 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp216 l2new . abab += einsum ( tmp217 , ( 0 , 1 ), tmp63 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 , 2 , 3 )) * - 1 del tmp217 l2new . abab += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp154 , ( 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) * - 1 del tmp154 l2new . abab += einsum ( tmp218 , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 4 , 1 ), ( 4 , 3 , 0 , 2 )) * - 1 l2new . abab += einsum ( tmp219 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) del tmp219 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp220 , ( 2 , 4 , 1 , 5 ), ( 0 , 5 , 4 , 3 )) * - 1 del tmp220 l2new . abab += einsum ( tmp92 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 4 , 5 , 3 ), ( 5 , 2 , 0 , 4 )) del tmp92 l2new . abab += einsum ( tmp199 , ( 0 , 1 , 2 , 3 ), tmp52 , ( 4 , 0 , 2 , 5 ), ( 3 , 5 , 4 , 1 )) del tmp199 l2new . abab += einsum ( tmp195 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 2 , 4 , 1 , 3 )) * - 1 del tmp195 l2new . abab += einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), tmp141 , ( 4 , 1 , 5 , 2 ), ( 5 , 3 , 0 , 4 )) del tmp17 , tmp141 l2new . abab += einsum ( tmp218 , ( 0 , 1 , 2 , 3 ), tmp63 , ( 1 , 4 , 2 , 5 ), ( 5 , 3 , 0 , 4 )) del tmp218 l2new . abab += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp221 , ( 0 , 3 , 4 ), ( 2 , 4 , 1 , 3 )) * - 1 del tmp221 l2new . abab += einsum ( l1 . bb , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 l2new . abab += einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), tmp191 , ( 4 , 0 , 1 , 5 ), ( 5 , 3 , 4 , 2 )) del tmp191 l2new . abab += einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), tmp189 , ( 0 , 1 , 4 , 5 ), ( 5 , 3 , 4 , 2 )) del tmp52 , tmp189 l2new . abab += einsum ( tmp222 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 0 , 4 , 5 , 2 ), ( 5 , 3 , 4 , 1 )) * - 2 del tmp29 , tmp222 l2new . abab += einsum ( tmp110 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 del tmp110 l2new . abab += einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), tmp223 , ( 1 , 2 , 4 , 5 ), ( 3 , 5 , 0 , 4 )) del tmp223 l2new . abab += einsum ( tmp224 , ( 0 , 1 , 2 , 3 ), tmp63 , ( 4 , 1 , 2 , 5 ), ( 5 , 3 , 4 , 0 )) del tmp63 , tmp224 l2new . abab += einsum ( tmp225 , ( 0 , 1 , 2 , 3 ), tmp119 , ( 1 , 4 , 5 , 3 ), ( 2 , 5 , 0 , 4 )) * - 2 del tmp119 , tmp225 l2new . aaaa = np . copy ( np . transpose ( tmp156 , ( 3 , 2 , 1 , 0 ))) l2new . aaaa += einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 4 , 2 ), ( 3 , 4 , 0 , 1 )) * - 1 del tmp23 l2new . aaaa += np . transpose ( tmp156 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp156 l2new . aaaa += np . transpose ( tmp159 , ( 3 , 2 , 0 , 1 )) l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp160 , ( 3 , 4 , 5 , 1 ), ( 5 , 0 , 2 , 4 )) * 2 del tmp160 l2new . aaaa += einsum ( tmp162 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 4 , 2 , 1 , 3 )) * - 1 del tmp162 l2new . aaaa += einsum ( tmp84 , ( 0 , 1 ), l2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 l2new . aaaa += einsum ( tmp163 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * - 1 del tmp163 l2new . aaaa += np . transpose ( tmp165 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp171 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += einsum ( tmp172 , ( 0 , 1 ), l2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * 4 del tmp172 l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp174 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) l2new . aaaa += np . transpose ( tmp165 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . aaaa += np . transpose ( tmp171 , ( 2 , 3 , 0 , 1 )) l2new . aaaa += einsum ( tmp174 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) l2new . aaaa += np . transpose ( tmp165 , ( 3 , 2 , 0 , 1 )) * 2 del tmp165 l2new . aaaa += np . transpose ( tmp171 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp171 l2new . aaaa += einsum ( tmp174 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * - 1 del tmp174 l2new . aaaa += np . transpose ( tmp175 , ( 2 , 3 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp177 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp177 l2new . aaaa += np . transpose ( tmp178 , ( 3 , 2 , 1 , 0 )) * 4 del tmp178 l2new . aaaa += np . transpose ( tmp183 , ( 2 , 3 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp185 , ( 2 , 3 , 1 , 0 )) * - 2 l2new . aaaa += np . transpose ( tmp175 , ( 3 , 2 , 1 , 0 )) * - 2 del tmp175 l2new . aaaa += np . transpose ( tmp183 , ( 3 , 2 , 1 , 0 )) * - 2 del tmp183 l2new . aaaa += np . transpose ( tmp185 , ( 3 , 2 , 1 , 0 )) * 2 del tmp185 l2new . aaaa += np . transpose ( tmp186 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp186 , ( 2 , 3 , 1 , 0 )) * 2 del tmp186 l2new . aaaa += einsum ( tmp187 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) * - 2 del tmp187 l2new . aaaa += np . transpose ( tmp188 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . aaaa += einsum ( tmp158 , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 4 , 1 ), ( 3 , 4 , 0 , 2 )) del tmp158 l2new . aaaa += np . transpose ( tmp188 , ( 2 , 3 , 0 , 1 )) del tmp188 l2new . aaaa += np . transpose ( tmp159 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp159 l2new . aaaa += einsum ( tmp11 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) l2new . aaaa += np . transpose ( tmp190 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp192 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp194 , ( 3 , 2 , 0 , 1 )) l2new . aaaa += np . transpose ( tmp196 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 l2new . aaaa += np . transpose ( tmp190 , ( 2 , 3 , 0 , 1 )) * 2 l2new . aaaa += np . transpose ( tmp192 , ( 2 , 3 , 0 , 1 )) * 2 l2new . aaaa += np . transpose ( tmp194 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp196 , ( 3 , 2 , 0 , 1 )) l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp190 , ( 3 , 2 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp192 , ( 3 , 2 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp194 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp196 , ( 2 , 3 , 1 , 0 )) l2new . aaaa += einsum ( tmp11 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) del tmp11 l2new . aaaa += np . transpose ( tmp190 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp190 l2new . aaaa += np . transpose ( tmp192 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp192 l2new . aaaa += np . transpose ( tmp194 , ( 2 , 3 , 1 , 0 )) del tmp194 l2new . aaaa += np . transpose ( tmp196 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp196 l1new . bb = np . copy ( np . transpose ( f . bb . ov , ( 1 , 0 ))) l1new . bb += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp114 , ( 2 , 4 , 3 , 0 ), ( 1 , 4 )) * - 1 del tmp114 l1new . bb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp124 , ( 4 , 2 , 3 , 1 ), ( 0 , 4 )) * 4 del tmp124 l1new . bb += einsum ( tmp127 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 del tmp127 l1new . bb += einsum ( tmp78 , ( 0 ,), v . bbb . xov , ( 0 , 1 , 2 ), ( 2 , 1 )) l1new . bb += einsum ( tmp133 , ( 0 , 1 ), l1 . bb , ( 2 , 0 ), ( 2 , 1 )) * - 1 del tmp133 l1new . bb += einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp140 , ( 0 , 3 , 2 ), ( 1 , 3 )) del tmp140 l1new . bb += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp152 , ( 0 , 1 , 3 ), ( 2 , 3 )) * - 1 del tmp152 l1new . bb += einsum ( tmp70 , ( 0 , 1 ), tmp112 , ( 1 , 2 ), ( 2 , 0 )) * - 1 del tmp70 , tmp112 l1new . bb += einsum ( l1 . bb , ( 0 , 1 ), tmp153 , ( 0 , 2 ), ( 2 , 1 )) del tmp153 l1new . aa = np . copy ( np . transpose ( f . aa . ov , ( 1 , 0 ))) l1new . aa += einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 1 , 2 ), ( 4 , 0 )) * - 1 del tmp21 l1new . aa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp34 , ( 4 , 2 , 3 , 1 ), ( 0 , 4 )) * 2 del tmp34 l1new . aa += einsum ( tmp39 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 2 del tmp39 l1new . aa += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp78 , ( 0 ,), ( 2 , 1 )) del tmp78 l1new . aa += einsum ( tmp84 , ( 0 , 1 ), l1 . aa , ( 2 , 0 ), ( 2 , 1 )) * - 1 del tmp84 l1new . aa += einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp90 , ( 0 , 3 , 2 ), ( 1 , 3 )) * 4 del tmp90 l1new . aa += einsum ( tmp104 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) * - 4 del tmp104 l1new . aa += einsum ( tmp57 , ( 0 , 1 ), tmp16 , ( 1 , 2 ), ( 2 , 0 )) * - 2 del tmp57 , tmp16 l1new . aa += einsum ( tmp106 , ( 0 , 1 ), l1 . aa , ( 0 , 2 ), ( 1 , 2 )) del tmp106 return { f \"l1new\" : l1new , f \"l2new\" : l2new } ebcc . codegen . UDFCCSD . make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:41:37.692683. 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. Source code in ebcc/codegen/UDFCCSD.py 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 def make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:41:37.692683. 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 )) tmp3 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp4 = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 1 , 2 ), ( 2 , 0 )) tmp2 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp0 = einsum ( t1 . aa , ( 0 , 1 ), l1 . aa , ( 1 , 2 ), ( 2 , 0 )) tmp1 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp9 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp11 = np . copy ( tmp4 ) tmp11 += tmp5 tmp11 += tmp3 * 2 tmp10 = einsum ( t1 . bb , ( 0 , 1 ), l2 . abab , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp8 = np . copy ( tmp0 ) * 0.5 tmp8 += tmp1 tmp8 += tmp2 * 0.5 tmp7 = einsum ( t1 . aa , ( 0 , 1 ), l2 . abab , ( 1 , 2 , 3 , 4 ), ( 3 , 0 , 4 , 2 )) tmp6 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) rdm1 . bb . vv = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) rdm1 . bb . vv += einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) rdm1 . bb . vv += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) * 2 rdm1 . aa . vv = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) rdm1 . aa . vv += einsum ( t1 . aa , ( 0 , 1 ), l1 . aa , ( 2 , 0 ), ( 2 , 1 )) rdm1 . aa . vv += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * 2 rdm1 . bb . vo = np . copy ( l1 . bb ) rdm1 . aa . vo = np . copy ( l1 . aa ) rdm1 . bb . ov = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 2 , 0 ), ( 1 , 3 )) rdm1 . bb . ov += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) * 2 rdm1 . bb . ov += t1 . bb rdm1 . bb . ov += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp9 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) * - 2 del tmp9 rdm1 . bb . ov += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) * - 1 del tmp10 rdm1 . bb . ov += einsum ( t1 . bb , ( 0 , 1 ), tmp11 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp11 rdm1 . aa . ov = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) rdm1 . aa . ov += einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) * 2 rdm1 . aa . ov += t1 . aa rdm1 . aa . ov += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) * - 2 del tmp6 rdm1 . aa . ov += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) * - 1 del tmp7 rdm1 . aa . ov += einsum ( tmp8 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * - 2 del tmp8 rdm1 . bb . oo = np . copy ( np . transpose ( tmp3 , ( 1 , 0 ))) * - 2 del tmp3 rdm1 . bb . oo += delta . bb . oo rdm1 . bb . oo += np . transpose ( tmp4 , ( 1 , 0 )) * - 1 del tmp4 rdm1 . bb . oo += np . transpose ( tmp5 , ( 1 , 0 )) * - 1 del tmp5 rdm1 . aa . oo = np . copy ( np . transpose ( tmp0 , ( 1 , 0 ))) * - 1 del tmp0 rdm1 . aa . oo += delta . aa . oo del delta rdm1 . aa . oo += np . transpose ( tmp1 , ( 1 , 0 )) * - 2 del tmp1 rdm1 . aa . oo += np . transpose ( tmp2 , ( 1 , 0 )) * - 1 del tmp2 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 ebcc . codegen . UDFCCSD . make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:42:18.178662. 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. Source code in ebcc/codegen/UDFCCSD.py 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 def make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:42:18.178662. 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 ])), ) tmp10 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp9 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) tmp8 = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 1 , 2 ), ( 2 , 0 )) tmp18 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp13 = einsum ( t1 . bb , ( 0 , 1 ), l2 . abab , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp2 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp0 = einsum ( t1 . aa , ( 0 , 1 ), l1 . aa , ( 1 , 2 ), ( 2 , 0 )) tmp1 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp6 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp26 = einsum ( t1 . aa , ( 0 , 1 ), l2 . abab , ( 1 , 2 , 3 , 4 ), ( 3 , 0 , 4 , 2 )) tmp89 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp88 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 5 ), ( 5 , 1 , 4 , 3 )) tmp68 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp72 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp16 = np . copy ( tmp8 ) tmp16 += tmp9 tmp16 += tmp10 * 2 tmp17 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp19 = einsum ( t1 . bb , ( 0 , 1 ), tmp18 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp52 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp53 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp13 , ( 0 , 4 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp12 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 5 ), ( 4 , 0 , 5 , 1 )) tmp14 = einsum ( t1 . aa , ( 0 , 1 ), tmp13 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp28 = np . copy ( tmp0 ) * 0.5 tmp28 += tmp1 tmp28 += tmp2 * 0.5 tmp32 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) * - 1 tmp31 = einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp5 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp112 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp83 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp82 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) tmp108 = einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp90 = np . copy ( tmp88 ) tmp90 += tmp89 * 4 tmp85 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) tmp86 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp65 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp105 = einsum ( t1 . aa , ( 0 , 1 ), l1 . aa , ( 2 , 0 ), ( 2 , 1 )) tmp66 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp119 = np . copy ( tmp68 ) * 4 tmp119 += tmp72 tmp107 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp70 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) tmp114 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 3 , 4 , 1 , 5 ), ( 0 , 5 , 2 , 4 )) tmp39 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) tmp41 = einsum ( t1 . bb , ( 0 , 1 ), tmp16 , ( 0 , 2 ), ( 2 , 1 )) * 0.5 tmp40 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp18 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) tmp36 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) tmp35 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 2 , 0 ), ( 1 , 3 )) tmp49 = einsum ( l1 . bb , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp50 = einsum ( t1 . bb , ( 0 , 1 ), tmp16 , ( 0 , 2 ), ( 2 , 1 )) tmp54 = np . copy ( np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 ))) tmp54 += np . transpose ( tmp19 , ( 0 , 1 , 3 , 2 )) * - 1 tmp103 = np . copy ( tmp53 ) tmp103 += tmp52 * 4 tmp21 = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp20 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp61 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp13 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp60 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) * - 1 tmp45 = np . copy ( tmp12 ) tmp45 += tmp14 tmp43 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp26 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp44 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) * - 1 tmp25 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) tmp27 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp26 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp58 = einsum ( tmp28 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp80 = np . copy ( tmp32 ) * 4 tmp80 += tmp31 tmp29 = einsum ( tmp28 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * 2 del tmp28 tmp33 = np . copy ( np . transpose ( tmp5 , ( 1 , 0 , 3 , 2 ))) tmp33 += np . transpose ( tmp7 , ( 0 , 1 , 3 , 2 )) * - 1 tmp24 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) tmp4 = np . copy ( tmp0 ) tmp4 += tmp1 * 2 tmp4 += tmp2 tmp131 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) tmp133 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) tmp130 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) tmp129 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) tmp132 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) tmp127 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 0 , 4 , 5 ), ( 2 , 3 , 4 , 5 )) * - 1 tmp128 = einsum ( t1 . bb , ( 0 , 1 ), tmp112 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp109 = np . copy ( tmp108 ) tmp109 += tmp82 tmp109 += tmp83 * 2 tmp124 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp126 = einsum ( t1 . bb , ( 0 , 1 ), tmp90 , ( 0 , 2 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) tmp116 = einsum ( t1 . bb , ( 0 , 1 ), tmp13 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp91 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 0 , 5 ), ( 5 , 1 , 4 , 2 )) tmp87 = np . copy ( tmp85 ) tmp87 += tmp86 tmp106 = np . copy ( tmp105 ) * 0.5 tmp106 += tmp65 tmp106 += tmp66 * 0.5 tmp120 = einsum ( t1 . aa , ( 0 , 1 ), tmp119 , ( 0 , 2 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) del tmp119 tmp121 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 0 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) * - 1 tmp122 = einsum ( tmp107 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 tmp113 = np . copy ( tmp105 ) del tmp105 tmp113 += tmp65 * 2 tmp113 += tmp66 tmp117 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp125 = np . copy ( tmp88 ) tmp125 += tmp89 * 4 tmp110 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 5 ), ( 2 , 4 , 1 , 5 )) tmp123 = np . copy ( tmp114 ) tmp123 += tmp70 tmp115 = einsum ( t1 . aa , ( 0 , 1 ), tmp26 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp118 = np . copy ( tmp68 ) * 4 tmp118 += tmp72 tmp111 = np . copy ( tmp108 ) * 0.5 del tmp108 tmp111 += tmp82 * 0.5 tmp111 += tmp83 tmp42 = np . copy ( tmp39 ) * 0.5 tmp42 += tmp40 tmp42 += tmp41 del tmp41 tmp37 = np . copy ( t1 . bb ) tmp37 += tmp35 tmp37 += tmp36 * 2 tmp100 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp16 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 tmp48 = np . copy ( t1 . bb ) tmp48 += tmp35 tmp48 += tmp36 * 2 tmp84 = np . copy ( tmp82 ) * 0.5 tmp84 += tmp83 tmp99 = einsum ( t1 . bb , ( 0 , 1 ), tmp49 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp94 = np . copy ( tmp82 ) del tmp82 tmp94 += tmp83 * 2 del tmp83 tmp98 = np . copy ( tmp35 ) tmp98 += tmp36 * 2 tmp51 = np . copy ( tmp39 ) del tmp39 tmp51 += tmp40 * 2 del tmp40 tmp51 += tmp50 del tmp50 tmp97 = einsum ( tmp88 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) tmp101 = einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 1 , 4 , 5 ), ( 2 , 3 , 4 , 5 )) tmp95 = einsum ( tmp85 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp102 = einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) tmp96 = einsum ( tmp89 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) tmp104 = einsum ( t1 . bb , ( 0 , 1 ), tmp103 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp103 tmp57 = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 1 , 3 , 4 )) tmp67 = np . copy ( tmp65 ) tmp67 += tmp66 * 0.5 tmp74 = np . copy ( tmp20 ) * 2 tmp74 += tmp21 tmp93 = np . copy ( tmp61 ) tmp93 += tmp60 tmp47 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp63 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp26 , ( 0 , 4 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp46 = einsum ( t1 . bb , ( 0 , 1 ), tmp45 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp92 = np . copy ( tmp44 ) tmp92 += tmp43 tmp38 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 2 , 4 ), ( 4 , 0 , 1 , 3 )) tmp59 = np . copy ( tmp25 ) tmp59 += tmp27 * 0.5 tmp59 += tmp58 del tmp58 tmp81 = einsum ( t1 . aa , ( 0 , 1 ), tmp80 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp80 tmp30 = np . copy ( tmp25 ) * 2 del tmp25 tmp30 += tmp27 del tmp27 tmp30 += tmp29 del tmp29 tmp79 = einsum ( t1 . aa , ( 0 , 1 ), tmp33 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) tmp71 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp70 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp69 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp68 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) tmp73 = einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp76 = np . copy ( tmp65 ) * 2 del tmp65 tmp76 += tmp66 del tmp66 tmp23 = np . copy ( t1 . aa ) tmp23 += tmp20 * 2 tmp23 += tmp21 tmp75 = einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) tmp78 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp33 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) tmp77 = einsum ( tmp4 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 tmp56 = np . copy ( t1 . aa ) tmp56 += tmp20 * 2 tmp56 += tmp21 tmp62 = np . copy ( tmp8 ) * 0.5 tmp62 += tmp9 * 0.5 tmp62 += tmp10 tmp55 = einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) * 2 del tmp54 tmp64 = np . copy ( t1 . bb ) * 0.5 tmp64 += tmp35 * 0.5 del tmp35 tmp64 += tmp36 del tmp36 tmp34 = einsum ( t1 . aa , ( 0 , 1 ), tmp33 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * 2 del tmp33 tmp22 = np . copy ( t1 . aa ) * 0.5 tmp22 += tmp20 del tmp20 tmp22 += tmp21 * 0.5 del tmp21 tmp15 = np . copy ( delta . bb . oo ) * - 0.5 tmp15 += tmp8 * 0.5 tmp15 += tmp9 * 0.5 tmp15 += tmp10 tmp11 = np . copy ( delta . bb . oo ) * - 1 tmp11 += tmp8 del tmp8 tmp11 += tmp9 del tmp9 tmp11 += tmp10 * 2 del tmp10 tmp3 = np . copy ( delta . aa . oo ) * - 0.5 tmp3 += tmp0 * 0.5 del tmp0 tmp3 += tmp1 del tmp1 tmp3 += tmp2 * 0.5 del tmp2 rdm2 . bbbb . vvvv = np . copy ( np . transpose ( tmp133 , ( 1 , 0 , 3 , 2 ))) * 2 del tmp133 rdm2 . bbbb . vvvv += einsum ( tmp131 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * 2 rdm2 . abab . vvvv = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) rdm2 . abab . vvvv += einsum ( t1 . aa , ( 0 , 1 ), tmp130 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) rdm2 . aaaa . vvvv = np . copy ( np . transpose ( tmp132 , ( 1 , 0 , 3 , 2 ))) * 2 del tmp132 rdm2 . aaaa . vvvv += einsum ( tmp129 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * 2 rdm2 . bbbb . vvvo = np . copy ( np . transpose ( tmp131 , ( 2 , 1 , 3 , 0 ))) * 2 rdm2 . abab . vvvo = einsum ( t1 . aa , ( 0 , 1 ), l2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) rdm2 . aaaa . vvvo = np . copy ( np . transpose ( tmp129 , ( 2 , 1 , 3 , 0 ))) * 2 rdm2 . bbbb . vvov = np . copy ( np . transpose ( tmp131 , ( 2 , 1 , 0 , 3 ))) * - 2 del tmp131 rdm2 . abab . vvov = np . copy ( np . transpose ( tmp130 , ( 1 , 2 , 0 , 3 ))) del tmp130 rdm2 . aaaa . vvov = np . copy ( np . transpose ( tmp129 , ( 2 , 1 , 0 , 3 ))) * - 2 del tmp129 rdm2 . bbbb . vovv = np . copy ( np . transpose ( tmp124 , ( 1 , 0 , 3 , 2 ))) * 2 rdm2 . bbbb . vovv += einsum ( tmp109 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . vovv += einsum ( t1 . bb , ( 0 , 1 ), tmp109 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . vovv += np . transpose ( tmp126 , ( 2 , 0 , 1 , 3 )) rdm2 . bbbb . vovv += np . transpose ( tmp126 , ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . bbbb . vovv += np . transpose ( tmp127 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . bbbb . vovv += np . transpose ( tmp128 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . abab . vovv = einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) rdm2 . abab . vovv += einsum ( tmp106 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . abab . vovv += einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 1 , 4 , 3 )) * 2 rdm2 . abab . vovv += einsum ( t1 . bb , ( 0 , 1 ), tmp91 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 rdm2 . abab . vovv += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 4 , 5 ), ( 3 , 2 , 4 , 5 )) * - 1 rdm2 . abab . vovv += einsum ( t1 . aa , ( 0 , 1 ), tmp116 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 1 , 4 )) * - 1 rdm2 . aaaa . vovv = np . copy ( np . transpose ( tmp117 , ( 1 , 0 , 3 , 2 ))) * 2 rdm2 . aaaa . vovv += einsum ( tmp113 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . vovv += einsum ( tmp113 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . vovv += np . transpose ( tmp120 , ( 2 , 0 , 1 , 3 )) rdm2 . aaaa . vovv += np . transpose ( tmp120 , ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . vovv += np . transpose ( tmp121 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . aaaa . vovv += np . transpose ( tmp122 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . bbbb . ovvv = np . copy ( np . transpose ( tmp124 , ( 0 , 1 , 3 , 2 ))) * - 2 del tmp124 rdm2 . bbbb . ovvv += einsum ( tmp109 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . ovvv += einsum ( t1 . bb , ( 0 , 1 ), tmp109 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . ovvv += einsum ( tmp125 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 1 del tmp125 rdm2 . bbbb . ovvv += np . transpose ( tmp126 , ( 0 , 2 , 3 , 1 )) del tmp126 rdm2 . bbbb . ovvv += np . transpose ( tmp127 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp127 rdm2 . bbbb . ovvv += np . transpose ( tmp128 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp128 rdm2 . abab . ovvv = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) rdm2 . abab . ovvv += einsum ( t1 . aa , ( 0 , 1 ), tmp109 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . ovvv += einsum ( t1 . aa , ( 0 , 1 ), tmp110 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 rdm2 . abab . ovvv += einsum ( t1 . bb , ( 0 , 1 ), tmp123 , ( 2 , 0 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * 2 del tmp123 rdm2 . abab . ovvv += einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 4 , 5 )) * - 1 rdm2 . abab . ovvv += einsum ( tmp115 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 3 , 2 , 4 )) * - 1 rdm2 . aaaa . ovvv = np . copy ( np . transpose ( tmp117 , ( 0 , 1 , 3 , 2 ))) * - 2 del tmp117 rdm2 . aaaa . ovvv += einsum ( tmp113 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . ovvv += einsum ( tmp113 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . ovvv += einsum ( t1 . aa , ( 0 , 1 ), tmp118 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp118 rdm2 . aaaa . ovvv += np . transpose ( tmp120 , ( 0 , 2 , 3 , 1 )) del tmp120 rdm2 . aaaa . ovvv += np . transpose ( tmp121 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp121 rdm2 . aaaa . ovvv += np . transpose ( tmp122 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp122 rdm2 . bbbb . vvoo = np . copy ( l2 . bbbb ) * 2 rdm2 . abab . vvoo = np . copy ( l2 . abab ) rdm2 . aaaa . vvoo = np . copy ( l2 . aaaa ) * 2 rdm2 . bbbb . vovo = einsum ( tmp109 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . vovo += np . transpose ( tmp88 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . vovo += np . transpose ( tmp89 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . bbbb . vovo += einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . vovo += np . transpose ( tmp112 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . abab . vovo = einsum ( tmp106 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . abab . vovo += np . transpose ( tmp91 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . abab . vovo += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 rdm2 . aaaa . vovo = einsum ( tmp113 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) 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 ( tmp68 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . aaaa . vovo += np . transpose ( tmp107 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . bbbb . voov = einsum ( tmp111 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . bbbb . voov += np . transpose ( tmp88 , ( 2 , 1 , 0 , 3 )) rdm2 . bbbb . voov += einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . voov += np . transpose ( tmp89 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . bbbb . voov += np . transpose ( tmp112 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . abab . voov = np . copy ( np . transpose ( tmp85 , ( 2 , 1 , 0 , 3 ))) * 2 del tmp85 rdm2 . abab . voov += einsum ( t1 . bb , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . voov += np . transpose ( tmp86 , ( 2 , 1 , 0 , 3 )) * 2 del tmp86 rdm2 . abab . voov += np . transpose ( tmp116 , ( 2 , 1 , 0 , 3 )) * - 1 del tmp116 rdm2 . aaaa . voov = einsum ( tmp106 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 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 ( tmp68 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . aaaa . voov += np . transpose ( tmp107 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . bbbb . ovvo = einsum ( tmp109 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . ovvo += np . transpose ( tmp88 , ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . ovvo += einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . ovvo += np . transpose ( tmp89 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . bbbb . ovvo += np . transpose ( tmp112 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . abab . ovvo = np . copy ( np . transpose ( tmp114 , ( 0 , 3 , 2 , 1 ))) * 2 del tmp114 rdm2 . abab . ovvo += einsum ( l1 . bb , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . ovvo += np . transpose ( tmp70 , ( 0 , 3 , 2 , 1 )) * 2 del tmp70 rdm2 . abab . ovvo += np . transpose ( tmp115 , ( 0 , 3 , 2 , 1 )) * - 1 del tmp115 rdm2 . aaaa . ovvo = einsum ( tmp113 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 del tmp113 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 ( tmp68 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . aaaa . ovvo += np . transpose ( tmp107 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . bbbb . ovov = einsum ( tmp111 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 del tmp111 rdm2 . bbbb . ovov += np . transpose ( tmp88 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp88 rdm2 . bbbb . ovov += np . transpose ( tmp89 , ( 1 , 2 , 0 , 3 )) * - 4 del tmp89 rdm2 . bbbb . ovov += einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . ovov += np . transpose ( tmp112 , ( 1 , 2 , 0 , 3 )) * 2 del tmp112 rdm2 . abab . ovov = einsum ( delta . aa . oo , ( 0 , 1 ), tmp109 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) del tmp109 rdm2 . abab . ovov += np . transpose ( tmp110 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp110 rdm2 . abab . ovov += einsum ( t1 . bb , ( 0 , 1 ), tmp26 , ( 2 , 3 , 0 , 4 ), ( 3 , 4 , 2 , 1 )) * - 1 rdm2 . aaaa . ovov = einsum ( tmp106 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 del tmp106 rdm2 . aaaa . ovov += np . transpose ( tmp72 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp72 rdm2 . aaaa . ovov += einsum ( t1 . aa , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . ovov += np . transpose ( tmp68 , ( 1 , 2 , 0 , 3 )) * - 4 del tmp68 rdm2 . aaaa . ovov += np . transpose ( tmp107 , ( 1 , 2 , 0 , 3 )) * 2 del tmp107 rdm2 . bbbb . oovv = np . copy ( t2 . bbbb ) * 2 rdm2 . bbbb . oovv += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp94 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp94 rdm2 . bbbb . oovv += np . transpose ( tmp95 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp96 , ( 0 , 1 , 3 , 2 )) * - 8 rdm2 . bbbb . oovv += np . transpose ( tmp97 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp97 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp48 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . oovv += np . transpose ( tmp95 , ( 1 , 0 , 3 , 2 )) * 2 del tmp95 rdm2 . bbbb . oovv += tmp96 * 8 del tmp96 rdm2 . bbbb . oovv += tmp97 * 2 rdm2 . bbbb . oovv += np . transpose ( tmp97 , ( 1 , 0 , 3 , 2 )) * 2 del tmp97 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . oovv += einsum ( tmp98 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . oovv += einsum ( tmp98 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 del tmp98 rdm2 . bbbb . oovv += tmp99 * 2 rdm2 . bbbb . oovv += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp84 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * 4 rdm2 . bbbb . oovv += np . transpose ( tmp99 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp99 rdm2 . bbbb . oovv += np . transpose ( tmp100 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp51 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 rdm2 . bbbb . oovv += einsum ( tmp42 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 rdm2 . bbbb . oovv += np . transpose ( tmp100 , ( 1 , 0 , 3 , 2 )) * 2 del tmp100 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp51 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp101 , ( 1 , 0 , 3 , 2 )) * 2 del tmp101 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp102 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp102 rdm2 . bbbb . oovv += np . transpose ( tmp104 , ( 1 , 0 , 2 , 3 )) rdm2 . bbbb . oovv += tmp104 * - 1 rdm2 . bbbb . oovv += np . transpose ( tmp104 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . bbbb . oovv += np . transpose ( tmp104 , ( 0 , 1 , 3 , 2 )) del tmp104 rdm2 . abab . oovv = np . copy ( t2 . abab ) rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp84 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp84 rdm2 . abab . oovv += einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * 4 del tmp87 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp90 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) del tmp90 rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp74 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp38 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 rdm2 . abab . oovv += einsum ( tmp67 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 rdm2 . abab . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp57 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 rdm2 . abab . oovv += einsum ( tmp16 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 rdm2 . abab . oovv += einsum ( tmp4 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 rdm2 . abab . oovv += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 4 , 5 )) rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp46 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp91 , ( 1 , 4 , 2 , 5 ), ( 0 , 4 , 5 , 3 )) del tmp91 rdm2 . abab . oovv += einsum ( tmp59 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp47 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) rdm2 . abab . oovv += einsum ( tmp92 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 2 del tmp92 rdm2 . abab . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp93 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp93 rdm2 . abab . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp63 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) rdm2 . aaaa . oovv = np . copy ( t2 . aaaa ) * 2 rdm2 . aaaa . oovv += einsum ( tmp67 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 4 del tmp67 rdm2 . aaaa . oovv += np . transpose ( tmp69 , ( 0 , 1 , 3 , 2 )) * - 8 rdm2 . aaaa . oovv += np . transpose ( tmp71 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += np . transpose ( tmp73 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += np . transpose ( tmp73 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . aaaa . oovv += einsum ( tmp56 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . oovv += tmp69 * 8 del tmp69 rdm2 . aaaa . oovv += tmp71 * 2 del tmp71 rdm2 . aaaa . oovv += tmp73 * 2 rdm2 . aaaa . oovv += np . transpose ( tmp73 , ( 1 , 0 , 3 , 2 )) * 2 del tmp73 rdm2 . aaaa . oovv += einsum ( tmp23 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp74 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp74 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 del tmp74 rdm2 . aaaa . oovv += tmp75 * 2 rdm2 . aaaa . oovv += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp76 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * 2 del tmp76 rdm2 . aaaa . oovv += np . transpose ( tmp75 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp75 rdm2 . aaaa . oovv += np . transpose ( tmp77 , ( 1 , 0 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += einsum ( tmp59 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) rdm2 . aaaa . oovv += np . transpose ( tmp77 , ( 0 , 1 , 3 , 2 )) * 2 del tmp77 rdm2 . aaaa . oovv += einsum ( tmp59 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 2 rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . oovv += np . transpose ( tmp78 , ( 1 , 0 , 3 , 2 )) * 2 del tmp78 rdm2 . aaaa . oovv += einsum ( tmp79 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * 2 del tmp79 rdm2 . aaaa . oovv += np . transpose ( tmp81 , ( 1 , 0 , 2 , 3 )) rdm2 . aaaa . oovv += tmp81 * - 1 rdm2 . aaaa . oovv += np . transpose ( tmp81 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . aaaa . oovv += np . transpose ( tmp81 , ( 0 , 1 , 3 , 2 )) del tmp81 rdm2 . bbbb . vooo = einsum ( delta . bb . oo , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . vooo += einsum ( l1 . bb , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . vooo += np . transpose ( tmp18 , ( 3 , 2 , 1 , 0 )) * 2 rdm2 . abab . vooo = einsum ( l1 . aa , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . vooo += np . transpose ( tmp13 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp13 rdm2 . aaaa . vooo = einsum ( delta . aa . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . vooo += einsum ( delta . aa . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . vooo += np . transpose ( tmp6 , ( 3 , 2 , 1 , 0 )) * 2 rdm2 . bbbb . ovoo = einsum ( delta . bb . oo , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . ovoo += einsum ( l1 . bb , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . ovoo += np . transpose ( tmp18 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp18 rdm2 . abab . ovoo = einsum ( delta . aa . oo , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . ovoo += np . transpose ( tmp26 , ( 1 , 3 , 0 , 2 )) * - 1 del tmp26 rdm2 . aaaa . ovoo = einsum ( delta . aa . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . ovoo += einsum ( delta . aa . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . ovoo += np . transpose ( tmp6 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp6 rdm2 . bbbb . oovo = einsum ( tmp64 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 del tmp64 rdm2 . bbbb . oovo += einsum ( tmp37 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . oovo += np . transpose ( tmp49 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . bbbb . oovo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 rdm2 . bbbb . oovo += einsum ( tmp42 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 rdm2 . bbbb . oovo += np . transpose ( tmp52 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . bbbb . oovo += np . transpose ( tmp53 , ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . oovo += einsum ( t1 . bb , ( 0 , 1 ), tmp62 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * 2 rdm2 . bbbb . oovo += np . transpose ( tmp52 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . bbbb . oovo += np . transpose ( tmp53 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . oovo += einsum ( tmp62 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . bbbb . oovo += np . transpose ( tmp55 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . abab . oovo = einsum ( delta . bb . oo , ( 0 , 1 ), tmp56 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . oovo += np . transpose ( tmp57 , ( 0 , 2 , 3 , 1 )) * - 1 del tmp57 rdm2 . abab . oovo += einsum ( tmp59 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 del tmp59 rdm2 . abab . oovo += np . transpose ( tmp60 , ( 0 , 2 , 3 , 1 )) * - 2 del tmp60 rdm2 . abab . oovo += np . transpose ( tmp61 , ( 0 , 2 , 3 , 1 )) * - 2 del tmp61 rdm2 . abab . oovo += einsum ( t1 . aa , ( 0 , 1 ), tmp62 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 2 del tmp62 rdm2 . abab . oovo += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 3 , 4 , 2 )) del tmp45 rdm2 . abab . oovo += np . transpose ( tmp63 , ( 0 , 2 , 3 , 1 )) del tmp63 rdm2 . aaaa . oovo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp56 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp56 rdm2 . aaaa . oovo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp23 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . oovo += np . transpose ( tmp24 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . aaaa . oovo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . oovo += einsum ( tmp30 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . aaaa . oovo += np . transpose ( tmp31 , ( 1 , 2 , 3 , 0 )) rdm2 . aaaa . oovo += np . transpose ( tmp32 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . aaaa . oovo += einsum ( t1 . aa , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) rdm2 . aaaa . oovo += np . transpose ( tmp31 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . aaaa . oovo += np . transpose ( tmp32 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . aaaa . oovo += einsum ( t1 . aa , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . aaaa . oovo += np . transpose ( tmp34 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . ooov = einsum ( delta . bb . oo , ( 0 , 1 ), tmp48 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 del tmp48 rdm2 . bbbb . ooov += einsum ( tmp37 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . ooov += np . transpose ( tmp49 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp49 rdm2 . bbbb . ooov += einsum ( delta . bb . oo , ( 0 , 1 ), tmp51 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . bbbb . ooov += einsum ( delta . bb . oo , ( 0 , 1 ), tmp51 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 del tmp51 rdm2 . bbbb . ooov += np . transpose ( tmp52 , ( 1 , 2 , 0 , 3 )) * - 4 rdm2 . bbbb . ooov += np . transpose ( tmp53 , ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . bbbb . ooov += einsum ( t1 . bb , ( 0 , 1 ), tmp16 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . bbbb . ooov += np . transpose ( tmp52 , ( 2 , 1 , 0 , 3 )) * 4 del tmp52 rdm2 . bbbb . ooov += np . transpose ( tmp53 , ( 2 , 1 , 0 , 3 )) del tmp53 rdm2 . bbbb . ooov += einsum ( t1 . bb , ( 0 , 1 ), tmp16 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) rdm2 . bbbb . ooov += np . transpose ( tmp55 , ( 2 , 1 , 0 , 3 )) del tmp55 rdm2 . abab . ooov = einsum ( delta . aa . oo , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) del tmp37 rdm2 . abab . ooov += np . transpose ( tmp38 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp38 rdm2 . abab . ooov += einsum ( delta . aa . oo , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 del tmp42 rdm2 . abab . ooov += np . transpose ( tmp43 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp43 rdm2 . abab . ooov += np . transpose ( tmp44 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp44 rdm2 . abab . ooov += einsum ( t1 . bb , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . abab . ooov += np . transpose ( tmp46 , ( 1 , 2 , 0 , 3 )) del tmp46 rdm2 . abab . ooov += np . transpose ( tmp47 , ( 1 , 2 , 0 , 3 )) del tmp47 rdm2 . aaaa . ooov = einsum ( delta . aa . oo , ( 0 , 1 ), tmp22 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 del tmp22 rdm2 . aaaa . ooov += einsum ( delta . aa . oo , ( 0 , 1 ), tmp23 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) del tmp23 rdm2 . aaaa . ooov += np . transpose ( tmp24 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp24 rdm2 . aaaa . ooov += einsum ( delta . aa . oo , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . aaaa . ooov += einsum ( tmp30 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 del tmp30 rdm2 . aaaa . ooov += np . transpose ( tmp31 , ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . aaaa . ooov += np . transpose ( tmp32 , ( 1 , 2 , 0 , 3 )) * - 4 rdm2 . aaaa . ooov += einsum ( t1 . aa , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . aaaa . ooov += np . transpose ( tmp31 , ( 2 , 1 , 0 , 3 )) del tmp31 rdm2 . aaaa . ooov += np . transpose ( tmp32 , ( 2 , 1 , 0 , 3 )) * 4 del tmp32 rdm2 . aaaa . ooov += einsum ( t1 . aa , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) rdm2 . aaaa . ooov += np . transpose ( tmp34 , ( 2 , 1 , 0 , 3 )) del tmp34 rdm2 . bbbb . oooo = einsum ( tmp15 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . bbbb . oooo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp15 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * 2 del tmp15 rdm2 . bbbb . oooo += einsum ( tmp16 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . bbbb . oooo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp16 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) del tmp16 rdm2 . bbbb . oooo += np . transpose ( tmp17 , ( 3 , 2 , 1 , 0 )) * 2 del tmp17 rdm2 . bbbb . oooo += np . transpose ( tmp19 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp19 rdm2 . abab . oooo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 del tmp11 rdm2 . abab . oooo += einsum ( tmp4 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . abab . oooo += np . transpose ( tmp12 , ( 1 , 3 , 0 , 2 )) del tmp12 rdm2 . abab . oooo += np . transpose ( tmp14 , ( 1 , 3 , 0 , 2 )) del tmp14 rdm2 . aaaa . oooo = einsum ( tmp3 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . aaaa . oooo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * 2 del tmp3 rdm2 . aaaa . oooo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . aaaa . oooo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) del tmp4 , delta rdm2 . aaaa . oooo += np . transpose ( tmp5 , ( 3 , 2 , 1 , 0 )) * 2 del tmp5 rdm2 . aaaa . oooo += np . transpose ( tmp7 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp7 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 ebcc . codegen . UDFCCSD . hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:45:01.030151. 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 tmp1 : array tmp101 : array tmp102 : array tmp103 : array tmp105 : array tmp11 : array tmp116 : array tmp117 : array tmp118 : array tmp12 : array tmp120 : array tmp122 : array tmp124 : array tmp126 : array tmp128 : array tmp131 : array tmp132 : array tmp137 : array tmp138 : array tmp139 : array tmp14 : array tmp140 : array tmp141 : array tmp142 : array tmp143 : array tmp144 : array tmp145 : array tmp152 : array tmp156 : array tmp159 : array tmp16 : array tmp161 : array tmp163 : array tmp166 : array tmp168 : array tmp17 : array tmp170 : array tmp171 : array tmp173 : array tmp177 : array tmp178 : array tmp179 : array tmp18 : array tmp181 : array tmp183 : array tmp185 : array tmp186 : array tmp187 : array tmp189 : array tmp19 : array tmp2 : array tmp200 : array tmp201 : array tmp202 : array tmp206 : array tmp208 : array tmp21 : array tmp210 : array tmp212 : array tmp214 : array tmp216 : array tmp218 : array tmp219 : array tmp22 : array tmp220 : array tmp228 : array tmp233 : array tmp236 : array tmp24 : array tmp241 : array tmp242 : array tmp243 : array tmp248 : array tmp249 : array tmp251 : array tmp252 : array tmp256 : array tmp257 : array tmp258 : array tmp26 : array tmp260 : array tmp262 : array tmp263 : array tmp264 : array tmp268 : array tmp269 : array tmp27 : array tmp275 : array tmp276 : array tmp277 : array tmp278 : array tmp279 : array tmp281 : array tmp284 : array tmp286 : array tmp287 : array tmp289 : array tmp29 : array tmp291 : array tmp292 : array tmp293 : array tmp295 : array tmp298 : array tmp30 : array tmp302 : array tmp303 : array tmp304 : array tmp305 : array tmp306 : array tmp307 : array tmp308 : array tmp310 : array tmp315 : array tmp316 : array tmp317 : array tmp318 : array tmp32 : array tmp320 : array tmp322 : array tmp325 : array tmp326 : array tmp327 : array tmp328 : array tmp329 : array tmp33 : array tmp330 : array tmp334 : array tmp335 : array tmp337 : array tmp338 : array tmp339 : array tmp34 : array tmp340 : array tmp341 : array tmp342 : array tmp344 : array tmp345 : array tmp346 : array tmp350 : array tmp351 : array tmp352 : array tmp354 : array tmp356 : array tmp357 : array tmp358 : array tmp36 : array tmp362 : array tmp363 : array tmp364 : array tmp365 : array tmp366 : array tmp367 : array tmp37 : array tmp372 : array tmp373 : array tmp374 : array tmp385 : array tmp387 : array tmp389 : array tmp39 : array tmp392 : array tmp394 : array tmp396 : array tmp4 : array tmp401 : array tmp403 : array tmp41 : array tmp414 : array tmp416 : array tmp418 : array tmp42 : array tmp43 : array tmp434 : array tmp438 : array tmp440 : array tmp442 : array tmp447 : array tmp449 : array tmp453 : array tmp455 : array tmp457 : array tmp459 : array tmp461 : array tmp47 : array tmp49 : array tmp51 : array tmp52 : array tmp54 : array tmp55 : array tmp57 : array tmp58 : array tmp59 : array tmp6 : array tmp61 : array tmp67 : array tmp69 : array tmp7 : array tmp70 : array tmp72 : array tmp74 : array tmp78 : array tmp79 : array tmp80 : array tmp81 : array tmp82 : array tmp83 : array tmp85 : array tmp87 : array tmp9 : array tmp90 : array tmp92 : array tmp93 : array tmp95 : array tmp98 : array Source code in ebcc/codegen/UDFCCSD.py 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 def hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:45:01.030151. 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 ------- tmp1 : array tmp101 : array tmp102 : array tmp103 : array tmp105 : array tmp11 : array tmp116 : array tmp117 : array tmp118 : array tmp12 : array tmp120 : array tmp122 : array tmp124 : array tmp126 : array tmp128 : array tmp131 : array tmp132 : array tmp137 : array tmp138 : array tmp139 : array tmp14 : array tmp140 : array tmp141 : array tmp142 : array tmp143 : array tmp144 : array tmp145 : array tmp152 : array tmp156 : array tmp159 : array tmp16 : array tmp161 : array tmp163 : array tmp166 : array tmp168 : array tmp17 : array tmp170 : array tmp171 : array tmp173 : array tmp177 : array tmp178 : array tmp179 : array tmp18 : array tmp181 : array tmp183 : array tmp185 : array tmp186 : array tmp187 : array tmp189 : array tmp19 : array tmp2 : array tmp200 : array tmp201 : array tmp202 : array tmp206 : array tmp208 : array tmp21 : array tmp210 : array tmp212 : array tmp214 : array tmp216 : array tmp218 : array tmp219 : array tmp22 : array tmp220 : array tmp228 : array tmp233 : array tmp236 : array tmp24 : array tmp241 : array tmp242 : array tmp243 : array tmp248 : array tmp249 : array tmp251 : array tmp252 : array tmp256 : array tmp257 : array tmp258 : array tmp26 : array tmp260 : array tmp262 : array tmp263 : array tmp264 : array tmp268 : array tmp269 : array tmp27 : array tmp275 : array tmp276 : array tmp277 : array tmp278 : array tmp279 : array tmp281 : array tmp284 : array tmp286 : array tmp287 : array tmp289 : array tmp29 : array tmp291 : array tmp292 : array tmp293 : array tmp295 : array tmp298 : array tmp30 : array tmp302 : array tmp303 : array tmp304 : array tmp305 : array tmp306 : array tmp307 : array tmp308 : array tmp310 : array tmp315 : array tmp316 : array tmp317 : array tmp318 : array tmp32 : array tmp320 : array tmp322 : array tmp325 : array tmp326 : array tmp327 : array tmp328 : array tmp329 : array tmp33 : array tmp330 : array tmp334 : array tmp335 : array tmp337 : array tmp338 : array tmp339 : array tmp34 : array tmp340 : array tmp341 : array tmp342 : array tmp344 : array tmp345 : array tmp346 : array tmp350 : array tmp351 : array tmp352 : array tmp354 : array tmp356 : array tmp357 : array tmp358 : array tmp36 : array tmp362 : array tmp363 : array tmp364 : array tmp365 : array tmp366 : array tmp367 : array tmp37 : array tmp372 : array tmp373 : array tmp374 : array tmp385 : array tmp387 : array tmp389 : array tmp39 : array tmp392 : array tmp394 : array tmp396 : array tmp4 : array tmp401 : array tmp403 : array tmp41 : array tmp414 : array tmp416 : array tmp418 : array tmp42 : array tmp43 : array tmp434 : array tmp438 : array tmp440 : array tmp442 : array tmp447 : array tmp449 : array tmp453 : array tmp455 : array tmp457 : array tmp459 : array tmp461 : array tmp47 : array tmp49 : array tmp51 : array tmp52 : array tmp54 : array tmp55 : array tmp57 : array tmp58 : array tmp59 : array tmp6 : array tmp61 : array tmp67 : array tmp69 : array tmp7 : array tmp70 : array tmp72 : array tmp74 : array tmp78 : array tmp79 : array tmp80 : array tmp81 : array tmp82 : array tmp83 : array tmp85 : array tmp87 : array tmp9 : array tmp90 : array tmp92 : array tmp93 : array tmp95 : array tmp98 : array \"\"\" tmp8 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp10 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp16 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp6 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp131 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp21 = einsum ( tmp8 , ( 0 ,), v . bbb . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp18 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp17 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp16 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp54 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp51 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp156 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp19 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp14 = einsum ( tmp8 , ( 0 ,), v . baa . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp12 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp29 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp26 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp92 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp449 = einsum ( tmp16 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp47 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp276 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp37 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp401 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp394 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp131 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) tmp391 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp387 = einsum ( tmp16 , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp59 = einsum ( t1 . bb , ( 0 , 1 ), tmp21 , ( 2 , 1 ), ( 0 , 2 )) tmp58 = einsum ( tmp18 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp57 = einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 2 , 1 ), ( 0 , 2 )) tmp252 = einsum ( tmp16 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp55 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp54 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp52 = einsum ( tmp51 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp49 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp36 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 2 , 1 ), ( 2 , 0 )) tmp264 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp22 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp6 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp249 = einsum ( tmp6 , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp278 = einsum ( tmp8 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp275 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp43 = einsum ( tmp8 , ( 0 ,), v . bbb . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp42 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp41 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp16 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp39 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp2 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp214 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp210 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp156 , ( 4 , 5 , 2 , 3 ), ( 0 , 4 , 1 , 5 )) tmp280 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp24 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp69 = einsum ( t1 . aa , ( 0 , 1 ), v . baa . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp4 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp207 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp34 = einsum ( t1 . aa , ( 0 , 1 ), tmp19 , ( 2 , 1 ), ( 0 , 2 )) tmp33 = einsum ( tmp14 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp32 = einsum ( t1 . aa , ( 0 , 1 ), tmp12 , ( 2 , 1 ), ( 0 , 2 )) tmp173 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp6 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp27 = einsum ( tmp26 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp1 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp11 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp9 = einsum ( tmp8 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp103 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp93 = einsum ( tmp92 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 1 , 0 )) tmp89 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp85 = einsum ( tmp6 , ( 0 , 1 , 2 ), tmp6 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp72 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) del tmp10 tmp67 = einsum ( tmp8 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp8 tmp461 = einsum ( tmp449 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp459 = einsum ( tmp449 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp457 = einsum ( tmp16 , ( 0 , 1 , 2 ), tmp54 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp455 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp47 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp453 = einsum ( tmp51 , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp447 = einsum ( tmp276 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp442 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp21 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp440 = einsum ( tmp18 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp438 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp434 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp418 = einsum ( tmp54 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp416 = einsum ( tmp51 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp414 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp403 = einsum ( tmp401 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 1 , 2 , 0 , 4 )) tmp396 = einsum ( t1 . bb , ( 0 , 1 ), tmp394 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp392 = einsum ( tmp391 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) * - 1 del tmp391 tmp389 = einsum ( tmp387 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp385 = einsum ( tmp276 , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp374 = einsum ( t1 . bb , ( 0 , 1 ), tmp59 , ( 2 , 0 ), ( 2 , 1 )) tmp373 = einsum ( t1 . bb , ( 0 , 1 ), tmp58 , ( 2 , 0 ), ( 2 , 1 )) tmp372 = einsum ( t1 . bb , ( 0 , 1 ), tmp57 , ( 2 , 0 ), ( 2 , 1 )) tmp367 = einsum ( t1 . bb , ( 0 , 1 ), tmp252 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp366 = einsum ( t1 . bb , ( 0 , 1 ), tmp55 , ( 2 , 0 ), ( 2 , 1 )) tmp365 = einsum ( t1 . bb , ( 0 , 1 ), tmp52 , ( 2 , 0 ), ( 2 , 1 )) tmp364 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 1 , 5 )) tmp363 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) tmp362 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp47 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp358 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp276 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp357 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp356 = einsum ( t1 . bb , ( 0 , 1 ), tmp36 , ( 0 , 2 ), ( 2 , 1 )) tmp354 = einsum ( t1 . bb , ( 0 , 1 ), tmp264 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp352 = einsum ( tmp51 , ( 0 , 1 , 2 ), tmp6 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp351 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) tmp350 = einsum ( tmp6 , ( 0 , 1 , 2 ), tmp54 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp346 = einsum ( tmp276 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp345 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp344 = einsum ( t1 . bb , ( 0 , 1 ), tmp249 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp342 = einsum ( tmp6 , ( 0 , 1 , 2 ), tmp276 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp341 = einsum ( tmp278 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp340 = einsum ( tmp276 , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp339 = einsum ( tmp275 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp338 = einsum ( tmp54 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp337 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp51 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp335 = einsum ( tmp16 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp334 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . vv , ( 2 , 1 ), ( 0 , 2 )) tmp330 = einsum ( t1 . bb , ( 0 , 1 ), tmp43 , ( 2 , 0 ), ( 2 , 1 )) tmp329 = einsum ( t1 . bb , ( 0 , 1 ), tmp42 , ( 2 , 0 ), ( 2 , 1 )) tmp328 = einsum ( t1 . bb , ( 0 , 1 ), tmp41 , ( 2 , 0 ), ( 2 , 1 )) tmp327 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 2 ), ( 0 , 4 , 1 , 3 )) tmp326 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 2 ), ( 0 , 4 , 1 , 3 )) tmp325 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp12 , ( 4 , 2 ), ( 0 , 4 , 1 , 3 )) tmp322 = einsum ( tmp156 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp320 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp54 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp318 = einsum ( tmp51 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp317 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 1 , 5 )) tmp316 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) tmp315 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp310 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp308 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . oo , ( 2 , 0 ), ( 2 , 1 )) tmp307 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp21 , ( 1 , 3 ), ( 0 , 2 )) tmp306 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp19 , ( 0 , 2 ), ( 1 , 3 )) tmp305 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp18 , ( 1 , 3 ), ( 0 , 2 )) tmp304 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 3 ), ( 0 , 2 )) tmp303 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 0 , 2 ), ( 1 , 3 )) tmp302 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp12 , ( 0 , 2 ), ( 1 , 3 )) tmp298 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp131 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp295 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp92 , ( 0 , 4 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp293 = einsum ( tmp51 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp292 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp54 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp291 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp289 = einsum ( t1 . bb , ( 0 , 1 ), tmp214 , ( 2 , 3 , 4 , 0 ), ( 3 , 2 , 4 , 1 )) tmp287 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp286 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp284 = einsum ( t1 . bb , ( 0 , 1 ), tmp210 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp281 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp280 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) del tmp280 tmp279 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp277 = einsum ( tmp276 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp269 = einsum ( tmp264 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp268 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp24 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp263 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp69 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp262 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp260 = einsum ( t1 . aa , ( 0 , 1 ), tmp252 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp258 = einsum ( tmp26 , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp257 = einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp256 = einsum ( tmp29 , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp251 = einsum ( t1 . aa , ( 0 , 1 ), tmp249 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp248 = einsum ( tmp16 , ( 0 , 1 , 2 ), tmp69 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp243 = einsum ( tmp21 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp242 = einsum ( tmp18 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp241 = einsum ( tmp17 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp236 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp156 , ( 0 , 4 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) tmp233 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp228 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp220 = einsum ( tmp26 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp219 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp218 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp216 = einsum ( tmp214 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 3 , 2 , 4 )) tmp212 = einsum ( tmp210 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp208 = einsum ( tmp207 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) del tmp207 tmp206 = einsum ( tmp16 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp202 = einsum ( tmp34 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp201 = einsum ( t1 . aa , ( 0 , 1 ), tmp33 , ( 2 , 0 ), ( 2 , 1 )) tmp200 = einsum ( tmp32 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp189 = einsum ( t1 . aa , ( 0 , 1 ), tmp173 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp187 = einsum ( t1 . aa , ( 0 , 1 ), tmp173 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp186 = einsum ( tmp30 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp185 = einsum ( t1 . aa , ( 0 , 1 ), tmp27 , ( 2 , 0 ), ( 2 , 1 )) tmp183 = einsum ( tmp29 , ( 0 , 1 , 2 ), tmp6 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp181 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp22 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp179 = einsum ( tmp6 , ( 0 , 1 , 2 ), tmp26 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp178 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp24 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp177 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp171 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp69 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp170 = einsum ( tmp69 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp168 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp166 = einsum ( tmp1 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp163 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp161 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp159 = einsum ( tmp12 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp152 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp145 = einsum ( tmp11 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp144 = einsum ( t1 . aa , ( 0 , 1 ), tmp9 , ( 2 , 0 ), ( 2 , 1 )) tmp143 = einsum ( t1 . aa , ( 0 , 1 ), tmp7 , ( 2 , 0 ), ( 2 , 1 )) tmp142 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp21 , ( 1 , 3 ), ( 0 , 2 )) tmp141 = einsum ( tmp19 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp140 = einsum ( tmp18 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp139 = einsum ( tmp17 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp138 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp14 , ( 1 , 3 ), ( 0 , 2 )) tmp137 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp12 , ( 1 , 3 ), ( 0 , 2 )) tmp132 = einsum ( tmp131 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp128 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp92 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp126 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp124 = einsum ( tmp26 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp122 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp120 = einsum ( tmp26 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp118 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp117 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp116 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp105 = einsum ( t1 . aa , ( 0 , 1 ), tmp103 , ( 2 , 3 , 4 , 0 ), ( 3 , 4 , 2 , 1 )) tmp102 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp101 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 1 , 3 ), ( 0 , 2 )) tmp98 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . oo , ( 2 , 0 ), ( 2 , 1 )) tmp95 = einsum ( t1 . aa , ( 0 , 1 ), tmp93 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp90 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp89 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) * - 1 del tmp89 tmp87 = einsum ( t1 . aa , ( 0 , 1 ), tmp85 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) tmp83 = einsum ( tmp69 , ( 0 , 1 , 2 ), tmp6 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp82 = einsum ( t1 . aa , ( 0 , 1 ), tmp72 , ( 2 , 1 ), ( 0 , 2 )) tmp81 = einsum ( tmp69 , ( 0 , 1 , 2 ), tmp6 , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp80 = einsum ( t1 . aa , ( 0 , 1 ), tmp67 , ( 2 , 1 ), ( 0 , 2 )) tmp79 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp78 = einsum ( tmp26 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * - 1 tmp74 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp70 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp69 , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp61 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . vv , ( 2 , 1 ), ( 0 , 2 )) return { f \"tmp1\" : tmp1 , f \"tmp101\" : tmp101 , f \"tmp102\" : tmp102 , f \"tmp103\" : tmp103 , f \"tmp105\" : tmp105 , f \"tmp11\" : tmp11 , f \"tmp116\" : tmp116 , f \"tmp117\" : tmp117 , f \"tmp118\" : tmp118 , f \"tmp12\" : tmp12 , f \"tmp120\" : tmp120 , f \"tmp122\" : tmp122 , f \"tmp124\" : tmp124 , f \"tmp126\" : tmp126 , f \"tmp128\" : tmp128 , f \"tmp131\" : tmp131 , f \"tmp132\" : tmp132 , f \"tmp137\" : tmp137 , f \"tmp138\" : tmp138 , f \"tmp139\" : tmp139 , f \"tmp14\" : tmp14 , f \"tmp140\" : tmp140 , f \"tmp141\" : tmp141 , f \"tmp142\" : tmp142 , f \"tmp143\" : tmp143 , f \"tmp144\" : tmp144 , f \"tmp145\" : tmp145 , f \"tmp152\" : tmp152 , f \"tmp156\" : tmp156 , f \"tmp159\" : tmp159 , f \"tmp16\" : tmp16 , f \"tmp161\" : tmp161 , f \"tmp163\" : tmp163 , f \"tmp166\" : tmp166 , f \"tmp168\" : tmp168 , f \"tmp17\" : tmp17 , f \"tmp170\" : tmp170 , f \"tmp171\" : tmp171 , f \"tmp173\" : tmp173 , f \"tmp177\" : tmp177 , f \"tmp178\" : tmp178 , f \"tmp179\" : tmp179 , f \"tmp18\" : tmp18 , f \"tmp181\" : tmp181 , f \"tmp183\" : tmp183 , f \"tmp185\" : tmp185 , f \"tmp186\" : tmp186 , f \"tmp187\" : tmp187 , f \"tmp189\" : tmp189 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp200\" : tmp200 , f \"tmp201\" : tmp201 , f \"tmp202\" : tmp202 , f \"tmp206\" : tmp206 , f \"tmp208\" : tmp208 , f \"tmp21\" : tmp21 , f \"tmp210\" : tmp210 , f \"tmp212\" : tmp212 , f \"tmp214\" : tmp214 , f \"tmp216\" : tmp216 , f \"tmp218\" : tmp218 , f \"tmp219\" : tmp219 , f \"tmp22\" : tmp22 , f \"tmp220\" : tmp220 , f \"tmp228\" : tmp228 , f \"tmp233\" : tmp233 , f \"tmp236\" : tmp236 , f \"tmp24\" : tmp24 , f \"tmp241\" : tmp241 , f \"tmp242\" : tmp242 , f \"tmp243\" : tmp243 , f \"tmp248\" : tmp248 , f \"tmp249\" : tmp249 , f \"tmp251\" : tmp251 , f \"tmp252\" : tmp252 , f \"tmp256\" : tmp256 , f \"tmp257\" : tmp257 , f \"tmp258\" : tmp258 , f \"tmp26\" : tmp26 , f \"tmp260\" : tmp260 , f \"tmp262\" : tmp262 , f \"tmp263\" : tmp263 , f \"tmp264\" : tmp264 , f \"tmp268\" : tmp268 , f \"tmp269\" : tmp269 , f \"tmp27\" : tmp27 , f \"tmp275\" : tmp275 , f \"tmp276\" : tmp276 , f \"tmp277\" : tmp277 , f \"tmp278\" : tmp278 , f \"tmp279\" : tmp279 , f \"tmp281\" : tmp281 , f \"tmp284\" : tmp284 , f \"tmp286\" : tmp286 , f \"tmp287\" : tmp287 , f \"tmp289\" : tmp289 , f \"tmp29\" : tmp29 , f \"tmp291\" : tmp291 , f \"tmp292\" : tmp292 , f \"tmp293\" : tmp293 , f \"tmp295\" : tmp295 , f \"tmp298\" : tmp298 , f \"tmp30\" : tmp30 , f \"tmp302\" : tmp302 , f \"tmp303\" : tmp303 , f \"tmp304\" : tmp304 , f \"tmp305\" : tmp305 , f \"tmp306\" : tmp306 , f \"tmp307\" : tmp307 , f \"tmp308\" : tmp308 , f \"tmp310\" : tmp310 , f \"tmp315\" : tmp315 , f \"tmp316\" : tmp316 , f \"tmp317\" : tmp317 , f \"tmp318\" : tmp318 , f \"tmp32\" : tmp32 , f \"tmp320\" : tmp320 , f \"tmp322\" : tmp322 , f \"tmp325\" : tmp325 , f \"tmp326\" : tmp326 , f \"tmp327\" : tmp327 , f \"tmp328\" : tmp328 , f \"tmp329\" : tmp329 , f \"tmp33\" : tmp33 , f \"tmp330\" : tmp330 , f \"tmp334\" : tmp334 , f \"tmp335\" : tmp335 , f \"tmp337\" : tmp337 , f \"tmp338\" : tmp338 , f \"tmp339\" : tmp339 , f \"tmp34\" : tmp34 , f \"tmp340\" : tmp340 , f \"tmp341\" : tmp341 , f \"tmp342\" : tmp342 , f \"tmp344\" : tmp344 , f \"tmp345\" : tmp345 , f \"tmp346\" : tmp346 , f \"tmp350\" : tmp350 , f \"tmp351\" : tmp351 , f \"tmp352\" : tmp352 , f \"tmp354\" : tmp354 , f \"tmp356\" : tmp356 , f \"tmp357\" : tmp357 , f \"tmp358\" : tmp358 , f \"tmp36\" : tmp36 , f \"tmp362\" : tmp362 , f \"tmp363\" : tmp363 , f \"tmp364\" : tmp364 , f \"tmp365\" : tmp365 , f \"tmp366\" : tmp366 , f \"tmp367\" : tmp367 , f \"tmp37\" : tmp37 , f \"tmp372\" : tmp372 , f \"tmp373\" : tmp373 , f \"tmp374\" : tmp374 , f \"tmp385\" : tmp385 , f \"tmp387\" : tmp387 , f \"tmp389\" : tmp389 , f \"tmp39\" : tmp39 , f \"tmp392\" : tmp392 , f \"tmp394\" : tmp394 , f \"tmp396\" : tmp396 , f \"tmp4\" : tmp4 , f \"tmp401\" : tmp401 , f \"tmp403\" : tmp403 , f \"tmp41\" : tmp41 , f \"tmp414\" : tmp414 , f \"tmp416\" : tmp416 , f \"tmp418\" : tmp418 , f \"tmp42\" : tmp42 , f \"tmp43\" : tmp43 , f \"tmp434\" : tmp434 , f \"tmp438\" : tmp438 , f \"tmp440\" : tmp440 , f \"tmp442\" : tmp442 , f \"tmp447\" : tmp447 , f \"tmp449\" : tmp449 , f \"tmp453\" : tmp453 , f \"tmp455\" : tmp455 , f \"tmp457\" : tmp457 , f \"tmp459\" : tmp459 , f \"tmp461\" : tmp461 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp51\" : tmp51 , f \"tmp52\" : tmp52 , f \"tmp54\" : tmp54 , f \"tmp55\" : tmp55 , f \"tmp57\" : tmp57 , f \"tmp58\" : tmp58 , f \"tmp59\" : tmp59 , f \"tmp6\" : tmp6 , f \"tmp61\" : tmp61 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp7\" : tmp7 , f \"tmp70\" : tmp70 , f \"tmp72\" : tmp72 , f \"tmp74\" : tmp74 , f \"tmp78\" : tmp78 , f \"tmp79\" : tmp79 , f \"tmp80\" : tmp80 , f \"tmp81\" : tmp81 , f \"tmp82\" : tmp82 , f \"tmp83\" : tmp83 , f \"tmp85\" : tmp85 , f \"tmp87\" : tmp87 , f \"tmp9\" : tmp9 , f \"tmp90\" : tmp90 , f \"tmp92\" : tmp92 , f \"tmp93\" : tmp93 , f \"tmp95\" : tmp95 , f \"tmp98\" : tmp98 } ebcc . codegen . UDFCCSD . 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-17T20:45:01.146650. 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. Source code in ebcc/codegen/UDFCCSD.py 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 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-17T20:45:01.146650. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp47 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), r2 . aba , ( 1 , 3 , 2 ), ( 0 , 3 )) tmp48 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbb . xov , ( 3 , 1 , 2 ), ( 3 , 0 )) tmp12 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), r2 . bab , ( 1 , 3 , 2 ), ( 0 , 3 )) * - 1 tmp11 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 1 , 2 ), ( 0 , 3 )) tmp49 = np . copy ( tmp47 ) * - 1 tmp49 += tmp48 * 2 tmp77 = np . copy ( tmp47 ) * - 0.5 tmp77 += tmp48 tmp65 = np . copy ( ints . tmp37 ) tmp65 += np . transpose ( ints . tmp47 , ( 0 , 2 , 1 , 3 )) tmp24 = np . copy ( ints . tmp22 ) tmp24 += np . transpose ( ints . tmp2 , ( 0 , 2 , 1 , 3 )) tmp21 = np . copy ( tmp11 ) * 2 tmp21 += tmp12 tmp27 = np . copy ( tmp11 ) tmp27 += tmp12 * 0.5 tmp76 = einsum ( tmp49 , ( 0 , 1 ), ints . tmp16 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) tmp78 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp77 , ( 0 , 3 ), ( 3 , 1 , 2 )) * 2 del tmp77 tmp75 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp65 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 2 tmp25 = einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 3 ), ( 4 , 0 , 1 )) * - 1 tmp26 = einsum ( tmp21 , ( 0 , 1 ), v . baa . xoo , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) * 0.5 tmp28 = einsum ( ints . tmp6 , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 ), ( 1 , 2 , 3 )) tmp2 = np . copy ( f . bb . ov ) tmp2 += ints . tmp18 tmp2 += ints . tmp21 tmp2 += ints . tmp17 * - 1 del ints . tmp17 tmp92 = np . copy ( ints . tmp389 ) del ints . tmp389 tmp92 += np . transpose ( ints . tmp403 , ( 1 , 2 , 0 , 3 )) del ints . tmp403 tmp92 += np . transpose ( ints . tmp418 , ( 0 , 2 , 1 , 3 )) del ints . tmp418 tmp92 += np . transpose ( ints . tmp447 , ( 0 , 2 , 1 , 3 )) del ints . tmp447 tmp92 += ints . tmp459 del ints . tmp459 tmp92 += np . transpose ( ints . tmp416 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp416 tmp92 += ints . tmp455 * 2 del ints . tmp455 tmp90 = np . copy ( f . bb . oo ) tmp90 += ints . tmp36 tmp90 += np . transpose ( ints . tmp42 , ( 1 , 0 )) tmp90 += np . transpose ( ints . tmp43 , ( 1 , 0 )) tmp90 += np . transpose ( ints . tmp58 , ( 1 , 0 )) tmp90 += np . transpose ( ints . tmp59 , ( 1 , 0 )) tmp58 = np . copy ( ints . tmp335 ) del ints . tmp335 tmp58 += ints . tmp345 del ints . tmp345 tmp58 += ints . tmp298 * 2 del ints . tmp298 tmp88 = np . copy ( ints . tmp276 ) tmp88 += ints . tmp54 tmp88 += ints . tmp51 * 2 tmp79 = np . copy ( np . transpose ( tmp75 , ( 1 , 2 , 0 ))) * - 1 del tmp75 tmp79 += np . transpose ( tmp76 , ( 1 , 2 , 0 )) * - 1 del tmp76 tmp79 += np . transpose ( tmp78 , ( 0 , 2 , 1 )) del tmp78 tmp81 = np . copy ( ints . tmp37 ) tmp81 += np . transpose ( ints . tmp385 , ( 0 , 2 , 1 , 3 )) del ints . tmp385 tmp81 += np . transpose ( ints . tmp414 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp414 tmp81 += np . transpose ( ints . tmp453 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp453 tmp81 += np . transpose ( ints . tmp457 , ( 0 , 2 , 1 , 3 )) del ints . tmp457 tmp81 += ints . tmp461 del ints . tmp461 tmp81 += np . transpose ( ints . tmp47 , ( 0 , 2 , 1 , 3 )) tmp83 = np . copy ( ints . tmp52 ) * 2 tmp83 += ints . tmp55 tmp83 += ints . tmp41 * - 1 tmp83 += ints . tmp57 * - 1 tmp73 = np . copy ( ints . tmp276 ) tmp73 += ints . tmp51 * 2 tmp73 += ints . tmp54 tmp3 = np . copy ( f . aa . ov ) tmp3 += ints . tmp14 tmp3 += ints . tmp19 tmp3 += ints . tmp12 * - 1 del ints . tmp12 tmp29 = np . copy ( np . transpose ( tmp25 , ( 1 , 2 , 0 ))) * - 1 del tmp25 tmp29 += np . transpose ( tmp26 , ( 2 , 1 , 0 )) del tmp26 tmp29 += tmp28 * - 1 del tmp28 tmp31 = np . copy ( ints . tmp118 ) del ints . tmp118 tmp31 += ints . tmp179 del ints . tmp179 tmp31 += ints . tmp183 * 0.5 del ints . tmp183 tmp31 += np . transpose ( ints . tmp189 , ( 0 , 2 , 1 , 3 )) * 0.5 del ints . tmp189 tmp31 += ints . tmp22 * 0.5 tmp31 += np . transpose ( ints . tmp2 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp31 += ints . tmp83 * 0.5 del ints . tmp83 tmp22 = np . copy ( ints . tmp26 ) tmp22 += ints . tmp29 * 0.5 tmp22 += ints . tmp69 * 0.5 tmp33 = np . copy ( ints . tmp27 ) * 2 tmp33 += ints . tmp30 tmp33 += ints . tmp32 * - 1 tmp33 += ints . tmp7 * - 1 tmp15 = np . copy ( f . aa . oo ) tmp15 += np . transpose ( ints . tmp11 , ( 1 , 0 )) tmp15 += ints . tmp1 tmp15 += np . transpose ( ints . tmp33 , ( 1 , 0 )) tmp15 += np . transpose ( ints . tmp34 , ( 1 , 0 )) tmp15 += np . transpose ( ints . tmp9 , ( 1 , 0 )) tmp17 = np . copy ( ints . tmp105 ) del ints . tmp105 tmp17 += np . transpose ( ints . tmp122 , ( 1 , 0 , 2 , 3 )) del ints . tmp122 tmp17 += np . transpose ( ints . tmp171 , ( 1 , 0 , 2 , 3 )) del ints . tmp171 tmp17 += np . transpose ( ints . tmp187 , ( 2 , 0 , 1 , 3 )) del ints . tmp187 tmp17 += np . transpose ( ints . tmp87 , ( 2 , 0 , 1 , 3 )) del ints . tmp87 tmp17 += np . transpose ( ints . tmp120 , ( 1 , 0 , 2 , 3 )) * 2 del ints . tmp120 tmp17 += np . transpose ( ints . tmp181 , ( 2 , 0 , 1 , 3 )) * 2 del ints . tmp181 tmp9 = np . copy ( ints . tmp168 ) tmp9 += ints . tmp74 tmp9 += ints . tmp128 * 2 tmp13 = np . copy ( tmp11 ) * 2 del tmp11 tmp13 += tmp12 del tmp12 tmp62 = einsum ( tmp2 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp93 = einsum ( r1 . b , ( 0 ,), tmp92 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp92 tmp91 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp90 , ( 1 , 3 ), ( 3 , 0 , 2 )) * - 1 del tmp90 tmp87 = einsum ( tmp58 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 1 tmp86 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp48 , ( 0 , 3 ), ( 3 , 1 , 2 )) tmp89 = einsum ( tmp88 , ( 0 , 1 , 2 ), tmp47 , ( 0 , 3 ), ( 1 , 3 , 2 )) del tmp88 tmp56 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp131 , ( 1 , 0 , 2 , 3 ), ( 3 ,)) * - 1 del ints . tmp131 tmp55 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp156 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) tmp80 = einsum ( t1 . bb , ( 0 , 1 ), tmp79 , ( 2 , 0 , 3 ), ( 2 , 3 , 1 )) del tmp79 tmp72 = einsum ( tmp47 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) del tmp47 tmp71 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp449 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) del ints . tmp449 tmp70 = einsum ( ints . tmp295 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) tmp82 = einsum ( tmp81 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 1 ,), ( 0 , 2 , 3 )) del tmp81 tmp84 = einsum ( tmp83 , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 0 , 2 , 3 )) * - 2 del tmp83 tmp74 = einsum ( tmp73 , ( 0 , 1 , 2 ), tmp48 , ( 0 , 3 ), ( 1 , 3 , 2 )) * 2 del tmp48 , tmp73 tmp39 = einsum ( ints . tmp92 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 0 , 1 , 2 ), ( 3 ,)) del ints . tmp92 tmp40 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp156 , ( 1 , 0 , 3 , 2 ), ( 3 ,)) * - 1 del ints . tmp156 tmp1 = np . copy ( ints . tmp24 ) tmp1 += ints . tmp4 tmp66 = np . copy ( ints . tmp16 ) del ints . tmp16 tmp66 += v . bbb . xoo tmp37 = einsum ( t1 . aa , ( 0 , 1 ), tmp3 , ( 0 , 2 ), ( 2 , 1 )) tmp53 = np . copy ( ints . tmp6 ) del ints . tmp6 tmp53 += v . baa . xoo tmp52 = np . copy ( ints . tmp39 ) tmp52 += ints . tmp49 tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 , 3 )) * 2 del tmp29 tmp32 = einsum ( r1 . a , ( 0 ,), tmp31 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) * 2 del tmp31 tmp20 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp173 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) del ints . tmp173 tmp23 = einsum ( tmp22 , ( 0 , 1 , 2 ), tmp21 , ( 0 , 3 ), ( 3 , 1 , 2 )) * 2 del tmp22 tmp34 = einsum ( tmp33 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) * - 2 del tmp33 tmp8 = einsum ( ints . tmp132 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * - 1 tmp16 = einsum ( tmp15 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp15 tmp18 = einsum ( r1 . a , ( 0 ,), tmp17 , ( 0 , 1 , 2 , 3 ), ( 1 , 2 , 3 )) del tmp17 tmp10 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp9 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp9 tmp14 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp13 , ( 0 , 3 ), ( 1 , 3 , 2 )) del tmp13 tmp63 = np . copy ( ints . tmp277 ) del ints . tmp277 tmp63 += np . transpose ( ints . tmp318 , ( 1 , 0 )) * 2 del ints . tmp318 tmp63 += np . transpose ( ints . tmp320 , ( 1 , 0 )) del ints . tmp320 tmp63 += f . bb . vv * - 1 tmp63 += np . transpose ( ints . tmp275 , ( 1 , 0 )) * - 1 del ints . tmp275 tmp63 += np . transpose ( ints . tmp278 , ( 1 , 0 )) * - 1 del ints . tmp278 tmp63 += tmp62 del tmp62 tmp69 = np . copy ( ints . tmp302 ) del ints . tmp302 tmp69 += ints . tmp304 * 2 del ints . tmp304 tmp69 += ints . tmp308 del ints . tmp308 tmp69 += ints . tmp315 * 2 del ints . tmp315 tmp69 += ints . tmp316 del ints . tmp316 tmp69 += ints . tmp329 del ints . tmp329 tmp69 += ints . tmp330 del ints . tmp330 tmp69 += ints . tmp337 * 2 del ints . tmp337 tmp69 += ints . tmp340 del ints . tmp340 tmp69 += ints . tmp346 del ints . tmp346 tmp69 += ints . tmp356 del ints . tmp356 tmp69 += ints . tmp362 * 2 del ints . tmp362 tmp69 += ints . tmp363 del ints . tmp363 tmp69 += ints . tmp365 * 2 del ints . tmp365 tmp69 += ints . tmp366 del ints . tmp366 tmp69 += ints . tmp373 del ints . tmp373 tmp69 += ints . tmp374 del ints . tmp374 tmp69 += f . bb . ov * - 1 tmp69 += ints . tmp18 * - 1 del ints . tmp18 tmp69 += ints . tmp21 * - 1 del ints . tmp21 tmp69 += ints . tmp286 * - 1 del ints . tmp286 tmp69 += ints . tmp287 * - 2 del ints . tmp287 tmp69 += ints . tmp303 * - 1 del ints . tmp303 tmp69 += ints . tmp305 * - 2 del ints . tmp305 tmp69 += ints . tmp306 * - 1 del ints . tmp306 tmp69 += ints . tmp307 * - 2 del ints . tmp307 tmp69 += ints . tmp328 * - 1 del ints . tmp328 tmp69 += ints . tmp334 * - 1 del ints . tmp334 tmp69 += ints . tmp338 * - 1 del ints . tmp338 tmp69 += ints . tmp339 * - 1 del ints . tmp339 tmp69 += ints . tmp341 * - 1 del ints . tmp341 tmp69 += ints . tmp372 * - 1 del ints . tmp372 tmp94 = np . copy ( tmp86 ) * 2 del tmp86 tmp94 += np . transpose ( tmp87 , ( 1 , 0 , 2 )) * - 2 del tmp87 tmp94 += tmp89 del tmp89 tmp94 += tmp91 * - 2 del tmp91 tmp94 += tmp93 del tmp93 tmp57 = np . copy ( tmp55 ) * 0.5 del tmp55 tmp57 += tmp56 del tmp56 tmp95 = np . copy ( ints . tmp387 ) del ints . tmp387 tmp95 += ints . tmp394 del ints . tmp394 tmp95 += np . transpose ( ints . tmp401 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp401 tmp96 = np . copy ( ints . tmp396 ) del ints . tmp396 tmp96 += np . transpose ( ints . tmp434 , ( 1 , 2 , 0 , 3 )) del ints . tmp434 tmp96 += ints . tmp440 del ints . tmp440 tmp96 += ints . tmp442 del ints . tmp442 tmp96 += ints . tmp392 * - 1 del ints . tmp392 tmp96 += ints . tmp438 * - 1 del ints . tmp438 tmp85 = np . copy ( tmp70 ) del tmp70 tmp85 += tmp71 * 2 del tmp71 tmp85 += tmp72 del tmp72 tmp85 += tmp74 del tmp74 tmp85 += tmp80 del tmp80 tmp85 += tmp82 del tmp82 tmp85 += tmp84 del tmp84 tmp7 = np . copy ( f . bb . oo ) tmp7 += ints . tmp36 del ints . tmp36 tmp7 += np . transpose ( ints . tmp42 , ( 1 , 0 )) del ints . tmp42 tmp7 += np . transpose ( ints . tmp43 , ( 1 , 0 )) del ints . tmp43 tmp7 += np . transpose ( ints . tmp52 , ( 1 , 0 )) * 2 del ints . tmp52 tmp7 += np . transpose ( ints . tmp55 , ( 1 , 0 )) del ints . tmp55 tmp7 += np . transpose ( ints . tmp58 , ( 1 , 0 )) del ints . tmp58 tmp7 += np . transpose ( ints . tmp59 , ( 1 , 0 )) del ints . tmp59 tmp7 += np . transpose ( ints . tmp41 , ( 1 , 0 )) * - 1 del ints . tmp41 tmp7 += np . transpose ( ints . tmp57 , ( 1 , 0 )) * - 1 del ints . tmp57 tmp4 = np . copy ( f . aa . oo ) tmp4 += np . transpose ( ints . tmp11 , ( 1 , 0 )) del ints . tmp11 tmp4 += ints . tmp1 del ints . tmp1 tmp4 += np . transpose ( ints . tmp27 , ( 1 , 0 )) * 2 del ints . tmp27 tmp4 += np . transpose ( ints . tmp30 , ( 1 , 0 )) del ints . tmp30 tmp4 += np . transpose ( ints . tmp33 , ( 1 , 0 )) del ints . tmp33 tmp4 += np . transpose ( ints . tmp34 , ( 1 , 0 )) del ints . tmp34 tmp4 += np . transpose ( ints . tmp9 , ( 1 , 0 )) del ints . tmp9 tmp4 += np . transpose ( ints . tmp32 , ( 1 , 0 )) * - 1 del ints . tmp32 tmp4 += np . transpose ( ints . tmp7 , ( 1 , 0 )) * - 1 del ints . tmp7 tmp68 = np . copy ( tmp39 ) * 2 tmp68 += tmp40 * - 1 tmp59 = np . copy ( ints . tmp279 ) del ints . tmp279 tmp59 += ints . tmp357 del ints . tmp357 tmp59 += ints . tmp322 * - 1 del ints . tmp322 tmp61 = np . copy ( ints . tmp276 ) del ints . tmp276 tmp61 += ints . tmp51 * 2 del ints . tmp51 tmp61 += ints . tmp54 del ints . tmp54 tmp61 += v . bbb . xov tmp67 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 4 , 1 , 3 ), ( 0 , 2 , 4 )) tmp67 += einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 1 , 4 , 3 ), ( 4 , 2 , 0 )) del tmp65 tmp67 += einsum ( tmp21 , ( 0 , 1 ), tmp66 , ( 0 , 2 , 3 ), ( 1 , 3 , 2 )) del tmp21 , tmp66 tmp64 = np . copy ( ints . tmp24 ) del ints . tmp24 tmp64 += ints . tmp281 del ints . tmp281 tmp64 += np . transpose ( ints . tmp292 , ( 1 , 0 , 2 , 3 )) del ints . tmp292 tmp64 += np . transpose ( ints . tmp293 , ( 1 , 0 , 2 , 3 )) * 2 del ints . tmp293 tmp64 += np . transpose ( ints . tmp310 , ( 1 , 0 , 2 , 3 )) del ints . tmp310 tmp64 += ints . tmp326 del ints . tmp326 tmp64 += ints . tmp327 del ints . tmp327 tmp64 += ints . tmp342 del ints . tmp342 tmp64 += ints . tmp350 del ints . tmp350 tmp64 += ints . tmp352 * 2 del ints . tmp352 tmp64 += np . transpose ( ints . tmp358 , ( 1 , 0 , 2 , 3 )) del ints . tmp358 tmp64 += ints . tmp4 del ints . tmp4 tmp64 += ints . tmp284 * - 1 del ints . tmp284 tmp64 += np . transpose ( ints . tmp289 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp289 tmp64 += ints . tmp291 * - 1 del ints . tmp291 tmp64 += ints . tmp317 * - 1 del ints . tmp317 tmp64 += ints . tmp325 * - 1 del ints . tmp325 tmp64 += ints . tmp344 * - 1 del ints . tmp344 tmp64 += ints . tmp351 * - 1 del ints . tmp351 tmp64 += ints . tmp354 * - 1 del ints . tmp354 tmp64 += ints . tmp364 * - 1 del ints . tmp364 tmp64 += np . transpose ( ints . tmp367 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp367 tmp60 = np . copy ( ints . tmp210 ) tmp60 += ints . tmp214 tmp60 += ints . tmp249 tmp60 += np . transpose ( ints . tmp252 , ( 1 , 0 , 2 , 3 )) tmp60 += np . transpose ( ints . tmp264 , ( 0 , 1 , 3 , 2 )) tmp44 = np . copy ( ints . tmp206 ) del ints . tmp206 tmp44 += ints . tmp262 del ints . tmp262 tmp44 += ints . tmp236 * - 1 del ints . tmp236 tmp38 = np . copy ( np . transpose ( ints . tmp124 , ( 1 , 0 ))) * 2 del ints . tmp124 tmp38 += np . transpose ( ints . tmp126 , ( 1 , 0 )) del ints . tmp126 tmp38 += ints . tmp70 del ints . tmp70 tmp38 += f . aa . vv * - 1 tmp38 += np . transpose ( ints . tmp67 , ( 1 , 0 )) * - 1 del ints . tmp67 tmp38 += np . transpose ( ints . tmp72 , ( 1 , 0 )) * - 1 del ints . tmp72 tmp38 += tmp37 del tmp37 tmp43 = np . copy ( ints . tmp116 ) * 2 del ints . tmp116 tmp43 += ints . tmp117 del ints . tmp117 tmp43 += ints . tmp137 * 2 del ints . tmp137 tmp43 += ints . tmp139 del ints . tmp139 tmp43 += ints . tmp144 del ints . tmp144 tmp43 += ints . tmp145 del ints . tmp145 tmp43 += ints . tmp166 del ints . tmp166 tmp43 += ints . tmp170 del ints . tmp170 tmp43 += ints . tmp177 * 2 del ints . tmp177 tmp43 += ints . tmp178 del ints . tmp178 tmp43 += ints . tmp185 * 2 del ints . tmp185 tmp43 += ints . tmp186 del ints . tmp186 tmp43 += ints . tmp201 del ints . tmp201 tmp43 += ints . tmp202 del ints . tmp202 tmp43 += ints . tmp78 * 2 del ints . tmp78 tmp43 += ints . tmp81 del ints . tmp81 tmp43 += ints . tmp98 del ints . tmp98 tmp43 += f . aa . ov * - 1 tmp43 += ints . tmp101 * - 2 del ints . tmp101 tmp43 += ints . tmp102 * - 1 del ints . tmp102 tmp43 += ints . tmp138 * - 2 del ints . tmp138 tmp43 += ints . tmp140 * - 1 del ints . tmp140 tmp43 += ints . tmp141 * - 2 del ints . tmp141 tmp43 += ints . tmp142 * - 1 del ints . tmp142 tmp43 += ints . tmp143 * - 1 del ints . tmp143 tmp43 += ints . tmp14 * - 1 del ints . tmp14 tmp43 += ints . tmp19 * - 1 del ints . tmp19 tmp43 += ints . tmp200 * - 1 del ints . tmp200 tmp43 += ints . tmp61 * - 1 del ints . tmp61 tmp43 += ints . tmp79 * - 1 del ints . tmp79 tmp43 += ints . tmp80 * - 1 del ints . tmp80 tmp43 += ints . tmp82 * - 1 del ints . tmp82 tmp46 = np . copy ( ints . tmp210 ) del ints . tmp210 tmp46 += ints . tmp214 del ints . tmp214 tmp46 += ints . tmp249 del ints . tmp249 tmp46 += np . transpose ( ints . tmp252 , ( 1 , 0 , 2 , 3 )) del ints . tmp252 tmp46 += np . transpose ( ints . tmp264 , ( 0 , 1 , 3 , 2 )) del ints . tmp264 tmp50 = np . copy ( ints . tmp29 ) del ints . tmp29 tmp50 += ints . tmp69 del ints . tmp69 tmp50 += v . baa . xov tmp50 += ints . tmp26 * 2 del ints . tmp26 tmp45 = np . copy ( ints . tmp128 ) * 2 del ints . tmp128 tmp45 += ints . tmp168 del ints . tmp168 tmp45 += ints . tmp74 del ints . tmp74 tmp51 = np . copy ( ints . tmp208 ) del ints . tmp208 tmp51 += np . transpose ( ints . tmp219 , ( 0 , 2 , 1 , 3 )) del ints . tmp219 tmp51 += np . transpose ( ints . tmp220 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp220 tmp51 += np . transpose ( ints . tmp228 , ( 0 , 2 , 1 , 3 )) del ints . tmp228 tmp51 += ints . tmp242 del ints . tmp242 tmp51 += ints . tmp243 del ints . tmp243 tmp51 += ints . tmp248 del ints . tmp248 tmp51 += ints . tmp256 del ints . tmp256 tmp51 += ints . tmp258 * 2 del ints . tmp258 tmp51 += np . transpose ( ints . tmp263 , ( 0 , 2 , 1 , 3 )) del ints . tmp263 tmp51 += ints . tmp39 tmp51 += ints . tmp49 tmp51 += ints . tmp212 * - 1 del ints . tmp212 tmp51 += np . transpose ( ints . tmp216 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp216 tmp51 += ints . tmp218 * - 1 del ints . tmp218 tmp51 += ints . tmp233 * - 1 del ints . tmp233 tmp51 += ints . tmp241 * - 1 del ints . tmp241 tmp51 += ints . tmp251 * - 1 del ints . tmp251 tmp51 += ints . tmp257 * - 1 del ints . tmp257 tmp51 += ints . tmp260 * - 1 del ints . tmp260 tmp51 += ints . tmp268 * - 1 del ints . tmp268 tmp51 += np . transpose ( ints . tmp269 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp269 tmp54 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp24 , ( 3 , 4 , 0 , 2 ), ( 3 , 4 , 1 )) del tmp24 tmp54 += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp52 , ( 3 , 4 , 1 , 2 ), ( 0 , 3 , 4 )) del tmp52 tmp54 += einsum ( tmp53 , ( 0 , 1 , 2 ), tmp49 , ( 0 , 3 ), ( 1 , 2 , 3 )) del tmp53 tmp42 = np . copy ( ints . tmp152 ) del ints . tmp152 tmp42 += np . transpose ( ints . tmp161 , ( 2 , 0 , 1 , 3 )) del ints . tmp161 tmp42 += np . transpose ( ints . tmp163 , ( 2 , 0 , 1 , 3 )) del ints . tmp163 tmp42 += np . transpose ( ints . tmp95 , ( 2 , 0 , 1 , 3 )) del ints . tmp95 tmp42 += np . transpose ( ints . tmp159 , ( 2 , 0 , 1 , 3 )) * - 1 del ints . tmp159 tmp42 += np . transpose ( ints . tmp90 , ( 2 , 0 , 1 , 3 )) * - 1 del ints . tmp90 tmp35 = np . copy ( tmp20 ) * 2 del tmp20 tmp35 += np . transpose ( tmp23 , ( 1 , 0 , 2 )) del tmp23 tmp35 += tmp30 del tmp30 tmp35 += tmp32 del tmp32 tmp35 += np . transpose ( tmp34 , ( 1 , 0 , 2 )) del tmp34 tmp36 = np . copy ( np . transpose ( ints . tmp85 , ( 0 , 2 , 1 , 3 ))) del ints . tmp85 tmp36 += np . transpose ( ints . tmp93 , ( 0 , 2 , 1 , 3 )) del ints . tmp93 tmp36 += ints . tmp103 * - 1 del ints . tmp103 tmp41 = np . copy ( tmp39 ) del tmp39 tmp41 += tmp40 * - 0.5 del tmp40 tmp19 = np . copy ( tmp8 ) del tmp8 tmp19 += np . transpose ( tmp10 , ( 1 , 0 , 2 )) * - 2 del tmp10 tmp19 += np . transpose ( tmp14 , ( 1 , 0 , 2 )) del tmp14 tmp19 += np . transpose ( tmp16 , ( 1 , 0 , 2 )) * - 2 del tmp16 tmp19 += tmp18 del tmp18 tmp5 = np . copy ( ints . tmp37 ) del ints . tmp37 tmp5 += ints . tmp47 * - 1 del ints . tmp47 tmp6 = np . copy ( ints . tmp39 ) del ints . tmp39 tmp6 += ints . tmp49 del ints . tmp49 tmp0 = np . copy ( ints . tmp22 ) del ints . tmp22 tmp0 += ints . tmp2 * - 1 del ints . tmp2 r2new . bbb = np . copy ( tmp85 ) * - 1 r2new . bbb += np . transpose ( tmp85 , ( 1 , 0 , 2 )) del tmp85 r2new . bbb += tmp94 r2new . bbb += np . transpose ( tmp94 , ( 1 , 0 , 2 )) * - 1 del tmp94 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp95 , ( 3 , 4 , 0 , 1 ), ( 3 , 4 , 2 )) * 2 del tmp95 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp63 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 r2new . bbb += einsum ( tmp57 , ( 0 ,), t2 . bbbb , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * - 4 r2new . bbb += einsum ( tmp96 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 1 , 0 , 3 )) * - 2 del tmp96 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp69 , ( 1 , 2 ), ( 0 , 1 , 2 )) * - 1 r2new . bbb += einsum ( tmp69 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) r2new . bab = einsum ( ints . tmp295 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 0 , 2 ), ( 1 , 4 , 3 )) * 2 del ints . tmp295 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp58 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 1 del tmp58 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp59 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp59 r2new . bab += einsum ( tmp60 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 2 , 0 , 4 )) del tmp60 r2new . bab += einsum ( tmp27 , ( 0 , 1 ), tmp61 , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) * - 2 del tmp27 , tmp61 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp63 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp63 r2new . bab += einsum ( tmp64 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 2 , 0 , 3 )) del tmp64 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp7 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new . bab += einsum ( tmp4 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . bab += einsum ( t1 . bb , ( 0 , 1 ), tmp67 , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) del tmp67 r2new . bab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp68 , ( 2 ,), ( 1 , 0 , 3 )) * - 1 del tmp68 r2new . bab += einsum ( tmp69 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) del tmp69 r2new . aba = einsum ( ints . tmp132 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 1 , 3 ), ( 0 , 4 , 2 )) * 2 del ints . tmp132 r2new . aba += einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 1 del tmp44 r2new . aba += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * - 1 del tmp45 r2new . aba += einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) del tmp46 r2new . aba += einsum ( tmp50 , ( 0 , 1 , 2 ), tmp49 , ( 0 , 3 ), ( 1 , 3 , 2 )) * - 1 del tmp49 , tmp50 r2new . aba += einsum ( tmp38 , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aba += einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 0 , 1 , 3 )) del tmp51 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp7 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . aba += einsum ( tmp4 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . aba += einsum ( tmp54 , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 , 3 )) del tmp54 r2new . aba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp57 , ( 3 ,), ( 0 , 1 , 2 )) * - 2 del tmp57 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp43 , ( 1 , 2 ), ( 1 , 0 , 2 )) r2new . aaa = np . copy ( tmp19 ) r2new . aaa += np . transpose ( tmp19 , ( 1 , 0 , 2 )) * - 1 del tmp19 r2new . aaa += tmp35 * - 1 r2new . aaa += np . transpose ( tmp35 , ( 1 , 0 , 2 )) del tmp35 r2new . aaa += einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 3 , 1 , 4 ), ( 0 , 2 , 4 )) * - 2 del tmp36 r2new . aaa += einsum ( tmp38 , ( 0 , 1 ), r2 . aaa , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 del tmp38 r2new . aaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp41 , ( 3 ,), ( 0 , 1 , 2 )) * - 4 del tmp41 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp42 , ( 0 , 1 , 2 , 3 ), ( 2 , 1 , 3 )) * - 2 del tmp42 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp43 , ( 1 , 2 ), ( 0 , 1 , 2 )) * - 1 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp43 , ( 1 , 2 ), ( 1 , 0 , 2 )) del tmp43 r1new . b = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp5 , ( 3 , 0 , 1 , 2 ), ( 3 ,)) * - 2 del tmp5 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp6 , ( 0 , 3 , 1 , 2 ), ( 3 ,)) del tmp6 r1new . b += einsum ( tmp2 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 1 ), ( 2 ,)) * 2 r1new . b += einsum ( tmp3 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 1 ), ( 2 ,)) * - 1 r1new . b += einsum ( tmp7 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp7 r1new . a = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp0 , ( 3 , 0 , 1 , 2 ), ( 3 ,)) * 2 del tmp0 r1new . a += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 1 , 3 ), ( 0 ,)) del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 1 ), ( 2 ,)) * - 1 del tmp2 r1new . a += einsum ( tmp3 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 1 ), ( 2 ,)) * 2 del tmp3 r1new . a += einsum ( tmp4 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . UDFCCSD . hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:47:58.492820. 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 tmp100 : array tmp105 : array tmp11 : array tmp115 : array tmp117 : array tmp119 : array tmp12 : array tmp122 : array tmp124 : array tmp126 : array tmp13 : array tmp130 : array tmp135 : array tmp136 : array tmp137 : array tmp138 : array tmp147 : array tmp148 : array tmp149 : array tmp15 : array tmp156 : array tmp157 : array tmp159 : array tmp160 : array tmp162 : array tmp167 : array tmp17 : array tmp171 : array tmp172 : array tmp173 : array tmp175 : array tmp177 : array tmp178 : array tmp179 : array tmp18 : array tmp180 : array tmp181 : array tmp183 : array tmp184 : array tmp185 : array tmp186 : array tmp187 : array tmp19 : array tmp190 : array tmp193 : array tmp195 : array tmp197 : array tmp2 : array tmp20 : array tmp205 : array tmp206 : array tmp207 : array tmp218 : array tmp22 : array tmp221 : array tmp227 : array tmp23 : array tmp237 : array tmp239 : array tmp243 : array tmp245 : array tmp250 : array tmp256 : array tmp26 : array tmp265 : array tmp266 : array tmp267 : array tmp276 : array tmp279 : array tmp29 : array tmp290 : array tmp293 : array tmp298 : array tmp299 : array tmp30 : array tmp300 : array tmp301 : array tmp302 : array tmp303 : array tmp305 : array tmp315 : array tmp316 : array tmp318 : array tmp319 : array tmp32 : array tmp321 : array tmp322 : array tmp323 : array tmp325 : array tmp327 : array tmp328 : array tmp33 : array tmp330 : array tmp331 : array tmp332 : array tmp333 : array tmp335 : array tmp336 : array tmp337 : array tmp341 : array tmp342 : array tmp343 : array tmp344 : array tmp345 : array tmp346 : array tmp347 : array tmp353 : array tmp354 : array tmp355 : array tmp356 : array tmp357 : array tmp360 : array tmp364 : array tmp365 : array tmp366 : array tmp367 : array tmp368 : array tmp370 : array tmp371 : array tmp374 : array tmp375 : array tmp376 : array tmp380 : array tmp383 : array tmp387 : array tmp388 : array tmp389 : array tmp390 : array tmp391 : array tmp392 : array tmp393 : array tmp396 : array tmp4 : array tmp40 : array tmp411 : array tmp413 : array tmp415 : array tmp42 : array tmp425 : array tmp430 : array tmp44 : array tmp45 : array tmp453 : array tmp46 : array tmp469 : array tmp47 : array tmp471 : array tmp481 : array tmp485 : array tmp51 : array tmp56 : array tmp57 : array tmp59 : array tmp60 : array tmp67 : array tmp68 : array tmp7 : array tmp78 : array tmp8 : array tmp80 : array tmp82 : array tmp86 : array tmp89 : array tmp9 : array tmp94 : array tmp95 : array tmp96 : array tmp97 : array tmp98 : array tmp99 : array Source code in ebcc/codegen/UDFCCSD.py 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 def hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:47:58.492820. 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 ------- tmp100 : array tmp105 : array tmp11 : array tmp115 : array tmp117 : array tmp119 : array tmp12 : array tmp122 : array tmp124 : array tmp126 : array tmp13 : array tmp130 : array tmp135 : array tmp136 : array tmp137 : array tmp138 : array tmp147 : array tmp148 : array tmp149 : array tmp15 : array tmp156 : array tmp157 : array tmp159 : array tmp160 : array tmp162 : array tmp167 : array tmp17 : array tmp171 : array tmp172 : array tmp173 : array tmp175 : array tmp177 : array tmp178 : array tmp179 : array tmp18 : array tmp180 : array tmp181 : array tmp183 : array tmp184 : array tmp185 : array tmp186 : array tmp187 : array tmp19 : array tmp190 : array tmp193 : array tmp195 : array tmp197 : array tmp2 : array tmp20 : array tmp205 : array tmp206 : array tmp207 : array tmp218 : array tmp22 : array tmp221 : array tmp227 : array tmp23 : array tmp237 : array tmp239 : array tmp243 : array tmp245 : array tmp250 : array tmp256 : array tmp26 : array tmp265 : array tmp266 : array tmp267 : array tmp276 : array tmp279 : array tmp29 : array tmp290 : array tmp293 : array tmp298 : array tmp299 : array tmp30 : array tmp300 : array tmp301 : array tmp302 : array tmp303 : array tmp305 : array tmp315 : array tmp316 : array tmp318 : array tmp319 : array tmp32 : array tmp321 : array tmp322 : array tmp323 : array tmp325 : array tmp327 : array tmp328 : array tmp33 : array tmp330 : array tmp331 : array tmp332 : array tmp333 : array tmp335 : array tmp336 : array tmp337 : array tmp341 : array tmp342 : array tmp343 : array tmp344 : array tmp345 : array tmp346 : array tmp347 : array tmp353 : array tmp354 : array tmp355 : array tmp356 : array tmp357 : array tmp360 : array tmp364 : array tmp365 : array tmp366 : array tmp367 : array tmp368 : array tmp370 : array tmp371 : array tmp374 : array tmp375 : array tmp376 : array tmp380 : array tmp383 : array tmp387 : array tmp388 : array tmp389 : array tmp390 : array tmp391 : array tmp392 : array tmp393 : array tmp396 : array tmp4 : array tmp40 : array tmp411 : array tmp413 : array tmp415 : array tmp42 : array tmp425 : array tmp430 : array tmp44 : array tmp45 : array tmp453 : array tmp46 : array tmp469 : array tmp47 : array tmp471 : array tmp481 : array tmp485 : array tmp51 : array tmp56 : array tmp57 : array tmp59 : array tmp60 : array tmp67 : array tmp68 : array tmp7 : array tmp78 : array tmp8 : array tmp80 : array tmp82 : array tmp86 : array tmp89 : array tmp9 : array tmp94 : array tmp95 : array tmp96 : array tmp97 : array tmp98 : array tmp99 : array \"\"\" tmp6 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp10 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp17 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp12 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp22 = einsum ( tmp6 , ( 0 ,), v . bbb . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp19 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp18 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp59 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp56 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp20 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp15 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp6 , ( 0 ,), ( 1 , 2 )) tmp13 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp12 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp32 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp29 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp45 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp343 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp17 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp360 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp40 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp51 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp23 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp2 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp302 = einsum ( tmp6 , ( 0 ,), v . bbb . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp301 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp300 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp17 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp303 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp337 = einsum ( t1 . bb , ( 0 , 1 ), tmp22 , ( 2 , 1 ), ( 0 , 2 )) tmp336 = einsum ( t1 . bb , ( 0 , 1 ), tmp19 , ( 2 , 1 ), ( 0 , 2 )) tmp335 = einsum ( tmp18 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp325 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp323 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp56 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp327 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp17 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp316 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 2 , 1 ), ( 2 , 0 )) tmp47 = einsum ( tmp6 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp44 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp26 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp42 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp8 = einsum ( t1 . aa , ( 0 , 1 ), v . baa . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp179 = einsum ( tmp12 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp136 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp4 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp197 = einsum ( t1 . aa , ( 0 , 1 ), tmp20 , ( 2 , 1 ), ( 0 , 2 )) tmp195 = einsum ( tmp15 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp193 = einsum ( t1 . aa , ( 0 , 1 ), tmp13 , ( 2 , 1 ), ( 0 , 2 )) tmp11 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp7 = einsum ( tmp6 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp175 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp173 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp177 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp12 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp157 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp126 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) del tmp10 tmp124 = einsum ( tmp6 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp6 tmp122 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp12 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp130 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp485 = einsum ( tmp45 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp481 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp343 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp471 = einsum ( tmp45 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp469 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp453 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp360 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp430 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp59 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp425 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp56 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp415 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp413 = einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 3 , 1 )) tmp411 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp56 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp396 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp56 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp393 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp59 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp392 = einsum ( tmp22 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp391 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp20 , ( 0 , 2 ), ( 1 , 3 )) tmp390 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp19 , ( 1 , 3 ), ( 0 , 2 )) tmp389 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp18 , ( 1 , 3 ), ( 0 , 2 )) tmp388 = einsum ( tmp15 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp387 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp13 , ( 0 , 2 ), ( 1 , 3 )) tmp383 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp51 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp380 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 3 , 5 ), ( 1 , 4 , 2 , 5 )) tmp376 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp56 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp375 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 3 , 1 , 5 )) tmp374 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp59 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp371 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp370 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp368 = einsum ( t1 . bb , ( 0 , 1 ), tmp302 , ( 2 , 0 ), ( 2 , 1 )) tmp367 = einsum ( t1 . bb , ( 0 , 1 ), tmp301 , ( 2 , 0 ), ( 2 , 1 )) tmp366 = einsum ( t1 . bb , ( 0 , 1 ), tmp300 , ( 2 , 0 ), ( 2 , 1 )) tmp365 = einsum ( tmp303 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) tmp364 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp360 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp357 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp356 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . oo , ( 2 , 0 ), ( 2 , 1 )) tmp355 = einsum ( t1 . bb , ( 0 , 1 ), tmp337 , ( 2 , 0 ), ( 2 , 1 )) tmp354 = einsum ( t1 . bb , ( 0 , 1 ), tmp336 , ( 2 , 0 ), ( 2 , 1 )) tmp353 = einsum ( t1 . bb , ( 0 , 1 ), tmp335 , ( 2 , 0 ), ( 2 , 1 )) tmp347 = einsum ( t1 . bb , ( 0 , 1 ), tmp325 , ( 2 , 0 ), ( 2 , 1 )) tmp346 = einsum ( t1 . bb , ( 0 , 1 ), tmp323 , ( 2 , 0 ), ( 2 , 1 )) tmp345 = einsum ( tmp327 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) tmp344 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp343 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp342 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp341 = einsum ( t1 . bb , ( 0 , 1 ), tmp316 , ( 0 , 2 ), ( 2 , 1 )) tmp333 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp45 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp332 = einsum ( tmp47 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp331 = einsum ( tmp17 , ( 0 , 1 , 2 ), tmp45 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp330 = einsum ( tmp44 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp328 = einsum ( tmp327 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp322 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp59 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp321 = einsum ( tmp56 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * - 1 tmp319 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp318 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp45 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp315 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . vv , ( 2 , 1 ), ( 0 , 2 )) tmp305 = einsum ( tmp303 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp299 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp45 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp298 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp293 = einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp290 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp42 , ( 0 , 4 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) tmp279 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp276 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp267 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp266 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp40 , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 5 , 4 )) tmp265 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp256 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp250 = einsum ( tmp12 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp245 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp8 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp243 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp179 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp239 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp8 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp237 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp227 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp136 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp221 = einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp218 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) tmp207 = einsum ( t1 . aa , ( 0 , 1 ), tmp197 , ( 2 , 0 ), ( 2 , 1 )) tmp206 = einsum ( t1 . aa , ( 0 , 1 ), tmp195 , ( 2 , 0 ), ( 2 , 1 )) tmp205 = einsum ( tmp193 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp190 = einsum ( tmp8 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp187 = einsum ( t1 . aa , ( 0 , 1 ), tmp11 , ( 2 , 1 ), ( 0 , 2 )) tmp186 = einsum ( tmp8 , ( 0 , 1 , 2 ), tmp12 , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp185 = einsum ( tmp7 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp184 = einsum ( t1 . aa , ( 0 , 1 ), tmp175 , ( 2 , 0 ), ( 2 , 1 )) tmp183 = einsum ( t1 . aa , ( 0 , 1 ), tmp173 , ( 2 , 0 ), ( 2 , 1 )) tmp181 = einsum ( tmp177 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp180 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp179 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp178 = einsum ( tmp177 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp172 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp171 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * - 1 tmp167 = einsum ( tmp12 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp162 = einsum ( tmp8 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp160 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp159 = einsum ( t1 . aa , ( 0 , 1 ), tmp157 , ( 0 , 2 ), ( 2 , 1 )) tmp156 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . vv , ( 2 , 1 ), ( 0 , 2 )) tmp149 = einsum ( t1 . aa , ( 0 , 1 ), tmp126 , ( 2 , 0 ), ( 2 , 1 )) tmp148 = einsum ( t1 . aa , ( 0 , 1 ), tmp124 , ( 2 , 0 ), ( 2 , 1 )) tmp147 = einsum ( t1 . aa , ( 0 , 1 ), tmp122 , ( 2 , 0 ), ( 2 , 1 )) tmp138 = einsum ( tmp130 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp137 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp136 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp135 = einsum ( tmp130 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp119 = einsum ( tmp8 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp117 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp115 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . oo , ( 2 , 0 ), ( 2 , 1 )) tmp105 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp100 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp99 = einsum ( tmp22 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp98 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp20 , ( 1 , 3 ), ( 0 , 2 )) tmp97 = einsum ( tmp19 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp96 = einsum ( tmp18 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp95 = einsum ( tmp15 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp94 = einsum ( tmp13 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp89 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp86 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp82 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp80 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 3 , 1 )) tmp78 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp68 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp67 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 1 , 3 ), ( 0 , 2 )) tmp60 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp59 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp57 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp56 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp46 = einsum ( tmp45 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp33 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp9 = einsum ( tmp8 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) return { f \"tmp100\" : tmp100 , f \"tmp105\" : tmp105 , f \"tmp11\" : tmp11 , f \"tmp115\" : tmp115 , f \"tmp117\" : tmp117 , f \"tmp119\" : tmp119 , f \"tmp12\" : tmp12 , f \"tmp122\" : tmp122 , f \"tmp124\" : tmp124 , f \"tmp126\" : tmp126 , f \"tmp13\" : tmp13 , f \"tmp130\" : tmp130 , f \"tmp135\" : tmp135 , f \"tmp136\" : tmp136 , f \"tmp137\" : tmp137 , f \"tmp138\" : tmp138 , f \"tmp147\" : tmp147 , f \"tmp148\" : tmp148 , f \"tmp149\" : tmp149 , f \"tmp15\" : tmp15 , f \"tmp156\" : tmp156 , f \"tmp157\" : tmp157 , f \"tmp159\" : tmp159 , f \"tmp160\" : tmp160 , f \"tmp162\" : tmp162 , f \"tmp167\" : tmp167 , f \"tmp17\" : tmp17 , f \"tmp171\" : tmp171 , f \"tmp172\" : tmp172 , f \"tmp173\" : tmp173 , f \"tmp175\" : tmp175 , f \"tmp177\" : tmp177 , f \"tmp178\" : tmp178 , f \"tmp179\" : tmp179 , f \"tmp18\" : tmp18 , f \"tmp180\" : tmp180 , f \"tmp181\" : tmp181 , f \"tmp183\" : tmp183 , f \"tmp184\" : tmp184 , f \"tmp185\" : tmp185 , f \"tmp186\" : tmp186 , f \"tmp187\" : tmp187 , f \"tmp19\" : tmp19 , f \"tmp190\" : tmp190 , f \"tmp193\" : tmp193 , f \"tmp195\" : tmp195 , f \"tmp197\" : tmp197 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp205\" : tmp205 , f \"tmp206\" : tmp206 , f \"tmp207\" : tmp207 , f \"tmp218\" : tmp218 , f \"tmp22\" : tmp22 , f \"tmp221\" : tmp221 , f \"tmp227\" : tmp227 , f \"tmp23\" : tmp23 , f \"tmp237\" : tmp237 , f \"tmp239\" : tmp239 , f \"tmp243\" : tmp243 , f \"tmp245\" : tmp245 , f \"tmp250\" : tmp250 , f \"tmp256\" : tmp256 , f \"tmp26\" : tmp26 , f \"tmp265\" : tmp265 , f \"tmp266\" : tmp266 , f \"tmp267\" : tmp267 , f \"tmp276\" : tmp276 , f \"tmp279\" : tmp279 , f \"tmp29\" : tmp29 , f \"tmp290\" : tmp290 , f \"tmp293\" : tmp293 , f \"tmp298\" : tmp298 , f \"tmp299\" : tmp299 , f \"tmp30\" : tmp30 , f \"tmp300\" : tmp300 , f \"tmp301\" : tmp301 , f \"tmp302\" : tmp302 , f \"tmp303\" : tmp303 , f \"tmp305\" : tmp305 , f \"tmp315\" : tmp315 , f \"tmp316\" : tmp316 , f \"tmp318\" : tmp318 , f \"tmp319\" : tmp319 , f \"tmp32\" : tmp32 , f \"tmp321\" : tmp321 , f \"tmp322\" : tmp322 , f \"tmp323\" : tmp323 , f \"tmp325\" : tmp325 , f \"tmp327\" : tmp327 , f \"tmp328\" : tmp328 , f \"tmp33\" : tmp33 , f \"tmp330\" : tmp330 , f \"tmp331\" : tmp331 , f \"tmp332\" : tmp332 , f \"tmp333\" : tmp333 , f \"tmp335\" : tmp335 , f \"tmp336\" : tmp336 , f \"tmp337\" : tmp337 , f \"tmp341\" : tmp341 , f \"tmp342\" : tmp342 , f \"tmp343\" : tmp343 , f \"tmp344\" : tmp344 , f \"tmp345\" : tmp345 , f \"tmp346\" : tmp346 , f \"tmp347\" : tmp347 , f \"tmp353\" : tmp353 , f \"tmp354\" : tmp354 , f \"tmp355\" : tmp355 , f \"tmp356\" : tmp356 , f \"tmp357\" : tmp357 , f \"tmp360\" : tmp360 , f \"tmp364\" : tmp364 , f \"tmp365\" : tmp365 , f \"tmp366\" : tmp366 , f \"tmp367\" : tmp367 , f \"tmp368\" : tmp368 , f \"tmp370\" : tmp370 , f \"tmp371\" : tmp371 , f \"tmp374\" : tmp374 , f \"tmp375\" : tmp375 , f \"tmp376\" : tmp376 , f \"tmp380\" : tmp380 , f \"tmp383\" : tmp383 , f \"tmp387\" : tmp387 , f \"tmp388\" : tmp388 , f \"tmp389\" : tmp389 , f \"tmp390\" : tmp390 , f \"tmp391\" : tmp391 , f \"tmp392\" : tmp392 , f \"tmp393\" : tmp393 , f \"tmp396\" : tmp396 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp411\" : tmp411 , f \"tmp413\" : tmp413 , f \"tmp415\" : tmp415 , f \"tmp42\" : tmp42 , f \"tmp425\" : tmp425 , f \"tmp430\" : tmp430 , f \"tmp44\" : tmp44 , f \"tmp45\" : tmp45 , f \"tmp453\" : tmp453 , f \"tmp46\" : tmp46 , f \"tmp469\" : tmp469 , f \"tmp47\" : tmp47 , f \"tmp471\" : tmp471 , f \"tmp481\" : tmp481 , f \"tmp485\" : tmp485 , f \"tmp51\" : tmp51 , f \"tmp56\" : tmp56 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp60\" : tmp60 , f \"tmp67\" : tmp67 , f \"tmp68\" : tmp68 , f \"tmp7\" : tmp7 , f \"tmp78\" : tmp78 , f \"tmp8\" : tmp8 , f \"tmp80\" : tmp80 , f \"tmp82\" : tmp82 , f \"tmp86\" : tmp86 , f \"tmp89\" : tmp89 , f \"tmp9\" : tmp9 , f \"tmp94\" : tmp94 , f \"tmp95\" : tmp95 , f \"tmp96\" : tmp96 , f \"tmp97\" : tmp97 , f \"tmp98\" : tmp98 , f \"tmp99\" : tmp99 } ebcc . codegen . UDFCCSD . 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-17T20:47:58.590866. 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. Source code in ebcc/codegen/UDFCCSD.py 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 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-17T20:47:58.590866. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp63 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), r2 . bbb , ( 3 , 2 , 1 ), ( 0 , 3 )) tmp62 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), r2 . aba , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp18 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 2 , 1 ), ( 0 , 3 )) tmp19 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . bbb . xov , ( 3 , 2 , 0 ), ( 3 , 1 )) * - 1 tmp64 = np . copy ( tmp62 ) * - 1 tmp64 += tmp63 * 2 tmp82 = np . copy ( ints . tmp17 ) del ints . tmp17 tmp82 += v . bbb . xoo tmp120 = np . copy ( f . bb . ov ) tmp120 += ints . tmp19 tmp120 += ints . tmp22 tmp122 = np . copy ( ints . tmp298 ) tmp122 += ints . tmp319 tmp122 += ints . tmp383 * 2 tmp116 = einsum ( r1 . b , ( 0 ,), ints . tmp360 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) tmp103 = np . copy ( ints . tmp430 ) del ints . tmp430 tmp103 += np . transpose ( ints . tmp485 , ( 0 , 1 , 3 , 2 )) del ints . tmp485 tmp103 += ints . tmp51 tmp103 += ints . tmp425 * 2 del ints . tmp425 tmp99 = einsum ( r1 . b , ( 0 ,), ints . tmp343 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) tmp101 = np . copy ( ints . tmp343 ) tmp101 += np . transpose ( ints . tmp360 , ( 0 , 2 , 1 , 3 )) tmp23 = einsum ( r1 . a , ( 0 ,), ints . tmp177 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) tmp25 = np . copy ( ints . tmp130 ) tmp25 += np . transpose ( ints . tmp177 , ( 0 , 2 , 1 , 3 )) tmp27 = np . copy ( ints . tmp105 ) del ints . tmp105 tmp27 += np . transpose ( ints . tmp190 , ( 0 , 1 , 3 , 2 )) del ints . tmp190 tmp27 += ints . tmp23 tmp27 += ints . tmp100 * 2 del ints . tmp100 tmp39 = einsum ( ints . tmp130 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 3 ,), ( 0 , 1 , 2 )) tmp42 = np . copy ( ints . tmp12 ) del ints . tmp12 tmp42 += v . baa . xoo tmp34 = np . copy ( tmp18 ) tmp34 += tmp19 * 0.5 tmp46 = np . copy ( ints . tmp117 ) tmp46 += ints . tmp167 tmp46 += ints . tmp86 * 2 tmp44 = np . copy ( f . aa . ov ) tmp44 += ints . tmp15 tmp44 += ints . tmp20 tmp119 = einsum ( tmp64 , ( 0 , 1 ), tmp82 , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) tmp121 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp120 , ( 3 , 1 ), ( 3 , 2 , 0 )) * - 2 del tmp120 tmp123 = einsum ( tmp122 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 0 , 1 , 2 )) del tmp122 tmp118 = einsum ( ints . tmp40 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 4 ), ( 0 , 4 , 1 )) tmp117 = einsum ( t1 . bb , ( 0 , 1 ), tmp116 , ( 2 , 0 , 3 ), ( 2 , 3 , 1 )) del tmp116 tmp98 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp18 , ( 3 , 1 ), ( 3 , 2 , 0 )) tmp104 = einsum ( tmp103 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 0 , 1 , 2 )) del tmp103 tmp100 = einsum ( t1 . bb , ( 0 , 1 ), tmp99 , ( 2 , 0 , 3 ), ( 2 , 3 , 1 )) del tmp99 tmp102 = einsum ( tmp101 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 2 ), ( 0 , 1 , 4 )) * - 1 del tmp101 tmp22 = einsum ( ints . tmp13 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 0 , 3 , 2 )) tmp24 = einsum ( t1 . aa , ( 0 , 1 ), tmp23 , ( 2 , 0 , 3 ), ( 2 , 3 , 1 )) del tmp23 tmp26 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp25 , ( 3 , 2 , 4 , 1 ), ( 3 , 4 , 0 )) * - 1 del tmp25 tmp28 = einsum ( r1 . a , ( 0 ,), tmp27 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) del tmp27 tmp40 = einsum ( tmp39 , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 , 3 )) del tmp39 tmp43 = einsum ( tmp34 , ( 0 , 1 ), tmp42 , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) * 2 tmp47 = einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 3 ,), ( 0 , 1 , 2 )) del tmp46 tmp45 = einsum ( tmp44 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) * - 2 del tmp44 tmp41 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp2 , ( 3 , 4 , 0 , 1 ), ( 3 , 2 , 4 )) tmp126 = np . copy ( ints . tmp411 ) del ints . tmp411 tmp126 += ints . tmp415 * 0.5 del ints . tmp415 tmp124 = np . copy ( np . transpose ( tmp117 , ( 1 , 0 , 2 ))) del tmp117 tmp124 += tmp118 * 2 del tmp118 tmp124 += np . transpose ( tmp119 , ( 1 , 0 , 2 )) del tmp119 tmp124 += tmp121 * - 1 del tmp121 tmp124 += np . transpose ( tmp123 , ( 1 , 0 , 2 )) del tmp123 tmp112 = np . copy ( ints . tmp45 ) * 0.5 tmp112 += ints . tmp56 tmp112 += ints . tmp59 * 0.5 tmp114 = np . copy ( f . bb . vv ) * 0.5 tmp114 += np . transpose ( ints . tmp44 , ( 1 , 0 )) * 0.5 tmp114 += np . transpose ( ints . tmp47 , ( 1 , 0 )) * 0.5 tmp114 += np . transpose ( ints . tmp57 , ( 1 , 0 )) * - 1 tmp114 += np . transpose ( ints . tmp60 , ( 1 , 0 )) * - 0.5 tmp96 = np . copy ( ints . tmp45 ) tmp96 += ints . tmp59 tmp96 += ints . tmp56 * 2 tmp94 = np . copy ( ints . tmp298 ) tmp94 += ints . tmp319 tmp94 += ints . tmp383 * 2 tmp107 = np . copy ( ints . tmp40 ) tmp107 += np . transpose ( ints . tmp471 , ( 0 , 2 , 1 , 3 )) del ints . tmp471 tmp107 += ints . tmp413 * 2 del ints . tmp413 tmp105 = np . copy ( tmp98 ) * 2 del tmp98 tmp105 += np . transpose ( tmp100 , ( 1 , 0 , 2 )) del tmp100 tmp105 += np . transpose ( tmp102 , ( 1 , 0 , 2 )) * - 2 del tmp102 tmp105 += np . transpose ( tmp104 , ( 1 , 0 , 2 )) del tmp104 tmp0 = np . copy ( f . bb . ov ) tmp0 += ints . tmp19 tmp0 += ints . tmp22 tmp0 += ints . tmp18 * - 1 del ints . tmp18 tmp1 = np . copy ( f . aa . ov ) tmp1 += ints . tmp15 tmp1 += ints . tmp20 tmp1 += ints . tmp13 * - 1 del ints . tmp13 tmp56 = einsum ( ints . tmp26 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 3 , 4 ), ( 0 , 4 , 1 )) tmp73 = np . copy ( ints . tmp136 ) tmp73 += np . transpose ( ints . tmp179 , ( 1 , 0 , 2 , 3 )) tmp29 = np . copy ( np . transpose ( tmp22 , ( 1 , 0 , 2 ))) * 2 del tmp22 tmp29 += tmp24 del tmp24 tmp29 += tmp26 * - 2 del tmp26 tmp29 += tmp28 del tmp28 tmp20 = np . copy ( tmp18 ) * 2 del tmp18 tmp20 += tmp19 del tmp19 tmp31 = np . copy ( ints . tmp162 ) del ints . tmp162 tmp31 += np . transpose ( ints . tmp2 , ( 0 , 2 , 1 , 3 )) tmp31 += np . transpose ( ints . tmp80 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp80 tmp16 = np . copy ( ints . tmp117 ) tmp16 += ints . tmp167 tmp16 += ints . tmp86 * 2 tmp35 = np . copy ( ints . tmp29 ) * 2 tmp35 += ints . tmp32 tmp35 += ints . tmp8 tmp48 = np . copy ( np . transpose ( tmp40 , ( 1 , 0 , 2 ))) del tmp40 tmp48 += tmp41 * 2 del tmp41 tmp48 += np . transpose ( tmp43 , ( 1 , 0 , 2 )) del tmp43 tmp48 += np . transpose ( tmp45 , ( 1 , 0 , 2 )) * - 1 del tmp45 tmp48 += np . transpose ( tmp47 , ( 1 , 0 , 2 )) del tmp47 tmp37 = np . copy ( f . aa . vv ) * 0.5 tmp37 += np . transpose ( ints . tmp11 , ( 1 , 0 )) * 0.5 tmp37 += np . transpose ( ints . tmp7 , ( 1 , 0 )) * 0.5 tmp37 += np . transpose ( ints . tmp30 , ( 1 , 0 )) * - 1 tmp37 += np . transpose ( ints . tmp33 , ( 1 , 0 )) * - 0.5 tmp50 = np . copy ( ints . tmp78 ) del ints . tmp78 tmp50 += ints . tmp82 * 0.5 del ints . tmp82 tmp90 = einsum ( ints . tmp51 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) tmp127 = einsum ( r1 . b , ( 0 ,), tmp126 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) * 2 del tmp126 tmp125 = einsum ( tmp124 , ( 0 , 1 , 2 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 , 3 )) del tmp124 tmp110 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp380 , ( 2 , 3 , 0 , 4 ), ( 3 , 4 , 1 )) tmp111 = einsum ( tmp62 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) tmp113 = einsum ( tmp63 , ( 0 , 1 ), tmp112 , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) * 4 del tmp112 tmp115 = einsum ( tmp114 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 3 ), ( 3 , 1 , 2 )) * - 4 del tmp114 tmp93 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp63 , ( 0 , 3 ), ( 1 , 3 , 2 )) del tmp63 tmp97 = einsum ( tmp96 , ( 0 , 1 , 2 ), tmp62 , ( 0 , 3 ), ( 1 , 2 , 3 )) del tmp62 , tmp96 tmp92 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp46 , ( 1 , 3 ), ( 2 , 3 , 0 )) tmp95 = einsum ( tmp94 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 1 ), ( 0 , 2 , 4 )) * - 1 del tmp94 tmp108 = einsum ( tmp107 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 0 , 1 , 3 )) del tmp107 tmp106 = einsum ( tmp105 , ( 0 , 1 , 2 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 , 3 )) del tmp105 tmp10 = einsum ( r1 . b , ( 0 ,), tmp0 , ( 1 , 0 ), ( 1 ,)) tmp9 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp51 , ( 2 , 3 , 1 , 0 ), ( 3 ,)) * - 1 del ints . tmp51 tmp8 = einsum ( ints . tmp26 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 3 , 0 ), ( 1 ,)) tmp68 = einsum ( tmp1 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 2 , 1 )) tmp66 = einsum ( tmp0 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp76 = einsum ( ints . tmp26 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 2 , 4 ), ( 0 , 1 , 4 )) * - 1 tmp78 = np . copy ( np . transpose ( r2 . bab , ( 2 , 1 , 0 ))) * - 1 tmp78 += einsum ( t1 . bb , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) tmp85 = np . copy ( ints . tmp303 ) del ints . tmp303 tmp85 += ints . tmp327 del ints . tmp327 tmp86 = np . copy ( ints . tmp26 ) tmp86 += ints . tmp333 del ints . tmp333 tmp86 += ints . tmp393 del ints . tmp393 tmp86 += ints . tmp396 * 2 del ints . tmp396 tmp86 += ints . tmp380 * - 1 tmp80 = np . copy ( ints . tmp343 ) del ints . tmp343 tmp80 += np . transpose ( ints . tmp360 , ( 0 , 2 , 1 , 3 )) del ints . tmp360 tmp3 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp23 , ( 2 , 3 , 0 , 1 ), ( 3 ,)) tmp4 = einsum ( ints . tmp26 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 2 , 1 ), ( 0 ,)) * - 1 tmp5 = einsum ( r1 . a , ( 0 ,), tmp1 , ( 1 , 0 ), ( 1 ,)) tmp60 = np . copy ( ints . tmp130 ) del ints . tmp130 tmp60 += np . transpose ( ints . tmp177 , ( 0 , 2 , 1 , 3 )) del ints . tmp177 tmp72 = np . copy ( ints . tmp245 ) del ints . tmp245 tmp72 += ints . tmp26 del ints . tmp26 tmp72 += ints . tmp276 del ints . tmp276 tmp72 += ints . tmp279 * 2 del ints . tmp279 tmp72 += ints . tmp89 * - 1 tmp71 = np . copy ( ints . tmp136 ) del ints . tmp136 tmp71 += ints . tmp179 del ints . tmp179 tmp74 = np . copy ( tmp56 ) * - 1 tmp74 += einsum ( r1 . b , ( 0 ,), tmp73 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) del tmp73 tmp30 = einsum ( t1 . aa , ( 0 , 1 ), tmp29 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) del tmp29 tmp21 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp20 , ( 0 , 3 ), ( 1 , 2 , 3 )) del tmp20 tmp32 = einsum ( tmp31 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 0 , 2 , 3 )) del tmp31 tmp15 = einsum ( ints . tmp89 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 0 , 2 , 4 )) * - 1 tmp17 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp16 , ( 3 , 2 , 4 , 1 ), ( 3 , 0 , 4 )) * - 1 del tmp16 tmp14 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp9 , ( 1 , 3 ), ( 2 , 3 , 0 )) tmp12 = einsum ( ints . tmp23 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) del ints . tmp23 tmp36 = einsum ( tmp35 , ( 0 , 1 , 2 ), tmp34 , ( 0 , 3 ), ( 1 , 2 , 3 )) * 2 del tmp35 tmp49 = einsum ( tmp48 , ( 0 , 1 , 2 ), t1 . aa , ( 0 , 3 ), ( 1 , 3 , 2 )) del tmp48 tmp38 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp37 , ( 1 , 3 ), ( 2 , 0 , 3 )) * - 4 del tmp37 tmp51 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 0 , 1 , 3 )) * 2 del tmp50 tmp91 = einsum ( t1 . bb , ( 0 , 1 ), tmp90 , ( 2 , 0 , 3 ), ( 2 , 3 , 1 )) tmp128 = np . copy ( tmp110 ) del tmp110 tmp128 += tmp111 del tmp111 tmp128 += tmp113 del tmp113 tmp128 += tmp115 * - 1 del tmp115 tmp128 += tmp125 del tmp125 tmp128 += tmp127 del tmp127 tmp109 = np . copy ( tmp92 ) * 2 del tmp92 tmp109 += tmp93 * 2 del tmp93 tmp109 += tmp95 * - 2 del tmp95 tmp109 += tmp97 del tmp97 tmp109 += tmp106 del tmp106 tmp109 += tmp108 del tmp108 tmp129 = np . copy ( ints . tmp453 ) del ints . tmp453 tmp129 += ints . tmp481 * - 1 del ints . tmp481 tmp11 = np . copy ( tmp8 ) del tmp8 tmp11 += tmp9 * 2 del tmp9 tmp11 += tmp10 * - 1 del tmp10 tmp88 = np . copy ( f . bb . oo ) tmp88 += np . transpose ( ints . tmp301 , ( 1 , 0 )) del ints . tmp301 tmp88 += np . transpose ( ints . tmp302 , ( 1 , 0 )) del ints . tmp302 tmp88 += ints . tmp316 del ints . tmp316 tmp88 += np . transpose ( ints . tmp323 , ( 1 , 0 )) * 2 del ints . tmp323 tmp88 += np . transpose ( ints . tmp325 , ( 1 , 0 )) del ints . tmp325 tmp88 += np . transpose ( ints . tmp336 , ( 1 , 0 )) del ints . tmp336 tmp88 += np . transpose ( ints . tmp337 , ( 1 , 0 )) del ints . tmp337 tmp88 += np . transpose ( ints . tmp300 , ( 1 , 0 )) * - 1 del ints . tmp300 tmp88 += np . transpose ( ints . tmp335 , ( 1 , 0 )) * - 1 del ints . tmp335 tmp89 = np . copy ( ints . tmp299 ) del ints . tmp299 tmp89 += ints . tmp321 * 2 del ints . tmp321 tmp89 += ints . tmp331 del ints . tmp331 tmp89 += ints . tmp341 del ints . tmp341 tmp89 += ints . tmp344 * 2 del ints . tmp344 tmp89 += ints . tmp345 del ints . tmp345 tmp89 += ints . tmp346 * 2 del ints . tmp346 tmp89 += ints . tmp347 del ints . tmp347 tmp89 += ints . tmp354 del ints . tmp354 tmp89 += ints . tmp355 del ints . tmp355 tmp89 += ints . tmp356 del ints . tmp356 tmp89 += ints . tmp364 * 2 del ints . tmp364 tmp89 += ints . tmp365 del ints . tmp365 tmp89 += ints . tmp367 del ints . tmp367 tmp89 += ints . tmp368 del ints . tmp368 tmp89 += ints . tmp387 del ints . tmp387 tmp89 += ints . tmp389 * 2 del ints . tmp389 tmp89 += f . bb . ov * - 1 tmp89 += ints . tmp19 * - 1 del ints . tmp19 tmp89 += ints . tmp22 * - 1 del ints . tmp22 tmp89 += ints . tmp315 * - 1 del ints . tmp315 tmp89 += ints . tmp322 * - 1 del ints . tmp322 tmp89 += ints . tmp330 * - 1 del ints . tmp330 tmp89 += ints . tmp332 * - 1 del ints . tmp332 tmp89 += ints . tmp353 * - 1 del ints . tmp353 tmp89 += ints . tmp366 * - 1 del ints . tmp366 tmp89 += ints . tmp370 * - 1 del ints . tmp370 tmp89 += ints . tmp371 * - 2 del ints . tmp371 tmp89 += ints . tmp388 * - 1 del ints . tmp388 tmp89 += ints . tmp390 * - 2 del ints . tmp390 tmp89 += ints . tmp391 * - 1 del ints . tmp391 tmp89 += ints . tmp392 * - 2 del ints . tmp392 tmp69 = np . copy ( np . transpose ( ints . tmp30 , ( 1 , 0 ))) * 2 tmp69 += np . transpose ( ints . tmp33 , ( 1 , 0 )) tmp69 += ints . tmp9 tmp69 += f . aa . vv * - 1 tmp69 += np . transpose ( ints . tmp11 , ( 1 , 0 )) * - 1 tmp69 += np . transpose ( ints . tmp7 , ( 1 , 0 )) * - 1 tmp69 += np . transpose ( tmp68 , ( 1 , 0 )) del tmp68 tmp84 = np . copy ( ints . tmp305 ) del ints . tmp305 tmp84 += np . transpose ( ints . tmp318 , ( 0 , 2 , 1 , 3 )) del ints . tmp318 tmp84 += ints . tmp328 del ints . tmp328 tmp84 += np . transpose ( ints . tmp374 , ( 0 , 2 , 1 , 3 )) del ints . tmp374 tmp84 += np . transpose ( ints . tmp376 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp376 tmp84 += ints . tmp4 tmp84 += ints . tmp290 * - 1 del ints . tmp290 tmp84 += np . transpose ( ints . tmp375 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp375 tmp67 = np . copy ( ints . tmp46 ) tmp67 += np . transpose ( ints . tmp57 , ( 1 , 0 )) * 2 tmp67 += np . transpose ( ints . tmp60 , ( 1 , 0 )) tmp67 += f . bb . vv * - 1 tmp67 += np . transpose ( ints . tmp44 , ( 1 , 0 )) * - 1 tmp67 += np . transpose ( ints . tmp47 , ( 1 , 0 )) * - 1 tmp67 += tmp66 del tmp66 tmp87 = einsum ( ints . tmp42 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 0 , 4 , 2 )) tmp87 += einsum ( t1 . bb , ( 0 , 1 ), tmp76 , ( 2 , 0 , 3 ), ( 2 , 3 , 1 )) tmp87 += einsum ( tmp85 , ( 0 , 1 , 2 , 3 ), tmp78 , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) del tmp85 tmp87 += einsum ( tmp86 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 0 , 1 , 3 )) * - 1 del tmp86 tmp81 = np . copy ( ints . tmp298 ) del ints . tmp298 tmp81 += ints . tmp319 del ints . tmp319 tmp81 += ints . tmp383 * 2 del ints . tmp383 tmp81 += einsum ( t1 . bb , ( 0 , 1 ), tmp80 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp80 tmp83 = np . copy ( ints . tmp45 ) del ints . tmp45 tmp83 += ints . tmp56 * 2 del ints . tmp56 tmp83 += ints . tmp59 del ints . tmp59 tmp83 += v . bbb . xov tmp83 += einsum ( t1 . bb , ( 0 , 1 ), tmp82 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp82 tmp77 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp4 , ( 3 , 4 , 1 , 0 ), ( 3 , 2 , 4 )) * - 1 tmp79 = np . copy ( ints . tmp342 ) del ints . tmp342 tmp79 += ints . tmp357 del ints . tmp357 tmp79 += ints . tmp293 * - 1 del ints . tmp293 tmp6 = np . copy ( tmp3 ) * - 2 del tmp3 tmp6 += tmp4 del tmp4 tmp6 += tmp5 del tmp5 tmp58 = np . copy ( np . transpose ( r2 . aba , ( 2 , 0 , 1 ))) tmp58 += einsum ( r1 . b , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 1 , 2 , 0 )) * - 1 tmp53 = np . copy ( f . aa . oo ) tmp53 += np . transpose ( ints . tmp124 , ( 1 , 0 )) del ints . tmp124 tmp53 += np . transpose ( ints . tmp126 , ( 1 , 0 )) del ints . tmp126 tmp53 += ints . tmp157 del ints . tmp157 tmp53 += np . transpose ( ints . tmp173 , ( 1 , 0 )) * 2 del ints . tmp173 tmp53 += np . transpose ( ints . tmp175 , ( 1 , 0 )) del ints . tmp175 tmp53 += np . transpose ( ints . tmp195 , ( 1 , 0 )) del ints . tmp195 tmp53 += np . transpose ( ints . tmp197 , ( 1 , 0 )) del ints . tmp197 tmp53 += np . transpose ( ints . tmp122 , ( 1 , 0 )) * - 1 del ints . tmp122 tmp53 += np . transpose ( ints . tmp193 , ( 1 , 0 )) * - 1 del ints . tmp193 tmp57 = einsum ( ints . tmp42 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 4 ), ( 0 , 4 , 2 )) tmp65 = np . copy ( ints . tmp29 ) * 2 del ints . tmp29 tmp65 += ints . tmp32 del ints . tmp32 tmp65 += ints . tmp8 del ints . tmp8 tmp65 += v . baa . xov tmp65 += einsum ( t1 . aa , ( 0 , 1 ), tmp42 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp42 tmp70 = np . copy ( ints . tmp227 ) del ints . tmp227 tmp70 += np . transpose ( ints . tmp239 , ( 0 , 1 , 3 , 2 )) del ints . tmp239 tmp70 += ints . tmp243 del ints . tmp243 tmp70 += np . transpose ( ints . tmp265 , ( 0 , 1 , 3 , 2 )) del ints . tmp265 tmp70 += np . transpose ( ints . tmp267 , ( 0 , 1 , 3 , 2 )) * 2 del ints . tmp267 tmp70 += ints . tmp42 tmp70 += ints . tmp218 * - 1 del ints . tmp218 tmp70 += np . transpose ( ints . tmp266 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp266 tmp61 = np . copy ( ints . tmp117 ) del ints . tmp117 tmp61 += ints . tmp167 del ints . tmp167 tmp61 += ints . tmp86 * 2 del ints . tmp86 tmp61 += einsum ( tmp60 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 del tmp60 tmp55 = np . copy ( ints . tmp115 ) del ints . tmp115 tmp55 += ints . tmp119 del ints . tmp119 tmp55 += ints . tmp135 * 2 del ints . tmp135 tmp55 += ints . tmp137 del ints . tmp137 tmp55 += ints . tmp148 del ints . tmp148 tmp55 += ints . tmp149 del ints . tmp149 tmp55 += ints . tmp159 del ints . tmp159 tmp55 += ints . tmp171 * 2 del ints . tmp171 tmp55 += ints . tmp178 * 2 del ints . tmp178 tmp55 += ints . tmp180 del ints . tmp180 tmp55 += ints . tmp183 * 2 del ints . tmp183 tmp55 += ints . tmp184 del ints . tmp184 tmp55 += ints . tmp186 del ints . tmp186 tmp55 += ints . tmp206 del ints . tmp206 tmp55 += ints . tmp207 del ints . tmp207 tmp55 += ints . tmp94 * 2 del ints . tmp94 tmp55 += ints . tmp96 del ints . tmp96 tmp55 += f . aa . ov * - 1 tmp55 += ints . tmp147 * - 1 del ints . tmp147 tmp55 += ints . tmp156 * - 1 del ints . tmp156 tmp55 += ints . tmp15 * - 1 del ints . tmp15 tmp55 += ints . tmp172 * - 1 del ints . tmp172 tmp55 += ints . tmp185 * - 1 del ints . tmp185 tmp55 += ints . tmp187 * - 1 del ints . tmp187 tmp55 += ints . tmp205 * - 1 del ints . tmp205 tmp55 += ints . tmp20 * - 1 del ints . tmp20 tmp55 += ints . tmp67 * - 2 del ints . tmp67 tmp55 += ints . tmp68 * - 1 del ints . tmp68 tmp55 += ints . tmp95 * - 2 del ints . tmp95 tmp55 += ints . tmp97 * - 1 del ints . tmp97 tmp55 += ints . tmp98 * - 2 del ints . tmp98 tmp55 += ints . tmp99 * - 1 del ints . tmp99 tmp59 = np . copy ( ints . tmp250 ) del ints . tmp250 tmp59 += ints . tmp256 del ints . tmp256 tmp59 += ints . tmp221 * - 1 del ints . tmp221 tmp75 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp4 , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) * - 1 tmp75 += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp71 , ( 3 , 2 , 4 , 1 ), ( 3 , 4 , 0 )) del tmp71 tmp75 += einsum ( r1 . b , ( 0 ,), tmp72 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) del tmp72 tmp75 += einsum ( t1 . aa , ( 0 , 1 ), tmp74 , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) * - 1 del tmp74 tmp54 = np . copy ( ints . tmp138 ) del ints . tmp138 tmp54 += ints . tmp181 * - 1 del ints . tmp181 tmp33 = np . copy ( tmp14 ) * 2 del tmp14 tmp33 += tmp15 del tmp15 tmp33 += np . transpose ( tmp17 , ( 0 , 2 , 1 )) * - 2 del tmp17 tmp33 += np . transpose ( tmp21 , ( 0 , 2 , 1 )) del tmp21 tmp33 += np . transpose ( tmp30 , ( 0 , 2 , 1 )) del tmp30 tmp33 += tmp32 del tmp32 tmp13 = einsum ( tmp12 , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 , 3 )) tmp52 = np . copy ( tmp36 ) del tmp36 tmp52 += np . transpose ( tmp38 , ( 0 , 2 , 1 )) * - 1 del tmp38 tmp52 += np . transpose ( tmp49 , ( 0 , 2 , 1 )) del tmp49 tmp52 += tmp51 del tmp51 tmp7 = np . copy ( ints . tmp46 ) del ints . tmp46 tmp7 += np . transpose ( ints . tmp57 , ( 1 , 0 )) * 2 del ints . tmp57 tmp7 += np . transpose ( ints . tmp60 , ( 1 , 0 )) del ints . tmp60 tmp7 += f . bb . vv * - 1 tmp7 += np . transpose ( ints . tmp44 , ( 1 , 0 )) * - 1 del ints . tmp44 tmp7 += np . transpose ( ints . tmp47 , ( 1 , 0 )) * - 1 del ints . tmp47 tmp2 = np . copy ( np . transpose ( ints . tmp30 , ( 1 , 0 ))) * 2 del ints . tmp30 tmp2 += np . transpose ( ints . tmp33 , ( 1 , 0 )) del ints . tmp33 tmp2 += ints . tmp9 del ints . tmp9 tmp2 += f . aa . vv * - 1 tmp2 += np . transpose ( ints . tmp11 , ( 1 , 0 )) * - 1 del ints . tmp11 tmp2 += np . transpose ( ints . tmp7 , ( 1 , 0 )) * - 1 del ints . tmp7 r2new . bbb = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp469 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) * - 2 del ints . tmp469 r2new . bbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp90 , ( 1 , 0 , 4 ), ( 2 , 3 , 4 )) * - 2 del tmp90 r2new . bbb += einsum ( t1 . bb , ( 0 , 1 ), tmp91 , ( 0 , 2 , 3 ), ( 3 , 1 , 2 )) * - 2 del tmp91 r2new . bbb += np . transpose ( tmp109 , ( 1 , 2 , 0 )) r2new . bbb += np . transpose ( tmp109 , ( 2 , 1 , 0 )) * - 1 del tmp109 r2new . bbb += np . transpose ( tmp128 , ( 1 , 2 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp128 , ( 2 , 1 , 0 )) del tmp128 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp88 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 r2new . bbb += einsum ( tmp11 , ( 0 ,), t2 . bbbb , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) * - 2 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp129 , ( 1 , 2 , 3 , 0 ), ( 3 , 2 , 1 )) * 2 del tmp129 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp89 , ( 1 , 2 ), ( 0 , 2 , 1 )) * - 1 r2new . bbb += einsum ( tmp89 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 1 , 2 , 0 )) r2new . bab = einsum ( ints . tmp237 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 2 , 0 , 4 )) r2new . bab += einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp380 , ( 2 , 3 , 1 , 4 ), ( 4 , 0 , 3 )) * 2 del ints . tmp380 r2new . bab += einsum ( tmp76 , ( 0 , 1 , 2 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 4 , 3 , 2 )) * - 1 del tmp76 r2new . bab += einsum ( t1 . bb , ( 0 , 1 ), tmp77 , ( 0 , 2 , 3 ), ( 1 , 3 , 2 )) del tmp77 r2new . bab += einsum ( tmp79 , ( 0 , 1 , 2 , 3 ), tmp78 , ( 1 , 3 , 4 ), ( 4 , 2 , 0 )) del tmp78 , tmp79 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp81 , ( 3 , 2 , 4 , 0 ), ( 4 , 1 , 3 )) * - 1 del tmp81 r2new . bab += einsum ( tmp34 , ( 0 , 1 ), tmp83 , ( 0 , 2 , 3 ), ( 3 , 1 , 2 )) * - 2 del tmp34 , tmp83 r2new . bab += einsum ( tmp69 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp67 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new . bab += einsum ( tmp84 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 3 , 1 , 0 )) * - 1 del tmp84 r2new . bab += einsum ( t1 . aa , ( 0 , 1 ), tmp87 , ( 0 , 2 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp87 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp88 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp88 r2new . bab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp6 , ( 0 ,), ( 3 , 2 , 1 )) r2new . bab += einsum ( tmp89 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 1 , 2 , 0 )) del tmp89 r2new . aba = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp237 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) del ints . tmp237 r2new . aba += einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp89 , ( 3 , 2 , 4 , 1 ), ( 4 , 0 , 3 )) * 2 del ints . tmp89 r2new . aba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp56 , ( 0 , 4 , 1 ), ( 2 , 3 , 4 )) del tmp56 r2new . aba += einsum ( t1 . aa , ( 0 , 1 ), tmp57 , ( 0 , 2 , 3 ), ( 1 , 3 , 2 )) * - 1 del tmp57 r2new . aba += einsum ( tmp59 , ( 0 , 1 , 2 , 3 ), tmp58 , ( 1 , 4 , 3 ), ( 4 , 2 , 0 )) * - 1 del tmp59 , tmp58 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp61 , ( 3 , 2 , 4 , 0 ), ( 4 , 1 , 3 )) * - 1 del tmp61 r2new . aba += einsum ( tmp64 , ( 0 , 1 ), tmp65 , ( 0 , 2 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp64 , tmp65 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp67 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp67 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp69 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp69 r2new . aba += einsum ( tmp70 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 1 , 2 , 0 )) * - 1 del tmp70 r2new . aba += einsum ( t1 . bb , ( 0 , 1 ), tmp75 , ( 2 , 0 , 3 ), ( 3 , 1 , 2 )) del tmp75 r2new . aba += einsum ( tmp53 , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp11 , ( 1 ,), ( 2 , 3 , 0 )) * - 1 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp55 , ( 1 , 2 ), ( 2 , 0 , 1 )) r2new . aaa = einsum ( tmp12 , ( 0 , 1 , 2 ), t2 . aaaa , ( 1 , 0 , 3 , 4 ), ( 3 , 4 , 2 )) * - 2 del tmp12 r2new . aaa += einsum ( tmp13 , ( 0 , 1 , 2 ), t1 . aa , ( 0 , 3 ), ( 2 , 3 , 1 )) * - 2 del tmp13 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp160 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) * - 2 del ints . tmp160 r2new . aaa += np . transpose ( tmp33 , ( 1 , 2 , 0 )) r2new . aaa += np . transpose ( tmp33 , ( 2 , 1 , 0 )) * - 1 del tmp33 r2new . aaa += np . transpose ( tmp52 , ( 1 , 2 , 0 )) * - 1 r2new . aaa += np . transpose ( tmp52 , ( 2 , 1 , 0 )) del tmp52 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp53 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp53 r2new . aaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 ,), ( 2 , 3 , 0 )) * 2 r2new . aaa += einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 3 ,), ( 2 , 1 , 0 )) * 2 del tmp54 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp55 , ( 1 , 2 ), ( 0 , 2 , 1 )) * - 1 r2new . aaa += einsum ( tmp55 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 1 , 2 , 0 )) del tmp55 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp42 , ( 2 , 0 , 3 , 1 ), ( 3 ,)) * - 1 del ints . tmp42 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp40 , ( 2 , 3 , 1 , 0 ), ( 3 ,)) * - 2 del ints . tmp40 r1new . b += einsum ( tmp0 , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 0 ), ( 2 ,)) * 2 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp1 , ( 2 , 0 ), ( 1 ,)) * - 1 r1new . b += einsum ( tmp7 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp7 r1new . b += einsum ( t1 . bb , ( 0 , 1 ), tmp11 , ( 0 ,), ( 1 ,)) del tmp11 r1new . a = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp2 , ( 2 , 3 , 0 , 1 ), ( 3 ,)) * 2 del ints . tmp2 r1new . a += einsum ( ints . tmp4 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 2 , 0 ), ( 1 ,)) * - 1 del ints . tmp4 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp0 , ( 2 , 0 ), ( 1 ,)) * - 1 del tmp0 r1new . a += einsum ( tmp1 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 0 ), ( 2 ,)) * 2 del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp2 r1new . a += einsum ( t1 . aa , ( 0 , 1 ), tmp6 , ( 0 ,), ( 1 ,)) * - 1 del tmp6 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . UDFCCSD . hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:50:45.616699. 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 tmp1 : array tmp10 : array tmp100 : array tmp102 : array tmp103 : array tmp105 : array tmp106 : array tmp107 : array tmp108 : array tmp11 : array tmp110 : array tmp112 : array tmp114 : array tmp116 : array tmp118 : array tmp119 : array tmp121 : array tmp123 : array tmp125 : array tmp127 : array tmp129 : array tmp13 : array tmp131 : array tmp133 : array tmp135 : array tmp137 : array tmp138 : array tmp140 : array tmp142 : array tmp143 : array tmp145 : array tmp147 : array tmp148 : array tmp15 : array tmp150 : array tmp151 : array tmp153 : array tmp155 : array tmp156 : array tmp158 : array tmp159 : array tmp161 : array tmp162 : array tmp164 : array tmp166 : array tmp167 : array tmp168 : array tmp17 : array tmp170 : array tmp171 : array tmp172 : array tmp174 : array tmp175 : array tmp176 : array tmp177 : array tmp179 : array tmp181 : array tmp182 : array tmp183 : array tmp184 : array tmp185 : array tmp187 : array tmp188 : array tmp189 : array tmp19 : array tmp190 : array tmp192 : array tmp194 : array tmp195 : array tmp196 : array tmp197 : array tmp198 : array tmp199 : array tmp2 : array tmp201 : array tmp203 : array tmp204 : array tmp205 : array tmp206 : array tmp207 : array tmp208 : array tmp209 : array tmp21 : array tmp211 : array tmp213 : array tmp215 : array tmp217 : array tmp219 : array tmp22 : array tmp220 : array tmp221 : array tmp222 : array tmp223 : array tmp225 : array tmp226 : array tmp227 : array tmp228 : array tmp23 : array tmp230 : array tmp231 : array tmp239 : array tmp241 : array tmp246 : array tmp247 : array tmp249 : array tmp25 : array tmp255 : array tmp257 : array tmp264 : array tmp265 : array tmp267 : array tmp268 : array tmp27 : array tmp270 : array tmp271 : array tmp273 : array tmp28 : array tmp280 : array tmp283 : array tmp294 : array tmp296 : array tmp298 : array tmp30 : array tmp300 : array tmp302 : array tmp304 : array tmp310 : array tmp311 : array tmp313 : array tmp314 : array tmp316 : array tmp318 : array tmp32 : array tmp320 : array tmp325 : array tmp326 : array tmp327 : array tmp329 : array tmp33 : array tmp334 : array tmp335 : array tmp337 : array tmp339 : array tmp34 : array tmp340 : array tmp344 : array tmp346 : array tmp351 : array tmp352 : array tmp354 : array tmp358 : array tmp36 : array tmp369 : array tmp37 : array tmp375 : array tmp377 : array tmp39 : array tmp4 : array tmp41 : array tmp415 : array tmp418 : array tmp42 : array tmp420 : array tmp44 : array tmp45 : array tmp46 : array tmp461 : array tmp462 : array tmp463 : array tmp464 : array tmp467 : array tmp469 : array tmp47 : array tmp471 : array tmp48 : array tmp486 : array tmp487 : array tmp489 : array tmp491 : array tmp492 : array tmp493 : array tmp5 : array tmp50 : array tmp52 : array tmp54 : array tmp55 : array tmp56 : array tmp57 : array tmp59 : array tmp60 : array tmp62 : array tmp64 : array tmp65 : array tmp67 : array tmp68 : array tmp7 : array tmp70 : array tmp72 : array tmp74 : array tmp75 : array tmp77 : array tmp78 : array tmp79 : array tmp8 : array tmp80 : array tmp82 : array tmp83 : array tmp85 : array tmp87 : array tmp89 : array tmp91 : array tmp94 : array tmp97 : array tmp99 : array Source code in ebcc/codegen/UDFCCSD.py 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 def hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:50:45.616699. 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 ------- tmp1 : array tmp10 : array tmp100 : array tmp102 : array tmp103 : array tmp105 : array tmp106 : array tmp107 : array tmp108 : array tmp11 : array tmp110 : array tmp112 : array tmp114 : array tmp116 : array tmp118 : array tmp119 : array tmp121 : array tmp123 : array tmp125 : array tmp127 : array tmp129 : array tmp13 : array tmp131 : array tmp133 : array tmp135 : array tmp137 : array tmp138 : array tmp140 : array tmp142 : array tmp143 : array tmp145 : array tmp147 : array tmp148 : array tmp15 : array tmp150 : array tmp151 : array tmp153 : array tmp155 : array tmp156 : array tmp158 : array tmp159 : array tmp161 : array tmp162 : array tmp164 : array tmp166 : array tmp167 : array tmp168 : array tmp17 : array tmp170 : array tmp171 : array tmp172 : array tmp174 : array tmp175 : array tmp176 : array tmp177 : array tmp179 : array tmp181 : array tmp182 : array tmp183 : array tmp184 : array tmp185 : array tmp187 : array tmp188 : array tmp189 : array tmp19 : array tmp190 : array tmp192 : array tmp194 : array tmp195 : array tmp196 : array tmp197 : array tmp198 : array tmp199 : array tmp2 : array tmp201 : array tmp203 : array tmp204 : array tmp205 : array tmp206 : array tmp207 : array tmp208 : array tmp209 : array tmp21 : array tmp211 : array tmp213 : array tmp215 : array tmp217 : array tmp219 : array tmp22 : array tmp220 : array tmp221 : array tmp222 : array tmp223 : array tmp225 : array tmp226 : array tmp227 : array tmp228 : array tmp23 : array tmp230 : array tmp231 : array tmp239 : array tmp241 : array tmp246 : array tmp247 : array tmp249 : array tmp25 : array tmp255 : array tmp257 : array tmp264 : array tmp265 : array tmp267 : array tmp268 : array tmp27 : array tmp270 : array tmp271 : array tmp273 : array tmp28 : array tmp280 : array tmp283 : array tmp294 : array tmp296 : array tmp298 : array tmp30 : array tmp300 : array tmp302 : array tmp304 : array tmp310 : array tmp311 : array tmp313 : array tmp314 : array tmp316 : array tmp318 : array tmp32 : array tmp320 : array tmp325 : array tmp326 : array tmp327 : array tmp329 : array tmp33 : array tmp334 : array tmp335 : array tmp337 : array tmp339 : array tmp34 : array tmp340 : array tmp344 : array tmp346 : array tmp351 : array tmp352 : array tmp354 : array tmp358 : array tmp36 : array tmp369 : array tmp37 : array tmp375 : array tmp377 : array tmp39 : array tmp4 : array tmp41 : array tmp415 : array tmp418 : array tmp42 : array tmp420 : array tmp44 : array tmp45 : array tmp46 : array tmp461 : array tmp462 : array tmp463 : array tmp464 : array tmp467 : array tmp469 : array tmp47 : array tmp471 : array tmp48 : array tmp486 : array tmp487 : array tmp489 : array tmp491 : array tmp492 : array tmp493 : array tmp5 : array tmp50 : array tmp52 : array tmp54 : array tmp55 : array tmp56 : array tmp57 : array tmp59 : array tmp60 : array tmp62 : array tmp64 : array tmp65 : array tmp67 : array tmp68 : array tmp7 : array tmp70 : array tmp72 : array tmp74 : array tmp75 : array tmp77 : array tmp78 : array tmp79 : array tmp8 : array tmp80 : array tmp82 : array tmp83 : array tmp85 : array tmp87 : array tmp89 : array tmp91 : array tmp94 : array tmp97 : array tmp99 : array \"\"\" tmp29 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp31 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp106 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp27 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp170 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp325 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp47 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp29 , ( 0 ,), ( 1 , 2 )) tmp48 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp31 , ( 0 ,), ( 1 , 2 )) tmp44 = einsum ( tmp31 , ( 0 ,), v . bbb . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp107 = einsum ( tmp106 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp39 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp29 , ( 0 ,), ( 1 , 2 )) tmp99 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp27 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp166 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp59 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp77 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp82 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp56 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp45 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp41 = einsum ( t1 . aa , ( 0 , 1 ), v . baa . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp230 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp106 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp351 = einsum ( tmp106 , ( 0 , 1 , 2 ), tmp106 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp194 = einsum ( tmp27 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp196 = einsum ( tmp106 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp334 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp106 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp171 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp170 , ( 4 , 5 , 2 , 3 ), ( 0 , 4 , 1 , 5 )) tmp326 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp325 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 5 , 4 )) * - 1 tmp54 = einsum ( tmp27 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp137 = einsum ( tmp106 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp282 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp279 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp25 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp64 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp36 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp246 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp227 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp225 = einsum ( t1 . bb , ( 0 , 1 ), tmp47 , ( 2 , 1 ), ( 0 , 2 )) tmp176 = einsum ( tmp48 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp221 = einsum ( t1 . bb , ( 0 , 1 ), tmp44 , ( 2 , 1 ), ( 0 , 2 )) tmp219 = einsum ( t1 . bb , ( 0 , 1 ), tmp107 , ( 2 , 1 ), ( 0 , 2 )) tmp175 = einsum ( tmp39 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp174 = einsum ( t1 . aa , ( 0 , 1 ), tmp99 , ( 2 , 1 ), ( 0 , 2 )) tmp208 = einsum ( tmp31 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp206 = einsum ( tmp29 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp203 = einsum ( tmp31 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp198 = einsum ( tmp29 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp189 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp187 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp29 , ( 0 ,), ( 1 , 2 )) tmp32 = einsum ( tmp31 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp183 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp31 , ( 0 ,), ( 1 , 2 )) del tmp31 tmp181 = einsum ( tmp106 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp30 = einsum ( tmp29 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp29 tmp28 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp27 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp167 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp166 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 5 , 4 )) * - 1 tmp60 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp161 = einsum ( tmp77 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp158 = einsum ( tmp82 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp57 = einsum ( tmp56 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp142 = einsum ( tmp106 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp50 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp96 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp93 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp67 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp23 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp33 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp21 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp493 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp170 , ( 4 , 1 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) tmp492 = einsum ( tmp27 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp491 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp489 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp77 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp487 = einsum ( tmp82 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp486 = einsum ( tmp45 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp471 = einsum ( tmp325 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp469 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp325 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp467 = einsum ( tmp106 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp464 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp463 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp170 , ( 0 , 4 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) tmp462 = einsum ( tmp106 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp461 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp420 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp418 = einsum ( tmp56 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp415 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp41 , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp377 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp166 , ( 0 , 4 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp375 = einsum ( tmp166 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp369 = einsum ( tmp27 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp358 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp354 = einsum ( tmp230 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp352 = einsum ( tmp351 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp346 = einsum ( tmp106 , ( 0 , 1 , 2 ), tmp41 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp344 = einsum ( tmp106 , ( 0 , 1 , 2 ), tmp45 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp340 = einsum ( tmp194 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp339 = einsum ( tmp196 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) tmp337 = einsum ( t1 . bb , ( 0 , 1 ), tmp334 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp335 = einsum ( t1 . bb , ( 0 , 1 ), tmp334 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp329 = einsum ( tmp171 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp327 = einsum ( tmp326 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 1 tmp320 = einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp318 = einsum ( tmp77 , ( 0 , 1 , 2 ), tmp106 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp316 = einsum ( tmp106 , ( 0 , 1 , 2 ), tmp56 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp314 = einsum ( tmp137 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp313 = einsum ( tmp137 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp311 = einsum ( tmp106 , ( 0 , 1 , 2 ), tmp82 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp310 = einsum ( tmp106 , ( 0 , 1 , 2 ), tmp59 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp304 = einsum ( tmp47 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp302 = einsum ( tmp47 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp300 = einsum ( tmp44 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp298 = einsum ( tmp44 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp296 = einsum ( tmp107 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp294 = einsum ( tmp107 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp283 = einsum ( tmp282 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) del tmp282 tmp280 = einsum ( tmp279 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) * - 1 del tmp279 tmp273 = einsum ( tmp77 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp271 = einsum ( tmp56 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp270 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp25 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp268 = einsum ( tmp82 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp267 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp265 = einsum ( tmp64 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) tmp264 = einsum ( tmp64 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp257 = einsum ( tmp41 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp255 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp45 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp249 = einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp247 = einsum ( tmp246 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 3 , 0 , 2 , 4 )) tmp241 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp239 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp231 = einsum ( t1 . bb , ( 0 , 1 ), tmp230 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp228 = einsum ( t1 . aa , ( 0 , 1 ), tmp227 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp226 = einsum ( t1 . bb , ( 0 , 1 ), tmp225 , ( 2 , 0 ), ( 2 , 1 )) tmp223 = einsum ( t1 . aa , ( 0 , 1 ), tmp176 , ( 2 , 0 ), ( 2 , 1 )) tmp222 = einsum ( t1 . bb , ( 0 , 1 ), tmp221 , ( 2 , 0 ), ( 2 , 1 )) tmp220 = einsum ( t1 . bb , ( 0 , 1 ), tmp219 , ( 2 , 0 ), ( 2 , 1 )) tmp217 = einsum ( t1 . aa , ( 0 , 1 ), tmp175 , ( 2 , 0 ), ( 2 , 1 )) tmp215 = einsum ( t1 . aa , ( 0 , 1 ), tmp174 , ( 2 , 0 ), ( 2 , 1 )) tmp213 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp45 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp211 = einsum ( tmp41 , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp209 = einsum ( t1 . aa , ( 0 , 1 ), tmp208 , ( 2 , 1 ), ( 0 , 2 )) tmp207 = einsum ( t1 . bb , ( 0 , 1 ), tmp206 , ( 2 , 1 ), ( 0 , 2 )) tmp205 = einsum ( tmp106 , ( 0 , 1 , 2 ), tmp45 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp204 = einsum ( tmp203 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp201 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp41 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp199 = einsum ( t1 . aa , ( 0 , 1 ), tmp198 , ( 2 , 1 ), ( 0 , 2 )) tmp197 = einsum ( t1 . bb , ( 0 , 1 ), tmp196 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp195 = einsum ( t1 . bb , ( 0 , 1 ), tmp194 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp192 = einsum ( t1 . aa , ( 0 , 1 ), tmp189 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp190 = einsum ( t1 . aa , ( 0 , 1 ), tmp189 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp188 = einsum ( t1 . bb , ( 0 , 1 ), tmp187 , ( 2 , 0 ), ( 2 , 1 )) tmp185 = einsum ( tmp32 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp184 = einsum ( t1 . bb , ( 0 , 1 ), tmp183 , ( 2 , 0 ), ( 2 , 1 )) tmp182 = einsum ( t1 . bb , ( 0 , 1 ), tmp181 , ( 2 , 0 ), ( 2 , 1 )) tmp179 = einsum ( tmp30 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp177 = einsum ( t1 . aa , ( 0 , 1 ), tmp28 , ( 2 , 0 ), ( 2 , 1 )) tmp172 = einsum ( t1 . bb , ( 0 , 1 ), tmp171 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp168 = einsum ( t1 . aa , ( 0 , 1 ), tmp167 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp164 = einsum ( tmp60 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp162 = einsum ( t1 . bb , ( 0 , 1 ), tmp161 , ( 2 , 0 ), ( 2 , 1 )) tmp159 = einsum ( t1 . bb , ( 0 , 1 ), tmp158 , ( 2 , 0 ), ( 2 , 1 )) tmp156 = einsum ( tmp57 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp155 = einsum ( tmp142 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 1 , 5 )) tmp153 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp82 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp151 = einsum ( tmp59 , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp150 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) tmp148 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp50 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp147 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp77 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp145 = einsum ( tmp56 , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp143 = einsum ( tmp142 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) tmp140 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp54 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp138 = einsum ( tmp137 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp135 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp50 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp133 = einsum ( tmp48 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp131 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp48 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp129 = einsum ( tmp39 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp127 = einsum ( tmp39 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp125 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp99 , ( 4 , 2 ), ( 0 , 4 , 1 , 3 )) tmp123 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp99 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp121 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp47 , ( 1 , 3 ), ( 0 , 2 )) tmp119 = einsum ( tmp47 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp118 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp48 , ( 0 , 2 ), ( 1 , 3 )) tmp116 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp48 , ( 1 , 3 ), ( 0 , 2 )) tmp114 = einsum ( tmp44 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp112 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp44 , ( 1 , 3 ), ( 0 , 2 )) tmp110 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp107 , ( 1 , 3 ), ( 0 , 2 )) tmp108 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp107 , ( 1 , 3 ), ( 0 , 2 )) tmp105 = einsum ( tmp39 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp103 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp39 , ( 1 , 3 ), ( 0 , 2 )) tmp102 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp99 , ( 0 , 2 ), ( 1 , 3 )) tmp100 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp99 , ( 1 , 3 ), ( 0 , 2 )) tmp97 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp96 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) del tmp96 tmp94 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp93 , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) * - 1 del tmp93 tmp91 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp59 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp89 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp77 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp87 = einsum ( tmp82 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * - 1 tmp85 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp56 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp83 = einsum ( tmp82 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp80 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp79 = einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) tmp78 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp77 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp75 = einsum ( tmp56 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp74 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp72 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp23 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp70 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp68 = einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) tmp65 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp64 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp62 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp23 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp55 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp45 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp52 = einsum ( tmp41 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp46 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp45 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp42 = einsum ( tmp41 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp37 = einsum ( t1 . bb , ( 0 , 1 ), tmp36 , ( 2 , 3 , 4 , 0 ), ( 3 , 2 , 4 , 1 )) tmp34 = einsum ( t1 . aa , ( 0 , 1 ), tmp33 , ( 2 , 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) tmp22 = einsum ( t1 . bb , ( 0 , 1 ), tmp21 , ( 0 , 2 ), ( 2 , 1 )) tmp19 = einsum ( tmp1 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp17 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp15 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp13 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp11 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp10 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp8 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 1 , 3 ), ( 0 , 2 )) tmp7 = einsum ( f . bb . vv , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp5 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . vv , ( 2 , 1 ), ( 0 , 2 )) tmp4 = einsum ( f . bb . oo , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp2 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . oo , ( 2 , 0 ), ( 2 , 1 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp102\" : tmp102 , f \"tmp103\" : tmp103 , f \"tmp105\" : tmp105 , f \"tmp106\" : tmp106 , f \"tmp107\" : tmp107 , f \"tmp108\" : tmp108 , f \"tmp11\" : tmp11 , f \"tmp110\" : tmp110 , f \"tmp112\" : tmp112 , f \"tmp114\" : tmp114 , f \"tmp116\" : tmp116 , f \"tmp118\" : tmp118 , f \"tmp119\" : tmp119 , f \"tmp121\" : tmp121 , f \"tmp123\" : tmp123 , f \"tmp125\" : tmp125 , f \"tmp127\" : tmp127 , f \"tmp129\" : tmp129 , f \"tmp13\" : tmp13 , f \"tmp131\" : tmp131 , f \"tmp133\" : tmp133 , f \"tmp135\" : tmp135 , f \"tmp137\" : tmp137 , f \"tmp138\" : tmp138 , f \"tmp140\" : tmp140 , f \"tmp142\" : tmp142 , f \"tmp143\" : tmp143 , f \"tmp145\" : tmp145 , f \"tmp147\" : tmp147 , f \"tmp148\" : tmp148 , f \"tmp15\" : tmp15 , f \"tmp150\" : tmp150 , f \"tmp151\" : tmp151 , f \"tmp153\" : tmp153 , f \"tmp155\" : tmp155 , f \"tmp156\" : tmp156 , f \"tmp158\" : tmp158 , f \"tmp159\" : tmp159 , f \"tmp161\" : tmp161 , f \"tmp162\" : tmp162 , f \"tmp164\" : tmp164 , f \"tmp166\" : tmp166 , f \"tmp167\" : tmp167 , f \"tmp168\" : tmp168 , f \"tmp17\" : tmp17 , f \"tmp170\" : tmp170 , f \"tmp171\" : tmp171 , f \"tmp172\" : tmp172 , f \"tmp174\" : tmp174 , f \"tmp175\" : tmp175 , f \"tmp176\" : tmp176 , f \"tmp177\" : tmp177 , f \"tmp179\" : tmp179 , f \"tmp181\" : tmp181 , f \"tmp182\" : tmp182 , f \"tmp183\" : tmp183 , f \"tmp184\" : tmp184 , f \"tmp185\" : tmp185 , f \"tmp187\" : tmp187 , f \"tmp188\" : tmp188 , f \"tmp189\" : tmp189 , f \"tmp19\" : tmp19 , f \"tmp190\" : tmp190 , f \"tmp192\" : tmp192 , f \"tmp194\" : tmp194 , f \"tmp195\" : tmp195 , f \"tmp196\" : tmp196 , f \"tmp197\" : tmp197 , f \"tmp198\" : tmp198 , f \"tmp199\" : tmp199 , f \"tmp2\" : tmp2 , f \"tmp201\" : tmp201 , f \"tmp203\" : tmp203 , f \"tmp204\" : tmp204 , f \"tmp205\" : tmp205 , f \"tmp206\" : tmp206 , f \"tmp207\" : tmp207 , f \"tmp208\" : tmp208 , f \"tmp209\" : tmp209 , f \"tmp21\" : tmp21 , f \"tmp211\" : tmp211 , f \"tmp213\" : tmp213 , f \"tmp215\" : tmp215 , f \"tmp217\" : tmp217 , f \"tmp219\" : tmp219 , f \"tmp22\" : tmp22 , f \"tmp220\" : tmp220 , f \"tmp221\" : tmp221 , f \"tmp222\" : tmp222 , f \"tmp223\" : tmp223 , f \"tmp225\" : tmp225 , f \"tmp226\" : tmp226 , f \"tmp227\" : tmp227 , f \"tmp228\" : tmp228 , f \"tmp23\" : tmp23 , f \"tmp230\" : tmp230 , f \"tmp231\" : tmp231 , f \"tmp239\" : tmp239 , f \"tmp241\" : tmp241 , f \"tmp246\" : tmp246 , f \"tmp247\" : tmp247 , f \"tmp249\" : tmp249 , f \"tmp25\" : tmp25 , f \"tmp255\" : tmp255 , f \"tmp257\" : tmp257 , f \"tmp264\" : tmp264 , f \"tmp265\" : tmp265 , f \"tmp267\" : tmp267 , f \"tmp268\" : tmp268 , f \"tmp27\" : tmp27 , f \"tmp270\" : tmp270 , f \"tmp271\" : tmp271 , f \"tmp273\" : tmp273 , f \"tmp28\" : tmp28 , f \"tmp280\" : tmp280 , f \"tmp283\" : tmp283 , f \"tmp294\" : tmp294 , f \"tmp296\" : tmp296 , f \"tmp298\" : tmp298 , f \"tmp30\" : tmp30 , f \"tmp300\" : tmp300 , f \"tmp302\" : tmp302 , f \"tmp304\" : tmp304 , f \"tmp310\" : tmp310 , f \"tmp311\" : tmp311 , f \"tmp313\" : tmp313 , f \"tmp314\" : tmp314 , f \"tmp316\" : tmp316 , f \"tmp318\" : tmp318 , f \"tmp32\" : tmp32 , f \"tmp320\" : tmp320 , f \"tmp325\" : tmp325 , f \"tmp326\" : tmp326 , f \"tmp327\" : tmp327 , f \"tmp329\" : tmp329 , f \"tmp33\" : tmp33 , f \"tmp334\" : tmp334 , f \"tmp335\" : tmp335 , f \"tmp337\" : tmp337 , f \"tmp339\" : tmp339 , f \"tmp34\" : tmp34 , f \"tmp340\" : tmp340 , f \"tmp344\" : tmp344 , f \"tmp346\" : tmp346 , f \"tmp351\" : tmp351 , f \"tmp352\" : tmp352 , f \"tmp354\" : tmp354 , f \"tmp358\" : tmp358 , f \"tmp36\" : tmp36 , f \"tmp369\" : tmp369 , f \"tmp37\" : tmp37 , f \"tmp375\" : tmp375 , f \"tmp377\" : tmp377 , f \"tmp39\" : tmp39 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp415\" : tmp415 , f \"tmp418\" : tmp418 , f \"tmp42\" : tmp42 , f \"tmp420\" : tmp420 , f \"tmp44\" : tmp44 , f \"tmp45\" : tmp45 , f \"tmp46\" : tmp46 , f \"tmp461\" : tmp461 , f \"tmp462\" : tmp462 , f \"tmp463\" : tmp463 , f \"tmp464\" : tmp464 , f \"tmp467\" : tmp467 , f \"tmp469\" : tmp469 , f \"tmp47\" : tmp47 , f \"tmp471\" : tmp471 , f \"tmp48\" : tmp48 , f \"tmp486\" : tmp486 , f \"tmp487\" : tmp487 , f \"tmp489\" : tmp489 , f \"tmp491\" : tmp491 , f \"tmp492\" : tmp492 , f \"tmp493\" : tmp493 , f \"tmp5\" : tmp5 , f \"tmp50\" : tmp50 , f \"tmp52\" : tmp52 , f \"tmp54\" : tmp54 , f \"tmp55\" : tmp55 , f \"tmp56\" : tmp56 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp60\" : tmp60 , f \"tmp62\" : tmp62 , f \"tmp64\" : tmp64 , f \"tmp65\" : tmp65 , f \"tmp67\" : tmp67 , f \"tmp68\" : tmp68 , f \"tmp7\" : tmp7 , f \"tmp70\" : tmp70 , f \"tmp72\" : tmp72 , f \"tmp74\" : tmp74 , f \"tmp75\" : tmp75 , f \"tmp77\" : tmp77 , f \"tmp78\" : tmp78 , f \"tmp79\" : tmp79 , f \"tmp8\" : tmp8 , f \"tmp80\" : tmp80 , f \"tmp82\" : tmp82 , f \"tmp83\" : tmp83 , f \"tmp85\" : tmp85 , f \"tmp87\" : tmp87 , f \"tmp89\" : tmp89 , f \"tmp91\" : tmp91 , f \"tmp94\" : tmp94 , f \"tmp97\" : tmp97 , f \"tmp99\" : tmp99 } ebcc . codegen . UDFCCSD . hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:50:45.734705. 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. Source code in ebcc/codegen/UDFCCSD.py 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:50:45.734705. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp52 = einsum ( t1 . bb , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) tmp33 = np . copy ( ints . tmp106 ) del ints . tmp106 tmp33 += v . bbb . xoo tmp50 = np . copy ( ints . tmp41 ) tmp50 += ints . tmp56 * 2 tmp50 += ints . tmp59 tmp50 += v . baa . xov tmp30 = np . copy ( ints . tmp27 ) del ints . tmp27 tmp30 += v . baa . xoo tmp47 = einsum ( t1 . aa , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp32 = einsum ( t1 . bb , ( 0 , 1 ), r2 . bab , ( 2 , 3 , 1 ), ( 3 , 2 , 0 )) * - 1 tmp27 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 1 , 3 )) tmp16 = np . copy ( ints . tmp45 ) tmp16 += ints . tmp77 tmp16 += v . bbb . xov tmp16 += ints . tmp82 * 2 tmp14 = np . copy ( ints . tmp41 ) del ints . tmp41 tmp14 += ints . tmp59 del ints . tmp59 tmp14 += v . baa . xov tmp14 += ints . tmp56 * 2 del ints . tmp56 tmp56 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), t2 . bbbb , ( 0 , 1 , 3 , 2 ), ( 3 ,)) tmp55 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 1 , 2 ), ( 3 ,)) tmp76 = einsum ( tmp52 , ( 0 , 1 , 2 ), tmp33 , ( 3 , 0 , 2 ), ( 3 , 1 )) tmp74 = einsum ( tmp50 , ( 0 , 1 , 2 ), r2 . aba , ( 1 , 3 , 2 ), ( 0 , 3 )) * 0.5 tmp75 = einsum ( tmp47 , ( 0 , 1 , 2 ), tmp30 , ( 3 , 0 , 1 ), ( 3 , 2 )) * 0.5 tmp34 = einsum ( tmp33 , ( 0 , 1 , 2 ), tmp32 , ( 3 , 1 , 2 ), ( 0 , 3 )) * 0.5 tmp31 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp30 , ( 3 , 0 , 2 ), ( 3 , 1 )) tmp17 = einsum ( tmp16 , ( 0 , 1 , 2 ), r2 . bab , ( 1 , 3 , 2 ), ( 0 , 3 )) * - 1 tmp15 = einsum ( tmp14 , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 1 , 2 ), ( 0 , 3 )) * - 1 del tmp14 tmp80 = np . copy ( ints . tmp158 ) * 2 tmp80 += ints . tmp161 tmp80 += ints . tmp181 * - 1 tmp80 += ints . tmp219 * - 1 tmp57 = np . copy ( tmp55 ) * - 0.5 del tmp55 tmp57 += tmp56 del tmp56 tmp62 = np . copy ( ints . tmp137 ) tmp62 += np . transpose ( ints . tmp64 , ( 0 , 2 , 1 , 3 )) tmp77 = np . copy ( tmp74 ) del tmp74 tmp77 += tmp75 * - 1 del tmp75 tmp77 += tmp76 * - 1 del tmp76 tmp64 = np . copy ( f . bb . ov ) tmp64 += ints . tmp44 tmp64 += ints . tmp47 tmp64 += ints . tmp107 * - 1 del ints . tmp107 tmp58 = np . copy ( ints . tmp464 ) del ints . tmp464 tmp58 += ints . tmp467 del ints . tmp467 tmp58 += ints . tmp471 * 2 del ints . tmp471 tmp85 = einsum ( tmp16 , ( 0 , 1 , 2 ), r2 . bbb , ( 3 , 1 , 2 ), ( 0 , 3 )) * - 1 del tmp16 tmp87 = np . copy ( f . bb . oo ) tmp87 += ints . tmp183 tmp87 += ints . tmp187 tmp87 += np . transpose ( ints . tmp21 , ( 1 , 0 )) tmp87 += ints . tmp221 tmp87 += ints . tmp225 tmp41 = np . copy ( f . aa . ov ) tmp41 += ints . tmp39 tmp41 += ints . tmp48 tmp41 += ints . tmp99 * - 1 del ints . tmp99 tmp37 = np . copy ( ints . tmp57 ) * 2 tmp37 += ints . tmp60 tmp37 += ints . tmp174 * - 1 tmp37 += ints . tmp28 * - 1 tmp35 = np . copy ( tmp31 ) * - 1 tmp35 += tmp34 tmp25 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 0 , 1 , 3 ), ( 2 ,)) tmp28 = np . copy ( ints . tmp23 ) tmp28 += np . transpose ( ints . tmp50 , ( 0 , 2 , 1 , 3 )) tmp20 = np . copy ( f . aa . oo ) tmp20 += ints . tmp175 tmp20 += ints . tmp176 tmp20 += np . transpose ( ints . tmp1 , ( 1 , 0 )) tmp20 += ints . tmp30 tmp20 += ints . tmp32 tmp12 = np . copy ( ints . tmp358 ) tmp12 += ints . tmp369 tmp12 += ints . tmp375 * 2 tmp10 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 1 , 0 , 3 ), ( 2 ,)) * - 1 tmp18 = np . copy ( tmp15 ) * - 2 del tmp15 tmp18 += tmp17 del tmp17 tmp81 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp80 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 2 del tmp80 tmp79 = einsum ( tmp57 , ( 0 ,), ints . tmp325 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 2 del ints . tmp325 tmp73 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), tmp52 , ( 0 , 4 , 1 ), ( 4 , 2 , 3 )) * 2 tmp72 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp334 , ( 0 , 1 , 3 , 4 ), ( 3 , 4 , 2 )) del ints . tmp334 tmp71 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp469 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) tmp70 = einsum ( ints . tmp64 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 1 ,), ( 0 , 2 , 3 )) tmp78 = einsum ( tmp77 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) * 2 del tmp77 tmp65 = einsum ( t1 . bb , ( 0 , 1 ), tmp64 , ( 0 , 2 ), ( 1 , 2 )) tmp83 = einsum ( r1 . b , ( 0 ,), ints . tmp137 , ( 0 , 1 , 2 , 3 ), ( 1 , 2 , 3 )) tmp84 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp58 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * - 1 tmp86 = einsum ( tmp85 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp85 tmp88 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp87 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp87 tmp51 = np . copy ( ints . tmp45 ) del ints . tmp45 tmp51 += ints . tmp77 del ints . tmp77 tmp51 += ints . tmp82 * 2 del ints . tmp82 tmp51 += v . bbb . xov tmp42 = einsum ( tmp41 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 2 , 1 )) tmp38 = einsum ( tmp37 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 2 del tmp37 tmp36 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp35 , ( 0 , 3 ), ( 1 , 3 , 2 )) * 2 del tmp35 tmp23 = einsum ( r1 . a , ( 0 ,), ints . tmp23 , ( 1 , 0 , 2 , 3 ), ( 1 , 2 , 3 )) tmp24 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp189 , ( 0 , 1 , 3 , 4 ), ( 3 , 4 , 2 )) del ints . tmp189 tmp26 = einsum ( ints . tmp166 , ( 0 , 1 , 2 , 3 ), tmp25 , ( 3 ,), ( 0 , 1 , 2 )) tmp29 = einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), tmp27 , ( 0 , 4 , 2 ), ( 4 , 1 , 3 )) * 2 del tmp27 , tmp28 tmp21 = einsum ( tmp20 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp20 tmp8 = einsum ( r1 . a , ( 0 ,), ints . tmp50 , ( 0 , 1 , 2 , 3 ), ( 1 , 2 , 3 )) tmp13 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp12 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * - 1 del tmp12 tmp11 = einsum ( ints . tmp166 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 3 ,), ( 0 , 1 , 2 )) del ints . tmp166 tmp19 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp18 , ( 0 , 3 ), ( 1 , 3 , 2 )) del tmp18 tmp9 = einsum ( ints . tmp377 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * - 1 tmp82 = np . copy ( tmp70 ) del tmp70 tmp82 += tmp71 del tmp71 tmp82 += tmp72 * 2 del tmp72 tmp82 += np . transpose ( tmp73 , ( 1 , 0 , 2 )) * - 1 del tmp73 tmp82 += np . transpose ( tmp78 , ( 1 , 0 , 2 )) del tmp78 tmp82 += tmp79 * - 1 del tmp79 tmp82 += np . transpose ( tmp81 , ( 1 , 0 , 2 )) del tmp81 tmp90 = np . copy ( np . transpose ( ints . tmp326 , ( 2 , 3 , 0 , 1 ))) del ints . tmp326 tmp90 += np . transpose ( ints . tmp351 , ( 2 , 3 , 0 , 1 )) del ints . tmp351 tmp90 += ints . tmp246 * - 1 del ints . tmp246 tmp66 = np . copy ( np . transpose ( ints . tmp486 , ( 1 , 0 ))) del ints . tmp486 tmp66 += ints . tmp487 * 2 del ints . tmp487 tmp66 += ints . tmp489 del ints . tmp489 tmp66 += f . bb . vv * - 1 tmp66 += ints . tmp203 * - 1 del ints . tmp203 tmp66 += ints . tmp206 * - 1 del ints . tmp206 tmp66 += tmp65 del tmp65 tmp89 = np . copy ( tmp83 ) del tmp83 tmp89 += np . transpose ( tmp84 , ( 1 , 0 , 2 )) * - 2 del tmp84 tmp89 += np . transpose ( tmp86 , ( 1 , 0 , 2 )) * 2 del tmp86 tmp89 += np . transpose ( tmp88 , ( 1 , 0 , 2 )) * - 2 del tmp88 tmp69 = np . copy ( ints . tmp25 ) tmp69 += np . transpose ( ints . tmp54 , ( 1 , 0 , 2 , 3 )) tmp67 = np . copy ( f . bb . oo ) tmp67 += ints . tmp158 * 2 tmp67 += ints . tmp161 tmp67 += ints . tmp183 tmp67 += ints . tmp187 tmp67 += np . transpose ( ints . tmp21 , ( 1 , 0 )) tmp67 += ints . tmp221 tmp67 += ints . tmp225 tmp67 += ints . tmp181 * - 1 tmp67 += ints . tmp219 * - 1 tmp60 = np . copy ( ints . tmp171 ) tmp60 += ints . tmp194 tmp60 += np . transpose ( ints . tmp196 , ( 1 , 0 , 2 , 3 )) tmp60 += ints . tmp230 tmp60 += np . transpose ( ints . tmp36 , ( 1 , 0 , 2 , 3 )) tmp63 = einsum ( tmp50 , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 1 , 2 ), ( 0 , 3 )) tmp63 += einsum ( tmp51 , ( 0 , 1 , 2 ), r2 . bab , ( 1 , 3 , 2 ), ( 0 , 3 )) * - 0.5 tmp63 += tmp31 del tmp31 tmp63 += tmp34 * - 1 del tmp34 tmp68 = np . copy ( tmp25 ) * 2 del tmp25 tmp68 += tmp10 del tmp10 tmp61 = np . copy ( ints . tmp25 ) tmp61 += np . transpose ( ints . tmp54 , ( 1 , 0 , 2 , 3 )) tmp4 = np . copy ( f . aa . oo ) tmp4 += ints . tmp175 tmp4 += ints . tmp176 tmp4 += np . transpose ( ints . tmp1 , ( 1 , 0 )) tmp4 += np . transpose ( ints . tmp30 , ( 1 , 0 )) tmp4 += np . transpose ( ints . tmp32 , ( 1 , 0 )) tmp4 += ints . tmp57 * 2 tmp4 += ints . tmp60 tmp4 += ints . tmp174 * - 1 tmp4 += ints . tmp28 * - 1 tmp59 = np . copy ( ints . tmp491 ) del ints . tmp491 tmp59 += np . transpose ( ints . tmp492 , ( 1 , 0 , 2 , 3 )) del ints . tmp492 tmp59 += np . transpose ( ints . tmp493 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp493 tmp49 = np . copy ( ints . tmp23 ) tmp49 += np . transpose ( ints . tmp50 , ( 0 , 2 , 1 , 3 )) tmp44 = np . copy ( ints . tmp461 ) del ints . tmp461 tmp44 += np . transpose ( ints . tmp462 , ( 1 , 0 , 2 , 3 )) del ints . tmp462 tmp44 += np . transpose ( ints . tmp463 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp463 tmp7 = np . copy ( f . bb . oo ) tmp7 += ints . tmp158 * 2 del ints . tmp158 tmp7 += ints . tmp161 del ints . tmp161 tmp7 += np . transpose ( ints . tmp183 , ( 1 , 0 )) del ints . tmp183 tmp7 += np . transpose ( ints . tmp187 , ( 1 , 0 )) del ints . tmp187 tmp7 += np . transpose ( ints . tmp21 , ( 1 , 0 )) del ints . tmp21 tmp7 += ints . tmp221 del ints . tmp221 tmp7 += ints . tmp225 del ints . tmp225 tmp7 += ints . tmp181 * - 1 del ints . tmp181 tmp7 += ints . tmp219 * - 1 del ints . tmp219 tmp43 = np . copy ( np . transpose ( ints . tmp415 , ( 1 , 0 ))) del ints . tmp415 tmp43 += ints . tmp418 * 2 del ints . tmp418 tmp43 += ints . tmp420 del ints . tmp420 tmp43 += f . aa . vv * - 1 tmp43 += ints . tmp198 * - 1 del ints . tmp198 tmp43 += ints . tmp208 * - 1 del ints . tmp208 tmp43 += tmp42 del tmp42 tmp48 = np . copy ( ints . tmp142 ) tmp48 += np . transpose ( ints . tmp67 , ( 0 , 2 , 1 , 3 )) tmp46 = np . copy ( ints . tmp171 ) del ints . tmp171 tmp46 += np . transpose ( ints . tmp194 , ( 0 , 1 , 3 , 2 )) del ints . tmp194 tmp46 += np . transpose ( ints . tmp196 , ( 1 , 0 , 2 , 3 )) del ints . tmp196 tmp46 += ints . tmp230 del ints . tmp230 tmp46 += np . transpose ( ints . tmp36 , ( 0 , 1 , 3 , 2 )) del ints . tmp36 tmp53 = einsum ( tmp50 , ( 0 , 1 , 2 ), r2 . aba , ( 1 , 3 , 2 ), ( 0 , 3 )) * - 1 del tmp50 tmp53 += einsum ( tmp51 , ( 0 , 1 , 2 ), r2 . bbb , ( 3 , 1 , 2 ), ( 0 , 3 )) * 2 del tmp51 tmp53 += einsum ( tmp47 , ( 0 , 1 , 2 ), tmp30 , ( 3 , 0 , 1 ), ( 3 , 2 )) del tmp30 tmp53 += einsum ( tmp52 , ( 0 , 1 , 2 ), tmp33 , ( 3 , 0 , 2 ), ( 3 , 1 )) * 2 del tmp52 , tmp33 tmp45 = np . copy ( ints . tmp358 ) del ints . tmp358 tmp45 += ints . tmp369 del ints . tmp369 tmp45 += ints . tmp375 * 2 del ints . tmp375 tmp54 = np . copy ( f . aa . oo ) tmp54 += ints . tmp175 del ints . tmp175 tmp54 += ints . tmp176 del ints . tmp176 tmp54 += np . transpose ( ints . tmp1 , ( 1 , 0 )) del ints . tmp1 tmp54 += ints . tmp30 del ints . tmp30 tmp54 += ints . tmp32 del ints . tmp32 tmp54 += ints . tmp57 * 2 del ints . tmp57 tmp54 += ints . tmp60 del ints . tmp60 tmp54 += ints . tmp174 * - 1 del ints . tmp174 tmp54 += ints . tmp28 * - 1 del ints . tmp28 tmp40 = np . copy ( ints . tmp167 ) del ints . tmp167 tmp40 += ints . tmp227 del ints . tmp227 tmp40 += np . transpose ( ints . tmp33 , ( 2 , 3 , 0 , 1 )) * - 1 del ints . tmp33 tmp39 = np . copy ( tmp23 ) del tmp23 tmp39 += tmp24 * 2 del tmp24 tmp39 += tmp26 * - 2 del tmp26 tmp39 += np . transpose ( tmp29 , ( 1 , 0 , 2 )) * - 1 del tmp29 tmp39 += np . transpose ( tmp36 , ( 1 , 0 , 2 )) del tmp36 tmp39 += np . transpose ( tmp38 , ( 1 , 0 , 2 )) del tmp38 tmp22 = np . copy ( tmp8 ) del tmp8 tmp22 += tmp9 del tmp9 tmp22 += tmp11 del tmp11 tmp22 += np . transpose ( tmp13 , ( 1 , 0 , 2 )) * - 2 del tmp13 tmp22 += np . transpose ( tmp19 , ( 1 , 0 , 2 )) del tmp19 tmp22 += np . transpose ( tmp21 , ( 1 , 0 , 2 )) * - 2 del tmp21 tmp5 = np . copy ( ints . tmp142 ) del ints . tmp142 tmp5 += np . transpose ( ints . tmp239 , ( 0 , 2 , 1 , 3 )) del ints . tmp239 tmp5 += np . transpose ( ints . tmp257 , ( 0 , 2 , 1 , 3 )) del ints . tmp257 tmp5 += ints . tmp267 del ints . tmp267 tmp5 += ints . tmp271 * 2 del ints . tmp271 tmp5 += ints . tmp283 del ints . tmp283 tmp5 += ints . tmp298 del ints . tmp298 tmp5 += ints . tmp302 del ints . tmp302 tmp5 += ints . tmp310 del ints . tmp310 tmp5 += ints . tmp316 * 2 del ints . tmp316 tmp5 += ints . tmp346 del ints . tmp346 tmp5 += np . transpose ( ints . tmp67 , ( 0 , 2 , 1 , 3 )) del ints . tmp67 tmp5 += np . transpose ( ints . tmp249 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp249 tmp5 += ints . tmp264 * - 1 del ints . tmp264 tmp5 += ints . tmp270 * - 1 del ints . tmp270 tmp5 += ints . tmp294 * - 1 del ints . tmp294 tmp5 += ints . tmp313 * - 1 del ints . tmp313 tmp5 += ints . tmp320 * - 1 del ints . tmp320 tmp5 += ints . tmp329 * - 1 del ints . tmp329 tmp5 += ints . tmp339 * - 1 del ints . tmp339 tmp5 += np . transpose ( ints . tmp340 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp340 tmp5 += ints . tmp354 * - 1 del ints . tmp354 tmp3 = np . copy ( ints . tmp100 ) del ints . tmp100 tmp3 += ints . tmp108 * 0.5 del ints . tmp108 tmp3 += ints . tmp135 del ints . tmp135 tmp3 += ints . tmp140 * 0.5 del ints . tmp140 tmp3 += ints . tmp156 del ints . tmp156 tmp3 += ints . tmp164 * 0.5 del ints . tmp164 tmp3 += ints . tmp179 * 0.5 del ints . tmp179 tmp3 += ints . tmp185 * 0.5 del ints . tmp185 tmp3 += ints . tmp19 * 0.5 del ints . tmp19 tmp3 += ints . tmp201 * 0.5 del ints . tmp201 tmp3 += ints . tmp217 * 0.5 del ints . tmp217 tmp3 += ints . tmp223 * 0.5 del ints . tmp223 tmp3 += ints . tmp2 * 0.5 del ints . tmp2 tmp3 += ints . tmp42 * 0.5 del ints . tmp42 tmp3 += ints . tmp62 del ints . tmp62 tmp3 += ints . tmp70 * 0.5 del ints . tmp70 tmp3 += ints . tmp85 del ints . tmp85 tmp3 += f . aa . ov * - 0.5 tmp3 += ints . tmp103 * - 1 del ints . tmp103 tmp3 += ints . tmp112 * - 0.5 del ints . tmp112 tmp3 += ints . tmp116 * - 1 del ints . tmp116 tmp3 += ints . tmp119 * - 0.5 del ints . tmp119 tmp3 += ints . tmp11 * - 0.5 del ints . tmp11 tmp3 += ints . tmp177 * - 0.5 del ints . tmp177 tmp3 += ints . tmp199 * - 0.5 del ints . tmp199 tmp3 += ints . tmp209 * - 0.5 del ints . tmp209 tmp3 += ints . tmp215 * - 0.5 del ints . tmp215 tmp3 += ints . tmp39 * - 0.5 del ints . tmp39 tmp3 += ints . tmp48 * - 0.5 del ints . tmp48 tmp3 += ints . tmp5 * - 0.5 del ints . tmp5 tmp3 += ints . tmp8 * - 1 del ints . tmp8 tmp3 += ints . tmp91 * - 0.5 del ints . tmp91 tmp6 = np . copy ( np . transpose ( ints . tmp241 , ( 1 , 2 , 0 , 3 ))) del ints . tmp241 tmp6 += np . transpose ( ints . tmp247 , ( 0 , 2 , 1 , 3 )) del ints . tmp247 tmp6 += np . transpose ( ints . tmp255 , ( 0 , 2 , 1 , 3 )) del ints . tmp255 tmp6 += ints . tmp268 * 2 del ints . tmp268 tmp6 += ints . tmp273 del ints . tmp273 tmp6 += ints . tmp300 del ints . tmp300 tmp6 += ints . tmp304 del ints . tmp304 tmp6 += ints . tmp314 * 2 del ints . tmp314 tmp6 += ints . tmp327 del ints . tmp327 tmp6 += ints . tmp335 del ints . tmp335 tmp6 += ints . tmp352 del ints . tmp352 tmp6 += ints . tmp137 * - 1 del ints . tmp137 tmp6 += ints . tmp265 * - 2 del ints . tmp265 tmp6 += ints . tmp280 * - 1 del ints . tmp280 tmp6 += ints . tmp296 * - 1 del ints . tmp296 tmp6 += ints . tmp311 * - 2 del ints . tmp311 tmp6 += ints . tmp318 * - 1 del ints . tmp318 tmp6 += np . transpose ( ints . tmp337 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp337 tmp6 += ints . tmp344 * - 1 del ints . tmp344 tmp6 += np . transpose ( ints . tmp64 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp64 tmp2 = np . copy ( ints . tmp102 ) * 0.5 del ints . tmp102 tmp2 += ints . tmp110 del ints . tmp110 tmp2 += ints . tmp138 del ints . tmp138 tmp2 += ints . tmp143 * 0.5 del ints . tmp143 tmp2 += ints . tmp159 del ints . tmp159 tmp2 += ints . tmp162 * 0.5 del ints . tmp162 tmp2 += ints . tmp184 * 0.5 del ints . tmp184 tmp2 += ints . tmp188 * 0.5 del ints . tmp188 tmp2 += ints . tmp205 * 0.5 del ints . tmp205 tmp2 += ints . tmp222 * 0.5 del ints . tmp222 tmp2 += ints . tmp226 * 0.5 del ints . tmp226 tmp2 += ints . tmp22 * 0.5 del ints . tmp22 tmp2 += ints . tmp46 * 0.5 del ints . tmp46 tmp2 += ints . tmp4 * 0.5 del ints . tmp4 tmp2 += ints . tmp65 del ints . tmp65 tmp2 += ints . tmp68 * 0.5 del ints . tmp68 tmp2 += ints . tmp87 del ints . tmp87 tmp2 += f . bb . ov * - 0.5 tmp2 += ints . tmp105 * - 0.5 del ints . tmp105 tmp2 += ints . tmp10 * - 0.5 del ints . tmp10 tmp2 += ints . tmp114 * - 1 del ints . tmp114 tmp2 += ints . tmp118 * - 0.5 del ints . tmp118 tmp2 += ints . tmp121 * - 1 del ints . tmp121 tmp2 += ints . tmp13 * - 1 del ints . tmp13 tmp2 += ints . tmp182 * - 0.5 del ints . tmp182 tmp2 += ints . tmp204 * - 0.5 del ints . tmp204 tmp2 += ints . tmp207 * - 0.5 del ints . tmp207 tmp2 += ints . tmp220 * - 0.5 del ints . tmp220 tmp2 += ints . tmp44 * - 0.5 del ints . tmp44 tmp2 += ints . tmp47 * - 0.5 del ints . tmp47 tmp2 += ints . tmp7 * - 0.5 del ints . tmp7 tmp2 += ints . tmp89 * - 0.5 del ints . tmp89 tmp0 = np . copy ( ints . tmp129 ) del ints . tmp129 tmp0 += ints . tmp133 del ints . tmp133 tmp0 += ints . tmp147 del ints . tmp147 tmp0 += ints . tmp153 * 2 del ints . tmp153 tmp0 += np . transpose ( ints . tmp17 , ( 1 , 0 , 2 , 3 )) del ints . tmp17 tmp0 += ints . tmp213 del ints . tmp213 tmp0 += np . transpose ( ints . tmp25 , ( 1 , 0 , 2 , 3 )) del ints . tmp25 tmp0 += ints . tmp54 del ints . tmp54 tmp0 += np . transpose ( ints . tmp55 , ( 1 , 0 , 2 , 3 )) del ints . tmp55 tmp0 += ints . tmp78 del ints . tmp78 tmp0 += ints . tmp83 * 2 del ints . tmp83 tmp0 += ints . tmp97 del ints . tmp97 tmp0 += ints . tmp125 * - 1 del ints . tmp125 tmp0 += ints . tmp150 * - 1 del ints . tmp150 tmp0 += ints . tmp155 * - 1 del ints . tmp155 tmp0 += ints . tmp172 * - 1 del ints . tmp172 tmp0 += ints . tmp195 * - 1 del ints . tmp195 tmp0 += np . transpose ( ints . tmp197 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp197 tmp0 += ints . tmp231 * - 1 del ints . tmp231 tmp0 += ints . tmp37 * - 1 del ints . tmp37 tmp0 += ints . tmp74 * - 1 del ints . tmp74 tmp0 += ints . tmp79 * - 1 del ints . tmp79 tmp1 = np . copy ( ints . tmp127 ) del ints . tmp127 tmp1 += ints . tmp131 del ints . tmp131 tmp1 += ints . tmp148 * 2 del ints . tmp148 tmp1 += np . transpose ( ints . tmp15 , ( 1 , 2 , 0 , 3 )) del ints . tmp15 tmp1 += ints . tmp168 del ints . tmp168 tmp1 += ints . tmp190 del ints . tmp190 tmp1 += ints . tmp228 del ints . tmp228 tmp1 += np . transpose ( ints . tmp34 , ( 0 , 2 , 1 , 3 )) del ints . tmp34 tmp1 += np . transpose ( ints . tmp52 , ( 0 , 2 , 1 , 3 )) del ints . tmp52 tmp1 += ints . tmp75 * 2 del ints . tmp75 tmp1 += ints . tmp80 del ints . tmp80 tmp1 += ints . tmp123 * - 1 del ints . tmp123 tmp1 += ints . tmp145 * - 2 del ints . tmp145 tmp1 += ints . tmp151 * - 1 del ints . tmp151 tmp1 += np . transpose ( ints . tmp192 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp192 tmp1 += ints . tmp211 * - 1 del ints . tmp211 tmp1 += np . transpose ( ints . tmp23 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp23 tmp1 += ints . tmp50 * - 1 del ints . tmp50 tmp1 += ints . tmp72 * - 2 del ints . tmp72 tmp1 += ints . tmp94 * - 1 del ints . tmp94 r2new . bbb = np . copy ( tmp82 ) * - 1 r2new . bbb += np . transpose ( tmp82 , ( 1 , 0 , 2 )) del tmp82 r2new . bbb += tmp89 r2new . bbb += np . transpose ( tmp89 , ( 1 , 0 , 2 )) * - 1 del tmp89 r2new . bbb += einsum ( tmp90 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 2 , 4 ), ( 0 , 1 , 4 )) * - 2 del tmp90 r2new . bbb += einsum ( tmp66 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bbb += einsum ( tmp64 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 2 , 0 , 1 )) r2new . bbb += einsum ( tmp64 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) * - 1 r2new . bab = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp469 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) * 2 del ints . tmp469 r2new . bab += einsum ( tmp58 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) * - 1 del tmp58 r2new . bab += einsum ( tmp59 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 4 , 1 , 2 ), ( 4 , 0 , 3 )) * - 1 del tmp59 r2new . bab += einsum ( tmp60 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 0 , 4 ), ( 3 , 1 , 4 )) del tmp60 r2new . bab += einsum ( tmp32 , ( 0 , 1 , 2 ), tmp61 , ( 3 , 0 , 2 , 4 ), ( 1 , 3 , 4 )) * - 1 del tmp61 r2new . bab += einsum ( tmp32 , ( 0 , 1 , 2 ), tmp62 , ( 1 , 2 , 3 , 4 ), ( 3 , 0 , 4 )) * - 1 del tmp32 , tmp62 r2new . bab += einsum ( tmp63 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) * - 2 del tmp63 r2new . bab += einsum ( tmp66 , ( 0 , 1 ), r2 . bab , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp66 r2new . bab += einsum ( tmp67 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 del tmp67 r2new . bab += einsum ( tmp4 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . bab += einsum ( ints . tmp170 , ( 0 , 1 , 2 , 3 ), tmp68 , ( 2 ,), ( 1 , 0 , 3 )) del tmp68 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp69 , ( 1 , 0 , 2 , 3 ), ( 2 , 1 , 3 )) del tmp69 r2new . bab += einsum ( tmp64 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) * - 1 del tmp64 r2new . aba = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp377 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) * 2 del ints . tmp377 r2new . aba += einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 4 , 1 , 2 ), ( 4 , 0 , 3 )) * - 1 del tmp44 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp45 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) * - 1 del tmp45 r2new . aba += einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 2 , 4 ), ( 1 , 3 , 4 )) del tmp46 r2new . aba += einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), tmp47 , ( 4 , 0 , 1 ), ( 4 , 2 , 3 )) r2new . aba += einsum ( tmp47 , ( 0 , 1 , 2 ), tmp49 , ( 0 , 3 , 1 , 4 ), ( 3 , 2 , 4 )) del tmp47 , tmp49 r2new . aba += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp53 , ( 0 , 3 ), ( 1 , 3 , 2 )) * - 1 del tmp53 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp43 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp7 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp54 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp54 r2new . aba += einsum ( ints . tmp170 , ( 0 , 1 , 2 , 3 ), tmp57 , ( 3 ,), ( 0 , 1 , 2 )) * 2 del tmp57 , ints . tmp170 r2new . aba += einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 1 ,), ( 0 , 2 , 3 )) del tmp48 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp41 , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 r2new . aaa = np . copy ( tmp22 ) r2new . aaa += np . transpose ( tmp22 , ( 1 , 0 , 2 )) * - 1 del tmp22 r2new . aaa += tmp39 * - 1 r2new . aaa += np . transpose ( tmp39 , ( 1 , 0 , 2 )) del tmp39 r2new . aaa += einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 1 , 0 , 4 ), ( 2 , 3 , 4 )) * - 2 del tmp40 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp43 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp43 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp41 , ( 1 , 2 ), ( 0 , 1 , 2 )) r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp41 , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 del tmp41 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp5 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) del tmp5 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp6 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) * 2 del tmp6 r1new . b += einsum ( tmp2 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 1 ), ( 2 ,)) * - 4 r1new . b += einsum ( tmp3 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 1 ), ( 2 ,)) * 2 r1new . b += einsum ( tmp7 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp7 r1new . a = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 0 , 3 ), ( 1 ,)) del tmp0 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp1 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) * 2 del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 1 ), ( 2 ,)) * 2 del tmp2 r1new . a += einsum ( tmp3 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 1 ), ( 2 ,)) * - 4 del tmp3 r1new . a += einsum ( tmp4 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . UDFCCSD . hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:53:55.593012. 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 tmp10 : array tmp100 : array tmp101 : array tmp102 : array tmp103 : array tmp105 : array tmp106 : array tmp108 : array tmp109 : array tmp11 : array tmp110 : array tmp111 : array tmp113 : array tmp115 : array tmp117 : array tmp119 : array tmp121 : array tmp122 : array tmp124 : array tmp13 : array tmp132 : array tmp133 : array tmp135 : array tmp136 : array tmp138 : array tmp139 : array tmp141 : array tmp142 : array tmp144 : array tmp146 : array tmp148 : array tmp149 : array tmp151 : array tmp152 : array tmp154 : array tmp155 : array tmp157 : array tmp158 : array tmp160 : array tmp162 : array tmp163 : array tmp165 : array tmp166 : array tmp168 : array tmp170 : array tmp171 : array tmp172 : array tmp174 : array tmp175 : array tmp177 : array tmp178 : array tmp179 : array tmp180 : array tmp181 : array tmp182 : array tmp184 : array tmp185 : array tmp19 : array tmp190 : array tmp192 : array tmp194 : array tmp195 : array tmp196 : array tmp197 : array tmp198 : array tmp199 : array tmp2 : array tmp20 : array tmp201 : array tmp203 : array tmp205 : array tmp206 : array tmp207 : array tmp208 : array tmp210 : array tmp211 : array tmp213 : array tmp214 : array tmp215 : array tmp216 : array tmp217 : array tmp218 : array tmp22 : array tmp220 : array tmp221 : array tmp23 : array tmp236 : array tmp239 : array tmp24 : array tmp243 : array tmp246 : array tmp250 : array tmp251 : array tmp253 : array tmp255 : array tmp257 : array tmp26 : array tmp263 : array tmp265 : array tmp271 : array tmp272 : array tmp274 : array tmp275 : array tmp277 : array tmp279 : array tmp281 : array tmp29 : array tmp30 : array tmp301 : array tmp303 : array tmp309 : array tmp31 : array tmp310 : array tmp312 : array tmp313 : array tmp315 : array tmp317 : array tmp319 : array tmp33 : array tmp330 : array tmp332 : array tmp334 : array tmp335 : array tmp34 : array tmp36 : array tmp38 : array tmp387 : array tmp39 : array tmp4 : array tmp40 : array tmp41 : array tmp42 : array tmp426 : array tmp44 : array tmp47 : array tmp49 : array tmp490 : array tmp5 : array tmp52 : array tmp53 : array tmp55 : array tmp57 : array tmp58 : array tmp60 : array tmp61 : array tmp63 : array tmp64 : array tmp66 : array tmp67 : array tmp69 : array tmp7 : array tmp70 : array tmp72 : array tmp73 : array tmp75 : array tmp77 : array tmp79 : array tmp8 : array tmp81 : array tmp82 : array tmp84 : array tmp85 : array tmp87 : array tmp89 : array tmp91 : array tmp92 : array tmp94 : array tmp95 : array tmp97 : array tmp99 : array Source code in ebcc/codegen/UDFCCSD.py 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451 6452 6453 6454 6455 6456 def hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:53:55.593012. 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 ------- tmp10 : array tmp100 : array tmp101 : array tmp102 : array tmp103 : array tmp105 : array tmp106 : array tmp108 : array tmp109 : array tmp11 : array tmp110 : array tmp111 : array tmp113 : array tmp115 : array tmp117 : array tmp119 : array tmp121 : array tmp122 : array tmp124 : array tmp13 : array tmp132 : array tmp133 : array tmp135 : array tmp136 : array tmp138 : array tmp139 : array tmp141 : array tmp142 : array tmp144 : array tmp146 : array tmp148 : array tmp149 : array tmp151 : array tmp152 : array tmp154 : array tmp155 : array tmp157 : array tmp158 : array tmp160 : array tmp162 : array tmp163 : array tmp165 : array tmp166 : array tmp168 : array tmp170 : array tmp171 : array tmp172 : array tmp174 : array tmp175 : array tmp177 : array tmp178 : array tmp179 : array tmp180 : array tmp181 : array tmp182 : array tmp184 : array tmp185 : array tmp19 : array tmp190 : array tmp192 : array tmp194 : array tmp195 : array tmp196 : array tmp197 : array tmp198 : array tmp199 : array tmp2 : array tmp20 : array tmp201 : array tmp203 : array tmp205 : array tmp206 : array tmp207 : array tmp208 : array tmp210 : array tmp211 : array tmp213 : array tmp214 : array tmp215 : array tmp216 : array tmp217 : array tmp218 : array tmp22 : array tmp220 : array tmp221 : array tmp23 : array tmp236 : array tmp239 : array tmp24 : array tmp243 : array tmp246 : array tmp250 : array tmp251 : array tmp253 : array tmp255 : array tmp257 : array tmp26 : array tmp263 : array tmp265 : array tmp271 : array tmp272 : array tmp274 : array tmp275 : array tmp277 : array tmp279 : array tmp281 : array tmp29 : array tmp30 : array tmp301 : array tmp303 : array tmp309 : array tmp31 : array tmp310 : array tmp312 : array tmp313 : array tmp315 : array tmp317 : array tmp319 : array tmp33 : array tmp330 : array tmp332 : array tmp334 : array tmp335 : array tmp34 : array tmp36 : array tmp38 : array tmp387 : array tmp39 : array tmp4 : array tmp40 : array tmp41 : array tmp42 : array tmp426 : array tmp44 : array tmp47 : array tmp49 : array tmp490 : array tmp5 : array tmp52 : array tmp53 : array tmp55 : array tmp57 : array tmp58 : array tmp60 : array tmp61 : array tmp63 : array tmp64 : array tmp66 : array tmp67 : array tmp69 : array tmp7 : array tmp70 : array tmp72 : array tmp73 : array tmp75 : array tmp77 : array tmp79 : array tmp8 : array tmp81 : array tmp82 : array tmp84 : array tmp85 : array tmp87 : array tmp89 : array tmp91 : array tmp92 : array tmp94 : array tmp95 : array tmp97 : array tmp99 : array \"\"\" tmp28 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp32 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp109 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp101 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp41 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp28 , ( 0 ,), ( 1 , 2 )) tmp42 = einsum ( tmp32 , ( 0 ,), v . baa . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp38 = einsum ( tmp32 , ( 0 ,), v . bbb . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp110 = einsum ( tmp109 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp34 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp28 , ( 0 ,), ( 1 , 2 )) tmp102 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp101 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp60 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp84 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp81 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp57 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp30 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp39 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp49 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp243 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp138 = einsum ( tmp101 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp135 = einsum ( tmp109 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp26 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp236 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp72 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp66 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp220 = einsum ( t1 . bb , ( 0 , 1 ), tmp41 , ( 2 , 1 ), ( 0 , 2 )) tmp217 = einsum ( tmp42 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp215 = einsum ( tmp38 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp213 = einsum ( t1 . bb , ( 0 , 1 ), tmp110 , ( 2 , 1 ), ( 0 , 2 )) tmp210 = einsum ( tmp34 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp207 = einsum ( tmp102 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp33 = einsum ( tmp32 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp197 = einsum ( tmp28 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp194 = einsum ( tmp32 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp29 = einsum ( tmp28 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp184 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp28 , ( 0 ,), ( 1 , 2 )) tmp181 = einsum ( tmp32 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp179 = einsum ( tmp32 , ( 0 ,), v . bbb . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp32 tmp177 = einsum ( tmp109 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp174 = einsum ( tmp28 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp28 tmp171 = einsum ( tmp101 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp44 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp157 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp60 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp154 = einsum ( tmp84 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp151 = einsum ( tmp81 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp148 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp57 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp141 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp109 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp132 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp101 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp99 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp24 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp69 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp63 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp22 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 2 , 1 ), ( 2 , 0 )) tmp19 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp490 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp426 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp387 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp335 = einsum ( tmp30 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp334 = einsum ( tmp101 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp332 = einsum ( tmp39 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp330 = einsum ( tmp109 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp319 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp49 , ( 4 , 1 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) tmp317 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp84 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp315 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp57 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp313 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp243 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp312 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp243 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp310 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp81 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp309 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp60 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp303 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp138 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp301 = einsum ( tmp135 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp281 = einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp279 = einsum ( tmp84 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp277 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp57 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp275 = einsum ( tmp236 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 3 , 2 )) tmp274 = einsum ( tmp236 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 3 , 1 )) tmp272 = einsum ( tmp81 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp271 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp60 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp265 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp72 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp263 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp66 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp257 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp84 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp255 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp81 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp253 = einsum ( tmp30 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp251 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp39 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp250 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp246 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp239 = einsum ( tmp39 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp221 = einsum ( t1 . bb , ( 0 , 1 ), tmp220 , ( 2 , 0 ), ( 2 , 1 )) tmp218 = einsum ( tmp217 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp216 = einsum ( t1 . bb , ( 0 , 1 ), tmp215 , ( 2 , 0 ), ( 2 , 1 )) tmp214 = einsum ( t1 . bb , ( 0 , 1 ), tmp213 , ( 2 , 0 ), ( 2 , 1 )) tmp211 = einsum ( tmp210 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp208 = einsum ( tmp207 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp206 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp39 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp205 = einsum ( tmp109 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp203 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp30 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp201 = einsum ( tmp101 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp199 = einsum ( t1 . aa , ( 0 , 1 ), tmp33 , ( 2 , 1 ), ( 0 , 2 )) tmp198 = einsum ( tmp197 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp196 = einsum ( tmp39 , ( 0 , 1 , 2 ), tmp109 , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp195 = einsum ( t1 . bb , ( 0 , 1 ), tmp194 , ( 2 , 1 ), ( 0 , 2 )) tmp192 = einsum ( tmp101 , ( 0 , 1 , 2 ), tmp30 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp190 = einsum ( t1 . aa , ( 0 , 1 ), tmp29 , ( 2 , 1 ), ( 0 , 2 )) tmp185 = einsum ( t1 . bb , ( 0 , 1 ), tmp184 , ( 2 , 0 ), ( 2 , 1 )) tmp182 = einsum ( t1 . aa , ( 0 , 1 ), tmp181 , ( 2 , 0 ), ( 2 , 1 )) tmp180 = einsum ( t1 . bb , ( 0 , 1 ), tmp179 , ( 2 , 0 ), ( 2 , 1 )) tmp178 = einsum ( t1 . bb , ( 0 , 1 ), tmp177 , ( 2 , 0 ), ( 2 , 1 )) tmp175 = einsum ( t1 . aa , ( 0 , 1 ), tmp174 , ( 2 , 0 ), ( 2 , 1 )) tmp172 = einsum ( t1 . aa , ( 0 , 1 ), tmp171 , ( 2 , 0 ), ( 2 , 1 )) tmp170 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp49 , ( 0 , 4 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) tmp168 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp81 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp166 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp60 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp165 = einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 3 , 5 ), ( 1 , 4 , 2 , 5 )) tmp163 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp44 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp162 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp84 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp160 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp57 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp158 = einsum ( t1 . aa , ( 0 , 1 ), tmp157 , ( 2 , 0 ), ( 2 , 1 )) tmp155 = einsum ( t1 . bb , ( 0 , 1 ), tmp154 , ( 2 , 0 ), ( 2 , 1 )) tmp152 = einsum ( t1 . bb , ( 0 , 1 ), tmp151 , ( 2 , 0 ), ( 2 , 1 )) tmp149 = einsum ( tmp148 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp146 = einsum ( tmp141 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp144 = einsum ( tmp132 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp142 = einsum ( tmp141 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) tmp139 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp138 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp136 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp135 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp133 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp132 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp124 = einsum ( tmp41 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp122 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp41 , ( 1 , 3 ), ( 0 , 2 )) tmp121 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp42 , ( 0 , 2 ), ( 1 , 3 )) tmp119 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp42 , ( 1 , 3 ), ( 0 , 2 )) tmp117 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp38 , ( 1 , 3 ), ( 0 , 2 )) tmp115 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp38 , ( 1 , 3 ), ( 0 , 2 )) tmp113 = einsum ( tmp110 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp111 = einsum ( tmp110 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp108 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp34 , ( 0 , 2 ), ( 1 , 3 )) tmp106 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp34 , ( 1 , 3 ), ( 0 , 2 )) tmp105 = einsum ( tmp102 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp103 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp102 , ( 1 , 3 ), ( 0 , 2 )) tmp100 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp99 , ( 0 , 4 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) tmp97 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp81 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp95 = einsum ( tmp60 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp94 = einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 3 , 1 , 5 )) tmp92 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp24 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 5 , 4 )) tmp91 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp84 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp89 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp57 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp87 = einsum ( tmp60 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp85 = einsum ( tmp84 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp82 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp81 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp79 = einsum ( tmp57 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * - 1 tmp77 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 4 , 5 ), ( 2 , 4 , 3 , 5 )) tmp75 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp63 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp73 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp72 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp70 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) tmp67 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp66 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp64 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp63 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp61 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp60 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp58 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp57 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp55 = einsum ( tmp39 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp53 = einsum ( tmp30 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp52 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp47 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp40 = einsum ( tmp39 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp36 = einsum ( tmp30 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp31 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp30 , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp23 = einsum ( t1 . bb , ( 0 , 1 ), tmp22 , ( 0 , 2 ), ( 2 , 1 )) tmp20 = einsum ( tmp19 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp13 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp11 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp10 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp8 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 1 , 3 ), ( 0 , 2 )) tmp7 = einsum ( f . bb . vv , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp5 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . vv , ( 2 , 1 ), ( 0 , 2 )) tmp4 = einsum ( f . bb . oo , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp2 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . oo , ( 2 , 0 ), ( 2 , 1 )) return { f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp101\" : tmp101 , f \"tmp102\" : tmp102 , f \"tmp103\" : tmp103 , f \"tmp105\" : tmp105 , f \"tmp106\" : tmp106 , f \"tmp108\" : tmp108 , f \"tmp109\" : tmp109 , f \"tmp11\" : tmp11 , f \"tmp110\" : tmp110 , f \"tmp111\" : tmp111 , f \"tmp113\" : tmp113 , f \"tmp115\" : tmp115 , f \"tmp117\" : tmp117 , f \"tmp119\" : tmp119 , f \"tmp121\" : tmp121 , f \"tmp122\" : tmp122 , f \"tmp124\" : tmp124 , f \"tmp13\" : tmp13 , f \"tmp132\" : tmp132 , f \"tmp133\" : tmp133 , f \"tmp135\" : tmp135 , f \"tmp136\" : tmp136 , f \"tmp138\" : tmp138 , f \"tmp139\" : tmp139 , f \"tmp141\" : tmp141 , f \"tmp142\" : tmp142 , f \"tmp144\" : tmp144 , f \"tmp146\" : tmp146 , f \"tmp148\" : tmp148 , f \"tmp149\" : tmp149 , f \"tmp151\" : tmp151 , f \"tmp152\" : tmp152 , f \"tmp154\" : tmp154 , f \"tmp155\" : tmp155 , f \"tmp157\" : tmp157 , f \"tmp158\" : tmp158 , f \"tmp160\" : tmp160 , f \"tmp162\" : tmp162 , f \"tmp163\" : tmp163 , f \"tmp165\" : tmp165 , f \"tmp166\" : tmp166 , f \"tmp168\" : tmp168 , f \"tmp170\" : tmp170 , f \"tmp171\" : tmp171 , f \"tmp172\" : tmp172 , f \"tmp174\" : tmp174 , f \"tmp175\" : tmp175 , f \"tmp177\" : tmp177 , f \"tmp178\" : tmp178 , f \"tmp179\" : tmp179 , f \"tmp180\" : tmp180 , f \"tmp181\" : tmp181 , f \"tmp182\" : tmp182 , f \"tmp184\" : tmp184 , f \"tmp185\" : tmp185 , f \"tmp19\" : tmp19 , f \"tmp190\" : tmp190 , f \"tmp192\" : tmp192 , f \"tmp194\" : tmp194 , f \"tmp195\" : tmp195 , f \"tmp196\" : tmp196 , f \"tmp197\" : tmp197 , f \"tmp198\" : tmp198 , f \"tmp199\" : tmp199 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp201\" : tmp201 , f \"tmp203\" : tmp203 , f \"tmp205\" : tmp205 , f \"tmp206\" : tmp206 , f \"tmp207\" : tmp207 , f \"tmp208\" : tmp208 , f \"tmp210\" : tmp210 , f \"tmp211\" : tmp211 , f \"tmp213\" : tmp213 , f \"tmp214\" : tmp214 , f \"tmp215\" : tmp215 , f \"tmp216\" : tmp216 , f \"tmp217\" : tmp217 , f \"tmp218\" : tmp218 , f \"tmp22\" : tmp22 , f \"tmp220\" : tmp220 , f \"tmp221\" : tmp221 , f \"tmp23\" : tmp23 , f \"tmp236\" : tmp236 , f \"tmp239\" : tmp239 , f \"tmp24\" : tmp24 , f \"tmp243\" : tmp243 , f \"tmp246\" : tmp246 , f \"tmp250\" : tmp250 , f \"tmp251\" : tmp251 , f \"tmp253\" : tmp253 , f \"tmp255\" : tmp255 , f \"tmp257\" : tmp257 , f \"tmp26\" : tmp26 , f \"tmp263\" : tmp263 , f \"tmp265\" : tmp265 , f \"tmp271\" : tmp271 , f \"tmp272\" : tmp272 , f \"tmp274\" : tmp274 , f \"tmp275\" : tmp275 , f \"tmp277\" : tmp277 , f \"tmp279\" : tmp279 , f \"tmp281\" : tmp281 , f \"tmp29\" : tmp29 , f \"tmp30\" : tmp30 , f \"tmp301\" : tmp301 , f \"tmp303\" : tmp303 , f \"tmp309\" : tmp309 , f \"tmp31\" : tmp31 , f \"tmp310\" : tmp310 , f \"tmp312\" : tmp312 , f \"tmp313\" : tmp313 , f \"tmp315\" : tmp315 , f \"tmp317\" : tmp317 , f \"tmp319\" : tmp319 , f \"tmp33\" : tmp33 , f \"tmp330\" : tmp330 , f \"tmp332\" : tmp332 , f \"tmp334\" : tmp334 , f \"tmp335\" : tmp335 , f \"tmp34\" : tmp34 , f \"tmp36\" : tmp36 , f \"tmp38\" : tmp38 , f \"tmp387\" : tmp387 , f \"tmp39\" : tmp39 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp41\" : tmp41 , f \"tmp42\" : tmp42 , f \"tmp426\" : tmp426 , f \"tmp44\" : tmp44 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp490\" : tmp490 , f \"tmp5\" : tmp5 , f \"tmp52\" : tmp52 , f \"tmp53\" : tmp53 , f \"tmp55\" : tmp55 , f \"tmp57\" : tmp57 , f \"tmp58\" : tmp58 , f \"tmp60\" : tmp60 , f \"tmp61\" : tmp61 , f \"tmp63\" : tmp63 , f \"tmp64\" : tmp64 , f \"tmp66\" : tmp66 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp7\" : tmp7 , f \"tmp70\" : tmp70 , f \"tmp72\" : tmp72 , f \"tmp73\" : tmp73 , f \"tmp75\" : tmp75 , f \"tmp77\" : tmp77 , f \"tmp79\" : tmp79 , f \"tmp8\" : tmp8 , f \"tmp81\" : tmp81 , f \"tmp82\" : tmp82 , f \"tmp84\" : tmp84 , f \"tmp85\" : tmp85 , f \"tmp87\" : tmp87 , f \"tmp89\" : tmp89 , f \"tmp91\" : tmp91 , f \"tmp92\" : tmp92 , f \"tmp94\" : tmp94 , f \"tmp95\" : tmp95 , f \"tmp97\" : tmp97 , f \"tmp99\" : tmp99 } ebcc . codegen . UDFCCSD . hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T20:53:55.701176. 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. Source code in ebcc/codegen/UDFCCSD.py 6458 6459 6460 6461 6462 6463 6464 6465 6466 6467 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477 6478 6479 6480 6481 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654 6655 6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 6840 6841 6842 6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:53:55.701176. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp58 = np . copy ( ints . tmp101 ) del ints . tmp101 tmp58 += v . baa . xoo tmp74 = einsum ( tmp58 , ( 0 , 1 , 2 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 , 3 )) tmp75 = np . copy ( ints . tmp30 ) tmp75 += ints . tmp57 * 2 tmp75 += ints . tmp60 tmp75 += v . baa . xov tmp75 += tmp74 * - 1 del tmp74 tmp22 = einsum ( t1 . bb , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp60 = np . copy ( ints . tmp109 ) del ints . tmp109 tmp60 += v . bbb . xoo tmp102 = np . copy ( f . bb . ov ) tmp102 += ints . tmp38 tmp102 += ints . tmp41 tmp46 = np . copy ( ints . tmp39 ) tmp46 += ints . tmp84 tmp46 += v . bbb . xov tmp46 += ints . tmp81 * 2 tmp44 = np . copy ( ints . tmp30 ) del ints . tmp30 tmp44 += ints . tmp60 del ints . tmp60 tmp44 += v . baa . xov tmp44 += ints . tmp57 * 2 del ints . tmp57 tmp50 = np . copy ( f . aa . ov ) tmp50 += ints . tmp34 tmp50 += ints . tmp42 tmp2 = einsum ( t1 . aa , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp6 = einsum ( t1 . bb , ( 0 , 1 ), r2 . bab , ( 1 , 2 , 3 ), ( 3 , 0 , 2 )) * - 1 tmp76 = einsum ( tmp75 , ( 0 , 1 , 2 ), r2 . aba , ( 2 , 3 , 1 ), ( 0 , 3 )) * 0.5 tmp110 = einsum ( tmp60 , ( 0 , 1 , 2 ), tmp22 , ( 1 , 2 , 3 ), ( 0 , 3 )) tmp113 = einsum ( t1 . bb , ( 0 , 1 ), ints . tmp110 , ( 0 , 2 ), ( 2 , 1 )) tmp36 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 2 , 0 , 1 ), ( 3 ,)) tmp34 = einsum ( r1 . b , ( 0 ,), t1 . bb , ( 1 , 0 ), ( 1 ,)) tmp103 = einsum ( tmp102 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) del tmp102 tmp47 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp46 , ( 3 , 2 , 0 ), ( 3 , 1 )) * - 1 tmp45 = einsum ( tmp44 , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 2 , 1 ), ( 0 , 3 )) * - 1 del tmp44 tmp51 = einsum ( t1 . aa , ( 0 , 1 ), tmp50 , ( 0 , 2 ), ( 1 , 2 )) del tmp50 tmp59 = einsum ( tmp58 , ( 0 , 1 , 2 ), tmp2 , ( 1 , 2 , 3 ), ( 0 , 3 )) del tmp58 tmp61 = einsum ( tmp60 , ( 0 , 1 , 2 ), tmp6 , ( 1 , 2 , 3 ), ( 0 , 3 )) * 0.5 tmp17 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 2 , 1 , 0 ), ( 3 ,)) * - 1 tmp15 = einsum ( t1 . aa , ( 0 , 1 ), r1 . a , ( 1 ,), ( 0 ,)) tmp16 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 3 , 1 ), ( 0 ,)) tmp64 = einsum ( t1 . aa , ( 0 , 1 ), ints . tmp102 , ( 0 , 2 ), ( 2 , 1 )) tmp111 = np . copy ( tmp76 ) tmp111 += tmp110 del tmp110 tmp87 = np . copy ( ints . tmp135 ) tmp87 += np . transpose ( ints . tmp66 , ( 0 , 2 , 1 , 3 )) tmp114 = np . copy ( f . bb . vv ) * 0.5 tmp114 += ints . tmp194 * 0.5 tmp114 += ints . tmp197 * 0.5 tmp114 += ints . tmp255 * - 1 tmp114 += ints . tmp257 * - 0.5 tmp114 += np . transpose ( tmp113 , ( 1 , 0 )) * 0.5 del tmp113 tmp116 = np . copy ( tmp34 ) * 0.5 tmp116 += tmp36 tmp98 = np . copy ( ints . tmp246 ) tmp98 += ints . tmp330 tmp98 += ints . tmp313 * 2 tmp35 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 3 , 0 ), ( 1 ,)) tmp100 = einsum ( tmp46 , ( 0 , 1 , 2 ), r2 . bbb , ( 3 , 2 , 1 ), ( 0 , 3 )) * - 1 del tmp46 tmp104 = np . copy ( ints . tmp239 ) tmp104 += tmp103 del tmp103 tmp77 = einsum ( t1 . bb , ( 0 , 1 ), tmp60 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) del tmp60 tmp38 = np . copy ( f . bb . ov ) tmp38 += ints . tmp38 tmp38 += ints . tmp41 tmp38 += ints . tmp110 * - 1 del ints . tmp110 tmp19 = np . copy ( f . aa . ov ) tmp19 += ints . tmp34 tmp19 += ints . tmp42 tmp19 += ints . tmp102 * - 1 del ints . tmp102 tmp48 = np . copy ( tmp45 ) * - 2 del tmp45 tmp48 += tmp47 del tmp47 tmp52 = np . copy ( ints . tmp31 ) tmp52 += np . transpose ( tmp51 , ( 1 , 0 )) del tmp51 tmp42 = np . copy ( ints . tmp201 ) tmp42 += ints . tmp47 tmp42 += ints . tmp163 * 2 tmp62 = np . copy ( tmp59 ) del tmp59 tmp62 += tmp61 del tmp61 tmp56 = np . copy ( ints . tmp132 ) tmp56 += np . transpose ( ints . tmp63 , ( 0 , 2 , 1 , 3 )) tmp18 = np . copy ( tmp15 ) * 0.5 del tmp15 tmp18 += tmp16 del tmp16 tmp18 += tmp17 * 0.5 del tmp17 tmp65 = np . copy ( f . aa . vv ) * 0.5 tmp65 += ints . tmp29 * 0.5 tmp65 += ints . tmp33 * 0.5 tmp65 += ints . tmp58 * - 1 tmp65 += ints . tmp61 * - 0.5 tmp65 += np . transpose ( tmp64 , ( 1 , 0 )) * 0.5 del tmp64 tmp112 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp111 , ( 0 , 3 ), ( 1 , 3 , 2 )) * 2 del tmp111 tmp109 = einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), tmp22 , ( 0 , 1 , 4 ), ( 2 , 3 , 4 )) * 2 tmp108 = einsum ( ints . tmp236 , ( 0 , 1 , 2 , 3 ), tmp22 , ( 4 , 0 , 2 ), ( 4 , 1 , 3 )) tmp107 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp312 , ( 2 , 3 , 0 , 4 ), ( 3 , 4 , 1 )) tmp115 = einsum ( tmp114 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 3 ), ( 3 , 1 , 2 )) * - 4 del tmp114 tmp117 = einsum ( tmp116 , ( 0 ,), ints . tmp243 , ( 0 , 1 , 2 , 3 ), ( 1 , 2 , 3 )) * 2 del tmp116 tmp99 = einsum ( tmp98 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 2 , 0 ), ( 1 , 3 , 4 )) * - 1 del tmp98 tmp97 = einsum ( ints . tmp243 , ( 0 , 1 , 2 , 3 ), tmp35 , ( 0 ,), ( 1 , 2 , 3 )) tmp101 = einsum ( tmp100 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp100 tmp96 = einsum ( r1 . b , ( 0 ,), ints . tmp236 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) tmp105 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp104 , ( 3 , 1 ), ( 2 , 3 , 0 )) * - 1 del tmp104 tmp78 = np . copy ( ints . tmp39 ) del ints . tmp39 tmp78 += ints . tmp81 * 2 del ints . tmp81 tmp78 += ints . tmp84 del ints . tmp84 tmp78 += v . bbb . xov tmp78 += tmp77 * - 1 del tmp77 tmp85 = np . copy ( ints . tmp141 ) tmp85 += ints . tmp69 tmp80 = einsum ( tmp38 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 2 , 1 )) tmp89 = np . copy ( t2 . abab ) tmp89 += einsum ( t1 . bb , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp82 = einsum ( t1 . aa , ( 0 , 1 ), tmp19 , ( 0 , 2 ), ( 1 , 2 )) tmp72 = np . copy ( t2 . abab ) tmp72 += einsum ( t1 . bb , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp30 = np . copy ( ints . tmp138 ) del ints . tmp138 tmp30 += ints . tmp72 del ints . tmp72 tmp49 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp48 , ( 0 , 3 ), ( 1 , 2 , 3 )) del tmp48 tmp53 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp52 , ( 3 , 1 ), ( 2 , 0 , 3 )) * - 1 del tmp52 tmp40 = einsum ( ints . tmp24 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 0 , 1 , 3 )) tmp43 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp42 , ( 2 , 3 , 1 , 4 ), ( 3 , 0 , 4 )) * - 1 del tmp42 tmp41 = einsum ( ints . tmp165 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 0 , 2 , 4 )) * - 1 tmp63 = einsum ( tmp62 , ( 0 , 1 ), v . baa . xov , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) * 2 del tmp62 tmp57 = einsum ( tmp56 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 1 , 4 ), ( 2 , 4 , 3 )) * 2 tmp55 = einsum ( tmp2 , ( 0 , 1 , 2 ), ints . tmp24 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp67 = einsum ( ints . tmp44 , ( 0 , 1 , 2 , 3 ), tmp18 , ( 0 ,), ( 1 , 2 , 3 )) * 2 tmp66 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp65 , ( 1 , 3 ), ( 2 , 0 , 3 )) * - 4 del tmp65 tmp26 = einsum ( r2 . aba , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 0 ), ( 2 , 3 , 1 )) tmp31 = einsum ( t1 . bb , ( 0 , 1 ), tmp22 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * - 1 tmp94 = np . copy ( f . bb . oo ) tmp94 += ints . tmp151 * 2 del ints . tmp151 tmp94 += ints . tmp154 del ints . tmp154 tmp94 += ints . tmp179 del ints . tmp179 tmp94 += ints . tmp184 del ints . tmp184 tmp94 += ints . tmp215 del ints . tmp215 tmp94 += ints . tmp220 del ints . tmp220 tmp94 += np . transpose ( ints . tmp22 , ( 1 , 0 )) del ints . tmp22 tmp94 += ints . tmp177 * - 1 del ints . tmp177 tmp94 += ints . tmp213 * - 1 del ints . tmp213 tmp95 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) tmp118 = np . copy ( tmp107 ) del tmp107 tmp118 += tmp108 * 2 del tmp108 tmp118 += tmp109 del tmp109 tmp118 += tmp112 del tmp112 tmp118 += tmp115 * - 1 del tmp115 tmp118 += tmp117 del tmp117 tmp106 = np . copy ( tmp96 ) del tmp96 tmp106 += tmp97 del tmp97 tmp106 += tmp99 * - 2 del tmp99 tmp106 += tmp101 * 2 del tmp101 tmp106 += tmp105 * - 2 del tmp105 tmp91 = einsum ( tmp75 , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 2 , 1 ), ( 0 , 3 )) del tmp75 tmp91 += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp78 , ( 3 , 2 , 0 ), ( 3 , 1 )) * - 0.5 tmp86 = np . copy ( ints . tmp170 ) tmp86 += np . transpose ( ints . tmp205 , ( 0 , 1 , 3 , 2 )) * - 1 tmp86 += np . transpose ( ints . tmp52 , ( 0 , 1 , 3 , 2 )) * - 1 tmp86 += einsum ( tmp85 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp85 tmp93 = np . copy ( np . transpose ( ints . tmp239 , ( 1 , 0 ))) tmp93 += ints . tmp255 * 2 tmp93 += ints . tmp257 tmp93 += f . bb . vv * - 1 tmp93 += ints . tmp194 * - 1 tmp93 += ints . tmp197 * - 1 tmp93 += tmp80 tmp90 = einsum ( tmp89 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 2 , 4 ), ( 0 , 4 , 1 )) * - 1 del tmp89 tmp92 = np . copy ( np . transpose ( ints . tmp31 , ( 1 , 0 ))) tmp92 += ints . tmp58 * 2 tmp92 += ints . tmp61 tmp92 += f . aa . vv * - 1 tmp92 += np . transpose ( ints . tmp29 , ( 1 , 0 )) * - 1 tmp92 += np . transpose ( ints . tmp33 , ( 1 , 0 )) * - 1 tmp92 += tmp82 tmp4 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 1 ), ( 3 , 2 , 0 )) * - 1 tmp88 = np . copy ( ints . tmp246 ) tmp88 += ints . tmp313 * 2 tmp88 += ints . tmp330 tmp88 += einsum ( t1 . bb , ( 0 , 1 ), tmp87 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp87 tmp69 = np . copy ( f . aa . oo ) tmp69 += ints . tmp148 * 2 del ints . tmp148 tmp69 += ints . tmp157 del ints . tmp157 tmp69 += ints . tmp174 del ints . tmp174 tmp69 += ints . tmp181 del ints . tmp181 tmp69 += np . transpose ( ints . tmp19 , ( 1 , 0 )) del ints . tmp19 tmp69 += ints . tmp210 del ints . tmp210 tmp69 += ints . tmp217 del ints . tmp217 tmp69 += ints . tmp171 * - 1 del ints . tmp171 tmp69 += ints . tmp207 * - 1 del ints . tmp207 tmp84 = np . copy ( tmp34 ) tmp84 += tmp35 * - 1 tmp84 += tmp36 * 2 tmp73 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp72 , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) del tmp72 tmp70 = np . copy ( np . transpose ( ints . tmp319 , ( 0 , 1 , 3 , 2 ))) tmp70 += ints . tmp250 * - 1 tmp70 += ints . tmp334 * - 1 tmp70 += einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp81 = np . copy ( np . transpose ( ints . tmp239 , ( 1 , 0 ))) tmp81 += ints . tmp255 * 2 tmp81 += ints . tmp257 tmp81 += f . bb . vv * - 1 tmp81 += np . transpose ( ints . tmp194 , ( 1 , 0 )) * - 1 tmp81 += np . transpose ( ints . tmp197 , ( 1 , 0 )) * - 1 tmp81 += tmp80 del tmp80 tmp71 = np . copy ( ints . tmp163 ) * 2 tmp71 += ints . tmp201 tmp71 += ints . tmp47 tmp71 += einsum ( tmp56 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp56 tmp83 = np . copy ( np . transpose ( ints . tmp31 , ( 1 , 0 ))) tmp83 += ints . tmp58 * 2 tmp83 += ints . tmp61 tmp83 += f . aa . vv * - 1 tmp83 += ints . tmp29 * - 1 tmp83 += ints . tmp33 * - 1 tmp83 += tmp82 del tmp82 tmp79 = np . copy ( tmp76 ) * - 1 del tmp76 tmp79 += einsum ( tmp78 , ( 0 , 1 , 2 ), r2 . bbb , ( 3 , 2 , 1 ), ( 0 , 3 )) del tmp78 tmp24 = einsum ( t1 . bb , ( 0 , 1 ), r2 . aba , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp54 = np . copy ( tmp40 ) del tmp40 tmp54 += tmp41 del tmp41 tmp54 += np . transpose ( tmp43 , ( 0 , 2 , 1 )) * - 2 del tmp43 tmp54 += np . transpose ( tmp49 , ( 0 , 2 , 1 )) del tmp49 tmp54 += np . transpose ( tmp53 , ( 0 , 2 , 1 )) * - 2 del tmp53 tmp39 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) tmp68 = np . copy ( tmp55 ) * 2 del tmp55 tmp68 += np . transpose ( tmp57 , ( 0 , 2 , 1 )) del tmp57 tmp68 += np . transpose ( tmp63 , ( 0 , 2 , 1 )) del tmp63 tmp68 += np . transpose ( tmp66 , ( 0 , 2 , 1 )) * - 1 del tmp66 tmp68 += tmp67 del tmp67 tmp12 = einsum ( tmp2 , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 1 , 3 )) * - 1 tmp32 = np . copy ( ints . tmp135 ) del ints . tmp135 tmp32 += ints . tmp66 * - 1 del ints . tmp66 tmp23 = np . copy ( ints . tmp243 ) tmp23 += ints . tmp310 * 2 del ints . tmp310 tmp23 += ints . tmp317 del ints . tmp317 tmp23 += np . transpose ( ints . tmp332 , ( 0 , 1 , 3 , 2 )) del ints . tmp332 tmp23 += np . transpose ( ints . tmp246 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp246 tmp23 += ints . tmp313 * - 2 del ints . tmp313 tmp23 += np . transpose ( ints . tmp330 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp330 tmp29 = einsum ( t1 . bb , ( 0 , 1 ), tmp26 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) tmp37 = np . copy ( tmp34 ) * 0.5 del tmp34 tmp37 += tmp35 * - 0.5 del tmp35 tmp37 += tmp36 del tmp36 tmp25 = np . copy ( ints . tmp309 ) del ints . tmp309 tmp25 += ints . tmp315 * 2 del ints . tmp315 tmp25 += ints . tmp335 del ints . tmp335 tmp25 += ints . tmp49 tmp25 += ints . tmp312 * - 1 tmp33 = np . copy ( np . transpose ( ints . tmp239 , ( 1 , 0 ))) del ints . tmp239 tmp33 += ints . tmp255 * 2 del ints . tmp255 tmp33 += ints . tmp257 del ints . tmp257 tmp33 += f . bb . vv * - 1 tmp33 += np . transpose ( ints . tmp194 , ( 1 , 0 )) * - 1 del ints . tmp194 tmp33 += np . transpose ( ints . tmp197 , ( 1 , 0 )) * - 1 del ints . tmp197 tmp27 = np . copy ( ints . tmp250 ) del ints . tmp250 tmp27 += ints . tmp334 del ints . tmp334 tmp27 += np . transpose ( ints . tmp319 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp319 tmp21 = np . copy ( ints . tmp236 ) * 0.5 del ints . tmp236 tmp21 += ints . tmp251 * 0.5 del ints . tmp251 tmp21 += np . transpose ( ints . tmp275 , ( 0 , 2 , 1 , 3 )) del ints . tmp275 tmp21 += np . transpose ( ints . tmp301 , ( 0 , 3 , 1 , 2 )) * 0.5 del ints . tmp301 tmp21 += np . transpose ( ints . tmp263 , ( 0 , 3 , 1 , 2 )) * - 0.5 del ints . tmp263 tmp21 += np . transpose ( ints . tmp272 , ( 0 , 3 , 1 , 2 )) * - 1 del ints . tmp272 tmp21 += np . transpose ( ints . tmp279 , ( 0 , 3 , 1 , 2 )) * - 0.5 del ints . tmp279 tmp9 = np . copy ( ints . tmp103 ) * 2 del ints . tmp103 tmp9 += ints . tmp111 del ints . tmp111 tmp9 += ints . tmp133 * 2 del ints . tmp133 tmp9 += ints . tmp139 del ints . tmp139 tmp9 += ints . tmp149 * 2 del ints . tmp149 tmp9 += ints . tmp158 del ints . tmp158 tmp9 += ints . tmp175 del ints . tmp175 tmp9 += ints . tmp182 del ints . tmp182 tmp9 += ints . tmp192 del ints . tmp192 tmp9 += ints . tmp20 del ints . tmp20 tmp9 += ints . tmp211 del ints . tmp211 tmp9 += ints . tmp218 del ints . tmp218 tmp9 += ints . tmp2 del ints . tmp2 tmp9 += ints . tmp36 del ints . tmp36 tmp9 += ints . tmp64 * 2 del ints . tmp64 tmp9 += ints . tmp73 del ints . tmp73 tmp9 += ints . tmp79 * 2 del ints . tmp79 tmp9 += f . aa . ov * - 1 tmp9 += ints . tmp106 * - 2 del ints . tmp106 tmp9 += ints . tmp115 * - 1 del ints . tmp115 tmp9 += ints . tmp119 * - 2 del ints . tmp119 tmp9 += ints . tmp11 * - 1 del ints . tmp11 tmp9 += ints . tmp122 * - 1 del ints . tmp122 tmp9 += ints . tmp172 * - 1 del ints . tmp172 tmp9 += ints . tmp190 * - 1 del ints . tmp190 tmp9 += ints . tmp199 * - 1 del ints . tmp199 tmp9 += ints . tmp208 * - 1 del ints . tmp208 tmp9 += ints . tmp34 * - 1 del ints . tmp34 tmp9 += ints . tmp42 * - 1 del ints . tmp42 tmp9 += ints . tmp5 * - 1 del ints . tmp5 tmp9 += ints . tmp87 * - 1 del ints . tmp87 tmp9 += ints . tmp8 * - 2 del ints . tmp8 tmp20 = np . copy ( ints . tmp253 ) del ints . tmp253 tmp20 += np . transpose ( ints . tmp265 , ( 0 , 1 , 3 , 2 )) del ints . tmp265 tmp20 += np . transpose ( ints . tmp271 , ( 0 , 1 , 3 , 2 )) del ints . tmp271 tmp20 += np . transpose ( ints . tmp277 , ( 0 , 1 , 3 , 2 )) * 2 del ints . tmp277 tmp20 += np . transpose ( ints . tmp303 , ( 0 , 1 , 3 , 2 )) del ints . tmp303 tmp20 += ints . tmp99 tmp20 += ints . tmp274 * - 1 del ints . tmp274 tmp20 += np . transpose ( ints . tmp281 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp281 tmp28 = np . copy ( ints . tmp105 ) tmp28 += ints . tmp113 * 2 tmp28 += ints . tmp136 * 2 tmp28 += ints . tmp142 tmp28 += ints . tmp152 * 2 tmp28 += ints . tmp155 tmp28 += ints . tmp180 tmp28 += ints . tmp185 tmp28 += ints . tmp196 tmp28 += ints . tmp216 tmp28 += ints . tmp221 tmp28 += ints . tmp23 tmp28 += ints . tmp40 tmp28 += ints . tmp4 tmp28 += ints . tmp67 * 2 tmp28 += ints . tmp70 tmp28 += ints . tmp82 * 2 tmp28 += f . bb . ov * - 1 tmp28 += ints . tmp108 * - 1 tmp28 += ints . tmp10 * - 1 tmp28 += ints . tmp117 * - 2 tmp28 += ints . tmp121 * - 1 tmp28 += ints . tmp124 * - 2 tmp28 += ints . tmp13 * - 2 tmp28 += ints . tmp178 * - 1 tmp28 += ints . tmp195 * - 1 tmp28 += ints . tmp198 * - 1 tmp28 += ints . tmp214 * - 1 tmp28 += ints . tmp38 * - 1 tmp28 += ints . tmp41 * - 1 tmp28 += ints . tmp7 * - 1 tmp28 += ints . tmp85 * - 1 tmp14 = np . copy ( np . transpose ( ints . tmp31 , ( 1 , 0 ))) del ints . tmp31 tmp14 += ints . tmp58 * 2 del ints . tmp58 tmp14 += ints . tmp61 del ints . tmp61 tmp14 += f . aa . vv * - 1 tmp14 += np . transpose ( ints . tmp29 , ( 1 , 0 )) * - 1 del ints . tmp29 tmp14 += np . transpose ( ints . tmp33 , ( 1 , 0 )) * - 1 del ints . tmp33 tmp3 = np . copy ( ints . tmp160 ) * 2 del ints . tmp160 tmp3 += ints . tmp166 del ints . tmp166 tmp3 += np . transpose ( ints . tmp203 , ( 0 , 1 , 3 , 2 )) del ints . tmp203 tmp3 += ints . tmp44 tmp3 += ints . tmp163 * - 2 del ints . tmp163 tmp3 += np . transpose ( ints . tmp201 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp201 tmp3 += np . transpose ( ints . tmp47 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp47 tmp8 = np . copy ( ints . tmp105 ) * 0.5 del ints . tmp105 tmp8 += ints . tmp113 del ints . tmp113 tmp8 += ints . tmp136 del ints . tmp136 tmp8 += ints . tmp142 * 0.5 del ints . tmp142 tmp8 += ints . tmp152 del ints . tmp152 tmp8 += ints . tmp155 * 0.5 del ints . tmp155 tmp8 += ints . tmp180 * 0.5 del ints . tmp180 tmp8 += ints . tmp185 * 0.5 del ints . tmp185 tmp8 += ints . tmp196 * 0.5 del ints . tmp196 tmp8 += ints . tmp216 * 0.5 del ints . tmp216 tmp8 += ints . tmp221 * 0.5 del ints . tmp221 tmp8 += ints . tmp23 * 0.5 del ints . tmp23 tmp8 += ints . tmp40 * 0.5 del ints . tmp40 tmp8 += ints . tmp4 * 0.5 del ints . tmp4 tmp8 += ints . tmp67 del ints . tmp67 tmp8 += ints . tmp70 * 0.5 del ints . tmp70 tmp8 += ints . tmp82 del ints . tmp82 tmp8 += f . bb . ov * - 0.5 tmp8 += ints . tmp108 * - 0.5 del ints . tmp108 tmp8 += ints . tmp10 * - 0.5 del ints . tmp10 tmp8 += ints . tmp117 * - 1 del ints . tmp117 tmp8 += ints . tmp121 * - 0.5 del ints . tmp121 tmp8 += ints . tmp124 * - 1 del ints . tmp124 tmp8 += ints . tmp13 * - 1 del ints . tmp13 tmp8 += ints . tmp178 * - 0.5 del ints . tmp178 tmp8 += ints . tmp195 * - 0.5 del ints . tmp195 tmp8 += ints . tmp198 * - 0.5 del ints . tmp198 tmp8 += ints . tmp214 * - 0.5 del ints . tmp214 tmp8 += ints . tmp38 * - 0.5 del ints . tmp38 tmp8 += ints . tmp41 * - 0.5 del ints . tmp41 tmp8 += ints . tmp7 * - 0.5 del ints . tmp7 tmp8 += ints . tmp85 * - 0.5 del ints . tmp85 tmp1 = np . copy ( ints . tmp144 ) * 0.5 del ints . tmp144 tmp1 += np . transpose ( ints . tmp24 , ( 0 , 2 , 3 , 1 )) * 0.5 del ints . tmp24 tmp1 += np . transpose ( ints . tmp53 , ( 0 , 2 , 3 , 1 )) * 0.5 del ints . tmp53 tmp1 += np . transpose ( ints . tmp92 , ( 0 , 1 , 3 , 2 )) del ints . tmp92 tmp1 += ints . tmp75 * - 0.5 del ints . tmp75 tmp1 += ints . tmp89 * - 1 del ints . tmp89 tmp1 += ints . tmp95 * - 0.5 del ints . tmp95 tmp10 = einsum ( t1 . aa , ( 0 , 1 ), tmp6 , ( 2 , 3 , 1 ), ( 0 , 2 , 3 )) tmp5 = np . copy ( ints . tmp162 ) del ints . tmp162 tmp5 += ints . tmp168 * 2 del ints . tmp168 tmp5 += ints . tmp206 del ints . tmp206 tmp5 += ints . tmp49 tmp5 += ints . tmp165 * - 1 tmp0 = np . copy ( ints . tmp146 ) del ints . tmp146 tmp0 += np . transpose ( ints . tmp26 , ( 0 , 2 , 1 , 3 )) tmp0 += np . transpose ( ints . tmp55 , ( 0 , 2 , 1 , 3 )) del ints . tmp55 tmp0 += ints . tmp77 del ints . tmp77 tmp0 += ints . tmp91 del ints . tmp91 tmp0 += ints . tmp97 * 2 del ints . tmp97 tmp0 += ints . tmp100 * - 1 del ints . tmp100 tmp0 += np . transpose ( ints . tmp94 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp94 tmp7 = np . copy ( np . transpose ( ints . tmp205 , ( 0 , 1 , 3 , 2 ))) del ints . tmp205 tmp7 += np . transpose ( ints . tmp52 , ( 0 , 1 , 3 , 2 )) del ints . tmp52 tmp7 += ints . tmp170 * - 1 del ints . tmp170 tmp11 = np . copy ( ints . tmp141 ) del ints . tmp141 tmp11 += ints . tmp69 del ints . tmp69 tmp13 = np . copy ( ints . tmp132 ) del ints . tmp132 tmp13 += ints . tmp63 * - 1 del ints . tmp63 r2new . bbb = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp490 , ( 3 , 4 , 0 , 1 ), ( 4 , 3 , 2 )) * 2 del ints . tmp490 r2new . bbb += einsum ( tmp95 , ( 0 , 1 , 2 ), ints . tmp243 , ( 1 , 2 , 3 , 4 ), ( 4 , 3 , 0 )) * - 2 del tmp95 r2new . bbb += einsum ( ints . tmp243 , ( 0 , 1 , 2 , 3 ), tmp31 , ( 4 , 1 , 0 ), ( 3 , 2 , 4 )) * 2 del ints . tmp243 r2new . bbb += np . transpose ( tmp106 , ( 1 , 2 , 0 )) r2new . bbb += np . transpose ( tmp106 , ( 2 , 1 , 0 )) * - 1 del tmp106 r2new . bbb += np . transpose ( tmp118 , ( 1 , 2 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp118 , ( 2 , 1 , 0 )) del tmp118 r2new . bbb += einsum ( tmp94 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp38 , ( 1 , 2 ), ( 0 , 2 , 1 )) r2new . bbb += einsum ( tmp38 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 1 , 2 , 0 )) * - 1 r2new . bab = einsum ( tmp4 , ( 0 , 1 , 2 ), ints . tmp99 , ( 0 , 3 , 2 , 4 ), ( 4 , 3 , 1 )) r2new . bab += einsum ( ints . tmp426 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 1 , 4 ), ( 3 , 0 , 4 )) r2new . bab += einsum ( ints . tmp312 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 0 ), ( 3 , 4 , 1 )) * 2 del ints . tmp312 r2new . bab += einsum ( ints . tmp26 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 3 , 1 , 0 )) * - 1 r2new . bab += einsum ( ints . tmp26 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 0 , 2 ), ( 3 , 1 , 4 )) r2new . bab += einsum ( tmp86 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) del tmp86 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp88 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 , 3 )) * - 1 del tmp88 r2new . bab += einsum ( tmp90 , ( 0 , 1 , 2 ), ints . tmp49 , ( 0 , 2 , 3 , 4 ), ( 4 , 3 , 1 )) * - 1 del tmp90 r2new . bab += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp91 , ( 0 , 3 ), ( 2 , 3 , 1 )) * - 2 del tmp91 r2new . bab += einsum ( tmp92 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp92 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp93 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp93 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp94 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp94 r2new . bab += einsum ( tmp18 , ( 0 ,), ints . tmp49 , ( 0 , 1 , 2 , 3 ), ( 3 , 2 , 1 )) * 2 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp38 , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new . aba = einsum ( tmp24 , ( 0 , 1 , 2 ), ints . tmp26 , ( 1 , 2 , 3 , 4 ), ( 3 , 4 , 0 )) * - 1 del ints . tmp26 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp426 , ( 0 , 3 , 4 , 1 ), ( 3 , 4 , 2 )) del ints . tmp426 r2new . aba += einsum ( ints . tmp165 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 1 ), ( 2 , 4 , 0 )) * 2 del ints . tmp165 r2new . aba += einsum ( r1 . b , ( 0 ,), ints . tmp99 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aba += einsum ( tmp26 , ( 0 , 1 , 2 ), ints . tmp99 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) * - 1 del ints . tmp99 r2new . aba += einsum ( tmp70 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 4 , 3 , 0 ), ( 4 , 2 , 1 )) del tmp70 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp71 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 , 3 )) * - 1 del tmp71 r2new . aba += einsum ( tmp73 , ( 0 , 1 , 2 ), ints . tmp49 , ( 1 , 2 , 3 , 4 ), ( 3 , 4 , 0 )) del tmp73 r2new . aba += einsum ( tmp79 , ( 0 , 1 ), v . baa . xov , ( 0 , 2 , 3 ), ( 3 , 1 , 2 )) * - 2 del tmp79 r2new . aba += einsum ( tmp81 , ( 0 , 1 ), r2 . aba , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp81 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp83 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp83 r2new . aba += einsum ( tmp69 , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aba += einsum ( tmp84 , ( 0 ,), ints . tmp49 , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) del ints . tmp49 , tmp84 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp19 , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new . aaa = einsum ( tmp39 , ( 0 , 1 , 2 ), ints . tmp44 , ( 1 , 2 , 3 , 4 ), ( 4 , 3 , 0 )) * - 2 del tmp39 r2new . aaa += einsum ( tmp12 , ( 0 , 1 , 2 ), ints . tmp44 , ( 2 , 1 , 3 , 4 ), ( 4 , 3 , 0 )) * 2 del ints . tmp44 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp387 , ( 3 , 4 , 0 , 1 ), ( 4 , 3 , 2 )) * 2 del ints . tmp387 r2new . aaa += np . transpose ( tmp54 , ( 1 , 2 , 0 )) r2new . aaa += np . transpose ( tmp54 , ( 2 , 1 , 0 )) * - 1 del tmp54 r2new . aaa += np . transpose ( tmp68 , ( 1 , 2 , 0 )) * - 1 r2new . aaa += np . transpose ( tmp68 , ( 2 , 1 , 0 )) del tmp68 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp69 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp69 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp19 , ( 1 , 2 ), ( 0 , 2 , 1 )) r2new . aaa += einsum ( tmp19 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 1 , 2 , 0 )) * - 1 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp20 , ( 2 , 0 , 3 , 1 ), ( 3 ,)) * - 1 del tmp20 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp21 , ( 2 , 3 , 0 , 1 ), ( 3 ,)) * 4 del tmp21 r1new . b += einsum ( tmp22 , ( 0 , 1 , 2 ), tmp23 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * 2 del tmp22 , tmp23 r1new . b += einsum ( tmp24 , ( 0 , 1 , 2 ), tmp25 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) del tmp24 , tmp25 r1new . b += einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), tmp26 , ( 0 , 1 , 3 ), ( 2 ,)) del tmp26 , tmp27 r1new . b += einsum ( tmp9 , ( 0 , 1 ), r2 . aba , ( 1 , 2 , 0 ), ( 2 ,)) r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp28 , ( 2 , 1 ), ( 0 ,)) * - 2 del tmp28 r1new . b += einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 0 , 1 , 2 ), ( 3 ,)) * - 1 del tmp30 , tmp29 r1new . b += einsum ( tmp31 , ( 0 , 1 , 2 ), tmp32 , ( 0 , 2 , 1 , 3 ), ( 3 ,)) * - 2 del tmp31 , tmp32 r1new . b += einsum ( tmp33 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp33 r1new . b += einsum ( tmp37 , ( 0 ,), tmp38 , ( 0 , 1 ), ( 1 ,)) * - 2 del tmp38 , tmp37 r1new . a = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 0 ), ( 2 ,)) * - 1 del tmp0 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp1 , ( 2 , 1 , 0 , 3 ), ( 3 ,)) * - 4 del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp3 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * 2 del tmp2 , tmp3 r1new . a += einsum ( tmp4 , ( 0 , 1 , 2 ), tmp5 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) * - 1 del tmp4 , tmp5 r1new . a += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 0 , 1 , 2 ), ( 3 ,)) * - 1 del tmp6 , tmp7 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp8 , ( 2 , 0 ), ( 1 ,)) * 2 del tmp8 r1new . a += einsum ( tmp9 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 0 ), ( 2 ,)) * - 2 del tmp9 r1new . a += einsum ( tmp10 , ( 0 , 1 , 2 ), tmp11 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) del tmp10 , tmp11 r1new . a += einsum ( tmp12 , ( 0 , 1 , 2 ), tmp13 , ( 0 , 2 , 1 , 3 ), ( 3 ,)) * - 2 del tmp12 , tmp13 r1new . a += einsum ( r1 . a , ( 0 ,), tmp14 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp14 r1new . a += einsum ( tmp18 , ( 0 ,), tmp19 , ( 0 , 1 ), ( 1 ,)) * - 2 del tmp19 , tmp18 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"UDFCCSD"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.energy","text":"Code generated by albert 0.0.0 on 2024-08-17T20:39:01.620927.","title":"energy"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.energy--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/UDFCCSD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:39:01.620927. 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 ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp3 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp5 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp1 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) * 0.5 tmp1 += tmp0 tmp4 = np . copy ( f . bb . ov ) tmp4 += einsum ( tmp3 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) * - 0.5 del tmp3 tmp7 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp7 += einsum ( t1 . bb , ( 0 , 1 ), tmp0 , ( 2 ,), ( 2 , 0 , 1 )) * 0.5 del tmp0 tmp6 = np . copy ( f . aa . ov ) * 2 tmp6 += einsum ( tmp5 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) * - 1 del tmp5 tmp2 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp2 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp2 += einsum ( tmp1 , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 0 , 1 , 2 )) del tmp1 e_cc = einsum ( tmp2 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 2 ), ()) del tmp2 e_cc += einsum ( t1 . bb , ( 0 , 1 ), tmp4 , ( 0 , 1 ), ()) del tmp4 e_cc += einsum ( tmp6 , ( 0 , 1 ), t1 . aa , ( 0 , 1 ), ()) * 0.5 del tmp6 e_cc += einsum ( tmp7 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 2 ), ()) del tmp7 return e_cc","title":"Returns"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-17T20:39:57.454477.","title":"update_amps"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.update_amps--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.update_amps--returns","text":"t1new : Namespace of arrays Updated T1 residuals. t2new : Namespace of arrays Updated T2 residuals. Source code in ebcc/codegen/UDFCCSD.py 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:39:57.454477. 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 () tmp6 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp5 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp19 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp0 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp7 = np . copy ( tmp5 ) tmp7 += tmp6 tmp30 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp34 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp20 = einsum ( tmp19 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp148 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) tmp142 = einsum ( t1 . bb , ( 0 , 1 ), tmp19 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) tmp40 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp9 = np . copy ( tmp5 ) del tmp5 tmp9 += tmp6 del tmp6 tmp17 = einsum ( t1 . aa , ( 0 , 1 ), v . baa . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp76 = einsum ( tmp0 , ( 0 , 1 , 2 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 , 3 )) tmp78 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 3 ), ( 0 , 3 , 2 )) tmp13 = einsum ( tmp0 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp3 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp11 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp35 = np . copy ( tmp30 ) tmp35 += tmp34 * 2 tmp35 += einsum ( t1 . bb , ( 0 , 1 ), tmp7 , ( 2 ,), ( 2 , 0 , 1 )) tmp189 = np . copy ( f . bb . ov ) * - 1 tmp189 += tmp20 tmp199 = np . copy ( v . bbb . xvv ) tmp199 += np . transpose ( tmp148 , ( 0 , 2 , 1 )) * - 1 tmp165 = np . copy ( tmp40 ) tmp165 += tmp142 * - 1 tmp33 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp9 , ( 0 ,), ( 1 , 2 )) tmp42 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp85 = np . copy ( tmp17 ) tmp85 += tmp76 * - 1 tmp87 = np . copy ( v . baa . xvv ) tmp87 += np . transpose ( tmp78 , ( 0 , 2 , 1 )) * - 1 tmp18 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp72 = np . copy ( f . aa . ov ) * - 1 tmp72 += tmp13 tmp70 = np . copy ( tmp11 ) * 2 tmp70 += tmp3 tmp70 += einsum ( tmp7 , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 0 , 1 , 2 )) tmp99 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp36 = einsum ( tmp35 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 3 , 1 )) del tmp35 tmp190 = einsum ( t1 . bb , ( 0 , 1 ), tmp189 , ( 2 , 1 ), ( 2 , 0 )) del tmp189 tmp43 = einsum ( tmp19 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp176 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp9 , ( 0 ,), ( 1 , 2 )) tmp200 = einsum ( tmp19 , ( 0 , 1 , 2 ), tmp199 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp166 = einsum ( tmp165 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp41 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp94 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp217 = einsum ( tmp19 , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp132 = np . copy ( f . bb . ov ) tmp132 += tmp20 * - 1 tmp132 += tmp33 tmp185 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp194 = np . copy ( v . bbb . xvv ) tmp194 += np . transpose ( tmp148 , ( 0 , 2 , 1 )) * - 1 tmp158 = einsum ( t1 . bb , ( 0 , 1 ), tmp42 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp205 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp199 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) del tmp199 tmp153 = einsum ( t1 . aa , ( 0 , 1 ), v . baa . xoo , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) tmp145 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp37 = np . copy ( f . bb . ov ) tmp37 += tmp20 * - 1 tmp55 = np . copy ( tmp17 ) tmp55 += tmp11 * 2 tmp55 += tmp3 tmp55 += einsum ( tmp7 , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 0 , 1 , 2 )) tmp14 = np . copy ( f . aa . ov ) tmp14 += tmp13 * - 1 tmp64 = einsum ( tmp0 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp25 = einsum ( tmp0 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp49 = einsum ( tmp9 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp79 = np . copy ( v . baa . xvv ) tmp79 += np . transpose ( tmp78 , ( 0 , 2 , 1 )) * - 1 tmp16 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp86 = einsum ( tmp85 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp88 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp87 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp10 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp9 , ( 0 ,), ( 1 , 2 )) tmp96 = einsum ( tmp87 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) del tmp87 tmp92 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) tmp73 = einsum ( tmp72 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) * 0.5 del tmp72 tmp71 = einsum ( tmp70 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 3 , 1 )) * 0.5 del tmp70 tmp111 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp0 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp224 = einsum ( tmp99 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 1 , 0 )) tmp220 = einsum ( tmp40 , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp197 = np . copy ( tmp40 ) * - 1 tmp197 += tmp142 tmp191 = np . copy ( np . transpose ( tmp36 , ( 1 , 0 ))) tmp191 += np . transpose ( tmp190 , ( 1 , 0 )) * - 1 del tmp190 tmp183 = einsum ( tmp40 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp180 = np . copy ( tmp40 ) tmp180 += tmp30 tmp180 += tmp34 * 2 tmp180 += einsum ( t1 . bb , ( 0 , 1 ), tmp7 , ( 2 ,), ( 2 , 0 , 1 )) tmp177 = np . copy ( f . bb . oo ) tmp177 += np . transpose ( tmp43 , ( 1 , 0 )) * - 1 tmp177 += np . transpose ( tmp176 , ( 1 , 0 )) del tmp176 tmp229 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp201 = np . copy ( np . transpose ( tmp166 , ( 1 , 0 , 3 , 2 ))) * - 1 tmp201 += np . transpose ( tmp200 , ( 0 , 1 , 3 , 2 )) del tmp200 tmp129 = np . copy ( tmp30 ) tmp129 += tmp34 * 2 tmp44 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp7 , ( 0 ,), ( 1 , 2 )) tmp104 = np . copy ( np . transpose ( tmp99 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp104 += np . transpose ( tmp99 , ( 1 , 0 , 3 , 2 )) tmp127 = np . copy ( tmp30 ) * 0.5 tmp127 += tmp34 tmp144 = einsum ( t1 . bb , ( 0 , 1 ), tmp41 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp210 = np . copy ( np . transpose ( tmp94 , ( 1 , 0 , 2 , 3 ))) tmp210 += np . transpose ( tmp94 , ( 1 , 0 , 3 , 2 )) * - 1 tmp28 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp143 = np . copy ( v . bbb . xov ) tmp143 += tmp40 tmp143 += tmp142 * - 1 tmp207 = np . copy ( np . transpose ( tmp94 , ( 1 , 0 , 2 , 3 ))) tmp207 += np . transpose ( tmp94 , ( 1 , 0 , 3 , 2 )) * - 1 tmp222 = einsum ( tmp217 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp131 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp9 , ( 0 ,), ( 1 , 2 )) tmp130 = einsum ( tmp40 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp133 = einsum ( t1 . bb , ( 0 , 1 ), tmp132 , ( 0 , 2 ), ( 1 , 2 )) del tmp132 tmp187 = einsum ( tmp185 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp212 = einsum ( tmp30 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp174 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp193 = np . copy ( tmp40 ) tmp193 += tmp142 * - 1 tmp226 = einsum ( tmp194 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 2 , 1 , 4 )) tmp214 = np . copy ( tmp158 ) tmp214 += np . transpose ( tmp205 , ( 1 , 0 , 3 , 2 )) tmp100 = np . copy ( np . transpose ( tmp99 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp100 += np . transpose ( tmp99 , ( 1 , 0 , 3 , 2 )) tmp154 = np . copy ( tmp153 ) * - 1 del tmp153 tmp154 += tmp11 * 2 tmp154 += tmp3 tmp12 = np . copy ( tmp11 ) tmp12 += tmp3 * 0.5 tmp12 += einsum ( tmp7 , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 0 , 1 , 2 )) * 0.5 tmp169 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp149 = np . copy ( v . bbb . xvv ) tmp149 += tmp148 * - 1 tmp146 = np . copy ( v . baa . xvv ) tmp146 += tmp78 * - 1 tmp140 = np . copy ( v . baa . xvv ) tmp140 += tmp78 * - 1 del tmp78 tmp162 = np . copy ( v . bbb . xvv ) tmp162 += tmp148 * - 1 del tmp148 tmp161 = einsum ( t1 . bb , ( 0 , 1 ), tmp145 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp38 = einsum ( t1 . bb , ( 0 , 1 ), tmp37 , ( 2 , 1 ), ( 0 , 2 )) tmp56 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp55 , ( 0 , 1 , 3 ), ( 2 , 3 )) del tmp55 tmp57 = einsum ( tmp7 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp58 = einsum ( tmp14 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 2 , 1 )) tmp77 = np . copy ( tmp17 ) tmp77 += tmp76 * - 1 tmp102 = np . copy ( np . transpose ( tmp94 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp102 += np . transpose ( tmp94 , ( 1 , 0 , 3 , 2 )) tmp52 = np . copy ( tmp11 ) * 2 tmp52 += tmp3 tmp68 = einsum ( t1 . aa , ( 0 , 1 ), tmp64 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp83 = np . copy ( tmp17 ) * - 1 tmp83 += tmp76 tmp50 = np . copy ( f . aa . oo ) tmp50 += np . transpose ( tmp25 , ( 1 , 0 )) * - 1 tmp50 += np . transpose ( tmp49 , ( 1 , 0 )) del tmp49 tmp120 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp79 , ( 0 , 3 , 4 ), ( 1 , 4 , 3 , 2 )) tmp106 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp66 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp98 = einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) tmp46 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp95 = np . copy ( np . transpose ( tmp94 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp95 += np . transpose ( tmp94 , ( 1 , 0 , 3 , 2 )) tmp89 = np . copy ( np . transpose ( tmp86 , ( 1 , 0 , 3 , 2 ))) * - 1 tmp89 += np . transpose ( tmp88 , ( 0 , 1 , 3 , 2 )) del tmp88 tmp62 = np . copy ( f . aa . ov ) tmp62 += tmp13 * - 1 tmp62 += tmp10 tmp81 = np . copy ( v . baa . xov ) tmp81 += tmp17 tmp81 += tmp76 * - 1 del tmp76 tmp26 = einsum ( tmp7 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp60 = np . copy ( tmp11 ) * 2 tmp60 += tmp3 tmp1 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp0 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp108 = np . copy ( tmp92 ) tmp108 += np . transpose ( tmp96 , ( 1 , 0 , 3 , 2 )) tmp118 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp94 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) tmp123 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp74 = np . copy ( np . transpose ( tmp71 , ( 1 , 0 ))) del tmp71 tmp74 += tmp73 * - 1 del tmp73 tmp114 = einsum ( tmp17 , ( 0 , 1 , 2 ), tmp0 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp116 = einsum ( t1 . aa , ( 0 , 1 ), tmp111 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) tmp31 = np . copy ( t2 . bbbb ) tmp31 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 0.5 tmp23 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp7 , ( 0 ,), ( 1 , 2 )) tmp21 = einsum ( tmp7 , ( 0 ,), v . bbb . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp4 = np . copy ( t2 . aaaa ) tmp4 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 0.5 tmp219 = einsum ( tmp40 , ( 0 , 1 , 2 ), tmp40 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp225 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp224 , ( 4 , 5 , 0 , 1 ), ( 5 , 4 , 2 , 3 )) * - 1 del tmp224 tmp221 = einsum ( t1 . bb , ( 0 , 1 ), tmp220 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp220 tmp173 = np . copy ( t2 . bbbb ) tmp173 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 tmp198 = einsum ( tmp197 , ( 0 , 1 , 2 ), tmp30 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) del tmp197 tmp192 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp191 , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) * - 1 del tmp191 tmp184 = einsum ( t1 . bb , ( 0 , 1 ), tmp183 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp183 tmp181 = np . copy ( f . bb . vv ) * - 1 tmp181 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp180 , ( 0 , 1 , 3 ), ( 2 , 3 )) del tmp180 tmp181 += einsum ( tmp7 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) * - 1 tmp181 += einsum ( tmp37 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) del tmp37 tmp178 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp177 , ( 1 , 4 ), ( 4 , 0 , 2 , 3 )) * - 1 del tmp177 tmp203 = einsum ( tmp165 , ( 0 , 1 , 2 ), tmp30 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp230 = einsum ( tmp229 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) * - 1 del tmp229 tmp202 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp201 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp201 tmp182 = einsum ( tmp129 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp45 = np . copy ( f . bb . oo ) tmp45 += np . transpose ( tmp43 , ( 1 , 0 )) * - 1 del tmp43 tmp45 += np . transpose ( tmp44 , ( 1 , 0 )) del tmp44 tmp218 = einsum ( tmp217 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 3 , 2 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) del tmp217 tmp209 = np . copy ( tmp158 ) * 0.5 tmp209 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp104 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 tmp209 += einsum ( tmp194 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 2 , 1 )) * 0.5 tmp204 = einsum ( tmp34 , ( 0 , 1 , 2 ), tmp30 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp128 = einsum ( tmp127 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) del tmp127 tmp211 = np . copy ( tmp144 ) tmp211 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp210 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp210 tmp228 = einsum ( t1 . bb , ( 0 , 1 ), tmp28 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp186 = einsum ( tmp185 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp185 tmp196 = einsum ( tmp143 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp208 = np . copy ( tmp144 ) tmp208 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp207 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp207 tmp223 = einsum ( t1 . bb , ( 0 , 1 ), tmp222 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp222 tmp134 = np . copy ( f . bb . vv ) tmp134 += tmp130 * - 1 del tmp130 tmp134 += np . transpose ( tmp131 , ( 1 , 0 )) del tmp131 tmp134 += np . transpose ( tmp133 , ( 1 , 0 )) * - 1 del tmp133 tmp188 = einsum ( t1 . bb , ( 0 , 1 ), tmp187 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp187 tmp213 = einsum ( t1 . bb , ( 0 , 1 ), tmp212 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp212 tmp175 = einsum ( tmp174 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 3 , 4 , 5 ), ( 2 , 0 , 4 , 5 )) tmp216 = einsum ( tmp40 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp179 = einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 tmp179 += t2 . bbbb * - 1 tmp195 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp193 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) * - 1 del tmp193 tmp195 += einsum ( tmp194 , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 4 , 2 , 1 )) del tmp194 tmp227 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp227 += einsum ( t1 . bb , ( 0 , 1 ), tmp226 , ( 0 , 2 , 3 , 4 ), ( 4 , 3 , 1 , 2 )) del tmp226 tmp215 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp214 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp214 tmp206 = np . copy ( tmp158 ) tmp206 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp100 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 2 tmp206 += np . transpose ( tmp205 , ( 1 , 0 , 3 , 2 )) del tmp205 tmp156 = einsum ( tmp99 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) * - 1 del tmp99 tmp156 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp154 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp152 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp171 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp40 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp126 = np . copy ( t2 . abab ) tmp126 += einsum ( t1 . bb , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 tmp137 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp138 = einsum ( tmp12 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp138 += einsum ( t1 . aa , ( 0 , 1 ), tmp14 , ( 2 , 1 ), ( 2 , 0 )) * 0.5 tmp172 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp40 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp157 = einsum ( tmp11 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp160 = einsum ( tmp145 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 2 , 3 ), ( 4 , 0 , 5 , 1 )) tmp170 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp169 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) del tmp169 tmp136 = np . copy ( t2 . abab ) tmp136 += einsum ( t1 . bb , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp167 = np . copy ( np . transpose ( tmp166 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp166 tmp167 += einsum ( tmp19 , ( 0 , 1 , 2 ), tmp149 , ( 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) tmp147 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp145 , ( 0 , 4 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp145 tmp147 += einsum ( tmp146 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 2 , 1 )) * - 1 tmp159 = np . copy ( np . transpose ( tmp158 , ( 1 , 0 , 3 , 2 ))) tmp159 += einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp149 , ( 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) tmp141 = einsum ( tmp140 , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 3 , 4 , 2 , 1 )) del tmp140 tmp139 = einsum ( tmp0 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp163 = einsum ( tmp161 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 4 , 3 , 2 )) del tmp161 tmp163 += einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp162 , ( 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp162 tmp164 = np . copy ( np . transpose ( tmp86 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp86 tmp164 += einsum ( tmp0 , ( 0 , 1 , 2 ), tmp146 , ( 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) tmp39 = np . copy ( tmp36 ) del tmp36 tmp39 += np . transpose ( tmp38 , ( 1 , 0 )) del tmp38 tmp125 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp151 = np . copy ( v . bbb . xov ) tmp151 += tmp40 tmp151 += tmp142 * - 1 del tmp142 tmp2 = einsum ( tmp0 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp135 = einsum ( tmp19 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp59 = np . copy ( f . aa . vv ) * - 1 tmp59 += tmp56 del tmp56 tmp59 += np . transpose ( tmp57 , ( 1 , 0 )) * - 1 del tmp57 tmp59 += np . transpose ( tmp58 , ( 1 , 0 )) del tmp58 tmp168 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp149 , ( 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) tmp155 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp94 , ( 1 , 4 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp94 tmp155 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp154 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) * - 1 del tmp154 tmp155 += einsum ( tmp146 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 2 , 1 )) del tmp146 tmp150 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp149 , ( 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp149 tmp80 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp77 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) * - 1 del tmp77 tmp80 += einsum ( tmp0 , ( 0 , 1 , 2 ), tmp79 , ( 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp0 tmp91 = einsum ( tmp3 , ( 0 , 1 , 2 ), tmp85 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp103 = np . copy ( tmp92 ) tmp103 += einsum ( tmp102 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * - 2 del tmp102 tmp103 += einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp79 , ( 0 , 3 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp79 tmp53 = einsum ( tmp52 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) del tmp52 tmp69 = einsum ( tmp68 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp68 tmp84 = einsum ( tmp3 , ( 0 , 1 , 2 ), tmp83 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) del tmp83 tmp51 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp50 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 tmp121 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp121 += einsum ( tmp120 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp120 tmp107 = einsum ( tmp106 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp106 tmp67 = einsum ( tmp66 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp66 tmp65 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp64 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp64 tmp105 = np . copy ( tmp98 ) tmp105 += einsum ( tmp104 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * - 1 del tmp104 tmp93 = einsum ( tmp3 , ( 0 , 1 , 2 ), tmp11 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp54 = einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 2 tmp54 += t2 . aaaa * - 1 tmp47 = np . copy ( t2 . aaaa ) tmp47 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 tmp48 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp46 , ( 4 , 0 , 5 , 1 ), ( 5 , 4 , 2 , 3 )) tmp97 = np . copy ( tmp92 ) tmp97 += einsum ( tmp95 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * - 2 del tmp95 tmp97 += np . transpose ( tmp96 , ( 1 , 0 , 3 , 2 )) del tmp96 tmp90 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp89 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp89 tmp112 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp111 , ( 4 , 5 , 1 , 0 ), ( 5 , 4 , 2 , 3 )) del tmp111 tmp63 = np . copy ( f . aa . vv ) tmp63 += einsum ( tmp17 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) * - 1 tmp63 += einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp9 , ( 0 ,), ( 1 , 2 )) del tmp9 tmp63 += einsum ( t1 . aa , ( 0 , 1 ), tmp62 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp62 tmp82 = einsum ( tmp81 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) del tmp81 tmp27 = np . copy ( f . aa . oo ) tmp27 += np . transpose ( tmp25 , ( 1 , 0 )) * - 1 del tmp25 tmp27 += np . transpose ( tmp26 , ( 1 , 0 )) del tmp26 tmp61 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp60 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp122 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) tmp109 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp108 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp108 tmp119 = einsum ( tmp118 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) * - 1 del tmp118 tmp124 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp123 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) * - 1 del tmp123 tmp101 = np . copy ( tmp98 ) tmp101 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp100 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 del tmp100 tmp110 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp75 = einsum ( tmp74 , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 2 del tmp74 tmp113 = einsum ( tmp17 , ( 0 , 1 , 2 ), tmp17 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp115 = einsum ( tmp114 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp114 tmp117 = einsum ( tmp116 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp116 tmp32 = np . copy ( tmp30 ) * 0.5 del tmp30 tmp32 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp31 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) del tmp31 tmp32 += einsum ( t1 . bb , ( 0 , 1 ), tmp7 , ( 2 ,), ( 2 , 0 , 1 )) * 0.5 tmp24 = np . copy ( f . aa . ov ) tmp24 += tmp13 * - 1 del tmp13 tmp24 += tmp23 del tmp23 tmp29 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) del tmp19 tmp22 = np . copy ( f . bb . ov ) tmp22 += tmp20 * - 1 del tmp20 tmp22 += tmp21 del tmp21 tmp8 = np . copy ( tmp3 ) * 0.5 del tmp3 tmp8 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp4 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) del tmp4 tmp8 += einsum ( tmp7 , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 0 , 1 , 2 )) * 0.5 del tmp7 tmp15 = einsum ( tmp12 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 3 , 1 )) * 2 del tmp12 tmp15 += einsum ( t1 . aa , ( 0 , 1 ), tmp14 , ( 2 , 1 ), ( 2 , 0 )) del tmp14 t2new . bbbb = einsum ( tmp45 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 t2new . bbbb += einsum ( tmp174 , ( 0 , 1 , 2 , 3 ), tmp173 , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 5 , 4 )) * 0.5 del tmp173 t2new . bbbb += np . transpose ( tmp175 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp175 t2new . bbbb += np . transpose ( tmp178 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp128 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 4 t2new . bbbb += np . transpose ( tmp178 , ( 0 , 1 , 3 , 2 )) * 2 del tmp178 t2new . bbbb += einsum ( tmp174 , ( 0 , 1 , 2 , 3 ), tmp179 , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 5 , 4 )) * - 0.5 del tmp174 , tmp179 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp181 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * 2 del tmp181 t2new . bbbb += tmp182 t2new . bbbb += einsum ( tmp134 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * 2 t2new . bbbb += np . transpose ( tmp182 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp184 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp186 , ( 1 , 0 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp188 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += np . transpose ( tmp188 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp192 , ( 1 , 0 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp184 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp184 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp186 , ( 0 , 1 , 3 , 2 )) * 2 del tmp186 t2new . bbbb += tmp188 * - 1 t2new . bbbb += np . transpose ( tmp188 , ( 0 , 1 , 3 , 2 )) del tmp188 t2new . bbbb += np . transpose ( tmp192 , ( 0 , 1 , 3 , 2 )) * 2 del tmp192 t2new . bbbb += tmp184 del tmp184 t2new . bbbb += einsum ( tmp195 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) * 2 del tmp195 t2new . bbbb += tmp196 t2new . bbbb += np . transpose ( tmp198 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += tmp202 * - 2 t2new . bbbb += np . transpose ( tmp196 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp196 t2new . bbbb += np . transpose ( tmp203 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp158 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += tmp204 * 2 t2new . bbbb += np . transpose ( tmp204 , ( 1 , 0 , 3 , 2 )) * 2 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp206 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 2 del tmp206 t2new . bbbb += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp208 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) * - 1 del tmp208 t2new . bbbb += np . transpose ( tmp158 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp204 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp204 , ( 1 , 0 , 2 , 3 )) * - 2 del tmp204 t2new . bbbb += einsum ( tmp209 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) * 4 del tmp209 t2new . bbbb += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp211 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 5 , 3 )) del tmp211 t2new . bbbb += tmp158 * - 1 t2new . bbbb += np . transpose ( tmp213 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp215 , ( 0 , 1 , 3 , 2 )) * 2 t2new . bbbb += np . transpose ( tmp158 , ( 1 , 0 , 2 , 3 )) del tmp158 t2new . bbbb += np . transpose ( tmp213 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp213 t2new . bbbb += np . transpose ( tmp215 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp215 t2new . bbbb += np . transpose ( tmp216 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp218 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp218 t2new . bbbb += tmp219 t2new . bbbb += np . transpose ( tmp219 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp219 t2new . bbbb += np . transpose ( tmp221 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp221 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += tmp223 t2new . bbbb += np . transpose ( tmp223 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp223 t2new . bbbb += np . transpose ( tmp216 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp216 t2new . bbbb += tmp225 * 2 del tmp225 t2new . bbbb += einsum ( tmp227 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 3 , 2 )) * 2 del tmp227 t2new . bbbb += np . transpose ( tmp182 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp182 , ( 1 , 0 , 3 , 2 )) del tmp182 t2new . bbbb += np . transpose ( tmp228 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += np . transpose ( tmp202 , ( 1 , 0 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp198 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp198 t2new . bbbb += tmp228 * - 1 del tmp228 t2new . bbbb += np . transpose ( tmp202 , ( 0 , 1 , 3 , 2 )) * 2 del tmp202 t2new . bbbb += np . transpose ( tmp203 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp203 t2new . bbbb += einsum ( t1 . bb , ( 0 , 1 ), tmp230 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp230 t2new . bbbb += tmp221 * - 1 t2new . bbbb += np . transpose ( tmp221 , ( 1 , 0 , 2 , 3 )) del tmp221 t2new . abab = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp45 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 t2new . abab += einsum ( tmp126 , ( 0 , 1 , 2 , 3 ), tmp125 , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) * 0.5 del tmp126 t2new . abab += einsum ( tmp125 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) * 0.5 del tmp125 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp128 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp128 t2new . abab += einsum ( tmp50 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp50 t2new . abab += einsum ( tmp59 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 t2new . abab += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp129 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) del tmp129 t2new . abab += einsum ( tmp134 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) del tmp134 t2new . abab += einsum ( tmp39 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 t2new . abab += einsum ( tmp135 , ( 0 , 1 , 2 , 3 ), tmp136 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp135 t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), tmp137 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp137 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp138 , ( 0 , 4 ), ( 4 , 1 , 2 , 3 )) * - 2 del tmp138 t2new . abab += einsum ( tmp139 , ( 0 , 1 , 2 , 3 ), tmp136 , ( 1 , 2 , 4 , 5 ), ( 0 , 3 , 4 , 5 )) del tmp139 t2new . abab += einsum ( tmp141 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 3 , 5 )) * - 1 del tmp141 t2new . abab += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp143 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) del tmp143 t2new . abab += tmp144 * - 1 del tmp144 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp147 , ( 1 , 4 , 2 , 5 ), ( 0 , 4 , 5 , 3 )) del tmp147 t2new . abab += tmp98 * - 1 del tmp98 t2new . abab += einsum ( tmp150 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 2 ), ( 1 , 4 , 5 , 3 )) * - 1 del tmp150 t2new . abab += einsum ( tmp17 , ( 0 , 1 , 2 ), tmp151 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) del tmp151 t2new . abab += einsum ( tmp152 , ( 0 , 1 , 2 , 3 ), tmp136 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp136 , tmp152 t2new . abab += einsum ( tmp155 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 del tmp155 t2new . abab += einsum ( tmp156 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 2 del tmp156 t2new . abab += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp60 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) del tmp60 t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), tmp157 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp157 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp159 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 del tmp159 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp160 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp160 t2new . abab += einsum ( tmp163 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) del tmp163 t2new . abab += einsum ( tmp164 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) * - 1 del tmp164 t2new . abab += einsum ( tmp34 , ( 0 , 1 , 2 ), tmp85 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) * 2 del tmp34 , tmp85 t2new . abab += einsum ( tmp167 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 2 ), ( 4 , 0 , 5 , 3 )) * - 1 del tmp167 t2new . abab += einsum ( tmp11 , ( 0 , 1 , 2 ), tmp165 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) * 2 del tmp11 , tmp165 t2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp2 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 t2new . abab += einsum ( tmp168 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) * - 1 del tmp168 t2new . abab += einsum ( tmp170 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp170 t2new . abab += einsum ( tmp171 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 1 del tmp171 t2new . abab += einsum ( t1 . aa , ( 0 , 1 ), tmp172 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp172 t2new . aaaa = einsum ( tmp27 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 t2new . aaaa += einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), tmp46 , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 3 , 2 )) * 0.5 del tmp47 t2new . aaaa += np . transpose ( tmp48 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp48 t2new . aaaa += np . transpose ( tmp51 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += einsum ( tmp53 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 2 del tmp53 t2new . aaaa += np . transpose ( tmp51 , ( 1 , 0 , 3 , 2 )) * 2 del tmp51 t2new . aaaa += einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), tmp46 , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 3 , 2 )) * - 0.5 del tmp46 , tmp54 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp59 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * 2 del tmp59 t2new . aaaa += tmp61 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp63 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * 2 del tmp63 t2new . aaaa += np . transpose ( tmp61 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp65 , ( 1 , 0 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp67 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp69 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += np . transpose ( tmp69 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp75 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp67 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp65 , ( 0 , 1 , 3 , 2 )) * 2 del tmp65 t2new . aaaa += np . transpose ( tmp67 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp69 * - 1 t2new . aaaa += np . transpose ( tmp69 , ( 0 , 1 , 3 , 2 )) del tmp69 t2new . aaaa += np . transpose ( tmp75 , ( 1 , 0 , 3 , 2 )) * 2 del tmp75 t2new . aaaa += tmp67 del tmp67 t2new . aaaa += einsum ( tmp80 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) * 2 del tmp80 t2new . aaaa += tmp82 t2new . aaaa += np . transpose ( tmp84 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp90 , ( 1 , 0 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp82 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp82 t2new . aaaa += np . transpose ( tmp91 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp92 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += tmp93 * 2 t2new . aaaa += np . transpose ( tmp93 , ( 1 , 0 , 3 , 2 )) * 2 t2new . aaaa += einsum ( tmp97 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * - 2 del tmp97 t2new . aaaa += einsum ( tmp101 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * - 1 del tmp101 t2new . aaaa += np . transpose ( tmp92 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp93 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp93 , ( 1 , 0 , 2 , 3 )) * - 2 del tmp93 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp103 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * 2 del tmp103 t2new . aaaa += einsum ( tmp105 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) del tmp105 t2new . aaaa += tmp92 * - 1 t2new . aaaa += np . transpose ( tmp107 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp109 , ( 1 , 0 , 2 , 3 )) * 2 t2new . aaaa += np . transpose ( tmp92 , ( 1 , 0 , 2 , 3 )) del tmp92 t2new . aaaa += np . transpose ( tmp107 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp107 t2new . aaaa += tmp109 * - 2 del tmp109 t2new . aaaa += np . transpose ( tmp110 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp112 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp112 t2new . aaaa += tmp113 t2new . aaaa += np . transpose ( tmp113 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp113 t2new . aaaa += np . transpose ( tmp115 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp115 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += tmp117 t2new . aaaa += np . transpose ( tmp117 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp117 t2new . aaaa += np . transpose ( tmp110 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp110 t2new . aaaa += tmp119 * 2 del tmp119 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp121 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 5 , 4 )) * 2 del tmp121 t2new . aaaa += np . transpose ( tmp61 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp61 , ( 1 , 0 , 3 , 2 )) del tmp61 t2new . aaaa += np . transpose ( tmp122 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += tmp90 * - 2 t2new . aaaa += tmp84 * - 1 del tmp84 t2new . aaaa += tmp122 * - 1 del tmp122 t2new . aaaa += np . transpose ( tmp90 , ( 1 , 0 , 2 , 3 )) * 2 del tmp90 t2new . aaaa += np . transpose ( tmp91 , ( 1 , 0 , 2 , 3 )) * - 1 del tmp91 t2new . aaaa += einsum ( tmp124 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 2 del tmp124 t2new . aaaa += tmp115 * - 1 t2new . aaaa += np . transpose ( tmp115 , ( 1 , 0 , 2 , 3 )) del tmp115 t1new . bb = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp28 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 2 del tmp28 t1new . bb += f . bb . ov t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), f . bb . vv , ( 2 , 1 ), ( 0 , 2 )) t1new . bb += einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 del tmp29 t1new . bb += einsum ( tmp32 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * 2 del tmp32 t1new . bb += tmp33 del tmp33 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp39 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp39 t1new . bb += einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp40 , ( 0 , 2 , 3 ), ( 1 , 3 )) * - 1 del tmp40 t1new . bb += einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 del tmp41 t1new . bb += einsum ( tmp42 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 2 del tmp42 t1new . bb += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp24 , ( 0 , 2 ), ( 1 , 3 )) t1new . bb += einsum ( tmp22 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 2 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp45 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp45 t1new . aa = np . copy ( f . aa . ov ) t1new . aa += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 2 del tmp1 t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 del tmp2 t1new . aa += einsum ( t1 . aa , ( 0 , 1 ), f . aa . vv , ( 2 , 1 ), ( 0 , 2 )) t1new . aa += einsum ( tmp8 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * 2 del tmp8 t1new . aa += tmp10 del tmp10 t1new . aa += einsum ( t1 . aa , ( 0 , 1 ), tmp15 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp15 t1new . aa += einsum ( tmp16 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 1 del tmp16 t1new . aa += einsum ( tmp17 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) * - 1 del tmp17 t1new . aa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 2 del tmp18 t1new . aa += einsum ( tmp22 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp22 t1new . aa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp24 , ( 1 , 3 ), ( 0 , 2 )) * 2 del tmp24 t1new . aa += einsum ( tmp27 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp27 return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.update_lams","text":"Code generated by albert 0.0.0 on 2024-08-17T20:41:35.618687.","title":"update_lams"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.update_lams--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.update_lams--returns","text":"l1new : Namespace of arrays Updated L1 residuals. l2new : Namespace of arrays Updated L2 residuals. Source code in ebcc/codegen/UDFCCSD.py 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 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-17T20:41:35.618687. 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 ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp13 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp14 = np . copy ( tmp12 ) tmp14 += tmp13 tmp4 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp68 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) tmp69 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp67 = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 1 , 2 ), ( 2 , 0 )) tmp54 = einsum ( t1 . aa , ( 0 , 1 ), l1 . aa , ( 1 , 2 ), ( 2 , 0 )) tmp56 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp55 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp7 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp9 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp8 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp111 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp14 , ( 0 ,), ( 1 , 2 )) tmp110 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp4 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp25 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp27 = einsum ( t1 . aa , ( 0 , 1 ), v . baa . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp24 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp44 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) tmp45 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp1 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp36 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp35 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp63 = einsum ( t1 . bb , ( 0 , 1 ), l2 . abab , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp70 = np . copy ( tmp67 ) tmp70 += tmp68 tmp70 += tmp69 * 2 tmp65 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp52 = einsum ( t1 . aa , ( 0 , 1 ), l2 . abab , ( 1 , 2 , 3 , 4 ), ( 3 , 0 , 4 , 2 )) tmp57 = np . copy ( tmp54 ) * 0.5 tmp57 += tmp55 tmp57 += tmp56 * 0.5 tmp50 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp213 = np . copy ( tmp7 ) tmp213 += tmp8 tmp213 += tmp9 * 2 tmp112 = np . copy ( f . bb . ov ) tmp112 += tmp110 * - 1 tmp112 += tmp111 tmp129 = np . copy ( tmp8 ) * 0.5 tmp129 += tmp9 tmp168 = np . copy ( v . bbb . xov ) tmp168 += tmp7 tmp168 += tmp8 tmp168 += tmp9 * 2 tmp166 = np . copy ( v . baa . xov ) tmp166 += tmp27 tmp166 += tmp24 * 2 tmp166 += tmp25 tmp105 = np . copy ( tmp12 ) del tmp12 tmp105 += tmp13 del tmp13 tmp125 = np . copy ( tmp44 ) tmp125 += tmp45 * 2 tmp15 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp14 , ( 0 ,), ( 1 , 2 )) tmp11 = einsum ( tmp1 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp37 = np . copy ( tmp35 ) tmp37 += tmp36 * 0.5 tmp179 = np . copy ( tmp27 ) * 0.5 tmp179 += tmp24 tmp179 += tmp25 * 0.5 tmp119 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp17 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp40 = einsum ( t1 . aa , ( 0 , 1 ), l1 . aa , ( 2 , 0 ), ( 2 , 1 )) tmp64 = einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) tmp71 = einsum ( t1 . bb , ( 0 , 1 ), tmp70 , ( 0 , 2 ), ( 2 , 1 )) tmp61 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 2 , 0 ), ( 1 , 3 )) tmp62 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) tmp66 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp65 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) tmp43 = einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp49 = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp53 = einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp58 = einsum ( tmp57 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp48 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp51 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp50 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) tmp29 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp214 = einsum ( tmp213 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) del tmp213 tmp215 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp14 , ( 0 ,), ( 1 , 2 )) tmp132 = einsum ( t1 . bb , ( 0 , 1 ), tmp112 , ( 2 , 1 ), ( 2 , 0 )) tmp130 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp129 , ( 0 , 3 , 2 ), ( 3 , 1 )) * 2 del tmp129 tmp128 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp4 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp131 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp14 , ( 0 ,), ( 1 , 2 )) tmp204 = np . copy ( v . bbb . xoo ) tmp204 += np . transpose ( tmp4 , ( 0 , 2 , 1 )) tmp89 = np . copy ( v . baa . xov ) tmp89 += tmp27 tmp89 += tmp24 * 2 tmp89 += tmp25 tmp10 = np . copy ( v . bbb . xov ) tmp10 += tmp7 tmp10 += tmp8 tmp10 += tmp9 * 2 tmp134 = einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), v . baa . xoo , ( 4 , 1 , 0 ), ( 4 , 2 , 3 )) tmp137 = einsum ( tmp4 , ( 0 , 1 , 2 ), tmp65 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * - 1 tmp202 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp168 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) tmp201 = einsum ( tmp166 , ( 0 , 1 , 2 ), l2 . abab , ( 2 , 3 , 1 , 4 ), ( 0 , 4 , 3 )) tmp136 = einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 1 ), ( 4 , 2 , 3 )) tmp135 = einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), v . bbb . xoo , ( 4 , 2 , 0 ), ( 4 , 1 , 3 )) * - 1 tmp200 = einsum ( l1 . bb , ( 0 , 1 ), v . bbb . xvv , ( 2 , 3 , 0 ), ( 2 , 1 , 3 )) tmp206 = einsum ( tmp105 , ( 0 ,), v . bbb . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp148 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp149 = einsum ( t1 . bb , ( 0 , 1 ), tmp65 , ( 2 , 3 , 4 , 1 ), ( 3 , 2 , 4 , 0 )) tmp143 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp142 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 5 ), ( 5 , 1 , 4 , 3 )) tmp197 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp125 , ( 3 , 2 ), ( 0 , 1 , 3 )) * 0.5 tmp80 = np . copy ( tmp24 ) * 2 tmp80 += tmp25 tmp16 = np . copy ( f . aa . ov ) tmp16 += tmp11 * - 1 tmp16 += tmp15 tmp99 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 5 ), ( 4 , 0 , 5 , 1 )) tmp91 = einsum ( t1 . aa , ( 0 , 1 ), tmp63 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp154 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp37 , ( 3 , 2 ), ( 0 , 1 , 3 )) * 2 tmp88 = einsum ( tmp4 , ( 0 , 1 , 2 ), tmp63 , ( 3 , 1 , 2 , 4 ), ( 0 , 3 , 4 )) tmp169 = einsum ( tmp168 , ( 0 , 1 , 2 ), l2 . abab , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) del tmp168 tmp167 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp166 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) del tmp166 tmp85 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), v . baa . xoo , ( 4 , 2 , 0 ), ( 4 , 1 , 3 )) * - 1 tmp87 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), tmp1 , ( 4 , 0 , 2 ), ( 4 , 1 , 3 )) * - 1 tmp86 = einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), v . bbb . xoo , ( 4 , 2 , 1 ), ( 4 , 0 , 3 )) tmp161 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), l1 . aa , ( 2 , 3 ), ( 0 , 3 , 1 )) tmp173 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp105 , ( 0 ,), ( 1 , 2 )) tmp100 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp101 = einsum ( t1 . aa , ( 0 , 1 ), tmp50 , ( 2 , 3 , 4 , 1 ), ( 3 , 2 , 4 , 0 )) tmp180 = einsum ( tmp179 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) * 2 tmp181 = einsum ( tmp14 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp157 = np . copy ( v . baa . xoo ) tmp157 += np . transpose ( tmp1 , ( 0 , 2 , 1 )) tmp93 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp94 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp98 = np . copy ( v . bbb . xoo ) tmp98 += np . transpose ( tmp4 , ( 0 , 2 , 1 )) tmp118 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp120 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp119 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 5 , 4 )) * - 1 tmp121 = einsum ( tmp4 , ( 0 , 1 , 2 ), tmp4 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp122 = einsum ( tmp4 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp5 = np . copy ( v . bbb . xoo ) tmp5 += tmp4 tmp2 = np . copy ( v . baa . xoo ) tmp2 += tmp1 tmp18 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 5 , 2 , 3 ), ( 0 , 4 , 1 , 5 )) tmp41 = np . copy ( tmp40 ) * 0.5 del tmp40 tmp41 += tmp35 del tmp35 tmp41 += np . transpose ( tmp36 , ( 1 , 0 )) * 0.5 del tmp36 tmp72 = np . copy ( np . transpose ( l1 . bb , ( 1 , 0 ))) * - 1 tmp72 += t1 . bb * - 1 tmp72 += tmp61 * - 1 tmp72 += tmp62 * - 2 tmp72 += tmp64 tmp72 += tmp66 * 2 tmp72 += tmp71 tmp46 = np . copy ( tmp43 ) del tmp43 tmp46 += np . transpose ( tmp44 , ( 1 , 0 )) del tmp44 tmp46 += np . transpose ( tmp45 , ( 1 , 0 )) * 2 del tmp45 tmp74 = np . copy ( tmp54 ) * 0.5 del tmp54 tmp74 += tmp55 del tmp55 tmp74 += np . transpose ( tmp56 , ( 1 , 0 )) * 0.5 del tmp56 tmp76 = np . copy ( tmp67 ) del tmp67 tmp76 += tmp68 del tmp68 tmp76 += np . transpose ( tmp69 , ( 1 , 0 )) * 2 del tmp69 tmp59 = np . copy ( np . transpose ( l1 . aa , ( 1 , 0 ))) * - 0.5 tmp59 += t1 . aa * - 0.5 tmp59 += tmp48 * - 1 tmp59 += tmp49 * - 0.5 tmp59 += tmp51 tmp59 += tmp53 * 0.5 tmp59 += tmp58 tmp19 = np . copy ( v . baa . xoo ) tmp19 += np . transpose ( tmp1 , ( 0 , 2 , 1 )) tmp30 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp29 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 5 , 4 )) * - 1 tmp32 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp1 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp28 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp31 = einsum ( tmp1 , ( 0 , 1 , 2 ), tmp1 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp115 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp216 = np . copy ( f . bb . vv ) * - 1 tmp216 += tmp214 del tmp214 tmp216 += np . transpose ( tmp215 , ( 1 , 0 )) * - 1 del tmp215 tmp224 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp133 = np . copy ( f . bb . oo ) tmp133 += tmp128 * - 1 del tmp128 tmp133 += tmp130 del tmp130 tmp133 += np . transpose ( tmp131 , ( 1 , 0 )) del tmp131 tmp133 += np . transpose ( tmp132 , ( 1 , 0 )) del tmp132 tmp235 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp205 = einsum ( tmp204 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp138 = einsum ( tmp89 , ( 0 , 1 , 2 ), l2 . abab , ( 2 , 3 , 1 , 4 ), ( 0 , 4 , 3 )) tmp139 = einsum ( tmp10 , ( 0 , 1 , 2 ), l2 . bbbb , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) * 2 tmp203 = np . copy ( tmp200 ) tmp203 += tmp134 * - 1 tmp203 += tmp135 * - 2 tmp203 += tmp136 * - 1 tmp203 += tmp137 * - 2 tmp203 += tmp201 del tmp201 tmp203 += tmp202 * 2 del tmp202 tmp221 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp70 , ( 3 , 1 ), ( 0 , 3 , 2 )) tmp223 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp4 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp227 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp204 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp217 = np . copy ( f . bb . ov ) tmp217 += tmp110 * - 1 tmp217 += tmp206 tmp150 = np . copy ( np . transpose ( tmp148 , ( 1 , 0 , 3 , 2 ))) del tmp148 tmp150 += np . transpose ( tmp149 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp149 tmp245 = np . copy ( tmp142 ) tmp245 += tmp143 * 4 tmp198 = np . copy ( v . bbb . xov ) * 0.5 tmp198 += tmp197 * - 1 tmp81 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp80 , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp79 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp1 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp82 = einsum ( tmp14 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp83 = einsum ( tmp16 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp147 = np . copy ( tmp99 ) tmp147 += tmp91 tmp209 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp155 = np . copy ( v . baa . xov ) tmp155 += tmp154 * - 1 tmp191 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp170 = np . copy ( tmp161 ) tmp170 += tmp85 * - 2 tmp170 += tmp86 * - 1 tmp170 += tmp87 * - 2 tmp170 += tmp88 * - 1 tmp170 += tmp167 * 2 del tmp167 tmp170 += tmp169 del tmp169 tmp184 = np . copy ( f . aa . ov ) tmp184 += tmp11 * - 1 tmp184 += tmp173 tmp102 = np . copy ( np . transpose ( tmp100 , ( 1 , 0 , 3 , 2 ))) del tmp100 tmp102 += np . transpose ( tmp101 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp101 tmp182 = np . copy ( f . aa . vv ) * - 1 tmp182 += tmp180 del tmp180 tmp182 += np . transpose ( tmp181 , ( 1 , 0 )) * - 1 del tmp181 tmp189 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp1 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp195 = einsum ( tmp57 , ( 0 , 1 ), v . baa . xov , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) * 2 tmp158 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp157 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp193 = np . copy ( tmp93 ) * 4 tmp193 += tmp94 tmp38 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp37 , ( 3 , 2 ), ( 0 , 1 , 3 )) del tmp37 tmp164 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp157 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp176 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp22 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp126 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp125 , ( 3 , 2 ), ( 0 , 1 , 3 )) del tmp125 tmp145 = einsum ( l1 . bb , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) * - 1 tmp145 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp63 , ( 0 , 4 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) * 0.5 tmp145 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp65 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 2 tmp144 = np . copy ( tmp142 ) del tmp142 tmp144 += np . transpose ( tmp143 , ( 0 , 1 , 3 , 2 )) * 4 del tmp143 tmp141 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 0 , 5 ), ( 5 , 1 , 4 , 2 )) tmp146 = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 1 , 3 , 4 )) tmp146 += einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) * - 1 tmp151 = np . copy ( t1 . bb ) * - 1 tmp151 += tmp61 * - 1 del tmp61 tmp151 += tmp62 * - 2 del tmp62 tmp151 += tmp64 del tmp64 tmp151 += tmp66 * 2 del tmp66 tmp151 += tmp71 del tmp71 tmp116 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp98 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp123 = np . copy ( np . transpose ( tmp118 , ( 3 , 2 , 1 , 0 ))) tmp123 += np . transpose ( tmp120 , ( 2 , 3 , 1 , 0 )) tmp123 += np . transpose ( tmp121 , ( 2 , 3 , 1 , 0 )) tmp123 += np . transpose ( tmp122 , ( 1 , 3 , 0 , 2 )) tmp123 += np . transpose ( tmp122 , ( 3 , 2 , 0 , 1 )) * - 1 tmp117 = np . copy ( v . bbb . xov ) tmp117 += tmp8 del tmp8 tmp117 += tmp9 * 2 del tmp9 tmp109 = einsum ( tmp5 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) tmp108 = einsum ( tmp2 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) tmp107 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp113 = np . copy ( np . transpose ( tmp18 , ( 1 , 0 , 2 , 3 ))) tmp113 += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp98 , ( 0 , 3 , 4 ), ( 2 , 1 , 4 , 3 )) tmp42 = einsum ( tmp41 , ( 0 , 1 ), v . baa . xvv , ( 2 , 1 , 0 ), ( 2 ,)) * 2 del tmp41 tmp73 = einsum ( tmp72 , ( 0 , 1 ), v . bbb . xov , ( 2 , 0 , 1 ), ( 2 ,)) del tmp72 tmp47 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp46 , ( 2 , 1 ), ( 0 ,)) del tmp46 tmp75 = einsum ( tmp74 , ( 0 , 1 ), v . baa . xoo , ( 2 , 1 , 0 ), ( 2 ,)) * 2 del tmp74 tmp77 = einsum ( tmp76 , ( 0 , 1 ), v . bbb . xoo , ( 2 , 1 , 0 ), ( 2 ,)) del tmp76 tmp60 = einsum ( tmp59 , ( 0 , 1 ), v . baa . xov , ( 2 , 0 , 1 ), ( 2 ,)) * 2 del tmp59 tmp3 = einsum ( tmp2 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) tmp0 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp20 = np . copy ( np . transpose ( tmp18 , ( 0 , 1 , 3 , 2 ))) tmp20 += einsum ( tmp5 , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 4 , 3 , 2 , 1 )) tmp6 = einsum ( tmp5 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 2 , 1 , 4 )) tmp33 = np . copy ( np . transpose ( tmp28 , ( 3 , 2 , 1 , 0 ))) tmp33 += np . transpose ( tmp30 , ( 2 , 3 , 1 , 0 )) tmp33 += np . transpose ( tmp31 , ( 2 , 3 , 1 , 0 )) tmp33 += np . transpose ( tmp32 , ( 1 , 3 , 0 , 2 )) tmp33 += np . transpose ( tmp32 , ( 3 , 2 , 0 , 1 )) * - 1 tmp23 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp26 = np . copy ( v . baa . xov ) tmp26 += tmp24 * 2 del tmp24 tmp26 += tmp25 del tmp25 tmp103 = np . copy ( t1 . aa ) * - 0.5 tmp103 += tmp48 * - 1 del tmp48 tmp103 += tmp49 * - 0.5 del tmp49 tmp103 += tmp51 del tmp51 tmp103 += tmp53 * 0.5 del tmp53 tmp103 += tmp58 del tmp58 tmp95 = np . copy ( tmp93 ) del tmp93 tmp95 += np . transpose ( tmp94 , ( 0 , 1 , 3 , 2 )) * 0.25 del tmp94 tmp97 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 2 , 4 ), ( 4 , 0 , 1 , 3 )) tmp97 += einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 tmp92 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 5 ), ( 2 , 4 , 1 , 5 )) tmp96 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) * - 1 tmp96 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp50 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 2 tmp96 += einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) * 0.5 tmp237 = einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), tmp115 , ( 2 , 4 , 3 , 5 ), ( 1 , 0 , 5 , 4 )) tmp229 = einsum ( tmp98 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) tmp239 = einsum ( tmp216 , ( 0 , 1 ), l2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) * - 1 tmp243 = einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), tmp224 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 tmp241 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp122 , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) del tmp122 tmp231 = einsum ( tmp133 , ( 0 , 1 ), l2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 1 , 4 , 2 , 3 )) * - 2 tmp236 = einsum ( tmp235 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 3 , 2 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) del tmp235 tmp233 = einsum ( tmp205 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 2 , 5 , 1 ), ( 0 , 5 , 3 , 4 )) tmp230 = np . copy ( tmp200 ) del tmp200 tmp230 += tmp134 * - 1 tmp230 += tmp135 * - 2 tmp230 += tmp136 * - 1 tmp230 += tmp137 * - 2 tmp230 += tmp138 tmp230 += tmp139 tmp234 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp203 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp247 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp221 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp244 = einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), tmp223 , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 3 , 5 )) tmp242 = np . copy ( np . transpose ( tmp118 , ( 3 , 2 , 1 , 0 ))) del tmp118 tmp242 += np . transpose ( tmp120 , ( 0 , 3 , 1 , 2 )) del tmp120 tmp242 += np . transpose ( tmp121 , ( 0 , 3 , 1 , 2 )) del tmp121 tmp228 = einsum ( l1 . bb , ( 0 , 1 ), tmp227 , ( 2 , 1 , 3 , 4 ), ( 3 , 2 , 4 , 0 )) tmp240 = einsum ( tmp217 , ( 0 , 1 ), tmp65 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp238 = einsum ( tmp119 , ( 0 , 1 , 2 , 3 ), tmp150 , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) * 0.5 tmp246 = einsum ( tmp119 , ( 0 , 1 , 2 , 3 ), tmp245 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp245 tmp207 = np . copy ( f . bb . ov ) tmp207 += tmp206 del tmp206 tmp226 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp198 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) * 2 tmp232 = np . copy ( f . bb . ov ) tmp232 += tmp111 del tmp111 tmp219 = np . copy ( tmp18 ) del tmp18 tmp219 += einsum ( tmp98 , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 4 , 3 , 2 , 1 )) tmp225 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) tmp225 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp222 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 3 , 4 , 1 , 5 ), ( 0 , 5 , 2 , 4 )) tmp222 += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) tmp174 = np . copy ( f . aa . ov ) tmp174 += tmp173 del tmp173 tmp84 = np . copy ( f . aa . oo ) tmp84 += tmp79 * - 1 tmp84 += np . transpose ( tmp81 , ( 1 , 0 )) del tmp81 tmp84 += np . transpose ( tmp82 , ( 1 , 0 )) del tmp82 tmp84 += tmp83 del tmp83 tmp218 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp157 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp212 = np . copy ( f . aa . vv ) * - 0.5 tmp212 += einsum ( tmp179 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) del tmp179 tmp212 += einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp14 , ( 0 ,), ( 1 , 2 )) * - 0.5 tmp199 = einsum ( tmp98 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp211 = einsum ( tmp147 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) * 0.5 tmp210 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp209 , ( 4 , 0 , 1 , 5 ), ( 2 , 3 , 4 , 5 )) del tmp209 tmp208 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp204 , ( 0 , 3 , 4 ), ( 4 , 3 , 1 , 2 )) del tmp204 tmp220 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp157 , ( 0 , 3 , 4 ), ( 4 , 3 , 1 , 2 )) del tmp157 tmp156 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp155 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) del tmp155 tmp187 = np . copy ( np . transpose ( tmp28 , ( 3 , 2 , 1 , 0 ))) del tmp28 tmp187 += np . transpose ( tmp30 , ( 0 , 3 , 1 , 2 )) del tmp30 tmp187 += np . transpose ( tmp31 , ( 0 , 3 , 1 , 2 )) del tmp31 tmp192 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), tmp191 , ( 4 , 0 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 tmp171 = einsum ( tmp170 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp185 = einsum ( tmp184 , ( 0 , 1 ), tmp50 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) tmp178 = einsum ( tmp102 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) * 0.5 tmp160 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp19 , ( 0 , 3 , 4 ), ( 4 , 3 , 1 , 2 )) del tmp19 tmp172 = np . copy ( f . aa . oo ) * 0.5 tmp172 += tmp79 * - 0.5 del tmp79 tmp172 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp80 , ( 0 , 3 , 2 ), ( 3 , 1 )) * 0.5 del tmp80 tmp172 += einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp14 , ( 0 ,), ( 1 , 2 )) * 0.5 del tmp14 tmp172 += einsum ( tmp16 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) * 0.5 tmp183 = einsum ( tmp182 , ( 0 , 1 ), l2 . aaaa , ( 2 , 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) * - 1 del tmp182 tmp190 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), tmp189 , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 3 , 5 )) tmp162 = np . copy ( tmp161 ) del tmp161 tmp162 += tmp85 * - 2 tmp162 += tmp86 * - 1 tmp162 += tmp87 * - 2 tmp162 += tmp88 * - 1 tmp162 += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp89 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) * 2 tmp162 += einsum ( tmp10 , ( 0 , 1 , 2 ), l2 . abab , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) tmp186 = einsum ( tmp32 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) del tmp32 tmp196 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp195 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp159 = einsum ( tmp158 , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp194 = einsum ( tmp29 , ( 0 , 1 , 2 , 3 ), tmp193 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp193 tmp163 = np . copy ( f . aa . ov ) tmp163 += tmp15 del tmp15 tmp188 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp38 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) * - 2 tmp165 = einsum ( tmp164 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 2 , 5 , 1 ), ( 0 , 5 , 3 , 4 )) tmp177 = einsum ( tmp176 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 3 , 2 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) del tmp176 tmp175 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), tmp22 , ( 2 , 4 , 3 , 5 ), ( 1 , 0 , 5 , 4 )) tmp127 = np . copy ( tmp126 ) tmp127 += einsum ( tmp5 , ( 0 , 1 , 2 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 , 3 )) tmp152 = einsum ( tmp7 , ( 0 , 1 , 2 ), l1 . bb , ( 2 , 3 ), ( 0 , 1 , 3 )) tmp152 += einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp141 , ( 3 , 4 , 1 , 2 ), ( 0 , 4 , 3 )) tmp152 += einsum ( tmp144 , ( 0 , 1 , 2 , 3 ), v . bbb . xvv , ( 4 , 2 , 3 ), ( 4 , 1 , 0 )) del tmp144 tmp152 += einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), tmp89 , ( 4 , 0 , 3 ), ( 4 , 2 , 1 )) tmp152 += einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 0 , 3 ), ( 4 , 2 , 1 )) * 2 del tmp65 tmp152 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp145 , ( 3 , 1 , 4 , 2 ), ( 0 , 4 , 3 )) * - 2 del tmp145 tmp152 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp146 , ( 1 , 3 , 4 , 2 ), ( 0 , 4 , 3 )) del tmp146 tmp152 += einsum ( tmp1 , ( 0 , 1 , 2 ), tmp147 , ( 1 , 2 , 3 , 4 ), ( 0 , 4 , 3 )) * - 1 tmp152 += einsum ( tmp147 , ( 0 , 1 , 2 , 3 ), v . baa . xoo , ( 4 , 0 , 1 ), ( 4 , 3 , 2 )) * - 1 del tmp147 tmp152 += einsum ( tmp150 , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 0 , 2 ), ( 4 , 3 , 1 )) * - 2 tmp152 += einsum ( tmp150 , ( 0 , 1 , 2 , 3 ), v . bbb . xoo , ( 4 , 0 , 2 ), ( 4 , 3 , 1 )) * - 2 del tmp150 tmp152 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp151 , ( 3 , 2 ), ( 0 , 3 , 1 )) * - 1 del tmp151 tmp152 += einsum ( tmp70 , ( 0 , 1 ), v . bbb . xoo , ( 2 , 3 , 0 ), ( 2 , 1 , 3 )) * - 1 tmp140 = np . copy ( tmp134 ) * - 1 del tmp134 tmp140 += tmp135 * - 2 del tmp135 tmp140 += tmp136 * - 1 del tmp136 tmp140 += tmp137 * - 2 del tmp137 tmp140 += tmp138 del tmp138 tmp140 += tmp139 del tmp139 tmp124 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp115 , ( 4 , 5 , 2 , 3 ), ( 4 , 0 , 1 , 5 )) * 0.5 del tmp115 tmp124 += einsum ( tmp116 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 3 ), ( 2 , 4 , 1 , 5 )) * - 1 tmp124 += einsum ( tmp5 , ( 0 , 1 , 2 ), tmp117 , ( 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * 0.5 del tmp117 tmp124 += einsum ( tmp112 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) * 0.5 tmp124 += einsum ( tmp5 , ( 0 , 1 , 2 ), tmp7 , ( 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 0.5 del tmp7 tmp124 += einsum ( tmp123 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) * - 0.5 del tmp123 tmp153 = np . copy ( f . bb . vv ) tmp153 += einsum ( tmp105 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp114 = einsum ( tmp107 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp114 += einsum ( tmp108 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) * - 1 del tmp108 tmp114 += einsum ( tmp109 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 2 , 1 , 5 )) * - 1 del tmp109 tmp114 += einsum ( tmp5 , ( 0 , 1 , 2 ), tmp89 , ( 0 , 3 , 4 ), ( 3 , 2 , 1 , 4 )) del tmp5 tmp114 += einsum ( tmp112 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp114 += einsum ( t1 . aa , ( 0 , 1 ), tmp113 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 1 del tmp113 tmp78 = np . copy ( tmp42 ) del tmp42 tmp78 += tmp47 del tmp47 tmp78 += tmp60 * - 1 del tmp60 tmp78 += tmp73 * - 1 del tmp73 tmp78 += tmp75 * - 1 del tmp75 tmp78 += tmp77 * - 1 del tmp77 tmp21 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp21 += einsum ( tmp3 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 3 , 5 ), ( 2 , 1 , 4 , 5 )) * - 1 del tmp3 tmp21 += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 del tmp6 tmp21 += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp10 , ( 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) tmp21 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 2 ), ( 4 , 0 , 1 , 3 )) tmp21 += einsum ( t1 . bb , ( 0 , 1 ), tmp20 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 del tmp20 tmp39 = np . copy ( tmp38 ) del tmp38 tmp39 += einsum ( tmp2 , ( 0 , 1 , 2 ), l1 . aa , ( 3 , 1 ), ( 0 , 2 , 3 )) * 0.5 tmp90 = np . copy ( tmp85 ) * - 0.5 del tmp85 tmp90 += tmp86 * - 0.25 del tmp86 tmp90 += tmp87 * - 0.5 del tmp87 tmp90 += tmp88 * - 0.25 del tmp88 tmp90 += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp89 , ( 4 , 3 , 1 ), ( 4 , 2 , 0 )) * 0.5 tmp90 += einsum ( tmp10 , ( 0 , 1 , 2 ), l2 . abab , ( 3 , 2 , 4 , 1 ), ( 0 , 4 , 3 )) * 0.25 tmp34 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp22 , ( 4 , 5 , 2 , 3 ), ( 4 , 0 , 1 , 5 )) del tmp22 tmp34 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp23 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 2 tmp34 += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp26 , ( 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp26 tmp34 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp16 , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp34 += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 del tmp2 tmp34 += einsum ( t1 . aa , ( 0 , 1 ), tmp33 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * - 1 del tmp33 tmp106 = np . copy ( f . aa . vv ) tmp106 += einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp105 , ( 0 ,), ( 1 , 2 )) del tmp105 tmp104 = einsum ( tmp27 , ( 0 , 1 , 2 ), l1 . aa , ( 2 , 3 ), ( 0 , 1 , 3 )) * 0.25 del tmp27 tmp104 += einsum ( tmp91 , ( 0 , 1 , 2 , 3 ), v . bbb . xoo , ( 4 , 3 , 2 ), ( 4 , 1 , 0 )) * - 0.25 tmp104 += einsum ( tmp92 , ( 0 , 1 , 2 , 3 ), v . bbb . xvv , ( 4 , 3 , 2 ), ( 4 , 1 , 0 )) * 0.25 tmp104 += einsum ( tmp4 , ( 0 , 1 , 2 ), tmp91 , ( 3 , 4 , 1 , 2 ), ( 0 , 4 , 3 )) * - 0.25 del tmp4 , tmp91 tmp104 += einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp95 , ( 3 , 4 , 1 , 2 ), ( 0 , 4 , 3 )) del tmp95 tmp104 += einsum ( tmp89 , ( 0 , 1 , 2 ), tmp50 , ( 1 , 3 , 4 , 2 ), ( 0 , 4 , 3 )) * 0.5 del tmp50 , tmp89 tmp104 += einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 4 , 2 , 3 ), ( 4 , 1 , 0 )) * 0.25 del tmp10 tmp104 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp96 , ( 3 , 1 , 4 , 2 ), ( 0 , 4 , 3 )) * - 0.5 del tmp96 tmp104 += einsum ( tmp97 , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 2 , 3 ), ( 4 , 1 , 0 )) * 0.25 del tmp97 tmp104 += einsum ( tmp98 , ( 0 , 1 , 2 ), tmp99 , ( 3 , 4 , 2 , 1 ), ( 0 , 4 , 3 )) * - 0.25 del tmp99 , tmp98 tmp104 += einsum ( tmp1 , ( 0 , 1 , 2 ), tmp102 , ( 1 , 3 , 2 , 4 ), ( 0 , 4 , 3 )) * - 0.5 del tmp1 tmp104 += einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp102 , ( 1 , 3 , 2 , 4 ), ( 0 , 4 , 3 )) * - 0.5 del tmp102 tmp104 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp103 , ( 3 , 2 ), ( 0 , 3 , 1 )) * - 0.5 del tmp103 tmp104 += einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp57 , ( 2 , 3 ), ( 0 , 3 , 1 )) * - 0.5 l2new . bbbb = np . copy ( np . transpose ( tmp226 , ( 3 , 2 , 1 , 0 ))) l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp116 , ( 2 , 1 , 3 , 4 ), ( 4 , 0 , 3 , 2 )) * - 1 del tmp116 l2new . bbbb += np . transpose ( tmp226 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp226 l2new . bbbb += np . transpose ( tmp228 , ( 3 , 2 , 0 , 1 )) l2new . bbbb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp229 , ( 3 , 4 , 5 , 1 ), ( 5 , 0 , 2 , 4 )) * 2 del tmp229 l2new . bbbb += einsum ( tmp230 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 4 , 2 , 1 , 3 )) * - 1 del tmp230 l2new . bbbb += np . transpose ( tmp231 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp232 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * - 1 del tmp232 l2new . bbbb += np . transpose ( tmp233 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp234 , ( 3 , 2 , 1 , 0 )) l2new . bbbb += np . transpose ( tmp231 , ( 3 , 2 , 0 , 1 )) del tmp231 l2new . bbbb += einsum ( tmp207 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) l2new . bbbb += np . transpose ( tmp233 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . bbbb += np . transpose ( tmp234 , ( 2 , 3 , 0 , 1 )) l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp207 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) l2new . bbbb += np . transpose ( tmp233 , ( 3 , 2 , 0 , 1 )) * 2 del tmp233 l2new . bbbb += np . transpose ( tmp234 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp234 l2new . bbbb += einsum ( tmp207 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * - 1 l2new . bbbb += np . transpose ( tmp236 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp236 l2new . bbbb += np . transpose ( tmp237 , ( 2 , 3 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp238 , ( 3 , 2 , 1 , 0 )) * 4 del tmp238 l2new . bbbb += np . transpose ( tmp239 , ( 2 , 3 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp240 , ( 2 , 3 , 1 , 0 )) * - 2 l2new . bbbb += np . transpose ( tmp237 , ( 3 , 2 , 1 , 0 )) * - 2 del tmp237 l2new . bbbb += np . transpose ( tmp239 , ( 3 , 2 , 1 , 0 )) * - 2 del tmp239 l2new . bbbb += np . transpose ( tmp240 , ( 3 , 2 , 1 , 0 )) * 2 del tmp240 l2new . bbbb += np . transpose ( tmp241 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp241 , ( 2 , 3 , 1 , 0 )) * 2 del tmp241 l2new . bbbb += einsum ( tmp242 , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) * - 2 del tmp242 l2new . bbbb += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp126 , ( 0 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) del tmp126 l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp227 , ( 2 , 1 , 3 , 4 ), ( 4 , 0 , 2 , 3 )) del tmp227 l2new . bbbb += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp197 , ( 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) * - 2 del tmp197 l2new . bbbb += np . transpose ( tmp228 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp228 l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp110 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) l2new . bbbb += np . transpose ( tmp243 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp244 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . bbbb += np . transpose ( tmp246 , ( 3 , 2 , 0 , 1 )) l2new . bbbb += np . transpose ( tmp247 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . bbbb += einsum ( l1 . bb , ( 0 , 1 ), tmp110 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 l2new . bbbb += np . transpose ( tmp243 , ( 2 , 3 , 0 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp244 , ( 2 , 3 , 0 , 1 )) * 2 l2new . bbbb += np . transpose ( tmp246 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . bbbb += np . transpose ( tmp247 , ( 3 , 2 , 0 , 1 )) l2new . bbbb += einsum ( tmp110 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 l2new . bbbb += np . transpose ( tmp243 , ( 3 , 2 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp244 , ( 3 , 2 , 1 , 0 )) * 2 l2new . bbbb += np . transpose ( tmp246 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . bbbb += np . transpose ( tmp247 , ( 2 , 3 , 1 , 0 )) l2new . bbbb += einsum ( tmp110 , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) l2new . bbbb += np . transpose ( tmp243 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp243 l2new . bbbb += np . transpose ( tmp244 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp244 l2new . bbbb += np . transpose ( tmp246 , ( 2 , 3 , 1 , 0 )) del tmp246 l2new . bbbb += np . transpose ( tmp247 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp247 l2new . abab = einsum ( tmp198 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) * 2 del tmp198 l2new . abab += einsum ( tmp199 , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 2 ), ( 3 , 4 , 0 , 1 )) * - 1 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp164 , ( 4 , 2 , 5 , 0 ), ( 5 , 1 , 4 , 3 )) * - 1 del tmp164 l2new . abab += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp203 , ( 0 , 3 , 4 ), ( 2 , 4 , 1 , 3 )) del tmp203 l2new . abab += einsum ( tmp84 , ( 0 , 1 ), l2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 l2new . abab += einsum ( l1 . bb , ( 0 , 1 ), tmp174 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) l2new . abab += einsum ( tmp205 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) * - 1 del tmp205 l2new . abab += einsum ( tmp170 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 2 , 4 , 1 , 3 )) del tmp170 l2new . abab += einsum ( l1 . aa , ( 0 , 1 ), tmp207 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) del tmp207 l2new . abab += einsum ( tmp208 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 5 , 0 ), ( 3 , 4 , 5 , 1 )) * - 1 del tmp208 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp133 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 1 l2new . abab += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), tmp52 , ( 4 , 0 , 5 , 2 ), ( 1 , 3 , 4 , 5 )) * - 1 del tmp0 l2new . abab += np . transpose ( tmp210 , ( 2 , 3 , 0 , 1 )) del tmp210 l2new . abab += np . transpose ( tmp211 , ( 2 , 3 , 0 , 1 )) * 2 del tmp211 l2new . abab += einsum ( tmp212 , ( 0 , 1 ), l2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 2 del tmp212 l2new . abab += einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), tmp184 , ( 1 , 4 ), ( 4 , 3 , 0 , 2 )) * - 1 del tmp184 l2new . abab += einsum ( tmp107 , ( 0 , 1 , 2 , 3 ), tmp63 , ( 4 , 5 , 0 , 2 ), ( 1 , 3 , 4 , 5 )) * - 1 del tmp107 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp216 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp216 l2new . abab += einsum ( tmp217 , ( 0 , 1 ), tmp63 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 , 2 , 3 )) * - 1 del tmp217 l2new . abab += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp154 , ( 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) * - 1 del tmp154 l2new . abab += einsum ( tmp218 , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 4 , 1 ), ( 4 , 3 , 0 , 2 )) * - 1 l2new . abab += einsum ( tmp219 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) del tmp219 l2new . abab += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp220 , ( 2 , 4 , 1 , 5 ), ( 0 , 5 , 4 , 3 )) * - 1 del tmp220 l2new . abab += einsum ( tmp92 , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 4 , 5 , 3 ), ( 5 , 2 , 0 , 4 )) del tmp92 l2new . abab += einsum ( tmp199 , ( 0 , 1 , 2 , 3 ), tmp52 , ( 4 , 0 , 2 , 5 ), ( 3 , 5 , 4 , 1 )) del tmp199 l2new . abab += einsum ( tmp195 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 2 , 4 , 1 , 3 )) * - 1 del tmp195 l2new . abab += einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), tmp141 , ( 4 , 1 , 5 , 2 ), ( 5 , 3 , 0 , 4 )) del tmp17 , tmp141 l2new . abab += einsum ( tmp218 , ( 0 , 1 , 2 , 3 ), tmp63 , ( 1 , 4 , 2 , 5 ), ( 5 , 3 , 0 , 4 )) del tmp218 l2new . abab += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp221 , ( 0 , 3 , 4 ), ( 2 , 4 , 1 , 3 )) * - 1 del tmp221 l2new . abab += einsum ( l1 . bb , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 l2new . abab += einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), tmp191 , ( 4 , 0 , 1 , 5 ), ( 5 , 3 , 4 , 2 )) del tmp191 l2new . abab += einsum ( tmp52 , ( 0 , 1 , 2 , 3 ), tmp189 , ( 0 , 1 , 4 , 5 ), ( 5 , 3 , 4 , 2 )) del tmp52 , tmp189 l2new . abab += einsum ( tmp222 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 0 , 4 , 5 , 2 ), ( 5 , 3 , 4 , 1 )) * - 2 del tmp29 , tmp222 l2new . abab += einsum ( tmp110 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 1 del tmp110 l2new . abab += einsum ( tmp63 , ( 0 , 1 , 2 , 3 ), tmp223 , ( 1 , 2 , 4 , 5 ), ( 3 , 5 , 0 , 4 )) del tmp223 l2new . abab += einsum ( tmp224 , ( 0 , 1 , 2 , 3 ), tmp63 , ( 4 , 1 , 2 , 5 ), ( 5 , 3 , 4 , 0 )) del tmp63 , tmp224 l2new . abab += einsum ( tmp225 , ( 0 , 1 , 2 , 3 ), tmp119 , ( 1 , 4 , 5 , 3 ), ( 2 , 5 , 0 , 4 )) * - 2 del tmp119 , tmp225 l2new . aaaa = np . copy ( np . transpose ( tmp156 , ( 3 , 2 , 1 , 0 ))) l2new . aaaa += einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 4 , 2 ), ( 3 , 4 , 0 , 1 )) * - 1 del tmp23 l2new . aaaa += np . transpose ( tmp156 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp156 l2new . aaaa += np . transpose ( tmp159 , ( 3 , 2 , 0 , 1 )) l2new . aaaa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp160 , ( 3 , 4 , 5 , 1 ), ( 5 , 0 , 2 , 4 )) * 2 del tmp160 l2new . aaaa += einsum ( tmp162 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 4 , 2 , 1 , 3 )) * - 1 del tmp162 l2new . aaaa += einsum ( tmp84 , ( 0 , 1 ), l2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 l2new . aaaa += einsum ( tmp163 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) * - 1 del tmp163 l2new . aaaa += np . transpose ( tmp165 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp171 , ( 3 , 2 , 1 , 0 )) l2new . aaaa += einsum ( tmp172 , ( 0 , 1 ), l2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 1 , 4 )) * 4 del tmp172 l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp174 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) l2new . aaaa += np . transpose ( tmp165 , ( 3 , 2 , 1 , 0 )) * - 2 l2new . aaaa += np . transpose ( tmp171 , ( 2 , 3 , 0 , 1 )) l2new . aaaa += einsum ( tmp174 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) l2new . aaaa += np . transpose ( tmp165 , ( 3 , 2 , 0 , 1 )) * 2 del tmp165 l2new . aaaa += np . transpose ( tmp171 , ( 2 , 3 , 1 , 0 )) * - 1 del tmp171 l2new . aaaa += einsum ( tmp174 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) * - 1 del tmp174 l2new . aaaa += np . transpose ( tmp175 , ( 2 , 3 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp177 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp177 l2new . aaaa += np . transpose ( tmp178 , ( 3 , 2 , 1 , 0 )) * 4 del tmp178 l2new . aaaa += np . transpose ( tmp183 , ( 2 , 3 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp185 , ( 2 , 3 , 1 , 0 )) * - 2 l2new . aaaa += np . transpose ( tmp175 , ( 3 , 2 , 1 , 0 )) * - 2 del tmp175 l2new . aaaa += np . transpose ( tmp183 , ( 3 , 2 , 1 , 0 )) * - 2 del tmp183 l2new . aaaa += np . transpose ( tmp185 , ( 3 , 2 , 1 , 0 )) * 2 del tmp185 l2new . aaaa += np . transpose ( tmp186 , ( 2 , 3 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp186 , ( 2 , 3 , 1 , 0 )) * 2 del tmp186 l2new . aaaa += einsum ( tmp187 , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 5 , 0 , 2 ), ( 4 , 5 , 1 , 3 )) * - 2 del tmp187 l2new . aaaa += np . transpose ( tmp188 , ( 3 , 2 , 0 , 1 )) * - 1 l2new . aaaa += einsum ( tmp158 , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 4 , 1 ), ( 3 , 4 , 0 , 2 )) del tmp158 l2new . aaaa += np . transpose ( tmp188 , ( 2 , 3 , 0 , 1 )) del tmp188 l2new . aaaa += np . transpose ( tmp159 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp159 l2new . aaaa += einsum ( tmp11 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 1 , 2 , 3 , 0 )) l2new . aaaa += np . transpose ( tmp190 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp192 , ( 3 , 2 , 0 , 1 )) * - 2 l2new . aaaa += np . transpose ( tmp194 , ( 3 , 2 , 0 , 1 )) l2new . aaaa += np . transpose ( tmp196 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 l2new . aaaa += np . transpose ( tmp190 , ( 2 , 3 , 0 , 1 )) * 2 l2new . aaaa += np . transpose ( tmp192 , ( 2 , 3 , 0 , 1 )) * 2 l2new . aaaa += np . transpose ( tmp194 , ( 2 , 3 , 0 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp196 , ( 3 , 2 , 0 , 1 )) l2new . aaaa += einsum ( l1 . aa , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 l2new . aaaa += np . transpose ( tmp190 , ( 3 , 2 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp192 , ( 3 , 2 , 1 , 0 )) * 2 l2new . aaaa += np . transpose ( tmp194 , ( 3 , 2 , 1 , 0 )) * - 1 l2new . aaaa += np . transpose ( tmp196 , ( 2 , 3 , 1 , 0 )) l2new . aaaa += einsum ( tmp11 , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 1 , 0 , 3 )) del tmp11 l2new . aaaa += np . transpose ( tmp190 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp190 l2new . aaaa += np . transpose ( tmp192 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp192 l2new . aaaa += np . transpose ( tmp194 , ( 2 , 3 , 1 , 0 )) del tmp194 l2new . aaaa += np . transpose ( tmp196 , ( 3 , 2 , 1 , 0 )) * - 1 del tmp196 l1new . bb = np . copy ( np . transpose ( f . bb . ov , ( 1 , 0 ))) l1new . bb += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), tmp114 , ( 2 , 4 , 3 , 0 ), ( 1 , 4 )) * - 1 del tmp114 l1new . bb += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp124 , ( 4 , 2 , 3 , 1 ), ( 0 , 4 )) * 4 del tmp124 l1new . bb += einsum ( tmp127 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 del tmp127 l1new . bb += einsum ( tmp78 , ( 0 ,), v . bbb . xov , ( 0 , 1 , 2 ), ( 2 , 1 )) l1new . bb += einsum ( tmp133 , ( 0 , 1 ), l1 . bb , ( 2 , 0 ), ( 2 , 1 )) * - 1 del tmp133 l1new . bb += einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp140 , ( 0 , 3 , 2 ), ( 1 , 3 )) del tmp140 l1new . bb += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp152 , ( 0 , 1 , 3 ), ( 2 , 3 )) * - 1 del tmp152 l1new . bb += einsum ( tmp70 , ( 0 , 1 ), tmp112 , ( 1 , 2 ), ( 2 , 0 )) * - 1 del tmp70 , tmp112 l1new . bb += einsum ( l1 . bb , ( 0 , 1 ), tmp153 , ( 0 , 2 ), ( 2 , 1 )) del tmp153 l1new . aa = np . copy ( np . transpose ( f . aa . ov , ( 1 , 0 ))) l1new . aa += einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 1 , 2 ), ( 4 , 0 )) * - 1 del tmp21 l1new . aa += einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp34 , ( 4 , 2 , 3 , 1 ), ( 0 , 4 )) * 2 del tmp34 l1new . aa += einsum ( tmp39 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 2 del tmp39 l1new . aa += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp78 , ( 0 ,), ( 2 , 1 )) del tmp78 l1new . aa += einsum ( tmp84 , ( 0 , 1 ), l1 . aa , ( 2 , 0 ), ( 2 , 1 )) * - 1 del tmp84 l1new . aa += einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp90 , ( 0 , 3 , 2 ), ( 1 , 3 )) * 4 del tmp90 l1new . aa += einsum ( tmp104 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) * - 4 del tmp104 l1new . aa += einsum ( tmp57 , ( 0 , 1 ), tmp16 , ( 1 , 2 ), ( 2 , 0 )) * - 2 del tmp57 , tmp16 l1new . aa += einsum ( tmp106 , ( 0 , 1 ), l1 . aa , ( 0 , 2 ), ( 1 , 2 )) del tmp106 return { f \"l1new\" : l1new , f \"l2new\" : l2new }","title":"Returns"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.make_rdm1_f","text":"Code generated by albert 0.0.0 on 2024-08-17T20:41:37.692683.","title":"make_rdm1_f"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.make_rdm1_f--parameters","text":"l1 : Namespace of arrays L1 amplitudes. l2 : Namespace of arrays L2 amplitudes. t1 : Namespace of arrays T1 amplitudes. t2 : Namespace of arrays T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.make_rdm1_f--returns","text":"rdm1 : Namespace of arrays One-particle reduced density matrix. Source code in ebcc/codegen/UDFCCSD.py 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 def make_rdm1_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:41:37.692683. 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 )) tmp3 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp4 = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 1 , 2 ), ( 2 , 0 )) tmp2 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp0 = einsum ( t1 . aa , ( 0 , 1 ), l1 . aa , ( 1 , 2 ), ( 2 , 0 )) tmp1 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp9 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp11 = np . copy ( tmp4 ) tmp11 += tmp5 tmp11 += tmp3 * 2 tmp10 = einsum ( t1 . bb , ( 0 , 1 ), l2 . abab , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp8 = np . copy ( tmp0 ) * 0.5 tmp8 += tmp1 tmp8 += tmp2 * 0.5 tmp7 = einsum ( t1 . aa , ( 0 , 1 ), l2 . abab , ( 1 , 2 , 3 , 4 ), ( 3 , 0 , 4 , 2 )) tmp6 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) rdm1 . bb . vv = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) rdm1 . bb . vv += einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) rdm1 . bb . vv += einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) * 2 rdm1 . aa . vv = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) rdm1 . aa . vv += einsum ( t1 . aa , ( 0 , 1 ), l1 . aa , ( 2 , 0 ), ( 2 , 1 )) rdm1 . aa . vv += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * 2 rdm1 . bb . vo = np . copy ( l1 . bb ) rdm1 . aa . vo = np . copy ( l1 . aa ) rdm1 . bb . ov = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 2 , 0 ), ( 1 , 3 )) rdm1 . bb . ov += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) * 2 rdm1 . bb . ov += t1 . bb rdm1 . bb . ov += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp9 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) * - 2 del tmp9 rdm1 . bb . ov += einsum ( tmp10 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) * - 1 del tmp10 rdm1 . bb . ov += einsum ( t1 . bb , ( 0 , 1 ), tmp11 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp11 rdm1 . aa . ov = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) rdm1 . aa . ov += einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) * 2 rdm1 . aa . ov += t1 . aa rdm1 . aa . ov += einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) * - 2 del tmp6 rdm1 . aa . ov += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp7 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) * - 1 del tmp7 rdm1 . aa . ov += einsum ( tmp8 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * - 2 del tmp8 rdm1 . bb . oo = np . copy ( np . transpose ( tmp3 , ( 1 , 0 ))) * - 2 del tmp3 rdm1 . bb . oo += delta . bb . oo rdm1 . bb . oo += np . transpose ( tmp4 , ( 1 , 0 )) * - 1 del tmp4 rdm1 . bb . oo += np . transpose ( tmp5 , ( 1 , 0 )) * - 1 del tmp5 rdm1 . aa . oo = np . copy ( np . transpose ( tmp0 , ( 1 , 0 ))) * - 1 del tmp0 rdm1 . aa . oo += delta . aa . oo del delta rdm1 . aa . oo += np . transpose ( tmp1 , ( 1 , 0 )) * - 2 del tmp1 rdm1 . aa . oo += np . transpose ( tmp2 , ( 1 , 0 )) * - 1 del tmp2 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","title":"Returns"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.make_rdm2_f","text":"Code generated by albert 0.0.0 on 2024-08-17T20:42:18.178662.","title":"make_rdm2_f"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.make_rdm2_f--parameters","text":"l1 : Namespace of arrays L1 amplitudes. l2 : Namespace of arrays L2 amplitudes. t1 : Namespace of arrays T1 amplitudes. t2 : Namespace of arrays T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.make_rdm2_f--returns","text":"rdm2 : Namespace of arrays Two-particle reduced density matrix. Source code in ebcc/codegen/UDFCCSD.py 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 def make_rdm2_f ( l1 = None , l2 = None , t1 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:42:18.178662. 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 ])), ) tmp10 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp9 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 1 ), ( 3 , 4 )) tmp8 = einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 1 , 2 ), ( 2 , 0 )) tmp18 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp13 = einsum ( t1 . bb , ( 0 , 1 ), l2 . abab , ( 2 , 1 , 3 , 4 ), ( 3 , 4 , 0 , 2 )) tmp2 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 1 ), ( 4 , 0 )) tmp0 = einsum ( t1 . aa , ( 0 , 1 ), l1 . aa , ( 1 , 2 ), ( 2 , 0 )) tmp1 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 2 , 4 )) tmp6 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 2 , 3 , 4 , 0 )) tmp26 = einsum ( t1 . aa , ( 0 , 1 ), l2 . abab , ( 1 , 2 , 3 , 4 ), ( 3 , 0 , 4 , 2 )) tmp89 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 3 , 5 , 1 ), ( 2 , 4 , 0 , 5 )) tmp88 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 5 ), ( 5 , 1 , 4 , 3 )) tmp68 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp72 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp16 = np . copy ( tmp8 ) tmp16 += tmp9 tmp16 += tmp10 * 2 tmp17 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 0 , 1 ), ( 2 , 3 , 4 , 5 )) tmp19 = einsum ( t1 . bb , ( 0 , 1 ), tmp18 , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp52 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp18 , ( 4 , 1 , 5 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp53 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp13 , ( 0 , 4 , 5 , 2 ), ( 4 , 5 , 1 , 3 )) tmp12 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 3 , 4 , 5 ), ( 4 , 0 , 5 , 1 )) tmp14 = einsum ( t1 . aa , ( 0 , 1 ), tmp13 , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp28 = np . copy ( tmp0 ) * 0.5 tmp28 += tmp1 tmp28 += tmp2 * 0.5 tmp32 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 0 , 2 , 4 , 5 )) * - 1 tmp31 = einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp5 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 4 , 5 , 0 , 1 )) tmp112 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp83 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp82 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) tmp108 = einsum ( l1 . bb , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp90 = np . copy ( tmp88 ) tmp90 += tmp89 * 4 tmp85 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 3 , 4 , 1 , 5 ), ( 2 , 4 , 0 , 5 )) tmp86 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 5 , 1 ), ( 5 , 0 , 4 , 2 )) tmp65 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) tmp105 = einsum ( t1 . aa , ( 0 , 1 ), l1 . aa , ( 2 , 0 ), ( 2 , 1 )) tmp66 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) tmp119 = np . copy ( tmp68 ) * 4 tmp119 += tmp72 tmp107 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp70 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 5 , 1 ), ( 4 , 2 , 5 , 0 )) tmp114 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 3 , 4 , 1 , 5 ), ( 0 , 5 , 2 , 4 )) tmp39 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) tmp41 = einsum ( t1 . bb , ( 0 , 1 ), tmp16 , ( 0 , 2 ), ( 2 , 1 )) * 0.5 tmp40 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp18 , ( 1 , 0 , 4 , 3 ), ( 4 , 2 )) tmp36 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 3 , 1 ), ( 0 , 2 )) tmp35 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 2 , 0 ), ( 1 , 3 )) tmp49 = einsum ( l1 . bb , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp50 = einsum ( t1 . bb , ( 0 , 1 ), tmp16 , ( 0 , 2 ), ( 2 , 1 )) tmp54 = np . copy ( np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 ))) tmp54 += np . transpose ( tmp19 , ( 0 , 1 , 3 , 2 )) * - 1 tmp103 = np . copy ( tmp53 ) tmp103 += tmp52 * 4 tmp21 = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp20 = einsum ( l1 . aa , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 0 ), ( 2 , 3 )) tmp61 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp13 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp60 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) * - 1 tmp45 = np . copy ( tmp12 ) tmp45 += tmp14 tmp43 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp26 , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp44 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) * - 1 tmp25 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 0 , 4 , 3 ), ( 2 , 4 )) tmp27 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp26 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp58 = einsum ( tmp28 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp80 = np . copy ( tmp32 ) * 4 tmp80 += tmp31 tmp29 = einsum ( tmp28 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * 2 del tmp28 tmp33 = np . copy ( np . transpose ( tmp5 , ( 1 , 0 , 3 , 2 ))) tmp33 += np . transpose ( tmp7 , ( 0 , 1 , 3 , 2 )) * - 1 tmp24 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 3 , 4 ), ( 4 , 0 , 1 , 2 )) tmp4 = np . copy ( tmp0 ) tmp4 += tmp1 * 2 tmp4 += tmp2 tmp131 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) tmp133 = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) tmp130 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) tmp129 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 2 , 0 , 1 , 4 )) tmp132 = einsum ( l2 . aaaa , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 4 , 5 )) tmp127 = einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 0 , 4 , 5 ), ( 2 , 3 , 4 , 5 )) * - 1 tmp128 = einsum ( t1 . bb , ( 0 , 1 ), tmp112 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp109 = np . copy ( tmp108 ) tmp109 += tmp82 tmp109 += tmp83 * 2 tmp124 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l1 . bb , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp126 = einsum ( t1 . bb , ( 0 , 1 ), tmp90 , ( 0 , 2 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) tmp116 = einsum ( t1 . bb , ( 0 , 1 ), tmp13 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp91 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 3 , 0 , 5 ), ( 5 , 1 , 4 , 2 )) tmp87 = np . copy ( tmp85 ) tmp87 += tmp86 tmp106 = np . copy ( tmp105 ) * 0.5 tmp106 += tmp65 tmp106 += tmp66 * 0.5 tmp120 = einsum ( t1 . aa , ( 0 , 1 ), tmp119 , ( 0 , 2 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) del tmp119 tmp121 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 , 0 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) * - 1 tmp122 = einsum ( tmp107 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 tmp113 = np . copy ( tmp105 ) del tmp105 tmp113 += tmp65 * 2 tmp113 += tmp66 tmp117 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) tmp125 = np . copy ( tmp88 ) tmp125 += tmp89 * 4 tmp110 = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 5 ), ( 2 , 4 , 1 , 5 )) tmp123 = np . copy ( tmp114 ) tmp123 += tmp70 tmp115 = einsum ( t1 . aa , ( 0 , 1 ), tmp26 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp118 = np . copy ( tmp68 ) * 4 tmp118 += tmp72 tmp111 = np . copy ( tmp108 ) * 0.5 del tmp108 tmp111 += tmp82 * 0.5 tmp111 += tmp83 tmp42 = np . copy ( tmp39 ) * 0.5 tmp42 += tmp40 tmp42 += tmp41 del tmp41 tmp37 = np . copy ( t1 . bb ) tmp37 += tmp35 tmp37 += tmp36 * 2 tmp100 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp16 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 tmp48 = np . copy ( t1 . bb ) tmp48 += tmp35 tmp48 += tmp36 * 2 tmp84 = np . copy ( tmp82 ) * 0.5 tmp84 += tmp83 tmp99 = einsum ( t1 . bb , ( 0 , 1 ), tmp49 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp94 = np . copy ( tmp82 ) del tmp82 tmp94 += tmp83 * 2 del tmp83 tmp98 = np . copy ( tmp35 ) tmp98 += tmp36 * 2 tmp51 = np . copy ( tmp39 ) del tmp39 tmp51 += tmp40 * 2 del tmp40 tmp51 += tmp50 del tmp50 tmp97 = einsum ( tmp88 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) tmp101 = einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 1 , 4 , 5 ), ( 2 , 3 , 4 , 5 )) tmp95 = einsum ( tmp85 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) tmp102 = einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 3 , 2 , 4 )) tmp96 = einsum ( tmp89 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 2 ), ( 1 , 4 , 3 , 5 )) tmp104 = einsum ( t1 . bb , ( 0 , 1 ), tmp103 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp103 tmp57 = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 1 , 3 , 4 )) tmp67 = np . copy ( tmp65 ) tmp67 += tmp66 * 0.5 tmp74 = np . copy ( tmp20 ) * 2 tmp74 += tmp21 tmp93 = np . copy ( tmp61 ) tmp93 += tmp60 tmp47 = einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp63 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp26 , ( 0 , 4 , 5 , 3 ), ( 4 , 5 , 1 , 2 )) tmp46 = einsum ( t1 . bb , ( 0 , 1 ), tmp45 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp92 = np . copy ( tmp44 ) tmp92 += tmp43 tmp38 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l1 . aa , ( 2 , 4 ), ( 4 , 0 , 1 , 3 )) tmp59 = np . copy ( tmp25 ) tmp59 += tmp27 * 0.5 tmp59 += tmp58 del tmp58 tmp81 = einsum ( t1 . aa , ( 0 , 1 ), tmp80 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp80 tmp30 = np . copy ( tmp25 ) * 2 del tmp25 tmp30 += tmp27 del tmp27 tmp30 += tmp29 del tmp29 tmp79 = einsum ( t1 . aa , ( 0 , 1 ), tmp33 , ( 0 , 2 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) tmp71 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp70 , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) tmp69 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp68 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 5 , 2 )) tmp73 = einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp76 = np . copy ( tmp65 ) * 2 del tmp65 tmp76 += tmp66 del tmp66 tmp23 = np . copy ( t1 . aa ) tmp23 += tmp20 * 2 tmp23 += tmp21 tmp75 = einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) tmp78 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp33 , ( 0 , 1 , 4 , 5 ), ( 4 , 5 , 2 , 3 )) tmp77 = einsum ( tmp4 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 tmp56 = np . copy ( t1 . aa ) tmp56 += tmp20 * 2 tmp56 += tmp21 tmp62 = np . copy ( tmp8 ) * 0.5 tmp62 += tmp9 * 0.5 tmp62 += tmp10 tmp55 = einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) * 2 del tmp54 tmp64 = np . copy ( t1 . bb ) * 0.5 tmp64 += tmp35 * 0.5 del tmp35 tmp64 += tmp36 del tmp36 tmp34 = einsum ( t1 . aa , ( 0 , 1 ), tmp33 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * 2 del tmp33 tmp22 = np . copy ( t1 . aa ) * 0.5 tmp22 += tmp20 del tmp20 tmp22 += tmp21 * 0.5 del tmp21 tmp15 = np . copy ( delta . bb . oo ) * - 0.5 tmp15 += tmp8 * 0.5 tmp15 += tmp9 * 0.5 tmp15 += tmp10 tmp11 = np . copy ( delta . bb . oo ) * - 1 tmp11 += tmp8 del tmp8 tmp11 += tmp9 del tmp9 tmp11 += tmp10 * 2 del tmp10 tmp3 = np . copy ( delta . aa . oo ) * - 0.5 tmp3 += tmp0 * 0.5 del tmp0 tmp3 += tmp1 del tmp1 tmp3 += tmp2 * 0.5 del tmp2 rdm2 . bbbb . vvvv = np . copy ( np . transpose ( tmp133 , ( 1 , 0 , 3 , 2 ))) * 2 del tmp133 rdm2 . bbbb . vvvv += einsum ( tmp131 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * 2 rdm2 . abab . vvvv = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), l2 . abab , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 2 , 3 )) rdm2 . abab . vvvv += einsum ( t1 . aa , ( 0 , 1 ), tmp130 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) rdm2 . aaaa . vvvv = np . copy ( np . transpose ( tmp132 , ( 1 , 0 , 3 , 2 ))) * 2 del tmp132 rdm2 . aaaa . vvvv += einsum ( tmp129 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * 2 rdm2 . bbbb . vvvo = np . copy ( np . transpose ( tmp131 , ( 2 , 1 , 3 , 0 ))) * 2 rdm2 . abab . vvvo = einsum ( t1 . aa , ( 0 , 1 ), l2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) rdm2 . aaaa . vvvo = np . copy ( np . transpose ( tmp129 , ( 2 , 1 , 3 , 0 ))) * 2 rdm2 . bbbb . vvov = np . copy ( np . transpose ( tmp131 , ( 2 , 1 , 0 , 3 ))) * - 2 del tmp131 rdm2 . abab . vvov = np . copy ( np . transpose ( tmp130 , ( 1 , 2 , 0 , 3 ))) del tmp130 rdm2 . aaaa . vvov = np . copy ( np . transpose ( tmp129 , ( 2 , 1 , 0 , 3 ))) * - 2 del tmp129 rdm2 . bbbb . vovv = np . copy ( np . transpose ( tmp124 , ( 1 , 0 , 3 , 2 ))) * 2 rdm2 . bbbb . vovv += einsum ( tmp109 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . vovv += einsum ( t1 . bb , ( 0 , 1 ), tmp109 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . vovv += np . transpose ( tmp126 , ( 2 , 0 , 1 , 3 )) rdm2 . bbbb . vovv += np . transpose ( tmp126 , ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . bbbb . vovv += np . transpose ( tmp127 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . bbbb . vovv += np . transpose ( tmp128 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . abab . vovv = einsum ( l1 . aa , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) rdm2 . abab . vovv += einsum ( tmp106 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . abab . vovv += einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 2 , 1 , 4 , 3 )) * 2 rdm2 . abab . vovv += einsum ( t1 . bb , ( 0 , 1 ), tmp91 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 rdm2 . abab . vovv += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 4 , 5 ), ( 3 , 2 , 4 , 5 )) * - 1 rdm2 . abab . vovv += einsum ( t1 . aa , ( 0 , 1 ), tmp116 , ( 0 , 2 , 3 , 4 ), ( 3 , 2 , 1 , 4 )) * - 1 rdm2 . aaaa . vovv = np . copy ( np . transpose ( tmp117 , ( 1 , 0 , 3 , 2 ))) * 2 rdm2 . aaaa . vovv += einsum ( tmp113 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . vovv += einsum ( tmp113 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . vovv += np . transpose ( tmp120 , ( 2 , 0 , 1 , 3 )) rdm2 . aaaa . vovv += np . transpose ( tmp120 , ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . vovv += np . transpose ( tmp121 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . aaaa . vovv += np . transpose ( tmp122 , ( 1 , 0 , 3 , 2 )) * 2 rdm2 . bbbb . ovvv = np . copy ( np . transpose ( tmp124 , ( 0 , 1 , 3 , 2 ))) * - 2 del tmp124 rdm2 . bbbb . ovvv += einsum ( tmp109 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . ovvv += einsum ( t1 . bb , ( 0 , 1 ), tmp109 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . ovvv += einsum ( tmp125 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 1 del tmp125 rdm2 . bbbb . ovvv += np . transpose ( tmp126 , ( 0 , 2 , 3 , 1 )) del tmp126 rdm2 . bbbb . ovvv += np . transpose ( tmp127 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp127 rdm2 . bbbb . ovvv += np . transpose ( tmp128 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp128 rdm2 . abab . ovvv = einsum ( l1 . bb , ( 0 , 1 ), t2 . abab , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) rdm2 . abab . ovvv += einsum ( t1 . aa , ( 0 , 1 ), tmp109 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . ovvv += einsum ( t1 . aa , ( 0 , 1 ), tmp110 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 rdm2 . abab . ovvv += einsum ( t1 . bb , ( 0 , 1 ), tmp123 , ( 2 , 0 , 3 , 4 ), ( 2 , 4 , 3 , 1 )) * 2 del tmp123 rdm2 . abab . ovvv += einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 4 , 5 )) * - 1 rdm2 . abab . ovvv += einsum ( tmp115 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 3 , 2 , 4 )) * - 1 rdm2 . aaaa . ovvv = np . copy ( np . transpose ( tmp117 , ( 0 , 1 , 3 , 2 ))) * - 2 del tmp117 rdm2 . aaaa . ovvv += einsum ( tmp113 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . ovvv += einsum ( tmp113 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . ovvv += einsum ( t1 . aa , ( 0 , 1 ), tmp118 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp118 rdm2 . aaaa . ovvv += np . transpose ( tmp120 , ( 0 , 2 , 3 , 1 )) del tmp120 rdm2 . aaaa . ovvv += np . transpose ( tmp121 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp121 rdm2 . aaaa . ovvv += np . transpose ( tmp122 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp122 rdm2 . bbbb . vvoo = np . copy ( l2 . bbbb ) * 2 rdm2 . abab . vvoo = np . copy ( l2 . abab ) rdm2 . aaaa . vvoo = np . copy ( l2 . aaaa ) * 2 rdm2 . bbbb . vovo = einsum ( tmp109 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . vovo += np . transpose ( tmp88 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . vovo += np . transpose ( tmp89 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . bbbb . vovo += einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . vovo += np . transpose ( tmp112 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . abab . vovo = einsum ( tmp106 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 rdm2 . abab . vovo += np . transpose ( tmp91 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . abab . vovo += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 3 , 2 , 4 , 1 )) * - 1 rdm2 . aaaa . vovo = einsum ( tmp113 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) 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 ( tmp68 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . aaaa . vovo += np . transpose ( tmp107 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . bbbb . voov = einsum ( tmp111 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 rdm2 . bbbb . voov += np . transpose ( tmp88 , ( 2 , 1 , 0 , 3 )) rdm2 . bbbb . voov += einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . voov += np . transpose ( tmp89 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . bbbb . voov += np . transpose ( tmp112 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . abab . voov = np . copy ( np . transpose ( tmp85 , ( 2 , 1 , 0 , 3 ))) * 2 del tmp85 rdm2 . abab . voov += einsum ( t1 . bb , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . voov += np . transpose ( tmp86 , ( 2 , 1 , 0 , 3 )) * 2 del tmp86 rdm2 . abab . voov += np . transpose ( tmp116 , ( 2 , 1 , 0 , 3 )) * - 1 del tmp116 rdm2 . aaaa . voov = einsum ( tmp106 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 2 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 ( tmp68 , ( 2 , 1 , 0 , 3 )) * 4 rdm2 . aaaa . voov += np . transpose ( tmp107 , ( 2 , 1 , 0 , 3 )) * - 2 rdm2 . bbbb . ovvo = einsum ( tmp109 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . ovvo += np . transpose ( tmp88 , ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . ovvo += einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . ovvo += np . transpose ( tmp89 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . bbbb . ovvo += np . transpose ( tmp112 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . abab . ovvo = np . copy ( np . transpose ( tmp114 , ( 0 , 3 , 2 , 1 ))) * 2 del tmp114 rdm2 . abab . ovvo += einsum ( l1 . bb , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . ovvo += np . transpose ( tmp70 , ( 0 , 3 , 2 , 1 )) * 2 del tmp70 rdm2 . abab . ovvo += np . transpose ( tmp115 , ( 0 , 3 , 2 , 1 )) * - 1 del tmp115 rdm2 . aaaa . ovvo = einsum ( tmp113 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 del tmp113 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 ( tmp68 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . aaaa . ovvo += np . transpose ( tmp107 , ( 1 , 2 , 3 , 0 )) * - 2 rdm2 . bbbb . ovov = einsum ( tmp111 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 del tmp111 rdm2 . bbbb . ovov += np . transpose ( tmp88 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp88 rdm2 . bbbb . ovov += np . transpose ( tmp89 , ( 1 , 2 , 0 , 3 )) * - 4 del tmp89 rdm2 . bbbb . ovov += einsum ( t1 . bb , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . ovov += np . transpose ( tmp112 , ( 1 , 2 , 0 , 3 )) * 2 del tmp112 rdm2 . abab . ovov = einsum ( delta . aa . oo , ( 0 , 1 ), tmp109 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) del tmp109 rdm2 . abab . ovov += np . transpose ( tmp110 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp110 rdm2 . abab . ovov += einsum ( t1 . bb , ( 0 , 1 ), tmp26 , ( 2 , 3 , 0 , 4 ), ( 3 , 4 , 2 , 1 )) * - 1 rdm2 . aaaa . ovov = einsum ( tmp106 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 del tmp106 rdm2 . aaaa . ovov += np . transpose ( tmp72 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp72 rdm2 . aaaa . ovov += einsum ( t1 . aa , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . ovov += np . transpose ( tmp68 , ( 1 , 2 , 0 , 3 )) * - 4 del tmp68 rdm2 . aaaa . ovov += np . transpose ( tmp107 , ( 1 , 2 , 0 , 3 )) * 2 del tmp107 rdm2 . bbbb . oovv = np . copy ( t2 . bbbb ) * 2 rdm2 . bbbb . oovv += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp94 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp94 rdm2 . bbbb . oovv += np . transpose ( tmp95 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp96 , ( 0 , 1 , 3 , 2 )) * - 8 rdm2 . bbbb . oovv += np . transpose ( tmp97 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp97 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp48 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . oovv += np . transpose ( tmp95 , ( 1 , 0 , 3 , 2 )) * 2 del tmp95 rdm2 . bbbb . oovv += tmp96 * 8 del tmp96 rdm2 . bbbb . oovv += tmp97 * 2 rdm2 . bbbb . oovv += np . transpose ( tmp97 , ( 1 , 0 , 3 , 2 )) * 2 del tmp97 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . oovv += einsum ( tmp98 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . bbbb . oovv += einsum ( tmp98 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 del tmp98 rdm2 . bbbb . oovv += tmp99 * 2 rdm2 . bbbb . oovv += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp84 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * 4 rdm2 . bbbb . oovv += np . transpose ( tmp99 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp99 rdm2 . bbbb . oovv += np . transpose ( tmp100 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp51 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 rdm2 . bbbb . oovv += einsum ( tmp42 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 rdm2 . bbbb . oovv += np . transpose ( tmp100 , ( 1 , 0 , 3 , 2 )) * 2 del tmp100 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp51 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 rdm2 . bbbb . oovv += np . transpose ( tmp101 , ( 1 , 0 , 3 , 2 )) * 2 del tmp101 rdm2 . bbbb . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp102 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * 2 del tmp102 rdm2 . bbbb . oovv += np . transpose ( tmp104 , ( 1 , 0 , 2 , 3 )) rdm2 . bbbb . oovv += tmp104 * - 1 rdm2 . bbbb . oovv += np . transpose ( tmp104 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . bbbb . oovv += np . transpose ( tmp104 , ( 0 , 1 , 3 , 2 )) del tmp104 rdm2 . abab . oovv = np . copy ( t2 . abab ) rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp84 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp84 rdm2 . abab . oovv += einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) * 4 del tmp87 rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp90 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) del tmp90 rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp74 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp38 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 rdm2 . abab . oovv += einsum ( tmp67 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 rdm2 . abab . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp57 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 rdm2 . abab . oovv += einsum ( tmp16 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 rdm2 . abab . oovv += einsum ( tmp4 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 rdm2 . abab . oovv += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 4 , 5 )) rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp46 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) rdm2 . abab . oovv += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp91 , ( 1 , 4 , 2 , 5 ), ( 0 , 4 , 5 , 3 )) del tmp91 rdm2 . abab . oovv += einsum ( tmp59 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 rdm2 . abab . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp47 , ( 0 , 2 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) rdm2 . abab . oovv += einsum ( tmp92 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 2 del tmp92 rdm2 . abab . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp93 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp93 rdm2 . abab . oovv += einsum ( t1 . bb , ( 0 , 1 ), tmp63 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) rdm2 . aaaa . oovv = np . copy ( t2 . aaaa ) * 2 rdm2 . aaaa . oovv += einsum ( tmp67 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 4 del tmp67 rdm2 . aaaa . oovv += np . transpose ( tmp69 , ( 0 , 1 , 3 , 2 )) * - 8 rdm2 . aaaa . oovv += np . transpose ( tmp71 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += np . transpose ( tmp73 , ( 0 , 1 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += np . transpose ( tmp73 , ( 1 , 0 , 2 , 3 )) * - 2 rdm2 . aaaa . oovv += einsum ( tmp56 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . oovv += tmp69 * 8 del tmp69 rdm2 . aaaa . oovv += tmp71 * 2 del tmp71 rdm2 . aaaa . oovv += tmp73 * 2 rdm2 . aaaa . oovv += np . transpose ( tmp73 , ( 1 , 0 , 3 , 2 )) * 2 del tmp73 rdm2 . aaaa . oovv += einsum ( tmp23 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp74 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp74 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 del tmp74 rdm2 . aaaa . oovv += tmp75 * 2 rdm2 . aaaa . oovv += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp76 , ( 3 , 4 ), ( 0 , 1 , 4 , 2 )) * 2 del tmp76 rdm2 . aaaa . oovv += np . transpose ( tmp75 , ( 0 , 1 , 3 , 2 )) * - 2 del tmp75 rdm2 . aaaa . oovv += np . transpose ( tmp77 , ( 1 , 0 , 3 , 2 )) * - 2 rdm2 . aaaa . oovv += einsum ( tmp59 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) rdm2 . aaaa . oovv += np . transpose ( tmp77 , ( 0 , 1 , 3 , 2 )) * 2 del tmp77 rdm2 . aaaa . oovv += einsum ( tmp59 , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 2 rdm2 . aaaa . oovv += einsum ( t1 . aa , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . oovv += np . transpose ( tmp78 , ( 1 , 0 , 3 , 2 )) * 2 del tmp78 rdm2 . aaaa . oovv += einsum ( tmp79 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * 2 del tmp79 rdm2 . aaaa . oovv += np . transpose ( tmp81 , ( 1 , 0 , 2 , 3 )) rdm2 . aaaa . oovv += tmp81 * - 1 rdm2 . aaaa . oovv += np . transpose ( tmp81 , ( 1 , 0 , 3 , 2 )) * - 1 rdm2 . aaaa . oovv += np . transpose ( tmp81 , ( 0 , 1 , 3 , 2 )) del tmp81 rdm2 . bbbb . vooo = einsum ( delta . bb . oo , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . vooo += einsum ( l1 . bb , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . vooo += np . transpose ( tmp18 , ( 3 , 2 , 1 , 0 )) * 2 rdm2 . abab . vooo = einsum ( l1 . aa , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . vooo += np . transpose ( tmp13 , ( 3 , 2 , 0 , 1 )) * - 1 del tmp13 rdm2 . aaaa . vooo = einsum ( delta . aa . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . aaaa . vooo += einsum ( delta . aa . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . aaaa . vooo += np . transpose ( tmp6 , ( 3 , 2 , 1 , 0 )) * 2 rdm2 . bbbb . ovoo = einsum ( delta . bb . oo , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . bbbb . ovoo += einsum ( l1 . bb , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . ovoo += np . transpose ( tmp18 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp18 rdm2 . abab . ovoo = einsum ( delta . aa . oo , ( 0 , 1 ), l1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . abab . ovoo += np . transpose ( tmp26 , ( 1 , 3 , 0 , 2 )) * - 1 del tmp26 rdm2 . aaaa . ovoo = einsum ( delta . aa . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . ovoo += einsum ( delta . aa . oo , ( 0 , 1 ), l1 . aa , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) rdm2 . aaaa . ovoo += np . transpose ( tmp6 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp6 rdm2 . bbbb . oovo = einsum ( tmp64 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 del tmp64 rdm2 . bbbb . oovo += einsum ( tmp37 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 rdm2 . bbbb . oovo += np . transpose ( tmp49 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . bbbb . oovo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 2 rdm2 . bbbb . oovo += einsum ( tmp42 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 rdm2 . bbbb . oovo += np . transpose ( tmp52 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . bbbb . oovo += np . transpose ( tmp53 , ( 1 , 2 , 3 , 0 )) rdm2 . bbbb . oovo += einsum ( t1 . bb , ( 0 , 1 ), tmp62 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * 2 rdm2 . bbbb . oovo += np . transpose ( tmp52 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . bbbb . oovo += np . transpose ( tmp53 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . oovo += einsum ( tmp62 , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . bbbb . oovo += np . transpose ( tmp55 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . abab . oovo = einsum ( delta . bb . oo , ( 0 , 1 ), tmp56 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . abab . oovo += np . transpose ( tmp57 , ( 0 , 2 , 3 , 1 )) * - 1 del tmp57 rdm2 . abab . oovo += einsum ( tmp59 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 del tmp59 rdm2 . abab . oovo += np . transpose ( tmp60 , ( 0 , 2 , 3 , 1 )) * - 2 del tmp60 rdm2 . abab . oovo += np . transpose ( tmp61 , ( 0 , 2 , 3 , 1 )) * - 2 del tmp61 rdm2 . abab . oovo += einsum ( t1 . aa , ( 0 , 1 ), tmp62 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 2 del tmp62 rdm2 . abab . oovo += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 3 , 4 , 2 )) del tmp45 rdm2 . abab . oovo += np . transpose ( tmp63 , ( 0 , 2 , 3 , 1 )) del tmp63 rdm2 . aaaa . oovo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp56 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) del tmp56 rdm2 . aaaa . oovo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp23 , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 rdm2 . aaaa . oovo += np . transpose ( tmp24 , ( 2 , 1 , 3 , 0 )) * 2 rdm2 . aaaa . oovo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 rdm2 . aaaa . oovo += einsum ( tmp30 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . aaaa . oovo += np . transpose ( tmp31 , ( 1 , 2 , 3 , 0 )) rdm2 . aaaa . oovo += np . transpose ( tmp32 , ( 1 , 2 , 3 , 0 )) * 4 rdm2 . aaaa . oovo += einsum ( t1 . aa , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) rdm2 . aaaa . oovo += np . transpose ( tmp31 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . aaaa . oovo += np . transpose ( tmp32 , ( 2 , 1 , 3 , 0 )) * - 4 rdm2 . aaaa . oovo += einsum ( t1 . aa , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 rdm2 . aaaa . oovo += np . transpose ( tmp34 , ( 2 , 1 , 3 , 0 )) * - 1 rdm2 . bbbb . ooov = einsum ( delta . bb . oo , ( 0 , 1 ), tmp48 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 del tmp48 rdm2 . bbbb . ooov += einsum ( tmp37 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) rdm2 . bbbb . ooov += np . transpose ( tmp49 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp49 rdm2 . bbbb . ooov += einsum ( delta . bb . oo , ( 0 , 1 ), tmp51 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . bbbb . ooov += einsum ( delta . bb . oo , ( 0 , 1 ), tmp51 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 1 del tmp51 rdm2 . bbbb . ooov += np . transpose ( tmp52 , ( 1 , 2 , 0 , 3 )) * - 4 rdm2 . bbbb . ooov += np . transpose ( tmp53 , ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . bbbb . ooov += einsum ( t1 . bb , ( 0 , 1 ), tmp16 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . bbbb . ooov += np . transpose ( tmp52 , ( 2 , 1 , 0 , 3 )) * 4 del tmp52 rdm2 . bbbb . ooov += np . transpose ( tmp53 , ( 2 , 1 , 0 , 3 )) del tmp53 rdm2 . bbbb . ooov += einsum ( t1 . bb , ( 0 , 1 ), tmp16 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) rdm2 . bbbb . ooov += np . transpose ( tmp55 , ( 2 , 1 , 0 , 3 )) del tmp55 rdm2 . abab . ooov = einsum ( delta . aa . oo , ( 0 , 1 ), tmp37 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) del tmp37 rdm2 . abab . ooov += np . transpose ( tmp38 , ( 1 , 2 , 0 , 3 )) * - 1 del tmp38 rdm2 . abab . ooov += einsum ( delta . aa . oo , ( 0 , 1 ), tmp42 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * - 2 del tmp42 rdm2 . abab . ooov += np . transpose ( tmp43 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp43 rdm2 . abab . ooov += np . transpose ( tmp44 , ( 1 , 2 , 0 , 3 )) * - 2 del tmp44 rdm2 . abab . ooov += einsum ( t1 . bb , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . abab . ooov += np . transpose ( tmp46 , ( 1 , 2 , 0 , 3 )) del tmp46 rdm2 . abab . ooov += np . transpose ( tmp47 , ( 1 , 2 , 0 , 3 )) del tmp47 rdm2 . aaaa . ooov = einsum ( delta . aa . oo , ( 0 , 1 ), tmp22 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 2 del tmp22 rdm2 . aaaa . ooov += einsum ( delta . aa . oo , ( 0 , 1 ), tmp23 , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) del tmp23 rdm2 . aaaa . ooov += np . transpose ( tmp24 , ( 2 , 1 , 0 , 3 )) * - 2 del tmp24 rdm2 . aaaa . ooov += einsum ( delta . aa . oo , ( 0 , 1 ), tmp30 , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) rdm2 . aaaa . ooov += einsum ( tmp30 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * - 1 del tmp30 rdm2 . aaaa . ooov += np . transpose ( tmp31 , ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . aaaa . ooov += np . transpose ( tmp32 , ( 1 , 2 , 0 , 3 )) * - 4 rdm2 . aaaa . ooov += einsum ( t1 . aa , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . aaaa . ooov += np . transpose ( tmp31 , ( 2 , 1 , 0 , 3 )) del tmp31 rdm2 . aaaa . ooov += np . transpose ( tmp32 , ( 2 , 1 , 0 , 3 )) * 4 del tmp32 rdm2 . aaaa . ooov += einsum ( t1 . aa , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) rdm2 . aaaa . ooov += np . transpose ( tmp34 , ( 2 , 1 , 0 , 3 )) del tmp34 rdm2 . bbbb . oooo = einsum ( tmp15 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . bbbb . oooo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp15 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * 2 del tmp15 rdm2 . bbbb . oooo += einsum ( tmp16 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . bbbb . oooo += einsum ( delta . bb . oo , ( 0 , 1 ), tmp16 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) del tmp16 rdm2 . bbbb . oooo += np . transpose ( tmp17 , ( 3 , 2 , 1 , 0 )) * 2 del tmp17 rdm2 . bbbb . oooo += np . transpose ( tmp19 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp19 rdm2 . abab . oooo = einsum ( delta . aa . oo , ( 0 , 1 ), tmp11 , ( 2 , 3 ), ( 0 , 3 , 1 , 2 )) * - 1 del tmp11 rdm2 . abab . oooo += einsum ( tmp4 , ( 0 , 1 ), delta . bb . oo , ( 2 , 3 ), ( 1 , 2 , 0 , 3 )) * - 1 rdm2 . abab . oooo += np . transpose ( tmp12 , ( 1 , 3 , 0 , 2 )) del tmp12 rdm2 . abab . oooo += np . transpose ( tmp14 , ( 1 , 3 , 0 , 2 )) del tmp14 rdm2 . aaaa . oooo = einsum ( tmp3 , ( 0 , 1 ), delta . aa . oo , ( 2 , 3 ), ( 2 , 1 , 3 , 0 )) * - 2 rdm2 . aaaa . oooo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp3 , ( 2 , 3 ), ( 3 , 0 , 1 , 2 )) * 2 del tmp3 rdm2 . aaaa . oooo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 3 , 0 , 2 , 1 )) * - 1 rdm2 . aaaa . oooo += einsum ( delta . aa . oo , ( 0 , 1 ), tmp4 , ( 2 , 3 ), ( 0 , 3 , 2 , 1 )) del tmp4 , delta rdm2 . aaaa . oooo += np . transpose ( tmp5 , ( 3 , 2 , 1 , 0 )) * 2 del tmp5 rdm2 . aaaa . oooo += np . transpose ( tmp7 , ( 2 , 3 , 1 , 0 )) * - 2 del tmp7 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","title":"Returns"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.hbar_matvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T20:45:01.030151.","title":"hbar_matvec_ip_intermediates"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.hbar_matvec_ip_intermediates--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.hbar_matvec_ip_intermediates--returns","text":"tmp1 : array tmp101 : array tmp102 : array tmp103 : array tmp105 : array tmp11 : array tmp116 : array tmp117 : array tmp118 : array tmp12 : array tmp120 : array tmp122 : array tmp124 : array tmp126 : array tmp128 : array tmp131 : array tmp132 : array tmp137 : array tmp138 : array tmp139 : array tmp14 : array tmp140 : array tmp141 : array tmp142 : array tmp143 : array tmp144 : array tmp145 : array tmp152 : array tmp156 : array tmp159 : array tmp16 : array tmp161 : array tmp163 : array tmp166 : array tmp168 : array tmp17 : array tmp170 : array tmp171 : array tmp173 : array tmp177 : array tmp178 : array tmp179 : array tmp18 : array tmp181 : array tmp183 : array tmp185 : array tmp186 : array tmp187 : array tmp189 : array tmp19 : array tmp2 : array tmp200 : array tmp201 : array tmp202 : array tmp206 : array tmp208 : array tmp21 : array tmp210 : array tmp212 : array tmp214 : array tmp216 : array tmp218 : array tmp219 : array tmp22 : array tmp220 : array tmp228 : array tmp233 : array tmp236 : array tmp24 : array tmp241 : array tmp242 : array tmp243 : array tmp248 : array tmp249 : array tmp251 : array tmp252 : array tmp256 : array tmp257 : array tmp258 : array tmp26 : array tmp260 : array tmp262 : array tmp263 : array tmp264 : array tmp268 : array tmp269 : array tmp27 : array tmp275 : array tmp276 : array tmp277 : array tmp278 : array tmp279 : array tmp281 : array tmp284 : array tmp286 : array tmp287 : array tmp289 : array tmp29 : array tmp291 : array tmp292 : array tmp293 : array tmp295 : array tmp298 : array tmp30 : array tmp302 : array tmp303 : array tmp304 : array tmp305 : array tmp306 : array tmp307 : array tmp308 : array tmp310 : array tmp315 : array tmp316 : array tmp317 : array tmp318 : array tmp32 : array tmp320 : array tmp322 : array tmp325 : array tmp326 : array tmp327 : array tmp328 : array tmp329 : array tmp33 : array tmp330 : array tmp334 : array tmp335 : array tmp337 : array tmp338 : array tmp339 : array tmp34 : array tmp340 : array tmp341 : array tmp342 : array tmp344 : array tmp345 : array tmp346 : array tmp350 : array tmp351 : array tmp352 : array tmp354 : array tmp356 : array tmp357 : array tmp358 : array tmp36 : array tmp362 : array tmp363 : array tmp364 : array tmp365 : array tmp366 : array tmp367 : array tmp37 : array tmp372 : array tmp373 : array tmp374 : array tmp385 : array tmp387 : array tmp389 : array tmp39 : array tmp392 : array tmp394 : array tmp396 : array tmp4 : array tmp401 : array tmp403 : array tmp41 : array tmp414 : array tmp416 : array tmp418 : array tmp42 : array tmp43 : array tmp434 : array tmp438 : array tmp440 : array tmp442 : array tmp447 : array tmp449 : array tmp453 : array tmp455 : array tmp457 : array tmp459 : array tmp461 : array tmp47 : array tmp49 : array tmp51 : array tmp52 : array tmp54 : array tmp55 : array tmp57 : array tmp58 : array tmp59 : array tmp6 : array tmp61 : array tmp67 : array tmp69 : array tmp7 : array tmp70 : array tmp72 : array tmp74 : array tmp78 : array tmp79 : array tmp80 : array tmp81 : array tmp82 : array tmp83 : array tmp85 : array tmp87 : array tmp9 : array tmp90 : array tmp92 : array tmp93 : array tmp95 : array tmp98 : array Source code in ebcc/codegen/UDFCCSD.py 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 def hbar_matvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:45:01.030151. 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 ------- tmp1 : array tmp101 : array tmp102 : array tmp103 : array tmp105 : array tmp11 : array tmp116 : array tmp117 : array tmp118 : array tmp12 : array tmp120 : array tmp122 : array tmp124 : array tmp126 : array tmp128 : array tmp131 : array tmp132 : array tmp137 : array tmp138 : array tmp139 : array tmp14 : array tmp140 : array tmp141 : array tmp142 : array tmp143 : array tmp144 : array tmp145 : array tmp152 : array tmp156 : array tmp159 : array tmp16 : array tmp161 : array tmp163 : array tmp166 : array tmp168 : array tmp17 : array tmp170 : array tmp171 : array tmp173 : array tmp177 : array tmp178 : array tmp179 : array tmp18 : array tmp181 : array tmp183 : array tmp185 : array tmp186 : array tmp187 : array tmp189 : array tmp19 : array tmp2 : array tmp200 : array tmp201 : array tmp202 : array tmp206 : array tmp208 : array tmp21 : array tmp210 : array tmp212 : array tmp214 : array tmp216 : array tmp218 : array tmp219 : array tmp22 : array tmp220 : array tmp228 : array tmp233 : array tmp236 : array tmp24 : array tmp241 : array tmp242 : array tmp243 : array tmp248 : array tmp249 : array tmp251 : array tmp252 : array tmp256 : array tmp257 : array tmp258 : array tmp26 : array tmp260 : array tmp262 : array tmp263 : array tmp264 : array tmp268 : array tmp269 : array tmp27 : array tmp275 : array tmp276 : array tmp277 : array tmp278 : array tmp279 : array tmp281 : array tmp284 : array tmp286 : array tmp287 : array tmp289 : array tmp29 : array tmp291 : array tmp292 : array tmp293 : array tmp295 : array tmp298 : array tmp30 : array tmp302 : array tmp303 : array tmp304 : array tmp305 : array tmp306 : array tmp307 : array tmp308 : array tmp310 : array tmp315 : array tmp316 : array tmp317 : array tmp318 : array tmp32 : array tmp320 : array tmp322 : array tmp325 : array tmp326 : array tmp327 : array tmp328 : array tmp329 : array tmp33 : array tmp330 : array tmp334 : array tmp335 : array tmp337 : array tmp338 : array tmp339 : array tmp34 : array tmp340 : array tmp341 : array tmp342 : array tmp344 : array tmp345 : array tmp346 : array tmp350 : array tmp351 : array tmp352 : array tmp354 : array tmp356 : array tmp357 : array tmp358 : array tmp36 : array tmp362 : array tmp363 : array tmp364 : array tmp365 : array tmp366 : array tmp367 : array tmp37 : array tmp372 : array tmp373 : array tmp374 : array tmp385 : array tmp387 : array tmp389 : array tmp39 : array tmp392 : array tmp394 : array tmp396 : array tmp4 : array tmp401 : array tmp403 : array tmp41 : array tmp414 : array tmp416 : array tmp418 : array tmp42 : array tmp43 : array tmp434 : array tmp438 : array tmp440 : array tmp442 : array tmp447 : array tmp449 : array tmp453 : array tmp455 : array tmp457 : array tmp459 : array tmp461 : array tmp47 : array tmp49 : array tmp51 : array tmp52 : array tmp54 : array tmp55 : array tmp57 : array tmp58 : array tmp59 : array tmp6 : array tmp61 : array tmp67 : array tmp69 : array tmp7 : array tmp70 : array tmp72 : array tmp74 : array tmp78 : array tmp79 : array tmp80 : array tmp81 : array tmp82 : array tmp83 : array tmp85 : array tmp87 : array tmp9 : array tmp90 : array tmp92 : array tmp93 : array tmp95 : array tmp98 : array \"\"\" tmp8 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp10 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp16 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp6 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp131 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp21 = einsum ( tmp8 , ( 0 ,), v . bbb . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp18 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp17 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp16 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp54 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp51 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp156 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp19 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp14 = einsum ( tmp8 , ( 0 ,), v . baa . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp12 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp29 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp26 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp92 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp449 = einsum ( tmp16 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp47 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp276 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp37 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp401 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp394 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp131 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) tmp391 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp387 = einsum ( tmp16 , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp59 = einsum ( t1 . bb , ( 0 , 1 ), tmp21 , ( 2 , 1 ), ( 0 , 2 )) tmp58 = einsum ( tmp18 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp57 = einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 2 , 1 ), ( 0 , 2 )) tmp252 = einsum ( tmp16 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp55 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp54 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp52 = einsum ( tmp51 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp49 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp36 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 2 , 1 ), ( 2 , 0 )) tmp264 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp22 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp6 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp249 = einsum ( tmp6 , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp278 = einsum ( tmp8 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp275 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp43 = einsum ( tmp8 , ( 0 ,), v . bbb . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp42 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp41 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp16 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp39 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp2 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp214 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp210 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp156 , ( 4 , 5 , 2 , 3 ), ( 0 , 4 , 1 , 5 )) tmp280 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp24 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp69 = einsum ( t1 . aa , ( 0 , 1 ), v . baa . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp4 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp207 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp34 = einsum ( t1 . aa , ( 0 , 1 ), tmp19 , ( 2 , 1 ), ( 0 , 2 )) tmp33 = einsum ( tmp14 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp32 = einsum ( t1 . aa , ( 0 , 1 ), tmp12 , ( 2 , 1 ), ( 0 , 2 )) tmp173 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp6 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp27 = einsum ( tmp26 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp1 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp11 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp9 = einsum ( tmp8 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp103 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp93 = einsum ( tmp92 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 3 , 2 ), ( 4 , 5 , 1 , 0 )) tmp89 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp85 = einsum ( tmp6 , ( 0 , 1 , 2 ), tmp6 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp72 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) del tmp10 tmp67 = einsum ( tmp8 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp8 tmp461 = einsum ( tmp449 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp459 = einsum ( tmp449 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp457 = einsum ( tmp16 , ( 0 , 1 , 2 ), tmp54 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp455 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp47 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp453 = einsum ( tmp51 , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp447 = einsum ( tmp276 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp442 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp21 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp440 = einsum ( tmp18 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp438 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp434 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp418 = einsum ( tmp54 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp416 = einsum ( tmp51 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp414 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp403 = einsum ( tmp401 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 1 , 2 , 0 , 4 )) tmp396 = einsum ( t1 . bb , ( 0 , 1 ), tmp394 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp392 = einsum ( tmp391 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) * - 1 del tmp391 tmp389 = einsum ( tmp387 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp385 = einsum ( tmp276 , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp374 = einsum ( t1 . bb , ( 0 , 1 ), tmp59 , ( 2 , 0 ), ( 2 , 1 )) tmp373 = einsum ( t1 . bb , ( 0 , 1 ), tmp58 , ( 2 , 0 ), ( 2 , 1 )) tmp372 = einsum ( t1 . bb , ( 0 , 1 ), tmp57 , ( 2 , 0 ), ( 2 , 1 )) tmp367 = einsum ( t1 . bb , ( 0 , 1 ), tmp252 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp366 = einsum ( t1 . bb , ( 0 , 1 ), tmp55 , ( 2 , 0 ), ( 2 , 1 )) tmp365 = einsum ( t1 . bb , ( 0 , 1 ), tmp52 , ( 2 , 0 ), ( 2 , 1 )) tmp364 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 1 , 5 )) tmp363 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) tmp362 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp47 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp358 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp276 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp357 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp356 = einsum ( t1 . bb , ( 0 , 1 ), tmp36 , ( 0 , 2 ), ( 2 , 1 )) tmp354 = einsum ( t1 . bb , ( 0 , 1 ), tmp264 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp352 = einsum ( tmp51 , ( 0 , 1 , 2 ), tmp6 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp351 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) tmp350 = einsum ( tmp6 , ( 0 , 1 , 2 ), tmp54 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp346 = einsum ( tmp276 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp345 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp344 = einsum ( t1 . bb , ( 0 , 1 ), tmp249 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp342 = einsum ( tmp6 , ( 0 , 1 , 2 ), tmp276 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp341 = einsum ( tmp278 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp340 = einsum ( tmp276 , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp339 = einsum ( tmp275 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp338 = einsum ( tmp54 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp337 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp51 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp335 = einsum ( tmp16 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp334 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . vv , ( 2 , 1 ), ( 0 , 2 )) tmp330 = einsum ( t1 . bb , ( 0 , 1 ), tmp43 , ( 2 , 0 ), ( 2 , 1 )) tmp329 = einsum ( t1 . bb , ( 0 , 1 ), tmp42 , ( 2 , 0 ), ( 2 , 1 )) tmp328 = einsum ( t1 . bb , ( 0 , 1 ), tmp41 , ( 2 , 0 ), ( 2 , 1 )) tmp327 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 2 ), ( 0 , 4 , 1 , 3 )) tmp326 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 2 ), ( 0 , 4 , 1 , 3 )) tmp325 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp12 , ( 4 , 2 ), ( 0 , 4 , 1 , 3 )) tmp322 = einsum ( tmp156 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp320 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp54 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp318 = einsum ( tmp51 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp317 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 1 , 5 )) tmp316 = einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) tmp315 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp310 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp308 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . oo , ( 2 , 0 ), ( 2 , 1 )) tmp307 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp21 , ( 1 , 3 ), ( 0 , 2 )) tmp306 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp19 , ( 0 , 2 ), ( 1 , 3 )) tmp305 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp18 , ( 1 , 3 ), ( 0 , 2 )) tmp304 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp17 , ( 1 , 3 ), ( 0 , 2 )) tmp303 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp14 , ( 0 , 2 ), ( 1 , 3 )) tmp302 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp12 , ( 0 , 2 ), ( 1 , 3 )) tmp298 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp131 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp295 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp92 , ( 0 , 4 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp293 = einsum ( tmp51 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp292 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp54 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp291 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp289 = einsum ( t1 . bb , ( 0 , 1 ), tmp214 , ( 2 , 3 , 4 , 0 ), ( 3 , 2 , 4 , 1 )) tmp287 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp286 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp284 = einsum ( t1 . bb , ( 0 , 1 ), tmp210 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp281 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp280 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) del tmp280 tmp279 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp277 = einsum ( tmp276 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp269 = einsum ( tmp264 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp268 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp24 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp263 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp69 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp262 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp260 = einsum ( t1 . aa , ( 0 , 1 ), tmp252 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp258 = einsum ( tmp26 , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp257 = einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp256 = einsum ( tmp29 , ( 0 , 1 , 2 ), tmp16 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp251 = einsum ( t1 . aa , ( 0 , 1 ), tmp249 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) tmp248 = einsum ( tmp16 , ( 0 , 1 , 2 ), tmp69 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp243 = einsum ( tmp21 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp242 = einsum ( tmp18 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp241 = einsum ( tmp17 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp236 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp156 , ( 0 , 4 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) tmp233 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp228 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp220 = einsum ( tmp26 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp219 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp218 = einsum ( tmp37 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp216 = einsum ( tmp214 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 3 , 2 , 4 )) tmp212 = einsum ( tmp210 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp208 = einsum ( tmp207 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) del tmp207 tmp206 = einsum ( tmp16 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp202 = einsum ( tmp34 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp201 = einsum ( t1 . aa , ( 0 , 1 ), tmp33 , ( 2 , 0 ), ( 2 , 1 )) tmp200 = einsum ( tmp32 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp189 = einsum ( t1 . aa , ( 0 , 1 ), tmp173 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp187 = einsum ( t1 . aa , ( 0 , 1 ), tmp173 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp186 = einsum ( tmp30 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp185 = einsum ( t1 . aa , ( 0 , 1 ), tmp27 , ( 2 , 0 ), ( 2 , 1 )) tmp183 = einsum ( tmp29 , ( 0 , 1 , 2 ), tmp6 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp181 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp22 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp179 = einsum ( tmp6 , ( 0 , 1 , 2 ), tmp26 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp178 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp24 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp177 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp171 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp69 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp170 = einsum ( tmp69 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp168 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp166 = einsum ( tmp1 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp163 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp161 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp14 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp159 = einsum ( tmp12 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp152 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp145 = einsum ( tmp11 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp144 = einsum ( t1 . aa , ( 0 , 1 ), tmp9 , ( 2 , 0 ), ( 2 , 1 )) tmp143 = einsum ( t1 . aa , ( 0 , 1 ), tmp7 , ( 2 , 0 ), ( 2 , 1 )) tmp142 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp21 , ( 1 , 3 ), ( 0 , 2 )) tmp141 = einsum ( tmp19 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp140 = einsum ( tmp18 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp139 = einsum ( tmp17 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp138 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp14 , ( 1 , 3 ), ( 0 , 2 )) tmp137 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp12 , ( 1 , 3 ), ( 0 , 2 )) tmp132 = einsum ( tmp131 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp128 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp92 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp126 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp124 = einsum ( tmp26 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp122 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp120 = einsum ( tmp26 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp118 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp117 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp4 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp116 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp105 = einsum ( t1 . aa , ( 0 , 1 ), tmp103 , ( 2 , 3 , 4 , 0 ), ( 3 , 4 , 2 , 1 )) tmp102 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp101 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 1 , 3 ), ( 0 , 2 )) tmp98 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . oo , ( 2 , 0 ), ( 2 , 1 )) tmp95 = einsum ( t1 . aa , ( 0 , 1 ), tmp93 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp90 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp89 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) * - 1 del tmp89 tmp87 = einsum ( t1 . aa , ( 0 , 1 ), tmp85 , ( 2 , 3 , 0 , 4 ), ( 3 , 2 , 4 , 1 )) tmp83 = einsum ( tmp69 , ( 0 , 1 , 2 ), tmp6 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp82 = einsum ( t1 . aa , ( 0 , 1 ), tmp72 , ( 2 , 1 ), ( 0 , 2 )) tmp81 = einsum ( tmp69 , ( 0 , 1 , 2 ), tmp6 , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp80 = einsum ( t1 . aa , ( 0 , 1 ), tmp67 , ( 2 , 1 ), ( 0 , 2 )) tmp79 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp78 = einsum ( tmp26 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * - 1 tmp74 = einsum ( tmp6 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp70 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp69 , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp61 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . vv , ( 2 , 1 ), ( 0 , 2 )) return { f \"tmp1\" : tmp1 , f \"tmp101\" : tmp101 , f \"tmp102\" : tmp102 , f \"tmp103\" : tmp103 , f \"tmp105\" : tmp105 , f \"tmp11\" : tmp11 , f \"tmp116\" : tmp116 , f \"tmp117\" : tmp117 , f \"tmp118\" : tmp118 , f \"tmp12\" : tmp12 , f \"tmp120\" : tmp120 , f \"tmp122\" : tmp122 , f \"tmp124\" : tmp124 , f \"tmp126\" : tmp126 , f \"tmp128\" : tmp128 , f \"tmp131\" : tmp131 , f \"tmp132\" : tmp132 , f \"tmp137\" : tmp137 , f \"tmp138\" : tmp138 , f \"tmp139\" : tmp139 , f \"tmp14\" : tmp14 , f \"tmp140\" : tmp140 , f \"tmp141\" : tmp141 , f \"tmp142\" : tmp142 , f \"tmp143\" : tmp143 , f \"tmp144\" : tmp144 , f \"tmp145\" : tmp145 , f \"tmp152\" : tmp152 , f \"tmp156\" : tmp156 , f \"tmp159\" : tmp159 , f \"tmp16\" : tmp16 , f \"tmp161\" : tmp161 , f \"tmp163\" : tmp163 , f \"tmp166\" : tmp166 , f \"tmp168\" : tmp168 , f \"tmp17\" : tmp17 , f \"tmp170\" : tmp170 , f \"tmp171\" : tmp171 , f \"tmp173\" : tmp173 , f \"tmp177\" : tmp177 , f \"tmp178\" : tmp178 , f \"tmp179\" : tmp179 , f \"tmp18\" : tmp18 , f \"tmp181\" : tmp181 , f \"tmp183\" : tmp183 , f \"tmp185\" : tmp185 , f \"tmp186\" : tmp186 , f \"tmp187\" : tmp187 , f \"tmp189\" : tmp189 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp200\" : tmp200 , f \"tmp201\" : tmp201 , f \"tmp202\" : tmp202 , f \"tmp206\" : tmp206 , f \"tmp208\" : tmp208 , f \"tmp21\" : tmp21 , f \"tmp210\" : tmp210 , f \"tmp212\" : tmp212 , f \"tmp214\" : tmp214 , f \"tmp216\" : tmp216 , f \"tmp218\" : tmp218 , f \"tmp219\" : tmp219 , f \"tmp22\" : tmp22 , f \"tmp220\" : tmp220 , f \"tmp228\" : tmp228 , f \"tmp233\" : tmp233 , f \"tmp236\" : tmp236 , f \"tmp24\" : tmp24 , f \"tmp241\" : tmp241 , f \"tmp242\" : tmp242 , f \"tmp243\" : tmp243 , f \"tmp248\" : tmp248 , f \"tmp249\" : tmp249 , f \"tmp251\" : tmp251 , f \"tmp252\" : tmp252 , f \"tmp256\" : tmp256 , f \"tmp257\" : tmp257 , f \"tmp258\" : tmp258 , f \"tmp26\" : tmp26 , f \"tmp260\" : tmp260 , f \"tmp262\" : tmp262 , f \"tmp263\" : tmp263 , f \"tmp264\" : tmp264 , f \"tmp268\" : tmp268 , f \"tmp269\" : tmp269 , f \"tmp27\" : tmp27 , f \"tmp275\" : tmp275 , f \"tmp276\" : tmp276 , f \"tmp277\" : tmp277 , f \"tmp278\" : tmp278 , f \"tmp279\" : tmp279 , f \"tmp281\" : tmp281 , f \"tmp284\" : tmp284 , f \"tmp286\" : tmp286 , f \"tmp287\" : tmp287 , f \"tmp289\" : tmp289 , f \"tmp29\" : tmp29 , f \"tmp291\" : tmp291 , f \"tmp292\" : tmp292 , f \"tmp293\" : tmp293 , f \"tmp295\" : tmp295 , f \"tmp298\" : tmp298 , f \"tmp30\" : tmp30 , f \"tmp302\" : tmp302 , f \"tmp303\" : tmp303 , f \"tmp304\" : tmp304 , f \"tmp305\" : tmp305 , f \"tmp306\" : tmp306 , f \"tmp307\" : tmp307 , f \"tmp308\" : tmp308 , f \"tmp310\" : tmp310 , f \"tmp315\" : tmp315 , f \"tmp316\" : tmp316 , f \"tmp317\" : tmp317 , f \"tmp318\" : tmp318 , f \"tmp32\" : tmp32 , f \"tmp320\" : tmp320 , f \"tmp322\" : tmp322 , f \"tmp325\" : tmp325 , f \"tmp326\" : tmp326 , f \"tmp327\" : tmp327 , f \"tmp328\" : tmp328 , f \"tmp329\" : tmp329 , f \"tmp33\" : tmp33 , f \"tmp330\" : tmp330 , f \"tmp334\" : tmp334 , f \"tmp335\" : tmp335 , f \"tmp337\" : tmp337 , f \"tmp338\" : tmp338 , f \"tmp339\" : tmp339 , f \"tmp34\" : tmp34 , f \"tmp340\" : tmp340 , f \"tmp341\" : tmp341 , f \"tmp342\" : tmp342 , f \"tmp344\" : tmp344 , f \"tmp345\" : tmp345 , f \"tmp346\" : tmp346 , f \"tmp350\" : tmp350 , f \"tmp351\" : tmp351 , f \"tmp352\" : tmp352 , f \"tmp354\" : tmp354 , f \"tmp356\" : tmp356 , f \"tmp357\" : tmp357 , f \"tmp358\" : tmp358 , f \"tmp36\" : tmp36 , f \"tmp362\" : tmp362 , f \"tmp363\" : tmp363 , f \"tmp364\" : tmp364 , f \"tmp365\" : tmp365 , f \"tmp366\" : tmp366 , f \"tmp367\" : tmp367 , f \"tmp37\" : tmp37 , f \"tmp372\" : tmp372 , f \"tmp373\" : tmp373 , f \"tmp374\" : tmp374 , f \"tmp385\" : tmp385 , f \"tmp387\" : tmp387 , f \"tmp389\" : tmp389 , f \"tmp39\" : tmp39 , f \"tmp392\" : tmp392 , f \"tmp394\" : tmp394 , f \"tmp396\" : tmp396 , f \"tmp4\" : tmp4 , f \"tmp401\" : tmp401 , f \"tmp403\" : tmp403 , f \"tmp41\" : tmp41 , f \"tmp414\" : tmp414 , f \"tmp416\" : tmp416 , f \"tmp418\" : tmp418 , f \"tmp42\" : tmp42 , f \"tmp43\" : tmp43 , f \"tmp434\" : tmp434 , f \"tmp438\" : tmp438 , f \"tmp440\" : tmp440 , f \"tmp442\" : tmp442 , f \"tmp447\" : tmp447 , f \"tmp449\" : tmp449 , f \"tmp453\" : tmp453 , f \"tmp455\" : tmp455 , f \"tmp457\" : tmp457 , f \"tmp459\" : tmp459 , f \"tmp461\" : tmp461 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp51\" : tmp51 , f \"tmp52\" : tmp52 , f \"tmp54\" : tmp54 , f \"tmp55\" : tmp55 , f \"tmp57\" : tmp57 , f \"tmp58\" : tmp58 , f \"tmp59\" : tmp59 , f \"tmp6\" : tmp6 , f \"tmp61\" : tmp61 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp7\" : tmp7 , f \"tmp70\" : tmp70 , f \"tmp72\" : tmp72 , f \"tmp74\" : tmp74 , f \"tmp78\" : tmp78 , f \"tmp79\" : tmp79 , f \"tmp80\" : tmp80 , f \"tmp81\" : tmp81 , f \"tmp82\" : tmp82 , f \"tmp83\" : tmp83 , f \"tmp85\" : tmp85 , f \"tmp87\" : tmp87 , f \"tmp9\" : tmp9 , f \"tmp90\" : tmp90 , f \"tmp92\" : tmp92 , f \"tmp93\" : tmp93 , f \"tmp95\" : tmp95 , f \"tmp98\" : tmp98 }","title":"Returns"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.hbar_matvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T20:45:01.146650.","title":"hbar_matvec_ip"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.hbar_matvec_ip--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.hbar_matvec_ip--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UDFCCSD.py 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 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-17T20:45:01.146650. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp47 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), r2 . aba , ( 1 , 3 , 2 ), ( 0 , 3 )) tmp48 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), v . bbb . xov , ( 3 , 1 , 2 ), ( 3 , 0 )) tmp12 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), r2 . bab , ( 1 , 3 , 2 ), ( 0 , 3 )) * - 1 tmp11 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 1 , 2 ), ( 0 , 3 )) tmp49 = np . copy ( tmp47 ) * - 1 tmp49 += tmp48 * 2 tmp77 = np . copy ( tmp47 ) * - 0.5 tmp77 += tmp48 tmp65 = np . copy ( ints . tmp37 ) tmp65 += np . transpose ( ints . tmp47 , ( 0 , 2 , 1 , 3 )) tmp24 = np . copy ( ints . tmp22 ) tmp24 += np . transpose ( ints . tmp2 , ( 0 , 2 , 1 , 3 )) tmp21 = np . copy ( tmp11 ) * 2 tmp21 += tmp12 tmp27 = np . copy ( tmp11 ) tmp27 += tmp12 * 0.5 tmp76 = einsum ( tmp49 , ( 0 , 1 ), ints . tmp16 , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) tmp78 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp77 , ( 0 , 3 ), ( 3 , 1 , 2 )) * 2 del tmp77 tmp75 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp65 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 2 tmp25 = einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 3 ), ( 4 , 0 , 1 )) * - 1 tmp26 = einsum ( tmp21 , ( 0 , 1 ), v . baa . xoo , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) * 0.5 tmp28 = einsum ( ints . tmp6 , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 ), ( 1 , 2 , 3 )) tmp2 = np . copy ( f . bb . ov ) tmp2 += ints . tmp18 tmp2 += ints . tmp21 tmp2 += ints . tmp17 * - 1 del ints . tmp17 tmp92 = np . copy ( ints . tmp389 ) del ints . tmp389 tmp92 += np . transpose ( ints . tmp403 , ( 1 , 2 , 0 , 3 )) del ints . tmp403 tmp92 += np . transpose ( ints . tmp418 , ( 0 , 2 , 1 , 3 )) del ints . tmp418 tmp92 += np . transpose ( ints . tmp447 , ( 0 , 2 , 1 , 3 )) del ints . tmp447 tmp92 += ints . tmp459 del ints . tmp459 tmp92 += np . transpose ( ints . tmp416 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp416 tmp92 += ints . tmp455 * 2 del ints . tmp455 tmp90 = np . copy ( f . bb . oo ) tmp90 += ints . tmp36 tmp90 += np . transpose ( ints . tmp42 , ( 1 , 0 )) tmp90 += np . transpose ( ints . tmp43 , ( 1 , 0 )) tmp90 += np . transpose ( ints . tmp58 , ( 1 , 0 )) tmp90 += np . transpose ( ints . tmp59 , ( 1 , 0 )) tmp58 = np . copy ( ints . tmp335 ) del ints . tmp335 tmp58 += ints . tmp345 del ints . tmp345 tmp58 += ints . tmp298 * 2 del ints . tmp298 tmp88 = np . copy ( ints . tmp276 ) tmp88 += ints . tmp54 tmp88 += ints . tmp51 * 2 tmp79 = np . copy ( np . transpose ( tmp75 , ( 1 , 2 , 0 ))) * - 1 del tmp75 tmp79 += np . transpose ( tmp76 , ( 1 , 2 , 0 )) * - 1 del tmp76 tmp79 += np . transpose ( tmp78 , ( 0 , 2 , 1 )) del tmp78 tmp81 = np . copy ( ints . tmp37 ) tmp81 += np . transpose ( ints . tmp385 , ( 0 , 2 , 1 , 3 )) del ints . tmp385 tmp81 += np . transpose ( ints . tmp414 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp414 tmp81 += np . transpose ( ints . tmp453 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp453 tmp81 += np . transpose ( ints . tmp457 , ( 0 , 2 , 1 , 3 )) del ints . tmp457 tmp81 += ints . tmp461 del ints . tmp461 tmp81 += np . transpose ( ints . tmp47 , ( 0 , 2 , 1 , 3 )) tmp83 = np . copy ( ints . tmp52 ) * 2 tmp83 += ints . tmp55 tmp83 += ints . tmp41 * - 1 tmp83 += ints . tmp57 * - 1 tmp73 = np . copy ( ints . tmp276 ) tmp73 += ints . tmp51 * 2 tmp73 += ints . tmp54 tmp3 = np . copy ( f . aa . ov ) tmp3 += ints . tmp14 tmp3 += ints . tmp19 tmp3 += ints . tmp12 * - 1 del ints . tmp12 tmp29 = np . copy ( np . transpose ( tmp25 , ( 1 , 2 , 0 ))) * - 1 del tmp25 tmp29 += np . transpose ( tmp26 , ( 2 , 1 , 0 )) del tmp26 tmp29 += tmp28 * - 1 del tmp28 tmp31 = np . copy ( ints . tmp118 ) del ints . tmp118 tmp31 += ints . tmp179 del ints . tmp179 tmp31 += ints . tmp183 * 0.5 del ints . tmp183 tmp31 += np . transpose ( ints . tmp189 , ( 0 , 2 , 1 , 3 )) * 0.5 del ints . tmp189 tmp31 += ints . tmp22 * 0.5 tmp31 += np . transpose ( ints . tmp2 , ( 0 , 2 , 1 , 3 )) * 0.5 tmp31 += ints . tmp83 * 0.5 del ints . tmp83 tmp22 = np . copy ( ints . tmp26 ) tmp22 += ints . tmp29 * 0.5 tmp22 += ints . tmp69 * 0.5 tmp33 = np . copy ( ints . tmp27 ) * 2 tmp33 += ints . tmp30 tmp33 += ints . tmp32 * - 1 tmp33 += ints . tmp7 * - 1 tmp15 = np . copy ( f . aa . oo ) tmp15 += np . transpose ( ints . tmp11 , ( 1 , 0 )) tmp15 += ints . tmp1 tmp15 += np . transpose ( ints . tmp33 , ( 1 , 0 )) tmp15 += np . transpose ( ints . tmp34 , ( 1 , 0 )) tmp15 += np . transpose ( ints . tmp9 , ( 1 , 0 )) tmp17 = np . copy ( ints . tmp105 ) del ints . tmp105 tmp17 += np . transpose ( ints . tmp122 , ( 1 , 0 , 2 , 3 )) del ints . tmp122 tmp17 += np . transpose ( ints . tmp171 , ( 1 , 0 , 2 , 3 )) del ints . tmp171 tmp17 += np . transpose ( ints . tmp187 , ( 2 , 0 , 1 , 3 )) del ints . tmp187 tmp17 += np . transpose ( ints . tmp87 , ( 2 , 0 , 1 , 3 )) del ints . tmp87 tmp17 += np . transpose ( ints . tmp120 , ( 1 , 0 , 2 , 3 )) * 2 del ints . tmp120 tmp17 += np . transpose ( ints . tmp181 , ( 2 , 0 , 1 , 3 )) * 2 del ints . tmp181 tmp9 = np . copy ( ints . tmp168 ) tmp9 += ints . tmp74 tmp9 += ints . tmp128 * 2 tmp13 = np . copy ( tmp11 ) * 2 del tmp11 tmp13 += tmp12 del tmp12 tmp62 = einsum ( tmp2 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp93 = einsum ( r1 . b , ( 0 ,), tmp92 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) del tmp92 tmp91 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp90 , ( 1 , 3 ), ( 3 , 0 , 2 )) * - 1 del tmp90 tmp87 = einsum ( tmp58 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 1 tmp86 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp48 , ( 0 , 3 ), ( 3 , 1 , 2 )) tmp89 = einsum ( tmp88 , ( 0 , 1 , 2 ), tmp47 , ( 0 , 3 ), ( 1 , 3 , 2 )) del tmp88 tmp56 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp131 , ( 1 , 0 , 2 , 3 ), ( 3 ,)) * - 1 del ints . tmp131 tmp55 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp156 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) tmp80 = einsum ( t1 . bb , ( 0 , 1 ), tmp79 , ( 2 , 0 , 3 ), ( 2 , 3 , 1 )) del tmp79 tmp72 = einsum ( tmp47 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) del tmp47 tmp71 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp449 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) del ints . tmp449 tmp70 = einsum ( ints . tmp295 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) tmp82 = einsum ( tmp81 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 1 ,), ( 0 , 2 , 3 )) del tmp81 tmp84 = einsum ( tmp83 , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 0 , 2 , 3 )) * - 2 del tmp83 tmp74 = einsum ( tmp73 , ( 0 , 1 , 2 ), tmp48 , ( 0 , 3 ), ( 1 , 3 , 2 )) * 2 del tmp48 , tmp73 tmp39 = einsum ( ints . tmp92 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 0 , 1 , 2 ), ( 3 ,)) del ints . tmp92 tmp40 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp156 , ( 1 , 0 , 3 , 2 ), ( 3 ,)) * - 1 del ints . tmp156 tmp1 = np . copy ( ints . tmp24 ) tmp1 += ints . tmp4 tmp66 = np . copy ( ints . tmp16 ) del ints . tmp16 tmp66 += v . bbb . xoo tmp37 = einsum ( t1 . aa , ( 0 , 1 ), tmp3 , ( 0 , 2 ), ( 2 , 1 )) tmp53 = np . copy ( ints . tmp6 ) del ints . tmp6 tmp53 += v . baa . xoo tmp52 = np . copy ( ints . tmp39 ) tmp52 += ints . tmp49 tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 , 3 )) * 2 del tmp29 tmp32 = einsum ( r1 . a , ( 0 ,), tmp31 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) * 2 del tmp31 tmp20 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp173 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) del ints . tmp173 tmp23 = einsum ( tmp22 , ( 0 , 1 , 2 ), tmp21 , ( 0 , 3 ), ( 3 , 1 , 2 )) * 2 del tmp22 tmp34 = einsum ( tmp33 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) * - 2 del tmp33 tmp8 = einsum ( ints . tmp132 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * - 1 tmp16 = einsum ( tmp15 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp15 tmp18 = einsum ( r1 . a , ( 0 ,), tmp17 , ( 0 , 1 , 2 , 3 ), ( 1 , 2 , 3 )) del tmp17 tmp10 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp9 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp9 tmp14 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp13 , ( 0 , 3 ), ( 1 , 3 , 2 )) del tmp13 tmp63 = np . copy ( ints . tmp277 ) del ints . tmp277 tmp63 += np . transpose ( ints . tmp318 , ( 1 , 0 )) * 2 del ints . tmp318 tmp63 += np . transpose ( ints . tmp320 , ( 1 , 0 )) del ints . tmp320 tmp63 += f . bb . vv * - 1 tmp63 += np . transpose ( ints . tmp275 , ( 1 , 0 )) * - 1 del ints . tmp275 tmp63 += np . transpose ( ints . tmp278 , ( 1 , 0 )) * - 1 del ints . tmp278 tmp63 += tmp62 del tmp62 tmp69 = np . copy ( ints . tmp302 ) del ints . tmp302 tmp69 += ints . tmp304 * 2 del ints . tmp304 tmp69 += ints . tmp308 del ints . tmp308 tmp69 += ints . tmp315 * 2 del ints . tmp315 tmp69 += ints . tmp316 del ints . tmp316 tmp69 += ints . tmp329 del ints . tmp329 tmp69 += ints . tmp330 del ints . tmp330 tmp69 += ints . tmp337 * 2 del ints . tmp337 tmp69 += ints . tmp340 del ints . tmp340 tmp69 += ints . tmp346 del ints . tmp346 tmp69 += ints . tmp356 del ints . tmp356 tmp69 += ints . tmp362 * 2 del ints . tmp362 tmp69 += ints . tmp363 del ints . tmp363 tmp69 += ints . tmp365 * 2 del ints . tmp365 tmp69 += ints . tmp366 del ints . tmp366 tmp69 += ints . tmp373 del ints . tmp373 tmp69 += ints . tmp374 del ints . tmp374 tmp69 += f . bb . ov * - 1 tmp69 += ints . tmp18 * - 1 del ints . tmp18 tmp69 += ints . tmp21 * - 1 del ints . tmp21 tmp69 += ints . tmp286 * - 1 del ints . tmp286 tmp69 += ints . tmp287 * - 2 del ints . tmp287 tmp69 += ints . tmp303 * - 1 del ints . tmp303 tmp69 += ints . tmp305 * - 2 del ints . tmp305 tmp69 += ints . tmp306 * - 1 del ints . tmp306 tmp69 += ints . tmp307 * - 2 del ints . tmp307 tmp69 += ints . tmp328 * - 1 del ints . tmp328 tmp69 += ints . tmp334 * - 1 del ints . tmp334 tmp69 += ints . tmp338 * - 1 del ints . tmp338 tmp69 += ints . tmp339 * - 1 del ints . tmp339 tmp69 += ints . tmp341 * - 1 del ints . tmp341 tmp69 += ints . tmp372 * - 1 del ints . tmp372 tmp94 = np . copy ( tmp86 ) * 2 del tmp86 tmp94 += np . transpose ( tmp87 , ( 1 , 0 , 2 )) * - 2 del tmp87 tmp94 += tmp89 del tmp89 tmp94 += tmp91 * - 2 del tmp91 tmp94 += tmp93 del tmp93 tmp57 = np . copy ( tmp55 ) * 0.5 del tmp55 tmp57 += tmp56 del tmp56 tmp95 = np . copy ( ints . tmp387 ) del ints . tmp387 tmp95 += ints . tmp394 del ints . tmp394 tmp95 += np . transpose ( ints . tmp401 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp401 tmp96 = np . copy ( ints . tmp396 ) del ints . tmp396 tmp96 += np . transpose ( ints . tmp434 , ( 1 , 2 , 0 , 3 )) del ints . tmp434 tmp96 += ints . tmp440 del ints . tmp440 tmp96 += ints . tmp442 del ints . tmp442 tmp96 += ints . tmp392 * - 1 del ints . tmp392 tmp96 += ints . tmp438 * - 1 del ints . tmp438 tmp85 = np . copy ( tmp70 ) del tmp70 tmp85 += tmp71 * 2 del tmp71 tmp85 += tmp72 del tmp72 tmp85 += tmp74 del tmp74 tmp85 += tmp80 del tmp80 tmp85 += tmp82 del tmp82 tmp85 += tmp84 del tmp84 tmp7 = np . copy ( f . bb . oo ) tmp7 += ints . tmp36 del ints . tmp36 tmp7 += np . transpose ( ints . tmp42 , ( 1 , 0 )) del ints . tmp42 tmp7 += np . transpose ( ints . tmp43 , ( 1 , 0 )) del ints . tmp43 tmp7 += np . transpose ( ints . tmp52 , ( 1 , 0 )) * 2 del ints . tmp52 tmp7 += np . transpose ( ints . tmp55 , ( 1 , 0 )) del ints . tmp55 tmp7 += np . transpose ( ints . tmp58 , ( 1 , 0 )) del ints . tmp58 tmp7 += np . transpose ( ints . tmp59 , ( 1 , 0 )) del ints . tmp59 tmp7 += np . transpose ( ints . tmp41 , ( 1 , 0 )) * - 1 del ints . tmp41 tmp7 += np . transpose ( ints . tmp57 , ( 1 , 0 )) * - 1 del ints . tmp57 tmp4 = np . copy ( f . aa . oo ) tmp4 += np . transpose ( ints . tmp11 , ( 1 , 0 )) del ints . tmp11 tmp4 += ints . tmp1 del ints . tmp1 tmp4 += np . transpose ( ints . tmp27 , ( 1 , 0 )) * 2 del ints . tmp27 tmp4 += np . transpose ( ints . tmp30 , ( 1 , 0 )) del ints . tmp30 tmp4 += np . transpose ( ints . tmp33 , ( 1 , 0 )) del ints . tmp33 tmp4 += np . transpose ( ints . tmp34 , ( 1 , 0 )) del ints . tmp34 tmp4 += np . transpose ( ints . tmp9 , ( 1 , 0 )) del ints . tmp9 tmp4 += np . transpose ( ints . tmp32 , ( 1 , 0 )) * - 1 del ints . tmp32 tmp4 += np . transpose ( ints . tmp7 , ( 1 , 0 )) * - 1 del ints . tmp7 tmp68 = np . copy ( tmp39 ) * 2 tmp68 += tmp40 * - 1 tmp59 = np . copy ( ints . tmp279 ) del ints . tmp279 tmp59 += ints . tmp357 del ints . tmp357 tmp59 += ints . tmp322 * - 1 del ints . tmp322 tmp61 = np . copy ( ints . tmp276 ) del ints . tmp276 tmp61 += ints . tmp51 * 2 del ints . tmp51 tmp61 += ints . tmp54 del ints . tmp54 tmp61 += v . bbb . xov tmp67 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 4 , 1 , 3 ), ( 0 , 2 , 4 )) tmp67 += einsum ( tmp65 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 1 , 4 , 3 ), ( 4 , 2 , 0 )) del tmp65 tmp67 += einsum ( tmp21 , ( 0 , 1 ), tmp66 , ( 0 , 2 , 3 ), ( 1 , 3 , 2 )) del tmp21 , tmp66 tmp64 = np . copy ( ints . tmp24 ) del ints . tmp24 tmp64 += ints . tmp281 del ints . tmp281 tmp64 += np . transpose ( ints . tmp292 , ( 1 , 0 , 2 , 3 )) del ints . tmp292 tmp64 += np . transpose ( ints . tmp293 , ( 1 , 0 , 2 , 3 )) * 2 del ints . tmp293 tmp64 += np . transpose ( ints . tmp310 , ( 1 , 0 , 2 , 3 )) del ints . tmp310 tmp64 += ints . tmp326 del ints . tmp326 tmp64 += ints . tmp327 del ints . tmp327 tmp64 += ints . tmp342 del ints . tmp342 tmp64 += ints . tmp350 del ints . tmp350 tmp64 += ints . tmp352 * 2 del ints . tmp352 tmp64 += np . transpose ( ints . tmp358 , ( 1 , 0 , 2 , 3 )) del ints . tmp358 tmp64 += ints . tmp4 del ints . tmp4 tmp64 += ints . tmp284 * - 1 del ints . tmp284 tmp64 += np . transpose ( ints . tmp289 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp289 tmp64 += ints . tmp291 * - 1 del ints . tmp291 tmp64 += ints . tmp317 * - 1 del ints . tmp317 tmp64 += ints . tmp325 * - 1 del ints . tmp325 tmp64 += ints . tmp344 * - 1 del ints . tmp344 tmp64 += ints . tmp351 * - 1 del ints . tmp351 tmp64 += ints . tmp354 * - 1 del ints . tmp354 tmp64 += ints . tmp364 * - 1 del ints . tmp364 tmp64 += np . transpose ( ints . tmp367 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp367 tmp60 = np . copy ( ints . tmp210 ) tmp60 += ints . tmp214 tmp60 += ints . tmp249 tmp60 += np . transpose ( ints . tmp252 , ( 1 , 0 , 2 , 3 )) tmp60 += np . transpose ( ints . tmp264 , ( 0 , 1 , 3 , 2 )) tmp44 = np . copy ( ints . tmp206 ) del ints . tmp206 tmp44 += ints . tmp262 del ints . tmp262 tmp44 += ints . tmp236 * - 1 del ints . tmp236 tmp38 = np . copy ( np . transpose ( ints . tmp124 , ( 1 , 0 ))) * 2 del ints . tmp124 tmp38 += np . transpose ( ints . tmp126 , ( 1 , 0 )) del ints . tmp126 tmp38 += ints . tmp70 del ints . tmp70 tmp38 += f . aa . vv * - 1 tmp38 += np . transpose ( ints . tmp67 , ( 1 , 0 )) * - 1 del ints . tmp67 tmp38 += np . transpose ( ints . tmp72 , ( 1 , 0 )) * - 1 del ints . tmp72 tmp38 += tmp37 del tmp37 tmp43 = np . copy ( ints . tmp116 ) * 2 del ints . tmp116 tmp43 += ints . tmp117 del ints . tmp117 tmp43 += ints . tmp137 * 2 del ints . tmp137 tmp43 += ints . tmp139 del ints . tmp139 tmp43 += ints . tmp144 del ints . tmp144 tmp43 += ints . tmp145 del ints . tmp145 tmp43 += ints . tmp166 del ints . tmp166 tmp43 += ints . tmp170 del ints . tmp170 tmp43 += ints . tmp177 * 2 del ints . tmp177 tmp43 += ints . tmp178 del ints . tmp178 tmp43 += ints . tmp185 * 2 del ints . tmp185 tmp43 += ints . tmp186 del ints . tmp186 tmp43 += ints . tmp201 del ints . tmp201 tmp43 += ints . tmp202 del ints . tmp202 tmp43 += ints . tmp78 * 2 del ints . tmp78 tmp43 += ints . tmp81 del ints . tmp81 tmp43 += ints . tmp98 del ints . tmp98 tmp43 += f . aa . ov * - 1 tmp43 += ints . tmp101 * - 2 del ints . tmp101 tmp43 += ints . tmp102 * - 1 del ints . tmp102 tmp43 += ints . tmp138 * - 2 del ints . tmp138 tmp43 += ints . tmp140 * - 1 del ints . tmp140 tmp43 += ints . tmp141 * - 2 del ints . tmp141 tmp43 += ints . tmp142 * - 1 del ints . tmp142 tmp43 += ints . tmp143 * - 1 del ints . tmp143 tmp43 += ints . tmp14 * - 1 del ints . tmp14 tmp43 += ints . tmp19 * - 1 del ints . tmp19 tmp43 += ints . tmp200 * - 1 del ints . tmp200 tmp43 += ints . tmp61 * - 1 del ints . tmp61 tmp43 += ints . tmp79 * - 1 del ints . tmp79 tmp43 += ints . tmp80 * - 1 del ints . tmp80 tmp43 += ints . tmp82 * - 1 del ints . tmp82 tmp46 = np . copy ( ints . tmp210 ) del ints . tmp210 tmp46 += ints . tmp214 del ints . tmp214 tmp46 += ints . tmp249 del ints . tmp249 tmp46 += np . transpose ( ints . tmp252 , ( 1 , 0 , 2 , 3 )) del ints . tmp252 tmp46 += np . transpose ( ints . tmp264 , ( 0 , 1 , 3 , 2 )) del ints . tmp264 tmp50 = np . copy ( ints . tmp29 ) del ints . tmp29 tmp50 += ints . tmp69 del ints . tmp69 tmp50 += v . baa . xov tmp50 += ints . tmp26 * 2 del ints . tmp26 tmp45 = np . copy ( ints . tmp128 ) * 2 del ints . tmp128 tmp45 += ints . tmp168 del ints . tmp168 tmp45 += ints . tmp74 del ints . tmp74 tmp51 = np . copy ( ints . tmp208 ) del ints . tmp208 tmp51 += np . transpose ( ints . tmp219 , ( 0 , 2 , 1 , 3 )) del ints . tmp219 tmp51 += np . transpose ( ints . tmp220 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp220 tmp51 += np . transpose ( ints . tmp228 , ( 0 , 2 , 1 , 3 )) del ints . tmp228 tmp51 += ints . tmp242 del ints . tmp242 tmp51 += ints . tmp243 del ints . tmp243 tmp51 += ints . tmp248 del ints . tmp248 tmp51 += ints . tmp256 del ints . tmp256 tmp51 += ints . tmp258 * 2 del ints . tmp258 tmp51 += np . transpose ( ints . tmp263 , ( 0 , 2 , 1 , 3 )) del ints . tmp263 tmp51 += ints . tmp39 tmp51 += ints . tmp49 tmp51 += ints . tmp212 * - 1 del ints . tmp212 tmp51 += np . transpose ( ints . tmp216 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp216 tmp51 += ints . tmp218 * - 1 del ints . tmp218 tmp51 += ints . tmp233 * - 1 del ints . tmp233 tmp51 += ints . tmp241 * - 1 del ints . tmp241 tmp51 += ints . tmp251 * - 1 del ints . tmp251 tmp51 += ints . tmp257 * - 1 del ints . tmp257 tmp51 += ints . tmp260 * - 1 del ints . tmp260 tmp51 += ints . tmp268 * - 1 del ints . tmp268 tmp51 += np . transpose ( ints . tmp269 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp269 tmp54 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp24 , ( 3 , 4 , 0 , 2 ), ( 3 , 4 , 1 )) del tmp24 tmp54 += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp52 , ( 3 , 4 , 1 , 2 ), ( 0 , 3 , 4 )) del tmp52 tmp54 += einsum ( tmp53 , ( 0 , 1 , 2 ), tmp49 , ( 0 , 3 ), ( 1 , 2 , 3 )) del tmp53 tmp42 = np . copy ( ints . tmp152 ) del ints . tmp152 tmp42 += np . transpose ( ints . tmp161 , ( 2 , 0 , 1 , 3 )) del ints . tmp161 tmp42 += np . transpose ( ints . tmp163 , ( 2 , 0 , 1 , 3 )) del ints . tmp163 tmp42 += np . transpose ( ints . tmp95 , ( 2 , 0 , 1 , 3 )) del ints . tmp95 tmp42 += np . transpose ( ints . tmp159 , ( 2 , 0 , 1 , 3 )) * - 1 del ints . tmp159 tmp42 += np . transpose ( ints . tmp90 , ( 2 , 0 , 1 , 3 )) * - 1 del ints . tmp90 tmp35 = np . copy ( tmp20 ) * 2 del tmp20 tmp35 += np . transpose ( tmp23 , ( 1 , 0 , 2 )) del tmp23 tmp35 += tmp30 del tmp30 tmp35 += tmp32 del tmp32 tmp35 += np . transpose ( tmp34 , ( 1 , 0 , 2 )) del tmp34 tmp36 = np . copy ( np . transpose ( ints . tmp85 , ( 0 , 2 , 1 , 3 ))) del ints . tmp85 tmp36 += np . transpose ( ints . tmp93 , ( 0 , 2 , 1 , 3 )) del ints . tmp93 tmp36 += ints . tmp103 * - 1 del ints . tmp103 tmp41 = np . copy ( tmp39 ) del tmp39 tmp41 += tmp40 * - 0.5 del tmp40 tmp19 = np . copy ( tmp8 ) del tmp8 tmp19 += np . transpose ( tmp10 , ( 1 , 0 , 2 )) * - 2 del tmp10 tmp19 += np . transpose ( tmp14 , ( 1 , 0 , 2 )) del tmp14 tmp19 += np . transpose ( tmp16 , ( 1 , 0 , 2 )) * - 2 del tmp16 tmp19 += tmp18 del tmp18 tmp5 = np . copy ( ints . tmp37 ) del ints . tmp37 tmp5 += ints . tmp47 * - 1 del ints . tmp47 tmp6 = np . copy ( ints . tmp39 ) del ints . tmp39 tmp6 += ints . tmp49 del ints . tmp49 tmp0 = np . copy ( ints . tmp22 ) del ints . tmp22 tmp0 += ints . tmp2 * - 1 del ints . tmp2 r2new . bbb = np . copy ( tmp85 ) * - 1 r2new . bbb += np . transpose ( tmp85 , ( 1 , 0 , 2 )) del tmp85 r2new . bbb += tmp94 r2new . bbb += np . transpose ( tmp94 , ( 1 , 0 , 2 )) * - 1 del tmp94 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp95 , ( 3 , 4 , 0 , 1 ), ( 3 , 4 , 2 )) * 2 del tmp95 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp63 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 r2new . bbb += einsum ( tmp57 , ( 0 ,), t2 . bbbb , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * - 4 r2new . bbb += einsum ( tmp96 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 1 , 0 , 3 )) * - 2 del tmp96 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp69 , ( 1 , 2 ), ( 0 , 1 , 2 )) * - 1 r2new . bbb += einsum ( tmp69 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) r2new . bab = einsum ( ints . tmp295 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 0 , 2 ), ( 1 , 4 , 3 )) * 2 del ints . tmp295 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp58 , ( 3 , 0 , 4 , 2 ), ( 3 , 1 , 4 )) * - 1 del tmp58 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp59 , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) * - 1 del tmp59 r2new . bab += einsum ( tmp60 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 2 , 0 , 4 )) del tmp60 r2new . bab += einsum ( tmp27 , ( 0 , 1 ), tmp61 , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) * - 2 del tmp27 , tmp61 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp63 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp63 r2new . bab += einsum ( tmp64 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 2 , 0 , 3 )) del tmp64 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp7 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new . bab += einsum ( tmp4 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . bab += einsum ( t1 . bb , ( 0 , 1 ), tmp67 , ( 2 , 0 , 3 ), ( 3 , 2 , 1 )) del tmp67 r2new . bab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp68 , ( 2 ,), ( 1 , 0 , 3 )) * - 1 del tmp68 r2new . bab += einsum ( tmp69 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) del tmp69 r2new . aba = einsum ( ints . tmp132 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 1 , 3 ), ( 0 , 4 , 2 )) * 2 del ints . tmp132 r2new . aba += einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) * - 1 del tmp44 r2new . aba += einsum ( tmp45 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * - 1 del tmp45 r2new . aba += einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 4 ), ( 0 , 2 , 4 )) del tmp46 r2new . aba += einsum ( tmp50 , ( 0 , 1 , 2 ), tmp49 , ( 0 , 3 ), ( 1 , 3 , 2 )) * - 1 del tmp49 , tmp50 r2new . aba += einsum ( tmp38 , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aba += einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 0 , 1 , 3 )) del tmp51 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp7 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . aba += einsum ( tmp4 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 r2new . aba += einsum ( tmp54 , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 , 3 )) del tmp54 r2new . aba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp57 , ( 3 ,), ( 0 , 1 , 2 )) * - 2 del tmp57 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp43 , ( 1 , 2 ), ( 1 , 0 , 2 )) r2new . aaa = np . copy ( tmp19 ) r2new . aaa += np . transpose ( tmp19 , ( 1 , 0 , 2 )) * - 1 del tmp19 r2new . aaa += tmp35 * - 1 r2new . aaa += np . transpose ( tmp35 , ( 1 , 0 , 2 )) del tmp35 r2new . aaa += einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 3 , 1 , 4 ), ( 0 , 2 , 4 )) * - 2 del tmp36 r2new . aaa += einsum ( tmp38 , ( 0 , 1 ), r2 . aaa , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 del tmp38 r2new . aaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp41 , ( 3 ,), ( 0 , 1 , 2 )) * - 4 del tmp41 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp42 , ( 0 , 1 , 2 , 3 ), ( 2 , 1 , 3 )) * - 2 del tmp42 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp43 , ( 1 , 2 ), ( 0 , 1 , 2 )) * - 1 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp43 , ( 1 , 2 ), ( 1 , 0 , 2 )) del tmp43 r1new . b = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp5 , ( 3 , 0 , 1 , 2 ), ( 3 ,)) * - 2 del tmp5 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp6 , ( 0 , 3 , 1 , 2 ), ( 3 ,)) del tmp6 r1new . b += einsum ( tmp2 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 1 ), ( 2 ,)) * 2 r1new . b += einsum ( tmp3 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 1 ), ( 2 ,)) * - 1 r1new . b += einsum ( tmp7 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp7 r1new . a = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp0 , ( 3 , 0 , 1 , 2 ), ( 3 ,)) * 2 del tmp0 r1new . a += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 1 , 3 ), ( 0 ,)) del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 1 ), ( 2 ,)) * - 1 del tmp2 r1new . a += einsum ( tmp3 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 1 ), ( 2 ,)) * 2 del tmp3 r1new . a += einsum ( tmp4 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.hbar_matvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T20:47:58.492820.","title":"hbar_matvec_ea_intermediates"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.hbar_matvec_ea_intermediates--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.hbar_matvec_ea_intermediates--returns","text":"tmp100 : array tmp105 : array tmp11 : array tmp115 : array tmp117 : array tmp119 : array tmp12 : array tmp122 : array tmp124 : array tmp126 : array tmp13 : array tmp130 : array tmp135 : array tmp136 : array tmp137 : array tmp138 : array tmp147 : array tmp148 : array tmp149 : array tmp15 : array tmp156 : array tmp157 : array tmp159 : array tmp160 : array tmp162 : array tmp167 : array tmp17 : array tmp171 : array tmp172 : array tmp173 : array tmp175 : array tmp177 : array tmp178 : array tmp179 : array tmp18 : array tmp180 : array tmp181 : array tmp183 : array tmp184 : array tmp185 : array tmp186 : array tmp187 : array tmp19 : array tmp190 : array tmp193 : array tmp195 : array tmp197 : array tmp2 : array tmp20 : array tmp205 : array tmp206 : array tmp207 : array tmp218 : array tmp22 : array tmp221 : array tmp227 : array tmp23 : array tmp237 : array tmp239 : array tmp243 : array tmp245 : array tmp250 : array tmp256 : array tmp26 : array tmp265 : array tmp266 : array tmp267 : array tmp276 : array tmp279 : array tmp29 : array tmp290 : array tmp293 : array tmp298 : array tmp299 : array tmp30 : array tmp300 : array tmp301 : array tmp302 : array tmp303 : array tmp305 : array tmp315 : array tmp316 : array tmp318 : array tmp319 : array tmp32 : array tmp321 : array tmp322 : array tmp323 : array tmp325 : array tmp327 : array tmp328 : array tmp33 : array tmp330 : array tmp331 : array tmp332 : array tmp333 : array tmp335 : array tmp336 : array tmp337 : array tmp341 : array tmp342 : array tmp343 : array tmp344 : array tmp345 : array tmp346 : array tmp347 : array tmp353 : array tmp354 : array tmp355 : array tmp356 : array tmp357 : array tmp360 : array tmp364 : array tmp365 : array tmp366 : array tmp367 : array tmp368 : array tmp370 : array tmp371 : array tmp374 : array tmp375 : array tmp376 : array tmp380 : array tmp383 : array tmp387 : array tmp388 : array tmp389 : array tmp390 : array tmp391 : array tmp392 : array tmp393 : array tmp396 : array tmp4 : array tmp40 : array tmp411 : array tmp413 : array tmp415 : array tmp42 : array tmp425 : array tmp430 : array tmp44 : array tmp45 : array tmp453 : array tmp46 : array tmp469 : array tmp47 : array tmp471 : array tmp481 : array tmp485 : array tmp51 : array tmp56 : array tmp57 : array tmp59 : array tmp60 : array tmp67 : array tmp68 : array tmp7 : array tmp78 : array tmp8 : array tmp80 : array tmp82 : array tmp86 : array tmp89 : array tmp9 : array tmp94 : array tmp95 : array tmp96 : array tmp97 : array tmp98 : array tmp99 : array Source code in ebcc/codegen/UDFCCSD.py 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 def hbar_matvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:47:58.492820. 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 ------- tmp100 : array tmp105 : array tmp11 : array tmp115 : array tmp117 : array tmp119 : array tmp12 : array tmp122 : array tmp124 : array tmp126 : array tmp13 : array tmp130 : array tmp135 : array tmp136 : array tmp137 : array tmp138 : array tmp147 : array tmp148 : array tmp149 : array tmp15 : array tmp156 : array tmp157 : array tmp159 : array tmp160 : array tmp162 : array tmp167 : array tmp17 : array tmp171 : array tmp172 : array tmp173 : array tmp175 : array tmp177 : array tmp178 : array tmp179 : array tmp18 : array tmp180 : array tmp181 : array tmp183 : array tmp184 : array tmp185 : array tmp186 : array tmp187 : array tmp19 : array tmp190 : array tmp193 : array tmp195 : array tmp197 : array tmp2 : array tmp20 : array tmp205 : array tmp206 : array tmp207 : array tmp218 : array tmp22 : array tmp221 : array tmp227 : array tmp23 : array tmp237 : array tmp239 : array tmp243 : array tmp245 : array tmp250 : array tmp256 : array tmp26 : array tmp265 : array tmp266 : array tmp267 : array tmp276 : array tmp279 : array tmp29 : array tmp290 : array tmp293 : array tmp298 : array tmp299 : array tmp30 : array tmp300 : array tmp301 : array tmp302 : array tmp303 : array tmp305 : array tmp315 : array tmp316 : array tmp318 : array tmp319 : array tmp32 : array tmp321 : array tmp322 : array tmp323 : array tmp325 : array tmp327 : array tmp328 : array tmp33 : array tmp330 : array tmp331 : array tmp332 : array tmp333 : array tmp335 : array tmp336 : array tmp337 : array tmp341 : array tmp342 : array tmp343 : array tmp344 : array tmp345 : array tmp346 : array tmp347 : array tmp353 : array tmp354 : array tmp355 : array tmp356 : array tmp357 : array tmp360 : array tmp364 : array tmp365 : array tmp366 : array tmp367 : array tmp368 : array tmp370 : array tmp371 : array tmp374 : array tmp375 : array tmp376 : array tmp380 : array tmp383 : array tmp387 : array tmp388 : array tmp389 : array tmp390 : array tmp391 : array tmp392 : array tmp393 : array tmp396 : array tmp4 : array tmp40 : array tmp411 : array tmp413 : array tmp415 : array tmp42 : array tmp425 : array tmp430 : array tmp44 : array tmp45 : array tmp453 : array tmp46 : array tmp469 : array tmp47 : array tmp471 : array tmp481 : array tmp485 : array tmp51 : array tmp56 : array tmp57 : array tmp59 : array tmp60 : array tmp67 : array tmp68 : array tmp7 : array tmp78 : array tmp8 : array tmp80 : array tmp82 : array tmp86 : array tmp89 : array tmp9 : array tmp94 : array tmp95 : array tmp96 : array tmp97 : array tmp98 : array tmp99 : array \"\"\" tmp6 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp10 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp17 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp12 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp22 = einsum ( tmp6 , ( 0 ,), v . bbb . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp19 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp18 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp59 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp56 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp20 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp15 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp6 , ( 0 ,), ( 1 , 2 )) tmp13 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp12 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp32 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp29 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp45 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp343 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp17 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp360 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp40 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp51 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp23 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp2 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp302 = einsum ( tmp6 , ( 0 ,), v . bbb . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp301 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp300 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp17 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp303 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp337 = einsum ( t1 . bb , ( 0 , 1 ), tmp22 , ( 2 , 1 ), ( 0 , 2 )) tmp336 = einsum ( t1 . bb , ( 0 , 1 ), tmp19 , ( 2 , 1 ), ( 0 , 2 )) tmp335 = einsum ( tmp18 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp325 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp323 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp56 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp327 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp17 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp316 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 2 , 1 ), ( 2 , 0 )) tmp47 = einsum ( tmp6 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp44 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp26 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp42 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp8 = einsum ( t1 . aa , ( 0 , 1 ), v . baa . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp179 = einsum ( tmp12 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp136 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp4 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp197 = einsum ( t1 . aa , ( 0 , 1 ), tmp20 , ( 2 , 1 ), ( 0 , 2 )) tmp195 = einsum ( tmp15 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp193 = einsum ( t1 . aa , ( 0 , 1 ), tmp13 , ( 2 , 1 ), ( 0 , 2 )) tmp11 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) tmp7 = einsum ( tmp6 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp175 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp173 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp177 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp12 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp157 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp126 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp10 , ( 0 ,), ( 1 , 2 )) del tmp10 tmp124 = einsum ( tmp6 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp6 tmp122 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp12 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp130 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp485 = einsum ( tmp45 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp481 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp343 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp471 = einsum ( tmp45 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp469 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp453 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp360 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp430 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp59 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp425 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp56 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp415 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp413 = einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 3 , 1 )) tmp411 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp56 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp396 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp56 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp393 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp59 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp392 = einsum ( tmp22 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp391 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp20 , ( 0 , 2 ), ( 1 , 3 )) tmp390 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp19 , ( 1 , 3 ), ( 0 , 2 )) tmp389 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp18 , ( 1 , 3 ), ( 0 , 2 )) tmp388 = einsum ( tmp15 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp387 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp13 , ( 0 , 2 ), ( 1 , 3 )) tmp383 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp51 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp380 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 3 , 5 ), ( 1 , 4 , 2 , 5 )) tmp376 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp56 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp375 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 3 , 1 , 5 )) tmp374 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp59 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp371 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp370 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp368 = einsum ( t1 . bb , ( 0 , 1 ), tmp302 , ( 2 , 0 ), ( 2 , 1 )) tmp367 = einsum ( t1 . bb , ( 0 , 1 ), tmp301 , ( 2 , 0 ), ( 2 , 1 )) tmp366 = einsum ( t1 . bb , ( 0 , 1 ), tmp300 , ( 2 , 0 ), ( 2 , 1 )) tmp365 = einsum ( tmp303 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) tmp364 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp360 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp357 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp356 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . oo , ( 2 , 0 ), ( 2 , 1 )) tmp355 = einsum ( t1 . bb , ( 0 , 1 ), tmp337 , ( 2 , 0 ), ( 2 , 1 )) tmp354 = einsum ( t1 . bb , ( 0 , 1 ), tmp336 , ( 2 , 0 ), ( 2 , 1 )) tmp353 = einsum ( t1 . bb , ( 0 , 1 ), tmp335 , ( 2 , 0 ), ( 2 , 1 )) tmp347 = einsum ( t1 . bb , ( 0 , 1 ), tmp325 , ( 2 , 0 ), ( 2 , 1 )) tmp346 = einsum ( t1 . bb , ( 0 , 1 ), tmp323 , ( 2 , 0 ), ( 2 , 1 )) tmp345 = einsum ( tmp327 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) tmp344 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp343 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp342 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp341 = einsum ( t1 . bb , ( 0 , 1 ), tmp316 , ( 0 , 2 ), ( 2 , 1 )) tmp333 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp45 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp332 = einsum ( tmp47 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp331 = einsum ( tmp17 , ( 0 , 1 , 2 ), tmp45 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp330 = einsum ( tmp44 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp328 = einsum ( tmp327 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp322 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp59 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp321 = einsum ( tmp56 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * - 1 tmp319 = einsum ( tmp17 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp318 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp45 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp315 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . vv , ( 2 , 1 ), ( 0 , 2 )) tmp305 = einsum ( tmp303 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp299 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp45 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp298 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp293 = einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp290 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp42 , ( 0 , 4 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) tmp279 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp276 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp267 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp266 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp40 , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 5 , 4 )) tmp265 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp256 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp250 = einsum ( tmp12 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp245 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp8 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp243 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp179 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp239 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp8 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp237 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp227 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp136 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp221 = einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 5 , 3 )) tmp218 = einsum ( tmp4 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) tmp207 = einsum ( t1 . aa , ( 0 , 1 ), tmp197 , ( 2 , 0 ), ( 2 , 1 )) tmp206 = einsum ( t1 . aa , ( 0 , 1 ), tmp195 , ( 2 , 0 ), ( 2 , 1 )) tmp205 = einsum ( tmp193 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp190 = einsum ( tmp8 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp187 = einsum ( t1 . aa , ( 0 , 1 ), tmp11 , ( 2 , 1 ), ( 0 , 2 )) tmp186 = einsum ( tmp8 , ( 0 , 1 , 2 ), tmp12 , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp185 = einsum ( tmp7 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp184 = einsum ( t1 . aa , ( 0 , 1 ), tmp175 , ( 2 , 0 ), ( 2 , 1 )) tmp183 = einsum ( t1 . aa , ( 0 , 1 ), tmp173 , ( 2 , 0 ), ( 2 , 1 )) tmp181 = einsum ( tmp177 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp180 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp179 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp178 = einsum ( tmp177 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp172 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp171 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * - 1 tmp167 = einsum ( tmp12 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp162 = einsum ( tmp8 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp160 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp159 = einsum ( t1 . aa , ( 0 , 1 ), tmp157 , ( 0 , 2 ), ( 2 , 1 )) tmp156 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . vv , ( 2 , 1 ), ( 0 , 2 )) tmp149 = einsum ( t1 . aa , ( 0 , 1 ), tmp126 , ( 2 , 0 ), ( 2 , 1 )) tmp148 = einsum ( t1 . aa , ( 0 , 1 ), tmp124 , ( 2 , 0 ), ( 2 , 1 )) tmp147 = einsum ( t1 . aa , ( 0 , 1 ), tmp122 , ( 2 , 0 ), ( 2 , 1 )) tmp138 = einsum ( tmp130 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp137 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp136 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp135 = einsum ( tmp130 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp119 = einsum ( tmp8 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp117 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp115 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . oo , ( 2 , 0 ), ( 2 , 1 )) tmp105 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp100 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp99 = einsum ( tmp22 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp98 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp20 , ( 1 , 3 ), ( 0 , 2 )) tmp97 = einsum ( tmp19 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp96 = einsum ( tmp18 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp95 = einsum ( tmp15 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp94 = einsum ( tmp13 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp89 = einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp86 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp82 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp80 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 3 , 1 )) tmp78 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp68 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp67 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 1 , 3 ), ( 0 , 2 )) tmp60 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp59 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp57 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp56 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp46 = einsum ( tmp45 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp33 = einsum ( tmp32 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp30 = einsum ( tmp29 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp9 = einsum ( tmp8 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) return { f \"tmp100\" : tmp100 , f \"tmp105\" : tmp105 , f \"tmp11\" : tmp11 , f \"tmp115\" : tmp115 , f \"tmp117\" : tmp117 , f \"tmp119\" : tmp119 , f \"tmp12\" : tmp12 , f \"tmp122\" : tmp122 , f \"tmp124\" : tmp124 , f \"tmp126\" : tmp126 , f \"tmp13\" : tmp13 , f \"tmp130\" : tmp130 , f \"tmp135\" : tmp135 , f \"tmp136\" : tmp136 , f \"tmp137\" : tmp137 , f \"tmp138\" : tmp138 , f \"tmp147\" : tmp147 , f \"tmp148\" : tmp148 , f \"tmp149\" : tmp149 , f \"tmp15\" : tmp15 , f \"tmp156\" : tmp156 , f \"tmp157\" : tmp157 , f \"tmp159\" : tmp159 , f \"tmp160\" : tmp160 , f \"tmp162\" : tmp162 , f \"tmp167\" : tmp167 , f \"tmp17\" : tmp17 , f \"tmp171\" : tmp171 , f \"tmp172\" : tmp172 , f \"tmp173\" : tmp173 , f \"tmp175\" : tmp175 , f \"tmp177\" : tmp177 , f \"tmp178\" : tmp178 , f \"tmp179\" : tmp179 , f \"tmp18\" : tmp18 , f \"tmp180\" : tmp180 , f \"tmp181\" : tmp181 , f \"tmp183\" : tmp183 , f \"tmp184\" : tmp184 , f \"tmp185\" : tmp185 , f \"tmp186\" : tmp186 , f \"tmp187\" : tmp187 , f \"tmp19\" : tmp19 , f \"tmp190\" : tmp190 , f \"tmp193\" : tmp193 , f \"tmp195\" : tmp195 , f \"tmp197\" : tmp197 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp205\" : tmp205 , f \"tmp206\" : tmp206 , f \"tmp207\" : tmp207 , f \"tmp218\" : tmp218 , f \"tmp22\" : tmp22 , f \"tmp221\" : tmp221 , f \"tmp227\" : tmp227 , f \"tmp23\" : tmp23 , f \"tmp237\" : tmp237 , f \"tmp239\" : tmp239 , f \"tmp243\" : tmp243 , f \"tmp245\" : tmp245 , f \"tmp250\" : tmp250 , f \"tmp256\" : tmp256 , f \"tmp26\" : tmp26 , f \"tmp265\" : tmp265 , f \"tmp266\" : tmp266 , f \"tmp267\" : tmp267 , f \"tmp276\" : tmp276 , f \"tmp279\" : tmp279 , f \"tmp29\" : tmp29 , f \"tmp290\" : tmp290 , f \"tmp293\" : tmp293 , f \"tmp298\" : tmp298 , f \"tmp299\" : tmp299 , f \"tmp30\" : tmp30 , f \"tmp300\" : tmp300 , f \"tmp301\" : tmp301 , f \"tmp302\" : tmp302 , f \"tmp303\" : tmp303 , f \"tmp305\" : tmp305 , f \"tmp315\" : tmp315 , f \"tmp316\" : tmp316 , f \"tmp318\" : tmp318 , f \"tmp319\" : tmp319 , f \"tmp32\" : tmp32 , f \"tmp321\" : tmp321 , f \"tmp322\" : tmp322 , f \"tmp323\" : tmp323 , f \"tmp325\" : tmp325 , f \"tmp327\" : tmp327 , f \"tmp328\" : tmp328 , f \"tmp33\" : tmp33 , f \"tmp330\" : tmp330 , f \"tmp331\" : tmp331 , f \"tmp332\" : tmp332 , f \"tmp333\" : tmp333 , f \"tmp335\" : tmp335 , f \"tmp336\" : tmp336 , f \"tmp337\" : tmp337 , f \"tmp341\" : tmp341 , f \"tmp342\" : tmp342 , f \"tmp343\" : tmp343 , f \"tmp344\" : tmp344 , f \"tmp345\" : tmp345 , f \"tmp346\" : tmp346 , f \"tmp347\" : tmp347 , f \"tmp353\" : tmp353 , f \"tmp354\" : tmp354 , f \"tmp355\" : tmp355 , f \"tmp356\" : tmp356 , f \"tmp357\" : tmp357 , f \"tmp360\" : tmp360 , f \"tmp364\" : tmp364 , f \"tmp365\" : tmp365 , f \"tmp366\" : tmp366 , f \"tmp367\" : tmp367 , f \"tmp368\" : tmp368 , f \"tmp370\" : tmp370 , f \"tmp371\" : tmp371 , f \"tmp374\" : tmp374 , f \"tmp375\" : tmp375 , f \"tmp376\" : tmp376 , f \"tmp380\" : tmp380 , f \"tmp383\" : tmp383 , f \"tmp387\" : tmp387 , f \"tmp388\" : tmp388 , f \"tmp389\" : tmp389 , f \"tmp390\" : tmp390 , f \"tmp391\" : tmp391 , f \"tmp392\" : tmp392 , f \"tmp393\" : tmp393 , f \"tmp396\" : tmp396 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp411\" : tmp411 , f \"tmp413\" : tmp413 , f \"tmp415\" : tmp415 , f \"tmp42\" : tmp42 , f \"tmp425\" : tmp425 , f \"tmp430\" : tmp430 , f \"tmp44\" : tmp44 , f \"tmp45\" : tmp45 , f \"tmp453\" : tmp453 , f \"tmp46\" : tmp46 , f \"tmp469\" : tmp469 , f \"tmp47\" : tmp47 , f \"tmp471\" : tmp471 , f \"tmp481\" : tmp481 , f \"tmp485\" : tmp485 , f \"tmp51\" : tmp51 , f \"tmp56\" : tmp56 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp60\" : tmp60 , f \"tmp67\" : tmp67 , f \"tmp68\" : tmp68 , f \"tmp7\" : tmp7 , f \"tmp78\" : tmp78 , f \"tmp8\" : tmp8 , f \"tmp80\" : tmp80 , f \"tmp82\" : tmp82 , f \"tmp86\" : tmp86 , f \"tmp89\" : tmp89 , f \"tmp9\" : tmp9 , f \"tmp94\" : tmp94 , f \"tmp95\" : tmp95 , f \"tmp96\" : tmp96 , f \"tmp97\" : tmp97 , f \"tmp98\" : tmp98 , f \"tmp99\" : tmp99 }","title":"Returns"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.hbar_matvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T20:47:58.590866.","title":"hbar_matvec_ea"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.hbar_matvec_ea--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.hbar_matvec_ea--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UDFCCSD.py 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 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-17T20:47:58.590866. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp63 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), r2 . bbb , ( 3 , 2 , 1 ), ( 0 , 3 )) tmp62 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), r2 . aba , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp18 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 2 , 1 ), ( 0 , 3 )) tmp19 = einsum ( r2 . bab , ( 0 , 1 , 2 ), v . bbb . xov , ( 3 , 2 , 0 ), ( 3 , 1 )) * - 1 tmp64 = np . copy ( tmp62 ) * - 1 tmp64 += tmp63 * 2 tmp82 = np . copy ( ints . tmp17 ) del ints . tmp17 tmp82 += v . bbb . xoo tmp120 = np . copy ( f . bb . ov ) tmp120 += ints . tmp19 tmp120 += ints . tmp22 tmp122 = np . copy ( ints . tmp298 ) tmp122 += ints . tmp319 tmp122 += ints . tmp383 * 2 tmp116 = einsum ( r1 . b , ( 0 ,), ints . tmp360 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) tmp103 = np . copy ( ints . tmp430 ) del ints . tmp430 tmp103 += np . transpose ( ints . tmp485 , ( 0 , 1 , 3 , 2 )) del ints . tmp485 tmp103 += ints . tmp51 tmp103 += ints . tmp425 * 2 del ints . tmp425 tmp99 = einsum ( r1 . b , ( 0 ,), ints . tmp343 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) tmp101 = np . copy ( ints . tmp343 ) tmp101 += np . transpose ( ints . tmp360 , ( 0 , 2 , 1 , 3 )) tmp23 = einsum ( r1 . a , ( 0 ,), ints . tmp177 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) tmp25 = np . copy ( ints . tmp130 ) tmp25 += np . transpose ( ints . tmp177 , ( 0 , 2 , 1 , 3 )) tmp27 = np . copy ( ints . tmp105 ) del ints . tmp105 tmp27 += np . transpose ( ints . tmp190 , ( 0 , 1 , 3 , 2 )) del ints . tmp190 tmp27 += ints . tmp23 tmp27 += ints . tmp100 * 2 del ints . tmp100 tmp39 = einsum ( ints . tmp130 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 3 ,), ( 0 , 1 , 2 )) tmp42 = np . copy ( ints . tmp12 ) del ints . tmp12 tmp42 += v . baa . xoo tmp34 = np . copy ( tmp18 ) tmp34 += tmp19 * 0.5 tmp46 = np . copy ( ints . tmp117 ) tmp46 += ints . tmp167 tmp46 += ints . tmp86 * 2 tmp44 = np . copy ( f . aa . ov ) tmp44 += ints . tmp15 tmp44 += ints . tmp20 tmp119 = einsum ( tmp64 , ( 0 , 1 ), tmp82 , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) tmp121 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp120 , ( 3 , 1 ), ( 3 , 2 , 0 )) * - 2 del tmp120 tmp123 = einsum ( tmp122 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 0 , 1 , 2 )) del tmp122 tmp118 = einsum ( ints . tmp40 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 4 ), ( 0 , 4 , 1 )) tmp117 = einsum ( t1 . bb , ( 0 , 1 ), tmp116 , ( 2 , 0 , 3 ), ( 2 , 3 , 1 )) del tmp116 tmp98 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp18 , ( 3 , 1 ), ( 3 , 2 , 0 )) tmp104 = einsum ( tmp103 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 0 , 1 , 2 )) del tmp103 tmp100 = einsum ( t1 . bb , ( 0 , 1 ), tmp99 , ( 2 , 0 , 3 ), ( 2 , 3 , 1 )) del tmp99 tmp102 = einsum ( tmp101 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 2 ), ( 0 , 1 , 4 )) * - 1 del tmp101 tmp22 = einsum ( ints . tmp13 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 0 , 3 , 2 )) tmp24 = einsum ( t1 . aa , ( 0 , 1 ), tmp23 , ( 2 , 0 , 3 ), ( 2 , 3 , 1 )) del tmp23 tmp26 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp25 , ( 3 , 2 , 4 , 1 ), ( 3 , 4 , 0 )) * - 1 del tmp25 tmp28 = einsum ( r1 . a , ( 0 ,), tmp27 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) del tmp27 tmp40 = einsum ( tmp39 , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 , 3 )) del tmp39 tmp43 = einsum ( tmp34 , ( 0 , 1 ), tmp42 , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) * 2 tmp47 = einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 3 ,), ( 0 , 1 , 2 )) del tmp46 tmp45 = einsum ( tmp44 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) * - 2 del tmp44 tmp41 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp2 , ( 3 , 4 , 0 , 1 ), ( 3 , 2 , 4 )) tmp126 = np . copy ( ints . tmp411 ) del ints . tmp411 tmp126 += ints . tmp415 * 0.5 del ints . tmp415 tmp124 = np . copy ( np . transpose ( tmp117 , ( 1 , 0 , 2 ))) del tmp117 tmp124 += tmp118 * 2 del tmp118 tmp124 += np . transpose ( tmp119 , ( 1 , 0 , 2 )) del tmp119 tmp124 += tmp121 * - 1 del tmp121 tmp124 += np . transpose ( tmp123 , ( 1 , 0 , 2 )) del tmp123 tmp112 = np . copy ( ints . tmp45 ) * 0.5 tmp112 += ints . tmp56 tmp112 += ints . tmp59 * 0.5 tmp114 = np . copy ( f . bb . vv ) * 0.5 tmp114 += np . transpose ( ints . tmp44 , ( 1 , 0 )) * 0.5 tmp114 += np . transpose ( ints . tmp47 , ( 1 , 0 )) * 0.5 tmp114 += np . transpose ( ints . tmp57 , ( 1 , 0 )) * - 1 tmp114 += np . transpose ( ints . tmp60 , ( 1 , 0 )) * - 0.5 tmp96 = np . copy ( ints . tmp45 ) tmp96 += ints . tmp59 tmp96 += ints . tmp56 * 2 tmp94 = np . copy ( ints . tmp298 ) tmp94 += ints . tmp319 tmp94 += ints . tmp383 * 2 tmp107 = np . copy ( ints . tmp40 ) tmp107 += np . transpose ( ints . tmp471 , ( 0 , 2 , 1 , 3 )) del ints . tmp471 tmp107 += ints . tmp413 * 2 del ints . tmp413 tmp105 = np . copy ( tmp98 ) * 2 del tmp98 tmp105 += np . transpose ( tmp100 , ( 1 , 0 , 2 )) del tmp100 tmp105 += np . transpose ( tmp102 , ( 1 , 0 , 2 )) * - 2 del tmp102 tmp105 += np . transpose ( tmp104 , ( 1 , 0 , 2 )) del tmp104 tmp0 = np . copy ( f . bb . ov ) tmp0 += ints . tmp19 tmp0 += ints . tmp22 tmp0 += ints . tmp18 * - 1 del ints . tmp18 tmp1 = np . copy ( f . aa . ov ) tmp1 += ints . tmp15 tmp1 += ints . tmp20 tmp1 += ints . tmp13 * - 1 del ints . tmp13 tmp56 = einsum ( ints . tmp26 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 3 , 4 ), ( 0 , 4 , 1 )) tmp73 = np . copy ( ints . tmp136 ) tmp73 += np . transpose ( ints . tmp179 , ( 1 , 0 , 2 , 3 )) tmp29 = np . copy ( np . transpose ( tmp22 , ( 1 , 0 , 2 ))) * 2 del tmp22 tmp29 += tmp24 del tmp24 tmp29 += tmp26 * - 2 del tmp26 tmp29 += tmp28 del tmp28 tmp20 = np . copy ( tmp18 ) * 2 del tmp18 tmp20 += tmp19 del tmp19 tmp31 = np . copy ( ints . tmp162 ) del ints . tmp162 tmp31 += np . transpose ( ints . tmp2 , ( 0 , 2 , 1 , 3 )) tmp31 += np . transpose ( ints . tmp80 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp80 tmp16 = np . copy ( ints . tmp117 ) tmp16 += ints . tmp167 tmp16 += ints . tmp86 * 2 tmp35 = np . copy ( ints . tmp29 ) * 2 tmp35 += ints . tmp32 tmp35 += ints . tmp8 tmp48 = np . copy ( np . transpose ( tmp40 , ( 1 , 0 , 2 ))) del tmp40 tmp48 += tmp41 * 2 del tmp41 tmp48 += np . transpose ( tmp43 , ( 1 , 0 , 2 )) del tmp43 tmp48 += np . transpose ( tmp45 , ( 1 , 0 , 2 )) * - 1 del tmp45 tmp48 += np . transpose ( tmp47 , ( 1 , 0 , 2 )) del tmp47 tmp37 = np . copy ( f . aa . vv ) * 0.5 tmp37 += np . transpose ( ints . tmp11 , ( 1 , 0 )) * 0.5 tmp37 += np . transpose ( ints . tmp7 , ( 1 , 0 )) * 0.5 tmp37 += np . transpose ( ints . tmp30 , ( 1 , 0 )) * - 1 tmp37 += np . transpose ( ints . tmp33 , ( 1 , 0 )) * - 0.5 tmp50 = np . copy ( ints . tmp78 ) del ints . tmp78 tmp50 += ints . tmp82 * 0.5 del ints . tmp82 tmp90 = einsum ( ints . tmp51 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) tmp127 = einsum ( r1 . b , ( 0 ,), tmp126 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) * 2 del tmp126 tmp125 = einsum ( tmp124 , ( 0 , 1 , 2 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 , 3 )) del tmp124 tmp110 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp380 , ( 2 , 3 , 0 , 4 ), ( 3 , 4 , 1 )) tmp111 = einsum ( tmp62 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) tmp113 = einsum ( tmp63 , ( 0 , 1 ), tmp112 , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) * 4 del tmp112 tmp115 = einsum ( tmp114 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 3 ), ( 3 , 1 , 2 )) * - 4 del tmp114 tmp93 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp63 , ( 0 , 3 ), ( 1 , 3 , 2 )) del tmp63 tmp97 = einsum ( tmp96 , ( 0 , 1 , 2 ), tmp62 , ( 0 , 3 ), ( 1 , 2 , 3 )) del tmp62 , tmp96 tmp92 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp46 , ( 1 , 3 ), ( 2 , 3 , 0 )) tmp95 = einsum ( tmp94 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 1 ), ( 0 , 2 , 4 )) * - 1 del tmp94 tmp108 = einsum ( tmp107 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 2 ,), ( 0 , 1 , 3 )) del tmp107 tmp106 = einsum ( tmp105 , ( 0 , 1 , 2 ), t1 . bb , ( 0 , 3 ), ( 1 , 2 , 3 )) del tmp105 tmp10 = einsum ( r1 . b , ( 0 ,), tmp0 , ( 1 , 0 ), ( 1 ,)) tmp9 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp51 , ( 2 , 3 , 1 , 0 ), ( 3 ,)) * - 1 del ints . tmp51 tmp8 = einsum ( ints . tmp26 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 3 , 0 ), ( 1 ,)) tmp68 = einsum ( tmp1 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 2 , 1 )) tmp66 = einsum ( tmp0 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) tmp76 = einsum ( ints . tmp26 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 2 , 4 ), ( 0 , 1 , 4 )) * - 1 tmp78 = np . copy ( np . transpose ( r2 . bab , ( 2 , 1 , 0 ))) * - 1 tmp78 += einsum ( t1 . bb , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) tmp85 = np . copy ( ints . tmp303 ) del ints . tmp303 tmp85 += ints . tmp327 del ints . tmp327 tmp86 = np . copy ( ints . tmp26 ) tmp86 += ints . tmp333 del ints . tmp333 tmp86 += ints . tmp393 del ints . tmp393 tmp86 += ints . tmp396 * 2 del ints . tmp396 tmp86 += ints . tmp380 * - 1 tmp80 = np . copy ( ints . tmp343 ) del ints . tmp343 tmp80 += np . transpose ( ints . tmp360 , ( 0 , 2 , 1 , 3 )) del ints . tmp360 tmp3 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp23 , ( 2 , 3 , 0 , 1 ), ( 3 ,)) tmp4 = einsum ( ints . tmp26 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 2 , 1 ), ( 0 ,)) * - 1 tmp5 = einsum ( r1 . a , ( 0 ,), tmp1 , ( 1 , 0 ), ( 1 ,)) tmp60 = np . copy ( ints . tmp130 ) del ints . tmp130 tmp60 += np . transpose ( ints . tmp177 , ( 0 , 2 , 1 , 3 )) del ints . tmp177 tmp72 = np . copy ( ints . tmp245 ) del ints . tmp245 tmp72 += ints . tmp26 del ints . tmp26 tmp72 += ints . tmp276 del ints . tmp276 tmp72 += ints . tmp279 * 2 del ints . tmp279 tmp72 += ints . tmp89 * - 1 tmp71 = np . copy ( ints . tmp136 ) del ints . tmp136 tmp71 += ints . tmp179 del ints . tmp179 tmp74 = np . copy ( tmp56 ) * - 1 tmp74 += einsum ( r1 . b , ( 0 ,), tmp73 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) del tmp73 tmp30 = einsum ( t1 . aa , ( 0 , 1 ), tmp29 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) del tmp29 tmp21 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp20 , ( 0 , 3 ), ( 1 , 2 , 3 )) del tmp20 tmp32 = einsum ( tmp31 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 0 , 2 , 3 )) del tmp31 tmp15 = einsum ( ints . tmp89 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 0 , 2 , 4 )) * - 1 tmp17 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp16 , ( 3 , 2 , 4 , 1 ), ( 3 , 0 , 4 )) * - 1 del tmp16 tmp14 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp9 , ( 1 , 3 ), ( 2 , 3 , 0 )) tmp12 = einsum ( ints . tmp23 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) del ints . tmp23 tmp36 = einsum ( tmp35 , ( 0 , 1 , 2 ), tmp34 , ( 0 , 3 ), ( 1 , 2 , 3 )) * 2 del tmp35 tmp49 = einsum ( tmp48 , ( 0 , 1 , 2 ), t1 . aa , ( 0 , 3 ), ( 1 , 3 , 2 )) del tmp48 tmp38 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp37 , ( 1 , 3 ), ( 2 , 0 , 3 )) * - 4 del tmp37 tmp51 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 0 , 1 , 3 )) * 2 del tmp50 tmp91 = einsum ( t1 . bb , ( 0 , 1 ), tmp90 , ( 2 , 0 , 3 ), ( 2 , 3 , 1 )) tmp128 = np . copy ( tmp110 ) del tmp110 tmp128 += tmp111 del tmp111 tmp128 += tmp113 del tmp113 tmp128 += tmp115 * - 1 del tmp115 tmp128 += tmp125 del tmp125 tmp128 += tmp127 del tmp127 tmp109 = np . copy ( tmp92 ) * 2 del tmp92 tmp109 += tmp93 * 2 del tmp93 tmp109 += tmp95 * - 2 del tmp95 tmp109 += tmp97 del tmp97 tmp109 += tmp106 del tmp106 tmp109 += tmp108 del tmp108 tmp129 = np . copy ( ints . tmp453 ) del ints . tmp453 tmp129 += ints . tmp481 * - 1 del ints . tmp481 tmp11 = np . copy ( tmp8 ) del tmp8 tmp11 += tmp9 * 2 del tmp9 tmp11 += tmp10 * - 1 del tmp10 tmp88 = np . copy ( f . bb . oo ) tmp88 += np . transpose ( ints . tmp301 , ( 1 , 0 )) del ints . tmp301 tmp88 += np . transpose ( ints . tmp302 , ( 1 , 0 )) del ints . tmp302 tmp88 += ints . tmp316 del ints . tmp316 tmp88 += np . transpose ( ints . tmp323 , ( 1 , 0 )) * 2 del ints . tmp323 tmp88 += np . transpose ( ints . tmp325 , ( 1 , 0 )) del ints . tmp325 tmp88 += np . transpose ( ints . tmp336 , ( 1 , 0 )) del ints . tmp336 tmp88 += np . transpose ( ints . tmp337 , ( 1 , 0 )) del ints . tmp337 tmp88 += np . transpose ( ints . tmp300 , ( 1 , 0 )) * - 1 del ints . tmp300 tmp88 += np . transpose ( ints . tmp335 , ( 1 , 0 )) * - 1 del ints . tmp335 tmp89 = np . copy ( ints . tmp299 ) del ints . tmp299 tmp89 += ints . tmp321 * 2 del ints . tmp321 tmp89 += ints . tmp331 del ints . tmp331 tmp89 += ints . tmp341 del ints . tmp341 tmp89 += ints . tmp344 * 2 del ints . tmp344 tmp89 += ints . tmp345 del ints . tmp345 tmp89 += ints . tmp346 * 2 del ints . tmp346 tmp89 += ints . tmp347 del ints . tmp347 tmp89 += ints . tmp354 del ints . tmp354 tmp89 += ints . tmp355 del ints . tmp355 tmp89 += ints . tmp356 del ints . tmp356 tmp89 += ints . tmp364 * 2 del ints . tmp364 tmp89 += ints . tmp365 del ints . tmp365 tmp89 += ints . tmp367 del ints . tmp367 tmp89 += ints . tmp368 del ints . tmp368 tmp89 += ints . tmp387 del ints . tmp387 tmp89 += ints . tmp389 * 2 del ints . tmp389 tmp89 += f . bb . ov * - 1 tmp89 += ints . tmp19 * - 1 del ints . tmp19 tmp89 += ints . tmp22 * - 1 del ints . tmp22 tmp89 += ints . tmp315 * - 1 del ints . tmp315 tmp89 += ints . tmp322 * - 1 del ints . tmp322 tmp89 += ints . tmp330 * - 1 del ints . tmp330 tmp89 += ints . tmp332 * - 1 del ints . tmp332 tmp89 += ints . tmp353 * - 1 del ints . tmp353 tmp89 += ints . tmp366 * - 1 del ints . tmp366 tmp89 += ints . tmp370 * - 1 del ints . tmp370 tmp89 += ints . tmp371 * - 2 del ints . tmp371 tmp89 += ints . tmp388 * - 1 del ints . tmp388 tmp89 += ints . tmp390 * - 2 del ints . tmp390 tmp89 += ints . tmp391 * - 1 del ints . tmp391 tmp89 += ints . tmp392 * - 2 del ints . tmp392 tmp69 = np . copy ( np . transpose ( ints . tmp30 , ( 1 , 0 ))) * 2 tmp69 += np . transpose ( ints . tmp33 , ( 1 , 0 )) tmp69 += ints . tmp9 tmp69 += f . aa . vv * - 1 tmp69 += np . transpose ( ints . tmp11 , ( 1 , 0 )) * - 1 tmp69 += np . transpose ( ints . tmp7 , ( 1 , 0 )) * - 1 tmp69 += np . transpose ( tmp68 , ( 1 , 0 )) del tmp68 tmp84 = np . copy ( ints . tmp305 ) del ints . tmp305 tmp84 += np . transpose ( ints . tmp318 , ( 0 , 2 , 1 , 3 )) del ints . tmp318 tmp84 += ints . tmp328 del ints . tmp328 tmp84 += np . transpose ( ints . tmp374 , ( 0 , 2 , 1 , 3 )) del ints . tmp374 tmp84 += np . transpose ( ints . tmp376 , ( 0 , 2 , 1 , 3 )) * 2 del ints . tmp376 tmp84 += ints . tmp4 tmp84 += ints . tmp290 * - 1 del ints . tmp290 tmp84 += np . transpose ( ints . tmp375 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp375 tmp67 = np . copy ( ints . tmp46 ) tmp67 += np . transpose ( ints . tmp57 , ( 1 , 0 )) * 2 tmp67 += np . transpose ( ints . tmp60 , ( 1 , 0 )) tmp67 += f . bb . vv * - 1 tmp67 += np . transpose ( ints . tmp44 , ( 1 , 0 )) * - 1 tmp67 += np . transpose ( ints . tmp47 , ( 1 , 0 )) * - 1 tmp67 += tmp66 del tmp66 tmp87 = einsum ( ints . tmp42 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 0 , 4 , 2 )) tmp87 += einsum ( t1 . bb , ( 0 , 1 ), tmp76 , ( 2 , 0 , 3 ), ( 2 , 3 , 1 )) tmp87 += einsum ( tmp85 , ( 0 , 1 , 2 , 3 ), tmp78 , ( 2 , 3 , 4 ), ( 0 , 1 , 4 )) del tmp85 tmp87 += einsum ( tmp86 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 0 , 1 , 3 )) * - 1 del tmp86 tmp81 = np . copy ( ints . tmp298 ) del ints . tmp298 tmp81 += ints . tmp319 del ints . tmp319 tmp81 += ints . tmp383 * 2 del ints . tmp383 tmp81 += einsum ( t1 . bb , ( 0 , 1 ), tmp80 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp80 tmp83 = np . copy ( ints . tmp45 ) del ints . tmp45 tmp83 += ints . tmp56 * 2 del ints . tmp56 tmp83 += ints . tmp59 del ints . tmp59 tmp83 += v . bbb . xov tmp83 += einsum ( t1 . bb , ( 0 , 1 ), tmp82 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp82 tmp77 = einsum ( r2 . bab , ( 0 , 1 , 2 ), ints . tmp4 , ( 3 , 4 , 1 , 0 ), ( 3 , 2 , 4 )) * - 1 tmp79 = np . copy ( ints . tmp342 ) del ints . tmp342 tmp79 += ints . tmp357 del ints . tmp357 tmp79 += ints . tmp293 * - 1 del ints . tmp293 tmp6 = np . copy ( tmp3 ) * - 2 del tmp3 tmp6 += tmp4 del tmp4 tmp6 += tmp5 del tmp5 tmp58 = np . copy ( np . transpose ( r2 . aba , ( 2 , 0 , 1 ))) tmp58 += einsum ( r1 . b , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 1 , 2 , 0 )) * - 1 tmp53 = np . copy ( f . aa . oo ) tmp53 += np . transpose ( ints . tmp124 , ( 1 , 0 )) del ints . tmp124 tmp53 += np . transpose ( ints . tmp126 , ( 1 , 0 )) del ints . tmp126 tmp53 += ints . tmp157 del ints . tmp157 tmp53 += np . transpose ( ints . tmp173 , ( 1 , 0 )) * 2 del ints . tmp173 tmp53 += np . transpose ( ints . tmp175 , ( 1 , 0 )) del ints . tmp175 tmp53 += np . transpose ( ints . tmp195 , ( 1 , 0 )) del ints . tmp195 tmp53 += np . transpose ( ints . tmp197 , ( 1 , 0 )) del ints . tmp197 tmp53 += np . transpose ( ints . tmp122 , ( 1 , 0 )) * - 1 del ints . tmp122 tmp53 += np . transpose ( ints . tmp193 , ( 1 , 0 )) * - 1 del ints . tmp193 tmp57 = einsum ( ints . tmp42 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 1 , 3 , 4 ), ( 0 , 4 , 2 )) tmp65 = np . copy ( ints . tmp29 ) * 2 del ints . tmp29 tmp65 += ints . tmp32 del ints . tmp32 tmp65 += ints . tmp8 del ints . tmp8 tmp65 += v . baa . xov tmp65 += einsum ( t1 . aa , ( 0 , 1 ), tmp42 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp42 tmp70 = np . copy ( ints . tmp227 ) del ints . tmp227 tmp70 += np . transpose ( ints . tmp239 , ( 0 , 1 , 3 , 2 )) del ints . tmp239 tmp70 += ints . tmp243 del ints . tmp243 tmp70 += np . transpose ( ints . tmp265 , ( 0 , 1 , 3 , 2 )) del ints . tmp265 tmp70 += np . transpose ( ints . tmp267 , ( 0 , 1 , 3 , 2 )) * 2 del ints . tmp267 tmp70 += ints . tmp42 tmp70 += ints . tmp218 * - 1 del ints . tmp218 tmp70 += np . transpose ( ints . tmp266 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp266 tmp61 = np . copy ( ints . tmp117 ) del ints . tmp117 tmp61 += ints . tmp167 del ints . tmp167 tmp61 += ints . tmp86 * 2 del ints . tmp86 tmp61 += einsum ( tmp60 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) * - 1 del tmp60 tmp55 = np . copy ( ints . tmp115 ) del ints . tmp115 tmp55 += ints . tmp119 del ints . tmp119 tmp55 += ints . tmp135 * 2 del ints . tmp135 tmp55 += ints . tmp137 del ints . tmp137 tmp55 += ints . tmp148 del ints . tmp148 tmp55 += ints . tmp149 del ints . tmp149 tmp55 += ints . tmp159 del ints . tmp159 tmp55 += ints . tmp171 * 2 del ints . tmp171 tmp55 += ints . tmp178 * 2 del ints . tmp178 tmp55 += ints . tmp180 del ints . tmp180 tmp55 += ints . tmp183 * 2 del ints . tmp183 tmp55 += ints . tmp184 del ints . tmp184 tmp55 += ints . tmp186 del ints . tmp186 tmp55 += ints . tmp206 del ints . tmp206 tmp55 += ints . tmp207 del ints . tmp207 tmp55 += ints . tmp94 * 2 del ints . tmp94 tmp55 += ints . tmp96 del ints . tmp96 tmp55 += f . aa . ov * - 1 tmp55 += ints . tmp147 * - 1 del ints . tmp147 tmp55 += ints . tmp156 * - 1 del ints . tmp156 tmp55 += ints . tmp15 * - 1 del ints . tmp15 tmp55 += ints . tmp172 * - 1 del ints . tmp172 tmp55 += ints . tmp185 * - 1 del ints . tmp185 tmp55 += ints . tmp187 * - 1 del ints . tmp187 tmp55 += ints . tmp205 * - 1 del ints . tmp205 tmp55 += ints . tmp20 * - 1 del ints . tmp20 tmp55 += ints . tmp67 * - 2 del ints . tmp67 tmp55 += ints . tmp68 * - 1 del ints . tmp68 tmp55 += ints . tmp95 * - 2 del ints . tmp95 tmp55 += ints . tmp97 * - 1 del ints . tmp97 tmp55 += ints . tmp98 * - 2 del ints . tmp98 tmp55 += ints . tmp99 * - 1 del ints . tmp99 tmp59 = np . copy ( ints . tmp250 ) del ints . tmp250 tmp59 += ints . tmp256 del ints . tmp256 tmp59 += ints . tmp221 * - 1 del ints . tmp221 tmp75 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp4 , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) * - 1 tmp75 += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp71 , ( 3 , 2 , 4 , 1 ), ( 3 , 4 , 0 )) del tmp71 tmp75 += einsum ( r1 . b , ( 0 ,), tmp72 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) del tmp72 tmp75 += einsum ( t1 . aa , ( 0 , 1 ), tmp74 , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) * - 1 del tmp74 tmp54 = np . copy ( ints . tmp138 ) del ints . tmp138 tmp54 += ints . tmp181 * - 1 del ints . tmp181 tmp33 = np . copy ( tmp14 ) * 2 del tmp14 tmp33 += tmp15 del tmp15 tmp33 += np . transpose ( tmp17 , ( 0 , 2 , 1 )) * - 2 del tmp17 tmp33 += np . transpose ( tmp21 , ( 0 , 2 , 1 )) del tmp21 tmp33 += np . transpose ( tmp30 , ( 0 , 2 , 1 )) del tmp30 tmp33 += tmp32 del tmp32 tmp13 = einsum ( tmp12 , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 , 3 )) tmp52 = np . copy ( tmp36 ) del tmp36 tmp52 += np . transpose ( tmp38 , ( 0 , 2 , 1 )) * - 1 del tmp38 tmp52 += np . transpose ( tmp49 , ( 0 , 2 , 1 )) del tmp49 tmp52 += tmp51 del tmp51 tmp7 = np . copy ( ints . tmp46 ) del ints . tmp46 tmp7 += np . transpose ( ints . tmp57 , ( 1 , 0 )) * 2 del ints . tmp57 tmp7 += np . transpose ( ints . tmp60 , ( 1 , 0 )) del ints . tmp60 tmp7 += f . bb . vv * - 1 tmp7 += np . transpose ( ints . tmp44 , ( 1 , 0 )) * - 1 del ints . tmp44 tmp7 += np . transpose ( ints . tmp47 , ( 1 , 0 )) * - 1 del ints . tmp47 tmp2 = np . copy ( np . transpose ( ints . tmp30 , ( 1 , 0 ))) * 2 del ints . tmp30 tmp2 += np . transpose ( ints . tmp33 , ( 1 , 0 )) del ints . tmp33 tmp2 += ints . tmp9 del ints . tmp9 tmp2 += f . aa . vv * - 1 tmp2 += np . transpose ( ints . tmp11 , ( 1 , 0 )) * - 1 del ints . tmp11 tmp2 += np . transpose ( ints . tmp7 , ( 1 , 0 )) * - 1 del ints . tmp7 r2new . bbb = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp469 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) * - 2 del ints . tmp469 r2new . bbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp90 , ( 1 , 0 , 4 ), ( 2 , 3 , 4 )) * - 2 del tmp90 r2new . bbb += einsum ( t1 . bb , ( 0 , 1 ), tmp91 , ( 0 , 2 , 3 ), ( 3 , 1 , 2 )) * - 2 del tmp91 r2new . bbb += np . transpose ( tmp109 , ( 1 , 2 , 0 )) r2new . bbb += np . transpose ( tmp109 , ( 2 , 1 , 0 )) * - 1 del tmp109 r2new . bbb += np . transpose ( tmp128 , ( 1 , 2 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp128 , ( 2 , 1 , 0 )) del tmp128 r2new . bbb += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp88 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 r2new . bbb += einsum ( tmp11 , ( 0 ,), t2 . bbbb , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) * - 2 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp129 , ( 1 , 2 , 3 , 0 ), ( 3 , 2 , 1 )) * 2 del tmp129 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp89 , ( 1 , 2 ), ( 0 , 2 , 1 )) * - 1 r2new . bbb += einsum ( tmp89 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 1 , 2 , 0 )) r2new . bab = einsum ( ints . tmp237 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 4 ), ( 2 , 0 , 4 )) r2new . bab += einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp380 , ( 2 , 3 , 1 , 4 ), ( 4 , 0 , 3 )) * 2 del ints . tmp380 r2new . bab += einsum ( tmp76 , ( 0 , 1 , 2 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 4 , 3 , 2 )) * - 1 del tmp76 r2new . bab += einsum ( t1 . bb , ( 0 , 1 ), tmp77 , ( 0 , 2 , 3 ), ( 1 , 3 , 2 )) del tmp77 r2new . bab += einsum ( tmp79 , ( 0 , 1 , 2 , 3 ), tmp78 , ( 1 , 3 , 4 ), ( 4 , 2 , 0 )) del tmp78 , tmp79 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp81 , ( 3 , 2 , 4 , 0 ), ( 4 , 1 , 3 )) * - 1 del tmp81 r2new . bab += einsum ( tmp34 , ( 0 , 1 ), tmp83 , ( 0 , 2 , 3 ), ( 3 , 1 , 2 )) * - 2 del tmp34 , tmp83 r2new . bab += einsum ( tmp69 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp67 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 r2new . bab += einsum ( tmp84 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 3 , 1 , 0 )) * - 1 del tmp84 r2new . bab += einsum ( t1 . aa , ( 0 , 1 ), tmp87 , ( 0 , 2 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp87 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp88 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp88 r2new . bab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp6 , ( 0 ,), ( 3 , 2 , 1 )) r2new . bab += einsum ( tmp89 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 1 , 2 , 0 )) del tmp89 r2new . aba = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp237 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) del ints . tmp237 r2new . aba += einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp89 , ( 3 , 2 , 4 , 1 ), ( 4 , 0 , 3 )) * 2 del ints . tmp89 r2new . aba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp56 , ( 0 , 4 , 1 ), ( 2 , 3 , 4 )) del tmp56 r2new . aba += einsum ( t1 . aa , ( 0 , 1 ), tmp57 , ( 0 , 2 , 3 ), ( 1 , 3 , 2 )) * - 1 del tmp57 r2new . aba += einsum ( tmp59 , ( 0 , 1 , 2 , 3 ), tmp58 , ( 1 , 4 , 3 ), ( 4 , 2 , 0 )) * - 1 del tmp59 , tmp58 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp61 , ( 3 , 2 , 4 , 0 ), ( 4 , 1 , 3 )) * - 1 del tmp61 r2new . aba += einsum ( tmp64 , ( 0 , 1 ), tmp65 , ( 0 , 2 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp64 , tmp65 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp67 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp67 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp69 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp69 r2new . aba += einsum ( tmp70 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 1 , 2 , 0 )) * - 1 del tmp70 r2new . aba += einsum ( t1 . bb , ( 0 , 1 ), tmp75 , ( 2 , 0 , 3 ), ( 3 , 1 , 2 )) del tmp75 r2new . aba += einsum ( tmp53 , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aba += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp11 , ( 1 ,), ( 2 , 3 , 0 )) * - 1 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp55 , ( 1 , 2 ), ( 2 , 0 , 1 )) r2new . aaa = einsum ( tmp12 , ( 0 , 1 , 2 ), t2 . aaaa , ( 1 , 0 , 3 , 4 ), ( 3 , 4 , 2 )) * - 2 del tmp12 r2new . aaa += einsum ( tmp13 , ( 0 , 1 , 2 ), t1 . aa , ( 0 , 3 ), ( 2 , 3 , 1 )) * - 2 del tmp13 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp160 , ( 3 , 0 , 4 , 1 ), ( 3 , 4 , 2 )) * - 2 del ints . tmp160 r2new . aaa += np . transpose ( tmp33 , ( 1 , 2 , 0 )) r2new . aaa += np . transpose ( tmp33 , ( 2 , 1 , 0 )) * - 1 del tmp33 r2new . aaa += np . transpose ( tmp52 , ( 1 , 2 , 0 )) * - 1 r2new . aaa += np . transpose ( tmp52 , ( 2 , 1 , 0 )) del tmp52 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp53 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp53 r2new . aaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp6 , ( 1 ,), ( 2 , 3 , 0 )) * 2 r2new . aaa += einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 3 ,), ( 2 , 1 , 0 )) * 2 del tmp54 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp55 , ( 1 , 2 ), ( 0 , 2 , 1 )) * - 1 r2new . aaa += einsum ( tmp55 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 1 , 2 , 0 )) del tmp55 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp42 , ( 2 , 0 , 3 , 1 ), ( 3 ,)) * - 1 del ints . tmp42 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp40 , ( 2 , 3 , 1 , 0 ), ( 3 ,)) * - 2 del ints . tmp40 r1new . b += einsum ( tmp0 , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 0 ), ( 2 ,)) * 2 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp1 , ( 2 , 0 ), ( 1 ,)) * - 1 r1new . b += einsum ( tmp7 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp7 r1new . b += einsum ( t1 . bb , ( 0 , 1 ), tmp11 , ( 0 ,), ( 1 ,)) del tmp11 r1new . a = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp2 , ( 2 , 3 , 0 , 1 ), ( 3 ,)) * 2 del ints . tmp2 r1new . a += einsum ( ints . tmp4 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 2 , 0 ), ( 1 ,)) * - 1 del ints . tmp4 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp0 , ( 2 , 0 ), ( 1 ,)) * - 1 del tmp0 r1new . a += einsum ( tmp1 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 0 ), ( 2 ,)) * 2 del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp2 r1new . a += einsum ( t1 . aa , ( 0 , 1 ), tmp6 , ( 0 ,), ( 1 ,)) * - 1 del tmp6 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.hbar_lmatvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T20:50:45.616699.","title":"hbar_lmatvec_ip_intermediates"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.hbar_lmatvec_ip_intermediates--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.hbar_lmatvec_ip_intermediates--returns","text":"tmp1 : array tmp10 : array tmp100 : array tmp102 : array tmp103 : array tmp105 : array tmp106 : array tmp107 : array tmp108 : array tmp11 : array tmp110 : array tmp112 : array tmp114 : array tmp116 : array tmp118 : array tmp119 : array tmp121 : array tmp123 : array tmp125 : array tmp127 : array tmp129 : array tmp13 : array tmp131 : array tmp133 : array tmp135 : array tmp137 : array tmp138 : array tmp140 : array tmp142 : array tmp143 : array tmp145 : array tmp147 : array tmp148 : array tmp15 : array tmp150 : array tmp151 : array tmp153 : array tmp155 : array tmp156 : array tmp158 : array tmp159 : array tmp161 : array tmp162 : array tmp164 : array tmp166 : array tmp167 : array tmp168 : array tmp17 : array tmp170 : array tmp171 : array tmp172 : array tmp174 : array tmp175 : array tmp176 : array tmp177 : array tmp179 : array tmp181 : array tmp182 : array tmp183 : array tmp184 : array tmp185 : array tmp187 : array tmp188 : array tmp189 : array tmp19 : array tmp190 : array tmp192 : array tmp194 : array tmp195 : array tmp196 : array tmp197 : array tmp198 : array tmp199 : array tmp2 : array tmp201 : array tmp203 : array tmp204 : array tmp205 : array tmp206 : array tmp207 : array tmp208 : array tmp209 : array tmp21 : array tmp211 : array tmp213 : array tmp215 : array tmp217 : array tmp219 : array tmp22 : array tmp220 : array tmp221 : array tmp222 : array tmp223 : array tmp225 : array tmp226 : array tmp227 : array tmp228 : array tmp23 : array tmp230 : array tmp231 : array tmp239 : array tmp241 : array tmp246 : array tmp247 : array tmp249 : array tmp25 : array tmp255 : array tmp257 : array tmp264 : array tmp265 : array tmp267 : array tmp268 : array tmp27 : array tmp270 : array tmp271 : array tmp273 : array tmp28 : array tmp280 : array tmp283 : array tmp294 : array tmp296 : array tmp298 : array tmp30 : array tmp300 : array tmp302 : array tmp304 : array tmp310 : array tmp311 : array tmp313 : array tmp314 : array tmp316 : array tmp318 : array tmp32 : array tmp320 : array tmp325 : array tmp326 : array tmp327 : array tmp329 : array tmp33 : array tmp334 : array tmp335 : array tmp337 : array tmp339 : array tmp34 : array tmp340 : array tmp344 : array tmp346 : array tmp351 : array tmp352 : array tmp354 : array tmp358 : array tmp36 : array tmp369 : array tmp37 : array tmp375 : array tmp377 : array tmp39 : array tmp4 : array tmp41 : array tmp415 : array tmp418 : array tmp42 : array tmp420 : array tmp44 : array tmp45 : array tmp46 : array tmp461 : array tmp462 : array tmp463 : array tmp464 : array tmp467 : array tmp469 : array tmp47 : array tmp471 : array tmp48 : array tmp486 : array tmp487 : array tmp489 : array tmp491 : array tmp492 : array tmp493 : array tmp5 : array tmp50 : array tmp52 : array tmp54 : array tmp55 : array tmp56 : array tmp57 : array tmp59 : array tmp60 : array tmp62 : array tmp64 : array tmp65 : array tmp67 : array tmp68 : array tmp7 : array tmp70 : array tmp72 : array tmp74 : array tmp75 : array tmp77 : array tmp78 : array tmp79 : array tmp8 : array tmp80 : array tmp82 : array tmp83 : array tmp85 : array tmp87 : array tmp89 : array tmp91 : array tmp94 : array tmp97 : array tmp99 : array Source code in ebcc/codegen/UDFCCSD.py 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 def hbar_lmatvec_ip_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:50:45.616699. 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 ------- tmp1 : array tmp10 : array tmp100 : array tmp102 : array tmp103 : array tmp105 : array tmp106 : array tmp107 : array tmp108 : array tmp11 : array tmp110 : array tmp112 : array tmp114 : array tmp116 : array tmp118 : array tmp119 : array tmp121 : array tmp123 : array tmp125 : array tmp127 : array tmp129 : array tmp13 : array tmp131 : array tmp133 : array tmp135 : array tmp137 : array tmp138 : array tmp140 : array tmp142 : array tmp143 : array tmp145 : array tmp147 : array tmp148 : array tmp15 : array tmp150 : array tmp151 : array tmp153 : array tmp155 : array tmp156 : array tmp158 : array tmp159 : array tmp161 : array tmp162 : array tmp164 : array tmp166 : array tmp167 : array tmp168 : array tmp17 : array tmp170 : array tmp171 : array tmp172 : array tmp174 : array tmp175 : array tmp176 : array tmp177 : array tmp179 : array tmp181 : array tmp182 : array tmp183 : array tmp184 : array tmp185 : array tmp187 : array tmp188 : array tmp189 : array tmp19 : array tmp190 : array tmp192 : array tmp194 : array tmp195 : array tmp196 : array tmp197 : array tmp198 : array tmp199 : array tmp2 : array tmp201 : array tmp203 : array tmp204 : array tmp205 : array tmp206 : array tmp207 : array tmp208 : array tmp209 : array tmp21 : array tmp211 : array tmp213 : array tmp215 : array tmp217 : array tmp219 : array tmp22 : array tmp220 : array tmp221 : array tmp222 : array tmp223 : array tmp225 : array tmp226 : array tmp227 : array tmp228 : array tmp23 : array tmp230 : array tmp231 : array tmp239 : array tmp241 : array tmp246 : array tmp247 : array tmp249 : array tmp25 : array tmp255 : array tmp257 : array tmp264 : array tmp265 : array tmp267 : array tmp268 : array tmp27 : array tmp270 : array tmp271 : array tmp273 : array tmp28 : array tmp280 : array tmp283 : array tmp294 : array tmp296 : array tmp298 : array tmp30 : array tmp300 : array tmp302 : array tmp304 : array tmp310 : array tmp311 : array tmp313 : array tmp314 : array tmp316 : array tmp318 : array tmp32 : array tmp320 : array tmp325 : array tmp326 : array tmp327 : array tmp329 : array tmp33 : array tmp334 : array tmp335 : array tmp337 : array tmp339 : array tmp34 : array tmp340 : array tmp344 : array tmp346 : array tmp351 : array tmp352 : array tmp354 : array tmp358 : array tmp36 : array tmp369 : array tmp37 : array tmp375 : array tmp377 : array tmp39 : array tmp4 : array tmp41 : array tmp415 : array tmp418 : array tmp42 : array tmp420 : array tmp44 : array tmp45 : array tmp46 : array tmp461 : array tmp462 : array tmp463 : array tmp464 : array tmp467 : array tmp469 : array tmp47 : array tmp471 : array tmp48 : array tmp486 : array tmp487 : array tmp489 : array tmp491 : array tmp492 : array tmp493 : array tmp5 : array tmp50 : array tmp52 : array tmp54 : array tmp55 : array tmp56 : array tmp57 : array tmp59 : array tmp60 : array tmp62 : array tmp64 : array tmp65 : array tmp67 : array tmp68 : array tmp7 : array tmp70 : array tmp72 : array tmp74 : array tmp75 : array tmp77 : array tmp78 : array tmp79 : array tmp8 : array tmp80 : array tmp82 : array tmp83 : array tmp85 : array tmp87 : array tmp89 : array tmp91 : array tmp94 : array tmp97 : array tmp99 : array \"\"\" tmp29 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp31 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp106 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp27 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp170 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp325 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp47 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp29 , ( 0 ,), ( 1 , 2 )) tmp48 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp31 , ( 0 ,), ( 1 , 2 )) tmp44 = einsum ( tmp31 , ( 0 ,), v . bbb . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp107 = einsum ( tmp106 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp39 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp29 , ( 0 ,), ( 1 , 2 )) tmp99 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp27 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp166 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp59 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp77 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp82 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp56 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp45 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp41 = einsum ( t1 . aa , ( 0 , 1 ), v . baa . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp230 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp106 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp351 = einsum ( tmp106 , ( 0 , 1 , 2 ), tmp106 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp194 = einsum ( tmp27 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp196 = einsum ( tmp106 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp334 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp106 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp171 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp170 , ( 4 , 5 , 2 , 3 ), ( 0 , 4 , 1 , 5 )) tmp326 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp325 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 5 , 4 )) * - 1 tmp54 = einsum ( tmp27 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp137 = einsum ( tmp106 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp282 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp279 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp25 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp64 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp36 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp246 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp227 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp225 = einsum ( t1 . bb , ( 0 , 1 ), tmp47 , ( 2 , 1 ), ( 0 , 2 )) tmp176 = einsum ( tmp48 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp221 = einsum ( t1 . bb , ( 0 , 1 ), tmp44 , ( 2 , 1 ), ( 0 , 2 )) tmp219 = einsum ( t1 . bb , ( 0 , 1 ), tmp107 , ( 2 , 1 ), ( 0 , 2 )) tmp175 = einsum ( tmp39 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp174 = einsum ( t1 . aa , ( 0 , 1 ), tmp99 , ( 2 , 1 ), ( 0 , 2 )) tmp208 = einsum ( tmp31 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp206 = einsum ( tmp29 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp203 = einsum ( tmp31 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp198 = einsum ( tmp29 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp189 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp187 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp29 , ( 0 ,), ( 1 , 2 )) tmp32 = einsum ( tmp31 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp183 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp31 , ( 0 ,), ( 1 , 2 )) del tmp31 tmp181 = einsum ( tmp106 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp30 = einsum ( tmp29 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp29 tmp28 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp27 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp167 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp166 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 5 , 4 )) * - 1 tmp60 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp161 = einsum ( tmp77 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp158 = einsum ( tmp82 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp57 = einsum ( tmp56 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp142 = einsum ( tmp106 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp50 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp96 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp93 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp67 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp23 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp33 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp21 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 2 , 1 ), ( 2 , 0 )) tmp1 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp493 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp170 , ( 4 , 1 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) tmp492 = einsum ( tmp27 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp491 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp489 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp77 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp487 = einsum ( tmp82 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp486 = einsum ( tmp45 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp471 = einsum ( tmp325 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp469 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp325 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp467 = einsum ( tmp106 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp464 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp463 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp170 , ( 0 , 4 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) tmp462 = einsum ( tmp106 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp461 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp420 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp418 = einsum ( tmp56 , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp415 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp41 , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp377 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp166 , ( 0 , 4 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) tmp375 = einsum ( tmp166 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp369 = einsum ( tmp27 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp358 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp354 = einsum ( tmp230 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp352 = einsum ( tmp351 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp346 = einsum ( tmp106 , ( 0 , 1 , 2 ), tmp41 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp344 = einsum ( tmp106 , ( 0 , 1 , 2 ), tmp45 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp340 = einsum ( tmp194 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp339 = einsum ( tmp196 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 3 , 4 )) tmp337 = einsum ( t1 . bb , ( 0 , 1 ), tmp334 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp335 = einsum ( t1 . bb , ( 0 , 1 ), tmp334 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp329 = einsum ( tmp171 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp327 = einsum ( tmp326 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 1 tmp320 = einsum ( tmp54 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp318 = einsum ( tmp77 , ( 0 , 1 , 2 ), tmp106 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp316 = einsum ( tmp106 , ( 0 , 1 , 2 ), tmp56 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp314 = einsum ( tmp137 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) tmp313 = einsum ( tmp137 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 1 , 5 )) tmp311 = einsum ( tmp106 , ( 0 , 1 , 2 ), tmp82 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp310 = einsum ( tmp106 , ( 0 , 1 , 2 ), tmp59 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp304 = einsum ( tmp47 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp302 = einsum ( tmp47 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp300 = einsum ( tmp44 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp298 = einsum ( tmp44 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp296 = einsum ( tmp107 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp294 = einsum ( tmp107 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp283 = einsum ( tmp282 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) del tmp282 tmp280 = einsum ( tmp279 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) * - 1 del tmp279 tmp273 = einsum ( tmp77 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp271 = einsum ( tmp56 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp270 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp25 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) tmp268 = einsum ( tmp82 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp267 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp265 = einsum ( tmp64 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) tmp264 = einsum ( tmp64 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) tmp257 = einsum ( tmp41 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp255 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp45 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp249 = einsum ( tmp36 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp247 = einsum ( tmp246 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 3 , 0 , 2 , 4 )) tmp241 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp239 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) tmp231 = einsum ( t1 . bb , ( 0 , 1 ), tmp230 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp228 = einsum ( t1 . aa , ( 0 , 1 ), tmp227 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp226 = einsum ( t1 . bb , ( 0 , 1 ), tmp225 , ( 2 , 0 ), ( 2 , 1 )) tmp223 = einsum ( t1 . aa , ( 0 , 1 ), tmp176 , ( 2 , 0 ), ( 2 , 1 )) tmp222 = einsum ( t1 . bb , ( 0 , 1 ), tmp221 , ( 2 , 0 ), ( 2 , 1 )) tmp220 = einsum ( t1 . bb , ( 0 , 1 ), tmp219 , ( 2 , 0 ), ( 2 , 1 )) tmp217 = einsum ( t1 . aa , ( 0 , 1 ), tmp175 , ( 2 , 0 ), ( 2 , 1 )) tmp215 = einsum ( t1 . aa , ( 0 , 1 ), tmp174 , ( 2 , 0 ), ( 2 , 1 )) tmp213 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp45 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp211 = einsum ( tmp41 , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp209 = einsum ( t1 . aa , ( 0 , 1 ), tmp208 , ( 2 , 1 ), ( 0 , 2 )) tmp207 = einsum ( t1 . bb , ( 0 , 1 ), tmp206 , ( 2 , 1 ), ( 0 , 2 )) tmp205 = einsum ( tmp106 , ( 0 , 1 , 2 ), tmp45 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp204 = einsum ( tmp203 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp201 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp41 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp199 = einsum ( t1 . aa , ( 0 , 1 ), tmp198 , ( 2 , 1 ), ( 0 , 2 )) tmp197 = einsum ( t1 . bb , ( 0 , 1 ), tmp196 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp195 = einsum ( t1 . bb , ( 0 , 1 ), tmp194 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp192 = einsum ( t1 . aa , ( 0 , 1 ), tmp189 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp190 = einsum ( t1 . aa , ( 0 , 1 ), tmp189 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) tmp188 = einsum ( t1 . bb , ( 0 , 1 ), tmp187 , ( 2 , 0 ), ( 2 , 1 )) tmp185 = einsum ( tmp32 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp184 = einsum ( t1 . bb , ( 0 , 1 ), tmp183 , ( 2 , 0 ), ( 2 , 1 )) tmp182 = einsum ( t1 . bb , ( 0 , 1 ), tmp181 , ( 2 , 0 ), ( 2 , 1 )) tmp179 = einsum ( tmp30 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp177 = einsum ( t1 . aa , ( 0 , 1 ), tmp28 , ( 2 , 0 ), ( 2 , 1 )) tmp172 = einsum ( t1 . bb , ( 0 , 1 ), tmp171 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp168 = einsum ( t1 . aa , ( 0 , 1 ), tmp167 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 tmp164 = einsum ( tmp60 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp162 = einsum ( t1 . bb , ( 0 , 1 ), tmp161 , ( 2 , 0 ), ( 2 , 1 )) tmp159 = einsum ( t1 . bb , ( 0 , 1 ), tmp158 , ( 2 , 0 ), ( 2 , 1 )) tmp156 = einsum ( tmp57 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp155 = einsum ( tmp142 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 3 , 5 ), ( 4 , 0 , 1 , 5 )) tmp153 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp82 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp151 = einsum ( tmp59 , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp150 = einsum ( tmp50 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) tmp148 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp50 , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) tmp147 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp77 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp145 = einsum ( tmp56 , ( 0 , 1 , 2 ), tmp27 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp143 = einsum ( tmp142 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) tmp140 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp54 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp138 = einsum ( tmp137 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) tmp135 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp50 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp133 = einsum ( tmp48 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp131 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp48 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp129 = einsum ( tmp39 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 0 , 3 , 4 )) tmp127 = einsum ( tmp39 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp125 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp99 , ( 4 , 2 ), ( 0 , 4 , 1 , 3 )) tmp123 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp99 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp121 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp47 , ( 1 , 3 ), ( 0 , 2 )) tmp119 = einsum ( tmp47 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp118 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp48 , ( 0 , 2 ), ( 1 , 3 )) tmp116 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp48 , ( 1 , 3 ), ( 0 , 2 )) tmp114 = einsum ( tmp44 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp112 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp44 , ( 1 , 3 ), ( 0 , 2 )) tmp110 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp107 , ( 1 , 3 ), ( 0 , 2 )) tmp108 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp107 , ( 1 , 3 ), ( 0 , 2 )) tmp105 = einsum ( tmp39 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp103 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp39 , ( 1 , 3 ), ( 0 , 2 )) tmp102 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp99 , ( 0 , 2 ), ( 1 , 3 )) tmp100 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp99 , ( 1 , 3 ), ( 0 , 2 )) tmp97 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp96 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) del tmp96 tmp94 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp93 , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) * - 1 del tmp93 tmp91 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp59 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp89 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp77 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp87 = einsum ( tmp82 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * - 1 tmp85 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp56 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp83 = einsum ( tmp82 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp80 = einsum ( tmp59 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp79 = einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) tmp78 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp77 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp75 = einsum ( tmp56 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp74 = einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 2 , 4 , 5 )) tmp72 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp23 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) tmp70 = einsum ( tmp25 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) tmp68 = einsum ( tmp67 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) tmp65 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp64 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp62 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp23 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp55 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp45 , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp52 = einsum ( tmp41 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp46 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp45 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp42 = einsum ( tmp41 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp37 = einsum ( t1 . bb , ( 0 , 1 ), tmp36 , ( 2 , 3 , 4 , 0 ), ( 3 , 2 , 4 , 1 )) tmp34 = einsum ( t1 . aa , ( 0 , 1 ), tmp33 , ( 2 , 0 , 3 , 4 ), ( 4 , 2 , 3 , 1 )) tmp22 = einsum ( t1 . bb , ( 0 , 1 ), tmp21 , ( 0 , 2 ), ( 2 , 1 )) tmp19 = einsum ( tmp1 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp17 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 1 , 4 ), ( 0 , 2 , 3 , 4 )) tmp15 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) tmp13 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp11 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp10 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp8 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 1 , 3 ), ( 0 , 2 )) tmp7 = einsum ( f . bb . vv , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp5 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . vv , ( 2 , 1 ), ( 0 , 2 )) tmp4 = einsum ( f . bb . oo , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp2 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . oo , ( 2 , 0 ), ( 2 , 1 )) return { f \"tmp1\" : tmp1 , f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp102\" : tmp102 , f \"tmp103\" : tmp103 , f \"tmp105\" : tmp105 , f \"tmp106\" : tmp106 , f \"tmp107\" : tmp107 , f \"tmp108\" : tmp108 , f \"tmp11\" : tmp11 , f \"tmp110\" : tmp110 , f \"tmp112\" : tmp112 , f \"tmp114\" : tmp114 , f \"tmp116\" : tmp116 , f \"tmp118\" : tmp118 , f \"tmp119\" : tmp119 , f \"tmp121\" : tmp121 , f \"tmp123\" : tmp123 , f \"tmp125\" : tmp125 , f \"tmp127\" : tmp127 , f \"tmp129\" : tmp129 , f \"tmp13\" : tmp13 , f \"tmp131\" : tmp131 , f \"tmp133\" : tmp133 , f \"tmp135\" : tmp135 , f \"tmp137\" : tmp137 , f \"tmp138\" : tmp138 , f \"tmp140\" : tmp140 , f \"tmp142\" : tmp142 , f \"tmp143\" : tmp143 , f \"tmp145\" : tmp145 , f \"tmp147\" : tmp147 , f \"tmp148\" : tmp148 , f \"tmp15\" : tmp15 , f \"tmp150\" : tmp150 , f \"tmp151\" : tmp151 , f \"tmp153\" : tmp153 , f \"tmp155\" : tmp155 , f \"tmp156\" : tmp156 , f \"tmp158\" : tmp158 , f \"tmp159\" : tmp159 , f \"tmp161\" : tmp161 , f \"tmp162\" : tmp162 , f \"tmp164\" : tmp164 , f \"tmp166\" : tmp166 , f \"tmp167\" : tmp167 , f \"tmp168\" : tmp168 , f \"tmp17\" : tmp17 , f \"tmp170\" : tmp170 , f \"tmp171\" : tmp171 , f \"tmp172\" : tmp172 , f \"tmp174\" : tmp174 , f \"tmp175\" : tmp175 , f \"tmp176\" : tmp176 , f \"tmp177\" : tmp177 , f \"tmp179\" : tmp179 , f \"tmp181\" : tmp181 , f \"tmp182\" : tmp182 , f \"tmp183\" : tmp183 , f \"tmp184\" : tmp184 , f \"tmp185\" : tmp185 , f \"tmp187\" : tmp187 , f \"tmp188\" : tmp188 , f \"tmp189\" : tmp189 , f \"tmp19\" : tmp19 , f \"tmp190\" : tmp190 , f \"tmp192\" : tmp192 , f \"tmp194\" : tmp194 , f \"tmp195\" : tmp195 , f \"tmp196\" : tmp196 , f \"tmp197\" : tmp197 , f \"tmp198\" : tmp198 , f \"tmp199\" : tmp199 , f \"tmp2\" : tmp2 , f \"tmp201\" : tmp201 , f \"tmp203\" : tmp203 , f \"tmp204\" : tmp204 , f \"tmp205\" : tmp205 , f \"tmp206\" : tmp206 , f \"tmp207\" : tmp207 , f \"tmp208\" : tmp208 , f \"tmp209\" : tmp209 , f \"tmp21\" : tmp21 , f \"tmp211\" : tmp211 , f \"tmp213\" : tmp213 , f \"tmp215\" : tmp215 , f \"tmp217\" : tmp217 , f \"tmp219\" : tmp219 , f \"tmp22\" : tmp22 , f \"tmp220\" : tmp220 , f \"tmp221\" : tmp221 , f \"tmp222\" : tmp222 , f \"tmp223\" : tmp223 , f \"tmp225\" : tmp225 , f \"tmp226\" : tmp226 , f \"tmp227\" : tmp227 , f \"tmp228\" : tmp228 , f \"tmp23\" : tmp23 , f \"tmp230\" : tmp230 , f \"tmp231\" : tmp231 , f \"tmp239\" : tmp239 , f \"tmp241\" : tmp241 , f \"tmp246\" : tmp246 , f \"tmp247\" : tmp247 , f \"tmp249\" : tmp249 , f \"tmp25\" : tmp25 , f \"tmp255\" : tmp255 , f \"tmp257\" : tmp257 , f \"tmp264\" : tmp264 , f \"tmp265\" : tmp265 , f \"tmp267\" : tmp267 , f \"tmp268\" : tmp268 , f \"tmp27\" : tmp27 , f \"tmp270\" : tmp270 , f \"tmp271\" : tmp271 , f \"tmp273\" : tmp273 , f \"tmp28\" : tmp28 , f \"tmp280\" : tmp280 , f \"tmp283\" : tmp283 , f \"tmp294\" : tmp294 , f \"tmp296\" : tmp296 , f \"tmp298\" : tmp298 , f \"tmp30\" : tmp30 , f \"tmp300\" : tmp300 , f \"tmp302\" : tmp302 , f \"tmp304\" : tmp304 , f \"tmp310\" : tmp310 , f \"tmp311\" : tmp311 , f \"tmp313\" : tmp313 , f \"tmp314\" : tmp314 , f \"tmp316\" : tmp316 , f \"tmp318\" : tmp318 , f \"tmp32\" : tmp32 , f \"tmp320\" : tmp320 , f \"tmp325\" : tmp325 , f \"tmp326\" : tmp326 , f \"tmp327\" : tmp327 , f \"tmp329\" : tmp329 , f \"tmp33\" : tmp33 , f \"tmp334\" : tmp334 , f \"tmp335\" : tmp335 , f \"tmp337\" : tmp337 , f \"tmp339\" : tmp339 , f \"tmp34\" : tmp34 , f \"tmp340\" : tmp340 , f \"tmp344\" : tmp344 , f \"tmp346\" : tmp346 , f \"tmp351\" : tmp351 , f \"tmp352\" : tmp352 , f \"tmp354\" : tmp354 , f \"tmp358\" : tmp358 , f \"tmp36\" : tmp36 , f \"tmp369\" : tmp369 , f \"tmp37\" : tmp37 , f \"tmp375\" : tmp375 , f \"tmp377\" : tmp377 , f \"tmp39\" : tmp39 , f \"tmp4\" : tmp4 , f \"tmp41\" : tmp41 , f \"tmp415\" : tmp415 , f \"tmp418\" : tmp418 , f \"tmp42\" : tmp42 , f \"tmp420\" : tmp420 , f \"tmp44\" : tmp44 , f \"tmp45\" : tmp45 , f \"tmp46\" : tmp46 , f \"tmp461\" : tmp461 , f \"tmp462\" : tmp462 , f \"tmp463\" : tmp463 , f \"tmp464\" : tmp464 , f \"tmp467\" : tmp467 , f \"tmp469\" : tmp469 , f \"tmp47\" : tmp47 , f \"tmp471\" : tmp471 , f \"tmp48\" : tmp48 , f \"tmp486\" : tmp486 , f \"tmp487\" : tmp487 , f \"tmp489\" : tmp489 , f \"tmp491\" : tmp491 , f \"tmp492\" : tmp492 , f \"tmp493\" : tmp493 , f \"tmp5\" : tmp5 , f \"tmp50\" : tmp50 , f \"tmp52\" : tmp52 , f \"tmp54\" : tmp54 , f \"tmp55\" : tmp55 , f \"tmp56\" : tmp56 , f \"tmp57\" : tmp57 , f \"tmp59\" : tmp59 , f \"tmp60\" : tmp60 , f \"tmp62\" : tmp62 , f \"tmp64\" : tmp64 , f \"tmp65\" : tmp65 , f \"tmp67\" : tmp67 , f \"tmp68\" : tmp68 , f \"tmp7\" : tmp7 , f \"tmp70\" : tmp70 , f \"tmp72\" : tmp72 , f \"tmp74\" : tmp74 , f \"tmp75\" : tmp75 , f \"tmp77\" : tmp77 , f \"tmp78\" : tmp78 , f \"tmp79\" : tmp79 , f \"tmp8\" : tmp8 , f \"tmp80\" : tmp80 , f \"tmp82\" : tmp82 , f \"tmp83\" : tmp83 , f \"tmp85\" : tmp85 , f \"tmp87\" : tmp87 , f \"tmp89\" : tmp89 , f \"tmp91\" : tmp91 , f \"tmp94\" : tmp94 , f \"tmp97\" : tmp97 , f \"tmp99\" : tmp99 }","title":"Returns"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.hbar_lmatvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T20:50:45.734705.","title":"hbar_lmatvec_ip"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.hbar_lmatvec_ip--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.hbar_lmatvec_ip--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UDFCCSD.py 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 def hbar_lmatvec_ip ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:50:45.734705. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp52 = einsum ( t1 . bb , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) tmp33 = np . copy ( ints . tmp106 ) del ints . tmp106 tmp33 += v . bbb . xoo tmp50 = np . copy ( ints . tmp41 ) tmp50 += ints . tmp56 * 2 tmp50 += ints . tmp59 tmp50 += v . baa . xov tmp30 = np . copy ( ints . tmp27 ) del ints . tmp27 tmp30 += v . baa . xoo tmp47 = einsum ( t1 . aa , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp32 = einsum ( t1 . bb , ( 0 , 1 ), r2 . bab , ( 2 , 3 , 1 ), ( 3 , 2 , 0 )) * - 1 tmp27 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 1 , 3 )) tmp16 = np . copy ( ints . tmp45 ) tmp16 += ints . tmp77 tmp16 += v . bbb . xov tmp16 += ints . tmp82 * 2 tmp14 = np . copy ( ints . tmp41 ) del ints . tmp41 tmp14 += ints . tmp59 del ints . tmp59 tmp14 += v . baa . xov tmp14 += ints . tmp56 * 2 del ints . tmp56 tmp56 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), t2 . bbbb , ( 0 , 1 , 3 , 2 ), ( 3 ,)) tmp55 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 1 , 2 ), ( 3 ,)) tmp76 = einsum ( tmp52 , ( 0 , 1 , 2 ), tmp33 , ( 3 , 0 , 2 ), ( 3 , 1 )) tmp74 = einsum ( tmp50 , ( 0 , 1 , 2 ), r2 . aba , ( 1 , 3 , 2 ), ( 0 , 3 )) * 0.5 tmp75 = einsum ( tmp47 , ( 0 , 1 , 2 ), tmp30 , ( 3 , 0 , 1 ), ( 3 , 2 )) * 0.5 tmp34 = einsum ( tmp33 , ( 0 , 1 , 2 ), tmp32 , ( 3 , 1 , 2 ), ( 0 , 3 )) * 0.5 tmp31 = einsum ( tmp27 , ( 0 , 1 , 2 ), tmp30 , ( 3 , 0 , 2 ), ( 3 , 1 )) tmp17 = einsum ( tmp16 , ( 0 , 1 , 2 ), r2 . bab , ( 1 , 3 , 2 ), ( 0 , 3 )) * - 1 tmp15 = einsum ( tmp14 , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 1 , 2 ), ( 0 , 3 )) * - 1 del tmp14 tmp80 = np . copy ( ints . tmp158 ) * 2 tmp80 += ints . tmp161 tmp80 += ints . tmp181 * - 1 tmp80 += ints . tmp219 * - 1 tmp57 = np . copy ( tmp55 ) * - 0.5 del tmp55 tmp57 += tmp56 del tmp56 tmp62 = np . copy ( ints . tmp137 ) tmp62 += np . transpose ( ints . tmp64 , ( 0 , 2 , 1 , 3 )) tmp77 = np . copy ( tmp74 ) del tmp74 tmp77 += tmp75 * - 1 del tmp75 tmp77 += tmp76 * - 1 del tmp76 tmp64 = np . copy ( f . bb . ov ) tmp64 += ints . tmp44 tmp64 += ints . tmp47 tmp64 += ints . tmp107 * - 1 del ints . tmp107 tmp58 = np . copy ( ints . tmp464 ) del ints . tmp464 tmp58 += ints . tmp467 del ints . tmp467 tmp58 += ints . tmp471 * 2 del ints . tmp471 tmp85 = einsum ( tmp16 , ( 0 , 1 , 2 ), r2 . bbb , ( 3 , 1 , 2 ), ( 0 , 3 )) * - 1 del tmp16 tmp87 = np . copy ( f . bb . oo ) tmp87 += ints . tmp183 tmp87 += ints . tmp187 tmp87 += np . transpose ( ints . tmp21 , ( 1 , 0 )) tmp87 += ints . tmp221 tmp87 += ints . tmp225 tmp41 = np . copy ( f . aa . ov ) tmp41 += ints . tmp39 tmp41 += ints . tmp48 tmp41 += ints . tmp99 * - 1 del ints . tmp99 tmp37 = np . copy ( ints . tmp57 ) * 2 tmp37 += ints . tmp60 tmp37 += ints . tmp174 * - 1 tmp37 += ints . tmp28 * - 1 tmp35 = np . copy ( tmp31 ) * - 1 tmp35 += tmp34 tmp25 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 0 , 1 , 3 ), ( 2 ,)) tmp28 = np . copy ( ints . tmp23 ) tmp28 += np . transpose ( ints . tmp50 , ( 0 , 2 , 1 , 3 )) tmp20 = np . copy ( f . aa . oo ) tmp20 += ints . tmp175 tmp20 += ints . tmp176 tmp20 += np . transpose ( ints . tmp1 , ( 1 , 0 )) tmp20 += ints . tmp30 tmp20 += ints . tmp32 tmp12 = np . copy ( ints . tmp358 ) tmp12 += ints . tmp369 tmp12 += ints . tmp375 * 2 tmp10 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 1 , 0 , 3 ), ( 2 ,)) * - 1 tmp18 = np . copy ( tmp15 ) * - 2 del tmp15 tmp18 += tmp17 del tmp17 tmp81 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp80 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 2 del tmp80 tmp79 = einsum ( tmp57 , ( 0 ,), ints . tmp325 , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) * 2 del ints . tmp325 tmp73 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), tmp52 , ( 0 , 4 , 1 ), ( 4 , 2 , 3 )) * 2 tmp72 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp334 , ( 0 , 1 , 3 , 4 ), ( 3 , 4 , 2 )) del ints . tmp334 tmp71 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp469 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) tmp70 = einsum ( ints . tmp64 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 1 ,), ( 0 , 2 , 3 )) tmp78 = einsum ( tmp77 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) * 2 del tmp77 tmp65 = einsum ( t1 . bb , ( 0 , 1 ), tmp64 , ( 0 , 2 ), ( 1 , 2 )) tmp83 = einsum ( r1 . b , ( 0 ,), ints . tmp137 , ( 0 , 1 , 2 , 3 ), ( 1 , 2 , 3 )) tmp84 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp58 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * - 1 tmp86 = einsum ( tmp85 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp85 tmp88 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp87 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 del tmp87 tmp51 = np . copy ( ints . tmp45 ) del ints . tmp45 tmp51 += ints . tmp77 del ints . tmp77 tmp51 += ints . tmp82 * 2 del ints . tmp82 tmp51 += v . bbb . xov tmp42 = einsum ( tmp41 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 2 , 1 )) tmp38 = einsum ( tmp37 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 2 del tmp37 tmp36 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp35 , ( 0 , 3 ), ( 1 , 3 , 2 )) * 2 del tmp35 tmp23 = einsum ( r1 . a , ( 0 ,), ints . tmp23 , ( 1 , 0 , 2 , 3 ), ( 1 , 2 , 3 )) tmp24 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp189 , ( 0 , 1 , 3 , 4 ), ( 3 , 4 , 2 )) del ints . tmp189 tmp26 = einsum ( ints . tmp166 , ( 0 , 1 , 2 , 3 ), tmp25 , ( 3 ,), ( 0 , 1 , 2 )) tmp29 = einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), tmp27 , ( 0 , 4 , 2 ), ( 4 , 1 , 3 )) * 2 del tmp27 , tmp28 tmp21 = einsum ( tmp20 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp20 tmp8 = einsum ( r1 . a , ( 0 ,), ints . tmp50 , ( 0 , 1 , 2 , 3 ), ( 1 , 2 , 3 )) tmp13 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp12 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) * - 1 del tmp12 tmp11 = einsum ( ints . tmp166 , ( 0 , 1 , 2 , 3 ), tmp10 , ( 3 ,), ( 0 , 1 , 2 )) del ints . tmp166 tmp19 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp18 , ( 0 , 3 ), ( 1 , 3 , 2 )) del tmp18 tmp9 = einsum ( ints . tmp377 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 1 , 4 , 3 ), ( 0 , 4 , 2 )) * - 1 tmp82 = np . copy ( tmp70 ) del tmp70 tmp82 += tmp71 del tmp71 tmp82 += tmp72 * 2 del tmp72 tmp82 += np . transpose ( tmp73 , ( 1 , 0 , 2 )) * - 1 del tmp73 tmp82 += np . transpose ( tmp78 , ( 1 , 0 , 2 )) del tmp78 tmp82 += tmp79 * - 1 del tmp79 tmp82 += np . transpose ( tmp81 , ( 1 , 0 , 2 )) del tmp81 tmp90 = np . copy ( np . transpose ( ints . tmp326 , ( 2 , 3 , 0 , 1 ))) del ints . tmp326 tmp90 += np . transpose ( ints . tmp351 , ( 2 , 3 , 0 , 1 )) del ints . tmp351 tmp90 += ints . tmp246 * - 1 del ints . tmp246 tmp66 = np . copy ( np . transpose ( ints . tmp486 , ( 1 , 0 ))) del ints . tmp486 tmp66 += ints . tmp487 * 2 del ints . tmp487 tmp66 += ints . tmp489 del ints . tmp489 tmp66 += f . bb . vv * - 1 tmp66 += ints . tmp203 * - 1 del ints . tmp203 tmp66 += ints . tmp206 * - 1 del ints . tmp206 tmp66 += tmp65 del tmp65 tmp89 = np . copy ( tmp83 ) del tmp83 tmp89 += np . transpose ( tmp84 , ( 1 , 0 , 2 )) * - 2 del tmp84 tmp89 += np . transpose ( tmp86 , ( 1 , 0 , 2 )) * 2 del tmp86 tmp89 += np . transpose ( tmp88 , ( 1 , 0 , 2 )) * - 2 del tmp88 tmp69 = np . copy ( ints . tmp25 ) tmp69 += np . transpose ( ints . tmp54 , ( 1 , 0 , 2 , 3 )) tmp67 = np . copy ( f . bb . oo ) tmp67 += ints . tmp158 * 2 tmp67 += ints . tmp161 tmp67 += ints . tmp183 tmp67 += ints . tmp187 tmp67 += np . transpose ( ints . tmp21 , ( 1 , 0 )) tmp67 += ints . tmp221 tmp67 += ints . tmp225 tmp67 += ints . tmp181 * - 1 tmp67 += ints . tmp219 * - 1 tmp60 = np . copy ( ints . tmp171 ) tmp60 += ints . tmp194 tmp60 += np . transpose ( ints . tmp196 , ( 1 , 0 , 2 , 3 )) tmp60 += ints . tmp230 tmp60 += np . transpose ( ints . tmp36 , ( 1 , 0 , 2 , 3 )) tmp63 = einsum ( tmp50 , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 1 , 2 ), ( 0 , 3 )) tmp63 += einsum ( tmp51 , ( 0 , 1 , 2 ), r2 . bab , ( 1 , 3 , 2 ), ( 0 , 3 )) * - 0.5 tmp63 += tmp31 del tmp31 tmp63 += tmp34 * - 1 del tmp34 tmp68 = np . copy ( tmp25 ) * 2 del tmp25 tmp68 += tmp10 del tmp10 tmp61 = np . copy ( ints . tmp25 ) tmp61 += np . transpose ( ints . tmp54 , ( 1 , 0 , 2 , 3 )) tmp4 = np . copy ( f . aa . oo ) tmp4 += ints . tmp175 tmp4 += ints . tmp176 tmp4 += np . transpose ( ints . tmp1 , ( 1 , 0 )) tmp4 += np . transpose ( ints . tmp30 , ( 1 , 0 )) tmp4 += np . transpose ( ints . tmp32 , ( 1 , 0 )) tmp4 += ints . tmp57 * 2 tmp4 += ints . tmp60 tmp4 += ints . tmp174 * - 1 tmp4 += ints . tmp28 * - 1 tmp59 = np . copy ( ints . tmp491 ) del ints . tmp491 tmp59 += np . transpose ( ints . tmp492 , ( 1 , 0 , 2 , 3 )) del ints . tmp492 tmp59 += np . transpose ( ints . tmp493 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp493 tmp49 = np . copy ( ints . tmp23 ) tmp49 += np . transpose ( ints . tmp50 , ( 0 , 2 , 1 , 3 )) tmp44 = np . copy ( ints . tmp461 ) del ints . tmp461 tmp44 += np . transpose ( ints . tmp462 , ( 1 , 0 , 2 , 3 )) del ints . tmp462 tmp44 += np . transpose ( ints . tmp463 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp463 tmp7 = np . copy ( f . bb . oo ) tmp7 += ints . tmp158 * 2 del ints . tmp158 tmp7 += ints . tmp161 del ints . tmp161 tmp7 += np . transpose ( ints . tmp183 , ( 1 , 0 )) del ints . tmp183 tmp7 += np . transpose ( ints . tmp187 , ( 1 , 0 )) del ints . tmp187 tmp7 += np . transpose ( ints . tmp21 , ( 1 , 0 )) del ints . tmp21 tmp7 += ints . tmp221 del ints . tmp221 tmp7 += ints . tmp225 del ints . tmp225 tmp7 += ints . tmp181 * - 1 del ints . tmp181 tmp7 += ints . tmp219 * - 1 del ints . tmp219 tmp43 = np . copy ( np . transpose ( ints . tmp415 , ( 1 , 0 ))) del ints . tmp415 tmp43 += ints . tmp418 * 2 del ints . tmp418 tmp43 += ints . tmp420 del ints . tmp420 tmp43 += f . aa . vv * - 1 tmp43 += ints . tmp198 * - 1 del ints . tmp198 tmp43 += ints . tmp208 * - 1 del ints . tmp208 tmp43 += tmp42 del tmp42 tmp48 = np . copy ( ints . tmp142 ) tmp48 += np . transpose ( ints . tmp67 , ( 0 , 2 , 1 , 3 )) tmp46 = np . copy ( ints . tmp171 ) del ints . tmp171 tmp46 += np . transpose ( ints . tmp194 , ( 0 , 1 , 3 , 2 )) del ints . tmp194 tmp46 += np . transpose ( ints . tmp196 , ( 1 , 0 , 2 , 3 )) del ints . tmp196 tmp46 += ints . tmp230 del ints . tmp230 tmp46 += np . transpose ( ints . tmp36 , ( 0 , 1 , 3 , 2 )) del ints . tmp36 tmp53 = einsum ( tmp50 , ( 0 , 1 , 2 ), r2 . aba , ( 1 , 3 , 2 ), ( 0 , 3 )) * - 1 del tmp50 tmp53 += einsum ( tmp51 , ( 0 , 1 , 2 ), r2 . bbb , ( 3 , 1 , 2 ), ( 0 , 3 )) * 2 del tmp51 tmp53 += einsum ( tmp47 , ( 0 , 1 , 2 ), tmp30 , ( 3 , 0 , 1 ), ( 3 , 2 )) del tmp30 tmp53 += einsum ( tmp52 , ( 0 , 1 , 2 ), tmp33 , ( 3 , 0 , 2 ), ( 3 , 1 )) * 2 del tmp52 , tmp33 tmp45 = np . copy ( ints . tmp358 ) del ints . tmp358 tmp45 += ints . tmp369 del ints . tmp369 tmp45 += ints . tmp375 * 2 del ints . tmp375 tmp54 = np . copy ( f . aa . oo ) tmp54 += ints . tmp175 del ints . tmp175 tmp54 += ints . tmp176 del ints . tmp176 tmp54 += np . transpose ( ints . tmp1 , ( 1 , 0 )) del ints . tmp1 tmp54 += ints . tmp30 del ints . tmp30 tmp54 += ints . tmp32 del ints . tmp32 tmp54 += ints . tmp57 * 2 del ints . tmp57 tmp54 += ints . tmp60 del ints . tmp60 tmp54 += ints . tmp174 * - 1 del ints . tmp174 tmp54 += ints . tmp28 * - 1 del ints . tmp28 tmp40 = np . copy ( ints . tmp167 ) del ints . tmp167 tmp40 += ints . tmp227 del ints . tmp227 tmp40 += np . transpose ( ints . tmp33 , ( 2 , 3 , 0 , 1 )) * - 1 del ints . tmp33 tmp39 = np . copy ( tmp23 ) del tmp23 tmp39 += tmp24 * 2 del tmp24 tmp39 += tmp26 * - 2 del tmp26 tmp39 += np . transpose ( tmp29 , ( 1 , 0 , 2 )) * - 1 del tmp29 tmp39 += np . transpose ( tmp36 , ( 1 , 0 , 2 )) del tmp36 tmp39 += np . transpose ( tmp38 , ( 1 , 0 , 2 )) del tmp38 tmp22 = np . copy ( tmp8 ) del tmp8 tmp22 += tmp9 del tmp9 tmp22 += tmp11 del tmp11 tmp22 += np . transpose ( tmp13 , ( 1 , 0 , 2 )) * - 2 del tmp13 tmp22 += np . transpose ( tmp19 , ( 1 , 0 , 2 )) del tmp19 tmp22 += np . transpose ( tmp21 , ( 1 , 0 , 2 )) * - 2 del tmp21 tmp5 = np . copy ( ints . tmp142 ) del ints . tmp142 tmp5 += np . transpose ( ints . tmp239 , ( 0 , 2 , 1 , 3 )) del ints . tmp239 tmp5 += np . transpose ( ints . tmp257 , ( 0 , 2 , 1 , 3 )) del ints . tmp257 tmp5 += ints . tmp267 del ints . tmp267 tmp5 += ints . tmp271 * 2 del ints . tmp271 tmp5 += ints . tmp283 del ints . tmp283 tmp5 += ints . tmp298 del ints . tmp298 tmp5 += ints . tmp302 del ints . tmp302 tmp5 += ints . tmp310 del ints . tmp310 tmp5 += ints . tmp316 * 2 del ints . tmp316 tmp5 += ints . tmp346 del ints . tmp346 tmp5 += np . transpose ( ints . tmp67 , ( 0 , 2 , 1 , 3 )) del ints . tmp67 tmp5 += np . transpose ( ints . tmp249 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp249 tmp5 += ints . tmp264 * - 1 del ints . tmp264 tmp5 += ints . tmp270 * - 1 del ints . tmp270 tmp5 += ints . tmp294 * - 1 del ints . tmp294 tmp5 += ints . tmp313 * - 1 del ints . tmp313 tmp5 += ints . tmp320 * - 1 del ints . tmp320 tmp5 += ints . tmp329 * - 1 del ints . tmp329 tmp5 += ints . tmp339 * - 1 del ints . tmp339 tmp5 += np . transpose ( ints . tmp340 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp340 tmp5 += ints . tmp354 * - 1 del ints . tmp354 tmp3 = np . copy ( ints . tmp100 ) del ints . tmp100 tmp3 += ints . tmp108 * 0.5 del ints . tmp108 tmp3 += ints . tmp135 del ints . tmp135 tmp3 += ints . tmp140 * 0.5 del ints . tmp140 tmp3 += ints . tmp156 del ints . tmp156 tmp3 += ints . tmp164 * 0.5 del ints . tmp164 tmp3 += ints . tmp179 * 0.5 del ints . tmp179 tmp3 += ints . tmp185 * 0.5 del ints . tmp185 tmp3 += ints . tmp19 * 0.5 del ints . tmp19 tmp3 += ints . tmp201 * 0.5 del ints . tmp201 tmp3 += ints . tmp217 * 0.5 del ints . tmp217 tmp3 += ints . tmp223 * 0.5 del ints . tmp223 tmp3 += ints . tmp2 * 0.5 del ints . tmp2 tmp3 += ints . tmp42 * 0.5 del ints . tmp42 tmp3 += ints . tmp62 del ints . tmp62 tmp3 += ints . tmp70 * 0.5 del ints . tmp70 tmp3 += ints . tmp85 del ints . tmp85 tmp3 += f . aa . ov * - 0.5 tmp3 += ints . tmp103 * - 1 del ints . tmp103 tmp3 += ints . tmp112 * - 0.5 del ints . tmp112 tmp3 += ints . tmp116 * - 1 del ints . tmp116 tmp3 += ints . tmp119 * - 0.5 del ints . tmp119 tmp3 += ints . tmp11 * - 0.5 del ints . tmp11 tmp3 += ints . tmp177 * - 0.5 del ints . tmp177 tmp3 += ints . tmp199 * - 0.5 del ints . tmp199 tmp3 += ints . tmp209 * - 0.5 del ints . tmp209 tmp3 += ints . tmp215 * - 0.5 del ints . tmp215 tmp3 += ints . tmp39 * - 0.5 del ints . tmp39 tmp3 += ints . tmp48 * - 0.5 del ints . tmp48 tmp3 += ints . tmp5 * - 0.5 del ints . tmp5 tmp3 += ints . tmp8 * - 1 del ints . tmp8 tmp3 += ints . tmp91 * - 0.5 del ints . tmp91 tmp6 = np . copy ( np . transpose ( ints . tmp241 , ( 1 , 2 , 0 , 3 ))) del ints . tmp241 tmp6 += np . transpose ( ints . tmp247 , ( 0 , 2 , 1 , 3 )) del ints . tmp247 tmp6 += np . transpose ( ints . tmp255 , ( 0 , 2 , 1 , 3 )) del ints . tmp255 tmp6 += ints . tmp268 * 2 del ints . tmp268 tmp6 += ints . tmp273 del ints . tmp273 tmp6 += ints . tmp300 del ints . tmp300 tmp6 += ints . tmp304 del ints . tmp304 tmp6 += ints . tmp314 * 2 del ints . tmp314 tmp6 += ints . tmp327 del ints . tmp327 tmp6 += ints . tmp335 del ints . tmp335 tmp6 += ints . tmp352 del ints . tmp352 tmp6 += ints . tmp137 * - 1 del ints . tmp137 tmp6 += ints . tmp265 * - 2 del ints . tmp265 tmp6 += ints . tmp280 * - 1 del ints . tmp280 tmp6 += ints . tmp296 * - 1 del ints . tmp296 tmp6 += ints . tmp311 * - 2 del ints . tmp311 tmp6 += ints . tmp318 * - 1 del ints . tmp318 tmp6 += np . transpose ( ints . tmp337 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp337 tmp6 += ints . tmp344 * - 1 del ints . tmp344 tmp6 += np . transpose ( ints . tmp64 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp64 tmp2 = np . copy ( ints . tmp102 ) * 0.5 del ints . tmp102 tmp2 += ints . tmp110 del ints . tmp110 tmp2 += ints . tmp138 del ints . tmp138 tmp2 += ints . tmp143 * 0.5 del ints . tmp143 tmp2 += ints . tmp159 del ints . tmp159 tmp2 += ints . tmp162 * 0.5 del ints . tmp162 tmp2 += ints . tmp184 * 0.5 del ints . tmp184 tmp2 += ints . tmp188 * 0.5 del ints . tmp188 tmp2 += ints . tmp205 * 0.5 del ints . tmp205 tmp2 += ints . tmp222 * 0.5 del ints . tmp222 tmp2 += ints . tmp226 * 0.5 del ints . tmp226 tmp2 += ints . tmp22 * 0.5 del ints . tmp22 tmp2 += ints . tmp46 * 0.5 del ints . tmp46 tmp2 += ints . tmp4 * 0.5 del ints . tmp4 tmp2 += ints . tmp65 del ints . tmp65 tmp2 += ints . tmp68 * 0.5 del ints . tmp68 tmp2 += ints . tmp87 del ints . tmp87 tmp2 += f . bb . ov * - 0.5 tmp2 += ints . tmp105 * - 0.5 del ints . tmp105 tmp2 += ints . tmp10 * - 0.5 del ints . tmp10 tmp2 += ints . tmp114 * - 1 del ints . tmp114 tmp2 += ints . tmp118 * - 0.5 del ints . tmp118 tmp2 += ints . tmp121 * - 1 del ints . tmp121 tmp2 += ints . tmp13 * - 1 del ints . tmp13 tmp2 += ints . tmp182 * - 0.5 del ints . tmp182 tmp2 += ints . tmp204 * - 0.5 del ints . tmp204 tmp2 += ints . tmp207 * - 0.5 del ints . tmp207 tmp2 += ints . tmp220 * - 0.5 del ints . tmp220 tmp2 += ints . tmp44 * - 0.5 del ints . tmp44 tmp2 += ints . tmp47 * - 0.5 del ints . tmp47 tmp2 += ints . tmp7 * - 0.5 del ints . tmp7 tmp2 += ints . tmp89 * - 0.5 del ints . tmp89 tmp0 = np . copy ( ints . tmp129 ) del ints . tmp129 tmp0 += ints . tmp133 del ints . tmp133 tmp0 += ints . tmp147 del ints . tmp147 tmp0 += ints . tmp153 * 2 del ints . tmp153 tmp0 += np . transpose ( ints . tmp17 , ( 1 , 0 , 2 , 3 )) del ints . tmp17 tmp0 += ints . tmp213 del ints . tmp213 tmp0 += np . transpose ( ints . tmp25 , ( 1 , 0 , 2 , 3 )) del ints . tmp25 tmp0 += ints . tmp54 del ints . tmp54 tmp0 += np . transpose ( ints . tmp55 , ( 1 , 0 , 2 , 3 )) del ints . tmp55 tmp0 += ints . tmp78 del ints . tmp78 tmp0 += ints . tmp83 * 2 del ints . tmp83 tmp0 += ints . tmp97 del ints . tmp97 tmp0 += ints . tmp125 * - 1 del ints . tmp125 tmp0 += ints . tmp150 * - 1 del ints . tmp150 tmp0 += ints . tmp155 * - 1 del ints . tmp155 tmp0 += ints . tmp172 * - 1 del ints . tmp172 tmp0 += ints . tmp195 * - 1 del ints . tmp195 tmp0 += np . transpose ( ints . tmp197 , ( 1 , 0 , 2 , 3 )) * - 1 del ints . tmp197 tmp0 += ints . tmp231 * - 1 del ints . tmp231 tmp0 += ints . tmp37 * - 1 del ints . tmp37 tmp0 += ints . tmp74 * - 1 del ints . tmp74 tmp0 += ints . tmp79 * - 1 del ints . tmp79 tmp1 = np . copy ( ints . tmp127 ) del ints . tmp127 tmp1 += ints . tmp131 del ints . tmp131 tmp1 += ints . tmp148 * 2 del ints . tmp148 tmp1 += np . transpose ( ints . tmp15 , ( 1 , 2 , 0 , 3 )) del ints . tmp15 tmp1 += ints . tmp168 del ints . tmp168 tmp1 += ints . tmp190 del ints . tmp190 tmp1 += ints . tmp228 del ints . tmp228 tmp1 += np . transpose ( ints . tmp34 , ( 0 , 2 , 1 , 3 )) del ints . tmp34 tmp1 += np . transpose ( ints . tmp52 , ( 0 , 2 , 1 , 3 )) del ints . tmp52 tmp1 += ints . tmp75 * 2 del ints . tmp75 tmp1 += ints . tmp80 del ints . tmp80 tmp1 += ints . tmp123 * - 1 del ints . tmp123 tmp1 += ints . tmp145 * - 2 del ints . tmp145 tmp1 += ints . tmp151 * - 1 del ints . tmp151 tmp1 += np . transpose ( ints . tmp192 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp192 tmp1 += ints . tmp211 * - 1 del ints . tmp211 tmp1 += np . transpose ( ints . tmp23 , ( 1 , 2 , 0 , 3 )) * - 1 del ints . tmp23 tmp1 += ints . tmp50 * - 1 del ints . tmp50 tmp1 += ints . tmp72 * - 2 del ints . tmp72 tmp1 += ints . tmp94 * - 1 del ints . tmp94 r2new . bbb = np . copy ( tmp82 ) * - 1 r2new . bbb += np . transpose ( tmp82 , ( 1 , 0 , 2 )) del tmp82 r2new . bbb += tmp89 r2new . bbb += np . transpose ( tmp89 , ( 1 , 0 , 2 )) * - 1 del tmp89 r2new . bbb += einsum ( tmp90 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 2 , 4 ), ( 0 , 1 , 4 )) * - 2 del tmp90 r2new . bbb += einsum ( tmp66 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bbb += einsum ( tmp64 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 2 , 0 , 1 )) r2new . bbb += einsum ( tmp64 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 0 , 2 , 1 )) * - 1 r2new . bab = einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp469 , ( 1 , 3 , 2 , 4 ), ( 3 , 0 , 4 )) * 2 del ints . tmp469 r2new . bab += einsum ( tmp58 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 0 , 4 , 2 ), ( 1 , 4 , 3 )) * - 1 del tmp58 r2new . bab += einsum ( tmp59 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 4 , 1 , 2 ), ( 4 , 0 , 3 )) * - 1 del tmp59 r2new . bab += einsum ( tmp60 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 0 , 4 ), ( 3 , 1 , 4 )) del tmp60 r2new . bab += einsum ( tmp32 , ( 0 , 1 , 2 ), tmp61 , ( 3 , 0 , 2 , 4 ), ( 1 , 3 , 4 )) * - 1 del tmp61 r2new . bab += einsum ( tmp32 , ( 0 , 1 , 2 ), tmp62 , ( 1 , 2 , 3 , 4 ), ( 3 , 0 , 4 )) * - 1 del tmp32 , tmp62 r2new . bab += einsum ( tmp63 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) * - 2 del tmp63 r2new . bab += einsum ( tmp66 , ( 0 , 1 ), r2 . bab , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 del tmp66 r2new . bab += einsum ( tmp67 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 3 ), ( 1 , 2 , 3 )) * - 1 del tmp67 r2new . bab += einsum ( tmp4 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 r2new . bab += einsum ( ints . tmp170 , ( 0 , 1 , 2 , 3 ), tmp68 , ( 2 ,), ( 1 , 0 , 3 )) del tmp68 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp69 , ( 1 , 0 , 2 , 3 ), ( 2 , 1 , 3 )) del tmp69 r2new . bab += einsum ( tmp64 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 0 , 2 , 1 )) * - 1 del tmp64 r2new . aba = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp377 , ( 3 , 1 , 4 , 2 ), ( 3 , 0 , 4 )) * 2 del ints . tmp377 r2new . aba += einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 4 , 1 , 2 ), ( 4 , 0 , 3 )) * - 1 del tmp44 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp45 , ( 0 , 3 , 2 , 4 ), ( 3 , 1 , 4 )) * - 1 del tmp45 r2new . aba += einsum ( tmp46 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 2 , 4 ), ( 1 , 3 , 4 )) del tmp46 r2new . aba += einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), tmp47 , ( 4 , 0 , 1 ), ( 4 , 2 , 3 )) r2new . aba += einsum ( tmp47 , ( 0 , 1 , 2 ), tmp49 , ( 0 , 3 , 1 , 4 ), ( 3 , 2 , 4 )) del tmp47 , tmp49 r2new . aba += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp53 , ( 0 , 3 ), ( 1 , 3 , 2 )) * - 1 del tmp53 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp43 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp7 , ( 1 , 3 ), ( 0 , 3 , 2 )) * - 1 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp54 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp54 r2new . aba += einsum ( ints . tmp170 , ( 0 , 1 , 2 , 3 ), tmp57 , ( 3 ,), ( 0 , 1 , 2 )) * 2 del tmp57 , ints . tmp170 r2new . aba += einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), r1 . b , ( 1 ,), ( 0 , 2 , 3 )) del tmp48 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp41 , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 r2new . aaa = np . copy ( tmp22 ) r2new . aaa += np . transpose ( tmp22 , ( 1 , 0 , 2 )) * - 1 del tmp22 r2new . aaa += tmp39 * - 1 r2new . aaa += np . transpose ( tmp39 , ( 1 , 0 , 2 )) del tmp39 r2new . aaa += einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 1 , 0 , 4 ), ( 2 , 3 , 4 )) * - 2 del tmp40 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp43 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp43 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp41 , ( 1 , 2 ), ( 0 , 1 , 2 )) r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp41 , ( 1 , 2 ), ( 1 , 0 , 2 )) * - 1 del tmp41 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp5 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) del tmp5 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp6 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) * 2 del tmp6 r1new . b += einsum ( tmp2 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 1 ), ( 2 ,)) * - 4 r1new . b += einsum ( tmp3 , ( 0 , 1 ), r2 . aba , ( 0 , 2 , 1 ), ( 2 ,)) * 2 r1new . b += einsum ( tmp7 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp7 r1new . a = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 0 , 3 ), ( 1 ,)) del tmp0 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp1 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) * 2 del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 ), r2 . bab , ( 0 , 2 , 1 ), ( 2 ,)) * 2 del tmp2 r1new . a += einsum ( tmp3 , ( 0 , 1 ), r2 . aaa , ( 2 , 0 , 1 ), ( 2 ,)) * - 4 del tmp3 r1new . a += einsum ( tmp4 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp4 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.hbar_lmatvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T20:53:55.593012.","title":"hbar_lmatvec_ea_intermediates"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.hbar_lmatvec_ea_intermediates--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.hbar_lmatvec_ea_intermediates--returns","text":"tmp10 : array tmp100 : array tmp101 : array tmp102 : array tmp103 : array tmp105 : array tmp106 : array tmp108 : array tmp109 : array tmp11 : array tmp110 : array tmp111 : array tmp113 : array tmp115 : array tmp117 : array tmp119 : array tmp121 : array tmp122 : array tmp124 : array tmp13 : array tmp132 : array tmp133 : array tmp135 : array tmp136 : array tmp138 : array tmp139 : array tmp141 : array tmp142 : array tmp144 : array tmp146 : array tmp148 : array tmp149 : array tmp151 : array tmp152 : array tmp154 : array tmp155 : array tmp157 : array tmp158 : array tmp160 : array tmp162 : array tmp163 : array tmp165 : array tmp166 : array tmp168 : array tmp170 : array tmp171 : array tmp172 : array tmp174 : array tmp175 : array tmp177 : array tmp178 : array tmp179 : array tmp180 : array tmp181 : array tmp182 : array tmp184 : array tmp185 : array tmp19 : array tmp190 : array tmp192 : array tmp194 : array tmp195 : array tmp196 : array tmp197 : array tmp198 : array tmp199 : array tmp2 : array tmp20 : array tmp201 : array tmp203 : array tmp205 : array tmp206 : array tmp207 : array tmp208 : array tmp210 : array tmp211 : array tmp213 : array tmp214 : array tmp215 : array tmp216 : array tmp217 : array tmp218 : array tmp22 : array tmp220 : array tmp221 : array tmp23 : array tmp236 : array tmp239 : array tmp24 : array tmp243 : array tmp246 : array tmp250 : array tmp251 : array tmp253 : array tmp255 : array tmp257 : array tmp26 : array tmp263 : array tmp265 : array tmp271 : array tmp272 : array tmp274 : array tmp275 : array tmp277 : array tmp279 : array tmp281 : array tmp29 : array tmp30 : array tmp301 : array tmp303 : array tmp309 : array tmp31 : array tmp310 : array tmp312 : array tmp313 : array tmp315 : array tmp317 : array tmp319 : array tmp33 : array tmp330 : array tmp332 : array tmp334 : array tmp335 : array tmp34 : array tmp36 : array tmp38 : array tmp387 : array tmp39 : array tmp4 : array tmp40 : array tmp41 : array tmp42 : array tmp426 : array tmp44 : array tmp47 : array tmp49 : array tmp490 : array tmp5 : array tmp52 : array tmp53 : array tmp55 : array tmp57 : array tmp58 : array tmp60 : array tmp61 : array tmp63 : array tmp64 : array tmp66 : array tmp67 : array tmp69 : array tmp7 : array tmp70 : array tmp72 : array tmp73 : array tmp75 : array tmp77 : array tmp79 : array tmp8 : array tmp81 : array tmp82 : array tmp84 : array tmp85 : array tmp87 : array tmp89 : array tmp91 : array tmp92 : array tmp94 : array tmp95 : array tmp97 : array tmp99 : array Source code in ebcc/codegen/UDFCCSD.py 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451 6452 6453 6454 6455 6456 def hbar_lmatvec_ea_intermediates ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:53:55.593012. 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 ------- tmp10 : array tmp100 : array tmp101 : array tmp102 : array tmp103 : array tmp105 : array tmp106 : array tmp108 : array tmp109 : array tmp11 : array tmp110 : array tmp111 : array tmp113 : array tmp115 : array tmp117 : array tmp119 : array tmp121 : array tmp122 : array tmp124 : array tmp13 : array tmp132 : array tmp133 : array tmp135 : array tmp136 : array tmp138 : array tmp139 : array tmp141 : array tmp142 : array tmp144 : array tmp146 : array tmp148 : array tmp149 : array tmp151 : array tmp152 : array tmp154 : array tmp155 : array tmp157 : array tmp158 : array tmp160 : array tmp162 : array tmp163 : array tmp165 : array tmp166 : array tmp168 : array tmp170 : array tmp171 : array tmp172 : array tmp174 : array tmp175 : array tmp177 : array tmp178 : array tmp179 : array tmp180 : array tmp181 : array tmp182 : array tmp184 : array tmp185 : array tmp19 : array tmp190 : array tmp192 : array tmp194 : array tmp195 : array tmp196 : array tmp197 : array tmp198 : array tmp199 : array tmp2 : array tmp20 : array tmp201 : array tmp203 : array tmp205 : array tmp206 : array tmp207 : array tmp208 : array tmp210 : array tmp211 : array tmp213 : array tmp214 : array tmp215 : array tmp216 : array tmp217 : array tmp218 : array tmp22 : array tmp220 : array tmp221 : array tmp23 : array tmp236 : array tmp239 : array tmp24 : array tmp243 : array tmp246 : array tmp250 : array tmp251 : array tmp253 : array tmp255 : array tmp257 : array tmp26 : array tmp263 : array tmp265 : array tmp271 : array tmp272 : array tmp274 : array tmp275 : array tmp277 : array tmp279 : array tmp281 : array tmp29 : array tmp30 : array tmp301 : array tmp303 : array tmp309 : array tmp31 : array tmp310 : array tmp312 : array tmp313 : array tmp315 : array tmp317 : array tmp319 : array tmp33 : array tmp330 : array tmp332 : array tmp334 : array tmp335 : array tmp34 : array tmp36 : array tmp38 : array tmp387 : array tmp39 : array tmp4 : array tmp40 : array tmp41 : array tmp42 : array tmp426 : array tmp44 : array tmp47 : array tmp49 : array tmp490 : array tmp5 : array tmp52 : array tmp53 : array tmp55 : array tmp57 : array tmp58 : array tmp60 : array tmp61 : array tmp63 : array tmp64 : array tmp66 : array tmp67 : array tmp69 : array tmp7 : array tmp70 : array tmp72 : array tmp73 : array tmp75 : array tmp77 : array tmp79 : array tmp8 : array tmp81 : array tmp82 : array tmp84 : array tmp85 : array tmp87 : array tmp89 : array tmp91 : array tmp92 : array tmp94 : array tmp95 : array tmp97 : array tmp99 : array \"\"\" tmp28 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp32 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 0 , 1 ), ( 2 ,)) tmp109 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp101 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp41 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp28 , ( 0 ,), ( 1 , 2 )) tmp42 = einsum ( tmp32 , ( 0 ,), v . baa . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp38 = einsum ( tmp32 , ( 0 ,), v . bbb . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp110 = einsum ( tmp109 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp34 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp28 , ( 0 ,), ( 1 , 2 )) tmp102 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp101 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp60 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp84 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp81 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 0 , 3 , 4 )) tmp57 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 4 , 0 , 2 )) tmp30 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 3 , 1 )) tmp39 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xvv , ( 2 , 3 , 1 ), ( 2 , 0 , 3 )) tmp49 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp243 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp138 = einsum ( tmp101 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp135 = einsum ( tmp109 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp26 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp236 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp72 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp66 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp220 = einsum ( t1 . bb , ( 0 , 1 ), tmp41 , ( 2 , 1 ), ( 0 , 2 )) tmp217 = einsum ( tmp42 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp215 = einsum ( tmp38 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp213 = einsum ( t1 . bb , ( 0 , 1 ), tmp110 , ( 2 , 1 ), ( 0 , 2 )) tmp210 = einsum ( tmp34 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp207 = einsum ( tmp102 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) tmp33 = einsum ( tmp32 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp197 = einsum ( tmp28 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp194 = einsum ( tmp32 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp29 = einsum ( tmp28 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp184 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp28 , ( 0 ,), ( 1 , 2 )) tmp181 = einsum ( tmp32 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp179 = einsum ( tmp32 , ( 0 ,), v . bbb . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp32 tmp177 = einsum ( tmp109 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp174 = einsum ( tmp28 , ( 0 ,), v . baa . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp28 tmp171 = einsum ( tmp101 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp44 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp157 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp60 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp154 = einsum ( tmp84 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp151 = einsum ( tmp81 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp148 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp57 , ( 0 , 3 , 2 ), ( 3 , 1 )) tmp141 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp109 , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp132 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp101 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp99 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp24 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp69 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp63 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp22 = einsum ( t1 . bb , ( 0 , 1 ), f . bb . ov , ( 2 , 1 ), ( 2 , 0 )) tmp19 = einsum ( f . aa . ov , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) tmp490 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp426 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp387 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp335 = einsum ( tmp30 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp334 = einsum ( tmp101 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp332 = einsum ( tmp39 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp330 = einsum ( tmp109 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp319 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp49 , ( 4 , 1 , 2 , 5 ), ( 0 , 4 , 3 , 5 )) tmp317 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp84 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp315 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp57 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp313 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp243 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp312 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp243 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp310 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp81 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp309 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp60 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp303 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp138 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp301 = einsum ( tmp135 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp281 = einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 5 , 3 )) tmp279 = einsum ( tmp84 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp277 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp57 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp275 = einsum ( tmp236 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 3 , 2 )) tmp274 = einsum ( tmp236 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 5 , 3 , 1 )) tmp272 = einsum ( tmp81 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp271 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp60 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp265 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp72 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp263 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp66 , ( 0 , 4 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp257 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp84 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp255 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp81 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp253 = einsum ( tmp30 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp251 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp39 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp250 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp246 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp239 = einsum ( tmp39 , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp221 = einsum ( t1 . bb , ( 0 , 1 ), tmp220 , ( 2 , 0 ), ( 2 , 1 )) tmp218 = einsum ( tmp217 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp216 = einsum ( t1 . bb , ( 0 , 1 ), tmp215 , ( 2 , 0 ), ( 2 , 1 )) tmp214 = einsum ( t1 . bb , ( 0 , 1 ), tmp213 , ( 2 , 0 ), ( 2 , 1 )) tmp211 = einsum ( tmp210 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp208 = einsum ( tmp207 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp206 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp39 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp205 = einsum ( tmp109 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp203 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp30 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp201 = einsum ( tmp101 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp199 = einsum ( t1 . aa , ( 0 , 1 ), tmp33 , ( 2 , 1 ), ( 0 , 2 )) tmp198 = einsum ( tmp197 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp196 = einsum ( tmp39 , ( 0 , 1 , 2 ), tmp109 , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp195 = einsum ( t1 . bb , ( 0 , 1 ), tmp194 , ( 2 , 1 ), ( 0 , 2 )) tmp192 = einsum ( tmp101 , ( 0 , 1 , 2 ), tmp30 , ( 0 , 2 , 3 ), ( 1 , 3 )) tmp190 = einsum ( t1 . aa , ( 0 , 1 ), tmp29 , ( 2 , 1 ), ( 0 , 2 )) tmp185 = einsum ( t1 . bb , ( 0 , 1 ), tmp184 , ( 2 , 0 ), ( 2 , 1 )) tmp182 = einsum ( t1 . aa , ( 0 , 1 ), tmp181 , ( 2 , 0 ), ( 2 , 1 )) tmp180 = einsum ( t1 . bb , ( 0 , 1 ), tmp179 , ( 2 , 0 ), ( 2 , 1 )) tmp178 = einsum ( t1 . bb , ( 0 , 1 ), tmp177 , ( 2 , 0 ), ( 2 , 1 )) tmp175 = einsum ( t1 . aa , ( 0 , 1 ), tmp174 , ( 2 , 0 ), ( 2 , 1 )) tmp172 = einsum ( t1 . aa , ( 0 , 1 ), tmp171 , ( 2 , 0 ), ( 2 , 1 )) tmp170 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp49 , ( 0 , 4 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) tmp168 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp81 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp166 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp60 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp165 = einsum ( tmp44 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 3 , 5 ), ( 1 , 4 , 2 , 5 )) tmp163 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp44 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp162 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp84 , ( 0 , 3 , 4 ), ( 1 , 3 , 2 , 4 )) tmp160 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp57 , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp158 = einsum ( t1 . aa , ( 0 , 1 ), tmp157 , ( 2 , 0 ), ( 2 , 1 )) tmp155 = einsum ( t1 . bb , ( 0 , 1 ), tmp154 , ( 2 , 0 ), ( 2 , 1 )) tmp152 = einsum ( t1 . bb , ( 0 , 1 ), tmp151 , ( 2 , 0 ), ( 2 , 1 )) tmp149 = einsum ( tmp148 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) tmp146 = einsum ( tmp141 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) tmp144 = einsum ( tmp132 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 5 ), ( 0 , 4 , 5 , 3 )) tmp142 = einsum ( tmp141 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) tmp139 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp138 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp136 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp135 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp133 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp132 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) tmp124 = einsum ( tmp41 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp122 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp41 , ( 1 , 3 ), ( 0 , 2 )) tmp121 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp42 , ( 0 , 2 ), ( 1 , 3 )) tmp119 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp42 , ( 1 , 3 ), ( 0 , 2 )) tmp117 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp38 , ( 1 , 3 ), ( 0 , 2 )) tmp115 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp38 , ( 1 , 3 ), ( 0 , 2 )) tmp113 = einsum ( tmp110 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp111 = einsum ( tmp110 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp108 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp34 , ( 0 , 2 ), ( 1 , 3 )) tmp106 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp34 , ( 1 , 3 ), ( 0 , 2 )) tmp105 = einsum ( tmp102 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp103 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp102 , ( 1 , 3 ), ( 0 , 2 )) tmp100 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp99 , ( 0 , 4 , 5 , 3 ), ( 1 , 2 , 4 , 5 )) tmp97 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp81 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp95 = einsum ( tmp60 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp94 = einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 3 , 1 , 5 )) tmp92 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp24 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 5 , 4 )) tmp91 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp84 , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp89 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), tmp57 , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp87 = einsum ( tmp60 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp85 = einsum ( tmp84 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) tmp82 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp81 , ( 0 , 3 , 2 ), ( 3 , 1 )) * - 1 tmp79 = einsum ( tmp57 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 2 ), ( 1 , 3 )) * - 1 tmp77 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 4 , 5 ), ( 2 , 4 , 3 , 5 )) tmp75 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp63 , ( 4 , 0 , 1 , 5 ), ( 4 , 2 , 3 , 5 )) tmp73 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp72 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp70 = einsum ( tmp69 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 1 , 3 , 4 ), ( 2 , 4 )) tmp67 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp66 , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp64 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp63 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) tmp61 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp60 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp58 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp57 , ( 0 , 1 , 3 ), ( 3 , 2 )) tmp55 = einsum ( tmp39 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp53 = einsum ( tmp30 , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp52 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp47 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp40 = einsum ( tmp39 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp36 = einsum ( tmp30 , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 1 ), ( 3 , 2 )) tmp31 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp30 , ( 0 , 1 , 3 ), ( 2 , 3 )) tmp23 = einsum ( t1 . bb , ( 0 , 1 ), tmp22 , ( 0 , 2 ), ( 2 , 1 )) tmp20 = einsum ( tmp19 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) tmp13 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . ov , ( 1 , 3 ), ( 0 , 2 )) tmp11 = einsum ( f . bb . ov , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp10 = einsum ( f . aa . ov , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) tmp8 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . ov , ( 1 , 3 ), ( 0 , 2 )) tmp7 = einsum ( f . bb . vv , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) tmp5 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . vv , ( 2 , 1 ), ( 0 , 2 )) tmp4 = einsum ( f . bb . oo , ( 0 , 1 ), t1 . bb , ( 1 , 2 ), ( 0 , 2 )) tmp2 = einsum ( t1 . aa , ( 0 , 1 ), f . aa . oo , ( 2 , 0 ), ( 2 , 1 )) return { f \"tmp10\" : tmp10 , f \"tmp100\" : tmp100 , f \"tmp101\" : tmp101 , f \"tmp102\" : tmp102 , f \"tmp103\" : tmp103 , f \"tmp105\" : tmp105 , f \"tmp106\" : tmp106 , f \"tmp108\" : tmp108 , f \"tmp109\" : tmp109 , f \"tmp11\" : tmp11 , f \"tmp110\" : tmp110 , f \"tmp111\" : tmp111 , f \"tmp113\" : tmp113 , f \"tmp115\" : tmp115 , f \"tmp117\" : tmp117 , f \"tmp119\" : tmp119 , f \"tmp121\" : tmp121 , f \"tmp122\" : tmp122 , f \"tmp124\" : tmp124 , f \"tmp13\" : tmp13 , f \"tmp132\" : tmp132 , f \"tmp133\" : tmp133 , f \"tmp135\" : tmp135 , f \"tmp136\" : tmp136 , f \"tmp138\" : tmp138 , f \"tmp139\" : tmp139 , f \"tmp141\" : tmp141 , f \"tmp142\" : tmp142 , f \"tmp144\" : tmp144 , f \"tmp146\" : tmp146 , f \"tmp148\" : tmp148 , f \"tmp149\" : tmp149 , f \"tmp151\" : tmp151 , f \"tmp152\" : tmp152 , f \"tmp154\" : tmp154 , f \"tmp155\" : tmp155 , f \"tmp157\" : tmp157 , f \"tmp158\" : tmp158 , f \"tmp160\" : tmp160 , f \"tmp162\" : tmp162 , f \"tmp163\" : tmp163 , f \"tmp165\" : tmp165 , f \"tmp166\" : tmp166 , f \"tmp168\" : tmp168 , f \"tmp170\" : tmp170 , f \"tmp171\" : tmp171 , f \"tmp172\" : tmp172 , f \"tmp174\" : tmp174 , f \"tmp175\" : tmp175 , f \"tmp177\" : tmp177 , f \"tmp178\" : tmp178 , f \"tmp179\" : tmp179 , f \"tmp180\" : tmp180 , f \"tmp181\" : tmp181 , f \"tmp182\" : tmp182 , f \"tmp184\" : tmp184 , f \"tmp185\" : tmp185 , f \"tmp19\" : tmp19 , f \"tmp190\" : tmp190 , f \"tmp192\" : tmp192 , f \"tmp194\" : tmp194 , f \"tmp195\" : tmp195 , f \"tmp196\" : tmp196 , f \"tmp197\" : tmp197 , f \"tmp198\" : tmp198 , f \"tmp199\" : tmp199 , f \"tmp2\" : tmp2 , f \"tmp20\" : tmp20 , f \"tmp201\" : tmp201 , f \"tmp203\" : tmp203 , f \"tmp205\" : tmp205 , f \"tmp206\" : tmp206 , f \"tmp207\" : tmp207 , f \"tmp208\" : tmp208 , f \"tmp210\" : tmp210 , f \"tmp211\" : tmp211 , f \"tmp213\" : tmp213 , f \"tmp214\" : tmp214 , f \"tmp215\" : tmp215 , f \"tmp216\" : tmp216 , f \"tmp217\" : tmp217 , f \"tmp218\" : tmp218 , f \"tmp22\" : tmp22 , f \"tmp220\" : tmp220 , f \"tmp221\" : tmp221 , f \"tmp23\" : tmp23 , f \"tmp236\" : tmp236 , f \"tmp239\" : tmp239 , f \"tmp24\" : tmp24 , f \"tmp243\" : tmp243 , f \"tmp246\" : tmp246 , f \"tmp250\" : tmp250 , f \"tmp251\" : tmp251 , f \"tmp253\" : tmp253 , f \"tmp255\" : tmp255 , f \"tmp257\" : tmp257 , f \"tmp26\" : tmp26 , f \"tmp263\" : tmp263 , f \"tmp265\" : tmp265 , f \"tmp271\" : tmp271 , f \"tmp272\" : tmp272 , f \"tmp274\" : tmp274 , f \"tmp275\" : tmp275 , f \"tmp277\" : tmp277 , f \"tmp279\" : tmp279 , f \"tmp281\" : tmp281 , f \"tmp29\" : tmp29 , f \"tmp30\" : tmp30 , f \"tmp301\" : tmp301 , f \"tmp303\" : tmp303 , f \"tmp309\" : tmp309 , f \"tmp31\" : tmp31 , f \"tmp310\" : tmp310 , f \"tmp312\" : tmp312 , f \"tmp313\" : tmp313 , f \"tmp315\" : tmp315 , f \"tmp317\" : tmp317 , f \"tmp319\" : tmp319 , f \"tmp33\" : tmp33 , f \"tmp330\" : tmp330 , f \"tmp332\" : tmp332 , f \"tmp334\" : tmp334 , f \"tmp335\" : tmp335 , f \"tmp34\" : tmp34 , f \"tmp36\" : tmp36 , f \"tmp38\" : tmp38 , f \"tmp387\" : tmp387 , f \"tmp39\" : tmp39 , f \"tmp4\" : tmp4 , f \"tmp40\" : tmp40 , f \"tmp41\" : tmp41 , f \"tmp42\" : tmp42 , f \"tmp426\" : tmp426 , f \"tmp44\" : tmp44 , f \"tmp47\" : tmp47 , f \"tmp49\" : tmp49 , f \"tmp490\" : tmp490 , f \"tmp5\" : tmp5 , f \"tmp52\" : tmp52 , f \"tmp53\" : tmp53 , f \"tmp55\" : tmp55 , f \"tmp57\" : tmp57 , f \"tmp58\" : tmp58 , f \"tmp60\" : tmp60 , f \"tmp61\" : tmp61 , f \"tmp63\" : tmp63 , f \"tmp64\" : tmp64 , f \"tmp66\" : tmp66 , f \"tmp67\" : tmp67 , f \"tmp69\" : tmp69 , f \"tmp7\" : tmp7 , f \"tmp70\" : tmp70 , f \"tmp72\" : tmp72 , f \"tmp73\" : tmp73 , f \"tmp75\" : tmp75 , f \"tmp77\" : tmp77 , f \"tmp79\" : tmp79 , f \"tmp8\" : tmp8 , f \"tmp81\" : tmp81 , f \"tmp82\" : tmp82 , f \"tmp84\" : tmp84 , f \"tmp85\" : tmp85 , f \"tmp87\" : tmp87 , f \"tmp89\" : tmp89 , f \"tmp91\" : tmp91 , f \"tmp92\" : tmp92 , f \"tmp94\" : tmp94 , f \"tmp95\" : tmp95 , f \"tmp97\" : tmp97 , f \"tmp99\" : tmp99 }","title":"Returns"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.hbar_lmatvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T20:53:55.701176.","title":"hbar_lmatvec_ea"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.hbar_lmatvec_ea--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFCCSD/#ebcc.codegen.UDFCCSD.hbar_lmatvec_ea--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UDFCCSD.py 6458 6459 6460 6461 6462 6463 6464 6465 6466 6467 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477 6478 6479 6480 6481 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654 6655 6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 6840 6841 6842 6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 def hbar_lmatvec_ea ( f = None , r1 = None , r2 = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T20:53:55.701176. 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp58 = np . copy ( ints . tmp101 ) del ints . tmp101 tmp58 += v . baa . xoo tmp74 = einsum ( tmp58 , ( 0 , 1 , 2 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 , 3 )) tmp75 = np . copy ( ints . tmp30 ) tmp75 += ints . tmp57 * 2 tmp75 += ints . tmp60 tmp75 += v . baa . xov tmp75 += tmp74 * - 1 del tmp74 tmp22 = einsum ( t1 . bb , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp60 = np . copy ( ints . tmp109 ) del ints . tmp109 tmp60 += v . bbb . xoo tmp102 = np . copy ( f . bb . ov ) tmp102 += ints . tmp38 tmp102 += ints . tmp41 tmp46 = np . copy ( ints . tmp39 ) tmp46 += ints . tmp84 tmp46 += v . bbb . xov tmp46 += ints . tmp81 * 2 tmp44 = np . copy ( ints . tmp30 ) del ints . tmp30 tmp44 += ints . tmp60 del ints . tmp60 tmp44 += v . baa . xov tmp44 += ints . tmp57 * 2 del ints . tmp57 tmp50 = np . copy ( f . aa . ov ) tmp50 += ints . tmp34 tmp50 += ints . tmp42 tmp2 = einsum ( t1 . aa , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp6 = einsum ( t1 . bb , ( 0 , 1 ), r2 . bab , ( 1 , 2 , 3 ), ( 3 , 0 , 2 )) * - 1 tmp76 = einsum ( tmp75 , ( 0 , 1 , 2 ), r2 . aba , ( 2 , 3 , 1 ), ( 0 , 3 )) * 0.5 tmp110 = einsum ( tmp60 , ( 0 , 1 , 2 ), tmp22 , ( 1 , 2 , 3 ), ( 0 , 3 )) tmp113 = einsum ( t1 . bb , ( 0 , 1 ), ints . tmp110 , ( 0 , 2 ), ( 2 , 1 )) tmp36 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 2 , 0 , 1 ), ( 3 ,)) tmp34 = einsum ( r1 . b , ( 0 ,), t1 . bb , ( 1 , 0 ), ( 1 ,)) tmp103 = einsum ( tmp102 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 1 , 2 )) del tmp102 tmp47 = einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp46 , ( 3 , 2 , 0 ), ( 3 , 1 )) * - 1 tmp45 = einsum ( tmp44 , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 2 , 1 ), ( 0 , 3 )) * - 1 del tmp44 tmp51 = einsum ( t1 . aa , ( 0 , 1 ), tmp50 , ( 0 , 2 ), ( 1 , 2 )) del tmp50 tmp59 = einsum ( tmp58 , ( 0 , 1 , 2 ), tmp2 , ( 1 , 2 , 3 ), ( 0 , 3 )) del tmp58 tmp61 = einsum ( tmp60 , ( 0 , 1 , 2 ), tmp6 , ( 1 , 2 , 3 ), ( 0 , 3 )) * 0.5 tmp17 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 2 , 1 , 0 ), ( 3 ,)) * - 1 tmp15 = einsum ( t1 . aa , ( 0 , 1 ), r1 . a , ( 1 ,), ( 0 ,)) tmp16 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 3 , 1 ), ( 0 ,)) tmp64 = einsum ( t1 . aa , ( 0 , 1 ), ints . tmp102 , ( 0 , 2 ), ( 2 , 1 )) tmp111 = np . copy ( tmp76 ) tmp111 += tmp110 del tmp110 tmp87 = np . copy ( ints . tmp135 ) tmp87 += np . transpose ( ints . tmp66 , ( 0 , 2 , 1 , 3 )) tmp114 = np . copy ( f . bb . vv ) * 0.5 tmp114 += ints . tmp194 * 0.5 tmp114 += ints . tmp197 * 0.5 tmp114 += ints . tmp255 * - 1 tmp114 += ints . tmp257 * - 0.5 tmp114 += np . transpose ( tmp113 , ( 1 , 0 )) * 0.5 del tmp113 tmp116 = np . copy ( tmp34 ) * 0.5 tmp116 += tmp36 tmp98 = np . copy ( ints . tmp246 ) tmp98 += ints . tmp330 tmp98 += ints . tmp313 * 2 tmp35 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 2 , 3 , 0 ), ( 1 ,)) tmp100 = einsum ( tmp46 , ( 0 , 1 , 2 ), r2 . bbb , ( 3 , 2 , 1 ), ( 0 , 3 )) * - 1 del tmp46 tmp104 = np . copy ( ints . tmp239 ) tmp104 += tmp103 del tmp103 tmp77 = einsum ( t1 . bb , ( 0 , 1 ), tmp60 , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) del tmp60 tmp38 = np . copy ( f . bb . ov ) tmp38 += ints . tmp38 tmp38 += ints . tmp41 tmp38 += ints . tmp110 * - 1 del ints . tmp110 tmp19 = np . copy ( f . aa . ov ) tmp19 += ints . tmp34 tmp19 += ints . tmp42 tmp19 += ints . tmp102 * - 1 del ints . tmp102 tmp48 = np . copy ( tmp45 ) * - 2 del tmp45 tmp48 += tmp47 del tmp47 tmp52 = np . copy ( ints . tmp31 ) tmp52 += np . transpose ( tmp51 , ( 1 , 0 )) del tmp51 tmp42 = np . copy ( ints . tmp201 ) tmp42 += ints . tmp47 tmp42 += ints . tmp163 * 2 tmp62 = np . copy ( tmp59 ) del tmp59 tmp62 += tmp61 del tmp61 tmp56 = np . copy ( ints . tmp132 ) tmp56 += np . transpose ( ints . tmp63 , ( 0 , 2 , 1 , 3 )) tmp18 = np . copy ( tmp15 ) * 0.5 del tmp15 tmp18 += tmp16 del tmp16 tmp18 += tmp17 * 0.5 del tmp17 tmp65 = np . copy ( f . aa . vv ) * 0.5 tmp65 += ints . tmp29 * 0.5 tmp65 += ints . tmp33 * 0.5 tmp65 += ints . tmp58 * - 1 tmp65 += ints . tmp61 * - 0.5 tmp65 += np . transpose ( tmp64 , ( 1 , 0 )) * 0.5 del tmp64 tmp112 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp111 , ( 0 , 3 ), ( 1 , 3 , 2 )) * 2 del tmp111 tmp109 = einsum ( tmp87 , ( 0 , 1 , 2 , 3 ), tmp22 , ( 0 , 1 , 4 ), ( 2 , 3 , 4 )) * 2 tmp108 = einsum ( ints . tmp236 , ( 0 , 1 , 2 , 3 ), tmp22 , ( 4 , 0 , 2 ), ( 4 , 1 , 3 )) tmp107 = einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp312 , ( 2 , 3 , 0 , 4 ), ( 3 , 4 , 1 )) tmp115 = einsum ( tmp114 , ( 0 , 1 ), r2 . bbb , ( 2 , 0 , 3 ), ( 3 , 1 , 2 )) * - 4 del tmp114 tmp117 = einsum ( tmp116 , ( 0 ,), ints . tmp243 , ( 0 , 1 , 2 , 3 ), ( 1 , 2 , 3 )) * 2 del tmp116 tmp99 = einsum ( tmp98 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 2 , 0 ), ( 1 , 3 , 4 )) * - 1 del tmp98 tmp97 = einsum ( ints . tmp243 , ( 0 , 1 , 2 , 3 ), tmp35 , ( 0 ,), ( 1 , 2 , 3 )) tmp101 = einsum ( tmp100 , ( 0 , 1 ), v . bbb . xov , ( 0 , 2 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp100 tmp96 = einsum ( r1 . b , ( 0 ,), ints . tmp236 , ( 1 , 2 , 0 , 3 ), ( 1 , 2 , 3 )) tmp105 = einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp104 , ( 3 , 1 ), ( 2 , 3 , 0 )) * - 1 del tmp104 tmp78 = np . copy ( ints . tmp39 ) del ints . tmp39 tmp78 += ints . tmp81 * 2 del ints . tmp81 tmp78 += ints . tmp84 del ints . tmp84 tmp78 += v . bbb . xov tmp78 += tmp77 * - 1 del tmp77 tmp85 = np . copy ( ints . tmp141 ) tmp85 += ints . tmp69 tmp80 = einsum ( tmp38 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 2 , 1 )) tmp89 = np . copy ( t2 . abab ) tmp89 += einsum ( t1 . bb , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp82 = einsum ( t1 . aa , ( 0 , 1 ), tmp19 , ( 0 , 2 ), ( 1 , 2 )) tmp72 = np . copy ( t2 . abab ) tmp72 += einsum ( t1 . bb , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) tmp30 = np . copy ( ints . tmp138 ) del ints . tmp138 tmp30 += ints . tmp72 del ints . tmp72 tmp49 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp48 , ( 0 , 3 ), ( 1 , 2 , 3 )) del tmp48 tmp53 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp52 , ( 3 , 1 ), ( 2 , 0 , 3 )) * - 1 del tmp52 tmp40 = einsum ( ints . tmp24 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 0 , 1 , 3 )) tmp43 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp42 , ( 2 , 3 , 1 , 4 ), ( 3 , 0 , 4 )) * - 1 del tmp42 tmp41 = einsum ( ints . tmp165 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 4 , 1 ), ( 0 , 2 , 4 )) * - 1 tmp63 = einsum ( tmp62 , ( 0 , 1 ), v . baa . xov , ( 0 , 2 , 3 ), ( 2 , 3 , 1 )) * 2 del tmp62 tmp57 = einsum ( tmp56 , ( 0 , 1 , 2 , 3 ), tmp2 , ( 0 , 1 , 4 ), ( 2 , 4 , 3 )) * 2 tmp55 = einsum ( tmp2 , ( 0 , 1 , 2 ), ints . tmp24 , ( 1 , 3 , 2 , 4 ), ( 0 , 3 , 4 )) tmp67 = einsum ( ints . tmp44 , ( 0 , 1 , 2 , 3 ), tmp18 , ( 0 ,), ( 1 , 2 , 3 )) * 2 tmp66 = einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp65 , ( 1 , 3 ), ( 2 , 0 , 3 )) * - 4 del tmp65 tmp26 = einsum ( r2 . aba , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 0 ), ( 2 , 3 , 1 )) tmp31 = einsum ( t1 . bb , ( 0 , 1 ), tmp22 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * - 1 tmp94 = np . copy ( f . bb . oo ) tmp94 += ints . tmp151 * 2 del ints . tmp151 tmp94 += ints . tmp154 del ints . tmp154 tmp94 += ints . tmp179 del ints . tmp179 tmp94 += ints . tmp184 del ints . tmp184 tmp94 += ints . tmp215 del ints . tmp215 tmp94 += ints . tmp220 del ints . tmp220 tmp94 += np . transpose ( ints . tmp22 , ( 1 , 0 )) del ints . tmp22 tmp94 += ints . tmp177 * - 1 del ints . tmp177 tmp94 += ints . tmp213 * - 1 del ints . tmp213 tmp95 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) tmp118 = np . copy ( tmp107 ) del tmp107 tmp118 += tmp108 * 2 del tmp108 tmp118 += tmp109 del tmp109 tmp118 += tmp112 del tmp112 tmp118 += tmp115 * - 1 del tmp115 tmp118 += tmp117 del tmp117 tmp106 = np . copy ( tmp96 ) del tmp96 tmp106 += tmp97 del tmp97 tmp106 += tmp99 * - 2 del tmp99 tmp106 += tmp101 * 2 del tmp101 tmp106 += tmp105 * - 2 del tmp105 tmp91 = einsum ( tmp75 , ( 0 , 1 , 2 ), r2 . aaa , ( 3 , 2 , 1 ), ( 0 , 3 )) del tmp75 tmp91 += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp78 , ( 3 , 2 , 0 ), ( 3 , 1 )) * - 0.5 tmp86 = np . copy ( ints . tmp170 ) tmp86 += np . transpose ( ints . tmp205 , ( 0 , 1 , 3 , 2 )) * - 1 tmp86 += np . transpose ( ints . tmp52 , ( 0 , 1 , 3 , 2 )) * - 1 tmp86 += einsum ( tmp85 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) del tmp85 tmp93 = np . copy ( np . transpose ( ints . tmp239 , ( 1 , 0 ))) tmp93 += ints . tmp255 * 2 tmp93 += ints . tmp257 tmp93 += f . bb . vv * - 1 tmp93 += ints . tmp194 * - 1 tmp93 += ints . tmp197 * - 1 tmp93 += tmp80 tmp90 = einsum ( tmp89 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 2 , 4 ), ( 0 , 4 , 1 )) * - 1 del tmp89 tmp92 = np . copy ( np . transpose ( ints . tmp31 , ( 1 , 0 ))) tmp92 += ints . tmp58 * 2 tmp92 += ints . tmp61 tmp92 += f . aa . vv * - 1 tmp92 += np . transpose ( ints . tmp29 , ( 1 , 0 )) * - 1 tmp92 += np . transpose ( ints . tmp33 , ( 1 , 0 )) * - 1 tmp92 += tmp82 tmp4 = einsum ( r2 . bab , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 1 ), ( 3 , 2 , 0 )) * - 1 tmp88 = np . copy ( ints . tmp246 ) tmp88 += ints . tmp313 * 2 tmp88 += ints . tmp330 tmp88 += einsum ( t1 . bb , ( 0 , 1 ), tmp87 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp87 tmp69 = np . copy ( f . aa . oo ) tmp69 += ints . tmp148 * 2 del ints . tmp148 tmp69 += ints . tmp157 del ints . tmp157 tmp69 += ints . tmp174 del ints . tmp174 tmp69 += ints . tmp181 del ints . tmp181 tmp69 += np . transpose ( ints . tmp19 , ( 1 , 0 )) del ints . tmp19 tmp69 += ints . tmp210 del ints . tmp210 tmp69 += ints . tmp217 del ints . tmp217 tmp69 += ints . tmp171 * - 1 del ints . tmp171 tmp69 += ints . tmp207 * - 1 del ints . tmp207 tmp84 = np . copy ( tmp34 ) tmp84 += tmp35 * - 1 tmp84 += tmp36 * 2 tmp73 = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp72 , ( 3 , 4 , 0 , 1 ), ( 2 , 3 , 4 )) del tmp72 tmp70 = np . copy ( np . transpose ( ints . tmp319 , ( 0 , 1 , 3 , 2 ))) tmp70 += ints . tmp250 * - 1 tmp70 += ints . tmp334 * - 1 tmp70 += einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) tmp81 = np . copy ( np . transpose ( ints . tmp239 , ( 1 , 0 ))) tmp81 += ints . tmp255 * 2 tmp81 += ints . tmp257 tmp81 += f . bb . vv * - 1 tmp81 += np . transpose ( ints . tmp194 , ( 1 , 0 )) * - 1 tmp81 += np . transpose ( ints . tmp197 , ( 1 , 0 )) * - 1 tmp81 += tmp80 del tmp80 tmp71 = np . copy ( ints . tmp163 ) * 2 tmp71 += ints . tmp201 tmp71 += ints . tmp47 tmp71 += einsum ( tmp56 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp56 tmp83 = np . copy ( np . transpose ( ints . tmp31 , ( 1 , 0 ))) tmp83 += ints . tmp58 * 2 tmp83 += ints . tmp61 tmp83 += f . aa . vv * - 1 tmp83 += ints . tmp29 * - 1 tmp83 += ints . tmp33 * - 1 tmp83 += tmp82 del tmp82 tmp79 = np . copy ( tmp76 ) * - 1 del tmp76 tmp79 += einsum ( tmp78 , ( 0 , 1 , 2 ), r2 . bbb , ( 3 , 2 , 1 ), ( 0 , 3 )) del tmp78 tmp24 = einsum ( t1 . bb , ( 0 , 1 ), r2 . aba , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp54 = np . copy ( tmp40 ) del tmp40 tmp54 += tmp41 del tmp41 tmp54 += np . transpose ( tmp43 , ( 0 , 2 , 1 )) * - 2 del tmp43 tmp54 += np . transpose ( tmp49 , ( 0 , 2 , 1 )) del tmp49 tmp54 += np . transpose ( tmp53 , ( 0 , 2 , 1 )) * - 2 del tmp53 tmp39 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 3 , 4 ), ( 4 , 0 , 1 )) tmp68 = np . copy ( tmp55 ) * 2 del tmp55 tmp68 += np . transpose ( tmp57 , ( 0 , 2 , 1 )) del tmp57 tmp68 += np . transpose ( tmp63 , ( 0 , 2 , 1 )) del tmp63 tmp68 += np . transpose ( tmp66 , ( 0 , 2 , 1 )) * - 1 del tmp66 tmp68 += tmp67 del tmp67 tmp12 = einsum ( tmp2 , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 0 , 1 , 3 )) * - 1 tmp32 = np . copy ( ints . tmp135 ) del ints . tmp135 tmp32 += ints . tmp66 * - 1 del ints . tmp66 tmp23 = np . copy ( ints . tmp243 ) tmp23 += ints . tmp310 * 2 del ints . tmp310 tmp23 += ints . tmp317 del ints . tmp317 tmp23 += np . transpose ( ints . tmp332 , ( 0 , 1 , 3 , 2 )) del ints . tmp332 tmp23 += np . transpose ( ints . tmp246 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp246 tmp23 += ints . tmp313 * - 2 del ints . tmp313 tmp23 += np . transpose ( ints . tmp330 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp330 tmp29 = einsum ( t1 . bb , ( 0 , 1 ), tmp26 , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) tmp37 = np . copy ( tmp34 ) * 0.5 del tmp34 tmp37 += tmp35 * - 0.5 del tmp35 tmp37 += tmp36 del tmp36 tmp25 = np . copy ( ints . tmp309 ) del ints . tmp309 tmp25 += ints . tmp315 * 2 del ints . tmp315 tmp25 += ints . tmp335 del ints . tmp335 tmp25 += ints . tmp49 tmp25 += ints . tmp312 * - 1 tmp33 = np . copy ( np . transpose ( ints . tmp239 , ( 1 , 0 ))) del ints . tmp239 tmp33 += ints . tmp255 * 2 del ints . tmp255 tmp33 += ints . tmp257 del ints . tmp257 tmp33 += f . bb . vv * - 1 tmp33 += np . transpose ( ints . tmp194 , ( 1 , 0 )) * - 1 del ints . tmp194 tmp33 += np . transpose ( ints . tmp197 , ( 1 , 0 )) * - 1 del ints . tmp197 tmp27 = np . copy ( ints . tmp250 ) del ints . tmp250 tmp27 += ints . tmp334 del ints . tmp334 tmp27 += np . transpose ( ints . tmp319 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp319 tmp21 = np . copy ( ints . tmp236 ) * 0.5 del ints . tmp236 tmp21 += ints . tmp251 * 0.5 del ints . tmp251 tmp21 += np . transpose ( ints . tmp275 , ( 0 , 2 , 1 , 3 )) del ints . tmp275 tmp21 += np . transpose ( ints . tmp301 , ( 0 , 3 , 1 , 2 )) * 0.5 del ints . tmp301 tmp21 += np . transpose ( ints . tmp263 , ( 0 , 3 , 1 , 2 )) * - 0.5 del ints . tmp263 tmp21 += np . transpose ( ints . tmp272 , ( 0 , 3 , 1 , 2 )) * - 1 del ints . tmp272 tmp21 += np . transpose ( ints . tmp279 , ( 0 , 3 , 1 , 2 )) * - 0.5 del ints . tmp279 tmp9 = np . copy ( ints . tmp103 ) * 2 del ints . tmp103 tmp9 += ints . tmp111 del ints . tmp111 tmp9 += ints . tmp133 * 2 del ints . tmp133 tmp9 += ints . tmp139 del ints . tmp139 tmp9 += ints . tmp149 * 2 del ints . tmp149 tmp9 += ints . tmp158 del ints . tmp158 tmp9 += ints . tmp175 del ints . tmp175 tmp9 += ints . tmp182 del ints . tmp182 tmp9 += ints . tmp192 del ints . tmp192 tmp9 += ints . tmp20 del ints . tmp20 tmp9 += ints . tmp211 del ints . tmp211 tmp9 += ints . tmp218 del ints . tmp218 tmp9 += ints . tmp2 del ints . tmp2 tmp9 += ints . tmp36 del ints . tmp36 tmp9 += ints . tmp64 * 2 del ints . tmp64 tmp9 += ints . tmp73 del ints . tmp73 tmp9 += ints . tmp79 * 2 del ints . tmp79 tmp9 += f . aa . ov * - 1 tmp9 += ints . tmp106 * - 2 del ints . tmp106 tmp9 += ints . tmp115 * - 1 del ints . tmp115 tmp9 += ints . tmp119 * - 2 del ints . tmp119 tmp9 += ints . tmp11 * - 1 del ints . tmp11 tmp9 += ints . tmp122 * - 1 del ints . tmp122 tmp9 += ints . tmp172 * - 1 del ints . tmp172 tmp9 += ints . tmp190 * - 1 del ints . tmp190 tmp9 += ints . tmp199 * - 1 del ints . tmp199 tmp9 += ints . tmp208 * - 1 del ints . tmp208 tmp9 += ints . tmp34 * - 1 del ints . tmp34 tmp9 += ints . tmp42 * - 1 del ints . tmp42 tmp9 += ints . tmp5 * - 1 del ints . tmp5 tmp9 += ints . tmp87 * - 1 del ints . tmp87 tmp9 += ints . tmp8 * - 2 del ints . tmp8 tmp20 = np . copy ( ints . tmp253 ) del ints . tmp253 tmp20 += np . transpose ( ints . tmp265 , ( 0 , 1 , 3 , 2 )) del ints . tmp265 tmp20 += np . transpose ( ints . tmp271 , ( 0 , 1 , 3 , 2 )) del ints . tmp271 tmp20 += np . transpose ( ints . tmp277 , ( 0 , 1 , 3 , 2 )) * 2 del ints . tmp277 tmp20 += np . transpose ( ints . tmp303 , ( 0 , 1 , 3 , 2 )) del ints . tmp303 tmp20 += ints . tmp99 tmp20 += ints . tmp274 * - 1 del ints . tmp274 tmp20 += np . transpose ( ints . tmp281 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp281 tmp28 = np . copy ( ints . tmp105 ) tmp28 += ints . tmp113 * 2 tmp28 += ints . tmp136 * 2 tmp28 += ints . tmp142 tmp28 += ints . tmp152 * 2 tmp28 += ints . tmp155 tmp28 += ints . tmp180 tmp28 += ints . tmp185 tmp28 += ints . tmp196 tmp28 += ints . tmp216 tmp28 += ints . tmp221 tmp28 += ints . tmp23 tmp28 += ints . tmp40 tmp28 += ints . tmp4 tmp28 += ints . tmp67 * 2 tmp28 += ints . tmp70 tmp28 += ints . tmp82 * 2 tmp28 += f . bb . ov * - 1 tmp28 += ints . tmp108 * - 1 tmp28 += ints . tmp10 * - 1 tmp28 += ints . tmp117 * - 2 tmp28 += ints . tmp121 * - 1 tmp28 += ints . tmp124 * - 2 tmp28 += ints . tmp13 * - 2 tmp28 += ints . tmp178 * - 1 tmp28 += ints . tmp195 * - 1 tmp28 += ints . tmp198 * - 1 tmp28 += ints . tmp214 * - 1 tmp28 += ints . tmp38 * - 1 tmp28 += ints . tmp41 * - 1 tmp28 += ints . tmp7 * - 1 tmp28 += ints . tmp85 * - 1 tmp14 = np . copy ( np . transpose ( ints . tmp31 , ( 1 , 0 ))) del ints . tmp31 tmp14 += ints . tmp58 * 2 del ints . tmp58 tmp14 += ints . tmp61 del ints . tmp61 tmp14 += f . aa . vv * - 1 tmp14 += np . transpose ( ints . tmp29 , ( 1 , 0 )) * - 1 del ints . tmp29 tmp14 += np . transpose ( ints . tmp33 , ( 1 , 0 )) * - 1 del ints . tmp33 tmp3 = np . copy ( ints . tmp160 ) * 2 del ints . tmp160 tmp3 += ints . tmp166 del ints . tmp166 tmp3 += np . transpose ( ints . tmp203 , ( 0 , 1 , 3 , 2 )) del ints . tmp203 tmp3 += ints . tmp44 tmp3 += ints . tmp163 * - 2 del ints . tmp163 tmp3 += np . transpose ( ints . tmp201 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp201 tmp3 += np . transpose ( ints . tmp47 , ( 0 , 1 , 3 , 2 )) * - 1 del ints . tmp47 tmp8 = np . copy ( ints . tmp105 ) * 0.5 del ints . tmp105 tmp8 += ints . tmp113 del ints . tmp113 tmp8 += ints . tmp136 del ints . tmp136 tmp8 += ints . tmp142 * 0.5 del ints . tmp142 tmp8 += ints . tmp152 del ints . tmp152 tmp8 += ints . tmp155 * 0.5 del ints . tmp155 tmp8 += ints . tmp180 * 0.5 del ints . tmp180 tmp8 += ints . tmp185 * 0.5 del ints . tmp185 tmp8 += ints . tmp196 * 0.5 del ints . tmp196 tmp8 += ints . tmp216 * 0.5 del ints . tmp216 tmp8 += ints . tmp221 * 0.5 del ints . tmp221 tmp8 += ints . tmp23 * 0.5 del ints . tmp23 tmp8 += ints . tmp40 * 0.5 del ints . tmp40 tmp8 += ints . tmp4 * 0.5 del ints . tmp4 tmp8 += ints . tmp67 del ints . tmp67 tmp8 += ints . tmp70 * 0.5 del ints . tmp70 tmp8 += ints . tmp82 del ints . tmp82 tmp8 += f . bb . ov * - 0.5 tmp8 += ints . tmp108 * - 0.5 del ints . tmp108 tmp8 += ints . tmp10 * - 0.5 del ints . tmp10 tmp8 += ints . tmp117 * - 1 del ints . tmp117 tmp8 += ints . tmp121 * - 0.5 del ints . tmp121 tmp8 += ints . tmp124 * - 1 del ints . tmp124 tmp8 += ints . tmp13 * - 1 del ints . tmp13 tmp8 += ints . tmp178 * - 0.5 del ints . tmp178 tmp8 += ints . tmp195 * - 0.5 del ints . tmp195 tmp8 += ints . tmp198 * - 0.5 del ints . tmp198 tmp8 += ints . tmp214 * - 0.5 del ints . tmp214 tmp8 += ints . tmp38 * - 0.5 del ints . tmp38 tmp8 += ints . tmp41 * - 0.5 del ints . tmp41 tmp8 += ints . tmp7 * - 0.5 del ints . tmp7 tmp8 += ints . tmp85 * - 0.5 del ints . tmp85 tmp1 = np . copy ( ints . tmp144 ) * 0.5 del ints . tmp144 tmp1 += np . transpose ( ints . tmp24 , ( 0 , 2 , 3 , 1 )) * 0.5 del ints . tmp24 tmp1 += np . transpose ( ints . tmp53 , ( 0 , 2 , 3 , 1 )) * 0.5 del ints . tmp53 tmp1 += np . transpose ( ints . tmp92 , ( 0 , 1 , 3 , 2 )) del ints . tmp92 tmp1 += ints . tmp75 * - 0.5 del ints . tmp75 tmp1 += ints . tmp89 * - 1 del ints . tmp89 tmp1 += ints . tmp95 * - 0.5 del ints . tmp95 tmp10 = einsum ( t1 . aa , ( 0 , 1 ), tmp6 , ( 2 , 3 , 1 ), ( 0 , 2 , 3 )) tmp5 = np . copy ( ints . tmp162 ) del ints . tmp162 tmp5 += ints . tmp168 * 2 del ints . tmp168 tmp5 += ints . tmp206 del ints . tmp206 tmp5 += ints . tmp49 tmp5 += ints . tmp165 * - 1 tmp0 = np . copy ( ints . tmp146 ) del ints . tmp146 tmp0 += np . transpose ( ints . tmp26 , ( 0 , 2 , 1 , 3 )) tmp0 += np . transpose ( ints . tmp55 , ( 0 , 2 , 1 , 3 )) del ints . tmp55 tmp0 += ints . tmp77 del ints . tmp77 tmp0 += ints . tmp91 del ints . tmp91 tmp0 += ints . tmp97 * 2 del ints . tmp97 tmp0 += ints . tmp100 * - 1 del ints . tmp100 tmp0 += np . transpose ( ints . tmp94 , ( 0 , 2 , 1 , 3 )) * - 1 del ints . tmp94 tmp7 = np . copy ( np . transpose ( ints . tmp205 , ( 0 , 1 , 3 , 2 ))) del ints . tmp205 tmp7 += np . transpose ( ints . tmp52 , ( 0 , 1 , 3 , 2 )) del ints . tmp52 tmp7 += ints . tmp170 * - 1 del ints . tmp170 tmp11 = np . copy ( ints . tmp141 ) del ints . tmp141 tmp11 += ints . tmp69 del ints . tmp69 tmp13 = np . copy ( ints . tmp132 ) del ints . tmp132 tmp13 += ints . tmp63 * - 1 del ints . tmp63 r2new . bbb = einsum ( r2 . bbb , ( 0 , 1 , 2 ), ints . tmp490 , ( 3 , 4 , 0 , 1 ), ( 4 , 3 , 2 )) * 2 del ints . tmp490 r2new . bbb += einsum ( tmp95 , ( 0 , 1 , 2 ), ints . tmp243 , ( 1 , 2 , 3 , 4 ), ( 4 , 3 , 0 )) * - 2 del tmp95 r2new . bbb += einsum ( ints . tmp243 , ( 0 , 1 , 2 , 3 ), tmp31 , ( 4 , 1 , 0 ), ( 3 , 2 , 4 )) * 2 del ints . tmp243 r2new . bbb += np . transpose ( tmp106 , ( 1 , 2 , 0 )) r2new . bbb += np . transpose ( tmp106 , ( 2 , 1 , 0 )) * - 1 del tmp106 r2new . bbb += np . transpose ( tmp118 , ( 1 , 2 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp118 , ( 2 , 1 , 0 )) del tmp118 r2new . bbb += einsum ( tmp94 , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 2 r2new . bbb += einsum ( r1 . b , ( 0 ,), tmp38 , ( 1 , 2 ), ( 0 , 2 , 1 )) r2new . bbb += einsum ( tmp38 , ( 0 , 1 ), r1 . b , ( 2 ,), ( 1 , 2 , 0 )) * - 1 r2new . bab = einsum ( tmp4 , ( 0 , 1 , 2 ), ints . tmp99 , ( 0 , 3 , 2 , 4 ), ( 4 , 3 , 1 )) r2new . bab += einsum ( ints . tmp426 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 2 , 1 , 4 ), ( 3 , 0 , 4 )) r2new . bab += einsum ( ints . tmp312 , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 4 , 2 , 0 ), ( 3 , 4 , 1 )) * 2 del ints . tmp312 r2new . bab += einsum ( ints . tmp26 , ( 0 , 1 , 2 , 3 ), r1 . a , ( 2 ,), ( 3 , 1 , 0 )) * - 1 r2new . bab += einsum ( ints . tmp26 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 4 , 0 , 2 ), ( 3 , 1 , 4 )) r2new . bab += einsum ( tmp86 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 4 , 2 , 0 ), ( 4 , 3 , 1 )) del tmp86 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp88 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 , 3 )) * - 1 del tmp88 r2new . bab += einsum ( tmp90 , ( 0 , 1 , 2 ), ints . tmp49 , ( 0 , 2 , 3 , 4 ), ( 4 , 3 , 1 )) * - 1 del tmp90 r2new . bab += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp91 , ( 0 , 3 ), ( 2 , 3 , 1 )) * - 2 del tmp91 r2new . bab += einsum ( tmp92 , ( 0 , 1 ), r2 . bab , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp92 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp93 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp93 r2new . bab += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp94 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 1 del tmp94 r2new . bab += einsum ( tmp18 , ( 0 ,), ints . tmp49 , ( 0 , 1 , 2 , 3 ), ( 3 , 2 , 1 )) * 2 r2new . bab += einsum ( r1 . a , ( 0 ,), tmp38 , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new . aba = einsum ( tmp24 , ( 0 , 1 , 2 ), ints . tmp26 , ( 1 , 2 , 3 , 4 ), ( 3 , 4 , 0 )) * - 1 del ints . tmp26 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), ints . tmp426 , ( 0 , 3 , 4 , 1 ), ( 3 , 4 , 2 )) del ints . tmp426 r2new . aba += einsum ( ints . tmp165 , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 4 , 3 , 1 ), ( 2 , 4 , 0 )) * 2 del ints . tmp165 r2new . aba += einsum ( r1 . b , ( 0 ,), ints . tmp99 , ( 1 , 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aba += einsum ( tmp26 , ( 0 , 1 , 2 ), ints . tmp99 , ( 1 , 3 , 4 , 2 ), ( 3 , 4 , 0 )) * - 1 del ints . tmp99 r2new . aba += einsum ( tmp70 , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 4 , 3 , 0 ), ( 4 , 2 , 1 )) del tmp70 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp71 , ( 2 , 3 , 0 , 4 ), ( 4 , 1 , 3 )) * - 1 del tmp71 r2new . aba += einsum ( tmp73 , ( 0 , 1 , 2 ), ints . tmp49 , ( 1 , 2 , 3 , 4 ), ( 3 , 4 , 0 )) del tmp73 r2new . aba += einsum ( tmp79 , ( 0 , 1 ), v . baa . xov , ( 0 , 2 , 3 ), ( 3 , 1 , 2 )) * - 2 del tmp79 r2new . aba += einsum ( tmp81 , ( 0 , 1 ), r2 . aba , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) * - 1 del tmp81 r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp83 , ( 0 , 3 ), ( 3 , 1 , 2 )) * - 1 del tmp83 r2new . aba += einsum ( tmp69 , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aba += einsum ( tmp84 , ( 0 ,), ints . tmp49 , ( 1 , 0 , 2 , 3 ), ( 2 , 3 , 1 )) del ints . tmp49 , tmp84 r2new . aba += einsum ( r1 . b , ( 0 ,), tmp19 , ( 1 , 2 ), ( 2 , 0 , 1 )) * - 1 r2new . aaa = einsum ( tmp39 , ( 0 , 1 , 2 ), ints . tmp44 , ( 1 , 2 , 3 , 4 ), ( 4 , 3 , 0 )) * - 2 del tmp39 r2new . aaa += einsum ( tmp12 , ( 0 , 1 , 2 ), ints . tmp44 , ( 2 , 1 , 3 , 4 ), ( 4 , 3 , 0 )) * 2 del ints . tmp44 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), ints . tmp387 , ( 3 , 4 , 0 , 1 ), ( 4 , 3 , 2 )) * 2 del ints . tmp387 r2new . aaa += np . transpose ( tmp54 , ( 1 , 2 , 0 )) r2new . aaa += np . transpose ( tmp54 , ( 2 , 1 , 0 )) * - 1 del tmp54 r2new . aaa += np . transpose ( tmp68 , ( 1 , 2 , 0 )) * - 1 r2new . aaa += np . transpose ( tmp68 , ( 2 , 1 , 0 )) del tmp68 r2new . aaa += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp69 , ( 2 , 3 ), ( 0 , 1 , 3 )) * - 2 del tmp69 r2new . aaa += einsum ( r1 . a , ( 0 ,), tmp19 , ( 1 , 2 ), ( 0 , 2 , 1 )) r2new . aaa += einsum ( tmp19 , ( 0 , 1 ), r1 . a , ( 2 ,), ( 1 , 2 , 0 )) * - 1 r1new . b = einsum ( r2 . aba , ( 0 , 1 , 2 ), tmp20 , ( 2 , 0 , 3 , 1 ), ( 3 ,)) * - 1 del tmp20 r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp21 , ( 2 , 3 , 0 , 1 ), ( 3 ,)) * 4 del tmp21 r1new . b += einsum ( tmp22 , ( 0 , 1 , 2 ), tmp23 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * 2 del tmp22 , tmp23 r1new . b += einsum ( tmp24 , ( 0 , 1 , 2 ), tmp25 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) del tmp24 , tmp25 r1new . b += einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), tmp26 , ( 0 , 1 , 3 ), ( 2 ,)) del tmp26 , tmp27 r1new . b += einsum ( tmp9 , ( 0 , 1 ), r2 . aba , ( 1 , 2 , 0 ), ( 2 ,)) r1new . b += einsum ( r2 . bbb , ( 0 , 1 , 2 ), tmp28 , ( 2 , 1 ), ( 0 ,)) * - 2 del tmp28 r1new . b += einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), tmp29 , ( 0 , 1 , 2 ), ( 3 ,)) * - 1 del tmp30 , tmp29 r1new . b += einsum ( tmp31 , ( 0 , 1 , 2 ), tmp32 , ( 0 , 2 , 1 , 3 ), ( 3 ,)) * - 2 del tmp31 , tmp32 r1new . b += einsum ( tmp33 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 1 del tmp33 r1new . b += einsum ( tmp37 , ( 0 ,), tmp38 , ( 0 , 1 ), ( 1 ,)) * - 2 del tmp38 , tmp37 r1new . a = einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 0 ), ( 2 ,)) * - 1 del tmp0 r1new . a += einsum ( r2 . aaa , ( 0 , 1 , 2 ), tmp1 , ( 2 , 1 , 0 , 3 ), ( 3 ,)) * - 4 del tmp1 r1new . a += einsum ( tmp2 , ( 0 , 1 , 2 ), tmp3 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) * 2 del tmp2 , tmp3 r1new . a += einsum ( tmp4 , ( 0 , 1 , 2 ), tmp5 , ( 0 , 1 , 3 , 2 ), ( 3 ,)) * - 1 del tmp4 , tmp5 r1new . a += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), tmp6 , ( 0 , 1 , 2 ), ( 3 ,)) * - 1 del tmp6 , tmp7 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), tmp8 , ( 2 , 0 ), ( 1 ,)) * 2 del tmp8 r1new . a += einsum ( tmp9 , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 0 ), ( 2 ,)) * - 2 del tmp9 r1new . a += einsum ( tmp10 , ( 0 , 1 , 2 ), tmp11 , ( 0 , 1 , 2 , 3 ), ( 3 ,)) del tmp10 , tmp11 r1new . a += einsum ( tmp12 , ( 0 , 1 , 2 ), tmp13 , ( 0 , 2 , 1 , 3 ), ( 3 ,)) * - 2 del tmp12 , tmp13 r1new . a += einsum ( r1 . a , ( 0 ,), tmp14 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp14 r1new . a += einsum ( tmp18 , ( 0 ,), tmp19 , ( 0 , 1 ), ( 1 ,)) * - 2 del tmp19 , tmp18 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UDFDCD/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-09T22:08:58.063564 python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0] albert version: 0.0.0 caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py node: fv-az1487-369 system: Linux processor: x86_64 release: 6.5.0-1025-azure ebcc . codegen . UDFDCD . energy ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T22:08:58.781780. Parameters t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns e_cc : float Coupled cluster energy. Source code in ebcc/codegen/UDFDCD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:08:58.781780. 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 )) e_cc = einsum ( tmp0 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 0 , 1 ), ()) del tmp0 tmp1 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 3 , 4 , 0 )) tmp1 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) e_cc += einsum ( tmp1 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 0 , 1 ), ()) del tmp1 return e_cc ebcc . codegen . UDFDCD . update_amps ( f = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T22:09:16.572318. 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. Source code in ebcc/codegen/UDFDCD.py 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 def update_amps ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:09:16.572318. 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 () tmp23 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 3 , 4 , 0 )) tmp24 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp0 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 0 , 2 , 4 )) tmp1 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) t2new . aaaa = einsum ( tmp1 , ( 0 , 1 , 2 ), tmp1 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) * 0.5 tmp40 = np . copy ( tmp23 ) * 0.5 tmp40 += tmp24 tmp2 = np . copy ( tmp0 ) * 2 tmp2 += tmp1 tmp47 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp40 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp41 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp40 , ( 3 , 2 , 0 ), ( 3 , 1 )) del tmp40 tmp3 = einsum ( tmp2 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 3 , 1 ), ( 3 , 0 )) * 0.5 tmp10 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp2 , ( 1 , 3 , 0 ), ( 2 , 3 )) * 0.5 del tmp2 tmp55 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp48 = np . copy ( f . bb . vv ) * - 1 tmp48 += tmp47 del tmp47 tmp57 = np . copy ( np . transpose ( v . bbb . xov , ( 1 , 2 , 0 ))) tmp57 += tmp24 tmp44 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp53 = np . copy ( np . transpose ( v . bbb . xov , ( 1 , 2 , 0 ))) tmp53 += tmp23 tmp53 += tmp24 * 2 tmp42 = np . copy ( f . bb . oo ) tmp42 += tmp41 del tmp41 tmp38 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) t2new . abab = einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 tmp25 = np . copy ( tmp23 ) tmp25 += tmp24 * 2 tmp34 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp28 = np . copy ( tmp0 ) tmp28 += tmp1 * 0.5 tmp8 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) t2new . abab += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 tmp16 = np . copy ( np . transpose ( v . baa . xov , ( 1 , 2 , 0 ))) * 2 tmp16 += tmp1 tmp6 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp4 = np . copy ( f . aa . oo ) tmp4 += np . transpose ( tmp3 , ( 1 , 0 )) del tmp3 tmp11 = np . copy ( f . aa . vv ) * - 1 tmp11 += np . transpose ( tmp10 , ( 1 , 0 )) del tmp10 tmp21 = np . copy ( np . transpose ( v . baa . xov , ( 1 , 2 , 0 ))) tmp21 += tmp0 tmp19 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp56 = einsum ( tmp55 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 2 , 0 )) del tmp55 t2new . bbbb = np . copy ( np . transpose ( tmp56 , ( 0 , 1 , 3 , 2 ))) * - 1 t2new . bbbb += np . transpose ( tmp56 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp56 tmp49 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp48 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp48 t2new . bbbb += np . transpose ( tmp49 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp49 , ( 1 , 0 , 3 , 2 )) del tmp49 tmp58 = einsum ( tmp24 , ( 0 , 1 , 2 ), tmp57 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) * 2 del tmp57 t2new . bbbb += np . transpose ( tmp58 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp58 del tmp58 tmp45 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp44 , ( 4 , 0 , 5 , 1 ), ( 5 , 4 , 2 , 3 )) del tmp44 t2new . bbbb += np . transpose ( tmp45 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp45 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp45 tmp60 = np . copy ( np . transpose ( v . bbb . xov , ( 1 , 2 , 0 ))) * 2 tmp60 += tmp23 t2new . bbbb += einsum ( tmp60 , ( 0 , 1 , 2 ), tmp23 , ( 3 , 4 , 2 ), ( 3 , 0 , 1 , 4 )) * - 0.5 del tmp60 tmp54 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp53 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) del tmp53 t2new . bbbb += np . transpose ( tmp54 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp54 , ( 1 , 0 , 3 , 2 )) del tmp54 tmp43 = einsum ( tmp42 , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 1 del tmp42 t2new . bbbb += np . transpose ( tmp43 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp43 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp43 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp43 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp43 tmp59 = np . copy ( np . transpose ( v . bbb . xov , ( 1 , 2 , 0 ))) tmp59 += tmp23 * 0.5 t2new . bbbb += einsum ( tmp59 , ( 0 , 1 , 2 ), tmp23 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) del tmp59 tmp46 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp38 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp38 t2new . bbbb += np . transpose ( tmp46 , ( 0 , 1 , 3 , 2 )) * 2 t2new . bbbb += tmp46 * - 2 t2new . bbbb += np . transpose ( tmp46 , ( 1 , 0 , 2 , 3 )) * 2 t2new . bbbb += np . transpose ( tmp46 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp46 tmp52 = einsum ( tmp23 , ( 0 , 1 , 2 ), tmp24 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) t2new . bbbb += np . transpose ( tmp52 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp52 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp52 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += tmp52 t2new . bbbb += np . transpose ( tmp52 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp52 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp52 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += tmp52 del tmp52 tmp50 = einsum ( tmp23 , ( 0 , 1 , 2 ), tmp23 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) t2new . bbbb += np . transpose ( tmp50 , ( 0 , 1 , 3 , 2 )) * - 0.5 t2new . bbbb += np . transpose ( tmp50 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp50 tmp51 = einsum ( tmp24 , ( 0 , 1 , 2 ), tmp24 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) t2new . bbbb += np . transpose ( tmp51 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += tmp51 * 2 del tmp51 tmp36 = np . copy ( tmp0 ) * 2 tmp36 += tmp1 tmp39 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) t2new . abab += einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) * - 1 del tmp39 tmp27 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp27 tmp26 = np . copy ( f . bb . oo ) tmp26 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp25 , ( 3 , 2 , 0 ), ( 1 , 3 )) * 0.5 t2new . abab += einsum ( tmp26 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 del tmp26 tmp33 = np . copy ( np . transpose ( v . baa . xov , ( 1 , 2 , 0 ))) * 2 tmp33 += tmp0 * 2 tmp33 += tmp1 t2new . abab += einsum ( tmp33 , ( 0 , 1 , 2 ), tmp25 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) * 0.5 del tmp33 tmp35 = einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) del tmp34 t2new . abab += tmp35 * 0.5 t2new . abab += tmp35 * 0.5 del tmp35 tmp31 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp31 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) * - 1 del tmp31 tmp37 = np . copy ( np . transpose ( v . bbb . xov , ( 1 , 2 , 0 ))) tmp37 += tmp23 * 0.5 del tmp23 tmp37 += tmp24 del tmp24 t2new . abab += einsum ( tmp37 , ( 0 , 1 , 2 ), tmp36 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) del tmp37 , tmp36 tmp32 = np . copy ( f . bb . vv ) * - 2 tmp32 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp25 , ( 1 , 3 , 0 ), ( 2 , 3 )) del tmp25 t2new . abab += einsum ( tmp32 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 0.5 del tmp32 tmp29 = np . copy ( f . aa . oo ) tmp29 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp28 , ( 3 , 2 , 0 ), ( 1 , 3 )) t2new . abab += einsum ( tmp29 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp29 tmp30 = np . copy ( f . aa . vv ) * - 1 tmp30 += einsum ( tmp28 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 0 , 3 ), ( 3 , 1 )) del tmp28 t2new . abab += einsum ( tmp30 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp30 tmp9 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp8 t2new . aaaa += np . transpose ( tmp9 , ( 0 , 1 , 3 , 2 )) * 2 t2new . aaaa += tmp9 * - 2 t2new . aaaa += np . transpose ( tmp9 , ( 1 , 0 , 2 , 3 )) * 2 t2new . aaaa += np . transpose ( tmp9 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp9 tmp17 = einsum ( tmp1 , ( 0 , 1 , 2 ), tmp16 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) * 0.5 del tmp16 t2new . aaaa += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp17 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp17 tmp14 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp1 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) t2new . aaaa += np . transpose ( tmp14 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp14 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp14 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += tmp14 t2new . aaaa += np . transpose ( tmp14 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp14 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp14 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += tmp14 del tmp14 tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 3 , 4 , 5 ), ( 2 , 0 , 4 , 5 )) del tmp6 t2new . aaaa += np . transpose ( tmp7 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp7 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp7 tmp5 = einsum ( tmp4 , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 1 del tmp4 t2new . aaaa += np . transpose ( tmp5 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp5 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp5 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp5 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp5 tmp15 = np . copy ( np . transpose ( v . baa . xov , ( 1 , 2 , 0 ))) tmp15 += tmp0 * 2 tmp15 += tmp1 del tmp1 t2new . aaaa += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp15 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) del tmp15 tmp12 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp11 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp11 t2new . aaaa += np . transpose ( tmp12 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp12 , ( 1 , 0 , 3 , 2 )) del tmp12 tmp13 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp0 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) t2new . aaaa += np . transpose ( tmp13 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += tmp13 * 2 del tmp13 tmp22 = einsum ( tmp21 , ( 0 , 1 , 2 ), tmp0 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) * 2 del tmp21 t2new . aaaa += np . transpose ( tmp22 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp22 , ( 1 , 0 , 3 , 2 )) del tmp22 tmp20 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) del tmp19 t2new . aaaa += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp20 tmp18 = np . copy ( np . transpose ( v . baa . xov , ( 1 , 2 , 0 ))) tmp18 += tmp0 * 2 del tmp0 t2new . aaaa += einsum ( tmp18 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 1 , 4 )) * - 1 del tmp18 t2new . abab += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) return { f \"t2new\" : t2new }","title":"UDFDCD"},{"location":"reference/codegen/UDFDCD/#ebcc.codegen.UDFDCD.energy","text":"Code generated by albert 0.0.0 on 2024-08-09T22:08:58.781780.","title":"energy"},{"location":"reference/codegen/UDFDCD/#ebcc.codegen.UDFDCD.energy--parameters","text":"t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UDFDCD/#ebcc.codegen.UDFDCD.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/UDFDCD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:08:58.781780. 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 )) e_cc = einsum ( tmp0 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 0 , 1 ), ()) del tmp0 tmp1 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 3 , 4 , 0 )) tmp1 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) e_cc += einsum ( tmp1 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 0 , 1 ), ()) del tmp1 return e_cc","title":"Returns"},{"location":"reference/codegen/UDFDCD/#ebcc.codegen.UDFDCD.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-09T22:09:16.572318.","title":"update_amps"},{"location":"reference/codegen/UDFDCD/#ebcc.codegen.UDFDCD.update_amps--parameters","text":"f : Namespace of arrays Fock matrix. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UDFDCD/#ebcc.codegen.UDFDCD.update_amps--returns","text":"t2new : Namespace of arrays Updated T2 residuals. Source code in ebcc/codegen/UDFDCD.py 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 def update_amps ( f = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:09:16.572318. 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 () tmp23 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 3 , 4 , 0 )) tmp24 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp0 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . baa . xov , ( 4 , 1 , 3 ), ( 0 , 2 , 4 )) tmp1 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) t2new . aaaa = einsum ( tmp1 , ( 0 , 1 , 2 ), tmp1 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) * 0.5 tmp40 = np . copy ( tmp23 ) * 0.5 tmp40 += tmp24 tmp2 = np . copy ( tmp0 ) * 2 tmp2 += tmp1 tmp47 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp40 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp41 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp40 , ( 3 , 2 , 0 ), ( 3 , 1 )) del tmp40 tmp3 = einsum ( tmp2 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 3 , 1 ), ( 3 , 0 )) * 0.5 tmp10 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp2 , ( 1 , 3 , 0 ), ( 2 , 3 )) * 0.5 del tmp2 tmp55 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp48 = np . copy ( f . bb . vv ) * - 1 tmp48 += tmp47 del tmp47 tmp57 = np . copy ( np . transpose ( v . bbb . xov , ( 1 , 2 , 0 ))) tmp57 += tmp24 tmp44 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp53 = np . copy ( np . transpose ( v . bbb . xov , ( 1 , 2 , 0 ))) tmp53 += tmp23 tmp53 += tmp24 * 2 tmp42 = np . copy ( f . bb . oo ) tmp42 += tmp41 del tmp41 tmp38 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) t2new . abab = einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 tmp25 = np . copy ( tmp23 ) tmp25 += tmp24 * 2 tmp34 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp28 = np . copy ( tmp0 ) tmp28 += tmp1 * 0.5 tmp8 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) t2new . abab += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 tmp16 = np . copy ( np . transpose ( v . baa . xov , ( 1 , 2 , 0 ))) * 2 tmp16 += tmp1 tmp6 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp4 = np . copy ( f . aa . oo ) tmp4 += np . transpose ( tmp3 , ( 1 , 0 )) del tmp3 tmp11 = np . copy ( f . aa . vv ) * - 1 tmp11 += np . transpose ( tmp10 , ( 1 , 0 )) del tmp10 tmp21 = np . copy ( np . transpose ( v . baa . xov , ( 1 , 2 , 0 ))) tmp21 += tmp0 tmp19 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp56 = einsum ( tmp55 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 2 , 0 )) del tmp55 t2new . bbbb = np . copy ( np . transpose ( tmp56 , ( 0 , 1 , 3 , 2 ))) * - 1 t2new . bbbb += np . transpose ( tmp56 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp56 tmp49 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp48 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp48 t2new . bbbb += np . transpose ( tmp49 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp49 , ( 1 , 0 , 3 , 2 )) del tmp49 tmp58 = einsum ( tmp24 , ( 0 , 1 , 2 ), tmp57 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) * 2 del tmp57 t2new . bbbb += np . transpose ( tmp58 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp58 del tmp58 tmp45 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp44 , ( 4 , 0 , 5 , 1 ), ( 5 , 4 , 2 , 3 )) del tmp44 t2new . bbbb += np . transpose ( tmp45 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp45 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp45 tmp60 = np . copy ( np . transpose ( v . bbb . xov , ( 1 , 2 , 0 ))) * 2 tmp60 += tmp23 t2new . bbbb += einsum ( tmp60 , ( 0 , 1 , 2 ), tmp23 , ( 3 , 4 , 2 ), ( 3 , 0 , 1 , 4 )) * - 0.5 del tmp60 tmp54 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp53 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) del tmp53 t2new . bbbb += np . transpose ( tmp54 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp54 , ( 1 , 0 , 3 , 2 )) del tmp54 tmp43 = einsum ( tmp42 , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 1 del tmp42 t2new . bbbb += np . transpose ( tmp43 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp43 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp43 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp43 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp43 tmp59 = np . copy ( np . transpose ( v . bbb . xov , ( 1 , 2 , 0 ))) tmp59 += tmp23 * 0.5 t2new . bbbb += einsum ( tmp59 , ( 0 , 1 , 2 ), tmp23 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) del tmp59 tmp46 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp38 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp38 t2new . bbbb += np . transpose ( tmp46 , ( 0 , 1 , 3 , 2 )) * 2 t2new . bbbb += tmp46 * - 2 t2new . bbbb += np . transpose ( tmp46 , ( 1 , 0 , 2 , 3 )) * 2 t2new . bbbb += np . transpose ( tmp46 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp46 tmp52 = einsum ( tmp23 , ( 0 , 1 , 2 ), tmp24 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) t2new . bbbb += np . transpose ( tmp52 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp52 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp52 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += tmp52 t2new . bbbb += np . transpose ( tmp52 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp52 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp52 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += tmp52 del tmp52 tmp50 = einsum ( tmp23 , ( 0 , 1 , 2 ), tmp23 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) t2new . bbbb += np . transpose ( tmp50 , ( 0 , 1 , 3 , 2 )) * - 0.5 t2new . bbbb += np . transpose ( tmp50 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp50 tmp51 = einsum ( tmp24 , ( 0 , 1 , 2 ), tmp24 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) t2new . bbbb += np . transpose ( tmp51 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += tmp51 * 2 del tmp51 tmp36 = np . copy ( tmp0 ) * 2 tmp36 += tmp1 tmp39 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) t2new . abab += einsum ( tmp39 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) * - 1 del tmp39 tmp27 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp27 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp27 tmp26 = np . copy ( f . bb . oo ) tmp26 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp25 , ( 3 , 2 , 0 ), ( 1 , 3 )) * 0.5 t2new . abab += einsum ( tmp26 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 del tmp26 tmp33 = np . copy ( np . transpose ( v . baa . xov , ( 1 , 2 , 0 ))) * 2 tmp33 += tmp0 * 2 tmp33 += tmp1 t2new . abab += einsum ( tmp33 , ( 0 , 1 , 2 ), tmp25 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) * 0.5 del tmp33 tmp35 = einsum ( tmp34 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) del tmp34 t2new . abab += tmp35 * 0.5 t2new . abab += tmp35 * 0.5 del tmp35 tmp31 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp31 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) * - 1 del tmp31 tmp37 = np . copy ( np . transpose ( v . bbb . xov , ( 1 , 2 , 0 ))) tmp37 += tmp23 * 0.5 del tmp23 tmp37 += tmp24 del tmp24 t2new . abab += einsum ( tmp37 , ( 0 , 1 , 2 ), tmp36 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) del tmp37 , tmp36 tmp32 = np . copy ( f . bb . vv ) * - 2 tmp32 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp25 , ( 1 , 3 , 0 ), ( 2 , 3 )) del tmp25 t2new . abab += einsum ( tmp32 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 0.5 del tmp32 tmp29 = np . copy ( f . aa . oo ) tmp29 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp28 , ( 3 , 2 , 0 ), ( 1 , 3 )) t2new . abab += einsum ( tmp29 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp29 tmp30 = np . copy ( f . aa . vv ) * - 1 tmp30 += einsum ( tmp28 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 0 , 3 ), ( 3 , 1 )) del tmp28 t2new . abab += einsum ( tmp30 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp30 tmp9 = einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp8 t2new . aaaa += np . transpose ( tmp9 , ( 0 , 1 , 3 , 2 )) * 2 t2new . aaaa += tmp9 * - 2 t2new . aaaa += np . transpose ( tmp9 , ( 1 , 0 , 2 , 3 )) * 2 t2new . aaaa += np . transpose ( tmp9 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp9 tmp17 = einsum ( tmp1 , ( 0 , 1 , 2 ), tmp16 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) * 0.5 del tmp16 t2new . aaaa += np . transpose ( tmp17 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp17 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp17 tmp14 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp1 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) t2new . aaaa += np . transpose ( tmp14 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp14 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp14 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += tmp14 t2new . aaaa += np . transpose ( tmp14 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp14 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp14 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += tmp14 del tmp14 tmp7 = einsum ( tmp6 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 3 , 4 , 5 ), ( 2 , 0 , 4 , 5 )) del tmp6 t2new . aaaa += np . transpose ( tmp7 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp7 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp7 tmp5 = einsum ( tmp4 , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 1 del tmp4 t2new . aaaa += np . transpose ( tmp5 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp5 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp5 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp5 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp5 tmp15 = np . copy ( np . transpose ( v . baa . xov , ( 1 , 2 , 0 ))) tmp15 += tmp0 * 2 tmp15 += tmp1 del tmp1 t2new . aaaa += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp15 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) del tmp15 tmp12 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp11 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp11 t2new . aaaa += np . transpose ( tmp12 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp12 , ( 1 , 0 , 3 , 2 )) del tmp12 tmp13 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp0 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) t2new . aaaa += np . transpose ( tmp13 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += tmp13 * 2 del tmp13 tmp22 = einsum ( tmp21 , ( 0 , 1 , 2 ), tmp0 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) * 2 del tmp21 t2new . aaaa += np . transpose ( tmp22 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp22 , ( 1 , 0 , 3 , 2 )) del tmp22 tmp20 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp19 , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 5 , 4 )) del tmp19 t2new . aaaa += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp20 tmp18 = np . copy ( np . transpose ( v . baa . xov , ( 1 , 2 , 0 ))) tmp18 += tmp0 * 2 del tmp0 t2new . aaaa += einsum ( tmp18 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 1 , 4 )) * - 1 del tmp18 t2new . abab += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) return { f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/UDFDCSD/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-09T22:11:19.899459 python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0] albert version: 0.0.0 caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py node: fv-az1487-369 system: Linux processor: x86_64 release: 6.5.0-1025-azure ebcc . codegen . UDFDCSD . energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T22:11:21.706198. 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. Source code in ebcc/codegen/UDFDCSD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:11:21.706198. 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 ,)) tmp5 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp1 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp1 += tmp0 * 2 tmp3 = einsum ( t1 . aa , ( 0 , 1 ), v . baa . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp6 = np . copy ( f . bb . ov ) * 2 tmp6 += einsum ( tmp5 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) * - 1 del tmp5 e_cc = einsum ( t1 . bb , ( 0 , 1 ), tmp6 , ( 0 , 1 ), ()) * 0.5 del tmp6 tmp2 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp2 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp2 += einsum ( tmp1 , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 1 , 2 , 0 )) * 0.5 del tmp1 e_cc += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp2 , ( 1 , 2 , 0 ), ()) del tmp2 tmp7 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 0 , 2 , 4 )) tmp7 += einsum ( t1 . bb , ( 0 , 1 ), tmp0 , ( 2 ,), ( 0 , 1 , 2 )) * 0.5 del tmp0 e_cc += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp7 , ( 1 , 2 , 0 ), ()) del tmp7 tmp4 = np . copy ( f . aa . ov ) * 2 tmp4 += einsum ( tmp3 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) * - 1 del tmp3 e_cc += einsum ( t1 . aa , ( 0 , 1 ), tmp4 , ( 0 , 1 ), ()) * 0.5 del tmp4 return e_cc ebcc . codegen . UDFDCSD . update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T22:12:46.857900. 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. Source code in ebcc/codegen/UDFDCSD.py 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:12:46.857900. 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 () tmp21 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp6 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t1 . bb , ( 1 , 2 ), ( 0 ,)) tmp5 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp0 = einsum ( t1 . aa , ( 0 , 1 ), v . baa . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp134 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 0 , 3 ), ( 1 , 3 , 2 )) tmp130 = einsum ( t1 . bb , ( 0 , 1 ), tmp21 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) tmp39 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), t1 . bb , ( 3 , 2 ), ( 3 , 1 , 0 )) t1new . bb = einsum ( tmp39 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) * - 1 tmp9 = np . copy ( tmp5 ) tmp9 += tmp6 tmp22 = einsum ( tmp21 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp7 = np . copy ( tmp5 ) del tmp5 tmp7 += tmp6 del tmp6 tmp33 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp29 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 3 , 4 , 0 )) tmp110 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xoo , ( 2 , 3 , 0 ), ( 3 , 1 , 2 )) tmp70 = einsum ( tmp0 , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 3 ), ( 0 , 3 , 2 )) tmp16 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 3 , 1 , 0 )) t1new . aa = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp16 , ( 2 , 3 , 0 ), ( 1 , 3 )) * - 1 tmp72 = einsum ( t1 . aa , ( 0 , 1 ), v . baa . xov , ( 2 , 0 , 3 ), ( 1 , 3 , 2 )) tmp11 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp42 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), t1 . aa , ( 2 , 3 ), ( 1 , 3 , 0 )) tmp3 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp13 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp0 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp176 = np . copy ( np . transpose ( v . bbb . xvv , ( 1 , 2 , 0 ))) tmp176 += np . transpose ( tmp134 , ( 1 , 0 , 2 )) * - 1 tmp146 = np . copy ( tmp39 ) tmp146 += tmp130 * - 1 t2new . abab = einsum ( tmp11 , ( 0 , 1 , 2 ), tmp146 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) * 2 tmp32 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp9 , ( 0 ,), ( 1 , 2 )) t1new . bb += tmp32 tmp35 = np . copy ( f . bb . ov ) tmp35 += tmp22 * - 1 tmp118 = np . copy ( tmp39 ) tmp118 += tmp29 * 0.5 tmp118 += tmp33 tmp118 += einsum ( t1 . bb , ( 0 , 1 ), tmp7 , ( 2 ,), ( 0 , 1 , 2 )) tmp183 = np . copy ( tmp110 ) tmp183 += tmp33 * - 1 tmp171 = np . copy ( np . transpose ( v . bbb . xvv , ( 1 , 2 , 0 ))) tmp171 += np . transpose ( tmp134 , ( 1 , 0 , 2 )) * - 1 tmp111 = np . copy ( tmp110 ) * - 1 tmp111 += tmp29 * 0.5 tmp111 += tmp33 t2new . abab += einsum ( tmp11 , ( 0 , 1 , 2 ), tmp111 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) * 2 tmp79 = np . copy ( tmp16 ) tmp79 += tmp70 * - 1 t2new . abab += einsum ( tmp79 , ( 0 , 1 , 2 ), tmp33 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) * 2 tmp81 = np . copy ( np . transpose ( v . baa . xvv , ( 1 , 2 , 0 ))) tmp81 += np . transpose ( tmp72 , ( 1 , 0 , 2 )) * - 1 tmp43 = np . copy ( tmp42 ) * - 1 tmp43 += tmp11 tmp43 += tmp3 * 0.5 t2new . abab += einsum ( tmp43 , ( 0 , 1 , 2 ), tmp33 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) * 2 tmp88 = np . copy ( tmp42 ) tmp88 += tmp11 * - 1 tmp73 = np . copy ( np . transpose ( v . baa . xvv , ( 1 , 2 , 0 ))) tmp73 += np . transpose ( tmp72 , ( 1 , 0 , 2 )) * - 1 tmp52 = np . copy ( tmp16 ) tmp52 += tmp11 tmp52 += tmp3 * 0.5 tmp52 += einsum ( t1 . aa , ( 0 , 1 ), tmp7 , ( 2 ,), ( 0 , 1 , 2 )) tmp14 = np . copy ( f . aa . ov ) tmp14 += tmp13 * - 1 tmp10 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp9 , ( 0 ,), ( 1 , 2 )) del tmp9 t1new . aa += tmp10 tmp177 = einsum ( tmp21 , ( 0 , 1 , 2 ), tmp176 , ( 3 , 4 , 2 ), ( 0 , 1 , 3 , 4 )) del tmp176 tmp147 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp146 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) tmp163 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp21 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp23 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp7 , ( 0 ,), ( 1 , 2 )) tmp167 = np . copy ( f . bb . ov ) tmp167 += tmp22 * - 1 tmp167 += tmp32 del tmp32 tmp192 = einsum ( tmp21 , ( 0 , 1 , 2 ), tmp21 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp120 = einsum ( tmp7 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp121 = einsum ( tmp35 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 2 , 1 )) tmp119 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp118 , ( 1 , 3 , 0 ), ( 2 , 3 )) del tmp118 tmp184 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp183 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) del tmp183 tmp185 = einsum ( tmp171 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 2 , 3 , 4 ), ( 3 , 4 , 0 , 1 )) tmp112 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp111 , ( 3 , 2 , 0 ), ( 1 , 3 )) tmp40 = einsum ( tmp7 , ( 0 ,), v . bbb . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp142 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp80 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp79 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) tmp82 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp81 , ( 3 , 4 , 2 ), ( 0 , 1 , 3 , 4 )) del tmp81 tmp44 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp43 , ( 3 , 2 , 0 ), ( 1 , 3 )) * 2 tmp45 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp7 , ( 0 ,), ( 1 , 2 )) * 2 tmp98 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp0 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) tmp89 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp88 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) del tmp88 tmp90 = einsum ( tmp73 , ( 0 , 1 , 2 ), v . baa . xoo , ( 2 , 3 , 4 ), ( 3 , 4 , 0 , 1 )) tmp19 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp7 , ( 0 ,), ( 1 , 2 )) tmp53 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp52 , ( 1 , 3 , 0 ), ( 2 , 3 )) del tmp52 tmp54 = einsum ( tmp7 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp55 = einsum ( tmp14 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 2 , 1 )) tmp67 = np . copy ( f . aa . ov ) tmp67 += tmp13 * - 1 tmp67 += tmp10 del tmp10 tmp62 = einsum ( tmp0 , ( 0 , 1 , 2 ), v . baa . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp178 = np . copy ( np . transpose ( tmp147 , ( 1 , 0 , 3 , 2 ))) * - 1 tmp178 += np . transpose ( tmp177 , ( 0 , 1 , 3 , 2 )) del tmp177 tmp174 = np . copy ( tmp39 ) * - 1 tmp174 += tmp130 tmp165 = einsum ( t1 . bb , ( 0 , 1 ), tmp163 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp188 = np . copy ( tmp110 ) tmp188 += tmp29 * - 0.5 tmp200 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp171 , ( 3 , 4 , 0 ), ( 1 , 4 , 3 , 2 )) tmp198 = einsum ( tmp21 , ( 0 , 1 , 2 ), tmp39 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp24 = np . copy ( f . bb . ov ) tmp24 += tmp22 * - 1 del tmp22 tmp24 += tmp23 del tmp23 t1new . bb += einsum ( tmp24 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 2 t1new . aa += einsum ( tmp24 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp37 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) t1new . bb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 2 tmp168 = einsum ( t1 . bb , ( 0 , 1 ), tmp167 , ( 2 , 1 ), ( 2 , 0 )) del tmp167 tmp196 = einsum ( tmp192 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp131 = np . copy ( np . transpose ( v . bbb . xov , ( 1 , 2 , 0 ))) tmp131 += tmp39 tmp131 += tmp130 * - 1 t2new . abab += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp131 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) tmp190 = np . copy ( tmp110 ) * 2 del tmp110 tmp190 += tmp29 * - 1 tmp155 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp28 = einsum ( tmp21 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) t1new . bb += einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 2 tmp122 = np . copy ( f . bb . vv ) * - 1 tmp122 += tmp119 del tmp119 tmp122 += np . transpose ( tmp120 , ( 1 , 0 )) * - 1 del tmp120 tmp122 += np . transpose ( tmp121 , ( 1 , 0 )) del tmp121 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp122 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 1 tmp117 = np . copy ( tmp29 ) tmp117 += tmp33 * 2 t2new . abab += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp117 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) tmp186 = np . copy ( tmp184 ) * - 1 del tmp184 tmp186 += np . transpose ( tmp185 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp185 tmp170 = np . copy ( tmp39 ) tmp170 += tmp130 * - 1 tmp113 = np . copy ( f . bb . oo ) tmp113 += tmp112 del tmp112 tmp113 += np . transpose ( tmp40 , ( 1 , 0 )) t2new . abab += einsum ( tmp113 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 tmp161 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp39 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp203 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp128 = np . copy ( np . transpose ( v . baa . xvv , ( 1 , 2 , 0 ))) tmp128 += tmp72 * - 1 tmp150 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp132 = np . copy ( np . transpose ( v . baa . xvv , ( 1 , 2 , 0 ))) tmp132 += tmp72 * - 1 del tmp72 tmp140 = np . copy ( np . transpose ( v . bbb . xvv , ( 1 , 2 , 0 ))) tmp140 += tmp134 * - 1 tmp143 = einsum ( tmp142 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp142 tmp135 = np . copy ( np . transpose ( v . bbb . xvv , ( 1 , 2 , 0 ))) tmp135 += tmp134 * - 1 del tmp134 tmp25 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp7 , ( 0 ,), ( 1 , 2 )) tmp83 = np . copy ( np . transpose ( tmp80 , ( 1 , 0 , 3 , 2 ))) * - 1 tmp83 += np . transpose ( tmp82 , ( 0 , 1 , 3 , 2 )) del tmp82 tmp46 = np . copy ( f . aa . oo ) * 2 tmp46 += tmp44 del tmp44 tmp46 += np . transpose ( tmp45 , ( 1 , 0 )) del tmp45 tmp103 = einsum ( tmp98 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp58 = np . copy ( tmp11 ) * 2 tmp58 += tmp3 t2new . abab += einsum ( tmp58 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) tmp91 = np . copy ( np . transpose ( tmp89 , ( 1 , 0 , 3 , 2 ))) * - 1 del tmp89 tmp91 += np . transpose ( tmp90 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp90 tmp1 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp0 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) t1new . aa += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 2 tmp105 = einsum ( tmp73 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 3 , 4 ), ( 3 , 1 , 0 , 4 )) tmp93 = np . copy ( tmp42 ) tmp93 += tmp3 * - 0.5 tmp17 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) t1new . aa += einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 2 tmp101 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp16 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp75 = np . copy ( np . transpose ( v . baa . xov , ( 1 , 2 , 0 ))) tmp75 += tmp16 tmp75 += tmp70 * - 1 tmp20 = np . copy ( f . aa . ov ) tmp20 += tmp13 * - 1 del tmp13 tmp20 += tmp19 del tmp19 t1new . bb += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp20 , ( 0 , 2 ), ( 1 , 3 )) t1new . aa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp20 , ( 1 , 3 ), ( 0 , 2 )) * 2 tmp60 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp16 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp77 = np . copy ( tmp16 ) * - 1 tmp77 += tmp70 tmp56 = np . copy ( f . aa . vv ) * - 1 tmp56 += tmp53 del tmp53 tmp56 += np . transpose ( tmp54 , ( 1 , 0 )) * - 1 del tmp54 tmp56 += np . transpose ( tmp55 , ( 1 , 0 )) del tmp55 t2new . abab += einsum ( tmp56 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 tmp48 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp108 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp95 = np . copy ( tmp42 ) * 2 del tmp42 tmp95 += tmp3 * - 1 tmp68 = einsum ( tmp67 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) del tmp67 t2new . abab += einsum ( tmp68 , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 tmp71 = np . copy ( tmp16 ) tmp71 += tmp70 * - 1 del tmp70 tmp64 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp30 = np . copy ( t2 . bbbb ) * 2 tmp30 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 tmp34 = np . copy ( tmp29 ) tmp34 += tmp33 * 2 tmp34 += einsum ( t1 . bb , ( 0 , 1 ), tmp7 , ( 2 ,), ( 0 , 1 , 2 )) tmp4 = np . copy ( t2 . aaaa ) * 2 tmp4 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 tmp12 = np . copy ( tmp11 ) tmp12 += tmp3 * 0.5 tmp12 += einsum ( t1 . aa , ( 0 , 1 ), tmp7 , ( 2 ,), ( 0 , 1 , 2 )) * 0.5 tmp179 = einsum ( tmp178 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp178 t2new . bbbb = np . copy ( np . transpose ( tmp179 , ( 0 , 1 , 3 , 2 ))) * 2 t2new . bbbb += np . transpose ( tmp179 , ( 1 , 0 , 3 , 2 )) * - 2 t2new . bbbb += tmp179 * - 2 del tmp179 tmp156 = np . copy ( t2 . bbbb ) tmp156 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 t2new . bbbb += einsum ( tmp155 , ( 0 , 1 , 2 , 3 ), tmp156 , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 5 , 4 )) * 0.5 del tmp156 tmp195 = einsum ( tmp39 , ( 0 , 1 , 2 ), tmp39 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) t2new . bbbb += np . transpose ( tmp195 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp195 del tmp195 tmp175 = einsum ( tmp174 , ( 0 , 1 , 2 ), tmp29 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) del tmp174 t2new . bbbb += np . transpose ( tmp175 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp175 , ( 1 , 0 , 2 , 3 )) del tmp175 tmp166 = einsum ( t1 . bb , ( 0 , 1 ), tmp165 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp165 t2new . bbbb += np . transpose ( tmp166 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += tmp166 * - 1 t2new . bbbb += np . transpose ( tmp166 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp166 , ( 1 , 0 , 2 , 3 )) del tmp166 tmp189 = einsum ( tmp188 , ( 0 , 1 , 2 ), tmp29 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) del tmp188 t2new . bbbb += np . transpose ( tmp189 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += tmp189 * - 1 del tmp189 tmp201 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp201 += einsum ( tmp200 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp200 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp201 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 5 , 4 )) * 2 del tmp201 tmp180 = einsum ( tmp29 , ( 0 , 1 , 2 ), tmp146 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) del tmp146 t2new . bbbb += np . transpose ( tmp180 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp180 , ( 1 , 0 , 3 , 2 )) del tmp180 tmp199 = einsum ( t1 . bb , ( 0 , 1 ), tmp198 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp198 t2new . bbbb += np . transpose ( tmp199 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += tmp199 * - 1 t2new . bbbb += np . transpose ( tmp199 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp199 , ( 0 , 1 , 3 , 2 )) del tmp199 tmp123 = einsum ( tmp24 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) del tmp24 t2new . bbbb += einsum ( tmp123 , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp123 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp123 tmp181 = einsum ( t1 . bb , ( 0 , 1 ), tmp37 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp37 t2new . bbbb += np . transpose ( tmp181 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += tmp181 * - 1 t2new . bbbb += np . transpose ( tmp181 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp181 , ( 0 , 1 , 3 , 2 )) del tmp181 tmp169 = einsum ( tmp168 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp168 t2new . bbbb += np . transpose ( tmp169 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp169 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp169 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp169 tmp197 = einsum ( t1 . bb , ( 0 , 1 ), tmp196 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp196 t2new . bbbb += np . transpose ( tmp197 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp197 del tmp197 tmp182 = einsum ( tmp33 , ( 0 , 1 , 2 ), tmp29 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) del tmp33 t2new . bbbb += np . transpose ( tmp182 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += tmp182 t2new . bbbb += np . transpose ( tmp182 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp182 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp182 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp182 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp182 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += tmp182 del tmp182 tmp158 = einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 tmp158 += t2 . bbbb * - 1 t2new . bbbb += einsum ( tmp155 , ( 0 , 1 , 2 , 3 ), tmp158 , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 5 , 4 )) * - 0.5 del tmp158 tmp173 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp131 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) del tmp131 t2new . bbbb += np . transpose ( tmp173 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += tmp173 del tmp173 tmp191 = einsum ( tmp29 , ( 0 , 1 , 2 ), tmp190 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) * 0.5 del tmp190 t2new . bbbb += np . transpose ( tmp191 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp191 , ( 0 , 1 , 3 , 2 )) del tmp191 tmp157 = einsum ( tmp155 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 3 , 4 , 5 ), ( 2 , 0 , 4 , 5 )) del tmp155 t2new . bbbb += np . transpose ( tmp157 , ( 0 , 1 , 3 , 2 )) * - 0.5 t2new . bbbb += np . transpose ( tmp157 , ( 0 , 1 , 3 , 2 )) * - 0.5 del tmp157 tmp202 = einsum ( t1 . bb , ( 0 , 1 ), tmp28 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp28 t2new . bbbb += tmp202 * - 1 t2new . bbbb += np . transpose ( tmp202 , ( 1 , 0 , 2 , 3 )) del tmp202 tmp159 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp122 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp122 t2new . bbbb += np . transpose ( tmp159 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp159 , ( 1 , 0 , 3 , 2 )) del tmp159 tmp193 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp192 , ( 4 , 5 , 1 , 0 ), ( 5 , 4 , 2 , 3 )) del tmp192 t2new . bbbb += np . transpose ( tmp193 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp193 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp193 tmp160 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp117 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) del tmp117 t2new . bbbb += np . transpose ( tmp160 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp160 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp160 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp160 del tmp160 tmp187 = einsum ( tmp186 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 2 del tmp186 t2new . bbbb += np . transpose ( tmp187 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp187 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp187 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += tmp187 del tmp187 tmp172 = einsum ( tmp170 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) * - 1 del tmp170 tmp172 += einsum ( tmp21 , ( 0 , 1 , 2 ), tmp171 , ( 3 , 4 , 2 ), ( 0 , 1 , 4 , 3 )) del tmp171 t2new . bbbb += einsum ( tmp172 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) * 2 del tmp172 tmp154 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp113 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp113 t2new . bbbb += np . transpose ( tmp154 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp154 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp154 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp154 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp154 tmp162 = einsum ( t1 . bb , ( 0 , 1 ), tmp161 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp161 t2new . bbbb += tmp162 t2new . bbbb += np . transpose ( tmp162 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp162 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp162 , ( 1 , 0 , 3 , 2 )) del tmp162 tmp204 = einsum ( tmp203 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) * - 1 del tmp203 t2new . bbbb += einsum ( t1 . bb , ( 0 , 1 ), tmp204 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp204 tmp194 = einsum ( tmp39 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) t2new . bbbb += np . transpose ( tmp194 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp194 , ( 0 , 1 , 3 , 2 )) del tmp194 tmp164 = einsum ( tmp163 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp163 t2new . bbbb += np . transpose ( tmp164 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp164 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp164 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp164 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp164 tmp139 = einsum ( tmp43 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 4 , 1 )) tmp139 += einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp128 , ( 3 , 4 , 0 ), ( 1 , 2 , 4 , 3 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp139 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp139 tmp138 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp21 , ( 3 , 4 , 2 ), ( 0 , 1 , 3 , 4 )) tmp151 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp150 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) del tmp150 t2new . abab += einsum ( tmp151 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp151 tmp115 = np . copy ( t2 . abab ) tmp115 += einsum ( t1 . bb , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 tmp133 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp132 , ( 3 , 4 , 0 ), ( 1 , 2 , 4 , 3 )) t2new . abab += einsum ( tmp133 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 3 , 5 )) * - 1 del tmp133 tmp129 = einsum ( tmp128 , ( 0 , 1 , 2 ), tmp21 , ( 3 , 4 , 2 ), ( 3 , 4 , 1 , 0 )) del tmp128 t2new . abab += einsum ( tmp129 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 3 , 5 )) * - 1 del tmp129 tmp144 = einsum ( tmp143 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 4 , 3 , 2 )) del tmp143 tmp144 += einsum ( tmp140 , ( 0 , 1 , 2 ), v . baa . xvv , ( 2 , 3 , 4 ), ( 3 , 4 , 1 , 0 )) t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp144 , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp144 tmp114 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) t2new . abab += einsum ( tmp114 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) * 0.5 t2new . abab += einsum ( tmp115 , ( 0 , 1 , 2 , 3 ), tmp114 , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) * 0.5 del tmp114 , tmp115 tmp38 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), tmp38 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 t1new . bb += einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 del tmp38 tmp136 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp135 , ( 3 , 4 , 0 ), ( 1 , 2 , 4 , 3 )) t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp136 , ( 0 , 4 , 3 , 5 ), ( 4 , 1 , 2 , 5 )) * - 1 del tmp136 tmp2 = einsum ( tmp0 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) t2new . abab += einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 t1new . aa += einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 1 del tmp2 tmp148 = np . copy ( np . transpose ( tmp147 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp147 tmp148 += einsum ( tmp21 , ( 0 , 1 , 2 ), tmp135 , ( 3 , 4 , 2 ), ( 0 , 1 , 4 , 3 )) t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp148 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 del tmp148 tmp152 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp39 , ( 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) t2new . abab += einsum ( tmp152 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 1 del tmp152 tmp149 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp135 , ( 3 , 4 , 2 ), ( 0 , 1 , 4 , 3 )) del tmp135 t2new . abab += einsum ( tmp149 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) * - 1 del tmp149 tmp124 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp21 , ( 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp145 = np . copy ( np . transpose ( tmp80 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp80 tmp145 += einsum ( tmp0 , ( 0 , 1 , 2 ), tmp132 , ( 3 , 4 , 2 ), ( 0 , 1 , 4 , 3 )) del tmp132 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp145 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) * - 1 del tmp145 tmp18 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) t2new . abab += einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 t1new . aa += einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 1 del tmp18 tmp153 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp39 , ( 3 , 4 , 2 ), ( 0 , 1 , 3 , 4 )) t2new . abab += einsum ( tmp153 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp153 tmp125 = np . copy ( t2 . abab ) tmp125 += einsum ( t1 . bb , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) t2new . abab += einsum ( tmp138 , ( 0 , 1 , 2 , 3 ), tmp125 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp138 t2new . abab += einsum ( tmp125 , ( 0 , 1 , 2 , 3 ), tmp124 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp124 tmp116 = np . copy ( f . aa . oo ) tmp116 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp43 , ( 3 , 2 , 0 ), ( 1 , 3 )) del tmp43 tmp116 += np . transpose ( tmp25 , ( 1 , 0 )) t2new . abab += einsum ( tmp116 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp116 tmp126 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp16 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), tmp126 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp126 tmp127 = einsum ( tmp0 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) t2new . abab += einsum ( tmp127 , ( 0 , 1 , 2 , 3 ), tmp125 , ( 1 , 2 , 4 , 5 ), ( 0 , 3 , 4 , 5 )) del tmp125 , tmp127 tmp141 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp111 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) del tmp111 tmp141 += einsum ( tmp140 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 2 , 3 , 4 ), ( 3 , 4 , 1 , 0 )) * - 1 del tmp140 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp141 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) del tmp141 tmp137 = np . copy ( np . transpose ( v . bbb . xov , ( 1 , 2 , 0 ))) tmp137 += tmp39 del tmp39 tmp137 += tmp130 * - 1 del tmp130 t2new . abab += einsum ( tmp137 , ( 0 , 1 , 2 ), tmp16 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) del tmp137 tmp84 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp83 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp83 t2new . aaaa = np . copy ( np . transpose ( tmp84 , ( 1 , 0 , 2 , 3 ))) * 2 t2new . aaaa += tmp84 * - 2 t2new . aaaa += np . transpose ( tmp84 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp84 tmp47 = einsum ( tmp46 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 0.5 del tmp46 t2new . aaaa += np . transpose ( tmp47 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp47 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp47 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp47 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp47 tmp97 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp16 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) t2new . aaaa += np . transpose ( tmp97 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp97 , ( 0 , 1 , 3 , 2 )) del tmp97 tmp51 = einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 2 tmp51 += t2 . aaaa * - 1 t2new . aaaa += einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), tmp51 , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 5 , 4 )) * - 0.5 del tmp51 tmp104 = einsum ( tmp103 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp103 t2new . aaaa += np . transpose ( tmp104 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp104 del tmp104 tmp59 = einsum ( tmp58 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 4 , 1 )) del tmp58 t2new . aaaa += np . transpose ( tmp59 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp59 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp59 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp59 del tmp59 tmp92 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp91 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 2 del tmp91 t2new . aaaa += tmp92 t2new . aaaa += np . transpose ( tmp92 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp92 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp92 , ( 1 , 0 , 3 , 2 )) del tmp92 tmp107 = einsum ( t1 . aa , ( 0 , 1 ), tmp1 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp1 t2new . aaaa += tmp107 * - 1 t2new . aaaa += np . transpose ( tmp107 , ( 1 , 0 , 2 , 3 )) del tmp107 tmp106 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp106 += einsum ( t1 . aa , ( 0 , 1 ), tmp105 , ( 0 , 2 , 3 , 4 ), ( 4 , 3 , 1 , 2 )) del tmp105 t2new . aaaa += einsum ( tmp106 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 3 , 2 )) * 2 del tmp106 tmp94 = einsum ( tmp93 , ( 0 , 1 , 2 ), tmp3 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) del tmp93 t2new . aaaa += np . transpose ( tmp94 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp94 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp94 tmp86 = einsum ( t1 . aa , ( 0 , 1 ), tmp17 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp17 t2new . aaaa += np . transpose ( tmp86 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += tmp86 * - 1 t2new . aaaa += np . transpose ( tmp86 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp86 , ( 0 , 1 , 3 , 2 )) del tmp86 tmp102 = einsum ( t1 . aa , ( 0 , 1 ), tmp101 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp101 t2new . aaaa += np . transpose ( tmp102 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += tmp102 * - 1 t2new . aaaa += np . transpose ( tmp102 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp102 , ( 0 , 1 , 3 , 2 )) del tmp102 tmp76 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp75 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) del tmp75 t2new . aaaa += np . transpose ( tmp76 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += tmp76 del tmp76 tmp66 = einsum ( tmp20 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) del tmp20 t2new . aaaa += einsum ( tmp66 , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 1 del tmp66 tmp61 = einsum ( tmp60 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp60 t2new . aaaa += tmp61 t2new . aaaa += np . transpose ( tmp61 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp61 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp61 , ( 1 , 0 , 3 , 2 )) del tmp61 tmp78 = einsum ( tmp77 , ( 0 , 1 , 2 ), tmp3 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) del tmp77 t2new . aaaa += tmp78 * - 1 t2new . aaaa += np . transpose ( tmp78 , ( 0 , 1 , 3 , 2 )) del tmp78 tmp85 = einsum ( tmp79 , ( 0 , 1 , 2 ), tmp3 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) del tmp79 t2new . aaaa += np . transpose ( tmp85 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp85 , ( 1 , 0 , 3 , 2 )) del tmp85 tmp57 = einsum ( tmp56 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp56 t2new . aaaa += np . transpose ( tmp57 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp57 , ( 1 , 0 , 3 , 2 )) del tmp57 tmp50 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp48 , ( 4 , 0 , 5 , 1 ), ( 5 , 4 , 2 , 3 )) t2new . aaaa += np . transpose ( tmp50 , ( 0 , 1 , 3 , 2 )) * - 0.5 t2new . aaaa += np . transpose ( tmp50 , ( 0 , 1 , 3 , 2 )) * - 0.5 del tmp50 tmp109 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp108 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) * - 1 del tmp108 t2new . aaaa += einsum ( t1 . aa , ( 0 , 1 ), tmp109 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp109 tmp96 = einsum ( tmp95 , ( 0 , 1 , 2 ), tmp3 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) * 0.5 del tmp95 t2new . aaaa += tmp96 * - 1 t2new . aaaa += np . transpose ( tmp96 , ( 1 , 0 , 2 , 3 )) del tmp96 tmp49 = np . copy ( t2 . aaaa ) tmp49 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 t2new . aaaa += einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), tmp49 , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 5 , 4 )) * 0.5 del tmp48 , tmp49 tmp99 = einsum ( tmp98 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 3 , 2 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) del tmp98 t2new . aaaa += np . transpose ( tmp99 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp99 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp99 tmp69 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp68 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp68 t2new . aaaa += np . transpose ( tmp69 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp69 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp69 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp69 tmp87 = einsum ( tmp3 , ( 0 , 1 , 2 ), tmp11 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) del tmp11 t2new . aaaa += np . transpose ( tmp87 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += tmp87 t2new . aaaa += np . transpose ( tmp87 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp87 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp87 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp87 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp87 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += tmp87 del tmp87 tmp63 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp62 t2new . aaaa += np . transpose ( tmp63 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp63 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp63 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp63 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp63 tmp74 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp71 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) * - 1 del tmp71 tmp74 += einsum ( tmp0 , ( 0 , 1 , 2 ), tmp73 , ( 3 , 4 , 2 ), ( 0 , 1 , 4 , 3 )) del tmp73 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp74 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * 2 del tmp74 tmp100 = einsum ( tmp16 , ( 0 , 1 , 2 ), tmp16 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) del tmp16 t2new . aaaa += np . transpose ( tmp100 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp100 del tmp100 tmp65 = einsum ( t1 . aa , ( 0 , 1 ), tmp64 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp64 t2new . aaaa += np . transpose ( tmp65 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += tmp65 * - 1 t2new . aaaa += np . transpose ( tmp65 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp65 , ( 1 , 0 , 2 , 3 )) del tmp65 tmp41 = np . copy ( f . bb . oo ) tmp41 += einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp21 , ( 2 , 3 , 0 ), ( 3 , 1 )) * - 1 tmp41 += np . transpose ( tmp40 , ( 1 , 0 )) del tmp40 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp41 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp41 tmp31 = np . copy ( tmp29 ) del tmp29 tmp31 += einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 0 , 2 ), ( 1 , 3 , 4 )) del tmp30 tmp31 += einsum ( t1 . bb , ( 0 , 1 ), tmp7 , ( 2 ,), ( 0 , 1 , 2 )) t1new . bb += einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp31 , ( 3 , 2 , 0 ), ( 3 , 1 )) del tmp31 tmp36 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp34 , ( 3 , 2 , 0 ), ( 1 , 3 )) del tmp34 tmp36 += einsum ( t1 . bb , ( 0 , 1 ), tmp35 , ( 2 , 1 ), ( 2 , 0 )) del tmp35 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp36 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp36 tmp27 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp21 , ( 3 , 4 , 0 ), ( 1 , 3 , 4 , 2 )) del tmp21 t1new . bb += einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 del tmp27 tmp26 = np . copy ( f . aa . oo ) tmp26 += einsum ( tmp0 , ( 0 , 1 , 2 ), v . baa . xoo , ( 2 , 3 , 0 ), ( 1 , 3 )) * - 1 del tmp0 tmp26 += np . transpose ( tmp25 , ( 1 , 0 )) del tmp25 t1new . aa += einsum ( tmp26 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp26 tmp8 = np . copy ( tmp3 ) * 0.5 del tmp3 tmp8 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp4 , ( 1 , 3 , 2 , 4 ), ( 3 , 4 , 0 )) * 0.5 del tmp4 tmp8 += einsum ( t1 . aa , ( 0 , 1 ), tmp7 , ( 2 ,), ( 0 , 1 , 2 )) * 0.5 del tmp7 t1new . aa += einsum ( tmp8 , ( 0 , 1 , 2 ), v . baa . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) * 2 del tmp8 tmp15 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp12 , ( 3 , 2 , 0 ), ( 1 , 3 )) * 2 del tmp12 tmp15 += einsum ( tmp14 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) del tmp14 t1new . aa += einsum ( tmp15 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp15 t1new . aa += f . aa . ov t1new . aa += einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) t1new . bb += einsum ( f . bb . vv , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) t1new . bb += f . bb . ov return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"UDFDCSD"},{"location":"reference/codegen/UDFDCSD/#ebcc.codegen.UDFDCSD.energy","text":"Code generated by albert 0.0.0 on 2024-08-09T22:11:21.706198.","title":"energy"},{"location":"reference/codegen/UDFDCSD/#ebcc.codegen.UDFDCSD.energy--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFDCSD/#ebcc.codegen.UDFDCSD.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/UDFDCSD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 def energy ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:11:21.706198. 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 ,)) tmp5 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp1 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp1 += tmp0 * 2 tmp3 = einsum ( t1 . aa , ( 0 , 1 ), v . baa . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp6 = np . copy ( f . bb . ov ) * 2 tmp6 += einsum ( tmp5 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) * - 1 del tmp5 e_cc = einsum ( t1 . bb , ( 0 , 1 ), tmp6 , ( 0 , 1 ), ()) * 0.5 del tmp6 tmp2 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp2 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp2 += einsum ( tmp1 , ( 0 ,), t1 . aa , ( 1 , 2 ), ( 1 , 2 , 0 )) * 0.5 del tmp1 e_cc += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp2 , ( 1 , 2 , 0 ), ()) del tmp2 tmp7 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 1 , 3 ), ( 0 , 2 , 4 )) tmp7 += einsum ( t1 . bb , ( 0 , 1 ), tmp0 , ( 2 ,), ( 0 , 1 , 2 )) * 0.5 del tmp0 e_cc += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp7 , ( 1 , 2 , 0 ), ()) del tmp7 tmp4 = np . copy ( f . aa . ov ) * 2 tmp4 += einsum ( tmp3 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) * - 1 del tmp3 e_cc += einsum ( t1 . aa , ( 0 , 1 ), tmp4 , ( 0 , 1 ), ()) * 0.5 del tmp4 return e_cc","title":"Returns"},{"location":"reference/codegen/UDFDCSD/#ebcc.codegen.UDFDCSD.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-09T22:12:46.857900.","title":"update_amps"},{"location":"reference/codegen/UDFDCSD/#ebcc.codegen.UDFDCSD.update_amps--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFDCSD/#ebcc.codegen.UDFDCSD.update_amps--returns","text":"t1new : Namespace of arrays Updated T1 residuals. t2new : Namespace of arrays Updated T2 residuals. Source code in ebcc/codegen/UDFDCSD.py 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T22:12:46.857900. 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 () tmp21 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp6 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t1 . bb , ( 1 , 2 ), ( 0 ,)) tmp5 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp0 = einsum ( t1 . aa , ( 0 , 1 ), v . baa . xov , ( 2 , 3 , 1 ), ( 0 , 3 , 2 )) tmp134 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xov , ( 2 , 0 , 3 ), ( 1 , 3 , 2 )) tmp130 = einsum ( t1 . bb , ( 0 , 1 ), tmp21 , ( 2 , 0 , 3 ), ( 2 , 1 , 3 )) tmp39 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), t1 . bb , ( 3 , 2 ), ( 3 , 1 , 0 )) t1new . bb = einsum ( tmp39 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) * - 1 tmp9 = np . copy ( tmp5 ) tmp9 += tmp6 tmp22 = einsum ( tmp21 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) tmp7 = np . copy ( tmp5 ) del tmp5 tmp7 += tmp6 del tmp6 tmp33 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp29 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 3 , 4 , 0 )) tmp110 = einsum ( t1 . bb , ( 0 , 1 ), v . bbb . xoo , ( 2 , 3 , 0 ), ( 3 , 1 , 2 )) tmp70 = einsum ( tmp0 , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 3 ), ( 0 , 3 , 2 )) tmp16 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 3 , 1 , 0 )) t1new . aa = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp16 , ( 2 , 3 , 0 ), ( 1 , 3 )) * - 1 tmp72 = einsum ( t1 . aa , ( 0 , 1 ), v . baa . xov , ( 2 , 0 , 3 ), ( 1 , 3 , 2 )) tmp11 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp42 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), t1 . aa , ( 2 , 3 ), ( 1 , 3 , 0 )) tmp3 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp13 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp0 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp176 = np . copy ( np . transpose ( v . bbb . xvv , ( 1 , 2 , 0 ))) tmp176 += np . transpose ( tmp134 , ( 1 , 0 , 2 )) * - 1 tmp146 = np . copy ( tmp39 ) tmp146 += tmp130 * - 1 t2new . abab = einsum ( tmp11 , ( 0 , 1 , 2 ), tmp146 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) * 2 tmp32 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp9 , ( 0 ,), ( 1 , 2 )) t1new . bb += tmp32 tmp35 = np . copy ( f . bb . ov ) tmp35 += tmp22 * - 1 tmp118 = np . copy ( tmp39 ) tmp118 += tmp29 * 0.5 tmp118 += tmp33 tmp118 += einsum ( t1 . bb , ( 0 , 1 ), tmp7 , ( 2 ,), ( 0 , 1 , 2 )) tmp183 = np . copy ( tmp110 ) tmp183 += tmp33 * - 1 tmp171 = np . copy ( np . transpose ( v . bbb . xvv , ( 1 , 2 , 0 ))) tmp171 += np . transpose ( tmp134 , ( 1 , 0 , 2 )) * - 1 tmp111 = np . copy ( tmp110 ) * - 1 tmp111 += tmp29 * 0.5 tmp111 += tmp33 t2new . abab += einsum ( tmp11 , ( 0 , 1 , 2 ), tmp111 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) * 2 tmp79 = np . copy ( tmp16 ) tmp79 += tmp70 * - 1 t2new . abab += einsum ( tmp79 , ( 0 , 1 , 2 ), tmp33 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) * 2 tmp81 = np . copy ( np . transpose ( v . baa . xvv , ( 1 , 2 , 0 ))) tmp81 += np . transpose ( tmp72 , ( 1 , 0 , 2 )) * - 1 tmp43 = np . copy ( tmp42 ) * - 1 tmp43 += tmp11 tmp43 += tmp3 * 0.5 t2new . abab += einsum ( tmp43 , ( 0 , 1 , 2 ), tmp33 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) * 2 tmp88 = np . copy ( tmp42 ) tmp88 += tmp11 * - 1 tmp73 = np . copy ( np . transpose ( v . baa . xvv , ( 1 , 2 , 0 ))) tmp73 += np . transpose ( tmp72 , ( 1 , 0 , 2 )) * - 1 tmp52 = np . copy ( tmp16 ) tmp52 += tmp11 tmp52 += tmp3 * 0.5 tmp52 += einsum ( t1 . aa , ( 0 , 1 ), tmp7 , ( 2 ,), ( 0 , 1 , 2 )) tmp14 = np . copy ( f . aa . ov ) tmp14 += tmp13 * - 1 tmp10 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp9 , ( 0 ,), ( 1 , 2 )) del tmp9 t1new . aa += tmp10 tmp177 = einsum ( tmp21 , ( 0 , 1 , 2 ), tmp176 , ( 3 , 4 , 2 ), ( 0 , 1 , 3 , 4 )) del tmp176 tmp147 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp146 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) tmp163 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp21 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp23 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp7 , ( 0 ,), ( 1 , 2 )) tmp167 = np . copy ( f . bb . ov ) tmp167 += tmp22 * - 1 tmp167 += tmp32 del tmp32 tmp192 = einsum ( tmp21 , ( 0 , 1 , 2 ), tmp21 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp120 = einsum ( tmp7 , ( 0 ,), v . bbb . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp121 = einsum ( tmp35 , ( 0 , 1 ), t1 . bb , ( 0 , 2 ), ( 2 , 1 )) tmp119 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp118 , ( 1 , 3 , 0 ), ( 2 , 3 )) del tmp118 tmp184 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp183 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) del tmp183 tmp185 = einsum ( tmp171 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 2 , 3 , 4 ), ( 3 , 4 , 0 , 1 )) tmp112 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp111 , ( 3 , 2 , 0 ), ( 1 , 3 )) tmp40 = einsum ( tmp7 , ( 0 ,), v . bbb . xoo , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp142 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp80 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp79 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) tmp82 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp81 , ( 3 , 4 , 2 ), ( 0 , 1 , 3 , 4 )) del tmp81 tmp44 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp43 , ( 3 , 2 , 0 ), ( 1 , 3 )) * 2 tmp45 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp7 , ( 0 ,), ( 1 , 2 )) * 2 tmp98 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp0 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) tmp89 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp88 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) del tmp88 tmp90 = einsum ( tmp73 , ( 0 , 1 , 2 ), v . baa . xoo , ( 2 , 3 , 4 ), ( 3 , 4 , 0 , 1 )) tmp19 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp7 , ( 0 ,), ( 1 , 2 )) tmp53 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp52 , ( 1 , 3 , 0 ), ( 2 , 3 )) del tmp52 tmp54 = einsum ( tmp7 , ( 0 ,), v . baa . xvv , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp55 = einsum ( tmp14 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 2 , 1 )) tmp67 = np . copy ( f . aa . ov ) tmp67 += tmp13 * - 1 tmp67 += tmp10 del tmp10 tmp62 = einsum ( tmp0 , ( 0 , 1 , 2 ), v . baa . xoo , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) tmp178 = np . copy ( np . transpose ( tmp147 , ( 1 , 0 , 3 , 2 ))) * - 1 tmp178 += np . transpose ( tmp177 , ( 0 , 1 , 3 , 2 )) del tmp177 tmp174 = np . copy ( tmp39 ) * - 1 tmp174 += tmp130 tmp165 = einsum ( t1 . bb , ( 0 , 1 ), tmp163 , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) tmp188 = np . copy ( tmp110 ) tmp188 += tmp29 * - 0.5 tmp200 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp171 , ( 3 , 4 , 0 ), ( 1 , 4 , 3 , 2 )) tmp198 = einsum ( tmp21 , ( 0 , 1 , 2 ), tmp39 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp24 = np . copy ( f . bb . ov ) tmp24 += tmp22 * - 1 del tmp22 tmp24 += tmp23 del tmp23 t1new . bb += einsum ( tmp24 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 2 t1new . aa += einsum ( tmp24 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) tmp37 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) t1new . bb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp37 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 2 tmp168 = einsum ( t1 . bb , ( 0 , 1 ), tmp167 , ( 2 , 1 ), ( 2 , 0 )) del tmp167 tmp196 = einsum ( tmp192 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp131 = np . copy ( np . transpose ( v . bbb . xov , ( 1 , 2 , 0 ))) tmp131 += tmp39 tmp131 += tmp130 * - 1 t2new . abab += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp131 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) tmp190 = np . copy ( tmp110 ) * 2 del tmp110 tmp190 += tmp29 * - 1 tmp155 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp28 = einsum ( tmp21 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) t1new . bb += einsum ( tmp28 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 2 tmp122 = np . copy ( f . bb . vv ) * - 1 tmp122 += tmp119 del tmp119 tmp122 += np . transpose ( tmp120 , ( 1 , 0 )) * - 1 del tmp120 tmp122 += np . transpose ( tmp121 , ( 1 , 0 )) del tmp121 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp122 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 1 tmp117 = np . copy ( tmp29 ) tmp117 += tmp33 * 2 t2new . abab += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp117 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) tmp186 = np . copy ( tmp184 ) * - 1 del tmp184 tmp186 += np . transpose ( tmp185 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp185 tmp170 = np . copy ( tmp39 ) tmp170 += tmp130 * - 1 tmp113 = np . copy ( f . bb . oo ) tmp113 += tmp112 del tmp112 tmp113 += np . transpose ( tmp40 , ( 1 , 0 )) t2new . abab += einsum ( tmp113 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 tmp161 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp39 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp203 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp128 = np . copy ( np . transpose ( v . baa . xvv , ( 1 , 2 , 0 ))) tmp128 += tmp72 * - 1 tmp150 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp132 = np . copy ( np . transpose ( v . baa . xvv , ( 1 , 2 , 0 ))) tmp132 += tmp72 * - 1 del tmp72 tmp140 = np . copy ( np . transpose ( v . bbb . xvv , ( 1 , 2 , 0 ))) tmp140 += tmp134 * - 1 tmp143 = einsum ( tmp142 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp142 tmp135 = np . copy ( np . transpose ( v . bbb . xvv , ( 1 , 2 , 0 ))) tmp135 += tmp134 * - 1 del tmp134 tmp25 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp7 , ( 0 ,), ( 1 , 2 )) tmp83 = np . copy ( np . transpose ( tmp80 , ( 1 , 0 , 3 , 2 ))) * - 1 tmp83 += np . transpose ( tmp82 , ( 0 , 1 , 3 , 2 )) del tmp82 tmp46 = np . copy ( f . aa . oo ) * 2 tmp46 += tmp44 del tmp44 tmp46 += np . transpose ( tmp45 , ( 1 , 0 )) del tmp45 tmp103 = einsum ( tmp98 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 1 , 0 , 3 , 4 )) tmp58 = np . copy ( tmp11 ) * 2 tmp58 += tmp3 t2new . abab += einsum ( tmp58 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) tmp91 = np . copy ( np . transpose ( tmp89 , ( 1 , 0 , 3 , 2 ))) * - 1 del tmp89 tmp91 += np . transpose ( tmp90 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp90 tmp1 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp0 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) t1new . aa += einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 2 tmp105 = einsum ( tmp73 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 3 , 4 ), ( 3 , 1 , 0 , 4 )) tmp93 = np . copy ( tmp42 ) tmp93 += tmp3 * - 0.5 tmp17 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) t1new . aa += einsum ( tmp17 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 2 tmp101 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp16 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) tmp75 = np . copy ( np . transpose ( v . baa . xov , ( 1 , 2 , 0 ))) tmp75 += tmp16 tmp75 += tmp70 * - 1 tmp20 = np . copy ( f . aa . ov ) tmp20 += tmp13 * - 1 del tmp13 tmp20 += tmp19 del tmp19 t1new . bb += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp20 , ( 0 , 2 ), ( 1 , 3 )) t1new . aa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp20 , ( 1 , 3 ), ( 0 , 2 )) * 2 tmp60 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp16 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) tmp77 = np . copy ( tmp16 ) * - 1 tmp77 += tmp70 tmp56 = np . copy ( f . aa . vv ) * - 1 tmp56 += tmp53 del tmp53 tmp56 += np . transpose ( tmp54 , ( 1 , 0 )) * - 1 del tmp54 tmp56 += np . transpose ( tmp55 , ( 1 , 0 )) del tmp55 t2new . abab += einsum ( tmp56 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 tmp48 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp108 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp95 = np . copy ( tmp42 ) * 2 del tmp42 tmp95 += tmp3 * - 1 tmp68 = einsum ( tmp67 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) del tmp67 t2new . abab += einsum ( tmp68 , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 tmp71 = np . copy ( tmp16 ) tmp71 += tmp70 * - 1 del tmp70 tmp64 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) tmp30 = np . copy ( t2 . bbbb ) * 2 tmp30 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * - 1 tmp34 = np . copy ( tmp29 ) tmp34 += tmp33 * 2 tmp34 += einsum ( t1 . bb , ( 0 , 1 ), tmp7 , ( 2 ,), ( 0 , 1 , 2 )) tmp4 = np . copy ( t2 . aaaa ) * 2 tmp4 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * - 1 tmp12 = np . copy ( tmp11 ) tmp12 += tmp3 * 0.5 tmp12 += einsum ( t1 . aa , ( 0 , 1 ), tmp7 , ( 2 ,), ( 0 , 1 , 2 )) * 0.5 tmp179 = einsum ( tmp178 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp178 t2new . bbbb = np . copy ( np . transpose ( tmp179 , ( 0 , 1 , 3 , 2 ))) * 2 t2new . bbbb += np . transpose ( tmp179 , ( 1 , 0 , 3 , 2 )) * - 2 t2new . bbbb += tmp179 * - 2 del tmp179 tmp156 = np . copy ( t2 . bbbb ) tmp156 += einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 0 , 2 , 1 , 3 )) * 2 t2new . bbbb += einsum ( tmp155 , ( 0 , 1 , 2 , 3 ), tmp156 , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 5 , 4 )) * 0.5 del tmp156 tmp195 = einsum ( tmp39 , ( 0 , 1 , 2 ), tmp39 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) t2new . bbbb += np . transpose ( tmp195 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp195 del tmp195 tmp175 = einsum ( tmp174 , ( 0 , 1 , 2 ), tmp29 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) del tmp174 t2new . bbbb += np . transpose ( tmp175 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp175 , ( 1 , 0 , 2 , 3 )) del tmp175 tmp166 = einsum ( t1 . bb , ( 0 , 1 ), tmp165 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp165 t2new . bbbb += np . transpose ( tmp166 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += tmp166 * - 1 t2new . bbbb += np . transpose ( tmp166 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp166 , ( 1 , 0 , 2 , 3 )) del tmp166 tmp189 = einsum ( tmp188 , ( 0 , 1 , 2 ), tmp29 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) del tmp188 t2new . bbbb += np . transpose ( tmp189 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += tmp189 * - 1 del tmp189 tmp201 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp201 += einsum ( tmp200 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 0 , 4 ), ( 3 , 2 , 4 , 1 )) del tmp200 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp201 , ( 2 , 3 , 4 , 5 ), ( 0 , 1 , 5 , 4 )) * 2 del tmp201 tmp180 = einsum ( tmp29 , ( 0 , 1 , 2 ), tmp146 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) del tmp146 t2new . bbbb += np . transpose ( tmp180 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp180 , ( 1 , 0 , 3 , 2 )) del tmp180 tmp199 = einsum ( t1 . bb , ( 0 , 1 ), tmp198 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp198 t2new . bbbb += np . transpose ( tmp199 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += tmp199 * - 1 t2new . bbbb += np . transpose ( tmp199 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp199 , ( 0 , 1 , 3 , 2 )) del tmp199 tmp123 = einsum ( tmp24 , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) del tmp24 t2new . bbbb += einsum ( tmp123 , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp123 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp123 tmp181 = einsum ( t1 . bb , ( 0 , 1 ), tmp37 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp37 t2new . bbbb += np . transpose ( tmp181 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += tmp181 * - 1 t2new . bbbb += np . transpose ( tmp181 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp181 , ( 0 , 1 , 3 , 2 )) del tmp181 tmp169 = einsum ( tmp168 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp168 t2new . bbbb += np . transpose ( tmp169 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp169 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp169 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp169 tmp197 = einsum ( t1 . bb , ( 0 , 1 ), tmp196 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp196 t2new . bbbb += np . transpose ( tmp197 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp197 del tmp197 tmp182 = einsum ( tmp33 , ( 0 , 1 , 2 ), tmp29 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) del tmp33 t2new . bbbb += np . transpose ( tmp182 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += tmp182 t2new . bbbb += np . transpose ( tmp182 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp182 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp182 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp182 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp182 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += tmp182 del tmp182 tmp158 = einsum ( t1 . bb , ( 0 , 1 ), t1 . bb , ( 2 , 3 ), ( 2 , 0 , 1 , 3 )) * 2 tmp158 += t2 . bbbb * - 1 t2new . bbbb += einsum ( tmp155 , ( 0 , 1 , 2 , 3 ), tmp158 , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 5 , 4 )) * - 0.5 del tmp158 tmp173 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp131 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) del tmp131 t2new . bbbb += np . transpose ( tmp173 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += tmp173 del tmp173 tmp191 = einsum ( tmp29 , ( 0 , 1 , 2 ), tmp190 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) * 0.5 del tmp190 t2new . bbbb += np . transpose ( tmp191 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp191 , ( 0 , 1 , 3 , 2 )) del tmp191 tmp157 = einsum ( tmp155 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 3 , 4 , 5 ), ( 2 , 0 , 4 , 5 )) del tmp155 t2new . bbbb += np . transpose ( tmp157 , ( 0 , 1 , 3 , 2 )) * - 0.5 t2new . bbbb += np . transpose ( tmp157 , ( 0 , 1 , 3 , 2 )) * - 0.5 del tmp157 tmp202 = einsum ( t1 . bb , ( 0 , 1 ), tmp28 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp28 t2new . bbbb += tmp202 * - 1 t2new . bbbb += np . transpose ( tmp202 , ( 1 , 0 , 2 , 3 )) del tmp202 tmp159 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp122 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 2 del tmp122 t2new . bbbb += np . transpose ( tmp159 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp159 , ( 1 , 0 , 3 , 2 )) del tmp159 tmp193 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp192 , ( 4 , 5 , 1 , 0 ), ( 5 , 4 , 2 , 3 )) del tmp192 t2new . bbbb += np . transpose ( tmp193 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp193 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp193 tmp160 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp117 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) del tmp117 t2new . bbbb += np . transpose ( tmp160 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp160 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp160 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp160 del tmp160 tmp187 = einsum ( tmp186 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 2 del tmp186 t2new . bbbb += np . transpose ( tmp187 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp187 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp187 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += tmp187 del tmp187 tmp172 = einsum ( tmp170 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 1 , 4 )) * - 1 del tmp170 tmp172 += einsum ( tmp21 , ( 0 , 1 , 2 ), tmp171 , ( 3 , 4 , 2 ), ( 0 , 1 , 4 , 3 )) del tmp171 t2new . bbbb += einsum ( tmp172 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 2 , 5 )) * 2 del tmp172 tmp154 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp113 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp113 t2new . bbbb += np . transpose ( tmp154 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp154 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp154 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp154 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp154 tmp162 = einsum ( t1 . bb , ( 0 , 1 ), tmp161 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp161 t2new . bbbb += tmp162 t2new . bbbb += np . transpose ( tmp162 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp162 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp162 , ( 1 , 0 , 3 , 2 )) del tmp162 tmp204 = einsum ( tmp203 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 2 , 3 ), ( 4 , 5 , 0 , 1 )) * - 1 del tmp203 t2new . bbbb += einsum ( t1 . bb , ( 0 , 1 ), tmp204 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp204 tmp194 = einsum ( tmp39 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 3 , 4 ), ( 0 , 3 , 4 , 1 )) t2new . bbbb += np . transpose ( tmp194 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp194 , ( 0 , 1 , 3 , 2 )) del tmp194 tmp164 = einsum ( tmp163 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp163 t2new . bbbb += np . transpose ( tmp164 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp164 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp164 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp164 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp164 tmp139 = einsum ( tmp43 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 4 , 1 )) tmp139 += einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp128 , ( 3 , 4 , 0 ), ( 1 , 2 , 4 , 3 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp139 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp139 tmp138 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp21 , ( 3 , 4 , 2 ), ( 0 , 1 , 3 , 4 )) tmp151 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp150 , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) del tmp150 t2new . abab += einsum ( tmp151 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp151 tmp115 = np . copy ( t2 . abab ) tmp115 += einsum ( t1 . bb , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 tmp133 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp132 , ( 3 , 4 , 0 ), ( 1 , 2 , 4 , 3 )) t2new . abab += einsum ( tmp133 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 3 , 5 )) * - 1 del tmp133 tmp129 = einsum ( tmp128 , ( 0 , 1 , 2 ), tmp21 , ( 3 , 4 , 2 ), ( 3 , 4 , 1 , 0 )) del tmp128 t2new . abab += einsum ( tmp129 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 2 , 5 ), ( 4 , 0 , 3 , 5 )) * - 1 del tmp129 tmp144 = einsum ( tmp143 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 4 , 3 , 2 )) del tmp143 tmp144 += einsum ( tmp140 , ( 0 , 1 , 2 ), v . baa . xvv , ( 2 , 3 , 4 ), ( 3 , 4 , 1 , 0 )) t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp144 , ( 2 , 4 , 3 , 5 ), ( 0 , 1 , 4 , 5 )) del tmp144 tmp114 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) t2new . abab += einsum ( tmp114 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) * 0.5 t2new . abab += einsum ( tmp115 , ( 0 , 1 , 2 , 3 ), tmp114 , ( 0 , 4 , 1 , 5 ), ( 4 , 5 , 2 , 3 )) * 0.5 del tmp114 , tmp115 tmp38 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), tmp38 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 t1new . bb += einsum ( tmp38 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 del tmp38 tmp136 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp135 , ( 3 , 4 , 0 ), ( 1 , 2 , 4 , 3 )) t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp136 , ( 0 , 4 , 3 , 5 ), ( 4 , 1 , 2 , 5 )) * - 1 del tmp136 tmp2 = einsum ( tmp0 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) t2new . abab += einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 t1new . aa += einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 1 del tmp2 tmp148 = np . copy ( np . transpose ( tmp147 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp147 tmp148 += einsum ( tmp21 , ( 0 , 1 , 2 ), tmp135 , ( 3 , 4 , 2 ), ( 0 , 1 , 4 , 3 )) t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp148 , ( 4 , 1 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) * - 1 del tmp148 tmp152 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp39 , ( 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) t2new . abab += einsum ( tmp152 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 4 ), ( 1 , 2 , 4 , 3 )) * - 1 del tmp152 tmp149 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp135 , ( 3 , 4 , 2 ), ( 0 , 1 , 4 , 3 )) del tmp135 t2new . abab += einsum ( tmp149 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 2 ), ( 0 , 4 , 5 , 3 )) * - 1 del tmp149 tmp124 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), tmp21 , ( 3 , 4 , 0 ), ( 1 , 2 , 3 , 4 )) tmp145 = np . copy ( np . transpose ( tmp80 , ( 1 , 0 , 2 , 3 ))) * - 1 del tmp80 tmp145 += einsum ( tmp0 , ( 0 , 1 , 2 ), tmp132 , ( 3 , 4 , 2 ), ( 0 , 1 , 4 , 3 )) del tmp132 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp145 , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) * - 1 del tmp145 tmp18 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) t2new . abab += einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 t1new . aa += einsum ( tmp18 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 1 del tmp18 tmp153 = einsum ( tmp0 , ( 0 , 1 , 2 ), tmp39 , ( 3 , 4 , 2 ), ( 0 , 1 , 3 , 4 )) t2new . abab += einsum ( tmp153 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 del tmp153 tmp125 = np . copy ( t2 . abab ) tmp125 += einsum ( t1 . bb , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) t2new . abab += einsum ( tmp138 , ( 0 , 1 , 2 , 3 ), tmp125 , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp138 t2new . abab += einsum ( tmp125 , ( 0 , 1 , 2 , 3 ), tmp124 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp124 tmp116 = np . copy ( f . aa . oo ) tmp116 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp43 , ( 3 , 2 , 0 ), ( 1 , 3 )) del tmp43 tmp116 += np . transpose ( tmp25 , ( 1 , 0 )) t2new . abab += einsum ( tmp116 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) * - 1 del tmp116 tmp126 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp16 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), tmp126 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 4 , 1 )) * - 1 del tmp126 tmp127 = einsum ( tmp0 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) t2new . abab += einsum ( tmp127 , ( 0 , 1 , 2 , 3 ), tmp125 , ( 1 , 2 , 4 , 5 ), ( 0 , 3 , 4 , 5 )) del tmp125 , tmp127 tmp141 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp111 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) del tmp111 tmp141 += einsum ( tmp140 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 2 , 3 , 4 ), ( 3 , 4 , 1 , 0 )) * - 1 del tmp140 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp141 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) del tmp141 tmp137 = np . copy ( np . transpose ( v . bbb . xov , ( 1 , 2 , 0 ))) tmp137 += tmp39 del tmp39 tmp137 += tmp130 * - 1 del tmp130 t2new . abab += einsum ( tmp137 , ( 0 , 1 , 2 ), tmp16 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) del tmp137 tmp84 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp83 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp83 t2new . aaaa = np . copy ( np . transpose ( tmp84 , ( 1 , 0 , 2 , 3 ))) * 2 t2new . aaaa += tmp84 * - 2 t2new . aaaa += np . transpose ( tmp84 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp84 tmp47 = einsum ( tmp46 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 0.5 del tmp46 t2new . aaaa += np . transpose ( tmp47 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp47 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp47 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp47 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp47 tmp97 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp16 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) t2new . aaaa += np . transpose ( tmp97 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp97 , ( 0 , 1 , 3 , 2 )) del tmp97 tmp51 = einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 0 , 2 , 3 , 1 )) * 2 tmp51 += t2 . aaaa * - 1 t2new . aaaa += einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), tmp51 , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 5 , 4 )) * - 0.5 del tmp51 tmp104 = einsum ( tmp103 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 4 ), ( 0 , 1 , 4 , 3 )) del tmp103 t2new . aaaa += np . transpose ( tmp104 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp104 del tmp104 tmp59 = einsum ( tmp58 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 4 , 1 )) del tmp58 t2new . aaaa += np . transpose ( tmp59 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp59 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp59 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp59 del tmp59 tmp92 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp91 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 2 del tmp91 t2new . aaaa += tmp92 t2new . aaaa += np . transpose ( tmp92 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp92 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp92 , ( 1 , 0 , 3 , 2 )) del tmp92 tmp107 = einsum ( t1 . aa , ( 0 , 1 ), tmp1 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp1 t2new . aaaa += tmp107 * - 1 t2new . aaaa += np . transpose ( tmp107 , ( 1 , 0 , 2 , 3 )) del tmp107 tmp106 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp106 += einsum ( t1 . aa , ( 0 , 1 ), tmp105 , ( 0 , 2 , 3 , 4 ), ( 4 , 3 , 1 , 2 )) del tmp105 t2new . aaaa += einsum ( tmp106 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 0 , 1 ), ( 4 , 5 , 3 , 2 )) * 2 del tmp106 tmp94 = einsum ( tmp93 , ( 0 , 1 , 2 ), tmp3 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) del tmp93 t2new . aaaa += np . transpose ( tmp94 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp94 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp94 tmp86 = einsum ( t1 . aa , ( 0 , 1 ), tmp17 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp17 t2new . aaaa += np . transpose ( tmp86 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += tmp86 * - 1 t2new . aaaa += np . transpose ( tmp86 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp86 , ( 0 , 1 , 3 , 2 )) del tmp86 tmp102 = einsum ( t1 . aa , ( 0 , 1 ), tmp101 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp101 t2new . aaaa += np . transpose ( tmp102 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += tmp102 * - 1 t2new . aaaa += np . transpose ( tmp102 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp102 , ( 0 , 1 , 3 , 2 )) del tmp102 tmp76 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp75 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) del tmp75 t2new . aaaa += np . transpose ( tmp76 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += tmp76 del tmp76 tmp66 = einsum ( tmp20 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) del tmp20 t2new . aaaa += einsum ( tmp66 , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 1 del tmp66 tmp61 = einsum ( tmp60 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp60 t2new . aaaa += tmp61 t2new . aaaa += np . transpose ( tmp61 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp61 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp61 , ( 1 , 0 , 3 , 2 )) del tmp61 tmp78 = einsum ( tmp77 , ( 0 , 1 , 2 ), tmp3 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) del tmp77 t2new . aaaa += tmp78 * - 1 t2new . aaaa += np . transpose ( tmp78 , ( 0 , 1 , 3 , 2 )) del tmp78 tmp85 = einsum ( tmp79 , ( 0 , 1 , 2 ), tmp3 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) del tmp79 t2new . aaaa += np . transpose ( tmp85 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp85 , ( 1 , 0 , 3 , 2 )) del tmp85 tmp57 = einsum ( tmp56 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 0 ), ( 2 , 3 , 4 , 1 )) * - 2 del tmp56 t2new . aaaa += np . transpose ( tmp57 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp57 , ( 1 , 0 , 3 , 2 )) del tmp57 tmp50 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp48 , ( 4 , 0 , 5 , 1 ), ( 5 , 4 , 2 , 3 )) t2new . aaaa += np . transpose ( tmp50 , ( 0 , 1 , 3 , 2 )) * - 0.5 t2new . aaaa += np . transpose ( tmp50 , ( 0 , 1 , 3 , 2 )) * - 0.5 del tmp50 tmp109 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp108 , ( 4 , 5 , 2 , 3 ), ( 0 , 1 , 4 , 5 )) * - 1 del tmp108 t2new . aaaa += einsum ( t1 . aa , ( 0 , 1 ), tmp109 , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 2 del tmp109 tmp96 = einsum ( tmp95 , ( 0 , 1 , 2 ), tmp3 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) * 0.5 del tmp95 t2new . aaaa += tmp96 * - 1 t2new . aaaa += np . transpose ( tmp96 , ( 1 , 0 , 2 , 3 )) del tmp96 tmp49 = np . copy ( t2 . aaaa ) tmp49 += einsum ( t1 . aa , ( 0 , 1 ), t1 . aa , ( 2 , 3 ), ( 2 , 0 , 3 , 1 )) * 2 t2new . aaaa += einsum ( tmp48 , ( 0 , 1 , 2 , 3 ), tmp49 , ( 0 , 2 , 4 , 5 ), ( 1 , 3 , 5 , 4 )) * 0.5 del tmp48 , tmp49 tmp99 = einsum ( tmp98 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 3 , 2 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) del tmp98 t2new . aaaa += np . transpose ( tmp99 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp99 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp99 tmp69 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp68 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp68 t2new . aaaa += np . transpose ( tmp69 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp69 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp69 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp69 tmp87 = einsum ( tmp3 , ( 0 , 1 , 2 ), tmp11 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) del tmp11 t2new . aaaa += np . transpose ( tmp87 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += tmp87 t2new . aaaa += np . transpose ( tmp87 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp87 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp87 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp87 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp87 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += tmp87 del tmp87 tmp63 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp62 t2new . aaaa += np . transpose ( tmp63 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp63 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp63 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp63 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp63 tmp74 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp71 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) * - 1 del tmp71 tmp74 += einsum ( tmp0 , ( 0 , 1 , 2 ), tmp73 , ( 3 , 4 , 2 ), ( 0 , 1 , 4 , 3 )) del tmp73 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp74 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * 2 del tmp74 tmp100 = einsum ( tmp16 , ( 0 , 1 , 2 ), tmp16 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) del tmp16 t2new . aaaa += np . transpose ( tmp100 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp100 del tmp100 tmp65 = einsum ( t1 . aa , ( 0 , 1 ), tmp64 , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) del tmp64 t2new . aaaa += np . transpose ( tmp65 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += tmp65 * - 1 t2new . aaaa += np . transpose ( tmp65 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp65 , ( 1 , 0 , 2 , 3 )) del tmp65 tmp41 = np . copy ( f . bb . oo ) tmp41 += einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), tmp21 , ( 2 , 3 , 0 ), ( 3 , 1 )) * - 1 tmp41 += np . transpose ( tmp40 , ( 1 , 0 )) del tmp40 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp41 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp41 tmp31 = np . copy ( tmp29 ) del tmp29 tmp31 += einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), v . bbb . xov , ( 4 , 0 , 2 ), ( 1 , 3 , 4 )) del tmp30 tmp31 += einsum ( t1 . bb , ( 0 , 1 ), tmp7 , ( 2 ,), ( 0 , 1 , 2 )) t1new . bb += einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), tmp31 , ( 3 , 2 , 0 ), ( 3 , 1 )) del tmp31 tmp36 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp34 , ( 3 , 2 , 0 ), ( 1 , 3 )) del tmp34 tmp36 += einsum ( t1 . bb , ( 0 , 1 ), tmp35 , ( 2 , 1 ), ( 2 , 0 )) del tmp35 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp36 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp36 tmp27 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp21 , ( 3 , 4 , 0 ), ( 1 , 3 , 4 , 2 )) del tmp21 t1new . bb += einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 del tmp27 tmp26 = np . copy ( f . aa . oo ) tmp26 += einsum ( tmp0 , ( 0 , 1 , 2 ), v . baa . xoo , ( 2 , 3 , 0 ), ( 1 , 3 )) * - 1 del tmp0 tmp26 += np . transpose ( tmp25 , ( 1 , 0 )) del tmp25 t1new . aa += einsum ( tmp26 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp26 tmp8 = np . copy ( tmp3 ) * 0.5 del tmp3 tmp8 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp4 , ( 1 , 3 , 2 , 4 ), ( 3 , 4 , 0 )) * 0.5 del tmp4 tmp8 += einsum ( t1 . aa , ( 0 , 1 ), tmp7 , ( 2 ,), ( 0 , 1 , 2 )) * 0.5 del tmp7 t1new . aa += einsum ( tmp8 , ( 0 , 1 , 2 ), v . baa . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) * 2 del tmp8 tmp15 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp12 , ( 3 , 2 , 0 ), ( 1 , 3 )) * 2 del tmp12 tmp15 += einsum ( tmp14 , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 0 , 2 )) del tmp14 t1new . aa += einsum ( tmp15 , ( 0 , 1 ), t1 . aa , ( 0 , 2 ), ( 1 , 2 )) * - 1 del tmp15 t1new . aa += f . aa . ov t1new . aa += einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) t1new . bb += einsum ( f . bb . vv , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) t1new . bb += f . bb . ov return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/UDFQCISD/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-09T21:55:35.384445 python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0] albert version: 0.0.0 caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py node: fv-az1487-369 system: Linux processor: x86_64 release: 6.5.0-1025-azure ebcc . codegen . UDFQCISD . energy ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T21:55:36.098346. Parameters t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns e_cc : float Coupled cluster energy. Source code in ebcc/codegen/UDFQCISD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:55:36.098346. Parameters ---------- t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- e_cc : float Coupled cluster energy. \"\"\" tmp0 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) e_cc = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp0 , ( 1 , 2 , 0 ), ()) del tmp0 tmp1 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 3 , 4 , 0 )) tmp1 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) e_cc += einsum ( tmp1 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 0 , 1 ), ()) del tmp1 return e_cc ebcc . codegen . UDFQCISD . update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T21:56:02.936488. 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. Source code in ebcc/codegen/UDFQCISD.py 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:56:02.936488. 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 () tmp40 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp35 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp77 = np . copy ( np . transpose ( tmp40 , ( 1 , 0 , 2 , 3 ))) tmp77 += np . transpose ( tmp40 , ( 1 , 0 , 3 , 2 )) * - 1 tmp26 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 3 , 4 , 0 )) tmp27 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp16 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp17 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp36 = np . copy ( np . transpose ( tmp35 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp36 += np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 )) tmp6 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t1 . bb , ( 1 , 2 ), ( 0 ,)) tmp5 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp78 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp77 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp77 tmp71 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) t2new . abab = einsum ( tmp71 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 tmp22 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), t1 . bb , ( 3 , 2 ), ( 3 , 1 , 0 )) t1new . bb = einsum ( tmp22 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) * - 1 tmp28 = np . copy ( tmp26 ) * 0.5 tmp28 += tmp27 t1new . bb += einsum ( tmp28 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) * 2 tmp53 = np . copy ( tmp16 ) * 2 tmp53 += tmp17 tmp18 = np . copy ( tmp16 ) * 2 tmp18 += tmp17 t1new . aa = einsum ( tmp18 , ( 0 , 1 , 2 ), v . baa . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp34 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp37 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp36 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp41 = np . copy ( np . transpose ( tmp40 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp41 += np . transpose ( tmp40 , ( 1 , 0 , 3 , 2 )) tmp1 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 3 , 1 , 0 )) t2new . abab += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp1 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) t1new . aa += einsum ( tmp1 , ( 0 , 1 , 2 ), v . baa . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) * - 1 tmp7 = np . copy ( tmp5 ) tmp7 += tmp6 tmp3 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 3 , 1 , 0 )) tmp10 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t1 . bb , ( 3 , 2 ), ( 3 , 1 , 0 )) tmp81 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp36 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp36 tmp85 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp40 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) tmp79 = np . copy ( np . transpose ( tmp71 , ( 1 , 0 , 3 , 2 ))) tmp79 += tmp78 * - 2 del tmp78 tmp58 = np . copy ( np . transpose ( v . bbb . xov , ( 1 , 2 , 0 ))) tmp58 += tmp22 t2new . abab += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp58 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) tmp21 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) t1new . bb += einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 2 tmp65 = np . copy ( tmp26 ) tmp65 += tmp27 * 2 t2new . abab += einsum ( tmp65 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 4 , 1 )) tmp94 = einsum ( tmp28 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 3 , 0 )) * 2 tmp88 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp91 = einsum ( tmp28 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 0 , 3 ), ( 3 , 1 )) t2new . bbbb = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp91 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 4 tmp66 = np . copy ( tmp16 ) tmp66 += tmp17 * 0.5 tmp59 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp69 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp53 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) t2new . abab += tmp69 tmp54 = einsum ( tmp53 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 4 , 1 )) del tmp53 t2new . aaaa = np . copy ( np . transpose ( tmp54 , ( 1 , 0 , 3 , 2 ))) t2new . aaaa += np . transpose ( tmp54 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp54 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp54 tmp62 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp49 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp56 = einsum ( tmp18 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 3 , 1 ), ( 3 , 0 )) * 0.5 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp56 , ( 0 , 4 ), ( 4 , 1 , 2 , 3 )) * - 2 tmp47 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp35 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) tmp2 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) t1new . aa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 2 tmp38 = np . copy ( np . transpose ( tmp34 , ( 1 , 0 , 3 , 2 ))) tmp38 += tmp37 * - 2 del tmp37 tmp42 = einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp41 tmp30 = np . copy ( np . transpose ( v . baa . xov , ( 1 , 2 , 0 ))) tmp30 += tmp1 tmp8 = einsum ( tmp7 , ( 0 ,), v . baa . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp4 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp3 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp12 = einsum ( tmp7 , ( 0 ,), v . bbb . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp7 tmp11 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp10 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp82 = einsum ( tmp81 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp81 t2new . bbbb += np . transpose ( tmp82 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += tmp82 del tmp82 tmp87 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp87 , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) * - 2 del tmp87 tmp86 = einsum ( tmp85 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) * - 1 del tmp85 t2new . bbbb += np . transpose ( tmp86 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp86 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp86 tmp80 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp79 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp79 t2new . bbbb += np . transpose ( tmp80 , ( 0 , 1 , 3 , 2 )) * 2 t2new . bbbb += np . transpose ( tmp80 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp80 tmp74 = einsum ( tmp58 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 4 , 1 )) del tmp58 t2new . bbbb += np . transpose ( tmp74 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += tmp74 del tmp74 tmp76 = einsum ( tmp26 , ( 0 , 1 , 2 ), tmp27 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) del tmp26 , tmp27 t2new . bbbb += np . transpose ( tmp76 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . bbbb += np . transpose ( tmp76 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp76 , ( 1 , 0 , 3 , 2 )) * 2 t2new . bbbb += tmp76 * 2 del tmp76 tmp75 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp21 t2new . bbbb += np . transpose ( tmp75 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += tmp75 * - 1 t2new . bbbb += np . transpose ( tmp75 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp75 , ( 0 , 1 , 3 , 2 )) del tmp75 tmp83 = einsum ( tmp71 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp71 t2new . bbbb += tmp83 * - 2 t2new . bbbb += np . transpose ( tmp83 , ( 1 , 0 , 2 , 3 )) * 2 del tmp83 tmp92 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp65 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) del tmp65 t2new . bbbb += np . transpose ( tmp92 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp92 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp92 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp92 del tmp92 tmp95 = einsum ( tmp94 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 del tmp94 t2new . bbbb += np . transpose ( tmp95 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp95 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp95 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp95 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp95 tmp89 = einsum ( tmp88 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 3 , 4 , 5 ), ( 2 , 0 , 4 , 5 )) del tmp88 t2new . bbbb += np . transpose ( tmp89 , ( 0 , 1 , 3 , 2 )) * - 0.5 t2new . bbbb += np . transpose ( tmp89 , ( 0 , 1 , 3 , 2 )) * - 0.5 t2new . bbbb += np . transpose ( tmp89 , ( 0 , 1 , 3 , 2 )) * - 0.5 t2new . bbbb += np . transpose ( tmp89 , ( 0 , 1 , 3 , 2 )) * - 0.5 del tmp89 tmp90 = einsum ( f . bb . oo , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) t2new . bbbb += np . transpose ( tmp90 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp90 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp90 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp90 , ( 1 , 0 , 3 , 2 )) del tmp90 tmp84 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp22 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) del tmp22 t2new . bbbb += np . transpose ( tmp84 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp84 , ( 0 , 1 , 3 , 2 )) del tmp84 tmp93 = np . copy ( f . bb . vv ) * - 0.5 tmp93 += np . transpose ( tmp91 , ( 1 , 0 )) del tmp91 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp93 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) * 4 del tmp93 tmp67 = np . copy ( f . aa . vv ) * - 1 tmp67 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp66 , ( 1 , 3 , 0 ), ( 2 , 3 )) * 2 del tmp66 t2new . abab += einsum ( tmp67 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp67 tmp61 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp61 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) * - 1 del tmp61 tmp60 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp60 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp59 , ( 0 , 4 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp60 , ( 1 , 4 , 2 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 del tmp60 tmp70 = einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) * - 1 del tmp40 tmp70 += tmp69 del tmp69 t2new . abab += einsum ( tmp70 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 2 del tmp70 tmp73 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp59 , ( 4 , 5 , 2 , 3 ), ( 0 , 4 , 1 , 5 )) del tmp59 t2new . abab += einsum ( tmp73 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp73 tmp68 = np . copy ( np . transpose ( tmp34 , ( 1 , 0 , 3 , 2 ))) tmp68 += einsum ( tmp35 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) * 2 del tmp35 tmp68 += tmp54 * - 1 del tmp54 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp68 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) * - 1 del tmp68 tmp64 = einsum ( tmp28 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) * 2 t2new . abab += einsum ( tmp64 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 1 del tmp64 tmp23 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) t2new . abab += einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 1 t1new . bb += einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 del tmp23 tmp72 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) t2new . abab += einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) del tmp72 tmp63 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp62 t2new . abab += tmp63 * 0.5 t2new . abab += tmp63 * 0.5 del tmp63 tmp0 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) t2new . abab += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 del tmp0 tmp29 = einsum ( tmp28 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 3 , 0 )) del tmp28 t2new . abab += einsum ( tmp29 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 2 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp29 , ( 0 , 2 ), ( 2 , 1 )) * - 2 del tmp29 tmp50 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 3 , 4 , 5 ), ( 2 , 0 , 4 , 5 )) del tmp49 t2new . aaaa += np . transpose ( tmp50 , ( 0 , 1 , 3 , 2 )) * - 0.5 t2new . aaaa += np . transpose ( tmp50 , ( 0 , 1 , 3 , 2 )) * - 0.5 t2new . aaaa += np . transpose ( tmp50 , ( 0 , 1 , 3 , 2 )) * - 0.5 t2new . aaaa += np . transpose ( tmp50 , ( 0 , 1 , 3 , 2 )) * - 0.5 del tmp50 tmp45 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp1 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) del tmp1 t2new . aaaa += np . transpose ( tmp45 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp45 , ( 0 , 1 , 3 , 2 )) del tmp45 tmp44 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp34 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp34 t2new . aaaa += tmp44 * - 2 t2new . aaaa += np . transpose ( tmp44 , ( 1 , 0 , 2 , 3 )) * 2 del tmp44 tmp57 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp56 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 2 del tmp56 t2new . aaaa += np . transpose ( tmp57 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp57 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp57 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp57 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp57 tmp48 = einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) * - 1 del tmp47 t2new . aaaa += np . transpose ( tmp48 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp48 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp48 tmp46 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp46 , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) * - 2 del tmp46 tmp32 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp2 t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += tmp32 * - 1 t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp32 , ( 0 , 1 , 3 , 2 )) del tmp32 tmp52 = einsum ( tmp18 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) * 0.5 t2new . aaaa += einsum ( tmp52 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 4 del tmp52 tmp39 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp38 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp38 t2new . aaaa += np . transpose ( tmp39 , ( 0 , 1 , 3 , 2 )) * 2 t2new . aaaa += np . transpose ( tmp39 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp39 tmp43 = einsum ( tmp42 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 del tmp42 t2new . aaaa += np . transpose ( tmp43 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp43 del tmp43 tmp51 = einsum ( f . aa . oo , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) t2new . aaaa += np . transpose ( tmp51 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp51 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp51 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp51 , ( 1 , 0 , 3 , 2 )) del tmp51 tmp31 = einsum ( tmp30 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 4 , 1 )) del tmp30 t2new . aaaa += np . transpose ( tmp31 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += tmp31 del tmp31 tmp33 = einsum ( tmp17 , ( 0 , 1 , 2 ), tmp16 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) del tmp16 , tmp17 t2new . aaaa += np . transpose ( tmp33 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . aaaa += np . transpose ( tmp33 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) * 2 t2new . aaaa += tmp33 * 2 del tmp33 tmp55 = np . copy ( f . aa . vv ) * - 1 tmp55 += einsum ( tmp18 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp55 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) * 2 del tmp55 tmp9 = np . copy ( f . aa . ov ) tmp9 += tmp4 * - 1 del tmp4 tmp9 += tmp8 del tmp8 t1new . bb += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp9 , ( 0 , 2 ), ( 1 , 3 )) t1new . aa += einsum ( tmp9 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 2 del tmp9 tmp19 = np . copy ( tmp5 ) del tmp5 tmp19 += tmp6 del tmp6 t1new . bb += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp19 , ( 0 ,), ( 1 , 2 )) t1new . aa += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp19 , ( 0 ,), ( 1 , 2 )) del tmp19 tmp13 = np . copy ( f . bb . ov ) tmp13 += tmp11 * - 1 del tmp11 tmp13 += tmp12 del tmp12 t1new . bb += einsum ( tmp13 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 2 t1new . aa += einsum ( tmp13 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp13 tmp25 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp10 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) t1new . bb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp25 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 2 del tmp25 tmp24 = einsum ( tmp10 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 1 , 4 )) del tmp10 t1new . bb += einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 del tmp24 tmp14 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp3 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) t1new . aa += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 2 del tmp14 tmp15 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp3 t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp15 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 del tmp15 tmp20 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp18 , ( 3 , 2 , 0 ), ( 3 , 1 )) del tmp18 t1new . aa += einsum ( tmp20 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp20 t1new . aa += einsum ( f . aa . oo , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) * - 1 t1new . aa += einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), f . bb . oo , ( 2 , 0 ), ( 2 , 1 )) * - 1 t1new . bb += einsum ( f . bb . vv , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . vv , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * 2 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . oo , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . oo , ( 4 , 0 ), ( 4 , 1 , 2 , 3 )) * - 1 t2new . abab += einsum ( f . bb . vv , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . vv , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * 2 return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"UDFQCISD"},{"location":"reference/codegen/UDFQCISD/#ebcc.codegen.UDFQCISD.energy","text":"Code generated by albert 0.0.0 on 2024-08-09T21:55:36.098346.","title":"energy"},{"location":"reference/codegen/UDFQCISD/#ebcc.codegen.UDFQCISD.energy--parameters","text":"t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UDFQCISD/#ebcc.codegen.UDFQCISD.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/UDFQCISD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:55:36.098346. Parameters ---------- t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- e_cc : float Coupled cluster energy. \"\"\" tmp0 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) e_cc = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp0 , ( 1 , 2 , 0 ), ()) del tmp0 tmp1 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 3 , 4 , 0 )) tmp1 += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) e_cc += einsum ( tmp1 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 0 , 1 ), ()) del tmp1 return e_cc","title":"Returns"},{"location":"reference/codegen/UDFQCISD/#ebcc.codegen.UDFQCISD.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-09T21:56:02.936488.","title":"update_amps"},{"location":"reference/codegen/UDFQCISD/#ebcc.codegen.UDFQCISD.update_amps--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UDFQCISD/#ebcc.codegen.UDFQCISD.update_amps--returns","text":"t1new : Namespace of arrays Updated T1 residuals. t2new : Namespace of arrays Updated T2 residuals. Source code in ebcc/codegen/UDFQCISD.py 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:56:02.936488. 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 () tmp40 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp35 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp77 = np . copy ( np . transpose ( tmp40 , ( 1 , 0 , 2 , 3 ))) tmp77 += np . transpose ( tmp40 , ( 1 , 0 , 3 , 2 )) * - 1 tmp26 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . abab , ( 1 , 3 , 2 , 4 ), ( 3 , 4 , 0 )) tmp27 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . bbbb , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp16 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t2 . aaaa , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp17 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t2 . abab , ( 3 , 1 , 4 , 2 ), ( 3 , 4 , 0 )) tmp36 = np . copy ( np . transpose ( tmp35 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp36 += np . transpose ( tmp35 , ( 1 , 0 , 3 , 2 )) tmp6 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t1 . bb , ( 1 , 2 ), ( 0 ,)) tmp5 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 1 , 2 ), ( 0 ,)) tmp78 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp77 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp77 tmp71 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) t2new . abab = einsum ( tmp71 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 tmp22 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), t1 . bb , ( 3 , 2 ), ( 3 , 1 , 0 )) t1new . bb = einsum ( tmp22 , ( 0 , 1 , 2 ), v . bbb . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) * - 1 tmp28 = np . copy ( tmp26 ) * 0.5 tmp28 += tmp27 t1new . bb += einsum ( tmp28 , ( 0 , 1 , 2 ), v . bbb . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) * 2 tmp53 = np . copy ( tmp16 ) * 2 tmp53 += tmp17 tmp18 = np . copy ( tmp16 ) * 2 tmp18 += tmp17 t1new . aa = einsum ( tmp18 , ( 0 , 1 , 2 ), v . baa . xvv , ( 2 , 3 , 1 ), ( 0 , 3 )) tmp34 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp37 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp36 , ( 1 , 4 , 3 , 5 ), ( 0 , 4 , 2 , 5 )) tmp41 = np . copy ( np . transpose ( tmp40 , ( 1 , 0 , 2 , 3 ))) * - 1 tmp41 += np . transpose ( tmp40 , ( 1 , 0 , 3 , 2 )) tmp1 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 3 , 1 , 0 )) t2new . abab += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp1 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) t1new . aa += einsum ( tmp1 , ( 0 , 1 , 2 ), v . baa . xoo , ( 2 , 3 , 0 ), ( 3 , 1 )) * - 1 tmp7 = np . copy ( tmp5 ) tmp7 += tmp6 tmp3 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), t1 . aa , ( 3 , 2 ), ( 3 , 1 , 0 )) tmp10 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), t1 . bb , ( 3 , 2 ), ( 3 , 1 , 0 )) tmp81 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp36 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp36 tmp85 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp40 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) tmp79 = np . copy ( np . transpose ( tmp71 , ( 1 , 0 , 3 , 2 ))) tmp79 += tmp78 * - 2 del tmp78 tmp58 = np . copy ( np . transpose ( v . bbb . xov , ( 1 , 2 , 0 ))) tmp58 += tmp22 t2new . abab += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp58 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) tmp21 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) t1new . bb += einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 2 tmp65 = np . copy ( tmp26 ) tmp65 += tmp27 * 2 t2new . abab += einsum ( tmp65 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 4 , 1 )) tmp94 = einsum ( tmp28 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 3 , 0 )) * 2 tmp88 = einsum ( v . bbb . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) tmp91 = einsum ( tmp28 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 0 , 3 ), ( 3 , 1 )) t2new . bbbb = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp91 , ( 3 , 4 ), ( 0 , 1 , 2 , 4 )) * - 4 tmp66 = np . copy ( tmp16 ) tmp66 += tmp17 * 0.5 tmp59 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 3 , 1 , 4 , 2 )) tmp69 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp53 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) t2new . abab += tmp69 tmp54 = einsum ( tmp53 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 4 , 1 )) del tmp53 t2new . aaaa = np . copy ( np . transpose ( tmp54 , ( 1 , 0 , 3 , 2 ))) t2new . aaaa += np . transpose ( tmp54 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp54 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp54 tmp62 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) tmp49 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 1 , 2 , 4 )) tmp56 = einsum ( tmp18 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 3 , 1 ), ( 3 , 0 )) * 0.5 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp56 , ( 0 , 4 ), ( 4 , 1 , 2 , 3 )) * - 2 tmp47 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp35 , ( 4 , 5 , 3 , 2 ), ( 0 , 1 , 5 , 4 )) tmp2 = einsum ( v . baa . xoo , ( 0 , 1 , 2 ), v . baa . xov , ( 0 , 3 , 4 ), ( 1 , 2 , 3 , 4 )) t1new . aa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp2 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 2 tmp38 = np . copy ( np . transpose ( tmp34 , ( 1 , 0 , 3 , 2 ))) tmp38 += tmp37 * - 2 del tmp37 tmp42 = einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp41 tmp30 = np . copy ( np . transpose ( v . baa . xov , ( 1 , 2 , 0 ))) tmp30 += tmp1 tmp8 = einsum ( tmp7 , ( 0 ,), v . baa . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) tmp4 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp3 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp12 = einsum ( tmp7 , ( 0 ,), v . bbb . xov , ( 0 , 1 , 2 ), ( 1 , 2 )) del tmp7 tmp11 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp10 , ( 1 , 3 , 0 ), ( 3 , 2 )) tmp82 = einsum ( tmp81 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) del tmp81 t2new . bbbb += np . transpose ( tmp82 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += tmp82 del tmp82 tmp87 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . bbb . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp87 , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) * - 2 del tmp87 tmp86 = einsum ( tmp85 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) * - 1 del tmp85 t2new . bbbb += np . transpose ( tmp86 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp86 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp86 tmp80 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp79 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp79 t2new . bbbb += np . transpose ( tmp80 , ( 0 , 1 , 3 , 2 )) * 2 t2new . bbbb += np . transpose ( tmp80 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp80 tmp74 = einsum ( tmp58 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 4 , 1 )) del tmp58 t2new . bbbb += np . transpose ( tmp74 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += tmp74 del tmp74 tmp76 = einsum ( tmp26 , ( 0 , 1 , 2 ), tmp27 , ( 3 , 4 , 2 ), ( 0 , 3 , 1 , 4 )) del tmp26 , tmp27 t2new . bbbb += np . transpose ( tmp76 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . bbbb += np . transpose ( tmp76 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp76 , ( 1 , 0 , 3 , 2 )) * 2 t2new . bbbb += tmp76 * 2 del tmp76 tmp75 = einsum ( tmp21 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp21 t2new . bbbb += np . transpose ( tmp75 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += tmp75 * - 1 t2new . bbbb += np . transpose ( tmp75 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp75 , ( 0 , 1 , 3 , 2 )) del tmp75 tmp83 = einsum ( tmp71 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp71 t2new . bbbb += tmp83 * - 2 t2new . bbbb += np . transpose ( tmp83 , ( 1 , 0 , 2 , 3 )) * 2 del tmp83 tmp92 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp65 , ( 3 , 4 , 0 ), ( 1 , 3 , 2 , 4 )) del tmp65 t2new . bbbb += np . transpose ( tmp92 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp92 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp92 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += tmp92 del tmp92 tmp95 = einsum ( tmp94 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 1 del tmp94 t2new . bbbb += np . transpose ( tmp95 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp95 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp95 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp95 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp95 tmp89 = einsum ( tmp88 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 1 , 3 , 4 , 5 ), ( 2 , 0 , 4 , 5 )) del tmp88 t2new . bbbb += np . transpose ( tmp89 , ( 0 , 1 , 3 , 2 )) * - 0.5 t2new . bbbb += np . transpose ( tmp89 , ( 0 , 1 , 3 , 2 )) * - 0.5 t2new . bbbb += np . transpose ( tmp89 , ( 0 , 1 , 3 , 2 )) * - 0.5 t2new . bbbb += np . transpose ( tmp89 , ( 0 , 1 , 3 , 2 )) * - 0.5 del tmp89 tmp90 = einsum ( f . bb . oo , ( 0 , 1 ), t2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) t2new . bbbb += np . transpose ( tmp90 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp90 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp90 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp90 , ( 1 , 0 , 3 , 2 )) del tmp90 tmp84 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp22 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) del tmp22 t2new . bbbb += np . transpose ( tmp84 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp84 , ( 0 , 1 , 3 , 2 )) del tmp84 tmp93 = np . copy ( f . bb . vv ) * - 0.5 tmp93 += np . transpose ( tmp91 , ( 1 , 0 )) del tmp91 t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp93 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) * 4 del tmp93 tmp67 = np . copy ( f . aa . vv ) * - 1 tmp67 += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp66 , ( 1 , 3 , 0 ), ( 2 , 3 )) * 2 del tmp66 t2new . abab += einsum ( tmp67 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp67 tmp61 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp61 , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 2 , 5 )) * - 1 del tmp61 tmp60 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) tmp60 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp59 , ( 0 , 4 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp60 , ( 1 , 4 , 2 , 5 ), ( 0 , 4 , 5 , 3 )) * - 1 del tmp60 tmp70 = einsum ( tmp40 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) * - 1 del tmp40 tmp70 += tmp69 del tmp69 t2new . abab += einsum ( tmp70 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 2 del tmp70 tmp73 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp59 , ( 4 , 5 , 2 , 3 ), ( 0 , 4 , 1 , 5 )) del tmp59 t2new . abab += einsum ( tmp73 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp73 tmp68 = np . copy ( np . transpose ( tmp34 , ( 1 , 0 , 3 , 2 ))) tmp68 += einsum ( tmp35 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 0 , 5 , 3 ), ( 1 , 4 , 2 , 5 )) * 2 del tmp35 tmp68 += tmp54 * - 1 del tmp54 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp68 , ( 0 , 4 , 2 , 5 ), ( 4 , 1 , 5 , 3 )) * - 1 del tmp68 tmp64 = einsum ( tmp28 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) * 2 t2new . abab += einsum ( tmp64 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 1 del tmp64 tmp23 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), v . bbb . xoo , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) t2new . abab += einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 4 ), ( 0 , 1 , 3 , 4 )) * - 1 t1new . bb += einsum ( tmp23 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 del tmp23 tmp72 = einsum ( v . bbb . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) t2new . abab += einsum ( tmp72 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) del tmp72 tmp63 = einsum ( tmp62 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) del tmp62 t2new . abab += tmp63 * 0.5 t2new . abab += tmp63 * 0.5 del tmp63 tmp0 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), v . baa . xoo , ( 0 , 3 , 4 ), ( 3 , 4 , 1 , 2 )) t2new . abab += einsum ( tmp0 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp0 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 del tmp0 tmp29 = einsum ( tmp28 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 3 , 1 ), ( 3 , 0 )) del tmp28 t2new . abab += einsum ( tmp29 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 4 ), ( 2 , 1 , 3 , 4 )) * - 2 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), tmp29 , ( 0 , 2 ), ( 2 , 1 )) * - 2 del tmp29 tmp50 = einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 3 , 4 , 5 ), ( 2 , 0 , 4 , 5 )) del tmp49 t2new . aaaa += np . transpose ( tmp50 , ( 0 , 1 , 3 , 2 )) * - 0.5 t2new . aaaa += np . transpose ( tmp50 , ( 0 , 1 , 3 , 2 )) * - 0.5 t2new . aaaa += np . transpose ( tmp50 , ( 0 , 1 , 3 , 2 )) * - 0.5 t2new . aaaa += np . transpose ( tmp50 , ( 0 , 1 , 3 , 2 )) * - 0.5 del tmp50 tmp45 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp1 , ( 3 , 4 , 0 ), ( 3 , 1 , 2 , 4 )) del tmp1 t2new . aaaa += np . transpose ( tmp45 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp45 , ( 0 , 1 , 3 , 2 )) del tmp45 tmp44 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp34 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp34 t2new . aaaa += tmp44 * - 2 t2new . aaaa += np . transpose ( tmp44 , ( 1 , 0 , 2 , 3 )) * 2 del tmp44 tmp57 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp56 , ( 1 , 4 ), ( 0 , 4 , 2 , 3 )) * - 2 del tmp56 t2new . aaaa += np . transpose ( tmp57 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp57 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp57 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp57 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp57 tmp48 = einsum ( tmp47 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 3 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) * - 1 del tmp47 t2new . aaaa += np . transpose ( tmp48 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp48 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp48 tmp46 = einsum ( v . baa . xvv , ( 0 , 1 , 2 ), v . baa . xvv , ( 0 , 3 , 4 ), ( 1 , 3 , 4 , 2 )) t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp46 , ( 4 , 2 , 5 , 3 ), ( 0 , 1 , 4 , 5 )) * - 2 del tmp46 tmp32 = einsum ( tmp2 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) del tmp2 t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += tmp32 * - 1 t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp32 , ( 0 , 1 , 3 , 2 )) del tmp32 tmp52 = einsum ( tmp18 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) * 0.5 t2new . aaaa += einsum ( tmp52 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 4 del tmp52 tmp39 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp38 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp38 t2new . aaaa += np . transpose ( tmp39 , ( 0 , 1 , 3 , 2 )) * 2 t2new . aaaa += np . transpose ( tmp39 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp39 tmp43 = einsum ( tmp42 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 del tmp42 t2new . aaaa += np . transpose ( tmp43 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += tmp43 del tmp43 tmp51 = einsum ( f . aa . oo , ( 0 , 1 ), t2 . aaaa , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) t2new . aaaa += np . transpose ( tmp51 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp51 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp51 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp51 , ( 1 , 0 , 3 , 2 )) del tmp51 tmp31 = einsum ( tmp30 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 4 , 1 )) del tmp30 t2new . aaaa += np . transpose ( tmp31 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += tmp31 del tmp31 tmp33 = einsum ( tmp17 , ( 0 , 1 , 2 ), tmp16 , ( 3 , 4 , 2 ), ( 3 , 0 , 4 , 1 )) del tmp16 , tmp17 t2new . aaaa += np . transpose ( tmp33 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . aaaa += np . transpose ( tmp33 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) * 2 t2new . aaaa += tmp33 * 2 del tmp33 tmp55 = np . copy ( f . aa . vv ) * - 1 tmp55 += einsum ( tmp18 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 0 , 3 ), ( 1 , 3 )) t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp55 , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) * 2 del tmp55 tmp9 = np . copy ( f . aa . ov ) tmp9 += tmp4 * - 1 del tmp4 tmp9 += tmp8 del tmp8 t1new . bb += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp9 , ( 0 , 2 ), ( 1 , 3 )) t1new . aa += einsum ( tmp9 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 2 del tmp9 tmp19 = np . copy ( tmp5 ) del tmp5 tmp19 += tmp6 del tmp6 t1new . bb += einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp19 , ( 0 ,), ( 1 , 2 )) t1new . aa += einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp19 , ( 0 ,), ( 1 , 2 )) del tmp19 tmp13 = np . copy ( f . bb . ov ) tmp13 += tmp11 * - 1 del tmp11 tmp13 += tmp12 del tmp12 t1new . bb += einsum ( tmp13 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 2 t1new . aa += einsum ( tmp13 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp13 tmp25 = einsum ( v . bbb . xov , ( 0 , 1 , 2 ), tmp10 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) t1new . bb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp25 , ( 4 , 1 , 0 , 3 ), ( 4 , 2 )) * - 2 del tmp25 tmp24 = einsum ( tmp10 , ( 0 , 1 , 2 ), v . baa . xov , ( 2 , 3 , 4 ), ( 3 , 0 , 1 , 4 )) del tmp10 t1new . bb += einsum ( tmp24 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 3 , 4 ), ( 1 , 4 )) * - 1 del tmp24 tmp14 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp3 , ( 3 , 4 , 0 ), ( 3 , 1 , 4 , 2 )) t1new . aa += einsum ( tmp14 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 2 del tmp14 tmp15 = einsum ( tmp3 , ( 0 , 1 , 2 ), v . bbb . xov , ( 2 , 3 , 4 ), ( 0 , 1 , 3 , 4 )) del tmp3 t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp15 , ( 4 , 0 , 1 , 3 ), ( 4 , 2 )) * - 1 del tmp15 tmp20 = einsum ( v . baa . xov , ( 0 , 1 , 2 ), tmp18 , ( 3 , 2 , 0 ), ( 3 , 1 )) del tmp18 t1new . aa += einsum ( tmp20 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp20 t1new . aa += einsum ( f . aa . oo , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) * - 1 t1new . aa += einsum ( f . aa . vv , ( 0 , 1 ), t1 . aa , ( 2 , 1 ), ( 2 , 0 )) t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), f . bb . oo , ( 2 , 0 ), ( 2 , 1 )) * - 1 t1new . bb += einsum ( f . bb . vv , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . vv , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * 2 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . oo , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . aa . oo , ( 4 , 0 ), ( 4 , 1 , 2 , 3 )) * - 1 t2new . abab += einsum ( f . bb . vv , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) t2new . bbbb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . vv , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * 2 return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/codegen/UMP2/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-17T12:50:39.755861 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.8.0-40-generic ebcc . codegen . UMP2 . energy ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:50:40.052651. Parameters t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns e_mp : array Source code in ebcc/codegen/UMP2.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:40.052651. Parameters ---------- t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- e_mp : array \"\"\" e_mp = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 2 , 1 , 3 ), ()) e_mp += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ()) e_mp += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 1 , 3 ), ()) return e_mp ebcc . codegen . UMP2 . make_rdm1_f ( l2 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:50:40.538044. Parameters l2 : Namespace of arrays L2 amplitudes. t2 : Namespace of arrays T2 amplitudes. Returns rdm1 : Namespace of arrays One-particle reduced density matrix. Source code in ebcc/codegen/UMP2.py 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 def make_rdm1_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:40.538044. 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 ( t2 . aaaa . shape [ - 1 ])), bb = Namespace ( oo = np . eye ( t2 . bbbb . shape [ 0 ]), vv = np . eye ( t2 . bbbb . shape [ - 1 ])), ) rdm1 . bb . vv = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) * 2 rdm1 . bb . vv += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 1 , 4 )) rdm1 . aa . vv = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * 2 rdm1 . aa . vv += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) rdm1 . bb . oo = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) * - 2 rdm1 . bb . oo += delta . bb . oo rdm1 . bb . oo += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) * - 1 rdm1 . aa . oo = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * - 1 rdm1 . aa . oo += delta . aa . oo del delta rdm1 . aa . oo += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) * - 2 rdm1 . aa . ov = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . aaaa . shape [ - 1 ])) rdm1 . aa . vo = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . aaaa . shape [ 0 ])) rdm1 . bb . ov = np . zeros (( t2 . bbbb . shape [ 0 ], t2 . bbbb . shape [ - 1 ])) rdm1 . bb . vo = np . zeros (( t2 . bbbb . shape [ - 1 ], t2 . bbbb . shape [ 0 ])) 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 ebcc . codegen . UMP2 . make_rdm2_f ( l2 = None , t2 = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:50:40.613028. Parameters l2 : Namespace of arrays L2 amplitudes. t2 : Namespace of arrays T2 amplitudes. Returns rdm2 : Namespace of arrays Two-particle reduced density matrix. Source code in ebcc/codegen/UMP2.py 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 def make_rdm2_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:40.613028. 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 () rdm2 . bbbb . vvoo = np . copy ( l2 . bbbb ) * 2 rdm2 . abab . vvoo = np . copy ( l2 . abab ) rdm2 . aaaa . vvoo = np . copy ( l2 . aaaa ) * 2 rdm2 . bbbb . oovv = np . copy ( t2 . bbbb ) * 2 rdm2 . abab . oovv = np . copy ( t2 . abab ) rdm2 . aaaa . oovv = np . copy ( t2 . aaaa ) * 2 rdm2 . aaaa . oooo = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . aaaa . shape [ 0 ], t2 . aaaa . shape [ 0 ], t2 . aaaa . shape [ 0 ])) 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 . ovov = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . aaaa . shape [ - 1 ], t2 . aaaa . shape [ 0 ], t2 . aaaa . shape [ - 1 ])) rdm2 . aaaa . ovvo = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . aaaa . shape [ - 1 ], t2 . aaaa . shape [ - 1 ], t2 . aaaa . shape [ 0 ])) rdm2 . aaaa . voov = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . aaaa . shape [ 0 ], t2 . aaaa . shape [ 0 ], t2 . aaaa . shape [ - 1 ])) rdm2 . aaaa . vovo = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . aaaa . shape [ 0 ], t2 . aaaa . shape [ - 1 ], 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 . aaaa . vvvv = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . aaaa . shape [ - 1 ], t2 . aaaa . shape [ - 1 ], t2 . aaaa . shape [ - 1 ])) rdm2 . abab . oooo = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ 0 ], t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ 0 ])) rdm2 . abab . ooov = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ 0 ], t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ - 1 ])) rdm2 . abab . oovo = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ 0 ], t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ 0 ])) rdm2 . abab . ovoo = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ - 1 ], t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ 0 ])) rdm2 . abab . vooo = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ 0 ], t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ 0 ])) rdm2 . abab . ovov = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ - 1 ], t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ - 1 ])) rdm2 . abab . ovvo = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ - 1 ], t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ 0 ])) rdm2 . abab . voov = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ 0 ], t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ - 1 ])) rdm2 . abab . vovo = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ 0 ], t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ 0 ])) rdm2 . abab . ovvv = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ - 1 ], t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ - 1 ])) rdm2 . abab . vovv = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ 0 ], t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ - 1 ])) rdm2 . abab . vvov = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ - 1 ], t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ - 1 ])) rdm2 . abab . vvvo = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ - 1 ], t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ 0 ])) rdm2 . abab . vvvv = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ - 1 ], t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ - 1 ])) rdm2 . bbbb . oooo = np . zeros (( t2 . bbbb . shape [ 0 ], t2 . bbbb . shape [ 0 ], t2 . bbbb . shape [ 0 ], t2 . bbbb . 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 . ovov = np . zeros (( t2 . bbbb . shape [ 0 ], t2 . bbbb . shape [ - 1 ], t2 . bbbb . shape [ 0 ], t2 . bbbb . shape [ - 1 ])) rdm2 . bbbb . ovvo = np . zeros (( t2 . bbbb . shape [ 0 ], t2 . bbbb . shape [ - 1 ], t2 . bbbb . shape [ - 1 ], t2 . bbbb . shape [ 0 ])) rdm2 . bbbb . voov = np . zeros (( t2 . bbbb . shape [ - 1 ], t2 . bbbb . shape [ 0 ], t2 . bbbb . shape [ 0 ], t2 . bbbb . shape [ - 1 ])) rdm2 . bbbb . vovo = np . zeros (( t2 . bbbb . shape [ - 1 ], t2 . bbbb . shape [ 0 ], t2 . bbbb . shape [ - 1 ], 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 . bbbb . vvvv = np . zeros (( t2 . bbbb . shape [ - 1 ], t2 . bbbb . shape [ - 1 ], t2 . bbbb . shape [ - 1 ], t2 . bbbb . shape [ - 1 ])) 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 )), ) rdm1 = make_rdm1_f ( t2 = t2 , l2 = l2 ) delta = Namespace ( aa = np . diag ( np . concatenate ([ np . ones ( t2 . aaaa . shape [ 0 ]), np . zeros ( t2 . aaaa . shape [ - 1 ])])), bb = np . diag ( np . concatenate ([ np . ones ( t2 . bbbb . shape [ 0 ]), np . zeros ( t2 . bbbb . shape [ - 1 ])])), ) rdm1 . aa -= delta . aa rdm1 . bb -= delta . bb rdm2 . aaaa += einsum ( delta . aa , ( 0 , 1 ), rdm1 . aa , ( 3 , 2 ), ( 0 , 1 , 2 , 3 )) rdm2 . aaaa += einsum ( rdm1 . aa , ( 1 , 0 ), delta . aa , ( 2 , 3 ), ( 0 , 1 , 2 , 3 )) rdm2 . aaaa -= einsum ( delta . aa , ( 0 , 3 ), rdm1 . aa , ( 2 , 1 ), ( 0 , 1 , 2 , 3 )) rdm2 . aaaa -= einsum ( rdm1 . aa , ( 0 , 3 ), delta . aa , ( 1 , 2 ), ( 0 , 1 , 2 , 3 )) rdm2 . aaaa += einsum ( delta . aa , ( 0 , 1 ), delta . aa , ( 2 , 3 ), ( 0 , 1 , 2 , 3 )) rdm2 . aaaa -= einsum ( delta . aa , ( 0 , 3 ), delta . aa , ( 1 , 2 ), ( 0 , 1 , 2 , 3 )) rdm2 . bbbb += einsum ( delta . bb , ( 0 , 1 ), rdm1 . bb , ( 3 , 2 ), ( 0 , 1 , 2 , 3 )) rdm2 . bbbb += einsum ( rdm1 . bb , ( 1 , 0 ), delta . bb , ( 2 , 3 ), ( 0 , 1 , 2 , 3 )) rdm2 . bbbb -= einsum ( delta . bb , ( 0 , 3 ), rdm1 . bb , ( 2 , 1 ), ( 0 , 1 , 2 , 3 )) rdm2 . bbbb -= einsum ( rdm1 . bb , ( 0 , 3 ), delta . bb , ( 1 , 2 ), ( 0 , 1 , 2 , 3 )) rdm2 . bbbb += einsum ( delta . bb , ( 0 , 1 ), delta . bb , ( 2 , 3 ), ( 0 , 1 , 2 , 3 )) rdm2 . bbbb -= einsum ( delta . bb , ( 0 , 3 ), delta . bb , ( 1 , 2 ), ( 0 , 1 , 2 , 3 )) rdm2 . aabb += einsum ( delta . aa , ( 0 , 1 ), rdm1 . bb , ( 3 , 2 ), ( 0 , 1 , 2 , 3 )) rdm2 . aabb += einsum ( rdm1 . aa , ( 1 , 0 ), delta . bb , ( 2 , 3 ), ( 0 , 1 , 2 , 3 )) rdm2 . aabb += einsum ( delta . aa , ( 0 , 1 ), delta . bb , ( 2 , 3 ), ( 0 , 1 , 2 , 3 )) return rdm2 ebcc . codegen . UMP2 . hbar_matvec_ip_intermediates ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:50:43.552897. Parameters t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns tmp10 : array tmp12 : array tmp2 : array tmp4 : array Source code in ebcc/codegen/UMP2.py 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 def hbar_matvec_ip_intermediates ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:43.552897. Parameters ---------- t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- tmp10 : array tmp12 : array tmp2 : array tmp4 : array \"\"\" tmp12 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp10 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp4 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp2 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) * - 1 return { f \"tmp10\" : tmp10 , f \"tmp12\" : tmp12 , f \"tmp2\" : tmp2 , f \"tmp4\" : tmp4 } ebcc . codegen . UMP2 . hbar_matvec_ip ( f = None , r1 = None , r2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:50:43.558443. Parameters f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UMP2.py 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 def hbar_matvec_ip ( f = None , r1 = None , r2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:43.558443. Parameters ---------- f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp2 = np . copy ( ints . tmp10 ) * 2 del ints . tmp10 tmp2 += ints . tmp12 del ints . tmp12 tmp0 = np . copy ( ints . tmp2 ) * 2 del ints . tmp2 tmp0 += ints . tmp4 del ints . tmp4 tmp6 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), r1 . b , ( 1 ,), ( 0 , 2 , 3 )) tmp7 = einsum ( f . bb . oo , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 0 , 2 , 3 )) tmp4 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 0 , 2 , 3 )) tmp5 = einsum ( f . aa . oo , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 0 , 2 , 3 )) tmp3 = np . copy ( f . bb . oo ) * 2 tmp3 += tmp2 tmp3 += np . transpose ( tmp2 , ( 1 , 0 )) del tmp2 tmp1 = np . copy ( f . aa . oo ) * 2 tmp1 += tmp0 tmp1 += np . transpose ( tmp0 , ( 1 , 0 )) del tmp0 r2new . bbb = einsum ( f . bb . vv , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * 2 r2new . bbb += tmp6 * - 1 r2new . bbb += np . transpose ( tmp6 , ( 1 , 0 , 2 )) del tmp6 r2new . bbb += tmp7 * 2 r2new . bbb += np . transpose ( tmp7 , ( 1 , 0 , 2 )) * - 2 del tmp7 r2new . bab = einsum ( r2 . bab , ( 0 , 1 , 2 ), f . bb . vv , ( 3 , 2 ), ( 0 , 1 , 3 )) r2new . bab += einsum ( f . bb . oo , ( 0 , 1 ), r2 . bab , ( 1 , 2 , 3 ), ( 0 , 2 , 3 )) * - 1 r2new . bab += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 2 , 0 , 3 )) r2new . bab += einsum ( f . aa . oo , ( 0 , 1 ), r2 . bab , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) * - 1 r2new . aba = einsum ( f . aa . vv , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) r2new . aba += einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 0 , 2 , 1 )) r2new . aba += einsum ( f . bb . oo , ( 0 , 1 ), r2 . aba , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) * - 1 r2new . aba += einsum ( f . aa . oo , ( 0 , 1 ), r2 . aba , ( 1 , 2 , 3 ), ( 0 , 2 , 3 )) * - 1 r2new . aaa = einsum ( r2 . aaa , ( 0 , 1 , 2 ), f . aa . vv , ( 3 , 2 ), ( 0 , 1 , 3 )) * 2 r2new . aaa += tmp4 * - 1 r2new . aaa += np . transpose ( tmp4 , ( 1 , 0 , 2 )) del tmp4 r2new . aaa += tmp5 * 2 r2new . aaa += np . transpose ( tmp5 , ( 1 , 0 , 2 )) * - 2 del tmp5 r1new . b = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 3 , 1 ), ( 2 ,)) r1new . b += einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 1 , 2 , 3 ), ( 0 ,)) * - 2 r1new . b += einsum ( tmp3 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 0.5 del tmp3 r1new . a = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 1 , 3 ), ( 0 ,)) * 2 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . ooov , ( 3 , 1 , 0 , 2 ), ( 3 ,)) r1new . a += einsum ( r1 . a , ( 0 ,), tmp1 , ( 0 , 1 ), ( 1 ,)) * - 0.5 del tmp1 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . UMP2 . hbar_matvec_ea_intermediates ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:50:46.493813. Parameters t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns tmp10 : array tmp12 : array tmp2 : array tmp4 : array Source code in ebcc/codegen/UMP2.py 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 def hbar_matvec_ea_intermediates ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:46.493813. Parameters ---------- t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- tmp10 : array tmp12 : array tmp2 : array tmp4 : array \"\"\" tmp12 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp10 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp4 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp2 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 return { f \"tmp10\" : tmp10 , f \"tmp12\" : tmp12 , f \"tmp2\" : tmp2 , f \"tmp4\" : tmp4 } ebcc . codegen . UMP2 . hbar_matvec_ea ( f = None , r1 = None , r2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:50:46.498983. Parameters f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UMP2.py 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 def hbar_matvec_ea ( f = None , r1 = None , r2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:46.498983. Parameters ---------- f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp8 = einsum ( r1 . b , ( 0 ,), v . bbbb . ovvv , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) tmp7 = einsum ( f . bb . vv , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp5 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), r1 . a , ( 3 ,), ( 0 , 1 , 2 )) tmp4 = einsum ( f . aa . vv , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp2 = np . copy ( ints . tmp10 ) del ints . tmp10 tmp2 += ints . tmp12 * 0.5 del ints . tmp12 tmp0 = np . copy ( ints . tmp2 ) del ints . tmp2 tmp0 += ints . tmp4 * 0.5 del ints . tmp4 tmp9 = np . copy ( tmp7 ) * 2 del tmp7 tmp9 += tmp8 del tmp8 tmp6 = np . copy ( tmp4 ) * 2 del tmp4 tmp6 += tmp5 del tmp5 tmp3 = np . copy ( f . bb . vv ) * - 1 tmp3 += tmp2 tmp3 += np . transpose ( tmp2 , ( 1 , 0 )) del tmp2 tmp1 = np . copy ( f . aa . vv ) * - 1 tmp1 += tmp0 tmp1 += np . transpose ( tmp0 , ( 1 , 0 )) del tmp0 r2new . bbb = einsum ( f . bb . oo , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * - 2 r2new . bbb += np . transpose ( tmp9 , ( 1 , 2 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp9 , ( 2 , 1 , 0 )) del tmp9 r2new . bab = einsum ( r2 . bab , ( 0 , 1 , 2 ), f . bb . vv , ( 3 , 0 ), ( 3 , 1 , 2 )) r2new . bab += einsum ( f . aa . vv , ( 0 , 1 ), r2 . bab , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) r2new . bab += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 3 , 0 , 2 )) * - 1 r2new . bab += einsum ( f . bb . oo , ( 0 , 1 ), r2 . bab , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * - 1 r2new . aba = einsum ( f . aa . vv , ( 0 , 1 ), r2 . aba , ( 1 , 2 , 3 ), ( 0 , 2 , 3 )) r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), f . bb . vv , ( 3 , 1 ), ( 0 , 3 , 2 )) r2new . aba += einsum ( r1 . b , ( 0 ,), v . aabb . ovvv , ( 1 , 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aba += einsum ( f . aa . oo , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * - 1 r2new . aaa = einsum ( f . aa . oo , ( 0 , 1 ), r2 . aaa , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * - 2 r2new . aaa += np . transpose ( tmp6 , ( 1 , 2 , 0 )) * - 1 r2new . aaa += np . transpose ( tmp6 , ( 2 , 1 , 0 )) del tmp6 r1new . b = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 1 , 0 ), ( 2 ,)) * 2 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovvv , ( 2 , 0 , 3 , 1 ), ( 3 ,)) * - 1 r1new . b += einsum ( r1 . b , ( 0 ,), tmp3 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp3 r1new . a = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 2 ), ( 0 ,)) * - 1 r1new . a += einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 1 , 3 , 0 ), ( 2 ,)) * - 2 r1new . a += einsum ( tmp1 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp1 return { f \"r1new\" : r1new , f \"r2new\" : r2new } ebcc . codegen . UMP2 . hbar_matvec_ee_intermediates ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:50:53.173336. Parameters t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns tmp17 : array tmp19 : array tmp2 : array tmp23 : array tmp25 : array tmp32 : array tmp34 : array tmp4 : array Source code in ebcc/codegen/UMP2.py 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 def hbar_matvec_ee_intermediates ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:53.173336. Parameters ---------- t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- tmp17 : array tmp19 : array tmp2 : array tmp23 : array tmp25 : array tmp32 : array tmp34 : array tmp4 : array \"\"\" tmp34 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp32 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp25 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp23 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp19 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp17 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) * - 1 tmp4 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp2 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 return { f \"tmp17\" : tmp17 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp23\" : tmp23 , f \"tmp25\" : tmp25 , f \"tmp32\" : tmp32 , f \"tmp34\" : tmp34 , f \"tmp4\" : tmp4 } ebcc . codegen . UMP2 . hbar_matvec_ee ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-17T12:50:53.183561. Parameters f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. Source code in ebcc/codegen/UMP2.py 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 def hbar_matvec_ee ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:53.183561. Parameters ---------- f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp5 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp5 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp1 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp1 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp20 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp19 = einsum ( r1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp15 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp14 = einsum ( r1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp6 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 0 , 2 ), ( 1 , 3 )) del tmp5 tmp4 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp0 = einsum ( r1 . bb , ( 0 , 1 ), v . aabb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp2 = einsum ( r1 . aa , ( 0 , 1 ), tmp1 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) del tmp1 tmp23 = einsum ( f . bb . vv , ( 0 , 1 ), r2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp22 = einsum ( f . bb . oo , ( 0 , 1 ), r2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp21 = np . copy ( tmp19 ) del tmp19 tmp21 += tmp20 del tmp20 tmp16 = np . copy ( tmp14 ) del tmp14 tmp16 += tmp15 del tmp15 tmp18 = einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp17 = einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp13 = np . copy ( f . bb . oo ) tmp13 += np . transpose ( ints . tmp32 , ( 1 , 0 )) * 2 del ints . tmp32 tmp13 += np . transpose ( ints . tmp34 , ( 1 , 0 )) del ints . tmp34 tmp7 = np . copy ( tmp4 ) tmp7 += tmp6 * - 1 del tmp6 tmp11 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 ))) tmp11 += v . bbbb . oovv * - 1 tmp3 = np . copy ( tmp0 ) tmp3 += tmp2 * - 1 del tmp2 tmp12 = np . copy ( np . transpose ( ints . tmp23 , ( 1 , 0 ))) * 2 del ints . tmp23 tmp12 += np . transpose ( ints . tmp25 , ( 1 , 0 )) del ints . tmp25 tmp12 += f . bb . vv * - 1 tmp9 = np . copy ( np . transpose ( ints . tmp2 , ( 1 , 0 ))) * 2 del ints . tmp2 tmp9 += np . transpose ( ints . tmp4 , ( 1 , 0 )) del ints . tmp4 tmp9 += f . aa . vv * - 1 tmp10 = np . copy ( f . aa . oo ) tmp10 += np . transpose ( ints . tmp17 , ( 1 , 0 )) * 2 del ints . tmp17 tmp10 += np . transpose ( ints . tmp19 , ( 1 , 0 )) del ints . tmp19 tmp8 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) tmp8 += v . aaaa . oovv * - 1 r2new . bbbb = np . copy ( tmp21 ) * - 1 r2new . bbbb += np . transpose ( tmp21 , ( 0 , 1 , 3 , 2 )) r2new . bbbb += np . transpose ( tmp21 , ( 1 , 0 , 2 , 3 )) r2new . bbbb += np . transpose ( tmp21 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp21 r2new . bbbb += np . transpose ( tmp22 , ( 0 , 1 , 3 , 2 )) * - 2 r2new . bbbb += np . transpose ( tmp22 , ( 1 , 0 , 3 , 2 )) * 2 del tmp22 r2new . bbbb += np . transpose ( tmp23 , ( 1 , 0 , 2 , 3 )) * 2 r2new . bbbb += np . transpose ( tmp23 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp23 r2new . abab = einsum ( r1 . aa , ( 0 , 1 ), v . aabb . vvov , ( 2 , 1 , 3 , 4 ), ( 0 , 3 , 2 , 4 )) r2new . abab += einsum ( f . aa . vv , ( 0 , 1 ), r2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 3 , 0 , 4 )) r2new . abab += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . vv , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) r2new . abab += einsum ( r1 . bb , ( 0 , 1 ), v . aabb . ovvv , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) r2new . abab += einsum ( f . aa . oo , ( 0 , 1 ), r2 . abab , ( 1 , 2 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 r2new . abab += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 r2new . abab += einsum ( f . bb . oo , ( 0 , 1 ), r2 . abab , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 1 r2new . abab += einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) * - 1 r2new . aaaa = np . copy ( tmp16 ) * - 1 r2new . aaaa += np . transpose ( tmp16 , ( 0 , 1 , 3 , 2 )) r2new . aaaa += np . transpose ( tmp16 , ( 1 , 0 , 2 , 3 )) r2new . aaaa += np . transpose ( tmp16 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp16 r2new . aaaa += np . transpose ( tmp17 , ( 0 , 1 , 3 , 2 )) * - 2 r2new . aaaa += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) * 2 del tmp17 r2new . aaaa += np . transpose ( tmp18 , ( 1 , 0 , 2 , 3 )) * 2 r2new . aaaa += np . transpose ( tmp18 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp18 r1new . bb = einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 4 )) * 2 r1new . bb += einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 r1new . bb += einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), r2 . bbbb , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 2 r1new . bb += tmp4 del tmp4 r1new . bb += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) r1new . bb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp7 , ( 1 , 3 ), ( 0 , 2 )) * 2 r1new . bb += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp3 , ( 0 , 2 ), ( 1 , 3 )) r1new . bb += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 0 , 2 ), ( 1 , 3 )) del tmp11 r1new . bb += einsum ( r1 . bb , ( 0 , 1 ), tmp12 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp12 r1new . bb += einsum ( r1 . bb , ( 0 , 1 ), tmp13 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp13 r1new . aa = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 1 r1new . aa += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) r1new . aa += einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), r2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * 2 r1new . aa += tmp0 del tmp0 r1new . aa += einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), r2 . aaaa , ( 4 , 0 , 3 , 1 ), ( 4 , 2 )) * 2 r1new . aa += einsum ( tmp3 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 2 del tmp3 r1new . aa += einsum ( tmp7 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp7 r1new . aa += einsum ( r1 . aa , ( 0 , 1 ), tmp8 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp8 r1new . aa += einsum ( tmp9 , ( 0 , 1 ), r1 . aa , ( 2 , 0 ), ( 2 , 1 )) * - 1 del tmp9 r1new . aa += einsum ( r1 . aa , ( 0 , 1 ), tmp10 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp10 r2new . baba = np . transpose ( r2new . abab , ( 1 , 0 , 3 , 2 )) return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"UMP2"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.energy","text":"Code generated by albert 0.0.0 on 2024-08-17T12:50:40.052651.","title":"energy"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.energy--parameters","text":"t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.energy--returns","text":"e_mp : array Source code in ebcc/codegen/UMP2.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:40.052651. Parameters ---------- t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- e_mp : array \"\"\" e_mp = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 2 , 1 , 3 ), ()) e_mp += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ()) e_mp += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 1 , 3 ), ()) return e_mp","title":"Returns"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.make_rdm1_f","text":"Code generated by albert 0.0.0 on 2024-08-17T12:50:40.538044.","title":"make_rdm1_f"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.make_rdm1_f--parameters","text":"l2 : Namespace of arrays L2 amplitudes. t2 : Namespace of arrays T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.make_rdm1_f--returns","text":"rdm1 : Namespace of arrays One-particle reduced density matrix. Source code in ebcc/codegen/UMP2.py 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 def make_rdm1_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:40.538044. 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 ( t2 . aaaa . shape [ - 1 ])), bb = Namespace ( oo = np . eye ( t2 . bbbb . shape [ 0 ]), vv = np . eye ( t2 . bbbb . shape [ - 1 ])), ) rdm1 . bb . vv = einsum ( l2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) * 2 rdm1 . bb . vv += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 1 , 4 )) rdm1 . aa . vv = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * 2 rdm1 . aa . vv += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) rdm1 . bb . oo = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), l2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) * - 2 rdm1 . bb . oo += delta . bb . oo rdm1 . bb . oo += einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 2 , 4 , 0 , 1 ), ( 4 , 3 )) * - 1 rdm1 . aa . oo = einsum ( l2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 3 , 0 , 1 ), ( 4 , 2 )) * - 1 rdm1 . aa . oo += delta . aa . oo del delta rdm1 . aa . oo += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), l2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 0 , 4 )) * - 2 rdm1 . aa . ov = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . aaaa . shape [ - 1 ])) rdm1 . aa . vo = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . aaaa . shape [ 0 ])) rdm1 . bb . ov = np . zeros (( t2 . bbbb . shape [ 0 ], t2 . bbbb . shape [ - 1 ])) rdm1 . bb . vo = np . zeros (( t2 . bbbb . shape [ - 1 ], t2 . bbbb . shape [ 0 ])) 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","title":"Returns"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.make_rdm2_f","text":"Code generated by albert 0.0.0 on 2024-08-17T12:50:40.613028.","title":"make_rdm2_f"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.make_rdm2_f--parameters","text":"l2 : Namespace of arrays L2 amplitudes. t2 : Namespace of arrays T2 amplitudes.","title":"Parameters"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.make_rdm2_f--returns","text":"rdm2 : Namespace of arrays Two-particle reduced density matrix. Source code in ebcc/codegen/UMP2.py 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 def make_rdm2_f ( l2 = None , t2 = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:40.613028. 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 () rdm2 . bbbb . vvoo = np . copy ( l2 . bbbb ) * 2 rdm2 . abab . vvoo = np . copy ( l2 . abab ) rdm2 . aaaa . vvoo = np . copy ( l2 . aaaa ) * 2 rdm2 . bbbb . oovv = np . copy ( t2 . bbbb ) * 2 rdm2 . abab . oovv = np . copy ( t2 . abab ) rdm2 . aaaa . oovv = np . copy ( t2 . aaaa ) * 2 rdm2 . aaaa . oooo = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . aaaa . shape [ 0 ], t2 . aaaa . shape [ 0 ], t2 . aaaa . shape [ 0 ])) 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 . ovov = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . aaaa . shape [ - 1 ], t2 . aaaa . shape [ 0 ], t2 . aaaa . shape [ - 1 ])) rdm2 . aaaa . ovvo = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . aaaa . shape [ - 1 ], t2 . aaaa . shape [ - 1 ], t2 . aaaa . shape [ 0 ])) rdm2 . aaaa . voov = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . aaaa . shape [ 0 ], t2 . aaaa . shape [ 0 ], t2 . aaaa . shape [ - 1 ])) rdm2 . aaaa . vovo = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . aaaa . shape [ 0 ], t2 . aaaa . shape [ - 1 ], 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 . aaaa . vvvv = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . aaaa . shape [ - 1 ], t2 . aaaa . shape [ - 1 ], t2 . aaaa . shape [ - 1 ])) rdm2 . abab . oooo = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ 0 ], t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ 0 ])) rdm2 . abab . ooov = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ 0 ], t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ - 1 ])) rdm2 . abab . oovo = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ 0 ], t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ 0 ])) rdm2 . abab . ovoo = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ - 1 ], t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ 0 ])) rdm2 . abab . vooo = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ 0 ], t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ 0 ])) rdm2 . abab . ovov = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ - 1 ], t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ - 1 ])) rdm2 . abab . ovvo = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ - 1 ], t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ 0 ])) rdm2 . abab . voov = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ 0 ], t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ - 1 ])) rdm2 . abab . vovo = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ 0 ], t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ 0 ])) rdm2 . abab . ovvv = np . zeros (( t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ - 1 ], t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ - 1 ])) rdm2 . abab . vovv = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ 0 ], t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ - 1 ])) rdm2 . abab . vvov = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ - 1 ], t2 . aaaa . shape [ 0 ], t2 . bbbb . shape [ - 1 ])) rdm2 . abab . vvvo = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ - 1 ], t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ 0 ])) rdm2 . abab . vvvv = np . zeros (( t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ - 1 ], t2 . aaaa . shape [ - 1 ], t2 . bbbb . shape [ - 1 ])) rdm2 . bbbb . oooo = np . zeros (( t2 . bbbb . shape [ 0 ], t2 . bbbb . shape [ 0 ], t2 . bbbb . shape [ 0 ], t2 . bbbb . 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 . ovov = np . zeros (( t2 . bbbb . shape [ 0 ], t2 . bbbb . shape [ - 1 ], t2 . bbbb . shape [ 0 ], t2 . bbbb . shape [ - 1 ])) rdm2 . bbbb . ovvo = np . zeros (( t2 . bbbb . shape [ 0 ], t2 . bbbb . shape [ - 1 ], t2 . bbbb . shape [ - 1 ], t2 . bbbb . shape [ 0 ])) rdm2 . bbbb . voov = np . zeros (( t2 . bbbb . shape [ - 1 ], t2 . bbbb . shape [ 0 ], t2 . bbbb . shape [ 0 ], t2 . bbbb . shape [ - 1 ])) rdm2 . bbbb . vovo = np . zeros (( t2 . bbbb . shape [ - 1 ], t2 . bbbb . shape [ 0 ], t2 . bbbb . shape [ - 1 ], 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 . bbbb . vvvv = np . zeros (( t2 . bbbb . shape [ - 1 ], t2 . bbbb . shape [ - 1 ], t2 . bbbb . shape [ - 1 ], t2 . bbbb . shape [ - 1 ])) 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 )), ) rdm1 = make_rdm1_f ( t2 = t2 , l2 = l2 ) delta = Namespace ( aa = np . diag ( np . concatenate ([ np . ones ( t2 . aaaa . shape [ 0 ]), np . zeros ( t2 . aaaa . shape [ - 1 ])])), bb = np . diag ( np . concatenate ([ np . ones ( t2 . bbbb . shape [ 0 ]), np . zeros ( t2 . bbbb . shape [ - 1 ])])), ) rdm1 . aa -= delta . aa rdm1 . bb -= delta . bb rdm2 . aaaa += einsum ( delta . aa , ( 0 , 1 ), rdm1 . aa , ( 3 , 2 ), ( 0 , 1 , 2 , 3 )) rdm2 . aaaa += einsum ( rdm1 . aa , ( 1 , 0 ), delta . aa , ( 2 , 3 ), ( 0 , 1 , 2 , 3 )) rdm2 . aaaa -= einsum ( delta . aa , ( 0 , 3 ), rdm1 . aa , ( 2 , 1 ), ( 0 , 1 , 2 , 3 )) rdm2 . aaaa -= einsum ( rdm1 . aa , ( 0 , 3 ), delta . aa , ( 1 , 2 ), ( 0 , 1 , 2 , 3 )) rdm2 . aaaa += einsum ( delta . aa , ( 0 , 1 ), delta . aa , ( 2 , 3 ), ( 0 , 1 , 2 , 3 )) rdm2 . aaaa -= einsum ( delta . aa , ( 0 , 3 ), delta . aa , ( 1 , 2 ), ( 0 , 1 , 2 , 3 )) rdm2 . bbbb += einsum ( delta . bb , ( 0 , 1 ), rdm1 . bb , ( 3 , 2 ), ( 0 , 1 , 2 , 3 )) rdm2 . bbbb += einsum ( rdm1 . bb , ( 1 , 0 ), delta . bb , ( 2 , 3 ), ( 0 , 1 , 2 , 3 )) rdm2 . bbbb -= einsum ( delta . bb , ( 0 , 3 ), rdm1 . bb , ( 2 , 1 ), ( 0 , 1 , 2 , 3 )) rdm2 . bbbb -= einsum ( rdm1 . bb , ( 0 , 3 ), delta . bb , ( 1 , 2 ), ( 0 , 1 , 2 , 3 )) rdm2 . bbbb += einsum ( delta . bb , ( 0 , 1 ), delta . bb , ( 2 , 3 ), ( 0 , 1 , 2 , 3 )) rdm2 . bbbb -= einsum ( delta . bb , ( 0 , 3 ), delta . bb , ( 1 , 2 ), ( 0 , 1 , 2 , 3 )) rdm2 . aabb += einsum ( delta . aa , ( 0 , 1 ), rdm1 . bb , ( 3 , 2 ), ( 0 , 1 , 2 , 3 )) rdm2 . aabb += einsum ( rdm1 . aa , ( 1 , 0 ), delta . bb , ( 2 , 3 ), ( 0 , 1 , 2 , 3 )) rdm2 . aabb += einsum ( delta . aa , ( 0 , 1 ), delta . bb , ( 2 , 3 ), ( 0 , 1 , 2 , 3 )) return rdm2","title":"Returns"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.hbar_matvec_ip_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T12:50:43.552897.","title":"hbar_matvec_ip_intermediates"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.hbar_matvec_ip_intermediates--parameters","text":"t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.hbar_matvec_ip_intermediates--returns","text":"tmp10 : array tmp12 : array tmp2 : array tmp4 : array Source code in ebcc/codegen/UMP2.py 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 def hbar_matvec_ip_intermediates ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:43.552897. Parameters ---------- t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- tmp10 : array tmp12 : array tmp2 : array tmp4 : array \"\"\" tmp12 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp10 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp4 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp2 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) * - 1 return { f \"tmp10\" : tmp10 , f \"tmp12\" : tmp12 , f \"tmp2\" : tmp2 , f \"tmp4\" : tmp4 }","title":"Returns"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.hbar_matvec_ip","text":"Code generated by albert 0.0.0 on 2024-08-17T12:50:43.558443.","title":"hbar_matvec_ip"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.hbar_matvec_ip--parameters","text":"f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.hbar_matvec_ip--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UMP2.py 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 def hbar_matvec_ip ( f = None , r1 = None , r2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:43.558443. Parameters ---------- f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp2 = np . copy ( ints . tmp10 ) * 2 del ints . tmp10 tmp2 += ints . tmp12 del ints . tmp12 tmp0 = np . copy ( ints . tmp2 ) * 2 del ints . tmp2 tmp0 += ints . tmp4 del ints . tmp4 tmp6 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), r1 . b , ( 1 ,), ( 0 , 2 , 3 )) tmp7 = einsum ( f . bb . oo , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 0 , 2 , 3 )) tmp4 = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 0 , 2 , 3 )) tmp5 = einsum ( f . aa . oo , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 0 , 2 , 3 )) tmp3 = np . copy ( f . bb . oo ) * 2 tmp3 += tmp2 tmp3 += np . transpose ( tmp2 , ( 1 , 0 )) del tmp2 tmp1 = np . copy ( f . aa . oo ) * 2 tmp1 += tmp0 tmp1 += np . transpose ( tmp0 , ( 1 , 0 )) del tmp0 r2new . bbb = einsum ( f . bb . vv , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * 2 r2new . bbb += tmp6 * - 1 r2new . bbb += np . transpose ( tmp6 , ( 1 , 0 , 2 )) del tmp6 r2new . bbb += tmp7 * 2 r2new . bbb += np . transpose ( tmp7 , ( 1 , 0 , 2 )) * - 2 del tmp7 r2new . bab = einsum ( r2 . bab , ( 0 , 1 , 2 ), f . bb . vv , ( 3 , 2 ), ( 0 , 1 , 3 )) r2new . bab += einsum ( f . bb . oo , ( 0 , 1 ), r2 . bab , ( 1 , 2 , 3 ), ( 0 , 2 , 3 )) * - 1 r2new . bab += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 2 , 0 , 3 )) r2new . bab += einsum ( f . aa . oo , ( 0 , 1 ), r2 . bab , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) * - 1 r2new . aba = einsum ( f . aa . vv , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) r2new . aba += einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), r1 . b , ( 3 ,), ( 0 , 2 , 1 )) r2new . aba += einsum ( f . bb . oo , ( 0 , 1 ), r2 . aba , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) * - 1 r2new . aba += einsum ( f . aa . oo , ( 0 , 1 ), r2 . aba , ( 1 , 2 , 3 ), ( 0 , 2 , 3 )) * - 1 r2new . aaa = einsum ( r2 . aaa , ( 0 , 1 , 2 ), f . aa . vv , ( 3 , 2 ), ( 0 , 1 , 3 )) * 2 r2new . aaa += tmp4 * - 1 r2new . aaa += np . transpose ( tmp4 , ( 1 , 0 , 2 )) del tmp4 r2new . aaa += tmp5 * 2 r2new . aaa += np . transpose ( tmp5 , ( 1 , 0 , 2 )) * - 2 del tmp5 r1new . b = einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), r2 . aba , ( 0 , 3 , 1 ), ( 2 ,)) r1new . b += einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 1 , 2 , 3 ), ( 0 ,)) * - 2 r1new . b += einsum ( tmp3 , ( 0 , 1 ), r1 . b , ( 0 ,), ( 1 ,)) * - 0.5 del tmp3 r1new . a = einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 2 , 1 , 3 ), ( 0 ,)) * 2 r1new . a += einsum ( r2 . bab , ( 0 , 1 , 2 ), v . aabb . ooov , ( 3 , 1 , 0 , 2 ), ( 3 ,)) r1new . a += einsum ( r1 . a , ( 0 ,), tmp1 , ( 0 , 1 ), ( 1 ,)) * - 0.5 del tmp1 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.hbar_matvec_ea_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T12:50:46.493813.","title":"hbar_matvec_ea_intermediates"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.hbar_matvec_ea_intermediates--parameters","text":"t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.hbar_matvec_ea_intermediates--returns","text":"tmp10 : array tmp12 : array tmp2 : array tmp4 : array Source code in ebcc/codegen/UMP2.py 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 def hbar_matvec_ea_intermediates ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:46.493813. Parameters ---------- t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- tmp10 : array tmp12 : array tmp2 : array tmp4 : array \"\"\" tmp12 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp10 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 tmp4 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp2 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 return { f \"tmp10\" : tmp10 , f \"tmp12\" : tmp12 , f \"tmp2\" : tmp2 , f \"tmp4\" : tmp4 }","title":"Returns"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.hbar_matvec_ea","text":"Code generated by albert 0.0.0 on 2024-08-17T12:50:46.498983.","title":"hbar_matvec_ea"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.hbar_matvec_ea--parameters","text":"f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.hbar_matvec_ea--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UMP2.py 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 def hbar_matvec_ea ( f = None , r1 = None , r2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:46.498983. Parameters ---------- f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp8 = einsum ( r1 . b , ( 0 ,), v . bbbb . ovvv , ( 1 , 2 , 3 , 0 ), ( 1 , 2 , 3 )) tmp7 = einsum ( f . bb . vv , ( 0 , 1 ), r2 . bbb , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp5 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), r1 . a , ( 3 ,), ( 0 , 1 , 2 )) tmp4 = einsum ( f . aa . vv , ( 0 , 1 ), r2 . aaa , ( 2 , 1 , 3 ), ( 3 , 0 , 2 )) tmp2 = np . copy ( ints . tmp10 ) del ints . tmp10 tmp2 += ints . tmp12 * 0.5 del ints . tmp12 tmp0 = np . copy ( ints . tmp2 ) del ints . tmp2 tmp0 += ints . tmp4 * 0.5 del ints . tmp4 tmp9 = np . copy ( tmp7 ) * 2 del tmp7 tmp9 += tmp8 del tmp8 tmp6 = np . copy ( tmp4 ) * 2 del tmp4 tmp6 += tmp5 del tmp5 tmp3 = np . copy ( f . bb . vv ) * - 1 tmp3 += tmp2 tmp3 += np . transpose ( tmp2 , ( 1 , 0 )) del tmp2 tmp1 = np . copy ( f . aa . vv ) * - 1 tmp1 += tmp0 tmp1 += np . transpose ( tmp0 , ( 1 , 0 )) del tmp0 r2new . bbb = einsum ( f . bb . oo , ( 0 , 1 ), r2 . bbb , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * - 2 r2new . bbb += np . transpose ( tmp9 , ( 1 , 2 , 0 )) * - 1 r2new . bbb += np . transpose ( tmp9 , ( 2 , 1 , 0 )) del tmp9 r2new . bab = einsum ( r2 . bab , ( 0 , 1 , 2 ), f . bb . vv , ( 3 , 0 ), ( 3 , 1 , 2 )) r2new . bab += einsum ( f . aa . vv , ( 0 , 1 ), r2 . bab , ( 2 , 1 , 3 ), ( 2 , 0 , 3 )) r2new . bab += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), r1 . a , ( 1 ,), ( 3 , 0 , 2 )) * - 1 r2new . bab += einsum ( f . bb . oo , ( 0 , 1 ), r2 . bab , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * - 1 r2new . aba = einsum ( f . aa . vv , ( 0 , 1 ), r2 . aba , ( 1 , 2 , 3 ), ( 0 , 2 , 3 )) r2new . aba += einsum ( r2 . aba , ( 0 , 1 , 2 ), f . bb . vv , ( 3 , 1 ), ( 0 , 3 , 2 )) r2new . aba += einsum ( r1 . b , ( 0 ,), v . aabb . ovvv , ( 1 , 2 , 3 , 0 ), ( 2 , 3 , 1 )) * - 1 r2new . aba += einsum ( f . aa . oo , ( 0 , 1 ), r2 . aba , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * - 1 r2new . aaa = einsum ( f . aa . oo , ( 0 , 1 ), r2 . aaa , ( 2 , 3 , 1 ), ( 2 , 3 , 0 )) * - 2 r2new . aaa += np . transpose ( tmp6 , ( 1 , 2 , 0 )) * - 1 r2new . aaa += np . transpose ( tmp6 , ( 2 , 1 , 0 )) del tmp6 r1new . b = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), r2 . bbb , ( 3 , 1 , 0 ), ( 2 ,)) * 2 r1new . b += einsum ( r2 . aba , ( 0 , 1 , 2 ), v . aabb . ovvv , ( 2 , 0 , 3 , 1 ), ( 3 ,)) * - 1 r1new . b += einsum ( r1 . b , ( 0 ,), tmp3 , ( 0 , 1 ), ( 1 ,)) * - 1 del tmp3 r1new . a = einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), r2 . bab , ( 3 , 1 , 2 ), ( 0 ,)) * - 1 r1new . a += einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), r2 . aaa , ( 1 , 3 , 0 ), ( 2 ,)) * - 2 r1new . a += einsum ( tmp1 , ( 0 , 1 ), r1 . a , ( 0 ,), ( 1 ,)) * - 1 del tmp1 return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.hbar_matvec_ee_intermediates","text":"Code generated by albert 0.0.0 on 2024-08-17T12:50:53.173336.","title":"hbar_matvec_ee_intermediates"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.hbar_matvec_ee_intermediates--parameters","text":"t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.hbar_matvec_ee_intermediates--returns","text":"tmp17 : array tmp19 : array tmp2 : array tmp23 : array tmp25 : array tmp32 : array tmp34 : array tmp4 : array Source code in ebcc/codegen/UMP2.py 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 def hbar_matvec_ee_intermediates ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:53.173336. Parameters ---------- t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- tmp17 : array tmp19 : array tmp2 : array tmp23 : array tmp25 : array tmp32 : array tmp34 : array tmp4 : array \"\"\" tmp34 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) tmp32 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 4 , 3 , 1 , 2 ), ( 0 , 4 )) * - 1 tmp25 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 1 , 4 ), ( 4 , 3 )) tmp23 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp19 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp17 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) * - 1 tmp4 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp2 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 1 ), ( 4 , 3 )) * - 1 return { f \"tmp17\" : tmp17 , f \"tmp19\" : tmp19 , f \"tmp2\" : tmp2 , f \"tmp23\" : tmp23 , f \"tmp25\" : tmp25 , f \"tmp32\" : tmp32 , f \"tmp34\" : tmp34 , f \"tmp4\" : tmp4 }","title":"Returns"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.hbar_matvec_ee","text":"Code generated by albert 0.0.0 on 2024-08-17T12:50:53.183561.","title":"hbar_matvec_ee"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.hbar_matvec_ee--parameters","text":"f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 amplitudes. t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UMP2/#ebcc.codegen.UMP2.hbar_matvec_ee--returns","text":"r1new : Namespace of arrays Updated R1 residuals. r2new : Namespace of arrays Updated R2 residuals. Source code in ebcc/codegen/UMP2.py 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 def hbar_matvec_ee ( f = None , r1 = None , r2 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-17T12:50:53.183561. Parameters ---------- f : Namespace of arrays Fock matrix. r1 : Namespace of arrays R1 amplitudes. r2 : Namespace of arrays R2 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. \"\"\" ints = kwargs [ \"ints\" ] r1new = Namespace () r2new = Namespace () tmp5 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp5 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp1 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp1 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp20 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp19 = einsum ( r1 . bb , ( 0 , 1 ), v . bbbb . ooov , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp15 = einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) tmp14 = einsum ( r1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) tmp6 = einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 0 , 2 ), ( 1 , 3 )) del tmp5 tmp4 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 0 , 1 ), ( 2 , 3 )) tmp0 = einsum ( r1 . bb , ( 0 , 1 ), v . aabb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) tmp2 = einsum ( r1 . aa , ( 0 , 1 ), tmp1 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) del tmp1 tmp23 = einsum ( f . bb . vv , ( 0 , 1 ), r2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) tmp22 = einsum ( f . bb . oo , ( 0 , 1 ), r2 . bbbb , ( 2 , 1 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) tmp21 = np . copy ( tmp19 ) del tmp19 tmp21 += tmp20 del tmp20 tmp16 = np . copy ( tmp14 ) del tmp14 tmp16 += tmp15 del tmp15 tmp18 = einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . vv , ( 4 , 3 ), ( 0 , 1 , 4 , 2 )) tmp17 = einsum ( r2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) tmp13 = np . copy ( f . bb . oo ) tmp13 += np . transpose ( ints . tmp32 , ( 1 , 0 )) * 2 del ints . tmp32 tmp13 += np . transpose ( ints . tmp34 , ( 1 , 0 )) del ints . tmp34 tmp7 = np . copy ( tmp4 ) tmp7 += tmp6 * - 1 del tmp6 tmp11 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 ))) tmp11 += v . bbbb . oovv * - 1 tmp3 = np . copy ( tmp0 ) tmp3 += tmp2 * - 1 del tmp2 tmp12 = np . copy ( np . transpose ( ints . tmp23 , ( 1 , 0 ))) * 2 del ints . tmp23 tmp12 += np . transpose ( ints . tmp25 , ( 1 , 0 )) del ints . tmp25 tmp12 += f . bb . vv * - 1 tmp9 = np . copy ( np . transpose ( ints . tmp2 , ( 1 , 0 ))) * 2 del ints . tmp2 tmp9 += np . transpose ( ints . tmp4 , ( 1 , 0 )) del ints . tmp4 tmp9 += f . aa . vv * - 1 tmp10 = np . copy ( f . aa . oo ) tmp10 += np . transpose ( ints . tmp17 , ( 1 , 0 )) * 2 del ints . tmp17 tmp10 += np . transpose ( ints . tmp19 , ( 1 , 0 )) del ints . tmp19 tmp8 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) tmp8 += v . aaaa . oovv * - 1 r2new . bbbb = np . copy ( tmp21 ) * - 1 r2new . bbbb += np . transpose ( tmp21 , ( 0 , 1 , 3 , 2 )) r2new . bbbb += np . transpose ( tmp21 , ( 1 , 0 , 2 , 3 )) r2new . bbbb += np . transpose ( tmp21 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp21 r2new . bbbb += np . transpose ( tmp22 , ( 0 , 1 , 3 , 2 )) * - 2 r2new . bbbb += np . transpose ( tmp22 , ( 1 , 0 , 3 , 2 )) * 2 del tmp22 r2new . bbbb += np . transpose ( tmp23 , ( 1 , 0 , 2 , 3 )) * 2 r2new . bbbb += np . transpose ( tmp23 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp23 r2new . abab = einsum ( r1 . aa , ( 0 , 1 ), v . aabb . vvov , ( 2 , 1 , 3 , 4 ), ( 0 , 3 , 2 , 4 )) r2new . abab += einsum ( f . aa . vv , ( 0 , 1 ), r2 . abab , ( 2 , 3 , 1 , 4 ), ( 2 , 3 , 0 , 4 )) r2new . abab += einsum ( r2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . vv , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) r2new . abab += einsum ( r1 . bb , ( 0 , 1 ), v . aabb . ovvv , ( 2 , 3 , 4 , 1 ), ( 2 , 0 , 3 , 4 )) r2new . abab += einsum ( f . aa . oo , ( 0 , 1 ), r2 . abab , ( 1 , 2 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 r2new . abab += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), r1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 r2new . abab += einsum ( f . bb . oo , ( 0 , 1 ), r2 . abab , ( 2 , 1 , 3 , 4 ), ( 2 , 0 , 3 , 4 )) * - 1 r2new . abab += einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 3 , 4 ), ( 0 , 2 , 1 , 4 )) * - 1 r2new . aaaa = np . copy ( tmp16 ) * - 1 r2new . aaaa += np . transpose ( tmp16 , ( 0 , 1 , 3 , 2 )) r2new . aaaa += np . transpose ( tmp16 , ( 1 , 0 , 2 , 3 )) r2new . aaaa += np . transpose ( tmp16 , ( 1 , 0 , 3 , 2 )) * - 1 del tmp16 r2new . aaaa += np . transpose ( tmp17 , ( 0 , 1 , 3 , 2 )) * - 2 r2new . aaaa += np . transpose ( tmp17 , ( 1 , 0 , 3 , 2 )) * 2 del tmp17 r2new . aaaa += np . transpose ( tmp18 , ( 1 , 0 , 2 , 3 )) * 2 r2new . aaaa += np . transpose ( tmp18 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp18 r1new . bb = einsum ( r2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 4 )) * 2 r1new . bb += einsum ( v . aabb . ovoo , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 0 , 3 , 1 , 4 ), ( 2 , 4 )) * - 1 r1new . bb += einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), r2 . bbbb , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 2 r1new . bb += tmp4 del tmp4 r1new . bb += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 0 , 4 , 1 , 3 ), ( 4 , 2 )) r1new . bb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp7 , ( 1 , 3 ), ( 0 , 2 )) * 2 r1new . bb += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp3 , ( 0 , 2 ), ( 1 , 3 )) r1new . bb += einsum ( tmp11 , ( 0 , 1 , 2 , 3 ), r1 . bb , ( 0 , 2 ), ( 1 , 3 )) del tmp11 r1new . bb += einsum ( r1 . bb , ( 0 , 1 ), tmp12 , ( 1 , 2 ), ( 0 , 2 )) * - 1 del tmp12 r1new . bb += einsum ( r1 . bb , ( 0 , 1 ), tmp13 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp13 r1new . aa = einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 1 r1new . aa += einsum ( v . aabb . vvov , ( 0 , 1 , 2 , 3 ), r2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) r1new . aa += einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), r2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * 2 r1new . aa += tmp0 del tmp0 r1new . aa += einsum ( v . aaaa . ovvv , ( 0 , 1 , 2 , 3 ), r2 . aaaa , ( 4 , 0 , 3 , 1 ), ( 4 , 2 )) * 2 r1new . aa += einsum ( tmp3 , ( 0 , 1 ), t2 . aaaa , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 2 del tmp3 r1new . aa += einsum ( tmp7 , ( 0 , 1 ), t2 . abab , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) del tmp7 r1new . aa += einsum ( r1 . aa , ( 0 , 1 ), tmp8 , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) del tmp8 r1new . aa += einsum ( tmp9 , ( 0 , 1 ), r1 . aa , ( 2 , 0 ), ( 2 , 1 )) * - 1 del tmp9 r1new . aa += einsum ( r1 . aa , ( 0 , 1 ), tmp10 , ( 0 , 2 ), ( 2 , 1 )) * - 1 del tmp10 r2new . baba = np . transpose ( r2new . abab , ( 1 , 0 , 3 , 2 )) return { f \"r1new\" : r1new , f \"r2new\" : r2new }","title":"Returns"},{"location":"reference/codegen/UMP3/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-09T21:27:32.086295 python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0] albert version: 0.0.0 caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py node: fv-az1487-369 system: Linux processor: x86_64 release: 6.5.0-1025-azure ebcc . codegen . UMP3 . energy ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T21:27:38.705629. Parameters t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns e_mp : array Source code in ebcc/codegen/UMP3.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:27:38.705629. Parameters ---------- t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- e_mp : array \"\"\" tmp5 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 ))) tmp5 += v . bbbb . oovv * - 1 tmp3 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) tmp3 += v . aaaa . oovv * - 1 tmp9 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp9 += einsum ( v . aabb . oovv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * - 1 tmp9 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvoo , ( 4 , 2 , 5 , 1 ), ( 0 , 5 , 4 , 3 )) * - 1 tmp9 += einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp9 += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) e_mp = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp9 , ( 0 , 1 , 2 , 3 ), ()) del tmp9 tmp4 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) * - 0.25 tmp4 += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 5 , 1 )) tmp4 += einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * 0.25 tmp4 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp3 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) del tmp3 e_mp += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 1 , 3 , 2 ), ()) * 4 del tmp4 tmp6 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 ))) * - 1 tmp6 += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 2 , 4 , 5 , 3 )) * 4 tmp6 += einsum ( v . bbbb . vvvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp6 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp5 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) * 4 del tmp5 e_mp += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp6 , ( 0 , 1 , 3 , 2 ), ()) del tmp6 tmp8 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) tmp8 += v . aaaa . oovv * - 1 tmp0 = 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 ), tmp0 , ( 1 , 0 , 2 , 3 ), ()) del tmp0 tmp2 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 2 , 3 ), ( 0 , 4 , 1 , 5 )) e_mp += einsum ( v . aabb . oooo , ( 0 , 1 , 2 , 3 ), tmp2 , ( 1 , 0 , 3 , 2 ), ()) del tmp2 tmp7 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) e_mp += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), tmp8 , ( 0 , 1 , 2 , 3 ), ()) del tmp7 , tmp8 tmp1 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 2 , 3 ), ( 4 , 0 , 1 , 5 )) e_mp += einsum ( v . bbbb . oooo , ( 0 , 1 , 2 , 3 ), tmp1 , ( 1 , 0 , 2 , 3 ), ()) del tmp1 return e_mp","title":"UMP3"},{"location":"reference/codegen/UMP3/#ebcc.codegen.UMP3.energy","text":"Code generated by albert 0.0.0 on 2024-08-09T21:27:38.705629.","title":"energy"},{"location":"reference/codegen/UMP3/#ebcc.codegen.UMP3.energy--parameters","text":"t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UMP3/#ebcc.codegen.UMP3.energy--returns","text":"e_mp : array Source code in ebcc/codegen/UMP3.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:27:38.705629. Parameters ---------- t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns ------- e_mp : array \"\"\" tmp5 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 ))) tmp5 += v . bbbb . oovv * - 1 tmp3 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) tmp3 += v . aaaa . oovv * - 1 tmp9 = np . copy ( np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 ))) tmp9 += einsum ( v . aabb . oovv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * - 1 tmp9 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvoo , ( 4 , 2 , 5 , 1 ), ( 0 , 5 , 4 , 3 )) * - 1 tmp9 += einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp9 += einsum ( tmp5 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 2 ), ( 4 , 1 , 5 , 3 )) e_mp = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp9 , ( 0 , 1 , 2 , 3 ), ()) del tmp9 tmp4 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) * - 0.25 tmp4 += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 5 , 1 )) tmp4 += einsum ( v . aaaa . vvvv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * 0.25 tmp4 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp3 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) del tmp3 e_mp += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp4 , ( 0 , 1 , 3 , 2 ), ()) * 4 del tmp4 tmp6 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 ))) * - 1 tmp6 += einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 1 , 5 ), ( 2 , 4 , 5 , 3 )) * 4 tmp6 += einsum ( v . bbbb . vvvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) * - 1 tmp6 += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp5 , ( 1 , 4 , 3 , 5 ), ( 4 , 0 , 2 , 5 )) * 4 del tmp5 e_mp += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp6 , ( 0 , 1 , 3 , 2 ), ()) del tmp6 tmp8 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 ))) tmp8 += v . aaaa . oovv * - 1 tmp0 = 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 ), tmp0 , ( 1 , 0 , 2 , 3 ), ()) del tmp0 tmp2 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 2 , 3 ), ( 0 , 4 , 1 , 5 )) e_mp += einsum ( v . aabb . oooo , ( 0 , 1 , 2 , 3 ), tmp2 , ( 1 , 0 , 3 , 2 ), ()) del tmp2 tmp7 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) e_mp += einsum ( tmp7 , ( 0 , 1 , 2 , 3 ), tmp8 , ( 0 , 1 , 2 , 3 ), ()) del tmp7 , tmp8 tmp1 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 2 , 3 ), ( 4 , 0 , 1 , 5 )) e_mp += einsum ( v . bbbb . oooo , ( 0 , 1 , 2 , 3 ), tmp1 , ( 1 , 0 , 2 , 3 ), ()) del tmp1 return e_mp","title":"Returns"},{"location":"reference/codegen/UQCISD/","text":"Code generated by albert : https://github.com/obackhouse/albert date: 2024-08-09T21:54:59.878219 python version: 3.10.14 (main, Jul 16 2024, 19:03:10) [GCC 11.4.0] albert version: 0.0.0 caller: /opt/hostedtoolcache/Python/3.10.14/x64/lib/python3.10/site-packages/albert/codegen/einsum.py node: fv-az1487-369 system: Linux processor: x86_64 release: 6.5.0-1025-azure ebcc . codegen . UQCISD . energy ( t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T21:55:00.400217. Parameters t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals. Returns e_cc : float Coupled cluster energy. Source code in ebcc/codegen/UQCISD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:55:00.400217. 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 . 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 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 2 , 1 , 3 ), ()) return e_cc ebcc . codegen . UQCISD . update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ) Code generated by albert 0.0.0 on 2024-08-09T21:55:18.784008. 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. Source code in ebcc/codegen/UQCISD.py 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:55:18.784008. 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 () tmp57 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp57 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp22 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp22 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp16 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) * - 1 tmp15 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp58 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp57 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp57 tmp26 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp26 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp23 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp22 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp11 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp10 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp5 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp5 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp1 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp1 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp46 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) t2new . abab = np . copy ( tmp46 ) * 2 tmp17 = np . copy ( tmp15 ) tmp17 += tmp16 * 2 t1new . bb = einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 2 , 0 ), ( 2 , 1 )) * - 1 tmp44 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp43 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 1 , 4 ), ( 3 , 4 )) tmp64 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp61 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 3 , 5 ), ( 1 , 4 , 2 , 5 )) del tmp22 tmp59 = np . copy ( v . bbbb . oovv ) tmp59 += tmp58 * - 2 del tmp58 tmp48 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp48 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp20 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) t2new . aaaa = np . copy ( tmp20 ) t2new . aaaa += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp20 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp20 , ( 1 , 0 , 3 , 2 )) tmp34 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp35 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp27 = einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp26 tmp50 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 1 , 3 , 4 , 5 ), ( 0 , 4 , 2 , 5 )) t2new . abab += tmp50 * 2 tmp24 = np . copy ( v . aaaa . oovv ) tmp24 += tmp23 * - 2 del tmp23 tmp30 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) * - 1 tmp39 = np . copy ( tmp10 ) * 2 tmp39 += tmp11 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 0 ), ( 4 , 1 , 2 , 3 )) * - 1 tmp6 = einsum ( t1 . bb , ( 0 , 1 ), tmp5 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) del tmp5 tmp4 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) t1new . bb += tmp4 tmp2 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 3 ), ( 1 , 2 )) del tmp1 tmp0 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) t1new . aa = np . copy ( tmp0 ) tmp66 = einsum ( v . bbbb . oooo , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 3 , 1 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) * - 1 t2new . bbbb = np . copy ( np . transpose ( tmp66 , ( 1 , 0 , 3 , 2 ))) * 0.5 t2new . bbbb += np . transpose ( tmp66 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . bbbb += np . transpose ( tmp66 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . bbbb += np . transpose ( tmp66 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp66 tmp56 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp46 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp46 t2new . bbbb += np . transpose ( tmp56 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . bbbb += np . transpose ( tmp56 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp56 , ( 1 , 0 , 3 , 2 )) * 2 t2new . bbbb += tmp56 * 2 del tmp56 tmp70 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) t2new . bbbb += tmp70 t2new . bbbb += np . transpose ( tmp70 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp70 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp70 , ( 1 , 0 , 3 , 2 )) del tmp70 tmp72 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp17 t2new . bbbb += np . transpose ( tmp72 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp72 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp72 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp72 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp72 tmp63 = einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) t2new . bbbb += tmp63 * - 2 t2new . bbbb += np . transpose ( tmp63 , ( 1 , 0 , 2 , 3 )) * 2 del tmp63 tmp71 = np . copy ( f . bb . vv ) * - 1 tmp71 += tmp43 tmp71 += tmp44 * 2 t2new . bbbb += einsum ( tmp71 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * 2 del tmp71 tmp69 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) t2new . bbbb += tmp69 * 2 t2new . bbbb += np . transpose ( tmp69 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp69 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . bbbb += np . transpose ( tmp69 , ( 1 , 0 , 3 , 2 )) * 2 del tmp69 tmp68 = np . copy ( tmp43 ) * 0.5 tmp68 += tmp44 t2new . bbbb += einsum ( tmp68 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 4 del tmp68 tmp67 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) t2new . bbbb += np . transpose ( tmp67 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp67 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp67 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp67 , ( 1 , 0 , 3 , 2 )) del tmp67 tmp65 = einsum ( tmp64 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 3 , 2 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) del tmp64 t2new . bbbb += np . transpose ( tmp65 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp65 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp65 tmp55 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) t2new . bbbb += np . transpose ( tmp55 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += tmp55 * - 1 t2new . bbbb += np . transpose ( tmp55 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp55 , ( 0 , 1 , 3 , 2 )) del tmp55 tmp54 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) t2new . bbbb += np . transpose ( tmp54 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp54 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += tmp54 * - 1 t2new . bbbb += np . transpose ( tmp54 , ( 1 , 0 , 2 , 3 )) del tmp54 tmp62 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp61 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp61 t2new . bbbb += np . transpose ( tmp62 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp62 , ( 1 , 0 , 3 , 2 )) del tmp62 tmp60 = einsum ( tmp59 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp59 t2new . bbbb += np . transpose ( tmp60 , ( 0 , 1 , 3 , 2 )) * 2 t2new . bbbb += np . transpose ( tmp60 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp60 tmp45 = np . copy ( tmp43 ) del tmp43 tmp45 += tmp44 * 2 del tmp44 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp45 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 1 del tmp45 tmp49 = np . copy ( v . aaaa . oovv ) tmp49 += np . transpose ( tmp20 , ( 1 , 0 , 3 , 2 )) * - 1 tmp49 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp48 , ( 1 , 4 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp48 t2new . abab += einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 del tmp49 tmp47 = np . copy ( f . aa . vv ) * - 1 tmp47 += np . transpose ( tmp34 , ( 1 , 0 )) * 2 tmp47 += np . transpose ( tmp35 , ( 1 , 0 )) t2new . abab += einsum ( tmp47 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp47 tmp42 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . oooo , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) t2new . abab += tmp42 * 0.5 t2new . abab += tmp42 * 0.5 del tmp42 tmp52 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp52 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp52 tmp51 = np . copy ( tmp50 ) * 2 del tmp50 tmp51 += tmp27 * - 1 t2new . abab += einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 2 del tmp51 tmp41 = np . copy ( np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 ))) tmp41 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 5 , 1 , 4 , 2 )) * - 1 t2new . abab += einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 3 , 5 )) * - 1 del tmp41 tmp53 = np . copy ( tmp15 ) * 0.5 del tmp15 tmp53 += tmp16 del tmp16 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp53 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 2 del tmp53 tmp28 = einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 del tmp27 t2new . aaaa += np . transpose ( tmp28 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp28 , ( 1 , 0 , 3 , 2 )) del tmp28 tmp19 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) t2new . aaaa += np . transpose ( tmp19 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += tmp19 * - 1 t2new . aaaa += np . transpose ( tmp19 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp19 , ( 0 , 1 , 3 , 2 )) del tmp19 tmp33 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) t2new . aaaa += np . transpose ( tmp33 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp33 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) del tmp33 tmp25 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp24 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp24 t2new . aaaa += np . transpose ( tmp25 , ( 0 , 1 , 3 , 2 )) * 2 t2new . aaaa += np . transpose ( tmp25 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp25 tmp32 = einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp32 tmp31 = einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 3 , 2 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) del tmp30 t2new . aaaa += np . transpose ( tmp31 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp31 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp31 tmp29 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) t2new . aaaa += tmp29 * - 2 t2new . aaaa += np . transpose ( tmp29 , ( 1 , 0 , 2 , 3 )) * 2 del tmp29 tmp40 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp39 t2new . aaaa += np . transpose ( tmp40 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp40 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp40 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp40 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp40 tmp36 = np . copy ( tmp34 ) tmp36 += tmp35 * 0.5 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp36 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 4 del tmp36 tmp37 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) t2new . aaaa += tmp37 * 2 t2new . aaaa += np . transpose ( tmp37 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp37 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . aaaa += np . transpose ( tmp37 , ( 1 , 0 , 3 , 2 )) * 2 del tmp37 tmp38 = np . copy ( f . aa . vv ) * - 1 tmp38 += tmp34 * 2 del tmp34 tmp38 += tmp35 del tmp35 t2new . aaaa += einsum ( tmp38 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * 2 del tmp38 tmp21 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp20 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp20 t2new . aaaa += np . transpose ( tmp21 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . aaaa += np . transpose ( tmp21 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp21 , ( 1 , 0 , 3 , 2 )) * 2 t2new . aaaa += tmp21 * 2 del tmp21 tmp18 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) t2new . aaaa += np . transpose ( tmp18 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp18 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += tmp18 * - 1 t2new . aaaa += np . transpose ( tmp18 , ( 1 , 0 , 2 , 3 )) del tmp18 tmp7 = np . copy ( f . bb . ov ) tmp7 += tmp4 del tmp4 tmp7 += tmp6 * - 1 del tmp6 t1new . bb += einsum ( tmp7 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 2 t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp7 , ( 1 , 3 ), ( 0 , 2 )) del tmp7 tmp13 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) t1new . bb += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 2 del tmp13 tmp3 = np . copy ( f . aa . ov ) tmp3 += tmp0 del tmp0 tmp3 += tmp2 * - 1 del tmp2 t1new . bb += einsum ( tmp3 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) t1new . aa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp3 , ( 1 , 3 ), ( 0 , 2 )) * 2 del tmp3 tmp14 = 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 ), tmp14 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) * - 1 del tmp14 tmp8 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) t1new . aa += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 1 del tmp8 tmp12 = np . copy ( tmp10 ) del tmp10 tmp12 += tmp11 * 0.5 del tmp11 t1new . aa += einsum ( tmp12 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) * - 2 del tmp12 tmp9 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) t1new . aa += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 2 del tmp9 t1new . aa += einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 )) * - 1 t1new . aa += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 1 t1new . aa += einsum ( f . aa . oo , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) * - 1 t1new . aa += einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 2 t1new . aa += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) t1new . aa += einsum ( t1 . aa , ( 0 , 1 ), f . aa . vv , ( 2 , 1 ), ( 0 , 2 )) t1new . aa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 2 t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) 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 ( t1 . bb , ( 0 , 1 ), f . bb . oo , ( 2 , 0 ), ( 2 , 1 )) * - 1 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * - 1 t1new . bb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 4 )) * 2 t1new . bb += einsum ( f . bb . vv , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) t1new . bb += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 )) * - 1 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . vvvv , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) * - 2 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . vv , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * 2 t2new . abab += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) t2new . abab += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovoo , ( 2 , 3 , 4 , 0 ), ( 2 , 4 , 3 , 1 )) * - 1 t2new . abab += einsum ( v . aabb . oovv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * - 1 t2new . abab += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 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 ), f . bb . oo , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 t2new . abab += einsum ( f . aa . oo , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . vv , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) 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 t2new . abab += einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 )) * - 1 t2new . bbbb += einsum ( v . bbbb . vvvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * - 2 t2new . bbbb += einsum ( f . bb . vv , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * 2 return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"UQCISD"},{"location":"reference/codegen/UQCISD/#ebcc.codegen.UQCISD.energy","text":"Code generated by albert 0.0.0 on 2024-08-09T21:55:00.400217.","title":"energy"},{"location":"reference/codegen/UQCISD/#ebcc.codegen.UQCISD.energy--parameters","text":"t2 : Namespace of arrays T2 amplitudes. v : Namespace of arrays Electron repulsion integrals.","title":"Parameters"},{"location":"reference/codegen/UQCISD/#ebcc.codegen.UQCISD.energy--returns","text":"e_cc : float Coupled cluster energy. Source code in ebcc/codegen/UQCISD.py 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 def energy ( t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:55:00.400217. 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 . 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 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 0 , 2 , 1 , 3 ), ()) return e_cc","title":"Returns"},{"location":"reference/codegen/UQCISD/#ebcc.codegen.UQCISD.update_amps","text":"Code generated by albert 0.0.0 on 2024-08-09T21:55:18.784008.","title":"update_amps"},{"location":"reference/codegen/UQCISD/#ebcc.codegen.UQCISD.update_amps--parameters","text":"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.","title":"Parameters"},{"location":"reference/codegen/UQCISD/#ebcc.codegen.UQCISD.update_amps--returns","text":"t1new : Namespace of arrays Updated T1 residuals. t2new : Namespace of arrays Updated T2 residuals. Source code in ebcc/codegen/UQCISD.py 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 def update_amps ( f = None , t1 = None , t2 = None , v = None , ** kwargs ): \"\"\" Code generated by `albert` 0.0.0 on 2024-08-09T21:55:18.784008. 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 () tmp57 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) tmp57 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp22 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) tmp22 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) * - 1 tmp16 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 3 , 1 ), ( 4 , 0 )) * - 1 tmp15 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) tmp58 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp57 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp57 tmp26 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp26 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp23 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp22 , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) tmp11 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 2 , 1 , 3 ), ( 4 , 0 )) tmp10 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) tmp5 = np . copy ( np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp5 += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) tmp1 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp1 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp46 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 4 , 0 , 5 , 2 )) t2new . abab = np . copy ( tmp46 ) * 2 tmp17 = np . copy ( tmp15 ) tmp17 += tmp16 * 2 t1new . bb = einsum ( t1 . bb , ( 0 , 1 ), tmp17 , ( 2 , 0 ), ( 2 , 1 )) * - 1 tmp44 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovov , ( 0 , 4 , 1 , 3 ), ( 2 , 4 )) tmp43 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 1 , 4 ), ( 3 , 4 )) tmp64 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) tmp61 = einsum ( tmp22 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 3 , 5 ), ( 1 , 4 , 2 , 5 )) del tmp22 tmp59 = np . copy ( v . bbbb . oovv ) tmp59 += tmp58 * - 2 del tmp58 tmp48 = np . copy ( np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 ))) * - 1 tmp48 += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) tmp20 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) t2new . aaaa = np . copy ( tmp20 ) t2new . aaaa += np . transpose ( tmp20 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp20 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp20 , ( 1 , 0 , 3 , 2 )) tmp34 = einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp35 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 2 , 4 , 3 ), ( 4 , 1 )) tmp27 = einsum ( tmp26 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 5 , 3 ), ( 4 , 1 , 5 , 2 )) del tmp26 tmp50 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 1 , 3 , 4 , 5 ), ( 0 , 4 , 2 , 5 )) t2new . abab += tmp50 * 2 tmp24 = np . copy ( v . aaaa . oovv ) tmp24 += tmp23 * - 2 del tmp23 tmp30 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) * - 1 tmp39 = np . copy ( tmp10 ) * 2 tmp39 += tmp11 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 0 ), ( 4 , 1 , 2 , 3 )) * - 1 tmp6 = einsum ( t1 . bb , ( 0 , 1 ), tmp5 , ( 0 , 2 , 3 , 1 ), ( 2 , 3 )) del tmp5 tmp4 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 1 ), ( 2 , 3 )) t1new . bb += tmp4 tmp2 = einsum ( tmp1 , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 0 , 3 ), ( 1 , 2 )) del tmp1 tmp0 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 2 , 3 ), ( 0 , 1 )) t1new . aa = np . copy ( tmp0 ) tmp66 = einsum ( v . bbbb . oooo , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 3 , 1 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) * - 1 t2new . bbbb = np . copy ( np . transpose ( tmp66 , ( 1 , 0 , 3 , 2 ))) * 0.5 t2new . bbbb += np . transpose ( tmp66 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . bbbb += np . transpose ( tmp66 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . bbbb += np . transpose ( tmp66 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp66 tmp56 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp46 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp46 t2new . bbbb += np . transpose ( tmp56 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . bbbb += np . transpose ( tmp56 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp56 , ( 1 , 0 , 3 , 2 )) * 2 t2new . bbbb += tmp56 * 2 del tmp56 tmp70 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 2 , 4 , 5 ), ( 1 , 4 , 3 , 5 )) t2new . bbbb += tmp70 t2new . bbbb += np . transpose ( tmp70 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp70 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . bbbb += np . transpose ( tmp70 , ( 1 , 0 , 3 , 2 )) del tmp70 tmp72 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), tmp17 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp17 t2new . bbbb += np . transpose ( tmp72 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp72 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp72 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp72 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp72 tmp63 = einsum ( v . bbbb . oovv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) t2new . bbbb += tmp63 * - 2 t2new . bbbb += np . transpose ( tmp63 , ( 1 , 0 , 2 , 3 )) * 2 del tmp63 tmp71 = np . copy ( f . bb . vv ) * - 1 tmp71 += tmp43 tmp71 += tmp44 * 2 t2new . bbbb += einsum ( tmp71 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * 2 del tmp71 tmp69 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 2 , 5 , 3 ), ( 4 , 0 , 5 , 1 )) t2new . bbbb += tmp69 * 2 t2new . bbbb += np . transpose ( tmp69 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . bbbb += np . transpose ( tmp69 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . bbbb += np . transpose ( tmp69 , ( 1 , 0 , 3 , 2 )) * 2 del tmp69 tmp68 = np . copy ( tmp43 ) * 0.5 tmp68 += tmp44 t2new . bbbb += einsum ( tmp68 , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * - 4 del tmp68 tmp67 = einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), f . bb . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) t2new . bbbb += np . transpose ( tmp67 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp67 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp67 , ( 1 , 0 , 3 , 2 )) t2new . bbbb += np . transpose ( tmp67 , ( 1 , 0 , 3 , 2 )) del tmp67 tmp65 = einsum ( tmp64 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 3 , 2 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) del tmp64 t2new . bbbb += np . transpose ( tmp65 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp65 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp65 tmp55 = einsum ( v . bbbb . ooov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) t2new . bbbb += np . transpose ( tmp55 , ( 1 , 0 , 2 , 3 )) t2new . bbbb += tmp55 * - 1 t2new . bbbb += np . transpose ( tmp55 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp55 , ( 0 , 1 , 3 , 2 )) del tmp55 tmp54 = einsum ( v . bbbb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 1 , 2 )) t2new . bbbb += np . transpose ( tmp54 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp54 , ( 0 , 1 , 3 , 2 )) t2new . bbbb += tmp54 * - 1 t2new . bbbb += np . transpose ( tmp54 , ( 1 , 0 , 2 , 3 )) del tmp54 tmp62 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp61 , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) del tmp61 t2new . bbbb += np . transpose ( tmp62 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . bbbb += np . transpose ( tmp62 , ( 1 , 0 , 3 , 2 )) del tmp62 tmp60 = einsum ( tmp59 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) del tmp59 t2new . bbbb += np . transpose ( tmp60 , ( 0 , 1 , 3 , 2 )) * 2 t2new . bbbb += np . transpose ( tmp60 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp60 tmp45 = np . copy ( tmp43 ) del tmp43 tmp45 += tmp44 * 2 del tmp44 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp45 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 1 del tmp45 tmp49 = np . copy ( v . aaaa . oovv ) tmp49 += np . transpose ( tmp20 , ( 1 , 0 , 3 , 2 )) * - 1 tmp49 += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp48 , ( 1 , 4 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * 2 del tmp48 t2new . abab += einsum ( tmp49 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 0 , 4 , 2 , 5 ), ( 1 , 4 , 3 , 5 )) * - 1 del tmp49 tmp47 = np . copy ( f . aa . vv ) * - 1 tmp47 += np . transpose ( tmp34 , ( 1 , 0 )) * 2 tmp47 += np . transpose ( tmp35 , ( 1 , 0 )) t2new . abab += einsum ( tmp47 , ( 0 , 1 ), t2 . abab , ( 2 , 3 , 0 , 4 ), ( 2 , 3 , 1 , 4 )) * - 1 del tmp47 tmp42 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . oooo , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) t2new . abab += tmp42 * 0.5 t2new . abab += tmp42 * 0.5 del tmp42 tmp52 = einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 4 , 2 , 5 , 3 ), ( 0 , 4 , 1 , 5 )) t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp52 , ( 4 , 0 , 5 , 1 ), ( 4 , 5 , 2 , 3 )) del tmp52 tmp51 = np . copy ( tmp50 ) * 2 del tmp50 tmp51 += tmp27 * - 1 t2new . abab += einsum ( tmp51 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) * 2 del tmp51 tmp41 = np . copy ( np . transpose ( v . aabb . vvoo , ( 2 , 3 , 0 , 1 ))) tmp41 += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovov , ( 0 , 4 , 5 , 3 ), ( 5 , 1 , 4 , 2 )) * - 1 t2new . abab += einsum ( tmp41 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 0 , 2 , 5 ), ( 4 , 1 , 3 , 5 )) * - 1 del tmp41 tmp53 = np . copy ( tmp15 ) * 0.5 del tmp15 tmp53 += tmp16 del tmp16 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp53 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 2 del tmp53 tmp28 = einsum ( tmp27 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) * - 1 del tmp27 t2new . aaaa += np . transpose ( tmp28 , ( 1 , 0 , 2 , 3 )) * - 1 t2new . aaaa += np . transpose ( tmp28 , ( 1 , 0 , 3 , 2 )) del tmp28 tmp19 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ooov , ( 2 , 0 , 3 , 4 ), ( 2 , 3 , 1 , 4 )) t2new . aaaa += np . transpose ( tmp19 , ( 1 , 0 , 2 , 3 )) t2new . aaaa += tmp19 * - 1 t2new . aaaa += np . transpose ( tmp19 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp19 , ( 0 , 1 , 3 , 2 )) del tmp19 tmp33 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . oo , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) t2new . aaaa += np . transpose ( tmp33 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp33 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp33 , ( 1 , 0 , 3 , 2 )) del tmp33 tmp25 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp24 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp24 t2new . aaaa += np . transpose ( tmp25 , ( 0 , 1 , 3 , 2 )) * 2 t2new . aaaa += np . transpose ( tmp25 , ( 1 , 0 , 3 , 2 )) * - 2 del tmp25 tmp32 = einsum ( v . aaaa . oooo , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 3 , 4 , 5 ), ( 0 , 2 , 4 , 5 )) t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * 0.5 t2new . aaaa += np . transpose ( tmp32 , ( 1 , 0 , 3 , 2 )) * 0.5 del tmp32 tmp31 = einsum ( tmp30 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 3 , 2 , 4 , 5 ), ( 1 , 0 , 4 , 5 )) del tmp30 t2new . aaaa += np . transpose ( tmp31 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp31 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp31 tmp29 = einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 4 , 1 , 5 , 3 ), ( 4 , 0 , 5 , 2 )) t2new . aaaa += tmp29 * - 2 t2new . aaaa += np . transpose ( tmp29 , ( 1 , 0 , 2 , 3 )) * 2 del tmp29 tmp40 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp39 , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 del tmp39 t2new . aaaa += np . transpose ( tmp40 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp40 , ( 1 , 0 , 3 , 2 )) t2new . aaaa += np . transpose ( tmp40 , ( 0 , 1 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp40 , ( 0 , 1 , 3 , 2 )) * - 1 del tmp40 tmp36 = np . copy ( tmp34 ) tmp36 += tmp35 * 0.5 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp36 , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * - 4 del tmp36 tmp37 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 1 , 3 ), ( 0 , 4 , 2 , 5 )) t2new . aaaa += tmp37 * 2 t2new . aaaa += np . transpose ( tmp37 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp37 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . aaaa += np . transpose ( tmp37 , ( 1 , 0 , 3 , 2 )) * 2 del tmp37 tmp38 = np . copy ( f . aa . vv ) * - 1 tmp38 += tmp34 * 2 del tmp34 tmp38 += tmp35 del tmp35 t2new . aaaa += einsum ( tmp38 , ( 0 , 1 ), t2 . aaaa , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 0 , 4 )) * 2 del tmp38 tmp21 = einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp20 , ( 4 , 1 , 5 , 3 ), ( 0 , 4 , 2 , 5 )) del tmp20 t2new . aaaa += np . transpose ( tmp21 , ( 1 , 0 , 2 , 3 )) * - 2 t2new . aaaa += np . transpose ( tmp21 , ( 0 , 1 , 3 , 2 )) * - 2 t2new . aaaa += np . transpose ( tmp21 , ( 1 , 0 , 3 , 2 )) * 2 t2new . aaaa += tmp21 * 2 del tmp21 tmp18 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovvv , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 3 , 4 )) t2new . aaaa += np . transpose ( tmp18 , ( 1 , 0 , 3 , 2 )) * - 1 t2new . aaaa += np . transpose ( tmp18 , ( 0 , 1 , 3 , 2 )) t2new . aaaa += tmp18 * - 1 t2new . aaaa += np . transpose ( tmp18 , ( 1 , 0 , 2 , 3 )) del tmp18 tmp7 = np . copy ( f . bb . ov ) tmp7 += tmp4 del tmp4 tmp7 += tmp6 * - 1 del tmp6 t1new . bb += einsum ( tmp7 , ( 0 , 1 ), t2 . bbbb , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * 2 t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), tmp7 , ( 1 , 3 ), ( 0 , 2 )) del tmp7 tmp13 = einsum ( v . bbbb . ovov , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 4 , 0 , 2 , 1 )) t1new . bb += einsum ( tmp13 , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 2 del tmp13 tmp3 = np . copy ( f . aa . ov ) tmp3 += tmp0 del tmp0 tmp3 += tmp2 * - 1 del tmp2 t1new . bb += einsum ( tmp3 , ( 0 , 1 ), t2 . abab , ( 0 , 2 , 1 , 3 ), ( 2 , 3 )) t1new . aa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), tmp3 , ( 1 , 3 ), ( 0 , 2 )) * 2 del tmp3 tmp14 = 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 ), tmp14 , ( 0 , 4 , 1 , 2 ), ( 4 , 3 )) * - 1 del tmp14 tmp8 = einsum ( v . aabb . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 4 , 1 ), ( 4 , 0 , 2 , 3 )) t1new . aa += einsum ( tmp8 , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 1 del tmp8 tmp12 = np . copy ( tmp10 ) del tmp10 tmp12 += tmp11 * 0.5 del tmp11 t1new . aa += einsum ( tmp12 , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) * - 2 del tmp12 tmp9 = einsum ( t1 . aa , ( 0 , 1 ), v . aaaa . ovov , ( 2 , 3 , 4 , 1 ), ( 0 , 2 , 4 , 3 )) t1new . aa += einsum ( tmp9 , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 2 , 1 , 4 , 3 ), ( 0 , 4 )) * - 2 del tmp9 t1new . aa += einsum ( v . aaaa . oovv , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 3 ), ( 0 , 2 )) * - 1 t1new . aa += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 1 t1new . aa += einsum ( f . aa . oo , ( 0 , 1 ), t1 . aa , ( 1 , 2 ), ( 0 , 2 )) * - 1 t1new . aa += einsum ( v . aaaa . ooov , ( 0 , 1 , 2 , 3 ), t2 . aaaa , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 2 t1new . aa += einsum ( v . aaaa . ovov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 2 , 3 ), ( 0 , 1 )) t1new . aa += einsum ( t1 . aa , ( 0 , 1 ), f . aa . vv , ( 2 , 1 ), ( 0 , 2 )) t1new . aa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . ovvv , ( 1 , 2 , 4 , 3 ), ( 0 , 4 )) * - 2 t1new . aa += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . vvov , ( 4 , 2 , 1 , 3 ), ( 0 , 4 )) 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 ( t1 . bb , ( 0 , 1 ), f . bb . oo , ( 2 , 0 ), ( 2 , 1 )) * - 1 t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . oovv , ( 2 , 0 , 3 , 1 ), ( 2 , 3 )) * - 1 t1new . bb += einsum ( t2 . bbbb , ( 0 , 1 , 2 , 3 ), v . bbbb . ovvv , ( 1 , 3 , 4 , 2 ), ( 0 , 4 )) * 2 t1new . bb += einsum ( f . bb . vv , ( 0 , 1 ), t1 . bb , ( 2 , 1 ), ( 2 , 0 )) t1new . bb += einsum ( t1 . bb , ( 0 , 1 ), v . bbbb . ovov , ( 2 , 3 , 0 , 1 ), ( 2 , 3 )) t1new . bb += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aabb . ovvv , ( 0 , 2 , 4 , 3 ), ( 1 , 4 )) t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 1 , 3 )) t2new . aaaa += np . transpose ( v . aaaa . ovov , ( 0 , 2 , 3 , 1 )) * - 1 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), v . aaaa . vvvv , ( 4 , 3 , 5 , 2 ), ( 0 , 1 , 4 , 5 )) * - 2 t2new . aaaa += einsum ( t2 . aaaa , ( 0 , 1 , 2 , 3 ), f . aa . vv , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) * 2 t2new . abab += einsum ( v . aabb . ovvv , ( 0 , 1 , 2 , 3 ), t1 . bb , ( 4 , 3 ), ( 0 , 4 , 1 , 2 )) t2new . abab += np . transpose ( v . aabb . ovov , ( 0 , 2 , 1 , 3 )) t2new . abab += einsum ( t1 . bb , ( 0 , 1 ), v . aabb . ovoo , ( 2 , 3 , 4 , 0 ), ( 2 , 4 , 3 , 1 )) * - 1 t2new . abab += einsum ( v . aabb . oovv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 1 , 4 , 5 , 3 ), ( 0 , 4 , 5 , 2 )) * - 1 t2new . abab += einsum ( v . aabb . ooov , ( 0 , 1 , 2 , 3 ), t1 . aa , ( 1 , 4 ), ( 0 , 2 , 4 , 3 )) * - 1 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 ), f . bb . oo , ( 4 , 1 ), ( 0 , 4 , 2 , 3 )) * - 1 t2new . abab += einsum ( f . aa . oo , ( 0 , 1 ), t2 . abab , ( 1 , 2 , 3 , 4 ), ( 0 , 2 , 3 , 4 )) * - 1 t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), v . aaaa . ovov , ( 4 , 5 , 0 , 2 ), ( 4 , 1 , 5 , 3 )) t2new . abab += einsum ( t2 . abab , ( 0 , 1 , 2 , 3 ), f . bb . vv , ( 4 , 3 ), ( 0 , 1 , 2 , 4 )) 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 t2new . abab += einsum ( v . aabb . vvvv , ( 0 , 1 , 2 , 3 ), t2 . abab , ( 4 , 5 , 1 , 3 ), ( 4 , 5 , 0 , 2 )) t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 1 , 3 )) t2new . bbbb += np . transpose ( v . bbbb . ovov , ( 0 , 2 , 3 , 1 )) * - 1 t2new . bbbb += einsum ( v . bbbb . vvvv , ( 0 , 1 , 2 , 3 ), t2 . bbbb , ( 4 , 5 , 3 , 1 ), ( 4 , 5 , 0 , 2 )) * - 2 t2new . bbbb += einsum ( f . bb . vv , ( 0 , 1 ), t2 . bbbb , ( 2 , 3 , 4 , 1 ), ( 2 , 3 , 4 , 0 )) * 2 return { f \"t1new\" : t1new , f \"t2new\" : t2new }","title":"Returns"},{"location":"reference/core/","text":"Core functionality.","title":"Index"},{"location":"reference/core/ansatz/","text":"Ansatz definition. ebcc . core . ansatz . Ansatz ( fermion_ansatz = 'CCSD' , boson_ansatz = '' , fermion_coupling_rank = 0 , boson_coupling_rank = 0 , density_fitting = False , module_name = None ) Ansatz class. Initialise the ansatz. Parameters: fermion_ansatz ( str , default: 'CCSD' ) \u2013 Fermionic ansatz. boson_ansatz ( str , default: '' ) \u2013 Rank of bosonic excitations. fermion_coupling_rank ( int , default: 0 ) \u2013 Rank of fermionic term in coupling. boson_coupling_rank ( int , default: 0 ) \u2013 Rank of bosonic term in coupling. density_fitting ( bool , default: False ) \u2013 Use density fitting. module_name ( Optional [ str ] , default: None ) \u2013 Name of the module containing the generated equations. Source code in ebcc/core/ansatz.py 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 def __init__ ( self , fermion_ansatz : str = \"CCSD\" , boson_ansatz : str = \"\" , fermion_coupling_rank : int = 0 , boson_coupling_rank : int = 0 , density_fitting : bool = False , module_name : Optional [ str ] = None , ) -> None : \"\"\"Initialise the ansatz. Args: fermion_ansatz: Fermionic ansatz. boson_ansatz: Rank of bosonic excitations. fermion_coupling_rank: Rank of fermionic term in coupling. boson_coupling_rank: Rank of bosonic term in coupling. density_fitting: Use density fitting. module_name: Name of the module containing the generated equations. \"\"\" self . fermion_ansatz = fermion_ansatz self . boson_ansatz = boson_ansatz self . fermion_coupling_rank = fermion_coupling_rank self . boson_coupling_rank = boson_coupling_rank self . density_fitting = density_fitting self . module_name = module_name ebcc . core . ansatz . Ansatz . name : str property Get the name of the ansatz. ebcc . core . ansatz . Ansatz . has_perturbative_correction : bool property Get a boolean indicating if the ansatz includes a perturbative correction e.g. CCSD(T). Returns: perturbative ( bool ) \u2013 Boolean indicating if the ansatz is perturbatively corrected. ebcc . core . ansatz . Ansatz . is_one_shot : bool property Get a boolean indicating whether the ansatz is a one-shot energy calculation e.g. MP2. Returns: one_shot ( bool ) \u2013 Boolean indicating if the ansatz is a one-shot energy calculation. ebcc . core . ansatz . Ansatz . from_string ( string , density_fitting = False ) classmethod Build an Ansatz from a string for the default ansatzes. Parameters: string ( str ) \u2013 Input string. density_fitting ( bool , default: False ) \u2013 Use density fitting. Returns: Ansatz \u2013 Ansatz object. Source code in ebcc/core/ansatz.py 128 129 130 131 132 133 134 135 136 137 138 139 140 141 @classmethod def from_string ( cls , string : str , density_fitting : bool = False ) -> Ansatz : \"\"\"Build an `Ansatz` from a string for the default ansatzes. Args: string: Input string. density_fitting: Use density fitting. Returns: Ansatz object. \"\"\" if string not in named_ansatzes : raise util . ModelNotImplemented ( string ) return cls ( * named_ansatzes [ string ], density_fitting = density_fitting ) ebcc . core . ansatz . Ansatz . __repr__ () Get a string with the name of the method. Source code in ebcc/core/ansatz.py 143 144 145 146 147 148 149 150 151 152 153 154 def __repr__ ( self ) -> str : \"\"\"Get a string with the name of the method.\"\"\" name = \"\" if self . density_fitting : name += \"DF\" name += self . fermion_ansatz if self . boson_ansatz : name += \"- %s \" % self . boson_ansatz if self . fermion_coupling_rank or self . boson_coupling_rank : name += \"- %d \" % self . fermion_coupling_rank name += \"- %d \" % self . boson_coupling_rank return name ebcc . core . ansatz . Ansatz . fermionic_cluster_ranks ( spin_type = 'G' , which = 't' ) Get a list of cluster operator ranks for the fermionic space. Parameters: spin_type ( str , default: 'G' ) \u2013 Spin type of the cluster operator. which ( Literal ['t', 'l', 'ip', 'ea', 'ee'] , default: 't' ) \u2013 Type of cluster operator to return. Returns: list [ tuple [ str , str , int ]] \u2013 List of cluster operator ranks, each element is a tuple containing the name, the slices list [ tuple [ str , str , int ]] \u2013 and the rank. Source code in ebcc/core/ansatz.py 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 def fermionic_cluster_ranks ( self , spin_type : str = \"G\" , which : Literal [ \"t\" , \"l\" , \"ip\" , \"ea\" , \"ee\" ] = \"t\" , ) -> list [ tuple [ str , str , int ]]: \"\"\"Get a list of cluster operator ranks for the fermionic space. Args: spin_type: Spin type of the cluster operator. which: Type of cluster operator to return. Returns: List of cluster operator ranks, each element is a tuple containing the name, the slices and the rank. \"\"\" ranks : list [ tuple [ str , str , int ]] = [] if not self . fermion_ansatz : return ranks def _adapt_key ( key : str ) -> str : \"\"\"Adapt the key to the `which` argument.\"\"\" if which == \"ip\" : return key [: - 1 ] if which == \"ea\" : n = len ( key ) // 2 key = key [ n :] + key [: n - 1 ] if which == \"l\" : n = len ( key ) // 2 key = key [ n :] + key [: n ] return key symbol = which if which in ( \"t\" , \"l\" ) else \"r\" notations = { \"S\" : [( f \" { symbol } 1\" , _adapt_key ( \"ov\" ), 1 )], \"D\" : [( f \" { symbol } 2\" , _adapt_key ( \"oovv\" ), 2 )], \"T\" : [( f \" { symbol } 3\" , _adapt_key ( \"ooovvv\" ), 3 )], \"t\" : [( f \" { symbol } 3\" , _adapt_key ( \"ooOvvV\" ), 3 )], \"t'\" : [( f \" { symbol } 3\" , _adapt_key ( \"OOOVVV\" ), 3 )], } if spin_type == \"R\" : notations [ \"Q\" ] = [( f \" { symbol } 4a\" , \"oooovvvv\" , 4 ), ( f \" { symbol } 4b\" , \"oooovvvv\" , 4 )] else : notations [ \"Q\" ] = [( f \" { symbol } 4\" , \"oooovvvv\" , 4 )] notations [ \"2\" ] = notations [ \"S\" ] + notations [ \"D\" ] notations [ \"3\" ] = notations [ \"2\" ] + notations [ \"T\" ] notations [ \"4\" ] = notations [ \"3\" ] + notations [ \"Q\" ] # Remove any perturbative corrections op = self . fermion_ansatz while \"(\" in op : start = op . index ( \"(\" ) end = op . index ( \")\" ) op = op [: start ] if ( end + 1 ) < len ( op ): op += op [ end + 1 :] # Check in order of longest to shortest string in case one # method name starts with a substring equal to the name of # another method for method_type in sorted ( METHOD_TYPES , key = len )[:: - 1 ]: if op . startswith ( method_type ): op = op . replace ( method_type , \"\" , 1 ) break # If it's MP we only ever need to initialise second-order # amplitudes if method_type == \"MP\" and which in ( \"t\" , \"l\" ): op = \"D\" # If it's for EOM-CCD we still need the singles if self . fermion_ansatz == \"CCD\" and which in ( \"ip\" , \"ea\" , \"ee\" ): op = \"SD\" # Determine the ranks for key in sorted ( notations . keys (), key = len )[:: - 1 ]: if key in op : ranks += notations [ key ] op = op . replace ( key , \"\" ) # Check there are no duplicates if len ( ranks ) != len ( set ( ranks )): raise util . ModelNotImplemented ( \"Duplicate ranks in %s \" % self . fermion_ansatz ) # Sort the ranks by the cluster operator dimension ranks = sorted ( ranks , key = lambda x : x [ 2 ]) return ranks ebcc . core . ansatz . Ansatz . bosonic_cluster_ranks ( spin_type = 'G' , which = 't' ) Get a list of cluster operator ranks for the bosonic space. Parameters: spin_type ( str , default: 'G' ) \u2013 Spin type of the cluster operator. which ( Literal ['t', 'l', 'ip', 'ea', 'ee'] , default: 't' ) \u2013 Type of cluster operator. Returns: list [ tuple [ str , str , int ]] \u2013 List of cluster operator ranks, each element is a tuple containing the name, the slices list [ tuple [ str , str , int ]] \u2013 and the rank. Source code in ebcc/core/ansatz.py 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 def bosonic_cluster_ranks ( self , spin_type : str = \"G\" , which : Literal [ \"t\" , \"l\" , \"ip\" , \"ea\" , \"ee\" ] = \"t\" , ) -> list [ tuple [ str , str , int ]]: \"\"\"Get a list of cluster operator ranks for the bosonic space. Args: spin_type: Spin type of the cluster operator. which: Type of cluster operator. Returns: List of cluster operator ranks, each element is a tuple containing the name, the slices and the rank. \"\"\" ranks : list [ tuple [ str , str , int ]] = [] if not self . boson_ansatz : return ranks symbol = \"s\" if which == \"t\" else \"ls\" notations = { \"S\" : [( f \" { symbol } 1\" , \"b\" , 1 )], \"D\" : [( f \" { symbol } 2\" , \"bb\" , 2 )], \"T\" : [( f \" { symbol } 3\" , \"bbb\" , 3 )], } notations [ \"2\" ] = notations [ \"S\" ] + notations [ \"D\" ] notations [ \"3\" ] = notations [ \"2\" ] + notations [ \"T\" ] # Remove any perturbative corrections op = self . boson_ansatz while \"(\" in op : start = op . index ( \"(\" ) end = op . index ( \")\" ) op = op [: start ] if ( end + 1 ) < len ( op ): op += op [ end + 1 :] # Determine the ranks for key in sorted ( notations . keys (), key = len )[:: - 1 ]: if key in op : ranks += notations [ key ] op = op . replace ( key , \"\" ) # Check there are no duplicates if len ( ranks ) != len ( set ( ranks )): raise util . ModelNotImplemented ( \"Duplicate ranks in %s \" % self . boson_ansatz ) # Sort the ranks by the cluster operator dimension ranks = sorted ( ranks , key = lambda x : x [ 2 ]) return ranks ebcc . core . ansatz . Ansatz . coupling_cluster_ranks ( spin_type = 'G' , which = 't' ) Get a list of cluster operator ranks for the coupling between fermions and bosons. Parameters: spin_type ( str , default: 'G' ) \u2013 Spin type of the cluster operator. which ( Literal ['t', 'l', 'ip', 'ea', 'ee'] , default: 't' ) \u2013 Type of cluster operator to return. Returns: list [ tuple [ str , str , int , int ]] \u2013 List of cluster operator ranks, each element is a tuple containing the name, the slices list [ tuple [ str , str , int , int ]] \u2013 and the rank. Source code in ebcc/core/ansatz.py 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 def coupling_cluster_ranks ( self , spin_type : str = \"G\" , which : Literal [ \"t\" , \"l\" , \"ip\" , \"ea\" , \"ee\" ] = \"t\" , ) -> list [ tuple [ str , str , int , int ]]: \"\"\"Get a list of cluster operator ranks for the coupling between fermions and bosons. Args: spin_type: Spin type of the cluster operator. which: Type of cluster operator to return. Returns: List of cluster operator ranks, each element is a tuple containing the name, the slices and the rank. \"\"\" def _adapt_key ( key : str , fermion_rank : int , boson_rank : int ) -> str : \"\"\"Adapt the key to the `which` argument.\"\"\" if which in ( \"ip\" , \"ea\" , \"ee\" ): raise util . ModelNotImplemented ( \"Cluster ranks for coupling space not implemented for %s \" % which ) if which == \"l\" : nf = fermion_rank nb = boson_rank key = key [: nb ] + key [ nb + nf :] + key [ nb : nb + nf ] return key symbol = \"u\" if which == \"t\" else \"lu\" ranks = [] for fermion_rank in range ( 1 , self . fermion_coupling_rank + 1 ): for boson_rank in range ( 1 , self . boson_coupling_rank + 1 ): name = f \" { symbol }{ fermion_rank }{ boson_rank } \" key = _adapt_key ( \"b\" * boson_rank + \"o\" * fermion_rank + \"v\" * fermion_rank , fermion_rank , boson_rank , ) ranks . append (( name , key , fermion_rank , boson_rank )) return ranks ebcc . core . ansatz . name_to_identifier ( name ) Convert an ansatz name to an identifier. The identifier is used as for the filename of the module containing the generated equations, where the name may contain illegal characters. Parameters: name ( str ) \u2013 Name of the ansatz. Returns: str \u2013 Identifier for the ansatz. Examples: >>> name_to_identifier ( \"CCSD(T)\" ) 'CCSDxTx' >>> name_to_identifier ( \"CCSD-SD-1-2\" ) 'CCSD_SD_1_2' >>> name_to_identifier ( \"CCSDt'\" ) 'CCSDwtwp' Source code in ebcc/core/ansatz.py 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 def name_to_identifier ( name : str ) -> str : \"\"\"Convert an ansatz name to an identifier. The identifier is used as for the filename of the module containing the generated equations, where the name may contain illegal characters. Args: name: Name of the ansatz. Returns: Identifier for the ansatz. Examples: >>> name_to_identifier(\"CCSD(T)\") 'CCSDxTx' >>> name_to_identifier(\"CCSD-SD-1-2\") 'CCSD_SD_1_2' >>> name_to_identifier(\"CCSDt'\") 'CCSDwtwp' \"\"\" iden = \"\" . join ([ f \"w { c } w\" if c . isalpha () and c . islower () else c for c in name ]) iden = iden . replace ( \"(\" , \"x\" ) . replace ( \")\" , \"x\" ) iden = iden . replace ( \"[\" , \"y\" ) . replace ( \"]\" , \"y\" ) iden = iden . replace ( \"-\" , \"_\" ) iden = iden . replace ( \"'\" , \"p\" ) return iden ebcc . core . ansatz . identifity_to_name ( iden ) Convert an ansatz identifier to a name. Inverse operation of name_to_identifier . Parameters: iden ( str ) \u2013 Identifier for the ansatz. Returns: str \u2013 Name of the ansatz. Examples: >>> identifier_to_name ( \"CCSDxTx\" ) 'CCSD(T)' >>> identifier_to_name ( \"CCSD_SD_1_2\" ) 'CCSD-SD-1-2' >>> identifier_to_name ( \"CCSDwtwp\" ) \"CCSDt'\" Source code in ebcc/core/ansatz.py 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 def identifity_to_name ( iden : str ) -> str : \"\"\"Convert an ansatz identifier to a name. Inverse operation of `name_to_identifier`. Args: iden: Identifier for the ansatz. Returns: Name of the ansatz. Examples: >>> identifier_to_name(\"CCSDxTx\") 'CCSD(T)' >>> identifier_to_name(\"CCSD_SD_1_2\") 'CCSD-SD-1-2' >>> identifier_to_name(\"CCSDwtwp\") \"CCSDt'\" \"\"\" name = iden . replace ( \"-\" , \"_\" ) name = name . replace ( \"w\" , \"\" ) while \"x\" in name : name = name . replace ( \"x\" , \"(\" , 1 ) . replace ( \"x\" , \")\" , 1 ) while \"y\" in name : name = name . replace ( \"y\" , \"(\" , 1 ) . replace ( \"y\" , \")\" , 1 ) name = name . replace ( \"p\" , \"'\" ) return name","title":"Ansatz"},{"location":"reference/core/ansatz/#ebcc.core.ansatz.Ansatz","text":"Ansatz class. Initialise the ansatz. Parameters: fermion_ansatz ( str , default: 'CCSD' ) \u2013 Fermionic ansatz. boson_ansatz ( str , default: '' ) \u2013 Rank of bosonic excitations. fermion_coupling_rank ( int , default: 0 ) \u2013 Rank of fermionic term in coupling. boson_coupling_rank ( int , default: 0 ) \u2013 Rank of bosonic term in coupling. density_fitting ( bool , default: False ) \u2013 Use density fitting. module_name ( Optional [ str ] , default: None ) \u2013 Name of the module containing the generated equations. Source code in ebcc/core/ansatz.py 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 def __init__ ( self , fermion_ansatz : str = \"CCSD\" , boson_ansatz : str = \"\" , fermion_coupling_rank : int = 0 , boson_coupling_rank : int = 0 , density_fitting : bool = False , module_name : Optional [ str ] = None , ) -> None : \"\"\"Initialise the ansatz. Args: fermion_ansatz: Fermionic ansatz. boson_ansatz: Rank of bosonic excitations. fermion_coupling_rank: Rank of fermionic term in coupling. boson_coupling_rank: Rank of bosonic term in coupling. density_fitting: Use density fitting. module_name: Name of the module containing the generated equations. \"\"\" self . fermion_ansatz = fermion_ansatz self . boson_ansatz = boson_ansatz self . fermion_coupling_rank = fermion_coupling_rank self . boson_coupling_rank = boson_coupling_rank self . density_fitting = density_fitting self . module_name = module_name","title":"Ansatz"},{"location":"reference/core/ansatz/#ebcc.core.ansatz.Ansatz.name","text":"Get the name of the ansatz.","title":"name"},{"location":"reference/core/ansatz/#ebcc.core.ansatz.Ansatz.has_perturbative_correction","text":"Get a boolean indicating if the ansatz includes a perturbative correction e.g. CCSD(T). Returns: perturbative ( bool ) \u2013 Boolean indicating if the ansatz is perturbatively corrected.","title":"has_perturbative_correction"},{"location":"reference/core/ansatz/#ebcc.core.ansatz.Ansatz.is_one_shot","text":"Get a boolean indicating whether the ansatz is a one-shot energy calculation e.g. MP2. Returns: one_shot ( bool ) \u2013 Boolean indicating if the ansatz is a one-shot energy calculation.","title":"is_one_shot"},{"location":"reference/core/ansatz/#ebcc.core.ansatz.Ansatz.from_string","text":"Build an Ansatz from a string for the default ansatzes. Parameters: string ( str ) \u2013 Input string. density_fitting ( bool , default: False ) \u2013 Use density fitting. Returns: Ansatz \u2013 Ansatz object. Source code in ebcc/core/ansatz.py 128 129 130 131 132 133 134 135 136 137 138 139 140 141 @classmethod def from_string ( cls , string : str , density_fitting : bool = False ) -> Ansatz : \"\"\"Build an `Ansatz` from a string for the default ansatzes. Args: string: Input string. density_fitting: Use density fitting. Returns: Ansatz object. \"\"\" if string not in named_ansatzes : raise util . ModelNotImplemented ( string ) return cls ( * named_ansatzes [ string ], density_fitting = density_fitting )","title":"from_string"},{"location":"reference/core/ansatz/#ebcc.core.ansatz.Ansatz.__repr__","text":"Get a string with the name of the method. Source code in ebcc/core/ansatz.py 143 144 145 146 147 148 149 150 151 152 153 154 def __repr__ ( self ) -> str : \"\"\"Get a string with the name of the method.\"\"\" name = \"\" if self . density_fitting : name += \"DF\" name += self . fermion_ansatz if self . boson_ansatz : name += \"- %s \" % self . boson_ansatz if self . fermion_coupling_rank or self . boson_coupling_rank : name += \"- %d \" % self . fermion_coupling_rank name += \"- %d \" % self . boson_coupling_rank return name","title":"__repr__"},{"location":"reference/core/ansatz/#ebcc.core.ansatz.Ansatz.fermionic_cluster_ranks","text":"Get a list of cluster operator ranks for the fermionic space. Parameters: spin_type ( str , default: 'G' ) \u2013 Spin type of the cluster operator. which ( Literal ['t', 'l', 'ip', 'ea', 'ee'] , default: 't' ) \u2013 Type of cluster operator to return. Returns: list [ tuple [ str , str , int ]] \u2013 List of cluster operator ranks, each element is a tuple containing the name, the slices list [ tuple [ str , str , int ]] \u2013 and the rank. Source code in ebcc/core/ansatz.py 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 def fermionic_cluster_ranks ( self , spin_type : str = \"G\" , which : Literal [ \"t\" , \"l\" , \"ip\" , \"ea\" , \"ee\" ] = \"t\" , ) -> list [ tuple [ str , str , int ]]: \"\"\"Get a list of cluster operator ranks for the fermionic space. Args: spin_type: Spin type of the cluster operator. which: Type of cluster operator to return. Returns: List of cluster operator ranks, each element is a tuple containing the name, the slices and the rank. \"\"\" ranks : list [ tuple [ str , str , int ]] = [] if not self . fermion_ansatz : return ranks def _adapt_key ( key : str ) -> str : \"\"\"Adapt the key to the `which` argument.\"\"\" if which == \"ip\" : return key [: - 1 ] if which == \"ea\" : n = len ( key ) // 2 key = key [ n :] + key [: n - 1 ] if which == \"l\" : n = len ( key ) // 2 key = key [ n :] + key [: n ] return key symbol = which if which in ( \"t\" , \"l\" ) else \"r\" notations = { \"S\" : [( f \" { symbol } 1\" , _adapt_key ( \"ov\" ), 1 )], \"D\" : [( f \" { symbol } 2\" , _adapt_key ( \"oovv\" ), 2 )], \"T\" : [( f \" { symbol } 3\" , _adapt_key ( \"ooovvv\" ), 3 )], \"t\" : [( f \" { symbol } 3\" , _adapt_key ( \"ooOvvV\" ), 3 )], \"t'\" : [( f \" { symbol } 3\" , _adapt_key ( \"OOOVVV\" ), 3 )], } if spin_type == \"R\" : notations [ \"Q\" ] = [( f \" { symbol } 4a\" , \"oooovvvv\" , 4 ), ( f \" { symbol } 4b\" , \"oooovvvv\" , 4 )] else : notations [ \"Q\" ] = [( f \" { symbol } 4\" , \"oooovvvv\" , 4 )] notations [ \"2\" ] = notations [ \"S\" ] + notations [ \"D\" ] notations [ \"3\" ] = notations [ \"2\" ] + notations [ \"T\" ] notations [ \"4\" ] = notations [ \"3\" ] + notations [ \"Q\" ] # Remove any perturbative corrections op = self . fermion_ansatz while \"(\" in op : start = op . index ( \"(\" ) end = op . index ( \")\" ) op = op [: start ] if ( end + 1 ) < len ( op ): op += op [ end + 1 :] # Check in order of longest to shortest string in case one # method name starts with a substring equal to the name of # another method for method_type in sorted ( METHOD_TYPES , key = len )[:: - 1 ]: if op . startswith ( method_type ): op = op . replace ( method_type , \"\" , 1 ) break # If it's MP we only ever need to initialise second-order # amplitudes if method_type == \"MP\" and which in ( \"t\" , \"l\" ): op = \"D\" # If it's for EOM-CCD we still need the singles if self . fermion_ansatz == \"CCD\" and which in ( \"ip\" , \"ea\" , \"ee\" ): op = \"SD\" # Determine the ranks for key in sorted ( notations . keys (), key = len )[:: - 1 ]: if key in op : ranks += notations [ key ] op = op . replace ( key , \"\" ) # Check there are no duplicates if len ( ranks ) != len ( set ( ranks )): raise util . ModelNotImplemented ( \"Duplicate ranks in %s \" % self . fermion_ansatz ) # Sort the ranks by the cluster operator dimension ranks = sorted ( ranks , key = lambda x : x [ 2 ]) return ranks","title":"fermionic_cluster_ranks"},{"location":"reference/core/ansatz/#ebcc.core.ansatz.Ansatz.bosonic_cluster_ranks","text":"Get a list of cluster operator ranks for the bosonic space. Parameters: spin_type ( str , default: 'G' ) \u2013 Spin type of the cluster operator. which ( Literal ['t', 'l', 'ip', 'ea', 'ee'] , default: 't' ) \u2013 Type of cluster operator. Returns: list [ tuple [ str , str , int ]] \u2013 List of cluster operator ranks, each element is a tuple containing the name, the slices list [ tuple [ str , str , int ]] \u2013 and the rank. Source code in ebcc/core/ansatz.py 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 def bosonic_cluster_ranks ( self , spin_type : str = \"G\" , which : Literal [ \"t\" , \"l\" , \"ip\" , \"ea\" , \"ee\" ] = \"t\" , ) -> list [ tuple [ str , str , int ]]: \"\"\"Get a list of cluster operator ranks for the bosonic space. Args: spin_type: Spin type of the cluster operator. which: Type of cluster operator. Returns: List of cluster operator ranks, each element is a tuple containing the name, the slices and the rank. \"\"\" ranks : list [ tuple [ str , str , int ]] = [] if not self . boson_ansatz : return ranks symbol = \"s\" if which == \"t\" else \"ls\" notations = { \"S\" : [( f \" { symbol } 1\" , \"b\" , 1 )], \"D\" : [( f \" { symbol } 2\" , \"bb\" , 2 )], \"T\" : [( f \" { symbol } 3\" , \"bbb\" , 3 )], } notations [ \"2\" ] = notations [ \"S\" ] + notations [ \"D\" ] notations [ \"3\" ] = notations [ \"2\" ] + notations [ \"T\" ] # Remove any perturbative corrections op = self . boson_ansatz while \"(\" in op : start = op . index ( \"(\" ) end = op . index ( \")\" ) op = op [: start ] if ( end + 1 ) < len ( op ): op += op [ end + 1 :] # Determine the ranks for key in sorted ( notations . keys (), key = len )[:: - 1 ]: if key in op : ranks += notations [ key ] op = op . replace ( key , \"\" ) # Check there are no duplicates if len ( ranks ) != len ( set ( ranks )): raise util . ModelNotImplemented ( \"Duplicate ranks in %s \" % self . boson_ansatz ) # Sort the ranks by the cluster operator dimension ranks = sorted ( ranks , key = lambda x : x [ 2 ]) return ranks","title":"bosonic_cluster_ranks"},{"location":"reference/core/ansatz/#ebcc.core.ansatz.Ansatz.coupling_cluster_ranks","text":"Get a list of cluster operator ranks for the coupling between fermions and bosons. Parameters: spin_type ( str , default: 'G' ) \u2013 Spin type of the cluster operator. which ( Literal ['t', 'l', 'ip', 'ea', 'ee'] , default: 't' ) \u2013 Type of cluster operator to return. Returns: list [ tuple [ str , str , int , int ]] \u2013 List of cluster operator ranks, each element is a tuple containing the name, the slices list [ tuple [ str , str , int , int ]] \u2013 and the rank. Source code in ebcc/core/ansatz.py 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 def coupling_cluster_ranks ( self , spin_type : str = \"G\" , which : Literal [ \"t\" , \"l\" , \"ip\" , \"ea\" , \"ee\" ] = \"t\" , ) -> list [ tuple [ str , str , int , int ]]: \"\"\"Get a list of cluster operator ranks for the coupling between fermions and bosons. Args: spin_type: Spin type of the cluster operator. which: Type of cluster operator to return. Returns: List of cluster operator ranks, each element is a tuple containing the name, the slices and the rank. \"\"\" def _adapt_key ( key : str , fermion_rank : int , boson_rank : int ) -> str : \"\"\"Adapt the key to the `which` argument.\"\"\" if which in ( \"ip\" , \"ea\" , \"ee\" ): raise util . ModelNotImplemented ( \"Cluster ranks for coupling space not implemented for %s \" % which ) if which == \"l\" : nf = fermion_rank nb = boson_rank key = key [: nb ] + key [ nb + nf :] + key [ nb : nb + nf ] return key symbol = \"u\" if which == \"t\" else \"lu\" ranks = [] for fermion_rank in range ( 1 , self . fermion_coupling_rank + 1 ): for boson_rank in range ( 1 , self . boson_coupling_rank + 1 ): name = f \" { symbol }{ fermion_rank }{ boson_rank } \" key = _adapt_key ( \"b\" * boson_rank + \"o\" * fermion_rank + \"v\" * fermion_rank , fermion_rank , boson_rank , ) ranks . append (( name , key , fermion_rank , boson_rank )) return ranks","title":"coupling_cluster_ranks"},{"location":"reference/core/ansatz/#ebcc.core.ansatz.name_to_identifier","text":"Convert an ansatz name to an identifier. The identifier is used as for the filename of the module containing the generated equations, where the name may contain illegal characters. Parameters: name ( str ) \u2013 Name of the ansatz. Returns: str \u2013 Identifier for the ansatz. Examples: >>> name_to_identifier ( \"CCSD(T)\" ) 'CCSDxTx' >>> name_to_identifier ( \"CCSD-SD-1-2\" ) 'CCSD_SD_1_2' >>> name_to_identifier ( \"CCSDt'\" ) 'CCSDwtwp' Source code in ebcc/core/ansatz.py 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 def name_to_identifier ( name : str ) -> str : \"\"\"Convert an ansatz name to an identifier. The identifier is used as for the filename of the module containing the generated equations, where the name may contain illegal characters. Args: name: Name of the ansatz. Returns: Identifier for the ansatz. Examples: >>> name_to_identifier(\"CCSD(T)\") 'CCSDxTx' >>> name_to_identifier(\"CCSD-SD-1-2\") 'CCSD_SD_1_2' >>> name_to_identifier(\"CCSDt'\") 'CCSDwtwp' \"\"\" iden = \"\" . join ([ f \"w { c } w\" if c . isalpha () and c . islower () else c for c in name ]) iden = iden . replace ( \"(\" , \"x\" ) . replace ( \")\" , \"x\" ) iden = iden . replace ( \"[\" , \"y\" ) . replace ( \"]\" , \"y\" ) iden = iden . replace ( \"-\" , \"_\" ) iden = iden . replace ( \"'\" , \"p\" ) return iden","title":"name_to_identifier"},{"location":"reference/core/ansatz/#ebcc.core.ansatz.identifity_to_name","text":"Convert an ansatz identifier to a name. Inverse operation of name_to_identifier . Parameters: iden ( str ) \u2013 Identifier for the ansatz. Returns: str \u2013 Name of the ansatz. Examples: >>> identifier_to_name ( \"CCSDxTx\" ) 'CCSD(T)' >>> identifier_to_name ( \"CCSD_SD_1_2\" ) 'CCSD-SD-1-2' >>> identifier_to_name ( \"CCSDwtwp\" ) \"CCSDt'\" Source code in ebcc/core/ansatz.py 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 def identifity_to_name ( iden : str ) -> str : \"\"\"Convert an ansatz identifier to a name. Inverse operation of `name_to_identifier`. Args: iden: Identifier for the ansatz. Returns: Name of the ansatz. Examples: >>> identifier_to_name(\"CCSDxTx\") 'CCSD(T)' >>> identifier_to_name(\"CCSD_SD_1_2\") 'CCSD-SD-1-2' >>> identifier_to_name(\"CCSDwtwp\") \"CCSDt'\" \"\"\" name = iden . replace ( \"-\" , \"_\" ) name = name . replace ( \"w\" , \"\" ) while \"x\" in name : name = name . replace ( \"x\" , \"(\" , 1 ) . replace ( \"x\" , \")\" , 1 ) while \"y\" in name : name = name . replace ( \"y\" , \"(\" , 1 ) . replace ( \"y\" , \")\" , 1 ) name = name . replace ( \"p\" , \"'\" ) return name","title":"identifity_to_name"},{"location":"reference/core/damping/","text":"Damping and DIIS control. ebcc . core . damping . BaseDamping ( * args , options = None , ** kwargs ) Bases: ABC Base class for damping. Initialise the damping object. Source code in ebcc/core/damping.py 30 31 32 33 34 def __init__ ( self , * args : Any , options : Optional [ _BaseOptions ] = None , ** kwargs : Any ) -> None : \"\"\"Initialise the damping object.\"\"\" self . _arrays = {} self . _errors = {} self . _counter = 0 ebcc . core . damping . BaseDamping . __call__ ( array , error = None ) Apply damping to the array. Parameters: array ( NDArray [ T ] ) \u2013 The array to damp. error ( Optional [ NDArray [ T ]] , default: None ) \u2013 The error array. Returns: NDArray [ T ] \u2013 The damped array. Source code in ebcc/core/damping.py 36 37 38 39 40 41 42 43 44 45 46 47 def __call__ ( self , array : NDArray [ T ], error : Optional [ NDArray [ T ]] = None ) -> NDArray [ T ]: \"\"\"Apply damping to the array. Args: array: The array to damp. error: The error array. Returns: The damped array. \"\"\" self . push ( array , error = error ) return self . extrapolate () ebcc . core . damping . BaseDamping . push ( array , error = None ) abstractmethod Push the array and error into the damping object. Parameters: array ( NDArray [ T ] ) \u2013 The array to push. error ( Optional [ NDArray [ T ]] , default: None ) \u2013 The error array to push. Source code in ebcc/core/damping.py 49 50 51 52 53 54 55 56 57 @abstractmethod def push ( self , array : NDArray [ T ], error : Optional [ NDArray [ T ]] = None ) -> None : \"\"\"Push the array and error into the damping object. Args: array: The array to push. error: The error array to push. \"\"\" pass ebcc . core . damping . BaseDamping . extrapolate () abstractmethod Extrapolate the next array. Returns: NDArray [ T ] \u2013 The extrapolated array. Source code in ebcc/core/damping.py 59 60 61 62 63 64 65 66 @abstractmethod def extrapolate ( self ) -> NDArray [ T ]: \"\"\"Extrapolate the next array. Returns: The extrapolated array. \"\"\" pass ebcc . core . damping . BaseDamping . reset () Reset the damping object. Source code in ebcc/core/damping.py 68 69 70 71 72 def reset ( self ) -> None : \"\"\"Reset the damping object.\"\"\" self . _arrays = {} self . _errors = {} self . _counter = 0 ebcc . core . damping . BaseDamping . __len__ () Get the number of arrays stored in the damping object. Source code in ebcc/core/damping.py 74 75 76 def __len__ ( self ) -> int : \"\"\"Get the number of arrays stored in the damping object.\"\"\" return len ( self . _arrays ) ebcc . core . damping . NoDamping ( * args , options = None , ** kwargs ) Bases: BaseDamping No damping. Apply damping to the array. Parameters: array \u2013 The array to damp. error \u2013 The error array. Returns: None \u2013 The damped array. Source code in ebcc/core/damping.py 82 83 84 85 86 87 88 89 90 91 92 def __init__ ( self , * args : Any , options : Optional [ _BaseOptions ] = None , ** kwargs : Any ) -> None : \"\"\"Apply damping to the array. Args: array: The array to damp. error: The error array. Returns: The damped array. \"\"\" pass ebcc . core . damping . NoDamping . __call__ ( array , error = None ) Apply damping to the array. Parameters: array ( NDArray [ T ] ) \u2013 The array to damp. error ( Optional [ NDArray [ T ]] , default: None ) \u2013 The error array. Returns: NDArray [ T ] \u2013 The damped array. Source code in ebcc/core/damping.py 94 95 96 97 98 99 100 101 102 103 104 def __call__ ( self , array : NDArray [ T ], error : Optional [ NDArray [ T ]] = None ) -> NDArray [ T ]: \"\"\"Apply damping to the array. Args: array: The array to damp. error: The error array. Returns: The damped array. \"\"\" return array ebcc . core . damping . NoDamping . push ( array , error = None ) Push the array and error into the damping object. Parameters: array ( NDArray [ T ] ) \u2013 The array to push. error ( Optional [ NDArray [ T ]] , default: None ) \u2013 The error array to push. Source code in ebcc/core/damping.py 106 107 108 109 110 111 112 113 def push ( self , array : NDArray [ T ], error : Optional [ NDArray [ T ]] = None ) -> None : \"\"\"Push the array and error into the damping object. Args: array: The array to push. error: The error array to push. \"\"\" raise NotImplementedError ebcc . core . damping . NoDamping . extrapolate () Extrapolate the next array. Returns: NDArray [ T ] \u2013 The extrapolated array. Source code in ebcc/core/damping.py 115 116 117 118 119 120 121 def extrapolate ( self ) -> NDArray [ T ]: \"\"\"Extrapolate the next array. Returns: The extrapolated array. \"\"\" raise NotImplementedError ebcc . core . damping . LinearDamping ( * args , factor = None , options = None ) Bases: BaseDamping Linear damping. Initialise the damping object. Parameters: factor ( Optional [ float ] , default: None ) \u2013 The damping factor. If None , use options.damping , if available. Otherwise, use 0.5 . options ( Optional [ _BaseOptions ] , default: None ) \u2013 The options object. Source code in ebcc/core/damping.py 127 128 129 130 131 132 133 134 135 136 137 138 139 140 def __init__ ( self , * args : Any , factor : Optional [ float ] = None , options : Optional [ _BaseOptions ] = None ) -> None : \"\"\"Initialise the damping object. Args: factor: The damping factor. If `None`, use `options.damping`, if available. Otherwise, use `0.5`. options: The options object. \"\"\" super () . __init__ () if factor is None : factor = getattr ( options , \"damping\" , 0.5 ) self . factor = factor ebcc . core . damping . LinearDamping . push ( array , error = None ) Push the array and error into the damping object. Parameters: array ( NDArray [ T ] ) \u2013 The array to push. error ( Optional [ NDArray [ T ]] , default: None ) \u2013 The error array to push. Source code in ebcc/core/damping.py 142 143 144 145 146 147 148 149 150 151 152 def push ( self , array : NDArray [ T ], error : Optional [ NDArray [ T ]] = None ) -> None : \"\"\"Push the array and error into the damping object. Args: array: The array to push. error: The error array to push. \"\"\" if len ( self ) == 2 : self . _arrays . pop ( min ( self . _arrays . keys ())) self . _arrays [ self . _counter ] = array self . _counter += 1 ebcc . core . damping . LinearDamping . extrapolate () Extrapolate the next array. Returns: NDArray [ T ] \u2013 The extrapolated array. Source code in ebcc/core/damping.py 154 155 156 157 158 159 160 161 162 163 def extrapolate ( self ) -> NDArray [ T ]: \"\"\"Extrapolate the next array. Returns: The extrapolated array. \"\"\" if len ( self ) < 2 : return next ( iter ( self . _arrays . values ())) ( _ , previous ), ( _ , current ) = sorted ( self . _arrays . items ()) return current * ( 1.0 - self . factor ) + previous * self . factor ebcc . core . damping . DIIS ( space = None , min_space = None , factor = None , options = None ) Bases: BaseDamping Direct inversion in the iterative subspace. Initialize the DIIS object. Parameters: space ( Optional [ int ] , default: None ) \u2013 The number of vectors to store in the DIIS space. If None , use options.diis_space , if available. Otherwise, use 6 . min_space ( Optional [ int ] , default: None ) \u2013 The minimum number of vectors to store in the DIIS space. If None , use options.diis_min_space , if available. Otherwise, use 1 . factor ( Optional [ float ] , default: None ) \u2013 The damping factor. If None , use options.damping , if available. Otherwise, use 0.5 . options ( Optional [ _BaseOptions ] , default: None ) \u2013 The options object. Source code in ebcc/core/damping.py 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 def __init__ ( self , space : Optional [ int ] = None , min_space : Optional [ int ] = None , factor : Optional [ float ] = None , options : Optional [ _BaseOptions ] = None , ) -> None : \"\"\"Initialize the DIIS object. Args: space: The number of vectors to store in the DIIS space. If `None`, use `options.diis_space`, if available. Otherwise, use `6`. min_space: The minimum number of vectors to store in the DIIS space. If `None`, use `options.diis_min_space`, if available. Otherwise, use `1`. factor: The damping factor. If `None`, use `options.damping`, if available. Otherwise, use `0.5`. options: The options object. \"\"\" super () . __init__ () if space is None : space = getattr ( options , \"diis_space\" , 6 ) if min_space is None : min_space = getattr ( options , \"diis_min_space\" , 1 ) if factor is None : factor = getattr ( options , \"damping\" , 0.5 ) self . space = space self . min_space = min_space self . factor = factor self . _norm_cache : dict [ tuple [ int , int ], T ] = {} ebcc . core . damping . DIIS . push ( array , error = None ) Push the array and error into the damping object. Parameters: array ( NDArray [ T ] ) \u2013 The array to push. error ( Optional [ NDArray [ T ]] , default: None ) \u2013 The error array to push. Source code in ebcc/core/damping.py 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 def push ( self , array : NDArray [ T ], error : Optional [ NDArray [ T ]] = None ) -> None : \"\"\"Push the array and error into the damping object. Args: array: The array to push. error: The error array to push. \"\"\" # Get the error if not provided if error is None and - 1 in self . _arrays : error = array - self . _arrays [ - 1 ] elif error is None or len ( self ) == 0 : self . _arrays [ - 1 ] = array return # Push the array and error into the DIIS subspace self . _arrays [ self . _counter ] = array self . _errors [ self . _counter ] = error self . _counter += 1 # Remove an array if the space is exceeded if len ( self ) > self . space : errors = { counter : self . _error_norm ( counter , counter ) for counter in self . _errors . keys () } counter = max ( errors , key = errors . __getitem__ ) self . _arrays . pop ( counter ) self . _errors . pop ( counter ) ebcc . core . damping . DIIS . extrapolate () Extrapolate the next array. Returns: NDArray [ T ] \u2013 The extrapolated array. Source code in ebcc/core/damping.py 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 def extrapolate ( self ) -> NDArray [ T ]: \"\"\"Extrapolate the next array. Returns: The extrapolated array. \"\"\" # Return the last array if the space is less than the minimum space counters = sorted ( self . _errors . keys ()) size = len ( counters ) if size < self . min_space : return self . _arrays [ - 1 ] # Build the error matrix errors = np . array ( [ [ self . _error_norm ( counter_i , counter_j ) for counter_j in counters ] for counter_i in counters ] ) zeros = np . zeros (( 1 , 1 ), dtype = errors . dtype ) ones = np . ones (( size , 1 ), dtype = errors . dtype ) matrix = np . block ([[ errors , - ones ], [ - np . transpose ( ones ), zeros ]]) # Build the right-hand side zeros = np . zeros (( size ,), dtype = errors . dtype ) ones = np . ones (( 1 ,), dtype = errors . dtype ) residual = np . block ([ zeros , - ones ]) # Solve the linear problem try : c = np . linalg . solve ( matrix , residual ) except Exception : w , v = np . linalg . eigh ( matrix ) if np . any ( np . abs ( w ) < 1e-14 ): # avoiding fancy indexing for compatibility for i in range ( size + 1 ): if np . abs ( w [ i ]) < 1e-14 : _put ( v , np . ix_ ( np . arange ( size + 1 ), np . array ([ i ])), np . zeros_like ( v [:, i ])) c = util . einsum ( \"pi,qi,i,q->p\" , v , np . conj ( v ), w **- 1.0 , residual ) # Construct the new array array = np . zeros_like ( self . _arrays [ next ( iter ( self . _arrays ))]) for counter , coefficient in zip ( counters , c ): array += self . _arrays [ counter ] * coefficient error = np . zeros_like ( self . _errors [ next ( iter ( self . _errors ))]) for counter , coefficient in zip ( counters , c ): error += self . _errors [ counter ] * coefficient # Apply the damping factor if self . factor : array = array * ( 1.0 - self . factor ) + self . _arrays [ - 1 ] * self . factor # Replace the previous array with the extrapolated array self . _arrays [ - 1 ] = array self . _arrays [ self . _counter ] = array self . _errors [ self . _counter ] = error return array ebcc . core . damping . DIIS . reset () Reset the damping object. Source code in ebcc/core/damping.py 303 304 305 306 def reset ( self ) -> None : \"\"\"Reset the damping object.\"\"\" super () . reset () self . _norm_cache = {}","title":"Damping"},{"location":"reference/core/damping/#ebcc.core.damping.BaseDamping","text":"Bases: ABC Base class for damping. Initialise the damping object. Source code in ebcc/core/damping.py 30 31 32 33 34 def __init__ ( self , * args : Any , options : Optional [ _BaseOptions ] = None , ** kwargs : Any ) -> None : \"\"\"Initialise the damping object.\"\"\" self . _arrays = {} self . _errors = {} self . _counter = 0","title":"BaseDamping"},{"location":"reference/core/damping/#ebcc.core.damping.BaseDamping.__call__","text":"Apply damping to the array. Parameters: array ( NDArray [ T ] ) \u2013 The array to damp. error ( Optional [ NDArray [ T ]] , default: None ) \u2013 The error array. Returns: NDArray [ T ] \u2013 The damped array. Source code in ebcc/core/damping.py 36 37 38 39 40 41 42 43 44 45 46 47 def __call__ ( self , array : NDArray [ T ], error : Optional [ NDArray [ T ]] = None ) -> NDArray [ T ]: \"\"\"Apply damping to the array. Args: array: The array to damp. error: The error array. Returns: The damped array. \"\"\" self . push ( array , error = error ) return self . extrapolate ()","title":"__call__"},{"location":"reference/core/damping/#ebcc.core.damping.BaseDamping.push","text":"Push the array and error into the damping object. Parameters: array ( NDArray [ T ] ) \u2013 The array to push. error ( Optional [ NDArray [ T ]] , default: None ) \u2013 The error array to push. Source code in ebcc/core/damping.py 49 50 51 52 53 54 55 56 57 @abstractmethod def push ( self , array : NDArray [ T ], error : Optional [ NDArray [ T ]] = None ) -> None : \"\"\"Push the array and error into the damping object. Args: array: The array to push. error: The error array to push. \"\"\" pass","title":"push"},{"location":"reference/core/damping/#ebcc.core.damping.BaseDamping.extrapolate","text":"Extrapolate the next array. Returns: NDArray [ T ] \u2013 The extrapolated array. Source code in ebcc/core/damping.py 59 60 61 62 63 64 65 66 @abstractmethod def extrapolate ( self ) -> NDArray [ T ]: \"\"\"Extrapolate the next array. Returns: The extrapolated array. \"\"\" pass","title":"extrapolate"},{"location":"reference/core/damping/#ebcc.core.damping.BaseDamping.reset","text":"Reset the damping object. Source code in ebcc/core/damping.py 68 69 70 71 72 def reset ( self ) -> None : \"\"\"Reset the damping object.\"\"\" self . _arrays = {} self . _errors = {} self . _counter = 0","title":"reset"},{"location":"reference/core/damping/#ebcc.core.damping.BaseDamping.__len__","text":"Get the number of arrays stored in the damping object. Source code in ebcc/core/damping.py 74 75 76 def __len__ ( self ) -> int : \"\"\"Get the number of arrays stored in the damping object.\"\"\" return len ( self . _arrays )","title":"__len__"},{"location":"reference/core/damping/#ebcc.core.damping.NoDamping","text":"Bases: BaseDamping No damping. Apply damping to the array. Parameters: array \u2013 The array to damp. error \u2013 The error array. Returns: None \u2013 The damped array. Source code in ebcc/core/damping.py 82 83 84 85 86 87 88 89 90 91 92 def __init__ ( self , * args : Any , options : Optional [ _BaseOptions ] = None , ** kwargs : Any ) -> None : \"\"\"Apply damping to the array. Args: array: The array to damp. error: The error array. Returns: The damped array. \"\"\" pass","title":"NoDamping"},{"location":"reference/core/damping/#ebcc.core.damping.NoDamping.__call__","text":"Apply damping to the array. Parameters: array ( NDArray [ T ] ) \u2013 The array to damp. error ( Optional [ NDArray [ T ]] , default: None ) \u2013 The error array. Returns: NDArray [ T ] \u2013 The damped array. Source code in ebcc/core/damping.py 94 95 96 97 98 99 100 101 102 103 104 def __call__ ( self , array : NDArray [ T ], error : Optional [ NDArray [ T ]] = None ) -> NDArray [ T ]: \"\"\"Apply damping to the array. Args: array: The array to damp. error: The error array. Returns: The damped array. \"\"\" return array","title":"__call__"},{"location":"reference/core/damping/#ebcc.core.damping.NoDamping.push","text":"Push the array and error into the damping object. Parameters: array ( NDArray [ T ] ) \u2013 The array to push. error ( Optional [ NDArray [ T ]] , default: None ) \u2013 The error array to push. Source code in ebcc/core/damping.py 106 107 108 109 110 111 112 113 def push ( self , array : NDArray [ T ], error : Optional [ NDArray [ T ]] = None ) -> None : \"\"\"Push the array and error into the damping object. Args: array: The array to push. error: The error array to push. \"\"\" raise NotImplementedError","title":"push"},{"location":"reference/core/damping/#ebcc.core.damping.NoDamping.extrapolate","text":"Extrapolate the next array. Returns: NDArray [ T ] \u2013 The extrapolated array. Source code in ebcc/core/damping.py 115 116 117 118 119 120 121 def extrapolate ( self ) -> NDArray [ T ]: \"\"\"Extrapolate the next array. Returns: The extrapolated array. \"\"\" raise NotImplementedError","title":"extrapolate"},{"location":"reference/core/damping/#ebcc.core.damping.LinearDamping","text":"Bases: BaseDamping Linear damping. Initialise the damping object. Parameters: factor ( Optional [ float ] , default: None ) \u2013 The damping factor. If None , use options.damping , if available. Otherwise, use 0.5 . options ( Optional [ _BaseOptions ] , default: None ) \u2013 The options object. Source code in ebcc/core/damping.py 127 128 129 130 131 132 133 134 135 136 137 138 139 140 def __init__ ( self , * args : Any , factor : Optional [ float ] = None , options : Optional [ _BaseOptions ] = None ) -> None : \"\"\"Initialise the damping object. Args: factor: The damping factor. If `None`, use `options.damping`, if available. Otherwise, use `0.5`. options: The options object. \"\"\" super () . __init__ () if factor is None : factor = getattr ( options , \"damping\" , 0.5 ) self . factor = factor","title":"LinearDamping"},{"location":"reference/core/damping/#ebcc.core.damping.LinearDamping.push","text":"Push the array and error into the damping object. Parameters: array ( NDArray [ T ] ) \u2013 The array to push. error ( Optional [ NDArray [ T ]] , default: None ) \u2013 The error array to push. Source code in ebcc/core/damping.py 142 143 144 145 146 147 148 149 150 151 152 def push ( self , array : NDArray [ T ], error : Optional [ NDArray [ T ]] = None ) -> None : \"\"\"Push the array and error into the damping object. Args: array: The array to push. error: The error array to push. \"\"\" if len ( self ) == 2 : self . _arrays . pop ( min ( self . _arrays . keys ())) self . _arrays [ self . _counter ] = array self . _counter += 1","title":"push"},{"location":"reference/core/damping/#ebcc.core.damping.LinearDamping.extrapolate","text":"Extrapolate the next array. Returns: NDArray [ T ] \u2013 The extrapolated array. Source code in ebcc/core/damping.py 154 155 156 157 158 159 160 161 162 163 def extrapolate ( self ) -> NDArray [ T ]: \"\"\"Extrapolate the next array. Returns: The extrapolated array. \"\"\" if len ( self ) < 2 : return next ( iter ( self . _arrays . values ())) ( _ , previous ), ( _ , current ) = sorted ( self . _arrays . items ()) return current * ( 1.0 - self . factor ) + previous * self . factor","title":"extrapolate"},{"location":"reference/core/damping/#ebcc.core.damping.DIIS","text":"Bases: BaseDamping Direct inversion in the iterative subspace. Initialize the DIIS object. Parameters: space ( Optional [ int ] , default: None ) \u2013 The number of vectors to store in the DIIS space. If None , use options.diis_space , if available. Otherwise, use 6 . min_space ( Optional [ int ] , default: None ) \u2013 The minimum number of vectors to store in the DIIS space. If None , use options.diis_min_space , if available. Otherwise, use 1 . factor ( Optional [ float ] , default: None ) \u2013 The damping factor. If None , use options.damping , if available. Otherwise, use 0.5 . options ( Optional [ _BaseOptions ] , default: None ) \u2013 The options object. Source code in ebcc/core/damping.py 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 def __init__ ( self , space : Optional [ int ] = None , min_space : Optional [ int ] = None , factor : Optional [ float ] = None , options : Optional [ _BaseOptions ] = None , ) -> None : \"\"\"Initialize the DIIS object. Args: space: The number of vectors to store in the DIIS space. If `None`, use `options.diis_space`, if available. Otherwise, use `6`. min_space: The minimum number of vectors to store in the DIIS space. If `None`, use `options.diis_min_space`, if available. Otherwise, use `1`. factor: The damping factor. If `None`, use `options.damping`, if available. Otherwise, use `0.5`. options: The options object. \"\"\" super () . __init__ () if space is None : space = getattr ( options , \"diis_space\" , 6 ) if min_space is None : min_space = getattr ( options , \"diis_min_space\" , 1 ) if factor is None : factor = getattr ( options , \"damping\" , 0.5 ) self . space = space self . min_space = min_space self . factor = factor self . _norm_cache : dict [ tuple [ int , int ], T ] = {}","title":"DIIS"},{"location":"reference/core/damping/#ebcc.core.damping.DIIS.push","text":"Push the array and error into the damping object. Parameters: array ( NDArray [ T ] ) \u2013 The array to push. error ( Optional [ NDArray [ T ]] , default: None ) \u2013 The error array to push. Source code in ebcc/core/damping.py 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 def push ( self , array : NDArray [ T ], error : Optional [ NDArray [ T ]] = None ) -> None : \"\"\"Push the array and error into the damping object. Args: array: The array to push. error: The error array to push. \"\"\" # Get the error if not provided if error is None and - 1 in self . _arrays : error = array - self . _arrays [ - 1 ] elif error is None or len ( self ) == 0 : self . _arrays [ - 1 ] = array return # Push the array and error into the DIIS subspace self . _arrays [ self . _counter ] = array self . _errors [ self . _counter ] = error self . _counter += 1 # Remove an array if the space is exceeded if len ( self ) > self . space : errors = { counter : self . _error_norm ( counter , counter ) for counter in self . _errors . keys () } counter = max ( errors , key = errors . __getitem__ ) self . _arrays . pop ( counter ) self . _errors . pop ( counter )","title":"push"},{"location":"reference/core/damping/#ebcc.core.damping.DIIS.extrapolate","text":"Extrapolate the next array. Returns: NDArray [ T ] \u2013 The extrapolated array. Source code in ebcc/core/damping.py 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 def extrapolate ( self ) -> NDArray [ T ]: \"\"\"Extrapolate the next array. Returns: The extrapolated array. \"\"\" # Return the last array if the space is less than the minimum space counters = sorted ( self . _errors . keys ()) size = len ( counters ) if size < self . min_space : return self . _arrays [ - 1 ] # Build the error matrix errors = np . array ( [ [ self . _error_norm ( counter_i , counter_j ) for counter_j in counters ] for counter_i in counters ] ) zeros = np . zeros (( 1 , 1 ), dtype = errors . dtype ) ones = np . ones (( size , 1 ), dtype = errors . dtype ) matrix = np . block ([[ errors , - ones ], [ - np . transpose ( ones ), zeros ]]) # Build the right-hand side zeros = np . zeros (( size ,), dtype = errors . dtype ) ones = np . ones (( 1 ,), dtype = errors . dtype ) residual = np . block ([ zeros , - ones ]) # Solve the linear problem try : c = np . linalg . solve ( matrix , residual ) except Exception : w , v = np . linalg . eigh ( matrix ) if np . any ( np . abs ( w ) < 1e-14 ): # avoiding fancy indexing for compatibility for i in range ( size + 1 ): if np . abs ( w [ i ]) < 1e-14 : _put ( v , np . ix_ ( np . arange ( size + 1 ), np . array ([ i ])), np . zeros_like ( v [:, i ])) c = util . einsum ( \"pi,qi,i,q->p\" , v , np . conj ( v ), w **- 1.0 , residual ) # Construct the new array array = np . zeros_like ( self . _arrays [ next ( iter ( self . _arrays ))]) for counter , coefficient in zip ( counters , c ): array += self . _arrays [ counter ] * coefficient error = np . zeros_like ( self . _errors [ next ( iter ( self . _errors ))]) for counter , coefficient in zip ( counters , c ): error += self . _errors [ counter ] * coefficient # Apply the damping factor if self . factor : array = array * ( 1.0 - self . factor ) + self . _arrays [ - 1 ] * self . factor # Replace the previous array with the extrapolated array self . _arrays [ - 1 ] = array self . _arrays [ self . _counter ] = array self . _errors [ self . _counter ] = error return array","title":"extrapolate"},{"location":"reference/core/damping/#ebcc.core.damping.DIIS.reset","text":"Reset the damping object. Source code in ebcc/core/damping.py 303 304 305 306 def reset ( self ) -> None : \"\"\"Reset the damping object.\"\"\" super () . reset () self . _norm_cache = {}","title":"reset"},{"location":"reference/core/dump/","text":"File dumping and reading functionality. ebcc . core . dump . Dump ( name ) File handler for reading and writing EBCC calculations. Parameters: name ( str ) \u2013 The name of the file. Initialise the file handler. Parameters: name ( str ) \u2013 The name of the file. Source code in ebcc/core/dump.py 28 29 30 31 32 33 34 def __init__ ( self , name : str ) -> None : \"\"\"Initialise the file handler. Args: name: The name of the file. \"\"\" self . name = name ebcc . core . dump . Dump . write ( ebcc ) Write the EBCC object to the file. Parameters: ebcc ( BaseEBCC ) \u2013 The EBCC object to write. Source code in ebcc/core/dump.py 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 def write ( self , ebcc : BaseEBCC ) -> None : \"\"\"Write the EBCC object to the file. Args: ebcc: The EBCC object to write. \"\"\" # Write the options dic = {} for key , val in ebcc . options . __dict__ . items (): if val is not None : dic [ key ] = val dump ( self . name , \"options\" , dic ) # Write the mean-field data dic = { \"e_tot\" : ebcc . mf . e_tot , \"mo_energy\" : ebcc . mf . mo_energy , \"mo_coeff\" : ebcc . mf . mo_coeff , \"mo_occ\" : ebcc . mf . mo_occ , } dump_mol ( ebcc . mf . mol , self . name ) dump ( self . name , \"mean-field\" , dic ) # Write the MOs used dic = { \"mo_coeff\" : ebcc . mo_coeff , \"mo_occ\" : ebcc . mo_occ , } dump ( self . name , \"mo\" , dic ) # Write the ansatz dic = { \"fermion_ansatz\" : ebcc . ansatz . fermion_ansatz , \"boson_ansatz\" : ebcc . ansatz . boson_ansatz , \"fermion_coupling_rank\" : ebcc . ansatz . fermion_coupling_rank , \"boson_coupling_rank\" : ebcc . ansatz . boson_coupling_rank , } if ebcc . ansatz . module_name is not None : dic [ \"module_name\" ] = ebcc . ansatz . module_name dump ( self . name , \"ansatz\" , dic ) # Write the space if ebcc . spin_type == \"U\" : dic = { \"occupied\" : ( ebcc . space [ 0 ] . _occupied , ebcc . space [ 1 ] . _occupied ), \"frozen\" : ( ebcc . space [ 0 ] . _frozen , ebcc . space [ 1 ] . _frozen ), \"active\" : ( ebcc . space [ 0 ] . _active , ebcc . space [ 1 ] . _active ), } else : dic = { \"occupied\" : ebcc . space . _occupied , \"frozen\" : ebcc . space . _frozen , \"active\" : ebcc . space . _active , } dump ( self . name , \"space\" , dic ) # Write the bosonic parameters dic = {} if ebcc . omega is not None : dic [ \"omega\" ] = ebcc . omega if ebcc . bare_g is not None : dic [ \"bare_g\" ] = ebcc . bare_g if ebcc . bare_G is not None : dic [ \"bare_G\" ] = ebcc . bare_G dump ( self . name , \"bosons\" , dic ) # Write the Fock matrix # TODO write the Fock matrix class instead # Write miscellaneous data kwargs : dict [ str , Any ] = { \"spin_type\" : ebcc . spin_type , } if ebcc . e_corr is not None : kwargs [ \"e_corr\" ] = ebcc . e_corr if ebcc . converged is not None : kwargs [ \"converged\" ] = ebcc . converged if ebcc . converged_lambda is not None : kwargs [ \"converged_lambda\" ] = ebcc . converged_lambda dump ( self . name , \"misc\" , kwargs ) # Write the amplitudes if ebcc . spin_type == \"U\" : if ebcc . amplitudes is not None : dump ( self . name , \"amplitudes\" , { key : ({ ** val } if isinstance ( val , ( util . Namespace , dict )) else val ) for key , val in ebcc . amplitudes . items () }, ) if ebcc . lambdas is not None : dump ( self . name , \"lambdas\" , { key : ({ ** val } if isinstance ( val , ( util . Namespace , dict )) else val ) for key , val in ebcc . lambdas . items () }, ) else : if ebcc . amplitudes is not None : dump ( self . name , \"amplitudes\" , { ** ebcc . amplitudes }) if ebcc . lambdas is not None : dump ( self . name , \"lambdas\" , { ** ebcc . lambdas }) ebcc . core . dump . Dump . read ( cls , log = None ) Load the file to an EBCC object. Parameters: cls ( type [ BaseEBCC ] ) \u2013 EBCC class to load the file to. log ( Optional [ Logger ] , default: None ) \u2013 Logger to assign to the EBCC object. Returns: BaseEBCC \u2013 The EBCC object loaded from the file. Source code in ebcc/core/dump.py 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 def read ( self , cls : type [ BaseEBCC ], log : Optional [ Logger ] = None ) -> BaseEBCC : \"\"\"Load the file to an EBCC object. Args: cls: EBCC class to load the file to. log: Logger to assign to the EBCC object. Returns: The EBCC object loaded from the file. \"\"\" # Load the options dic = load ( self . name , \"options\" ) options = cls . Options () for key , val in dic . items (): setattr ( options , key , val ) # Load the miscellaneous data misc = load ( self . name , \"misc\" ) spin_type = misc . pop ( \"spin_type\" ) . decode ( \"ascii\" ) # Load the mean-field data mf_cls = { \"G\" : scf . GHF , \"U\" : scf . UHF , \"R\" : scf . RHF }[ spin_type ] mol = load_mol ( self . name ) dic = load ( self . name , \"mean-field\" ) mf = mf_cls ( mol ) mf . __dict__ . update ( dic ) # Load the MOs used dic = load ( self . name , \"mo\" ) mo_coeff = dic . get ( \"mo_coeff\" , None ) mo_occ = dic . get ( \"mo_occ\" , None ) # Load the ansatz dic = load ( self . name , \"ansatz\" ) module_name = dic . get ( \"module_name\" , None ) if isinstance ( module_name , str ): module_name = module_name . encode ( \"ascii\" ) ansatz = Ansatz ( dic . get ( \"fermion_ansatz\" , b \"CCSD\" ) . decode ( \"ascii\" ), dic . get ( \"boson_ansatz\" , b \"\" ) . decode ( \"ascii\" ), dic . get ( \"fermion_coupling_rank\" , 0 ), dic . get ( \"boson_coupling_rank\" , 0 ), module_name , ) # Load the space dic = load ( self . name , \"space\" ) space : Union [ Space , tuple [ Space , Space ]] if spin_type == \"U\" : space = ( Space ( dic . get ( \"occupied\" , None )[ 0 ], dic . get ( \"frozen\" , None )[ 0 ], dic . get ( \"active\" , None )[ 0 ], ), Space ( dic . get ( \"occupied\" , None )[ 1 ], dic . get ( \"frozen\" , None )[ 1 ], dic . get ( \"active\" , None )[ 1 ], ), ) else : space = Space ( dic . get ( \"occupied\" , None ), dic . get ( \"frozen\" , None ), dic . get ( \"active\" , None ), ) # Load the bosonic parameters dic = load ( self . name , \"bosons\" ) omega = dic . get ( \"omega\" , None ) bare_g = dic . get ( \"bare_g\" , None ) bare_G = dic . get ( \"bare_G\" , None ) # Load the Fock matrix # TODO load the Fock matrix class instead # Load the amplitudes amplitudes = load ( self . name , \"amplitudes\" ) lambdas = load ( self . name , \"lambdas\" ) if spin_type == \"U\" : if amplitudes is not None : amplitudes = { key : ( util . Namespace ( ** val ) if isinstance ( val , dict ) else val ) for key , val in amplitudes . items () } amplitudes = util . Namespace ( ** amplitudes ) if lambdas is not None : lambdas = { key : ( util . Namespace ( ** val ) if isinstance ( val , dict ) else val ) for key , val in lambdas . items () } lambdas = util . Namespace ( ** lambdas ) else : if amplitudes is not None : amplitudes = util . Namespace ( ** amplitudes ) if lambdas is not None : lambdas = util . Namespace ( ** lambdas ) # Initialise the EBCC object cc = cls ( mf , log = log , ansatz = ansatz , space = space , omega = omega , g = bare_g , G = bare_G , mo_coeff = mo_coeff , mo_occ = mo_occ , # fock=fock, options = options , ) cc . __dict__ . update ( misc ) cc . amplitudes = amplitudes cc . lambdas = lambdas return cc","title":"Dumping"},{"location":"reference/core/dump/#ebcc.core.dump.Dump","text":"File handler for reading and writing EBCC calculations. Parameters: name ( str ) \u2013 The name of the file. Initialise the file handler. Parameters: name ( str ) \u2013 The name of the file. Source code in ebcc/core/dump.py 28 29 30 31 32 33 34 def __init__ ( self , name : str ) -> None : \"\"\"Initialise the file handler. Args: name: The name of the file. \"\"\" self . name = name","title":"Dump"},{"location":"reference/core/dump/#ebcc.core.dump.Dump.write","text":"Write the EBCC object to the file. Parameters: ebcc ( BaseEBCC ) \u2013 The EBCC object to write. Source code in ebcc/core/dump.py 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 def write ( self , ebcc : BaseEBCC ) -> None : \"\"\"Write the EBCC object to the file. Args: ebcc: The EBCC object to write. \"\"\" # Write the options dic = {} for key , val in ebcc . options . __dict__ . items (): if val is not None : dic [ key ] = val dump ( self . name , \"options\" , dic ) # Write the mean-field data dic = { \"e_tot\" : ebcc . mf . e_tot , \"mo_energy\" : ebcc . mf . mo_energy , \"mo_coeff\" : ebcc . mf . mo_coeff , \"mo_occ\" : ebcc . mf . mo_occ , } dump_mol ( ebcc . mf . mol , self . name ) dump ( self . name , \"mean-field\" , dic ) # Write the MOs used dic = { \"mo_coeff\" : ebcc . mo_coeff , \"mo_occ\" : ebcc . mo_occ , } dump ( self . name , \"mo\" , dic ) # Write the ansatz dic = { \"fermion_ansatz\" : ebcc . ansatz . fermion_ansatz , \"boson_ansatz\" : ebcc . ansatz . boson_ansatz , \"fermion_coupling_rank\" : ebcc . ansatz . fermion_coupling_rank , \"boson_coupling_rank\" : ebcc . ansatz . boson_coupling_rank , } if ebcc . ansatz . module_name is not None : dic [ \"module_name\" ] = ebcc . ansatz . module_name dump ( self . name , \"ansatz\" , dic ) # Write the space if ebcc . spin_type == \"U\" : dic = { \"occupied\" : ( ebcc . space [ 0 ] . _occupied , ebcc . space [ 1 ] . _occupied ), \"frozen\" : ( ebcc . space [ 0 ] . _frozen , ebcc . space [ 1 ] . _frozen ), \"active\" : ( ebcc . space [ 0 ] . _active , ebcc . space [ 1 ] . _active ), } else : dic = { \"occupied\" : ebcc . space . _occupied , \"frozen\" : ebcc . space . _frozen , \"active\" : ebcc . space . _active , } dump ( self . name , \"space\" , dic ) # Write the bosonic parameters dic = {} if ebcc . omega is not None : dic [ \"omega\" ] = ebcc . omega if ebcc . bare_g is not None : dic [ \"bare_g\" ] = ebcc . bare_g if ebcc . bare_G is not None : dic [ \"bare_G\" ] = ebcc . bare_G dump ( self . name , \"bosons\" , dic ) # Write the Fock matrix # TODO write the Fock matrix class instead # Write miscellaneous data kwargs : dict [ str , Any ] = { \"spin_type\" : ebcc . spin_type , } if ebcc . e_corr is not None : kwargs [ \"e_corr\" ] = ebcc . e_corr if ebcc . converged is not None : kwargs [ \"converged\" ] = ebcc . converged if ebcc . converged_lambda is not None : kwargs [ \"converged_lambda\" ] = ebcc . converged_lambda dump ( self . name , \"misc\" , kwargs ) # Write the amplitudes if ebcc . spin_type == \"U\" : if ebcc . amplitudes is not None : dump ( self . name , \"amplitudes\" , { key : ({ ** val } if isinstance ( val , ( util . Namespace , dict )) else val ) for key , val in ebcc . amplitudes . items () }, ) if ebcc . lambdas is not None : dump ( self . name , \"lambdas\" , { key : ({ ** val } if isinstance ( val , ( util . Namespace , dict )) else val ) for key , val in ebcc . lambdas . items () }, ) else : if ebcc . amplitudes is not None : dump ( self . name , \"amplitudes\" , { ** ebcc . amplitudes }) if ebcc . lambdas is not None : dump ( self . name , \"lambdas\" , { ** ebcc . lambdas })","title":"write"},{"location":"reference/core/dump/#ebcc.core.dump.Dump.read","text":"Load the file to an EBCC object. Parameters: cls ( type [ BaseEBCC ] ) \u2013 EBCC class to load the file to. log ( Optional [ Logger ] , default: None ) \u2013 Logger to assign to the EBCC object. Returns: BaseEBCC \u2013 The EBCC object loaded from the file. Source code in ebcc/core/dump.py 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 def read ( self , cls : type [ BaseEBCC ], log : Optional [ Logger ] = None ) -> BaseEBCC : \"\"\"Load the file to an EBCC object. Args: cls: EBCC class to load the file to. log: Logger to assign to the EBCC object. Returns: The EBCC object loaded from the file. \"\"\" # Load the options dic = load ( self . name , \"options\" ) options = cls . Options () for key , val in dic . items (): setattr ( options , key , val ) # Load the miscellaneous data misc = load ( self . name , \"misc\" ) spin_type = misc . pop ( \"spin_type\" ) . decode ( \"ascii\" ) # Load the mean-field data mf_cls = { \"G\" : scf . GHF , \"U\" : scf . UHF , \"R\" : scf . RHF }[ spin_type ] mol = load_mol ( self . name ) dic = load ( self . name , \"mean-field\" ) mf = mf_cls ( mol ) mf . __dict__ . update ( dic ) # Load the MOs used dic = load ( self . name , \"mo\" ) mo_coeff = dic . get ( \"mo_coeff\" , None ) mo_occ = dic . get ( \"mo_occ\" , None ) # Load the ansatz dic = load ( self . name , \"ansatz\" ) module_name = dic . get ( \"module_name\" , None ) if isinstance ( module_name , str ): module_name = module_name . encode ( \"ascii\" ) ansatz = Ansatz ( dic . get ( \"fermion_ansatz\" , b \"CCSD\" ) . decode ( \"ascii\" ), dic . get ( \"boson_ansatz\" , b \"\" ) . decode ( \"ascii\" ), dic . get ( \"fermion_coupling_rank\" , 0 ), dic . get ( \"boson_coupling_rank\" , 0 ), module_name , ) # Load the space dic = load ( self . name , \"space\" ) space : Union [ Space , tuple [ Space , Space ]] if spin_type == \"U\" : space = ( Space ( dic . get ( \"occupied\" , None )[ 0 ], dic . get ( \"frozen\" , None )[ 0 ], dic . get ( \"active\" , None )[ 0 ], ), Space ( dic . get ( \"occupied\" , None )[ 1 ], dic . get ( \"frozen\" , None )[ 1 ], dic . get ( \"active\" , None )[ 1 ], ), ) else : space = Space ( dic . get ( \"occupied\" , None ), dic . get ( \"frozen\" , None ), dic . get ( \"active\" , None ), ) # Load the bosonic parameters dic = load ( self . name , \"bosons\" ) omega = dic . get ( \"omega\" , None ) bare_g = dic . get ( \"bare_g\" , None ) bare_G = dic . get ( \"bare_G\" , None ) # Load the Fock matrix # TODO load the Fock matrix class instead # Load the amplitudes amplitudes = load ( self . name , \"amplitudes\" ) lambdas = load ( self . name , \"lambdas\" ) if spin_type == \"U\" : if amplitudes is not None : amplitudes = { key : ( util . Namespace ( ** val ) if isinstance ( val , dict ) else val ) for key , val in amplitudes . items () } amplitudes = util . Namespace ( ** amplitudes ) if lambdas is not None : lambdas = { key : ( util . Namespace ( ** val ) if isinstance ( val , dict ) else val ) for key , val in lambdas . items () } lambdas = util . Namespace ( ** lambdas ) else : if amplitudes is not None : amplitudes = util . Namespace ( ** amplitudes ) if lambdas is not None : lambdas = util . Namespace ( ** lambdas ) # Initialise the EBCC object cc = cls ( mf , log = log , ansatz = ansatz , space = space , omega = omega , g = bare_g , G = bare_G , mo_coeff = mo_coeff , mo_occ = mo_occ , # fock=fock, options = options , ) cc . __dict__ . update ( misc ) cc . amplitudes = amplitudes cc . lambdas = lambdas return cc","title":"read"},{"location":"reference/core/logging/","text":"Logging. ebcc . core . logging . Logger ( name , level = logging . INFO ) Bases: Logger Logger with a custom output level. Initialise the logger. Source code in ebcc/core/logging.py 29 30 31 def __init__ ( self , name : str , level : int = logging . INFO ) -> None : \"\"\"Initialise the logger.\"\"\" super () . __init__ ( name , level ) ebcc . core . logging . Logger . output ( msg , * args , ** kwargs ) Output a message at the \"OUTPUT\" level. Source code in ebcc/core/logging.py 33 34 35 36 def output ( self , msg : str , * args : Any , ** kwargs : Any ) -> None : \"\"\"Output a message at the `\"OUTPUT\"` level.\"\"\" if self . isEnabledFor ( 25 ): self . _log ( 25 , msg , args , ** kwargs ) ebcc . core . logging . NullLogger ( * args , ** kwargs ) Bases: Logger A logger that does nothing. Initialise the logger. Source code in ebcc/core/logging.py 51 52 53 def __init__ ( self , * args : Any , ** kwargs : Any ) -> None : \"\"\"Initialise the logger.\"\"\" super () . __init__ ( \"null\" ) ebcc . core . logging . init_logging ( log ) Initialise the logging with a header. Source code in ebcc/core/logging.py 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 def init_logging ( log : Logger ) -> None : \"\"\"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 : str ) -> str : 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","title":"Logging"},{"location":"reference/core/logging/#ebcc.core.logging.Logger","text":"Bases: Logger Logger with a custom output level. Initialise the logger. Source code in ebcc/core/logging.py 29 30 31 def __init__ ( self , name : str , level : int = logging . INFO ) -> None : \"\"\"Initialise the logger.\"\"\" super () . __init__ ( name , level )","title":"Logger"},{"location":"reference/core/logging/#ebcc.core.logging.Logger.output","text":"Output a message at the \"OUTPUT\" level. Source code in ebcc/core/logging.py 33 34 35 36 def output ( self , msg : str , * args : Any , ** kwargs : Any ) -> None : \"\"\"Output a message at the `\"OUTPUT\"` level.\"\"\" if self . isEnabledFor ( 25 ): self . _log ( 25 , msg , args , ** kwargs )","title":"output"},{"location":"reference/core/logging/#ebcc.core.logging.NullLogger","text":"Bases: Logger A logger that does nothing. Initialise the logger. Source code in ebcc/core/logging.py 51 52 53 def __init__ ( self , * args : Any , ** kwargs : Any ) -> None : \"\"\"Initialise the logger.\"\"\" super () . __init__ ( \"null\" )","title":"NullLogger"},{"location":"reference/core/logging/#ebcc.core.logging.init_logging","text":"Initialise the logging with a header. Source code in ebcc/core/logging.py 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 def init_logging ( log : Logger ) -> None : \"\"\"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 : str ) -> str : 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","title":"init_logging"},{"location":"reference/core/precision/","text":"Floating point precision control. ebcc . core . precision . astype ( value , dtype ) Cast a value to the current floating point type. Parameters: value ( T ) \u2013 The value to cast. dtype ( Type [ T ] ) \u2013 The type to cast to. Returns: T \u2013 The value cast to the current floating point type. Source code in ebcc/core/precision.py 30 31 32 33 34 35 36 37 38 39 40 41 def astype ( value : T , dtype : Type [ T ]) -> T : \"\"\"Cast a value to the current floating point type. Args: value: The value to cast. dtype: The type to cast to. Returns: The value cast to the current floating point type. \"\"\" out : T = types [ dtype ]( value ) return out ebcc . core . precision . set_precision ( ** kwargs ) Set the floating point type. Parameters: float \u2013 The floating point type to use. complex \u2013 The complex type to use. Source code in ebcc/core/precision.py 44 45 46 47 48 49 50 51 52 def set_precision ( ** kwargs : type ) -> None : \"\"\"Set the floating point type. Args: float: The floating point type to use. complex: The complex type to use. \"\"\" types [ float ] = kwargs . get ( \"float\" , types [ float ]) types [ complex ] = kwargs . get ( \"complex\" , types [ complex ]) ebcc . core . precision . precision ( ** kwargs ) Context manager for setting the floating point precision. Parameters: float \u2013 The floating point type to use. complex \u2013 The complex type to use. Source code in ebcc/core/precision.py 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 @contextmanager def precision ( ** kwargs : type ) -> Iterator [ None ]: \"\"\"Context manager for setting the floating point precision. Args: float: The floating point type to use. complex: The complex type to use. \"\"\" old = { \"float\" : types [ float ], \"complex\" : types [ complex ], } set_precision ( ** kwargs ) yield set_precision ( ** old ) ebcc . core . precision . single_precision () Context manager for setting the floating point precision to single precision. Source code in ebcc/core/precision.py 72 73 74 75 76 @contextmanager def single_precision () -> Iterator [ None ]: \"\"\"Context manager for setting the floating point precision to single precision.\"\"\" with precision ( float = np . float32 , complex = np . complex64 ): yield","title":"Precision"},{"location":"reference/core/precision/#ebcc.core.precision.astype","text":"Cast a value to the current floating point type. Parameters: value ( T ) \u2013 The value to cast. dtype ( Type [ T ] ) \u2013 The type to cast to. Returns: T \u2013 The value cast to the current floating point type. Source code in ebcc/core/precision.py 30 31 32 33 34 35 36 37 38 39 40 41 def astype ( value : T , dtype : Type [ T ]) -> T : \"\"\"Cast a value to the current floating point type. Args: value: The value to cast. dtype: The type to cast to. Returns: The value cast to the current floating point type. \"\"\" out : T = types [ dtype ]( value ) return out","title":"astype"},{"location":"reference/core/precision/#ebcc.core.precision.set_precision","text":"Set the floating point type. Parameters: float \u2013 The floating point type to use. complex \u2013 The complex type to use. Source code in ebcc/core/precision.py 44 45 46 47 48 49 50 51 52 def set_precision ( ** kwargs : type ) -> None : \"\"\"Set the floating point type. Args: float: The floating point type to use. complex: The complex type to use. \"\"\" types [ float ] = kwargs . get ( \"float\" , types [ float ]) types [ complex ] = kwargs . get ( \"complex\" , types [ complex ])","title":"set_precision"},{"location":"reference/core/precision/#ebcc.core.precision.precision","text":"Context manager for setting the floating point precision. Parameters: float \u2013 The floating point type to use. complex \u2013 The complex type to use. Source code in ebcc/core/precision.py 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 @contextmanager def precision ( ** kwargs : type ) -> Iterator [ None ]: \"\"\"Context manager for setting the floating point precision. Args: float: The floating point type to use. complex: The complex type to use. \"\"\" old = { \"float\" : types [ float ], \"complex\" : types [ complex ], } set_precision ( ** kwargs ) yield set_precision ( ** old )","title":"precision"},{"location":"reference/core/precision/#ebcc.core.precision.single_precision","text":"Context manager for setting the floating point precision to single precision. Source code in ebcc/core/precision.py 72 73 74 75 76 @contextmanager def single_precision () -> Iterator [ None ]: \"\"\"Context manager for setting the floating point precision to single precision.\"\"\" with precision ( float = np . float32 , complex = np . complex64 ): yield","title":"single_precision"},{"location":"reference/eom/","text":"Equation-of-motion coupled cluster solvers.","title":"Index"},{"location":"reference/eom/base/","text":"Base classes for ebcc.eom . ebcc . eom . base . BaseOptions ( nroots = 5 , e_tol = 1e-06 , max_iter = 100 , max_space = 12 , koopmans = False , left = False ) dataclass Options for EOM calculations. Parameters: nroots ( int , default: 5 ) \u2013 Number of roots to solver for. e_tol ( float , default: 1e-06 ) \u2013 Threshold for convergence in the eigenvalues. max_iter ( int , default: 100 ) \u2013 Maximum number of iterations. max_space ( int , default: 12 ) \u2013 Maximum size of the Lanczos vector space. koopmans ( bool , default: False ) \u2013 Whether to use a Koopmans'-like guess. left ( bool , default: False ) \u2013 Whether to apply the left-hand side of the Hamiltonian. ebcc . eom . base . BaseEOM ( ebcc , options = None , ** kwargs ) Bases: ABC Base class for equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" ) ebcc . eom . base . BaseEOM . excitation_type : str abstractmethod property Get the type of excitation. ebcc . eom . base . BaseEOM . spin_type : str property Get the spin type. ebcc . eom . base . BaseEOM . name : str property Get the name of the method. ebcc . eom . base . BaseEOM . nmo : Any property Get the number of MOs. ebcc . eom . base . BaseEOM . nocc : Any property Get the number of occupied MOs. ebcc . eom . base . BaseEOM . nvir : Any property Get the number of virtual MOs. ebcc . eom . base . BaseEOM . amplitudes_to_vector ( amplitudes ) abstractmethod Construct a vector containing all of the amplitudes used in the given ansatz. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 Cluster amplitudes. Returns: NDArray [ T ] \u2013 Cluster amplitudes as a vector. Source code in ebcc/eom/base.py 128 129 130 131 132 133 134 135 136 137 138 @abstractmethod def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the amplitudes used in the given ansatz. Args: amplitudes: Cluster amplitudes. Returns: Cluster amplitudes as a vector. \"\"\" pass ebcc . eom . base . BaseEOM . vector_to_amplitudes ( vector ) abstractmethod Construct amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 Cluster amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 Cluster amplitudes. Source code in ebcc/eom/base.py 140 141 142 143 144 145 146 147 148 149 150 @abstractmethod def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct amplitudes from a vector. Args: vector: Cluster amplitudes as a vector. Returns: Cluster amplitudes. \"\"\" pass ebcc . eom . base . BaseEOM . matvec ( vector , eris = None , ints = None , left = False ) abstractmethod Apply the Hamiltonian to a vector. Parameters: vector ( NDArray [ T ] ) \u2013 State vector to apply the Hamiltonian to. eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. ints ( Optional [ Namespace [ NDArray [ T ]]] , default: None ) \u2013 Intermediate products. left ( bool , default: False ) \u2013 Whether to apply the left-hand side of the Hamiltonian. Returns: NDArray [ T ] \u2013 Resulting vector. Source code in ebcc/eom/base.py 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 @abstractmethod def matvec ( self , vector : NDArray [ T ], eris : Optional [ ERIsInputType ] = None , ints : Optional [ Namespace [ NDArray [ T ]]] = None , left : bool = False , ) -> NDArray [ T ]: \"\"\"Apply the Hamiltonian to a vector. Args: vector: State vector to apply the Hamiltonian to. eris: Electronic repulsion integrals. ints: Intermediate products. left: Whether to apply the left-hand side of the Hamiltonian. Returns: Resulting vector. \"\"\" pass ebcc . eom . base . BaseEOM . matvec_intermediates ( eris = None , left = False ) abstractmethod Get the intermediates for application of the Hamiltonian to a vector. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. left ( bool , default: False ) \u2013 Whether to apply the left-hand side of the Hamiltonian. Returns: Namespace [ NDArray [ T ]] \u2013 Intermediate products. Source code in ebcc/eom/base.py 173 174 175 176 177 178 179 180 181 182 183 184 185 186 @abstractmethod def matvec_intermediates ( self , eris : Optional [ ERIsInputType ] = None , left : bool = False ) -> Namespace [ NDArray [ T ]]: \"\"\"Get the intermediates for application of the Hamiltonian to a vector. Args: eris: Electronic repulsion integrals. left: Whether to apply the left-hand side of the Hamiltonian. Returns: Intermediate products. \"\"\" pass ebcc . eom . base . BaseEOM . diag ( eris = None ) abstractmethod Get the diagonal of the Hamiltonian. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. Returns: NDArray [ T ] \u2013 Diagonal of the Hamiltonian. Source code in ebcc/eom/base.py 188 189 190 191 192 193 194 195 196 197 198 @abstractmethod def diag ( self , eris : Optional [ ERIsInputType ] = None ) -> NDArray [ T ]: \"\"\"Get the diagonal of the Hamiltonian. Args: eris: Electronic repulsion integrals. Returns: Diagonal of the Hamiltonian. \"\"\" pass ebcc . eom . base . BaseEOM . get_pick ( guesses = None , real_system = True ) Get the function to pick the eigenvalues matching the criteria. Parameters: guesses ( Optional [ NDArray [ T ]] , default: None ) \u2013 Initial guesses for the roots. real_system ( bool , default: True ) \u2013 Whether the system is real-valued. Returns: PickFunctionType \u2013 Function to pick the eigenvalues. Source code in ebcc/eom/base.py 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 def get_pick ( self , guesses : Optional [ NDArray [ T ]] = None , real_system : bool = True ) -> PickFunctionType : \"\"\"Get the function to pick the eigenvalues matching the criteria. Args: guesses: Initial guesses for the roots. real_system: Whether the system is real-valued. Returns: Function to pick the eigenvalues. \"\"\" if self . options . koopmans : assert guesses is not None def pick ( w : NDArray [ T ], v : NDArray [ T ], nroots : int , env : dict [ str , Any ] ) -> tuple [ NDArray [ T ], NDArray [ T ], int ]: \"\"\"Pick the eigenvalues.\"\"\" x0 = to_numpy ( lib . linalg_helper . _gen_x0 ( env [ \"v\" ], env [ \"xs\" ])) s = to_numpy ( guesses ) . conj () @ x0 . T s = numpy . einsum ( \"pi,pi->i\" , s . conj (), s ) arg = numpy . argsort ( - s )[: nroots ] w , v , idx = lib . linalg_helper . _eigs_cmplx2real ( to_numpy ( w ), to_numpy ( v ), arg , real_system , ) return w , v , idx else : def pick ( w : NDArray [ T ], v : NDArray [ T ], nroots : int , env : dict [ str , Any ] ) -> tuple [ NDArray [ T ], NDArray [ T ], int ]: \"\"\"Pick the eigenvalues.\"\"\" real_idx = numpy . where ( abs ( numpy . imag ( w )) < 1e-3 )[ 0 ] w , v , idx = lib . linalg_helper . _eigs_cmplx2real ( to_numpy ( w ), to_numpy ( v ), real_idx , real_system , ) return w , v , idx return pick ebcc . eom . base . BaseEOM . get_guesses ( diag = None ) Get the initial guesses vectors. Parameters: diag ( Optional [ NDArray [ T ]] , default: None ) \u2013 Diagonal of the Hamiltonian. Returns: list [ NDArray [ T ]] \u2013 Initial guesses. Source code in ebcc/eom/base.py 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 def get_guesses ( self , diag : Optional [ NDArray [ T ]] = None ) -> list [ NDArray [ T ]]: \"\"\"Get the initial guesses vectors. Args: diag: Diagonal of the Hamiltonian. Returns: Initial guesses. \"\"\" if diag is None : diag = self . diag () arg = self . _argsort_guesses ( diag ) nroots = min ( self . options . nroots , diag . size ) guesses : list [ NDArray [ T ]] = [] for root , guess in enumerate ( arg [: nroots ]): guesses . append ( np . eye ( 1 , diag . size , guess , dtype = types [ float ])[ 0 ]) return guesses ebcc . eom . base . BaseEOM . callback ( envs ) Callback function for the eigensolver. Source code in ebcc/eom/base.py 279 280 281 def callback ( self , envs : dict [ str , Any ]) -> None : # noqa: B027 \"\"\"Callback function for the eigensolver.\"\"\" # noqa: D401 pass ebcc . eom . base . BaseEOM . davidson ( eris = None , guesses = None ) Solve the EOM Hamiltonian using the Davidson solver. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. guesses ( Optional [ list [ NDArray [ T ]]] , default: None ) \u2013 Initial guesses for the roots. Returns: NDArray [ T ] \u2013 Energies of the roots. Source code in ebcc/eom/base.py 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 def davidson ( self , eris : Optional [ ERIsInputType ] = None , guesses : Optional [ list [ NDArray [ T ]]] = None , ) -> NDArray [ T ]: \"\"\"Solve the EOM Hamiltonian using the Davidson solver. Args: eris: Electronic repulsion integrals. guesses: Initial guesses for the roots. Returns: Energies of the roots. \"\"\" 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 () ) # Get the matrix-vector products and the diagonal: ints = self . matvec_intermediates ( eris = eris , left = self . options . left ) matvecs = lambda vs : [ to_numpy ( self . matvec ( np . asarray ( v ), eris = eris , ints = ints , left = self . options . left )) 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 = np . stack ( guesses )) converged , e , v = lib . davidson_nosym1 ( matvecs , [ to_numpy ( g ) for g in guesses ], to_numpy ( diag ), tol = self . options . e_tol , nroots = nroots , pick = pick , max_cycle = self . options . max_iter , max_space = self . options . max_space , callback = self . callback , verbose = 0 , ) e = np . asarray ( e ) v = np . asarray ( v ) # Check for convergence: if all ( converged ): self . log . debug ( \"\" ) self . log . output ( f \" { ANSI . g } Converged. { ANSI . R } \" ) else : self . log . debug ( \"\" ) self . log . warning ( f \" { ANSI . r } Failed to converge { sum ( not c for c in converged ) } roots. { ANSI . R } \" ) # Update attributes: self . converged = converged self . e = np . asarray ( e , dtype = types [ float ]) self . v = np . transpose ( np . asarray ( v , dtype = types [ float ])) 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 ( self . e , np . transpose ( self . v ), converged )): r1n = self . vector_to_amplitudes ( vn )[ \"r1\" ] qpwt = self . _quasiparticle_weight ( r1n ) self . log . output ( f \" { n : >4d } { np . ravel ( en )[ 0 ] : >16.10f } { qpwt : >13.5g } \" f \" { [ ANSI . r , ANSI . g ][ bool ( cn )] }{ cn !r: >8s }{ ANSI . R } \" ) self . log . debug ( \"\" ) self . log . debug ( \"Time elapsed: %s \" , timer . format_time ( timer ())) self . log . debug ( \"\" ) return self . e ebcc . eom . base . BaseIP_EOM ( ebcc , options = None , ** kwargs ) Bases: BaseEOM Base class for ionisation-potential EOM-CC. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" ) ebcc . eom . base . BaseIP_EOM . excitation_type : str property Get the type of excitation. ebcc . eom . base . BaseIP_EOM . matvec ( vector , eris = None , ints = None , left = False ) Apply the Hamiltonian to a vector. Parameters: vector ( NDArray [ T ] ) \u2013 State vector to apply the Hamiltonian to. eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. ints ( Optional [ Namespace [ NDArray [ T ]]] , default: None ) \u2013 Intermediate products. left ( bool , default: False ) \u2013 Whether to apply the left-hand side of the Hamiltonian. Returns: NDArray [ T ] \u2013 Resulting vector. Source code in ebcc/eom/base.py 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 def matvec ( self , vector : NDArray [ T ], eris : Optional [ ERIsInputType ] = None , ints : Optional [ Namespace [ NDArray [ T ]]] = None , left : bool = False , ) -> NDArray [ T ]: \"\"\"Apply the Hamiltonian to a vector. Args: vector: State vector to apply the Hamiltonian to. eris: Electronic repulsion integrals. ints: Intermediate products. left: Whether to apply the left-hand side of the Hamiltonian. Returns: Resulting vector. \"\"\" if not ints : ints = self . matvec_intermediates ( eris = eris , left = left ) amplitudes = self . vector_to_amplitudes ( vector ) func , kwargs = self . ebcc . _load_function ( f \"hbar_ { 'l' if left else '' } matvec_ip\" , eris = eris , ints = ints , amplitudes = self . ebcc . amplitudes , excitations = amplitudes , ) res : Namespace [ SpinArrayType ] = func ( ** kwargs ) res = util . Namespace ( ** { key . rstrip ( \"new\" ): val for key , val in res . items ()}) return self . amplitudes_to_vector ( res ) ebcc . eom . base . BaseIP_EOM . matvec_intermediates ( eris = None , left = False ) Get the intermediates for application of the Hamiltonian to a vector. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. left ( bool , default: False ) \u2013 Whether to apply the left-hand side of the Hamiltonian. Returns: Namespace [ NDArray [ T ]] \u2013 Intermediate products. Source code in ebcc/eom/base.py 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 def matvec_intermediates ( self , eris : Optional [ ERIsInputType ] = None , left : bool = False ) -> Namespace [ NDArray [ T ]]: \"\"\"Get the intermediates for application of the Hamiltonian to a vector. Args: eris: Electronic repulsion integrals. left: Whether to apply the left-hand side of the Hamiltonian. Returns: Intermediate products. \"\"\" func , kwargs = self . ebcc . _load_function ( f \"hbar_ { 'l' if left else '' } matvec_ip_intermediates\" , eris = eris , amplitudes = self . ebcc . amplitudes , ) res : Namespace [ NDArray [ T ]] = util . Namespace ( ** func ( ** kwargs )) return res ebcc . eom . base . BaseEA_EOM ( ebcc , options = None , ** kwargs ) Bases: BaseEOM Base class for electron-affinity EOM-CC. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" ) ebcc . eom . base . BaseEA_EOM . excitation_type : str property Get the type of excitation. ebcc . eom . base . BaseEA_EOM . matvec ( vector , eris = None , ints = None , left = False ) Apply the Hamiltonian to a vector. Parameters: vector ( NDArray [ T ] ) \u2013 State vector to apply the Hamiltonian to. eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. ints ( Optional [ Namespace [ NDArray [ T ]]] , default: None ) \u2013 Intermediate products. left ( bool , default: False ) \u2013 Whether to apply the left-hand side of the Hamiltonian. Returns: NDArray [ T ] \u2013 Resulting vector. Source code in ebcc/eom/base.py 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 def matvec ( self , vector : NDArray [ T ], eris : Optional [ ERIsInputType ] = None , ints : Optional [ Namespace [ NDArray [ T ]]] = None , left : bool = False , ) -> NDArray [ T ]: \"\"\"Apply the Hamiltonian to a vector. Args: vector: State vector to apply the Hamiltonian to. eris: Electronic repulsion integrals. ints: Intermediate products. left: Whether to apply the left-hand side of the Hamiltonian. Returns: Resulting vector. \"\"\" if not ints : ints = self . matvec_intermediates ( eris = eris , left = left ) amplitudes = self . vector_to_amplitudes ( vector ) func , kwargs = self . ebcc . _load_function ( f \"hbar_ { 'l' if left else '' } matvec_ea\" , eris = eris , ints = ints , amplitudes = self . ebcc . amplitudes , excitations = amplitudes , ) res : Namespace [ SpinArrayType ] = func ( ** kwargs ) res = util . Namespace ( ** { key . rstrip ( \"new\" ): val for key , val in res . items ()}) return self . amplitudes_to_vector ( res ) ebcc . eom . base . BaseEA_EOM . matvec_intermediates ( eris = None , left = False ) Get the intermediates for application of the Hamiltonian to a vector. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. left ( bool , default: False ) \u2013 Whether to apply the left-hand side of the Hamiltonian. Returns: Namespace [ NDArray [ T ]] \u2013 Intermediate products. Source code in ebcc/eom/base.py 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 def matvec_intermediates ( self , eris : Optional [ ERIsInputType ] = None , left : bool = False ) -> Namespace [ NDArray [ T ]]: \"\"\"Get the intermediates for application of the Hamiltonian to a vector. Args: eris: Electronic repulsion integrals. left: Whether to apply the left-hand side of the Hamiltonian. Returns: Intermediate products. \"\"\" func , kwargs = self . ebcc . _load_function ( f \"hbar_ { 'l' if left else '' } matvec_ea_intermediates\" , eris = eris , amplitudes = self . ebcc . amplitudes , ) res : Namespace [ NDArray [ T ]] = util . Namespace ( ** func ( ** kwargs )) return res ebcc . eom . base . BaseEE_EOM ( ebcc , options = None , ** kwargs ) Bases: BaseEOM Base class for electron-electron EOM-CC. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" ) ebcc . eom . base . BaseEE_EOM . excitation_type : str property Get the type of excitation. ebcc . eom . base . BaseEE_EOM . matvec ( vector , eris = None , ints = None , left = False ) Apply the Hamiltonian to a vector. Parameters: vector ( NDArray [ T ] ) \u2013 State vector to apply the Hamiltonian to. eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. ints ( Optional [ Namespace [ NDArray [ T ]]] , default: None ) \u2013 Intermediate products. left ( bool , default: False ) \u2013 Whether to apply the left-hand side of the Hamiltonian. Returns: NDArray [ T ] \u2013 Resulting vector. Source code in ebcc/eom/base.py 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 def matvec ( self , vector : NDArray [ T ], eris : Optional [ ERIsInputType ] = None , ints : Optional [ Namespace [ NDArray [ T ]]] = None , left : bool = False , ) -> NDArray [ T ]: \"\"\"Apply the Hamiltonian to a vector. Args: vector: State vector to apply the Hamiltonian to. eris: Electronic repulsion integrals. ints: Intermediate products. left: Whether to apply the left-hand side of the Hamiltonian. Returns: Resulting vector. \"\"\" if not ints : ints = self . matvec_intermediates ( eris = eris , left = left ) amplitudes = self . vector_to_amplitudes ( vector ) func , kwargs = self . ebcc . _load_function ( f \"hbar_ { 'l' if left else '' } matvec_ee\" , eris = eris , ints = ints , amplitudes = self . ebcc . amplitudes , excitations = amplitudes , ) res : Namespace [ SpinArrayType ] = func ( ** kwargs ) res = util . Namespace ( ** { key . rstrip ( \"new\" ): val for key , val in res . items ()}) return self . amplitudes_to_vector ( res ) ebcc . eom . base . BaseEE_EOM . matvec_intermediates ( eris = None , left = False ) Get the intermediates for application of the Hamiltonian to a vector. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. left ( bool , default: False ) \u2013 Whether to apply the left-hand side of the Hamiltonian. Returns: Namespace [ NDArray [ T ]] \u2013 Intermediate products. Source code in ebcc/eom/base.py 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 def matvec_intermediates ( self , eris : Optional [ ERIsInputType ] = None , left : bool = False ) -> Namespace [ NDArray [ T ]]: \"\"\"Get the intermediates for application of the Hamiltonian to a vector. Args: eris: Electronic repulsion integrals. left: Whether to apply the left-hand side of the Hamiltonian. Returns: Intermediate products. \"\"\" func , kwargs = self . ebcc . _load_function ( f \"hbar_ { 'l' if left else '' } matvec_ee_intermediates\" , eris = eris , amplitudes = self . ebcc . amplitudes , ) res : Namespace [ NDArray [ T ]] = util . Namespace ( ** func ( ** kwargs )) return res","title":"Base"},{"location":"reference/eom/base/#ebcc.eom.base.BaseOptions","text":"Options for EOM calculations. Parameters: nroots ( int , default: 5 ) \u2013 Number of roots to solver for. e_tol ( float , default: 1e-06 ) \u2013 Threshold for convergence in the eigenvalues. max_iter ( int , default: 100 ) \u2013 Maximum number of iterations. max_space ( int , default: 12 ) \u2013 Maximum size of the Lanczos vector space. koopmans ( bool , default: False ) \u2013 Whether to use a Koopmans'-like guess. left ( bool , default: False ) \u2013 Whether to apply the left-hand side of the Hamiltonian.","title":"BaseOptions"},{"location":"reference/eom/base/#ebcc.eom.base.BaseEOM","text":"Bases: ABC Base class for equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" )","title":"BaseEOM"},{"location":"reference/eom/base/#ebcc.eom.base.BaseEOM.excitation_type","text":"Get the type of excitation.","title":"excitation_type"},{"location":"reference/eom/base/#ebcc.eom.base.BaseEOM.spin_type","text":"Get the spin type.","title":"spin_type"},{"location":"reference/eom/base/#ebcc.eom.base.BaseEOM.name","text":"Get the name of the method.","title":"name"},{"location":"reference/eom/base/#ebcc.eom.base.BaseEOM.nmo","text":"Get the number of MOs.","title":"nmo"},{"location":"reference/eom/base/#ebcc.eom.base.BaseEOM.nocc","text":"Get the number of occupied MOs.","title":"nocc"},{"location":"reference/eom/base/#ebcc.eom.base.BaseEOM.nvir","text":"Get the number of virtual MOs.","title":"nvir"},{"location":"reference/eom/base/#ebcc.eom.base.BaseEOM.amplitudes_to_vector","text":"Construct a vector containing all of the amplitudes used in the given ansatz. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 Cluster amplitudes. Returns: NDArray [ T ] \u2013 Cluster amplitudes as a vector. Source code in ebcc/eom/base.py 128 129 130 131 132 133 134 135 136 137 138 @abstractmethod def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the amplitudes used in the given ansatz. Args: amplitudes: Cluster amplitudes. Returns: Cluster amplitudes as a vector. \"\"\" pass","title":"amplitudes_to_vector"},{"location":"reference/eom/base/#ebcc.eom.base.BaseEOM.vector_to_amplitudes","text":"Construct amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 Cluster amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 Cluster amplitudes. Source code in ebcc/eom/base.py 140 141 142 143 144 145 146 147 148 149 150 @abstractmethod def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct amplitudes from a vector. Args: vector: Cluster amplitudes as a vector. Returns: Cluster amplitudes. \"\"\" pass","title":"vector_to_amplitudes"},{"location":"reference/eom/base/#ebcc.eom.base.BaseEOM.matvec","text":"Apply the Hamiltonian to a vector. Parameters: vector ( NDArray [ T ] ) \u2013 State vector to apply the Hamiltonian to. eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. ints ( Optional [ Namespace [ NDArray [ T ]]] , default: None ) \u2013 Intermediate products. left ( bool , default: False ) \u2013 Whether to apply the left-hand side of the Hamiltonian. Returns: NDArray [ T ] \u2013 Resulting vector. Source code in ebcc/eom/base.py 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 @abstractmethod def matvec ( self , vector : NDArray [ T ], eris : Optional [ ERIsInputType ] = None , ints : Optional [ Namespace [ NDArray [ T ]]] = None , left : bool = False , ) -> NDArray [ T ]: \"\"\"Apply the Hamiltonian to a vector. Args: vector: State vector to apply the Hamiltonian to. eris: Electronic repulsion integrals. ints: Intermediate products. left: Whether to apply the left-hand side of the Hamiltonian. Returns: Resulting vector. \"\"\" pass","title":"matvec"},{"location":"reference/eom/base/#ebcc.eom.base.BaseEOM.matvec_intermediates","text":"Get the intermediates for application of the Hamiltonian to a vector. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. left ( bool , default: False ) \u2013 Whether to apply the left-hand side of the Hamiltonian. Returns: Namespace [ NDArray [ T ]] \u2013 Intermediate products. Source code in ebcc/eom/base.py 173 174 175 176 177 178 179 180 181 182 183 184 185 186 @abstractmethod def matvec_intermediates ( self , eris : Optional [ ERIsInputType ] = None , left : bool = False ) -> Namespace [ NDArray [ T ]]: \"\"\"Get the intermediates for application of the Hamiltonian to a vector. Args: eris: Electronic repulsion integrals. left: Whether to apply the left-hand side of the Hamiltonian. Returns: Intermediate products. \"\"\" pass","title":"matvec_intermediates"},{"location":"reference/eom/base/#ebcc.eom.base.BaseEOM.diag","text":"Get the diagonal of the Hamiltonian. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. Returns: NDArray [ T ] \u2013 Diagonal of the Hamiltonian. Source code in ebcc/eom/base.py 188 189 190 191 192 193 194 195 196 197 198 @abstractmethod def diag ( self , eris : Optional [ ERIsInputType ] = None ) -> NDArray [ T ]: \"\"\"Get the diagonal of the Hamiltonian. Args: eris: Electronic repulsion integrals. Returns: Diagonal of the Hamiltonian. \"\"\" pass","title":"diag"},{"location":"reference/eom/base/#ebcc.eom.base.BaseEOM.get_pick","text":"Get the function to pick the eigenvalues matching the criteria. Parameters: guesses ( Optional [ NDArray [ T ]] , default: None ) \u2013 Initial guesses for the roots. real_system ( bool , default: True ) \u2013 Whether the system is real-valued. Returns: PickFunctionType \u2013 Function to pick the eigenvalues. Source code in ebcc/eom/base.py 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 def get_pick ( self , guesses : Optional [ NDArray [ T ]] = None , real_system : bool = True ) -> PickFunctionType : \"\"\"Get the function to pick the eigenvalues matching the criteria. Args: guesses: Initial guesses for the roots. real_system: Whether the system is real-valued. Returns: Function to pick the eigenvalues. \"\"\" if self . options . koopmans : assert guesses is not None def pick ( w : NDArray [ T ], v : NDArray [ T ], nroots : int , env : dict [ str , Any ] ) -> tuple [ NDArray [ T ], NDArray [ T ], int ]: \"\"\"Pick the eigenvalues.\"\"\" x0 = to_numpy ( lib . linalg_helper . _gen_x0 ( env [ \"v\" ], env [ \"xs\" ])) s = to_numpy ( guesses ) . conj () @ x0 . T s = numpy . einsum ( \"pi,pi->i\" , s . conj (), s ) arg = numpy . argsort ( - s )[: nroots ] w , v , idx = lib . linalg_helper . _eigs_cmplx2real ( to_numpy ( w ), to_numpy ( v ), arg , real_system , ) return w , v , idx else : def pick ( w : NDArray [ T ], v : NDArray [ T ], nroots : int , env : dict [ str , Any ] ) -> tuple [ NDArray [ T ], NDArray [ T ], int ]: \"\"\"Pick the eigenvalues.\"\"\" real_idx = numpy . where ( abs ( numpy . imag ( w )) < 1e-3 )[ 0 ] w , v , idx = lib . linalg_helper . _eigs_cmplx2real ( to_numpy ( w ), to_numpy ( v ), real_idx , real_system , ) return w , v , idx return pick","title":"get_pick"},{"location":"reference/eom/base/#ebcc.eom.base.BaseEOM.get_guesses","text":"Get the initial guesses vectors. Parameters: diag ( Optional [ NDArray [ T ]] , default: None ) \u2013 Diagonal of the Hamiltonian. Returns: list [ NDArray [ T ]] \u2013 Initial guesses. Source code in ebcc/eom/base.py 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 def get_guesses ( self , diag : Optional [ NDArray [ T ]] = None ) -> list [ NDArray [ T ]]: \"\"\"Get the initial guesses vectors. Args: diag: Diagonal of the Hamiltonian. Returns: Initial guesses. \"\"\" if diag is None : diag = self . diag () arg = self . _argsort_guesses ( diag ) nroots = min ( self . options . nroots , diag . size ) guesses : list [ NDArray [ T ]] = [] for root , guess in enumerate ( arg [: nroots ]): guesses . append ( np . eye ( 1 , diag . size , guess , dtype = types [ float ])[ 0 ]) return guesses","title":"get_guesses"},{"location":"reference/eom/base/#ebcc.eom.base.BaseEOM.callback","text":"Callback function for the eigensolver. Source code in ebcc/eom/base.py 279 280 281 def callback ( self , envs : dict [ str , Any ]) -> None : # noqa: B027 \"\"\"Callback function for the eigensolver.\"\"\" # noqa: D401 pass","title":"callback"},{"location":"reference/eom/base/#ebcc.eom.base.BaseEOM.davidson","text":"Solve the EOM Hamiltonian using the Davidson solver. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. guesses ( Optional [ list [ NDArray [ T ]]] , default: None ) \u2013 Initial guesses for the roots. Returns: NDArray [ T ] \u2013 Energies of the roots. Source code in ebcc/eom/base.py 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 def davidson ( self , eris : Optional [ ERIsInputType ] = None , guesses : Optional [ list [ NDArray [ T ]]] = None , ) -> NDArray [ T ]: \"\"\"Solve the EOM Hamiltonian using the Davidson solver. Args: eris: Electronic repulsion integrals. guesses: Initial guesses for the roots. Returns: Energies of the roots. \"\"\" 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 () ) # Get the matrix-vector products and the diagonal: ints = self . matvec_intermediates ( eris = eris , left = self . options . left ) matvecs = lambda vs : [ to_numpy ( self . matvec ( np . asarray ( v ), eris = eris , ints = ints , left = self . options . left )) 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 = np . stack ( guesses )) converged , e , v = lib . davidson_nosym1 ( matvecs , [ to_numpy ( g ) for g in guesses ], to_numpy ( diag ), tol = self . options . e_tol , nroots = nroots , pick = pick , max_cycle = self . options . max_iter , max_space = self . options . max_space , callback = self . callback , verbose = 0 , ) e = np . asarray ( e ) v = np . asarray ( v ) # Check for convergence: if all ( converged ): self . log . debug ( \"\" ) self . log . output ( f \" { ANSI . g } Converged. { ANSI . R } \" ) else : self . log . debug ( \"\" ) self . log . warning ( f \" { ANSI . r } Failed to converge { sum ( not c for c in converged ) } roots. { ANSI . R } \" ) # Update attributes: self . converged = converged self . e = np . asarray ( e , dtype = types [ float ]) self . v = np . transpose ( np . asarray ( v , dtype = types [ float ])) 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 ( self . e , np . transpose ( self . v ), converged )): r1n = self . vector_to_amplitudes ( vn )[ \"r1\" ] qpwt = self . _quasiparticle_weight ( r1n ) self . log . output ( f \" { n : >4d } { np . ravel ( en )[ 0 ] : >16.10f } { qpwt : >13.5g } \" f \" { [ ANSI . r , ANSI . g ][ bool ( cn )] }{ cn !r: >8s }{ ANSI . R } \" ) self . log . debug ( \"\" ) self . log . debug ( \"Time elapsed: %s \" , timer . format_time ( timer ())) self . log . debug ( \"\" ) return self . e","title":"davidson"},{"location":"reference/eom/base/#ebcc.eom.base.BaseIP_EOM","text":"Bases: BaseEOM Base class for ionisation-potential EOM-CC. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" )","title":"BaseIP_EOM"},{"location":"reference/eom/base/#ebcc.eom.base.BaseIP_EOM.excitation_type","text":"Get the type of excitation.","title":"excitation_type"},{"location":"reference/eom/base/#ebcc.eom.base.BaseIP_EOM.matvec","text":"Apply the Hamiltonian to a vector. Parameters: vector ( NDArray [ T ] ) \u2013 State vector to apply the Hamiltonian to. eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. ints ( Optional [ Namespace [ NDArray [ T ]]] , default: None ) \u2013 Intermediate products. left ( bool , default: False ) \u2013 Whether to apply the left-hand side of the Hamiltonian. Returns: NDArray [ T ] \u2013 Resulting vector. Source code in ebcc/eom/base.py 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 def matvec ( self , vector : NDArray [ T ], eris : Optional [ ERIsInputType ] = None , ints : Optional [ Namespace [ NDArray [ T ]]] = None , left : bool = False , ) -> NDArray [ T ]: \"\"\"Apply the Hamiltonian to a vector. Args: vector: State vector to apply the Hamiltonian to. eris: Electronic repulsion integrals. ints: Intermediate products. left: Whether to apply the left-hand side of the Hamiltonian. Returns: Resulting vector. \"\"\" if not ints : ints = self . matvec_intermediates ( eris = eris , left = left ) amplitudes = self . vector_to_amplitudes ( vector ) func , kwargs = self . ebcc . _load_function ( f \"hbar_ { 'l' if left else '' } matvec_ip\" , eris = eris , ints = ints , amplitudes = self . ebcc . amplitudes , excitations = amplitudes , ) res : Namespace [ SpinArrayType ] = func ( ** kwargs ) res = util . Namespace ( ** { key . rstrip ( \"new\" ): val for key , val in res . items ()}) return self . amplitudes_to_vector ( res )","title":"matvec"},{"location":"reference/eom/base/#ebcc.eom.base.BaseIP_EOM.matvec_intermediates","text":"Get the intermediates for application of the Hamiltonian to a vector. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. left ( bool , default: False ) \u2013 Whether to apply the left-hand side of the Hamiltonian. Returns: Namespace [ NDArray [ T ]] \u2013 Intermediate products. Source code in ebcc/eom/base.py 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 def matvec_intermediates ( self , eris : Optional [ ERIsInputType ] = None , left : bool = False ) -> Namespace [ NDArray [ T ]]: \"\"\"Get the intermediates for application of the Hamiltonian to a vector. Args: eris: Electronic repulsion integrals. left: Whether to apply the left-hand side of the Hamiltonian. Returns: Intermediate products. \"\"\" func , kwargs = self . ebcc . _load_function ( f \"hbar_ { 'l' if left else '' } matvec_ip_intermediates\" , eris = eris , amplitudes = self . ebcc . amplitudes , ) res : Namespace [ NDArray [ T ]] = util . Namespace ( ** func ( ** kwargs )) return res","title":"matvec_intermediates"},{"location":"reference/eom/base/#ebcc.eom.base.BaseEA_EOM","text":"Bases: BaseEOM Base class for electron-affinity EOM-CC. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" )","title":"BaseEA_EOM"},{"location":"reference/eom/base/#ebcc.eom.base.BaseEA_EOM.excitation_type","text":"Get the type of excitation.","title":"excitation_type"},{"location":"reference/eom/base/#ebcc.eom.base.BaseEA_EOM.matvec","text":"Apply the Hamiltonian to a vector. Parameters: vector ( NDArray [ T ] ) \u2013 State vector to apply the Hamiltonian to. eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. ints ( Optional [ Namespace [ NDArray [ T ]]] , default: None ) \u2013 Intermediate products. left ( bool , default: False ) \u2013 Whether to apply the left-hand side of the Hamiltonian. Returns: NDArray [ T ] \u2013 Resulting vector. Source code in ebcc/eom/base.py 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 def matvec ( self , vector : NDArray [ T ], eris : Optional [ ERIsInputType ] = None , ints : Optional [ Namespace [ NDArray [ T ]]] = None , left : bool = False , ) -> NDArray [ T ]: \"\"\"Apply the Hamiltonian to a vector. Args: vector: State vector to apply the Hamiltonian to. eris: Electronic repulsion integrals. ints: Intermediate products. left: Whether to apply the left-hand side of the Hamiltonian. Returns: Resulting vector. \"\"\" if not ints : ints = self . matvec_intermediates ( eris = eris , left = left ) amplitudes = self . vector_to_amplitudes ( vector ) func , kwargs = self . ebcc . _load_function ( f \"hbar_ { 'l' if left else '' } matvec_ea\" , eris = eris , ints = ints , amplitudes = self . ebcc . amplitudes , excitations = amplitudes , ) res : Namespace [ SpinArrayType ] = func ( ** kwargs ) res = util . Namespace ( ** { key . rstrip ( \"new\" ): val for key , val in res . items ()}) return self . amplitudes_to_vector ( res )","title":"matvec"},{"location":"reference/eom/base/#ebcc.eom.base.BaseEA_EOM.matvec_intermediates","text":"Get the intermediates for application of the Hamiltonian to a vector. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. left ( bool , default: False ) \u2013 Whether to apply the left-hand side of the Hamiltonian. Returns: Namespace [ NDArray [ T ]] \u2013 Intermediate products. Source code in ebcc/eom/base.py 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 def matvec_intermediates ( self , eris : Optional [ ERIsInputType ] = None , left : bool = False ) -> Namespace [ NDArray [ T ]]: \"\"\"Get the intermediates for application of the Hamiltonian to a vector. Args: eris: Electronic repulsion integrals. left: Whether to apply the left-hand side of the Hamiltonian. Returns: Intermediate products. \"\"\" func , kwargs = self . ebcc . _load_function ( f \"hbar_ { 'l' if left else '' } matvec_ea_intermediates\" , eris = eris , amplitudes = self . ebcc . amplitudes , ) res : Namespace [ NDArray [ T ]] = util . Namespace ( ** func ( ** kwargs )) return res","title":"matvec_intermediates"},{"location":"reference/eom/base/#ebcc.eom.base.BaseEE_EOM","text":"Bases: BaseEOM Base class for electron-electron EOM-CC. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" )","title":"BaseEE_EOM"},{"location":"reference/eom/base/#ebcc.eom.base.BaseEE_EOM.excitation_type","text":"Get the type of excitation.","title":"excitation_type"},{"location":"reference/eom/base/#ebcc.eom.base.BaseEE_EOM.matvec","text":"Apply the Hamiltonian to a vector. Parameters: vector ( NDArray [ T ] ) \u2013 State vector to apply the Hamiltonian to. eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. ints ( Optional [ Namespace [ NDArray [ T ]]] , default: None ) \u2013 Intermediate products. left ( bool , default: False ) \u2013 Whether to apply the left-hand side of the Hamiltonian. Returns: NDArray [ T ] \u2013 Resulting vector. Source code in ebcc/eom/base.py 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 def matvec ( self , vector : NDArray [ T ], eris : Optional [ ERIsInputType ] = None , ints : Optional [ Namespace [ NDArray [ T ]]] = None , left : bool = False , ) -> NDArray [ T ]: \"\"\"Apply the Hamiltonian to a vector. Args: vector: State vector to apply the Hamiltonian to. eris: Electronic repulsion integrals. ints: Intermediate products. left: Whether to apply the left-hand side of the Hamiltonian. Returns: Resulting vector. \"\"\" if not ints : ints = self . matvec_intermediates ( eris = eris , left = left ) amplitudes = self . vector_to_amplitudes ( vector ) func , kwargs = self . ebcc . _load_function ( f \"hbar_ { 'l' if left else '' } matvec_ee\" , eris = eris , ints = ints , amplitudes = self . ebcc . amplitudes , excitations = amplitudes , ) res : Namespace [ SpinArrayType ] = func ( ** kwargs ) res = util . Namespace ( ** { key . rstrip ( \"new\" ): val for key , val in res . items ()}) return self . amplitudes_to_vector ( res )","title":"matvec"},{"location":"reference/eom/base/#ebcc.eom.base.BaseEE_EOM.matvec_intermediates","text":"Get the intermediates for application of the Hamiltonian to a vector. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. left ( bool , default: False ) \u2013 Whether to apply the left-hand side of the Hamiltonian. Returns: Namespace [ NDArray [ T ]] \u2013 Intermediate products. Source code in ebcc/eom/base.py 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 def matvec_intermediates ( self , eris : Optional [ ERIsInputType ] = None , left : bool = False ) -> Namespace [ NDArray [ T ]]: \"\"\"Get the intermediates for application of the Hamiltonian to a vector. Args: eris: Electronic repulsion integrals. left: Whether to apply the left-hand side of the Hamiltonian. Returns: Intermediate products. \"\"\" func , kwargs = self . ebcc . _load_function ( f \"hbar_ { 'l' if left else '' } matvec_ee_intermediates\" , eris = eris , amplitudes = self . ebcc . amplitudes , ) res : Namespace [ NDArray [ T ]] = util . Namespace ( ** func ( ** kwargs )) return res","title":"matvec_intermediates"},{"location":"reference/eom/geom/","text":"Generalised equation-of-motion coupled cluster. ebcc . eom . geom . GEOM ( ebcc , options = None , ** kwargs ) Bases: BaseEOM Generalised equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" ) ebcc . eom . geom . IP_GEOM ( ebcc , options = None , ** kwargs ) Bases: GEOM , BaseIP_EOM Generalised ionisation potential equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" ) ebcc . eom . geom . IP_GEOM . diag ( eris = None ) Get the diagonal of the Hamiltonian. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. Returns: NDArray [ T ] \u2013 Diagonal of the Hamiltonian. Source code in ebcc/eom/geom.py 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 def diag ( self , eris : Optional [ ERIsInputType ] = None ) -> NDArray [ T ]: \"\"\"Get the diagonal of the Hamiltonian. Args: eris: Electronic repulsion integrals. Returns: Diagonal of the Hamiltonian. \"\"\" parts : Namespace [ SpinArrayType ] = util . Namespace () for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): parts [ name ] = self . ebcc . energy_sum ( key ) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented return self . amplitudes_to_vector ( parts ) ebcc . eom . geom . IP_GEOM . amplitudes_to_vector ( amplitudes ) Construct a vector containing all of the IP-EOM amplitudes. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 IP-EOM amplitudes. Returns: NDArray [ T ] \u2013 IP-EOM amplitudes as a vector. Source code in ebcc/eom/geom.py 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the IP-EOM amplitudes. Args: amplitudes: IP-EOM amplitudes. Returns: IP-EOM amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): vectors . append ( np . ravel ( util . compress_axes ( key , amplitudes [ name ]))) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented return np . concatenate ( vectors ) ebcc . eom . geom . IP_GEOM . vector_to_amplitudes ( vector ) Construct a namespace of IP-EOM amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 IP-EOM amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 IP-EOM amplitudes. Source code in ebcc/eom/geom.py 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of IP-EOM amplitudes from a vector. Args: vector: IP-EOM amplitudes as a vector. Returns: IP-EOM amplitudes. \"\"\" amplitudes : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): size = util . get_compressed_size ( key , ** { k : self . space . size ( k ) for k in set ( key )}) shape = tuple ( self . space . size ( k ) for k in key ) vn_tril = vector [ i0 : i0 + size ] vn = util . decompress_axes ( key , vn_tril , shape = shape ) amplitudes [ name ] = vn i0 += size for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented return amplitudes ebcc . eom . geom . EA_GEOM ( ebcc , options = None , ** kwargs ) Bases: GEOM , BaseEA_EOM Generalised electron affinity equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" ) ebcc . eom . geom . EA_GEOM . diag ( eris = None ) Get the diagonal of the Hamiltonian. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. Returns: NDArray [ T ] \u2013 Diagonal of the Hamiltonian. Source code in ebcc/eom/geom.py 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 def diag ( self , eris : Optional [ ERIsInputType ] = None ) -> NDArray [ T ]: \"\"\"Get the diagonal of the Hamiltonian. Args: eris: Electronic repulsion integrals. Returns: Diagonal of the Hamiltonian. \"\"\" parts : Namespace [ SpinArrayType ] = util . Namespace () for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): parts [ name ] = - self . ebcc . energy_sum ( key ) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented return self . amplitudes_to_vector ( parts ) ebcc . eom . geom . EA_GEOM . amplitudes_to_vector ( amplitudes ) Construct a vector containing all of the EA-EOM amplitudes. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 EA-EOM amplitudes. Returns: NDArray [ T ] \u2013 EA-EOM amplitudes as a vector. Source code in ebcc/eom/geom.py 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the EA-EOM amplitudes. Args: amplitudes: EA-EOM amplitudes. Returns: EA-EOM amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): vectors . append ( np . ravel ( util . compress_axes ( key , amplitudes [ name ]))) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented return np . concatenate ( vectors ) ebcc . eom . geom . EA_GEOM . vector_to_amplitudes ( vector ) Construct a namespace of EA-EOM amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 EA-EOM amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 EA-EOM amplitudes. Source code in ebcc/eom/geom.py 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of EA-EOM amplitudes from a vector. Args: vector: EA-EOM amplitudes as a vector. Returns: EA-EOM amplitudes. \"\"\" amplitudes : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): size = util . get_compressed_size ( key , ** { k : self . space . size ( k ) for k in set ( key )}) shape = tuple ( self . space . size ( k ) for k in key ) vn_tril = vector [ i0 : i0 + size ] vn = util . decompress_axes ( key , vn_tril , shape = shape ) amplitudes [ name ] = vn i0 += size for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented return amplitudes ebcc . eom . geom . EE_GEOM ( ebcc , options = None , ** kwargs ) Bases: GEOM , BaseEE_EOM Generalised electron-electron equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" ) ebcc . eom . geom . EE_GEOM . diag ( eris = None ) Get the diagonal of the Hamiltonian. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. Returns: NDArray [ T ] \u2013 Diagonal of the Hamiltonian. Source code in ebcc/eom/geom.py 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 def diag ( self , eris : Optional [ ERIsInputType ] = None ) -> NDArray [ T ]: \"\"\"Get the diagonal of the Hamiltonian. Args: eris: Electronic repulsion integrals. Returns: Diagonal of the Hamiltonian. \"\"\" parts : Namespace [ SpinArrayType ] = util . Namespace () for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): parts [ name ] = - self . ebcc . energy_sum ( key ) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented return self . amplitudes_to_vector ( parts ) ebcc . eom . geom . EE_GEOM . amplitudes_to_vector ( amplitudes ) Construct a vector containing all of the EE-EOM amplitudes. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 EE-EOM amplitudes. Returns: NDArray [ T ] \u2013 EE-EOM amplitudes as a vector. Source code in ebcc/eom/geom.py 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the EE-EOM amplitudes. Args: amplitudes: EE-EOM amplitudes. Returns: EE-EOM amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): vectors . append ( np . ravel ( util . compress_axes ( key , amplitudes [ name ]))) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented return np . concatenate ( vectors ) ebcc . eom . geom . EE_GEOM . vector_to_amplitudes ( vector ) Construct a namespace of EE-EOM amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 EE-EOM amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 EE-EOM amplitudes. Source code in ebcc/eom/geom.py 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of EE-EOM amplitudes from a vector. Args: vector: EE-EOM amplitudes as a vector. Returns: EE-EOM amplitudes. \"\"\" amplitudes : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): size = util . get_compressed_size ( key , ** { k : self . space . size ( k ) for k in set ( key )}) shape = tuple ( self . space . size ( k ) for k in key ) vn_tril = vector [ i0 : i0 + size ] vn = util . decompress_axes ( key , vn_tril , shape = shape ) amplitudes [ name ] = vn i0 += size for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented return amplitudes","title":"Generalised"},{"location":"reference/eom/geom/#ebcc.eom.geom.GEOM","text":"Bases: BaseEOM Generalised equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" )","title":"GEOM"},{"location":"reference/eom/geom/#ebcc.eom.geom.IP_GEOM","text":"Bases: GEOM , BaseIP_EOM Generalised ionisation potential equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" )","title":"IP_GEOM"},{"location":"reference/eom/geom/#ebcc.eom.geom.IP_GEOM.diag","text":"Get the diagonal of the Hamiltonian. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. Returns: NDArray [ T ] \u2013 Diagonal of the Hamiltonian. Source code in ebcc/eom/geom.py 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 def diag ( self , eris : Optional [ ERIsInputType ] = None ) -> NDArray [ T ]: \"\"\"Get the diagonal of the Hamiltonian. Args: eris: Electronic repulsion integrals. Returns: Diagonal of the Hamiltonian. \"\"\" parts : Namespace [ SpinArrayType ] = util . Namespace () for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): parts [ name ] = self . ebcc . energy_sum ( key ) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented return self . amplitudes_to_vector ( parts )","title":"diag"},{"location":"reference/eom/geom/#ebcc.eom.geom.IP_GEOM.amplitudes_to_vector","text":"Construct a vector containing all of the IP-EOM amplitudes. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 IP-EOM amplitudes. Returns: NDArray [ T ] \u2013 IP-EOM amplitudes as a vector. Source code in ebcc/eom/geom.py 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the IP-EOM amplitudes. Args: amplitudes: IP-EOM amplitudes. Returns: IP-EOM amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): vectors . append ( np . ravel ( util . compress_axes ( key , amplitudes [ name ]))) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented return np . concatenate ( vectors )","title":"amplitudes_to_vector"},{"location":"reference/eom/geom/#ebcc.eom.geom.IP_GEOM.vector_to_amplitudes","text":"Construct a namespace of IP-EOM amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 IP-EOM amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 IP-EOM amplitudes. Source code in ebcc/eom/geom.py 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of IP-EOM amplitudes from a vector. Args: vector: IP-EOM amplitudes as a vector. Returns: IP-EOM amplitudes. \"\"\" amplitudes : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): size = util . get_compressed_size ( key , ** { k : self . space . size ( k ) for k in set ( key )}) shape = tuple ( self . space . size ( k ) for k in key ) vn_tril = vector [ i0 : i0 + size ] vn = util . decompress_axes ( key , vn_tril , shape = shape ) amplitudes [ name ] = vn i0 += size for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented return amplitudes","title":"vector_to_amplitudes"},{"location":"reference/eom/geom/#ebcc.eom.geom.EA_GEOM","text":"Bases: GEOM , BaseEA_EOM Generalised electron affinity equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" )","title":"EA_GEOM"},{"location":"reference/eom/geom/#ebcc.eom.geom.EA_GEOM.diag","text":"Get the diagonal of the Hamiltonian. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. Returns: NDArray [ T ] \u2013 Diagonal of the Hamiltonian. Source code in ebcc/eom/geom.py 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 def diag ( self , eris : Optional [ ERIsInputType ] = None ) -> NDArray [ T ]: \"\"\"Get the diagonal of the Hamiltonian. Args: eris: Electronic repulsion integrals. Returns: Diagonal of the Hamiltonian. \"\"\" parts : Namespace [ SpinArrayType ] = util . Namespace () for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): parts [ name ] = - self . ebcc . energy_sum ( key ) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented return self . amplitudes_to_vector ( parts )","title":"diag"},{"location":"reference/eom/geom/#ebcc.eom.geom.EA_GEOM.amplitudes_to_vector","text":"Construct a vector containing all of the EA-EOM amplitudes. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 EA-EOM amplitudes. Returns: NDArray [ T ] \u2013 EA-EOM amplitudes as a vector. Source code in ebcc/eom/geom.py 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the EA-EOM amplitudes. Args: amplitudes: EA-EOM amplitudes. Returns: EA-EOM amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): vectors . append ( np . ravel ( util . compress_axes ( key , amplitudes [ name ]))) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented return np . concatenate ( vectors )","title":"amplitudes_to_vector"},{"location":"reference/eom/geom/#ebcc.eom.geom.EA_GEOM.vector_to_amplitudes","text":"Construct a namespace of EA-EOM amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 EA-EOM amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 EA-EOM amplitudes. Source code in ebcc/eom/geom.py 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of EA-EOM amplitudes from a vector. Args: vector: EA-EOM amplitudes as a vector. Returns: EA-EOM amplitudes. \"\"\" amplitudes : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): size = util . get_compressed_size ( key , ** { k : self . space . size ( k ) for k in set ( key )}) shape = tuple ( self . space . size ( k ) for k in key ) vn_tril = vector [ i0 : i0 + size ] vn = util . decompress_axes ( key , vn_tril , shape = shape ) amplitudes [ name ] = vn i0 += size for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented return amplitudes","title":"vector_to_amplitudes"},{"location":"reference/eom/geom/#ebcc.eom.geom.EE_GEOM","text":"Bases: GEOM , BaseEE_EOM Generalised electron-electron equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" )","title":"EE_GEOM"},{"location":"reference/eom/geom/#ebcc.eom.geom.EE_GEOM.diag","text":"Get the diagonal of the Hamiltonian. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. Returns: NDArray [ T ] \u2013 Diagonal of the Hamiltonian. Source code in ebcc/eom/geom.py 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 def diag ( self , eris : Optional [ ERIsInputType ] = None ) -> NDArray [ T ]: \"\"\"Get the diagonal of the Hamiltonian. Args: eris: Electronic repulsion integrals. Returns: Diagonal of the Hamiltonian. \"\"\" parts : Namespace [ SpinArrayType ] = util . Namespace () for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): parts [ name ] = - self . ebcc . energy_sum ( key ) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented return self . amplitudes_to_vector ( parts )","title":"diag"},{"location":"reference/eom/geom/#ebcc.eom.geom.EE_GEOM.amplitudes_to_vector","text":"Construct a vector containing all of the EE-EOM amplitudes. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 EE-EOM amplitudes. Returns: NDArray [ T ] \u2013 EE-EOM amplitudes as a vector. Source code in ebcc/eom/geom.py 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the EE-EOM amplitudes. Args: amplitudes: EE-EOM amplitudes. Returns: EE-EOM amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): vectors . append ( np . ravel ( util . compress_axes ( key , amplitudes [ name ]))) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented return np . concatenate ( vectors )","title":"amplitudes_to_vector"},{"location":"reference/eom/geom/#ebcc.eom.geom.EE_GEOM.vector_to_amplitudes","text":"Construct a namespace of EE-EOM amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 EE-EOM amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 EE-EOM amplitudes. Source code in ebcc/eom/geom.py 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of EE-EOM amplitudes from a vector. Args: vector: EE-EOM amplitudes as a vector. Returns: EE-EOM amplitudes. \"\"\" amplitudes : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): size = util . get_compressed_size ( key , ** { k : self . space . size ( k ) for k in set ( key )}) shape = tuple ( self . space . size ( k ) for k in key ) vn_tril = vector [ i0 : i0 + size ] vn = util . decompress_axes ( key , vn_tril , shape = shape ) amplitudes [ name ] = vn i0 += size for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented return amplitudes","title":"vector_to_amplitudes"},{"location":"reference/eom/reom/","text":"Restricted equation-of-motion coupled cluster. ebcc . eom . reom . REOM ( ebcc , options = None , ** kwargs ) Bases: BaseEOM Restricted equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" ) ebcc . eom . reom . IP_REOM ( ebcc , options = None , ** kwargs ) Bases: REOM , BaseIP_EOM Restricted ionisation potential equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" ) ebcc . eom . reom . IP_REOM . diag ( eris = None ) Get the diagonal of the Hamiltonian. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. Returns: NDArray [ T ] \u2013 Diagonal of the Hamiltonian. Source code in ebcc/eom/reom.py 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 def diag ( self , eris : Optional [ ERIsInputType ] = None ) -> NDArray [ T ]: \"\"\"Get the diagonal of the Hamiltonian. Args: eris: Electronic repulsion integrals. Returns: Diagonal of the Hamiltonian. \"\"\" parts : Namespace [ SpinArrayType ] = util . Namespace () for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): parts [ name ] = self . ebcc . energy_sum ( key ) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented return self . amplitudes_to_vector ( parts ) ebcc . eom . reom . IP_REOM . amplitudes_to_vector ( amplitudes ) Construct a vector containing all of the IP-EOM amplitudes. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 IP-EOM amplitudes. Returns: NDArray [ T ] \u2013 IP-EOM amplitudes as a vector. Source code in ebcc/eom/reom.py 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the IP-EOM amplitudes. Args: amplitudes: IP-EOM amplitudes. Returns: IP-EOM amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): vectors . append ( np . ravel ( amplitudes [ name ])) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented return np . concatenate ( vectors ) ebcc . eom . reom . IP_REOM . vector_to_amplitudes ( vector ) Construct a namespace of IP-EOM amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 IP-EOM amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 IP-EOM amplitudes. Source code in ebcc/eom/reom.py 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of IP-EOM amplitudes from a vector. Args: vector: IP-EOM amplitudes as a vector. Returns: IP-EOM amplitudes. \"\"\" amplitudes : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): shape = tuple ( self . space . size ( k ) for k in key ) size = util . prod ( shape ) amplitudes [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented return amplitudes ebcc . eom . reom . EA_REOM ( ebcc , options = None , ** kwargs ) Bases: REOM , BaseEA_EOM Restricted electron affinity equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" ) ebcc . eom . reom . EA_REOM . diag ( eris = None ) Get the diagonal of the Hamiltonian. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. Returns: NDArray [ T ] \u2013 Diagonal of the Hamiltonian. Source code in ebcc/eom/reom.py 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 def diag ( self , eris : Optional [ ERIsInputType ] = None ) -> NDArray [ T ]: \"\"\"Get the diagonal of the Hamiltonian. Args: eris: Electronic repulsion integrals. Returns: Diagonal of the Hamiltonian. \"\"\" parts : Namespace [ SpinArrayType ] = util . Namespace () for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): parts [ name ] = self . ebcc . energy_sum ( key ) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented return self . amplitudes_to_vector ( parts ) ebcc . eom . reom . EA_REOM . amplitudes_to_vector ( amplitudes ) Construct a vector containing all of the EA-EOM amplitudes. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 EA-EOM amplitudes. Returns: NDArray [ T ] \u2013 EA-EOM amplitudes as a vector. Source code in ebcc/eom/reom.py 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the EA-EOM amplitudes. Args: amplitudes: EA-EOM amplitudes. Returns: EA-EOM amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): vectors . append ( np . ravel ( amplitudes [ name ])) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented return np . concatenate ( vectors ) ebcc . eom . reom . EA_REOM . vector_to_amplitudes ( vector ) Construct a namespace of EA-EOM amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 EA-EOM amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 EA-EOM amplitudes. Source code in ebcc/eom/reom.py 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of EA-EOM amplitudes from a vector. Args: vector: EA-EOM amplitudes as a vector. Returns: EA-EOM amplitudes. \"\"\" amplitudes : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): shape = tuple ( self . space . size ( k ) for k in key ) size = util . prod ( shape ) amplitudes [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented return amplitudes ebcc . eom . reom . EE_REOM ( ebcc , options = None , ** kwargs ) Bases: REOM , BaseEE_EOM Restricted electron-electron equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" ) ebcc . eom . reom . EE_REOM . diag ( eris = None ) Get the diagonal of the Hamiltonian. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. Returns: NDArray [ T ] \u2013 Diagonal of the Hamiltonian. Source code in ebcc/eom/reom.py 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 def diag ( self , eris : Optional [ ERIsInputType ] = None ) -> NDArray [ T ]: \"\"\"Get the diagonal of the Hamiltonian. Args: eris: Electronic repulsion integrals. Returns: Diagonal of the Hamiltonian. \"\"\" parts : Namespace [ SpinArrayType ] = util . Namespace () for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): parts [ name ] = - self . ebcc . energy_sum ( key ) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented return self . amplitudes_to_vector ( parts ) ebcc . eom . reom . EE_REOM . amplitudes_to_vector ( amplitudes ) Construct a vector containing all of the EE-EOM amplitudes. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 EE-EOM amplitudes. Returns: NDArray [ T ] \u2013 EE-EOM amplitudes as a vector. Source code in ebcc/eom/reom.py 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the EE-EOM amplitudes. Args: amplitudes: EE-EOM amplitudes. Returns: EE-EOM amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): vectors . append ( np . ravel ( amplitudes [ name ])) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented return np . concatenate ( vectors ) ebcc . eom . reom . EE_REOM . vector_to_amplitudes ( vector ) Construct a namespace of EE-EOM amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 EE-EOM amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 EE-EOM amplitudes. Source code in ebcc/eom/reom.py 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of EE-EOM amplitudes from a vector. Args: vector: EE-EOM amplitudes as a vector. Returns: EE-EOM amplitudes. \"\"\" amplitudes : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): shape = tuple ( self . space . size ( k ) for k in key ) size = util . prod ( shape ) amplitudes [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented return amplitudes","title":"Restricted"},{"location":"reference/eom/reom/#ebcc.eom.reom.REOM","text":"Bases: BaseEOM Restricted equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" )","title":"REOM"},{"location":"reference/eom/reom/#ebcc.eom.reom.IP_REOM","text":"Bases: REOM , BaseIP_EOM Restricted ionisation potential equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" )","title":"IP_REOM"},{"location":"reference/eom/reom/#ebcc.eom.reom.IP_REOM.diag","text":"Get the diagonal of the Hamiltonian. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. Returns: NDArray [ T ] \u2013 Diagonal of the Hamiltonian. Source code in ebcc/eom/reom.py 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 def diag ( self , eris : Optional [ ERIsInputType ] = None ) -> NDArray [ T ]: \"\"\"Get the diagonal of the Hamiltonian. Args: eris: Electronic repulsion integrals. Returns: Diagonal of the Hamiltonian. \"\"\" parts : Namespace [ SpinArrayType ] = util . Namespace () for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): parts [ name ] = self . ebcc . energy_sum ( key ) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented return self . amplitudes_to_vector ( parts )","title":"diag"},{"location":"reference/eom/reom/#ebcc.eom.reom.IP_REOM.amplitudes_to_vector","text":"Construct a vector containing all of the IP-EOM amplitudes. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 IP-EOM amplitudes. Returns: NDArray [ T ] \u2013 IP-EOM amplitudes as a vector. Source code in ebcc/eom/reom.py 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the IP-EOM amplitudes. Args: amplitudes: IP-EOM amplitudes. Returns: IP-EOM amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): vectors . append ( np . ravel ( amplitudes [ name ])) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented return np . concatenate ( vectors )","title":"amplitudes_to_vector"},{"location":"reference/eom/reom/#ebcc.eom.reom.IP_REOM.vector_to_amplitudes","text":"Construct a namespace of IP-EOM amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 IP-EOM amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 IP-EOM amplitudes. Source code in ebcc/eom/reom.py 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of IP-EOM amplitudes from a vector. Args: vector: IP-EOM amplitudes as a vector. Returns: IP-EOM amplitudes. \"\"\" amplitudes : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): shape = tuple ( self . space . size ( k ) for k in key ) size = util . prod ( shape ) amplitudes [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented return amplitudes","title":"vector_to_amplitudes"},{"location":"reference/eom/reom/#ebcc.eom.reom.EA_REOM","text":"Bases: REOM , BaseEA_EOM Restricted electron affinity equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" )","title":"EA_REOM"},{"location":"reference/eom/reom/#ebcc.eom.reom.EA_REOM.diag","text":"Get the diagonal of the Hamiltonian. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. Returns: NDArray [ T ] \u2013 Diagonal of the Hamiltonian. Source code in ebcc/eom/reom.py 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 def diag ( self , eris : Optional [ ERIsInputType ] = None ) -> NDArray [ T ]: \"\"\"Get the diagonal of the Hamiltonian. Args: eris: Electronic repulsion integrals. Returns: Diagonal of the Hamiltonian. \"\"\" parts : Namespace [ SpinArrayType ] = util . Namespace () for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): parts [ name ] = self . ebcc . energy_sum ( key ) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented return self . amplitudes_to_vector ( parts )","title":"diag"},{"location":"reference/eom/reom/#ebcc.eom.reom.EA_REOM.amplitudes_to_vector","text":"Construct a vector containing all of the EA-EOM amplitudes. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 EA-EOM amplitudes. Returns: NDArray [ T ] \u2013 EA-EOM amplitudes as a vector. Source code in ebcc/eom/reom.py 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the EA-EOM amplitudes. Args: amplitudes: EA-EOM amplitudes. Returns: EA-EOM amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): vectors . append ( np . ravel ( amplitudes [ name ])) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented return np . concatenate ( vectors )","title":"amplitudes_to_vector"},{"location":"reference/eom/reom/#ebcc.eom.reom.EA_REOM.vector_to_amplitudes","text":"Construct a namespace of EA-EOM amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 EA-EOM amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 EA-EOM amplitudes. Source code in ebcc/eom/reom.py 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of EA-EOM amplitudes from a vector. Args: vector: EA-EOM amplitudes as a vector. Returns: EA-EOM amplitudes. \"\"\" amplitudes : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): shape = tuple ( self . space . size ( k ) for k in key ) size = util . prod ( shape ) amplitudes [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented return amplitudes","title":"vector_to_amplitudes"},{"location":"reference/eom/reom/#ebcc.eom.reom.EE_REOM","text":"Bases: REOM , BaseEE_EOM Restricted electron-electron equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" )","title":"EE_REOM"},{"location":"reference/eom/reom/#ebcc.eom.reom.EE_REOM.diag","text":"Get the diagonal of the Hamiltonian. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. Returns: NDArray [ T ] \u2013 Diagonal of the Hamiltonian. Source code in ebcc/eom/reom.py 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 def diag ( self , eris : Optional [ ERIsInputType ] = None ) -> NDArray [ T ]: \"\"\"Get the diagonal of the Hamiltonian. Args: eris: Electronic repulsion integrals. Returns: Diagonal of the Hamiltonian. \"\"\" parts : Namespace [ SpinArrayType ] = util . Namespace () for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): parts [ name ] = - self . ebcc . energy_sum ( key ) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented return self . amplitudes_to_vector ( parts )","title":"diag"},{"location":"reference/eom/reom/#ebcc.eom.reom.EE_REOM.amplitudes_to_vector","text":"Construct a vector containing all of the EE-EOM amplitudes. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 EE-EOM amplitudes. Returns: NDArray [ T ] \u2013 EE-EOM amplitudes as a vector. Source code in ebcc/eom/reom.py 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the EE-EOM amplitudes. Args: amplitudes: EE-EOM amplitudes. Returns: EE-EOM amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): vectors . append ( np . ravel ( amplitudes [ name ])) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented return np . concatenate ( vectors )","title":"amplitudes_to_vector"},{"location":"reference/eom/reom/#ebcc.eom.reom.EE_REOM.vector_to_amplitudes","text":"Construct a namespace of EE-EOM amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 EE-EOM amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 EE-EOM amplitudes. Source code in ebcc/eom/reom.py 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of EE-EOM amplitudes from a vector. Args: vector: EE-EOM amplitudes as a vector. Returns: EE-EOM amplitudes. \"\"\" amplitudes : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): shape = tuple ( self . space . size ( k ) for k in key ) size = util . prod ( shape ) amplitudes [ name ] = np . reshape ( vector [ i0 : i0 + size ], shape ) i0 += size for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented return amplitudes","title":"vector_to_amplitudes"},{"location":"reference/eom/ueom/","text":"Unrestricted equation-of-motion coupled cluster. ebcc . eom . ueom . UEOM ( ebcc , options = None , ** kwargs ) Bases: BaseEOM Unrestricted equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" ) ebcc . eom . ueom . IP_UEOM ( ebcc , options = None , ** kwargs ) Bases: UEOM , BaseIP_EOM Unrestricted ionisation potential equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" ) ebcc . eom . ueom . IP_UEOM . diag ( eris = None ) Get the diagonal of the Hamiltonian. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. Returns: NDArray [ T ] \u2013 Diagonal of the Hamiltonian. Source code in ebcc/eom/ueom.py 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 def diag ( self , eris : Optional [ ERIsInputType ] = None ) -> NDArray [ T ]: \"\"\"Get the diagonal of the Hamiltonian. Args: eris: Electronic repulsion integrals. Returns: Diagonal of the Hamiltonian. \"\"\" parts : Namespace [ SpinArrayType ] = util . Namespace () for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): spin_part : SpinArrayType = util . Namespace () for comb in util . generate_spin_combinations ( n , excited = True ): spin_part [ comb ] = self . ebcc . energy_sum ( key , comb ) parts [ name ] = spin_part for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented return self . amplitudes_to_vector ( parts ) ebcc . eom . ueom . IP_UEOM . amplitudes_to_vector ( amplitudes ) Construct a vector containing all of the IP-EOM amplitudes. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 IP-EOM amplitudes. Returns: NDArray [ T ] \u2013 IP-EOM amplitudes as a vector. Source code in ebcc/eom/ueom.py 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the IP-EOM amplitudes. Args: amplitudes: IP-EOM amplitudes. Returns: IP-EOM amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): for spin in util . generate_spin_combinations ( n , excited = True , unique = True ): vn = amplitudes [ name ][ spin ] subscript , _ = util . combine_subscripts ( key , spin ) vectors . append ( np . ravel ( util . compress_axes ( subscript , vn ))) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented return np . concatenate ( vectors ) ebcc . eom . ueom . IP_UEOM . vector_to_amplitudes ( vector ) Construct a namespace of IP-EOM amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 IP-EOM amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 IP-EOM amplitudes. Source code in ebcc/eom/ueom.py 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of IP-EOM amplitudes from a vector. Args: vector: IP-EOM amplitudes as a vector. Returns: IP-EOM amplitudes. \"\"\" amplitudes : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 sizes : dict [ tuple [ str , ... ], int ] = { ( o , s ): self . space [ i ] . size ( o ) for o in \"ovOVia\" for i , s in enumerate ( \"ab\" ) } for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): amp : SpinArrayType = util . Namespace () for spin in util . generate_spin_combinations ( n , excited = True , unique = True ): subscript , csizes = util . combine_subscripts ( key , spin , sizes = sizes ) size = util . get_compressed_size ( subscript , ** csizes ) shape = tuple ( self . space [ \"ab\" . index ( s )] . size ( k ) for s , k in zip ( spin , key )) vn_tril = vector [ i0 : i0 + size ] factor = max ( spin [: n ] . count ( s ) for s in set ( spin [: n ]) ) # FIXME why? untested for n > 2 vn = util . decompress_axes ( subscript , vn_tril , shape = shape ) / factor amp [ spin ] = vn i0 += size amplitudes [ name ] = amp for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented assert i0 == len ( vector ) return amplitudes ebcc . eom . ueom . EA_UEOM ( ebcc , options = None , ** kwargs ) Bases: UEOM , BaseEA_EOM Unrestricted electron affinity equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" ) ebcc . eom . ueom . EA_UEOM . diag ( eris = None ) Get the diagonal of the Hamiltonian. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. Returns: NDArray [ T ] \u2013 Diagonal of the Hamiltonian. Source code in ebcc/eom/ueom.py 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 def diag ( self , eris : Optional [ ERIsInputType ] = None ) -> NDArray [ T ]: \"\"\"Get the diagonal of the Hamiltonian. Args: eris: Electronic repulsion integrals. Returns: Diagonal of the Hamiltonian. \"\"\" parts : Namespace [ SpinArrayType ] = util . Namespace () for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): spin_part : SpinArrayType = util . Namespace () for comb in util . generate_spin_combinations ( n , excited = True ): spin_part [ comb ] = - self . ebcc . energy_sum ( key , comb ) parts [ name ] = spin_part for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented return self . amplitudes_to_vector ( parts ) ebcc . eom . ueom . EA_UEOM . amplitudes_to_vector ( amplitudes ) Construct a vector containing all of the EA-EOM amplitudes. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 EA-EOM amplitudes. Returns: NDArray [ T ] \u2013 EA-EOM amplitudes as a vector. Source code in ebcc/eom/ueom.py 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the EA-EOM amplitudes. Args: amplitudes: EA-EOM amplitudes. Returns: EA-EOM amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): for spin in util . generate_spin_combinations ( n , excited = True , unique = True ): vn = amplitudes [ name ][ spin ] subscript , _ = util . combine_subscripts ( key , spin ) vectors . append ( np . ravel ( util . compress_axes ( subscript , vn ))) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented return np . concatenate ( vectors ) ebcc . eom . ueom . EA_UEOM . vector_to_amplitudes ( vector ) Construct a namespace of EA-EOM amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 EA-EOM amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 EA-EOM amplitudes. Source code in ebcc/eom/ueom.py 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of EA-EOM amplitudes from a vector. Args: vector: EA-EOM amplitudes as a vector. Returns: EA-EOM amplitudes. \"\"\" amplitudes : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 sizes : dict [ tuple [ str , ... ], int ] = { ( o , s ): self . space [ i ] . size ( o ) for o in \"ovOVia\" for i , s in enumerate ( \"ab\" ) } for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): amp : SpinArrayType = util . Namespace () for spin in util . generate_spin_combinations ( n , excited = True , unique = True ): subscript , csizes = util . combine_subscripts ( key , spin , sizes = sizes ) size = util . get_compressed_size ( subscript , ** csizes ) shape = tuple ( self . space [ \"ab\" . index ( s )] . size ( k ) for s , k in zip ( spin , key )) vn_tril = vector [ i0 : i0 + size ] factor = max ( spin [: n ] . count ( s ) for s in set ( spin [: n ]) ) # FIXME why? untested for n > 2 vn = util . decompress_axes ( subscript , vn_tril , shape = shape ) / factor amp [ spin ] = vn i0 += size amplitudes [ name ] = amp for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented assert i0 == len ( vector ) return amplitudes ebcc . eom . ueom . EE_UEOM ( ebcc , options = None , ** kwargs ) Bases: UEOM , BaseEE_EOM Unrestricted electron-electron equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" ) ebcc . eom . ueom . EE_UEOM . diag ( eris = None ) Get the diagonal of the Hamiltonian. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. Returns: NDArray [ T ] \u2013 Diagonal of the Hamiltonian. Source code in ebcc/eom/ueom.py 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 def diag ( self , eris : Optional [ ERIsInputType ] = None ) -> NDArray [ T ]: \"\"\"Get the diagonal of the Hamiltonian. Args: eris: Electronic repulsion integrals. Returns: Diagonal of the Hamiltonian. \"\"\" parts : Namespace [ SpinArrayType ] = util . Namespace () for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): spin_part : SpinArrayType = util . Namespace () for comb in util . generate_spin_combinations ( n , unique = True ): spin_part [ comb ] = self . ebcc . energy_sum ( key , comb ) parts [ name ] = spin_part for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented return self . amplitudes_to_vector ( parts ) ebcc . eom . ueom . EE_UEOM . amplitudes_to_vector ( amplitudes ) Construct a vector containing all of the EE-EOM amplitudes. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 EE-EOM amplitudes. Returns: NDArray [ T ] \u2013 EE-EOM amplitudes as a vector. Source code in ebcc/eom/ueom.py 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the EE-EOM amplitudes. Args: amplitudes: EE-EOM amplitudes. Returns: EE-EOM amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): for spin in util . generate_spin_combinations ( n , unique = True ): vn = amplitudes [ name ][ spin ] subscript , _ = util . combine_subscripts ( key , spin ) vectors . append ( np . ravel ( util . compress_axes ( subscript , vn ))) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented return np . concatenate ( vectors ) ebcc . eom . ueom . EE_UEOM . vector_to_amplitudes ( vector ) Construct a namespace of EE-EOM amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 EE-EOM amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 EE-EOM amplitudes. Source code in ebcc/eom/ueom.py 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of EE-EOM amplitudes from a vector. Args: vector: EE-EOM amplitudes as a vector. Returns: EE-EOM amplitudes. \"\"\" amplitudes : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 sizes : dict [ tuple [ str , ... ], int ] = { ( o , s ): self . space [ i ] . size ( o ) for o in \"ovOVia\" for i , s in enumerate ( \"ab\" ) } for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): amp : SpinArrayType = util . Namespace () for spin in util . generate_spin_combinations ( n , unique = True ): subscript , csizes = util . combine_subscripts ( key , spin , sizes = sizes ) size = util . get_compressed_size ( subscript , ** csizes ) shape = tuple ( self . space [ \"ab\" . index ( s )] . size ( k ) for s , k in zip ( spin , key )) vn_tril = vector [ i0 : i0 + size ] factor = max ( spin [: n ] . count ( s ) for s in set ( spin [: n ]) ) # FIXME why? untested for n > 2 vn = util . decompress_axes ( subscript , vn_tril , shape = shape ) / factor amp [ spin ] = vn i0 += size amplitudes [ name ] = amp for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented assert i0 == len ( vector ) return amplitudes","title":"Unrestricted"},{"location":"reference/eom/ueom/#ebcc.eom.ueom.UEOM","text":"Bases: BaseEOM Unrestricted equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" )","title":"UEOM"},{"location":"reference/eom/ueom/#ebcc.eom.ueom.IP_UEOM","text":"Bases: UEOM , BaseIP_EOM Unrestricted ionisation potential equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" )","title":"IP_UEOM"},{"location":"reference/eom/ueom/#ebcc.eom.ueom.IP_UEOM.diag","text":"Get the diagonal of the Hamiltonian. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. Returns: NDArray [ T ] \u2013 Diagonal of the Hamiltonian. Source code in ebcc/eom/ueom.py 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 def diag ( self , eris : Optional [ ERIsInputType ] = None ) -> NDArray [ T ]: \"\"\"Get the diagonal of the Hamiltonian. Args: eris: Electronic repulsion integrals. Returns: Diagonal of the Hamiltonian. \"\"\" parts : Namespace [ SpinArrayType ] = util . Namespace () for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): spin_part : SpinArrayType = util . Namespace () for comb in util . generate_spin_combinations ( n , excited = True ): spin_part [ comb ] = self . ebcc . energy_sum ( key , comb ) parts [ name ] = spin_part for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented return self . amplitudes_to_vector ( parts )","title":"diag"},{"location":"reference/eom/ueom/#ebcc.eom.ueom.IP_UEOM.amplitudes_to_vector","text":"Construct a vector containing all of the IP-EOM amplitudes. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 IP-EOM amplitudes. Returns: NDArray [ T ] \u2013 IP-EOM amplitudes as a vector. Source code in ebcc/eom/ueom.py 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the IP-EOM amplitudes. Args: amplitudes: IP-EOM amplitudes. Returns: IP-EOM amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): for spin in util . generate_spin_combinations ( n , excited = True , unique = True ): vn = amplitudes [ name ][ spin ] subscript , _ = util . combine_subscripts ( key , spin ) vectors . append ( np . ravel ( util . compress_axes ( subscript , vn ))) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented return np . concatenate ( vectors )","title":"amplitudes_to_vector"},{"location":"reference/eom/ueom/#ebcc.eom.ueom.IP_UEOM.vector_to_amplitudes","text":"Construct a namespace of IP-EOM amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 IP-EOM amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 IP-EOM amplitudes. Source code in ebcc/eom/ueom.py 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of IP-EOM amplitudes from a vector. Args: vector: IP-EOM amplitudes as a vector. Returns: IP-EOM amplitudes. \"\"\" amplitudes : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 sizes : dict [ tuple [ str , ... ], int ] = { ( o , s ): self . space [ i ] . size ( o ) for o in \"ovOVia\" for i , s in enumerate ( \"ab\" ) } for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): amp : SpinArrayType = util . Namespace () for spin in util . generate_spin_combinations ( n , excited = True , unique = True ): subscript , csizes = util . combine_subscripts ( key , spin , sizes = sizes ) size = util . get_compressed_size ( subscript , ** csizes ) shape = tuple ( self . space [ \"ab\" . index ( s )] . size ( k ) for s , k in zip ( spin , key )) vn_tril = vector [ i0 : i0 + size ] factor = max ( spin [: n ] . count ( s ) for s in set ( spin [: n ]) ) # FIXME why? untested for n > 2 vn = util . decompress_axes ( subscript , vn_tril , shape = shape ) / factor amp [ spin ] = vn i0 += size amplitudes [ name ] = amp for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ip\" ): raise util . ModelNotImplemented assert i0 == len ( vector ) return amplitudes","title":"vector_to_amplitudes"},{"location":"reference/eom/ueom/#ebcc.eom.ueom.EA_UEOM","text":"Bases: UEOM , BaseEA_EOM Unrestricted electron affinity equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" )","title":"EA_UEOM"},{"location":"reference/eom/ueom/#ebcc.eom.ueom.EA_UEOM.diag","text":"Get the diagonal of the Hamiltonian. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. Returns: NDArray [ T ] \u2013 Diagonal of the Hamiltonian. Source code in ebcc/eom/ueom.py 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 def diag ( self , eris : Optional [ ERIsInputType ] = None ) -> NDArray [ T ]: \"\"\"Get the diagonal of the Hamiltonian. Args: eris: Electronic repulsion integrals. Returns: Diagonal of the Hamiltonian. \"\"\" parts : Namespace [ SpinArrayType ] = util . Namespace () for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): spin_part : SpinArrayType = util . Namespace () for comb in util . generate_spin_combinations ( n , excited = True ): spin_part [ comb ] = - self . ebcc . energy_sum ( key , comb ) parts [ name ] = spin_part for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented return self . amplitudes_to_vector ( parts )","title":"diag"},{"location":"reference/eom/ueom/#ebcc.eom.ueom.EA_UEOM.amplitudes_to_vector","text":"Construct a vector containing all of the EA-EOM amplitudes. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 EA-EOM amplitudes. Returns: NDArray [ T ] \u2013 EA-EOM amplitudes as a vector. Source code in ebcc/eom/ueom.py 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the EA-EOM amplitudes. Args: amplitudes: EA-EOM amplitudes. Returns: EA-EOM amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): for spin in util . generate_spin_combinations ( n , excited = True , unique = True ): vn = amplitudes [ name ][ spin ] subscript , _ = util . combine_subscripts ( key , spin ) vectors . append ( np . ravel ( util . compress_axes ( subscript , vn ))) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented return np . concatenate ( vectors )","title":"amplitudes_to_vector"},{"location":"reference/eom/ueom/#ebcc.eom.ueom.EA_UEOM.vector_to_amplitudes","text":"Construct a namespace of EA-EOM amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 EA-EOM amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 EA-EOM amplitudes. Source code in ebcc/eom/ueom.py 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of EA-EOM amplitudes from a vector. Args: vector: EA-EOM amplitudes as a vector. Returns: EA-EOM amplitudes. \"\"\" amplitudes : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 sizes : dict [ tuple [ str , ... ], int ] = { ( o , s ): self . space [ i ] . size ( o ) for o in \"ovOVia\" for i , s in enumerate ( \"ab\" ) } for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): amp : SpinArrayType = util . Namespace () for spin in util . generate_spin_combinations ( n , excited = True , unique = True ): subscript , csizes = util . combine_subscripts ( key , spin , sizes = sizes ) size = util . get_compressed_size ( subscript , ** csizes ) shape = tuple ( self . space [ \"ab\" . index ( s )] . size ( k ) for s , k in zip ( spin , key )) vn_tril = vector [ i0 : i0 + size ] factor = max ( spin [: n ] . count ( s ) for s in set ( spin [: n ]) ) # FIXME why? untested for n > 2 vn = util . decompress_axes ( subscript , vn_tril , shape = shape ) / factor amp [ spin ] = vn i0 += size amplitudes [ name ] = amp for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ea\" ): raise util . ModelNotImplemented assert i0 == len ( vector ) return amplitudes","title":"vector_to_amplitudes"},{"location":"reference/eom/ueom/#ebcc.eom.ueom.EE_UEOM","text":"Bases: UEOM , BaseEE_EOM Unrestricted electron-electron equation-of-motion coupled cluster. Initialise the EOM object. Parameters: ebcc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/eom/base.py 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __init__ ( self , ebcc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : \"\"\"Initialise the EOM object. Args: ebcc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . ebcc = ebcc self . space = ebcc . space self . ansatz = ebcc . ansatz self . log = ebcc . log # Attributes: self . converged = False self . e : NDArray [ T ] = np . zeros (( 0 ,), dtype = types [ float ]) self . v : NDArray [ T ] = np . zeros (( 0 , 0 ), dtype = types [ float ]) # 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 ( \"\" )","title":"EE_UEOM"},{"location":"reference/eom/ueom/#ebcc.eom.ueom.EE_UEOM.diag","text":"Get the diagonal of the Hamiltonian. Parameters: eris ( Optional [ ERIsInputType ] , default: None ) \u2013 Electronic repulsion integrals. Returns: NDArray [ T ] \u2013 Diagonal of the Hamiltonian. Source code in ebcc/eom/ueom.py 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 def diag ( self , eris : Optional [ ERIsInputType ] = None ) -> NDArray [ T ]: \"\"\"Get the diagonal of the Hamiltonian. Args: eris: Electronic repulsion integrals. Returns: Diagonal of the Hamiltonian. \"\"\" parts : Namespace [ SpinArrayType ] = util . Namespace () for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): spin_part : SpinArrayType = util . Namespace () for comb in util . generate_spin_combinations ( n , unique = True ): spin_part [ comb ] = self . ebcc . energy_sum ( key , comb ) parts [ name ] = spin_part for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented return self . amplitudes_to_vector ( parts )","title":"diag"},{"location":"reference/eom/ueom/#ebcc.eom.ueom.EE_UEOM.amplitudes_to_vector","text":"Construct a vector containing all of the EE-EOM amplitudes. Parameters: amplitudes ( Namespace [ SpinArrayType ] ) \u2013 EE-EOM amplitudes. Returns: NDArray [ T ] \u2013 EE-EOM amplitudes as a vector. Source code in ebcc/eom/ueom.py 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 def amplitudes_to_vector ( self , amplitudes : Namespace [ SpinArrayType ]) -> NDArray [ T ]: \"\"\"Construct a vector containing all of the EE-EOM amplitudes. Args: amplitudes: EE-EOM amplitudes. Returns: EE-EOM amplitudes as a vector. \"\"\" vectors = [] for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): for spin in util . generate_spin_combinations ( n , unique = True ): vn = amplitudes [ name ][ spin ] subscript , _ = util . combine_subscripts ( key , spin ) vectors . append ( np . ravel ( util . compress_axes ( subscript , vn ))) for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented return np . concatenate ( vectors )","title":"amplitudes_to_vector"},{"location":"reference/eom/ueom/#ebcc.eom.ueom.EE_UEOM.vector_to_amplitudes","text":"Construct a namespace of EE-EOM amplitudes from a vector. Parameters: vector ( NDArray [ T ] ) \u2013 EE-EOM amplitudes as a vector. Returns: Namespace [ SpinArrayType ] \u2013 EE-EOM amplitudes. Source code in ebcc/eom/ueom.py 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 def vector_to_amplitudes ( self , vector : NDArray [ T ]) -> Namespace [ SpinArrayType ]: \"\"\"Construct a namespace of EE-EOM amplitudes from a vector. Args: vector: EE-EOM amplitudes as a vector. Returns: EE-EOM amplitudes. \"\"\" amplitudes : Namespace [ SpinArrayType ] = util . Namespace () i0 = 0 sizes : dict [ tuple [ str , ... ], int ] = { ( o , s ): self . space [ i ] . size ( o ) for o in \"ovOVia\" for i , s in enumerate ( \"ab\" ) } for name , key , n in self . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): amp : SpinArrayType = util . Namespace () for spin in util . generate_spin_combinations ( n , unique = True ): subscript , csizes = util . combine_subscripts ( key , spin , sizes = sizes ) size = util . get_compressed_size ( subscript , ** csizes ) shape = tuple ( self . space [ \"ab\" . index ( s )] . size ( k ) for s , k in zip ( spin , key )) vn_tril = vector [ i0 : i0 + size ] factor = max ( spin [: n ] . count ( s ) for s in set ( spin [: n ]) ) # FIXME why? untested for n > 2 vn = util . decompress_axes ( subscript , vn_tril , shape = shape ) / factor amp [ spin ] = vn i0 += size amplitudes [ name ] = amp for name , key , n in self . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented for name , key , nf , nb in self . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type , which = \"ee\" ): raise util . ModelNotImplemented assert i0 == len ( vector ) return amplitudes","title":"vector_to_amplitudes"},{"location":"reference/ham/","text":"Hamiltonian objects.","title":"Index"},{"location":"reference/ham/base/","text":"Base classes for ebcc.ham . ebcc . ham . base . BaseHamiltonian ( ** kwargs ) Bases: Namespace [ Any ] , ABC Base class for Hamiltonians. Initialise the namespace. Source code in ebcc/util/misc.py 65 66 67 68 69 def __init__ ( self , ** kwargs : T ): \"\"\"Initialise the namespace.\"\"\" self . __dict__ [ \"_members\" ] = {} for key , val in kwargs . items (): self . __dict__ [ \"_members\" ][ key ] = val ebcc . ham . base . BaseHamiltonian . __getitem__ ( key ) abstractmethod Just-in-time getter. Parameters: key ( str ) \u2013 Key to get. Returns: Any \u2013 Slice of the Hamiltonian. Source code in ebcc/ham/base.py 24 25 26 27 28 29 30 31 32 33 34 @abstractmethod def __getitem__ ( self , key : str ) -> Any : \"\"\"Just-in-time getter. Args: key: Key to get. Returns: Slice of the Hamiltonian. \"\"\" pass ebcc . ham . base . BaseRHamiltonian ( ** kwargs ) Bases: BaseHamiltonian Base class for restricted Hamiltonians. Initialise the namespace. Source code in ebcc/util/misc.py 65 66 67 68 69 def __init__ ( self , ** kwargs : T ): \"\"\"Initialise the namespace.\"\"\" self . __dict__ [ \"_members\" ] = {} for key , val in kwargs . items (): self . __dict__ [ \"_members\" ][ key ] = val ebcc . ham . base . BaseUHamiltonian ( ** kwargs ) Bases: BaseHamiltonian Base class for unrestricted Hamiltonians. Initialise the namespace. Source code in ebcc/util/misc.py 65 66 67 68 69 def __init__ ( self , ** kwargs : T ): \"\"\"Initialise the namespace.\"\"\" self . __dict__ [ \"_members\" ] = {} for key , val in kwargs . items (): self . __dict__ [ \"_members\" ][ key ] = val ebcc . ham . base . BaseGHamiltonian ( ** kwargs ) Bases: BaseHamiltonian Base class for general Hamiltonians. Initialise the namespace. Source code in ebcc/util/misc.py 65 66 67 68 69 def __init__ ( self , ** kwargs : T ): \"\"\"Initialise the namespace.\"\"\" self . __dict__ [ \"_members\" ] = {} for key , val in kwargs . items (): self . __dict__ [ \"_members\" ][ key ] = val ebcc . ham . base . BaseFock ( cc , array = None , space = None , mo_coeff = None , g = None ) Bases: BaseHamiltonian Base class for Fock matrices. Initialise the Fock matrix. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 Fock matrix in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. mo_coeff ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Molecular orbital coefficients for each index. g ( Optional [ Namespace [ Any ]] , default: None ) \u2013 Namespace containing blocks of the electron-boson coupling matrix. Source code in ebcc/ham/base.py 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , mo_coeff : Optional [ tuple [ Any , ... ]] = None , g : Optional [ Namespace [ Any ]] = None , ) -> None : \"\"\"Initialise the Fock matrix. Args: cc: Coupled cluster object. array: Fock matrix in the MO basis. space: Space object for each index. mo_coeff: Molecular orbital coefficients for each index. g: Namespace containing blocks of the electron-boson coupling matrix. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 2 self . __dict__ [ \"mo_coeff\" ] = mo_coeff if mo_coeff is not None else ( cc . mo_coeff ,) * 2 self . __dict__ [ \"array\" ] = array if array is not None else self . _get_fock () self . __dict__ [ \"g\" ] = g if g is not None else cc . g # Boson parameters: self . __dict__ [ \"shift\" ] = cc . options . shift if g is not None else None self . __dict__ [ \"xi\" ] = cc . xi if g is not None else None ebcc . ham . base . BaseERIs ( cc , array = None , space = None , mo_coeff = None ) Bases: BaseHamiltonian Base class for electronic repulsion integrals. Initialise the ERIs. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 ERIs in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. mo_coeff ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Molecular orbital coefficients for each index. Source code in ebcc/ham/base.py 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , mo_coeff : Optional [ tuple [ Any , ... ]] = None , ) -> None : \"\"\"Initialise the ERIs. Args: cc: Coupled cluster object. array: ERIs in the MO basis. space: Space object for each index. mo_coeff: Molecular orbital coefficients for each index. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 4 self . __dict__ [ \"mo_coeff\" ] = mo_coeff if mo_coeff is not None else ( cc . mo_coeff ,) * 4 self . __dict__ [ \"array\" ] = array if array is not None else None ebcc . ham . base . BaseElectronBoson ( cc , array = None , space = None ) Bases: BaseHamiltonian Base class for electron-boson coupling matrices. Initialise the electron-boson coupling matrix. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 Electron-boson coupling matrix in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. Source code in ebcc/ham/base.py 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , ) -> None : \"\"\"Initialise the electron-boson coupling matrix. Args: cc: Coupled cluster object. array: Electron-boson coupling matrix in the MO basis. space: Space object for each index. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 2 self . __dict__ [ \"array\" ] = array if array is not None else self . _get_g ()","title":"Base"},{"location":"reference/ham/base/#ebcc.ham.base.BaseHamiltonian","text":"Bases: Namespace [ Any ] , ABC Base class for Hamiltonians. Initialise the namespace. Source code in ebcc/util/misc.py 65 66 67 68 69 def __init__ ( self , ** kwargs : T ): \"\"\"Initialise the namespace.\"\"\" self . __dict__ [ \"_members\" ] = {} for key , val in kwargs . items (): self . __dict__ [ \"_members\" ][ key ] = val","title":"BaseHamiltonian"},{"location":"reference/ham/base/#ebcc.ham.base.BaseHamiltonian.__getitem__","text":"Just-in-time getter. Parameters: key ( str ) \u2013 Key to get. Returns: Any \u2013 Slice of the Hamiltonian. Source code in ebcc/ham/base.py 24 25 26 27 28 29 30 31 32 33 34 @abstractmethod def __getitem__ ( self , key : str ) -> Any : \"\"\"Just-in-time getter. Args: key: Key to get. Returns: Slice of the Hamiltonian. \"\"\" pass","title":"__getitem__"},{"location":"reference/ham/base/#ebcc.ham.base.BaseRHamiltonian","text":"Bases: BaseHamiltonian Base class for restricted Hamiltonians. Initialise the namespace. Source code in ebcc/util/misc.py 65 66 67 68 69 def __init__ ( self , ** kwargs : T ): \"\"\"Initialise the namespace.\"\"\" self . __dict__ [ \"_members\" ] = {} for key , val in kwargs . items (): self . __dict__ [ \"_members\" ][ key ] = val","title":"BaseRHamiltonian"},{"location":"reference/ham/base/#ebcc.ham.base.BaseUHamiltonian","text":"Bases: BaseHamiltonian Base class for unrestricted Hamiltonians. Initialise the namespace. Source code in ebcc/util/misc.py 65 66 67 68 69 def __init__ ( self , ** kwargs : T ): \"\"\"Initialise the namespace.\"\"\" self . __dict__ [ \"_members\" ] = {} for key , val in kwargs . items (): self . __dict__ [ \"_members\" ][ key ] = val","title":"BaseUHamiltonian"},{"location":"reference/ham/base/#ebcc.ham.base.BaseGHamiltonian","text":"Bases: BaseHamiltonian Base class for general Hamiltonians. Initialise the namespace. Source code in ebcc/util/misc.py 65 66 67 68 69 def __init__ ( self , ** kwargs : T ): \"\"\"Initialise the namespace.\"\"\" self . __dict__ [ \"_members\" ] = {} for key , val in kwargs . items (): self . __dict__ [ \"_members\" ][ key ] = val","title":"BaseGHamiltonian"},{"location":"reference/ham/base/#ebcc.ham.base.BaseFock","text":"Bases: BaseHamiltonian Base class for Fock matrices. Initialise the Fock matrix. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 Fock matrix in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. mo_coeff ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Molecular orbital coefficients for each index. g ( Optional [ Namespace [ Any ]] , default: None ) \u2013 Namespace containing blocks of the electron-boson coupling matrix. Source code in ebcc/ham/base.py 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , mo_coeff : Optional [ tuple [ Any , ... ]] = None , g : Optional [ Namespace [ Any ]] = None , ) -> None : \"\"\"Initialise the Fock matrix. Args: cc: Coupled cluster object. array: Fock matrix in the MO basis. space: Space object for each index. mo_coeff: Molecular orbital coefficients for each index. g: Namespace containing blocks of the electron-boson coupling matrix. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 2 self . __dict__ [ \"mo_coeff\" ] = mo_coeff if mo_coeff is not None else ( cc . mo_coeff ,) * 2 self . __dict__ [ \"array\" ] = array if array is not None else self . _get_fock () self . __dict__ [ \"g\" ] = g if g is not None else cc . g # Boson parameters: self . __dict__ [ \"shift\" ] = cc . options . shift if g is not None else None self . __dict__ [ \"xi\" ] = cc . xi if g is not None else None","title":"BaseFock"},{"location":"reference/ham/base/#ebcc.ham.base.BaseERIs","text":"Bases: BaseHamiltonian Base class for electronic repulsion integrals. Initialise the ERIs. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 ERIs in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. mo_coeff ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Molecular orbital coefficients for each index. Source code in ebcc/ham/base.py 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , mo_coeff : Optional [ tuple [ Any , ... ]] = None , ) -> None : \"\"\"Initialise the ERIs. Args: cc: Coupled cluster object. array: ERIs in the MO basis. space: Space object for each index. mo_coeff: Molecular orbital coefficients for each index. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 4 self . __dict__ [ \"mo_coeff\" ] = mo_coeff if mo_coeff is not None else ( cc . mo_coeff ,) * 4 self . __dict__ [ \"array\" ] = array if array is not None else None","title":"BaseERIs"},{"location":"reference/ham/base/#ebcc.ham.base.BaseElectronBoson","text":"Bases: BaseHamiltonian Base class for electron-boson coupling matrices. Initialise the electron-boson coupling matrix. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 Electron-boson coupling matrix in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. Source code in ebcc/ham/base.py 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , ) -> None : \"\"\"Initialise the electron-boson coupling matrix. Args: cc: Coupled cluster object. array: Electron-boson coupling matrix in the MO basis. space: Space object for each index. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 2 self . __dict__ [ \"array\" ] = array if array is not None else self . _get_g ()","title":"BaseElectronBoson"},{"location":"reference/ham/cderis/","text":"Cholesky-decomposed electron repulsion integral containers. ebcc . ham . cderis . RCDERIs ( cc , array = None , space = None , mo_coeff = None ) Bases: BaseERIs , BaseRHamiltonian Restricted Cholesky-decomposed ERIs container class. Initialise the ERIs. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 ERIs in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. mo_coeff ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Molecular orbital coefficients for each index. Source code in ebcc/ham/base.py 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , mo_coeff : Optional [ tuple [ Any , ... ]] = None , ) -> None : \"\"\"Initialise the ERIs. Args: cc: Coupled cluster object. array: ERIs in the MO basis. space: Space object for each index. mo_coeff: Molecular orbital coefficients for each index. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 4 self . __dict__ [ \"mo_coeff\" ] = mo_coeff if mo_coeff is not None else ( cc . mo_coeff ,) * 4 self . __dict__ [ \"array\" ] = array if array is not None else None ebcc . ham . cderis . RCDERIs . __getitem__ ( key , e2 = False ) Just-in-time getter. Parameters: key ( str ) \u2013 Key to get. e2 ( Optional [ bool ] , default: False ) \u2013 Whether the key is for the second electron. Returns: NDArray [ T ] \u2013 CDERIs for the given spaces. Source code in ebcc/ham/cderis.py 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 def __getitem__ ( self , key : str , e2 : Optional [ bool ] = False ) -> NDArray [ T ]: \"\"\"Just-in-time getter. Args: key: Key to get. e2: Whether the key is for the second electron. Returns: CDERIs for the given spaces. \"\"\" if self . array is not None : raise NotImplementedError ( \"`array` is not supported for CDERIs.\" ) if len ( key ) == 4 : v1 = self . __getitem__ ( \"Q\" + key [: 2 ]) v2 = self . __getitem__ ( \"Q\" + key [ 2 :], e2 = True ) # type: ignore return util . einsum ( \"Qij,Qkl->ijkl\" , v1 , v2 ) elif len ( key ) == 3 : key = key [ 1 :] else : raise KeyError ( \"Key must be of length 3 or 4.\" ) key_e2 = f \" { key } _ { 'e1' if not e2 else 'e2' } \" # Check the DF is built incore if not isinstance ( self . cc . mf . with_df . _cderi , np . ndarray ): with lib . temporary_env ( self . cc . mf . with_df , max_memory = 1e6 ): self . cc . mf . with_df . build () if key_e2 not in self . _members : s = 0 if not e2 else 2 coeffs = [ to_numpy ( self . mo_coeff [ i + s ][:, self . space [ i + s ] . slice ( k )], dtype = numpy . float64 ) for i , k in enumerate ( key ) ] ijslice = ( 0 , coeffs [ 0 ] . shape [ - 1 ], coeffs [ 0 ] . shape [ - 1 ], coeffs [ 0 ] . shape [ - 1 ] + coeffs [ 1 ] . shape [ - 1 ], ) coeffs = numpy . concatenate ( coeffs , axis = 1 ) block = ao2mo . _ao2mo . nr_e2 ( self . cc . mf . with_df . _cderi , coeffs , ijslice , aosym = \"s2\" , mosym = \"s1\" ) block = np . reshape ( block , ( - 1 , ijslice [ 1 ] - ijslice [ 0 ], ijslice [ 3 ] - ijslice [ 2 ])) self . _members [ key_e2 ] = np . asarray ( block , dtype = types [ float ]) return self . _members [ key_e2 ] ebcc . ham . cderis . UCDERIs ( cc , array = None , space = None , mo_coeff = None ) Bases: BaseERIs , BaseUHamiltonian Unrestricted Cholesky-decomposed ERIs container class. Initialise the ERIs. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 ERIs in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. mo_coeff ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Molecular orbital coefficients for each index. Source code in ebcc/ham/base.py 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , mo_coeff : Optional [ tuple [ Any , ... ]] = None , ) -> None : \"\"\"Initialise the ERIs. Args: cc: Coupled cluster object. array: ERIs in the MO basis. space: Space object for each index. mo_coeff: Molecular orbital coefficients for each index. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 4 self . __dict__ [ \"mo_coeff\" ] = mo_coeff if mo_coeff is not None else ( cc . mo_coeff ,) * 4 self . __dict__ [ \"array\" ] = array if array is not None else None ebcc . ham . cderis . UCDERIs . __getitem__ ( key ) Just-in-time getter. Parameters: key ( str ) \u2013 Key to get. Returns: RCDERIs \u2013 CDERIs for the given spins. Source code in ebcc/ham/cderis.py 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 def __getitem__ ( self , key : str ) -> RCDERIs : \"\"\"Just-in-time getter. Args: key: Key to get. Returns: CDERIs for the given spins. \"\"\" if len ( key ) == 3 : key = key [ 1 :] if key not in ( \"aa\" , \"bb\" , \"aaaa\" , \"aabb\" , \"bbaa\" , \"bbbb\" ): raise KeyError ( f \"Invalid key: { key } \" ) if len ( key ) == 2 : key = key + key i = \"ab\" . index ( key [ 0 ]) j = \"ab\" . index ( key [ 2 ]) if key not in self . _members : self . _members [ key ] = RCDERIs ( self . cc , space = ( self . space [ 0 ][ i ], self . space [ 1 ][ i ], self . space [ 2 ][ j ], self . space [ 3 ][ j ]), mo_coeff = ( self . mo_coeff [ 0 ][ i ], self . mo_coeff [ 1 ][ i ], self . mo_coeff [ 2 ][ j ], self . mo_coeff [ 3 ][ j ], ), ) return self . _members [ key ]","title":"CDERIs"},{"location":"reference/ham/cderis/#ebcc.ham.cderis.RCDERIs","text":"Bases: BaseERIs , BaseRHamiltonian Restricted Cholesky-decomposed ERIs container class. Initialise the ERIs. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 ERIs in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. mo_coeff ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Molecular orbital coefficients for each index. Source code in ebcc/ham/base.py 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , mo_coeff : Optional [ tuple [ Any , ... ]] = None , ) -> None : \"\"\"Initialise the ERIs. Args: cc: Coupled cluster object. array: ERIs in the MO basis. space: Space object for each index. mo_coeff: Molecular orbital coefficients for each index. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 4 self . __dict__ [ \"mo_coeff\" ] = mo_coeff if mo_coeff is not None else ( cc . mo_coeff ,) * 4 self . __dict__ [ \"array\" ] = array if array is not None else None","title":"RCDERIs"},{"location":"reference/ham/cderis/#ebcc.ham.cderis.RCDERIs.__getitem__","text":"Just-in-time getter. Parameters: key ( str ) \u2013 Key to get. e2 ( Optional [ bool ] , default: False ) \u2013 Whether the key is for the second electron. Returns: NDArray [ T ] \u2013 CDERIs for the given spaces. Source code in ebcc/ham/cderis.py 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 def __getitem__ ( self , key : str , e2 : Optional [ bool ] = False ) -> NDArray [ T ]: \"\"\"Just-in-time getter. Args: key: Key to get. e2: Whether the key is for the second electron. Returns: CDERIs for the given spaces. \"\"\" if self . array is not None : raise NotImplementedError ( \"`array` is not supported for CDERIs.\" ) if len ( key ) == 4 : v1 = self . __getitem__ ( \"Q\" + key [: 2 ]) v2 = self . __getitem__ ( \"Q\" + key [ 2 :], e2 = True ) # type: ignore return util . einsum ( \"Qij,Qkl->ijkl\" , v1 , v2 ) elif len ( key ) == 3 : key = key [ 1 :] else : raise KeyError ( \"Key must be of length 3 or 4.\" ) key_e2 = f \" { key } _ { 'e1' if not e2 else 'e2' } \" # Check the DF is built incore if not isinstance ( self . cc . mf . with_df . _cderi , np . ndarray ): with lib . temporary_env ( self . cc . mf . with_df , max_memory = 1e6 ): self . cc . mf . with_df . build () if key_e2 not in self . _members : s = 0 if not e2 else 2 coeffs = [ to_numpy ( self . mo_coeff [ i + s ][:, self . space [ i + s ] . slice ( k )], dtype = numpy . float64 ) for i , k in enumerate ( key ) ] ijslice = ( 0 , coeffs [ 0 ] . shape [ - 1 ], coeffs [ 0 ] . shape [ - 1 ], coeffs [ 0 ] . shape [ - 1 ] + coeffs [ 1 ] . shape [ - 1 ], ) coeffs = numpy . concatenate ( coeffs , axis = 1 ) block = ao2mo . _ao2mo . nr_e2 ( self . cc . mf . with_df . _cderi , coeffs , ijslice , aosym = \"s2\" , mosym = \"s1\" ) block = np . reshape ( block , ( - 1 , ijslice [ 1 ] - ijslice [ 0 ], ijslice [ 3 ] - ijslice [ 2 ])) self . _members [ key_e2 ] = np . asarray ( block , dtype = types [ float ]) return self . _members [ key_e2 ]","title":"__getitem__"},{"location":"reference/ham/cderis/#ebcc.ham.cderis.UCDERIs","text":"Bases: BaseERIs , BaseUHamiltonian Unrestricted Cholesky-decomposed ERIs container class. Initialise the ERIs. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 ERIs in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. mo_coeff ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Molecular orbital coefficients for each index. Source code in ebcc/ham/base.py 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , mo_coeff : Optional [ tuple [ Any , ... ]] = None , ) -> None : \"\"\"Initialise the ERIs. Args: cc: Coupled cluster object. array: ERIs in the MO basis. space: Space object for each index. mo_coeff: Molecular orbital coefficients for each index. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 4 self . __dict__ [ \"mo_coeff\" ] = mo_coeff if mo_coeff is not None else ( cc . mo_coeff ,) * 4 self . __dict__ [ \"array\" ] = array if array is not None else None","title":"UCDERIs"},{"location":"reference/ham/cderis/#ebcc.ham.cderis.UCDERIs.__getitem__","text":"Just-in-time getter. Parameters: key ( str ) \u2013 Key to get. Returns: RCDERIs \u2013 CDERIs for the given spins. Source code in ebcc/ham/cderis.py 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 def __getitem__ ( self , key : str ) -> RCDERIs : \"\"\"Just-in-time getter. Args: key: Key to get. Returns: CDERIs for the given spins. \"\"\" if len ( key ) == 3 : key = key [ 1 :] if key not in ( \"aa\" , \"bb\" , \"aaaa\" , \"aabb\" , \"bbaa\" , \"bbbb\" ): raise KeyError ( f \"Invalid key: { key } \" ) if len ( key ) == 2 : key = key + key i = \"ab\" . index ( key [ 0 ]) j = \"ab\" . index ( key [ 2 ]) if key not in self . _members : self . _members [ key ] = RCDERIs ( self . cc , space = ( self . space [ 0 ][ i ], self . space [ 1 ][ i ], self . space [ 2 ][ j ], self . space [ 3 ][ j ]), mo_coeff = ( self . mo_coeff [ 0 ][ i ], self . mo_coeff [ 1 ][ i ], self . mo_coeff [ 2 ][ j ], self . mo_coeff [ 3 ][ j ], ), ) return self . _members [ key ]","title":"__getitem__"},{"location":"reference/ham/elbos/","text":"Electron-boson coupling matrix containers. ebcc . ham . elbos . RElectronBoson ( cc , array = None , space = None ) Bases: BaseElectronBoson , BaseRHamiltonian Restricted electron-boson coupling matrices. Initialise the electron-boson coupling matrix. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 Electron-boson coupling matrix in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. Source code in ebcc/ham/base.py 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , ) -> None : \"\"\"Initialise the electron-boson coupling matrix. Args: cc: Coupled cluster object. array: Electron-boson coupling matrix in the MO basis. space: Space object for each index. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 2 self . __dict__ [ \"array\" ] = array if array is not None else self . _get_g () ebcc . ham . elbos . RElectronBoson . __getitem__ ( key ) Just-in-time getter. Parameters: key ( str ) \u2013 Key to get. Returns: NDArray [ T ] \u2013 Electron-boson coupling matrix for the given spaces. Source code in ebcc/ham/elbos.py 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 def __getitem__ ( self , key : str ) -> NDArray [ T ]: \"\"\"Just-in-time getter. Args: key: Key to get. Returns: Electron-boson coupling matrix for the given spaces. \"\"\" if key not in self . _members : assert key [ 0 ] == \"b\" i = self . space [ 0 ] . slice ( key [ 1 ]) j = self . space [ 1 ] . slice ( key [ 2 ]) self . _members [ key ] = np . copy ( self . array [:, i , j ]) return self . _members [ key ] ebcc . ham . elbos . UElectronBoson ( cc , array = None , space = None ) Bases: BaseElectronBoson , BaseUHamiltonian Unrestricted electron-boson coupling matrices. Initialise the electron-boson coupling matrix. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 Electron-boson coupling matrix in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. Source code in ebcc/ham/base.py 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , ) -> None : \"\"\"Initialise the electron-boson coupling matrix. Args: cc: Coupled cluster object. array: Electron-boson coupling matrix in the MO basis. space: Space object for each index. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 2 self . __dict__ [ \"array\" ] = array if array is not None else self . _get_g () ebcc . ham . elbos . UElectronBoson . __getitem__ ( key ) Just-in-time getter. Parameters: key ( str ) \u2013 Key to get. Returns: RElectronBoson \u2013 Electron-boson coupling matrix for the given spin. Source code in ebcc/ham/elbos.py 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 def __getitem__ ( self , key : str ) -> RElectronBoson : \"\"\"Just-in-time getter. Args: key: Key to get. Returns: Electron-boson coupling matrix for the given spin. \"\"\" if key not in ( \"aa\" , \"bb\" ): raise KeyError ( f \"Invalid key: { key } \" ) if key not in self . _members : i = \"ab\" . index ( key [ 0 ]) self . _members [ key ] = RElectronBoson ( self . cc , array = self . array [ i ] if self . array . ndim == 4 else self . array , space = ( self . space [ 0 ][ i ], self . space [ 1 ][ i ]), ) return self . _members [ key ] ebcc . ham . elbos . GElectronBoson ( cc , array = None , space = None ) Bases: BaseElectronBoson , BaseGHamiltonian Generalised electron-boson coupling matrices. Initialise the electron-boson coupling matrix. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 Electron-boson coupling matrix in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. Source code in ebcc/ham/base.py 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , ) -> None : \"\"\"Initialise the electron-boson coupling matrix. Args: cc: Coupled cluster object. array: Electron-boson coupling matrix in the MO basis. space: Space object for each index. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 2 self . __dict__ [ \"array\" ] = array if array is not None else self . _get_g () ebcc . ham . elbos . GElectronBoson . __getitem__ ( key ) Just-in-time getter. Parameters: key ( str ) \u2013 Key to get. Returns: NDArray [ T ] \u2013 Electron-boson coupling matrix for the given spaces. Source code in ebcc/ham/elbos.py 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 def __getitem__ ( self , key : str ) -> NDArray [ T ]: \"\"\"Just-in-time getter. Args: key: Key to get. Returns: Electron-boson coupling matrix for the given spaces. \"\"\" if key not in self . _members : assert key [ 0 ] == \"b\" i = self . space [ 0 ] . slice ( key [ 1 ]) j = self . space [ 1 ] . slice ( key [ 2 ]) self . _members [ key ] = np . copy ( self . array [:, i , j ]) return self . _members [ key ]","title":"Bosonic"},{"location":"reference/ham/elbos/#ebcc.ham.elbos.RElectronBoson","text":"Bases: BaseElectronBoson , BaseRHamiltonian Restricted electron-boson coupling matrices. Initialise the electron-boson coupling matrix. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 Electron-boson coupling matrix in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. Source code in ebcc/ham/base.py 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , ) -> None : \"\"\"Initialise the electron-boson coupling matrix. Args: cc: Coupled cluster object. array: Electron-boson coupling matrix in the MO basis. space: Space object for each index. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 2 self . __dict__ [ \"array\" ] = array if array is not None else self . _get_g ()","title":"RElectronBoson"},{"location":"reference/ham/elbos/#ebcc.ham.elbos.RElectronBoson.__getitem__","text":"Just-in-time getter. Parameters: key ( str ) \u2013 Key to get. Returns: NDArray [ T ] \u2013 Electron-boson coupling matrix for the given spaces. Source code in ebcc/ham/elbos.py 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 def __getitem__ ( self , key : str ) -> NDArray [ T ]: \"\"\"Just-in-time getter. Args: key: Key to get. Returns: Electron-boson coupling matrix for the given spaces. \"\"\" if key not in self . _members : assert key [ 0 ] == \"b\" i = self . space [ 0 ] . slice ( key [ 1 ]) j = self . space [ 1 ] . slice ( key [ 2 ]) self . _members [ key ] = np . copy ( self . array [:, i , j ]) return self . _members [ key ]","title":"__getitem__"},{"location":"reference/ham/elbos/#ebcc.ham.elbos.UElectronBoson","text":"Bases: BaseElectronBoson , BaseUHamiltonian Unrestricted electron-boson coupling matrices. Initialise the electron-boson coupling matrix. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 Electron-boson coupling matrix in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. Source code in ebcc/ham/base.py 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , ) -> None : \"\"\"Initialise the electron-boson coupling matrix. Args: cc: Coupled cluster object. array: Electron-boson coupling matrix in the MO basis. space: Space object for each index. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 2 self . __dict__ [ \"array\" ] = array if array is not None else self . _get_g ()","title":"UElectronBoson"},{"location":"reference/ham/elbos/#ebcc.ham.elbos.UElectronBoson.__getitem__","text":"Just-in-time getter. Parameters: key ( str ) \u2013 Key to get. Returns: RElectronBoson \u2013 Electron-boson coupling matrix for the given spin. Source code in ebcc/ham/elbos.py 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 def __getitem__ ( self , key : str ) -> RElectronBoson : \"\"\"Just-in-time getter. Args: key: Key to get. Returns: Electron-boson coupling matrix for the given spin. \"\"\" if key not in ( \"aa\" , \"bb\" ): raise KeyError ( f \"Invalid key: { key } \" ) if key not in self . _members : i = \"ab\" . index ( key [ 0 ]) self . _members [ key ] = RElectronBoson ( self . cc , array = self . array [ i ] if self . array . ndim == 4 else self . array , space = ( self . space [ 0 ][ i ], self . space [ 1 ][ i ]), ) return self . _members [ key ]","title":"__getitem__"},{"location":"reference/ham/elbos/#ebcc.ham.elbos.GElectronBoson","text":"Bases: BaseElectronBoson , BaseGHamiltonian Generalised electron-boson coupling matrices. Initialise the electron-boson coupling matrix. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 Electron-boson coupling matrix in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. Source code in ebcc/ham/base.py 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , ) -> None : \"\"\"Initialise the electron-boson coupling matrix. Args: cc: Coupled cluster object. array: Electron-boson coupling matrix in the MO basis. space: Space object for each index. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 2 self . __dict__ [ \"array\" ] = array if array is not None else self . _get_g ()","title":"GElectronBoson"},{"location":"reference/ham/elbos/#ebcc.ham.elbos.GElectronBoson.__getitem__","text":"Just-in-time getter. Parameters: key ( str ) \u2013 Key to get. Returns: NDArray [ T ] \u2013 Electron-boson coupling matrix for the given spaces. Source code in ebcc/ham/elbos.py 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 def __getitem__ ( self , key : str ) -> NDArray [ T ]: \"\"\"Just-in-time getter. Args: key: Key to get. Returns: Electron-boson coupling matrix for the given spaces. \"\"\" if key not in self . _members : assert key [ 0 ] == \"b\" i = self . space [ 0 ] . slice ( key [ 1 ]) j = self . space [ 1 ] . slice ( key [ 2 ]) self . _members [ key ] = np . copy ( self . array [:, i , j ]) return self . _members [ key ]","title":"__getitem__"},{"location":"reference/ham/eris/","text":"Electronic repulsion integral containers. ebcc . ham . eris . RERIs ( cc , array = None , space = None , mo_coeff = None ) Bases: BaseERIs , BaseRHamiltonian Restricted ERIs container class. Initialise the ERIs. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 ERIs in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. mo_coeff ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Molecular orbital coefficients for each index. Source code in ebcc/ham/base.py 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , mo_coeff : Optional [ tuple [ Any , ... ]] = None , ) -> None : \"\"\"Initialise the ERIs. Args: cc: Coupled cluster object. array: ERIs in the MO basis. space: Space object for each index. mo_coeff: Molecular orbital coefficients for each index. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 4 self . __dict__ [ \"mo_coeff\" ] = mo_coeff if mo_coeff is not None else ( cc . mo_coeff ,) * 4 self . __dict__ [ \"array\" ] = array if array is not None else None ebcc . ham . eris . RERIs . __getitem__ ( key ) Just-in-time getter. Parameters: key ( str ) \u2013 Key to get. Returns: NDArray [ T ] \u2013 ERIs for the given spaces. Source code in ebcc/ham/eris.py 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 def __getitem__ ( self , key : str ) -> NDArray [ T ]: \"\"\"Just-in-time getter. Args: key: Key to get. Returns: ERIs for the given spaces. \"\"\" if self . array is None : if key not in self . _members . keys (): coeffs = [ to_numpy ( self . mo_coeff [ i ][:, self . space [ i ] . slice ( k )], dtype = numpy . float64 ) for i , k in enumerate ( key ) ] if getattr ( self . cc . mf , \"_eri\" , None ) is not None : block = ao2mo . incore . general ( self . cc . mf . _eri , coeffs , compact = False ) else : block = ao2mo . kernel ( self . cc . mf . mol , coeffs , compact = False ) block = np . reshape ( block , [ c . shape [ - 1 ] for c in coeffs ]) self . _members [ key ] = np . asarray ( block , dtype = types [ float ]) return self . _members [ key ] else : ijkl = tuple ( self . space [ i ] . slice ( k ) for i , k in enumerate ( key )) return self . array [ ijkl ] # type: ignore ebcc . ham . eris . UERIs ( cc , array = None , space = None , mo_coeff = None ) Bases: BaseERIs , BaseUHamiltonian Unrestricted ERIs container class. Initialise the ERIs. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 ERIs in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. mo_coeff ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Molecular orbital coefficients for each index. Source code in ebcc/ham/base.py 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , mo_coeff : Optional [ tuple [ Any , ... ]] = None , ) -> None : \"\"\"Initialise the ERIs. Args: cc: Coupled cluster object. array: ERIs in the MO basis. space: Space object for each index. mo_coeff: Molecular orbital coefficients for each index. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 4 self . __dict__ [ \"mo_coeff\" ] = mo_coeff if mo_coeff is not None else ( cc . mo_coeff ,) * 4 self . __dict__ [ \"array\" ] = array if array is not None else None ebcc . ham . eris . UERIs . __getitem__ ( key ) Just-in-time getter. Parameters: key ( str ) \u2013 Key to get. Returns: RERIs \u2013 ERIs for the given spins. Source code in ebcc/ham/eris.py 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __getitem__ ( self , key : str ) -> RERIs : \"\"\"Just-in-time getter. Args: key: Key to get. Returns: ERIs for the given spins. \"\"\" if key not in ( \"aaaa\" , \"aabb\" , \"bbaa\" , \"bbbb\" ): raise KeyError ( f \"Invalid key: { key } \" ) if key not in self . _members : i = \"ab\" . index ( key [ 0 ]) j = \"ab\" . index ( key [ 2 ]) ij = i * ( i + 1 ) // 2 + j if self . array is not None : array = self . array [ ij ] if key == \"bbaa\" : array = np . transpose ( array , ( 2 , 3 , 0 , 1 )) elif isinstance ( self . cc . mf . _eri , tuple ): # Support spin-dependent integrals in the mean-field coeffs = [ to_numpy ( self . mo_coeff [ x ][ y ], dtype = numpy . float64 ) for y , x in enumerate ( sorted (( i , i , j , j ))) ] if getattr ( self . cc . mf , \"_eri\" , None ) is not None : array = ao2mo . incore . general ( self . cc . mf . mol , coeffs , compact = False ) else : array = ao2mo . kernel ( self . cc . mf . mol , coeffs , compact = False ) if key == \"bbaa\" : array = np . transpose ( array , ( 2 , 3 , 0 , 1 )) array = np . asarray ( array , dtype = types [ float ]) else : array = None self . _members [ key ] = RERIs ( self . cc , array = array , space = ( self . space [ 0 ][ i ], self . space [ 1 ][ i ], self . space [ 2 ][ j ], self . space [ 3 ][ j ]), mo_coeff = ( self . mo_coeff [ 0 ][ i ], self . mo_coeff [ 1 ][ i ], self . mo_coeff [ 2 ][ j ], self . mo_coeff [ 3 ][ j ], ), ) return self . _members [ key ] ebcc . ham . eris . GERIs ( * args , ** kwargs ) Bases: BaseERIs , BaseGHamiltonian Generalised ERIs container class. Initialise the class. Source code in ebcc/ham/eris.py 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 def __init__ ( self , * args : Any , ** kwargs : Any ) -> None : \"\"\"Initialise the class.\"\"\" super () . __init__ ( * args , ** kwargs ) if self . array is None : mo_a = [ to_numpy ( mo [: self . cc . mf . mol . nao ], dtype = numpy . float64 ) for mo in self . mo_coeff ] mo_b = [ to_numpy ( mo [ self . cc . mf . mol . nao :], dtype = numpy . float64 ) for mo in self . mo_coeff ] if getattr ( self . cc . mf , \"_eri\" , None ) is not None : array = ao2mo . incore . general ( self . cc . mf . _eri , mo_a ) array += ao2mo . incore . general ( self . cc . mf . _eri , mo_b ) array += ao2mo . incore . general ( self . cc . mf . _eri , mo_a [: 2 ] + mo_b [ 2 :]) array += ao2mo . incore . general ( self . cc . mf . _eri , mo_b [: 2 ] + mo_a [ 2 :]) else : array = ao2mo . kernel ( self . cc . mf . mol , mo_a ) array += ao2mo . kernel ( self . cc . mf . mol , mo_b ) array += ao2mo . kernel ( self . cc . mf . mol , mo_a [: 2 ] + mo_b [ 2 :]) array += ao2mo . kernel ( self . cc . mf . mol , mo_b [: 2 ] + mo_a [ 2 :]) array = np . reshape ( ao2mo . addons . restore ( 1 , array , self . cc . nmo ), ( self . cc . nmo ,) * 4 ) array = np . asarray ( array , dtype = types [ float ]) array = np . transpose ( array , ( 0 , 2 , 1 , 3 )) - np . transpose ( array , ( 0 , 2 , 3 , 1 )) self . __dict__ [ \"array\" ] = array ebcc . ham . eris . GERIs . __getitem__ ( key ) Just-in-time getter. Parameters: key ( str ) \u2013 Key to get. Returns: NDArray [ T ] \u2013 ERIs for the given spaces. Source code in ebcc/ham/eris.py 140 141 142 143 144 145 146 147 148 149 150 def __getitem__ ( self , key : str ) -> NDArray [ T ]: \"\"\"Just-in-time getter. Args: key: Key to get. Returns: ERIs for the given spaces. \"\"\" ijkl = tuple ( self . space [ i ] . slice ( k ) for i , k in enumerate ( key )) return self . array [ ijkl ] # type: ignore","title":"ERIs"},{"location":"reference/ham/eris/#ebcc.ham.eris.RERIs","text":"Bases: BaseERIs , BaseRHamiltonian Restricted ERIs container class. Initialise the ERIs. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 ERIs in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. mo_coeff ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Molecular orbital coefficients for each index. Source code in ebcc/ham/base.py 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , mo_coeff : Optional [ tuple [ Any , ... ]] = None , ) -> None : \"\"\"Initialise the ERIs. Args: cc: Coupled cluster object. array: ERIs in the MO basis. space: Space object for each index. mo_coeff: Molecular orbital coefficients for each index. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 4 self . __dict__ [ \"mo_coeff\" ] = mo_coeff if mo_coeff is not None else ( cc . mo_coeff ,) * 4 self . __dict__ [ \"array\" ] = array if array is not None else None","title":"RERIs"},{"location":"reference/ham/eris/#ebcc.ham.eris.RERIs.__getitem__","text":"Just-in-time getter. Parameters: key ( str ) \u2013 Key to get. Returns: NDArray [ T ] \u2013 ERIs for the given spaces. Source code in ebcc/ham/eris.py 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 def __getitem__ ( self , key : str ) -> NDArray [ T ]: \"\"\"Just-in-time getter. Args: key: Key to get. Returns: ERIs for the given spaces. \"\"\" if self . array is None : if key not in self . _members . keys (): coeffs = [ to_numpy ( self . mo_coeff [ i ][:, self . space [ i ] . slice ( k )], dtype = numpy . float64 ) for i , k in enumerate ( key ) ] if getattr ( self . cc . mf , \"_eri\" , None ) is not None : block = ao2mo . incore . general ( self . cc . mf . _eri , coeffs , compact = False ) else : block = ao2mo . kernel ( self . cc . mf . mol , coeffs , compact = False ) block = np . reshape ( block , [ c . shape [ - 1 ] for c in coeffs ]) self . _members [ key ] = np . asarray ( block , dtype = types [ float ]) return self . _members [ key ] else : ijkl = tuple ( self . space [ i ] . slice ( k ) for i , k in enumerate ( key )) return self . array [ ijkl ] # type: ignore","title":"__getitem__"},{"location":"reference/ham/eris/#ebcc.ham.eris.UERIs","text":"Bases: BaseERIs , BaseUHamiltonian Unrestricted ERIs container class. Initialise the ERIs. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 ERIs in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. mo_coeff ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Molecular orbital coefficients for each index. Source code in ebcc/ham/base.py 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , mo_coeff : Optional [ tuple [ Any , ... ]] = None , ) -> None : \"\"\"Initialise the ERIs. Args: cc: Coupled cluster object. array: ERIs in the MO basis. space: Space object for each index. mo_coeff: Molecular orbital coefficients for each index. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 4 self . __dict__ [ \"mo_coeff\" ] = mo_coeff if mo_coeff is not None else ( cc . mo_coeff ,) * 4 self . __dict__ [ \"array\" ] = array if array is not None else None","title":"UERIs"},{"location":"reference/ham/eris/#ebcc.ham.eris.UERIs.__getitem__","text":"Just-in-time getter. Parameters: key ( str ) \u2013 Key to get. Returns: RERIs \u2013 ERIs for the given spins. Source code in ebcc/ham/eris.py 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 def __getitem__ ( self , key : str ) -> RERIs : \"\"\"Just-in-time getter. Args: key: Key to get. Returns: ERIs for the given spins. \"\"\" if key not in ( \"aaaa\" , \"aabb\" , \"bbaa\" , \"bbbb\" ): raise KeyError ( f \"Invalid key: { key } \" ) if key not in self . _members : i = \"ab\" . index ( key [ 0 ]) j = \"ab\" . index ( key [ 2 ]) ij = i * ( i + 1 ) // 2 + j if self . array is not None : array = self . array [ ij ] if key == \"bbaa\" : array = np . transpose ( array , ( 2 , 3 , 0 , 1 )) elif isinstance ( self . cc . mf . _eri , tuple ): # Support spin-dependent integrals in the mean-field coeffs = [ to_numpy ( self . mo_coeff [ x ][ y ], dtype = numpy . float64 ) for y , x in enumerate ( sorted (( i , i , j , j ))) ] if getattr ( self . cc . mf , \"_eri\" , None ) is not None : array = ao2mo . incore . general ( self . cc . mf . mol , coeffs , compact = False ) else : array = ao2mo . kernel ( self . cc . mf . mol , coeffs , compact = False ) if key == \"bbaa\" : array = np . transpose ( array , ( 2 , 3 , 0 , 1 )) array = np . asarray ( array , dtype = types [ float ]) else : array = None self . _members [ key ] = RERIs ( self . cc , array = array , space = ( self . space [ 0 ][ i ], self . space [ 1 ][ i ], self . space [ 2 ][ j ], self . space [ 3 ][ j ]), mo_coeff = ( self . mo_coeff [ 0 ][ i ], self . mo_coeff [ 1 ][ i ], self . mo_coeff [ 2 ][ j ], self . mo_coeff [ 3 ][ j ], ), ) return self . _members [ key ]","title":"__getitem__"},{"location":"reference/ham/eris/#ebcc.ham.eris.GERIs","text":"Bases: BaseERIs , BaseGHamiltonian Generalised ERIs container class. Initialise the class. Source code in ebcc/ham/eris.py 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 def __init__ ( self , * args : Any , ** kwargs : Any ) -> None : \"\"\"Initialise the class.\"\"\" super () . __init__ ( * args , ** kwargs ) if self . array is None : mo_a = [ to_numpy ( mo [: self . cc . mf . mol . nao ], dtype = numpy . float64 ) for mo in self . mo_coeff ] mo_b = [ to_numpy ( mo [ self . cc . mf . mol . nao :], dtype = numpy . float64 ) for mo in self . mo_coeff ] if getattr ( self . cc . mf , \"_eri\" , None ) is not None : array = ao2mo . incore . general ( self . cc . mf . _eri , mo_a ) array += ao2mo . incore . general ( self . cc . mf . _eri , mo_b ) array += ao2mo . incore . general ( self . cc . mf . _eri , mo_a [: 2 ] + mo_b [ 2 :]) array += ao2mo . incore . general ( self . cc . mf . _eri , mo_b [: 2 ] + mo_a [ 2 :]) else : array = ao2mo . kernel ( self . cc . mf . mol , mo_a ) array += ao2mo . kernel ( self . cc . mf . mol , mo_b ) array += ao2mo . kernel ( self . cc . mf . mol , mo_a [: 2 ] + mo_b [ 2 :]) array += ao2mo . kernel ( self . cc . mf . mol , mo_b [: 2 ] + mo_a [ 2 :]) array = np . reshape ( ao2mo . addons . restore ( 1 , array , self . cc . nmo ), ( self . cc . nmo ,) * 4 ) array = np . asarray ( array , dtype = types [ float ]) array = np . transpose ( array , ( 0 , 2 , 1 , 3 )) - np . transpose ( array , ( 0 , 2 , 3 , 1 )) self . __dict__ [ \"array\" ] = array","title":"GERIs"},{"location":"reference/ham/eris/#ebcc.ham.eris.GERIs.__getitem__","text":"Just-in-time getter. Parameters: key ( str ) \u2013 Key to get. Returns: NDArray [ T ] \u2013 ERIs for the given spaces. Source code in ebcc/ham/eris.py 140 141 142 143 144 145 146 147 148 149 150 def __getitem__ ( self , key : str ) -> NDArray [ T ]: \"\"\"Just-in-time getter. Args: key: Key to get. Returns: ERIs for the given spaces. \"\"\" ijkl = tuple ( self . space [ i ] . slice ( k ) for i , k in enumerate ( key )) return self . array [ ijkl ] # type: ignore","title":"__getitem__"},{"location":"reference/ham/fock/","text":"Fock matrix containers. ebcc . ham . fock . RFock ( cc , array = None , space = None , mo_coeff = None , g = None ) Bases: BaseFock , BaseRHamiltonian Restricted Fock matrix container class. Initialise the Fock matrix. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 Fock matrix in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. mo_coeff ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Molecular orbital coefficients for each index. g ( Optional [ Namespace [ Any ]] , default: None ) \u2013 Namespace containing blocks of the electron-boson coupling matrix. Source code in ebcc/ham/base.py 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , mo_coeff : Optional [ tuple [ Any , ... ]] = None , g : Optional [ Namespace [ Any ]] = None , ) -> None : \"\"\"Initialise the Fock matrix. Args: cc: Coupled cluster object. array: Fock matrix in the MO basis. space: Space object for each index. mo_coeff: Molecular orbital coefficients for each index. g: Namespace containing blocks of the electron-boson coupling matrix. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 2 self . __dict__ [ \"mo_coeff\" ] = mo_coeff if mo_coeff is not None else ( cc . mo_coeff ,) * 2 self . __dict__ [ \"array\" ] = array if array is not None else self . _get_fock () self . __dict__ [ \"g\" ] = g if g is not None else cc . g # Boson parameters: self . __dict__ [ \"shift\" ] = cc . options . shift if g is not None else None self . __dict__ [ \"xi\" ] = cc . xi if g is not None else None ebcc . ham . fock . RFock . __getitem__ ( key ) Just-in-time getter. Parameters: key ( str ) \u2013 Key to get. Returns: NDArray [ T ] \u2013 Fock matrix for the given spaces. Source code in ebcc/ham/fock.py 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 def __getitem__ ( self , key : str ) -> NDArray [ T ]: \"\"\"Just-in-time getter. Args: key: Key to get. Returns: Fock matrix for the given spaces. \"\"\" if key not in self . _members : i = self . space [ 0 ] . slice ( key [ 0 ]) j = self . space [ 1 ] . slice ( key [ 1 ]) self . _members [ key ] = np . copy ( self . array [ i , j ]) if self . shift : xi = self . xi g = np . copy ( self . g . __getattr__ ( f \"b { key } \" )) g += np . transpose ( self . g . __getattr__ ( f \"b { key [:: - 1 ] } \" ), ( 0 , 2 , 1 )) self . _members [ key ] -= util . einsum ( \"I,Ipq->pq\" , xi , g ) return self . _members [ key ] ebcc . ham . fock . UFock ( cc , array = None , space = None , mo_coeff = None , g = None ) Bases: BaseFock , BaseUHamiltonian Unrestricted Fock matrix container class. Initialise the Fock matrix. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 Fock matrix in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. mo_coeff ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Molecular orbital coefficients for each index. g ( Optional [ Namespace [ Any ]] , default: None ) \u2013 Namespace containing blocks of the electron-boson coupling matrix. Source code in ebcc/ham/base.py 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , mo_coeff : Optional [ tuple [ Any , ... ]] = None , g : Optional [ Namespace [ Any ]] = None , ) -> None : \"\"\"Initialise the Fock matrix. Args: cc: Coupled cluster object. array: Fock matrix in the MO basis. space: Space object for each index. mo_coeff: Molecular orbital coefficients for each index. g: Namespace containing blocks of the electron-boson coupling matrix. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 2 self . __dict__ [ \"mo_coeff\" ] = mo_coeff if mo_coeff is not None else ( cc . mo_coeff ,) * 2 self . __dict__ [ \"array\" ] = array if array is not None else self . _get_fock () self . __dict__ [ \"g\" ] = g if g is not None else cc . g # Boson parameters: self . __dict__ [ \"shift\" ] = cc . options . shift if g is not None else None self . __dict__ [ \"xi\" ] = cc . xi if g is not None else None ebcc . ham . fock . UFock . __getitem__ ( key ) Just-in-time getter. Parameters: key ( str ) \u2013 Key to get. Returns: RFock \u2013 Fock matrix for the given spin. Source code in ebcc/ham/fock.py 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 def __getitem__ ( self , key : str ) -> RFock : \"\"\"Just-in-time getter. Args: key: Key to get. Returns: Fock matrix for the given spin. \"\"\" if key not in ( \"aa\" , \"bb\" ): raise KeyError ( f \"Invalid key: { key } \" ) if key not in self . _members : i = \"ab\" . index ( key [ 0 ]) self . _members [ key ] = RFock ( self . cc , array = self . array [ i ], space = ( self . space [ 0 ][ i ], self . space [ 1 ][ i ]), mo_coeff = ( self . mo_coeff [ 0 ][ i ], self . mo_coeff [ 1 ][ i ]), g = self . g [ key ] if self . g is not None else None , ) return self . _members [ key ] ebcc . ham . fock . GFock ( cc , array = None , space = None , mo_coeff = None , g = None ) Bases: BaseFock , BaseGHamiltonian Generalised Fock matrix container class. Initialise the Fock matrix. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 Fock matrix in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. mo_coeff ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Molecular orbital coefficients for each index. g ( Optional [ Namespace [ Any ]] , default: None ) \u2013 Namespace containing blocks of the electron-boson coupling matrix. Source code in ebcc/ham/base.py 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , mo_coeff : Optional [ tuple [ Any , ... ]] = None , g : Optional [ Namespace [ Any ]] = None , ) -> None : \"\"\"Initialise the Fock matrix. Args: cc: Coupled cluster object. array: Fock matrix in the MO basis. space: Space object for each index. mo_coeff: Molecular orbital coefficients for each index. g: Namespace containing blocks of the electron-boson coupling matrix. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 2 self . __dict__ [ \"mo_coeff\" ] = mo_coeff if mo_coeff is not None else ( cc . mo_coeff ,) * 2 self . __dict__ [ \"array\" ] = array if array is not None else self . _get_fock () self . __dict__ [ \"g\" ] = g if g is not None else cc . g # Boson parameters: self . __dict__ [ \"shift\" ] = cc . options . shift if g is not None else None self . __dict__ [ \"xi\" ] = cc . xi if g is not None else None ebcc . ham . fock . GFock . __getitem__ ( key ) Just-in-time getter. Parameters: key ( str ) \u2013 Key to get. Returns: NDArray [ T ] \u2013 Fock matrix for the given spin. Source code in ebcc/ham/fock.py 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 def __getitem__ ( self , key : str ) -> NDArray [ T ]: \"\"\"Just-in-time getter. Args: key: Key to get. Returns: Fock matrix for the given spin. \"\"\" if key not in self . _members : i = self . space [ 0 ] . slice ( key [ 0 ]) j = self . space [ 1 ] . slice ( key [ 1 ]) self . _members [ key ] = np . copy ( self . array [ i , j ]) if self . shift : xi = self . xi g = np . copy ( self . g . __getattr__ ( f \"b { key } \" )) g += np . transpose ( self . g . __getattr__ ( f \"b { key [:: - 1 ] } \" ), ( 0 , 2 , 1 )) self . _members [ key ] -= util . einsum ( \"I,Ipq->pq\" , xi , g ) return self . _members [ key ]","title":"Fock"},{"location":"reference/ham/fock/#ebcc.ham.fock.RFock","text":"Bases: BaseFock , BaseRHamiltonian Restricted Fock matrix container class. Initialise the Fock matrix. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 Fock matrix in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. mo_coeff ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Molecular orbital coefficients for each index. g ( Optional [ Namespace [ Any ]] , default: None ) \u2013 Namespace containing blocks of the electron-boson coupling matrix. Source code in ebcc/ham/base.py 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , mo_coeff : Optional [ tuple [ Any , ... ]] = None , g : Optional [ Namespace [ Any ]] = None , ) -> None : \"\"\"Initialise the Fock matrix. Args: cc: Coupled cluster object. array: Fock matrix in the MO basis. space: Space object for each index. mo_coeff: Molecular orbital coefficients for each index. g: Namespace containing blocks of the electron-boson coupling matrix. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 2 self . __dict__ [ \"mo_coeff\" ] = mo_coeff if mo_coeff is not None else ( cc . mo_coeff ,) * 2 self . __dict__ [ \"array\" ] = array if array is not None else self . _get_fock () self . __dict__ [ \"g\" ] = g if g is not None else cc . g # Boson parameters: self . __dict__ [ \"shift\" ] = cc . options . shift if g is not None else None self . __dict__ [ \"xi\" ] = cc . xi if g is not None else None","title":"RFock"},{"location":"reference/ham/fock/#ebcc.ham.fock.RFock.__getitem__","text":"Just-in-time getter. Parameters: key ( str ) \u2013 Key to get. Returns: NDArray [ T ] \u2013 Fock matrix for the given spaces. Source code in ebcc/ham/fock.py 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 def __getitem__ ( self , key : str ) -> NDArray [ T ]: \"\"\"Just-in-time getter. Args: key: Key to get. Returns: Fock matrix for the given spaces. \"\"\" if key not in self . _members : i = self . space [ 0 ] . slice ( key [ 0 ]) j = self . space [ 1 ] . slice ( key [ 1 ]) self . _members [ key ] = np . copy ( self . array [ i , j ]) if self . shift : xi = self . xi g = np . copy ( self . g . __getattr__ ( f \"b { key } \" )) g += np . transpose ( self . g . __getattr__ ( f \"b { key [:: - 1 ] } \" ), ( 0 , 2 , 1 )) self . _members [ key ] -= util . einsum ( \"I,Ipq->pq\" , xi , g ) return self . _members [ key ]","title":"__getitem__"},{"location":"reference/ham/fock/#ebcc.ham.fock.UFock","text":"Bases: BaseFock , BaseUHamiltonian Unrestricted Fock matrix container class. Initialise the Fock matrix. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 Fock matrix in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. mo_coeff ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Molecular orbital coefficients for each index. g ( Optional [ Namespace [ Any ]] , default: None ) \u2013 Namespace containing blocks of the electron-boson coupling matrix. Source code in ebcc/ham/base.py 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , mo_coeff : Optional [ tuple [ Any , ... ]] = None , g : Optional [ Namespace [ Any ]] = None , ) -> None : \"\"\"Initialise the Fock matrix. Args: cc: Coupled cluster object. array: Fock matrix in the MO basis. space: Space object for each index. mo_coeff: Molecular orbital coefficients for each index. g: Namespace containing blocks of the electron-boson coupling matrix. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 2 self . __dict__ [ \"mo_coeff\" ] = mo_coeff if mo_coeff is not None else ( cc . mo_coeff ,) * 2 self . __dict__ [ \"array\" ] = array if array is not None else self . _get_fock () self . __dict__ [ \"g\" ] = g if g is not None else cc . g # Boson parameters: self . __dict__ [ \"shift\" ] = cc . options . shift if g is not None else None self . __dict__ [ \"xi\" ] = cc . xi if g is not None else None","title":"UFock"},{"location":"reference/ham/fock/#ebcc.ham.fock.UFock.__getitem__","text":"Just-in-time getter. Parameters: key ( str ) \u2013 Key to get. Returns: RFock \u2013 Fock matrix for the given spin. Source code in ebcc/ham/fock.py 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 def __getitem__ ( self , key : str ) -> RFock : \"\"\"Just-in-time getter. Args: key: Key to get. Returns: Fock matrix for the given spin. \"\"\" if key not in ( \"aa\" , \"bb\" ): raise KeyError ( f \"Invalid key: { key } \" ) if key not in self . _members : i = \"ab\" . index ( key [ 0 ]) self . _members [ key ] = RFock ( self . cc , array = self . array [ i ], space = ( self . space [ 0 ][ i ], self . space [ 1 ][ i ]), mo_coeff = ( self . mo_coeff [ 0 ][ i ], self . mo_coeff [ 1 ][ i ]), g = self . g [ key ] if self . g is not None else None , ) return self . _members [ key ]","title":"__getitem__"},{"location":"reference/ham/fock/#ebcc.ham.fock.GFock","text":"Bases: BaseFock , BaseGHamiltonian Generalised Fock matrix container class. Initialise the Fock matrix. Parameters: cc ( BaseEBCC ) \u2013 Coupled cluster object. array ( Optional [ Any ] , default: None ) \u2013 Fock matrix in the MO basis. space ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Space object for each index. mo_coeff ( Optional [ tuple [ Any , ...]] , default: None ) \u2013 Molecular orbital coefficients for each index. g ( Optional [ Namespace [ Any ]] , default: None ) \u2013 Namespace containing blocks of the electron-boson coupling matrix. Source code in ebcc/ham/base.py 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 def __init__ ( self , cc : BaseEBCC , array : Optional [ Any ] = None , space : Optional [ tuple [ Any , ... ]] = None , mo_coeff : Optional [ tuple [ Any , ... ]] = None , g : Optional [ Namespace [ Any ]] = None , ) -> None : \"\"\"Initialise the Fock matrix. Args: cc: Coupled cluster object. array: Fock matrix in the MO basis. space: Space object for each index. mo_coeff: Molecular orbital coefficients for each index. g: Namespace containing blocks of the electron-boson coupling matrix. \"\"\" Namespace . __init__ ( self ) # Parameters: self . __dict__ [ \"cc\" ] = cc self . __dict__ [ \"space\" ] = space if space is not None else ( cc . space ,) * 2 self . __dict__ [ \"mo_coeff\" ] = mo_coeff if mo_coeff is not None else ( cc . mo_coeff ,) * 2 self . __dict__ [ \"array\" ] = array if array is not None else self . _get_fock () self . __dict__ [ \"g\" ] = g if g is not None else cc . g # Boson parameters: self . __dict__ [ \"shift\" ] = cc . options . shift if g is not None else None self . __dict__ [ \"xi\" ] = cc . xi if g is not None else None","title":"GFock"},{"location":"reference/ham/fock/#ebcc.ham.fock.GFock.__getitem__","text":"Just-in-time getter. Parameters: key ( str ) \u2013 Key to get. Returns: NDArray [ T ] \u2013 Fock matrix for the given spin. Source code in ebcc/ham/fock.py 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 def __getitem__ ( self , key : str ) -> NDArray [ T ]: \"\"\"Just-in-time getter. Args: key: Key to get. Returns: Fock matrix for the given spin. \"\"\" if key not in self . _members : i = self . space [ 0 ] . slice ( key [ 0 ]) j = self . space [ 1 ] . slice ( key [ 1 ]) self . _members [ key ] = np . copy ( self . array [ i , j ]) if self . shift : xi = self . xi g = np . copy ( self . g . __getattr__ ( f \"b { key } \" )) g += np . transpose ( self . g . __getattr__ ( f \"b { key [:: - 1 ] } \" ), ( 0 , 2 , 1 )) self . _members [ key ] -= util . einsum ( \"I,Ipq->pq\" , xi , g ) return self . _members [ key ]","title":"__getitem__"},{"location":"reference/ham/space/","text":"Space definition. ebcc . ham . space . Space ( occupied , frozen , active ) Space class. .. code-block:: none \u2500\u252c\u2500 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 \u2502 frozen \u2502 \u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2500\u252c\u2500 virtual \u2502 \u2502 active \u2502 \u2502 \u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 correlated \u2502 \u2502 inactive \u2502 \u2502 \u2500\u253c\u2500 \u251c\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2524 \u2500\u253c\u2500 \u2502 \u2502 inactive \u2502 \u2502 \u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 correlated occupied \u2502 \u2502 active \u2502 \u2502 \u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2500\u2534\u2500 \u2502 \u2502 frozen \u2502 \u2500\u2534\u2500 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 Initialise the space. Parameters: occupied ( NDArray [ B ] ) \u2013 Array containing boolean flags indicating whether or not each orbital is occupied. frozen ( NDArray [ B ] ) \u2013 Array containing boolean flags indicating whether or not each orbital is frozen. active ( NDArray [ B ] ) \u2013 Array containing boolean flags indicating whether or not each orbital is active. Source code in ebcc/ham/space.py 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 def __init__ ( self , occupied : NDArray [ B ], frozen : NDArray [ B ], active : NDArray [ B ], ) -> None : \"\"\"Initialise the space. Args: occupied: Array containing boolean flags indicating whether or not each orbital is occupied. frozen: Array containing boolean flags indicating whether or not each orbital is frozen. active: Array containing boolean flags indicating whether or not each orbital is active. \"\"\" self . _occupied = np . asarray ( occupied , dtype = np . bool_ ) self . _frozen = np . asarray ( frozen , dtype = np . bool_ ) self . _active = np . asarray ( active , dtype = np . bool_ ) # Checks: if not ( self . _occupied . size == self . _frozen . size == self . _active . size ): raise ValueError ( \"The sizes of the space arrays must match.\" ) if np . any ( np . bitwise_and ( self . _frozen , self . _active )): raise ValueError ( \"Frozen and active orbitals must be mutually exclusive.\" ) ebcc . ham . space . Space . occupied : NDArray [ B ] property Get a boolean mask of occupied orbitals. ebcc . ham . space . Space . virtual : NDArray [ B ] cached property Get a boolean mask of virtual orbitals. ebcc . ham . space . Space . nmo : int property Get the number of orbitals. ebcc . ham . space . Space . nocc : int cached property Get the number of occupied orbitals. ebcc . ham . space . Space . nvir : int cached property Get the number of virtual orbitals. ebcc . ham . space . Space . correlated : NDArray [ B ] cached property Get a boolean mask of correlated orbitals. ebcc . ham . space . Space . correlated_occupied : NDArray [ B ] cached property Get a boolean mask of occupied correlated orbitals. ebcc . ham . space . Space . correlated_virtual : NDArray [ B ] cached property Get a boolean mask of virtual correlated orbitals. ebcc . ham . space . Space . ncorr : int cached property Get the number of correlated orbitals. ebcc . ham . space . Space . ncocc : int cached property Get the number of occupied correlated orbitals. ebcc . ham . space . Space . ncvir : int cached property Get the number of virtual correlated orbitals. ebcc . ham . space . Space . inactive : NDArray [ B ] cached property Get a boolean mask of inactive orbitals. ebcc . ham . space . Space . inactive_occupied : NDArray [ B ] cached property Get a boolean mask of occupied inactive orbitals. ebcc . ham . space . Space . inactive_virtual : NDArray [ B ] cached property Get a boolean mask of virtual inactive orbitals. ebcc . ham . space . Space . ninact : int cached property Get the number of inactive orbitals. ebcc . ham . space . Space . niocc : int cached property Get the number of occupied inactive orbitals. ebcc . ham . space . Space . nivir : int cached property Get the number of virtual inactive orbitals. ebcc . ham . space . Space . frozen : NDArray [ B ] property Get a boolean mask of frozen orbitals. ebcc . ham . space . Space . frozen_occupied : NDArray [ B ] cached property Get a boolean mask of occupied frozen orbitals. ebcc . ham . space . Space . frozen_virtual : NDArray [ B ] cached property Get a boolean mask of virtual frozen orbitals. ebcc . ham . space . Space . nfroz : int cached property Get the number of frozen orbitals. ebcc . ham . space . Space . nfocc : int cached property Get the number of occupied frozen orbitals. ebcc . ham . space . Space . nfvir : int cached property Get the number of virtual frozen orbitals. ebcc . ham . space . Space . active : NDArray [ B ] property Get a boolean mask of active orbitals. ebcc . ham . space . Space . active_occupied : NDArray [ B ] cached property Get a boolean mask of occupied active orbitals. ebcc . ham . space . Space . active_virtual : NDArray [ B ] cached property Get a boolean mask of virtual active orbitals. ebcc . ham . space . Space . nact : int cached property Get the number of active orbitals. ebcc . ham . space . Space . naocc : int cached property Get the number of occupied active orbitals. ebcc . ham . space . Space . navir : int cached property Get the number of virtual active orbitals. ebcc . ham . space . Space . __repr__ () Get a string representation of the space. Source code in ebcc/ham/space.py 78 79 80 81 82 83 84 85 86 87 88 def __repr__ ( self ) -> str : \"\"\"Get a string representation of the space.\"\"\" out = \"( %d o, %d v)\" % ( self . nocc , self . nvir ) parts = [] if self . nfroz : parts . append ( \"( %d o, %d v) frozen\" % ( self . nfocc , self . nfvir )) if self . nact : parts . append ( \"( %d o, %d v) active\" % ( self . naocc , self . navir )) if len ( parts ): out += \" [\" + \", \" . join ( parts ) + \"]\" return out ebcc . ham . space . Space . size ( char ) Convert a character corresponding to a space to the size of that space. Parameters: char ( str ) \u2013 Character to convert. Returns: int \u2013 Size of the space. Source code in ebcc/ham/space.py 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 def size ( self , char : str ) -> int : \"\"\"Convert a character corresponding to a space to the size of that space. Args: char: Character to convert. Returns: Size of the space. \"\"\" return { \"x\" : self . ncorr , \"o\" : self . ncocc , \"O\" : self . naocc , \"i\" : self . niocc , \"v\" : self . ncvir , \"V\" : self . navir , \"a\" : self . nivir , }[ char ] ebcc . ham . space . Space . mask ( char ) Convert a character corresponding to a space to a mask of that space. Parameters: char ( str ) \u2013 Character to convert. Returns: NDArray [ B ] \u2013 Mask of the space. Source code in ebcc/ham/space.py 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 def mask ( self , char : str ) -> NDArray [ B ]: \"\"\"Convert a character corresponding to a space to a mask of that space. Args: char: Character to convert. Returns: Mask of the space. \"\"\" return { \"x\" : self . correlated , \"o\" : self . correlated_occupied , \"O\" : self . active_occupied , \"i\" : self . inactive_occupied , \"v\" : self . correlated_virtual , \"V\" : self . active_virtual , \"a\" : self . inactive_virtual , }[ char ] ebcc . ham . space . Space . slice ( char ) cached Convert a character corresponding to a space to a slice of that space. Parameters: char ( str ) \u2013 Character to convert. Returns: _slice \u2013 Slice of the space. Source code in ebcc/ham/space.py 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 @functools . lru_cache ( maxsize = 128 ) # noqa: B019 def slice ( self , char : str ) -> _slice : \"\"\"Convert a character corresponding to a space to a slice of that space. Args: char: Character to convert. Returns: Slice of the space. \"\"\" # Check that the respective mask is contiguous mask = self . mask ( char ) first = np . argmax ( mask ) size = self . size ( char ) if not np . all ( mask [ first : first + size ]): raise ValueError ( f \"Space ' { char } ' is not contiguous. In order to slice into this space, \" \"the `mask` method must be used. If you see this error internally, it is \" \"likely that you have constructed a disjoint space. Please reorder the \" \"orbitals in the space.\" ) return slice ( first , first + size ) ebcc . ham . space . Space . omask ( char ) Like mask , but returns only a mask into only the occupied sector. Parameters: char ( str ) \u2013 Character to convert. Returns: NDArray [ B ] \u2013 Mask of the space. Source code in ebcc/ham/space.py 151 152 153 154 155 156 157 158 159 160 def omask ( self , char : str ) -> NDArray [ B ]: \"\"\"Like `mask`, but returns only a mask into only the occupied sector. Args: char: Character to convert. Returns: Mask of the space. \"\"\" return self . mask ( char )[ self . occupied ] ebcc . ham . space . Space . vmask ( char ) Like mask , but returns only a mask into only the virtual sector. Parameters: char ( str ) \u2013 Character to convert. Returns: NDArray [ B ] \u2013 Mask of the space. Source code in ebcc/ham/space.py 162 163 164 165 166 167 168 169 170 171 def vmask ( self , char : str ) -> NDArray [ B ]: \"\"\"Like `mask`, but returns only a mask into only the virtual sector. Args: char: Character to convert. Returns: Mask of the space. \"\"\" return self . mask ( char )[ self . virtual ] ebcc . ham . space . Space . oslice ( char ) Like slice , but returns only a slice into only the occupied sector. Parameters: char ( str ) \u2013 Character to convert. Returns: _slice \u2013 Slice of the space. Source code in ebcc/ham/space.py 173 174 175 176 177 178 179 180 181 182 183 184 def oslice ( self , char : str ) -> _slice : \"\"\"Like `slice`, but returns only a slice into only the occupied sector. Args: char: Character to convert. Returns: Slice of the space. \"\"\" s = self . slice ( char ) nocc = self . nocc return slice ( s . start , min ( s . stop , nocc )) ebcc . ham . space . Space . vslice ( char ) Like slice , but returns only a slice into only the virtual sector. Parameters: char ( str ) \u2013 Character to convert. Returns: _slice \u2013 Slice of the space. Source code in ebcc/ham/space.py 186 187 188 189 190 191 192 193 194 195 196 197 def vslice ( self , char : str ) -> _slice : \"\"\"Like `slice`, but returns only a slice into only the virtual sector. Args: char: Character to convert. Returns: Slice of the space. \"\"\" s = self . slice ( char ) nocc = self . nocc return slice ( max ( s . start , nocc ) - nocc , s . stop - nocc ) ebcc . ham . space . construct_default_space ( mf ) Construct a default space. Parameters: mf ( SCF ) \u2013 PySCF mean-field object. Returns: Union [ RConstructSpaceReturnType , UConstructSpaceReturnType ] \u2013 The molecular orbital coefficients, the molecular orbital occupation numbers, and the Union [ RConstructSpaceReturnType , UConstructSpaceReturnType ] \u2013 default space. Source code in ebcc/ham/space.py 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 def construct_default_space ( mf : SCF ) -> Union [ RConstructSpaceReturnType , UConstructSpaceReturnType ]: \"\"\"Construct a default space. Args: mf: PySCF mean-field object. Returns: The molecular orbital coefficients, the molecular orbital occupation numbers, and the default space. \"\"\" def _construct ( mo_occ : NDArray [ T ]) -> Space : \"\"\"Build the default space.\"\"\" frozen = np . zeros ( mo_occ . shape , dtype = np . bool_ ) active = np . zeros ( mo_occ . shape , dtype = np . bool_ ) space = Space ( occupied = mo_occ > 0 , frozen = frozen , active = active , ) return space # Construct the default space if mf . mo_occ . ndim == 2 : space_a = _construct ( mf . mo_occ [ 0 ]) space_b = _construct ( mf . mo_occ [ 1 ]) return mf . mo_coeff , mf . mo_occ , ( space_a , space_b ) else : return mf . mo_coeff , mf . mo_occ , _construct ( mf . mo_occ ) ebcc . ham . space . construct_fno_space ( mf , occ_tol = 1e-05 , occ_frac = None , amplitudes = None ) Construct a frozen natural orbital space. Parameters: mf ( SCF ) \u2013 PySCF mean-field object. occ_tol ( Optional [ float ] , default: 1e-05 ) \u2013 Threshold in the natural orbital occupation numbers. occ_frac ( Optional [ float ] , default: None ) \u2013 Fraction of the natural orbital occupation numbers to be retained. Overrides occ_tol if both are specified. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. If provided, use these amplitudes when calculating the MP2 1RDM. Returns: Union [ RConstructSpaceReturnType , UConstructSpaceReturnType ] \u2013 The natural orbital coefficients, the natural orbital occupation numbers, and the frozen Union [ RConstructSpaceReturnType , UConstructSpaceReturnType ] \u2013 natural orbital space. Source code in ebcc/ham/space.py 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 def construct_fno_space ( mf : SCF , occ_tol : Optional [ float ] = 1e-5 , occ_frac : Optional [ float ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , ) -> Union [ RConstructSpaceReturnType , UConstructSpaceReturnType ]: \"\"\"Construct a frozen natural orbital space. Args: mf: PySCF mean-field object. occ_tol: Threshold in the natural orbital occupation numbers. occ_frac: Fraction of the natural orbital occupation numbers to be retained. Overrides `occ_tol` if both are specified. amplitudes: Cluster amplitudes. If provided, use these amplitudes when calculating the MP2 1RDM. Returns: The natural orbital coefficients, the natural orbital occupation numbers, and the frozen natural orbital space. \"\"\" # Get the MP2 1RDM solver = MP2 ( mf ) dm1 : NDArray [ T ] if not amplitudes : solver . kernel () dm1 = np . asarray ( solver . make_rdm1 (), dtype = types [ float ]) else : if isinstance ( amplitudes . t2 , util . Namespace ): t2 = ( amplitudes . t2 . aaaa , amplitudes . t2 . abab , amplitudes . t2 . bbbb ) dm1 = np . asarray ( solver . make_rdm1 ( t2 = t2 ), dtype = types [ float ]) else : dm1 = np . asarray ( solver . make_rdm1 ( t2 = amplitudes . t2 ), dtype = types [ float ]) # def _construct(dm1, mo_energy, mo_coeff, mo_occ): def _construct ( dm1 : NDArray [ T ], mo_energy : NDArray [ T ], mo_coeff : NDArray [ T ], mo_occ : NDArray [ T ], ) -> RConstructSpaceReturnType : # Get the number of occupied orbitals nocc = cast ( int , np . sum ( mo_occ > 0 )) # Calculate the natural orbitals n , c = np . linalg . eigh ( dm1 [ nocc :, nocc :]) n , c = n [:: - 1 ], c [:, :: - 1 ] # Truncate the natural orbitals if occ_frac is None : active_vir = n > occ_tol else : active_vir = np . cumsum ( n / np . sum ( n )) <= occ_frac num_active_vir = cast ( int , np . sum ( active_vir )) # Canonicalise the natural orbitals fock_vv = np . diag ( mo_energy [ nocc :]) fock_vv = util . einsum ( \"ab,au,bv->uv\" , fock_vv , c , c ) _ , c_can = np . linalg . eigh ( fock_vv [ active_vir ][:, active_vir ]) # Transform the natural orbitals no_coeff_avir = util . einsum ( \"pi,iq,qj->pj\" , mo_coeff [:, nocc :], c [:, : num_active_vir ], c_can ) no_coeff_fvir = mo_coeff [:, nocc :] @ c [:, num_active_vir :] no_coeff_occ = mo_coeff [:, : nocc ] no_coeff = np . concatenate (( no_coeff_occ , no_coeff_avir , no_coeff_fvir ), axis = 1 ) # Build the natural orbital space active = np . zeros ( mo_occ . shape , dtype = np . bool_ ) frozen = np . concatenate ( ( np . zeros (( nocc + num_active_vir ,), dtype = np . bool_ ), np . ones (( mo_occ . size - nocc - num_active_vir ,), dtype = np . bool_ ), ) ) no_space = Space ( occupied = mo_occ > 0 , frozen = frozen , active = active , ) return no_coeff , mo_occ , no_space # Construct the natural orbitals if mf . mo_occ . ndim == 2 : coeff_a , occ_a , space_a = _construct ( np . asarray ( dm1 [ 0 ], dtype = types [ float ]), np . asarray ( mf . mo_energy [ 0 ], dtype = types [ float ]), np . asarray ( mf . mo_coeff [ 0 ], dtype = types [ float ]), np . asarray ( mf . mo_occ [ 0 ], dtype = types [ float ]), ) coeff_b , occ_b , space_b = _construct ( np . asarray ( dm1 [ 1 ], dtype = types [ float ]), np . asarray ( mf . mo_energy [ 1 ], dtype = types [ float ]), np . asarray ( mf . mo_coeff [ 1 ], dtype = types [ float ]), np . asarray ( mf . mo_occ [ 1 ], dtype = types [ float ]), ) return ( coeff_a , coeff_b ), ( occ_a , occ_b ), ( space_a , space_b ) else : return _construct ( np . asarray ( dm1 , dtype = types [ float ]), np . asarray ( mf . mo_energy , dtype = types [ float ]), np . asarray ( mf . mo_coeff , dtype = types [ float ]), np . asarray ( mf . mo_occ , dtype = types [ float ]), )","title":"Space"},{"location":"reference/ham/space/#ebcc.ham.space.Space","text":"Space class. .. code-block:: none \u2500\u252c\u2500 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 \u2502 frozen \u2502 \u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2500\u252c\u2500 virtual \u2502 \u2502 active \u2502 \u2502 \u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 correlated \u2502 \u2502 inactive \u2502 \u2502 \u2500\u253c\u2500 \u251c\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2524 \u2500\u253c\u2500 \u2502 \u2502 inactive \u2502 \u2502 \u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 correlated occupied \u2502 \u2502 active \u2502 \u2502 \u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2500\u2534\u2500 \u2502 \u2502 frozen \u2502 \u2500\u2534\u2500 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 Initialise the space. Parameters: occupied ( NDArray [ B ] ) \u2013 Array containing boolean flags indicating whether or not each orbital is occupied. frozen ( NDArray [ B ] ) \u2013 Array containing boolean flags indicating whether or not each orbital is frozen. active ( NDArray [ B ] ) \u2013 Array containing boolean flags indicating whether or not each orbital is active. Source code in ebcc/ham/space.py 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 def __init__ ( self , occupied : NDArray [ B ], frozen : NDArray [ B ], active : NDArray [ B ], ) -> None : \"\"\"Initialise the space. Args: occupied: Array containing boolean flags indicating whether or not each orbital is occupied. frozen: Array containing boolean flags indicating whether or not each orbital is frozen. active: Array containing boolean flags indicating whether or not each orbital is active. \"\"\" self . _occupied = np . asarray ( occupied , dtype = np . bool_ ) self . _frozen = np . asarray ( frozen , dtype = np . bool_ ) self . _active = np . asarray ( active , dtype = np . bool_ ) # Checks: if not ( self . _occupied . size == self . _frozen . size == self . _active . size ): raise ValueError ( \"The sizes of the space arrays must match.\" ) if np . any ( np . bitwise_and ( self . _frozen , self . _active )): raise ValueError ( \"Frozen and active orbitals must be mutually exclusive.\" )","title":"Space"},{"location":"reference/ham/space/#ebcc.ham.space.Space.occupied","text":"Get a boolean mask of occupied orbitals.","title":"occupied"},{"location":"reference/ham/space/#ebcc.ham.space.Space.virtual","text":"Get a boolean mask of virtual orbitals.","title":"virtual"},{"location":"reference/ham/space/#ebcc.ham.space.Space.nmo","text":"Get the number of orbitals.","title":"nmo"},{"location":"reference/ham/space/#ebcc.ham.space.Space.nocc","text":"Get the number of occupied orbitals.","title":"nocc"},{"location":"reference/ham/space/#ebcc.ham.space.Space.nvir","text":"Get the number of virtual orbitals.","title":"nvir"},{"location":"reference/ham/space/#ebcc.ham.space.Space.correlated","text":"Get a boolean mask of correlated orbitals.","title":"correlated"},{"location":"reference/ham/space/#ebcc.ham.space.Space.correlated_occupied","text":"Get a boolean mask of occupied correlated orbitals.","title":"correlated_occupied"},{"location":"reference/ham/space/#ebcc.ham.space.Space.correlated_virtual","text":"Get a boolean mask of virtual correlated orbitals.","title":"correlated_virtual"},{"location":"reference/ham/space/#ebcc.ham.space.Space.ncorr","text":"Get the number of correlated orbitals.","title":"ncorr"},{"location":"reference/ham/space/#ebcc.ham.space.Space.ncocc","text":"Get the number of occupied correlated orbitals.","title":"ncocc"},{"location":"reference/ham/space/#ebcc.ham.space.Space.ncvir","text":"Get the number of virtual correlated orbitals.","title":"ncvir"},{"location":"reference/ham/space/#ebcc.ham.space.Space.inactive","text":"Get a boolean mask of inactive orbitals.","title":"inactive"},{"location":"reference/ham/space/#ebcc.ham.space.Space.inactive_occupied","text":"Get a boolean mask of occupied inactive orbitals.","title":"inactive_occupied"},{"location":"reference/ham/space/#ebcc.ham.space.Space.inactive_virtual","text":"Get a boolean mask of virtual inactive orbitals.","title":"inactive_virtual"},{"location":"reference/ham/space/#ebcc.ham.space.Space.ninact","text":"Get the number of inactive orbitals.","title":"ninact"},{"location":"reference/ham/space/#ebcc.ham.space.Space.niocc","text":"Get the number of occupied inactive orbitals.","title":"niocc"},{"location":"reference/ham/space/#ebcc.ham.space.Space.nivir","text":"Get the number of virtual inactive orbitals.","title":"nivir"},{"location":"reference/ham/space/#ebcc.ham.space.Space.frozen","text":"Get a boolean mask of frozen orbitals.","title":"frozen"},{"location":"reference/ham/space/#ebcc.ham.space.Space.frozen_occupied","text":"Get a boolean mask of occupied frozen orbitals.","title":"frozen_occupied"},{"location":"reference/ham/space/#ebcc.ham.space.Space.frozen_virtual","text":"Get a boolean mask of virtual frozen orbitals.","title":"frozen_virtual"},{"location":"reference/ham/space/#ebcc.ham.space.Space.nfroz","text":"Get the number of frozen orbitals.","title":"nfroz"},{"location":"reference/ham/space/#ebcc.ham.space.Space.nfocc","text":"Get the number of occupied frozen orbitals.","title":"nfocc"},{"location":"reference/ham/space/#ebcc.ham.space.Space.nfvir","text":"Get the number of virtual frozen orbitals.","title":"nfvir"},{"location":"reference/ham/space/#ebcc.ham.space.Space.active","text":"Get a boolean mask of active orbitals.","title":"active"},{"location":"reference/ham/space/#ebcc.ham.space.Space.active_occupied","text":"Get a boolean mask of occupied active orbitals.","title":"active_occupied"},{"location":"reference/ham/space/#ebcc.ham.space.Space.active_virtual","text":"Get a boolean mask of virtual active orbitals.","title":"active_virtual"},{"location":"reference/ham/space/#ebcc.ham.space.Space.nact","text":"Get the number of active orbitals.","title":"nact"},{"location":"reference/ham/space/#ebcc.ham.space.Space.naocc","text":"Get the number of occupied active orbitals.","title":"naocc"},{"location":"reference/ham/space/#ebcc.ham.space.Space.navir","text":"Get the number of virtual active orbitals.","title":"navir"},{"location":"reference/ham/space/#ebcc.ham.space.Space.__repr__","text":"Get a string representation of the space. Source code in ebcc/ham/space.py 78 79 80 81 82 83 84 85 86 87 88 def __repr__ ( self ) -> str : \"\"\"Get a string representation of the space.\"\"\" out = \"( %d o, %d v)\" % ( self . nocc , self . nvir ) parts = [] if self . nfroz : parts . append ( \"( %d o, %d v) frozen\" % ( self . nfocc , self . nfvir )) if self . nact : parts . append ( \"( %d o, %d v) active\" % ( self . naocc , self . navir )) if len ( parts ): out += \" [\" + \", \" . join ( parts ) + \"]\" return out","title":"__repr__"},{"location":"reference/ham/space/#ebcc.ham.space.Space.size","text":"Convert a character corresponding to a space to the size of that space. Parameters: char ( str ) \u2013 Character to convert. Returns: int \u2013 Size of the space. Source code in ebcc/ham/space.py 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 def size ( self , char : str ) -> int : \"\"\"Convert a character corresponding to a space to the size of that space. Args: char: Character to convert. Returns: Size of the space. \"\"\" return { \"x\" : self . ncorr , \"o\" : self . ncocc , \"O\" : self . naocc , \"i\" : self . niocc , \"v\" : self . ncvir , \"V\" : self . navir , \"a\" : self . nivir , }[ char ]","title":"size"},{"location":"reference/ham/space/#ebcc.ham.space.Space.mask","text":"Convert a character corresponding to a space to a mask of that space. Parameters: char ( str ) \u2013 Character to convert. Returns: NDArray [ B ] \u2013 Mask of the space. Source code in ebcc/ham/space.py 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 def mask ( self , char : str ) -> NDArray [ B ]: \"\"\"Convert a character corresponding to a space to a mask of that space. Args: char: Character to convert. Returns: Mask of the space. \"\"\" return { \"x\" : self . correlated , \"o\" : self . correlated_occupied , \"O\" : self . active_occupied , \"i\" : self . inactive_occupied , \"v\" : self . correlated_virtual , \"V\" : self . active_virtual , \"a\" : self . inactive_virtual , }[ char ]","title":"mask"},{"location":"reference/ham/space/#ebcc.ham.space.Space.slice","text":"Convert a character corresponding to a space to a slice of that space. Parameters: char ( str ) \u2013 Character to convert. Returns: _slice \u2013 Slice of the space. Source code in ebcc/ham/space.py 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 @functools . lru_cache ( maxsize = 128 ) # noqa: B019 def slice ( self , char : str ) -> _slice : \"\"\"Convert a character corresponding to a space to a slice of that space. Args: char: Character to convert. Returns: Slice of the space. \"\"\" # Check that the respective mask is contiguous mask = self . mask ( char ) first = np . argmax ( mask ) size = self . size ( char ) if not np . all ( mask [ first : first + size ]): raise ValueError ( f \"Space ' { char } ' is not contiguous. In order to slice into this space, \" \"the `mask` method must be used. If you see this error internally, it is \" \"likely that you have constructed a disjoint space. Please reorder the \" \"orbitals in the space.\" ) return slice ( first , first + size )","title":"slice"},{"location":"reference/ham/space/#ebcc.ham.space.Space.omask","text":"Like mask , but returns only a mask into only the occupied sector. Parameters: char ( str ) \u2013 Character to convert. Returns: NDArray [ B ] \u2013 Mask of the space. Source code in ebcc/ham/space.py 151 152 153 154 155 156 157 158 159 160 def omask ( self , char : str ) -> NDArray [ B ]: \"\"\"Like `mask`, but returns only a mask into only the occupied sector. Args: char: Character to convert. Returns: Mask of the space. \"\"\" return self . mask ( char )[ self . occupied ]","title":"omask"},{"location":"reference/ham/space/#ebcc.ham.space.Space.vmask","text":"Like mask , but returns only a mask into only the virtual sector. Parameters: char ( str ) \u2013 Character to convert. Returns: NDArray [ B ] \u2013 Mask of the space. Source code in ebcc/ham/space.py 162 163 164 165 166 167 168 169 170 171 def vmask ( self , char : str ) -> NDArray [ B ]: \"\"\"Like `mask`, but returns only a mask into only the virtual sector. Args: char: Character to convert. Returns: Mask of the space. \"\"\" return self . mask ( char )[ self . virtual ]","title":"vmask"},{"location":"reference/ham/space/#ebcc.ham.space.Space.oslice","text":"Like slice , but returns only a slice into only the occupied sector. Parameters: char ( str ) \u2013 Character to convert. Returns: _slice \u2013 Slice of the space. Source code in ebcc/ham/space.py 173 174 175 176 177 178 179 180 181 182 183 184 def oslice ( self , char : str ) -> _slice : \"\"\"Like `slice`, but returns only a slice into only the occupied sector. Args: char: Character to convert. Returns: Slice of the space. \"\"\" s = self . slice ( char ) nocc = self . nocc return slice ( s . start , min ( s . stop , nocc ))","title":"oslice"},{"location":"reference/ham/space/#ebcc.ham.space.Space.vslice","text":"Like slice , but returns only a slice into only the virtual sector. Parameters: char ( str ) \u2013 Character to convert. Returns: _slice \u2013 Slice of the space. Source code in ebcc/ham/space.py 186 187 188 189 190 191 192 193 194 195 196 197 def vslice ( self , char : str ) -> _slice : \"\"\"Like `slice`, but returns only a slice into only the virtual sector. Args: char: Character to convert. Returns: Slice of the space. \"\"\" s = self . slice ( char ) nocc = self . nocc return slice ( max ( s . start , nocc ) - nocc , s . stop - nocc )","title":"vslice"},{"location":"reference/ham/space/#ebcc.ham.space.construct_default_space","text":"Construct a default space. Parameters: mf ( SCF ) \u2013 PySCF mean-field object. Returns: Union [ RConstructSpaceReturnType , UConstructSpaceReturnType ] \u2013 The molecular orbital coefficients, the molecular orbital occupation numbers, and the Union [ RConstructSpaceReturnType , UConstructSpaceReturnType ] \u2013 default space. Source code in ebcc/ham/space.py 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 def construct_default_space ( mf : SCF ) -> Union [ RConstructSpaceReturnType , UConstructSpaceReturnType ]: \"\"\"Construct a default space. Args: mf: PySCF mean-field object. Returns: The molecular orbital coefficients, the molecular orbital occupation numbers, and the default space. \"\"\" def _construct ( mo_occ : NDArray [ T ]) -> Space : \"\"\"Build the default space.\"\"\" frozen = np . zeros ( mo_occ . shape , dtype = np . bool_ ) active = np . zeros ( mo_occ . shape , dtype = np . bool_ ) space = Space ( occupied = mo_occ > 0 , frozen = frozen , active = active , ) return space # Construct the default space if mf . mo_occ . ndim == 2 : space_a = _construct ( mf . mo_occ [ 0 ]) space_b = _construct ( mf . mo_occ [ 1 ]) return mf . mo_coeff , mf . mo_occ , ( space_a , space_b ) else : return mf . mo_coeff , mf . mo_occ , _construct ( mf . mo_occ )","title":"construct_default_space"},{"location":"reference/ham/space/#ebcc.ham.space.construct_fno_space","text":"Construct a frozen natural orbital space. Parameters: mf ( SCF ) \u2013 PySCF mean-field object. occ_tol ( Optional [ float ] , default: 1e-05 ) \u2013 Threshold in the natural orbital occupation numbers. occ_frac ( Optional [ float ] , default: None ) \u2013 Fraction of the natural orbital occupation numbers to be retained. Overrides occ_tol if both are specified. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. If provided, use these amplitudes when calculating the MP2 1RDM. Returns: Union [ RConstructSpaceReturnType , UConstructSpaceReturnType ] \u2013 The natural orbital coefficients, the natural orbital occupation numbers, and the frozen Union [ RConstructSpaceReturnType , UConstructSpaceReturnType ] \u2013 natural orbital space. Source code in ebcc/ham/space.py 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 def construct_fno_space ( mf : SCF , occ_tol : Optional [ float ] = 1e-5 , occ_frac : Optional [ float ] = None , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None , ) -> Union [ RConstructSpaceReturnType , UConstructSpaceReturnType ]: \"\"\"Construct a frozen natural orbital space. Args: mf: PySCF mean-field object. occ_tol: Threshold in the natural orbital occupation numbers. occ_frac: Fraction of the natural orbital occupation numbers to be retained. Overrides `occ_tol` if both are specified. amplitudes: Cluster amplitudes. If provided, use these amplitudes when calculating the MP2 1RDM. Returns: The natural orbital coefficients, the natural orbital occupation numbers, and the frozen natural orbital space. \"\"\" # Get the MP2 1RDM solver = MP2 ( mf ) dm1 : NDArray [ T ] if not amplitudes : solver . kernel () dm1 = np . asarray ( solver . make_rdm1 (), dtype = types [ float ]) else : if isinstance ( amplitudes . t2 , util . Namespace ): t2 = ( amplitudes . t2 . aaaa , amplitudes . t2 . abab , amplitudes . t2 . bbbb ) dm1 = np . asarray ( solver . make_rdm1 ( t2 = t2 ), dtype = types [ float ]) else : dm1 = np . asarray ( solver . make_rdm1 ( t2 = amplitudes . t2 ), dtype = types [ float ]) # def _construct(dm1, mo_energy, mo_coeff, mo_occ): def _construct ( dm1 : NDArray [ T ], mo_energy : NDArray [ T ], mo_coeff : NDArray [ T ], mo_occ : NDArray [ T ], ) -> RConstructSpaceReturnType : # Get the number of occupied orbitals nocc = cast ( int , np . sum ( mo_occ > 0 )) # Calculate the natural orbitals n , c = np . linalg . eigh ( dm1 [ nocc :, nocc :]) n , c = n [:: - 1 ], c [:, :: - 1 ] # Truncate the natural orbitals if occ_frac is None : active_vir = n > occ_tol else : active_vir = np . cumsum ( n / np . sum ( n )) <= occ_frac num_active_vir = cast ( int , np . sum ( active_vir )) # Canonicalise the natural orbitals fock_vv = np . diag ( mo_energy [ nocc :]) fock_vv = util . einsum ( \"ab,au,bv->uv\" , fock_vv , c , c ) _ , c_can = np . linalg . eigh ( fock_vv [ active_vir ][:, active_vir ]) # Transform the natural orbitals no_coeff_avir = util . einsum ( \"pi,iq,qj->pj\" , mo_coeff [:, nocc :], c [:, : num_active_vir ], c_can ) no_coeff_fvir = mo_coeff [:, nocc :] @ c [:, num_active_vir :] no_coeff_occ = mo_coeff [:, : nocc ] no_coeff = np . concatenate (( no_coeff_occ , no_coeff_avir , no_coeff_fvir ), axis = 1 ) # Build the natural orbital space active = np . zeros ( mo_occ . shape , dtype = np . bool_ ) frozen = np . concatenate ( ( np . zeros (( nocc + num_active_vir ,), dtype = np . bool_ ), np . ones (( mo_occ . size - nocc - num_active_vir ,), dtype = np . bool_ ), ) ) no_space = Space ( occupied = mo_occ > 0 , frozen = frozen , active = active , ) return no_coeff , mo_occ , no_space # Construct the natural orbitals if mf . mo_occ . ndim == 2 : coeff_a , occ_a , space_a = _construct ( np . asarray ( dm1 [ 0 ], dtype = types [ float ]), np . asarray ( mf . mo_energy [ 0 ], dtype = types [ float ]), np . asarray ( mf . mo_coeff [ 0 ], dtype = types [ float ]), np . asarray ( mf . mo_occ [ 0 ], dtype = types [ float ]), ) coeff_b , occ_b , space_b = _construct ( np . asarray ( dm1 [ 1 ], dtype = types [ float ]), np . asarray ( mf . mo_energy [ 1 ], dtype = types [ float ]), np . asarray ( mf . mo_coeff [ 1 ], dtype = types [ float ]), np . asarray ( mf . mo_occ [ 1 ], dtype = types [ float ]), ) return ( coeff_a , coeff_b ), ( occ_a , occ_b ), ( space_a , space_b ) else : return _construct ( np . asarray ( dm1 , dtype = types [ float ]), np . asarray ( mf . mo_energy , dtype = types [ float ]), np . asarray ( mf . mo_coeff , dtype = types [ float ]), np . asarray ( mf . mo_occ , dtype = types [ float ]), )","title":"construct_fno_space"},{"location":"reference/opt/","text":"Orbital-optimised coupled cluster approaches.","title":"Index"},{"location":"reference/opt/base/","text":"Base classes for ebcc.opt . ebcc . opt . base . BaseOptions ( e_tol = 1e-08 , t_tol = 1e-08 , max_iter = 20 , diis_space = 9 , diis_min_space = 1 , damping = 0.0 ) dataclass Bases: _BaseOptions Options for Brueckner-orbital calculations. Parameters: e_tol ( float , default: 1e-08 ) \u2013 Threshold for converged in the correlation energy. t_tol ( float , default: 1e-08 ) \u2013 Threshold for converged in the amplitude norm. max_iter ( int , default: 20 ) \u2013 Maximum number of iterations. diis_space ( int , default: 9 ) \u2013 Number of amplitudes to use in DIIS extrapolation. diis_min_space ( int , default: 1 ) \u2013 Minimum number of amplitudes to use in DIIS extrapolation. damping ( float , default: 0.0 ) \u2013 Damping factor for DIIS extrapolation. ebcc . opt . base . BaseBruecknerEBCC ( cc , options = None , ** kwargs ) Bases: ABC Base class for Brueckner-orbital coupled cluster. Initialise the Brueckner EBCC object. Parameters: cc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/opt/base.py 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 def __init__ ( self , cc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : r \"\"\"Initialise the Brueckner EBCC object. Args: cc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . cc = cc self . mf = cc . mf self . space = cc . space self . log = cc . log # Attributes: self . converged = False # Logging: 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 \" > diis_min_space: { ANSI . y }{ self . options . diis_min_space }{ ANSI . R } \" ) cc . log . info ( f \" > damping: { ANSI . y }{ self . options . damping }{ ANSI . R } \" ) cc . log . debug ( \"\" ) ebcc . opt . base . BaseBruecknerEBCC . spin_type : str property Get the spin type. ebcc . opt . base . BaseBruecknerEBCC . name : str property Get the name of the method. ebcc . opt . base . BaseBruecknerEBCC . kernel () Run the Bruckner-orbital coupled cluster calculation. Returns: float \u2013 Correlation energy. Source code in ebcc/opt/base.py 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 def kernel ( self ) -> float : \"\"\"Run the Bruckner-orbital coupled cluster calculation. Returns: Correlation energy. \"\"\" timer = util . Timer () # Make sure the initial CC calculation is converged: if not self . cc . converged : with lib . temporary_env ( self . cc , log = NullLogger ()): self . cc . kernel () # Set up DIIS: damping = self . Damping ( options = self . options ) # Initialise coefficients: mo_coeff_new : NDArray [ T ] = np . copy ( np . asarray ( self . cc . mo_coeff , dtype = types [ float ])) mo_coeff_ref : NDArray [ T ] = np . copy ( np . asarray ( self . cc . mo_coeff , dtype = types [ float ])) mo_coeff_ref = self . mo_to_correlated ( mo_coeff_ref ) u_tot = None self . cc . log . output ( \"Solving for Brueckner orbitals.\" ) self . cc . log . debug ( \"\" ) self . log . info ( f \" { ANSI . B }{ 'Iter' : >4s } { 'Energy (corr.)' : >16s } { 'Energy (tot.)' : >18s } \" f \" { 'Conv.' : >8s } { '\u0394(Energy)' : >13s } { '|T1|' : >13s }{ ANSI . R } \" ) self . log . info ( 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 for niter in range ( 1 , self . options . max_iter + 1 ): # Update rotation matrix: u , u_tot = self . get_rotation_matrix ( u_tot = u_tot , damping = damping ) # Update MO coefficients: mo_coeff_new = self . update_coefficients ( u_tot , mo_coeff_new , mo_coeff_ref ) # Transform mean-field and amplitudes: self . mf . mo_coeff = numpy . asarray ( mo_coeff_new ) self . mf . e_tot = self . mf . energy_tot () amplitudes = self . transform_amplitudes ( u ) # Run CC calculation: e_prev = self . cc . e_tot with lib . temporary_env ( self . cc , log = NullLogger ()): self . cc . __class__ . __init__ ( self . cc , self . mf , log = self . cc . log , ansatz = self . cc . ansatz , space = self . cc . space , omega = self . cc . omega , g = self . cc . bare_g , G = self . cc . bare_G , options = self . cc . options , ) self . cc . amplitudes = amplitudes self . cc . kernel () de = abs ( e_prev - self . cc . e_tot ) dt = self . get_t1_norm () # Log the iteration: converged_e = bool ( de < self . options . e_tol ) converged_t = bool ( dt < self . options . t_tol ) self . log . info ( f \" { niter : 4d } { self . cc . e_corr : 16.10f } { self . cc . e_tot : 18.10f } \" f \" { [ ANSI . r , ANSI . g ][ int ( self . cc . converged )] }{ self . cc . converged !r: >8 }{ ANSI . R } \" f \" { [ ANSI . r , ANSI . g ][ int ( converged_e )] }{ de : 13.3e }{ ANSI . R } \" f \" { [ ANSI . r , ANSI . g ][ int ( converged_t )] }{ dt : 13.3e }{ ANSI . R } \" ) # Check for convergence: converged = converged_e and converged_t if converged : self . log . debug ( \"\" ) self . log . output ( f \" { ANSI . g } Converged. { ANSI . R } \" ) break else : 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 ) self . cc . log . output ( \"E(tot) = %.10f \" , self . cc . e_tot ) self . cc . log . debug ( \"\" ) self . cc . log . debug ( \"Time elapsed: %s \" , timer . format_time ( timer ())) self . cc . log . debug ( \"\" ) return self . cc . e_corr ebcc . opt . base . BaseBruecknerEBCC . get_rotation_matrix ( u_tot = None , damping = None , t1 = None ) abstractmethod Update the rotation matrix. Also returns the total rotation matrix. Parameters: u_tot ( Optional [ SpinArrayType ] , default: None ) \u2013 Total rotation matrix. damping ( Optional [ BaseDamping ] , default: None ) \u2013 Damping object. t1 ( Optional [ SpinArrayType ] , default: None ) \u2013 T1 amplitude. Returns: tuple [ SpinArrayType , SpinArrayType ] \u2013 Rotation matrix and total rotation matrix. Source code in ebcc/opt/base.py 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 @abstractmethod def get_rotation_matrix ( self , u_tot : Optional [ SpinArrayType ] = None , damping : Optional [ BaseDamping ] = None , t1 : Optional [ SpinArrayType ] = None , ) -> tuple [ SpinArrayType , SpinArrayType ]: \"\"\"Update the rotation matrix. Also returns the total rotation matrix. Args: u_tot: Total rotation matrix. damping: Damping object. t1: T1 amplitude. Returns: Rotation matrix and total rotation matrix. \"\"\" pass ebcc . opt . base . BaseBruecknerEBCC . transform_amplitudes ( u , amplitudes = None ) abstractmethod Transform the amplitudes into the Brueckner orbital basis. Parameters: u ( SpinArrayType ) \u2013 Rotation matrix. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: Namespace [ SpinArrayType ] \u2013 Transformed cluster amplitudes. Source code in ebcc/opt/base.py 231 232 233 234 235 236 237 238 239 240 241 242 243 244 @abstractmethod def transform_amplitudes ( self , u : SpinArrayType , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None ) -> Namespace [ SpinArrayType ]: \"\"\"Transform the amplitudes into the Brueckner orbital basis. Args: u: Rotation matrix. amplitudes: Cluster amplitudes. Returns: Transformed cluster amplitudes. \"\"\" pass ebcc . opt . base . BaseBruecknerEBCC . get_t1_norm ( amplitudes = None ) abstractmethod Get the norm of the T1 amplitude. Parameters: amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: T \u2013 Norm of the T1 amplitude. Source code in ebcc/opt/base.py 246 247 248 249 250 251 252 253 254 255 256 @abstractmethod def get_t1_norm ( self , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None ) -> T : \"\"\"Get the norm of the T1 amplitude. Args: amplitudes: Cluster amplitudes. Returns: Norm of the T1 amplitude. \"\"\" pass ebcc . opt . base . BaseBruecknerEBCC . mo_to_correlated ( mo_coeff ) abstractmethod Transform the MO coefficients into the correlated basis. Parameters: mo_coeff ( Any ) \u2013 MO coefficients. Returns: Any \u2013 Correlated slice of MO coefficients. Source code in ebcc/opt/base.py 258 259 260 261 262 263 264 265 266 267 268 @abstractmethod def mo_to_correlated ( self , mo_coeff : Any ) -> Any : \"\"\"Transform the MO coefficients into the correlated basis. Args: mo_coeff: MO coefficients. Returns: Correlated slice of MO coefficients. \"\"\" pass ebcc . opt . base . BaseBruecknerEBCC . mo_update_correlated ( mo_coeff , mo_coeff_corr ) abstractmethod Update the correlated slice of a set of MO coefficients. Parameters: mo_coeff ( Any ) \u2013 MO coefficients. mo_coeff_corr ( Any ) \u2013 Correlated slice of MO coefficients. Returns: Any \u2013 Updated MO coefficients. Source code in ebcc/opt/base.py 270 271 272 273 274 275 276 277 278 279 280 281 @abstractmethod def mo_update_correlated ( self , mo_coeff : Any , mo_coeff_corr : Any ) -> Any : \"\"\"Update the correlated slice of a set of MO coefficients. Args: mo_coeff: MO coefficients. mo_coeff_corr: Correlated slice of MO coefficients. Returns: Updated MO coefficients. \"\"\" pass ebcc . opt . base . BaseBruecknerEBCC . update_coefficients ( u_tot , mo_coeff_new , mo_coeff_ref ) abstractmethod Update the MO coefficients. Parameters: u_tot ( SpinArrayType ) \u2013 Total rotation matrix. mo_coeff_new ( Any ) \u2013 New MO coefficients. mo_coeff_ref ( Any ) \u2013 Reference MO coefficients. Returns: Any \u2013 Updated MO coefficients. Source code in ebcc/opt/base.py 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 @abstractmethod def update_coefficients ( self , u_tot : SpinArrayType , mo_coeff_new : Any , mo_coeff_ref : Any ) -> Any : \"\"\"Update the MO coefficients. Args: u_tot: Total rotation matrix. mo_coeff_new: New MO coefficients. mo_coeff_ref: Reference MO coefficients. Returns: Updated MO coefficients. \"\"\" pass","title":"Base"},{"location":"reference/opt/base/#ebcc.opt.base.BaseOptions","text":"Bases: _BaseOptions Options for Brueckner-orbital calculations. Parameters: e_tol ( float , default: 1e-08 ) \u2013 Threshold for converged in the correlation energy. t_tol ( float , default: 1e-08 ) \u2013 Threshold for converged in the amplitude norm. max_iter ( int , default: 20 ) \u2013 Maximum number of iterations. diis_space ( int , default: 9 ) \u2013 Number of amplitudes to use in DIIS extrapolation. diis_min_space ( int , default: 1 ) \u2013 Minimum number of amplitudes to use in DIIS extrapolation. damping ( float , default: 0.0 ) \u2013 Damping factor for DIIS extrapolation.","title":"BaseOptions"},{"location":"reference/opt/base/#ebcc.opt.base.BaseBruecknerEBCC","text":"Bases: ABC Base class for Brueckner-orbital coupled cluster. Initialise the Brueckner EBCC object. Parameters: cc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/opt/base.py 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 def __init__ ( self , cc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : r \"\"\"Initialise the Brueckner EBCC object. Args: cc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . cc = cc self . mf = cc . mf self . space = cc . space self . log = cc . log # Attributes: self . converged = False # Logging: 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 \" > diis_min_space: { ANSI . y }{ self . options . diis_min_space }{ ANSI . R } \" ) cc . log . info ( f \" > damping: { ANSI . y }{ self . options . damping }{ ANSI . R } \" ) cc . log . debug ( \"\" )","title":"BaseBruecknerEBCC"},{"location":"reference/opt/base/#ebcc.opt.base.BaseBruecknerEBCC.spin_type","text":"Get the spin type.","title":"spin_type"},{"location":"reference/opt/base/#ebcc.opt.base.BaseBruecknerEBCC.name","text":"Get the name of the method.","title":"name"},{"location":"reference/opt/base/#ebcc.opt.base.BaseBruecknerEBCC.kernel","text":"Run the Bruckner-orbital coupled cluster calculation. Returns: float \u2013 Correlation energy. Source code in ebcc/opt/base.py 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 def kernel ( self ) -> float : \"\"\"Run the Bruckner-orbital coupled cluster calculation. Returns: Correlation energy. \"\"\" timer = util . Timer () # Make sure the initial CC calculation is converged: if not self . cc . converged : with lib . temporary_env ( self . cc , log = NullLogger ()): self . cc . kernel () # Set up DIIS: damping = self . Damping ( options = self . options ) # Initialise coefficients: mo_coeff_new : NDArray [ T ] = np . copy ( np . asarray ( self . cc . mo_coeff , dtype = types [ float ])) mo_coeff_ref : NDArray [ T ] = np . copy ( np . asarray ( self . cc . mo_coeff , dtype = types [ float ])) mo_coeff_ref = self . mo_to_correlated ( mo_coeff_ref ) u_tot = None self . cc . log . output ( \"Solving for Brueckner orbitals.\" ) self . cc . log . debug ( \"\" ) self . log . info ( f \" { ANSI . B }{ 'Iter' : >4s } { 'Energy (corr.)' : >16s } { 'Energy (tot.)' : >18s } \" f \" { 'Conv.' : >8s } { '\u0394(Energy)' : >13s } { '|T1|' : >13s }{ ANSI . R } \" ) self . log . info ( 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 for niter in range ( 1 , self . options . max_iter + 1 ): # Update rotation matrix: u , u_tot = self . get_rotation_matrix ( u_tot = u_tot , damping = damping ) # Update MO coefficients: mo_coeff_new = self . update_coefficients ( u_tot , mo_coeff_new , mo_coeff_ref ) # Transform mean-field and amplitudes: self . mf . mo_coeff = numpy . asarray ( mo_coeff_new ) self . mf . e_tot = self . mf . energy_tot () amplitudes = self . transform_amplitudes ( u ) # Run CC calculation: e_prev = self . cc . e_tot with lib . temporary_env ( self . cc , log = NullLogger ()): self . cc . __class__ . __init__ ( self . cc , self . mf , log = self . cc . log , ansatz = self . cc . ansatz , space = self . cc . space , omega = self . cc . omega , g = self . cc . bare_g , G = self . cc . bare_G , options = self . cc . options , ) self . cc . amplitudes = amplitudes self . cc . kernel () de = abs ( e_prev - self . cc . e_tot ) dt = self . get_t1_norm () # Log the iteration: converged_e = bool ( de < self . options . e_tol ) converged_t = bool ( dt < self . options . t_tol ) self . log . info ( f \" { niter : 4d } { self . cc . e_corr : 16.10f } { self . cc . e_tot : 18.10f } \" f \" { [ ANSI . r , ANSI . g ][ int ( self . cc . converged )] }{ self . cc . converged !r: >8 }{ ANSI . R } \" f \" { [ ANSI . r , ANSI . g ][ int ( converged_e )] }{ de : 13.3e }{ ANSI . R } \" f \" { [ ANSI . r , ANSI . g ][ int ( converged_t )] }{ dt : 13.3e }{ ANSI . R } \" ) # Check for convergence: converged = converged_e and converged_t if converged : self . log . debug ( \"\" ) self . log . output ( f \" { ANSI . g } Converged. { ANSI . R } \" ) break else : 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 ) self . cc . log . output ( \"E(tot) = %.10f \" , self . cc . e_tot ) self . cc . log . debug ( \"\" ) self . cc . log . debug ( \"Time elapsed: %s \" , timer . format_time ( timer ())) self . cc . log . debug ( \"\" ) return self . cc . e_corr","title":"kernel"},{"location":"reference/opt/base/#ebcc.opt.base.BaseBruecknerEBCC.get_rotation_matrix","text":"Update the rotation matrix. Also returns the total rotation matrix. Parameters: u_tot ( Optional [ SpinArrayType ] , default: None ) \u2013 Total rotation matrix. damping ( Optional [ BaseDamping ] , default: None ) \u2013 Damping object. t1 ( Optional [ SpinArrayType ] , default: None ) \u2013 T1 amplitude. Returns: tuple [ SpinArrayType , SpinArrayType ] \u2013 Rotation matrix and total rotation matrix. Source code in ebcc/opt/base.py 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 @abstractmethod def get_rotation_matrix ( self , u_tot : Optional [ SpinArrayType ] = None , damping : Optional [ BaseDamping ] = None , t1 : Optional [ SpinArrayType ] = None , ) -> tuple [ SpinArrayType , SpinArrayType ]: \"\"\"Update the rotation matrix. Also returns the total rotation matrix. Args: u_tot: Total rotation matrix. damping: Damping object. t1: T1 amplitude. Returns: Rotation matrix and total rotation matrix. \"\"\" pass","title":"get_rotation_matrix"},{"location":"reference/opt/base/#ebcc.opt.base.BaseBruecknerEBCC.transform_amplitudes","text":"Transform the amplitudes into the Brueckner orbital basis. Parameters: u ( SpinArrayType ) \u2013 Rotation matrix. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: Namespace [ SpinArrayType ] \u2013 Transformed cluster amplitudes. Source code in ebcc/opt/base.py 231 232 233 234 235 236 237 238 239 240 241 242 243 244 @abstractmethod def transform_amplitudes ( self , u : SpinArrayType , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None ) -> Namespace [ SpinArrayType ]: \"\"\"Transform the amplitudes into the Brueckner orbital basis. Args: u: Rotation matrix. amplitudes: Cluster amplitudes. Returns: Transformed cluster amplitudes. \"\"\" pass","title":"transform_amplitudes"},{"location":"reference/opt/base/#ebcc.opt.base.BaseBruecknerEBCC.get_t1_norm","text":"Get the norm of the T1 amplitude. Parameters: amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: T \u2013 Norm of the T1 amplitude. Source code in ebcc/opt/base.py 246 247 248 249 250 251 252 253 254 255 256 @abstractmethod def get_t1_norm ( self , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None ) -> T : \"\"\"Get the norm of the T1 amplitude. Args: amplitudes: Cluster amplitudes. Returns: Norm of the T1 amplitude. \"\"\" pass","title":"get_t1_norm"},{"location":"reference/opt/base/#ebcc.opt.base.BaseBruecknerEBCC.mo_to_correlated","text":"Transform the MO coefficients into the correlated basis. Parameters: mo_coeff ( Any ) \u2013 MO coefficients. Returns: Any \u2013 Correlated slice of MO coefficients. Source code in ebcc/opt/base.py 258 259 260 261 262 263 264 265 266 267 268 @abstractmethod def mo_to_correlated ( self , mo_coeff : Any ) -> Any : \"\"\"Transform the MO coefficients into the correlated basis. Args: mo_coeff: MO coefficients. Returns: Correlated slice of MO coefficients. \"\"\" pass","title":"mo_to_correlated"},{"location":"reference/opt/base/#ebcc.opt.base.BaseBruecknerEBCC.mo_update_correlated","text":"Update the correlated slice of a set of MO coefficients. Parameters: mo_coeff ( Any ) \u2013 MO coefficients. mo_coeff_corr ( Any ) \u2013 Correlated slice of MO coefficients. Returns: Any \u2013 Updated MO coefficients. Source code in ebcc/opt/base.py 270 271 272 273 274 275 276 277 278 279 280 281 @abstractmethod def mo_update_correlated ( self , mo_coeff : Any , mo_coeff_corr : Any ) -> Any : \"\"\"Update the correlated slice of a set of MO coefficients. Args: mo_coeff: MO coefficients. mo_coeff_corr: Correlated slice of MO coefficients. Returns: Updated MO coefficients. \"\"\" pass","title":"mo_update_correlated"},{"location":"reference/opt/base/#ebcc.opt.base.BaseBruecknerEBCC.update_coefficients","text":"Update the MO coefficients. Parameters: u_tot ( SpinArrayType ) \u2013 Total rotation matrix. mo_coeff_new ( Any ) \u2013 New MO coefficients. mo_coeff_ref ( Any ) \u2013 Reference MO coefficients. Returns: Any \u2013 Updated MO coefficients. Source code in ebcc/opt/base.py 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 @abstractmethod def update_coefficients ( self , u_tot : SpinArrayType , mo_coeff_new : Any , mo_coeff_ref : Any ) -> Any : \"\"\"Update the MO coefficients. Args: u_tot: Total rotation matrix. mo_coeff_new: New MO coefficients. mo_coeff_ref: Reference MO coefficients. Returns: Updated MO coefficients. \"\"\" pass","title":"update_coefficients"},{"location":"reference/opt/gbrueckner/","text":"Generalised Brueckner-orbital coupled cluster. ebcc . opt . gbrueckner . BruecknerGEBCC ( cc , options = None , ** kwargs ) Bases: BaseBruecknerEBCC Generalised Brueckner-orbital coupled cluster. Initialise the Brueckner EBCC object. Parameters: cc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/opt/base.py 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 def __init__ ( self , cc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : r \"\"\"Initialise the Brueckner EBCC object. Args: cc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . cc = cc self . mf = cc . mf self . space = cc . space self . log = cc . log # Attributes: self . converged = False # Logging: 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 \" > diis_min_space: { ANSI . y }{ self . options . diis_min_space }{ ANSI . R } \" ) cc . log . info ( f \" > damping: { ANSI . y }{ self . options . damping }{ ANSI . R } \" ) cc . log . debug ( \"\" ) ebcc . opt . gbrueckner . BruecknerGEBCC . get_rotation_matrix ( u_tot = None , damping = None , t1 = None ) Update the rotation matrix. Also returns the total rotation matrix. Parameters: u_tot ( Optional [ SpinArrayType ] , default: None ) \u2013 Total rotation matrix. damping ( Optional [ BaseDamping ] , default: None ) \u2013 Damping object. t1 ( Optional [ SpinArrayType ] , default: None ) \u2013 T1 amplitude. Returns: tuple [ SpinArrayType , SpinArrayType ] \u2013 Rotation matrix and total rotation matrix. Source code in ebcc/opt/gbrueckner.py 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 def get_rotation_matrix ( self , u_tot : Optional [ SpinArrayType ] = None , damping : Optional [ BaseDamping ] = None , t1 : Optional [ SpinArrayType ] = None , ) -> tuple [ SpinArrayType , SpinArrayType ]: \"\"\"Update the rotation matrix. Also returns the total rotation matrix. Args: u_tot: Total rotation matrix. damping: Damping object. t1: T1 amplitude. Returns: Rotation matrix and total rotation matrix. \"\"\" if t1 is None : t1 = self . cc . t1 if u_tot is None : u_tot = np . eye ( self . cc . space . ncorr , dtype = types [ float ]) zocc = np . zeros (( self . cc . space . ncocc , self . cc . space . ncocc )) zvir = np . zeros (( self . cc . space . ncvir , self . cc . space . ncvir )) t1_block : NDArray [ T ] = np . block ([[ zocc , - t1 ], [ np . transpose ( t1 ), zvir ]]) u = scipy . linalg . expm ( t1_block ) u_tot = u_tot @ u if np . linalg . det ( u_tot ) < 0 : u_tot = _put ( u_tot , np . ix_ ( np . arange ( u_tot . shape [ 0 ]), np . array ([ 0 ])), - u_tot [:, 0 ]) a : NDArray [ T ] = np . asarray ( np . real ( scipy . linalg . logm ( u_tot )), dtype = types [ float ]) if damping is not None : a = damping ( a , error = t1 ) u_tot = scipy . linalg . expm ( a ) return u , u_tot ebcc . opt . gbrueckner . BruecknerGEBCC . transform_amplitudes ( u , amplitudes = None ) Transform the amplitudes into the Brueckner orbital basis. Parameters: u ( SpinArrayType ) \u2013 Rotation matrix. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: Namespace [ SpinArrayType ] \u2013 Transformed cluster amplitudes. Source code in ebcc/opt/gbrueckner.py 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 def transform_amplitudes ( self , u : SpinArrayType , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None ) -> Namespace [ SpinArrayType ]: \"\"\"Transform the amplitudes into the Brueckner orbital basis. Args: u: Rotation matrix. amplitudes: Cluster amplitudes. Returns: Transformed cluster amplitudes. \"\"\" if not amplitudes : amplitudes = self . cc . amplitudes nocc = self . cc . space . ncocc ci = u [: nocc , : nocc ] ca = u [ nocc :, nocc :] # Transform T amplitudes: for name , key , n in self . cc . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): args : list [ Union [ tuple [ int , ... ], NDArray [ T ]]] = [ self . cc . amplitudes [ name ], tuple ( range ( n * 2 )), ] for i in range ( n ): args += [ ci , ( i , i + n * 2 )] for i in range ( n ): args += [ ca , ( i + n , i + n * 3 )] args += [ tuple ( range ( n * 2 , n * 4 ))] self . cc . amplitudes [ name ] = util . einsum ( * args ) # Transform S amplitudes: for name , key , n in self . cc . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): raise util . ModelNotImplemented # TODO # Transform U amplitudes: for name , key , nf , nb in self . cc . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): raise util . ModelNotImplemented # TODO return self . cc . amplitudes ebcc . opt . gbrueckner . BruecknerGEBCC . get_t1_norm ( amplitudes = None ) Get the norm of the T1 amplitude. Parameters: amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: T \u2013 Norm of the T1 amplitude. Source code in ebcc/opt/gbrueckner.py 117 118 119 120 121 122 123 124 125 126 127 128 129 def get_t1_norm ( self , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None ) -> T : \"\"\"Get the norm of the T1 amplitude. Args: amplitudes: Cluster amplitudes. Returns: Norm of the T1 amplitude. \"\"\" if not amplitudes : amplitudes = self . cc . amplitudes weight : T = np . linalg . norm ( amplitudes [ \"t1\" ]) return weight ebcc . opt . gbrueckner . BruecknerGEBCC . mo_to_correlated ( mo_coeff ) Transform the MO coefficients into the correlated basis. Parameters: mo_coeff ( NDArray [ T ] ) \u2013 MO coefficients. Returns: NDArray [ T ] \u2013 Correlated slice of MO coefficients. Source code in ebcc/opt/gbrueckner.py 131 132 133 134 135 136 137 138 139 140 def mo_to_correlated ( self , mo_coeff : NDArray [ T ]) -> NDArray [ T ]: \"\"\"Transform the MO coefficients into the correlated basis. Args: mo_coeff: MO coefficients. Returns: Correlated slice of MO coefficients. \"\"\" return mo_coeff [:, self . cc . space . correlated ] ebcc . opt . gbrueckner . BruecknerGEBCC . mo_update_correlated ( mo_coeff , mo_coeff_corr ) Update the correlated slice of a set of MO coefficients. Parameters: mo_coeff ( NDArray [ T ] ) \u2013 MO coefficients. mo_coeff_corr ( NDArray [ T ] ) \u2013 Correlated slice of MO coefficients. Returns: NDArray [ T ] \u2013 Updated MO coefficients. Source code in ebcc/opt/gbrueckner.py 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 def mo_update_correlated ( self , mo_coeff : NDArray [ T ], mo_coeff_corr : NDArray [ T ]) -> NDArray [ T ]: \"\"\"Update the correlated slice of a set of MO coefficients. Args: mo_coeff: MO coefficients. mo_coeff_corr: Correlated slice of MO coefficients. Returns: Updated MO coefficients. \"\"\" mo_coeff = _put ( mo_coeff , np . ix_ ( np . arange ( mo_coeff . shape [ 0 ]), self . cc . space . correlated ), # type: ignore mo_coeff_corr , ) return mo_coeff ebcc . opt . gbrueckner . BruecknerGEBCC . update_coefficients ( u_tot , mo_coeff , mo_coeff_ref ) Update the MO coefficients. Parameters: u_tot ( SpinArrayType ) \u2013 Total rotation matrix. mo_coeff ( NDArray [ T ] ) \u2013 New MO coefficients. mo_coeff_ref ( NDArray [ T ] ) \u2013 Reference MO coefficients. Returns: NDArray [ T ] \u2013 Updated MO coefficients. Source code in ebcc/opt/gbrueckner.py 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 def update_coefficients ( self , u_tot : SpinArrayType , mo_coeff : NDArray [ T ], mo_coeff_ref : NDArray [ T ] ) -> NDArray [ T ]: \"\"\"Update the MO coefficients. Args: u_tot: Total rotation matrix. mo_coeff: New MO coefficients. mo_coeff_ref: Reference MO coefficients. Returns: Updated MO coefficients. \"\"\" mo_coeff_new_corr = util . einsum ( \"pi,ij->pj\" , mo_coeff_ref , u_tot ) mo_coeff_new = self . mo_update_correlated ( mo_coeff , mo_coeff_new_corr ) return mo_coeff_new","title":"Generalised"},{"location":"reference/opt/gbrueckner/#ebcc.opt.gbrueckner.BruecknerGEBCC","text":"Bases: BaseBruecknerEBCC Generalised Brueckner-orbital coupled cluster. Initialise the Brueckner EBCC object. Parameters: cc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/opt/base.py 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 def __init__ ( self , cc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : r \"\"\"Initialise the Brueckner EBCC object. Args: cc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . cc = cc self . mf = cc . mf self . space = cc . space self . log = cc . log # Attributes: self . converged = False # Logging: 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 \" > diis_min_space: { ANSI . y }{ self . options . diis_min_space }{ ANSI . R } \" ) cc . log . info ( f \" > damping: { ANSI . y }{ self . options . damping }{ ANSI . R } \" ) cc . log . debug ( \"\" )","title":"BruecknerGEBCC"},{"location":"reference/opt/gbrueckner/#ebcc.opt.gbrueckner.BruecknerGEBCC.get_rotation_matrix","text":"Update the rotation matrix. Also returns the total rotation matrix. Parameters: u_tot ( Optional [ SpinArrayType ] , default: None ) \u2013 Total rotation matrix. damping ( Optional [ BaseDamping ] , default: None ) \u2013 Damping object. t1 ( Optional [ SpinArrayType ] , default: None ) \u2013 T1 amplitude. Returns: tuple [ SpinArrayType , SpinArrayType ] \u2013 Rotation matrix and total rotation matrix. Source code in ebcc/opt/gbrueckner.py 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 def get_rotation_matrix ( self , u_tot : Optional [ SpinArrayType ] = None , damping : Optional [ BaseDamping ] = None , t1 : Optional [ SpinArrayType ] = None , ) -> tuple [ SpinArrayType , SpinArrayType ]: \"\"\"Update the rotation matrix. Also returns the total rotation matrix. Args: u_tot: Total rotation matrix. damping: Damping object. t1: T1 amplitude. Returns: Rotation matrix and total rotation matrix. \"\"\" if t1 is None : t1 = self . cc . t1 if u_tot is None : u_tot = np . eye ( self . cc . space . ncorr , dtype = types [ float ]) zocc = np . zeros (( self . cc . space . ncocc , self . cc . space . ncocc )) zvir = np . zeros (( self . cc . space . ncvir , self . cc . space . ncvir )) t1_block : NDArray [ T ] = np . block ([[ zocc , - t1 ], [ np . transpose ( t1 ), zvir ]]) u = scipy . linalg . expm ( t1_block ) u_tot = u_tot @ u if np . linalg . det ( u_tot ) < 0 : u_tot = _put ( u_tot , np . ix_ ( np . arange ( u_tot . shape [ 0 ]), np . array ([ 0 ])), - u_tot [:, 0 ]) a : NDArray [ T ] = np . asarray ( np . real ( scipy . linalg . logm ( u_tot )), dtype = types [ float ]) if damping is not None : a = damping ( a , error = t1 ) u_tot = scipy . linalg . expm ( a ) return u , u_tot","title":"get_rotation_matrix"},{"location":"reference/opt/gbrueckner/#ebcc.opt.gbrueckner.BruecknerGEBCC.transform_amplitudes","text":"Transform the amplitudes into the Brueckner orbital basis. Parameters: u ( SpinArrayType ) \u2013 Rotation matrix. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: Namespace [ SpinArrayType ] \u2013 Transformed cluster amplitudes. Source code in ebcc/opt/gbrueckner.py 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 def transform_amplitudes ( self , u : SpinArrayType , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None ) -> Namespace [ SpinArrayType ]: \"\"\"Transform the amplitudes into the Brueckner orbital basis. Args: u: Rotation matrix. amplitudes: Cluster amplitudes. Returns: Transformed cluster amplitudes. \"\"\" if not amplitudes : amplitudes = self . cc . amplitudes nocc = self . cc . space . ncocc ci = u [: nocc , : nocc ] ca = u [ nocc :, nocc :] # Transform T amplitudes: for name , key , n in self . cc . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): args : list [ Union [ tuple [ int , ... ], NDArray [ T ]]] = [ self . cc . amplitudes [ name ], tuple ( range ( n * 2 )), ] for i in range ( n ): args += [ ci , ( i , i + n * 2 )] for i in range ( n ): args += [ ca , ( i + n , i + n * 3 )] args += [ tuple ( range ( n * 2 , n * 4 ))] self . cc . amplitudes [ name ] = util . einsum ( * args ) # Transform S amplitudes: for name , key , n in self . cc . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): raise util . ModelNotImplemented # TODO # Transform U amplitudes: for name , key , nf , nb in self . cc . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): raise util . ModelNotImplemented # TODO return self . cc . amplitudes","title":"transform_amplitudes"},{"location":"reference/opt/gbrueckner/#ebcc.opt.gbrueckner.BruecknerGEBCC.get_t1_norm","text":"Get the norm of the T1 amplitude. Parameters: amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: T \u2013 Norm of the T1 amplitude. Source code in ebcc/opt/gbrueckner.py 117 118 119 120 121 122 123 124 125 126 127 128 129 def get_t1_norm ( self , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None ) -> T : \"\"\"Get the norm of the T1 amplitude. Args: amplitudes: Cluster amplitudes. Returns: Norm of the T1 amplitude. \"\"\" if not amplitudes : amplitudes = self . cc . amplitudes weight : T = np . linalg . norm ( amplitudes [ \"t1\" ]) return weight","title":"get_t1_norm"},{"location":"reference/opt/gbrueckner/#ebcc.opt.gbrueckner.BruecknerGEBCC.mo_to_correlated","text":"Transform the MO coefficients into the correlated basis. Parameters: mo_coeff ( NDArray [ T ] ) \u2013 MO coefficients. Returns: NDArray [ T ] \u2013 Correlated slice of MO coefficients. Source code in ebcc/opt/gbrueckner.py 131 132 133 134 135 136 137 138 139 140 def mo_to_correlated ( self , mo_coeff : NDArray [ T ]) -> NDArray [ T ]: \"\"\"Transform the MO coefficients into the correlated basis. Args: mo_coeff: MO coefficients. Returns: Correlated slice of MO coefficients. \"\"\" return mo_coeff [:, self . cc . space . correlated ]","title":"mo_to_correlated"},{"location":"reference/opt/gbrueckner/#ebcc.opt.gbrueckner.BruecknerGEBCC.mo_update_correlated","text":"Update the correlated slice of a set of MO coefficients. Parameters: mo_coeff ( NDArray [ T ] ) \u2013 MO coefficients. mo_coeff_corr ( NDArray [ T ] ) \u2013 Correlated slice of MO coefficients. Returns: NDArray [ T ] \u2013 Updated MO coefficients. Source code in ebcc/opt/gbrueckner.py 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 def mo_update_correlated ( self , mo_coeff : NDArray [ T ], mo_coeff_corr : NDArray [ T ]) -> NDArray [ T ]: \"\"\"Update the correlated slice of a set of MO coefficients. Args: mo_coeff: MO coefficients. mo_coeff_corr: Correlated slice of MO coefficients. Returns: Updated MO coefficients. \"\"\" mo_coeff = _put ( mo_coeff , np . ix_ ( np . arange ( mo_coeff . shape [ 0 ]), self . cc . space . correlated ), # type: ignore mo_coeff_corr , ) return mo_coeff","title":"mo_update_correlated"},{"location":"reference/opt/gbrueckner/#ebcc.opt.gbrueckner.BruecknerGEBCC.update_coefficients","text":"Update the MO coefficients. Parameters: u_tot ( SpinArrayType ) \u2013 Total rotation matrix. mo_coeff ( NDArray [ T ] ) \u2013 New MO coefficients. mo_coeff_ref ( NDArray [ T ] ) \u2013 Reference MO coefficients. Returns: NDArray [ T ] \u2013 Updated MO coefficients. Source code in ebcc/opt/gbrueckner.py 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 def update_coefficients ( self , u_tot : SpinArrayType , mo_coeff : NDArray [ T ], mo_coeff_ref : NDArray [ T ] ) -> NDArray [ T ]: \"\"\"Update the MO coefficients. Args: u_tot: Total rotation matrix. mo_coeff: New MO coefficients. mo_coeff_ref: Reference MO coefficients. Returns: Updated MO coefficients. \"\"\" mo_coeff_new_corr = util . einsum ( \"pi,ij->pj\" , mo_coeff_ref , u_tot ) mo_coeff_new = self . mo_update_correlated ( mo_coeff , mo_coeff_new_corr ) return mo_coeff_new","title":"update_coefficients"},{"location":"reference/opt/rbrueckner/","text":"Restricted Brueckner-orbital coupled cluster. ebcc . opt . rbrueckner . BruecknerREBCC ( cc , options = None , ** kwargs ) Bases: BaseBruecknerEBCC Restricted Brueckner-orbital coupled cluster. Initialise the Brueckner EBCC object. Parameters: cc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/opt/base.py 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 def __init__ ( self , cc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : r \"\"\"Initialise the Brueckner EBCC object. Args: cc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . cc = cc self . mf = cc . mf self . space = cc . space self . log = cc . log # Attributes: self . converged = False # Logging: 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 \" > diis_min_space: { ANSI . y }{ self . options . diis_min_space }{ ANSI . R } \" ) cc . log . info ( f \" > damping: { ANSI . y }{ self . options . damping }{ ANSI . R } \" ) cc . log . debug ( \"\" ) ebcc . opt . rbrueckner . BruecknerREBCC . get_rotation_matrix ( u_tot = None , damping = None , t1 = None ) Update the rotation matrix. Also returns the total rotation matrix. Parameters: u_tot ( Optional [ SpinArrayType ] , default: None ) \u2013 Total rotation matrix. damping ( Optional [ BaseDamping ] , default: None ) \u2013 Damping object. t1 ( Optional [ SpinArrayType ] , default: None ) \u2013 T1 amplitude. Returns: tuple [ SpinArrayType , SpinArrayType ] \u2013 Rotation matrix and total rotation matrix. Source code in ebcc/opt/rbrueckner.py 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 def get_rotation_matrix ( self , u_tot : Optional [ SpinArrayType ] = None , damping : Optional [ BaseDamping ] = None , t1 : Optional [ SpinArrayType ] = None , ) -> tuple [ SpinArrayType , SpinArrayType ]: \"\"\"Update the rotation matrix. Also returns the total rotation matrix. Args: u_tot: Total rotation matrix. damping: Damping object. t1: T1 amplitude. Returns: Rotation matrix and total rotation matrix. \"\"\" if t1 is None : t1 = self . cc . t1 if u_tot is None : u_tot = np . eye ( self . cc . space . ncorr , dtype = types [ float ]) zocc = np . zeros (( self . cc . space . ncocc , self . cc . space . ncocc )) zvir = np . zeros (( self . cc . space . ncvir , self . cc . space . ncvir )) t1_block : NDArray [ T ] = np . block ([[ zocc , - t1 ], [ np . transpose ( t1 ), zvir ]]) u = scipy . linalg . expm ( t1_block ) u_tot = u_tot @ u if np . linalg . det ( u_tot ) < 0 : u_tot = _put ( u_tot , np . ix_ ( np . arange ( u_tot . shape [ 0 ]), np . array ([ 0 ])), - u_tot [:, 0 ]) a : NDArray [ T ] = np . asarray ( np . real ( scipy . linalg . logm ( u_tot )), dtype = types [ float ]) if damping is not None : a = damping ( a , error = t1 ) u_tot = scipy . linalg . expm ( a ) return u , u_tot ebcc . opt . rbrueckner . BruecknerREBCC . transform_amplitudes ( u , amplitudes = None ) Transform the amplitudes into the Brueckner orbital basis. Parameters: u ( SpinArrayType ) \u2013 Rotation matrix. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: Namespace [ SpinArrayType ] \u2013 Transformed cluster amplitudes. Source code in ebcc/opt/rbrueckner.py 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 def transform_amplitudes ( self , u : SpinArrayType , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None ) -> Namespace [ SpinArrayType ]: \"\"\"Transform the amplitudes into the Brueckner orbital basis. Args: u: Rotation matrix. amplitudes: Cluster amplitudes. Returns: Transformed cluster amplitudes. \"\"\" if not amplitudes : amplitudes = self . cc . amplitudes nocc = self . cc . space . ncocc ci = u [: nocc , : nocc ] ca = u [ nocc :, nocc :] # Transform T amplitudes: for name , key , n in self . cc . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): args : list [ Union [ SpinArrayType , tuple [ int , ... ]]] = [ self . cc . amplitudes [ name ], tuple ( range ( n * 2 )), ] for i in range ( n ): args += [ ci , ( i , i + n * 2 )] for i in range ( n ): args += [ ca , ( i + n , i + n * 3 )] args += [ tuple ( range ( n * 2 , n * 4 ))] self . cc . amplitudes [ name ] = util . einsum ( * args ) # Transform S amplitudes: for name , key , n in self . cc . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): raise util . ModelNotImplemented # TODO # Transform U amplitudes: for name , key , nf , nb in self . cc . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): raise util . ModelNotImplemented # TODO return self . cc . amplitudes ebcc . opt . rbrueckner . BruecknerREBCC . get_t1_norm ( amplitudes = None ) Get the norm of the T1 amplitude. Parameters: amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: T \u2013 Norm of the T1 amplitude. Source code in ebcc/opt/rbrueckner.py 117 118 119 120 121 122 123 124 125 126 127 128 129 def get_t1_norm ( self , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None ) -> T : \"\"\"Get the norm of the T1 amplitude. Args: amplitudes: Cluster amplitudes. Returns: Norm of the T1 amplitude. \"\"\" if not amplitudes : amplitudes = self . cc . amplitudes weight : T = np . linalg . norm ( amplitudes [ \"t1\" ]) return weight ebcc . opt . rbrueckner . BruecknerREBCC . mo_to_correlated ( mo_coeff ) Transform the MO coefficients into the correlated basis. Parameters: mo_coeff ( NDArray [ T ] ) \u2013 MO coefficients. Returns: NDArray [ T ] \u2013 Correlated slice of MO coefficients. Source code in ebcc/opt/rbrueckner.py 131 132 133 134 135 136 137 138 139 140 def mo_to_correlated ( self , mo_coeff : NDArray [ T ]) -> NDArray [ T ]: \"\"\"Transform the MO coefficients into the correlated basis. Args: mo_coeff: MO coefficients. Returns: Correlated slice of MO coefficients. \"\"\" return mo_coeff [:, self . cc . space . correlated ] ebcc . opt . rbrueckner . BruecknerREBCC . mo_update_correlated ( mo_coeff , mo_coeff_corr ) Update the correlated slice of a set of MO coefficients. Parameters: mo_coeff ( NDArray [ T ] ) \u2013 MO coefficients. mo_coeff_corr ( NDArray [ T ] ) \u2013 Correlated slice of MO coefficients. Returns: NDArray [ T ] \u2013 Updated MO coefficients. Source code in ebcc/opt/rbrueckner.py 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 def mo_update_correlated ( self , mo_coeff : NDArray [ T ], mo_coeff_corr : NDArray [ T ]) -> NDArray [ T ]: \"\"\"Update the correlated slice of a set of MO coefficients. Args: mo_coeff: MO coefficients. mo_coeff_corr: Correlated slice of MO coefficients. Returns: Updated MO coefficients. \"\"\" mo_coeff = _put ( mo_coeff , np . ix_ ( np . arange ( mo_coeff . shape [ 0 ]), self . cc . space . correlated ), # type: ignore mo_coeff_corr , ) return mo_coeff ebcc . opt . rbrueckner . BruecknerREBCC . update_coefficients ( u_tot , mo_coeff , mo_coeff_ref ) Update the MO coefficients. Parameters: u_tot ( SpinArrayType ) \u2013 Total rotation matrix. mo_coeff ( NDArray [ T ] ) \u2013 New MO coefficients. mo_coeff_ref ( NDArray [ T ] ) \u2013 Reference MO coefficients. Returns: NDArray [ T ] \u2013 Updated MO coefficients. Source code in ebcc/opt/rbrueckner.py 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 def update_coefficients ( self , u_tot : SpinArrayType , mo_coeff : NDArray [ T ], mo_coeff_ref : NDArray [ T ] ) -> NDArray [ T ]: \"\"\"Update the MO coefficients. Args: u_tot: Total rotation matrix. mo_coeff: New MO coefficients. mo_coeff_ref: Reference MO coefficients. Returns: Updated MO coefficients. \"\"\" mo_coeff_new_corr = util . einsum ( \"pi,ij->pj\" , mo_coeff_ref , u_tot ) mo_coeff_new = self . mo_update_correlated ( mo_coeff , mo_coeff_new_corr ) return mo_coeff_new","title":"Restricted"},{"location":"reference/opt/rbrueckner/#ebcc.opt.rbrueckner.BruecknerREBCC","text":"Bases: BaseBruecknerEBCC Restricted Brueckner-orbital coupled cluster. Initialise the Brueckner EBCC object. Parameters: cc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/opt/base.py 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 def __init__ ( self , cc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : r \"\"\"Initialise the Brueckner EBCC object. Args: cc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . cc = cc self . mf = cc . mf self . space = cc . space self . log = cc . log # Attributes: self . converged = False # Logging: 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 \" > diis_min_space: { ANSI . y }{ self . options . diis_min_space }{ ANSI . R } \" ) cc . log . info ( f \" > damping: { ANSI . y }{ self . options . damping }{ ANSI . R } \" ) cc . log . debug ( \"\" )","title":"BruecknerREBCC"},{"location":"reference/opt/rbrueckner/#ebcc.opt.rbrueckner.BruecknerREBCC.get_rotation_matrix","text":"Update the rotation matrix. Also returns the total rotation matrix. Parameters: u_tot ( Optional [ SpinArrayType ] , default: None ) \u2013 Total rotation matrix. damping ( Optional [ BaseDamping ] , default: None ) \u2013 Damping object. t1 ( Optional [ SpinArrayType ] , default: None ) \u2013 T1 amplitude. Returns: tuple [ SpinArrayType , SpinArrayType ] \u2013 Rotation matrix and total rotation matrix. Source code in ebcc/opt/rbrueckner.py 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 def get_rotation_matrix ( self , u_tot : Optional [ SpinArrayType ] = None , damping : Optional [ BaseDamping ] = None , t1 : Optional [ SpinArrayType ] = None , ) -> tuple [ SpinArrayType , SpinArrayType ]: \"\"\"Update the rotation matrix. Also returns the total rotation matrix. Args: u_tot: Total rotation matrix. damping: Damping object. t1: T1 amplitude. Returns: Rotation matrix and total rotation matrix. \"\"\" if t1 is None : t1 = self . cc . t1 if u_tot is None : u_tot = np . eye ( self . cc . space . ncorr , dtype = types [ float ]) zocc = np . zeros (( self . cc . space . ncocc , self . cc . space . ncocc )) zvir = np . zeros (( self . cc . space . ncvir , self . cc . space . ncvir )) t1_block : NDArray [ T ] = np . block ([[ zocc , - t1 ], [ np . transpose ( t1 ), zvir ]]) u = scipy . linalg . expm ( t1_block ) u_tot = u_tot @ u if np . linalg . det ( u_tot ) < 0 : u_tot = _put ( u_tot , np . ix_ ( np . arange ( u_tot . shape [ 0 ]), np . array ([ 0 ])), - u_tot [:, 0 ]) a : NDArray [ T ] = np . asarray ( np . real ( scipy . linalg . logm ( u_tot )), dtype = types [ float ]) if damping is not None : a = damping ( a , error = t1 ) u_tot = scipy . linalg . expm ( a ) return u , u_tot","title":"get_rotation_matrix"},{"location":"reference/opt/rbrueckner/#ebcc.opt.rbrueckner.BruecknerREBCC.transform_amplitudes","text":"Transform the amplitudes into the Brueckner orbital basis. Parameters: u ( SpinArrayType ) \u2013 Rotation matrix. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: Namespace [ SpinArrayType ] \u2013 Transformed cluster amplitudes. Source code in ebcc/opt/rbrueckner.py 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 def transform_amplitudes ( self , u : SpinArrayType , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None ) -> Namespace [ SpinArrayType ]: \"\"\"Transform the amplitudes into the Brueckner orbital basis. Args: u: Rotation matrix. amplitudes: Cluster amplitudes. Returns: Transformed cluster amplitudes. \"\"\" if not amplitudes : amplitudes = self . cc . amplitudes nocc = self . cc . space . ncocc ci = u [: nocc , : nocc ] ca = u [ nocc :, nocc :] # Transform T amplitudes: for name , key , n in self . cc . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): args : list [ Union [ SpinArrayType , tuple [ int , ... ]]] = [ self . cc . amplitudes [ name ], tuple ( range ( n * 2 )), ] for i in range ( n ): args += [ ci , ( i , i + n * 2 )] for i in range ( n ): args += [ ca , ( i + n , i + n * 3 )] args += [ tuple ( range ( n * 2 , n * 4 ))] self . cc . amplitudes [ name ] = util . einsum ( * args ) # Transform S amplitudes: for name , key , n in self . cc . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): raise util . ModelNotImplemented # TODO # Transform U amplitudes: for name , key , nf , nb in self . cc . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): raise util . ModelNotImplemented # TODO return self . cc . amplitudes","title":"transform_amplitudes"},{"location":"reference/opt/rbrueckner/#ebcc.opt.rbrueckner.BruecknerREBCC.get_t1_norm","text":"Get the norm of the T1 amplitude. Parameters: amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: T \u2013 Norm of the T1 amplitude. Source code in ebcc/opt/rbrueckner.py 117 118 119 120 121 122 123 124 125 126 127 128 129 def get_t1_norm ( self , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None ) -> T : \"\"\"Get the norm of the T1 amplitude. Args: amplitudes: Cluster amplitudes. Returns: Norm of the T1 amplitude. \"\"\" if not amplitudes : amplitudes = self . cc . amplitudes weight : T = np . linalg . norm ( amplitudes [ \"t1\" ]) return weight","title":"get_t1_norm"},{"location":"reference/opt/rbrueckner/#ebcc.opt.rbrueckner.BruecknerREBCC.mo_to_correlated","text":"Transform the MO coefficients into the correlated basis. Parameters: mo_coeff ( NDArray [ T ] ) \u2013 MO coefficients. Returns: NDArray [ T ] \u2013 Correlated slice of MO coefficients. Source code in ebcc/opt/rbrueckner.py 131 132 133 134 135 136 137 138 139 140 def mo_to_correlated ( self , mo_coeff : NDArray [ T ]) -> NDArray [ T ]: \"\"\"Transform the MO coefficients into the correlated basis. Args: mo_coeff: MO coefficients. Returns: Correlated slice of MO coefficients. \"\"\" return mo_coeff [:, self . cc . space . correlated ]","title":"mo_to_correlated"},{"location":"reference/opt/rbrueckner/#ebcc.opt.rbrueckner.BruecknerREBCC.mo_update_correlated","text":"Update the correlated slice of a set of MO coefficients. Parameters: mo_coeff ( NDArray [ T ] ) \u2013 MO coefficients. mo_coeff_corr ( NDArray [ T ] ) \u2013 Correlated slice of MO coefficients. Returns: NDArray [ T ] \u2013 Updated MO coefficients. Source code in ebcc/opt/rbrueckner.py 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 def mo_update_correlated ( self , mo_coeff : NDArray [ T ], mo_coeff_corr : NDArray [ T ]) -> NDArray [ T ]: \"\"\"Update the correlated slice of a set of MO coefficients. Args: mo_coeff: MO coefficients. mo_coeff_corr: Correlated slice of MO coefficients. Returns: Updated MO coefficients. \"\"\" mo_coeff = _put ( mo_coeff , np . ix_ ( np . arange ( mo_coeff . shape [ 0 ]), self . cc . space . correlated ), # type: ignore mo_coeff_corr , ) return mo_coeff","title":"mo_update_correlated"},{"location":"reference/opt/rbrueckner/#ebcc.opt.rbrueckner.BruecknerREBCC.update_coefficients","text":"Update the MO coefficients. Parameters: u_tot ( SpinArrayType ) \u2013 Total rotation matrix. mo_coeff ( NDArray [ T ] ) \u2013 New MO coefficients. mo_coeff_ref ( NDArray [ T ] ) \u2013 Reference MO coefficients. Returns: NDArray [ T ] \u2013 Updated MO coefficients. Source code in ebcc/opt/rbrueckner.py 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 def update_coefficients ( self , u_tot : SpinArrayType , mo_coeff : NDArray [ T ], mo_coeff_ref : NDArray [ T ] ) -> NDArray [ T ]: \"\"\"Update the MO coefficients. Args: u_tot: Total rotation matrix. mo_coeff: New MO coefficients. mo_coeff_ref: Reference MO coefficients. Returns: Updated MO coefficients. \"\"\" mo_coeff_new_corr = util . einsum ( \"pi,ij->pj\" , mo_coeff_ref , u_tot ) mo_coeff_new = self . mo_update_correlated ( mo_coeff , mo_coeff_new_corr ) return mo_coeff_new","title":"update_coefficients"},{"location":"reference/opt/ubrueckner/","text":"Unrestricted Brueckner-orbital coupled cluster. ebcc . opt . ubrueckner . BruecknerUEBCC ( cc , options = None , ** kwargs ) Bases: BaseBruecknerEBCC Unrestricted Brueckner-orbital coupled cluster. Initialise the Brueckner EBCC object. Parameters: cc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/opt/base.py 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 def __init__ ( self , cc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : r \"\"\"Initialise the Brueckner EBCC object. Args: cc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . cc = cc self . mf = cc . mf self . space = cc . space self . log = cc . log # Attributes: self . converged = False # Logging: 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 \" > diis_min_space: { ANSI . y }{ self . options . diis_min_space }{ ANSI . R } \" ) cc . log . info ( f \" > damping: { ANSI . y }{ self . options . damping }{ ANSI . R } \" ) cc . log . debug ( \"\" ) ebcc . opt . ubrueckner . BruecknerUEBCC . get_rotation_matrix ( u_tot = None , damping = None , t1 = None ) Update the rotation matrix. Also returns the total rotation matrix. Parameters: u_tot ( Optional [ SpinArrayType ] , default: None ) \u2013 Total rotation matrix. damping ( Optional [ BaseDamping ] , default: None ) \u2013 Damping object. t1 ( Optional [ SpinArrayType ] , default: None ) \u2013 T1 amplitude. Returns: tuple [ SpinArrayType , SpinArrayType ] \u2013 Rotation matrix and total rotation matrix. Source code in ebcc/opt/ubrueckner.py 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 def get_rotation_matrix ( self , u_tot : Optional [ SpinArrayType ] = None , damping : Optional [ BaseDamping ] = None , t1 : Optional [ SpinArrayType ] = None , ) -> tuple [ SpinArrayType , SpinArrayType ]: \"\"\"Update the rotation matrix. Also returns the total rotation matrix. Args: u_tot: Total rotation matrix. damping: Damping object. t1: T1 amplitude. Returns: Rotation matrix and total rotation matrix. \"\"\" if t1 is None : t1 = self . cc . t1 if u_tot is None : u_tot = util . Namespace ( aa = np . eye ( self . cc . space [ 0 ] . ncorr , dtype = types [ float ]), bb = np . eye ( self . cc . space [ 1 ] . ncorr , dtype = types [ float ]), ) t1_block : Namespace [ NDArray [ T ]] = util . Namespace () zocc = np . zeros (( self . cc . space [ 0 ] . ncocc , self . cc . space [ 0 ] . ncocc )) zvir = np . zeros (( self . cc . space [ 0 ] . ncvir , self . cc . space [ 0 ] . ncvir )) t1_block . aa = np . block ([[ zocc , - t1 . aa ], [ np . transpose ( t1 . aa ), zvir ]]) zocc = np . zeros (( self . cc . space [ 1 ] . ncocc , self . cc . space [ 1 ] . ncocc )) zvir = np . zeros (( self . cc . space [ 1 ] . ncvir , self . cc . space [ 1 ] . ncvir )) t1_block . bb = np . block ([[ zocc , - t1 . bb ], [ np . transpose ( t1 . bb ), zvir ]]) u = util . Namespace ( aa = scipy . linalg . expm ( t1_block . aa ), bb = scipy . linalg . expm ( t1_block . bb )) u_tot . aa = u_tot . aa @ u . aa u_tot . bb = u_tot . bb @ u . bb if np . linalg . det ( u_tot . aa ) < 0 : u_tot . aa = _put ( u_tot . aa , np . ix_ ( np . arange ( u_tot . aa . shape [ 0 ]), np . array ([ 0 ])), - u_tot . aa [:, 0 ] ) if np . linalg . det ( u_tot . bb ) < 0 : u_tot . bb = _put ( u_tot . bb , np . ix_ ( np . arange ( u_tot . aa . shape [ 0 ]), np . array ([ 0 ])), - u_tot . bb [:, 0 ] ) a = np . concatenate ( [ np . ravel ( scipy . linalg . logm ( u_tot . aa )), np . ravel ( scipy . linalg . logm ( u_tot . bb ))], axis = 0 ) a : NDArray [ T ] = np . asarray ( np . real ( a ), dtype = types [ float ]) if damping is not None : xerr = np . concatenate ([ t1 . aa . ravel (), t1 . bb . ravel ()]) a = damping ( a , error = xerr ) u_tot . aa = scipy . linalg . expm ( np . reshape ( a [: u_tot . aa . size ], u_tot . aa . shape )) u_tot . bb = scipy . linalg . expm ( np . reshape ( a [ u_tot . aa . size :], u_tot . bb . shape )) return u , u_tot ebcc . opt . ubrueckner . BruecknerUEBCC . transform_amplitudes ( u , amplitudes = None ) Transform the amplitudes into the Brueckner orbital basis. Parameters: u ( SpinArrayType ) \u2013 Rotation matrix. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: Namespace [ SpinArrayType ] \u2013 Transformed cluster amplitudes. Source code in ebcc/opt/ubrueckner.py 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 def transform_amplitudes ( self , u : SpinArrayType , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None ) -> Namespace [ SpinArrayType ]: \"\"\"Transform the amplitudes into the Brueckner orbital basis. Args: u: Rotation matrix. amplitudes: Cluster amplitudes. Returns: Transformed cluster amplitudes. \"\"\" if not amplitudes : amplitudes = self . cc . amplitudes nocc = ( self . cc . space [ 0 ] . ncocc , self . cc . space [ 1 ] . ncocc ) ci = { \"a\" : u . aa [: nocc [ 0 ], : nocc [ 0 ]], \"b\" : u . bb [: nocc [ 1 ], : nocc [ 1 ]]} ca = { \"a\" : u . aa [ nocc [ 0 ] :, nocc [ 0 ] :], \"b\" : u . bb [ nocc [ 1 ] :, nocc [ 1 ] :]} # Transform T amplitudes: for name , key , n in self . cc . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): for comb in util . generate_spin_combinations ( n , unique = True ): args = [ getattr ( self . cc . amplitudes [ name ], comb ), tuple ( range ( n * 2 ))] for i in range ( n ): args += [ ci [ comb [ i ]], ( i , i + n * 2 )] for i in range ( n ): args += [ ca [ comb [ i + n ]], ( i + n , i + n * 3 )] args += [ tuple ( range ( n * 2 , n * 4 ))] setattr ( self . cc . amplitudes [ name ], comb , util . einsum ( * args )) # Transform S amplitudes: for name , key , n in self . cc . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): raise util . ModelNotImplemented # TODO # Transform U amplitudes: for name , key , nf , nb in self . cc . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): raise util . ModelNotImplemented # TODO return self . cc . amplitudes ebcc . opt . ubrueckner . BruecknerUEBCC . get_t1_norm ( amplitudes = None ) Get the norm of the T1 amplitude. Parameters: amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: T \u2013 Norm of the T1 amplitude. Source code in ebcc/opt/ubrueckner.py 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 def get_t1_norm ( self , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None ) -> T : \"\"\"Get the norm of the T1 amplitude. Args: amplitudes: Cluster amplitudes. Returns: Norm of the T1 amplitude. \"\"\" if not amplitudes : amplitudes = self . cc . amplitudes weight_a = np . linalg . norm ( amplitudes [ \"t1\" ] . aa ) weight_b = np . linalg . norm ( amplitudes [ \"t1\" ] . bb ) weight : T = ( weight_a ** 2 + weight_b ** 2 ) ** 0.5 return weight ebcc . opt . ubrueckner . BruecknerUEBCC . mo_to_correlated ( mo_coeff ) Transform the MO coefficients into the correlated basis. Parameters: mo_coeff ( tuple [ NDArray [ T ], NDArray [ T ]] ) \u2013 MO coefficients. Returns: tuple [ NDArray [ T ], NDArray [ T ]] \u2013 Correlated slice of MO coefficients. Source code in ebcc/opt/ubrueckner.py 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 def mo_to_correlated ( self , mo_coeff : tuple [ NDArray [ T ], NDArray [ T ]] ) -> tuple [ NDArray [ T ], NDArray [ T ]]: \"\"\"Transform the MO coefficients into the correlated basis. Args: mo_coeff: MO coefficients. Returns: Correlated slice of MO coefficients. \"\"\" return ( mo_coeff [ 0 ][:, self . cc . space [ 0 ] . correlated ], mo_coeff [ 1 ][:, self . cc . space [ 1 ] . correlated ], ) ebcc . opt . ubrueckner . BruecknerUEBCC . mo_update_correlated ( mo_coeff , mo_coeff_corr ) Update the correlated slice of a set of MO coefficients. Parameters: mo_coeff ( tuple [ NDArray [ T ], NDArray [ T ]] ) \u2013 MO coefficients. mo_coeff_corr ( tuple [ NDArray [ T ], NDArray [ T ]] ) \u2013 Correlated slice of MO coefficients. Returns: tuple [ NDArray [ T ], NDArray [ T ]] \u2013 Updated MO coefficients. Source code in ebcc/opt/ubrueckner.py 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 def mo_update_correlated ( self , mo_coeff : tuple [ NDArray [ T ], NDArray [ T ]], mo_coeff_corr : tuple [ NDArray [ T ], NDArray [ T ]], ) -> tuple [ NDArray [ T ], NDArray [ T ]]: \"\"\"Update the correlated slice of a set of MO coefficients. Args: mo_coeff: MO coefficients. mo_coeff_corr: Correlated slice of MO coefficients. Returns: Updated MO coefficients. \"\"\" space = self . cc . space mo_coeff = ( _put ( mo_coeff [ 0 ], np . ix_ ( np . arange ( mo_coeff [ 0 ] . shape [ 0 ]), space [ 0 ] . correlated ), # type: ignore mo_coeff_corr [ 0 ], ), _put ( mo_coeff [ 1 ], np . ix_ ( np . arange ( mo_coeff [ 1 ] . shape [ 0 ]), space [ 1 ] . correlated ), # type: ignore mo_coeff_corr [ 1 ], ), ) return mo_coeff ebcc . opt . ubrueckner . BruecknerUEBCC . update_coefficients ( u_tot , mo_coeff , mo_coeff_ref ) Update the MO coefficients. Parameters: u_tot ( SpinArrayType ) \u2013 Total rotation matrix. mo_coeff ( tuple [ NDArray [ T ], NDArray [ T ]] ) \u2013 New MO coefficients. mo_coeff_ref ( tuple [ NDArray [ T ], NDArray [ T ]] ) \u2013 Reference MO coefficients. Returns: tuple [ NDArray [ T ], NDArray [ T ]] \u2013 Updated MO coefficients. Source code in ebcc/opt/ubrueckner.py 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 def update_coefficients ( self , u_tot : SpinArrayType , mo_coeff : tuple [ NDArray [ T ], NDArray [ T ]], mo_coeff_ref : tuple [ NDArray [ T ], NDArray [ T ]], ) -> tuple [ NDArray [ T ], NDArray [ T ]]: \"\"\"Update the MO coefficients. Args: u_tot: Total rotation matrix. mo_coeff: New MO coefficients. mo_coeff_ref: Reference MO coefficients. Returns: Updated MO coefficients. \"\"\" mo_coeff_new_corr = ( util . einsum ( \"pi,ij->pj\" , mo_coeff_ref [ 0 ], u_tot . aa ), util . einsum ( \"pi,ij->pj\" , mo_coeff_ref [ 1 ], u_tot . bb ), ) mo_coeff_new = self . mo_update_correlated ( mo_coeff , mo_coeff_new_corr ) return mo_coeff_new","title":"Unrestricted"},{"location":"reference/opt/ubrueckner/#ebcc.opt.ubrueckner.BruecknerUEBCC","text":"Bases: BaseBruecknerEBCC Unrestricted Brueckner-orbital coupled cluster. Initialise the Brueckner EBCC object. Parameters: cc ( BaseEBCC ) \u2013 Parent EBCC object. options ( Optional [ BaseOptions ] , default: None ) \u2013 Options for the EOM calculation. **kwargs ( Any , default: {} ) \u2013 Additional keyword arguments used to update options . Source code in ebcc/opt/base.py 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 def __init__ ( self , cc : BaseEBCC , options : Optional [ BaseOptions ] = None , ** kwargs : Any , ) -> None : r \"\"\"Initialise the Brueckner EBCC object. Args: cc: Parent `EBCC` object. options: Options for the EOM calculation. **kwargs: Additional keyword arguments used to update `options`. \"\"\" # Options: if options is None : options = self . Options () self . options = options for key , val in kwargs . items (): setattr ( self . options , key , val ) # Parameters: self . cc = cc self . mf = cc . mf self . space = cc . space self . log = cc . log # Attributes: self . converged = False # Logging: 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 \" > diis_min_space: { ANSI . y }{ self . options . diis_min_space }{ ANSI . R } \" ) cc . log . info ( f \" > damping: { ANSI . y }{ self . options . damping }{ ANSI . R } \" ) cc . log . debug ( \"\" )","title":"BruecknerUEBCC"},{"location":"reference/opt/ubrueckner/#ebcc.opt.ubrueckner.BruecknerUEBCC.get_rotation_matrix","text":"Update the rotation matrix. Also returns the total rotation matrix. Parameters: u_tot ( Optional [ SpinArrayType ] , default: None ) \u2013 Total rotation matrix. damping ( Optional [ BaseDamping ] , default: None ) \u2013 Damping object. t1 ( Optional [ SpinArrayType ] , default: None ) \u2013 T1 amplitude. Returns: tuple [ SpinArrayType , SpinArrayType ] \u2013 Rotation matrix and total rotation matrix. Source code in ebcc/opt/ubrueckner.py 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 def get_rotation_matrix ( self , u_tot : Optional [ SpinArrayType ] = None , damping : Optional [ BaseDamping ] = None , t1 : Optional [ SpinArrayType ] = None , ) -> tuple [ SpinArrayType , SpinArrayType ]: \"\"\"Update the rotation matrix. Also returns the total rotation matrix. Args: u_tot: Total rotation matrix. damping: Damping object. t1: T1 amplitude. Returns: Rotation matrix and total rotation matrix. \"\"\" if t1 is None : t1 = self . cc . t1 if u_tot is None : u_tot = util . Namespace ( aa = np . eye ( self . cc . space [ 0 ] . ncorr , dtype = types [ float ]), bb = np . eye ( self . cc . space [ 1 ] . ncorr , dtype = types [ float ]), ) t1_block : Namespace [ NDArray [ T ]] = util . Namespace () zocc = np . zeros (( self . cc . space [ 0 ] . ncocc , self . cc . space [ 0 ] . ncocc )) zvir = np . zeros (( self . cc . space [ 0 ] . ncvir , self . cc . space [ 0 ] . ncvir )) t1_block . aa = np . block ([[ zocc , - t1 . aa ], [ np . transpose ( t1 . aa ), zvir ]]) zocc = np . zeros (( self . cc . space [ 1 ] . ncocc , self . cc . space [ 1 ] . ncocc )) zvir = np . zeros (( self . cc . space [ 1 ] . ncvir , self . cc . space [ 1 ] . ncvir )) t1_block . bb = np . block ([[ zocc , - t1 . bb ], [ np . transpose ( t1 . bb ), zvir ]]) u = util . Namespace ( aa = scipy . linalg . expm ( t1_block . aa ), bb = scipy . linalg . expm ( t1_block . bb )) u_tot . aa = u_tot . aa @ u . aa u_tot . bb = u_tot . bb @ u . bb if np . linalg . det ( u_tot . aa ) < 0 : u_tot . aa = _put ( u_tot . aa , np . ix_ ( np . arange ( u_tot . aa . shape [ 0 ]), np . array ([ 0 ])), - u_tot . aa [:, 0 ] ) if np . linalg . det ( u_tot . bb ) < 0 : u_tot . bb = _put ( u_tot . bb , np . ix_ ( np . arange ( u_tot . aa . shape [ 0 ]), np . array ([ 0 ])), - u_tot . bb [:, 0 ] ) a = np . concatenate ( [ np . ravel ( scipy . linalg . logm ( u_tot . aa )), np . ravel ( scipy . linalg . logm ( u_tot . bb ))], axis = 0 ) a : NDArray [ T ] = np . asarray ( np . real ( a ), dtype = types [ float ]) if damping is not None : xerr = np . concatenate ([ t1 . aa . ravel (), t1 . bb . ravel ()]) a = damping ( a , error = xerr ) u_tot . aa = scipy . linalg . expm ( np . reshape ( a [: u_tot . aa . size ], u_tot . aa . shape )) u_tot . bb = scipy . linalg . expm ( np . reshape ( a [ u_tot . aa . size :], u_tot . bb . shape )) return u , u_tot","title":"get_rotation_matrix"},{"location":"reference/opt/ubrueckner/#ebcc.opt.ubrueckner.BruecknerUEBCC.transform_amplitudes","text":"Transform the amplitudes into the Brueckner orbital basis. Parameters: u ( SpinArrayType ) \u2013 Rotation matrix. amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: Namespace [ SpinArrayType ] \u2013 Transformed cluster amplitudes. Source code in ebcc/opt/ubrueckner.py 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 def transform_amplitudes ( self , u : SpinArrayType , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None ) -> Namespace [ SpinArrayType ]: \"\"\"Transform the amplitudes into the Brueckner orbital basis. Args: u: Rotation matrix. amplitudes: Cluster amplitudes. Returns: Transformed cluster amplitudes. \"\"\" if not amplitudes : amplitudes = self . cc . amplitudes nocc = ( self . cc . space [ 0 ] . ncocc , self . cc . space [ 1 ] . ncocc ) ci = { \"a\" : u . aa [: nocc [ 0 ], : nocc [ 0 ]], \"b\" : u . bb [: nocc [ 1 ], : nocc [ 1 ]]} ca = { \"a\" : u . aa [ nocc [ 0 ] :, nocc [ 0 ] :], \"b\" : u . bb [ nocc [ 1 ] :, nocc [ 1 ] :]} # Transform T amplitudes: for name , key , n in self . cc . ansatz . fermionic_cluster_ranks ( spin_type = self . spin_type ): for comb in util . generate_spin_combinations ( n , unique = True ): args = [ getattr ( self . cc . amplitudes [ name ], comb ), tuple ( range ( n * 2 ))] for i in range ( n ): args += [ ci [ comb [ i ]], ( i , i + n * 2 )] for i in range ( n ): args += [ ca [ comb [ i + n ]], ( i + n , i + n * 3 )] args += [ tuple ( range ( n * 2 , n * 4 ))] setattr ( self . cc . amplitudes [ name ], comb , util . einsum ( * args )) # Transform S amplitudes: for name , key , n in self . cc . ansatz . bosonic_cluster_ranks ( spin_type = self . spin_type ): raise util . ModelNotImplemented # TODO # Transform U amplitudes: for name , key , nf , nb in self . cc . ansatz . coupling_cluster_ranks ( spin_type = self . spin_type ): raise util . ModelNotImplemented # TODO return self . cc . amplitudes","title":"transform_amplitudes"},{"location":"reference/opt/ubrueckner/#ebcc.opt.ubrueckner.BruecknerUEBCC.get_t1_norm","text":"Get the norm of the T1 amplitude. Parameters: amplitudes ( Optional [ Namespace [ SpinArrayType ]] , default: None ) \u2013 Cluster amplitudes. Returns: T \u2013 Norm of the T1 amplitude. Source code in ebcc/opt/ubrueckner.py 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 def get_t1_norm ( self , amplitudes : Optional [ Namespace [ SpinArrayType ]] = None ) -> T : \"\"\"Get the norm of the T1 amplitude. Args: amplitudes: Cluster amplitudes. Returns: Norm of the T1 amplitude. \"\"\" if not amplitudes : amplitudes = self . cc . amplitudes weight_a = np . linalg . norm ( amplitudes [ \"t1\" ] . aa ) weight_b = np . linalg . norm ( amplitudes [ \"t1\" ] . bb ) weight : T = ( weight_a ** 2 + weight_b ** 2 ) ** 0.5 return weight","title":"get_t1_norm"},{"location":"reference/opt/ubrueckner/#ebcc.opt.ubrueckner.BruecknerUEBCC.mo_to_correlated","text":"Transform the MO coefficients into the correlated basis. Parameters: mo_coeff ( tuple [ NDArray [ T ], NDArray [ T ]] ) \u2013 MO coefficients. Returns: tuple [ NDArray [ T ], NDArray [ T ]] \u2013 Correlated slice of MO coefficients. Source code in ebcc/opt/ubrueckner.py 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 def mo_to_correlated ( self , mo_coeff : tuple [ NDArray [ T ], NDArray [ T ]] ) -> tuple [ NDArray [ T ], NDArray [ T ]]: \"\"\"Transform the MO coefficients into the correlated basis. Args: mo_coeff: MO coefficients. Returns: Correlated slice of MO coefficients. \"\"\" return ( mo_coeff [ 0 ][:, self . cc . space [ 0 ] . correlated ], mo_coeff [ 1 ][:, self . cc . space [ 1 ] . correlated ], )","title":"mo_to_correlated"},{"location":"reference/opt/ubrueckner/#ebcc.opt.ubrueckner.BruecknerUEBCC.mo_update_correlated","text":"Update the correlated slice of a set of MO coefficients. Parameters: mo_coeff ( tuple [ NDArray [ T ], NDArray [ T ]] ) \u2013 MO coefficients. mo_coeff_corr ( tuple [ NDArray [ T ], NDArray [ T ]] ) \u2013 Correlated slice of MO coefficients. Returns: tuple [ NDArray [ T ], NDArray [ T ]] \u2013 Updated MO coefficients. Source code in ebcc/opt/ubrueckner.py 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 def mo_update_correlated ( self , mo_coeff : tuple [ NDArray [ T ], NDArray [ T ]], mo_coeff_corr : tuple [ NDArray [ T ], NDArray [ T ]], ) -> tuple [ NDArray [ T ], NDArray [ T ]]: \"\"\"Update the correlated slice of a set of MO coefficients. Args: mo_coeff: MO coefficients. mo_coeff_corr: Correlated slice of MO coefficients. Returns: Updated MO coefficients. \"\"\" space = self . cc . space mo_coeff = ( _put ( mo_coeff [ 0 ], np . ix_ ( np . arange ( mo_coeff [ 0 ] . shape [ 0 ]), space [ 0 ] . correlated ), # type: ignore mo_coeff_corr [ 0 ], ), _put ( mo_coeff [ 1 ], np . ix_ ( np . arange ( mo_coeff [ 1 ] . shape [ 0 ]), space [ 1 ] . correlated ), # type: ignore mo_coeff_corr [ 1 ], ), ) return mo_coeff","title":"mo_update_correlated"},{"location":"reference/opt/ubrueckner/#ebcc.opt.ubrueckner.BruecknerUEBCC.update_coefficients","text":"Update the MO coefficients. Parameters: u_tot ( SpinArrayType ) \u2013 Total rotation matrix. mo_coeff ( tuple [ NDArray [ T ], NDArray [ T ]] ) \u2013 New MO coefficients. mo_coeff_ref ( tuple [ NDArray [ T ], NDArray [ T ]] ) \u2013 Reference MO coefficients. Returns: tuple [ NDArray [ T ], NDArray [ T ]] \u2013 Updated MO coefficients. Source code in ebcc/opt/ubrueckner.py 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 def update_coefficients ( self , u_tot : SpinArrayType , mo_coeff : tuple [ NDArray [ T ], NDArray [ T ]], mo_coeff_ref : tuple [ NDArray [ T ], NDArray [ T ]], ) -> tuple [ NDArray [ T ], NDArray [ T ]]: \"\"\"Update the MO coefficients. Args: u_tot: Total rotation matrix. mo_coeff: New MO coefficients. mo_coeff_ref: Reference MO coefficients. Returns: Updated MO coefficients. \"\"\" mo_coeff_new_corr = ( util . einsum ( \"pi,ij->pj\" , mo_coeff_ref [ 0 ], u_tot . aa ), util . einsum ( \"pi,ij->pj\" , mo_coeff_ref [ 1 ], u_tot . bb ), ) mo_coeff_new = self . mo_update_correlated ( mo_coeff , mo_coeff_new_corr ) return mo_coeff_new","title":"update_coefficients"},{"location":"reference/util/","text":"Utilities.","title":"Index"},{"location":"reference/util/einsumfunc/","text":"Einstein summation convention. ebcc . util . einsumfunc . CONTRACTION_METHOD = 'backend' module-attribute The size of the contraction to fall back on the backend. ebcc . util . einsumfunc . BACKEND_EINSUM_SIZE = 1000 module-attribute The size of the contraction to let the backend optimize. ebcc . util . einsumfunc . BACKEND_OPTIMIZE_SIZE = 100 module-attribute Symbols used in einsum-like functions. ebcc.util.einsumfunc.EinsumOperandError Bases: ValueError Exception for invalid inputs to einsum . ebcc . util . einsumfunc . einsum ( * operands , alpha = 1.0 , beta = 0.0 , out = None , contract = None , optimize = True ) Evaluate an Einstein summation convention on the operands. Using the Einstein summation convention, many common multi-dimensional, linear algebraic array operations can be represented in a simple fashion. In implicit mode einsum computes these values. In explicit mode, einsum provides further flexibility to compute other array operations that might not be considered classical Einstein summation operations, by disabling, or forcing summation over specified subscript labels. See the numpy.einsum documentation for clarification. Parameters: operands ( OperandType , default: () ) \u2013 Any valid input to numpy.einsum . alpha ( T , default: 1.0 ) \u2013 Scaling factor for the contraction. beta ( T , default: 0.0 ) \u2013 Scaling factor for the output. out ( Optional [ NDArray [ T ]] , default: None ) \u2013 If provided, the calculation is done into this array. contract ( Optional [ Callable [..., NDArray [ T ]]] , default: None ) \u2013 The function to use for contraction. optimize ( bool , default: True ) \u2013 If True , use the numpy.einsum_path to optimize the contraction. Returns: NDArray [ T ] \u2013 The calculation based on the Einstein summation convention. Source code in ebcc/util/einsumfunc.py 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 def einsum ( * operands : OperandType , alpha : T = 1.0 , # type: ignore[assignment] beta : T = 0.0 , # type: ignore[assignment] out : Optional [ NDArray [ T ]] = None , contract : Optional [ Callable [ ... , NDArray [ T ]]] = None , optimize : bool = True , ) -> NDArray [ T ]: \"\"\"Evaluate an Einstein summation convention on the operands. Using the Einstein summation convention, many common multi-dimensional, linear algebraic array operations can be represented in a simple fashion. In *implicit* mode `einsum` computes these values. In *explicit* mode, `einsum` provides further flexibility to compute other array operations that might not be considered classical Einstein summation operations, by disabling, or forcing summation over specified subscript labels. See the `numpy.einsum` documentation for clarification. Args: operands: Any valid input to `numpy.einsum`. alpha: Scaling factor for the contraction. beta: Scaling factor for the output. out: If provided, the calculation is done into this array. contract: The function to use for contraction. optimize: If `True`, use the `numpy.einsum_path` to optimize the contraction. Returns: The calculation based on the Einstein summation convention. \"\"\" # Parse the kwargs inp , outs , args = _parse_einsum_input ( list ( operands )) # type: ignore subscript = \" %s -> %s \" % ( inp , outs ) # Get the contraction function if contract is None : contract = { \"backend\" : _contract_backend , \"ttgt\" : _contract_ttgt , \"tblis\" : _contract_tblis , }[ CONTRACTION_METHOD . lower ()] # Perform the contraction if not len ( args ): raise ValueError ( \"No input operands\" ) elif len ( args ) == 1 : # If it's just a transpose, use numpy res = _transpose_backend ( subscript , args [ 0 ], alpha = alpha , beta = beta , out = out ) elif len ( args ) == 2 : # If it's a single contraction, call the backend directly res = contract ( subscript , args [ 0 ], args [ 1 ], alpha = alpha , beta = beta , out = out ) else : # If it's a chain of contractions, use the path optimizer args = list ( args ) 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 ]) 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\" ) if len ( contraction_args ) == 1 : a = contraction_args [ 0 ] res = _transpose_backend ( einsum_str , a , alpha = types [ float ]( 1.0 ), beta = types [ float ]( 0.0 ), out = None ) else : a , b = contraction_args res = contract ( einsum_str , a , b , alpha = types [ float ]( 1.0 ), beta = types [ float ]( 0.0 ), out = None ) args . append ( res ) return res ebcc . util . einsumfunc . dirsum ( * operands ) Direct sum of arrays. Follows the numpy.einsum input conventions. Parameters: operands ( Union [ str , tuple [ int , ...], NDArray [ T ]] , default: () ) \u2013 Any valid input to numpy.einsum . Returns: NDArray [ T ] \u2013 The direct sum of the arrays. Source code in ebcc/util/einsumfunc.py 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 def dirsum ( * operands : Union [ str , tuple [ int , ... ], NDArray [ T ]]) -> NDArray [ T ]: \"\"\"Direct sum of arrays. Follows the `numpy.einsum` input conventions. Args: operands: Any valid input to `numpy.einsum`. Returns: The direct sum of the arrays. \"\"\" # Parse the input input_str , output_str , input_arrays = _parse_einsum_input ( list ( operands )) input_chars = input_str . split ( \",\" ) for i , ( chars , array ) in enumerate ( zip ( input_chars , input_arrays )): if len ( chars ) != array . ndim : raise ValueError ( f \"Dimension mismatch for array { i } .\" ) if len ( set ( chars )) != len ( chars ): unique_chars = \"\" . join ( set ( chars )) array = einsum ( f \" { chars } -> { unique_chars } \" , array ) input_chars [ i ] = unique_chars if i == 0 : res = array else : shape = res . shape + ( 1 ,) * array . ndim res = np . reshape ( res , shape ) + array # Reshape the output res = einsum ( f \" { '' . join ( input_chars ) } -> { output_str } \" , res ) return res","title":"Einstein summations"},{"location":"reference/util/einsumfunc/#ebcc.util.einsumfunc.CONTRACTION_METHOD","text":"The size of the contraction to fall back on the backend.","title":"CONTRACTION_METHOD"},{"location":"reference/util/einsumfunc/#ebcc.util.einsumfunc.BACKEND_EINSUM_SIZE","text":"The size of the contraction to let the backend optimize.","title":"BACKEND_EINSUM_SIZE"},{"location":"reference/util/einsumfunc/#ebcc.util.einsumfunc.BACKEND_OPTIMIZE_SIZE","text":"Symbols used in einsum-like functions.","title":"BACKEND_OPTIMIZE_SIZE"},{"location":"reference/util/einsumfunc/#ebcc.util.einsumfunc.EinsumOperandError","text":"Bases: ValueError Exception for invalid inputs to einsum .","title":"EinsumOperandError"},{"location":"reference/util/einsumfunc/#ebcc.util.einsumfunc.einsum","text":"Evaluate an Einstein summation convention on the operands. Using the Einstein summation convention, many common multi-dimensional, linear algebraic array operations can be represented in a simple fashion. In implicit mode einsum computes these values. In explicit mode, einsum provides further flexibility to compute other array operations that might not be considered classical Einstein summation operations, by disabling, or forcing summation over specified subscript labels. See the numpy.einsum documentation for clarification. Parameters: operands ( OperandType , default: () ) \u2013 Any valid input to numpy.einsum . alpha ( T , default: 1.0 ) \u2013 Scaling factor for the contraction. beta ( T , default: 0.0 ) \u2013 Scaling factor for the output. out ( Optional [ NDArray [ T ]] , default: None ) \u2013 If provided, the calculation is done into this array. contract ( Optional [ Callable [..., NDArray [ T ]]] , default: None ) \u2013 The function to use for contraction. optimize ( bool , default: True ) \u2013 If True , use the numpy.einsum_path to optimize the contraction. Returns: NDArray [ T ] \u2013 The calculation based on the Einstein summation convention. Source code in ebcc/util/einsumfunc.py 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 def einsum ( * operands : OperandType , alpha : T = 1.0 , # type: ignore[assignment] beta : T = 0.0 , # type: ignore[assignment] out : Optional [ NDArray [ T ]] = None , contract : Optional [ Callable [ ... , NDArray [ T ]]] = None , optimize : bool = True , ) -> NDArray [ T ]: \"\"\"Evaluate an Einstein summation convention on the operands. Using the Einstein summation convention, many common multi-dimensional, linear algebraic array operations can be represented in a simple fashion. In *implicit* mode `einsum` computes these values. In *explicit* mode, `einsum` provides further flexibility to compute other array operations that might not be considered classical Einstein summation operations, by disabling, or forcing summation over specified subscript labels. See the `numpy.einsum` documentation for clarification. Args: operands: Any valid input to `numpy.einsum`. alpha: Scaling factor for the contraction. beta: Scaling factor for the output. out: If provided, the calculation is done into this array. contract: The function to use for contraction. optimize: If `True`, use the `numpy.einsum_path` to optimize the contraction. Returns: The calculation based on the Einstein summation convention. \"\"\" # Parse the kwargs inp , outs , args = _parse_einsum_input ( list ( operands )) # type: ignore subscript = \" %s -> %s \" % ( inp , outs ) # Get the contraction function if contract is None : contract = { \"backend\" : _contract_backend , \"ttgt\" : _contract_ttgt , \"tblis\" : _contract_tblis , }[ CONTRACTION_METHOD . lower ()] # Perform the contraction if not len ( args ): raise ValueError ( \"No input operands\" ) elif len ( args ) == 1 : # If it's just a transpose, use numpy res = _transpose_backend ( subscript , args [ 0 ], alpha = alpha , beta = beta , out = out ) elif len ( args ) == 2 : # If it's a single contraction, call the backend directly res = contract ( subscript , args [ 0 ], args [ 1 ], alpha = alpha , beta = beta , out = out ) else : # If it's a chain of contractions, use the path optimizer args = list ( args ) 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 ]) 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\" ) if len ( contraction_args ) == 1 : a = contraction_args [ 0 ] res = _transpose_backend ( einsum_str , a , alpha = types [ float ]( 1.0 ), beta = types [ float ]( 0.0 ), out = None ) else : a , b = contraction_args res = contract ( einsum_str , a , b , alpha = types [ float ]( 1.0 ), beta = types [ float ]( 0.0 ), out = None ) args . append ( res ) return res","title":"einsum"},{"location":"reference/util/einsumfunc/#ebcc.util.einsumfunc.dirsum","text":"Direct sum of arrays. Follows the numpy.einsum input conventions. Parameters: operands ( Union [ str , tuple [ int , ...], NDArray [ T ]] , default: () ) \u2013 Any valid input to numpy.einsum . Returns: NDArray [ T ] \u2013 The direct sum of the arrays. Source code in ebcc/util/einsumfunc.py 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 def dirsum ( * operands : Union [ str , tuple [ int , ... ], NDArray [ T ]]) -> NDArray [ T ]: \"\"\"Direct sum of arrays. Follows the `numpy.einsum` input conventions. Args: operands: Any valid input to `numpy.einsum`. Returns: The direct sum of the arrays. \"\"\" # Parse the input input_str , output_str , input_arrays = _parse_einsum_input ( list ( operands )) input_chars = input_str . split ( \",\" ) for i , ( chars , array ) in enumerate ( zip ( input_chars , input_arrays )): if len ( chars ) != array . ndim : raise ValueError ( f \"Dimension mismatch for array { i } .\" ) if len ( set ( chars )) != len ( chars ): unique_chars = \"\" . join ( set ( chars )) array = einsum ( f \" { chars } -> { unique_chars } \" , array ) input_chars [ i ] = unique_chars if i == 0 : res = array else : shape = res . shape + ( 1 ,) * array . ndim res = np . reshape ( res , shape ) + array # Reshape the output res = einsum ( f \" { '' . join ( input_chars ) } -> { output_str } \" , res ) return res","title":"dirsum"},{"location":"reference/util/misc/","text":"Miscellaneous utilities. ebcc.util.misc.Comparable Bases: Protocol Protocol for comparable objects. ebcc . util . misc . Comparable . __lt__ ( other ) abstractmethod Check if the object is less than another. Source code in ebcc/util/misc.py 20 21 22 23 @abstractmethod def __lt__ ( self , other : C ) -> Any : \"\"\"Check if the object is less than another.\"\"\" pass ebcc.util.misc.InheritedType Type for an inherited variable. ebcc.util.misc.ModelNotImplemented Bases: NotImplementedError Error for unsupported models. ebcc . util . misc . Namespace ( ** kwargs ) Bases: MutableMapping [ str , T ] , Generic [ T ] Namespace class. Replacement for SimpleNamespace, which does not trivially allow conversion to a dict for heterogenously nested objects. Attributes can be added and removed, using either string indexing or accessing the attribute directly. Initialise the namespace. Source code in ebcc/util/misc.py 65 66 67 68 69 def __init__ ( self , ** kwargs : T ): \"\"\"Initialise the namespace.\"\"\" self . __dict__ [ \"_members\" ] = {} for key , val in kwargs . items (): self . __dict__ [ \"_members\" ][ key ] = val ebcc . util . misc . Namespace . __setitem__ ( key , val ) Set an item. Source code in ebcc/util/misc.py 71 72 73 def __setitem__ ( self , key : str , val : T ) -> None : \"\"\"Set an item.\"\"\" self . __dict__ [ \"_members\" ][ key ] = val ebcc . util . misc . Namespace . __setattr__ ( key , val ) Set an attribute. Source code in ebcc/util/misc.py 75 76 77 def __setattr__ ( self , key : str , val : T ) -> None : \"\"\"Set an attribute.\"\"\" return self . __setitem__ ( key , val ) ebcc . util . misc . Namespace . __getitem__ ( key ) Get an item. Source code in ebcc/util/misc.py 79 80 81 82 def __getitem__ ( self , key : str ) -> T : \"\"\"Get an item.\"\"\" value : T = self . __dict__ [ \"_members\" ][ key ] return value ebcc . util . misc . Namespace . __getattr__ ( key ) Get an attribute. Source code in ebcc/util/misc.py 84 85 86 87 88 89 90 91 def __getattr__ ( self , key : str ) -> T : \"\"\"Get an attribute.\"\"\" if key in self . __dict__ : return self . __dict__ [ key ] # type: ignore[no-any-return] try : return self . __getitem__ ( key ) except KeyError : raise AttributeError ( f \"Namespace object has no attribute { key } \" ) ebcc . util . misc . Namespace . __delitem__ ( key ) Delete an item. Source code in ebcc/util/misc.py 93 94 95 def __delitem__ ( self , key : str ) -> None : \"\"\"Delete an item.\"\"\" self . _members . pop ( key ) ebcc . util . misc . Namespace . __delattr__ ( key ) Delete an attribute. Source code in ebcc/util/misc.py 97 98 99 def __delattr__ ( self , key : str ) -> None : \"\"\"Delete an attribute.\"\"\" return self . __delitem__ ( key ) ebcc . util . misc . Namespace . __iter__ () Iterate over the namespace as a dictionary. Source code in ebcc/util/misc.py 101 102 103 def __iter__ ( self ) -> Iterator [ str ]: \"\"\"Iterate over the namespace as a dictionary.\"\"\" yield from self . _members ebcc . util . misc . Namespace . __eq__ ( other ) Check equality. Source code in ebcc/util/misc.py 105 106 107 108 109 def __eq__ ( self , other : Any ) -> bool : \"\"\"Check equality.\"\"\" if not isinstance ( other , Namespace ): return False return dict ( self ) == dict ( other ) ebcc . util . misc . Namespace . __ne__ ( other ) Check inequality. Source code in ebcc/util/misc.py 111 112 113 def __ne__ ( self , other : Any ) -> bool : \"\"\"Check inequality.\"\"\" return not self == other ebcc . util . misc . Namespace . __contains__ ( key ) Check if an attribute exists. Source code in ebcc/util/misc.py 115 116 117 def __contains__ ( self , key : Any ) -> bool : \"\"\"Check if an attribute exists.\"\"\" return key in self . _members ebcc . util . misc . Namespace . __len__ () Get the number of attributes. Source code in ebcc/util/misc.py 119 120 121 def __len__ ( self ) -> int : \"\"\"Get the number of attributes.\"\"\" return len ( self . _members ) ebcc . util . misc . Namespace . keys () Get keys of the namespace as a dictionary. Source code in ebcc/util/misc.py 123 124 125 def keys ( self ) -> KeysView [ str ]: \"\"\"Get keys of the namespace as a dictionary.\"\"\" return self . _members . keys () ebcc . util . misc . Namespace . values () Get values of the namespace as a dictionary. Source code in ebcc/util/misc.py 127 128 129 def values ( self ) -> ValuesView [ T ]: \"\"\"Get values of the namespace as a dictionary.\"\"\" return self . _members . values () ebcc . util . misc . Namespace . items () Get items of the namespace as a dictionary. Source code in ebcc/util/misc.py 131 132 133 def items ( self ) -> ItemsView [ str , T ]: \"\"\"Get items of the namespace as a dictionary.\"\"\" return self . _members . items () ebcc . util . misc . Namespace . __repr__ () Return a string representation. Source code in ebcc/util/misc.py 135 136 137 def __repr__ ( self ) -> str : \"\"\"Return a string representation.\"\"\" return f \"Namespace( { self . _members } )\" ebcc . util . misc . Timer () Timer class. Initialise the timer. Source code in ebcc/util/misc.py 143 144 145 146 147 def __init__ ( self ) -> None : \"\"\"Initialise the timer.\"\"\" self . t_init = time . perf_counter () self . t_prev = time . perf_counter () self . t_curr = time . perf_counter () ebcc . util . misc . Timer . lap () Return the time since the last call to lap . Source code in ebcc/util/misc.py 149 150 151 152 def lap ( self ) -> float : \"\"\"Return the time since the last call to `lap`.\"\"\" self . t_prev , self . t_curr = self . t_curr , time . perf_counter () return self . t_curr - self . t_prev ebcc . util . misc . Timer . total () Return the total time since initialization. Source code in ebcc/util/misc.py 156 157 158 def total ( self ) -> float : \"\"\"Return the total time since initialization.\"\"\" return time . perf_counter () - self . t_init ebcc . util . misc . Timer . format_time ( seconds , precision = 2 ) staticmethod Return a formatted time. Source code in ebcc/util/misc.py 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 @staticmethod def format_time ( seconds : float , precision : int = 2 ) -> str : \"\"\"Return a formatted time.\"\"\" seconds , milliseconds = divmod ( seconds , 1 ) milliseconds *= 1000 minutes , seconds = divmod ( seconds , 60 ) hours , minutes = divmod ( minutes , 60 ) out = [] if hours : out . append ( \" %d h\" % hours ) if minutes : out . append ( \" %d m\" % minutes ) if seconds : out . append ( \" %d s\" % seconds ) if milliseconds : out . append ( \" %d ms\" % milliseconds ) return \" \" . join ( out [ - max ( precision , len ( out )) :]) ebcc . util . misc . prod ( values ) Return the product of values. Source code in ebcc/util/misc.py 182 183 184 185 186 187 def prod ( values : Union [ list [ int ], tuple [ int , ... ]]) -> int : \"\"\"Return the product of values.\"\"\" out = 1 for value in values : out *= value return out ebcc . util . misc . argsort ( values ) Return the indices that would sort the values. Parameters: values ( Union [ list [ Union [ float , str ]], NDArray [ generic ]] ) \u2013 The values to sort. Returns: list [ int ] \u2013 The indices that would sort the values. Source code in ebcc/util/misc.py 190 191 192 193 194 195 196 197 198 199 def argsort ( values : Union [ list [ Union [ float , str ]], NDArray [ generic ]]) -> list [ int ]: \"\"\"Return the indices that would sort the values. Args: values: The values to sort. Returns: The indices that would sort the values. \"\"\" return sorted ( range ( len ( values )), key = values . __getitem__ ) ebcc . util . misc . regularise_tuple ( * _items ) Regularise the input tuples. Allows input of the forms - func((a, b, c)) - func([a, b, c]) - func(a, b, c) - func(a) Parameters: _items ( Union [ Any , tuple [ Any , ...], list [ Any ]] , default: () ) \u2013 The input tuples. Returns: tuple [ Any , ...] \u2013 The regularised tuple. Source code in ebcc/util/misc.py 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 def regularise_tuple ( * _items : Union [ Any , tuple [ Any , ... ], list [ Any ]]) -> tuple [ Any , ... ]: \"\"\"Regularise the input tuples. Allows input of the forms - `func((a, b, c))` - `func([a, b, c])` - `func(a, b, c)` - `func(a)` Args: _items: The input tuples. Returns: The regularised tuple. \"\"\" if isinstance ( _items [ 0 ], ( tuple , list )): if len ( _items ) > 1 : raise ValueError ( \"Only one tuple can be passed.\" ) items = _items [ 0 ] else : items = _items return tuple ( items )","title":"Miscellaneous"},{"location":"reference/util/misc/#ebcc.util.misc.Comparable","text":"Bases: Protocol Protocol for comparable objects.","title":"Comparable"},{"location":"reference/util/misc/#ebcc.util.misc.Comparable.__lt__","text":"Check if the object is less than another. Source code in ebcc/util/misc.py 20 21 22 23 @abstractmethod def __lt__ ( self , other : C ) -> Any : \"\"\"Check if the object is less than another.\"\"\" pass","title":"__lt__"},{"location":"reference/util/misc/#ebcc.util.misc.InheritedType","text":"Type for an inherited variable.","title":"InheritedType"},{"location":"reference/util/misc/#ebcc.util.misc.ModelNotImplemented","text":"Bases: NotImplementedError Error for unsupported models.","title":"ModelNotImplemented"},{"location":"reference/util/misc/#ebcc.util.misc.Namespace","text":"Bases: MutableMapping [ str , T ] , Generic [ T ] Namespace class. Replacement for SimpleNamespace, which does not trivially allow conversion to a dict for heterogenously nested objects. Attributes can be added and removed, using either string indexing or accessing the attribute directly. Initialise the namespace. Source code in ebcc/util/misc.py 65 66 67 68 69 def __init__ ( self , ** kwargs : T ): \"\"\"Initialise the namespace.\"\"\" self . __dict__ [ \"_members\" ] = {} for key , val in kwargs . items (): self . __dict__ [ \"_members\" ][ key ] = val","title":"Namespace"},{"location":"reference/util/misc/#ebcc.util.misc.Namespace.__setitem__","text":"Set an item. Source code in ebcc/util/misc.py 71 72 73 def __setitem__ ( self , key : str , val : T ) -> None : \"\"\"Set an item.\"\"\" self . __dict__ [ \"_members\" ][ key ] = val","title":"__setitem__"},{"location":"reference/util/misc/#ebcc.util.misc.Namespace.__setattr__","text":"Set an attribute. Source code in ebcc/util/misc.py 75 76 77 def __setattr__ ( self , key : str , val : T ) -> None : \"\"\"Set an attribute.\"\"\" return self . __setitem__ ( key , val )","title":"__setattr__"},{"location":"reference/util/misc/#ebcc.util.misc.Namespace.__getitem__","text":"Get an item. Source code in ebcc/util/misc.py 79 80 81 82 def __getitem__ ( self , key : str ) -> T : \"\"\"Get an item.\"\"\" value : T = self . __dict__ [ \"_members\" ][ key ] return value","title":"__getitem__"},{"location":"reference/util/misc/#ebcc.util.misc.Namespace.__getattr__","text":"Get an attribute. Source code in ebcc/util/misc.py 84 85 86 87 88 89 90 91 def __getattr__ ( self , key : str ) -> T : \"\"\"Get an attribute.\"\"\" if key in self . __dict__ : return self . __dict__ [ key ] # type: ignore[no-any-return] try : return self . __getitem__ ( key ) except KeyError : raise AttributeError ( f \"Namespace object has no attribute { key } \" )","title":"__getattr__"},{"location":"reference/util/misc/#ebcc.util.misc.Namespace.__delitem__","text":"Delete an item. Source code in ebcc/util/misc.py 93 94 95 def __delitem__ ( self , key : str ) -> None : \"\"\"Delete an item.\"\"\" self . _members . pop ( key )","title":"__delitem__"},{"location":"reference/util/misc/#ebcc.util.misc.Namespace.__delattr__","text":"Delete an attribute. Source code in ebcc/util/misc.py 97 98 99 def __delattr__ ( self , key : str ) -> None : \"\"\"Delete an attribute.\"\"\" return self . __delitem__ ( key )","title":"__delattr__"},{"location":"reference/util/misc/#ebcc.util.misc.Namespace.__iter__","text":"Iterate over the namespace as a dictionary. Source code in ebcc/util/misc.py 101 102 103 def __iter__ ( self ) -> Iterator [ str ]: \"\"\"Iterate over the namespace as a dictionary.\"\"\" yield from self . _members","title":"__iter__"},{"location":"reference/util/misc/#ebcc.util.misc.Namespace.__eq__","text":"Check equality. Source code in ebcc/util/misc.py 105 106 107 108 109 def __eq__ ( self , other : Any ) -> bool : \"\"\"Check equality.\"\"\" if not isinstance ( other , Namespace ): return False return dict ( self ) == dict ( other )","title":"__eq__"},{"location":"reference/util/misc/#ebcc.util.misc.Namespace.__ne__","text":"Check inequality. Source code in ebcc/util/misc.py 111 112 113 def __ne__ ( self , other : Any ) -> bool : \"\"\"Check inequality.\"\"\" return not self == other","title":"__ne__"},{"location":"reference/util/misc/#ebcc.util.misc.Namespace.__contains__","text":"Check if an attribute exists. Source code in ebcc/util/misc.py 115 116 117 def __contains__ ( self , key : Any ) -> bool : \"\"\"Check if an attribute exists.\"\"\" return key in self . _members","title":"__contains__"},{"location":"reference/util/misc/#ebcc.util.misc.Namespace.__len__","text":"Get the number of attributes. Source code in ebcc/util/misc.py 119 120 121 def __len__ ( self ) -> int : \"\"\"Get the number of attributes.\"\"\" return len ( self . _members )","title":"__len__"},{"location":"reference/util/misc/#ebcc.util.misc.Namespace.keys","text":"Get keys of the namespace as a dictionary. Source code in ebcc/util/misc.py 123 124 125 def keys ( self ) -> KeysView [ str ]: \"\"\"Get keys of the namespace as a dictionary.\"\"\" return self . _members . keys ()","title":"keys"},{"location":"reference/util/misc/#ebcc.util.misc.Namespace.values","text":"Get values of the namespace as a dictionary. Source code in ebcc/util/misc.py 127 128 129 def values ( self ) -> ValuesView [ T ]: \"\"\"Get values of the namespace as a dictionary.\"\"\" return self . _members . values ()","title":"values"},{"location":"reference/util/misc/#ebcc.util.misc.Namespace.items","text":"Get items of the namespace as a dictionary. Source code in ebcc/util/misc.py 131 132 133 def items ( self ) -> ItemsView [ str , T ]: \"\"\"Get items of the namespace as a dictionary.\"\"\" return self . _members . items ()","title":"items"},{"location":"reference/util/misc/#ebcc.util.misc.Namespace.__repr__","text":"Return a string representation. Source code in ebcc/util/misc.py 135 136 137 def __repr__ ( self ) -> str : \"\"\"Return a string representation.\"\"\" return f \"Namespace( { self . _members } )\"","title":"__repr__"},{"location":"reference/util/misc/#ebcc.util.misc.Timer","text":"Timer class. Initialise the timer. Source code in ebcc/util/misc.py 143 144 145 146 147 def __init__ ( self ) -> None : \"\"\"Initialise the timer.\"\"\" self . t_init = time . perf_counter () self . t_prev = time . perf_counter () self . t_curr = time . perf_counter ()","title":"Timer"},{"location":"reference/util/misc/#ebcc.util.misc.Timer.lap","text":"Return the time since the last call to lap . Source code in ebcc/util/misc.py 149 150 151 152 def lap ( self ) -> float : \"\"\"Return the time since the last call to `lap`.\"\"\" self . t_prev , self . t_curr = self . t_curr , time . perf_counter () return self . t_curr - self . t_prev","title":"lap"},{"location":"reference/util/misc/#ebcc.util.misc.Timer.total","text":"Return the total time since initialization. Source code in ebcc/util/misc.py 156 157 158 def total ( self ) -> float : \"\"\"Return the total time since initialization.\"\"\" return time . perf_counter () - self . t_init","title":"total"},{"location":"reference/util/misc/#ebcc.util.misc.Timer.format_time","text":"Return a formatted time. Source code in ebcc/util/misc.py 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 @staticmethod def format_time ( seconds : float , precision : int = 2 ) -> str : \"\"\"Return a formatted time.\"\"\" seconds , milliseconds = divmod ( seconds , 1 ) milliseconds *= 1000 minutes , seconds = divmod ( seconds , 60 ) hours , minutes = divmod ( minutes , 60 ) out = [] if hours : out . append ( \" %d h\" % hours ) if minutes : out . append ( \" %d m\" % minutes ) if seconds : out . append ( \" %d s\" % seconds ) if milliseconds : out . append ( \" %d ms\" % milliseconds ) return \" \" . join ( out [ - max ( precision , len ( out )) :])","title":"format_time"},{"location":"reference/util/misc/#ebcc.util.misc.prod","text":"Return the product of values. Source code in ebcc/util/misc.py 182 183 184 185 186 187 def prod ( values : Union [ list [ int ], tuple [ int , ... ]]) -> int : \"\"\"Return the product of values.\"\"\" out = 1 for value in values : out *= value return out","title":"prod"},{"location":"reference/util/misc/#ebcc.util.misc.argsort","text":"Return the indices that would sort the values. Parameters: values ( Union [ list [ Union [ float , str ]], NDArray [ generic ]] ) \u2013 The values to sort. Returns: list [ int ] \u2013 The indices that would sort the values. Source code in ebcc/util/misc.py 190 191 192 193 194 195 196 197 198 199 def argsort ( values : Union [ list [ Union [ float , str ]], NDArray [ generic ]]) -> list [ int ]: \"\"\"Return the indices that would sort the values. Args: values: The values to sort. Returns: The indices that would sort the values. \"\"\" return sorted ( range ( len ( values )), key = values . __getitem__ )","title":"argsort"},{"location":"reference/util/misc/#ebcc.util.misc.regularise_tuple","text":"Regularise the input tuples. Allows input of the forms - func((a, b, c)) - func([a, b, c]) - func(a, b, c) - func(a) Parameters: _items ( Union [ Any , tuple [ Any , ...], list [ Any ]] , default: () ) \u2013 The input tuples. Returns: tuple [ Any , ...] \u2013 The regularised tuple. Source code in ebcc/util/misc.py 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 def regularise_tuple ( * _items : Union [ Any , tuple [ Any , ... ], list [ Any ]]) -> tuple [ Any , ... ]: \"\"\"Regularise the input tuples. Allows input of the forms - `func((a, b, c))` - `func([a, b, c])` - `func(a, b, c)` - `func(a)` Args: _items: The input tuples. Returns: The regularised tuple. \"\"\" if isinstance ( _items [ 0 ], ( tuple , list )): if len ( _items ) > 1 : raise ValueError ( \"Only one tuple can be passed.\" ) items = _items [ 0 ] else : items = _items return tuple ( items )","title":"regularise_tuple"},{"location":"reference/util/permutations/","text":"Symmetry and permutational utilities. ebcc . util . permutations . factorial ( n ) Return the factorial of n . Source code in ebcc/util/permutations.py 22 23 24 25 26 27 def factorial ( n : int ) -> int : \"\"\"Return the factorial of `n`.\"\"\" if n in ( 0 , 1 ): return 1 else : return n * factorial ( n - 1 ) ebcc . util . permutations . permute_string ( string , permutation ) Permute a string. Parameters: string ( str ) \u2013 String to permute. permutation ( tuple [ int , ...] ) \u2013 Permutation to apply. Returns: str \u2013 Permuted string. Examples: >>> permute_string ( \"abcd\" , ( 2 , 0 , 3 , 1 )) \"cbda\" Source code in ebcc/util/permutations.py 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 def permute_string ( string : str , permutation : tuple [ int , ... ]) -> str : \"\"\"Permute a string. Args: string: String to permute. permutation: Permutation to apply. Returns: Permuted string. Examples: >>> permute_string(\"abcd\", (2, 0, 3, 1)) \"cbda\" \"\"\" return \"\" . join ([ string [ i ] for i in permutation ]) ebcc . util . permutations . tril_indices_ndim ( n , dims , include_diagonal = False ) Return lower triangular indices for a multidimensional array. Parameters: n ( int ) \u2013 Size of each dimension. dims ( int ) \u2013 Number of dimensions. include_diagonal ( Optional [ bool ] , default: False ) \u2013 If True, include diagonal elements. Returns: tuple [ NDArray [ int64 ], ...] \u2013 Lower triangular indices for each dimension. Source code in ebcc/util/permutations.py 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 def tril_indices_ndim ( n : int , dims : int , include_diagonal : Optional [ bool ] = False ) -> tuple [ NDArray [ int64 ], ... ]: \"\"\"Return lower triangular indices for a multidimensional array. Args: n: Size of each dimension. dims: Number of dimensions. include_diagonal: If True, include diagonal elements. Returns: Lower triangular indices for each dimension. \"\"\" ranges = [ np . arange ( n )] * dims if dims == 1 : return ( ranges [ 0 ],) # func: Callable[[Any, ...], Any] = np.greater_equal if include_diagonal else np.greater slices = [ tuple ( slice ( None ) if i == j else None for i in range ( dims )) for j in range ( dims )] casted = [ rng [ ind ] for rng , ind in zip ( ranges , slices )] if include_diagonal : mask = functools . reduce ( lambda x , y : x & y , map ( lambda x , y : x >= y , casted [: - 1 ], casted [ 1 :]) ) else : mask = functools . reduce ( lambda x , y : x & y , map ( lambda x , y : x > y , casted [: - 1 ], casted [ 1 :]) ) tril = tuple ( np . broadcast_to ( inds , mask . shape )[ mask ] for inds in np . indices ( mask . shape , sparse = True ) ) return tril ebcc . util . permutations . ntril_ndim ( n , dims , include_diagonal = False ) Return len(tril_indices_ndim(n, dims, include_diagonal)) . Source code in ebcc/util/permutations.py 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 def ntril_ndim ( n : int , dims : int , include_diagonal : Optional [ bool ] = False ) -> int : \"\"\"Return `len(tril_indices_ndim(n, dims, include_diagonal))`.\"\"\" # FIXME hack until this function is fixed: if include_diagonal : return sum ( 1 for tup in itertools . combinations_with_replacement ( range ( n ), dims )) else : return sum ( 1 for tup in itertools . combinations ( range ( n ), dims )) offset = int ( include_diagonal ) out = 1 for i in range ( dims ): out *= n + offset offset -= 1 out //= factorial ( dims ) return out ebcc . util . permutations . generate_spin_combinations ( n , excited = False , unique = False ) Generate combinations of spin components for a given number of occupied and virtual axes. Parameters: n ( int ) \u2013 Order of cluster amplitude. excited ( Optional [ bool ] , default: False ) \u2013 If True, treat the amplitudes as excited. unique ( Optional [ bool ] , default: False ) \u2013 If True, return only unique combinations. Returns: None \u2013 List of spin combinations. Examples: >>> generate_spin_combinations ( 1 ) ['aa', 'bb'] >>> generate_spin_combinations ( 2 ) ['aaaa', 'abab', 'baba', 'bbbb'] >>> generate_spin_combinations ( 2 , excited = True ) ['aaa', 'aba', 'bab', 'bbb'] >>> generate_spin_combinations ( 2 , unique = True ) ['aaaa', 'abab', 'bbbb'] Source code in ebcc/util/permutations.py 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 def generate_spin_combinations ( n : int , excited : Optional [ bool ] = False , unique : Optional [ bool ] = False ) -> Generator [ str , None , None ]: \"\"\"Generate combinations of spin components for a given number of occupied and virtual axes. Args: n: Order of cluster amplitude. excited: If True, treat the amplitudes as excited. unique: If True, return only unique combinations. Returns: List of spin combinations. Examples: >>> generate_spin_combinations(1) ['aa', 'bb'] >>> generate_spin_combinations(2) ['aaaa', 'abab', 'baba', 'bbbb'] >>> generate_spin_combinations(2, excited=True) ['aaa', 'aba', 'bab', 'bbb'] >>> generate_spin_combinations(2, unique=True) ['aaaa', 'abab', 'bbbb'] \"\"\" if unique : check = set () for tup in itertools . product (( \"a\" , \"b\" ), repeat = n ): comb = \"\" . join ( list ( tup ) * 2 ) if excited : comb = comb [: - 1 ] if unique : sorted_comb = \"\" . join ( sorted ( comb [: n ])) + \"\" . join ( sorted ( comb [ n :])) if sorted_comb in check : continue check . add ( sorted_comb ) if not excited : # FIXME nab = ( comb [: n ] . count ( \"a\" ), comb [: n ] . count ( \"b\" )) if nab == ( n // 2 , n - n // 2 ): comb = ( \"ab\" * n )[: n ] * 2 elif nab == ( n - n // 2 , n // 2 ): comb = ( \"ba\" * n )[: n ] * 2 yield comb ebcc . util . permutations . permutations_with_signs ( seq ) Return permutations of a sequence with a sign indicating the number of swaps. The sign is equal to +1 for an even number of swaps, and -1 for an odd number of swaps. Parameters: seq ( Iterable [ Any ] ) \u2013 Sequence to permute. Returns: list [ tuple [ Any , int ]] \u2013 List of tuples of the form (permuted, sign). Source code in ebcc/util/permutations.py 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 def permutations_with_signs ( seq : Iterable [ Any ]) -> list [ tuple [ Any , int ]]: \"\"\"Return permutations of a sequence with a sign indicating the number of swaps. The sign is equal to +1 for an even number of swaps, and -1 for an odd number of swaps. Args: seq: Sequence to permute. Returns: List of tuples of the form (permuted, sign). \"\"\" def _permutations ( seq : list [ Any ]) -> list [ list [ Any ]]: if not seq : return [[]] items = [] for i , item in enumerate ( _permutations ( seq [: - 1 ])): if i % 2 == 1 : inds = range ( len ( item ) + 1 ) else : inds = range ( len ( item ), - 1 , - 1 ) items += [ item [: i ] + seq [ - 1 :] + item [ i :] for i in inds ] return items return [( item , - 1 if i % 2 else 1 ) for i , item in enumerate ( _permutations ( list ( seq )))] ebcc . util . permutations . get_symmetry_factor ( * numbers ) Get a value corresponding to the factor from the neglection of symmetry in repeated indices. Parameters: numbers ( int , default: () ) \u2013 Multiplicity of each distinct degree of freedom. Returns: float \u2013 Symmetry factor. Examples: >>> get_symmetry_factor ( 1 , 1 ) 1.0 >>> get_symmetry_factor ( 2 , 2 ) 0.25 >>> get_symmetry_factor ( 3 , 2 , 1 ) 0.125 Source code in ebcc/util/permutations.py 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 def get_symmetry_factor ( * numbers : int ) -> float : \"\"\"Get a value corresponding to the factor from the neglection of symmetry in repeated indices. Args: numbers: Multiplicity of each distinct degree of freedom. Returns: Symmetry factor. Examples: >>> get_symmetry_factor(1, 1) 1.0 >>> get_symmetry_factor(2, 2) 0.25 >>> get_symmetry_factor(3, 2, 1) 0.125 \"\"\" ntot = 0 for n in numbers : ntot += max ( 0 , n - 1 ) return 1.0 / ( 2.0 ** ntot ) ebcc . util . permutations . antisymmetrise_array ( v , axes = None ) Antisymmetrise an array. Parameters: v ( NDArray [ T ] ) \u2013 Array to antisymmetrise. axes ( Optional [ tuple [ int , ...]] , default: None ) \u2013 Axes to antisymmetrise over. Returns: NDArray [ T ] \u2013 Antisymmetrised array. Source code in ebcc/util/permutations.py 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 def antisymmetrise_array ( v : NDArray [ T ], axes : Optional [ tuple [ int , ... ]] = None ) -> NDArray [ T ]: \"\"\"Antisymmetrise an array. Args: v: Array to antisymmetrise. axes: Axes to antisymmetrise over. Returns: Antisymmetrised array. \"\"\" if axes is None : axes = tuple ( range ( v . ndim )) v_as = np . zeros ( v . shape , dtype = v . dtype ) for perm , sign in permutations_with_signs ( axes ): transpose = list ( range ( v . ndim )) for i , ax in enumerate ( transpose ): if ax in axes : j = axes . index ( ax ) transpose [ i ] = perm [ j ] v_as += np . copy ( np . transpose ( v , transpose )) * sign return v_as ebcc . util . permutations . is_mixed_spin ( spin ) Return a boolean indicating if a list of spins is mixed. Source code in ebcc/util/permutations.py 229 230 231 def is_mixed_spin ( spin : Iterable [ Hashable ]) -> bool : \"\"\"Return a boolean indicating if a list of spins is mixed.\"\"\" return len ( set ( spin )) != 1 ebcc . util . permutations . combine_subscripts ( * subscripts , sizes = None ) Combine subscripts into new unique subscripts for functions such as compress_axes . For example, one may wish to compress an amplitude according to both occupancy and spin signatures. The output string of this function has the same length as the input subscripts, where the i th character is an arbitrary character chosen such that it is unique for a unique value of tuple(s[i] for s in subscripts) among other values of i . This function also returns a dictionary indicating the size of each new character in the subscript according to the size of the corresponding original character in the dictionary sizes . Parameters: subscripts ( str , default: () ) \u2013 Subscripts to combine. sizes ( Optional [ dict [ tuple [ str , ...], int ]] , default: None ) \u2013 Dictionary of sizes for each index. Returns: tuple [ str , dict [ str , int ]] \u2013 New subscript, with a dictionary of sizes of each new index. Source code in ebcc/util/permutations.py 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 def combine_subscripts ( * subscripts : str , sizes : Optional [ dict [ tuple [ str , ... ], int ]] = None , ) -> tuple [ str , dict [ str , int ]]: \"\"\"Combine subscripts into new unique subscripts for functions such as `compress_axes`. For example, one may wish to compress an amplitude according to both occupancy and spin signatures. The output string of this function has the same length as the input subscripts, where the `i`th character is an arbitrary character chosen such that it is unique for a unique value of `tuple(s[i] for s in subscripts)` among other values of `i`. This function also returns a dictionary indicating the size of each new character in the subscript according to the size of the corresponding original character in the dictionary `sizes`. Args: subscripts: Subscripts to combine. sizes: Dictionary of sizes for each index. Returns: New subscript, with a dictionary of sizes of each new index. \"\"\" if len ( set ( len ( s ) for s in subscripts )) != 1 : raise ValueError ( \"Subscripts must be of the same length.\" ) char_map : dict [ tuple [ str , ... ], str ] = {} new_subscript = \"\" new_sizes : dict [ str , int ] = {} j = 0 for i in range ( len ( subscripts [ 0 ])): key = tuple ( s [ i ] for s in subscripts ) if key not in char_map : if j == 91 : raise ValueError ( \"Too many unique characters.\" ) char_map [ key ] = chr ( 97 + j ) j += 1 if j == 123 : j = 65 new_subscript += char_map [ key ] if sizes : new_sizes [ char_map [ key ]] = sizes [ key ] return new_subscript , new_sizes ebcc . util . permutations . compress_axes ( subscript , array , include_diagonal = False ) Compress an array into lower-triangular representations using an einsum-like input. Parameters: subscript ( str ) \u2013 Subscript for the input array. array ( NDArray [ T ] ) \u2013 Array to compress. include_diagonal ( Optional [ bool ] , default: False ) \u2013 Whether to include the diagonal elements of the input array in the output array. Returns: NDArray [ T ] \u2013 Compressed array. Examples: >>> t2 = np . zeros (( 4 , 4 , 10 , 10 )) >>> compress_axes ( \"iiaa\" , t2 ) . shape (6, 45) Source code in ebcc/util/permutations.py 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 def compress_axes ( subscript : str , array : NDArray [ T ], include_diagonal : Optional [ bool ] = False ) -> NDArray [ T ]: \"\"\"Compress an array into lower-triangular representations using an einsum-like input. Args: subscript: Subscript for the input array. array: Array to compress. include_diagonal: Whether to include the diagonal elements of the input array in the output array. Returns: Compressed array. Examples: >>> t2 = np.zeros((4, 4, 10, 10)) >>> compress_axes(\"iiaa\", t2).shape (6, 45) \"\"\" # TODO out # TODO can this be OpenMP parallel? assert \"->\" not in subscript # Substitute the input characters so that they are ordered: subs = {} i = 0 for char in subscript : if char not in subs : subs [ char ] = chr ( 97 + i ) i += 1 subscript = \"\" . join ([ subs [ s ] for s in subscript ]) # Reshape array so that all axes of the same character are adjacent: arg = tuple ( util . argsort ( list ( subscript ))) array = np . transpose ( array , arg ) subscript = permute_string ( subscript , arg ) # Reshape array so that all axes of the same character are flattened: sizes : dict [ str , int ] = {} for char , n in zip ( subscript , array . shape ): if char in sizes : assert sizes [ char ] == n else : sizes [ char ] = n array = np . reshape ( array , [ sizes [ char ] ** subscript . count ( char ) for char in sorted ( set ( subscript ))] ) # For each axis type, get the necessary lower-triangular indices: indices_ndim = [ tril_indices_ndim ( sizes [ char ], subscript . count ( char ), include_diagonal = include_diagonal ) for char in sorted ( set ( subscript )) ] indices = [ np . ravel_multi_index ( ind , ( sizes [ char ],) * subscript . count ( char )) for ind , char in zip ( indices_ndim , sorted ( set ( subscript ))) ] # Apply the indices: indices = [ ind [ tuple ( None if i != j else slice ( None ) for i in range ( len ( indices )))] for j , ind in enumerate ( indices ) ] array_flat : NDArray [ T ] = array [ tuple ( indices )] return array_flat ebcc . util . permutations . decompress_axes ( subscript , array_flat , shape = None , include_diagonal = False , symmetry = None , out = None ) Reverse operation of compress_axes , subscript input is the same. One of shape or out must be passed. Parameters: subscript ( str ) \u2013 Subscript for the output array. array_flat ( NDArray [ T ] ) \u2013 Array to decompress. shape ( Optional [ tuple [ int , ...]] , default: None ) \u2013 Shape of the output array. Must be passed if out is None . include_diagonal ( Optional [ bool ] , default: False ) \u2013 Whether to include the diagonal elements of the output array in the input array. symmetry ( Optional [ str ] , default: None ) \u2013 Symmetry of the output array, with a \"+\" indicating symmetry and \"-\" indicating antisymmetry for each dimension in the decompressed array. out ( Optional [ NDArray [ T ]] , default: None ) \u2013 Output array. If None , a new array is created, and shape must be passed. Returns: NDArray [ T ] \u2013 Decompressed array. Source code in ebcc/util/permutations.py 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 def decompress_axes ( subscript : str , array_flat : NDArray [ T ], shape : Optional [ tuple [ int , ... ]] = None , include_diagonal : Optional [ bool ] = False , symmetry : Optional [ str ] = None , out : Optional [ NDArray [ T ]] = None , ) -> NDArray [ T ]: \"\"\"Reverse operation of `compress_axes`, subscript input is the same. One of `shape` or `out` must be passed. Args: subscript: Subscript for the output array. array_flat: Array to decompress. shape: Shape of the output array. Must be passed if `out` is `None`. include_diagonal: Whether to include the diagonal elements of the output array in the input array. symmetry: Symmetry of the output array, with a \"+\" indicating symmetry and \"-\" indicating antisymmetry for each dimension in the decompressed array. out: Output array. If `None`, a new array is created, and `shape` must be passed. Returns: Decompressed array. \"\"\" assert \"->\" not in subscript assert shape is not None or out is not None # Get symmetry string if needed: if symmetry is None : symmetry = \"-\" * len ( subscript ) # Initialise decompressed array if out is None : if shape is None : raise ValueError ( \"One of `shape` or `out` must be passed.\" ) array = np . zeros ( shape , dtype = array_flat . dtype ) else : array = out out [:] = 0.0 # Substitute the input characters so that they are ordered: subs = {} i = 0 for char in subscript : if char not in subs : subs [ char ] = chr ( 97 + i ) i += 1 subscript = \"\" . join ([ subs [ s ] for s in subscript ]) # Reshape array so that all axes of the same character are adjacent: arg = tuple ( util . argsort ( list ( subscript ))) array = np . transpose ( array , arg ) subscript = permute_string ( subscript , arg ) # Reshape array so that all axes of the same character are flattened: sizes : dict [ str , int ] = {} for char , n in zip ( subscript , array . shape ): if char in sizes : assert sizes [ char ] == n else : sizes [ char ] = n array = np . reshape ( array , [ sizes [ char ] ** subscript . count ( char ) for char in sorted ( set ( subscript ))] ) # Check the symmetry string, and compress it: n = 0 symmetry_compressed = \"\" for char in sorted ( set ( subscript )): assert len ( set ( symmetry [ n : n + subscript . count ( char )])) == 1 symmetry_compressed += symmetry [ n ] n += subscript . count ( char ) # For each axis type, get the necessary lower-triangular indices: indices = [ tril_indices_ndim ( sizes [ char ], subscript . count ( char ), include_diagonal = include_diagonal ) for char in sorted ( set ( subscript )) ] # Iterate over permutations with signs: for tup in itertools . product ( * [ permutations_with_signs ( ind ) for ind in indices ]): indices_perm , signs = zip ( * tup ) signs = tuple ( s if symm == \"-\" else 1 for s , symm in zip ( signs , symmetry_compressed )) # Apply the indices: indices_perm = tuple ( np . ravel_multi_index ( ind , ( sizes [ char ],) * subscript . count ( char )) for ind , char in zip ( indices_perm , sorted ( set ( subscript ))) ) indices_perm = tuple ( ind [ tuple ( None if i != j else slice ( None ) for i in range ( len ( indices_perm )))] for j , ind in enumerate ( indices_perm ) ) array = _put ( array , indices_perm , array_flat * util . prod ( signs )) # Reshape array to non-flattened format array = np . reshape ( array , ( sum ([( sizes [ char ],) * subscript . count ( char ) for char in sorted ( set ( subscript ))], tuple ())), ) # Undo transpose: arg = tuple ( util . argsort ( list ( arg ))) array = np . transpose ( array , arg ) return array ebcc . util . permutations . get_compressed_size ( subscript , ** sizes ) Get the size of a compressed representation of a matrix based on the subscript input. Parameters: subscript ( str ) \u2013 Subscript for the output array. See compressed_axes for details. **sizes ( int , default: {} ) \u2013 Sizes of each character in the subscript. Returns: int \u2013 Size of the compressed representation of the array. Examples: >>> get_compressed_size ( \"iiaa\" , i = 5 , a = 3 ) 30 Source code in ebcc/util/permutations.py 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 def get_compressed_size ( subscript : str , ** sizes : int ) -> int : \"\"\"Get the size of a compressed representation of a matrix based on the subscript input. Args: subscript: Subscript for the output array. See `compressed_axes` for details. **sizes: Sizes of each character in the subscript. Returns: Size of the compressed representation of the array. Examples: >>> get_compressed_size(\"iiaa\", i=5, a=3) 30 \"\"\" n = 1 for char in set ( subscript ): dims = subscript . count ( char ) n *= ntril_ndim ( sizes [ char ], dims ) return n ebcc . util . permutations . symmetrise ( subscript , array , symmetry = None , apply_factor = True ) Enforce a symmetry in an array. Parameters: subscript ( str ) \u2013 Subscript for the input array. array ( NDArray [ T ] ) \u2013 Array to symmetrise. symmetry ( Optional [ str ] , default: None ) \u2013 Symmetry of the output array, with a \"+\" indicating symmetry and \"-\" indicating antisymmetry for each dimension in the decompressed array. apply_factor ( Optional [ bool ] , default: True ) \u2013 Whether to apply a factor to the output array, to account for the symmetry. Returns: NDArray [ T ] \u2013 Symmetrised array. Source code in ebcc/util/permutations.py 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 def symmetrise ( subscript : str , array : NDArray [ T ], symmetry : Optional [ str ] = None , apply_factor : Optional [ bool ] = True , ) -> NDArray [ T ]: \"\"\"Enforce a symmetry in an array. Args: subscript: Subscript for the input array. array: Array to symmetrise. symmetry: Symmetry of the output array, with a \"+\" indicating symmetry and \"-\" indicating antisymmetry for each dimension in the decompressed array. apply_factor: Whether to apply a factor to the output array, to account for the symmetry. Returns: Symmetrised array. \"\"\" # Substitute the input characters so that they are ordered: subs = {} i = 0 for char in subscript : if char not in subs : subs [ char ] = chr ( 97 + i ) i += 1 subscript = \"\" . join ([ subs [ s ] for s in subscript ]) # Check the symmetry string, and compress it: if symmetry is None : symmetry = \"-\" * len ( subscript ) n = 0 symmetry_compressed = \"\" for char in sorted ( set ( subscript )): assert len ( set ( symmetry [ n : n + subscript . count ( char )])) == 1 symmetry_compressed += symmetry [ n ] n += subscript . count ( char ) # Iterate over permutations and signs: array_as = np . zeros ( array . shape , dtype = array . dtype ) groups = tuple ( sorted ( set ( zip ( sorted ( set ( subscript )), symmetry_compressed )))) # don't ask inds = [ tuple ( i for i , s in enumerate ( subscript ) if s == char ) for char , symm in groups ] for tup in itertools . product ( * ( permutations_with_signs ( ind ) for ind in inds )): perms , signs = zip ( * tup ) perm = list ( range ( len ( subscript ))) for inds_part , perms_part in zip ( inds , perms ): for i , p in zip ( inds_part , perms_part ): perm [ i ] = p sign = util . prod ( signs ) if symmetry [ perm [ 0 ]] == \"-\" else 1 array_as = array_as + np . transpose ( array , perm ) * sign if apply_factor : # Apply factor sizes = [ subscript . count ( s ) for s in sorted ( set ( subscript ))] array_as = array_as * get_symmetry_factor ( * sizes ) return array_as ebcc . util . permutations . unique ( lst ) Get unique elements of a list. Source code in ebcc/util/permutations.py 573 574 575 576 577 578 579 580 581 def unique ( lst : list [ Hashable ]) -> list [ Hashable ]: \"\"\"Get unique elements of a list.\"\"\" done = set () out = [] for el in lst : if el not in done : out . append ( el ) done . add ( el ) return out","title":"Permutations"},{"location":"reference/util/permutations/#ebcc.util.permutations.factorial","text":"Return the factorial of n . Source code in ebcc/util/permutations.py 22 23 24 25 26 27 def factorial ( n : int ) -> int : \"\"\"Return the factorial of `n`.\"\"\" if n in ( 0 , 1 ): return 1 else : return n * factorial ( n - 1 )","title":"factorial"},{"location":"reference/util/permutations/#ebcc.util.permutations.permute_string","text":"Permute a string. Parameters: string ( str ) \u2013 String to permute. permutation ( tuple [ int , ...] ) \u2013 Permutation to apply. Returns: str \u2013 Permuted string. Examples: >>> permute_string ( \"abcd\" , ( 2 , 0 , 3 , 1 )) \"cbda\" Source code in ebcc/util/permutations.py 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 def permute_string ( string : str , permutation : tuple [ int , ... ]) -> str : \"\"\"Permute a string. Args: string: String to permute. permutation: Permutation to apply. Returns: Permuted string. Examples: >>> permute_string(\"abcd\", (2, 0, 3, 1)) \"cbda\" \"\"\" return \"\" . join ([ string [ i ] for i in permutation ])","title":"permute_string"},{"location":"reference/util/permutations/#ebcc.util.permutations.tril_indices_ndim","text":"Return lower triangular indices for a multidimensional array. Parameters: n ( int ) \u2013 Size of each dimension. dims ( int ) \u2013 Number of dimensions. include_diagonal ( Optional [ bool ] , default: False ) \u2013 If True, include diagonal elements. Returns: tuple [ NDArray [ int64 ], ...] \u2013 Lower triangular indices for each dimension. Source code in ebcc/util/permutations.py 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 def tril_indices_ndim ( n : int , dims : int , include_diagonal : Optional [ bool ] = False ) -> tuple [ NDArray [ int64 ], ... ]: \"\"\"Return lower triangular indices for a multidimensional array. Args: n: Size of each dimension. dims: Number of dimensions. include_diagonal: If True, include diagonal elements. Returns: Lower triangular indices for each dimension. \"\"\" ranges = [ np . arange ( n )] * dims if dims == 1 : return ( ranges [ 0 ],) # func: Callable[[Any, ...], Any] = np.greater_equal if include_diagonal else np.greater slices = [ tuple ( slice ( None ) if i == j else None for i in range ( dims )) for j in range ( dims )] casted = [ rng [ ind ] for rng , ind in zip ( ranges , slices )] if include_diagonal : mask = functools . reduce ( lambda x , y : x & y , map ( lambda x , y : x >= y , casted [: - 1 ], casted [ 1 :]) ) else : mask = functools . reduce ( lambda x , y : x & y , map ( lambda x , y : x > y , casted [: - 1 ], casted [ 1 :]) ) tril = tuple ( np . broadcast_to ( inds , mask . shape )[ mask ] for inds in np . indices ( mask . shape , sparse = True ) ) return tril","title":"tril_indices_ndim"},{"location":"reference/util/permutations/#ebcc.util.permutations.ntril_ndim","text":"Return len(tril_indices_ndim(n, dims, include_diagonal)) . Source code in ebcc/util/permutations.py 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 def ntril_ndim ( n : int , dims : int , include_diagonal : Optional [ bool ] = False ) -> int : \"\"\"Return `len(tril_indices_ndim(n, dims, include_diagonal))`.\"\"\" # FIXME hack until this function is fixed: if include_diagonal : return sum ( 1 for tup in itertools . combinations_with_replacement ( range ( n ), dims )) else : return sum ( 1 for tup in itertools . combinations ( range ( n ), dims )) offset = int ( include_diagonal ) out = 1 for i in range ( dims ): out *= n + offset offset -= 1 out //= factorial ( dims ) return out","title":"ntril_ndim"},{"location":"reference/util/permutations/#ebcc.util.permutations.generate_spin_combinations","text":"Generate combinations of spin components for a given number of occupied and virtual axes. Parameters: n ( int ) \u2013 Order of cluster amplitude. excited ( Optional [ bool ] , default: False ) \u2013 If True, treat the amplitudes as excited. unique ( Optional [ bool ] , default: False ) \u2013 If True, return only unique combinations. Returns: None \u2013 List of spin combinations. Examples: >>> generate_spin_combinations ( 1 ) ['aa', 'bb'] >>> generate_spin_combinations ( 2 ) ['aaaa', 'abab', 'baba', 'bbbb'] >>> generate_spin_combinations ( 2 , excited = True ) ['aaa', 'aba', 'bab', 'bbb'] >>> generate_spin_combinations ( 2 , unique = True ) ['aaaa', 'abab', 'bbbb'] Source code in ebcc/util/permutations.py 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 def generate_spin_combinations ( n : int , excited : Optional [ bool ] = False , unique : Optional [ bool ] = False ) -> Generator [ str , None , None ]: \"\"\"Generate combinations of spin components for a given number of occupied and virtual axes. Args: n: Order of cluster amplitude. excited: If True, treat the amplitudes as excited. unique: If True, return only unique combinations. Returns: List of spin combinations. Examples: >>> generate_spin_combinations(1) ['aa', 'bb'] >>> generate_spin_combinations(2) ['aaaa', 'abab', 'baba', 'bbbb'] >>> generate_spin_combinations(2, excited=True) ['aaa', 'aba', 'bab', 'bbb'] >>> generate_spin_combinations(2, unique=True) ['aaaa', 'abab', 'bbbb'] \"\"\" if unique : check = set () for tup in itertools . product (( \"a\" , \"b\" ), repeat = n ): comb = \"\" . join ( list ( tup ) * 2 ) if excited : comb = comb [: - 1 ] if unique : sorted_comb = \"\" . join ( sorted ( comb [: n ])) + \"\" . join ( sorted ( comb [ n :])) if sorted_comb in check : continue check . add ( sorted_comb ) if not excited : # FIXME nab = ( comb [: n ] . count ( \"a\" ), comb [: n ] . count ( \"b\" )) if nab == ( n // 2 , n - n // 2 ): comb = ( \"ab\" * n )[: n ] * 2 elif nab == ( n - n // 2 , n // 2 ): comb = ( \"ba\" * n )[: n ] * 2 yield comb","title":"generate_spin_combinations"},{"location":"reference/util/permutations/#ebcc.util.permutations.permutations_with_signs","text":"Return permutations of a sequence with a sign indicating the number of swaps. The sign is equal to +1 for an even number of swaps, and -1 for an odd number of swaps. Parameters: seq ( Iterable [ Any ] ) \u2013 Sequence to permute. Returns: list [ tuple [ Any , int ]] \u2013 List of tuples of the form (permuted, sign). Source code in ebcc/util/permutations.py 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 def permutations_with_signs ( seq : Iterable [ Any ]) -> list [ tuple [ Any , int ]]: \"\"\"Return permutations of a sequence with a sign indicating the number of swaps. The sign is equal to +1 for an even number of swaps, and -1 for an odd number of swaps. Args: seq: Sequence to permute. Returns: List of tuples of the form (permuted, sign). \"\"\" def _permutations ( seq : list [ Any ]) -> list [ list [ Any ]]: if not seq : return [[]] items = [] for i , item in enumerate ( _permutations ( seq [: - 1 ])): if i % 2 == 1 : inds = range ( len ( item ) + 1 ) else : inds = range ( len ( item ), - 1 , - 1 ) items += [ item [: i ] + seq [ - 1 :] + item [ i :] for i in inds ] return items return [( item , - 1 if i % 2 else 1 ) for i , item in enumerate ( _permutations ( list ( seq )))]","title":"permutations_with_signs"},{"location":"reference/util/permutations/#ebcc.util.permutations.get_symmetry_factor","text":"Get a value corresponding to the factor from the neglection of symmetry in repeated indices. Parameters: numbers ( int , default: () ) \u2013 Multiplicity of each distinct degree of freedom. Returns: float \u2013 Symmetry factor. Examples: >>> get_symmetry_factor ( 1 , 1 ) 1.0 >>> get_symmetry_factor ( 2 , 2 ) 0.25 >>> get_symmetry_factor ( 3 , 2 , 1 ) 0.125 Source code in ebcc/util/permutations.py 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 def get_symmetry_factor ( * numbers : int ) -> float : \"\"\"Get a value corresponding to the factor from the neglection of symmetry in repeated indices. Args: numbers: Multiplicity of each distinct degree of freedom. Returns: Symmetry factor. Examples: >>> get_symmetry_factor(1, 1) 1.0 >>> get_symmetry_factor(2, 2) 0.25 >>> get_symmetry_factor(3, 2, 1) 0.125 \"\"\" ntot = 0 for n in numbers : ntot += max ( 0 , n - 1 ) return 1.0 / ( 2.0 ** ntot )","title":"get_symmetry_factor"},{"location":"reference/util/permutations/#ebcc.util.permutations.antisymmetrise_array","text":"Antisymmetrise an array. Parameters: v ( NDArray [ T ] ) \u2013 Array to antisymmetrise. axes ( Optional [ tuple [ int , ...]] , default: None ) \u2013 Axes to antisymmetrise over. Returns: NDArray [ T ] \u2013 Antisymmetrised array. Source code in ebcc/util/permutations.py 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 def antisymmetrise_array ( v : NDArray [ T ], axes : Optional [ tuple [ int , ... ]] = None ) -> NDArray [ T ]: \"\"\"Antisymmetrise an array. Args: v: Array to antisymmetrise. axes: Axes to antisymmetrise over. Returns: Antisymmetrised array. \"\"\" if axes is None : axes = tuple ( range ( v . ndim )) v_as = np . zeros ( v . shape , dtype = v . dtype ) for perm , sign in permutations_with_signs ( axes ): transpose = list ( range ( v . ndim )) for i , ax in enumerate ( transpose ): if ax in axes : j = axes . index ( ax ) transpose [ i ] = perm [ j ] v_as += np . copy ( np . transpose ( v , transpose )) * sign return v_as","title":"antisymmetrise_array"},{"location":"reference/util/permutations/#ebcc.util.permutations.is_mixed_spin","text":"Return a boolean indicating if a list of spins is mixed. Source code in ebcc/util/permutations.py 229 230 231 def is_mixed_spin ( spin : Iterable [ Hashable ]) -> bool : \"\"\"Return a boolean indicating if a list of spins is mixed.\"\"\" return len ( set ( spin )) != 1","title":"is_mixed_spin"},{"location":"reference/util/permutations/#ebcc.util.permutations.combine_subscripts","text":"Combine subscripts into new unique subscripts for functions such as compress_axes . For example, one may wish to compress an amplitude according to both occupancy and spin signatures. The output string of this function has the same length as the input subscripts, where the i th character is an arbitrary character chosen such that it is unique for a unique value of tuple(s[i] for s in subscripts) among other values of i . This function also returns a dictionary indicating the size of each new character in the subscript according to the size of the corresponding original character in the dictionary sizes . Parameters: subscripts ( str , default: () ) \u2013 Subscripts to combine. sizes ( Optional [ dict [ tuple [ str , ...], int ]] , default: None ) \u2013 Dictionary of sizes for each index. Returns: tuple [ str , dict [ str , int ]] \u2013 New subscript, with a dictionary of sizes of each new index. Source code in ebcc/util/permutations.py 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 def combine_subscripts ( * subscripts : str , sizes : Optional [ dict [ tuple [ str , ... ], int ]] = None , ) -> tuple [ str , dict [ str , int ]]: \"\"\"Combine subscripts into new unique subscripts for functions such as `compress_axes`. For example, one may wish to compress an amplitude according to both occupancy and spin signatures. The output string of this function has the same length as the input subscripts, where the `i`th character is an arbitrary character chosen such that it is unique for a unique value of `tuple(s[i] for s in subscripts)` among other values of `i`. This function also returns a dictionary indicating the size of each new character in the subscript according to the size of the corresponding original character in the dictionary `sizes`. Args: subscripts: Subscripts to combine. sizes: Dictionary of sizes for each index. Returns: New subscript, with a dictionary of sizes of each new index. \"\"\" if len ( set ( len ( s ) for s in subscripts )) != 1 : raise ValueError ( \"Subscripts must be of the same length.\" ) char_map : dict [ tuple [ str , ... ], str ] = {} new_subscript = \"\" new_sizes : dict [ str , int ] = {} j = 0 for i in range ( len ( subscripts [ 0 ])): key = tuple ( s [ i ] for s in subscripts ) if key not in char_map : if j == 91 : raise ValueError ( \"Too many unique characters.\" ) char_map [ key ] = chr ( 97 + j ) j += 1 if j == 123 : j = 65 new_subscript += char_map [ key ] if sizes : new_sizes [ char_map [ key ]] = sizes [ key ] return new_subscript , new_sizes","title":"combine_subscripts"},{"location":"reference/util/permutations/#ebcc.util.permutations.compress_axes","text":"Compress an array into lower-triangular representations using an einsum-like input. Parameters: subscript ( str ) \u2013 Subscript for the input array. array ( NDArray [ T ] ) \u2013 Array to compress. include_diagonal ( Optional [ bool ] , default: False ) \u2013 Whether to include the diagonal elements of the input array in the output array. Returns: NDArray [ T ] \u2013 Compressed array. Examples: >>> t2 = np . zeros (( 4 , 4 , 10 , 10 )) >>> compress_axes ( \"iiaa\" , t2 ) . shape (6, 45) Source code in ebcc/util/permutations.py 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 def compress_axes ( subscript : str , array : NDArray [ T ], include_diagonal : Optional [ bool ] = False ) -> NDArray [ T ]: \"\"\"Compress an array into lower-triangular representations using an einsum-like input. Args: subscript: Subscript for the input array. array: Array to compress. include_diagonal: Whether to include the diagonal elements of the input array in the output array. Returns: Compressed array. Examples: >>> t2 = np.zeros((4, 4, 10, 10)) >>> compress_axes(\"iiaa\", t2).shape (6, 45) \"\"\" # TODO out # TODO can this be OpenMP parallel? assert \"->\" not in subscript # Substitute the input characters so that they are ordered: subs = {} i = 0 for char in subscript : if char not in subs : subs [ char ] = chr ( 97 + i ) i += 1 subscript = \"\" . join ([ subs [ s ] for s in subscript ]) # Reshape array so that all axes of the same character are adjacent: arg = tuple ( util . argsort ( list ( subscript ))) array = np . transpose ( array , arg ) subscript = permute_string ( subscript , arg ) # Reshape array so that all axes of the same character are flattened: sizes : dict [ str , int ] = {} for char , n in zip ( subscript , array . shape ): if char in sizes : assert sizes [ char ] == n else : sizes [ char ] = n array = np . reshape ( array , [ sizes [ char ] ** subscript . count ( char ) for char in sorted ( set ( subscript ))] ) # For each axis type, get the necessary lower-triangular indices: indices_ndim = [ tril_indices_ndim ( sizes [ char ], subscript . count ( char ), include_diagonal = include_diagonal ) for char in sorted ( set ( subscript )) ] indices = [ np . ravel_multi_index ( ind , ( sizes [ char ],) * subscript . count ( char )) for ind , char in zip ( indices_ndim , sorted ( set ( subscript ))) ] # Apply the indices: indices = [ ind [ tuple ( None if i != j else slice ( None ) for i in range ( len ( indices )))] for j , ind in enumerate ( indices ) ] array_flat : NDArray [ T ] = array [ tuple ( indices )] return array_flat","title":"compress_axes"},{"location":"reference/util/permutations/#ebcc.util.permutations.decompress_axes","text":"Reverse operation of compress_axes , subscript input is the same. One of shape or out must be passed. Parameters: subscript ( str ) \u2013 Subscript for the output array. array_flat ( NDArray [ T ] ) \u2013 Array to decompress. shape ( Optional [ tuple [ int , ...]] , default: None ) \u2013 Shape of the output array. Must be passed if out is None . include_diagonal ( Optional [ bool ] , default: False ) \u2013 Whether to include the diagonal elements of the output array in the input array. symmetry ( Optional [ str ] , default: None ) \u2013 Symmetry of the output array, with a \"+\" indicating symmetry and \"-\" indicating antisymmetry for each dimension in the decompressed array. out ( Optional [ NDArray [ T ]] , default: None ) \u2013 Output array. If None , a new array is created, and shape must be passed. Returns: NDArray [ T ] \u2013 Decompressed array. Source code in ebcc/util/permutations.py 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 def decompress_axes ( subscript : str , array_flat : NDArray [ T ], shape : Optional [ tuple [ int , ... ]] = None , include_diagonal : Optional [ bool ] = False , symmetry : Optional [ str ] = None , out : Optional [ NDArray [ T ]] = None , ) -> NDArray [ T ]: \"\"\"Reverse operation of `compress_axes`, subscript input is the same. One of `shape` or `out` must be passed. Args: subscript: Subscript for the output array. array_flat: Array to decompress. shape: Shape of the output array. Must be passed if `out` is `None`. include_diagonal: Whether to include the diagonal elements of the output array in the input array. symmetry: Symmetry of the output array, with a \"+\" indicating symmetry and \"-\" indicating antisymmetry for each dimension in the decompressed array. out: Output array. If `None`, a new array is created, and `shape` must be passed. Returns: Decompressed array. \"\"\" assert \"->\" not in subscript assert shape is not None or out is not None # Get symmetry string if needed: if symmetry is None : symmetry = \"-\" * len ( subscript ) # Initialise decompressed array if out is None : if shape is None : raise ValueError ( \"One of `shape` or `out` must be passed.\" ) array = np . zeros ( shape , dtype = array_flat . dtype ) else : array = out out [:] = 0.0 # Substitute the input characters so that they are ordered: subs = {} i = 0 for char in subscript : if char not in subs : subs [ char ] = chr ( 97 + i ) i += 1 subscript = \"\" . join ([ subs [ s ] for s in subscript ]) # Reshape array so that all axes of the same character are adjacent: arg = tuple ( util . argsort ( list ( subscript ))) array = np . transpose ( array , arg ) subscript = permute_string ( subscript , arg ) # Reshape array so that all axes of the same character are flattened: sizes : dict [ str , int ] = {} for char , n in zip ( subscript , array . shape ): if char in sizes : assert sizes [ char ] == n else : sizes [ char ] = n array = np . reshape ( array , [ sizes [ char ] ** subscript . count ( char ) for char in sorted ( set ( subscript ))] ) # Check the symmetry string, and compress it: n = 0 symmetry_compressed = \"\" for char in sorted ( set ( subscript )): assert len ( set ( symmetry [ n : n + subscript . count ( char )])) == 1 symmetry_compressed += symmetry [ n ] n += subscript . count ( char ) # For each axis type, get the necessary lower-triangular indices: indices = [ tril_indices_ndim ( sizes [ char ], subscript . count ( char ), include_diagonal = include_diagonal ) for char in sorted ( set ( subscript )) ] # Iterate over permutations with signs: for tup in itertools . product ( * [ permutations_with_signs ( ind ) for ind in indices ]): indices_perm , signs = zip ( * tup ) signs = tuple ( s if symm == \"-\" else 1 for s , symm in zip ( signs , symmetry_compressed )) # Apply the indices: indices_perm = tuple ( np . ravel_multi_index ( ind , ( sizes [ char ],) * subscript . count ( char )) for ind , char in zip ( indices_perm , sorted ( set ( subscript ))) ) indices_perm = tuple ( ind [ tuple ( None if i != j else slice ( None ) for i in range ( len ( indices_perm )))] for j , ind in enumerate ( indices_perm ) ) array = _put ( array , indices_perm , array_flat * util . prod ( signs )) # Reshape array to non-flattened format array = np . reshape ( array , ( sum ([( sizes [ char ],) * subscript . count ( char ) for char in sorted ( set ( subscript ))], tuple ())), ) # Undo transpose: arg = tuple ( util . argsort ( list ( arg ))) array = np . transpose ( array , arg ) return array","title":"decompress_axes"},{"location":"reference/util/permutations/#ebcc.util.permutations.get_compressed_size","text":"Get the size of a compressed representation of a matrix based on the subscript input. Parameters: subscript ( str ) \u2013 Subscript for the output array. See compressed_axes for details. **sizes ( int , default: {} ) \u2013 Sizes of each character in the subscript. Returns: int \u2013 Size of the compressed representation of the array. Examples: >>> get_compressed_size ( \"iiaa\" , i = 5 , a = 3 ) 30 Source code in ebcc/util/permutations.py 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 def get_compressed_size ( subscript : str , ** sizes : int ) -> int : \"\"\"Get the size of a compressed representation of a matrix based on the subscript input. Args: subscript: Subscript for the output array. See `compressed_axes` for details. **sizes: Sizes of each character in the subscript. Returns: Size of the compressed representation of the array. Examples: >>> get_compressed_size(\"iiaa\", i=5, a=3) 30 \"\"\" n = 1 for char in set ( subscript ): dims = subscript . count ( char ) n *= ntril_ndim ( sizes [ char ], dims ) return n","title":"get_compressed_size"},{"location":"reference/util/permutations/#ebcc.util.permutations.symmetrise","text":"Enforce a symmetry in an array. Parameters: subscript ( str ) \u2013 Subscript for the input array. array ( NDArray [ T ] ) \u2013 Array to symmetrise. symmetry ( Optional [ str ] , default: None ) \u2013 Symmetry of the output array, with a \"+\" indicating symmetry and \"-\" indicating antisymmetry for each dimension in the decompressed array. apply_factor ( Optional [ bool ] , default: True ) \u2013 Whether to apply a factor to the output array, to account for the symmetry. Returns: NDArray [ T ] \u2013 Symmetrised array. Source code in ebcc/util/permutations.py 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 def symmetrise ( subscript : str , array : NDArray [ T ], symmetry : Optional [ str ] = None , apply_factor : Optional [ bool ] = True , ) -> NDArray [ T ]: \"\"\"Enforce a symmetry in an array. Args: subscript: Subscript for the input array. array: Array to symmetrise. symmetry: Symmetry of the output array, with a \"+\" indicating symmetry and \"-\" indicating antisymmetry for each dimension in the decompressed array. apply_factor: Whether to apply a factor to the output array, to account for the symmetry. Returns: Symmetrised array. \"\"\" # Substitute the input characters so that they are ordered: subs = {} i = 0 for char in subscript : if char not in subs : subs [ char ] = chr ( 97 + i ) i += 1 subscript = \"\" . join ([ subs [ s ] for s in subscript ]) # Check the symmetry string, and compress it: if symmetry is None : symmetry = \"-\" * len ( subscript ) n = 0 symmetry_compressed = \"\" for char in sorted ( set ( subscript )): assert len ( set ( symmetry [ n : n + subscript . count ( char )])) == 1 symmetry_compressed += symmetry [ n ] n += subscript . count ( char ) # Iterate over permutations and signs: array_as = np . zeros ( array . shape , dtype = array . dtype ) groups = tuple ( sorted ( set ( zip ( sorted ( set ( subscript )), symmetry_compressed )))) # don't ask inds = [ tuple ( i for i , s in enumerate ( subscript ) if s == char ) for char , symm in groups ] for tup in itertools . product ( * ( permutations_with_signs ( ind ) for ind in inds )): perms , signs = zip ( * tup ) perm = list ( range ( len ( subscript ))) for inds_part , perms_part in zip ( inds , perms ): for i , p in zip ( inds_part , perms_part ): perm [ i ] = p sign = util . prod ( signs ) if symmetry [ perm [ 0 ]] == \"-\" else 1 array_as = array_as + np . transpose ( array , perm ) * sign if apply_factor : # Apply factor sizes = [ subscript . count ( s ) for s in sorted ( set ( subscript ))] array_as = array_as * get_symmetry_factor ( * sizes ) return array_as","title":"symmetrise"},{"location":"reference/util/permutations/#ebcc.util.permutations.unique","text":"Get unique elements of a list. Source code in ebcc/util/permutations.py 573 574 575 576 577 578 579 580 581 def unique ( lst : list [ Hashable ]) -> list [ Hashable ]: \"\"\"Get unique elements of a list.\"\"\" done = set () out = [] for el in lst : if el not in done : out . append ( el ) done . add ( el ) return out","title":"unique"}]} \ No newline at end of file diff --git a/search/worker.js b/search/worker.js new file mode 100644 index 00000000..8628dbce --- /dev/null +++ b/search/worker.js @@ -0,0 +1,133 @@ +var base_path = 'function' === typeof importScripts ? '.' : '/search/'; +var allowSearch = false; +var index; +var documents = {}; +var lang = ['en']; +var data; + +function getScript(script, callback) { + console.log('Loading script: ' + script); + $.getScript(base_path + script).done(function () { + callback(); + }).fail(function (jqxhr, settings, exception) { + console.log('Error: ' + exception); + }); +} + +function getScriptsInOrder(scripts, callback) { + if (scripts.length === 0) { + callback(); + return; + } + getScript(scripts[0], function() { + getScriptsInOrder(scripts.slice(1), callback); + }); +} + +function loadScripts(urls, callback) { + if( 'function' === typeof importScripts ) { + importScripts.apply(null, urls); + callback(); + } else { + getScriptsInOrder(urls, callback); + } +} + +function onJSONLoaded () { + data = JSON.parse(this.responseText); + var scriptsToLoad = ['lunr.js']; + if (data.config && data.config.lang && data.config.lang.length) { + lang = data.config.lang; + } + if (lang.length > 1 || lang[0] !== "en") { + scriptsToLoad.push('lunr.stemmer.support.js'); + if (lang.length > 1) { + scriptsToLoad.push('lunr.multi.js'); + } + if (lang.includes("ja") || lang.includes("jp")) { + scriptsToLoad.push('tinyseg.js'); + } + for (var i=0; i < lang.length; i++) { + if (lang[i] != 'en') { + scriptsToLoad.push(['lunr', lang[i], 'js'].join('.')); + } + } + } + loadScripts(scriptsToLoad, onScriptsLoaded); +} + +function onScriptsLoaded () { + console.log('All search scripts loaded, building Lunr index...'); + if (data.config && data.config.separator && data.config.separator.length) { + lunr.tokenizer.separator = new RegExp(data.config.separator); + } + + if (data.index) { + index = lunr.Index.load(data.index); + data.docs.forEach(function (doc) { + documents[doc.location] = doc; + }); + console.log('Lunr pre-built index loaded, search ready'); + } else { + index = lunr(function () { + if (lang.length === 1 && lang[0] !== "en" && lunr[lang[0]]) { + this.use(lunr[lang[0]]); + } else if (lang.length > 1) { + this.use(lunr.multiLanguage.apply(null, lang)); // spread operator not supported in all browsers: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator#Browser_compatibility + } + this.field('title'); + this.field('text'); + this.ref('location'); + + for (var i=0; i < data.docs.length; i++) { + var doc = data.docs[i]; + this.add(doc); + documents[doc.location] = doc; + } + }); + console.log('Lunr index built, search ready'); + } + allowSearch = true; + postMessage({config: data.config}); + postMessage({allowSearch: allowSearch}); +} + +function init () { + var oReq = new XMLHttpRequest(); + oReq.addEventListener("load", onJSONLoaded); + var index_path = base_path + '/search_index.json'; + if( 'function' === typeof importScripts ){ + index_path = 'search_index.json'; + } + oReq.open("GET", index_path); + oReq.send(); +} + +function search (query) { + if (!allowSearch) { + console.error('Assets for search still loading'); + return; + } + + var resultDocuments = []; + var results = index.search(query); + for (var i=0; i < results.length; i++){ + var result = results[i]; + doc = documents[result.ref]; + doc.summary = doc.text.substring(0, 200); + resultDocuments.push(doc); + } + return resultDocuments; +} + +if( 'function' === typeof importScripts ) { + onmessage = function (e) { + if (e.data.init) { + init(); + } else if (e.data.query) { + postMessage({ results: search(e.data.query) }); + } else { + console.error("Worker - Unrecognized message: " + e); + } + }; +} diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 00000000..0f8724ef --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz new file mode 100644 index 00000000..70435dfa Binary files /dev/null and b/sitemap.xml.gz differ